Patents Assigned to Fusion-io
-
Publication number: 20130326269Abstract: 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: ApplicationFiled: December 21, 2012Publication date: December 5, 2013Applicant: Fusion-io, Inc.Inventors: Warner Losh, James G. Peterson
-
Publication number: 20130326284Abstract: 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: ApplicationFiled: December 21, 2012Publication date: December 5, 2013Applicant: Fusion-io, Inc.Inventors: Warner Losh, James G. Peterson
-
Patent number: 8601222Abstract: 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: GrantFiled: May 13, 2011Date of Patent: December 3, 2013Assignee: Fusion-io, Inc.Inventors: David Flynn, David Nellans, Xiangyong Ouyang
-
Patent number: 8601211Abstract: 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: GrantFiled: June 4, 2012Date of Patent: December 3, 2013Assignee: Fusion-io, Inc.Inventors: David Flynn, John Strasser, Jonathan Thatcher, Michael Zappe
-
Patent number: 8578127Abstract: 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: GrantFiled: September 9, 2010Date of Patent: November 5, 2013Assignee: Fusion-io, Inc.Inventors: Jonathan Thatcher, David Flynn
-
Publication number: 20130279232Abstract: 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: ApplicationFiled: April 20, 2012Publication date: October 24, 2013Applicant: FUSION-IO, INC.Inventors: David Sharette, Kris Nosack
-
Publication number: 20130275656Abstract: 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: ApplicationFiled: August 20, 2012Publication date: October 17, 2013Applicant: FUSION-IO, INC.Inventors: Nisha Talagala, Swaminathan Sundararaman, Bharath Ramsundar, Ashish Batwara
-
Publication number: 20130275391Abstract: Apparatuses, systems, and methods are disclosed for data expiry. A method includes examining metadata associated with data in a non-volatile recording medium. A method includes expiring data from a non-volatile recording medium in response to metadata indicating that an expiration period for the data has been satisfied.Type: ApplicationFiled: January 23, 2013Publication date: October 17, 2013Applicant: FUSION-IO, INC.Inventors: Ashish Batwara, Swaminathan Sundararaman, James Peterson, Nisha Talagala
-
Patent number: 8533569Abstract: An apparatus, system, and method are disclosed for managing data in a solid-state storage device. A solid-state storage and solid-state controller are included. The solid-state storage controller includes a write data pipeline and a read data pipeline The write data pipeline includes a packetizer and an ECC generator. The packetizer receives a data segment and creates one or more data packets sized for the solid-state storage. The ECC generator generates one or more error-correcting codes (“ECC”) for the data packets received from the packetizer. The read data pipeline includes an ECC correction module, a depacketizer, and an alignment module. The ECC correction module reads a data packet from solid-state storage, determines if a data error exists using corresponding ECC and corrects errors. The depacketizer checks and removes one or more packet headers. The alignment module removes unwanted data, and re-formats the data as data segments of an object.Type: GrantFiled: August 30, 2012Date of Patent: September 10, 2013Assignee: Fusion-io, Inc.Inventors: David Flynn, Bert Lagerstedt, John Strasser, Jonathan Thatcher, Michael Zappe
-
Patent number: 8533406Abstract: 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: GrantFiled: September 7, 2012Date of Patent: September 10, 2013Assignee: Fusion-io, Inc.Inventors: David Flynn, Jonathan Thatcher, Michael Zappe
-
Patent number: 8527841Abstract: A controller is used for an electronic memory device which has multi-level cell (MLC) memory elements. The individual MLC memory elements are 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 using a restricted number of programming states for a single data bit. The restricted number of programming states includes first and second states used to represent a most significant bit (MSB) of the at least two bits of data of the designated programming states.Type: GrantFiled: September 11, 2012Date of Patent: September 3, 2013Assignee: Fusion-Io, Inc.Inventors: Robert Wood, Jea Woong Hyun
-
Patent number: 8527693Abstract: An auto-commit memory is capable of implementing a pre-configured, triggered commit action in response to a failure condition, such as a loss of power, invalid shutdown, fault, or the like. A computing device may access the auto-commit memory using memory access semantics (using a memory mapping mechanism or the like), bypassing system calls typically required in virtual memory operations. Since the auto-commit memory is pre-configured to commit data stored thereon in the event of a failure, users of the auto-commit memory may view these memory semantic operations as being instantly committed. Operations to commit the data are taken out of the write-commit path.Type: GrantFiled: December 13, 2011Date of Patent: September 3, 2013Assignee: Fusion IO, Inc.Inventors: David Flynn, David Nellans, John Strasser, James G. Peterson, Robert Wipfel
-
Publication number: 20130227201Abstract: Apparatuses, systems, methods, and computer program products are disclosed for providing access to auto-commit memory. An auto-commit memory module is configured to cause an auto-commit memory to commit stored data to a non-volatile memory medium in response to a failure condition. A mapping module is configured to determine whether to associate a range of data with the auto-commit memory. A bypass module is configured to service a request for the range of data directly from the auto-commit memory in response to the auto-commit mapping module determining to associate the range of data with the auto-commit memory.Type: ApplicationFiled: March 15, 2013Publication date: August 29, 2013Applicant: FUSION-IO, INC.Inventor: Fusion-io, Inc.
-
Publication number: 20130227236Abstract: Resources of an address space are managed in dynamically sized ranges, extents, sets, and/or blocks. The address space may be divided into regions, each corresponding to a different, respective allocation granularity. Allocating a block within a first region of the address space may comprise allocating a particular number of logical addresses (e.g., a particular range, set, and/or block of addresses), and allocating a block within a different region may comprise allocating a different number of logical addresses. The regions may be configured to reduce the metadata overhead needed to identify free address blocks (and/or maintain address block allocations), while facilitating efficient use of the address space for differently sized data structures.Type: ApplicationFiled: April 17, 2013Publication date: August 29, 2013Applicant: Fusion-io, Inc.Inventor: Fusion-io, Inc.
-
Patent number: 8521915Abstract: An Input/Output (IO) Virtualization (IOV) system provides for sharing of computer peripheral devices between multiple host computers by presenting a single device multiple times to numerous host systems. The IOV system, in coupling or connecting multiple host computers and multiple IO devices, provides IO virtualization and host-to-host communication services to the host computers. The system comprises device interfaces coupled to IO devices, and host interfaces coupled to each of a number of host computers. The IO devices are initialized in a first domain. Each host interface exposes functions of the independent IO devices to the host computer to which it is coupled. Each host computer accesses functions from a host domain that is an independent domain specific to the host computer performing the access. The first domain is different from the host domain.Type: GrantFiled: May 31, 2010Date of Patent: August 27, 2013Assignee: Fusion-io, Inc.Inventors: Karagada R. Kishore, Kiron Malwankar, Peter E. Kirkpatrick
-
Patent number: 8516343Abstract: Apparatuses, systems, and methods are disclosed for retiring storage regions. A determination module (a) determines that data stored in an Error Correcting Code (“ECC”) chunk contains ECC correctable errors, and (b) determines a bit error count for the ECC chunk. The ECC chunk is read from non-volatile solid-state storage media. A threshold module determines if the bit error count satisfies an ECC chunk error threshold. A storage region error module determines if a storage region that contains at least a portion of the ECC chunk satisfies region retirement criteria. The storage region may include a first portion on a first solid-state storage die and a second portion on a second solid-state storage die. A retirement module retires the storage region, including the first portion and the second portion in parallel, in response to the storage region containing at least a portion of the ECC chunk and satisfying the region retirement criteria.Type: GrantFiled: November 10, 2009Date of Patent: August 20, 2013Assignee: Fusion-io, Inc.Inventors: David Flynn, Jonathan Thatcher, Edward Shober
-
Publication number: 20130212321Abstract: Apparatuses, systems, methods, and computer program products are disclosed. A method includes receiving a request to copy data from a first location to a second location. The data may be associated with an identifier known to a client that initiated the request. One of the locations may include an auto-commit buffer of a non-volatile device. An auto-commit buffer may be configured to commit stored data from the auto-commit buffer to a non-volatile medium of a non-volatile device in response to a restart event. A method includes copying the data from the first location to the second location. A method includes preserving the identifier known to the client and an association between the identifier and a location of the data at the second location such that client can retrieve the data based on the identifier known to the client.Type: ApplicationFiled: March 15, 2013Publication date: August 15, 2013Applicant: FUSION-IO, INC.Inventor: Fusion-io, Inc.
-
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: 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