买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】支持原位操作的NVM芯片、其操作方法以及固态存储设备_北京忆恒创源科技股份有限公司_201710829805.0 

申请/专利权人:北京忆恒创源科技股份有限公司

申请日:2017-09-15

公开(公告)日:2024-04-05

公开(公告)号:CN109508205B

主分类号:G06F9/30

分类号:G06F9/30;G06F12/06

优先权:

专利状态码:有效-授权

法律状态:2024.04.05#授权;2021.09.24#著录事项变更;2020.07.21#实质审查的生效;2019.03.22#公开

摘要:公开了提供原位操作命令的NVM芯片,操作NVM芯片的方法以及固态存储设备。所公开的操作NVM芯片的方法,包括:向NVM芯片的一个或多个物理块发出原位操作命令,所述原位操作命令指示命令代码与物理块地址。通过本申请提供的操作NVM芯片的方法,能够降低NVM芯片的数据错误率。

主权项:1.一种非易失存储器芯片,包括IO接口、控制逻辑电路与存储单元阵列;IO接口接收原位操作命令,将命令代码存储到命令寄存器,其中原位操作命令指示物理块地址;控制逻辑电路根据命令寄存器的内容与所述物理块地址,指示高电压生成器向所述物理块的一个或多个物理页施加弱编程脉冲,其中所述一个或多个物理页已被编程;控制逻辑电路将原位操作命令的执行结果写入状态寄存器;以及IO接口输出状态寄存器的内容;其中原位操作命令包括命令代码与物理地址,原位操作命令的执行包括:根据原位操作命令的物理地址访问一个或多个物理页,从物理页读出数据,并用读出的数据对物理页原位编程。

全文数据:支持原位操作的NVM芯片、其操作方法以及固态存储设备技术领域本申请涉及存储技术,尤其涉及在固态存储设备中通过原位操作降低NVM芯片的数据错误率。背景技术参看图1,展示了存储设备的框图。存储设备102同主机相耦合,用于为主机提供存储能力。主机同存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA、IDE、USB、PCIE、NVMeNVMExpress、SAS、以太网、光纤通道、无线通信网络等连接主机与存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个NVM非易失存储器,Non-VolatileMemory芯片105以及可选地固件存储器110。接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。控制部件104用于控制在接口103、NVM芯片105以及固件存储器110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。可通过软件、硬件、固件或其组合的多种方式实现控制部件104。控制部件104可以是FPGAField-programmablegatearray,现场可编程门阵列、ASICApplicationSpecificIntegratedCircuit,应用专用集成电路或者其组合的形式。控制部件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信号的一个或多个逻辑单元LUN,LogicUNit。NAND闪存封装内可包括一个或多个管芯Die。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面Plane。逻辑单元内的多个平面可以并行存取,而NAND闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。在可从http:www.micron.com~mediaDocumentsProductsOther%20DocumentsONFI3_0Gold.ashx获得的“OpenNANDFlashInterfaceSpecificationRevision3.0”中,提供了关于目标target、逻辑单元、LUN、平面Plane的含义,其为现有技术的一部分。一些NVM芯片支持多平面操作MultiplaneOperation,允许LUN上的多个平面同时执行相同类型的操作,通过增加操作的并行性来提升吞吐量或带宽。例如,LUN包括4个平面,向4个平面同时发出读命令或编程命令,以访问4个平面的每个的物理页,或者向4个平面同时发出擦除操作,以擦除4个平面的每个的物理块。存储介质上通常按页来存储和读取数据。而按块来擦除数据。块也称物理块包含多个页。块包含多个页。存储介质上的页称为物理页具有固定的尺寸,例如17664字节。物理页也可以具有其他的尺寸。存储介质的页被编程写入数据后,要经历擦除过程,才能被再次编程。在公开号为CN1414468A的中国专利申请中,提供了通过执行微指令序列来处理CPUCentralProcessingUnit,中央处理单元指令的方案。当CPU要处理特定指令时,转换逻辑电路将特定指令转换成与之对应的微指令序列,通过执行微指令序列来实现特定指令的功能。微指令序列或者微指令序列的模板存储在ROMReadOnlyMemory,只读存储器中。在将特定指令转换成微指令序列过程中,可对微指令序列模板进行填充,使之与特定指令相对应。在中国专利申请CN201610009789.6与CN201510253428.1中提供了用于闪存接口控制器的微指令执行方法与装置,中国专利申请CN201610861793.5提供了微指令序列的调度方法与装置,中国专利申请CN201611213754.0提供了IO命令处理方法与固态存储设备,中国专利申请CN201611213755.5提供了大容量NVM接口控制器,将其全文合并于此。闪存接口控制器通常耦合到多个NVM芯片,NVM芯片包括多个LUNLogicUNit,逻辑单元或管芯,多个LUN和管芯可以并行响应及访问NVM命令。又由于每个LUN或管芯上可以有多个待处理的NVM命令,因此NVM控制器需要对多个NVM命令的处理过程进行调度,以维护多个在处理中或待处理的NVM命令,或者维护多段用于生成和处理NVM命令的微指令序列的执行。快速初始电荷丢失FastInitialChargeLoss是采用电荷陷阱ChargeTrapping技术的NAND闪存的固有属性参看《StudyofFastInitialChargeLossandIt’sImpactontheProgrammedStatesVtDistributionofCharge-TrappingNANDFlash》,http:ieeexplore.ieee.orgdocument5703304。在3D结构的NAND闪存中,快速初始电荷丢失现象更加显著。一些文献中,也称之为快速逃逸fastdetrapping。快速初始电荷丢失将导致存储的数据的错误率升高。发明内容为了补偿快速初始电荷丢失现象带来的影响,本申请的实施例的固态存储设备对被编程的存储单元施加后续操作,并降低补偿过程对固态存储设备性能的影响。根据本申请的第一方面,提供了根据本申请第一方面的第一非易失存储器芯片,包括IO接口、控制逻辑电路与存储单元阵列;IO接口接收原位操作命令,将命令代码存储到命令寄存器,其中原位操作命令指示物理块地址;控制逻辑电路根据命令寄存器的内容与所述物理块地址,指示高电压生成器向所述物理块的一个或多个物理页施加弱编程脉冲,其中所述一个或多个物理页已被编程;控制逻辑电路将原位操作命令的执行结果写入状态寄存器;以及IO接口输出状态寄存器的内容。根据本申请第一方面的第一非易失存储器芯片,提供了根据本申请第一方面的第二非易失存储器芯片,其中所述弱编程脉冲的幅度小于编程脉冲的幅度和或所述弱编程脉冲的持续时间小于编程脉冲的持续时间。根据本申请第一方面的第一或第二非易失存储器芯片,提供了根据本申请第一方面的第三非易失存储器芯片,其中原位操作命令还指示目标数据;所述IO接口将目标数据写入数据寄存器;控制电路根据地址寄存器指示的物理页地址,用一个或多个弱编程脉冲将目标数据写入所述物理页地址所指示的物理页。根据本申请第一方面的第三非易失存储器芯片,提供了根据本申请第一方面的第四非易失存储器芯片,其中控制电路根据地址寄存器指示的物理页地址,从所述物理页地址所指示的物理页读出数据,比较读出数据与数据寄存器中存储的目标数据,对读出数据所指示的存储单元的状态未达到目标数据对应的状态的存储单元继续编程到目标数据对应的状态。根据本申请第一方面的第一或第二非易失存储器芯片,提供了根据本申请第一方面的第五非易失存储器芯片,其中控制电路根据地址寄存器指示的物理页地址,从所述物理地址所指示的物理页读出数据,存储到数据寄存器,用读出数据作为目标数据对所述物理页进行编程。根据本申请第一方面的第五非易失存储器芯片,提供了根据本申请第一方面的第六非易失存储器芯片,其中控制电路还对读出数据进行错误校正,得到错误校正后的读出数据,以及用错误校正后的读出数据作为目标数据对所述物理页进行编程。根据本申请第一方面的第一或第二非易失存储器芯片,提供了根据本申请第一方面的第七非易失存储器芯片,其中原位操作命令不指示目标数据;控制电路根据地址寄存器指示的物理页地址,指示高电压生成器将单一弱编程脉冲施加给所述物理页地址所指示的物理页。根据本申请第一方面的第一至第七非易失存储器芯片之一,提供了根据本申请第一方面的第八非易失存储器芯片,其中原位操作命令指示用于弱编程脉冲的参数;控制电路根据所述用于若编程脉冲的参数,获取弱编程脉冲的幅度和或持续时间。根据本申请第一方面的第一或第二非易失存储器芯片,提供了根据本申请第一方面的第九非易失存储器芯片,其中控制电路根据地址寄存器指示的物理块地址与物理页地址,指示高电压生成器向所述物理块地址对应的物理块的除所述物理页地址对应的物理页之外的所有其他物理页施加一个或多个弱编程脉冲。根据本申请第一方面的第一或第二非易失存储器芯片,提供了根据本申请第一方面的第十非易失存储器芯片,其中控制电路根据地址寄存器指示的物理块地址与物理页地址,指示高电压生成器向所述物理块地址对应的物理块的除所述物理页地址对应的物理页之外的所有其他物理页施加一个或多个读脉冲。根据本申请第一方面的第一或第二非易失存储器芯片,提供了根据本申请第一方面的第十一非易失存储器芯片,其中控制电路根据地址寄存器指示的物理块地址,指示高电压生成器向所述物理块地址对应的物理块的所有物理页施加一个或多个弱编程脉冲。根据本申请第一方面的第十一非易失存储器芯片,提供了根据本申请第一方面的第十二非易失存储器芯片,其中原位操作命令还指示物理页地址。根据本申请第二方面,提供了根据本申请第二方面的第一固态存储设备,包括控制部件与耦合到控制部件的一个或多个NVM芯片,所述控制部件获取一个或多个NVM芯片的一个或多个物理块,向所述一个或多个物理块的发出原位操作命令,所述原位操作命令指示命令代码与物理块地址。根据本申请第二方面的第一固态存储设备,提供了根据本申请第二方面的第二固态存储设备,其中所述控制部件响应于定时器到时,获取一个或多个物理块;以及其中经过指定时间间隔,所述定时器到时。根据本申请第二方面的第二固态存储设备,提供了根据本申请第二方面的第三固态存储设备,还包括:所述控制部件响应于定时器再次到时,获取另外一个或多个物理块。根据本申请第二方面的第一至第三固态存储设备之一,提供了根据本申请第二方面的第四固态存储设备,其中所述控制部件识别在指定时间间隔内是否已向获取的所述一个或多个物理块发送了原位操作命令,以及仅向未被发送原位操作命令的物理块发送原位操作命令。根据本申请第二方面的第一至第四固态存储设备之一,提供了根据本申请第二方面的第五固态存储设备,其中所述控制部件根据所述一个或多个物理块的寿命,在原位操作命令中设置用于弱编程脉冲的参数,所述参数指示一个或多个弱编程脉冲的幅度和或持续时间。根据本申请第二方面的第一至第五固态存储设备之一,提供了根据本申请第二方面的第六固态存储设备,其中所述控制部件在原位操作命令中设置用于原位操作的物理页地址。根据本申请第二方面的第四固态存储设备,提供了根据本申请第二方面的第七固态存储设备,其中所述控制部件依据当前正在向第一物理块写入数据,而识别在指定时间间隔内已向获取的所述第一物理块发送了原位操作命令。根据本申请第二方面的第一至第七固态存储设备之一,提供了根据本申请第二方面的第八固态存储设备,其中所述控制部件还从一个或多个NVM芯片接收原位操作命令的执行结果。根据本申请第二方面的第一至第七固态存储设备之一,提供了根据本申请第二方面的第九固态存储设备,其中所述控制部件包括介质接口控制器与闪存管理单元;闪存管理单元指示介质接口控制器向一个或多个物理块发出读命令、编程命令擦除命令或者原位操作命令;介质接口控制器响应于闪存管理单元的指示,向一个或多个物理块发出读命令、编程命令擦除命令或者原位操作命令。根据本申请第二方面的第九固态存储设备,提供了根据本申请第二方面的第十固态存储设备,其中所述介质接口控制器响应于收到对第一编程命令的指示,在第一物理块的第一物理页完成对第一编程命令的处理后,向第一物理块发出第一原位操作命令。根据本申请第二方面的第十固态存储设备,提供了根据本申请第二方面的第十一固态存储设备,其中第一原位操作命令指示同第一编程命令相同或不同的物理地址,或者第一原位操作命令指示第一物理块上的指定物理页地址。根据本申请第二方面的第十或第十一固态存储设备,提供了根据本申请第二方面的第十二固态存储设备,其中所述介质接口控制器向所述闪存管理单元指示第一编程命令处理完成,还向所述闪存管理单元指示已向第一物理块发送了原位操作命令。根据本申请第二方面的第九至第十二固态存储设备之一,提供了根据本申请第二方面的第十三固态存储设备,其中所述闪存管理单元响应于定时器到时,获取一个或多个物理块,并向所述介质接口控制器发送对原位操作命令的指示。根据本申请第二方面的第十三固态存储设备,提供了根据本申请第二方面的第十四固态存储设备,其中对于获取的一个或多个物理块,所述闪存管理单元识别在当前时间间隔是否向所述一个或多个物理块发出了编程命令,对于已向其发送了编程命令的第二物理块,不向所述介质接口控制器发送对应于第二物理块的原位操作命令的指示。根据本申请第二方面的第一至第十四固态存储设备之一,提供了根据本申请第二方面的第十五固态存储设备,其中所述一个或多个NVM芯片是根据本申请第一方面的非易失存储器芯片。根据本申请的第三方面,提供了根据本申请第三方面的第一操作NVM芯片的方法,包括:向NVM芯片的一个或多个物理块发出原位操作命令,所述原位操作命令指示命令代码与物理块地址。根据本申请第三方面的第一操作NVM芯片的方法,提供了根据本申请第三方面的第一操作NVM芯片的方法,还包括:向第一物理块的第一物理页发出编程命令;作为响应,在所述编程命令被NVM芯片执行完成后,向第一物理块发出原位操作命令。根据本申请第三方面的第一或第二操作NVM芯片的方法,提供了根据本申请第三方面的第三操作NVM芯片的方法,其中向NVM芯片的一个或多个物理块发出原位操作命令是周期性的。根据本申请第三方面的第一至第三操作NVM芯片的方法之一,提供了根据本申请第三方面的第四操作NVM芯片的方法,其中响应于定时器到时,获取一个或多个物理块,并向一个或多个物理块的每个发出原位操作命令。根据本申请第三方面的第一至第四操作NVM芯片的方法之一,提供了根据本申请第三方面的第五操作NVM芯片的方法,其中识别在指定时间间隔内是否已向所述一个或多个物理块发送了原位操作命令,以及仅向未被发送原位操作命令的物理块发送原位操作命令。根据本申请的的四方面,提供了根据本申请第四方面的第一固态存储设备,包括存储器与处理器,所述存储器中存储程序,所述程序被所述处理器执行时,使所述处理器执行根据本申请第三方面的第一至第五操作NVM芯片的方法之一。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1展示了现有技术的存储设备的框图;图2为本申请实施例的固态存储设备的控制部件的示意图;图3是NVM芯片的框图;图4A是根据本申请的实施例的控制部件向NVM芯片发出原位操作命令的流程图;图4B是根据本申请的又一实施例的控制部件向NVM芯片发出原位操作命令的流程图;以及图4C是根据本申请的另一实施例的控制部件向NVM芯片发出原位操作命令的流程图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。图2是根据本申请实施例的固态存储设备的控制部件的框图。固态存储设备的控制部件104中包括主机接口210、前端处理模块220、闪存管理模块230以及一个或多个介质接口控制器240。主机接口210用于同主机交换命令与数据。闪存管理模块230提供逻辑地址到物理地址映射、磨损均衡、垃圾回收等功能,并生成IO命令发送给介质接口控制器240。介质接口控制器耦合到NVM芯片105。介质接口控制器有一个或多个,每个接口控制器耦合到各自的NVM芯片105。介质接口控制器接收IO命令,并根据IO命令向NVM芯片发出IO命令读、编程、擦除、暂停、读取特征feature、设置特征和或原位操作等命令。在一个例子中,介质接口控制器提供具有不同优先级的多个队列例如队列242与队列244,其中队列242是高优先级队列而队列244是低优先级队列来接收IO命令。闪存管理模块230将读命令填入接口控制器的高优先级队列,使介质接口控制器优先处理读命令。而将编程命令、擦除命令、原位操作命令和或不要求处理延迟的读命令填入介质接口控制器的低优先级队列。介质接口控制器会优先处理高优先级队列242中的命令,而以低优先级处理队列244中的命令。可以理解地,闪存管理模块也可将其他类型的IO命令填入高优先级队列。根据本申请的实施例,一般情况下,介质接口控制器优先处理高优先级队列中的IO命令,而以低优先级处理低优先级队列中的IO命令。介质接口控制器包括多个处理单元,每个处理单元负责访问例如NVM芯片的逻辑单元LUN之一。介质接口控制器根据IO命令访问的LUN,由对应的处理单元处理IO命令。各处理单元用于向NVM芯片发出命令,并接收NVM芯片对命令做出的响应。根据本申请的实施例,NVM芯片提供原位操作命令。同NVM芯片耦合的介质接口控制器向NVM芯片的LUN发出原位操作命令,NVM芯片的LUN接收原位操作命令,根据原位操作命令的指示进行处理。以及可选地,就原位操作命令执行完成,向介质接口控制器给出响应。一般情况下,NVM芯片的存储单元被编程后到被擦除之前,不再接受编程操作,而原位操作命令对已经被编程的存储单元产生编程效果。由于原位操作命令作用于已被编程的存储单元,为此将其称为“原位操作”。作为一个例子,原位操作命令包括命令代码与物理地址。命令代码识别原位操作命令,而物理地址指示访问的平面号、物理块号与物理页地址。NVM芯片响应于接收原位操作命令,依据命令的物理地址访问物理页,从物理页读出数据,并用读出的数据对物理页原位编程。原位编程不同于通常的编程操作。通常的编程操作,以一系列编程脉冲连同验证操作,向NVM芯片处于擦除状态的存储单元写入数据。原位编程作用于处于被编程状态的存储单元,通过施加相对较弱的编程脉冲例如,编程脉冲的电压幅度、持续时间、数量等参数小于通常的编程操作的编程脉冲,使得被原位编程的存储单元的状态,对应于存储单元被写入的数据。例如,对原位操作命令所指示的存储单元施加一个相对较弱的编程脉冲,继而验证存储单元的状态是否对应于目标数据。可选地,通过多个相对较弱的编程脉冲,使存储单元的状态对应于目标数据。由于编程脉冲对存储单元的状态的改变是单向的,若存储单元的状态尚未达到对应于目标数据的状态,可继续施加相对较弱的编程脉冲;若存储单元的状态已达到或超过对应于目标数据的状态,不再施加编程脉冲。无论怎样,在原文编程中,至少一个相对较弱的编程脉冲被施加给存储单元。在一个例子中,使用用物理页读出的原始数据作为实施原位编程操作的目标数据,使得被原位编程的存储单元的状态,对应于目标数据。作为另一个例子,对物理页读出的数据进行错误校正,用校正后的数据作为原位编程操作的目标数据。可选地,NVM芯片还就原位编程操作完成,对原文操作命令给出应答。可选地,原位操作命令中还指示所使用的相对较弱的编程脉冲的参数例如,编程脉冲的电压幅度、持续时间等数量。NVM芯片根据原位操作命令指示的参数,生成编程脉冲。控制部件根据NVM芯片所处的生命周期和或工作环境,指示对应的编程脉冲参数。作为又一个例子,原位操作命令包括命令代码、物理地址以及目标数据。NVM芯片根据原位操作命令提供的目标数据,作为实施原位编程操作的目标数据。作为另一个例子,原位操作命令包括命令代码与物理地址,而物理地址指示访问的平面号与物理块号,而不识别物理页地址。NVM芯片根据原位操作命令,生成随机的或指定的物理页地址。指定的物理页地址是例如,物理块内的第一个物理页、最后物理页或居中的物理页的地址。以及对由原位操作命令指示的物理块内的生成的物理页地址,执行原位编程操作。由于物理块内的各个存储单元彼此直接或间接地耦合,对物理块内的随机或指定物理页的原位编程操作将对物理块内的其他物理页产生微弱的编程效果,并补偿快速初始电荷丢失的影响。可选地,在原位编程操作中,施加一个相对较弱的编程脉冲,而无须执行后续的验证操作。作为依然另一个例子,原位操作命令包括命令代码与物理地址,而物理地址指示访问的平面号与物理块号,而不识别物理页地址。NVM芯片根据原位操作命令,对指定的物理块的所有物理页,施加原位编程操作。例如,选中物理块内的所有物理页,并向所有选中的物理页的字线施加较弱的编程脉冲。可选地,在原位编程操作中,施加一个相对较弱的编程脉冲,而无须执行后续的验证操作。作为再一个例子,原位操作命令包括命令代码与物理地址,而物理地址指示访问的平面号与物理块号,而不识别物理页地址。NVM芯片根据原位操作命令,对指定的物理块的指定或随机的物理页,施加读操作。对于普通的读操作,物理块内未被选中的物理页的字线被施加选通电压,选通电压一般低于施加给字线的编程电压,从而选通电压对物理页产生了类似于较弱的编程脉冲的效果。并补偿快速初始电荷丢失的影响。作为举例,物理块包括例如一个伪dummy物理页。为对伪物理页实施读操作,物理块的除伪物理页外的其他物理页被施加选通电压,从而在物理块的除伪物理页外的所有其他物理页上产生了类似于较弱的编程脉冲的效果。以及NVM芯片根据原位操作命令,对伪物理页,施加读操作。NVM芯片对指定的物理块施加读操作以施加选通电压,而不获取读出数据,例如,无须对位线的输出进行放大、比较、和或译码。作为再一个例子,原位操作命令是不要求数据输出的读命令。NVM芯片根据原位操作命令,对指定物理块的指定物理页,施加读操作。从而,对指定物理块的除指令物理页之外的所有物理页的字线施加选通电压。NVM芯片可以从被读取的物理页的位线输出得到所存储的数据。从而,NVM芯片无须被改进,即可支持原位操作命令。可选地,由于原位操作命令不要求数据输出,NVM芯片不向介质接口控制器传输所读出的数据。从而降低了原位操作命令的处理延迟。根据本申请的实施例,固态存储设备的控制部件104通过向NVM芯片105发出原位操作命令,来补偿NVM芯片的快速初始电荷丢失现象的影响。控制部件104向NVM芯片的每个物理块,重复地发出原位操作命令。例如,控制部件104设置定时器,每隔指定的时间间隔,定时器到时,作为响应,控制部件104获取一个或多个物理块,并向物理块发出原位操作命令。而当定时器下一次到时,控制部件104再获取另一个或多个物理块,并向这些物理块发出原位操作命令。从而使得对于每个物理块,均在一定时间间隔内,收到原位操作命令。可选地,控制部件104根据固态存储设备的使用情况而设置用于原位操作命令的参数。例如,根据所访问的物理块的寿命被擦写次数而调整用于原位操作命令的参数。图3展示了根据本申请实施例的NVM芯片的框图。以NAND闪存作为NVM芯片的例子。通过接收、处理与响应诸如IO命令的存储器命令,NVM芯片提供服务。NVM芯片包括IO接口、控制逻辑单元与存储单元阵列。IO接口用于接收与发送IO命令中的地址和或数据。可选地,数据和或地址还包括存储器命令的命令代码。IO接口将IO命令中的命令代码存储到命令寄存器,将IO命令中的地址存储到地址寄存器,以及将IO命令中的数据存储到数据寄存器,或者对于读命令,数据寄存器的数据被通过IO接口传输给诸如控制部件104也参看图1与图2。IO接收还耦合到状态寄存器,状态寄存器存储IO命令的执行结果,IO接口将IO命令的执行结果提供给诸如控制部件104。IO接口通过外部信号引脚接收与发送IO命令中的地址和或数据,例如,在ONFI协议中定义的DQ、DQS信号引脚。控制逻辑单元用于根据IO命令的指示,控制NVM芯片对IO命令的处理过程。控制部件通过外部信号引脚接收IO命令,并发送IO命令的执行结果。例如,在ONFI协议中定义了CE、CLE、ALE和或WE信号引脚。控制逻辑单元根据外部信号引脚识别IO命令,获取IO命令的地址、数据和或命令代码,以及根据命令代码和或外部信号,控制对存储单元阵列的读、编程或擦除等操作过程,操作高电压生成器向存储单元阵列提供所需的读脉冲、编程脉冲和或擦除脉冲,以及将IO命令处理结果填入状态寄存器,还通过外部信号引脚向诸如控制部件104指示IO命令执行的进度和结果。存储单元阵列包括多个存储单元,用于存储数据。存储单元可被编程、读取与擦除。存储单元阵列还耦合到列译码器、行译码器与数据寄存器。列译码器用于对地址中的列地址进行译码,以选择所访问的列。行译码器用于对地址中的行地址进行译码,以选择所访问的行。还提供地址译码器以识别IO命令所访问的LUN、平面Plane和或物理块。数据寄存器缓存要写入存储单元的数据,和或从存储单元读出的数据。根据本申请的实施例,响应于收到原位操作命令,控制逻辑单元从命令寄存器识别出原位操作命令。原位操作命令所访问的地址被存储在地址寄存器。可选地,对于没有携带物理页地址的原位操作命令,控制逻辑单元还生成随机或指定的物理页地址。对物理页地址进行地址译码,选中对应的物理页。控制逻辑单元指示高电压生成器生成较弱的编程脉冲读脉冲施加给选中的物理页,选中的物理页所在的物理块,或者选中的物理页所在的物理块中除选中的物理页之外的所有物理页。控制逻辑单元控制高电压生成器产生的较弱的编程脉冲读脉冲的参数,并生成指示原位操作命令的执行结果的信息,存储到状态寄存器。以及控制逻辑单元还通过外部信号引脚向控制部件104给出原位操作命令的执行结果。作为一个例子,原位操作命令包括命令代码与物理地址。物理地址指示物理块。控制逻辑单元根据物理地址,指示行译码器选中物理块的所有字线。控制逻辑单元从而通过高电压生成器向物理块的所有字线施加较弱的编程脉冲,并控制该编程脉冲被施加给字线的时间。以及生成指示原位操作命令的执行结果的信息。作为一个例子,原位操作命令包括命令代码与物理地址。物理地址指示物理块。控制逻辑单元根据物理地址,生成伪物理页的页地址提供给行译码器,以通过行译码器选中伪物理页。控制逻辑单元从而通过高电压生成器向物理块的除伪物理页之外的所有字线施加较弱的编程脉冲。作为一个例子,原位操作命令包括命令代码与物理地址。物理地址指示物理页。行译码器根据物理页地址选中对应于物理页的字线,控制逻辑单元向物理页施加读信号。从物理页读出的数据被存储在数据寄存器。控制逻辑单元再用数据寄存器中的数据对该被选中的物理页进行原位编程操作。可选地,还对数据寄存器中的数据进行错误校正,用校正后的数据进行原位编程操作。作为一个例子,原位操作命令是读命令。读命令的物理页地址使得行译码器选中物理块中同物理页地址对应的字线,并向物理块中除被读取的物理页之外的其他物理页对应的字线施加选通电压。可选地,不从存储单元阵列向数据寄存器传输数据,或者在从数据寄存器通过IO接口向控制部件104传输数据之前,控制逻辑单元已生成了指示原位操作命令执行结果的信息,并提供给控制部件104。可选地,控制逻辑单元还从原位编程操作命令中获取指示用于较弱的编程脉冲的参数,并根据参数控制高电压生成器产生的编程脉冲的幅度、形状和或持续时间。图4A是根据本申请的实施例的控制部件104向NVM芯片105发出原位操作命令的流程图,由控制部件104的介质接口控制器240也参看图2实施。介质接口控制器240识别向NVM芯片的存储单元发出了编程命令410,在编程命令之后,再向相同的存储单元发出原位操作命令420。该随后的原位操作命令是介质接口控制器添加的,而不是闪存管理模块230参看图2发送给介质接口控制器的。在介质接口控制器240的控制下,编程命令与其随后的原位操作命令被连续地发出,其间不插入其他访问相同LUN的命令。作为举例,对物理块的连续的编程命令的每个,介质接口控制器都在其后添加访问该物理块的原位操作命令。可选地,介质接口控制器240在编程命令与其随后的原位操作命令之间还插入指定时间间隔例如,几毫秒到几十毫秒,以最大化对快速初始电荷丢失现象的补偿效果。为提升固态存储设备的性能,在指定时间间隔内,若出现对编程命令与其随后的原位操作命令所访问LUN的访问请求,介质接口控制器240被允许根据此类访问请求向该LUN发出访问命令。进一步地,若访问命令恰好是对编程命令与其随后的原位操作命令所访问的物理块的读命令或原位操作命令,该随后的原位操作命令可被省去。在可选的实施方式中,介质接口控制器240的各处理单元实施图4A所展示的处理流程。处理单元负责向例如一个LUN发出IO命令,在发出编程命令后,向编程命令所访问的物理块再发出原位操作命令。进一步地,处理单元还记录物理块被编程的位置。响应于物理块的部分物理页尚未被编程,处理单元在原位操作命令中,指示仅向物理块的已被编程的物理页,或者物理块的伪物理页发出原位操作命令。例如,对物理块的各个物理页顺序的编程,处理单元记录物理块当前被编程的位置,而在为编程命令添加原位操作命令时,仅对该位置之前的物理页或伪物理页发出原位操作命令。可选地或进一步地,介质接口控制器240还获取编程命令所要写入的数据,并将数据用于原位操作命令的目标数据。图4B是根据本申请的又一实施例的控制部件104向NVM芯片105发出原位操作命令的流程图,由控制部件104的例如闪存管理模块参看图2,闪存管理模块230实施。图4B所指示的操作,作为固态存储设备的后台任务,被偶尔或周期性地执行,并且不依赖于主机或其他设备对固态存储设备的访问。可选地,后台任务的优先级低于主机对固态存储设备的访问的优先级。在后台任务中,闪存管理模块230向固态存储设备的各个物理块发送原位操作命令。例如,按照各个LUN的物理块地址的顺序,获取各个LUN的物理块440,并向各个LUN的每个物理块发送原位操作命令450。由介质接口控制器按照闪存管理模块230的指示,将原位操作命令发送给相应的NVM芯片。可选地,闪存管理模块维护指定的时间间隔例如,几毫秒到几十毫秒,每个指定的时间间隔,向物理块发送一次原位操作命令。在指定的时间间隔内,闪存管理模块230选择合适的时机发送原位操作命令。例如,选择固态存储设备的工作负载较轻的时间段向一个或多个物理块发送原位操作命令;或者,尽量以平均的时间间隔发出原位操作命令,以降低固态存储设备负载的波动性。作为又一个例子,闪存管理模块230为每个物理块维护标志信息。每当指定的时间间隔开始或结束,将所有物理块的标志信息置位。以及在要发送原位操作命令时,检查对应物理块的标志信息,若标志信息未被清除,则向该物理块发出原位操作命令;而若标志信息已被清楚,则不向该物理块发出原位操作命令。以及相应地,介质接口控制器每当按照图4A所示的流程发出原位操作命令时,也将该远位操作命令所访问的物理块所对应的标志信息清除,以向闪存管理模块230指示当前时间间隔中,无须再向该物理块发送原位操作命令。作为依然又一个例子,闪存管理模块230为访问固态存储设备的写命令分配物理地址,从而知晓当前正在被编程的一个或物理块。在指定的时间间隔内,闪存管理模块230向各个物理块发送原位操作命令时,掠过当前正在被编程的一个或多个物理块,而不向当前正在被编程的物理块发送原位操作命令。以此方式,闪存管理模块230无须维护同物理块对应的标志信息,节约了内存占用,提高了效率。图4C是根据本申请的另一实施例的控制部件104向NVM芯片105发出原位操作命令的流程图,由控制部件104的例如闪存管理模块参看图2,闪存管理模块230与介质接口控制器240协同实施。在指定的时间间隔,例如,响应于定时器到时460,闪存管理模块230获取一个或多个物理块470。作为举例,按照物理块的地址的顺序,依次获取物理块。闪存管理模块230识别获取的物理块在当前时间间隔内是否曾收到原位操作命令480,对于未曾收到原位操作命令的物理块,向其发出原位操作命令490。在一个例子中,闪存管理模块230依据物理块的标志信息识别物理块在当前时间间隔内是否曾收到原位操作命令;以及伴随着向物理块发出原位操作命令,更改该物理块的标志信息。闪存管理模块230与介质接口控制器240都生成原位操作命令,继而也都更新物理块的标志信息。作为又一个例子,闪存管理模块230知晓当前正在被编程的一个或物理块,对于这些物理块,其将收到由介质接口控制器240生成的原位操作命令,从而闪存管理模块230在当前时间间隔内不向其发送原位操作命令。介质接口控制器240,响应于收到闪存管理模块230发出的对原位操作命令的指示,向对应的物理块发出原位操作命令;响应于收到闪存管理模块230发出的对编程命令的指示,向对应的物理块发出编程命令,并生成原位操作命令,在编程命令被处理完成后,向对应的物理块发出原位操作命令。介质接口控制器240,响应于将原位操作命令发送给物理块,还更新同物理块对应的标志信息,以向闪存管理模块230指示,当前时间间隔内,无须再向物理块发出原位操作命令。可选地,介质接口控制器240,响应于收到闪存管理模块230发出的对读命令的指示,向对应的物理块发出读命令,以及也更新同物理块对应的标志信息。在此例子中,读命令产生与原位操作命令类似的效果。可选地,介质接口控制器在生成原位操作命令时,还生成随机的或指定的页地址。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

权利要求:1.一种非易失存储器芯片,包括IO接口、控制逻辑电路与存储单元阵列;IO接口接收原位操作命令,将命令代码存储到命令寄存器,其中原位操作命令指示物理块地址;控制逻辑电路根据命令寄存器的内容与所述物理块地址,指示高电压生成器向所述物理块的一个或多个物理页施加弱编程脉冲,其中所述一个或多个物理页已被编程;控制逻辑电路将原位操作命令的执行结果写入状态寄存器;以及IO接口输出状态寄存器的内容。2.根据权利要求1所述的非易失存储器芯片,其中原位操作命令还指示目标数据;所述IO接口将目标数据写入数据寄存器;控制电路根据地址寄存器指示的物理页地址,用一个或多个弱编程脉冲将目标数据写入所述物理页地址所指示的物理页。3.根据权利要求1所述的非易失存储器芯片,其中原位操作命令不指示目标数据;控制电路根据地址寄存器指示的物理页地址,指示高电压生成器将单一弱编程脉冲施加给所述物理页地址所指示的物理页。4.根据权利要求1所述的非易失存储器芯片,其中控制电路根据地址寄存器指示的物理块地址与物理页地址,指示高电压生成器向所述物理块地址对应的物理块的除所述物理页地址对应的物理页之外的所有其他物理页施加一个或多个弱编程脉冲。5.一种固态存储设备,包括控制部件与耦合到控制部件的一个或多个NVM芯片,所述控制部件获取一个或多个NVM芯片的一个或多个物理块,向所述一个或多个物理块的发出原位操作命令,所述原位操作命令指示命令代码与物理块地址。6.根据权利要求5所述的固态存储设备,其中所述控制部件识别在指定时间间隔内是否已向获取的所述一个或多个物理块发送了原位操作命令,以及仅向未被发送原位操作命令的物理块发送原位操作命令。7.根据权利要求5或6所述的固态存储设备,其中所述控制部件根据所述一个或多个物理块的寿命,在原位操作命令中设置用于弱编程脉冲的参数,所述参数指示一个或多个弱编程脉冲的幅度和或持续时间。8.根据权利要求5-7之一所述的固态存储设备,其中所述控制部件包括介质接口控制器与闪存管理单元;闪存管理单元指示介质接口控制器向一个或多个物理块发出读命令、编程命令擦除命令或者原位操作命令;介质接口控制器响应于闪存管理单元的指示,向一个或多个物理块发出读命令、编程命令擦除命令或者原位操作命令。9.根据权利要求8所述的固态存储设备,其中所述介质接口控制器响应于收到对第一编程命令的指示,在第一物理块的第一物理页完成对第一编程命令的处理后,向第一物理块发出第一原位操作命令。10.一种操作NVM芯片的方法,包括:向NVM芯片的一个或多个物理块发出原位操作命令,所述原位操作命令指示命令代码与物理块地址。

百度查询: 北京忆恒创源科技股份有限公司 支持原位操作的NVM芯片、其操作方法以及固态存储设备

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。