CN104679668A - 存储系统及其控制方法 - Google Patents

存储系统及其控制方法 Download PDF

Info

Publication number
CN104679668A
CN104679668A CN201410008481.0A CN201410008481A CN104679668A CN 104679668 A CN104679668 A CN 104679668A CN 201410008481 A CN201410008481 A CN 201410008481A CN 104679668 A CN104679668 A CN 104679668A
Authority
CN
China
Prior art keywords
physical blocks
program
impact damper
file
instruction
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
Application number
CN201410008481.0A
Other languages
English (en)
Other versions
CN104679668B (zh
Inventor
卓奕霖
张成钰
魏洁纹
郑仲强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Synology Inc
Original Assignee
Synology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Synology Inc filed Critical Synology Inc
Publication of CN104679668A publication Critical patent/CN104679668A/zh
Application granted granted Critical
Publication of CN104679668B publication Critical patent/CN104679668B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种存储系统及其控制方法。存储系统包含多个物理区块、缓冲器及控制器。控制器为响应来自操纵台的取消映射指令,将存储系统的物理区块与逻辑区块之间的映射关系搬移至缓冲器,以预备解除分配程序。之后,控制器传送完成回应至操纵台。上述的取消映射指令被配置为取消上述的映射关系,上述的完成回应被配置为通知操纵台所述的取消映射指令已被执行完成,而解除分配程序被配置为依据缓冲器的映射关系解除分配物理区块。控制器在传送上述完成回应至操纵台后,依据存储系统的工作负载执行解除分配程序。

Description

存储系统及其控制方法
技术领域
本发明涉及一种存储系统及其控制方法,特别是涉及一种可加速完成取消映射(unmap)指令的存储系统及其控制方法。
背景技术
一般的存储系统中,逻辑区块(logical block)和物理区块(physical block)之间存在一种映射(mapping)关系。当索取磁碟空间(例如产生一个文件)或归还磁碟空间(例如删除一个文件)时,都需透过这种映射关系,对物理区块进行操作。此外,当需要实际地释放物理区块的空间时,取消映射(unmap)指令就会传送至存储系统中,以将逻辑区块和物理区块之间的映射关系取消,并对物理区块进行解除分配(deallocate),以释放物理区块的空间。例如当对存储系统进行删除文件等动作时,会触发送出取消映射指令的机制。当存储系统接受到取消映射指令后,就会根据取消映射的范围,判断那些映射关系需要被取消,并一一地对所对应的物理区块进行解除分配,以实际地释放其空间。当存储系统完成对应物理区块的解除分配后,会回复此次取消映射的动作已完成的回应。
请参考图1,图1为现有技术中进行取消映射的流程图。当存储系统接收到取消映射指令(步骤S100)后,会根据所接收到的取消映射指令所对应的物理区块范围进行多个解除分配程序S120_1至S120_10。以上述的取消映射指令对应了十个物理区块为例,存储系统会进行十次的解除分配程序S120_1至S120_10,以一一地对所对应的十个物理区块进行解除分配并删除其对应的映射关系。每一解除分配程序S120_1至S120_10包括解除分配步骤(如步骤S130_1)以及删除映射关系步骤(如步骤S140_1)。其中每一解除分配步骤S130_1至S130_10用以对所对应的物理区块进行解除分配,而每一删除映射关系步骤S140_1至S140_10用以删除物理区块所对应的映射关系。然而,由于进行解除分配步骤S130_1至S130_10非常地耗时,且所有解除分配程序S120_1至S120_10必须都完成后,存储系统才会回复此次取消映射的动作已完成的回应,以继续执行后续的指令。因此,存储系统的后续指令会受到影响而延迟执行,并导致存储系统的效能低落。
发明内容
本发明的一实施例公开一种控制存储系统的方法。上述方法包括:自操纵台接收取消映射(unmap)指令;响应上述的取消映射指令,将该映射关系搬移至该存储系统的缓冲器,以预备至少一解除分配(deallocate)程序;传送完成回应至操纵台;以及在传送上述的完成回应至操纵台后,依据存储系统的工作负载执行上述至少一解除分配程序。其中上述的取消映射指令被配置为取消存储系统的存储模组的至少一物理区块与至少一逻辑区块之间的映射关系,上述的完成回应被配置为通知操纵台上述的取消映射指令已被执行完成,而解除分配程序被配置为依据缓冲器中的映射关系解除分配上述的至少一物理区块。
本发明的一实施例公开一种存储系统。存储系统包括多个物理区块、缓冲器及控制器。上述的多个物理区块用以存储数据。缓冲器用以暂存数据。控制器耦接于上述多个物理区块及缓冲器,并用以自操纵台接收取消映射指令;响应上述的取消映射指令,将该映射关系搬移至该缓冲器,以预备至少一解除分配程序;传送完成回应至操纵台;以及在传送上述的完成回应至操纵台后,依据存储系统的工作负载执行至少一解除分配程序。其中上述的取消映射指令被配置为取消存储系统的至少一物理区块与至少一逻辑区块之间的映射关系,上述的完成回应被配置为通知操纵台上述的取消映射指令已被执行完成,而解除分配程序被配置为依据缓冲器中的映射关系解除分配上述的至少一物理区块。
本发明实施例的存储系统及其控制方法于进行取消映射指令时,会将映射关系搬移至缓冲器,以预备至少一解除分配程序。之后再传送完成回应至操纵台。当传送完成回应后,存储系统即可继续执行后续的指令,故存储系统对于取消映射指令的回应时间(response time)可以缩短。此外,存储系统会依据存储系统的工作负载,判断存储系统是否处于忙碌状态或是闲置状态。当存储系统处于闲置状态时,控制器即可背景执行先前所预备的解除分配程序,以实际地对物理区块进行解除分配,而释放物理区块的空间。如此,存储系统即可具有良好的效能。
附图说明
图1为现有技术中进行取消映射的流程图。
图2为本发明一实施例存储系统连接于操纵台时的功能方块图。
图3用以说明图2存储系统的逻辑区块与物理区块的映射关系。
图4为图2的控制器执行取消映射指令的流程图。
图5为控制图2存储系统的方法的流程图。
图6为图2的控制器执行操纵台的写入指令时的流程图。
图7为图2的控制器执行操纵台的写入指令时的另一流程图。
其中,附图标记说明如下:
200            存储系统
210            控制器
212            元数据
220            存储模组
222_1至222_M   物理区块
224            存储碟
230            缓冲器
232_1至232_N   映射关系
240            操纵台
252_1至252_M   逻辑区块
260            映射关系
F1             文件
Rp             完成回应
S100、S130_1至S130_10、S140_1至S140_10  流程步骤
S120_1至S120_10                         解除分配程序
S410至S440、S510至S560、                流程步骤S610至S670、S710至S770
Um                                      取消映射指令
Wr                                      写入指令
具体实施方式
请参考图2及图3。图2为本发明一实施例存储系统200连接于操纵台240时的功能方块图,而图3用以说明图2存储系统200的逻辑区块(logicalblock)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)、硬盘(Hard disk)、快闪存储器(Flash memory)或其他存储装置,用以存储数据及文件。此外,存储系统200也可以是个人电脑、伺服器、行动电话等具有存储装置的电子装置。再者,上述的存储碟224则可以为硬盘或是固态硬盘,以组成独立磁盘冗余阵列。存储系统200包括控制器210、存储模组220及缓冲器230。其中,控制器210耦接于存储模组220及缓冲器230,用以控制存储系统200的操作。存储模组220包括多个物理区块222_1至222_M,用以记录数据。缓冲器230则用以暂存控制器210所需的数据。在本发明一实施例中,存储模组220及缓冲器230可以由任意的非挥发性存储媒体(例如:快闪存储器、磁性存储器等)组成,且用以组成存储模组220的存储媒体与用以组成缓冲器230的存储媒体可以相同或是不同。
控制器210会依据元数据(metadata)212控制存储系统200的操作。在本发明一实施例中,元数据212可存储于固态硬盘或快闪存储器等非挥发性存储媒体中,当存储系统200启动时,再由控制器210所读取。由于固态硬盘与快闪存储器不需如一般硬盘得借由机械式运转才能运作,故若将元数据212存储于固态硬盘或快闪存储器中,则存储系统200整体的数据处理速度会较将元数据212存储于一般硬盘时的快。此外,元数据212记录了多个逻辑区块252_1至252_M与多个物理区块222_1至222_M之间的映射(mapping)关系260,而每一映射关系260记录对应的物理区块及逻辑区块的位址。当操纵台240对存储系统200有存取的需求时,控制器210即会依据元数据212所提供的映射关系260,将存取指令所对应的逻辑区块位址转换成对应的物理区块位址,以控制相关物理区块进行对应的动作。例如当对存储系统200其中一个存储碟224进行删除文件的动作时,会触发操纵台240送出取消映射(unmap)指令Um的机制。当控制器210接受到取消映射指令Um后,就会根据取消映射的范围,判断那些映射关系260需要被取消。然而,不同于现有技术须实际地完成物理区块的解除分配后,才得以执行后续指令,控制器210在接收到取消映射指令Um后,会先将要解除分配(deallocate)的物理区块的映射关系260从元数据212搬移至缓冲器230。之后,再传送完成回应Rp至操纵台240,以通知操纵台240上述的取消映射指令Um已被控制器210执行完成,而控制器210在传送上述完成回应Rp后即可继续地执行后续来自操纵台240的指令,故控制器210对于取消映射指令Um的回应时间(responsetime)可相对地缩短。
以将对物理区块222_x进行解除分配为例,控制器210会将物理区块222_x的映射关系260从元数据212搬移至缓冲器230,而成为映射关系232_x。映射关系232_x记录了物理区块222_x的位址,而可供控制器210背景地执行物理区块222_x的解除分配。换句话来说,当控制器210接收到取消映射指令Um后,可不用立即地对物理区块222_x进行解除分配,而可透过先将映射关系232_x存储至缓冲器230的方式,待存储系统200处于闲置状态后,再由控制器210依据存储于缓冲器230的映射关系232_x,实际地对物理区块222_x进行解除分配。由于控制器210不会因上述的取消映射指令Um而延后执行后续的指令,故相较于现有技术,存储系统200具有较佳的存取效能。
请参考图4并同时参照图2。图4为图2的控制器210执行取消映射指令Um的流程图。假设取消映射指令Um是被配置为命令控制器210取消物理区块222_x的映射关系260,则当控制器210自操纵台240接收取消映射指令Um(步骤S410)后,控制器210会将物理区块222_x的映射关系260从元数据212搬移至缓冲器230,而成为映射关系232_x(步骤S420),以预备执行解除分配程序(步骤S430)。当控制器210将物理区块222_x的映射关系260从元数据212搬移至缓冲器230(步骤S420)后,会传送完成回应Rp至操纵台240(步骤S440),以通知操纵台240上述的取消映射指令Um已被控制器210执行完成。在此实施例中,上述预备在步骤S430被执行的解除分配程序是被配置为解除分配物理区块222_x,而可在控制器210将完成步骤S420后,再由控制器210依据存储系统200的工作负载判断是否该被执行。当存储系统200处于闲置状态时,或当控制器210中待处理的数据处理请求量低于一预定值时,控制器210即可依据存储于缓冲器230的映射关系232_x,实际地对物理区块222_x进行解除分配(步骤S430)。当完成物理区块222_x的解除分配时,控制器210即可将映射关系232_x从缓冲器230中移除。此外,如图4所示,步骤S430和S440可平行地由控制器210执行。
需了解地,虽然上述实施例是以取消单一个物理区块222_x的映射关系260为例,但本发明并不以此为限。换句话来说,本发明亦适用于取消映射指令Um用以取消多个物理区块的映射关系260的情况。举例来说,倘若取消映射指令Um是被配置为命令控制器210取消多个物理区块222_1至222_x的映射关系260,则控制器210于步骤S420会将物理区块222_1至222_x的映射关系260从元数据212搬移至缓冲器230,而成为映射关系232_1至232_x。其中,每一映射关系232_1至232_x对应于控制器210将要执行的一个解除分配程序。之后,当存储系统200处于闲置状态时,或当控制器210中待处理的数据处理请求量低于预定值时,控制器210即可依据映射关系232_1至232_x,依序地执行多个解除分配程序,而实际地对物理区块222_1至222_x进行解除分配。当完成物理区块222_1至222_x的解除分配时,控制器210即可将映射关系232_1至232_x从缓冲器230中移除。更进一步地来说,在对多个物理区块222_1至222_x进行解除分配的过程中,当完成任一物理区块的解除分配时,即可将此物理区块所对应的映射关系从缓冲器230中移除,而无须等待所有要解除分配的物理区块都完成解除分配。
请参考图5,图5为控制图2存储系统200的方法的流程图。上述方法包括以下步骤:
步骤S510:自操纵台接收取消映射指令;
步骤S520:响应上述的取消映射指令,将对应的映射关系搬移至缓冲器,以预备至少一解除分配程序;
步骤S530:传送完成回应至操纵台;
步骤S540:判断存储系统200是否繁忙。例如,判断存储系统200的工作负载是否为零而处于闲置状态,或判断控制器210中待处理的数据处理请求量是否低于预定值。倘若结果为“是”,则进行步骤S550;否则,则进行步骤S560;
步骤S550:等待一预设周期(例如30秒、一分钟等);以及
步骤S560:执行上述的解除分配程序。
在本实施例中,缓冲器230所记录的映射关系232_1至232_N还可被用来作为控制器210执行写入指令时的依据。请参考图6并同时参照图2。图6为图2的控制器210执行操纵台240的写入指令Wr时的流程图。在本实施例中,当操纵台240传送写入指令Wr(步骤S610)至存储系统200,以指示控制器210将文件F1写入至存储模组220时,倘若存储模组220的剩余空间不足以存储文件F1,则控制器210会判断缓冲器230所记录的所有尚等待进行解除分配的物理区块是否可用来存储文件F1的数据。假设文件F1的大小为Q,存储模组220的剩余空间尚有Q1,而缓冲器230所记录的所有尚等待进行解除分配的物理区块的容量为Q2,则控制器210会先判断文件F1的大小Q是否小于或等于存储模组220的剩余空间Q1(步骤S620)。倘若文件F1的大小Q小于或等于存储模组220的剩余空间Q1,则控制器210会将文件F1写入至存储模组220的剩余空间所对应的物理区块(步骤S630)。相反地,若文件F1的大小Q大于存储模组220的剩余空间Q1,则控制器210会计算缓冲器230所记录的所有尚等待进行解除分配的物理区块的容量Q2(步骤S640),并判断存储模组220的剩余空间Q1与所计算的容量Q2的总和(Q1+Q2)是否大于或等于文件F1的大小Q(步骤S650)。倘若(Q1+Q2)小于Q,控制器210则终止文件F1的写入(步骤S660),并通知操纵台240存储模组220的容量不足以存放文件F1。相反地,倘若(Q1+Q2)大于或等于Q,控制器210则将文件F1写入至存储模组220的剩余空间所对应的物理区块及缓冲器230所记录尚等待进行解除分配的物理区块(步骤S670)。亦即在步骤S670中,会有一部份缓冲器230所记录尚等待进行解除分配的物理区块会被用来存储文件F1的部分数据,而文件F1其他部分的数据则可存储于存储模组220的剩余空间。此时,上述用以存储文件F1部分数据的物理区块,其原先所等待要进行的解除分配的动作即无须进行,且其数据会被文件F1的数据所覆盖。如此,即可省去对上述用以存储文件F1部分数据的物理区块进行解除分配的时间与资源。当物理区块的数据被文件F1的数据所覆盖后,其在缓冲器230所对应的映射关系即被删除。
请参考图7并同时参照图2。图7为图2的控制器210执行操纵台240的写入指令Wr时的另一流程图。不同于前述的实施例,在本实施例中,当操纵台240传送写入指令Wr(步骤S710)至存储系统200,以指示控制器210将文件F1写入至存储模组220时,控制器210会先判断缓冲器230是否有记录任何的映射关系(步骤S720)。当判断出缓冲器230未记录任何的映射关系时,控制器210会将文件F1写入至存储模组220的剩余空间所对应的物理区块(步骤S730)。此外,倘若在步骤S720中判断出显示缓冲器230记录有任何的映射关系,则控制器210会将文件F1写入至缓冲器230所记录尚等待进行解除分配的物理区块(步骤S740)。之后,控制器210再判断是否已经完成文件F1的写入(步骤S750)。倘若文件F1尚有部分未被写入,则控制器210再将文件F1尚未写入的部分写入至存储模组220的剩余空间(步骤S770)。相反地,倘若已完成全部的文件F1的写入操作,则结束整个流程(步骤S760)。
此外,假设文件F1的大小为Q,存储模组220的剩余空间尚有Q1,而缓冲器230所记录的所有尚等待进行解除分配的物理区块的容量为Q2。在本发明一实施例中,在执行步骤S730之前,控制器210会先判断存储模组220的剩余空间是否大于文件F1的大小Q。只有当文件F1的大小Q并未超过存储模组220的剩余空间Q1时,控制器210才会执行步骤S730。然而,倘若文件F1的大小Q超过存储模组220的剩余空间Q1,则控制器210不会执行步骤S730,且会通知操纵台240存储模组220的容量不足以存放文件F1。再者,在执行步骤S740之前,控制器210会先判断存储模组220的剩余空间Q1与等待进行解除分配的物理区块的容量Q2的总和(Q1+Q2)是否大于或等于文件F1的大小Q。只有当文件F1的大小Q并未超过上述总和(Q1+Q2)时,控制器210才会执行步骤S740。然而,倘若文件F1的大小Q超过述总和(Q1+Q2),则控制器210不会执行步骤S740,且会通知操纵台240存储模组220的容量不足以存放文件F1。
综上所述,透过本发明实施例的存储系统及其控制方法于进行取消映射指令时,会将映射关系搬移至缓冲器,以预备至少一解除分配程序。之后再传送完成回应至操纵台。当传送完成回应后,存储系统即可继续执行后续的指令,故存储系统对于取消映射指令的回应时间(response time)可以缩短。此外,存储系统会依据存储系统的工作负载,判断存储系统是否处于忙碌状态或是闲置状态。当存储系统处于闲置状态时,控制器即可背景执行先前所预备的解除分配程序,以实际地对物理区块进行解除分配,而释放物理区块的空间。如此,存储系统即可具有良好的效能。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种控制存储系统的方法,其特征在于,该方法包括:
自操纵台接收取消映射指令,该取消映射指令被配置为取消该存储系统的存储模组的至少一物理区块与至少一逻辑区块之间的映射关系;
响应该取消映射指令,将该映射关系搬移至该存储系统的缓冲器,以预备至少一解除分配程序,其中该解除分配程序被配置为依据该缓冲器中的该映射关系解除分配该至少一物理区块;
传送完成回应至该操纵台,其中该完成回应被配置为通知该操纵台该取消映射指令已被执行完成;以及
在传送该完成回应至该操纵台后,依据该存储系统的工作负载执行该至少一解除分配程序。
2.如权利要求1所述的方法,其特征在于,其中该取消映射指令被配置为取消该存储模组的多个物理区块与多个逻辑区块之间的映射关系,该至少一解除分配程序包括多个解除分配程序,每一解除分配程序被配置为解除分配该些物理区块的至少一个物理区块,而依据该存储系统的工作负载执行该至少一解除分配程序包括:
在传送该完成回应至该操纵台后,依据该存储系统的工作负载,执行该些取消映射程序。
3.如权利要求1所述的方法,其特征在于,依据该存储系统的工作负载执行该至少一解除分配程序包括:
当该控制器中待处理的数据处理请求量低于预定值时,执行该至少一解除分配程序。
4.如权利要求1所述的方法,其特征在于,该方法还包括:
接收写入指令,该写入指令被配置为将文件写入至该存储模组;
判断该缓冲器是否记录有任何的映射关系;以及
当该缓冲器记录有任何的映射关系时,将该文件写入至该缓冲器所记录尚等待进行解除分配的物理区块。
5.如权利要求4所述的方法,其特征在于,该方法还包括:
倘若该文件的大小超过该缓冲器所记录尚等待进行解除分配的物理区块的容量,则将该文件尚未写入的部分写入至该存储模组的剩余空间。
6.如权利要求1所述的方法,其特征在于,该方法还包括:
接收写入指令,该写入指令被配置为将文件写入至该存储模组;
当该文件的大小超过该存储模组的剩余空间时,计算该缓冲器所记录的所有尚等待进行解除分配的物理区块的容量;以及
倘若该存储模组的剩余空间与所计算的该容量的总和大于或等于该文件的大小,则将该文件的至少一部份数据存储于该缓冲器所记录尚等待进行解除分配的物理区块的至少一部份。
7.如权利要求1所述的方法,其特征在于,该方法还包括:
在执行该至少一解除分配程序之前,自该操纵台接收另一指令,并执行该另一指令。
8.一种存储系统,其特征在于,该系统包括:
存储模组,包括多个物理区块,用以存储数据;
缓冲器,用以暂存数据;以及
控制器,耦接于该些物理区块及该缓冲器,用以:
自操纵台接收取消映射指令,其中该取消映射指令被配置为取消该存储模组的至少一物理区块与至少一逻辑区块之间的映射关系;
响应该取消映射指令,将该映射关系搬移至该缓冲器,以预备至少一解除分配程序,其中该解除分配程序被配置为依据该缓冲器中的该映射关系解除分配该至少一物理区块;
传送完成回应至该操纵台,其中该完成回应被配置为通知该操纵台该取消映射指令已被执行完成;以及
在传送该完成回应至该操纵台后,依据该存储系统的工作负载执行该至少一解除分配程序。
9.如权利要求8所述的存储系统,其特征在于,其中该取消映射指令被配置为取消该存储模组的多个物理区块与多个逻辑区块之间的映射关系,该至少一解除分配程序包括多个解除分配程序,每一解除分配程序被配置为解除分配该些物理区块的至少一个物理区块,而该控制器在传送该完成回应至该操纵台后,依据该存储系统的工作负载,执行该些取消映射程序。
10.如权利要求8所述的存储系统,其特征在于,其中当该控制器中待处理的数据处理请求量低于预定值时,该控制器执行该至少一解除分配程序。
11.如权利要求8所述的存储系统,其特征在于,其中该控制器还用以:
接收写入指令,其中该写入指令被配置为将文件写入至该存储模组;
判断该缓冲器是否记录有任何的映射关系;以及
当该缓冲器记录有任何的映射关系时,将该文件写入至该缓冲器所记录尚等待进行解除分配的物理区块。
12.如权利要求11所述的存储系统,其特征在于,其中该控制器还用以:
倘若该文件的大小超过该缓冲器所记录尚等待进行解除分配的物理区块的容量,则将该文件尚未写入的部分写入至该存储模组的剩余空间。
13.如权利要求8所述的存储系统,其特征在于,其中该控制器还用以:
接收写入指令,其中该写入指令被配置为将文件写入至该存储模组;
当该文件的大小超过该存储模组的剩余空间时,计算该缓冲器所记录的所有尚等待进行解除分配的物理区块的容量;以及
倘若该存储模组的剩余空间与所计算的该容量的总和大于或等于该文件的大小,则将该文件的至少一部份数据存储于该缓冲器所记录尚等待进行解除分配的物理区块的至少一部份。
14.如权利要求8所述的存储系统,其特征在于,其中该存储系统是选自以独立磁盘冗余阵列、固态硬盘、硬盘及快闪存储器所构成的群组。
CN201410008481.0A 2013-11-26 2014-01-02 存储系统及其控制方法 Expired - Fee Related CN104679668B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW102143051A TWI514142B (zh) 2013-11-26 2013-11-26 儲存系統及其控制方法
TW102143051 2013-11-26

Publications (2)

Publication Number Publication Date
CN104679668A true CN104679668A (zh) 2015-06-03
CN104679668B CN104679668B (zh) 2018-04-06

Family

ID=51945698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410008481.0A Expired - Fee Related CN104679668B (zh) 2013-11-26 2014-01-02 存储系统及其控制方法

Country Status (4)

Country Link
US (1) US20150149741A1 (zh)
EP (1) EP2876541A1 (zh)
CN (1) CN104679668B (zh)
TW (1) TWI514142B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110309075A (zh) * 2018-03-27 2019-10-08 爱思开海力士有限公司 存储器控制器以及具有存储器控制器的存储器系统
CN110413211A (zh) * 2018-04-28 2019-11-05 伊姆西Ip控股有限责任公司 存储管理方法、电子设备以及计算机可读介质
WO2022040914A1 (en) * 2020-08-25 2022-03-03 Micron Technology, Inc. Unmap backlog in a memory system
CN114661238A (zh) * 2022-03-29 2022-06-24 江苏安超云软件有限公司 带缓存的存储系统空间回收的方法及应用
CN117891416A (zh) * 2024-03-18 2024-04-16 厦门大学 基于scsi协议的取消映射操作优化方法、装置及可读介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102395538B1 (ko) 2017-04-28 2022-05-10 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102423278B1 (ko) 2017-11-28 2022-07-21 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102493323B1 (ko) * 2018-02-21 2023-01-31 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20200085966A (ko) * 2019-01-07 2020-07-16 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101408835A (zh) * 2007-10-10 2009-04-15 英业达股份有限公司 逻辑卷管理器的数据管理方法
CN101918913A (zh) * 2007-10-02 2010-12-15 日立数据系统有限公司 自动精简配置存储设备上的存储收回
US20130205111A1 (en) * 2012-02-02 2013-08-08 Fujitsu Limited Virtual storage device, controller, and computer-readable recording medium having stored therein a control program

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065630B1 (en) * 2003-08-27 2006-06-20 Nvidia Corporation Dynamically creating or removing a physical-to-virtual address mapping in a memory of a peripheral device
US8122193B2 (en) * 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
US7979645B2 (en) * 2007-09-14 2011-07-12 Ricoh Company, Limited Multiprocessor system for memory mapping of processing nodes
US8549223B1 (en) * 2009-10-29 2013-10-01 Symantec Corporation Systems and methods for reclaiming storage space on striped volumes
CN102156675B (zh) * 2010-02-12 2014-03-19 中兴通讯股份有限公司 一种内存分配方法及装置
JP5405513B2 (ja) * 2011-03-22 2014-02-05 株式会社東芝 メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法、及びプログラム
CN102200930B (zh) * 2011-05-26 2013-04-17 北京华为数字技术有限公司 同步变量映射方法及装置、同步变量释放方法及同步变量删除方法
US8527544B1 (en) * 2011-08-11 2013-09-03 Pure Storage Inc. Garbage collection in a storage system
US8949512B2 (en) * 2012-02-17 2015-02-03 Apple Inc. Trim token journaling
TW201339838A (zh) * 2012-03-16 2013-10-01 Hon Hai Prec Ind Co Ltd 虛擬機記憶體管理系統及方法
CN102902748A (zh) * 2012-09-18 2013-01-30 上海移远通信技术有限公司 文件系统建立方法、管理方法及其ram和通信芯片

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101918913A (zh) * 2007-10-02 2010-12-15 日立数据系统有限公司 自动精简配置存储设备上的存储收回
CN101408835A (zh) * 2007-10-10 2009-04-15 英业达股份有限公司 逻辑卷管理器的数据管理方法
US20130205111A1 (en) * 2012-02-02 2013-08-08 Fujitsu Limited Virtual storage device, controller, and computer-readable recording medium having stored therein a control program

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110309075A (zh) * 2018-03-27 2019-10-08 爱思开海力士有限公司 存储器控制器以及具有存储器控制器的存储器系统
CN110413211A (zh) * 2018-04-28 2019-11-05 伊姆西Ip控股有限责任公司 存储管理方法、电子设备以及计算机可读介质
CN110413211B (zh) * 2018-04-28 2023-07-07 伊姆西Ip控股有限责任公司 存储管理方法、电子设备以及计算机可读介质
WO2022040914A1 (en) * 2020-08-25 2022-03-03 Micron Technology, Inc. Unmap backlog in a memory system
CN114661238A (zh) * 2022-03-29 2022-06-24 江苏安超云软件有限公司 带缓存的存储系统空间回收的方法及应用
CN114661238B (zh) * 2022-03-29 2024-01-02 江苏安超云软件有限公司 带缓存的存储系统空间回收的方法及应用
CN117891416A (zh) * 2024-03-18 2024-04-16 厦门大学 基于scsi协议的取消映射操作优化方法、装置及可读介质
CN117891416B (zh) * 2024-03-18 2024-05-14 厦门大学 基于scsi协议的取消映射操作优化方法、装置及可读介质

Also Published As

Publication number Publication date
TWI514142B (zh) 2015-12-21
EP2876541A1 (en) 2015-05-27
TW201520765A (zh) 2015-06-01
US20150149741A1 (en) 2015-05-28
CN104679668B (zh) 2018-04-06

Similar Documents

Publication Publication Date Title
CN104679668A (zh) 存储系统及其控制方法
US8924659B2 (en) Performance improvement in flash memory accesses
CN101272332B (zh) 具有未使用物理区域自主管理功能的存储装置
US6954839B2 (en) Computer system
CN103246478B (zh) 一种基于软raid支持无分组式全局热备盘的磁盘阵列系统
JP2008186172A (ja) ストレージモジュール及び容量プール空き容量調整方法
WO2017148242A1 (zh) 一种访问叠瓦式磁记录smr硬盘的方法及服务器
CN107066202B (zh) 具有多个固态盘的存储设备
CN101615410B (zh) 盘存储装置和程序
CN100530069C (zh) 一种非同质存储设备的虚拟化系统及方法
CN109902034A (zh) 快照创建方法、装置、电子设备及机器可读存储介质
US20160357672A1 (en) Methods and apparatus for atomic write processing
US10031689B2 (en) Stream management for storage devices
US9372633B2 (en) Indication of a destructive write via a notification from a disk drive that emulates blocks of a first block size within blocks of a second block size
US11698734B2 (en) Collision reduction through just-in-time resource allocation
CN106610788B (zh) 硬盘阵列控制方法及装置
KR20190018730A (ko) 캐시 엔트리 전송을 위한 캐시 위치 정보를 저장하기 위한 시스템 및 방법
US11106390B1 (en) Combining in-process reads to reduce die collisions
CN108334457B (zh) 一种io处理方法及装置
US8972634B2 (en) Storage system and data transfer method
CN109739688A (zh) 快照资源空间管理方法、装置、电子设备
CN104424124A (zh) 内存装置、电子设备和用于控制内存装置的方法
CN108984108A (zh) 用于调度io命令的方法与固态存储设备
CN101859265A (zh) 一种磁盘阵列重建方法和设备
US20070300026A1 (en) Synchronous backup device and method used for storage device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180406

Termination date: 20200102

CF01 Termination of patent right due to non-payment of annual fee