CN110287068B - 一种NandFlash驱动方法 - Google Patents
一种NandFlash驱动方法 Download PDFInfo
- Publication number
- CN110287068B CN110287068B CN201910600440.3A CN201910600440A CN110287068B CN 110287068 B CN110287068 B CN 110287068B CN 201910600440 A CN201910600440 A CN 201910600440A CN 110287068 B CN110287068 B CN 110287068B
- Authority
- CN
- China
- Prior art keywords
- block
- mapping table
- nandflash
- bad block
- bad
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明涉及NandFlash驱动领域,公开了一种NandFlash驱动方法,用以在RAM较小的MCU上实现NandFlash的坏块管理。本发明将NandFlash划分活动区和备用区,并在MCU的ROM中开辟两个空闲区域,空闲区域用于存储NandFlash的逻辑地址‑物理地址映射表,其中,映射表的索引即对应NandFlash的物理块,其值为对应NandFlash物理块的状态,物理块的状态均含有:标记该块是否为坏块的坏块标记F1,该块对应的目标地址F2;在判断到NandFlash的该块损坏时,在备用区中使用一个好块替换掉对应的坏块,同时在逻辑地址‑物理地址映射表中更新坏块标记F1和目标地址F2。本发明适用于NandFlash的坏块管理。
Description
技术领域
本发明涉及NandFlash驱动领域,特别涉及一种NandFlash驱动方法。
背景技术
目前NandFlash由于容量大、价格低廉而被广泛使用,但NandFlash的擦写次数十分有限,对于NandFlash的同一个块反复进行擦写很容易造成块损坏,因此要使用NandFlash就必须进行坏块管理。
目前存在一种分区坏块管理方法,将NandFlash划分为两个区域,建立第一区域的坏块与第二区域的正常块的映射关系,并将映射关系表存储在第二区域的坏块管理信息中,并将坏块管理信息表存储于NandFlash中,对于该映射表的访问有以下两种方法,其一是每次访问NandFlash时先在存储映射表的地方进行搜寻,获取其实际地址,其访问速度较慢,且访问复杂,其二是在初始化时将映射表读取到控制器的RAM中,在掉电时回写到NandFlash中,该方法需要非常大的RAM空间,如对于一个块数量为2048的NandFlash,其映射表的大小至少为4096个字节,且该方法不可靠,一旦未能将映射表成功回写到NandFlash中,将造成数据严重紊乱。
还存在一种坏块管理方法,在产生坏块后,将坏块后紧接着的一个好块作为该坏块的替换块,该方法不利于存储结构化的数据,且若是坏块后的好块存在数据,则需将数据依次往后搬移,操作复杂且在搬移的过程中还可能出现坏块,容易造成数据错误。
发明内容
本发明要解决的技术问题是:提供一种NandFlash驱动方法,用以在RAM较小的MCU上实现NandFlash的坏块管理。
本发明解决上述技术问题采用的技术方案是:1、一种NandFlash驱动方法,将NandFlash划分为两个区域:活动区和备用区,活动区为应用可实际寻址的空间,备用区的块作为活动区的替换块;
在MCU的ROM中开辟两个空闲区域,两个区域均用于存储NandFlash的逻辑地址-物理地址映射表,记为第一映射表和第二映射表;两个逻辑地址-物理地址映射表的索引即对应NandFlash的物理块,其值为对应NandFlash物理块的状态;所述物理块的状态均含有以下信息:标记该块是否为坏块的坏块标记F1,该块对应的目标地址F2;
在对NandFlash的某个块进行写操作或擦除操作失败时,或在初始化过程中对活动区扫描时发现NandFlash的出厂坏块标记,则判断NandFlash的该块已经损坏,此时在备用区中使用一个好块替换掉对应的坏块,同时在逻辑地址-物理地址映射表中更新坏块标记F1和目标地址F2。
进一步的,备用区的好块替换可由低地址递增,即:备用区的下一个好块使用一个标识S1指定,该标识S1位于映射区的空闲区,该标识S1初始化为备用区的首个块的块索引,且每使用一个备用区的好块,则将标识S1指向下一个好块。假如当前使用第一映射表,记当前的坏块索引为N1,则本发明的一种具体坏块更新流程可如下:
S101.将扫描计数C清零;
S102.判断C是否等于N1,如果是则进行步骤S103否则进行步骤S105
S103.在备用区中找到一个备用好块,即备用区的下一个好块标识,其索引为B1;
S104.将映射表索引为C的位置的坏块的坏块标记改为[是],目标地址改为B1;
S105.将第一映射表索引为C的位置的值写入第二映射表索引为C的位置;
S107.扫描计数C+1;
S108.判断C是否小于NandFlash的块数量,如果是则进行S102,否则进行S109;
S109.在第二映射表的结尾处写入该映射表的校验,并将备用区的下一个好块标识改为下一个好块的索引;
S110.擦除第一映射表。
进一步的,逻辑地址-物理地址映射表的更新可使用两个映射表交替更新的方式,在完成更新后再擦除原映射表。具体更新步骤可如下:
如当前使用的是第一映射表,则更新第二映射表,将第一映射表的内容复制到第二映射表,同时在复制过程中改变上述坏块的坏块标记和目标地址,并改变替换块的使用标记,在完成复制后删除第一映射表,如第二映射表更新失败,则可继续使用第一映射表;如果当前使用的是第二映射表,则相反。
进一步的,为了保证替换效果,如果备用区中的已经用于替换活动区的坏块的块损坏,则在备用区中继续使用另一个好块替换该备用区的坏块。
进一步的,在系统首次上电时在MCU的ROM中首次建立NandFlash的物理地址-逻辑地址映射表,可采用以下方案:
S201.将NandFlash的活动区的物理地址一一映射到第一映射表中,在该过程中不对活动块的好坏状态进行扫描和标记,仅用于建立初始的活动区映射表对应关系;
S202.扫描备用区,将其中的坏块进行标记,并在映射表中标记其坏块状态;
S203.扫描活动区,如果发现坏块,则使用坏块替换方法对活动区的坏块进行替换。
进一步的,在系统非首次上电时,选择映射表的具体操作可如下:
判断第一映射表和第二映射表是否都存在映射表数据且校验正确,如果只有其中一个映射表存在数据,则使用存在数据的映射表;如果两个映射表都没有数据,则进行初始化操作;如果都存在数据,则判断两个映射表备用区的下一个可用块标识的大小,使用标识较大的映射表。
进一步的,在对NandFlash进行操作时可采用以下方法从逻辑地址获取实际地址:
在当前使用的映射表中找到逻辑地址对应的值,根据其坏块标记F1判断该块是否为坏块,如果为坏块,则对其目标地址F2继续进行坏块判断,如果不为坏块则实际地址即逻辑地址。
本发明的有益效果是:本发明所占用RAM空间较小,在RAM较小的MCU能够实现NandFlash的坏块管理提高NandFlash的使用寿命,逻辑地址-物理地址映射表位于MCU的ROM中,对逻辑地址-物理地址映射表的访问速度非常快,且无需考虑映射表存储区域的坏块管理问题,降低系统复杂度;通过本发明的方法使得映射表不易丢失,稳定性大大提高,同时提供映射表的备份,降低因意外掉电等原因造成坏块表的丢失的风险。
附图说明
图1是本发明的坏块表更新流程图;
图2是本发明的初始化流程图;
图3是本发明的一种初始化完成后可能的映射表示意图;
图4是本发明的映射表坏块替换关系示意图;
图5是本发明的映射表更新方式示意图;
图6是本发明判断使用哪一个映射表的方法示意图。
具体实施方式
为了在RAM较小的MCU上实现NandFlash的坏块管理,以及提高坏块表访问速度,降低因意外掉电等原因造成坏块表的丢失的风险,本发明提供了一种NandFlash驱动方法,采用的具体技术方案如下:
将NandFlash划分为两个区域:活动区A1和备用区A2,活动区A1为应用可实际寻址的空间,备用区A2的块作为活动区A1的替换块;
在MCU的ROM中开辟两个空闲区域;两个区域均用于存储NandFlash的逻辑地址-物理地址映射表,记为第一映射表和第二映射表;
在MCU的ROM中建立映射表的方法可通过ROM自改写功能实现;逻辑地址-物理地址映射表的索引即对应NandFlash的物理块,其值为对应NandFlash物理块的状态,(如对于一个块数量为2048的NandFlash,则映射表的大小为2048,从0到2047分别对应NandFlash的第0块到第2047块);
上述物理块的状态均含有以下信息:
1、标记该块是否为坏块的坏块标记F1;
2、该块对应的目标地址,以下简称为目标地址F2;
在对NandFlash的某个块进行写操作或擦除操作失败时,或在初始化过程中对活动区扫描是发现NandFlash的出厂坏块标记,则判断NandFlash的该块已经损坏,此时需要在备用区中使用一个好块替换掉对应的坏块;同时更新映射表,在映射表中更新坏块标记F1和目标地址F2;
优选的,本发明中备用区的好块替换可由低地址递增。具体的来说,本发明中备用区的下一个好块使用一个标识S1指定,该标识S1位于映射区的空闲区,该标识S1初始化为备用区的首个块的块索引(如NandFlash备用区为2000-2047,且第2000块为好块,则标识S1初始化为2000),且每使用一个备用区的好块,则将标识S1指向下一个好块。
本发明中,空闲区即,在MCU的ROM中开辟映射表区域的时候,其大小应大于建立NandFlash的所用块数量映射表所需ROM大小,多出来的空间即为空闲区,其中存储有上述标识S1以及表校验。
进一步的,映射表的更新可使用两个映射表交替更新的方式,在完成更新后再擦除原映射表。如当前使用的是第一映射表,则更新第二映射表,将第一映射表的内容复制到第二映射表,同时在复制过程中改变上述坏块的坏块标记和目标地址,并改变替换块的使用标记,在完成复制后删除第一映射表,如第二映射表更新失败,则可继续使用第一映射表;如果当前使用的是第二映射表,则相反,如图5,活动区的第3块变为坏块,则依次将映射表中活动区的内容复制到另外一个映射表中,并将第3块的坏块标记F1改为坏块,将目标地址F2改为备用区的下一个好块107,同时将备用区的下一个好块标识S1改为备用区的下一个好块的索引108。
进一步的,如果备用区中的已经用于替换活动区的坏块的块损坏,则存在两种操作方法:其一,在备用区中继续使用另一个好块替换该备用区的坏块,(如活动区的第5块为坏块,且已经使用备用区的第2001块将其替换,但在运行过程中发现备用区的第2001块为坏块,且备用区第2002块为好块,则将备用区的第2001块标记为坏块,且第2001块的目标地址改为2002);其二,将在备用区继续使用另一个好块替换活动区的坏块,(如活动区的第5块为坏块,且已经使用备用区的第2001块将其替换,但在运行过程中发现备用区的第2001块为坏块,且备用区的第2002块为好块,则将备用区的第2001块标记为坏块,且将活动区的第5块的目标地址改为2002),本发明可使用方法一。
在系统首次上电时在MCU的ROM中首次建立NandFlash的物理地址-逻辑地址映射表,可采用以下方案:
将NandFlash的活动区的物理地址一一映射到第一映射表中,在该过程中不对活动块的好坏状态进行扫描和标记,仅用于建立初始的活动区映射表对应关系(如NandFlash的块数量为2048,将NandFlash的第0-第1999块作为活动区,将NandFlash的第2000-第2047块作为备用区,则将映射表的第0-第1999项的目标地址F2分别填入块索引0-1999,坏块标记F1均填否,即均为好块);
之后,依次扫描备用区,将其中的坏块进行标记,并在映射表中标记其坏块状态(如对第2000到-第2047块进行扫描,并将坏块状态填入映射表的第2000-第2047项的坏块标记F1,并将块索引2000-2047分别填入其目标地址F2)。
扫描活动区,如发现坏块,则使用上述坏块替换方法使用备用块的好块将活动块的坏块进行替换,如图3为使用该方法建立的映射表。
在系统上电时(非首次上电)需要选择对应的映射表,其具体操作可以如下:
判断第一映射表和第二映射表是否都有数据(有数据指的是存在映射表数据且校验正确),如果只有其中一个映射表存在数据,则使用存在数据的映射表,如果两个映射表都没有数据,则进行初始化操作,如果都存在数据则判断备用区的下一个可用块标识的大小,使用标识较大的映射区。
在对NandFlash进行操作时可采用以下方法从逻辑地址获取实际地址:
在当前使用的映射表中找到逻辑地址对应的值,根据其坏块标记F1判断该块是否为坏块,如果为坏块,则对其目标地址F2继续进行坏块判断(如图4的表索引2到100、1B到104再到105),如果不为坏块则实际地址即逻辑地址(如图4的表索引0)。
实施例
实施例1是依据本发明的一种具体的坏块替换操作,如图1、图5,如当前使用第一映射表,记当前的坏块索引为N1(如图5,N1=3):
S101.将扫描计数C清零;
S102.判断C是否等于N1,如果是则进行步骤S103否则进行步骤S105
S103.在备用区中找到一个备用好块,即备用区的下一个好块标识,其索引为B1(如图5,B1=107);
S104.将映射表索引为C的位置的坏块的坏块标记改为[是],目标地址改为B1(如图5,将第二映射表的活动区的索引为3的表内容改为坏块标记改为[是],目标地址改为107);
S105.将第一映射表索引为C的位置的值写入第二映射表索引为C的位置;
S107.扫描计数C+1;
S108.判断C是否小于NandFlash的块数量,如果是则进行S102,否则进行S109;
S109.在第二映射表的结尾处写入该映射表的校验,并将备用区的下一个好块标识改为下一个好块的索引(如图5,将第二映射表的备用区的下一个好块标识改为108)。
S110.擦除第一映射表。
实施例2,是依据本发明的一种具体的首次上电初始化操作,如图2、图3:
S201.将活动区A1的每个活动块的物理地址一一映射到MCU的ROM中的第一映射表中;
S202.依次扫描备用区A2,将每个备用块的物理地址一一映射到MCU的ROM中的第一映射表中,同时检查每个备用块的出厂坏块状态,根据坏块状态改变备用块的坏块标记F1(如图3,备用区的102块为坏块,则将102的坏块标识改为[是]);
S203.将扫描计数C设置为第一个活动块的索引;
S204.对活动区A1中的第C个活动块进行扫描;
S205.判断该活动块C是否为坏块,如果是则执行步骤S206;否则执行S207;
S206.按照实施例1中的坏块替换操作S101~S111对该活动块的坏块进备用替换(如图3,活动块的第3块为坏块,则通过替换操作将第3块的坏块标识改为[是],目标地址改为100);
S207.是否扫描至最后一个活动块,如果是则执行S208,否则对扫描计数C+1然后执行S204;
S208.完成初始化,此时在MCU的ROM中建立了整个NandFlash的映射表(如图3)。
实施例3,是本发明的判断使用哪一个映射表的方法,如图6:
S301.判断第一映射表和第二映射表是否都存在数据,如果是则进行S302,否则进行S304
S302.判断第一映射表的备用区的下一个好块标识是否大于第二映射表的备用区下一个好块标识,如果是则进行S306,否则进行S307;
S304.判断第一映射表是否存在数据,如果是则进行S306,否则进行S305;
S305.判断第二映射表是否存在数据,如果是则进行S307,否则进行S308;
S306.选择第一映射表;
S307.选择第二映射表;
S308.进行初始化操作,初始化操作可参见实施例2的操作步骤S201-S208。
Claims (7)
1.一种NandFlash驱动方法,其特征在于,将NandFlash划分为两个区域:活动区和备用区,活动区为应用可实际寻址的空间,备用区的块作为活动区的替换块;
在MCU的ROM中开辟两个空闲区域,两个区域均用于存储NandFlash的逻辑地址-物理地址映射表,记为第一映射表和第二映射表;两个逻辑地址-物理地址映射表的索引即对应NandFlash的物理块,其值为对应NandFlash物理块的状态;所述物理块的状态均含有以下信息:标记该块是否为坏块的坏块标记F1,该块对应的目标地址F2;
在对NandFlash的某个块进行写操作或擦除操作失败时,或在初始化过程中对活动区扫描时发现NandFlash的出厂坏块标记,则判断NandFlash的该块已经损坏,此时在备用区中使用一个好块替换掉对应的坏块,同时在逻辑地址-物理地址映射表中更新坏块标记F1和目标地址F2;
备用区的好块替换由低地址递增,备用区的下一个好块使用一个标识S1指定,该标识S1位于映射区的空闲区,该标识S1初始化为备用区的首个块的块索引,且每使用一个备用区的好块,则将标识S1指向下一个好块;
假如当前使用第一映射表,记当前的坏块索引为N1,则坏块更新流程如下:
S101.将扫描计数C清零;
S102.判断C是否等于N1,如果是则进行步骤S103否则进行步骤S105
S103.在备用区中找到一个备用好块,即备用区的下一个好块标识,其索引为B1;
S104.将映射表索引为C的位置的坏块的坏块标记改为[是],目标地址改为B1;
S105.将第一映射表索引为C的位置的值写入第二映射表索引为C的位置;
S107.扫描计数C+1;
S108.判断C是否小于NandFlash的块数量,如果是则进行S102,否则进行S109;
S109.在第二映射表的结尾处写入该映射表的校验,并将备用区的下一个好块标识改为下一个好块的索引;
S110.擦除第一映射表。
2.如权利要求1所述的一种NandFlash驱动方法,其特征在于,逻辑地址-物理地址映射表的更新使用两个映射表交替更新的方式,在完成更新后再擦除原映射表。
3.如权利要求2所述的一种NandFlash驱动方法,其特征在于,逻辑地址-物理地址映射表的具体更新步骤如下:
如当前使用的是第一映射表,则更新第二映射表,将第一映射表的内容复制到第二映射表,同时在复制过程中改变上述坏块的坏块标记和目标地址,并改变替换块的使用标记,在完成复制后删除第一映射表,如第二映射表更新失败,则可继续使用第一映射表;如果当前使用的是第二映射表,则相反。
4.如权利要求1所述的一种NandFlash驱动方法,其特征在于,如果备用区中的已经用于替换活动区的坏块的块损坏,则在备用区中继续使用另一个好块替换该备用区的坏块。
5.如权利要求1所述的一种NandFlash驱动方法,其特征在于,在系统首次上电时在MCU的ROM中首次建立NandFlash的物理地址-逻辑地址映射表,采用以下方案:
S201.将NandFlash的活动区的物理地址一一映射到第一映射表中,在该过程中不对活动块的好坏状态进行扫描和标记,仅用于建立初始的活动区映射表对应关系;
S202.扫描备用区,将其中的坏块进行标记,并在映射表中标记其坏块状态;
S203.扫描活动区,如果发现坏块,则使用坏块替换方法对活动区的坏块进行替换。
6.如权利要求1所述的一种NandFlash驱动方法,其特征在于,在系统非首次上电时,选择映射表的具体操作如下:
判断第一映射表和第二映射表是否都存在映射表数据且校验正确,如果只有其中一个映射表存在数据,则使用存在数据的映射表;如果两个映射表都没有数据,则进行初始化操作;如果都存在数据,则判断两个映射表备用区的下一个可用块标识的大小,使用标识较大的映射表。
7.如权利要求1所述的一种NandFlash驱动方法,其特征在于,在对NandFlash进行操作时采用以下方法从逻辑地址获取实际地址:
在当前使用的映射表中找到逻辑地址对应的值,根据其坏块标记F1判断该块是否为坏块,如果为坏块,则对其目标地址F2继续进行坏块判断,如果不为坏块则实际地址即逻辑地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910600440.3A CN110287068B (zh) | 2019-07-04 | 2019-07-04 | 一种NandFlash驱动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910600440.3A CN110287068B (zh) | 2019-07-04 | 2019-07-04 | 一种NandFlash驱动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287068A CN110287068A (zh) | 2019-09-27 |
CN110287068B true CN110287068B (zh) | 2023-02-28 |
Family
ID=68020580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910600440.3A Active CN110287068B (zh) | 2019-07-04 | 2019-07-04 | 一种NandFlash驱动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287068B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111722808A (zh) * | 2020-06-22 | 2020-09-29 | 北京卫星环境工程研究所 | 一种用于星上载荷的存储处理方法、处理装置及处理器 |
CN114546292B (zh) * | 2022-02-28 | 2023-12-15 | 深圳市风云实业有限公司 | 一种nand flash坏块管理方法及系统 |
CN115629720B (zh) * | 2022-12-20 | 2023-07-28 | 鹏钛存储技术(南京)有限公司 | 基于闪存为介质的存储设备上的非对称条带化方法 |
CN117891412B (zh) * | 2024-03-14 | 2024-07-09 | 武汉麓谷科技有限公司 | 一种基于zns固态硬盘的坏块映射方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510445A (zh) * | 2009-03-19 | 2009-08-19 | 北京中星微电子有限公司 | 存储器坏块表的保存和读取的方法以及装置 |
CN105005453A (zh) * | 2015-07-17 | 2015-10-28 | 上海卫星工程研究所 | 星载nand flash固存坏区管理系统 |
CN105740163A (zh) * | 2016-01-29 | 2016-07-06 | 山东鲁能智能技术有限公司 | 一种Nand Flash坏块管理方法 |
CN106776359A (zh) * | 2016-11-11 | 2017-05-31 | 上海航天测控通信研究所 | 一种NAND Flash坏块管理方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI379194B (en) * | 2009-01-15 | 2012-12-11 | Phison Electronics Corp | Block management method for flash memory, and storage system and controller using the same |
CN104317733A (zh) * | 2014-10-28 | 2015-01-28 | 陕西千山航空电子有限责任公司 | 一种nand flash坏块管理方法 |
CN108121503B (zh) * | 2017-08-08 | 2021-03-05 | 鸿秦(北京)科技有限公司 | 一种NandFlash地址映射及块管理方法 |
-
2019
- 2019-07-04 CN CN201910600440.3A patent/CN110287068B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510445A (zh) * | 2009-03-19 | 2009-08-19 | 北京中星微电子有限公司 | 存储器坏块表的保存和读取的方法以及装置 |
CN105005453A (zh) * | 2015-07-17 | 2015-10-28 | 上海卫星工程研究所 | 星载nand flash固存坏区管理系统 |
CN105740163A (zh) * | 2016-01-29 | 2016-07-06 | 山东鲁能智能技术有限公司 | 一种Nand Flash坏块管理方法 |
CN106776359A (zh) * | 2016-11-11 | 2017-05-31 | 上海航天测控通信研究所 | 一种NAND Flash坏块管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110287068A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287068B (zh) | 一种NandFlash驱动方法 | |
US8041884B2 (en) | Controller for non-volatile memories and methods of operating the memory controller | |
CN100424655C (zh) | 快闪存储器管理方法 | |
CN102063380B (zh) | 一种向非易失性存储器写入数据的方法及装置 | |
CN103257831B (zh) | 存储器的读写控制方法及对应的存储器 | |
US6381176B1 (en) | Method of driving remapping in flash memory and flash memory architecture suitable therefor | |
CN102779096B (zh) | 一种基于页块面三维的闪存地址映射方法 | |
CN112612418B (zh) | 一种用于大容量NandFlash坏块管理的方法及系统 | |
US20030229753A1 (en) | Flash memory file system | |
US20040085849A1 (en) | Flash memory, and flash memory access method and apparatus | |
CN101493794A (zh) | 一种闪存数据处理方法及装置 | |
US11561870B2 (en) | SSD with compressed superblock mapping table | |
RU2008116179A (ru) | Способы управления данными в носителе флэш-памяти | |
WO2004059651A2 (en) | Nonvolatile memory unit with specific cache | |
CN101719099A (zh) | 减小固态硬盘写入放大的方法及装置 | |
CN103365786A (zh) | 数据存储方法、装置和系统 | |
CN110134645B (zh) | 文件系统存储管理方法、读取方法、管理装置和读取装置 | |
US7058784B2 (en) | Method for managing access operation on nonvolatile memory and block structure thereof | |
CN109669889B (zh) | 一种轻量型Nor Flash闪存控制方法和装置 | |
CN112596668A (zh) | 一种存储器的坏块处理方法及系统 | |
CN107045423B (zh) | 存储器装置及其数据存取方法 | |
CN102541753B (zh) | 一种嵌入式存储器的读写优化方法 | |
CN110262980B (zh) | 基于有限寿命存储介质的高速存储系统 | |
TW201303585A (zh) | 快閃記憶體儲存設備的資料儲存方法和裝置 | |
CN116185563B (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 |