IO命令处理方法与固态存储设备技术

技术编号:18367119 阅读:39 留言:0更新日期:2018-07-05 08:02
本申请提供了IO命令处理方法与固态存储设备。所公开的方法包括:从命令队列获取IO命令;从IO命令中获取虚拟LUN编号和/或虚拟块地址;依据虚拟LUN编号选择处理单元;所述处理单元依据虚拟块地址确定IO命令所访问的物理LUN以及该物理LUN上的物理块地址;向提供IO命令所访问的物理LUN的CE端口发出有效的芯片使能信号;以及向所访问的物理LUN发出NVM接口命令。

IO command processing and solid-state storage equipment

This application provides IO command processing method and solid state storage device. The public methods include obtaining the IO command from the command queue; obtaining a virtual LUN number and / or a virtual block address from the IO command; selecting a processing unit based on the virtual LUN number; the processing unit determines the physical LUN accessed by the IO command and the physical block address on the physical LUN based on the virtual block address; to provide the IO command. The CE port of the physical LUN that is accessed sends out a valid chip enable signal; and a NVM interface command is issued to the physical LUN accessed.

【技术实现步骤摘要】
IO命令处理方法与固态存储设备
本申请涉及存储
,尤其涉及IO命令处理方法与固态存储设备。
技术介绍
NAND闪存、相变存储器、FeRAM(FerroelectricRAM,铁电存储器)、MRAM(MagneticRandomAccessMemory,磁阻存储器)、RRAM(ResistiveRandomAccessMemory,阻变存储器)等是常见的NVM(Non-VolatileMemory,非易失存储器)。存储器目标(Target)是闪存颗粒封装内的共享芯片使能(CE,ChipEnable)信号的一个或多个逻辑单元(LogicUnit),每个逻辑单元具有逻辑单元号(LUN,LogicUnitNumber)。NAND闪存封装内可包括一个或多个管芯(DIE)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(Plane)。逻辑单元内的多个平面可以并行存取,而NAND闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。在http://www.onfi.org/~/media/ONFI/specs/ONFI_3_2%20Gold.pdf获得的“OpenNANDFlashInterfaceSpecification(Revision3.2)”中,提供了关于目标(target)、逻辑单元、LUN、平面(Plane)的含义,以及也提供了操作NVM芯片的命令。固态硬盘控制器包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片,并以遵循NVM芯片的接口协议的方式向NVM芯片发出命令,以操作NVM芯片,并接收从NVM芯片输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。在公开号为CN1414468A的中国专利申请中,提供了通过执行微指令序列来处理CPU(CentralProcessingUnit,中央处理单元)指令的方案。当CPU要处理特定指令时,转换逻辑电路将特定指令转换成与之对应的微指令序列,通过执行微指令序列来实现特定指令的功能。微指令序列或者微指令序列的模板存储在ROM(ReadOnlyMemory,只读存储器)中。在将特定指令转换成微指令序列过程中,可对微指令序列模板进行填充,使之与特定指令相对应。在中国专利申请CN201610009789.6与CN201510253428.1中提供了用于闪存接口控制器的微指令执行方法与装置,而中国专利申请CN201610861793.5提供了微指令序列的调度方法与装置,将其全文合并于此。闪存接口控制器通常耦合到多个NVM芯片,NVM芯片包括多个LUN(LogicUNit,逻辑单元)或管芯,多个LUN和管芯可以并行响应及访问NVM命令,叉由于每个LUN或管芯上可以有多个待处理的NVM命令,因此NVM控制器需要对多个NVM命令或多段微指令序列进行调度,以维护多个在处理中或待处理的NVM命令,或者维护多段用于生成NVM命令的微指令序列。在大容量固态硬盘中,控制器需要连接更多的NVM芯片。而在单一NVM芯片内也可包括了多个管芯或目标。由于NVM芯片上的每个管芯或目标都具有芯片使能(ChipEnable,CE)引脚,并且在操作每个管芯或目标时,要向其施加单独的CE信号,以同固态硬盘中的其它NVM芯片/管芯/目标的操作相区分。然而众多的CE信号需要消耗控制器的大量的IO引脚资源。图1为中国专利CN201632269U的具有芯片使能信号扩展的存储系统的示意图。图1示出的存储系统包含存储器控制器101(也称为固态硬盘控制器)和闪存通道1(102)到闪存通道m(103),每个闪存通道上包括一片或多片闪存芯片(未示出)。在图1的存储系统中,还包括CE扩展器104。CE扩展器104连接到存储器控制器101。CE扩展器104与存储器控制器101的连接,可通过例如CE数据信号线和CE控制信号线。也可以通过IIC(Inter-IntegratedCircuit,集成电路总线)、UART(UniversalAsynchronousReceiver/Transmitter,通用异步收发传输)、LIN((LocalInterconnectNetwork,本地互联网络)等通信协议在CE扩展器104与存储器控制器101之间传输数据。在图1的实施例中,闪存通道102与103共用数据信号线和除芯片使能之外的控制信号线。应当理解的,存储器控制器101与CE扩展器104之间可使用单一信号线相耦合。CE扩展器104通过多条芯片使能(CE)信号线,与闪存通道1(102)到闪存通道m(103)上的多个闪存芯片或闪存管芯的芯片使能(CE)端口相连接,这些芯片使能(CE)信号线在图1中用“闪存通道1-CE1”、“闪存通道1-CEn”、“闪存通道m-CE1”以及“闪存通道m-CEn”指出。在图1的实施例中,存储系统中有m个闪存通道,每个闪存通道上有1个闪存芯片,每个闪存芯片包含n个管芯以及与该n个管芯相对应的n个芯片使能(CE)端口,因而总共需要用到n*m个CE信号线。将这些n*m个CE信号端口均连接到CE扩展器104,而CE扩展器104与存储器控制器201之间通过较少的信号线进行通信(例如,图1中的CE数据信号线和CE控制信号线)。例如,存储器控制器101向CE扩展器104指示要使能闪存通道103上的第一个闪存芯片的第一管芯,则CE扩展器104在相应的“闪存通道m-CE1”芯片使能信号线上产生有效的使能信号,而在其他芯片使能信号线上不产生有效的使能信号。依然可以理解的,可提供多个CE扩展器,用于使存储器控制器能够访问更多的闪存芯片。以及中国专利CN201632269U提供的技术可应用于访问其他NVM芯片。
技术实现思路
本申请的目的包括提供IO命令处理方法与NVM接口控制器,用于支持对CE扩展器以及扩展机制的应用,以访问更多的NVM芯片。根据本专利技术的第一方面,提供了根据本专利技术第一方面的第一IO命令处理方法,该方法包括:从命令队列获取IO命令;从IO命令中获取虚拟LUN编号和/或虚拟块地址;依据虚拟LUN编号选择处理单元;所述处理单元依据虚拟块地址确定IO命令所访问的物理LUN以及该物理LUN上的物理块地址;向提供IO命令所访问的物理LUN的CE端口发出有效的芯片使能信号;以及向所访问的物理LUN发出NVM接口命令。根据本专利技术的第一方面的第一IO命令处理方法,提供了根据本专利技术第一方面的第二IO命令处理方法,依据所述虚拟块地址寻址虚拟LUN的块,虚拟LUN的块的数量等于所述虚拟LUN所包括的多个物理LUN的块的数量的和。根据本专利技术的第一方面的第二IO命令处理方法,提供了根据本专利技术第一方面的第三IO命令处理方法,其中,所述虚拟LUN包括多个物理LUN。根据本专利技术的第一方面的第一至第三IO命令处理方法,提供了根据本专利技术第一方面的第四IO命令处理方法,为每个虚拟LUN提供处理单元,以在处理IO命令时依据虚拟LUN编号选择对应的处理单元。根据本专利技术的第一方面的第四IO命令处理方法,提供了根据本专利技术第一方面的第五IO命令处理方法,其中,所述处理单元耦合到多个物理LUN。根据本专利技术的第一方面的第五IO命令处理方法,提供了根据本专利技术第一方面的第本文档来自技高网
...
IO命令处理方法与固态存储设备

【技术保护点】
1.一种IO命令处理方法,其特征在于,包括:从命令队列获取IO命令;从IO命令中获取虚拟LUN编号和/或虚拟块地址;依据虚拟LUN编号选择处理单元;所述处理单元依据虚拟块地址确定IO命令所访问的物理LUN以及该物理LUN上的物理块地址;向提供IO命令所访问的物理LUN的CE端口发出有效的芯片使能信号;以及向所访问的物理LUN发出NVM接口命令。

【技术特征摘要】
1.一种IO命令处理方法,其特征在于,包括:从命令队列获取IO命令;从IO命令中获取虚拟LUN编号和/或虚拟块地址;依据虚拟LUN编号选择处理单元;所述处理单元依据虚拟块地址确定IO命令所访问的物理LUN以及该物理LUN上的物理块地址;向提供IO命令所访问的物理LUN的CE端口发出有效的芯片使能信号;以及向所访问的物理LUN发出NVM接口命令。2.如权利要求1所述的IO命令处理方法,其特征在于,依据所述虚拟块地址寻址虚拟LUN的块,虚拟LUN的块的数量等于所述虚拟LUN所包括的多个物理LUN的块的数量的和。3.如权利要求1或2所述的IO命令处理方法,其特征在于,为每个虚拟LUN提供处理单元,以在处理IO命令时依据虚拟LUN编号选择对应的处理单元。4.如权利要求3所述的IO命令处理方法,其中,所述处理单元通过CE扩展器耦合到所述多个物理LUN;以及所述CE扩展器在所述处理单元的控制下向IO命令所访问的物理LUN的CE端口发出有效的芯片使能信号。5.如权利要求1-4任一项所述的IO命令处理方法,其特征在于,若IO命令为复位命令,获取虚拟LUN所对应的所有物理LUN,并向提供所有这些物理LUN的CE端口均发出有效的芯片使能信号;以及向所有这些物理LUN发出复位命令;以及处理复位命令,直到确认复位命令在所有物理LUN上均执行完成。6.如权利要求1-5任一项所述的IO命令...

【专利技术属性】
技术研发人员:沈飞王晨阳王祎磊
申请(专利权)人:北京忆芯科技有限公司
类型:发明
国别省市:北京,11

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

1