Patents by Inventor Eugene Zilberman
Eugene Zilberman 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: 8700840Abstract: A portion of a nonvolatile memory is partitioned from a main multi-level memory array to operate as a cache. The cache memory is configured to store at less capacity per memory cell and finer granularity of write units compared to the main memory. In a block-oriented memory architecture, the cache has multiple functions, not merely to improve access speed, but is an integral part of a sequential update block system. Decisions to archive data from the cache memory to the main memory depend on the attributes of the data to be archived, the state of the blocks in the main memory portion and the state of the blocks in the cache portion.Type: GrantFiled: January 5, 2009Date of Patent: April 15, 2014Assignee: Sandisk Technologies, Inc.Inventors: Alexander Paley, Sergey Anatolievich Gorobets, Eugene Zilberman, Alan David Bennett, Shai Traister, Andrew Tomlin, William S. Wu, Bum Suck So
-
Patent number: 8452911Abstract: A method and system for managing maintenance operations in a multi-bank non-volatile storage device is disclosed. The method includes receiving a data write command and associated data from a host system for storage in the non-volatile storage device and directing a head of the data write command to a first bank in the and a tail of the data write command to a second bank, where the head of the data write command only includes data having logical block addresses preceding logical block addresses of data in the tail of the data write command. When a status of the first bank delays execution of the data write command the controller executes a second bank maintenance procedure in the second bank while the data write command directed to the first and second banks is pending. The system includes a plurality of banks, where each bank may be associated with the same or different controllers, and the one or more controllers are adapted to execute the method noted above.Type: GrantFiled: September 30, 2010Date of Patent: May 28, 2013Assignee: SanDisk Technologies Inc.Inventors: Sergey Anatolievich Gorobets, Alan David Bennett, Charles Michael Schroter, Eugene Zilberman
-
Patent number: 8250333Abstract: A method and system maintains an address table for mapping logical groups to physical addresses in a memory device. The method includes receiving a request to set an entry in the address table and selecting and flushing entries in an address table cache depending on the existence of the entry in the cache and whether the cache meets a flushing threshold criteria. The flushed entries include less than the maximum capacity of the address table cache. The flushing threshold criteria includes whether the address table cache is full or if a page exceeds a threshold of changed entries. The address table and/or the address table cache may be stored in a non-volatile memory and/or a random access memory. Improved performance may result using this method and system due to the reduced number of write operations and time needed to partially flush the address table cache to the address table.Type: GrantFiled: January 5, 2009Date of Patent: August 21, 2012Assignee: Sandisk Technologies Inc.Inventors: Sergey Anatolievich Gorobets, Alexander Paley, Eugene Zilberman, Alan David Bennett, Shai Traister
-
Patent number: 8244960Abstract: A portion of a nonvolatile memory is partitioned from a main multi-level memory array to operate as a cache. The cache memory is configured to store at less capacity per memory cell and finer granularity of write units compared to the main memory. In a block-oriented memory architecture, the cache has multiple functions, not merely to improve access speed, but is an integral part of a sequential update block system. The cache memory has a capacity dynamically increased by allocation of blocks from the main memory in response to a demand to increase the capacity. Preferably, a block with an endurance count higher than average is allocated. The logical addresses of data are partitioned into zones to limit the size of the indices for the cache.Type: GrantFiled: January 5, 2009Date of Patent: August 14, 2012Assignee: SanDisk Technologies Inc.Inventors: Alexander Paley, Sergey Anatolievich Gorobets, Eugene Zilberman, Alan David Bennett, Shai Traister, Andrew Tomlin, William S. Wu, Bum Suck So
-
Publication number: 20120191927Abstract: Wear leveling techniques for re-programmable non-volatile memory systems, such as a flash EEPROM system, are described. One set of techniques uses “passive” arrangements, where, when a blocks are selected for writing, blocks with relatively low experience count are selected. This can be done by ordering the list of available free blocks based on experience count, with the “coldest” blocks placed at the front of the list, or by searching the free blocks to find a block that is “cold enough”. In another, complementary set of techniques, usable for more standard wear leveling operations as well as for “passive” techniques and other applications where the experience count is needed, the experience count of a block or meta-block is maintained as a block's attribute along its address in the data management structures, such as address tables.Type: ApplicationFiled: March 29, 2012Publication date: July 26, 2012Inventors: Sergey Anatolievich Gorobets, Bum Suck So, Eugene Zilberman
-
Publication number: 20120084489Abstract: A method and system for managing maintenance operations in a multi-bank non-volatile storage device is disclosed. The method includes receiving a data write command and associated data from a host system for storage in the non-volatile storage device and directing a head of the data write command to a first bank in the and a tail of the data write command to a second bank, where the head of the data write command only includes data having logical block addresses preceding logical block addresses of data in the tail of the data write command. When a status of the first bank delays execution of the data write command the controller executes a second bank maintenance procedure in the second bank while the data write command directed to the first and second banks is pending. The system includes a plurality of banks, where each bank may be associated with the same or different controllers, and the one or more controllers are adapted to execute the method noted above.Type: ApplicationFiled: September 30, 2010Publication date: April 5, 2012Inventors: Sergey Anatolievich Gorobets, Alan David Bennett, Charles Michael Schroter, Eugene Zilberman
-
Patent number: 8094500Abstract: A portion of a nonvolatile memory is partitioned from a main multi-level memory array to operate as a cache. The cache memory is configured to store at less capacity per memory cell and finer granularity of write units compared to the main memory. In a block-oriented memory architecture, the cache has multiple functions, not merely to improve access speed, but is an integral part of a sequential update block system. Decisions to write data to the cache memory or directly to the main memory depend on the attributes and characteristics of the data to be written, the state of the blocks in the main memory portion and the state of the blocks in the cache portion.Type: GrantFiled: January 5, 2009Date of Patent: January 10, 2012Assignee: Sandisk Technologies Inc.Inventors: Alexander Paley, Sergey Anatolievich Gorobets, Eugene Zilberman, Alan David Bennett, Shai Traister, Andrew Tomlin, William S. Wu, Bum Suck So
-
Patent number: 8040744Abstract: Techniques for the management of spare blocks in re-programmable non-volatile memory system, such as a flash EEPROM system, are presented. In one set of techniques, for a memory partitioned into two sections (for example a binary section and a multi-state section), where blocks of one section are more prone to error, spare blocks can be transferred from the more error prone partition to the less error prone partition. In another set of techniques for a memory partitioned into two sections, blocks which fail in the more error prone partition are transferred to serve as spare blocks in the other partition. In a complementary set of techniques, a 1-bit time stamp is maintained for free blocks to determine whether the block has been written recently. Other techniques allow for spare blocks to be managed by way of a logical to physical conversion table by assigning them logical addresses that exceed the logical address space of which a host is aware.Type: GrantFiled: January 5, 2009Date of Patent: October 18, 2011Assignee: SanDisk Technologies Inc.Inventors: Sergey Anatolievich Gorobets, Alan David Bennett, Eugene Zilberman
-
Patent number: 7911836Abstract: The present invention discloses systems and methods for restoring data in flash memory after an operational failure. The method includes: setting bits of a data buffer in accordance with the data; programming a plurality of memory cells in accordance with the data buffer; and upon failure of the programming step, restoring the data buffer to be set in accordance with the data, wherein the restoring is based only on a present state of the data buffer and on a present state of the plurality of memory cells. A memory device includes: at least one cell; and a controller operative to store data in at least one cell by steps including those described in the method above. The system includes: a memory device that includes at least one cell; and a processor operative to store data in at least one cell by steps including those described in the method above.Type: GrantFiled: November 21, 2008Date of Patent: March 22, 2011Assignee: Sandisk IL LtdInventor: Eugene Zilberman
-
Publication number: 20100174847Abstract: A portion of a nonvolatile memory is partitioned from a main multi-level memory array to operate as a cache. The cache memory is configured to store at less capacity per memory cell and finer granularity of write units compared to the main memory. In a block-oriented memory architecture, the cache has multiple functions, not merely to improve access speed, but is an integral part of a sequential update block system. The cache memory has a capacity dynamically increased by allocation of blocks from the main memory in response to a demand to increase the capacity. Preferably, a block with an endurance count higher than average is allocated. The logical addresses of data are partitioned into zones to limit the size of the indices for the cache.Type: ApplicationFiled: January 5, 2009Publication date: July 8, 2010Inventors: Alexander Paley, Sergey Anatolievich Gorobets, Eugene Zilberman, Alan David Bennett, Shai Traister, Andrew Tomlin, William S. Wu, Bum Suck So
-
Publication number: 20100172180Abstract: A portion of a nonvolatile memory is partitioned from a main multi-level memory array to operate as a cache. The cache memory is configured to store at less capacity per memory cell and finer granularity of write units compared to the main memory. In a block-oriented memory architecture, the cache has multiple functions, not merely to improve access speed, but is an integral part of a sequential update block system. Decisions to write data to the cache memory or directly to the main memory depend on the attributes and characteristics of the data to be written, the state of the blocks in the main memory portion and the state of the blocks in the cache portion.Type: ApplicationFiled: January 5, 2009Publication date: July 8, 2010Inventors: Alexander Paley, Sergey Anatolievich Gorobets, Eugene Zilberman, Alan David Bennett, Shai Traister, Andrew Tomlin, William S. Wu, Bum Suck So
-
Publication number: 20100174845Abstract: Wear leveling techniques for re-programmable non-volatile memory systems, such as a flash EEPROM system, are described. One set of techniques uses “passive” arrangements, where, when a blocks are selected for writing, blocks with relatively low experience count are selected. This can be done by ordering the list of available free blocks based on experience count, with the “coldest” blocks placed at the front of the list, or by searching the free blocks to find a block that is “cold enough”. In another, complementary set of techniques, usable for more standard wear leveling operations as well as for “passive” techniques and other applications where the experience count is needed, the experience count of a block or meta-block is maintained as a block's attribute along its address in the data management structures, such as address tables.Type: ApplicationFiled: January 5, 2009Publication date: July 8, 2010Inventors: Sergey Anatolievich Gorobets, Bum Suck So, Eugene Zilberman
-
Publication number: 20100174869Abstract: A method and system maintains an address table for mapping logical groups to physical addresses in a memory device. The method includes receiving a request to set an entry in the address table and selecting and flushing entries in an address table cache depending on the existence of the entry in the cache and whether the cache meets a flushing threshold criteria. The flushed entries include less than the maximum capacity of the address table cache. The flushing threshold criteria includes whether the address table cache is full or if a page exceeds a threshold of changed entries. The address table and/or the address table cache may be stored in a non-volatile memory and/or a random access memory. Improved performance may result using this method and system due to the reduced number of write operations and time needed to partially flush the address table cache to the address table.Type: ApplicationFiled: January 5, 2009Publication date: July 8, 2010Inventors: Sergey Anatolievich Gorobets, Alexander Paley, Eugene Zilberman, Alan David Bennett, Shai Traister
-
Publication number: 20100174846Abstract: A portion of a nonvolatile memory is partitioned from a main multi-level memory array to operate as a cache. The cache memory is configured to store at less capacity per memory cell and finer granularity of write units compared to the main memory. In a block-oriented memory architecture, the cache has multiple functions, not merely to improve access speed, but is an integral part of a sequential update block system. Decisions to archive data from the cache memory to the main memory depend on the attributes of the data to be archived, the state of the blocks in the main memory portion and the state of the blocks in the cache portion.Type: ApplicationFiled: January 5, 2009Publication date: July 8, 2010Inventors: Alexander Paley, Sergey Anatolievich Gorobets, Eugene Zilberman, Alan David Bennett, Shai Traister, Andrew Tomlin, William S. Wu, Bum Suck So
-
Publication number: 20100172179Abstract: Techniques for the management of spare blocks in re-programmable non-volatile memory system, such as a flash EEPROM system, are presented. In one set of techniques, for a memory partitioned into two sections (for example a binary section and a multi-state section), where blocks of one section are more prone to error, spare blocks can be transferred from the more error prone partition to the less error prone partition. In another set of techniques for a memory partitioned into two sections, blocks which fail in the more error prone partition are transferred to serve as spare blocks in the other partition. In a complementary set of techniques, a 1-bit time stamp is maintained for free blocks to determine whether the block has been written recently. Other techniques allow for spare blocks to be managed by way of a logical to physical conversion table by assigning them logical addresses that exceed the logical address space of which a host is aware.Type: ApplicationFiled: January 5, 2009Publication date: July 8, 2010Inventors: Sergey Anatolievich Gorobets, Alan David Bennett, Eugene Zilberman
-
Publication number: 20090094482Abstract: The present invention discloses systems and methods for restoring data in flash memory after an operational failure. The method includes: setting bits of a data buffer in accordance with the data; programming a plurality of memory cells in accordance with the data buffer; and upon failure of the programming step, restoring the data buffer to be set in accordance with the data, wherein the restoring is based only on a present state of the data buffer and on a present state of the plurality of memory cells. A memory device includes: at least one cell; and a controller operative to store data in at least one cell by steps including those described in the method above. The system includes: a memory device that includes at least one cell; and a processor operative to store data in at least one cell by steps including those described in the method above.Type: ApplicationFiled: November 21, 2008Publication date: April 9, 2009Inventor: Eugene Zilberman
-
Publication number: 20070086244Abstract: The present invention discloses systems and methods for restoring data in flash memory after an operational failure. The method includes: setting bits of a data buffer in accordance with the data; programming a plurality of memory cells in accordance with the data buffer; and upon failure of the programming step, restoring the data buffer to be set in accordance with the data, wherein the restoring is based only on a present state of the data buffer and on a present state of the plurality of memory cells. A memory device includes: at least one cell; and a controller operative to store data in at least one cell by steps including those described in the method above. The system includes: a memory device that includes at least one cell; and a processor operative to store data in at least one cell by steps including those described in the method above.Type: ApplicationFiled: August 2, 2006Publication date: April 19, 2007Inventor: Eugene Zilberman
-
Patent number: 6829721Abstract: A system and method for simplifying the testing and manufacturing process of multi-board solid-state storage systems. The system is constructed by placing secondary non-volatile memory components onto every board in multi-board system that carries primary solid-state components. This allows separate or independent testing of the boards, and final construction of the solid-state system by simply connecting these boards, without the need to either test the completely constructed system or to transfer geometry, faulty location and auxiliary records if the boards have been tested independently. The best mode of the invention is a solid-state storage system, wherein system data is stored on multiple boards, so that each board is a separate entity and can be attached, removed or replaced without additional steps for transferring the system information.Type: GrantFiled: February 5, 2001Date of Patent: December 7, 2004Assignee: M-Systems Flash Disk Pioneers Ltd.Inventor: Eugene Zilberman
-
Method for improving performance of a flash-based storage system using specialized flash controllers
Patent number: 6721820Abstract: A system and method for increasing the performance of a flash-based storage system, using specialized flash memory controller(s). Several methods of performance improvement are suggested such as adding DMA capability to flash memory controller to reduce the data transfer time; connecting flash chips to a multitude of flash memory controllers, which allow continuation of the data transfer to the system, even after the page programming operation has started; and connecting flash chips to a multitude of DMA-capable flash memory controllers to allow data transfer directly from one flash chip to another. In addition, a multi-controller design is suggested, which efficiently combines these performance-improving methods. In its best mode of operation, the present invention is a Flash-based storage system with several flash controllers or a multi-controller with DMA interface, organized in a way that reduces the page programming, page fetch and page copy time.Type: GrantFiled: May 15, 2002Date of Patent: April 13, 2004Assignee: M-Systems Flash Disk Pioneers Ltd.Inventors: Eugene Zilberman, Alex Yaroshetsky -
Patent number: 6691205Abstract: A method and system for increasing read and write performance of flash-based storage systems, by using RAM buffers with multiple accesses. The increase of read and write performance of flash-based storage system is achieved by performing “from RAM” and “to RAM” transfer operations simultaneously. According to the preferred embodiment of the present invention, the invention provides a system for enabling simultaneous data transfer from a host interface to flash media and from flash media to a host interface. It also provides for a system for synchronizing memory-to-host and flash-to-memory transfers, during the host read operation. There is further provided a system of synchronizing host-to-memory and memory-to-flash transfers, during the host write operation.Type: GrantFiled: March 5, 2001Date of Patent: February 10, 2004Assignee: M-Systems Flash Disk Pioneers Ltd.Inventor: Eugene Zilberman