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 a plurality of atomic write commands;
grouping together the plurality of atomic write commands into a single atomic operation;
obtaining a plurality of ranges of logical addresses affected by the plurality of atomic write commands;
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.
7 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.
-
Citations
20 Claims
-
1. A method of performing an operation in a data storage device, the method comprising:
-
receiving a plurality of atomic write commands; grouping together the plurality of atomic write commands into a single atomic operation; obtaining a plurality of ranges of logical addresses affected by the plurality of atomic write commands; 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. A controller in a data storage device, the controller comprising:
a processor configured to; receive a plurality of atomic write commands; group together the plurality of atomic write commands into a single atomic operation; obtain a plurality of ranges of logical addresses affected by the plurality of atomic write commands; for each of the plurality of affected ranges, assign metadata information to track completion of a write operation performed at that range; perform the write operations in the ranges of logical addresses; 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 (11, 12, 13, 14, 15, 16, 17, 18)
-
19. A data storage device comprising:
-
a plurality of non-volatile solid-state memory devices; and a controller comprising; a processor configured to; receive a plurality of atomic write commands; group together the plurality of atomic write commands into a single atomic operation; obtain a plurality of ranges of logical addresses affected by the plurality of atomic write commands; for each of the plurality of affected ranges, assign metadata information to track completion of a write operation performed at that range; perform the write operations in the ranges of logical addresses; 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 (20)
-
Specification