CN107092543A - 用来于一存储系统中进行数据擦洗管理的方法与装置 - Google Patents

用来于一存储系统中进行数据擦洗管理的方法与装置 Download PDF

Info

Publication number
CN107092543A
CN107092543A CN201610151401.6A CN201610151401A CN107092543A CN 107092543 A CN107092543 A CN 107092543A CN 201610151401 A CN201610151401 A CN 201610151401A CN 107092543 A CN107092543 A CN 107092543A
Authority
CN
China
Prior art keywords
data
event
running
clean
storage system
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.)
Withdrawn
Application number
CN201610151401.6A
Other languages
English (en)
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 CN107092543A publication Critical patent/CN107092543A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3096Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种用来于一存储系统中进行数据擦洗管理的方法与装置。所述方法包括:侦测是否发生至少一预定系统事件中的一系统事件,以产生一侦测结果;以及依据所述侦测结果,选择性地触发所述存储系统中的一数据擦洗运作。例如:上述的至少一预定系统事件中的每一预定系统事件并非通过排程设定所产生,其中所述数据擦洗运作是一非排程事件触发的数据擦洗运作。尤其是,上述的至少一预定系统事件中的每一预定系统事件并非通过预先进行对应于一固定的时间周期的排程设定所产生。通过利用本发明所提供的技术方案,能有效提高整体效能,并且不会有浪费系统资源的问题。

Description

用来于一存储系统中进行数据擦洗管理的方法与装置
技术领域
本发明涉及数据存储系统的效能管理,尤其是涉及一种用来于一存储系统中进行数据擦洗管理(Data Scrubbing Management)的方法与相关装置。
背景技术
依据相关技术,一现有的存储系统可进行数据擦洗(Data Scrubbing),以提升数据正确率,其中数据擦洗为一种错误更正技术,它通常可以用来订正错误的数据。然而,相关技术中通常有些问题。例如:关于所述现有的存储系统上执行数据擦洗的时机,一系统管理者可自行手动启动来执行数据擦洗、或是通过预先进行对应于固定时间周期的排程设定(Scheduling Setting)来执行数据擦洗。以一容错式磁盘阵列(Redundant Array ofIndependent Disks,以下简称为「RAID」)作为所述现有的存储系统的一例,现有的数据擦洗管理机制可对所述RAID中的每一硬式磁盘驱动器进行数据读取,以侦测是否有潜在的数据损毁或不一致的状态。基于所述现有的数据擦洗管理机制,执行数据擦洗的整体所需的时间取决于所述现有的存储系统的大小与其某些其它特性,且通常需要耗费好几个小时。另外,执行数据擦洗通常会降低所述现有的存储系统的系统服务效能。因此,所述现有的数据擦洗管理机制可严重地阻碍所述现有的存储系统所提供的服务。
对所述系统管理者而言,通常很难定义应该要多久执行一次完整的数据擦洗,才能兼顾数据正确性与系统服务效能。相关技术中提出一些建议:个人服务器系统(PersonalServer System)应该一个月执行一次,而大型服务器系统应该三个月执行一次。然而,这些建议通常缺乏理论根据。另外,由于系统状态随时可以改变,所述系统管理者很难判定这些建议是否适用于各种不同的系统状态。尤其是,这些建议可能导致进一步的问题,诸如下列副作用:过长的排程时间周期(Scheduling Time Period)使所述现有的存储系统无法实时地反应数据正确性;而过短的排程时间周期则会浪费所述现有的存储系统的系统资源并且对应地降低所述现有的存储系统的系统服务效能。
由以上可知,相关技术无法在不造成额外的问题(诸如上述的副作用)的状况下,妥善地解决既有的问题。因此,需要一种新颖的方法及相关的架构,以在较少副作用、或不造成副作用的状况下,妥善地解决既有的问题。
发明内容
本发明的目的的一在于公开一种用来于一存储系统中进行数据擦洗管理(DataScrubbing Management)的方法与相关装置,以解决上述问题。
本发明的另一目的在于公开一种用来于一存储系统中进行数据擦洗管理的方法与相关装置,以提升所述存储系统的整体效能。
本发明的至少一较佳实施例中公开一种用来于一存储系统中进行数据擦洗的方法。所述方法包括:侦测是否发生至少一预定系统事件中的一系统事件,以产生一侦测结果;以及依据所述侦测结果,选择性地触发所述存储系统中的一数据擦洗(DataScrubbing)运作。尤其是,上述所述至少一预定系统事件中的每一预定系统事件并非通过排程设定(Scheduling Setting)所产生。例如:上述所述至少一预定系统事件中的每一预定系统事件并非通过预先进行对应于固定的时间周期的排程设定所产生。
本发明于公开上述方法的同时,也对应地公开一种用来于一存储系统中进行数据擦洗管理的装置,其中所述装置可包括所述存储系统的至少一部分(例如:一部分或全部)。所述装置可包括:至少一存储装置,设置于所述存储系统中;以及一控制电路,设置于所述存储系统中、且耦接至上述的至少一存储装置。上述的至少一存储装置是用来储存信息,而所述控制电路是用来控制所述存储系统的运作。另外,所述控制电路侦测是否发生至少一预定系统事件中的一系统事件,以产生一侦测结果。此外,依据所述侦测结果,所述控制电路选择性地触发所述存储系统中的所述至少一存储装置的一数据擦洗运作。
本发明的好处之一在于,本发明的方法与相关装置可在较少副作用、或不造成副作用的状况下,妥善地解决既有的问题。另外,本发明的方法与相关装置可有效提高整体效能,并且不会有浪费系统资源的问题。
附图说明
图1为依据本发明一实施例的一种存储系统的示意图。
图2为依据本发明另一实施例的一种存储系统的示意图。
图3为依据本发明一实施例的一种用来于一存储系统中进行数据擦洗管理(DataScrubbing Management)的方法的流程图。
图4绘示图3所示的方法于一实施例中所涉及的一工作流程。
图5绘示图3所示的方法于另一实施例中所涉及的一工作流程。
其中,附图标记说明如下:
100,200 存储系统
110 控制电路
120-1,120-2,…,120-N,220 存储装置
300 用来于一存储系统中进行数据擦洗管
理的方法
310 侦测是否发生系统事件的步骤
320 选择性地触发数据擦洗运作的步骤
400,500 工作流程
410 决定数据擦洗时机的步骤
420 选择数据擦洗的数据范围的步骤
430 决定每次擦洗数据量的步骤
440 决定如何调整资源使用等级的步骤
510 等待一小段时间的步骤
520 检查是否有数据擦洗任务的步骤
530 决定需要数据擦洗的位置的步骤
540 决定数据擦洗的开始位置的步骤
550 决定资源使用等级的步骤
560 小部分数据擦洗及记录位置的步骤
570 检查是否达到每次擦洗量的步骤
580 检查是否为容许数据擦洗的时间的步骤
具体实施方式
图1为依据本发明一实施例的一种存储系统100的示意图。存储系统100可包括一控制电路110,且可包括至少一存储装置(例如:一个或多个存储装置),诸如N个存储装置{120-1,120-2,…,120-N},其中控制电路110耦接至上述的至少一存储装置诸如所述N存储装置,其中符号「N」可代表一个正整数。例如:当N=1时,所述N存储装置可包括一个存储装置120-1。又例如:当N=2时,所述多个存储装置可包括两个存储装置120-1与120-2。又例如:当N>2时,所述多个存储装置可包括三个或三个以上的存储装置,诸如存储装置120-1、120-2、…、120-N。所述N个存储装置{120-1,120-2,…,120-N}中的任一存储装置120-n(符号「n」可代表落入区间[1,N]的范围的任一正整数)的例子可包括(但不限于):固态硬盘(Solid State Drive,以下简称为「SSD」)、硬式磁盘驱动器(Hard Disk Drive,以下简称为「HDD」)。
依据本实施例,控制电路110是用来控制存储系统100的运作,而所述N个存储装置{120-1,120-2,…,120-N}中的每一存储装置可用来储存信息。另外,所述N个存储装置{120-1,120-2,…,120-N}中的任一存储装置120-n可代表一个实体存储装置、或由多个实体存储装置所组成的一个逻辑存储装置。尤其是,在所述N个存储装置{120-1,120-2,…,120-N}中的任一存储装置120-n代表由多个实体存储装置所组成的一个逻辑存储装置的状况下,所述N个存储装置{120-1,120-2,…,120-N}中的每一存储装置可为容错式磁盘阵列(Redundant Array of Independent Disks,以下简称为「RAID」)。例如:存储装置120-1可为由多个固态硬盘所组成的RAID,以供实施快取122。又例如:其它存储装置{120-2,…,120-N}中的某一存储装置可为多个硬式磁盘驱动器所组成的RAID,以供储存数据,诸如文件系统中的数据或档案、或用户数据。此外,控制电路110可实施成执行一程序模块的一处理电路。例如:所述程序模块可包括韧体码(Firmware Code)。这只是为了说明的目的而已,并非对本发明的限制。例如:所述程序模块可包括软件码(Software Code)。
在某些实施例中,用来于存储系统100中进行数据擦洗管理(Data ScrubbingManagement)的装置可包括存储系统100的至少一部分(例如:一部分或全部)。例如:此装置可包括存储系统100的一部分,诸如控制电路110。又例如:此装置可包括存储系统100的一部分,诸如控制电路110以及所述N个存储装置{120-1,120-2,…,120-N}中的一个或多个存储装置。又例如:此装置可包括存储系统100的整体。所述存储系统100的例子可包括(但不限于):服务器、网络附加储存(Network Attached Storage,NAS)。
图2为依据本发明另一实施例的一种存储系统200的示意图。相较于图1所示实施例,本实施例中的上述所述至少一存储装置可以仅包括图1所示的存储装置120-1,其中控制电路110耦接至存储装置120-1。依据本实施例,存储装置120-1可代表一个实体存储装置(诸如上述者)、或由多个实体存储装置所组成的一个逻辑存储装置(诸如上述者)。本实施例与前述实施例/变化例相仿之处不再重复赘述。
图3为依据本发明一实施例的一种用来于一存储系统中进行数据擦洗管理的方法300的流程图。所述方法可应用于所述存储系统(例如:图1所示的存储系统100;又例如:图2所示的存储系统200),尤其是可应用于上述的控制电路110。所述方法说明如下。
于步骤310中,控制电路110可侦测是否发生至少一预定系统事件(诸如一个或多个预定系统事件)中的一系统事件,以产生一侦测结果。例如:上述的至少一预定系统事件中的每一预定系统事件并非通过排程设定(Scheduling Setting)所产生。尤其是,上述的至少一预定系统事件中的每一预定系统事件并非通过预先进行对应于固定的时间周期的排程设定所产生。
于步骤320中,依据所述侦测结果,控制电路110可选择性地触发所述存储系统中的一数据擦洗(Data Scrubbing)运作(诸如图1与图2分别所示的实施例中的任一者的上述所述至少一存储装置的数据擦洗运作)。例如:在步骤310中所述的至少一预定系统事件中的每一预定系统事件并非通过排程设定所产生的状况下,于步骤320中所述的所述数据擦洗运作是一非排程事件触发的数据擦洗运作(Non-scheduling Event TriggeredScrubbing Operation)。
实作上,步骤310中所述的至少一预定系统事件的例子可包括(但不限于):不正常关机(Abnormal Shutdown)、实体存储装置(诸如上述的HDD或上述的SSD)的(Self-Monitoring,Analysis and Reporting Technology,可简称为「SMART」)状态异常、实体存储装置(诸如上述的HDD或上述的SSD)的不可更正错误(Uncorrectable Error,可简称为「UNC错误」)、存取(Access)数据时所发生的重试(Retry)状态、数据读/写命令失败(DataRead/Write Command Failure)、文件系统错误(File System Error)。例如:所述存储系统的不正常断电可导致上述的不正常关机。又例如:所述存储系统当中用来耦接实体存储装置(诸如上述的HDD或上述的SSD)的硬件插槽(Slot)异常可导致上述的重试状态。
请注意,于步骤310中所述的至少一预定系统事件可代表一个或多个预定系统事件。例如:依据某些实施例,步骤310中所述的至少一预定系统事件可包括多个预定系统事件,而(步骤310中所述的)所述系统事件是所述多个预定系统事件中的一者。另外,依据这些实施例,于步骤310中,控制电路110可侦测是否发生所述多个预定系统事件中的另一者,以产生所述侦测结果。如此,所述多个预定系统事件中的不同的预定系统事件,诸如所述多个预定系统事件中的所述者、及/或所述多个预定系统事件中的所述另一者,均可触发(步骤320中所述的)所述数据擦洗运作。
依据某些实施例,于步骤310中,控制电路110可侦测发生所述系统事件的一累积次数(Accumulated Number of Times)是否达到一累积次数门坎值,以产生所述侦测结果。例如:在步骤310中所述的至少一预定系统事件包括所述多个预定系统事件的状况下,(步骤310中所述的)所述系统事件是所述多个预定系统事件中的所述者,而所述累积次数门坎值对应于(步骤310中所述的)所述系统事件。另外,于步骤310中,控制电路110可侦测是否发生所述多个预定系统事件中的所述另一者,以产生所述侦测结果。尤其是,于步骤310中,控制电路110可侦测发生所述多个预定系统事件中的所述另一者的一累积次数是否达到另一累积次数门坎值,以产生所述侦测结果,其中所述另一累积次数门坎值对应于所述多个预定系统事件中的所述另一者。如此,针对所述多个预定系统事件中的不同类型的预定系统事件,控制电路110可分别依据独立的累积次数门坎值,诸如不必完全相同的多个累积次数门坎值,来决定是否触发(步骤320中所述的)所述数据擦洗运作。于是,不同的状况,诸如所述多个预定系统事件中的所述者的所述累积次数达到所述累积次数门坎值、及/或所述多个预定系统事件中的所述另一者的所述累积次数达到所述另一累积次数门坎值,均可触发(步骤320中所述的)所述数据擦洗运作。例如:这些独立的累积次数门坎值可以分别为不同的默认值。这只是为了说明的目的而已,并非对本发明的限制。依据某些实施例,这些独立的累积次数门坎值可以分别为不必完全相同的多个默认值。依据某些实施例,控制电路110可提供一用户接口,以容许所述存储系统的一用户(诸如所述存储系统的一系统管理者)设定所述累积次数门坎值。例如:所述另一累积次数门坎值可为一个默认值。依据某些实施例,控制电路110可提供所述用户接口,以容许所述用户设定所述累积次数门坎值以及所述另一累积次数门坎值。
依据某些实施例,控制电路110可决定至少一目标数据位置(诸如一个或多个目标数据位置),以进行所述数据擦洗运作,其中上述的至少一目标数据位置指出(步骤320中所述的)所述数据擦洗运作所处理的数据的范围。例如:于决定上述所述至少一目标数据位置以进行所述数据擦洗运作的过程中,控制电路110可辨识所述存储系统当中的多个档案位置,其中所述多个档案位置分别对应于多个档案,而上述所述至少一目标数据位置包括所述多个档案位置。另外,于决定上述所述至少一目标数据位置以进行所述数据擦洗运作的过程中,控制电路110可对所述存储系统中的所述多个档案位置进行(步骤320中所述的)所述数据擦洗运作,而非对所述存储系统的整体进行所述数据擦洗运作。此外,于辨识所述存储系统当中的所述多个档案位置的过程中,控制电路110可于所述存储系统中寻找具有一档案的任一位置,以供作为所述多个档案位置的一者。这只是为了说明的目的而已,并非对本发明的限制。依据某些实施例,于决定上述所述至少一目标数据位置以进行所述数据擦洗运作的过程中,控制电路110可辨识所述存储系统当中的至少一指派区域(DesignatedRegion),诸如一个或多个指派区域,其中上述的至少一指派区域的储存空间小于所述存储系统的储存空间,而上述的至少一目标数据位置包括上述的至少一指派区域。另外,于决定上述所述至少一目标数据位置以进行所述数据擦洗运作的过程中,控制电路110可对所述存储系统中的所述至少一指派区域进行(步骤320中所述的)所述数据擦洗运作,而非对所述存储系统的整体进行所述数据擦洗运作。例如:控制电路110可提供一用户接口(诸如上述者),以容许所述用户设定上述的至少一指派区域。
依据某些实施例,控制电路110可侦测(步骤320中所述的)所述数据擦洗运作所处理的数据的一累积数据量(Accumulated Data Amount),以产生另一侦测结果。另外,依据所述另一侦测结果,控制电路110可选择性地停止(Stop)所述数据擦洗运作。例如:当所述另一侦测结果指出(步骤320中所述的)所述数据擦洗运作所处理的数据的所述累积数据量达到一预定累积数据量门坎值时,控制电路110可停止(步骤320中所述的)所述数据擦洗运作。此外,于停止所述数据擦洗运作时,控制电路110可记录所述数据擦洗运作的最后数据位置(Last Data Location),其中所述最后数据位置代表所述数据擦洗运作已处理的最后数据(Last Data)的位置。例如:当所述存储系统中的另一数据擦洗运作被触发时,控制电路110可利用所述最后数据位置的下一位置,作为所述另一数据擦洗运作的开始位置。这只是为了说明的目的而已,并非对本发明的限制。依据某些实施例,停止所述数据擦洗运作可以被取代为暂停(Pause)所述数据擦洗运作。例如:当所述另一侦测结果指出(步骤320中所述的)所述数据擦洗运作所处理的数据的所述累积数据量达到一预定累积数据量门坎值时,控制电路110可暂停(步骤320中所述的)所述数据擦洗运作。此外,于暂停所述数据擦洗运作时,控制电路110可记录所述数据擦洗运作于暂停时的最后数据位置,其中所述最后数据位置代表所述数据擦洗运作已处理的最后数据的位置。例如:当所述数据擦洗运作被重新触发(Re-triggered)时,控制电路110可利用所述最后数据位置的下一位置,作为所述数据擦洗运作于重新触发时的开始位置。
依据某些实施例,除了决定上述的至少一目标数据位置(诸如一个或多个目标数据位置)以进行所述数据擦洗运作,控制电路110可侦测(步骤320中所述的)所述数据擦洗运作所处理的数据的所述累积数据量,以产生所述另一侦测结果。另外,依据所述另一侦测结果,控制电路110可选择性地停止所述数据擦洗运作。这只是为了说明的目的而已,并非对本发明的限制。依据某些实施例,控制电路110可自动地侦测所述存储系统的系统资源的忙碌等级(Busy Level),并根据所述忙碌等级来动态地调整所述数据擦洗运作的资源使用等级(Level of Resource Usage)。
依据某些实施例,只要不妨碍本发明的实施,控制电路110可具备上列各个实施例中所描述的各种运作的能力的各种组合,诸如对应于所述各种运作的至少一部分(例如:一部分或全部)的各种能力。依据这些实施例,本发明的方法(诸如方法300)与装置容许所述系统管理者设定所述存储系统,以通过各种控制因素的组态(Configuration)来选择性地启用(Enable)或禁能(Disable)上述各种能力中的任一者,其中控制电路110可于所述用户接口中提供多个组态接口(例如:多个窗口;又例如:多个标牌(Tab)),诸如一第一组态界面、一第二组态界面、一第三组态界面与一第四组态接口,以供所述系统管理者分别设定上述各种控制因素的所述组态。
以所述第一组态界面为例;本发明的方法(诸如方法300)与装置容许所述系统管理者通过所述第一组态接口设定所述存储系统,以通过利用至少两个子类型的控制因素,来控制需要启动与进行数据擦洗的时机,其中上述至少两个子类型的控制因素可包括:一第一子类型「事件触发」,其涉及决定哪些事件作为能触发数据擦洗的事件(诸如步骤310中所述的至少一预定系统事件);以及一第二子类型「时间排程」,其涉及决定排程执行的时间范围。关于所述第一子类型「事件触发」,步骤310中所述的至少一预定系统事件的所述例子已经于图3所示的实施例中说明,故不再重复赘述。所述存储系统的用户(诸如所述系统管理者)可以设定事件触发的条件,例如在上述的数据读写命令失败出现次数达五次之后立即启动(步骤320中所述的)所述数据擦洗运作、或在出现上述的文件系统错误之后立即启动(步骤320中所述的)所述数据擦洗运作。如此,控制电路110便能在事件发生之后实时检查数据是否存在错误,以通过利用基于图3所示的方法300所进行的数据擦洗(例如:所述数据擦洗运作;又例如:所述另一数据擦洗运作),来确保数据正确性。另外,关于所述第二子类型「时间排程」,所述系统管理者可使用一非传统排程控制方案(其异于相关技术中的所述现有的数据擦洗管理机制)来执行数据擦洗;尤其是,除了能够设定基本的时间排程(诸如上述对应于固定的时间周期的排程设定)之外,所述系统管理者还可以设定所述存储系统以容许额外的数据擦洗。针对所述额外的数据擦洗,所述系统管理者能限制可执行数据擦洗任务的时间,以尽量避免在所述存储系统可能较繁忙的时候执行数据擦洗任务。例如:所述系统管理者可设定每个月某几天仅能在凌晨两点到四点比较没有人会使用(所述存储系统的)服务的时段来进行数据擦洗。
请注意,本发明的方法(诸如方法300)与装置容许所述系统管理者通过所述第二组态接口设定所述存储系统,以控制进行数据擦洗的数据范围。所述现有的数据擦洗管理机制每次执行检查时,通常是对于整个现有的存储系统从头到尾来进行数据擦洗。相较于此,本发明的方法(诸如方法300)与装置容许所述系统管理者任意指定数据擦洗所要针对的数据范围,其中所述数据范围的例子可包括(但不限于):整个存储系统;某一(些)RIAD中存在有档案的位置;以及某些存有重要或敏感档案的数据夹。例如:控制电路110可以只针对所述(些)RIAD中存在有档案的位置,来进行数据擦洗。于是,在整个RAID容量很大、但存在档案数据的地方很少的状况下,本发明的方法(诸如方法300)与装置可以达到大幅地提升所述存储系统的整体效能的目标。又例如:控制电路110可以只针对某些存有重要或敏感档案的数据夹,来进行数据擦洗。于是,在所述存储系统的整体容量很大、但重要或敏感档案的数据量很少的状况下,本发明的方法(诸如方法300)与装置可以达到大幅地提升所述存储系统的整体效能的目标。
另外,本发明的方法(诸如方法300)与装置容许所述系统管理者通过所述第三组态接口设定所述存储系统,以控制进行数据擦洗的数据量,诸如执行一次数据擦洗所处理的数据量。由于所述现有的数据擦洗管理机制通常是每次对于整个现有的存储系统来进行,故每次执行的数据量即为整个现有的存储系统的储存容量。相较于此,本发明的方法(诸如方法300)与装置容许所述系统管理者任意指定每次执行数据擦洗任务时所要处理的数据量,诸如全部存储系统的容量、或是指定的数据量(例如:每次只处理1兆位组(Terabyte,TB)的数据量)。当所述系统管理者在所述第二组态接口中选择针对整个存储系统进行数据擦洗时,便可于所述第三组态接口中指定每次处理的数据量,使得在每次执行一数据擦洗任务时仅处理指定的数据量。当再度进行数据擦洗时(例如:再度执行所述数据擦洗任务;又例如:执行一后续(Subsequent)的数据擦洗任务),便会从前一次处理完毕的位置继续开始往下执行。于是,此特点可以将数据擦洗拆为多次进行,以避免每次执行一数据擦洗任务时耗费过长的时间而影响整体系统效能太久。
此外,本发明的方法(诸如方法300)与装置容许所述系统管理者通过所述第四组态接口设定所述存储系统,以控制数据擦洗如何使用系统资源,来决定一数据擦洗任务(于其被进行时)影响系统效能的程度。控制电路110可依照「系统自行动态调整」的方式来决定数据擦洗的资源使用等级(诸如上述者),尤其是能够自动侦测系统资源的忙碌等级(诸如上述者),并根据此忙碌等级来动态调整数据擦洗的资源使用等级,以期能尽量避免所述数据擦洗任务在系统忙碌的时候对于其它服务的效能影响,并在系统闲置时充分善用系统资源来提高数据擦洗的速度,缩短其执行所需的时间。上述的资源使用等级可选自多个预定资源使用等级,其中所述多个预定资源使用等级的例子可包括(但不限于):四个等级,诸如「高等级」、「中等级」、「低等级」、与「零等级」(即暂停数据擦洗任务)。如此,控制电路110可依据系统资源的忙碌等级(其可称为「系统忙碌等级」)来动态调整数据擦洗任务,使其套用适当的资源使用等级来平衡系统服务的效能。上述「系统忙碌等级」可以由控制电路110通过下列数值来界定:「CPU使用率」,「存储器使用率」,「HDD使用率」,「系统程序数量」,「系统应用程序联机数量」。例如:当一处理器诸如中央处理器(Central Processing Unit,可简称为「CPU」)的使用率超过50%时,控制电路110可将所述资源使用等级调整为低等级。又例如:当所述处理器的使用率超过80%时,控制电路110可将所述资源使用等级调整为零等级(即暂停任务)。又例如:当所述处理器的使用率低于30%且所述HDD使用率低于20%时,控制电路110可将所述资源使用等级调整为高等级。又例如:当所述HDD使用率超过60%时,控制电路110可将所述资源使用等级调整为零等级(即暂停任务)。又例如:当系统应用程序联机数量超过一预定程序联机数量门坎值(诸如50、或任何其它固定的数值)时,控制电路110可将所述资源使用等级调整为低等级。这只是为了说明的目的而已,并非对本发明的限制。在所述系统管理者可通过所述第四组态接口设定所述存储系统的状况下,本发明的方法(诸如方法300)与装置可保留弹性,让所述系统管理者自行定义所述如何依据系统忙碌等级来调整数据擦洗任务能够使用的资源使用等级。
于这些实施例中,基于上列各种控制因素的数据擦洗可称为「事件驱动与动态适性化」(Event Triggered and Dynamically Adapted)的数据擦洗。上述各种控制因素使得控制电路110可根据系统目前的软/硬件状态、数据的分布位置与管理者设定的时间区段来启动数据擦洗,并且能够依据系统资源的使用情况与所述系统管理者的偏好来动态调整适合的资源使用等级。于是,控制电路110能够立即反应并采取适合目前系统状态的行为,并且实时地确保系统上数据的正确性。
图4绘示图3所示的方法300于一实施例中所涉及的一工作流程400。工作流程400可应用于具备控制电路110的一系统,诸如存储系统100与200中的每一者。
于步骤410中,依据所述系统管理者通过所述第一组态接口所进行的设定,控制电路110可决定「所述系统进行数据擦洗的时机」,诸如:对应于事件触发或排程限制的时机。
于步骤420中,依据所述系统管理者通过所述第二组态接口所进行的设定,控制电路110可选择(或决定)「应进行数据擦洗的数据的范围」。
于步骤430中,依据所述系统管理者通过所述第三组态接口所进行的设定,控制电路110可决定「每次进行数据擦洗的数据量」。
于步骤440中,依据所述系统管理者通过所述第四组态接口所进行的设定,控制电路110可决定「于进行数据擦洗时如何调整资源使用等级」。
基于工作流程400,控制电路110容许所述系统管理者根据需求创建(Create)多个数据擦洗任务。另外,在所述系统管理者创建了所述数据擦洗任务之后,控制电路110可根据所述数据擦洗任务中的每个数据擦洗任务的设置,来进行数据擦洗以及相关控制。本实施例与前述实施例/变化例相仿之处不再重复赘述。
图5绘示图3所示的方法300于另一实施例中所涉及的一工作流程500。工作流程500可应用于具备控制电路110的一系统,诸如存储系统100与200中的每一者。
于步骤510中,针对数据擦洗,控制电路110可等待一小段时间。例如:在控制电路110没有任何其它任务的状况下,控制电路110可闲置(Idle)一小段时间。又例如:在控制电路110有某一(些)其它任务的状况下,控制电路110可进行所述(些)其它任务,且暂时不管有关数据擦洗的控制。
于步骤520中,控制电路110可检查目前是否有任何应被执行的数据擦洗任务。例如:控制电路110可搜集目前的系统状态与事件,且根据用户(诸如所述系统管理者)所设定的系统事件触发条件或时间区段来判断目前是否需要开始一数据擦洗任务。当目前有任何应被执行的数据擦洗任务时(尤其是,所述数据擦洗任务需要被进行、但还没开始),进入步骤530;否则,重新进入步骤510。
于步骤530中,控制电路110可决定需要进行数据擦洗的位置。例如:控制电路110可判断所述数据擦洗任务所应该处理的范围是否为整个存储系统或是某一(些)指定档案区域,并对应地决定哪一(些)位置需要进行数据擦洗。
于步骤540中,控制电路110可决定数据擦洗的开始位置。例如:控制电路110可依据上一次数据擦洗结束的位置,来决定现在要从哪个位置开始进行所述数据擦洗任务。
于步骤550中,控制电路110可决定(例如:调整)资源使用等级(Level ofResource Usage),诸如上述者。例如:控制电路110可侦测目前系统资源的使用状态,并根据用户所设定的组态来调整所述数据擦洗任务的资源使用等级。
于步骤560中,控制电路110可针对一小部分数据进行数据擦洗,并记录进行到哪个位置。例如:控制电路110可开始进行一小段数据的数据擦洗,并于完成这一小段数据的数据擦洗之后,记录这一小段数据的结束位置。
于步骤570中,控制电路110可检查是否已达到所设定的每次擦洗量,诸如上述的「每次进行数据擦洗的数据量」。例如:控制电路110可判断所述数据擦洗任务所处理的数据的数据量是否已经达到上述的「每次进行数据擦洗的数据量」。当已达到所设定的每次擦洗量时(也就是说,所述数据擦洗任务已完成),重新进入步骤510;否则,进入步骤580。
于步骤580中,控制电路110可检查目前时间是否为容许进行所述数据擦洗任务的时间,诸如用户所设定的「允许进行数据擦洗的时间」。当目前时间为容许进行所述数据擦洗任务的时间,重新进入步骤550;否则,重新进入步骤510。
基于工作流程500,控制电路110可根据系统目前的软/硬件状态、数据的分布位置与管理者设定的时间区段来启动数据擦洗,并且能够依据系统资源的使用情况与所述系统管理者的偏好来动态调整适合的资源使用等级。于是,控制电路110能够立即反应并采取适合目前系统状态的行为,并且实时地确保系统上数据的正确性。本实施例与前述实施例/变化例相仿之处不再重复赘述。
本发明的方法(诸如方法300)与装置可让所述系统管理者弹性地建立一个或多个数据擦洗任务。例如:所述系统管理者可以在一数据擦洗任务内指定其偏好执行数据擦洗的时机与时间区段,并可设定所述数据擦洗任务所欲针对的数据范围与数据量。于是,本发明的方法(诸如方法300)与装置可大幅地降低每次数据擦洗执行所需的时间,减少数据擦洗时对于系统效能的影响,并且实时地确保所述存储系统的数据正确性。基于「系统自行动态调整资源使用等级」与「容许系统管理者自行定义所述如何调整系统资源等级」的控制方案,本发明的方法(诸如方法300)与装置可根据系统状态与所述系统管理者的偏好来动态地调整一数据擦洗任务使用系统资源的程度(例如:让所述数据擦洗任务在系统闲置的时候可以使用较多的系统资源以全力进行数据擦洗;或者,在系统繁忙的时候,减少所述数据擦洗任务所使用的系统资源),以确保所述存储系统的其它服务的服务质量。因此,本发明的方法(诸如方法300)与装置能够根据系统状态实时地启动数据擦洗,且有弹性的缩短数据擦洗的运行时间,并且充分地利用所述存储系统当中未被善用的资源,让所述存储系统能够兼顾「服务效能」与「数据可靠度」。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种用来于一存储系统中进行数据擦洗管理的方法,所述方法包括有下列步骤:
侦测是否发生至少一预定系统事件中的一系统事件,以产生一侦测结果;以及
依据所述侦测结果,选择性地触发所述存储系统中的一数据擦洗运作。
2.如权利要求1所述的方法,其特征在于,所述至少一预定系统事件包括多个预定系统事件,而所述系统事件是所述多个预定系统事件中的一者;以及侦测是否发生所述至少一预定系统事件中的所述系统事件以产生所述侦测结果的步骤还包括:
侦测是否发生所述多个预定系统事件中的另一者,以产生所述侦测结果。
3.如权利要求1所述的方法,其特征在于,侦测是否发生所述至少一预定系统事件中的所述系统事件以产生所述侦测结果的步骤还包括:
侦测发生所述系统事件的一累积次数是否达到一累积次数门坎值,以产生所述侦测结果。
4.如权利要求3所述的方法,其特征在于,所述至少一预定系统事件包括多个预定系统事件,而所述系统事件是所述多个预定系统事件中的一者,其中所述累积次数门坎值对应于所述系统事件;以及侦测是否发生所述至少一预定系统事件中的所述系统事件以产生所述侦测结果的步骤还包括:
侦测是否发生所述多个预定系统事件中的另一者,以产生所述侦测结果。
5.如权利要求4所述的方法,其特征在于,侦测是否发生所述多个预定系统事件中的所述另一者以产生所述侦测结果的步骤还包括:
侦测发生所述多个预定系统事件中的所述另一者的一累积次数是否达到另一累积次数门坎值,以产生所述侦测结果,其中所述另一累积次数门坎值对应于所述多个预定系统事件中的所述另一者。
6.如权利要求3所述的方法,其特征在于,所述方法还包括:
提供一用户接口,以容许所述存储系统的一用户设定所述累积次数门坎值。
7.如权利要求1所述的方法,其特征在于,所述至少一预定系统事件中的每一预定系统事件并非通过排程设定所产生,其中所述数据擦洗运作是一非排程事件触发的数据擦洗运作。
8.如权利要求7所述的方法,其特征在于,所述至少一预定系统事件中的每一预定系统事件并非通过预先进行对应于固定的时间周期的排程设定所产生。
9.如权利要求1所述的方法,其特征在于,所述方法还包括:
决定至少一目标数据位置,以进行所述数据擦洗运作,其中所述至少一目标数据位置指出所述数据擦洗运作所处理的数据的范围。
10.如权利要求9所述的方法,其特征在于,决定所述至少一目标数据位置以进行所述数据擦洗运作的步骤还包括:
辨识所述存储系统当中的多个档案位置,其中所述多个档案位置分别对应于多个档案,而所述至少一目标数据位置包括所述多个档案位置;以及
对所述存储系统中的所述多个档案位置进行所述数据擦洗运作,而非对所述存储系统的整体进行所述数据擦洗运作。
11.如权利要求10所述的方法,其特征在于,辨识所述存储系统当中的所述多个档案位置的步骤还包括:
于所述存储系统中寻找具有一档案的任一位置,以供作为所述多个档案位置的一者。
12.如权利要求9所述的方法,其特征在于,决定所述至少一目标数据位置以进行所述数据擦洗运作的步骤还包括:
辨识所述存储系统当中的至少一指派区域,其中所述至少一指派区域的储存空间小于所述存储系统的储存空间,而所述至少一目标数据位置包括所述至少一指派区域;以及
对所述存储系统中的所述至少一指派区域进行所述数据擦洗运作,而非对所述存储系统的整体进行所述数据擦洗运作。
13.如权利要求12所述的方法,其特征在于,所述方法还包括:
提供一用户接口,以容许所述存储系统的一用户设定所述至少一指派区域。
14.如权利要求9所述的方法,其特征在于,所述方法还包括:
侦测所述数据擦洗运作所处理的数据的一累积数据量,以产生另一侦测结果;以及
依据所述另一侦测结果,选择性地停止所述数据擦洗运作。
15.如权利要求1所述的方法,其特征在于,所述方法还包括:
侦测所述数据擦洗运作所处理的数据的一累积数据量,以产生另一侦测结果;以及
依据所述另一侦测结果,选择性地停止所述数据擦洗运作。
16.如权利要求15所述的方法,其特征在于,所述方法还包括:
于停止所述数据擦洗运作时,记录所述数据擦洗运作的最后数据位置,其中所述最后数据位置代表所述数据擦洗运作已处理的最后数据的位置;以及
当所述存储系统中的另一数据擦洗运作被触发时,利用所述最后数据位置的下一位置,作为所述另一数据擦洗运作的开始位置。
17.如权利要求1所述的方法,其特征在于,所述方法还包括:
自动地侦测所述存储系统的系统资源的忙碌等级,并根据所述忙碌等级来动态地调整所述数据擦洗运作的资源使用等级。
18.一种用来于一存储系统中进行数据擦洗管理的装置,所述装置包括所述存储系统的至少一部分,所述装置包括有:
至少一存储装置,设置于所述存储系统中,用来储存信息;以及
一控制电路,设置于所述存储系统中、且耦接至所述至少一存储装置,用来控制所述存储系统的运作,其中所述控制电路侦测是否发生至少一预定系统事件中的一系统事件,以产生一侦测结果,其中,依据所述侦测结果,所述控制电路选择性地触发所述存储系统中的所述至少一存储装置的一数据擦洗运作。
19.如权利要求18所述的装置,其特征在于,所述至少一预定系统事件中的每一预定系统事件并非通过排程设定所产生,其中所述数据擦洗运作是一非排程事件触发的数据擦洗运作。
20.如权利要求19所述的装置,其特征在于,所述至少一预定系统事件中的每一预定系统事件并非通过预先进行对应于固定的时间周期的排程设定所产生。
CN201610151401.6A 2016-02-18 2016-03-17 用来于一存储系统中进行数据擦洗管理的方法与装置 Withdrawn CN107092543A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW105104706A TW201730764A (zh) 2016-02-18 2016-02-18 用來於一儲存系統中進行資料擦洗管理之方法與裝置
TW105104706 2016-02-18

Publications (1)

Publication Number Publication Date
CN107092543A true CN107092543A (zh) 2017-08-25

Family

ID=58098486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610151401.6A Withdrawn CN107092543A (zh) 2016-02-18 2016-03-17 用来于一存储系统中进行数据擦洗管理的方法与装置

Country Status (4)

Country Link
US (1) US20170242744A1 (zh)
EP (1) EP3208715A3 (zh)
CN (1) CN107092543A (zh)
TW (1) TW201730764A (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10649843B2 (en) * 2018-08-03 2020-05-12 Western Digital Technologies, Inc. Storage systems with peer data scrub
US10901848B2 (en) 2018-08-03 2021-01-26 Western Digital Technologies, Inc. Storage systems with peer data recovery
US10831603B2 (en) 2018-08-03 2020-11-10 Western Digital Technologies, Inc. Rebuild assist using failed storage device
US10824526B2 (en) 2018-08-03 2020-11-03 Western Digital Technologies, Inc. Using failed storage device in peer-to-peer storage system to perform storage-centric task
US11182258B2 (en) 2019-01-04 2021-11-23 Western Digital Technologies, Inc. Data rebuild using dynamic peer work allocation
US10963437B2 (en) 2019-05-03 2021-03-30 EMC IP Holding Company, LLC System and method for data deduplication
US10733158B1 (en) * 2019-05-03 2020-08-04 EMC IP Holding Company LLC System and method for hash-based entropy calculation
US10817475B1 (en) 2019-05-03 2020-10-27 EMC IP Holding Company, LLC System and method for encoding-based deduplication
US10990565B2 (en) 2019-05-03 2021-04-27 EMC IP Holding Company, LLC System and method for average entropy calculation
US11138154B2 (en) 2019-05-03 2021-10-05 EMC IP Holding Company, LLC System and method for offset-based deduplication
CN112506420A (zh) * 2019-09-16 2021-03-16 伊姆西Ip控股有限责任公司 在存储系统中管理擦洗操作的方法、设备和产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140229766A1 (en) * 2013-02-11 2014-08-14 Arm Limited Apparatus and method for performing data scrubbing on a memory device
CN104516962A (zh) * 2014-12-18 2015-04-15 北京牡丹电子集团有限责任公司数字电视技术中心 一种微博舆情监控方法及监控系统
US9170879B2 (en) * 2009-06-24 2015-10-27 Headway Technologies, Inc. Method and apparatus for scrubbing accumulated data errors from a memory system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8966343B2 (en) * 2012-08-21 2015-02-24 Western Digital Technologies, Inc. Solid-state drive retention monitor using reference blocks
US8996961B2 (en) * 2012-12-11 2015-03-31 Seagate Technology Llc Error correction code rate management for nonvolatile memory
US9612957B2 (en) * 2014-07-30 2017-04-04 Qualcomm Innovation Center, Inc. Read disturb and data retention handling for NAND devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9170879B2 (en) * 2009-06-24 2015-10-27 Headway Technologies, Inc. Method and apparatus for scrubbing accumulated data errors from a memory system
US20140229766A1 (en) * 2013-02-11 2014-08-14 Arm Limited Apparatus and method for performing data scrubbing on a memory device
CN104516962A (zh) * 2014-12-18 2015-04-15 北京牡丹电子集团有限责任公司数字电视技术中心 一种微博舆情监控方法及监控系统

Also Published As

Publication number Publication date
EP3208715A3 (en) 2017-11-01
EP3208715A2 (en) 2017-08-23
US20170242744A1 (en) 2017-08-24
TW201730764A (zh) 2017-09-01

Similar Documents

Publication Publication Date Title
CN107092543A (zh) 用来于一存储系统中进行数据擦洗管理的方法与装置
CN103502956B (zh) 运行时动态性能偏斜消除的方法和系统
US8751699B1 (en) Systems and methods for indication of activity status of a storage device
US9485160B1 (en) System for optimization of input/output from a storage array
US8448013B2 (en) Failure-specific data collection and recovery for enterprise storage controllers
KR100974043B1 (ko) 디스크 데이터 기억 시스템의 유지보수비를 결정하기 위한주문형 비용량성 기반 방법, 장치 및 컴퓨터 프로그램
US9886451B2 (en) Computer system and method to assist analysis of asynchronous remote replication
JP5589218B2 (ja) 計算機システム及び管理計算機
US20110075290A1 (en) Systems and methods for adjacent track interference (ati) risk management
US10102041B2 (en) Controlling workload placement to manage wear of a component nearing end of life
US11914455B2 (en) Addressing storage device performance
US10606490B2 (en) Storage control device and storage control method for detecting storage device in potential fault state
CN103970641A (zh) 一种基于容量预测技术的设备扩容方法
TW200532449A (en) Efficient media scan operations for storage systems
JP6191604B2 (ja) 情報処理装置、アクセス制御プログラム、およびアクセス制御方法
US20160110246A1 (en) Disk data management
US7546489B2 (en) Real time event logging and analysis in a software system
US8959056B1 (en) Method and apparatus for evaluating a backup policy in a computer network
US10509700B2 (en) Storage system and storage management method
US20140068214A1 (en) Information processing apparatus and copy control method
CN110515756A (zh) 一种存储系统的故障预防方法、装置、设备和存储介质
US7171531B2 (en) Process job flow analysis
US11106369B1 (en) Host-accessible storage device service level indicators
US8645774B2 (en) Expedited memory drive self test
Zhang et al. Evaluating the performability of systems with background jobs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20170825

WW01 Invention patent application withdrawn after publication