IP Library › Granted Patent US 11,113,002
Granted Patent B2
US 11,113,002 · App. 16/663,518 · Granted Sep 7, 2021

Command overlap checking in a data storage device

Inventor: Thomas V. Spencer (Fort Collins, CO)
Assignee: Seagate Technology LLC
G06F3/0659G06F3/0619G06F3/0673G06F12/109G06F12/1009G06F2212/1032
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,113,002
App. No.
16/663,518
Granted
Sep 7, 2021
Kind
B2
Abstract

A data storage device includes a controller configured to recognize commands received from a host as single logical address (LA) commands or multi-LA commands. The data storage drive also includes a command overlap detection table having a plurality of records with each record configured to store multiple unrelated LAs associated with different single LA commands and configured to store multiple related LAs associated with a single multi-LA command.

Claims (41)

1. A data storage device comprising:

a controller configured to recognize commands received from a host as single logical address (LA) commands or multi-LA commands; and

a command overlap detection table having a plurality of records with each record having a predetermined bit length and configured to:

store multiple unrelated LAs associated with different single LA commands;

store multiple related LAs associated with a single multi-LA command; and

the record is not configured to store the unrelated LAs associated with the different single LA commands together with the multiple related LAs associated with the single multi-LA command at the same time.

2. The data storage device of claim 1 and wherein the command overlap detection table is further configured to store first identifiers for the multiple unrelated LAs associated with different single LA commands and configured to store second identifiers for the multiple related LAs associated with the single multi-LA command.

3. The data storage device of claim 1 and wherein each LA of the multiple unrelated LAs associated with different single LA commands and the multiple related LAs associated with the corresponding single multi-LA command corresponds to a single logical block address (LBA).

4. The data storage device of claim 1 and wherein each LA of the multiple unrelated LAs associated with different single LA commands and the multiple related LAs associated with the single multi-LA command is a corresponding mapping unit address (MUA) associated with a predetermined number of contiguous logical block address (LBAs).

5. The data storage device of claim 1 and wherein the command overlap detection table comprises a hardware table having hardware records, with each hardware record configured to store the multiple unrelated LAs associated with the different single LA commands, and configured to store the multiple related LAs associated with the single multi-LA command.

6. The data storage device of claim 5 and wherein the hardware table further comprises compare logic for command overlap detection.

7. The data storage device of claim 1 and wherein the command overlap detection table is defined by firmware.

8. A method comprising:

recognizing commands received in a data storage drive from a host as single logical address (LA) commands or multi-LA commands;

providing a command overlap detection table having a plurality of records with each record having a predetermined bit length;

storing multiple LAs associated with different commands in a same record of the command overlap detection table when the different commands are recognized as single LA commands;

storing multiple LAs associated with a same command in the same record of the command overlap detection table when the same command is recognized as a multi-LA command; and

not storing in the same record of the command overlap detection table the multiple LAs associated with the different single LA commands together with the multiple LAs associated with the same multi-LA command at the same time.

9. The method of claim 8 and further comprising:

storing first identifiers for the multiple LAs associated with the different commands in the command overlap detection table; and

storing second identifiers for the multiple LAs associated with the same command in the command overlap detection table.

10. The method of claim 8 and wherein the multiple LAs associated with the same command comprise a starting LA and an ending LA that together identify a range of LAs associated with the same command.

11. The method of claim 10 and further comprising:

receiving a new command in the data storage drive, the new command comprising at least one LA;

comparing the at least one LA of the new command with individual ones of the multiple LAs associated with the different commands when the multiple LAs associated with different commands are stored in the command overlap detection table; and

determining whether the at least one LA of the new command is within the range of LAs of the same command when the starting LA and the ending LA of the same command are stored in the command overlap detection table.

12. The method of claim 8 and wherein each LA of the multiple LAs associated with different single LA commands and the multiple LAs associated with the same multi-LA command corresponds to a corresponding single logical block address (LBA).

13. The method of claim 8 and wherein each LA of the multiple LAs associated with different single LA commands and the multiple LAs associated with the same multi-LA command is a corresponding mapping unit address (MUA) associated with a predetermined number of contiguous logical block address (LBAs).

14. The method of claim 8 and further comprising providing the command overlap detection table as a hardware-logic table.

15. The method of claim 8 and further comprising providing the command overlap detection table as a firmware-defined table.

16. An apparatus comprising:

at least one non-volatile storage medium configured to store user data received via a host;

a controller, communicatively coupled to the at least one non-volatile storage medium, the controller configured to recognize commands related to the user data received from the host as single logical address (LA) commands or multi-LA commands; and

a command overlap detection table having a plurality of records with each record having a predetermined bit length and configured to:

store multiple unrelated LAs associated with different single LA commands;

store multiple related LAs associated with a single multi-LA command; and

the record is not configured to store the unrelated LAs associated with the different single LA commands together with the multiple related LAs associated with the single multi-LA command at the same time.

17. The apparatus of claim 16 and wherein the command overlap detection table is further configured to store first identifiers for the multiple unrelated LAs associated with different single LA commands and configured to store second identifiers for the multiple related LAs associated with the single multi-LA command.

18. The apparatus of claim 16 and wherein each LA of the multiple unrelated LAs associated with different single LA commands and the multiple related LAs associated with the corresponding single multi-LA command corresponds to a single logical block address (LBA).

19. The apparatus of claim 16 and wherein each LA of the multiple unrelated LAs associated with different single LA commands and the multiple related LAs associated with the single multi-LA command is a corresponding mapping unit address (MUA) associated with a predetermined number of contiguous logical block address (LBAs).

20. The apparatus of claim 16 and wherein the command overlap detection table comprises a hardware table having hardware records, with each hardware record configured to store the multiple unrelated LAs associated with the different single LA commands and configured to store the multiple related LAs associated with the single multi-LA command.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2019
From: SPENCER, THOMAS V.
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 050823/0868 →
Continuity (1)
Related Publication 20210124525A1 · Apr 29, 2021
Cited By (1)
US 12,299,312