GB2276255A - Track buffer with embedded error data - Google Patents
Track buffer with embedded error data Download PDFInfo
- Publication number
- GB2276255A GB2276255A GB9403001A GB9403001A GB2276255A GB 2276255 A GB2276255 A GB 2276255A GB 9403001 A GB9403001 A GB 9403001A GB 9403001 A GB9403001 A GB 9403001A GB 2276255 A GB2276255 A GB 2276255A
- Authority
- GB
- United Kingdom
- Prior art keywords
- error
- record
- field
- data
- storage device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
A buffer stores a plurality of records read from a mass storage device. The buffer includes a record information field and an error flag field for each stored record. The record information field includes count, key and data fields, together with an optional error data field for storing error data indicating a characteristic of an error which occurred when the record was read from the mass storage device. The error data field is typically located adjacent to the field which caused the error. The error flag field stores information indicating whether an error occurred when the record was read from the mass storage device. The error flag field also indicates whether the error was a permanent error. When the host processor requests from the buffer a record which has an error associated with it, the host is informed that the error occurred and is provided with the error data and the record data. If the error was a permanent error, then a unit check is provided to the host for indicating that the record data is not valid. The invention allows the host processor to be aware that the data in the cache buffer contains corrected errors, and also means that host processor need not waste time trying to retrieve data that the cache has already failed to retrieve. <IMAGE>
Description
TRACK BUFFER WITH EMBEDDED ERROR DATA
BACKGROUND OF THE INVENTION
This invention relates to computer systems and, more particularly, to systems for managing data errors.
Data stored on a mass storage device may be corrupted due to physical damage of the storage media, by electromagnetic radiation, or by other factors.
Additionally, valid data stored on the mass storage device may be corrupted by the accessing mechanism due to hardware failure, etc. Some data errors may be corrected. For example, the error may be a transient one and may be cured by rereading the data from the storage media. Other data errors may be cured using various error correction algorithms. Once the error is corrected, the data may be provided to the user as if no error occurred, or else the fact that an error occurred may be reported to the user to alert the user that more serious problems may lie ahead.
Data errors which cannot be corrected are termed "permanent errors," and the user typically is notified of the permanent error without being provided with the corrupted data.
Many computer systems employ cache memories for buffering data from a mass storage device so that a host processor may obtain the stored data more rapidly than if the host processor obtained the data directly from the mass storage device. Ordinarily, only error-free data is stored in the cache memory. Thus, if an error (whether correctable or permanent) occurred when data to be stored in the cache memory was read from the mass storage device, then the host processor would be forced to access the data directly from the mass storage device, whereupon it would learn of the error. That means the host processor must spend a substantial amount of time attempting to access data that it will not get.
SUMMARY OF THE INVENTION
The present invention is directed to a computer system having data error information stored in a cache memory so that the host processor may learn of the error without having to access a mass storage device. In one embodiment of the present invention, a buffer stores a plurality of records read from a mass storage device. The buffer includes a record information field and an error flag field for each stored record. The record information field includes count, key (i.e., record access information) and record data fields, together with an optional error data field for storing error data indicating a characteristic of an error which occurred when the record was read from the mass storage device. The error data field is typically located adjacent to the field which is in error.
The error flag field stores information indicating whether an error occurred when the record was read from the mass storage device. More particularly, the error flag field includes a count error field for storing information indicating whether an error occurred when the count information was read from the mass storage device, a key error field for storing information indicating whether an error occurred when the record access information was read from the mass storage device, and a record data error field for storing information indicating whether an error occurred when the record data was read from the mass storage device.
The error flag field also indicates whether a count, key or data error was a permanent error.
When the host processor requests from the buffer a record which has an error associated with it, the host is informed that the error occurred and is provided with the error data and the record data. If the error was a permanent error, tharr,a unit check ie provided to the host for indicating that the record data is not valid.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a block diagram of a particular embodiment of a computer system according to the present invention;
Fig. 2 is a block diagram of a particular embodiment of the intermediate processor shown in Fig. 1;
Fig. 3 is a block diagram of a particular embodiment of the track buffer shown in Fig. 2;
Fig. 4 is a block diagram of a particular embodiment of the track data area shown in Fig. 3;
Fig. 5 is a block diagram of a particular embodiment of a track record shown in Fig. 4;
Fig. 6 is a diagram showing a particular embodiment of a record flag shown in Fig. 4;
Fig. 7 is a block diagram of a particular embodiment of a track record which has error data stored therein;
Fig. 8 is a block diagram of a particular embodiment of the main processor shown in Fig. 2;
Fig. 9 is a flow chart showing how error data is stored in the track buffer; and
Figs. 1OA-C are flow charts showing how host record requests are processed.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Fig. 1 is a block diagram of a particular embodiment of a computer system 10 according to the present invention. Computer system 10 includes a host processor 14, an intermediate processor 18, a mass storage control unit 26, and a mass storage device 34. Intermediate processor 18 stores data from mass storage device 34 for rapid access by host 14. Host processor 14 communicates with intermediate processor 18 through a host-processor co=unicaton path 22.
Intermediate processor 18 is coupled to mass storage ccrtrol unit 26 through a processor-control communication path 30, and mass storage control unit 26 is coupled to mass storage device 34 through a control-storage communication path 38.
Fig. 2 is a block diagram of a particular embodiment of intermediate processor 18. In this embodiment, intermediate processor 18 is constructed in accordance with the teachings of copending U.S. patent application Serial No.
entitled
Intermediate Processor Disposed Between a Host Channel and a
Storage Director, incorporated herein by reference. As shown in Fig. 2, intermediate processor 18 includes a control unit interface circuit 42 which receives data requests from host 14 through host-processor communication path 22; a front end circuit 46 which communicates with control unit interface 42 through a communication path 50 for processing the requests received by control unit interface 42; a main processor 54 which communicates with front end circuit 46 through a communication path 56 and which manages data stored in a track buffer 58; and a channel interface circuit 62 for communicating data between mass storage control unit 26 and main processor 54 through communication paths 30 and 66.
Fig. 3 is a block diagram showing the logical organization of track buffer 58. Track buffer 58 includes a page pointer area 70 for storing a plurality of pointers to pages which form the track buffer; a chain pointer area 74 for storing device chain pointers (for all tracks associated with the device), LRU pointers, sub-buffer chain pointers (which are used when there is more than one buffer describing the same track), etc; an operating system work area 78; and a track data area 82 for storing a track of data (comprising a plurality of records) from mass storage device 34.
Fig. 4 is a block diagram of a particular embodiment of track data area 82. Track data area 82 comprises a buffer modification flag 86; a Cylinder/Cylinder/Head/Head (CCHH) area 90 which identifies the track so that the task accessing the track may compare its internal CCHH to verify that it has the correct track; a record flag area 94 for storing status information about the plurality of records in the track; and a track record area 98 for storing the actual track data and control information.
Fig. 5 is a block diagram of a particular embodiment of a track record 100 that is stored in track record area 98. Track record 100 includes a home address field 104; a 2-byte error detection code (EDC) for home address field 104; an 8-byte count field 108 for indicating the length of the record in bytes; a 2-byte EDC 112 for count field 108; an optional key field 116 (up to 255 bytes) whose length is determined by count field 108 for providing access information for the record; a 2-byte EDC 120 for key field 116; a variable-length data field 124; and a 2-byte
EDC 125 for data field 124. Following EDC 125 are the count, key, and data fields (together with their EDC values) for the remaining records in the track.
Fig. 6 is a diagram of a particular embodiment of a record flag 130 from record flag area 94. There is one such record flag for each record stored in track record area 98. Bits [0:2) store information indicating whether the count, key or data field, respectively, have been modified.
Bits [4:6] store information indicating whether a permanent error occurred when the count, key or data fields, respectively, were read from the mass storage device. Bit [7) functions as an END-OF-TRACK flag for indicating that the corresponding record is the last record in the track.
Bits [8:10] store information indicating whether error data for the count, key and/or data fields, respectively, are present in the record. Finally, bits [12:14] indicate whether the error data for the count, key and/or data fields, respectively, are valid in the associated record and need to be presented to the host.
In this embodiment, the error data may comprise sense data bytes received as described in the IBM ESA/370
Principles of Operation manual, incorporated herein by reference, and the sense bytes are embedded within the track record. Generally, the sense bytes are stored adjacent to the field which caused the data error. For example, Fig. 7 shows a sense data byte field 140 between count field 108 and key field 116 for indicating an error occurred when count field 108 was read from mass storage. As used in this example (and in the claims), the term "count field" may mean the bytes comprising the count value itself, or the bytes comprising both the count value and its associated EDC. The same is true for the key and data fields. If key field 116 caused the error, then the sense bytes would be disposed between key field 116 and data field 124. If a data field caused the error, then the sense bytes would be disposed directly after data field 124.
When there is no count field 108 (because of a permanent error when reading the count field), then there will be no key or data fields. When there is a count field, there may or may not be key or data fields depending on whether errors occurred when reading those fields from mass storage device 34 and whether or not the errors were permanent. In general, if the field data cannot be read after ten retry attempts, then the appropriate permanent error flag is set. If the count field was successfully read, then the count field may be used to skip over the failing record and subsequent records may be read until a good portion of the track is found. If the count field was not successfully read, then either the remainder of the track may be ignored, selected portions of the track may be skipped, or a search made for a reliable indicator of the next record (such as a predetermined data sequence). The remaining good portions of the track then may be staged into track record area 98.
Fig. 8 is a block diagram of portions of main processor 54 relevant to the present invention. A request processing unit 150 is coupled to front end circuit 46 through communication path 56 and to track buffer 5 through a communication path 162. Request processing unit 150 includes an error flag checking unit 154 for determining whether an error occurred when the requested record was read from mass storage device 3w, and a sense data processing unit 158 for selectively communicating any sense data stored in the requested record to front end circuit 46. A record processing unit 166 is coupled to track buffer 58 through a communication path 170 and to channel interface 62 through communication path 66. Record processing unit 166 includes an error flag setting unit 174 for setting the appropriate error flag when an error is reported by mass storage control unit 26, and a sense data storing unit 178 for storing sense data received from mass storage control unit 26 in the appropriate location in the record.
Fig. 9 is a flow chart showing the operation of record processing unit 166. Record processing unit 166 requests mass storage control unit 26 to read a record field (count, key or data as determined by the position of the read head) from mass storage device 34 into track record area 98 of track buffer 58 in a step 200. It is then ascertained in a step 204 whether an error occurred when the requested record field was read from mass storage device 34.
If not, then the mass storage device 34 is positioned to read the next record field in a step 209. If an error occurred, it is then ascertained whether correction data is present (for those systems which provide such) in a step 210. If so, then the record field is corrected in a step 211, and processing continues in step 209. If no correction data is present, then record processing unit 166 asks mass storage control unit 26 to retry the read in a step 212. It is then ascertained in a step 216 whether another error occurred. If so, it is then ascertained in a step 220 whether the retry threshold (e.g., 10) has been exceeded.
If not, then the retries continue in step 212.
If it is ascertained in step 216 that the retry was successful, then it is ascertained in a step 22 whether the count field caused the original error. If so, then the count field sense bytes present and valid flags (Fig. 6) are set in a step 228, the sense data received from mass storage control unit 26 is stored adjacent to the count field in a step 230, and mass storage device 34 is positioned to read the key and data fields for the record in a step 232. It is then ascertained in a step 234 whether the end of the track has been reached. This typically will not be the case when the count and key fields are being processed, so processing continues in step 200.
If it is ascertained in step 224 that the error did not occur from reading the count field, it is then ascertained in a step 238 whether the error occurred as a result of reading the key field. If so, then the key field sense bytes present and valid flags are set in a step 242, the sense data is stored adjacent to the key field in a step 246, mass storage device 34 is positioned to read the data field for the record in a step 248, and processing continues in step 234. If the key field did not cause the error, then the data field sense bytes present and valid flags are set in a step 250, the sense data is stored adjacent to the data field in a step 254, mass storage device is positioned to read the count field of the next record in a step 256, and processing continues in step 234.
If it is ascertained in step 220 that the retry threshold has been exceeded, then a permanent error condition exists. Therefore, it is ascertained in a step 258 whether the error occurred as a result of reading the count field. If so, then the count field permanent error and sense bytes valid and present flags are set in a step 262, the sense data is stored adjacent to the count field in a step 266, mass storage device 34 is positioned to read the next record in a step 268, and processing continues in step 234. If the count field did not generate the error, it is then ascertained in a step 274 whether the key field caused the error. If so, the key field permanent error and sense bytes present and valid flags are set in a step 278, the sense data is stored adjacent to the key field in a step 282, mass storage device 34 is positioned to read the data for the record in a step 284, and processing continues in step 234. If the key field did not cause the error, then the data field permanent error and sense bytes present and valid flags are set in a step 286, the sense data is stored adjacent to the data field in a step 290, mass storage device 34 is positioned to read the next record in a step 292, and processing continues in step 234.
When it is ascertained in step 234 that the end of the track has been reached, then the END-OF-TRACK flag is set in a step 294, and the program exits.
Figures 1OA-C are flow charts showing the operation of request processing unit 150. Request processing unit 150 receives a host command record request in a step 300 and ascertains in a step 304 whether the count field is being processed. If not, it is then ascertained in a step 308 (Figure 10B) whether a key field is being processed. If not, it is then ascertained in a step 312 (Figure 10C) whether a data field is being processed. If not, then the command is terminated in a step 316.
Typically one or more of steps 304, 308 or 312 provide an affirmative response. Thus, if it is ascertained in step 304 that the count field is being processed, it is then ascertained in a step 320 whether the command is a format write command. If so, then the sense bytes valid, sense bytes present and permanent error flags for all fields are reset in a step 324. The count field is then transferred in a step 328, and processing continues in step 308.
If the command was not a format write command, then the count field is transferred in a step 332, and it is then ascertained in a step 336 whether the count field sense bytes present flag is set. If not, then processing continues in step 308. If the count field sense bytes present flag is set, it is then ascertained in a step 340 whether the count field sense bytes valid flag is set. If not, then the 32 bytes are skipped in a step 4o, and processing continues to step 308. If the count field sense bytes valid flag is set, then the error status and sense bytes are sent to the host in a step 348. It is then ascertained in a step 352 whether the count field permanent error flag is set. If so, then the error is reported in a step 356, and the command is terminated. If the count field permanent error flag is not set, then the count field sense bytes valid flag is reset in a step 360, the error is reported in step 356, and the command terminates.
If it is ascertained in step 308 that a key field is being processed, it is then ascertained in a step 364 whether the command is one to write the key field. If so, then the key field sense bytes valid and key field permanent error flags are reset in a step 368, and the key field is transferred in a step 372. It is then ascertained in a step 376 whether the key field sense bytes present flag is set.
If not, then processing continues in step 312. If the key field sense bytes present flag is set, then the 32 sense bytes are skipped in a step 380, and processing continues in step 312.
If it is ascertained in step 364 that the command does not write the key field, it is then ascertained in a step 384 whether the key field is being transferred to the host. If not, then the key field is skipped in a step 388.
It is then ascertained in a step 392 whether the key field sense bytes present flag is set. If not, then processing continues in step 312. If the key field sense bytes present flag is set, then the 32 sense bytes are skipped in a step 396, and processing continues in step 312.
If it is ascertained in step 384 that the key field is being transferred to the host, then the key field is transferred in a step 400. It is then ascertained in a step 404 whether the key field sense bytes present flag is set. If not, then processing continues in step 312. If the key field sense bytes present flag is set, it is then ascertained in a step 408 whether the key field sense bytes valid flag is set. If not, then the 32 sense bytes sre skipped in a step 412, and processing continues in step 312.
If the key field sense bytes valid flag is set, then the error status and sense bytes are sent to the host in a step 416. It is then ascertained in a step 420 whether the key field permanent error flag is set. If so, then the error is reported in a step 424, and the command terminates. If the key field permanent error flag is not set, then the key field sense bytes valid flag is reset in a step 428, the error is reported in step 424, and the command terminates.
If it is ascertained in step 312 that the data field is being processed, then it is ascertained in a step 432 whether the command is writing the data field. If so, then the data field sense bytes valid and data field permanent error flags are reset in a step 436, and the data field is transferred in a step 440. It is then ascertained in a step 444 whether the data field sense bytes present flag is set. If not, then the command is terminated in step 316. If the data field sense bytes present flag is set, then the 32 sense bytes are skipped in a step 448, and processing terminates in step 316.
If it is ascertained in step 432 that the command does not write the data field, it is then ascertained in a step 452 whether the data field is being transferred to the host. If not, then the data field is skipped in a step 456.
It is then ascertained in a step 460 whether the data field sense bytes present flag is set. If not, then the command terminates in step 316. If the data field sense bytes present flag is set, then the 32 sense bytes are skipped in step 464, and the command terminates in step 316.
If it is ascertained in step 452 that the data field is being transferred to the host, then the data field is transferred in a step 468. It is then ascertained in a step 472 whether the data field sense bytes present flag is set. If not, then the command terminates in step 316. If the data field sense bytes valid flag is set, it is then ascertained in a step 476 whether the data field sense bytes valid flag is set. If not, then the 32 sense bytes are skipped in step 480, dnd the command terminates in step 316. If the data field sense bytes valid flag is set, then the error status and sense bytes are sent to the host in a step 484. It is then ascertained in a step 488 whether the data field permanent error flag is set. If so, then the error is reported to the host in a step 492, and the command terminates. If the data field permanent error flag is not set, then the data field sense bytes valid flag is reset in a step 496, the error is reported to the host in step 492, and the command terminates.
While the above is a complete description of a preferred embodiment of the present invention, various modifications may be employed. Consequently, the scope of the invention should not be limited except as described in the claims.
Claims (29)
1. A buffer for storing a plurality of records read from a mass storage device, the buffer comprising, for each record read from the mass storage device:
an error flag field for storing information indicating whether an error occurred when the record was read from the mass storage device; and
a record information field for storing record information for the record read from the mass storage device, the record information field including an error data field for storing error data indicating a characteristic of an error which occurred when the record was read from the mass storage device.
2. The buffer according to claim 1 wherein the error data field exists in a record only when an error occurred when the record was read from the mass storage device.
3. The buffer according to claim 1 wherein each record information field further comprises:
a key field for storing access information for the record read from the mass storage device;
a record data field for storing record data read from the mass storage device; and
a count field for storing count information read from the mass storage device, the count information indicating a length of the record data field read from the mass storage device.
4. The buffer according to claim 3 wherein each error flag field comprises:
a count error field for storing information indicating whether the error occurred when the count information was read from the mass storage device;
a key error field for storing information indicating whether the error occurred when the access information was read from the mass storage device; and
a record data error field for storing information indicating whether the error occurred when the record data was read from the mass storage device.
5. The buffer according to claim 4 wherein the error data field is disposed adjacent to the count field when the error occurred when the count information was read from the mass storage device.
6. The buffer according to claim 4 wherein the error data field is disposed adjacent to the key field when the error occurred when the access information was read from the mass storage device.
7. The buffer according to claim 4 wherein the error data field is disposed adjacent to the record data field when the error occurred when the record data was read from the mass storage device.
8. The buffer according to claim 4 wherein the key field is disposed between the count field and the record data field, wherein the error data field is disposed between the count field and the key field when the error occurred when the count information was read from the mass storage device, and wherein the error data field is disposed between the key field and the data field when the error occurred when the access information was read from the mass storage device.
9. An apparatus for accessing data from a mass storage device comprising:
record reading means for reading a record from the mass storage device;
error detecting means, coupled to the record reading means, for detecting when an error occurred when the record was read from the mass storage device;
a buffer for storing a plurality of records read from the mass storage device, the buffer comprising, for each record read from the mass storage device:
an error flag field for storing information
indicating whether an error occurred when the record
was read from the mass storage device;
a record information field for storing record
information for the record read from the mass storage
device, the record information field including an error
data field for storing error data indicating a
characteristic of an error which occurred when the
record was read from the mass storage device;
record information storing means, coupled to the record reading means and to the buffer, for storing record information read from the mass storage device in the record information field;
error flag setting means, coupled to the buffer and to the error detecting means, for storing information in the error flag field indicating an error occurred when the corresponding record was read from the mass storage device; and
error data storing means, coupled to the buffer and to the error detecting means, for storing error data in the error data field when an error occurred when the corresponding record was read from the mass storage device.
10. The apparatus according to claim 9 wherein the error data field exists in the record information field only when an error occurred when the corresponding record was read from the mass storage device.
11. The apparatus according to claim 9 wherein each record information field further comprises a record data field for storing record data read from the mass storage device.
12. The apparatus according to claim 11 further comprising:
request receiving means for receiving record requests from a data processing element; and
response means, coupled to the buffer and to the request receiving means, for communicating the record data corresponding to a requested record to the data processing element when the error flag indicates no error occurred when the requested record was read from the mass storage device.
13. The apparatus according to claim 12 wherein the response means includes means for communicating the error data corresponding to the requested record to the data processing element when the error flag field indicates an error occurred when the requested record was read from the mass storage device.
14. The apparatus according to claim 13 wherein the response means includes means for communicating the record data corresponding to the requested record to the data processing element when the error flag field indicates an error occurred when the requested record was read from the mass storage device.
15. The apparatus according to claim 12 wherein the buffer further comprises, for each record read from the mass storage device, an error data status field for storing information indicating whether the error data for the corresponding record has been communicated to the data processing element.
16. The apparatus according to claim 15 further comprising error data status storing means, coupled to the error data status field and to the response means, for storing information in the error data status field indicating the error data for the corresponding record has been communicated to the data processing element when the response means communicates the error data for the corresponding record to the data processing element.
17. The apparatus according to claim 11 wherein the record information field further comprises:
a count field for storing count information read from the mass storage device, the count information indicating a length of the record data field read from the mass storage device; and
a key field for storing access information for the record read from the mass storage device.
18. The apparatus according to claim 17 wherein each error flag field comprises:
a count error field for storing information indicating whether the error occurred when the count information was read from the mass storage device;
a key error field for storing information indicating whether the error occurred when the access information was read from the mass storage device; and
a record data error field for storing information indicating whether the error occurred when the record data was read from the mass storage device.
19. The buffer according to claim 18 wherein the error data field is disposed adjacent to the count field when the count error field indicates the error occurred when the count information was read from the mass storage device.
20. The buffer according to claim 18 wherein the error data field is disposed adjacent to the key field when the key error field indicates the error occurred when the access information was read from the mass storage device.
21. The buffer according to claim 18 wherein the error data field is disposed adjacent to the record data field when the record data error field indicates the error occurred when the record data was read from the mass storage device.
22. The buffer according to claim 18 wherein the key field is disposed between the count field and the record data field, wherein the error data field is disposed between the count field and the key field when the count error field indicates the error occurred when the count information was read from the mass storage device, and wherein the error data field is disposed between the key field and the data field when the key error field indicates the error occurred when the access information was read from the mass storage device.
23. A method for accessing data from a mass storage device comprising the steps of:
reading a record from the mass storage device;
storing information in an error flag field corresponding to the read record in a buffer, the error flag field indicating whether an error occurred when the record was read from the mass storage device;
storing error data in an error data field corresponding to the read record in the buffer when an error occurred when the record was read from the mass storage device, the error data field indicating a characteristic of the error which occurred when the record was read from the mass storage device;
storing record data in a record field corresponding to the read record in the buffer;
receiving a record request from a data processing element;
determining whether the error flag field corresponding to the requested record indicates an error occurred when the requested record was read from the mass storage device; and
communicating the stored record data corresponding to the requested record to the data processing element when the error flag field indicates no error occurred when the requested record was read from the mass storage device.
24. The method according to claim 23 further comprising the step of communicating the error data corresponding to the requested record to the data processing element when the error flag field indicates an error occurred when the requested record was read from the mass storage device.
25. The method according to claim 24 further comprising the step of communicating the record data corresponding to the requested record to the data processing element when the error flag field indicates an error occurred when the requested record was read from the mass storage device.
26. The method according to claim 23 further comprising the step of storing information in a error data status field in the buffer, the information indicating whether the error data for a corresponding record has been communicated to the data processing element.
27. The method according to claim 32 further comprising the step of storing information in the error flag field indicating whether an error which occurred when the record was read from the mass storage device was a permanent error.
28. Apparatus for accessing data from a mass storage device, the apparatus being substantially as herein described with reference to the accompanying drawings.
29. A method of accessing data from a mass storage device, the method being substantially as herein described with reference to the accompanying drawings.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US1868093A | 1993-02-17 | 1993-02-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
GB9403001D0 GB9403001D0 (en) | 1994-04-06 |
GB2276255A true GB2276255A (en) | 1994-09-21 |
Family
ID=21789230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB9403001A Withdrawn GB2276255A (en) | 1993-02-17 | 1994-02-17 | Track buffer with embedded error data |
Country Status (1)
Country | Link |
---|---|
GB (1) | GB2276255A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000070462A1 (en) * | 1999-04-30 | 2000-11-23 | Cewe Instrument Ab | Supervision arrangement in a computer |
WO2001045101A2 (en) * | 1999-12-17 | 2001-06-21 | Thomson Licensing S.A. | USAGE OF AN SDRAM AS STORAGE FOR CORRECTION AND TRACK BUFFERING IN FRONTEND ICs OF OPTICAL RECORDING OR REPRODUCTION DEVICES |
WO2004015717A2 (en) | 2002-08-12 | 2004-02-19 | Intel Corporation | Various methods and apparatuses to track failing memory locations to enable implementations for invalidating repeatedly failing memory locations |
GB2395578A (en) * | 2002-11-22 | 2004-05-26 | Ibm | Fault tracing in systems with virtualization layers |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2202976A (en) * | 1987-03-30 | 1988-10-05 | Ibm | Method of handling disk sector errors in cache |
-
1994
- 1994-02-17 GB GB9403001A patent/GB2276255A/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2202976A (en) * | 1987-03-30 | 1988-10-05 | Ibm | Method of handling disk sector errors in cache |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000070462A1 (en) * | 1999-04-30 | 2000-11-23 | Cewe Instrument Ab | Supervision arrangement in a computer |
WO2001045101A2 (en) * | 1999-12-17 | 2001-06-21 | Thomson Licensing S.A. | USAGE OF AN SDRAM AS STORAGE FOR CORRECTION AND TRACK BUFFERING IN FRONTEND ICs OF OPTICAL RECORDING OR REPRODUCTION DEVICES |
WO2001045101A3 (en) * | 1999-12-17 | 2001-11-08 | Thomson Brandt Gmbh | USAGE OF AN SDRAM AS STORAGE FOR CORRECTION AND TRACK BUFFERING IN FRONTEND ICs OF OPTICAL RECORDING OR REPRODUCTION DEVICES |
US7346830B2 (en) | 1999-12-17 | 2008-03-18 | Thomson Licensing | Usage of an SDRAM as storage for correction and track buffering in frontend ICs of optical recording or reproduction devices |
WO2004015717A2 (en) | 2002-08-12 | 2004-02-19 | Intel Corporation | Various methods and apparatuses to track failing memory locations to enable implementations for invalidating repeatedly failing memory locations |
WO2004015717A3 (en) * | 2002-08-12 | 2006-06-01 | Intel Corp | Various methods and apparatuses to track failing memory locations to enable implementations for invalidating repeatedly failing memory locations |
GB2395578A (en) * | 2002-11-22 | 2004-05-26 | Ibm | Fault tracing in systems with virtualization layers |
US7210071B2 (en) | 2002-11-22 | 2007-04-24 | International Business Machines Corporation | Fault tracing in systems with virtualization layers |
Also Published As
Publication number | Publication date |
---|---|
GB9403001D0 (en) | 1994-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4558446A (en) | Memory system | |
US6629198B2 (en) | Data storage system and method employing a write-ahead hash log | |
US4688221A (en) | Error recovery method and apparatus | |
US5255270A (en) | Method of assuring data write integrity on a data storage device | |
US5412612A (en) | Semiconductor storage apparatus | |
US5528755A (en) | Invalid data detection, recording and nullification | |
US6772383B1 (en) | Combined tag and data ECC for enhanced soft error recovery from cache tag errors | |
US4598357A (en) | Cache/disk subsystem with file number for recovery of cached data | |
US6651133B2 (en) | Method and data storage device for writing a minimum number of memory cells in a memory device | |
US7080200B2 (en) | System and method for handling writes in HDD using 4K block sizes | |
EP0114190B1 (en) | Data storage hierarchy | |
US6751757B2 (en) | Disk drive data protection using clusters containing error detection sectors | |
US3800294A (en) | System for improving the reliability of systems using dirty memories | |
US5513344A (en) | Method of testing cache memories used for an information processing apparatus | |
US20040123202A1 (en) | Mechanisms for detecting silent errors in streaming media devices | |
US5737344A (en) | Digital data storage with increased robustness against data loss | |
US20130268492A1 (en) | Method and System for Efficient Write Journal Entry Management for a Distributed File System | |
JPH0612895B2 (en) | Information processing system | |
US5590298A (en) | Method of restoring and updating records in a disk cache system during disk drive idle time using start and end addresses | |
US5719885A (en) | Storage reliability method and apparatus | |
US6279134B1 (en) | Storage device and storage subsystem for efficiently writing error correcting code | |
US6681299B1 (en) | Cache-tag control method in information processing apparatus having cache, with error checking mechanism in cache tag, and information processing apparatus using this control method | |
US6711659B2 (en) | Method and system for data path verification | |
GB2276255A (en) | Track buffer with embedded error data | |
US4704641A (en) | Recovery of stored data from mutilated tape data blocks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |