×

Moving sequential sectors within a block of information in a flash memory mass storage architecture

DC
  • US 5,930,815 A
  • Filed: 10/07/1997
  • Issued: 07/27/1999
  • Est. Priority Date: 07/31/1995
  • Status: Expired due to Term
First Claim
Patent Images

1. A method for updating sector information in a digital system having a host coupled through a controller to a nonvolatile memory device for storing digital information organized into sectors in the nonvolatile memory, each sector having a data portion and an overhead portion and being uniquely identifiable by the host using an LBA (Logical Block Address), the sector information stored within a sector location within the nonvolatile memory device, a group of sector locations defining a block addressable by the controller using a VPBA (Virtual Physical Block Address), and each sector location within a block being identifiable by the controller using a PBA (Physical Block Address), wherein the sector information stored in a sector location of a block within the nonvolatile memory device is updated prior to erasure of the block, the method comprising:

  • a. developing an LBA value corresponding to a host-addressed sector in response to a command received from the host to re-write sector information to a sector identified by the host;

    b. developing an LBA block address from the LBA value for addressing a block within the memory device within which the sector provided by the host is to be stored;

    c. comparing the LBA value with a previous LBA (PREV-- LBA) value to determine whether or not there is a match;

    d. if the LBA value and PREV-- LBA match, checking for a previous write operation to have been performed on the LBA block since the last erase operation of the LBA block;

    e. if a previous write operation has been performed, checking for whether or not any of the sectors of the block identified by the LBA block address have been transferred from one location within the memory device to another location within the memory device since the occurrence of the last erase operation on the LBA block;

    f. if the sectors of the block identified by the LBA block address have not been transferred, finding a free block within the nonvolatile memory device for storing the sector information, the free block being identified by a VPBA value corresponding to the LBA block;

    g. storing the sector information within a sector location of the free block corresponding to the sector location of the LBA block;

    h. storing the VPBA value in a PBA storage location for indicating the free block location within the memory device wherein the new sector information resides;

    i. incrementing the LBA value by one; and

    j. replacing the PREV-- LBA value with the incremented LBA value,wherein single sequential write operations are performed on a sector of a block that was previously written and not yet erased without moving all other sectors of the block.

View all claims
  • 10 Assignments
Timeline View
Assignment View
    ×
    ×