CN117453491B - 功耗确定方法及闪存设备 - Google Patents

功耗确定方法及闪存设备 Download PDF

Info

Publication number
CN117453491B
CN117453491B CN202311733705.XA CN202311733705A CN117453491B CN 117453491 B CN117453491 B CN 117453491B CN 202311733705 A CN202311733705 A CN 202311733705A CN 117453491 B CN117453491 B CN 117453491B
Authority
CN
China
Prior art keywords
power consumption
flash memory
memory device
read
write
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.)
Active
Application number
CN202311733705.XA
Other languages
English (en)
Other versions
CN117453491A (zh
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.)
Shenzhen Dapu Microelectronics Co Ltd
Original Assignee
Shenzhen Dapu Microelectronics 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 Shenzhen Dapu Microelectronics Co Ltd filed Critical Shenzhen Dapu Microelectronics Co Ltd
Priority to CN202311733705.XA priority Critical patent/CN117453491B/zh
Publication of CN117453491A publication Critical patent/CN117453491A/zh
Application granted granted Critical
Publication of CN117453491B publication Critical patent/CN117453491B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请实施例涉及存储设备应用领域,公开了一种功耗确定方法及闪存设备,该方法包括:基于若干个IOPS,确定闪存设备在每一个IOPS对应的第一写功耗或第一读功耗;根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算第一平均写功耗,和/或,根据若干个第一读功耗,确定单个读请求的功耗;基于第一平均写功耗与当前单位周期内的写请求的数量,计算闪存设备在当前单位周期内的写功耗,和/或,基于单个读请求的功耗与在当前单位周期内接收到的每一个读请求,计算闪存设备在当前单位周期内的读功耗。本申请能够实时计算得到闪存设备当前的读功耗和/或写功耗,并更准确地确定功耗值。

Description

功耗确定方法及闪存设备
技术领域
本申请涉及存储设备应用领域,特别是涉及一种功耗确定方法及闪存设备。
背景技术
闪存设备,例如:固态硬盘(Solid State Drives,SSD),是采用固态电子存储芯片阵列而制成的硬盘,固态硬盘包括控制单元和存储单元(FLASH存储芯片或 DRAM存储芯片)。闪存设备需要统计并显示当前的功耗,以使用户更好地了解闪存设备的运行工作状态。
目前,通常采用直接读取电源管理芯片的硬件接口的方式,获取闪存设备当前的电压值和电流值,从而计算并显示闪存设备当前的功耗。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:在读取电源管理芯片时,由于存在硬件延时,闪存设备的运行状态可能会发生改变,读取到的电压值和电流值不能反映闪存设备的实时运行状态,由此计算得到的功耗不是实时功耗。
发明内容
本申请实施例提供一种功耗确定方法及闪存设备,能够实时计算得到闪存设备当前的读功耗和/或写功耗,并更准确地确定功耗值。
本申请实施例提供以下技术方案:
第一方面,本申请实施例提供一种功耗确定方法,应用于闪存设备,该功耗确定方法包括:
基于若干个IOPS,确定闪存设备在每一个IOPS对应的第一写功耗或第一读功耗;
根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算第一平均写功耗,和/或,根据若干个第一读功耗,确定单个读请求的功耗,其中,第一平均写功耗为单个写请求的平均功耗;
基于第一平均写功耗与当前单位周期内的写请求的数量,计算闪存设备在当前单位周期内的写功耗,和/或,基于单个读请求的功耗与在当前单位周期内接收到的每一个读请求,计算闪存设备在当前单位周期内的读功耗。
在一些实施例中,闪存设备与示波器电连接,在当前单位周期内,基于若干个IOPS,确定闪存设备在每一个IOPS对应的第一写功耗,包括:
基于命令测试工具配置第一IO大小,并在不同的IOPS下对闪存设备进行全盘写入测试;
获取示波器在闪存设备每一次进行全盘写入测试时,测量得到的第一电流;
根据闪存设备的额定电压与第一电流,计算得到闪存设备在每一个IOPS对应的第一写功耗。
在一些实施例中,在当前单位周期内,基于若干个IOPS,确定闪存设备在每一个IOPS对应的第一写功耗或第一读功耗之前,方法还包括:
获取示波器在闪存设备为空闲状态时,测量得到的空闲电流;
根据闪存设备的额定电压与空闲电流,计算闪存设备的空闲功耗。
在一些实施例中,根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算第一平均写功耗,包括:
根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算得到闪存设备在每一个IOPS对应的第二写功耗,其中,第二写功耗为单个写请求的功耗;
对若干个第二写功耗取平均值,得到第一平均写功耗。
在一些实施例中,根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算得到闪存设备在每一个IOPS对应的第二写功耗,包括:
其中,为第二写功耗,/>为IOPS,/>为每一个IOPS对应的第一写功耗,/>为空闲功耗。
在一些实施例中,基于第一平均写功耗与当前单位周期内的写请求的数量,计算闪存设备在当前单位周期内的写功耗,包括:
其中,为闪存设备在当前单位周期内的写功耗,/>为第一平均写功耗,/>为当前单位周期内的写请求的数量。
在一些实施例中,在当前单位周期内,基于若干个IOPS,确定闪存设备在每一个IOPS对应的第一读功耗,包括:
基于若干个IOPS,在每一个IOPS下分别对配置为第二IO大小的闪存设备、配置为第三IO大小的闪存设备,进行读取测试,其中,第二IO大小与第三IO大小不同;
获取闪存设备在第二IO大小下,每一次进行读取测试时的第二电流,以及,闪存设备在第三IO大小下,每一次进行读取测试时的第三电流;
根据闪存设备的额定电压与第二电流,计算得到闪存设备在第二IO大小下的第一读功耗,以及,根据闪存设备的额定电压与第三电流,计算得到闪存设备在第三IO大小下的第一读功耗。
在一些实施例中,根据若干个第一读功耗,确定单个读请求的功耗,包括:
对闪存设备在第二IO大小下的若干个第一读功耗取平均值,得到第一平均读功耗;
对闪存设备在第三IO大小下的若干个第一读功耗取平均值,得到第二平均读功耗;
根据第一平均读功耗与第二平均读功耗,计算平面加载功耗与数据传输功耗;
根据平面加载功耗与数据传输功耗,确定单个读请求的功耗与平面数、单元数的线性关系。
在一些实施例中,基于单个读请求的功耗与在当前单位周期内接收到的每一个读请求,计算闪存设备在当前单位周期内的读功耗,包括:
获取当前单位周期内的每一个读请求,其中,读请求包括IO大小;
根据IO大小,确定每一个读请求对应的平面数与单元数;
将每一个读请求对应的平面数与单元数代入线性关系,得到每一个读请求的功耗;
将当前单位周期内的若干个读请求的功耗累加,得到闪存设备在当前单位周期内的读功耗。
在一些实施例中,平面加载功耗由下述公式计算得到:
其中,为平面加载功耗,/>为第一参数,/>为第一平均读功耗,/>为第二平均读功耗,/>为第二参数。
在一些实施例中,数据传输功耗由下述公式计算得到:
其中,为数据传输功耗,/>为第二平均读功耗,/>为第一平均读功耗,/>为第二参数。
在一些实施例中,单个读请求的功耗与平面数、单元数的线性关系,包括:
其中,为单个读请求的功耗,/>为平面加载功耗,/>为平面数,/>为数据传输功耗,/>为单元数。
第二方面,本申请实施例提供一种闪存设备,包括:
至少一个处理器;和
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面的功耗确定方法。
第三方面,本申请实施例还提供了一种非易失性计算机可读存储介质,非易失性计算机可读存储介质存储有计算机可执行指令,当计算机可执行指令被处理器所执行时,使处理器执行如第一方面的功耗确定方法。
本申请实施例的有益效果是:区别于现有技术的情况下,本申请实施例提供的一种功耗确定方法,应用于闪存设备,该功耗确定方法包括:基于若干个IOPS,确定闪存设备在每一个IOPS对应的第一写功耗或第一读功耗;根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算第一平均写功耗,和/或,根据若干个第一读功耗,确定单个读请求的功耗,其中,第一平均写功耗为单个写请求的平均功耗;基于第一平均写功耗与当前单位周期内的写请求的数量,计算闪存设备在当前单位周期内的写功耗,和/或,基于单个读请求的功耗与在当前单位周期内接收到的每一个读请求,计算闪存设备在当前单位周期内的读功耗。
通过分别根据闪存设备在每一个IOPS对应的第一写功耗、第一读功耗,确定第一平均写功耗、单个读请求的功耗,并基于第一平均写功耗与当前单位周期内的写请求的数量,计算闪存设备在当前单位周期内的写功耗,和/或,基于单个读请求的功耗与在当前单位周期内接收到的每一个读请求,计算闪存设备在当前单位周期内的读功耗,本申请不需要通过读取电源管理芯片确定闪存设备的功耗,而且能够实时计算得到闪存设备当前的读功耗和/或写功耗,并更准确地确定功耗值。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本申请实施例提供的一种闪存设备的结构示意图;
图2是本申请实施例提供的一种功耗确定方法的流程示意图;
图3是图2中的步骤S201的一种细化流程图;
图4是图2中的步骤S201的另一种细化流程图;
图5是图2中的步骤S202的一种细化流程图;
图6是图2中的步骤S202的另一种细化流程图;
图7是图2中的步骤S203的细化流程图;
图8是本申请实施例提供的一种下发命令获取闪存设备的功耗并显示写功耗和读功耗的流程示意图;
图9是本申请实施例提供的另一种闪存设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,如果不冲突,本申请实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。再者,本申请所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
在对本申请进行详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释:
(1)IOPS (Input/Output Per Second)表示每秒的输入输出量(即读写次数),也就是每秒钟闪存设备能处理的读写请求数量。
(2)IO大小((Input/Output Size,IO Size) 也称为输入/输出大小,表示发送的读写请求的单位大小,即闪存设备进行读写操作的数据量。
例如:IOPS为1K,IO Size为4K,表示:每秒钟下发1K个IO命令,且每个IO命令请求的数据大小是4K。
下面结合说明书附图具体说明本申请的技术方案:
请参阅图1,图1是本申请实施例提供的一种闪存设备的结构示意图;
如图1所示,闪存设备100包括连接器101、存储控制芯片102、其他外围单元103、缓存单元104和闪存介质105。
其中,连接器101,连接存储控制芯片102与主机,用于与主机通信,主机例如:计算机或者服务器;存储控制芯片102,连接连接器101、其他外围单元103、缓存单元104和闪存介质105,用于作为控制运算单元,管理闪存设备的内部系统,存储控制芯片102包括但不限于固态硬盘控制器;外围单元103,连接存储控制芯片102,包括串口、传感器、寄存器、电源芯片等部件;缓存单元104,连接存储控制芯片102,作为缓存、算法表存储单元,缓存单元104一般为动态随机存取存储器(Dynamic Random Access Memory,DRAM)。
其中,闪存介质105,作为闪存设备100的存储介质,也称作闪存、Flash、Flash存储器或Flash颗粒,作为存储单元,用于存储用户数据、系统数据等。存储控制芯片102与闪存介质105之间呈现多个通道,一个通道独立连接一个闪存介质,例如:通道0连接一个闪存介质、通道1连接一个闪存介质、……、通道x连接一个闪存介质。
由于闪存设备对功耗有着比较高的要求,为了更好地确定闪存设备的运行工作状态,闪存设备的固件算法会提供统计功耗的功能,以统计并显示闪存设备当前的功耗。
目前,通常采用直接读取闪存设备的电源管理芯片的硬件接口的方式,获取闪存设备当前的电压值和电流值,从而计算并显示闪存设备当前的功耗。
具体的,固件算法会在后台启动一个统计功耗的任务,以1秒为时间周期,读取电源管理芯片相关的硬件接口,以获取电压值和电流值,然后根据下述功耗的计算公式,计算出每秒钟的功耗并进行显示。其中,功耗的计算公式为:
其中,为闪存设备的功耗,U为闪存设备的电压,I为闪存设备的电流。
然而在实际的应用场景下,读取电源管理芯片的操作存在硬件延时。读取操作需要获取电源管理芯片的硬件寄存器中存储的电压值和电流值,而电压值和电流值并不是能够立即获取到的,需要耗费时间。在这个过程中,闪存设备的运行状态可能会发生改变,例如:闪存设备的运行状态从忙碌状态(busy态,即处理IO命令的阶段),转为空闲状态(idle态,即等待IO命令的阶段)。
这会导致读取到的电压值和电流值不能反映闪存设备的实时运行状态,由此计算得到的功耗不是实时功耗,即功耗值统计的时间点存在延时,无法保证功耗统计的实时性。而且硬件行为无法干预,硬件延时无法避免。
基于此,本申请实施例提供一种功耗确定方法,不需要通过读取电源管理芯片确定闪存设备的功耗,从而能够解决通过电源管理芯片统计的功耗不实时的问题,提高功耗统计的实时度和准确度。
请参阅图2,图2是本申请实施例提供的一种功耗确定方法的流程示意图;
其中,该功耗确定方法,应用于闪存设备,例如:应用于固态硬盘。
如图2所示,该功耗确定方法,包括:
步骤S201:基于若干个IOPS,确定闪存设备在每一个IOPS对应的第一写功耗或第一读功耗;
具体的,闪存设备在进行全盘写入测试时,基于控制变量法改变IOPS的值,确定每一个IOPS对应的第一写功耗。或者,闪存设备在进行读取测试时,基于控制变量法改变IOPS的值,确定每一个IOPS对应的第一读功耗。其中,第一写功耗为闪存设备在第一IO大小与设定的IOPS下,处理写请求的功耗。第一IO大小为闪存设备在进行全盘写入测试时的IO大小,第一IO大小可由本领域技术人员根据实际情况进行设置,在本申请实施例不做限制,示例性地,第一IO大小为96K。
第一读功耗为闪存设备在设定的IO大小与设定的IOPS下,处理读请求的功耗。第一读功耗包括闪存设备在第二IO大小与设定的IOPS下的读功耗,或者闪存设备在第三IO大小与设定的IOPS下的读功耗。其中,第二IO大小与第三IO大小为闪存设备在进行若干次读取测试时设置的IO大小,第一IO大小、第二IO大小与第三IO大小均不同,第二IO大小与第三IO大小可由本领域技术人员根据实际情况进行设置,在本申请实施例不做限制,示例性地,第二IO大小为4K,第三IO大小为16K。
请参阅图3,图3是图2中的步骤S201的一种细化流程图;
在本申请实施例中,闪存设备通信连接测试主机,测试主机包括命令测试工具,命令测试工具用于对闪存设备进行全盘写入测试或读取测试。命令测试工具包括但不限于FIO(Flexible I/O Tester),FIO是Linux下的IO测试工具,可配置IOPS、IO Size等参数。
在本申请实施例中,闪存设备与一个示波器电连接,示波器用于测量闪存设备在空闲状态时的电流、闪存设备在进行全盘写入测试时的电流或者闪存设备在进行读取测试时的电流。
如图3所示,步骤S201:基于若干个IOPS,确定闪存设备在每一个IOPS对应的第一写功耗或第一读功耗,包括:
步骤S211:基于命令测试工具配置第一IO大小,并在不同的IOPS下对闪存设备进行全盘写入测试;
具体的,闪存设备通过FIO将IO大小配置为第一IO大小,并设置IOPS的值从而进行一次全盘写入测试,然后基于控制变量法,保持第一IO大小不变,改变IOPS的值进行若干次全盘写入测试,其中,IOPS的取值以及闪存设备进行全盘写入测试的次数,可由本领域技术人员根据实际情况进行设置,在本申请实施例不做限制,示例性地,依次将IOPS设置为10K、20K、30K、40K、50K等。
以三层存储单元模式的闪存设备(Triple Level Cell Flash,TLC Flash)为例:第一IO大小为96K,闪存设备通过FIO将IO大小配置为96K,并将IOPS设置为10K进行一次全盘写入测试,然后通过FIO将IOPS设置为20K进行一次全盘写入测试,再通过FIO将IOPS设置为30K进行一次全盘写入测试。
可以理解的是,由于Nand Flash必须是字线编程(Word Line编程),在设置第一IO大小时需要考虑多平面编程与平面数(Plane Num),其中,多平面编程是指在闪存中同时对多个平面进行编程操作,平面数为闪存的平面个数。
当闪存设备为单层存储单元模式的闪存设备(Single Level Cell Flash,SLCFlash)时,一个字线只有一个闪存页,单平面页(Single Plane Page)的大小是16K,当平面数为2时,多平面页的大小为16K*2=32K,此时,第一IO大小可设置为32K;同理,当闪存设备为TLC Flash时,一个字线有三个闪存页,多平面页的大小为32K*3= 96K,此时,第一IO大小可设置为96K。可以理解的是,当平面数大于2时,需要依据具体情况计算第一IO大小。双层存储单元模式的闪存设备、四层存储单元模式的闪存设备对应的第一IO大小的计算方式与TLC Flash对应的第一IO大小的计算方式相似,在此不再赘述。
步骤S212:获取示波器在闪存设备每一次进行全盘写入测试时,测量得到的第一电流;
具体的,闪存设备获取示波器每一次测量得到的第一电流,第一电流为闪存设备在进行全盘写入测试时的电流。每一个IOPS对应一个第一电流。
步骤S213:根据闪存设备的额定电压与第一电流,计算得到闪存设备在每一个IOPS对应的第一写功耗。
具体的,第一写功耗根据下述公式计算得到:
其中,为第一写功耗,/>为闪存设备的额定电压,/>为第一电流。
其中,闪存设备的额定电压可由本领域技术人员根据实际情况进行设置,在本申请实施例不做限制,示例性地,闪存设备的额定电压为12V。每一个IOPS对应一个第一写功耗。
请参阅图4,图4是图2中的步骤S201的另一种细化流程图;
如图4所示,步骤S201:基于若干个IOPS,确定闪存设备在每一个IOPS对应的第一写功耗或第一读功耗,还包括:
步骤S214:基于若干个IOPS,在每一个IOPS下分别对配置为第二IO大小的闪存设备、配置为第三IO大小的闪存设备,进行读取测试;
具体的,闪存设备在进行读取测试时,通过FIO将IO大小配置为第二IO大小,并设置IOPS的值从而进行一次读取测试,然后基于控制变量法,保持第二IO大小不变,改变IOPS的值进行若干次读取测试。然后闪存设备通过FIO将IO大小配置为第三IO大小,并基于控制变量法,保持第三IO大小不变,根据在第二IO大小下设置的若干个IOPS的值,进行若干次读取测试,从而实现在每一个IOPS下分别对配置为第二IO大小的闪存设备、配置为第三IO大小的闪存设备,进行读取测试。
其中,第二IO大小与第三IO大小不同,第二IO大小、第三IO大小、IOPS的取值与闪存设备进行读取测试的次数,均可由本领域技术人员根据实际情况进行设置,在本申请实施例不做限制。示例性地,IOPS可被设置为10K、20K、30K、40K、50K等,优选地,第二IO大小为4K,第三IO大小为16K。
可以理解的是,闪存设备的读取操作过程可以拆分为平面加载操作(Plane Load)与数据传输操作(Data Transfer):在读取过程中,闪存设备首先会下发Plane Load的命令,将一个平面(通常是16K)的数据从NAND Flash读取到页寄存器(Page Register)中,然后再下发Data Transfer的命令,将主机需要的数据从页寄存器传输给主机。
因为FTL的映射关系一般为4K,所以对于一个16K的平面而言,平面传输出的数据最小为4K,最大为16K。所以,虽然在确定第一读功耗时需要考虑各种IO大小,但是在实际情况下主要是IO大小为4K与IO大小为16K时的功耗差异明显,因此,在本申请实施例中主要考虑这两种IO大小的情况。
步骤S215:获取闪存设备在第二IO大小下,每一次进行读取测试时的第二电流,以及,闪存设备在第三IO大小下,每一次进行读取测试时的第三电流;
具体的,闪存设备获取示波器在闪存设备每一次进行读取测试时,测量得到的第二电流或第三电流。其中,第二电流为闪存设备在第二IO大小下进行读取测试时的电流,第三电流为闪存设备在第三IO大小下进行读取测试时的电流,每一个IOPS对应一个第二电流和第三电流。
步骤S216:根据闪存设备的额定电压与第二电流,计算得到闪存设备在第二IO大小下的第一读功耗,以及,根据闪存设备的额定电压与第三电流,计算得到闪存设备在第三IO大小下的第一读功耗。
具体的,每一个IOPS对应一个第二IO大小下的第一读功耗,以及第三IO大小下的第一读功耗。第二IO大小下的第一读功耗根据下述公式计算得到:
其中,为第二IO大小下的第一读功耗,/>为闪存设备的额定电压,/>为第二电流。
第三IO大小下的第一读功耗根据下述公式计算得到:
其中,为第三IO大小下的第一读功耗,/>为闪存设备的额定电压,/>为第三电流。
在本申请实施例中,在基于若干个IOPS,确定闪存设备在每一个IOPS对应的第一写功耗或第一读功耗的步骤之前,方法还包括:获取示波器在闪存设备为空闲状态时,测量得到的空闲电流;根据闪存设备的额定电压与空闲电流,计算闪存设备的空闲功耗。
具体的,空闲电流为闪存设备处于空闲状态时的电流。选择一个适当量程的示波器,确保其能够测量闪存设备的电流,并将示波器的电流探头连接到闪存设备的电源线上,然后在示波器上选择适当的电流范围,并确保示波器的时间基准设置合适,启动闪存设备,并让闪存设备进入空闲状态,观察示波器上显示的电流波形,将其幅值作为空闲电流的值。
进一步地,闪存设备的空闲功耗根据下述公式计算得到:
其中,为闪存设备的空闲功耗,/>为闪存设备的额定电压,/>为空闲电流。
步骤S202:根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算第一平均写功耗,和/或,根据若干个第一读功耗,确定单个读请求的功耗;
具体的,闪存设备根据空闲功耗、步骤S201中的每一个IOPS及其对应的第一写功耗,计算第一平均写功耗,其中,第一平均写功耗为单个写请求的平均功耗。和/或,闪存设备根据若干个第二IO大小下的第一读功耗、若干个第三IO大小下的第一读功耗,确定单个读请求的功耗。
请参阅图5,图5是图2中的步骤S202的一种细化流程图;
如图5所示,步骤S202:根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算第一平均写功耗,和/或,根据若干个第一读功耗,确定单个读请求的功耗,包括:
步骤S221:根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算得到闪存设备在每一个IOPS对应的第二写功耗;
具体的,第二写功耗为单个写请求的功耗,闪存设备根据下述公式计算得到每一个IOPS对应的第二写功耗:
其中,为第二写功耗,/>为IOPS,/>为每一个IOPS对应的第一写功耗,/>为空闲功耗。
例如:IOPS设置为10K时,第一写功耗为,第二写功耗/>=(-/>)/10K;IOPS设置为20K时,第一写功耗为/>,第二写功耗/>=(-/>)/20K。
步骤S222:对若干个第二写功耗取平均值,得到第一平均写功耗。
具体的,第一平均写功耗为步骤S221中的若干个第二写功耗的平均值。
请参阅图6,图6是图2中的步骤S202的另一种细化流程图;
如图6所示,步骤S202:根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算第一平均写功耗,和/或,根据若干个第一读功耗,确定单个读请求的功耗,还包括:
步骤S223:对闪存设备在第二IO大小下的若干个第一读功耗取平均值,得到第一平均读功耗;
具体的,第一平均读功耗为第二IO大小下的若干个第一读功耗的平均值。
步骤S224:对闪存设备在第三IO大小下的若干个第一读功耗取平均值,得到第二平均读功耗;
具体的,第二平均读功耗为第三IO大小下的若干个第一读功耗的平均值。
步骤S225:根据第一平均读功耗与第二平均读功耗,计算平面加载功耗与数据传输功耗;
具体的,由于闪存设备的读取操作过程可以拆分为平面加载操作与数据传输操作,平面加载操作与数据传输操作会有对应的功耗,所以第一平均读功耗与第二平均读功耗均可由平面加载功耗与数据传输功耗进行表示。其中,平面加载功耗为平面加载操作对应的功耗,数据传输功耗为数据传输操作对应的功耗。
第一平均读功耗可表示为:
其中,为第一平均读功耗,/>为平面加载功耗,/>为数据传输功耗。
第二平均读功耗可表示为:
其中,为第二平均读功耗,/>为平面加载功耗,/>为第一参数。/>为第三IO大小与第二IO大小的比值,例如:第二IO大小为4K,第三IO大小为16K时,/>
对上述两个公式进行推导,可以得到平面加载功耗与数据传输功耗对应的公式,具体的:
平面加载功耗由下述公式计算得到:
其中,为平面加载功耗,/>为第一参数,/>为第一平均读功耗,/>为第二平均读功耗,/>为第二参数,/>
例如:第二IO大小为4K,第三IO大小为16K时,平面加载功耗可表示为:
数据传输功耗由下述公式计算得到:
其中,为数据传输功耗,/>为第二平均读功耗,/>为第一平均读功耗,/>为第二参数。
例如:第二IO大小为4K,第三IO大小为16K时,数据传输功耗可表示为:
步骤S226:根据平面加载功耗与数据传输功耗,确定单个读请求的功耗与平面数、单元数的线性关系。
具体的,单元数为最小单元(Au)的数目,例如:以4K为一个最小单元时,单元数表示4K的个数。单个读请求的功耗与平面数、单元数的线性关系,包括:
其中,为单个读请求的功耗,/>为平面加载功耗,/>为平面数,/>为数据传输功耗,/>为单元数。
可以理解的是,对于不同的闪存颗粒,单个读请求的功耗与平面数、单元数的线性关系会有所差异,例如:由于闪存颗粒的平面数不同,SLC颗粒的平面加载功耗较小可以忽略,因此,单个读请求的功耗与平面数、单元数的线性关系,可由本领域技术人员根据具体使用的闪存颗粒进行具体分析,分析方法与上述线性关系的推导方法类似,在此不再赘述。
相比于现有方案中的电源管理芯片的硬件数据有误差,即通过电源管理芯片获取到的电压值和电流值,与实际硬件测量出来的值存在差异,由此计算得到的功耗的数据准确性不高,本申请通过根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,推导得到单个写请求的平均功耗的计算公式,以及根据第二IO大小下的若干个第一读功耗、第三IO大小下的若干个第一读功耗,推导得到单个读请求的功耗的计算公式,能够直接计算功耗值,不需要读取硬件的值,能够更准确地得到闪存设备在当前单位周期内的写功耗、读功耗。
步骤S203:基于第一平均写功耗与当前单位周期内的写请求的数量,计算闪存设备在当前单位周期内的写功耗,和/或,基于单个读请求的功耗与在当前单位周期内接收到的每一个读请求,计算闪存设备在当前单位周期内的读功耗。
具体的,在确定第一平均写功耗之后,闪存设备根据第一平均写功耗与当前单位周期内的写请求的数量,计算当前单位周期内的写功耗。和/或,闪存设备在确定单个读请求的功耗与平面数、单元数的线性关系之后,结合当前单位周期内每一个读请求对应的平面数与单元数,从而计算当前单位周期内的读功耗。
其中,当前单位周期为闪存设备当前处于的单位周期,单位周期可由本领域技术人员根据实际情况进行设置,在本申请实施例不做限制,示例性地,单位周期为1秒。
具体的,闪存设备在当前单位周期内的写功耗,可由下述公式计算得到:
/>
其中,为闪存设备在当前单位周期内的写功耗,/>为第一平均写功耗,/>为当前单位周期内的写请求的数量。
可以理解的是,闪存设备在当前单位周期内的写功耗,为闪存设备在当前单位周期内处理的每一个写请求的功耗之和,可用下述公式进行表示:
其中,为闪存设备在当前单位周期内的写功耗,/>为闪存设备在当前单位周期内处理的第一个写请求的功耗,/>为闪存设备在当前单位周期内处理的第二个写请求的功耗,/>为闪存设备在当前单位周期内处理的第三个写请求的功耗,为闪存设备在当前单位周期内处理的第n个写请求的功耗,/>为闪存设备在当前单位周期内处理的第n+1个写请求的功耗。
由于闪存设备在接收主机发送的写请求时,每一个写请求对应的IO大小均为第一IO大小,因此,每一个写请求对应的功耗相同,闪存设备在当前单位周期内的写功耗,可以根据第一平均写功耗与当前单位周期内的写请求的数量计算得到。
请参阅图7,图7是图2中的步骤S203的细化流程图;
如图7所示,步骤S203:基于第一平均写功耗与当前单位周期内的写请求的数量,计算闪存设备在当前单位周期内的写功耗,和/或,基于单个读请求的功耗与在当前单位周期内接收到的每一个读请求,计算闪存设备在当前单位周期内的读功耗,包括:
步骤S231:获取当前单位周期内的每一个读请求;
具体的,闪存设备获取主机在当前单位周期内发送的每一个读请求,其中,读请求包括IO大小。
步骤S232:根据IO大小,确定每一个读请求对应的平面数与单元数;
具体的,每一个读请求对应的平面数可由下述公式计算得到:
其中,为平面数,/>为读请求的数据量大小,即IO大小,为每个平面的大小。/>跟介质相关,一般是固定值,比如16K。
例如:当为16K,IO大小为16K时,/>16K/16K =1;IO大小为32K时,/>=32K/16K=2;IO大小为24K,/>=24K/16K,此时,24K/16K有余数,向上取整确定/>为2。
每一个读请求对应的单元数可由下述公式计算得到:
其中,为单元数,/>为读请求的数据量大小,/>为单位大小,即一个/>的大小。
例如:当FTL最小粒度为4K时,即为4K,在/>为32K时,/>=32K/4K=8,在/>为27K时,/>= 27K/4K,此时对27K/4K向上取整,确定/>为7。
步骤S233:将每一个读请求对应的平面数与单元数代入线性关系,得到每一个读请求的功耗;
具体的,闪存设备将每一个读请求对应的平面数与单元数,代入单个读请求的功耗与平面数、单元数的线性关系中,计算得到每一个读请求的功耗。
步骤S234:将当前单位周期内的若干个读请求的功耗累加,得到闪存设备在当前单位周期内的读功耗。
具体的,闪存设备在当前单位周期内的读功耗,为闪存设备在当前单位周期内处理的每一个读请求的功耗之和,可用下述公式进行表示:
其中,为闪存设备在当前单位周期内的读功耗,/>为闪存设备在当前单位周期内处理的第一个读请求的功耗,/>为闪存设备在当前单位周期内处理的第二个读请求的功耗,/>为闪存设备在当前单位周期内处理的第三个读请求的功耗,为闪存设备在当前单位周期内处理的第n个读请求的功耗,/>为闪存设备在当前单位周期内处理的第n+1个读请求的功耗。
以闪存设备在当前单位周期内处理的第n+1个读请求的功耗为例:
其中,为第n+1个读请求的功耗,/>为平面加载功耗,/>为第n+1个读请求对应的平面数,/>为数据传输功耗,/>为第n+1个读请求对应的单元数。
由于功耗与IO存在着紧密的关系,闪存设备的功耗主要受IO工作强度的影响,如果单位时间内主机下发的IO数量越多,那么单位时间内闪存设备要做的工作和处理就越多,随之功耗也就越高。因此,在本申请实施例中,通过基于第一平均写功耗与当前单位周期内的写请求的数量,计算闪存设备在当前单位周期内的写功耗,以及,基于单个读请求的功耗与在当前单位周期内接收到的每一个读请求,计算闪存设备在当前单位周期内的读功耗,本申请能够根据读写IO与功耗的数学关系式,精准计算出每笔IO的功耗值,能够排除掉环境和硬件的不可控因素,避免硬件误差和延时问题,更精准地统计闪存设备在当前单位周期内的读写功耗。
在本申请实施例中,闪存设备与主机通信连接,方法还包括:接收主机下发的功耗显示命令,向主机返回上一个单位周期的读功耗和/或写功耗,以使主机的显示屏显示该读功耗和/或写功耗。可以理解为,主机下发功耗显示命令后,在主机的显示屏上显示功耗信息。当然,也可以通过SSD盘片日志等方式记录功耗信息。
请参阅图8,图8是本申请实施例提供的一种下发命令获取闪存设备的功耗并显示写功耗和读功耗的流程示意图;
如图8所示,下发命令获取闪存设备的功耗并显示写功耗和读功耗的流程,包括:
步骤S801:启动功耗统计任务;
具体的,闪存设备在上电后,控制后台启动功耗统计任务,以统计闪存设备在每个单位周期内的读功耗和/或写功耗。
步骤S802:判断计时器显示的时间是否大于一个单位周期;
具体的,闪存设备在启动功耗统计任务后,通过计时器进行计时,并判断计时器显示的时间是否大于预先设定的一个单位周期的时间,例如:判断计时器显示的时间是否大于1秒。
若计时器显示的时间小于或等于一个单位周期,例如:计时器显示的时间小于或等于1秒,则进入步骤S804;若计时器显示的时间大于一个单位周期,例如:计时器显示的时间大于1秒,则进入步骤S806。
步骤S803:判断是否接收到功耗显示命令;
具体的,闪存设备在上电后判断是否接收到功耗显示命令,功耗显示命令用于指示闪存设备输出并返回给主机上一个单位周期的读功耗和/或写功耗,从而通过主机的显示屏回显功耗数据。
若闪存设备接收到功耗显示命令,则进入步骤S808;若闪存设备未接收到功耗显示命令,则返回步骤S802。
步骤S804:计算每一个写请求或读请求的功耗;
具体的,每一个写请求对应的IO大小均为第一IO大小,每一个写请求的功耗均为步骤S222中的第一平均写功耗。在闪存设备接收到每一个读请求后,闪存设备将每一个读请求对应的平面数与单元数,代入单个读请求的功耗与平面数、单元数的线性关系中,计算得到每一个读请求的功耗/>,具体参考步骤S233。其中,/>为闪存设备在当前单位周期内处理的第n+1个写请求的功耗,/>为闪存设备在当前单位周期内处理的第n+1个读请求的功耗,n为非负整数。
步骤S805:统计闪存设备在当前单位周期内的写功耗和/或读功耗;
具体的,闪存设备在当前单位周期内,将每一次通过步骤S804得到的写请求的功耗进行累加,并将每次累加得到的结果存储至变量中,然后返回步骤S802,直至计时器显示的时间大于一个单位周期,此时,/>表示闪存设备在当前单位周期的总的写功耗,其中,/>表示闪存设备在当前单位周期内的实时写功耗。
和/或,闪存设备在当前单位周期内,将每一次通过步骤S804得到的读请求的功耗进行累加,并将每次累加得到的结果存储至变量中,然后返回步骤S802,直至计时器显示的时间大于一个单位周期,此时,/>表示闪存设备在当前单位周期的总的读功耗,其中,/>表示闪存设备在当前单位周期内的实时读功耗。
步骤S806:将最新统计结束的一个单位周期的写功耗与读功耗,分别保存至第一变量与第二变量中;
具体的,在计时器显示的时间大于一个单位周期时,即闪存设备从当前单位周期进入下一个单位周期,此时,将中的数据保存至第一变量/>中,并将/>中的数据保存至第二变量/>中,然后分别进入步骤S807与步骤S808。其中,第一变量/>用于保存闪存设备在上一个单位周期的写功耗,第二变量/>用于保存闪存设备在上一个单位周期的读功耗。
可以理解的是,、/>表示的是闪存设备在一个单位周期内的实时写功耗、实时读功耗,即当前单位周期内正在统计的数据,当一个单位周期结束时,/>、/>表示的是闪存设备在这个单位周期的总的写功耗、总的读功耗;/>表示的是闪存设备在一个单位周期内的总的写功耗、总的读功耗,即上一个单位周期结束统计的/>、/>的备份。
步骤S807:统计闪存设备在下一个单位周期内的写功耗和/或读功耗;
具体的,清除计时器,重新进行计时,并将、/>中的数据清零,以重新统计闪存设备在一个单位周期内的实时写功耗、实时读功耗,然后返回步骤S802。
步骤S808:显示闪存设备在上一个单位周期的写功耗和/或读功耗;
具体的,当闪存设备收到功耗显示命令,或者,闪存设备在最新统计结束的一个单位周期的写功耗与读功耗,分别被保存至第一变量与第二变量中时,由于闪存设备当前处于的单位周期并未结束,即未到一个单位周期的时长,闪存设备会返回给主机最新统计结束的一个单位周期的写功耗、读功耗,从而由主机的显示屏显示第一变量中存储的数据,以及第二变量/>中存储的数据。
在本申请实施例中,通过在计时器显示的时间小于或等于一个单位周期时,统计闪存设备在当前单位周期内的实时读功耗与实时写功耗,并在计时器显示的时间大于一个单位周期时,显示闪存设备在上一个单位周期的写功耗和/或读功耗,本申请能够在每一个单位周期,例如:1秒内重新统计写功耗与读功耗,保证功耗统计的实时性,并且能够将最新统计到的一个单位周期内的写功耗、读功耗进行实时显示。
可以理解的是,由于功耗高会造成闪存设备高耗电,也会导致盘片温度升高,从而造成盘片数据出错或者异常等一系列问题,因此闪存设备都有低功耗的需求。
相比于通过示波器进行人工测量确定功耗的方式不够便捷,以及通过直接读取电源管理芯片的方式确定功耗存在较大误差,本申请通过将闪存设备在一个单位周期内的写功耗、读功耗细分到每个IO,能够更精准地计算功耗,更接近真实的功耗值,进而能够帮助验证闪存设备的低功耗策略,或者,在实现客户的定制化内容或开发固件新的特性时,辅助验证是否会增加功耗,从而能够根据需求调整固件的策略。
在本申请实施例中,通过提供一种功耗确定方法,该功耗确定方法应用于闪存设备,该功耗确定方法包括:基于若干个IOPS,确定闪存设备在每一个IOPS对应的第一写功耗或第一读功耗;根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算第一平均写功耗,和/或,根据若干个第一读功耗,确定单个读请求的功耗,其中,第一平均写功耗为单个写请求的平均功耗;基于第一平均写功耗与当前单位周期内的写请求的数量,计算闪存设备在当前单位周期内的写功耗,和/或,基于单个读请求的功耗与在当前单位周期内接收到的每一个读请求,计算闪存设备在当前单位周期内的读功耗。
通过分别根据闪存设备在每一个IOPS对应的第一写功耗、第一读功耗,确定第一平均写功耗、单个读请求的功耗,并基于第一平均写功耗与当前单位周期内的写请求的数量,计算闪存设备在当前单位周期内的写功耗,和/或,基于单个读请求的功耗与在当前单位周期内接收到的每一个读请求,计算闪存设备在当前单位周期内的读功耗,本申请不需要通过读取电源管理芯片确定闪存设备的功耗,而且能够实时计算得到闪存设备当前的写功耗和/或读功耗,并更准确地确定功耗值。
请参阅图9,图9是本申请实施例提供的另一种闪存设备的结构示意图;
如图9所示,该闪存设备100包括一个或多个处理器106以及存储器107。其中,图9中以一个处理器106为例。
处理器106和存储器107可以通过总线或者其他方式连接,图9中以通过总线连接为例。
处理器106,用于提供计算和控制能力,以控制闪存设备100执行相应任务,例如,控制闪存设备100执行上述任一方法实施例中的功耗确定方法,包括:基于若干个IOPS,确定闪存设备在每一个IOPS对应的第一写功耗或第一读功耗;根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算第一平均写功耗,和/或,根据若干个第一读功耗,确定单个读请求的功耗,其中,第一平均写功耗为单个写请求的平均功耗;基于第一平均写功耗与当前单位周期内的写请求的数量,计算闪存设备在当前单位周期内的写功耗,和/或,基于单个读请求的功耗与在当前单位周期内接收到的每一个读请求,计算闪存设备在当前单位周期内的读功耗。
通过分别根据闪存设备在每一个IOPS对应的第一写功耗、第一读功耗,确定第一平均写功耗、单个读请求的功耗,并基于第一平均写功耗与当前单位周期内的写请求的数量,计算闪存设备在当前单位周期内的写功耗,和/或,基于单个读请求的功耗与在当前单位周期内接收到的每一个读请求,计算闪存设备在当前单位周期内的读功耗,本申请不需要通过读取电源管理芯片确定闪存设备的功耗,而且能够实时计算得到闪存设备当前的功耗,并更准确地确定功耗。
处理器106可以是通用处理器,包括中央处理器(CentralProcessingUnit,CPU)、网络处理器(NetworkProcessor,NP)、硬件芯片或者其任意组合;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器107作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本申请实施例中的功耗确定方法对应的程序指令/模块。处理器106通过运行存储在存储器107中的非暂态软件程序、指令以及模块,可以实现上述任一方法实施例中的功耗确定方法。具体地,存储器107可以包括易失性存储器(volatile memory,VM),例如随机存取存储器(random access memory, RAM);存储器107也可以包括非易失性存储器(non-volatile memory,NVM),例如只读存储器(read-onlymemory, ROM),快闪存储器(flash memory),硬盘(hard disk drive, HDD)或固态硬盘(solid-state drive, SSD)或其他非暂态固态存储器件;存储器107还可以包括上述种类的存储器的组合。
存储器107可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器107可选包括相对于处理器106远程设置的存储器,这些远程存储器可以通过网络连接至处理器106。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器107中,当被一个或者多个处理器106执行时,执行上述任意方法实施例中的功耗确定方法,例如,执行以上描述的图2所示的各个步骤。
本申请实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如上述一个或多个处理器可执行上述任意方法实施例中的功耗确定方法,例如,执行以上描述的各个步骤。
以上所描述的装置或设备实施例仅仅是示意性的,其中作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用直至得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (13)

1.一种功耗确定方法,应用于闪存设备,其特征在于,所述方法包括:
基于若干个IOPS,确定所述闪存设备在每一个IOPS对应的第一写功耗或第一读功耗;
根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算第一平均写功耗,和/或,根据若干个所述第一读功耗,确定单个读请求的功耗,其中,所述第一平均写功耗为单个写请求的平均功耗;
基于所述第一平均写功耗与当前单位周期内的写请求的数量,计算所述闪存设备在当前单位周期内的写功耗,和/或,基于所述单个读请求的功耗与在当前单位周期内接收到的每一个读请求,计算所述闪存设备在当前单位周期内的读功耗;
所述基于若干个IOPS,确定所述闪存设备在每一个IOPS对应的第一读功耗,包括:
基于若干个IOPS,在每一个IOPS下分别对配置为第二IO大小的所述闪存设备、配置为第三IO大小的所述闪存设备,进行读取测试,其中,所述第二IO大小与所述第三IO大小不同,每一个IOPS对应一个第二IO大小下的第一读功耗,以及第三IO大小下的第一读功耗;
所述根据若干个所述第一读功耗,确定单个读请求的功耗,包括:
根据第一平均读功耗与第二平均读功耗,计算平面加载功耗与数据传输功耗,其中,第一平均读功耗为第二IO大小下的若干个第一读功耗的平均值,第二平均读功耗为第三IO大小下的若干个第一读功耗的平均值;
根据所述平面加载功耗与所述数据传输功耗,确定单个读请求的功耗与平面数、单元数的线性关系;
将单个读请求对应的平面数与单元数代入所述线性关系,得到单个读请求的功耗。
2.根据权利要求1所述的方法,其特征在于,所述闪存设备与示波器电连接,所述基于若干个IOPS,确定所述闪存设备在每一个IOPS对应的第一写功耗,包括:
基于命令测试工具配置第一IO大小,并在不同的IOPS下对所述闪存设备进行全盘写入测试;
获取所述示波器在所述闪存设备每一次进行全盘写入测试时,测量得到的第一电流;
根据闪存设备的额定电压与所述第一电流,计算得到所述闪存设备在每一个IOPS对应的第一写功耗。
3.根据权利要求2所述的方法,其特征在于,
在所述基于若干个IOPS,确定所述闪存设备在每一个IOPS对应的第一写功耗或第一读功耗之前,所述方法还包括:
获取所述示波器在所述闪存设备为空闲状态时,测量得到的空闲电流;
根据闪存设备的额定电压与所述空闲电流,计算闪存设备的空闲功耗;
所述根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算第一平均写功耗,包括:
根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算得到所述闪存设备在每一个IOPS对应的第二写功耗,其中,所述第二写功耗为单个写请求的功耗;
对若干个所述第二写功耗取平均值,得到所述第一平均写功耗。
4.根据权利要求3所述的方法,其特征在于,所述根据闪存设备的空闲功耗、每一个IOPS及其对应的第一写功耗,计算得到所述闪存设备在每一个IOPS对应的第二写功耗,包括:
其中,为第二写功耗,/>为IOPS,/>为每一个IOPS对应的第一写功耗,/>为空闲功耗。
5.根据权利要求1所述的方法,其特征在于,所述基于所述第一平均写功耗与当前单位周期内的写请求的数量,计算所述闪存设备在当前单位周期内的写功耗,包括:
其中,为闪存设备在当前单位周期内的写功耗,/>为第一平均写功耗,/>为当前单位周期内的写请求的数量。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述基于若干个IOPS,确定所述闪存设备在每一个IOPS对应的第一读功耗,还包括:
获取所述闪存设备在第二IO大小下,每一次进行读取测试时的第二电流,以及,所述闪存设备在第三IO大小下,每一次进行读取测试时的第三电流;
根据闪存设备的额定电压与所述第二电流,计算得到所述闪存设备在第二IO大小下的第一读功耗,以及,根据闪存设备的额定电压与所述第三电流,计算得到所述闪存设备在第三IO大小下的第一读功耗。
7.根据权利要求1所述的方法,其特征在于,所述根据若干个所述第一读功耗,确定单个读请求的功耗,还包括:
对所述闪存设备在第二IO大小下的若干个第一读功耗取平均值,得到第一平均读功耗;
对所述闪存设备在第三IO大小下的若干个第一读功耗取平均值,得到第二平均读功耗。
8.根据权利要求1所述的方法,其特征在于,所述基于所述单个读请求的功耗与在当前单位周期内接收到的每一个读请求,计算所述闪存设备在当前单位周期内的读功耗,包括:
获取当前单位周期内的每一个读请求,其中,所述读请求包括IO大小;
根据所述IO大小,确定每一个读请求对应的平面数与单元数;
将每一个读请求对应的平面数与单元数代入所述线性关系,得到每一个读请求的功耗;
将当前单位周期内的若干个读请求的功耗累加,得到闪存设备在当前单位周期内的读功耗。
9.根据权利要求1所述的方法,其特征在于,所述平面加载功耗由下述公式计算得到:
其中,为平面加载功耗,/>为第一参数,/>为第一平均读功耗,/>为第二平均读功耗,/>为第二参数。
10.根据权利要求1所述的方法,其特征在于,所述数据传输功耗由下述公式计算得到:
其中,为数据传输功耗,/>为第二平均读功耗,/>为第一平均读功耗,/>为第二参数。
11.根据权利要求1所述的方法,其特征在于,所述单个读请求的功耗与平面数、单元数的线性关系,包括:
其中,为单个读请求的功耗,/>为平面加载功耗,/>为平面数,/>为数据传输功耗,/>为单元数。
12.一种闪存设备,其特征在于,包括:
至少一个处理器;和
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-11任一项所述的功耗确定方法。
13.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被处理器所执行时,使所述处理器执行如权利要求1-11任一项所述的功耗确定方法。
CN202311733705.XA 2023-12-18 2023-12-18 功耗确定方法及闪存设备 Active CN117453491B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311733705.XA CN117453491B (zh) 2023-12-18 2023-12-18 功耗确定方法及闪存设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311733705.XA CN117453491B (zh) 2023-12-18 2023-12-18 功耗确定方法及闪存设备

Publications (2)

Publication Number Publication Date
CN117453491A CN117453491A (zh) 2024-01-26
CN117453491B true CN117453491B (zh) 2024-05-14

Family

ID=89593205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311733705.XA Active CN117453491B (zh) 2023-12-18 2023-12-18 功耗确定方法及闪存设备

Country Status (1)

Country Link
CN (1) CN117453491B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011108031A1 (en) * 2010-03-05 2011-09-09 Hitachi, Ltd. Storage apparatus and power consumption estimation method
CN111857596A (zh) * 2020-07-23 2020-10-30 深圳忆联信息系统有限公司 Ssd低功耗实现方法、装置、计算机设备及存储介质
CN112259142A (zh) * 2020-10-29 2021-01-22 中国科学技术大学 用于自容式仪器的超低功耗的大容量数据存储方法
CN115373852A (zh) * 2022-09-01 2022-11-22 深圳大普微电子科技有限公司 基于i/o调度的功耗控制方法、固态硬盘控制器及固态硬盘
CN116185777A (zh) * 2023-02-27 2023-05-30 苏州浪潮智能科技有限公司 一种服务器功耗监测方法、装置、系统、服务器
CN116521480A (zh) * 2023-04-28 2023-08-01 苏州浪潮智能科技有限公司 功耗读取精度测试系统、方法、装置、设备和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011108031A1 (en) * 2010-03-05 2011-09-09 Hitachi, Ltd. Storage apparatus and power consumption estimation method
CN111857596A (zh) * 2020-07-23 2020-10-30 深圳忆联信息系统有限公司 Ssd低功耗实现方法、装置、计算机设备及存储介质
CN112259142A (zh) * 2020-10-29 2021-01-22 中国科学技术大学 用于自容式仪器的超低功耗的大容量数据存储方法
CN115373852A (zh) * 2022-09-01 2022-11-22 深圳大普微电子科技有限公司 基于i/o调度的功耗控制方法、固态硬盘控制器及固态硬盘
CN116185777A (zh) * 2023-02-27 2023-05-30 苏州浪潮智能科技有限公司 一种服务器功耗监测方法、装置、系统、服务器
CN116521480A (zh) * 2023-04-28 2023-08-01 苏州浪潮智能科技有限公司 功耗读取精度测试系统、方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN117453491A (zh) 2024-01-26

Similar Documents

Publication Publication Date Title
CN108133732B (zh) 闪存芯片的性能测试方法、装置、设备及存储介质
CN111145826B (zh) 一种存储器内建自测试方法、电路及计算机存储介质
US20190258561A1 (en) Real-time input/output bandwidth estimation
CN107068199B (zh) 一种ssd硬盘的性能测试方法
US10891071B2 (en) Hardware, software and algorithm to precisely predict performance of SoC when a processor and other masters access single-port memory simultaneously
WO2017045500A1 (zh) 存储阵列管理方法及装置
CN117453491B (zh) 功耗确定方法及闪存设备
CN117076337B (zh) 一种数据传输方法、装置、电子设备及可读存储介质
CN112133357B (zh) 一种eMMC的测试方法及装置
US11205496B2 (en) Apparatus and method for testing storage device in power interruptions
JP6145193B2 (ja) メモリへの読取り又は書込み
CN111028881B (zh) 一种Open Block测试装置、方法及系统
CN115206405A (zh) 固态硬盘的测试方法、测试装置及计算机可读存储介质
US20160070632A1 (en) Power profiling method, power profiling system, and processor-readable storage medium
CN110928736A (zh) 内存参数调试方法及装置
CN113568798B (zh) 服务器故障定位方法、装置、电子设备及存储介质
CN115757066A (zh) 硬盘性能测试方法、装置、设备、存储介质和程序产品
CN110109786B (zh) Smart信息测试方法、装置、计算机设备及存储介质
TWI794997B (zh) 固態硬碟裝置的除錯方法及裝置以及電腦程式產品
CN116719675B (zh) 硬盘磨损测试方法、装置及介质
CN114816888A (zh) 一种持久性内存测试评估方法、装置及存储介质
TWI402671B (zh) 一種sata介面測試系統及方法
CN117971497A (zh) 一种数据处理方法、系统、设备、服务器及介质
CN113626272A (zh) 基于mmap系统的内存读写速率测试方法、装置及系统
CN113094220A (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