Single disk emulation interface for an array of asynchronously operating disk drives
First Claim
Patent Images
1. A high speed data storage device for a computer, comprising:
- (a) a plurality of disk drives;
(b) memory means, operatively connected to the computer by channel interface means for transferring data therebetween, for storing a logical track of data, said logical track comprising a plurality of sections corresponding to said plurality of disk drives for storing data of said disk drives, each section comprising a plurality of sectors, said memory means further including address control means for addressing said memory means;
(c) a plurality of disk drive controllers, each connected to a corresponding section of the memory means and to a corresponding one of the disk drives, for instructing the disk drives to complete desired operations, said disk drive controllers and said channel interface means providing input to said address control means for allocating locations in said memory means for data storage; and
(d) disk multiplexor means, connected to the disk drive controllers, for controlling transfers of data between the disk drives and the memory means, the disk multiplexor means comprising;
(1) means for receiving a command from the computer to request data transfer between the high speed data storage device and the computer, the command including a read/write head selection, a track position and a logical track sector position utilized to allocate locations in said memory means for data storage;
(2) means for transmitting the read/write head selection and the track position to the disk drive controllers to instruct the disk drives to select a read/write head and position the read/write head to the track position;
(3) means for selecting a disk drive and a sector position of the selected disk drive based on said logical track sector position; and
(4) means for transmitting the disk drive selection and sector position to the disk drive controllers for controlling transfer of data between the read/write head at said track position and sector position of the selected disk drive and the logical track of the memory means.
6 Assignments
0 Petitions
Accused Products
Abstract
A multiple disk drive array storage device emulates the operation of a single disk drive. The array storage device includes a large buffer memory and a plurality of asynchronously-operating disk drives. A full physical track of data from each of the disk drives within the array is stored within the buffer memory and concatenated to create a large logical track of data. The large buffer memory and asynchronously-operating disk drives results in a data transfer rate that is faster than the standard disk drive architecture.
-
Citations
8 Claims
-
1. A high speed data storage device for a computer, comprising:
-
(a) a plurality of disk drives; (b) memory means, operatively connected to the computer by channel interface means for transferring data therebetween, for storing a logical track of data, said logical track comprising a plurality of sections corresponding to said plurality of disk drives for storing data of said disk drives, each section comprising a plurality of sectors, said memory means further including address control means for addressing said memory means; (c) a plurality of disk drive controllers, each connected to a corresponding section of the memory means and to a corresponding one of the disk drives, for instructing the disk drives to complete desired operations, said disk drive controllers and said channel interface means providing input to said address control means for allocating locations in said memory means for data storage; and (d) disk multiplexor means, connected to the disk drive controllers, for controlling transfers of data between the disk drives and the memory means, the disk multiplexor means comprising; (1) means for receiving a command from the computer to request data transfer between the high speed data storage device and the computer, the command including a read/write head selection, a track position and a logical track sector position utilized to allocate locations in said memory means for data storage; (2) means for transmitting the read/write head selection and the track position to the disk drive controllers to instruct the disk drives to select a read/write head and position the read/write head to the track position; (3) means for selecting a disk drive and a sector position of the selected disk drive based on said logical track sector position; and (4) means for transmitting the disk drive selection and sector position to the disk drive controllers for controlling transfer of data between the read/write head at said track position and sector position of the selected disk drive and the logical track of the memory means. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A read-ahead method for a data storage device for a computer, the data storage device having a buffer for storing data from a plurality of disk drives, the buffer being divided into a plurality of successively numbered sections having sectors therein, the sections having a one-to-one correspondence with the disk drives so that each section stores data retrieved from one of the disk drives, each sector having a valid data flag that when set indicates that data can be read from the corresponding sector of the buffer by the computer and that when cleared indicates that data is to be read from one of the disk drives to be transferred to the corresponding sector of the buffer, the computer transmitting read requests to the data storage device, the read-ahead method comprising the steps of:
-
(a) comparing a current read request with a prior read request, wherein the current read request is comprised of a current read/write head selection and a current logical track sector position indicative of a current section location, and wherein the prior read request is comprised of a prior read/write head selection and a prior logical track sector position indicative of a prior section location; (b) clearing the valid data flats for all sectors in all sections when the current read/write head selection differs from the prior read/write head selection; (c) clearing the valid data flags for all sectors in sections numbered between the prior section location and the current section location, including the valid data flags for sectors in the section of the prior section location, when the current read/write head selection is the same as the prior read/write head selection and the current section location is a higher value than the prior section location; (d) clearing the valid data flags for all sectors in sections numbered between the prior section location and a highest section number, including the valid data flags for sectors in the sections of the prior section location and the highest section number, and clearing the valid data flags for all sectors in sections numbered between a lowest section number and the current section location including the valid data flags for sectors in the section of the lowest section number unless the lowest section number is equal to the current section location, when the current read/write head selection is the same as the prior read/write head selection and the current section location is a lower value than the prior section location; (e) clearing the valid data flags for all sectors in all sections when the current section location is equal to the prior section location only when the current read/write head selection differs from the previous read/write head selection; (f) reading data from sectors identified on the disk drives into the buffer from sectors numbered greater than or equal to a current sector location, when the sections to which the data is to be stored have sectors with cleared valid data flags, using a read/write head specified by the current read/write head selection, and then setting the valid data flags for the sectors of the sections to which the data is stored; and (g) reading data from sectors identified on the disk drives into the buffer from sectors numbered lower than the current sector location, when the sections to which the data is to be stored have sectors with cleared valid data flags, using a next read/write head specified by a next read/write head selection sequential to the current read/write head selection, and then setting the valid data flags for the sectors of the sections to which the data is stored.
-
Specification