Claims
- 1. A system for controlling a tape drive, comprising:
- a microprocessor;
- a random access memory including a buffer memory having global variables stored therein, said buffer memory having data stored therein organized into predetermined groups of identified lengths, each group comprising predetermined organizational grouping of data;
- host interface circuitry in communication with said buffer memory for transferring data between said buffer memory and a host and adapted for receiving commands from a host;
- tape drive interface circuitry adapted to transfer data between said buffer memory and a tape drive;
- error correction circuitry operative to generate parity information for data to be written to tape, and to provide error correction for data read from tape;
- a host interface control program executable by said microprocessor for controlling said host interface circuitry, said host interface control program configured to suspend execution thereof at predetermined suspend points and to continue execution at return points associated with said suspend points of said host interface control program;
- an error correction control program executable by said microprocessor for controlling said error correction circuitry, said error correction program configured to suspend execution thereof at predetermined points and to continue execution at return points associated with said suspend points of said error correction control program;
- a tape drive interface control program executable by said microprocessor for controlling said tape drive interface circuitry, said tape drive interface control program configured to suspend execution thereof at predetermined suspend points and to continue execution at return points associated with said suspend points of said tape drive interface control program;
- a sequencing program executable by said microprocessor for scheduling the execution of said host interface, error correction and tape drive interface control programs, wherein execution of the next control program in sequence continues when a currently executing control program suspends; and
- interrupt routines executed by said microprocessor pursuant to interrupt requests from said host interface circuitry, said error correction circuitry, and said tape drive interface control circuitry for accompanying tasks that have high priority;
- wherein said global variables include information indicative of which program is processing a particular group.
- 2. The system of claim 1 wherein said interrupt routines include routines for providing direct memory access (DMA) transfer of data between the host computer and the buffer memory, and DMA transfer of data between the buffer memory and the tape drive.
- 3. A buffered controller for controlling the transfer of data between a tape drive and a host, comprising:
- a microprocessor;
- a random access memory in communication with said microprocessor and including a buffer memory having global variables stored therein, said buffer memory having data stored therein organized into predetermined groups of identified length, each group comprising predetermined organizational grouping of data;
- host interface means in communication with said buffer memory for transferring computer data between said buffer memory and a host and adapted for receiving commands from a host;
- error correction means for generating parity information for data stored in said buffer memory and to be written to tape, and for providing error correction for data read from tape and stored in said buffer memory for transfer to a host;
- tape drive interface means for transferring data between said buffer memory and a tape drive;
- a host interface control program executable by said microprocessor for controlling said host interface means, said host interface control program configured to suspend execution thereof at predetermined suspend points and to continue execution at return points associated with said suspend points of said host interface control program;
- an error correction control program executable by said microprocessor for controlling said error correction means, said error correction control program configured to suspend execution thereof at predetermined suspend points and to continue execution at return points associated with said suspend points of said error correction control program;
- a tape drive interface control program executable by said microprocessor for controlling said tape drive interface control means, said tape drive interface control program configured to suspend execution thereof at predetermined suspend points and to continue execution at return points associated with said suspend points of said tape drive interface control program;
- a sequencing program executable by said microprocessor for scheduling the sequential execution of all of said control programs, whereby execution of the next control program in sequence continues when an executing control program suspends; and
- interrupt routines executed by said microprocessor pursuant to interrupt requests from said host interface means, said error correction means, and said tape interface means for accomplishing tasks that have high priority;
- wherein said global variables include information indicative of which program is processing a particular group.
- 4. The buffered controller of claim 3, wherein said interrupt routines provide direct memory access (DMA) transfer of data between the host computer and the buffer memory, and DMA transfer of data between the buffer memory and the tape drive.
- 5. A buffered computer data storage tape controller for use with a host computer having a host microprocessor, a host random access memory, and an interface for a peripheral storage device for transferring data between a buffer area in the host memory and a peripheral storage device, the controller comprising:
- error correction means for generating parity information for computer data stored in the buffer area and to be written to tape, and for providing error correction for computer data storage read from tape and stored in the buffer area;
- tape drive interface means for transferring computer data between the buffer area and a tape drive;
- said host random access memory having global variables stored therein and including information for coordinating the concurrent operation of said control programs;
- a host control program executable by the host computer microprocessor for controlling the transfer of data between the peripheral interface and buffer memory area in the host memory, said host control program configured to suspend execution thereof at predetermined suspend points and to continue execution at return points associated with said suspend points;
- an error correction control program executable by the host computer microprocessor for controlling said error correction means, said error correction control program configured to suspend execution thereof at predetermined suspend points and to continue execution at return points associated with said suspend points;
- a tape drive interface control program executable by the host computer microprocessor for controlling said tape drive interface means, said tape drive interface control program configured to suspend execution thereof at predetermined suspend points and to continue execution at return points associated with said suspend points;
- a sequencing program executable by the host computer microprocessor for scheduling the sequential execution of said control programs, whereby execution of the next control program in sequence continues when an executing control program suspends; and
- interrupt routines executed pursuant to interrupts from said error correction means and said tape interface means for accomplishing tasks that have high priority;
- wherein the data stored in the buffer area is organized into predetermined identical groups, each group comprising a predetermined organizational grouping of data, and wherein said global variables include information indicative of which control program is controlling the processing of a particular group.
- 6. The buffered computer data storage controller of claim 5, wherein said interrupt routines include routines for providing direct memory access (DMA) transfer of data between the buffer memory and the tape drive.
Parent Case Info
This application is a continuation of U.S. Pat. No. 07,560,608, filed Jul. 31, 1990, now abandoned.
US Referenced Citations (10)
Continuations (1)
|
Number |
Date |
Country |
Parent |
560608 |
Jul 1990 |
|