US5708793A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus using address and read head location information to provide optimal operation of a disk system
Assignee: International Business Machines Corp
•
Filing: 1995-03-31
•
Granted: 1998-01-13
•
Expires: 2015-03-31
Abstract
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.
Inventors
- 👤 Peter Anthony Franaszek
- 👤 John Timothy Robinson
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 17:06
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/061; G06F3/0611; G06F3/0628; G06F3/0638; G06F3/064; G06F3/0668; G06F3/0671; G06F3/0673; G06F3/0674
Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
252 words
In a computer system including a host system and a disk system with a plurality of cylinders each having a plurality of tracks with each track containing a plurality of blocks arranged in stripes within each cylinder, a method of operation comprising: a) establishing a utilization level U by providing a number of logical block addresses for the disk system whih is less than the actual number of addressable physical blocks in the disk system; b) maintaining physical blocks that are in use randomly distributed throughout the disk system; c) determine the cylinder C, track T and physical block B location that is being accessed and write updated data of data at location C', T', B' into the next physical block location B+1 if it is indicated as being free; d) write said data in 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; e) indicated as free the previous 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; and f) selecting the utilization level U to maintain average write acess time at less than two times the time necessary to access said next blocking by selecting a value for the utilization level U that results in 1/1-U I being <2 where I is the number of tracks in a cylinder.
Claim 2
Dependent Claim
252 words
In a computer system including a host system and a disk system with a plurality of cylinders each having a plurality of tracks with each track containing a plurality of blocks arranged in stripes within each cylinder, a method of operation comprising: a) establishing a utilization level U by providing a number of logical block addresses for the disk system whih is less than the actual number of addressable physical blocks in the disk system; b) maintaining physical blocks that are in use randomly distributed throughout the disk system; c) determine the cylinder C, track T and physical block B location that is being accessed and write updated data of data at location C', T', B' into the next physical block location B+1 if it is indicated as being free; d) write said data in 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; e) indicated as free the previous 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; and f) selecting the utilization level U to maintain average write acess time at less than two times the time necessary to access said next blocking by selecting a value for the utilization level U that results in 1/1-U I being <2 where I is the number of tracks in a cylinder.
Claim 3
Dependent Claim
32 words
The method of claim 1 including the step of g) storing said data in the any block B+2 in cylinder C if no physical block location B+1 in cylinder C is free.
Claim 4
Dependent Claim
48 words
The method of claim 2 including the steps of: h) storing data in another free block address in cylinder C if no physical block location B+2 in cylinder C is free; an i) if no free block is found in cylinder C go to the next cylinder C".
Claim 5
Dependent Claim
48 words
The method of claim 3 including the step of: j) checking said cylinder to determine if cylinder C is the same as cylinder C" and if not check cylinder C to determine if the utilization level of cylinder C is less or greater than the desired utilization level.
Claim 6
Dependent Claim
289 words
In a computer system including a host system and a disk system with a plurality of cylinders each containing a plurality of tracks with each track containing a plurality of physical block locations for storing blocks of data which locations are arranged in stripes each stripe containing a block location of a different track of the cylinder, a method of operation comprising: a) establishing a utilization level U that limits the number of logical block location addresses for the disk system to less than the actual number of physical block locations that are addressable in the disk system by setting 1/1-U I less than two where U is the ratio of the number of logical block location addresses to the number of addressable physical block locations and I is the number of tracks in the current cylinder; b) distributing data at logical block addresses randomly among the addressable physical block locations; c) taking into account track skew, finding the next free physical block location from the current track head position; d) performing a write operation for updated data at the next free physical block location by; 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; and e) indicating as free the previous block location of the data written into the next free physical block location in step d).
Claim 7
Dependent Claim
289 words
In a computer system including a host system and a disk system with a plurality of cylinders each containing a plurality of tracks with each track containing a plurality of physical block locations for storing blocks of data which locations are arranged in stripes each stripe containing a block location of a different track of the cylinder, a method of operation comprising: a) establishing a utilization level U that limits the number of logical block location addresses for the disk system to less than the actual number of physical block locations that are addressable in the disk system by setting 1/1-U I less than two where U is the ratio of the number of logical block location addresses to the number of addressable physical block locations and I is the number of tracks in the current cylinder; b) distributing data at logical block addresses randomly among the addressable physical block locations; c) taking into account track skew, finding the next free physical block location from the current track head position; d) performing a write operation for updated data at the next free physical block location by; 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; and e) indicating as free the previous block location of the data written into the next free physical block location in step d).
Claim 8
Dependent Claim
39 words
In the computer system of claim 5 including the step of seeking the next free block location in the next cylinder if no block in any of the stripes of the current cylinder contains the next free block location.
Claim 9
Dependent Claim
40 words
In the computer system of claim 5 including the steps of checking the current cylinder to detemine if the current cylinder utilization exceeds a predetermined ratio; and seeking a free block in the next cylinder if that ratio is exceeded.
Claim 10
Dependent Claim
28 words
In the computer system of claim 5 including the steps of maintaining a list of physical block locations in use and of physical block locations indicated as free.
Claim 11
Dependent Claim
245 words
In a computer system including a host system and a disk system with a plurality of cylinders each containing a plurality of tracks with each track containing a plurality of physical block locations for storing blocks of data which locations are arranged in stripes each stripe containing a block location of a different track of the cylinder, a method of operation comprising: a) maintaining the number of physical blocks in use at a desired utilization level U that results in 1/1-U I being <2 where I is the number of tracks in a cylinder; b) distributing data in logical block locations at random addressable physical block locations; c) taking into account track skew, finding the next free physical block location from the current track head position; d) performing a write operation for updated data at the next free physical block location by: 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) indicating as free the previous block location of the data written into the next free physical block location in step d).
Claim 12
Dependent Claim
245 words
In a computer system including a host system and a disk system with a plurality of cylinders each containing a plurality of tracks with each track containing a plurality of physical block locations for storing blocks of data which locations are arranged in stripes each stripe containing a block location of a different track of the cylinder, a method of operation comprising: a) maintaining the number of physical blocks in use at a desired utilization level U that results in 1/1-U I being <2 where I is the number of tracks in a cylinder; b) distributing data in logical block locations at random addressable physical block locations; c) taking into account track skew, finding the next free physical block location from the current track head position; d) performing a write operation for updated data at the next free physical block location by: 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) indicating as free the previous block location of the data written into the next free physical block location in step d).
Claim 13
Dependent Claim
42 words
In the computer system of claim 9 including the steps of: h) checking the current cylinder to determine if the curent cylinder utilization exceeds a predetermined ratio; and i) seeking a free block in the next cylinder if that ratio is exceeded.
Claim 14
Dependent Claim
28 words
In the computer system of claim 10 including the step of maintaining a list of physical block locations in use and of physical block locations indicated as free.
References Cited (Backward Citations)
US4145745A
Cited
US4241420A
Cited
US4528624A
Cited
US4604687A
Cited
US4849929A
Cited
US4953122A
Cited
US5491807A
Cited
US5303363A
Cited
US5088026A
Cited
US5124987A
Cited
US5210866A
Cited
US5303244A
Cited
US5276840A
Cited
US5345575A
Cited
US5481694A
Cited
US5408644A
Cited
US5537588A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-01-12 | 2001-07-14 | 2002-01-13 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-01-12 | 2005-07-14 | 2006-01-13 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-01-12 | 2009-07-14 | 2010-01-13 | $7700.00 | Window Closed / Lapsed |