Patents by Inventor Robert Hower
Robert Hower 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: 12073119Abstract: Disclosed are techniques for processing uncommitted writes in a store queue. In an aspect, an apparatus comprises a processor and a dual store queue having an in-order queue (IOQ) for storing uncommitted writes and an uncommitted data gather queue (UGQ) for gathering uncommitted data. The dual store queue receives, from a processor, a first write instruction for writing first data to at least a portion of memory at a first memory address, allocates an IOQ entry corresponding to the first write instruction, and allocates or updates a UGQ entry associated with the first memory address to contain the first data.Type: GrantFiled: August 19, 2022Date of Patent: August 27, 2024Assignee: QUALCOMM IncorporatedInventors: Cerine Marguerite Hill, Derek Robert Hower
-
Publication number: 20240061612Abstract: Disclosed are techniques for processing uncommitted writes in a store queue. In an aspect, an apparatus comprises a processor and a dual store queue having an in-order queue (IOQ) for storing uncommitted writes and an uncommitted data gather queue (UGQ) for gathering uncommitted data. The dual store queue receives, from a processor, a first write instruction for writing first data to at least a portion of memory at a first memory address, allocates an IOQ entry corresponding to the first write instruction, and allocates or updates a UGQ entry associated with the first memory address to contain the first data.Type: ApplicationFiled: August 19, 2022Publication date: February 22, 2024Inventors: Cerine Marguerite HILL, Derek Robert HOWER
-
Patent number: 11243772Abstract: Certain aspects of the present disclosure provide techniques for training load value predictors, comprising: determining if a prediction has been made by one or more of a plurality of load value predictors; determining a misprediction has been made by one or more load value predictors of the plurality of load value predictors; training each of the one or more load value predictors that made the misprediction; and resetting a confidence value associated with each of the one or more load value predictors that made the misprediction.Type: GrantFiled: May 16, 2019Date of Patent: February 8, 2022Assignee: Qualcomm IncorporatedInventors: Rami Mohammad A. Al Sheikh, Derek Robert Hower
-
Publication number: 20200364055Abstract: Certain aspects of the present disclosure provide techniques for training load value predictors, comprising: determining if a prediction has been made by one or more of a plurality of load value predictors; determining a misprediction has been made by one or more load value predictors of the plurality of load value predictors; training each of the one or more load value predictors that made the misprediction; and resetting a confidence value associated with each of the one or more load value predictors that made the misprediction.Type: ApplicationFiled: May 16, 2019Publication date: November 19, 2020Inventors: Rami Mohammad A. AL SHEIKH, Derek Robert HOWER
-
Publication number: 20200356372Abstract: Providing early instruction execution in a processor, and related apparatuses, methods, and computer-readable media are disclosed. In one aspect, an apparatus comprises an early execution engine communicatively coupled to a front-end instruction pipeline and a local register file. The apparatus may be configured to use value prediction wherein all input values of the instructions are actually available early in the pipeline (in the front-end), even before the value producers have executed, thus, providing an opportunity for early executing such instructions, and avoid sending these early executed instructions to the power hungry out-of-order engine that may improve performance as well as energy efficiency. In other aspects, the front-end of the pipeline is augmented with a component for early executing simple operations (e.g.Type: ApplicationFiled: May 8, 2019Publication date: November 12, 2020Inventors: Rami Mohammad A. AL SHEIKH, Derek Robert HOWER
-
Patent number: 10831254Abstract: Allocating power between multiple central processing units (CPUs) in a multi-CPU processor based on total current availability and individual CPU quality-of-service (QoS) requirements is disclosed. Current from a power rail is allocated to CPUs by a global current manger (GCM) circuit related to performance criteria set by CPUs. The CPUs can request increased current allocation from the GCM circuit, such as in response to executing a higher performance task. If the increased current allocation request keeps total current on the power rail within its maximum rail current limit, the GCM circuit approves the request to allow the CPU increased current allocation. This can allow CPUs executing higher performance tasks to have a larger current allocation than CPUs executing lower performance tasks without the maximum rail current limit being exceeded, and without having to necessarily lower voltage of the power rail, which could unnecessarily lower performance of all CPUs.Type: GrantFiled: September 12, 2018Date of Patent: November 10, 2020Assignee: Qualcomm IncorporatedInventors: Shivam Priyadarshi, SeyedMajid Zahedi, Derek Robert Hower, Carl Alan Waldspurger, Jeffrey Todd Bridges, Sanjay Bhikhubhai Patel, Gabriel Martel Tarr, Chih Kang Lin, Ryan Donovan Wells, Harold Wade Cain, III
-
Patent number: 10678690Abstract: Providing fine-grained Quality of Service (QoS) control using interpolation for partitioned resources in processor-based systems is disclosed. In this regard, in one aspect, a processor-based system provides a partitioned resource (such as a system cache or memory access bandwidth to a shared system memory) that is subdivided into a plurality of partitions, and that is configured to service a plurality of resource clients. A resource allocation agent of the processor-based system provides a plurality of allocation indicators corresponding to each combination of resource client and partition, and indicating an allocation of each partition for each resource client. The resource allocation agent allocates the partitioned resource among the resource clients based on an interpolation of the plurality of allocation indicators.Type: GrantFiled: August 29, 2017Date of Patent: June 9, 2020Assignee: QUALCOMM IncorporatedInventors: Derek Robert Hower, Carl Alan Waldspurger, Vikramjit Sethi
-
Publication number: 20190086982Abstract: Allocating power between multiple central processing units (CPUs) in a multi-CPU processor based on total current availability and individual CPU quality-of-service (QoS) requirements is disclosed. Current from a power rail is allocated to CPUs by a global current manger (GCM) circuit related to performance criteria set by CPUs. The CPUs can request increased current allocation from the GCM circuit, such as in response to executing a higher performance task. If the increased current allocation request keeps total current on the power rail within its maximum rail current limit, the GCM circuit approves the request to allow the CPU increased current allocation. This can allow CPUs executing higher performance tasks to have a larger current allocation than CPUs executing lower performance tasks without the maximum rail current limit being exceeded, and without having to necessarily lower voltage of the power rail, which could unnecessarily lower performance of all CPUs.Type: ApplicationFiled: September 12, 2018Publication date: March 21, 2019Inventors: Shivam Priyadarshi, SeyedMajid Zahedi, Derek Robert Hower, Carl Alan Waldspurger, Jeffrey Todd Bridges, Sanjay Bhikhubhai Patel, Gabriel Martel Tarr, Chih Kang Lin, Ryan Donovan Wells, Harold Wade Cain, III
-
Publication number: 20190065374Abstract: Providing fine-grained Quality of Service (QoS) control using interpolation for partitioned resources in processor-based systems is disclosed. In this regard, in one aspect, a processor-based system provides a partitioned resource (such as a system cache or memory access bandwidth to a shared system memory) that is subdivided into a plurality of partitions, and that is configured to service a plurality of resource clients. A resource allocation agent of the processor-based system provides a plurality of allocation indicators corresponding to each combination of resource client and partition, and indicating an allocation of each partition for each resource client. The resource allocation agent allocates the partitioned resource among the resource clients based on an interpolation of the plurality of allocation indicators.Type: ApplicationFiled: August 29, 2017Publication date: February 28, 2019Inventors: Derek Robert Hower, Carl Alan Waldspurger, Vikramjit Sethi
-
Patent number: 9697126Abstract: Generating approximate usage measurements for shared cache memory systems is disclosed. In one aspect, a cache memory system is provided. The cache memory system comprises a shared cache memory system. A subset of the shared cache memory system comprises a Quality of Service identifier (QoSID) tracking tag configured to store a QoSID tracking indicator for a QoS class. The shared cache memory system further comprises a cache controller configured to receive a memory access request comprising a QoSID, and is configured to access a cache line corresponding to the memory access request. The cache controller is also configured to determine whether the QoSID of the memory access request corresponds to a cache line assigned to the QoSID. If so, the cache controller is additionally configured to update the QoSID tracking tag.Type: GrantFiled: September 22, 2015Date of Patent: July 4, 2017Assignee: QUALCOMM IncorporatedInventors: Derek Robert Hower, Harold Wade Cain, III
-
Patent number: 9678875Abstract: Providing shared cache memory allocation control in shared cached memory systems is disclosed. In one aspect, a cache controller of a shared cache memory system comprising a plurality of cache lines is provided. The cache controller comprises a cache allocation circuit providing a minimum mapping bitmask for mapping a Quality of Service (QoS) class to a minimum partition of the cache lines, and a maximum mapping bitmask for mapping the QoS class to a maximum partition of the cache lines. The cache allocation circuit receives a memory access request comprising a QoS identifier (QoSID) of the QoS class, and is configured to determine whether the memory access request corresponds to a cache line of the plurality of cache lines. If not, the cache allocation circuit selects, as a target partition, the minimum partition mapped to the QoS class or the maximum partition mapped to the QoS class.Type: GrantFiled: September 22, 2015Date of Patent: June 13, 2017Assignee: QUALCOMM IncorporatedInventors: Derek Robert Hower, Harold Wade Cain, III
-
Publication number: 20170147249Abstract: Systems and methods relate to distributed allocation of bandwidth for accessing a shared memory. A memory controller which controls access to the shared memory, receives requests for bandwidth for accessing the shared memory from a plurality of requesting agents. The memory controller includes a saturation monitor to determine a saturation level of the bandwidth for accessing the shared memory. A request rate governor at each requesting agent determines a target request rate for the requesting agent based on the saturation level and a proportional bandwidth share allocated to the requesting agent, the proportional share based on a Quality of Service (QoS) class of the requesting agent.Type: ApplicationFiled: June 24, 2016Publication date: May 25, 2017Inventors: Derek Robert HOWER, Harold Wade CAIN III, Carl Lan WALDSPURGER
-
Publication number: 20170091117Abstract: A cache fill line is received, including an index, a thread identifier, and cache fill line data. The cache is probed, using the index and a different thread identifier, for a potential duplicate cache line. The potential duplicate cache line includes cache line data and the different thread identifier. Upon the cache fill line data matching the cache line data, duplication is identified. The potential duplicate cache line is set as a shared resident cache line, and the thread share permission tag is set to a permission state.Type: ApplicationFiled: September 25, 2015Publication date: March 30, 2017Inventors: Harold Wade CAIN, III, Derek Robert HOWER, Raguram DAMODARAN, Thomas Andrew SARTORIUS
-
Publication number: 20170060750Abstract: Method and apparatus for cache way prediction using a plurality of partial tags are provided. In a cache-block address comprising a plurality of sets and a plurality of ways or lines, one of the sets is selected for indexing, and a plurality of distinct partial tags are identified for the selected set. A determination is made as to whether a partial tag for a new line collides with any of the partial tags for current resident lines in the selected set. If the partial tag for the new line does not collide with any of the partial tags for the current resident lines, then there is no aliasing. If the partial tag for the new line collides with any of the partial tags for the current resident lines, then aliasing may be avoided by reading the full tag array and updating the partial tags.Type: ApplicationFiled: September 2, 2015Publication date: March 2, 2017Inventors: Anil KRISHNA, Gregory Michael WRIGHT, Derek Robert HOWER
-
Publication number: 20160147656Abstract: Providing shared cache memory allocation control in shared cached memory systems is disclosed. In one aspect, a cache controller of a shared cache memory system comprising a plurality of cache lines is provided. The cache controller comprises a cache allocation circuit providing a minimum mapping bitmask for mapping a Quality of Service (QoS) class to a minimum partition of the cache lines, and a maximum mapping bitmask for mapping the QoS class to a maximum partition of the cache lines. The cache allocation circuit receives a memory access request comprising a QoS identifier (QoSID) of the QoS class, and is configured to determine whether the memory access request corresponds to a cache line of the plurality of cache lines. If not, the cache allocation circuit selects, as a target partition, the minimum partition mapped to the QoS class or the maximum partition mapped to the QoS class.Type: ApplicationFiled: September 22, 2015Publication date: May 26, 2016Inventors: Derek Robert Hower, Harold Wade Cain, III
-
Publication number: 20160147655Abstract: Generating approximate usage measurements for shared cache memory systems is disclosed. In one aspect, a cache memory system is provided. The cache memory system comprises a shared cache memory system. A subset of the shared cache memory system comprises a Quality of Service identifier (QoSID) tracking tag configured to store a QoSID tracking indicator for a QoS class. The shared cache memory system further comprises a cache controller configured to receive a memory access request comprising a QoSID, and is configured to access a cache line corresponding to the memory access request. The cache controller is also configured to determine whether the QoSID of the memory access request corresponds to a cache line assigned to the QoSID. If so, the cache controller is additionally configured to update the QoSID tracking tag.Type: ApplicationFiled: September 22, 2015Publication date: May 26, 2016Inventors: Derek Robert Hower, Harold Wade Cain, III
-
Publication number: 20150363322Abstract: A method and system includes generating a cache entry comprising cache line data for a plurality of cache clients and receiving a cache invalidate instruction from a first of the plurality of cache clients. In response to the cache invalidate instruction, the data valid/invalid state is changed for the first cache client to an invalid state without modifying the data valid/invalid state for the other of the plurality of cache clients from the valid state. A read instruction may be received from a second of the plurality of cache clients and in response to the read instruction, a value stored in the cache line data is returned to the second cache client while the data valid/invalid state for the first cache client is in the invalid state and the data valid/invalid state for the second cache client is in the valid state.Type: ApplicationFiled: July 21, 2014Publication date: December 17, 2015Inventors: LEE WILLIAM HOWES, BENEDICT RUEBEN GASTER, DEREK ROBERT HOWER
-
Publication number: 20090143761Abstract: The use of an automated, controllable, and affixable pulsatile for treating diseases, having an automated controller for controlling the delivery of drug to a patient, an agent delivery reservoir containing an agent operatively connected to the automated controller, a reservoir controller operatively connected to the automated controller and the reservoir for controlling the delivery of agent to a patient, and a feedback control operatively connected to the automated controller for providing feedback with regard to the drug requirements of the patient for use in treating diseases.Type: ApplicationFiled: December 3, 2007Publication date: June 4, 2009Applicant: TRANSDERMAL PATENTS COMPANY, LLCInventors: Hal C. Cantor, Scott A. Cantor, Kenneth H. Swartz, Robert Hower
-
Publication number: 20080154179Abstract: An automated, controllable, and affixable pulsatile agent delivery system having an automated controller for controlling the delivery of drug to a patient, an agent delivery reservoir containing an agent operatively connected to the automated controller, a reservoir controller operatively connected to the automated controller and the reservoir for controlling the delivery of agent to a patient, and a feedback control operatively connected to the automated controller for providing feedback with regard to the drug requirements of the patient. A method of delivering an agent to a patient in need of the same by administering the above agent delivery system to a patient, determining an amount of agent needed for the patient, and affecting administration of the agent to the patient via the agent delivery system.Type: ApplicationFiled: December 3, 2007Publication date: June 26, 2008Applicant: TRANSDERMAL PATENTS COMPANY, LLCInventors: Hal C. Cantor, Scott A. Cantor, Kenneth H. Swartz, Robert Hower
-
Publication number: 20050175505Abstract: A micro-device for testing for agents in a fluid including at least one micro-chamber and a sensor for sensing agents in the fluid, the sensor is located within the micro-chamber. A micro-device for testing for agents in a fluid including a micro-chamber and a micro-fluidic system, the micro-fluidic system is used for pumping the fluid into the micro-chamber. A micro-device for testing for agents in a fluid including a miniature micro-chamber for testing for agents in a small amount of fluid.Type: ApplicationFiled: March 20, 2003Publication date: August 11, 2005Inventors: Hal Cantor, Robert Hower, Lucian Cosmin