Patents Assigned to Fusion-io
  • Publication number: 20140108891
    Abstract: 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: Application
    Filed: December 13, 2013
    Publication date: April 17, 2014
    Applicant: Fusion-io, Inc.
    Inventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood, Jea Hyun, Hairong Sun
  • Publication number: 20140101389
    Abstract: A system includes a data store and a memory cache subsystem. A method for pre-fetching data from the data store for the cache includes determining a performance characteristic of a data store. The method also includes identifying a pre-fetch policy configured to utilize the determined performance characteristic of the data store. The method also includes pre-fetching data stored in the data store by copying data from the data store to the cache according to the pre-fetch policy identified to utilize the determined performance characteristic of the data store.
    Type: Application
    Filed: March 14, 2013
    Publication date: April 10, 2014
    Applicant: FUSION-IO
    Inventors: David Nellans, Torben Mathiasen, David Flynn, Nisha Talagala
  • Publication number: 20140101376
    Abstract: An apparatus, system, and method are disclosed for implementing conditional storage operations. Storage clients access and allocate portions of an address space of a non-volatile storage device. A conditional storage request is provided, which causes data to be stored to the non-volatile storage device on the condition that the address space of the device can satisfy the entire request. If only a portion of the request can be satisfied, the conditional storage request may be deferred or fail. An atomic storage request is provided, which may comprise one or more storage operations. The atomic storage request succeeds if all of the one or more storage operations are complete successfully. If one or more of the storage operations fails, the atomic storage request is invalidated, which may comprise deallocating logical identifiers of the request and/or invalidating data on the non-volatile storage device pertaining to the request.
    Type: Application
    Filed: December 2, 2013
    Publication date: April 10, 2014
    Applicant: Fusion-io, Inc.
    Inventors: David Flynn, David Nellans, Xiangyong Ouyang
  • Publication number: 20140101375
    Abstract: An apparatus, system, and method are disclosed for allocating non-volatile storage. The storage device may present a logical address, which may exceed a physical storage capacity of the device. The storage device may allocate logical capacity in the logical address space. An allocation request may be allowed when there is sufficient unassigned and/or unallocated logical capacity to satisfy the request. Data may be stored on the non-volatile storage device by requesting physical storage capacity. A physical storage request, such as a storage request or physical storage reservation, when there is sufficient available physical storage capacity to satisfy the request. The device may maintain an index to associate logical identifiers (LIDs) in the logical address space with storage locations on the storage device. This index may be used to make logical capacity allocations and/or to manage physical storage space.
    Type: Application
    Filed: November 5, 2013
    Publication date: April 10, 2014
    Applicant: FUSION-IO, INC.
    Inventors: Jonathan Thatcher, David Flynn
  • Publication number: 20140092683
    Abstract: A method facilitates controlling a read time (tREAD) of an electronic memory device. The method includes implementing a first read time indicative of an array time for a read process for a memory array of the electronic memory device. The first read time relates to the time allocated to make data available at an I/O buffer of the electronic memory device for access by a controller. The method also includes implementing a second read time for the electronic memory device. The second read time has a total duration which is different from the first read time. In this way, different read times can be implemented for read operations at the same electronic memory device. The read times may be changed automatically based on one or more performance parameters (e.g., RBER, P/E count, etc.) of the electronic memory device.
    Type: Application
    Filed: October 2, 2012
    Publication date: April 3, 2014
    Applicant: FUSION-IO
    Inventors: Jea Woong Hyun, Barrett Edwards, David Nellans
  • Patent number: 8688899
    Abstract: Apparatuses, systems, and methods are presented for a direct interface between a memory controller and a non-volatile memory controller using a command protocol. A method includes receiving a command from a memory controller to a non-volatile memory controller over a wire interface by way of a command protocol. The memory controller is coupled to one or more processors and the non-volatile memory controller, in one embodiment, is coupled to non-volatile memory media. The command protocol includes a control path that enables the memory controller to distinguish among different memory modules. A method includes executing the command within the non-volatile memory controller in response to determining that the non-volatile memory controller is capable of satisfying the command.
    Type: Grant
    Filed: September 28, 2011
    Date of Patent: April 1, 2014
    Assignee: Fusion-io, Inc.
    Inventors: David Nellans, Robert Wipfel
  • Publication number: 20140089265
    Abstract: An apparatus, system, and method are disclosed for data management. The method includes writing data in a sequential log structure. The method also includes receiving a time sequence request from a client. The method further includes servicing the time sequence request based on a temporal order of the data in the sequential log structure.
    Type: Application
    Filed: March 14, 2013
    Publication date: March 27, 2014
    Applicant: FUSION-IO. INC.
    Inventors: Nisha Talagala, Swaminathan Sundararaman, Sriram Subramanian, James Peterson, David Flynn
  • Patent number: 8671249
    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: Grant
    Filed: October 6, 2011
    Date of Patent: March 11, 2014
    Assignee: Fusion-io, Inc.
    Inventors: Nisha Talagala, James Peterson
  • Publication number: 20140059406
    Abstract: Apparatuses, systems, methods, and computer program products are disclosed for reduced level cell solid-state storage. A method includes determining that an erase block of a non-volatile storage device is to operate in a reduced level cell (RLC) mode. The non-volatile storage device may be configured to store at least three bits of data per storage cell. A method includes instructing the non-volatile storage device to program first and second pages of the erase block with data. A method includes instructing the non-volatile storage device to program a third page of the erase block with a predefined data pattern. Programming of a predefined data pattern may be configured to adjust which abodes of the erase block are available to represent stored user data values.
    Type: Application
    Filed: September 2, 2013
    Publication date: February 27, 2014
    Applicant: Fusion-io, Inc.
    Inventors: Jea Hyun, Ryan Haynes, Charla Mosier, Rick Lucky, Robert Wood
  • Publication number: 20140056068
    Abstract: 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: Application
    Filed: October 30, 2013
    Publication date: February 27, 2014
    Applicant: Fusion-io, Inc.
    Inventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood
  • Patent number: 8661184
    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: Grant
    Filed: December 18, 2012
    Date of Patent: February 25, 2014
    Assignee: Fusion-io, Inc.
    Inventors: Robert Wood, Jea Hyun, Hairong Sun
  • Publication number: 20140025872
    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: Application
    Filed: September 18, 2013
    Publication date: January 23, 2014
    Applicant: FUSION-IO, INC.
    Inventors: David Flynn, Robert Wipfel, David Nellans, John Strasser
  • Publication number: 20140025877
    Abstract: Apparatuses, systems, methods, and computer program products are disclosed. A method includes tracking which portions of data stored in a volatile memory buffer are not yet stored in a non-volatile memory medium. A volatile memory buffer may be accessible using memory semantics. A volatile memory buffer may be associated with logic configured to ensure that the data stored in the volatile memory buffer is non-volatile. A method includes maintaining consistency of data between a volatile memory buffer and a non-volatile memory medium based on tracked portions of the data. A method includes copying at least portions of data not yet stored in a non-volatile memory medium to the non-volatile memory medium in response to a trigger.
    Type: Application
    Filed: September 30, 2013
    Publication date: January 23, 2014
    Applicant: Fusion-io, Inc.
    Inventors: Nisha Talagala, David Flynn
  • Publication number: 20140012940
    Abstract: A virtual machine cache provides for maintaining a working set of the cache during a transfer between virtual machine hosts. In response to the transfer, a previous host retains cache data of the virtual machine, which is provided to the new host of the virtual machine. The cache data may be transferred via a network transfer.
    Type: Application
    Filed: July 3, 2012
    Publication date: January 9, 2014
    Applicant: FUSION-IO, INC.
    Inventors: Vikram Joshi, Yang Luan, Michael F. Brown, Bhavesh Mehta
  • Publication number: 20140013059
    Abstract: A virtual machine cache provides for maintaining a working set of the cache during a transfer between virtual machine hosts. In response to a virtual machine transfer, the previous host of the virtual machine is configured to retain cache data of the virtual machine, which may include both cache metadata and data that has been admitted into the cache. The cache data may be transferred to the destination host via a network (or other communication mechanism). The destination host populates a virtual machine cache with the transferred cache data to thereby reconstruct the working state of the cache.
    Type: Application
    Filed: November 28, 2012
    Publication date: January 9, 2014
    Applicant: Fusion-io, Inc.
    Inventors: Vikram Joshi, Yang Luan, Michael F. Brown, Bhavesh Mehta
  • Publication number: 20140006685
    Abstract: A storage controller is configured to implement an atomic storage operation comprising a plurality of separate storage operations on a non-volatile storage medium. The storage controller may store persistent indicators to identify data that pertains to the atomic storage operation. An invalid shutdown may occur before the atomic storage operation is complete. A restart and recovery operation comprises a first scan of the non-volatile storage medium to identify data of the failed atomic storage operation. A physical trim note is stored on the non-volatile storage medium to identify the data of the failed atomic storage operation. The data may be identified by media address. Storage metadata is reconstructed in a second scan, which excludes the data and/or operations of the failed atomic storage operation.
    Type: Application
    Filed: June 29, 2012
    Publication date: January 2, 2014
    Applicant: FUSION-IO, INC.
    Inventors: James G. Peterson, Ashish Batwara, Nisha Talagala, Michael Zappe
  • Publication number: 20130346793
    Abstract: Apparatuses, systems, methods, and computer program products for auto-commit memory are presented. A monitor module determines that a triggering event for an auto-commit memory has occurred. An identification module identifies a triggered commit action for an auto-commit memory. An auto-commit memory module performs a triggered commit action for an auto-commit memory in response to a triggering event occurring.
    Type: Application
    Filed: August 27, 2013
    Publication date: December 26, 2013
    Applicant: Fusion-io, Inc.
    Inventors: David Flynn, David Nellans, John Strasser, James G. Peterson, Robert Wipfel
  • Publication number: 20130336072
    Abstract: A method for adaptive voltage range management in non-volatile memory is described. The method includes establishing an adaptive voltage range for a memory element of an electronic memory device. The memory element includes at least two states. The adaptive voltage range comprises a lower state and an upper state. The method also includes establishing an adjustment process to implement a first adjustment of an abode characteristic of a first state and to implement a second adjustment of an abode characteristic of a second state in the adaptive voltage range in response to a trigger event, wherein the first adjustment of an abode characteristic of the first state is different from the second adjustment of an abode characteristic of the second state.
    Type: Application
    Filed: June 19, 2012
    Publication date: December 19, 2013
    Applicant: Fusion-io
    Inventors: Robert B. Wood, Jea Woong Hyun, Hairong Sun, Warner Losh, David Flynn
  • Publication number: 20130332660
    Abstract: Apparatuses, systems, methods, and computer program products are disclosed for hybrid checkpointed memory. A method includes referencing data of a range of virtual memory of a host. The referenced data is already stored by a non-volatile medium. A method includes writing, to a non-volatile medium, data of a range of virtual memory that is not stored by the non-volatile medium. A method includes providing access to data of a range of virtual memory from a non-volatile medium using a persistent identifier associated with referenced data and written data.
    Type: Application
    Filed: March 5, 2013
    Publication date: December 12, 2013
    Applicant: FUSION-IO, INC.
    Inventors: Nisha Talagala, Swaminathan Sundararaman, Nick Piggin, Ashish Batwara, David Flynn
  • Publication number: 20130326117
    Abstract: Methods, storage controllers, and systems for grouping data stored on an array of solid-state storage elements are described. One method includes sequentially writing user data to an append point at a head of a log stored in an array of solid-state storage elements. The user data is stored in a plurality of logical erase blocks of the array. The method further includes selecting partially invalidated logical erase blocks of the array based on a characteristic for the partially invalidated logical erase blocks and arranging valid portions of the selected partially invalidated logical erase blocks into groups based on the characteristic. The method further includes writing the groups of valid portions to the log.
    Type: Application
    Filed: June 4, 2012
    Publication date: December 5, 2013
    Applicant: FUSION-IO, INC.
    Inventor: Joshua Aune