Patents by Inventor Fusion-IO, Inc.

Fusion-IO, Inc. 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: 20130227236
    Abstract: Resources of an address space are managed in dynamically sized ranges, extents, sets, and/or blocks. The address space may be divided into regions, each corresponding to a different, respective allocation granularity. Allocating a block within a first region of the address space may comprise allocating a particular number of logical addresses (e.g., a particular range, set, and/or block of addresses), and allocating a block within a different region may comprise allocating a different number of logical addresses. The regions may be configured to reduce the metadata overhead needed to identify free address blocks (and/or maintain address block allocations), while facilitating efficient use of the address space for differently sized data structures.
    Type: Application
    Filed: April 17, 2013
    Publication date: August 29, 2013
    Applicant: Fusion-io, Inc.
    Inventor: Fusion-io, Inc.
  • Publication number: 20130227201
    Abstract: Apparatuses, systems, methods, and computer program products are disclosed for providing access to auto-commit memory. An auto-commit memory module is configured to cause an auto-commit memory to commit stored data to a non-volatile memory medium in response to a failure condition. A mapping module is configured to determine whether to associate a range of data with the auto-commit memory. A bypass module is configured to service a request for the range of data directly from the auto-commit memory in response to the auto-commit mapping module determining to associate the range of data with the auto-commit memory.
    Type: Application
    Filed: March 15, 2013
    Publication date: August 29, 2013
    Applicant: FUSION-IO, INC.
    Inventor: Fusion-io, Inc.
  • Publication number: 20130212321
    Abstract: Apparatuses, systems, methods, and computer program products are disclosed. A method includes receiving a request to copy data from a first location to a second location. The data may be associated with an identifier known to a client that initiated the request. One of the locations may include an auto-commit buffer of a non-volatile device. An auto-commit buffer may be configured to commit stored data from the auto-commit buffer to a non-volatile medium of a non-volatile device in response to a restart event. A method includes copying the data from the first location to the second location. A method includes preserving the identifier known to the client and an association between the identifier and a location of the data at the second location such that client can retrieve the data based on the identifier known to the client.
    Type: Application
    Filed: March 15, 2013
    Publication date: August 15, 2013
    Applicant: FUSION-IO, INC.
    Inventor: Fusion-io, Inc.
  • Publication number: 20130205183
    Abstract: 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: Application
    Filed: March 14, 2013
    Publication date: August 8, 2013
    Inventor: Fusion-io, Inc.
  • Publication number: 20130198459
    Abstract: A de-duplication is configured to cache data for access by a plurality of different storage clients, such as virtual machines. A virtual machine may comprise a virtual machine de-duplication module configured to identify data for admission into the de-duplication cache. Data admitted into the de-duplication cache may be accessible by two or more storage clients. Metadata pertaining to the contents of the de-duplication cache may be persisted and/or transferred with respective storage clients such that the storage clients may access the contents of the de-duplication cache after rebooting, being power cycled, and/or being transferred between hosts.
    Type: Application
    Filed: January 25, 2013
    Publication date: August 1, 2013
    Applicant: Fusion-io, Inc.
    Inventor: Fusion-io, Inc.
  • Publication number: 20130185532
    Abstract: A storage controller is configured to append data to a sequential log. The data may be appended sequentially within erase regions of the non-volatile storage medium. An order of the sequential log may be defined by, inter alia, the order in which the erase regions are filled and/or the sequential order of physical storage locations and/or addresses within the erase regions. The erase regions may comprise sequence information which may be applied in response to recovering the erase regions, appending data to the erase regions, or the like. Data appended to the sequential log may be associated with source parameters, which may include a virtual identifier of the data. The physical storage location of the data on the non-volatile storage medium may be independent of the source parameters. The sequential log may, therefore, comprise a set of mappings between virtual identifiers and physical storage locations.
    Type: Application
    Filed: December 4, 2012
    Publication date: July 18, 2013
    Applicant: Fusion-io, Inc.
    Inventor: Fusion-io, Inc.
  • Publication number: 20130179753
    Abstract: A storage module is configured to store data segments, such as error-correcting code (ECC) codewords, within an array comprising two or more solid-state storage elements. The data segments may be arranged in a horizontal arrangement, a vertical arrangement, a hybrid channel arrangement, and/or vertical stripe arrangement within the array. The data arrangement may determine input/output performance characteristics. An optimal adaptive data storage configuration may be based on read and/or write patterns of storage clients, read time, stream time, and so on. Data of failed storage elements may be reconstructed by use of parity data and/or other ECC codewords stored within the array.
    Type: Application
    Filed: March 4, 2013
    Publication date: July 11, 2013
    Applicant: FUSION-IO, INC.
    Inventor: Fusion-io, Inc.
  • Publication number: 20130166831
    Abstract: Apparatuses, systems, and methods are disclosed for storing metadata. A mapping module is configured to maintain a mapping structure for logical addresses of a non-volatile device. A metadata module is configured to store membership metadata for the logical addresses with logical-to-physical mappings for the logical addresses in the mapping structure.
    Type: Application
    Filed: February 25, 2013
    Publication date: June 27, 2013
    Applicant: Fusion-io, Inc.
    Inventor: Fusion-io, Inc.
  • Publication number: 20130166816
    Abstract: Apparatuses, systems, and methods are disclosed for managing contents of a cache. A method includes receiving a read request for data stored in a non-volatile cache. A method includes determining whether a read request satisfies a frequent read threshold for a cache. A method includes writing data of a read request forward on a sequential log-based writing structure of a cache in response to determining that the read request satisfies a frequent read threshold.
    Type: Application
    Filed: February 25, 2013
    Publication date: June 27, 2013
    Applicant: FUSION-IO, INC.
    Inventor: Fusion-io, Inc.
  • Publication number: 20130132652
    Abstract: An apparatus, system, and method are disclosed to manage non-volatile media. A media characteristic module is configured to determine media characteristics for non-volatile media. A configuration parameter module is configured to determine different configuration parameters for different storage cell abodes and/or for different groups of pages of the non-volatile media based on the determined media characteristics. A cell configuration module is configured to use the different configuration parameters for the different storage cell abodes and/or the different groups of pages of the non-volatile media.
    Type: Application
    Filed: December 18, 2012
    Publication date: May 23, 2013
    Applicant: FUSION-IO, INC.
    Inventor: FUSION-IO, INC.
  • Publication number: 20130117503
    Abstract: An apparatus, system, and method are disclosed for servicing storage requests for a non-volatile memory device. An interface module is configured to receive a storage request for a data set of a non-volatile memory device from a client. The data set is different from a block of the non-volatile memory device, and may have a length different from a block size of the non-volatile memory device. A block load module is configured to load data of at least the block size of the non-volatile memory device. A fulfillment module is configured to service the storage request using at least a portion of the loaded data.
    Type: Application
    Filed: December 28, 2012
    Publication date: May 9, 2013
    Applicant: FUSION-IO, INC.
    Inventor: FUSION-IO, INC.
  • Publication number: 20130097369
    Abstract: An apparatus, system, and method are disclosed for auto-commit memory management. The method includes receiving an auto-commit request from a client, such as a barrier request or a checkpoint request. The auto-commit request is associated with an auto-commit buffer of a non-volatile recording device. The method includes issuing a serializing instruction that flushes data from a processor complex to the auto-commit buffer. The method includes determining completion of the serializing instruction flushing the data to the auto-commit buffer.
    Type: Application
    Filed: December 4, 2012
    Publication date: April 18, 2013
    Applicant: FUSION-IO, INC.
    Inventor: Fusion-io, Inc.
  • Publication number: 20130097367
    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: Application
    Filed: October 9, 2012
    Publication date: April 18, 2013
    Applicant: Fusion-io, Inc.
    Inventor: Fusion-io, Inc.
  • Publication number: 20130080732
    Abstract: An apparatus, system, and method are disclosed for storage address translation. The method includes storing, in volatile memory, a plurality of logical-to-physical mapping entries for a non-volatile recording device. The method includes persisting a logical-to-physical mapping entry from the volatile memory to recording media of the non-volatile recording device. The logical-to-physical mapping entry may be selected for persisting based on a mapping policy indicated by a client. The method includes loading the logical-to-physical mapping entry from the recording media of the non-volatile recording device into the volatile memory in response to a storage request associated with the logical-to-physical mapping entry.
    Type: Application
    Filed: September 27, 2012
    Publication date: March 28, 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: 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.