Patents by Inventor Steven Sprouse
Steven Sprouse 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: 8775722Abstract: Methods and systems are disclosed herein for storing data in a memory device. Data for multiple pages is written in parallel using plane interleaving. For example, in a four plane write, a first set of four pages are written in the following sequence: 0, 1, 2, 3. A second set of four pages, after plane interleaving, are written in the following sequent: 7, 4, 5, 6. After writing the data, the pages of written data are read, page swapped if necessary, and then written into another portion of memory (such as MLC).Type: GrantFiled: December 30, 2011Date of Patent: July 8, 2014Assignee: SanDisk Technologies Inc.Inventors: Steven Sprouse, Sergey Anatolievich Gorobets
-
Publication number: 20140173382Abstract: A method performed in a data storage device including a non-volatile memory includes reading a representation of data, the representation corresponding to one or more selected states of storage elements of a group of storage elements of the non-volatile memory. The method includes, in response to a count of errors in the representation of the data exceeding a threshold, scheduling a remedial action to be performed on the group of storage elements.Type: ApplicationFiled: February 2, 2013Publication date: June 19, 2014Applicant: SANDISK TECHNOLOGIES INC.Inventors: NIAN NILES YANG, CHRIS AVILA, STEVEN SPROUSE, JIANMIN HUANG, YICHAO HUANG, KULACHET TANPAIROJ
-
Publication number: 20140173172Abstract: A method includes reading a representation of tracking data from at least a portion of a non-volatile memory. The method further includes adjusting a read voltage based on a comparison between a number of bits in tracking data as compared to a count of bits in the representation of the tracking data.Type: ApplicationFiled: February 2, 2013Publication date: June 19, 2014Applicant: SANDISK TECHNOLOGIES INC.Inventors: NIAN NILES YANG, RYAN TAKAFUJI, SEUNGJUNE JEON, CHRIS AVILA, STEVEN SPROUSE
-
Patent number: 8706983Abstract: A method and system for performing garbage collection operations on update blocks in a memory device using volatile memory is disclosed. When performing a garbage collection operation, a first part of the data related to the garbage collection operation is written to a volatile memory in the memory device, and a second part of the data related to the garbage collection operation is written to a non-volatile memory in the memory device. The first part of the data that is written to the volatile memory (such as a random access memory) may comprise control information (such as mapping information of the logical addressable unit to a physical metablock). The second part of the data related to the garbage collection that is written to the non-volatile memory (such as a flash memory) may comprise the consolidated data in the update block.Type: GrantFiled: June 30, 2010Date of Patent: April 22, 2014Assignee: SanDisk Technologies Inc.Inventors: Neil David Hutchison, Steven Sprouse
-
Patent number: 8634239Abstract: A memory device implements hybrid programming sequences for writing data to multiple level cells (MLCs). The memory device obtains specified data to write to the MLC and selects among multiple different programming techniques to write the specified data. Each of the programming techniques establishes a charge configuration in the MLC that represents multiple data bits. The memory device writes the specified data to the MLC using the selected programming technique. In one implementation, the programming techniques include a robust programming technique that preserves previously written data in the MLC in the event of a write abort of the specified data and an additional programming technique that has higher average performance than the robust programming technique. The selection may be made based on a wide variety of criteria, including whether data has been previously written to a block that includes the MLC.Type: GrantFiled: December 28, 2011Date of Patent: January 21, 2014Assignee: SanDisk Technologies Inc.Inventors: Steven Sprouse, Chris Avila, Sergey Anatolievich Gorobets
-
Patent number: 8626986Abstract: A method and system pre-emptively perform garbage collection operations of a forced amount on update blocks in a memory device. The amount of garbage collection needed by a certain data write is monitored and adjusted to match the forced amount if necessary. Update blocks may be selected on the basis of their recent usage or the amount of garbage collection required. Another method and system may store control information about update blocks in a temporary storage area so that a greater number of update blocks are utilized. The sequential write performance measured by the Speed Class test may be optimized by using this method and system.Type: GrantFiled: June 30, 2010Date of Patent: January 7, 2014Assignee: SanDisk Technologies Inc.Inventors: William Wu, Shai Traister, Jianmin Huang, Neil David Hutchison, Steven Sprouse
-
Publication number: 20130173874Abstract: A method and system for operating a memory device in programming mode is disclosed. The memory device includes a programming mode and a normal mode. The memory device in programming mode increases the number of physical planes that can be programmed in parallel than can be programmed in normal mode. In this way, the memory device may be programmed more quickly at various times of operation of the memory device (such as during manufacturing). The host system may send rearranged data to the memory device in programming mode with the rearranged data accounting for the increased number of physical planes programmed in parallel.Type: ApplicationFiled: December 30, 2011Publication date: July 4, 2013Inventors: Steven Sprouse, Yichao Huang
-
Publication number: 20130170293Abstract: A memory device implements hybrid programming sequences for writing data to multiple level cells (MLCs). The memory device obtains specified data to write to the MLC and selects among multiple different programming techniques to write the specified data. Each of the programming techniques establishes a charge configuration in the MLC that represents multiple data bits. The memory device writes the specified data to the MLC using the selected programming technique. In one implementation, the programming techniques include a robust programming technique that preserves previously written data in the MLC in the event of a write abort of the specified data and an additional programming technique that has higher average performance than the robust programming technique. The selection may be made based on a wide variety of criteria, including whether data has been previously written to a block that includes the MLC.Type: ApplicationFiled: December 28, 2011Publication date: July 4, 2013Inventors: Steven Sprouse, Chris Avila, Sergey Anatolievich Gorobets
-
Publication number: 20130173844Abstract: A method and system for SLC-MLC Wear Balancing in a flash memory device is disclosed. The flash memory device includes a single level cell (SLC) portion and a multi-level cell (MLC) portion. The age of the SLC portion and the MLC portion may differ, leading potentially to one portion wearing out before the other. In order to avoid this, a controller is configured to receive an age indicator from one or both of the SLC portion and the MLC portion, determine, based on the age indicator, whether to modify operation of the SLC portion and/or the MLC portion, and in response to determining to modifying operation, modify the operation of the at least one of the SLC portion or the MLC portion. The modification of the operation may thus balance wear between the SLC and MLC portions, thereby potentially extending the life of the flash memory device.Type: ApplicationFiled: December 29, 2011Publication date: July 4, 2013Inventors: Jian Chen, Sergey Anatolievich Gorobets, Steven Sprouse
-
Publication number: 20130173847Abstract: Methods and systems are disclosed herein for storing data in a memory device. Data for multiple pages is written in parallel using plane interleaving. For example, in a four plane write, a first set of four pages are written in the following sequence: 0, 1, 2, 3. A second set of four pages, after plane interleaving, are written in the following sequent: 7, 4, 5, 6. After writing the data, the pages of written data are read, page swapped if necessary, and then written into another portion of memory (such as MLC).Type: ApplicationFiled: December 30, 2011Publication date: July 4, 2013Inventors: Steven Sprouse, Sergey Anatolievich Gorobets
-
Patent number: 8468294Abstract: A memory system and methods of its operation are presented. The memory system includes a controller and a non-volatile memory circuit, where the non-volatile memory circuit has a first section, where data is stored in a binary format, and a second section, where data is stored in a multi-state format. The memory system receives data from the host and performs a binary write operation of the received data to the first section of the non-volatile memory circuit. The memory system subsequently folds portions of the data from the first section of the non-volatile memory to the second section of the non-volatile memory, wherein a folding operation includes reading the portions of the data from the first section rewriting it into the second section of the non-volatile memory using a multi-state programming operation. The controller determines to operate the memory system according to one of multiple modes.Type: GrantFiled: December 18, 2009Date of Patent: June 18, 2013Assignee: SanDisk Technologies Inc.Inventors: Jianmin Huang, Chris Avila, Lee M. Gavens, Steven Sprouse, Sergey Anatolievich Gorobets, Neil David Hutchinson
-
Publication number: 20130070530Abstract: A non-volatile storage system is disclosed that includes non-volatile memory cells designed for high endurance and lower retention than other non-volatile memory cells.Type: ApplicationFiled: September 18, 2012Publication date: March 21, 2013Applicant: SANDISK TECHNOLOGIES INC.Inventors: Jian Chen, Sergei Gorobets, Steven Sprouse, Tien-Chien Kuo, Yan Li, Seungpil Lee, Alex Mak, Deepanshu Dutta, Masaaki Higashitani
-
Publication number: 20120297140Abstract: A method and system for cache management in a storage device is disclosed. A portion of unused memory in the storage device is used for temporary data cache so that two levels of cache may be used (such as a permanent data cache and a temporary data cache). The storage device may manage the temporary data cache in order to maintain clean entries in the temporary data cache. In this way, the storage area associated with the temporary data cache may be immediately reclaimed and retasked for a different purpose without the need for extraneous copy operations.Type: ApplicationFiled: May 17, 2011Publication date: November 22, 2012Inventors: William Wu, Sergey Anatolievich Gorobets, Steven Sprouse, Alan Bennett
-
Patent number: 8180994Abstract: During a programming data transfer process in a non-volatile storage system, recording units of data are transferred from a host to a memory device, such as a memory card. For each recording unit, pages of data are arranged in an order such that a page which takes longer to write to a memory array of the memory device is provided before a page which takes less time to write. Overall programming time for the recording unit is reduced since a greater degree of parallel processing occurs. While the page which takes longer to program is being programmed to the memory array, the page which takes less time to program is being transferred to the memory device. After programming is completed, the memory device signals the host to transfer a next recording unit. The pages of data may include lower, middle and upper pages.Type: GrantFiled: July 8, 2009Date of Patent: May 15, 2012Assignee: SanDisk Technologies Inc.Inventors: Steven Sprouse, Jianmin Huang, Chris Avila, Yichao Huang, Emilio Yero
-
Publication number: 20120005405Abstract: A method and system pre-emptively perform garbage collection operations of a forced amount on update blocks in a memory device. The amount of garbage collection needed by a certain data write is monitored and adjusted to match the forced amount if necessary. Update blocks may be selected on the basis of their recent usage or the amount of garbage collection required. Another method and system may store control information about update blocks in a temporary storage area so that a greater number of update blocks are utilized. The sequential write performance measured by the Speed Class test may be optimized by using this method and system.Type: ApplicationFiled: June 30, 2010Publication date: January 5, 2012Inventors: William Wu, Shai Traister, Jianmin Huang, Neil David Hutchison, Steven Sprouse
-
Publication number: 20120005406Abstract: A method and system for performing garbage collection operations on update blocks in a memory device using volatile memory is disclosed. When performing a garbage collection operation, a first part of the data related to the garbage collection operation is written to a volatile memory in the memory device, and a second part of the data related to the garbage collection operation is written to a non-volatile memory in the memory device. The first part of the data that is written to the volatile memory (such as a random access memory) may comprise control information (such as mapping information of the logical addressable unit to a physical metablock). The second part of the data related to the garbage collection that is written to the non-volatile memory (such as a flash memory) may comprise the consolidated data in the update block.Type: ApplicationFiled: June 30, 2010Publication date: January 5, 2012Inventors: Neil David Hutchison, Steven Sprouse
-
Publication number: 20110296122Abstract: A system and method for clearing data from a cache in a storage device is disclosed. The method may include analyzing the cache for the least recently fragmented logical group, and evicting the entries from the least recently fragmented logical group. Or, the method may also include analyzing compaction history and selecting entries for eviction based on the analysis of the compaction history. The method may also include scheduling of different eviction mechanisms during various operations of the storage device. The system may include a cache storage, a main storage and a controller configured to evict entries associated with a least recently fragmented logical group, configured to evict entries based on analysis of compaction history, or configured to schedule different eviction mechanisms during various operations of the storage device.Type: ApplicationFiled: May 31, 2010Publication date: December 1, 2011Inventors: William WU, Steven Sprouse, Sergei Anatolievich Gorobets, Alan Bennett, Ameen Aslam
-
Patent number: 8001304Abstract: A non-volatile storage device has first and second controllers that provide external access to non-volatile memory using different protocols. In response to a request from the first controller, the second controller retrieves parameters from the non-volatile memory and provides the retrieved parameters to the first controller. In one embodiment, the device parameters are USB descriptors, which may include a vendor ID, a product ID, a product string, and/or a serial number. The first controller may be a Universal Serial Bus (USB) card reader controller. Examples of the second controller include a Secure Digital (SD) controller, a CompactFlash (CF) controller, a MemoryStick controller, or a different type of controller that is able to provide external access to the non-volatile memory. The first controller provides the device parameters to a host during enumeration of the non-volatile storage device. The device parameters may be used to establish settings for the first controller.Type: GrantFiled: February 15, 2008Date of Patent: August 16, 2011Assignee: SanDisk Technologies Inc.Inventors: Ka Ian Yung, Steven Sprouse, Dhaval Parikh, Nathan Rapaport
-
Publication number: 20110153911Abstract: A method and system for achieving die parallelism through block interleaving includes non-volatile memory having a multiple non-volatile memory dies, where each die has a cache storage area and a main storage area. A controller is configured to receive data and write sequentially addressed data to the cache storage area of a first die. The controller, after writing sequentially addressed data to the cache storage area of the first die equal to a block of the main storage area of the first die, writes additional data to a cache storage area of a next die until sequentially addressed data is written into the cache area of the next die equal to a block of the main storage area. The cache storage area may be copied to the main storage area on the first die while the cache storage area is written to on the next die.Type: ApplicationFiled: December 18, 2009Publication date: June 23, 2011Inventors: Steven Sprouse, Chris Avila, Jianmin Huang
-
Publication number: 20110153913Abstract: A memory system and methods of its operation are presented. The memory system includes a controller and a non-volatile memory circuit, where the non-volatile memory circuit has a first section, where data is stored in a binary format, and a second section, where data is stored in a multi-state format. The memory system receives data from the host and performs a binary write operation of the received data to the first section of the non-volatile memory circuit. The memory system subsequently folds portions of the data from the first section of the non-volatile memory to the second section of the non-volatile memory, wherein a folding operation includes reading the portions of the data from the first section rewriting it into the second section of the non-volatile memory using a multi-state programming operation. The controller determines to operate the memory system according to one of multiple modes.Type: ApplicationFiled: December 18, 2009Publication date: June 23, 2011Inventors: Jianmin Huang, Chris Avila, Lee M. Gavens, Steven Sprouse, Sergey Anatolievich Gorobets, Neil David Hutchinson