Power-safe data management system
First Claim
Patent Images
1. A method comprising:
- writing data for a first write process to a first superblock of addresses in non-volatile memory, the first superblock designated as a current superblock in a master record stored in volatile memory;
upon writing data to a last address of the first superblock, designating a second superblock of addresses in the non-volatile memory as the current superblock in the master record stored in the volatile memory, wherein the second superblock was designated as a next superblock in the master record prior to be designated as the current superblock;
initiating a flush of the master record from the volatile memory to the non-volatile memory after the second superblock has been designated as the current superblock in the master record, the flush comprising writing the master record to the non-volatile memory; and
writing data for the first write process to the second superblock of addresses prior to completing the write of the master record to 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
14 Claims
-
1. A method comprising:
-
writing data for a first write process to a first superblock of addresses in non-volatile memory, the first superblock designated as a current superblock in a master record stored in volatile memory; upon writing data to a last address of the first superblock, designating a second superblock of addresses in the non-volatile memory as the current superblock in the master record stored in the volatile memory, wherein the second superblock was designated as a next superblock in the master record prior to be designated as the current superblock; initiating a flush of the master record from the volatile memory to the non-volatile memory after the second superblock has been designated as the current superblock in the master record, the flush comprising writing the master record to the non-volatile memory; and writing data for the first write process to the second superblock of addresses prior to completing the write of the master record to the non-volatile memory. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A storage system, comprising:
-
non-volatile memory; volatile memory; and a controller configured to; write data for a first write process to a first superblock of addresses in the non-volatile memory, the first superblock designated as a current superblock in a master record stored in the volatile memory; upon writing data to a last address of the first superblock, designate a second superblock of addresses in the non-volatile memory as the current superblock in the master record stored in the volatile memory, wherein the second superblock was designated as a next superblock in the master record prior to be designated as the current superblock; initiate a flush of the master record from the volatile memory to the non-volatile memory after the second superblock has been designated as the current superblock in the master record, the flush comprising writing the master record to the non-volatile memory; and write data for the first write process to the second superblock of addresses prior to completing the write of the master record to the non-volatile memory. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification