自适应NVM读取方法及其装置制造方法及图纸

技术编号:31663820 阅读:15 留言:0更新日期:2022-01-01 10:02
本申请公开了自适应NVM读取方法及其装置,读取装置为介质接口控制器,包括介质接口、本地缓存、微指令存储器、错误校正码译码器和缓存管理单元;介质接口同微指令存储器、本地缓存与缓存管理单元耦合;缓存管理单元还耦合本地缓存,缓存管理单元根据本地缓存中的可用空间大小向介质接口提供读暂停信号。本申请的缓存管理单元以独立于微指令的方式来管理同本地缓存的使用相关的操作,避免因扩展微指令而引入过大的复杂度。而引入过大的复杂度。而引入过大的复杂度。

【技术实现步骤摘要】
自适应NVM读取方法及其装置


[0001]本申请涉及存储设备技术,尤其涉及在存储设备中自适应地从NVM中读出数据的方法及实施该方法的装置。

技术介绍

[0002]图1展示了存储设备的框图。存储设备102同主机相耦合,用于为主机提供存储能力。主机同存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如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,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个NVM芯片105以及DRAM(Dynamic Random Access Memory,动态随机访问存储器)110。
[0003]NAND闪存、相变存储器、FeRAM(Ferroelectric RAM,铁电存储器)、MRAM(Magnetic Random Access Memory,磁阻存储器)、RRAM(Resistive Random Access Memory,阻变存储器)、XPoint存储器等是常见的NVM。NVM中存储的数据会在一定程度上出现损坏,为克服此类问题,通常在访问NVM时,通过错误校正码(Error Correction Code,ECC)对NVM上存储的数据进行保护。常用的错误校正码包括BCH码、LDPC、RS码等。
[0004]接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。
[0005]控制部件104用于控制在接口103、NVM芯片105以及DRAM 110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件104可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是FPGA(Field-programmable gate array,现场可编程门阵列)、ASIC(Application Specific Integrated Circuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理IO(Input/Output)命令。控制部件104还可以耦合到DRAM 110,并可访问DRAM 110的数据。在DRAM可存储FTL表和/或缓存的IO命令的数据。
[0006]控制部件104包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片105,并以遵循NVM芯片105的接口协议的方式向NVM芯片105发出命令,以操作NVM芯片105,并接收从NVM芯片105输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。
[0007]NVM芯片包括一个或多个逻辑单元(Logic Unit,LUN)。NVM芯片封装内可包括一个
或多个管芯(Die)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(Plane)。逻辑单元内的多个平面可以并行存取,而NVM芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。在可从
[0008]http://www.micron.com/~/media/Documents/Products/Other%20Documents/ONFI3_0Gold.ashx获得的“Open NAND Flash Interface Specification(Revision3.0)”中,提供了关于目标(target)、逻辑单元、平面(Plane)的含义,其为现有技术的一部分。
[0009]NVM芯片通常按页来存储和读取数据。而按块来擦除数据。块(也称物理块)包含多个页(也称为物理页)。物理页具有固定的尺寸,例如17664字节。物理页也可以具有其他的尺寸。
[0010]图2展示了存储设备的控制部件的详细的框图。
[0011]主机以遵循存储协议的IO命令访问存储设备。控制部件根据来自主机的IO命令,生成一个或多个存储命令并提供给介质接口控制器。介质接口控制器根据存储命令生成遵循NVM芯片的接口协议的存储介质访问命令(例如,编程命令、读命令、擦除命令)。控制部件还跟踪从一个IO命令生成的所有存储命令都被执行完成,并向主机指示IO命令的处理结果。
[0012]参看图2,控制部件包括例如主机接口、主机命令处理单元、存储命令处理单元、介质接口控制器与存储介质管理单元。主机接口获取主机提供的IO命令,并生成存储命令提供给存储命令处理单元。存储命令例如访问相同大小的存储空间,例如4KB。将NVM芯片中记录的对应一个存储命令所访问数据的数据单元称为数据帧。物理页记录一个或多个数据帧。例如,物理页的大小17664字节,而数据帧大小为4KB,则一个物理页能存储4个数据帧。
[0013]将经数据校正码保护的最小数据单元称为ECC块。ECC块包括用户数据与校验数据,并具有不同的大小。用户数据单元大小与ECC块大小的比率,被称为ECC的码率。ECC的码率体现了ECC的纠错能力。一般而言,码率越低,纠错能力越强。在一个例子中,ECC块内的用户数据大小为一个数据帧大小,而校验数据大小为15字节。在又一个例子中,ECC块内的用户数据大小为512字节,而校验数据大小为8字节,从而一个数据帧能容纳多个ECC块。
[0014]存储介质管理单元为每个存储命令维护逻辑地址到物理地址的转换。例如,存储介质管理单元包括FTL表。对于读命令,存储介质管理单元输出存储命令所访问的逻辑地址对应的物理地址,对于写命令,存储介质管理单元为其分配可用的物理地址,并记录其访问的逻辑地址与分配的物理地址的映射关系。存储介质管理单元还维护诸如垃圾回收、磨损均衡等管理NVM芯片所需的功能。
[0015]存储命令处理单元根据存储介质管理单元提供的物理地址,操作介质接口控制器向NVM芯片发出存储介质访问命令。为了清楚的目的,将存储命令处理单元发送给介质接口控制器的命令称为介质接口命令,而将介质接口控制器发送给NVM芯片的命令称为存储介质访问命令。存储介质访问命令遵循NVM芯片的接口协议。以读命令为例,NVM芯片支持的读命令按读取的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种介质接口控制器,其特征在于,包括介质接口、本地缓存、微指令存储器、错误校正码译码器和缓存管理单元;所述介质接口同微指令存储器、本地缓存与缓存管理单元耦合;所述介质接口用于同非易失性存储器芯片耦合,并向所述非易失性存储器芯片输出存储介质访问命令;所述微指令存储器存储微指令,所述介质接口执行微指令以输出存储介质访问命令;所述介质接口将根据存储介质访问读命令从非易失性存储器芯片获取的数据存储在所述本地缓存;所述错误校正码译码器同所述本地缓存耦合,所述错误校正码译码器对所述本地缓存提供的错误校正码块实施错误校正译码;所述缓存管理单元还耦合所述本地缓存,所述缓存管理单元根据所述本地缓存中的可用空间大小向所述介质接口提供读暂停信号。2.如权利要求1所述的介质接口控制器,其特征在于,响应于所述本地缓存中的可用空间小于阈值,所述缓存管理单元向所述介质接口输出读暂停信号。3.如权利要求或2所述的介质接口控制器,其特征在于,所述介质接口响应于收到读暂停信号,而指示非易失性存储器芯片暂停输出根据存储介质访问读命令所要获取的数据。4.如权利要求3所述的介质接口控制器,其特征在于,在所述介质接口指示非易失性存储器芯片暂停输出存储介质访问读命令所要获取的数据的状态下,响应于收到被撤销的读暂停信号,或不再收到读暂停信号,所述介质接口指示非易失性存储器芯片继续输出存储介质访问读命令所要获取的数据。5.如权利要求1-4中任一项所述的介质接口控制器,其特征...

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

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

1