CN101957797A - 闪速存储器逻辑区块管理方法及其控制电路与储存*** - Google Patents
闪速存储器逻辑区块管理方法及其控制电路与储存*** Download PDFInfo
- Publication number
- CN101957797A CN101957797A CN 200910151439 CN200910151439A CN101957797A CN 101957797 A CN101957797 A CN 101957797A CN 200910151439 CN200910151439 CN 200910151439 CN 200910151439 A CN200910151439 A CN 200910151439A CN 101957797 A CN101957797 A CN 101957797A
- Authority
- CN
- China
- Prior art keywords
- logical blocks
- flash memory
- logic region
- access times
- logic
- 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
- Read Only Memory (AREA)
Abstract
本发明公开了一种闪速存储器逻辑区块管理方法及其控制电路与储存***。其中逻辑区块管理方法,用于管理一闪速存储器储存装置的多个逻辑区块。本逻辑区块管理方法包括提供一闪速存储器控制器,将逻辑区块分组为多个逻辑区域,且每一逻辑区块对映逻辑区域的其中之一。本逻辑区块管理方法也包括为每一逻辑区块计数一使用次数值,并且由闪速存储器控制器根据所计数的使用次数值来动态地调整逻辑区块与逻辑区域之间的对映关系。基此,本逻辑区块管理方法可有效地利用逻辑区域来识别不同使用模式的逻辑区块,进而利用不同的机制来写入数据以提升闪速存储器储存装置的效能。
Description
技术领域
本发明涉及一种用于闪速存储器的逻辑区块管理方法及使用此方法的闪速存储器控制电路与闪速存储器储存***。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于闪速存储器(flash memory)具有数据非挥发性、省电、体积小与无机械结构等的特性,适合可携式应用,最适合使用于这类可携式由电池供电的产品上。固态硬盘就是一种以与非(NAND)闪速存储器作为储存媒体的储存装置。
一般来说,闪速存储器储存装置中的闪速存储器模组会具有多个物理区块,且这些物理区块会由闪速存储器储存装置的闪速存储器控制器逻辑地分组为***区(system area)、数据区(data area)、备用区(spare area)与取代区(replacement area)。***区的物理区块是用以储存闪速存储器储存装置的相关重要信息,而取代区的物理区块是用以取代数据区或备用区中已损坏的物理区块损坏,因此在一般存取状态下,主机***是无法存取***区与取代区中的物理区块。至于归类为数据区的物理区块中会储存由写入指令所写入的有效数据,而备用区中的物理区块是用以在执行写入指令时替换数据区中的物理区块。具体来说,当闪速存储器储存装置接收到主机***的写入指令而欲对数据区的物理区块进行写入时,闪速存储器储存装置会从备用区中提取一物理区块并且将在数据区中欲写入的物理区块中的有效旧数据与欲写入的新数据写入至从备用区中提取的物理区块中并且将已写入新数据的物理区块逻辑地关联为数据区,并且将原本数据区的物理区块进行抹除并逻辑地关联为备用区。为了能够让主机***能够顺利地存取以轮替方式储存数据的物理区块,闪速存储器储存装置会提供逻辑区块给主机***。也就是说,闪速存储器储存装置会通过在逻辑区块-物理区块对映表(logical block-physical block mapping table)中记录与更新逻辑区块与数据区的物理区块之间的对映关系来反映物理区块的轮替,所以主机***仅需要针对所提供逻辑区块进行写入而闪速存储器储存装置会根据逻辑区块-物理区块对映表对所对映的物理区块进行读取或写入数据。
然而,由于闪速存储器制程上的进步而使得每一物理区块的设计容量会越来越大的同时,上述搬移有效旧数据的时间会相对地增加,因而降低整体***的效能。另外,当闪速存储器储存装置用作为安装电脑作业***的储存媒体时,作业***会经常性地存取特定数据(例如,文件配置表(File Allocation Table,简称FAT),在上述运作机制下闪速存储器忆体储存装置的物理区块会被频繁地进行抹除以完成数据的更新。然而,物理区块的抹除次数是有限的(例如,物理区块抹除一万次后就会损坏),因此在频繁地抹除物理区块的情况下,闪速存储器储存装置的寿命将大幅缩短。
一般来说,使用者或作业***在储存装置上储存数据皆有一特定使用模式。例如,某些逻辑区块的使用频率较高,而某些逻辑区块的使用频率较低。因此,若能根据每一逻辑区块的使用频率来设计不同的写入机制,则将可有效地提升闪速存储器储存装置的效能,延长闪速存储器储存装置的寿命。然而,在闪速存储器储存装置的资源有限下,如何能够在兼顾运作效能下在每次执行存取指令时区别出较常使用与较少使用的逻辑区块,将是能否实现“根据每一逻辑区块的使用频率来设计不同的写入机制”的关键。
发明内容
本发明提供一种逻辑区块管理方法,其能够有效地区分写入次数(或频率)较高的逻辑区块与写入次数(或频率)较低的逻辑区块。
本发明提供一种闪速存储器控制电路,其能够执行上述逻辑区块管理方法以有效地区分写入次数(或频率)较高的逻辑区块与写入次数(或频率)较低的逻辑区块。
本发明提供一种闪速存储器储存***,其能够执行上述逻辑区块管理方法以有效地区分写入次数(或频率)较高的逻辑区块与写入次数(或频率)较低的逻辑区块。
本发明实施例提出一种逻辑区块管理方法,用于管理一闪速存储器储存装置的多个逻辑区块。本逻辑区块管理方法包括提供一闪速存储器控制器,将逻辑区块分组为多个逻辑区域,并且记录逻辑区块与逻辑区域之间的对映关系,其中每一逻辑区块对映逻辑区域的其中之一。本逻辑区块管理方法也包括为每一逻辑区块计数一使用次数值,并且由闪速存储器控制器根据使用次数值调整逻辑区块与逻辑区域之间的对映关系。
本发明实施例提出一种闪速存储器控制电路,用于管理一闪速存储器储存装置的多个逻辑区块。本闪速存储器控制电路包括微处理器单元、闪速存储器接口单元、主机接口单元、区块管理单元。闪速存储器接口单元与主机接口单元是电性连接至微处理器单元。区块管理单元是电性连接至微处理器单元,用以将逻辑区块分组为多个逻辑区域,并且为每一逻辑区块计数一使用次数值,其中区块管理单元根据使用次数值调整逻辑区块与逻辑区域之间的对映关系。
本发明一实施例提出一种闪速存储器储存***,其包括连接器、闪速存储器晶片与闪速存储器控制器。闪速存储器控制器电性连接连接器与闪速存储器晶片,用以配置多个逻辑区块且将逻辑区块分组为多个逻辑区域,并且记录逻辑区块与逻辑区域之间的对映关系,其中每一逻辑区块对映逻辑区域的其中之一。此外,闪速存储器控制器还用以为每一逻辑区块计数一使用次数值,并且根据使用次数值调整逻辑区块与逻辑区域之间的对映关系。
本发明一实施例提出一种闪速存储器储存***,其包括连接器、闪速存储器晶片与闪速存储器控制器。闪速存储器控制器电性连接连接器与闪速存储器晶片,用以配置多个逻辑区块与将物理区块至少分组为一数据区与一备用区,其中每一逻辑区块对应至少一物理区块。此外,闪速存储器控制器为每一逻辑区块计数一使用次数值,并且根据此使用次数值将逻辑区块中的至少一逻辑区块分组为至少一热逻辑区域。
基于上述,本发明通过根据逻辑区块的使用次数值来动态地调整逻辑区块与逻辑区域的对映关系,由此有效地根据逻辑区域来识别写入次数(或频率)较高的逻辑区块与写入次数(或频率)较低的逻辑区块。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是本发明一实施例所示的闪速存储器储存***的概要方块图。
图2是本发明实施例所示的闪速存储器晶片的概要方块图。
图3是本发明实施例所示的逻辑区块-逻辑区域对映表的示意图。
图4A~4E是本发明实施例所示的动态地调整逻辑区块-逻辑区域对映表的示意图。
图5是本发明实施例所示的逻辑区块管理方法的流程示意图。
主要元件符号说明:
100:闪速存储器储存装置 110:闪速存储器控制器
152:微处理器单元 154:区块管理单元
156:闪速存储器接口单元 158:主机接口单元
160:缓冲存储器 172:存储器管理单元
174:使用计数单元 120:连接器
130:闪速存储器晶片 200:主机***
250:转换层 280:使用计数表
300:总线 302:***区
304:数据区 306:备用区
308:取代区 310-(0)至310-(N):物理区块
320:储存区 330:取代区
350-0至350-H:逻辑区块
260-0至260-T:逻辑区块-物理区块对映表
270:逻辑区块-逻辑区域对映表
LZ1至LZ3:逻辑区域
S501、S503、S505、S507、S509、S511、S513:逻辑区块管理步骤
具体实施方式
图1是本发明一实施例所示的闪速存储器储存***的概要方块图。
请参照图1,通常闪速存储器储存装置100会与主机***200一起使用,以使主机***200将数据储存至闪速存储器储存装置100中或从闪速存储器储存装置100中读取数据。在本实施例中,闪速存储器储存装置100为固态硬盘(Solid State Drive,简称SSD)。但必须了解的是,在本发明另一实施例中闪速存储器储存装置100亦可以是记忆卡或随身盘。
闪速存储器储存装置100包括闪速存储器控制器(亦称闪速存储器控制电路)110、连接器120与闪速存储器晶片130。
闪速存储器控制器110会执行以硬件型式或软件型式实现的多个逻辑门或控制指令,并且根据主机***200的指令在闪速存储器晶片130中进行数据的写入、读取与抹除等运作。闪速存储器控制器110包括微处理器单元152、区块管理单元154、闪速存储器接口单元156、主机接口单元158与缓冲存储器160。
微处理器单元152为闪速存储器控制器110的主控单元,用以与区块管理单元154、闪速存储器接口单元156、主机接口单元158与缓冲存储器160等协同合作以进行闪速存储器储存装置100的各种运作。
区块管理单元154电性连接至微处理器单元152,并且用以处理主机***200的指令,及执行根据本发明实施例的区块管理与数据写入机制。区块管理单元154具有存储器管理单元172与使用计数单元174,其中存储器管理单元172用以执行根据本实施例的区块管理机制,而使用计数单元174用以计数区块的写入次数。存储器管理单元172与使用计数单元174的运作将在以下配合附图作详细说明。
在本实施例中,存储器管理单元172与使用计数单元174是以一软件型式实现在闪速存储器控制器110中。例如,将包括多个程序指令的存储器管理单元172与使用计数单元174烧录至一程序存储器(例如,只读存储器(Read Only Memory,简称ROM))中并且将此程序存储器嵌入在闪速存储器控制器110中,当闪速存储器储存装置100运作时,存储器管理单元172与使用计数单元174的多个机器指令会由微处理器单元152来执行以完成根据本发明实施例的区块管理机制、数据写入机制与写入次数的计数机制。
在本发明另一实施例中,存储器管理单元172与使用计数单元174的控制指令亦可以程序码型式储存于闪速存储器晶片130的特定区域(例如,闪速存储器中专用于存放***数据的***区)中。同样的,当闪速存储器储存装置100运作时,存储器管理单元172与使用计数单元174的多个控制指令会由微处理器单元152来执行。此外,在本发明另一实施例中,存储器管理单元172与使用计数单元174亦可以一硬件型式实现在闪速存储器控制器110中。
闪速存储器接口单元156是电性连接至微处理器单元152并且用以存取闪速存储器晶片130。也就是说,欲写入至闪速存储器晶片130的数据会经由闪速存储器接口单元156转换为闪速存储器晶片130所能接收的格式。
主机接口单元158是电性连接至微处理器单元152并且用以接收与识别主机***200所传送的指令。也就是说,主机***200所传送的指令与数据会通过主机接口单元158来传送至微处理器单元152。在本实施例中,主机接口单元158为串行高级技术附件(Serial Advanced Technology Attachment,简称SATA)接口。然而,必须了解的是本发明不限于此,主机接口单元158亦可以是通用串行总线(Universal Serial Bus,简称USB)接口、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,简称IEEE)1394接口、高速周边零件连接接口(Peripheral Component Interconnect Express,简称PCI Express)、安全数字(Secure Digital,简称SD)接口、记忆棒(Memory Sick,简称MS)接口、多媒体储存卡(Multi Media Card,简称MMC)接口、小型快闪(Compact Flash,简称CF)接口、整合式驱动电子接口(Integrated Device Electronics,简称IDE)或其他适合的数据传输接口。
缓冲存储器160是电性连接至微处理器单元152并且用以暂时地储存***数据(例如,逻辑区块-物理区块对映表)或者主机***200所读取或写入的数据。在本实施例中,缓冲存储器160为静态随机存取存储器(Static Random Access Memory,简称SRAM)。然而,必须了解的是,本发明不限于此,动态随机存取存储器(Dynamic Random Access memory,简称DRAM)、磁阻式存储器(Magnetoresistive Random Access Memory,简称MRAM)、相变化存储器(Phase Change Random Access Memory,简称PRAM)或其他适合的存储器亦可应用于本发明。
此外,虽未绘示于本实施例中,但闪速存储器控制器110亦还包括错误校正单元与电源管理单元等用于控制闪速存储器的一般功能模组。
连接器120是电性连接至闪速存储器控制器110并且用以通过总线300连接主机***200。在本实施例中,连接器120为SATA连接器。然而,必须了解的是本发明不限于此,连接器110亦可以是USB连接器、IEEE 1394连接器、PCI Express连接器、SD连接器、MS连接器、MMC连接器、CF连接器、IDE连接器或其他适合的连接器。
闪速存储器晶片130是电性连接至闪速存储器控制器110并且用以储存数据。闪速存储器晶片130具有物理区块310-(0)至310-(N),其中物理区块为抹除的最小单位。亦即,每一物理区块含有最小数目的一并被抹除的存储单元。每一物理区块通常会分割为数个页面(page)。由于在本实施例中,闪速存储器晶片130为MLC NAND闪速存储器,因此,页面为程序化(program)的最小单元。换言之,页面为写入数据或读取数据的最小单元。每一页面通常包括使用者数据区与冗余区。使用者数据区用以储存使用者的数据,而冗余区用以储存***的数据(例如,错误检查与校正码(Error Checking and Correcting Code,简称ECC Code)。在本实施例中,闪速存储器晶片130的每一页面具有16个扇区的容量,一般来说,一个扇区为512字节,因此一个页面为8千字节。然而,必须了解的是,本发明不限于此,在本发明另一实施例中,一个页面亦可为16千字节、4千字节、2千字节或其他适当的大小。在本实施中,闪速存储器晶片130为多层存储单元(Multi Level Cell,简称MLC)NAND闪速存储器。然而,必须了解的是,本发明不限于此。在本发明另一实施例中,单层存储单元(Single Level Cell,简称SLC)NAND闪速存储器亦可应用于本发明。
图2是本发明实施例所示的闪速存储器晶片的概要方块图。存储器管理单元172会将闪速存储器晶片130的物理区块310-(0)至310-(N)逻辑地分组为***区302、数据区304、备用区306与取代区308,在此物理区块310-(0)至310-(N)为闪速存储器晶片130出厂时好的物理区块。
逻辑上属于***区302的物理区块310-(0)至310-(S)是用以记录***数据,此***数据包括关于闪速存储器晶片130的制造商与型号、逻辑区域数、每一区域的物理区块数、每一物理区块的页面数等。
逻辑上属于数据区304的物理区块310-(S+1)至310-(M)用以储存使用者的数据,一般来说就是主机***200所存取的逻辑区块所对映的物理区块。也就是说,数据区的物理区块为储存有效数据的单元。
逻辑上属于备用区306的物理区块310-(M+1)至310-(K)是用以轮替数据区304中的物理区块,因此在备用区306中的物理区块为空或可使用的单元,即无记录数据或标记为已没用的无效数据。也就是说,数据区304与备用区306的物理区块会以轮替方式来储存主机***200对闪速存储器储存装置100写入的数据。
逻辑上属于取代区308中的物理区块310-(K+1)至310-(N)是替代物理区块。例如,闪速存储器晶片130在出厂时会预留4%的物理区块作为更换使用。也就是说,当***区302、数据区304与备用区306中的物理区块损毁时,预留在取代区308中的物理区块可用以取代损坏的物理区块(即,坏的物理区块(bad block))。因此,倘若取代区308中仍存有可用的物理区块且发生物理区块损毁时,存储器管理单元172会从取代区308中提取可用的物理区块来更换损毁的物理区块。倘若取代区308中无可用的物理区块且发生物理区块损毁时,则闪速存储器储存装置100将会被宣告为写入保护(write protect),而无法再写入数据。
如前所述,当闪速存储器控制器110欲在数据区304的物理区块中写入或更新数据时,存储器管理单元172会从备用区306中提取一个物理区块,并且将新数据以及欲更新的物理区块中的有效旧数据写入至从备用区306中所提取的物理区块。然后,存储器管理单元172将储存新数据的物理区块关联为数据区304,而对数据区304中欲更新的物理区块执行抹除指令并将抹除后的物理区块关联为备用区306。
由于闪速存储器储存装置100是以上述轮替方式储存主机***200欲储存的数据,因此闪速存储器控制器110会提供逻辑区块350-0至350-H给主机***200以进行数据存取,并且提供转换层250来将逻辑区块350-0至350-H对映至闪速存储器晶片130的物理区块310-(S+1)至310-(M)。
在本实施例中,转换层250具有逻辑区块-物理区块对映表(logical block-physical block mapping table)以记录逻辑区块所对映的物理区块。也就是说,主机***200仅需在所提供的逻辑区块350-0至350-H上存取数据,而闪速存储器控制器110会根据逻辑区块-物理区块对映表来在实际储存数据的物理区块中写入与读取数据。
此外,值得一提的是,逻辑区块-物理区块对映表会被储存于闪速存储器晶片130中(例如,***区302或数据区304),并且在闪速存储器储存装置100运作期间,逻辑区块-物理区块对映表会被载入至缓冲存储器160中使存储器管理单元172能够读取与更新。然而,在缓冲存储器160的储存空间有限下,缓冲存储器160无法暂存记录所有逻辑区块的对映关系的逻辑区块-物理区块对映表。因此,在本实施例中存储器管理单元172会将逻辑区块350-0至350-H分组为多个逻辑区域(logical zone),并且以逻辑区域为单位来配置逻辑区块-物理区块对映表260-0至260-T。具体来说,每一逻辑区块会属于其中一个逻辑区域,而存储器管理单元172会为每一逻辑区域配置一逻辑区块-物理区块对映表。基此,当主机***200欲存取某一逻辑区块时,存储器管理单元172会根据欲存取的逻辑区块所属的逻辑区域来从闪速存储器晶片130中载入对应的逻辑区块-物理区块对映表,并且根据对应的逻辑区块-物理区块对映表来进行数据的存取。之后,当需存取另一逻辑区域的逻辑区块时,存储器管理单元172会将目前使用的逻辑区块-物理区块对映表回存至闪速存储器晶片130中并载入对应的另一逻辑区块-物理区块对映表。
为能够识别每一逻辑区块所对映的逻辑区域,在本实施例中,转换层250包括逻辑区块-逻辑区域对映表270以记录逻辑区块与逻辑区域的对映关系。例如,逻辑区块-逻辑区域对映表270会被储存在闪速存储器晶片130中(例如,***区302或数据区304),并且在闪速存储器储存装置100运作时,存储器管理单元172会将逻辑区块-逻辑区域对映表270载入至缓冲存储器160并且根据逻辑区块-逻辑区域对映表270来载入对应的逻辑区块-物理区块对映表。另外,在闪速存储器储存装置100准备停止运作时,存储器管理单元172会将逻辑区块-逻辑区域对映表270回存至闪速存储器晶片130中。
图3是本发明实施例所示的逻辑区块-逻辑区域对映表的示意图,其中假设逻辑区块的数目为9且逻辑区域的数目为3。然而,必须了解的是,图3仅为一简化实施例以方便说明,本发明不限于此。例如,在实际的运作上,逻辑区块的数目为2048个且逻辑区域的数目为64个。
请参照图3,逻辑区块-逻辑区域对映表270包括9个方块,而每一方块代表1个逻辑区块,其中方块是依照由左至右且由上至下的方向排列并且分别地代表逻辑区块350-0至350-8。另外,每一方块中所记录的值是表示此方块对应的逻辑区块所属的逻辑区域。例如,逻辑区块350-0、350-3与350-6属于逻辑区域LZ1,逻辑区块350-1、350-4与350-7属于逻辑区域LZ2,以及逻辑区块350-2、350-5与350-8属于逻辑区域LZ3。
此外,在本实施例中,转换层250还包括逻辑区块使用计数表280以记录每一逻辑区块对应的使用次数值。具体来说,使用计数单元174会在每当主机***200对逻辑区块执行写入指令时,在对应的使用次数值上计数(例如,在写入次数值上加1)。例如,当主机***200对某一逻辑区块中的一页面下达一写入指令时,则写入次数值会加1,之后,当主机***200又再一次的对同一逻辑区块中的一页面下达另一写入指令时,则此逻辑区块的写入次数值则会再加1,即此逻辑区块的写入次数值(即,使用次数值会为2)。类似地,例如,逻辑区块使用计数表280会被储存在闪速存储器晶片130中(例如,***区302或数据区304),并且在闪速存储器储存装置100运作时,使用计数单元174会将使用计数表280载入至缓冲存储器160以进行更新,而在闪速存储器储存装置100准备停止运作时,使用计数单元174会将使用计数表280回存至闪速存储器晶片130中。在本实施例中,逻辑区块使用计数表280是类似于逻辑区块-逻辑区域对映表270(如图3所示),其差异仅在于逻辑区块使用计数表280的方块内的值是表示使用次数值。特别是,在本发明另一实施例中,逻辑区块使用计数表280与逻辑区块-逻辑区域对映表270亦可整合在单一表单中来表示。
值得一提的是,在本实施例中,存储器管理单元172会根据逻辑区块的使用状态来动态地调整逻辑区块-逻辑区域对映表270中逻辑区域与逻辑区块的对映关系。具体来说,使用计数单元174会在闪速存储器储存装置100运作期间记录主机***200在每一逻辑区块中下达写入指令的次数作为使用次数值,而存储器管理单元172会在当逻辑区块的使用次数值大于一使用次数门槛值时调整逻辑区域与逻辑区块的对映关系,使得经常被写入数据的逻辑区块集中于同一个逻辑区域。在此,使用次数门槛值是由闪速存储器储存装置设计人员在出厂时即完成设定,也就是说,使用次数门槛值是闪速存储器储存装置设计上的选择,不同的需求可做相对应的调整及最佳化。例如,在本实施例中,使用次数门槛值是被设定为99。
图4A~4E是本发明实施例所示的动态地调整逻辑区块-逻辑区域对映表的示意图,其中存储器管理单元172会根据使用次数值将逻辑区块依序地分组至逻辑区域LZ 1、逻辑区域LZ2与逻辑区域LZ3。也就是说,当闪速存储器储存装置100在被使用一段时间后,逻辑区域LZ1中的逻辑区块的被主机***200下达写入指令的次数(或频率)会大于逻辑区域LZ2中的逻辑区块,而逻辑区域LZ2中的逻辑区块的被主机***200下达写入指令的次数(或频率)会大于逻辑区域LZ3中的逻辑区块。在此,被主机***200下达写入指令的次数(或频率)较高的逻辑区域称为热逻辑区域,而被主机***200下达写入指令的次数(或频率)较低的逻辑区域称为冷逻辑区域。
请参照图4A~4E,假设逻辑区块的数目为9(即,逻辑区块350-0至350-8)且逻辑区域的数目为3(即,逻辑区域LZ1至LZ3),其中图4A是显示闪速存储器储存装置100在出厂时逻辑区块与逻辑区域的对映关系以及逻辑区块的初始使用次数值。
之后,当主机***200在逻辑区块中下达写入指令的次数持续累积一段时间后(如图4B所示),存储器管理单元172会判断逻辑区块350-8的使用次数值已大于使用次数门槛值,例如上述使用次数值为99,因此存储器管理单元172会进行逻辑区块与逻辑区域的对映关系的调整。具体来说,存储器管理单元172会更新逻辑区块-逻辑区域对映表270以将逻辑区块350-8调整为属于逻辑区域LZ2同时将逻辑区域LZ2中使用次数值最低的逻辑区块(即,逻辑区块350-7)调整为属于逻辑区域LZ3(如图4C所示),并且存储器管理单元172会更新逻辑区域LZ2与LZ3所对应的逻辑区块-物理区块对映表。
值得一提的是,在本实施例中,存储器管理单元172是将逻辑区域LZ2中使用次数值最低的逻辑区块调整为属于逻辑区域LZ3。然而,本发明不限于此,在本发明另一实施例中,存储器管理单元172亦可从逻辑区域LZ2中随机挑选一个逻辑区块来调整为属于逻辑区域LZ3。
此外,在完成逻辑区块与逻辑区域的对映关系的调整后,使用计数单元174会重新调整使用次数值。例如,在本实施例中,使用计数单元174会将每一使用次数值除以2作为新的使用次数值(如图4C所示)。
类似地,当闪速存储器储存装置100运作一段时间后(如图4D所示),存储器管理单元172会判断逻辑区块350-8的使用次数值大于使用次数门槛值而再次进行逻辑区块与逻辑区域的对映关系的调整,其中存储器管理单元172会将逻辑区块350-8调整为属于逻辑区域LZ1同时将逻辑区域LZ1中使用次数值最低的逻辑区块(即,逻辑区块350-0)调整为属于逻辑区域LZ2,且使用计数单元174会重新调整使用次数值(如图4E所示)。
在闪速存储器储存装置100运作期间,类似于图4A~4E所述的逻辑区块与逻辑区域的对映关系的调整会不断的被进行,由此逻辑区块将会根据其使用次数(或频率)被分群至对应的逻辑区域中。亦即,较常被写入的逻辑区块会被不断的调整,直到较常被写入的逻辑区块已被调整为属于最热的逻辑区域为止。
在本实施例中,当执行完逻辑区块与逻辑区域的对映关系的调整后,使用计数单元174是将每一逻辑区块的使用次数值除以一预设值的运算式来调整使用次数值。然而,本发明不限于此,例如,在本发明另一实施例中,使用计数单元174亦可将所有使用次数值归零或者以其他适当的运算式来调整使用次数值。
此外,在图4A~4E所示的实施例中,逻辑区域LZ1是最热的逻辑区域,逻辑区域LZ2是次热的逻辑区域,而逻辑区域LZ3是冷逻辑区域。然而,本发明不限于此,在本发明另一实施例中,逻辑区域LZ2可以是最热的逻辑区域,逻辑区域LZ3是次热的逻辑区域,而逻辑区域LZ1是冷逻辑区域。
图5是本发明实施例所示的逻辑区块管理方法的流程示意图。
请参照图5,首先,在步骤S501中闪速存储器储存装置100会被连接至主机***200并初始化。具体来说,若闪速存储器储存装置100为第一次被使用时,闪速存储器控制器110会格式化闪速存储器晶片130并配置逻辑区块350-0至350-H以对映闪速存储器晶片130的物理区块,其中逻辑区块会被分群为多个逻辑区域(如图3所示)。另外,若闪速存储器储存装置100非第一次被使用时,闪速存储器控制器110会从闪速存储器晶片130中载入相关的信息(例如,逻辑区块-逻辑区域对映表、逻辑区块-物理区块对映表、使用计数表等)
之后,在步骤S503中闪速存储器控制器110会待命并判断从主机***200接收的指令是否为写入指令。必须了解的是,在本实施例中,逻辑区块与逻辑区域的对映关系的调整是与逻辑区块被主机***200下达写入指令的次数有关,因此在图5的流程图中仅描述接收到写入指令的状态。倘若在步骤S503中判断所接收的指令不是写入指令时,则图5所示的流程会执行步骤S503。
倘若在步骤S503中判断所接收到的指令是写入指令时,则在步骤S505中使用计数单元174会计数写入此数据的逻辑区块的使用次数值,并且在步骤S507中存储器管理单元172会判断所计数的使用次数值是否大于使用次数门槛值。
倘若在步骤S507中判断所计数的使用次数值不大于使用次数门槛值时,则图5所示的流程会执行步骤S503。
倘若在步骤S507中判断所计数的使用次数值大于使用次数门槛值时,则在步骤S509中存储器管理单元172会判断写入此数据的逻辑区块是否已属于最热的逻辑区域中。倘若在步骤S509中判断写入此数据的逻辑区块已属于最热的逻辑区域(例如,图4A~4E所示的逻辑区域LZ1)时,则图5所示的流程会执行步骤S503。反之,倘若在步骤S509中判断写入此数据的逻辑区块不属于最热的逻辑区域时,则在步骤S511中存储器管理单元172会调整逻辑区块与逻辑区域之间的对映关系。调整逻辑区块与逻辑区域之间的对映关系的方式已配合图4A~4E详细描述如前,在此不重复描述。之后,在步骤S513中使用计数单元174会调整所有逻辑区块的使用次数值,然后图5所示的流程会执行步骤S503。在此,图5所示的流程会在闪速存储器装置100停止运作时结束。
基于上述,闪速存储器控制器110可有效地区别逻辑区块的存取频率,并且当主机***200存取逻辑区块时,根据不同的使用次数(或频率)利用对应的写入机制来提升闪速存储器储存装置100的存取效能。例如,当主机***200欲写入数据至被主机***200下达写入指令的次数(或频率)较高的逻辑区块时,闪速存储器控制器110可先将此数据暂存于闪速存储器储存装置100的暂存区(例如,在闪速存储器储存装置100中的动态随机存取存储器(未绘示))中,而当主机***200欲写入数据至被主机***200下达写入指令的次数(或频率)较低的逻辑区块时,闪速存储器控制器110才直接地将数据写入至闪速存储器晶片130中。或者,在闪速存储器储存装置100是由一个SLC NAND闪速存储器与一个MLCNAND闪速存储器所组成的例子中,当主机***200欲写入数据至被主机***200下达写入指令的次数(或频率)较高的逻辑区块时,闪速存储器控制器110会将此数据写入至SLC NAND闪速存储器中,而当主机***200欲写入数据至被主机***200下达写入指令的次数(或频率)较低的逻辑区块时,闪速存储器控制器110会将数据写入至MLC NAND闪速存储器中。
值得一提的是,在本实施例中,使用计数单元174是根据写入指令来计数逻辑区块的使用次数,作为每一逻辑区块的使用模式。然而,本发明不限于此,在本发明另一实施例中,逻辑区块的使用次数亦可根据其被写入、读取与状态回复指令的次数或者被写入的数据量来计算。例如,当以被写入的数据量作为使用次数时,使用计数单元174会根据每次主机***200写入至逻辑区块的数据的扇区(sector)数来计数使用次数。例如,当主机***200写入5个扇区的数据至某一逻辑区块时,则此逻辑区块的使用次数会被加5。
此外,在本实施例中,存储器管理单元172与使用计数单元174是以区块(即,逻辑区块与物理区块)为单位来实现本实施例的区块管理机制。然而,在本发明不限于此,在本发明另一实施例中,存储器管理单元172与使用计数单元174亦可以具多个区块的单元(unit)为单位来管理闪速存储器晶片130。例如,在将2个逻辑(物理)区块视为1个逻辑(物理)单元的例子中,存储器管理单元172会以具有2个逻辑(物理)区块的逻辑(物理)单元为单位来进行数据抹除,而使用计数单元174会以具有2个逻辑(物理)区块的逻辑(物理)单元为单位来计数每一逻辑单元的写入次数。
综上所述,本发明实施例通过动态地调整逻辑区块与逻辑区域的对映关系,可有效地将写入频率较高的逻辑区块与写入频率较低的逻辑区块区分出来,由此可根据不同的使用样态拟定对应的写入策略,进而提升闪速存储器储存装置的效能。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (24)
1.一种逻辑区块管理方法,用于管理一闪速存储器储存装置的多个逻辑区块,该逻辑区块管理方法包括:
提供一闪速存储器控制器;
将所述多个逻辑区块分组为多个逻辑区域;
记录所述多个逻辑区块与所述多个逻辑区域之间的对映关系,其中每一逻辑区块对映所述多个逻辑区域的其中之一;
为每一逻辑区块计数一使用次数值;以及
由该闪速存储器控制器根据所述多个使用次数值调整所述多个逻辑区块与所述多个逻辑区域之间的对映关系。
2.根据权利要求1所述的逻辑区块管理方法,其中记录所述多个逻辑区块与所述多个逻辑区域之间的所述多个对映关系的步骤包括:
建立一逻辑区块-逻辑区域对映表以记录所述多个逻辑区块与所述多个逻辑区域之间的对映关系。
3.根据权利要求1所述的逻辑区块管理方法,其中所述多个逻辑区域至少包括一热逻辑区域与一冷逻辑区域。
4.根据权利要求3所述的逻辑区块管理方法,其中由该闪速存储器控制器根据所述多个使用次数值调整所述多个逻辑区块与所述多个逻辑区域之间的对映关系的步骤包括:
判断该冷逻辑区域中的所述多个逻辑区块的所述多个使用次数值是否大于一使用次数门槛值;以及
当该冷逻辑区域的所述多个逻辑区块中的其中一个逻辑区块的使用次数值大于该使用次数门槛值时,则将该逻辑区块分组为该热逻辑区域,从该热逻辑区域的所述多个逻辑区块中选择其中一个逻辑区块,并且将所选择的逻辑区块分组为该冷逻辑区域。
5.根据权利要求4所述的逻辑区块管理方法,其中所选择的逻辑区块的使用次数值为不大于该热逻辑区域中其他所述多个逻辑区块的使用次数值。
6.根据权利要求1所述的逻辑区块管理方法,其中所述多个使用次数值包括所述多个逻辑区块被一主机***下达写入指令的次数或被写入数据的扇区数。
7.根据权利要求1所述的逻辑区块管理方法,还包括由该闪速存储器控制器调整所述多个使用次数值,其中所述多个使用次数值会被归零或以一运算式来重新计算。
8.一种闪速存储器控制电路,用于管理一闪速存储器储存装置的多个逻辑区块,该闪速存储器控制电路包括:
一微处理器单元;
一闪速存储器接口单元,电性连接至该微处理器单元;
一主机接口单元,电性连接至该微处理器单元;
一区块管理单元,电性连接至该微处理器单元,用以将所述多个逻辑区块分组为多个逻辑区域且为每一所述多个逻辑区块计数一使用次数值,
其中该区块管理单元根据所述多个使用次数值调整所述多个逻辑区块与所述多个逻辑区域之间的对映关系。
9.根据权利要求8所述的闪速存储器控制电路,其中该区块管理单元包括:
一存储器管理单元,用以记录所述多个逻辑区块与所述多个逻辑区域之间的对映关系,其中每一逻辑区块对映所述多个逻辑区域的其中之一;以及
一使用计数单元,用以计数每一逻辑区块的使用次数值。
10.根据权利要求9所述的闪速存储器控制电路,其中该存储器管理单元在一逻辑区块-逻辑区域对映表中记录所述多个逻辑区块与所述多个逻辑区域之间的对映关系。
11.根据权利要求9所述的闪速存储器控制电路,其中所述多个逻辑区域至少包括一热逻辑区域与一冷逻辑区域。
12.根据权利要求11所述的闪速存储器控制电路,其中该存储器管理单元判断该冷逻辑区域中的所述多个逻辑区块的所述多个使用次数值是否大于一使用次数门槛值,
其中当其中一个逻辑区块的使用次数值大于该使用次数门槛值时,则该存储器管理单元将该逻辑区块分组为该热逻辑区域,从该热逻辑区域中选择其中一个逻辑区块,并且将所选择的逻辑区块分组为该冷逻辑区域。
13.根据权利要求12所述的闪速存储器控制电路,其中所选择的逻辑区块的使用次数值为不大于该热逻辑区域中其他所述多个逻辑区块的使用次数值。
14.根据权利要求8所述的闪速存储器控制电路,其中所述多个使用次数值包括所述多个逻辑区块被一主机***下达写入指令的次数或被写入数据的扇区数。
15.一种闪速存储器储存***,包括:
一连接器;
一闪速存储器晶片;以及
一闪速存储器控制器,电性连接该连接器与该闪速存储器晶片,用以配置多个逻辑区块且将所述多个逻辑区块分组为多个逻辑区域,并且记录所述多个逻辑区块与所述多个逻辑区域之间的对映关系,其中每一逻辑区块对映所述多个逻辑区域的其中之一,
其中该闪速存储器控制器还用以为每一逻辑区块计数一使用次数值,并且根据所述多个使用次数值调整所述多个逻辑区块与所述多个逻辑区域之间的对映关系。
16.根据权利要求15所述的闪速存储器储存***,其中该闪速存储器控制器在一逻辑区块-逻辑区域对映表中记录所述多个逻辑区块与所述多个逻辑区域之间的对映关系。
17.根据权利要求15所述的闪速存储器储存***,其中所述多个逻辑区域至少包括一热逻辑区域与一冷逻辑区域。
18.根据权利要求17所述的闪速存储器储存***,其中该闪速存储器控制器判断该冷逻辑区域中的所述多个逻辑区块的所述多个使用次数值是否大于一使用次数门槛值,
其中当其中一个逻辑区块的使用次数值大于该使用次数门槛值时,则该闪速存储器控制器将该其中一个逻辑区块分组为该热逻辑区域,从该热逻辑区域中选择其中一个逻辑区块,并且将所选择的逻辑区块分组为该冷逻辑区域。
19.根据权利要求18所述的闪速存储器储存***,其中所选择的逻辑区块的使用次数值为不大于该热逻辑区域中其他所述多个逻辑区块的使用次数值。
20.根据权利要求15所述的闪速存储器储存***,其中所述多个使用次数值包括所述多个逻辑区块被一主机***下达写入指令的次数或被写入数据的扇区数。
21.一种闪速存储器储存***,包括:
一连接器;
一闪速存储器晶片,包括多个物理区块;以及
一闪速存储器控制器,电性连接该连接器与该闪速存储器晶片,用以配置多个逻辑区块与将所述多个物理区块至少分组为一数据区与一备用区,其中每一逻辑区块对应至少一物理区块,该闪速存储器控制器为每一逻辑区块计数一使用次数值,并且根据该使用次数值将所述多个逻辑区块中的至少一逻辑区块分组为至少一热逻辑区域。
22.根据权利要求21所述的闪速存储器储存***,其中所述多个使用次数值包括所述多个逻辑区块被一主机***下达写入指令的次数或被写入数据的扇区数。
23.根据权利要求22所述的闪速存储器储存***,还包括一暂存区,
其中当该主机***的写入数据属于该热逻辑区域中的其中一个逻辑区块时,则该闪速存储器控制器将该写入数据储存于该暂存区中。
24.根据权利要求23所述的闪速存储器储存***,其中该暂存区为一动态随机存取存储器或一单层存储单元与非NAND闪速存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910151439 CN101957797B (zh) | 2009-07-17 | 2009-07-17 | 闪速存储器逻辑区块管理方法及其控制电路与储存*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910151439 CN101957797B (zh) | 2009-07-17 | 2009-07-17 | 闪速存储器逻辑区块管理方法及其控制电路与储存*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101957797A true CN101957797A (zh) | 2011-01-26 |
CN101957797B CN101957797B (zh) | 2013-01-09 |
Family
ID=43485134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910151439 Active CN101957797B (zh) | 2009-07-17 | 2009-07-17 | 闪速存储器逻辑区块管理方法及其控制电路与储存*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101957797B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102789427A (zh) * | 2012-07-17 | 2012-11-21 | 威盛电子股份有限公司 | 数据储存装置与其操作方法 |
CN102890655A (zh) * | 2011-07-20 | 2013-01-23 | 群联电子股份有限公司 | 存储器储存装置、其存储器控制器与有效数据识别方法 |
KR20140051687A (ko) * | 2012-10-23 | 2014-05-02 | 삼성전자주식회사 | 불휘발성 메모리 및 컨트롤러를 포함하는 메모리 시스템, 그리고 불휘발성 메모리에 데이터를 프로그램하는 프로그램 방법 |
CN104156317A (zh) * | 2014-08-08 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种非易失性闪存的擦写管理方法及*** |
CN104657234A (zh) * | 2015-02-04 | 2015-05-27 | 北京神州云科数据技术有限公司 | 一种磁盘阵列raid的超级块superblock的备份方法 |
CN104793898A (zh) * | 2015-02-04 | 2015-07-22 | 北京神州云科数据技术有限公司 | 一种将Raid的superblock分区域存储的方法及装置 |
CN104978149A (zh) * | 2014-04-11 | 2015-10-14 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
CN103827970B (zh) * | 2012-09-25 | 2016-05-18 | 株式会社东芝 | 对固态驱动器再配置数据的存储装置、存储控制器以及方法 |
CN114844911A (zh) * | 2022-04-20 | 2022-08-02 | 网易(杭州)网络有限公司 | 数据存储方法、装置、电子设备及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1988039A (zh) * | 2005-12-21 | 2007-06-27 | 群联电子股份有限公司 | 闪存分散写入方法 |
KR100849221B1 (ko) * | 2006-10-19 | 2008-07-31 | 삼성전자주식회사 | 비휘발성 메모리의 관리 방법 및 비휘발성 메모리 기반의장치 |
-
2009
- 2009-07-17 CN CN 200910151439 patent/CN101957797B/zh active Active
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890655A (zh) * | 2011-07-20 | 2013-01-23 | 群联电子股份有限公司 | 存储器储存装置、其存储器控制器与有效数据识别方法 |
CN102789427B (zh) * | 2012-07-17 | 2015-11-25 | 威盛电子股份有限公司 | 数据储存装置与其操作方法 |
US9053013B2 (en) | 2012-07-17 | 2015-06-09 | Via Technologies, Inc. | Data storage device and operating method thereof |
CN102789427A (zh) * | 2012-07-17 | 2012-11-21 | 威盛电子股份有限公司 | 数据储存装置与其操作方法 |
CN103827970B (zh) * | 2012-09-25 | 2016-05-18 | 株式会社东芝 | 对固态驱动器再配置数据的存储装置、存储控制器以及方法 |
CN103778961B (zh) * | 2012-10-23 | 2019-06-04 | 三星电子株式会社 | 基于存储在待编程存储单元中的数据来编码编程数据 |
CN103778961A (zh) * | 2012-10-23 | 2014-05-07 | 三星电子株式会社 | 基于存储在待编程存储单元中的数据来编码编程数据 |
KR20140051687A (ko) * | 2012-10-23 | 2014-05-02 | 삼성전자주식회사 | 불휘발성 메모리 및 컨트롤러를 포함하는 메모리 시스템, 그리고 불휘발성 메모리에 데이터를 프로그램하는 프로그램 방법 |
KR102049281B1 (ko) | 2012-10-23 | 2019-11-27 | 삼성전자주식회사 | 불휘발성 메모리 및 컨트롤러를 포함하는 메모리 시스템, 그리고 불휘발성 메모리에 데이터를 프로그램하는 프로그램 방법 |
CN104978149A (zh) * | 2014-04-11 | 2015-10-14 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
CN104156317A (zh) * | 2014-08-08 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种非易失性闪存的擦写管理方法及*** |
CN104657234A (zh) * | 2015-02-04 | 2015-05-27 | 北京神州云科数据技术有限公司 | 一种磁盘阵列raid的超级块superblock的备份方法 |
CN104657234B (zh) * | 2015-02-04 | 2018-05-22 | 深圳神州数码云科数据技术有限公司 | 一种磁盘阵列raid的超级块superblock的备份方法 |
CN104793898A (zh) * | 2015-02-04 | 2015-07-22 | 北京神州云科数据技术有限公司 | 一种将Raid的superblock分区域存储的方法及装置 |
CN114844911A (zh) * | 2022-04-20 | 2022-08-02 | 网易(杭州)网络有限公司 | 数据存储方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101957797B (zh) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9098395B2 (en) | Logical block management method for a flash memory and control circuit storage system using the same | |
CN101957797B (zh) | 闪速存储器逻辑区块管理方法及其控制电路与储存*** | |
US9268687B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US8645613B2 (en) | Data writing method for flash memory and control circuit and storage system using the same | |
TWI585770B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
US20100241789A1 (en) | Data storage method for flash memory and data storage system using the same | |
CN102193869B (zh) | 存储器管理与写入方法及其存储器控制器与储存*** | |
CN101634967B (zh) | 用于闪存的区块管理方法、储存***与控制器 | |
CN101324867A (zh) | 基于半导体存储介质的数据管理装置及管理方法 | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
US8037236B2 (en) | Flash memory writing method and storage system and controller using the same | |
CN101667157A (zh) | 闪存数据传输方法、闪存储存***及控制器 | |
CN107943710B (zh) | 存储器管理方法及使用所述方法的存储控制器 | |
CN102866861B (zh) | 闪存储存***、闪存控制器与数据写入方法 | |
CN101944384B (zh) | 用于闪速存储器的数据写入方法及其控制电路与储存*** | |
CN101727397B (zh) | 区块管理与更换方法、闪存储存***及其控制器 | |
CN102999437B (zh) | 数据搬移方法、存储器控制器与存储器储存装置 | |
TW201820114A (zh) | 資料寫入方法以及儲存控制器 | |
CN102122233B (zh) | 区块管理与数据写入方法、闪存储存***与控制器 | |
CN101859278A (zh) | 用于闪存的数据储存方法及储存*** | |
CN103377132B (zh) | 管理存储器空间的方法、存储器控制器与存储器储存装置 | |
CN108108118B (zh) | 数据写入方法以及存储控制器 | |
CN101957799B (zh) | 用于闪速存储器的数据写入方法及其控制电路与存储*** | |
CN101882111B (zh) | 用于闪存的数据存取方法、储存***与控制器 | |
CN101872318A (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 |