CN101593156B - 多种存储器的管理方法、系统及控制器 - Google Patents
多种存储器的管理方法、系统及控制器 Download PDFInfo
- Publication number
- CN101593156B CN101593156B CN2008101093440A CN200810109344A CN101593156B CN 101593156 B CN101593156 B CN 101593156B CN 2008101093440 A CN2008101093440 A CN 2008101093440A CN 200810109344 A CN200810109344 A CN 200810109344A CN 101593156 B CN101593156 B CN 101593156B
- Authority
- CN
- China
- Prior art keywords
- storer
- capacity
- data access
- memory
- flash memory
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种多种存储器的管理方法、系统及控制器。本发明是根据存储器的硬件架构,调整各个存储器的数据存取格式,使其每次进行数据存取时的存取单位为相同,并建立一个映射表格来记录各个存储器调整后的数据存取格式。而当接收到由主机端发出的数据存取指令时,即可藉由查询映射表格以执行数据存取指令。据此,可解决硬件架构不兼容的问题,并可管理不同种类的闪存。
Description
技术领域
本发明是有关于一种存储器的管理方法及系统,且特别是有关于一种多种类存储器的管理方法、系统及控制器。
背景技术
数字相机、手机相机与MP3等电子产品在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。在种类繁多的存储媒体中,闪存(Flash Memory)因具有非挥发性、省电、体积小与无机械结构等特性,特别适合用于笔记型计算机或个人数字助理等需要由电池供电的可携式产品,而做为此类可携式产品的内建存储器。此外,闪存也适合使用做为记忆卡或随身碟等小型的存储媒体,而由于随身碟与记忆卡的应用层面更广、市场规模更大,因此近年闪存已成为电子产业中相当热门的产品。
闪存依其存储单元种类的不同可分为单层存储单元(Single Level Cell,SLC)反及(NAND)闪存与多层存储单元(Multi Level Cell,MLC)反及闪存。闪存通常实质上可分割为多个实体区块(Physical block),为方便说明以下将实体区块简称为区块。一般而言,闪存是以区块为抹除的最小单位,亦即每一区块含有最小数目的一并被抹除的存储单元。每一区块通常会分割为数个页(page),而页通常为对闪存程序(Program)的最小单位。换言之,页为闪存在写入数据或读取数据时的最小单位。但要特别说明的是,对于不同的闪存设计来说,最小的程序单位也可为一个扇区(sector)大小,即一页中有多个扇区并以一扇区为程序的最小单位,例如使用程序次数(Number ofprogram,NOP)为4的技术的单层存储单元反及闪存。
然而,由于目前市面上各家厂牌的闪存的硬件架构不尽相同,包括闪存的页数目、区块数目、扇区数目、错误检测校正(Error Checking and Correction,ECC)冗余(redundancy)区域大小、程序次数(Number of program,NOP)、读取写入定时(R/W timing)及特殊指令(special command)等,因此每个闪存模块的控制器皆仅止限定连接同一容量、同一款的闪存,而造成其容量上的限制。举例来说,若需要520MB的存储器空间,就只能连接两颗512MB或是三颗256MB的闪存,此将造成存储器成本及空间上的浪费。
发明内容
有鉴于此,本发明提供一种多种存储器的管理方法,藉由将所有存储器设定成兼容的格式,以混合管理不同种类的闪存。
本发明提供一种多种存储器的管理系统,藉由独立的控制器管理多种存储器的数据存取动作,以解决硬件架构不兼容的问题。
本发明提供一种控制器,藉由记录各个存储器的数据存取格式、指令集及逻辑地址范围来管理不同种类的闪存。
为达上述或其它目的,本发明提出一种多种存储器的管理方法,适于管理一个存储器模块,此存储器模块包含至少两种存储器,其中这些存储器选自一区块寻址存储器及单层存储单元闪存组合、一区块寻址存储器及多层存储单元闪存组合、具有第一容量及第二容量的单层存储单元闪存组合,以及具有第三容量及第四容量的多层存储单元闪存组合其中之一,其中第一容量不等于第二容量,而第三容量不等于第四容量,其包括下列步骤:首先,接收一数据存取指令,其包括指示所欲存取数据的逻辑地址,接着则辨识此逻辑地址所对应的存储器,最后再根据逻辑地址及所辨识的存储器的种类,执行数据存取指令在存储器。
在本发明的一实施例中,当上述的存储器模块为具有第一容量及第二容量的单层存储单元闪存组合,以及具有第三容量及第四容量的多层存储单元闪存组合其中之一时,上述的管理方法还包括根据这些存储器的硬件架构,调整存储器的数据存取格式,使其每次进行数据存取时的存取单位为相同。之后则还包括建立一个映射表格来记录各个存储器调整后的数据存取格式,而根据数据存取指令,查询映射表格以执行数据存取指令。
在本发明的一实施例中,上述调整存储器的数据存取格式,使其每次进行数据存取时的存取单位为相同的步骤包括将存取单位较小的存储器利用合并的方式扩充成兼容于存取单位较大的存储器。而当这些存储器的存取单位包括2k页及4k页时,则会以合并两个2k页为一个4k页的方式来管理存取单位为2k页的存储器。
在本发明的一实施例中,当所述存储器包括区块寻址存储器时,上述管理方法还包括分配逻辑地址范围给此区块寻址存储器,以做为存取此区块寻址存储器的依据。
在本发明的一实施例中,上述调整存储器的数据存取格式,使其每次进行数据存取时的存取单位为相同的步骤包括统一设定这些存储器的程序次数(Number of Program,NOP)为1。
在本发明的一实施例中,上述方法还包括在映射表格中记录各个存储器的指令集及存储格式,而在接收到数据存取指令时,即查询映射表格中映射的指令集及存储格式,以存取所述存储器。其中,所述的指令集包括快取写入(cache write)、双阶写入(two plane write)、特殊指令(special command)其中之一或其组合者,而存储格式则包括读取写入定时(R/W timing)及错误检测校正(Error Checking and Correction,ECC)冗余(redundancy)区域大小其中之一或其组合者。
在本发明的一实施例中,上述的存取单位包括页(Page)、区块(Block)及扇区(sector)其中之一。
本发明提出一种多种存储器的管理系统,其包括第一类存储器、第二类存储器及控制器。其中,所述第一类存储器及第二类存储器包含至少两种存储器,这些存储器选自一区块寻址存储器及单层存储单元闪存组合、一区块寻址存储器及多层存储单元闪存组合、具有第一容量及第二容量的单层存储单元闪存组合,以及具有第三容量及第四容量的多层存储单元闪存组合其中之一,其中第一容量不等于第二容量,而第三容量不等于第四容量。此外,所述控制器是分别耦接至第一类存储器及第二类存储器,用以根据数据存取指令所指示的逻辑地址辨识所对应的存储器,并根据逻辑地址及所辨识的存储器的种类,执行数据存取指令。
在本发明的一实施例中,当存储器模块为具有第一容量及第二容量的单层存储单元闪存组合,以及具有第三容量及第四容量的多层存储单元闪存组合其中之一时,控制器还包括根据第一类存储器及第二类存储器的硬件架构,调整第一类存储器及第二类存储器的数据存取格式,使其每次进行数据存取时的存取单位为相同。此外,控制器亦包括建立一个映射表格来记录各个存储器调整后的数据存取格式,并根据数据存取指令,查询映射表格以执行数据存取指令。
在本发明的一实施例中,当所述第一类存储器与第二类存储器中包括区块寻址存储器时,则此区块寻址存储器中包括存储器主体及逻辑寻址控制器。其中,存储器主体中包括多个区块,而用以存储数据。逻辑寻址控制器则是用以根据一个逻辑地址映射(mapping)表格中记录的各个区块映射的逻辑地址,来管理所述区块的数据存取动作。
在本发明的一实施例中,上述的逻辑寻址控制器包括根据逻辑地址映射表格找寻存储器主体中对应于逻辑地址的一区块群组,此区块群组包含多个区块,再根据一个子逻辑地址映射表格找寻此区块群组中对应于逻辑地址的区块,以执行数据存取指令。
在本发明的一实施例中,当所述第一类存储器与第二类存储器中包括区块寻址存储器时,则控制器还包括分配逻辑地址范围给此区块寻址存储器,以做为存取此区块寻址存储器的依据。
在本发明的一实施例中,上述的控制器包括将存取单位较小的存储器利用合并的方式扩充成兼容于存取单位较大的存储器。
在本发明的一实施例中,当所述第一类存储器与第二类存储器的存取单位分别为2k页及4k页时,控制器将会以合并两个2k页为一个4k页的方式来管理第一类存储器。
在本发明的一实施例中,上述的控制器还包括将所述第一类存储器与第二类存储器的程序次数统一设定为1。
在本发明的一实施例中,上述的控制器还包括在映射表格中记录所述第一类存储器与第二类存储器的指令集及存储格式,而在接收到数据存取指令时,即查询此映射表格中映射的指令集及存储格式,以存取所述第一类存储器或第二类存储器。其中,上述的指令集包括快取写入、双阶写入、特殊指令其中之一或其组合者,而存储格式则包括读取写入定时及错误检测校正冗余区域大小其中之一或其组合者。
在本发明的一实施例中,上述的存取单位包括页、区块及扇区其中之一。
在本发明的一实施例中,上述的第一类存储器与第二类存储器的脚位与闪存相同。
本发明提出一种控制器,其包括微处理单元主机连结接口、第一存储器连结接口、第二存储器连结接口及存储器管理模块。其中,微处理单元是用以控制控制器的整体运作。主机连结接口是耦接至主机端及微处理单元。第一存储器连结接口是耦接至第一类存储器及微处理单元,而第二存储器连结接口则耦接至第二类存储器及微处理单元,其中第一类存储器及第二类存储器选自一区块寻址存储器及单层存储单元闪存组合、一区块寻址存储器及多层存储单元闪存组合、具有第一容量及第二容量的单层存储单元闪存组合,以及具有第三容量及第四容量的多层存储单元闪存组合其中之一,其中第一容量不等于第二容量,而第三容量不等于第四容量。存储器管理模块是耦接至微处理单元,用以透过微处理单元管理所述第一类存储器与第二类存储器的数据存取动作,其中存储器管理模块包括根据数据存取指令所指示的逻辑地址辨识所对应的存储器,并根据逻辑地址及所辨识的存储器的种类,执行数据存取指令。
在本发明的一实施例中,当上述的第一类存储器及第二类存储器为具有第一容量及第二容量的单层存储单元闪存组合,以及具有第三容量及第四容量的多层存储单元闪存组合其中之一时,存储器管理模块还包括根据第一类存储器及第二类存储器的硬件架构来调整第一类存储器及第二类存储器的数据存取格式,使其每次进行数据存取时的存取单位为相同。此外,存储器管理模块亦包括建立一个映射表格来记录各个存储器调整后的数据存取格式,并根据此数据存取指令,查询映射表格以执行数据存取指令。
在本发明的一实施例中,当第一类存储器与第二类存储器中包括区块寻址存储器时,则存储器管理模块将会分配一个逻辑地址范围给区块寻址存储器,以做为存取此区块寻址存储器的依据。
在本发明的一实施例中,上述的存储器管理模块包括将存取单位较小的存储器利用合并的方式扩充成兼容于存取单位较大的存储器。
在本发明的一实施例中,当所述第一类存储器与第二类存储器的存取单位分别为2k页及4k页时,则存储器管理模块将会以合并两个2k页为一个4k页的方式来管理第一类存储器。
在本发明的一实施例中,上述的存储器管理模块还包括将第一类存储器与第二类存储器的程序次数统一设定为1。
在本发明的一实施例中,上述的存储器管理模块还包括在映射表格中记录第一类存储器与第二类存储器的指令集及存储格式,而在接收到数据存取指令时,即查询映射表格中映射的指令集及存储格式,以存取第一类存储器或第二类存储器。其中,所述的指令集包括快取写入、双阶写入、特殊指令其中之一或其组合者,而存储格式则包括读取写入定时及错误检测校正冗余区域大小其中之一或其组合者。
本发明采用以单一控制器混合控制不同种类的闪存或区块寻址存储器的架构,藉由将所有存储器设定成兼容的格式,并在控制器中建立一个映射表格来记录各个存储器的数据存取格式、指令集及逻辑地址范围等信息,而能够解决硬件架构不兼容的问题,达到同时管理不同种类的闪存的目的。
为让本发明的上述和其它目的、特征和优点能更明显易懂,下文特举优先实施例,并配合所附图式,作详细说明如下。
附图说明
图1是依照本发明一实施例所绘示的多种存储器的管理系统方块图。
图2则是依照本发明一实施例所绘示的多种存储器的管理方法流程图。
图3则是依照本发明一实施例所绘示的多种存储器的管理方法流程图。
图4是依照本发明一实施例所绘示的存储器区块合并的示意图。
图5是依照本发明一实施例所绘示的多种存储器的管理系统方块图。
图6是依照本发明一实施例所绘示的多种存储器的管理方法流程图。
图7是依照本发明一实施例所绘示的控制器的方块图。
具体实施方式
由于各种闪存的硬件架构不尽相同,为了能够管理不同种类的闪存,势必得将所有的闪存设定成彼此兼容的格式,并预先存储这些设定,尔后在接收到数据存取指令时,即可藉由查询方式找到正确的数据存取位置及方式,在不同种类的闪存之间进行数据存取的动作。本发明即是采用上述概念所发展出来的一套多种存储器的管理方法、系统及控制器。为了使本发明的内容更为清楚明了,以下特举实施例作为本发明确实能够据以实施的依据。
图1是依照本发明一实施例所绘示的多种存储器的管理系统方块图。请参照图1,本实施例的管理系统100包括第一类存储器110、第二类存储器120及控制器130。其中,第一类存储器110及第二类存储器120例如是选自区块寻址存储器及单层存储单元闪存组合、区块寻址存储器及多层存储单元闪存组合、两个不同容量的单层存储单元闪存组合,以及两个不同容量的多层存储单元闪存组合其中之一。这些存储器可以是不同容量或不同厂牌的闪存、区块寻址(Block Address,BA)存储器,其中,区块寻址存储器是指一个包含有一控制器的存储器,该控制器及该存储器可在同一封包内,亦或可彼此独立。
控制器130是分别耦接至第一类存储器110及第二类存储器120,而用以根据数据存取指令所指示的逻辑地址辨识所对应的存储器,并根据逻辑地址及所辨识的存储器的种类,执行数据存取指令。
详细地说,当第一类存储器110及第二类存储器120为两个不同容量的单层存储单元闪存或多层存储单元闪存时,控制器130会先根据第一类存储器110及第二类存储器120的硬件架构,调整第一类存储器110及第二类存储器120的数据存取格式,使其每次进行数据存取时的存取单位为相同,调整后的数据存取格式将被存储起来以提供后续管理存储器之用。另一方面,当第一类存储器110及第二类存储器120中包括区块寻址存储器(即为区块寻址存储器及单层存储单元闪存组合、区块寻址存储器及多层存储单元闪存组合其中之一)时,控制器130则会分配一个逻辑地址范围给区块寻址存储器,以做为后续存取此区块寻址存储器的依据。详细的管理流程则在以下实施例中说明。
图2则是依照本发明一实施例所绘示的多种存储器的管理方法流程图。请参照图2,本实施例适用于前述实施例的管理系统架构,利用一个独立的控制器管理两种存储器的数据存取动作,而更可以扩展至两个以上存储器的管理,为方便说明,在此仅以两种存储器的情况举例说明。
首先,由控制器接收主机端传送而来的数据存取指令,其包括指示主机端所欲存取数据的逻辑地址(步骤S210),接着则辨识此逻辑地址所对应的存储器(步骤S220),最后再根据逻辑地址及所辨识的存储器的种类,在此存储器上执行数据存取指令(步骤S230)。其中,当控制器所管理的存储器种类不同时,其管理的方式亦有些许差异,以下则再各举一实施例详细说明。
图3则是依照本发明一实施例所绘示的多种存储器的管理方法流程图。请参照图3,本实施例适用于前述实施例的管理系统架构,利用一个独立的控制器管理两个不同容量的单层存储单元闪存或是两个多层存储单元闪存。
首先,控制器会根据各个存储器的硬件架构,调整这些存储器的数据存取格式,使其每次进行数据存取时的存取单位为相同(步骤S310),同时也建立一个映射(mapping)表格来记录这些调整后的数据存取格式(步骤S320)。详细而言,在管理不同种类的闪存时会碰到其页大小、区块大小、区块数目或程序次数不同的问题。其中,程序次数不同的问题可以采用最差的状态,也就是统一将所有存储器的程序次数(Number of Program,NOP)设定为1来解决。
对于存取单位(即页、区块或扇区)大小或数目不同的问题来说,则必需利用合并的方式,将存取单位较小的闪存扩充成兼容于存取单位较大的闪存。举例来说,若第一类存储器是以2k页做为存取单位,第二类存储器是以4k页来做为存取单位,则控制器就必须将第一类存储器的每两个2k页合并成一个4k页来管理。同理,若第一类存储器是以2k区块做为存取单位,第二类存储器是以4k区块来做为存取单位,则控制器就必须将第一类存储器的每两个2k区块合并成一个4k区块来管理。其中文中所述的2k页是指一个页(page)有2k+64bytes即2112bytes,4k页是指一个页(page)有4k+128bytes即4184bytes。
承上述,基本上合并的单位是以区块为主,而控制器会将所有闪存的区块(或虚拟区块)调整为相同大小,以方便管理。举例来说,图4是依照本发明一实施例所绘示的存储器区块合并的示意图。请参照图4,本实施例是藉由独立的控制器(未绘示)来管理不同容量的单层存储单元闪存410与单层存储单元闪存420的数据存取动作。其中,单层存储单元闪存410共有64个2k页(包括page0~page63),而单层存储单元闪存420则共有128个4k页(包括page0~page127)。
为了统一管理上述两种闪存,本实施例将单层存储单元闪存410中的两个2k页放在一起作为一个4k页来管理,例如将blcok0的page0和page1合并成一个4k页。另一方面,由于单层存储单元闪存410一区块的页数目较少,因此本实施例还包括将4个区块(包括block0~block3)合并,以兼容于单层存储单元闪存420的数据存取格式。如图4所示,其是将闪存410的4个区块,每个区块有64个2k页合并为一个128个4k页的区块。
在映射表格建立之后,控制器即可从主机端接收数据存取指令(步骤S330),而每当控制器接收到数据存取指令时,即可根据此数据存取指令的内容,查询映射表格以执行数据存取指令(步骤S340)。
值得注意的是,除了存取单位不同的问题外,不同的闪存在使用时还是会有一些不兼容的情况,例如有的闪存具有快取写入、双阶写入等特殊功能,且就算功能相同,在下命令(command)的方法上也有差别,所以还是需要利用表格来记录这些不相同的问题。
据此,本实施例的控制器可将快取写入、双阶写入、特殊指令等指令集,以及读取写入定时及错误检测校正冗余区域大小等存储格式记录在本身的存储单元中,而用以在接收到数据存取指令时,可立即查询到对应的指令集及存储格式,藉以存取存储器。
详细地说,控制器会记录每个区块对应到的闪存种类(type),而在写入或读取区块时,即会根据此区块所属的闪存种类去对应相同的指令、读取写入定时及错误检测校正冗余区域大小,如此可以解决硬件架构不同所衍生的问题。
举例来说,当混用存取单位为2k页与4k页的闪存时,每读取一笔4k页的数据只需要一次的读取指令就可以把4k的数据读出,但对于2k页的闪存来说,就必须将两个2k页合并成一个4k页来看待,因此在读取4k页的数据时就需要两次的读取指令才可以把4k页的数据读出。以上类似的情况皆需要记录在此存储器的种类中,才不致发生存取错误的情况。
值得一提的是,在此实施例中,由于控制器为将存取单位由原2k页改变为4k页,故在管理时,会将两个2k页合并为一个虚拟的4k页,但由于2k页的闪存在硬件架构上一个存取单位仍是2k页,故控制器为确认该存取指令是要执行在该虚拟的4k页中所包含的那一2k页,控制器会再建立一个子地址映射表格,藉此在存取单元在韧体管理与硬件架构不一致的状况下,仍可执行数据存取指令在一正确的地址。
藉由上述实施例的管理方法,本发明即可解决因存储器容量不同所造成的存取单位不兼容的问题,而同时管理多种不同容量或规格的闪存。
值得注意的是,在本发明的另一实施例中,当控制器所管理的存储器包括区块寻址存储器时,还必须另行分配逻辑地址,以提供控制器在接收到数据存取指令时,能够根据逻辑地址选择合适存储器来执行数据存取指令,以下则再举一实施例详细说明。
图5是依照本发明一实施例所绘示的多种存储器的管理系统方块图。请参照图5,本实施例的管理系统500包括第一类存储器510、第二类存储器520及控制器530。其中,第一类存储器510为单层存储单元闪存,而第二类存储器520则为区块寻址存储器。
由于区块寻址存储器本身即包括一个控制器来管理其中的存储器,因此本实施例的第二类存储器520中除了存储器主体521之外,还包括逻辑寻址控制器522。其中,存储器主体521例如是一个多层存储单元闪存或单层存储单元闪存,其包括可用以存储数据的多个区块。
逻辑寻址控制器522中预先建立有一个逻辑地址映射表格,其中记录了存储器主体521中各个区块映射的逻辑地址。因此,每当逻辑寻址控制器522接收到数据存取指令时,即可藉由查询逻辑地址映射表格,找寻所欲读取或写入数据的位置,藉以管理区块寻址存储器的各个区块的数据存取动作。
另一方面,控制器530还包括分配一个逻辑地址范围给第二类存储器520(即区块寻址存储器),以做为存取第二类存储器520的依据。举例来说,当控制器530接收到逻辑地址为0~10000扇区(sector)的数据写入指令,就会直接将数据写入区块寻址存储器。针对上述管理系统500的架构,以下则再举一实施例说明其对应的管理方法的详细步骤。
图6是依照本发明一实施例所绘示的多种存储器的管理方法流程图。请参照图6,本实施例适用于前述实施例的管理系统架构,利用独立的控制器管理至少两种存储器的数据存取动作,且这些存储器中至少包括一个区块寻址存储器。同样地,为方便说明,在此仅以两种存储器(即闪存与区块寻址存储器)的情况举例说明。
首先,控制器根据各个存储器的硬件架构,分配一段逻辑地址范围给区块寻址存储器,以做为存取该区块寻址存储器的依据(S610)。也就是说,若分配给区块寻址存储器的逻辑地址的范围为0~10000扇区,则之后接收到逻辑值落于此范围内的数据存取指令时,即代表要存取区块寻址存储器,此时即可将数据存取指令直接送到区块寻址存储器中执行。
接着再根据各个存储器的硬件架构,建立一个映射表格来记录上述的逻辑地址范围,同时也记录闪存对应的快取写入、双阶写入、特殊指令等指令集,以及读取写入定时及错误检测校正冗余区域大小等存储格式(步骤S620)。其中,值得说明的是,该映射表格可在控制器出厂前,即内建在控制器中的一记忆单元。
每当控制器接收到数据存取指令(步骤S630)时,即可由其逻辑地址判断出所欲存取的存储器的种类(步骤S640)。若判断所欲存取的存储器的种类为闪存时,则选择该闪存对应的指令集及存储格式,例如存取指令、读取写入定时及错误检测校正冗余区域大小等,以在闪存上执行数据存取指令(步骤S650)。
另一方面,若判断所欲存取的存储器为区块寻址存储器时,控制器即会将数据存取指令及其对应的数据传送至区块寻址存储器,而交由区块寻址存储器本身的逻辑寻址控制器来执行数据存取指令(步骤S660)。
举例来说,若数据存取指令中指定将数据写入某个区块时,则控制器就会到映射表格中找寻此区块所对应的存储器种类,而将数据送至该存储器以进行写入动作。同时,控制器也会从映射表格中找出所有与此存储器种类相关的信息,例如前述的快取写入、双阶写入、特殊指令等指令集,以及读取写入定时及错误检测校正冗余区域大小等存储格式。据此,控制器才能够正确无误地执行写入动作,而解决硬件架构不同所造成的问题。
值得一提的是,在本实施例的架构中,区块寻址存储器本身的逻辑寻址控制器即记录有该存储器相关的指令集及存储格式,例如其错误检测校正冗余区域大小。因此,本发明的控制器就不需要重复记录这些信息,仅需记录其它存储器(即闪存)的指令集及存储格式,以及区块寻址存储器对应的逻辑地址的范围即可。同理,若控制器连接两个以上的区块寻址存储器,亦可由控制器给予对应的逻辑地址的范围,藉以做为将来存取数据的依据。
根据上述多种存储器的管理架构及方法流程,本发明还包括提供一种控制器,用以执行上述的管理方法。图6是依照本发明一实施例所绘示的控制器的方块图。请参照图7,本实施例的控制器700是用以管理多种存储器的数据存取动作,其包括微处理单元710、主机连结接口720、第一存储器连结接口730、第二存储器连结接口740及存储器管理模块750。
微处理单元710例如是一个微处理器(Microprocessor),而用以控制控制器700的整体运作。主机连结接口720是用以提供控制器700连接至外部主机端的接口,而第一存储器连结接口730及第二存储器连结接口640则分别耦接至微处理单元710,而用以提供控制器600连接至外部的第一存储器与第二存储器。
值得注意的是,存储器管理模块740是与微处理单元610相连接,而能够透过微处理单元710来管理第一类存储器与第二类存储器的数据存取动作。详细地说,当微处理单元710透过主机连结接口720接收到由主机端发出的数据存取指令时,存储器管理模块740即会根据此数据存取指令的内容,在映射表格中查询映射的数据存取格式、指令集、规格及逻辑地址范围等数据,以执行数据存取指令,详细的管理流程已在前述实施例中说明,故在此不再赘述。
综上所述,本发明的多种存储器的管理方法、系统及控制器利用独立的控制器混合控制不同种类的闪存或区块寻址存储器,藉由将所有存储器设定成兼容的格式,并记录各个存储器的数据存取格式、指令集、规格及逻辑地址范围等信息,而能够解决硬件架构不兼容的问题,达到同时管理不同种类的闪存的目的。
虽然本发明已以优先实施例揭露如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视后附的申请专利范围所界定者为准。
Claims (20)
1.一种多种存储器的管理方法,适于管理一存储器模块,该存储器模块包含至少两种存储器,其中该些存储器选自一区块寻址存储器及一单层存储单元闪存组合、一区块寻址存储器及一多层存储单元闪存组合、具有第一容量及第二容量的单层存储单元闪存组合,以及具有第三容量及第四容量的多层存储单元闪存组合其中之一,其中该第一容量不等于该第二容量,而该第三容量不等于该第四容量,该管理方法包括下列步骤:
接收一数据存取指令,其包括指示所欲存取数据的一逻辑地址;
辨识该逻辑地址所对应的该存储器;以及
根据该逻辑地址及所辨识的该存储器的种类,执行该数据存取指令于该存储器,并且
其中,当该存储器模块为具有该第一容量及该第二容量的单层存储单元闪存组合,以及具有该第三容量及该第四容量的多层存储单元闪存组合其中之一时,在接收该数据存取指令的步骤之前,还包括:根据该些存储器的硬件架构,调整该些存储器的一数据存取格式,使其每次进行数据存取时的一存取单位为相同。
2.如权利要求1所述的多种存储器的管理方法,其中在调整该些存储器的该数据存取格式的步骤之后,还包括:
建立一映射表格以记录各该些存储器调整后的该数据存取格式;以及
根据该数据存取指令,查询该映射表格以执行该数据存取指令。
3.如权利要求1所述的多种存储器的管理方法,其中调整该些存储器的该数据存取格式,使其每次进行数据存取时的该存取单位为相同的步骤包括:
将该存取单位较小的该存储器利用合并的方式扩充成兼容于该存取单位较大的该存储器。
4.如权利要求3所述的多种存储器的管理方法,其中将该存取单位较小的该存储器利用合并的方式扩充成兼容于该存取单位较大的该存储器的步骤包括:
当该些存储器的该存取单位包括2k页及4k页时,合并两个2k页为一个4k页来管理该存取单位为2k页的该存储器。
5.如权利要求1所述的多种存储器的管理方法,其中当该些存储器包括一区块寻址存储器时,还包括:
分配一逻辑地址范围给该区块寻址存储器,以做为存取该区块寻址存储器的依据。
6.如权利要求1所述的多种存储器的管理方法,其中调整该些存储器的该数据存取格式,使其每次进行数据存取时的该存取单位为相同的步骤包括:
统一设定该些存储器的程序次数(Number of Program,NOP)为1。
7.如权利要求1所述的多种存储器的管理方法,还包括:
记录各该些存储器的一指令集及一存储格式;以及
在接收到该数据存取指令时,查询对应的该指令集及该存储格式,以存取该些存储器。
8.如权利要求7所述的多种存储器的管理方法,其中该指令集包括快取写入(cache write)、双阶写入(two plane write)、特殊指令(special command)其中之一或其组合者,而该存储格式则包括读取写入定时(R/W timing)及错误检测校正(Error Checking and Correction,ECC)冗余(redundancy)区域大小其中之一或其组合者。
9.一种多种存储器的管理系统,包括:
第一类存储器;
第二类存储器,其中该第一类存储器及该第二类存储器选自一区块寻址存储器及一单层存储单元闪存组合、一区块寻址存储器及一多层存储单元闪存组合、具有第一容量及第二容量的单层存储单元闪存组合,以及具有第三容量及第四容量的多层存储单元闪存组合其中之一,其中该第一容量不等于该第二容量,而该第三容量不等于该第四容量;以及
一控制器,分别耦接至该第一类存储器及该第二类存储器,用以根据一数据存取指令所指示的一逻辑地址辨识所对应的存储器,并根据该逻辑地址及所辨识的存储器的种类,执行该数据存取指令,并且
其中,当该存储器模块为具有该第一容量及该第二容量的单层存储单元闪存组合,以及具有该第三容量及该第四容量的多层存储单元闪存组合其中之一时,该控制器还包括:根据该第一类存储器及该第二类存储器的硬件架构,调整该第一类存储器及该第二类存储器的一数据存取格式,使其每次进行数据存取时的一存取单位为相同。
10.如权利要求9所述的多种存储器的管理系统,其中该控制器还包括:
建立一映射表格以记录各该些存储器调整后的该数据存取格式,并根据该数据存取指令,查询该映射表格以执行该数据存取指令。
11.如权利要求9所述的多种存储器的管理系统,其中当该第一类存储器与该第二类存储器中包括该区块寻址存储器时,区块寻址存储器包括:
一存储器主体,包括多个区块,用以存储数据;以及
一逻辑寻址控制器,用以根据一逻辑地址映射(mapping)表格中记录的各个区块映射的一逻辑地址,以管理该些区块的数据存取动作。
12.如权利要求11所述的多种存储器的管理系统,其中该逻辑寻址控制器包括根据该逻辑地址映射表格找寻该存储器主体中对应于该逻辑地址的一区块群组,该区块群组包含多个区块,再根据一子逻辑地址映射表格找寻该区块群组中对应于该逻辑地址的该区块,以执行该数据存取指令。
13.如权利要求9所述的多种存储器的管理系统,其中当该第一类存储器与该第二类存储器中包括该区块寻址存储器时,该控制器还包括分配一逻辑地址范围给该区块寻址存储器,以做为存取该区块寻址存储器的依据。
14.如权利要求9所述的多种存储器的管理系统,其中该控制器包括将该存取单位较小的存储器利用合并的方式扩充成兼容于该存取单位较大的存储器。
15.如权利要求9所述的多种存储器的管理系统,其中该控制器还包括记录该第一类存储器与该第二类存储器的一指令集及一存储格式在该映射表格,而在接收到该数据存取指令时,查询该映射表格中映射的该指令集及存储格式,以存取该第一类存储器或该第二类存储器。
16.如权利要求9所述的多种存储器的管理系统,其中该第一类存储器与该第二类存储器的脚位与闪存相同。
17.一种控制器,包括:
一微处理单元,用以控制该控制器的整体运作;
一主机连结接口,耦接至一主机端及该微处理单元;
第一存储器连结接口,耦接至第一类存储器及该微处理单元;
第二存储器连结接口,耦接至第二类存储器及该微处理单元,其中该第一类存储器及该第二类存储器选自一区块寻址存储器及一单层存储单元闪存组合、一区块寻址存储器及一多层存储单元闪存组合、具有第一容量及第二容量的单层存储单元闪存组合,以及具有第三容量及第四容量的多层存储单元闪存组合其中之一,其中该第一容量不等于该第二容量,而该第三容量不等于该第四容量;以及
一存储器管理模块,耦接至该微处理单元,用以透过该微处理单元管理该第一类存储器与该第二类存储器的数据存取动作,其中
该存储器管理模块包括根据一数据存取指令所指示的一逻辑地址辨识所对应的存储器,并根据该逻辑地址及所辨识的存储器的种类,执行该数据存取指令,并且
其中,当该第一类存储器及该第二类存储器为具有该第一容量及该第二容量的单层存储单元闪存组合,以及具有该第三容量及该第四容量的多层存储单元闪存组合其中之一时,该存储器管理模块还包括:根据该第一类存储器及该第二类存储器的硬件架构,调整该第一类存储器及该第二类存储器的一数据存取格式,使其每次进行数据存取时的一存取单位为相同。
18.如权利要求17所述的控制器,其中该存储器管理模块还包括:
建立一映射表格以记录各该些存储器调整后的该数据存取格式,并根据该数据存取指令,查询该映射表格以执行该数据存取指令。
19.如权利要求17所述的控制器,其中当该第一类存储器与该第二类存储器中包括该区块寻址存储器时,该存储器管理模块还包括分配一逻辑地址范围给该区块寻址存储器,以做为存取该区块寻址存储器的依据。
20.如权利要求17所述的控制器,其中该存储器管理模块包括将该存取单位较小的存储器利用合并的方式扩充成兼容于该存取单位较大的存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101093440A CN101593156B (zh) | 2008-05-28 | 2008-05-28 | 多种存储器的管理方法、系统及控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101093440A CN101593156B (zh) | 2008-05-28 | 2008-05-28 | 多种存储器的管理方法、系统及控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101593156A CN101593156A (zh) | 2009-12-02 |
CN101593156B true CN101593156B (zh) | 2011-09-21 |
Family
ID=41407820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101093440A Active CN101593156B (zh) | 2008-05-28 | 2008-05-28 | 多种存储器的管理方法、系统及控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101593156B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193870B (zh) * | 2010-03-09 | 2014-06-25 | 群联电子股份有限公司 | 存储器管理与写入方法、存储器控制器与存储器存储系统 |
CN103198020B (zh) * | 2013-03-18 | 2016-05-25 | 山东华芯半导体有限公司 | 一种提高闪存使用寿命的方法 |
AU2014399975B2 (en) * | 2014-07-01 | 2020-11-12 | Razer (Asia-Pacific) Pte. Ltd | Data storage systems, computing systems, methods for controlling a data storage system, and methods for controlling a computing system |
CN104793900A (zh) * | 2015-02-10 | 2015-07-22 | 北京君正集成电路股份有限公司 | 一种对nand进行操作的方法及装置 |
CN111679787B (zh) | 2016-04-27 | 2023-07-18 | 慧荣科技股份有限公司 | 闪存装置、闪存控制器及闪存存储管理方法 |
US10289487B2 (en) | 2016-04-27 | 2019-05-14 | Silicon Motion Inc. | Method for accessing flash memory module and associated flash memory controller and memory device |
CN107391026B (zh) | 2016-04-27 | 2020-06-02 | 慧荣科技股份有限公司 | 闪存装置及闪存存储管理方法 |
CN107391296B (zh) | 2016-04-27 | 2020-11-06 | 慧荣科技股份有限公司 | 存取闪存模块的方法及相关的闪存控制器与记忆装置 |
US10019314B2 (en) | 2016-04-27 | 2018-07-10 | Silicon Motion Inc. | Flash memory apparatus and storage management method for flash memory |
TWI653538B (zh) * | 2017-11-13 | 2019-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置與記憶體裝置之資料處理方法 |
US20200151119A1 (en) * | 2018-11-08 | 2020-05-14 | Silicon Motion, Inc. | Method and apparatus for performing access control between host device and memory device |
CN111367465A (zh) * | 2018-12-26 | 2020-07-03 | 深圳市江波龙电子股份有限公司 | 一种存储设备的控制方法及存储设备、电子设备 |
CN111391512B (zh) * | 2020-05-15 | 2021-09-07 | 珠海艾派克微电子有限公司 | 耗材芯片及耗材 |
CN111880733B (zh) * | 2020-07-24 | 2022-03-29 | 长江存储科技有限责任公司 | 三维存储器件、三维存储器及其操作方法和三维存储器系统 |
CN116431218B (zh) * | 2023-05-10 | 2024-01-26 | 灵动微电子(苏州)有限公司 | 一种可兼容的芯片存储器控制方法、系统和控制器 |
-
2008
- 2008-05-28 CN CN2008101093440A patent/CN101593156B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101593156A (zh) | 2009-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101593156B (zh) | 多种存储器的管理方法、系统及控制器 | |
US8001317B2 (en) | Data writing method for non-volatile memory and controller using the same | |
US8060686B2 (en) | Method, apparatus and controller for managing memories | |
US8606987B2 (en) | Data writing method for flash memory and controller using the same | |
US8131911B2 (en) | Data writing method, and flash storage system and controller using the same | |
CN101644995B (zh) | 多层控制多闪存装置、存储装置和数据分割固态硬盘 | |
US8583860B2 (en) | Block management method for flash memory and controller and storage system using the same | |
US20100057979A1 (en) | Data transmission method for flash memory and flash memory storage system and controller using the same | |
US8769192B2 (en) | Data read method for a plurality of host read commands, and flash memory controller and storage system using the same | |
US8806151B2 (en) | Multipage preparation commands for non-volatile memory systems | |
CN101576853B (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 | |
US9037814B2 (en) | Flash memory management method and flash memory controller and storage system using the same | |
CN107273058A (zh) | 逻辑地址偏移 | |
CN102292711A (zh) | 固态存储器格式化 | |
CN101571832A (zh) | 数据写入方法及使用该方法的快闪存储系统与其控制器 | |
US8074128B2 (en) | Block management and replacement method, flash memory storage system and controller using the same | |
US20150058531A1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
CN101625897A (zh) | 用于快闪存储器的数据写入方法、储存系统与控制器 | |
US20100274949A1 (en) | Data access method for flash memory and storage system and controller using the same | |
US20100325344A1 (en) | Data writing method for flash memory and control circuit and storage system using the same | |
CN102999437A (zh) | 数据搬移方法、存储器控制器与存储器储存装置 | |
CN102543184B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN101566969B (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 |