Non-volatile memory with worst-case control data management
First Claim
1. A memory, comprising:
- a nonvolatile memory organized into blocks;
one or more types of data maintained in the memory;
a margin for each type of data, said margin being a number of empty memory units before a block is full such that said margin is just sufficient to accommodate data accumulated in a predetermined interval before data in the block are allowed to relocate, the predetermined interval being determined from a host write pattern that yields a worst-case interval before data in the block are allowed to relocate;
a plurality of blocks for storing updates of said one or more type of data with each of the blocks therein storing essentially data of the same type; and
read/write circuits for relocating data in the block to another block when allowed to do so in response to a block storing data reaching the margin for the data type.
3 Assignments
0 Petitions
Accused Products
Abstract
In a nonvolatile memory with a block management system, data written to blocks include host write data and also system control data for managing the blocks. When a block is full or no longer accepting data, it is closed after valid versions of the data on it are relocated to another block in a rewrite operation. An improved pre-emptive rewrite scheme prevents a worst-case situation where multiple rewrites to occur at once when they happened to be full at the same time. Particularly, the scheduling of the pre-emptive rewrites for control data is based on a number of considerations including the time required for each control block rewrite and the time available for control block rewrites based on the configuration of the update blocks for storing host data, the time required in the foreground host operation and the host write latency.
-
Citations
31 Claims
-
1. A memory, comprising:
-
a nonvolatile memory organized into blocks; one or more types of data maintained in the memory; a margin for each type of data, said margin being a number of empty memory units before a block is full such that said margin is just sufficient to accommodate data accumulated in a predetermined interval before data in the block are allowed to relocate, the predetermined interval being determined from a host write pattern that yields a worst-case interval before data in the block are allowed to relocate; a plurality of blocks for storing updates of said one or more type of data with each of the blocks therein storing essentially data of the same type; and read/write circuits for relocating data in the block to another block when allowed to do so in response to a block storing data reaching the margin for the data type. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 31)
-
-
28. A memory, comprising:
-
a nonvolatile memory organized into blocks; one or more type of data maintained in the memory; a margin for each type of data, said margin being a number of empty memory units before a block is full such that said margin is just sufficient to accommodate data accumulated in a predetermined interval before data in the block are allowed to relocate, the predetermined interval being determined from a host write pattern that yields a worst-case interval before data in the block are allowed to relocate; a plurality of blocks for storing updates of said one or more type of data with each of the blocks therein storing essentially data of the same type; and means for relocating data in the block to another block when allowed to do so in response to a block storing data reaching the margin for the data type. - View Dependent Claims (29)
-
Specification