Patents by Inventor Joseph Blount

Joseph Blount 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).

  • Patent number: 9990261
    Abstract: Systems and techniques for recovering a storage array are disclosed. These systems and techniques include determining a size corresponding to a storage stripe of the storage array. Pieces assigned to the storage stripe are identified. A storage configuration corresponding to the pieces assigned to the storage stripe is detected. Ordinal information and parity information are determined corresponding to the pieces assigned to the storage stripe. The size determined corresponding to the storage stripe, identification of the pieces assigned to the storage stripe, the storage configuration, the ordinal information, and the parity information is stored in a data store to reconstruct lost or corrupted metadata corresponding to the storage array.
    Type: Grant
    Filed: April 29, 2016
    Date of Patent: June 5, 2018
    Assignee: NETAPP, INC.
    Inventors: Joseph Blount, William P. Delaney, Charles Binford, Joseph Moore, Randolph Sterns
  • Publication number: 20180107408
    Abstract: A system shares I/O load between controllers in a high availability system. For writes, a controller determines based on one or more factors which controller will flush batches of data from write-back cache to better distribute the I/O burden. The determination occurs after the local storage controller caches the data, mirrors it, and confirms write complete to the host. Once it is determined which storage controller will flush the cache, the flush occurs and the corresponding metadata at a second layer of indirection is updated by that determined storage controller (whether or not it is identified as the owner of the corresponding volume to the host, while the volume owner updates metadata at a first layer of indirection). For a host read, the controller that owns the volume accesses the metadata from whichever controller(s) flushed the data previously and reads the data, regardless of which controller had performed the flush.
    Type: Application
    Filed: April 25, 2017
    Publication date: April 19, 2018
    Inventors: Randolph Sterns, Charles Binford, Joseph Blount, Joseph Moore, William P. Delaney
  • Publication number: 20180074723
    Abstract: A method, a computing device, and a non-transitory machine-readable medium for allocating data compression activities in a storage system are provided. A method includes tracking, by a storage controller, computing resources corresponding to a storage server. The storage controller processes one or more host read requests to access data requested by one or more hosts, the processing of the one or more host read requests including decompressing the data requested by the one or more hosts from the storage server and providing the decompressed data to the one or more hosts. The storage controller determines an amount of available computing resources after processing the one or more host read requests. Based on the amount of available computing resources, the storage controller performs inline compression of a first portion of host write requests and background compression of a second portion of the host write requests.
    Type: Application
    Filed: April 26, 2017
    Publication date: March 15, 2018
    Inventors: William P. Delaney, Keith Moyer, Randolph Sterns, Joseph Blount, Charles Binford, Joseph Moore
  • Patent number: 9830107
    Abstract: A system and method for optimizing the estimation and management of wear and replacement for an array of storage devices in a storage system is disclosed. An input/output workload is monitored over part of a service period for the array. An expected wear rate is determined, based on the workload and an endurance of the storage devices. A target wear rate is calculated for the service period and each of one or more contingency periods, based on the expected wear rate and a specified risk tolerance for each period. In response to determining that the expected wear rate exceeds the target wear rate calculated for at least one of the service period and the contingency period(s), an adjusted wear rate is calculated for the array of storage devices to match the target wear rate. A replacement schedule is generated for the array based on the adjusted wear rate.
    Type: Grant
    Filed: April 29, 2016
    Date of Patent: November 28, 2017
    Assignee: NetApp, Inc.
    Inventor: Joseph Blount
  • Publication number: 20170316041
    Abstract: A method for mapping a first address space to a second address space is provided. In some embodiments, the method includes creating a first array of lookup entries and one or more second arrays of metadata entries for maintaining an ordering among the lookup entries using a tree structure. Each of the metadata entries includes one or more data index values identifying a corresponding one of the lookup entries by its position in the first array and one or more metadata index values identifying a corresponding one of the metadata entries by its position in one of the one or more second arrays. The method further includes receiving a request including a lookup value, traversing the tree structure to locate a lookup entry corresponding to the lookup value, and when the lookup value is located among the lookup entries, using the located lookup entry to process the request.
    Type: Application
    Filed: April 29, 2016
    Publication date: November 2, 2017
    Inventors: William P. Delaney, Joseph Blount, Charles Binford, Joseph Moore, Randolph Sterns, Jeff Stilger
  • Publication number: 20170315924
    Abstract: A method, a computing device, and a non-transitory machine-readable medium for allocating memory to data structures that map a first address space to a second is provided. In some embodiments, the method includes identifying, by a storage system, a pool of memory resources to allocate among a plurality of address maps. Each of the plurality of address maps includes at least one entry that maps an address in a first address space to an address in a second address space. An activity metric is determined for each of the plurality of address maps, and a portion of the pool of memory is allocated to each of the plurality of address maps based on the respective activity metric. The allocating of the portion of the memory pool to a first map may be performed in response to a merge operation being performed on the first map.
    Type: Application
    Filed: April 29, 2016
    Publication date: November 2, 2017
    Inventors: Joseph Blount, William P. Delaney, Charles Binford, Joseph Moore, Randolph Sterns
  • Publication number: 20170315753
    Abstract: A system and method for optimizing the estimation and management of wear and replacement for an array of storage devices in a storage system is disclosed. An input/output workload is monitored over part of a service period for the array. An expected wear rate is determined, based on the workload and an endurance of the storage devices. A target wear rate is calculated for the service period and each of one or more contingency periods, based on the expected wear rate and a specified risk tolerance for each period. In response to determining that the expected wear rate exceeds the target wear rate calculated for at least one of the service period and the contingency period(s), an adjusted wear rate is calculated for the array of storage devices to match the target wear rate. A replacement schedule is generated for the array based on the adjusted wear rate.
    Type: Application
    Filed: April 29, 2016
    Publication date: November 2, 2017
    Inventor: Joseph Blount
  • Publication number: 20170315888
    Abstract: Systems and techniques for recovering a storage array are disclosed. These systems and techniques include determining a size corresponding to a storage stripe of the storage array. Pieces assigned to the storage stripe are identified. A storage configuration corresponding to the pieces assigned to the storage stripe is detected. Ordinal information and parity information are determined corresponding to the pieces assigned to the storage stripe. The size determined corresponding to the storage stripe, identification of the pieces assigned to the storage stripe, the storage configuration, the ordinal information, and the parity information is stored in a data store to reconstruct lost or corrupted metadata corresponding to the storage array.
    Type: Application
    Filed: April 29, 2016
    Publication date: November 2, 2017
    Inventors: Joseph Blount, William P. Delaney, Charles Binford, Joseph Moore, Randolph Sterns
  • Publication number: 20170308303
    Abstract: A method includes: storing a first data extent on a physical medium, wherein the physical medium is divided into a plurality of storage blocks, wherein each of the storage blocks has a size that is different than a size of the first data extent, further wherein the first data extent is stored to a first block of the plurality of storage blocks; generating a descriptor for the first data extent, wherein the descriptor indicates that the first data extent starts within the first block of the plurality of blocks and indicates an offset from the beginning of the first block at which the first data extent starts; and storing the descriptor within the first block.
    Type: Application
    Filed: April 21, 2016
    Publication date: October 26, 2017
    Inventors: Randolph Sterns, Charles Binford, William P. Delaney, Joseph Blount, Reid Kaufmann, Joseph Moore
  • Publication number: 20170300250
    Abstract: A system for tracking metadata changes and recovering from system interruptions is provided. With host I/O, corresponding metadata incremental changes are aggregated and stored in a write-ahead log before being performed to their in-memory buffers. As those buffers are flushed, checkpoints are created and stored in the log. As the log wraps to the start, older entries are overwritten after they are freed from any remaining dependencies by newer checkpoints. If metadata entities have not created new checkpoints, they are instructed to in order to free up space for new aggregated batches and checkpoints. After an interruption, the wrap point is located in the log. From the wrap point, the log is scanned backwards to provide checkpoints to metadata entities. The log is then scanned forwards to perform changes specified by aggregated batches. The metadata entities' volatile memory states are recovered to what they were before the interruption.
    Type: Application
    Filed: April 18, 2016
    Publication date: October 19, 2017
    Inventors: Randolph Sterns, Charles Binford, William Delaney, Joseph Blount, Keith Moyer, Joseph Moore
  • Publication number: 20170220623
    Abstract: A method, a computing device, and a non-transitory machine-readable medium for assessing data segments for garbage collection is provided. In some embodiments, the method includes identifying a plurality of data segments. A first rate at which data within each of the plurality of data segments has been invalidated since a first point in time is determined, and a second rate at which data within each of the plurality of data segments has been invalidated since a second point in time subsequent to the first point in time is determined. The second rate is compared to the first rate for each of the plurality of data segments, and a garbage collection score is assigned to the respective data segment based on the comparison. The garbage collection score may be further based on a utilization of the respective data segment and/or an age of the respective data segment.
    Type: Application
    Filed: January 29, 2016
    Publication date: August 3, 2017
    Inventors: Joseph Blount, Joseph Moore, William P. Delaney, Randolph Sterns
  • Publication number: 20170220249
    Abstract: Embodiments of the present disclosure enable high availability and performance in view of storage controller failure. A storage system includes three or more controllers that may be distributed in a plurality of enclosures. The controllers are in high availability pairs on a per volume basis, with volumes and corresponding mirror targets distributed throughout the storage system. When a controller fails, other controllers in the system detect the failure and assess whether one or more volumes and/or mirror targets are affected. If no volumes/mirror targets are affected, then write-back caching continues. If volume ownership is affected, then a new volume owner is selected so that write-back caching may continue. If mirror target ownership is affected, then a new mirror target is selected so that write-back caching may continue. As a result, write-back caching availability is increased to provide low latency and high throughput in degraded mode as in other modes.
    Type: Application
    Filed: January 29, 2016
    Publication date: August 3, 2017
    Inventors: Mahmoud K. Jibbe, Jeff Hudson, Joseph Blount, Keith Holt
  • Publication number: 20170212678
    Abstract: A system and method for improving storage system performance by reducing or avoiding load spike amplification when performing garbage collection is disclosed. A storage controller in a storage system tracks system load including write load and read load, as well as available free segments. The storage controller uses these tracked values as inputs and, with these inputs, generates a garbage collection rate. Where read load is included, a scaled portion of the read load is taken into consideration so that, as the number of free segments nears the minimum amount desired and to prevent garbage collecting too slowly, the read load is gradually excluded from the garbage collection rate determination. The garbage collection rate is therefore responsive to system load so that, in times of high system load, the rate reduces as much as is safe so that the write load takes priority with computing resources of the storage controller.
    Type: Application
    Filed: January 22, 2016
    Publication date: July 27, 2017
    Inventor: Joseph Blount
  • Patent number: 8121993
    Abstract: A data sharing method using fingerprinted data objects for sharing data among untrusted network devices. Each peer device is adapted for storing a plurality of data objects, and a fingerprint generator is used to generate a fingerprint for each stored data object available for sharing or for recovery. The fingerprints are stored in a local data store, and a data manager running on one of the computer devices retrieves from another of the computer devices a copy of one of its data objects through the use of the associated fingerprints. The fingerprints include a hash value output from a strong hashing algorithm. The retrieving includes transmitting query messages with the fingerprints of the needed data objects to the networked, peer devices and then verifying the integrity of received data objects by generating a fingerprint of the received data objects that can be compared with the ones provided in the queries.
    Type: Grant
    Filed: October 28, 2009
    Date of Patent: February 21, 2012
    Assignee: Oracle America, Inc.
    Inventors: Joseph Blount, Charles Binford, Stacy Lee Maydew
  • Publication number: 20110099200
    Abstract: A data sharing method using fingerprinted data objects for sharing data among untrusted network devices. Each peer device is adapted for storing a plurality of data objects, and a fingerprint generator is used to generate a fingerprint for each stored data object available for sharing or for recovery. The fingerprints are stored in a local data store, and a data manager running on one of the computer devices retrieves from another of the computer devices a copy of one of its data objects through the use of the associated fingerprints. The fingerprints include a hash value output from a strong hashing algorithm. The retrieving includes transmitting query messages with the fingerprints of the needed data objects to the networked, peer devices and then verifying the integrity of received data objects by generating a fingerprint of the received data objects that can be compared with the ones provided in the queries.
    Type: Application
    Filed: October 28, 2009
    Publication date: April 28, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: JOSEPH BLOUNT, CHARLES BINFORD, STACY LEE MAYDEW
  • Patent number: 7363457
    Abstract: A method, and associated system, for delivering data services such as virtualization to legacy devices. The method involves reserving a metadata region in memory of a storage resource in a storage pool that is controlled by (or is captive to) a data services platform. The metadata region includes a global set containing information used by the data services platform to manage the data services, including virtualization of volumes throughout the storage pool. The method includes locating an available legacy storage device and retrieving element information for the legacy storage device. A volume or virtualized legacy volume is built based on the collected element information, and the global set in the metadata region is update to include volume information for the legacy storage device. The legacy storage device includes memory that stores legacy or user data, but the steps of the method are performed to leave the legacy data unchanged.
    Type: Grant
    Filed: July 21, 2005
    Date of Patent: April 22, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Rodney A. Dekoning, David A. Kopper, Joseph Blount, Ronald D. Proulx, Mark S. Vetter
  • Patent number: 4511063
    Abstract: An apparatus for maintaining a continuous supply of cementitious material such as stucco or plaster on the hawk of a workman skilled in applying said materials to surfaces with a trowel. Cementitious material stored in bulk in a hopper remote from the workplace is pumped from said hopper through hose to the hawk of the skilled workman. The flowing lines are free of restrictions or valves and the flow is metered at its source by means of a radio transmitter controlled by the workman applying the cementitious material. Said radio transmissions activate the flow according to the needs of the workman.
    Type: Grant
    Filed: June 6, 1983
    Date of Patent: April 16, 1985
    Assignee: The Hoddie Corporation, Inc.
    Inventors: Glenn C. Krause, Joseph Blounts