用于测试数据存储装置的测试仪

申请号 CN201010608536.3 申请日 2010-12-23 公开(公告)号 CN102117660B 公开(公告)日 2016-08-03
申请人 西部数据技术公司; 发明人 L·J·达菲; C·E·斯蒂芬斯;
摘要 本 发明 涉及数据存储装置(DSD)测试仪。公开一种用于测试数据存储装置(DSD)的DSD测试仪。DSD测试仪包括控制 电路 ,该控制电路可操作用于通过 接口 接收生产线数据,其中所述生产线数据和DSD相关。该控制电路对DSD执行DSD测试;并且将由DSD测试产生的故障数据以及所述生产线数据发送到故障信息 数据库 。
权利要求

1.一种用于测试数据存储装置即DSD的DSD测试仪,所述DSD测试仪包括控制电路,所述控制电路可操作用于:
通过接口接收来自所述DSD的生产线数据,其中所述生产线数据标识至少部分所述DSD;
通过基于来自所述DSD的错误日志构造一组命令并且在所述DSD上执行该组命令,对所述DSD执行DSD测试;以及
将由所述DSD测试产生的故障数据以及所述生产线数据发送到故障信息数据库
2.根据权利要求1所述的DSD测试仪,其中所述故障信息数据库位于可通过因特网访问的远程服务器上。
3.根据权利要求1所述的DSD测试仪,其中所述生产线数据包括标识生产线的标识符。
4.根据权利要求1所述的DSD测试仪,其中所述生产线数据包括标识当所述DSD在生产线中时对所述DSD进行的生产线测试的标识符。
5.根据权利要求1所述的DSD测试仪,其中所述接口包括条码读取器。
6.根据权利要求1所述的DSD测试仪,其中所述控制电路还可操作用于接收所述DSD的序列号。
7.根据权利要求6所述的DSD测试仪,其中所述接口包括用于从所述DSD的包装读取所述序列号的条码读取器。
8.根据权利要求1所述的DSD测试仪,其中所述控制电路还可操作用于:
为多个DSD聚集所述故障数据和所述生产线数据;以及
以自动操作将所聚集的数据发送到所述DSD的制造商。
9.根据权利要求1所述的DSD测试仪,其中所述控制电路还可操作用于使用文件传输协议将所述故障数据和所述生产线数据发送到所述DSD的制造商。
10.根据权利要求1所述的DSD测试仪,还包括多个舱,其中所述控制电路还可操作用于检测所述DSD何时已被插入到其中一个舱中。
11.根据权利要求1所述的DSD测试仪,还包括可操作用于插入消费装置的通用串行总线端口的通用串行总线钥匙。
12.根据权利要求1所述的DSD测试仪,其中所述DSD包括磁盘。
13.根据权利要求1所述的DSD测试仪,其中所述DSD包括半导体存储器
14.一种用于测试数据存储装置即DSD的DSD测试仪,所述DSD测试仪包括显示屏和控制电路,所述控制电路可操作用于:
通过接口接收来自所述DSD的生产线数据,所述生产线数据标识至少部分所述DSD;
通过基于来自所述DSD的错误日志构造一组命令并且在所述DSD上执行该组命令,对所述DSD执行DSD测试;
将由所述DSD测试产生的故障数据与所述生产线数据相关以产生相关数据;以及在所述显示屏上显示所述相关数据。
15.根据权利要求14所述的DSD测试仪,其中所述生产线数据包括标识生产线的标识符。
16.根据权利要求14所述的DSD测试仪,其中所述生产线数据包括标识当所述DSD在生产线中时对所述DSD进行的生产线测试的标识符。
17.根据权利要求14所述的DSD测试仪,其中所述接口包括条码读取器。
18.根据权利要求14所述的DSD测试仪,其中所述控制电路还可操作用于接收所述DSD的序列号。
19.根据权利要求18所述的DSD测试仪,其中所述接口包括用于从所述DSD的包装读取所述序列号的条码读取器。
20.根据权利要求14所述的DSD测试仪,还包括多个舱,其中所述控制电路还可操作用于检测所述DSD何时已被插入到其中一个舱中。
21.根据权利要求14所述的DSD测试仪,其中所述DSD包括磁盘。
22.根据权利要求14所述的DSD测试仪,其中所述DSD包括半导体存储器。
23.一种处理在测试数据存储装置即DSD之后从DSD测试仪接收的测试数据的方法,所述方法包括:
接收来自所述DSD的生产线数据,其中所述生产线数据标识至少部分所述DSD;
通过基于来自所述DSD的错误日志构造一组命令并且在所述DSD上执行该组命令来测试所述DSD;
接收在测试所述DSD之后由所述DSD测试仪产生的故障数据;以及
将所述故障数据与所述生产线数据相关以产生标识所述生产线中的错误的相关数据。
24.根据权利要求23所述的方法,其中所述生产线数据包括标识生产线的标识符。
25.根据权利要求23所述的方法,其中所述生产线数据包括标识当所述DSD在生产线中时对所述DSD进行的生产线测试的标识符。
26.根据权利要求23所述的方法,其中所述生产线数据和所述故障数据经过因特网接收。
27.根据权利要求26所述的方法,其中所述生产线数据和所述故障数据使用文件传输协议被接收。
28.根据权利要求23所述的方法,还包括在显示屏上显示所述相关数据。
29.根据权利要求23所述的方法,还包括响应于所述相关数据调整DSD制造工艺。
30.根据权利要求29所述的方法,其中在分析针对多个DSD产生的相关数据之后调整所述制造工艺。
31.根据权利要求23所述的方法,还包括响应于所述相关数据调整生产线。
32.根据权利要求31所述的方法,其中在分析针对多个DSD产生的相关数据之后调整所述生产线。
33.根据权利要求23所述的方法,其中所述DSD包括磁盘。
34.根据权利要求23所述的方法,其中所述DSD包括半导体存储器。
35.一种测试数据存储装置即DSD的方法,所述方法包括:
接收来自所述DSD的生产线数据,其中所述生产线数据标识至少部分所述DSD;
通过基于来自所述DSD的错误日志构造一组命令并且在所述DSD上执行该组命令,对所述DSD执行DSD测试;以及
将由所述DSD测试产生的故障数据和所述生产线数据发送到故障信息数据库。
36.根据权利要求35所述的方法,其中所述故障信息数据库位于可通过因特网访问的远程服务器上。
37.根据权利要求35所述的方法,其中所述生产线数据包括标识生产线的标识符。
38.根据权利要求35所述的方法,其中所述生产线数据包括标识当所述DSD在生产线中时对所述DSD进行的生产线测试的标识符。
39.根据权利要求35所述的方法,还包括用条码读取器读取所述生产线数据。
40.根据权利要求35所述的方法,还包括从所述DSD读取序列号。
41.根据权利要求40所述的方法,还包括从所述DSD的包装读取代表所述序列号的条码。
42.根据权利要求35所述的方法,还包括:
为多个DSD聚集所述故障数据和所述生产线数据;以及
以自动操作将所聚集的数据发送到所述DSD的制造商。
43.根据权利要求35所述的方法,还包括使用文件传输协议将所述故障数据和所述生产线数据发送到所述DSD的制造商。
44.根据权利要求35所述的方法,还包括检测所述DSD何时已被插入到舱中。
45.根据权利要求35所述的方法,还包括将通用串行总线钥匙插入到消费装置的通用串行总线端口。
46.根据权利要求35所述的方法,其中所述DSD包括磁盘。
47.根据权利要求35所述的方法,其中所述DSD包括半导体存储器。
48.一种测试数据存储装置即DSD的方法,所述方法包括:
接收来自所述DSD的生产线数据,其中所述生产线数据标识至少部分所述DSD;
通过基于来自所述DSD的错误日志构造一组命令并且在所述DSD上执行该组命令,对所述DSD执行DSD测试;
将由所述DSD测试产生的故障数据与所述生产线数据相关以产生相关数据;以及在显示屏上显示所述相关数据。
49.根据权利要求48所述的方法,其中所述生产线数据包括标识生产线的标识符。
50.根据权利要求48所述的方法,其中所述生产线数据包括标识当所述DSD在生产线中时对所述DSD进行的生产线测试的标识符。
51.根据权利要求48所述的方法,还包括用条码读取器读取所述生产线数据。
52.根据权利要求48所述的方法,还包括从所述DSD读取序列号。
53.根据权利要求52所述的方法,还包括从所述DSD的包装读取代表所述序列号的条码。
54.根据权利要求48所述的方法,还包括检测所述DSD何时已被插入到舱中。
55.根据权利要求48所述的方法,其中所述DSD包括磁盘。
56.根据权利要求48所述的方法,其中所述DSD包括半导体存储器。

说明书全文

用于测试数据存储装置的测试仪

[0001] 相关申请的交叉引用
[0002] 本专利申请要求2009年12月23日提交的美国临时专利申请序列号No.61/289,934(律师案号No.T4017.P)的优先权。

技术领域

背景技术

[0003] 诸如磁盘驱动器和固态驱动器的数据存储装置(data storage device,DSD)在诸如计算机系统(例如桌上型、膝上型、便携型等)以及消费装置(例如音乐播放器、蜂窝电话、相机等)的众多应用中采用。原始设备制造商(original equipment manufacture,OEM)将通常从DSD制造商批量购买DSD以便在OEM产品中使用。在安装DSD之前和/或之后,OEM将进行多次测试以验证DSD没有缺陷。如果检测到问题,则OEM将会把有缺陷的DSD返回制造商并且请求更换DSD。DSD制造商还可以进行多次生产线测试以在向OEM运送DSD之前检测问题,以及当其被OEM或者消费者退回时测试DSD。
[0004] 图1A示出磁盘驱动器形式的现有技术DSD的部件,包括在磁盘4上方致动的磁头2,磁盘4包括由嵌入的伺服扇区80-8N限定的多个磁轨6。磁盘驱动器还包括控制电路10,用于当读取伺服扇区80-8N时解调制读取信号12以及产生磁头2相对于目标磁轨6的位置误差信号(PES)。用适当的补偿滤波器对PES滤波以产生向音圈电机16施加的控制信号14,其使致动臂18转动以在降低PES的方向上在磁盘4上方径向地移动磁头2。
[0005] 磁盘驱动器可以包括多个日志,诸如存储磁盘驱动器制造数据的制造日志20、以及存储用于故障预测的诊断信息的自监视、分析和报告技 术(Self-Monitoring,Analysis,and Reporting Technology,S.M.A.R.T.)日志22。磁盘驱动器可以还包括由控制电路10内部执行的驱动器自测试(DST)24以迅速地验证磁盘驱动器是否正确工作。然而,DST 24进行有限次数的基本测试,其可能不能准确地检测缺陷,导致有缺陷的磁盘驱动器安装到OEM产品中。最终,有缺陷的磁盘驱动器在现场配置使用时将发生故障,导致OEM产品的昂贵修理和/或返回。或者,DST 24或者其它OEM生产线测试可能错误地检测有缺陷的磁盘驱动器,该磁盘驱动器被不必要地返回到磁盘驱动器制造商。附图说明
[0006] 图1A示出磁盘驱动器形式的现有技术DSD,其包括在磁盘上方致动的磁头以及控制电路;
[0007] 图1B例示现有技术的磁盘驱动器的控制电路如何可以保持制造日志以及S.M.A.R.T.日志以及执行驱动器自测(DST)。
[0008] 图2A示出根据本发明实施例的多个生产线,其均包括用于测试DSD的多个测试台;
[0009] 图2B例示本发明的实施例,其中当测试台中的一个识别故障DSD时,在被返回到DSD制造商之前DSD测试仪对该DSD进行DSD测试,以验证是否其有缺陷;
[0010] 图3示出DSD测试仪,其包括三个舱和反映DSD测试仪状态的灯;
[0011] 图4A-4F示出根据本发明的实施例的图形用户界面(GUI),其在DSD被插入、测试以及接着从DSD测试仪移开时被自动更新;
[0012] 图5是根据本发明的实施例的用于自动测试DSD和更新GUI以及DSD测试仪上的状态灯的流程图
[0013] 图6A示出本发明的实施例,其中为多个测试的DSD聚集故障数据和生产线数据并且所聚集的数据发送到DSD的制造商;
[0014] 图6B示出本发明的实施例,其中将故障数据与生产线数据相关,以及所相关的数据在显示屏上显示以便分析;
[0015] 图7A是根据本发明的实施例的流程图,其中生产线数据经过条码读 取器输入;
[0016] 图7B是根据本发明的实施例的流程图,其中在显示屏上显示与生产线数据相关的故障数据;
[0017] 图8是根据本发明的实施例的流程图,其中使用从DSD读取的一个或者更多个DSD日志以测试DSD;
[0018] 图9是根据本发明的实施例的流程图,其中使用识别与读取错误关联的命令序列的DSD错误日志来测试DSD;
[0019] 图10是根据本发明的实施例的流程图,其中执行读取错误之前和读取错误之后的命令序列以尝试再现该错误;
[0020] 图11是根据本发明的实施例的流程图,其中在DSD测试期间当执行命令序列时DSD的通道参数被边缘化;
[0021] 图12是根据本发明的实施例的流程图,其中命令序列包括在重试操作期间执行的命令;
[0022] 图13示出本发明的实施例,其中在DSD测试期间执行的命令序列通过聚集全局命令序列的子集而产生;
[0023] 图14A示出本发明的实施例,其中DSD测试仪包括与显示屏接口的机箱;
[0024] 图14B示出本发明的实施例,其中DSD测试仪使用适当的电缆连接(例如通用串行总线(USB))与DSD相接;
[0025] 图14C示出本发明的实施例,其中DSD测试仪包括插入到OEM产品中以进行DSD测试的USB钥匙;
[0026] 图15示出本发明的实施例,其中DSD包括磁盘驱动器;以及
[0027] 图16示出本发明的实施例,其中DSD包括固态驱动器。

具体实施方式

[0028] 图2A和图2B示出用于测试DSD 28B2的数据存储装置(DSD)测试仪26。DSD测试仪26包括可操作用于执行图7A的流程图的控制电路,其中通过接口接收生产线数据(步骤30),并且该生产线数据和DSD 28B2相关。控制电路对DSD 28B2执行DSD测试(步骤32),以及将DSD测 试产生的故障数据以及生产线数据发送到DSD 28B2的制造商(步骤34)。可以使用任何合适的测试来确定适当的故障数据。例如,一些实施例包括进行以下将更详细描述的测试。
[0029] 在图2A的实施例中,若干生产线以装配线模式处理DSD,其中每个生产线包括用于对DSD进行特定操作的多个测试台。例如,OEM可以将磁盘驱动器或者固态驱动器形式的DSD安装到诸如桌上型或者膝上型计算机的合适的消费装置中。在将DSD安装到消费装置之前和/或之后,在各个测试台对DSD进行大量生产线测试。例如,第一测试台可以将测试图像复制到DSD上,第二测试台可以使用测试图像进行各种诊断,第三测试台可以在DSD上安装操作系统,而第四测试台可以配置操作系统,例如基于消费装置将被销售的国家。当在每个生产线测试台时,可以检测DSD具有的问题,诸如被DSD的控制电路内部识别的问题(例如写入/读取错误、伺服错误、电压调整错误、时序错误等),或者操作员识别的错误(例如DSD的声学噪声过高、DSD完全不响应等)。
[0030] DSD可能因为众多原因而发生故障,诸如DSD的部件中的缺陷或者消费装置的部件中的缺陷、制造DSD时的缺陷或者生产线中的缺陷。例如,DSD可以用有缺陷的存储介质(例如有缺陷的磁盘)制造,其妨碍用户数据的适当存储和检索。在另一示例中,消费者装置可以被制造为具有带缺陷的部件(例如扇),其可能干扰DSD的适当操作。在又一示例中,生产线可以包括有缺陷的装配工具(例如有缺陷的扭矩驱动器),当安装在消费装置的机箱中时其损坏DSD。在再一示例中,生产线可以包括有缺陷的电源,其在测试期间向DSD供电。
[0031] 当DSD在生产线测试台上发生故障时,不将其立即返回到DSD制造商或者作为缺陷物丢弃,而是在DSD测试仪26上测试DSD。如果DSD通过DSD测试,则其可以重插入到生产线中(例如在生产线的起点)。如果DSD没有通过DSD测试,则其可以被丢弃或者返回到制造商进行修理。在任何情况下,可以将故障数据和关联的生产线数据聚集,并且接着进行评估以识别和纠正与生产线或DSD的制造工艺关联的问题。例如,可能需要更换特定生产线的测试台处的有缺陷的装配工具或者电源 以解决该问题。在另一示例中,可以修改制造DSD的部件(例如存储介质、读取头、半导体存储器等)的工艺以解决该问题。在一个实施例中,DSD测试仪26产生的故障数据以及生产线数据之间的相关性帮助找到和解决否则在延长的时间段中不能检测出的错误。
[0032] 与故障的DSD关联并且输入到DSD测试仪26的生产线数据可以包括任何合适的数据,诸如生产线号码和/或DSD发生故障处的生产线内的测试台。在图2B的实施例中,在生产线测试期间出故障的DSD 28B2被插入DSD测试仪26的舱中。包括多个舱的机箱36容纳DSD,其中机箱36连接到包括桌上机盒38、监视器40以及键盘42的GUI计算机。在一个实施例中,在操作员将DSD 28B2插入到其中一个舱中后,操作员使用键盘42(和/或鼠标)输入生产线数据。例如,GUI计算机可以显示包括适当的输入栏(文本框、复选框、下拉菜单等)的窗口应用。除了从DSD测试仪26的操作员接收生产线数据,DSD测试仪26可以从所插入的DSD28B2接收配置信息,诸如序列号、制造日志、操作日志等。
[0033] 图3示出本发明的实施例,其中DSD测试仪的机箱36包括三个舱,每个都用于容纳DSD。在其它实施例中,可以使用更多或者更少的舱。在图3的实施例中,机箱36还包括每个舱的至少一个灯,用于显示DSD测试的状态。例如,机箱36可包括第一灯44,当所插入的DSD被测试时点亮,第二灯46,当DSD通过测试时点亮,以及第三灯48,当DSD测试失败(即未通过测试)时点亮。在其它实施例中,灯中的两个或者更多个可以被组合,例如使用一个灯显示通过/失败状态(例如使用绿和红照明)。
[0034] 图4A示出根据本发明的实施例的GUI,对应于图3所示的三个舱的机箱36。在此实施例中,针对每个舱显示对话框,其中对话框显示所插入的DSD的序列号/型号、示出DSD测试的进度的状态条、用于查看与DSD测试关联的日志的按钮以及用于取消/重试DSD测试的按钮。在一个实施例中,当DSD插入到其中一个舱中时GUI被自动更新,以及在一个实施例中,DSD测试自动开始。图4A示出一个示例,其中已经将第一DSD插入到第一舱,DSD测试自动开始(独立于操作员输入),并且 GUI自动更新以反映DSD测试的状态。图4B示出一个示例,其中已经将第二DSD插入到第二舱,GUI自动更新,并且对第二DSD的DSD测试与继续对第一DSD的DSD测试并行地自动开始。图4C示出一个示例,其中GUI指示第一DSD的测试剩余10分钟,以及对第二DSD的测试剩余25分钟。图4D示出一个示例,其中对第一DSD的DSD测试已经成功完成,以及图4E示出一个示例,其中对第二DSD的DSD测试失败。图4E还例示插入到第三舱的第三DSD,GUI自动更新,并且DSD测试自动开始和运行。图4F例示一个示例,其中在将第二DSD从第二舱移开之后,GUI自动更新以反映第二舱现在为空的。
[0035] 图5是根据本发明的实施例的流程图,其中当DSD测试仪检测到DSD已经被插入(或者连接)时(步骤50),DSD测试仪的机箱上的灯被控制以指示DSD测试正在进行(步骤52)。GUI独立于操作员输入而自动更新(步骤54),并且DSD测试自动开始(步骤56)。在测试DSD时,如果另一DSD被插入(或者连接)则流程图可以重执行。当DSD测试完成时(步骤58),如果DSD通过测试(步骤60),则灯被控制以指示测试通过(步骤62),并且如果DSD测试失败则灯被控制以指示测试失败(步骤64)。当DSD被移开(或者断开)时(步骤66),GUI被自动更新以反映DSD测试仪中的变化(步骤68)。在一个实施例中,DSD测试仪通过周期地轮询每个舱以确定DSD是否以合适的响应来响应而检测DSD已经被插入或者移开。
[0036] 图6A示出根据本发明的实施例的DSD测试仪26,其中用于接收生产线数据的接口包括用于读取条码72的条码读取器70。在图6A的示例中,条码72可以标识生产线号码和对应的测试台。另外,在图6A的示例中,可以使用条码读取器70读取DSD 28B2上印刷的条码。例如,DSD28B2上的条码可以包括序列号或型号,特别是在序列号或型号不存储在DSD 28B2或者不能从DSD 28B2读取的情形下。在一个实施例中,条码72可以印刷或打印在保留在每个DSD测试仪的纸张上。在替代实施例中,条码72可以印刷在卡上,该卡在DSD在生产线测试中失败之后紧接着附着到DSD。例如,当生产线测试台的操作员识别故障的DSD时,他们 可以将对应于生产线和测试台的合适条码画圈以及将卡附着到DSD上。当DSD被DSD测试仪的操作员处理时,他们可以扫描卡上画圈的条码以将生产线数据输入到DSD测试仪。
[0037] 图6A还例示本发明的实施例,其中在测试大量DSD之后,对应的聚集的故障数据和关联的生产线数据经过因特网74(例如使用文件事务处理协议(TCP))发送到聚集体服务器76。分析服务器78周期地检查聚集体服务器76并且当DSD测试数据更新时下载DSD测试数据。在一个实施例中,在允许DSD测试数据通过保护分析服务器78的防火墙80之前,DSD测试数据首先被分析以验证没有病毒。分析服务器78处理DSD测试数据(例如将故障数据与生产线数据相关)以及接着产生能够用来修改DSD的制造工艺82和/或修改生产线84的报告。
[0038] 图6B示出可以由图6A的分析服务器78产生,或者替代地由DSD测试仪26产生和显示的示例报告。在图6B的示例中,为每个生产线产生若干图,其中y轴代表DSD测试处理的DSD的数量,而x轴代表生产线中的每个测试台。图6B中的第一幅图示出线1在全部测试台中产生数量众多的故障,其可以指示DSD的制造的问题而不是生产线的任何测试台的问题。图6B的第二幅图示出在线2的测试台2处数量众多的故障,其可以指示测试台有问题而不是DSD的问题。在一个实施例中,图中的y轴可以仅仅代表DSD测试失败的DSD,而在替代实施例中,y轴可以代表测试的DSD的总数量(无论DSD是否通过测试或者测试失败)。在又一实施例中,可以产生不同的图,这些图离析通过的DSD和故障的DSD与关联的生产线数据的相关。在再一实施例中,图6B中的每个竖直条可以划分为代表DSD测试仪检测的故障类型的片段(例如写入/读取错误、伺服错误、存储器错误、电压供应错误等)。
[0039] 图7B是根据本发明的实施例的流程图,其中在接收生产线数据(步骤86)以及执行DSD测试(步骤88)之后,DSD测试产生的故障数据与生产线数据(例如如图6B所示)相关(步骤90),并且相关的数据在显示屏上显示(步骤92)。在一个实施例中,相关的数据可以在附连到DSD测试仪26的显示屏上显示,并且在替代实施例中,相关的数据在远 程计算机的显示屏(例如图6A的分析服务器78的显示屏)上显示。
[0040] 图8是根据本发明的实施例由DSD测试仪26的控制电路执行的流程图。当DSD被插入(或者连接)时(步骤94),DSD测试仪从DSD读取DSD日志(步骤96),其中DSD日志包括标识至少一个错误状况的至少一个条目。当执行DSD测试时(步骤98),执行与该错误状况关联的命令序列,其决定DSD是通过测试还是测试失败(步骤100)。如果DSD在DSD测试失败(步骤100),则涉及故障类型的故障数据被DSD测试仪记录(步骤102)。
[0041] 图9是根据本发明的实施例的流程图,其中当DSD被插入(或者连接)时(步骤104),DSD测试仪从DSD读取DSD错误日志(步骤106)。如果DSD错误日志中的条目识别读取操作期间检测的边缘数据扇区(步骤108),则DSD测试仪确定与读取错误关联的要执行的命令序列,诸如靠近当检测边缘数据扇区时的读取操作执行的命令序列。从DSD读取DSD错误日志的命令以及在DSD测试期间发送到DSD的命令序列可以以任何合适方式实施,诸如用先进技术附件(ATA)命令中嵌入的销售商专用命令。
[0042] 在执行命令序列之前,DSD测试仪读取命令序列中被写入的数据扇区(步骤110),使得当写入命令被重执行时,相同的数据能够被写入到数据扇区(由此保持先前写入的数据)。DSD测试仪接着执行命令序列(步骤112)以尝试重生DSD检测的读取错误。如果读取错误重新出现(步骤114),则错误被DSD测试仪保存(步骤116),否则DSD测试仪保存没错误的状态(步骤118)。在针对DSD错误日志中的全部边缘数据扇区重复此过程(步骤120)之后,测试结果被评估以确定DSD是测试通过还是失败(步骤122)。例如,如果重生预定百分比的读取错误,或者如果预定数量的重生错误超过阈值,则DSD可以指定为测试失败。
[0043] 图10是根据本发明的实施例的流程图,其延伸图9的流程图,其中DSD测试仪执行读取错误之前的命令序列(步骤124),并且接着读取边缘数据扇区(步骤126)。如果错误重生(步骤128),则错误被保存(步骤130)。否则,DSD测试仪执行在读取错误之后的命令序列(步骤132), 并且接着读取边缘数据扇区(步骤134)。如果错误重生(步骤136),则错误被保存(步骤138),否则保存没错误的状态(步骤140)。执行读取错误之前和之后的命令序列可能重生错误,例如,如果命令序列包括造成相邻磁轨干扰(ATI)的写入命令。或者,执行命令序列可能识别在正常操作中不发生的错误,诸如当给定的命令序列执行时仅仅自己出现的固件故障,而各个命令单独将不造成错误状态。
[0044] 图11是根据本发明的实施例的流程图,其在图9的流程图上延伸,其中在执行命令序列(步骤112)之前,DSD测试仪将通道参数边缘化(步骤142)以增加重生读取错误的可能性。任何合适的通道参数可以被边缘化,诸如增加写入元件和/或读取元件的飞行高度,降低写入电流或者电压,降低读取电流或者电压,添加寻道错误,对读取信号添加噪声或者偏移,调整电源电压,添加时序抖动等。将通道参数边缘化以重生错误可以在将DSD与DSD测试仪耦合之前提供对造成错误的原因的了解。例如,如果当相同的通道参数以相同方式边缘化时,来自OEM线路的若干DSD被识别为产生类似类型的错误,则该OEM线路的问题(例如过多振动)可以被识别。
[0045] 图12是根据本发明的实施例的流程图,其在图9的流程图上延伸,其中DSD测试仪从DSD读取与边缘数据扇区关联的重试日志(步骤144)。也就是说,当DSD检测到边缘数据扇区时,其可能已经执行重试程序以尝试恢复该数据扇区。在一个实施例中,如果不能使用重试程序恢复边缘数据扇区,则在DSD错误日志中创建条目。DSD测试仪接着重执行相同的重试程序(步骤146)作为DSD测试的一部分。如果错误不重新发生(即,如果数据扇区是可恢复的)(步骤148),则没有错误的状态被保存(步骤150)。如果错误重发生(步骤148),则DSD测试仪可以调整重试程序,例如,通过延长重试程序的具体步骤期间迭代的次数,或者通过调节重试程序期间执行的步骤的顺序。重试程序可以被多次调节,其中边缘数据扇区可以被最终恢复,或者认为不可恢复(步骤154)并且对应的错误被保存(步骤156)。在一个实施例中,可以使用在步骤152调节的重试程序来修改正在测试的DSD的重试程序和/或调节全部制 造的DSD的重试程序(即,重优化的重试程序可以发送到DSD制造商,在此其用于修改DSD的制造工艺)。
[0046] 图13例示本发明的实施例,其中DSD保存识别被DSD执行的多个顺序命令的全局日志。例如,全局日志可以保存DSD执行的最后数个命令(数百或者甚至数千个命令)。与DSD错误日志中的读取错误关联的命令序列包括被全局日志识别的顺序命令的至少两个子集。在图13的示例中,当尝试读取数据扇区145657时检测到读取错误。因此,DSD测试仪通过聚集可能已经导致读取错误的若干子集从全局日志构建命令序列。在图13的示例中,DSD测试仪提取可能已经导致读取错误(例如由于ATI)的先前执行的写入命令的两个子集。DSD测试仪接着重执行命令序列以如上所述那样尝试重生读取错误。
[0047] 本发明的实施例中采用的DSD测试仪26可以包括任何合适的配置。图14A示出根据实施例的DSD测试仪26,其中包括多个舱的机箱36可以还包括用于实施测试程序的控制电路(例如执行在计算机可读存储介质上存储的控制程序的代码片段的微处理器)。机箱36中的控制电路还可以与监视器40接口以便显示DSD测试的结果。
[0048] 图14B示出本发明的实施例,其中DSD 28B2使用适当的电缆(例如USB电缆)连接到DSD测试仪26而不是插入到舱中。在一个实施例中,DSD测试仪26可以包括多个电缆和输入端口,以便连接和同时测试多个DSD(类似于采用多个舱的实施例)。
[0049] 图14C示出本发明的实施例,其中DSD测试仪26包括USB钥匙158B2,用于存储DSD测试的代码片段。图14C还例示实施例,其中DSD测试仪26包括正在生产线中组装的消费装置159。USB钥匙158B2插入到消费装置159中,其从USB钥匙读取DSD测试,执行DSD测试,或者显示DSD测试的结果。在图14C的示例中,消费装置159包括膝上型计算机,其包括内部DSD(例如磁盘驱动器或者固态驱动器)、键盘以及显示屏,其中在USB钥匙158B2中存储的DSD测试用于测试内部DSD。在一个实施例中,操作员配置膝上型计算机以从USB钥匙158B2启动(例如通过按压膝上型计算机的键盘上的按键)而不是从内部DSD启动。(膝 上型计算机的)操作员接着从USB钥匙158B2执行DSD测试。
[0050] 在一个实施例中,可以为每个生产线中的每个测试台分配USB钥匙,其中生产线数据存储在每个USB钥匙上(例如在文件中)。当OEM测试台的操作员识别故障的DSD时,他们将USB钥匙插入并执行DSD测试。DSD测试的结果存储在USB钥匙上并且随后使用分析计算机(例如位于生产线现场的本地计算机,或者测试结果发送到DSD制造商的分析服务器)评估。分析计算机处理来自USB钥匙的测试结果以及来自USB钥匙的生产线数据使得测试结果能够与生产线相关(例如图6B所示)。在另一实施例中,USB钥匙158B2可以提醒用户经过消费装置159(图14C)输入生产线数据,生产线数据接着存储在USB钥匙158B2上。在又一实施例中,USB钥匙158B2可以被消费者返回中心使用以对返回的消费装置进行非破坏测试。
[0051] 在一个实施例中,USB钥匙158B2插入到消费装置159的通用串行总线端口中。然而USB钥匙158B2可以实施任何适当的通信协议并且因此可以插入到消费装置的任何适当端口(例如火线(Firewire)端口、小型计算机系统接口(SCSI)端口、集成设备电路(IDE)端口等)。因此,术语“USB钥匙”应理解为用于使用任何类型的适当接口协议(例如Firewire、SCSI、IDE、蓝牙等)识别任何适当的存储装置(例如硬盘驱动器、固态驱动器)的总体标识符。
[0052] 本发明的实施例可以在包括任何适当存储介质,例如磁介质、光介质或者半导体介质的任何适当的DSD中采用。图15示出包括磁盘驱动器的DSD,其包括在磁盘162上方致动的磁头160以及控制电路164。图16示出固态驱动器,其包括多个诸如闪存存储器的非易失性半导体存储器166A、166B等,以及控制电路168。还可以采用混合数据存储装置,其包括图15所示的磁盘驱动器结合图16所示的非易失性半导体存储器的部件。
[0053] 在一个实施例中,DSD测试仪可以在将DSD安装到消费装置(桌上型或者膝上型计算机、智能电话、数字视频记录机等)的OEM生产线上采用。在另一实施例中,DSD制造商的中心设施可以在将DSD发送到 OEM之前在现场测试从工厂接收的DSD。这种测试可以在将DSD运送到OEM之前识别工厂和/或供应链中的问题区域。在又一实施例中,DSD制造商可以在DSD被从OEM或者从消费者返回时使用DSD测试仪来测试DSD。
QQ群二维码
意见反馈