一种SSD仿真数据的存储方法、SSD仿真平台及存储介质与流程
未命名
07-14
阅读:133
评论:0
一种ssd仿真数据的存储方法、ssd仿真平台及存储介质
技术领域
1.本发明涉及仿真测试领域,尤其涉及一种ssd仿真数据的存储方法、ssd仿真平台及存储介质。
背景技术:
2.在开发ssd(solid state drives固态硬盘)固件时,为了更快捷,方便,常常需要在相应的仿真平台上进行ssd仿真,ssd仿真的主要目的是检测由ssd固件控制的读/写/擦等操作(主要针对用户数据)是否能够正常执行。其中,仿真平台所需的仿真数据一般来自真实应用场景下的ssd数据,然而由于仿真平台运行在测试人员的pc上,而该pc的ssd容量可能不足以存储真实应用场景下的一块ssd硬盘的完整数据,因此,大多数情况下测试人员都会通过限制真实应用场景下某一ssd的可用存储容量或者减少用户数据的方式来保证要获取的目标ssd中的数据量不大于测试平台所在pc的ssd容量。这种做法虽然可以正常的运行仿真平台,但由于用户数据的不完整或过少,将会对后续验证io流程流程上的逻辑、验证用户数据的一致性、以及验证数据读写错误的准确性产生影响。
3.为此,如何在ssd仿真平台中存储更多的仿真数据是本领域亟需解决的技术问题。
技术实现要素:
4.为了实现在ssd仿真平台中存储更多的ssd仿真数据,本发明提出了通过文件存储模拟仿真数据在nand中的存储,从而使得对文件数据的存储不再受存储介质的限制,且能够被ssd固件指令正常的访问和控制。具体的,在本发明的第一方面,公开了一种ssd仿真数据的存储方法,所述方法包括:以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中;以所述存储对象的物理地址命名对应的文件;根据所述文件中存储的数据的属性而选择性的进行文件压缩。
5.在一个或多个实施例中,所述以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中,包括:以对ssd进行数据擦除的最小单位block为存储对象而创建文件;将ssd的每个block中的数据分别存储到对应的文件中。
6.在一个或多个实施例中,所述以所述存储对象的物理地址命名对应的文件,包括:以每个所述block的物理地址命名对应的文件;对每个文件中的数据按照所述block中的page进行分区,并以所述page的物理地址为每个所述分区建立索引。
7.在一个或多个实施例中,所述以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中,包括:以对ssd进行数据读或写的最小单位page为存储对象而创建文件;将ssd的每个page中的数据分别存储到对应的文件中。
8.在一个或多个实施例中,所述以所述存储对象的物理地址命名对应的文件,包括:以每个所述page的物理地址命名对应的文件;以所述page所属的block将对应的多个文件存储在同一文件夹下,并以所述bolck的物理地址命名所述文件夹。
9.在一个或多个实施例中,所述根据所述文件中存储的数据的属性而选择性的进行
文件压缩,包括:当所述文件中存储的数据为用户数据时,对所述文件进行压缩;当所述文件中存储的数据为系统数据时,不对所述文件进行压缩。
10.在一个或多个实施例中,所述ssd仿真数据由仿真平台生成或读取指定存储器中的数据。在一个或多个实施例中,所述一种ssd仿真数据的存储方法还包括:将创建的所述文件存储到ssd仿真平台本地的固态硬盘和/或机械硬盘中。
11.在本发明的第二方面,提出了一种ssd仿真平台,包括:一个或多个处理器;以及存储器,所述存储器中存储有可执行的计算机程序,所述计算机程序被所述一个或多个处理器执行时用于以下述方法获取仿真数据,方法包括:
12.以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中;以所述存储对象的物理地址命名对应的文件;根据所述文件中存储的数据的属性而选择性的进行文件压缩。
13.在一个或多个实施例中,所述以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中,包括:以对ssd进行数据擦除的最小单位block为存储对象而创建文件;将ssd的每个block中的数据分别存储到对应的文件中。
14.在一个或多个实施例中,所述以所述存储对象的物理地址命名对应的文件,包括:以每个所述block的物理地址命名对应的文件;对每个文件中的数据按照所述block中的page进行分区,并以所述page的物理地址为每个所述分区建立索引。
15.在一个或多个实施例中,所述以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中,包括:以对ssd进行数据读或写的最小单位page为存储对象而创建文件;将ssd的每个page中的数据分别存储到对应的文件中。
16.在一个或多个实施例中,所述以所述存储对象的物理地址命名对应的文件,包括:以每个所述page的物理地址命名对应的文件;以所述page所属的block将对应的多个文件存储在同一文件夹下,并以所述bolck的物理地址命名所述文件夹。
17.在一个或多个实施例中,所述根据所述文件中存储的数据的属性而选择性的进行文件压缩,包括:当所述文件中存储的数据为用户数据时,对所述文件进行压缩;当所述文件中存储的数据为系统数据时,不对所述文件进行压缩。
18.在一个或多个实施例中,所述ssd仿真数据由仿真平台生成或读取指定存储器中的数据。
19.在一个或多个实施例中,所述一种ssd仿真数据的存储方法还包括:将创建的所述文件存储到ssd仿真平台本地的固态硬盘和/或机械硬盘中。
20.在本发明的第三方面,提出了一种可读存储介质,包括:可执行的计算机程序,所述计算机程序被执行时用于以下述方法获取仿真数据,方法包括:以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中;以所述存储对象的物理地址命名对应的文件;根据所述文件中存储的数据的属性而选择性的进行文件压缩。
21.在一个或多个实施例中,所述以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中,包括:以对ssd进行数据擦除的最小单位block为存储对象而创建文件;将ssd的每个block中的数据分别存储到对应的文件中。
22.在一个或多个实施例中,所述以所述存储对象的物理地址命名对应的文件,包括:
以每个所述block的物理地址命名对应的文件;对每个文件中的数据按照所述block中的page进行分区,并以所述page的物理地址为每个所述分区建立索引。
23.在一个或多个实施例中,所述以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中,包括:以对ssd进行数据读或写的最小单位page为存储对象而创建文件;将ssd的每个page中的数据分别存储到对应的文件中。
24.在一个或多个实施例中,所述以所述存储对象的物理地址命名对应的文件,包括:以每个所述page的物理地址命名对应的文件;以所述page所属的block将对应的多个文件存储在同一文件夹下,并以所述bolck的物理地址命名所述文件夹。
25.在一个或多个实施例中,所述根据所述文件中存储的数据的属性而选择性的进行文件压缩,包括:当所述文件中存储的数据为用户数据时,对所述文件进行压缩;当所述文件中存储的数据为系统数据时,不对所述文件进行压缩。
26.在一个或多个实施例中,所述ssd仿真数据由仿真平台生成或读取指定存储器中的数据。
27.在一个或多个实施例中,所述一种ssd仿真数据的存储方法还包括:将创建的所述文件存储到ssd仿真平台本地的固态硬盘和/或硬盘中。
28.本发明的有益效果包括:本发明方法通过利用文件存储的方式来存储仿真数据,并通过对各文件的特殊命名方式来模拟仿真数据在nand中的存储,从而使得存储在文件中的仿真数据不受存储介质的限制,且能够被ssd固件指令正常的访问和控制,并且还能够以文件为单位进行数据压缩,从而在ssd仿真平台本地存储更多的仿真数据。
附图说明
29.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
30.图1为本发明的一种ssd仿真数据的存储方法的工作流程;
31.图2为本发明的一种ssd仿真平台的结构示意图;
32.图3为本发明的一种可读存储介质的结构示意图。
具体实施方式
33.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
34.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
35.为了解决ssd仿真平台(一般运行在pc上)的ssd容量较小,不足以存储足够多的ssd仿真数据(后续简称为仿真数据)的问题,本发明提出了一种ssd仿真数据的存储方法。该方法通过利用文件存储的方式来存储仿真数据,并通过对各文件的特殊命名方式来模拟仿真数据在nand中的存储,从而使得存储在文件中的仿真数据不受存储介质的限制,且能
够被ssd固件指令正常的访问和控制,并且还能够以文件为单位进行数据压缩,从而在ssd仿真平台本地存储更多的仿真数据。以下将结合据图附图对本发明的方法进行更加详细的说明。
36.图1为本发明的一种ssd仿真数据的存储方法的工作流程。如图1所示本发明的ssd仿真数据的存储方法,包括:
37.步骤s1、以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中。
38.具体的,由于本发明要以文件存储来模拟仿真数据在nand中的存储,而这种模拟主要是为了使得ssd固件生成指令仍能够正常访问到对应的数据以执行包括对数据的读、写以及擦除等操作。因此,本发明需要以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中,其中,ssd仿真数据由仿真平台生成或读取指定存储器中的数据。
39.在一个优选的实施例中,本发明将以对ssd进行数据擦除的最小单位block为存储对象而创建文件;并将ssd的每个block中的数据分别存储到对应的文件中。其中,block是nand flash(即nand闪存)中最小的数据擦除单位,block中又由多个page组成,而page是对nand flash进行数据读写的最小单位。数据存储在每个page中,即本发明所需的仿真数据。
40.更进一步的,由于本实施例中是以blcok为存储对象而创建的文件的,即一个文件中存储一个block中的全部数据,因此本发明还需要在每个文件中模拟出数据在page中的存储。为此,在本发明的一个实施例中,本发明还将对每个文件中的数据按照block中的page进行分区以使得对应数据能够被ssd固件生成的指令正常访问。
41.在利用上述方式存储的仿真数据进行ssd仿真时,每当接收到数据的读写请求时,需要到指定的文件中寻找到对应的数据分区,从而在该数据分区中进行数据的读写操作;当接收到数据擦除指令时,则需要以整个文件为单位进行数据删除操作,其中,数据删除操作包括但不限于清空文件中的数据(使其成为空白文件)或者删除该文件。
42.在另一个可选的实施例中,本发明创建文件时还可以以对ssd进行数据读或写的最小单位page为存储对象而创建文件;并将ssd的每个page中的数据分别存储到对应的文件中。其中,以page为存储对象创建文件即一个文件中存储一个page中的全部数据。这种以page为存储对象创建文件的方式相比于以block为存储对象创建文件的方式,好处在于由于组成的block时的操作容易,结构清晰明了。然而缺点在于将产生大量的文件,不利于通过文件系统的查看及检索。而以block为存储对象创建文件的方式则可以大大减少文件的数量,易于后期通过文件系统的查看及检索。
43.在利用上述方式存储的仿真数据进行ssd仿真时,每当接收到数据的读写请求时,需要寻找到对应的文件从而在该文件中进行数据的读写操作;当接收到数据擦除指令时,则需要以整个文件夹为单位进行数据删除操作,其中,数据删除操作包括但不限于清空各文件中的数据(使其成为空白文件)或者删除该文件夹。
44.步骤s2、以存储对象的物理地址命名对应的文件。正如前文介绍的,本发明利用文件存储模拟nand存储的主要目的是使得ssd固件生成的指令能够正常访问到对应的数据。因此,本发明还需要对创建的文件按照创建时所参照的存储对象而命名。
45.具体的,当以block为存储对象创建文件时,需要以每个block的物理地址命名对
应的文件;并且需要对每个文件中的数据分区以对应page的物理地址为每个分区建立索引。当以page为存储对象创建文件时,需要以每个page的物理地址命名对应的文件;并且需要以page所属的block将对应的多个文件存储在同一文件夹下,并以bolck的物理地址命名文件夹。
46.通过步骤s1和步骤s2,本发明实现了利用文件存储来模拟仿真数据在nand中的存储,进而使得文件本身不受存储介质的限制,从而可以利用仿真平台本地的机械硬盘来存储上述文件,而不影响根据ssd固件生成的指令对这些文件中的数据的访问。显然,这些文件也可以存储在仿真平台本地的ssd中。由于仿真平台运行在pc上,而pc中配置的机械硬盘容量一般是其配置的固件硬盘的几倍,因而,通过步骤s1和步骤s2能够存储更多的仿真数据。然而,为了能够存储更多的仿真数据,本发明还提出的步骤s3:
47.步骤s3、根据文件中存储的数据的属性而选择性的进行文件压缩,包括:当文件中存储的数据为用户数据时,对文件进行压缩;当文件中存储的数据为系统数据时,不对文件进行压缩。其中,对文件的压缩方法可以采用本领域内常见的文件压缩方法进行压缩,本发明对此不作限制。
48.在进一步的实施例中,利用本发明的上述方法生成的文件将由运行在仿真平台上的文件管理系统来控制管理,而文件管理系统需要能够对具体的ssd固件指令进行翻译,如将指令中的逻辑地址转换为物理地址,并默认以该物理地址为文件索引来查找对应的文件。
49.在一些实施例中,在利用上述方法存储的仿真数据进行ssd仿真时,还可以实现以下技术方案及技术效果:
50.(1)本发明通过文件模拟nand,将据保持在nand中的数据存储在文件中,使仿真平台可以在每次停止前都保存结束时的状态,并在重新启动时继续上一次的运行。同时也可以设置一些专用文件用于存储指定数据,来模拟ssd上下电数据恢复等ssd等主要场景,并实现对这些场景的仿真。
51.(2)本发明根据nand的不同单元来分配划分文件,可以通过单个文件大小来判断写入数据量,同时更方便在仿真平台上查看写入数据和读出数据一致性,也更方便的通过修改文件来模拟nand的bit翻转。
52.(3)本发明通过对用户数据进行压缩实现了存储更多的仿真数据,例如可以存储完整的io过程数据,以在仿真平台验证完整io路径及各种数据流程。
53.(4)本发明支持仿真平台存储完整的ssd固件流程,不仅有助于提升ssd仿真的效率,同时可以在仿真平台实现对ssd固件的白盒测试,从代码模块上验证代码的正确性,防止代码逻辑错误,提高代码质量。
54.(5)可以将文件映射到仿真平台内存地址空间,使得仿真平台可以通过访问内存方式实现对文件数据的读写,从而大大提高对ssd固件仿真的效率,缩短开发周期。
55.在本发明的第二方方面,提出了一种ssd仿真平台。图2为本发明的一种ssd仿真平台的结构示意图。如图2所示,本发明的ssd仿真平台400包括:一个或多个处理器401;以及存储器402,存储器402中存储有可执行的计算机程序,该计算机程序被一个或多个处理器执行时用于以下述方法获取仿真数据,方法包括:步骤s1、以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中。
56.具体的,由于本发明要以文件存储来模拟仿真数据在nand中的存储,而这种模拟主要是为了使得ssd固件生成指令仍能够正常访问到对应的数据以执行包括对数据的读、写以及擦除等操作。因此,本发明需要以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中。
57.在一个优选的实施例中,本发明将以对ssd进行数据擦除的最小单位block为存储对象而创建文件;并将ssd的每个block中的数据分别存储到对应的文件中。其中,block是nand flash(即nand闪存)中最小的数据擦除单位,block中又由多个page组成,而page是对nand flash进行数据读写的最小单位。数据存储在每个page中,即本发明所需的仿真数据。
58.更进一步的,由于本实施例中是以blcok为存储对象而创建的文件的,即一个文件中存储一个block中的全部数据,因此本发明还需要在每个文件中模拟出数据在page中的存储。为此,在本发明的一个实施例中,本发明还将对每个文件中的数据按照block中的page进行分区以使得对应数据能够被ssd固件生成的指令正常访问。
59.在另一个可选的实施例中,本发明创建文件时还可以以对ssd进行数据读或写的最小单位page为存储对象而创建文件;并将ssd的每个page中的数据分别存储到对应的文件中。其中,以page为存储对象创建文件即一个文件中存储一个page中的全部数据。这种以page为存储对象创建文件的方式相比于以block为存储对象创建文件的方式,好处在于由于组成的block时的操作容易,结构清晰明了。然而缺点在于将产生大量的文件,不利于通过文件系统的查看及检索。而以block为存储对象创建文件的方式则可以大大减少文件的数量,易于后期通过文件系统的查看及检索。
60.步骤s2、以存储对象的物理地址命名对应的文件。正如前文介绍的,本发明利用文件存储模拟nand存储的主要目的是使得ssd固件生成的指令能够正常访问到对应的数据。因此,本发明还需要对创建的文件按照创建时所参照的存储对象而命名。
61.具体的,当以block为存储对象创建文件时,需要以每个block的物理地址命名对应的文件;并且需要对每个文件中的数据分区以对应page的物理地址为每个分区建立索引。当以page为存储对象创建文件时,需要以每个page的物理地址命名对应的文件;并且需要以page所属的block将对应的多个文件存储在同一文件夹下,并以bolck的物理地址命名文件夹。
62.通过步骤s1和步骤s2,本发明实现了利用文件存储来模拟仿真数据在nand中的存储,进而使得文件本身不受存储介质的限制,从而可以利用仿真平台本地的机械硬盘来存储上述文件,而不影响根据ssd固件生成的指令对这些文件中的数据的访问。显然,这些文件也可以存储在仿真平台本地的ssd中。由于仿真平台运行在pc上,而pc中配置的机械硬盘容量一般是其配置的固件硬盘的几倍,因而,通过步骤s1和步骤s2能够存储更多的仿真数据。然而,为了能够存储更多的仿真数据,本发明还提出的步骤s3:
63.步骤s3、根据文件中存储的数据的属性而选择性的进行文件压缩,包括:当文件中存储的数据为用户数据时,对文件进行压缩;当文件中存储的数据为系统数据时,不对文件进行压缩。其中,对文件的压缩方法可以采用本领域内常见的文件压缩方法进行压缩,本发明对此不作限制。
64.进一步的,本发明的ssd仿真平台将在操作系统中运行待测试的ssd固件,并且运行文件管理系统来管理上述文件。其中,文件管理系统需要能够对具体的ssd固件指令进行
翻译,如将指令中的逻辑地址转换为物理地址,并默认以该物理地址为文件索引来查找对应的文件。
65.进一步的,利用上述方法存储的仿真数据进行ssd仿真时,还可以实现以下技术方案及技术效果:
66.(1)本发明通过文件模拟nand,将据保持在nand中的数据存储在文件中,使仿真平台可以在每次停止前都保存结束时的状态,并在重新启动时继续上一次的运行。同时也可以设置一些专用文件用于存储指定数据,来模拟ssd上下电数据恢复等ssd等主要场景,并实现对这些场景的仿真。
67.(2)本发明根据nand的不同单元来分配划分文件,可以通过单个文件大小来判断写入数据量,同时更方便在仿真平台上查看写入数据和读出数据一致性,也更方便的通过修改文件来模拟nand的bit翻转。
68.(3)本发明通过对用户数据进行压缩实现了存储更多的仿真数据,例如可以存储完整的io过程数据,以在仿真平台验证完整io路径及各种数据流程。
69.(4)本发明支持仿真平台存储完整的ssd固件流程,不仅有助于提升ssd仿真的效率,同时可以在仿真平台实现对ssd固件的白盒测试,从代码模块上验证代码的正确性,防止代码逻辑错误,提高代码质量。
70.(5)可以将文件映射到仿真平台内存地址空间,使得仿真平台可以通过访问内存方式实现对文件数据的读写,从而大大提高对ssd固件仿真的效率,缩短开发周期。
71.在本发明的第三方面提出了一种可读存储介质。图3为本发明的一种可读存储介质的结构示意图。如图3所示,本发明的可读存储介质500包括:可执行的计算机程序501,计算机程序501被执行时用于通过以下方法获取仿真数据,方法包括:步骤s1、以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中。
72.具体的,由于本发明要以文件存储来模拟仿真数据在nand中的存储,而这种模拟主要是为了使得ssd固件生成指令仍能够正常访问到对应的数据以执行包括对数据的读、写以及擦除等操作。因此,本发明需要以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中。
73.在一个优选的实施例中,本发明将以对ssd进行数据擦除的最小单位block为存储对象而创建文件;并将ssd的每个block中的数据分别存储到对应的文件中。其中,block是nand flash(即nand闪存)中最小的数据擦除单位,block中又由多个page组成,而page是对nand flash进行数据读写的最小单位。数据存储在每个page中,即本发明所需的仿真数据。
74.更进一步的,由于本实施例中是以blcok为存储对象而创建的文件的,即一个文件中存储一个block中的全部数据,因此本发明还需要在每个文件中模拟出数据在page中的存储。为此,在本发明的一个实施例中,本发明还将对每个文件中的数据按照block中的page进行分区以使得对应数据能够被ssd固件生成的指令正常访问。
75.在另一个可选的实施例中,本发明创建文件时还可以以对ssd进行数据读或写的最小单位page为存储对象而创建文件;并将ssd的每个page中的数据分别存储到对应的文件中。其中,以page为存储对象创建文件即一个文件中存储一个page中的全部数据。这种以page为存储对象创建文件的方式相比于以block为存储对象创建文件的方式,好处在于由于组成的block时的操作容易,结构清晰明了。然而缺点在于将产生大量的文件,不利于通
过文件系统的查看及检索。而以block为存储对象创建文件的方式则可以大大减少文件的数量,易于后期通过文件系统的查看及检索。
76.步骤s2、以存储对象的物理地址命名对应的文件。正如前文介绍的,本发明利用文件存储模拟nand存储的主要目的是使得ssd固件生成的指令能够正常访问到对应的数据。因此,本发明还需要对创建的文件按照创建时所参照的存储对象而命名。
77.具体的,当以block为存储对象创建文件时,需要以每个block的物理地址命名对应的文件;并且需要对每个文件中的数据分区以对应page的物理地址为每个分区建立索引。当以page为存储对象创建文件时,需要以每个page的物理地址命名对应的文件;并且需要以page所属的block将对应的多个文件存储在同一文件夹下,并以bolck的物理地址命名文件夹。
78.通过步骤s1和步骤s2,本发明实现了利用文件存储来模拟仿真数据在nand中的存储,进而使得文件本身不受存储介质的限制,从而可以利用仿真平台本地的机械硬盘来存储上述文件,而不影响根据ssd固件生成的指令对这些文件中的数据的访问。显然,这些文件也可以存储在仿真平台本地的ssd中。由于仿真平台运行在pc上,而pc中配置的机械硬盘容量一般是其配置的固件硬盘的几倍,因而,通过步骤s1和步骤s2能够存储更多的仿真数据。然而,为了能够存储更多的仿真数据,本发明还提出的步骤s3:
79.步骤s3、根据文件中存储的数据的属性而选择性的进行文件压缩,包括:当文件中存储的数据为用户数据时,对文件进行压缩;当文件中存储的数据为系统数据时,不对文件进行压缩。其中,对文件的压缩方法可以采用本领域内常见的文件压缩方法进行压缩,本发明对此不作限制。
80.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
81.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
82.上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
83.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
技术特征:
1.一种ssd仿真数据的存储方法,其特征在于,所述方法包括:以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中;以所述存储对象的物理地址命名对应的文件;根据所述文件中存储的数据的属性而选择性的进行文件压缩。2.根据权利要求1所述的一种ssd仿真数据的存储方法,其特征在于,所述以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中,包括:以对ssd进行数据擦除的最小单位block为存储对象而创建文件;将ssd的每个block中的数据分别存储到对应的文件中。3.根据权利要求2所述的一种ssd仿真数据的存储方法,其特征在于,所述以所述存储对象的物理地址命名对应的文件,包括:以每个所述block的物理地址命名对应的文件;对每个文件中的数据按照所述block中的page进行分区,并以所述page的物理地址为每个所述分区建立索引。4.根据权利要求1所述的一种ssd仿真数据的存储方法,其特征在于,所述以对ssd中数据操作的最小单位为存储对象而创建文件,并将对应的ssd仿真数据存储到对应的文件中,包括:以对ssd进行数据读或写的最小单位page为存储对象而创建文件;将ssd的每个page中的数据分别存储到对应的文件中。5.根据权利要求4所述的一种ssd仿真数据的存储方法,其特征在于,所述以所述存储对象的物理地址命名对应的文件,包括:以每个所述page的物理地址命名对应的文件;以所述page所属的block将对应的多个文件存储在同一文件夹下,并以所述bolck的物理地址命名所述文件夹。6.根据权利要求1所述的一种ssd仿真数据的存储方法,其特征在于,所述根据所述文件中存储的数据的属性而选择性的进行文件压缩,包括:当所述文件中存储的数据为用户数据时,对所述文件进行压缩;当所述文件中存储的数据为系统数据时,不对所述文件进行压缩。7.根据权利要求1-6任意一项所述的一种ssd仿真数据的存储方法,其特征在于,所述ssd仿真数据由仿真平台生成或读取指定存储器中的数据。8.根据权利要求1-7任意一项所述的一种ssd仿真数据的存储方法,其特征在于,所述方法还包括:将创建的所述文件存储到ssd仿真平台本地的固态硬盘和/或机械硬盘中。9.一种ssd仿真平台,其特征在于,包括:一个或多个处理器;以及存储器,所述存储器中存储有可执行的计算机程序,所述计算机程序被所述一个或多个处理器执行时用于以上述权利要求1-8任意一项所述的一种ssd仿真数据的存储方法获取仿真数据。
10.一种可读存储介质,其特征在于,包括:可执行的计算机程序,所述计算机程序被执行时用于以上述权利要求1-8任意一项所述的一种ssd仿真数据的存储方法获取仿真数据。
技术总结
一种SSD仿真数据的存储方法、SSD仿真平台及可读存储介质,其中,方法包括:以对SSD中数据操作的最小单位为存储对象而创建文件,并将对应的SSD仿真数据存储到对应的文件中;以存储对象的物理地址命名对应的文件;根据文件中存储的数据的属性而选择性的进行文件压缩。本发明方法通过利用文件存储的方式来存储仿真数据,并通过对各文件的特殊命名方式来模拟仿真数据在nand中的存储,从而使得存储在文件中的仿真数据不受存储介质的限制,且能够被SSD固件指令正常的访问和控制,并且还能够以文件为单位进行数据压缩,从而在SSD仿真平台本地存储更多的仿真数据。存储更多的仿真数据。存储更多的仿真数据。
技术研发人员:白建 钟戟 费卫宏
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2022.12.29
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
