IP Library Granted Patent US 10,348,337
Granted Patent B2
US 10,348,337 · App. 15/441,161 · Granted Jul 9, 2019

Data read method and memory storage device using the same

Inventors: Chuen-Der Lien (San Jose, CA); Ming-Huei Shieh (San Jose, CA); Chi-Shun Lin (San Jose, CA)
Assignee: Winbond Electronics Corp.
H03M13/6502G06F11/1048H03M13/3715
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,348,337
App. No.
15/441,161
Granted
Jul 9, 2019
Kind
B2
Abstract

A data read method for a memory storage device is provided. The data read method includes: receiving a first read command from a host system for reading first data; calculating an error bit number of the first data; and performing a correction of the first data. If the error bit number is not greater than a predetermined number, finishing the correction of the first data and returning the corrected first data at a pre-defined timing. If the error bit number is greater than a predetermined number, finishing the correction of the first data and returning the corrected first data after the pre-defined timing. In addition, a memory storage device using the data read method is also provided.

Claims (48)

1. A data read method adapted for a memory controller of a memory storage device, comprising:

receiving a first read command from a host system for reading first data;

calculating an error bit number of the first data;

comparing the error bit number of the first data to a predetermined number;

performing a correction of the first data using a n-bit error-correction code (ECC) and returning the corrected first data to the host system during a period provided by a pre-defined clock if the error bit number is not greater than the predetermined number; and

receiving a second read command from the host system for reading the first data, performing the correction of the first data using a m-bit ECC and returning the corrected first data to the host system after the period provided by the pre-defined clock if the error bit number is greater than the predetermined number, wherein n and m are integers, and n is smaller than m,

wherein if the error bit number is greater than the predetermined number, the corrected first data is returned to the host system during a period provided by:

a subsequent first system clock of a second frequency, wherein the second frequency is lower than the first frequency, and the subsequent first system clock is subsequent to the pre-defined system clock;

at least two subsequent second system clocks of the first frequency, wherein the subsequent second system clock is subsequent to the pre-define system clock; or

the subsequent second system clock of the first frequency and at least one dummy clock of the first frequency after the pre-defined system clock.

2. The data read method as claimed in claim 1 , wherein the pre-defined clock is a pre-defined system clock, wherein a system frequency at the pre-define system clock is a first frequency.

3. The data read method as claimed in claim 1 , wherein step of calculating the error bit number of the first data comprises:

retrieving the first data by using a first sensing reference according to the first read command; and

calculating the error bit number of the first data under a multiple bits ECC scheme.

4. A data read method adapted for a memory controller of a memory storage device, comprising:

receiving a first read command from a host system for reading first data;

calculating an error bit number of the first data, wherein step of calculating the error bit number of the first data comprises:

retrieving the first data by using a first sensing reference according to the first read command; and

calculating the error bit number of the first data under a multiple bits ECC scheme;

comparing the error bit number of the first data to a predetermined number;

performing a correction of the first data using a n-bit error-correction code (ECC) and returning the corrected first data to the host system during a period provided by a pre-defined clock if the error bit number is not greater than the predetermined number; and

performing the correction of the first data using a m-bit ECC and returning the corrected first data to the host system after the period provided by the pre-defined clock if the error bit number is greater than the predetermined number, wherein n and m are integers, and n is smaller than m,

wherein if the error bit number is greater than the predetermined number, the data read method further comprises:

receiving a second read command from the host system for reading the first data; and

retrieving the first data by using a second sensing reference according to the second read command, wherein the second sensing reference is different from the first sensing reference.

5. The data read method as claimed in claim 1 , further comprising:

sending an error flag to the host system before the period provided by the pre-defined clock, wherein the error flag indicates the error bit number of the first data, wherein the host system receives the error flag and receives the first data after the period provided by the pre-defined clock according to the received error flag.

6. The data read method as claimed in claim 1 , further comprising:

sending an error flag to the host system during the period provided by the pre-defined clock, wherein the error flag indicates the error bit number of the first data, wherein the host system receives the error flag and receives the first data after the period provided by the pre-defined clock according to the received error flag.

7. The data read method as claimed in claim 1 , wherein the predetermined number is preset according to at least one correction cost for correcting data read from the memory storage device.

8. A memory storage device, comprising:

a host interface configured to couple to a host system;

a memory array; and

a memory controller coupled to the host interface and the memory array, wherein the memory controller receives a first read command from the host system for reading first data, calculates an error bit number of the first data, and compares the error bit number of the first data to a predetermined number,

the memory controller performs a correction of the first data using a n-bit error-correction code (ECC) and returns the corrected first data to the host system during a period provided by a pre-defined clock if the error bit number is not greater than the predetermined number, and

the memory controller performs the correction of the first data using a m-bit ECC and returns the corrected first data to the host system after the period provided by the pre-defined clock if the error bit number is greater than the predetermined number, wherein n and m are integers, and n is smaller than m,

wherein when the memory controller calculates the error bit number of the first data, the memory controller retrieves the first data by using a first sensing reference from the memory array according to the first read command, and calculates the error bit number of the first data under a multiple bits ECC scheme,

wherein if the error bit number is greater than the predetermined number, the memory controller receives a second read command from the host system for reading the first data, and further retrieves the first data by using a second sensing reference according to the second read command, wherein the second sensing reference is different from the first sensing reference.

9. The memory storage device as claimed in claim 8 , wherein the pre-defined clock is a pre-defined system clock, wherein a system frequency at the pre-define system clock is a first frequency.

10. The memory storage device as claimed in claim 9 , wherein if the error bit number is greater than the predetermined number,

the memory controller returns the corrected first data at a subsequent first system clock of a second frequency, wherein the second frequency is lower than the first frequency, and the subsequent first system clock is subsequent to the pre-defined system clock.

11. The memory storage device as claimed in claim 9 , wherein if the error bit number is greater than the predetermined number,

the memory controller returns the corrected first data at at least two subsequent second system clocks of the first frequency, wherein the subsequent second system clock is subsequent to the pre-define system clock.

12. The memory storage device as claimed in claim 9 , wherein if the error bit number is greater than the predetermined number,

the memory controller returns the corrected first data at a subsequent second system clock of the first frequency and at least one dummy clock of the first frequency after the pre-defined system clock.

13. The memory storage device as claimed in claim 8 , wherein the memory controller further generates an error flag indicating the error bit number of the first data, and sends the error flag to the host system before the period provided by the pre-defined clock, wherein the host system receives the error flag and receives the first data after the period provided by the pre-defined clock according to the received error flag.

14. The memory storage device as claimed in claim 8 , wherein the memory controller further generates an error flag indicating the error bit number of the first data, and sends the error flag to the host system during the period provided by the pre-defined clock, wherein the host system receives the error flag and receives the first data after the period provided by the pre-defined clock according to the received error flag.

15. The memory storage device as claimed in claim 8 , the predetermined number is preset according to at least one correction cost for correcting data read from the memory storage device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2017
From: LIEN, CHUEN-DER; SHIEH, MING-HUEI; LIN, CHI-SHUN
To: WINBOND ELECTRONICS CORP.
Reel/Frame 041364/0224 →
Continuity (1)
Related Publication 20180239533A1 · Aug 23, 2018
Cited By (1)
US 12,488,854