Patents by Inventor Bruce E. Caram

Bruce E. Caram 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: 12147692
    Abstract: A technique consolidates data at multiple levels of granularity, the levels including a first level based on whole PLBs (physical large blocks) and a second level based on portions of donor PLBs. The technique further includes tracking PLBs in multiple PLB queues arranged based on storage utilization of the PLBs, and tracking PLB portions in multiple portion queues arranged based on storage utilization of the portions. When consolidating data to create a new PLB, a set of whole PLBs is selected, based on utilization, from the PLB queues, and a set of portions of donor PLBs is selected, based on utilization, from the portion queues. The selections are performed such that the total data size of the selected whole PLB(s) and the selected portion(s) fit within the new PLB.
    Type: Grant
    Filed: April 12, 2023
    Date of Patent: November 19, 2024
    Assignee: Dell Products L.P.
    Inventors: Bruce E. Caram, Vamsi K. Vankamamidi, Alexei Karaban, Ajay Karri
  • Publication number: 20240345751
    Abstract: A technique consolidates data at multiple levels of granularity, the levels including a first level based on whole PLBs (physical large blocks) and a second level based on portions of donor PLBs. The technique further includes tracking PLBs in multiple PLB queues arranged based on storage utilization of the PLBs, and tracking PLB portions in multiple portion queues arranged based on storage utilization of the portions. When consolidating data to create a new PLB, a set of whole PLBs is selected, based on utilization, from the PLB queues, and a set of portions of donor PLBs is selected, based on utilization, from the portion queues. The selections are performed such that the total data size of the selected whole PLB(s) and the selected portion(s) fit within the new PLB.
    Type: Application
    Filed: April 12, 2023
    Publication date: October 17, 2024
    Inventors: Bruce E. Caram, Vamsi K. Vankamamidi, Alexei Karaban, Ajay Karri
  • Patent number: 12056378
    Abstract: A method, computer program product, and computing system for tracking the utilization of a plurality of PLBs within a storage platform to generate PLB utilization information, wherein each PLB is associated with one or more VLBs; and tracking the utilization of the one or more VLBs associated with each of the plurality of PLBs within the storage platform to generate VLB utilization information.
    Type: Grant
    Filed: January 27, 2023
    Date of Patent: August 6, 2024
    Assignee: Dell Products L.P.
    Inventors: Bruce E. Caram, Vamsi K. Vankamamidi, Alexei Karaban, Henry A. Spang, IV, Ajay Karri
  • Patent number: 12056373
    Abstract: A method, computer program product, and computing system for compartmentalizing a SSD storage tier within a storage platform into a plurality of SSD portions including a first SSD portion, a second SSD portion and a third SSD portion; reducing the size of the third SSD portion if the first SSD portion and/or the second SS portion needs to expand; and reducing the size of the second SSD portion if the first SSD portion needs to expand; wherein the storage platform includes an HDD storage tier.
    Type: Grant
    Filed: January 27, 2023
    Date of Patent: August 6, 2024
    Assignee: Dell Products L.P.
    Inventors: Vamsi K. Vankamamidi, Bruce E. Caram, Ajay Karri, Alexei Karaban
  • Publication number: 20240256158
    Abstract: A method, computer program product, and computing system for compartmentalizing a SSD storage tier within a storage platform into a plurality of SSD portions including a first SSD portion, a second SSD portion and a third SSD portion; reducing the size of the third SSD portion if the first SSD portion and/or the second SS portion needs to expand; and reducing the size of the second SSD portion if the first SSD portion needs to expand; wherein the storage platform includes an HDD storage tier.
    Type: Application
    Filed: January 27, 2023
    Publication date: August 1, 2024
    Inventors: Vamsi K. Vankamamidi, Bruce E. Caram, Ajay Karri, Alexei Karaban
  • Publication number: 20240256162
    Abstract: A method, computer program product, and computing system for tracking the utilization of a plurality of PLBs within a storage platform to generate PLB utilization information, wherein each PLB is associated with one or more VLBs; and tracking the utilization of the one or more VLBs associated with each of the plurality of PLBs within the storage platform to generate VLB utilization information.
    Type: Application
    Filed: January 27, 2023
    Publication date: August 1, 2024
    Inventors: Bruce E. Caram, Vamsi K. Vankamamidi, Alexei Karaban, Henry A. Spang, IV, Ajay Karri
  • Patent number: 12050807
    Abstract: A method, computer program product, and computing system for defining a quantity of discrete storage portions within a storage system; entering an expansion mode during which the discrete storage portions are incrementally assigned to at least one processing node until a first assignment level target is achieved; once the first assignment level target is achieved, entering a utilization mode during which the utilization of the assigned discrete portions is increased until a first utilization level target is achieved; and once the first utilization level target is achieved, reentering the expansion mode during which additional discrete storage portions are incrementally assigned to the at least one processing node until a second assignment level target is achieved.
    Type: Grant
    Filed: April 23, 2021
    Date of Patent: July 30, 2024
    Assignee: EMC IP Holding Company, LLC
    Inventors: Bruce E. Caram, Vamsi K. Vankamamidi, Philippe Armangau, Ajay Karri
  • Patent number: 11755233
    Abstract: A method, computer program product, and computing system for identifying a first memory device source that includes first content; identifying a second memory device source that include second content; and initiating a first iteration of a memory device cleansing procedure wherein first content and at least a first portion of the second content are moved to a first unused memory device.
    Type: Grant
    Filed: April 23, 2021
    Date of Patent: September 12, 2023
    Assignee: EMC IP Holding Company, LLC
    Inventors: Vamsi K. Vankamamidi, Bruce E. Caram, Ajay Karri, Alexei Karaban
  • Patent number: 11630584
    Abstract: A method, computer program product, and computing system for maintaining a first cursor pointer for a memory system, wherein the first cursor pointer concerns a first search criteria and identifies an initial first cursor starting location; receiving a first search request for the memory system that satisfies the first search criteria; executing the first search request within an initial first search window starting at the initial first cursor starting location; and updating the first cursor pointer to identify an updated first cursor starting location based, at least in part, upon the initial first search window.
    Type: Grant
    Filed: November 5, 2019
    Date of Patent: April 18, 2023
    Assignee: EMC IP HOLDING COMPANY, LLC
    Inventors: Vamsi K. Vankamamidi, Philippe Armangau, Bruce E. Caram, Ajay Karri
  • Publication number: 20220357871
    Abstract: A method, computer program product, and computing system for identifying a first memory device source that includes first content; identifying a second memory device source that include second content; and initiating a first iteration of a memory device cleansing procedure wherein first content and at least a first portion of the second content are moved to a first unused memory device.
    Type: Application
    Filed: April 23, 2021
    Publication date: November 10, 2022
    Inventors: Vamsi K. Vankamamidi, Bruce E. Caram, Ajay Karri, Alexei Karaban
  • Publication number: 20220342599
    Abstract: A method, computer program product, and computing system for defining a quantity of discrete storage portions within a storage system; entering an expansion mode during which the discrete storage portions are incrementally assigned to at least one processing node until a first assignment level target is achieved; once the first assignment level target is achieved, entering a utilization mode during which the utilization of the assigned discrete portions is increased until a first utilization level target is achieved; and once the first utilization level target is achieved, reentering the expansion mode during which additional discrete storage portions are incrementally assigned to the at least one processing node until a second assignment level target is achieved.
    Type: Application
    Filed: April 23, 2021
    Publication date: October 27, 2022
    Inventors: Bruce E. Caram, Vamsi K. Vankamamidi, Philippe Armangau, Ajay Karri
  • Patent number: 11216195
    Abstract: An allocation history is maintained for each node in a multi-node data storage system. The allocation history for each node indicates sets of physical blocks previously allocated to the node to store dirty pages of user data flushed from a cache of the node. The allocation history indicates non-quarantined sets of physical blocks that are currently being used to provide non-volatile data storage to cache flush operations, and quarantined sets of physical blocks not currently being used to provide non-volatile data storage to cache flush operations. Allocation is prevented to any node of any set of physical blocks that is indicated as non-quarantined by any of the allocation histories, and of any set of physical blocks that is indicated as quarantined by any of the allocation histories.
    Type: Grant
    Filed: July 31, 2020
    Date of Patent: January 4, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Philippe Armangau, Vamsi K. Vankamamidi, Bruce E. Caram, Ajay Karri
  • Patent number: 11093454
    Abstract: Embodiments are directed to techniques for performing deduplication. A method includes (a) obtaining a digest of a data block logically-positioned within a filesystem, the digest providing a hash value of data of the data block, (b) searching a Most Wanted Digest Cache (MWDC) within system memory for the digest, (c) locating an entry in the MWDC using the digest, wherein this locating indicates that the data block has the same data as another data block located elsewhere within the filesystem, the other data block having been previously persistently-stored, the entry having been added to the MWDC in response to the other data block having been deduplicated at least a plurality number of times, (d) locating a mapping structure referenced by the entry located from the MWDC, the mapping structure providing metadata about the other data block, and (e) deduplicating the data block and the other data block with reference to the located mapping structure.
    Type: Grant
    Filed: October 31, 2017
    Date of Patent: August 17, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Philippe Armangau, Christopher A. Seibel, Bruce E. Caram, Yubing Wang, John Gillono
  • Patent number: 11068299
    Abstract: A technique for managing metadata in a data storage system includes receiving a set of data to be stored in a file system of the data storage system and calculating values of metadata blocks that the file system will use to organize the set of data in the file system. The technique aggregates values of the metadata blocks and sends them in a single, atomic transaction to a persistent cache. The transaction either succeeds, in which case the persistent cache stores the values of all of the metadata blocks, or it fails, in which case the persistent cache stores none of the values of the metadata blocks. Over time, the persistent cache flushes the values of the metadata blocks to a set of non-volatile storage devices that back the metadata blocks in the data storage system.
    Type: Grant
    Filed: August 4, 2017
    Date of Patent: July 20, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Philippe Armangau, Christopher A. Seibel, John Gillono, Bruce E. Caram, Yubing Wang, Jean-Pierre Bono
  • Patent number: 11048632
    Abstract: A method of assigning I/O requests to CPU cores of a data storage system includes, in a first operating mode, assigning I/O requests to CPU cores based on port affinity while maintaining a current I/O completion count, and regularly performing a first test-and-switch operation that includes (i) for a sample interval, temporarily assigning the I/O requests to the CPU cores based on core availability while obtaining a sample I/O completion count, (ii) comparing the first sample I/O completion count to the current I/O completion count, and (iii) based on the sample I/O completion count being greater than the current I/O completion count, switching to a second operating mode. In the second operating mode, I/O requests are assigned to the CPU cores based on core availability, and similar operations are performed for periodically testing whether to switch to the first operating mode.
    Type: Grant
    Filed: April 30, 2019
    Date of Patent: June 29, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Philippe Armangau, Bruce E. Caram, Rustem Rafikov
  • Publication number: 20210133156
    Abstract: A method, computer program product, and computing system for maintaining a first cursor pointer for a memory system, wherein the first cursor pointer concerns a first search criteria and identifies an initial first cursor starting location; receiving a first search request for the memory system that satisfies the first search criteria; executing the first search request within an initial first search window starting at the initial first cursor starting location; and updating the first cursor pointer to identify an updated first cursor starting location based, at least in part, upon the initial first search window.
    Type: Application
    Filed: November 5, 2019
    Publication date: May 6, 2021
    Inventors: Vamsi K. Vankamamidi, Philippe Armangau, Bruce E. Caram, Ajay Karri
  • Patent number: 10838721
    Abstract: A technique for processing IO (Input/Output) requests includes executing a first set of instructions for processing an IO request using a first thread on a CPU core and providing the first thread with an option, based on how busy the CPU core is, either (i) to execute a second set of instructions for further processing the IO request itself or (ii) to pass the IO request to a second thread on the CPU core, such that the second thread executes the second set of instructions instead of the first thread.
    Type: Grant
    Filed: March 31, 2016
    Date of Patent: November 17, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Philippe Armangau, Bruce E. Caram, Christopher A. Seibel, Jean-Pierre Bono
  • Publication number: 20200349079
    Abstract: A method of assigning I/O requests to CPU cores of a data storage system includes, in a first operating mode, assigning I/O requests to CPU cores based on port affinity while maintaining a current I/O completion count, and regularly performing a first test-and-switch operation that includes (i) for a sample interval, temporarily assigning the I/O requests to the CPU cores based on core availability while obtaining a sample I/O completion count, (ii) comparing the first sample I/O completion count to the current I/O completion count, and (iii) based on the sample I/O completion count being greater than the current I/O completion count, switching to a second operating mode. In the second operating mode, I/O requests are assigned to the CPU cores based on core availability, and similar operations are performed for periodically testing whether to switch to the first operating mode.
    Type: Application
    Filed: April 30, 2019
    Publication date: November 5, 2020
    Inventors: Philippe Armangau, Bruce E. Caram, Rustem Rafikov
  • Publication number: 20190129623
    Abstract: A storage technique includes selectively tagging a set of write requests by applying tags to write requests that are pursuant to copy operations and not applying tags to at least some write requests that are not pursuant to copy operations. For each of the set of write requests, the technique further includes performing a decision operation configured to (i) direct the write request down a first processing path that supports inline deduplication in response to the write request satisfying a set of criteria and (ii) direct the write request down a second processing path that does not support inline deduplication in response to the write request failing to satisfy the set of criteria. The set of criteria include whether the write request has a tag applied, such that the decision operation preferentially directs write requests down the first processing path in response to the write requests being tagged.
    Type: Application
    Filed: October 31, 2017
    Publication date: May 2, 2019
    Inventors: Philippe Armangau, Bruce E. Caram, Yining Si, Christopher A. Seibel
  • Publication number: 20190129970
    Abstract: Embodiments are directed to techniques for performing deduplication. A method includes (a) obtaining a digest of a data block logically-positioned within a filesystem, the digest providing a hash value of data of the data block, (b) searching a Most Wanted Digest Cache (MWDC) within system memory for the digest, (c) locating an entry in the MWDC using the digest, wherein this locating indicates that the data block has the same data as another data block located elsewhere within the filesystem, the other data block having been previously persistently-stored, the entry having been added to the MWDC in response to the other data block having been deduplicated at least a plurality number of times, (d) locating a mapping structure referenced by the entry located from the MWDC, the mapping structure providing metadata about the other data block, and (e) deduplicating the data block and the other data block with reference to the located mapping structure.
    Type: Application
    Filed: October 31, 2017
    Publication date: May 2, 2019
    Inventors: Philippe Armangau, Christopher A. Seibel, Bruce E. Caram, Yubing Wang, John Gillono