IP Library Granted Patent US 12,079,485
Granted Patent B2
US 12,079,485 · App. 18/246,475 · Granted Sep 3, 2024

Method and apparatus for closing open block in SSD

Inventor: Jun Su (Shandong, CN)
Assignee: INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD.
G06F3/0613G06F3/0659G06F3/0679
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,079,485
App. No.
18/246,475
Granted
Sep 3, 2024
Kind
B2
Abstract

Provided are a method and an apparatus for writing data into an SSD. The method includes: configuring, in the SSD, a low-level cell for storing open block data to form a low-level cell block; in response to receiving a data write instruction, writing data into a high-level cell of the SSD, the high-level cell has a unit capacity higher than that of the low-level cell; in response to that an existing time of a block that is not full of data in the high-level cell exceeds an open block status threshold value, determining the block that is not full of data as an open block and storing the open block in pending list; and in response to the existence of the open block in the pending list, transferring the open block to the low-level cell block through an internal memory, and closing the open block in the low-level cell block.

Claims (44)

1. A method for writing data into a Solid State Drive (SSD), comprising:

configuring, in the SSD, a low-level cell for storing open block data to form a low-level cell block;

in response to receiving a data write instruction, writing data into a high-level cell of the SSD, wherein the high-level cell has a unit capacity higher than a unit capacity of the low-level cell;

in response to that an existing time of a block which is not full of data in the high-level cell exceeds an open block status threshold value, determining the block that is not full of data as an open block and storing the open block in a pending list; and

in response to the existence of the open block in the pending list, transferring the open block to the low-level cell block through an internal memory, and closing the open block in the low-level cell block, increasing the open block status threshold value after transferring the open block to the low-level cell block through the internal memory;

wherein the low-level cell is a Single-Level Cell (SLC) or a Multi-Level Cell (MLC); the high-level cell is a Trinary-Level Cell (TLC) or a Quad-Level Cell (QLC); and a data writing speed of the low-level cell is higher than a data writing speed of the high-level cell.

2. The method according to claim 1 , wherein the low-level cell block comprises a master block and a standby block; transferring the open block to the low-level cell block through an internal memory comprises:

in response to that the master block is not full, transferring the open block to the master block through the internal memory; and

in response to that the master block is full, transferring the open block to the standby block through the internal memory.

3. The method according to claim 2 , further comprising:

in response to that the master block and the standby block are full, transferring the open block that has been closed in the master block or in the standby block to the high-level cell.

4. The method according to claim 1 , further comprising:

adaptively updating a mapping table recording data storage addresses after transferring the open block to the low-level cell block through the internal memory.

5. The method according to claim 1 , wherein the step of closing the open block comprises:

generating and storing a read retry table for the open block, or writing invalid data into a part, which is not full of data, in the open block.

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

increasing the recycle level of the open block after transferring the open block to the low-level cell block through the internal memory.

7. The method according to claim 1 , further comprising:

setting a timer to detect whether the existing time of the block which is not full of data exceeds the open block status threshold value.

8. The method according to claim 1 , wherein the existing time is a time difference value between a start of the block and a time point detected by the timer.

9. The method according to claim 1 , wherein the internal memory is a Double Data Rate (DDR) Synchronous dynamic random access memory (SDRAM).

10. An apparatus for writing data into a Solid State Drive (SSD), comprising:

a processor; and

a memory, which stores processor-executable program code, wherein the processor is configured to execute the processor-executable program code to:

configure, in the SSD, a low-level cell for storing open block data to form a low-level cell block;

in response to receiving a data write instruction, write data into a high-level cell of the SSD, wherein the high-level cell has a unit capacity higher than a unit capacity of the low-level cell;

in response to that an existing time of a block which is not full of data in the high-level cell exceeds an open block status threshold value, determine the block that is not full of data as an open block and storing the open block in a pending list; and

in response to the existence of the open block in the pending list, transfer the open block to the low-level cell block through an internal memory, and close the open block in the low-level cell block and increase the open block status threshold value after transferring the open block to the low level cell block through the internal memory,

wherein the low-level cell is a Single-Level Cell (SLC) or a Multi-Level Cell (MLC); the high-level cell is a Trinary-Level Cell (TLC) or a Quad-Level Cell (QLC); and a the data writing speed of the low-level cell is higher than that of the high-level cell.

11. The apparatus according to claim 10 , wherein the low-level cell block comprises a master block and a standby block;

transferring the open block to the low-level cell block through an internal memory comprises: in response to that the master block is not full, transferring the open block to the master block through the internal memory; in response to that the master block is full, transferring the open block to the standby block through the internal memory; and

in response to that the master block and the standby block are full, transferring the open block that has been closed in the master block or the standby block to the high-level cell.

12. The apparatus according to claim 11 , the processor is further configured to:

transfer the open block that has been closed in the master block or in the standby block to the high-level cell in response to that the master block and the standby block are full.

13. The apparatus according to claim 10 , the processor is further configured to:

adaptively update a mapping table recording data storage addresses after transferring the open block to the low-level cell block through the internal memory.

14. The apparatus according to claim 10 , wherein the processor is further configured to:

generate and store a read retry table for the open block, or write invalid data into a part, which is not full of data, in the open block.

15. The apparatus according to claim 10 , the internal memory is a Double Data Rate (DDR) Synchronous dynamic random access memory (SDRAM).

16. The apparatus according to claim 10 , wherein the processor is further configured to:

set a timer to detect whether the existing time of the block which is not full of data exceeds the open block status threshold value.

17. The apparatus according to claim 16 , wherein the existing time is a time difference value between a start of the block and a time point detected by the timer.

18. The apparatus according to claim 10 , wherein the processor is further configured to:

increase a recycle level of the open block after transferring the open block to the low-level cell block through the internal memory.

Assignments (2)
LICENSE Recorded Jun 30, 2026
From: IEIT SYSTEMS CO., LTD
To: AIVRES SYSTEMS INC.
Reel/Frame 075857/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2024
From: SU, JUN
To: INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD.
Reel/Frame 067748/0194 →
Priority Claims (1)
CN 202011352408.7 · Nov 27, 2020 · national
Continuity (1)
Related Publication 20230359363A1 · Nov 9, 2023