Patents Assigned to Fusion-io
-
Publication number: 20130124791Abstract: An apparatus, system, and method are disclosed for storage space recovery in solid-state storage. A sequential storage module sequentially writes data packets in a storage division. The storage division includes a portion of a solid-state storage. The data packets are derived from an object. The data packets are sequentially stored by order of processing. A storage division selection module selects a storage division for recovery. A data recovery module reads valid data packets from the storage division selected for recovery, queues the valid data packets with other data packets to be written sequentially, and updates an index with a new physical address of the valid data. The index includes a mapping of physical addresses of data packets to object identifiers. A storage division recovery module marks the storage division selected for recovery as available for sequentially writing data packets in response to completing copying valid data from the storage division.Type: ApplicationFiled: December 28, 2012Publication date: May 16, 2013Applicant: Fusion-io, IncInventors: David Flynn, Bert Lagerstedt, John Strasser, Jonathan Thatcher, John Walker, Michael Zappe
-
Patent number: 8443134Abstract: Apparatuses, systems, and methods are disclosed for implementing a cache policy. A method may include determining a risk of data loss on a cache device. The cache device may comprise a non-volatile storage device configured to perform cache functions for a backing store. The cache device may implement a cache policy. A method may include determining that a risk of data loss on the cache devices exceeds a threshold risk level. A method may include implementing a modified cache policy for the cache device in response to the risk of data loss exceeding the threshold risk level. The modified cache policy may reduce the risk of data loss below the threshold level.Type: GrantFiled: September 17, 2010Date of Patent: May 14, 2013Assignee: Fusion-io, Inc.Inventor: David Flynn
-
Patent number: 8443259Abstract: 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: GrantFiled: June 22, 2012Date of Patent: May 14, 2013Assignee: Fusion-io, Inc.Inventors: Jonathan Thatcher, David Flynn, Ethan Barnes, John Strasser, Robert Wood, Michael Zappe
-
Publication number: 20130117503Abstract: 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: ApplicationFiled: December 28, 2012Publication date: May 9, 2013Applicant: FUSION-IO, INC.Inventor: FUSION-IO, INC.
-
Patent number: 8429436Abstract: An apparatus, system, and method are disclosed for managing power consumption in a data storage device. An audit module monitors a power consumption rate of the data storage device relative to a power consumption target. A throttle module adjusts execution of one or more operations on the data storage device in response to the power consumption rate of the data storage device failing to satisfy the power consumption target. A verification module verifies whether the power consumption rate of the data storage device satisfies the power consumption target in response to adjusting the execution of the one or more operations.Type: GrantFiled: September 9, 2010Date of Patent: April 23, 2013Assignee: Fusion-io, Inc.Inventors: Jeremy Fillingim, John Strasser, Jonathan Thatcher
-
Publication number: 20130097369Abstract: 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: ApplicationFiled: December 4, 2012Publication date: April 18, 2013Applicant: FUSION-IO, INC.Inventor: Fusion-io, Inc.
-
Publication number: 20130097367Abstract: 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: ApplicationFiled: October 9, 2012Publication date: April 18, 2013Applicant: Fusion-io, Inc.Inventor: Fusion-io, Inc.
-
Patent number: 8417774Abstract: An apparatus, system, and method are disclosed for a baseboard management controller (BMC) which includes an FPGA with a monitor module for monitoring the operations parameters of a host computer device. In addition, the BMC has a host connector that connects the BMC to the system bus of the host computing device, allowing the BMC access to the computing elements on the host. The host connector has reconfigurable pins with connection configuration controlled by the FPGA. In addition, the BMC has a server with a processor and associated non-volatile memory on board. The operating system provides services to the host computing device and its constituent components, as well as allowing advanced networking and interconnectivity with other BMCs in a management network.Type: GrantFiled: December 6, 2007Date of Patent: April 9, 2013Assignee: Fusion-IO, Inc.Inventors: David Flynn, John Strasser, Jonathan Thatcher
-
Publication number: 20130086303Abstract: An apparatus, system, and method are disclosed for persistently storing data objects. An object store index module maintains an object store. The object store associates each data object of a plurality of data objects with a unique key value. A storage module persists object store data defining the object store to a logical block address of the solid-state storage device in response to an update event. The logical block address is a member of a restricted set of logical block addresses. The logical block address is mapped to a location of the object store data on the solid-state storage device. A read module provides a requested data object from the plurality of data objects to a requesting client in response to receiving a read request for the requested data object from the requesting client. The read request comprises the key value associated with the requested data object.Type: ApplicationFiled: September 30, 2011Publication date: April 4, 2013Applicant: FUSION-IO, INC.Inventors: Jonathan Ludwig, Ethan Barnes, Drex Dixon
-
Patent number: 8412979Abstract: An apparatus, system, and method are disclosed for data storage with progressive redundant array of independent drives (“RAID”). A storage request receiver module, a striping module, a parity-mirror module, and a parity progression module are included. The storage request receiver module receives a request to store data of a file or of an object. The striping module calculates a stripe pattern for the data. The stripe pattern includes one or more stripes, and each stripe includes a set of N data segments. The striping module writes the N data segments to N storage devices. Each data segment is written to a separate storage device within a set of storage devices assigned to the stripe. The parity-mirror module writes a set of N data segments to one or more parity-mirror storage devices within the set of storage devices. The parity progression module calculates a parity data segment on each parity-mirror device in response to a storage consolidation operation, and stores the parity data segments.Type: GrantFiled: July 13, 2011Date of Patent: April 2, 2013Assignee: Fusion-IO, Inc.Inventors: David Flynn, David Atkisson, Jonathan Thatcher, Michael Zappe
-
Patent number: 8412904Abstract: Apparatus, systems, and methods are disclosed for managing concurrent storage requests. A multiple storage request receiver module is configured to recognize at least two storage requests from clients for data in storage devices of a storage device set. The at least two concurrent storage requests address a common portion of data. A sequencer module is configured to determine a first storage request and a second storage request from the concurrent storage requests by way of selection criteria. The sequencer module is configured to ensure completion of the first storage request prior to executing the second storage request by receiving an acknowledgment from each of the storage devices of the storage device set that received portions of the first storage request. The portions may be sent to the storage devices to execute the first storage request.Type: GrantFiled: March 29, 2011Date of Patent: April 2, 2013Assignee: Fusion-Io, Inc.Inventors: David Flynn, Jonathan Thatcher, Michael Zappe
-
Patent number: 8412860Abstract: An Input/Output (IO) Virtualization (IOV) system couples or connects multiple host computers and IO devices to a managed transport fabric to provide IO virtualization. The host computers may run any operating system to provide a virtualized environment for guest operating systems. The host interface to the IOV system is PCI-Express (PCIe). The IO devices are PCIe based to provide maximum compatibility with industry standard devices, but are not so limited. The IOV system comprises a management central processor unit (MCPU) coupled to transport fabric. The IOV system comprises device interfaces coupled to the transport fabric and to independent input/output (IO) devices. Each device interface couples to the IO device of the independent IO devices. The IOV system comprises host interfaces coupled to the transport fabric. Each host interface couples to a host computer of the independent host computers and exposes functions of the independent IO devices to the host computer.Type: GrantFiled: March 31, 2010Date of Patent: April 2, 2013Assignee: Fusion-IO, Inc.Inventors: Karagada R. Kishore, Kiron Malwankar, Peter E. Kirkpatrick
-
Patent number: 8412978Abstract: An apparatus, system, and method are disclosed for managing data storage. The method includes determining that an error correcting code (ECC) block comprises uncorrectable errors. The ECC block is stored across a plurality of memory devices. The method includes iteratively substituting replacement data, within data of the ECC block, for individual memory devices of the plurality of memory devices to form substitute ECC blocks until one of the substitute ECC blocks is correctable using the error correcting code for the ECC block. The method includes providing corrected data from the correctable one of the substitute ECC blocks.Type: GrantFiled: May 8, 2012Date of Patent: April 2, 2013Assignee: Fusion-io, Inc.Inventors: David Flynn, Jonathan Thatcher, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
-
Publication number: 20130080732Abstract: 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: ApplicationFiled: September 27, 2012Publication date: March 28, 2013Applicant: FUSION-IO, INC.Inventor: Fusion-io, Inc.
-
Publication number: 20130073821Abstract: A virtual storage layer (VSL) presents logical address space of a non-volatile storage device. The VSL 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 VSL 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 VSL 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: ApplicationFiled: March 19, 2012Publication date: March 21, 2013Applicant: FUSION-IO, INC.Inventors: David Flynn, Robert Wipfel, David Nellans, John Strasser
-
Patent number: 8402201Abstract: An apparatus, system, and method are disclosed for storage space recovery in solid-state storage. A sequential storage module sequentially writes data packets in a storage division. The storage division includes a portion of a solid-state storage. The data packets are derived from an object. The data packets are sequentially stored by order of processing. A storage division selection module selects a storage division for recovery. A data recovery module reads valid data packets from the storage division selected for recovery, queues the valid data packets with other data packets to be written sequentially, and updates an index with a new physical address of the valid data. The index includes a mapping of physical addresses of data packets to object identifiers. A storage division recovery module marks the storage division selected for recovery as available for sequentially writing data packets in response to completing copying valid data from the storage division.Type: GrantFiled: December 6, 2007Date of Patent: March 19, 2013Assignee: Fusion-io, Inc.Inventors: David Flynn, Bert Lagerstedt, John Strasser, Jonathan Thatcher, John Walker, Michael Zappe
-
Publication number: 20130067294Abstract: An apparatus, system, and method are disclosed for a front-end, distributed redundant array of independent drives (“RAID”). A storage request receiver module receives a storage request to store object or file data in a set of autonomous storage devices forming a RAID group. 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. The striping association module calculates a stripe pattern for the data. Each stripe includes N data segments, each associated with N storage devices. The parity-mirror association module associates a set of the N data segments with one or more parity-mirror storage devices. The storage request transmitter module transmits storage requests to each storage device. Each storage request is sufficient to store onto the storage device the associated data segments. The storage requests are substantially free of data.Type: ApplicationFiled: June 4, 2012Publication date: March 14, 2013Applicant: Fusion-io, Inc.Inventors: David Flynn, John Strasser, Jonathan Thatcher, Michael Zappe
-
Publication number: 20130060989Abstract: An apparatus, system, and method are disclosed for data management. The method includes referencing data block usage information provided by way of an interface operable to communicate with a storage controller managing non-volatile storage media. The method also includes identifying to the storage controller one or more blocks for deallocation by the data block usage information.Type: ApplicationFiled: September 7, 2011Publication date: March 7, 2013Applicant: FUSION-IO, INC.Inventor: Josh Aune
-
Patent number: 8392798Abstract: An apparatus, system, and method are disclosed for validating that correct data is read from a storage device. A hash generation module generates a hash value from a logical address of a read request for a data storage device. A read data module reads, from the data storage device, data identified by the read request and a stored hash value stored with the data. The stored hash value was generated from a logical address for data written to the data storage device. A hash check module verifies that the generated hash value matches the stored hash value read from the data storage device.Type: GrantFiled: April 9, 2012Date of Patent: March 5, 2013Assignee: Fusion-IO, Inc.Inventors: David Flynn, Jonathan Thatcher, John Strasser
-
Patent number: 8380915Abstract: An apparatus, system, and method are disclosed to manage solid-state storage media by determining one or more configuration parameters for the solid-state storage media. A media characteristic module references one or more storage media characteristics for a set of storage cells of solid-state storage media. A configuration parameter module determines a configuration parameter for the set of storage cells based on the one or more storage media characteristics. A storage cell configuration module configures the set of storage cells to use the determined configuration parameter.Type: GrantFiled: July 22, 2011Date of Patent: February 19, 2013Assignee: Fusion-IO, Inc.Inventors: Robert Wood, Jea Hyun, Hairong Sun