Method and apparatus using address and read head location information to provide optimal operation of a disk system
AssigneeInternational Business Machines Corporation
InventorsPeter Anthony Franaszek, John Timothy Robinson
Life of this patent
Estimating the term…
Abstract
Minimal random disk write latency is achieved by limiting the number of logical address blocks that can be serviced by a disk to less that the actual number of physically addressable blocks of the system and having a disk controller dynamically map logical data blocks to physical disk blocks in such a fashion that each logical write can take place to any free location, where the free location can be chosen in any track of the current cylinder.
Claims12
A computer system comprising;
- a) a host system;
- b) a disk system with a plurality of cylinders each having a plurality of tracks T with each track containing a plurality of blocks arranged in stripes within each cylinder, where the blocks in use in a cylinder are randomly distributed and have a utilization level U that results in 1/1-U.sup.I being <2 where I is the number of tracks in that cylinder;
- and
- c) logic means for controlling entry of data in said disk system including:
- i) records means to determine the cylinder C, track T and physical block B location that is being accessed and if the next location B+1 on track T or any other track is free;
- ii) write control means for controlling the writing of an updated version of data at location C', T', B' into the next physical block location B+1 if it is indicated as being free and write said updated version into physical block location B+1 in another track in the same cylinder C if block B+1 on said another track is indicated as being free and location C, T, B+1 is not free;
- and
- iii) update means to indicate as free the location C', T', B' of the data that has been updated to maintain utilization of actual storage locations in the disk system substantially at U or below.
A computer system comprising;
- a) a host system;
- b) a disk system with a plurality of cylinders C each containing a plurality of tracks T with each track containing a plurality of physical block locations B for storing blocks of data which block locations are arranged in stripes each stripe containing a block location of a different track of a cylinder which disk system has means establishing a utilization level U that limits the number of used logical block location addresses for each cylinder in the disk system to less than the actual number of physical block locations that are addressable in that cylinder of the disk system;
- c) means for performing a write operation for updated data at the next free physical block location in the following sequence:
- i) if the next block location in any track of the current cylinder is the next free block location writing the updated data in the next block using a write time of one block;
- and
- ii) if the next free block location in the current cylinder is not in the next block location in any track of the current cylinder but is in the next stripe, writing the data in the next stripe using a write time of two blocks.
In a computer system including a host system and a disk system with a plurality of cylinders C each containing a plurality of tracks T with each track containing a plurality of physical block locations B for storing blocks of data which locations are arranged in stripes each stripe containing a block location of a different track of the cylinder, means for controlling the location of stored data comprising:
- a) means maintaining the number of physical blocks in use at a desired utilization level U of a cylinder that results in 1/1-U.sup.I being <2 where I is the number of tracks in the cylinder;
- b) means for distributing data in logical block locations at random addressable physical block locations;
- c) means taking into account track skew, for finding the next free physical block location from the current track head position;
- d) means for performing a write operation for updated data at the next free physical block location in the following sequence:
- i) if the next block location in any track of the current cylinder is the next free block location, writing the updated data in that next block using a write time of one block;
- and
- ii) if the next free block location in the current cylinder is not in the next block location in any track of the current cylinder but is in the next stripe, writing the data in the next stripe using a write time of two blocks;
- and
- e) means for indicating as free the previous block location of the data written into the next free physical block location.
Dependencies are inferred from the claim text.