IP Library Granted Patent US 12,242,349
Granted Patent B2
US 12,242,349 · App. 18/134,438 · Granted Mar 4, 2025

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/0619G06F3/0634G06F3/0644G06F3/0649G06F3/065G06F3/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 12,242,349
App. No.
18/134,438
Filed
Apr 13, 2023
Granted
Mar 4, 2025
Kind
B2
Art Unit
2113
USPC
714/6.1
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 (64)

1. A method comprising:

identifying a state associated with a first storage device;

based on identifying the state:

determining that a first region associated with the first storage device is associated with a first attribute, and that a second region associated with the first storage device is associated with a second attribute;

identifying, at a second storage device, a first read command for first data;

identifying, based on the first read command, that the first data is stored in the first storage device;

based on identifying that the first data is stored in the first storage device:

determining that the first data is stored in the first region or the second region;

based on determining that the first data is stored in the first region, returning a first response to the first read command; and

based on determining that the first data is stored in the second region, returning a second response to the first read command.

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

identifying a second read command;

identifying, based on the second read command, second data stored in the first region of the first storage device; and

returning a message based on the identifying of the second data in the first region.

3. The method of claim 1 , further comprising:

identifying a write command;

writing at least a portion of second data to a cache of a computing device;

determining that the portion of the second data is associated with a third attribute; and

writing the second data to a persistent memory of the second storage device based on the determining that the portion of the second data is associated with the third attribute.

4. The method of claim 3 , wherein the third attribute includes identification of an association of the second data with the first region of the first storage device.

5. The method of claim 1 further comprising:

transmitting the first data from the first storage device to the second storage device.

6. The method of claim 1 , wherein the first attribute includes identification of first accessibility of the first region by a computing device, and the second attribute includes identification of second accessibility of the second region by the computing device.

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

8. The method of claim 1 , wherein the state includes a mode of operation of the first storage device.

9. The method of claim 8 , wherein the mode of operation includes at least one of a read-only mode, or a partial read-only mode.

10. A device 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 state associated with a first storage device;

based on the processor being configured to identify the state, the processor is further configured to:

determine that a first region associated with the first storage device is associated with a first attribute, and that a second region associated with the first storage device is associated with a second attribute;

identify, at a second storage device, a first read command for first data;

identify, based on the first read command, that the first data is stored in the first storage device;

based on the processor being configured to identify that the first data is stored in the first storage device:

determine that the first data is stored in the first region or the second region;

based on the processor being configured to determine that the first data is stored in the first region, return a first response to the first read command; and

based on the processor being configured to determine that the first data is stored in the second region, return a second response to the first read command.

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

identify a second read command;

identify, based on the second read command, second data stored in the first region of the first storage device; and

return a message based on the processor being configured to identify the second data in the first region.

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;

write at least a portion of second data to a cache of a computing device;

determine that the portion of the second data is associated with a third attribute; and

write the second data to a persistent memory of the second storage device based on the at least one processor being configured to execute the computer-executable instructions to determine that the portion of the second data is associated with the third attribute.

13. The device of claim 12 , wherein the third attribute includes identification of an association of the second data with the first region of the first storage device.

14. The device of claim 10 , wherein the at least one processor is configured to execute computer-executable instructions to transmit the first data from the first storage device to the second storage device.

15. The device of claim 10 , wherein the first attribute includes identification of first accessibility of the first region by a computing device, and the second attribute includes identification of second accessibility of the second region by the computing device.

16. The device of claim 10 , wherein the state includes a mode of operation of the first storage device.

17. The device of claim 16 , wherein the mode of operation includes at least one of a read-only mode, or a partial read-only mode.

18. 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 state associated with a first storage device;

based on identifying the state:

determining that a first region associated with the first storage device is associated with a first attribute, and that a second region associated with the first storage device is associated with a second attribute;

identifying a first read command for first data at a second storage device;

identifying, based on the first read command, that the first data is stored in the first storage device;

based on identifying that the first data is stored in the first storage device:

determining that the first data is stored in the first region or the second region;

based on determining that the first data is stored in the first region, returning a first response to the first read command; and

based on determining that the first data is stored in the second region, returning a second response to the first read command.

19. The non-transitory computer-readable medium of claim 18 , wherein the state includes a mode of operation of the first storage device.

20. The non-transitory computer-readable medium of claim 18 , wherein the first attribute includes identification of first accessibility of the first region by a computing device, and the second attribute includes identification of second accessibility of the second region by the computing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2023
From: KI, YANG SEOK; RYU, SUNGWOOK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 063762/0867 →
Continuity (5)
Continuation 17159913 · Jan 27, 2021
Provisional Application 63057744 · Jul 28, 2020
Provisional Application 63052854 · Jul 16, 2020
Provisional Application 63051158 · Jul 13, 2020
Related Publication 20230251931A1 · Aug 10, 2023
References Cited (145)
US 5546533A · Koyama · 1996 [cited by applicant]
US 6049439A · Ono et al. · 2000 [cited by applicant]
US 6301644B1 · Andoh et al. · 2001 [cited by applicant]
US 6883126B1 · Herman et al. · 2005 [cited by applicant]
US 6995943B1 · Shrestha et al. · 2006 [cited by applicant]
US 7343546B2 · Edirisooriya et al. · 2008 [cited by applicant]
US 7451346B2 · Katsuragi et al. · 2008 [cited by applicant]
US 7536595B1 · Hiltunen et al. · 2009 [cited by applicant]
US 7574623B1 · Goel et al. · 2009 [cited by applicant]
US 7590664B2 · Kamohara et al. · 2009 [cited by applicant]
US 7640450B1 · Anvin et al. · 2009 [cited by applicant]
US 7774643B2 · Wang · 2010 [cited by applicant]
US 7797567B2 · Otaka et al. · 2010 [cited by applicant]
US 7904749B2 · Kawaguchi · 2011 [cited by applicant]
US 7984328B1 · Coatney · 2011 [cited by applicant]
US 8015436B2 · Winokur · 2011 [cited by applicant]
US 8145603B2 · Yamagami · 2012 [cited by applicant]
US 8589723B2 · Kumar et al. · 2013 [cited by applicant]
US 8769535B2 · Mani · 2014 [cited by applicant]
US 8812902B2 · Deepak · 2014 [cited by applicant]
US 8924775B1 · Siew et al. · 2014 [cited by applicant]
US 9158924B2 · Maeda · 2015 [cited by examiner]
US 9176813B2 · Guo et al. · 2015 [cited by applicant]
US 9336819B2 · Cho · 2016 [cited by applicant]
US 9372755B1 · Bruce et al. · 2016 [cited by applicant]
US 9378083B2 · Ghaly et al. · 2016 [cited by applicant]
US 9397703B2 · Ghaly et al. · 2016 [cited by applicant]
US 9547562B1 · Feathergill et al. · 2017 [cited by applicant]
US 9697081B2 · Miyamae · 2017 [cited by applicant]
US 9710317B2 · Gupta et al. · 2017 [cited by applicant]
US 9728277B2 · Lee et al. · 2017 [cited by applicant]
US 9830236B2 · Antony · 2017 [cited by applicant]
US 9940028B2 · Tomlin · 2018 [cited by applicant]
US 10013325B1 · Garrett, Jr. et al. · 2018 [cited by applicant]
US 10073633B2 · Tsao et al. · 2018 [cited by applicant]
US 10082965B1 · Tamilarasan et al. · 2018 [cited by applicant]
US 10095506B2 · Gopalapura Venkatesh · 2018 [cited by examiner]
US 10102082B2 · Cabrera et al. · 2018 [cited by applicant]
US 10263842B2 · Bursell · 2019 [cited by applicant]
US 10372558B2 · Park et al. · 2019 [cited by applicant]
US 10445200B2 · Park et al. · 2019 [cited by applicant]
US 10572161B2 · Subramanian et al. · 2020 [cited by applicant]
US 10585749B2 · Kachare et al. · 2020 [cited by applicant]
US 10915401B2 · Fujii et al. · 2021 [cited by applicant]
US 11307931B1 · Bert · 2022 [cited by applicant]
US 11314571B2 · Li · 2022 [cited by applicant]
US 11630731B2 · Ki · 2023 [cited by examiner]
US 11909809B2 · Kawabata · 2024 [cited by applicant]
US 20020162057A1 · Talagala · 2002 [cited by applicant]
US 20040228493A1 · Ma · 2004 [cited by applicant]
US 20050120267A1 · Burton et al. · 2005 [cited by applicant]
US 20060143507A1 · Tanaka · 2006 [cited by applicant]
US 20070101188A1 · Lin · 2007 [cited by applicant]
US 20080126849A1 · Kotzur et al. · 2008 [cited by applicant]
US 20090106584A1 · Nakayama et al. · 2009 [cited by applicant]
US 20090164536A1 · Nasre et al. · 2009 [cited by applicant]
US 20090222617A1 · Yano et al. · 2009 [cited by applicant]
US 20100023847A1 · Morita et al. · 2010 [cited by applicant]
US 20100125751A1 · McKean · 2010 [cited by applicant]
US 20110012147A1 · Bierhuizen et al. · 2011 [cited by applicant]
US 20120089767A1 · Lee et al. · 2012 [cited by applicant]
US 20120215991A1 · Moyer · 2012 [cited by examiner]
US 20130047028A1 · Daikokuya et al. · 2013 [cited by applicant]
US 20130124780A1 · Baderdinni et al. · 2013 [cited by applicant]
US 20130282953A1 · Orme et al. · 2013 [cited by applicant]
US 20140032834A1 · Cudak et al. · 2014 [cited by applicant]
US 20140089580A1 · Yochai et al. · 2014 [cited by applicant]
US 20140095921A1 · Kobayashi et al. · 2014 [cited by applicant]
US 20140173337A1 · Igashira et al. · 2014 [cited by applicant]
US 20140195847A1 · Webman et al. · 2014 [cited by applicant]
US 20140223096A1 · Zhe Yang · 2014 [cited by examiner]
US 20140359347A1 · Fuxa · 2014 [cited by applicant]
US 20150100720A1 · Flynn et al. · 2015 [cited by applicant]
US 20150269025A1 · Krishnamurthy · 2015 [cited by examiner]
US 20160004467A1 · Green et al. · 2016 [cited by applicant]
US 20160034211A1 · Minamimoto · 2016 [cited by examiner]
US 20160077911A1 · Malshe et al. · 2016 [cited by applicant]
US 20160132394A1 · Niewczas · 2016 [cited by applicant]
US 20160299722A1 · Seo · 2016 [cited by examiner]
US 20160342465A1 · Cudak et al. · 2016 [cited by applicant]
US 20160378688A1 · Rozas · 2016 [cited by examiner]
US 20170147425A1 · Waheed · 2017 [cited by applicant]
US 20170177216A1 · Freyensee et al. · 2017 [cited by applicant]
US 20170192886A1 · Boehm · 2017 [cited by examiner]
US 20170220374A1 · Beveridge et al. · 2017 [cited by applicant]
US 20170277458A1 · Yamamoto · 2017 [cited by applicant]
US 20170351431A1 · Dewitt et al. · 2017 [cited by applicant]
US 20180011376A1 · Cho et al. · 2018 [cited by applicant]
US 20180011649A1 · Hashimoto et al. · 2018 [cited by applicant]
US 20180067658A1 · Tripathy et al. · 2018 [cited by applicant]
US 20180101450A1 · Park et al. · 2018 [cited by applicant]
US 20180113761A1 · Ko et al. · 2018 [cited by applicant]
US 20180239707A1 · Tsirkin · 2018 [cited by examiner]
US 20180316756A1 · Kuramkote et al. · 2018 [cited by applicant]
US 20190205220A1 · Zhang · 2019 [cited by examiner]
US 20190250849A1 · Compton et al. · 2019 [cited by applicant]
US 20190377637A1 · Pitchumani et al. · 2019 [cited by applicant]
US 20190384670A1 · Kuroki et al. · 2019 [cited by applicant]
US 20200020398A1 · Miller · 2020 [cited by examiner]
US 20200065027A1 · La Fratta et al. · 2020 [cited by applicant]
US 20200135280A1 · Hu · 2020 [cited by applicant]
US 20200192795A1 · Cai et al. · 2020 [cited by applicant]
US 20200310932A1 · Hutchinson et al. · 2020 [cited by applicant]
US 20210255778A1 · Garewal · 2021 [cited by applicant]
US 20210349782A1 · Ki et al. · 2021 [cited by applicant]
US 20210350033A1 · Kapinos et al. · 2021 [cited by applicant]
US 20210373796A1 · Matosevich et al. · 2021 [cited by applicant]
US 20220171568A1 · Goodall et al. · 2022 [cited by applicant]
CN 1924786A · 2007 [cited by applicant]
CN 101084486A · 2007 [cited by applicant]
CN 101727363A · 2010 [cited by applicant]
JP 6175792A · 1994 [cited by applicant]
JP 6274404A · 1994 [cited by applicant]
JP 10301721A · 1998 [cited by applicant]
JP 11184644A · 1999 [cited by applicant]
JP 2006350599A · 2006 [cited by applicant]
JP 2012509521A · 2012 [cited by applicant]
JP 2013246479A · 2013 [cited by applicant]
JP 2017201519A · 2017 [cited by applicant]
JP 202133856A · 2021 [cited by applicant]
JP 202189625A · 2021 [cited by applicant]
TW 201413449A · 2014 [cited by applicant]
TW 201729102A · 2017 [cited by applicant]
TW 201911041A · 2019 [cited by applicant]
TW 202009695A · 2020 [cited by applicant]
WO WO2018142622A1 · 2018 [cited by applicant]
US Office Action dated Mar. 30, 2023, issued in U.S. Appl. No. 17/109,041 (12 pages). [cited by applicant]
US Notice of Allowance dated Oct. 18, 2023, issued in U.S. Appl. No. 17/109,041 (8 pages). [cited by applicant]
US Office Action dated Nov. 9, 2023, issued in U.S. Appl. No. 18/131,492 (15 pages). [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/109,053 dated Jul. 13, 2022, 6 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/109,053 dated Mar. 18, 2022, 9 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/109,017 dated Apr. 18, 2022, 13 pages. [cited by applicant]
US Final Office Action dated Dec. 19, 2022, issued in U.S. Appl. No. 17/109,041 (11 pages). [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/109,017 dated Nov. 18, 2022, 8 pages. [cited by applicant]
Notice of Allowance for U.S. Appl. No. 17/109,053 dated Dec. 2, 2022, 5 pages. [cited by applicant]
Final Office Action for U.S. Appl. No. 17/109,017 dated Aug. 17, 2022, 15 pages. [cited by applicant]
Office Action for U.S. Appl. No. 17/109,041 dated Sep. 22, 2022, 10 pages. [cited by applicant]
Unpublished U.S. Appl. No. 17/109,017, filed Dec. 1, 2020. [cited by applicant]
Unpublished U.S. Appl. No. 17/109,041, filed Dec. 1, 2020. [cited by applicant]
Unpublished U.S. Appl. No. 17/109,053, filed Dec. 1, 2020. [cited by applicant]
US Notice of Allowance dated May 9, 2024, issued in U.S. Appl. No. 17/109,041 (8 pages). [cited by applicant]
US Notice of Allowance dated Feb. 2, 2024, issued in U.S. Appl. No. 17/109,041 (8 pages). [cited by applicant]
US Notice of Allowance dated Apr. 3, 2024, issued in U.S. Appl. No. 18/131,492 (6 pages). [cited by applicant]
Taiwanese Office Action dated Sep. 26, 2024, issued in corresponding Taiwanese Patent Application No. 110116137 (8 pages). [cited by applicant]
Taiwanese Office Action and Search Report for TW 11320927030 dated Sep. 6, 2024, 7 pages. [cited by applicant]