MEMORY SYSTEM AND METHOD FOR CONTROLLING A NONVOLATILE SEMICONDUCTOR MEMORY
First Claim
1. A memory system comprising:
- a nonvolatile semiconductor memory having a plurality of blocks, the block having a plurality of pages, the block being data erasing unit and the page being data writing unit, the block being erased before rewriting to the same page; and
a controller configured to execute;
an update processing for;
writing superseding data in a block having at least one writable page, the superseding data being treated as valid data; and
invalidating superseded data having the same logical address as the superseding data, the superseded data being treated as invalid data; and
a compaction processing for;
retrieving blocks having invalid data using a management table, the management table managing blocks in a linked list format for each number of valid data included in the block;
selecting a compaction source block having at least one valid data from the retrieved blocks;
copying a plurality of valid data included in the compaction source blocks into a compaction target block;
invalidating the plurality of valid data in the compaction source blocks; and
releasing the compaction source blocks in which all data are invalidated.
5 Assignments
0 Petitions
Accused Products
Abstract
A memory system includes a nonvolatile semiconductor memory having blocks, the block being data erasing unit; and a controller configured to execute; an update processing for; writing superseding data in a block, the superseding data being treated as valid data; and invalidating superseded data having the same logical address as the superseding data, the superseded data being treated as invalid data; and a compaction processing for; retrieving blocks having invalid data using a management tablet the management table managing blocks in a linked list format for each number of valid data included in the block; selecting a compaction source block having at least one valid data from the retrieved blocks; copying a plurality of valid data included in the compaction source blocks into a compaction target block; invalidating the plurality of valid data in the compaction source blocks; and releasing the compaction source blocks in which all data are invalidated.
65 Citations
20 Claims
-
1. A memory system comprising:
-
a nonvolatile semiconductor memory having a plurality of blocks, the block having a plurality of pages, the block being data erasing unit and the page being data writing unit, the block being erased before rewriting to the same page; and a controller configured to execute;
an update processing for;writing superseding data in a block having at least one writable page, the superseding data being treated as valid data; and invalidating superseded data having the same logical address as the superseding data, the superseded data being treated as invalid data; and a compaction processing for; retrieving blocks having invalid data using a management table, the management table managing blocks in a linked list format for each number of valid data included in the block; selecting a compaction source block having at least one valid data from the retrieved blocks; copying a plurality of valid data included in the compaction source blocks into a compaction target block; invalidating the plurality of valid data in the compaction source blocks; and releasing the compaction source blocks in which all data are invalidated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method of controlling a nonvolatile semiconductor memory, the nonvolatile semiconductor memory having a plurality of blocks, the block having a plurality of pages, the block being data erasing unit and the page being data writing unit, the block being erased before rewriting to the same page, comprising:
-
executing an update processing which includes; writing superseding data in a block having at least one writable page, the superseding data being treated as valid data; and invalidating superseded data having the same logical address as the superseding data, the superseded data being treated as invalid data; and
executing a compaction processing which includes;retrieving blocks having invalid data using a management table, the management table managing blocks in a linked list format for each number of valid data included in the block; selecting a compaction source block having at least one valid data from the retrieved blocks; copying a plurality of valid data included in the compaction source blocks into a compaction target block; invalidating the plurality of valid data in the compaction source blocks; and releasing the compaction source blocks in which all data are invalidated. - View Dependent Claims (20)
-
Specification