This specification relates generally to a tool for testing vibrations that occur, e.g., in slots of a hard disk drive (HDD) test system.
Manufacturers typically test devices, such as storage devices, for compliance with various requirements. Device test systems exist for testing large numbers of devices serially or in parallel. Device test systems typically include one or more test racks having multiple test slots that receive devices for testing. Vibrations in test slots can affect the accuracy of testing performed on the devices. Tools exist for determining the amount of vibrations in a test slot. Information about these vibrations may be used to increase test accuracy.
An example apparatus, such as a vibration testing tool, comprises: a housing configured to fit into, and to connect to, a test slot configured to house a device for testing, with the test slot being part of a device test system; accelerometers connected to the housing and configured to output signals representing movement of the apparatus; and circuitry connected to the housing to generate data based on the signals, with the data being usable to determine multiple independent accelerations of the apparatus. The example apparatus may include one or more of the following features, either alone or in combination.
The apparatus may include memory connected to the housing. The circuitry may be configured to store the data in the memory. The apparatus may include a connector connected to the housing. The connector may be for mating to a complementary connector in the test slot. The connector may comprise one or more electrical conduits to pass the data to one or more electrical conduits that are part of the test rack and that are connected to the complementary connector.
The apparatus may be in communication with a computer system through the one or more electrical conduits that are part of the test rack, and not through cables external to the hard disk drive test system. The data may be usable to determine independent accelerations of the apparatus.
The circuitry may define a data acquisition system. The data acquisition system may comprise front end circuitry to remove signals having frequencies above and/or below one or more thresholds, and analog-to-digital circuitry to convert signals that remain to produce the data. The apparatus may include one or more weights connected to the housing. The one or more weights may be arranged to approximate a mass distribution of a hard disk drive to be tested by the hard disk drive test system. The apparatus may include a slot to receive a card containing the memory. The card may be movable into, or out of, the slot.
The circuitry may be part of a printed circuit board that is mounted to the housing; the accelerometers may be within the housing; and the apparatus may include conduits to transport the signals from the accelerometers to the printed circuit board. The circuitry may be controllable to store the data in the memory, to output the data to an external system, or to both store the data in memory and to output the data to an external system.
An example test system may include a computer system; test slots configured to hold devices during testing; and a rack configured to hold the test slots. The rack may comprise electrical conduits connected to, and between, the test slots and the computer system to enable communication between the test slots and the computer system. A robot may be configured to service the test slots by moving devices into, and out of, the test slots. At least one of the devices may comprise a testing tool configured to test vibration of test slots. The testing tool may comprise: a housing configured to fit into, and to connect to, a test slot; memory connected to the housing; accelerometers connected to the housing and configured to output signals representing movement of the testing tool; and circuitry connected to the housing to generate data based on the signals, and to store the data in the memory, with the data being usable to determine multiple independent accelerations of the apparatus. The example test system may include one or more of the following features, either alone or in combination.
The devices may include hard disk drives and the test system may be configured to test hard disk drives following verification based on testing vibration of the slots using the testing tool. The devices may include mobile telephone cameras and the test system may be configured to test mobile telephone cameras following verification based on testing vibration of the slots using the testing tool. The devices may comprise one or more of the following: biological samples, semiconductor devices, mechanical assemblies, or microelectromechanical systems (MEMS) devices.
The accelerometers may have a dynamic range of +/−5 g. The testing tool may comprise a connector connected to the housing. The connector may be for mating to a complementary connector in the test slot. The connector may comprise one or more electrical conduits to pass the data to one or more electrical conduits that are part of the rack and that are connected to the complementary connector.
The testing tool may be in communication with the computer system through the one or more electrical conduits that are part of the rack, and not through cables external to the hard disk drive test system. The data may be usable to determine independent accelerations of the test system.
The circuitry may define a data acquisition system. The data acquisition system may comprise front end circuitry to remove signals having frequencies above and/or below one or more thresholds, and analog-to-digital circuitry to convert signals that remain to produce the data.
The testing tool may comprise one or more weights connected to the housing. The one or more weights may be arranged to approximate a mass distribution of a hard disk drive to be tested by the hard disk drive test system. The testing tool may comprise a slot to receive a card containing the memory. The card may be movable into, or out of, the slot.
The circuitry may be part of a printed circuit board that is mounted to a bottom of the housing; the accelerometers may be within the housing; and the testing tool may comprise conduits to transport the signals from the accelerometers to the printed circuit board. The circuitry may be controllable to store the data in the memory, to output the data to the computer system, or to both store the data in memory and to output the data to the computer system.
Any two or more of the features described in this specification, including in this summary section, can be combined to form implementations not specifically described herein.
The systems and techniques described herein, or portions thereof, can be implemented as/controlled by a computer program product that includes instructions that are stored on one or more non-transitory machine-readable storage media, and that are executable on one or more processing devices to control (e.g., coordinate) the operations described herein. The systems and techniques described herein, or portions thereof, can be implemented as an apparatus, method, or electronic system that can include one or more processing devices and memory to store executable instructions to implement various operations.
The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.
Like reference numerals in different figures indicate like elements.
In a test system, devices under test (DUTs) are movable into, and out of, test slots for testing. The test slots may be mounted on racks using isolators that are configured to reduce the amount and/or frequencies of vibrations transmitted between the slots and the rack. This can be beneficial when testing devices that have moving parts, and whose movement can result in vibrations that can be transmitted to the rack and thus to other slots in the rack and/or parts that are sensitive to externally-induced vibration. For example, a hard disk drive (HDD) includes a spinning magnetic disk. Movement of the spinning magnetic disk causes vibrations that can be transmitted to the slot which, in turn, can be transmitted to the rack and to other slots. Vibrations, such as these, can adversely affect testing performed in other slots.
Described herein is an example of a tool for determining vibrations in a test slot of a test system. The vibration testing tool (or simply “tool”) is configured to have about the same size and mass distribution as a DUT to be tested in the test system. In this example, the device to be tested is a hard disk drive (HDD); however, other types of devices may be tested, as described herein. Consequently, in this case, the vibration testing tool is about the same size as, and has about the same mass distribution as, a HDD. The vibration testing tool is movable into, and out of, a test slot. Inside the test slot, the vibration testing tool connects, both electrically and mechanically, to the same interface in the test slot to which the HDD would connect, thereby enabling communication with the vibration testing tool to occur to, and through, the test system. Furthermore, the vibration testing tool is clamped to the test slot, so that movement of the test slot is transferred to the vibration testing tool. While in the test slot, the vibration testing tool stores data representing vibrations, including shock, that would occur in the test slot during testing using the test system. The vibration testing tool either stores the data locally (e.g., in a removable memory card in the vibration testing tool), or outputs the data to an external system, such as a test computer system that is part of the test system. Because the vibration testing tool is connected to the test system in the same way as a HDD would be connected, the vibration testing tool can output the data through electrical conduits that are already part of the test system.
In an example implementation, the vibration testing tool includes a housing configured to fit into, and to connect to, a test slot that is used to hold a DUT for testing. A memory, such as a removable memory card, is connected to the housing. Accelerometers are also connected to (e.g., inside) the housing and are configured to output signals representing movement of the vibration testing tool while in the housing. The movement of the vibration testing tool in the housing includes vibrations, including shock, experienced by the vibration testing tool in the housing during operation of the test system. Since the vibration testing tool is clamped within the test slot, the movement of the vibration testing tool reflects movement (e.g., vibrations) of the test slot. Circuitry, which is also connected to the housing, generates data based on the signals from the accelerometers, stores that data in the memory, and, in some cases, outputs that data to a test computer system through existing conduits in the test system. The data represents multiple (e.g., six) independent accelerations of the vibration testing tool, and thus the test slot, and is usable to determine vibrations, including shock, that the test slot experienced. Because the vibration testing tool stores the data locally or transmits the data through existing electrical conduits in the test system, the vibration testing tool need not include additional wiring to/from the vibration testing tool for data transmission. This is advantageous because such additional wiring can adversely affect vibration data.
More specifically, additional wiring between a vibration testing tool and an external system can introduce vibrations into the test system, and thus the test slots. As a result, it can be difficult to detect which vibrations are a result of operations in the test slot, and which vibrations are a result of the wires contacting, or otherwise affecting, the test system. By reducing the need for such wires, the vibration testing tool described herein can provide vibration data having increased accuracy. Furthermore, the elimination of such wires, and the construction of the vibration testing tool to resemble a device under test (e.g., an HDD), enables the vibration testing tool to be moved into, and out of, test slots using automation, such as robotics. As a result, vibration testing throughput can be increased relative to systems that require manual insertion and removal of a vibration testing tool.
In prior practice, vibration testing was performed prior to shipment of a test system, and also at the actual test location. For example, prior to shipment, the entire contingent of test slots was tested for vibration. At the actual test location, only a subset of the test slots were tested for vibration. However, since the vibration testing tool described herein enables automation of vibration testing using, e.g., robotics that are already part of the test system, vibration testing of all test slots may be performed prior to shipment and also at the actual test location. Testing, however, may also be performed as in prior practice, or using any other appropriate protocols.
An example of a test system with which the vibration testing tool may be used is described with respect to FIGS. 1A, 1B through FIG. 15 of U.S. patent application Ser. No. 13/834,803 (Publication No. 2014/0271064). The contents of U.S. patent application Ser. No. 13/834,803 are incorporated herein by reference. However, the vibration testing tool is not limited to use with the device test system described therein, and may be usable with any appropriate test system.
Described in U.S. patent application Ser. No. 13/834,803 is a system in which racks of slots are serviced by a robotic mast. A shuttle moves devices to be tested (e.g., hard drives) along a track from a feeder to a mast arm, and devices that have been tested from the mast arm to the feeder. The feeder may service the test slots in parallel with the shuttle moving the devices (tested or untested) between the feeder and the mast. The vibration testing tool described herein may be moved by the system in place of a device to be tested, and moved into a test slot for vibration testing.
In an example implementation, a rack 101 is served by a robotic mast. In this example, “servicing” includes moving untested storage devices into test slots in the rack, and moving tested storage devices out of test slots in the rack. “Servicing” also includes moving the vibration testing tool into, and out of, a test slot, and between test slots. An example of a mast 105 used to service test rack 101 is shown in
In some implementations, track 106 may run substantially parallel to the front (see, e.g.,
In some implementations, mast 105 includes an automation arm 107 for removing storage device or the vibration testing tool from, and inserting storage devices or the vibration testing tool into, corresponding test slots in the rack. In an example implementation, automation arm 107 is a structure that supports a storage device or the vibration testing tool, and that projects from the mast to a slot during docking (engaging) with a slot, and that retracts towards the mast when disengaging from the slot. Automation arm 107 is movable vertically along mast 105 to align to a slot to be serviced. In this regard, as noted above, mast 105 moves horizontally along track 106. The combination of the mast's horizontal motion and the automation arm's vertical motion enables servicing of any slot in a test rack. At least part of the horizontal and vertical motions may be concurrent.
The automation arm is configured to interact with a corresponding slot during loading of an untested device and unloading of a tested device. As explained in more detail below, when docked, a device in a slot (either a tested device or the vibration testing tool) may be moved, from the slot, to automation arm 107, to an elevator 109. In some implementations, the elevator may be considered part of the mast. A device may be moved from elevator 109, to automation arm 107, to the slot. In some implementations, the automation arm remains in contact with the slot for a whole time during transfer of a device out of a slot, and of a device into that same slot. This, however, need not be the case in all system implementations.
The test system may transport vibration testing tools among a feeder, a shuttle 112, elevator 109, automation arm 107, and test slots 101 in the same manner as the test system transports tested and untested storage devices. However, when transporting the vibration testing tool, the test system may be programmed to transport the same vibration testing tool between test slots. That is, when transporting tested and untested storage devices, the test system is typically programmed to transport untested storage devices from the feeder, to a test slot, and to transport tested storage devices from a test slot to the feeder. When transporting the vibration testing tool, the test system may be programmed to transport a vibration testing tool from one test slot, where vibration testing is performed on that test slot; to another test slot, where vibration testing is performed on that other test slot; to still another test slot, where vibration testing is performed on that still other test slot; and so forth, without returning the vibration testing tool to the feeder. In the meantime, the system may introduce additional vibration testing tools into the test rack, and move them from test slot to test slot in the same manner to perform vibration testing on the test slots. Movement may be programmed, and coordinated, to coincide with completion of vibration testing in individual test slots. Vibration testing may be asynchronous, e.g., not performed at the same time, enabling the test system to perform different operations at different times.
Referring to
Computing device 251 includes appropriate features that enable computing device 251 to communicate through electrical conduits in the test rack, or wirelessly, with processing devices in the test slots. Computing device 251 (or other devices directed by computing device 251) also controls various other features of the example test system described herein, such as the feeder(s), the mast(s), the shuttle(s), and so forth.
As noted, test system 255 may implement wired or wireless communications between computing device 251 and processing devices in the slots, and wired or wireless communications to other features of the system (e.g., the feeder(s), the mast(s), the shuttle(s), and so forth. In some implementations, communications to/from the slots may be a combination of wired and wireless communications.
In this example, the housing includes a circuit board (not shown in
Housing 301 is configured to have about the same size and mass distribution as a standard HDD and is, therefore, configured to fit into, and to connect to, a test slot in a test system, such as that shown in
Memory (not shown) is also connected to housing 301. In some implementations, this memory is implemented as one or more removable memory cards that can be inserted into, and removed from, a slot in the housing; however, that is not a requirement. The memory stores vibration data generated by the vibration testing tool for one or more test slots. For example, each test slot that the vibration testing tool has tested may be identified in memory, and have its vibration data stored in association therewith. The memory may be removable so that vibration data is available and accessible even in cases where the test computer is not operational or not in communication with the test slots. In this regard, as noted above, the vibration testing tool may transmit vibration data to the test computer system through electrical conduits in the test rack, or even wirelessly as described herein. However, the test computer system may not always be operational. In such cases, the removable memory enables access to vibration test data without requiring an operational test computer.
Referring also to
The vibration testing tool also includes a data acquisition system. As indicated above, the data acquisition system may be implemented on a circuit board 310 (
Referring to
As indicated herein, the vibration testing tool is configured to have a size and mass distribution that approximates those of a device (e.g., an HDD) to be tested in a test slot. Accordingly, the vibration testing tool may include one or more weights, such as weight 311 (
The vibration testing tool described herein may be used to detect vibrations in any appropriate range. For example, the vibration testing tool may be used to detect vibrations between 0 milli-g's and 30 milli-g's.
The example vibration testing tool and systems described herein focus on HDDs, e.g., generally. a non-volatile storage device that stores digitally encoded data on rapidly rotating platters with magnetic surfaces. However, the example vibration testing tool and systems described herein are usable with any type of storage or non-storage device that requires vibration testing. Such devices may include, but are not limited to, biological samples, semiconductor devices, mechanical assemblies, microelectromechanical systems (MEMS) devices, and so forth.
In an example, the vibration testing tool may be configured to have a size and mass distribution that are similar to those of a mobile telephone containing a camera. A version of the test system described herein may be configured to test mobile telephone cameras in slots. Consequently, a vibration testing tool configured to resemble a mobile telephone having a camera may be moved into, and out of, slots by the robotics described herein in order to test vibrations of those slots, as described herein.
Testing performed by the example test system described herein, which includes vibration testing and controlling (e.g., coordinating movement of) various automated elements to operate in the manner described herein or otherwise, may be implemented using hardware or a combination of hardware and software. For example, a test system like the ones described herein may include various controllers and/or processing devices located at various points in the system to control operation of the automated elements. A central computer (e.g., computing device 251) may coordinate operation among the various controllers or processing devices. The central computer, controllers, and processing devices may execute various software routines to effect control and coordination of the various automated elements.
In this regard, vibration testing using the vibration testing tool described herein may be controlled by a computer, e.g., by sending signals to and from one or more wired and/or wireless connections to each test slot. The testing can be controlled, at least in part, using one or more computer program products, e.g., one or more computer program tangibly embodied in one or more information carriers, such as one or more non-transitory machine-readable media, for execution by, or to control the operation of, one or more data processing apparatus, e.g., a programmable processor, a computer, multiple computers, and/or programmable logic components.
A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a network.
Actions associated with implementing all or part of the testing can be performed by one or more programmable processors executing one or more computer programs to perform the functions described herein. All or part of the testing can be implemented using special purpose logic circuitry, e.g., an FPGA (field programmable gate array) and/or an ASIC (application-specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only storage area or a random access storage area or both. Elements of a computer (including a server) include one or more processors for executing instructions and one or more storage area devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from, or transfer data to, or both, one or more machine-readable storage media, such as mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Machine-readable storage media suitable for embodying computer program instructions and data include all forms of non-volatile storage area, including by way of example, semiconductor storage area devices, e.g., EPROM, EEPROM, and flash storage area devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
Any “electrical connection” as used herein may imply a direct physical connection or a wired or wireless connection that includes intervening components but that nevertheless allows electrical signals to flow between connected components. Any “connection” involving electrical circuitry mentioned herein, unless stated otherwise, is an electrical connection and not necessarily a direct physical connection regardless of whether the word “electrical” is used to modify “connection”.
Elements of different implementations described herein may be combined to form other embodiments not specifically set forth above. Elements may be left out of the structures described herein without adversely affecting their operation. Furthermore, various separate elements may be combined into one or more individual elements to perform the functions described herein.
Features of the test system described herein may be combined with features of the test system described in U.S. patent application Ser. No. 13/834,803. U.S. patent application Ser. No. 13/834,803 is incorporated herein by reference.