Patents Assigned to Fusion-io
  • Publication number: 20130039141
    Abstract: 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: Application
    Filed: October 15, 2012
    Publication date: February 14, 2013
    Applicant: FUSION-IO
    Inventor: FUSION-IO
  • Publication number: 20130036262
    Abstract: An apparatus, system, and method are disclosed for testing physical regions in a solid-state storage device. The method includes defining a physical storage region on solid-state storage media of a solid-state storage device. The physical storage region includes a subset of storage capacity of the solid-state storage media. The method includes implementing the physical storage region definition on a storage controller such that memory operations are bounded to the physical storage region. The method includes testing wear of solid-state storage media associated with the physical storage region using memory operations bounded to the physical storage region.
    Type: Application
    Filed: September 24, 2012
    Publication date: February 7, 2013
    Applicant: FUSION-IO, INC.
    Inventor: Fusion-IO, Inc.
  • Publication number: 20130036327
    Abstract: 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: Application
    Filed: October 4, 2012
    Publication date: February 7, 2013
    Applicant: FUSION-IO, INC.
    Inventor: Fusion-io, Inc.
  • Publication number: 20130024642
    Abstract: An apparatus, system, and method are disclosed for managing a non-volatile storage medium. A storage controller receives a message that identifies data that no longer needs to be retained on the non-volatile storage medium. The data may be identified using a logical identifier. The message may comprise a hint, directive, or other indication that the data has been erased and/or deleted. In response to the message, the storage controller records an indication that the contents of a physical storage location and/or physical address associated with the logical identifier do not need to be preserved on the non-volatile storage medium.
    Type: Application
    Filed: September 7, 2012
    Publication date: January 24, 2013
    Applicant: FUSION-IO, INC.
    Inventors: David Flynn, Jonathan Thatcher, Michael Zappe
  • Publication number: 20130024460
    Abstract: Methods for indexing data of an append-only, log-based structure include writing a plurality of data packets to a storage medium by sequentially appending the data packets to a log-based structure of the storage medium, the data packets associated with different logical identifiers belonging to a logical address space that is independent of physical storage locations on the storage media. The methods may further include writing an index segment associated with the plurality of data packets to the log-based structure, the index segment comprising index entries for determining the logical identifiers of the data packets and recording, on the storage media, information indicating where the index segment is written on the storage medium.
    Type: Application
    Filed: June 22, 2012
    Publication date: January 24, 2013
    Applicant: FUSION-IO
    Inventors: James Peterson, Evan Orme, Kevin Vigor, Michael Zappe
  • Publication number: 20130024641
    Abstract: An apparatus, system, and method are disclosed for managing storage capacity recovery. A monitor module determines a workload write bandwidth for a sequential log-based data storage device. The workload write bandwidth includes a rate at which workload write operations generate reclaimable storage capacity on the data storage device. A target module determines a target reclamation write bandwidth for the data storage device. A capacity reclaim rate is associated with the target reclamation write bandwidth. The capacity reclaim rate satisfies the workload write bandwidth for the data storage device. A reclaim rate module determines a prospective reclamation write bandwidth for the data storage device, based on the workload write bandwidth, to correspond to the capacity reclaim rate associated with the target reclamation write bandwidth.
    Type: Application
    Filed: October 6, 2011
    Publication date: January 24, 2013
    Applicant: FUSION-IO, INC.
    Inventors: Nisha Talagala, James Peterson
  • Publication number: 20130019072
    Abstract: An adaptive logical storage element comprises a plurality of solid-state storage elements accessible in parallel. The logical storage element includes logical storage units, which may include logical page, logical storage divisions (erase blocks), and so on. Each logical storage unit comprises a plurality of physical storage units. A logical storage unit may include one or more physical storage units that are out-of-service (OOS). The OOS status of logical storage units is tracked by OOS metadata. When data is stored on the logical storage element, padding data is provided to physical storage units that are OOS, and valid and/or parity data is provided to in-service physical storage units. A write data pipeline accesses the OOS metadata to insert padding data, and a read data pipeline accesses the OOS metadata to strip padding data.
    Type: Application
    Filed: January 19, 2012
    Publication date: January 17, 2013
    Applicant: FUSION-IO, INC.
    Inventors: John Strasser, David Flynn, Bill Inskeep
  • Publication number: 20130003457
    Abstract: A controller is used for an electronic memory device which has multi-level cell (MLC) memory elements. Each MLC memory element is capable of storing at least two bits. The controller includes a physical interface to couple the controller to the electronic memory device. The controller also includes a processing unit coupled to the physical interface. The processing unit operates the electronic memory device in a single-level cell (SLC) mode using a restricted number of programming states for a single data bit. The restricted number of programming states includes a first state which is an erase state. The restricted number of programming states also includes a second state, other than the erase state, which is closest to a natural threshold voltage of the MLC memory elements.
    Type: Application
    Filed: September 11, 2012
    Publication date: January 3, 2013
    Applicant: FUSION-IO
    Inventors: Robert Wood, Jea Woong Hyun
  • Publication number: 20120331206
    Abstract: An apparatus, system, and method are disclosed for managing data with an empty data segment directive at the storage device. The apparatus, system, and method for managing data include a write request receiver module and a data segment token storage module. The write request receiver module receives a storage request from a requesting device. The storage request includes a request to store a data segment in a storage device. The data segment includes a series of repeated, identical characters or a series of repeated, identical character strings. The data segment token storage module stores a data segment token in the storage device. The data segment token includes at least a data segment identifier and a data segment length. The data segment token is substantially free of data from the data segment.
    Type: Application
    Filed: August 3, 2012
    Publication date: December 27, 2012
    Applicant: Fusion-io, Inc.
    Inventors: David Flynn, Jonathan Thatcher, Michael Zappe
  • Publication number: 20120324311
    Abstract: An apparatus, system, and method are disclosed for managing data in a solid-state storage device. A solid-state storage and solid-state controller are included. The solid-state storage controller includes a write data pipeline and a read data pipeline The write data pipeline includes a packetizer and an ECC generator. The packetizer receives a data segment and creates one or more data packets sized for the solid-state storage. The ECC generator generates one or more error-correcting codes (“ECC”) for the data packets received from the packetizer. The read data pipeline includes an ECC correction module, a depacketizer, and an alignment module. The ECC correction module reads a data packet from solid-state storage, determines if a data error exists using corresponding ECC and corrects errors. The depacketizer checks and removes one or more packet headers. The alignment module removes unwanted data, and re-formats the data as data segments of an object.
    Type: Application
    Filed: August 30, 2012
    Publication date: December 20, 2012
    Applicant: FUSION-IO, INC.
    Inventors: David Flynn, Bert Lagerstedt, John Strasser, Jonathan Thatcher, Michael Zappe
  • Publication number: 20120304039
    Abstract: Devices, apparatuses, systems, and methods are disclosed for bit error reduction through varied data positioning. A write request module is configured to receive data for storage in an array of solid-state storage elements. The solid-state storage elements are accessible in parallel. A write module is configured to store the data in parallel to the array of solid-state storage elements with varied data positions for the data relative to different solid-state storage elements of the array. A read module is configured to read the data in parallel from the array of solid-state storage elements.
    Type: Application
    Filed: May 29, 2012
    Publication date: November 29, 2012
    Applicant: FUSION-IO, INC.
    Inventors: Jim Peterson, John Strasser, Jea Hyun
  • Publication number: 20120297258
    Abstract: An apparatus, system, and method are disclosed for bad block remapping. A bad block identifier module identifies one or more data blocks on a solid-state storage element as bad blocks. A log update module writes at least a location of each bad block identified by the bad block identifier module into each of two or more redundant bad block logs. A bad block mapping module accesses at least one bad block log during a start-up operation to create in memory a bad block map. The bad block map includes a mapping between the bad block locations in the bad block log and a corresponding location of a replacement block for each bad block location. Data is stored in each replacement block instead of the corresponding bad block. The bad block mapping module creates the bad block map using one of a replacement block location and a bad block mapping algorithm.
    Type: Application
    Filed: August 2, 2012
    Publication date: November 22, 2012
    Applicant: Fusion-io, Inc.
    Inventors: David Flynn, John Strasser, Jonathan Thatcher, David Atkisson, Michael Zappe, Joshua Aune, Kevin Vigor
  • Patent number: 8315092
    Abstract: 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: Grant
    Filed: January 27, 2011
    Date of Patent: November 20, 2012
    Assignee: Fusion-IO, Inc.
    Inventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood
  • Patent number: 8316277
    Abstract: An apparatus, system, and method are disclosed for ensuring data validity in a data storage process. A data receiver module receives a storage block and existing parity information. An ECC generation module generates error correcting code (“ECC”) check bits for the data of the storage block in response to receiving the storage block and the existing parity information. The ECC check bits for the storage block are generated using a block code, a convolutional code, etc. A pre-storage consistency module uses the data of the storage block, the existing parity information, and the ECC check bits to determine if the data of the storage block, the existing parity information, and the ECC check bits are consistent. A data storage module stores the data of the storage block and the ECC check bits the data storage device without storing the existing parity information.
    Type: Grant
    Filed: April 5, 2008
    Date of Patent: November 20, 2012
    Assignee: Fusion-IO, Inc.
    Inventors: David Flynn, Jonathan Thatcher, John Strasser
  • Patent number: 8296337
    Abstract: An apparatus, system, and method are disclosed for managing data with an empty data segment directive at the requesting device. The apparatus, system, and method include a token directive generation module and a token directive transmission module. The token directive generation module generates a storage request with a token directive. The token directive includes a request to store on the storage device a data segment token. The token directive substitutes for a series of repeated, identical characters or a series of repeated, identical character strings to be stored as a data segment. The token directive includes at least a data segment identifier and a data segment length. The data segment token and the token directive are substantially free from data of the data segment. The token directive transmission module transmits the token directive to the storage device.
    Type: Grant
    Filed: December 6, 2007
    Date of Patent: October 23, 2012
    Assignee: Fusion-io, Inc.
    Inventors: David Flynn, Jonathan Thatcher, Michael Zappe
  • Publication number: 20120266046
    Abstract: An apparatus, system, and method are disclosed for storing information in a storage device that includes multi-level memory cells. The method involves storing data that is written to the storage device in the LSBs of the multi-level memory cells, and storing audit data in the MSBs of the multi-level memory cells. The audit data can be read separately from the data and used to determine whether or not there has been any unintended drift between states in the multi-level cells. The audit data may be used to correct data when the errors in the data are too numerous to be corrected using error correction code (ECC). The audit data may also be used to monitor the general health of the storage device. The monitoring process may run as a background process on the storage device. The storage device may transition the multi-level memory cells to operate as single-level memory cells.
    Type: Application
    Filed: June 22, 2012
    Publication date: October 18, 2012
    Applicant: FUSION-IO
    Inventors: Jonathan Thatcher, David Flynn, Ethan Barnes, John Strasser, Robert Wood, Michael Zappe
  • Patent number: 8289801
    Abstract: 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: Grant
    Filed: September 9, 2010
    Date of Patent: October 16, 2012
    Assignee: Fusion-IO, Inc.
    Inventors: Lance L. Smith, Jeremy Fillingim, David Flynn, Bill Inskeep, John Strasser, Jonathan Thatcher
  • Patent number: 8285927
    Abstract: An apparatus, system, and method are disclosed for solid-state storage as cache for high-capacity, non-volatile storage. The apparatus, system, and method are provided with a plurality of modules including a cache front-end module and a cache back-end module. The cache front-end module manages data transfers associated with a storage request. The data transfers between a requesting device and solid-state storage function as cache for one or more HCNV storage devices, and the data transfers may include one or more of data, metadata, and metadata indexes. The solid-state storage may include an array of non-volatile, solid-state data storage elements. The cache back-end module manages data transfers between the solid-state storage and the one or more HCNV storage devices.
    Type: Grant
    Filed: August 5, 2011
    Date of Patent: October 9, 2012
    Assignee: Fusion-io, Inc.
    Inventors: David Flynn, John Strasser, Jonathan Thatcher, Michael Zappe
  • Publication number: 20120239860
    Abstract: Data is stored on a non-volatile storage media in a sequential, log-based format. The formatted data defines an ordered sequence of storage operations performed on the non-volatile storage media. A virtual storage layer maintains volatile metadata, which may include a forward index associating logical identifiers with respective physical storage units on the non-volatile storage media. The volatile metadata may be reconstructed from the ordered sequence of storage operations. Persistent notes may be used to maintain consistency between the volatile metadata and the contents of the non-volatile storage media. Persistent notes may identify data that does not need to be retained on the non-volatile storage media and/or is no longer valid.
    Type: Application
    Filed: December 19, 2011
    Publication date: September 20, 2012
    Applicant: FUSION-IO, INC.
    Inventors: David Atkisson, David Flynn, Michael Zappe, Stephan Uphoff, David Nellans
  • Patent number: 8270830
    Abstract: Leaf switches and spine switches in a Clos network are interconnected by optical fibers. The network enables large numbers of servers or other apparatus to communicate with each other with minimal delay and minimal power consumption.
    Type: Grant
    Filed: April 1, 2009
    Date of Patent: September 18, 2012
    Assignee: Fusion-IO, Inc.
    Inventors: Peter E Kirkpatrick, Jean-Marc Verdiell, Marc Epitaux