NAND闪存的页映射解码方法及系统、存储介质及终端与流程

    专利2022-07-08  79


    本发明涉及解码算法的技术领域,特别是涉及一种nand闪存的页映射解码方法及系统、存储介质及终端。



    背景技术:

    nand闪存是一种非易失性存储器件,在断电后仍能保存数据。nand闪存由块(block)构成,block的基本单元是页(page)。通常来说,每一个block由16、32或64个page组成。page是nand闪存的最小读写单位,每个page由一定的存储单元(cell)构成。cell是nand闪存的最小工作单位,执行数据存储的任务。nand闪存根据每个cell内可存储的数据量分成单层单元(singlelevelcell,slc)、多层单元(multilevelcell,mlc)、三层单元(trinarylevelcell,tlc)和四层单元(quadlevelcell,qlc),分别能够在每个cell中存储1bit、2bit、3bit和4bit,且成本依次降低,容量依次增大,耐用度也依次降低。

    现有技术中,通过字线(wordline)地址和字符串(string)地址来实现cell在nand闪存中的定位。根据开放nand闪存接口(opennandflashinterface,onfi)协议,用户无需输入wordline地址和string地址。但wordline地址、string地址是nand操作所必需的。因此,需要通过页映射来解码页地址。所述页地址由用户通过cmd命令输入或由nand固件设置。页映射的输出是页对应的wordline地址、string地址以及页类型。所述页类型包括低页(lowpage,lp)、中页(middlepage,mp)和高页(upperpage,up)。

    页映射的解码逻辑取决于用户的应用以及nand闪存的单元特性。现有技术中,通过预定义的页映射规范spec的硬件解码逻辑,如寄存器传输级(registertransferlevel,rtl)来实现页映射的解码。

    对于完整的slc、mlc、tlc和qlc的nand闪存而言,页映射的解码逻辑很简单,为一一对应的。如表1和表2所示,即为完整的slcnand闪存的页映射和完整的tlcnand闪存的页映射。

    表1、slcnand闪存的页映射

    表2、tlcnand闪存的页映射

    但是考虑到过程相关影响,靠近堆栈边缘的wordline(如wl0、wl63、wl64和wl127)通常被定义为tlcnand闪存的slc或mlcwordline,或qlcnand闪存的slc、mlc或tlcwordline。如表3所示,即为qlcnand闪存的页映射,其中边缘wordline是slc,其他wordline是qlc。

    表3、qlcnand闪存的页映射

    因此,对于上述nand闪存的页映射解码方法,需要在设计阶段就知道确切的边缘wl类型,并基于定义的边缘wl类型开发相关的硬件。由于相关的硬件设计不能更改,边缘wordline编号和cell类型需要在流片之前定义,且在硅测试后不能更改。



    技术实现要素:

    鉴于以上所述现有技术的缺点,本发明的目的在于提供一种nand闪存的页映射解码方法及系统、存储介质及终端,优化了rtl页映射解码算法,即使在to封装(outlinepackage)之后也能够更改边缘wordline类型,从而无需进行设计更新就能够根据芯片测试结果灵活更改页映射。

    为实现上述目的及其他相关目的,本发明提供一种nand闪存的页映射解码方法,包括以下步骤:将页地址的每个边缘字线设置为一个特定组,将两个边缘字线之间的字线设置为一个常规组,并将每个组的页地址转换为从预设值开始;分别基于所述特定组和所述常规组对应的页地址进行页映射解码。

    于本发明一实施例中,所述预设值为0时,所述将每个组的页地址转换为从预设值开始包括以下步骤:

    计算所述组的页数目;

    根据所述页数目计算所述组转换后的页地址。

    于本发明一实施例中,所述页数目page_num=(c_l 1)*string_num,其中c_l表示字线中单元类型,string_num表示页地址中的字符串数目。

    于本发明一实施例中,根据所述页数目计算所述组转换后的页地址时,

    当原页地址小于字线0的页数目时,转换后的页地址为所述原页地址;

    当所述原页地址小于字线0和字线1的页数目之和时,转换后的页地址为page-page_num0;其中page为所述原页地址,page_num0为字线0的页数目;

    当所述原页地址小于字线0、字线1和字线2的页数目之和时,转换后的页地址为page-page_num0-page_num1,其中page_num1为字线1的页数目;

    当所述原页地址小于字线0、字线1、字线2和字线3的页数目之和时,转换后的页地址为page-page_num0-page_num1-page_num2;其中page_num2为字线2的页数目;

    当所述原页地址大于等于下层页数目与字线4的页数目之差时,转换后的页地址为page-(lpn-page_num4),其中lpn为所述下层页数目,page_num4为字线4的页数目。

    于本发明一实施例中,位于同一特定组的字线的单元类型相同,是slc、mlc、tlc和qlc中的任意一种。

    对应地,本发明提供一种nand闪存的页映射解码系统,包括设置模块和解码模块;

    所述设置模块用于将页地址的每个边缘字线设置为一个特定组,将两个边缘字线之间的字线设置为一个常规组,并将每个组的页地址转换为从预设值开始;

    所述解码模块用于分别基于所述特定组和所述常规组对应的页地址进行页映射解码。

    于本发明一实施例中,所述预设值为0时,将每个组的页地址转换为从预设值开始包括以下步骤:

    计算所述组的页数目;

    根据所述页数目计算所述组转换后的页地址。

    于本发明一实施例中,所述页数目page_num=(c_l 1)*string_num,其中c_l表示字线中单元类型,string_num表示页地址中的字符串数目。

    于本发明一实施例中,根据所述页数目计算所述组转换后的页地址时,

    当原页地址小于字线0的页数目时,转换后的页地址为所述原页地址;

    当所述原页地址小于字线0和字线1的页数目之和时,转换后的页地址为page-page_num0;其中page为所述原页地址,page_num0为字线0的页数目;

    当所述原页地址小于字线0、字线1和字线2的页数目之和时,转换后的页地址为page-page_num0-page_num1,其中page_num1为字线1的页数目;

    当所述原页地址小于字线0、字线1、字线2和字线3的页数目之和时,转换后的页地址为page-page_num0-page_num1-page_num2;其中page_num2为字线2的页数目;

    当所述原页地址大于等于下层页数目与字线4的页数目之差时,转换后的页地址为page-(lpn-page_num4),其中lpn为所述下层页数目,page_num4为字线4的页数目。

    于本发明一实施例中,位于同一特定组的字线的类型相同,是slc、mlc、tlc和qlc中的任意一种。

    本发明提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的nand闪存的页映射解码方法。

    最后,本发明提供一种终端,包括:处理器及存储器;

    所述存储器用于存储计算机程序;

    所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行上述的nand闪存的页映射解码方法。

    如上所述,本发明的nand闪存的页映射解码方法及系统、存储介质及终端,具有以下有益效果:

    (1)优化了rtl页映射解码算法,即使在to封装之后也能够更改边缘wordline类型;

    (2)能够在后硅测试后定义边缘wordline的编号和单元类型,故无需进行设计更新就能够根据芯片测试结果灵活更改页映射;

    (3)尤其适用于在硅测试后可能需要更改边缘wordline类型的qlcnand闪存和采用新工艺的nand闪存。

    附图说明

    图1显示为本发明的nand闪存的页映射解码方法于一实施例中的流程图;

    图2显示为2堆栈nand闪存的修复于一实施例中的示意图;

    图3(a)显示为本发明中qlc页映射于一实施例中的示意图;

    图3(b)显示为图3(a)所示的页映射进行地址转换后得到的页映射于一实施例中的结构示意图;

    图4显示为本发明的nand闪存的页映射解码系统于一实施例中的结构示意图;

    图5显示为本发明的终端于一实施例中的结构示意图。

    元件标号说明

    41设置模块

    42解码模块

    51处理器

    52存储器

    具体实施方式

    以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

    需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

    本发明的nand闪存的页映射解码方法及系统、存储介质及终端相较于现有技术中的rtl页映射解码算法进行了进一步优化,能够在后硅测试后定义边缘wordline的编号和单元类型,从而无需进行设计更新就能够根据芯片测试结果灵活更改页映射,极具实用性。

    如图1所示,于一实施例中,本发明的nand闪存的页映射解码方法包括以下步骤:

    步骤s1、将页地址的每个边缘wordline设置为一个特定组,将两个边缘wordline之间的wordline设置为一个常规组,并将每个组的页地址转换为从预设值开始。

    具体地,在本发明中,对于用户通过cmd命令输入或由nand固件设置的页地址,通过分组方式进行边缘wordline和非边缘wordline的区分。其中,每个边缘wordline设置为一个特定组,位于两个边缘wordline之间非边缘wordline设置为一个常规组。

    如图2所示的128层2堆栈nand闪存中,每个wordline采用专用的trim(修复)来定义每个边缘wordline的wordline类型,例如c_ll_0,c_ll_1等。位于同一特定组的wordline的类型相同,其可以是任何类型。位于边缘wordline之间的wordline的类型与常规cell模式(如tlc、qlc)对齐。

    为了便于所述特定组和所述常规组的页地址的管理,优选地,在每个特定组和每个常规组内,对页地址进行转换,使得页地址从0开始设置。于本发明一实施例中,将每个组的页地址转换为从0开始包括以下步骤:

    11)计算所述组的页数目。

    具体地,所述页数目page_num=(c_l 1)*string_num,c_l表示wordline中cell类型,string_num表示页地址中的字符串数目。

    12)根据所述页数目计算所述组转换后的页地址。

    具体地,当原页地址小于wordline0的页数目时,转换后的页地址为所述原页地址;

    当所述原页地址小于wordline0和wordline1的页数目之和时,转换后的页地址为page-page_num0;其中page为所述原页地址,page_num0为wordline0的页数目;

    当所述原页地址小于wordline0、wordline1和wordline2的页数目之和时,转换后的页地址为page-page_num0-page_num1,其中page_num1为wordline1的页数目;

    当所述原页地址小于wordline0、wordline1、wordline2和wordline3的页数目之和时,转换后的页地址为page-page_num0-page_num1-page_num2;其中page_num2为wordline2的页数目;

    当所述原页地址大于等于下层页数目与wordline4的页数目之差时,转换后的页地址为page-(lpn-page_num4),其中lpn为所述下层页数目,page_num4为wordline4的页数目。

    在图3(a)和图3(b)所示的husqlc页映射中,边缘wordline是slc,其他非边缘wordline是qlc。将图3(a)所示的页映射进行地址转换后得到图3(b)所示的页映射。如图3(b)所示,将每个边缘wordline对应的特定组的页地址从0开始设置,将两个边缘wordline之间的非边缘wordline对应的常规组的页地址也从0开始设置。

    步骤s2、分别基于所述特定组和所述常规组对应的页地址进行页映射解码。

    具体地,在所述特定组和所述常规组中,cell类型是相同的。因此,在所述特定组和所述常规组中,页映射解码方法与完整的slc、mlc、tlc和qlcnand闪存的页解码方法相同,从而优化了解码算法,能够在后硅测试后定义边缘wordline的编号和单元类型,无需进行设计更新就能够根据芯片测试结果灵活更改页映射。

    如图4所示,于一实施例中,本发明的nand闪存的页映射解码系统包括设置模块41和解码模块42。

    设置模块41用于将页地址的每个边缘wordline设置为一个特定组,将两个边缘wordline之间的wordline设置为一个常规组,并将每个组的页地址转换为从预设值开始。

    具体地,在本发明中,对于用户通过cmd命令输入或由nand固件设置的页地址,通过分组方式进行边缘wordline和非边缘wordline的区分。其中,每个边缘wordline设置为一个特定组,位于两个边缘wordline之间非边缘wordline设置为一个常规组。

    如图2所示的128层2堆栈nand闪存中,每个wordline采用专用的trim(修复)来定义每个边缘wordline的wordline类型,例如c_ll_0,c_ll_1等。位于同一特定组的wordline的类型相同,其可以是任何类型。位于边缘wordline之间的wordline的类型与常规cell模式(如tlc、qlc)对齐。

    为了便于所述特定组和所述常规组的页地址的管理,优选地,在每个特定组和每个常规组内,对页地址进行转换,使得页地址从0开始设置。于本发明一实施例中,将每个组的页地址转换为从0开始包括以下步骤:

    11)计算所述组的页数目。

    具体地,所述页数目page_num=(c_l 1)*string_num,c_l表示wordline中cell类型,string_num表示页地址中的字符串数目。

    12)根据所述页数目计算所述组转换后的页地址。

    具体地,当原页地址小于wordline0的页数目时,转换后的页地址为所述原页地址;

    当所述原页地址小于wordline0和wordline1的页数目之和时,转换后的页地址为page-page_num0;其中page为所述原页地址,page_num0为wordline0的页数目;

    当所述原页地址小于wordline0、wordline1和wordline2的页数目之和时,转换后的页地址为page-page_num0-page_num1,其中page_num1为wordline1的页数目;

    当所述原页地址小于wordline0、wordline1、wordline2和wordline3的页数目之和时,转换后的页地址为page-page_num0-page_num1-page_num2;其中page_num2为wordline2的页数目;

    当所述原页地址大于等于下层页数目与wordline4的页数目之差时,转换后的页地址为page-(lpn-page_num4),其中lpn为所述下层页数目,page_num4为wordline4的页数目。

    在图3(a)和图3(b)所示的husqlc页映射中,边缘wordline是slc,其他非边缘wordline是qlc。将图3(a)所示的页映射进行地址转换后得到图3(b)所示的页映射。如图3(b)所示,将每个边缘wordline对应的特定组的页地址从0开始设置,将两个边缘wordline之间的非边缘wordline对应的常规组的页地址也从0开始设置。

    解码模块42与设置模块41相连,用于分别基于所述特定组和所述常规组对应的页地址进行页映射解码。

    具体地,在所述特定组和所述常规组中,cell类型是相同的。因此,在所述特定组和所述常规组中,页映射解码方法与完整的slc、mlc、tlc和qlcnand闪存的页解码方法相同,从而优化了解码算法,能够在后硅测试后定义边缘wordline的编号和单元类型,无需进行设计更新就能够根据芯片测试结果灵活更改页映射。

    需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如:x模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现。此外,x模块也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),一个或多个微处理器(digitalsignalprocessor,简称dsp),一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

    本发明的存储介质上存储有计算机程序,该程序被处理器执行时实现上述的nand闪存的页映射解码方法。优选地,所述存储介质包括:rom、ram、磁碟、u盘、存储卡或者光盘等各种可以存储程序代码的介质。

    如图5所示,于一实施例中,本发明的终端包括:处理器51和存储器52。

    所述存储器52用于存储计算机程序。

    所述存储器52包括:rom、ram、磁碟、u盘、存储卡或者光盘等各种可以存储程序代码的介质。

    所述处理器51与所述存储器52相连,用于执行所述存储器52存储的计算机程序,以使所述终端执行上述的nand闪存的页映射解码方法。

    优选地,所述处理器51可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

    综上所述,本发明的nand闪存的页映射解码方法及系统、存储介质及终端优化了rtl页映射解码算法,即使在to封装之后也能够更改边缘wordline类型;能够在后硅测试后定义边缘wl的编号和单元类型,故无需进行设计更新就能够根据芯片测试结果灵活更改页映射;尤其适用于在硅测试后可能需要更改边缘wordline类型的qlcnand闪存和采用新工艺的nand闪存。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

    上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。


    技术特征:

    1.一种nand闪存的页映射解码方法,其特征在于:包括以下步骤:

    将页地址的每个边缘字线设置为一个特定组,将两个边缘字线之间的字线设置为一个常规组,并将每个组的页地址转换为从预设值开始;

    分别基于所述特定组和所述常规组对应的页地址进行页映射解码。

    2.根据权利要求1所述的nand闪存的页映射解码方法,其特征在于:所述预设值为0时,所述将每个组的页地址转换为从预设值开始包括以下步骤:

    计算所述组的页数目;

    根据所述页数目计算所述组转换后的页地址。

    3.根据权利要求2所述的nand闪存的页映射解码方法,其特征在于:所述页数目page_num=(c_l 1)*string_num,其中c_l表示字线中单元类型,string_num表示页地址中的字符串数目。

    4.根据权利要求2所述的nand闪存的页映射解码方法,其特征在于:根据所述页数目计算所述组转换后的页地址时,

    当原页地址小于字线0的页数目时,转换后的页地址为所述原页地址;

    当所述原页地址小于字线0和字线1的页数目之和时,转换后的页地址为page-page_num0;其中page为所述原页地址,page_num0为字线0的页数目;

    当所述原页地址小于字线0、字线1和字线2的页数目之和时,转换后的页地址为page-page_num0-page_num1,其中page_num1为字线1的页数目;

    当所述原页地址小于字线0、字线1、字线2和字线3的页数目之和时,转换后的页地址为page-page_num0-page_num1-page_num2;其中page_num2为字线2的页数目;

    当所述原页地址大于等于下层页数目与字线4的页数目之差时,转换后的页地址为page-(lpn-page_num4),其中lpn为所述下层页数目,page_num4为字线4的页数目。

    5.根据权利要求1所述的nand闪存的页映射解码方法,其特征在于:位于同一特定组的字线的单元类型相同,是slc、mlc、tlc和qlc中的任意一种。

    6.一种nand闪存的页映射解码系统,其特征在于:包括设置模块和解码模块;

    所述设置模块用于将页地址的每个边缘字线设置为一个特定组,将两个边缘字线之间的字线设置为一个常规组,并将每个组的页地址转换为从预设值开始;

    所述解码模块用于分别基于所述特定组和所述常规组对应的页地址进行页映射解码。

    7.根据权利要求6所述的nand闪存的页映射解码系统,其特征在于:所述预设值为0时,将每个组的页地址转换为从预设值开始包括以下步骤:

    计算所述组的页数目;

    根据所述页数目计算所述组转换后的页地址。

    8.根据权利要求7所述的nand闪存的页映射解码系统,其特征在于:所述页数目page_num=(c_l 1)*string_num,其中c_l表示字线中单元类型,string_num表示页地址中的字符串数目。

    9.根据权利要求7所述的nand闪存的页映射解码系统,其特征在于:根据所述页数目计算所述组转换后的页地址时,

    当原页地址小于字线0的页数目时,转换后的页地址为所述原页地址;

    当所述原页地址小于字线0和字线1的页数目之和时,转换后的页地址为page-page_num0;其中page为所述原页地址,page_num0为字线0的页数目;

    当所述原页地址小于字线0、字线1和字线2的页数目之和时,转换后的页地址为page-page_num0-page_num1,其中page_num1为字线1的页数目;

    当所述原页地址小于字线0、字线1、字线2和字线3的页数目之和时,转换后的页地址为page-page_num0-page_num1-page_num2;其中page_num2为字线2的页数目;

    当所述原页地址大于等于下层页数目与字线4的页数目之差时,转换后的页地址为page-(lpn-page_num4),其中lpn为所述下层页数目,page_num4为字线4的页数目。

    10.根据权利要求6所述的nand闪存的页映射解码系统,其特征在于:位于同一特定组的字线的类型相同,是slc、mlc、tlc和qlc中的任意一种。

    11.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至5中任一项所述的nand闪存的页映射解码方法。

    12.一种终端,其特征在于,包括:处理器及存储器;

    所述存储器用于存储计算机程序;

    所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行权利要求1至5中任一项所述的nand闪存的页映射解码方法。

    技术总结
    本发明提供一种NAND闪存的页映射解码方法及系统、存储介质及终端,包括以下步骤:将页地址的每个边缘字线设置为一个特定组,将两个边缘字线之间的字线设置为一个常规组,并将每个组的页地址转换为从预设值开始;分别基于所述特定组和所述常规组对应的页地址进行页映射解码。本发明的NAND闪存的页映射解码方法及系统、存储介质及终端优化了RTL页映射解码算法,即使在TO封装之后也能够更改边缘字线类型,从而无需进行设计更新就能够根据芯片测试结果灵活更改页映射。

    技术研发人员:张静;李跃平
    受保护的技术使用者:长江存储科技有限责任公司
    技术研发日:2020.12.15
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-22495.html

    最新回复(0)