Search International and National Patent Collections
Some content of this application is unavailable at the moment.
If this situation persists, please contact us atFeedback&Contact
1. (EP1717707) Writing data identified by a logical block address into two different locations of a nonvolatile memory
Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters
Claims

1. A storage device (302) having a nonvolatile memory (104,508) adapted to be coupled to a host processor (300,502) for storing information identified by a logical block address, LBA, assigned by the host processor, said nonvolatile memory being organised in blocks (1000,1002,1004) of numbered rows (750,762,764,768,780,1006,1010) of information locations (106,1020,1030), each said block being identified by a physical block address, PBA; and having
a second memory (100,548) operative to store a table (700) including a plurality of rows (716-728), 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; the storage device comprising
a controller (304,532) associated with said second memory for accessing one of said blocks in said nonvolatile memory identified by a particular PBA in response to receipt from the host of a corresponding LBA, said controller being operative to access at least a portion of a particular PBA to read data from, or to write data into the accessed block, characterised by said controller being programmed to write the identifying LBA into two different locations (1020,1030) within said accessed block, and upon accessing of any block (1000,1002,1004) having data stored therein, said controller being operative to compare the LBAs written into the two different locations within the block, and, if the LBAs match, to use the block for information storage, but if the LBAs do not match, then to erase the block prior to re-use.
  2. A storage device as recited in claim 1 wherein each block includes a defect flag (1012) which, if set, prevents the block from being used even if the LBAs match.
  3. A process of managing the storage of information in a storage device including a nonvolatile memory (104,508) comprising:

receiving information identified by a logical block address, LBA;

determining an available block (1000,1002,1004) 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 second memory (100,548) addressable by said LBA;

storing the information in the available block or portion of the block of said nonvolatile memory identified by said PBA;

setting a "used" flag;

storing said LBA in a first location (1020,1030) in the available block;

storing said LBA in a second location in the available block; and

upon each power-up of said storage device,

comparing the LBA stored in said first location to the LBA stored in said second location, and if a match is found and no "defect" flag is set, determining that the data is not defective and continuing to use the available block for information storage,

but if the LBA stored in said first location does not match the LBA stored in said second location and
no defect flag is set, then determining that the available block is not defective and erasing the available block before its re-use.


  4. A process of managing the storage of information as recited in claim 3 wherein upon each power-up of said storage device, each said PBA in said nonvolatile memory is scanned and is stored in said nonvolatile memory in a location corresponding to a particular LBA.
  5. A process of managing the storage of information as recited in claim 3, wherein the "used" flag is located in the available block.