一种Nandflash元件及其低格控制方法和装置与流程

文档序号:14838058发布日期:2018-06-30 13:15阅读:270来源:国知局
一种Nand flash元件及其低格控制方法和装置与流程

本发明涉及内存技术领域,特别是涉及一种Nand flash元件及其低格控制方法和装置。



背景技术:

Nand flash是flash存储器的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。Nand flash有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。

Nand flash的数据是以bit的方式保存在memory cell中,一般来说,每个cell中只能存储一个bit;这些cell以8个或者16个为单位,连成bit line,形成所谓的byte(x8)/word(x16),这就是NAND Device的位宽。这些bit line再组成Page,根据厂商或型号的不同,每页的bit line数也不同;多个page形成一个Block,例如32个page。具体一片Nand flash上有多少个Block视需要所定。

Nand flash需要控制器管理其功能,例如ECC校验、坏块管理、地址映射、损耗均衡等,然而一般的Nand flash在其封装体内均没有设置相应的内部控制器,因此,上述对其功能的管理均依赖相应的主控制器去实现,从而增加了相应主控制器的负担。



技术实现要素:

有鉴于此,本发明提供了一种Nand flash元件及其低格控制方法和装置,以解决Nand flash元件因需要依赖主控制器对其进行管理而导致主控制器负担较重的问题。

为了解决上述问题,本发明公开了一种Nand flash元件,包括一个封装体,所述封装体内封装有Nand flash内核和内部控制器,其中:

所述内部控制器用于对所述Nand flash内核进行ECC校验管理、坏块管理、地址映射管理或损耗均衡管理;

所述低格模块用于根据上位机发送的低格控制程序对所述Nand flash内核进行低级格式化操作。

另外,本发明还提供了一种低格控制方法,应用于如上所述的Nand flash元件的低格模块,所述低格控制方法包括步骤:

检测所述Nand flash元件的封装体内有多少个Nand flash内核;

从所述Nand flash内核中进行坏块检查;

对所述Nand flash内核进行块管理,并生成地址映射表;

从上位机接收所述Nand flash元件的产品固件,并保存在所述Nand flash内核中;

保存所述Nand flash的映射表和所述上位机发送的配置信息。

可选的,所述对所有所述Nand flash内核进行坏块检查,包括:

对所述Nand flash内核中所有的块进行检查;

将检查到的坏块的块物理地址加入到坏块表。

可选的,所述对所述Nand flash内核进行块管理,包括:

对坏块之外的所有块进行分配,分配出用户区和管理区,所述管理区中包括空闲块;

当所述用户区或所述管理区中产生坏块时,将所述空闲块对所述用户区或所述管理区进行替换,并更新坏块表和所述地址映射表。

可选的,所述用户区用于供用户存储用户数据;

所述管理区用于存储系统数据、映射表、产品固件和配置信息中的部分或全部。

可选的,所述从上位机接收所述Nand flash元件的产品固件,并保存在所述Nand flash内核中,包括:

将所述产品固件保存在所述管理区中。

相应的,为了保证上述方法的实施,本发明还提供了一种低格控制装置,应用于如前所述的Nand flash元件的低格模块,所述低格控制装置包括:

内核检测模块,用于检测所述Nand flash元件的封装体内有多少个Nand flash内核;

坏块检查模块,用于从所述Nand flash内核中进行坏块检查;

块管理模块,用于对所述Nand flash内核进行块管理;

固件加载模块,用于从上位机接收所述Nand flash元件的产品固件,并保存在所述Nand flash内核中;

信息保存模块,用于保存所述Nand flash的映射表和所述上位机发送的配置信息。

可选的,所述坏块检查模块于包括:坏块检查单元,对所述Nand flash内核中所有的块进行检查;坏块记录单元,用于将检查到的坏块的块物理地址加入到坏块表。

可选的,所述块管理模块包括:

块分配单元,用于对坏块之外的所有块进行分配,分配出用户区和管理区,所述管理区中包括空闲块;

块替换单元,用于当所述用户区或所述管理区中产生坏块时,将所述空闲块对所述用户区或所述管理区进行替换,并更新坏块表和所述地址映射表。

可选的,所述用户区用于供用户存储用户数据;

所述管理区用于存储系统数据、映射表、产品固件和配置信息中的部分或全部。

可选的,所述固件加载模块具体用于将所述产品固件保存在所述管理区中。

从上述技术方案可以看出,本发明提供了一种Nand flash元件及其低格控制方法和装置,该Nand flash元件具体包括一个封装体,封装体内封装有Nand flash内核和内部控制器,内部控制器包括低格模块。该内部控制器用于对Nand flash内核进行读操作、写操作、擦除操作、ECC校验管理、坏块管理、地址映射管理或损耗均衡管理,这样一来也就无需通过片外的主控制器实现上述管理,从而有效解决了主控制器负担较重的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种Nand flash元件的结构框图;

图2为本发明实施例提供的一种低格控制方法的步骤流程图;

图3为本发明实施例提供的一种低格控制装置的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

图1为本发明实施例提供的一种Nand flash元件的结构框图。

参照图1所示,本实施例提供的Nand flash元件包括一个封装体10,该封装体内设置有Nand flash内核11和一个内部控制器12。该Nand flash内核包括有多个Block,每个Block由多个Page组成,每个Page则由多个Cell line构成,该内核还包括存储ECC校验码的存储区域。

上述内部控制器用于对Nand flash内核进行控制,该内部控制器的具体包括基础配置模块121、基础加载模块122、低格模块123和产品固件模块124。

其中,上述基础配置模块用于存储该Nand flash内核的基础信息和配置信息,如页大小,块大小,含有多少个块,查找坏块的方式,ECC等;基础加载模块用于接收上位机发送的数据信息和控制信息,并将产品固件加载加载到RAM中;低格模块用于根据从上位机接收到的控制信息对Nand flash内核进行低级格式化操作;产品固件模块则用于根据上位机发送的数据信息和控制信息对Nand flash内核进行读操作、写操作、擦除操作、ECC校验管理、坏块管理、地址映射管理和损耗均衡管理等。

从上述技术方案可以看出,本实施例提供了一种Nand flash元件,具体包括一个封装体,封装体内封装有Nand flash内核和内部控制器,内部控制器的固件包括低格模块。该内部控制器用于对Nand flash内核进行读操作、写操作、擦除操作、ECC校验管理、坏块管理、地址映射管理或损耗均衡管理,这样一来也就无需通过片外的主控制器实现上述管理,从而有效解决了主控制器负担较重的问题。

实施例二

图2为本发明实施例提供的一种低格控制方法的步骤流程图。

参照图2所示,本实施例提供的低格控制方法应用于上一实施例的内部控制器,具体来说应用于该内部控制器的低格模块,该低格控制方法具体包括如下步骤:

S101:检测封装体内有多少Nand flash内核。

为了适应用户对不同容量的需求,在封装体内可能会有多个Nand flash内核,因此,为了对本元件进行精确的管理,在运行低格程序时,首先对Nand flash元件所在的封装体具体有多少的Nand flash内核进行检测。

S102:对Nand flash内核的坏块进行检查。

在确定Nand flash内核的数量后,对每个Nand flash内核进行坏块检查,以避免坏块影响对元件的正常使用。该检查的具体过程为:

对每个Nand flash内核的块进行检查,以确定相应块是否已经损坏;通过完整的检查过程后,将检查到的坏块的块物理地址加入到坏块表中,这样,在以后的使用中就不再对坏块表中所记录的块进行使用。

S103:对Nand flash内核进行块管理。

这里的块管理是指对所有正常的块进行分配,具体为:对经过坏块检查后所有正常的块进行分配,具体是分配出用户区和管理区,用户区用于留给用户存储用户数据,管理区的一部分则用于存储系统数据、映射表、产品固件、配置信息等,其余的块则为空闲块;当用户区或管理区在使用者中产生坏块时,还可以将空闲块替换到用户区或管理区中,并更新坏块表和地址映射表。

S104:将从上位机接收的产品固件保存在Nand flash内核中。

在将Nand flash内核进行相应的块管理后,即划分出用户区或管理区后,接收上位机发送的产品固件,并将该产品固件存储在Nand flash内核中,具体来说,是将该产品固件保存在前述所划分出的管理区中。

S105:保存Nand flash元件的映射表和配置信息。

在将产品固件保存在相应的管理区后,随后或者同时将该元件的映射表和配置信息也存储在相应的管理区中。

从上述技术方案可以看出,本实施例提供了一种对Nand flash元件进行低级格式化操作的具体方法。

实施例三

图3为本发明实施例提供的一种低格控制装置的结构框图。

参照图3所示,本实施例提供的低格控制方法应用于实施例一中的内部控制器,具体来说应用于该内部控制器的固件的低格模块,该低格控制装置具体包括内核检测模块20、坏块检查模块30、块管理模块40、固件加载模块50和信息保存模块60。

内核检测模块用于检测封装体内有多少Nand flash内核。

为了适应用户对不同容量的需求,在封装体内可能会有多个Nand flash内核,因此,为了对本元件进行精确的管理,在运行低格程序时,首先对Nand flash元件所在的封装体具体有多少的Nand flash内核进行检测。

坏块检查模块用于对Nand flash内核的坏块进行检查。

在确定Nand flash内核的数量后,对每个Nand flash内核进行坏块检查,以避免坏块影响对元件的正常使用。该模块具体包括坏块检查单元和坏块记录单元。

坏块检查单元用于对每个Nand flash内核的块进行检查,以确定相应块是否已经损坏;坏块记录单元用于通过完整的检查过程后,将检查到的坏块的块物理地址加入到坏块表中,这样,在以后的使用中就不再对坏块表中所记录的块进行使用。

块管理模块用于对Nand flash内核进行块管理。

这里的块管理是指对所有正常的块进行分配,该模块具体包括块分配单元和块替换单元。块分配单元用于对经过坏块检查后所有正常的块进行分配,具体是分配出用户区和管理区,用户区用于留给用户存储用户数据,管理区的一部分则用于存储系统数据、映射表、产品固件、配置信息等,其余的块则为空闲块;块添加单元用于当用户区或管理区在使用者中产生坏块时,将空闲块替换到用户区或管理区中,并更新坏块表和地址映射表。

固件加载模块用于将从上位机接收的产品固件保存在Nand flash内核中。

在将Nand flash内核进行相应的块管理后,即划分出用户区或管理区后,接收上位机发送的产品固件,并将该产品固件存储在Nand flash内核中,具体来说,是将该产品固件保存在前述所划分出的管理区中。

信息保存模块用于保存Nand flash元件的映射表和配置信息。

在将产品固件保存在相应的管理区后,随后或者同时将该元件的映射表和配置信息也存储在相应的管理区中。

从上述技术方案可以看出,本实施例提供了一种对Nand flash元件进行低级格式化操作的装置。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1