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: 9026742
    Abstract: 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: Grant
    Filed: December 21, 2007
    Date of Patent: May 5, 2015
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Sanjay R. Deshpande, Klas M. Bruce, Michael D. Snyder
  • Patent number: 8832702
    Abstract: 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: Grant
    Filed: May 10, 2007
    Date of Patent: September 9, 2014
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Klas M. Bruce, Sergio Schuler, Matt B. Smittle, Michael D. Snyder, Gary L. Whisenhunt
  • Patent number: 8380779
    Abstract: 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: Grant
    Filed: May 29, 2009
    Date of Patent: February 19, 2013
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Klas M. Bruce, Michael D. Snyder, Ravindraraj Ramaraju, David R. Bearden
  • Patent number: 8122437
    Abstract: 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: Grant
    Filed: March 31, 2008
    Date of Patent: February 21, 2012
    Assignee: 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: 20100306302
    Abstract: 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: Application
    Filed: May 29, 2009
    Publication date: December 2, 2010
    Inventors: Ravindraraj Ramaraju, David R. Bearden, Klas M. Bruce, Michael D. Snyder
  • Patent number: 7827360
    Abstract: 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: Grant
    Filed: August 2, 2007
    Date of Patent: November 2, 2010
    Assignee: 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: 7793172
    Abstract: 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: Grant
    Filed: September 28, 2006
    Date of Patent: September 7, 2010
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Klas M. Bruce, Andrew C. Russell, Shayan Zhang, Bradford L. Hunter
  • Publication number: 20090249302
    Abstract: 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: Application
    Filed: March 31, 2008
    Publication date: October 1, 2009
    Inventors: Zheng Xu, Suraj Bhaskaran, Klas M. Bruce, Jason T. Nearing, Paul B. Rawlins, Matt B. Smittle, Michael D. Snyder
  • Publication number: 20090164737
    Abstract: 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: Application
    Filed: December 21, 2007
    Publication date: June 25, 2009
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Sanjay R. Deshpande, Klas M. Bruce, Michael D. Snyder
  • Publication number: 20090113137
    Abstract: 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: Application
    Filed: October 30, 2007
    Publication date: April 30, 2009
    Inventors: Brian C. Grayson, Klas M. Bruce, Anhdung D. Ngo, Michael D. Snyder
  • Publication number: 20090037666
    Abstract: 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: Application
    Filed: August 2, 2007
    Publication date: February 5, 2009
    Applicant: 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: 20080282251
    Abstract: 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: Application
    Filed: May 10, 2007
    Publication date: November 13, 2008
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Klas M. Bruce, Sergio Schuler, Matt B. Smittle, Michael D. Snyder, Gary L. Whisenhunt
  • Publication number: 20080091990
    Abstract: 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: Application
    Filed: September 28, 2006
    Publication date: April 17, 2008
    Inventors: Klas M. Bruce, Andrew C. Russell, Shayan Zhang, Bradford L. Hunter