Patents by Inventor Jack Edward Frayer

Jack Edward Frayer 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: 10032488
    Abstract: A system and method is disclosed for managing data in a non-volatile memory. The system may include a non-volatile memory having multiple non-volatile memory sub-drives, including a staging sub-drive to receive all data from a host and a plurality of other sub-drives each associated with a respective data temperature range. A controller of the memory system is configured to route all incoming host data only to the staging sub-drive and during garbage collection each individual piece of valid data from a selected source block in a selected source sub-drive is routed to a respective one of the sub-drives. The method may include only routing host data to the staging sub-drive and only relocating valid data to sub-drives other than the staging sub-drive based on a determined temperature of valid data and a unique temperature range associated with sub-drives other than the staging sub-drive in the non-volatile memory system.
    Type: Grant
    Filed: December 29, 2016
    Date of Patent: July 24, 2018
    Assignee: SanDisk Technologies LLC
    Inventors: Gulzar A. Kathawala, Sergey Anatolievich Gorobets, Kroum S. Stoev, Jack Edward Frayer, Liam Michael Parker
  • Publication number: 20180190329
    Abstract: A system and method is disclosed for managing data in a non-volatile memory. The system may include a non-volatile memory having multiple non-volatile memory sub-drives, including a staging sub-drive to receive all data from a host and a plurality of other sub-drives each associated with a respective data temperature range. A controller of the memory system is configured to route all incoming host data only to the staging sub-drive and during garbage collection each individual piece of valid data from a selected source block in a selected source sub-drive is routed to a respective one of the sub-drives. The method may include only routing host data to the staging sub-drive and only relocating valid data to sub-drives other than the staging sub-drive based on a determined temperature of valid data and a unique temperature range associated with sub-drives other than the staging sub-drive in the non-volatile memory system.
    Type: Application
    Filed: December 29, 2016
    Publication date: July 5, 2018
    Applicant: SanDisk Technologies LLC
    Inventors: Gulzar A. Kathawala, Sergey Anatolievich Gorobets, Kroum S. Stoev, Jack Edward Frayer, Liam Michael Parker
  • Patent number: 9864545
    Abstract: Systems, methods, and/or devices are used to automate read operations performed at an open erase block. In one aspect, the method includes: receiving a read command, at a storage device, to read data from non-volatile memory of the storage device. In response to receiving the read command, the method further includes: 1) reading data using a first set of memory operation parameters in response to a determination that the read command is not for reading data from a predefined portion of an open erase block (e.g., an erase block that is determined to be an open erase block) of the non-volatile memory and 2) reading data using a second set of memory operation parameters (i.e., the second set is distinct from the first set) in response to a determination that the read command is for reading data from the predefined portion of an open erase block of the non-volatile memory.
    Type: Grant
    Filed: October 28, 2015
    Date of Patent: January 9, 2018
    Assignee: SanDisk Technologies LLC
    Inventors: Robert W. Ellis, Vidyabhushan Mohan, Jack Edward Frayer
  • Patent number: 9753653
    Abstract: Systems, methods, and/or devices are used to manage high-priority NAND operations. In some embodiments, the method includes receiving a first command (e.g., requesting a high-priority memory operation) corresponding to a first location (e.g., having both a first physical address and a first aliased physical address) in a first die of a plurality of physical non-volatile memory die in a storage device. If the first die is performing a blocking low-priority memory operation (e.g., the low-priority operation was sent to the first die using a second physical address), the method includes sending a memory operation command, corresponding to the first memory operation, to the first die using the first aliased physical address. In some embodiments, a predefined die-selection portion of the second physical address matches the predefined die-selection portion of the first physical address and does not match the predefined die-selection portion of the first aliased physical address.
    Type: Grant
    Filed: October 28, 2015
    Date of Patent: September 5, 2017
    Assignee: SanDisk Technologies LLC
    Inventors: Robert W. Ellis, Jack Edward Frayer, Vidyabhushan Mohan, Todd Lindberg
  • Publication number: 20170147499
    Abstract: In a method to provide scalable and distributed address mapping in a storage device, a host command that specifies an operation to be performed and a logical address corresponding to a portion of memory within the storage device is received or accessed. A storage controller of the storage device maps the specified logical address to a first subset of a physical address, using a first address translation table, and identifies an NVM module of the plurality of NVM modules, in accordance with the first subset of a physical address. The method further includes, at the identified NVM module, mapping the specified logical address to a second subset of the physical address, using a second address translation table, identifying the portion of non-volatile memory within the identified NVM module corresponding to the specified logical address, and executing the specified operation on the portion of memory in the identified NVM module.
    Type: Application
    Filed: June 10, 2016
    Publication date: May 25, 2017
    Inventors: Vidyabhushan Mohan, Jack Edward Frayer
  • Patent number: 9653184
    Abstract: The various embodiments described herein include systems, methods and/or devices used to enable physical-to-physical address remapping in a storage module. In one aspect, the method includes, for each of a sequence of two or more units of non-volatile memory, determining a validity state of a respective unit of memory. In accordance with a determination that the validity state of the respective unit of memory is an invalid state, the method includes storing, in a table, a second address assigned to the respective unit of memory. At least a portion of the second address is a physical address portion corresponding to a physical location of a second unit of memory. In accordance with a determination that the validity state of the respective unit of memory is a valid state, the method includes forgoing assignment of the second address corresponding to the unit of memory.
    Type: Grant
    Filed: January 14, 2015
    Date of Patent: May 16, 2017
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Jack Edward Frayer, Vidyabhushan Mohan
  • Patent number: 9613715
    Abstract: The various embodiments described herein include systems, methods and/or devices used to package non-volatile memory. In one aspect, the method includes: (1) selecting, from a set of non-volatile memory die, a plurality of non-volatile memory die on which one or more tests have been deferred until after packaging, the selecting in accordance with wafer positions of the plurality of non-volatile memory die and statistical die performance information corresponding to the wafer positions; and (2) packaging the selected plurality of non-volatile memory die. In some embodiments, after said packaging, the method further includes performing a set of tests on the plurality of non-volatile memory die to identify respective units of memory within the plurality of non-volatile memory die that meet predefined validity criteria, wherein the set of tests performed include at least one of the deferred one or more tests.
    Type: Grant
    Filed: March 9, 2015
    Date of Patent: April 4, 2017
    Assignee: SANDISK TECHNOLOGIES LLC
    Inventors: Jack Edward Frayer, Vidyabhushan Mohan
  • Publication number: 20160306553
    Abstract: Systems, methods, and/or devices are used to manage high-priority NAND operations. In some embodiments, the method includes receiving a first command (e.g., requesting a high-priority memory operation) corresponding to a first location (e.g., having both a first physical address and a first aliased physical address) in a first die of a plurality of physical non-volatile memory die in a storage device. If the first die is performing a blocking low-priority memory operation (e.g., the low-priority operation was sent to the first die using a second physical address), the method includes sending a memory operation command, corresponding to the first memory operation, to the first die using the first aliased physical address. In some embodiments, a predefined die-selection portion of the second physical address matches the predefined die-selection portion of the first physical address and does not match the predefined die-selection portion of the first aliased physical address.
    Type: Application
    Filed: October 28, 2015
    Publication date: October 20, 2016
    Inventors: Robert W. Ellis, Jack Edward Frayer, Vidyabhushan Mohan, Todd Lindberg
  • Publication number: 20160306591
    Abstract: Systems, methods, and/or devices are used to automate read operations performed at an open erase block. In one aspect, the method includes: receiving a read command, at a storage device, to read data from non-volatile memory of the storage device. In response to receiving the read command, the method further includes: 1) reading data using a first set of memory operation parameters in response to a determination that the read command is not for reading data from a predefined portion of an open erase block (e.g., an erase block that is determined to be an open erase block) of the non-volatile memory and 2) reading data using a second set of memory operation parameters (i.e., the second set is distinct from the first set) in response to a determination that the read command is for reading data from the predefined portion of an open erase block of the non-volatile memory.
    Type: Application
    Filed: October 28, 2015
    Publication date: October 20, 2016
    Inventors: Robert W. Ellis, Vidyabhushan Mohan, Jack Edward Frayer
  • Publication number: 20160232088
    Abstract: In a method to perform garbage collection in storage device having a plurality of non-volatile memory (NVM) modules that each include two or more non-volatile memory includes, at a storage controller for the storage device, using status information locally stored in the storage controller with respect to individual NVM modules or individual non-volatile memory devices in the storage device, identifying an NVM module or non-volatile memory device, and sending a garbage collection command to a selected NVM module. The selected NVM module, in accordance with the garbage collection command and status information locally stored in the selected NVM module, selects a memory portion of non-volatile memory in the selected module and initiates garbage collection of valid data in the selected memory portion, which includes copying valid data in the selected memory portion to a target memory portion in the selected module.
    Type: Application
    Filed: April 13, 2016
    Publication date: August 11, 2016
    Inventors: Vidyabhushan Mohan, Jack Edward Frayer
  • Patent number: 9367246
    Abstract: A single command initiates a first read operation and sequence of one or more additional read operations from the same portion of memory. The one or more additional read operations are terminable after the first read operation provides a first plurality of data values that is made available to a requesting device and/or module. In some implementations, the first plurality of data values includes hard information values. Subsequent pluralities of data values are generated from the same portion of memory until a terminating event occurs. In some implementations, until a terminating event occurs, a respective hybrid plurality of data values is generated by combining the latest read plurality of data values with one of a previously generated hybrid plurality of data values and the first plurality of data values. Each hybrid plurality of data values is representative of a corresponding plurality of soft information values.
    Type: Grant
    Filed: August 9, 2013
    Date of Patent: June 14, 2016
    Assignee: SANDISK TECHNOLOGIES INC.
    Inventors: Jack Edward Frayer, Aaron K. Olbrich
  • Publication number: 20160018998
    Abstract: The various implementations described herein include systems, methods and/or devices used to perform a method of reliability management of data in a storage device having a plurality of memory modules. The method includes receiving or accessing a host command to perform a specified operation on a portion of non-volatile memory within a storage device. The method also includes, at a storage controller for the storage device, identifying a module of the plurality of modules, in accordance with the host command. The method includes, at the identified module, retrieving health information for the portion of non-volatile memory within the identified module, modifying one or more memory operation parameters in accordance with the specified operation and the retrieved health information, and executing the specified operation on the portion of non-volatile memory in the identified module in accordance with the one or more modified memory operation parameters.
    Type: Application
    Filed: January 14, 2015
    Publication date: January 21, 2016
    Inventors: Vidyabhushan Mohan, Jack Edward Frayer
  • Publication number: 20160019160
    Abstract: In a method to provide scalable and distributed address mapping in a storage device, a host command that specifies an operation to be performed and a logical address corresponding to a portion of memory within the storage device is received or accessed. A storage controller of the storage device maps the specified logical address to a first subset of a physical address, using a first address translation table, and identifies an NVM module of the plurality of NVM modules, in accordance with the first subset of a physical address. The method further includes, at the identified NVM module, mapping the specified logical address to a second subset of the physical address, using a second address translation table, identifying the portion of non-volatile memory within the identified NVM module corresponding to the specified logical address, and executing the specified operation on the portion of memory in the identified NVM module.
    Type: Application
    Filed: January 14, 2015
    Publication date: January 21, 2016
    Inventors: Vidyabhushan Mohan, Jack Edward Frayer
  • Publication number: 20150364215
    Abstract: The various embodiments described herein include systems, methods and/or devices used to package non-volatile memory. In one aspect, the method includes: (1) selecting, from a set of non-volatile memory die, a plurality of non-volatile memory die on which one or more tests have been deferred until after packaging, the selecting in accordance with wafer positions of the plurality of non-volatile memory die and statistical die performance information corresponding to the wafer positions; and (2) packaging the selected plurality of non-volatile memory die. In some embodiments, after said packaging, the method further includes performing a set of tests on the plurality of non-volatile memory die to identify respective units of memory within the plurality of non-volatile memory die that meet predefined validity criteria, wherein the set of tests performed include at least one of the deferred one or more tests.
    Type: Application
    Filed: March 9, 2015
    Publication date: December 17, 2015
    Inventors: Jack Edward Frayer, Vidyabhushan Mohan
  • Publication number: 20150364218
    Abstract: The various embodiments described herein include systems, methods and/or devices used to enable physical-to-physical address remapping in a storage module. In one aspect, the method includes, for each of a sequence of two or more units of non-volatile memory, determining a validity state of a respective unit of memory. In accordance with a determination that the validity state of the respective unit of memory is an invalid state, the method includes storing, in a table, a second address assigned to the respective unit of memory. At least a portion of the second address is a physical address portion corresponding to a physical location of a second unit of memory. In accordance with a determination that the validity state of the respective unit of memory is a valid state, the method includes forgoing assignment of the second address corresponding to the unit of memory.
    Type: Application
    Filed: January 14, 2015
    Publication date: December 17, 2015
    Inventors: Jack Edward Frayer, Vidyabhushan Mohan
  • Patent number: 9048876
    Abstract: An error control encoding system produces a codeword from a data word, where the resulting codeword includes the data word and three or more parity segments produced using the data word. The system includes a first encoder to encode the data word in two or more first data segments in order to produce two or more first parity segments, where each of the two or more first data segments includes a respective sequential portion of the data word. The system includes a second encoder to encode the data word in one or more second data segments in order to produce a corresponding one or more second parity segments, where each of the one or more second data segments includes a respective sequential portion of the data word, and each of the one or more second data segments also includes a sequential portion of the data included in a plurality of the two or more first data segments.
    Type: Grant
    Filed: November 16, 2012
    Date of Patent: June 2, 2015
    Assignee: SANDISK ENTERPRISE IP LLC
    Inventors: Jack Edward Frayer, Aaron K. Olbrich
  • Patent number: 8976609
    Abstract: The various embodiments described herein include systems, methods and/or devices used to packaging non-volatile memory. In one aspect, the method includes, selecting, from a set of non-volatile memory die, a plurality of non-volatile memory die on which predefined die-level and sub-die level tests have been deferred until after packaging, in accordance with predefined criteria and predefined statistical die performance information corresponding to the set of non-volatile memory die. The method further includes packaging the selected plurality of non-volatile memory die into a memory device. After said packaging, the method further includes performing a set of tests on the plurality of non-volatile memory die in the memory device to identify respective units of memory within the non-volatile memory die in the memory device that meet predefined validity criteria, wherein the set of tests performed include the deferred predefined die-level and sub-die level tests.
    Type: Grant
    Filed: June 20, 2014
    Date of Patent: March 10, 2015
    Assignee: SanDisk Enterprise IP LLC
    Inventors: Jack Edward Frayer, Vidyabhushan Mohan
  • Patent number: 8954822
    Abstract: An error control system uses an error control code that corresponds to an error density location profile of a storage medium. The system includes an encoder configured to produce one or more codewords from data using an error control code generator matrix corresponding to the error density location profile of the storage medium. The system also includes a decoder configured to produce decoded data from one or more codewords using an error control code parity-check matrix corresponding to the error density location profile of the storage medium, where columns of the parity-check matrix are associated with corresponding data bits of the storage medium, rows of the parity-check matrix are associated with check bits, and each matrix element of the parity-check matrix having a predefined value indicates a connection between a particular data bit and a particular check bit.
    Type: Grant
    Filed: November 16, 2012
    Date of Patent: February 10, 2015
    Assignee: Sandisk Enterprise IP LLC
    Inventors: Jack Edward Frayer, Aaron K. Olbrich
  • Patent number: 8954826
    Abstract: An error control encoding system produces a codeword from a data word, where the resulting codeword includes the data word and three or more parity segments produced using the data word. The system includes a first encoder to encode the data word in two or more first data segments in order to produce two or more first parity segments, where each of the two or more first data segments includes a respective sequential portion of the data word. The system includes a second encoder to encode the data word in one or more second data segments in order to produce a corresponding one or more second parity segments, where each of the one or more second data segments includes a respective sequential portion of the data word, and each of the one or more second data segments also includes a sequential portion of the data included in a plurality of the two or more first data segments.
    Type: Grant
    Filed: November 16, 2012
    Date of Patent: February 10, 2015
    Assignee: SanDisk Enterprise IP LLC
    Inventors: Jack Edward Frayer, Aaron K. Olbrich
  • Patent number: 8924815
    Abstract: An error control decoding system decodes a codeword that includes a data word and two or more parity segments. The system includes a first decoder to decode the codeword by utilizing one or more first parity segments and the data word included in the codeword, and a second decoder to decode the codeword by utilizing one or more second parity segments and the data word included in the codeword, wherein the one or more first parity segments are different from the one or more second parity segments. An error estimation module estimates the number of errors in the codeword, and a controller selects which of the first decoder and second decoder to start decoding the codeword, wherein the selection is based on the estimate of the number of errors in the codeword provided by the error estimation module.
    Type: Grant
    Filed: November 16, 2012
    Date of Patent: December 30, 2014
    Assignee: SanDisk Enterprise IP LLC
    Inventors: Jack Edward Frayer, Aaron K. Olbrich