CN111752772A - 存储设备仿真测试系统及方法 - Google Patents

存储设备仿真测试系统及方法 Download PDF

Info

Publication number
CN111752772A
CN111752772A CN202010393200.3A CN202010393200A CN111752772A CN 111752772 A CN111752772 A CN 111752772A CN 202010393200 A CN202010393200 A CN 202010393200A CN 111752772 A CN111752772 A CN 111752772A
Authority
CN
China
Prior art keywords
host
nand flash
communication
controller
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010393200.3A
Other languages
English (en)
Inventor
王春南
黄智盛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Miaocun Technology Co ltd
Original Assignee
Zhuhai Miaocun Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Miaocun Technology Co ltd filed Critical Zhuhai Miaocun Technology Co ltd
Priority to CN202010393200.3A priority Critical patent/CN111752772A/zh
Publication of CN111752772A publication Critical patent/CN111752772A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种存储设备仿真测试系统及方法,主要用于大容量存储设备的仿真测试,包括:对存储设备的多项参数进行模拟;根据所述参数配置生成对应的测试用例,测试用例包括指令及数据;根据测试用例将数据及指令转换解析为符合写入要求的数据及指令,并执行写入;对写入结果进行反馈,以及,对写入结果进行分析并生成测试报告。本发明的有益效果为:准确模拟FTL与NANDFlash的通讯时序,进而完成异步操作的模拟;仿真器存储模拟设计采用分布式设计,解决单一计算机存储空间难以模拟超大容量存储产品问题;网络通信的引入降低了FTL与仿真器间的耦合度,提到了整个仿真测试系统的可扩展性。

Description

存储设备仿真测试系统及方法
技术领域
本发明涉及计算机数据处理领域,具体涉及了一种存储设备仿真测试系统及方法。
背景技术
随着存储领域技术的发展,NAND Flash存储器由于具有容量大,改写速度快等优点,适用于大量数据的存储,在各领域得到了越来越广泛的应用。然而, NAND FLASH芯片从设计到最后到产品化整个研发周期非常长,这使得基于 NAND Flash开发程序时,开发周期变得更为漫长。同时,不同厂家,不同类型的存储颗粒,特性变化曲线和错误发生曲线以及分布都不相同。当存储产品进入测试阶段时,存储颗粒错误的随机性(不可控)以及触发颗粒特性周期过长等问题,都会导致对存储产品很难达到全面有效的测试,尤其是一些错误的叠加和嵌套场景,难以测试到,可能导致存储产品的缺陷无法发现。而且,这些特性以及错误往往不可控制,也很难复现,给存储产品的开发及调试都带来了极大的挑战。
在现有的技术方案中,为解决上述问题会通过引入NAND Flash仿真器来加速存储产品的研发周期及测试。这些测试方案在进行仿真时,考虑了NAND操作序列、NAND bit翻转特性及存储颗粒文件化等方面,在尽可能接近NAND Flash的同时,为存储产品的开发和调试提供了便利。然而,这些方案存在着如下的问题:
(1)未考虑仿真器与存储产品的FTL(Flash translation layer)的通信时序及异步操作。
(2)不能适应超大容量(TB级别及以上)存储产品的仿真测试。已有的仿真器或通过采用计算机的一段内存、或通过磁盘空间来模拟NAND Flash存储。这对于超大容量的存储产品仿真测试明显是不切实际的。
发明内容
本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了存储设备仿真测试系统及装置,实现超大容量存储设备的仿真测试。
本发明的技术方案包括存储设备仿真测试装置,其特征在于,该装置包括:主机,控制器及存储器;所述主机、所述控制器及所述存储器均设置有对应的通信层,所述通信层基于对应的通信协议完成所述主机、所述控制器及所述存储器任意两两之间的通信;所述存储器用于对存储设备的多项参数进行模拟;所述主机用于根据所述参数配置生成对应的测试用例,根据所述测试用例下发对应的指令及数据至所述控制器;所述控制器对所述指令及数据进行解析,将解析的数据和指令依据写入协议传递至所述存储器;所述存储器将数据写入时,返回写入结果至所述主机,所述主机将测试结果进行分析。
根据所述的存储设备仿真测试装置,其中存储器被配置为NAND Flash。
根据所述的存储设备仿真测试装置,其中所述主机包括FLT通信层、测试用例及NAND Flash通信层;所述控制器包括Host通信层、FLT及NAND Flash 通信层;所述NANDFlash包括Host通信层、NAND Flash仿真层及FLT通信层;所述主机通过所述FLT通信层与所述控制器的FLT进行通信,以及,通过所述 NAND Flash通信层与所述NAND Flash的Host通信层进行通信;所述控制器通过NAND Flash通信层与所述NAND Flash的FLT通信层进行通信。
根据所述的存储设备仿真测试装置,其中所述主机的FTL通信层以及控制器的Host通信层的通信协议遵从存储设备的通讯协议,所述存储产品包括但不限于EMMC,UFS及SSD。
根据所述的存储设备仿真测试装置,其中所述控制器的NAND Flash通信层与NANDFlash的FTL通信层的通信协议遵循ONFI规范。
根据所述的存储设备仿真测试装置,其中所述主机的NAND Flash通信层与NANDFlash的Host通信层的通信协议可自定义设置。
根据所述的存储设备仿真测试装置,其中所述主机,控制器及NAND Flash 存储器之间的数据交互方式为请求/回应方式。
根据所述的存储设备仿真测试装置,其中主机,控制器及NAND Flash存储器之间的通信方式设置为网络通信。
根据所述的存储设备仿真测试装置,其中主机,控制器及NAND Flash存储器可设置于分布式计算机设备,所述分布式计算机设备包括但不限于计算机集群及磁盘阵列。
本发明的技术方案还包括一种存储设备仿真测试方法,其特征在于,该方法包括:S100,对存储设备的多项参数进行模拟;S200,根据所述参数配置生成对应的测试用例,测试用例包括指令及数据;S300,根据测试用例将数据及指令转换解析为符合写入要求的数据及指令,并执行写入;S400,对写入结果进行反馈,以及,对写入结果进行分析并生成测试报告。
本发明的有益效果为:通过引入网络通信模拟FTL与NAND Flash的通信过程,可以准确模拟FTL与NAND Flash的通讯时序,进而完成异步操作的模拟,如命令先发数据后出;仿真器存储模拟设计采用分布式设计,解决单一计算机存储空间难以模拟超大容量存储产品问题;网络通信的引入降低了FTL与仿真器间的耦合度,提到了整个仿真测试系统的可扩展性,使得已有仿真器的设计,可以应用于不同存储产品的FTL仿真测试中。
附图说明
下面结合附图和实施例对本发明进一步地说明;
图1所示为根据本发明实施方式的系统框图;
图2所示为根据本发明实施方式的流程图;
图3所示为根据本发明实施方式的仿真器系统架构图;
图4所示为根据本发明实施方式的仿真器写通信时序图;
图5所示为根据本发明实时方式的仿真器写协议时序图;
图6所示为根据本发明实时方式的仿真器分布式存储模拟示意图。
具体实施方式
本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
术语解释:
PE cycle:P/E cycle,表示闪存设备的一次擦写循环;
Command/Response或者CMD/RSP:请求/回应;
ONFI规范:闪存设备的模块之间的一种通讯协议规范;
EMMC,UFS,SSD:基于闪存技术的不同存储设备;
FTL:闪存转换层,用于完成主机逻辑地址空间到闪存设备的物理地址空间的映射;
本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
图1所示为根据本发明实施方式的系统框图。该系统包括:主机,控制器及存储器;主机、控制器及存储器均设置有对应的通信层,通信层基于对应的通信协议完成主机、控制器及存储器任意两两之间的通信;存储器用于对存储设备的多项参数进行模拟;主机用于根据参数配置生成对应的测试用例,根据测试用例下发对应的指令及数据至控制器;控制器对指令及数据进行解析,将解析的数据和指令依据写入协议传递至存储器;存储器将数据写入时,返回写入结果至主机,主机将测试结果进行分析。
图2所示为根据本发明实施方式的流程图,该流程包括:S100,对存储设备的多项参数进行模拟;S200,根据所述参数配置生成对应的测试用例,测试用例包括指令及数据;S300,根据测试用例将数据及指令转换解析为符合写入要求的数据及指令,并执行写入;S400,对写入结果进行反馈,以及,对写入结果进行分析并生成测试报告。
作为对图1技术方案的改进,图3提出了以NAND Flash作为存储器的仿真器系统,仿真器由主机、控制器、NAND Flash存储器三个主要模块构成,主机通过测试人员编写的测试用例测试产品FTL,FTL则通过NAND Flash的仿真层来模拟对实际存储颗粒的操作,NANDFlash的仿真层中模拟了诸如PE cycle,写前先擦,坏块产生等特性。每个模块各有两个通信层负责与其它两个模块以 Command/Response的形式进行通信。其中:主机的FTL通信层与控制器的主机通信层的通信协议遵从存储产品的通讯协议设计,所述存储产品包括但不限于 EMMC,UFS,SSD;控制器的NAND Flash通信层与NAND Flash的FTL通信层的通信协议遵循ONFI规范设计;主机的NAND Flash通信层与NAND Flash 的主机通信层的通信协议可自由定义,主要用于配置NAND Flash特性及实时获取NAND Flash数据以分析FTL的设计优劣。
采用网络通信的形式来模拟主机与控制器、控制器与NAND Flash之间的通信过程,更接近实际的存储产品通信过程。同时这样的设计方式可以在掉电测试中使测试触发点精确定位于命令发送前、发送中、发送后,或数据发送前、发送中、发送后,以检测FTL对这些场景的处理能力。
所示的仿真器系统架构中,主机、控制器及NAND Flash模块可位于不同的分布式计算机上,这使得各模块可根据自己的性能及空间需求进行配置不同的计算机。当要进行超大容量的存储产品仿真测试时,NAND Flash模块可以使用诸如磁盘阵列、计算机集群等方式来满足超大容量的存储模拟,具体参考图6。
在可扩展性上,屏蔽了FTL、NAND Flash的设计细节,可以轻松适配不同存储产品的FTL测试。在该设计中,网络通信替代了传统仿真器的函数接口调用方式,使得测试人员不需要知道FTL研发人员的接口如何定义,FTL研发人员也不需要知道仿真器开发人员的接口细节。适配一个新存储产品的仿真测试时,只需FTL研发人员根据规范完成通信上的适配,即可开展产品的仿真测试工作。
以测试数据写为例,其在仿真器上的通信时序可如图4所示,主要操作步骤如下:
(1)主机的NAND Flash通信层向NAND Flash的Host通信层发送配置命令,完成仿真器的NAND配置,如plane数、block数、page数、PE cycle、坏块数等,完成对指定存储颗粒的模拟;
(2)配置完成后,测试人员编写的测试用例通过主机的FTL通信层,依照制定的写协议,将命令和数据传递给控制器的Host通信层;
(3)控制器的Host通信层将命令和数据解析后,传递给FTL,FTL经过一系列地处理后,转化为符合ONFI规范的NAND命令及数据,传递给NAND Flash仿真层;
(4)仿真器将数据写入后,按照NAND Flash->控制器->主机的时序将数据写入的结果依照协议传递给主机的测试用例;
(5)如果写入成功,则可以通过主机的NAND Flash通信层向NAND Flash 的Host通信层获取NAND数据,分析该次写对NAND Flash的PE cycle、坏块等特性产生的影响,从而评判FTL是否在设计上存在不足之处。
进一步,对协议的命令及数据传递时序做出阐述。这里以主机与控制器的写操作命令及数据通信时序为例,其时序可如图5所示。其中,左框部分为主机的FTL通信层向控制器的Host通信层发送的命令及数据,右框部分为控制器的 Host通信层回的响应,细节描述如下:
控制器的Host通信层接收到来自主机的FTL通信层的写命令后,完成解析及数据接收准备工作。一切无误之后,向主机回应“准备完成”表示可以开始数据的接收;
由于写的数据量可能比较大,此时主机将会把数据分成多个包以分开发送。当控制器的主机通信层接收到一包数据时,向主机回应“准备完成”表示该包数据已经成功接收,主机可以开始下一包数据的发送;
主机将所有的数据发送完成后,发送“准备完成”命令表示数据已经发送完成,进而控制器的主机通信层按照图3所示的时序将数据交给FTL处理。
FTL处理完成后,控制器的主机通信层将FTL的处理结果转化为协议定义的响应回给主机,完成写数据的过程。
在仿真器的存储模拟上,采用分布式设计,解决单一计算机存储空间难以模拟超大容量存储产品问题,其示意图可如图6所示。这里着重介绍计算机集群和磁盘阵列两种较容易实现的形式。
如果采用计算机集群的形式实现存储模拟,则需要在仿真器部分建立如集群计算机间的映射关系,如IP-Die,即一台计算机对应NAND flash的一个Die,计算机内部的文件存储结构按照Die以下的结构形式设计,即Plane-Block-Page 的结构形式。同时每台计算机内建立客户端程序与仿真器进行通信,完成数据的发送与接收。
如果采用磁盘阵列的方式,仿真器的映射关系则变为与磁盘分区的映射,如分区-Die,磁盘分区内部的文件存储结构也按照Die以下的结构形式设计此。时数据的写入与读出只需通过文件系统操作即可。
通过这种组合的思想,即可完成对超大容量存储产品的仿真测试。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

Claims (10)

1.存储设备仿真测试装置,其特征在于,该装置包括:
主机,控制器及存储器;
所述主机、所述控制器及所述存储器均设置有对应的通信层,所述通信层基于对应的通信协议完成所述主机、所述控制器及所述存储器任意两两之间的通信;所述存储器用于对存储设备的多项参数进行模拟;所述主机用于根据所述参数配置生成对应的测试用例,根据所述测试用例下发对应的指令及数据至所述控制器;所述控制器对所述指令及数据进行解析,将解析的数据和指令依据写入协议传递至所述存储器;所述存储器将数据写入时,返回写入结果至所述主机,所述主机将测试结果进行分析。
2.根据权利要求1所述的存储设备仿真测试装置,其特征在于,所述存储器被配置为NAND Flash。
3.根据权利要求2所述的存储设备仿真测试装置,其特征在于,
所述主机包括FLT通信层、测试用例及NAND Flash通信层;
所述控制器包括Host通信层、FLT及NAND Flash通信层;
所述NAND Flash包括Host通信层、NAND Flash仿真层及FLT通信层;
所述主机通过所述FLT通信层与所述控制器的FLT进行通信,以及,通过所述NANDFlash通信层与所述NAND Flash的Host通信层进行通信;所述控制器通过NAND Flash通信层与所述NAND Flash的FLT通信层进行通信。
4.根据权利要求3所述的存储设备仿真测试装置,其特征在于,
所述主机的FTL通信层以及控制器的Host通信层的通信协议遵从存储设备的通讯协议,所述存储产品包括但不限于EMMC,UFS及SSD。
5.根据权利要求3所述的存储设备仿真测试装置,其特征在于,
所述控制器的NAND Flash通信层与NAND Flash的FTL通信层的通信协议遵循ONFI规范。
6.根据权利要求3所述的存储设备仿真测试装置,其特征在于,
所述主机的NAND Flash通信层与NAND Flash的Host通信层的通信协议可自定义设置。
7.根据权利要求3所述的存储设备仿真测试装置,其特征在于,
所述主机,控制器及NAND Flash存储器之间的数据交互方式为请求/回应方式。
8.根据权利要求3所述的存储设备仿真测试装置,其特征在于,所述主机,控制器及NAND Flash存储器之间的通信方式设置为网络通信。
9.根据权利要求3所述的存储设备仿真测试装置,其特征在于,所述主机,控制器及NAND Flash存储器可设置于分布式计算机设备,所述分布式计算机设备包括但不限于计算机集群及磁盘阵列。
10.一种存储设备仿真测试方法,其特征在于,该方法包括:
S100,对存储设备的多项参数进行模拟;
S200,根据所述参数配置生成对应的测试用例,测试用例包括指令及数据;
S300,根据测试用例将数据及指令转换解析为符合写入要求的数据及指令,并执行写入;
S400,对写入结果进行反馈,以及,对写入结果进行分析并生成测试报告。
CN202010393200.3A 2020-05-11 2020-05-11 存储设备仿真测试系统及方法 Pending CN111752772A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010393200.3A CN111752772A (zh) 2020-05-11 2020-05-11 存储设备仿真测试系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010393200.3A CN111752772A (zh) 2020-05-11 2020-05-11 存储设备仿真测试系统及方法

Publications (1)

Publication Number Publication Date
CN111752772A true CN111752772A (zh) 2020-10-09

Family

ID=72673691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010393200.3A Pending CN111752772A (zh) 2020-05-11 2020-05-11 存储设备仿真测试系统及方法

Country Status (1)

Country Link
CN (1) CN111752772A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112885403A (zh) * 2021-02-08 2021-06-01 山东云海国创云计算装备产业创新中心有限公司 一种Flash控制器的功能测试方法、装置及设备
CN113960391A (zh) * 2021-09-13 2022-01-21 珠海亿智电子科技有限公司 存储介质异常掉电测试装置及方法
CN114492269A (zh) * 2022-04-02 2022-05-13 北京得瑞领新科技有限公司 闪存控制器的验证系统
CN115993937A (zh) * 2023-03-21 2023-04-21 苏州浪潮智能科技有限公司 一种多进程固态硬盘仿真环境实现方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461854A (zh) * 2013-09-12 2015-03-25 中国船舶工业综合技术经济研究院 一种舰船装备软件通用仿真测试平台及其构建方法
CN107065837A (zh) * 2017-05-31 2017-08-18 河南思维轨道交通技术研究院有限公司 仿真测试平台、自动仿真测试系统及测试方法
CN109684150A (zh) * 2018-12-24 2019-04-26 北京紫光得瑞科技有限公司 存储颗粒控制器的性能测试系统、测试方法及仿真平台

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461854A (zh) * 2013-09-12 2015-03-25 中国船舶工业综合技术经济研究院 一种舰船装备软件通用仿真测试平台及其构建方法
CN107065837A (zh) * 2017-05-31 2017-08-18 河南思维轨道交通技术研究院有限公司 仿真测试平台、自动仿真测试系统及测试方法
CN109684150A (zh) * 2018-12-24 2019-04-26 北京紫光得瑞科技有限公司 存储颗粒控制器的性能测试系统、测试方法及仿真平台

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112885403A (zh) * 2021-02-08 2021-06-01 山东云海国创云计算装备产业创新中心有限公司 一种Flash控制器的功能测试方法、装置及设备
CN112885403B (zh) * 2021-02-08 2023-07-14 山东云海国创云计算装备产业创新中心有限公司 一种Flash控制器的功能测试方法、装置及设备
CN113960391A (zh) * 2021-09-13 2022-01-21 珠海亿智电子科技有限公司 存储介质异常掉电测试装置及方法
CN114492269A (zh) * 2022-04-02 2022-05-13 北京得瑞领新科技有限公司 闪存控制器的验证系统
CN115993937A (zh) * 2023-03-21 2023-04-21 苏州浪潮智能科技有限公司 一种多进程固态硬盘仿真环境实现方法和装置

Similar Documents

Publication Publication Date Title
CN111752772A (zh) 存储设备仿真测试系统及方法
CN105738854B (zh) 智能电表嵌入式应用的模拟存储器测试板系统及测试方法
CN103853639B (zh) 自测试系统和用于自测试功能逻辑模块的方法
CN102508753B (zh) Ip核验证系统
CN100476837C (zh) 一种支持随机指令测试的微处理器fpga验证装置
CN109472061B (zh) 一种可重用的仿真验证平台及仿真验证方法
CN112286746B (zh) 针对axi从设备接口的通用验证平台及方法
WO2018018978A1 (zh) 一种通用串行总线控制器验证方法、系统及设备
US20090248390A1 (en) Trace debugging in a hardware emulation environment
CN111353266B (zh) 集成电路模块间协同工作的验证系统及验证方法
CN113486625B (zh) 芯片的验证方法与验证系统
CN104461854A (zh) 一种舰船装备软件通用仿真测试平台及其构建方法
CN111443338A (zh) 一种有源相控阵雷达阵面故障注入设备和方法
CN109557460A (zh) 一种基于fpga的卷积神经网络算法的测试方法及设备
CN114444422A (zh) 芯片验证系统、方法及存储介质
CN109256173A (zh) 机载存储设备测试系统
US7130788B2 (en) Emulation components and system including distributed event monitoring, and testing of an IC design under emulation
CN117093438A (zh) 测试系统
CN111459814A (zh) 自动化测试用例生成方法、装置及电子设备
CN113326670A (zh) 原型验证系统、方法、处理单元、及设备
US7035787B2 (en) Emulation components and system including distributed routing and configuration of emulation resources
CN102855338A (zh) 现场可编程门阵列原型验证装置及验证方法
WO2023230883A1 (zh) 一种测试方法、系统及装置
WO2016184170A1 (zh) Smi接口器件的调试装置及方法、存储介质
CN110727611A (zh) 一种带状态监测的可配置一致性验证系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination