IP Library › Granted Patent US 11,275,510
Granted Patent B2
US 11,275,510 · App. 16/843,823 · Granted Mar 15, 2022

Systems and methods for storage device block-level failure prediction

Inventors: Nima Elyasi (San Jose, CA); Changho Choi (San Jose, CA)
Assignee: Samsung Electronics Co., Ltd.
G06F3/0616G06F3/064G06F3/0619G06F3/0658G06F3/0679G06F12/0246G06F2212/7211
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,275,510
App. No.
16/843,823
Granted
Mar 15, 2022
Kind
B2
Abstract

In a method for dynamic wear-levelling and load redirection in a solid-state drive (SSD) including one or more blocks, the method including: receiving, by a controller, a request to write data; calculating, by the controller, a vulnerability factor of the one or more blocks; selecting, by the controller, a target block from the one or more blocks to receive the request to write data; determining, by the controller, a status of the target block based on the vulnerability factor of the target block; writing, by the controller, the data to the target block based on the status of the target block; and updating, by the controller, a mapping table based on the data written to the target block.

Claims (42)

1. A method for dynamic wear-levelling and load redirection in a solid-state drive (SSD) comprising one or more blocks, the method comprising:

receiving, by a controller, a request to write data;

calculating, by the controller, a vulnerability factor of a block of the SSD, wherein the vulnerability factor is calculated using a first parameter generated from first metadata associated with a first memory device level and a second parameter generated from second metadata associated with a second memory device level;

selecting, by the controller, the block as a target block to receive the request to write data;

determining, by the controller, a status of the target block based on the vulnerability factor of the target block;

writing, by the controller, the data to the target block based on the status of the target block; and

updating, by the controller, a mapping table based on the data written to the target block.

2. The method according to claim 1 , further comprising

writing, by the controller, the data to a replica block when the vulnerability factor of the target block is greater than a predetermined threshold.

3. The method according to claim 1 , wherein the status comprises at least one of a healthy status, a vulnerable status, or a retired status.

4. The method according to claim 1 , wherein the mapping table comprises a table that maps a logical page number of the data written to the target block to a physical page number of the data written to the target block.

5. The method according to claim 1 , wherein the target block is selected based on the vulnerability factor of the target block.

6. The method according to claim 5 , wherein the target block with a smallest vulnerability factor is selected.

7. The method according to claim 1 , wherein the vulnerability factor is calculated using a first set of parameters generated from block level metadata and a second set of parameters generated from drive level metadata.

8. The method according to claim 7 , wherein the block level metadata comprises at least one of a read error, a write error, or an erase error.

9. The method according to claim 7 , wherein the drive level metadata comprises one or more of a page identification, a block identification, a timestamp, a block-based error, and a drive log data.

10. A solid-state drive (SSD) system comprising a controller and one or more blocks, wherein the controller is configured to:

receive a request to write data;

calculate a vulnerability factor of a block of the SSD, wherein the vulnerability factor is calculated using a first parameter generated from first metadata associated with a first memory device level and a second parameter generated from second metadata associated with a second memory device level;

select the block as a target block to receive the request to write data;

determine a status of the target block based on the vulnerability factor of the target block;

write the data to the target block based on the status of the target block; and

update a mapping table based on the data written to the target block.

11. The system according to claim 10 , wherein the controller is further configured to:

write the data to a replica block when the vulnerability factor of the target block is greater than a predetermined threshold.

12. The system according to claim 10 , wherein the status comprises at least one of a healthy status, a vulnerable status, and a retired status.

13. The system according to claim 10 , wherein the target block is selected based on the vulnerability factor of the target block.

14. The system according to claim 13 , wherein the target block with a smallest vulnerability factor is selected.

15. The system according to claim 10 , wherein the vulnerability factor is calculated using a first set of parameters generated from block level metadata and a second set of parameters generated from drive level metadata.

16. The system according to claim 15 , wherein the block level metadata comprises at least one of a read error, a write error, or an erase error.

17. The system according to claim 15 , wherein the drive level metadata comprises one or more of a page identification, a block identification, a timestamp, a block-based error, and a drive log data.

18. A method for dynamic wear-levelling and load redirection within a memory system comprising one or more memory devices, the method comprising:

receiving, by a controller, a request to write data;

calculating, by the controller, a vulnerability factor of a memory device, wherein the vulnerability factor is calculated using a first parameter generated from first metadata associated with a first memory device level and a second parameter generated from second metadata associated with a second memory device level;

selecting, by the controller, the memory device as a target device to receive the request to write data based on the vulnerability factor of the target device; and

directing, by the controller, the request to write data to the target device.

19. The method according to claim 18 , wherein the memory device comprises a flash chip.

20. The method according to claim 19 , wherein the vulnerability factor of the flash chip is equal to a sum of all blocks within the flash chip.

21. The method according to claim 19 , wherein a flash chip with a smallest vulnerability factor is selected as a target flash chip.

22. The method according to claim 18 , wherein the memory device comprises an SSD.

23. The method according to claim 22 , wherein the vulnerability factor of the SSD is equal to a sum of all flash chips within the SSD.

24. The method according to claim 22 , wherein an SSD with a smallest vulnerability factor is selected as a target SSD.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2021
From: ELYASI, NIMA; CHOI, CHANGHO
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 055443/0200 →
Continuity (2)
Provisional Application 62971773 · Feb 7, 2020
Related Publication 20210247912A1 · Aug 12, 2021