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: 10303396Abstract: 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: GrantFiled: October 20, 2017Date of Patent: May 28, 2019Assignee: EMC IP Holding Company LLCInventor: David W. Harvey
-
Patent number: 10235203Abstract: 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: GrantFiled: March 31, 2014Date of Patent: March 19, 2019Assignee: EMC IP Holding Company LLCInventors: Daniel Cummins, David W. Harvey, Steve Morley
-
Patent number: 10235104Abstract: 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: GrantFiled: September 30, 2015Date of Patent: March 19, 2019Assignee: EMC IP Holding Company LLCInventors: Robert P. Foley, Peter Puhov, David W. Harvey, Daniel E. Cummins, Marc C. Cassano, Henry A. Spang, IV
-
Patent number: 10176102Abstract: 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: GrantFiled: March 30, 2016Date of Patent: January 8, 2019Assignee: Infinio Systems, Inc.Inventors: David W. Harvey, Scott H. Davis, Martin Charles Martin, Vishal Misra, Hooman Vassef
-
Patent number: 10133513Abstract: 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: GrantFiled: August 7, 2015Date of Patent: November 20, 2018Assignee: EMC IP Holding Company LLCInventors: David J. Agans, David W. Harvey, Gregory S. Schaffer, Mark J. Cariddi, Long Zhang, Henry Austin Spang, IV
-
Patent number: 9983896Abstract: 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: GrantFiled: December 31, 2015Date of Patent: May 29, 2018Assignee: EMC IP Holding Company LLCInventors: Dilesh Naik, Shuyu Lee, Jean Schiff, David W. Harvey
-
Patent number: 9952969Abstract: 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: GrantFiled: March 14, 2013Date of Patent: April 24, 2018Assignee: EMC IP Holding Company LLCInventor: David W. Harvey
-
Patent number: 9940280Abstract: 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: GrantFiled: June 26, 2015Date of Patent: April 10, 2018Assignee: EMC IP Holding Company LLCInventors: Walter O'Brien, David W. Harvey, Robert W. Beauchamp, Steven D. Sardella, Antonio L. Fontes
-
Patent number: 9921912Abstract: 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: GrantFiled: September 30, 2015Date of Patent: March 20, 2018Assignee: EMC IP Holding Company LLCInventors: Vamsi Vankamamidi, Ryan Gadsby, Thomas E. Linnell, David W. Harvey, Daniel Cummins, Steven Morley
-
Patent number: 9830220Abstract: 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: GrantFiled: September 29, 2014Date of Patent: November 28, 2017Assignee: EMC IP Holding Company LLCInventor: David W. Harvey
-
Patent number: 9817607Abstract: 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: GrantFiled: June 20, 2014Date of Patent: November 14, 2017Assignee: EMC IP Holding Company LLCInventor: David W. Harvey
-
Publication number: 20170286307Abstract: 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: ApplicationFiled: March 30, 2016Publication date: October 5, 2017Inventors: David W. Harvey, Scott H. Davis, Martin Charles Martin, Vishal Misra, Hooman Vassef
-
Patent number: 9696919Abstract: 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: GrantFiled: March 31, 2015Date of Patent: July 4, 2017Assignee: EMC IP Holding Company LLCInventors: Vamsi Vankamamidi, David W. Harvey
-
Patent number: 9658803Abstract: 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: GrantFiled: June 28, 2012Date of Patent: May 23, 2017Assignee: EMC IP Holding Company LLCInventors: Alan L. Taylor, Michael D. Haynes, Miles A. DeForest, David W. Harvey, Dennis T. Duprey
-
Patent number: 9558068Abstract: 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: GrantFiled: March 31, 2014Date of Patent: January 31, 2017Assignee: EMC IP Holding Company LLCInventors: Jean-Pierre Bono, Philippe Armangau, Daniel E. Cummins, David W. Harvey
-
Patent number: 9460010Abstract: 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: GrantFiled: March 14, 2013Date of Patent: October 4, 2016Assignee: EMC CorporationInventors: David W. Harvey, Thomas M. Rivera, Karl M. Owen
-
Patent number: 9405626Abstract: 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: GrantFiled: December 20, 2013Date of Patent: August 2, 2016Assignee: EMC CorporationInventors: Robert P. Foley, Daniel E. Cummins, Peter Puhov, David W. Harvey, Marc C. Cassano
-
Patent number: 9367405Abstract: 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: GrantFiled: March 14, 2013Date of Patent: June 14, 2016Assignee: EMC CorporationInventors: Robert P. Foley, Peter Puhov, Marc C. Cassano, Daniel E. Cummins, David W. Harvey
-
Patent number: 9323671Abstract: 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: GrantFiled: March 31, 2011Date of Patent: April 26, 2016Assignee: EMC CorporationInventors: David W. Harvey, H. Austin Spang, IV, Gregory S. Schaffer, David F. Winchell
-
Patent number: 9311001Abstract: 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: GrantFiled: January 27, 2014Date of Patent: April 12, 2016Assignee: EMC CorporationInventors: Bradford B. Glade, David W. Harvey, John Kemeny, Matthew D. Waxman