IP Library Granted Patent US 12,093,140
Granted Patent B2
US 12,093,140 · App. 17/951,599 · Granted Sep 17, 2024

Data recovery method, apparatus, and solid state drive

Inventors: Bo Cheng (Shenzhen, CN); Shaoquan Liu (Shenzhen, CN); Bin Han (Shenzhen, CN); Yafei Yang (Shenzhen, CN)
Assignee: SHENZHEN DAPU MICROELECTRONICS CO., LTD.
G06F11/1469G06F3/0619G06F3/065G06F3/0656G06F3/0679G06F11/1441
View Patent ↗
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 12,093,140
App. No.
17/951,599
Granted
Sep 17, 2024
Kind
B2
Abstract

A data recovery method, an apparatus, and a solid state drive are provided. The method includes: copying, after an abnormality occurs in the solid state drive, memory data of a first memory space to a solidified area of a second memory space, and then writing address information of the solidified area to a third memory space; recovering, after a controller is reset for the first time, the memory data of the first memory space according to the address information of the solidified area; flushing data of the second memory space into a flash memory space according to the recovered memory data of the first memory space; and performing, after the controller is reset for the second time, data recovery on the solid state drive according to memory data of the flash memory space.

Claims (65)

1. A data recovery method applied to a solid state drive, wherein the solid state drive comprises a first memory space, a second memory space, a third memory space, and a flash memory space, and the method comprises:

copying, after an abnormality occurs in the solid state drive, memory data of the first memory space to a solidified area of the second memory space, and then writing address information of the solidified area into the third memory space;

acquiring, after a controller is reset for the first time, the address information of the solidified area from the third memory space, and recovering the memory data of the first memory space according to the address information;

flushing data of the second memory space into the flash memory space according to the recovered memory data of the first memory space; and

performing, after the controller is reset for the second time, data recovery on the solid state drive according to memory data of the flash memory space.

2. The method according to claim 1 , wherein the solid state drive further comprises a register space, and data in the register space is not to be cleared after the controller is reset, after writing the address information of the solidified area into the third memory space, the method further comprises:

generating abnormal reset flag information, and writing the abnormal reset flag information into the register space.

3. The method according to claim 1 , wherein flushing the data of the second memory space into the flash memory space according to the recovered memory data of the first memory space comprises:

acquiring a pointer to the data of the second memory space according to the recovered memory data of the first memory space; and

flushing the data of the second memory space into the flash memory space according to the pointer to the data of the second memory space.

4. The method according to claim 3 , wherein acquiring the pointer to the data of the second memory space according to the recovered memory data of the first memory space comprises:

acquiring a pointer to user data of the second memory space and a pointer to metadata of the second memory space.

5. The method according to claim 4 , wherein flushing the data of the second memory space into the flash memory space according to the pointer to the data of the second memory space comprises:

flushing the metadata into a second preset area of the flash memory space after the user data is flushed into a first preset area of the flash memory space, wherein the second preset area is set for storing metadata.

6. The method according to claim 5 , further comprising:

determining pairing mapping information between logical addresses of the user data and physical addresses written into the first preset area; and

writing the pairing mapping information between logical addresses of the user data and physical addresses written into the first preset area into the second preset area.

7. The method according to claim 6 , wherein the performing, after the controller is reset for the second time, data recovery on the solid state drive according to memory data of the flash memory space comprises:

acquiring user data from the flash memory space according to the pairing mapping information;

recovering the acquired user data to a user area in the flash memory space; and

updating a mapping table based on the pairing mapping information.

8. The method according to claim 1 , wherein after the data recovery is performed on the solid state drive, the method further comprises:

performing metadata verification to determine data consistency.

9. The method according to claim 1 , wherein before copying, after the abnormality occurs in the solid state drive, the memory data of the first memory space to the solidified area of the second memory space, the method comprises:

freezing a write operation to the second memory space.

10. The method according to claim 1 , wherein after the controller is reset for the first time, the method further comprises:

determining whether the reset of the controller is an abnormal reset according to a state of a register space.

11. A solid state drive, comprising:

a first memory space;

a second memory space;

a third memory space;

a flash memory space;

a flash memory medium; and

a main controller connected to the flash memory medium, wherein the main controller comprising:

a memory storing instructions; and

at least one processor coupled to the memory and configured to execute the instructions to perform operations comprising:

copying, after an abnormality occurs in the solid state drive, memory data of the first memory space to a solidified area of the second memory space, and then writing address information of the solidified area into the third memory space;

acquiring, after a controller is reset for the first time, the address information of the solidified area from the third memory space, and recovering the memory data of the first memory space according to the address information;

flushing data of the second memory space into the flash memory space according to the recovered memory data of the first memory space; and

performing, after the controller is reset for the second time, data recovery on the solid state drive according to memory data of the flash memory space.

12. The solid state drive according to claim 11 , further comprising a register space, data in the register space is not to be cleared after the controller is reset, after writing the address information of the solidified area into the third memory space, the operations further comprise:

generating abnormal reset flag information, and writing the abnormal reset flag information into the register space.

13. The solid state drive according to claim 11 , wherein flushing the data of the second memory space into the flash memory space according to the recovered memory data of the first memory space comprises:

acquiring a pointer to the data of the second memory space according to the recovered memory data of the first memory space; and

flushing the data of the second memory space into the flash memory space according to the pointer to the data of the second memory space.

14. The solid state drive according to claim 13 , wherein acquiring the pointer to the data of the second memory space according to the recovered memory data of the first memory space comprises:

acquiring a pointer to user data of the second memory space and a pointer to metadata of the second memory space.

15. The solid state drive according to claim 14 , wherein flushing the data of the second memory space into the flash memory space according to the pointer to the data of the second memory space comprises:

flushing the metadata into a second preset area of the flash memory space after the user data is flushed into a first preset area of the flash memory space, wherein the second preset area is set for storing metadata.

16. The solid state drive according to claim 15 , the operations further comprise:

determining pairing mapping information between logical addresses of the user data and physical addresses written into the first preset area; and

writing the pairing mapping information between logical addresses of the user data and physical addresses written into the first preset area into the second preset area.

17. The solid state drive according to claim 16 , wherein the performing, after the controller is reset for the second time, data recovery on the solid state drive according to memory data of the flash memory space comprises:

acquiring user data from the flash memory space according to the pairing mapping information;

recovering the acquired user data to a user area in the flash memory space; and

updating a mapping table based on the pairing mapping information.

18. The solid state drive according to claim 11 , wherein after the data recovery is performed on the solid state drive, the operations further comprise:

performing metadata verification to determine data consistency.

19. A non-transitory computer-readable medium, storing a computer program, when the computer program is executed by a processor of a solid state drive, wherein the solid state drive comprises a first memory space, a second memory space, a third memory space, and a flash memory space, causes the processor to perform operations comprising:

copying, after an abnormality occurs in the solid state drive, memory data of the first memory space to a solidified area of the second memory space, and then writing address information of the solidified area into the third memory space;

acquiring, after a controller is reset for the first time, the address information of the solidified area from the third memory space, and recovering the memory data of the first memory space according to the address information;

flushing data of the second memory space into the flash memory space according to the recovered memory data of the first memory space; and

performing, after the controller is reset for the second time, data recovery on the solid state drive according to memory data of the flash memory space.

20. The non-transitory computer-readable medium according to claim 19 , wherein the solid state drive further comprises a register space, and data in the register space is not to be cleared after the controller is reset, after writing the address information of the solidified area into the third memory space, the operations further comprise:

generating abnormal reset flag information, and writing the abnormal reset flag information into the register space.

Assignments (2)
CHANGE OF NAME AND ADDRESS Recorded May 20, 2025
From: SHENZHEN DAPU MICROELECTRONICS CO., LTD.
To: DAPUSTOR CORPORATION
Reel/Frame 071515/0132 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2022
From: CHENG, BO; LIU, SHAOQUAN; HAN, BIN; YANG, YAFEI
To: SHENZHEN DAPU MICROELECTRONICS CO., LTD.
Reel/Frame 061195/0610 →
Priority Claims (1)
CN 202010561718.3 · Jun 18, 2020 · national
Continuity (2)
Continuation PCTCN2021089374 · Apr 23, 2021
Related Publication 20230016555A1 · Jan 19, 2023