Method and system for processing pipelined memory commands

Electrical computers and digital processing systems: memory – Addressing combined with specific memory configuration or... – For multiple memory modules

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Other Related Categories

C711S002000, C711S104000, C711S167000, C711S169000

Type

Reexamination Certificate

Status

active

Patent number

06202119

Description

ABSTRACT:

TECHNICAL FIELD
This invention relates to memory devices used in computer systems, and, more particularly, to a method and apparatus for the pipelined processing of memory commands.
BACKGROUND OF THE INVENTION
Conventional computer systems include a processor (not shown) coupled to a variety of memory devices, including read-only memories (“ROMs”) which traditionally store instructions for the processor, and a system memory to which the processor may write data and from which the processor may read data. The processor may also communicate with an external cache memory, which is generally a static random access memory (“SRAM”). The processor also communicates with input devices, output devices, and data storage devices.
Processors generally operate at a relatively high speed. Processors such as the Pentium® and Pentium Pro® microprocessors are currently available that operate at clock speeds of at least 200 MHz. However, the remaining components of existing computer systems, with the exception of SRAM cache, are not capable of operating at the speed of the processor. For this reason, the system memory devices, as well as the input devices, output devices, and data storage devices, are not coupled directly to the processor bus. Instead, the system memory devices are generally coupled to the processor bus through a memory controller, bus bridge or similar device, and the input devices, output devices, and data storage devices are coupled to the processor bus through a bus bridge. The memory controller allows the system memory devices to operate at a lower clock frequency that is substantially lower than the clock frequency of the processor. Similarly, the bus bridge allows the input devices, output devices, and data storage devices to operate at a substantially lower frequency. Currently, for example, a processor having a 200 MHz clock frequency may be mounted on a mother board having a 66 MHz clock frequency for controlling the system memory devices and other components.
Access to system memory is a frequent operation for the processor. The time required for the processor, operating, for example, at 200 MHz, to read data from or write data to a system memory device operating at, for example, 66 MHz, greatly slows the rate at which the processor is able to accomplish its operations. Thus, much effort has been devoted to increasing the operating speed of system memory devices.
System memory devices are generally dynamic random access memories (“DRAMs”). Initially, DRAMs were asynchronous and thus did not operate at even the clock speed of the motherboard. In fact, access to asynchronous DRAMs often required that wait states be generated to halt the processor until the DRAM had completed a memory transfer. However, the operating speed of asynchronous DRAMs was successfully increased through such innovations as burst and page mode DRAMs which did not require that an address be provided to the DRAM for each memory access. More recently, synchronous dynamic random access memories (“SDRAMs”) have been developed to allow the pipelined transfer of data at the clock speed of the motherboard. However, even SDRAMs are incapable of operating at the clock speed of currently available processors. Thus, SDRAMs cannot be connected directly to the processor bus, but instead must interface with the processor bus through a memory controller, bus bridge, or similar device. The disparity between the operating speed of the processor and the operating speed of SDRAMs continues to limit the speed at which processors may complete operations requiring access to system memory.
A solution to this operating speed disparity has been proposed in the form of a computer architecture known as “SyncLink.” In the SyncLink architecture, the system memory may be coupled to the processor either directly through the processor bus or through a memory controller. Rather than requiring that separate address and control signals be provided to the system memory, SyncLink memory devices receive command packets that include both control and address information. The SyncLink memory device then outputs or receives data on a data bus that is coupled directly to the data bus portion of the processor bus.
An example of a computer system
10
using the SyncLink architecture is shown in FIG.
1
. The computer system
10
includes a processor
12
having a processor bus
14
coupled to three packetized dynamic random access memory or SyncLink DRAMs (“SLDRAM”) devices
16
a-c.
The computer system
10
also includes one or more input devices
20
, such as a keypad or a mouse, coupled to the processor
12
through a bus bridge
22
and an expansion bus
24
, such as an industry standard architecture (“ISA”) bus or a Peripheral component interconnect (“PCI”) bus. The input devices
20
allow an operator or an electronic device to input data to the computer system
10
. One or more output devices
30
are coupled to the processor
12
to display or otherwise output data generated by the processor
12
. The output devices
30
are coupled to the processor
12
through the expansion bus
24
, bus bridge
22
and processor bus
14
. Examples of output devices
24
include printers and a video display units. One or more data storage devices
38
are coupled to the processor
12
through the processor bus
14
, bus bridge
22
, and expansion bus
24
to store data in or retrieve data from storage media (not shown). Examples of storage devices
38
and storage media include fixed disk drives floppy disk drives, tape cassettes and compact-disk read-only memory drives.
In operation, the processor
12
communicates with the memory devices
16
a-c
via the processor bus
14
by sending the memory devices
16
a-c
command packets that contain both control and address information. Data is coupled between the processor
12
and the memory devices
16
a-c
, through a data bus portion of the processor bus
14
. Although all the memory devices
16
a-c
are coupled to the same conductors of the processor bus
14
, only one memory device
16
a-c
at a time reads or writes data, thus avoiding bus contention on the processor bus
14
. Bus contention is avoided by each of the memory devices
16
a-c
on the bus bridge
22
having a unique identifier, and the command packet contains an identifying code that selects only one of these components.
A typical command packet for a SyncLink packetized DRAM is shown in FIG.
2
. The command packet is formed by 4 packet words each of which contains 10 bits of data. The first packet word W
1
contains 7 bits of data identifying the packetized DRAM
16
a-c
that is the intended recipient of the command packet. As explained below, each of the packetized DRAMs is provided with a unique ID code that is compared to the 7 ID bits in the first packet word W
1
. Thus, although all of the packetized DRAMs
16
a-c
will receive the command packet, only the packetized DRAM
16
a-c
having an ID code that matches the 7 ID bits of the first packet word W
1
will respond to the command packet.
The remaining 3 bits of the first packet word W
1
as well as 3 bits of the second packet word W
2
comprise a 6 bit command. Typical commands are read and write in a variety of modes, such as accesses to pages or banks of memory cells. The remaining 7 bits of the second packet word W
2
and portions of the third and fourth packet words W
3
and W
4
comprise a 20 bit address specifying a bank, row and column address for a memory transfer or the start of a multiple bit memory transfer. In one embodiment, the 20-bit address is divided into 3 bits of bank address, 10 bits of row address, and 7 bits of column address.
Although the command packet shown in
FIG. 2
is composed of 4 packet words each containing up to 10 bits, it will be understood that a command packet may contain a lesser or greater number of packet words, and each packet word may contain a lesser or greater number of bits.
The computer system
10
also includes a number of other components and signal lines that have been omitted from
FIG. 1
in the interests of brevity. For examp

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and system for processing pipelined memory commands does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and system for processing pipelined memory commands, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for processing pipelined memory commands will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2512415

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.