Patent US1201843A successfully refreshed from Google Patents.
Patent US4354326A successfully refreshed from Google Patents.
Patent US5890212A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5890212A Expired / Lapsed US ⏱️ 0.0 years remaining

Disk drive with cache employing host pointer jumps during skip-ahead or semi-repeating accesses

Assignee: Western Digital Corp
•
Filing: 1997-06-27
•
Granted: 1999-03-30
•
Expires: 2017-06-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of managing commands is provided for a disk drive having an intelligent interface for communicating with a host. The drive also has a magnetic disk, host side programs, disk side programs, and a cache wherein the cache is divisible into a number of segments. The cache employs a cache control structure including a cache entry table, a buffer counter, a block count, a host pointer and a disk pointer. The drive receives a first command and a second command with a cache access type. The method of managing commands comprises the steps of: processing the first command to assign the first command to a cache segment having a prefetch area; determining the cache access type of the second command; and if the cache access type of the second command is a skip ahead sequential access then decrementing the buffer counter and incrementing the host pointer to skip leading nonrequested data in the prefetch area for the first command.

Inventors

  • 👤 Daniel John Sokolov
  • 👤 Timothy W. Swatosh

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 22:36
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/061; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0862; G06F12/0866; G06F12/0871; G06F12/12; G06F12/121; G06F12/123; G06F3/0628; G06F3/0629; G06F3/0634; G06F3/0668; G06F3/0671; G06F3/0673; G06F3/0674; G06F3/0676; G06F2212/00; G06F2212/60; G06F2212/601; G06F2212/6026

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 155 words
In a disk drive having an intelligent interface for communicating with a host, a magnetic disk, host side programs, disk side programs, and a cache wherein the cache is divisible into a number of segments, wherein the cache employs a cache control structure including a cache entry table, a buffer counter, a block count, a host pointer and a disk pointer, wherein the disk drive receives a first command and a second command with a cache access type, a method of managing commands comprising the steps of: a) processing the first command to assign the first command to a cache segment having a prefetch area; b) determining the cache access type of the second command; and c) if the cache access type of the second command is a skip ahead sequential access then decrementing the buffer counter and incrementing the host pointer to skip leading nonrequested data in the prefetch area for the first command.
Claim 2
Dependent Claim 155 words
In a disk drive having an intelligent interface for communicating with a host, a magnetic disk, host side programs, disk side programs, and a cache wherein the cache is divisible into a number of segments, wherein the cache employs a cache control structure including a cache entry table, a buffer counter, a block count, a host pointer and a disk pointer, wherein the disk drive receives a first command and a second command with a cache access type, a method of managing commands comprising the steps of: a) processing the first command to assign the first command to a cache segment having a prefetch area; b) determining the cache access type of the second command; and c) if the cache access type of the second command is a skip ahead sequential access then decrementing the buffer counter and incrementing the host pointer to skip leading nonrequested data in the prefetch area for the first command.
Claim 3
Dependent Claim 60 words
The method of claim 1, wherein the second command has a request with a logical block address and wherein the cache segment has a segment logical block address, wherein the buffer counter is decremented by a quantity equal to a logical block address of the request minus a quantity equal to the segment logical block address plus the block count.
Claim 4
Dependent Claim 60 words
The method of claim 1, wherein the second command has a request with a logical block address and wherein the cache segment has a segment logical block address, wherein the host pointer is incremented by a quantity equal to the logical block address of the request minus a quantity equal to the segment logical block address plus the block count.
Claim 5
Dependent Claim 48 words
The method of claim 1, wherein the first command is assigned to a segment and the segment has a prefetch area, further comprising the step of checking the prefetch area of the cache segment assigned to the first command to determine a cache hit for the second command.
Claim 6
Dependent Claim 54 words
The method of claim 1, wherein the prefetch area has a start logical block address, wherein a request with a cache access type of skip ahead cache access is a request that falls in the prefetch area of a cache segment but does not include the start logical block address of the prefetch area.
Claim 7
Dependent Claim 82 words
The method of claim 1, wherein each segment has a logical block address, and a block count, wherein the second command has a request with a logical block address and wherein the cache segment has a segment logical block address, wherein the step of determining the cache access type further comprises the step of setting the cache access type to equal CH -- ACC -- RSEQ if the requested logical block address is greater than the logical block address plus block count.
Claim 8
Dependent Claim 104 words
The method of claim 1, wherein each segment has a prefetch area and the prefetch area has a start logical block address, wherein the second command has a request with a logical block address and wherein the cache segment has a segment logical block address and wherein the cache segment further has a prefetch area with a start logical block address, wherein the step of determining the cache access type further comprises the step of setting the cache access type to equal CH -- ACC RSEQ if the requested logical block address is greater than the start logical block address of the prefetch area.
Claim 9
Dependent Claim 152 words
In a disk drive having an intelligent interface for communicating with a host, a magnetic disk, host side programs, disk side programs, and a cache wherein the cache is divisible into a number of segments, wherein the cache employs a cache control structure including a cache entry table, a buffer counter, a block count, a host pointer and a disk pointer, wherein the disk drive receives a first command and a second command with a cache access type, a method of managing commands comprising the steps of: a) processing the first command to assign the first command to a cache segment having a prefetch area; b) determining the cache access type of the second command; and c) if the cache access type of the second command is semi-repeating access then incrementing the buffer counter and decrementing the host pointer to resend lagging requested data from the prefetch area for the first command.
Claim 10
Dependent Claim 152 words
In a disk drive having an intelligent interface for communicating with a host, a magnetic disk, host side programs, disk side programs, and a cache wherein the cache is divisible into a number of segments, wherein the cache employs a cache control structure including a cache entry table, a buffer counter, a block count, a host pointer and a disk pointer, wherein the disk drive receives a first command and a second command with a cache access type, a method of managing commands comprising the steps of: a) processing the first command to assign the first command to a cache segment having a prefetch area; b) determining the cache access type of the second command; and c) if the cache access type of the second command is semi-repeating access then incrementing the buffer counter and decrementing the host pointer to resend lagging requested data from the prefetch area for the first command.
Claim 11
Dependent Claim 40 words
The method of claim 8, wherein the second command has a request with a logical block address, wherein the buffer counter is incremented by a quantity equal to the a prefetch logical block address minus the requested logical block address.
Claim 12
Dependent Claim 39 words
The method of claim 8, wherein the second command has a request with a logical block address, wherein the host pointer is decremented by a quantity equal to a prefetch logical block address minus the requested logical block address.
Claim 13
Dependent Claim 47 words
The method of claim 8 wherein the first command is assigned to a segment and the segment has a prefetch area, further comprising the step of checking the prefetch area of the segment assigned to the first command to determine a cache hit for the second command.
Claim 14
Dependent Claim 59 words
The method of claim 8, wherein the cache segment has a data range and where the segment has a segment start logical block address, wherein a request with a cache access type of semi-repeating cache access is a request that falls in the data range of a cache segment but does not include the segment start logical block address.
Claim 15
Dependent Claim 71 words
The method of claim 8 wherein each segment has a logical block address, and a block count, wherein the second command has a request with a logical block address, wherein the step of determining the cache access type further comprises the step of setting the cache access type to equal CH -- ACC -- SREP if the requested logical block address is less than the logical block address plus block count.
Claim 16
Dependent Claim 66 words
The method of claim 8 wherein each segment has a prefetch area and the prefetch area has a start logical block address, wherein the step of determining the cache access type further comprises the step of setting the cache access type to equal CH -- ACC -- SREP if the requested logical block address is less than the start logical block address of the prefetch area.
Claim 17
Dependent Claim 217 words
In a disk drive having an intelligent interface for communicating with a host, a magnetic disk, host side programs, disk side programs, and a cache wherein the cache is divisible into a number of segments, wherein the cache employs a cache control structure including a cache entry table, a buffer counter, a block count, a host pointer and a disk pointer, wherein the disk drive receives a first command and a second command with a requested logical block address and a cache access type, a method of managing commands comprising the steps of: a) processing the first command to assign a cache segment to the first command wherein the cache segment has a prefetch area with a start logical block address; b) if the requested logical block address is greater than the start logical block address then setting the cache access type to skip ahead sequential and decrementing the buffer counter and incrementing the host pointer to skip leading nonrequested data in the prefetch area for the first command; and c) if the requested logical block address is less than the start logical block address then setting the cache access type to semi-repeating access and incrementing the buffer counter and decrementing the host pointer to resend lagging requested data from the prefetch area for the first command.
Claim 18
Dependent Claim 217 words
In a disk drive having an intelligent interface for communicating with a host, a magnetic disk, host side programs, disk side programs, and a cache wherein the cache is divisible into a number of segments, wherein the cache employs a cache control structure including a cache entry table, a buffer counter, a block count, a host pointer and a disk pointer, wherein the disk drive receives a first command and a second command with a requested logical block address and a cache access type, a method of managing commands comprising the steps of: a) processing the first command to assign a cache segment to the first command wherein the cache segment has a prefetch area with a start logical block address; b) if the requested logical block address is greater than the start logical block address then setting the cache access type to skip ahead sequential and decrementing the buffer counter and incrementing the host pointer to skip leading nonrequested data in the prefetch area for the first command; and c) if the requested logical block address is less than the start logical block address then setting the cache access type to semi-repeating access and incrementing the buffer counter and decrementing the host pointer to resend lagging requested data from the prefetch area for the first command.
Claim 19
Dependent Claim 49 words
The method of claim 15, wherein the cache segment has a segment logical block address, wherein the buffer counter is decremented by a quantity equal to the reguested logical block address minus a quantity equal to the segment logical block address plus the block count of the cache segment.
Claim 20
Dependent Claim 49 words
The method of claim 15, wherein the cache segment has a segment logical block address, wherein the host pointer is incremented by a quantity equal to the reguested logical block address minus a quantity equal to the segment logical block address plus the block count of the cache segment.
Claim 21
Dependent Claim 27 words
The method of claim 15, wherein the buffer counter is incremented by a quantity equal to the prefetch logical block address minus the requested logical block address.
Claim 22
Dependent Claim 27 words
The method of claim 15, wherein the host pointer is decremented by a quantity equal to the prefetch logical block address minus the requested logical block address.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-03-29 2002-09-28 2003-03-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-03-29 2006-09-28 2007-03-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-03-29 2010-09-28 2011-03-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag