IP Library Granted Patent US 8,595,572
Granted Patent B2
US 8,595,572 · App. 12/756,007 · Granted Nov 26, 2013

Data storage device with metadata command

Inventors: Albert T. Borchers (Santa Cruz, CA); Andrew T. Swing (Los Gatos, CA); Robert S. Sprinkle (San Jose, CA); Jason W. Klaus (Brooklyn, NY)
Assignee: Google Inc.
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 8,595,572
App. No.
12/756,007
Granted
Nov 26, 2013
Kind
B2
Abstract

A data storage device may include an interface that is arranged and configured to interface with a host, a command bus, multiple memory devices that are operably coupled to the command bus and a controller that is operably coupled to the interface and to the command bus. The controller may be arranged and configured to receive a read metadata command for a specified one of the memory devices from the host using the interface, read metadata from the specified memory device and communicate the metadata to the host using the interface.

Claims (44)

1. A data storage device comprising:

an interface that is arranged and configured to interface with a host;

a command bus;

multiple memory devices that are operably coupled to the command bus; and

a controller that is operably coupled to the interface and to the command bus, wherein the controller is arranged and configured to:

receive a single read metadata command for a specified one or more of the memory devices from the host using the interface, wherein metadata comprises a logical sector number and a generation number;

read the metadata from multiple pages of the one or more specified memory devices in response to the single read metadata command; and

communicate the metadata from the multiple pages to the host using the interface.

2. The data storage device of claim 1 wherein the metadata is used to create a table to map physical addresses of data stored in the specified one or more memory devices to logical addresses for the data.

3. The data storage device of claim 1 wherein the generation number indicates a version of data associated with the logical sector number.

4. The data storage device of claim 1 wherein the metadata comprises an error correction code.

5. The data storage device of claim 1 wherein when the single read metadata command returns an error, the controller is arranged and configured to:

re-read the metadata from the specified one or more memory devices multiple times;

combine the metadata into a single metadata result; and

communicate the single metadata result to the host using the interface.

6. The data storage device of claim 1 wherein the controller is further arranged and configured to:

receive multiple read metadata commands for multiple different specified memory devices from the host using the interface;

read metadata from the specified memory devices in parallel; and

communicate the metadata to the host using the interface.

7. A non-transitory machine-readable storage medium having recorded and stored thereon instructions that, when executed, perform the actions of:

receiving a single read metadata command for a specified one or more memory devices of multiple memory devices from a host using an interface, wherein metadata comprises a logical sector number and a generation number;

reading the metadata from multiple pages of the one or more specified memory devices in response to the single read metadata command; and

communicating the metadata from the multiple pages to the host using the interface.

8. The non-transitory machine-readable storage medium of claim 7 wherein the metadata is used to create a table to map physical addresses of data stored in the specified one or more memory devices to logical addresses for the data.

9. The non-transitory machine-readable storage medium of claim 7 wherein the generation number indicates a version of data associated with the logical sector number.

10. The non-transitory machine-readable storage medium of claim 7 wherein the metadata comprises an error correction code.

11. The non-transitory machine-readable storage medium of claim 7 wherein when the single read metadata command returns an error, the instructions that, when executed, further perform the actions of:

re-reading the metadata from the specified one or more memory devices multiple times;

combining the metadata into a single metadata result; and

communicating the single metadata result to the host using the interface.

12. The non-transitory machine-readable storage medium of claim 7 wherein the instructions that, when executed, further perform the actions of:

receiving multiple read metadata commands for multiple different specified memory devices from the host using the interface;

reading metadata from the specified memory devices in parallel; and

communicating the metadata to the host using the interface.

13. A non-transitory machine-readable storage medium having recorded and stored thereon instructions that, when executed, perform the actions of:

communicating a single read metadata command to a controller using an interface to read metadata from multiple pages of one or more specified memory devices of multiple memory devices, wherein the metadata comprises a logical sector number and a generation number;

receiving the metadata from the multiple pages from the controller using the interface; and

generating a table to map physical addresses of data stored in the specified one or more memory devices to logical addresses for the data using the metadata.

14. The non-transitory machine-readable storage medium of claim 13 wherein the generation number indicates a version of data associated with the logical sector number.

15. The non-transitory machine-readable storage medium of claim 13 wherein the instructions that, when executed, further perform the actions of:

communicating multiple read metadata commands to the controller using the interface to read metadata from multiple specified memory devices;

receiving the metadata from the controller using the interface; and

generating the table to map physical addresses of the data stored in the multiple memory devices to logical addresses for the data using the metadata.

16. The non-transitory machine-readable storage medium of claim 13 wherein the metadata comprises an error correction code.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0299 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2010
From: BORCHERS, ALBERT T.; SWING, ANDREW T.; SPRINKLE, ROBERT S.; KLAUS, JASON W.
To: GOOGLE INC.
Reel/Frame 025091/0740 →
Continuity (6)
Provisional Application 61167709 · Apr 8, 2009
Provisional Application 61187835 · Jun 17, 2009
Provisional Application 61304469 · Feb 14, 2010
Provisional Application 61304468 · Feb 14, 2010
Provisional Application 61304475 · Feb 14, 2010
Related Publication 20100269015A1 · Oct 21, 2010