Data storage device adjusting command rate profile based on operating mode
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.Join the waitlist — get patent alerts
Track US2018189183A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.