CN108628538B - 一种NAND Flash中数据存储方法和装置 - Google Patents

一种NAND Flash中数据存储方法和装置 Download PDF

Info

Publication number
CN108628538B
CN108628538B CN201710161713.XA CN201710161713A CN108628538B CN 108628538 B CN108628538 B CN 108628538B CN 201710161713 A CN201710161713 A CN 201710161713A CN 108628538 B CN108628538 B CN 108628538B
Authority
CN
China
Prior art keywords
storage
nand flash
storage area
area
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710161713.XA
Other languages
English (en)
Other versions
CN108628538A (zh
Inventor
苏志强
刘会娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhaoyi Innovation Technology Group Co ltd
Original Assignee
Beijing Zhaoyi Innovation Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Zhaoyi Innovation Technology Co Ltd filed Critical Beijing Zhaoyi Innovation Technology Co Ltd
Priority to CN201710161713.XA priority Critical patent/CN108628538B/zh
Publication of CN108628538A publication Critical patent/CN108628538A/zh
Application granted granted Critical
Publication of CN108628538B publication Critical patent/CN108628538B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种NAND Flash中数据存储方法和装置,涉及芯片存储技术领域。所述方法,包括:当接收到固有配置信息时,则将所述固有配置信息存储至目标NAND Flash中预设的固化存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第一预设个数的存储块;所述中间区域为包括所述目标NAND Flash中心位置存储块在内的连续区域;当接收到用户配置信息时,则将所述用户配置信息存储至所述目标NAND Flash中预设的用户存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第二预设个数的存储块。解决了现有的NAND FLASH芯片的存储性能不够理想的技术问题,取得了提高NAND FLASH芯片的存储性能的有益效果。

Description

一种NAND Flash中数据存储方法和装置
技术领域
本发明涉及芯片存储技术领域,具体涉及一种NAND Flash中数据存储方法和装置。
背景技术
根据实现的技术架构的不同,闪存芯片可以分为NOR flash、NAND flash和DINORflash等几种类型。相比于其他几种类型的闪存,NAND flash能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快,因此,它是实现大容量数据存储器的理想数据存储介质。NAND FLASH作为一种非易失性存储介质,它以半导体作为记忆载体,比传统的存储设备更能承受温度的变化、机械的振动和冲击,可靠性更高,易于实现高速度、低功耗的存储系,是解决大容量存储技术的理想方案。
在NAND FLASH中存储阵列是以BLOCK(即块)为单位来进行数据读写擦操作的。但是在现有的NAND FLASH闪存芯片中,根据闪存芯片的存储容量的不同,BLOCK的存储容量和总数量可能都会不一样,那么对于分布在芯片存储阵列中不同位置的BLOCK,由于集成电路制造工艺和算法操作等因素的影响,在可靠性上都会有所差异。现有的利用NAND FLASH中的BLOCK进行数据存储的过程中,不会根据不同位置的BLOCK可靠性进行数据存储,导致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中预设的固化存储区域;所述固化存储区域包括所述目标NANDFlash中间区域中第一预设个数的存储块;所述中间区域为包括所述目标NAND Flash中心位置存储块在内的连续区域。
用户配置信息存储模块,用于当接收到用户配置信息时,则将所述用户配置信息存储至所述目标NAND Flash中预设的用户存储区域;所述固化存储区域包括所述目标NANDFlash中间区域中第二预设个数的存储块。
可选地,所述固化存储区域与所述用户存储区域互不重合。
可选地,还包括:
检测模块,用于检测所述目标NAND Flash中预设的重要信息存储块是否失效;
冗余模块,用于如果所述重要信息存储块失效,则将所述重要信息存储块中的数据存储至所述目标NAND Flash中预设的冗余存储区域;所述冗余存储区域包括所述目标NAND Flash中间区域的第三预设个数的存储块。
可选地,所述冗余存储区域与所述固化存储区域以及所述用户存储区域互不重合;所述冗余存储区域与所述固化存储区域以及所述用户存储区域构成所述中间区域。
可选地,还包括:
第一信息数据接收模块,用于接收待存储的第一信息数据;所述第一信息数据为所述固有配置信息以及所述用户配置信息以外的信息数据;
信息等级确定模块,用于确定所述第一信息数据的第一等级;所述第一等级用以表征所述第一信息数据的重要程度;
目标存储块确定模块,用于根据预设的第一等级与存储块之间的对应关系,确定所述第一等级对应的目标存储块;其中,重要程度越高的第一信息数据对应的存储块越靠近所述目标NAND Flash中间区域;
第一信息数据存储模块,用于将所述第一信息数据存储至所述目标存储块。
可选地,所述目标存储块与所述冗余存储区域、所述固化存储区域以及所述用户存储区域互不重合。
根据本发明的一种NAND Flash中数据存储方法,当接收到固有配置信息时,则将所述固有配置信息存储至目标NAND Flash中预设的固化存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第一预设个数的存储块;所述中间区域为包括所述目标NAND Flash中心位置存储块在内的连续区域;当接收到用户配置信息时,则将所述用户配置信息存储至所述目标NAND Flash中预设的用户存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第二预设个数的存储块。由此解决了现有的NAND FLASH芯片的存储性能不够理想的技术问题,取得了提高NAND FLASH芯片的存储性能的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种NAND Flash中数据存储方法的步骤流程图;
图1A示出了根据本发明一个实施例的一种NANDFlash物理存储单元的阵列组织结构示意图;
图1B示出了根据本发明一个实施例的一种NAND FLASH的存储阵列示意图;
图1C示出了根据本发明一个实施例的一种阈值电压与判定电压的分布示意图;
图2示出了根据本发明一个实施例的一种NAND Flash中数据存储方法的步骤流程图;
图2A示出了根据本发明一个实施例的一种目标NAND Flash中不同存储块的示意图;
图3示出了根据本发明一个实施例的一种NAND Flash中数据存储装置的结构示意图;以及
图4示出了根据本发明一个实施例的一种NAND Flash中数据存储装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
详细介绍本发明实施例提供的一种NAND Flash中数据存储方法。
参照图1,示出了本发明实施例中一种NAND Flash中数据存储方法的步骤流程图。
步骤110,当接收到固有配置信息时,则将所述固有配置信息存储至目标NANDFlash中预设的固化存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第一预设个数的存储块;所述中间区域为包括所述NAND Flash中心位置存储块在内的连续区域。
步骤120,当接收到用户配置信息时,则将所述用户配置信息存储至所述目标NANDFlash中预设的用户存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第二预设个数的存储块。
在NAND FLASH的存储阵列中,通过实验测试得到可靠性比较高的区域都是居于存储阵列中间的部分,因此芯片中比较重要,可靠性要求较高的数据存储都要优先放置于存储阵列中间部分的BLOCK中。
如图1A为一种Nand Flash物理存储单元的阵列组织结构,其中的Device为装置,page register为页寄存器。简单解释就是:
1、一个Nand flash由很多个块(Block)组成,块的大小一般是128KB(Kilo-bytes,千字节)、256KB或者是512KB。图1A中所示的块大小是128KB。
其中,块也是Nand Flash的擦除操作的基本/最小单位。本发明实施例中的存储块即为上述的块。
2、每个块里面又包含了很多页(page)。每个页的大小,
老的nand flash,页大小是256B,512B,这类的nand flash被称作small block,地址周期只有4个。对于现在常见的nand flash页大小多数是2KB,被称作big block,对应的发读写命令地址,一共5个周期(cycle),更新的nand flash是4KB。
3、每一个页,对应还有一块区域,叫做空闲区域(spare area)/冗余区域(redundant area),而Linux系统中,一般叫做OOB(Out Of Band),这个区域,是最初基于Nand Flash的硬件特性:数据在读写时候相对容易错误,所以为了保证数据的正确性,必须要有对应的检测和纠错机制,此机制被叫做EDC(Error Detection Code)/ECC(Error CodeCorrection,或者Error Checking and Correcting),所以设计了多余的区域,用于放置数据的校验值。
其中,页是Nand Flash的写入操作的基本/最小的单位。
Nand Flash数据存储单元的整体架构:
简单说就是,常见的nand flash,内部只有一个芯片(chip),每个chip只有一个plane(平面)。而有些复杂的,容量更大的nand flash,内部有多个chip,每个chip有多个plane。这类的nand flash,往往也有更加高级的功能。
如图1B所示,对于NAND FLASH的存储阵列,需要对应的WL(Word Line,字线)和BL(Bit Line,位线)去选择相应的CELL(存储单元),所以每条横向的WL和纵向的BL都贯穿整个存储阵列,这样NAND FLASH的存储阵列中不同存储区域上对应的WL和BL的负载和驱动能力都是不一样的,则进一步会导致FLASH进行读写擦的情况也会出现差别,速度有快有慢,效率有高有低;从而出现有些CELL的编程太强,阈值电压过大,有些CELL的编程太弱,阈值电压过低,有些CELL的擦除太弱,阈值电压太低,没有达到完全擦除的状态等等。所以编程擦除的能力太强和太弱都会影响最终CELL的阈值电压,这些CELL的阈值电压分布就如图1C中的阴影区域,这些阴影区域的CELL阈值电压与判定电压VCGRV之间的余量都不是最合适的,而阈值电压分布在中间的区域与判定电压VCGRV的余量才是最合适的,能够保证更正确高效的读写擦其中的CELL数据状态。其中的,Wordline Driver可以理解为WL驱动,GlobalWordline可以理解为全局WL,Sense Amplifier可以理解为感测放大器,Best Margin为最合适的余量。
从以上的分析可以看到位于阵列中间位置的模块所看到的WL和BL的负载,驱动等一些状态是最居中平均的,从而能够保证这些CELL在进行读写擦等操作的时候会位于阈值电压的中间区域,与判定电压VCGRV的余量最合适,所以位于阵列中间的模块可靠性是最好的。
在NAND FLASH的存储阵列中,通过实验测试得到可靠性比较高的区域都是居于存储阵列中间的部分,因此芯片中比较重要,可靠性要求较高的数据存储都要优先放置于存储阵列中间部分的BLOCK中。
而在芯片加工以及使用过程中,其需要存储的数据中必然包括重要性较高的数据以及重要性较低的数据。那么,为了保证重要性较高的数据在存储之后不会轻易丢失,可以将重要性较高的数据存储至NAND Flash中间位置的存储块中。而在实际应用中,重要性较高的数据可以包括固有配置信息、用户配置信息等配置类信息。
因此,在本发明实施例中,当接收到固有配置信息时,则将所述固有配置信息存储至目标NAND Flash中预设的固化存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第一预设个数的存储块;所述中间区域为包括所述NAND Flash中心位置存储块在内的连续区域;当接收到用户配置信息时,则将所述用户配置信息存储至所述目标NANDFlash中预设的用户存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第二预设个数的存储块。
其中的固有配置信息以及用户配置信息包含的具体内容都可以根据需求进行预先设定,对此本发明实施例不加以限定。而且,第一预设个数以及第二预设个数的具体取值也可以根据需求在本步骤之前,或者是本步骤之前的任一步骤之前进行设定,而且第一预设个数与第二预设个数的取值可以相同,也可以不同,对此本发明实施例都不加以限定。
例如,芯片的生产商在加工芯片的过程中可以对芯片进行一些设置,此时的设置信息即可以设置为一种固有配置信息;而在利用该芯片进一步加工以组建成各种待销售的成品设备时,进一步加工的用户同样还会对该芯片进行一些设置,此时的设置信息即可以设置为一种用户配置信息。
另外,固化存储区域以及用户存储区域可以为目标NAND Flash中间区域中相邻的两个区域,也可以为互不相邻的两个区域。但是如前述,越靠近目标NAND Flash中心位置存储块的存储块的可靠性越好,那么,如果固化存储区域以及用户存储区域为目标NANDFlash中间区域中相邻的两个区域,而且固化存储区域或者用户存储区域中包含目标NANDFlash中心位置存储块时,固化存储区域以及用户存储区域的可靠性都较高。
在本发明实施例中,还可以不区分存储固有配置信息以及用户配置信息的存储区域。那么此时可以直接在目标NAND Flash的中间区域设定包含一定个数的存储块的连续区域存储固有配置信息以及用户配置信息。此时,固有配置信息以及用户配置信息可能是混合存储的,即有可能前一存储块中存储了固有配置信息,而后一存储块中存储了用户配置信息,或者是同一存储块中同时存储有固有配置信息以及用户配置信息,此时不方便根据信息所在的存储块位置区分其中所存储的数据是固有配置信息,还是用户配置信息。因此,在本发明实施例中,优选地的是前述的当接收到固有配置信息时,则将所述固有配置信息存储至目标NAND Flash中预设的固化存储区域;而当接收到用户配置信息时,则将所述用户配置信息存储至所述目标NAND Flash中预设的用户存储区域。
在本发明实施例中,当接收到固有配置信息时,则将所述固有配置信息存储至目标NAND Flash中预设的固化存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第一预设个数的存储块;所述中间区域为包括所述目标NAND Flash中心位置存储块在内的连续区域;当接收到用户配置信息时,则将所述用户配置信息存储至所述目标NANDFlash中预设的用户存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第二预设个数的存储块。由此解决了现有的NAND FLASH芯片的存储性能不够理想的技术问题,取得了提高NAND FLASH芯片的存储性能的有益效果。
实施例二
详细介绍本发明实施例提供的一种NAND Flash中数据存储方法。
参照图2,示出了本发明实施例中一种NAND Flash中数据存储方法的步骤流程图。
步骤210,当接收到固有配置信息时,则将所述固有配置信息存储至目标NANDFlash中预设的固化存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第一预设个数的存储块;所述中间区域为包括所述NAND Flash中心位置存储块在内的连续区域。
步骤220,当接收到用户配置信息时,则将所述用户配置信息存储至所述目标NANDFlash中预设的用户存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第二预设个数的存储块。
可选地,在本发明实施例中,所述固化存储区域与所述用户存储区域互不重合。
如前述,如果固化存储区域与所述用户存储区域存在重合的部分,那么在重合的区域中,固有配置信息以及用户配置信息可能是混合存储的,即有可能前一存储块中存储了固有配置信息,而后一存储块中存储了用户配置信息,或者是同一存储块中同时存储有固有配置信息以及用户配置信息,此时不方便根据信息所在的存储块位置区分其中所存储的数据是固有配置信息,还是用户配置信息。因此,在本发明实施例中,可以设定固化存储区域与用户存储区域互不重合。
步骤230,检测所述目标NAND Flash中预设的重要信息存储块是否失效。
步骤240,如果所述重要信息存储块失效,则将所述重要信息存储块中的数据存储至所述目标NAND Flash中预设的冗余存储区域;所述冗余存储区域包括所述目标NANDFlash中间区域的第三预设个数的存储块。
在实际应用中,NAND Flash中可能存在坏块(Bad Block)。Nand Flash中,一个块中含有1个或多个位是坏的,就成为其为坏块。坏块的稳定性是无法保证的,也就是说,不能保证你写入的数据是对的;或者写入对了,读出来也不一定对的。而正常的块,肯定是写入读出都是正常的。
坏块有两种:
(1)一种是出厂的时候,也就是还没用过的Nand Flash,就可以包含了坏块。此类出厂时就有的坏块,被称作factory/masked bad block(工厂/隐蔽坏块)或initial bad/invalid block(初始坏/无效块),在出厂之前,就会进行对应的标记,标为坏块。
(2)第二类是在使用过程中产生的。例如,由于使用过程时间长了,在擦块除的时候出错了,说明此块坏了。也要在程序运行过程中发现并且标记成坏块的。这类块叫做worn-out bad block(磨损的坏块)。
因此,在本发明实施例中,为了避免存储重要性较高的数据的存储块为坏块,而导致其中的数据丢失,可以检测所述目标NAND Flash中预设的重要信息存储块是否失效,如果所述重要信息存储块失效,则将所述重要信息存储块中的数据存储至所述目标NANDFlash中预设的冗余存储区域;所述冗余存储区域包括所述目标NAND Flash中间区域的第三预设个数的存储块。其中的重要信息存储块在目标NAND Flash中的位置,以及第三预设个数的具体取值都可以根据需求在本步骤之前,或者是本步骤之前的任一步骤之前根据需求进行设定,对此本发明实施例不加以限定。而且,第三预设个数可以与前述的第一预设个数或者第二预设个数的取值相同,也可以与前述的第一预设个数和第二预设个数的取值均不同,对此本发明实施例也不加以限定。
可选地,在本发明实施例中,所述冗余存储区域与所述固化存储区域以及所述用户存储区域互不重合;所述冗余存储区域与所述固化存储区域以及所述用户存储区域构成所述中间区域。
相应的,在本发明实施例中,如果冗余存储区域与前述的固化存储区域或者是用户存储区域存在重合的部分,那么在重合的区域中,信息可能是混合存储的。例如,假设冗余存储区域与前述的固化存储区域存在重合的部分,那么有可能前一存储块中存储了固有配置信息,而后一存储块中存储了重要信息存储块中的数据,或者是同一存储块中同时存储有固有配置信息以及重要信息存储块中的数据,此时不方便根据信息所在的存储块位置区分其中所存储的数据是固有配置信息,还是重要信息存储块中的数据。因此,在本发明实施例中,可以设定冗余存储区域与所述固化存储区域以及所述用户存储区域互不重合。
当然,在本发明实施例中,如果无需根据信息所在的存储块位置区分其中所存储的数据所属类别,或者是有其他需要,也可以设定冗余存储区域与固化存储区域或用户存储区域存在重合,对此本发明实施例不加以限定。
另外,在本发明实施例中,还可以设定冗余存储区域、固化存储区域以及用户存储区域三者中任意一个与另外两个相邻。例如图2A即为一种目标NAND Flash中不同存储块的示意图。其中包含冗余存储区域、固化存储区域以及用户存储区域在目标NAND Flash中的位置形式。其中的FUSE ROM为固化存储区域,USER ROM为用户存储区域,RDN(Redundancy,冗余)BLOCK为冗余存储区域。
如前述,冗余存储区域、固化存储区域以及用户存储区域都是目标NAND Flash中间区域的一部分,而且目标NAND Flash中间区域的可靠性较高,那么为了尽可能多给重要性较高的数据保留存储空间,或者是尽可能的保证目标NAND Flash中存储数据的可靠性,可以设定冗余存储区域、固化存储区域以及用户存储区域构成目标NAND Flash的中间区域。
当然,也可以设定冗余存储区域、固化存储区域以及用户存储区域的总和只是目标NAND Flash中间区域的一部分,对此本发明实施例不加以限定。
步骤250,接收待存储的第一信息数据;所述第一信息数据为所述固有配置信息以及所述用户配置信息以外的信息数据。
步骤260,确定所述第一信息数据的第一等级;所述第一等级用以表征所述第一信息数据的重要程度。
BLOCK0和最大BLOCK(例如图2A是BLOCK1023)是用户经常用到的放置芯片启动信息,算法信息等重要数据的BLOCK,这种重要的BLOCK也是需要布局在存储阵列的中间提高可靠性。因此,在本发明实施例中,可以根据待存储的数据的重要级别,确定用以存储该数据的存储块。例如,图2A中的其他存储块,即BLOCK0-BLOCK1023,依照在NAND Flash中间位置的存储块向两侧的顺序,各BLOCK的可靠性依次降低,即BLOCK0-BLOCK511可靠性依次降低,BLOCK1023-BLOCK512可靠性依次降低。
那么,在接收到接收待存储的第一信息数据之后,首先需要确定用以表征该第一信息数据的重要程度的第一等级。在本发明实施例中,可以在本步骤之前,或者是本步骤之前的任一步骤之前根据需求设定不同重要程度的信息类型,对此本发明实施例不加以限定。例如,可以设置常用的算法数据的重要程度较高,而不常用的信息的重要程度较低,等等。
步骤270,根据预设的第一等级与存储块之间的对应关系,确定所述第一等级对应的目标存储块;其中,重要程度越高的第一信息数据对应的存储块越靠近所述目标NANDFlash中间区域。
在本发明实施例中,还可以设定第一等级与存储块之间的对应关系。例如,对于图2A中的BLOCK0-BLOCK1023,可以设定最高的第一等级对应于BLOCK0或者是BLOCK1023,而最低的第一等级对应于BLOCK511或者是BLOCK512,等等。那么,在获取了待存储信息的第一等级之后,则可以根据第一等级确定该待存储信息对应的目标存储块,进而将该待存储信息存储至该目标存储块。
例如,如果接收到的待存储的第一信息数据为该目标NAND Flash的启动信息或者是其他特有的配置信息等重要程度较高的信息,那么为了保证其可靠性,可以设定让上述信息存储至靠近目标NAND Flash中间区域的BLOCK中,例如前述的BLOCK0或者是BLOCK1023等等。
那么在本发明实施例中,则可以设置上述的启动信息或者是其他特有的配置信息等重要程度较高的信息的第一等级对应的存储块为靠近目标NAND Flash中间区域的BLOCK,例如前述的BLOCK0或者是BLOCK1023等等。
可选地,在本发明实施例中,所述目标存储块与所述冗余存储区域、所述固化存储区域以及所述用户存储区域互不重合。
同样的,在本发明实施例中,为了方便根据信息所在的存储块位置区分其中所存储的数据的类别,可以设定目标存储块与前述的冗余存储区域、固化存储区域以及用户存储区域互不重合。当然,如果有需求,也可以不进行上述限定,对此本发明实施例不加以限定。
步骤280,将所述第一信息数据存储至所述目标存储块。
需要说明的是,在本发明实施例中,对于上述步骤的执行顺序并不限定,各步骤可以按照任何合理的逻辑顺序执行,对此本发明实施例不加以限定。
在本发明实施例中,当接收到固有配置信息时,则将所述固有配置信息存储至目标NAND Flash中预设的固化存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第一预设个数的存储块;所述中间区域为包括所述目标NAND Flash中心位置存储块在内的连续区域;当接收到用户配置信息时,则将所述用户配置信息存储至所述目标NANDFlash中预设的用户存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第二预设个数的存储块。由此解决了现有的NAND FLASH芯片的存储性能不够理想的技术问题,取得了提高NAND FLASH芯片的存储性能的有益效果。
另外,在本发明实施例中,还可以检测所述目标NAND Flash中预设的重要信息存储块是否失效;如果所述重要信息存储块失效,则将所述重要信息存储块中的数据存储至所述目标NAND Flash中预设的冗余存储区域;所述冗余存储区域包括所述目标NAND Flash中间区域的第三预设个数的存储块。以及接收待存储的第一信息数据;所述第一信息数据为所述固有配置信息以及所述用户配置信息以外的信息数据;确定所述第一信息数据的第一等级;所述第一等级用以表征所述第一信息数据的重要程度;根据预设的第一等级与存储块之间的对应关系,确定所述第一等级对应的目标存储块;将所述第一信息数据存储至所述目标存储块。可以进一步避免NAND Flash中存储数据的丢失,从而进一步提高NANDFlash芯片的存储性能。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例三
详细介绍本发明实施例提供的一种NAND Flash中数据存储装置。
参照图3,示出了本发明实施例中一种NAND Flash中数据存储装置的结构示意图。
固有配置信息存储模块310,用于当接收到固有配置信息时,则将所述固有配置信息存储至目标NAND Flash中预设的固化存储区域;所述固化存储区域包括所述目标NANDFlash中间区域中第一预设个数的存储块;所述中间区域为包括所述NAND Flash中心位置存储块在内的连续区域。
用户配置信息存储模块320,用于当接收到用户配置信息时,则将所述用户配置信息存储至所述目标NAND Flash中预设的用户存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第二预设个数的存储块。
在本发明实施例中,当接收到固有配置信息时,则将所述固有配置信息存储至目标NAND Flash中预设的固化存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第一预设个数的存储块;所述中间区域为包括所述目标NAND Flash中心位置存储块在内的连续区域;当接收到用户配置信息时,则将所述用户配置信息存储至所述目标NANDFlash中预设的用户存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第二预设个数的存储块。由此解决了现有的NAND FLASH芯片的存储性能不够理想的技术问题,取得了提高NAND FLASH芯片的存储性能的有益效果。
实施例四
详细介绍本发明实施例提供的一种NAND Flash中数据存储装置。
参照图4,示出了本发明实施例中一种NAND Flash中数据存储装置的结构示意图。
固有配置信息存储模块410,用于当接收到固有配置信息时,则将所述固有配置信息存储至目标NAND Flash中预设的固化存储区域;所述固化存储区域包括所述目标NANDFlash中间区域中第一预设个数的存储块;所述中间区域为包括所述NAND Flash中心位置存储块在内的连续区域。
用户配置信息存储模块420,用于当接收到用户配置信息时,则将所述用户配置信息存储至所述目标NAND Flash中预设的用户存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第二预设个数的存储块。
可选地,在本发明实施例中,所述固化存储区域与所述用户存储区域互不重合。
检测模块430,用于检测所述目标NAND Flash中预设的重要信息存储块是否失效。
冗余模块440,用于如果所述重要信息存储块失效,则将所述重要信息存储块中的数据存储至所述目标NAND Flash中预设的冗余存储区域;所述冗余存储区域包括所述目标NAND Flash中间区域的第三预设个数的存储块。
可选地,在本发明实施例中,所述冗余存储区域与所述固化存储区域以及所述用户存储区域互不重合;所述冗余存储区域与所述固化存储区域以及所述用户存储区域构成所述中间区域。
第一信息数据接收模块450,用于接收待存储的第一信息数据;所述第一信息数据为所述固有配置信息以及所述用户配置信息以外的信息数据;
信息等级确定模块460,用于确定所述第一信息数据的第一等级;所述第一等级用以表征所述第一信息数据的重要程度。
目标存储块确定模块470,用于根据预设的第一等级与存储块之间的对应关系,确定所述第一等级对应的目标存储块。
可选地,在本发明实施例中,所述目标存储块与所述冗余存储区域、所述固化存储区域以及所述用户存储区域互不重合。
第一信息数据存储模块480,用于将所述第一信息数据存储至所述目标存储块。
在本发明实施例中,当接收到固有配置信息时,则将所述固有配置信息存储至目标NAND Flash中预设的固化存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第一预设个数的存储块;所述中间区域为包括所述目标NAND Flash中心位置存储块在内的连续区域;当接收到用户配置信息时,则将所述用户配置信息存储至所述目标NANDFlash中预设的用户存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第二预设个数的存储块。由此解决了现有的NAND FLASH芯片的存储性能不够理想的技术问题,取得了提高NAND FLASH芯片的存储性能的有益效果。
另外,在本发明实施例中,还可以检测所述目标NAND Flash中预设的重要信息存储块是否失效;如果所述重要信息存储块失效,则将所述重要信息存储块中的数据存储至所述目标NAND Flash中预设的冗余存储区域;所述冗余存储区域包括所述目标NAND Flash中间区域的第三预设个数的存储块。以及接收待存储的第一信息数据;所述第一信息数据为所述固有配置信息以及所述用户配置信息以外的信息数据;确定所述第一信息数据的第一等级;所述第一等级用以表征所述第一信息数据的重要程度;根据预设的第一等级与存储块之间的对应关系,确定所述第一等级对应的目标存储块;将所述第一信息数据存储至所述目标存储块。可以进一步避免NAND Flash中存储数据的丢失,从而进一步提高NANDFlash芯片的存储性能。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的NAND Flash中数据存储设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种NAND Flash中数据存储方法,包括:
当接收到固有配置信息时,则将所述固有配置信息存储至目标NAND Flash中预设的固化存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第一预设个数的存储块;所述中间区域为包括所述目标NAND Flash中心位置存储块在内的连续区域;
当接收到用户配置信息时,则将所述用户配置信息存储至所述目标NAND Flash中预设的用户存储区域;所述用户存储区域包括所述目标NAND Flash中间区域中第二预设个数的存储块;
检测所述目标NAND Flash中预设的重要信息存储块是否失效;
如果所述重要信息存储块失效,则将所述重要信息存储块中的数据存储至所述目标NAND Flash中预设的冗余存储区域;所述冗余存储区域包括所述目标NAND Flash中间区域的第三预设个数的存储块。
2.根据权利要求1所述的方法,其特征在于,所述固化存储区域与所述用户存储区域互不重合。
3.根据权利要求1所述的方法,其特征在于,所述冗余存储区域与所述固化存储区域以及所述用户存储区域互不重合;所述冗余存储区域与所述固化存储区域以及所述用户存储区域构成所述中间区域。
4.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
接收待存储的第一信息数据;所述第一信息数据为所述固有配置信息以及所述用户配置信息以外的信息数据;
确定所述第一信息数据的第一等级;所述第一等级用以表征所述第一信息数据的重要程度;
根据预设的第一等级与存储块之间的对应关系,确定所述第一等级对应的目标存储块;其中,重要程度越高的第一信息数据对应的存储块越靠近所述目标NAND Flash中间区域;
将所述第一信息数据存储至所述目标存储块。
5.根据权利要求4所述的方法,其特征在于,所述目标存储块与所述冗余存储区域、所述固化存储区域以及所述用户存储区域互不重合。
6.一种NAND Flash中数据存储装置,包括:
固有配置信息存储模块,用于当接收到固有配置信息时,则将所述固有配置信息存储至目标NAND Flash中预设的固化存储区域;所述固化存储区域包括所述目标NAND Flash中间区域中第一预设个数的存储块;所述中间区域为包括所述目标NAND Flash中心位置存储块在内的连续区域;
用户配置信息存储模块,用于当接收到用户配置信息时,则将所述用户配置信息存储至所述目标NAND Flash中预设的用户存储区域;所述用户存储区域包括所述目标NANDFlash中间区域中第二预设个数的存储块
检测模块,用于检测所述目标NAND Flash中预设的重要信息存储块是否失效;
冗余模块,用于如果所述重要信息存储块失效,则将所述重要信息存储块中的数据存储至所述目标NAND Flash中预设的冗余存储区域;所述冗余存储区域包括所述目标NANDFlash中间区域的第三预设个数的存储块。
7.根据权利要求6所述的装置,其特征在于,所述固化存储区域与所述用户存储区域互不重合。
8.根据权利要求6所述的装置,其特征在于,所述冗余存储区域与所述固化存储区域以及所述用户存储区域互不重合;所述冗余存储区域与所述固化存储区域以及所述用户存储区域构成所述中间区域。
9.根据权利要求6-8任一项所述的装置,其特征在于,还包括:
第一信息数据接收模块,用于接收待存储的第一信息数据;所述第一信息数据为所述固有配置信息以及所述用户配置信息以外的信息数据;
信息等级确定模块,用于确定所述第一信息数据的第一等级;所述第一等级用以表征所述第一信息数据的重要程度;
目标存储块确定模块,用于根据预设的第一等级与存储块之间的对应关系,确定所述第一等级对应的目标存储块;其中,重要程度越高的第一信息数据对应的存储块越靠近所述目标NAND Flash中间区域;
第一信息数据存储模块,用于将所述第一信息数据存储至所述目标存储块。
10.根据权利要求9所述的装置,其特征在于,所述目标存储块与所述冗余存储区域、所述固化存储区域以及所述用户存储区域互不重合。
CN201710161713.XA 2017-03-17 2017-03-17 一种NAND Flash中数据存储方法和装置 Active CN108628538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710161713.XA CN108628538B (zh) 2017-03-17 2017-03-17 一种NAND Flash中数据存储方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710161713.XA CN108628538B (zh) 2017-03-17 2017-03-17 一种NAND Flash中数据存储方法和装置

Publications (2)

Publication Number Publication Date
CN108628538A CN108628538A (zh) 2018-10-09
CN108628538B true CN108628538B (zh) 2021-06-08

Family

ID=63687676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710161713.XA Active CN108628538B (zh) 2017-03-17 2017-03-17 一种NAND Flash中数据存储方法和装置

Country Status (1)

Country Link
CN (1) CN108628538B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857347B (zh) * 2019-03-05 2021-03-05 广东省气象探测数据中心 基于flash的内嵌式地面气象数据可靠固化方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1684049A (zh) * 2004-04-15 2005-10-19 株式会社日立制作所 信息存储装置,信息存储方法以及信息存储处理程序产品
CN102160121A (zh) * 2008-09-22 2011-08-17 美光科技公司 编程存储器装置以增加数据可靠性
CN102419734A (zh) * 2010-09-27 2012-04-18 北京中星微电子有限公司 一种数据存储的方法及装置
CN104951410A (zh) * 2014-03-27 2015-09-30 北京兆易创新科技股份有限公司 一种芯片信息的访问方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856439B2 (en) * 2010-12-03 2014-10-07 Lsi Corporation Method and device for utilizing application-level prior knowledge for selectively storing data in higher performance media
CN103730145A (zh) * 2012-10-15 2014-04-16 北京兆易创新科技股份有限公司 快闪存储器及其电压控制方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1684049A (zh) * 2004-04-15 2005-10-19 株式会社日立制作所 信息存储装置,信息存储方法以及信息存储处理程序产品
CN102160121A (zh) * 2008-09-22 2011-08-17 美光科技公司 编程存储器装置以增加数据可靠性
CN102419734A (zh) * 2010-09-27 2012-04-18 北京中星微电子有限公司 一种数据存储的方法及装置
CN104951410A (zh) * 2014-03-27 2015-09-30 北京兆易创新科技股份有限公司 一种芯片信息的访问方法和装置

Also Published As

Publication number Publication date
CN108628538A (zh) 2018-10-09

Similar Documents

Publication Publication Date Title
KR102321221B1 (ko) 버퍼 상에서 메모리 동작을 제어하기 위한 장치 및 방법
US11288019B2 (en) Memory management method and storage controller
CN107170484B (zh) 一种NAND Flash电压自动补偿方法和装置
US9753849B2 (en) Methods for manufacturing and operating a memory device and a method for operating a system having the same
US20190391914A1 (en) Memory management method and storage controller
US9141530B2 (en) Data writing method, memory controller and memory storage device
US9514042B2 (en) Method for managing memory apparatus to perform writing control according to monitored data amount of received data, associated memory apparatus thereof and associated controller thereof
US9552287B2 (en) Data management method, memory controller and embedded memory storage apparatus using the same
US20150039811A1 (en) Method for managing memory apparatus, associated memory apparatus thereof and associated controller thereof
KR102430983B1 (ko) 스토리지 장치 및 그 동작 방법
US9037781B2 (en) Method for managing buffer memory, memory controllor, and memory storage device
US8943264B2 (en) Data storing method, and memory controller and memory storage apparatus using the same
US20170123881A1 (en) Test method of volatile memory device embedded in electronic device
US20190163625A1 (en) Data storage device and operating method thereof
CN113535460A (zh) 数据存储装置及其操作方法
US20180136859A1 (en) Data writing method and storage controller
CN108628538B (zh) 一种NAND Flash中数据存储方法和装置
CN112230849B (zh) 存储器控制方法、存储器存储装置及存储器控制器
US9837166B2 (en) Data storage device and operating method thereof
US10599562B2 (en) Nonvolatile memory device configured to be accessed without block address and method of operating the same
CN108628752B (zh) 一种数据存储方法和装置
CN108108118B (zh) 数据写入方法以及存储控制器
US20090182932A1 (en) Method for managing flash memory blocks and controller using the same
US8832358B2 (en) Data writing method, memory controller and memory storage apparatus
WO2017107164A1 (zh) 异构混合内存架构的计算机系统及其控制方法、内存检测系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094

Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd.

Address before: 12th Floor, Block A, Tiangong Building, Science and Technology University, No. 30 Xueyuan Road, Haidian District, Beijing, 100083

Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc.