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: 11755470Abstract: 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: GrantFiled: July 29, 2019Date of Patent: September 12, 2023Assignee: EMC IP Holding Company, LLCInventors: William C. Davenport, Dixitkumar Vishnubhai Patel
-
Patent number: 11681657Abstract: 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: GrantFiled: July 31, 2019Date of Patent: June 20, 2023Assignee: EMC IP Holding Company, LLCInventors: Socheavy D. Heng, William C. Davenport
-
Publication number: 20230029728Abstract: 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: ApplicationFiled: July 28, 2021Publication date: February 2, 2023Inventors: John H. Lee, Michael C. Brundage, Nagapraveen V. Seela, Alan L. Taylor, William C. Davenport
-
Patent number: 11556262Abstract: 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: GrantFiled: October 9, 2020Date of Patent: January 17, 2023Assignee: EMC IP Holding Company LLCInventors: Socheavy Heng, William C. Davenport
-
Patent number: 11372573Abstract: 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: GrantFiled: July 10, 2020Date of Patent: June 28, 2022Assignee: EMC IP HOLDING COMPANY, LLCInventors: Alan L. Taylor, Michael C. Brundage, Nagapraveen Veeravenkata Seela, William C. Davenport, Xiangping Chen, Xunce Zhou
-
Publication number: 20220113886Abstract: 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: ApplicationFiled: October 9, 2020Publication date: April 14, 2022Inventors: Socheavy Heng, William C. Davenport
-
Patent number: 11269776Abstract: 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: GrantFiled: October 17, 2019Date of Patent: March 8, 2022Assignee: EMC IP Holding Company LLCInventors: Xiangping Chen, Philippe Armangau, Anton Kucherov, Xunce Zhou, William C. Davenport
-
Publication number: 20220011937Abstract: 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: ApplicationFiled: July 10, 2020Publication date: January 13, 2022Inventors: ALAN L. TAYLOR, Michael C. Brundage, Nagapraveen Veeravenkata Seela, William C. Davenport, Xiangping Chen, Xunce Zhou
-
Patent number: 11194760Abstract: 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: GrantFiled: July 28, 2017Date of Patent: December 7, 2021Assignee: EMC IP Holding Company LLCInventors: Peter Puhov, Richard P. Ruef, William C. Davenport, Socheavy Heng
-
Patent number: 11100050Abstract: 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: GrantFiled: September 30, 2014Date of Patent: August 24, 2021Assignee: EMC IP Holding Company LLCInventors: Ye Zhang, William C. Davenport, Jean-Pierre Bono, Yingchao Zhou, Chao Zheng, Xianlong Liu, Qi Mao
-
Patent number: 11068396Abstract: 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: GrantFiled: August 1, 2019Date of Patent: July 20, 2021Assignee: EMC IP Holding Company, LLCInventors: Socheavy D. Heng, William C. Davenport, Joris Johannes Wils
-
Patent number: 11023488Abstract: 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: GrantFiled: December 19, 2014Date of Patent: June 1, 2021Assignee: EMC IP Holding Company LLCInventors: Jean-Pierre Bono, Himabindu Tummala, William C. Davenport, Assaf Natanzon
-
Publication number: 20210117328Abstract: 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: ApplicationFiled: October 17, 2019Publication date: April 22, 2021Inventors: Xiangping Chen, Philippe Armangau, Anton Kucherov, Xunce Zhou, William C. Davenport
-
Patent number: 10983705Abstract: 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: GrantFiled: April 29, 2019Date of Patent: April 20, 2021Assignee: EMC IP Holding Company LLCInventors: Rohit K. Chawla, William C. Davenport, Richard P. Ruef
-
Patent number: 10970211Abstract: 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: GrantFiled: August 2, 2019Date of Patent: April 6, 2021Assignee: EMC IP Holding Company LLCInventors: William C. Davenport, Socheavy D. Heng
-
Patent number: 10936231Abstract: 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: GrantFiled: April 22, 2019Date of Patent: March 2, 2021Assignee: EMC IP Holding Company LLCInventors: Piers Yu, William C. Davenport
-
Publication number: 20210034510Abstract: 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: ApplicationFiled: July 29, 2019Publication date: February 4, 2021Inventors: WILLIAM C. DAVENPORT, Dixitkumar Vishnubhai Patel
-
Publication number: 20210034520Abstract: 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: ApplicationFiled: August 2, 2019Publication date: February 4, 2021Applicant: EMC IP Holding Company LLCInventors: William C. Davenport, Socheavy D. Heng
-
Publication number: 20210034573Abstract: 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: ApplicationFiled: July 31, 2019Publication date: February 4, 2021Inventors: SOCHEAVY D. HENG, William C. Davenport
-
Publication number: 20210034518Abstract: 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: ApplicationFiled: August 1, 2019Publication date: February 4, 2021Inventors: SOCHEAVY D. HENG, William C. Davenport, Joris Johannes Wils