Data block check sequence generation and validation in a file cache system
First Claim
1. A system for detecting errors occurring during storage and retrieval of file information of a file between a processor and a mass storage device, having a unit of data transfer between the processor and the mass storage device of a block of file information of a predetermined number of 32-bit words, each word containing two 16-bit half-words, the storage of file information being requested by a write requester, and the retrieval of file information being requested by a read requester, identification information of the file being specified by a plurality of 16-bit half-words, comprising:
- generation means coupled to the mass storage device for generating a key representing a selected block of a file, wherein said key is generated from said selected block of said file, the identification information of said file, and identification information of said selected block supplied by the write requester, and for storing said key and said selected block of said file in the mass storage device; and
validation means coupled to the mass storage device, including retrieval means for retrieving said selected block of said file and said key from the mass storage device, generating means for generating a new key representing said selected block of said file, wherein said new key is generated from said selected block retrieved from the mass storage device, the identification information of said file, and said identification information of said selected block supplied by the read requester, said validation means for comparing said new key to said key retrieved from the mass storage device, and activating an error signal when said new key does not match said key.
8 Assignments
0 Petitions
Accused Products
Abstract
A system and method for detecting errors during the storage and retrieval of file information between a file cache system and a host computer system utilizes a block check sequence key as redundant data included in each block of file data transferred. The block check sequence key is generated by key generation logic and accompanies each block of file data stored in the file cache system by the host computer system. The block check sequence key is a compressed representation of the data within the selected block, as well as unique file and block identification information supplied by the requester of the write operation. When the block is retrieved from the file cache system, the system generates a new block check sequence key based on the data within the retrieved block and the unique file and block identification information supplied by the requester of the read operation. Validation logic ensures that if the retrieved key and the newly generated key does not match, an error signal is activated.
-
Citations
20 Claims
-
1. A system for detecting errors occurring during storage and retrieval of file information of a file between a processor and a mass storage device, having a unit of data transfer between the processor and the mass storage device of a block of file information of a predetermined number of 32-bit words, each word containing two 16-bit half-words, the storage of file information being requested by a write requester, and the retrieval of file information being requested by a read requester, identification information of the file being specified by a plurality of 16-bit half-words, comprising:
-
generation means coupled to the mass storage device for generating a key representing a selected block of a file, wherein said key is generated from said selected block of said file, the identification information of said file, and identification information of said selected block supplied by the write requester, and for storing said key and said selected block of said file in the mass storage device; and validation means coupled to the mass storage device, including retrieval means for retrieving said selected block of said file and said key from the mass storage device, generating means for generating a new key representing said selected block of said file, wherein said new key is generated from said selected block retrieved from the mass storage device, the identification information of said file, and said identification information of said selected block supplied by the read requester, said validation means for comparing said new key to said key retrieved from the mass storage device, and activating an error signal when said new key does not match said key. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An error detection system for detecting errors occurring during storage and retrieval of file information of a file between a mass storage device of a file cache system and a host computer system, each file containing multiple segments, each segment containing a predetermined number of blocks, each block containing a predetermined number of 32-bit data words, each word containing two 16-bit half-words, having a unit of data transfer between the file cache system and the host computer system of one block, the storage of file information being requested by a write requester, and the retrieval of file information being requested by a read requester, identification information of a file being specified by a plurality of 16-bit half-words, comprising:
-
block check sequence generation means coupled to the mass storage device for generating a block check sequence key representing a selected block of a selected segment of a selected file from said selected block, identification information of said selected block, identification information of said selected segment, and the identification information of said selected file supplied by the write requester, and for storing said block check sequence key and said selected block in the mass storage device; and block check sequence validation means coupled to the mass storage device, including retrieval means for retrieving said selected block and said block check sequence key from the mass storage device, generating means for generating a new block check sequence key representing said selected block, wherein said new block check sequence key is generated from said selected block retrieved from the mass storage device and said identification information of said selected block, said identification information of said selected segment, and the identification information of said selected file supplied by the read requester, said validation means for comparing said new block check sequence key to said block check sequence key retrieved from the mass storage device, and for activating an error signal when said new block check sequence key does not match said block check sequence key. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. An error detection system for detecting errors occurring during storage and retrieval of file information of a file between a mass storage device of a file cache system and a host computer system, each file containing multiple segments, each segment containing a predetermined number of blocks and being referenced by a file relative segment offset, each block containing a predetermined number of 32-bit data words, each 32-bit data word containing two 16-bit half-words, having a unit of data transfer between the file cache system and the host computer system of one block, the storage of file information being requested by a write requester, and the retrieval of file information being requested by a read requester, identification information of a file being specified by a plurality of 16-bit half-words, comprising:
-
block check sequence generation circuitry coupled to the mass storage device; block check sequence validation circuitry coupled to the mass storage device; an activity control buffer coupled to said block check sequence generation circuitry and said block check sequence validation circuitry to select said block to be stored in or retrieved from the mass storage device by specifying identification information of said selected block, identification information of said selected segment, and the identification information of said selected file, and to specify either a read or a write operation to be performed on said selected block; a write buffer coupled to the host computer system and said block check sequence generation circuitry to accept said selected block from the host computer system, to temporarily store said selected block, and to forward said selected block to said block check sequence generation circuitry; and a read buffer coupled to the host computer system and said block check sequence validation circuitry to accept said selected block from said block check sequence validation circuitry, to temporarily store said selected block, and to forward said selected block to the host computer system. - View Dependent Claims (15, 16, 17)
-
-
18. A method for detecting errors occurring during storage and retrieval of file information of a file between a mass storage device and a processor, having a unit of data transfer between the mass storage device and the processor of a block of file information of a predetermined number of file data words, the storage of file information being requested by a write requester, the retrieval of file information being requested by a read requester, comprising the steps of:
-
(a) generating upon request by the write requester a key representing a selected block of a file, wherein said key is generated from said selected block of said file, and identification information of said file and said selected block supplied by the write requester; (b) storing said key and said selected block of said file in the mass storage device; (c) retrieving upon request by the read requester said selected block of said file and said key from the mass storage device; (d) generating a new key representing said selected block, wherein said new key is generated from said selected block retrieved from the mass storage device, and identification information of said file and said selected block supplied by the read requester; (e) comparing said new key to said key retrieved from the mass storage device; and (f) activating an error signal when said new key does not match said key.
-
-
19. An error detecting method for detecting errors occurring during storage and retrieval of file information of a file between a mass storage device of a file cache system and a host computer system, each file containing multiple segments, each segment containing a predetermined number of blocks, each block containing a predetermined number of data words, having a unit of data transfer between the file cache system and the host computer system of one block, the storage of file information being requested by a write requester, and the retrieval of file information being requested by a read requester, comprising:
-
(a) generating upon request by a write requester a block check sequence key representing a selected block of a selected segment of a selected file, wherein said block check sequence key is generated from said selected block, and identification information of said selected block, said selected segment, and said selected file supplied by the write requester; (b) storing said block check sequence key and said selected block in the mass storage device; (c) retrieving upon request by a read requester said selected block and said block check sequence key from the mass storage device; (d) generating a new block check sequence key representing said selected block, wherein said new block check sequence key is generated from said selected block retrieved from the mass storage device, and identification information of said selected block, said selected segment, and said selected file supplied by the read requester; (e) comparing said new block check sequence key to said block check sequence key retrieved from the mass storage device; and (f) activating an error signal when said new block check sequence key does not match said block check sequence key. - View Dependent Claims (20)
-
Specification