US2018189183A1PendingUtilityA1
Data storage device adjusting command rate profile based on operating mode
Est. expiryMar 23, 2030(~3.7 yrs left)· nominal 20-yr term from priority
G06F 3/0659G06F 3/0629G06F 12/0866G06F 3/0613G06F 3/0679G06F 3/0611G06F 3/0674G06F 3/061G06F 11/3034Y02D10/00G06F 11/3055G06F 3/0625G06F 11/3058G06F 3/0634G06F 3/0673
54
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A disk drive is disclosed comprising a head actuated over a disk comprising a plurality of tracks, wherein each track comprises a plurality of data sectors comprising a disk block size. A host write command is received comprising data blocks having a host block size less than the disk block size. A misalignment is detected between the data blocks and the disk block size, and when the misalignment is detected, at least one of the data blocks is stored in a write cache. A command rate limit is adjusted as a function of the write cache, wherein the command rate limit defines a limit on a number of commands received from a host.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A disk drive comprising:
a disk comprising a plurality of tracks, wherein each track comprises a plurality of data sectors comprising a disk block size; a head actuated over the disk; and control circuitry operable to:
receive a host write command comprising data blocks having a host block size less than the disk block size;
detect a misalignment between the data blocks and the disk block size;
when the misalignment is detected, store at least one of the data blocks in a write cache; and
adjust a command rate limit as a function of the write cache, wherein the command rate limit defines a limit on a number of commands received from a host.
2 . The disk drive as recited in claim 1 , wherein the control circuitry is operable to decrease the command rate limit as the free space in the write cache decreases.
3 . The disk drive as recited in claim 1 , wherein the command rate limit defines a limit on the number of write commands received from the host.
4 . The disk drive as recited in claim 1 , wherein the control circuitry is operable to:
store access commands received from the host in a command queue; generate flush commands in response to the data blocks stored in the write cache, wherein a flush command flushes data blocks from the write cache to the disk; and select a number of flush commands to insert into the command queue based on the command rate limit.
5 . The disk drive as recited in claim 4 , wherein the control circuitry is operable to select the number of flush commands to insert into the command queue based on the command rate limit and a number of host write commands stored in the command queue.
6 . The disk drive as recited in claim 4 , wherein the control circuitry is operable to:
execute a selection algorithm on the commands stored in the command queue; and adjust the selection algorithm in response to the command rate limit.
7 . The disk drive as recited in claim 6 , wherein the control circuitry is operable to bias the selection algorithm to select the flush commands over the host write commands when the command rate limit decreases.
8 . The disk drive as recited in claim 1 , wherein the control circuitry is operable to:
store access commands received from a host in a command queue; generate a plurality of background commands including at least one of a write verify command, a refresh command, and a garbage collection command; and select a number of background commands to insert into the command queue based on the command rate limit.
9 . A method of operating a disk drive comprising a head actuated over a disk including a plurality of tracks, wherein each track comprises a plurality of data sectors comprising a disk block size, the method comprising:
receiving a host write command comprising data blocks having a host block size less than the disk block size; detecting a misalignment between the data blocks and the disk block size; when the misalignment is detected, storing at least one of the data blocks in a write cache; and adjusting a command rate limit as a function of the write cache, wherein the command rate limit defines a limit on a number of commands received from a host.
10 . The method as recited in claim 9 , further comprising decreasing the command rate limit as the free space in the write cache decreases.
11 . The method as recited in claim 9 , wherein the command rate limit defines a limit on the number of write commands received from the host.
12 . The method as recited in claim 9 , further comprising:
storing host commands received from the host in a command queue; generating flush commands in response to the data blocks stored in the write cache, wherein a flush command flushes data blocks from the write cache to the disk; and selecting a number of flush commands to insert into the command queue based on the command rate limit.
13 . The method as recited in claim 12 , further comprising selecting the number of flush commands to insert into the command queue based on the command rate limit and a number of host write commands stored in the command queue.
14 . The method as recited in claim 12 , further comprising:
executing a selection algorithm on the commands stored in the command queue; and adjusting the selection algorithm in response to the command rate limit.
15 . The method as recited in claim 14 , further comprising biasing the selection algorithm to select the flush commands over the host write commands when the command rate limit decreases.
16 . The method as recited in claim 9 , further comprising:
storing host commands received from the host in a command queue; generating a plurality of background commands including at least one of a write verify command, a refresh command, and a garbage collection command; and selecting a number of background commands to insert into the command queue based on the command rate limit.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.