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: 10811058
    Abstract: A bonded assembly includes a memory die bonded to a support die. The memory die contains at least one three-dimensional array of memory elements, memory-die dielectric material layers, and memory-die bonding pads. The support die contains at least one peripheral circuitry including complementary metal-oxide-semiconductor (CMOS) devices and configured to generate control signals for, and receive sense signals from, the at least one three-dimensional array of memory elements and a functional module and configured to provide a functionality that is independent of operation of the at least one three-dimensional array of memory elements. The functional module may include an error correction code (ECC) module, a memory module configured to interface with an external processor module located outside of the memory die, a microprocessor unit module, a wireless communication module, and/or a system level controller module.
    Type: Grant
    Filed: February 6, 2019
    Date of Patent: October 20, 2020
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Yanli Zhang, Zhixin Cui, Akio Nishida, Johann Alsmeier, Yan Li, Steven Sprouse
  • Publication number: 20200251149
    Abstract: A bonded assembly includes a memory die bonded to a support die. The memory die contains at least one three-dimensional array of memory elements, memory-die dielectric material layers, and memory-die bonding pads. The support die contains at least one peripheral circuitry including complementary metal-oxide-semiconductor (CMOS) devices and configured to generate control signals for, and receive sense signals from, the at least one three-dimensional array of memory elements and a functional module and configured to provide a functionality that is independent of operation of the at least one three-dimensional array of memory elements. The functional module may include an error correction code (ECC) module, a memory module configured to interface with an external processor module located outside of the memory die, a microprocessor unit module, a wireless communication module, and/or a system level controller module.
    Type: Application
    Filed: February 6, 2019
    Publication date: August 6, 2020
    Inventors: Yanli ZHANG, Zhixin CUI, Akio NISHIDA, Johann ALSMEIER, Yan LI, Steven SPROUSE
  • Patent number: 10459786
    Abstract: The present disclosure generally relates to solid state storage device and techniques for conserving storage capacity associated therewith. Several embodiments are presented, including a data storage device, data storage controller, and methods for using the same are provided in the subject disclosure. A data storage device includes: a plurality of memory devices, a controller coupled to the plurality of memory devices and configured to program data to and read data from the plurality of memory devices, a memory including a logical-to-physical address translation map configured to enable the controller to determine a physical location of stored data in the plurality of memory devices, where the logical-to-physical address translation map contains at least one entry that merges at least two addresses that map, respectively, to at least two physical locations in the plurality of memory devices, where the controller is configured to encode each merged entry with an error-correcting code.
    Type: Grant
    Filed: June 27, 2017
    Date of Patent: October 29, 2019
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: James M. Higgins, Rodney Brittner, Steven Sprouse, David George Dreyer, Mark D. Myran
  • Patent number: 10223022
    Abstract: A set of superblocks can be constructed by a memory controller employing good blocks and partially bad blocks in a plurality of memory access units. Each functional memory access unit among the plurality of memory access units contributes a single block that is a good block or a partially bad block to each superblock. The memory controller can further construct a set of super word line zones within each superblock in the set of superblocks. Each block within a superblock contributes a good word line zone to each super word line zone. Upon encounter of a program error at run time, the super word line zones within the superblock may be modified to continue running the program employing modified super word line zones for the superblock.
    Type: Grant
    Filed: January 27, 2017
    Date of Patent: March 5, 2019
    Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
    Inventors: Meiman Lin Syu, Steven Sprouse, Kroum Stoev, Satish Vasudeva
  • Publication number: 20180373590
    Abstract: The present disclosure generally relates to solid state storage device and techniques for conserving storage capacity associated therewith. Several embodiments are presented, including a data storage device, data storage controller, and methods for using the same are provided in the subject disclosure. A data storage device includes: a plurality of memory devices, a controller coupled to the plurality of memory devices and configured to program data to and read data from the plurality of memory devices, a memory including a logical-to-physical address translation map configured to enable the controller to determine a physical location of stored data in the plurality of memory devices, where the logical-to-physical address translation map contains at least one entry that merges at least two addresses that map, respectively, to at least two physical locations in the plurality of memory devices, where the controller is configured to encode each merged entry with an error-correcting code.
    Type: Application
    Filed: June 27, 2017
    Publication date: December 27, 2018
    Inventors: James M. HIGGINS, Rodney BRITTNER, Steven SPROUSE, David George DREYER, Mark D. MYRAN
  • Patent number: 10142419
    Abstract: In an illustrative example, a method includes receiving data that includes a set of data symbols. The method further includes generating a set of parity symbols based on the set of data symbols using an erasure correcting code. The set of parity symbols includes at least a first parity symbol that is generated based on a first proper subset of the set of data symbols. The first parity symbol enables recovery of a data symbol of the first proper subset independently of a second proper subset of the set of data symbols.
    Type: Grant
    Filed: June 10, 2016
    Date of Patent: November 27, 2018
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Xinmiao Zhang, Steven Sprouse, Ishai Ilani
  • Publication number: 20180217892
    Abstract: A set of superblocks can be constructed by a memory controller employing good blocks and partially bad blocks in a plurality of memory access units. Each functional memory access unit among the plurality of memory access units contributes a single block that is a good block or a partially bad block to each superblock. The memory controller can further construct a set of super word line zones within each superblock in the set of superblocks. Each block within a superblock contributes a good word line zone to each super word line zone. Upon encounter of a program error at run time, the super word line zones within the superblock may be modified to continue running the program employing modified super word line zones for the superblock.
    Type: Application
    Filed: January 27, 2017
    Publication date: August 2, 2018
    Inventors: Meiman Lin Syu, Steven Sprouse, Kroum Stoev, Satish Vasudeva
  • Patent number: 9952978
    Abstract: Systems, methods and or devices are used to enable improving mixed random performance in low queue depth workloads in a storage device (e.g., comprising a plurality of non-volatile memory units, such as one or more flash memory devices). In one aspect, the method includes (1) maintaining a write cache corresponding to write commands from a host, (2) determining a workload in accordance with commands from the host, (3) in accordance with a determination that the workload is a non-qualifying workload, scheduling a regular flush of the write cache, and (4) in accordance with a determination that the workload is a qualifying workload, scheduling an optimized flush of the write cache.
    Type: Grant
    Filed: April 2, 2015
    Date of Patent: April 24, 2018
    Assignee: SANDISK TECHNOLOGIES, LLC
    Inventors: Steven Sprouse, Satish B. Vasudeva, Rodney Brittner
  • Patent number: 9898364
    Abstract: A memory controller configures a plurality of word lines associated with a respective block of a 3D memory device in a first configuration, where the first configuration includes a set of configuration parameters for each word line of the plurality of word lines determined at least in part on the vertical positions of each word line relative to a substrate of the 3D memory device and, while the plurality of word lines are configured in the first configuration, writes data to and reads data from the respective block. For the respective block, the memory controller: adjusts a first parameter in the respective set of configuration parameters corresponding to a respective word line of the plurality of word lines in response to detecting a first trigger condition as to the respective word line and, after adjusting the first parameter, writes data to and reads data from the respective word line.
    Type: Grant
    Filed: November 17, 2014
    Date of Patent: February 20, 2018
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: James M. Higgins, Robert W. Ellis, Neil R. Darragh, Aaron K. Olbrich, Navneeth Kankani, Steven Sprouse
  • Patent number: 9870149
    Abstract: A method of scheduling memory operations to be performed by non-volatile memory devices in a storage system includes identifying a plurality of memory operations to be performed by a plurality of non-volatile memory devices in the storage system. The number of memory operations in the plurality of memory operations is no greater than the number of non-volatile memory devices in the plurality of non-volatile memory devices; each memory operation is to be performed by a distinct non-volatile memory device; and the memory operations include host writes, garbage collection writes, and garbage collection reads. The method also includes, for each non-volatile memory device, assigning preference values to each of the memory operations. The method further includes assigning each memory operation to a distinct non-volatile memory device, using the preference values assigned to each of the memory operations for each non-volatile memory device.
    Type: Grant
    Filed: November 10, 2015
    Date of Patent: January 16, 2018
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Steven Sprouse, Ryan Marlin
  • Publication number: 20170255519
    Abstract: In an illustrative example, a method includes receiving data that includes a set of data symbols. The method further includes generating a set of parity symbols based on the set of data symbols using an erasure correcting code. The set of parity symbols includes at least a first parity symbol that is generated based on a first proper subset of the set of data symbols. The first parity symbol enables recovery of a data symbol of the first proper subset independently of a second proper subset of the set of data symbols.
    Type: Application
    Filed: June 10, 2016
    Publication date: September 7, 2017
    Inventors: XINMIAO ZHANG, STEVEN SPROUSE, ISHAI ILANI
  • Patent number: 9575829
    Abstract: A method may be performed in a data storage device that includes a memory and a controller, in response to a request to read data from the memory. The data is located within a first word line of the memory. The method includes accessing the data from the first word line and determining, based on a probability threshold, whether to perform a remedial action with respect to a second word line.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: February 21, 2017
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Nian Niles Yang, Chris Avila, Steven Sprouse, Abhijeet Manohar, Yichao Huang
  • Publication number: 20170010815
    Abstract: A method of scheduling memory operations to be performed by non-volatile memory devices in a storage system includes identifying a plurality of memory operations to be performed by a plurality of non-volatile memory devices in the storage system. The number of memory operations in the plurality of memory operations is no greater than the number of non-volatile memory devices in the plurality of non-volatile memory devices; each memory operation is to be performed by a distinct non-volatile memory device; and the memory operations include host writes, garbage collection writes, and garbage collection reads. The method also includes, for each non-volatile memory device, assigning preference values to each of the memory operations. The method further includes assigning each memory operation to a distinct non-volatile memory device, using the preference values assigned to each of the memory operations for each non-volatile memory device.
    Type: Application
    Filed: November 10, 2015
    Publication date: January 12, 2017
    Inventors: Steven Sprouse, Ryan Marlin
  • Patent number: 9524235
    Abstract: The various implementations described herein include systems, methods and/or devices used to enable local hash value generation in a non-volatile data storage system (e.g., using a flash memory device). In one aspect, rather than having Bloom filter logic in a host, Bloom filter functionality is integrated in the non-volatile data storage system. In some implementations, at a non-volatile data storage system, the method includes receiving from a host a plurality of requests that specify respective elements. The method further includes, for each respective element specified by the received requests, (1) generating a respective set of k bit positions in a Bloom filter, using k distinct hash functions, where k is an integer greater than 2, and (2) setting the respective set of k bit positions in the Bloom filter, which is stored in a non-volatile storage medium of the non-volatile data storage system.
    Type: Grant
    Filed: September 24, 2013
    Date of Patent: December 20, 2016
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventor: Steven Sprouse
  • Patent number: 9384126
    Abstract: The various implementations described herein include systems, methods and/or devices used to avoid false negative results in Bloom filters implemented in non-volatile data storage systems. In one aspect, if an element is added to a Bloom filter using k hash functions, instead of requiring all k bits to be set before returning a positive result (e.g., indicating that the element is most likely present in the Bloom filter), the embodiments described herein return a positive result when at least k minus x (k?x) bit positions are set in the Bloom filter, where x is an integer greater than zero and less than k. In some embodiments, additional measures to avoid false negatives include performing a read check immediately after setting the k bits in the Bloom filter and/or using a conservative reading threshold voltage.
    Type: Grant
    Filed: September 24, 2013
    Date of Patent: July 5, 2016
    Assignee: SANDISK TECHNOLOGIES INC.
    Inventors: Steven Sprouse, Yan Li
  • Patent number: 9361986
    Abstract: 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: Grant
    Filed: September 18, 2012
    Date of Patent: June 7, 2016
    Assignee: SanDisk Technologies Inc.
    Inventors: Jian Chen, Sergei Gorobets, Steven Sprouse, Tien-Chien Kuo, Yan Li, Seungpil Lee, Alex Mak, Deepanshu Dutta, Masaaki Higashitani
  • Patent number: 9329989
    Abstract: 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: Grant
    Filed: December 30, 2011
    Date of Patent: May 3, 2016
    Assignee: SanDisk Technologies, Inc.
    Inventors: Steven Sprouse, Yichao Huang
  • Publication number: 20160117253
    Abstract: Systems, methods and/or devices are used to enable improving mixed random performance in low queue depth workloads in a storage device (e.g., comprising a plurality of non-volatile memory units, such as one or more flash memory devices). In one aspect, the method includes (1) maintaining a write cache corresponding to write commands from a host, (2) determining a workload in accordance with commands from the host, (3) in accordance with a determination that the workload is a non-qualifying workload, scheduling a regular flush of the write cache, and (4) in accordance with a determination that the workload is a qualifying workload, scheduling an optimized flush of the write cache.
    Type: Application
    Filed: April 2, 2015
    Publication date: April 28, 2016
    Inventors: Steven Sprouse, Satish B. Vasudeva, Rodney Brittner
  • Patent number: 9245637
    Abstract: Non-volatile memory and methods of reading non-volatile memory are provided for managing and reducing read related disturb. Techniques are introduced to reduce read disturb using state-dependent read pass voltages for particular word lines during a read operation. Because of their proximity to a selected word line, adjacent word lines can be biased using state-dependent pass voltages while other unselected word lines are biased using a standard or second set of pass voltages. Generally, each state-dependent pass voltage applied to a word line adjacent to the selected word line is larger than the second set of pass voltages applied to other unselected word lines, although this is not required. Other word lines, may also be biased using state-dependent pass voltages. System-level techniques are provided with or independently of state-dependent pass voltages to further reduce and manage read disturb. Techniques may account for data validity and memory write and erase cycles.
    Type: Grant
    Filed: September 6, 2013
    Date of Patent: January 26, 2016
    Assignee: SanDisk Technologies Inc.
    Inventors: Nian Niles Yang, Chris Avila, Steven Sprouse, Alexandra Bauche
  • Patent number: 9235530
    Abstract: 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: Grant
    Filed: May 31, 2010
    Date of Patent: January 12, 2016
    Assignee: SanDisk Technologies Inc.
    Inventors: William Wu, Steven Sprouse, Sergei Anatolievich Gorobets, Alan Bennett, Ameen Aslam