Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
First Claim
1. In a non-volatile memory having an array of memory cells divided into a plurality of units of a minimum number of memory cells that are simultaneously erasable, the memory cells of the erasable units being individually divided into a plurality of units of a minimum number of memory cells adapted to be programmed together with a unit of user data plus overhead data, a method of operating the memory comprising programming a number of units of user data into individual erasable units that exceed the number of programming units in an erasable unit by using at least some of the programming unit memory cells provided for storing overhead data to store portions of individual units of user data that are programmed into more than one programming unit.
3 Assignments
0 Petitions
Accused Products
Abstract
A non-volatile memory system, such as a flash EEPROM system, is disclosed to be divided into a plurality of blocks and each of the blocks into one or more pages, with sectors of data being stored therein that are of a different size than either the pages or blocks. One specific technique packs more sectors into a block than pages provided for that block. Error correction codes and other attribute data for a number of user data sectors are preferably stored together in different pages and blocks than the user data.
-
Citations
5 Claims
- 1. In a non-volatile memory having an array of memory cells divided into a plurality of units of a minimum number of memory cells that are simultaneously erasable, the memory cells of the erasable units being individually divided into a plurality of units of a minimum number of memory cells adapted to be programmed together with a unit of user data plus overhead data, a method of operating the memory comprising programming a number of units of user data into individual erasable units that exceed the number of programming units in an erasable unit by using at least some of the programming unit memory cells provided for storing overhead data to store portions of individual units of user data that are programmed into more than one programming unit.
Specification