基于USB转PCIe bridge的SSD复判工具设计与实现

 2022-03-29 19:43:09

论文总字数:28548字

摘 要

基于NVMe协议的PCIe(peripheral component interconnect express,高速串行计算机扩展总线标准)固态硬盘是时下最受欢迎的存储设备之一,但是此类固态硬盘不具备热插拔的特性,研发人员对其进行移除、升级、更新等操作时需要不断重复切断电源和连接电源,整个过程十分繁琐。此外,苏州记忆科技公司内部尚无针对这种固态硬盘的定制工具,通用的软件工具功能较为简单,无法满足公司内部开发需要。因此,开发一款能够简化对这类硬盘操作并满足公司内部研发需要的软件工具具有很高的实用价值。

针对上述问题及需求,本文基于USB转PCIe的适配器设计开发一款复判工具软件,使PCIe固态硬盘间接实现热插拔的特性,使用适配器上的电源开关代替切断或连接主机电源的操作,提高开发人员对PCIe接口固态硬盘的研发效率。该复判工具要遵循公司独有的规范,与公司生产的固态硬盘交互时能够识别和发送公司独有的VU命令。在功能上满足研发人员的开发需求,要求具备一键复判,基本信息读取,SMART收集等功能。

本文首先介绍相关的技术背景与专业知识,为后面的软件研发打下坚实的理论基础。随后针对公司开发人员的需求,提出基于USB转PCIe的复判工具的设计方案,详细介绍该复判工具的软件架构及其模块划分,并对软件各功能模块的实现进行详细阐述。此外,本文还为此复判工具设计了测试方案,并测试结果进行展示。最后,本文对此次设计进行了概括总结,并对后续的优化和更新工作进行展望。

关键字:NVMe;PCIe;固态硬盘;热插拔;复判工具

ABSTRACT

Nvme-based PCIe solid-state drives are one of the most popular storage devices. Since it does not have the characteristics of hot plugging, researchers need to repeatedly cut off and connect the power supply when removing, upgrading, updating and other operations of such solid-state drives, and the whole process is very tedious. In addition, suzhou memory technology co., ltd. does not have any customized tools for such solid-state drives, and the general software tools have simple functions, which cannot meet the needs of internal development of the company. Therefore, it is of high practical value to develop a software tool that can simplify such hard disk operations and meet the needs of internal research and development of the company.

To solve the above problems, this paper designs and develops a reversion tool software based on USB to PCIe adapter, which enables PCIe solid-state drive to achieve the characteristics of hot plugging indirectly, and USES the power switch on the adapter to replace the operation of cutting off or connecting the host power supply, thus improving the efficiency of developers' research and development of PCIe interface solid-state drive. The rework tool follows company-specific specifications for recognizing and sending company-specific VU commands when interacting with company-produced SSDS. In terms of functions, it can meet the development needs of r amp; d personnel. It is required to have functions such as one-key replay, basic information reading and SMART collection.

This paper first introduces the relevant technical background and professional knowledge, which lays a solid theoretical foundation for the later software research and development. According to the needs of the company's developers, this paper puts forward the design scheme of the re-contracting tool based on USB to PCIe, and shows the software architecture and module division of the re-contracting tool. Then the realization of each function module of the software is described in detail. In addition, a test scheme is designed and the test results are presented. Finally, this paper summarizes the design, and the future and update work is prospected.

Keywords: Non-Volatile Memory express; Peripheral Component Interconnect express; Solis State Disk; rejudgment tool

目 录

摘 要 1

Abstract 2

目 录 3

第一章 绪论 5

1.1引言 5

1.2研究意义和研究内容 5

1.3论文组织结构 6

第二章 固态硬盘相关协议及接口介绍 8

2.1 NVMe协议 8

2.1.1 NVMe 8

2.1.2 UIO 9

2.1.3 IOMMU 9

2.1.4 VFIO 10

2.1.5 VFIO-mdev 10

2.2 PCIe总线 10

2.3 M.2接口 11

2.4 本章小结 11

第三章 USB转PCIe复判工具软件设计 12

3.1 概述 12

3.2 界面模块 12

3.2.1 主窗口架构 13

3.2.2 Page架构 13

3.3 操作管理模块 14

3.3.1 磁盘枚举和信息获取 14

3.3.2 后台进程 14

3.4 托管代码转换模块 14

3.4.1 数据类型的转换 15

3.4.2 数据通路 15

3.5 API模块 15

3.6 信息获取模块 16

3.7 固件升级模块 17

3.8 一键复判模块 18

3.9 其他功能模块 19

3.9.1 log page生成模块 19

3.9.2 安全擦除模块 19

3.10 底层操作管理模块 19

3.10.1 类设计 20

3.10.2 接口设计 20

3.11 本章小结 20

第四章 USB转PCIe复判工具软件实现 21

4.1 USB转PCIe复判工具与固态硬盘的交互过程 21

4.2 固态硬盘的识别 22

4.2.1 CDiskMan与CDisk类介绍 22

4.2.2 几个重要的API简介 24

4.3 功能实现 25

4.3.1 信息获取实现 25

4.3.2 SMART收集实现 28

4.3.2 一键复判实现 30

4.4 本章小结 31

第五章 USB转PCIe复判工具软件测试 32

5.1 测试目的和方案 32

5.2 测试环境 32

5.3 测试结果 32

5.3.1 软件主窗口运行结果 32

5.3.2 信息获取功能测试 32

5.3.3 SMART收集功能测试 33

5.3.4 一键复判功能测试 34

第六章 总结和展望 35

6.1 总结 35

6.2 展望 35

引用文献 36

致 谢 37

第一章 绪论

1.1引言

与传统机械硬盘相比,固态硬盘读写速度高、体积小巧、运行噪音小、寿命长,在各个方面有着老式机械硬盘无可比拟的优势。越来越多的企业将研发重心从机械硬盘转移到了固态硬盘。

固态硬盘接口技术在近几年突飞猛进。最新一代的M.2固态硬盘是苏州记忆科技有限公司研发和测试的主要对象。因其不具备热插拔特性,研发过程操作繁琐导致相关工作进展慢、效率低。如果能通过其他连接方式规避M.2固态硬盘的这一缺陷,将极大简化研发人员对此类固态硬盘的操作,大大提高研发效率。此外,公司内部尚无针对M.2固态硬盘的定制工具,通用软件工具无法识别公司内部独有命令且功能简单,无法满足研发和测试人员的各项需求。亟待定制一款供公司内部使用针对M.2固态硬盘的软件工具。

目前苏州记忆科技有限公司已设计生产出USB转PCIe Bridge的适配器,本课题为公司内部研发人员设计定制了一款基于该适配器的复判工具。通过USB转PCIe Bridge适配器与基于其的复判工具,能够使M.2固态硬盘间接具备热插拔的特性。将M.2固态硬盘安插在适配器对应插槽中,适配器经USB接口与主机设备连接。每一个插槽设有开关一枚,控制着与之对应插槽的通电与断电。当用户需要对M.2固态硬盘拔取、更换时,无需再切断和重新连接主机设备的电源。通过转接板上插槽对应的开关即可实现M.2固态硬盘与主机设备的断开与连接。此外,区别于一般通用软件工具,这款软件工具能够识别和发送本公司独有的VU命令。在功能上更加丰富,能够满足本公司研发和测试人员的开发需求。

1.2研究意义和研究内容

1.2.1研究意义和主要研究内容

  1. 研究意义和目的

基于NVMe协议的M.2的接口固态硬盘采用的是PCIe总线。M.2固态硬盘读写性能高体积小巧轻便。尽管此类固态硬盘优点出众,备受青睐。但它也有着无法被忽视的缺陷——不具备热插拔特性。

对于外围硬件设备来说,热插拔是一个能够极大程度方便人为操作的特性。凭借这种特性,研发人员在更换、拔插固态硬盘时不必关闭系统或切断电源。固态硬盘的扩展性、灵活性以及应对灾难时的及时恢复能力大大提高。M.2接口固态硬盘不具备这种优良的特性,意味着每当用户需要取出、更换或重新拔插固态硬盘时,需要先切断电源,再进行操作。在专业人员进行嵌入式开发时,不断地切断、连接主机电源无疑会浪费大量人力与时间,甚至造成硬件间的磨损,缩短插槽与接口的寿命,大大降低研发效率。

USB(Universal Serial Bus,通用串行总线)是一种典型的支持热插拔特性的接口,M.2固态硬盘可以通过公司生产的USB转PCIe适配器与主机连接。当研发人员需要更换、拔取固态硬盘时,无需再切断主机电源,只需要关闭适配器上的通路开关即可。通过这种方式能够规避M.2接口固态硬盘不具备热插拔特性的缺点。

针对USB转PCIe适配器的软件工具有很多,比如CrystalDiskInfo等。这些工具软件往往普适性高,大多数厂商生产的固态硬盘都能识别。但其功能简单,无法满足研发人员的研发需要。例如公司想要通过USB转PCIe适配器对内部生产的M.2固态硬盘进行固件升级,这些软件工具就显得毫无用处。除此之外,一般公司内部对自己的硬件设备有自己的规范体系,普通的工具软件只能识别NVMe这种通用规范命令,无法识别公司内部独有的命令。本课题的意义在于开发一个仅供公司内部使用的针对USB转PCIe适配器的复判工具软件,能够与本公司生产的M.2固态硬盘进行交互,同时使其间接具备热插拔的特性,提高公司对此类固态硬盘的研发效率。

  1. 整个研究过程所涉及的内容

1、研读NVMe协议,熟练掌握基于NVMe协议固态硬盘的各项命令的结构、功能和参数。熟悉通过主机程序向外部硬件设备收发命令的完整过程。

2、学习本课题开发相关的API,熟悉其函数原型、功能、参数和用法。

3、开发基于USB转PCIe Bridge的复判工具,要求能识别公司内部独有的规范命令,并在功能上满足内部开发人员的需求。

4、自行设计并编写软件界面,要求功能模块划分明晰、信息展示清楚明了,界面风格简洁明快、一目了然。

5、测试软件运行结果,分析各功能模块的执行情况。

1.3论文组织结构

本论文共分六章,具体内容安排如下:

第一章绪论部分阐述了课题的研究背景及意义,介绍了近几年M.2固态硬盘的发展趋势和前景,提出了其的性能的优势和缺陷,并指出了本课题的研究内容,研究目的和所要解决的问题。

第二章全面分析了NVMe协议、PCIe总线和M.2接口的技术特点,理清了三者之间的关系,同时补充了相关专业背景和基础知识。为本课题的研究论证打下了坚实的理论基础。

剩余内容已隐藏,请支付后下载全文,论文总字数:28548字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;