Identification and verification of a sector within a block of mass STO rage flash memory
AssigneeLexar Media, Inc.
InventorsPetro Estakhri, Berhanu Iman
Life of this patent
Estimating the term…
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.
Claims14
A storage device comprising:
- a nonvolatile memory coupled to a host processor for storing information identified by a logical block address (LBA) assigned by the host processor, said nonvolatile memory being organized in blocks of numbered rows of information storage sites, at least a portion of each said block being identified by a physical block address (PBA);
- a memory device operative to store a table including a plurality of storage sites, each addressable by a particular LBA, and each of which is associated with a particular PBA identifying a particular block within said nonvolatile memory in which information corresponding to a particular LBA is, or is to be, stored in one or more of the rows thereof;
- and
- means associated with said memory device for accessing a block in said nonvolatile memory identified by a particular PBA in response to receipt from the host processor of a corresponding LBA, said associated means accesses at least a portion of a particular PBA to read data from, or to write data into the accessed block, said associated means writes the identifying LBA into two different locations within said accessed block, and upon accessing of any block having data stored therein, said associated means compares the LBAs written into the two different locations within the block, and if the LBAs match, said associated means determines that the block is valid for accessing thereof.
In a storage device including a host having a host processor, a nonvolatile memory coupled to said host for storing digital information identified by a logical block address (LBA) assigned by the host processor, and including data, and a set of flags, said nonvolatile memory being organized in blocks of numbered rows of information storage sites, at least a portion of each said block being identified by a physical block address (PBA), and a memory device for storing a table of information for translating LBAs into corresponding PBAs identifying particular blocks within said nonvolatile memory and in which information corresponding to a particular LBA is, or is to be, stored in one or more of the rows thereof, a process of managing the storage of information in said nonvolatile memory comprising:
- receiving information to be stored, said information being identified by a LBA assigned by the host processor;
- determining an available block in said nonvolatile memory identified by a particular PBA and available for storing said information;
- storing the PBA of the available block into a location in said memory device addressable by a particular LBA;
- storing the information in the block of said nonvolatile memory identified by said PBA;
- storing said LBA in a first location in said block along with said information;
- storing said LBA in a second location in said block;
- upon power-up of said storage device, comparing the LBA stored in said first location of said block to the LBA stored in said second location of said block;
- and
- if a match is found, continuing to use the block for information storage.
A process of managing the storage of digital information in a storage device including a nonvolatile memory so that, upon power-up, defective data can be quickly located, comprising:
- receiving information identified by a logical block address (LBA);
- determining an available block or portion of a block in said nonvolatile memory for storing the information, said available block or portion thereof being identified by a physical block address (PBA);
- storing the PBA into a location in a memory device addressable by said LBA;
- storing the information in the block or portion of the block of said nonvolatile memory identified by said PBA;
- storing said LBA in a first location in said block;
- storing said LBA in a second location in said block;
- upon power-up of said storage device;
- and
- comparing the LBA stored in said first location to the LBA stored in the second location, and if a match is found, continuing to use the block for information storage.
In a storage device including a host having a host processor, a nonvolatile memory coupled to said host for storing digital information identified by a logical block address (LBA) assigned by the host processor, and including data, and a set of flags, said nonvolatile memory being organized in blocks of numbered rows of information storage sites, at least a portion of each said block being identified by a physical block address (PBA), and a memory device for storing a table of information for translating LBAs is into corresponding PBAs identifying particular blocks within said nonvolatile memory and in which information corresponding to a particular LBA is, or is to be, stored in one or more of the rows thereof, a process of managing the storage of information in said nonvolatile memory comprising:
- receiving information to be stored, said information being identified by a LBA assigned by the host processor;
- determining an available block in said nonvolatile memory identified by a particular PBA and available for storing said information;
- storing the PBA of the available block into a location in said memory device addressable by a particular LBA;
- storing the information in the block of said nonvolatile memory identified by said PBA;
- storing a first flag in a first location in said block with said information;
- and
- storing a second LBA in a second location in said block, said first flag or second LBA for validating that said block is completely written.
A process of managing the storage of digital information in a storage device including a nonvolatile memory so that, upon power-up, defective data can be quickly located, comprising:
- receiving information identified by a logical block address (LBA);
- determining an available block or portion of a block in said nonvolatile memory for storing the information, said available block or portion thereof being identified by a physical block address (PBA);
- storing the PBA into a location in a memory device addressable by said LBA;
- storing the information in the block or portion of the block of said nonvolatile memory identified by said PBA;
- storing a first flag in a first location in said block;
- storing a second LBA in a second location in said block;
- said first flag or second LBA for validating that said block is completely written.
Dependencies are inferred from the claim text.