Patents Assigned to Fusion-IO, Inc.
  • Publication number: 20160110125
    Abstract: A storage controller identifies a storage division comprising unreadable data. In response, the storage controller relocates readable data (if any) from the identified storage division. The storage controller may be further configured to associate the unreadable data with a logical address, and to record persistent metadata to indicate that the logical address is mapped to unreadable, corrupt data. The storage controller may clear the corruption indicator from the logical address. The logical address may be cleared in response to determining that the unreadable data is invalid and/or available from another source.
    Type: Application
    Filed: October 31, 2014
    Publication date: April 21, 2016
    Applicant: FUSION-IO, INC.
    Inventors: Evan Orme, James G. Peterson
  • Publication number: 20160110249
    Abstract: A storage controller identifies a storage location within a storage division that corresponds to a high error rate. In response, the storage controller may refresh data stored on the storage division by relocating data from the storage division and/or initializing (e.g., erasing) the storage division. In some embodiments, the storage division is selectively refreshed by relocating data from the storage location(s) having high error rates, while deferring a full relocation of other data from the storage division. The storage division may be selectively refreshed based on reliability characteristics of the storage division, such as the remaining data retention time calculated for the storage division.
    Type: Application
    Filed: November 3, 2014
    Publication date: April 21, 2016
    Applicant: Fusion-IO, Inc.
    Inventors: Evan Orme, James G. Peterson
  • Publication number: 20160070652
    Abstract: A storage system implements a sparse, thinly provisioned logical-to-physical translation layer. The storage system may perform operations to modify logical-to-physical mappings, including creating, removing, and/or modifying any-to-any and/or many-to-one mappings between logical identifiers and stored data (logical manipulation operations). The storage system records persistent metadata to render the logical manipulation (LM) operations persistent and crash-safe. The storage system may provide access to LM functionality through a generalized LM interface. Clients may leverage the LM interface to efficiently implement higher-level functionality and/or offload LM operations to the storage system.
    Type: Application
    Filed: December 12, 2014
    Publication date: March 10, 2016
    Applicant: Fusion-IO, Inc.
    Inventors: Swaminathan Sundararaman, Nisha Talagala, Robert Wipfel, Sriram Subramanian, Vladislav Bolkhovitin
  • Publication number: 20160026408
    Abstract: Embodiments are disclosed relating to garbage collecting storage blocks in a storage device. In one embodiment, data is selected for relocation from a storage block in a storage device during reclaiming of the storage block. The data may be selected based on metadata that identifies whether data is valid at a time when the reclaiming is initiated. In some embodiments, prior to relocating data from the storage block, the metadata is captured from a data structure that identifies whether data on the storage device is valid. In one embodiment, a determination of whether the selected data has become invalid due to other data that is stored during the reclaiming is made. In some embodiments, in response to determining that the selected data has become invalid, the selected data is specified as invalid in the data structure.
    Type: Application
    Filed: October 21, 2014
    Publication date: January 28, 2016
    Applicant: FUSION-IO, INC.
    Inventor: James G. Peterson
  • Publication number: 20150378921
    Abstract: A cache automation module detects the deployment of storage resources in a virtual computing environment and, in response, automatically configures cache services for the detected storage resources. The automation module may detect new storage resources by monitoring storage operations and/or requests, by use of an interface provided by virtualization infrastructure, and/or the like. The cache automation module may deterministically identify storage resources that are to be cached and automatically caching services for the identified storage resources.
    Type: Application
    Filed: July 16, 2014
    Publication date: December 31, 2015
    Applicant: FUSION-IO, INC.
    Inventors: Jaidil Karippara, Pavan Pamula, Yuepeng Feng, Vikuto Atoka Sema
  • Publication number: 20150242309
    Abstract: A compression manager generates a reduced-size data set for a page. The reduced-size data set is stored on a storage medium by a storage module, and unused portions of the page are identified and/or recorded by the storage module. The reduced-size data set may be generated by compressing the page. The reduced-size data set may be written in response to a request from a client, which provides a message that identifies the unused portion(s) of the page. The page may be stored in a file, and the unused portion may correspond to empty portion(s) within the file. The storage module may maintain an index to map the page to the reduced-size data set, such that portions of the page are unmapped. The storage capacity used by the page may correspond to the mapped portion of the page, and exclude portion(s) of the page that are unmapped.
    Type: Application
    Filed: July 17, 2014
    Publication date: August 27, 2015
    Applicant: FUSION-IO, INC.
    Inventors: NISHA TALAGALA, TORBEN MATHIASEN, DHANANJOY DAS, DAVID FLYNN
  • Publication number: 20150205664
    Abstract: Apparatuses, methods, and computer program products are disclosed for determining read thresholds for a non-volatile memory device. A method includes obtaining soft read data for a storage cell of a non-volatile storage medium. A method includes determining a read voltage threshold or other configuration parameter for a storage cell based on soft read data. A method includes using a determined read voltage threshold or other configuration parameter to read data from a storage cell.
    Type: Application
    Filed: March 5, 2014
    Publication date: July 23, 2015
    Applicant: Fusion-io, Inc.
    Inventors: Gary Janik, Yangyang Pan
  • Publication number: 20150200688
    Abstract: Apparatuses, systems, methods, and computer program products are disclosed for error correction. A soft read module is configured to obtain soft read information for a cell of a non-volatile memory medium. The soft read information may indicate a likelihood that a data value for the cell is correct. A reliability module is configured to associate the cell with a log-likelihood ratio (LLR) mapping from a plurality of LLR mappings based on one or more reliability characteristics for a set of cells that includes the cell. An LLR map module is configured to determine an LLR value based on the soft read information by using the LLR mapping.
    Type: Application
    Filed: February 25, 2014
    Publication date: July 16, 2015
    Applicant: Fusion-io, Inc.
    Inventors: Yangyang Pan, Hao Zhong
  • Publication number: 20150121134
    Abstract: Techniques are disclosed relating to storage device failover. In one embodiment, a plurality of storage devices are represented as cluster resources to a cluster resource manager that manages cluster resources on a plurality of cluster nodes. An indication may be received that a failover operation is requested with respect to one of the plurality of storage devices. In response to the indication, the cluster resource manager may initiate the failover operation. In some embodiments, the failover operation includes changing a first access state of the storage device and a second access state of another storage device. In such an embodiment, the storage device and the other storage device may be associated with a logical unit number. In some embodiments, the storage device is located within a first of the plurality of cluster nodes; the other storage device is located within a second of the plurality of cluster nodes.
    Type: Application
    Filed: March 31, 2014
    Publication date: April 30, 2015
    Applicant: Fusion-io, Inc.
    Inventors: Robert Wipfel, Bart Van Assche, Ranjan Gupta
  • Publication number: 20150113223
    Abstract: A storage layer may over-provision physical storage resources of a storage medium by reserving a portion of the full physical storage capacity of the storage medium for use as reserve capacity. The reserve capacity may be used to prevent write stall conditions and/or for grooming operations, such as storage recovery, refresh, and the like. A reserve module may be configured to adapt the reserve capacity in accordance with, inter alia, operating conditions on the storage layer. The reserve module may be configured to dynamically modify the storage capacity available through the storage layer. A cache layer configured to cache data of a backing store on the storage layer, may be configured to add and/or remove cache entries in response to changes in the reserve capacity.
    Type: Application
    Filed: July 16, 2014
    Publication date: April 23, 2015
    Applicant: Fusion-io, Inc.
    Inventors: Michael Brown, Nisha Talagala, Robert Wood, Ned Plasson
  • Publication number: 20150113326
    Abstract: An aggregation module combines a plurality of logical address spaces to form a conglomerated address space. The logical address spaces comprising the conglomerated address space may correspond to different respective storage modules and/or storage devices. An atomic aggregation module coordinates atomic storage operations within the conglomerated address space, and which span multiple storage modules. The aggregation module may identify the storage modules used to implement the atomic storage request, assign a sequence indicator to the atomic storage request, and issue atomic storage requests (sub-requests) to the storage modules. The storage modules may be configured to store a completion tag comprising the sequence indicator upon completing the sub-requests issued thereto. The aggregation module may identify incomplete atomic storage requests based on the completion information stored on the storage modules.
    Type: Application
    Filed: June 6, 2014
    Publication date: April 23, 2015
    Applicant: FUSION-IO, INC.
    Inventors: Nisha Talagala, Dhananjoy Das, Swaminathan Sundararaman, Ashish Batwara, Nick Piggin
  • Publication number: 20150082126
    Abstract: Apparatuses, systems, methods, and computer program products are disclosed for error correcting code (ECC) decoding. A score module is configured to assign a score to a variable node of low density parity check (LDPC) code decoder. The LDPC code decoder may include a plurality of variable nodes associated with a plurality of check nodes. The plurality of variable nodes may correspond to bits of a received code word. The score for the variable node may be based on a count of unsatisfied check nodes associated with the variable node. A variable node update module is configured to update the variable node based on the score. A check node update module is configured to update one or more of the check nodes based on the updated variable node.
    Type: Application
    Filed: October 31, 2013
    Publication date: March 19, 2015
    Applicant: Fusion-io, Inc.
    Inventor: Mark Vernon
  • Patent number: 8972627
    Abstract: An apparatus, system, and method are disclosed for managing operations for data storage media. An adjustment module interrupts or otherwise adjusts execution of an executing operation on the data storage media. A schedule module executes a pending operation on the data storage media in response to adjusting execution of the executing operation. The pending operation comprises a higher execution priority than the executing operation. The schedule module finishes execution of the executing operation in response to completing execution of the pending operation.
    Type: Grant
    Filed: February 13, 2012
    Date of Patent: March 3, 2015
    Assignee: Fusion-io, Inc.
    Inventors: John Strasser, David Flynn, Robert Wood
  • Patent number: 8966191
    Abstract: A storage layer presents logical address space of a non-volatile storage device. The storage layer maintains logical interfaces to the non-volatile storage device, which may include arbitrary, any-to-any mappings between logical identifiers and storage resources. Data may be stored on the non-volatile storage device in a contextual format, which includes persistent metadata that defines the logical interface of the data. The storage layer may modify the logical interface of data that is stored in the contextual format. The modified logical interface may be inconsistent with the existing contextual format of the data on the non-volatile storage media. The storage layer may provide access to the data in the inconsistent contextual format through the modified logical interface. The contextual format of the data may be updated to be consistent with the modified logical interface in a write out-of-place storage operation.
    Type: Grant
    Filed: March 19, 2012
    Date of Patent: February 24, 2015
    Assignee: Fusion-IO, Inc.
    Inventors: David Flynn, Robert Wipfel, David Nellans, John Strasser
  • Publication number: 20150052395
    Abstract: Techniques are disclosed relating to writing data atomically to one or more recording media. In one embodiment, a request is received to perform an atomic write for a set of data. Responsive to the request, the set of data is written across a plurality of storage units including storing metadata at a dedicated location within at least one of the plurality of storage units. The metadata is usable to determine whether the writing completed successfully. In some embodiments, the request is received from an application that has been assigned an address range of the plurality of storage units. In such an embodiment, the address range is accessible to the application for storing data, and the dedicated location resides outside of the address range. In one embodiment, the metadata specifies an address range where the set of data was written and a sequence number.
    Type: Application
    Filed: March 31, 2014
    Publication date: February 19, 2015
    Applicant: Fusion-io, Inc.
    Inventor: Robert Wipfel
  • Publication number: 20150039577
    Abstract: An atomic storage module may be configured to implement atomic storage operation directed to a first set of identifiers in reference to a second, different set of identifiers. In response to completing the atomic storage operation, the atomic storage module may move the corresponding data to the first, target set of identifiers. The move operation may comprise modifying a logical interface of the data. The move operation may further include storing persistent metadata configured to bind the data to the first set of identifiers.
    Type: Application
    Filed: June 24, 2014
    Publication date: February 5, 2015
    Applicant: FUSION-IO, INC.
    Inventors: Nisha Talagala, David Flynn, Swaminathan Sundararaman, Sriram Subramanian, David Nellans, Robert Wipfel, John Strasser
  • Publication number: 20150032982
    Abstract: A storage layer is configured to implement efficient open-close consistency operations. Open close consistency may comprise preserving the original state of a file until the file is closed. The storage layer may be configured to clone a file in response to a file open request. Cloning the file may comprise referencing file data by two separate sets of identifiers. One set may be configured to reflect file modifications, and the other set may be configured to preserve the original state of the file. Subsequent operations configured to modify the file may be performed in reference to one of the sets of identifiers, while the storage layer provides access to the unmodified file through the other set of identifiers. Closing the file may comprise merging the sets of identifiers according to a merge policy.
    Type: Application
    Filed: June 12, 2014
    Publication date: January 29, 2015
    Applicant: FUSION-IO, INC.
    Inventors: Nisha Talagala, Nick Piggin, David Flynn, Robert Wipfel, David Nellans, John Strasser
  • Publication number: 20150012794
    Abstract: Apparatuses, systems, and methods are disclosed for managing non-volatile a medium. A method includes determining whether a first error correcting code (ECC) code word of a non-volatile storage device is correctable using a first error correcting code. A method includes determining whether a second ECC code word is correctable using a second error correcting code in response to determining that a first ECC code word is uncorrectable using a first error correcting code. A method includes adjusting one or more media parameters for accessing a non-volatile medium of a non-volatile storage device based on error information. Error information may include information from a decoder for a second error correcting code. Adjusting one or more media parameters may be in response to determining that a second ECC code word is correctable using a second error correcting code.
    Type: Application
    Filed: November 11, 2013
    Publication date: January 8, 2015
    Applicant: Fusion-io, Inc.
    Inventors: Warner Losh, James Peterson
  • Publication number: 20150012689
    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 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: October 3, 2013
    Publication date: January 8, 2015
    Applicant: FUSION-IO, INC.
    Inventors: David Atkisson, David Nellans, David Flynn, Jens Axboe, Michael Zappe
  • Publication number: 20140372679
    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: June 19, 2014
    Publication date: December 18, 2014
    Applicant: Fusion-io, Inc.
    Inventors: David Flynn, Jonathan Thatcher, Michael Zappe