Error detection for parallel data transfer between a processor and a peripheral device by comparing regisgers storing a sum of values in bytes of data transferred
First Claim
1. A computer system for transferring of data bytes in a number of data transfer modes and providing error detection during transfer of data bytes over parallel data lines, comprising:
- parallel data lines;
a processing unit including;
a parallel interface port connected to the parallel data lines;
a first checkvalue register connected to receive the value of data bytes transferred from the parallel interface port to the parallel data lines, the first checkvalue register being initialized to store a predetermined value prior to transfer of data bytes from the processing unit over the parallel data lines and increased by a value of each data byte transferred from the processing unit after initialization;
comparison means for comparing values stored in the first checkvalue register and a second checkvalue register after a predetermined number of data bytes have been transferred from the processing unit to a memory, the comparison means indicating when a match occurred, or when a match did not occur;
an interface circuit including;
said memory for storing a predetermined number of data bytes, the memory being connected to the parallel data lines;
said second checkvalue register connected to the parallel data lines to receive data bytes transferred to the memory, the second checkvalue register being initialized to store a predetermined value prior to receipt of data bytes by the memory and increased by a value of each data byte received by the memory after initialization;
a control status register storing a data transfer mode indication for controlling of a data transfer mode, the control status register being coupled to the processing unit;
a peripheral device including a peripheral controller connected to the memory; and
wherein the processing unit causes a transfer of the predetermined number of data bytes from the memory to the peripheral controller when the comparison means indicates a match occurred, retransfers the predetermined number of data bytes from the processing unit to the memory when the comparison means indicates a match did not occur, and causes the control status register to change the data transfer mode indication when the comparison means indicates a match did not occur after the predetermined number of data bytes are retransferred a predetermined number of times.
13 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for performing error detection on data transfer through a parallel interface port at a substantially increased data transfer rate with a minimum of handshaking. Blocks of data are transferred between a sending device and a receiving device, and each of the respective devices maintains a checksum. Each checksum comprises an initial value, and added to that value is the value of each data byte transferred through the parallel port interface. After a block of data bytes has been transferred, the checksum maintained by the sending device and the receiving device are compared. If the checksums are equal, no error is assumed to have occurred during the data transfer. If the checksums are not equal, an error is assumed to have occurred during the data transfer, and the data is retransferred with the previously transferred block discarded.
19 Citations
6 Claims
-
1. A computer system for transferring of data bytes in a number of data transfer modes and providing error detection during transfer of data bytes over parallel data lines, comprising:
-
parallel data lines; a processing unit including; a parallel interface port connected to the parallel data lines; a first checkvalue register connected to receive the value of data bytes transferred from the parallel interface port to the parallel data lines, the first checkvalue register being initialized to store a predetermined value prior to transfer of data bytes from the processing unit over the parallel data lines and increased by a value of each data byte transferred from the processing unit after initialization; comparison means for comparing values stored in the first checkvalue register and a second checkvalue register after a predetermined number of data bytes have been transferred from the processing unit to a memory, the comparison means indicating when a match occurred, or when a match did not occur; an interface circuit including; said memory for storing a predetermined number of data bytes, the memory being connected to the parallel data lines; said second checkvalue register connected to the parallel data lines to receive data bytes transferred to the memory, the second checkvalue register being initialized to store a predetermined value prior to receipt of data bytes by the memory and increased by a value of each data byte received by the memory after initialization; a control status register storing a data transfer mode indication for controlling of a data transfer mode, the control status register being coupled to the processing unit; a peripheral device including a peripheral controller connected to the memory; and wherein the processing unit causes a transfer of the predetermined number of data bytes from the memory to the peripheral controller when the comparison means indicates a match occurred, retransfers the predetermined number of data bytes from the processing unit to the memory when the comparison means indicates a match did not occur, and causes the control status register to change the data transfer mode indication when the comparison means indicates a match did not occur after the predetermined number of data bytes are retransferred a predetermined number of times. - View Dependent Claims (3)
-
-
4. A method for determining if an error has occurred during the transfer of data bytes over parallel data lines in a computer system which includes a processor connected to the data lines, the processor including a first checkvalue register, the computer system further including an interface unit including a temporary memory and a second checkvalue register each connected to the parallel data lines, and a peripheral device including a peripheral controller connected to the parallel data lines, the method comprising the steps of:
-
initializing the first checkvalue register to a predetermined value; initializing the second checkvalue register to the predetermined value; transferring data bytes from the processor to the memory; increasing the first checkvalue register by the value of each data byte transferred from the processor; increasing the second checkvalue register by the value of each data byte transferred to the memory; comparing the first and second checkvalue registers after a predetermined number of data bytes have been transferred from the processor to the memory to determine if a match has occurred; transferring the predetermined number of data bytes from the temporary memory to the peripheral controller if it is determined that a match occurred; retransferring the predetermined number of data bytes from the processor to the memory if it is determined that a match did not occur; and changing a mode of data transfer when a match does not occur after the predetermined number of data bytes are retransferred a predetermined number of times. - View Dependent Claims (2, 5, 6)
-
Specification