CN1908907A - 改善资料写入效率的方法以及实施此方法的子***与*** - Google Patents

改善资料写入效率的方法以及实施此方法的子***与*** Download PDF

Info

Publication number
CN1908907A
CN1908907A CNA2006100995867A CN200610099586A CN1908907A CN 1908907 A CN1908907 A CN 1908907A CN A2006100995867 A CNA2006100995867 A CN A2006100995867A CN 200610099586 A CN200610099586 A CN 200610099586A CN 1908907 A CN1908907 A CN 1908907A
Authority
CN
China
Prior art keywords
data
write
writes
requirement
storage media
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
CNA2006100995867A
Other languages
English (en)
Other versions
CN100421080C (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.)
INFORTREND Inc
Infortrend Technology Inc
Original Assignee
INFORTREND 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 INFORTREND Inc filed Critical INFORTREND Inc
Publication of CN1908907A publication Critical patent/CN1908907A/zh
Application granted granted Critical
Publication of CN100421080C publication Critical patent/CN100421080C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID 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
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0689Disk arrays, e.g. RAID, JBOD
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1019Fast writes, i.e. signaling the host that a write is done before data is written to disk

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)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明有关于一种改善资料写入效率的方法以及实施此方法的子***与***。该改善资料写入效率的方法,当写入资料,只要剩预设N笔资料未写完或者在等候一段特定时间后若仍有资料未写完,便先视其已完成,而先释放出相对应的资源,其中该未写完资料及其相关写入资讯储存于非挥发性记忆体中,以当若突然发生电源故障而导致写入资料中止,则在电源重新开启后,能透过先前所储存的待写入资料及其相关资讯来将未写入完成的资料重新写入储存媒体内。

Description

改善资料写入效率的方法以及实施此方法的子***与***
技术领域
本发明涉及一种资料写入方法,特别是涉及一种提升储存***的资料写入效率的方法。本发明还涉及实施此方法的子***与***。
背景技术
图1A为现有的磁碟阵列(RAID)储存***示意图,其包括主机11、控制器12以及实体磁碟机阵列(Physical Disk Drive Array)13,其中实体磁碟机阵列13包括有复数磁碟机D1,D2,D3及D4。上述的主机11与控制器12相连接,而控制器12分别与该等磁碟机D1,D2,D3及D4耦接。
上述的主机11透过控制器12来存取该等磁碟机D1,D2,D3及D4中的资料。通常,控制器12在接收来自于主机11的待写入资料(例如:待写入资料W1及W2)时,会将该等待写入资料暂存于其快取单元121,继而再由快取单元121将该等待写入资料分别写入至相对应的目标磁碟机(例如:磁碟机D1及D2)。
图1B为现有待写入资料由快取单元写入至储存媒体的流程图,其以RAID 5为例,有关其说明请一并参照图1A。假设待写入资料W1及W2的写入目标位置为同一区段条带,而当待写入资料W1及W2欲由控制器12的快取单元121写入至目标磁碟机D1及D2时(步骤S100),控制器12会先计算与待写入资料W1及W2相关的新同位资料P1(步骤S102),并储存一同位记录于快取单元121或另一非快取单元(图中未示),其中同位记录包括有待写入资料W1及W2所位于的区段条带的位置,以防止写入资料因电源中断而未完成写入所产生的问题,以供在电源恢复后进行同位元资料的一致性修正(步骤S105)。
接着,控制器12会将该等待写入资料W1,W2与新同位资料P1分别写入至目标磁碟机D1,D2及D4(步骤S110)。之后,若该等资料W1,W2与新同位资料P1皆成功分别被写入目标磁碟机D1,D2及D4,则控制器会删除的前所储存的同位记录(步骤S115)。继而再回传写入完成讯息至主机11(步骤S120)。
然而,在有些情况下资料有可能无法迅速写入完成。例如:若其中一磁碟机D2正在执行一读取要求,且该读取要求一直无法完成,则此时控制器12送至磁碟机D2的待写入资料W2的写入资料要求有可能会在伫列中等候而无法进行,若此时其他写入资料要求已完成,则控制器12将会一直等待该笔写入资料要求完成而无法回传写入完成讯息至主机11,且所有相关的写入资料W1,W2,P1与同位记录及其他有关此一区段写入资讯的记录也将会一直持续占用有限的记忆体空间。当记忆空间的资料一直未被释放,将造成无法有多余空间来接收新的写入资料,而此正在更新的区段条带因尚未完成写入,也无法对该区段条带进行另一个写入要求。在有些情况下,某些磁碟机存取资料于某些位置时的速度有可能总是比较慢,或磁碟机正在进行读取要求重试,暂时无法处理写入要求,该正在重新读取的资料或可经由其他相关的资料产生,但是写入要求的写入资料却必须实际完成写入磁碟机,因此控制器12必须一直等待这些存取慢的磁碟机完成其写入资料要求,才会回传写入完成讯息给主机11以及删除快取单元121中相关资料与同位记录。
虽然经由前述磁碟阵列的技术,可将较小实体储存装置结合成为容量较大、可容错、高效能的逻辑媒体单元而供一主机***存取使用。
然,在现今产业发展的需求下,提升储存***处理效能一直是一极重要的课题,相关业者无不以此为研发的目标。
有鉴于上述现有的储存***存在的缺陷,本发明人基于从事此类产品设计制造多年丰富的实务经验及专业知识,并配合学理的运用,积极加以研究创新,以期创设一种新型结构的储存***,能够改进一般现有的储存***,使其更具有实用性。经过不断的研究、设计,并经过反复试作样品及改进后,终于创设出确具实用价值的本发明。
发明内容
本发明的目的在于,克服现有的储存***存在的缺陷,而提供一种新的改善资料写入效率的方法以及实施此方法的子***与***,所要解决的技术问题是使其能够提升储存***效能,从而更加适于实用。
为达上述目的,本发明改善前述资料写入的方法。
依据本发明提供一种储存***中资料写入的方法,该方法由一第一控制器所执行,以处理一存取要求应用端所发出的一写入资料输出入要求,该方法包括有以下步骤:对一实体储存媒体阵列发出至少一实体储存媒体写入要求;查核一写入完成判断条件是否被满足;以及前述判断结果若为是,则视该写入资料输出入要求为已完成,并释放该至少一实体储存媒体写入要求中已完成者所对应的资源以及该写入资料输出入要求所使用的资源;其中该至少一实体储存媒体写入要求中未完成者的写入资料与其相关写入资讯储存于一记忆体中,待写入完成后再以清除。
依据本实施例的一特色,本发明方法的进一步特征在于:其中该判断条件为一特定时间,用以当达到该特定时间即先行视该写入资料输出入要求为已完成。
依据本实施例的一特色,本发明方法的进一步特征在于:其中该判断条件为一预设笔数,用以当该至少一实体储存媒体写入要求中未完成者的数量不大于该预设笔数时,即先行视该写入资料输出入要求为已完成。
依据本实施例的一特色,本发明方法的进一步特征在于:其中该预设笔数的数值的设定基于所采用的磁碟阵列型态而定。
依据本实施例的一特色,本发明方法的进一步特征在于:其中该预设笔数的数值的设定基于该储存***所能容忍储存媒体暂时无法存取的等待时间,该等待时间基于记忆体大小、***效能与有效磁碟机数而决定。
依据本实施例的一特色,本发明方法的进一步特征在于:其中在该发出要求步骤之后,更包括一计时步骤,用以计算一预设时间值,使达该预设时间才进行该判断步骤,且若于达该预设时间前该至少一实体储存媒体写入要求即皆已完成,则无须进行该判断步骤。
依据本实施例的一特色,本发明方法的进一步特征在于:更包括:将该至少一实体储存媒体写入要求中已完成者的资料储存空间腾出供后续输出入操作运算使用。
依据本实施例的一特色,本发明方法的进一步特征在于:其中该释放该至少一实体储存媒体写入要求中已完成者所对应的资源的步骤,包括解除因该写入资料输出入要求而对写入的区段条带的锁定及允许其他输出入操作对该区段条带进行存取。
依据本实施例的一特色,本发明方法的进一步特征在于:其中该记忆体具有即便电源中断仍能至少暂时维持所储存资料使之不会消失特性,使该至少一实体储存媒体写入要求中未完成者的写入资料与其相关写入资讯能持续保持直到实际完成写入为止。
依据本实施例的一特色,本发明方法的进一步特征在于:其中储存于该记忆体中的该至少一实体储存媒体写入要求中未完成者的相关写入资讯包括有写入位址,以供遇电源中断的情况时,在电源恢复后能藉以将该未完成写入要求者重新写入至该实体储存媒体阵列。
依据本实施例的一特色,本发明方法的进一步特征在于:其中在发出该实体储存媒体写入要求前更包括以下步骤:接收来自于该存取要求应用端的该写入资料输出入要求及相对应的写入资料;将来自于该存取要求应用端的该写入资料存于该记忆体;以及因应该存取要求应用端的该写入资料输出入要求,执行对该实体储存媒体阵列发出该至少一实体储存媒体写入要求的步骤,以将来自于该存取要求应用端的该写入资料写入该实体储存媒体阵列中。
依据本实施例的一特色,本发明方法的进一步特征在于:其中该相关写入资讯包括有一写入状态注记,以供区分所对应写入资料的写入状态。
依据本实施例的一特色,本发明方法的进一步特征在于:在接收到来自于该存取要求应用端的该写入资料而储存于该记忆体时,该写入资料所对应的该写入状态注记所指示的写入状态为待进行写入;在因应该存取要求应用端的该写入资料输出入要求,执行对该实体储存媒体阵列发出该至少一实体储存媒体写入要求的步骤前,将该写入资料所对应的该写入状态注记变更为指示正进行写入的注记;以及将确实已完成写入的该实体储存媒体写入要求的资料所对应的该写入状态注记变更为指示写入完成的注记。
依据本实施例的一特色,本发明方法的进一步特征在于:更包括有一变更记录步骤,记录正在进行写入状态变更为正进行写入的注记的资料所对应的区段条带的位置。
依据本实施例的一特色,本发明方法的进一步特征在于:当遇电源中断的情况时,在复电后依据该记忆体内各写入资料所对应的该写入状态注记,而将该写入状态注记指示为正进行写入者,重新写入该实体储存媒体阵列;以及依据该变更记录对该所记录的区段条带进行同位资料一致性修正。
依据本实施例的一特色,本发明方法的进一步特征在于:更包括有当遇电源中断的情况时,在恢复供电后依据该变更记录,重新处理该所记录的区段条带所对应的写入要求。
依据本实施例的一特色,本发明方法的进一步特征在于:其中在发出该至少一实体储存媒体写入要求的步骤前,包括有:对该至少一实体储存媒体写入要求的写入目标位置的至少一实体储存媒体下达取消命令,以取消该至少一实体储存媒体已存在而进行的该目标位置的写入要求;以及抛弃已储存于该记忆体中与该至少一实体储存媒体写入要求的写入目标位址相同的资料与其相关写入资讯。
依据本实施例的一特色,本发明方法的进一步特征在于:其中在发出该至少一实体储存媒体写入要求的步骤前,包括有:抛弃储存于该记忆体中与该至少一实体储存媒体写入要求的写入目标位址相同且尚未下达相对应的写入要求者的资料与其相关写入资讯。
依据本实施例的一特色,本发明方法的进一步特征在于:其中储存于该记忆体中写入目标位址相同的未实际完成写入的每笔资料具有一相对应的计数值,用以显示同一写入目标位址的多笔资料的先后顺序。
依据本实施例的一特色,本发明方法的进一步特征在于:更包括有在该发出至少一实体储存媒体写入要求的步骤前,整合储存于该记忆体中且与该至少一实体储存媒体写入要求的写入目标位址相同的资料。
依据本实施例的一特色,本发明方法的进一步特征在于:更包括储存该至少一实体储存媒体写入要求中未完成者的资料与相关写入资讯于一第二控制器的一记忆体中,而能在该第一控制器发生状况时,由该第二控制器接手继续完成写入动作。
依据本实施例的一特色,本发明方法的进一步特征在于:更包括该第一控制器查核该写入完成判断条件,且该判断条件被满足后,将该至少一实体储存媒体写入要求中未完成者的资料与相关写入资讯传送至一第二控制器而储存于一记忆体中,使能在该第一控制器发生状况时,由该第二控制器接手继续完成写入动作。
依据本实施例的一特色,本发明方法的进一步特征在于:更包括有该第一控制器将该写入资料输出入要求所对应的区段条带位置传送至一第二控制器而暂存于该第二控制器内的一记忆体内,以使当该第一控制器发生状况而由该第二控制器接手时,该第二控制器依据该所暂存的区段条带位置对该区段条带进行同位资料一致性修正的步骤。
再者,依据本发明提供一种储存***,包括:一存取要求应用端,用以发送一写入资料输出入要求;一第一控制器,耦接于该存取要求应用端;至少一实体储存媒体阵列,耦接于该第一控制器,用以透过该第一控制器对该存取要求应用端提供储存空间;其中该第一控制器为因应该写入资料输出入要求,对该实体储存媒体阵列发出至少一实体储存媒体写入要求,且于满足一写入完成判断条件时,即视该写入资料输出入要求为已完成,并将该至少一实体储存媒体写入要求中未完成者的写入资料与其相关写入资讯储存于一记忆体中以及释放该至少一实体储存媒体写入要求中已完成者所对应的资源与该写入资料输出入要求所使用的资源。
又,依据本发明提供一种储存子***,包括有:一第一控制器;至少一实体储存媒体阵列,耦接于该第一控制器;其中当该第一控制器对该实体储存媒体阵列发出至少一实体储存媒体写入要求,且于满足一写入完成判断条件时,即视来自于一存取要求应用端的一写入资料输出入要求为已完成,并将该至少一实体储存媒体写入要求中未完成者的写入资料与其相关写入资讯储存于一记忆体中以及释放该至少一实体储存媒体写入要求中已完成者所对应的资源与该写入资料输出入要求所使用的资源。
借由上述技术方案,本发明改善资料写入效率的方法以及实施此方法的子***与***至少具有下列优点:
本发明在待写入资料由非挥发性记忆体写入于实体储存装置时,可在N笔资料尚未写入时,便视该整体写入动作已完成,且将已收到实体储存装置写入完成回复的写入资料以及相关写入资讯的非挥发性记忆体储存空间先腾出而供其他运算操作使用,并释放相对应的资源,以改善整体***效能。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1A为现有储存***的示意图。
图1B为现有资料写入的流程图。
图2为本发明的***架构示意图。
图3A为本发明的一实施例的动作流程图。
图3B为本发明的一实施例的动作流程图。
图3C为本发明的一实施例的动作流程图。
图4A为本发明的一实施例的动作流程图。
图4B为本发明的一实施例的架构示意图。
图4C为本发明的一实施例的架构示意图。
图5A为本发明的冗余架构的一实施例的示意图。
图5B为本发明的冗余架构的一实施例的示意图。
图5C为本发明的冗余架构的一实施例的示意图。
图6为本发明整合写入资料的一实施例的示意图。
11:主机
12:控制器
121:快取单元
13:实体磁碟机阵列
W1,W2:写入资料
P1:同位资料
D1,D2,D3,D4:磁碟机
21:存取要求应用端
22:储存子***
221,51,52,61,62:控制器
2211:控制单元
2212,511,521,611,621:非挥发性记忆体(NVRAM)
222:实体磁碟机阵列
D5~D20:磁碟机
W1’,W2’,W3’,W21’,W22’:写入资料
W21~W23,W4~W14,W13’,W14’:写入资料
P1’,P24,P24’,P2’~P4’:同位资料
41,42,43:区段条带
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的改善资料写入效率的方法以及实施此方法的子***与***其具体实施方式、结构、特征及其功效,详细说明如后。
本发明改善资料写入效率的方法,是在储存***中,先设定有一写入完成判断条件,对一写入要求而言,若写入要求需写入数笔资料至储存装置时,会查核该判断条件,当该判断条件被满足时,便视该写入要求为写入完成,而先回复写入完成讯息于存取要求应用端并释放出相对应的资源,以改善整体***效能。此外,本发明写入资料时所适用的储存装置可为磁带(Tape)、磁碟机(Disk Drive)、记忆体(Memory)或光储存记录媒体或其他等效的储存装置。
图2为本发明较佳实施例的储存***示意图,其包括存取要求应用端(Application I/O Request Unit)21与储存子***22,其中存取要求应用端21可为一主机(Host)或需要写入资料于储存子***22中的应用设备,储存子***22包括控制器221与实体磁碟机阵列(Physical Disk DriveArray)222。控制器221具有控制单元2211与非挥发性记忆体(NVRAM)2212,其中非挥发性记忆体2212亦可广义地包括具有电池备援单元(Battery Backup Unit,BBU)的记忆体,或者其他具有控制器221电源中断时却仍能维持其所储存的资料不消失的特性的记忆体。上述的实体磁碟机阵列222具有复数个磁碟机D5,D6,D7及D8。实体磁碟机阵列222可以具有8个、16个或32个磁碟机或其他数量的磁碟机。
当上述的存取要求应用端21为一主机时,其可透过储存区域网路(SAN)、乙太网路(区域网路(LAN))或序列先进技术(Serial ATA,SATA)介面、光纤通道(Fiber Channel,FC)、小型电脑标准介面(Small ComputerSystem Interface,SCSI)、PCI Express或序列连接SCSI(Serial-AttachedSCSI,SAS)等输出入(I/O)介面相连接。而在一些场合中,存取要求应用端21可为一特殊积体电路(ASIC)或其他能够送出写入资料输出入要求的等效装置,其是能依据其他装置的命令而送出写入资料输出入要求至控制器221,以供透过控制器221写入资料至实体磁碟机阵列222。
上述的储存子***22中的控制器221及实体磁碟机阵列222可同时被安置于一箱体(Enclosure)中,亦可独立分开而容置于不同的箱体,此外,存取要求应用端21亦可与储存子***22容置于同一箱体。控制器221可透过序列连接SCSI(Serial-Attached SCSI,SAS),SCSI,SATA,平行ATA(PATA,或称IDE)或光纤通道(Fiber Channel,FC)等传输介面来与该等磁碟机D5,D6,D7及D8相连接,所以该等磁碟机D5,D6,D7及D8亦可为SAS,SCSI,SATA,PATA(IDE),FC等各种不同类型的磁碟机。上述的控制器221可为磁碟阵列控制器(RAID Controller),其中磁碟阵列技术广义地包括RAID 0-6及其延伸与组合。
图3A为本发明的一实施例的动作流程示意图。于本实施例中,此流程可应用于控制器221的非挥发性记忆体2212与实体磁碟机阵列222之间。其中对存取要求应用端21的资料可以设定为直接写入(Write-Through)模式或回写(Write-Back)模式。然而,不论为直接写入模式或回写模式,通常接收来自于上层装置(例如:存取要求应用端21)的待写入资料皆会暂存于非挥发性记忆体2212,且待写入资料之后并会由非挥发性记忆体2212写入于储存媒体。因此当待写入资料由非挥发性记忆体2212写入至储存媒体时,本实施例的流程即可适用。
有关图3A的说明敬请一并参照图2。假设***采用的RAID型态为RAID5时,欲将位于同一区段条带的待写入资料W1’,W2’,W3’由非挥发性记忆体2212写入储存媒体D5,D6,D7(如图4B所示),则在写入之前,控制器221会先计算待写入资料的区段条带41的新同位资料P1’,并将该新的同位资料P1’储存于非挥发性记忆体2212(步骤S305),然而,在另一实施利中此同位资料P1’储存于另一记忆体。继而,控制器221由非挥发性记忆体2212分别写入资料W1’,W2’,W3’及同位资料P1’于磁碟机D5,D6,D7及D8(步骤S315)。在控制器221分别写入资料于目标磁碟机D5,D6,D7及D8后,其会判断是否只剩(或少于)预设的N笔资料尚未写完至目标磁碟机D5,D6,D7及D8(步骤S320),若还有大于N笔资料未写完,则控制器221继续等待该等资料写入于目标磁碟机,直到只剩下(或少于)N笔资料未写完;若只剩下小于或等于N笔资料未写完,例如:假设N=1,且只有资料W2’尚未写入完成,则控制器221视存取要求应用端21所发出的写入资料输出入要求已完成,而回复一写入完成讯息于存取要求应用端21,并将先前储存于非挥发性记忆体2212中该等确实已经写入至目标磁碟机的写入资料(例如:资料W1’,W3’,P1’)标示为写入完成(该笔可用来作为读取快取),或腾出其记忆体2212中的储存空间供后续I/O操作运算使用,并释放相对应的资源(resource),例如:解除对该区段条带的锁定及允许其他I/O对该区段条带进行存取(access)。(步骤S350)。
请注意,实际上此时具有N笔资料(如资料W2’)尚未完成写入磁碟机(如D6)。该N笔未写完的资料及其相关写入资讯会持续保留储存于非挥发性记忆体2212中,直到其完成写入为止(步骤S330)。
而前述储存于非挥发性记忆体2212中的未完成写入资料的相关写入资讯包括写入位址,利用NVRAM于电源中断仍能暂时维持资料的特性,以防止未写完资料因电源中断而遗失,以供在电源恢复后能藉以进行资料重新写入动作。
然而,在其他实施例中,因成本考量或其他考量下,可能未使用NVRAM来储存未完成写入的写入资料。当判断写入完成的条件成立(如前述的只剩N笔资料尚未写入),控制器221先行回复写入完成讯息于存取要求应用端21,以达到较佳的写入效能;然而,当使用于有查核资料(check data)的磁碟阵列(RAID)时,未完成写入的写入资料尚储存于挥发性记忆体(Volatile Memory),并另行将同位记录(parity updating log)记录于容量较小的NVRAM。若此时有电源中断的情形发生,则未完成写入的资料会造成该区段条带(stripe)的资料不一致,此时则根据同位记录(parityupdating log)的资料来做一致性修复。在另一实施例中,或并未使用此容量较小的NVRAM来储存同位记录(parity updating log),则于电源恢复之后,则需对磁碟阵列(RAID)的所有资料做一致性检查。
而在另一实施例中,在计算新同位资料后,更包括进行储存同位记录的步骤,且于步骤S350中更包括释放(如:删除)此同位记录,使提高整体***效能。
再者,前述实施例中虽以具有一个同位资料(P)举例说明,如RAID3-5。但若***采用的RAID型态支援复数个同位资料者(如:RAID 6每个区段条带应具有二个同位资料P与Q),则该步骤S305即应分别计算出相对应的复数个新的同位资料。若采用的RAID型态不具有同位资料者(如RAID 0无查核资料(check data)),则该步骤S305可去掉。
在一实施例中,上述的N笔资料的设定依据所采用的RAID型态(RAIDlevel)而定,例如:RAID3-5,则N=1,此利用其支援一个同位资料(P)的特性,使***发生问题时,可利用其他的磁碟机内的资料将该未实际完成写入的资料恢复或重建。
而在另一实施例中,上述的N笔资料的设定基于储存***所能容忍储存媒体暂时无法存取的等待时间(T),其中T=记忆体大小/(***效能/有效磁碟机数)。例如:若***效能为每秒钟必须处理200MB(百万位元组),且此储存***中有8+1颗磁碟机所组成的RAID 5,其中8颗磁碟机为有效磁碟机数,则每一颗磁碟机每秒分担25MB资料处理量。若非挥发性记忆体2212的大小为512MB且N设定为1,代表只剩1笔资料未写入完成,控制器221即可视对该区段条带的写入资料输出入要求为已完成而回复一写入完成讯息于存取要求应用端21,并先释放相对应的资源(resource)。若有某一颗磁碟机暂时无法完成资料写入,则此时每秒会累积25MB未完成的I/O资料于非挥发性记忆体2212内,20秒则会累积500MB未完成的I/O资料,因此若该目标磁碟机于20秒内完成该笔资料写入则***将不会有任何延迟。亦即,若目标磁碟机在21秒时才完成该笔资料写入,则累积的未完成I/O资料将超过非挥发性记忆体2212的容量,而导致***会有一秒钟的延迟发生。
相类似地,若N=2,代表只剩2笔资料未写入完成时即可视写入资料输出入要求为已完成,则该储存***所能容忍的等待时间为10秒。因此,N值的设定必须考量***效能、磁碟机数量、记忆体大小等操作环境因素。当然,在其他实施例中,N值的设定亦可透过其他方式来决定。
前述的实施例中,是以设定一N值作为控制器221提前认定写入要求已完成的判断条件,亦即,当***满足只剩预设的N笔资料尚未写完,即先回复写入完成讯息于存取要求应用端21,并视存取要求应用端21发出的写入资料输出入要求已完成,且将先前储存于非挥发性记忆体2212中该等确实已经写入至目标磁碟机的写入资料标示为写入完成(该笔可用来作为读取快取),及腾出其记忆体2212中的储存空间供后续I/O操作运算使用,并释放相对应的资源(resource),例如:解除对该区段条带的锁定及允许其他I/O对该区段条带进行存取(access),以及该等未写完的资料及其相关写入资讯会持续保留储存于非挥发性记忆体2212中,直到其完成写入为止。在另一实施例中,此判断条件可为一时间值,即当达到该预设的特定时间后,无论尚有几笔资料未写入完成,控制器221仍将视存取要求应用端21所发出的写入资料输出入要求已完成,而回复一写入完成讯息于存取要求应用端21。
又,在另一实施例中,可结合前述两种参数(N值与特定时间)作为提前认定写入完成的判断条件。请参阅图3B,是描绘其中一种实施样态,首先在一预设时间未到达前查核是否收到该等资料的各目标磁碟机的写入完成回复,即所有的资料是否完成写入,如图中步骤S323,之后等待并判断是否超过一预设的特定时间(步骤S325),而若其于预设的特定时间后尚未完全完成写入才会去确认是否只剩小于或等于预设N笔资料尚未完成写入(步骤S327),而若剩下小于或等于该预设的N笔资料尚未写入完成,则该控制器221如前述释放该等确实已经写入至目标磁碟机的写入资料记录并视写入资料输出入要求已完成,且释放相对应的资源。
在图3B的实施例中,采用控制器221在送出实体储存媒体写入要求(Physical Storage Medium Write Request)至目标磁碟机经过一特定时间后才查核写入状况的设计方式。其中虽设计为在到达预设时间后即等待直到剩余未完成的笔数等于或小于N值,但本发明并不限制于此等手法,例如在另一实施例中,如图3C所示,可设计为当达到第一次的预设时间后,若剩余未完成的笔数大于N笔时,则重新回到步骤S323,即重新再计时一次。
另外,在一实施例中,写入资料中的包括写入位址等的相关写入资讯可在进行写入目标磁碟机前即与对应的写入资料一并储存于非挥发性记忆体内,而当***因电源中断后恢复电源后,即可透过读取非发性记忆体内的资料进行重新写入而防止资料写入遗失或错误的情况。因此在此实施例中,可无须采用现有技术中的储存同位记录的相关手段。
在一实施例中,每一笔写入资料储存于非挥发性记忆体2212中的写入资料的相关写入资讯进一步地包括写入状态与写入位址,以供透过写入状态而令未完成写入资讯与其他储存于非挥发性记忆体2212中的资料有所区分,例如:当写入状态被设定为“0”,代表其所对应的资料已无须写入,可能是已完成写入的资料;当写入状态被设定为“1”,代表其所对应的资料需进行写入,可能是尚待进行写入或正进行写入的资料。当然,在其他的实施例中更可将资料的各种写入状态再细分而采用更多的状态注记,例如:尚待进行写入或正进行写入的资料例用不同的注记区分,或完成写入的资料或无须写入的资料亦利用不同的注记来区分。且此领域的技术人员当能了解相关的注记方式不受前述举例限制。
图4A为采用此种配置的实施例的流程图,而为方便说明以了解本实施流程,假设采用的方式为,写入状态“0”,代表其所对应的资料已完成写入的资料,而可当作读取快取使用;写入状态“1”,代表其所对应的资料尚待进行写入;写入状态“2”,代表其所对应的资料正进行写入。
在本实施例中,此流程如前一实施例相同,可应用于控制器221的非挥发性记忆体2212与实体磁碟机阵列222之间,当接收来自于上层装置(例如:存取要求应用端21)的待写入资料及相关写入资讯会暂存于非挥发性记忆体2212。但于本实施例中,除暂存该等资料外,尚包括该等资料所对应的写入位置及写入状态,且此时,由于此写入资料尚未由非挥发性记忆体2212写入于储存媒体,因此,写入资料的相关写入资讯中的写入状态设为“1”。
请同时参考图4A与图4B,以RAID 5为例,当欲将待写入资料W1’,W2’,W3’由非挥发性记忆体2212写入储存媒体D5,D6,D7,则在写入之前,控制器221同样地会先计算待写入资料的区段条带41的新同位资料P1’,并将该新的同位资料P1’及其相关写入资讯(包括写入状态与写入地址)储存于非挥发性记忆体2212(步骤S405)。接着控制器221将此等写入资料的写入状态改为“2”(步骤S410),继而,由非挥发性记忆体2212分别写入资料W1’,W2’,W3’及同位资料P1’于磁碟机D5,D6,D7及D8(步骤S415)。
在控制器221分别写入资料于目标磁碟机D5,D6,D7及D8后,其会判断是否只剩预设的N笔资料尚未写完至目标磁碟机D5,D6,D7及D8(步骤S420),此可藉由收到磁碟机的写入完成回复来计数,而可了解未完成者有几笔,且在收到磁碟机的写入完成回复时,控制器会将该笔完成写入的资料的写入状态改为“0”(步骤S425),控制器221随即将写入状态为“0”者所对应的储存空间释放出,而使该等储存空间可供后续I/O操作运算使用,例如:图4B中所示,资料W1’,W3’,P1’已写入完成,而其相对应的写入状态即变更为“0”。
若还有大于N笔资料未写完,则控制器221继续等待该等资料写入于目标磁碟机,直到只剩N笔资料未完成;若只剩下小于或等于N笔资料未写完,例如图4B中所示者,假设N=1,且只有资料W2’尚未写入完成。此时,控制器221将视由存取要求应用端21发出对该区段条带的写入资料输出入要求为已完成,并释放相对应的资源(resource),如:释放写入该区段条带所需额外的记忆体,而仅保留写入资料W2’所需的记忆体,及允许其他I/O对该区段条带进行存取(access)(步骤S450)。同样地,若有使用同位记录,则释放(删除)此同位记录。请注意,此时具有N笔资料(如资料W2’)尚未完成确实写入磁碟机(如D6)。因此,该N笔未写完的资料的写入状态仍旧保持为“2”,且其实际上仍在进行写入动作中,并于收到写入完成回复后更改其写入状态为“0”(步骤S430)。
而若在尚未写入完成的资料W2’正在写入时却发生电源中断,由于资料W2’及其相关写入资讯因先被储存于非挥发性记忆体2212,所以资料W2’及其相关写入资讯不会因为电源中断而消失,且在控制器221重新启动电源后,控制器221会直接检查非挥发性记忆体2212中有那些资料的写入状态被设定为“2”,例如图4B中,资料W2’即处于尚未完成写入的状态,依据被设定为“2”的写入状态以及相对应的写入位址及写入资料来将未写入完成的的资料W2’重新写入目标磁碟机。以确保正在进行写入中的资料不会因断电而遗失。且因资料W2’写入后,将会使该区段条带的同位资料具一致性,因此可不需使用同位记录来重新运算同位资料以进行区段条带资料的一致性修正。
而就待进行写入的写入资料,也由于该等写入资料及相关写入资讯皆储存于非挥发性记忆体2212内,因此即便发生电源中断等情况也不会消失,故而,在控制器重新启动后,仍可依据写入状态(设为“1”)来了解尚有那些写入资料尚待进行写入至目标磁碟机的动作,而可接续断电前的操作,依序安排进行写入。
在此种实施方式中,直接使用资料的写入状态来了解资料的写入情况,因而当遇***断电等情况,根据写入状态与写入位址等相关的内容即可进行资料的回复或接续安排进行写入动作,故而其可无需储存同位记录。但是并不限制其搭配使用储存同位记录的操作方式。
再者,对控制器而言,由于写入状态为“0”代表其收到写入目标磁碟机的写入完成回复,即该笔资料写入完成,因此,其相对应的资料储存空间可被腾出而供后续I/O操作运算使用,亦即每一写入子操作一经完成,该储存空间即可被腾出使用,而不用等到整个写入操作完成。
又,对于采用RAID型态为具有检查资料(check data)的储存***,例如:RAID1具有镜射(Mirror)资料,RAID 5具有一个同位(Parity)资料或RADI 6具有二个或多个同位资料等等。就此种磁碟阵列(RAID)储存***而言,其中一个很重要的功能为依照所采用的RAID型态(RAID level)而容许***在至少一个磁碟机发生问题时,可利用其他的磁碟机内的资料恢复或重建。
因此,在进行写入某一磁碟机位置的资料的动作时,同时一定得更新该位置相对应的检查资料,以维持该区段条带的同位资料的一致性。例如:前述的实施例中,在对一区段条带进行资料写入时,须先计算出该区段条带的新的同位资料,并且于写入该等资料时同时进行更新。
因而,对于此种储存***而言,在实际上处理一个写入资料输出入要求时,就其所对应的一个区段条带会有多个资料需分别写入不同的磁碟机(至少包括写入资料与检查资料)。然而该复数笔资料在要进行写入前的写入状态的变更完成时间可能非为一致。但若于此变更途中不幸发生断电等情况,则记忆体内的该笔写入要求的该区段条带的各写入资料的写入状态可能产生不一致的情况。例如:同一区段条带的该等写入资料可能有些先已完成变更写入状态而为正在写入,但有些还没完成变更而为待写入。于是在恢复供电后,若控制器径依据写入状态,仅将已完成变更者写入目标磁碟机中,这将造成该区段条带同位元资料不一致的情况。
在一实施例中,设计为具有一变更记录,用以在该等写入状态变更完成前记录正在进行写入状态变更的资料所对应的区段条带的位置。
请续参阅图4C,其中以RAID5为例,假设对区段条带42而言,各磁碟机D5,D6,D7及D8分别原先已存有资料W21,W22,W23与P24。理论上同位资料应为一致,即P24=W21W22W23。而后控制器剖析一写入资料输出入要求而欲将资料W21’,W22’分别写入区段条带42的磁碟机D5,D6时,会先计算该区段条带42的新的同位资料P24’(P24’=W21’W22’W23=W21’W22’W21W22P24)。而在本实施例中,在准备进行写入目标磁碟机前,变更资料W21’,W22’及P24’的写入状态的同时或之前,将区段条带42的位置记录起来直到该等资料W21’,W22’及P24’的写入状态皆顺利变更完成为止。
而若不幸在变更写入状态途中发生断电等情况,假设此断电时,刚好仅有W21’的写入状态完成变更为2,W22’,P24’仍为1。在恢复供电后,控制器若依据记忆体2212内的资料,仅将写入状态记录为2的W21’写入目标磁碟机中,则将会发生该区段条带42同位资料不一致的状况,因为,磁碟机D8内的同位资料并未被更新,而仍是P24,但P24≠W21’W22W23。而于本实施例中,除会将W21’写入磁碟机D5内,尚会查核变更记录,得知区段条带42在断电时正在进行相关的写入资料的写入状态变更,因而,控制器同时会对区段条带42进行同位资料一致性修正。
或者,在其他的实施例中,当恢复供电后,控制器查核记录得知区段条带42在断电时正在进行写入状态变更,则控制器并不会将此区段条带42所对应而写入状态为2的写入资料W21’写入目标磁碟机D5中,而是重新处理该区段条带42所对应的写入要求。同样地,在使用前述具有写入状态配置的其他实施例中,可设定一特定时间值,控制器221在送出输出入要求(IO Request)至目标磁碟机经过该特定时间后才查核写入状况,判断是否只剩下小于或等于该预设的N笔资料尚未写入完成。
图5A为本发明其他实施例的示意图,其为一冗余(Redundant)控制器架构,且该冗余架构可为主动-主动(Active-Active)模式或主动-被动(Active-Standby)模式。于图5A中,其包括控制器51,52以及实体磁碟机阵列53,其中控制器51具有非挥发性记忆体511,控制器52具有非挥发性记忆体521,实体磁碟机阵列53具有磁碟机D9,D10,D11及D12。
在冗余架构中,例如在主动-被动模式中,控制器51为主要控制器(Primary Controller),控制器52为次要控制器(SecondaryController),则控制器51的非挥发性记忆体511中的资料会拷贝(copy)至控制器52的非挥发性记忆体521,以使得控制器51故障时,控制器52能立即接手其未完成的工作,而不至于有资料遗失或资料错误的状况产生。在本实施例中,控制器51的非挥发性记忆体511中储存有资料W4,W5及W6,而控制器52的非挥发性记忆体521中亦储存有资料W4,W5及W6。
当控制器51将非挥发性记忆体511中的资料W4,W5及W6写入实体磁碟机阵列53中的磁碟机D9,D10及D11时,其操作方式与上述实施例相类似。但在控制器51新增或更动非挥发性记忆体511中的资料时会通知另一控制器52,以使二控制器51,52的非挥发性记忆体511,521中的资料能几乎维持同步一致。例如:当控制器51要进行写入资料W4,W5,W6至磁碟机前,会计算新的同位资料P2’,并将此同位资料P2’及相关写入讯息存于非挥发性记忆体511内,此时亦会将此储存资料(P2’与相关写入讯息)拷贝至控制器52的非挥发性记忆体521内;或者,若为有写入状态的方式,当写入状态有改变时,要通知控制器52使记忆体521相对应的更改;或,若有变更记录,则一样需通知控制器52使记忆体521内具有相同的记录。
藉此,当控制器51故障(Fail)时,控制器52可以检查非挥发性记忆体521中资料而进行相对应的处理。例如:将非挥发性记忆体521中有效资料依据其写入位址重新写入目标磁碟机内;或者依据写入状态,将写入状态“2”的资料重新写入,以避免资料遗失,以及将写入状态为“1”的待进行写入资料进行安排写入,以接续控制器51的工作;或者依据变更记录来防止产生同位资料不一致的情况。
图5B为本发明冗余架构中的其他实施例示意图,其与上述实施例相类似,在图5B中,其包括控制器61,62以及实体磁碟机阵列63,其中控制器61具有非挥发性记忆体611,控制器62具有非挥发性记忆体621,实体磁碟机阵列63具有磁碟机D13,D14,D15及D16。
然,本实施例一般可适用于直接写入模式。与上述实施例不同之处在于,当控制器61收到上层装置的写入要求与相关写入资料,将写入资料与相关资讯存于非挥发性记忆体611中,而此等资料并没有拷贝储存于控制器62的非挥发性记忆体621,此时仅有在控制器61要进行将资料写入至目标磁碟机时,告知控制器62有那一个同位资料或区段条带正在进行资料写入,以使控制器62接手时能利用此记录维持同位资料的一致性。此是由于采用直接写入模式的关系因而可以不必一定得将资料复制到另外一个控制器。因为所谓的直接写入模式意味者在未将资料真的写入目标磁碟机前,发出要求的上层装置并不会收到写入已完成的回报,因而即便控制器61在未完成写入前发生故障,控制器62接手时并没有该笔资料,但是由于发出该写入要求的上层装置可于侦测到错误或者是超过要求允许处理的时间(Time out)时,对接手的控制器62重新发送一次该写入要求即可。
兹再举例说明如下:当控制器61将非挥发性记忆体611中的资料W7,W8及W9写入实体磁碟机阵列63中的磁碟机D13,D14及D15时,其操作方式与上述实施例相类似。唯,并不会将此动作引发的相关记忆体变化传送给控制器62。但此时控制器61会告知控制器62区段条带43正在进行资料写入动作。接着,在控制器61在只剩N笔资料(例如:资料W8)未收到写入回复时,会将该N笔未写完的资料(资料W8)及其相关写入资讯拷贝储存于控制器62的非挥发性记忆体621中,如图5B所示。继而,控制器61才会提供一写入资料完成讯息来通知上层装置。而在当控制器61收到目标磁碟机的资料W8写入完成的回复,除会释放使自身的非挥发性记忆体611内的资料W8及相关资讯为外,亦会通知控制器62,使其非挥发性记忆体内的备份资料W8被释放。
是故,当控制器61故障时,控制器62可以检查非挥发性记忆体621中有那些有效资料以及那个区段条带在进行写入资料动作的记录,继而控制器62将该等进行写入但尚未完成的资料重新写入目标磁碟机或进行同位资料一致性修正等动作。
又,请参考图5C,在本发明中假设当控制器将资料W10,W11及W12以及其相对应的同位资料P4’由非挥发性记忆体分别写入目标磁碟机D17,D18及D19,D20时,资料W11及W12,P4’已经先写入完成于目标磁碟机D18及D19,D20,若欲设N=1,则由于此时只剩预设N笔资料尚未写入完成,所以会先释放相对应的资源,但资料W10及相对应的写入位址仍然会有效地储存于非挥发性记忆体中。
而在有些情况下,资料W10虽尚未写完,但上层装置(如:存取要求应用端21)有可能又传送一写入资料输出入要求,此写入资料输出入要求包括一笔新的写入资料W13至控制器,且同样写入至目标磁碟机D17与资料W10的写入位址相同,意即,将以资料W13覆盖资料W10。在一实施例中,当控制器进行资料W13写入目标磁碟机D17的步骤中,更包括将非挥发性记忆体内资料W10与相关写入资讯抛弃(如,删除或视为无效,或更改写入状态为“0”)。如此设计,当在资料W13尚处于正在进行写入状态时,若发生控制器电源中断的情况时,待恢复电源后依据非挥发性记忆体内资料,重新写入W13,而不会再将资料W10重新写入,以去除不必要的写入动作,且可避免***在恢复电源进行资料重新写入动作时,发生写入顺序错误(先写资料W13后写资料W10)的情况。
在另一实施例中,为避免同一位址发生重写顺序错误的情况的方法,是可对每笔资料加注一计数值,例如,待写入资料W10的计数值为1、待写入资料W13的计数值为2,以供透过该等计数值来判断那一个资料是最新的。因此,在***发生不正常状况而需进行重新写入程序时,控制器可依据该计数值,而仅将W10,W13中最新资料者重新写入即可。
在另一实施例中,当控制器欲将资料W13写入目标磁碟机之前,亦可对目标磁碟机D17下达取消(abort)写入资料W10的命令再进行写入资料W13的程序,而于收到取消完成的回复后才抛弃记忆体内的先前的资料W10与相关写入资讯。
再者,若***不支援取消已下达给目标磁碟机的写入操作时,则在另一可能的实施例中,会在收到目标磁碟机D17的完成写入资料W10的回复后,才会对同一位址再下达进行写入资料的命令,亦即在收到写入资料W10的写入完成回复前,并不会将资料W13写入目标磁碟机。而在等待回复的期间,若发生如前述的收到上层装置传送一笔新的写入资料W14至控制器,其写入至目标磁碟机D17中与资料W10,W13写入位址相同的情况,则在此实施例中,如同前述者,控制器可仅保有资料W14,而抛弃资料W13,或相似地,利用前述加注计数值的做法,将资料W14的计数值为3。同样地,若等待回复期间内仍有其他欲写入同一位址的资料,则依前述皆仅保留最新的资料,而将同一位址的旧资料抛弃,或依序累加计数值,以辨识何者为最新资料,而当,收到资料W10写入成功回复时,则仅需将所存在的有效资料或计数值最大者的相对应资料写入目标磁碟机中。
也就是说,前述二实施例中,由于其在等待期间会抛弃同一位址旧资料或计数值较小者,亦即并不会真的去写入该等资料,可有效减少写入动作的产生。
请注意,前述抛弃旧资料或利用计数值区分新旧资料的方式,除可二者择一使用外,亦可并存使用。
再者,在有些***设计中,一可能的写入状况是,每笔写入资料可能未含有欲写入目标位址区块内整个储存空间的资料。例如,图6中所示,资料W10,仅包括写入目标磁碟机D17中写入位址区块A的前段,资料W13为写入目标磁碟机D17区块A的后段等等。在此种状态下,若如前述实施例,仅将最新资料写入,将会引发过程资料上的遗失或错误。因此,在另一种采用前述加注计数值的实施例中,该计数值仅用来了解该等资料的先后顺序以避免发生同一位址发生重写顺序错误的情况,亦即在***发生不正常状况而需进行重新写入程序时,控制器可依据该计数值,依序重新写入该等资料,而非仅将最新资料者(计数值最大)重新写入。
但,在本发明的一实施例中,会将所收到写入位址相同的新资料与当时已存在未完成写入的最后旧资料进行整合,以在确保应写入资料的完整性及正确性的前提下,可有效减少写入目标磁碟机的动作。例如,请再参阅图6,假设资料W10尚未实际完成写入时,收到资料W13,则会将资料W13与W10整合为资料W13’,同样地,若又收到写入区块A的资料W14,则资料W13’与W14整合为W14’,当接收到回复后或产生电源中断后的恢复时,因最新的资料如W14’尚未完成写入,因而此时仅写入最新整合后的资料W14’。
由以上的说明可知,本发明在待写入资料由非挥发性记忆体写入于实体储存装置时,可在N笔资料尚未写入时,便视该整体写入动作已完成,且将已收到实体储存装置写入完成回复的写入资料以及相关写入资讯的非挥发性记忆体储存空间先腾出而供其他运算操作使用,并释放相对应的资源,以改善整体***效能。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (37)

1、一种储存***中资料写入的方法,其特征在于该方法由一第一控制器所执行,以处理一存取要求应用端所发出的一写入资料输出入要求,该方法包括如下步骤:
对一实体储存媒体阵列发出至少一实体储存媒体写入要求;
查核一写入完成判断条件是否被满足;以及
前述判断结果若为是,则视该写入资料输出入要求为已完成,并释放该至少一实体储存媒体写入要求中已完成者所对应的资源以及该写入资料输出入要求所使用的资源;
其中该至少一实体储存媒体写入要求中未完成者的写入资料与其相关写入资讯储存于一记忆体中,待写入完成后再以清除。
2、根据权利要求1所述的储存***中资料写入的方法,其特征在于其中所述的判断条件为一特定时间,用以当达到该特定时间即先行视该写入资料输出入要求为已完成。
3、根据权利要求1所述的储存***中资料写入的方法,其特征在于其中所述的判断条件为一预设笔数,用以当该至少一实体储存媒体写入要求中未完成者的数量不大于该预设笔数时,即先行视该写入资料输出入要求为已完成。
4、根据权利要求3所述的储存***中资料写入的方法,其特征在于其中所述的预设笔数的数值的设定基于所采用的磁碟阵列型态而定。
5、根据权利要求3所述的储存***中资料写入的方法,其特征在于其中所述的预设笔数的数值的设定基于该储存***所能容忍储存媒体暂时无法存取的等待时间,该等待时间基于记忆体大小、***效能与有效磁碟机数而决定。
6、根据权利要求3所述的储存***中资料写入的方法,其特征在于在发出要求步骤之后,更包括一计时步骤,用以计算一预设时间值,使达该预设时间才进行该判断步骤,且若于达该预设时间前该至少一实体储存媒体写入要求即皆已完成,则无须进行该判断步骤。
7、根据权利要求1所述的储存***中资料写入的方法,其特征在于其更包括:
将该至少一实体储存媒体写入要求中已完成者的资料储存空间腾出供后续输出入操作运算使用。
8、根据权利要求1所述的储存***中资料写入的方法,其特征在于其中所述的释放该至少一实体储存媒体写入要求中已完成者所对应的资源的步骤,包括解除因该写入资料输出入要求而对写入的区段条带的锁定及允许其他输出入操作对该区段条带进行存取。
9、根据权利要求1所述的储存***中资料写入的方法,其特征在于其中所述的记忆体具有即便电源中断仍能至少暂时维持所储存资料使之不会消失特性,使该至少一实体储存媒体写入要求中未完成者的写入资料与其相关写入资讯能持续保持直到实际完成写入为止。
10、根据权利要求9所述的储存***中资料写入的方法,其特征在于其中储存于记忆体中的该至少一实体储存媒体写入要求中未完成者的相关写入资讯包括有写入位址,以以供遇电源中断的情况时,在电源恢复后能藉以将该未完成写入要求者重新写入至该实体储存媒体阵列。
11、根据权利要求1所述的储存***中资料写入的方法,其特征在于其中在发出该实体储存媒体写入要求前更包括以下步骤:
接收来自于该存取要求应用端的该写入资料输出入要求及相对应的写入资料;
将来自于该存取要求应用端的该写入资料存于该记忆体;以及
因应该存取要求应用端的该写入资料输出入要求,执行对该实体储存媒体阵列发出该至少一实体储存媒体写入要求的步骤,以将来自于该存取要求应用端的该写入资料写入该实体储存媒体阵列中。
12、根据权利要求11所述的储存***中资料写入的方法,其特征在于其中所述的相关写入资讯包括有一写入状态注记,以以供区分所对应写入资料的写入状态。
13、根据权利要求1所述的储存***中资料写入的方法,其特征在于其更包括:
在接收到来自于该存取要求应用端的该写入资料而储存于该记忆体时,该写入资料所对应的该写入状态注记所指示的写入状态为待进行写入;
在因应该存取要求应用端的该写入资料输出入要求,执行对该实体储存媒体阵列发出该至少一实体储存媒体写入要求的步骤前,将该写入资料所对应的该写入状态注记变更为指示正进行写入的注记;以及
将确实已完成写入的该实体储存媒体写入要求的资料所对应的该写入状态注记变更为指示写入完成的注记。
14、根据权利要求13所述的储存***中资料写入的方法,其特征在于其更包括有一变更记录步骤,记录正在进行写入状态变更为正进行写入的注记的资料所对应的区段条带的位置。
15、根据权利要求14所述的储存***中资料写入的方法,其特征在于其更包括有:
当遇电源中断的情况时,在复电后依据该记忆体内各写入资料所对应的该写入状态注记,而将该写入状态注记指示为正进行写入者,重新写入该实体储存媒体阵列;以及
依据该变更记录对该所记录的区段条带进行同位资料一致性修正。
16、根据权利要求14所述的储存***中资料写入的方法,其特征在于其更包括有当遇电源中断的情况时,在恢复供电后依据该变更记录,重新处理该所记录的区段条带所对应的写入要求。
17、根据权利要求1所述的储存***中资料写入的方法,其特征在于其中在发出至少一实体储存媒体写入要求的步骤前,包括有:
对该至少一实体储存媒体写入要求的写入目标位置的至少一实体储存媒体下达取消命令,以取消该至少一实体储存媒体已存在而进行的该目标位置的写入要求;以及
抛弃已储存于该记忆体中与该至少一实体储存媒体写入要求的写入目标位址相同的资料与其相关写入资讯。
18、根据权利要求1所述的储存***中资料写入的方法,其特征在于其中在发出至少一实体储存媒体写入要求的步骤前,包括有:抛弃储存于该记忆体中与该至少一实体储存媒体写入要求的写入目标位址相同且尚未下达相对应的写入要求者的资料与其相关写入资讯。
19、根据权利要求1所述的储存***中资料写入的方法,其特征在于其中储存于该记忆体中写入目标位址相同的未实际完成写入的每笔资料具有一相对应的计数值,用以为同一写入目标位址的多笔资料的先后顺序。
20、根据权利要求1所述的储存***中资料写入的方法,其特征在于其更包括有在该发出至少一实体储存媒体写入要求的步骤前,整合储存于该记忆体中且与该至少一实体储存媒体写入要求的写入目标位址相同的资料。
21、根据权利要求1所述的储存***中资料写入的方法,其特征在于其更包括储存该至少一实体储存媒体写入要求中未完成者的资料与相关写入资讯于一第二控制器的一记忆体中,而能在该第一控制器发生状况时,由该第二控制器接手继续完成写入动作。
22、根据权利要求1所述的储存***中资料写入的方法,其特征在于其更包括该第一控制器查核该写入完成判断条件,且该判断条件被满足后,将该至少一实体储存媒体写入要求中未完成者的资料与相关写入资讯传送至一第二控制器而储存于一记忆体中,使能在该第一控制器发生状况时,由该第二控制器接手继续完成写入动作。
23、根据权利要求1所述的储存***中资料写入的方法,其特征在于其更包括有该第一控制器将该写入资料输出入要求所对应的区段条带位置传送至一第二控制器而暂存于该第二控制器内的一记忆体内,以使当该第一控制器发生状况而由该第二控制器接手时,该第二控制器依据该所暂存的区段条带位置对该区段条带进行同位资料一致性修正的步骤。
24、一种储存***,其特征在于其包括:
一存取要求应用端,用以发送一写入资料输出入要求;
一第一控制器,耦接于该存取要求应用端;
至少一实体储存媒体阵列,耦接于该第一控制器,用以透过该第一控制器对该存取要求应用端提供储存空间;
其中该第一控制器为因应该写入资料输出入要求,对该实体储存媒体阵列发出至少一实体储存媒体写入要求,且于满足一写入完成判断条件时,即视该写入资料输出入要求为已完成,并将该至少一实体储存媒体写入要求中未完成者的写入资料与其相关写入资讯储存于一记忆体中以及释放该至少一实体储存媒体写入要求中已完成者所对应的资源与该写入资料输出入要求所使用的资源。
25、根据权利要求24所述的储存***,其特征在于其中所述的该记忆体具有即便电源中断仍能维持其所储存的资料不消失的特性,使该至少一实体储存媒体写入要求中未完成者的写入资料与其相关写入资讯能持续保持直到实际完成写入为止。
26、根据权利要求25所述的储存***,其特征在于其中所述的记忆体为下列的一者:非挥发性记忆体及有电池备援单元的记忆体。
27、根据权利要求24所述的储存***,其特征在于其中所述的判断条件可为一特定时间,用以当达到该特定时间即先行视该写入资料输出入要求为已完成。
28、根据权利要求24所述的储存***,其特征在于其中所述的判断条件为一预设笔数,用以当该至少一实体储存媒体写入要求中未完成写入的数量不大于该预设笔数时,即先行视该写入资料输出入要求为已完成。
29、根据权利要求24所述的储存***,其特征在于其更包括一第二控制器,其包括一记忆体,储存有该第一控制器未完成的该实体储存媒体写入要求的资料与相关写入资讯,而能在第一控制器发生状况时,由该第二控制器接手继续完成写入动作。
30、根据权利要求24所述的储存***,其特征在于其更包括该第一控制器查核该写入完成判断条件,且该判断条件被满足后,将该至少一实体储存媒体写入要求中未完成者的资料与相关写入资讯传送至一第二控制器而储存于一记忆体中,使能在该第一控制器发生状况时,由该第二控制器接手继续完成写入动作。
31、一种储存子***,包括有:
一第一控制器;
至少一实体储存媒体阵列,耦接于该第一控制器;
其中当该第一控制器对该实体储存媒体阵列发出至少一实体储存媒体写入要求,且于满足一写入完成判断条件时,即视来自于一存取要求应用端的一写入资料输出入要求为已完成,并将该至少一实体储存媒体写入要求中未完成者的写入资料与其相关写入资讯储存于一记忆体中以及释放该至少一实体储存媒体写入要求中已完成者所对应的资源与该写入资料输出入要求所使用的资源。
32、根据权利要求31所述的储存子***,其特征在于其中所述的记忆体具有即便电源中断仍能维持其所储存的资料不消失的特性,使该至少一实体储存媒体写入要求中未完成者的写入资料与其相关写入资讯能持续保持直到实际完成写入为止。
33、根据权利要求31所述的储存子***,其特征在于其中所述的记忆体为下列之一者:非挥发性记忆体及有电池备援单元的记忆体。
34、根据权利要求31所述的储存子***,其特征在于其中所述的判断条件为一特定时间,用以当达到该特定时间即先行视该写入资料输出入要求为已完成。
35、根据权利要求31所述的储存子***,其特征在于其中所述的判断条件为一预设笔数,用以当该至少一实体储存媒体写入要求中未完成者的数量不大于该预设笔数时,即先行视该写入资料输出入要求为已完成。
36、根据权利要求31所述的储存子***,其特征在于其更包括一第二控制器,其包括一记忆体,储存有该第一控制器未完成的该实体储存媒体写入要求的资料与相关写入资讯,而能在该第一控制器发生状况时,由该第二控制器接手继续完成写入动作。
37、根据权利要求31所述的储存子***,其特征在于其更包括该第一控制器查核该写入完成判断条件,且该判断条件被满足后,将该至少一实体储存媒体写入要求中未完成者的资料与相关写入资讯传送至一第二控制器而储存于一记忆体中,使能在该第一控制器发生状况时,由该第二控制器接手继续完成写入动作。
CNB2006100995867A 2005-08-01 2006-08-01 改善资料写入效率的方法以及实施此方法的子***与*** Active CN100421080C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59574105P 2005-08-01 2005-08-01
US60/595,741 2005-08-01

Publications (2)

Publication Number Publication Date
CN1908907A true CN1908907A (zh) 2007-02-07
CN100421080C CN100421080C (zh) 2008-09-24

Family

ID=37603745

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100995867A Active CN100421080C (zh) 2005-08-01 2006-08-01 改善资料写入效率的方法以及实施此方法的子***与***

Country Status (4)

Country Link
US (1) US7516268B2 (zh)
EP (1) EP1770492B1 (zh)
CN (1) CN100421080C (zh)
TW (1) TWI320139B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063185A (zh) * 2007-11-28 2014-09-24 株式会社京都 资料储存***及资料储存方法
CN108733518A (zh) * 2017-04-17 2018-11-02 伊姆西Ip控股有限责任公司 用于管理存储***的方法、设备和计算机可读介质
CN110688059A (zh) * 2018-07-06 2020-01-14 光宝电子(广州)有限公司 固态储存装置及其电源失效时的数据处理方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10007807B2 (en) * 2008-12-30 2018-06-26 Unisys Corporation Simultaneous state-based cryptographic splitting in a secure storage appliance
EP1770492B1 (en) * 2005-08-01 2016-11-02 Infortrend Technology, Inc. A method for improving writing data efficiency and storage subsystem and system implementing the same
JP4962727B2 (ja) * 2007-09-12 2012-06-27 コニカミノルタビジネステクノロジーズ株式会社 データ保存装置
US20090300282A1 (en) * 2008-05-30 2009-12-03 Promise Technology, Inc. Redundant array of independent disks write recovery system
EP2359296B1 (en) * 2008-11-17 2021-08-18 Unisys Corporation Simultaneous state-based cryptographic splitting in a secure storage appliance
US8134793B1 (en) 2010-06-17 2012-03-13 Western Digital Technologies, Inc. Methods and systems for fast release of data from a host by a disk drive
US9229809B2 (en) 2011-09-11 2016-01-05 Microsoft Technology Licensing Llc Nonvolatile media journaling of verified data sets
TWI461901B (zh) 2012-12-10 2014-11-21 Ind Tech Res Inst 資料儲存與重建的方法與系統
US9830220B1 (en) * 2014-09-29 2017-11-28 EMC IP Holding Company LLC Enhanced error recovery for data storage drives
US9588857B2 (en) * 2015-06-22 2017-03-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Raid logical stripe backup to non-volatile memory in response to raid storage device media errors
WO2017216887A1 (ja) * 2016-06-15 2017-12-21 株式会社日立製作所 情報処理システム
US10733097B2 (en) * 2017-05-01 2020-08-04 Seagate Technology Llc Shingled magnetic recording storage system with reduced time to recover
CN109725824A (zh) * 2017-10-27 2019-05-07 伊姆西Ip控股有限责任公司 用于向存储***中的盘阵列写入数据的方法和设备
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
CN114594900A (zh) * 2020-12-04 2022-06-07 伊姆西Ip控股有限责任公司 存储管理的方法、设备和计算机程序产品

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63163912A (ja) * 1986-12-26 1988-07-07 Toshiba Corp マイクロコンピユ−タシステム
US5239640A (en) * 1991-02-01 1993-08-24 International Business Machines Corporation Data storage system and method including data and checksum write staging storage
JP2743606B2 (ja) * 1991-04-11 1998-04-22 三菱電機株式会社 アレイ型記録装置
JP4078010B2 (ja) * 2000-03-03 2008-04-23 株式会社日立グローバルストレージテクノロジーズ 磁気ディスク装置及び情報記録方法
EP1168173A3 (en) * 2000-06-29 2004-09-22 Snap Appliance, Inc. Fault tolerant storage device with cache
US6766491B2 (en) * 2001-05-09 2004-07-20 Dot Hill Systems Corp. Parity mirroring between controllers in an active-active controller pair
US7069382B2 (en) * 2003-09-24 2006-06-27 Aristos Logic Corporation Method of RAID 5 write hole prevention
EP1770492B1 (en) * 2005-08-01 2016-11-02 Infortrend Technology, Inc. A method for improving writing data efficiency and storage subsystem and system implementing the same

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063185A (zh) * 2007-11-28 2014-09-24 株式会社京都 资料储存***及资料储存方法
CN104063185B (zh) * 2007-11-28 2018-05-15 株式会社京都软件研究 资料储存***及资料储存方法
CN108733518A (zh) * 2017-04-17 2018-11-02 伊姆西Ip控股有限责任公司 用于管理存储***的方法、设备和计算机可读介质
CN108733518B (zh) * 2017-04-17 2021-07-09 伊姆西Ip控股有限责任公司 用于管理存储***的方法、设备和计算机可读介质
US11163658B2 (en) 2017-04-17 2021-11-02 EMC IP Holding Company LLC Methods, devices and computer readable mediums for managing storage system
CN110688059A (zh) * 2018-07-06 2020-01-14 光宝电子(广州)有限公司 固态储存装置及其电源失效时的数据处理方法

Also Published As

Publication number Publication date
TWI320139B (en) 2010-02-01
TW200707186A (en) 2007-02-16
EP1770492A3 (en) 2007-05-09
US7516268B2 (en) 2009-04-07
EP1770492A2 (en) 2007-04-04
CN100421080C (zh) 2008-09-24
EP1770492B1 (en) 2016-11-02
US20070028045A1 (en) 2007-02-01

Similar Documents

Publication Publication Date Title
CN1908907A (zh) 改善资料写入效率的方法以及实施此方法的子***与***
CN1291320C (zh) 保存大容量存储***的所选数据的快照
CN1149480C (zh) 文件存储装置
CN101031891A (zh) 虚拟排序的写
CN1245689C (zh) 以非破坏性方式升级驱动器固件的方法和***
CN1622008A (zh) 抑制驱动器工作时间的磁盘阵列
CN1175739A (zh) 计算机***和文件管理方法
US10942849B2 (en) Use of a logical-to-logical translation map and a logical-to-physical translation map to access a data storage device
US20100262766A1 (en) Garbage collection for failure prediction and repartitioning
CN1770088A (zh) 存储网络中的增量备份操作
CN1524224A (zh) 信息备份的***和方法
CN1773470A (zh) 库***、虚拟库装置、缓存器恢复方法及可机读记录介质
CN1848070A (zh) 数据存储设备、重构控制设备、重构控制方法与存储介质
CN1408083A (zh) 可升级存储器架构
US11200003B2 (en) Bounded latency and command non service methods and apparatus
JP5721344B2 (ja) システム、システムの制御方法、及び、プログラム
KR20150105323A (ko) 데이터 스토리지 방법 및 시스템
CN1495612A (zh) 保持缓存数据对象的更新定时信息的方法和***
CN1731373A (zh) 将数据从第一扇区格式转换到第二扇区格式的设备和方法
CN1848069A (zh) 数据存储设备、重构控制设备、重构控制方法及存储介质
CN1804810A (zh) 用于存储器访问请求的重定向的方法和***
CN1770114A (zh) 存储网络中的复制操作
CN1645335A (zh) 用于存储卷的一致拷贝的方法、***和制造品
CN1770115A (zh) 存储网络中的恢复操作
CN1808367A (zh) 存储***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant