Patents by Inventor Thang Q. Nguyen

Thang Q. Nguyen 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: 9720847
    Abstract: A method and apparatus for calculating a victim way that is always the least recently used way. More specifically, in an m-set, n-way set associative cache, each way in a cache set comprises a valid bit that indicates that the way contains valid data. The valid bit is set when a way is written and cleared upon being invalidated, e.g., via a snoop address, The cache system comprises a cache LRU circuit which comprises an LRU logic unit associated with each cache set. The LRU logic unit comprises a FIFO of n-depth (in certain embodiments, the depth corresponds to the number of ways in the cache) and m-width. The FIFO performs push, pop and collapse functions. Each entry in the FIFO contains the encoded way number that was last accessed.
    Type: Grant
    Filed: July 17, 2013
    Date of Patent: August 1, 2017
    Assignee: NXP USA, INC.
    Inventors: Thang Q. Nguyen, John D. Coddington, Sanjay R. Deshpande
  • Patent number: 9665518
    Abstract: Ordered write transactions from requester devices to multiple target devices are controlled using switch point networks. The requester device and the multiple target devices for the write transactions are coupled to a network of interconnected switch points. Write requests are generated for a plurality of parcels associated with a block of data to be written. The write requests have a particular order associated with an order in which the parcels are to be written, and these write requests are provided to the switch point interconnection network in the particular order. At least one of the switch points is then used to control the flow of write requests to the multiple target devices such that the particular order is maintained. In one embodiment, the target devices are memory devices, and the particular order is based upon the AXI (Advanced eXtensible Interface) protocol.
    Type: Grant
    Filed: September 24, 2014
    Date of Patent: May 30, 2017
    Assignee: NXP USA, Inc.
    Inventors: Sanjay R. Deshpande, Mark A. Banse, John E. Larson, Fernando A. Morales, Thang Q. Nguyen
  • Patent number: 9632933
    Abstract: A plurality of processing units are interconnected by a coherency network in accordance with a directed spanning tree. Each processing unit that is a leaf of the directed spanning tree includes processing circuitry to provide a coherency response in response to a snoop request. Each processing unit which is not a root or leaf of the directed spanning tree includes switch point circuitry having one or more ingress ports coupled to neighboring processing units in accordance with the directed spanning tree. The switch point circuitry includes a coherency tracking table configured to store a combined coherency response in response to a particular snoop request based on one or more coherency responses received at the one or more ingress ports from the neighboring processing units.
    Type: Grant
    Filed: February 3, 2015
    Date of Patent: April 25, 2017
    Assignee: NXP USA, Inc.
    Inventors: Sanjay R. Deshpande, John E. Larson, Fernando A. Morales, Thang Q. Nguyen
  • Patent number: 9501442
    Abstract: In an system on a chip, multiple PCIe controllers may be present in which each PCIe controller may be configured to route input data to either itself or to another PCIe controller based on a priority level of the input data. Similarly, each PCIe controller may be configured to route output data by way of its own PCIe link or that of another PCIe controller based on a scheduling order which may be based on a priority level of the buffer in which the output data is stored. In this manner, multiple PCIe controllers which, in a first mode, are capable of operating independently from each other can be configured, in a second mode, to provide multiple channels for a single PCIe link, in which each channel may correspond to a different priority level.
    Type: Grant
    Filed: April 30, 2014
    Date of Patent: November 22, 2016
    Assignee: FREESCALE SEMICONDUCTOR, INC.
    Inventors: David B. Kramer, Thang Q. Nguyen
  • Patent number: 9497141
    Abstract: A network having a plurality of switch points, each switch point having both a main multi-stage pipeline and a look-ahead pipeline between input ports and output ports of the plurality of switch points is described. The look-ahead pipeline has fewer pipeline stages than the main multi-stage pipeline. Look-ahead information and corresponding packet are received at an input port. A first stage look-ahead request is generated from the look-ahead information. A second stage look-ahead request is generated in response to the first stage look-ahead request being not granted. And in response to the second stage look-ahead request being granted, transmitting a packet through the switch point using the look-ahead pipeline.
    Type: Grant
    Filed: February 17, 2015
    Date of Patent: November 15, 2016
    Assignee: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Thang Q. Nguyen, Mark A. Banse, Sanjay R. Deshpande, John E. Larson, Fernando A. Morales
  • Patent number: 9448741
    Abstract: Piggy-back snoops are used for non-coherent memory transactions in distributed processing systems. Coherent and non-coherent memory transactions are received from a plurality of processing cores within a distributed processing system. Non-coherent snoop information for the non-coherent memory transactions is combined with coherent snoop information for the coherent memory transactions to form expanded snoop messages. The expanded snoop messages are then output to a snoop bus interconnect during snoop cycles for the distributed processing system. As such, when the processing cores monitor the snoop bus interconnect, the processing cores receive the non-coherent snoop information along with coherent snoop information within the same snoop cycle. While this piggy-backing of non-coherent snoop information with coherent snoop information uses an expanded snoop bus interconnect, usage of the coherent snoop bandwidth is significantly reduced thereby improving overall performance of the distributed processing system.
    Type: Grant
    Filed: September 24, 2014
    Date of Patent: September 20, 2016
    Assignee: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Sanjay R. Deshpande, John E. Larson, Fernando A. Morales, Thang Q. Nguyen, Mark A. Banse
  • Publication number: 20160241492
    Abstract: A network having a plurality of switch points, each switch point having both a main multi-stage pipeline and a look-ahead pipeline between input ports and output ports of the plurality of switch points is described. The look-ahead pipeline has fewer pipeline stages than the main multi-stage pipeline. Look-ahead information and corresponding packet are received at an input port. A first stage look-ahead request is generated from the look-ahead information. A second stage look-ahead request is generated in response to the first stage look-ahead request being not granted. And in response to the second stage look-ahead request being granted, transmitting a packet through the switch point using the look-ahead pipeline.
    Type: Application
    Filed: February 17, 2015
    Publication date: August 18, 2016
    Inventors: THANG Q. NGUYEN, MARK A. BANSE, SANJAY R. DESHPANDE, JOHN E. LARSON, FERNANDO A. MORALES
  • Publication number: 20160224468
    Abstract: A plurality of processing units are interconnected by a coherency network in accordance with a directed spanning tree. Each processing unit that is a leaf of the directed spanning tree includes processing circuitry to provide a coherency response in response to a snoop request. Each processing unit which is not a root or leaf of the directed spanning tree includes switch point circuitry having one or more ingress ports coupled to neighboring processing units in accordance with the directed spanning tree. The switch point circuitry includes a coherency tracking table configured to store a combined coherency response in response to a particular snoop request based on one or more coherency responses received at the one or more ingress ports from the neighboring processing units.
    Type: Application
    Filed: February 3, 2015
    Publication date: August 4, 2016
    Inventors: SANJAY R. DESHPANDE, JOHN E. LARSON, FERNANDO A. MORALES, THANG Q. NGUYEN
  • Publication number: 20160085478
    Abstract: Piggy-back snoops are used for non-coherent memory transactions in distributed processing systems. Coherent and non-coherent memory transactions are received from a plurality of processing cores within a distributed processing system. Non-coherent snoop information for the non-coherent memory transactions is combined with coherent snoop information for the coherent memory transactions to form expanded snoop messages. The expanded snoop messages are then output to a snoop bus interconnect during snoop cycles for the distributed processing system. As such, when the processing cores monitor the snoop bus interconnect, the processing cores receive the non-coherent snoop information along with coherent snoop information within the same snoop cycle. While this piggy-backing of non-coherent snoop information with coherent snoop information uses an expanded snoop bus interconnect, usage of the coherent snoop bandwidth is significantly reduced thereby improving overall performance of the distributed processing system.
    Type: Application
    Filed: September 24, 2014
    Publication date: March 24, 2016
    Inventors: Sanjay R. Deshpande, John E. Larson, Fernando A. Morales, Thang Q. Nguyen, Mark A. Banse
  • Publication number: 20160085706
    Abstract: Ordered write transactions from requester devices to multiple target devices are controlled using switch point networks. The requester device and the multiple target devices for the write transactions are coupled to a network of interconnected switch points. Write requests are generated for a plurality of parcels associated with a block of data to be written. The write requests have a particular order associated with an order in which the parcels are to be written, and these write requests are provided to the switch point interconnection network in the particular order. At least one of the switch points is then used to control the flow of write requests to the multiple target devices such that the particular order is maintained. In one embodiment, the target devices are memory devices, and the particular order is based upon the AXI (Advanced eXtensible Interface) protocol.
    Type: Application
    Filed: September 24, 2014
    Publication date: March 24, 2016
    Inventors: Sanjay R. Deshpande, Mark A. Banse, John E. Larson, Fernando A. Morales, Thang Q. Nguyen
  • Patent number: 9195625
    Abstract: A data processing device includes an interconnect controller operable to manage the communication of information between modules of the data processing device via an interconnect. In response to a transaction request the interconnect controller selects a tag value from a set of available tag values, assigns the tag to the transaction and reserves the tag value so that it is unavailable for assignment to other transactions. If an expected response to the transaction request is not received within a designated amount of time, the transaction enters a timed-out state and the interconnect controller locks the tag value, so that it remains unavailable for assignment to other transactions until an unlock event, such as a request from software.
    Type: Grant
    Filed: October 29, 2009
    Date of Patent: November 24, 2015
    Assignee: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Gus P. Ikonomopoulos, Thang Q. Nguyen, Jose M. Nunez, Kun Xu
  • Publication number: 20150317266
    Abstract: In an system on a chip, multiple PCIe controllers may be present in which each PCIe controller may be configured to route input data to either itself or to another PCIe controller based on a priority level of the input data. Similarly, each PCIe controller may be configured to route output data by way of its own PCIe link or that of another PCIe controller based on a scheduling order which may be based on a priority level of the buffer in which the output data is stored. In this manner, multiple PCIe controllers which, in a first mode, are capable of operating independently from each other can be configured, in a second mode, to provide multiple channels for a single PCIe link, in which each channel may correspond to a different priority level.
    Type: Application
    Filed: April 30, 2014
    Publication date: November 5, 2015
    Inventors: DAVID B. KRAMER, Thang Q. Nguyen
  • Publication number: 20150026410
    Abstract: A method and apparatus for calculating a victim way that is always the least recently used way. More specifically, in an m-set, n-way set associative cache, each way a cache set comprises a valid bit that indicates that the way contains valid data. The valid bit is set when a way is written and cleared upon being invalidated, e.g., via a snoop address, The cache system comprises a cache LRU circuit which comprises an LRU logic unit associated with each cache set. The LRU logic unit comprises a FIFO of n-depth (in certain embodiments, the depth corresponds to the number of ways in the cache) and m-width. The FIFO performs push, pop and collapse functions. Each entry in the FIFO contains the encoded way number that was last accessed.
    Type: Application
    Filed: July 17, 2013
    Publication date: January 22, 2015
    Inventors: Thang Q. Nguyen, John D. Coddington, Sanjay R. Deshpande
  • Patent number: 8775699
    Abstract: A gasket of a data processing device controls the number of released storage locations of a buffer where read and write access requests are stored so that more read access requests can be stored without a corresponding increase in the amount of space at the buffer to store write access requests. An interface of the gasket accepts new access requests from one or more requesting modules only when a number of released storage locations at a buffer associated with the interface (referred to as an outbound buffer) is above a threshold number. As long as the number of stored access requests at the outbound buffer are less than a threshold amount, a buffer location can be immediately released. In addition, the gasket is configured to issue read access requests from the outbound buffer without regard to whether the inbound buffer has space available.
    Type: Grant
    Filed: March 1, 2011
    Date of Patent: July 8, 2014
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Thang Q. Nguyen, Gus P. Ikonomopoulos
  • Publication number: 20120226841
    Abstract: A gasket of a data processing device controls the number of released storage locations of a buffer where read and write access requests are stored so that more read access requests can be stored without a corresponding increase in the amount of space at the buffer to store write access requests. An interface of the gasket accepts new access requests from one or more requesting modules only when a number of released storage locations at a buffer associated with the interface (referred to as an outbound buffer) is above a threshold number. As long as the number of stored access requests at the outbound buffer are less than a threshold amount, a buffer location can be immediately released. In addition, the gasket is configured to issue read access requests from the outbound buffer without regard to whether the inbound buffer has space available.
    Type: Application
    Filed: March 1, 2011
    Publication date: September 6, 2012
    Applicant: Freescale Semiconductor, Inc.
    Inventors: Thang Q. Nguyen, Gus P. Ikonomopoulos
  • Patent number: 8090892
    Abstract: A device receives a first request from a requesting device for first information that is stored at contiguous address locations beginning at a first address. A plurality of spawned requests are generated that each request a different portion of the first information. A table location is allocated to each one of the plurality of requests, wherein the relative location of each allocated table location is indicative of an order that the information from each spawned request is to be returned to the requesting device relative to the information from each other spawned request.
    Type: Grant
    Filed: June 12, 2009
    Date of Patent: January 3, 2012
    Assignee: Freescale Semiconductor, Inc.
    Inventor: Thang Q. Nguyen
  • Publication number: 20110107065
    Abstract: A data processing device includes an interconnect controller operable to manage the communication of information between modules of the data processing device via an interconnect. In response to a transaction request the interconnect controller selects a tag value from a set of available tag values, assigns the tag to the transaction and reserves the tag value so that it is unavailable for assignment to other transactions. If an expected response to the transaction request is not received within a designated amount of time, the transaction enters a timed-out state and the interconnect controller locks the tag value, so that it remains unavailable for assignment to other transactions until an unlock event, such as a request from software.
    Type: Application
    Filed: October 29, 2009
    Publication date: May 5, 2011
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventors: Gus P. Ikonomopoulos, Thang Q. Nguyen, Jose M. Nunez, Kun Xu
  • Publication number: 20100318716
    Abstract: A device receives a first request from a requesting device for first information that is stored at contiguous address locations beginning at a first address. A plurality of spawned requests are generated that each request a different portion of the first information. A table location is allocated to each one of the plurality of requests, wherein the relative location of each allocated table location is indicative of an order that the information from each spawned request is to be returned to the requesting device relative to the information from each other spawned request.
    Type: Application
    Filed: June 12, 2009
    Publication date: December 16, 2010
    Applicant: FREESCALE SEMICONDUCTOR, INC.
    Inventor: Thang Q. Nguyen
  • Patent number: 7613775
    Abstract: Hashing and pattern matching are used in an information processing system to process incoming messages from a network such as an Ethernet-based network. Using hashing and pattern matching increases the efficiency of message acceptance and rejection without increasing software-based processor tasks. A hash function and a pattern matching function are performed on a message received by an information processing system, and the message is selectively accepted based on at least one of a hash result and a pattern matching result. The incoming message can be searched for the existence of patterns and the absence of the patterns. The incoming message can be searched for the existence of multiple patterns. The results of pattern matching can be used not only for acceptance and rejection of messages, but also for other post-receipt tasks such as selective storage of incoming messages according to identified relative priorities or absolute criticality of messages having particular pattern matches.
    Type: Grant
    Filed: November 25, 2003
    Date of Patent: November 3, 2009
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Carlos A. Greaves, Harold M. Martin, Thang Q. Nguyen, Jose M. Nunez
  • Patent number: 7480837
    Abstract: A maximum timeout time for a communication between devices is determined. A time period is determined for a plurality of time zones based upon the maximum timeout time. A current time zone is updated every time period. A timeout zone for an outstanding transaction is associated with a first time zone to indicate when the outstanding transaction will timeout if not completed. In one embodiment, the time period for each time zone is approximately equal to the maximum timeout period divided by a predetermined number of time zones, which may be the total number of time zones, e.g. eight or sixteen.
    Type: Grant
    Filed: June 1, 2005
    Date of Patent: January 20, 2009
    Assignee: Freescale Semiconductor, Inc.
    Inventors: Harold M. Martin, Thang Q. Nguyen, Gus P. Ikonomopoulos