System and method of implementing a table storage support scheme
First Claim
Patent Images
1. A data storage device comprising:
- a memory configured to store;
a table that includes a plurality of pages; and
a first data structure including address information for a first page of the table, wherein the address information indicates the first page corresponds to a first set of logical addresses, wherein the first data structure includes address information for less than all of the plurality of pages; and
a controller operatively coupled to the memory, wherein the controller is configured to;
reserve multiple sets of logical addresses associated with the table to enable storage of multiple versions of the first page of the table, the multiple sets including the first set of logical addresses, a second set of logical addresses, and a third set of logical addresses;
responsive to initiation of a transaction, generate a second data structure by copying the first data structure;
update the second data structure to include updated address information corresponding to the first page of the table, wherein the updated address information indicates that the first page corresponds to the second set of logical addresses; and
receive a commit indicator or an abort indicator, wherein the commit indicator makes a first version of the table obsolete and a second version of the table available to the host, wherein the second version of the table is an update of the first version of the table, wherein the abort indicator makes the second version of the table obsolete and the first version of the available to the host, and wherein the commit indicator processes the second version of the table based on whether a transaction is a non-nested transaction or a nested transaction.
2 Assignments
0 Petitions
Accused Products
Abstract
A data storage device may be configured to update a table used by a host device, such as a table stored at the data storage device. For, example, the data storage device may generate and store an updated version of a portion of the table. A storage location of the updated version of the portion may be tracked using a data structure that corresponds to a second version of the table. The second version of the table may be discarded or made accessible to the host device responsive to an indicator detected by the data storage device.
-
Citations
30 Claims
-
1. A data storage device comprising:
-
a memory configured to store; a table that includes a plurality of pages; and a first data structure including address information for a first page of the table, wherein the address information indicates the first page corresponds to a first set of logical addresses, wherein the first data structure includes address information for less than all of the plurality of pages; and a controller operatively coupled to the memory, wherein the controller is configured to; reserve multiple sets of logical addresses associated with the table to enable storage of multiple versions of the first page of the table, the multiple sets including the first set of logical addresses, a second set of logical addresses, and a third set of logical addresses; responsive to initiation of a transaction, generate a second data structure by copying the first data structure; update the second data structure to include updated address information corresponding to the first page of the table, wherein the updated address information indicates that the first page corresponds to the second set of logical addresses; and receive a commit indicator or an abort indicator, wherein the commit indicator makes a first version of the table obsolete and a second version of the table available to the host, wherein the second version of the table is an update of the first version of the table, wherein the abort indicator makes the second version of the table obsolete and the first version of the available to the host, and wherein the commit indicator processes the second version of the table based on whether a transaction is a non-nested transaction or a nested transaction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method of managing a table, the method comprising:
in a data storage device including a controller and a memory, wherein the memory stores a table that includes a plurality of pages, performing; responsive to initiation of a transaction, copying a first data structure to generate a second data structure, the first data structure including address information for a first page of the table, wherein the address information indicates the first page corresponds to a first set of logical addresses of multiple sets of logical addresses, wherein the first data structure includes address information for less than all of the plurality of pages; updating the second data structure to include updated address information corresponding to the first page of the table, wherein the updated address information indicates that the first page corresponds to a second set of logical addresses of the multiple sets of logical addresses; generating a third data structure including updated address information that indicates the first page corresponds to a third set of logical addresses of the multiple sets of logical addresses; and receiving a commit indicator or an abort indicator, wherein the commit indicator makes a first version of the table obsolete and a second version of the table available to the host, wherein the second version of the table is an update of the first version of the table, wherein the abort indicator makes the second version of the table obsolete and the first version of the table available to the host, and wherein the commit indicator processes the second version of the table based on whether a transaction is a non-nested transaction or a nested transaction. - View Dependent Claims (22, 23, 24, 25, 26)
-
27. A device comprising:
-
means for storing a table that includes a plurality of pages and for storing a first data structure including address information for a first page of the table, wherein the address information indicates the first page corresponds to a first set of logical addresses of multiple sets of logical addresses, wherein the first data structure includes address information for less than all of the plurality of pages; means for generating a second data structure as a copy of the first data structure responsive to initiation of a transaction; means for updating the second data structure to include updated address information corresponding to the first page of the table, wherein the updated address information indicates that the first page corresponds to a second set of logical addresses of the multiple sets of logical addresses; means for generating a third data structure as a copy of the updated second data structure and for updating the third data structure to include second updated address information that indicates the page corresponds to a third set of logical addresses of the multiple sets of logical addresses; and means for receiving a commit indicator or an abort indicator, wherein the commit indicator makes a first version of the table obsolete and a second version of the table available to the host, wherein the second version of the table is an update of the first version of the table, wherein the abort indicator makes the second version of the table obsolete and the first version of the table available to the host, and wherein the commit indicator processes the second version of the table based on whether a transaction is a non-nested transaction or a nested transaction. - View Dependent Claims (28, 29, 30)
-
Specification