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: 9558847Abstract: 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: GrantFiled: November 21, 2014Date of Patent: January 31, 2017Assignee: SanDisk Technologies LLCInventors: Daniel Tuers, Abhijeet Manohar
-
Patent number: 9542344Abstract: 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: GrantFiled: February 19, 2014Date of Patent: January 10, 2017Assignee: SanDisk Technologies LLCInventors: Daniel Tuers, Abhijeet Manohar, Venkata Krishna Nadh Dhulipala, Girish B. Desai
-
Publication number: 20160321000Abstract: 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: ApplicationFiled: April 30, 2015Publication date: November 3, 2016Inventors: Daniel Tuers, Abhijeet Manohar, Jonathan Hsu
-
Publication number: 20160322990Abstract: 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: ApplicationFiled: April 30, 2015Publication date: November 3, 2016Inventors: Daniel Tuers, Abhijeet Manohar, Sujeeth Joseph
-
Publication number: 20160291883Abstract: 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: ApplicationFiled: March 31, 2015Publication date: October 6, 2016Applicant: SANDISK TECHNOLOGIES INC.Inventors: Abhijeet Manohar, Daniel Tuers, Sathyanarayanan Subramanian, Judah Gamliel Hahn
-
Patent number: 9423971Abstract: 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: GrantFiled: October 3, 2014Date of Patent: August 23, 2016Assignee: SanDisk Technologies LLCInventors: Yiwei Song, Xinde Hu, Daniel Tuers
-
Publication number: 20160202914Abstract: 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: ApplicationFiled: January 13, 2015Publication date: July 14, 2016Applicant: SanDisk Technologies Inc.Inventors: Jonathan Hsu, Daniel Tuers, Tien-chien Kuo
-
Patent number: 9384128Abstract: 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: GrantFiled: April 18, 2014Date of Patent: July 5, 2016Assignee: SanDisk Technologies, Inc.Inventors: Daniel Tuers, Abhijeet Manohar
-
Publication number: 20160148708Abstract: 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: ApplicationFiled: November 21, 2014Publication date: May 26, 2016Inventors: Daniel Tuers, Abhijeet Manohar
-
Publication number: 20160141046Abstract: 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: ApplicationFiled: November 17, 2014Publication date: May 19, 2016Inventors: Anubhav Khandelwal, Dana Lee, Abhijeet Manohar, Henry Chin, Gautam Dusija, Daniel Tuers, Chris Avila, Cynthia Hsu
-
Publication number: 20160098344Abstract: 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: ApplicationFiled: October 3, 2014Publication date: April 7, 2016Inventors: Sergey Anatolievich Gorobets, Matthew Davidson, Gary J. Lin, Daniel Tuers, Robert Jackson
-
Publication number: 20160098215Abstract: 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: ApplicationFiled: October 3, 2014Publication date: April 7, 2016Applicant: SanDisk Technologies, Inc.Inventors: Yiwei Song, Xinde Hu, Daniel Tuers
-
Patent number: 9230689Abstract: 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: GrantFiled: March 17, 2014Date of Patent: January 5, 2016Assignee: SanDisk Technologies Inc.Inventors: Daniel Tuers, Yosief Ataklti, Abhijeet Manohar
-
Publication number: 20150381729Abstract: 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: ApplicationFiled: September 24, 2014Publication date: December 31, 2015Inventors: Abhijeet Manohar, Daniel Tuers
-
Patent number: 9213601Abstract: 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: GrantFiled: December 3, 2013Date of Patent: December 15, 2015Assignee: SanDisk Technologies Inc.Inventors: Daniel Tuers, Thomas Ta, Abhijeet Manohar
-
Publication number: 20150301933Abstract: 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: ApplicationFiled: April 18, 2014Publication date: October 22, 2015Applicant: SanDisk Technologies Inc.Inventors: Daniel Tuers, Abhijeet Manohar
-
Patent number: 9141291Abstract: 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: GrantFiled: November 26, 2013Date of Patent: September 22, 2015Assignee: SanDisk Technologies Inc.Inventors: Daniel Tuers, Yosief Ataklti, Abhijeet Mahohar, Yoav Weinberg
-
Publication number: 20150262714Abstract: 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: ApplicationFiled: March 17, 2014Publication date: September 17, 2015Applicant: SanDisk Technoloogies Inc.Inventors: Daniel Tuers, Yosief Ataklti, Abhijeet Manohar
-
Publication number: 20150234756Abstract: 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: ApplicationFiled: February 19, 2014Publication date: August 20, 2015Applicant: SanDisk Technologies Inc.Inventors: Daniel Tuers, Abhijeet Manohar, Venkata Krishna Nadh Dhulipala, Girish B. Desai
-
Publication number: 20150187399Abstract: 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: ApplicationFiled: December 31, 2013Publication date: July 2, 2015Applicant: SanDisk Technologies Inc.Inventors: Daniel Tuers, Abhijeet Manohar, Yoav Weinberg, Milton Lourenco Barrocas