US5862316AExpiredUtility

Multiprocessing system having coherency-related error logging capabilities

78
Assignee: SUN MICROSYSTEMS INCPriority: Jul 1, 1996Filed: Jul 1, 1996Granted: Jan 19, 1999
Est. expiryJul 1, 2016(expired)· nominal 20-yr term from priority
G06F 11/2205Y10S707/99952
78
PatentIndex Score
90
Cited by
39
References
17
Claims

Abstract

Protocol agents involved in the performance of global coherency activity detect errors with respect to the activity being performed. The errors are logged by a computer system such that diagnostic software may be executed to determine the error detected and to trace the error to the erring software or hardware. In particular, information regarding the first error to be detected is logged. Subsequent errors may receive more or less logging depending upon programmable configuration values. Additionally, those errors which receive full logging may be programmably selected via error masks. The protocol agents each comprise multiple independent state machines which independently process requests. If the request which a particular state machine is processing results in an error, the particular state machine may enter a freeze state. Information regarding the request which is collected by the state machine may thereby be saved for later access. A state machine freezes upon detection of the error if a maximum number of the multiple state machines are not already frozen and the aforementioned error mask indicates that full error logging is employed for the detected error. Therefore, at least a minimum number of the multiple state machines remain functioning even in the presence of a large number of errors. Still further, prior to entering the freeze state, the protocol state machines may transition through a recovery state in which resources not used for error logging purposes are freed from the erring request.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. An apparatus for logging errors, comprising: a protocol agent configured to perform a coherency action in response to an access to a coherency unit by a processing node wherein said protocol agent includes a plurality of state machines, and a first of said plurality of state machines is configured to perform said coherency action in response to said access concurrent with others of said plurality of state machines performing other coherency actions; and   a storage device configured to store an indication of said protocol agent upon detection of an error by said protocol agent, said error corresponding to said coherency action;   wherein said indication further identifies one of said plurality of state machines, and wherein said one of said plurality of state machines is performing said coherency action for which said error is detected.   
     
     
       2. The apparatus as recited in claim 1 wherein said protocol agent comprises a home agent. 
     
     
       3. The apparatus as recited in claim 1 wherein said protocol agent comprises a request agent. 
     
     
       4. The apparatus as recited in claim 3 wherein said request agent is further configured to log errors detected by a slave agent. 
     
     
       5. The apparatus as recited in claim 1 wherein said error comprises a timeout in which a predefined time interval expires from initiation of said access before said access is completed. 
     
     
       6. The apparatus as recited in claim 1 wherein said error comprises a receipt of an unexpected coherency action by said protocol agent. 
     
     
       7. The apparatus as recited in claim 1 further comprising a third storage device configured to store data identifying a transaction for which said error is detected. 
     
     
       8. A method for logging errors comprising: detecting an error with respect to a transaction being handled by one of a plurality of state machines comprising a protocol agent;   transitioning to a recovery state within said one of said plurality of state machines upon said detecting, whereby resources occupied by said transaction are freed; and   transitioning to a freeze state within said one of said plurality of state machines, whereby transaction information regarding said transaction is preserved, wherein said transitioning to a freeze state is replaced with transitioning to an idle state if more than a maximum number of said plurality of state machines are in said freeze state.   
     
     
       9. The method as recited in claim 8 wherein said maximum number is programmable. 
     
     
       10. The method as recited in claim 8 further comprising transition to said idle state instead of said freeze state if said error is disabled via a programmable mask field. 
     
     
       11. The method as recited in claim 8 further comprising storing an indication of said error in a register. 
     
     
       12. The method as recited in claim 8 wherein said protocol agent comprises a request agent. 
     
     
       13. The method as recited in claim 12 wherein said detecting comprises receiving an indication of said error from a slave agent. 
     
     
       14. A computer system comprising: a first processing node including a request agent, wherein said request agent is configured to detect and log a first error with respect to a coherency request initiated therefrom, and wherein said coherency request indicates an access right requested by said first processing node for a particular coherency unit, and wherein said coherency request is conveyed to a home node of said coherency unit; and   a second processing node including a home agent, wherein said home agent is configured to detect and log a second error with respect to a coherency demand initiated therefrom in response to said coherency request, and wherein said coherency demand indicates a coherency state to be stored with respect to said particular coherency unit by a particular processing node receiving said coherency demand.   
     
     
       15. The computer system as recited in claim 14 further comprising a third processing node including a slave agent, wherein said slave agent is configured to detect a third error with respect to a coherency demand received therein, and wherein said slave agent is configured to transmit an indication of said third error to said request agent. 
     
     
       16. An apparatus for logging errors, comprising: a first protocol agent configured to perform a coherency action in response to an access to a coherency unit by a processing node, wherein said protocol agent includes a plurality of state machines, and a first of said plurality of state machines is configured to perform said coherency action in response to said access concurrent with others of said plurality of state machines performing other coherency actions; and   a storage device configured to store an indication of said protocol agent upon detection of an error by said protocol agent, said error corresponding to said coherency action;   wherein said one of said plurality of state machines which detects said error includes a freeze state, and wherein said freeze state is entered upon detection of said error if at least a remaining one of said plurality of state machines continues operating to handle other transactions;   wherein said one of said plurality of state machines includes an idle state from which another coherency action may be initiated by said one of said plurality of state machines, and wherein said one of said plurality of state machines is configured to transition to said idle state upon detecting said error instead of transitioning to said freeze state if a maximum number of said plurality of state machines are in said freeze state.   
     
     
       17. The apparatus as recited in claim 16 wherein said one of said plurality of state machines transitions to said freeze state through a recovery state, wherein resources occupied by said access are freed.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.