Flash memory system
First Claim
1. A method for programming a multiple bit per cell (MBC) flash memory device configured to store up to N pages of data per physical row, N being an integer greater than one, the method comprising:
- issuing a group of program commands for programming multiple pages of data to a subdivision having at least one physical row of the flash memory device,the group of program commands being limited to addressing a subset of logical page addresses selected from all possible logical page addresses corresponding to each of the at least one physical row, where each program command comprises a row address having at least one bit representing a selected physical row and at least one bit representing a logical page address of the subset of logical page addresses corresponding to the selected physical row; and
programming less than N pages to each of the at least one physical row of the flash memory device in response to the subset of logical page addresses indicated in the row addresses in the program commands.
9 Assignments
0 Petitions
Accused Products
Abstract
A method and system for controlling an MBC configured flash memory device to store data in an SBC storage mode, or a partial MBC storage mode. In a full MBC storage mode, pages of data are programmed sequentially from a first page to an Nth page for each physical row of memory cells. Up to N virtual page addresses per row of memory cells accompany each page to be programmed for designating the virtual position of the page in the row. For SBC or partial MBC data storage, a flash memory controller issues program command(s) to the MBC memory device using less than the maximum N virtual page addresses for each row. The MBC memory device sequentially executes programming operations up to the last received virtual page address for the row.
-
Citations
29 Claims
-
1. A method for programming a multiple bit per cell (MBC) flash memory device configured to store up to N pages of data per physical row, N being an integer greater than one, the method comprising:
-
issuing a group of program commands for programming multiple pages of data to a subdivision having at least one physical row of the flash memory device, the group of program commands being limited to addressing a subset of logical page addresses selected from all possible logical page addresses corresponding to each of the at least one physical row, where each program command comprises a row address having at least one bit representing a selected physical row and at least one bit representing a logical page address of the subset of logical page addresses corresponding to the selected physical row; and programming less than N pages to each of the at least one physical row of the flash memory device in response to the subset of logical page addresses indicated in the row addresses in the program commands. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system comprising:
-
a memory controller configured to issue program commands limited to addressing a subset of logical page addresses selected from all possible logical page addresses corresponding to each physical row of a memory device, where each program command comprises a row address having at least one bit representing a selected physical row and at least one bit representing a logical page address of the subset of logical page addresses corresponding to the selected physical row, the memory device comprising; a multiple bit per cell (MBC) memory device configured to store a maximum of N pages per physical row, N being an integer greater than one, and program less than N pages per physical row in response to the subset of logical page addresses indicated in the row addresses in the program commands received from the memory controller. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A method for programming a multiple bit per cell (MBC) flash memory device configured for storing up to N bits per cell, where N is an integer greater than one, the method comprising:
-
receiving a host request to program data pages; determining the data pages are to be programmed in a partial MBC storage mode where less than N virtually addressable data pages are stored in each physical row of the flash memory device; accessing a mapping table containing meta-data for the flash memory device to select a subdivision of the MBC flash memory device configured in the partial MBC storage mode; and issuing at least one program command for programming the data pages to the subdivision using virtual page addresses limited to a subset of less than N possible virtual page addresses for programming pages to each physical row, where each program command comprises a row address having at least one bit representing a selected physical row and at least one bit representing a virtual page address of the subset of less than N possible virtual page addresses corresponding to the selected physical row. - View Dependent Claims (28, 29)
-
Specification