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: 10032488Abstract: 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: GrantFiled: December 29, 2016Date of Patent: July 24, 2018Assignee: SanDisk Technologies LLCInventors: Gulzar A. Kathawala, Sergey Anatolievich Gorobets, Kroum S. Stoev, Jack Edward Frayer, Liam Michael Parker
-
Publication number: 20180190329Abstract: 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: ApplicationFiled: December 29, 2016Publication date: July 5, 2018Applicant: SanDisk Technologies LLCInventors: Gulzar A. Kathawala, Sergey Anatolievich Gorobets, Kroum S. Stoev, Jack Edward Frayer, Liam Michael Parker
-
Patent number: 9864545Abstract: 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: GrantFiled: October 28, 2015Date of Patent: January 9, 2018Assignee: SanDisk Technologies LLCInventors: Robert W. Ellis, Vidyabhushan Mohan, Jack Edward Frayer
-
Patent number: 9753653Abstract: 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: GrantFiled: October 28, 2015Date of Patent: September 5, 2017Assignee: SanDisk Technologies LLCInventors: Robert W. Ellis, Jack Edward Frayer, Vidyabhushan Mohan, Todd Lindberg
-
Publication number: 20170147499Abstract: 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: ApplicationFiled: June 10, 2016Publication date: May 25, 2017Inventors: Vidyabhushan Mohan, Jack Edward Frayer
-
Patent number: 9653184Abstract: 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: GrantFiled: January 14, 2015Date of Patent: May 16, 2017Assignee: SANDISK TECHNOLOGIES LLCInventors: Jack Edward Frayer, Vidyabhushan Mohan
-
Patent number: 9613715Abstract: 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: GrantFiled: March 9, 2015Date of Patent: April 4, 2017Assignee: SANDISK TECHNOLOGIES LLCInventors: Jack Edward Frayer, Vidyabhushan Mohan
-
Publication number: 20160306553Abstract: 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: ApplicationFiled: October 28, 2015Publication date: October 20, 2016Inventors: Robert W. Ellis, Jack Edward Frayer, Vidyabhushan Mohan, Todd Lindberg
-
Publication number: 20160306591Abstract: 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: ApplicationFiled: October 28, 2015Publication date: October 20, 2016Inventors: Robert W. Ellis, Vidyabhushan Mohan, Jack Edward Frayer
-
Publication number: 20160232088Abstract: 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: ApplicationFiled: April 13, 2016Publication date: August 11, 2016Inventors: Vidyabhushan Mohan, Jack Edward Frayer
-
Patent number: 9367246Abstract: 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: GrantFiled: August 9, 2013Date of Patent: June 14, 2016Assignee: SANDISK TECHNOLOGIES INC.Inventors: Jack Edward Frayer, Aaron K. Olbrich
-
Publication number: 20160018998Abstract: 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: ApplicationFiled: January 14, 2015Publication date: January 21, 2016Inventors: Vidyabhushan Mohan, Jack Edward Frayer
-
Publication number: 20160019160Abstract: 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: ApplicationFiled: January 14, 2015Publication date: January 21, 2016Inventors: Vidyabhushan Mohan, Jack Edward Frayer
-
Publication number: 20150364215Abstract: 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: ApplicationFiled: March 9, 2015Publication date: December 17, 2015Inventors: Jack Edward Frayer, Vidyabhushan Mohan
-
Publication number: 20150364218Abstract: 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: ApplicationFiled: January 14, 2015Publication date: December 17, 2015Inventors: Jack Edward Frayer, Vidyabhushan Mohan
-
Patent number: 9048876Abstract: 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: GrantFiled: November 16, 2012Date of Patent: June 2, 2015Assignee: SANDISK ENTERPRISE IP LLCInventors: Jack Edward Frayer, Aaron K. Olbrich
-
Patent number: 8976609Abstract: 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: GrantFiled: June 20, 2014Date of Patent: March 10, 2015Assignee: SanDisk Enterprise IP LLCInventors: Jack Edward Frayer, Vidyabhushan Mohan
-
Patent number: 8954822Abstract: 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: GrantFiled: November 16, 2012Date of Patent: February 10, 2015Assignee: Sandisk Enterprise IP LLCInventors: Jack Edward Frayer, Aaron K. Olbrich
-
Patent number: 8954826Abstract: 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: GrantFiled: November 16, 2012Date of Patent: February 10, 2015Assignee: SanDisk Enterprise IP LLCInventors: Jack Edward Frayer, Aaron K. Olbrich
-
Patent number: 8924815Abstract: 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: GrantFiled: November 16, 2012Date of Patent: December 30, 2014Assignee: SanDisk Enterprise IP LLCInventors: Jack Edward Frayer, Aaron K. Olbrich