Patents by Inventor Jeremy Fillingim
Jeremy Fillingim 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).
-
Publication number: 20210342223Abstract: A storage module is configured to store data segments, such as error-correcting code (ECC) codewords, within an array comprising a plurality of columns. The ECC codewords may comprise ECC codeword symbols. The ECC symbols of a data segment may be arranged in a horizontal arrangement, a vertical arrangement, a hybrid channel arrangement, and/or vertical stripe arrangement within the array. The individual ECC symbols may be stored within respective columns of the array (e.g., may not cross column boundaries). Data of an unavailable ECC symbol may be reconstructed by use of other ECC symbols stored on other columns of the array.Type: ApplicationFiled: June 7, 2021Publication date: November 4, 2021Inventors: Jeremy Fillingim, David Flynn, John Strasser, Bill Inskeep
-
Patent number: 11061765Abstract: A storage module is configured to store data segments, such as error-correcting code (ECC) codewords, within an array comprising a plurality of columns. The ECC codewords may comprise ECC codeword symbols. The ECC symbols of a data segment may be arranged in a horizontal arrangement, a vertical arrangement, a hybrid channel arrangement, and/or vertical stripe arrangement within the array. The individual ECC symbols may be stored within respective columns of the array (e.g., may not cross column boundaries). Data of an unavailable ECC symbol may be reconstructed by use of other ECC symbols stored on other columns of the array.Type: GrantFiled: August 31, 2016Date of Patent: July 13, 2021Assignee: Unification Technologies, LLCInventors: Jeremy Fillingim, David Flynn, John Strasser, Bill Inskeep
-
Patent number: 10656993Abstract: In various embodiments, an apparatus, system, and method may increase data integrity in a redundant storage system. In one embodiment, a request is received for data stored at a storage system having a plurality of storage elements, where one or more of the plurality of storage elements include parity information. A determination is made that one of the plurality of storage elements is unavailable, the unavailable storage element being a functional storage element and including at least a portion of the data. Responsive to the determination, the data is reconstructed based on at least a portion of the parity information and data from one or more of the plurality of storage elements other than the unavailable storage element; a response is provided to the request such that the response includes the reconstructed data.Type: GrantFiled: May 16, 2017Date of Patent: May 19, 2020Assignee: Unification Technologies LLCInventors: Jonathan Thatcher, David Flynn, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
-
Patent number: 9798620Abstract: Techniques are disclosed relating to writing data across multiple storage blocks in a storage device. In one embodiment, physical erase blocks in a bank of a storage device are erasable. Ones of the physical erase blocks may be associated with different respective communication channels. In such an embodiment, a data stripe may be written across a set of physical erase blocks such that the set of physical erase blocks includes physical erase blocks of different banks and includes physical erase blocks associated with different communication channels. In some embodiments, a request to read a portion of the data stripe may be received. In response to the request, a determination may be made that one of the set of physical erase blocks is unavailable to service the request. The request may then be serviced by reassembling data of the unavailable physical erase block.Type: GrantFiled: August 1, 2014Date of Patent: October 24, 2017Assignee: SanDisk Technologies LLCInventors: Robert Wood, Jeremy Fillingim, Pankaj Mehra
-
Publication number: 20170249242Abstract: In various embodiments, an apparatus, system, and method may increase data integrity in a redundant storage system. In one embodiment, a request is received for data stored at a storage system having a plurality of storage elements, where one or more of the plurality of storage elements include parity information. A determination is made that one of the plurality of storage elements is unavailable, the unavailable storage element being a functional storage element and including at least a portion of the data. Responsive to the determination, the data is reconstructed based on at least a portion of the parity information and data from one or more of the plurality of storage elements other than the unavailable storage element; a response is provided to the request such that the response includes the reconstructed data.Type: ApplicationFiled: May 16, 2017Publication date: August 31, 2017Inventors: Jonathan Thatcher, David Flynn, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
-
Patent number: 9684560Abstract: In various embodiments, an apparatus, system, and method may increase data integrity in a redundant storage system. In one embodiment, a request is received for data stored at a storage system having a plurality of storage elements, where one or more of the plurality of storage elements include parity information. A determination is made that one of the plurality of storage elements is unavailable, the unavailable storage element being a functional storage element and including at least a portion of the data. Responsive to the determination, the data is reconstructed based on at least a portion of the parity information and data from one or more of the plurality of storage elements other than the unavailable storage element; a response is provided to the request such that the response includes the reconstructed data.Type: GrantFiled: April 4, 2016Date of Patent: June 20, 2017Assignee: LONGITUDE ENTERPRISE FLASH S.A.R.L.Inventors: Jonathan Thatcher, David Flynn, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
-
Publication number: 20160371144Abstract: A storage module is configured to store data segments, such as error-correcting code (ECC) codewords, within an array comprising a plurality of columns. The ECC codewords may comprise ECC codeword symbols. The ECC symbols of a data segment may be arranged in a horizontal arrangement, a vertical arrangement, a hybrid channel arrangement, and/or vertical stripe arrangement within the array. The individual ECC symbols may be stored within respective columns of the array (e.g., may not cross column boundaries). Data of an unavailable ECC symbol may be reconstructed by use of other ECC symbols stored on other columns of the array.Type: ApplicationFiled: August 31, 2016Publication date: December 22, 2016Inventors: Jeremy Fillingim, David Flynn, John Strasser, Bill Inskeep
-
Publication number: 20160217033Abstract: In various embodiments, an apparatus, system, and method may increase data integrity in a redundant storage system. In one embodiment, a request is received for data stored at a storage system having a plurality of storage elements, where one or more of the plurality of storage elements include parity information. A determination is made that one of the plurality of storage elements is unavailable, the unavailable storage element being a functional storage element and including at least a portion of the data. Responsive to the determination, the data is reconstructed based on at least a portion of the parity information and data from one or more of the plurality of storage elements other than the unavailable storage element; a response is provided to the request such that the response includes the reconstructed data.Type: ApplicationFiled: April 4, 2016Publication date: July 28, 2016Inventors: Jonathan Thatcher, David Flynn, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
-
Patent number: 9361029Abstract: One method for improving the utility of solid-state storage media within a solid state storage device includes referencing one or more storage media characteristics for a set of storage cells of the solid-state storage media. The method also includes determining a configuration parameter for the set of storage cells based on the one or more storage media characteristics. The method includes configuring the set of storage cells to use the determined configuration parameter. The configuration parameter includes a parameter of the set of storage cells modifiable by a module external to the solid-state storage device by way of an interface. The module external to the solid-state storage device includes a device driver executing on a host device.Type: GrantFiled: January 30, 2015Date of Patent: June 7, 2016Assignee: SANDISK TECHNOLOGIES, INC.Inventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood, Jea Hyun, Hairong Sun
-
Patent number: 9306599Abstract: Apparatuses, systems, and methods are disclosed for reconfiguring an array of storage elements. A storage element error module is configured to determine that one or more storage elements in an array of storage elements are in error. An array of storage elements stores a first ECC block and first parity data generated from the first ECC block. A data reconfiguration module is configured to generate a second ECC block comprising at least a portion of data of a first ECC block. A new configuration storage module is configured to store a second ECC block and associated second parity data on fewer storage elements than a number of storage elements in an array.Type: GrantFiled: May 23, 2014Date of Patent: April 5, 2016Assignee: INTELLIGENT INTELLECTUAL PROPERTY HOLDINGS 2 LLCInventors: David Flynn, Jonathan Thatcher, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
-
Patent number: 9305610Abstract: An apparatus, system, and method are disclosed for power reduction management. The method includes determining that a power source has failed to supply electric power above a predefined threshold. The method includes terminating one or more non-essential in-process operations on a nonvolatile memory device during a power hold-up time. The method includes executing one or more essential in-process operations on the nonvolatile memory device within the power hold-up time.Type: GrantFiled: October 15, 2012Date of Patent: April 5, 2016Assignee: SanDisk Technologies, Inc.Inventors: Lance L. Smith, Jeremy Fillingim, David Flynn, Bill Inskeep, John Strasser, Jonathan Thatcher
-
Patent number: 9304853Abstract: In various embodiments, an apparatus, system, and method may increase data integrity in a redundant storage system. In one embodiment, a request is received for data stored at a storage system having a plurality of storage elements, where one or more of the plurality of storage elements include parity information. A determination is made that one of the plurality of storage elements is unavailable, the unavailable storage element being a functional storage element and including at least a portion of the data. Responsive to the determination, the data is reconstructed based on at least a portion of the parity information and data from one or more of the plurality of storage elements other than the unavailable storage element; a response is provided to the request such that the response includes the reconstructed data.Type: GrantFiled: September 8, 2014Date of Patent: April 5, 2016Assignee: INTELLIGENT INTELLECTUAL PROPERTY HOLDINGS 2 LLCInventors: Jonathan Thatcher, David Flynn, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
-
Patent number: 9208897Abstract: Apparatuses, systems, methods, and computer program products are disclosed for configuring storage cells. A method includes determining a usage history for a set of storage cells of a solid-state storage medium. A method includes adjusting a voltage threshold for a set of storage cells by an amount based at least in part on a usage history. A method includes configuring a set of storage cells to use an adjusted voltage threshold.Type: GrantFiled: September 2, 2014Date of Patent: December 8, 2015Assignee: Intelligent Intellectual Property Holdings 2 LLCInventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood
-
Publication number: 20150333773Abstract: A storage module is configured to store data segments, such as error-correcting code (ECC) codewords, within an array comprising a plurality of columns. The ECC codewords may comprise ECC codeword symbols. The ECC symbols of a data segment may be arranged in a horizontal arrangement, a vertical arrangement, a hybrid channel arrangement, and/or vertical stripe arrangement within the array. The individual ECC symbols may be stored within respective columns of the array (e.g., may not cross column boundaries). Data of an unavailable ECC symbol may be reconstructed by use of other ECC symbols stored on other columns of the array.Type: ApplicationFiled: July 23, 2015Publication date: November 19, 2015Inventors: Jeremy Fillingim, David Flynn, John Strasser, Bill Inskeep
-
Patent number: 9116823Abstract: A storage module is configured to store data segments, such as error-correcting code (ECC) codewords, within an array comprising a plurality of columns. The ECC codewords may comprise ECC codeword symbols. The ECC symbols of a data segment may be arranged in a horizontal arrangement, a vertical arrangement, a hybrid channel arrangement, and/or vertical stripe arrangement within the array. The individual ECC symbols may be stored within respective columns of the array (e.g., may not cross column boundaries). Data of an unavailable ECC symbol may be reconstructed by use of other ECC symbols stored on other columns of the array.Type: GrantFiled: March 14, 2013Date of Patent: August 25, 2015Assignee: Intelligent Intellectual Property Holdings 2 LLCInventors: Jeremy Fillingim, David Flynn, John Strasser, Bill Inskeep
-
Publication number: 20150220385Abstract: Techniques are disclosed relating to writing data across multiple storage blocks in a storage device. In one embodiment, physical erase blocks in a bank of a storage device are erasable. Ones of the physical erase blocks may be associated with different respective communication channels. In such an embodiment, a data stripe may be written across a set of physical erase blocks such that the set of physical erase blocks includes physical erase blocks of different banks and includes physical erase blocks associated with different communication channels. In some embodiments, a request to read a portion of the data stripe may be received. In response to the request, a determination may be made that one of the set of physical erase blocks is unavailable to service the request. The request may then be serviced by reassembling data of the unavailable physical erase block.Type: ApplicationFiled: August 1, 2014Publication date: August 6, 2015Inventors: Bob Wood, Jeremy Fillingim, Pankaj Mehra
-
Publication number: 20150149817Abstract: Apparatuses, systems, and methods are disclosed to manage non-volatile media. A method includes determining a configuration parameter for a set of storage cells of a non-volatile recording medium. A method includes reading data from a set of storage cells using a determined configuration parameter. A method includes adjusting a configuration parameter based on read data.Type: ApplicationFiled: January 30, 2015Publication date: May 28, 2015Inventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood, Jea Hyun, Hairong Sun
-
Patent number: 8982619Abstract: Apparatuses, systems, and methods are disclosed to manage non-volatile media. A method includes determining a configuration parameter for a set of storage cells of a non-volatile recording medium. A method includes reading data from a set of storage cells using a determined configuration parameter. A method includes adjusting a configuration parameter based on read data.Type: GrantFiled: September 15, 2014Date of Patent: March 17, 2015Assignee: Intelligent Intellectual Property Holdings 2 LLCInventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood, Jea Hyun, Hairong Sun
-
Patent number: 8984216Abstract: Apparatuses, systems, and methods are disclosed for managing lifetime for a data storage device. A target module determines a write bandwidth target for a data storage device. An audit module monitors write bandwidth of the data storage device relative to the write bandwidth target. A throttle module adjusts execution of one or more write operations on the data storage device in response to the write bandwidth of the data storage device failing to satisfy the write bandwidth target.Type: GrantFiled: October 13, 2011Date of Patent: March 17, 2015Assignee: Fusion-io, LLCInventor: Jeremy Fillingim
-
Publication number: 20150006984Abstract: Apparatuses, systems, and methods are disclosed to manage non-volatile media. A method includes determining a configuration parameter for a set of storage cells of a non-volatile recording medium. A method includes reading data from a set of storage cells using a determined configuration parameter. A method includes adjusting a configuration parameter based on read data.Type: ApplicationFiled: September 15, 2014Publication date: January 1, 2015Inventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood, Jea Hyun, Hairong Sun