固态硬盘TCG协议功能测试方法、装置及计算机设备与流程

文档序号:27831719发布日期:2021-12-07 22:27阅读:1032来源:国知局
固态硬盘tcg协议功能测试方法、装置及计算机设备
技术领域
:1.本发明涉及硬盘测试
技术领域
:,特别是涉及一种固态硬盘tcg协议功能测试方法、装置、计算机设备及存储介质。
背景技术
::2.随着计算机技术的发展,计算机设备已经成为当今人们最具备生成力的实用工具,而其中计算机设备的安全性以及稳定性是人们在利用计算机进行工作时的必要保障。如今,固态硬盘因为其具备的快速读写、质量轻、能耗低以及体积小等特点,应用也越来越广泛。固态硬盘是计算机设备中的核心硬件设备之一,其稳定性和可靠性大大影响整个计算机设备的安全性和稳定性,因此在计算机设备出厂之前,需要对计算机设备中的固态硬盘进行测试。3.目前,随着人们对计算机安全越来越重视,越来越多ssd产品都需要支持tcg(trustedcomputinggroup)协议。tcg中的lockonreset/doneonreset功能作为协议的重要组成部分之一,缺少专用的功能全面的测试脚本,因此难以实现对lockonreset/doneonreset功能的快速测试。技术实现要素:4.基于此,有必要针对上述技术问题,提供一种固态硬盘tcg协议功能测试方法、装置、计算机设备及存储介质。5.一种固态硬盘tcg协议功能测试方法,所述方法包括:6.获取固态硬盘tcg协议功能测试请求,所述固态硬盘tcg协议功能测试请求包括lockonreset功能测试请求和doneonreset功能测试请求;7.根据所述固态硬盘tcg协议功能测试请求对tcg进行初始化;8.根据所述固态硬盘tcg协议功能测试请求的种类对待测固态硬盘进行多个不同种类的重启行为;9.待对应种类的重启执行完毕后,检查tcg的状态是否符合预期的状态。10.在其中一个实施例中,所述方法还包括:11.获取lockonreset功能测试请求;12.使能lockingsp,将tcghwreset添加到lockonresettable里;13.设置read_lock_enable和write_lock_enable为true,并设置read_locked和write_locked为true;14.从断电后重新上电、软件重启、pcie热重启以及nvme子系统重启中选一种重启类型来重启设备,每一种重启类型轮询一遍;15.检查read_locked和write_locked的状态。16.在其中一个实施例中,所述方法还包括:17.获取doneonreset功能测试请求;18.使能lockingsp,将tcghwreset添加到doneonresettable里;19.设置mbr_enable和mbr_done为true;20.从断电后重新上电、软件重启、pcie热重启以及nvme子系统重启中选一种重启类型来重启设备,每一种重启类型轮询一遍;21.检查mbr_enable和mbr_done的状态。22.在其中一个实施例中,所述lockonreset为lockingsp的一个子状态,用于表示在lockingsp使能的情况下,可接收的tcg重启种类的合集;所述doneonreset表示在mbr功能开启且认证成功的条件下,可接收的tcg重启种类的合集。23.一种固态硬盘tcg协议功能测试装置,所述装置包括:24.获取模块,所述获取模块用于获取固态硬盘tcg协议功能测试请求,所述固态硬盘tcg协议功能测试请求包括lockonreset功能测试请求和doneonreset功能测试请求;25.初始化模块,所述初始化模块用于根据所述固态硬盘tcg协议功能测试请求对tcg进行初始化;26.重启模块,所述重启模块用于根据所述固态硬盘tcg协议功能测试请求的种类对待测固态硬盘进行多个不同种类的重启行为;27.检查模块,所述检查模块用于待对应种类的重启执行完毕后,检查tcg的状态是否符合预期的状态。28.在其中一个实施例中,所述装置还包括第一测试模块,所述第一测试模块用于:29.获取lockonreset功能测试请求;30.使能lockingsp,将tcghwreset添加到lockonresettable里;31.设置read_lock_enable和write_lock_enable为true,并设置read_locked和write_locked为true;32.从断电后重新上电、软件重启、pcie热重启以及nvme子系统重启中选一种重启类型来重启设备,每一种重启类型轮询一遍;33.检查read_locked和write_locked的状态。34.在其中一个实施例中,所述装置还包括第二测试模块,所述第二测试模块用于:35.获取doneonreset功能测试请求;36.使能lockingsp,将tcghwreset添加到doneonresettable里;37.设置mbr_enable和mbr_done为true;38.从断电后重新上电、软件重启、pcie热重启以及nvme子系统重启中选一种重启类型来重启设备,每一种重启类型轮询一遍;39.检查mbr_enable和mbr_done的状态。40.在其中一个实施例中,所述lockonreset为lockingsp的一个子状态,用于表示在lockingsp使能的情况下,可接收的tcg重启种类的合集;所述doneonreset表示在mbr功能开启且认证成功的条件下,可接收的tcg重启种类的合集。41.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。42.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。43.上述固态硬盘tcg协议功能测试方法、装置、计算机设备及存储介质通过获取固态硬盘tcg协议功能测试请求,所述固态硬盘tcg协议功能测试请求包括lockonreset功能测试请求和doneonreset功能测试请求;根据所述固态硬盘tcg协议功能测试请求对tcg进行初始化;根据所述固态硬盘tcg协议功能测试请求的种类对待测固态硬盘进行多个不同种类的重启行为;待对应种类的重启执行完毕后,检查tcg的状态是否符合预期的状态。本发明通过对待测固态硬盘做各种重启行为,并检查tcg的状态是否符合预期,实现了基于ssdtcglockonreset/doneonreset功能的专项自动化测试,有效地提高了测试效率。附图说明44.图1为一个实施例中固态硬盘tcg协议功能测试方法的构思示意图;45.图2为一个实施例中固态硬盘tcg协议功能测试方法的流程示意图;46.图3为另一个实施例中固态硬盘tcg协议功能测试方法的流程示意图;47.图4为再一个实施例中固态硬盘tcg协议功能测试方法的流程示意图;48.图5为一个实施例中lockonreset功能测试方法的流程示意图;49.图6为一个实施例中doneonreset功能测试方法的流程示意图;50.图7为一个实施例中固态硬盘tcg协议功能测试装置的结构框图;51.图8为另一个实施例中固态硬盘tcg协议功能测试装置的结构框图;52.图9为再一个实施例中固态硬盘tcg协议功能测试装置的结构框图;53.图10为一个实施例中计算机设备的内部结构图。具体实施方式54.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。55.目前,随着人们对计算机安全越来越重视,越来越多ssd产品都需要支持tcg(trustedcomputinggroup)协议。tcg中的lockonreset/doneonreset功能作为协议的重要组成部分之一,缺少专用的功能全面的测试脚本,因此难以实现对lockonreset/doneonreset功能的快速测试。56.基于此,本发明提供了一种固态硬盘tcg协议功能测试方法,该方法的整体构思示意图如图1所示。具体地,首先,获取固态硬盘tcg协议功能测试请求,固态硬盘tcg(trustedcomputinggroup,可信的计算组织)协议功能测试请求包括lockonreset功能测试请求和doneonreset功能测试请求。接着,根据不同的测试请求设定tcg初始状态。然后,对待测固态硬盘做各种reset(重启)行为。最后,检查tcg的状态是否符合预期。57.在一个实施例中,如图2所示,提供了一种固态硬盘tcg协议功能测试,该方法包括:58.步骤202,获取固态硬盘tcg协议功能测试请求,固态硬盘tcg协议功能测试请求包括lockonreset功能测试请求和doneonreset功能测试请求;59.步骤204,根据固态硬盘tcg协议功能测试请求对tcg进行初始化;60.步骤206,根据固态硬盘tcg协议功能测试请求的种类对待测固态硬盘进行多个不同种类的重启行为;61.步骤208,待对应种类的重启执行完毕后,检查tcg的状态是否符合预期的状态。62.在本实施例中,提供了一种固态硬盘tcg协议功能测试方法,该方法具体的实现步骤如下:63.首先,获取固态硬盘tcg协议功能测试请求,固态硬盘tcg(trustedcomputinggroup,可信的计算组织)协议功能测试请求包括lockonreset功能测试请求和doneonreset功能测试请求。64.在其中一个实施例中,所述lockonreset为lockingsp的一个子状态,用于表示在lockingsp使能的情况下,可接收的tcg重启种类的合集;所述doneonreset表示在mbr功能开启且认证成功的条件下,可接收的tcg重启种类的合集。65.具体地,lockingsp中的sp是securityprovider的缩写,sp具体可以分为adminsp和lockingsp两种。lockonreset:在lockingsp的一个子状态,该状态表示在lockingsp使能的情况下,可接收的tcgresettype的合集。mbr表示tcg的一个功能,该功能会将一段特定的代码区间映射到lba0开始的地址,主机启动的时候会优先读取特定代码区间执行对应的认证程序。doneonreset:在mbr功能开启且认证成功的条件下,可接收的tcgresettype的合集。66.接着,根据固态硬盘tcg协议功能测试请求对tcg进行初始化。具体地,若测试请求为lockonreset测试,则初始化过程为:使能lockingsp,将tcghwreset添加到lockonresettable里;设置read_lock_enable和write_lock_enable为true;设置read_locked和write_locked为true。若测试请求为doneonreset测试,则初始化过程为:使能lockingsp,将tcghwreset添加到doneonresettable里;设置mbr_enable和mbr_done为true。67.然后,根据固态硬盘tcg协议功能测试请求的种类对待测固态硬盘进行多个不同种类的重启行为。具体地,不同种类的重启行为可以包括从powercycle,programmaticreset,perst,nvmesubsystemreset中选一种resettype来重启设备,每一种resettype轮询一遍。其中,powercycle表示断电后重新上电;programmatic表示软件重启;nvmesubsystemreset表示nvme子系统重启perst表示pciewarmreset。最后,待对应种类的重启执行完毕后,检查tcg的状态是否符合预期的状态。68.在本实施例中,通过获取固态硬盘tcg协议功能测试请求,所述固态硬盘tcg协议功能测试请求包括lockonreset功能测试请求和doneonreset功能测试请求;根据所述固态硬盘tcg协议功能测试请求对tcg进行初始化;根据所述固态硬盘tcg协议功能测试请求的种类对待测固态硬盘进行多个不同种类的重启行为;待对应种类的重启执行完毕后,检查tcg的状态是否符合预期的状态。本方案通过对待测固态硬盘做各种重启行为,并检查tcg的状态是否符合预期,实现了基于ssdtcglockonreset/doneonreset功能的专项自动化测试,有效地提高了测试效率。69.在一个实施例中,如图3所示,提供了一种固态硬盘tcg协议功能测试,该方法还包括:70.步骤302,获取lockonreset功能测试请求;71.步骤304,使能lockingsp,将tcghwreset添加到lockonresettable里;72.步骤306,设置read_lock_enable和write_lock_enable为true,并设置read_locked和write_locked为true;73.步骤308,从断电后重新上电、软件重启、pcie热重启及nvme子系统重启中选一种重启类型来重启设备,每一种重启类型轮询一遍;74.步骤310,检查read_locked和write_locked的状态。75.在本实施例中,参考图5所示,提供了一种lockonreset功能测试的实现方法,其具体的实现步骤如下:76.首先,使能lockingsp,将tcghwreset添加到lockonresettable里。77.接着,设置read_lock_enable和write_lock_enable为true,设置read_locked和write_locked为true。具体地,lockonreset表示在lockingsp的一个子状态,该状态表示在lockingsp使能的情况下,可接收的tcgresettype的合集。read_lock_enable表示是否使能read_locked的功能;read_locked即读锁定功能,为true表示锁定后无法做读操作。write_lock_enabel表示是否使能write_locked的功能,write_locked即写锁定功能,为true表示锁定后无法做写操作。78.然后,从powercycle,programmaticreset,perst,nvmesubsystemreset中选一种resettype来重启设备,每一种resettype轮询一遍。79.最后,检查read_locked和write_locked的状态。80.在本实施例中,实现了基于drivermaster的ssdtcglockonreset功能的自动化专项测试。81.在一个实施例中,如图4所示,提供了一种固态硬盘tcg协议功能测试,该方法还包括:82.步骤402,获取doneonreset功能测试请求;83.步骤404,使能lockingsp,将tcghwreset添加到doneonresettable里;84.步骤406,设置mbr_enable和mbr_done为true;85.步骤408,从断电后重新上电、软件重启、pcie热重启及nvme子系统重启中选一种重启类型来重启设备,每一种重启类型轮询一遍;86.步骤410,检查mbr_enable和mbr_done的状态。87.在本实施例中,参考图6所示,提供了一种doneonreset功能测试的实现方法,其具体的实现步骤如下:88.首先,使能lockingsp,将tcghwreset添加到doneonresettable里。89.接着,设置mbr_enable和mbr_done为true。具体地,doneonreset表示在mbr功能开启且认证成功的条件下,可接收的tcgresettype的合集。mbr是tcg的一个功能,该功能会将一段特定的代码区间映射到lba0开始的地址,主机启动的时候会优先读取特定代码区间执行对应的认证程序。mbr_enable表示开启mbr的功能,映射特定代码区间到lba0开始的地址。mbr_done表示特定代码执行完成且认证成功。90.然后,从powercycle,programmaticreset,perst,nvmesubsystemreset中选一种resettype来重启设备,每一种resettype轮询一遍。91.最后,检查mbr_enable和mbr_done的状态。92.在本实施例中,实现了基于drivermaster的ssdtcgdoneonreset功能的自动化专项测试。93.应该理解的是,虽然图1‑6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1‑6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。94.在一个实施例中,如图7所示,提供了一种固态硬盘tcg协议功能测试装置700,该装置包括:95.获取模块701,所述获取模块用于获取固态硬盘tcg协议功能测试请求,所述固态硬盘tcg协议功能测试请求包括lockonreset功能测试请求和doneonreset功能测试请求;96.初始化模块702,所述初始化模块用于根据所述固态硬盘tcg协议功能测试请求对tcg进行初始化;97.重启模块703,所述重启模块用于根据所述固态硬盘tcg协议功能测试请求的种类对待测固态硬盘进行多个不同种类的重启行为;98.检查模块704,所述检查模块用于待对应种类的重启执行完毕后,检查tcg的状态是否符合预期的状态。99.在一个实施例中,如图8所示,提供了一种固态硬盘tcg协议功能测试装置700,该装置还包括第一测试模块705,用于:100.获取lockonreset功能测试请求;101.使能lockingsp,将tcghwreset添加到lockonresettable里;102.设置read_lock_enable和write_lock_enable为true,并设置read_locked和write_locked为true;103.从断电后重新上电、软件重启、pcie热重启以及nvme子系统重启中选一种重启类型来重启设备,每一种重启类型轮询一遍;104.检查read_locked和write_locked的状态。105.在一个实施例中,如图9所示,提供了一种固态硬盘tcg协议功能测试装置700,该装置还包括第二测试模块706,用于:106.获取doneonreset功能测试请求;107.使能lockingsp,将tcghwreset添加到doneonresettable里;108.设置mbr_enable和mbr_done为true;109.从断电后重新上电、软件重启、pcie热重启以及nvme子系统重启中选一种重启类型来重启设备,每一种重启类型轮询一遍;110.检查mbr_enable和mbr_done的状态。111.在一个实施例中,所述lockonreset为lockingsp的一个子状态,用于表示在lockingsp使能的情况下,可接收的tcg重启种类的合集;所述doneonreset表示在mbr功能开启且认证成功的条件下,可接收的tcg重启种类的合集。112.关于固态硬盘tcg协议功能测试装置的具体限定可以参见上文中对于固态硬盘tcg协议功能测试方法的限定,在此不再赘述。113.在一个实施例中,提供了一种计算机设备,其内部结构图可以如图10所示。该计算机设备包括通过装置总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作装置、计算机程序和数据库。该内存储器为非易失性存储介质中的操作装置和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种固态硬盘tcg协议功能测试方法。114.本领域技术人员可以理解,图10中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。115.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。116.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。117.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。118.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。119.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1