Identification and verification of a sector within a block of mass storage flash memory
First Claim
1. A storage device having nonvolatile memory and being coupled to a host for storing information, organized in blocks, in the nonvolatile memory, each block having associated therewith a logical block address (LBA) and a physical block address (PBA), the LBA provided by the host to the storage device for identifying a block to be accessed, the PBA developed by the storage device for identifying a free location within the nonvolatile memory wherein the accessed block is to be stored, each stored block within the nonvolatile being selectively erasable and further having one or more sectors, the storage device comprising:
- a. a memory device for storing a table defined by n LBA rows, each of the LBA rows being uniquely addressable by an LBA and for storing a virtual PBA for identifying the location of the stored block, a move virtual PBA for identifying the location of a portion of the stored block, and status information including flag means for indicating whether any sectors of the stored block have been moved to the move virtual PBA location within the nonvolatile memory;
b. means for receiving from the host, a block of information identified by a particular LBA to be stored in the nonvolatile memory, for developing the virtual PBA if the particular LBA is "unused" and for developing the move virtual PBA if the particular LBA is "used";
c. defect flag stored within each of the blocks and being set to a predetermined value for identifying successfully erased blocks,wherein portions of a block may be stored in more than one PBA-identified location within the nonvolatile memory to avoid an erase operation each time the host writes to the storage device and to avoid transfer of the entire block to a free location within the nonvolatile memory each time a portion of the block is being re-written.
13 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus is disclosed for identifying a block being stored within flash memory devices using a cluster address for each block, the block being selectively erasable and having one or more sectors, the cluster address being stored in one of the sectors of the block. In an alternative embodiment, the cluster address is stored in at least two different sectors within the same block for ensuring that the information last written to the block is valid. Further disclosed is a novel way to use a defect flag for each block stored within the flash memory device for efficiently identifying non-defective blocks upon system power-up.
-
Citations
1 Claim
-
1. A storage device having nonvolatile memory and being coupled to a host for storing information, organized in blocks, in the nonvolatile memory, each block having associated therewith a logical block address (LBA) and a physical block address (PBA), the LBA provided by the host to the storage device for identifying a block to be accessed, the PBA developed by the storage device for identifying a free location within the nonvolatile memory wherein the accessed block is to be stored, each stored block within the nonvolatile being selectively erasable and further having one or more sectors, the storage device comprising:
-
a. a memory device for storing a table defined by n LBA rows, each of the LBA rows being uniquely addressable by an LBA and for storing a virtual PBA for identifying the location of the stored block, a move virtual PBA for identifying the location of a portion of the stored block, and status information including flag means for indicating whether any sectors of the stored block have been moved to the move virtual PBA location within the nonvolatile memory; b. means for receiving from the host, a block of information identified by a particular LBA to be stored in the nonvolatile memory, for developing the virtual PBA if the particular LBA is "unused" and for developing the move virtual PBA if the particular LBA is "used"; c. defect flag stored within each of the blocks and being set to a predetermined value for identifying successfully erased blocks, wherein portions of a block may be stored in more than one PBA-identified location within the nonvolatile memory to avoid an erase operation each time the host writes to the storage device and to avoid transfer of the entire block to a free location within the nonvolatile memory each time a portion of the block is being re-written.
-
Specification