Data Storage Device and Data Maintenance Method Thereof
AssigneeSilicon Motion, Inc.
InventorsChing-Ke Chen, Po-Sheng Chou, Yang-Chih Shen
Life of this patent
Estimating the term…
Abstract
A data storage device including a flash memory and a controller. The flash memory includes a plurality of chips, each of the chips includes a plurality of pages, the pages are arranged to assemble into a super block, the pages of the super block are numbered 0˜X from top to bottom of the super block, the pages with number 0˜Y−1 constitute a data area, and the pages with numbers Y˜X constitute a RAID parity area. The controller corrects data of the data area according to data of the RAID parity area when the data in the data area cannot be successfully read.
Claims18
A data storage device, comprising:
- a flash memory, comprising a plurality of chips, each of the chips comprises a plurality of pages, the pages of the chips are arranged to assemble into a super block according to a predetermined arrangement order, the pages of the super block are numbered 0˜X from top to bottom of the super block, the pages with number 0˜Y−1 constitute a data area, and the pages with numbers Y˜X constitute a RAID parity area, wherein X is an integer greater than 1, and Y is an integer greater than 1 and less than X;
- and
- a controller, correcting data of the data area according to data of the RAID parity area when the data of the data area cannot be successfully read.
A data maintenance method, applied to a data storage device, wherein the data storage device has a plurality of chips, each of the chips comprises a plurality of pages, each of the chips has a plurality of pages which are numbered 0˜M according to the locations of the pages in the chips, the pages with number M of at least one first chip of the chips constitute a RAID parity area, and the other pages constitute a data area, the data maintenance method comprising:
- encoding a data to be stored to obtain a first parity code;
- temporarily storing the first parity code in a random access memory, and writing the data to be stored into the data area according to a first predetermined writing order, wherein the first predetermined writing order is sequentially writing the data to be stored from the pages with number 0 of the chips to the pages with number 1 of the chips, and so on until all of the bits of the data to be stored is written into the data area;
- and
- writing the first parity code into the RAID parity area in sequence when all of The bits of the data to be stored into the data area.
A data maintenance method, applied to a data storage device, wherein the data storage device comprises a plurality of chips, each of the chips comprises a plurality of pages are numbered 0˜M according to the locations of the pages in the chips, and the pages with number 0˜K−2 of at least one first chip of the chips and the pages with number 0˜K−1 of at least one second chip except for the first chip of the chips constitute a data area, the pages with number K−1˜M of the first chip and the pages with number K˜M of the second chip constitute a RAID parity area, the data maintenance method comprising:
- dividing a data to be stored into a plurality of data groups according to a predetermined length;
- encoding the data groups to obtain a plurality of first parity codes;
- temporarily storing the first parity codes in a random access memory, and writing the data to be stored into the data area according to a first predetermined writing order, wherein the first predetermined writing number 0 of the chips to the pages with number 1 of the chips, and so on until all of the data to be stored is written into the data area;
- and
- writing the first parity codes into the RAID parity area in sequence according to a second predetermined writing order when all of the bits of the data to be stored are stored into the data area, wherein the second predetermined writing order is sequentially writing the first parity codes from the pages with number K−1 of the first chip to the pages with number K of the chips, and so on until all of the bits of the first parity codes are written into the RAID parity area.
Dependencies are inferred from the claim text.