Patents by Inventor David Flynn

David Flynn has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20140344488
    Abstract: Apparatuses, systems, and methods are disclosed for a virtual channel for data transfers between devices. A method includes presenting an address space for a memory buffer. The address space may be larger than a physical capacity of the memory buffer. A method includes controlling, from a peripheral device, a rate at which a data source transfers data to a memory buffer using a presented address space based on a rate at which a data target transfers data from the memory buffer using the presented address space so that an amount of data stored in the memory buffer remains at or below a physical capacity of the memory buffer.
    Type: Application
    Filed: September 4, 2013
    Publication date: November 20, 2014
    Applicant: Fusion-io, Inc.
    Inventors: David Flynn, Robert Wipfel
  • Patent number: 8873286
    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: Grant
    Filed: December 13, 2013
    Date of Patent: October 28, 2014
    Assignee: Intelligent Intellectual Property Holdings 2 LLC
    Inventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood, Jea Hyun, Hairong Sun
  • Publication number: 20140301447
    Abstract: Methods are provided for reconstructing d-bit samples from coefficients, in an encoded video bit-stream, that had been encoded based on source samples having a bit-depth D, where D>d. A residual process, including inverse-quantization and inverse-transformation processes, is applied to the coefficients to compute (d+1)-bit residual samples. Then a prediction process, including clipping intermediate samples, is applied to the residual samples to compute d-bit reconstructed samples.
    Type: Application
    Filed: April 8, 2013
    Publication date: October 9, 2014
    Applicant: RESEARCH IN MOTION LIMITED
    Inventor: David FLYNN
  • Publication number: 20140301448
    Abstract: Methods are provided for reconstructing d-bit samples from coefficients, in an encoded video bit-stream, that had been encoded based on source samples having a bit-depth D, where D>d. A residual process, including inverse-quantization and inverse-transformation processes, is applied to the coefficients to compute (D+1)-bit residual samples. Then a prediction process, including (i) rounding and/or truncating intermediate samples and (ii) subsequently clipping intermediate samples, is applied to the residual samples to compute d-bit reconstructed samples.
    Type: Application
    Filed: April 8, 2013
    Publication date: October 9, 2014
    Applicant: RESEARCH IN MOTION LIMITED
    Inventor: David FLYNN
  • Patent number: 8854882
    Abstract: Apparatuses, systems, methods, and computer program products are disclosed for configuring storage cells. A method includes detecting a shift in a read voltage level past a read voltage threshold for a set of memory cells of a non-volatile memory medium. A method includes adjusting a read voltage threshold for the set of memory cells by an amount based at least in part on one or more characteristics of the set of memory cells in response to the shift in the read voltage level. A method includes configuring the set of memory cells to use the adjusted read voltage threshold.
    Type: Grant
    Filed: October 30, 2013
    Date of Patent: October 7, 2014
    Assignee: Intelligent Intellectual Property Holdings 2 LLC
    Inventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood
  • Publication number: 20140289447
    Abstract: An apparatus, system, and method are disclosed for storage space recovery. A storage division selection module selects a first storage division for recovery. The first storage division comprises a portion of solid-state storage in a solid-state storage device. A data recovery module reads valid data from the first storage division in response to selecting the first storage division for recovery. The data recovery module stores the valid data in a second storage division of the solid-state storage device. The data recovery module passes the valid data through at least a portion of a write data pipeline for the solid-state storage device without passing the valid data to a host device and/or without routing the valid data outside of a solid-state storage controller for the solid-state storage device.
    Type: Application
    Filed: November 15, 2011
    Publication date: September 25, 2014
    Applicant: FUSION-IO, INC.
    Inventors: David Flynn, Bert Lagerstedt, John Strasser, Jonathan Thatcher, John Walker, Michael Zappe, Stephan Uphoff, Joshua Aune, Kevin Vigor
  • Publication number: 20140269090
    Abstract: An apparatus, system, and method are disclosed for managing erase operations for a data storage medium. A method includes determining whether a use threshold for one or more non-volatile storage cells is satisfied. A method includes performing a default erase operation for the one or more storage cells in response to determining that the use threshold is not satisfied. A method includes performing an extended erase operation for the one or more storage cells in response to determining that the use threshold is satisfied. An extended erase operation may include a greater number of erase pulse iterations than a default erase operation.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 18, 2014
    Applicant: FUSION-IO, INC.
    Inventors: David Flynn, Hairong Sun, Jea Woong Hyun, Robert Wood
  • Publication number: 20140281842
    Abstract: An apparatus, system, and method are disclosed for accessing non-volatile cells. An interface module is configured to receive data for storage on a non-volatile memory medium. The non-volatile memory medium includes an array of cells, and each cell encodes a non-power-of-two number of states, or abodes per cell. A base conversion module is configured to convert the data from a binary representation to a representation in a non-binary base. The non-binary base uses a number of unique digits equal to the non-power-of-two number of abodes per cell. A write module is configured to store the converted data to the array of cells.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Applicant: FUSION-IO, INC.
    Inventors: Robert Wood, David Flynn, Jeremy Fillingim, Warner Losh
  • Publication number: 20140281819
    Abstract: An apparatus, system, and method are disclosed for managing data reliability. A priority module is configured to receive a storage request for a non-volatile memory device. The storage request may include data associated with a priority. The non-volatile memory device includes a plurality of cells, and each cell encodes a plurality of bits. The bits for a cell provide distinct levels of quality of service. A select module is configured to select a bit for storing the data based on the priority of the data and the level of quality of service of the selected bit. A data management module is configured to manage the data to satisfy a write order for the plurality of bits.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 18, 2014
    Applicant: FUSION-IO, INC.
    Inventors: Robert Wood, David Flynn
  • Publication number: 20140258775
    Abstract: Apparatuses, systems, and methods are disclosed for reconfiguring an array of storage elements. A storage element error module is configured to determine that one or more storage elements in an array of storage elements are in error. An array of storage elements stores a first ECC block and first parity data generated from the first ECC block. A data reconfiguration module is configured to generate a second ECC block comprising at least a portion of data of a first ECC block. A new configuration storage module is configured to store a second ECC block and associated second parity data on fewer storage elements than a number of storage elements in an array.
    Type: Application
    Filed: May 23, 2014
    Publication date: September 11, 2014
    Applicant: Fusion-io, Inc.
    Inventors: David Flynn, Jonathan Thatcher, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
  • Patent number: 8832528
    Abstract: In various embodiments, an apparatus, system, and method may increase data integrity in a redundant storage system. In one embodiment, a request is received for data stored at a storage system having a plurality of storage elements, where one or more of the plurality of storage elements include parity information. A determination is made that one of the plurality of storage elements is unavailable, the unavailable storage element being a functional storage element and including at least a portion of the data. Responsive to the determination, the data is reconstructed based on at least a portion of the parity information and data from one or more of the plurality of storage elements other than the unavailable storage element; a response is provided to the request such that the response includes the reconstructed data.
    Type: Grant
    Filed: May 18, 2010
    Date of Patent: September 9, 2014
    Assignee: Fusion-io, Inc.
    Inventors: Jonathan Thatcher, David Flynn, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
  • Patent number: 8825937
    Abstract: Apparatuses, systems, and methods are disclosed for managing contents of a cache. A method includes receiving a read request for data stored in a non-volatile cache. A method includes determining whether a read request satisfies a frequent read threshold for a cache. A method includes writing data of a read request forward on a sequential log-based writing structure of a cache in response to determining that the read request satisfies a frequent read threshold.
    Type: Grant
    Filed: February 25, 2013
    Date of Patent: September 2, 2014
    Assignee: Fusion-io, Inc.
    Inventors: David Atkisson, David Flynn
  • Publication number: 20140237147
    Abstract: A storage module may be configured to service I/O requests according to different persistence levels. The persistence level of an I/O request may relate to the storage resource(s) used to service the I/O request, the configuration of the storage resource(s), the storage mode of the resources, and so on. In some embodiments, a persistence level may relate to a cache mode of an I/O request. I/O requests pertaining to temporary or disposable data may be serviced using an ephemeral cache mode. An ephemeral cache mode may comprise storing I/O request data in cache storage without writing the data through (or back) to primary storage. Ephemeral cache data may be transferred between hosts in response to virtual machine migration.
    Type: Application
    Filed: April 25, 2014
    Publication date: August 21, 2014
    Applicant: FUSION-IO, INC.
    Inventors: VIKRAM JOSHI, Yang Luan, Michael F. Brown, David Flynn, Brent Lim Tze Hao, Jerene Zhe Yang, Prashanth Radhakrishnan
  • Publication number: 20140237159
    Abstract: A virtual storage layer (VSL) for a non-volatile storage device presents a logical address space of a non-volatile storage device to storage clients. Storage metadata assigns logical identifiers in the logical address space to physical storage locations on the non-volatile storage device. Data is stored on the non-volatile storage device in a sequential log-based format. Data on the non-volatile storage device comprises an event log of the storage operations performed on the non-volatile storage device. The VSL presents an interface for requesting atomic storage operations. Previous versions of data overwritten by the atomic storage device are maintained until the atomic storage operation is successfully completed. Data pertaining to a failed atomic storage operation may be identified using a persistent metadata flag stored with the data on the non-volatile storage device. Data pertaining to failed or incomplete atomic storage requests may be invalidated and removed from the non-volatile storage device.
    Type: Application
    Filed: July 28, 2011
    Publication date: August 21, 2014
    Applicant: Fusion-io, Inc.
    Inventors: David Flynn, Stephan Uphoff, Xiangyong Ouyang, David Nellans, Robert Wipfel
  • Patent number: 8804415
    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: Grant
    Filed: June 19, 2012
    Date of Patent: August 12, 2014
    Assignee: Fusion-io, Inc.
    Inventors: Robert B. Wood, Jea Woong Hyun, Hairong Sun, Warner Losh, David Flynn
  • Publication number: 20140223096
    Abstract: An I/O manager may be configured to service I/O requests pertaining to ephemeral data of a virtual machine using a storage device that is separate from and/or independent of a primary storage resource to which the I/O request is directed. Ephemeral data may be removed from ephemeral storage in response to a removal condition and/or trigger, such as a virtual machine reboot. The I/O manager may manage transfers of ephemeral virtual machine data in response to virtual machines migrating between host computing devices. The I/O manager may be further configured to cache virtual machine data, and/or manage shared file data that is common to two or more virtual machines operating on a host computing device.
    Type: Application
    Filed: April 4, 2014
    Publication date: August 7, 2014
    Inventors: Jerene Zhe Yang, Brent Lim Tze Hao, Vikram Joshi, Michael Brown, Prashanth Radhakrishnan, David Flynn, Bhavesh Mehta
  • Publication number: 20140195564
    Abstract: Apparatuses, systems, methods, and computer program products are disclosed for a persistent data structure. A method includes associating a logical identifier with a data structure. A method includes writing data of a data structure to a first region of a volatile memory module. A volatile memory module may be configured to ensure that data is preserved in response to a trigger. A method includes copying data of a data structure from a volatile memory module to a non-volatile storage medium such that the data of the data structure remains associated with a logical identifier.
    Type: Application
    Filed: March 12, 2014
    Publication date: July 10, 2014
    Applicant: Fusion-io, Inc.
    Inventors: Nisha Talagala, Swaminathan Sundararaman, David Flynn
  • Publication number: 20140192862
    Abstract: Methods of encoding and decoding video, in particular chroma components, using filtered predictions, are described. An intra or inter predicted block is first filtered before being used to determine residual data at the encoder or to reconstruct chroma data at the decoder. The filtering tends to be low-pass filtering, which removes high-frequency components from the prediction block. The encoder signals the use of the filter to the decoder by including a filtered-prediction flag for each coding unit, or other region within a picture, that has been subject to prediction filtering. The syntax may provide that only coding units above a threshold size have an associated filtered-prediction flag; smaller coding units are governed by a filtered-prediction flag sent in connection with a higher node in the coding tree block.
    Type: Application
    Filed: January 7, 2013
    Publication date: July 10, 2014
    Applicant: RESEARCH IN MOTION LIMITED
    Inventors: David FLYNN, Dake HE
  • Publication number: 20140195480
    Abstract: Apparatuses, systems, methods, and computer program products are disclosed for persistent memory management. Persistent memory management may include providing a persistent data structure stored at least partially in volatile memory configured to ensure persistence of the data structure in a non-volatile memory medium. Persistent memory management may include replicating a persistent data structure in volatile memory buffers of at least two non-volatile storage devices. Persistent memory management may include preserving a snapshot copy of data in association with completion of a barrier operation for the data. Persistent memory management may include determining which interface of a plurality of supported interfaces is to be used to flush data from a processor complex.
    Type: Application
    Filed: March 12, 2014
    Publication date: July 10, 2014
    Applicant: Fusion-io, Inc.
    Inventors: Nisha Talagala, Swaminathan Sundararaman, David Flynn
  • Publication number: 20140189216
    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: November 22, 2013
    Publication date: July 3, 2014
    Applicant: Fusion-io, Inc.
    Inventors: David Flynn, David Nellans, Xiangyong Ouyang