← Back to Patent Explorer
US5430742A Expired / Lapsed US ⏱️ 0.0 years remaining

Memory controller with ECC and data streaming control

Assignee: Samsung Electronics Co Ltd
•
Filing: 1992-10-14
•
Granted: 1995-07-04
•
Expires: 2012-10-14
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Data is written to a memory subsystem in a computer system, wherein the data is supplied by an input/output (I/O) bus. The I/O bus provides a STROBE signal, the occurrence of which is indicative of a time when an I/O data word on the I/O bus is valid. A first I/O data word provided by the I/O bus, after a first occurrence of the STROBE signal, is stored in a data buffer. A memory data word is retrieved from the memory subsystem in response to the first occurrence of the STROBE signal. A second I/O data word provided by the I/O bus, after a second occurrence of the STROBE signal, is stored in the data buffer. The memory data word is modified by the first and second I/O data words to form a modified data word. Error detection information corresponding to the modified data word is generated and the modified data word and the error detection information are written to the memory subsystem.

Inventors

  • 👤 Joseph M. Jeddeloh
  • 👤 A. Kent Porterfield

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 21:10
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1008; G06F11/1048; G06F11/1056

Claims Analysis

Total Claims: 32
Claim 1
Independent Claim 168 words
A method of writing data to a memory subsystem in a computer system, wherein the data is supplied by an input/output (I/O) bus, and wherein the I/O bus provides a STROBE signal, an occurrence of the STROBE signal being indicative of a time when an I/O data word on the I/O bus is valid, the method comprising: storing a first I/O data word, provided by the I/O bus after a first occurrence of the STROBE signal, in data buffer means; retrieving a memory data word from the memory subsystem in response to the first occurrence of the STROBE signal; storing a second I/O data word, provided by the I/O bus after a second occurrence of the STROBE signal, in the data buffer means; modifying the memory data word with the first and second I/O data words to form a modified data word; generating error correction code (ECC) data corresponding to the modified data word; and writing the modified data word and the ECC data to the memory subsystem.
Claim 2
Independent Claim 168 words
A method of writing data to a memory subsystem in a computer system, wherein the data is supplied by an input/output (I/O) bus, and wherein the I/O bus provides a STROBE signal, an occurrence of the STROBE signal being indicative of a time when an I/O data word on the I/O bus is valid, the method comprising: storing a first I/O data word, provided by the I/O bus after a first occurrence of the STROBE signal, in data buffer means; retrieving a memory data word from the memory subsystem in response to the first occurrence of the STROBE signal; storing a second I/O data word, provided by the I/O bus after a second occurrence of the STROBE signal, in the data buffer means; modifying the memory data word with the first and second I/O data words to form a modified data word; generating error correction code (ECC) data corresponding to the modified data word; and writing the modified data word and the ECC data to the memory subsystem.
Claim 3
Dependent Claim 29 words
The method of claim 1 wherein writing the modified data word and the ECC data to the memory subsystem occurs prior to a third occurrence of the STROBE signal.
Claim 4
Dependent Claim 36 words
The method of claim 1 wherein the memory data word has a length, and wherein the first and second I/O data words have a combined length no greater than the length of the memory data word.
Claim 5
Dependent Claim 28 words
The method of claim 3 wherein the length of each I/O data word is 32 bits and wherein the length of the memory data word is 64 bits.
Claim 6
Dependent Claim 45 words
The method of claim 1 wherein retrieving a memory data word comprises: detecting the first occurrence of the STROBE signal; and generating memory subsystem control signals based on the first occurrence of the STROBE signal, to read the memory data word from the memory subsystem.
Claim 7
Dependent Claim 45 words
The method of claim 5 wherein the memory subsystem includes dynamic random access memories (DRAMs) and wherein generating memory subsystem control signals comprises: generating DRAM control signals to read the memory data word from the DRAMs based on the first occurrence of the STROBE signal.
Claim 8
Dependent Claim 36 words
The method of claim 6 wherein generating DRAM control signals comprises: generating row address select (RAS) signals, column address select (CAS) signals, and write enable (WE) signals based on the first occurrence of the STROBE signal.
Claim 9
Dependent Claim 26 words
The method of claim 7 wherein generating DRAM control signals comprises: generating the RAS, CAS, and WE signals so that the DRAMs operate in page mode.
Claim 10
Dependent Claim 26 words
The method of claim 1 wherein the second occurrence of the STROBE signal is within approximately 100 nanoseconds of the first occurrence of the STROBE signal.
Claim 11
Dependent Claim 50 words
The method of claim 1 and further comprising: receiving a starting address from the I/O bus indicative of a starting address for writing the data to the memory subsystem; and performing the steps of reading a memory data word and writing the modified data word based on the starting address.
Claim 12
Dependent Claim 48 words
The method of claim 10 and further comprising: loading the starting address into an address counter, the address counter providing address signals to the memory subsystem based on the address contained in the address counter; and incrementing the address in the address counter based on the STROBE signal.
Claim 13
Independent Claim 187 words
A method of writing data from an input/output (I/O) bus to a memory in a computer system, the method comprising: receiving an I/O signal from the I/O bus indicative of a time when a data word provided by the I/O bus is valid; receiving a starting address from the I/O bus representative of an address in the memory where a first data word from the I/O bus is to be written; receiving the data word from the I/O bus; determining, based on the starting address, a number of memory words that must be read from the memory before writing the data word to the memory; reading the desired number of memory words from the memory in response to the I/O signal, a first memory word being read from an address in the memory that corresponds to the starting address; receiving the I/O signal from the I/O bus a second time; receiving a second data word from the I/O bus; modifying the memory words from the memory with the data words from the I/O bus to form a modified word; and writing the modified word to the memory.
Claim 14
Independent Claim 187 words
A method of writing data from an input/output (I/O) bus to a memory in a computer system, the method comprising: receiving an I/O signal from the I/O bus indicative of a time when a data word provided by the I/O bus is valid; receiving a starting address from the I/O bus representative of an address in the memory where a first data word from the I/O bus is to be written; receiving the data word from the I/O bus; determining, based on the starting address, a number of memory words that must be read from the memory before writing the data word to the memory; reading the desired number of memory words from the memory in response to the I/O signal, a first memory word being read from an address in the memory that corresponds to the starting address; receiving the I/O signal from the I/O bus a second time; receiving a second data word from the I/O bus; modifying the memory words from the memory with the data words from the I/O bus to form a modified word; and writing the modified word to the memory.
Claim 15
Dependent Claim 49 words
The method of claim 12 wherein determining a number of memory words comprises: determining the number of words that must be read to align the address boundaries of the memory words read from the memory and the data word received from the I/O bus based on the starting address.
Claim 16
Dependent Claim 33 words
The method of claim 12 and further comprising: generating error correction code (ECC) information corresponding to the modified word; and wherein writing the modified word includes writing the ECC information to the memory.
Claim 17
Dependent Claim 44 words
The method of claim 12 wherein the memory includes memory devices operable in page mode and wherein reading the desired number of memory words comprises: generating memory control signals to perform a page mode read operation on the memory based on the I/O signal.
Claim 18
Dependent Claim 47 words
The method of claim 12 wherein the memory includes memory devices operable in page mode and wherein the step of writing the modified word to the memory comprises: generating memory control signals to perform a page mode write operation on the memory based on the I/O signal.
Claim 19
Dependent Claim 246 words
A memory controller in a computer system having a microprocessor, an input/output (I/O) bus providing a STROBE signal indicative of a time when a data word on the I/O bus is valid, and dynamic random access memory (DRAM), the memory controller comprising: a first data buffer, coupled to the I/O bus, for receiving a first data word from the I/O bus in response to a first occurrence of the STROBE signal; reading means, coupled to the DRAM, for reading and storing a memory word from the DRAM in response to the first occurrence of the STROBE signal; a second data buffer, coupled to the I/O bus, for receiving a second data word from the I/O bus in response to a second occurrence of the STROBE signal; modifying means, coupled to the first and second data buffers and the reading means, for modifying the memory word with the first and second data words to form a write data word; error correction code (ECC) generating means, coupled to the reading means, for generating ECC information corresponding to the write data word; and writing means, coupled to the reading means, for writing the write data word and the corresponding ECC information to the DRAM, the modifying means forming the write data word and the ECC generating means generating the ECC information after the second occurrence of the STROBE signal and the writing means writing the write data word to the DRAM before a third occurrence of the STROBE signal.
Claim 20
Dependent Claim 246 words
A memory controller in a computer system having a microprocessor, an input/output (I/O) bus providing a STROBE signal indicative of a time when a data word on the I/O bus is valid, and dynamic random access memory (DRAM), the memory controller comprising: a first data buffer, coupled to the I/O bus, for receiving a first data word from the I/O bus in response to a first occurrence of the STROBE signal; reading means, coupled to the DRAM, for reading and storing a memory word from the DRAM in response to the first occurrence of the STROBE signal; a second data buffer, coupled to the I/O bus, for receiving a second data word from the I/O bus in response to a second occurrence of the STROBE signal; modifying means, coupled to the first and second data buffers and the reading means, for modifying the memory word with the first and second data words to form a write data word; error correction code (ECC) generating means, coupled to the reading means, for generating ECC information corresponding to the write data word; and writing means, coupled to the reading means, for writing the write data word and the corresponding ECC information to the DRAM, the modifying means forming the write data word and the ECC generating means generating the ECC information after the second occurrence of the STROBE signal and the writing means writing the write data word to the DRAM before a third occurrence of the STROBE signal.
Claim 21
Dependent Claim 50 words
The memory controller of claim 17 wherein the DRAM is operable in page mode and wherein the reading means comprises: means, coupled to the DRAM and receiving the STROBE signal, for generating DRAM control signals to perform a page mode read operation on the DRAM based on the STROBE signal.
Claim 22
Dependent Claim 51 words
The memory controller of claim 17 wherein the DRAM is operable in page mode and wherein the writing means comprises: means, coupled to the DRAM and receiving the STROBE signal, for generating DRAM control signals to perform a page mode write operation on the DRAM in response to the STROBE signal.
Claim 23
Dependent Claim 27 words
The memory controller of claim 17 wherein the first and second data words each contain no more than one half as many bits as the memory word.
Claim 24
Independent Claim 215 words
An apparatus for writing data to a memory subsystem in a computer system, wherein the data is supplied by an input/output (I/O) bus, and wherein the I/O bus provides a STROBE signal, an occurrence of the STROBE signal being indicative of a time when an I/O data word on the I/O bus is valid, the apparatus comprising: first storing means, coupled to the I/O bus, for storing a first I/O data word provided by the I/O bus after a first occurrence of the STROBE signal; reading means, coupled to the memory subsystem, for reading a memory data word from the memory subsystem in response to the first occurrence of the STROBE signal; second storing means, coupled to the I/O bus, for storing a second I/O data word, provided by the I/O bus after a second occurrence of the STROBE signal; modifying means, coupled to the reading means and the first and second storing means, for modifying the memory data word with the first and second I/O data words to form a modified data word; generating means, coupled to the modifying means, for generating error detection information corresponding to the modified data word; and writing means, coupled to the memory subsystem, for writing the modified data word and the error detection information to the memory subsystem.
Claim 25
Independent Claim 215 words
An apparatus for writing data to a memory subsystem in a computer system, wherein the data is supplied by an input/output (I/O) bus, and wherein the I/O bus provides a STROBE signal, an occurrence of the STROBE signal being indicative of a time when an I/O data word on the I/O bus is valid, the apparatus comprising: first storing means, coupled to the I/O bus, for storing a first I/O data word provided by the I/O bus after a first occurrence of the STROBE signal; reading means, coupled to the memory subsystem, for reading a memory data word from the memory subsystem in response to the first occurrence of the STROBE signal; second storing means, coupled to the I/O bus, for storing a second I/O data word, provided by the I/O bus after a second occurrence of the STROBE signal; modifying means, coupled to the reading means and the first and second storing means, for modifying the memory data word with the first and second I/O data words to form a modified data word; generating means, coupled to the modifying means, for generating error detection information corresponding to the modified data word; and writing means, coupled to the memory subsystem, for writing the modified data word and the error detection information to the memory subsystem.
Claim 26
Dependent Claim 21 words
The apparatus of claim 21 wherein the generating means generates error correction code (ECC) information corresponding to the modified data word.
Claim 27
Dependent Claim 18 words
The apparatus of claim 21 wherein the generating means generates parity information corresponding to the modified data word.
Claim 28
Dependent Claim 64 words
The apparatus of claim 21 wherein the memory subsystem includes dynamic random access memories (DRAMs) operable in page mode and wherein the reading means comprises: memory control signal generating means for generating memory control signals, based on the STROBE signal from the I/O bus, to perform a page mode read operation on the DRAMs to read the memory data word from the memory subsystem.
Claim 29
Dependent Claim 69 words
The apparatus of claim 21 wherein the memory subsystem includes dynamic random access memories (DRAMs) operable in page mode and wherein the writing means comprises: memory control signal generating means for generating memory control signals, based on the STROBE signal from the I/O bus, to perform a page mode write operation on the DRAMs to write the modified data word and the error detection information to the memory subsystem.
Claim 30
Dependent Claim 28 words
The apparatus of claim 21 wherein the first and second I/O data words each contain no more than one half as many bits as the memory data word.
Claim 31
Dependent Claim 28 words
The apparatus of claim 26 wherein the length of each I/O data word is 32 bits and wherein the length of the memory data word is 64 bits.
Claim 32
Dependent Claim 28 words
The apparatus of claim 26 wherein the length of each I/O data word is 16 bits and wherein the length of the memory data word is 64 bits.

References Cited (Backward Citations)

US4493081A Cited
US5001624A Cited
US4979173A Cited
US4884271A Cited
US5058005A Cited
JPH0298121A Cited
US5008886A Cited
US5040179A Cited
US5274768A Cited
US5325375A Cited
US5313475A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-07-03 1999-01-02 1999-07-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-07-03 2003-01-02 2003-07-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-07-03 2007-01-02 2007-07-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag