Patent US5708793A successfully refreshed from Google Patents.
← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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 18:52
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.

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag