Browse Prior Art Database

STI:Optimizing Command Selection for XDR Memory Systems

IP.com Disclosure Number: IPCOM000149833D
Original Publication Date: 2007-Apr-09
Included in the Prior Art Database: 2007-Apr-09
Document File: 2 page(s) / 25K

Publishing Venue

IBM

Abstract

This invention describes a method and apparatus for selecting optimal commands to minimize Read to Write memory bus turnarounds in an XDR DRAM system.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

STI:Optimizing Command Selection for XDR Memory Systems

Many XDR DRAMs have a feature called Early Read After Write. Before writes on the end of a stream complete, reads can be started as long as they are going to a different bank set, thus improving performance by reducing the turnaround time. A bank set is a group of banks, even or odd, which operate independently. This results in two classes of timing parameters: "same" bank set parameters, and "different" bank set parameters. This invention describes how to best select commands in an XDR system with early read to maximize the probability of having a read to the opposite set available and meet additional constraints on command selection, such as the tRC (Row cycle time) and ^tWR-D (gap between write and read to opposite bank sets).

    In bandwidth critical applications, the role of the command selection logic in a memory controller is to select commands to best utilize the available DRAM bus bandwidth. This is done by trying to minimize read to write and write to read turnarounds, and by selecting commands to available banks. Assuming a system where queues are relatively large, and the banks are closed after each access, this would typically result in a sequential selection of commands from each bank. This would result in the largest average time between accesses to each bank, thus maximizing the probably of meeting the tRC requirement. In a DDR system, switching from reads to writes or writes to reads does not negatively impact the selection of commands to available banks. The added write to read or read to write gaping requirements result in more banks being available after the turnaround, so there is no need to factor in the turnaround when selecting commands before it.

    For example, the following is a sequence of writes and reads, where R

is a read to a bank #, and W

is a write to a bank #.

W0 W1 W2 W3 R0 R1 R2 R3

    For a DDR system, the above sequence would have the best case gap between commands to the same bank, assuming a 4 bank system. Assuming a large queue of commands, selecting a command for each bank in a round-robin fashion is simple and meets the timing requirements. However, an XDR early read system places added constraints on the command selection. In order to minimize the write to read turnaround, a minimum gap between the final write, and the next read to the same bank set (in this case, odd banks), has to meet the timing parameter tWR-D. While the R0 command in the example above stream meets this requirement, in most cases, the R1 command would violate tWR-D. Moving R2 to the locaiton of R1 would help meet tWR-D, but could potentially cause problems meeting tRC between W2 and R2.

    This invention describes a method to select commands in the presence of the...