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. A method of operating a memory system having a plurality of memory cells organized into a plurality of blocks that individually contain the smallest group of memory cells that are simultaneously erasable by addressing individual blocks, said blocks being individually programmable in units of an integer number of a plurality of pages of a given amount of data per page, comprising programming sectors of data individually containing less than said given amount of data across boundaries of said pages within individual blocks, wherein more sectors of data are programmed into a block than a number of pages in the block.
2 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.
48 Citations
26 Claims
- 1. A method of operating a memory system having a plurality of memory cells organized into a plurality of blocks that individually contain the smallest group of memory cells that are simultaneously erasable by addressing individual blocks, said blocks being individually programmable in units of an integer number of a plurality of pages of a given amount of data per page, comprising programming sectors of data individually containing less than said given amount of data across boundaries of said pages within individual blocks, wherein more sectors of data are programmed into a block than a number of pages in the block.
- 7. A method of operating a memory system having a plurality of memory cells organized into a plurality of blocks that individually contain the smallest group of memory cells that are simultaneously erasable by addressing individual blocks, said blocks being individually programmable in units of one or more integer numbers of a pages of a given amount of data per page, comprising programming sectors of data individually containing more than said given amount of data across boundaries of said pages.
-
15. In a non-volatile memory system having memory cells organized into a plurality of blocks that are individually addressable for simultaneously erasing the memory cells within a block, wherein the blocks individually store a plurality of pages of data, the pages being designated to individually store at least one sector of user data and associated overhead data including at least one attribute of the associated user data stored in the page and at least one physical attribute of the block in which the page is stored, an improved method of operating the memory system, comprising:
storing user data in portions of the pages designated to store overhead data in a manner that at least one additional sector of user data is stored in individual ones of the blocks without the storage of overhead data in said individual user data blocks, and storing said overhead data for a plurality of the user data blocks as corresponding individual records in blocks distinct from those storing the user data. - View Dependent Claims (16, 17, 18, 19, 20)
-
21. A method of operating a memory system having a plurality of memory cells organized into a plurality of blocks that are individually addressable for simultaneously erasing the memory cells within a block, comprising:
-
storing multiple sectors of user data within individual ones of a first group of blocks, and storing a plurality of records in individual ones of a second group of blocks different from the first group of blocks, wherein said plurality of records individually include overhead information of attributes of a corresponding one of the first group of blocks and the user data stored therein. - View Dependent Claims (22, 23, 24, 25, 26)
-
Specification