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).

  • Patent number: 9134918
    Abstract: Systems and methods are disclosed to improve the performance of a memory system by freeing up physical memory areas that correspond to logical block address ranges that have repeated data patterns. A controller detects data patterns in incoming data. When a data pattern is detected, the data is not written to non-volatile storage area. Rather, the logical block address range of the data is marked in a data structure as having pattern data. The pattern may also be recorded in the data structure as a pattern descriptor. Because the data having the data pattern is not written to the non-volatile storage area, the freed up corresponding physical memory area may be utilized by the memory system for other purposes, thereby improving the overall performance and endurance of the memory system.
    Type: Grant
    Filed: December 31, 2009
    Date of Patent: September 15, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Damian P. Yurzola, Sergey A. Gorobets, Neil D. Hutchison, Eran Erez
  • Patent number: 8990477
    Abstract: A method and system are disclosed for controlling the storage of data in a storage device to reduce fragmentation. The method may include a controller of a storage device receiving data for storage in non-volatile memory, proactively preventing fragmentation by only writing an amount of sequentially addressed logical groups of data into a main storage area of the storage device, such as multi-level cell (MLC) flash memory, and reactively defragmenting data previously written into the MLC memory when a trigger event is reached. The system may include a storage device with a controller configured to perform the method noted above, where the thresholds for minimum sequential writes into MLC, and for scanning the memory for fragmented data and removing fragmentation by re-writing the fragmented data already in MLC into new MLC blocks, may be fixed or variable.
    Type: Grant
    Filed: April 19, 2012
    Date of Patent: March 24, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Liam M. Parker, Sergey A. Gorobets
  • Patent number: 8880483
    Abstract: Systems and methods for implementing extensions to intelligently manage resources of a mass storage system are disclosed. Generally, a host sends an extension of an enabled set of extensions to a mass storage system that includes at least one of command sequence information, command information or file attribute information. The host additionally sends a host application command to the mass storage system that includes logical block address information associated with the at least one of command sequence information, command information or file attribute information of the extension. Based on the received extension, the mass storage system intelligently performs operations that efficiently manage the resources of the mass storage system to reduce the frequency of operations such as data consolidation operations, data collection operations, and data copy operations, thereby increasing the data programming and reading performance of the mass storage system.
    Type: Grant
    Filed: December 21, 2007
    Date of Patent: November 4, 2014
    Assignee: SanDisk Technologies Inc.
    Inventor: Sergey A. Gorobets
  • Publication number: 20130282955
    Abstract: A method and system are disclosed for controlling the storage of data in a storage device to reduce fragmentation. The method may include a controller of a storage device receiving data for storage in non-volatile memory, proactively preventing fragmentation by only writing an amount of sequentially addressed logical groups of data into a main storage area of the storage device, such as multi-level cell (MLC) flash memory, and reactively defragmenting data previously written into the MLC memory when a trigger event is reached. The system may include a storage device with a controller configured to perform the method noted above, where the thresholds for minimum sequential writes into MLC, and for scanning the memory for fragmented data and removing fragmentation by re-writing the fragmented data already in MLC into new MLC blocks, may be fixed or variable.
    Type: Application
    Filed: April 19, 2012
    Publication date: October 24, 2013
    Inventors: Liam M. Parker, Sergey A. Gorobets
  • Patent number: 8516203
    Abstract: Methods and apparatus for passing information to a host system to suggest logical locations to allocate to a file are disclosed. Generally, when a host system determines a need to allocate a logical location to a file, the host system sends a non-data command to a memory system. In response, the memory system sends information to the host system that includes one or more logical locations to allocate to the file. By suggesting one or more logical locations to allocate to a file, the memory system may reduce a number of data consolidation or garbage collection operations that will need to be performed in the future, thereby improving performance of the memory system.
    Type: Grant
    Filed: August 13, 2008
    Date of Patent: August 20, 2013
    Assignee: SanDisk Technologies Inc.
    Inventor: Sergey A. Gorobets
  • Publication number: 20130173842
    Abstract: A method and system are disclosed for controlling the storage of data in a storage device to reduce fragmentation. The method may include a controller of a storage device receiving data for storage in non-volatile memory and determining if a threshold amount of data has been received. When the threshold amount of data is received, the non-volatile memory is scanned for sequentially numbered logical groups of data previously written in noncontiguous locations in the non-volatile memory. When a threshold amount of such sequentially numbered logical groups is found, the controller re-writes the sequentially numbered logical groups of data contiguously into a new block. The system may include a storage device with a controller configured to perform the method noted above, where the thresholds for scanning the memory for fragmented data and removing fragmentation by re-writing the fragmented data into new blocks may be fixed or variable.
    Type: Application
    Filed: December 28, 2011
    Publication date: July 4, 2013
    Inventors: King Ying Ng, Marielle Bundukin, Paul A. Lassa, Sergey A. Gorobets, Liam Parker
  • Patent number: 8473923
    Abstract: A portion of a nonvolatile memory array that is likely to contain, partially programmed data may be identified from a high sensitivity read, by applying stricter than usual error correction code (ECC) requirements, or using pointers to programmed sectors. The last programmed data may be treated as likely to be partially programmed data. Data in the identified portion may be copied to another location, or left where it is with an indicator to prohibit further programming to the same cells. To avoid compromising previously stored data during subsequent programming, previously stored data may be backed up. Backing up may be done selectively, for example, only for nonsequential data, or only when the previously stored data contains an earlier version of data being programmed. If a backup copy already exists, another backup copy is not created. Sequential commands are treated as a single command if received within a predetermined time period.
    Type: Grant
    Filed: February 5, 2008
    Date of Patent: June 25, 2013
    Assignee: SanDisk Technologies Inc.
    Inventors: Jason T. Lin, Shai Traister, Sergey A. Gorobets
  • Patent number: 8266391
    Abstract: A method for writing data to a memory device is disclosed. In one embodiment, data of an atomic transaction is written to a first memory in a memory device. A determination is made regarding whether all of the data of the atomic transaction was written to the first memory. The data of the atomic transaction is read from the first memory and written to a second memory in the memory device only if it is determined that all of the data of the atomic transaction was written to the first memory.
    Type: Grant
    Filed: June 19, 2007
    Date of Patent: September 11, 2012
    Assignee: SanDisk Technologies, Inc.
    Inventors: Andrew Tomlin, Sergey A. Gorobets, Reuven Elhamias, Shai Traister, Alan D. Bennett
  • Patent number: 8151034
    Abstract: A portion of a nonvolatile memory array that is likely to contain, partially programmed data may be identified from a high sensitivity read, by applying stricter than usual ECC requirements, or using pointers to programmed sectors. The last programmed data may be treated as likely to be partially programmed data. Data in the identified portion may be copied to another location, or left where it is with an indicator to prohibit further programming to the same cells. To avoid compromising previously stored data during subsequent programming, previously stored data may be backed up. Backing up may be done selectively, for example, only for nonsequential data, or only when the previously stored data contains an earlier version of data being programmed. If a backup copy already exists, another backup copy is not created. Sequential commands are treated as a single command if received within a predetermined time period.
    Type: Grant
    Filed: February 5, 2008
    Date of Patent: April 3, 2012
    Assignee: Sandisk Technologies Inc.
    Inventors: Sergey A. Gorobets, Alan D. Bennett, Neil D. Hutchison, Shai Traister, Jason T. Lin
  • Patent number: 8099632
    Abstract: The variable latency associated with flash memory due to background data integrity operations is managed in order to allow the flash memory to be used in isochronous systems. A system processor is notified regularly of the nature and urgency of requests for time to ensure data integrity. Minimal interruptions of system processing are achieved and operation is ensured in the event of a power interruption.
    Type: Grant
    Filed: September 28, 2007
    Date of Patent: January 17, 2012
    Assignee: SanDisk Technologies Inc.
    Inventors: J. James Tringali, Sergey A. Gorobets, Shai Traister, Yosief Ataklti
  • Patent number: 8046524
    Abstract: Command cycles incorporate mechanisms to inform a host processor in advance of a need to service the memory so that the host can respond when it suits the host, but in time for the service to be performed before a catastrophic failure. The regular host cycle need not be interrupted for such notification.
    Type: Grant
    Filed: September 28, 2007
    Date of Patent: October 25, 2011
    Assignee: Sandisk Technologies Inc.
    Inventors: J. James Tringali, Sergey A. Gorobets, Shai Traister, Yosief Ataklti
  • Publication number: 20110161560
    Abstract: Systems and methods are disclosed to reduce the number of partial logical groups that are erased by writing erase patterns to memory in a non-volatile memory system. When a non-aligned erase command is received, the logical addresses of data associated with the erase command may be marked as erased. If the logical group corresponds to the size of a physical metablock, the controller may also issue a physical erase command for complete logical groups within the erase command. For those parts of the erase command that encompass only partial logical groups, the ranges of the logical block addresses marked for erasure are stored. As subsequent erase commands are received the address ranges of the erase commands are added to the previously stored address ranges. When a set of erase commands spans an entire logical group, the logical group is marked for physical erasure in its entirety.
    Type: Application
    Filed: December 31, 2009
    Publication date: June 30, 2011
    Inventors: Neil D. Hutchison, Alan D. Bennett, Sergey A. Gorobets, Steven T. Sprouse
  • Patent number: 7793068
    Abstract: Method and mass storage memory system is provided. The system includes, re-programmable non-volatile memory cells, the memory cells being arranged in a plurality of blocks that are erasable together; and a controller including a microprocessor that is adapted to receive files of data identified by unique identifiers via a first interface and the controller causes a received data file to be stored in one or more memory blocks; and the controller receives data identified by logical addresses via a second interface and stores the received data in one or more memory blocks, wherein data written via the first interface is indexed using the unique identifiers so that data is accessible via the second interface or the first interface; and data received via the second interface is indexed so that data can be accessed via the first interface or the second interface.
    Type: Grant
    Filed: December 21, 2005
    Date of Patent: September 7, 2010
    Assignee: SanDisk Corporation
    Inventors: Alan W. Sinclair, Sergey A. Gorobets
  • Patent number: 7769978
    Abstract: Method for transferring data between a host system and a re-programmable non-volatile mass storage system having memory cells organized into blocks of memory cells is provided. The method includes receiving data via a first interface and/or a second interface; and making data accessible via the first interface and the second interface, even if a file name is not provided by a host system or before a write operation is complete.
    Type: Grant
    Filed: December 21, 2005
    Date of Patent: August 3, 2010
    Assignee: SanDisk Corporation
    Inventors: Sergey A. Gorobets, Alan W. Sinclair
  • Patent number: 7747837
    Abstract: A mass storage memory system is provided. The memory system includes, re-programmable non-volatile memory cells arranged in a plurality of blocks of memory cells; and a controller that is adapted to receive data via a first interface, and/or a second interface, and data received via the first interface and the second interface is accessible via the first interface and the second interface even if a file name for the data is not provided by a host system or before a write operation is complete. The first interface is a file based interface and the second interface is a logical interface.
    Type: Grant
    Filed: December 21, 2005
    Date of Patent: June 29, 2010
    Assignee: SanDisk Corporation
    Inventors: Sergey A. Gorobets, Alan W. Sinclair
  • Patent number: 7719890
    Abstract: A portion of a nonvolatile memory array that is likely to contain, partially programmed data may be identified from a high sensitivity read, by applying stricter than usual ECC requirements, or using pointers to programmed sectors. The last programmed data may be treated as likely to be partially programmed data. Data in the identified portion may be copied to another location, or left where it is with an indicator to prohibit further programming to the same cells. To avoid compromising previously stored data during subsequent programming, previously stored data may be backed up. Backing up may be done selectively, for example, only for nonsequential data, or only when the previously stored data contains an earlier version of data being programmed. If a backup copy already exists, another backup copy is not created. Sequential commands are treated as a single command if received within a predetermined time period.
    Type: Grant
    Filed: February 5, 2008
    Date of Patent: May 18, 2010
    Assignee: SanDisk Corporation
    Inventors: Sergey A. Gorobets, Shai Traister, Jason T. Lin, Alan D. Bennett, Neil D. Hutchison
  • Publication number: 20100042798
    Abstract: Methods and apparatus for passing information to a host system to suggest logical locations to allocate to a file are disclosed. Generally, when a host system determines a need to allocate a logical location to a file, the host system sends a non-data command to a memory system. In response, the memory system sends information to the host system that includes one or more logical locations to allocate to the file. By suggesting one or more logical locations to allocate to a file, the memory system may reduce a number of data consolidation or garbage collection operations that will need to be performed in the future, thereby improving performance of the memory system.
    Type: Application
    Filed: August 13, 2008
    Publication date: February 18, 2010
    Inventor: Sergey A. Gorobets
  • Patent number: 7633799
    Abstract: An information storage arrangement that combines higher-endurance (or performance) storage with lower-endurance (or performance) storage is managed in a manner that makes judicious use of the lower-endurance (or performance) storage. It is therefore possible to exploit the economic advantage associated with lower-endurance (or performance) storage, while also avoiding storage capacity losses that would otherwise be associated with lower-endurance (or performance) storage.
    Type: Grant
    Filed: March 30, 2007
    Date of Patent: December 15, 2009
    Assignee: SanDisk Corporation
    Inventors: Sergey A. Gorobets, Neil A. Dunlop, Kevin P. Kealy
  • Publication number: 20090164705
    Abstract: Systems and methods for implementing extensions to intelligently manage resources of a mass storage system are disclosed. Generally, a host sends an extension of an enabled set of extensions to a mass storage system that includes at least one of command sequence information, command information or file attribute information. The host additionally sends a host application command to the mass storage system that includes logical block address information associated with the at least one of command sequence information, command information or file attribute information of the extension. Based on the received extension, the mass storage system intelligently performs operations that efficiently manage the resources of the mass storage system to reduce the frequency of operations such as data consolidation operations, data collection operations, and data copy operations, thereby increasing the data programming and reading performance of the mass storage system.
    Type: Application
    Filed: December 21, 2007
    Publication date: June 25, 2009
    Inventor: Sergey A. Gorobets
  • Publication number: 20090070748
    Abstract: A portion of a nonvolatile memory array that is likely to contain, partially programmed data may be identified from a high sensitivity read, by applying stricter than usual ECC requirements, or using pointers to programmed sectors. The last programmed data may be treated as likely to be partially programmed data. Data in the identified portion may be copied to another location, or left where it is with an indicator to prohibit further programming to the same cells. To avoid compromising previously stored data during subsequent programming, previously stored data may be backed up. Backing up may be done selectively, for example, only for nonsequential data, or only when the previously stored data contains an earlier version of data being programmed. If a backup copy already exists, another backup copy is not created. Sequential commands are treated as a single command if received within a predetermined time period.
    Type: Application
    Filed: February 5, 2008
    Publication date: March 12, 2009
    Inventors: Jason T. Lin, Shai Traister, Sergey A. Gorobets