System for phased garbage collection with state indicators
AssigneeSanDisk Corporation
InventorSergey Anatolievich Gorobets
Life of this patent
Estimating the term…
Abstract
A system for phased garbage collection is described, including a memory configured to store a storage system firmware, a non-volatile memory cell array configured to maintain a metablock, the metablock comprising a logical group and a buffer portion, and a processor in communication with the memory and the non-volatile memory cell array, the processor being configured to execute the storage system firmware stored in the memory, the storage system firmware comprising program instructions for receiving a write command to write a memory write to the metablock, performing a first portion of a garbage collection operation, and storing the memory write in the buffer portion of the metablock.
Claims15
A non-volatile memory storage system, comprising:
- a memory configured to store a storage system firmware;
- a non-volatile memory cell array configured to maintain a first memory block and a second memory block;
- and
- a processor in communication with the memory and the non-volatile memory cell array, the processor being configured to execute the storage system firmware stored in the memory, the storage system firmware comprising program instructions for:
- allocating the first memory block comprising a first logical group and a first buffer portion;
- receiving a memory write command and writing the memory write command to a second buffer portion of the second memory block;
- performing at least a portion of a garbage collection of a second logical group;
- opening an update block for the first logical group;
- and
- performing a phased garbage collection of the first logical group;
- the program instructions further comprising;
- indicating that the buffer portion is available using a first intact state;
- indicating that the memory block is full using a second intact state;
- and
- indicating that a first phase of the phased garbage collection is completed using a half full state.
A non-volatile memory storage system, comprising:
- a memory configured to store a storage system firmware;
- a non-volatile memory cell array configured to maintain a memory block;
- and
- a processor in communication with the memory and the non-volatile memory cell array, the processor being configured to execute the storage system firmware stored in the memory, the storage system firmware comprising program instructions for:
- allocating a memory block comprising a logical group and a buffer portion and indicating that the memory block is in a sequential update state;
- performing a first phase of garbage collection and indicating that the memory block is in a half full state;
- performing a second phase of garbage collection and indicating that the memory block is in a first intact state;
- and
- writing a memory write of a memory write command to the buffer portion and indicating that the memory block is in a second intact state.
A non-volatile memory storage system comprising:
- a memory configured to store a storage system firmware;
- a non-volatile memory cell array configured to maintain a memory block;
- and
- a processor in communication with the memory and the non-volatile memory cell array, the processor being configured to execute the storage system firmware stored in the memory, the storage system firmware comprising program instructions for:
- allocating a memory block comprising a logical group and a buffer portion;
- receiving a first memory write command including a first memory write to update an original block and copying the memory write to the memory block;
- asserting a first timeout period in response to the receiving the first memory write and asserting a busy signal to notify a memory host of the first timeout period;
- performing a first phase of a garbage collection of the memory block;
- receiving a second memory write command including a second memory write to update the memory block;
- asserting a second timeout period in response to the receiving the second memory write and asserting the busy signal to notify a memory host of the second timeout period;
- performing a second phase of the garbage collection of the memory block;
- and
- writing the second memory write to the buffer portion;
- the program instructions further comprising:
- indicating that the memory block is in a sequential update state in response to the receiving the first memory write;
- indicating that the memory block is in a half full state in response to the performing the first phase of the garbage collection;
- indicating that the memory block is in a first intact stat in response to the performing the second phase of the garbage collection;
- and
- indicating that the memory block is in a second intact state in response to the writing the second memory write.
Dependencies are inferred from the claim text.