Method and system for atomically writing scattered information in a solid state storage device
First Claim
1. A method of performing an operation in a data storage device, the method comprising:
- receiving an atomic write command;
obtaining a plurality of ranges of logical addresses affected by the atomic write command;
for each of the plurality of affected ranges, assigning metadata information to track completion of a write operation performed at that range;
performing the write operations in the ranges of logical addresses;
updating the metadata information upon completion of the write operations in the ranges; and
deferring an update to a translation map of the data storage device until the metadata information has been updated.
8 Assignments
0 Petitions
Accused Products
Abstract
Disclosed herein are several methods and systems for handling atomic write commands that reach scattered address ranges. One embodiment includes a method of performing an operation in a data storage device, the method comprising: receiving an atomic write command; obtaining a plurality of ranges of logical addresses affected by the atomic write command; for each of the plurality of affected ranges, assigning metadata information to track completion of a write operation performed at that range; performing the write operations in the ranges of logical addresses; updating the metadata information upon completion of the write operations in the ranges; and deferring an update to a translation map of the data storage device until the metadata information has been updated.
150 Citations
31 Claims
-
1. A method of performing an operation in a data storage device, the method comprising:
-
receiving an atomic write command; obtaining a plurality of ranges of logical addresses affected by the atomic write command; for each of the plurality of affected ranges, assigning metadata information to track completion of a write operation performed at that range; performing the write operations in the ranges of logical addresses; updating the metadata information upon completion of the write operations in the ranges; and deferring an update to a translation map of the data storage device until the metadata information has been updated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A controller in a data storage device, the controller comprising:
a processor configured to; receive an atomic write command; obtain a plurality of ranges of logical addresses associated with a plurality of non-volatile solid-state memory devices of the data storage device that are affected by the atomic write command; for each of the plurality of affected ranges, assign metadata information to track completion of a write operation performed at that range; cause the write operations to be executed in the ranges of logical addresses in the non-volatile solid-state memory devices; update the metadata information upon completion of the write operations in the ranges; and defer an update to a translation map of the data storage device until the metadata information has been updated. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
25. A data storage device comprising:
-
a plurality of non-volatile solid-state memory devices; and a controller comprising; a processor configured to; receive an atomic write command; obtain a plurality of ranges of logical addresses associated with the plurality of non-volatile solid-state memory devices of the data storage device that are affected by the atomic write command; for each of the plurality of affected ranges, assign metadata information to track completion of a write operation performed at that range; cause the write operations to be executed in the ranges of logical addresses in the non-volatile solid-state memory devices; update the metadata information upon completion of the write operations in the ranges; and defer an update to a translation map of the data storage device until the metadata information has been updated. - View Dependent Claims (26, 27, 28, 29, 30, 31)
-
Specification