IP Library Granted Patent US 10,340,025
Granted Patent B2
US 10,340,025 · App. 15/863,887 · Granted Jul 2, 2019

Data-storage device and block-releasing method

Inventors: Pin-Chang Liu (Kaohsiung, TW); Tai-Yu Tsou (Hengshan Township, Hsinchu County, TW); Yi-Ming Liu (Kaohsiung, TW)
Assignee: SILICON MOTION, INC.
G11C29/838G11C29/38G11C29/44G11C29/52
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,340,025
App. No.
15/863,887
Filed
Jan 6, 2018
Granted
Jul 2, 2019
Kind
B2
Art Unit
2112
USPC
714/719
Abstract

The present invention provides a data-storage device. The data-storage device includes a flash memory and a controller. The flash memory has a plurality of blocks and each of the blocks has a plurality of pages. The blocks include a plurality of bad blocks that are labeled as damaged. The controller selects one of the bad blocks as a test block, and reads the pages in the test block to determine whether the pages in the test block are damaged. When all the pages in the test block are undamaged, the controller labels the test block as a spare block.

Claims (31)

1. A data-storage device, comprising:

a flash memory, comprising a plurality of blocks, and each of the blocks comprises a plurality of pages, wherein the blocks comprise a plurality of bad blocks that are labeled as damaged; and

a controller, configured to select one of the bad blocks as a test block, and read the pages in the test block to determine whether the pages in the test block are damaged,

wherein when all the pages in the test block are undamaged, the controller labels the test block as a spare block,

wherein the controller selects as the test block one of the bad blocks that has been labeled damaged for the longest time.

2. The data-storage device as claimed in claim 1 , wherein when all the pages in the test block are undamaged, the controller moves valid data in the test block to other blocks in the blocks before labeling the test block as the spare block.

3. The data-storage device as claimed in claim 1 , wherein when a predetermined condition is satisfied, the controller selects the test block from the bad blocks, reads the pages in the test block to determine whether the pages in the test block are damaged, and labels the test block as the spare block, wherein the predetermined condition indicates that the number of bad blocks exceeds a predetermined number.

4. The data-storage device as claimed in claim 3 , wherein the predetermined condition further indicates that the data-storage device is idling.

5. The data-storage device as claimed in claim 3 , wherein the predetermined condition further indicates that the data-storage device has received a read command from a host.

6. The data-storage device as claimed in claim 1 , wherein when any of the pages in the test block is damaged, the controller stops reading other pages in the test block, and maintain the damaged labeling on the test block.

7. The data-storage device as claimed in claim 1 , wherein the controller does not write data into the bad blocks that are labeled as damaged, and the controller writes data into the blocks that are labeled as spare blocks.

8. A block-releasing method, applied to a data-storage device, wherein the data-storage device comprises a flash memory, the flash memory comprises a plurality of blocks, each of the blocks comprises a plurality of pages, and the blocks comprise a plurality of bad blocks that are labeled as damaged, the method comprising:

selecting one of the bad blocks as a test block;

reading the pages in the test block to determine whether the pages in the test block are damaged; and

labeling the test block as a spare block when all the pages in the test block are undamaged,

wherein the step of selecting one of the bad blocks as the test block comprises: selecting as the test block one of the bad blocks that has been labeled damaged for the longest time or selecting as the test block one of the bad blocks that has been labeled damaged for the longest time and that has not been selected as the test block.

9. The block-releasing method as claimed in claim 8 , further comprising:

moving valid data in the test block to other blocks in the blocks before labeling the test block as the spare block.

10. The block-releasing method as claimed in claim 8 , further comprising:

when a predetermined condition is satisfied, selecting the test block from the bad blocks, reading the pages in the test block to determine whether the pages in the test block are damaged, and labeling the test block as the spare block,

wherein the predetermined condition indicates that the number of the bad blocks exceeds a predetermined number.

11. The block-releasing method as claimed in claim 10 , wherein the predetermined condition further indicates that the data-storage device is idling.

12. The block-releasing method as claimed in claim 10 , wherein the predetermined condition further indicates that the data-storage device has received a read command from a host.

13. The block-releasing method as claimed in claim 8 , further comprising:

when any of the pages in the test block is damaged, stopping the reading of other pages in the test block, and maintaining the damaged labeling on the test block.

14. The block-releasing method as claimed in claim 8 , wherein the bad blocks that are labeled as damaged are not capable of being written with data, and the blocks that are labeled as spare blocks are capable of being written with data.

15. A data-storage device, comprising:

a flash memory, comprising a plurality of blocks, and each of the blocks comprises a plurality of pages, wherein the blocks comprise a plurality of bad blocks that are labeled as damaged; and

a controller, configured to select one of the bad blocks as a test block, and read the pages in the test block to determine whether the pages in the test block are damaged,

wherein when all the pages in the test block are undamaged, the controller labels the test block as a spare block,

wherein the controller selects as the test block one of the bad blocks that has been labeled damaged for the longest time and that has not been selected as the test block for a predetermined period.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2018
From: LIU, PIN-CHANG; TSOU, TAI-YU; LIU, YI-MING
To: SILICON MOTION, INC.
Reel/Frame 044552/0881 →
Priority Claims (1)
TW 106106973 A · Mar 3, 2017 · national
Continuity (1)
Related Publication 20180254092A1 · Sep 6, 2018
Cited By (1)
US 12,393,485