IP Library › Granted Patent US 12,450,015
Granted Patent B1
US 12,450,015 · App. 18/812,386 · Granted Oct 21, 2025

Method for performing data read operation and a storage device thereof

Inventors: Pandi Kanniah (Bengaluru, IN); Ashok Navneethan Arumugam (Bengaluru, IN); Ayyanar Ponnusamy Gangheyamoorthy (Bengaluru, IN); Srinivas Sridhara (Bengaluru, IN)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F3/0659G06F3/0604G06F3/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,450,015
App. No.
18/812,386
Granted
Oct 21, 2025
Kind
B1
Abstract

A method for performing data read operation on a storage device, includes: based on receiving a command from a host device, generating a read request using a first layer associated with the storage device, wherein the read request includes at least one memory physical parameter, a default read offset, and at least one retry read offset; communicating, via a memory interface layer, the read request to a second layer associated with the storage device; performing a default read operation in the second layer based on the at least one memory physical parameter and the default read offset; detecting a first error status of the read request during the default read operation in the second layer; and based on the first error status of the read request indicating the first uncorrectable error, performing a retry read operation in the second layer using a retry read offset.

Claims (71)

1. A method for performing data read operation on a storage device, the method comprising:

based on receiving a command from a host device, generating a read request using a first layer associated with the storage device, wherein the read request comprises at least one memory physical parameter, a default read offset, and at least one retry read offset;

communicating, via a memory interface layer, the read request to a second layer associated with the storage device;

based on receiving the read request from the first layer, performing a default read operation in the second layer based on the at least one memory physical parameter and the default read offset;

detecting a first error status of the read request during the default read operation in the second layer, wherein the first error status of the read request indicates a first uncorrectable error or a first correctable error; and

based on the first error status of the read request indicating the first uncorrectable error, performing a retry read operation in the second layer using a retry read offset from among the at least one retry read offset.

2. The method of claim 1 , further comprising:

detecting a second error status of the read request during the retry read operation in the second layer, wherein the second error status of the read request indicates a second uncorrectable error or a second correctable error; and

based on the second error status of the read request during the retry read operation indicating the second uncorrectable error, performing another retry read operation in the second layer using another retry read offset from among the at least one retry read offset.

3. The method of claim 1 , wherein detecting the first error status of the read request during the default read operation comprises:

reading data from the storage device by issuing a data output command to an Error Correction Code (ECC) engine from the second layer of the storage device;

determining, using the ECC engine, a number of bit flips in the data which is read from the storage device;

based on the number of bit flips being greater than a threshold number, detecting the first error status of the read request as a first uncorrectable error status, wherein the first uncorrectable error status indicates the first uncorrectable error in the data which is read from the storage device; and

based on the number of bit flips being less than or equal to the threshold number, detecting the first error status of the read request as a first correctable error status, wherein the first correctable error status indicates the first correctable error in the data which is read from the storage device.

4. The method of claim 1 , further comprising scheduling the retry read operation as a high priority operation by:

based on the first error status of the read request indicating presence of at least one uncorrectable error, identifying a completion status of the retry read operation;

based on the completion status of the retry read operation indicating that the retry read operation is incomplete, determining a number of iterations of the retry read operation; and

based on the number of iterations being less than a threshold number, scheduling the retry read operation as the high priority operation.

5. The method of claim 1 , wherein the first layer comprises an application layer, and

wherein the second layer comprises at least one memory manager.

6. The method of claim 1 , wherein the at least one retry read offset corresponds to at least one page type associated with the storage device.

7. The method of claim 6 , wherein the at least one page type includes at least one of Single Level-Cell (SLC), Least Significant Bit (LSB), Central Significant Bit (CSB), Extended Significant Bit (ESB) and Most Significant Bit (MSB).

8. A storage device comprising:

a memory; and

a storage controller operatively coupled to the memory, the storage controller being configured to:

based on receiving a command from a host device, generate a read request using a first layer associated with the storage device, wherein the read request comprises at least one memory physical parameter, a default read offset, and at least one retry read offset,

communicate, via a memory interface layer, the read request to a second layer associated with the storage device,

based on receiving the read request from the first layer, perform a default read operation in the second layer based on the at least one memory physical parameter and the default read offset,

detect a first error status of the read request during the default read operation in the second layer, wherein the first error status of the read request indicates a first uncorrectable error or a first correctable error, and

based on the first error status of the read request indicating the first uncorrectable error, perform a retry read operation in the second layer using a retry read offset from among the at least one retry read offset.

9. The storage device of claim 8 , wherein the storage controller is further configured to:

detect a second error status of the read request during the retry read operation in the second layer, wherein the second error status of the read request indicates a second uncorrectable error or a second correctable error; and

based on the second error status of the read request during the retry read operation indicating the second uncorrectable error, perform another retry read operation in the second layer using another retry read offset from among the at least one retry read offset.

10. The storage device of claim 8 , wherein to detect the first error status of the read request during the default read operation, the storage controller is further configured to:

read data from the storage device by issuing a data output command to an Error Correction Code (ECC) engine from the second layer of the storage device;

determine, using the ECC engine, a number of bit flips in data which is read from the storage device;

based on the number of bit flips being greater than a threshold number, detect the first error status of the read request as a first uncorrectable error status, wherein the first uncorrectable error status indicates the first uncorrectable error in the data which is read from the storage device; and

based on the number of bit flips being less than or equal to the threshold number, detect the first error status of the read request as a first correctable error status, wherein the first correctable error status indicates the first correctable error in the data which is read from the storage device.

11. The storage device of claim 8 , wherein the storage controller is further configured to schedule the retry read operation as a high priority operation, and

wherein to schedule the retry read operation as the high priority operation, the storage controller is further configured to:

based on the first error status of the read request indicating the first uncorrectable error, identify a completion status of the retry read operation;

based on the completion status of the retry read operation indicating that the retry read operation is incomplete, determine a number of iterations of the retry read operation; and

based on the number of iterations being less than a threshold number, schedule the retry read operation as the high priority operation.

12. The storage device of claim 8 , wherein the first layer comprises an application layer, and

wherein the second layer comprises at least one memory manager.

13. The storage device of claim 8 , wherein the at least one retry read offset corresponds to at least one page type associated with the storage device.

14. The storage device of claim 13 , wherein the at least one page type includes at least one of Single Level-Cell (SLC), Least Significant Bit (LSB), Central Significant Bit (CSB), Extended Significant Bit (ESB) and Most Significant Bit (MSB).

15. A system, comprising:

a host device configured to transmit a command; and

a storage device including a memory and a storage controller, the storage controller operatively coupled to the memory, the storage controller being configured to:

based on receiving the command from the host device, generate a read request using a first layer associated with the storage device, wherein the read request comprises at least one memory physical parameter, a default read offset, and at least one retry read offset,

communicate, via a memory interface layer, the read request to a second layer associated with the storage device,

based on receiving the read request from the first layer, perform a default read operation in the second layer based on the at least one memory physical parameter and the default read offset,

detect a first error status of the read request during the default read operation in the second layer, wherein the first error status of the read request indicates a first uncorrectable error or a first correctable error, and

based on the first error status of the read request indicating the first uncorrectable error, perform a retry read operation in the second layer using a retry read offset from among the at least one retry read offset.

16. The system of claim 15 , wherein the storage controller is further configured to:

detect a second error status of the read request during the retry read operation in the second layer, wherein the second error status of the read request indicates a second uncorrectable error or a second correctable error; and

based on the second error status of the read request during the retry read operation indicating the second uncorrectable error, perform another retry read operation in the second layer using another retry read offset from among the at least one retry read offset.

17. The system of claim 15 , wherein to detect the first error status of the read request during the default read operation, the storage controller is further configured to:

read data from the storage device by issuing a data output command to an Error Correction Code (ECC) engine from the second layer of the storage device;

determine, using the ECC engine, a number of bit flips in data which is read from the storage device;

based on the number of bit flips being greater than a threshold number, detect the first error status of the read request as a first uncorrectable error status, wherein the first uncorrectable error status indicates the first uncorrectable error in the data which is read from the storage device; and

based on the number of bit flips being less than or equal to the threshold number, detect the first error status of the read request as a first correctable error status, wherein the first correctable error status indicates the first correctable error in the data which is read from the storage device.

18. The system of claim 15 , wherein the storage controller is further configured to schedule the retry read operation as a high priority operation, and

wherein to schedule the retry read operation as the high priority operation, the storage controller is further configured to:

based on the first error status of the read request indicating the first uncorrectable error, identify a completion status of the retry read operation;

based on the completion status of the retry read operation indicating that the retry read operation is incomplete, determine a number of iterations of the retry read operation; and

based on the number of iterations being less than a threshold number, schedule the retry read operation as the high priority operation.

19. The system of claim 15 , wherein the first layer comprises an application layer, and

wherein the second layer comprises at least one memory manager.

20. The system of claim 15 , wherein the at least one retry read offset corresponds to at least one page type associated with the storage device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2024
From: KANNIAH, PANDI; ARUMUGAM, ASHOK NAVNEETHAN; AYYANAR PONNUSAMY, GANGHEYAMOORTHY; SRIDHARA, SRINIVAS
To: SAMSUNG ELECTRONICS CO., LTD .
Reel/Frame 068373/0796 →
Priority Claims (1)
IN 202441042327 · May 31, 2024 · national
References Cited (8)
US 10790035B2 · Choi et al. · 2020 [cited by applicant]
US 10963335B2 · Yang · 2021 [cited by applicant]
US 11461177B2 · Lee · 2022 [cited by applicant]
US 20150301885A1 · Yuan · 2015 [cited by examiner]
US 20160132256A1 · Jung · 2016 [cited by examiner]
US 20190325969A1 · Hong · 2019 [cited by examiner]
US 20200160906A1 · Lee · 2020 [cited by examiner]
US 20210109807A1 · Papandreou · 2021 [cited by examiner]