IP Library › Granted Patent US 11,263,180
Granted Patent B2
US 11,263,180 · App. 16/797,944 · Granted Mar 1, 2022

Method for facilitating recovery from crash of solid-state storage device, method of data synchronization, computer system, and solid-state storage device

Inventors: Yun-Sheng Chang (Hsinchu, TW); Ren-Shuo Liu (Hsinchu, TW)
Assignee: NATIONAL TSING HUA UNIVERSITY
G06F16/178G06F3/0617G06F3/0619G06F3/0659G06F3/0679G06F12/0804G06F12/0875G06F12/1009G06F2212/1032G06F2212/2022G06F2212/452G06F2212/7201
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,263,180
App. No.
16/797,944
Granted
Mar 1, 2022
Kind
B2
Abstract

A method for facilitating recovery from a crash of a solid-state storage device (SSD) is adapted to be implemented by an SSD controller of the SSD that receives a write request. The method includes: assigning a write request identifier (WID) and a request size in a spare area of each written page of the SSD; counting a number of appearances of the WID in all written page(s) to result in a WID count; determining whether the WID count is equal to the request size; and determining that the write request is completed and is eligible for recovery after a crash of the SSD when it is determined that the WID count is equal to the request size.

Claims (30)

1. A computer system, comprising:

a solid-state storage device (SSD) including a nonvolatile memory;

a main memory configured to store software; and

a processor electrically connected to said SSD and said main memory, and configured to execute the software stored in said main memory,

wherein said SSD is configured to receive a plurality of write requests in order, each of the write requests containing a specified address range and data to be written in said SSD,

wherein said SSD is operable in an order-preserving mode where said SSD persists, in the nonvolatile memory, the data contained in the write requests according to an order in which the write requests are received,

wherein said SSD is further configured to sequentially receive

a first write request that contains a first address range of said SSD, and first data to be written in the first address range, and

a second write request that contains a second address range of said SSD, and second data to be written in the second address range, and

wherein said SSD is further configured to, during recovery from a crash of said SSD, restore the second address range to a state of not having been updated by the second request when it is determined that the first address range has been partially updated by the first write request and the second address range has been fully updated by the second write request.

2. The computer system as claimed in claim 1 , wherein:

said SSD further includes an identifier of order-preserving guarantee which indicates that said SSD is operating in the order-preserving mode, and

said processor executing the software is configured to read the identifier of said SSD.

3. The computer system as claimed in claim 2 , wherein:

the identifier is a binary code; and

said processor is further configured to determine that said SSD is operating in the order-preserving mode when it is determined that the logical value of the identifier thus read belongs to a predefined set of values.

4. The computer system as claimed in claim 2 , wherein said processor is further configured to, when it is determined by said processor that said SSD is operating in the order-preserving mode according to the identifier thus read, enable a no-barrier option of the software to refrain from issuing any flush request.

5. The computer system as claimed in claim 1 , wherein said computer system is provided with a human-readable indicator indicating that said SSD is operable in the order-preserving mode.

6. The computer system as claimed in claim 5 , wherein said human-readable indicator is a symbol, a picture, a sticker or text on the SSD, or a description posted on the Internet.

7. The computer system as claimed in claim 1 , wherein the computer system is one of a personal computer (PC), a database server, a cloud server, a laptop computer, a tablet computer, a mobile phone, a wearable computer, a smartwatch, a television, a datacenter cluster, and a network attached storage.

8. A solid-state storage device (SSD), comprising a nonvolatile memory and receiving a plurality of write requests in order, each of the write requests containing data to be written in said SSD, wherein:

said SSD is operable in an order-preserving mode where said SSD persists, in the nonvolatile memory, the data contained in the write requests according to an order in which the write requests are received;

said SSD is further configured to sequentially receive

a first write request that contains a first address range of said SSD, and first data to be written in the first address range, and

a second write request that contains a second address range of said SSD, and second data to be written in the second address range; and

said SSD is further configured to, during recovery from a crash of said SSD, restore the second address range to a state of not having been updated by the second request when it is determined that the first address range has been partially updated by the first write request and the second address range has been fully updated by the second write request.

9. The SSD as claimed in claim 8 , wherein:

said SSD further comprises an identifier of order-preserving guarantee which indicates that said SSD is operating in the order-preserving mode.

10. The SSD as claimed in claim 8 , wherein:

said SSD atomically persists, in the nonvolatile memory, the data contained in the write requests.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2020
From: CHANG, YUN-SHENG; LIU, REN-SHUO
To: NATIONAL TSING HUA UNIVERSITY
Reel/Frame 051905/0868 →
Continuity (3)
Provisional Application 62873253 · Jul 12, 2019
Provisional Application 62809580 · Feb 23, 2019
Related Publication 20200272604A1 · Aug 27, 2020