CN1492447A - 一种快闪存储设备的驱动方法 - Google Patents
一种快闪存储设备的驱动方法 Download PDFInfo
- Publication number
- CN1492447A CN1492447A CNA031574572A CN03157457A CN1492447A CN 1492447 A CN1492447 A CN 1492447A CN A031574572 A CNA031574572 A CN A031574572A CN 03157457 A CN03157457 A CN 03157457A CN 1492447 A CN1492447 A CN 1492447A
- Authority
- CN
- China
- Prior art keywords
- data
- write
- piece
- flash
- writing
- 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.)
- Pending
Links
Images
Landscapes
- Read Only Memory (AREA)
Abstract
一种快闪存储设备的驱动方法,包括以下步骤:对当前需要写入的数据按照FLASH块的大小进行块的界定;将FLASH设备对应块中的数据读出并保存;对相应位置上的所述保存数据和需要写入的数据进行比较,分块判断是否所有位都不产生从“0”到“1”的变化,如果是,直接将实际需要写入的数据写入块内相应位置;如果否,对需擦除的块进行数据保护后进行块擦除,再将实际需要写入的数据写入块内相应位置。对于数据量很大但修改很小的数据写入,或者数据量很小又需要多次写入的情况,本发明都可以减少擦除次数,明显改善FLASH驱动写入速度,并延长FLASH的使用寿命。
Description
技术领域
本发明涉及一种存储设备的驱动方法,尤其涉及一种慢速的快闪存储设备(FLASH存储设备)写入的驱动方法。
背景技术
FLASH作为一种存储介质,特点是保存在其中的数据在设备掉电的情况下不会丢失。其保存数据的独特能力使得FLASH的应用越来越广泛。对于小容量的FLASH设备,由于其本身为慢速设备,对驱动速度的要求可能不是很高;但是对于大容量设备,驱动速度慢的弊病就比较突出。
通常,FLASH驱动中的写操作步骤如下:
FLASH擦除。写入数据之前,必须先将要写入的区域擦除干净。但是FLASH的擦除受到很大限制,不能对任意位置,任意区域的数据进行擦除,只能对整块数据区(块)进行擦除,比如一次擦除128k个字节(一块)。块的大小和位置是由芯片特性决定,并且不可改变。一般来说擦除操作需要的时间很长。
写入有效数据。通常数据的写入有两种方式:字写入,缓冲区写入。字写入每次只能写入一个字;缓冲区写入可以先将数据放在缓冲区,通过一次写周期将多个字写入,比如一次写入16个字。一般来说写入操作的时间也很长,写入一块的时间和擦除一块的时间基本是相当的。
表1:是motorola的FLASH设备e28f128的典型操作时间
缓冲区写块 | 缓冲区写 | 字写 | 块擦除 | |||||||||
设备1 | 典型值 | 最大值 | 单位 | 典型值 | 最大值 | 单位 | 典型值 | 最大值 | 单位 | 典型值 | 最大值 | 单位 |
0.8 | 2.4 | 秒/128k字节 | 218 | 645 | 微秒/32字节 | 210 | 630 | 微秒/字节 | 1 | 5 | 秒/128k字节 |
从表1中我们看出擦除一个块(128k字节)所需要的时间为1秒;写一块(128k字节),最快(采用缓冲区写方式)也需要0.8秒。因此,如果块太小,在写入大数据量时会导致频繁的擦除;如果块太大则写入小数据量时会导致擦除面积太大。两种情况都会在很大程度上影响FLASH的写入速度。
再看一组参数。
表2:是sst公司的FLASH设备sst39vf160q的典型操作时间
字写 | 扇区擦除 | 块擦除 | 芯片擦除 | |||||||||
设备2 | 最小值 | 最大值 | 单位 | 最小值 | 最大值 | 单位 | 最小值 | 最大值 | 单位 | 最小值 | 最大值 | 单位 |
- | 10 | 微秒/2字节 | - | 4 | 毫秒/2k字 | - | 10 | 微秒/32k字 | - | 20 | 毫秒/兆字 |
从表2可以看出,为了提高FLASH的写入速度,可以根据每次写入数据的多少选用不同的擦除单位,以提高FLASH的操作速度。上表中的硬件设备提供了几种擦除单位,比如扇区(4k字节),块(64k字节),整个芯片。这样可以根据不同的写入需求选择擦除单位的大小,以提高FLASH操作效率。
影响FLASH驱动速度的几个主要因素可以归纳为:FLASH数据块的大小;字节写入和缓冲区写入方式;擦除次数;以及FLASH写入时序。当硬件特性已经确定,要想进一步提高FLASH的驱动速度就必须采用新的驱动方法。从表1、表2可以看出,当写入、擦除操作的时间是固定的情况下,关键问题就是在保证存储数据正确的前提下,每次写入之前尽可能不进行擦除操作。
擦除操作虽然很慢,但如果不按照上面的过程操作,而是不进行擦除就简单地直接写入数据,将会导致写入数据与FLASH中存储的数据不符合。
发明内容
有鉴于此,本发明要解决的技术问题是提供一种快闪存储设备的驱动方法,在保证数据写入正确的前提下,能够减少块擦除次数,提高驱动的操作速度。
为了解决上述技术问题,本发明提供了一种快闪存储设备的驱动方法,包括以下步骤:
(a)对当前需要写入的数据按照FLASH块的大小进行块的界定;
(b)将FLASH设备对应块中的数据读出并保存;
(c)对相应位置上的所述保存数据和需要写入的数据进行比较,分块判断是否所有位都不产生从“0”到“1”的变化,如果是,执行步骤(e);如果否,执行下一步;
(d)对需擦除的块进行数据保护,再进行块擦除;以及
(e)将实际需要写入的数据写入块内相应位置。
上述步骤(b)中可以是将实际需要写入的数据区域内的数据读出,该数据区域对于字写入设备是对写入块内数据的开头和结尾进行字对齐后确定的。
上述步骤(c)中,判断是否所有位都不产生从“0”到“1”的变化的方法较佳是:将相应位置上的所述保存数据和需要写入的数据进行逐字节的比较,对保存的原有字节和要写入的字节进行按位“与”操作,如果获得的值都等于要写入的数据,则该块内所有位都不产生从“0”到“1”的变化,否则该块内有某些位产生了从“0”到“1”变化。
上述步骤(d)中,对需擦除的块进行数据保护可以是通过在擦除前,将该块内非写入位置的数据读出保存来实现的。
上述步骤(e)中,写入数据到块内较佳采用缓冲区写的方式。
上述步骤(e)中,实际需要写入的数据在不进行块擦除的情况下,是指所述保存数据被需要写入的数据替代后得到的数据;在进行块擦除的情况下,则包括所述保存数据被需要写入的数据替代后的数据,以及非写入位置的保护数据。
上述方法中,当写入数据被分割为若干块时,各块数据的读出、比较、保护、擦除和写入操作可以是在一个步骤中完成对各个数据块的处理,再进行下一步骤;也可以是在完成一块数据的各步处理后,再循环处理下一块。
由上可知,本发明方法根据FLASH写入时的固有特点来改善其写操作性能,提高了整个FLASH的驱动速度。特别对于数据量很大但是修改很小的数据写入,或者数据量很小又需要多次写入的情况,本发明方法都可以尽可能地减少擦除次数,明显改善FLASH驱动写操作的性能。同时,由于减少了块擦除的次数,将大大提高FLASH的使用寿命,减小设备故障率。
附图说明
图1是本发明第一实施例块内数据写入的示意图;
图2是本发明第二实施例块间数据写入的示意图;
图3是本发明实施方式的核心步骤流程图;
图4是对本发明第一、第二实施例的具体流程图。
具体实施方式
在FLASH驱动中要想提高速度,在写操作前的块擦除就应该尽量避免,因为块擦除将会耗费大量时间。因此问题的关键在于必须制定出是否要进行块擦除的原则。也就是说,何时块擦除操作是必须的,何时可以不进行块擦除。当判定不需要进行块擦除时,FLASH驱动的速度将得到大幅度的提高。
经过对FLASH设备的深入了解,发现FLASH的最小写操作单位不是字节、也不是字,而是比特的特性。为了说明FLASH的这种操作特性,现以e28f128FLASH设备为例,进行如下说明:
如表3所示,FLASH中已经保存了一个数据0xaa,在相同的位置写入数据0x82。写入完成后可以看到FLASH中存储的数据为0x82。也就是说没有进行擦除的情况下,数据正确的写入了。说明FLASH写操作前不一定要先进行擦除,写入的数据也可能会生效。
表3
二进制位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
原有内容 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
写入内容 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
现有内容 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
如表4所示,FLASH中已经保存了一个数据0xaa,在相同的位置写入数据0xbe。写入完成后可以看到FLASH中存储的数据为0xaa。说明此时FLASH写操作前一定要先进行擦除,否则写入的数据不能被正确保存。
表4
二进制位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
原有内容 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
写入内容 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 0 |
现有内容 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
比较表3和表4。可以得到FLASH操作的特点:即每一个比特位进行写操作时只能够由“1”变为“0”。由“0”变为“1”必须是块擦除操作才能完成。事实上,块擦除操作是将该块的所有位均置为“1”。
再看一个实例,如表5所示。如果FLASH中已经保存了一个数据0xaa,在相同的位置写入数据0x96。我们查看此时FLASH中存储的数据为0x82。该例子再次证明我们得到的关于FLASH写操作的特性是正确的。
表5
二进制位 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
原有内容 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
写入内容 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 |
现有内容 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
通过上面的例子我们可以得到是否需要进行块擦除的判定原则:将FLASH中相应位置上的原有存储数据与写入数据比较,如果所有位(bit)都不产生从“0”到“1”的变化,此时不经擦除而进行写入是可以的;否则在写操作前就必须进行块擦除操作。
本发明根据上述判定原则,提出了一种新的FLASH存储设备的驱动方法。下面将以字写入设备为例,说明本发明的实施方式,其核心步骤如图3所示。
步骤300,对当前需要写入的数据按照FLASH块的大小进行块的界定;即对要写入的数据进行分块
步骤301,对写入块内数据的开头和结尾进行字对齐,确定实际需要写入的数据区域,并将该区域内的数据读出保存。
步骤302,对FLASH中相应位置上的已有数据和需要写入的数据进行比较,根据上述判定原则,判断是否需要进行块擦除,如果是,执行下一步;否则,执行步骤305;
步骤303,对需擦除的块进行数据保护和块擦除;以及
步骤304,将实际需要写入的数据写入块内相应位置。
根据写入数据量的大小和位置,数据写入又可以分为两类:块内数据写入和块间数据写入(也称跨块写入)。两者的写入流程均如图4所示,但具体执行的操作有所差别。为此,下面以本发明第一和第二实施例来分别描述在上述两种情况下数据写入的具体驱动方法。
第一实施例块内数据写入的步骤如下:
步骤100,将需要写入的数据按照FLASH块的大小进行块的界定。图1示出了本实施例块内数据写入的区域:在FLASH的第n块内,从第m个字节(下文简称为m)开始,第j个字节处(下文简称为j)结束。因为所有数据在同一块内,不需要进行块的分割。
步骤101,进行字对齐,确定块内实际需要写入的数据区域。因为是以字设备为例,每次写入至少应该是一个字,因此需要在数据写入的开始和结束位置进行字对齐。写入数据的开始位置和结束位置可以是任意的。如果写入数据是以奇地址开始的(m为奇数),则需要将地址前移一位进行字对齐,实际的写开始地址应该是m-1;如果写入数据是以奇地址结束的(j为奇数),也需要进行地址字对齐,实际的结束位置为j+1。具体来说:
如果m,j均为奇数,实际需要写入的范围是第n块中从m’=m-1到j’=j+1;
如果m,j均为偶数,实际需要写入的范围是第n块中从m’=m到j’=j;
如果m为奇数,j为偶数,实际需要写入的范围是第n块中从m’=m-1到j’=j;
如果m为偶数,j为奇数,实际需要写入的范围是第n块中从m’=m到j’=j+1;
经字对齐后,确定的块内实际需要写入的数据区域为第n块中从m’和j’,m’和j’都是偶数地址。
步骤102,读出块内实际需要写入范围内的数据并保存(如保存在RAM中)。本实施例是保存第n块内m’到j’的数据,如图1所示;
步骤103,判断是否需要进行块擦除操作。这一部分是本发明的关键所在。本实施例中,需要将上一步骤中保存的FLASH中原有的从m到j的数据和需要写入的数据进行逐字节的比较,如果所有位都不产生从“0”到“1”的变化,则不进行擦除,直接执行步骤106;否则,应进行块擦除,执行步骤104。
具体的判断方法可能是多种多样的,最简洁的方法是将保存的FLASH中的原有字节和写入的字节进行按位“与”操作,获得的值如果和要写入的数据相等,则不需要进行块擦除。如表1的示例,FLASH中的字节为a=0xaa,写入的字节为b=0x82,则c=0xaa & 0x82=0x82,此时c等于b,不需要擦除;如表2的示例,a=0xaa,b=0xbe,则c=0xaa,此时c不等于b,需要擦除操作;再如表3,a=0xaa,b=0x96,则c=0x82,此时c不等于b,需要进行擦除。使用本方法判定不需要擦除时,FLASH中相应位置上的原有数据和写入数据比,不会存在从“0”变化为“1”的位,因此该判定方法完全满足FLASH的擦除判定原则,可以准确、简洁、快速地判定是否需要进行块擦除。
步骤104,需要进行块擦除操作时,应当先保护块内非写入位置的数据。即将块开始到m’-1的数据和j’+1到块结束的数据也读出保存。这样就可以达到块内写入数据区外的数据的保护。
步骤105,进行块擦除操作。本实施例是擦除第n块。
步骤106,产生实际需要写入的数据。
如果不进行块擦除操作,将要写入的数据替代相应位置上的保存数据(步骤102中读出的),即得到了实际需要写入的数据。此处不应该从保存数据的开始进行替换。事实上,开始保存数据的第一个字节有可能是用于字节对齐而保存的数据。因此需替代的是保存数据中从m到j的数据,而不是m’到j’的数据。但实际需要写入的数据是替代后的从m’到j’的数据。
如果进行了块擦除,实际需要写入的数据包括步骤104中被保护的数据(从块开始到m’-1的数据,及从j’+1到块结束的数据)和替代后的从m’到j’的数据。
步骤107,进行缓冲区写操作写入数据。由于采用缓冲区写的速度明显快于字写入(具体参数可以参看表1),因此本实施例采用缓冲区写的方式,将步骤106得到的实际需要写入的数据写入FLASH,完成本次数据写入。写入数据可能是整块数据(进行过块擦除),也可能是从m’到j’的数据(没有进行过块擦除)。
步骤108,判断所有数据是否写入?如果是,则结束;如果否,则重复执行步骤100,进行下一次的数据写入,直至写入所有数据。
第二实施例块间数据写入的步骤如下:
步骤200,将写入的数据按照FLASH块的大小进行块的界定。图2示出了第二实施例块间数据写入的区域:从FLASH的第n块第m个字节开始,跨越第n+1块,在第n+2块的第j个字节处结束。此时,就需要先将数据分割为3块,以依次进行数据写入。这样分割数据的原因是擦除单位是块(如:128k字节/块),如果需要进行擦除的话,将擦除整块。
步骤201,进行字对齐,确定块内实际需要写入的数据区域。
如果m,j均为奇数,实际需要写入的范围是第n块的m’=m-1到第n+2块的j’=j+1;
如果m,j均为偶数,实际需要写入的范围是第n块的m’=m到第n+2块的j’=j。
如果m为奇数,j为偶数,实际需要写入的范围是第n块的m’=m-1到第n+2块的j’=j。
如果m为偶数,j为奇数,实际需要写入的范围是第n块的第m’=m到第n+2块的j’=j+1。
步骤202,在块内读出实际需要写入范围内的数据并保存。本实施例是保存第n块中m’到块结束的数据,处理完第n块后,保存第n+1块中全部块数据,最后处理第n+2块,保存的数据为块的开始到j’处,如图2所示。
步骤203,判断是否需要进行块擦除操作,如果是,执行步骤204,如果否,直接执行步骤206。对于本实施例来说,判定的原则和方法均与第一实施例相同,只是在比较时,是分块比较,即:首先比较第n块内第m个字节,一直比较到块结束。之后再比较第n+1块。以块为单位逐块比较,直到最后一块,第n+2块。
步骤204,保护块内非写入位置的数据。即:第n块开始到m’-1的数据或/及j’+1到第n+2块结束的数据。
步骤205,进行块擦除操作。本实施例是依次擦除第n块、第n+1块及第n+2块。
步骤206,产生实际需要写入的数据。
如果不进行块擦除操作,将要写入的数据替代相应位置上的保存数据(步骤202中读出的),对第n块,替代从m到块结束的数据;第n+1块是整块替换写入;最后一块则替换块开始到j的数据。得到的实际需要写入的数据包括:替代后的第n块的m’到块结束的数据、第n+1块数据及第n+2块从块开始到j’的数据。
如果进行了块擦除,实际需要写入的三个块的数据包括步骤204中被保护的数据(第n块开始到第m’-1的数据,以及j’+1到第n+2块结束的数据)和按上述方法替代后的第n块m’到块结束的数据、第n+1块的数据及第n+2块从块开始到j’的数据。
步骤207,进行缓冲区写操作写入数据。同样采用缓冲区写的方式,将步骤206中得到的实际需要写入的数据写入FLASH的第n块、第n+1块和第n+2块。完成本次数据的写入。
步骤208,判断所有数据是否写入?如果是,则结束;如果否,则重复执行步骤200,进行下一次的数据写入,直至写入所有数据。
需要注意的是,本实施例中步骤202到步骤207中对各块数据的读出、比较、保护、擦除和写入操作,可以是在一个步骤中完成对各个数据块的处理,再进行下一步骤;也可以是在完成一块数据的各步处理后,再循环处理下一块。
在本发明精神的基础上,对上述实施例还可以进行各种等同变换,例如,如果是按字节写入的设备,就不需要进行步骤101和步骤201中的字对齐操作;又如,在步骤102或202中也可以一次读出FLASH对应块中的所有数据,再进行步骤103、106或203、206中的比较和替换,这样就不需要特地进行字对齐,在判断需要进行擦除操作后,也不需要再从FLASH中读出保护数据,不过对于不需进行擦除操作的情况,需要读出和写入的数据量较本发明实施例要多。
采用本发明进行FLASH写操作对于提高驱动操作速度的作用是非常明显的,因为本发明方法可以尽可能地减少擦除次数,明显改善FLASH驱动写操作的性能。
例如,在FLASH中保存了一组配置信息,仅仅需要在一组字节中单独改变两个字节的数值,假设字节的改变符合本发明不进行擦除的判定原则。以表1的设备参数为例,如果按现有技术进行擦除操作,而块内的其它数据仍需要保留的话,需要的写入时间接近2秒,包括一次块擦除操作(1秒)和一次整块写入(0.8秒)。采用本发明方法后,条件同上,经判定不需要进行块擦除操作,那么写入时间不超过200个微秒。FLASH驱动操作速度的提高是显而易见的。对于数据量很大但是修改很小的数据写入,或者数据量很小又需要多次写入的情况,由于无需擦除的可能性相对较大,本发明方法对于驱动速度提高的效果尤为明显。
综上所述,本发明针对FLASH的硬件特性和操作特性,采用简单的擦除判定方法,在保证数据正确写入的同时,既提高了FLASH驱动的速度,又对非写入区域的数据进行了保护。
Claims (7)
1、一种快闪存储设备的驱动方法,包括以下步骤:
(a)对当前需要写入的数据按照FLASH块的大小进行块的界定;
(b)将FLASH设备对应块中的数据读出并保存;
(c)对相应位置上的所述保存数据和需要写入的数据进行比较,分块判断是否所有位都不产生从“0”到“1”的变化,如果是,执行步骤(e);如果否,执行下一步;
(d)对需擦除的块进行数据保护,再进行块擦除;以及
(e)将实际需要写入的数据写入块内相应位置。
2、如权利要求1所述的驱动方法,其特征在于,所述步骤(b)中是将实际需要写入的数据区域内的数据读出,该数据区域对于字写入设备是对写入块内数据的开头和结尾进行字对齐后确定的。
3、如权利要求1所述的驱动方法,其特征在于,所述步骤(c)中,判断是否所有位都不产生从“0”到“1”的变化的方法是:将相应位置上的所述保存数据和需要写入的数据进行逐字节的比较,对保存的原有字节和要写入的字节进行按位“与”操作,如果获得的值都等于要写入的数据,则该块内所有位都不产生从“0”到“1”的变化,否则该块内有某些位产生了从“0”到“1”变化。
4、如权利要求2所述的驱动方法,其特征在于,所述步骤(d)中,对需擦除的块进行数据保护是通过在擦除前,将该块内非写入位置的数据读出保存来实现的。
5、如权利要求1所述的驱动方法,其特征在于,所述步骤(e)中,写入数据到块内采用的是缓冲区写的方式。
6、如权利要求2所述的驱动方法,其特征在于,所述步骤(e)中,实际需要写入的数据在不进行块擦除的情况下,是指所述保存数据被需要写入的数据替代后得到的数据;在进行块擦除的情况下,则包括所述保存数据被需要写入的数据替代后的数据,以及非写入位置的保护数据。
7、如权利要求1所述的驱动方法,其特征在于,当写入数据被分割为若干块时,各块数据的读出、比较、保护、擦除和写入操作是在一个步骤中完成对各个数据块的处理,再进行下一步骤;或者是在完成一块数据的各步处理后,再循环处理下一块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA031574572A CN1492447A (zh) | 2003-09-22 | 2003-09-22 | 一种快闪存储设备的驱动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA031574572A CN1492447A (zh) | 2003-09-22 | 2003-09-22 | 一种快闪存储设备的驱动方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1492447A true CN1492447A (zh) | 2004-04-28 |
Family
ID=34240865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA031574572A Pending CN1492447A (zh) | 2003-09-22 | 2003-09-22 | 一种快闪存储设备的驱动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1492447A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778961A (zh) * | 2012-10-23 | 2014-05-07 | 三星电子株式会社 | 基于存储在待编程存储单元中的数据来编码编程数据 |
CN105607861A (zh) * | 2014-11-24 | 2016-05-25 | 中兴通讯股份有限公司 | 数据处理方法及装置 |
CN107077886A (zh) * | 2014-01-17 | 2017-08-18 | 加州理工学院 | 使用极性码的不对称纠错和闪速存储器重写 |
CN105138465B (zh) * | 2015-04-30 | 2018-09-11 | 北京天诚盛业科技有限公司 | 加快Nand Flash写操作的方法及装置 |
CN111208950A (zh) * | 2020-01-15 | 2020-05-29 | 山西银河电子设备厂 | 一种基于单片机的提升norflash使用周期的方法 |
CN112035378A (zh) * | 2020-09-03 | 2020-12-04 | 北京百瑞互联技术有限公司 | 一种数据快速写入flash闪存的方法及*** |
CN115588454A (zh) * | 2022-11-24 | 2023-01-10 | 北京紫光青藤微***有限公司 | 存储器的数据写入方法及装置、电子设备、存储介质 |
-
2003
- 2003-09-22 CN CNA031574572A patent/CN1492447A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103778961A (zh) * | 2012-10-23 | 2014-05-07 | 三星电子株式会社 | 基于存储在待编程存储单元中的数据来编码编程数据 |
CN103778961B (zh) * | 2012-10-23 | 2019-06-04 | 三星电子株式会社 | 基于存储在待编程存储单元中的数据来编码编程数据 |
CN107077886A (zh) * | 2014-01-17 | 2017-08-18 | 加州理工学院 | 使用极性码的不对称纠错和闪速存储器重写 |
CN105607861A (zh) * | 2014-11-24 | 2016-05-25 | 中兴通讯股份有限公司 | 数据处理方法及装置 |
CN105138465B (zh) * | 2015-04-30 | 2018-09-11 | 北京天诚盛业科技有限公司 | 加快Nand Flash写操作的方法及装置 |
CN111208950A (zh) * | 2020-01-15 | 2020-05-29 | 山西银河电子设备厂 | 一种基于单片机的提升norflash使用周期的方法 |
CN112035378A (zh) * | 2020-09-03 | 2020-12-04 | 北京百瑞互联技术有限公司 | 一种数据快速写入flash闪存的方法及*** |
CN112035378B (zh) * | 2020-09-03 | 2024-07-19 | 北京百瑞互联技术股份有限公司 | 一种数据快速写入flash闪存的方法及*** |
CN115588454A (zh) * | 2022-11-24 | 2023-01-10 | 北京紫光青藤微***有限公司 | 存储器的数据写入方法及装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI533304B (zh) | 用於儲存資料於具有跨頁區段、多頁編碼及每頁編碼之多位準單元快閃記憶體器件中之方法及裝置 | |
US9104546B2 (en) | Method for performing block management using dynamic threshold, and associated memory device and controller thereof | |
US20120173797A1 (en) | Method for performing block management/flash memory management, and associated memory device and controller thereof | |
CN100468576C (zh) | 闪存数据读写处理方法 | |
CN1845082A (zh) | 闪存的安全写入方法 | |
CN1701390A (zh) | 跟踪非易失性存储器***中最频繁擦除区块 | |
CN1499531A (zh) | 管理非易失存储器***中的数据完整性的方法和装置 | |
CN1815629A (zh) | 一种闪存装置的脏块回收方法 | |
CN1698036A (zh) | 跟踪非易失性存储器***中最不频繁擦除区块 | |
US20140104084A1 (en) | Optimized bitstream encoding for compression | |
US20120079170A1 (en) | Method for performing block management, and associated memory device and controller thereof | |
CN1705936A (zh) | 用于分割一逻辑块的方法及设备 | |
WO2012134864A2 (en) | Multi-layer memory system | |
CN1851635A (zh) | 对廉价磁盘冗余阵列进行读写操作的方法和*** | |
CN102929741B (zh) | 一种提高闪存芯片纠错码使用效率的方法、***及控制器 | |
CN101034372A (zh) | 非易失存储***和非易失存储器的管理方法 | |
US11829638B2 (en) | Two-stage hybrid memory buffer for multiple streams | |
CN1811725A (zh) | 一种快速存储装置及快速更新数据的方法 | |
CN1635580A (zh) | 闪存介质数据写入方法 | |
CN1492447A (zh) | 一种快闪存储设备的驱动方法 | |
US10303402B2 (en) | Data compression using partial statistics | |
CN1471670A (zh) | 存储器件、存储控制方法以及程序 | |
CN101964205A (zh) | 基于固态硬盘的ecc模块动态复用***及方法 | |
CN1758543A (zh) | 提高Turbo码译码速度的并行译码方法及译码装置 | |
CN101060337A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |