降低读命令处理延迟的方法与装置制造方法及图纸

技术编号:20448106 阅读:18 留言:0更新日期:2019-02-27 02:40
提供了降低读命令处理延迟的方法与装置。所提供的低延迟处理IO请求的方法,包括:响应于收到读请求,获取读请求所访问的物理地址;若读请求访问的物理块已被写满数据,向NVM芯片发出第一类读命令以响应读请求;若读请求访问的物理块尚未被写满数据,向NVM芯片发出第二类读命令;以及其中,第一类读命令具有比第二类读命令小的处理延迟。

Method and Device for Reducing Delay of Read Command Processing

The method and device for reducing the processing delay of reading commands are provided. The methods of processing IO requests with low latency include: obtaining the physical address accessed by the read request in response to the received read request; issuing the first type of read command to NVM chip in response to the read request if the physical block accessed by the read request has been filled with data; issuing the second type of read command to NVM chip if the physical block accessed by the read request has not been filled with data; and among them, issuing the second type of read command to NVM chip if the physical block accessed by the read request has Class-read commands have less processing latency than class-2 read commands.

【技术实现步骤摘要】
降低读命令处理延迟的方法与装置
本申请涉及固态存储设备,更具体地,涉及固态存储设备处理读命令时降低处理延迟。
技术介绍
参看图1,展示了存储设备的框图。存储设备102同主机相耦合,用于为主机提供存储能力。主机同存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA、IDE、USB、PCIE、NVMe(NVMExpress)、SAS、以太网、光纤通道、无线通信网络等连接主机与存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个NVM(非易失存储器,Non-VolatileMemory)芯片105以及可选地固件存储器110。接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。控制部件104用于控制在接口103、NVM芯片105以及固件存储器110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。可通过软件、硬件、固件或其组合的多种方式实现控制部件104。控制部件104可以是FPGA(Field-programmablegatearray,现场可编程门阵列)、ASIC(ApplicationSpecificIntegratedCircuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器。控制部件104在运行时从固件存储器110加载固件。固件存储器110可以是NOR闪存、ROM、EEPROM,也可以是NVM芯片105的部分。控制部件104包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片105,并以遵循NVM芯片105的接口协议的方式向NVM芯片105发出命令,以操作NVM芯片105,并接收从NVM芯片105输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。存储器目标(Target)是NAND闪存封装内的共享芯片使能(CE,ChipEnable)信号的一个或多个逻辑单元(LogicUnit)。每个逻辑单元具有逻辑单元号(LUN,LogicUnitNumber)。NAND闪存封装内可包括一个或多个管芯(Die)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(Plane)。逻辑单元内的多个平面可以并行存取,而NAND闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。在可从http://www.micron.com/~/media/Documents/Products/Other%20Documents/ONFI3_0Gold.ashx获得的“OpenNANDFlashInterfaceSpecification(Revision3.0)”中,提供了关于目标(target)、逻辑单元、LUN、平面(Plane)的含义,其为现有技术的一部分。存储介质上通常按页来存储和读取数据。而按块来擦除数据。块(也称物理块)包含多个页。块包含多个页。存储介质上的页(称为物理页)具有固定的尺寸,例如17664字节。物理页也可以具有其他的尺寸。在固态存储设备中,利用FTL(FlashTranslationLayer,闪存转换层)来维护从逻辑地址到物理地址的映射信息。逻辑地址构成了操作系统等上层软件所感知到的固态存储设备的存储空间。物理地址是用于访问固态存储设备的物理存储单元的地址。在现有技术中还可利用中间地址形态实施地址映射。例如将逻辑地址映射为中间地址,进而将中间地址进一步映射为物理地址。存储了从逻辑地址到物理地址的映射信息的表结构被称为FTL表。FTL表是固态存储设备中的重要元数据。通常FTL表的数据项记录了固态存储设备中以数据页为单位的地址映射关系。FTL表包括多个FTL表条目(或称表项)。在一个实施例中,每个FTL表条目中记录了一个逻辑页地址与一个物理页的对应关系。在另一个例子中,每个FTL表条目中记录了连续的多个逻辑页地址与连续的多个物理页的对应关系。在又一个实施例中,每个FTL表条目中记录了逻辑块地址与物理块地址的对应关系。在依然又一个实施例中,FTL表中记录逻辑块地址与物理块地址的映射关系,和/或逻辑页地址与物理页地址的映射关系。
技术实现思路
IO命令的处理延迟是体现存储设备性能的重要指标。总是希望存储设备以更低的延迟处理IO命令。在固态存储设备中,有多个物理块。一些物理块正在被写入数据,而另一些物理块已被写满数据。通过使用不同类型的读命令访问被写满数据/未被写满数据的物理块,以降低数据读取延迟。对于未被写满数据的物理块,读命令同访问相同物理块的写命令存在冲突,也需要解决冲突,以进一步降低延迟。减少IO命令处理的中间环节,也有助于降低延迟。根据本申请的第一方面,提供了根据本申请第一方面的第一低延迟处理IO请求的方法,包括:响应于收到读请求,获取读请求所访问的物理地址;若读请求访问的物理块已被写满数据,向NVM芯片发出第一类读命令以响应读请求;若读请求访问的物理块尚未被写满数据,向NVM芯片发出第二类读命令;以及其中,第一类读命令具有比第二类读命令小的处理延迟。根据本申请第一方面的第一低延迟处理IO请求的方法,提供了根据本申请第一方面的第二方法,还包括:若读请求访问的物理块尚未被写满数据,还调度访问所述物理块的读请求与写请求的处理顺序,以优先处理所述读请求。根据本申请第一方面的第一或第二低延迟处理IO请求的方法,提供了根据本申请第一方面的第三方法,其中第一类读命令是比NVM芯片的普通读命令错误率高的读命令,而第二类读命令是NVM芯片的普通读命令。根据本申请第一方面的第一至第三低延迟处理IO请求的方法之一,提供了根据本申请第一方面的第四方法,其中通过所述物理地址识别读请求访问的物理块是否已被写满数据。根据本申请第一方面的第一至第四低延迟处理IO请求的方法之一,提供了根据本申请第一方面的第五方法,还包括:响应于收到NVM芯片提供的读命令处理结果,若读命令处理结果指示处理成功,向读请求发出方指示读请求处理完成;若读命令处理结果指示处理失败,通过错误处理流程再次向NVM芯片发出读命令。根据本申请第一方面的第一至第五低延迟处理IO请求的方法之一,提供了根据本申请第一方面的第六方法,其中:第一CPU识别读请求所访问的物理块是否已被写满数据,若读请求访问的物理块已被写满数据,由第一CPU指示向NVM芯片发出第一类读命令以响应读请求。根据本申请第一方面的第六低延迟处理IO请求的方法,提供了根据本申请第一方面的第七方法,其中若读请求访问的物理块已被写满数据,第一CPU将读请求转发给第二CPU,由第二CPU指示向NVM芯片发出第二类读命令以响应读请求。根据本申请第一方面的第六或第七低延迟处理IO请求的方法,提供了根据本申请第一方面的第八方法,还包括:第一CPU依据读请求的逻辑地址查询FTL表得到物理地址。根据本申请第一方面的第六至第八低延迟处理IO请求的方法之一,提供了根据本申请第一方面的第九方法,还包括:将NVM芯本文档来自技高网
...

【技术保护点】
1.一种低延迟处理IO请求的方法,包括:响应于收到读请求,获取读请求所访问的物理地址;若读请求访问的物理块已被写满数据,向NVM芯片发出第一类读命令以响应读请求;若读请求访问的物理块尚未被写满数据,向NVM芯片发出第二类读命令;以及其中,第一类读命令具有比第二类读命令小的处理延迟。

【技术特征摘要】
1.一种低延迟处理IO请求的方法,包括:响应于收到读请求,获取读请求所访问的物理地址;若读请求访问的物理块已被写满数据,向NVM芯片发出第一类读命令以响应读请求;若读请求访问的物理块尚未被写满数据,向NVM芯片发出第二类读命令;以及其中,第一类读命令具有比第二类读命令小的处理延迟。2.根据权利要求1所述的方法,还包括:若读请求访问的物理块尚未被写满数据,还调度访问所述物理块的读请求与写请求的处理顺序,以优先处理所述读请求。3.根据权利要求1或2所述的方法,其中通过所述物理地址识别读请求访问的物理块是否已被写满数据。4.根据权利要求1-3之一所述的方法,还包括:响应于收到NVM芯片提供的读命令处理结果,若读命令处理结果指示处理成功,向读请求发出方指示读请求处理完成;若读命令处理结果指示处理失败,通过错误处理流程再次向NVM芯片发出读命令。5.一种低延迟处理IO请求的方法,包括:响应于收到读请求,获取读请求所访问的物理地址;若读请求访问的大块已被写满数据,向NVM芯片发出第一类读命令以响应读请求;若读请求访问的大块尚未被写满数据,向NVM芯片发出第二类读命令;以及其中,第一类读命令具有比第二类读命令小的处理延迟。6.一种低延迟处理IO请求的装置,包括:主机接口、分配器、多个CPU以及介质接口;主机接口用于接收读请求;分配器耦合到主机接口,将主机接口接收的读请求分配给第一CPU;第一CPU识别读请...

【专利技术属性】
技术研发人员:郭志红李德领袁戎
申请(专利权)人:北京忆恒创源科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1