Patents by Inventor Robert Allen Shearer
Robert Allen Shearer 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: 10852810Abstract: An integrated circuit comprising a plurality of last-level caches, a plurality of processor cores configured to access data in the plurality of last-level caches, and an interconnect network. The plurality of last-level caches can be placed in at least a high cache-power consumption mode and a low cache-power consumption mode. The plurality of last-level caches includes a first last-level cache and a second last-level cache. The interconnect network comprises a plurality of links that can be placed in at least a high link-power consumption mode and a low link-power consumption mode. The interconnect network is configured to cause a first subset of the plurality of links to be placed in the low link-power consumption mode based at least in part on the first last-level cache being in the low cache-power consumption mode.Type: GrantFiled: March 6, 2019Date of Patent: December 1, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Patrick P. Lai, Robert Allen Shearer
-
Patent number: 10591978Abstract: Processors may include cache circuitry that is a significant source of power consumption. A cache is going to be placed into a lower power mode. Based at least in part on this anticipated transition, the contents of the cache data lines are copied into persistent storage. While the cache is in the lower power mode, the tag circuitry is kept operational. When an access request is made to the cache, a relatively fast lookup of the tag in the tag array can be made. The location where the associated cache line is stored in the persistent storage may be determined from the tag data. Upon a tag hit, the system is able to find the contents of the requested cache line in the persistent storage without returning the storage array of the cache to a fully operational state.Type: GrantFiled: May 30, 2017Date of Patent: March 17, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Patrick P. Lai, Robert Allen Shearer
-
Patent number: 10565122Abstract: The lookup of accesses (including snoops) to cache tag ways is serialized to perform one (or less than all) tag way access per clock (or even slower). Thus, for a N-way set associative cache, instead of performing lookup/comparison on the N tag ways in parallel, the lookups are performed one tag way a time. Way prediction is utilized to select an order to look in the N ways. This can include selecting which tag way will be looked in first. This helps to reduce the average number of cycles and lookups required.Type: GrantFiled: May 30, 2017Date of Patent: February 18, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Patrick P. Lai, Robert Allen Shearer
-
Publication number: 20190204898Abstract: An integrated circuit comprising a plurality of last-level caches, a plurality of processor cores configured to access data in the plurality of last-level caches, and an interconnect network. The plurality of last-level caches can be placed in at least a high cache-power consumption mode and a low cache-power consumption mode. The plurality of last-level caches includes a first last-level cache and a second last-level cache. The interconnect network comprises a plurality of links that can be placed in at least a high link-power consumption mode and a low link-power consumption mode. The interconnect network is configured to cause a first subset of the plurality of links to be placed in the low link-power consumption mode based at least in part on the first last-level cache being in the low cache-power consumption mode.Type: ApplicationFiled: March 6, 2019Publication date: July 4, 2019Applicant: Microsoft Technology Licensing, LLCInventors: Patrick P. LAI, Robert Allen SHEARER
-
Patent number: 10324850Abstract: A cache system is configurable to trade power consumption for cache access latency. When it is desired for a system with a cache to conserve dynamic power, the lookup of accesses (e.g., snoops) to cache tag ways is serialized to perform one (or less than all) tag way access per clock (or even slower). Thus, for an N-way set associative cache, instead of performing a lookup/comparison on the N tag ways in parallel, the lookups are performed one tag way at a time. This take N times more cycles thereby reducing the access/snoop bandwidth by a factor of N. However, the power consumption of the serialized access when compared to ‘all parallel’ accesses/snoops is reduced.Type: GrantFiled: November 11, 2016Date of Patent: June 18, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Patrick P. Lai, Robert Allen Shearer
-
Patent number: 10318428Abstract: A multi-core processing chip where the last-level cache functionality is implemented by multiple last-level caches (a.k.a. cache slices) that are physically and logically distributed. The hash function used by the processors on the chip is changed according to which of last-level caches are active (e.g., ‘on’) and which are in a lower power consumption mode (e.g., ‘off’.) Thus, a first hash function is used to distribute accesses (i.e., reads and writes of data blocks) to all of the last-level caches when, for example, all of the last-level caches are ‘on.’ A second hash function is used to distribute accesses to the appropriate subset of the last-level caches when, for example, some of the last-level caches are ‘off.’ The chip controls the power consumption by turning on and off cache slices based on power states, and consequently dynamically switches among at least two hash functions.Type: GrantFiled: September 12, 2016Date of Patent: June 11, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Patrick P. Lai, Robert Allen Shearer
-
Patent number: 10310548Abstract: A circuit block is operated, for limited times, at a boosted frequency that is above the conventional maximum operating frequency specified to achieve an expected lifetime goal. The aging caused by both regular operation and boosted frequency operation is estimated and tracked block-by-block over the both the lifetime of the part and over shorter windows of time (e.g., daily, weekly, monthly, etc.) The shorter time windows are dynamically assigned aging budgets to ensure the part will still be expected to meet the expected lifetime even though its aging will be at an ‘accelerated’ rate whenever the block is operated at a boosted frequency. Aging budgets are assigned based on estimates of the amount of aging the block has experienced, and the amount of aging budget that is left for that time window.Type: GrantFiled: November 7, 2016Date of Patent: June 4, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Hee jun Park, Robert Allen Shearer, Victorya Vishnyakov
-
Patent number: 10241561Abstract: The hash function used by the processors on a multi-processor chip to distribute accesses to the various last-level caches via the links is changed according to which last-level caches (and/or links) that are active (e.g., ‘on’) and which are in a lower power consumption mode (e.g., ‘off’.) A first hash function is used to distribute accesses to all of the last-level caches and all of the links when all of the last-level caches are ‘on.’ A second hash function is used to distribute accesses to the appropriate subset of the last-level caches and corresponding subset of links when some of the last-level caches are ‘off.’ Data can be sent to only the active last-level caches via active links. By shutting off links connected to caches and components that are in a lower power consumption mode, the power consumption of the chip is reduced.Type: GrantFiled: June 13, 2017Date of Patent: March 26, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Patrick P. Lai, Robert Allen Shearer
-
Patent number: 10185378Abstract: Input power sequencing implementations for electronic, processing, and computing systems are presented herein. In one example, a method of providing power to operational elements of an electronic system is provided. The method includes maintaining sequencing information for the operational elements that indicates relative priorities and inrush delays for each of the operational elements. Responsive to ones of the operational elements requesting transition to a powered state, the method includes placing at least indications of the ones of the operational elements into a queue, establishing a power sequencing process for servicing the queue based at least on the sequencing information associated with the operational elements in the queue, and initiating the power sequencing process to provide input power to the operational elements in the queue.Type: GrantFiled: October 3, 2016Date of Patent: January 22, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Jay Shih Tsao, Robert Allen Shearer, Jonathan Ross
-
Patent number: 10181175Abstract: Methods for preprocessing pixel data using a Direct Memory Access (DMA) engine during a data transfer of the pixel data from a first memory (e.g., a DRAM) to a second memory (e.g., an SRAM) are described. The pixel data may derive from a color camera or a depth camera in which individual pixel values are not a multiple of eight bits. In some cases, the DMA engine may perform a variety of image processing operations on the pixel data prior to the pixel data being written into the second memory. In one embodiment, the DMA engine may be configured to determine whether one or more pixels corresponding with the pixel data may be invalidated or skipped based on a minimum pixel value threshold and a maximum pixel value threshold and to embed pixel skipping information within unused bits of the pixel data.Type: GrantFiled: December 17, 2014Date of Patent: January 15, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Ryan Scott Haraden, Matthew Ray Tubbs, Adam James Muff, Robert Allen Shearer
-
Publication number: 20180356874Abstract: The hash function used by the processors on a multi-processor chip to distribute accesses to the various last-level caches via the links is changed according to which last-level caches (and/or links) that are active (e.g., ‘on’) and which are in a lower power consumption mode (e.g., ‘off’.) A first hash function is used to distribute accesses to all of the last-level caches and all of the links when all of the last-level caches are ‘on.’ A second hash function is used to distribute accesses to the appropriate subset of the last-level caches and corresponding subset of links when some of the last-level caches are ‘off.’ Data can be sent to only the active last-level caches via active links. By shutting off links connected to caches and components that are in a lower power consumption mode, the power consumption of the chip is reduced.Type: ApplicationFiled: June 13, 2017Publication date: December 13, 2018Inventors: Patrick P. LAI, Robert Allen SHEARER
-
Publication number: 20180349284Abstract: The lookup of accesses (including snoops) to cache tag ways is serialized to perform one (or less than all) tag way access per clock (or even slower). Thus, for a N-way set associative cache, instead of performing lookup/comparison on the N tag ways in parallel, the lookups are performed one tag way a time. Way prediction is utilized to select an order to look in the N ways. This can include selecting which tag way will be looked in first. This helps to reduce the average number of cycles and lookups required.Type: ApplicationFiled: May 30, 2017Publication date: December 6, 2018Inventors: Patrick P. LAI, Robert Allen SHEARER
-
Publication number: 20180348847Abstract: Processors may include cache circuitry that is a significant source of power consumption. A cache is going to be placed into a lower power mode. Based at least in part on this anticipated transition, the contents of the cache data lines are copied into persistent storage. While the cache is in the lower power mode, the tag circuitry is kept operational. When an access request is made to the cache, a relatively fast lookup of the tag in the tag array can be made. The location where the associated cache line is stored in the persistent storage may be determined from the tag data. Upon a tag hit, the system is able to find the contents of the requested cache line in the persistent storage without returning the storage array of the cache to a fully operational state.Type: ApplicationFiled: May 30, 2017Publication date: December 6, 2018Inventors: Patrick P. LAI, Robert Allen SHEARER
-
Publication number: 20180336143Abstract: A first cache is paired at the same cache level with a second, higher capacity, but slower, cache. Access to both caches is performed in parallel and whichever cache hits and returns the data first is considered a valid cache read-hit. The higher capacity cache is configured to have multiple power saving modes while also having a high level of associativity in order to minimize conflicts and capacity misses. Transfers can move cache lines between the two caches at the same level (i.e., without crossing a large inter-cache level or inter-processor fabric) in order to adapt to changing access patterns. This functionality allows a balancing/trade-off between access latency and power consumption.Type: ApplicationFiled: May 22, 2017Publication date: November 22, 2018Inventors: Patrick P. LAI, Robert Allen SHEARER
-
Patent number: 10133300Abstract: Embodiments are disclosed for a method of executing instructions in a processing core of a microprocessor. In one embodiment, the method comprises, in a first clock domain, receiving an input from a second clock domain external to the first clock domain, the input comprising an indication from the second clock domain regarding whether to execute an instruction in the first clock domain. The method further comprises synchronizing the input from the second clock domain with the first clock domain, if the instruction is a predicatable instruction and the indication matches a predicate condition that indicates not to perform the instruction, then not performing the instruction, and otherwise performing the instruction.Type: GrantFiled: January 8, 2014Date of Patent: November 20, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Matthew Ray Tubbs, Robert Allen Shearer, Ryan Haraden
-
Publication number: 20180210836Abstract: A multi-core processing chip where the last-level cache is implemented by multiple last-level caches (a.k.a. cache slices) that are physically and logically distributed. The various processors of the chip decide which last-level cache is to hold a given data block by applying a temperature or reliability dependent hash function to the physical address. While the system is running, a last-level cache that is overheating, or is being overused, is no longer used by changing the hash function. Before accesses to the overheating cache are prevented, the contents of that cache are migrated to other last-level caches per the changed hash function. When a core processor associated with a last-level cache is shut down, or processes/threads are removed from that core, or when the core is overheating, use of the associated last-level cache can be prevented by changing the hash function and the contents migrated to other caches.Type: ApplicationFiled: January 24, 2017Publication date: July 26, 2018Inventors: Patrick P. Lai, Robert Allen Shearer
-
Publication number: 20180137054Abstract: A cache system is configurable to trade power consumption for cache access latency. When it is desired for a system with a cache to conserve dynamic power, the lookup of accesses (e.g., snoops) to cache tag ways is serialized to perform one (or less than all) tag way access per clock (or even slower). Thus, for an N-way set associative cache, instead of performing a lookup/comparison on the N tag ways in parallel, the lookups are performed one tag way at a time. This take N times more cycles thereby reducing the access/snoop bandwidth by a factor of N. However, the power consumption of the serialized access when compared to ‘all parallel’ accesses/snoops is reduced.Type: ApplicationFiled: November 11, 2016Publication date: May 17, 2018Inventors: Patrick P. Lai, Robert Allen Shearer
-
Publication number: 20180129243Abstract: A circuit block is operated, for limited times, at a boosted frequency that is above the conventional maximum operating frequency specified to achieve an expected lifetime goal. The aging caused by both regular operation and boosted frequency operation is estimated and tracked block-by-block over the both the lifetime of the part and over shorter windows of time (e.g., daily, weekly, monthly, etc.) The shorter time windows are dynamically assigned aging budgets to ensure the part will still be expected to meet the expected lifetime even though its aging will be at an ‘accelerated’ rate whenever the block is operated at a boosted frequency. Aging budgets are assigned based on estimates of the amount of aging the block has experienced, and the amount of aging budget that is left for that time window.Type: ApplicationFiled: November 7, 2016Publication date: May 10, 2018Inventors: Hee jun Park, Robert Allen Shearer, Victorya Vishnyakov
-
Publication number: 20180101219Abstract: A counter is maintained for power domains that can be powered-off or deactivated. When this counter is non-zero, the corresponding power domain is not powered-off, even if it is idle. Other agents (e.g., circuits or software running in other power domains) can write to an address that increments the counter, and to another address that decrements the counter. When an agent wants another power domain to remain powered-up (e.g., because that agent is about to use or communicate with the target power domain), it increments the count. When the agent no longer needs the target power domain to remain on, it decrements the count. Thus, as long as the count is non-zero, the target domain is maintained in an active (e.g. on) state. When the count reaches zero, it indicates that no agents need the target domain to remain active and therefore the target domain can be powered-off.Type: ApplicationFiled: October 6, 2016Publication date: April 12, 2018Inventors: Jonathan Ross, Robert Allen Shearer, Jay Tsao
-
Publication number: 20180095510Abstract: Input power sequencing implementations for electronic, processing, and computing systems are presented herein. In one example, a method of providing power to operational elements of an electronic system is provided. The method includes maintaining sequencing information for the operational elements that indicates relative priorities and inrush delays for each of the operational elements. Responsive to ones of the operational elements requesting transition to a powered state, the method includes placing at least indications of the ones of the operational elements into a queue, establishing a power sequencing process for servicing the queue based at least on the sequencing information associated with the operational elements in the queue, and initiating the power sequencing process to provide input power to the operational elements in the queue.Type: ApplicationFiled: October 3, 2016Publication date: April 5, 2018Inventors: Jay Shih Tsao, Robert Allen Shearer, Jonathan Ross