Quality assurance testing of electronic devices such as Data Storage Devices (DSDs) can include having a human operator confirm a state or condition of an electronic device being testing. For example, an operator testing a Device Under Test (DUT) may need to confirm that a Light Emitting Diode (LED), LED display or Liquid Crystal Display (LCD) displays a particular color or a test pattern. However, such testing can result in the operator missing a failure after repeatedly testing many devices due to an “automatic response” of the operator to repeat a pattern of behavior.
The features and advantages of the embodiments of the present disclosure will become more apparent from the detailed description set forth below when taken in conjunction with the drawings. The drawings and the associated descriptions are provided to illustrate embodiments of the disclosure and not to limit the scope of what is claimed.
In the following detailed description, numerous specific details are set forth to provide a full understanding of the present disclosure. It will be apparent, however, to one of ordinary skill in the art that the various embodiments disclosed may be practiced without some of these specific details. In other instances, well-known structures and techniques have not been shown in detail to avoid unnecessarily obscuring the various embodiments.
Test system 101 can be, for example, a computer system such as a server, desktop, laptop, tablet, or other mobile device. In this regard, test system 101 may be a stand-alone system or part of a network, such as network 50, which can, for example, be a local or wide area network or the Internet.
Those of ordinary skill in the art will appreciate that test system 101 and DUTs 122 and 128 can include more or less than those elements shown in
As shown in the example of
Operator interface 102 can be a keyboard, scroll wheel, or pointing device allowing an operator of test system 101 to enter information and commands to test system 101, or to allow an operator to manipulate objects displayed on display 104. In other embodiments, operator interface 102 and display 104 can be combined into a single component, such as a touch-screen that displays objects and receives operator input.
Test system 101 also includes Random Access Memory (RAM) 110, input interface 114 for operator interface 102, display interface 116 for display 104, Read Only Memory (ROM) 118, network interface 111, Data Storage Device (DSD) 106, and device interface 120 for interfacing with DUTs 122 and 128.
RAM 110 is a volatile memory of test system 101 that interfaces with bus 112 so as to provide information stored in RAM 110 to CPU 108 during execution of instructions in software programs such as testing application 16 for testing DUTs 122 and 128. More specifically, CPU 108 first loads computer-executable instructions from DSD 106 or another DSD into a region of RAM 110. CPU 108 can then execute the stored process instructions from RAM 110. Data such as data to be stored in DSD 106 or data retrieved from DSD 106 can also be stored in RAM 110 so that the data can be accessed by CPU 108 during execution of software programs to the extent that such software programs have a need to access and/or modify the data.
As shown in
Device interface 120 can be configured to interface test system 101 with DUTs 122 and 128 according to a standard. In one implementation DUTs 122 and 128 include DSDs such as a hard disk drive, flash storage drive, external hard drive, or digital video recorder. In such implementations, device interface 120 may use a standard such as Serial Advanced Technology Attachment (SATA), PCI express (PCIe), or Serial Attached SCSI (SAS). In other implementations where DUTs 122 and 128 are a different type of electronic device, device interface 120 may use a different standard for communicating with DUTs 122 and 128.
As shown in
In the example of
By using a randomly selected test condition, it is ordinarily possible to reduce the likelihood of an operator having an “automatic response” after repeatedly performing many tests where the operator may expect a particular output condition or repeat a particular pattern. Such an automatic response is often strong enough to cause an operator to either not notice a failed component or to inadvertently indicate the wrong test condition.
In the example of
Display 104 indicates multiple test conditions in addition to a condition or state with no output with “nothing” shown on display 104. As with the example of
The process of
In block 404, test system 101 controls at least one DUT via device interface 120 to attempt to output the randomly selected test condition. In a case where the DUT has a defective component, the DUT may not be capable of outputting the randomly selected test condition.
In block 406, test system 101 prompts an operator input to confirm that the output condition of the DUT matches the randomly selected test condition. The prompting may be accomplished by displaying a plurality of test conditions for the operator to select a test condition matching the output condition of the DUT.
In block 408, test system 101 receives an operator input via operator interface 102. As noted above, operator interface 102 can include a keyboard, scroll wheel, touch-screen or pointing device allowing the operator to select a test condition displayed on display 104.
In block 410, CPU 108 compares the output condition indicated by the operator input with the randomly selected test condition to determine whether the output condition matches the randomly selected test condition. If it is determined that the output condition indicated by the operator input matches the randomly selected test condition, test system 101 indicates in block 412 that the DUT passes the quality assurance test. The indication may, for example, be made on display 104 or with an audible sound.
On the other hand, if it is determined that the output condition does not match the randomly selected test condition, test system 101 indicates in block 414 that the DUT fails the quality assurance test. The indication may, for example, be made on display 104 or with an audible sound.
Those of ordinary skill in the art will appreciate that the various illustrative logical blocks, modules, and processes described in connection with the examples disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. Furthermore, the foregoing processes can be embodied on a computer readable medium which causes a processor, controller, or computer to perform or execute certain functions.
To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, and modules have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Those of ordinary skill in the art may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
The various illustrative logical blocks, units, modules, and controllers described in connection with the examples disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The activities of a method or process described in connection with the examples disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The steps of the method or algorithm may also be performed in an alternate order from those provided in the examples. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable media, an optical media, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an Application Specific Integrated Circuit ASIC.
The foregoing description of the disclosed example embodiments is provided to enable any person of ordinary skill in the art to make or use the embodiments in the present disclosure. Various modifications to these examples will be readily apparent to those of ordinary skill in the art, and the principles disclosed herein may be applied to other examples without departing from the spirit or scope of the present disclosure. The described embodiments are to be considered in all respects only as illustrative and not restrictive and the scope of the disclosure is, therefore, indicated by the following claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
| Number | Name | Date | Kind |
|---|---|---|---|
| 6502212 | Coyle | Dec 2002 | B1 |
| 6806715 | Domadia et al. | Oct 2004 | B1 |
| 7701705 | Szeremeta | Apr 2010 | B1 |
| 8064194 | Szeremeta | Nov 2011 | B2 |
| 8113873 | Sarraf | Feb 2012 | B1 |
| 8133426 | Yurchenco et al. | Mar 2012 | B1 |
| 8358395 | Szeremeta | Jan 2013 | B1 |
| 8417979 | Maroney | Apr 2013 | B2 |
| 8462460 | Szeremeta et al. | Jun 2013 | B1 |
| 8498088 | Klein | Jul 2013 | B1 |
| 8547658 | Szeremeta | Oct 2013 | B1 |
| 20080155354 | Kolman | Jun 2008 | A1 |
| 20080177534 | Wang | Jul 2008 | A1 |
| 20100229039 | Chikada | Sep 2010 | A1 |
| 20110055645 | Inoue | Mar 2011 | A1 |
| 20130242354 | Dewancker | Sep 2013 | A1 |
| 20130278539 | Valentine | Oct 2013 | A1 |
| 20140091830 | Ishida | Apr 2014 | A1 |
| 20140226828 | Klippel | Aug 2014 | A1 |
| 20140253372 | Davis | Sep 2014 | A1 |
| 20150106670 | Gintis | Apr 2015 | A1 |