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

技术编号:31677215 阅读:18 留言:0更新日期:2022-01-01 10:22
本申请提供了IO命令处理方法与固态存储设备。所公开的方法包括:从IO命令中获取LUN编号和/或块地址;其中,LUN编号用于指示虚拟LUN或逻辑LUN,虚拟LUN包括多个物理LUN,逻辑LUN包括来自不同虚拟LUN的一个或多个物理LUN或来自不同虚拟LUN的一个或多个物理LUN提供的多个物理块;依据LUN编号从多个处理单元中选择一个或多个处理单元;每个处理单元依据块地址确定IO命令所访问的物理LUN以及该物理LUN上的物理块地址;向提供IO命令所访问的物理LUN的CE端口发出有效的芯片使能信号;以及向所访问的物理LUN发出NVM接口命令,其中,每个处理单元并行执行多个IO命令;或多个处理单元并行执行一个或多个IO命令。并行执行一个或多个IO命令。并行执行一个或多个IO命令。

【技术实现步骤摘要】
IO命令处理方法与固态存储设备


[0001]本申请涉及存储
,尤其涉及IO命令处理方法与固态存储设备。

技术介绍

[0002]NAND闪存、相变存储器、FeRAM(Ferroelectric RAM,铁电存储器)、MRAM(Magnetic Random Access Memory,磁阻存储器)、RRAM(Resistive Random Access Memory,阻变存储器)等是常见的NVM(Non

Volatile Memory,非易失存储器)。
[0003]存储器目标(Target)是闪存颗粒封装内的共享芯片使能(CE,Chip Enable)信号的一个或多个逻辑单元(Logic Unit),每个逻辑单元具有逻辑单元号(LUN,Logic Unit Number)。NAND闪存封装内可包括一个或多个管芯(DIE)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(Plane)。逻辑单元内的多个平面可以并行存取,而NAND闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。在http://www.onfi.org/~/media/ONFI/specs/ONFI_3_2%20Gold.pdf获得的“Open NAND Flash Interface Specification(Revision 3.2)”中,提供了关于目标(target)、逻辑单元、LUN、平面(Plane)的含义,以及也提供了操作NVM芯片的命令。
[0004]固态硬盘控制器包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片,并以遵循NVM芯片的接口协议的方式向NVM芯片发出命令,以操作NVM芯片,并接收从NVM芯片输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。
[0005]在公开号为CN1414468A的中国专利申请中,提供了通过执行微指令序列来处理CPU(Central Processing Unit,中央处理单元)指令的方案。当CPU要处理特定指令时,转换逻辑电路将特定指令转换成与之对应的微指令序列,通过执行微指令序列来实现特定指令的功能。微指令序列或者微指令序列的模板存储在ROM(Read Only Memory,只读存储器)中。在将特定指令转换成微指令序列过程中,可对微指令序列模板进行填充,使之与特定指令相对应。
[0006]在中国专利申请CN201610009789.6与CN201510253428.1中提供了用于闪存接口控制器的微指令执行方法与装置,而中国专利申请CN 201610861793.5提供了微指令序列的调度方法与装置,将其全文合并于此。闪存接口控制器通常耦合到多个NVM芯片,NVM芯片包括多个LUN(Logic UNit,逻辑单元)或管芯,多个LUN和管芯可以并行响应及访问NVM命令,又由于每个LUN或管芯上可以有多个待处理的NVM命令,因此NVM控制器需要对多个NVM命令或多段微指令序列进行调度,以维护多个在处理中或待处理的NVM命令,或者维护多段用于生成NVM命令的微指令序列。
[0007]在大容量固态硬盘中,控制器需要连接更多的NVM芯片。而在单一NVM芯片内也可包括了多个管芯或目标。由于NVM芯片上的每个管芯或目标都具有芯片使能(Chip Enable,CE)引脚,并且在操作每个管芯或目标时,要向其施加单独的CE信号,以同固态硬盘中的其它NVM芯片/管芯/目标的操作相区分。然而众多的CE信号需要消耗控制器的大量的IO引脚
资源。
[0008]图1为中国专利CN201632269U的具有芯片使能信号扩展的存储系统的示意图。图1示出的存储系统包含存储器控制器101(也称为固态硬盘控制器)和闪存通道1(102)到闪存通道m(103),每个闪存通道上包括一片或多片闪存芯片(未示出)。在图1的存储系统中,还包括CE扩展器104。CE扩展器104连接到存储器控制器101。CE扩展器104与存储器控制器101的连接,可通过例如CE数据信号线和CE控制信号线。也可以通过IIC(Inter

Integrated Circuit,集成电路总线)、UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输)、LIN((Local Interconnect Network,本地互联网络)等通信协议在CE扩展器104与存储器控制器101之间传输数据。在图1的实施例中,闪存通道102与103共用数据信号线和除芯片使能之外的控制信号线。应当理解的,存储器控制器101与CE扩展器104之间可使用单一信号线相耦合。
[0009]CE扩展器104通过多条芯片使能(CE)信号线,与闪存通道1(102)到闪存通道m(103)上的多个闪存芯片或闪存管芯的芯片使能(CE)端口相连接,这些芯片使能(CE)信号线在图1中用“闪存通道1

CE1”、“闪存通道1

CEn”、“闪存通道m

CE1”以及“闪存通道m

CEn”指出。
[0010]在图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”芯片使能信号线上产生有效的使能信号,而在其他芯片使能信号线上不产生有效的使能信号。
[0011]依然可以理解的,可提供多个CE扩展器,用于使存储器控制器能够访问更多的闪存芯片。以及中国专利CN201632269U提供的技术可应用于访问其他NVM芯片。

技术实现思路

[0012]本申请的目的包括提供IO命令处理方法与NVM接口控制器,用于支持对CE扩展器以及扩展机制的应用,以访问更多的NVM芯片。
[0013]根据本专利技术的第一方面,提供了根据本专利技术第一方面的第一IO命令处理方法,该方法包括:从命令队列获取IO命令;从IO命令中获取虚拟LUN编号和/或虚拟块地址;依据虚拟LUN编号选择处理单元;所述处理单元依据虚拟块地址确定IO命令所访问的物理LUN以及该物理LUN上的物理块地址;向提供IO命令所访问的物理LUN的CE端口发出有效的芯片使能信号;以及向所访问的物理LUN发出NVM接口命令。
[0014]根据本专利技术的第一方面的第一IO命令处理方法,提供了根据本专利技术第一方面的第二IO命令处理方法,依据所述虚拟块地址寻址虚拟LUN的块,虚拟LUN的块的数量等于所述虚拟LUN所包括的多个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种IO命令处理方法,其特征在于,包括:从命令队列获取IO命令;从IO命令中获取LUN编号和/或块地址;其中,所述LUN编号用于指示虚拟LUN或逻辑LUN,所述虚拟LUN包括多个物理LUN,所述逻辑LUN包括来自不同虚拟LUN的一个或多个物理LUN或来自不同虚拟LUN的一个或多个物理LUN提供的多个物理块;依据LUN编号从多个处理单元中选择一个或多个处理单元;每个处理单元依据块地址确定IO命令所访问的物理LUN以及该物理LUN上的物理块地址;向提供IO命令所访问的物理LUN的CE端口发出有效的芯片使能信号;以及向所访问的物理LUN发出NVM接口命令,其中,每个处理单元并行执行多个IO命令;或多个处理单元并行执行一个或多个IO命令。2.如权利要求1所述的IO命令处理方法,其特征在于,若所述LUN编号指示逻辑LUN,依据逻辑LUN编号和/或逻辑块地址得到与逻辑LUN对应的虚拟LUN的编号;依据虚拟LUN的编号选择处理单元,以及IO命令所访问的物理LUN;向提供IO命令所访问的物理LUN的CE端口发出有效的芯片使能信号;以及向所访问的物理LUN发出NVM接口命令。3.如权利要求1或2所述的IO命令处理方法,其特征在于,为每个虚拟LUN提供处理单元,以在处理IO命令时依据虚拟LUN编号选择对应的处理单元。4.如权利要求3所述的IO命令处理方法,其中,每个处理单元并行执行多个IO命令,包括:每个处理单元在待处理命令集合中记录命令队列中IO命令的指示处理进度的状态;在执行IO命令时,从待处理命令集合获取该IO命令的状态,根据该IO命令的状态执行所选择的IO命令,其中,对IO命令的每次执行是执行命令的一个阶段,在相邻两个阶段之间可从命令队列中获取一个或多个IO命令进行处理,将该一个或多个IO命令提供给所述虚拟LUN编号所对应的虚拟LUN。5.如权利要求1

4任一项所述的IO命令处理方法,其特征在于,将逻辑LUN映射到多个虚拟LUN;或将同一逻辑LUN内的具有连续逻辑块地址的多个逻辑块映射到不同的虚拟LUN;或将不同逻辑LUN内的具有相同逻辑块地址的多个逻辑块映射到不...

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

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

1