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
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 |