CN101425338A - 非易失性存储器的写入方法及使用此方法的控制器 - Google Patents
非易失性存储器的写入方法及使用此方法的控制器 Download PDFInfo
- Publication number
- CN101425338A CN101425338A CNA2007101849114A CN200710184911A CN101425338A CN 101425338 A CN101425338 A CN 101425338A CN A2007101849114 A CNA2007101849114 A CN A2007101849114A CN 200710184911 A CN200710184911 A CN 200710184911A CN 101425338 A CN101425338 A CN 101425338A
- Authority
- CN
- China
- Prior art keywords
- block
- nonvolatile memory
- memory
- data
- page
- 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
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种用于非易失性存储器的写入方法,其中非易失性存储器包括数据区与备用区,此写入方法包括:使用非易失性存储器的替换区的多个区块分别地用以替换要写入的数据区的多个区块,其中替换区的区块用以写入要在数据区的区块中写入的数据,并且替换区的区块是从非易失性存储器的备用区中提取的;以及使用非易失性存储器的多个暂存区块作为替换区的区块的暂存区,其中暂存区用以暂时地存储要在替换区的区块中写入的数据。
Description
技术领域
本发明涉及一种数据写入方法,且特别是涉及一种用于非易失性存储器的写入方法以及使用此方法的控制器。
背景技术
数字相机、手机相机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加,由于闪速存储器(Flash Memory)具有数据非易失性、省电、体积小与无机械结构等的特性,适合便携式应用,最适合使用于这类便携式由电池供电的产品上。除了便携式产品内建存储器需要之外,对于小型存储卡与随身盘等外接式产品来说,每个人可能同时拥有多个随身盘与小型存储卡,所以市场规模比那些设备更大。因此,近年闪速存储器产业成为电子产业中相当热门的一环。
图1A、1B、1C与1D根据已知技术示出了非易失性存储器100及其运作的详细方块图。
请参考图1A,在此范例中,为了有效率地程序(即写入与擦除)非易失性存储器100,非易失性存储器100的区块会在逻辑上分组为***区102、数据区104与备用区106。一般来说,非易失性存储器100中数据区104的区块会占90%以上。
***区102的区块用以记录***数据,***数据例如是关于非易失性存储器100的区域数、每一区域的区块数、每一区块的页数、逻辑物理对映表等。
数据区104的区块用以存储使用者的数据,一般来说就是主机(未示出)所操作的逻辑区块地址所对应的区块。
备用区106是放置用以替换数据区104的区块的区块,因此备用区106中的区块为空的区块,即无记录数据或标记为已没用的无效数据。具体来说,由于若要对已写过数据位置再次写入数据时,必须先执行擦除的操作。然而,闪速存储器写入单位为页,而擦除单位为区块。一个擦除的单位大于写入的单位,这表示若要执行区块擦除操作,必须先将要擦除区块中的有效页复制至其它区块后才可进行。因此,当要在数据区104中已写过数据位置的区块M中写入新数据时,一般会在备用区106中提取一区块S,然后将区块M中的有效数据复制至区块S且将新数据写入区块S后,将区块M擦除后关联为备用区106同时将区块S关联为数据区104(如图1A所示)。
一般来说,为了更有效率地使用非易失性存储器100,区块在逻辑上还分为一替换区块108与一瞬时区块110。
请参考图1B,替换区块108用来预备替换数据区104中要写入数据的区块。更详细地说,当上述从备用区106中提取一区块(例如区块C)来取代数据区104的区块(例如区块M)时,会将新数据写入至区块C,但不会立刻将区块M中的有效数据搬移至区块C而擦除区块M。这是因为,区块M中的有效数据有可能在下个操作中变成无效,因此立刻将区块M中的有效数据搬移至物理区块C会造成无谓的搬移。因此在此范例中,会将写入新数据的区块C暂时地关联为替换区块,并且在逻辑区块地址与物理区块地址的对映上会记录多个物理区块地址对应到一个逻辑区块地址的情况,也就是区块M与区块C的内容整合起来才是所对映逻辑区块的内容,由此提升区块的使用效率。之后,当需要将区块M与区块C的内容真正合并时,一般有两种做法,一则是将区块M中有效数据复制至区块C,然后将区块M擦除关联为备用区106,同时,将区块C关联为数据区104,由此完成合并(如图1B所示)。另一种方法,则是从备用区106中提取一空白区块S,并且将区块M与区块C的有效数据复制于此区块S中,并且将区块M与区块C擦除后关联为备用区106而将此区块S关联为数据区104,由此完成合并(如图1C所示)。
瞬时区块110的功能与替换区块108类似。在使用多层存储单元(MultiLevel Cell,多层存储单元)与非闪速存储器的例子中,多层存储单元与非闪速存储器1页中可包括4个扇区,即1页中有4个512 bytes的扇区,共2K bytes。如上所述,闪速存储器在写入时以页为单位,因此在使用多层存储单元与非闪速存储器的情况下每次必须程序4个扇区,由此当写入小量数据时会造成资源的浪费。瞬时区块110用以暂时存放此类少量数据。具体来说,如上所述当要写入替换区块108(例如区块C)的数据为不满一个页的小量数据时,会从备用区106中提取一区块T,然后将此小量数据写入至区块T并且将区块T关联为瞬时区块110。之后,当后续写入的数据量足够写入一页时再将此些数据写入至区块C,然后再将区块T擦除并且关联为备用区106(如图1D所示)。
由于闪速存储器物理特性的关系,每次要在区块中写入数据时必须先对此区块进行擦除的操作。然而,原先区块上可能还存有其有效数据,因此在擦除前必须进行有效数据的搬移(即复制)。因此,随着闪速存储器的发展使每一区块的存储容量越大时,需要搬移数据的情况会越来越严重,此将会造成***效能的降低。
此外,随着闪速存储器由单层存储单元(Single Level Cell,SLC)与非(NANA)闪速存储器发展至多层存储单元(Multi Level Cell,MLC)与非闪速存储器,由于多层存储单元与非闪速存储器物理特性的关系,部分的页(page)上的电荷较不稳定,并且可能会影响到邻近的页,因此造成多层存储单元与非闪速存储器虽容量较大,但存储可靠度较差的状况。
为了解决上述问题,有需要发展一写入方法,以有效地增加闪速存储器的存取效率以及存取数据的可靠度。
发明内容
本发明提供一种用于非易失性存储器的写入方法,其可有效地增加闪速存储器的存取效率以及存取数据的可靠度。
本发明提供一种控制器,其可执行用于非易失性存储器的写入方法,其可有效地增加闪速存储器的存取效率以及存取数据的可靠度
本发明提出一种用于非易失性存储器的写入方法,其包括:使用非易失性存储器中替换区的多个区块用以分别地替换数据区的多个区块,其中替换区的区块用以写入要在数据区的区块中写入的数据,并且替换区的区块是从非易失性存储器的备用区中提取的;以及使用非易失性存储器的多个暂存区块作为替换区的区块的暂存区,其中暂存区用以暂时地存储欲在替换区的区块中写入的数据。
在本发明的一实施例中,上述的非易失性存储器还包括取代区,其中至少其中一个暂存区块是从取代区中提取的。
在本发明的一实施例中,上述的写入方法还包括使用暂存表格来指示暂存区中的有效数据与无效数据,以及标示暂存区的页与替换区的区块的页的对映关系。
在本发明的一实施例中,上述的非易失性存储器为单层存储单元(Single Level Cell)或多层存储单元(Multi Level Cell)与非闪速存储器。
在本发明的一实施例中,上述的闪速存储器为多层存储单元与非闪速存储器时暂存区的写入仅使用暂存区块的下页(lower pages),其中下页的写入速度快于暂存区块的上页的写入速度。
在本发明的一实施例中,上述的闪速存储器为多层存储单元与非闪速存储器时暂存区的写入仅使用暂存区块中写入速度最快或可靠度最好的页(pages)。
本发明提出一种用于非易失性存储器的写入方法,其中非易失性存储器为多层存储单元(Multi Level Cell)与非闪速存储器,并且非易失性存储器的区块中分别包括上页(upper pages)与下页(lower pages),此写入方法包括:在部分的区块中仅使用上页与下页的其中之一来写入数据,其中下页的写入速度快于上页的写入速度。
在本发明的一实施例中,上述的写入方法还包括仅使用每一区块的下页来写入数据。
在本发明的一实施例中,上述的数据包括逻辑物理对映表、暂存快取文件(cache file)、文件配置表(File Allocation Table)、固件码(firmwarecode)与记录坏块的坏块表(Defect Block Table)、管理坏块取代的取代单元表(Replace Unit Table)、存储固件参数的Info Block及存储变量的VT(Variable Table)的至少其中之一。
在本发明的一实施例中,上述的写入方法还包括建立页查询表,其用以记录下页的物理地址。
在本发明的一实施例中,上述的写入方法还包括建立逻辑转换式,用以计算下页的物理地址。
在本发明的一实施例中,上述的部分的区块为多个暂存区块,暂存区块用作为一替换区的多个区块的暂存区。
本发明提出一种用于非易失性存储器的写入方法,其中非易失性存储器为多层存储单元(Multi Level Cell)与非闪速存储器,并且非易失性存储器的区块中分别包括至少两种不同写入速度的页(pages),此写入方法包括:在至少其中一个区块中仅使用写入速度最快的页来写入数据。
本发明提出一种控制器,此控制器包括非易失性存储器接口、缓冲存储器、微处理单元与存储器管理模块。微处理单元用以控制该控制器的整体运作。非易失性存储器接口电连接至微处理单元并且用以存取非易失性存储器。缓冲存储器电连接至微处理单元并且用以暂时地存储数据。存储器管理模块电连接至微处理单元并且用以管理非易失性存储器,其中该存储器管理模块会执行写入方法,此写入方法包括:使用非易失性存储器中替换区的多个区块用以分别地替换数据区的多个区块,其中替换区的区块用以写入要在数据区的区块中写入的数据,并且替换区的区块是从非易失性存储器的备用区中提取的;以及使用非易失性存储器的多个暂存区块作为替换区的区块的暂存区,其中暂存区用以暂时地存储欲在替换区的区块中写入的数据。
在本发明的一实施例中,上述的非易失性存储器还包括取代区,其中至少其中一个暂存区块是从取代区中提取。
在本发明的一实施例中,上述的写入方法还包括使用暂存表格来指示暂存区中的有效数据与无效数据,以及标示暂存区的页与替换区的区块的页的对映关系。
在本发明的一实施例中,上述的非易失性存储器为单层存储单元(Single Level Cell)或多层存储单元(Multi Level Cell)与非闪速存储器。
在本发明的一实施例中,上述的闪速存储器为多层存储单元与非闪速存储器时,暂存区的写入仅使用暂存区块的下页(lower pages),其中下页的写入速度快于暂存区块的上页的写入速度。
本发明提出一种控制器,其适用于存储装置,存储装置的非易失性存储器为多层存储单元(Multi Level Cell)与非闪速存储器,并且非易失性存储器的区块中分别包括上页(upper pages)与下页(lower pages),此控制器包括非易失性存储器接口、缓冲存储器、微处理单元与存储器管理模块。微处理单元用以控制该控制器的整体运作。非易失性存储器接口电连接至微处理单元并且用以存取非易失性存储器。缓冲存储器电连接至微处理单元并且用以暂时地存储数据。存储器管理模块电连接至微处理单元并且用以管理非易失性存储器,其中此存储器管理模块会执行写入方法,此写入方法包括:在部分的区块中仅使用上页与下页的其中之一来写入数据,其中下页的写入速度快于上页的写入速度。
在本发明的一实施例中,上述的写入方法还包括仅使用每一区块的下页来写入数据。
在本发明的一实施例中,上述的数据包括逻辑物理对映表、暂存快取文件(cache file)、文件配置表(File Allocation Table)、固件码(firmwarecode)与记录坏块的坏块表(Defect Block Table)、管理坏块取代的取代单元表(Replace Unit Table)、存储固件参数的Info Block及存储变量的VT(Variable Table)的至少其中之一。
在本发明的一实施例中,上述的写入方法还包括建立页查询表,其用以记录下页的物理地址。
在本发明的一实施例中,上述的写入方法还包括建立逻辑转换式,用以计算下页的物理地址。
在本发明的一实施例中,上述的部分的区块为多个暂存区块,暂存区块是用作为多个替换区的区块的暂存区。
本发明提出一种控制器,其适用于存储装置,存储装置的非易失性存储器为多层存储单元(Multi Level Cell)与非闪速存储器,并且非易失性存储器的区块中分别包括至少两种不同写入速度的页(pages),此控制器包括非易失性存储器接口、缓冲存储器、微处理单元与存储器管理模块。微处理单元用以控制该控制器的整体运作。非易失性存储器接口电连接至微处理单元并且用以存取非易失性存储器。缓冲存储器电连接至微处理单元并且用以暂时地存储数据。存储器管理模块电连接至微处理单元并且用以管理非易失性存储器,其中此存储器管理模块会执行写入方法,此写入方法包括:在至少其中一个区块中仅使用写入速度最快的页来写入数据。
本发明提出用于非易失性存储器的写入方法,其使用整合的暂存区来存储暂时的数据因此可降低不断搬移数据的频率与擦除的操作,由此可有效地提升存储器程序的效率。再者,通过仅使用区块的下页来存储数据可有效地提升存储可靠度。
为使本发明的上述特征和优点能更明显易懂,下文特举较佳实施例,并结合附图详细说明如下。
附图说明
图1A、1B、1C与1D根据已知技术示出了非易失性存储器及其运作的详细方块图。
图2A根据本发明实施例示出了使用非易失性存储器存储装置的主机。
图2B示出了图2A所示非易失性存储器存储装置的详细方块图。
图2C根据本发明另一实施例示出了控制器的详细方块图。
图3根据本发明实施例示出了非易失性存储器及其运作的详细方块图。
图4根据本发明实施例示出了写入方法的流程图。
图5A示出了多层存储单元与非闪速存储器程序的示意图。
图5B根据本发明实施例示出了仅使用下页的示意图。
图6是多层存储单元与非闪速存储器中页的物理地址的范例图。
图7示出了本发明实施例的非易失性存储器的写入方法可应用的装置的示意图。
附图符号说明
100:非易失性存储器
102:***区
104:数据区
106:备用区
108:替换区块
110:瞬时区块
M、S、C、T:区块
200:主机
202:微处理器
204:随机存取存储器
206:输入/输出装置
208:***总线
210:数据传输接口
220:非易失性存储器存储装置
222、222’:控制器
222a:存储器管理模块
222b:非易失性存储器接口
222c:主机传输接口
222d:缓冲存储器
222e:微处理单元
222f:错误校正模块
222g:电源管理模块
222h:程序存储器
224:非易失性存储器
224-0、224-1、224-2、224-N:区块
302:***区
304:数据区
306:备用区
308:替换区
310:暂存区
M1、M2、M3、M4、M5、C1、C2、C3、C4、C5:区块
S401、S403、S405、S407:步骤
702:USB闪速盘
704:数字相机
704a:SD卡
704b:MMC卡
704c:CF卡
704d:存储棒
706:固态硬盘
具体实施方式
必须了解的是,本发明实施例在描述非易失性存储器的运作时使用“提取”、“搬移”、“交换”等词来操作闪速存储器区块是逻辑上的概念。也就是说,闪速存储器区块的实际位置并未变动,而是逻辑上对闪速存储器区块进行操作。
非易失性存储器存储***一般而言包括非易失性存储器与控制器(控制芯片)。通常非易失性存储器存储***会与主机***一起使用,以使主机***可将数据写入至非易失性存储器存储***或从非易失性存储器存储***中读取数据。另外,也有非易失性存储器存储***包括嵌入式非易失性存储器与可执行于主机***上以实质地作为此嵌入式闪速存储器的控制器的软件。
图2A根据本发明实施例示出了使用非易失性存储器存储装置的主机。
请参考图2A,主机200一般包括微处理器202、随机存取存储器(randomaccess memory,RAM)204、输入/输出(input/output,I/O)装置206、***总线208以及数据传输接口210。必须了解的是,主机200还可包括其它组件,例如显示器装置或网络装置等。
主机200可以是计算机、数字相机、摄影机、通信装置、音频播放器或视频播放器等***。一般而言,主机200可实质地为可存储数据的任意***。
在本发明实施例中非易失性存储器存储装置220通过数据传输接口210与主机200的其它组件电连接。通过微处理器202、随机存取存储器204与输入/输出装置206的处理可将数据写入至非易失性存储器存储装置220或从非易失性存储器存储装置220中读取数据。非易失性存储器存储装置220包括随身盘、存储卡或固态硬盘(Solid State Drive,SSD)。
图2B示出了图2A所示非易失性存储器存储装置的详细方块图。
请参考图2B,非易失性存储器存储装置220一般包括控制器222与非易失性存储器224。
控制器222用以控制非易失性存储器存储装置220的整体运作,例如数据的存储、读取与擦除等。控制器222包括存储器管理模块222a、非易失性存储器接口222b、缓冲存储器222d与微处理单元222e。
存储器管理模块222a用以管理非易失性存储器224,例如执行平均磨损(wear leveling)方法、坏区块管理、维护对映表(mapping table)等。
非易失性存储器接口222b用以存取非易失性存储器224,也就是主机200要写入至的数据会经由非易失性存储器接口222b转换为非易失性存储器224所能接受的格式。
缓冲存储器222d用以暂时地存储***数据(例如对映表)或者主机所读取或写入的数据。在本实施例中,缓冲存储器222d为静态随机存取存储器(static random access memory,SRAM)。然而,必须了解的是,本发明不限于此,动态随机存取存储器(DRAM)、磁阻式存储器(MRAM)、相变存储器(PRAM)或其它适合的存储器也可应用于本发明。
微处理单元222e用以控制控制器222的整体运作。
在本发明另一实施例中,控制器还包括主机传输接口222c、程序存储器222h、错误校正模块222f与电源管理模块222g(如图2C的控制器222’)。
主机传输接口222c用以与主机200通讯,主机传输接口222c可以是USB接口、IEEE 1394接口、SATA接口、PCI Express接口、SAS接口、MS接口、MMC接口、SD接口、CF接口或IDE接口。
错误校正模块222f用以计算错误校正码(error correcting code)来检查与校正主机所读取或写入的数据。
电源管理模块222g用以管理非易失性存储器存储装置220的电源。
非易失性存储器224用以存储数据。在本实施中非易失性存储器224为闪速存储器,更具体来说,非易失性存储器224为多层存储单元(Multi LevelCell,MLC)与非闪速存储器。但必须了解的是,本发明不限于此,例如非易失性存储器224也可为单层存储单元(Single Level Cell,SLC)与非闪速存储器。
非易失性存储器224通常实质上分割为多个物理区块(physical block)224-0至224-N,为方便说明以下将物理区块简称为区块。一般而言,在闪速存储器中区块为擦除的最小单位。亦即,每一区块含有最小数目的一并被擦除的存储单元。每一区块通常会分割为多个页(page)。页通常为程序(program)的最小单元,但要特别说明的是于有些不同的闪速存储器设计,最小的程序单位也可为一个扇区(sector)大小,即一页中有多个扇区并以一个扇区为程序的最小单元。换言之,页为写入数据或读取数据的最小单元。每一页通常包括使用者数据区D与冗余区R。使用者数据区用以存储使用者的数据,而冗余区用以存储***的数据(例如,上述的ECC code)。
为对应于磁盘驱动器的扇区(sector)大小,一般而言,使用者数据区D通常为512字节,而冗余区R通常为16字节。也就是,一页为一个扇区。然而,也可以多个扇区形成一页,例如一页包括4个扇区。一般而言,区块可由任意数目的页所组成,例如64页、128页、256页等。区块224-0至224-N通常会被分组为多个区域(zone),以区域来管理存储器某种程度上是彼此独立地操作以增加操作执行的平行程度且简化管理的复杂度。
图3根据本发明实施例示出了非易失性存储器224及其运作的详细方块图。
请参考图3,非易失性存储器224的配置与操作类似于图1A、1B、1C与1D。非易失性存储器224的区块224-1至224-N会在逻辑上分组为***区302、数据区304、备用区306。一般来说,非易失性存储器224中数据区304会占90%以上。
***区块302用以记录***数据,***数据例如是关于非易失性存储器224的区域数、每一区域的区块数、每一区块的页数、逻辑物理对映表等。数据区304的区块用以存储使用者的数据,一般来说就是主机200所操作的逻辑区块地址所对应的区块。备用区306是放置用以替换数据区304的区块的区块。其中非易失性存储器224也会执行相同于图1A、1B与1C的运作,在此不再赘述。
在本发明实施例中,非易失性存储器224还包括替换区308,其用以暂时存放准备替换数据区304的区块的区块,亦即图1C或1D所示的替换区块108。一般来说母子区块的关系(即区块M1-M5与区块C1-C5之间分别对应的关系)可依据缓冲存储器的大小而定,在本发明实施例中是以五组来实作,但不限定于五组,其视***资源多少而定。
在本发明实施例中,非易失性存储器224还包括暂存区310,其亦也类似提供如已知技术瞬时区块110用以暂时存放少量数据的功能。暂存区310与瞬时区块110的不同之处在于,瞬时区块110仅属于其中一组母子区块。换句话说,在已知技术中区块T(如图1D所示)独立运作以用于特定一组母子区块。然而,在本发明实施例中,由多个区块所组成的暂存区310是整体作为五组母子区块的暂存区,以暂时地存放数据。例如,替换区308的区块C1、C2、C3、C4与C5分别对应欲替换的数据区304的区块M1、M2、M3、M4与M5,而暂存区310则是整体用于替换区308的区块C1-C5的暂存区。
值得一提的是,一般在存储装置中会使用文件配置表(File AllocationTable,FAT)来管理存储媒体,其中FAT数据的存取非常频繁且每次存取的数据量相当小。因此,当对FAT数据存取时会进入随机(random)模式。具体来说,就是在替换区308的区块(即区块C1-C5)在随机模式直接接续在前次记录的位置后记录不断回写数据时,会将相关数据写入暂存区310,并且以一暂存表格来管理数据的有效性及相关连结。在本发明实施例中,暂存区310也会用来存储不断变动的FAT数据,而不以在替换区308的区块中直接接续记录的方式来写入,以避免不断重复写入之后会变成无效的数据。同样的,在本发明实施例中,也是以暂存表格来指示暂存区310中的有效数据与无效数据,以及标示暂存区310的页与替换区308的区块的页的对映关系。
本实施例以维持五组母子区块来实作,但必须了解的是本发明不限于此。
值得一提的是,在非易失性存储器存储装置的运作期间上述区块的逻辑对映关系会在缓冲存储器222d中持续更新,并且例如在非易失性存储器存储装置结束运作或者每操作一定次数后将此些信息记录至***区302的区块中。
图4根据本发明实施例示出了用于非易失性存储器的写入方法的流程图。
请参考图4,在步骤S401中当要写入数据至数据区304的区块时会从备用区306中提取一区块关联为替换区308。在步骤S403中会判断是否为随机模式或者要写入的数据是无法写满一页。倘若在步骤S403中判断不是在随机模式且数据可写满一页时,则在步骤S405中会将在数据区304的区块中要写入地址之前的有效数据复制至所提取关联为替换区308的区块并且将新数据写入至此区块中。倘若在步骤S403中判断是在随机模式或者数据无法写满一页时,则会在暂存区310的暂存区块中写入此些数据(步骤S407)。
值得一提的是,存储器管理模块222a会判断需要整合的时机以将在暂存区310中写入的数据整合为一页或一区块来取代替换区308或数据区304的区块,判断整合的时机为已知技术在此不详细描述。
一般来说,非易失性存储器224除了包括***区302、数据区304和备用区306之外还包括取代区(未示出了),取代区包括在非易失性存储器224中未使用的区块。当非易失性存储器存储装置220正常使用的区块(例如***区302、数据区304和备用区306的区块)发生损坏(例如工艺不良或多次擦除后损坏)时,可以从取代区中提取区块来更换。在本发明实施例中,组成暂存区310的暂存区块也可将此取代区做为提取的来源之一。使用取代区的区块作为暂存区310具有许多优点。例如,取代区的区块一般都未被使用,因此将取代区的区块作为暂存区310可更有效率地使用非易失性存储器224。再者,当非易失性存储器存储装置220需要更换损坏的区块时,由于取代区的区块已经有被使用,当被提取用于更换时不会造成与***中其它区块的擦除次数差异过大的情形,因此区块的擦除较为平均。
在本发明实施例中,步骤S407还包括使用一暂存表格来指示暂存区310中的有效数据与无效数据,以及标示暂存区310的页与替换区308的区块的页的一对映关系。
值得一提的是,在使用多层存储单元与非闪速存储器的例子中,存储器的程序可分为多阶段。例如,以4层存储单元为例,存储器的程序可分为2阶段。如图5A所示,第一阶段是下页(lower pages)的写入部分,其物理特性类似于单层存储单元与非闪速存储器,在完成第一阶段之后才程序上页(upper page)。特别是,上页与下页具有耦合关系。也就是说,在程序上页时,若发生异常,可能造成下页的不稳定(即数据可能遗失)。以此类推,在8层存储单元或16层存储单元的例子中,存储单元包括更多个页并且会以更多阶段来写入,以另外一种方式来描述,4层存储单元中的下页与上页如以写入的速度来区分也可分别称速度较快的下页为fast pages,速度较慢的上页为slow pages,于不同的与非闪速存储器设计也可以为fast、middle及slow分为三种不同pages的写入速度,即在多层存储单元闪速存储器中,一区块中会有不同写入速度的页,所述页可以依写入速度分类为两种、三种或三种以上,依不同的设计而有所差异。
在本发明实施例中,步骤S407还包括仅使用暂存区310的上述写入速度最快或可靠度最好的下页来写入数据(如图5B所示)。仅使用下页来写入数据可通过下页的写入速度快于上页的写入速度的特性,有效增加非易失性存储器存储装置220的效能,并且仅使用下页而不使用上页的情况下可增加存储的可靠度。
除了仅使用区块的下页之外,若不考虑写入速度的情况下,在本发明另一实施例中,也可仅使用暂存区310的区块的上页来写入数据,或者也可使用每一暂存区310的区块的上页与下页的其中之一来写入数据。也就是说,对于每一暂存区的区块来说,若使用上页则不使用下页,若使用下页则不使用上页。由此可增加非易失性存储器存储装置220的存储可靠度。
在本发明另一实施例中,除了在暂存区310中仅使用下页来存储之外,用于非易失性存储器的写入方法还包括当记录逻辑物理对映表、暂存快取文件(cache file)、文件配置表(File Allocation Table)、固件码(firmwarecode)与记录坏块的坏块表(DefectBlock Table)、管理坏块取代的取代单元表(Replace Unit Table)、存储固件参数的InfoBlock及存储变量的VT(Variable Table)等***相关数据于***区302的区块时,也仅使用***区302的区块的下页来存储,用以提高该重要***信息的可靠度,同时也可提升***运作时的效能。
特别是,在仅使用区块的下页来存储例子中,还包括建立一页查询表用以记录每一区块的下页的物理地址。具体来说,根据每一闪速存储器出厂的规格书可以明确区分上页与下页的物理地址。因此使用规格书的规范来建立记录下页的物理地址的页查询表,可提供控制器222的存储器管理模块222a使用存储器时仅使用下页的部分。此外,在本发明另一实施例中,也可根据每一闪速存储器出厂的规格书建立一逻辑转换式,用以计算每一区块的下页的物理地址。例如,假设存储器的地址如图6所示时,则控制器222的存储器管理模块222a使用存储器时仅使用第2i页,其中i=0-63,然而于不同的闪速存储器会有不同的逻辑转换式。
在根据本发明所提出的写入方法是适用于非易失性存储器,因此本发明所提出的写入方法可应用各种以非易失性存储器作为存储媒体的装置。例如图7所示的USB闪速盘702、数字相机(摄影机)704所使用的SD卡704a、MMC卡704b、CF卡704c与存储棒(memory stick)704d以及固态硬盘706等。
综上所述,本发明所提出用于非易失性存储器的写入方法因使用整合的暂存区来存储暂时的数据因此可避免不断搬移数据的频率与擦除的操作,由此可有效地提升存储器程序的效率。再者,通过仅使用区块的下页来存储数据可有效地提升存储可靠度。
虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围的前提下,当可作若干的更改与修饰,因此本发明的保护范围应以本发明的权利要求为准。
Claims (25)
1.一种用于非易失性存储器的写入方法,包括:
使用该非易失性存储器中一替换区的多个区块用以分别地替换一数据区的多个区块,其中该替换区的区块用以写入要在该数据区的区块中写入的数据,并且该替换区的区块是从该非易失性存储器的一备用区中提取的;以及
使用该非易失性存储器的多个暂存区块作为该替换区的区块的一暂存区,
其中该暂存区用以暂时地存储要在该替换区的区块中写入的数据。
2.如权利要求1所述的用于非易失性存储器的写入方法,其中该非易失性存储器包括一取代区,至少其中一个所述暂存区块是从该取代区中提取的。
3.如权利要求1所述的用于非易失性存储器的写入方法,还包括使用一暂存表格来指示该暂存区中的有效数据与无效数据,以及标示该暂存区的页与该替换区的区块的页的一对映关系。
4.如权利要求1所述的用于非易失性存储器的写入方法,其中该非易失性存储器为一单层存储单元或多层存储单元与非闪速存储器。
5.如权利要求4所述的用于非易失性存储器的写入方法,其中该闪速存储器为该多层存储单元与非闪速存储器时,该暂存区的写入仅使用所述暂存区块的下页,其中所述下页的写入速度快于所述暂存区块的上页的写入速度。
6.如权利要求4所述的用于非易失性存储器的写入方法,其中该闪速存储器为该多层存储单元与非闪速存储器时,该暂存区的写入仅使用所述暂存区块中写入速度最快或可靠度最好的页。
7.一种用于非易失性存储器的写入方法,其中该非易失性存储器为一多层存储单元与非闪速存储器,并且该非易失性存储器的区块中分别包括一上页与一下页,该写入方法包括:
在部分的所述区块中仅使用下页来写入数据,
其中所述下页的写入速度快于所述上页的写入速度。
8.如权利要求7所述的用于非易失性存储器的写入方法,还包括仅使用每一区块的下页来写入该数据。
9.如权利要求7所述的用于非易失性存储器的写入方法,该数据包括逻辑物理对映表、暂存快取文件、文件配置表、固件码与记录坏块的坏块表、管理坏块取代的取代单元表、存储固件参数的Info Block及存储变量的VT的至少其中之一。
10.如权利要求7所述的用于非易失性存储器的写入方法,还包括建立一页查询表,其用以记录所述下页的物理地址。
11.如权利要求7所述的用于非易失性存储器的写入方法,还包括建立一逻辑转换式,用以计算所述下页的物理地址。
12.如权利要求7所述的用于非易失性存储器的写入方法,其中所述部分的区块为多个暂存区块,所述暂存区块用作为一替换区的多个区块的一暂存区。
13.一种用于非易失性存储器的写入方法,其中该非易失性存储器为一多层存储单元与非闪速存储器,并且该非易失性存储器的区块中分别包括至少两种不同写入速度的页,该写入方法包括:
在至少其中一个所述区块中仅使用写入速度最快的页来写入数据。
14.一种控制器,包括:
一微处理单元,用以控制该控制器的整体运作;
一非易失性存储器接口,电连接至该微处理单元并且用以存取非易失性存储器;
一缓冲存储器,电连接至该微处理单元并且用以暂时地存储数据;以及
一存储器管理模块,电连接至该微处理单元并且用以管理该非易失性存储器,其中该存储器管理模块会执行一写入方法,该写入方法包括:
使用该非易失性存储器中一替换区的多个区块用以分别地替换一数据区的多个区块,其中该替换区的区块用以写入要在该数据区的区块中写入的数据,并且该替换区的区块是从该非易失性存储器的一备用区中提取的;以及
使用该非易失性存储器的多个暂存区块作为该替换区的区块的一暂存区,其中该暂存区用以暂时地存储要在该替换区的区块中写入的数据。
15.如权利要求14所述的控制器,其中该非易失性存储器包括一取代区,至少其中一个所述暂存区块是从该取代区中提取的。
16.如权利要求14所述的控制器,该写入方法还包括使用一暂存表格来指示该暂存区中的有效数据与无效数据,以及标示该暂存区的页与该替换区的区块的页的一对映关系。
17.如权利要求14所述的用于非易失性存储器的写入方法,其中该非易失性存储器为一单层存储单元或多层存储单元与非闪速存储器。
18.如权利要求17所述的用于非易失性存储器的写入方法,其中该闪速存储器为该多层存储单元与非闪速存储器时,该暂存区的写入仅使用所述暂存区块的下页,其中所述下页的写入速度快于所述暂存区块的上页的写入速度。
19.一种控制器,其适用于一存储装置,该存储装置的一非易失性存储器为一多层存储单元与非闪速存储器,并且该非易失性存储器中的区块分别包括一上页与一下页,该控制器包括:
一微处理单元,用以控制该控制器的整体运作;
一非易失性存储器接口,电连接至该微处理单元并且用以存取该非易失性存储器;
一缓冲存储器,电连接至该微处理单元并且用以暂时地存储数据;以及
一存储器管理模块,电连接至该微处理单元并且用以管理该非易失性存储器,其中该存储器管理模块会执行一写入方法,该写入方法包括:
在部分的所述区块中仅使用下页来写入数据,
其中所述下页的写入速度快于所述上页的写入速度。
20.如权利要求19所述的控制器,还包括仅使用每一区块的下页来写入该数据。
21.如权利要求19所述的控制器,该数据包括逻辑物理对映表、暂存快取文件、文件配置表、固件码与记录坏块的坏块表、管理坏块取代的取代单元表、存储固件参数的Info Block及存储变量的VT的至少其中之一。
22.如权利要求19所述的控制器,还包括建立一页查询表,其用以记录所述下页的物理地址。
23.如权利要求19所述的控制器,还包括建立一逻辑转换式,用以计算所述下页的物理地址。
24.如权利要求19所述的控制器,其中所述部分的区块为多个暂存区块,所述暂存区块用作为一替换区的多个区块的一暂存区。
25.一种控制器,其适用于一存储装置,该存储装置的一非易失性存储器为一多层存储单元与非闪速存储器,并且该非易失性存储器的区块中分别包括至少两种不同写入速度的页,该控制器包括:
一微处理单元,用以控制该控制器的整体运作;
一非易失性存储器接口,电连接至该微处理单元并且用以存取该非易失性存储器;
一缓冲存储器,电连接至该微处理单元并且用以暂时地存储数据;以及
一存储器管理模块,电连接至该微处理单元并且用以管理该非易失性存储器,其中该存储器管理模块会执行一写入方法,该写入方法包括:
在至少其中一个所述区块中仅使用写入速度最快的页来写入数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101849114A CN101425338B (zh) | 2007-10-29 | 2007-10-29 | 非易失性存储器的写入方法及使用此方法的控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101849114A CN101425338B (zh) | 2007-10-29 | 2007-10-29 | 非易失性存储器的写入方法及使用此方法的控制器 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105172487A Division CN101976576A (zh) | 2007-10-29 | 2007-10-29 | 非易失性存储器的写入方法及使用此方法的控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101425338A true CN101425338A (zh) | 2009-05-06 |
CN101425338B CN101425338B (zh) | 2011-05-18 |
Family
ID=40615879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101849114A Active CN101425338B (zh) | 2007-10-29 | 2007-10-29 | 非易失性存储器的写入方法及使用此方法的控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101425338B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214481A (zh) * | 2010-04-06 | 2011-10-12 | 深圳市江波龙电子有限公司 | 一种多层单元闪存读写方法、装置及存储设备 |
CN102214143A (zh) * | 2010-04-06 | 2011-10-12 | 深圳市江波龙电子有限公司 | 一种多层单元闪存的管理方法、装置及存储设备 |
CN102591807A (zh) * | 2011-12-30 | 2012-07-18 | 记忆科技(深圳)有限公司 | 一种固态硬盘掉电和写异常处理方法及*** |
CN104166627A (zh) * | 2014-09-02 | 2014-11-26 | 科大智能电气技术有限公司 | 一种基于单片机的nand-flash写操作方法 |
CN111597066A (zh) * | 2020-05-14 | 2020-08-28 | 深圳忆联信息***有限公司 | Ssd修复方法、装置、计算机设备及存储介质 |
CN112099731A (zh) * | 2019-06-17 | 2020-12-18 | 慧荣科技股份有限公司 | 数据储存装置与数据处理方法 |
WO2021036329A1 (zh) * | 2019-08-28 | 2021-03-04 | 华为技术有限公司 | 一种数据存储方法及装置 |
CN113157601A (zh) * | 2021-05-06 | 2021-07-23 | 北京集创北方科技股份有限公司 | 闪存数据读写方法、装置、存储介质和终端设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1290014A (zh) * | 1999-09-29 | 2001-04-04 | 三星电子株式会社 | 快闪存储器及其控制方法 |
CN1517884A (zh) * | 2003-01-09 | 2004-08-04 | 三星电子株式会社 | 控制串行快闪存储器中适当执行的装置和方法及相应芯片 |
CN1567476A (zh) * | 2003-06-24 | 2005-01-19 | 群联电子股份有限公司 | 闪存高速大区块的数据写入方法 |
US20060155920A1 (en) * | 2004-12-16 | 2006-07-13 | Smith Peter J | Non-volatile memory and method with multi-stream updating |
-
2007
- 2007-10-29 CN CN2007101849114A patent/CN101425338B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1290014A (zh) * | 1999-09-29 | 2001-04-04 | 三星电子株式会社 | 快闪存储器及其控制方法 |
CN1517884A (zh) * | 2003-01-09 | 2004-08-04 | 三星电子株式会社 | 控制串行快闪存储器中适当执行的装置和方法及相应芯片 |
CN1567476A (zh) * | 2003-06-24 | 2005-01-19 | 群联电子股份有限公司 | 闪存高速大区块的数据写入方法 |
US20060155920A1 (en) * | 2004-12-16 | 2006-07-13 | Smith Peter J | Non-volatile memory and method with multi-stream updating |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214481A (zh) * | 2010-04-06 | 2011-10-12 | 深圳市江波龙电子有限公司 | 一种多层单元闪存读写方法、装置及存储设备 |
CN102214143A (zh) * | 2010-04-06 | 2011-10-12 | 深圳市江波龙电子有限公司 | 一种多层单元闪存的管理方法、装置及存储设备 |
CN102591807A (zh) * | 2011-12-30 | 2012-07-18 | 记忆科技(深圳)有限公司 | 一种固态硬盘掉电和写异常处理方法及*** |
CN102591807B (zh) * | 2011-12-30 | 2015-03-11 | 记忆科技(深圳)有限公司 | 一种固态硬盘掉电和写异常处理方法及*** |
CN104166627A (zh) * | 2014-09-02 | 2014-11-26 | 科大智能电气技术有限公司 | 一种基于单片机的nand-flash写操作方法 |
CN104166627B (zh) * | 2014-09-02 | 2017-12-08 | 科大智能电气技术有限公司 | 一种基于单片机的nand‑flash写操作方法 |
CN112099731A (zh) * | 2019-06-17 | 2020-12-18 | 慧荣科技股份有限公司 | 数据储存装置与数据处理方法 |
CN112099731B (zh) * | 2019-06-17 | 2023-12-08 | 慧荣科技股份有限公司 | 数据储存装置与数据处理方法 |
WO2021036329A1 (zh) * | 2019-08-28 | 2021-03-04 | 华为技术有限公司 | 一种数据存储方法及装置 |
CN111597066A (zh) * | 2020-05-14 | 2020-08-28 | 深圳忆联信息***有限公司 | Ssd修复方法、装置、计算机设备及存储介质 |
CN111597066B (zh) * | 2020-05-14 | 2023-06-06 | 深圳忆联信息***有限公司 | Ssd修复方法、装置、计算机设备及存储介质 |
CN113157601A (zh) * | 2021-05-06 | 2021-07-23 | 北京集创北方科技股份有限公司 | 闪存数据读写方法、装置、存储介质和终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101425338B (zh) | 2011-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8001317B2 (en) | Data writing method for non-volatile memory and controller using the same | |
CN101425338B (zh) | 非易失性存储器的写入方法及使用此方法的控制器 | |
US9098395B2 (en) | Logical block management method for a flash memory and control circuit storage system using the same | |
US8407397B2 (en) | Block management method for flash memory and controller and storage system using the same | |
CN102135942B (zh) | 一种存储设备中实现损耗均衡的方法及存储设备 | |
US20100042774A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
US20090198875A1 (en) | Data writing method for flash memory, and controller and system using the same | |
CN101634967B (zh) | 用于闪存的区块管理方法、储存***与控制器 | |
CN101483067A (zh) | 快闪存储器数据写入方法及其快闪存储器控制器 | |
CN101625897B (zh) | 用于快闪存储器的数据写入方法、储存***与控制器 | |
CN101556555B (zh) | 用于闪存的区块管理方法、其控制器与储存*** | |
US20140372668A1 (en) | Data writing method, memory controller and memory storage apparatus | |
CN101414282B (zh) | 平均磨损方法及使用此方法的控制器 | |
CN101494085A (zh) | 防止非易失性存储器发生读取干扰的方法及其控制器 | |
CN101499315B (zh) | 快闪存储器平均磨损方法及其控制器 | |
CN101571832A (zh) | 数据写入方法及使用该方法的快闪存储***与其控制器 | |
CN101661431B (zh) | 用于快闪存储器的区块管理方法、快闪储存***及控制器 | |
CN101408864B (zh) | 用于断电时的数据保护方法及使用此方法的控制器 | |
CN102193869A (zh) | 存储器管理与写入方法及其存储器控制器与储存*** | |
CN102890655A (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
CN101527169A (zh) | 闪存数据写入方法及其控制器 | |
CN101409108B (zh) | 平均磨损方法及使用此方法的控制器 | |
CN102567221A (zh) | 数据管理方法、存储器控制器与存储器储存装置 | |
CN102866861A (zh) | 闪存储存***、闪存控制器与数据写入方法 | |
CN101727397A (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 |