CN115269468B - 状态读取指令发送方法、装置、存储设备和可读存储介质 - Google Patents
状态读取指令发送方法、装置、存储设备和可读存储介质 Download PDFInfo
- Publication number
- CN115269468B CN115269468B CN202211201105.4A CN202211201105A CN115269468B CN 115269468 B CN115269468 B CN 115269468B CN 202211201105 A CN202211201105 A CN 202211201105A CN 115269468 B CN115269468 B CN 115269468B
- Authority
- CN
- China
- Prior art keywords
- time
- delay
- instruction
- sending
- mapping table
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开提供了一种状态读取指令发送方法、装置、存储设备和可读存储介质,涉及存储技术领域。其中,状态读取指令发送方法包括:基于闪存芯片的操作单元的操作特征配置状态读取指令的延迟时间预测模型,所述状态读取指令用于读取所述闪存芯片基于接收到的操作指令的执行状态;基于所述延迟时间预测模型对所述状态读取指令的延迟发送时间进行预测;基于预测的所述延迟发送时间发送所述状态读取指令。通过本公开的技术方案,能够使状态读取指令的发送时刻尽量接近Ready信号由低电平变为高电平的时刻,一方面,有利于降低状态读取信号的发送次数,另一方面,有利于减少SSD控制器和闪存芯片之间的总线的空闲时长,从而能够提升总线的利用率。
Description
技术领域
本公开涉及存储技术领域,尤其涉及一种状态读取指令发送方法、装置、存储设备和计算机可读存储介质。
背景技术
固态硬盘(SSD,Solid State Drive)是由SSD控制器和闪存芯片阵列组成的非挥发性数据存储装置,SSD控制器通过总线向闪存芯片发送读、写、擦除以及copy back等操作指令,操作指令在芯片内部执行的过程中,闪存芯片输出的Ready/busy信号表现为低电平,为了判断指令是否完成,需要通过总线向闪存芯片发送read status指令,以根据readstatus指令的返回值判断Ready/busy信号是否为高,但是read status指令过早或过迟发送都会导致总线利用率的降低。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种状态读取指令发送方法、状态读取指令发送装置、存储设备和计算机可读存储介质,至少在一定程度上克服相关技术中read status指令的发送时间的精度较差导致的总线利用率的降低的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种状态读取指令发送方法,应用于SSD控制器,所述SSD控制器通过总线与闪存芯片连接,所述状态读取指令发送方法包括:基于所述闪存芯片的操作单元的操作特征配置状态读取指令的延迟时间预测模型,所述状态读取指令用于读取所述闪存芯片基于接收到的操作指令的执行状态;基于所述延迟时间预测模型对所述状态读取指令的延迟发送时间进行预测;基于预测的所述延迟发送时间发送所述状态读取指令。
在本公开的一个实施例中,所述基于所述闪存芯片的操作单元的操作特征配置状态读取指令的延迟时间预测模型包括:基于预设的映射表配置所述延迟时间预测模型,所述映射表基于所述操作特征以及与所述操作特征具有映射关系的调整时间配置,所述调整时间基于所述状态读取指令的就绪时间确定;所述基于所述延迟时间预测模型对所述状态读取指令的延迟发送时间进行预测包括:确定所述操作指令的目标操作单元;基于所述目标操作单元的操作特征从所述映射表中查询对应的所述调整时间;基于所述调整时间确定所述延迟发送时间。
在本公开的一个实施例中,所述操作特征包括所述目标操作单元的位置操作特征,所述基于所述目标操作单元的操作特征从所述映射表中查询对应的所述调整时间包括:若所述操作指令包括读写指令,检测所述目标操作单元对应的读写字线是否位于指定字线;若所述读写字线位于所述指定字线,则确定所述指定字线对应的第一位置操作特征,并从所述映射表中查询与所述第一位置操作特征对应的第一调整时间;若所述操作指令包括擦除指令,检测所述目标操作单元对应的擦除块是否为指定位置块;若所述擦除块为所述指定位置块,则确定所述指定位置块对应的第二位置操作特征,并从所述映射表中查询与所述第二位置操作特征对应的第二调整时间。
在本公开的一个实施例中,所述操作特征包括所述操作单元的编程擦除周期P/E,所述基于所述目标操作单元的操作特征从所述映射表中查询对应的所述调整时间包括:确定所述目标操作单元的所述P/E;从所述映射表中查询与所述P/E对应的第三调整时间。
在本公开的一个实施例中,所述操作特征包括所述操作单元的页面类型,所述基于所述目标操作单元的操作特征从所述映射表中查询对应的所述调整时间包括:识别所述目标操作单元的所述页面类型;若识别出所述页面类型为高页面,从所述映射表中查询所述高页面对应的第四调整时间;若识别出所述页面类型为低页面,从所述映射表中查询所述低页面对应的第五调整时间。
在本公开的一个实施例中,还包括:基于工况温度配置所述延迟时间预测模型;所述基于所述调整时间确定所述延迟发送时间包括:检测所述闪存芯片的工况温度;基于所述工况温度的变化速度和所述延迟时间预测模型确定参照发送时间;对所述参照发送时间基于所述调整时间进行延迟调整,得到所述延迟发送时间。
在本公开的一个实施例中,所述基于所述工况温度的变化速度和所述延迟时间预测模型确定参照发送时间包括:若基于所述延迟时间预测模型检测到所述工况温度的变化速度小于或等于速度阈值,则将预置的发送时间确定为所述参照发送时间;若检测到所述工况温度的变化速度大于所述速度阈值,则获取同类型操作指令的多个延迟发送历史时间;将所述多个延迟发送历史时间的均值确定为所述参照发送时间。
在本公开的一个实施例中,所述对所述参照发送时间基于所述调整时间进行延迟调整,得到所述延迟发送时间包括:对所述参照发送时间基于所述调整时间进行延迟调整,得到第一延迟时间;基于同类型操作指令的多个延迟发送历史时间的均值确定第二延迟时间;基于所述第一延迟时间和所述第二延迟时间的均值确定所述延迟发送时间。
在本公开的一个实施例中,还包括:检测所述闪存芯片中每个所述操作单元执行所述操作指令的就绪时间,基于所述就绪时间配置所述映射表。
在本公开的一个实施例中,所述基于所述延迟时间预测模型对所述状态读取指令的延迟发送时间进行预测:基于同类型操作指令的多个延迟发送历史时间的均值确定所述延迟发送时间。
根据本公开的另一个方面,提供一种状态读取指令发送装置,应用于SSD控制器,所述SSD控制器通过总线与闪存芯片连接,所述状态读取指令发送装置包括:配置模块,用于基于所述闪存芯片的操作单元的操作特征配置状态读取指令的延迟时间预测模型,所述状态读取指令用于读取所述闪存芯片基于接收到的操作指令的执行状态;预测模块,用于基于所述延迟时间预测模型对所述状态读取指令的延迟发送时间进行预测;发送模块,用于基于预测的所述延迟发送时间发送所述状态读取指令。
根据本公开的再一个方面,提供一种存储设备,包括:处理器;以及存储器,用于存储处理器的可操作指令;其中,处理器配置为经由执行可操作指令来执行上述任意一项的状态读取指令发送方法。
根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一项的状态读取指令发送方法。
本公开的实施例所提供的状态读取指令发送方案,通过设置延迟时间预测模型,能够基于操作指令对应的操作单元的操作特征动态配置状态读取指令的延迟发送时间,以读取操作指令的执行状态,与使用经验的参照发送时间相比,能够使状态读取指令的发送时刻尽量接近Ready信号由低电平变为高电平的时刻,一方面,有利于降低状态读取信号的发送次数,另一方面,有利于减少SSD控制器和闪存芯片之间的总线的空闲时长,从而能够提升总线的利用率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开实施例中一种存储设备的示意图;
图2示出本公开实施例中一种状态读取指令发送方法的流程图;
图3示出本公开实施例中一种Ready信号的时序图;
图4示出本公开实施例中另一种状态读取指令发送方法的流程图;
图5示出本公开实施例中再一种状态读取指令发送方法的流程图;
图6示出本公开实施例中又一种状态读取指令发送方法的流程图;
图7示出本公开实施例中一种状态读取指令发送装置的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
为了便于理解,下面首先对本申请涉及到的几个名词进行解释。
Word line(WL,字线):用于将一定数量(2的n次方)的存储单元的控制端连接起来。当wordline上为H时,存储单元打开,此时BL上就可以读或者写数据到存储单元了。
Page:Cell是闪存的最小工作单位,执行数据存储的任务。每个Page又是由大量的Cell单元构成,每个Page的大小通常是16KB,Page是闪存当中能够读取和写入的最小单位。
Block:每个Block都是由数百乃是数千个Page页组成的。nand的最小擦除单元是Block。
本申请实施例提供的方案涉及存储等技术,具体通过如下实施例进行说明。
图1示出了根据本公开实施例的存储设备的示意性框图。存储设备包括SSD控制器120、主机接口130、闪存芯片140和总线150,存储设备通过主机接口130与主机110通信,以传输指令。
闪存芯片140具体为NAND芯片,NAND芯片通过总线150和SSD控制器120相连,SSD控制器120包括阵列卡、CPU以及内存等计算和管理单元,用于对数据的调度和计算,另外还包括SSD固件。
总线150的通信协议分为onfl和toggle两种,以保证SSD厂商设计时的通用性。
相关技术中,SSD控制器120通过总线150向闪存芯片140发送读、写、擦以及copyback等操作指令,上述操作指令受闪存芯片电路随机性、字线(word line,WL)位置,编程擦除周期(program/erase cycle,P/E),工况温度等因素的影响,导致就绪信号READY存在波动,因此如果按照芯片手册中会提供的busy时间,存在过早发送状态读取指令readstatus,或过迟发送状态读取指令read status的现象,而这两种现象都会导致降低总线利用率。
下面,将结合附图及实施例对本示例实施方式中的状态读取指令发送方法的各个步骤进行更详细的说明。
图2示出本公开实施例中一种状态读取指令发送方法流程图。本公开实施例提供的方法可以由任意具备计算处理能力的存储设备执行。
如图2所示,SSD控制器执行状态读取指令发送方法,包括以下步骤:
步骤S202,基于闪存芯片的操作单元的操作特征配置状态读取指令的延迟时间预测模型,状态读取指令用于读取闪存芯片基于接收到的操作指令的执行状态。
其中,操作单元可以为一个存储单元、一个块block、一个页page、一条字线或一条位线等。
另外,延迟时间预测模型用于预测合适发送读取操作指令的执行状态的读取指令。
闪存芯片的操作指令包括但不限于读、写、擦除以及copy back等。
步骤S204,基于延迟时间预测模型对状态读取指令的延迟发送时间进行预测。
步骤S206,基于预测的延迟发送时间发送状态读取指令。
闪存芯片包括引脚R/B引脚,R/B引脚用于输出Ready/Busy信号,Ready/Busy信号用于指示目标态,即闪存芯片的操作指令的执行状态,当处于低电平时,标识闪存芯片有操作正在进行,而状态读取指令即用于读取这个电平状态。
状态读取指令通过读取闪存芯片的状态寄存器NFSTAT来获取Ready/Busy信号。不同的操作指令对应的操作单元也不同,例如对于擦除指令,最小擦除单位一个block,而一个block包括多个page,多个page具体为16的倍数,而一个page是读写的最小寻址单位,另外,读指令和写指令的操作通常通过字线WL来控制,操作特征结合则可以理解为和读、写、擦除等操作的类型和操作单元的类型确定的特征数据。
另外,闪存芯片还包括引脚DQ<7:0>,用于输入/输出数据。
在该实施例中,通过设置延迟时间预测模型,能够基于操作指令对应的操作单元的操作特征动态配置状态读取指令的延迟发送时间,以读取操作指令的执行状态,与使用经验的参照发送时间相比,能够使状态读取指令的发送时刻尽量接近Ready信号由低电平变为高电平的时刻,一方面,有利于降低状态读取信号的发送次数,另一方面,有利于减少SSD控制器和闪存芯片之间的总线的空闲时长,以及时想闪存芯片发送其它的控制指令,从而能够提升总线的利用率。
图3示出本公开实施例中一种Ready信号的时序图,基于本公开的根据延迟时间预测模型配置发送状态读取指令的延迟发送时间的方案,有利于保证延迟发送时间在Ready信号电平突变的时刻采集到Ready信号。
如图4所示,在本公开的一个实施例中,步骤S202中,基于闪存芯片的操作单元的操作特征配置状态读取指令的延迟时间预测模型的一种具体实现方式,包括:
步骤S402,基于预设的映射表配置延迟时间预测模型,映射表基于操作特征以及与操作特征具有映射关系的调整时间配置,调整时间基于状态读取指令的就绪时间确定。
在本公开的一个实施例中,作为映射表的一种配置方式:检测闪存芯片中每个操作单元执行操作指令的就绪时间,基于就绪时间配置映射表。
具体地,映射表用于记录具有映射关系的操作特征和调整时间,不同的操作特征对应不同的调整时间,以通过调整时间对延迟发送时间进行调整,从而提高延迟发送时间的精度。
步骤S204中,基于延迟时间预测模型对状态读取指令的延迟发送时间进行预测的一种具体实现方式包括:
步骤S404,确定操作指令的目标操作单元。
步骤S406,基于目标操作单元的操作特征从映射表中查询对应的调整时间。
步骤S408,基于调整时间确定延迟发送时间。
其中,通过确定调整时间,可以通过调整时间对参照发送时间进行修订,具体可以为参照发送时间的基础上增加或减去调整时间,以得到接近Ready信号从低电平到高电平的变化时刻的延迟发送时间。
在该实施例中,通过在延迟时间预测模型中配置具有映射关系的映射表,以基于操作指令的类型和操作单元的类型确定操作单元的操作特征,并进一步基于操作特征查询对应的调整时间,从而能够基于查询处的调整时间对指定的基准值进行调整,得到操作指令准确的Ready时间,以及对应的延迟发送时间,实现了对延迟发送时间的动态调整,提升了状态读取指令发送时间的准确性。
在本公开的一个实施例中,操作特征包括目标操作单元的位置操作特征,基于目标操作单元的操作特征从映射表中查询对应的调整时间的一种实现方式,包括:
若操作指令包括读写指令,检测目标操作单元对应的读写字线是否位于指定字线;若读写字线位于指定字线,则确定指定字线对应的第一位置操作特征,并从映射表中查询与第一位置操作特征对应的第一调整时间。
具体地,闪存芯片的存储矩阵包括多个字线WL,而矩阵边界处的WL的读写性能相对矩阵其它位置的WL的读写特性更差一些,因此对应需要更长的Ready时间,将这些WL配置为指定字线,并在映射表中记录对应的第一调整时间,以保证Ready时间预估的准确性。
在本公开的一个实施例中,操作特征包括目标操作单元的位置操作特征,基于目标操作单元的操作特征从映射表中查询对应的调整时间的另一种实现方式,包括:
若操作指令包括擦除指令,检测目标操作单元对应的擦除块是否为指定位置块;若擦除块为指定位置块,则确定指定位置块对应的第二位置操作特征,并从映射表中查询与第二位置操作特征对应的第二调整时间。
具体地,所有共享同一组字线的NAND字符串会一起被擦除,因此它们形成一个块block,而矩阵指定位置的块的擦除性能相对矩阵其它位置的块更差,因此将矩阵指定位置的块限定为指定块,并在映射表中记录对应的第二调整时间,以保证Ready时间预估的准确性。
在本公开的一个实施例中,操作特征包括操作单元的编程擦除周期P/E,基于目标操作单元的操作特征从映射表中查询对应的调整时间包括:确定目标操作单元的P/E;从映射表中查询与P/E对应的第三调整时间。
其中,可以预设多个P/E阈值或多个P/E区间,即确定闪存芯片的实际P/E次数与哪个阈值接近或属于哪个P/E区间,作为对应的参考P/E阈值或参考P/E区间。
具体地,由于具有不同P/E的闪存芯片,其对应的操作特征也不相同,通过设置不同的第三调整时间,保证P/E阈值与第三调整时间,或P/E区间与第三调整时间之间的对应关系,以在映射表中查询出较精确的基于P/E特性配置的第三调整时间。
在该实施例中,由于闪存芯片在不同的P/E工况下所表现出来的操作特征也不同,因此通过在映射表中设置对应的P/E值与第三调整时间,以查询出与当前的P/E值匹配的第三调整时间,实现对Ready时间基于P/E的预估。
在本公开的一个实施例中,操作特征包括操作单元的页面类型,基于目标操作单元的操作特征从映射表中查询对应的调整时间包括:
识别目标操作单元的页面类型。
若识别出页面类型为高页面,从映射表中查询高页面对应的第四调整时间。
若识别出页面类型为低页面,从映射表中查询低页面对应的第五调整时间。
其中,页为最大编程(写入)单位,逻辑页由属于同一字行的存储单元组成,每字行的页数与存储单元的存储能力有关,多比特的存储根据存储级别包括MLC存储器每个单元存储2位,TLC存储器每个单元存储3位,QLC存储器每个单元存储4位,每类存储器均包括高页面Upper page和低页面Lower page,以MLC为例,高页面Upper page的操作时间会比低页面Lower Page的操作时间长3-4倍左右,因此对应的Ready时间也不同,对高页面Upperpage和低页面Lower page分别配置对应的第四调整时间和第五调整时间。
在该实施例中,由于高页面和低页面基于同一操作指令的操作时间不同,因此对应的Ready时间也不同,通过在映射表中设置对应的高页面与第四调整时间以及对应的低页面与第五调整时间,以查询出与当前的页面匹配的调整时间,实现对Ready时间基于页面类型的预估。
如图5所示,以读取指令作为操作指令为例,结合上述的基于目标操作单元的操作特征从映射表中查询对应的调整时间的实现方式,作为状态读取指令发送方案中确定调整时间的一种具体实现方式,具体包括:
步骤S502,检测目标操作单元对应的读写字线是否位于指定字线。
步骤S504,若读写字线位于指定字线,则确定指定字线对应的第一位置操作特征,并从映射表中查询与第一位置操作特征对应的第一调整时间。
步骤S506,若读写字线没有位于指定字线,则将第一调整时间设置为0。
步骤S508,确定目标操作单元的P/E。
步骤S510,从映射表中查询与P/E对应的第三调整时间。
步骤S512,识别目标操作单元的页面类型。
步骤S514,若识别出页面类型为高页面,从映射表中查询高页面对应的第四调整时间。
步骤S516,若识别出页面类型为低页面,从映射表中查询低页面对应的第五调整时间。
步骤S518,将第一调整时间、第三调整时间和第四调整时间之和确定为总的调整时间。
步骤S520,将第一调整时间、第三调整时间和第五调整时间之和确定为总的调整时间。
如图6所示,在本公开的一个实施例中,延迟时间预测模型还基于工况温度特征进行配置生成,基于调整时间确定延迟发送时间包括:
步骤S602,检测闪存芯片的工况温度。
其中,工况温度可以为直接测量到的闪存芯片的表面温度,也可以为基于热敏电阻检测到的芯片温度。
基于工况温度的变化速度和延迟时间预测模型确定参照发送时间,具体包括:
步骤S604,若基于延迟时间预测模型检测到工况温度的变化速度小于或等于速度阈值,则将预置的发送时间确定为参照发送时间。
其中,预置的参照发送时间可以为基于芯片手册上提供Ready时间的min值、typical值和max值确定的固定延迟。
在该实施例中,若工况温度的变化速度小于或等于速度阈值,可以认为闪存芯片处于正常的工作状态,此时结合参照发送时间和调整时间即可得到较精确的延迟发送时间。
步骤S606,若检测到工况温度的变化速度大于速度阈值,则获取同类型操作指令的多个延迟发送历史时间。
步骤S608,将多个延迟发送历史时间的均值确定为参照发送时间。
在该实施例中,若工况温度的变化速度大于速度阈值,则可认为闪存芯片处于异常的工作状态,此时结合当前时刻之前的时段内同类操作指令的多个延迟发送历史时间的均值和调整时间,也可得到较精确的延迟发送时间。
步骤S610,对参照发送时间基于调整时间进行延迟调整,得到延迟发送时间。
在该实施例中,由于在不同的工况温度下闪存芯片所表现出来的性能也不相同,因此通过检测闪存芯片的工况温度,以基于检测结果确定温度的变化情况,然后确定对应的基准时间,结合得到的调整时间,即可得到准确的延迟发送时间,由于兼顾了温度变化的影响,也能够使得到的延迟发送时间的预估精度更高。
在本公开的一个实施例中,对参照发送时间基于调整时间进行延迟调整,得到延迟发送时间包括:对参照发送时间基于调整时间进行延迟调整,得到第一延迟时间;基于同类型操作指令的多个延迟发送历史时间的均值确定第二延迟时间;基于第一延迟时间和第二延迟时间的均值确定延迟发送时间。
在该实施例中,还可以结合工况温度的影响、字线位置的影响、块位置的影响、编程擦除周期P/E的影响、页面类型的影响得到第一延迟时间,基于同类操作指令的历史执行工况得到第二延迟时间,对第一延迟时间和第二延迟时间取均值,得到的延迟发送时间,能够较全面的兼顾了闪存芯片的操作单元的操作特征,从而也能够得到较准确的延迟发送时间。
在本公开的一个实施例中,步骤S204中,基于延迟时间预测模型对状态读取指令的延迟发送时间进行预测的另一种实现方式,:基于同类操作指令的多个延迟发送历史时间的均值确定延迟发送时间。
在该实施例中,作为根据延迟时间预测模型配置发送状态读取指令的延迟发送时间的另一种实现方式,也可以单纯结合操作单元的历史操作特征,即多个延迟发送历史时间的均值确定延迟发送时间。
需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本发明的这种实施方式的状态读取指令发送装置700。图7所示的状态读取指令发送装置700仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
状态读取指令发送装置700以硬件模块的形式表现。状态读取指令发送装置700的组件可以包括但不限于:配置模块702,用于基于闪存芯片的操作单元的操作特征配置状态读取指令的延迟时间预测模型,状态读取指令用于读取闪存芯片基于接收到的操作指令的执行状态;预测模块704,用于基于延迟时间预测模型对状态读取指令的延迟发送时间进行预测;发送模块706,用于基于预测的延迟发送时间发送状态读取指令。
在本公开的一个实施例中,配置模块702具体用于:基于预设的映射表配置延迟时间预测模型,映射表基于操作特征以及与操作特征具有映射关系的调整时间配置,调整时间基于状态读取指令的就绪时间确定;预测模块704包括:第一确定子模块7042,用于确定操作指令的目标操作单元;查询子模块7044,用于基于目标操作单元的操作特征从映射表中查询对应的调整时间;第二确定子模块7046,用于基于调整时间确定延迟发送时间。
在本公开的一个实施例中,操作特征包括目标操作单元的位置操作特征,查询子模块7044具体用于:若操作指令包括读写指令,检测目标操作单元对应的读写字线是否位于指定字线;若读写字线位于指定字线,则确定指定字线对应的第一位置操作特征,并从映射表中查询与第一位置操作特征对应的第一调整时间;若操作指令包括擦除指令,检测目标操作单元对应的擦除块是否为指定位置块;若擦除块为指定位置块,则确定指定位置块对应的第二位置操作特征,并从映射表中查询与第二位置操作特征对应的第二调整时间。
在本公开的一个实施例中,操作特征包括操作单元的编程擦除周期P/E,查询子模块7044具体用于:确定目标操作单元的P/E;从映射表中查询与P/E对应的第三调整时间。
在本公开的一个实施例中,操作特征包括操作单元的页面类型,查询子模块7044具体用于:识别目标操作单元的页面类型;若识别出页面类型为高页面,从映射表中查询高页面对应的第四调整时间;若识别出页面类型为低页面,从映射表中查询低页面对应的第五调整时间。
在本公开的一个实施例中,第二确定子模块7046具体用于:检测闪存芯片的工况温度;基于工况温度的变化速度和延迟时间预测模型确定参照发送时间;对参照发送时间基于调整时间进行延迟调整,得到延迟发送时间。
在本公开的一个实施例中,第二确定子模块7046具体用于:若基于延迟时间预测模型检测到工况温度的变化速度小于或等于速度阈值,则将预置的发送时间确定为参照发送时间;若检测到工况温度的变化速度大于速度阈值,则获取同类型操作指令的多个延迟发送历史时间;将多个延迟发送历史时间的均值确定为参照发送时间。
在本公开的一个实施例中,第二确定子模块7046具体用于:对参照发送时间基于调整时间进行延迟调整,得到第一延迟时间;基于同类型操作指令的多个延迟发送历史时间的均值确定第二延迟时间;基于第一延迟时间和第二延迟时间的均值确定延迟发送时间。
在本公开的一个实施例中,还包括:检测模块708,用于检测闪存芯片中每个操作单元执行操作指令的就绪时间,基于就绪时间配置映射表。
在本公开的一个实施例中,预测模块704具体还用于:基于同类型操作指令的多个延迟发送历史时间的均值确定延迟发送时间。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
根据本发明的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (9)
1.一种状态读取指令发送方法,其特征在于,应用于SSD控制器,所述SSD控制器通过总线与闪存芯片连接,所述状态读取指令发送方法包括:
基于所述闪存芯片的操作单元的操作特征配置状态读取指令的延迟时间预测模型,具体包括:
基于预设的映射表配置所述延迟时间预测模型,所述映射表基于所述操作特征以及与所述操作特征具有映射关系的调整时间配置,所述调整时间基于所述状态读取指令的就绪时间确定,所述状态读取指令用于读取所述闪存芯片基于接收到的操作指令的执行状态;
基于所述延迟时间预测模型对所述状态读取指令的延迟发送时间进行预测,具体包括:
确定所述操作指令的目标操作单元;
基于所述目标操作单元的操作特征从所述映射表中查询对应的所述调整时间;
基于所述调整时间确定所述延迟发送时间;
基于预测的所述延迟发送时间发送所述状态读取指令。
2.根据权利要求1所述的状态读取指令发送方法,其特征在于,所述操作特征包括所述目标操作单元的位置操作特征,所述基于所述目标操作单元的操作特征从所述映射表中查询对应的所述调整时间包括:
若所述操作指令包括读写指令,检测所述目标操作单元对应的读写字线是否位于指定字线;
若所述读写字线位于所述指定字线,则确定所述指定字线对应的第一位置操作特征,并从所述映射表中查询与所述第一位置操作特征对应的第一调整时间;
若所述操作指令包括擦除指令,检测所述目标操作单元对应的擦除块是否为指定位置块;
若所述擦除块为所述指定位置块,则确定所述指定位置块对应的第二位置操作特征,并从所述映射表中查询与所述第二位置操作特征对应的第二调整时间。
3.根据权利要求2所述的状态读取指令发送方法,其特征在于,所述操作特征包括所述操作单元的编程擦除周期P/E,所述基于所述目标操作单元的操作特征从所述映射表中查询对应的所述调整时间包括:
确定所述目标操作单元的所述P/E;
从所述映射表中查询与所述P/E对应的第三调整时间。
4.根据权利要求1所述的状态读取指令发送方法,其特征在于,所述操作特征包括所述操作单元的页面类型,所述基于所述目标操作单元的操作特征从所述映射表中查询对应的所述调整时间包括:
识别所述目标操作单元的所述页面类型;
若识别出所述页面类型为高页面,从所述映射表中查询所述高页面对应的第四调整时间;
若识别出所述页面类型为低页面,从所述映射表中查询所述低页面对应的第五调整时间。
5.根据权利要求1所述的状态读取指令发送方法,其特征在于,还包括:
基于工况温度配置所述延迟时间预测模型;
所述基于所述调整时间确定所述延迟发送时间包括:
检测所述闪存芯片的所述工况温度;
基于所述工况温度的变化速度和所述延迟时间预测模型确定参照发送时间;
对所述参照发送时间基于所述调整时间进行延迟调整,得到所述延迟发送时间。
6.根据权利要求5所述的状态读取指令发送方法,其特征在于,所述基于所述工况温度的变化速度和所述延迟时间预测模型确定参照发送时间包括:
若基于所述延迟时间预测模型检测到所述工况温度的变化速度小于或等于速度阈值,则将预置的发送时间确定为所述参照发送时间;
若检测到所述工况温度的变化速度大于所述速度阈值,则获取同类型操作指令的多个延迟发送历史时间;
将所述多个延迟发送历史时间的均值确定为所述参照发送时间。
7.根据权利要求5所述的状态读取指令发送方法,其特征在于,所述对所述参照发送时间基于所述调整时间进行延迟调整,得到所述延迟发送时间包括:
对所述参照发送时间基于所述调整时间进行延迟调整,得到第一延迟时间;
基于同类型操作指令的多个延迟发送历史时间的均值确定第二延迟时间;
基于所述第一延迟时间和所述第二延迟时间的均值确定所述延迟发送时间。
8.根据权利要求1至7中任一项所述的状态读取指令发送方法,其特征在于,还包括:
检测所述闪存芯片中每个所述操作单元执行所述操作指令的就绪时间,基于所述就绪时间配置所述映射表。
9.一种存储设备,其特征在于,包括:
SSD控制器;
闪存芯片,与所述SSD控制器之间通过总线连接,
其中,所述SSD控制器配置为执行权利要求1~8中任意一项所述的状态读取指令发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211201105.4A CN115269468B (zh) | 2022-09-29 | 2022-09-29 | 状态读取指令发送方法、装置、存储设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211201105.4A CN115269468B (zh) | 2022-09-29 | 2022-09-29 | 状态读取指令发送方法、装置、存储设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115269468A CN115269468A (zh) | 2022-11-01 |
CN115269468B true CN115269468B (zh) | 2023-01-24 |
Family
ID=83757818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211201105.4A Active CN115269468B (zh) | 2022-09-29 | 2022-09-29 | 状态读取指令发送方法、装置、存储设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115269468B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2811392A1 (en) * | 2012-03-30 | 2014-12-10 | Huawei Technologies Co., Ltd | Method and device for reducing read delay |
CN108932110A (zh) * | 2017-05-26 | 2018-12-04 | 希捷科技有限公司 | 用于管理存储器中数据的方法和装置 |
CN110286860A (zh) * | 2019-06-28 | 2019-09-27 | 联想(北京)有限公司 | 信息处理方法、信息处理系统和电子设备 |
CN110825325A (zh) * | 2019-10-30 | 2020-02-21 | 深圳忆联信息系统有限公司 | 基于映射表动态加载的ssd性能提升方法、装置、计算机设备及存储介质 |
CN110888592A (zh) * | 2019-05-15 | 2020-03-17 | 天津大学深圳研究院 | 基于延迟ssd系统智能并行资源利用的请求调度方法及系统 |
CN114625307A (zh) * | 2020-12-14 | 2022-06-14 | 慧荣科技股份有限公司 | 计算机可读存储介质、闪存芯片的数据读取方法及装置 |
CN114780032A (zh) * | 2022-04-22 | 2022-07-22 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据读取方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11221911B2 (en) * | 2019-10-11 | 2022-01-11 | International Business Machines Corporation | Data recovery due to transient effects in NAND flash memories |
-
2022
- 2022-09-29 CN CN202211201105.4A patent/CN115269468B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2811392A1 (en) * | 2012-03-30 | 2014-12-10 | Huawei Technologies Co., Ltd | Method and device for reducing read delay |
CN108932110A (zh) * | 2017-05-26 | 2018-12-04 | 希捷科技有限公司 | 用于管理存储器中数据的方法和装置 |
CN110888592A (zh) * | 2019-05-15 | 2020-03-17 | 天津大学深圳研究院 | 基于延迟ssd系统智能并行资源利用的请求调度方法及系统 |
CN110286860A (zh) * | 2019-06-28 | 2019-09-27 | 联想(北京)有限公司 | 信息处理方法、信息处理系统和电子设备 |
CN110825325A (zh) * | 2019-10-30 | 2020-02-21 | 深圳忆联信息系统有限公司 | 基于映射表动态加载的ssd性能提升方法、装置、计算机设备及存储介质 |
CN114625307A (zh) * | 2020-12-14 | 2022-06-14 | 慧荣科技股份有限公司 | 计算机可读存储介质、闪存芯片的数据读取方法及装置 |
CN114780032A (zh) * | 2022-04-22 | 2022-07-22 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据读取方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115269468A (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11074011B2 (en) | Solid state drive latency estimation interface for host performance tuning | |
US20190163622A1 (en) | Estimation method for data access performance | |
US10108354B2 (en) | Memory controller operation | |
US20180150242A1 (en) | Controller and storage device for efficient buffer allocation, and operating method of the storage device | |
CN110727394B (zh) | 数据存储装置、该数据存储装置的操作方法以及存储系统 | |
US10628082B2 (en) | Data reading method and storage controller | |
US20100050007A1 (en) | Solid state disk and method of managing power supply thereof and terminal including the same | |
KR20180037320A (ko) | 비휘발성 메모리 디바이스의 휘발성 메모리 구조 및 관련 컨트롤러 | |
US10884665B2 (en) | Data reading method, storage controller and storage device for optimizing read voltages | |
US11041763B2 (en) | Adaptive throttling | |
TW201443650A (zh) | 在非揮發性記憶體中之失序命令執行 | |
CN113076218B (zh) | Nvm芯片读数据错误快速处理方法及其控制器 | |
KR20200015190A (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
CN115269468B (zh) | 状态读取指令发送方法、装置、存储设备和可读存储介质 | |
US20190041928A1 (en) | Technologies for predictive feed forward multiple input multiple output ssd thermal throttling | |
CN115472203A (zh) | 闪存磨损次数预测方法、装置及存储介质 | |
CN115472206A (zh) | 存储器的坏块检测方法、测试设备及存储介质 | |
CN114691029A (zh) | 存储装置和操作存储装置的方法 | |
CN112306398A (zh) | 存储装置及其操作方法 | |
CN112486405A (zh) | 存储设备和操作存储设备的方法 | |
CN112148203A (zh) | 存储器管理方法、装置、电子设备及存储介质 | |
US11803320B2 (en) | Memory system and control method | |
CN108897491B (zh) | 一种异构混合内存快速访问优化方法及系统 | |
CN117555492B (zh) | 存储器控制器、存储器管理方法及存储装置 | |
CN117215966B (zh) | 一种芯片sdk接口的测试方法、测试装置及电子设备 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230627 Address after: 610, Floor 6, Block A, No. 2, Lize Middle Second Road, Chaoyang District, Beijing 100102 Patentee after: Zhongguancun Technology Leasing Co.,Ltd. Address before: Room 0406, Floor 4, No. 10, Haidian North Second Street, Haidian District, Beijing 100080 Patentee before: Beijing Tenafei Electronic Technology Co.,Ltd. |