Patent ID: 7168029

Claim:
A method for testing a host controller, said method comprising the steps of: coupling said host controller at a host side to a client device at a client side via a peripheral bus in order to test said host controller, wherein, at said host side, said host controller is coupled to a memory device for storing test data including a plurality of requests of said host controller, and, at said client side, said client device is coupled to a memory device for storing test data of said client device; setting said host controller and said client device individually in a test mode; performing a client-side test preparation action at said client device in the test mode to buffer said test data at the client side; performing a host-side test preparation action at said host controller in the test mode to buffer said requests at the host side; sequentially outputting said requests from said host controller to said client device; in response to said requests, producing a plurality of simulated responses according to the buffered test data from said client device to said host controller, wherein said simulated responses include correct responses corresponding to said requests, faulty responses, and error responses, wherein said simulated responses are to be received by said host controller during actual operation, the correct responses simulate normal situations, and the faulty and error responses produced to said host controller are irrelevant to the requests received by said client device in order to simulate abnormal situations that cannot be simulated by the correct responses; and performing a verification test at said host controller to verify whether said host controller works properly, said verification test comprising: checking whether said response received by said host controller is correct according to said test data of said host controller; and when the faulty and error responses are received from the client device, checking whether status data stored in a plurality of status registers of said host controller is correct.