Patents Assigned to Fusion-IO, Inc.
  • 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: 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
  • 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
  • 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: 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: 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: 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: 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: 20130326284
    Abstract: A storage controller may be configured to assess the reliability of a solid-state storage medium. The storage controller may be further configured to project, forecast, and/or estimate storage reliability at a future time. The projection may be based on a currently reliability metric of the storage and a reliability model. The portions or sections of the solid-state storage media may be retired in response the projected reliability metric failing to satisfy a reliability threshold. The reliability threshold may be based on data correction and/or reconstruction characteristics. The projected reliability metrics of a plurality of erase blocks of a storage division may be combined, and one or more of the erase blocks may be retired in response to determining that the combined reliability metric projection fails to satisfy the reliability threshold.
    Type: Application
    Filed: December 21, 2012
    Publication date: December 5, 2013
    Applicant: Fusion-io, Inc.
    Inventors: Warner Losh, James G. Peterson
  • Publication number: 20130326269
    Abstract: A storage controller is configured to determine a reliability metric of a storage division of a solid-state storage medium based on one or more test read operations. The storage division may be retired based on the reliability metric and/or the age of the data on the storage division. A storage division comprising aged data may be marked for post-write reliability testing, which may comprise determining a post-write reliability metric in response to grooming and/or reprogramming the storage division. The storage controller may project the reliability metric of the storage division to the end of a predetermined data retention period. Portions of a storage divisions that exhibit poor reliability may be removed to improve the reliability of the storage division without taking the entire storage division out of service.
    Type: Application
    Filed: December 21, 2012
    Publication date: December 5, 2013
    Applicant: Fusion-io, Inc.
    Inventors: Warner Losh, James G. Peterson
  • 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
  • Patent number: 8601211
    Abstract: Embodiments are disclosure relating to a front-end controller in a storage system. In one embodiment, a storage request is received at a storage device in a group of storage devices. The storage request identifies one or more data segments of a data stripe pattern assigned to the storage device by a front-end controller of the group. In such an embodiment, the storage device communicates the identified data segments with a storage client independently of the front-end controller. In some embodiments, the storage system includes a front-end, distributed redundant array of independent drives (RAID). In one such embodiment, the storage devices independently receive storage requests from a client over a network, and one or more of the storage devices are designated as parity-mirror storage devices for a stripe.
    Type: Grant
    Filed: June 4, 2012
    Date of Patent: December 3, 2013
    Assignee: Fusion-io, Inc.
    Inventors: David Flynn, John Strasser, Jonathan Thatcher, Michael Zappe
  • Patent number: 8601222
    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: Grant
    Filed: May 13, 2011
    Date of Patent: December 3, 2013
    Assignee: Fusion-io, Inc.
    Inventors: David Flynn, David Nellans, Xiangyong Ouyang
  • Patent number: 8578127
    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: Grant
    Filed: September 9, 2010
    Date of Patent: November 5, 2013
    Assignee: Fusion-io, Inc.
    Inventors: Jonathan Thatcher, David Flynn
  • Publication number: 20130279232
    Abstract: The apparatus to transfer heat from memory components includes a first non-volatile memory component and a second non-volatile memory component. The apparatus includes a heat spreading material in thermal communication with the first non-volatile memory component and the second non-volatile memory component. The heat spreading material is configured to transfer heat from the first non-volatile memory component and the second non-volatile memory component.
    Type: Application
    Filed: April 20, 2012
    Publication date: October 24, 2013
    Applicant: FUSION-IO, INC.
    Inventors: David Sharette, Kris Nosack
  • Publication number: 20130275656
    Abstract: Apparatuses, systems, and methods are disclosed for a key-value store. A method includes encoding a key of a key-value pair into a logical address of a sparse logical address space for a non-volatile medium. A method includes mapping a logical address to a physical location in the non-volatile medium. A method includes storing a value of a key-value pair at a physical location.
    Type: Application
    Filed: August 20, 2012
    Publication date: October 17, 2013
    Applicant: FUSION-IO, INC.
    Inventors: Nisha Talagala, Swaminathan Sundararaman, Bharath Ramsundar, Ashish Batwara