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: 20140380130Abstract: 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: September 8, 2014Publication date: December 25, 2014Inventors: Jonathan Thatcher, David Flynn, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
-
Publication number: 20140369118Abstract: 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: ApplicationFiled: September 2, 2014Publication date: December 18, 2014Inventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood
-
Patent number: 8892980Abstract: An apparatus, system, and method are disclosed for providing error correction for a data storage device. A determination module determines an error-correcting code (“ECC”) characteristic of the data storage device. An ECC module validates requested data read from the data storage device using a hardware ECC decoder. In response to the requested data satisfying a correction threshold, a software ECC decoder module validates the data using a software ECC decoder. The software ECC decoder is configured according to the ECC characteristic of the data storage device.Type: GrantFiled: June 15, 2011Date of Patent: November 18, 2014Assignee: Fusion-io, Inc.Inventor: Jeremy Fillingim
-
Patent number: 8873286Abstract: 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: December 13, 2013Date of Patent: October 28, 2014Assignee: Intelligent Intellectual Property Holdings 2 LLCInventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood, Jea Hyun, Hairong Sun
-
Patent number: 8854882Abstract: Apparatuses, systems, methods, and computer program products are disclosed for configuring storage cells. A method includes detecting a shift in a read voltage level past a read voltage threshold for a set of memory cells of a non-volatile memory medium. A method includes adjusting a read voltage threshold for the set of memory cells by an amount based at least in part on one or more characteristics of the set of memory cells in response to the shift in the read voltage level. A method includes configuring the set of memory cells to use the adjusted read voltage threshold.Type: GrantFiled: October 30, 2013Date of Patent: October 7, 2014Assignee: Intelligent Intellectual Property Holdings 2 LLCInventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood
-
Publication number: 20140281842Abstract: An apparatus, system, and method are disclosed for accessing non-volatile cells. An interface module is configured to receive data for storage on a non-volatile memory medium. The non-volatile memory medium includes an array of cells, and each cell encodes a non-power-of-two number of states, or abodes per cell. A base conversion module is configured to convert the data from a binary representation to a representation in a non-binary base. The non-binary base uses a number of unique digits equal to the non-power-of-two number of abodes per cell. A write module is configured to store the converted data to the array of cells.Type: ApplicationFiled: March 14, 2013Publication date: September 18, 2014Applicant: FUSION-IO, INC.Inventors: Robert Wood, David Flynn, Jeremy Fillingim, Warner Losh
-
Publication number: 20140258775Abstract: 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: ApplicationFiled: May 23, 2014Publication date: September 11, 2014Applicant: Fusion-io, Inc.Inventors: David Flynn, Jonathan Thatcher, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
-
Patent number: 8832528Abstract: 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 18, 2010Date of Patent: September 9, 2014Assignee: Fusion-io, Inc.Inventors: Jonathan Thatcher, David Flynn, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
-
Patent number: 8738991Abstract: 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 31, 2013Date of Patent: May 27, 2014Assignee: Fusion-Io, Inc.Inventors: David Flynn, Jonathan Thatcher, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
-
Publication number: 20140108891Abstract: 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: December 13, 2013Publication date: April 17, 2014Applicant: Fusion-io, Inc.Inventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood, Jea Hyun, Hairong Sun
-
Publication number: 20140095959Abstract: 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: ApplicationFiled: May 31, 2013Publication date: April 3, 2014Inventors: David Flynn, Jonathan Thatcher, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
-
Publication number: 20140056068Abstract: 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: ApplicationFiled: October 30, 2013Publication date: February 27, 2014Applicant: Fusion-io, Inc.Inventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood
-
Patent number: 8495460Abstract: An apparatus, system, and method are disclosed for reconfiguring an array of solid-state storage elements. The method includes determining that one or more storage elements are unavailable to store data. The storage elements are configured in an array of N storage elements that each store a portion of a first ECC chunk and P storage elements that store first parity data corresponding to the first ECC chunk. The method includes generating a second ECC chunk comprising at least a portion of the data of the first ECC chunk. The method includes storing the second ECC chunk and associated second parity data across (N+P)?Z storage elements where 1?Z?P.Type: GrantFiled: October 4, 2012Date of Patent: July 23, 2013Assignee: Fusion-IO, Inc.Inventors: David Flynn, Jonathan Thatcher, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
-
Patent number: 8482993Abstract: An apparatus, system, and method are disclosed for improving performance in a non-volatile solid-state storage device. Non-volatile solid-state storage media includes a plurality of storage cells. An input module receives source data for storage in the plurality of storage cells of the non-volatile solid-state storage media. Some or all of the bits of the source data are transformed to take into account a voltage level of an empty state of the plurality of storage cells. A write module writes the transformed source data to the plurality of storage cells of the non-volatile solid-state storage media.Type: GrantFiled: May 1, 2012Date of Patent: July 9, 2013Assignee: Fusion-io, Inc.Inventors: John Strasser, Jonathan Thatcher, Jeremy Fillingim, David Flynn, Lance Smith, Robert Wood, James Peterson
-
Patent number: 8429436Abstract: An apparatus, system, and method are disclosed for managing power consumption in a data storage device. An audit module monitors a power consumption rate of the data storage device relative to a power consumption target. A throttle module adjusts execution of one or more operations on the data storage device in response to the power consumption rate of the data storage device failing to satisfy the power consumption target. A verification module verifies whether the power consumption rate of the data storage device satisfies the power consumption target in response to adjusting the execution of the one or more operations.Type: GrantFiled: September 9, 2010Date of Patent: April 23, 2013Assignee: Fusion-io, Inc.Inventors: Jeremy Fillingim, John Strasser, Jonathan Thatcher
-
Patent number: 8412978Abstract: An apparatus, system, and method are disclosed for managing data storage. The method includes determining that an error correcting code (ECC) block comprises uncorrectable errors. The ECC block is stored across a plurality of memory devices. The method includes iteratively substituting replacement data, within data of the ECC block, for individual memory devices of the plurality of memory devices to form substitute ECC blocks until one of the substitute ECC blocks is correctable using the error correcting code for the ECC block. The method includes providing corrected data from the correctable one of the substitute ECC blocks.Type: GrantFiled: May 8, 2012Date of Patent: April 2, 2013Assignee: Fusion-io, Inc.Inventors: David Flynn, Jonathan Thatcher, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
-
Apparatus, system, and method for determining a read voltage threshold for solid-state storage media
Patent number: 8315092Abstract: An apparatus, system, and method are disclosed for determining a read voltage threshold for solid-state storage media. A data set read module reads a data set from storage cells of solid-state storage media. The data set is originally stored in the storage cells with a known bias. A deviation module determines that a read bias for the data set deviates from the known bias. A direction module determines a direction of deviation for the data set. The direction of deviation is based on a difference between the read bias of the data set and the known bias. An adjustment module adjusts a read voltage threshold for the storage cells of the solid-state storage media based on the direction of deviation.Type: GrantFiled: January 27, 2011Date of Patent: November 20, 2012Assignee: Fusion-IO, Inc.Inventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood -
Patent number: 8307258Abstract: An apparatus, system, and method are disclosed for reconfiguring an array of solid-state storage elements protected using parity data. The storage element error module determines that one or more storage elements are unavailable to store data (“unavailable storage elements”). The storage element resides in an array with N number of storage elements storing a first ECC chunk and P number of storage elements storing first parity data. The reconfigure data read module reads data from storage elements other than the unavailable storage elements. The data regeneration module uses the first parity data to regenerate missing data from the first ECC chunk. The data reconfiguration module creates a second ECC chunk. The new configuration storage module stores a portion of the second ECC chunk and associated second parity data on (N+P)?Z number of storage elements, wherein 1?Z?P.Type: GrantFiled: May 18, 2009Date of Patent: November 6, 2012Assignee: Fusion-10, IncInventors: David Flynn, Jonathan Thatcher, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
-
Patent number: 8289801Abstract: An apparatus, system, and method are disclosed for power loss management in a nonvolatile data storage device. A monitor module initiates a power loss mode in the nonvolatile data storage device in response to a primary power source failing to supply electric power above a predefined threshold to the nonvolatile data storage device. A secondary power source supplies electric power to the nonvolatile data storage device for at least a power hold-up time during the power loss mode. A power loss module adjusts execution of in-process operations on the nonvolatile data storage device during the power loss mode so that essential in-process operations execute within the power hold-up time.Type: GrantFiled: September 9, 2010Date of Patent: October 16, 2012Assignee: Fusion-IO, Inc.Inventors: Lance L. Smith, Jeremy Fillingim, David Flynn, Bill Inskeep, John Strasser, Jonathan Thatcher
-
Patent number: 8281227Abstract: An apparatus, system, and method are disclosed to increase data integrity in a redundant storage system. The receive module receives a read request to read data from a logical page spanning an array of N+P number of storage elements. The array of storage elements includes N number of the storage elements each storing a portion of an ECC chunk and P number of the storage elements storing parity data. The data read module reads data from at least a portion of a physical page on each of X number of storage elements of the N+P number of storage elements where X equals N. The regeneration module regenerates missing data. The ECC module determines if the read data and any regenerated missing data includes an error. The read data combined with any regenerated missing data includes the ECC chunk.Type: GrantFiled: May 18, 2009Date of Patent: October 2, 2012Assignee: Fusion-10, Inc.Inventors: Jonathan Thatcher, David Flynn, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor