Patents by Inventor Socheavy D Heng

Socheavy D Heng 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: 11842056
    Abstract: A method, computer program product, and computing system for allocating a first number of tokens from a plurality of tokens for processing read IO requests from a read IO queue, thus defining a number of allocated read tokens. A second number of tokens may be allocated from the plurality of tokens for processing write IO requests from a write IO queue, thus defining a number of allocated write tokens. It may be determined that the processing of the write IO requests is throttled. In response to determining that the processing of the write IO requests from the write IO queue is throttled, a maximum allowable number of write tokens may be defined. Additional tokens may be allocated for processing the read IO requests from the read IO queue based upon, at least in part, the maximum allowable number of write tokens and the number of allocated write tokens.
    Type: Grant
    Filed: October 25, 2021
    Date of Patent: December 12, 2023
    Assignee: EMC IP Holding Company, LLC
    Inventors: Maher Kachmar, Philippe Armangau, Michael P. Wahl, Vamsi K. Vankamamidi, Socheavy D. Heng, Yubing Wang
  • Patent number: 11726851
    Abstract: A method, computer program product, and computing system for processing memory page metadata received from a cache memory system within a data storage system to determine if the memory page metadata includes corruption due to a power failure event; if the memory page metadata includes post-acknowledgement data corruption, initiating a data recovery process to attempt to recover content associated with the post-acknowledgement data corruption; and if the memory page metadata includes pre-acknowledgement data corruption, reobtaining content associated with the pre-acknowledgement data corruption.
    Type: Grant
    Filed: November 5, 2019
    Date of Patent: August 15, 2023
    Assignee: EMC IP Holding Company, LLC
    Inventors: Vamsi K. Vankamamidi, Philippe Armangau, Socheavy D. Heng
  • 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: 20230129182
    Abstract: A method, computer program product, and computing system for allocating a first number of tokens from a plurality of tokens for processing read IO requests from a read IO queue, thus defining a number of allocated read tokens. A second number of tokens may be allocated from the plurality of tokens for processing write IO requests from a write IO queue, thus defining a number of allocated write tokens. It may be determined that the processing of the write IO requests is throttled. In response to determining that the processing of the write IO requests from the write IO queue is throttled, a maximum allowable number of write tokens may be defined. Additional tokens may be allocated for processing the read IO requests from the read IO queue based upon, at least in part, the maximum allowable number of write tokens and the number of allocated write tokens.
    Type: Application
    Filed: October 25, 2021
    Publication date: April 27, 2023
    Inventors: Maher Kachmar, Philippe Armangau, Michael P. Wahl, Vamsi K. Vankamamidi, Socheavy D. Heng, Yubing Wang
  • Patent number: 11269738
    Abstract: A method, computer program product, and computer system for identifying a bit for an allocation unit. It may be determined if data has been modified on the allocation unit while degraded. A rebuild of the allocation unit may be executed when the bit is a first value. The rebuild of the allocation unit may be skipped when the bit is a second value.
    Type: Grant
    Filed: October 31, 2019
    Date of Patent: March 8, 2022
    Assignee: EMC IP HOLDING COMPANY, LLC
    Inventors: Philippe Armangau, Vamsi K. Vankamamidi, Socheavy D. Heng, Geng Han, Jian Gao, Hongpo Gao
  • Patent number: 11269547
    Abstract: An apparatus comprises at least one processing device comprising a processor coupled to a memory. The at least one processing device is configured to receive a write command at a control module of a storage system, wherein the write command comprises a write operation configured to cause one or more data pages in a page buffer associated with the control module to be overwritten with incoming data. The at least one processing device is also configured to invalidate the one or more overwritten data pages in the page buffer after committing the write operation. The at least one processing device is further configured to release the one or more invalidated data pages in the page buffer to a page buffer pool associated with the control module, wherein the page buffer pool manages available data pages in the page buffer.
    Type: Grant
    Filed: May 20, 2020
    Date of Patent: March 8, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Yousheng Liu, Socheavy D. Heng, Xinlei Xu, Geng Han, Jian Gao
  • Publication number: 20210365206
    Abstract: An apparatus comprises at least one processing device comprising a processor coupled to a memory. The at least one processing device is configured to receive a write command at a control module of a storage system, wherein the write command comprises a write operation configured to cause one or more data pages in a page buffer associated with the control module to be overwritten with incoming data. The at least one processing device is also configured to invalidate the one or more overwritten data pages in the page buffer after committing the write operation. The at least one processing device is further configured to release the one or more invalidated data pages in the page buffer to a page buffer pool associated with the control module, wherein the page buffer pool manages available data pages in the page buffer.
    Type: Application
    Filed: May 20, 2020
    Publication date: November 25, 2021
    Inventors: Yousheng Liu, Socheavy D. Heng, Xinlei Xu, Geng Han, Jian Gao
  • Patent number: 11138122
    Abstract: A method, computer program product, and computer system for identifying a first node that has written a first page of a plurality of pages to be flushed. A second node that has written a second page of the plurality of pages to be flushed may be identified. It may be determined whether the first page of the plurality of pages is to be flushed by one of the first node and the second node and whether the second page of the plurality of pages is to be flushed by one of the first node and the second node based upon, at least in part, one or more factors. The first node may allocate the first page of the plurality of pages and the second page of the plurality of pages to be flushed in parallel by one of the first node and the second node based upon, at least in part, the one or more factors.
    Type: Grant
    Filed: July 29, 2019
    Date of Patent: October 5, 2021
    Assignee: EMC IP Holding Company, LLC
    Inventors: Socheavy D. Heng, Steven A. Morley
  • Patent number: 11086736
    Abstract: A method, computer program product, and computer system for identifying, by a computing device, a pattern in a super block of a logger tier. It may be determined that the pattern in the super block of the logger tier is a known pattern, wherein the known pattern indicates invalid data in the logger tier. The logger tier may be booted up by storing an unknown pattern in the super block into the logger tier, wherein the unknown pattern indicates valid data in the logger tier.
    Type: Grant
    Filed: October 31, 2019
    Date of Patent: August 10, 2021
    Assignee: EMC IP Holding Company, LLC
    Inventors: Geng Han, Vamsi K. Vankamamidi, Socheavy D. Heng, Shuyu Lee, Jian Gao
  • 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
  • Publication number: 20210133053
    Abstract: A method, computer program product, and computer system for identifying, by a computing device, a pattern in a super block of a logger tier. it may be determined that the pattern in the super block of the logger tier is a known pattern, wherein the known pattern indicates invalid data in the logger tier. The logger tier may be booted up by storing an unknown pattern in the super block into the logger tier, wherein the unknown pattern indicates valid data in the logger tier.
    Type: Application
    Filed: October 31, 2019
    Publication date: May 6, 2021
    Inventors: Geng Han, Vamsi K. Vankamamidi, Socheavy D. Heng, Shuyu Lee, Jian Gao
  • Publication number: 20210133011
    Abstract: A method, computer program product, and computing system for processing memory page metadata received from a cache memory system within a data storage system to determine if the memory page metadata includes corruption due to a power failure event; if the memory page metadata includes post-acknowledgement data corruption, initiating a data recovery process to attempt to recover content associated with the post-acknowledgement data corruption; and if the memory page metadata includes pre-acknowledgement data corruption, reobtaining content associated with the pre-acknowledgement data corruption.
    Type: Application
    Filed: November 5, 2019
    Publication date: May 6, 2021
    Inventors: VAMSI K. VANKAMAMIDI, Philippe Armangau, Socheavy D. Heng
  • Publication number: 20210133047
    Abstract: A method, computer program product, and computer system for identifying a bit for an allocation unit. It may be determined if data has been modified on the allocation unit while degraded. A rebuild of the allocation unit may be executed when the bit is a first value. The rebuild of the allocation unit may be skipped when the bit is a second value.
    Type: Application
    Filed: October 31, 2019
    Publication date: May 6, 2021
    Inventors: Philippe Armangau, Vamsi K. Vankamamidi, Socheavy D. Heng, Geng Han, Jian Gao, Hongpo Gao
  • Patent number: 10997031
    Abstract: A method, computer program product, and computer system for executing an automatic recovery of log metadata. A secondary storage processor may request one or more log metadata buffer values from a first buffer used by a primary storage processor. The secondary storage processor may update one or more log metadata buffer values from a second buffer used by the secondary storage processor.
    Type: Grant
    Filed: January 31, 2019
    Date of Patent: May 4, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Cheng Wan, Socheavy D. Heng, Xinlei Xu, Yousheng Liu, Baote Zhuo
  • 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
  • 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: 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: 20210034534
    Abstract: A method, computer program product, and computer system for identifying a first node that has written a first page of a plurality of pages to be flushed. A second node that has written a second page of the plurality of pages to be flushed may be identified. It may be determined whether the first page of the plurality of pages is to be flushed by one of the first node and the second node and whether the second page of the plurality of pages is to be flushed by one of the first node and the second node based upon, at least in part, one or more factors. The first node may allocate the first page of the plurality of pages and the second page of the plurality of pages to be flushed in parallel by one of the first node and the second node based upon, at least in part, the one or more factors.
    Type: Application
    Filed: July 29, 2019
    Publication date: February 4, 2021
    Inventors: Socheavy D. Heng, Steven A. Morley
  • 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
  • Publication number: 20200250041
    Abstract: A method, computer program product, and computer system for executing an automatic recovery of log metadata. A secondary storage processor may request one or more log metadata buffer values from a first buffer used by a primary storage processor. The secondary storage processor may update one or more log metadata buffer values from a second buffer used by the secondary storage processor.
    Type: Application
    Filed: January 31, 2019
    Publication date: August 6, 2020
    Inventors: Cheng Wan, Socheavy D. Heng, Xinlei Xu, Yousheng Liu, Baote Zhuo