本申请公开了乱序执行NVM命令的方法与装置。本申请的介质接口控制器,包括:消息队列和NVM命令处理单元,消息队列与NVM命令处理单元耦合,NVM命令处理单元还与多个NVM芯片耦合;消息队列用于接收访问NVM芯片的消息,NVM命令处理单元从消息队列获取信息,并根据消息的指示生成NVM接口命令并发送给NVM芯片;NVM命令处理单元改变发送NVM接口命令的顺序。
【技术实现步骤摘要】
乱序执行NVM命令的方法与装置
本申请涉及存储设备
,尤其涉及在存储设备中对访问NVM芯片的命令进行调度,以提高存储设备性能。
技术介绍
参看图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字节。物理页也可以具有其他的尺寸。在公开号为CN1414468A的中国专利申请中,提供了通过执行微指令序列来处理CPU(CentralProcessingUnit,中央处理单元)指令的方案。当CPU要处理特定指令时,转换逻辑电路将特定指令转换成与之对应的微指令序列,通过执行微指令序列来实现特定指令的功能。微指令序列或者微指令序列的模板存储在ROM(ReadOnlyMemory,只读存储器)中。在将特定指令转换成微指令序列过程中,可对微指令序列模板进行填充,使之与特定指令相对应。在中国专利申请CN201610009789.6与CN201510253428.1中提供了用于闪存接口控制器的微指令执行方法与装置,中国专利申请CN201610861793.5提供了微指令序列的调度方法与装置,中国专利申请CN201611213754.0提供了IO命令处理方法与固态存储设备,中国专利申请CN201611213755.5提供了大容量NVM接口控制器,将其全文合并于此。闪存接口控制器通常耦合到多个NVM芯片,NVM芯片包括多个LUN(LogicUNit,逻辑单元)或管芯,多个LUN和管芯可以并行响应及访问NVM命令。又由于每个LUN或管芯上可以有多个待处理的NVM命令,因此NVM控制器需要对多个NVM命令的处理过程进行调度,以维护多个在处理中或待处理的NVM命令,或者维护多段用于生成和处理NVM命令的微指令序列的执行。
技术实现思路
根据本申请的第一方面,提供了根据本申请第一方面的第一介质接口控制器,包括:消息队列和NVM命令处理单元,消息队列与NVM命令处理单元耦合,NVM命令处理单元还与多个NVM芯片耦合;消息队列用于接收访问NVM芯片的消息,NVM命令处理单元从消息队列获取信息,并根据消息的指示生成NVM接口命令并发送给NVM芯片;NVM命令处理单元改变发送NVM接口命令的顺序。根据本申请的第一方面的第一介质接口控制器,提供了根据本申请第一方面的第二介质接口控制器,访问NVM芯片的消息包括指示读出数据的消息、写入数据的消息、擦除NVM芯片的存储单元的消息,指示读取NVM芯片状态的消息、读取或设置NVM芯片特征的消息,以及用户自定义消息中的一种或多种。根据本申请的第一方面的第一或第二介质接口控制器,提供了根据本申请第一方面的第三介质接口控制器,消息队列包括一个或多个消息队列。根据本申请的第一方面的第一至第三介质接口控制器之一,提供了根据本申请第一方面的第四介质接口控制器,NVM命令处理单元通过多个通道与多个NVM芯片耦合连接,每个NVM芯片分别包括多个逻辑单元。根据本申请的第一方面的第一至第四介质接口控制器之一,提供了根据本申请第一方面的第五介质接口控制器,NVM命令处理单元包括多个硬件实例或多个线程,各个实例或线程,并行处理NVM接口命令。根据本申请的第一方面的第一至第五介质接口控制器之一,提供了根据本申请第一方面的第六介质接口控制器,NVM命令处理单元,通过执行指令或微指令序列,对NVM接口命令实施调度。根据本申请的第一方面的第一至第六介质接口控制器之一,提供了根据本申请第一方面的第七介质接口控制器,基于同一指令或微指令序列创建多个线程。根据本申请的第一方面的第七介质接口控制器,提供了根据本申请第一方面的第八介质接口控制器,NVM命令处理单元为每个线程存储执行状态。根据本申请的第一方面的第一至第八介质接口控制器之一,提供了根据本申请第一方面的第九介质接口控制器,NVM芯片处理单元向NVM芯片写入数据时,数据被存储在NVM芯片的页缓存中。根据本申请的第一方面的第一至第九介质接口控制器之一,提供了根据本申请第一方面的第十介质接口控制器,NVM命令处理单元执行本申请第二方面的优化NVM接口命令执行顺序的方法之一。根据本申请的第一方面的第一至第十介质接口控制器之一,提供了根据本申请第一方面的第十一介本文档来自技高网...
【技术保护点】
1.一种介质接口控制器,其特征在于,包括:消息队列和NVM命令处理单元,消息队列与NVM命令处理单元耦合,NVM命令处理单元还与多个NVM芯片耦合;消息队列用于接收访问NVM芯片的消息,NVM命令处理单元从消息队列获取信息,并根据消息的指示生成NVM接口命令并发送给NVM芯片;NVM命令处理单元改变发送NVM接口命令的顺序。
【技术特征摘要】
2017.12.29 CN 20171146840581.一种介质接口控制器,其特征在于,包括:消息队列和NVM命令处理单元,消息队列与NVM命令处理单元耦合,NVM命令处理单元还与多个NVM芯片耦合;消息队列用于接收访问NVM芯片的消息,NVM命令处理单元从消息队列获取信息,并根据消息的指示生成NVM接口命令并发送给NVM芯片;NVM命令处理单元改变发送NVM接口命令的顺序。2.如权利要求1所述的介质接口控制器,其特征在于,NVM命令处理单元执行根据权利要求3-10之一所述的方法。3.一种优化NVM接口命令执行顺序的方法,其特征在于,包括:检测是否可优化NVM接口命令执行顺序;响应于可优化NVM接口命令执行顺序,识别读指针的偏移值是否大于0;响应于偏移值大于0,使偏移值递增;以及根据基地址与偏移值的和得到读指针,并根据读指针获取NVM接口命令并处理。4.如权利要求3所述的方法,其特征在于,响应于偏移值不大于0,使偏移值与基地址都递增。5.如权利要求3或4所述的方法,其特征在于,响应于无法优化NVM接口命令执行顺序,识别读指针的偏移值是否大于0;响应于偏移值大于0,根据基地址作为读指针获取NVM接口命令并处理;使基地址递增并与偏移值求和作为基地址的新值,并将偏移值设置为0;以及根据基地址与偏移值的和得到读指针,并根据读指针获取NVM接口命令并处理。6.如权利要求5所述的方法,其特征在于,响应于偏移值不大于0,使基地址递增。...
【专利技术属性】
技术研发人员:孙明浩,王祎磊,薛立成,
申请(专利权)人:贵阳忆芯科技有限公司,
类型:发明
国别省市:贵州,52
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。