Patents Assigned to Fusion-io
-
Publication number: 20140281265Abstract: A method includes monitoring a number of read access requests to an address for data stored on a backing store. The method also includes comparing the number of read access requests to a read access threshold. The read access threshold includes a threshold number of read access requests for the address. The method also includes caching data corresponding to a write access request to the address in response to determining that the number of read access requests satisfies the read access threshold.Type: ApplicationFiled: March 15, 2013Publication date: September 18, 2014Applicant: FUSION-IOInventor: David Atkisson
-
Patent number: 8719501Abstract: An apparatus, system, and method are disclosed for caching data on a solid-state storage device. The solid-state storage device maintains metadata pertaining to cache operations performed on the solid-state storage device, as well as storage operations of the solid-state storage device. The metadata indicates what data in the cache is valid, as well as information about what data in the nonvolatile cache has been stored in a backing store. A backup engine works through units in the nonvolatile cache device and backs up the valid data to the backing store. During grooming operations, the groomer determines whether the data is valid and whether the data is discardable. Data that is both valid and discardable may be removed during the grooming operation. The groomer may also determine whether the data is cold in determining whether to remove the data from the cache device. The cache device may present to clients a logical space that is the same size as the backing store.Type: GrantFiled: September 8, 2010Date of Patent: May 6, 2014Assignee: Fusion-ioInventors: David Flynn, John Strasser, Jonathan Thatcher, David Atkisson, Michael Zappe, Joshua Aune, Kevin B. Vigor
-
Publication number: 20140101389Abstract: 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: ApplicationFiled: March 14, 2013Publication date: April 10, 2014Applicant: FUSION-IOInventors: David Nellans, Torben Mathiasen, David Flynn, Nisha Talagala
-
Publication number: 20140092683Abstract: 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: ApplicationFiled: October 2, 2012Publication date: April 3, 2014Applicant: FUSION-IOInventors: Jea Woong Hyun, Barrett Edwards, David Nellans
-
Publication number: 20130336072Abstract: 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: ApplicationFiled: June 19, 2012Publication date: December 19, 2013Applicant: Fusion-ioInventors: Robert B. Wood, Jea Woong Hyun, Hairong Sun, Warner Losh, David Flynn
-
Publication number: 20130205114Abstract: The method includes receiving an object operation from an application at a hardware device manager. The object operation includes an object identifier. The method includes performing the object operation directly on a storage device. A physical address for the object corresponding to the object identifier is mapped directly to the object identifier in an index managed by the hardware device manager.Type: ApplicationFiled: March 15, 2013Publication date: August 8, 2013Applicant: FUSION-IOInventor: FUSION-IO
-
Publication number: 20130205097Abstract: A system and method facilitate processing atomic storage requests. The method includes receiving, from a storage client, an atomic storage request for a first storage device that is incapable of processing atomic write operations. The method also includes processing the atomic storage request at a translation interface. The method also includes storing the atomic storage request in one or more storage operations in a second storage device capable of processing the atomic storage request.Type: ApplicationFiled: March 15, 2013Publication date: August 8, 2013Applicant: FUSION-IOInventor: FUSION-IO
-
Publication number: 20130205085Abstract: A memory device includes a memory array with a plurality of memory elements. Each memory element is configured to store data. The device includes an input/output (I/O) buffer coupled to the memory array. The I/O buffer is configured to receive data from an I/O interface of a memory device controller and write the data to the memory array. The device includes a memory control manager coupled to the memory array. The memory control manager is configured to pause a program operation to the memory array in response to receiving a pause command. The memory control manager is also configured to resume the program operation in response to receiving a resume command.Type: ApplicationFiled: March 15, 2013Publication date: August 8, 2013Applicant: FUSION-IOInventor: FUSION-IO
-
Publication number: 20130198451Abstract: An apparatus includes an input/output (I/O) interface configured to couple a controller to an I/O buffer of a memory device. The controller includes an erase module coupled to the I/O interface. The erase module is configured to issue an instruction to the memory device to erase data from the memory device. The controller includes an erase suspend module coupled to the I/O interface. The erase suspend module is configured to determine that an erase operation executing within the electronic memory device satisfies a suspend policy in response to receiving a memory access request to perform an operation on the memory device on which the erase operation is executing. The erase suspend module is further configured to issue a suspend command to the memory device to suspend the erase operation.Type: ApplicationFiled: March 13, 2013Publication date: August 1, 2013Applicant: FUSION-IOInventor: Fusion-io
-
Publication number: 20130039141Abstract: An apparatus, system, and method are disclosed for power reduction management. The method includes determining that a power source has failed to supply electric power above a predefined threshold. The method includes terminating one or more non-essential in-process operations on a nonvolatile memory device during a power hold-up time. The method includes executing one or more essential in-process operations on the nonvolatile memory device within the power hold-up time.Type: ApplicationFiled: October 15, 2012Publication date: February 14, 2013Applicant: FUSION-IOInventor: FUSION-IO
-
Publication number: 20130024460Abstract: Methods for indexing data of an append-only, log-based structure include writing a plurality of data packets to a storage medium by sequentially appending the data packets to a log-based structure of the storage medium, the data packets associated with different logical identifiers belonging to a logical address space that is independent of physical storage locations on the storage media. The methods may further include writing an index segment associated with the plurality of data packets to the log-based structure, the index segment comprising index entries for determining the logical identifiers of the data packets and recording, on the storage media, information indicating where the index segment is written on the storage medium.Type: ApplicationFiled: June 22, 2012Publication date: January 24, 2013Applicant: FUSION-IOInventors: James Peterson, Evan Orme, Kevin Vigor, Michael Zappe
-
Publication number: 20130003457Abstract: A controller is used for an electronic memory device which has multi-level cell (MLC) memory elements. Each MLC memory element is capable of storing at least two bits. The controller includes a physical interface to couple the controller to the electronic memory device. The controller also includes a processing unit coupled to the physical interface. The processing unit operates the electronic memory device in a single-level cell (SLC) mode using a restricted number of programming states for a single data bit. The restricted number of programming states includes a first state which is an erase state. The restricted number of programming states also includes a second state, other than the erase state, which is closest to a natural threshold voltage of the MLC memory elements.Type: ApplicationFiled: September 11, 2012Publication date: January 3, 2013Applicant: FUSION-IOInventors: Robert Wood, Jea Woong Hyun
-
Publication number: 20120266046Abstract: 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: ApplicationFiled: June 22, 2012Publication date: October 18, 2012Applicant: FUSION-IOInventors: Jonathan Thatcher, David Flynn, Ethan Barnes, John Strasser, Robert Wood, Michael Zappe
-
Patent number: 8266503Abstract: A controller is used for an electronic memory device which has multi-level cell (MLC) memory elements. Each MLC memory element is capable of storing at least two bits. The controller includes a physical interface to couple the controller to the electronic memory device. The controller also includes a processing unit coupled to the physical interface. The processing unit operates the electronic memory device in a single-level cell (SLC) mode using a restricted number of programming states for a single data bit. The restricted number of programming states includes a first state which is an erase state. The restricted number of programming states also includes a second state, other than the erase state, which is closest to a natural threshold voltage of the MLC memory elements.Type: GrantFiled: July 1, 2011Date of Patent: September 11, 2012Assignee: Fusion-ioInventors: Robert Wood, Jea Woong Hyun
-
Publication number: 20120203986Abstract: 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: ApplicationFiled: February 13, 2012Publication date: August 9, 2012Applicant: FUSION-IOInventors: John Strasser, David Flynn, Robert Wood