01.08.2013 Views

Chapter 10 Memory Subsystem.pdf

Chapter 10 Memory Subsystem.pdf

Chapter 10 Memory Subsystem.pdf

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Column Address Latch<br />

Row Decoder<br />

A0-A12 CK CKE CS RAS CAS WE<br />

Address Buffer<br />

<strong>10</strong>24 columns <strong>10</strong>24 columns <strong>10</strong>24 columns <strong>10</strong>24 columns<br />

Row Decoder<br />

Public Version<br />

SDRAM Controller (SDRC) <strong>Subsystem</strong> www.ti.com<br />

<strong>10</strong>.2.4.4.4.2 SDRC Commands<br />

Figure <strong>10</strong>-52. SDRAM Controller Block Diagram<br />

Row Address Latch<br />

Refresh Counter Timing Generator<br />

8192 rows 8192 rows 8192 rows 8192 rows<br />

Bank 0 Bank 1 Bank 2 Bank 3<br />

Column Decoder Column Decoder Column Decoder Column Decoder<br />

Row Decoder<br />

DQS1<br />

DQS0<br />

DQ15<br />

DQ0<br />

Bank Control<br />

Before any read or write command can be issued to a bank in the external memory, a row in that bank<br />

must be opened. This is accomplished by the active command, by which the bank and the row are<br />

selected. More than one bank (up to four according to the memory used) can be active at one time. Once<br />

a row is opened, a read or write command can be issued to that row. The row remains active until a<br />

precharge or read/write to another row in the same bank or a refresh to the bank occurs.<br />

Autorefresh command is used during normal operation mode. This command is non-persistent (that is, it<br />

must be issued each time a refresh is required). The device requires a refresh of all rows in a periodic<br />

interval. This command takes some time (according to the memory used), and during this phase no read<br />

or write command can be processed. A precharge-all (that is, a precharge command affecting all banks) is<br />

issued before any autorefresh sequence.<br />

An active command to a row of a bank for which another row is already active can be issued only after the<br />

previous row has been closed. The precharge command is used to deactivate the open row in a particular<br />

bank. The bank is available for a subsequent row access some time after the row precharge command is<br />

issued. A minimum time is needed to close and open a new row.<br />

A subsequent active command to another bank can be issued while the first bank is being accessed<br />

without closing the row in the first bank. This results in a reduction of row access time in the same bank.<br />

In this case, it is not necessary to deactivate (with a precharge command) the row in the other banks. Up<br />

to four banks, depending on the memory used, can be activated at the same time. In each bank, one row<br />

can be selected at a time.<br />

<strong>10</strong>.2.4.4.4.3 BANKALLOCATION Parameter<br />

To optimize SDRAM memory accesses in a throughput point of view, the SDRC supports various<br />

bank-row-column allocation. The bank-row-column allocation choice depends on many parameters, such<br />

as the number of initiators in the use case, the memory usage (accesses bandwidth, frequency), and so<br />

on.<br />

Row Decoder<br />

sdrc-042<br />

The SDRC not only supports the regular allocation where the system address bus is seen as the<br />

concatenation bank-row-column, but it also supports two other types of allocation. The<br />

SDRC_MCFG_p[7:6] BANKALLOCATION bit field (where p = 0 or 1 for CS0 or CS1) selects the type of<br />

allocation. This feature modifies the bank, row, and column address decoding order:<br />

2232 <strong>Memory</strong> <strong>Subsystem</strong> SPRUGN4L–May 20<strong>10</strong>–Revised June 2011<br />

Copyright © 20<strong>10</strong>–2011, Texas Instruments Incorporated

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!