Roll mode for cached data storage
First Claim
1. A data-storage system adapted to be connected to a host processor and having a high-speed data cache and slow-speed backing store, means for transferring data signals between said data cache and backing store, said cache and store each having a large plurality of addressable data storage registers, said backing store including a disk storage apparatus having a plurality of recording surfaces with a transducer head for each of the surfaces with one track of each surface being scanned by a respective transducer at a given instant, such tracks constituting a cylinder of data tracks, said apparatus having means for indicating rotational position of the data stored on the tracks with respect to said transducers;
- the improvement comprising;
first means for receiving from said host and memorizing an intent signal signifying sequential data blocks and a storage extend for storing such blocks;
data-transfer means for transferring data signals between said host and said cache and memorizing that blocks of data signals defined by said intent signal were transferred with the host;
second means connected to said data-transfer means and being connectable to said host for receiving peripheral commands from said host and responsive to said intent signal and a request for any of said sequential blocks to actuate said data-transfer means for transferring data signals between said backing store and said data cache within all of such identified sequential blocks up to a predetermined maximum number of such identified sequential blocks; and
means in said data-transfer means including internal command word (hereinafter termed ICW) chain means for establishing a series of commands for accessing predetermined ones of said blocks stored in tracks within one of said cylinders of data and arranging said commands into a chain of commands for transferring said predetermined ones of said blocks in a predetermined sequence;
means for sensing the instant rotational position of said tracks of a first encountered block with respect to said heads and determining the rotational position of said first encountered block;
means coupled to said sensing means and said ICW chain means for selecting a command in said chain of commands irrespective of its position in said sequence as the first command to be executed in accordance with the comparison of said rotational position and said expected rotational position of said predetermined ones of said blocks; and
means coupled to said selecting means for executing the chain of commands beginning with said rotationally selected command through the end of the chain, thence to the beginning of the chain and to the command in said sequence that immediately precedes said rotationally selected command whereby a plurality of records within said cylinder on any of said tracks are accessed with a minimal latency delay due to rotation of said disk record surfaces.
1 Assignment
0 Petitions
Accused Products
Abstract
A so-called "roll mode" technique provides block transfer with a disk-type of direct-access data-storage device (DASD). A set of chained commands for accessing record areas enables rapidly accessing a plurality of records within a given DASD cylinder of tracks. The rotational position of the surfaces is checked. The command within the chain, irrespective of its location, having the closest logical rotational proximity to the instant rotational position of the surfaces is selected as the first command in the chain. The chain is executed beginning at the indicated rotational position selected command through the end of the chain and then wrapped to the beginning of the original chain and continuing on until the command immediately preceding the rotational position selected command has been executed.
-
Citations
17 Claims
-
1. A data-storage system adapted to be connected to a host processor and having a high-speed data cache and slow-speed backing store, means for transferring data signals between said data cache and backing store, said cache and store each having a large plurality of addressable data storage registers, said backing store including a disk storage apparatus having a plurality of recording surfaces with a transducer head for each of the surfaces with one track of each surface being scanned by a respective transducer at a given instant, such tracks constituting a cylinder of data tracks, said apparatus having means for indicating rotational position of the data stored on the tracks with respect to said transducers;
-
the improvement comprising; first means for receiving from said host and memorizing an intent signal signifying sequential data blocks and a storage extend for storing such blocks; data-transfer means for transferring data signals between said host and said cache and memorizing that blocks of data signals defined by said intent signal were transferred with the host; second means connected to said data-transfer means and being connectable to said host for receiving peripheral commands from said host and responsive to said intent signal and a request for any of said sequential blocks to actuate said data-transfer means for transferring data signals between said backing store and said data cache within all of such identified sequential blocks up to a predetermined maximum number of such identified sequential blocks; and means in said data-transfer means including internal command word (hereinafter termed ICW) chain means for establishing a series of commands for accessing predetermined ones of said blocks stored in tracks within one of said cylinders of data and arranging said commands into a chain of commands for transferring said predetermined ones of said blocks in a predetermined sequence;
means for sensing the instant rotational position of said tracks of a first encountered block with respect to said heads and determining the rotational position of said first encountered block;
means coupled to said sensing means and said ICW chain means for selecting a command in said chain of commands irrespective of its position in said sequence as the first command to be executed in accordance with the comparison of said rotational position and said expected rotational position of said predetermined ones of said blocks; and
means coupled to said selecting means for executing the chain of commands beginning with said rotationally selected command through the end of the chain, thence to the beginning of the chain and to the command in said sequence that immediately precedes said rotationally selected command whereby a plurality of records within said cylinder on any of said tracks are accessed with a minimal latency delay due to rotation of said disk record surfaces. - View Dependent Claims (2, 3, 4)
-
-
5. The machine-implemented method of performing a predetermined series of data-storage access operations listed in a given arithmetically progressing series of data storage addresses for successively addressed data-storage areas, each of said operations relating to a given data record in a series of a plurality of related data records having a plurality of related data signals;
- said data-storage areas being arranged in groups of N record areas;
N is an integer, all of said groups exhibiting a given maximal periodic access latency for all data-storage areas therein;including the machine-executable steps of; examining the number of records to be transferred for a first group, if the number of records to be transferred is K or more (K is an integer less than N) then do the following steps; examining a one of said groups with respect to a first number of not greater than N of said listed storage addresses for identifying a one of said listed storage addresses as a storage address related to a data-storage area of said one group as being a next-accessible data-storage area; marking an arithmetically immediately-preceding one of said listed addresses as identifying a last-accessed one of said data-storage areas; successively accessing said data-storage areas indicated by said listed addressing beginning with said next accessible data-storage area and continuing through a last one of said listed addresses through a plurality of said groups; and upon completion of said accessing, successively accessing the data-storage areas beginning with a data-storage area identified by the first-listed address and continuing through said data storage area identified by said immediately preceding listed address; and if the number of records to be transferred is less than K, accessing the data-storage areas as listed in said arithmetic progression. - View Dependent Claims (6, 7)
- said data-storage areas being arranged in groups of N record areas;
-
8. In a peripheral data-storage system having a plurality of addressable direct access storage devices (DASD), each of said DASDs having a plurality of addressable cylinders and each cylinder having a plurality of addressable memory segments, a set of data-transfer heads in said DASDs for recording and reproducing stored data signals and positioned at a given circumferential position such that record tracks of the DASD are scanned thereby a high-speed buffer store having a plurality of buffer segments, each said buffer segment having a capacity equal to the capacity of said memory segments, means for attaching the data-storage system to a host;
-
means to receive peripheral commands from an attached host to transfer data with said DASD; a digital processor having a control store for storing programs of instructions for operating the data-storage system; signal means for transferring signals between said DASD, said buffer and said attached host; the improvement comprising; first program means stored in said control store for enabling said digital processor to operate the storage system to transfer one segment of data between said DASDs and said high-speed buffer store for each request for a segment data transfer received from said host; second program means stored in said control store for enabling said digital processor to receive an indication from said host that a plurality of blocks of data are to be transferred and for indicating the extent of memory segments in one of said DASDs from which said plurality of blocks of data will be fetched, program means for decrementing the number of segments to be transferred to the host each time a segment is transferred to said host; transfer program means stored in said control store for enabling said digital processor to operate said data-storage system upon receipt of a data-access command for a given segment contained within a memory segment defined within said extent to transfer blocks of data within said extent between said buffer and said one DASD; chain program means stored in said control store for enabling said digital processor to establish a series of commands for accessing predetermined ones of said records in one of said cylinders and arranging said commands into a chain of commands having a predetermined sequence and storing same in the control store; RPS means in said DASD and coupled to said digital processor for sensing the instant rotational position of said tracks with respect to said heads and comparing same with the expected location of the records stored on said tracks and coupled to said digital processor for supplying a signal indicating results of said comparing; and chain-execution program means stored in said control store for enabling said digital processor to select a command in said chain of commands stored in said control store irrespective of its logical position in a sequence of the commands in the chain as the first command to be executed in accordance with the comparison of said rotational position and expected location of said records, and having a program portion for enabling said digital processor to execute the chain of commands beginning with said rotationally-selected command through the end of the chain, thence to the beginning of the chain and thence to the command immediately preceding said rotationally-selected command whereby a plurality of records within said cylinder on any of said tracks are accessed with a minimal latency delay due to rotation of said disk record surfaces. - View Dependent Claims (9, 10, 11, 12)
-
-
13. The machine-implemented method of accessing a plurality of records stored in a disk-storage apparatus having a plurality of recording surfaces with a transducer for each of the surfaces with one track of each surface being scanned by a respective transducer at a given instant and such one track constituting a cylinder of data tracks, said apparatus having means for indicating rotational position of the data stored on the tracks with respect to said transducers;
-
the machine-executable steps of; establishing a series of commands for accessing predetermined ones of said records in a one of said cylinders and arranging said commands into a chain of commands having a predetermined sequence; sensing the instant record of signals on said tracks with respect to said heads and determining the instant rotational position of said instant record stored on said track; selecting a command in said chain of commands irrespective of its logical position in the sequence as the first command to be executed in accordance with the comparison of said instant rotational position and expected location of the records; and executing the chain of commands beginning with said rotationally-selected command through the end of the chain, thence to the beginning of the chain and to the command immediately preceding said rotationally selected command such that a plurality of records within said cylinder on any of said tracks are accessed with a minimal latency delay due to rotation of said disk record surfaces. - View Dependent Claims (14, 15, 16)
-
-
17. The machine-executable method of accessing addressable data-storage areas on a disk storage apparatus arranged in cylinders of tracks with all tracks in a given cylinder being at a common radius on a plurality of respective data-recording surfaces,
including the machine-executable steps of: -
seeking a plurality of transducers to said radial position; identifying the present rotational position of said record in said track; receiving a series of commands including identifications of data-storage areas to be accessed beginning with a given address associatable with predetermined tracks in said cylinder of tracks and proceeding in an address incrementing arithmetic progression to a data-storage area having a given predetermined address, all of said addresses being identifiable by rotational positions and tracks; when identifying said rotational positions for a given track, selecting a data-storage area from said given track closest to said identified rotational position and selecting said data-storage area as a first data-storage area to be accessed and identifying an immediately preceding data-storage area as a last data-storage area to be accessed; and accessing said first data-storage area and subsequently arithmetically progressing addressable data-storage areas to the end of said series including accessing a track other than said given track and upon completion of said series, again accessing said given track for accessing the data storage area arithmetically preceding said first identified data-storage area through said immediately preceding identified data-storage area.
-
Specification