Patents by Inventor Klas M. Bruce
Klas M. Bruce 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: 9026742Abstract: A processor provides memory request and a coherency state value for a coherency granule associated with a memory request. The processor further provides either a first indicator or a second indicator depending on whether the coherency state value represents a cumulative coherency state for a plurality of caches of the processor. The first indicator and the second indicator identify the coherency state value as representing a cumulative coherency state or a potentially non-cumulative coherency state, respectively. If the second indicator is provided, a transaction management module determines whether to request the cumulative coherency state for the coherency granule in response to receiving the second indicator. The transaction management module then provides an indicator of the request for the cumulative coherency state to the processor in response to determining to request the cumulative coherency state.Type: GrantFiled: December 21, 2007Date of Patent: May 5, 2015Assignee: Freescale Semiconductor, Inc.Inventors: Sanjay R. Deshpande, Klas M. Bruce, Michael D. Snyder
-
Patent number: 8832702Abstract: A technique for scheduling execution of threads at a processor is disclosed. The technique includes executing a thread de-emphasis instruction of a thread that de-emphasizes the thread until the number of pending memory transactions, such as cache misses, associated with the thread are at or below a threshold. While the thread is de-emphasized, other threads at the processor that have a higher priority can be executed or assigned system resources. Accordingly, the likelihood of a stall in the processor is reduced.Type: GrantFiled: May 10, 2007Date of Patent: September 9, 2014Assignee: Freescale Semiconductor, Inc.Inventors: Klas M. Bruce, Sergio Schuler, Matt B. Smittle, Michael D. Snyder, Gary L. Whisenhunt
-
Patent number: 8380779Abstract: A system is used to determine if a sum of a first operand and a second operand is the same as a third operand wherein a comparison to the third operand is of variable length. This is particularly useful in a content addressable memory (CAM) where the likelihood of hit is commonly improved over a set associative cache and allows for the CAM to identify different things. For example, an entry can be one length to identify a page of a memory and another entry be a different length to identify a page of memory. This is better understood by reference to the following description and the drawings.Type: GrantFiled: May 29, 2009Date of Patent: February 19, 2013Assignee: Freescale Semiconductor, Inc.Inventors: Klas M. Bruce, Michael D. Snyder, Ravindraraj Ramaraju, David R. Bearden
-
Patent number: 8122437Abstract: In a data processing system, a marked bit is used to identify a data access instruction throughout the pipeline to indicate that the instruction meets user-specified criteria (e.g., a meets a data address range of interest). Based on the marked bit, an in-order program correlation message is generated which indicates when the data access instruction occurs relative to the instruction stream. The marked bit is also used to generate an in-order data trace message. As a result, the trace streams including only data access instructions meeting user-specified criteria may be post-processed and correlated precisely.Type: GrantFiled: March 31, 2008Date of Patent: February 21, 2012Assignee: Freescale Semiconductor, Inc.Inventors: Zheng Xu, Suraj Bhaskaran, Klas M. Bruce, Jason T. Nearing, Paul B. Rawlins, Matt B. Smittle, Michael D. Snyder
-
Publication number: 20100306302Abstract: A system is used to determine if a sum of a first operand and a second operand is the same as a third operand wherein a comparison to the third operand is of variable length. This is particularly useful in a content addressable memory (CAM) where the likelihood of hit is commonly improved over a set associative cache and allows for the CAM to identify different things. For example, an entry can be one length to identify a page of a memory and another entry be a different length to identify a page of memory. This is better understood by reference to the following description and the drawings.Type: ApplicationFiled: May 29, 2009Publication date: December 2, 2010Inventors: Ravindraraj Ramaraju, David R. Bearden, Klas M. Bruce, Michael D. Snyder
-
Patent number: 7827360Abstract: A method and device for locking a cache line of a cache is disclosed. The method includes automatically changing a state of a cache line from a valid locked state to an invalid locked state in response to receiving an indication that a memory location external to the cache and corresponding to the cache line is associated with an access request by a processor or other data access module. Thus, the locked state of a cache line is maintained even after data in the locked cache line is invalidated. By maintaining the invalid locked state, the cache line is not available for reallocation by the cache. This allows locked cache lines that become invalidated to remain locked without additional software overhead to periodically determine whether the lock has been lost due to invalidation of the cache line.Type: GrantFiled: August 2, 2007Date of Patent: November 2, 2010Assignee: Freescale Semiconductor, Inc.Inventors: Syed R. Rahman, David F. Greenberg, Kathryn C. Stacer, Klas M. Bruce, Matt B. Smittle, Michael D. Snyder, Gary L. Whisenhunt
-
Patent number: 7793172Abstract: Methods and systems for configuring characteristics associated with at least one portion of a memory array comprising addressable units are provided. In one aspect, a method for controlling a power supply voltage for a memory array comprises detecting whether an error occurred in performing a read operation on an addressable unit of the memory array using a first power supply voltage coupled to the memory array. The method further comprises incrementing an error counter for tracking an error count associated with the memory array and switching the memory array to a second power supply voltage if the error count is equal to or exceeds an error threshold for the memory array. The method further comprises, based on at least one condition, switching the memory array to the first power supply voltage and resetting the error counter to an initial value.Type: GrantFiled: September 28, 2006Date of Patent: September 7, 2010Assignee: Freescale Semiconductor, Inc.Inventors: Klas M. Bruce, Andrew C. Russell, Shayan Zhang, Bradford L. Hunter
-
Publication number: 20090249302Abstract: In a data processing system, a marked bit is used to identify a data access instruction throughout the pipeline to indicate that the instruction meets user-specified criteria (e.g., a meets a data address range of interest). Based on the marked bit, an in-order program correlation message is generated which indicates when the data access instruction occurs relative to the instruction stream. The marked bit is also used to generate an in-order data trace message. As a result, the trace streams including only data access instructions meeting user-specified criteria may be post-processed and correlated precisely.Type: ApplicationFiled: March 31, 2008Publication date: October 1, 2009Inventors: Zheng Xu, Suraj Bhaskaran, Klas M. Bruce, Jason T. Nearing, Paul B. Rawlins, Matt B. Smittle, Michael D. Snyder
-
Publication number: 20090164737Abstract: A processor provides memory request and a coherency state value for a coherency granule associated with a memory request. The processor further provides either a first indicator or a second indicator depending on whether the coherency state value represents a cumulative coherency state for a plurality of caches of the processor. The first indicator and the second indicator identify the coherency state value as representing a cumulative coherency state or a potentially non-cumulative coherency state, respectively. If the second indicator is provided, a transaction management module determines whether to request the cumulative coherency state for the coherency granule in response to receiving the second indicator. The transaction management module then provides an indicator of the request for the cumulative coherency state to the processor in response to determining to request the cumulative coherency state.Type: ApplicationFiled: December 21, 2007Publication date: June 25, 2009Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Sanjay R. Deshpande, Klas M. Bruce, Michael D. Snyder
-
Publication number: 20090113137Abstract: A multi-way cache system includes multi-way cache storage circuitry, a pseudo least recently used (PLRU) tree state representative of a PLRU tree, the PLRU tree having a plurality of levels, and PLRU control circuitry coupled to the multi-way cache storage circuitry and the PLRU tree state. The PLRU control circuitry has programmable PLRU tree level update enable circuitry which selects Y levels of the plurality of levels of the PLRU tree to be updated. The PLRU control circuitry, in response to an address hitting or resulting in an allocation in the multi-way cache storage circuitry, updates only the selected Y levels of the PLRU tree state.Type: ApplicationFiled: October 30, 2007Publication date: April 30, 2009Inventors: Brian C. Grayson, Klas M. Bruce, Anhdung D. Ngo, Michael D. Snyder
-
Publication number: 20090037666Abstract: A method and device for locking a cache line of a cache is disclosed. The method includes automatically changing a state of a cache line from a valid locked state to an invalid locked state in response to receiving an indication that a memory location external to the cache and corresponding to the cache line is associated with an access request by a processor or other data access module. Thus, the locked state of a cache line is maintained even after data in the locked cache line is invalidated. By maintaining the invalid locked state, the cache line is not available for reallocation by the cache. This allows locked cache lines that become invalidated to remain locked without additional software overhead to periodically determine whether the lock has been lost due to invalidation of the cache line.Type: ApplicationFiled: August 2, 2007Publication date: February 5, 2009Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Syed R. Rahman, David F. Greenberg, Kathryn C. Stacer, Klas M. Bruce, Matt B. Smittle, Michael D. Snyder, Gary L. Whisenhunt
-
Publication number: 20080282251Abstract: A technique for scheduling execution of threads at a processor is disclosed. The technique includes executing a thread de-emphasis instruction of a thread that de-emphasizes the thread until the number of pending memory transactions, such as cache misses, associated with the thread are at or below a threshold. While the thread is de-emphasized, other threads at the processor that have a higher priority can be executed or assigned system resources. Accordingly, the likelihood of a stall in the processor is reduced.Type: ApplicationFiled: May 10, 2007Publication date: November 13, 2008Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Klas M. Bruce, Sergio Schuler, Matt B. Smittle, Michael D. Snyder, Gary L. Whisenhunt
-
Publication number: 20080091990Abstract: Methods and systems for configuring characteristics associated with at least one portion of a memory array comprising addressable units are provided. In one aspect, a method for controlling a power supply voltage for a memory array comprises detecting whether an error occurred in performing a read operation on an addressable unit of the memory array using a first power supply voltage coupled to the memory array. The method further comprises incrementing an error counter for tracking an error count associated with the memory array and switching the memory array to a second power supply voltage if the error count is equal to or exceeds an error threshold for the memory array. The method further comprises, based on at least one condition, switching the memory array to the first power supply voltage and resetting the error counter to an initial value.Type: ApplicationFiled: September 28, 2006Publication date: April 17, 2008Inventors: Klas M. Bruce, Andrew C. Russell, Shayan Zhang, Bradford L. Hunter