Method and apparatus for calculating the longitudinal redundancy check in a mixed stream channel
First Claim
1. A method for checking data integrity in a data communications system in which plural data streams can be intermixed comprising the steps of:
- (a) receiving a first incoming data stream,(b) determining a running longitudinal redundancy check for said received data stream as it is being received,(c) storing an intermediate value of said longitudinal redundancy check, if said stream is interrupted at other than a logical termination of said stream, in a context storage associated only with said stream,(d) recognizing a continuation of said interrupted data stream,(e) recalling said intermediate value from said context storage associated with said interrupted data stream,(f) continuing to determine said running longitudinal redundancy check for said received data stream using said recalled intermediate value, and(g) repeating steps (c), (d), (e), and (f) if said received data stream is interrupted prior to said logical termination of said stream.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention relates to a method and apparatus for checking data integrity in a data communications system in which plural data streams can be intermixed and wherein the data streams have a frame transmission format in which the frame is different than the logical block length of the data stream components. The integrity of the transmission process is checked without requiring system processor involvement, unless errors are detected. A first incoming data stream, composed of logical blocks, is received; and a running longitudinal redundancy check is calculated. If the data stream is interrupted at other than the end of a block, the intermediate value of the LRC is stored in a context storage associated only with that data stream. When the data stream continues, and this may occur after other data streams have been received, the intermediate value of the LRC is recalled from the context storage and the running longitudinal redundancy check calculation is continued. The storage and calculation steps continue each time the data stream is interrupted other than at a logical termination of a logical block for the data stream. The communications process is particularly applicable to mass storage subsystems in which the data streams are directed to and from the storage media.
35 Citations
14 Claims
-
1. A method for checking data integrity in a data communications system in which plural data streams can be intermixed comprising the steps of:
-
(a) receiving a first incoming data stream, (b) determining a running longitudinal redundancy check for said received data stream as it is being received, (c) storing an intermediate value of said longitudinal redundancy check, if said stream is interrupted at other than a logical termination of said stream, in a context storage associated only with said stream, (d) recognizing a continuation of said interrupted data stream, (e) recalling said intermediate value from said context storage associated with said interrupted data stream, (f) continuing to determine said running longitudinal redundancy check for said received data stream using said recalled intermediate value, and (g) repeating steps (c), (d), (e), and (f) if said received data stream is interrupted prior to said logical termination of said stream. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for checking data integrity in a fibre channel communications system in which plural data streams can be intermixed, each data stream having a sequence of data blocks and wherein communications of a complete data block is a logical termination of the data stream, said method comprising the steps of:
-
(a) receiving a first incoming data stream, (b) determining a running longitudinal redundancy check for said received data stream as it is being received, (c) storing an intermediate value of said longitudinal redundancy check, if said stream is interrupted at a frame boundary which is not a said logical termination of said stream, in a context storage associated only with said stream, (d) storing with said intermediate value in said context storage, the number of frame words remaining in said frame, the number of words per block, and the number of words remaining to fill the current block, (e) recognizing a continuation of said interrupted data stream, (f) recalling said intermediate value from said context storage associated with said interrupted data stream, (g) continuing to determine said running longitudinal redundancy check for said received data stream using said recalled intermediate redundancy value, and (h) repeating steps (c), (d), (e), (f), and (g), if said received data stream is interrupted prior to a said logical termination of said stream.
-
-
8. Apparatus for checking data integrity in a data communication system in which plural data streams can be intermixed comprising
a data receiver for receiving a first incoming data stream, a data processor for determining a running longitudinal redundancy check for said received data stream as it is being received, a context storage associated with each said data stream for storing an intermediate value of said longitudinal redundancy check each time said stream is interrupted at other than a logical termination of said stream, said data processor recognizing each continuation of said interrupted data stream, and recalling said intermediate value from said context storage associated with said interrupted data stream, and said data processor determining said running longitudinal redundancy check for said continued received data stream using the last recalled intermediate value.
-
14. Apparatus for checking data integrity in a fibre channel data communications system in which plural data streams can be intermixed, said channel operating according to a fibre channel protocol having a sequence of frames, and each frame consisting of a group of blocks, comprising
a data receiver for receiving a first incoming data stream, a data processor for determining a running longitudinal redundancy check for said received data stream as it is being received, said processor having an EXCLUSIVE-OR circuit for EXCLUSIVE-OR'"'"'ing successive groups of data from said data stream to generate said longitudinal redundancy check, a context storage associated only with said stream for storing an intermediate value of said longitudinal redundancy check each time said stream is interrupted prior to a logical termination of said stream, said storage storing with said intermediate value, the number of frame words remaining in said frame, the number of words per block, and the number of words remaining to fill a current block, said data processor recognizing each continuation of said interrupted data stream, and recalling said intermediate value from said context storage associated with said interrupted data stream, and said data processor determining said running longitudinal redundancy check for said continued received data stream using the last recalled intermediate value.
Specification