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: 11755233Abstract: 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: GrantFiled: April 23, 2021Date of Patent: September 12, 2023Assignee: EMC IP Holding Company, LLCInventors: Vamsi K. Vankamamidi, Bruce E. Caram, Ajay Karri, Alexei Karaban
-
Patent number: 11630584Abstract: 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: GrantFiled: November 5, 2019Date of Patent: April 18, 2023Assignee: EMC IP HOLDING COMPANY, LLCInventors: Vamsi K. Vankamamidi, Philippe Armangau, Bruce E. Caram, Ajay Karri
-
Publication number: 20220357871Abstract: 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: ApplicationFiled: April 23, 2021Publication date: November 10, 2022Inventors: Vamsi K. Vankamamidi, Bruce E. Caram, Ajay Karri, Alexei Karaban
-
Publication number: 20220342599Abstract: 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: ApplicationFiled: April 23, 2021Publication date: October 27, 2022Inventors: Bruce E. Caram, Vamsi K. Vankamamidi, Philippe Armangau, Ajay Karri
-
Patent number: 11216195Abstract: 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: GrantFiled: July 31, 2020Date of Patent: January 4, 2022Assignee: EMC IP Holding Company LLCInventors: Philippe Armangau, Vamsi K. Vankamamidi, Bruce E. Caram, Ajay Karri
-
Patent number: 11093454Abstract: 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: GrantFiled: October 31, 2017Date of Patent: August 17, 2021Assignee: EMC IP Holding Company LLCInventors: Philippe Armangau, Christopher A. Seibel, Bruce E. Caram, Yubing Wang, John Gillono
-
Patent number: 11068299Abstract: 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: GrantFiled: August 4, 2017Date of Patent: July 20, 2021Assignee: EMC IP Holding Company LLCInventors: Philippe Armangau, Christopher A. Seibel, John Gillono, Bruce E. Caram, Yubing Wang, Jean-Pierre Bono
-
Patent number: 11048632Abstract: 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: GrantFiled: April 30, 2019Date of Patent: June 29, 2021Assignee: EMC IP Holding Company LLCInventors: Philippe Armangau, Bruce E. Caram, Rustem Rafikov
-
Publication number: 20210133156Abstract: 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: ApplicationFiled: November 5, 2019Publication date: May 6, 2021Inventors: Vamsi K. Vankamamidi, Philippe Armangau, Bruce E. Caram, Ajay Karri
-
Patent number: 10838721Abstract: 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: GrantFiled: March 31, 2016Date of Patent: November 17, 2020Assignee: EMC IP Holding Company LLCInventors: Philippe Armangau, Bruce E. Caram, Christopher A. Seibel, Jean-Pierre Bono
-
Publication number: 20200349079Abstract: 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: ApplicationFiled: April 30, 2019Publication date: November 5, 2020Inventors: Philippe Armangau, Bruce E. Caram, Rustem Rafikov
-
Publication number: 20190129970Abstract: 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: ApplicationFiled: October 31, 2017Publication date: May 2, 2019Inventors: Philippe Armangau, Christopher A. Seibel, Bruce E. Caram, Yubing Wang, John Gillono
-
Publication number: 20190129623Abstract: 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: ApplicationFiled: October 31, 2017Publication date: May 2, 2019Inventors: Philippe Armangau, Bruce E. Caram, Yining Si, Christopher A. Seibel
-
Patent number: 10268381Abstract: 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: GrantFiled: October 31, 2017Date of Patent: April 23, 2019Assignee: EMC IP Holding Company LLCInventors: Philippe Armangau, Bruce E. Caram, Yining Si, Christopher A. Seibel
-
Patent number: 10203880Abstract: A technique writes data to a storage array. The technique involves operating storage circuitry in a “FILL HOLE” mode in which the circuitry writes a stream of first data portions within storage portions of used storage stripes of the array. The technique further involves, after operating the circuitry in the “FILL HOLE” mode and in response to a first event, transitioning the circuitry from the “FILL HOLE” mode to a “STRIPE WRITE” mode in which the circuitry writes a stream of second data portions within unused storage stripes of the array. The technique further involves, after operating the circuitry in the “STRIPE WRITE” mode and in response to a second event, transitioning the circuitry from the “STRIPE WRITE” mode back to the “FILL HOLE” mode in which the circuitry writes a stream of third data portions within storage portions of used storage stripes of the array.Type: GrantFiled: September 29, 2016Date of Patent: February 12, 2019Assignee: EMC IP Holding Company LLCInventors: Philippe Armangau, Bruce E. Caram, Christopher A. Seibel, Christopher Jones
-
Patent number: 9747222Abstract: A technique for controlling acceptance of host application data into a data log in a data storage system includes selectively accepting or refusing newly arriving host data into the data log based on a comparison between an oldest entry in the data log and an age threshold. The age threshold is dynamically updated based on system heuristics. As long as the oldest log entry is younger than the age threshold, the data log continues to accept newly arriving host application data, acknowledging IO requests to host applications as the data specified in those requests is entered into the log. However, when the oldest log entry is older than the age threshold, new log entries are temporarily refused entry into the data log. Instead, newly arriving data are placed in a pending list, where they are kept until the data log is again accepting new log entries.Type: GrantFiled: March 31, 2016Date of Patent: August 29, 2017Assignee: EMC IP Holding Company LLCInventors: Philippe Armangau, Bruce E. Caram, Christopher A. Seibel
-
Patent number: 8463901Abstract: A packet processing system comprises two packet inspection systems for tracking packet flows between a first network and a second network. A memory is accessible by each of the packet inspection systems for storing flow entries. Each of the flow entries includes a flow key characterizing a packet flow associated with flow entry, a flow identifier. State information is further maintained indicating ownership of the flow identifiers among the two packet inspection systems. Using stateful identifiers ensures that two packet processing systems do not become incoherent and properly indicate the status of free flow identifiers.Type: GrantFiled: May 28, 2010Date of Patent: June 11, 2013Inventor: Bruce E. Caram
-
Publication number: 20110296002Abstract: A packet processing system comprises two packet inspection systems for tracking packet flows between a first network and a second network. A memory is accessible by each of the packet inspection systems for storing flow entries. Each of the flow entries includes a flow key characterizing a packet flow associated with flow entry, a flow identifier. State information is further maintained indicating ownership of the flow identifiers among the two packet inspection systems. Using stateful identifiers ensures that two packet processing systems do not become incoherent and properly indicate the status of free flow identifiers.Type: ApplicationFiled: May 28, 2010Publication date: December 1, 2011Applicant: ARBOR NETWORKS, INC.Inventor: Bruce E. Caram
-
Patent number: 7826358Abstract: A system and method of providing high speed, prioritized delivery of data packets over broadband communications networks that avoids inducing unwanted latency in data packet transmission. The system employs a hierarchical, real-time, weighted token bucket prioritization scheme that provides for fair sharing of the available network bandwidth. At least one token bucket is employed at each level of the hierarchy to meter data flows providing service applications included in multiple subscribers' service plans. Each token bucket passes, discards, or marks as being eligible for subsequent discarding data packets contained in the data flows using an algorithm that takes into account the priority of the data packets, including strict high, strict medium, and strict low priorities corresponding to strict priority levels that cannot be overridden. The algorithm also takes into account weighted priorities of at least a subset of the low priority data packets.Type: GrantFiled: December 29, 2006Date of Patent: November 2, 2010Assignee: Ellacoya Networks, Inc.Inventor: Bruce E. Caram
-
Patent number: 7743166Abstract: Methods and systems for providing scaleable flow based application control in private and public Internet. A flow table can be used to control the application and subscriber traffic for communication flows in access networks. The flow table entry can provide granular, unidirectional packet transmission of data for all or a subset of all host and application communications originating from or destined to network hosts in the access network. Using a flow table entry for multiple unidirectional packet transmissions of data provides efficient use of flow table entries and allows varying operator control of application communication exchanges between network hosts and applications. By using variable masking techniques, the flow table can be used for varying degrees of control over the packet transmissions in the network.Type: GrantFiled: September 30, 2003Date of Patent: June 22, 2010Assignee: Ellacoya Networks, Inc.Inventors: Kurt A. Dobbins, Brett A. Miller, Bruce E. Caram