IP Library Granted Patent US 8,990,436
Granted Patent B2
US 8,990,436 · App. 13/904,379 · Granted Mar 24, 2015

Method for handling access transactions and related system

Inventors: Daniele Mangano (San Gregorio di Catania, IT); Salvatore Pisasale (Catania, IT); Mirko Dondini (Catania, IT)
Assignee: STMicroelectronics S.r.l.
G06F9/466G06F13/1626G06F2213/0038
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,990,436
App. No.
13/904,379
Granted
Mar 24, 2015
Kind
B2
Abstract

In an embodiment, access transactions of at least one module of a system such as a System-on-Chip (SoC) to one of a plurality of target modules, such as memories, are managed by assigning transactions identifiers subjected to a consistency check. If an input identifier to the check has already been issued for the same given target module, to the related identifier/given target module pair the same input identifier is assigned as a consistent output identifier. If, on the contrary, said input identifier to the check has not been already issued or has already been issued for a target module different from the considered one, to the related identifier/given target module pair a new identifier, different from the input identifier, is assigned as a consistent output identifier.

Claims (51)

1. An apparatus comprising:

a processor configured to generate a plurality of transactions;

a plurality of target circuits each having an address; and

a logic circuit coupled between said processor and said plurality of target circuits;

said logic circuit comprising

an identifying circuit configured to generate an identifier for each transaction based upon at least one address associated with each transaction, wherein not all transactions have the same address and identifier, and

a queuing circuit configured to

store the plurality of transactions in response to the

identifier and in a look-up table, and

reorder the stored plurality of transactions in the look-up table based upon transactions having a same identifier and a same address and with a respective occurrence count in the look-up table, the respective occurrence count representing a number of times the same identifier and the same address have occurred in prior transactions.

2. The apparatus of claim 1 wherein the at least one address is associated with a physical space in which at least a portion of each transaction is to be conducted.

3. The apparatus of claim 1 wherein the at least one address is associated with a virtual space in which at least a portion of the transaction is to be conducted.

4. The apparatus of claim 1 wherein the identifier includes a position comprising a time at which each transaction is to be conducted relative to at least one other transaction associated with the at least one address.

5. The apparatus of claim 1 wherein the queuing circuit is configured to store the transaction for conduction.

6. The apparatus of claim 1 wherein the queuing circuit includes a buffer that corresponds to the at least one address represented by the identifier; and wherein said queuing circuit is configured to store the transaction in a location of the buffer, the location corresponding to a position represented by the identifier.

7. The apparatus of claim 1 wherein the queuing circuit includes a first-in-first-out buffer that corresponds to the at least one address represented by the identifier; and wherein said queuing circuit is configured to load each transaction into the first-in-first-out buffer at a relative time associated with a position represented by the identifier.

8. A circuit to be coupled between a processor generating a plurality of transactions, and a plurality of target circuits each having an address, the circuit comprising:

an identifying circuit configured to generate an identifier for each transaction based upon at least one address associated with each transaction, wherein not all transactions have the same address and identifier; and

a queuing circuit configured to

store the plurality of transactions in response to the identifier and in a look-up table, and

reorder the stored plurality of transactions in the look-up table based upon transactions having a same identifier and a same address and with a respective occurrence count in the look-up table, the respective occurrence count representing a number of times the same identifier and the same address have occurred in prior transactions.

9. The circuit of claim 8 wherein the at least one address is associated with a physical space in which at least a portion of each transaction is to be conducted.

10. The circuit of claim 8 wherein the at least one address is associated with a virtual space in which at least a portion of the transaction is to be conducted.

11. The circuit of claim 8 wherein the identifier includes a position comprising a time at which each transaction is to be conducted relative to at least one other transaction associated with the at least one address.

12. The circuit of claim 8 wherein the queuing circuit is configured to store the transaction for conduction.

13. The circuit of claim 8 wherein the queuing circuit includes a buffer that corresponds to the at least one address represented by the identifier; and wherein said queuing circuit is configured to store the transaction in a location of the buffer, the location corresponding to a position represented by the identifier.

14. The circuit of claim 8 wherein the queuing circuit includes a first-in-first-out buffer that corresponds to the at least one address represented by the identifier; and wherein said queuing circuit is configured to load each transaction into the first-in-first-out buffer at a relative time associated with a position represented by the identifier.

15. A network-on-chip (NOC) comprising:

a processor configured to generate a plurality of transactions;

a plurality of target circuits each having an address; and

a logic circuit coupled between said processor and said plurality of target circuits; said logic circuit comprising

an identifying circuit configured to generate an identifier for each transaction based upon at least one address associated with each transaction,

wherein not all transactions have the same address and identifier, and

a queuing circuit configured to

store the plurality of transactions in response to the identifier and in a look-up table, and

reorder the stored plurality of transactions in the look-up table based upon transactions having a same identifier and a same address and with a respective occurrence count in the look-up table, the respective occurrence count representing a number of times the same identifier and the same address have occurred in prior transactions.

16. The NOC of claim 15 wherein the at least one address is associated with a physical space in which at least a portion of each transaction is to be conducted.

17. The NOC of claim 15 wherein the at least one address is associated with a virtual space in which at least a portion of the transaction is to be conducted.

18. The NOC of claim 15 wherein the identifier includes a position comprising a time at which each transaction is to be conducted relative to at least one other transaction associated with the at least one address.

19. The NOC of claim 15 wherein the queuing circuit is configured to store the transaction for conduction.

20. The NOC of claim 15 wherein the queuing circuit includes a buffer that corresponds to the at least one address represented by the identifier; and wherein said queuing circuit is configured to store the transaction in a location of the buffer, the location corresponding to a position represented by the identifier.

21. The NOC of claim 15 wherein the queuing circuit includes a first-in-first-out buffer that corresponds to the at least one address represented by the identifier; and wherein said queuing circuit is configured to load each transaction into the first-in-first-out buffer at a relative time associated with a position represented by the identifier.

22. A method of operating communications between a processor generating a plurality of transactions, and a plurality of target circuits each having an address, the method comprising:

operating an identifying circuit to generate an identifier for each transaction based upon at least one address associated with each transaction, wherein not all transactions have the same address and identifier; and

operating a queuing circuit to

store the plurality of transactions in response to the identifier and in a look-up table, and

reorder the stored plurality of transactions in the look-up table based upon transactions having a same identifier and a same address and with a respective occurrence count in the look-up table, the respective occurrence count representing a number of times the same identifier and the same address have occurred in prior transactions.

23. The method of claim 22 wherein the at least one address is associated with a physical space in which at least a portion of each transaction is to be conducted.

24. The method of claim 22 wherein the at least one address is associated with a virtual space in which at least a portion of the transaction is to be conducted.

25. The method of claim 22 wherein the identifier includes a position comprising a time at which each transaction is to be conducted relative to at least one other transaction associated with the at least one address.

26. The method of claim 22 further comprising operating the queuing circuit to store the transaction for conduction.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2022
From: STMICROELECTRONICS S.R.L.
To: STMICROELECTRONICS INTERNATIONAL N.V.
Reel/Frame 060301/0355 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2013
From: MANGANO, DANIELE; PISASALE, SALVATORE; DONDINI, MIRKO
To: STMICROELECTRONICS S.R.L.
Reel/Frame 030503/0656 →
Priority Claims (1)
IT TO2012A0470 · May 30, 2012 · national
Continuity (1)
Related Publication 20130326522A1 · Dec 5, 2013