Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for verifying operation of a data processing system including a plurality of requesters, comprising: generating a first sequence of addressing ranges for the requestors, wherein each addressing range within the first sequence includes a start and an end address of the addressing range and a respective identifying number of the addressing range; generating a second sequence of verification ranges corresponding the addressing ranges of the first sequence, wherein each verification range in the second sequence includes a start and an end address of the verification range and specifies at least one allowed value including each respective identifying number of all of the addressing ranges that overlap the verification range; executing a respective accessing activity on each requestor, including the requestor performing accesses to each addressing range in the first sequence, wherein the accesses include writing the respective identifying number of the addressing range to at least one address of the addressing range; and executing a verification activity on at least one of the requesters, including the at least one requester reading a value from each address of each verification range of the second sequence and outputting an error message in response to the value not matching the at least one allowed value of the verification range.
2. The method of claim 1 , wherein each requestor is one of a processor of the data processing system and an input/output controller of the data processing system.
3. The method of claim 1 , further comprising configuring a number of the requesters, a total memory space for containing the addressing ranges of the first sequence, a number of addressing ranges in the first sequence, bounds on the size of each addressing range in the first sequence, and a likelihood of overlap of the addressing ranges in the first sequence.
4. The method of claim 1 , wherein the generating the first sequence includes one of the requestors generating the first sequence.
5. The method of claim 1 , wherein the generating the first sequence includes randomly selecting whether to produce an overlap of each addressing range with the addressing ranges already selected for the first sequence, and, in response to selecting the overlap, randomly selecting the start and end address of the addressing range to overlap at least one of the addressing ranges already selected for the first sequence.
6. The method of claim 1 , wherein the generating the first sequence includes randomly selecting the start address of each addressing range and randomly selecting a size of the addressing range within a distribution of sizes, whereby the start address and the size determine the end address of the addressing range.
7. The method of claim 1 , wherein each verification range in the second sequence specifies the at least one allowed value in a table having a respective flag at each index in the table, the respective flag indicating whether the at least one allowed value includes the respective identifying number corresponding to the index.
8. The method of claim 1 , wherein the at least one allowed value of each verification range in the second sequence is a plurality of allowed values including a default value differing from all of the respective identifying numbers of the addressing ranges in the first sequence.
9. The method of claim 1 , further comprising executing an initialization activity on at least one of the requestors, the initialization activity including the at least one requestor writing a default value to each address of each addressing range of the first sequence, the default value differing from all of the respective identifying numbers of the addressing ranges in the first sequence.
10. The method of claim 1 , further comprising generating the respective accessing activity for each of the requestors responsive to the first sequence, and generating the verification activity responsive to the second sequence.
11. The method of claim 1 , wherein the executing of the respective accessing activity on each requestor includes, for each addressing range for the requestor in the first sequence, the requestor writing the respective identifying number of the addressing range to every address inclusively between the start and ending addresses of the addressing range.
12. The method of claim 1 , wherein the executing of the respective accessing activity on each requestor includes each requestor selecting a first respective addressing range in the first sequence and synchronously selecting a second respective addressing range in the first sequence in response to all of the requestors completing the performing of the accesses to the first respective addressing ranges.
13. The method of claim 1 , wherein the executing of the respective accessing activity on each requestor includes each requestor selecting a first respective addressing range in the first sequence and asynchronously selecting a second respective addressing range in the first sequence in response to completing the performing of the accesses to the first respective addressing range.
14. The method of claim 1 , wherein the executing of the verification activity includes one of the requesters synchronously checking the value from each address of each verification range of the second sequence in response to all of the requestors completing the performing of the accesses to each addressing range in the first sequence.
15. The method of claim 1 , wherein the executing of the verification activity includes each of the at least one of the requestors asynchronously checking the value from each address of each verification range of the second sequence in response to the requestor completing the performing of the accesses to an addressing range for the requestor in the first sequence.
16. The method of claim 1 , wherein the executing of the verification activity includes one of the requesters executing a first instruction for loading a value at an address of a verification range of the second sequence and executing a second instruction for testing a flag at an offset in a table, the offset equaling the value and the flag specifying whether the value is included in the at least one allowed value of the verification range.
17. The method of claim 1 , wherein the outputting the error message includes outputting the error message that identifies one of the requestors as a source of the value that does not match the at least one allowed value of the verification range.
18. The method of claim 1 , further comprising executing a conflict activity on at least one additional requester, including each additional requestor reading from an address of an addressing range of the first sequence.
19. A data processing system, comprising: means for generating a first sequence of addressing ranges, wherein each addressing range within the first sequence includes a respective identifying number of the addressing range; means for generating a second sequence of verification ranges corresponding the addressing ranges of the first sequence, wherein each verification range in the second sequence specifies at least one allowed value including each respective identifying number of all of the addressing ranges that overlap the verification range; means for performing accesses to each addressing range in the first sequence, the accesses including writing the respective identifying number of the addressing range to at least one address of the addressing range; means for reading a value from each address of each verification range of the second sequence; and means for outputting an error message in response to the value not matching the at least one allowed value of the verification range.
20. A data processing system, comprising: a processor arrangement; and a memory coupled to the processor arrangement, the memory configured with instructions executable by the processing arrangement for verifying the data processing system, wherein the processor arrangement in executing the instructions, generates a first sequence of addressing ranges, wherein each addressing range within the first sequence includes a respective identifying number of the addressing range, generates a second sequence of verification ranges corresponding the addressing ranges of the first sequence, wherein each verification range in the second sequence specifies at least one allowed value including each respective identifying number of all of the addressing ranges that overlap the verification range, performs accesses to each addressing range in the first sequence, the accesses including writing the respective identifying number of the addressing range to at least one address of the addressing range, and reads a value from each address of each verification range of the second sequence and outputs an error code in response to the value not matching the at least one allowed value of the verification range.
Unknown
February 8, 2011
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.