System and method for programmably controlling data transfer request rates between data sources and destinations in a data processing system
First Claim
1. A method for controlling the flow of data transfer requests from one or more request sources to one or more request destinations, wherein each data transfer request is a request for an addressed one of the request destinations to supply a data segment to a respective one of the request sources, the method comprising:
- temporarily storing the data transfer requests from each of the request sources for future delivery to its addressed one of the request destinations;
enabling delivery of the stored data transfer requests to their corresponding addressed ones of the request destinations in accordance with a predetermined delivery priority scheme;
selectively suspending prioritization and delivery of identified ones of the stored data transfer requests for a user-defined period; and
upon expiration of the user-defined period, enabling prioritization and delivery of both the identified ones and remaining ones of the stored data transfer requests in accordance with the predetermined delivery priority scheme.
12 Assignments
0 Petitions
Accused Products
Abstract
A system and method for selectively controlling the interface throughput of data transfer requests from request sources to request destinations. The system and method provide a manner in which the flow of data transfer requests from request sources to request destinations are controlled. The data transfer requests from each of the request sources are temporarily stored for future delivery to its addressed request destination. Delivery of the stored data transfer requests to the addressed request destination is enabled according to a predetermined delivery priority scheme. Certain stored data transfer requests are identified to be selectively suspended from being prioritized and delivered to the addressed request destination. The identified data transfer requests are suspended from delivery for a definable period of time. Upon expiration of the definable period of time, the suspended data transfer requests, as well as all other stored data transfer requests, are enabled for prioritization and delivery in accordance with the predetermined delivery priority scheme.
153 Citations
33 Claims
-
1. A method for controlling the flow of data transfer requests from one or more request sources to one or more request destinations, wherein each data transfer request is a request for an addressed one of the request destinations to supply a data segment to a respective one of the request sources, the method comprising:
-
temporarily storing the data transfer requests from each of the request sources for future delivery to its addressed one of the request destinations;
enabling delivery of the stored data transfer requests to their corresponding addressed ones of the request destinations in accordance with a predetermined delivery priority scheme;
selectively suspending prioritization and delivery of identified ones of the stored data transfer requests for a user-defined period; and
upon expiration of the user-defined period, enabling prioritization and delivery of both the identified ones and remaining ones of the stored data transfer requests in accordance with the predetermined delivery priority scheme. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
further comprising identifying those of the stored data transfer requests destined for a particular one of the request destinations for which data transfer activity is to be deferred; and
wherein selectively suspending prioritization and delivery of identified ones of the stored data transfer requests comprises entering a configuration code identifying those of the stored data transfer requests destined for the particular one of the request destinations for which data transfer activity is to be deferred, and identifying a duration of the user-defined period.
-
-
7. The method of claim 6, wherein entering a configuration code comprises temporarily suspending system clock functions and entering the configuration code via a static scan operation.
-
8. The method of claim 6, wherein entering a configuration code comprises entering the configuration code via a dynamic scan operation, thereby allowing the configuration code to be entered during continuous operation of a system clock function.
-
9. The method of claim 6, wherein:
-
entering a configuration code comprises entering an address code identifying a particular one or more of the request destinations to suspend data transfer activity; and
selectively suspending prioritization and delivery of the identified ones of the stored data transfer requests comprises suspending prioritization and delivery of those of the stored data transfer requests destined for the request destination corresponding to the address code.
-
-
10. The method of claim 6, wherein entering a configuration code comprises entering a mode identifier corresponding to the user-defined period of prioritization and delivery suspension.
-
11. The method of claim 10, wherein the user-defined period is cyclic, such that selectively suspending prioritization and delivery of the identified ones of the stored data transfer requests is periodically suspended and enabled.
-
12. The method of claim 10, wherein the user-defined period is indefinite, and wherein the selective suspension of prioritization and delivery of the identified ones of the stored data transfer requests is suspended until another mode identifier is entered to lift the suspension.
-
13. The method of claim 1, wherein the user-defined period is cyclic such that selectively suspending prioritization and delivery of the identified ones of the stored data transfer requests is periodically suspended and enabled.
-
14. A method for controlling the flow of data transfer requests during normal system operations of a multiprocessing computing system having a plurality of request sources providing data transfer requests to a plurality of request destinations in accordance with a predetermined request dispatch priority scheme, wherein each data transfer request is a request for an addressed one of the request destinations to supply a data segment to a respective one of the request sources, the method comprising:
-
periodically performing first data transfer operations between a first request source and a targeted request destination;
initiating a second data transfer operation between a second request source and the targeted request destination, wherein the second data transfer operation is subject to a response timeout limitation;
suspending the first data transfer operations for a user-defined period upon recognition of initiation of the second data transfer operation;
enabling the second data transfer operations during the user-defined period; and
upon expiration of the user-defined period, enabling both the first data transfer operations and the second data transfer operations in accordance with the predetermined request dispatch priority scheme. - View Dependent Claims (15, 16, 17, 18, 19)
entering a configuration code comprises entering an address code identifying the targeted request destination; and
suspending the first data transfer operations further comprises suspending delivery of the stored data transfer requests from the first request source that are destined for the targeted request destination identified by the address code.
-
-
19. The method of claim 16, wherein entering a configuration code comprises entering a mode identifier corresponding to a length of time of the user-defined period of delivery suspension.
-
20. A method for controlling the flow of data transfer requests during offline testing of a multiprocessing computing system having a plurality of request sources capable of providing data transfer requests to a plurality of request destinations in accordance with a predetermined request dispatch priority scheme, the multiprocessing computing system including a main storage unit having a plurality of data transfer queues that operate in parallel to temporarily store the data transfer requests from the request sources to the request destinations, the method comprising:
-
selecting a first one of the plurality of data transfer queues to initialize the memory in the main storage unit;
loading a number of known data transfer requests into second ones of the plurality of data transfer queues, wherein the second ones of the data transfer queues comprise at least one of the remaining ones of the data transfer queues not selected to initialize the memory;
prohibiting data transfer operations from the second data transfer queues for a user-defined period;
executing a memory initialization sequence via the first data transfer queue; and
enabling the data transfer operations from the second data transfer queues upon expiration of the user-defined period. - View Dependent Claims (21, 22)
determining an actual state of the memory upon completion of the memory initialization sequence; and
comparing the actual state of the memory with an expected state of the memory.
-
-
22. The method of claim 20, wherein prohibiting data transfer operations from the second data transfer queues for a user-defined period comprises:
-
entering an address code identifying those of the data transfer requests from the second data transfer queues and preventing the second data transfer queues from outputting the data transfer requests; and
entering a mode identifier which specifies a duration of the user-defined period.
-
-
23. A data transfer request interface circuit for use in a multiprocessing computing system having at least one request source to provide data transfer requests to at least one request destination, the interface circuit comprising:
-
a queuing circuit coupled to each of the request sources to receive and temporarily store the data transfer requests;
a priority logic circuit coupled to the queuing circuit to prioritize a sequence by which the stored data transfer requests are output from the queuing circuit in accordance with a predetermined priority algorithm;
a masking register coupled to the priority logic circuit to mask predetermined ones of the stored data transfer requests from being considered by the priority logic circuit in response to a masking signal pattern provided to the masking register, thereby retaining the predetermined ones of the stored data transfer requests in the queuing circuit while allowing remaining ones of the stored data transfer requests to be prioritized and output from the queuing circuit; and
a configurable request flow controller coupled to the masking register to generate the masking signal pattern in response to user-defined parameters, wherein the user-defined parameters define at least which of the stored data transfer requests are to be masked by the masking register, and the duration to which the masking signal pattern is to be sustained. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
a timing circuit to generate a plurality of digital waveforms having different periods;
a first programmable register to designate, using the user-defined parameters, a desired one of the digital waveforms; and
a waveform selector coupled to receive the digital waveforms and the user-defined parameters corresponding to the desired one of the digital waveforms, and to output the desired digital waveform in response thereto.
-
-
29. The data transfer request interface circuit as in claim 28, wherein the configurable request flow controller further comprises a destination resource selection circuit coupled to the waveform selector to receive the desired one of the digital waveforms from each of the plurality of time selection circuits, wherein the destination resource selection circuit selects one or more of the desired ones of the digital waveforms from each of the plurality of time selection circuits to generate the masking signal pattern to provide to the masking register.
-
30. The data transfer request interface circuit as in claim 29, further comprising a second programmable register coupled to the destination resource selection circuit to dynamically designate via the user-defined parameters which of the digital waveforms from each of the plurality of time selection circuits to include as part of the masking signal pattern.
-
31. A data transfer request interface circuit for use in a multiprocessing computing system having at least one request source to provide data transfer requests to at least one request destination, the interface circuit comprising:
-
queuing means coupled to each of the request sources for receiving and storing the data transfer requests;
request prioritization means coupled to the queuing means for prioritizing a delivery order of the stored data transfer requests from the queuing means;
request masking means coupled to the request prioritization means for disabling prioritization and delivery of predetermined ones of the stored data transfer requests in response to a masking signal pattern, thereby retaining the predetermined ones of the stored data transfer requests in the queuing means while allowing remaining ones of the stored data transfer requests to be prioritized and output by the queuing means;
flow control means coupled to the request masking means for generating the masking signal pattern in response to user-defined parameters, wherein the user-defined parameters define at least which of the stored data transfer requests are to be disabled from delivery, and the duration to which the masking signal pattern is to be sustained. - View Dependent Claims (32, 33)
waveform generation means for generating a plurality of digital waveforms having different periods;
a first programmable register to designate, using the user-defined parameters, a desired one of the digital waveforms; and
waveform selection means coupled to receive the digital waveforms and the user-defined parameters corresponding to the desired one of the digital waveforms, for outputting the desired digital waveform in response to the user-defined parameters.
-
-
33. The data transfer request interface circuit as in claim 32, wherein the flow control means further comprises destination resource selection means coupled to the waveform selection means for receiving the desired one of the digital waveforms from each of the plurality of time selection means, and for selecting one or more of the desired ones of the digital waveforms from each of the plurality of time selection means for generating the masking signal pattern to provide to the request masking means.
Specification