CN113495830A - 垃圾回收算法效率的测试分析方法及系统 - Google Patents
垃圾回收算法效率的测试分析方法及系统 Download PDFInfo
- Publication number
- CN113495830A CN113495830A CN202010254560.5A CN202010254560A CN113495830A CN 113495830 A CN113495830 A CN 113495830A CN 202010254560 A CN202010254560 A CN 202010254560A CN 113495830 A CN113495830 A CN 113495830A
- Authority
- CN
- China
- Prior art keywords
- busy
- efficiency
- read
- analyzing
- garbage collection
- 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.)
- Granted
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 109
- 238000011084 recovery Methods 0.000 title claims abstract description 40
- 238000012360 testing method Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004458 analytical method Methods 0.000 claims abstract description 15
- 230000011664 signaling Effects 0.000 claims description 14
- 238000007405 data analysis Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000013467 fragmentation Methods 0.000 abstract description 6
- 238000006062 fragmentation reaction Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 abstract description 6
- 230000000007 visual effect Effects 0.000 abstract 1
- 238000004064 recycling Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000017702 response to host Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Memory System (AREA)
Abstract
本发明涉及一种垃圾回收算法效率的测试分析方法,其包括:获取HOST端与固态存储设备之间传输的协议报文数据;根据所述协议报文数据分析得到垃圾回收算法效率性能数据。其优点是:通过对固态存储产品运行过程中的协议报文数据进行采集分析得到垃圾回收算法效率性能数据,由于垃圾算法效率性能数据是以协议报文数据为基础,因此性能分析可以达到指令级别要求,还通过对存垃圾算法效率性能数据进行性能图的绘制,实现存储产品文件碎片化的可视化分析目的。
Description
技术领域
本发明涉及存储技术领域,特别是涉及一种垃圾回收算法效率的测试分析方法及系统。
背景技术
固态存储是采用电子存储介质进行数据存储和读取的一种技术,其突破了传统机械硬盘的性能瓶颈,拥有极高的带宽和IOPS(Input/Output Per Second每秒读写次数)性能。
Standard Size SD(SD)、micro SD(TF)、embedded Multi Media Card(eMMC)、Nano Memory Card(NM)等固态存储产品广泛应用于手机、平板、相机、车载等各个领域,它们面临的一个共同挑战是如何满足越来越高的性能和稳定性需求。
使用闪存(Nand Flash)为存储载体的固态存储设备的读写过程与传统的HDD有些本质上的不同,特别是在写入方面,HDD是可以直接对存储在磁碟上的数据进行覆盖写入的,NAND存储设备并不能这样,先擦除后写入的性能使得固态存储设备多了擦除的操作,而写入单位(Page,页)与擦除单位(Block,块)的不统一又让固态存储设备不停地在各个区块之间折腾,固态存储设备用久了需要擦除的区块就会越多,性能自然也会变慢。
好在,现在的固态存储设备都支持GC(Garbage Collection,垃圾回收)算法,存储空间中存在碎片化是导致垃圾回收算法启动的一个主要因素,因此,垃圾回收算法可以确保固态存储设备里即使写入再多东西也不会轻易掉速。
现有的,对于垃圾回收算法的运作效率的测试都是使用如IO Meter、CrystalDisk Mark这类软件先填充数据,持续观测性能的变化,根据性能变化来判断垃圾回收算法的效率。然而,这种方法只能从整体层面来推断垃圾回收算法的效率,并且判断结果往往并不准确。
发明内容
基于此,有必要针对现有的无法对垃圾回收算法效率进行准确判断的问题,提供一种垃圾回收算法效率的测试分析方法及系统,可以实现对垃圾回收算法的细粒度测试,进一步的还可以对存储空间的文件碎片化进行有效分析。
一种垃圾回收算法效率的测试分析方法,其特征是:
获取HOST端与固态存储设备之间传输的协议报文数据;
根据所述协议报文数据分析得到垃圾回收算法效率性能数据。
上述的垃圾回收算法效率的测试分析方法,其中,所述的根据所述协议报文数据分析得到垃圾回收算法效率性能数据的步骤具体包括:
获取协议报文数据中读/写指令对应的忙碌开始时间、忙碌结束时间;
根据所述读/写指令对应的忙碌开始时间、忙碌结束时间得到垃圾回收算法效率性能数据。
上述的垃圾回收算法效率的测试分析方法,其中,所述的根据所述读/写指令对应的忙碌开始时间、忙碌结束时间得到垃圾回收算法效率性能数据的步骤具体包括:
根据以下计算公式得到所述读/写指令的忙碌时间:
Busy Time=Busy End-Busy Start;
式中,Busy Time表示所述读/写指令的忙碌时间,Busy End表示所述读/写指令的忙碌结束时间,Busy Start表示所述读/写指令的忙碌开始时间;
计算所有的所述读/写指令对应的忙碌时间以得到垃圾回收算法效率性能数据。
上述的垃圾回收算法效率的测试分析方法,其中,还包括:
根据所述垃圾回收算法效率性能数据绘制性能图。
上述的垃圾回收算法效率的测试分析方法,其中,所述的根据所述协议报文数据分析得到垃圾回收算法效率性能数据的步骤具体包括:
获取协议报文数据中所述读/写指令对应的忙碌信令;
对所述读/写指令对应的忙碌信令的个数进行累加计数,得到连续忙碌次数;
根据所述读/写指令对应的连续忙碌次数得到垃圾回收算法效率性能数据。
上述的垃圾回收算法效率的测试分析方法,其中,还包括:
绘制以横坐标为各所述读/写指令,纵坐标为各所述读/写指令对应的忙碌时间的趋势图。
上述的垃圾回收算法效率的测试分析方法,其中,还包括:
绘制以横坐标为各所述读/写指令,纵坐标为各所述读/写指令对应的连续忙碌次数的趋势图。
上述的垃圾回收算法效率的测试分析方法,其中:
所述的固态存储设备包括SD、TF、eMMC、NM中的任意一种。
一种垃圾回收算法效率的测试分析系统,其特征是,包括:
采集模块,用于获取HOST端与固态存储设备之间传输的协议报文数据;
分析处理模块,用于根据所述协议报文数据分析得到垃圾回收算法效率性能数据。
上述的垃圾回收算法效率的测试分析系统,其中:
所述的垃圾回收算法效率的测试分析系统还包括绘制模块,用于根据所述垃圾回收算法效率性能数据绘制性能图;
所述的采集模块包括协议分析仪或抓包工具。
上述的垃圾回收算法效率的测试分析方法及系统,通过对固态存储产品运行过程中的协议报文数据进行采集分析得到垃圾回收算法效率性能数据,由于垃圾算法效率性能数据是以协议报文数据为基础,因此性能分析可以达到指令级别要求,还通过对存垃圾算法效率性能数据进行性能图的绘制,实现存储产品文件碎片化的可视化分析目的。
附图说明
图1为本发明的垃圾回收算法效率的测试分析方法的具体流程图;
图2为本发明的垃圾回收算法效率的测试分析方法的实施例中的根据协议报文数据分析得到垃圾回收算法效率的具体方法流程图;
图3为本发明的垃圾回收算法效率的测试分析方法的实施例中的协议报文数据的示例图;
图4为本发明的垃圾回收算法效率的测试分析方法的实施例中的以横坐标为各所述读/写指令,纵坐标为各所述读/写指令对应的忙碌时间的趋势图;
图5为本发明的垃圾回收算法效率的测试分析方法的实施例中的以横坐标为各所述读/写指令,纵坐标为各所述读/写指令对应的连续忙碌次数的趋势图;
图6为本发明的垃圾回收算法效率的测试分析系统的实施例中HOST端与固态存储设备eMMC的连接结构示意图;
图7为本发明的垃圾回收算法效率的测试分析系统的连接结构示意图。
具体实施方式
为了更好地理解本发明的目的、技术方案以及技术效果,以下结合附图和实施例对本发明进行进一步的讲解说明。同时声明,以下所描述的实施例仅用于解释本发明,并不用于限定本发明。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
在使用本文中描述的“包括”、“具有”、和“包含”的情况下,除非使用了明确的限定用语,例如“仅”、“由……组成”等,否则还可以添加另一部件或方法。除非相反地提及,否则单数形式的术语可以包括复数形式,并不能理解为其数量为一个。
HOST端和组件级固态存储设备之间的通信都是由HOST端以一个指令(Command)开始发起的,存储设备在完成指令所指定的任务后,则返回一个响应(Response),所述的指令包括但不限于读指令(Read Command)、写指令(Write Command)。所述的组件级固态存储设备包括但不限于SD、TF、eMMC、NM。
垃圾回收算法通常在固态存储设备主控制器的软件层FTL(Flash TranslationLayer,闪存转换层)中实现。
如图1所示,本发明提出一种垃圾回收算法效率的测试分析方法,其包括:
S1、获取HOST端与固态存储设备之间传输的协议报文数据;垃圾回收算法是在后台运行的,可以是在HOST端出现读/写需求的时候同步运行,也可以是在固态存储设备空闲时运行,垃圾回收算法在运行时需要占用设备的大量资源,会严重影响设备的正常读写。协议报文数据的获取通常指在固态存储设备2运行时所进行的,协议报文数据的获取时间可以根据需要来选择;协议报文数据通常是由一条条指令(Command)和响应(Response)这样的记录组成,每条记录都有对应的时间戳以及一些相关信息。
S2、根据协议报文数据分析得到垃圾回收算法效率性能数据。
本发明通过对固态存储产品运行过程中的协议报文数据进行采集分析得到垃圾回收算法效率性能数据,由于垃圾算法效率性能数据是以协议报文数据为基础,因此性能分析可以达到指令级别要求。
在一示例中,在步骤S2只有还可以包括:
S3、根据垃圾回收算法效率性能数据绘制性能图。通过对存垃圾算法效率性能数据进行性能图的绘制,实现存储产品文件碎片化的可视化分析目的。
在一示例中,如图2所示,步骤S2的根据协议报文数据分析得到垃圾回收算法效率性能数据的步骤具体包括:
S21、获取协议报文数据中读/写指令对应的忙碌开始时间、忙碌结束时间;值得注意的是,垃圾回收算法在运行时,最直观的感觉就是存储读/写变慢,掉速严重。从协议层面的数据信息来看,对应的就是读/写指令一直返回忙碌(Busy)状态。因此,虽然协议报文数据中通常包含很多信息,我们获取其中与垃圾回收算法效率性能有直接关联的读指令和写指令的相关信息,当然,在一些示例中也可以只获取读指令及其相关信息或者只获取写指令及其相关信息,以分别仅对读取时候或者写入时候的垃圾回收算法效率进行评估分析也是可以的;
S22、根据读/写指令对应的忙碌开始时间、忙碌结束时间得到垃圾回收算法效率性能数据。
在一示例中,步骤S22的根据读/写指令对应的忙碌开始时间、忙碌结束时间得到垃圾回收算法效率性能数据的步骤具体包括:
根据以下计算公式得到读/写指令的忙碌时间:
Busy Time=Busy End-Busy Start;
式中,Busy Time表示读/写指令的忙碌时间,Busy End表示读/写指令的忙碌结束时间,Busy Start表示读/写指令的忙碌开始时间;
计算所有的读/写指令对应的忙碌时间以得到垃圾回收算法效率性能数据。
当然,在另一些示例中也可以只获取所有读指令对应的忙碌时间或者只获取所有写指令对应的忙碌时间,以分别仅对读取时候或者写入时候的垃圾回收算法效率进行评估分析,在此不做限制。
可以看出,由于采集分析的是协议报文数据中的一条条指令,因此可以达到指令级别的细粒度性能分析要求。
有时,垃圾回收算法运行时还会出现连续的忙碌时间的情况,在一示例中,步骤S22的根据所述协议报文数据分析得到垃圾回收算法效率性能数据的步骤具体包括:
获取协议报文数据中读/写指令对应的忙碌信令;
对读/写指令对应的忙碌信令的个数进行累加计数,得到连续忙碌次数(BusyCount);
根据读/写指令对应的连续忙碌次数得到垃圾回收算法效率性能数据。
在一示例中,所述的步骤S3可以包括:
S3a、绘制以横坐标为各读/写指令,纵坐标为各读/写指令对应的忙碌时间的趋势图。以便更直观方便的分析垃圾回收算法的效率,并能有效反映出垃圾回收算法的效率以及文件碎片化的问题。
在另一示例中,所述的步骤S3可以包括:
S3b、绘制以横坐标为各读/写指令,纵坐标为各读/写指令对应的连续忙碌次数的趋势图。以便直观的看出垃圾回收算法的运行规律及效率。
如图7所示,本发明还提出一种垃圾回收算法效率的测试分析系统,其包括:
采集模块3,用于获取HOST端1与固态存储设备2之间传输的协议报文数据;所述的采集模块3包括协议分析仪或或其它支持指定协议分析的抓包工具。
分析处理模块4,用于根据协议报文数据分析得到垃圾回收算法效率性能数据;具体的,在一示例中,可以获取协议报文数据中所述读/写指令对应的忙碌信令;对读/写指令对应的忙碌信令的个数进行累加计数,得到连续忙碌次数;根据读/写指令对应的连续忙碌次数得到垃圾回收算法效率性能数据。在另一示例中,可以获取协议报文数据中读/写指令对应的忙碌开始时间、忙碌结束时间,根据读/写指令对应的忙碌开始时间、忙碌结束时间得到垃圾回收算法效率性能数据。
绘制模块5,用于根据垃圾回收算法效率性能数据绘制性能图;具体的,在一示例中,可以绘制以横坐标为各所述读/写指令,纵坐标为各所述读/写指令对应的忙碌时间的趋势图;在另一示例中,可以绘制以横坐标为各所述读/写指令,纵坐标为各所述读/写指令对应的连续忙碌次数的趋势图。
接下来,将结合图3~7,以固态存储设备2为eMMC21为例,进一步说明本发明的工作原理:
如图6所示,通常HOST端1与eMMC21间存在CLK、CMD、DAT0-7、Data Strobe四大信号的传输,其中,CLK信号用于从Host端1输出时钟信号,进行数据传输的同步和设备运作的驱动,CMD信号主要用于Host端1向eMMC21发送指令和eMMC21向Host端1发送对应的响应,DAT0-7信号主要用于Host端1和eMMC21之间的数据传输,Data Strobe时钟信号由eMMC21发送给Host,频率与CLK信号相同,用于Host端1进行数据接收的同步。Host端1与eMMC21之间的通信都是由Host端以一个指令开始发起的,eMMC21在完成指令所指定的任务后,则返回一个响应。
当eMMC21其收到Host端1传输的区块(Block)数据后的处理流程是:当eMMC21在接收到一个区块的数据后,会进行CRC校验,然后将校验结果通过CRC Token发送给Host端1。发送完CRC Token后,如果CRC校验成功,eMMC21会将数据写入到内部存储器,此时DAT0信号会拉低,作为忙碌(Busy)信号。Host端1会持续检测DAT0信号,直到为高电平时,才会接着发送下一个区块的数据。如果CRC校验失败,那么eMMC21不会进行数据写入,此次传输后续的数据都会被忽略。
本实施例的垃圾回收算法的测试分析方法包括以下步骤:
在eMMC21使用期间,通过协议分析仪3获取HOST端1与eMMC21之间传输的协议报文数据;将获取的协议报文数据存在LOG文件,本实施例中,得到的LOG文件(作为示例只截取部分数据)如图3所示,其协议报文数据中,通常有读数据的指令CMD17(从指定的地址开始,读取一个区块(Block)的数据),CMD18(从指定的地址开始,读取多个区块(MultipleBlock)的数据);写数据的指令有CMD24(写入一个区块(Block)的数据),CMD25(写入多个(Multiple Block)的数据)。
当固态存储设备中空闲的区块不够时,通常也会启动垃圾回收算法来做空间的管理,例如,选取出特定区块来清空,被选取的区块通常会加入到一个称之为“脏队列”的数据结构中。当主控后台运行垃圾回收算法搬移数据时,主要执行以下三个功能:1、根据算法从脏队列中选出需要擦除的块;2、将此区块的有效内容搬到另一个区块;3、将前一个区块擦除。当运行垃圾回收算法搬移数据时存储设备内部数据处理较慢,DAT0就会一直是忙碌(Busy)状态,可能出现数据传输超时的情况。
因此,在一个具体实施例中,获取协议报文数据中每一条写指令(CMD24,CMD25)以及每一条读指令(CMD17,CMD18)对应的忙碌开始时间,忙碌结束时间;当然,在另一些示例中,还可以是只获取部分或所有读指令(CMD17,CMD18)对应的相关数据,在还有一些示例中,也可以只获取部分或所有写指令(CMD24,CMD25)对应的相关数据,本实施例中,以获取所有读/写指令对应的忙碌开始时间,忙碌结束时间为例。
根据以下计算公式得到每一条读指令以及写指令的忙碌时间:
Busy Time=Busy End-Busy Start;
式中,Busy Time表示读/写指令的忙碌时间,Busy End表示读/写指令的忙碌结束时间,Busy Start表示读/写指令的忙碌开始时间;
计算所有的读/写指令对应的忙碌时间以得到垃圾回收算法效率性能数据。
如图4所示,绘制以横坐标为所有读指令以及写指令的ID号,纵坐标为各读指令以及写指令对应的忙碌时间的趋势图。从图4中可以观察到忙碌时间的持续时间越短说明垃圾回收算法效率越高。
由于eMMC21在开始进行写入操作时,会先将接收到的数据存储在内部缓冲区(Buffer)中,然后在后台将缓冲区中的数据写入到eMMC21中。当缓冲区满或eMMC21完成数据接收后,就会进入到编程状态(Programming State),将内部缓冲区中剩余未写入的数据写入到eMMC21中。在该工作状态(state)下,eMMC21会持续将DAT0拉低,作为忙碌(Busy)信号。垃圾回收算法涉及到擦除区块(Block Erase)和写入页(Page Program),其在后台运行时eMMC21会发送多个连续的忙碌信令,同时读/写指令的IO性能也会出现明显下降。
因此,在另一个具体实施例中,获取协议报文数据中每一条写指令(CMD24,CMD25)以及每一条读指令(CMD17,CMD18)对应的忙碌信令,对读/写指令对应的忙碌信令的个数进行累加计数,得到连续忙碌次数;根据读/写指令对应的连续忙碌次数得到垃圾回收算法效率性能数据。当然,在另一些示例中,还可以是只获取部分或所有读指令(CMD17,CMD18)对应的相关数据,在还有一些示例中,也可以只获取部分或所有写指令(CMD24,CMD25)对应的相关数据,本实施例中,以获取所有读/写指令对应的忙碌信令为例。
如图6所示,绘制以横坐标为有读指令以及写指令的ID号,纵坐标为各读指令以及写指令对应的连续忙碌次数的趋势图。如图6可以看出,大部分的读/写指令返回一次忙碌信令,间隔有返回3次忙碌信令的情况。读/写指令返回的连续忙碌信令次数越少说明垃圾回收算法效率越高。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static RandomAccess Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
应该理解的是,虽然各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种垃圾回收算法效率的测试分析方法,其特征在于:
获取HOST端与固态存储设备之间传输的协议报文数据;
根据所述协议报文数据分析得到垃圾回收算法效率性能数据。
2.如权利要求1所述的垃圾回收算法效率的测试分析方法,其特征在于,所述的根据所述协议报文数据分析得到垃圾回收算法效率性能数据的步骤具体包括:
获取协议报文数据中读/写指令对应的忙碌开始时间、忙碌结束时间;
根据所述读/写指令对应的忙碌开始时间、忙碌结束时间得到垃圾回收算法效率性能数据。
3.如权利要求2所述的垃圾回收算法效率的测试分析方法,其特征在于,所述的根据所述读/写指令对应的忙碌开始时间、忙碌结束时间得到垃圾回收算法效率性能数据的步骤具体包括:
根据以下计算公式得到所述读/写指令的忙碌时间:
Busy Time=Busy End-Busy Start;
式中,Busy Time表示所述读/写指令的忙碌时间,Busy End表示所述读/写指令的忙碌结束时间,Busy Start表示所述读/写指令的忙碌开始时间;
计算所有的所述读/写指令对应的忙碌时间以得到垃圾回收算法效率性能数据。
4.如权利要求1所述的垃圾回收算法效率的测试分析方法,其特征在于,还包括:
根据所述垃圾回收算法效率性能数据绘制性能图。
5.如权利要求1所述的垃圾回收算法效率的测试分析方法,其特征在于,所述的根据所述协议报文数据分析得到垃圾回收算法效率性能数据的步骤具体包括:
获取协议报文数据中所述读/写指令对应的忙碌信令;
对所述读/写指令对应的忙碌信令的个数进行累加计数,得到连续忙碌次数;
根据所述读/写指令对应的连续忙碌次数得到垃圾回收算法效率性能数据。
6.如权利要求3所述的垃圾回收算法效率的测试分析方法,其特征在于,还包括:
绘制以横坐标为各所述读/写指令,纵坐标为各所述读/写指令对应的忙碌时间的趋势图。
7.如权利要求5所述的垃圾回收算法效率的测试分析方法,其特征在于,还包括:
绘制以横坐标为各所述读/写指令,纵坐标为各所述读/写指令对应的连续忙碌次数的趋势图。
8.如权利要求1所述的垃圾回收算法效率的测试分析方法,其特征在于:
所述的固态存储设备包括SD、TF、eMMC、NM中的任意一种。
9.一种垃圾回收算法效率的测试分析系统,其特征在于,包括:
采集模块,用于获取HOST端与固态存储设备之间传输的协议报文数据;
分析处理模块,用于根据所述协议报文数据分析得到垃圾回收算法效率性能数据。
10.如权利要求9所述的垃圾回收算法效率的测试分析系统,其特征在于:
所述的垃圾回收算法效率的测试分析系统还包括绘制模块,用于根据所述垃圾回收算法效率性能数据绘制性能图;
所述的采集模块包括协议分析仪或抓包工具。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010254560.5A CN113495830B (zh) | 2020-04-02 | 2020-04-02 | 垃圾回收算法效率的测试分析方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010254560.5A CN113495830B (zh) | 2020-04-02 | 2020-04-02 | 垃圾回收算法效率的测试分析方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113495830A true CN113495830A (zh) | 2021-10-12 |
CN113495830B CN113495830B (zh) | 2024-08-06 |
Family
ID=77993922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010254560.5A Active CN113495830B (zh) | 2020-04-02 | 2020-04-02 | 垃圾回收算法效率的测试分析方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113495830B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411993A (zh) * | 2011-11-24 | 2012-04-11 | 曙光信息产业股份有限公司 | 固态硬盘的测试方法和装置 |
CN106527971A (zh) * | 2016-10-08 | 2017-03-22 | 华中科技大学 | 一种提升ssd在垃圾回收器件期间读性能的方法 |
CN109448778A (zh) * | 2018-11-06 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种固态硬盘性能测试方法、系统、装置及可读存储介质 |
CN109828896A (zh) * | 2019-01-18 | 2019-05-31 | 广东工业大学 | 一种固态硬盘ftl算法性能的测试方法 |
US20190278515A1 (en) * | 2018-03-09 | 2019-09-12 | Toshiba Memory Corporation | Managing internal command queues in solid state storage drives |
CN110347612A (zh) * | 2019-06-04 | 2019-10-18 | 华南理工大学 | 一种适用于固态盘的动态调整垃圾回收方法 |
CN110399312A (zh) * | 2019-07-30 | 2019-11-01 | 深圳大普微电子科技有限公司 | 提高固态硬盘读性能的方法、固态硬盘及存储介质 |
CN110515552A (zh) * | 2019-08-22 | 2019-11-29 | 深圳市得一微电子有限责任公司 | 一种存储设备数据快速写入的方法及系统 |
CN113496749A (zh) * | 2020-04-02 | 2021-10-12 | 深圳星火半导体科技有限公司 | 存储性能测试分析方法及系统 |
-
2020
- 2020-04-02 CN CN202010254560.5A patent/CN113495830B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411993A (zh) * | 2011-11-24 | 2012-04-11 | 曙光信息产业股份有限公司 | 固态硬盘的测试方法和装置 |
CN106527971A (zh) * | 2016-10-08 | 2017-03-22 | 华中科技大学 | 一种提升ssd在垃圾回收器件期间读性能的方法 |
US20190278515A1 (en) * | 2018-03-09 | 2019-09-12 | Toshiba Memory Corporation | Managing internal command queues in solid state storage drives |
CN109448778A (zh) * | 2018-11-06 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种固态硬盘性能测试方法、系统、装置及可读存储介质 |
CN109828896A (zh) * | 2019-01-18 | 2019-05-31 | 广东工业大学 | 一种固态硬盘ftl算法性能的测试方法 |
CN110347612A (zh) * | 2019-06-04 | 2019-10-18 | 华南理工大学 | 一种适用于固态盘的动态调整垃圾回收方法 |
CN110399312A (zh) * | 2019-07-30 | 2019-11-01 | 深圳大普微电子科技有限公司 | 提高固态硬盘读性能的方法、固态硬盘及存储介质 |
CN110515552A (zh) * | 2019-08-22 | 2019-11-29 | 深圳市得一微电子有限责任公司 | 一种存储设备数据快速写入的方法及系统 |
CN113496749A (zh) * | 2020-04-02 | 2021-10-12 | 深圳星火半导体科技有限公司 | 存储性能测试分析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113495830B (zh) | 2024-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102567184B (zh) | 一种基于Flash的日志存储方法 | |
US7515500B2 (en) | Memory device performance enhancement through pre-erase mechanism | |
US8583854B2 (en) | Nonvolatile storage device with NCQ supported and writing method for a nonvolatile storage device | |
US8296539B2 (en) | Method and apparatus for performing wear leveling in memory | |
CN105573681A (zh) | 一种ssd盘片内部raid组建方法及系统 | |
KR20140050941A (ko) | 비휘발성 메모리 장치의 데이터 관리 방법 | |
CN102981944B (zh) | 一种基于文件系统的日志存储方法 | |
US20070168605A1 (en) | Information storage device and its control method | |
WO2023185767A1 (zh) | 慢盘检测方法、装置、电子设备及存储介质 | |
US8572307B2 (en) | Memory controller, memory card, and nonvolatile memory system | |
CN101645802B (zh) | 内容控制方法及装置 | |
CN113495830B (zh) | 垃圾回收算法效率的测试分析方法及系统 | |
CN112256203B (zh) | Flash存储器的写入方法、装置、设备、介质及系统 | |
TW202242664A (zh) | 以局部清理操作來進行垃圾回收的方法與相關控制器和儲存系統 | |
CN103176753A (zh) | 存储设备及其数据管理方法 | |
CN113496749B (zh) | 存储性能测试分析方法及系统 | |
CN111459419A (zh) | 用于flash的无感扩容方法、系统、存储介质和终端 | |
CN115469796A (zh) | 数据存储方法、装置、设备及存储介质 | |
JP4095840B2 (ja) | キャッシュメモリ管理方法 | |
US10838621B2 (en) | Method and flash memory controller capable of avoiding inefficient memory block swap or inefficient garbage collection | |
CN106021124B (zh) | 一种数据的存储方法及存储系统 | |
CN111949558B (zh) | 一种垃圾数据回收方法、装置和存储设备 | |
CN114556283B (zh) | 一种数据写入、一致性检查和读取的方法及装置 | |
CN101930406B (zh) | 非易失性存储器的写入错误管理方法、存储卡、及控制器 | |
CN112162937A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |