IP Library Patent Application 16389949
Patent Application
App. No. 16/389,949

Method and Apparatus for Restoring Data after Power Failure for An Open-Channel Solid State Drive

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/389,949
Abstract

The power protection system includes a host driver in the host system and an SSD driver situated in an SSD. In one aspect, the host driver includes a write buffer able to store information during a write operation to an open-channel solid state drive (“OCSSD”). The SSD driver connected to the host driver via a bus includes an SSD double data rate (“DDR”) buffer configured to store a copy of content similar to content in the write buffer and an SSD nonvolatile memory (“NVM”) coupled to the SSD DDR buffer and configured to preserve the data stored in the SSD DDR buffer when a power failure is detected. The SSD driver also includes a power supply, which can be a capacitor, coupled to the SSD DDR buffer for providing power to the SSD DDR buffer when the power is lost.

Claims (41)

1 . A method for restoring data during memory access to an open-channel solid state drive (“OCSSD”), comprising:

receiving a file synchronization (“fsync”) command from a host central processing unit (“CPU”) to an OCSSD for data restoration in a write buffer in a host after a power failure;

retrieving data from a buffer restoring nonvolatile memory (“NVM”) in the OCSSD;

sending the data from the OCSSD to the host for restoring content in a write buffer in the host to content immediately before the power failure so that memory access can continue; and

issuing a backup acknowledgement signal from the OCSSD to the host in response to the fsync command.

2 . The method of claim 1 , further comprising maintaining a copy of substantially same content of a write buffer of the host in an SSD local memory in the OCSSD.

3 . The method of claim 2 , further comprising:

detecting the power failure; and

maintaining the data in the SSD local memory for a predefined period time by a capacitor for preserving the data integrity.

4 . The method of claim 3 , further comprising transferring the data in the SSD local memory to a predefined NVM block for saving the data persistently while the data in the SSD local memory is maintained by the capacitor.

5 . The method of claim 3 , further comprising transferring the data in the SSD local memory to the buffer restoring NVM for saving the data while the data in the SSD local memory is maintained by the capacitor.

6 . The method of claim 4 , further comprising:

detecting restoration of power; and

restoring the data from the predefined NVM block to the SSD local memory.

7 . The method of claim 1 , wherein sending the data from the OCSSD to the host further includes loading the data from the SSD local memory to the write buffer in the host.

8 . The method of claim 1 , wherein sending the data from the OCSSD to the host further includes loading the data from the buffer restoring NVM to the write buffer in the host.

9 . The method of claim 7 , further comprising resuming IO operation immediately after the power failure in response to the data in the write buffer.

10 . The method of claim 1 , further comprising loading data from the write buffer to a local random-access memory (“RAM”) in the OCSSD via a Peripheral Component Interconnect Express (“PCIe”) bus.

11 . The method of claim 3 , wherein detecting a power failure includes activating a capacitor to maintain content of the SSD local memory.

12 . The method of claim 11 wherein activating a capacitor includes maintaining the data in the SSD local memory for at least three(s) milliseconds (“ms”).

13 . The method of claim 11 , wherein activating a capacitor includes setting a capacitor with sufficient capacitance to maintain the data in the SSD local memory for a range between 3 milliseconds (“ms”) and 25 ms after loss of power.

14 . The method of claim 4 , wherein transferring the data in the SSD local memory to a predefined NVM block includes loading content of the SSD local memory to an OCSSD single level cell block.

15 . A method of restoring data in a buffer in a host during an unintended power failure comprising,

maintaining a copy of substantially same content of a write buffer of the host in a solid-state drive (“SSD”) double data rate (“DDR”) buffer in an open-channel SSD (“OCSSD”);

maintaining the data in the SSD DDR buffer for a predefined period time by a capacitor for preserving the data integrity upon detecting a power failure;

transferring the data in the SSD DDR buffer to a buffer restoring NVM for saving the data persistently while the data in the SSD local memory is maintained by the capacitor; and

restoring content in the write buffer in accordance with the data in the buffer restoring NVM upon detection of power restoration.

16 . The method of claim 15 , further comprising detecting restoration of power; and restoring the data from the buffer restoring NVM to the SSD DDR buffer.

17 . The method of claim 15 , comprising:

receiving a command from a host central processing unit (“CPU”) for accessing one or more NVM pages; and

loading data from the write buffer in a host system to the SSD DDR buffer via a bus connecting the host system and the OCSSD.

18 . The method of claim 17 , comprising:

sending a backup acknowledge signal from the OCSSD to the host system when the data in the buffer is coped to the SSD DDR buffer; and

issuing an input and output (“IO”) commend acknowledge signal by the host system in response to the backup acknowledge signal.

19 . A power protection system configured to protect data loss during a power failure for an open-channel solid-state drive (“OCSSD”), comprising:

a host driver situated in a host system and configured to have a write buffer able to store information during a write operation to an OCSSD;

an SSD driver situated in an SSD and coupled to the host driver via an external bus, wherein the SSD driver includes:

an SSD double data rate (“DDR”) buffer configured to store a copy of content similar to content in the write buffer;

an SSD nonvolatile memory (“NVM”) coupled to the SSD DDR buffer and configured to preserve the data stored in the SSD DDR buffer when a power failure is detected; and

a power supply coupled to the SSD DDR buffer for providing power to the SSD DDR buffer when the power is lost.

20 . The system of claim 19 , wherein the power supply is a capacitor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2022
From: CNEX LABS, INC.
To: POINT FINANCIAL, INC.
Reel/Frame 058951/0738 →