Flash memory apparatus and storage management method for flash memory
First Claim
1. A flash memory apparatus, comprising:
- a flash memory module comprising a plurality of first blocks and at least one second block; and
a flash memory controller having a plurality of channels respectively connected to the flash memory module, the flash memory controller being configured for classifying data to be programmed into a plurality of groups of data, respectively executing single-level-cell programming and RAID-like (Redundant Array of Independent Disks-like) XOR (exclusive-OR) error code encoding to generate a corresponding parity check code to program the groups of data and the corresponding parity check code to the plurality of first blocks, a cell of the plurality of first blocks being arranged for storing data of two bits;
wherein after completing program of the plurality of first blocks, the flash memory module is arranged for performing an internal copy operation to program the at least one second block by sequentially reading and writing the groups of data and the corresponding parity check code from the plurality of first blocks to the at least one second block, a cell of the second block being arranged for storing data of 2N bits, N being an integer equal to 2 or greater than 2.
0 Assignments
0 Petitions
Accused Products
Abstract
A flash memory storage management method includes: providing a flash memory module including single-level-cell (SLC) blocks and at least one multiple-level-cell block such as MLC block, TLC block, or QLC block; classifying data to be programmed into groups of data; respectively executing SLC programming and RAID-like error code encoding to generate corresponding parity check codes, to program the groups of data and corresponding parity check codes to the SLC blocks; when completing program of the SLC blocks, performing an internal copy to program the at least one multiple-level-cell block by sequentially reading and writing the groups of data and corresponding parity check codes from the SLC blocks to the multiple-level-cell block according to a storage order of the SLC blocks.
45 Citations
13 Claims
-
1. A flash memory apparatus, comprising:
-
a flash memory module comprising a plurality of first blocks and at least one second block; and a flash memory controller having a plurality of channels respectively connected to the flash memory module, the flash memory controller being configured for classifying data to be programmed into a plurality of groups of data, respectively executing single-level-cell programming and RAID-like (Redundant Array of Independent Disks-like) XOR (exclusive-OR) error code encoding to generate a corresponding parity check code to program the groups of data and the corresponding parity check code to the plurality of first blocks, a cell of the plurality of first blocks being arranged for storing data of two bits; wherein after completing program of the plurality of first blocks, the flash memory module is arranged for performing an internal copy operation to program the at least one second block by sequentially reading and writing the groups of data and the corresponding parity check code from the plurality of first blocks to the at least one second block, a cell of the second block being arranged for storing data of 2N bits, N being an integer equal to 2 or greater than 2. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A flash memory storage management method used in a flash memory module having a plurality of first blocks and at least one second block, comprising:
-
classifying data to be programmed into a plurality of groups of data; respectively executing single-level-cell programming and RAID-like (Redundant Array of Independent Disks-like) XOR (exclusive-OR) error code encoding to generate a corresponding parity check code to program the groups of data and the corresponding parity check code to the plurality of first blocks, a cell of the plurality of first blocks being arranged for storing data of two bits; and controlling the flash memory module to perform an internal copy operation to program the at least one second block by sequentially reading and writing the groups of data and the corresponding parity check code from the plurality of first blocks to the at least one second block, a cell of the second block being arranged for storing data of 2N bits, N being an integer equal to 2 or greater than 2. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A flash memory controller, comprising:
-
a plurality of channels respectively connected to a flash memory module having a plurality of first blocks and at least one second block; and an error correction code encoding circuit; wherein the flash memory controller is configured for classifying data to be programmed into a plurality of groups of data, using the error correction code encoding circuit to respectively execute single-level-cell programming and RAID-like (Redundant Array of Independent Disks-like) XOR (exclusive-OR) error code encoding to generate a corresponding parity check code to program the groups of data and the corresponding parity check code to the plurality of first blocks, a cell of the plurality of first blocks being arranged for storing data of two bits;
after completing program of the plurality of first blocks, the flash controller controls the flash memory module to perform an internal copy operation to program the at least one second block by sequentially reading and writing the groups of data and the corresponding parity check code from the plurality of first blocks to the at least one second block, a cell of the second block being arranged for storing data of 2N bits, N being an integer equal to 2 or greater than 2.
-
Specification