US20040268029A1 - Method and apparatus for using SDRAM to read and write data without latency - Google Patents

Method and apparatus for using SDRAM to read and write data without latency Download PDF

Info

Publication number
US20040268029A1
US20040268029A1 US10/821,819 US82181904A US2004268029A1 US 20040268029 A1 US20040268029 A1 US 20040268029A1 US 82181904 A US82181904 A US 82181904A US 2004268029 A1 US2004268029 A1 US 2004268029A1
Authority
US
United States
Prior art keywords
sdram
addressed
bank
odd
sdram bank
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/821,819
Inventor
Philip Cole
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Network Equipment Technologies Inc
Original Assignee
Network Equipment Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Network Equipment Technologies Inc filed Critical Network Equipment Technologies Inc
Priority to US10/821,819 priority Critical patent/US20040268029A1/en
Publication of US20040268029A1 publication Critical patent/US20040268029A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1042Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access

Definitions

  • the present invention generally relates to space conservation on an integrated circuit board and, more particularly, to using SDRAM to minimize circuitry area and thereby conserve space on an integrated circuit board.
  • a common goal of manufacturers of integrated circuits is to make integrated circuits as small as possible.
  • Memory cell buffers account for a substantial portion of the real estate on a circuit board. Accordingly, manufacturers desire high density memory cell buffers.
  • static random access memory static RAM
  • An array of static RAM is easy to design because of the way static RAM works. Static RAM is easy to arrange on the circuit board, and reading and writing with static RAM is easy.
  • SDRAM synchronous dynamic random access memory
  • Static RAM and SDRAM read and write data in fundamentally different manners. For example, with SDRAM, a device cannot just determine that it wants particular data “now” from SDRAM. The device must send a request to SDRAM before hand, and the SDRAM must be prepared give the data. Also, when a device writes data to an SDRAM bank, the device must wait awhile before writing more data to the SDRAM bank. SDRAM cannot be written to continuously, unlike static RAM. Further, making a one-for-one trade of static RAM for SDRAM is not feasible because a single SDRAM array would not be fast enough. In comparison to static RAM, one cannot get data out of SDRAM quick enough without making noise.
  • the present invention fills this need by providing a method and apparatus for transmitting data using synchronous dynamic random access memory (SDRAM) on a normal sized memory bus.
  • SDRAM synchronous dynamic random access memory
  • the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device or a method. Several inventive embodiments of the present invention are described below.
  • a method for transmitting data using SDRAM.
  • the method comprises writing data using a first set of SDRAM banks; writing data using a second set of SDRAM banks, wherein the first set of SDRAM banks and the second set of SDRAM banks write interleaved; reading data using a third set of SDRAM banks; and reading data using a fourth set of SDRAM banks, wherein the fourth set of SDRAM banks and the third set of SDRAM banks read interleaved.
  • an apparatus for transmitting data using synchronous dynamic random access memory comprises a first even addressed SDRAM bank; a second even addressed SDRAM bank, wherein the first even addressed SDRAM bank and the second even addressed SDRAM bank are configured to write in parallel; a first odd addressed SDRAM bank, wherein the first add addressed SDRAM bank and the first even addressed SDRAM bank are configured to write interleaved; and a second odd addressed SDRAM bank, wherein the second odd addressed SDRAM bank and the first odd addressed SDRAM bank are configured to write in parallel, and wherein the second odd addressed SDRAM bank and the second even addressed SDRAM bank are configured to write interleaved.
  • SDRAM synchronous dynamic random access memory
  • the invention encompasses other embodiments of a method, an apparatus, and a computer-readable medium, which are configured as set forth above and with other features and alternatives.
  • FIG. 1 illustrates an environment in which synchronous dynamic random access memory (SDRAM) operations, in accordance with one embodiment of the present invention.
  • SDRAM synchronous dynamic random access memory
  • FIG. 2 is Bertie ASIC overview, in accordance with one embodiment of the present invention.
  • FIG. 3 is the partition of the Bertie in terms of the clock domains, in accordance with one embodiment of the present invention.
  • FIG. 4 shows cell buffers for 4 Bertie's, in accordance with one embodiment of the present invention.
  • FIG. 5 illustrates one cycle write access to the SDRAM with auto precharge, in accordance with one embodiment of the present invention.
  • FIG. 6 illustrates one cycle of reading of the SDRAM with auto precharge, in accordance with one embodiment of the present invention.
  • An invention is disclosed for a method and apparatus for using SDRAM to read and write data without latency. Numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be understood, however, to one skilled in the art, that the present invention may be practiced without some or all of these specific details.
  • SDRAM synchronous dynamic random access memory
  • FIG. 1 illustrates an environment in which synchronous dynamic random access memory (SDRAM) 102 operations, in accordance with one embodiment of the present inventiond.
  • SDRAM synchronous dynamic random access memory
  • ASICs application specific integrated circuits
  • Bertie 104 the ASICs are named Bertie 104 , Filter 106 , and Forte 108 .
  • FIG. 2 is Bertie ASIC 104 overview, in accordance with one embodiment of the present invention.
  • Bertie ASICs 104 are part of the Egress path for the Cell Data Path within the SIF2 system. Cell streams on the Egress path are travelling from the backplanes through the Bertie's, stored in the local cell buffer, and moving to the Forte ASIC.
  • An on-chip prebuffer is located between the datapath of backplane interface and the local SDRAM cell buffer to smooth out the throughput difference. Based on the prebuffer modeling, a storage for 4 K cells are allocated with the on-chip SD AM to provide the optimal buffering scheme.
  • the cell data are stored in the local Bertie SDRAM, they will be stored temporarily until a read pointer is sent from the Filter to Bertie to indicate the flowing of the cell down to the Forte subsystem. At that time, a burst mode of SDRAM read will be issued by the Bertie to fetch the cell data and sending them through the unidirectional interface from Bertie to Forte on the preassigned time slots of the next NITS.
  • the density of the Bertie is reduced by the use of SDRAM. Rather than using static RAM, a method is provided by the present invention for combining SDRAM banks in to increase the density of the Bertie ASIC. Accordingly, the size of the Bertie ASIC is less would have been had static RAM been used. The corresponding real estate requirements of the Bertie ASIC on the mother board are, thus, reduced.
  • FIG. 3 is the partition of the Bertie 104 in terms of the clock domains, in accordance with one embodiment of the present invention.
  • Each of the 16 incoming backplane bus to the Bertie 104 is running with its own synchronizing clock.
  • the surrounding interface around each Bertie 104 contains components running at different speeds.
  • Bertie ASIC's are equipped with high performance memory controller for the local 100 Mhz SDRAM-based cell buffer.
  • the cell buffer can provide the storage of up to 1M cell, with each cell occupy 64 bytes of memory.
  • Data bus between each Bertie and the corresponding 4 SDRAM devices is 32-bit wide with burst length of 4 data phase for each read/write access. Through the “BANKING” among SDRAM devices, 80% utilization of the bus bandwidth for data access is achievable.
  • the 12-bit unidirectional bus from individual Bertie ASIC will constitute a data bus of 48-bit, with running speed of 75 Mhz, to provide the bandwidth of supplying 4 cell data from the Bertie cell buffer to Forte within each MTS.
  • FIG. 4 shows cell buffers for 4 Bertie's, in accordance with one embodiment of the present invention.
  • the main advantage of SDRAM can be attributed to the synchronous operation, interleaving cell banks and burst mode access.
  • Each SDRAM device is 64 Meg bit, with internal bank architecture of 1 Meg ⁇ 16 ⁇ 4 and burst length of 4 for write/read access.
  • Each SDRAM contains a 16-bit bi-directional data bus with running speed of 100 Mhz. From each Bertie's perspective, the local cell buffer would be a 2 bank organization, with 32-bit data access to each SDARM bank.
  • FIG. 5 illustrates one cycle write access to the SDRAM with auto precharge, in accordance with one embodiment of the present invention.
  • the configuration used for write access to SDRAM in Bertie is given below in Table 1.
  • TABLE 1 Configuration Used For Write Access To Bertie Mode Value Burst type Sequential burst length 4 cas latency 2 auto precharge Yes
  • FIG. 6 illustrates one cycle of reading of the SDRAM with auto precharge, in accordance with one embodiment of the present invention.
  • Only four SDRAM read accesses will be issued within each MTS.
  • the four read commands will also be issued in a back-to-back manner.
  • With read latency of 2 and tRCD value of 20 ns 8 cycles of 100 Mhz speed will be required for each read access.
  • an SDRAM device After power up to the full Vcc level, an SDRAM device requires an initialization sequence, which includes cycles of precharge and refresh and configuration of the mode register before any valid command can be issued. Since different initialization sequences are required from individual vendors, the most conservative requirement will be observed. Configuration register is provided for the issue of the initialization sequence as well as the access to the contents of the memory array.
  • Portions of the present invention may be conveniently implemented using a conventional general purpose or a specialized digital computer or microprocessor programmed according to the teachings of the present disclosure, as will be apparent to those skilled in the computer art.
  • the present invention includes a computer program product which is a storage medium (media) having instructions stored thereon/in which can be used to control, or cause, a computer to perform any of the processes of the present invention.
  • the storage medium can include, but is not limited to, any type of disk including floppy disks, mini disks (MD's), optical discs, DVD, CD-ROMS, micro-drive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices (including flash cards), magnetic or optical cards, nanosystems (including molecular memory ICs), RAID devices, remote data storage/archive/warehousing, or any type of media or device suitable for storing instructions and/or data.
  • the present invention includes software for controlling both the hardware of the general purpose/specialized computer or microprocessor, and for enabling the computer or microprocessor to interact with a human user or other mechanism utilizing the results of the present invention.
  • software may include, but is not limited to, device drivers, operating systems, and user applications.
  • computer readable media further includes software for performing the present invention, as described above.

Abstract

An apparatus and method are provided for transmitting data using synchronous dynamic random access memory (SDRAM). In example, the method includes writes data using a first set of SDRAM banks. Data is written using a second set of SDRAM banks, wherein the first set of SDRAM banks and the second set of SDRAM banks write interleaved. Data is read using a third set of SDRAM banks. Data is read using a fourth set of SDRAM banks, wherein the fourth set of SDRAM banks and the third set of SDRAM banks read interleaved.

Description

  • This application is related to U.S. Patent Application No. 60/346,264 Attorney Docket No. 23397.03800, entitled “Method And Apparatus For Using SDRAM To Read And Write Data Without Latency,” filed Dec. 19, 2001, which is herein incorporated by reference.[0001]
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0002]
  • The present invention generally relates to space conservation on an integrated circuit board and, more particularly, to using SDRAM to minimize circuitry area and thereby conserve space on an integrated circuit board. [0003]
  • DISCUSSION OF BACKGROUND
  • A common goal of manufacturers of integrated circuits is to make integrated circuits as small as possible. Memory cell buffers account for a substantial portion of the real estate on a circuit board. Accordingly, manufacturers desire high density memory cell buffers. Typically static random access memory (static RAM) is used for these cell buffers. An array of static RAM is easy to design because of the way static RAM works. Static RAM is easy to arrange on the circuit board, and reading and writing with static RAM is easy. [0004]
  • Unfortunately, static RAM is not very dense in comparison to other types of memories, such as synchronous dynamic random access memory (SDRAM). SDRAM is typically between 4 and 16 times the density of static RAM. [0005]
  • However, performing a simple trade of static RAM for SDRAM is not feasible because of the way SDRAM operates. Static RAM and SDRAM read and write data in fundamentally different manners. For example, with SDRAM, a device cannot just determine that it wants particular data “now” from SDRAM. The device must send a request to SDRAM before hand, and the SDRAM must be prepared give the data. Also, when a device writes data to an SDRAM bank, the device must wait awhile before writing more data to the SDRAM bank. SDRAM cannot be written to continuously, unlike static RAM. Further, making a one-for-one trade of static RAM for SDRAM is not feasible because a single SDRAM array would not be fast enough. In comparison to static RAM, one cannot get data out of SDRAM quick enough without making noise. [0006]
  • One attempt to utilize SDRAM has been to make the buses on which the SDRAM communicates wider. More SDRAM can then be used in communication with the bus so that SDRAM can replace what was before static RAM. Attempts have been made to use 64 bit buses, which are wider than normal. However, wider buses are generally a problem. For starters, wider buses take up a lot of real estate on the circuit board. The wide bus and additional SDRAM defeat the purpose of having a higher density circuit board, which is the motivating goal in the first place. [0007]
  • SUMMARY OF THE INVENTION
  • It has been recognized that what is needed is a memory arrangement that operates at a desired bandwidth and that does not have an oversized bus. Broadly speaking, the present invention fills this need by providing a method and apparatus for transmitting data using synchronous dynamic random access memory (SDRAM) on a normal sized memory bus. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device or a method. Several inventive embodiments of the present invention are described below. [0008]
  • In one embodiment, a method is provided for transmitting data using SDRAM. The method comprises writing data using a first set of SDRAM banks; writing data using a second set of SDRAM banks, wherein the first set of SDRAM banks and the second set of SDRAM banks write interleaved; reading data using a third set of SDRAM banks; and reading data using a fourth set of SDRAM banks, wherein the fourth set of SDRAM banks and the third set of SDRAM banks read interleaved. [0009]
  • In another embodiment, an apparatus for transmitting data using synchronous dynamic random access memory (SDRAM), the apparatus comprises a first even addressed SDRAM bank; a second even addressed SDRAM bank, wherein the first even addressed SDRAM bank and the second even addressed SDRAM bank are configured to write in parallel; a first odd addressed SDRAM bank, wherein the first add addressed SDRAM bank and the first even addressed SDRAM bank are configured to write interleaved; and a second odd addressed SDRAM bank, wherein the second odd addressed SDRAM bank and the first odd addressed SDRAM bank are configured to write in parallel, and wherein the second odd addressed SDRAM bank and the second even addressed SDRAM bank are configured to write interleaved. [0010]
  • The invention encompasses other embodiments of a method, an apparatus, and a computer-readable medium, which are configured as set forth above and with other features and alternatives. [0011]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings. To facilitate this description, like reference numerals designate like structural elements. [0012]
  • FIG. 1 illustrates an environment in which synchronous dynamic random access memory (SDRAM) operations, in accordance with one embodiment of the present invention. [0013]
  • FIG. 2 is Bertie ASIC overview, in accordance with one embodiment of the present invention. [0014]
  • FIG. 3 is the partition of the Bertie in terms of the clock domains, in accordance with one embodiment of the present invention. [0015]
  • FIG. 4 shows cell buffers for 4 Bertie's, in accordance with one embodiment of the present invention. [0016]
  • FIG. 5 illustrates one cycle write access to the SDRAM with auto precharge, in accordance with one embodiment of the present invention. [0017]
  • FIG. 6 illustrates one cycle of reading of the SDRAM with auto precharge, in accordance with one embodiment of the present invention. [0018]
  • DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • An invention is disclosed for a method and apparatus for using SDRAM to read and write data without latency. Numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be understood, however, to one skilled in the art, that the present invention may be practiced without some or all of these specific details. [0019]
  • The list below provides a quick reference to acronyms used in this disclosure.[0020]
  • ATM—asynchronous transfer mode [0021]
  • MTS—main timing sequence [0022]
  • NITS—[0023]
  • Oc—[0024]
  • SDRAM—synchronous dynamic random access memory [0025]
  • SIF—switch interface [0026]
  • SIF1—622 Mbps switch interface card [0027]
  • SIF2—2.4 Gbps switch interface card[0028]
  • General Overview [0029]
  • FIG. 1 illustrates an environment in which synchronous dynamic random access memory (SDRAM) [0030] 102 operations, in accordance with one embodiment of the present inventiond. The SDRAM 102 is in communication with various application specific integrated circuits (ASICs). In this embodiment, the ASICs are named Bertie 104, Filter 106, and Forte 108.
  • High Level Description [0031]
  • FIG. 2 is Bertie ASIC [0032] 104 overview, in accordance with one embodiment of the present invention. Bertie ASICs 104 are part of the Egress path for the Cell Data Path within the SIF2 system. Cell streams on the Egress path are travelling from the backplanes through the Bertie's, stored in the local cell buffer, and moving to the Forte ASIC.
  • As the cell streams are travelling from the Ingress path into the SIF2 back planes, while the synchronizing clocks are running at the 50 Mhz, cell data are travelling either at 50 or 100 Mhz, based on the system configuration. Therefore, within the backplane interface of Bertie, a 100 Mhz clock-recovery circuitry is provided for high sampling rate of the incoming data stream. [0033]
  • The peak burst rate for the incoming backplane buses are 8×2.5 Gbps=20 Gbps, and the interface between the Bertie's and the cell buffer is a 4×32=128-bit bi-directional bus running at 100 Mhz. The estimated throughput of the outgoing cell data from the local cell buffer is 22%×(128×100 bps)=2.82 Gbps. An on-chip prebuffer is located between the datapath of backplane interface and the local SDRAM cell buffer to smooth out the throughput difference. Based on the prebuffer modeling, a storage for 4 K cells are allocated with the on-chip SD AM to provide the optimal buffering scheme. [0034]
  • Once the cell data are stored in the local Bertie SDRAM, they will be stored temporarily until a read pointer is sent from the Filter to Bertie to indicate the flowing of the cell down to the Forte subsystem. At that time, a burst mode of SDRAM read will be issued by the Bertie to fetch the cell data and sending them through the unidirectional interface from Bertie to Forte on the preassigned time slots of the next NITS. [0035]
  • The density of the Bertie is reduced by the use of SDRAM. Rather than using static RAM, a method is provided by the present invention for combining SDRAM banks in to increase the density of the Bertie ASIC. Accordingly, the size of the Bertie ASIC is less would have been had static RAM been used. The corresponding real estate requirements of the Bertie ASIC on the mother board are, thus, reduced. [0036]
  • External Interfaces [0037]
  • FIG. 3 is the partition of the [0038] Bertie 104 in terms of the clock domains, in accordance with one embodiment of the present invention. Each of the 16 incoming backplane bus to the Bertie 104 is running with its own synchronizing clock. The surrounding interface around each Bertie 104 contains components running at different speeds.
  • There are 16 [0039] backplane buses 302. Although the cell buffer logically is controlled by the Bertie ASICs, the management for the Free List of accessing the cell buffer is under the Cell Control Path inside the Trilogy. Four unidirectional bus between the Filter and Bertie is the pathway for passing information between the Bertie and Filter ASIC. Since Four Bertie's are working together in the bit-slice manner, the CD record for each cell are split among the individual 8-bit data bus between each Bertie and the Filter. However, the each Bertie still requires the complete pointer value in order to fetch the bit-sliced data from the cell buffer.
  • To provide the high bandwidth required for the SIF2 data flow, Bertie ASIC's are equipped with high performance memory controller for the local 100 Mhz SDRAM-based cell buffer. The cell buffer can provide the storage of up to 1M cell, with each cell occupy 64 bytes of memory. Data bus between each Bertie and the corresponding 4 SDRAM devices is 32-bit wide with burst length of 4 data phase for each read/write access. Through the “BANKING” among SDRAM devices, 80% utilization of the bus bandwidth for data access is achievable. [0040]
  • Four Bertie ASIC's are working together to complete the data flow into/out of the cell buffer. Reception of the 4-bit slice data from part of the 16-bit back plane bus in the individual Bertie does not guarantee the sucessful reception of data for the other 4-bit slices. Therefore, communication between the 4 Bertie ASIC's on the same SIF2 require the interface among themselves to ensure the complete reception of the whole cell data from the 16-bit back plane bus. [0041]
  • Since an 1-bit bi-directional data bus is provided as the communication channel between the Bertie's for synchronization of cell collection for each backplane data bus, a total of 16-bit bi-directional bus into/out of each Bertie is required. The required data will time-multiplex the bus on the preassigned 100 Mhz clock cycle with the start of cell cycle for each incoming cell data as the reference point. [0042]
  • The 12-bit unidirectional bus from individual Bertie ASIC will constitute a data bus of 48-bit, with running speed of 75 Mhz, to provide the bandwidth of supplying 4 cell data from the Bertie cell buffer to Forte within each MTS. [0043]
  • Cell Buffer Organization [0044]
  • FIG. 4 shows cell buffers for 4 Bertie's, in accordance with one embodiment of the present invention. Compared to conventional asynchronous DRAM technologies, the main advantage of SDRAM can be attributed to the synchronous operation, interleaving cell banks and burst mode access. For each Bertie, there are 4 SDRAM devices attached as the local cell buffer. Each SDRAM device is 64 Meg bit, with internal bank architecture of 1 Meg×16×4 and burst length of 4 for write/read access. Each SDRAM contains a 16-bit bi-directional data bus with running speed of 100 Mhz. From each Bertie's perspective, the local cell buffer would be a 2 bank organization, with 32-bit data access to each SDARM bank. [0045]
  • FIG. 5 illustrates one cycle write access to the SDRAM with auto precharge, in accordance with one embodiment of the present invention. The configuration used for write access to SDRAM in Bertie is given below in Table 1. [0046]
    TABLE 1
    Configuration Used For Write Access To Bertie
    Mode Value
    Burst type Sequential
    burst length 4
    cas latency 2
    auto precharge Yes
  • The parameters used for write operation is given below in Table 2. [0047]
    TABLE 2
    SDRAM Parameters For Write Operations
    With Auto Recharge
    Parameter Value
    TRAS 60 nsec
    TRC 80 nsec
    TRCD
    20 nsce
    TWR 20 nsec
    TRP
    20 nsec
  • During write access, based on the even/odd value of the pointer from the 12 entry free-list FIFO, even bank or odd bank will be written with cell data. To reduce turnover cycle required on the SDRAM bus, consecutive 4 write cycles will be issued to flush cell data from the prebuffer into cell buffer. After that, a turnover/refresh cycle will be issued by the SDRAM controller for necessary memory refresh and bus turnover. Then the read access to the SDRAM will start. [0048]
  • FIG. 6 illustrates one cycle of reading of the SDRAM with auto precharge, in accordance with one embodiment of the present invention. Only four SDRAM read accesses will be issued within each MTS. To reduce turnover cycle on the data bus, the four read commands will also be issued in a back-to-back manner. With read latency of 2 and tRCD value of 20 ns, 8 cycles of 100 Mhz speed will be required for each read access. After the back-to-back read commands are retired with data fetch, another turnover/refresh cycle will be issued. And the whole write-turnover-read-turnover sequence will be repeated again for cell buffer interface. [0049]
  • After power up to the full Vcc level, an SDRAM device requires an initialization sequence, which includes cycles of precharge and refresh and configuration of the mode register before any valid command can be issued. Since different initialization sequences are required from individual vendors, the most conservative requirement will be observed. Configuration register is provided for the issue of the initialization sequence as well as the access to the contents of the memory array. [0050]
  • System and Method Implementation [0051]
  • Portions of the present invention may be conveniently implemented using a conventional general purpose or a specialized digital computer or microprocessor programmed according to the teachings of the present disclosure, as will be apparent to those skilled in the computer art. [0052]
  • Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. The invention may also be implemented by the preparation of application specific integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be readily apparent to those skilled in the art. [0053]
  • The present invention includes a computer program product which is a storage medium (media) having instructions stored thereon/in which can be used to control, or cause, a computer to perform any of the processes of the present invention. The storage medium can include, but is not limited to, any type of disk including floppy disks, mini disks (MD's), optical discs, DVD, CD-ROMS, micro-drive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices (including flash cards), magnetic or optical cards, nanosystems (including molecular memory ICs), RAID devices, remote data storage/archive/warehousing, or any type of media or device suitable for storing instructions and/or data. [0054]
  • Stored on any one of the computer readable medium (media), the present invention includes software for controlling both the hardware of the general purpose/specialized computer or microprocessor, and for enabling the computer or microprocessor to interact with a human user or other mechanism utilizing the results of the present invention. Such software may include, but is not limited to, device drivers, operating systems, and user applications. Ultimately, such computer readable media further includes software for performing the present invention, as described above. [0055]
  • Included in the programming (software) of the general/specialized computer or microprocessor are software modules for implementing the teachings of the present invention, including, but not limited to, writing data using a first set of SDRAM banks, and writing data using a second set of SDRAM banks, wherein the first set of SDRAM banks and the second set of SDRAM banks write interleaved, according to processes of the present invention. [0056]
  • In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. [0057]

Claims (22)

What is claimed is:
1. A method of using synchronous dynamic random access memory (SDRAM) to transmit data, the method comprising:
writing data using a first even addressed SDRAM bank;
writing data using a second even addressed SDRAM bank, wherein the first even addressed SDRAM bank and the second even addressed SDRAM bank write in parallel;
writing data using a first odd addressed SDRAM bank, wherein the first odd addressed SDRAM bank and the first even addressed SDRAM bank write interleaved; and
writing data using a second odd addressed SDRAM bank, wherein the second odd addressed SDRAM bank and the first odd addressed SDRAM bank write in parallel, and wherein the second odd addressed SDRAM bank and the second even addressed SDRAM bank write interleaved.
2. The method of claim 1, wherein odd addressed SDRAM banks write interleaved with even addressed SDRAM banks.
3. The method of claim 1, further comprising:
reading data using the first even addressed SDRAM bank;
reading data using the first odd addressed SDRAM bank, wherein the first even addressed SDRAM bank and the first odd addressed SDRAM bank read in parallel;
reading data using the second even addressed SDRAM bank, wherein the second even addressed SDRAM bank and the first even addressed SDRAM bank read interleaved; and
reading using the second odd addressed SDRAM bank, wherein the second odd addressed SDRAM bank and the second even addressed SDRAM bank read in parallel, and wherein the second odd addressed SDRAM bank and the first odd addressed SDRAM bank read interleaved.
4. The method of claim 3, wherein even addressed SDRAM banks read interleaved with even addressed SDRAM banks, and wherein odd addressed SDRAM banks read interleaved with odd addressed SDRAM banks.
5. The method of claim 1, further comprising:
determining whether a selection pointer is even or odd; and
selecting for a next operation either an odd addressed SDRAM bank or an even addressed SDRAM bank based on whether the selection pointer is even or odd.
6. The method of claim 1, wherein one writing operation takes between 5 and 8 clock cycles to complete.
7. The method of claim 3, wherein an amount of write operations is variable according to system requirements, and wherein an amount of read operations is variable according to system requirements.
8. The method of claim 1, wherein the first even addressed SDRAM bank and the second even addressed SDRAM bank share a common data bus, and wherein the first odd addressed SDRAM bank and the second odd addressed SDRAM bank share a common data bus.
9. A method of transmitting data using synchronous dynamic random access memory (SDRAM), the method comprising:
writing data using a first set of SDRAM banks; and
writing data using a second set of SDRAM banks, wherein the first set of SDRAM banks and the second set of SDRAM banks write interleaved.
10. The method of claim 9, further comprising:
reading data using a third set of SDRAM banks; and
reading data using a fourth set of SDRAM banks, wherein the fourth set of SDRAM banks and the third set of SDRAM banks read interleaved.
11. The method of claim 9, wherein each set of SDRAM banks includes at least two SDRAM banks.
12. The method of claim 10, wherein the first set of SDRAM banks and the third set of SDRAM banks share a common SDRAM bank.
13. An apparatus for transmitting data using synchronous dynamic random access memory (SDRAM), the apparatus comprising:
a first even addressed SDRAM bank;
a second even addressed SDRAM bank, wherein the first even addressed SDRAM bank and the second even addressed SDRAM bank are configured to write in parallel;
a first odd addressed SDRAM bank, wherein the first add addressed SDRAM bank and the first even addressed SDRAM bank are configured to write interleaved; and
a second odd addressed SDRAM bank, wherein the second odd addressed SDRAM bank and the first odd addressed SDRAM bank are configured to write in parallel, and wherein the second odd addressed SDRAM bank and the second even addressed SDRAM bank are configured to write interleaved.
14. The apparatus of claim 13, wherein each SDRAM bank is configured to read data, and wherein the first even addressed SDRAM bank and the first odd addressed SDRAM bank are configured to read in parallel, and wherein the second even addressed SDRAM bank and the first even addressed SDRAM bank are configured to read interleaved, and wherein the second odd addressed SDRAM bank and the second even addressed SDRAM bank are configured to read in parallel, and the second odd addressed SDRAM and the first odd addressed SDRAM bank are configured to read interleaved.
15. A computer-readable medium carrying one or more sequences of one or more instructions for transmitting data using synchronous dynamic random access memory (SDRAM), the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
writing data using a first even addressed SDRAM bank;
writing data using a second even addressed SDRAM bank, wherein the first even addressed SDRAM bank and the second even addressed SDRAM bank write in parallel;
writing data using a first odd addressed SDRAM bank, wherein the first odd addressed SDRAM bank and the first even addressed SDRAM bank write interleaved; and
writing data using a second odd addressed SDRAM bank, wherein the second odd addressed SDRAM bank and the first odd addressed SDRAM bank write in parallel, and wherein the second odd addressed SDRAM bank and the second even addressed SDRAM bank write interleaved.
16. The computer-readable medium of claim 15, wherein odd addressed SDRAM banks write interleaved with even addressed SDRAM banks.
17. The computer-readable medium of claim 15, wherein the instructions further cause the processor to carry out the steps of:
reading data using the first even addressed SDRAM bank;
reading data using the first odd addressed SDRAM bank, wherein the first even addressed SDRAM bank and the first odd addressed SDRAM bank read in parallel;
reading data using the second even addressed SDRAM bank, wherein the second even addressed SDRAM bank and the first even addressed SDRAM bank read interleaved; and
reading using the second odd addressed SDRAM bank, wherein the second odd addressed SDRAM bank and the second even addressed SDRAM bank read in parallel, and wherein the second odd addressed SDRAM bank and the first odd addressed SDRAM bank read interleaved.
18. The computer-readable medium of claim 17, wherein even addressed SDRAM banks read interleaved with even addressed SDRAM banks, and wherein odd addressed SDRAM banks read interleaved with odd addressed SDRAM banks.
19. The computer-readable medium of claim 15, wherein the instructions further cause the processor to carry out the steps of:
determining whether a selection pointer is even or odd; and
selecting for a next operation either an odd addressed SDRAM bank or an even addressed SDRAM bank based on whether the selection pointer is even or odd.
20. The computer-readable medium of claim 15, wherein one writing operation takes between 5 and 8 clock cycles to complete.
21. The computer-readable medium of claim 15, wherein an amount of write operations is variable according to system requirements, and wherein an amount of read operations is variable according to system requirements.
22. The computer-readable medium of claim 15, wherein the first even addressed SDRAM bank and the second even addressed SDRAM bank share a common data bus, and wherein the first odd addressed SDRAM bank and the second odd addressed SDRAM bank share a common data bus.
US10/821,819 2001-12-19 2004-04-08 Method and apparatus for using SDRAM to read and write data without latency Abandoned US20040268029A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/821,819 US20040268029A1 (en) 2001-12-19 2004-04-08 Method and apparatus for using SDRAM to read and write data without latency

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US34626401P 2001-12-19 2001-12-19
US10/160,664 US6721229B1 (en) 2001-12-19 2002-05-31 Method and apparatus for using SDRAM to read and write data without latency
US10/821,819 US20040268029A1 (en) 2001-12-19 2004-04-08 Method and apparatus for using SDRAM to read and write data without latency

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/160,664 Continuation US6721229B1 (en) 2001-12-19 2002-05-31 Method and apparatus for using SDRAM to read and write data without latency

Publications (1)

Publication Number Publication Date
US20040268029A1 true US20040268029A1 (en) 2004-12-30

Family

ID=32044893

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/160,664 Expired - Lifetime US6721229B1 (en) 2001-12-19 2002-05-31 Method and apparatus for using SDRAM to read and write data without latency
US10/821,819 Abandoned US20040268029A1 (en) 2001-12-19 2004-04-08 Method and apparatus for using SDRAM to read and write data without latency

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/160,664 Expired - Lifetime US6721229B1 (en) 2001-12-19 2002-05-31 Method and apparatus for using SDRAM to read and write data without latency

Country Status (1)

Country Link
US (2) US6721229B1 (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7382736B2 (en) * 1999-01-12 2008-06-03 Mcdata Corporation Method for scoring queued frames for selective transmission through a switch
US7596139B2 (en) * 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
US7236490B2 (en) * 2000-11-17 2007-06-26 Foundry Networks, Inc. Backplane interface adapter
US7002980B1 (en) * 2000-12-19 2006-02-21 Chiaro Networks, Ltd. System and method for router queue and congestion management
US7468975B1 (en) 2002-05-06 2008-12-23 Foundry Networks, Inc. Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US7266117B1 (en) 2002-05-06 2007-09-04 Foundry Networks, Inc. System architecture for very fast ethernet blade
US7187687B1 (en) 2002-05-06 2007-03-06 Foundry Networks, Inc. Pipeline method and system for switching packets
US7649885B1 (en) 2002-05-06 2010-01-19 Foundry Networks, Inc. Network routing system for enhanced efficiency and monitoring capability
US20090279558A1 (en) * 2002-05-06 2009-11-12 Ian Edward Davis Network routing apparatus for enhanced efficiency and monitoring capability
US20120155466A1 (en) 2002-05-06 2012-06-21 Ian Edward Davis Method and apparatus for efficiently processing data packets in a computer network
US6901072B1 (en) 2003-05-15 2005-05-31 Foundry Networks, Inc. System and method for high speed packet transmission implementing dual transmit and receive pipelines
US7817659B2 (en) 2004-03-26 2010-10-19 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US8730961B1 (en) 2004-04-26 2014-05-20 Foundry Networks, Llc System and method for optimizing router lookup
US7657703B1 (en) 2004-10-29 2010-02-02 Foundry Networks, Inc. Double density content addressable memory (CAM) lookup scheme
US8448162B2 (en) * 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
US20070288690A1 (en) * 2006-06-13 2007-12-13 Foundry Networks, Inc. High bandwidth, high capacity look-up table implementation in dynamic random access memory
US7903654B2 (en) 2006-08-22 2011-03-08 Foundry Networks, Llc System and method for ECMP load sharing
US8238255B2 (en) 2006-11-22 2012-08-07 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US20090279441A1 (en) 2007-01-11 2009-11-12 Foundry Networks, Inc. Techniques for transmitting failure detection protocol packets
US8271859B2 (en) 2007-07-18 2012-09-18 Foundry Networks Llc Segmented CRC design in high speed networks
US8037399B2 (en) 2007-07-18 2011-10-11 Foundry Networks, Llc Techniques for segmented CRC design in high speed networks
US8149839B1 (en) 2007-09-26 2012-04-03 Foundry Networks, Llc Selection of trunk ports and paths using rotation
CN101656586B (en) * 2008-08-20 2013-08-07 中兴通讯股份有限公司 Method and device for improving virtual concatenation delay compensation caching efficiency in synchronous digital hierarchy
US8090901B2 (en) 2009-05-14 2012-01-03 Brocade Communications Systems, Inc. TCAM management approach that minimize movements
US8599850B2 (en) 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619471A (en) * 1995-06-06 1997-04-08 Apple Computer, Inc. Memory controller for both interleaved and non-interleaved memory
US6076136A (en) * 1998-06-17 2000-06-13 Lucent Technologies, Inc. RAM address decoding system and method to support misaligned memory access
US6286075B1 (en) * 1998-11-16 2001-09-04 Infineon Technologies Ag Method of speeding up access to a memory page using a number of M page tag registers to track a state of physical pages in a memory device having N memory banks where N is greater than M
US6397314B1 (en) * 1995-07-31 2002-05-28 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US20030046501A1 (en) * 2001-09-04 2003-03-06 Schulz Jurgen M. Method for interleaving memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619471A (en) * 1995-06-06 1997-04-08 Apple Computer, Inc. Memory controller for both interleaved and non-interleaved memory
US6397314B1 (en) * 1995-07-31 2002-05-28 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6076136A (en) * 1998-06-17 2000-06-13 Lucent Technologies, Inc. RAM address decoding system and method to support misaligned memory access
US6286075B1 (en) * 1998-11-16 2001-09-04 Infineon Technologies Ag Method of speeding up access to a memory page using a number of M page tag registers to track a state of physical pages in a memory device having N memory banks where N is greater than M
US20030046501A1 (en) * 2001-09-04 2003-03-06 Schulz Jurgen M. Method for interleaving memory

Also Published As

Publication number Publication date
US6721229B1 (en) 2004-04-13

Similar Documents

Publication Publication Date Title
US6721229B1 (en) Method and apparatus for using SDRAM to read and write data without latency
US8687436B2 (en) Increasing efficiency of memory accesses by selectively introducing a relative delay between the time that write addresses are provided to the memory and the time that write data is provided to the memory
US7260015B2 (en) Memory device and method having multiple internal data buses and memory bank interleaving
US8392686B2 (en) System and method for read synchronization of memory modules
US5604714A (en) DRAM having multiple column address strobe operation
US7251714B2 (en) Method and system for capturing and bypassing memory transactions in a hub-based memory system
US7594088B2 (en) System and method for an asynchronous data buffer having buffer write and read pointers
US8397020B2 (en) Memory array and method with simultaneous read/write capability
US8510480B2 (en) Memory system and method having uni-directional data buses
US6922770B2 (en) Memory controller providing dynamic arbitration of memory commands
US6928027B2 (en) Virtual dual-port synchronous RAM architecture
EP0793827A1 (en) Method and structure for utilizing a dram array as second level cache memory
JPH11232180A (en) Data processor

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: EXPRESSLY ABANDONED -- DURING EXAMINATION