Method and apparatus to protect data within a disk drive buffer
First Claim
1. A method of protecting a data block temporarily stored in a buffer memory within a data path between a host and a storage medium comprising the steps of:
- (a) communicating the data block to a first cross-check encoder and to the buffer memory;
(b) encoding the data block in said first cross-check encoder according to a cross-check code to generate a first cross-check redundancy for the data block;
(c) appending said first cross-check redundancy to the data block in the buffer memory;
(d) communicating the data block from the buffer to a second cross-check encoder;
(e) re-encoding the data block in said second cross-check encoder according to said cross-check code, said second cross-check encoder generating a second cross-check redundancy for the data block; and
(f) comparing said appended first cross-check redundancy to said second cross-check redundancy to determine whether the data block contains one or more errors,wherein the steps of encoding in said first cross-check encoder and re-encoding in said second cross-check encoder provide data integrity on both sides of the buffer memory within the data path.
6 Assignments
0 Petitions
Accused Products
Abstract
An architecture that utilizes the cross-check code associated with the error correction code in a data communications system as a data integrity code to protect data stored in a temporary storage buffer within a data channel. In a preferred embodiment, a cross-check encoder and comparison circuit is added to an interface circuit which receives data from a host processing system. Incoming host data is encoded to produce redundant information according to the same Reed-Solomon code implemented in the cross-check circuitry already provided in the data path to detect miscorrections by the error correction code. Cross-check redundancy generated by the interface cross-check encoder is appended to its associated data block in the block memory buffer. The integrity of the data blocks passing through the buffer is checked by utilizing the cross-check circuitry to regenerate the redundant cross-check bytes and then performing a comparison of the regenerated cross-check bytes with the cross-check bytes from the buffer. A similar process is repeated in the reverse path when the data blocks are recovered from a storage medium and delivered to the host through a path that includes the buffer.
-
Citations
28 Claims
-
1. A method of protecting a data block temporarily stored in a buffer memory within a data path between a host and a storage medium comprising the steps of:
-
(a) communicating the data block to a first cross-check encoder and to the buffer memory; (b) encoding the data block in said first cross-check encoder according to a cross-check code to generate a first cross-check redundancy for the data block; (c) appending said first cross-check redundancy to the data block in the buffer memory; (d) communicating the data block from the buffer to a second cross-check encoder; (e) re-encoding the data block in said second cross-check encoder according to said cross-check code, said second cross-check encoder generating a second cross-check redundancy for the data block; and (f) comparing said appended first cross-check redundancy to said second cross-check redundancy to determine whether the data block contains one or more errors, wherein the steps of encoding in said first cross-check encoder and re-encoding in said second cross-check encoder provide data integrity on both sides of the buffer memory within the data path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of utilizing a cross-check code to protect a data block temporarily stored in a block buffer memory within a data channel between a host system and a storage medium comprising the steps of:
-
(a) transmitting the data block to the buffer; (b) encoding the data block in a first cross-check encoder located in the data channel before the buffer in accordance with the cross-check code to generate a first cross-check redundancy for the data block; (c) appending said first cross-check redundancy to the data block in the buffer; (d) transmitting the data block together with appended first cross-check redundancy to a second cross-check encoder in the data channel; (e) encoding the data block in said second cross-check encoder in accordance with the cross-check code to generate a second cross-check redundancy for the data block; and (f) comparing said first cross-check redundancy with said second cross-check redundancy to determine whether the data block contains an errors, wherein the steps of encoding in said first cross-check encoder and encoding in said second cross-check encoder provide data integrity on both sides of the buffer memory within the data channel. - View Dependent Claims (10, 11, 12, 13)
-
-
14. Apparatus for protecting data blocks temporarily stored in a block buffer memory between a host system and a storage medium comprising:
-
a first cross-check encoder implementing a cross-check code, said first encoder receiving the data blocks to be protected from a host on a first data path and from the buffer on a second data path; a second cross-check encoder implementing said cross-check code, said second encoder receiving data blocks from the buffer on said first data path and from a communication channel on said second data path; a first comparison circuit connected to said first cross-check encoder and to the buffer; and a second comparison circuit connected to said second cross-check encoder and to the buffer, wherein the first cross-check encoder and the second cross-check encoder provide data integrity on both sides of the buffer memory. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. Apparatus for protecting data blocks in a block buffer memory in a bi-directional data path between a host system and a storage medium utilizing a cross-check code, the apparatus comprising:
-
a first cross-check encoder receiving data blocks from a host in a first data path direction and from the buffer in a second data path direction, said first cross-check encoder producing cross-check redundancy for each data block in accordance with the cross-check code; a second cross-check encoder receiving data blocks from the buffer in said first data path direction and from a data storage medium in said second direction, said second cross-check encoder generating cross-check redundancy for each data block in accordance with the same cross-check code; a first comparison circuit connected to said first cross-check encoder and to the buffer, said first comparison circuit comparing redundancy generated by said first and said second cross-check encoders in said second data path direction to detect errors in the data block in said second data path direction; and a second comparison circuit connected to said second cross-check encoder and to the buffer, said second comparison circuit comparing redundancy generated by said first and said second cross-check encoders to detect errors in the data block in said first data path direction, wherein the first cross-check encoder and the second cross-check encoder provide data integrity on both sides of the buffer memory within the bi-directional data path. - View Dependent Claims (25, 26, 27, 28)
-
Specification