US20170017593A1 - Proactive quality of service in multi-matrix system bus - Google Patents
Proactive quality of service in multi-matrix system bus Download PDFInfo
- Publication number
- US20170017593A1 US20170017593A1 US15/187,619 US201615187619A US2017017593A1 US 20170017593 A1 US20170017593 A1 US 20170017593A1 US 201615187619 A US201615187619 A US 201615187619A US 2017017593 A1 US2017017593 A1 US 2017017593A1
- Authority
- US
- United States
- Prior art keywords
- bus
- quality
- master bus
- master
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
Definitions
- This disclosure relates generally to system bus interconnects.
- bus masters are connected to bus slaves fully or partially through one or more bus matrix ports and switches.
- data transfer requests from the masters to the slaves have to pass successively through several arbitration nodes.
- a given master may have several pending data transfer requests.
- Each of these transfer requests may have a dynamically changing urgency based on latency and/or bandwidth requirements.
- Bus arbitration is used in these microcontrollers to meet each master's bandwidth and latency requirements and to maximize the overall available bandwidth of the system.
- the arbitration nodes often arbitrate conflicts locally in the network space and only once at each arbitration node using a priority value that is statically associated with the data transfer request. Regardless of the priority of a data transfer request at any given arbitration node, the progress of the data transfer request to the target slave is dependent on the progress of the preceding transfer request at the next downstream arbitration node.
- One solution to the congestion problem is to provide bus slaves with large queues that can store significant numbers of issued transfer requests. Storing the transfer requests frees up the network transfer request paths. If there is no congestion in the network transfer request path, data transfer requests can reach the arbitration end node in a short time so that high priority transfer requests are not ignored by the arbitration end node for a long time.
- This queue solution has several drawbacks. Most slaves do not need large queues to arbitrate among waiting transfer requests to achieve optimization goals. For these slaves parking queues are a waste of area. For each slave, the queue should be large enough to store a number of transfer requests that is greater than or equal to the total number of transfer requests that may be issued collectively by all the masters connected to the slave. This is often not the case. If one of the slave parking queues fills up because it is not sized correctly, transactions may be backed up in the interconnect.
- a slave queue may be capable of storing more transaction requests but the network intrinsically can no longer issue more transaction requests.
- an arbitration end node can still block a high priority request upstream in the network transfer request path because locally at the arbitration end node a slightly higher priority is given to another branch of the network, or because a fair use algorithm grants the ignored critical network branch later, or because by default a bandwidth optimization is running when no urgency is seen at the arbitration end node.
- the arbitration scheme is inconsistent throughout the overall bus network, resulting in stability and performance problems.
- Bus protocols with no outstanding transactions support and strongly ordered bus protocols such as AMBA High Speed Bus (AHB) protocol, are even more problematic because they do not provide native quality of service support. Busses that implement these protocols have the advantage of small area and latency, but they also have stability and performance issues that prevent these busses from having a consistent and efficient system wide arbitration scheme.
- AMBA High Speed Bus (AHB) protocol AMBA High Speed Bus
- a multi-matrix bus system that provides proactive quality of service (QoS) by propagating, as soon as possible through an arbitration node in a network transfer request path, a highest priority value coming from an upstream arbitration node or master that has a current bus request pending at the arbitration node.
- QoS proactive quality of service
- the bus system ensures that any last downstream arbitration node knows at any time which is the highest priority request pending in the network transfer request path from the masters that are competing to share the bus layer switches and arbitration nodes in the network transfer request path.
- a highest priority pending request from a competing master is guaranteed to be considered by each successive arbitration node in the path down to the current blocking end arbitration node, even if the current blocking end arbitration node is not part of the network transfer request path from a master to its currently selected slave or is not part of the network transfer request path to the slave targeted with this highest priority request and yet to be selected.
- multi-matrix system bus provides one or more of the following advantages: 1) a system wide consistent and highly reactive arbitration scheme without the need to use complex bus protocols and oversized parking queues; 2) any urgency increase at a master is guaranteed to be quickly and consistently promoted through each bus switch arbitration node on the blocking path as far as no higher priority transaction is incoming from another branch at the arbitration node; 3) the priority signal encoding the urgency level is forwarded where relevant and is immediately redirected to a new blocking path in case of change; and 4) arbitration of transaction requests are not local to the arbitration node, avoiding difficult tuning processes that could reduce system performance, such as empirical bandwidth scheduling at the bus switch nodes, master request rate restrictions or forcing transfer requests regardless of prioritization.
- FIG. 1 is a block diagram an example microcontroller that implements a system bus matrix capable of providing proactive QoS.
- FIG. 2 is a schematic diagram of a portion of the internal and external connectivity of the system bus matrix of FIG. 1 .
- FIG. 3 is a schematic diagram of an example of a system bus node with attached upstream and downstream bus layers.
- FIG. 4 is a symbolic representation of the system bus node shown in FIG. 3 .
- FIGS. 5-11 illustrate example scenarios of propagating high priority values to arbitration nodes.
- the disclosed implementations can included in a microcontroller integrated circuit that includes a plurality of system bus masters, some or all of which may be coupled, through one or more master ports which in turn may be coupled through one or more system bus matrix switches to a plurality of system bus slaves, some of which may be multiport bus slaves or single port bus slaves.
- FIG. 1 is a block diagram an example microcontroller 100 that implements a system bus matrix capable of providing proactive QoS.
- microcontroller 100 may include bus masters 101 - 105 and bus slaves 120 - 124 .
- Other implementations may include more or fewer masters and slaves.
- bust masters include microprocessor core 101 , Direct Memory Access (DMA) controller 102 , display controller 103 , high-speed peripheral bus master 104 and bus master M 105 .
- Bus slaves include multiport memory controller 120 , on-chip memories 121 , bus slaves 122 , mass storage peripheral bus slave 123 and low-speed peripherals bus bridge 124 .
- Bus slaves may be single port or multiport slaves having M slave ports that are individually connected to one of M or less slave ports of one or more system bus matrices.
- An example multiport slave is memory controller 120 .
- Bus masters may be connected to one or more bus matrices, or directly to bus slaves using one or more master ports. Bus masters or bus slave peripherals may or may not be connected outside microcontroller 100 through dedicated pads 150 - 157 .
- Bus matrices 110 , 112 may be used in the design of identical or distinct internal data bus widths, such as internal busses 111 , 113 , whether working or not at the same clock speed. Any matrix pair may provide interconnection through one or several master ports and one or several slave ports, such as matrix 110 , which is shown coupled with only one of its slave ports to matrix 112 master port through interconnect bus layer 115 . Matrix 112 is shown coupled with only one of its slave ports to matrix 110 master port through interconnect bus layer 114 . Whether any given bus matrix slave can or cannot be accessed from a given master through a unique or through several paths is design dependent, and no connectivity restriction is assumed in FIG. 1 , except for non-functional paths like closed-loop paths which generally do not make sense or could end up in a deadlock.
- FIG. 2 is a schematic diagram of a portion of internal and external connectivity of system bus matrices 110 , 112 of FIG. 1 .
- Master bus layers 250 , 251 , 252 are hardwired to masters 210 (M 0 ), 211 (M 1 ), 212 (M 2 ) and slave bus layers 270 , 271 , 272 are hardwired to slaves 280 (S 0 ), 281 (S 1 ), 282 (S 2 ).
- three masters and three slaves are represented; however, no restriction is intended on the number of masters or slaves.
- the masters and slaves represented in FIG. 2 may be or may not be another system bus matrix or a peripheral.
- a similar matrix may also be partly or totally implemented in a peripheral master or a peripheral slave whenever a peripheral internal bus layer should be arbitrated between multiple incoming transfer requests at this peripheral.
- Accessing bus slave 280 , 281 or 282 from bus master 210 , 211 or 212 includes performing steps for data exchange between the master and slave.
- the data exchanges are performed by means throughout system bus matrix 200 , which dynamically route bus master layers 250 , 251 , 252 to bus slave layers 270 , 271 , 272 in a one-to-one relationship.
- a bus layer includes address signals A, control signals C, and bidirectional data D signals.
- Control signals C may indicate implicitly or explicitly transfer characteristics, such as data direction, number of bytes per each data bus cycle, type and length of bursts, type, protection and security attributes of data, requestor identity, slave availability and other bus signals.
- the control signals C of each bus layer carry a QoS or priority signal.
- a corresponding transfer request is launched by any of the matrix 200 bus masters 210 , 211 , 212 at bus matrix 200 master ports inputs using particular combinations of address A and control C signals.
- Decoders 220 , 221 , 222 decode the access address A driven by the master to determine a unique targeted bus matrix slave bus layer 270 , 271 or 272 , leading to a selection or access request to arbiter 230 , 231 or 232 of the targeted slave layer.
- the selected arbiter 230 , 231 or 232 determines a single winning bus master among requesting bus masters 210 , 211 or 212 and drives a switch selector signal 240 , 241 or 242 , which in turn couples targeted slave bus layer 270 , 271 or 272 to winning bus master layer 250 , 251 or 252 inside corresponding matrix switch 260 , 261 or 262 .
- Address A and control C signals of the winning master become available for a new arbitration stage inside targeted slave 280 , 281 or 282 which may be made itself partly or totally of another bus matrix similar to matrix 200 or be a non-arbitrated end point for the transfer request, in which case the data exchange takes place with some delay depending on the slave and its internal state.
- Data exchanges may be packed in bursts of convenient lengths, for example 4, 8, 16 or more data words being transferred before a next arbitration selects a new master layer connection inside system bus matrix switch 260 , 261 or 262 .
- FIG. 3 is a schematic diagram of an example system bus node with attached upstream and downstream bus layers.
- a complete multi-layer system bus can be built by replicating the system bus node shown in FIG. 3 .
- Any system bus node in the multi-layer system bus may be attached to any number of upstream bus layers and attached to any number of downstream bus layers.
- System bus nodes may be found at the connection points between interconnect matrices and inside system bus masters that arbitrate between several transfer requests at a time, qualified each by a current urgency level to be sorted and encoded on the quality of service output of that master.
- System bus nodes are also found in multiport slaves where multiple concurrent requests are be granted access to one peripheral or memory resource.
- the example system bus node 320 shown in FIG. 3 has three upstream bus layers 300 , 301 , 302 and three downstream bus layers 340 , 341 , 342 .
- System bus node 320 is coupled upstream to local arbitration node 310 .
- Local arbitration node 310 controls the multiplexing of locally converging system bus layers potentially carrying each a system bus transfer request Rx from a master through none, one or several cascaded other system bus nodes and bus layers.
- Local arbitration node 310 receives with each transfer request Rx a quality of service value Qx.
- An arbitration process performed at arbitration node 310 grants access to one of the transfer requests Rx at a time by calculating a function of the transfer requests Rx and the quality of service values Qx or a fixed priority scheme.
- bus layer A has a transfer request Ra 0 granted at arbitration node 310 so that bus layer A is coupled to system bus node 320 and transfer request Ra 0 is forwarded downstream through system bus node 320 .
- This coupling may last for one or several bus cycles depending on various factors, such as the burst length or the local arbitration policy.
- the quality of service value Qa 0 encodes the urgency of transfer request Ra 0 .
- System bus node 320 is coupled downstream to diverging system bus switch 330 , which may be controlled by a system bus decoder (not shown), which may or may not take into account some of the information carried by the transfer request Rx and/or quality of service value Qx.
- FIG. 4 is a symbolic representation of system bus node 320 shown in FIG. 3 .
- Solid lines represent coupled layers.
- Dashed lines represent layers carrying a pending request.
- the dotted lines represent non-participating layers carrying no request.
- Qx quality of service value
- Other encoding schemes for quality of service are also possible.
- Table 1 shows an example of a quality of service value Qx encoded in a 2-bits priority signal where the priority is represented by integers and the priority increases in ascending order of integers. For the sake of clarity, this encoding scheme will be used in the following detailed description.
- a key point illustrated in FIG. 4 is that the quality of service depicts the current urgency at the originating master to perform a data transfer, rather than information statically associated to each transfer.
- the transfer request that is given priority among a current or future transfer request does not need to be known at any arbitration node downstream in the system bus, but only at the master that has launched, is launching or will launch the corresponding data transfer request.
- Another important point illustrated in FIG. 4 is that, as far as possible, each master in the system will launch a first transfer request in a series while driving the lowest relevant priority value for the master, and will only re-qualify the priority value to a higher priority value if and when some internal urgency level is reached for some or all the transfer requests still to be performed.
- a latency critical (LC) transfer request may be one which requires accessing the slave in a finite generally short time, for example within a time shorter than the longest turnaround time for the whole system arbitration to complete the transfers of all the latency sensitive transfers on the paths blocking the latency critical transfer. Not meeting the required access time, results in an application or system failure.
- LC latency critical
- bus masters embedding data buffers or First In First Out (FIFO) queues may fall in this category when the available data or room in their buffers/queues is not sufficient to guarantee a fail-safe functionality without their older transfer requests being re-qualified immediately as latency critical throughout the whole arbitration network.
- FIFO First In First Out
- a latency sensitive (LS) transfer may be one in which an originating master's performance gradually decreases as the transfer data access time to the slave increases.
- the transfers initiated by microprocessor core 101 shown in FIG. 1 may permanently be classified in this category, whereas the priority of the transfers initiated by display controller 103 may transiently match this category, as their urgency is re-qualified due to the internal data filling state of display controller 103 .
- a bandwidth sensitive (BS) transfer may be one in which the originating master's performance gradually decreases as the average amount of data transferred through the master bus layer decreases.
- the transfers performed by high-speed peripheral bus master 104 shown in FIG. 1 may fall permanently or transiently into this category.
- a transfer not sensitive (NS) to data flow timings may be one in which timing shows insignificant external visible impact to the user.
- a master only performing background transfers may permanently qualify its transfer requests with this low priority. All the masters in the system may default to such a low priority level as long as their transfer urgency is low.
- the arbiter at the arbitration node may have granted one in a plurality of its incoming data transfer requests to be forwarded downward potentially to one of a plurality of next arbitration nodes.
- the priority output of this arbitration node may drive the highest incoming priority value among all the arbitration node bus layer requests inputs. Note that it is known neither at the arbiter inputs nor at its outputs if the priority driven on any bus layer concerns the current request on the same bus layer of a future request.
- Any request from a master might normally progress on its path to the targeted slave through each switch arbitration node until it reaches one such node where the request cannot be immediately granted either due to a higher priority concurrent request or to a busy bus layer. From that arbitration node a blocking path exists which has its end on some slave. This blocking slave might be different from the targeted slave by the requesting master. The blocking path might go through several arbitration nodes each forwarding a request originating from a master.
- the blocking arbitration nodes will observe the requesting master priority and will arbitrate accordingly the blocking path until the requests on this blocking path are granted, both the blocking masters requests which will inherit of the requesting master priority and the master request. Therefore, the effect will always be to drain the current blocking paths in the order of the new incoming masters' priority, in a system wide consistent and reactive arbitration scheme.
- FIGS. 5-11 illustrate example scenarios of propagating high priority values to arbitration nodes.
- microprocessor 101 requests access to the system bus through arbitration node 501 .
- DMA controller 102 requests access to the system bus through arbitration node 502 .
- Display controller 103 requests access to the system bus through arbitration node 503 .
- High Speed Peripheral 104 requests access to the system bus through arbitration node 504 .
- Multiport memory controller 120 access is managed within its embedded arbitration node 520 .
- Mass storage peripheral 123 access is managed through arbitration node 523 .
- Low-speed peripheral bridge 124 access is managed through arbitration node 524 .
- Interconnect bus layer 114 between system bus matrices 110 , 112 is managed through arbitration node 514 .
- the QoS value may be increased to a new Qxj value in case of a new pending request Rxj of higher urgency, whatever this new request is simultaneously or later driven at the master output.
- the QoS value Qxi driven at any master and arbitration node output may decrease when the corresponding data transfer completes, which is shown as Rxi and Qxi simultaneously disappearing at all of the outputs.
- the arbitration policy gives preference to long-burst transfer completion if a low QoS value Qxi or Qxj is carried along with each data transfer request Rxi on the requesting bus layers before a new arbitration takes place.
- FIGS. 5-11 The main purpose of FIGS. 5-11 is to show how DMA controller master 102 entering the system bus through arbitration node 502 cleans the paths to its targeted slave 124 reached through arbitration node 524 , for an internal pending data transfer request Rd 1 that turns out to be a critical transfer.
- the data transfer request Re 0 from arbitration node 503 will potentially be granted for a long time at arbitration node 520 , and at arbitration node 520 other requests from other masters may be granted before Rd 0 is granted.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Bus Control (AREA)
Abstract
Description
- This application is a continuation of and claims priority to U.S. patent application Ser. No. 13/840,681, filed Mar. 15, 2013, the entire contents of which is incorporated herein.
- This disclosure relates generally to system bus interconnects.
- In some microcontrollers, bus masters are connected to bus slaves fully or partially through one or more bus matrix ports and switches. In these microcontrollers, data transfer requests from the masters to the slaves have to pass successively through several arbitration nodes. At any time, a given master may have several pending data transfer requests. Each of these transfer requests may have a dynamically changing urgency based on latency and/or bandwidth requirements.
- Bus arbitration is used in these microcontrollers to meet each master's bandwidth and latency requirements and to maximize the overall available bandwidth of the system. In these microcontrollers, the arbitration nodes often arbitrate conflicts locally in the network space and only once at each arbitration node using a priority value that is statically associated with the data transfer request. Regardless of the priority of a data transfer request at any given arbitration node, the progress of the data transfer request to the target slave is dependent on the progress of the preceding transfer request at the next downstream arbitration node.
- One solution to the congestion problem is to provide bus slaves with large queues that can store significant numbers of issued transfer requests. Storing the transfer requests frees up the network transfer request paths. If there is no congestion in the network transfer request path, data transfer requests can reach the arbitration end node in a short time so that high priority transfer requests are not ignored by the arbitration end node for a long time.
- This queue solution has several drawbacks. Most slaves do not need large queues to arbitrate among waiting transfer requests to achieve optimization goals. For these slaves parking queues are a waste of area. For each slave, the queue should be large enough to store a number of transfer requests that is greater than or equal to the total number of transfer requests that may be issued collectively by all the masters connected to the slave. This is often not the case. If one of the slave parking queues fills up because it is not sized correctly, transactions may be backed up in the interconnect.
- Due to ordering constraints on the bus or related deadlock problems, it may be impossible or complex to issue more than one transfer request at a time through a bus switch node when two or more destinations are implied. Some examples of ordering constraints are the situations observed at bus switch nodes for Advanced Microcontroller Bus Architecture (AMBA) Advanced eXtensible Interface (AXI) bus write transactions to two or more destinations and for AMBA AXI bus read transactions to two or more destinations with the same ID. A slave queue may be capable of storing more transaction requests but the network intrinsically can no longer issue more transaction requests. In these situations, an arbitration end node can still block a high priority request upstream in the network transfer request path because locally at the arbitration end node a slightly higher priority is given to another branch of the network, or because a fair use algorithm grants the ignored critical network branch later, or because by default a bandwidth optimization is running when no urgency is seen at the arbitration end node. In these situations, the arbitration scheme is inconsistent throughout the overall bus network, resulting in stability and performance problems.
- Other solutions have been proposed to circumvent some of the problems described above, including restraining the number of requests or the request rate at the masters to avoid network and slave queue congestion, local bandwidth reservation at the network nodes, longer slave queues with queue room reservation for some critical masters, enlarged or duplicated bus layers. These solutions, however, often require increased logic complexity or have over constraints that may prevent bandwidth optimization.
- Bus protocols with no outstanding transactions support and strongly ordered bus protocols, such as AMBA High Speed Bus (AHB) protocol, are even more problematic because they do not provide native quality of service support. Busses that implement these protocols have the advantage of small area and latency, but they also have stability and performance issues that prevent these busses from having a consistent and efficient system wide arbitration scheme.
- A multi-matrix bus system is disclosed that provides proactive quality of service (QoS) by propagating, as soon as possible through an arbitration node in a network transfer request path, a highest priority value coming from an upstream arbitration node or master that has a current bus request pending at the arbitration node. The bus system ensures that any last downstream arbitration node knows at any time which is the highest priority request pending in the network transfer request path from the masters that are competing to share the bus layer switches and arbitration nodes in the network transfer request path. By using a single priority coding scheme throughout the bus system, a highest priority pending request from a competing master is guaranteed to be considered by each successive arbitration node in the path down to the current blocking end arbitration node, even if the current blocking end arbitration node is not part of the network transfer request path from a master to its currently selected slave or is not part of the network transfer request path to the slave targeted with this highest priority request and yet to be selected.
- Particular implementations of the multi-matrix system bus provide one or more of the following advantages: 1) a system wide consistent and highly reactive arbitration scheme without the need to use complex bus protocols and oversized parking queues; 2) any urgency increase at a master is guaranteed to be quickly and consistently promoted through each bus switch arbitration node on the blocking path as far as no higher priority transaction is incoming from another branch at the arbitration node; 3) the priority signal encoding the urgency level is forwarded where relevant and is immediately redirected to a new blocking path in case of change; and 4) arbitration of transaction requests are not local to the arbitration node, avoiding difficult tuning processes that could reduce system performance, such as empirical bandwidth scheduling at the bus switch nodes, master request rate restrictions or forcing transfer requests regardless of prioritization.
-
FIG. 1 is a block diagram an example microcontroller that implements a system bus matrix capable of providing proactive QoS. -
FIG. 2 is a schematic diagram of a portion of the internal and external connectivity of the system bus matrix ofFIG. 1 . -
FIG. 3 is a schematic diagram of an example of a system bus node with attached upstream and downstream bus layers. -
FIG. 4 is a symbolic representation of the system bus node shown inFIG. 3 . -
FIGS. 5-11 illustrate example scenarios of propagating high priority values to arbitration nodes. - The disclosed implementations can included in a microcontroller integrated circuit that includes a plurality of system bus masters, some or all of which may be coupled, through one or more master ports which in turn may be coupled through one or more system bus matrix switches to a plurality of system bus slaves, some of which may be multiport bus slaves or single port bus slaves.
-
FIG. 1 is a block diagram anexample microcontroller 100 that implements a system bus matrix capable of providing proactive QoS. In some implementations,microcontroller 100 may include bus masters 101-105 and bus slaves 120-124. Other implementations may include more or fewer masters and slaves. - In the example shown, bust masters include
microprocessor core 101, Direct Memory Access (DMA)controller 102,display controller 103, high-speedperipheral bus master 104 andbus master M 105. Bus slaves includemultiport memory controller 120, on-chip memories 121,bus slaves 122, mass storageperipheral bus slave 123 and low-speedperipherals bus bridge 124. Bus slaves may be single port or multiport slaves having M slave ports that are individually connected to one of M or less slave ports of one or more system bus matrices. An example multiport slave ismemory controller 120. Bus masters may be connected to one or more bus matrices, or directly to bus slaves using one or more master ports. Bus masters or bus slave peripherals may or may not be connected outsidemicrocontroller 100 through dedicated pads 150-157. -
Bus matrices internal busses 111, 113, whether working or not at the same clock speed. Any matrix pair may provide interconnection through one or several master ports and one or several slave ports, such asmatrix 110, which is shown coupled with only one of its slave ports tomatrix 112 master port throughinterconnect bus layer 115. Matrix 112 is shown coupled with only one of its slave ports tomatrix 110 master port throughinterconnect bus layer 114. Whether any given bus matrix slave can or cannot be accessed from a given master through a unique or through several paths is design dependent, and no connectivity restriction is assumed inFIG. 1 , except for non-functional paths like closed-loop paths which generally do not make sense or could end up in a deadlock. -
FIG. 2 is a schematic diagram of a portion of internal and external connectivity ofsystem bus matrices FIG. 1 .Master bus layers slave bus layers FIG. 2 may be or may not be another system bus matrix or a peripheral. A similar matrix may also be partly or totally implemented in a peripheral master or a peripheral slave whenever a peripheral internal bus layer should be arbitrated between multiple incoming transfer requests at this peripheral. - Accessing
bus slave bus master system bus matrix 200, which dynamically routebus master layers bus slave layers - Prior to a data access, a corresponding transfer request is launched by any of the
matrix 200bus masters bus matrix 200 master ports inputs using particular combinations of address A and control C signals.Decoders slave bus layer arbiter arbiter bus masters switch selector signal slave bus layer bus master layer matrix switch slave matrix 200 or be a non-arbitrated end point for the transfer request, in which case the data exchange takes place with some delay depending on the slave and its internal state. Data exchanges may be packed in bursts of convenient lengths, for example 4, 8, 16 or more data words being transferred before a next arbitration selects a new master layer connection inside systembus matrix switch -
FIG. 3 is a schematic diagram of an example system bus node with attached upstream and downstream bus layers. A complete multi-layer system bus can be built by replicating the system bus node shown inFIG. 3 . Any system bus node in the multi-layer system bus may be attached to any number of upstream bus layers and attached to any number of downstream bus layers. System bus nodes may be found at the connection points between interconnect matrices and inside system bus masters that arbitrate between several transfer requests at a time, qualified each by a current urgency level to be sorted and encoded on the quality of service output of that master. System bus nodes are also found in multiport slaves where multiple concurrent requests are be granted access to one peripheral or memory resource. - The example
system bus node 320 shown inFIG. 3 has three upstream bus layers 300, 301, 302 and three downstream bus layers 340, 341, 342.System bus node 320 is coupled upstream tolocal arbitration node 310.Local arbitration node 310 controls the multiplexing of locally converging system bus layers potentially carrying each a system bus transfer request Rx from a master through none, one or several cascaded other system bus nodes and bus layers.Local arbitration node 310 receives with each transfer request Rx a quality of service value Qx. An arbitration process performed atarbitration node 310 grants access to one of the transfer requests Rx at a time by calculating a function of the transfer requests Rx and the quality of service values Qx or a fixed priority scheme. In some implementations, a fixed priority scheme may determine that if Qx>Qy, then Rx is granted else if Qx=Qy, then a fair share algorithm is used (e.g., Round-robin). Independent of the granting mechanism, the quality of service values Qx are continuously compared so that the highest priority value encoded on a quality of service signal is immediately output tosystem bus node 320. - At the time of the representation of
FIG. 3 , bus layer A has a transfer request Ra0 granted atarbitration node 310 so that bus layer A is coupled tosystem bus node 320 and transfer request Ra0 is forwarded downstream throughsystem bus node 320. This coupling may last for one or several bus cycles depending on various factors, such as the burst length or the local arbitration policy. The quality of service value Qa0 encodes the urgency of transfer request Ra0. - At the time of the representation of
FIG. 3 , bus layer B has no transfer request pending atarbitration node 310 and bus layer C has transfer request Rc0 pending atarbitration node 310 and quality of service value Qc1=2 corresponding to a next incoming request Rc1, which indicated by the number “1” in the subscript. The quality of service value Qc1=2 is greater than the quality of service value carried by the other competing bus layers, so Qc1 is the quality of service value forwarded downstream atsystem bus node 320. -
System bus node 320 is coupled downstream to divergingsystem bus switch 330, which may be controlled by a system bus decoder (not shown), which may or may not take into account some of the information carried by the transfer request Rx and/or quality of service value Qx. Divergingsystem bus switch 330 couplessystem bus node 320 to downstream system bus layer D, so that transfer request Ra0 and quality of service value Qc1=2 are carried downstream by bus layer D allowing data transfer to be performed throughout bus layers A and D. -
FIG. 4 is a symbolic representation ofsystem bus node 320 shown inFIG. 3 . Solid lines represent coupled layers. Dashed lines represent layers carrying a pending request. The dotted lines represent non-participating layers carrying no request. It is assumed that a quality of service scheme may be implemented using quality of service value Qx embedded in a control part of the bus layers to be arbitrated (e.g., embedded in bus control signals C shown inFIG. 2 ). Other encoding schemes for quality of service are also possible. - Table 1 below shows an example of a quality of service value Qx encoded in a 2-bits priority signal where the priority is represented by integers and the priority increases in ascending order of integers. For the sake of clarity, this encoding scheme will be used in the following detailed description.
-
TABLE 1 Quality of Service Priority/ Urgency Symbol QoS value Latency Critical LC 3 Latency Sensitive LS 2 Bandwidth Sensitive BS 1 Not Sensitive NS 0 - For simplicity, in this example it is assumed that the higher the priority number, the higher the access grant priority given to the bus layer carrying the priority value when participating in the arbitration process. Regardless of the quality of service encoding scheme used, it is assumed that all the arbitration nodes on the paths from bus masters to bus slaves throughout the system busses use the same encoding in a consistent way, even though the particular actions and reactivity taken by each arbitration node may vary according to local specificity or constraints. This is especially true at the first arbitration node if it is inside a master peripheral or the last arbitration node if it is inside a multiport slave peripheral.
- A key point illustrated in
FIG. 4 is that the quality of service depicts the current urgency at the originating master to perform a data transfer, rather than information statically associated to each transfer. The transfer request that is given priority among a current or future transfer request does not need to be known at any arbitration node downstream in the system bus, but only at the master that has launched, is launching or will launch the corresponding data transfer request. Another important point illustrated inFIG. 4 is that, as far as possible, each master in the system will launch a first transfer request in a series while driving the lowest relevant priority value for the master, and will only re-qualify the priority value to a higher priority value if and when some internal urgency level is reached for some or all the transfer requests still to be performed. - Referring again to Table 1, the urgency level categorization explained in table 1 is well understood at least implicitly by those skilled in the art, but some interpretation examples may enlighten the meaning. A latency critical (LC) transfer request may be one which requires accessing the slave in a finite generally short time, for example within a time shorter than the longest turnaround time for the whole system arbitration to complete the transfers of all the latency sensitive transfers on the paths blocking the latency critical transfer. Not meeting the required access time, results in an application or system failure. For example, some systems bus masters embedding data buffers or First In First Out (FIFO) queues may fall in this category when the available data or room in their buffers/queues is not sufficient to guarantee a fail-safe functionality without their older transfer requests being re-qualified immediately as latency critical throughout the whole arbitration network.
- A latency sensitive (LS) transfer may be one in which an originating master's performance gradually decreases as the transfer data access time to the slave increases. For example, the transfers initiated by
microprocessor core 101 shown inFIG. 1 may permanently be classified in this category, whereas the priority of the transfers initiated bydisplay controller 103 may transiently match this category, as their urgency is re-qualified due to the internal data filling state ofdisplay controller 103. - A bandwidth sensitive (BS) transfer may be one in which the originating master's performance gradually decreases as the average amount of data transferred through the master bus layer decreases. For example, the transfers performed by high-speed
peripheral bus master 104 shown inFIG. 1 may fall permanently or transiently into this category. - A transfer not sensitive (NS) to data flow timings may be one in which timing shows insignificant external visible impact to the user. A master only performing background transfers may permanently qualify its transfer requests with this low priority. All the masters in the system may default to such a low priority level as long as their transfer urgency is low.
- Finally, a main point is the use of highest priority immediate inheritance at each arbitration node output. At some bus clock cycle, the arbiter at the arbitration node may have granted one in a plurality of its incoming data transfer requests to be forwarded downward potentially to one of a plurality of next arbitration nodes. When and as long as this is the case, the priority output of this arbitration node may drive the highest incoming priority value among all the arbitration node bus layer requests inputs. Note that it is known neither at the arbiter inputs nor at its outputs if the priority driven on any bus layer concerns the current request on the same bus layer of a future request. Note that it is not known neither at the arbiter inputs nor at its outputs if the priority driven on any bus layer concerns a request which actual transfer data path is to go through this arbitration node and switch or not. Note that the priority output value might or might not increase several times during the forwarding of a single transfer request by the arbitration node whether this request is originating or not from the requesting master. The priority value inherited by the current transfer request at the arbitration node output is similarly taken into account at the selected downstream arbitration node.
- Any request from a master might normally progress on its path to the targeted slave through each switch arbitration node until it reaches one such node where the request cannot be immediately granted either due to a higher priority concurrent request or to a busy bus layer. From that arbitration node a blocking path exists which has its end on some slave. This blocking slave might be different from the targeted slave by the requesting master. The blocking path might go through several arbitration nodes each forwarding a request originating from a master.
- As previously described, if at some time the requesting master priority output is or raises at a higher level than that of the other masters competing for access throughout the arbitration nodes part of the blocking path and only part of it, then the blocking arbitration nodes will observe the requesting master priority and will arbitrate accordingly the blocking path until the requests on this blocking path are granted, both the blocking masters requests which will inherit of the requesting master priority and the master request. Therefore, the effect will always be to drain the current blocking paths in the order of the new incoming masters' priority, in a system wide consistent and reactive arbitration scheme.
-
FIGS. 5-11 illustrate example scenarios of propagating high priority values to arbitration nodes. Referring toFIGS. 1 and 5 ,microprocessor 101 requests access to the system bus througharbitration node 501.DMA controller 102 requests access to the system bus througharbitration node 502.Display controller 103 requests access to the system bus througharbitration node 503.High Speed Peripheral 104 requests access to the system bus througharbitration node 504.Multiport memory controller 120 access is managed within its embeddedarbitration node 520. Mass storage peripheral 123 access is managed througharbitration node 523. Low-speedperipheral bridge 124 access is managed througharbitration node 524.Interconnect bus layer 114 betweensystem bus matrices arbitration node 514. - From
FIGS. 5-11 , it is assumed that the quality of service scheme is the one shown in the example of Table 1. It is assumed that any master x, at launch of the first data transfer request Rx0 in a series Rx0 to Rxn, outputs the lower QoS value Qx0=0, except for the CPU which quality of service is fixed to the Latency Sensitive level Qc0=Qcn=2 for all its requests Rc0 to Rcn. It is assumed that the current QoS value Qxi at the master output, corresponding to its current request output value Rxi or to one of its future request output value Rxi, can be increased at any bus cycle due to an urgency increase of the data transfer request Rxi. Alternatively, the QoS value may be increased to a new Qxj value in case of a new pending request Rxj of higher urgency, whatever this new request is simultaneously or later driven at the master output. Finally, the QoS value Qxi driven at any master and arbitration node output may decrease when the corresponding data transfer completes, which is shown as Rxi and Qxi simultaneously disappearing at all of the outputs. - From
FIGS. 5-11 , it is assumed that, at any arbitration node, the arbitration policy gives preference to long-burst transfer completion if a low QoS value Qxi or Qxj is carried along with each data transfer request Rxi on the requesting bus layers before a new arbitration takes place. At any arbitration node, the arbitration policy is assumed to arbitrate as soon as possible if a Latency Critical Qxi=3 or Qxj=3 value is carried along with a data transfer request Rxi on any requesting bus layer. - The main purpose of
FIGS. 5-11 is to show howDMA controller master 102 entering the system bus througharbitration node 502 cleans the paths to its targetedslave 124 reached througharbitration node 524, for an internal pending data transfer request Rd1 that turns out to be a critical transfer. - As illustrated in
FIG. 5 , DMAcontroller arbitration node 502 has a data transfer request Rd0 pending on multiport memorycontroller arbitration node 520 which QoS corresponding value Qd0=0 is also driven. Arbitration atnode 520 is then performing some fair share or bandwidth optimized algorithm. The data transfer request Re0 fromarbitration node 503 will potentially be granted for a long time atarbitration node 520, and atarbitration node 520 other requests from other masters may be granted before Rd0 is granted. - As illustrated in
FIG. 6 , another transfer request Rd1 starts pending insideDMA controller 102. This request targets Low-SpeedPeripherals Bus Bridge 124 and shall pass througharbitration nodes DMA controller 102,DMA controller 102, in a first attempt to clear its output port, slightly increases its QoS output to Qd1=1, either because its internal buffers filling state has increased or because of the time limited nature of the data transfer request Rd1 linked to the targeted peripheral flow constraints. - As illustrated in
FIG. 7 , due to forward inheritance of Qd1=1 priority, the Rd0 data transfer request is granted access to the memory at the next arbitration slot ofarbitration node 520. Meanwhile, a data transfer request Rf0 has been granted from the high-speed peripheral controller to an external device througharbitration node 523. For the time being, it is of no concern for transfer request Rd1 ofDMA controller 102. - As illustrated in
FIG. 8 , afterDMA controller 102 output is rid of Rd0,DMA controller 102 can now drive the Rd1 data transfer request, that is pass througharbitration node 502 to reach thearbitration node 514 together with its corresponding QoS value Qd1=1. But the data transfer request Rc0 ofmicroprocessor 101 has been granted access at thearbitration node 514 either because the CPU request Rc0 came former or because the CPU request is qualified by a QoS Qc0=2 higher than Qd1=1. CPU Rc0 request is then blocking the path on Rd1 request and if nothing is done this lock situation may last at least until the next arbitration slot atarbitration node 523, and potentially longer, fully depending on the next arbitration results at thelocal arbitration node 523. - As illustrated in
FIG. 9 , the situation has become critical atDMA controller 102, either because of an increased number of internal buffered requests or due to the triggering of a protection timeout associated to the Rd1 request or due to the buffers filling state of the targeted peripheral close to an overrun state. This is why the Rd1 request is re-qualified to Qd1=3. This change is immediately propagated through the blocked paths to the responsible end arbitration node. Thusarbitration node 514 propagates Qd1=3 on its QoS output since it is the higher value among all its requesting input layers. Due to forward inheritance of Qd1=3 priority, the microprocessor Rc0 transfer request is immediately granted atarbitration node 523, so as to drain the system bus atarbitration node 514 of the blocking pending data transfer ofmicroprocessor 101. - As illustrated in
FIG. 10 ,arbitration node 514 grants immediately the Rd1, Qd1=3 data transfer request for access to its targeted slave behindarbitration node 524, while themicroprocessor 101 lower priority request Rc1, Qd1=2 waits for the critical access to complete atarbitration node 514. - As illustrated in
FIG. 11 , the Rd1 data transfer request is complete and Rd1, Qd1=3 have been removed from the output ofDMA controller 102 and consequently from the system bus. - While this document contains many specific implementation details, these should not be construed as limitations on the scope what may be claimed, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable sub combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can, in some cases, be excised from the combination, and the claimed combination may be directed to a sub combination or variation of a sub combination.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/187,619 US20170017593A1 (en) | 2013-03-15 | 2016-06-20 | Proactive quality of service in multi-matrix system bus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/840,681 US9372818B2 (en) | 2013-03-15 | 2013-03-15 | Proactive quality of service in multi-matrix system bus |
US15/187,619 US20170017593A1 (en) | 2013-03-15 | 2016-06-20 | Proactive quality of service in multi-matrix system bus |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/840,681 Continuation US9372818B2 (en) | 2013-03-15 | 2013-03-15 | Proactive quality of service in multi-matrix system bus |
Publications (1)
Publication Number | Publication Date |
---|---|
US20170017593A1 true US20170017593A1 (en) | 2017-01-19 |
Family
ID=51533782
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/840,681 Active 2033-12-07 US9372818B2 (en) | 2013-03-15 | 2013-03-15 | Proactive quality of service in multi-matrix system bus |
US15/187,619 Abandoned US20170017593A1 (en) | 2013-03-15 | 2016-06-20 | Proactive quality of service in multi-matrix system bus |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/840,681 Active 2033-12-07 US9372818B2 (en) | 2013-03-15 | 2013-03-15 | Proactive quality of service in multi-matrix system bus |
Country Status (1)
Country | Link |
---|---|
US (2) | US9372818B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210141749A1 (en) * | 2017-06-30 | 2021-05-13 | Renesas Electronics Corporation | Semiconductor device and access control method |
US11360692B2 (en) * | 2018-11-20 | 2022-06-14 | Tdk Corporation | Memory controller and flash memory system limiting data transfer rate |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9372818B2 (en) * | 2013-03-15 | 2016-06-21 | Atmel Corporation | Proactive quality of service in multi-matrix system bus |
US20150019776A1 (en) * | 2013-07-14 | 2015-01-15 | Qualcomm Technologies, Inc. | Selective change of pending transaction urgency |
US10289587B2 (en) * | 2016-04-27 | 2019-05-14 | Arm Limited | Switching device using buffering |
DE102017000932B3 (en) | 2016-05-02 | 2017-08-10 | Sew-Eurodrive Gmbh & Co Kg | Method for initializing a bus system and bus system |
US10223312B2 (en) | 2016-10-18 | 2019-03-05 | Analog Devices, Inc. | Quality of service ordinal modification |
US11025678B2 (en) | 2018-01-25 | 2021-06-01 | Seagate Technology Llc | AXI interconnect module communication network platform |
CN110391960B (en) * | 2018-04-18 | 2021-10-15 | 珠海全志科技股份有限公司 | Bus transmission control device and method |
CN111666139B (en) * | 2020-05-26 | 2022-11-11 | 中国人民解放军国防科技大学 | A scheduling method and device for multiple input multiple output multiple service level data queues |
JP7589584B2 (en) * | 2021-02-25 | 2024-11-26 | セイコーエプソン株式会社 | Circuit device and electronic device |
CN120257392A (en) * | 2024-01-03 | 2025-07-04 | 兆易创新科技集团股份有限公司 | Hardware security modules and controllers |
Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5596749A (en) * | 1992-09-21 | 1997-01-21 | Texas Instruments Incorporated | Arbitration request sequencer |
US20020143847A1 (en) * | 2001-03-30 | 2002-10-03 | Smith Gary Stephen | Method of mixed workload high performance scheduling |
US6473780B1 (en) * | 1998-04-01 | 2002-10-29 | Intel Corporation | Scheduling of direct memory access |
US20020199038A1 (en) * | 2001-06-22 | 2002-12-26 | Fujitsu Limited | Input/output control apparatus, input/output control method and informatiion storage system |
US20040081145A1 (en) * | 2001-11-09 | 2004-04-29 | Kal Harrekilde-Petersen | Means and a method for switching data packets or frames |
US20050177667A1 (en) * | 2004-02-11 | 2005-08-11 | Arm Limited | Interrupt priority control within a nested interrupt system |
US20060149874A1 (en) * | 2004-12-30 | 2006-07-06 | Ganasan J Prakash Subramaniam | Method and apparatus of reducing transfer latency in an SOC interconnect |
US7080177B2 (en) * | 2002-03-01 | 2006-07-18 | Broadcom Corporation | System and method for arbitrating clients in a hierarchical real-time DRAM system |
US20070130387A1 (en) * | 2005-11-04 | 2007-06-07 | Sun Microsystems, Inc. | Input/output priority inheritance |
US20080024413A1 (en) * | 2006-07-31 | 2008-01-31 | Sony Corporation | Display and method for manufacturing display |
US7447817B1 (en) * | 2006-05-09 | 2008-11-04 | Qlogic Corporation | Method and system for processing arbitration requests |
US20090037635A1 (en) * | 2006-03-17 | 2009-02-05 | Shanghai Magima Digital Information Co., Ltd. | Bus arbitration device |
US20090138682A1 (en) * | 2007-11-28 | 2009-05-28 | Capps Jr Louis B | Dynamic instruction execution based on transaction priority tagging |
US20090138683A1 (en) * | 2007-11-28 | 2009-05-28 | Capps Jr Louis B | Dynamic instruction execution using distributed transaction priority registers |
US20090271790A1 (en) * | 2006-03-17 | 2009-10-29 | Paul Williams | Computer architecture |
US7685344B2 (en) * | 2005-10-28 | 2010-03-23 | Canon Kabushiki Kaisha | Method of setting priority of devices connected to bus, and apparatus having a plurality of devices and arbiter |
US20100115167A1 (en) * | 2008-11-05 | 2010-05-06 | Mediatek Inc. | Shared Resource Arbitration |
US20110238877A1 (en) * | 2008-11-28 | 2011-09-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Arbitration in Multiprocessor Device |
US20130091505A1 (en) * | 2010-06-28 | 2013-04-11 | Zte Corporation | Priority Level Arbitration Method and Device |
US8448178B2 (en) * | 2007-03-07 | 2013-05-21 | International Business Machines Corporation | Prediction based priority scheduling |
US8539129B2 (en) * | 2010-04-14 | 2013-09-17 | Qualcomm Incorporated | Bus arbitration techniques to reduce access latency |
US20140195699A1 (en) * | 2013-01-08 | 2014-07-10 | Apple Inc. | Maintaining i/o priority and i/o sorting |
US20140201471A1 (en) * | 2013-01-17 | 2014-07-17 | Daniel F. Cutter | Arbitrating Memory Accesses Via A Shared Memory Fabric |
US20140208071A1 (en) * | 2013-01-24 | 2014-07-24 | Bub-chul Jeong | Adaptive service controller, system on chip and method of controlling the same |
US20140244875A1 (en) * | 2013-02-25 | 2014-08-28 | Lsi Corporation | Priority Based Connection Arbitration in a SAS Topology to Facilitate Quality of Service (QoS) in SAS Transport |
US9372818B2 (en) * | 2013-03-15 | 2016-06-21 | Atmel Corporation | Proactive quality of service in multi-matrix system bus |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5025370A (en) * | 1986-09-02 | 1991-06-18 | Koegel Robert J | Circuit for preventing lock-out of high priority requests to a system controller |
US5404461A (en) * | 1991-03-29 | 1995-04-04 | International Business Machines Corp. | Broadcast/switching apparatus for executing broadcast/multi-cast transfers over unbuffered asynchronous switching networks |
US6170032B1 (en) * | 1996-12-17 | 2001-01-02 | Texas Instruments Incorporated | Priority encoder circuit |
US6769019B2 (en) * | 1997-12-10 | 2004-07-27 | Xavier Ferguson | Method of background downloading of information from a computer network |
US6874144B1 (en) * | 1999-04-05 | 2005-03-29 | International Business Machines Corporation | System, method, and program for implementing priority inheritance in an operating system |
KR100353214B1 (en) * | 2001-01-16 | 2002-09-18 | 삼성전자 주식회사 | Service method of mobile terminal function |
US7023840B2 (en) | 2001-02-17 | 2006-04-04 | Alcatel | Multiserver scheduling system and method for a fast switching element |
US6614709B2 (en) | 2001-03-09 | 2003-09-02 | Intel Corporation | Method and apparatus for processing commands in a queue coupled to a system or memory |
US7302686B2 (en) * | 2001-07-04 | 2007-11-27 | Sony Corporation | Task management system |
EP1376373B1 (en) * | 2002-06-20 | 2006-05-31 | Infineon Technologies AG | Arrangement having a first device and a second device connected via a cross bar switch |
US7062582B1 (en) * | 2003-03-14 | 2006-06-13 | Marvell International Ltd. | Method and apparatus for bus arbitration dynamic priority based on waiting period |
KR100626362B1 (en) * | 2003-05-23 | 2006-09-20 | 삼성전자주식회사 | Arbitrators for arbitrating high-speed bandwidth system buses, bus systems including arbiters, and bus arbitration methods |
US7685436B2 (en) | 2003-10-02 | 2010-03-23 | Itt Manufacturing Enterprises, Inc. | System and method for a secure I/O interface |
US7549004B1 (en) * | 2004-08-20 | 2009-06-16 | Altera Corporation | Split filtering in multilayer systems |
US7174403B2 (en) * | 2005-02-24 | 2007-02-06 | Qualcomm Incorporated | Plural bus arbitrations per cycle via higher-frequency arbiter |
GB2426604B (en) * | 2005-05-26 | 2010-07-14 | Advanced Risc Mach Ltd | Interconnect logic for a data processing apparatus |
US20070204076A1 (en) | 2006-02-28 | 2007-08-30 | Agere Systems Inc. | Method and apparatus for burst transfer |
US20070130344A1 (en) * | 2005-11-14 | 2007-06-07 | Pepper Timothy C | Using load balancing to assign paths to hosts in a network |
WO2007071889A1 (en) * | 2005-12-22 | 2007-06-28 | Arm Limited | Arbitration method reordering transactions to ensure quality of service specified by each transaction |
US7774356B2 (en) * | 2006-12-04 | 2010-08-10 | Sap Ag | Method and apparatus for application state synchronization |
US7710989B2 (en) | 2007-03-06 | 2010-05-04 | Intel Corporation | Scalable and configurable queue management for network packet traffic quality of service |
US20080244131A1 (en) * | 2007-03-26 | 2008-10-02 | Atmel Corporation | Architecture for configurable bus arbitration in multibus systems with customizable master and slave circuits |
US20090193108A1 (en) | 2008-01-29 | 2009-07-30 | George Shin | Critical Resource Management |
TWI362860B (en) | 2008-06-27 | 2012-04-21 | Realtek Semiconductor Corp | Network system with quality of service management and associated management method |
EP2173066B1 (en) | 2008-10-01 | 2012-05-16 | STMicroelectronics Srl | Method of exchanging information in a Network-on-Chip communication network, corresponding Network-on-Chip communication network and computer program product |
US7912951B2 (en) | 2008-10-28 | 2011-03-22 | Vmware, Inc. | Quality of service management |
WO2011152013A1 (en) * | 2010-05-31 | 2011-12-08 | パナソニック株式会社 | Method for manufacturing integrated circuit, and semiconductor integrated circuit |
FR2961048B1 (en) | 2010-06-03 | 2013-04-26 | Arteris Inc | CHIP NETWORK WITH QUALITY-OF-SERVICE CHARACTERISTICS |
US8726284B2 (en) * | 2010-06-10 | 2014-05-13 | Microsoft Corporation | Managing requests based on request groups |
US8612648B1 (en) | 2010-07-19 | 2013-12-17 | Xilinx, Inc. | Method and apparatus for implementing quality of service in a data bus interface |
US8438306B2 (en) | 2010-11-02 | 2013-05-07 | Sonics, Inc. | Apparatus and methods for on layer concurrency in an integrated circuit |
US8607022B2 (en) | 2010-12-17 | 2013-12-10 | Apple Inc. | Processing quality-of-service (QoS) information of memory transactions |
US9286257B2 (en) * | 2011-01-28 | 2016-03-15 | Qualcomm Incorporated | Bus clock frequency scaling for a bus interconnect and related devices, systems, and methods |
WO2013004261A1 (en) * | 2011-07-01 | 2013-01-10 | Nokia Siemens Networks Oy | Data storage management in communications |
US8463958B2 (en) | 2011-08-08 | 2013-06-11 | Arm Limited | Dynamic resource allocation for transaction requests issued by initiator devices to recipient devices |
KR101955521B1 (en) * | 2011-10-17 | 2019-03-07 | 한국전자통신연구원 | Apparatus and method for transmitting/receiving data in communication system |
US20140164659A1 (en) * | 2012-12-06 | 2014-06-12 | Wasim Quddus | Regulating access to slave devices |
-
2013
- 2013-03-15 US US13/840,681 patent/US9372818B2/en active Active
-
2016
- 2016-06-20 US US15/187,619 patent/US20170017593A1/en not_active Abandoned
Patent Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5596749A (en) * | 1992-09-21 | 1997-01-21 | Texas Instruments Incorporated | Arbitration request sequencer |
US6473780B1 (en) * | 1998-04-01 | 2002-10-29 | Intel Corporation | Scheduling of direct memory access |
US20020143847A1 (en) * | 2001-03-30 | 2002-10-03 | Smith Gary Stephen | Method of mixed workload high performance scheduling |
US20020199038A1 (en) * | 2001-06-22 | 2002-12-26 | Fujitsu Limited | Input/output control apparatus, input/output control method and informatiion storage system |
US20040081145A1 (en) * | 2001-11-09 | 2004-04-29 | Kal Harrekilde-Petersen | Means and a method for switching data packets or frames |
US7080177B2 (en) * | 2002-03-01 | 2006-07-18 | Broadcom Corporation | System and method for arbitrating clients in a hierarchical real-time DRAM system |
US20050177667A1 (en) * | 2004-02-11 | 2005-08-11 | Arm Limited | Interrupt priority control within a nested interrupt system |
US20060149874A1 (en) * | 2004-12-30 | 2006-07-06 | Ganasan J Prakash Subramaniam | Method and apparatus of reducing transfer latency in an SOC interconnect |
US7685344B2 (en) * | 2005-10-28 | 2010-03-23 | Canon Kabushiki Kaisha | Method of setting priority of devices connected to bus, and apparatus having a plurality of devices and arbiter |
US20070130387A1 (en) * | 2005-11-04 | 2007-06-07 | Sun Microsystems, Inc. | Input/output priority inheritance |
US20090037635A1 (en) * | 2006-03-17 | 2009-02-05 | Shanghai Magima Digital Information Co., Ltd. | Bus arbitration device |
US20090271790A1 (en) * | 2006-03-17 | 2009-10-29 | Paul Williams | Computer architecture |
US7447817B1 (en) * | 2006-05-09 | 2008-11-04 | Qlogic Corporation | Method and system for processing arbitration requests |
US20080024413A1 (en) * | 2006-07-31 | 2008-01-31 | Sony Corporation | Display and method for manufacturing display |
US8448178B2 (en) * | 2007-03-07 | 2013-05-21 | International Business Machines Corporation | Prediction based priority scheduling |
US20090138682A1 (en) * | 2007-11-28 | 2009-05-28 | Capps Jr Louis B | Dynamic instruction execution based on transaction priority tagging |
US20090138683A1 (en) * | 2007-11-28 | 2009-05-28 | Capps Jr Louis B | Dynamic instruction execution using distributed transaction priority registers |
US20100115167A1 (en) * | 2008-11-05 | 2010-05-06 | Mediatek Inc. | Shared Resource Arbitration |
US20110238877A1 (en) * | 2008-11-28 | 2011-09-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Arbitration in Multiprocessor Device |
US8539129B2 (en) * | 2010-04-14 | 2013-09-17 | Qualcomm Incorporated | Bus arbitration techniques to reduce access latency |
US20130091505A1 (en) * | 2010-06-28 | 2013-04-11 | Zte Corporation | Priority Level Arbitration Method and Device |
US20140195699A1 (en) * | 2013-01-08 | 2014-07-10 | Apple Inc. | Maintaining i/o priority and i/o sorting |
US20140201471A1 (en) * | 2013-01-17 | 2014-07-17 | Daniel F. Cutter | Arbitrating Memory Accesses Via A Shared Memory Fabric |
US20140208071A1 (en) * | 2013-01-24 | 2014-07-24 | Bub-chul Jeong | Adaptive service controller, system on chip and method of controlling the same |
US20140244875A1 (en) * | 2013-02-25 | 2014-08-28 | Lsi Corporation | Priority Based Connection Arbitration in a SAS Topology to Facilitate Quality of Service (QoS) in SAS Transport |
US9372818B2 (en) * | 2013-03-15 | 2016-06-21 | Atmel Corporation | Proactive quality of service in multi-matrix system bus |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210141749A1 (en) * | 2017-06-30 | 2021-05-13 | Renesas Electronics Corporation | Semiconductor device and access control method |
US11461253B2 (en) * | 2017-06-30 | 2022-10-04 | Renesas Electronics Corporation | Semiconductor device and access control method |
US11360692B2 (en) * | 2018-11-20 | 2022-06-14 | Tdk Corporation | Memory controller and flash memory system limiting data transfer rate |
Also Published As
Publication number | Publication date |
---|---|
US9372818B2 (en) | 2016-06-21 |
US20140281081A1 (en) | 2014-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9372818B2 (en) | Proactive quality of service in multi-matrix system bus | |
US7290075B2 (en) | Performing arbitration in a data processing apparatus | |
JP4851523B2 (en) | Non-blocking address switch with shallow per agent queue | |
US6182183B1 (en) | Communications system and method with multilevel connection identification | |
US8190801B2 (en) | Interconnect logic for a data processing apparatus | |
US7165094B2 (en) | Communications system and method with non-blocking shared interface | |
CN100472494C (en) | System and method for implementing memory mediation of supporting multi-bus multi-type memory device | |
US7673087B1 (en) | Arbitration for an embedded processor block core in an integrated circuit | |
KR101582058B1 (en) | Providing adaptive bandwidth allocation for a fixed priority arbiter | |
US10133670B2 (en) | Low overhead hierarchical connectivity of cache coherent agents to a coherent fabric | |
US20150161065A1 (en) | System bus transaction queue reallocation | |
US9971711B2 (en) | Tightly-coupled distributed uncore coherent fabric | |
US8006014B2 (en) | PCI-Express data link transmitter employing a plurality of dynamically selectable data transmission priority rules | |
EP1922628B1 (en) | Partially populated, hierarchical crossbar | |
US20070156937A1 (en) | Data transfer in multiprocessor system | |
US7719964B2 (en) | Data credit pooling for point-to-point links | |
US8619554B2 (en) | Interconnecting initiator devices and recipient devices | |
US7657682B2 (en) | Bus interconnect with flow control | |
US7039750B1 (en) | On-chip switch fabric | |
JPS59148952A (en) | Preference sequence circuit | |
KR100961965B1 (en) | Bus system and data transmission method using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ATMEL ROUSSET S.A.S., FRANCE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LUNADIER, FRANCK;MATULIK, ERIC;TIENNOT, RENAUD;REEL/FRAME:038975/0670 Effective date: 20130319 Owner name: ATMEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ATMEL ROUSSET S.A.S.;REEL/FRAME:038975/0858 Effective date: 20130409 |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT, ILLINOIS Free format text: SECURITY INTEREST;ASSIGNOR:ATMEL CORPORATION;REEL/FRAME:041715/0747 Effective date: 20170208 Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT Free format text: SECURITY INTEREST;ASSIGNOR:ATMEL CORPORATION;REEL/FRAME:041715/0747 Effective date: 20170208 |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT, ILLINOIS Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INCORPORATED;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:046426/0001 Effective date: 20180529 Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INCORPORATED;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:046426/0001 Effective date: 20180529 |
|
AS | Assignment |
Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT, CALIFORNIA Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INCORPORATED;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:047103/0206 Effective date: 20180914 Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES C Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INCORPORATED;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:047103/0206 Effective date: 20180914 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT, DELAWARE Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INC.;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:053311/0305 Effective date: 20200327 |
|
AS | Assignment |
Owner name: MICROSEMI CORPORATION, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT;REEL/FRAME:053466/0011 Effective date: 20200529 Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT;REEL/FRAME:053466/0011 Effective date: 20200529 Owner name: ATMEL CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT;REEL/FRAME:053466/0011 Effective date: 20200529 Owner name: MICROCHIP TECHNOLOGY INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT;REEL/FRAME:053466/0011 Effective date: 20200529 Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT;REEL/FRAME:053466/0011 Effective date: 20200529 |
|
AS | Assignment |
Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, MINNESOTA Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INC.;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:053468/0705 Effective date: 20200529 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT, MINNESOTA Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INCORPORATED;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:055671/0612 Effective date: 20201217 |
|
AS | Assignment |
Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222 Effective date: 20220218 Owner name: MICROSEMI CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222 Effective date: 20220218 Owner name: ATMEL CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222 Effective date: 20220218 Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222 Effective date: 20220218 Owner name: MICROCHIP TECHNOLOGY INCORPORATED, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222 Effective date: 20220218 |
|
AS | Assignment |
Owner name: ATMEL CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059262/0105 Effective date: 20220218 |
|
AS | Assignment |
Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001 Effective date: 20220228 Owner name: MICROSEMI CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001 Effective date: 20220228 Owner name: ATMEL CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001 Effective date: 20220228 Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001 Effective date: 20220228 Owner name: MICROCHIP TECHNOLOGY INCORPORATED, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001 Effective date: 20220228 |
|
AS | Assignment |
Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059863/0400 Effective date: 20220228 Owner name: MICROSEMI CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059863/0400 Effective date: 20220228 Owner name: ATMEL CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059863/0400 Effective date: 20220228 Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059863/0400 Effective date: 20220228 Owner name: MICROCHIP TECHNOLOGY INCORPORATED, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059863/0400 Effective date: 20220228 |
|
AS | Assignment |
Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059363/0001 Effective date: 20220228 Owner name: MICROSEMI CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059363/0001 Effective date: 20220228 Owner name: ATMEL CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059363/0001 Effective date: 20220228 Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059363/0001 Effective date: 20220228 Owner name: MICROCHIP TECHNOLOGY INCORPORATED, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059363/0001 Effective date: 20220228 |
|
AS | Assignment |
Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:060894/0437 Effective date: 20220228 Owner name: MICROSEMI CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:060894/0437 Effective date: 20220228 Owner name: ATMEL CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:060894/0437 Effective date: 20220228 Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:060894/0437 Effective date: 20220228 Owner name: MICROCHIP TECHNOLOGY INCORPORATED, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:060894/0437 Effective date: 20220228 |