IP Library Patent Application 16530567
Patent Application
App. No. 16/530,567

Power Loss Protection And Recovery

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
16/530,567
Abstract

A method of operating a data storage system is provided. The method includes establishing a user region on a non-volatile storage media of the data storage system configured to store user data, and establishing a recovery region on the non-volatile storage media of the data storage system configured to store recovery information pertaining to at least the user region. The method also includes updating the recovery information in the recovery region responsive to at least changes to the user region, and responsive to at least a power interruption of the data storage system, rebuilding at least a portion of the user region using the recovery information retrieved from the recovery region.

Claims (47)

1 . A method of operating a data storage system, the method comprising:

establishing a user region on a non-volatile storage media of the data storage system configured to store user data;

establishing a recovery region on the non-volatile storage media of the data storage system configured to store recovery information pertaining to at least the user region;

updating the recovery information in the recovery region responsive to at least changes to the user region; and

responsive to at least a power interruption of the data storage system, rebuilding at least a portion of the user region using the recovery information retrieved from the recovery region.

2 . The method of claim 1 , wherein rebuilding at least the portion of the user region comprises:

performing a first recovery region scan to read a first data block address (DBA) offset of each block stripe of the recovery region;

determining if each block stripe of the recovery region holds valid recovery data;

performing a second recovery region scan of ones of the block stripes that hold the valid recovery data, and determining ordering among the valid recovery data; and

based on the ordering, retrieving media management tables and change logs updating the media management tables from the recovery region.

3 . The method of claim 2 , wherein the recovery information comprises snapshots of the media management tables for the user region and the change logs indicating changes to the media management tables.

4 . The method of claim 3 , wherein no changes to the media management tables for the user region are considered complete until the change logs have been successfully written.

5 . The method of claim 3 , wherein the media management tables include information correlating data block addresses to physical locations within the user region on the non-volatile storage media of the data storage system.

6 . The method of claim 1 , wherein the user region and the recovery region do not share any data blocks on the non-volatile storage media of the data storage system.

7 . The method of claim 1 , wherein data written to the recovery region the same media management layer as data written to the user region.

8 . A storage controller for a storage system, comprising:

a host interface, configured to receive data for storage within the storage system, and to transmit data from the storage system to a host system;

a storage interface, configured to transmit data to the storage system, and to receive data from the storage system; and

processing circuitry coupled with the host interface and the storage interface, configured to:

establish a user region on a non-volatile storage media of the data storage system configured to store user data;

establish a recovery region on the non-volatile storage media of the data storage system configured to store recovery information pertaining to at least the user region;

update the recovery information in the recovery region responsive to at least changes to the user region; and

responsive to at least a power interruption of the data storage system, rebuild at least a portion of the user region using the recovery information retrieved from the recovery region.

9 . The storage controller of claim 8 , wherein the processing circuitry is configured to rebuild at least the portion of the user region by:

performing a first recovery region scan to read a first data block address (DBA) offset of each block stripe of the recovery region;

determining if each block stripe of the recovery region holds valid recovery data;

performing a second recovery region scan of ones of the block stripes that hold the valid recovery data, and determining ordering among the valid recovery data; and

based on the ordering, retrieving media management tables and change logs updating the media management tables from the recovery region.

10 . The storage controller of claim 9 , wherein the recovery information comprises snapshots of the media management tables for the user region and the change logs indicating changes to the media management tables.

11 . The storage controller of claim 10 , wherein no changes to the media management tables for the user region are considered complete until the change logs have been successfully written.

12 . The storage controller of claim 10 , wherein the media management tables include information correlating data block addresses to physical locations within the user region on the non-volatile storage media of the data storage system.

13 . The storage controller of claim 8 , wherein the user region and the recovery region do not share any data blocks on the non-volatile storage media of the data storage system.

14 . The storage controller of claim 8 , wherein data written to the recovery region the same media management layer as data written to the user region.

15 . One or more non-transitory computer-readable media having stored thereon program instructions to operate a storage controller for a storage system, wherein the program instructions, when executed by processing circuitry, direct the processing circuitry to at least:

establish a user region on a non-volatile storage media of the data storage system configured to store user data;

establish a recovery region on the non-volatile storage media of the data storage system configured to store recovery information pertaining to at least the user region;

update the recovery information in the recovery region responsive to at least changes to the user region; and

responsive to at least a power interruption of the data storage system, rebuild at least a portion of the user region using the recovery information retrieved from the recovery region.

16 . The one or more non-transitory computer-readable media of claim 15 , wherein the program instructions, when executed by the processing circuitry, direct the processing circuitry to rebuild at least the portion of the user region by:

performing a first recovery region scan to read a first data block address (DBA) offset of each block stripe of the recovery region;

determining if each block stripe of the recovery region holds valid recovery data;

performing a second recovery region scan of ones of the block stripes that hold the valid recovery data, and determining ordering among the valid recovery data; and

based on the ordering, retrieving media management tables and change logs updating the media management tables from the recovery region.

17 . The one or more non-transitory computer-readable media of claim 16 , wherein the recovery information comprises snapshots of the media management tables for the user region and the change logs indicating changes to the media management tables.

18 . The one or more non-transitory computer-readable media of claim 17 , wherein no changes to the media management tables for the user region are considered complete until the change logs have been successfully written.

19 . The one or more non-transitory computer-readable media of claim 17 , wherein the media management tables include information correlating data block addresses to physical locations within the user region on the non-volatile storage media of the data storage system.

20 . The one or more non-transitory computer-readable media of claim 15 , wherein data written to the recovery region the same media management layer as data written to the user region.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER 10719389 TO PATENT NUMBER 10719389 PREVIOUSLY RECORDED AT REEL: 065954 FRAME: 0911. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 27, 2023
From: BURLYWOOD, INC.
To: JONES, MICHAEL
Reel/Frame 066132/0215 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2023
From: BURLYWOOD, INC.
To: JONES, MICHAEL
Reel/Frame 065954/0911 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2019
From: WOHLSCHLEGEL, AMY LEE; LANDIN, KEVIN DARVEAU; KOCH, NATHAN; SLATTERY, JOHN WILLIAM; HABBINGA, ERIK
To: BURLYWOOD, INC.
Reel/Frame 049946/0667 →