技术新讯 > 信息存储应用技术 > 一种固态硬盘在读写命令失败场景下的测试方法与装置与流程  >  正文

一种固态硬盘在读写命令失败场景下的测试方法与装置与流程

  • 国知局
  • 2024-07-31 19:43:55

本发明属于非易失性存储器测试领域,具体涉及一种固态硬盘在读写命令失败场景下的测试方法与装置。

背景技术:

1、对于固态硬盘模组生产厂来说,在制造或者进行新产品导入过程中,需要进行复杂且漫长的导入测试流程。固态硬盘导入或者量产测试是一项耗时、投资大、生产周期长的环节,无论是研发还是硬盘量产过程中,固态硬盘的成本除了自身主控和闪存颗粒等材料外,主要成本是在研发或生产过程中的测试,而固态硬盘的测试涉及的方面很多。按照产品开发流程可以分为研发类测试、生产量产测试等,按照固态硬盘组成有可以分为硬件类测试(闪存颗粒测试、主控芯片测试、ddr缓存测试、成品盘测试)和固件(固件功能、性能、可靠性等测试)、软件类测试等。

2、固态硬盘的测试通常比较耗时而且成本较高,其中耗时最长的主要集中在可靠性、稳定性、耐久性等类别的测试。这类测试通常需要大面积部署相当数量的固态硬盘进行测试,因此能够提前将固态硬盘生命末期的异常场景制造出来并提前进行测试部署显得非常关键。通常固态硬盘的内部的命令类型主要可分为读命令、写命令及擦命令。由于闪存颗粒介质在固态硬盘刚生产出来的生命前期,闪存擦写次数较小,硬盘在运行过程中的擦、写、读命令类型通常很难出现失败场景,而且固态硬盘内部通常都设计了较多的数据完整和安全保护机制。例如主控和固件内部各种刷新巡检算法、纠错算法以及掉电异常保护机制,这些机制能很好保护固态硬盘数据的安全可靠性。在固态硬盘闪存生命后期,硬盘上的闪存颗粒随着擦写次数增加,固态硬盘内部的异常处理机制将会频繁启动来保护数据不丢失,但是此时处于生命后期的固态硬盘硬件或固件如果存在设计或者功能缺陷,有可能会导致固态硬盘不能正常工作,出现不能认盘或者大量丢失数据的风险。

技术实现思路

1、本发明的目的在于,提供一种固态硬盘在读写命令失败场景下的测试方法与装置,对真实测试过程中很难碰到的读写命令失败场景提前针对性的进行测试,能快速高效验证固态硬盘异常场景处理能力以及硬盘的可靠性。

2、为解决上述技术问题,本发明的技术方案为:一种固态硬盘在读写命令失败场景下的测试方法,应用于一种固态硬盘在读写命令失败场景下的测试装置上,该装置包括异常场景确定模块、固态硬盘测试模块和闪存测试操作模块;其中,异常场景确定模块,用于判别固态硬盘测试选取的异常场景类型;固态硬盘测试模块,用于安装待测试的固态硬盘;闪存测试操作模块,用于对固态硬盘上取下的闪存颗粒进行操作;本方法包括以下步骤:

3、确认待测试的固态硬盘在量产流程执行完成后,将坏块表存储在待测试的固态硬盘闪存颗粒上的物理地址;

4、在固态硬盘测试模块上安装待测试的固态硬盘并执行量产流程,在量产流程执行完成后将固态硬盘写满全盘后进行掉电,取出其上的闪存颗粒;

5、将闪存颗粒安装至闪存测试操作模块上,闪存测试操作模块根据选取的异常场景类型执行对应的操作;

6、将执行对应操作后的闪存颗粒安装至固态硬盘测试模块上并进行重新认盘测试,对该闪存颗粒对应的固态硬盘进行全盘读写并检验测试数据,同时检测固态硬盘串口日志上是否出现读写失败的日志;

7、检测固态硬盘在异常场景下能否正常工作,从而检验固态硬盘在异常场景下的可靠性。

8、异常场景类型至少包括读失败场景和写失败场景,与之对应的操作具体为:

9、当选取读失败异常场景,首先确定测试需要的读失败场景的闪存物理地址,然后在闪存测试操作模块上配置对该页闪存覆盖写的写命令并下发进行执行,由于闪存操作规则是在写之前必须进行擦除操作,该写完再次覆盖写的操作会导致此处page页电压写入异常,下次硬盘再次读到该位置就会发生读命令失败并启动纠错算法进行数据恢复;

10、当选取写失败异常场景,首先确定量产流程完成后坏块表存储在闪存物理地址,然后取出该闪存颗粒并在闪存测试操作模块上配置对该坏块表存储物理地址块的擦除命令;该擦除命令会将坏块信息进行擦除,然后写入全0数据;此时闪存测试操作模块在上电后会判断该固态硬盘没有坏块,当再次测试到实际上的原厂坏块时,就会发生写命令失败,从而观察写失败异常场景下固态硬盘的处理能力。

11、可设置异常场景的闪存类型至少包括slc、tlc、mlc和qlc。

12、在量产流程执行完成后,通过h2testw测试工具将固态硬盘写满全盘后进行掉电。

13、通过burnintest软件测试工具对该闪存颗粒对应的固态硬盘进行全盘读写并检验测试数据。

14、还提供一种固态硬盘在读写命令失败场景下的测试装置,包括异常场景确定模块、固态硬盘测试模块和闪存测试操作模块;其中,异常场景确定模块,用于判别固态硬盘测试选取的异常场景类型;固态硬盘测试模块,用于安装待测试的固态硬盘;闪存测试操作模块,用于对固态硬盘上取下的闪存颗粒进行操作。

15、固态硬盘测试模块包括主控测试板以及设置在主控测试板后侧的测试座;其中,测试座用于安装待测试的固态硬盘;主控测试板用于对固态硬盘执行量产流程,在量产流程执行完成后将固态硬盘写满全盘后进行掉电,还用于对执行对应操作后的闪存颗粒进行重新认盘测试,对该闪存颗粒对应的固态硬盘进行全盘读写并检验测试数据,同时检测固态硬盘串口日志上是否出现读写失败的日志;检测固态硬盘在异常场景下能否正常工作。

16、闪存测试操作模块包括基于fpga平台的闪存测试专用设备以及设置在闪存测试专用设备后侧的测试座;其中,闪存测试专用设备用于根据选取的异常场景类型对闪存颗粒执行对应的操作。

17、异常场景类型至少包括读失败场景和写失败场景,与之对应的操作具体为:

18、当选取读失败异常场景,首先确定测试需要的读失败场景的闪存物理地址,然后在闪存测试操作模块上配置对该页闪存覆盖写的写命令并下发进行执行,由于闪存操作规则是在写之前必须进行擦除操作,该写完再次覆盖写的操作会导致此处page页电压写入异常,下次硬盘再次读到该位置就会发生读命令失败并启动纠错算法进行数据恢复;

19、当选取写失败异常场景,首先确定量产流程完成后坏块表存储在闪存物理地址,然后取出该闪存颗粒并在闪存测试操作模块上配置对该坏块表存储物理地址块的擦除命令;该擦除命令会将坏块信息进行擦除,然后写入全0数据;此时闪存测试操作模块在上电后会判断该固态硬盘没有坏块,当再次测试到实际上的原厂坏块时,就会发生写命令失败,从而观察写失败异常场景下固态硬盘的处理能力。

20、可设置异常场景的闪存类型至少包括slc、tlc、mlc和qlc。

21、与现有技术相比,本发明的有益效果为:

22、本发明对真实测试过程中很难碰到的读写命令失败场景提前针对性的进行测试,能快速高效验证固态硬盘异常场景处理能力以及硬盘的可靠性;可以根据固态硬盘设计,在系统slc区很难出现读写失败的区域提前设计异常场景,尽快提前暴露固态设计功能缺陷或问题;可以用于测试闪存颗粒某一个die、block或者page页在不同擦写次数、不同温度数据保持等各种异常场景下出现的擦、写、读命令失败的场景,而且可以把对应擦写测试的颗粒分类,用于检验修改后不同固件版本的稳定可靠性。

本文地址:https://www.jishuxx.com/zhuanli/20240731/183733.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。