CN1716450A - 对闪存数据的存取进行管理的方法 - Google Patents
对闪存数据的存取进行管理的方法 Download PDFInfo
- Publication number
- CN1716450A CN1716450A CN 200410062645 CN200410062645A CN1716450A CN 1716450 A CN1716450 A CN 1716450A CN 200410062645 CN200410062645 CN 200410062645 CN 200410062645 A CN200410062645 A CN 200410062645A CN 1716450 A CN1716450 A CN 1716450A
- Authority
- CN
- China
- Prior art keywords
- piece
- bad
- data
- block
- bad piece
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000003860 storage Methods 0.000 title description 4
- 238000005192 partition Methods 0.000 claims description 27
- 230000007547 defect Effects 0.000 claims 1
- 230000003044 adaptive effect Effects 0.000 abstract description 6
- 230000002035 prolonged effect Effects 0.000 abstract description 2
- 230000009191 jumping Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000006124 Pilkington process Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000013316 zoning Methods 0.000 description 1
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种对闪存数据存取进行管理的自适应方法,所述闪存分为多个连续的分区,所述方法包括以下步骤:(1)查看是否有坏块记录表,如果没有则建立所述坏块记录表;(2)根据坏块记录表,确定每个分区中的有效逻辑块;和(3)按照确定的所述有效逻辑块,对所述闪存进行数据存取。使用本发明的方法,既继承了存储位置浮动法的优点又克服了其在一个分区的坏块超过24个块就不能用的缺点,使闪存的使用寿命得以增强。
Description
技术领域
本发明涉及对闪存的存储管理方法,尤其涉及一种自适应的对含有坏块的闪存中的数据存取进行管理的方法。
背景技术
随着电子技术的不断发展,及人们对数据存储容量、存取速度的需求的不断上升。flash(闪存)介质以其制造成本低廉、存储量大、数据非易失、无机械故障等优点,被广泛地用作数据存储器。目前对闪存的存储管理方法大致有两种:一种是跳坏块法,另一种方法是浮动存储位置法。
下面首先介绍现有技术中对闪存进行存储管理的跳坏块法。“跳坏块”顾名思义就是在操作闪存时,遇到坏块时跳过去不操作坏块而用备份块来替代它。该法把闪存划分成以下几部分:数据区、交换区、备用区、坏块记录区,其物理结构见图1(a)。
其中,对各部分的描述如下:
(1)坏块记录区
在坏块记录区中有一坏块记录表。该表如图1(b)所示,是在对闪存进行低级格式化时建立的,它维护着数据区的物理块与逻辑块之间的相互关系。用两个字节来表示一个逻辑块。这样,512个字节可以记录256个块。每个块的第一位如图所示表示有效位信息,其中0表示逻辑块有相应的物理块;1则表示没有相应的物理块。
(2)备用块区
备用块区是为数据区的坏块准备的,其大小与闪存的类型有关。例如:
对于NAND闪存:闪存中的总块数×2%;
对于MLC闪存:闪存中的总块数×4%。
(3)交换块区
交换块区是为存取闪存中的数据区准备的,该区大小为:1-N个块,由用户确定,但至少要有一个块。
(4)数据区
专门用于存放数据。
在现有技术的跳坏块方法中,数据区的存取是按扇区(sector)来进行的,物理块与逻辑块的对照关系见图2。由图2可知,在跳坏块法中,除去坏块,物理块和逻辑块是相等的,图3是采用跳坏块法存取数据的方法流程图。
在存取时,首先要计算逻辑块号的位置(步骤301),然后判断是否是坏块(步骤302)。如果是坏块,则从坏块记录表中计算逻辑块号(步骤303),然后根据计算的逻辑块号确定对应的物理块进行数据存取(步骤304);如果判断不是坏块,则直接存取数据(步骤305)。
该方法有两个明显缺点:A、数据存储位置是固定的,不能避免有的块会比其它块过多的使用导致闪存使用寿命缩短。B、数据的写入速度很慢。当然,相对于后续的存储位置浮动法会出现的坏块数大于24块时无法使用的缺陷而言,跳坏块法的闪存介质可以一直使用。这是其优点。
为了克服跳坏块法的缺点及提高读写速度,出现了另一种方法--浮动存储位置法。“存储位置浮动法”顾名思义就是要通过变换存储位置以达到平衡各个块的写次数,延长闪存的使用寿命。该方法按分区(ZONE)来管理闪存,它把闪存划分成N个分区,每个分区由1024个块组成,其中逻辑块是1000个块。存储位置浮动法的物理结构及数据安排见表1。
表1物理结构及数据安排
分区号 | 物理块号 | 使用 |
0 | 0 | 整个信息记录表 |
1-1023 | 存储区(逻辑块号:0-999) | |
1 | 0-1023 | 存储区(逻辑块号:1000-1999) |
:: | :: | :: |
最后一个分区 | 0-1023 | 存储区(逻辑块号:[最后一个分区号]*1000-[最后一个分区号]*1000+999) |
存储位置浮动法的物理块与逻辑块的对应关系见图4。由图可知,逻辑块的存储位置是不固定的,以通过这种方式来避免过多地反复使用某一物理块。该方法是通过建立逻辑到物理的对照表来实现的,对照表是一个1024大小的两字节无符号型数组,如:unsignedint gwL2Ptable[1024],其中0~999项记录了逻辑块对应的物理块地址。例如:gwL2Ptable[0]=1023,表示逻辑块0的数据存放在物理块1023中。1000~1023项记录着坏块和空块的物理地址。存储位置浮动法的存取方法见图5。
如图5所示,在现有技术的存储位置浮动法存取数据的过程中,首先要根据逻辑块地址,通过计算得到分区号及逻辑块在逻辑分区的偏移量(步骤501)。
然后,通过查找闪存中的逻辑-物理块对照表,得到要操作的物理块地址dwSrcBlockAddress和空块的物理地址dwSpareBlockAddress(步骤502)。
然后,进一步判断是要对闪存写入数据还是从闪存中读出数据(步骤503)。
如果确定要从闪存中读取数据,则根据所确定的物理块地址读出数据(步骤504)。随后结束处理。
另一方面,当确定要向闪存中写入数据时,则把未更新的数据复制到相应的空块中,同时把新的数据写入空块(步骤505)。该步骤如下:
i)判断该物理块是否为已用块(即含有有效数据的块)。如果不是,则直接向该块写入需要写的数据;否则进入下一步。
ii)如果为已用块,首先把该物理块中不被更新的数据复制到空块中(交换块),把需要写入的数据也写入该空块的相应位置。
然后,擦除操作块,并更新逻辑-物理块对照表(步骤506)。
具体地说,由于在写操作之前,该逻辑地址是对应一个物理地址的(在对照表中)。但是发生写操作以后(上述的ii)步骤),该逻辑地址对应到了新的物理块上,这时需要更新对照表中的对应关系,把该物理地址对应到新的物理块(原来的交换块)上,同时擦除原物理块。
该方法把连续的1024个块看成一个分区,其中1000个块用于数据存储。但该方法也存在缺点,如果一个分区的坏块超过24个块,则会出现闪存由于坏块过多不能使用的缺点。
发明内容
鉴于现有技术的上述缺陷,本发明的目的即在于提出一种自适应的数据存取管理方法,在该方法中,与存储位置浮动法一样,还是把闪存看成是由N个连续的分区组成,每个分区又由若干个块组成。但是有效的逻辑块不再是固定的,而是:一个分区中块的总数-(一个空块+M个坏块),其中空块是为写准备的,M个坏块是在上电初始化时通过查看坏块记录表确定的。
本发明的数据存取管理方法包括如下步骤:
(1)查看是否有坏块记录表,如果没有则建立所述坏块记录表;
(2)根据坏块记录表,确定每个分区中的有效逻辑块;和
(3)按照确定的所述有效逻辑块,对所述闪存进行数据存取。
本发明的方法既继承了存储位置浮动法的优点,又克服了其在一个分区的坏块超过24个块就不能用的缺点,使闪存的使用寿命得以延长。
附图说明
图1(a)是采用现有技术的跳坏块法的闪存结构图;
图1(b)是在跳坏块法中的坏块记录表的结构示意图;
图2是在现有技术的存储位置浮动法中物理块与逻辑块对应关系的示意图;
图3是现有技术的跳坏块法中的数据存取方法的流程图;
图4是现有技术的存储位置浮动法中物理块与逻辑块对应关系图;
图5是存储位置浮动法的存取方法流程图;
图6是根据本发明的自适应的数据存取方法的流程图;
图7是坏块记录表物理结构图;
图8是坏块记录项描述图;
图9是分区的有效逻辑块确立流程图;
图10是根据本发明的自适应的数据存取方法的数据存取过程图。
具体实施方式
下面结合附图,对本发明的方法进行详细地描述。
本发明为克服存储位置浮动法的缺点,在存储位置浮动法的基础上提出了存储管理自适应方法。实现该方法的总流程图见附图6。与存储位置浮动法一样还是把闪存看成是由N个连续的分区组成,每个分区由若干个块组成。为便于说明,以下以1024个块作为一个分区为例。在这种情况下,有效的逻辑块不再是固定的1000个块,而是1024-(一个空块+M个坏块),其中空块是为写操作准备的,M个坏块是在上电初始化时通过查看坏块记录表确定的。
事实上,本发明的方法是在现有的存储位置浮动法的基础上,使用了跳坏块法的坏块记录表的特征。但是,具体的使用方法是不一样的。在“跳坏块法”中,坏块记录表是在写操作的过程中查找物理地址时使用的。但在本发明中,坏块记录表只有在计算有效逻辑块时使用。
如图6所示,根据本发明方法的一个优选实施方案,其数据存取管理方法包括:
在闪存上电时,闪存盘控制程序会查找坏块记录表(步骤601),若没有找到就对闪存进行低级格式化并建立该表(步骤602),它记录着坏块的物理地址,用四个字节来记录一个坏块的信息。坏块记录表用第一个物理好块来存放。
图7显示了用于存放坏块记录表的块的物理结构。其中“块状态”描述了闪存的各物理块的状态(每个块都有这样的块状态项):0x00表示该块是坏块;0x55表示该块是坏块记录表;0xff表示该块是数据块。
当然,上述数值是自定义的,可以改为其他的值,只是一个标记,不会因存储介质或者厂商而改变。
需要说明,在图7中所示的第一行中,除了块状态之外,表中其它单元格有其它的意义,但与本发明的实现无关,因此为简明起见,予以省略。另外,其它行的格式与第一行是相同的。
图8显示了坏块记录项。如上所述,一个坏块信息用连续的四字节来表示,因此512个字节的坏块记录项可以记录128个坏块。另外还有16个字节的冗余。
在一个坏块信息中,芯片号记录了块所在的闪存芯片位置,分区号则记录了坏块所在的分区的编号。后两个字节分别记录了坏块的高位地址和低位地址。
坏块记录结束标志是连续的四字节,0xffffffff表示结束。
根据本发明的方法,在确定了坏块记录表之后,根据该坏块记录表确定每个分区的有效逻辑块(步骤603)。与现有技术的存储位置浮动法一样,本发明的方法还是把闪存看成是由N个连续的分区组成,每个分区也是由1024(这是一个自定义的值,也是一个经验值,可以取其它的值)个连续的物理块组成。但是有效逻辑块的设置与存储位置浮动法不一样,不再是固定的1000个块,而是1024-(一个空块+M个坏块)。其中:空块是为写准备的,M个坏块是在上电初始化时通过查看坏块记录表确定的。
对于每片的物理块最大数目是8192的闪存(有的闪存的物理块数目小于8192),可以用一个8个两字节大小的数组如unsigned shortgwLogBlockNumbersPerZone[8]来记录每个分区的有效逻辑块;用一个临时变量数组如unsigned long ldwTempBuff[128]来记录坏块记录项的数据;用一个变量如char iBadBlcokRecordItems来表示要操作的坏块记录项;用一个变量如unsigned char iBadBlockItems来表示坏块记录项的第I项。每个分区的有效逻辑块的确定将在下文中详细说明。
接着,进一步确定是否要对闪存进行数据存取操作(步骤604),如是则进行数据存取(步骤605),如否则等待对闪存的下一步操作命令。数据存取的具体过程将在下文中具体说明。
下面结合图9说明根据本发明的确定每个分区的有效逻辑块的方法。
首先对记录每个分区的有效逻辑块的8个两字节大小的数组变量gwLogBlockNumbersPerZone[8]初始化,将其中的每一项初始化为1023,并将表示要操作的坏块记录项的变量iBadBlcokRecordItems初始化为0(步骤901)。
然后,将要操作的第iBadBlcokRecordItems的坏块项的数据当读到1dwTempBuff[128]临时缓冲器中。这个数据包含了坏块记录表中的每512个字节的情况。由于在闪存中是以512个字节为一个最小的编程(写)单元(Sector),因此在记录和读取坏块信息时也是以512字节为单位进行的。这个数据就是坏块表中的每512个字节。此时缓冲器中的变量值为1dwTempBuff[iBadBlockItems],并将表示坏块记录项的第I项的变量iBadBlockItems初始化为0(步骤902)。
接着,在步骤903,判断变量值1dwTempBuff[iBadBlockItems]是否是结束标志。
如果判断1dwTempBuff[iBadBlockItems]是结束标志,则结束处理。否则由该项值得到分区号,并将该相应分区的逻辑块减一。即执行gwLogBlockNumbersPerZone[ZoneNo]--和iBadBlockItems++(步骤904)。
接下来进一步判断是否已遍历坏块记录项,在本例中即判断表示坏块记录项的第I项的变量iBadBlockItems是否达到最大值128(步骤905)。如果不是,则返回步骤903处理;如果不是,则进行至步骤906,将表示要操作的坏块记录项的变量iBadBlcokRecordItems的值加1(即iBadBlcokRecordItems++),然后返回至步骤902处理。直到判断1dwTempBuff[iBadBlockItems]是结束标志为止。
通过上述步骤,就确定了每个分区的有效逻辑块。
图10是说明根据本发明一实施方案的数据存取的流程图。如图10所示,在采用本发明的数据存取管理方法的闪存中,当确定要进行数据存取时(图6的步骤604和605),则首先根据要操作的逻辑块的地址,通过计算得到分区号和逻辑块在逻辑分区中的偏移量(步骤1001)。
接着,通过查找闪存中的逻辑-物理块对照表,得到要操作的物理块地址dwSrcBlockAddress和空块的物理地址dwSpareBlockAddress(步骤1002)。
具体地说,在步骤1002中,当前要操作的分区号和物理块地址是通过逻辑块地址和每个分区的有效逻辑块地址决定的,具体决定步骤包括:
(1)将分区号(ZoneNo)设置为0,设LBAddr为要操作的块地址;
(2)如果LBAddr小于gwLogBlockNumbersPerZone[分区号],则要操作的分区号ZoneNo和LBAOfZone(表示在一个分区单元内的逻辑地址)已经找到(LBAOfZone=LBAddr)。否则LBAOfZone=LBAddr-gwLogBlockNumbersPerZone[分区号],将分区号加一(即ZoneNo++),继续判断,直到找到LBAOfZone。
(3)根据逻辑-物理块对照表的第LBAOfZone位置的值,即gwL2Ptable[LBAOfZone],得到要操作的逻辑块所对应的物理块地址;
(4)根据gwL2Ptable[gwLogBlockNumbersPerZone[分区号]]得到对应的空块。
然后,进一步判断是要对闪存写入数据还是从闪存中读出数据(步骤1003)。
如果确定要从闪存中读取数据,则根据所确定的物理块地址读出数据(步骤1004)。随后结束处理。
另一方面,当确定要向闪存中写入数据时,则把未更新的数据复制到相应的空块中,同时把新的数据写入空块(步骤1005)。这一步与图5所示的
现有技术是相同的。
然后,擦除操作块,并更新逻辑-物理块对照表(步骤1006)。与图5所示的现有技术的更新方式是相同的。
本发明的上述方法的数据存取过程与存储位置浮动法的数据存取过程是大致一样的,都是通过建立逻辑-物理块对照表unsigned intgwL2Ptable[1024]来完成的。不同之处是:本发明方法的空块都是存放在对照表的gwLogBlockNumbersPerZone[分区号]处,而不是在对照表的第1000的位置处。
以上对本发明具体实施方式的说明并非是对发明的限定。显然在由权利要求所限定的本发明的精神和实质范围内,可以对本发明的上述实施方式做出各种修改和变化。因此,本发明的权利要求的保护范围将包括这些等同的修改和变化。
Claims (10)
1.一种对闪存数据的存取进行管理的方法,所述闪存分为多个连续的分区,所述方法包括以下步骤:
(1)查看是否有坏块记录表,如果没有则建立所述坏块记录表;
(2)根据坏块记录表,确定分区中的有效逻辑块;和
(3)按照确定的所述有效逻辑块,对所述闪存进行数据存取。
2.根据权利要求1所述的方法,其特征在于,所述步骤(2)包括:
(2-1)对记录每个分区的有效逻辑块的数组变量、和表示要操作的坏块记录项的变量进行初始化;
(2-2)将要操作的坏块项的数据读到临时缓冲器中,并将表示第i项的坏块记录项的变量初始化;
(2-3)由所述临时缓冲器中的变量值得到分区号,并将该分区的逻辑块数量减一;
(2-4)重复步骤(2-2)和(2-3)的处理,直到已遍历所有的坏块记录项。
3.根据权利要求2所述的方法,其特征在于,所述步骤(2-3)进一步包括:
(2-3-1)判断所述临时缓冲器中的变量值是否是结束标志;
(2-3-2)如果判断所述临时缓冲器中的变量值不是结束标志,则将与该变量值对应的分区的逻辑块数量减1,将坏块数量值加1。
4.根据权利要求3所述的方法,其特征在于,其特征在于,在一个所述分区中的有效逻辑块数目=一个分区中的块总数-(空块数量+坏块数量)
其中所述空块用于写操作,坏块数量根据坏块记录表确定。
5.根据权利要求4所述的方法,所述空块数量为1。
6.根据权利要求1所述的方法,其特征在于,所述坏块记录表包括:坏块记录项,块状态项和坏块记录结束标志,
其中所述坏块记录项包括:坏块信息项,包括:
芯片号,用于记录块所在的闪存芯片的位置,
分区号,用于记录坏块所在的分区的编号,以及
坏块地址;
所述块状态项表示块的状态,所述块状态包括:
坏块,
坏块记录表,以及
数据块。
7.根据前述权利要求任一项所述的方法,其特征在于,所述步骤(3)包括:
(3-1)根据要操作的逻辑块的地址,确定分区号和逻辑块在逻辑分区中的偏移量;
(3-2)通过查找闪存中的逻辑-物理块对照表,得到要操作的物理块地址和空块的物理地址;
(3-3)根据所确定的物理块地址读出数据,或根据所得到的物理块地址和空块的物理地址,向闪存写入数据。
8.根据述权利要求7所述的方法,其特征在于,所述步骤(3-2)包括:
(3-2-1)将分区号设置为0,设LBAddr为要操作的块地址;
(3-2-2)如果LBAddr小于gwLogBlockNumbersPerZone[分区号],则确定LBAOfZone=LBAddr,否则LBAOfZone=LBAddr-gwLogBlockNumbersPerZone[分区号],将分区号加一,继续判断,直到找到LBAOfZone;
(3-2-3)根据逻辑-物理块对照表的第LBAOfZone位置的值,得到要操作的逻辑块所对应的物理块地址;
(3-2-4)根据gwL2Ptable[gwLogBlockNumbersPerZone[分区号]]的值得到对应的空块。
9.根据权利要求8所述的方法,其特征在于,所述向闪存中写入数据的步骤包括:把未更新的数据复制到相应的空块中,同时把新的数据写入空块。
10.根据权利要求9所述的方法,其特征在于,进一步包括:在完成数据写入后,擦除写操作所用的空块,并更新所述逻辑-物理块对照表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100626454A CN100511478C (zh) | 2004-06-30 | 2004-06-30 | 对闪存数据的存取进行管理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100626454A CN100511478C (zh) | 2004-06-30 | 2004-06-30 | 对闪存数据的存取进行管理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1716450A true CN1716450A (zh) | 2006-01-04 |
CN100511478C CN100511478C (zh) | 2009-07-08 |
Family
ID=35822179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100626454A Expired - Lifetime CN100511478C (zh) | 2004-06-30 | 2004-06-30 | 对闪存数据的存取进行管理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100511478C (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100440172C (zh) * | 2006-03-29 | 2008-12-03 | 群联电子股份有限公司 | 闪存及其使用方法 |
CN101419837A (zh) * | 2007-10-22 | 2009-04-29 | 慧荣科技股份有限公司 | 储存装置及存取该储存装置的一状态信息的方法 |
CN101622676A (zh) * | 2007-10-26 | 2010-01-06 | 株式会社东芝 | 存储器*** |
CN101246741B (zh) * | 2007-02-16 | 2010-10-06 | 深圳市芯邦微电子有限公司 | 利用瑕疵存储器的***、装置和方法及封装结构 |
CN101470663B (zh) * | 2007-12-29 | 2011-01-12 | 安凯(广州)微电子技术有限公司 | Nand闪存的mtd设计中处理地址不连续的方法 |
CN102073541A (zh) * | 2010-12-28 | 2011-05-25 | 中兴通讯股份有限公司 | 数据访问方法及移动终端 |
CN101479708B (zh) * | 2006-06-28 | 2011-10-05 | 精工爱普生株式会社 | 半导体存储装置管理***、半导体存储装置、主机装置、程序、半导体存储装置的管理方法 |
CN101499316B (zh) * | 2008-01-30 | 2011-10-19 | 群联电子股份有限公司 | 快闪存储器区块管理方法及使用此方法的控制器 |
CN101425334B (zh) * | 2007-10-30 | 2012-02-15 | 北京同方微电子有限公司 | 一种实现nor flash坏块管理的方法及其控制电路 |
CN102375943A (zh) * | 2010-08-16 | 2012-03-14 | 群联电子股份有限公司 | 识别码产生方法与存储器管理方法、控制器及储存*** |
CN101847126B (zh) * | 2009-10-27 | 2012-08-22 | 深圳市朗科科技股份有限公司 | 存储设备分区装置及存储设备分区方法 |
CN102662852A (zh) * | 2012-03-20 | 2012-09-12 | 山东省科学院自动化研究所 | 一种利用MCU内部数据Flash存储非易失性数据的方法 |
US8335885B2 (en) | 2007-10-17 | 2012-12-18 | Silicon Motion, Inc. | Storage device and method of accessing a status thereof |
CN102999436A (zh) * | 2012-11-28 | 2013-03-27 | 华为终端有限公司 | 在Nand闪存中生成动态分区信息的方法和装置 |
CN103778065A (zh) * | 2012-10-25 | 2014-05-07 | 北京兆易创新科技股份有限公司 | 一种闪速存储器及其进行坏块管理的方法 |
US8996933B2 (en) | 2010-08-06 | 2015-03-31 | Phison Eletronics Corp. | Memory management method, controller, and storage system |
CN106653090A (zh) * | 2016-12-30 | 2017-05-10 | 湖南国科微电子股份有限公司 | 大幅提升固态硬盘服务时间的闪存的错误管理方法 |
CN103744694B (zh) * | 2013-12-24 | 2017-08-11 | 武汉烽火众智数字技术有限责任公司 | 基于Nand闪存的动态分区搜索装置及其方法 |
CN109582239A (zh) * | 2018-12-03 | 2019-04-05 | 郑州云海信息技术有限公司 | 一种ssd坏块表的保存方法、装置、设备以及存储介质 |
-
2004
- 2004-06-30 CN CNB2004100626454A patent/CN100511478C/zh not_active Expired - Lifetime
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100440172C (zh) * | 2006-03-29 | 2008-12-03 | 群联电子股份有限公司 | 闪存及其使用方法 |
CN101479708B (zh) * | 2006-06-28 | 2011-10-05 | 精工爱普生株式会社 | 半导体存储装置管理***、半导体存储装置、主机装置、程序、半导体存储装置的管理方法 |
CN101246741B (zh) * | 2007-02-16 | 2010-10-06 | 深圳市芯邦微电子有限公司 | 利用瑕疵存储器的***、装置和方法及封装结构 |
US8335885B2 (en) | 2007-10-17 | 2012-12-18 | Silicon Motion, Inc. | Storage device and method of accessing a status thereof |
CN101419837B (zh) * | 2007-10-22 | 2012-01-04 | 慧荣科技股份有限公司 | 储存装置及存取该储存装置的一状态信息的方法 |
CN101419837A (zh) * | 2007-10-22 | 2009-04-29 | 慧荣科技股份有限公司 | 储存装置及存取该储存装置的一状态信息的方法 |
CN101622676A (zh) * | 2007-10-26 | 2010-01-06 | 株式会社东芝 | 存储器*** |
CN101425334B (zh) * | 2007-10-30 | 2012-02-15 | 北京同方微电子有限公司 | 一种实现nor flash坏块管理的方法及其控制电路 |
CN101470663B (zh) * | 2007-12-29 | 2011-01-12 | 安凯(广州)微电子技术有限公司 | Nand闪存的mtd设计中处理地址不连续的方法 |
CN101499316B (zh) * | 2008-01-30 | 2011-10-19 | 群联电子股份有限公司 | 快闪存储器区块管理方法及使用此方法的控制器 |
CN101847126B (zh) * | 2009-10-27 | 2012-08-22 | 深圳市朗科科技股份有限公司 | 存储设备分区装置及存储设备分区方法 |
US8996933B2 (en) | 2010-08-06 | 2015-03-31 | Phison Eletronics Corp. | Memory management method, controller, and storage system |
CN102375943A (zh) * | 2010-08-16 | 2012-03-14 | 群联电子股份有限公司 | 识别码产生方法与存储器管理方法、控制器及储存*** |
CN102073541A (zh) * | 2010-12-28 | 2011-05-25 | 中兴通讯股份有限公司 | 数据访问方法及移动终端 |
CN102662852A (zh) * | 2012-03-20 | 2012-09-12 | 山东省科学院自动化研究所 | 一种利用MCU内部数据Flash存储非易失性数据的方法 |
CN102662852B (zh) * | 2012-03-20 | 2015-05-27 | 山东省科学院自动化研究所 | 一种利用MCU内部数据Flash存储非易失性数据的方法 |
CN103778065A (zh) * | 2012-10-25 | 2014-05-07 | 北京兆易创新科技股份有限公司 | 一种闪速存储器及其进行坏块管理的方法 |
CN103778065B (zh) * | 2012-10-25 | 2016-12-21 | 北京兆易创新科技股份有限公司 | 一种闪速存储器及其进行坏块管理的方法 |
WO2014082583A1 (zh) * | 2012-11-28 | 2014-06-05 | 华为终端有限公司 | 在Nand闪存中生成动态分区信息的方法和装置 |
CN102999436A (zh) * | 2012-11-28 | 2013-03-27 | 华为终端有限公司 | 在Nand闪存中生成动态分区信息的方法和装置 |
CN102999436B (zh) * | 2012-11-28 | 2015-09-09 | 华为终端有限公司 | 在Nand闪存中生成动态分区信息的方法和装置 |
CN103744694B (zh) * | 2013-12-24 | 2017-08-11 | 武汉烽火众智数字技术有限责任公司 | 基于Nand闪存的动态分区搜索装置及其方法 |
CN106653090A (zh) * | 2016-12-30 | 2017-05-10 | 湖南国科微电子股份有限公司 | 大幅提升固态硬盘服务时间的闪存的错误管理方法 |
CN109582239A (zh) * | 2018-12-03 | 2019-04-05 | 郑州云海信息技术有限公司 | 一种ssd坏块表的保存方法、装置、设备以及存储介质 |
CN109582239B (zh) * | 2018-12-03 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种ssd坏块表的保存方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100511478C (zh) | 2009-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1716450A (zh) | 对闪存数据的存取进行管理的方法 | |
US8537613B2 (en) | Multi-layer memory system | |
US8407397B2 (en) | Block management method for flash memory and controller and storage system using the same | |
KR101453264B1 (ko) | 메모리 디바이스에 대한 저장 어드레스 리매핑을 위한 방법과 시스템 | |
CN100492322C (zh) | 非易失性存储***中的损耗平衡 | |
CN1290021C (zh) | 编程和读取更新数据的非易失性存储器***和方法 | |
KR100886520B1 (ko) | 블록 내에서 페이지들을 그룹화하는 방법 및 장치 | |
US7890550B2 (en) | Flash memory system and garbage collection method thereof | |
CN1701390A (zh) | 跟踪非易失性存储器***中最频繁擦除区块 | |
CN1698036A (zh) | 跟踪非易失性存储器***中最不频繁擦除区块 | |
CN101425041B (zh) | 在nand flash存储器上建立fat文件***的优化方法 | |
US8214578B2 (en) | Method of storing data into flash memory according to usage patterns of addresses and data storage system using the same | |
CN1701308A (zh) | 维护非易失性存储***中的擦除计数 | |
CN1705936A (zh) | 用于分割一逻辑块的方法及设备 | |
CN1902599A (zh) | 具有大型擦除区块的非易失性存储器***的管理 | |
CN101169760B (zh) | 电子硬盘的存储空间的管理方法 | |
CN101030167A (zh) | 闪存的区块管理方法 | |
CN1701307A (zh) | 管理擦除计数区块的方法和设备 | |
CN101169751A (zh) | 具有闪存设备的***及其数据恢复方法 | |
CN101634967B (zh) | 用于闪存的区块管理方法、储存***与控制器 | |
CN1930635A (zh) | 对多个区块进行适应性确定群组以成为多个多区块单元 | |
CN103688246A (zh) | 具有在活跃slc和mlc存储器分区之间分布的小逻辑组的非易失性存储器和方法 | |
JP2011519095A (ja) | マルチバンク記憶装置のためのストレージアドレス再マッピングのための方法およびシステム | |
CN101556555B (zh) | 用于闪存的区块管理方法、其控制器与储存*** | |
TWI395100B (zh) | 應用於快閃記憶體的階級化分層處理資料的方法及相關快閃記憶體裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term |
Granted publication date: 20090708 |