IP Library Granted Patent US 11,630,731
Granted Patent B2
US 11,630,731 · App. 17/159,913 · Granted Apr 18, 2023

System and device for data recovery for ephemeral storage

Inventors: Yang Seok Ki (Palo Alto, CA); Sungwook Ryu (Palo Alto, CA)
Assignee: Samsung Electronics Co., Ltd.
G06F11/1428G06F3/065G06F3/0619G06F3/0634G06F3/0644G06F3/0649G06F3/0673G06F3/0679G06F11/0772G06F11/1068G06F11/1076G06F11/1484G06F11/203G06F11/2089G06F11/2094G06F11/3034G06F11/3037G06F11/3072G06F11/327G06F11/3409G06F12/0882G06F12/1009G06F2201/85G06F2212/262
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 11,630,731
App. No.
17/159,913
Granted
Apr 18, 2023
Kind
B2
Abstract

In various embodiments, a method for page cache management is described. The method can include: identifying a storage device fault associated with a fault-resilient storage device; determining that a first region associated with the fault-resilient storage device comprises an inaccessible space and that a second region associated with the fault-resilient storage device comprises an accessible space; identifying a read command at the second storage device for the data and determine, based on the read command, first data requested by a read operation from a local memory of the second storage device; determining, based on the read command, second data requested by the read operation from the second region; retrieving the second data from the second region; and scheduling a transmission of the second data from the fault-resilient storage device to the second storage device.

Claims (58)

1. A method for page cache management, comprising:

identifying a storage device fault associated with a fault-resilient storage device;

determining that a first region associated with the fault-resilient storage device comprises an inaccessible space and that a second region associated with the fault-resilient storage device comprises an accessible space;

identifying a read command at a second storage device for data and determine, based on the read command, first data requested by a read operation from a local memory of the second storage device;

determining, based on the read command, second data requested by the read operation from the second region;

retrieving the second data from the second region; and

scheduling a transmission of the second data from the fault-resilient storage device to the second storage device.

2. The method of claim 1 , wherein the method further comprises:

determining, based on the read command, third data requested by the read operation from the inaccessible space of the fault-resilient storage device; and

returning, based on the determination of the third data, an error from the fault-resilient storage device to the second storage device.

3. The method of claim 1 , further comprising:

identifying a write command at the fault-resilient storage device for the data;

writing at least a portion of the data to a page cache of a host device;

determining that the portion of the data comprises dirty data and writing the dirty data to a persistent memory of the second storage device; and

determining that the portion of the data comprises clean data associated with the inaccessible space and writing the clean data to a persistent memory of the second storage device.

4. The method of claim 1 , wherein the transmission of the second data comprises a live migration of at least one virtual machine from the fault-resilient storage device to the second storage device.

5. The method of claim 1 , wherein the first data comprises at least a portion of the data that is cached at the local memory.

6. The method of claim 1 , wherein the local memory comprises a DRAM and the identification of the first data is from a page cache.

7. The method of claim 1 , wherein the data comprises data associated with at least one virtual machine of a host device.

8. The method of claim 1 , wherein the storage device fault comprises the fault-resilient storage device operating in a partial read-only mode wherein the fault-resilient storage device performs at a reduced performance or at a reduced capacity.

9. The method of claim 1 , wherein at least one of the fault-resilient storage device or the second storage device comprise a solid state drive.

10. A device for page cache management, comprising:

at least one memory device that stores computer-executable instructions; and

at least one processor configured to access the at least one memory device, wherein the at least one processor is configured to execute the computer-executable instructions to:

identify a storage device fault associated with a fault-resilient storage device;

determine that a first region associated with the fault-resilient storage device comprises an inaccessible space and that a second region associated with the fault-resilient storage device comprises an accessible space;

identify a read command at a second storage device for data and determine, based on the read command, first data requested by a read operation from a local memory of the second storage device;

determine, based on the read command, second data requested by the read operation from the second region;

retrieve the second data from the second region; and

schedule a transmission of the second data from the fault-resilient storage device to the second storage device.

11. The device of claim 10 , wherein the at least one processor is further configured to execute the computer-executable instructions to:

determine, based on the read command, third data requested by the read operation from the inaccessible space of the fault-resilient storage device; and

return, based on the determination of the third data, an error from the fault-resilient storage device to the second storage device.

12. The device of claim 10 , wherein the at least one processor is further configured to execute the computer-executable instructions to:

identify a write command at the fault-resilient storage device for the data;

write at least a portion of the data to a page cache of a host device;

determine that the portion of the data comprises dirty data and write the dirty data to a persistent memory of the second storage device; and

determine that the portion of the data comprises clean data associated with the inaccessible space and write the clean data to a persistent memory of the second storage device.

13. The device of claim 10 , wherein the transmission of the data comprises a live migration of at least one virtual machine from the fault-resilient storage device to the second storage device.

14. The device of claim 10 , wherein the first data comprises at least a portion of the data that is cached at the local memory.

15. The device of claim 10 , wherein the local memory comprises a DRAM and the determination of the first data is from a page cache, and wherein the data comprises data associated with at least one virtual machine of a host device.

16. The device of claim 10 , wherein the storage device fault comprises the fault-resilient storage device operating in a partial read-only mode wherein the fault-resilient storage device performs at a reduced performance or at a reduced capacity.

17. A non-transitory computer-readable medium storing computer-executable instructions which, when executed by a processor, cause the processor to perform operations comprising:

identifying a storage device fault associated with a fault-resilient storage device;

determining that a first region associated with the fault-resilient storage device comprises an inaccessible space and that a second region associated with the fault-resilient storage device comprises an accessible space;

identifying a read command at a second storage device for data and determining, based on the read command, first data requested by a read operation from a local memory of the second storage device;

determining, based on the read command, second data requested by the read operation from the second region;

retrieving the second data from the second region; and

scheduling a transmission of the second data from the fault-resilient storage device to the second storage device.

18. The non-transitory computer-readable medium of claim 17 , wherein the non-transitory computer-readable medium further comprises computer-executable instructions comprising:

determining, based on the read command, third data requested by the read operation from the inaccessible space of the fault-resilient storage device; and

returning, based on the determination of the third data, an error from the fault-resilient storage device to the second storage device.

19. The non-transitory computer-readable medium of claim 17 , wherein the non-transitory computer-readable medium further comprises computer-executable instructions comprising:

identifying a write command at the fault-resilient storage device for the data;

writing at least a portion of the data to a page cache of a host device;

determining that the portion of the data comprises dirty data and writing the dirty data to a persistent memory of the second storage device; and

determining that the portion of the data comprises clean data associated with the inaccessible space and writing the clean data to a persistent memory of the second storage device.

20. The non-transitory computer-readable medium of claim 17 , wherein the transmission of data comprises a live migration of at least one virtual machine from the fault-resilient storage device to the second storage device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2021
From: KI, YANG SEOK; RYU, SUNGWOOK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 056127/0215 →
Continuity (4)
Provisional Application 63057744 · Jul 28, 2020
Provisional Application 63052854 · Jul 16, 2020
Provisional Application 63051158 · Jul 13, 2020
Related Publication 20220012147A1 · Jan 13, 2022
Cited By (4)
US 12,210,415 US 12,242,349 US 12,271,266 US 12,399,782