← Back to Patent Explorer
US5483641A Expired / Lapsed US ⏱️ 0.0 years remaining

System for scheduling readahead operations if new request is within a proximity of N last read requests wherein N is dependent on independent activities

Assignee: Dell USA LP
•
Filing: 1991-12-17
•
Granted: 1996-01-09
•
Expires: 2011-12-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An improved read ahead strategy that improves the performance of a disk array subsystem. The disk controller keeps track of the last n reads to the array. If a new read request is received that is adjacent to any of the last n reads, the controller performs a look ahead read because a sequential read may be in progress. The parameter n is preferably set comparable to or greater than the number of maximum independent activites being performed by the computer system. Therefore, in a multithread system, the controller performs a readahead if any one thread is doing a sequential read.

Inventors

  • 👤 Craig S. Jones
  • 👤 Kenneth L. Jeffries
  • 👤 Terry J. Parks

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 21:20
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0862; G06F3/0602; G06F3/0614; G06F3/0619; G06F3/0628; G06F3/0653; G06F3/0655; G06F3/0659; G06F3/0668; G06F3/0671; G06F3/0683; G06F3/0689; G11; G11B; G11B20/00; G11B20/10; G11B20/18; G11B20/1833; G11B20/1883; G06F12/0866; G06F2212/00; G06F2212/60; G06F2212/6026; G11B2220/00; G11B2220/20

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 187 words
A method of operating one or more disk drives through a disk drive controller which is interfaced through a bus to a host computer, wherein the disk drive controller receives read operations from the host computer which each include one or more addresses comprising the steps of: monitoring, in the controller the addresses of the last n disk read operations, where n is a programmable parameter and is greater than one, and wherein the value of n is set dependent on the number of independent activities executing within the host computer; comparing, in the controller, the address of each new disk read operation with the addresses of the last n disk read operations; scheduling a readahead operation if and only if a new read request is found to specify an address which is in proximity to an address of one of the last n disk read operations; determining an amount of data specified bysaid new read request; and performing said read ahead operation by reading a block of data having a length which is a multiple of said amount of data specified by said new read request.
Claim 2
Independent Claim 187 words
A method of operating one or more disk drives through a disk drive controller which is interfaced through a bus to a host computer, wherein the disk drive controller receives read operations from the host computer which each include one or more addresses comprising the steps of: monitoring, in the controller the addresses of the last n disk read operations, where n is a programmable parameter and is greater than one, and wherein the value of n is set dependent on the number of independent activities executing within the host computer; comparing, in the controller, the address of each new disk read operation with the addresses of the last n disk read operations; scheduling a readahead operation if and only if a new read request is found to specify an address which is in proximity to an address of one of the last n disk read operations; determining an amount of data specified bysaid new read request; and performing said read ahead operation by reading a block of data having a length which is a multiple of said amount of data specified by said new read request.
Claim 3
Dependent Claim 206 words
A disk drive controller which receives disk read operations from a host, wherein said disk read operations include one or more addresses, comprising: a microprocessor; random-access memory which is read/write accessible by said microprocessor; a bus interface circuit, connected to said microprocessor and to a system bus connector; multiple connections for cabling to multiple separate disk drives; wherein said microprocessor includes: means for monitoring the addresses of the last n disk read operations, where n is a programmable parameter and is greater than one, and wherein the value of n is set dependent on the number of independent activities executing within the host computer; means for comparing the address of each new disk read operation with the addresses of the last n disk read operations; means for scheduling a readahead operation if and only if a new read request is found to specify an address which is in proximity to an address of one of the last n disk read operations; means for determining an amount of data specified by said new read request; and means for performing said read ahead operation by reading a block of data having a length which is a multiple of said amount of data specified by said new read request.
Claim 4
Dependent Claim 206 words
A disk drive controller which receives disk read operations from a host, wherein said disk read operations include one or more addresses, comprising: a microprocessor; random-access memory which is read/write accessible by said microprocessor; a bus interface circuit, connected to said microprocessor and to a system bus connector; multiple connections for cabling to multiple separate disk drives; wherein said microprocessor includes: means for monitoring the addresses of the last n disk read operations, where n is a programmable parameter and is greater than one, and wherein the value of n is set dependent on the number of independent activities executing within the host computer; means for comparing the address of each new disk read operation with the addresses of the last n disk read operations; means for scheduling a readahead operation if and only if a new read request is found to specify an address which is in proximity to an address of one of the last n disk read operations; means for determining an amount of data specified by said new read request; and means for performing said read ahead operation by reading a block of data having a length which is a multiple of said amount of data specified by said new read request.
Claim 5
Dependent Claim 28 words
The controller of claim 2, wherein the parameter n is set to be at least equal to the maximum number of independent activities executing within the host computer.
Claim 6
Dependent Claim 22 words
The controller of claim 2, wherein each of said disk drives includes multiple rotating platters accessed by multiple respective movable read/write heads.
Claim 7
Dependent Claim 21 words
The controller of claim 2, wherein multiple ones of said disk drives include control logic for accessing data on said drives.
Claim 8
Dependent Claim 32 words
The controller of claim 2, wherein multiple ones of said disk drives include control electronics which implement a first remapping of defective sectors, and said first remapping is invisible to said controller.
Claim 9
Dependent Claim 17 words
The controller of claim 2, wherein multiple ones of said disk drives are Integrated Drive Electronics drives.
Claim 10
Dependent Claim 40 words
The controller of claim 2, wherein each of said disk drives includes multiple rotating platters accessed by multiple respective movable read/write heads, and wherein said movable heads of multiple ones of said disk drives move in synchrony to corresponding positions.
Claim 11
Dependent Claim 72 words
The controller of claim 2, wherein each of said disk drives includes multiple rotating platters accessed by multiple respective movable read/write heads, and wherein said movable heads of a first subset of ones of said disk drives move in synchrony to mutually corresponding positions, and said movable heads of a second subset of ones of said disk drives do not move in synchrony with heads of said drives of said first subset.
Claim 12
Dependent Claim 124 words
The controller of claim 2, wherein each of said drives includes multiple rotating platters accessed by multiple respective movable read/write heads, and wherein said controller is connected to access both first and second pluralities of said disk drives, and wherein said movable heads of a first subset of ones of said disk drives move in synchrony to mutually corresponding positions, and said movable heads of a second subset of ones of said disk drives do not move in synchrony with heads of said drives of said first subset, and said controller is connected to a system bus and presents an interface thereto whereby said drives of said first subset, but not said drives of said second subset, appear as a single composite disk drive.
Claim 13
Independent Claim 191 words
A method for performing an improved read look-ahead strategy in a storage subsystem comprising a controller and a storage device coupled to the controller, wherein the storage subsystem receives read operations from a host and each of said read operations include one or more addresses, the method comprising the steps of: the controller comparing the address of a read operation with addresses of a previous number n of read operations where n is a programmable parameter and is greater than one, and wherein the value of n is set dependent on the number of independent activities executing within the host computer; the controller determining an amount of data specified by said read operation; the controller performing a readahead operation if said read operation includes an address which is in proximity to an address of one of said n previous read operations, wherein a quantity of data read during said readahead operation is dependent upon said amount of data specified by said read operation; and the controller inhibiting a readahead operation if said read operation includes an address which is not in proximity to an address of said n previous read operations.
Claim 14
Independent Claim 191 words
A method for performing an improved read look-ahead strategy in a storage subsystem comprising a controller and a storage device coupled to the controller, wherein the storage subsystem receives read operations from a host and each of said read operations include one or more addresses, the method comprising the steps of: the controller comparing the address of a read operation with addresses of a previous number n of read operations where n is a programmable parameter and is greater than one, and wherein the value of n is set dependent on the number of independent activities executing within the host computer; the controller determining an amount of data specified by said read operation; the controller performing a readahead operation if said read operation includes an address which is in proximity to an address of one of said n previous read operations, wherein a quantity of data read during said readahead operation is dependent upon said amount of data specified by said read operation; and the controller inhibiting a readahead operation if said read operation includes an address which is not in proximity to an address of said n previous read operations.
Claim 15
Dependent Claim 18 words
The method of claim 11, further comprising: the controller monitoring the addresses of said n previous read operations.
Claim 16
Dependent Claim 28 words
The method of claim 1, wherein the parameter n is set to be at least equal to the maximum number of independent activities executing within the host computer.
Claim 17
Dependent Claim 28 words
The method of claim 11, wherein the parameter n is set to be at least equal to the maximum number of independent activities executing within the host computer.

References Cited (Backward Citations)

US3350694A Cited
US3593314A Cited
US4347567A Cited
US4371929A Cited
US4618897A Cited
US5150465A Cited
US5140683A Cited
US5146578A Cited
US5133060A Cited
US5140592A Cited
US5325509A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-01-08 1999-07-10 2000-01-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-01-08 2003-07-10 2004-01-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-01-08 2007-07-10 2008-01-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag