Buffer error retry
AssigneeAmdahl Corporation
InventorsMichael D. Taylor, Shen H. Wang
Life of this patent
Estimating the term…
Abstract
A data processing machine including an instruction and operand processing complex. The instruction and operand processing complex generates results during execution of some instructions. When results are generated, a request to store the results in a high speed cache is generated. The cache receiving the request to store the results includes means for detecting errors in a line in the storage means to which the results are to be stored prior to writing the results to the line. If the line includes an error, a means for correcting the error reads to the line from the cache, corrects the error and restores the line. When the line is restored, the results are written to the cache and a correct ECC code is generated.
Claims13
A data processing apparatus having an instruction and operand processing complex that generates resulting data words and associated addresses in response to an instruction, and that generates requests for storage of the resulting data words at locations identified by the addresses, comprising:
- data storage means for storing lines of data at locations identified by addresses, the lines of data each including a plurality of data words;
- error detecting means, connected to receive the requests for storage of resulting data words and coupled to the data storage means, for detecting errors in a line of data to which the resulting data word is to be stored;
- error correcting means, coupled to the error detecting means and the data storage means, for correcting detected errors in the line of data in the data storage means to which the resulting data word is to be stored;
- port means, connected to receive the resulting data words from the instruction and operand processing complex and coupled to the data storage means, for staging the resulting data word for transfer to the data storage means;
- and
- control means, coupled to the port means and the error detecting means, for controlling transfer of the resulting data word to the data storage means so that the resulting data word is transferred when there are no detected errors, or after detected errors are corrected, in the line of data to which the resulting data word is to be stored.
A data processing apparatus comprising:
- processing means for processing a sequence of instructions to generate resulting data words including
- means, connected to receive the sequence of instructions, for decoding an instruction in the sequence to generate control signals, the control signals including a request for storage of a resulting data word to a data location with an address identifying the data location, and other requests for access to a data location with corresponding addresses;
- and
- storage means for storing lines of data at data locations identified by addresses, the lines of data each including a plurality of data words;
- storage port means, connected to receive resulting data word from the processing means and having at least one register for holding the address and resulting data word from the execution of an instruction, for generating a request for access to a data location identified by the address in the at least one register to store the resulting data word;
- access control means, connected to receive a plurality of requests for access to a data location, including the requests for storage of resulting data words and corresponding addresses from the storage port means and from the decoding means, for processing a sequence of requests for access to the storage means including
- means for allocating the at least one register to a requesting instruction in the storage port means in response to a request from the decoding means to store a resulting data word;
- error detecting means, connected to receive the requests for storage of resulting data words from the decoding means and coupled to the storage means, for detecting errors in the line of data identified by the address in a request for storage of a resulting data word;
- error correcting means, coupled to the error detecting means and the data storage means, for correcting detected errors in the line of data at the location in the storage means identified by the address in the request for storage of a resulting data word;
- and
- control means, coupled to the storage port means and the error detecting means, for controlling transfer of the resulting data word to the storage means so that the resulting data is transferred when there are no detected errors, or after detected errors are corrected, in the line of data at the data location identified by the address.
In a data processing system including a main store storing lines of data and an instruction and operand processing complex that generates resulting data words and associated addresses in response to an instruction and transfers the resulting data for storage at locations identified by the addresses in a storage unit, the storage unit storing copies of lines of data, each line including a plurality of data words, for access by the instruction and operand processing complex and having means for detecting errors and correcting correctable errors in the copies, a method for generating an error correction code for a line of data in the storage unit to which resulting data word is transferred comprising the steps of:
- determining whether the copy of the line of data at the location identified by the address associated with resulting data word contains an error;
- if an error is contained in the copy of the line, then initiating a move in transfer of a new copy of the line from the main store to the location identified by the address associated with resulting data word;
- in preparation for the move in transfer, moving the copy of the line that contains the error out of its location in the storage unit and correcting the copy if the error is correctable to generate a corrected copy;
- selecting the corrected copy for transfer back to its location in the storage unit to complete the move in transfer;
- and
- generating an error correction code in response to the resulting data word, and to the corrected copy, if an error was detected, or the original copy of no error was detected.
Dependencies are inferred from the claim text.