固态储存装置及其高速缓存的控制方法

文档序号:6436881阅读:215来源:国知局
专利名称:固态储存装置及其高速缓存的控制方法
技术领域
本发明是有关于ー种固态储存装置及其控制方法,且特别是有关于ー种固态储存装置及其高速缓存(cache memory)的控制方法。
背景技术
众所周知,固态储存装置(Solid State Drive, SSD)使用与非门闪存(NAND flashmemory)为主要存储元件,而此类的储存装置为ー种非挥发性(non-volatile)的存储器元件。也就是说,当资料写入闪存后,一旦系统电源关闭,资料仍保存在固态储存装置中。请參照图1,其所绘示为固态储存装置的示意图。固态储存装置10中包括ー控制单元101、高速缓存(cache memory) 107与ー闪存105。在固态储存装置10内部,控制单元101连接至与闪存105与高速缓存107,以控制闪存105与高速缓存107的资料存取。而在固态储存装置10外部,控制单元101利用一外部总线20与主机(host) 12之间进行指令与资料的传递。其中,外部总线20可为USB总线、IEEE 1394总线或SATA总线等等。再者,高速缓存107为ー个缓冲单元(buffering unit)用以暂时地储存写入资料以及读取资料。当固态储存装置10未接受电源时,高速缓存107中的资料将被删除,高速缓存107可为静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。一般来说,闪存105中包括许多区块(block),而每个区块中又包括多个页(page)或称为段(sector)。例如,一个区块中有64页,而姆个页的容量为8K bytes。再者,由于闪存105的特性,每次资料写入时是以页为最小単位,而每次擦除(erase)时则是以区块为単位进行资料擦除。由于闪存105的特性,当区块中某一特定页的资料需要被更改吋,控制单元101将无法直接修改该特定页中的资料,因此控制単元101需要将修改后的资料写在另一空白页,而将原来的特定页标示为无效页(invalid page),里面的资料则被视为无效资料(invalid data)。请參照图2,其所绘示为已知固态储装置进行资料更新时高速缓存的控制方法。其中,高速缓存中包括多个快取单元。当主机12需要更新闪存105中一特定页里的部分资料时,主机12会将更新资料传递至固态储存装置10,而控制单元101将更新资料暂存于高速缓存的第一快取单元中(步骤S210),其中更新资料对应于上述特定页里的部分原始资料。接着,控制单元101由闪存105中将储存于特定页里的原始资料暂存于高速缓存的第二快取単元(步骤S220)。接着,控制单元101组合第一快取单元内的更新资料以及第ニ快取单元内未被更新的原始资料,并将组合后的资料储存于闪存105中的一空白页(步骤S230)。接着,将第一快取单元与第二快取单元设定为无效快取单元(步骤S240)。以下以图3A至图3D的资料搬移范例来解释图2的控制流程。如图3A所示,假设闪存中第一区块(Block_l)中包括四个页?1、?2、?3、?4,第ー页?1中的资料包括D1、D2、D3,而第二页P2、第三页P3、第四页P4为空白页。再者,高速缓存107中至少包括ニ个空白的快取单元Cm、Cn。当主机12需要更新第一区块(Block_l)中第一页Pl里的部分资料(例如D2)吋,主机12会将更新资料D2’传递至固态储存装置10。如图3B的路径I所示,控制单元101将更新资料D2’暂存于第m快取単元Cm,其中更新资料D2’对应于第一页Pl里的部分资料D2。接着,如图3B的路径II所示,控制单元101由第一区块(Block_l)中将储存于第一页Pl中的原始资料D1、D2、D3暂存于第n快取单元Cn。接着,如图3C的路径III所示,控制单元101组合第m快取单元Cm内的更新资料D2’以及第n快取单元Cn内未被更新的资料01、03,并将组合后的资料01、02’、03储存于第ー区块(Block_l)中的一空白页(例如P3)。接着,控制单元将第m快取单元Cm与第n快取单元Cn设定为无效快取单元(斜线部分)。当然,控制单元101并不一定要写入第一区块(Block_l)中的第三页P3,也可以写到其它区块的空白页中。再者原第一页Pl也被设定成无效页(斜线部分)。由图3D可知,当控制单元101将组合后的资料Dl、D2’、D3写入第一区块(Block_l)的第三页P3后,第m快取单元Cm与第n快取单元Cn中的资料与第三页P3的资料并不相同,所以第m快取単元Cm与第n快取単元Cn中的资料无法再次被利用,因此将会被设定为无效资料。而控制単元101可适时地删除第m快取単元Cm与第n快取単元Cn中的资料。之后,假设主机12发出读取指令,欲读取第一区块(Block_l)的第三页P3吋,由于快取未命中(cache miss),所以控制单元101会读取第一区块(Block_l)的第三页P3资料D1、D2’、D3并暂存于快取单元中的另一空白快取单元(例如第p快取单元)中,接着将该第P快取单元中的资料D1、D2’、D3由快取单元传递至主机12。

发明内容
本发明提出ー种固态储存装置及其高速缓存的控制方法,可在更新闪存中的ー特定页时,控制高速缓存的资料配置方式,达成简化已知高速缓存的控制方法并增加快取命中(cache hit)率。本发明提出ー种固态储存装置的高速缓存控制方法,其中固态储存装置具有ー闪存,闪存具有多个区块,每一区块中具有多个页,其特征在于,包括下列步骤:接收一更新资料,并储存于ー第一快取単元,其中更新资料对应于闪存中ー特定页的部分原始资料;读取储存于特定页内的原始资料,并将未被更新的原始资料储存于第一快取单元,将欲被更新的原始资料储存于ー第二快取单元;以及将第一快取单元内的更新资料及未更新的原始资料储存于闪存中的一空白页。本发明提出ー种固态储存装置,其特征在于,该固态储存装置包含:ー闪存,该闪存中具有多个区块,每ー该区块中具有多个页;一高速缓存,包括多个快取単元,每个快取単元的大小等于闪存中的一个页的大小;以及ー控制单元,连接至该闪存与该高速缓存;其中,该控制单元接收一更新资料,该更新资料对应于储存于该闪存中的一特定页内的部分原始资料,并储存该更新资料于一第一快取単元;该控制单元读取该特定页内的该原始资料,并储存未被更新的该原始资料于该第一快取単元,储存欲被更新的该原始资料于一第二快取单元;以及该控制单元将该第一快取单元内的该更新资料及该未被更新的原始资料储存于该闪存中的一空白页,作为该特定页的一更新页。本发明提出ー种固态储存装置的高速缓存控制方法,其中该固态储存装置具有一闪存,且该闪存具有多个区块,每ー该区块中具有多个页,该高速缓存具有多个快取単元,其特征在于,包括下列步骤:接收一更新资料,并储存该更新资料于该高速缓存的一第一1决取単元;读取储存于该闪存中的一特定页内的一第一资料及一第二资料,其中该更新资料对应于该第二资料;储存该第一资料于该高速缓存中的该第一快取単元,且储存该第二资料于该高速缓存中的一第二快取単元;以及将该第一快取単元内的该更新资料及该第一资料储存于该闪存的一空白页。


为了对本发明的上述及其它方面有更佳的了解,下文特举较佳实施例并配合附图,作详细说明如下,其中:图1所绘示为固态储存装置的示意图。图2所绘示为已知固态储装置进行资料更新时高速缓存的控制方法。图3A至图3D所绘示为根据图2的控制流程的资料搬移范例。图4所绘示为本发明固态储装置进行资料更新时高速缓存的控制方法。图5A至图5E所绘示为根据图4的控制流程的资料搬移范例。
具体实施例方式请參照图4,其所绘示为本发明固态储装置中进行资料更新时的高速缓存控制方法。固态储存装置中包括一控制单元、一高速缓存与ー闪存,其中,闪存具有多个区块,每ー该区块中具有多个页,而高速缓存具有多个快取単元。由于固态储存装置的构造与第I图相同,因而不再赘述。当主机需要更新储存于闪存中一个页里的部分资料时,主机会将更新资料传递至固态储存装置,而控制単元则将更新资料暂存于高速缓存中的第一快取単元中,其中更新资料对应于闪存中ー特定页里的部分资料(步骤S410)。接着,控制单元由闪存中读取储存于特定页中的原始资料,并将未被更新的原始资料储存于第一快取单元中,而将欲被更新的原始资料储存于第二快取单元(步骤S420)。接着,将第一快取单元内的更新资料及未被更新的原始资料储存于闪存中的一空白页(步骤S430)。接着,将第二快取単元设定为无效快取単元,将第一快取単元设定为有效快取単元(步骤S440)。以下以图5A至图5E的资料搬移范例来解释图4的控制流程。如图5A所示,假设闪存中第一区块(Block_l)中包括四个页?1、?2、?3、?4,第ー页?1中的资料包括D1、D2、D3,而第二页P2、第三页P3、第四页P4为空白页。再者,高速缓存中至少包括ニ个空白的快取单元Cm、Cn。当主机需要更新第一区块(Block_l)中第一页Pl里的部分资料(例如D2)时,主机会将更新资料D2’传递至固态储存装置。如图5B的路径I所示,控制单元将更新资料D2’暂存于第m快取単元Cm中。更新资料D2’对应于第一页Pl里的部分资料D2。接着,如图5C的路径II所示,控制单元由第一区块(Block_l)中读取储存于第一页Pl的原始资料D1、D2、D3,并将未被更新的原始资料D1、D3储存于该第m快取单元Cm,将欲被更新的原始资料D2储存于第n快取単元Cn。接着,如图的路径III所示,控制单元将第m快取单元Cm内的更新资料D2’及未被更新的原始资料Dl、D3储存于第一区块(Block_l)中的一空白页(例如P3)。接着,控制单元将第n快取单元Cn设定为无效快取单元(斜线部分),将第m快取単元Cm设定为有效快取単元。当然,控制单元并不一定要将更新后的一页资料写入第一区块(Block_l)中的第三页,也可以写到其它区块的空白页中,再者原第一页Pl也被设定成无效页(斜线部分)。由图5E可知,当控制单元将更新后的资料Dl、D2’、D3再次写入第一区块(Block_l)的第三页P3后,第n快取単元Cn中的资料会被设定为无效资料,并且控制単元101可适时地删除第n快取単元Cn中的资料。而由于第m快取単元Cm中的资料与第一区块(Block_l)第三页P3的内容完全相同,因此第m快取単元Cm会被设定为有效资料。之后,当主机发出读取指令,欲读取第一区块(Block_l)的第三页P3时,高速缓存即可发出快取命中(cache hit),并直接将该第m快取单元Cm中的资料Dl、D2’、D3由快取単元传递至主机,所以控制单元不需读取第一区块(Block_l)的第三页P3资料D1、D2’、D3。也就是说,根据本发明的高速缓存控制方法,控制单元不需再次由闪存中读取资料所以可以提闻系统的效率。由以上的说明可知,本发明的高速缓存的控制方法,其在更新闪存的一特定页时,将有效的资料(包含更新资料及未被更新的原始资料)集中储存在同一个快取单元,并将无效的资料(包含欲被更新的原始资料)集中储存在另ー快取单元中,因此可增加快取命中率,并提高系统的读取速度。综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求范围所界定的为准。
权利要求
1.一种固态储存装置的高速缓存控制方法,其中该固态储存装置具有一闪存,该闪存具有多个区块,每ー该区块中具有多个页,包括下列步骤: 接收一更新资料,并储存于ー第一快取単元,其中该更新资料对应于该闪存中一特定页的部分原始资料; 读取储存于该特定页内的该原始资料,并将未被更新的该原始资料储存于该第一快取单元,将欲被更新的该原始资料储存于ー第二快取单元;以及 将该第一快取単元内的该更新资料及该未更新的原始资料储存于该闪存中的一空白页。
2.按权利要求1所述的固态储存装置的高速缓存控制方法,其中还包括将该闪存中的该特定页设定为ー无效页。
3.按权利要求1所述的固态储存装置的高速缓存控制方法,其中还包括将该第二快取単元设定为一无效快取単元,且将该第一快取単元设定为一有效快取単元。
4.一种固态储存装置,该固态储存装置包含: ー闪存,该闪存中具有多个区块,每ー该区块中具有多个页; 一高速缓存,包括多个快取単元;以及 一控制单元,连接至该闪存与该高速缓存; 其中,该控制单元接收一更新资料,该更新资料对应于储存于该闪存中的一特定页内的部分原始资料,并储存该更新资料于一第一1决取单元;该控制单元读取该特定页内的该原始资料,并储存未被更新的该原始资料于该第一快取単元,储存欲被更新的该原始资料于ー第二快取单元;以及该控制单元将该第一快取单元内的该更新资料及该未被更新的原始资料储存于该闪存中的一空白页,作为该特定页的一更新页。
5.按权利要求4所述的固态储存装置,其中还包括:该控制单元将该闪存中的该特定页设定为ー无效页。
6.按权利要求4所述的固态储存装置,其中还包括:该控制単元将该第二快取单元设定为ー无效快取单元,且将该第一快取单元设定为一有效快取单元。
7.一种固态储存装置的高速缓存控制方法,其中该固态储存装置具有一闪存,且该闪存具有多个区块,每ー该区块中具有多个页,该高速缓存具有多个快取単元,包括下列步骤: 接收一更新资料,并储存该更新资料于该高速缓存的一第一1决取单元; 读取储存于该闪存中的一特定页内的一第一资料及一第二资料,其中该更新资料对应于该第二资料; 储存该第一资料于该高速缓存中的该第一快取単元,且储存该第二资料于该高速缓存中的一第二快取单元;以及 将该第一快取単元内的该更新资料及该第一资料储存于该闪存的一空白页。
8.按权利要求7所述的固态储存装置的高速缓存控制方法,其中还包括将该闪存中的该特定页设定为ー无效页。
9.按权利要求7所述的固态储存装置的高速缓存控制方法,其中还包括将该第二快取単元设定为一无效快取単元,且 将该第一快取単元设定为一有效快取単元。
10.按权利要求7所述的固态储存装置的高速缓存控制方法,其中该第一资料为储存于该特定页中未被更 新的原始资料,且该第二资料为储存于该特定页中欲被更新的资料。
全文摘要
本发明为一种固态储存装置及其高速缓存的控制方法,其中固态储存装置具有一闪存,闪存具有多个区块,每一区块中具有多个页。此控制方法包括下列步骤接收一更新资料,并储存于一第一快取单元,其中更新资料对应于闪存中一特定页的部分原始资料;读取储存于特定页内的原始资料,并将未被更新的原始资料储存于第一快取单元,将欲被更新的原始资料储存于一第二快取单元;以及将第一快取单元内的更新资料及未更新的原始资料储存于闪存中的一空白页。
文档编号G06F12/08GK103092771SQ20111033655
公开日2013年5月8日 申请日期2011年10月31日 优先权日2011年10月31日
发明者陈奕任, 庄吉贤, 陈彦仲, 赖昀佐 申请人:建兴电子科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1