基于路由映射表的命令分发方法及控制部件技术

技术编号:31887517 阅读:24 留言:0更新日期:2022-01-15 12:12
本申请提供了基于路由映射表的命令分发方法及控制部件。控制部件包括路由映射表、路由映射管理器、命令管理器和多个处理器;其中,命令管理器与路由映射管理器、路由映射表和多个处理器耦合,路由映射管理器与路由映射表和多个处理器耦合;路由映射管理器生成及更新所述路由映射表;命令管理器获取主机发送的第一命令,并根据所述路由映射表,确定处理第一命令的第一处理器,以及将第一命令发送给第一处理器,第一处理器为多个处理器中的一个处理器。器。器。

【技术实现步骤摘要】
基于路由映射表的命令分发方法及控制部件


[0001]本申请涉及存储技术,特别地,涉及基于路由映射表的命令分发方法及控制部件。

技术介绍

[0002]图1展示了现有技术中的存储设备的框图。存储设备100同主机相耦合,用于为主机提供存储能力。主机同存储设备100之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA(Serial Advanced Technology Attachment,串行高级技术附件)、SCSI(Small Computer System Interface,小型计算机系统接口)、SAS(Serial Attached SCSI,串行连接SCSI)、IDE(Integrated Drive Electronics,集成驱动器电子)、USB(Universal Serial Bus,通用串行总线)、PCIE(Peripheral Component Interconnect Express,PCIe,高速外围组件互联)、NVMe(NVM Express,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与存储设备100。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备100包括接口110、控制部件120、一个或多个NVM芯片130以及DRAM(Dynamic Random Access Memory,动态随机访问存储器)140。
[0003]NAND闪存、相变存储器、FeRAM(Ferroelectric RAM,铁电存储器)、MRAM(Magnetic Random Access Memory,磁阻存储器)、RRAM(Resistive Random Access Memory,阻变存储器)等是常见的NVM。
[0004]接口110可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。
[0005]控制部件120用于控制在接口110、NVM芯片130以及DRAM 140之间的数据传输,还用于存储管理、主机逻辑地址到NVM芯片的物理地址映射、擦除均衡、坏块管理等。控制部件120可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件120可以是FPGA(Field-programmable gate array,现场可编程门阵列)、ASIC(Application Specific Integrated Circuit,应用专用集成电路)或者其组合的形式。控制部件120也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件120的硬件来处理IO(Input/Output)命令。控制部件120还可以耦合到DRAM 140,并可访问DRAM 140的数据。在DRAM存储FTL表和/或缓存的IO命令的数据。
[0006]控制部件120包括闪存接口控制器(或称为介质接口、介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片130,并以遵循NVM芯片130的接口协议的方式向NVM芯片130发出命令,以操作NVM芯片130,并接收从NVM芯片130输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。
[0007]存储器目标(Target)是NAND闪存封装内的共享芯片使能(CE,Chip Enable)信号的一个或多个逻辑单元(LUN,Logic UNit)。NAND闪存封装内包括一个或多个管芯(Die)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(Plane)。逻辑单元内的多个平面可以并行存取,而NAND闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状
态。在可从http://www.micron.com/~/media/Documents/Products/Other%20Documents/ONFI3_0Gold.as hx获得的“Open NAND Flash Interface Specification(Revision 3.0)”中,提供了关于目标(target)、逻辑单元(LUN)、平面(Plane)的含义,其为现有技术的一部分。
[0008]图2展示了存储设备的控制部件的详细的框图。
[0009]主机以遵循存储协议的IO命令访问存储设备。控制部件根据来自主机的IO命令,生成一个或多个介质接口命令并提供给介质接口控制器。介质接口控制器根据介质接口命令生遵循NVM芯片的接口协议的存储介质访问命令(例如,编程命令、读命令、擦除命令)。控制部件还跟踪从一个IO命令生成的所有介质接口命令都被执行完成,并向主机指示IO命令的处理结果。
[0010]参看图2,控制部件包括例如主机接口、主机命令处理单元、存储命令处理单元、介质接口控制器与存储介质管理单元。主机接口获取主机提供的IO命令,并生成存储命令提供给存储命令处理单元。存储命令例如访问相同大小的存储空间,例如4KB。将NVM芯片中记录的对应一个存储命令所访问数据的数据单元称为数据帧。物理页记录一个或多个数据帧。例如,物理页的大小17664字节,而数据帧大小为4KB,则一个物理页能存储4个数据帧。
[0011]存储介质管理单元为每个存储命令维护逻辑地址到物理地址的转换。例如,存储介质管理单元包括FTL表。对于读命令,存储介质管理单元输出存储命令所访问的逻辑地址对应的物理地址,对于写命令,存储介质管理单元为其分配可用的物理地址,并记录其访问的逻辑地址与分配的物理地址的映射关系。存储介质管理单元还维护诸如垃圾回收、磨损均衡等管理NVM芯片所需的功能。
[0012]存储命令处理单元根据存储介质管理单元提供的物理地址,操作介质接口控制器向NVM芯片发出存储介质访问命令。为了清楚的目的,将主机发送给存储设备的命令称为IO命令,将主机命令处理单元发送给存储命令处理单元的命令称为存储命令,将存储命令处理单元发送给介质接口控制器的命令称为介质接口命令,而将介质接口控制器发送给NVM芯片的命令称为存储介质访问命令。存储介质访问命令遵循NVM芯片的接口协议。
[0013]主机接口还获取主机提供的例如Admin(管理)命令。Admin(管理)命令由例如NVMe等存储协议定义。同IO命令类似,Admin(管理)命令也由存储命令处理单元处理。主机下发命令并不考虑控制部件是否已将之前下发的命令处理器完成,控制部件可并发处理多个IO命令和/或Admin(管理)命令。存储命令处理单元包括一个或多个处理存储命令(也包括Admin(管理)命令)的处理单元。处理单元是处理器及其运行的固件或者用于处理存储命令的逻辑电路。若仅有一个处理单元,所有的存储命令都由这一个处理单元处理。若控制部件设置有2个及以上的处理单元时,就涉及到如何让多个处理单元的负载均衡。现有技术中,通常是根据存储命令访问的地址和/或NVM芯片中的物理地址来分配处理存储命令的处理单元。例如NVM芯片有64本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种路由映射表获取方法,其特征在于,包括:获取多个处理器中每个处理器当前处理的命令的特征信息和/或每个处理器的特性信息,所述命令的特征信息包括命令数量和/或命令类型,所述处理器的特性信息包括利用率和/或功耗,所述命令类型包括管理命令、读命令和写命令;生成表征处理器的负载情况的所述路由映射表。2.如权利要求1所述的方法,其特征在于,负载情况表征为处理器与其当前在处理的命令数量的对应关系或总负载值;其中,所述总负载值为每个命令类型的负载值与命令数量乘积之和、根据利用率计算出的负载值或根据功耗计算出的负载值;所述处理器与其当前在处理的命令数量的对应关系包括处理器与其当前在处理的命令总数量的对应关系或根据命令类型分类的处理器与其当前在处理的命令数量的对应关系。3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:获取第一信息,所述第一信息指示多个处理器中的至少一个处理器处理的命令数量变更,所述第一信息携带变更的命令类型和/或变更的命令数量、以及命令数量发生变更的处理器标识;响应于获取第一信息,更新所述路由映射表。4.一种命令分发方法,其特征在于,包括:获取第一命令,所述第一命令包括管理命令、读命令和写命令;根据路由映射表,确定处理所述第一命令的第一处理器,所述第一处理器为多个处理器中的一个处理器;向所述第一处理器发送所述第一命令。5.如权利要求4所述的方法,其特征在于,所述根据路由映射表,确定处理所述第一命令的第一处理器,包括:确定命令分发的第一策略,所述第一策略包括区分命令类型的最小负载策略、不区分命令类型的最小负载策略、低配额策略和轮询策略;根据第一策略和路由映射表,确定所述第一处理器。6.如权利要求5所述的方法,其特征...

【专利技术属性】
技术研发人员:张泽
申请(专利权)人:北京忆芯科技有限公司
类型:发明
国别省市:

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

1