Non-volatile memory with dynamic multi-mode operation
First Claim
1. A flash memory device comprising:
- a NAND flash memory array having a memory block with a first page for storing multiple bit per cell (MBC) data;
a command decoder for issuing one of an MBC program command and a single bit per cell (SBC) program command in response to an external program command;
a control logic circuit for executing a programming algorithm in response to either the MBC program command or the SBC program command; and
,flash memory circuitry for programming, in response to the programming algorithm, a second page in the memory block of the NAND flash memory array to store SBC data.
12 Assignments
0 Petitions
Accused Products
Abstract
A method and system for extending the life span of a flash memory device. The flash memory device is dynamically configurable to store data in the single bit per cell (SBC) storage mode or the multiple bit per cell (MBC) mode, such that both SBC data and MBC data co-exist within the same memory array. One or more tag bits stored in each page of the memory is used to indicate the type of storage mode used for storing the data in the corresponding subdivision, where a subdivision can be a bank, block or page. A controller monitors the number of program-erase cycles corresponding to each page for selectively changing the storage mode in order to maximize lifespan of any subdivision of the multi-mode flash memory device.
-
Citations
45 Claims
-
1. A flash memory device comprising:
-
a NAND flash memory array having a memory block with a first page for storing multiple bit per cell (MBC) data; a command decoder for issuing one of an MBC program command and a single bit per cell (SBC) program command in response to an external program command; a control logic circuit for executing a programming algorithm in response to either the MBC program command or the SBC program command; and
,flash memory circuitry for programming, in response to the programming algorithm, a second page in the memory block of the NAND flash memory array to store SBC data. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for storing data in a NAND flash memory device comprising:
-
a) powering up the NAND flash memory device to have at least one subdivision configured in a first storage mode or a second storage mode; b) executing internal flash operations in response to commands after the NAND flash memory device is powered up; d) converting the at least one subdivision from the first storage mode to the second storage mode in response to a specific command of the commands; and e) programming the data to a first subdivision configured in the first storage mode or a second subdivision configured in the second storage mode in response to a program command. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for selectively programming data in a NAND flash memory device in one of a multiple bit per cell (MBC) storage mode and a single bit per cell (SBC) storage mode, comprising:
-
a) receiving data; b) determining a high reliability level or a low reliability level of the data; c) programming the data in the SBC storage mode to SBC subdivisions if the data is determined to be high reliability; d) programming the data in the MBC storage mode to MBC subdivisions if the data is determined to be low reliability; and
,e) converting any number of the MBC subdivisions to the SBC storage mode or any number of the SBC subdivisions to the MBC storage mode. - View Dependent Claims (26, 27, 28)
-
-
29. A method for reading data from a NAND flash memory block having a multiple bit per cell (MBC) page and a single bit per cell (SBC) page, comprising:
-
a) receiving a read address for reading the MBC page or the SBC page of the NAND flash memory block; b) executing an MBC read operation at the read address if a mode tag corresponding to the MBC page has a first logic state; and
,c) executing an SBC read operation at the read address if the mode tag corresponding to the SBC page has a second logic state. - View Dependent Claims (30, 31, 32, 33, 34)
-
-
35. A method for programming data in a subdivision of a NAND flash memory device, comprising:
-
programming the data to the subdivision in a first storage mode; monitoring program/erase cycles of the subdivision; and
,converting the subdivision to a second storage mode if the program/erase cycles of the subdivision reaches a predetermined limit. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
Specification