Patents by Inventor Sergey A. Gorobets

Sergey A. Gorobets 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: 20070101095
    Abstract: A memory system is presented where sectors are normally stored in logically contiguous groups. As repeated writes of the same small sector group can causes a massive garbage collection (data relocation), the pattern of host access is monitored by checking the sectors' update history and control data structures' update history. When repeated access patterns are detected and then expected again, the “hot” segments are separated into specially handled, non-standard zone in the memory. The non-standard zone has a sector management that is different from the logical groups and optimized for the repeated host accesses in order to reduce the frequency and amount of garbage collection operations.
    Type: Application
    Filed: October 27, 2005
    Publication date: May 3, 2007
    Applicant: SanDisk Corporation
    Inventor: Sergey Gorobets
  • Publication number: 20070033323
    Abstract: A re-programmable non-volatile semiconductor memory, such as flash memory, operates to store files with logical addresses including a unique file identifier and offsets of data within the file, termed direct data file storage. Data files generated by a host may be stored directly in such a memory through a file interface. But if a traditional host/memory interface using a continuous logical address space is being used to identify multiple files, the address space is divided into contiguous logical files, and then these files are treated in the same manner as files obtained directly from a host. Both types of interfaces may be included in the same memory system.
    Type: Application
    Filed: August 3, 2005
    Publication date: February 8, 2007
    Inventor: Sergey Gorobets
  • Publication number: 20070014153
    Abstract: The present invention presents techniques whereby a memory system interrupts a programming process and restarts it including additional data. More specifically, when a memory system programs data into a group of cells together as programming unit, programming can begin with less than the full data content which the group can hold. In one embodiment, the present invention allows overlapped programming of upper and lower data pages, where once the memory begins programming the lower logical data page, if data is received for the upper page assigned to the same physical page, programming is interrupted and recommenced with the concurrent programming of both the upper and the loser pages. In a complimentary embodiment, when a page contains multiple sectors of data, programming of the physical page can begin when one or more, but less than all, of the sectors forming the corresponding logical page have been received, stopped and restarted to include additional sectors of the page.
    Type: Application
    Filed: August 7, 2006
    Publication date: January 18, 2007
    Inventors: Sergey Gorobets, Yan Li
  • 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: 20060161722
    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: Application
    Filed: December 16, 2004
    Publication date: July 20, 2006
    Inventors: Alan Bennett, Sergey Gorobets
  • Publication number: 20060161728
    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: Application
    Filed: December 19, 2005
    Publication date: July 20, 2006
    Inventors: Alan Bennett, Sergey Gorobets, Andrew Tomlin, Charles Schroter
  • Publication number: 20060161724
    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: Application
    Filed: January 20, 2005
    Publication date: July 20, 2006
    Inventors: Alan Bennett, Sergey Gorobets, Andrew Tomlin, Charles Schroter
  • Publication number: 20060155921
    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: Application
    Filed: July 27, 2005
    Publication date: July 13, 2006
    Inventors: Sergey Gorobets, Peter Smith, Alan Bennett
  • Publication number: 20060155922
    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: Application
    Filed: July 27, 2005
    Publication date: July 13, 2006
    Inventors: Sergey Gorobets, Peter Smith, Alan Bennett
  • Publication number: 20060155920
    Abstract: In a memory that is programmable page by page and each page having multiple sectors that are once-programmable, even if successive writes are sequential, the data recorded to an update block may be fragmented and non-sequential. Instead of recording update data to an update block, the data is being recorded in at least two interleaving streams. When a full page of data is available, it is recorded to the update block. Otherwise, it is temporarily recorded to the scratch pad block until a full page of data becomes available to be transferred to the update block. Preferably, a pipeline operation allows the recording to the update block to be set up as soon as the host write command indicates a full page could be written. If the actual write data is incomplete due to interruptions, the setup will be canceled and recording is made to the scratch pad block instead.
    Type: Application
    Filed: July 27, 2005
    Publication date: July 13, 2006
    Inventors: Peter Smith, Sergey Gorobets, Alan Bennett
  • Publication number: 20060149890
    Abstract: The invention describes the method for regrouping data read from multi-sector pages inside a memory chip. As a result, garbage collection operation time greatly reduces and overall system performance increases. Architectural features include the ability to selectively transfer individual data sectors of a page between on-chip registers and the ability to realign data sectors within a register.
    Type: Application
    Filed: December 30, 2004
    Publication date: July 6, 2006
    Inventor: Sergey Gorobets
  • Publication number: 20060133141
    Abstract: The present invention presents a non-volatile memory and method for its operation that allows instant and accurate detection of erased sectors when the sectors contain a low number of zero bits, due to malfunctioning cells or other problems, and the sector can still be used as the number of corrupted bits is under the ECC correction limit. This method allows the storage system to become tolerant to erased sectors corruption, as such sectors can be used for further data storage if the system can correct this error later in the written data by ECC correction means.
    Type: Application
    Filed: December 22, 2004
    Publication date: June 22, 2006
    Inventor: Sergey Gorobets
  • Publication number: 20060136655
    Abstract: Alignment of clusters to pages is provided in a non-volatile memory system that receives data from a host in clusters and writes data to a memory array in units of a page. Alignment is implemented within each block using offsets in logical-to-physical mapping of data. Different blocks may have different offsets. When a host sends data with different cluster boundary locations, the data may be written with different offsets so that data maintains alignment.
    Type: Application
    Filed: December 16, 2004
    Publication date: June 22, 2006
    Inventors: Sergey Gorobets, Alan Bennett
  • Publication number: 20060126390
    Abstract: The present invention presents techniques whereby a memory system interrupts a programming process and restarts it including additional data. More specifically, when a memory system programs data into a group of cells together as programming unit, programming can begin with less than the full data content which the group can hold. In one embodiment, the present invention allows overlapped programming of upper and lower data pages, where once the memory begins programming the lower logical data page, if data is received for the upper page assigned to the same physical page, programming is interrupted and recommenced with the concurrent programming of both the upper and the loser pages. In a complimentary embodiment, when a page contains multiple sectors of data, programming of the physical page can begin when one or more, but less than all, of the sectors forming the corresponding logical page have been received, stopped and restarted to include additional sectors of the page.
    Type: Application
    Filed: December 14, 2004
    Publication date: June 15, 2006
    Inventors: Sergey Gorobets, Yan Li
  • Publication number: 20060106972
    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 in a manner to level out the wear of the individual blocks through repetitive erasing and re-programming. This may be accomplished without use of counts of the number of times the individual blocks experience erase and re-programming but such counts can optionally aid in carrying out the wear leveling process. Individual active physical blocks are chosen to be exchanged with those of an erased block pool in a predefined order.
    Type: Application
    Filed: November 15, 2004
    Publication date: May 18, 2006
    Inventors: Sergey Gorobets, Alan Bennett, Peter Smith, Alan Sinclair, Kevin Conley, Philip Royall
  • Publication number: 20060039196
    Abstract: In order to maintain the integrity of data stored in a flash memory that are susceptible to being disturbed by operations in adjacent regions of the memory, disturb events cause the data to be read, corrected and re-written before becoming so corrupted that valid data cannot be recovered. The sometimes conflicting needs to maintain data integrity and system performance are balanced by deferring execution of some of the corrective action when the memory system has other high priority operations to perform. In a memory system utilizing very large units of erase, the corrective process is executed in a manner that is consistent with efficiently rewriting an amount of data much less than the capacity of a unit of erase. Data is rewritten when severe errors are found during read operations. Portions of data are corrected and copied within the time limit for read operation. Corrected portions are written to dedicated blocks.
    Type: Application
    Filed: October 18, 2005
    Publication date: February 23, 2006
    Inventors: Sergey Gorobets, Reuven Elhamias, Carlos Gonzalez, Kevin Conley
  • Publication number: 20050268025
    Abstract: A memory unit has a busy control system that includes a busy control register that may be written by a controller. The contents of the busy control register determine whether a signal is sent from the memory unit to the controller and, if so, which of a plurality of signals is sent. A signal may automatically be sent from a selected memory unit and masked from an unselected unit.
    Type: Application
    Filed: May 27, 2004
    Publication date: December 1, 2005
    Inventors: Peter Smith, Sergey Gorobets
  • Publication number: 20050257120
    Abstract: The present invention present methods and architectures for the pipelining of read operation with write operations. In particular, methods are presented for pipelining data relocation operations that allow for the checking and correction of data in the controller prior to its being re-written, but diminish or eliminate the additional time penalty this would normally incur. A number of architectural improve are described to facilitate these methods, including: introducing two registers on the memory where each is independently accessible by the controller; allowing a first memory register to be written from while a second register is written to; introducing two registers on the memory where the contents of the registers can be swapped.
    Type: Application
    Filed: May 13, 2004
    Publication date: November 17, 2005
    Inventors: Sergey Gorobets, Kevin Conley
  • Publication number: 20050251617
    Abstract: The present invention presents a hybrid non-volatile system that uses non-volatile memories based on two or more different non-volatile memory technologies in order to exploit the relative advantages of each these technology with respect to the others. In an exemplary embodiment, the memory system includes a controller and a flash memory, where the controller has a non-volatile RAM based on an alternate technology such as FeRAM. The flash memory is used for the storage of user data and the non-volatile RAM in the controller is used for system control data used by the control to manage the storage of host data in the flash memory. The use of an alternate non-volatile memory technology in the controller allows for a non-volatile copy of the most recent control data to be accessed more quickly as it can be updated on a bit by bit basis.
    Type: Application
    Filed: May 7, 2004
    Publication date: November 10, 2005
    Inventors: Alan Sinclair, Sergey Gorobets, Kevin Conley, Carlos Gonzalez
  • Publication number: 20050166087
    Abstract: In a memory with block management system, program failure in a block during a time-critical memory operation is handled by continuing the programming operation in a breakout block. Later, at a less critical time, the data recorded in the failed block prior to the interruption is transferred to another block, which could also be the breakout block. The failed block can then be discarded. In this way, when a defective block is encountered during programming, it can be handled without loss of data and without exceeding a specified time limit by having to transfer the stored data in the defective block on the spot. This error handling is especially critical for a garbage collection operation so that the entire operation need not be repeated on a fresh block during a critical time. Subsequently, at an opportune time, the data from the defective block can be salvaged by relocation to another block.
    Type: Application
    Filed: August 13, 2004
    Publication date: July 28, 2005
    Inventor: Sergey Gorobets