System data management using garbage collection and hybrid self mapping
First Claim
1. In a data storage system comprising a non-volatile memory array and a controller, a method of managing a mapping table comprising a plurality of table pages associating logical addresses with physical locations in the non-volatile memory array where data is stored, the method comprising:
- storing a first set of table pages in a first region of the non-volatile memory array;
storing a second set of table pages in a second region of the non-volatile memory array, wherein the first and second regions are configured to achieve concurrent execution of storage access operations;
executing a plurality of storage access operations;
determining whether certain pages of the first and second sets of table pages have become invalid as a result of executing the storage access operations;
determining the number of remaining valid table pages existing at least in the first set of table pages;
generating a mapping page that includes information indicating the determined number of remaining valid table pages in each of the first and second regions, wherein the determined number of remaining valid table pages is included in a header of the mapping page; and
if the number of the remaining valid table pages satisfies a threshold;
copying the valid table pages of the first set to a third region of the non-volatile memory array; and
freeing the first region,wherein, by delaying the copying of mapping table pages until the number of the remaining valid tables pages satisfies the threshold, the number of table pages copied is reduced, andwherein the method is performed under the control of the controller.
10 Assignments
0 Petitions
Accused Products
Abstract
A data storage system is disclosed that utilizes garbage collection and hybrid self-mapping for managing system data. In one embodiment, a system data region having an amount of valid system data that is below a threshold is freed. Write amplification associated with managing and storing system data can be reduced at least in part because only valid system data can be copied during garbage collection of the selected region. Mapping information associating system data with physical locations in non-volatile storage where system data is stored can be generated, which can reduce system data reconstruction time during start-up of the data storage system. Increase in efficiency and reduction in startup and initialization time can be attained.
-
Citations
25 Claims
-
1. In a data storage system comprising a non-volatile memory array and a controller, a method of managing a mapping table comprising a plurality of table pages associating logical addresses with physical locations in the non-volatile memory array where data is stored, the method comprising:
-
storing a first set of table pages in a first region of the non-volatile memory array; storing a second set of table pages in a second region of the non-volatile memory array, wherein the first and second regions are configured to achieve concurrent execution of storage access operations; executing a plurality of storage access operations; determining whether certain pages of the first and second sets of table pages have become invalid as a result of executing the storage access operations; determining the number of remaining valid table pages existing at least in the first set of table pages; generating a mapping page that includes information indicating the determined number of remaining valid table pages in each of the first and second regions, wherein the determined number of remaining valid table pages is included in a header of the mapping page; and if the number of the remaining valid table pages satisfies a threshold; copying the valid table pages of the first set to a third region of the non-volatile memory array; and freeing the first region, wherein, by delaying the copying of mapping table pages until the number of the remaining valid tables pages satisfies the threshold, the number of table pages copied is reduced, and wherein the method is performed under the control of the controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 25)
-
-
11. A data storage system comprising:
-
a non-volatile memory array configured to store data and a mapping table comprising a plurality of table pages associating logical addresses with physical locations in the non-volatile memory array where data is stored; and a controller configured to; store a first set of table pages in a first region of the non-volatile memory array; store a second set of table pages in a second region of the non-volatile memory array, wherein the first and second regions are configured to achieve concurrent execution of storage access operations; execute a plurality of storage access operations; determine whether certain pages of the first and second sets of table pages have become invalid as a result of executing the storage access operations; determine the number of remaining valid table pages existing at least in the first set of table pages; generate a mapping page that includes information indicating the determined number of remaining valid table pages in each of the first and second regions, wherein the determined number of remaining valid table pages is included in a header of the mapping page; and if the number of the remaining valid table pages satisfies a threshold; copy the valid table pages of the first set to a third region of the non-volatile memory array; and free the first region. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. In a data storage system comprising a non-volatile memory array and a controller, a method of managing system data stored in a plurality of non-volatile memory array pages, the method comprising:
-
storing a first set of system data pages of a first region of the non-volatile memory array; storing a second set of system data pages of a second region of the non-volatile memory array, wherein the first and second regions are configured to achieve concurrent execution of storage access operations; executing a plurality of storage access operations; determining whether at least some pages of the first and second sets of system data pages have become invalid as a result of executing the storage access operations; determining the number of remaining valid system data pages existing at least in the first set of system data pages; generating a mapping page that includes information indicating the determined number of remaining valid table pages in each of the first and second regions, wherein the determined number of remaining valid table pages is included in a header of the mapping page; and if the number of the remaining valid system data pages satisfies a threshold; copying the valid system data pages of the first set to a third region of the non-volatile memory array; and freeing the first region, wherein the method is performed under the control of the controller. - View Dependent Claims (22, 23, 24)
-
Specification