论文部分内容阅读
固态硬盘是一种以闪存为存储介质的存储器。比起传统机械硬盘,固态硬盘有着高得多的顺序和随机读写速度,同时,其还有着诸如更高的防震性、无噪音、低发热量等优点。因此随着计算机技术的告诉发展,固态硬盘取代传统机械硬盘已经成为存储行业发展的必然趋势。目前市场上SATA(全称为Serial Advanced Technology Attachment)接口的固态硬盘已经逐渐替代SATA接口的传统硬盘,新型基于PCIe接口的支持NVMe的固态硬盘也有越来越多的产品。造成固态硬盘质量的不同主要在于固件,固件是固态硬盘正常工作的核心,对固件的测试可以确保固件的质量。本文根据固件测试的实际需求出发,结合软件测试的概念,设计并开发了一套通用的基于固态硬盘固件的测试系统,该系统可以满足测试各个厂商自己定义的功能,能灵活支持SATA和PCIe的固态硬盘,满足足够的测试的覆盖率和测试强度,保证厂商生产的固态硬盘的可靠性。本论文进行的研究工作如下:(1)本论文首先分析了固态硬盘固件的测试系统的国内外研究现状,发现现有的测试系统存在开发成本过高,不通用,覆盖面不全等问题。提出了一种通用的固态硬盘固件的测试系统的概念。(2)本论文然后对固态硬盘固件测试系统的需求进行了分析,确定了功能性需求为自动化测试的功能性需求、可支持自定义测试并能被自动化测试调用的验证系统需求,以及能与固态硬盘进行交互,为验证系统及自动化测试系统提供基石的交互系统需求。还分析了非功能性需求中的并发性、可靠性、可扩展性和安全性等需求。(3)本论文其次在系统需求分析的基础上,对固态硬盘固件的测试系统的各个需求进行了详细的设计。对不同的模块,具体设计了适应该功能的架构,以满足功能性和非功能性需求。(4)本论文实现了系统的各个功能,包括自动化测试,固件验证系统的搭建,底层和固态硬盘交互的功能。(5)最后本论文对固态硬盘固件的测试系统中的每一项功能,使用具体的固态硬盘和协议分析仪,进行了独立的验证,确保该系统满足通用的固态硬盘固件的测试系统的概念。本论文通过对固态硬盘固件的测试系统的研究,对实际生产固态硬盘的厂商也有借鉴意义,能够帮助厂商研发出可靠性更好的产品。