Patents by Inventor Alan David Bennett

Alan David Bennett has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20080155184
    Abstract: Methods and apparatus for writing data to non-volatile memory include maintaining one or more lists of obsolete blocks of the non-volatile memory and limiting the lists to a predetermined value. If a write operation would result in a list exceeding its predetermined value, a block erase operation is performed on one of the obsolete blocks. Valid data contained in an obsolete block selected for erasure is relocated prior to erasure.
    Type: Application
    Filed: March 4, 2008
    Publication date: June 26, 2008
    Inventors: Sergey Anatolievich Gorobets, Alan David Bennett, Alan Welsh Sinclair
  • Patent number: 7386655
    Abstract: Update data to a non-volatile memory may be recorded in at least two interleaving streams such as either into an update block or a scratch pad block depending on a predetermined condition. The scratch pad block is used to buffered update data that are ultimately destined for the update block. In a preferred embodiment, an index of the data stored in the scratch pad block as well that stored in the update block is saved in an unused portion of the scratch pad block every time the scratch pad block is written to.
    Type: Grant
    Filed: July 27, 2005
    Date of Patent: June 10, 2008
    Assignee: Sandisk Corporation
    Inventors: Sergey Anatolievich Gorobets, Peter John Smith, Alan David Bennett
  • Patent number: 7366826
    Abstract: Update data to a non-volatile memory may be recorded in at least two interleaving streams such as either into an update block or a scratch pad block depending on a predetermined condition. The scratch pad block is used to buffered update data that are ultimately destined for the update block. Synchronization information about the order recording of updates among the streams is saved with at least one of the streams. This will allow the most recently written version of data that may exist on multiple memory blocks to be identified. In one embodiment, the synchronization information is saved in a first block and is a write pointer that points to the next recording location in a second block. In another embodiment, the synchronization information is a time stamp.
    Type: Grant
    Filed: July 27, 2005
    Date of Patent: April 29, 2008
    Assignee: Sandisk Corporation
    Inventors: Sergey Anatolievich Gorobets, Peter John Smith, Alan David Bennett
  • Publication number: 20080091901
    Abstract: In a nonvolatile memory with a block management system, data written to blocks include host write data and also system control data for managing the blocks. When a block is full or no longer accepting data, it is closed after valid versions of the data on it are relocated to another block in a rewrite operation. An improved pre-emptive rewrite scheme prevents a worst-case situation where multiple rewrites to occur at once when they happened to be full at the same time. Particularly, the scheduling of the pre-emptive rewrites for control data is based on a number of considerations including the time required for each control block rewrite and the time available for control block rewrites based on the configuration of the update blocks for storing host data, the time required in the foreground host operation and the host write latency.
    Type: Application
    Filed: October 12, 2006
    Publication date: April 17, 2008
    Inventors: Alan David Bennett, Neil David Hutchison, Sergey Anatolievich Gorobets
  • Publication number: 20080091871
    Abstract: In a nonvolatile memory with a block management system, data written to blocks include host write data and also system control data for managing the blocks. When a block is full or no longer accepting data, it is closed after valid versions of the data on it are relocated to another block in a rewrite operation. An improved pre-emptive rewrite scheme prevents a worst-case situation where multiple rewrites to occur at once when they happened to be full at the same time. Particularly, the scheduling of the pre-emptive rewrites for control data is based on a number of considerations including the time required for each control block rewrite and the time available for control block rewrites based on the configuration of the update blocks for storing host data, the time required in the foreground host operation and the host write latency.
    Type: Application
    Filed: October 12, 2006
    Publication date: April 17, 2008
    Inventors: Alan David Bennett, Neil David Hutchison, Sergey Anatolievich Gorobets
  • Patent number: 7340581
    Abstract: According to a first aspect of the invention, there is provided a controller connected to a non-volatile memory and including a volatile memory, wherein the controller maintains lists in volatile memory of blocks in the non-volatile memory allocated for storage of logical sector data and of blocks recently erased in the non-volatile memory.
    Type: Grant
    Filed: September 27, 2002
    Date of Patent: March 4, 2008
    Assignee: Lexar Media, Inc.
    Inventors: Sergey Anatolievich Gorobets, Alan David Bennett, Alan Welsh Sinclair
  • Patent number: 7315916
    Abstract: In a memory array having a minimum unit of erase of a block, a scratch pad block is used to store data that is later written to another block. The data may be written to the scratch pad block with a low degree of parallelism and later written to another location with a high degree of parallelism so that it is stored with high density. Data may be temporarily stored in the scratch pad block until it can be more efficiently stored elsewhere. This may be when some other data is received. Unrelated data may be stored in the same page of a scratch pad block.
    Type: Grant
    Filed: December 16, 2004
    Date of Patent: January 1, 2008
    Assignee: SanDisk Corporation
    Inventors: Alan David Bennett, Sergey Anatolievich Gorobets
  • Patent number: 7315917
    Abstract: A re-programmable non-volatile memory system, such as a flash EEPROM system, having its memory cells grouped into blocks of cells that are simultaneously erasable is operated to perform memory system housekeeping operations in the foreground during execution of a host command, wherein the housekeeping operations are unrelated to execution of the host command. Both one or more such housekeeping operations and execution of the host command are performed within a time budget established for executing that particular command. One such command is to write data being received to the memory. One such housekeeping operation is to level out the wear of the individual blocks that accumulates through repetitive erasing and re-programming.
    Type: Grant
    Filed: December 19, 2005
    Date of Patent: January 1, 2008
    Assignee: SanDisk Corporation
    Inventors: Alan David Bennett, Sergey Anatolievich Gorobets, Andrew Tomlin, Charles Schroter
  • Patent number: 7139864
    Abstract: A non-volatile memory system is organized in physical groups of physical memory locations. Each physical group (metablock) is erasable as a unit and can be used to store a logical group of data. A memory management system allows for update of a logical group of data by allocating a metablock dedicated to recording the update data of the logical group. The update metablock records update data in the order received and has no restriction on whether the recording is in the correct logical order as originally stored (sequential) or not (chaotic). Eventually the update metablock is closed to further recording. One of several processes will take place, but will ultimately end up with a fully filled metablock in the correct order which replaces the original metablock. In the chaotic case, directory data is maintained in the non-volatile memory in a manner that is conducive to frequent updates. The system supports multiple logical groups being updated concurrently.
    Type: Grant
    Filed: December 30, 2003
    Date of Patent: November 21, 2006
    Assignee: SanDisk Corporation
    Inventors: Alan David Bennett, Alan Douglas Bryce, Sergey Gorobets, Alan Welsh Sinclair, Peter John Smith
  • Publication number: 20050144365
    Abstract: In a nonvolatile memory with block management system, critical data such as control data for the block management system is maintained in duplicates. Various methods are described for robustly writing and reading two copies of critical data in multi-state memory. In another aspect of the invention, a preemptive garbage collection on memory block containing control data avoids an undesirable situation where a large number of such memory blocks need be garbage collected at the same time.
    Type: Application
    Filed: August 13, 2004
    Publication date: June 30, 2005
    Inventors: Sergey Anatolievich Gorobets, Alan Douglas Bryce, Alan David Bennett
  • Publication number: 20030165076
    Abstract: According to a first aspect of the invention, there is provided a controller connected to a non-volatile memory and including a volatile memory, wherein the controller maintains lists in volatile memory of blocks in the non-volatile memory allocated for storage of logical sector data and of blocks recently erased in the non- volatile memory.
    Type: Application
    Filed: September 27, 2002
    Publication date: September 4, 2003
    Inventors: Sergey Anatolievich Gorobets, Alan David Bennett, Alan Welsh Sinclair