Intel
®
81341 and 81342 I/O Processors
December 2007
Developer’s Manual
Order Number: 315037-002US
603
DDR SDRAM Memory Controller—Intel
®
81341 and 81342
7.3.3.9
DDR SDRAM Read Cycle
The DMCU performance is optimized for page hits and the DMCUs behavior is different
for the hit and miss scenario. For a page hit, the two cycles required for row activation
are saved resulting in lower first word read latency.
The DMCU supports optimized performance for random address transactions. This
optimization eliminates the need of the DDR SDRAM Control Block to issue the transaction
command to the DDR array when the previous transaction is the same type (read or
write). In addition, the DDR SDRAM Control Block supports pipelining of transactions which
allows the column address of the next transaction to be issued before the current
transaction’s data transfer is completed by the DDR SDRAM devices.
1. Each of the DMCU inbound memory transaction ports decodes the address to
determine when the transaction should be claimed.
— When the address falls in the DDR SDRAM address range indicated by the
SDBR, SDUBR, SBSR, and S32SR the DMCU claims the transaction and latches
the transaction in the respective memory transaction queue.
2. Once the DMARB selects the highest priority transaction from the memory
transaction queues, it forwards the transaction to the DDR SDRAM control block.
The DDR SDRAM Control Block decodes the address to determine whether or not
any of the open pages are hit.
A read that misses the open pages encounters a miss penalty because the currently
open page needs to be closed before the read can be issued to the new page. Refer to
Section 7.3.3.5, “Page Hit/Miss Determination” on page 589
for the paging algorithm
details. When a page hit occurs, steps 3-4 are skipped by the DMCU.
3. The DDR SDRAM Control Block closes the currently open page by issuing a
precharge
command to the currently open row. (Not depicted in
— The DDR SDRAM Control Block waits T
rp
cycles after the precharge before
issuing the
row-activate
command for the new read transaction.
4. The
row-activate
command enables the appropriate row.
— The DDR SDRAM Control Block asserts
RAS#
, de-asserts
WE#
, and drives the
row address on
MA[13:0]
.
5. In the following cycle in the case of a page hit or after T
rcd
cycles in the case of a
page miss, the DDR SDRAM Control Block asserts
CAS#
, de-asserts
WE#
, and
places the column address on
MA[13:0]
. This initiates the burst read cycle.
6. After the CAS latency expires, the DDR SDRAM device drives data to the DMCU.
7. Upon receipt of the data, the DDR SDRAM Control Block calculates the ECC code
from the data and compares it with the ECC returned by the DDR SDRAM array.
Section 7.3.4, “DDR Error Correction and Detection” on page 607
explains the ECC
algorithm in more detail.
8. Assuming the calculated ECC matches the read ECC, the DDR SDRAM Control Block
drives the data back to the corresponding memory transaction queue.
• For each burst read issued, the memory controller increments the column address
by four.
The DMCU continues to return data to the corresponding memory transaction queue
based on the byte count of the transaction.