Patent US4612081A successfully refreshed from Google Patents.
Patent JPS60115488A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5452429A Expired / Lapsed US ⏱️ 0.0 years remaining

Error correction code on add-on cards for writing portions of data words

Assignee: International Business Machines Corp
•
Filing: 1993-11-17
•
Granted: 1995-09-19
•
Expires: 2013-11-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides a computer system and method of using the same. Add-on memory cards for the system are provided which cards have error correction code logic on the card, and logic to do partial writes of data words. The system has a central processing unit (CPU), a BUS interconnecting the CPU and the add-on memory cards. The CPU or associated components are configured to write data and read data from the add-on memory as several data bytes constituting data words. The system is further configured either within the CPU or as a separate function to generate parity bits associated with each of the bytes of data the CPU writes to the add-on memory and to read parity bits associated with data the CPU reads from the add-on memory and regenerate new parity bits and compare the newly generated parity bits with the original parity bits to detect data errors on data read from the add-on memory. The system itself does not contain error correction code (ECC). The add-on memory has ECC logic to identify any byte having a single bit error in the data bytes or the parity bits written by the CPU to the add-on memory and to correct all single bit errors in data read from the add-on memory to the CPU. The error correcting code includes logic to generate parity bits in the data bytes written by the CPU to the add-on memory and logic to compare the parity bits written by the CPU with those generated by the error correcting code logic.

Inventors

  • 👤 Daniel P. Fuoco
  • 👤 Christopher M. Herring
  • 👤 Mark W. Kellogg
  • 👤 Jorge E. Lenta

Bibliographic Details

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

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 420 words
A memory card adapted to interface with a computer system having an operating mode, and wherein said computer system has a write cycle, and said computer system and said card are configured to write and store data words at selected addresses on said memory card during said write cycle, wherein each data word has multiple bytes, and wherein said computer system is configured to write all of the bytes of any of said data words or write less than all of the bytes of any of said data words selectively to memory, and wherein said computer system is free of error correction code capabilities but capable of providing varying wait states during said write cycle, and wherein said computer system is configured to provide sufficient cycle time for card logic to perform read-modify-write operations to memory; said memory card comprising; logic to generate check bits from each data word written and logic to write each of said written data words and said check bits generated from each of said written data words to a selected memory location on said card; logic to detect when less than all of the bytes of any of said data words are to be rewritten to a given address and to initiate a read-modify-write cycle when less than all of the bytes of any of said data words are to be rewritten; logic to perform a read-modify-write operation wherein the bytes of a word at the given address are read from memory and multiplexed with newly written bytes by said system to form a new data word of multiplexed bytes, new check bits are generated from each new data word of said multiplexed bytes and the new data words of said multiplexed bytes and check bits that have been generated from said new data words of multiplexed bytes are written to memory, said logic to perform said read-modify-write operation including logic to generate a delay in the write cycle for a sufficient time to read from memory said data bytes at said given address, multiplex said data bytes read from memory with the newly written data bytes and write the multiplexed data bytes and the check bits generated from said new data word to memory; logic to read the bytes of each data word and check bits from any said selected location in memory; and error correction code logic to generate syndrome bits and correct all one bit errors in said bytes of said data word read from said selected locations during said operating mode.
Claim 2
Dependent Claim 420 words
A memory card adapted to interface with a computer system having an operating mode, and wherein said computer system has a write cycle, and said computer system and said card are configured to write and store data words at selected addresses on said memory card during said write cycle, wherein each data word has multiple bytes, and wherein said computer system is configured to write all of the bytes of any of said data words or write less than all of the bytes of any of said data words selectively to memory, and wherein said computer system is free of error correction code capabilities but capable of providing varying wait states during said write cycle, and wherein said computer system is configured to provide sufficient cycle time for card logic to perform read-modify-write operations to memory; said memory card comprising; logic to generate check bits from each data word written and logic to write each of said written data words and said check bits generated from each of said written data words to a selected memory location on said card; logic to detect when less than all of the bytes of any of said data words are to be rewritten to a given address and to initiate a read-modify-write cycle when less than all of the bytes of any of said data words are to be rewritten; logic to perform a read-modify-write operation wherein the bytes of a word at the given address are read from memory and multiplexed with newly written bytes by said system to form a new data word of multiplexed bytes, new check bits are generated from each new data word of said multiplexed bytes and the new data words of said multiplexed bytes and check bits that have been generated from said new data words of multiplexed bytes are written to memory, said logic to perform said read-modify-write operation including logic to generate a delay in the write cycle for a sufficient time to read from memory said data bytes at said given address, multiplex said data bytes read from memory with the newly written data bytes and write the multiplexed data bytes and the check bits generated from said new data word to memory; logic to read the bytes of each data word and check bits from any said selected location in memory; and error correction code logic to generate syndrome bits and correct all one bit errors in said bytes of said data word read from said selected locations during said operating mode.
Claim 3
Dependent Claim 27 words
The memory card as defined in claim 1 wherein said card includes means to identify said card to a computer system as having error correction code capabilities.
Claim 4
Dependent Claim 38 words
The memory card as defined in claim 2 wherein said means to identify said card includes circuit means on said card to provide a signal to the computer system responsive to a given configuration of the computer system.
Claim 5
Dependent Claim 28 words
The memory card as defined in claim 3 wherein said given configuration is supplied by a signal from the system and received by a contact on said card.
Claim 6
Dependent Claim 36 words
The memory card as defined in claim 1 further characterized by said card having means to prevent said card from being inserted into a system which does not provide sufficient cycle time for a read-modify-write operation.
Claim 7
Dependent Claim 26 words
The memory card as defined in claim 5 wherein said means to prevent the insertion includes notch means on said card configured to prevent said insertion.
Claim 8
Dependent Claim 396 words
A computer system comprising: a CPU; at least one memory card adapted to interface in the computer system; said computer system having a write cycle, and said computer system and said card being configured to write and store data words at selected addresses on said memory card during said write wherein each data word has multiple bytes, said computer system being configured to write all of the bytes of any of said data words or write less than all the bytes of any of said data words selectively to memory, said computer system being free of error correction code capabilities but capable of providing varying wait states during said write cycle, said computer system being configured to provide sufficient cycle time for card logic to perform read-modify-write operations to memory; said memory card including: logic to generate check bits from each data word written and logic to write each of said written data words and said check bits generated from each of said written data words to a selected memory location on said card; logic to detect when less than all of the bytes of any of said data words are to be rewritten to a given address and to initiate a read-modify-write cycle when less than all of the bytes of any of said data words are to be rewritten; logic to perform a read-modify-write operation wherein the bytes of a word at the given address are read from memory and multiplexed with newly written bytes by said system to form a new data word of multiplexed bytes, new check bits are generated from each new data word of said multiplexed bytes and the check bits that have been generated from said new data words of multiplexed bytes are written to memory; said logic to perform a read-modify-write operation including logic to generate a delay in the write cycle for a sufficient time to read from memory said data bytes at said given address, multiplex said data bytes read from memory with the newly written data bytes and write the multiplexed data bytes and new check bits to memory; logic to read the bytes of each data word and check bits from any said selected location in memory; and error correction code logic to generate syndrome bits and correct all one bit errors in said bytes of said data words read from said selected location.
Claim 9
Dependent Claim 396 words
A computer system comprising: a CPU; at least one memory card adapted to interface in the computer system; said computer system having a write cycle, and said computer system and said card being configured to write and store data words at selected addresses on said memory card during said write wherein each data word has multiple bytes, said computer system being configured to write all of the bytes of any of said data words or write less than all the bytes of any of said data words selectively to memory, said computer system being free of error correction code capabilities but capable of providing varying wait states during said write cycle, said computer system being configured to provide sufficient cycle time for card logic to perform read-modify-write operations to memory; said memory card including: logic to generate check bits from each data word written and logic to write each of said written data words and said check bits generated from each of said written data words to a selected memory location on said card; logic to detect when less than all of the bytes of any of said data words are to be rewritten to a given address and to initiate a read-modify-write cycle when less than all of the bytes of any of said data words are to be rewritten; logic to perform a read-modify-write operation wherein the bytes of a word at the given address are read from memory and multiplexed with newly written bytes by said system to form a new data word of multiplexed bytes, new check bits are generated from each new data word of said multiplexed bytes and the check bits that have been generated from said new data words of multiplexed bytes are written to memory; said logic to perform a read-modify-write operation including logic to generate a delay in the write cycle for a sufficient time to read from memory said data bytes at said given address, multiplex said data bytes read from memory with the newly written data bytes and write the multiplexed data bytes and new check bits to memory; logic to read the bytes of each data word and check bits from any said selected location in memory; and error correction code logic to generate syndrome bits and correct all one bit errors in said bytes of said data words read from said selected location.
Claim 10
Dependent Claim 27 words
The system and card as defined in claim 7 wherein said card includes means to identify said card to a system as having error correction code capabilities.
Claim 11
Dependent Claim 40 words
The system and card as defined in claim 8 wherein said means to identify said card includes circuit means on said card to provide a signal to the computer system responsive to a given condition of the computer system configuration.
Claim 12
Dependent Claim 29 words
The system and card as defined in claim 9 wherein said given condition is supplied by a signal from the system and received by a contact on said card.
Claim 13
Dependent Claim 37 words
The system and card as defined in claim 7 further characterized by said card having means to prevent said card from being inserted into a system which does not provide sufficient cycle time for a read-modify-write operation.
Claim 14
Dependent Claim 27 words
The system and card as defined in claim 11 wherein said means to prevent the insertion includes notch means on said card configured to prevent said insertion.
Claim 15
Dependent Claim 54 words
The system and card as defined in claim 7 wherein said system includes means to detect whether said system is entering a cycle wherein all the bytes of the data word are being rewritten or less than all of the bytes are being rewritten, and means to provide the required wait states for each.
Claim 16
Dependent Claim 412 words
In a computer system including a CPU having an operating cycle; at least one memory card adapted to interface in the computer system; said computer system having a write cycle and said computer system and said card being configured to write and store data words at selected addresses on said memory card during said write cycle, wherein each data word has multiple bytes, said computer system being configured to write all of the bytes of any of said data words or write less than all the bytes of any of said words selectively to memory, said computer system being free of error correction code capabilities but capable of providing varying wait states during said write cycle, said computer system being configured to provide sufficient cycle time for card logic to perform read-modify-write operations to memory; said memory card including: logic to generate check bits from each data word written and logic to write each of said written data words and said check bits generated from each of said written data words to a selected memory location on said card; a method of operating the computer system to perform a read-modify-write function comprising the steps of: first detecting when less than all of the bytes of a data word are to be rewritten to a given address and initiating a read-modify-write cycle; thereafter performing a read-modify-write function wherein the bytes of a data word at the given address are read from memory and multiplexed with newly written bytes from said system that are to be rewritten to generate a new data word of multiplexed bytes, generating check bits to form new data words of multiplexed bytes, and writing the new data word of multiplexed bytes and check bits generated by said new data words of multiplexed bytes to memory; after detecting when less than all of the data bytes are to be rewritten, generating a delay in the write cycle for a sufficient time to read said bytes of said data word at said given address from memory, multiplexing said read bytes of the data with the newly written data bytes and writing the new data word of the multiplexed data bytes and check bits generated from the new data word of multiplexed bytes to memory; thereafter reading the bytes of each data word and check bits from selected locations in memory; thereafter generating syndrome bits and correcting all one bit errors in said bytes of said data words read from selected locations.
Claim 17
Dependent Claim 412 words
In a computer system including a CPU having an operating cycle; at least one memory card adapted to interface in the computer system; said computer system having a write cycle and said computer system and said card being configured to write and store data words at selected addresses on said memory card during said write cycle, wherein each data word has multiple bytes, said computer system being configured to write all of the bytes of any of said data words or write less than all the bytes of any of said words selectively to memory, said computer system being free of error correction code capabilities but capable of providing varying wait states during said write cycle, said computer system being configured to provide sufficient cycle time for card logic to perform read-modify-write operations to memory; said memory card including: logic to generate check bits from each data word written and logic to write each of said written data words and said check bits generated from each of said written data words to a selected memory location on said card; a method of operating the computer system to perform a read-modify-write function comprising the steps of: first detecting when less than all of the bytes of a data word are to be rewritten to a given address and initiating a read-modify-write cycle; thereafter performing a read-modify-write function wherein the bytes of a data word at the given address are read from memory and multiplexed with newly written bytes from said system that are to be rewritten to generate a new data word of multiplexed bytes, generating check bits to form new data words of multiplexed bytes, and writing the new data word of multiplexed bytes and check bits generated by said new data words of multiplexed bytes to memory; after detecting when less than all of the data bytes are to be rewritten, generating a delay in the write cycle for a sufficient time to read said bytes of said data word at said given address from memory, multiplexing said read bytes of the data with the newly written data bytes and writing the new data word of the multiplexed data bytes and check bits generated from the new data word of multiplexed bytes to memory; thereafter reading the bytes of each data word and check bits from selected locations in memory; thereafter generating syndrome bits and correcting all one bit errors in said bytes of said data words read from selected locations.
Claim 18
Dependent Claim 55 words
The machine executed steps as defined in claim 14 including the steps of detecting whether said system is entering a cycle wherein all the bytes of the a word are being rewritten or less than all of the bytes of a data word are being rewritten, and providing the required wait states for each cycle.
Claim 19
Dependent Claim 22 words
The machine executed steps as defined in claim 14 including the step of detecting whether the card has error correction code capabilities.

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag