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: 20160140004
    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: January 13, 2016
    Publication date: May 19, 2016
    Inventors: David Flynn, David Nellans, Xiangyong Ouyang
  • Patent number: 9323465
    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: Grant
    Filed: February 20, 2015
    Date of Patent: April 26, 2016
    Assignee: SANDISK TECHNOLOGIES, INC.
    Inventors: David Flynn, Robert Wipfel, David Nellans, John Strasser
  • Patent number: 9305610
    Abstract: 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: Grant
    Filed: October 15, 2012
    Date of Patent: April 5, 2016
    Assignee: SanDisk Technologies, Inc.
    Inventors: Lance L. Smith, Jeremy Fillingim, David Flynn, Bill Inskeep, John Strasser, Jonathan Thatcher
  • Patent number: 9306599
    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: Grant
    Filed: May 23, 2014
    Date of Patent: April 5, 2016
    Assignee: INTELLIGENT INTELLECTUAL PROPERTY HOLDINGS 2 LLC
    Inventors: David Flynn, Jonathan Thatcher, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
  • Patent number: 9304853
    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: September 8, 2014
    Date of Patent: April 5, 2016
    Assignee: INTELLIGENT INTELLECTUAL PROPERTY HOLDINGS 2 LLC
    Inventors: Jonathan Thatcher, David Flynn, Joshua Aune, Jeremy Fillingim, Bill Inskeep, John Strasser, Kevin Vigor
  • Publication number: 20160092135
    Abstract: An adaptive logical storage element comprises a plurality of solid-state storage elements accessible in parallel. The logical storage element includes logical storage units, which may include logical page, logical storage divisions (erase blocks), and so on. Each logical storage unit comprises a plurality of physical storage units. A logical storage unit may include one or more physical storage units that are out-of-service (OOS). The OOS status of logical storage units is tracked by OOS metadata. When data is stored on the logical storage element, padding data is provided to physical storage units that are OOS, and valid and/or parity data is provided to in-service physical storage units. A write data pipeline accesses the OOS metadata to insert padding data, and a read data pipeline accesses the OOS metadata to strip padding data.
    Type: Application
    Filed: December 8, 2015
    Publication date: March 31, 2016
    Inventors: John Strasser, David Flynn, Bill Inskeep
  • Patent number: 9292431
    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: November 5, 2013
    Date of Patent: March 22, 2016
    Assignee: Longitude Enterprise Flash S.a.r.l.
    Inventors: Jonathan Thatcher, David Flynn
  • Patent number: 9264724
    Abstract: Methods of encoding and decoding sign information for non-zero coefficients in a block of video with transform skipped. The methods include context-based coding of a flag that signals if all signs are the same in the block; using a finite state machine to determine contexts for coding of sign information, some of which may be context-based coded and some of which may be non-context-based coded; context-based coding of sign information wherein the context is based upon the signs of neighbouring coefficients; context-based coding of sign information, where the sign information is a prediction of the sign; and using a dedicated context to code signs with a sign flag indicating whether signs in a transform skipping block have been inverted to preserve a dominant sign bias.
    Type: Grant
    Filed: October 11, 2013
    Date of Patent: February 16, 2016
    Assignee: BlackBerry Limited
    Inventors: Jing Wang, Dake He, David Flynn
  • Patent number: 9263102
    Abstract: Apparatuses, systems, and methods are disclosed for executing data transformations for a data storage device. A storage controller module controls a storage operation for a set of data within a data storage device. A transformation module determines to apply a data transformation to the set of data in response to a transformation indicator. A processing module applies the data transformation to the set of data internally on the data storage device prior to completing the storage operation.
    Type: Grant
    Filed: September 28, 2011
    Date of Patent: February 16, 2016
    Assignee: SanDisk Technologies, Inc.
    Inventors: David Flynn, David Nellans, Robert Wipfel
  • Publication number: 20160041902
    Abstract: Apparatuses, systems, methods, and computer program products are disclosed for destaging cached data. A method includes caching write in a nonvolatile solid-state cache by appending the data to a log of the nonvolatile solid-state cache. The log includes a sequential, log-based structure preserved in the nonvolatile solid-state cache. A method includes destaging at least a portion of the data from the nonvolatile solid-state cache to the backing store in a cache log order. The cache log order comprises an order in which the data was appended to the log of the nonvolatile solid-state cache.
    Type: Application
    Filed: August 10, 2015
    Publication date: February 11, 2016
    Inventors: David Atkisson, David Flynn
  • Patent number: 9251058
    Abstract: 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: Grant
    Filed: December 28, 2012
    Date of Patent: February 2, 2016
    Assignee: SanDisk Technologies, Inc.
    Inventors: David Nellans, Anirudh Badam, David Flynn, James Peterson
  • Patent number: 9251062
    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: November 22, 2013
    Date of Patent: February 2, 2016
    Assignee: Intelligent Intellectual Property Holdings 2 LLC
    Inventors: David Flynn, David Nellans, Xiangyong Ouyang
  • Patent number: 9250817
    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: Grant
    Filed: September 18, 2013
    Date of Patent: February 2, 2016
    Assignee: SANDISK TECHNOLOGIES, INC.
    Inventors: David Flynn, Robert Wipfel, David Nellans, John Strasser
  • Publication number: 20160018991
    Abstract: An apparatus, system, and method are disclosed for coordinating storage requests in a multi-processor/multi-thread environment. An append/invalidate module generates a first append data storage command from a first storage request and a second append data storage command from a second storage request. The storage requests overwrite existing data with first and second data including where the first and second data have at least a portion of overlapping data. The second storage request is received after the first storage request. The append/invalidate module updates an index by marking data being overwritten as invalid. A restructure module updates the index based on the first data and updates the index based on the second data. The updated index is organized to indicate that the second data is more current than the first data regardless of processing order. The modules prevent access to the index until the modules have completed updating the index.
    Type: Application
    Filed: September 25, 2015
    Publication date: January 21, 2016
    Inventors: David Flynn, Michael Zappe, Jonathan Thatcher
  • Publication number: 20160011972
    Abstract: A storage layer for a non-volatile storage device presents a large, logical address space having a logical capacity that may exceed the storage capacity of the non-volatile storage device. The storage layer implements persistent storage operations within the logical address space; storage operations performed within the logical address space may be persisted on the non-volatile storage device. The storage layer maintains storage metadata to allocate ranges of the logical address space to storage entities. The storage layer provides for allocation of contiguous logical address ranges, which may be implemented by segmenting logical identifiers into a first portion referencing storage entities, and a second portion referencing storage entity offsets. The storage layer persists data on the non-volatile storage device in a sequential, log-based format.
    Type: Application
    Filed: August 31, 2015
    Publication date: January 14, 2016
    Inventors: David Flynn, Jonathan Thatcher
  • Publication number: 20150378893
    Abstract: Apparatuses, systems, and methods are disclosed for managing cache pools. A storage request module monitors storage requests received by a cache. The storage requests include read requests and write requests. A read pool module adjusts a size of a read pool of the cache to increase a read hit rate of the storage requests. A dirty write pool module adjusts a size of a dirty write pool of the cache to increase a dirty write hit rate of the storage requests.
    Type: Application
    Filed: August 25, 2015
    Publication date: December 31, 2015
    Inventors: David Atkisson, David Flynn
  • Patent number: 9223662
    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: Grant
    Filed: August 27, 2013
    Date of Patent: December 29, 2015
    Assignee: SanDisk Technologies, Inc.
    Inventors: David Flynn, David Nellans, John Strasser, James G. Peterson, Robert Wipfel
  • Patent number: 9213594
    Abstract: An adaptive logical storage element comprises a plurality of solid-state storage elements accessible in parallel. The logical storage element includes logical storage units, which may include logical page, logical storage divisions (erase blocks), and so on. Each logical storage unit comprises a plurality of physical storage units. A logical storage unit may include one or more physical storage units that are out-of-service (OOS). The OOS status of logical storage units is tracked by OOS metadata. When data is stored on the logical storage element, padding data is provided to physical storage units that are OOS, and valid and/or parity data is provided to in-service physical storage units. A write data pipeline accesses the OOS metadata to insert padding data, and a read data pipeline accesses the OOS metadata to strip padding data.
    Type: Grant
    Filed: January 19, 2012
    Date of Patent: December 15, 2015
    Assignee: Intelligent Intellectual Property Holdings 2 LLC
    Inventors: John Strasser, David Flynn, Bill Inskeep
  • Patent number: 9208897
    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: Grant
    Filed: September 2, 2014
    Date of Patent: December 8, 2015
    Assignee: Intelligent Intellectual Property Holdings 2 LLC
    Inventors: John Strasser, David Flynn, Jeremy Fillingim, Robert Wood
  • Patent number: 9208071
    Abstract: 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 a volatile memory buffer to commit data from the volatile memory buffer to a non-volatile memory medium in response to a trigger. A mapping module is configured to determine whether to associate a range of data with the volatile memory buffer. A bypass module is configured to service a request for the range of data directly from the volatile memory buffer in response to the mapping module determining to associate the range of data with the volatile memory buffer.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: December 8, 2015
    Assignee: SanDisk Technologies, Inc.
    Inventors: Nisha Talagala, David Flynn