Methods for phased garbage collection using phased garbage collection block or scratch pad block as a buffer
AssigneeSanDisk Corporation
InventorsShai Traister, Jason Lin
Life of this patent
Estimating the term…
Abstract
A method for phased garbage collection is provided. In this method, a write command is received to write data. The write command is allocated a timeout period to complete an execution of the write command. Thereafter, a busy signal is asserted and a portion of a garbage collection operation is performed for a garbage collection time period. The data are written to a block and the busy signal is released before the timeout period.
Claims24
A method for operating a non-volatile memory system having a non-volatile memory, comprising:
- receiving a first write command to write a first plurality of data, the first write command being allocated a timeout period to complete an execution of the first write command;
- asserting a busy signal;
- copying a portion of a first plurality of valid data from one or more first blocks of the non-volatile memory to a second block of the non-volatile memory for a garbage collection time period;
- writing the first plurality of data to a first phased garbage collection block that spans a single logical group in the non-volatile memory;
- converting the phased garbage collection block to an update block of the non-volatile memory;
- and
- releasing the busy signal before the timeout period.
A method for operating a non-volatile memory system having a non-volatile memory, comprising:
- receiving a first write command to write a first plurality of data, the first write command being allocated a first timeout period to complete an execution of the first write command;
- asserting a first busy signal;
- copying a first portion of a plurality of valid data from one or more first blocks of the non-volatile memory to a second block of the non-volatile memory for a garbage collection time period;
- writing the first plurality of data to a phased garbage collection block that spans a single logical group in the non-volatile memory;
- releasing the first busy signal before the first timeout period;
- receiving a second write command to write a second plurality of data, the second write command being received after the receiving the first write command, the second write command being allocated a second timeout period to complete an execution of the second write command;
- asserting a second busy signal;
- copying a second portion of the plurality of valid data from the one or more first blocks to the second block for the garbage collection time period;
- converting the phased garbage collection block to a first update block of the non-volatile memory;
- writing the second plurality of data to the first update block;
- and
- releasing the second busy signal before the second timeout period.
A method for operating a removable flash memory system having a flash memory in communication with a host via a host interface, comprising:
- receiving a write command from the host via the host interface to write a plurality of data, the write command being allocated a timeout period to complete an execution of the write command;
- asserting a busy signal to the host;
- copying a portion of a plurality of valid data from one or more first blocks of the flash memory to a second block of the flash memory for a garbage collection time period;
- writing the plurality of data to a phased garbage collection block that spans a single logical group in the flash memory;
- converting the phased garbage collection block to an update block of the flash memory;
- and
- releasing the busy signal before the timeout period.
A method for operating a removable flash memory system having a flash memory in communication with a host via a host interface, comprising:
- receiving a first write command from the host via the host interface to write a first plurality of data, the first write command being allocated a first timeout period to complete an execution of the first write command;
- asserting a first busy signal to the host;
- copying a first portion of a plurality of valid data from one or more first blocks of the flash memory to a second block of the flash memory for a garbage collection time period;
- writing the first plurality of data to a phased garbage collection block that spans a single logical group in the flash memory;
- releasing the first busy signal before a timeout period;
- receiving a second write command from the host via the host interface to write a second plurality of data, the second write command being received after the receiving the first write command, the second write command being allocated a second timeout period to complete an execution of the second write command;
- asserting a second busy signal to the host;
- copying a second portion of the plurality of valid data from the one or more first blocks to the second block for the garbage collection time period;
- and
- releasing the second busy signal before the second timeout period converting the phased garbage collection block to an update block of the flash memory.
Dependencies are inferred from the claim text.