IP Library Granted Patent US 10,769,018
Granted Patent B2
US 10,769,018 · App. 16/209,319 · Granted Sep 8, 2020

System and method for handling uncorrectable data errors in high-capacity storage

Inventor: Shu Li (Bothell, WA)
Assignee: Alibaba Group Holding Limited
G06F11/141G06F3/0619G06F3/0631G06F3/0688G06F11/108G06F12/0246G11C29/42G11C29/44G11C29/52G06F2212/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 10,769,018
App. No.
16/209,319
Granted
Sep 8, 2020
Kind
B2
Abstract

One embodiment described herein provides a method and system for handling errors in a storage system. During operation a data-placement module of the storage system detects an error occurring at a first physical location within the storage system. In response to determining that the error occurs during a write access, the system writes to-be-written data into a second physical location within the storage system, and updates a mapping between a logical address and a physical address associated with the to-be-written data.

Claims (52)

1. A computer-implemented method for handling errors in a storage system, the method comprising:

detecting, by a data-placement module of the storage system, an error occurring at a first physical location within the storage system;

in response to determining that the error occurs during a write access, writing to-be-written data into a second physical location within the storage system;

updating a mapping between a logical address and a physical address associated with the to-be-written data;

in response to determining that the error occurs during a read access that belongs to a background process,

determining a destination physical location associated with to-be-read data based on a current mapping table,

writing dummy data into the destination physical location and

indicating, by setting a data-incorrect flag, in a mapping table entry associated with the to-be-read data that current data stored at the destination physical location is incorrect;

retrieving a copy of the to-be-read data from a second storage system; and

serving the read access using the retrieved copy.

2. The computer-implemented method of claim 1 , wherein the storage system is based on solid-state drives (SSDs), and wherein the SSD-based storage system comprises a plurality of not-and (NAND) flash drives.

3. The computer-implemented method of claim 1 , further comprising:

in response to determining that the error occurs during a read access belongs to a host process, serving the read access by returning the retrieved copy to an application requesting the to-be written data.

4. The computer-implemented method of claim 1 , wherein the background process comprises a garbage collection process or a read-disturb handling process.

5. The computer-implemented method of claim claim 1 , further comprising:

subsequent to retrieving the copy, writing the copy to a second destination physical location; and

updating the mapping table entry associated with the to-be-read data using a physical address of the second destination physical location.

6. The computer-implemented method of claim 1 , wherein updating the mapping table entry further comprises unsetting the data-incorrect flag.

7. The computer-implemented method of claim 1 , further comprising:

subsequent to retrieving the copy, repairing a storage drive within the storage system, within which the error occurs, using the retrieved copy without bringing the storage drive offline.

8. The computer-implemented method of claim 1 , wherein detecting the error further comprises:

in response to receiving an error correction coding (ECC) error, initiating a data recovery operation; and

detecting the error in response to determining that the data recovery operation fails.

9. A storage system, comprising:

a plurality of storage drives; and

a data-placement module coupled to the storage drives, wherein the data-placement module is configured to:

detect an error occurring at a first physical location within the storage drives;

in response to determining that the error occurs during a write access, write to-be-written data into a second physical location within the storage drives;

update a mapping between a logical address and a physical address associated with the to-be-written data;

in response to determining that the error occurs during a read access that belongs to a background process,

determine a destination physical location associated with to-be-read data based on a current mapping table,

write dummy data into the destination physical location, and

indicate, by setting a data-incorrect flag, in a mapping table entry associated with the to-be-read data that current data stored at the destination physical location is incorrect;

retrieve a copy of the to-be-read data from a second storage system; and

serve the read access using the retrieved copy.

10. The storage system of claim 9 , wherein the storage drives comprise a plurality of not-and (NAND) flash drives.

11. The storage system of claim 9 , wherein the data-placement module is further configured to:

in response to determining that the error occurs during a read access belongs to a host process, serve the read access by returning the retrieved copy to an application requesting the to-be written data.

12. The storage system of claim 9 , wherein the background process comprises a garbage collection process or a read-disturb handling process.

13. The storage system of claim 9 , wherein the data-placement module is further configured to:

write the copy into a second destination physical location subsequent to retrieving the copy; and

update the mapping table entry associated with the to-be-read data using a physical address of the second destination physical location.

14. The storage system of claim 9 , wherein while updating the mapping table entry, the data-placement layer is further configured to unset the data-incorrect flag.

15. The storage system of claim 9 , wherein the data-placement layer is further configured to:

subsequent to retrieving the copy, repair a storage drive within the storage system, within which the error occurs, using the retrieved copy without bringing the storage drive offline.

16. The storage system of claim 9 , wherein while detecting the error, the data-placement module is further configured to:

in response to receiving an error correction coding (ECC) error, initiate a data recovery operation; and

detect the error in response to determining that the data recovery operation fails.

17. The storage system of claim 9 , wherein the data-placement module resides in a user space, and wherein the data-placement module is further configured to:

interface with application to receive to-be written data;

allocate logic extents for the to-be-written data; and

map the logic extents to physical locations.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2018
From: LI, SHU
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 047670/0491 →
Continuity (1)
Related Publication 20200174886A1 · Jun 4, 2020
Cited By (1)
US 12,541,424