Systems and methods for FDC error detection and prevention
DC CAFCFirst Claim
Patent Images
1. A method for detecting and preventing floppy diskette controller data transfer errors in computer systems having:
- a central processing unit (CPU);
a system interrupt timer;
a floppy diskette, the floppy diskette having at least one sector for receiving multiple data bytes;
a floppy diskette controller (FDC) for controlling the transfer of data to the floppy diskette;
means associated with the FDC for providing a data request (DREQ) signal and a data acknowledge (DACK) signal, the DREQ signal being provided when data transfer is requested and the DACK signal being provided when data transfer is permitted; and
means for counting data bytes transferred to the floppy diskette, said counting means providing a data transfer byte count,the method comprising the steps of;
determining if a requested computer system operation is a floppy diskette write operation;
reading the data transfer byte count provided by said counting means;
monitoring data byte transfers to the floppy diskette so as to determine when a last data byte is being transferred to a sector of the floppy diskette;
measuring time between the data request (DREQ) and data acknowledge (DACK) signals for said last data byte transfer to a sector of the floppy diskette; and
forcing an error condition if the measured time between said DREQ and DACK signals exceeds a specified value.
4 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A system and method which provides a complete software implementation of a device driver that is capable of detecting an undetectable data corruption problem without hardware redesign and/or internal modification to an existing FDC. The approach taken consists of software DMA shadowing and use of a software decoding network which allows the implementation of the invention to require a small amount of memory and only degrade the performance of the computer system a minimal amount when floppy diskette write operations occur.
48 Citations
7 Claims
-
1. A method for detecting and preventing floppy diskette controller data transfer errors in computer systems having:
-
a central processing unit (CPU); a system interrupt timer; a floppy diskette, the floppy diskette having at least one sector for receiving multiple data bytes; a floppy diskette controller (FDC) for controlling the transfer of data to the floppy diskette; means associated with the FDC for providing a data request (DREQ) signal and a data acknowledge (DACK) signal, the DREQ signal being provided when data transfer is requested and the DACK signal being provided when data transfer is permitted; and means for counting data bytes transferred to the floppy diskette, said counting means providing a data transfer byte count, the method comprising the steps of; determining if a requested computer system operation is a floppy diskette write operation; reading the data transfer byte count provided by said counting means; monitoring data byte transfers to the floppy diskette so as to determine when a last data byte is being transferred to a sector of the floppy diskette; measuring time between the data request (DREQ) and data acknowledge (DACK) signals for said last data byte transfer to a sector of the floppy diskette; and forcing an error condition if the measured time between said DREQ and DACK signals exceeds a specified value. - View Dependent Claims (3, 4, 5)
-
-
2. A method for detecting and preventing floppy diskette controller data transfer errors in computer systems having:
-
a central processing unit (CPU); a system interrupt timer; a floppy diskette, the floppy diskette having at least one sector for receiving multiple data bytes; a floppy diskette controller (FDC) for controlling the transfer of data to the floppy diskette; means associated with the FDC for providing a data request (DREQ) signal and a data acknowledge (DACK) signal, the DREQ signal being provided when data transfer is requested and the DACK signal being provided when data transfer is permitted; and means for counting data bytes transferred to the floppy diskette, said counting means providing a data transfer byte count, the method comprising the steps of; determining if a requested computer system operation is a floppy diskette write operation; hooking an interrupt vector and directing it to an interposer routine; reprogramming the system interrupt timer to interrupt faster than normal; installing and calling a software decoding network call vector; reading the data transfer byte count provided by said counting means; monitoring data byte transfers to the floppy diskette so as to determine when a last data byte is being transferred to a sector of the floppy diskette; measuring time between the data request (DREQ) and data acknowledge (DACK) signals for said last data byte transfer to a sector of the floppy diskette; forcing an error condition if the measured time between said DREQ and DACK signals exceeds a specified value; reprogramming the system interrupt timer to interrupt normally; and unhooking said interrupt vector. - View Dependent Claims (7)
-
-
6. A method for detecting and preventing floppy diskette controller data transfer errors as defined in claim further comprising the step of installing and calling a software decoding network call vector.
Specification