Patents by Inventor Daniel Tuers

Daniel Tuers 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: 9558847
    Abstract: A method of operating a nonvolatile memory block includes reading data from physical units in the block and determining individual error rates for data from the physical units. The error rate data is stored. This is repeated over multiple iterations and aggregated stored error rates are used to identify bad physical units in the block.
    Type: Grant
    Filed: November 21, 2014
    Date of Patent: January 31, 2017
    Assignee: SanDisk Technologies LLC
    Inventors: Daniel Tuers, Abhijeet Manohar
  • Patent number: 9542344
    Abstract: A non-volatile memory controller coordinates multiple datapath units along a datapath between a host side and a memory side by unit-to-unit communication, or by a datapath control unit that is in communication with multiple datapath units. Data of a data stream is prioritized so that it passes along the datapath without interruption.
    Type: Grant
    Filed: February 19, 2014
    Date of Patent: January 10, 2017
    Assignee: SanDisk Technologies LLC
    Inventors: Daniel Tuers, Abhijeet Manohar, Venkata Krishna Nadh Dhulipala, Girish B. Desai
  • Publication number: 20160321000
    Abstract: A controller of a non-volatile memory system may be configured to identify bits of data to be stored in memory elements of non-volatile memory that are identified as unreliable. The controller may be configured to bias at least some of these bits to a predetermined logic value at which the bits are likely to be read from the unreliable memory elements. The controller may do so using a biasing key that the controller generates based on identification of the bits. Subsequently, when the data is read, the controller may assign log likelihood ratio values for the bits to correspond to a percent likelihood of the bits being biased to the predetermined logic value. The bits may also be unbiased using the biasing key.
    Type: Application
    Filed: April 30, 2015
    Publication date: November 3, 2016
    Inventors: Daniel Tuers, Abhijeet Manohar, Jonathan Hsu
  • Publication number: 20160322990
    Abstract: A non-volatile memory system may include a tracking module that tracks logic values of bits to be stored in memory elements identified as unreliable. A record of the logic values may be generated. During decoding of the data, a log likelihood ratio module may use the record to assign log likelihood ratio values for the decoding.
    Type: Application
    Filed: April 30, 2015
    Publication date: November 3, 2016
    Inventors: Daniel Tuers, Abhijeet Manohar, Sujeeth Joseph
  • Publication number: 20160291883
    Abstract: A memory system may use adaptive trimming to control throughput and traffic from the host to/from the memory. The trimming parameters of memory may be adaptively changed based on the data rate from the host. The programming speed may be slowed in order to reduce wear and improve endurance. In particular, the data rate for the transfer of data from a data buffer to the memory (e.g. NAND flash) may be matched to the host data rate. This programming speed reduction may be triggered upon prediction of idle times in the host bus.
    Type: Application
    Filed: March 31, 2015
    Publication date: October 6, 2016
    Applicant: SANDISK TECHNOLOGIES INC.
    Inventors: Abhijeet Manohar, Daniel Tuers, Sathyanarayanan Subramanian, Judah Gamliel Hahn
  • Patent number: 9423971
    Abstract: Systems, apparatuses, and methods are provided that dynamically reassign counters (or other memory monitors) in a memory. A plurality of counters may be assigned to different address ranges within an overall address range of a memory. The value of the counter may be indicative of activity, such as reads, within a respective assigned address range. Depending on the value of the counter, the respective address range of the counter may be dynamically changed. For example, a counter with a high value (indicating higher activity within the address range) may have its respective address range divided, with two counters being assigned to each of the divided address ranges. Likewise, counters with low values (indicating less activity within the address ranges) may have their respective address ranges combined, with a single counter being assigned to the combined address ranges.
    Type: Grant
    Filed: October 3, 2014
    Date of Patent: August 23, 2016
    Assignee: SanDisk Technologies LLC
    Inventors: Yiwei Song, Xinde Hu, Daniel Tuers
  • Publication number: 20160202914
    Abstract: Systems, apparatuses, and methods for command queue management and configurable memory status in a memory. A memory may include a controller and one or more memory integrated circuit chips, which each include memory arrays. The controller may send commands, such as read or write commands, to the one or more memory integrated circuit chips. The memory integrated circuit chips may maintain a command queue of the commands sent from the controller, thereby relieving the controller from such responsibility. Further, the memory integrated circuit chips may send an indication of an error in executing the commands, thereby relieving the controller from constant polling of the memory integrated circuit chips as to status.
    Type: Application
    Filed: January 13, 2015
    Publication date: July 14, 2016
    Applicant: SanDisk Technologies Inc.
    Inventors: Jonathan Hsu, Daniel Tuers, Tien-chien Kuo
  • Patent number: 9384128
    Abstract: In the controller circuit of a non-volatile memory system, data is protected by CRC (cyclic redundancy code) between functional blocks of the controller: Before a data set is transmitted from one functional block (such the host interface) to another functional block (such as data encryption or ECC), corresponding CRC is generated and transferred with the data. At the second block, the data set can be checked with the CRC at the second block before it operates on the data. This allows the controller to check for internal transfer errors early, allow for corrupted data to be re-requested, such as from a host when this process is applied to a data write operation. After the second block finishes with the data, a new CRC can then be generated to protect the data on its next internal transfer. This arrangement can particularly useful for functional blocks that transform the data set.
    Type: Grant
    Filed: April 18, 2014
    Date of Patent: July 5, 2016
    Assignee: SanDisk Technologies, Inc.
    Inventors: Daniel Tuers, Abhijeet Manohar
  • Publication number: 20160148708
    Abstract: A method of operating a nonvolatile memory block includes reading data from physical units in the block and determining individual error rates for data from the physical units. The error rate data is stored. This is repeated over multiple iterations and aggregated stored error rates are used to identify bad physical units in the block.
    Type: Application
    Filed: November 21, 2014
    Publication date: May 26, 2016
    Inventors: Daniel Tuers, Abhijeet Manohar
  • Publication number: 20160141046
    Abstract: Techniques are presented to reduce the amount of read disturb on partially written blocks of NAND type non-volatile memory, both for when determining the last written word line in a block and also for data read. In both cases, non-selected word lines that are unwritten or, in the case of finding the last written word line, may be unwritten are biased with a lower read-pass voltage then is typically used. The result of such reads can also be applied to an algorithm for finding the last written word by skipping a varying number of word lines. Performance in a last written page determination can also be improved by use of shorter bit line settling times than for a standard read.
    Type: Application
    Filed: November 17, 2014
    Publication date: May 19, 2016
    Inventors: Anubhav Khandelwal, Dana Lee, Abhijeet Manohar, Henry Chin, Gautam Dusija, Daniel Tuers, Chris Avila, Cynthia Hsu
  • Publication number: 20160098344
    Abstract: A storage module may include a controller that has hardware path that includes a plurality of hardware modules configured to perform a plurality of processes associated with execution of a host request. The storage module may also include a firmware module having a processor that executes firmware to perform at least some of the plurality of processes performed by the hardware modules. The firmware module performs the processes when the hardware modules are not able to successfully perform them.
    Type: Application
    Filed: October 3, 2014
    Publication date: April 7, 2016
    Inventors: Sergey Anatolievich Gorobets, Matthew Davidson, Gary J. Lin, Daniel Tuers, Robert Jackson
  • Publication number: 20160098215
    Abstract: Systems, apparatuses, and methods are provided that dynamically reassign counters (or other memory monitors) in a memory. A plurality of counters may be assigned to different address ranges within an overall address range of a memory. The value of the counter may be indicative of activity, such as reads, within a respective assigned address range. Depending on the value of the counter, the respective address range of the counter may be dynamically changed. For example, a counter with a high value (indicating higher activity within the address range) may have its respective address range divided, with two counters being assigned to each of the divided address ranges. Likewise, counters with low values (indicating less activity within the address ranges) may have their respective address ranges combined, with a single counter being assigned to the combined address ranges.
    Type: Application
    Filed: October 3, 2014
    Publication date: April 7, 2016
    Applicant: SanDisk Technologies, Inc.
    Inventors: Yiwei Song, Xinde Hu, Daniel Tuers
  • Patent number: 9230689
    Abstract: In non-volatile memory devices, the accessing of data on word line can degrade the data quality on a neighboring word line, in what is called a read disturb. Techniques are presented for determining word lines likely to suffer read disturbs by use of a hash tree for tracking the number of reads. Read counters are maintained for memory units at a relatively coarse granularity, such as a die or block. When the counter for one of these units reaches a certain level, it is subdivided into sub-units, each with their own read counter, in a process that be repeated to determine frequently read word lines with a fine level of granularity while only using a relatively modest amount of RAM on the controller to store the counters.
    Type: Grant
    Filed: March 17, 2014
    Date of Patent: January 5, 2016
    Assignee: SanDisk Technologies Inc.
    Inventors: Daniel Tuers, Yosief Ataklti, Abhijeet Manohar
  • Publication number: 20150381729
    Abstract: A server system with one or more processors and memory sends a verification request, to a client device, to verify that the client device is storing a data block, where the verification request includes verification parameters. In response, the server system obtains from the client device a first verification value for the data block. The server system compares the first verification value with a second verification value for the data block, where the second verification value was previously computed, in accordance with the data block and the verification parameters, and stored by the server system. In accordance with a determination that the first verification value matches the second verification value, the server system confirms that the client device is storing the data block.
    Type: Application
    Filed: September 24, 2014
    Publication date: December 31, 2015
    Inventors: Abhijeet Manohar, Daniel Tuers
  • Patent number: 9213601
    Abstract: Approaches are presented for adaptively re-compacting data when errors are found during a post-write verify in a non-volatile memory system, such as flash NAND memory. In one example, user data along with corresponding parity data is written into a block of non-volatile memory. After writing in the user data, but prior to writing the corresponding parity data, the user data is checked. For any word lines that fail this post-write verify, the parity data for the block is adjusted to remove the contribution of any failed word lines before this modified parity data is written into the block. The data corresponding to the failed word lines can then be written elsewhere in the memory system.
    Type: Grant
    Filed: December 3, 2013
    Date of Patent: December 15, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Daniel Tuers, Thomas Ta, Abhijeet Manohar
  • Publication number: 20150301933
    Abstract: In the controller circuit of a non-volatile memory system, data is protected by CRC (cyclic redundancy code) between functional blocks of the controller: Before a data set is transmitted from one functional block (such the host interface) to another functional block (such as data encryption or ECC), corresponding CRC is generated and transferred with the data. At the second block, the data set can be checked with the CRC at the second block before it operates on the data. This allows the controller to check for internal transfer errors early, allow for corrupted data to be re-requested, such as from a host when this process is applied to a data write operation. After the second block finishes with the data, a new CRC can then be generated to protect the data on its next internal transfer. This arrangement can particularly useful for functional blocks that transform the data set.
    Type: Application
    Filed: April 18, 2014
    Publication date: October 22, 2015
    Applicant: SanDisk Technologies Inc.
    Inventors: Daniel Tuers, Abhijeet Manohar
  • Patent number: 9141291
    Abstract: A controller circuit for a non-volatile memory of one or more memory circuits is described. The controller is connectable by a port with the memory circuits through a bus structure and can operate the memory circuits according to one or more threads. The controller includes a command processing section to issue high level commands for execution in the memory circuits and a memory circuit interface module to issue in sequence by the port to the memory circuits a series of instruction derived from the high level commands. A queue manager on the controller derives the series of instructions from the high level commands. When deriving a series of instruction from a set of high level data access commands, the queue manager can modify the timing for the issuance to the memory circuit interface module of memory circuit check status instructions based upon feedback from the memory circuit interface module and the state of earlier instruction in the series.
    Type: Grant
    Filed: November 26, 2013
    Date of Patent: September 22, 2015
    Assignee: SanDisk Technologies Inc.
    Inventors: Daniel Tuers, Yosief Ataklti, Abhijeet Mahohar, Yoav Weinberg
  • Publication number: 20150262714
    Abstract: In non-volatile memory devices, the accessing of data on word line can degrade the data quality on a neighboring word line, in what is called a read disturb. Techniques are presented for determining word lines likely to suffer read disturbs by use of a hash tree for tracking the number of reads. Read counters are maintained for memory units at a relatively coarse granularity, such as a die or block. When the counter for one of these units reaches a certain level, it is subdivided into sub-units, each with their own read counter, in a process that be repeated to determine frequently read word lines with a fine level of granularity while only using a relatively modest amount of RAM on the controller to store the counters.
    Type: Application
    Filed: March 17, 2014
    Publication date: September 17, 2015
    Applicant: SanDisk Technoloogies Inc.
    Inventors: Daniel Tuers, Yosief Ataklti, Abhijeet Manohar
  • Publication number: 20150234756
    Abstract: A non-volatile memory controller coordinates multiple datapath units along a datapath between a host side and a memory side by unit-to-unit communication, or by a datapath control unit that is in communication with multiple datapath units. Data of a data stream is prioritized so that it passes along the datapath without interruption.
    Type: Application
    Filed: February 19, 2014
    Publication date: August 20, 2015
    Applicant: SanDisk Technologies Inc.
    Inventors: Daniel Tuers, Abhijeet Manohar, Venkata Krishna Nadh Dhulipala, Girish B. Desai
  • Publication number: 20150187399
    Abstract: In a memory system where multiple memory chips communicate their ready/busy status on a shared bus line, a pulse mechanism is used for the individual memory chips to indicate their ready/busy status to the controller. In one example, the controller assigns pulse durations of differing lengths to the memory dies to allow the controller to distinguish between them. Techniques for dealing with bus collisions between the pulses of different chips are also described.
    Type: Application
    Filed: December 31, 2013
    Publication date: July 2, 2015
    Applicant: SanDisk Technologies Inc.
    Inventors: Daniel Tuers, Abhijeet Manohar, Yoav Weinberg, Milton Lourenco Barrocas