Patents by Inventor David W. Harvey

David W. Harvey 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: 10303396
    Abstract: Described are techniques for processing read and write requests in a system having a NUMA (non-uniform memory access) configuration. Such techniques may include receiving, at a front end adapter of the system, a write request, to write first data to a first storage device, storing a first copy of the first data in first memory local to a first domain, copying, using a first inter-storage processor communication connection, the first data from the first memory to a third memory of a third domain thereby creating a second copy of the first data in the third memory; and determining, in accordance with a first heuristic and first criteria, whether to use the first copy of the first data stored in the first memory or the second copy of the first data stored in the third memory as a source when writing the first data to the first storage device.
    Type: Grant
    Filed: October 20, 2017
    Date of Patent: May 28, 2019
    Assignee: EMC IP Holding Company LLC
    Inventor: David W. Harvey
  • Patent number: 10235203
    Abstract: An improved technique involves processing a workflow in stages, and processing all requests in a queue for a given stage before moving onto the next stage. Along these lines, each request received by a storage processor is assigned to a core and placed in a first queue for that core. Within that core, a single system thread executes first instructions for a task, e.g., checking the storage cache for the requested data from a request, and then transfers the request to a second queue. Rather than perform additional tasks to completely satisfy the request, however, the thread executes the first instructions for a prespecified number of requests in the first queue. Only when the thread has executed instructions for the prespecified number of requests, the thread begins execution of second instructions for requests in the second queue, and work on the next task begins.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: March 19, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Daniel Cummins, David W. Harvey, Steve Morley
  • Patent number: 10235104
    Abstract: A method, computer program product, and computing system for receiving an IO request for a RAID array. An actual queue depth of the RAID array is compared to a maximum queue depth for the RAID array. An IO queue weight is determined for the IO request. The IO queue weight is revised based upon a degrade mode condition for the RAID array, thus defining a revised IO queue weight. The actual queue depth is incremented based upon the revised IO queue weight.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: March 19, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Robert P. Foley, Peter Puhov, David W. Harvey, Daniel E. Cummins, Marc C. Cassano, Henry A. Spang, IV
  • Patent number: 10176102
    Abstract: Systems and methods for a content addressable cache that is optimized for SSD use are disclosed. In some embodiments, the cache utilizes an identifier array where identification information is stored for each entry in the cache. However, the size of the bit field used for the identification information is not sufficient to uniquely identify the data stored at the associated entry in the cache. A smaller bit field increases the likelihood of a “false positive”, where the identification information indicates a cache hit when the actual data does not match the digest. A larger bit field decreases the probability of a “false positive”, at the expense of increased metadata memory space. Thus, the architecture allows for a compromise between metadata memory size and processing cycles.
    Type: Grant
    Filed: March 30, 2016
    Date of Patent: January 8, 2019
    Assignee: Infinio Systems, Inc.
    Inventors: David W. Harvey, Scott H. Davis, Martin Charles Martin, Vishal Misra, Hooman Vassef
  • Patent number: 10133513
    Abstract: A method, computer program product, and computing system for determining a queue depth and a flush rate for each of a plurality of pending data queues associated with a cache system, thus defining a queue depth/flush rate pair for each of the plurality of pending data queues. A predicted drain time is determined for each of the plurality of pending data queues based, at least in part, upon the queue depth/flush rate pair, thus defining a plurality of predicted drain times that are respectively associated with the plurality of pending data queues.
    Type: Grant
    Filed: August 7, 2015
    Date of Patent: November 20, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: David J. Agans, David W. Harvey, Gregory S. Schaffer, Mark J. Cariddi, Long Zhang, Henry Austin Spang, IV
  • Patent number: 9983896
    Abstract: A method includes (a) receiving a setup command directing a computing device to create a protocol endpoint to allow a remote host device to access storage volumes of the computing device presented to the remote host through the protocol endpoint as virtual storage volumes, (b) in response to receiving the setup command, creating a logical storage device object representing the protocol endpoint, the logical storage device object having zero underlying storage capacity, (c) subsequent to creating the logical storage device object, receiving a command directed at the protocol endpoint, and (d) in response to receiving the command, processing the command by a driver stack on the computing device containing the logical storage device object representing the protocol endpoint, the driver stack being shorter than another driver stack on the computing device used to process storage commands directed at another logical storage device object having non-zero underlying storage.
    Type: Grant
    Filed: December 31, 2015
    Date of Patent: May 29, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Dilesh Naik, Shuyu Lee, Jean Schiff, David W. Harvey
  • Patent number: 9952969
    Abstract: There are disclosed techniques for use in managing data storage in a data storage system which comprise a data storage device and a cache memory. In one example, a method comprises the following steps. An I/O request is received and a durability requirement of the I/O request data associated with the I/O request is determined. Based on the durability requirement of the I/O request data, the I/O request data is classified. The classified I/O request data is stored in the cache memory.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: April 24, 2018
    Assignee: EMC IP Holding Company LLC
    Inventor: David W. Harvey
  • Patent number: 9940280
    Abstract: An electronic assembly perform data storage operations on behalf of a set of storage processors (SPs). The electronic assembly includes an enclosure, and a set of peripheral component interconnect express (PCIe) switches which installs within the enclosure. The set of PCIe switches is constructed and arranged to connect to the set of SPs while the set of SPs is external to the enclosure. The electronic assembly further includes a set of data storage devices which installs within the enclosure. The set of data storage devices is constructed and arranged to persistently store data on behalf of the set of SPs via PCIe-based communications through the set of PCIe switches.
    Type: Grant
    Filed: June 26, 2015
    Date of Patent: April 10, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Walter O'Brien, David W. Harvey, Robert W. Beauchamp, Steven D. Sardella, Antonio L. Fontes
  • Patent number: 9921912
    Abstract: A technique for managing spare disk drives in a data storage system includes transferring segments of data from disk drives of an operating RAID group to spare regions on a set of spare disk drives to create unused space in the disk drives of the RAID group, thus using the spare regions to overprovision storage in the RAID group. Upon a failure of one of the disk drives in the RAID group, data of the failing disk drive are rebuilt based on the segments of data as well as on data from still-functioning disk drives in the RAID group. Thus, the spare disk drives act not only to overprovision storage for the RAID group prior to disk drive failure, but also to fulfill their role as spares in the event of a disk drive failure.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: March 20, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Vamsi Vankamamidi, Ryan Gadsby, Thomas E. Linnell, David W. Harvey, Daniel Cummins, Steven Morley
  • Patent number: 9830220
    Abstract: Methods and systems for enhanced error recovery are described. A first one or more data blocks to write to a first drive are received by a first drive controller module. A first parity block is calculated by the first drive controller module based on a first data block parity group. The first one or more data blocks are written by the first drive controller module to the first drive. The first parity block is written by the first drive controller module to the first drive.
    Type: Grant
    Filed: September 29, 2014
    Date of Patent: November 28, 2017
    Assignee: EMC IP Holding Company LLC
    Inventor: David W. Harvey
  • Patent number: 9817607
    Abstract: Described are techniques for processing read and write requests in a system having a NUMA (non-uniform memory access) configuration. Such techniques may include receiving, at a front end adapter of the system, a write request, to write first data to a first storage device, storing a first copy of the first data in first memory local to a first domain, copying, using a first inter-storage processor communication connection, the first data from the first memory to a third memory of a third domain thereby creating a second copy of the first data in the third memory; and determining, in accordance with a first heuristic and first criteria, whether to use the first copy of the first data stored in the first memory or the second copy of the first data stored in the third memory as a source when writing the first data to the first storage device.
    Type: Grant
    Filed: June 20, 2014
    Date of Patent: November 14, 2017
    Assignee: EMC IP Holding Company LLC
    Inventor: David W. Harvey
  • Publication number: 20170286307
    Abstract: Systems and methods for a content addressable cache that is optimized for SSD use are disclosed. In some embodiments, the cache utilizes an identifier array where identification information is stored for each entry in the cache. However, the size of the bit field used for the identification information is not sufficient to uniquely identify the data stored at the associated entry in the cache. A smaller bit field increases the likelihood of a “false positive”, where the identification information indicates a cache hit when the actual data does not match the digest. A larger bit field decreases the probability of a “false positive”, at the expense of increased metadata memory space. Thus, the architecture allows for a compromise between metadata memory size and processing cycles.
    Type: Application
    Filed: March 30, 2016
    Publication date: October 5, 2017
    Inventors: David W. Harvey, Scott H. Davis, Martin Charles Martin, Vishal Misra, Hooman Vassef
  • Patent number: 9696919
    Abstract: A technique for managing file systems that support block sharing places a source/copy attribute in each block pointer. The source/copy attribute identifies the respective block pointer as either a source-block pointer or a copy-block pointer. A reference count on each data block maintains a count of the number of source-block pointers pointing to the data block but excludes the number of copy-block pointers pointing to the data block. Block pointers are arranged in block pointer sets (BPSs), and sharing relationships are formed among BPSs and copies of BPSs. The sharing relationships generally keep most block sharing information at the BPS level, with reference counts on data blocks tracking only the number of source-block pointers, which is typically small, often being equal to one.
    Type: Grant
    Filed: March 31, 2015
    Date of Patent: July 4, 2017
    Assignee: EMC IP Holding Company LLC
    Inventors: Vamsi Vankamamidi, David W. Harvey
  • Patent number: 9658803
    Abstract: A method is used in managing accesses to storage. An amount of data storage space in use by a mapped logical volume and RAID group characteristics of a storage pool used by the mapped logical volume are determined. Based on the amount and the RAID group characteristics, a report of storage resources corresponding to the mapped logical volume is produced. Based on the report, accesses to the mapped logical volume are controlled.
    Type: Grant
    Filed: June 28, 2012
    Date of Patent: May 23, 2017
    Assignee: EMC IP Holding Company LLC
    Inventors: Alan L. Taylor, Michael D. Haynes, Miles A. DeForest, David W. Harvey, Dennis T. Duprey
  • Patent number: 9558068
    Abstract: A method is used in recovering from metadata inconsistencies in storage systems. A metadata inconsistency is detected in a portion of a file system. The file system is managed by upper-layer component. The portion of the file system is recovered. Lower-layer component recovers the portion of the file system. The portion of the file system is validated. The upper-layer component validates the portion of the file system.
    Type: Grant
    Filed: March 31, 2014
    Date of Patent: January 31, 2017
    Assignee: EMC IP Holding Company LLC
    Inventors: Jean-Pierre Bono, Philippe Armangau, Daniel E. Cummins, David W. Harvey
  • Patent number: 9460010
    Abstract: A data storage system, method and computer program product for managing copy on first write data for snapshot purposes are disclosed. In one embodiment, a determination is made whether new data is a first update of original data in a first section of a data storage device in response to receiving a write instruction to write the new data. The new data is provided to a first location of a cache memory and the original data to a second location of the cache memory. Providing the new data to the first location in the cache memory is not dependent on whether the original data has been copied from the data storage device. Further, the original data can be provided to the second location of the cache memory after new data is provided to first location of the cache memory. Completion of the write instruction is confirmed in response to providing the new data to the first location of the cache memory.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: October 4, 2016
    Assignee: EMC Corporation
    Inventors: David W. Harvey, Thomas M. Rivera, Karl M. Owen
  • Patent number: 9405626
    Abstract: A method, computer program product, and computing system for sensing the occurrence of an degraded condition within a data stripe of a RAID array. The data strip includes one or more valid data portions, one invalid data portion, and a parity portion. A request to write updated content to a target data portion within the data stripe is received, wherein the target data portion is one of the valid data portions. The valid data portions and the parity portion are read from the data stripe. The invalid data portion is reconstructed using the valid data portions and the parity portion, thus generating a reconstructed data portion. The reconstructed data portion is stored within a mirrored cache memory system. The parity portion is updated to define the updated content, thus defining an updated parity portion. The updated parity portion is written to the data stripe and the updated content is written to the target data portion within the data stripe.
    Type: Grant
    Filed: December 20, 2013
    Date of Patent: August 2, 2016
    Assignee: EMC Corporation
    Inventors: Robert P. Foley, Daniel E. Cummins, Peter Puhov, David W. Harvey, Marc C. Cassano
  • Patent number: 9367405
    Abstract: A method is used in managing software errors in storage systems. It is detected that a first processor of a storage system has a problem performing an I/O on a logical object. The first processor has a first path to the logical object. The problem includes a software error. Whether responsibility of performing the I/O on the logical object is transferred to a second processor of the storage system is evaluated. The second processor has a second path to the logical object.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: June 14, 2016
    Assignee: EMC Corporation
    Inventors: Robert P. Foley, Peter Puhov, Marc C. Cassano, Daniel E. Cummins, David W. Harvey
  • Patent number: 9323671
    Abstract: A method and system for use in managing enhanced write caching is disclosed. In at least one embodiment, the method and system comprises performing write-back caching operations using a write cache of a storage processor of a data storage system. A first cache page corresponding to a disk location is provided in the write cache. A host is allowed to write to a second cache page in the write cache corresponding to the same disk location. Both the first and second cache pages are maintained after acknowledging the write to the host.
    Type: Grant
    Filed: March 31, 2011
    Date of Patent: April 26, 2016
    Assignee: EMC Corporation
    Inventors: David W. Harvey, H. Austin Spang, IV, Gregory S. Schaffer, David F. Winchell
  • Patent number: 9311001
    Abstract: A method and system for managing allocation of storage resources, comprises the steps of: the storage network management system allocating one or more virtual data storage volumes for use by a host computer; the storage network management system presenting the virtual data storage volumes to the host computer as representative of available physical storage on the one or more storage arrays, but not allocating physical data storage for the virtual data storage volumes, wherein the virtual data storage volumes can include regions that are either allocated to physical storage or are unallocated to physical storage; the storage management system creating a data storage pool that includes the one and the more data storage arrays; and upon receiving a write request to the virtual data volume that covers an unallocated region of the volume, the storage network management system allocating physical storage from the storage pool for the virtual data volume.
    Type: Grant
    Filed: January 27, 2014
    Date of Patent: April 12, 2016
    Assignee: EMC Corporation
    Inventors: Bradford B. Glade, David W. Harvey, John Kemeny, Matthew D. Waxman