USAGE OF CACHE AND WRITE TRANSACTION INFORMATION IN A STORAGE DEVICE
First Claim
1. A method for managing a storage device, the method comprising:
- in the storage device operatively coupled with a host, wherein the storage device includes a controller and non-volatile memory, the controller;
receiving a write command from the host;
identifying a transaction ID in the write command associated with data in the write command;
writing data from the write command to a physical location in the non-volatile memory associated with the transaction ID for the write command; and
accepting the write command only upon determining that all write commands associated with the transaction ID have been received.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system are disclosed for tracking write transactions in a manner to prevent corruption of file system during interruptions such as power failures between write commands. The method includes the storage device tracking transaction identifiers for write commands and delaying the update of a main memory logical-to-physical map until all of the write commands for a particular transaction have been received based on the transaction ID information. The system includes a storage device having a flash memory with a main logical-to-physical mapping data structure and a controller configured to track individual write commands of a write transaction and store data from those commands without updating the main logical-to-physical mapping data structure until all of the data for the write transaction has been received.
-
Citations
25 Claims
-
1. A method for managing a storage device, the method comprising:
in the storage device operatively coupled with a host, wherein the storage device includes a controller and non-volatile memory, the controller; receiving a write command from the host; identifying a transaction ID in the write command associated with data in the write command; writing data from the write command to a physical location in the non-volatile memory associated with the transaction ID for the write command; and accepting the write command only upon determining that all write commands associated with the transaction ID have been received. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. A storage device comprising:
-
a non-volatile memory; and a controller in communication with the non-volatile memory, wherein the controller is configured to; receive a write command from a host; identify a transaction ID in the write command associated with data in the write command; write data from the write command to a physical location in the storage device associated with the transaction ID for the write command; and accept the write command only upon determining that all write commands associated with transaction ID have been received. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for managing a storage device, the method comprising:
in the storage device operatively coupled with a host, wherein the storage device includes a controller, non-volatile memory and a main logical-to-physical mapping data structure, the controller; receiving a plurality of write commands from the host; identifying transaction identifiers (IDs) in the plurality of write commands associated with data in the write command, wherein each write command includes a transaction ID and more than one write command includes a same transaction ID; writing data from the plurality of write commands to physical locations in the storage device, and tracking a respective transaction identifier associated with the data received in a same write command with the respective transaction identifier, without updating the main logical-to-physical mapping data structure; and only upon determining that all write commands associated with a same respective transaction ID have been received, updating the main logical-to-physical mapping data structure to include the physical locations of the data associated with the same respective transaction ID. - View Dependent Claims (22, 23, 24, 25)
Specification