Patent ID: 8639986

Claim:
A method comprising: generating trace data at a device associated with data communication to and from a computer storage device through an appropriate communication link therefor, the trace data being configured to enable debugging of a set of instructions associated with the device; transmitting the trace data through the appropriate communication link; capturing the trace data transmitted through the appropriate communication link through one of a protocol analyzer, a host system and the protocol analyzer coupled to the host system, the one of the protocol analyzer, the host system and the protocol analyzer coupled to the host system being configured to be external to the device associated with the data communication to and from the computer storage device, the capturing including logging trace points associated with the trace data in a trace buffer associated with the one of the protocol analyzer, the host system and the protocol analyzer coupled to the host system; and analyzing the trace data at the one of the protocol analyzer, the host system and the protocol analyzer coupled to the host system to obtain information associated with the set of instructions associated with the device, wherein when the trace data is captured through the host system and analyzed therein, the method further comprises: storing the trace data in an intermediate trace buffer of the device prior to the transmission thereof; issuing a command associated with reading the intermediate trace buffer of the device through the host system; and transmitting, as and when the trace data is available, the trace data from the intermediate trace buffer of the device to the host system upon the receipt of the command, the availability of the trace data being determined based on at least one of a threshold percentage of the intermediate trace buffer and a threshold period of inactivity therein, and the command being implemented as at least one of a vendor specific mode and multiple commands, each of which is limited in size, based on whether the device is corresponding one of capable and incapable of receiving concurrent commands associated with reading the intermediate trace buffer thereof.