首页 / 用于储存装置以进行储存管理的方法及控制单元与相关储存装置

用于储存装置以进行储存管理的方法及控制单元与相关储存装置无效专利 发明

技术领域

[0001] 本发明是关于数据储存,尤指一种用于储存装置(例如固态硬盘)以进行储存管理的方法及控制单元与相关储存装置。

相关背景技术

[0002] 时至今日,固态硬盘(solid state disk,SSD)已广泛地使用在个人电脑或便携式电脑中,其是由快闪存储器所组成的储存装置,并且定位近似于传统硬盘的大容量储存装置。随着组成固态硬盘的快闪存储器种类的不同,固态硬盘的效能与成本亦不同,大略来说,固态硬盘所使用的快闪存储器主要包含单层式储存结构(single-levelcell,SLC)与多层式储存结构(multi-level cell,MLC)两种,而这两种不同结构的快闪存储器又分别在效能与成本上各擅其场,其中单层式储存快闪存储器具有较佳的读写速率以及较长的平均寿命,而多层式储存快闪存储器的成本则相对低廉。
[0003] 因此,为了能提供一种成本与效能表现兼顾的固态硬盘,制造商推出了一种折衷方案,其是同时包含单层式储存快闪存储器与多层式储存快闪存储器的混合式固态硬盘(Hybrid SSD)。然而,在当前现有的技术中,尚未对于这种混合式固态硬盘提出妥善且高效能的数据储存配置方式,因此在混合式固态硬盘的领域中,仍有亟待解决的问题。 发明内容
[0004] 本发明为解决现有技术不足的处,便提供一种用以对混合式固态硬盘进行储存管理的方法与控制单元以及具备储存管理功能的混合式固态硬盘。
[0005] 由于在成本考量下,通常选用较多的多层式储存快闪存储器单元来组成固态硬盘,故相对而言,单层式储存结构的快闪存储器所提供的储存空间较小,因此如何妥善利用两者所能提供的储存空间便成了一个重要的课题。本发明的主要概念为:依据数据的连续性以及使用频率来对每一笔数据的储存空间进行规划。举例来 说,将连续的数据写入读取速度较慢的多层式储存快闪存储器,而不连续的数据则写入读取速度较快的单层式储存快闪存储器,以平衡数据连续与否于读取上所造成的速度差异。再者,从数据区块的更新频率来观察其中数据内容的使用频率,并进一步将存取较为频繁的数据搬移至读写速度较快的单层式储存快闪存储器中来储存,进而提升混合式固态硬盘的整体读写效能。 [0006] 因此,本发明一方面提供一种用于一储存装置以进行储存管理的方法,其中,该储存装置包含有一第一储存单元与一第二储存单元,且该方法包含有:将一输入数据储存于该第一储存单元;以及于该输入数据写入该第一储存单元的过程中,检查该输入数据是否具有连续性,其中若该输入数据具有连续性,则仍将该输入数据中尚未写入该第一储存单元的部分数据储存于该第一储存单元,以及若该数据不具有连续性,则将该输入数据中尚未写入该第一储存单元的部分数据储存于该第二储存单元。
[0007] 较佳者,该第一储存单元与该第二储存单元分别包含有多个区块,以及该方法另包含有:当该第一储存单元中的一第一特定区块中所储存的一第一储存数据欲与该第一储存单元中一第二特定区块中所储存的一第二储存数据合并(merge)写入于一第三特定区块时,依据该第一储存数据是否具连续性来决定自该第一储存单元或该第二储存单元中选出一区块以作为该第三特定区块。
[0008] 较佳者,依据该第一储存数据是否具连续性来决定自该第一储存单元或该第二储存单元中选出该区块以作为该第三特定区块的步骤包含有:当该第一储存数据不具连续性时,自该第二储存单元中选该区块以作为该第三特定区块;以及当该第一储存数据具连续性时,自该第一储存单元中选出该区块以作为该第三特定区块。
[0009] 较佳者,第一储存单元与该第二储存单元分别包含有多个区块,以及该方法另包含有:于该第二储存单元中的一第一特定区块进行一区块调整操作时,则依据对应于该第一特定区块的使用状态的一特定条件来决定是否将该第一特定区块所储存的储存数据转由该第一储存单元中一第二特定区块来加以储存。
[0010] 本发明另一方面提供一种用于一储存装置以进行储存管理的控制单元,其中,该储存装置包含有一第一储存单元与一第二储存单元,且该控制单元包含有:一第一处理电路以及一第二处理电路。该第一处理电路用以控制该储存装置的数据储存。该第二处理电路用以于该第一处理电路将一输入数据写入该第一储存单元的过程中,检查该输入数据是否具有连续性,其中若该第二处理电路判断该输入数据具有连续性,则该第一处理电路仍将该输入数据中尚未写入该第一储存单元的部分数 据储存于该第一储存单元,以及若该第二处理电路判断该输入数据不具有连续性,则该第一处理电路将该输入数据中尚未写入该第一储存单元的部分数据储存于该第二储存单元。
[0011] 较佳者,该第一储存单元与该第二储存单元分别包含有多个区块,以及当该第一处理电路另于将该第一储存单元中的一第一特定区块中所储存的一第一储存数据与该第一储存单元中一第二特定区块中所储存的一第二储存数据合并(merge)写入于一第三特定区块时,依据该第一储存数据是否具有连续性来决定自该第一储存单元或该第二储存单元中选出一区块以作为该第三特定区块。
[0012] 较佳者,当该第一储存数据不具有连续性时,该第一处理电路自该第二储存单元中选该区块以作为该第三特定区块;以及当该第一储存数据具有连续性时,该第一处理电路自该第一储存单元中选出该区块以作为该第三特定区块。
[0013] 较佳者,该第一储存单元与该第二储存单元分别包含有多个区块,以及该第一处理电路另于对该第二储存单元中的一第一特定区块进行一区块调整操作时,依据对应于该第一特定区块的使用状态的一特定条件来决定是否将该第一特定区块所储存的储存数据转由该第一储存单元中一第二特定区块来加以储存。
[0014] 本发明又一方面提供一种可进行储存管理的储存装置,包含有:一第一储存单元、一第二储存单元以及一控制单元。该控制单元包含有一第一处理电路与一第二处理电路。该第一处理电路用以控制该储存装置的数据储存,以及该第二处理电路于该第一处理电路将一输入数据写入该第一储存单元的过程中,检查该输入数据是否具连续性,其中若该第二处理电路判断该输入数据具有连续性,则该第一处理电路仍将该输入数据中尚未写入该第一储存单元的部分数据储存于该第一储存单元,以及若该第二处理电路判断该输入数据不具有连续性,则该第一处理电路将该输入数据中尚未写入该第一储存单元的部分数据储存于该第二储存单元。
[0015] 较佳者,该第一储存单元与该第二储存单元分别包含有多个区块,以及该第一处理电路于该第一储存单元中的一第一特定区块中所储存的一第一储存数据欲与该第一储存单元中一第二特定区块中所储存的一第二储存数据合并(merge)写入于一第三特定区块时,依据该第一储存数据是否具连续性来决定自该第一储存单元或该第二储存单元中选出一区块以作为该第三特定区块。
[0016] 较佳者,该第一处理电路于该第一储存数据不具连续性时,自该第二储存单元中选该区块以作为该第三特定区块;以及该第一处理电路于该第一储存数据具连续性时,自该第一储存单元中选出该区块以作为该第三特定区块。
[0017] 较佳者,该第一储存单元与该第二储存单元分别包含有多个区块,以及该第一处理电路于该第二储存单元中的一第一特定区块进行一区块调整操作时,依据对应于该第一特定区块的使用状态的一特定条件来决定是否将该第一特定区块所储存的储存数据转由该第一储存单元中一第二特定区块来加以储存。

具体实施方式

[0020] 请参考图1,其是本发明储存管理方法的一实施例的流程图,图标中每一步骤分别说明了本发明方法如何决定将自一主机(未示出)所输出的输入数据储存于一储存装置中的一第一储存单元(例如MLC快闪存储器)或一第二储存单元(例如SLC快闪存储器)。首先,于步骤110中,会先预设性地将一输入数据储存于该第一储存单元中,接着,在步骤120中,在该输入数据中的每一区段数据(sector data)依序写入该第一储存单元的过程中,会检视该输入数据是否具有连续性(如:其中每一区段/块数据间所对应的逻辑地址是否具有连续性),进而决定是否要将后续尚未写入至该第一储存单元的部分数据继续地写入该第一储存单元,或者转而写入该第二储存单元。举例来说,若该输入数据中未写入的部分具有连续性,则仍将未写入的部分数据储存于该第一储存单元;反之,若该输入数据中未写入的部分不具有连续性,则将未写入的部分数据储存于该第二储存单元。由此可知,本发明的储存管理方法的首要概念即是将具有连续逻辑地址的数据写入于多层式储存快闪存储器中,而将不具有连续性的数据写入于单层式储存快闪存储器中,以充分利用多层式储存结构与单层式储存结构的读写速度的差异来弥补数据连续与否于读写效能上所带来的落差。然而,在本发明的另一实施例中,亦可预设将该输入数据写入于该第二储存单元中,之后再依据数据的连续性来决定是否继续将后续部份数据写入该第二储存单元或转而写入该第一储存单元。由于以上的两种不同实施方式,最终的目的皆可达成将具有连续逻辑地址的数据写入于该第一储存单元(例如MLC快闪存储器),而将不具有地址连续性的数据写入该第二储存单元(例如SLC快闪存储器),因此皆属本发明的范畴。
[0021] 于本实施例中,该第一与该第二储存单元中所有可用的储存空间将被划分为 包含多个数据区块(data block)的储存空间与包含多个记录区块(log block)的储存空间。而在数据写入的过程中,每一笔数据会先储存于一数据区块中,但当后续的写入数据是用以更新该笔数据时,会将更新的数据内容写入于该数据区块所对应的记录区块中,依此,在该储存装置历经一段时间的数据写入后,会建立数据区块与记录区块间的对应关系,此一对应关系的建立是与储存数据的逻辑地址与实体地址间的转换有关,其是本发明相关领域的技术人士所熟知的基础知识,为求说明书的简要,在此不多作赘述。简言之,该输入数据写入储存单元的过程中,不能被写入数据区块,而是被写入记录区块中,因此,当记录区块的有限空间不足以储存新的输入数据时(区块数目不足),此时会将数据区块与其相对应的记录区块所储存的数据合并(merge),成为新的数据区块,取代原数据区块,而原数据区块与记录区块即可抹除,以便能继续写入新的输入数据。
[0022] 因此,在步骤130中,本发明的方法会依据欲合并的记录区块中所储存的数据所对应的逻辑地址是否具有连续性,来决定合并后的数据内容要写入于该第一或该第二储存单元中的数据区块,举例来说,若该第二储存单元的一记录区块欲与该第二储存单元中其所对应的一数据区块进行合并,并且该记录区块所储存的数据具有连续性,则会在该第一储存单元中找寻一个可用的数据区块来储存合并后的数据;另一方面,若该第一储存单元中一记录区块欲与其对应的一数据区块进行合并,且该记录区块中所储存的数据不具有连续性,则会在该第二储存单元中找寻一个可用的数据区块来储存合并后的数据。简而言之,若记录区块中的数据具有连续性,则由该第一储存单元中找寻数据区块来储存合并后数据,若记录区块中的数据不具有连续性,则由该第二储存单元中找寻数据区块来储存合并后数据,至于记录区块位于哪一个储存单元中并不影响合并后数据区块的找寻。由步骤110~130的操作可知,本发明的方法主要在于确保连续的数据尽可能地储存于该第一储存单元,而非连续的数据则尽可能地储存于该第二储存单元。因此,通过上述步骤的处理,分别将输入数据的每一部份妥善地就其逻辑地址连续性而储存在该第一储存单元与该第二储存单元中,从而对输入数据的连续性做了完整的归类。
[0023] 接着,当储存装置中所储存的数据历经多次更新与读取的过程后,本发明会再度依据数据本身的使用频率来调整数据于储存装置中所储存的位置,举例来说,储存于数据区块中的一储存数据,会依据该数据区块的存取次数来决定是否将该储存数据自该第二储存单元的一数据区块搬移至该第一储存单元的一数据区块来储存,此即为本发明的第二个重要概念:进行一调整操作以针对数据的使用频率来决 定其储存位置。 [0024] 为了避免上述的调整操作对储存装置中的控制单元带来太多额外的运算负担,因此,此一调整操作是利用控制单元进行静态耗损平均(static wear-leveling)操作的时机来一并进行。举例来说,若某一数据区块满足进行静态耗损平均操作的条件时(如该数据区块的抹除次数(erase count)大于所有数据区块的平均抹除次数),此时静态耗损平均操作会从所有的数据区块中找寻一个适合的数据区块来替代原本的数据区块,亦即将原本数据区块中所储存的数据搬移至替代的数据区块。
[0025] 当静态耗损平均操作因满足上述条件而触发时,本发明的调整操作会顺便利用这个时机来检查欲搬移的数据所在的数据区块的使用频率或存取次数,进而决定于静态耗损平均操作中,选择作为替代区块的数据区块是位于该第一储存单元中或该第二储存单元中。因此,在步骤140中,检查欲进行静态耗损平均操作的该第二储存单元中的数据区块所对应的使用频率是否大于一预定值,若是,则自该第二储存单元中找寻一替代数据区块来储存该数据区块所储存的数据;若否,则自该第一储存单元中找寻一替代数据区块来储存该数据区块所储存的数据。通过这样的调整操作,可以进一步就数据的使用频率来调整数据存放的空间,如此一来,将使用较为频繁的数据搬移至该具有较高读写速度的第二储存单元中,更能提高储存装置的读写效能。另一方面来说,由于该第二储存单元的使用寿命相对长于该第一储存单元,因此,将使用频繁的数据存放该第二储存单元中,亦可降低该储存装置的故障风险,并提升可靠性。此外,应该特别注意的是,尽管上述实施例仅说明于该第二储存单元中的数据区块进行静态耗损平均操作时,依据数据使用频率进行的储存数据的位置调整,但本发明相关领域的技术人士应可在阅读本说明书之后,将调整操作的目标推广至该储存装置中所有的数据区块,如此的设计变化亦属本发明的范畴。 [0026] 根据上述的储存管理方法所提供的概念,本发明以此为基础,进一步提供具备储存管理功能的储存装置与控制单元。请参考图2,其是依据本发明储存装置的一实施例所绘制的功能方块示意图。如图所示,储存装置200包含有一第一储存单元210、一第二储存单元220以及一控制单元230。于本实施例中,储存装置200是一混合式固态硬盘,而第一储存单元210是一多层式储存快闪存储器单元,以及第二储存单元220是一单层式储存快闪存储器单元,其中第一储存单元210包含有多个数据区块DB1与多个记录区块LB1,而第二储存单元220则包含有多个数据区块DB2与多个记录区块LB2。如图所示,控制单元230包含有一第一处理电路 231、一第二处理电路232与一数据寄存器233,请注意,本实施例中,数据寄存器233是内建于控制单元230中,然而,于其它实施方式中,数据寄存器233亦可外接于控制单元230或者整合于第一处理电路231中。储存装置200耦接至一主机222,并依据主机222所发送的命令、地址与数据来进行数据写入与读取。当主机222欲将一输入数据DATA_IN写入储存装置200时,输入数据DATA_IN会先暂存于数据寄存器233中,再依序被第一处理电路231写入至第一储存单元210或第二储存单元220。于本发明的一实施例中,第一处理电路231一开始时预设将输入数据DATA_IN写入于第一储存单元210,而第二处理电路232会在输入数据DATA_IN写入第一储存单元210的过程中,检查输入数据DATA_IN的连续性,以决定第一处理电路231是否将输入数据DATA中尚未写入第一储存单元210的部份继续写入第一储存单元210,抑或是转而写入第二储存单元220。至此,控制单元230已完成针对数据连续性的初步分类。
[0027] 接着,在主机222反复更新储存装置200中所储存的数据的过程中,控制单元230并不会直接修改数据区块DB1或DB2的数据内容,而是会将更新的数据内容写入于记录区块LB1或LB2中,并将每一笔对应关系记录于数据寄存器233中。当记录区块LB1或LB2的可用数目不足时,控制单元230中的第一处理电路231便会进行区块合并的动作,以依据数据寄存器233中所记载的对应关系将记录区块与相对应的数据区块两者中的数据内容合并,并在第一储存单元210或第二储存单元220中,找寻一个可写入的数据区块写入合并后的数据内容,以取代原本的数据区块内容,并且抹除原本的数据区块与记录区块数据内容以供后续写入的用。在可写入的数据区块找寻的过程中,第一处理电路231会依据记录区块中的数据间是否具有地址连续性,来决定从哪一个储存单元中找寻可写入的数据区块。当记录区块中的数据具有连续性时,则自第一储存单元210中找寻该数据区块;反之,则自第二储存单元220中找寻该数据区块。因此,通过这个步骤,储存装置200中的数据又再度依据数据连续性进行了更完善的分类。
[0028] 接着,当第一处理电路231欲对第二储存单元220中的一数据区块DB2执行一静态耗损平均操作时,会依据该数据区块DB2的存取次数或使用频率,来决定该数据区块DB2中的数据内容是否使用频繁。若该数据区块DB2的存取次数超过一预定值时,即代表其中的数据较常使用,将其继续存放于读写速度较快的第二储存单元220中有助于维持储存装置200的效能,因此自第二储存单元220中其它数据区块DB2中找寻一可用的数据区块来写入原本的数据内容;若该数据区块DB2 的存取次数未超过一预定值时,即代表原本的数据内容使用并不频繁,因此控制单元230会从第一储存单元210中的多个数据区块DB1中找寻一个可用的数据区块来写入原本的数据内容。是此,本发明的储存装置200可依据数据使用频率,更妥善地利用不同储存单元的优势,并且所储存的数据进行适当的管理,以提升混合式固态硬盘的读写效能及使用寿命。
[0029] 然而,必须特别注意的是,基于本发明的精神与概念,本发明的储存管理的方法与相关控制单元,并可进一步推广而适用于包含两种读写速度不同的快闪存储器的储存装置。换言之,依据上述的说明书内容可知,本发明的方法可解决两种不同储存单元的不同读写速度所带来的整体效能上的影响,因此,本发明的方法与控制单元应亦可毫无窒碍地适用于包含两种读写速度不同的快闪存储器的储存装置。举例来说,因为半导体工艺的微缩,快闪存储器可以缩小尺寸面积,但相对具有较慢的读写速度。因此,未来在混合式固态硬盘的设计趋势上,将来制造商可能选用同样为单层式储存结构或多层式储存结构的快闪存储器但其分别具有不同工艺,以组成混合式固态硬盘,但仍可通过本发明的方法及控制单元有效地进行储存管理。换句话说,本发明中的第一与第二储存单元可进一步推广为两种读写速度不一的快闪存储器或储存元件,更甚者,两种具有不同平均寿命的储存元件,亦可通过本发明的方法与控制单元,进行妥善的储存管理。
[0030] 以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

当前第1页 第1页 第2页 第3页