Checksum calculation unit and method for error detection on data packets
First Claim
1. A data communication system interactive so as to facilitate a flow of data between at least a main memory and network memory, said data communication system comprising:
- an adder unit having at least one partial adder for calculating checksum values and inputs,a checksum calculating means comprises an n-bit data byte delivery means to deliver a series of n-bit data bytes (which is called "checksum calculation results"), derived from input data, to the inputs of said adder unit, and a first direct memory accessing address generator connected to the main memory and a second direct memory accessing address generator connected to the network memory to move data in a form of data packets, each data packet having a first plurality of bytes which specify protocol information, a second plurality of bytes which specify checksum information and a third plurality of bytes which specify a block of data, to flow in one of either of two directions;
from the network memory to main memory and simultaneously to checksum calculating means, oralternatively, from main memory to network memory and simultaneously to said checksum calculating means; and
means of calculating values from the checksum calculation results and placing these values into the data packets.
0 Assignments
0 Petitions
Accused Products
Abstract
A high performance transport layer checksum calculation unit and method is described for use in computer data communications systems which provides simultaneous general purpose data movement and checksum calculations. Data must be copied from the main memory of a computer in order to be transmitted and often a checksum must be calculated on the data for error detection purposes. The invention involves performing both of these tasks simultaneously thus requiring only one scan of the data memory. The checksum calculation method improves throughput capacity via a unique hardware architecture supporting delayed checksumming of packet segments. A net improvement for packets larger than a certain size is achieved via partial addition during DMA controlled memory access allowing improved average cycle time per data packet segment.
-
Citations
13 Claims
-
1. A data communication system interactive so as to facilitate a flow of data between at least a main memory and network memory, said data communication system comprising:
-
an adder unit having at least one partial adder for calculating checksum values and inputs, a checksum calculating means comprises an n-bit data byte delivery means to deliver a series of n-bit data bytes (which is called "checksum calculation results"), derived from input data, to the inputs of said adder unit, and a first direct memory accessing address generator connected to the main memory and a second direct memory accessing address generator connected to the network memory to move data in a form of data packets, each data packet having a first plurality of bytes which specify protocol information, a second plurality of bytes which specify checksum information and a third plurality of bytes which specify a block of data, to flow in one of either of two directions;
from the network memory to main memory and simultaneously to checksum calculating means, oralternatively, from main memory to network memory and simultaneously to said checksum calculating means; and means of calculating values from the checksum calculation results and placing these values into the data packets. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A data communication system comprising:
-
a checksum calculation circuit, having partial arithmetic summing circuitry, which complies with a protocol checksum algorithm; means for applying n-bit data bytes to partial arithmetic summing circuitry; means for outputting checksum calculation results from the arithmetic summing circuitry; and means for calculating values from the checksum calculation results and placing these values into data packets, each data packet having a first plurality of bytes which specify protocol information, a second plurality of bytes which specify checksum information and a third plurality of bytes which specify a block of data, which will be transmitted with said n-bit data bytes so that when the checksum calculation results are calculated again during reception by an identical data communication system which is linked by said data communication system to receive said data packets, a sum, and a sum of sums results will indicate whether there is an error. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A data communication system of a type having a checksum calculation circuit, operable pursuant to a protocol for calculating sum and sum-of-sum values, comprising:
-
sum and sum-of-sum outputs; first, second, and third n-bit partial adder units, each of said partial adder units having a 3 n-bit sets of added inputs (A), (B), and (C), a set of n-bit partial sum outputs (PS), and a set of n-bit partial carry outputs (PC); means for applying an n-bit data byte to said inputs (A) of said first partial adder unit;
means for applying left shifted (PC) outputs of said first partial adder unit to said (C) inputs thereof and to said (B) inputs of said second partial adder unit;said (PS) outputs of said first partial adder being applied to said (B) inputs thereof and to said sum output and to said (A) inputs of said third partial adder; means for applying left shifted (PC) outputs of said second partial adder unit to said (C) inputs thereof; said (PS) outputs of said second partial adder unit being applied to said (C) inputs of said third partial adder unit; means for applying left shifted (PC) outputs of said third partial adder unit to said (A) inputs of said second partial adder unit; and said (PS) outputs of said third partial adder unit being applied to said (B) inputs thereof and to said sum-of-sums output.
-
Specification