Patents by Inventor William C. Davenport

William C. Davenport 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: 11755470
    Abstract: A method, computer program product, and computer system for setting a preferred alignment value to a size of an address space mapped by one or more root pages. An allocation request may be received for the address space. A binary buddy allocation scheme may be executed to allocate an extent for the allocation request based upon, at least in part, the preferred alignment value.
    Type: Grant
    Filed: July 29, 2019
    Date of Patent: September 12, 2023
    Assignee: EMC IP Holding Company, LLC
    Inventors: William C. Davenport, Dixitkumar Vishnubhai Patel
  • Patent number: 11681657
    Abstract: A method, computer program product, and computer system for organizing a plurality of log records into a plurality of buckets, wherein each bucket is associated with a range of a plurality of ranges within a backing store. A bucket of the plurality of buckets from which a portion of the log records of the plurality of log records are to be flushed may be selected. The portion of the log records may be organized into parallel flush jobs. The portion of the log records may be flushed to the backing store in parallel.
    Type: Grant
    Filed: July 31, 2019
    Date of Patent: June 20, 2023
    Assignee: EMC IP Holding Company, LLC
    Inventors: Socheavy D. Heng, William C. Davenport
  • Publication number: 20230029728
    Abstract: A method performed by a data storage apparatus of maintaining filesystem object attributes in connection with a plurality of drivers is provided. Each driver of the plurality is configured to operate on a respective set of filesystem objects. The method includes (a) for each driver of the plurality, creating a respective driver-specific storage volume; (b) storing, within each driver-specific storage volume, attributes specific to respective filesystem objects operated on by the driver of that driver-specific storage volume; and (c) while operating a particular driver of the plurality on a particular filesystem object, using values of the stored attributes specific to that particular filesystem object operated on by that particular driver. An apparatus, system, and computer program product for performing a similar method are also provided.
    Type: Application
    Filed: July 28, 2021
    Publication date: February 2, 2023
    Inventors: John H. Lee, Michael C. Brundage, Nagapraveen V. Seela, Alan L. Taylor, William C. Davenport
  • Patent number: 11556262
    Abstract: Successful storing of extent operations into corresponding records of a transaction log results in acknowledgement of completion of the extent operations being indicated to one or more hosts. In response to determining that the extent operations are unrelated to each other, the extent operations are flushed in parallel from the transaction log to back-end non-volatile data storage. During the flushing, dependencies between the extent operations and other operations stored in the transaction log are maintained. Dependency chains are identified within the transaction log, and at least one tree data structure representing the dependencies between each of the extent operations and the other operations stored in the transaction log may be generated and traversed in order to select the correct operations stored in the transaction log to flush.
    Type: Grant
    Filed: October 9, 2020
    Date of Patent: January 17, 2023
    Assignee: EMC IP Holding Company LLC
    Inventors: Socheavy Heng, William C. Davenport
  • Patent number: 11372573
    Abstract: A method, computer program product, and computer system for receiving, at a computing device, a write request from a host, wherein a first portion of a process may receive the write request. A callback and context may be set in the write request by the first portion of the process. The write request may be passed to a second portion of the process. The first process may be provided with the context. The first process may use the context to replicate the write request data to a destination.
    Type: Grant
    Filed: July 10, 2020
    Date of Patent: June 28, 2022
    Assignee: EMC IP HOLDING COMPANY, LLC
    Inventors: Alan L. Taylor, Michael C. Brundage, Nagapraveen Veeravenkata Seela, William C. Davenport, Xiangping Chen, Xunce Zhou
  • Publication number: 20220113886
    Abstract: Successful storing of extent operations into corresponding records of a transaction log results in acknowledgement of completion of the extent operations being indicated to one or more hosts. In response to determining that the extent operations are unrelated to each other, the extent operations are flushed in parallel from the transaction log to back-end non-volatile data storage. During the flushing, dependencies between the extent operations and other operations stored in the transaction log are maintained. Dependency chains are identified within the transaction log, and at least one tree data structure representing the dependencies between each of the extent operations and the other operations stored in the transaction log may be generated and traversed in order to select the correct operations stored in the transaction log to flush.
    Type: Application
    Filed: October 9, 2020
    Publication date: April 14, 2022
    Inventors: Socheavy Heng, William C. Davenport
  • Patent number: 11269776
    Abstract: Techniques for providing a direct IO path to compressed data on storage media of a storage system. The techniques include triggering a transaction cache to perform a flush operation for updating mapping metadata for a storage object containing the compressed data. Having updated the mapping metadata for the storage object, the techniques further include issuing, by a copier module, an IO read request for the compressed data of the storage object to a namespace layer, which issues the IO read request to a mapping layer. The techniques further include forwarding the IO read request to a logical layer of the mapping layer, bypassing the transaction cache. The techniques further include reading, by the logical layer, the compressed data of the storage object from the storage media, and providing, via the mapping layer and the namespace layer, the compressed data to the copier module for transfer to a destination storage system.
    Type: Grant
    Filed: October 17, 2019
    Date of Patent: March 8, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Xiangping Chen, Philippe Armangau, Anton Kucherov, Xunce Zhou, William C. Davenport
  • Publication number: 20220011937
    Abstract: A method, computer program product, and computer system for receiving, at a computing device, a write request from a host, wherein a first portion of a process may receive the write request. A callback and context may be set in the write request by the first portion of the process. The write request may be passed to a second portion of the process. The first process may be provided with the context. The first process may use the context to replicate the write request data to a destination.
    Type: Application
    Filed: July 10, 2020
    Publication date: January 13, 2022
    Inventors: ALAN L. TAYLOR, Michael C. Brundage, Nagapraveen Veeravenkata Seela, William C. Davenport, Xiangping Chen, Xunce Zhou
  • Patent number: 11194760
    Abstract: Techniques for creating snapshots of data storage objects that can perform certain operations (e.g., flushing dirty data, setting up extent pointers, allocating block storage space, etc.) during background (or deferred) processing. The disclosed techniques employ one or more extent copy trackers that can be created during processing of a transaction, while I/O request from host computers are suspended. The extent copy trackers are configured to perform some or all of the certain operations in the background, after the transaction has been committed and/or the processing of the transaction has been completed. By performing such operations during background processing, a processing time required to complete the snapshot transaction is reduced, thereby reducing latency in the resumption of the I/O requests from the host computers.
    Type: Grant
    Filed: July 28, 2017
    Date of Patent: December 7, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Peter Puhov, Richard P. Ruef, William C. Davenport, Socheavy Heng
  • Patent number: 11100050
    Abstract: A data storage system operates a file system as a thinly provisioned file system having a host-visible virtual space and a smaller allocated space of underlying physical storage from a pool. The file system applies formatting to the allocated space and utilizes formatted allocated space for storing host files. The file system receives a file I/O request that requires increasing the allocated space of the file system, and in response (1) obtains an extent of physical storage from the pool and adds it to the file system as added allocated space, and (2) formats an initial portion of the added allocated space and satisfies the file I/O request using the formatted initial portion. Over a subsequent period the file system incrementally formats additional portions of the added allocated space and satisfies subsequent file I/O requests from the added portions.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: August 24, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Ye Zhang, William C. Davenport, Jean-Pierre Bono, Yingchao Zhou, Chao Zheng, Xianlong Liu, Qi Mao
  • Patent number: 11068396
    Abstract: A method, computer program product, and computer system for staging writes into a log in chronological order, wherein each write may have a log record of a plurality of log records describing data of the write. The log record may be organized into a bucket of a plurality of buckets associated with a range of a plurality of ranges within a backing store, wherein each bucket of the plurality of buckets may include two keys respectively. The log record of the plurality of log records may be flushed from the bucket of the plurality of buckets to the backing store at a location and in an order determined based upon, at least in part, the two keys included with the bucket.
    Type: Grant
    Filed: August 1, 2019
    Date of Patent: July 20, 2021
    Assignee: EMC IP Holding Company, LLC
    Inventors: Socheavy D. Heng, William C. Davenport, Joris Johannes Wils
  • Patent number: 11023488
    Abstract: A technique for replicating a data object from a source data storage system (source) to a destination data storage system (destination) preserves QoS (Quality of Service) by transmitting QoS information from the source to the destination and applying the QoS information when storing data at the destination that arrive in replication instructions sent from the source. The QoS information indicates desired storage tiering for the data object at the source. In the event of a failure at the source, which results in failover from the source to the destination, the destination is able to provide users with the same quality of service as was desired at the source.
    Type: Grant
    Filed: December 19, 2014
    Date of Patent: June 1, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Jean-Pierre Bono, Himabindu Tummala, William C. Davenport, Assaf Natanzon
  • Publication number: 20210117328
    Abstract: Techniques for providing a direct IO path to compressed data on storage media of a storage system. The techniques include triggering a transaction cache to perform a flush operation for updating mapping metadata for a storage object containing the compressed data. Having updated the mapping metadata for the storage object, the techniques further include issuing, by a copier module, an IO read request for the compressed data of the storage object to a namespace layer, which issues the IO read request to a mapping layer. The techniques further include forwarding the IO read request to a logical layer of the mapping layer, bypassing the transaction cache. The techniques further include reading, by the logical layer, the compressed data of the storage object from the storage media, and providing, via the mapping layer and the namespace layer, the compressed data to the copier module for transfer to a destination storage system.
    Type: Application
    Filed: October 17, 2019
    Publication date: April 22, 2021
    Inventors: Xiangping Chen, Philippe Armangau, Anton Kucherov, Xunce Zhou, William C. Davenport
  • Patent number: 10983705
    Abstract: Techniques for handling pattern identifiers in a data storage system. By replacing a block pointer with a pattern identifier, the techniques can identify a data block (or an indirect data block) as a bad block, without resorting to the use of a separate flag or bad block (BB) bit in per-block metadata (e.g., a mapping pointer) of the data block. The techniques can also avoid waste of valuable metadata space by using pattern identifiers at various levels of a mapping tree, leveraging pointer granularity at lower levels, mid-levels, and progressively higher levels of the mapping tree.
    Type: Grant
    Filed: April 29, 2019
    Date of Patent: April 20, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Rohit K. Chawla, William C. Davenport, Richard P. Ruef
  • Patent number: 10970211
    Abstract: Techniques for processing I/O operations include: receiving a write I/O operation that writes first data to a target location, wherein the target location is represented as a logical device and offset within a logical address space of the logical device; storing a log record for the write I/O operation in a log file; and performing first processing of the log record. The log record includes log data, comprising the first data, and a log descriptor. The log descriptor includes a target logical address for the target location in a file system logical address space. The log descriptor includes a first value denoting the binary logarithm of an extent size of the first logical device. The first processing includes flushing the log record from the log file to store the first data of the log record on an extent of physical storage provisioned for the logical device.
    Type: Grant
    Filed: August 2, 2019
    Date of Patent: April 6, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: William C. Davenport, Socheavy D. Heng
  • Patent number: 10936231
    Abstract: In response to detecting that at least one snapshot group identifier has been allocated that has a maximum snapshot group identifier value, snapshot group identifiers are allocated to each newly created snapshot group by finding a previously allocated snapshot group identifier that is currently unused, and allocating the previously allocated snapshot group identifier that is currently unused to the newly created snapshot group.
    Type: Grant
    Filed: April 22, 2019
    Date of Patent: March 2, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Piers Yu, William C. Davenport
  • Publication number: 20210034510
    Abstract: A method, computer program product, and computer system for setting a preferred alignment value to a size of an address space mapped by one or more root pages. An allocation request may be received for the address space. A binary buddy allocation scheme may be executed to allocate an extent for the allocation request based upon, at least in part, the preferred alignment value.
    Type: Application
    Filed: July 29, 2019
    Publication date: February 4, 2021
    Inventors: WILLIAM C. DAVENPORT, Dixitkumar Vishnubhai Patel
  • Publication number: 20210034520
    Abstract: Techniques for processing I/O operations include: receiving a write I/O operation that writes first data to a target location, wherein the target location is represented as a logical device and offset within a logical address space of the logical device; storing a log record for the write I/O operation in a log file; and performing first processing of the log record. The log record includes log data, comprising the first data, and a log descriptor. The log descriptor includes a target logical address for the target location in a file system logical address space. The log descriptor includes a first value denoting the binary logarithm of an extent size of the first logical device. The first processing includes flushing the log record from the log file to store the first data of the log record on an extent of physical storage provisioned for the logical device.
    Type: Application
    Filed: August 2, 2019
    Publication date: February 4, 2021
    Applicant: EMC IP Holding Company LLC
    Inventors: William C. Davenport, Socheavy D. Heng
  • Publication number: 20210034573
    Abstract: A method, computer program product, and computer system for organizing a plurality of log records into a plurality of buckets, wherein each bucket is associated with a range of a plurality of ranges within a backing store. A bucket of the plurality of buckets from which a portion of the log records of the plurality of log records are to be flushed may be selected. The portion of the log records may be organized into parallel flush jobs. The portion of the log records may be flushed to the backing store in parallel.
    Type: Application
    Filed: July 31, 2019
    Publication date: February 4, 2021
    Inventors: SOCHEAVY D. HENG, William C. Davenport
  • Publication number: 20210034518
    Abstract: A method, computer program product, and computer system for staging writes into a log in chronological order, wherein each write may have a log record of a plurality of log records describing data of the write. The log record may be organized into a bucket of a plurality of buckets associated with a range of a plurality of ranges within a backing store, wherein each bucket of the plurality of buckets may include two keys respectively. The log record of the plurality of log records may be flushed from the bucket of the plurality of buckets to the backing store at a location and in an order determined based upon, at least in part, the two keys included with the bucket.
    Type: Application
    Filed: August 1, 2019
    Publication date: February 4, 2021
    Inventors: SOCHEAVY D. HENG, William C. Davenport, Joris Johannes Wils