Memory system and method for controlling a nonvolatile semiconductor memory
First Claim
1. A memory system comprising:
- a nonvolatile semiconductor memory including a plurality of storage units;
a volatile semiconductor memory including a storage area;
a controller configured to;
manage the storage units using link information;
select valid data stored in first storage units;
store write data in the storage area, the write data being sent from a host apparatus;
acquire the second storage unit and write the selected valid data in the second storage unit, when a sum of valid data stored in the first storage units reaches a size of a unit of storage;
write the selected valid data, as first valid data, in a third storage unit allocated to an input buffer of the nonvolatile semiconductor memory, when the sum of valid data stored in the first storage units does not reach the size of the unit of storage;
copy, as second valid data, the write data stored in the storage area, to the third storage unit, when the write data stored in the storage area reaches a size of a unit of management of the valid data; and
write the first valid data and the second valid data stored in the third storage unit, in a fourth storage unit, when a total size of the first valid data and the second valid data stored in the third storage unit reaches the size of the unit of storage.
4 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 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.
14 Citations
17 Claims
-
1. A memory system comprising:
-
a nonvolatile semiconductor memory including a plurality of storage units; a volatile semiconductor memory including a storage area; a controller configured to; manage the storage units using link information; select valid data stored in first storage units; store write data in the storage area, the write data being sent from a host apparatus; acquire the second storage unit and write the selected valid data in the second storage unit, when a sum of valid data stored in the first storage units reaches a size of a unit of storage; write the selected valid data, as first valid data, in a third storage unit allocated to an input buffer of the nonvolatile semiconductor memory, when the sum of valid data stored in the first storage units does not reach the size of the unit of storage; copy, as second valid data, the write data stored in the storage area, to the third storage unit, when the write data stored in the storage area reaches a size of a unit of management of the valid data; and write the first valid data and the second valid data stored in the third storage unit, in a fourth storage unit, when a total size of the first valid data and the second valid data stored in the third storage unit reaches the size of the unit of storage. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A compaction method comprising:
-
storing data in a nonvolatile semiconductor memory, the nonvolatile semiconductor memory including a plurality of storage units; managing the storage units using link information; selecting valid data stored in first storage units; storing write data in a storage area included in a volatile semiconductor memory, the write data being sent from a host apparatus; writing the selected valid data in a second storage unit, when a sum of valid data stored in the first storage units reaches a size of a unit of storage; writing the selected valid data, as first valid data, in a third storage unit allocated to an input buffer of the nonvolatile semiconductor memory, when a sum of valid data stored in the first storage units does not reach the size of the unit of storage; copying, as second valid data, the write data stored in the storage area, to the third storage unit, when the write data stored in the storage area reaches a size of a unit of management of the valid data; and writing the first valid data and the second valid data stored in the third storage unit, in a fourth storage unit, when a total size of the first valid data and the second valid data stored in the third storage unit reaches the size of the unit of storage. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A memory system comprising:
-
a controller; a first nonvolatile storage unit configured to store a plurality of first data; a second nonvolatile storage unit; a third nonvolatile storage unit; and a fourth nonvolatile storage unit, wherein the controller is configured to; select second data from among the first data; receive third data from an external device; write the second data in the second nonvolatile storage unit, when a sum of second data reaches a first size; write the second data, as first valid data, in the third nonvolatile storage unit, when the sum of second data does not reach the first size; write the third data, as second valid data, in the third nonvolatile storage unit when the third data reaches a second size; and write the first valid data and the second valid data, in the fourth nonvolatile storage unit, when a total size of the first valid data and the second valid data reaches the first size.
-
Specification