Patents by Inventor Steven T. Sprouse

Steven T. 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: 9171620
    Abstract: In a nonvolatile memory array, such as a three-dimensional array of charge-storage memory cells, data is scrubbed according to a scheme which weights particular data that is exposed to potentially damaging voltages. Data that may cause damage to other data is moved to a location where such potential damage is reduced.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: October 27, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Chris Nga Yee Avila, Yingda Dong, Alexander Kwok-Tung Mak, Steven T. Sprouse
  • Patent number: 9116796
    Abstract: A NAND Flash based content addressable memory (CAM) is used for a key-value addressed storage drive. The device can use a standard transport protocol such as PCI-E, SAS, SATA, eMMC, SCSI, and so on. A host writes a key-value pair to the drive, where the drive writes the keys along bit lines of a CAM NAND portion of the drive and stores the value in the drive. The drive then maintains a table linking the keys to location of the value. In a read process, the host provides a key to drive, which then broadcasts down the word lines of blocks storing the keys. Based on any matching bit lines, the tables can then be used to retrieve and supply the corresponding data to the host.
    Type: Grant
    Filed: January 24, 2013
    Date of Patent: August 25, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Steven T. Sprouse, Yan Li
  • Patent number: 9104551
    Abstract: A NAND Flash based content addressable memory (CAM) is used for a key-value addressed storage drive. The device can use a standard transport protocol such as PCI-E, SAS, SATA, eMMC, SCSI, and so on. A host writes a key-value pair to the drive, where the drive writes the keys along bit lines of a CAM NAND portion of the drive and stores the value in the drive. The drive then maintains a table linking the keys to location of the value. In a read process, the host provides a key to drive, which then broadcasts down the word lines of blocks storing the keys. Based on any matching bit lines, the tables can then be used to retrieve and supply the corresponding data to the host.
    Type: Grant
    Filed: January 24, 2013
    Date of Patent: August 11, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Steven T. Sprouse, Yan Li
  • Patent number: 9104327
    Abstract: A system and method for reducing the need to check both a secondary address table and a primary address table for logical to physical translation tasks is disclosed. The method may include generating a fast translation indicator, such as a logical group bitmap, indicating whether there is an entry in the secondary address table that contains desired information pertaining to a particular logical address. Upon a host request relating to the particular logical address, the storage device may check the bitmap to determine if retrieval and parsing of the secondary table is necessary. The system may include a storage device having RAM cache storage, flash storage and a controller configured to generate and maintain at least one fast translation indicator to reduce the need to check both secondary and primary address tables during logical to physical address translation operations of the storage device.
    Type: Grant
    Filed: May 4, 2012
    Date of Patent: August 11, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Sergey Anatolievich Gorobets, William Wu, Steven T. Sprouse
  • Patent number: 9098403
    Abstract: A NAND Flash based content addressable memory (CAM) is used for a key-value addressed storage drive. The device can use a standard transport protocol such as PCI-E, SAS, SATA, eMMC, SCSI, and so on. A host writes a key-value pair to the drive, where the drive writes the keys along bit lines of a CAM NAND portion of the drive and stores the value in the drive. The drive then maintains a table linking the keys to location of the value. In a read process, the host provides a key to drive, which then broadcasts down the word lines of blocks storing the keys. Based on any matching bit lines, the tables can then be used to retrieve and supply the corresponding data to the host.
    Type: Grant
    Filed: January 24, 2013
    Date of Patent: August 4, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Steven T. Sprouse, Yan Li
  • Publication number: 20150160857
    Abstract: In a Multi Level Cell (MLC) memory array, a burst of data from a host may be written in only lower pages of a block in a rapid manner. Other data from a host may be written in lower and upper pages so that data is more efficiently arranged for long term storage.
    Type: Application
    Filed: December 6, 2013
    Publication date: June 11, 2015
    Applicant: SanDisk Technologies Inc.
    Inventors: Sergey Gorobets, Chris Avila, Steven T. Sprouse
  • Publication number: 20150160893
    Abstract: In a Multi Level Cell (MLC) memory array, a burst of data from a host may be written in only lower pages of a block in a rapid manner. Other data from a host may be written in lower and upper pages so that data is more efficiently arranged for long term storage.
    Type: Application
    Filed: May 23, 2014
    Publication date: June 11, 2015
    Applicant: SanDisk Technologies Inc.
    Inventors: Sergey Gorobets, Chris Avila, Steven T. Sprouse
  • Patent number: 9053808
    Abstract: A method and system have been described for counteracting and correcting for read disturb effects in blocks of flash memory. The method may include the step of a controller of the memory system performing a read scrub scan on only a portion of one targeted word line in a block at desired intervals. The controller may calculate whether a read scrub scan is necessary based on a probabilistic determination that is calculated in response to each received host read command. The controller may then place a block associated with the targeted word line into a refresh queue if a number of errors are detected in the targeted word line that meets or exceeds a predetermined threshold. The block refresh process may include copying the data from the block into a new block during a background operation.
    Type: Grant
    Filed: June 21, 2012
    Date of Patent: June 9, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Steven T. Sprouse, Alexandra Bauche, Yichao Huang, Jian Chen, Jianmin Huang, Dana Lee
  • Patent number: 8995183
    Abstract: In a nonvolatile memory that stores data in two or more different data storage formats, such as binary and MLC, a separation scheme is used to distribute blocks containing data in one data storage format (e.g. binary) so that they are separated by at least some minimum number of blocks using another data storage format (e.g. MLC).
    Type: Grant
    Filed: April 23, 2012
    Date of Patent: March 31, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Zac Shepard, Steven T. Sprouse, Chris Nga Yee Avila
  • Publication number: 20150082120
    Abstract: In a charge-storage memory array, memory cells that are programmed to a particular threshold voltage range and have subsequently lost charge have their threshold voltages restored by selectively adding charge to the memory cells. Adding charge only to memory cells with high threshold voltage ranges may sufficiently increase threshold voltages of other memory cells so that they do not require separate addition of charge.
    Type: Application
    Filed: September 16, 2013
    Publication date: March 19, 2015
    Applicant: SanDisk Technologies, Inc.
    Inventors: Nian Yang, Chris Avila, Steven T. Sprouse, Aaron Lee
  • Patent number: 8902652
    Abstract: In a Multi Level Cell (MLC) memory array block in which lower pages are written first, before any upper pages, the lower page data is subject to an exclusive OR (XOR) operation so that if any lower page becomes uncorrectable by ECC (UECC) then the page can be recovered using XOR. Lower pages in such blocks may be written in nonsequential order.
    Type: Grant
    Filed: May 13, 2014
    Date of Patent: December 2, 2014
    Assignee: SanDisk Technologies Inc.
    Inventors: Jianmin Huang, Bo Lei, Jun Wan, Gerrit Jan Hemink, Steven T. Sprouse, Dana Lee
  • Patent number: 8848445
    Abstract: A system and method for reducing write amplification while maintaining a desired level of sequential read and write performance is disclosed. A controller in a multi-bank flash storage device may receive host data for writing to the plurality of flash memory banks. The controller may organize the received data in multi-page logical groups greater than a physical page and less than a physical block and interleave writes of the host data to the memory banks with that striping factor. A buffer RAM is associated with each bank of the multi-bank memory where the buffer RAM is sized as equal to or greater than the size of the multi-page logical group.
    Type: Grant
    Filed: May 17, 2012
    Date of Patent: September 30, 2014
    Assignee: SanDisk Technologies Inc.
    Inventors: Steven T. Sprouse, Sergey Anatolievich Gorobets, William Wu, Alan Bennett, Marielle Bundukin
  • Publication number: 20140281132
    Abstract: A system and method for coalescing data fragments in a volatile memory such as RAM cache is disclosed. The method may include storing multiple data fragments in volatile memory and initiating a single write operation to flash memory only when a predetermined number of data fragments have been received and aggregated into a single flash write command. The method may also include generating a binary cache index delta that aggregates in a single entry all of the binary cache index information for the aggregated data fragments. A memory system having a non-volatile memory, a volatile memory sized to at least store a number of data fragments equal to a physical page managed in a binary cache of the non-volatile memory, and a controller is disclosed. The controller may be configured to execute the method of coalescing data fragments into a single flash write operation described above.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 18, 2014
    Inventors: Marielle Bundukin, King Ying Ng, Steven T. Sprouse, William Wu, Sergey Anatolievich Gorobets, Liam Parker, Alan David Bennett
  • Patent number: 8817541
    Abstract: A NAND Flash based content addressable memory (CAM) is used for a key-value addressed storage drive. A host writes a key-value pair to the drive, where the drive writes the keys along bit lines of a CAM NAND portion of the drive and stores the value in the drive. The drive then maintains a table linking the keys to location of the value. In a read process, the host provides a key to drive, which then broadcasts down the word lines of blocks storing the keys. Based on any matching bit lines, the tables can then be used to retrieve and supply the corresponding data to the host. This arrangement can be applied to data search operations using bloom filters stored along bit lines of search matrix, where the search matrix can extend across large numbers of arrays. In the example of an internet search, the bloom filters are formed from key words associated with a website are stored along bit lines of the matrix and corresponding URLs are stored in primary storage.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: August 26, 2014
    Assignee: SanDisk Technologies Inc.
    Inventors: Yan Li, Steven T. Sprouse
  • Patent number: 8811085
    Abstract: A NAND Flash based content addressable memory (CAM) is used for a key-value addressed storage drive. The device can use a standard transport protocol such as PCI-E, SAS, SATA, eMMC, SCSI, and so on. A host writes a key-value pair to the drive, where the drive writes the keys along bit lines of a CAM NAND portion of the drive and stores the value in the drive. The drive then maintains a table linking the keys to location of the value. In a read process, the host provides a key to drive, which then broadcasts down the word lines of blocks storing the keys. Based on any matching bit lines, the tables can then be used to retrieve and supply the corresponding data to the host. The system can be applied to perform a wide range of analytics on data sets loaded into the NAND array.
    Type: Grant
    Filed: January 31, 2013
    Date of Patent: August 19, 2014
    Assignee: SanDisk Technologies Inc.
    Inventors: Steven T. Sprouse, Yan Li, Johann George
  • Patent number: 8792279
    Abstract: A data analytic system allows for analytic operations be moved from a server on to a solid state drive (SSD) type analytic system, where a CAM NAND structure can be used in the analytic operations. The server can run a software using database language can issue command to the analytic system. On the data analytic system (that can interface with common, existing database language), the software commands are translated into firmware language and broken down into multiple small tasks. The small tasks are executed on the SSD flash controllers or on NAND flash according to the task specifications. The mid-product from the NAND flash or the SSD controllers can be merged within each SSD blade and also further merged on the top server level.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: July 29, 2014
    Assignee: SanDisk Technologies Inc.
    Inventors: Yan Li, John R. Busch, Steven T. Sprouse
  • Patent number: 8780635
    Abstract: Various techniques for extending the capabilities of CAM NAND type memories are discussed. Multi-block or even full chip search operations can be performed. In addition to the inherent AND property of NAND strings, the memory array has an inherent OR property between NAND string from different blocks along the same bit line that can be exploited through multi-block CAM-type operations. To reduce data-dependent word line to word line effects, in multiple data dependent sensing operations, the sensing can be broken up into sub-operations that avoid data dependent values on adjacent word lines. To improve data protection, subsequent to writing a memory block with indices, the word lines are read back and compared bit-by-bit with their intended values and the results are accumulated to determine whether any of indices include error. A bloom filter can also be used as an initial check during data search operations in order to provide increased data protection.
    Type: Grant
    Filed: August 1, 2013
    Date of Patent: July 15, 2014
    Assignee: SanDisk Technologies Inc.
    Inventors: Yan Li, Steven T. Sprouse
  • Patent number: 8780633
    Abstract: A NAND Flash based content addressable memory (CAM) is used for a key-value addressed storage drive. The device can use a standard transport protocol such as PCI-E, SAS, SATA, eMMC, SCSI, and so on. A host writes a key-value pair to the drive, where the drive writes the keys along bit lines of a CAM NAND portion of the drive and stores the value in the drive. The drive then maintains a table linking the keys to location of the value. In a read process, the host provides a key to drive, which then broadcasts down the word lines of blocks storing the keys. Based on any matching bit lines, the tables can then be used to retrieve and supply the corresponding data to the host. This arrangement can be applied to de-duplication: for data sets stored in a primary data storage section, corresponding data keys can be generated and store in search NAND. A received key, rather from external to the system or internally generated, can then be compared against the search NAND.
    Type: Grant
    Filed: March 11, 2013
    Date of Patent: July 15, 2014
    Assignee: Sandisk Technologies, Inc.
    Inventors: Steven T. Sprouse, Yan Li
  • Patent number: 8780632
    Abstract: A NAND Flash based content addressable memory (CAM) is used for a key-value addressed storage drive. The device can use a standard transport protocol such as PCI-E, SAS, SATA, eMMC, SCSI, and so on. A host writes a key-value pair to the drive, where the drive writes the keys along bit lines of a CAM NAND portion of the drive and stores the value in the drive. The drive then maintains a table linking the keys to location of the value. In a read process, the host provides a key to drive, which then broadcasts down the word lines of blocks storing the keys. Based on any matching bit lines, the tables can then be used to retrieve and supply the corresponding data to the host. This arrangement can be applied to de-duplication: for data sets stored in a primary data storage section, corresponding data keys can be generated and store in search NAND. A received key, rather from external to the system or internally generated, can then be compared against the search NAND.
    Type: Grant
    Filed: March 11, 2013
    Date of Patent: July 15, 2014
    Assignee: SanDisk Technologies Inc.
    Inventors: Steven T. Sprouse, Yan Li
  • Patent number: 8780634
    Abstract: Various techniques for extending the capabilities of CAM NAND type memories are discussed. Multi-block or even full chip search operations can be performed. In addition to the inherent AND property of NAND strings, the memory array has an inherent OR property between NAND string from different blocks along the same bit line that can be exploited through multi-block CAM-type operations. To reduce data-dependent word line to word line effects, in multiple data dependent sensing operations, the sensing can be broken up into sub-operations that avoid data dependent values on adjacent word lines. To improve data protection, subsequent to writing a memory block with indices, the word lines are read back and compared bit-by-bit with their intended values and the results are accumulated to determine whether any of indices include error. A bloom filter can also be used as an initial check during data search operations in order to provide increased data protection.
    Type: Grant
    Filed: August 1, 2013
    Date of Patent: July 15, 2014
    Assignee: SanDisk Technologies Inc.
    Inventors: Yan Li, Steven T. Sprouse