Patents by Inventor Earl T. Cohen

Earl T. Cohen 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: 9430154
    Abstract: An SSD controller maintains a zero count and a one count, and/or in some embodiments a zero/one disparity count, for each read unit read from an SLC NVM (or the lower pages of an MLC). In an event that the read unit is uncorrectable in part due to a shift in the threshold voltage distributions away from their nominal distributions, the maintained counts enable a determination of a direction and/or a magnitude to adjust a read threshold to track the threshold voltage shift and restore the read data zero/one balance. In various embodiments, the adjusted read threshold is determined in a variety of described ways (counts, percentages) that are based on a number of described factors (determined threshold voltage distributions, known stored values, past NVM operating events). Extensions of the forgoing techniques are described for MLC memories.
    Type: Grant
    Filed: August 29, 2014
    Date of Patent: August 30, 2016
    Assignee: Seagate Technology LLC
    Inventor: Earl T Cohen
  • Patent number: 9411718
    Abstract: An apparatus includes a non-volatile memory and a controller. The controller is coupled to the non-volatile memory and configured to (i) measure a rate of free space consumption in the non-volatile memory, (ii) measure a rate of free space production in the non-volatile memory, and (iii) adjust a rate of a recycling process in response to the measured rate of free space consumption and the measured rate of free space production.
    Type: Grant
    Filed: January 17, 2013
    Date of Patent: August 9, 2016
    Assignee: Seagate Technology LLC
    Inventors: Earl T. Cohen, Alex G. Tang, Leonid Baryudin
  • Patent number: 9405624
    Abstract: An apparatus having a memory and a controller is disclosed. The memory is configured to (i) program a protected lower unit in a lower page of a location, (ii) generate a corrected lower unit by correcting the protected lower unit using a first error correction code and (iii) program a protected upper unit in an upper page of the location based on the corrected lower unit. The controller is configured to generate the protected upper unit by encoding an upper write data item using a second error correction code. The controller is on a separate die as the memory.
    Type: Grant
    Filed: June 19, 2014
    Date of Patent: August 2, 2016
    Assignee: Seagate Technology LLC
    Inventors: AbdelHakim S. Alhussien, Jeremy Werner, Erich F. Haratsch, Earl T. Cohen
  • Patent number: 9395924
    Abstract: Management of and region selection for writes to non-volatile memory of an SSD improves performance, reliability, unit cost, and/or development cost of an SSD. A controller receives and determines characteristics of writes (e.g. by analyzing the write data, the write data source, and/or by receiving a hint) and selects a region based on the determined characteristics and properties of regions of non-volatile memory. For example, a controller receives writes determined to be read-only data and selects regions of non-volatile memory containing cells that are likely to have write failures. By placing read-only data in write failure prone regions, the likelihood of an error is reduced, thus improving reliability. As another example, a controller receives writes hinted to be uncompressible and selects regions of non-volatile memory containing uncompressible data.
    Type: Grant
    Filed: January 19, 2014
    Date of Patent: July 19, 2016
    Assignee: Seagate Technology LLC
    Inventors: Earl T Cohen, Timothy Lawrence Canepa
  • Patent number: 9389805
    Abstract: An I/O device is coupled to a computing host. In some embodiments, the device is enabled to utilize memory of the computing host not directly coupled to the device to store information such as a shadow copy of a map of the device and/or state of the device. Storage of the shadow copy of the map enables one or both of the device and the computing host to utilize the shadow copy of the map, such as to decrease read latency. Storage of the state enables the device to save volatile state that would otherwise be lost when the device enters a low-power state. In some embodiments, the device implements one or more non-standard modifiers of standard commands. The non-standard modifiers modify the execution of the standard commands, providing features not present in a host protocol having only the standard commands.
    Type: Grant
    Filed: August 8, 2012
    Date of Patent: July 12, 2016
    Assignee: Seagate Technology LLC
    Inventors: Earl T. Cohen, Timothy L. Canepa, Farbod Michael Raam
  • Publication number: 20160188405
    Abstract: Adaptive ECC techniques for use with flash memory enable improvements in flash memory lifetime, reliability, performance, and/or storage capacity. The techniques include a set of ECC schemes with various code rates and/or various code lengths (providing different error correcting capabilities), and error statistic collecting/tracking (such as via a dedicated hardware logic block). The techniques further include encoding/decoding in accordance with one or more of the ECC schemes, and dynamically switching encoding/decoding amongst one or more of the ECC schemes based at least in part on information from the error statistic collecting/tracking (such as via a hardware logic adaptive codec receiving inputs from the dedicated error statistic collecting/tracking hardware logic block). The techniques further include selectively operating a portion (e.g., page, block) of the flash memory in various operating modes (e.g. as an MLC page or an SLC page) over time.
    Type: Application
    Filed: November 18, 2015
    Publication date: June 30, 2016
    Applicant: SEAGATE TECHNOLOGY LLC
    Inventors: Yan Li, Hao Zhong, Radoslav Danilak, Earl T Cohen
  • Patent number: 9367389
    Abstract: A method for applying a sequence of sensing/read reference voltages in a read channel includes (A) setting a read window based on an estimate of a read channel, (B) setting first, second, and third values of a sequence of sensing voltages to values corresponding to different ones of (i) a left-hand limit of the read window, (ii) a right-hand limit of the read window, and (iii) a point central to the read window, (C) determining whether first, second and third reads are successful, and (D) if the first, second and third reads are not successful, setting fourth and fifth values of the sequence of sensing voltages to values corresponding to different ones of (i) a point between the left-hand limit and the point central to the read window and (ii) a point between the right-hand limit and the point central to the read window.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: June 14, 2016
    Assignee: Seagate Technology LLC
    Inventors: AbdelHakim S. Alhussien, Erich F. Haratsch, Earl T. Cohen, Yunxiang Wu
  • Patent number: 9354816
    Abstract: An apparatus includes a plurality of memory dies and a controller. The controller may be communicatively coupled to the plurality of memory dies and configured to utilize multiple copies of a root record containing system data during a boot-up process. The multiple copies of the root record are stored using at least two of the plurality of memory dies.
    Type: Grant
    Filed: May 5, 2014
    Date of Patent: May 31, 2016
    Assignee: Seagate Technology LLC
    Inventors: Zhengang Chen, Gordon J. Coleman, Earl T. Cohen, Ivana Djurdjevic, Erich F. Haratsch
  • Patent number: 9348774
    Abstract: The disclosure is directed to a system and method for controlling a non-volatile memory (NVM) device with controller-opaque commands issued by a host. A device controller is configured to receive a command script from a host. The device controller executes one or more commands of the command script including sending one or more operations of the command script to a NVM device in communication with the device controller. The device controller is enabled to provide at least a portion of the one or more operations from the command script to be executed by the NVM device without any embedded knowledge by the device controller of the actions of and/or consequences of the operations, thereby allowing the host to access NVM commands that are not necessarily supported by the device controller.
    Type: Grant
    Filed: January 25, 2013
    Date of Patent: May 24, 2016
    Assignee: Seagate Technology LLC
    Inventors: Leonid Baryudin, Earl T. Cohen, Gordon James Coleman
  • Patent number: 9337865
    Abstract: Described embodiments provide a media controller to read data stored in a media. The media controller determines a value for each bit of a shortened codeword from the media. The shortened codeword includes a plurality of non-shortened bits of a full codeword, where the full codeword includes the plurality of non-shortened bits and one or more shortened bits. Shortened bits correspond to bits unused in the shortened codeword. The media controller converts the determined values for each bit of the shortened codeword into a first set of log-likelihood ratio (LLR) values. The full codeword is decoded using the first set of LLR values for the shortened codeword. The media controller dampens one or more LLR values corresponding to non-shortened bits of the codeword to produce a second set of LLR values and decodes the second set of LLR values.
    Type: Grant
    Filed: July 3, 2013
    Date of Patent: May 10, 2016
    Assignee: Seagate Technology LLC
    Inventors: Earl T. Cohen, Erich F. Haratsch, Abdel-Hakim S. Alhussien
  • Patent number: 9329935
    Abstract: An apparatus comprising a memory and a controller. The memory may be configured to process a plurality of read/write operations. The memory comprises a plurality of memory units each having a size less than a total size of the memory. The controller may be configured to perform a first error correction code decoding on the memory units using a plurality of initial log likelihood ratio values. The controller may be configured to count a number of unsatisfied checks if the first error correction code decoding fails. The controller may be configured to generate a plurality of measured log likelihood ratio values if the number of unsatisfied checks is below a threshold. The plurality of measured log likelihood ratio values are (a) based on calculations using decoded bits of the first error correction code decoding, and (b) used to perform a second error correction code decoding on the memory units.
    Type: Grant
    Filed: May 19, 2014
    Date of Patent: May 3, 2016
    Assignee: Seagate Technology LLC
    Inventors: Earl T. Cohen, Yu Cai, Erich F. Haratsch, Yunxiang Wu
  • Patent number: 9329991
    Abstract: A method for using a partitioned flash transition layer is disclosed. Step (A) receives, at an apparatus from a host, a write command having first write data. Step (B) generates second write data by compressing the first write data in the apparatus. The second write data generally has a variable size. Step (C) stores the second write data at a physical location in a nonvolatile memory. The physical location is a next unwritten location. Step (D) returns, from the apparatus to the host in response to the write command, an indication of the physical location.
    Type: Grant
    Filed: October 23, 2013
    Date of Patent: May 3, 2016
    Assignee: Seagate Technology LLC
    Inventors: Earl T. Cohen, Sumit Puri
  • Patent number: 9319073
    Abstract: An apparatus includes a controller and an adaptive error correction code decoder. The controller may be configured to read data from and write data to a memory device. The controller may be further configured to write data in a two-step process, which includes (i) after writing data to a least significant bit (LSB) page, checking the data stored in the LSB page using a first strength error correction code (ECC) decoding process and (ii) after writing data to a most significant bit (MSB) page associated with the LSB page, checking the data stored in both the LSB and MSB pages using a second strength error correction code (ECC) decoding process.
    Type: Grant
    Filed: February 28, 2014
    Date of Patent: April 19, 2016
    Assignee: Seagate Technology LLC
    Inventors: AbdelHakim S. Alhussien, Ivana Djurdjevic, Yu Cai, Erich F. Haratsch, Yue Li, Earl T. Cohen
  • Patent number: 9317361
    Abstract: An apparatus having a device and a circuit is disclosed. The device has a plurality of bit-lines and is configured to store a codeword. The circuit is configured to (i) receive the codeword from the device, (ii) generate a syndrome by performing a portion less than all of an iterative decoding procedure on the codeword and (iii) generate a map of defects according to the syndrome. Each of a plurality of bits in the map corresponds to a respective one of the bit-lines.
    Type: Grant
    Filed: December 9, 2013
    Date of Patent: April 19, 2016
    Assignee: Seagate Technology LLC
    Inventors: AbdelHakim S. Alhussien, Erich F. Haratsch, Earl T. Cohen
  • Publication number: 20160098318
    Abstract: An apparatus includes one or more error-correction decoders, a buffer, and at least one processor. The buffer may be configured to store data to be decoded by the one or more error-correction decoders. The at least one processor is generally enabled to send messages to the one or more error-correction decoders. The messages may contain datapath control information corresponding to data in the buffer to be decoded by the one or more error-correction decoders. The one or more error-correction decoders are generally enabled to decode the data read from the buffer according to the corresponding datapath control information.
    Type: Application
    Filed: December 14, 2015
    Publication date: April 7, 2016
    Inventors: Earl T. Cohen, Yunxiang Wu, Alexander Hubris, Christopher Brewer
  • Publication number: 20160098317
    Abstract: An apparatus having mapping and interface circuits. The mapping circuit (i) generates a coded item by mapping write unit bits using a modulation or recursion of past-seen bits, and (ii) calculates a particular state to program into a nonvolatile memory cell. The interface circuit programs the cell at the particular state. Two normal cell states are treated as at least four refined states. The particular state is one of the refined states. A mapping to the refined states mitigates programming write misplacement that shifts an analog voltage of the cell from the particular state to an erroneous state. The erroneous state corresponds to a readily observable illegal or atypical write sequence, and results in a modified soft decision from that calculated based on the normal states only. A voltage swing between the particular state and the erroneous state is less than between the normal states.
    Type: Application
    Filed: December 9, 2015
    Publication date: April 7, 2016
    Inventors: AbdelHakim S. Alhussien, Erich F. Haratsch, Earl T. Cohen, Yunxiang Wu
  • Publication number: 20160070496
    Abstract: Method and apparatus for managing data in a Non-Volatile Memory (NVD). In some embodiments, management information is stored in a buffer memory using a Solid-State Disk (SSD) controller circuit, the management information comprising a map data structure that associates storage addresses of a host device to physical addresses of the NVD. A location in the management information is determined responsive to a selected host storage address and a programmable parameter by arithmetically dividing in accordance with a divisor specified at least in part by the programmable parameter. The location in the management information is used to direct a transfer of user data by the SSD control circuit between the host device and the NVM.
    Type: Application
    Filed: November 16, 2015
    Publication date: March 10, 2016
    Inventors: Earl T. Cohen, Timothy L. Canepa
  • Patent number: 9262268
    Abstract: An apparatus includes a memory and a controller. The memory includes a plurality of memory devices. Each memory device has a plurality of page types. The plurality of page types are classified based on error rate variations. The controller may be configured to write user data and error-correction data to the memory. The user data and the error-correction data are organized as a super-page. The super-page includes a plurality of sub-pages. The plurality of sub-pages are written across the plurality of memory devices such that the plurality of sub-pages are stored using more than one of the plurality of page types.
    Type: Grant
    Filed: February 5, 2014
    Date of Patent: February 16, 2016
    Assignee: Seagate Technology LLC
    Inventors: Yu Cai, Ning Chen, Yunxiang Wu, Erich F. Haratsch, Earl T. Cohen, Timothy L. Canepa
  • Patent number: 9262084
    Abstract: An apparatus includes a device interface, a micro-sequencer, and a programmable sequence memory. The device interface may be configured to process a plurality of read/write operations to/from one or more non-volatile memory devices. The micro-sequencer may be configured to communicate with the device interface. The programmable sequence memory is generally readable by the micro-sequencer. In response to the apparatus receiving a command, (a) the micro-sequencer executes a set of instructions starting at a location in the programmable sequence memory according to the command and (b) the micro-sequencer is enabled to perform at least a portion of the command according to a protocol of the one or more non-volatile memory devices, when the one or more non-volatile memory devices are coupled to the device interface.
    Type: Grant
    Filed: June 3, 2015
    Date of Patent: February 16, 2016
    Assignee: Seagate Technologies LLC
    Inventors: Christopher Brewer, Earl T. Cohen
  • Patent number: 9250995
    Abstract: A method for protecting data in a memory is disclosed. The method generally includes steps (A) to (D). Step (A) converts a logical address of one of a plurality of logical units to a physical address of a corresponding one of a plurality of physical units. Each physical unit is configured to store (i) data from a corresponding one of the logical units, (ii) respective error correction information and (iii) respective verification information. Step (B) writes a particular one of the physical units to the memory. Step (C) reads a portion of the particular physical unit from the memory. The portion includes the respective verification information. The respective verification information includes an indication of the logical address. Step (D) verifies the writing according to the respective verification information in the portion.
    Type: Grant
    Filed: June 6, 2013
    Date of Patent: February 2, 2016
    Assignee: Seagate Technology LLC
    Inventors: Jackson L. Ellis, Earl T. Cohen, Sivakumar Sambandan, Jeonghun Kim, Stephen D. Hanna