Power-safe data management system
First Claim
Patent Images
1. A method comprising:
- loading a master record stored in a non-volatile memory after a power loss event occurred for a data storage system comprising the non-volatile memory;
determining, based on the master record, a first superblock of addresses in the non-volatile memory;
determining whether a last written page is detected from the first superblock of addresses in the non-volatile memory; and
in response to determining that the last written page is detected from the first superblock of addresses in the non-volatile memory;
determining, based on the detected last written page, an address in the non-volatile memory; and
setting the address as a next write location for a write process associated with the first superblock of addresses in the non-volatile memory.
7 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the invention include systems and methods for recovering the system status and maintaining drive coherency after an unexpected power loss. In particular, these systems and methods reduce overhead for maintaining drive coherency by providing for pre-allocation of groups of write addresses and recording the pre-allocated groups of addresses to the non-volatile memory. Write processes can write to the pre-allocated group of addresses while the next group of addresses are pre-allocated and recorded to non-volatile memory.
-
Citations
20 Claims
-
1. A method comprising:
-
loading a master record stored in a non-volatile memory after a power loss event occurred for a data storage system comprising the non-volatile memory; determining, based on the master record, a first superblock of addresses in the non-volatile memory; determining whether a last written page is detected from the first superblock of addresses in the non-volatile memory; and in response to determining that the last written page is detected from the first superblock of addresses in the non-volatile memory; determining, based on the detected last written page, an address in the non-volatile memory; and setting the address as a next write location for a write process associated with the first superblock of addresses in the non-volatile memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A storage system comprising:
-
a non-volatile memory; and a controller; wherein the controller is configured to; load a master record stored in a non-volatile memory after a power loss event occurred for a data storage system comprising the non-volatile memory; determine, based on the master record, a first superblock of addresses in the non-volatile memory; determine whether a last written page is detected from the first superblock of addresses in the non-volatile memory; and when the last written page is detected from the first superblock of addresses in the non-volatile memory, determine an address within the first superblock of addresses in the non-volatile memory, and set the address as a next write location for a write process associated with the first superblock of addresses. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A system comprising:
-
means for loading a master record stored in a non-volatile memory after a power loss event occurred for a data storage system comprising the non-volatile memory; means for determining, based on the master record, a first superblock of addresses in the non-volatile memory; means for determining whether a last written page is detected from the first superblock of addresses in the non-volatile memory; and in response to determining that the last written page is detected from the first superblock of addresses in the non-volatile memory; means for determining, based on the detected last written page, an address in the non-volatile memory; and means for setting the address as a next write location for a write process associated with the first superblock of addresses in the non-volatile memory. - View Dependent Claims (19)
-
-
20. A non-transitory machine-readable medium including machine-executable instructions thereon that, when executed by a processor, perform a method comprising:
-
loading a master record stored in a non-volatile memory after a power loss event occurred for a data storage system comprising the non-volatile memory; determining, based on the master record, a first superblock of addresses in the non-volatile memory; determining whether a last written page is detected from the first superblock of addresses in the non-volatile memory; and in response to determining that the last written page is detected from the first superblock of addresses in the non-volatile memory; determining, based on the detected last written page, an address in the non-volatile memory; and setting the address as a next write location for a write process associated with the first superblock of addresses in the non-volatile memory; in response to determining that the last written page is not detected from the first superblock of addresses in the non-volatile memory; determining a second superblock of addresses in the non-volatile memory; determining whether the last written page is detected from the second superblock of addresses in the non-volatile memory; and in response to determining that the last written page is detected from the second superblock of addresses in the non-volatile memory; determining, based on the detected last written page, an second address in the non-volatile memory; and setting the second address as the next write location for a write process associated with the second superblock of addresses in the non-volatile memory.
-
Specification