存储系统及其控制方法

文档序号:8361363阅读:185来源:国知局
存储系统及其控制方法
【技术领域】
[0001]本发明涉及一种存储系统及其控制方法,特别是涉及一种可加速完成取消映射(unmap)指令的存储系统及其控制方法。
【背景技术】
[0002]一般的存储系统中,逻辑区块(logical block)和物理区块(physical block)之间存在一种映射(mapping)关系。当索取磁碟空间(例如产生一个文件)或归还磁碟空间(例如删除一个文件)时,都需透过这种映射关系,对物理区块进行操作。此外,当需要实际地释放物理区块的空间时,取消映射(unmap)指令就会传送至存储系统中,以将逻辑区块和物理区块之间的映射关系取消,并对物理区块进行解除分配(deallocate),以释放物理区块的空间。例如当对存储系统进行删除文件等动作时,会触发送出取消映射指令的机制。当存储系统接受到取消映射指令后,就会根据取消映射的范围,判断那些映射关系需要被取消,并一一地对所对应的物理区块进行解除分配,以实际地释放其空间。当存储系统完成对应物理区块的解除分配后,会回复此次取消映射的动作已完成的回应。
[0003]请参考图1,图1为现有技术中进行取消映射的流程图。当存储系统接收到取消映射指令(步骤S100)后,会根据所接收到的取消映射指令所对应的物理区块范围进行多个解除分配程序S120_l至S120_10。以上述的取消映射指令对应了十个物理区块为例,存储系统会进行十次的解除分配程序S120_l至S120_10,以一一地对所对应的十个物理区块进行解除分配并删除其对应的映射关系。每一解除分配程序S120_l至S120_10包括解除分配步骤(如步骤S130_l)以及删除映射关系步骤(如步骤S140_l)。其中每一解除分配步骤S130_l至S130_10用以对所对应的物理区块进行解除分配,而每一删除映射关系步骤S140_l至S140_10用以删除物理区块所对应的映射关系。然而,由于进行解除分配步骤S130_l至S130_10非常地耗时,且所有解除分配程序S120_l至S120_10必须都完成后,存储系统才会回复此次取消映射的动作已完成的回应,以继续执行后续的指令。因此,存储系统的后续指令会受到影响而延迟执行,并导致存储系统的效能低落。

【发明内容】

[0004]本发明的一实施例公开一种控制存储系统的方法。上述方法包括:自操纵台接收取消映射(unmap)指令;响应上述的取消映射指令,将该映射关系搬移至该存储系统的缓冲器,以预备至少一解除分配(deallocate)程序;传送完成回应至操纵台;以及在传送上述的完成回应至操纵台后,依据存储系统的工作负载执行上述至少一解除分配程序。其中上述的取消映射指令被配置为取消存储系统的存储模组的至少一物理区块与至少一逻辑区块之间的映射关系,上述的完成回应被配置为通知操纵台上述的取消映射指令已被执行完成,而解除分配程序被配置为依据缓冲器中的映射关系解除分配上述的至少一物理区块。
[0005]本发明的一实施例公开一种存储系统。存储系统包括多个物理区块、缓冲器及控制器。上述的多个物理区块用以存储数据。缓冲器用以暂存数据。控制器耦接于上述多个物理区块及缓冲器,并用以自操纵台接收取消映射指令;响应上述的取消映射指令,将该映射关系搬移至该缓冲器,以预备至少一解除分配程序;传送完成回应至操纵台;以及在传送上述的完成回应至操纵台后,依据存储系统的工作负载执行至少一解除分配程序。其中上述的取消映射指令被配置为取消存储系统的至少一物理区块与至少一逻辑区块之间的映射关系,上述的完成回应被配置为通知操纵台上述的取消映射指令已被执行完成,而解除分配程序被配置为依据缓冲器中的映射关系解除分配上述的至少一物理区块。
[0006]本发明实施例的存储系统及其控制方法于进行取消映射指令时,会将映射关系搬移至缓冲器,以预备至少一解除分配程序。之后再传送完成回应至操纵台。当传送完成回应后,存储系统即可继续执行后续的指令,故存储系统对于取消映射指令的回应时间(response time)可以缩短。此外,存储系统会依据存储系统的工作负载,判断存储系统是否处于忙碌状态或是闲置状态。当存储系统处于闲置状态时,控制器即可背景执行先前所预备的解除分配程序,以实际地对物理区块进行解除分配,而释放物理区块的空间。如此,存储系统即可具有良好的效能。
【附图说明】
[0007]图1为现有技术中进行取消映射的流程图。
[0008]图2为本发明一实施例存储系统连接于操纵台时的功能方块图。
[0009]图3用以说明图2存储系统的逻辑区块与物理区块的映射关系。
[0010]图4为图2的控制器执行取消映射指令的流程图。
[0011]图5为控制图2存储系统的方法的流程图。
[0012]图6为图2的控制器执行操纵台的写入指令时的流程图。
[0013]图7为图2的控制器执行操纵台的写入指令时的另一流程图。
[0014]其中,附图标记说明如下:
[0015]200存储系统
[0016]210控制器
[0017]212元数据
[0018]220存储模组
[0019]222_1 至 222_M 物理区块
[0020]224存储碟
[0021]230缓冲器
[0022]232_1 至 232_N 映射关系
[0023]240操纵台
[0024]252_1 至 252_M 逻辑区块
[0025]260映射关系
[0026]Fl文件
[0027]Rp完成回应
[0028]S100、S130_l 至 S130_10、S140_l 至 S140_10 流程步骤
[0029]S120_l至S120_10 解除分配程序
[0030]S410 至 S440、S510 至 S560、流程步骤 S610 至 S670、S710 至 S770
[0031]Um 取消映射指令
[0032]Wr写入指令
【具体实施方式】
[0033]请参考图2及图3。图2为本发明一实施例存储系统200连接于操纵台240时的功能方块图,而图3用以说明图2存储系统200的逻辑区块(1gicalblock) 252_1至252_M与物理区块(physical block) 222_1至222_M的映射关系。操纵台240为一种可对存储系统200发出存取指令的电子装置,例如:个人电脑、伺服器、行动电话等。操纵台240以有线或无线的方式与存储系统200连接。此外,在本实施例中,存储系统200为具有多个存储碟224的独立磁盘冗余阵列(Redundant Array of Independent Disks ;RAID),但本发明并不以此为限。例如,存储系统200可以是固态硬盘(Solid State Driver ;SSD)、硬盘(Harddisk)、快闪存储器(Flash memory)或其他存储装置,用以存储数据及文件。此外,存储系统200也可以是个人电脑、伺服器、行动电话等具有存储装置的电子装置。再者,上述的存储碟224则可以为硬盘或是固态硬盘,以组成独立磁盘冗余阵列。存储系统200包括控制器210、存储模组220及缓冲器230。其中,控制器210耦接于存储模组220及缓冲器230,用以控制存储系统200的操作。存储模组220包括多个物理区块222_1至222_M,用以记录数据。缓冲器230则用以暂存控制器210所需的数据。在本发明一实施例中,存储模组220及缓冲器230可以由任意的非挥发性存储媒体(例如:快闪存储器、磁性存储器等)组成,且用以组成存储模组220的存储媒体与用以组成缓冲器230的存储媒体可以相同或是不同。
[0034]控制器210会依据元数据(metadata) 212控制存储系统200的操作。在本发明一实施例中,元数据212可存储于固态硬盘或快闪存储器等非挥发性存储媒体中,当存储系统200启动时,再由控制器210所读取。由于固态硬盘与快闪存储器不需如一般硬盘得借由机械式运转才能运作,故若将元数据212存储于固态硬盘或快闪存储器中,则存储系统200整体的数据处理速度会较将元数据212存储于一般硬盘时的快。此外,元数据212记录了多个逻辑区块252_1至252_M与多个物理区块222_1至222_M之间的映射(mapping)关系260,而每一映射关系260记录对应的物
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1