Browse Prior Art Database

Method for storing debug and/or diagnostic information in disk drives Disclosure Number: IPCOM000016107D
Original Publication Date: 2002-Jul-14
Included in the Prior Art Database: 2003-Jun-21

Publishing Venue



Disclosed is a method of storing diagnostic information in a disk drive in such a way that it does not use a large proportion of the storage resources of the drive controller. Permanently dedicating part of the storage of the drive reduces the performance that is available at all times, even if the diagnostic information is only used infrequently. The problem is solved by using the existing storage resource within the disk drive. Commands that are executed by the drive have structures with data buffers associated with them that are used to store the data for the command. These commands are then linked together in lists so that the processing performed on them can be organised. Figure 1 shows such a list, 'List A'. During normal operation, lists such as these link all structures associated with commands. The disclosed method stores diagnostic information in the data buffer part of a command transaction structure. This structure is then removed from all lists within the drive and 'floats' until it is retrieved. As the command structure isn't on any of the lists within the drive, it isn't affected by the normal processing flow of the disk drive controller code. This is shown in Figure 1 as the structure 'B'. If there are no floating command structures then all of the resources are available for normal processing. More than one command structure can be left floating in this way, allowing more than one set of diagnostic information to be stored within the drive, perhaps relating to different events. As structure 'B' is not linked to any list it is ignored by the normal processing of commands within the drive, the only effect that it may have is that the drive may run out of resources one command earlier per floating structure than it would had the command structure not been used. As there would only have been resources for one extra command per floating transaction anyway, it is likely that this effect would not be noticed during normal processing. This approach has the advantage that no special storage management needs to be coded to handle diagnostic information as the existing