欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

改善資料寫入效率的方法以及實(shí)施此方法的子系統(tǒng)與系統(tǒng)的制作方法

文檔序號(hào):6559960閱讀:188來(lái)源:國(guó)知局
專利名稱:改善資料寫入效率的方法以及實(shí)施此方法的子系統(tǒng)與系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種資料寫入方法,特別是涉及一種提升儲(chǔ)存系統(tǒng)的資料寫入效率的方法。本發(fā)明還涉及實(shí)施此方法的子系統(tǒng)與系統(tǒng)。
背景技術(shù)
圖1A為現(xiàn)有的磁碟陣列(RAID)儲(chǔ)存系統(tǒng)示意圖,其包括主機(jī)11、控制器12以及實(shí)體磁碟機(jī)陣列(Physical Disk Drive Array)13,其中實(shí)體磁碟機(jī)陣列13包括有復(fù)數(shù)磁碟機(jī)D1,D2,D3及D4。上述的主機(jī)11與控制器12相連接,而控制器12分別與該等磁碟機(jī)D1,D2,D3及D4耦接。
上述的主機(jī)11透過(guò)控制器12來(lái)存取該等磁碟機(jī)D1,D2,D3及D4中的資料。通常,控制器12在接收來(lái)自于主機(jī)11的待寫入資料(例如待寫入資料W1及W2)時(shí),會(huì)將該等待寫入資料暫存于其快取單元121,繼而再由快取單元121將該等待寫入資料分別寫入至相對(duì)應(yīng)的目標(biāo)磁碟機(jī)(例如磁碟機(jī)D1及D2)。
圖1B為現(xiàn)有待寫入資料由快取單元寫入至儲(chǔ)存媒體的流程圖,其以RAID 5為例,有關(guān)其說(shuō)明請(qǐng)一并參照?qǐng)D1A。假設(shè)待寫入資料W1及W2的寫入目標(biāo)位置為同一區(qū)段條帶,而當(dāng)待寫入資料W1及W2欲由控制器12的快取單元121寫入至目標(biāo)磁碟機(jī)D1及D2時(shí)(步驟S100),控制器12會(huì)先計(jì)算與待寫入資料W1及W2相關(guān)的新同位資料P1(步驟S102),并儲(chǔ)存一同位記錄于快取單元121或另一非快取單元(圖中未示),其中同位記錄包括有待寫入資料W1及W2所位于的區(qū)段條帶的位置,以防止寫入資料因電源中斷而未完成寫入所產(chǎn)生的問(wèn)題,以供在電源恢復(fù)后進(jìn)行同位元資料的一致性修正(步驟S105)。
接著,控制器12會(huì)將該等待寫入資料W1,W2與新同位資料P1分別寫入至目標(biāo)磁碟機(jī)D1,D2及D4(步驟S110)。之后,若該等資料W1,W2與新同位資料P1皆成功分別被寫入目標(biāo)磁碟機(jī)D1,D2及D4,則控制器會(huì)刪除的前所儲(chǔ)存的同位記錄(步驟S115)。繼而再回傳寫入完成訊息至主機(jī)11(步驟S120)。
然而,在有些情況下資料有可能無(wú)法迅速寫入完成。例如若其中一磁碟機(jī)D2正在執(zhí)行一讀取要求,且該讀取要求一直無(wú)法完成,則此時(shí)控制器12送至磁碟機(jī)D2的待寫入資料W2的寫入資料要求有可能會(huì)在佇列中等候而無(wú)法進(jìn)行,若此時(shí)其他寫入資料要求已完成,則控制器12將會(huì)一直等待該筆寫入資料要求完成而無(wú)法回傳寫入完成訊息至主機(jī)11,且所有相關(guān)的寫入資料W1,W2,P1與同位記錄及其他有關(guān)此一區(qū)段寫入資訊的記錄也將會(huì)一直持續(xù)占用有限的記憶體空間。當(dāng)記憶空間的資料一直未被釋放,將造成無(wú)法有多余空間來(lái)接收新的寫入資料,而此正在更新的區(qū)段條帶因尚未完成寫入,也無(wú)法對(duì)該區(qū)段條帶進(jìn)行另一個(gè)寫入要求。在有些情況下,某些磁碟機(jī)存取資料于某些位置時(shí)的速度有可能總是比較慢,或磁碟機(jī)正在進(jìn)行讀取要求重試,暫時(shí)無(wú)法處理寫入要求,該正在重新讀取的資料或可經(jīng)由其他相關(guān)的資料產(chǎn)生,但是寫入要求的寫入資料卻必須實(shí)際完成寫入磁碟機(jī),因此控制器12必須一直等待這些存取慢的磁碟機(jī)完成其寫入資料要求,才會(huì)回傳寫入完成訊息給主機(jī)11以及刪除快取單元121中相關(guān)資料與同位記錄。
雖然經(jīng)由前述磁碟陣列的技術(shù),可將較小實(shí)體儲(chǔ)存裝置結(jié)合成為容量較大、可容錯(cuò)、高效能的邏輯媒體單元而供一主機(jī)系統(tǒng)存取使用。
然,在現(xiàn)今產(chǎn)業(yè)發(fā)展的需求下,提升儲(chǔ)存系統(tǒng)處理效能一直是一極重要的課題,相關(guān)業(yè)者無(wú)不以此為研發(fā)的目標(biāo)。
有鑒于上述現(xiàn)有的儲(chǔ)存系統(tǒng)存在的缺陷,本發(fā)明人基于從事此類產(chǎn)品設(shè)計(jì)制造多年豐富的實(shí)務(wù)經(jīng)驗(yàn)及專業(yè)知識(shí),并配合學(xué)理的運(yùn)用,積極加以研究創(chuàng)新,以期創(chuàng)設(shè)一種新型結(jié)構(gòu)的儲(chǔ)存系統(tǒng),能夠改進(jìn)一般現(xiàn)有的儲(chǔ)存系統(tǒng),使其更具有實(shí)用性。經(jīng)過(guò)不斷的研究、設(shè)計(jì),并經(jīng)過(guò)反復(fù)試作樣品及改進(jìn)后,終于創(chuàng)設(shè)出確具實(shí)用價(jià)值的本發(fā)明。

發(fā)明內(nèi)容
本發(fā)明的目的在于,克服現(xiàn)有的儲(chǔ)存系統(tǒng)存在的缺陷,而提供一種新的改善資料寫入效率的方法以及實(shí)施此方法的子系統(tǒng)與系統(tǒng),所要解決的技術(shù)問(wèn)題是使其能夠提升儲(chǔ)存系統(tǒng)效能,從而更加適于實(shí)用。
為達(dá)上述目的,本發(fā)明改善前述資料寫入的方法。
依據(jù)本發(fā)明提供一種儲(chǔ)存系統(tǒng)中資料寫入的方法,該方法由一第一控制器所執(zhí)行,以處理一存取要求應(yīng)用端所發(fā)出的一寫入資料輸出入要求,該方法包括有以下步驟對(duì)一實(shí)體儲(chǔ)存媒體陣列發(fā)出至少一實(shí)體儲(chǔ)存媒體寫入要求;查核一寫入完成判斷條件是否被滿足;以及前述判斷結(jié)果若為是,則視該寫入資料輸出入要求為已完成,并釋放該至少一實(shí)體儲(chǔ)存媒體寫入要求中已完成者所對(duì)應(yīng)的資源以及該寫入資料輸出入要求所使用的資源;其中該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的寫入資料與其相關(guān)寫入資訊儲(chǔ)存于一記憶體中,待寫入完成后再以清除。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于其中該判斷條件為一特定時(shí)間,用以當(dāng)達(dá)到該特定時(shí)間即先行視該寫入資料輸出入要求為已完成。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于其中該判斷條件為一預(yù)設(shè)筆數(shù),用以當(dāng)該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的數(shù)量不大于該預(yù)設(shè)筆數(shù)時(shí),即先行視該寫入資料輸出入要求為已完成。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于其中該預(yù)設(shè)筆數(shù)的數(shù)值的設(shè)定基于所采用的磁碟陣列型態(tài)而定。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于其中該預(yù)設(shè)筆數(shù)的數(shù)值的設(shè)定基于該儲(chǔ)存系統(tǒng)所能容忍儲(chǔ)存媒體暫時(shí)無(wú)法存取的等待時(shí)間,該等待時(shí)間基于記憶體大小、系統(tǒng)效能與有效磁碟機(jī)數(shù)而決定。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于其中在該發(fā)出要求步驟之后,更包括一計(jì)時(shí)步驟,用以計(jì)算一預(yù)設(shè)時(shí)間值,使達(dá)該預(yù)設(shè)時(shí)間才進(jìn)行該判斷步驟,且若于達(dá)該預(yù)設(shè)時(shí)間前該至少一實(shí)體儲(chǔ)存媒體寫入要求即皆已完成,則無(wú)須進(jìn)行該判斷步驟。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于更包括將該至少一實(shí)體儲(chǔ)存媒體寫入要求中已完成者的資料儲(chǔ)存空間騰出供后續(xù)輸出入操作運(yùn)算使用。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于其中該釋放該至少一實(shí)體儲(chǔ)存媒體寫入要求中已完成者所對(duì)應(yīng)的資源的步驟,包括解除因該寫入資料輸出入要求而對(duì)寫入的區(qū)段條帶的鎖定及允許其他輸出入操作對(duì)該區(qū)段條帶進(jìn)行存取。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于其中該記憶體具有即便電源中斷仍能至少暫時(shí)維持所儲(chǔ)存資料使之不會(huì)消失特性,使該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的寫入資料與其相關(guān)寫入資訊能持續(xù)保持直到實(shí)際完成寫入為止。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于其中儲(chǔ)存于該記憶體中的該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的相關(guān)寫入資訊包括有寫入位址,以供遇電源中斷的情況時(shí),在電源恢復(fù)后能藉以將該未完成寫入要求者重新寫入至該實(shí)體儲(chǔ)存媒體陣列。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于其中在發(fā)出該實(shí)體儲(chǔ)存媒體寫入要求前更包括以下步驟接收來(lái)自于該存取要求應(yīng)用端的該寫入資料輸出入要求及相對(duì)應(yīng)的寫入資料;將來(lái)自于該存取要求應(yīng)用端的該寫入資料存于該記憶體;以及因應(yīng)該存取要求應(yīng)用端的該寫入資料輸出入要求,執(zhí)行對(duì)該實(shí)體儲(chǔ)存媒體陣列發(fā)出該至少一實(shí)體儲(chǔ)存媒體寫入要求的步驟,以將來(lái)自于該存取要求應(yīng)用端的該寫入資料寫入該實(shí)體儲(chǔ)存媒體陣列中。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于其中該相關(guān)寫入資訊包括有一寫入狀態(tài)注記,以供區(qū)分所對(duì)應(yīng)寫入資料的寫入狀態(tài)。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于在接收到來(lái)自于該存取要求應(yīng)用端的該寫入資料而儲(chǔ)存于該記憶體時(shí),該寫入資料所對(duì)應(yīng)的該寫入狀態(tài)注記所指示的寫入狀態(tài)為待進(jìn)行寫入;在因應(yīng)該存取要求應(yīng)用端的該寫入資料輸出入要求,執(zhí)行對(duì)該實(shí)體儲(chǔ)存媒體陣列發(fā)出該至少一實(shí)體儲(chǔ)存媒體寫入要求的步驟前,將該寫入資料所對(duì)應(yīng)的該寫入狀態(tài)注記變更為指示正進(jìn)行寫入的注記;以及將確實(shí)已完成寫入的該實(shí)體儲(chǔ)存媒體寫入要求的資料所對(duì)應(yīng)的該寫入狀態(tài)注記變更為指示寫入完成的注記。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于更包括有一變更記錄步驟,記錄正在進(jìn)行寫入狀態(tài)變更為正進(jìn)行寫入的注記的資料所對(duì)應(yīng)的區(qū)段條帶的位置。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于當(dāng)遇電源中斷的情況時(shí),在復(fù)電后依據(jù)該記憶體內(nèi)各寫入資料所對(duì)應(yīng)的該寫入狀態(tài)注記,而將該寫入狀態(tài)注記指示為正進(jìn)行寫入者,重新寫入該實(shí)體儲(chǔ)存媒體陣列;以及依據(jù)該變更記錄對(duì)該所記錄的區(qū)段條帶進(jìn)行同位資料一致性修正。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于更包括有當(dāng)遇電源中斷的情況時(shí),在恢復(fù)供電后依據(jù)該變更記錄,重新處理該所記錄的區(qū)段條帶所對(duì)應(yīng)的寫入要求。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于其中在發(fā)出該至少一實(shí)體儲(chǔ)存媒體寫入要求的步驟前,包括有對(duì)該至少一實(shí)體儲(chǔ)存媒體寫入要求的寫入目標(biāo)位置的至少一實(shí)體儲(chǔ)存媒體下達(dá)取消命令,以取消該至少一實(shí)體儲(chǔ)存媒體已存在而進(jìn)行的該目標(biāo)位置的寫入要求;以及拋棄已儲(chǔ)存于該記憶體中與該至少一實(shí)體儲(chǔ)存媒體寫入要求的寫入目標(biāo)位址相同的資料與其相關(guān)寫入資訊。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于其中在發(fā)出該至少一實(shí)體儲(chǔ)存媒體寫入要求的步驟前,包括有拋棄儲(chǔ)存于該記憶體中與該至少一實(shí)體儲(chǔ)存媒體寫入要求的寫入目標(biāo)位址相同且尚未下達(dá)相對(duì)應(yīng)的寫入要求者的資料與其相關(guān)寫入資訊。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于其中儲(chǔ)存于該記憶體中寫入目標(biāo)位址相同的未實(shí)際完成寫入的每筆資料具有一相對(duì)應(yīng)的計(jì)數(shù)值,用以顯示同一寫入目標(biāo)位址的多筆資料的先后順序。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于更包括有在該發(fā)出至少一實(shí)體儲(chǔ)存媒體寫入要求的步驟前,整合儲(chǔ)存于該記憶體中且與該至少一實(shí)體儲(chǔ)存媒體寫入要求的寫入目標(biāo)位址相同的資料。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于更包括儲(chǔ)存該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的資料與相關(guān)寫入資訊于一第二控制器的一記憶體中,而能在該第一控制器發(fā)生狀況時(shí),由該第二控制器接手繼續(xù)完成寫入動(dòng)作。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于更包括該第一控制器查核該寫入完成判斷條件,且該判斷條件被滿足后,將該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的資料與相關(guān)寫入資訊傳送至一第二控制器而儲(chǔ)存于一記憶體中,使能在該第一控制器發(fā)生狀況時(shí),由該第二控制器接手繼續(xù)完成寫入動(dòng)作。
依據(jù)本實(shí)施例的一特色,本發(fā)明方法的進(jìn)一步特征在于更包括有該第一控制器將該寫入資料輸出入要求所對(duì)應(yīng)的區(qū)段條帶位置傳送至一第二控制器而暫存于該第二控制器內(nèi)的一記憶體內(nèi),以使當(dāng)該第一控制器發(fā)生狀況而由該第二控制器接手時(shí),該第二控制器依據(jù)該所暫存的區(qū)段條帶位置對(duì)該區(qū)段條帶進(jìn)行同位資料一致性修正的步驟。
再者,依據(jù)本發(fā)明提供一種儲(chǔ)存系統(tǒng),包括一存取要求應(yīng)用端,用以發(fā)送一寫入資料輸出入要求;一第一控制器,耦接于該存取要求應(yīng)用端;至少一實(shí)體儲(chǔ)存媒體陣列,耦接于該第一控制器,用以透過(guò)該第一控制器對(duì)該存取要求應(yīng)用端提供儲(chǔ)存空間;其中該第一控制器為因應(yīng)該寫入資料輸出入要求,對(duì)該實(shí)體儲(chǔ)存媒體陣列發(fā)出至少一實(shí)體儲(chǔ)存媒體寫入要求,且于滿足一寫入完成判斷條件時(shí),即視該寫入資料輸出入要求為已完成,并將該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的寫入資料與其相關(guān)寫入資訊儲(chǔ)存于一記憶體中以及釋放該至少一實(shí)體儲(chǔ)存媒體寫入要求中已完成者所對(duì)應(yīng)的資源與該寫入資料輸出入要求所使用的資源。
又,依據(jù)本發(fā)明提供一種儲(chǔ)存子系統(tǒng),包括有一第一控制器;至少一實(shí)體儲(chǔ)存媒體陣列,耦接于該第一控制器;其中當(dāng)該第一控制器對(duì)該實(shí)體儲(chǔ)存媒體陣列發(fā)出至少一實(shí)體儲(chǔ)存媒體寫入要求,且于滿足一寫入完成判斷條件時(shí),即視來(lái)自于一存取要求應(yīng)用端的一寫入資料輸出入要求為已完成,并將該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的寫入資料與其相關(guān)寫入資訊儲(chǔ)存于一記憶體中以及釋放該至少一實(shí)體儲(chǔ)存媒體寫入要求中已完成者所對(duì)應(yīng)的資源與該寫入資料輸出入要求所使用的資源。
借由上述技術(shù)方案,本發(fā)明改善資料寫入效率的方法以及實(shí)施此方法的子系統(tǒng)與系統(tǒng)至少具有下列優(yōu)點(diǎn)本發(fā)明在待寫入資料由非揮發(fā)性記憶體寫入于實(shí)體儲(chǔ)存裝置時(shí),可在N筆資料尚未寫入時(shí),便視該整體寫入動(dòng)作已完成,且將已收到實(shí)體儲(chǔ)存裝置寫入完成回復(fù)的寫入資料以及相關(guān)寫入資訊的非揮發(fā)性記憶體儲(chǔ)存空間先騰出而供其他運(yùn)算操作使用,并釋放相對(duì)應(yīng)的資源,以改善整體系統(tǒng)效能。
上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉較佳實(shí)施例,并配合附圖,詳細(xì)說(shuō)明如下。


圖1A為現(xiàn)有儲(chǔ)存系統(tǒng)的示意圖。
圖1B為現(xiàn)有資料寫入的流程圖。
圖2為本發(fā)明的系統(tǒng)架構(gòu)示意圖。
圖3A為本發(fā)明的一實(shí)施例的動(dòng)作流程圖。
圖3B為本發(fā)明的一實(shí)施例的動(dòng)作流程圖。
圖3C為本發(fā)明的一實(shí)施例的動(dòng)作流程圖。
圖4A為本發(fā)明的一實(shí)施例的動(dòng)作流程圖。
圖4B為本發(fā)明的一實(shí)施例的架構(gòu)示意圖。
圖4C為本發(fā)明的一實(shí)施例的架構(gòu)示意圖。
圖5A為本發(fā)明的冗余架構(gòu)的一實(shí)施例的示意圖。
圖5B為本發(fā)明的冗余架構(gòu)的一實(shí)施例的示意圖。
圖5C為本發(fā)明的冗余架構(gòu)的一實(shí)施例的示意圖。
圖6為本發(fā)明整合寫入資料的一實(shí)施例的示意圖。
11主機(jī)12控制器121快取單元13實(shí)體磁碟機(jī)陣列W1,W2寫入資料P1同位資料D1,D2,D3,D4磁碟機(jī)21存取要求應(yīng)用端22儲(chǔ)存子系統(tǒng)221,51,52,61,62控制器2211控制單元2212,511,521,611,621非揮發(fā)性記憶體(NVRAM)222實(shí)體磁碟機(jī)陣列D5~D20磁碟機(jī)W1’,W2’,W3’,W21’,W22’寫入資料W21~W23,W4~W14,W13’,W14’寫入資料P1’,P24,P24’,P2’~P4’同位資料
41,42,43區(qū)段條帶具體實(shí)施方式
為更進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定發(fā)明目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實(shí)施例,對(duì)依據(jù)本發(fā)明提出的改善資料寫入效率的方法以及實(shí)施此方法的子系統(tǒng)與系統(tǒng)其具體實(shí)施方式
、結(jié)構(gòu)、特征及其功效,詳細(xì)說(shuō)明如后。
本發(fā)明改善資料寫入效率的方法,是在儲(chǔ)存系統(tǒng)中,先設(shè)定有一寫入完成判斷條件,對(duì)一寫入要求而言,若寫入要求需寫入數(shù)筆資料至儲(chǔ)存裝置時(shí),會(huì)查核該判斷條件,當(dāng)該判斷條件被滿足時(shí),便視該寫入要求為寫入完成,而先回復(fù)寫入完成訊息于存取要求應(yīng)用端并釋放出相對(duì)應(yīng)的資源,以改善整體系統(tǒng)效能。此外,本發(fā)明寫入資料時(shí)所適用的儲(chǔ)存裝置可為磁帶(Tape)、磁碟機(jī)(Disk Drive)、記憶體(Memory)或光儲(chǔ)存記錄媒體或其他等效的儲(chǔ)存裝置。
圖2為本發(fā)明較佳實(shí)施例的儲(chǔ)存系統(tǒng)示意圖,其包括存取要求應(yīng)用端(Application I/O Request Unit)21與儲(chǔ)存子系統(tǒng)22,其中存取要求應(yīng)用端21可為一主機(jī)(Host)或需要寫入資料于儲(chǔ)存子系統(tǒng)22中的應(yīng)用設(shè)備,儲(chǔ)存子系統(tǒng)22包括控制器221與實(shí)體磁碟機(jī)陣列(Physical Disk DriveArray)222。控制器221具有控制單元2211與非揮發(fā)性記憶體(NVRAM)2212,其中非揮發(fā)性記憶體2212亦可廣義地包括具有電池備援單元(Battery Backup Unit,BBU)的記憶體,或者其他具有控制器221電源中斷時(shí)卻仍能維持其所儲(chǔ)存的資料不消失的特性的記憶體。上述的實(shí)體磁碟機(jī)陣列222具有復(fù)數(shù)個(gè)磁碟機(jī)D5,D6,D7及D8。實(shí)體磁碟機(jī)陣列222可以具有8個(gè)、16個(gè)或32個(gè)磁碟機(jī)或其他數(shù)量的磁碟機(jī)。
當(dāng)上述的存取要求應(yīng)用端21為一主機(jī)時(shí),其可透過(guò)儲(chǔ)存區(qū)域網(wǎng)路(SAN)、乙太網(wǎng)路(區(qū)域網(wǎng)路(LAN))或序列先進(jìn)技術(shù)(Serial ATA,SATA)介面、光纖通道(Fiber Channel,F(xiàn)C)、小型電腦標(biāo)準(zhǔn)介面(Small ComputerSystem Interface,SCSI)、PCI Express或序列連接SCSI(Serial-AttachedSCSI,SAS)等輸出入(I/O)介面相連接。而在一些場(chǎng)合中,存取要求應(yīng)用端21可為一特殊積體電路(ASIC)或其他能夠送出寫入資料輸出入要求的等效裝置,其是能依據(jù)其他裝置的命令而送出寫入資料輸出入要求至控制器221,以供透過(guò)控制器221寫入資料至實(shí)體磁碟機(jī)陣列222。
上述的儲(chǔ)存子系統(tǒng)22中的控制器221及實(shí)體磁碟機(jī)陣列222可同時(shí)被安置于一箱體(Enclosure)中,亦可獨(dú)立分開(kāi)而容置于不同的箱體,此外,存取要求應(yīng)用端21亦可與儲(chǔ)存子系統(tǒng)22容置于同一箱體??刂破?21可透過(guò)序列連接SCSI(Serial-Attached SCSI,SAS),SCSI,SATA,平行ATA(PATA,或稱IDE)或光纖通道(Fiber Channel,F(xiàn)C)等傳輸介面來(lái)與該等磁碟機(jī)D5,D6,D7及D8相連接,所以該等磁碟機(jī)D5,D6,D7及D8亦可為SAS,SCSI,SATA,PATA(IDE),F(xiàn)C等各種不同類型的磁碟機(jī)。上述的控制器221可為磁碟陣列控制器(RAID Controller),其中磁碟陣列技術(shù)廣義地包括RAID 0-6及其延伸與組合。
圖3A為本發(fā)明的一實(shí)施例的動(dòng)作流程示意圖。于本實(shí)施例中,此流程可應(yīng)用于控制器221的非揮發(fā)性記憶體2212與實(shí)體磁碟機(jī)陣列222之間。其中對(duì)存取要求應(yīng)用端21的資料可以設(shè)定為直接寫入(Write-Through)模式或回寫(Write-Back)模式。然而,不論為直接寫入模式或回寫模式,通常接收來(lái)自于上層裝置(例如存取要求應(yīng)用端21)的待寫入資料皆會(huì)暫存于非揮發(fā)性記憶體2212,且待寫入資料之后并會(huì)由非揮發(fā)性記憶體2212寫入于儲(chǔ)存媒體。因此當(dāng)待寫入資料由非揮發(fā)性記憶體2212寫入至儲(chǔ)存媒體時(shí),本實(shí)施例的流程即可適用。
有關(guān)圖3A的說(shuō)明敬請(qǐng)一并參照?qǐng)D2。假設(shè)系統(tǒng)采用的RAID型態(tài)為RAID5時(shí),欲將位于同一區(qū)段條帶的待寫入資料W1’,W2’,W3’由非揮發(fā)性記憶體2212寫入儲(chǔ)存媒體D5,D6,D7(如圖4B所示),則在寫入之前,控制器221會(huì)先計(jì)算待寫入資料的區(qū)段條帶41的新同位資料P1’,并將該新的同位資料P1’儲(chǔ)存于非揮發(fā)性記憶體2212(步驟S305),然而,在另一實(shí)施利中此同位資料P1’儲(chǔ)存于另一記憶體。繼而,控制器221由非揮發(fā)性記憶體2212分別寫入資料W1’,W2’,W3’及同位資料P1’于磁碟機(jī)D5,D6,D7及D8(步驟S315)。在控制器221分別寫入資料于目標(biāo)磁碟機(jī)D5,D6,D7及D8后,其會(huì)判斷是否只剩(或少于)預(yù)設(shè)的N筆資料尚未寫完至目標(biāo)磁碟機(jī)D5,D6,D7及D8(步驟S320),若還有大于N筆資料未寫完,則控制器221繼續(xù)等待該等資料寫入于目標(biāo)磁碟機(jī),直到只剩下(或少于)N筆資料未寫完;若只剩下小于或等于N筆資料未寫完,例如假設(shè)N=1,且只有資料W2’尚未寫入完成,則控制器221視存取要求應(yīng)用端21所發(fā)出的寫入資料輸出入要求已完成,而回復(fù)一寫入完成訊息于存取要求應(yīng)用端21,并將先前儲(chǔ)存于非揮發(fā)性記憶體2212中該等確實(shí)已經(jīng)寫入至目標(biāo)磁碟機(jī)的寫入資料(例如資料W1’,W3’,P1’)標(biāo)示為寫入完成(該筆可用來(lái)作為讀取快取),或騰出其記憶體2212中的儲(chǔ)存空間供后續(xù)I/O操作運(yùn)算使用,并釋放相對(duì)應(yīng)的資源(resource),例如解除對(duì)該區(qū)段條帶的鎖定及允許其他I/O對(duì)該區(qū)段條帶進(jìn)行存取(access)。(步驟S350)。
請(qǐng)注意,實(shí)際上此時(shí)具有N筆資料(如資料W2’)尚未完成寫入磁碟機(jī)(如D6)。該N筆未寫完的資料及其相關(guān)寫入資訊會(huì)持續(xù)保留儲(chǔ)存于非揮發(fā)性記憶體2212中,直到其完成寫入為止(步驟S330)。
而前述儲(chǔ)存于非揮發(fā)性記憶體2212中的未完成寫入資料的相關(guān)寫入資訊包括寫入位址,利用NVRAM于電源中斷仍能暫時(shí)維持資料的特性,以防止未寫完資料因電源中斷而遺失,以供在電源恢復(fù)后能藉以進(jìn)行資料重新寫入動(dòng)作。
然而,在其他實(shí)施例中,因成本考量或其他考量下,可能未使用NVRAM來(lái)儲(chǔ)存未完成寫入的寫入資料。當(dāng)判斷寫入完成的條件成立(如前述的只剩N筆資料尚未寫入),控制器221先行回復(fù)寫入完成訊息于存取要求應(yīng)用端21,以達(dá)到較佳的寫入效能;然而,當(dāng)使用于有查核資料(check data)的磁碟陣列(RAID)時(shí),未完成寫入的寫入資料尚儲(chǔ)存于揮發(fā)性記憶體(Volatile Memory),并另行將同位記錄(parity updating log)記錄于容量較小的NVRAM。若此時(shí)有電源中斷的情形發(fā)生,則未完成寫入的資料會(huì)造成該區(qū)段條帶(stripe)的資料不一致,此時(shí)則根據(jù)同位記錄(parityupdating log)的資料來(lái)做一致性修復(fù)。在另一實(shí)施例中,或并未使用此容量較小的NVRAM來(lái)儲(chǔ)存同位記錄(parity updating log),則于電源恢復(fù)之后,則需對(duì)磁碟陣列(RAID)的所有資料做一致性檢查。
而在另一實(shí)施例中,在計(jì)算新同位資料后,更包括進(jìn)行儲(chǔ)存同位記錄的步驟,且于步驟S350中更包括釋放(如刪除)此同位記錄,使提高整體系統(tǒng)效能。
再者,前述實(shí)施例中雖以具有一個(gè)同位資料(P)舉例說(shuō)明,如RAID3-5。但若系統(tǒng)采用的RAID型態(tài)支援復(fù)數(shù)個(gè)同位資料者(如RAID 6每個(gè)區(qū)段條帶應(yīng)具有二個(gè)同位資料P與Q),則該步驟S305即應(yīng)分別計(jì)算出相對(duì)應(yīng)的復(fù)數(shù)個(gè)新的同位資料。若采用的RAID型態(tài)不具有同位資料者(如RAID 0無(wú)查核資料(check data)),則該步驟S305可去掉。
在一實(shí)施例中,上述的N筆資料的設(shè)定依據(jù)所采用的RAID型態(tài)(RAIDlevel)而定,例如RAID3-5,則N=1,此利用其支援一個(gè)同位資料(P)的特性,使系統(tǒng)發(fā)生問(wèn)題時(shí),可利用其他的磁碟機(jī)內(nèi)的資料將該未實(shí)際完成寫入的資料恢復(fù)或重建。
而在另一實(shí)施例中,上述的N筆資料的設(shè)定基于儲(chǔ)存系統(tǒng)所能容忍儲(chǔ)存媒體暫時(shí)無(wú)法存取的等待時(shí)間(T),其中T=記憶體大小/(系統(tǒng)效能/有效磁碟機(jī)數(shù))。例如若系統(tǒng)效能為每秒鐘必須處理200MB(百萬(wàn)位元組),且此儲(chǔ)存系統(tǒng)中有8+1顆磁碟機(jī)所組成的RAID 5,其中8顆磁碟機(jī)為有效磁碟機(jī)數(shù),則每一顆磁碟機(jī)每秒分擔(dān)25MB資料處理量。若非揮發(fā)性記憶體2212的大小為512MB且N設(shè)定為1,代表只剩1筆資料未寫入完成,控制器221即可視對(duì)該區(qū)段條帶的寫入資料輸出入要求為已完成而回復(fù)一寫入完成訊息于存取要求應(yīng)用端21,并先釋放相對(duì)應(yīng)的資源(resource)。若有某一顆磁碟機(jī)暫時(shí)無(wú)法完成資料寫入,則此時(shí)每秒會(huì)累積25MB未完成的I/O資料于非揮發(fā)性記憶體2212內(nèi),20秒則會(huì)累積500MB未完成的I/O資料,因此若該目標(biāo)磁碟機(jī)于20秒內(nèi)完成該筆資料寫入則系統(tǒng)將不會(huì)有任何延遲。亦即,若目標(biāo)磁碟機(jī)在21秒時(shí)才完成該筆資料寫入,則累積的未完成I/O資料將超過(guò)非揮發(fā)性記憶體2212的容量,而導(dǎo)致系統(tǒng)會(huì)有一秒鐘的延遲發(fā)生。
相類似地,若N=2,代表只剩2筆資料未寫入完成時(shí)即可視寫入資料輸出入要求為已完成,則該儲(chǔ)存系統(tǒng)所能容忍的等待時(shí)間為10秒。因此,N值的設(shè)定必須考量系統(tǒng)效能、磁碟機(jī)數(shù)量、記憶體大小等操作環(huán)境因素。當(dāng)然,在其他實(shí)施例中,N值的設(shè)定亦可透過(guò)其他方式來(lái)決定。
前述的實(shí)施例中,是以設(shè)定一N值作為控制器221提前認(rèn)定寫入要求已完成的判斷條件,亦即,當(dāng)系統(tǒng)滿足只剩預(yù)設(shè)的N筆資料尚未寫完,即先回復(fù)寫入完成訊息于存取要求應(yīng)用端21,并視存取要求應(yīng)用端21發(fā)出的寫入資料輸出入要求已完成,且將先前儲(chǔ)存于非揮發(fā)性記憶體2212中該等確實(shí)已經(jīng)寫入至目標(biāo)磁碟機(jī)的寫入資料標(biāo)示為寫入完成(該筆可用來(lái)作為讀取快取),及騰出其記憶體2212中的儲(chǔ)存空間供后續(xù)I/O操作運(yùn)算使用,并釋放相對(duì)應(yīng)的資源(resource),例如解除對(duì)該區(qū)段條帶的鎖定及允許其他I/O對(duì)該區(qū)段條帶進(jìn)行存取(access),以及該等未寫完的資料及其相關(guān)寫入資訊會(huì)持續(xù)保留儲(chǔ)存于非揮發(fā)性記憶體2212中,直到其完成寫入為止。在另一實(shí)施例中,此判斷條件可為一時(shí)間值,即當(dāng)達(dá)到該預(yù)設(shè)的特定時(shí)間后,無(wú)論尚有幾筆資料未寫入完成,控制器221仍將視存取要求應(yīng)用端21所發(fā)出的寫入資料輸出入要求已完成,而回復(fù)一寫入完成訊息于存取要求應(yīng)用端21。
又,在另一實(shí)施例中,可結(jié)合前述兩種參數(shù)(N值與特定時(shí)間)作為提前認(rèn)定寫入完成的判斷條件。請(qǐng)參閱圖3B,是描繪其中一種實(shí)施樣態(tài),首先在一預(yù)設(shè)時(shí)間未到達(dá)前查核是否收到該等資料的各目標(biāo)磁碟機(jī)的寫入完成回復(fù),即所有的資料是否完成寫入,如圖中步驟S323,之后等待并判斷是否超過(guò)一預(yù)設(shè)的特定時(shí)間(步驟S325),而若其于預(yù)設(shè)的特定時(shí)間后尚未完全完成寫入才會(huì)去確認(rèn)是否只剩小于或等于預(yù)設(shè)N筆資料尚未完成寫入(步驟S327),而若剩下小于或等于該預(yù)設(shè)的N筆資料尚未寫入完成,則該控制器221如前述釋放該等確實(shí)已經(jīng)寫入至目標(biāo)磁碟機(jī)的寫入資料記錄并視寫入資料輸出入要求已完成,且釋放相對(duì)應(yīng)的資源。
在圖3B的實(shí)施例中,采用控制器221在送出實(shí)體儲(chǔ)存媒體寫入要求(Physical Storage Medium Write Request)至目標(biāo)磁碟機(jī)經(jīng)過(guò)一特定時(shí)間后才查核寫入狀況的設(shè)計(jì)方式。其中雖設(shè)計(jì)為在到達(dá)預(yù)設(shè)時(shí)間后即等待直到剩余未完成的筆數(shù)等于或小于N值,但本發(fā)明并不限制于此等手法,例如在另一實(shí)施例中,如圖3C所示,可設(shè)計(jì)為當(dāng)達(dá)到第一次的預(yù)設(shè)時(shí)間后,若剩余未完成的筆數(shù)大于N筆時(shí),則重新回到步驟S323,即重新再計(jì)時(shí)一次。
另外,在一實(shí)施例中,寫入資料中的包括寫入位址等的相關(guān)寫入資訊可在進(jìn)行寫入目標(biāo)磁碟機(jī)前即與對(duì)應(yīng)的寫入資料一并儲(chǔ)存于非揮發(fā)性記憶體內(nèi),而當(dāng)系統(tǒng)因電源中斷后恢復(fù)電源后,即可透過(guò)讀取非發(fā)性記憶體內(nèi)的資料進(jìn)行重新寫入而防止資料寫入遺失或錯(cuò)誤的情況。因此在此實(shí)施例中,可無(wú)須采用現(xiàn)有技術(shù)中的儲(chǔ)存同位記錄的相關(guān)手段。
在一實(shí)施例中,每一筆寫入資料儲(chǔ)存于非揮發(fā)性記憶體2212中的寫入資料的相關(guān)寫入資訊進(jìn)一步地包括寫入狀態(tài)與寫入位址,以供透過(guò)寫入狀態(tài)而令未完成寫入資訊與其他儲(chǔ)存于非揮發(fā)性記憶體2212中的資料有所區(qū)分,例如當(dāng)寫入狀態(tài)被設(shè)定為“0”,代表其所對(duì)應(yīng)的資料已無(wú)須寫入,可能是已完成寫入的資料;當(dāng)寫入狀態(tài)被設(shè)定為“1”,代表其所對(duì)應(yīng)的資料需進(jìn)行寫入,可能是尚待進(jìn)行寫入或正進(jìn)行寫入的資料。當(dāng)然,在其他的實(shí)施例中更可將資料的各種寫入狀態(tài)再細(xì)分而采用更多的狀態(tài)注記,例如尚待進(jìn)行寫入或正進(jìn)行寫入的資料例用不同的注記區(qū)分,或完成寫入的資料或無(wú)須寫入的資料亦利用不同的注記來(lái)區(qū)分。且此領(lǐng)域的技術(shù)人員當(dāng)能了解相關(guān)的注記方式不受前述舉例限制。
圖4A為采用此種配置的實(shí)施例的流程圖,而為方便說(shuō)明以了解本實(shí)施流程,假設(shè)采用的方式為,寫入狀態(tài)“0”,代表其所對(duì)應(yīng)的資料已完成寫入的資料,而可當(dāng)作讀取快取使用;寫入狀態(tài)“1”,代表其所對(duì)應(yīng)的資料尚待進(jìn)行寫入;寫入狀態(tài)“2”,代表其所對(duì)應(yīng)的資料正進(jìn)行寫入。
在本實(shí)施例中,此流程如前一實(shí)施例相同,可應(yīng)用于控制器221的非揮發(fā)性記憶體2212與實(shí)體磁碟機(jī)陣列222之間,當(dāng)接收來(lái)自于上層裝置(例如存取要求應(yīng)用端21)的待寫入資料及相關(guān)寫入資訊會(huì)暫存于非揮發(fā)性記憶體2212。但于本實(shí)施例中,除暫存該等資料外,尚包括該等資料所對(duì)應(yīng)的寫入位置及寫入狀態(tài),且此時(shí),由于此寫入資料尚未由非揮發(fā)性記憶體2212寫入于儲(chǔ)存媒體,因此,寫入資料的相關(guān)寫入資訊中的寫入狀態(tài)設(shè)為“1”。
請(qǐng)同時(shí)參考圖4A與圖4B,以RAID 5為例,當(dāng)欲將待寫入資料W1’,W2’,W3’由非揮發(fā)性記憶體2212寫入儲(chǔ)存媒體D5,D6,D7,則在寫入之前,控制器221同樣地會(huì)先計(jì)算待寫入資料的區(qū)段條帶41的新同位資料P1’,并將該新的同位資料P1’及其相關(guān)寫入資訊(包括寫入狀態(tài)與寫入地址)儲(chǔ)存于非揮發(fā)性記憶體2212(步驟S405)。接著控制器221將此等寫入資料的寫入狀態(tài)改為“2”(步驟S410),繼而,由非揮發(fā)性記憶體2212分別寫入資料W1’,W2’,W3’及同位資料P1’于磁碟機(jī)D5,D6,D7及D8(步驟S415)。
在控制器221分別寫入資料于目標(biāo)磁碟機(jī)D5,D6,D7及D8后,其會(huì)判斷是否只剩預(yù)設(shè)的N筆資料尚未寫完至目標(biāo)磁碟機(jī)D5,D6,D7及D8(步驟S420),此可藉由收到磁碟機(jī)的寫入完成回復(fù)來(lái)計(jì)數(shù),而可了解未完成者有幾筆,且在收到磁碟機(jī)的寫入完成回復(fù)時(shí),控制器會(huì)將該筆完成寫入的資料的寫入狀態(tài)改為“0”(步驟S425),控制器221隨即將寫入狀態(tài)為“0”者所對(duì)應(yīng)的儲(chǔ)存空間釋放出,而使該等儲(chǔ)存空間可供后續(xù)I/O操作運(yùn)算使用,例如圖4B中所示,資料W1’,W3’,P1’已寫入完成,而其相對(duì)應(yīng)的寫入狀態(tài)即變更為“0”。
若還有大于N筆資料未寫完,則控制器221繼續(xù)等待該等資料寫入于目標(biāo)磁碟機(jī),直到只剩N筆資料未完成;若只剩下小于或等于N筆資料未寫完,例如圖4B中所示者,假設(shè)N=1,且只有資料W2’尚未寫入完成。此時(shí),控制器221將視由存取要求應(yīng)用端21發(fā)出對(duì)該區(qū)段條帶的寫入資料輸出入要求為已完成,并釋放相對(duì)應(yīng)的資源(resource),如釋放寫入該區(qū)段條帶所需額外的記憶體,而僅保留寫入資料W2’所需的記憶體,及允許其他I/O對(duì)該區(qū)段條帶進(jìn)行存取(access)(步驟S450)。同樣地,若有使用同位記錄,則釋放(刪除)此同位記錄。請(qǐng)注意,此時(shí)具有N筆資料(如資料W2’)尚未完成確實(shí)寫入磁碟機(jī)(如D6)。因此,該N筆未寫完的資料的寫入狀態(tài)仍舊保持為“2”,且其實(shí)際上仍在進(jìn)行寫入動(dòng)作中,并于收到寫入完成回復(fù)后更改其寫入狀態(tài)為“0”(步驟S430)。
而若在尚未寫入完成的資料W2’正在寫入時(shí)卻發(fā)生電源中斷,由于資料W2’及其相關(guān)寫入資訊因先被儲(chǔ)存于非揮發(fā)性記憶體2212,所以資料W2’及其相關(guān)寫入資訊不會(huì)因?yàn)殡娫粗袛喽В以诳刂破?21重新啟動(dòng)電源后,控制器221會(huì)直接檢查非揮發(fā)性記憶體2212中有那些資料的寫入狀態(tài)被設(shè)定為“2”,例如圖4B中,資料W2’即處于尚未完成寫入的狀態(tài),依據(jù)被設(shè)定為“2”的寫入狀態(tài)以及相對(duì)應(yīng)的寫入位址及寫入資料來(lái)將未寫入完成的的資料W2’重新寫入目標(biāo)磁碟機(jī)。以確保正在進(jìn)行寫入中的資料不會(huì)因斷電而遺失。且因資料W2’寫入后,將會(huì)使該區(qū)段條帶的同位資料具一致性,因此可不需使用同位記錄來(lái)重新運(yùn)算同位資料以進(jìn)行區(qū)段條帶資料的一致性修正。
而就待進(jìn)行寫入的寫入資料,也由于該等寫入資料及相關(guān)寫入資訊皆儲(chǔ)存于非揮發(fā)性記憶體2212內(nèi),因此即便發(fā)生電源中斷等情況也不會(huì)消失,故而,在控制器重新啟動(dòng)后,仍可依據(jù)寫入狀態(tài)(設(shè)為“1”)來(lái)了解尚有那些寫入資料尚待進(jìn)行寫入至目標(biāo)磁碟機(jī)的動(dòng)作,而可接續(xù)斷電前的操作,依序安排進(jìn)行寫入。
在此種實(shí)施方式中,直接使用資料的寫入狀態(tài)來(lái)了解資料的寫入情況,因而當(dāng)遇系統(tǒng)斷電等情況,根據(jù)寫入狀態(tài)與寫入位址等相關(guān)的內(nèi)容即可進(jìn)行資料的回復(fù)或接續(xù)安排進(jìn)行寫入動(dòng)作,故而其可無(wú)需儲(chǔ)存同位記錄。但是并不限制其搭配使用儲(chǔ)存同位記錄的操作方式。
再者,對(duì)控制器而言,由于寫入狀態(tài)為“0”代表其收到寫入目標(biāo)磁碟機(jī)的寫入完成回復(fù),即該筆資料寫入完成,因此,其相對(duì)應(yīng)的資料儲(chǔ)存空間可被騰出而供后續(xù)I/O操作運(yùn)算使用,亦即每一寫入子操作一經(jīng)完成,該儲(chǔ)存空間即可被騰出使用,而不用等到整個(gè)寫入操作完成。
又,對(duì)于采用RAID型態(tài)為具有檢查資料(check data)的儲(chǔ)存系統(tǒng),例如RAID1具有鏡射(Mirror)資料,RAID 5具有一個(gè)同位(Parity)資料或RADI 6具有二個(gè)或多個(gè)同位資料等等。就此種磁碟陣列(RAID)儲(chǔ)存系統(tǒng)而言,其中一個(gè)很重要的功能為依照所采用的RAID型態(tài)(RAID level)而容許系統(tǒng)在至少一個(gè)磁碟機(jī)發(fā)生問(wèn)題時(shí),可利用其他的磁碟機(jī)內(nèi)的資料恢復(fù)或重建。
因此,在進(jìn)行寫入某一磁碟機(jī)位置的資料的動(dòng)作時(shí),同時(shí)一定得更新該位置相對(duì)應(yīng)的檢查資料,以維持該區(qū)段條帶的同位資料的一致性。例如前述的實(shí)施例中,在對(duì)一區(qū)段條帶進(jìn)行資料寫入時(shí),須先計(jì)算出該區(qū)段條帶的新的同位資料,并且于寫入該等資料時(shí)同時(shí)進(jìn)行更新。
因而,對(duì)于此種儲(chǔ)存系統(tǒng)而言,在實(shí)際上處理一個(gè)寫入資料輸出入要求時(shí),就其所對(duì)應(yīng)的一個(gè)區(qū)段條帶會(huì)有多個(gè)資料需分別寫入不同的磁碟機(jī)(至少包括寫入資料與檢查資料)。然而該復(fù)數(shù)筆資料在要進(jìn)行寫入前的寫入狀態(tài)的變更完成時(shí)間可能非為一致。但若于此變更途中不幸發(fā)生斷電等情況,則記憶體內(nèi)的該筆寫入要求的該區(qū)段條帶的各寫入資料的寫入狀態(tài)可能產(chǎn)生不一致的情況。例如同一區(qū)段條帶的該等寫入資料可能有些先已完成變更寫入狀態(tài)而為正在寫入,但有些還沒(méi)完成變更而為待寫入。于是在恢復(fù)供電后,若控制器徑依據(jù)寫入狀態(tài),僅將已完成變更者寫入目標(biāo)磁碟機(jī)中,這將造成該區(qū)段條帶同位元資料不一致的情況。
在一實(shí)施例中,設(shè)計(jì)為具有一變更記錄,用以在該等寫入狀態(tài)變更完成前記錄正在進(jìn)行寫入狀態(tài)變更的資料所對(duì)應(yīng)的區(qū)段條帶的位置。
請(qǐng)續(xù)參閱圖4C,其中以RAID5為例,假設(shè)對(duì)區(qū)段條帶42而言,各磁碟機(jī)D5,D6,D7及D8分別原先已存有資料W21,W22,W23與P24。理論上同位資料應(yīng)為一致,即P24=W21W22W23。而后控制器剖析一寫入資料輸出入要求而欲將資料W21’,W22’分別寫入?yún)^(qū)段條帶42的磁碟機(jī)D5,D6時(shí),會(huì)先計(jì)算該區(qū)段條帶42的新的同位資料P24’(P24’=W21’W22’W23=W21’W22’W21W22P24)。而在本實(shí)施例中,在準(zhǔn)備進(jìn)行寫入目標(biāo)磁碟機(jī)前,變更資料W21’,W22’及P24’的寫入狀態(tài)的同時(shí)或之前,將區(qū)段條帶42的位置記錄起來(lái)直到該等資料W21’,W22’及P24’的寫入狀態(tài)皆順利變更完成為止。
而若不幸在變更寫入狀態(tài)途中發(fā)生斷電等情況,假設(shè)此斷電時(shí),剛好僅有W21’的寫入狀態(tài)完成變更為2,W22’,P24’仍為1。在恢復(fù)供電后,控制器若依據(jù)記憶體2212內(nèi)的資料,僅將寫入狀態(tài)記錄為2的W21’寫入目標(biāo)磁碟機(jī)中,則將會(huì)發(fā)生該區(qū)段條帶42同位資料不一致的狀況,因?yàn)椋诺鷻C(jī)D8內(nèi)的同位資料并未被更新,而仍是P24,但P24≠W21’W22W23。而于本實(shí)施例中,除會(huì)將W21’寫入磁碟機(jī)D5內(nèi),尚會(huì)查核變更記錄,得知區(qū)段條帶42在斷電時(shí)正在進(jìn)行相關(guān)的寫入資料的寫入狀態(tài)變更,因而,控制器同時(shí)會(huì)對(duì)區(qū)段條帶42進(jìn)行同位資料一致性修正。
或者,在其他的實(shí)施例中,當(dāng)恢復(fù)供電后,控制器查核記錄得知區(qū)段條帶42在斷電時(shí)正在進(jìn)行寫入狀態(tài)變更,則控制器并不會(huì)將此區(qū)段條帶42所對(duì)應(yīng)而寫入狀態(tài)為2的寫入資料W21’寫入目標(biāo)磁碟機(jī)D5中,而是重新處理該區(qū)段條帶42所對(duì)應(yīng)的寫入要求。同樣地,在使用前述具有寫入狀態(tài)配置的其他實(shí)施例中,可設(shè)定一特定時(shí)間值,控制器221在送出輸出入要求(IO Request)至目標(biāo)磁碟機(jī)經(jīng)過(guò)該特定時(shí)間后才查核寫入狀況,判斷是否只剩下小于或等于該預(yù)設(shè)的N筆資料尚未寫入完成。
圖5A為本發(fā)明其他實(shí)施例的示意圖,其為一冗余(Redundant)控制器架構(gòu),且該冗余架構(gòu)可為主動(dòng)-主動(dòng)(Active-Active)模式或主動(dòng)-被動(dòng)(Active-Standby)模式。于圖5A中,其包括控制器51,52以及實(shí)體磁碟機(jī)陣列53,其中控制器51具有非揮發(fā)性記憶體511,控制器52具有非揮發(fā)性記憶體521,實(shí)體磁碟機(jī)陣列53具有磁碟機(jī)D9,D10,D11及D12。
在冗余架構(gòu)中,例如在主動(dòng)-被動(dòng)模式中,控制器51為主要控制器(Primary Controller),控制器52為次要控制器(SecondaryController),則控制器51的非揮發(fā)性記憶體511中的資料會(huì)拷貝(copy)至控制器52的非揮發(fā)性記憶體521,以使得控制器51故障時(shí),控制器52能立即接手其未完成的工作,而不至于有資料遺失或資料錯(cuò)誤的狀況產(chǎn)生。在本實(shí)施例中,控制器51的非揮發(fā)性記憶體511中儲(chǔ)存有資料W4,W5及W6,而控制器52的非揮發(fā)性記憶體521中亦儲(chǔ)存有資料W4,W5及W6。
當(dāng)控制器51將非揮發(fā)性記憶體511中的資料W4,W5及W6寫入實(shí)體磁碟機(jī)陣列53中的磁碟機(jī)D9,D10及D11時(shí),其操作方式與上述實(shí)施例相類似。但在控制器51新增或更動(dòng)非揮發(fā)性記憶體511中的資料時(shí)會(huì)通知另一控制器52,以使二控制器51,52的非揮發(fā)性記憶體511,521中的資料能幾乎維持同步一致。例如當(dāng)控制器51要進(jìn)行寫入資料W4,W5,W6至磁碟機(jī)前,會(huì)計(jì)算新的同位資料P2’,并將此同位資料P2’及相關(guān)寫入訊息存于非揮發(fā)性記憶體511內(nèi),此時(shí)亦會(huì)將此儲(chǔ)存資料(P2’與相關(guān)寫入訊息)拷貝至控制器52的非揮發(fā)性記憶體521內(nèi);或者,若為有寫入狀態(tài)的方式,當(dāng)寫入狀態(tài)有改變時(shí),要通知控制器52使記憶體521相對(duì)應(yīng)的更改;或,若有變更記錄,則一樣需通知控制器52使記憶體521內(nèi)具有相同的記錄。
藉此,當(dāng)控制器51故障(Fail)時(shí),控制器52可以檢查非揮發(fā)性記憶體521中資料而進(jìn)行相對(duì)應(yīng)的處理。例如將非揮發(fā)性記憶體521中有效資料依據(jù)其寫入位址重新寫入目標(biāo)磁碟機(jī)內(nèi);或者依據(jù)寫入狀態(tài),將寫入狀態(tài)“2”的資料重新寫入,以避免資料遺失,以及將寫入狀態(tài)為“1”的待進(jìn)行寫入資料進(jìn)行安排寫入,以接續(xù)控制器51的工作;或者依據(jù)變更記錄來(lái)防止產(chǎn)生同位資料不一致的情況。
圖5B為本發(fā)明冗余架構(gòu)中的其他實(shí)施例示意圖,其與上述實(shí)施例相類似,在圖5B中,其包括控制器61,62以及實(shí)體磁碟機(jī)陣列63,其中控制器61具有非揮發(fā)性記憶體611,控制器62具有非揮發(fā)性記憶體621,實(shí)體磁碟機(jī)陣列63具有磁碟機(jī)D13,D14,D15及D16。
然,本實(shí)施例一般可適用于直接寫入模式。與上述實(shí)施例不同之處在于,當(dāng)控制器61收到上層裝置的寫入要求與相關(guān)寫入資料,將寫入資料與相關(guān)資訊存于非揮發(fā)性記憶體611中,而此等資料并沒(méi)有拷貝儲(chǔ)存于控制器62的非揮發(fā)性記憶體621,此時(shí)僅有在控制器61要進(jìn)行將資料寫入至目標(biāo)磁碟機(jī)時(shí),告知控制器62有那一個(gè)同位資料或區(qū)段條帶正在進(jìn)行資料寫入,以使控制器62接手時(shí)能利用此記錄維持同位資料的一致性。此是由于采用直接寫入模式的關(guān)系因而可以不必一定得將資料復(fù)制到另外一個(gè)控制器。因?yàn)樗^的直接寫入模式意味者在未將資料真的寫入目標(biāo)磁碟機(jī)前,發(fā)出要求的上層裝置并不會(huì)收到寫入已完成的回報(bào),因而即便控制器61在未完成寫入前發(fā)生故障,控制器62接手時(shí)并沒(méi)有該筆資料,但是由于發(fā)出該寫入要求的上層裝置可于偵測(cè)到錯(cuò)誤或者是超過(guò)要求允許處理的時(shí)間(Time out)時(shí),對(duì)接手的控制器62重新發(fā)送一次該寫入要求即可。
茲再舉例說(shuō)明如下當(dāng)控制器61將非揮發(fā)性記憶體611中的資料W7,W8及W9寫入實(shí)體磁碟機(jī)陣列63中的磁碟機(jī)D13,D14及D15時(shí),其操作方式與上述實(shí)施例相類似。唯,并不會(huì)將此動(dòng)作引發(fā)的相關(guān)記憶體變化傳送給控制器62。但此時(shí)控制器61會(huì)告知控制器62區(qū)段條帶43正在進(jìn)行資料寫入動(dòng)作。接著,在控制器61在只剩N筆資料(例如資料W8)未收到寫入回復(fù)時(shí),會(huì)將該N筆未寫完的資料(資料W8)及其相關(guān)寫入資訊拷貝儲(chǔ)存于控制器62的非揮發(fā)性記憶體621中,如圖5B所示。繼而,控制器61才會(huì)提供一寫入資料完成訊息來(lái)通知上層裝置。而在當(dāng)控制器61收到目標(biāo)磁碟機(jī)的資料W8寫入完成的回復(fù),除會(huì)釋放使自身的非揮發(fā)性記憶體611內(nèi)的資料W8及相關(guān)資訊為外,亦會(huì)通知控制器62,使其非揮發(fā)性記憶體內(nèi)的備份資料W8被釋放。
是故,當(dāng)控制器61故障時(shí),控制器62可以檢查非揮發(fā)性記憶體621中有那些有效資料以及那個(gè)區(qū)段條帶在進(jìn)行寫入資料動(dòng)作的記錄,繼而控制器62將該等進(jìn)行寫入但尚未完成的資料重新寫入目標(biāo)磁碟機(jī)或進(jìn)行同位資料一致性修正等動(dòng)作。
又,請(qǐng)參考圖5C,在本發(fā)明中假設(shè)當(dāng)控制器將資料W10,W11及W12以及其相對(duì)應(yīng)的同位資料P4’由非揮發(fā)性記憶體分別寫入目標(biāo)磁碟機(jī)D17,D18及D19,D20時(shí),資料W11及W12,P4’已經(jīng)先寫入完成于目標(biāo)磁碟機(jī)D18及D19,D20,若欲設(shè)N=1,則由于此時(shí)只剩預(yù)設(shè)N筆資料尚未寫入完成,所以會(huì)先釋放相對(duì)應(yīng)的資源,但資料W10及相對(duì)應(yīng)的寫入位址仍然會(huì)有效地儲(chǔ)存于非揮發(fā)性記憶體中。
而在有些情況下,資料W10雖尚未寫完,但上層裝置(如存取要求應(yīng)用端21)有可能又傳送一寫入資料輸出入要求,此寫入資料輸出入要求包括一筆新的寫入資料W13至控制器,且同樣寫入至目標(biāo)磁碟機(jī)D17與資料W10的寫入位址相同,意即,將以資料W13覆蓋資料W10。在一實(shí)施例中,當(dāng)控制器進(jìn)行資料W13寫入目標(biāo)磁碟機(jī)D17的步驟中,更包括將非揮發(fā)性記憶體內(nèi)資料W10與相關(guān)寫入資訊拋棄(如,刪除或視為無(wú)效,或更改寫入狀態(tài)為“0”)。如此設(shè)計(jì),當(dāng)在資料W13尚處于正在進(jìn)行寫入狀態(tài)時(shí),若發(fā)生控制器電源中斷的情況時(shí),待恢復(fù)電源后依據(jù)非揮發(fā)性記憶體內(nèi)資料,重新寫入W13,而不會(huì)再將資料W10重新寫入,以去除不必要的寫入動(dòng)作,且可避免系統(tǒng)在恢復(fù)電源進(jìn)行資料重新寫入動(dòng)作時(shí),發(fā)生寫入順序錯(cuò)誤(先寫資料W13后寫資料W10)的情況。
在另一實(shí)施例中,為避免同一位址發(fā)生重寫順序錯(cuò)誤的情況的方法,是可對(duì)每筆資料加注一計(jì)數(shù)值,例如,待寫入資料W10的計(jì)數(shù)值為1、待寫入資料W13的計(jì)數(shù)值為2,以供透過(guò)該等計(jì)數(shù)值來(lái)判斷那一個(gè)資料是最新的。因此,在系統(tǒng)發(fā)生不正常狀況而需進(jìn)行重新寫入程序時(shí),控制器可依據(jù)該計(jì)數(shù)值,而僅將W10,W13中最新資料者重新寫入即可。
在另一實(shí)施例中,當(dāng)控制器欲將資料W13寫入目標(biāo)磁碟機(jī)之前,亦可對(duì)目標(biāo)磁碟機(jī)D17下達(dá)取消(abort)寫入資料W10的命令再進(jìn)行寫入資料W13的程序,而于收到取消完成的回復(fù)后才拋棄記憶體內(nèi)的先前的資料W10與相關(guān)寫入資訊。
再者,若系統(tǒng)不支援取消已下達(dá)給目標(biāo)磁碟機(jī)的寫入操作時(shí),則在另一可能的實(shí)施例中,會(huì)在收到目標(biāo)磁碟機(jī)D17的完成寫入資料W10的回復(fù)后,才會(huì)對(duì)同一位址再下達(dá)進(jìn)行寫入資料的命令,亦即在收到寫入資料W10的寫入完成回復(fù)前,并不會(huì)將資料W13寫入目標(biāo)磁碟機(jī)。而在等待回復(fù)的期間,若發(fā)生如前述的收到上層裝置傳送一筆新的寫入資料W14至控制器,其寫入至目標(biāo)磁碟機(jī)D17中與資料W10,W13寫入位址相同的情況,則在此實(shí)施例中,如同前述者,控制器可僅保有資料W14,而拋棄資料W13,或相似地,利用前述加注計(jì)數(shù)值的做法,將資料W14的計(jì)數(shù)值為3。同樣地,若等待回復(fù)期間內(nèi)仍有其他欲寫入同一位址的資料,則依前述皆僅保留最新的資料,而將同一位址的舊資料拋棄,或依序累加計(jì)數(shù)值,以辨識(shí)何者為最新資料,而當(dāng),收到資料W10寫入成功回復(fù)時(shí),則僅需將所存在的有效資料或計(jì)數(shù)值最大者的相對(duì)應(yīng)資料寫入目標(biāo)磁碟機(jī)中。
也就是說(shuō),前述二實(shí)施例中,由于其在等待期間會(huì)拋棄同一位址舊資料或計(jì)數(shù)值較小者,亦即并不會(huì)真的去寫入該等資料,可有效減少寫入動(dòng)作的產(chǎn)生。
請(qǐng)注意,前述拋棄舊資料或利用計(jì)數(shù)值區(qū)分新舊資料的方式,除可二者擇一使用外,亦可并存使用。
再者,在有些系統(tǒng)設(shè)計(jì)中,一可能的寫入狀況是,每筆寫入資料可能未含有欲寫入目標(biāo)位址區(qū)塊內(nèi)整個(gè)儲(chǔ)存空間的資料。例如,圖6中所示,資料W10,僅包括寫入目標(biāo)磁碟機(jī)D17中寫入位址區(qū)塊A的前段,資料W13為寫入目標(biāo)磁碟機(jī)D17區(qū)塊A的后段等等。在此種狀態(tài)下,若如前述實(shí)施例,僅將最新資料寫入,將會(huì)引發(fā)過(guò)程資料上的遺失或錯(cuò)誤。因此,在另一種采用前述加注計(jì)數(shù)值的實(shí)施例中,該計(jì)數(shù)值僅用來(lái)了解該等資料的先后順序以避免發(fā)生同一位址發(fā)生重寫順序錯(cuò)誤的情況,亦即在系統(tǒng)發(fā)生不正常狀況而需進(jìn)行重新寫入程序時(shí),控制器可依據(jù)該計(jì)數(shù)值,依序重新寫入該等資料,而非僅將最新資料者(計(jì)數(shù)值最大)重新寫入。
但,在本發(fā)明的一實(shí)施例中,會(huì)將所收到寫入位址相同的新資料與當(dāng)時(shí)已存在未完成寫入的最后舊資料進(jìn)行整合,以在確保應(yīng)寫入資料的完整性及正確性的前提下,可有效減少寫入目標(biāo)磁碟機(jī)的動(dòng)作。例如,請(qǐng)?jiān)賲㈤唸D6,假設(shè)資料W10尚未實(shí)際完成寫入時(shí),收到資料W13,則會(huì)將資料W13與W10整合為資料W13’,同樣地,若又收到寫入?yún)^(qū)塊A的資料W14,則資料W13’與W14整合為W14’,當(dāng)接收到回復(fù)后或產(chǎn)生電源中斷后的恢復(fù)時(shí),因最新的資料如W14’尚未完成寫入,因而此時(shí)僅寫入最新整合后的資料W14’。
由以上的說(shuō)明可知,本發(fā)明在待寫入資料由非揮發(fā)性記憶體寫入于實(shí)體儲(chǔ)存裝置時(shí),可在N筆資料尚未寫入時(shí),便視該整體寫入動(dòng)作已完成,且將已收到實(shí)體儲(chǔ)存裝置寫入完成回復(fù)的寫入資料以及相關(guān)寫入資訊的非揮發(fā)性記憶體儲(chǔ)存空間先騰出而供其他運(yùn)算操作使用,并釋放相對(duì)應(yīng)的資源,以改善整體系統(tǒng)效能。
以上所述,僅是本發(fā)明的較佳實(shí)施例而已,并非對(duì)本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實(shí)施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)可利用上述揭示的技術(shù)內(nèi)容作出些許更動(dòng)或修飾為等同變化的等效實(shí)施例,但凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡(jiǎn)單修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
權(quán)利要求
1.一種儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于該方法由一第一控制器所執(zhí)行,以處理一存取要求應(yīng)用端所發(fā)出的一寫入資料輸出入要求,該方法包括如下步驟對(duì)一實(shí)體儲(chǔ)存媒體陣列發(fā)出至少一實(shí)體儲(chǔ)存媒體寫入要求;查核一寫入完成判斷條件是否被滿足;以及前述判斷結(jié)果若為是,則視該寫入資料輸出入要求為已完成,并釋放該至少一實(shí)體儲(chǔ)存媒體寫入要求中已完成者所對(duì)應(yīng)的資源以及該寫入資料輸出入要求所使用的資源;其中該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的寫入資料與其相關(guān)寫入資訊儲(chǔ)存于一記憶體中,待寫入完成后再以清除。
2.根據(jù)權(quán)利要求1所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其中所述的判斷條件為一特定時(shí)間,用以當(dāng)達(dá)到該特定時(shí)間即先行視該寫入資料輸出入要求為已完成。
3.根據(jù)權(quán)利要求1所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其中所述的判斷條件為一預(yù)設(shè)筆數(shù),用以當(dāng)該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的數(shù)量不大于該預(yù)設(shè)筆數(shù)時(shí),即先行視該寫入資料輸出入要求為已完成。
4.根據(jù)權(quán)利要求3所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其中所述的預(yù)設(shè)筆數(shù)的數(shù)值的設(shè)定基于所采用的磁碟陣列型態(tài)而定。
5.根據(jù)權(quán)利要求3所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其中所述的預(yù)設(shè)筆數(shù)的數(shù)值的設(shè)定基于該儲(chǔ)存系統(tǒng)所能容忍儲(chǔ)存媒體暫時(shí)無(wú)法存取的等待時(shí)間,該等待時(shí)間基于記憶體大小、系統(tǒng)效能與有效磁碟機(jī)數(shù)而決定。
6.根據(jù)權(quán)利要求3所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于在發(fā)出要求步驟之后,更包括一計(jì)時(shí)步驟,用以計(jì)算一預(yù)設(shè)時(shí)間值,使達(dá)該預(yù)設(shè)時(shí)間才進(jìn)行該判斷步驟,且若于達(dá)該預(yù)設(shè)時(shí)間前該至少一實(shí)體儲(chǔ)存媒體寫入要求即皆已完成,則無(wú)須進(jìn)行該判斷步驟。
7.根據(jù)權(quán)利要求1所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其更包括將該至少一實(shí)體儲(chǔ)存媒體寫入要求中已完成者的資料儲(chǔ)存空間騰出供后續(xù)輸出入操作運(yùn)算使用。
8.根據(jù)權(quán)利要求1所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其中所述的釋放該至少一實(shí)體儲(chǔ)存媒體寫入要求中已完成者所對(duì)應(yīng)的資源的步驟,包括解除因該寫入資料輸出入要求而對(duì)寫入的區(qū)段條帶的鎖定及允許其他輸出入操作對(duì)該區(qū)段條帶進(jìn)行存取。
9.根據(jù)權(quán)利要求1所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其中所述的記憶體具有即便電源中斷仍能至少暫時(shí)維持所儲(chǔ)存資料使之不會(huì)消失特性,使該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的寫入資料與其相關(guān)寫入資訊能持續(xù)保持直到實(shí)際完成寫入為止。
10.根據(jù)權(quán)利要求9所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其中儲(chǔ)存于記憶體中的該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的相關(guān)寫入資訊包括有寫入位址,以以供遇電源中斷的情況時(shí),在電源恢復(fù)后能藉以將該未完成寫入要求者重新寫入至該實(shí)體儲(chǔ)存媒體陣列。
11.根據(jù)權(quán)利要求1所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其中在發(fā)出該實(shí)體儲(chǔ)存媒體寫入要求前更包括以下步驟接收來(lái)自于該存取要求應(yīng)用端的該寫入資料輸出入要求及相對(duì)應(yīng)的寫入資料;將來(lái)自于該存取要求應(yīng)用端的該寫入資料存于該記憶體;以及因應(yīng)該存取要求應(yīng)用端的該寫入資料輸出入要求,執(zhí)行對(duì)該實(shí)體儲(chǔ)存媒體陣列發(fā)出該至少一實(shí)體儲(chǔ)存媒體寫入要求的步驟,以將來(lái)自于該存取要求應(yīng)用端的該寫入資料寫入該實(shí)體儲(chǔ)存媒體陣列中。
12.根據(jù)權(quán)利要求11所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其中所述的相關(guān)寫入資訊包括有一寫入狀態(tài)注記,以以供區(qū)分所對(duì)應(yīng)寫入資料的寫入狀態(tài)。
13.根據(jù)權(quán)利要求1所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其更包括在接收到來(lái)自于該存取要求應(yīng)用端的該寫入資料而儲(chǔ)存于該記憶體時(shí),該寫入資料所對(duì)應(yīng)的該寫入狀態(tài)注記所指示的寫入狀態(tài)為待進(jìn)行寫入;在因應(yīng)該存取要求應(yīng)用端的該寫入資料輸出入要求,執(zhí)行對(duì)該實(shí)體儲(chǔ)存媒體陣列發(fā)出該至少一實(shí)體儲(chǔ)存媒體寫入要求的步驟前,將該寫入資料所對(duì)應(yīng)的該寫入狀態(tài)注記變更為指示正進(jìn)行寫入的注記;以及將確實(shí)已完成寫入的該實(shí)體儲(chǔ)存媒體寫入要求的資料所對(duì)應(yīng)的該寫入狀態(tài)注記變更為指示寫入完成的注記。
14.根據(jù)權(quán)利要求13所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其更包括有一變更記錄步驟,記錄正在進(jìn)行寫入狀態(tài)變更為正進(jìn)行寫入的注記的資料所對(duì)應(yīng)的區(qū)段條帶的位置。
15.根據(jù)權(quán)利要求14所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其更包括有當(dāng)遇電源中斷的情況時(shí),在復(fù)電后依據(jù)該記憶體內(nèi)各寫入資料所對(duì)應(yīng)的該寫入狀態(tài)注記,而將該寫入狀態(tài)注記指示為正進(jìn)行寫入者,重新寫入該實(shí)體儲(chǔ)存媒體陣列;以及依據(jù)該變更記錄對(duì)該所記錄的區(qū)段條帶進(jìn)行同位資料一致性修正。
16.根據(jù)權(quán)利要求14所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其更包括有當(dāng)遇電源中斷的情況時(shí),在恢復(fù)供電后依據(jù)該變更記錄,重新處理該所記錄的區(qū)段條帶所對(duì)應(yīng)的寫入要求。
17.根據(jù)權(quán)利要求1所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其中在發(fā)出至少一實(shí)體儲(chǔ)存媒體寫入要求的步驟前,包括有對(duì)該至少一實(shí)體儲(chǔ)存媒體寫入要求的寫入目標(biāo)位置的至少一實(shí)體儲(chǔ)存媒體下達(dá)取消命令,以取消該至少一實(shí)體儲(chǔ)存媒體已存在而進(jìn)行的該目標(biāo)位置的寫入要求;以及拋棄已儲(chǔ)存于該記憶體中與該至少一實(shí)體儲(chǔ)存媒體寫入要求的寫入目標(biāo)位址相同的資料與其相關(guān)寫入資訊。
18.根據(jù)權(quán)利要求1所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其中在發(fā)出至少一實(shí)體儲(chǔ)存媒體寫入要求的步驟前,包括有拋棄儲(chǔ)存于該記憶體中與該至少一實(shí)體儲(chǔ)存媒體寫入要求的寫入目標(biāo)位址相同且尚未下達(dá)相對(duì)應(yīng)的寫入要求者的資料與其相關(guān)寫入資訊。
19.根據(jù)權(quán)利要求1所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其中儲(chǔ)存于該記憶體中寫入目標(biāo)位址相同的未實(shí)際完成寫入的每筆資料具有一相對(duì)應(yīng)的計(jì)數(shù)值,用以為同一寫入目標(biāo)位址的多筆資料的先后順序。
20.根據(jù)權(quán)利要求1所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其更包括有在該發(fā)出至少一實(shí)體儲(chǔ)存媒體寫入要求的步驟前,整合儲(chǔ)存于該記憶體中且與該至少一實(shí)體儲(chǔ)存媒體寫入要求的寫入目標(biāo)位址相同的資料。
21.根據(jù)權(quán)利要求1所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其更包括儲(chǔ)存該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的資料與相關(guān)寫入資訊于一第二控制器的一記憶體中,而能在該第一控制器發(fā)生狀況時(shí),由該第二控制器接手繼續(xù)完成寫入動(dòng)作。
22.根據(jù)權(quán)利要求1所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其更包括該第一控制器查核該寫入完成判斷條件,且該判斷條件被滿足后,將該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的資料與相關(guān)寫入資訊傳送至一第二控制器而儲(chǔ)存于一記憶體中,使能在該第一控制器發(fā)生狀況時(shí),由該第二控制器接手繼續(xù)完成寫入動(dòng)作。
23.根據(jù)權(quán)利要求1所述的儲(chǔ)存系統(tǒng)中資料寫入的方法,其特征在于其更包括有該第一控制器將該寫入資料輸出入要求所對(duì)應(yīng)的區(qū)段條帶位置傳送至一第二控制器而暫存于該第二控制器內(nèi)的一記憶體內(nèi),以使當(dāng)該第一控制器發(fā)生狀況而由該第二控制器接手時(shí),該第二控制器依據(jù)該所暫存的區(qū)段條帶位置對(duì)該區(qū)段條帶進(jìn)行同位資料一致性修正的步驟。
24.一種儲(chǔ)存系統(tǒng),其特征在于其包括一存取要求應(yīng)用端,用以發(fā)送一寫入資料輸出入要求;一第一控制器,耦接于該存取要求應(yīng)用端;至少一實(shí)體儲(chǔ)存媒體陣列,耦接于該第一控制器,用以透過(guò)該第一控制器對(duì)該存取要求應(yīng)用端提供儲(chǔ)存空間;其中該第一控制器為因應(yīng)該寫入資料輸出入要求,對(duì)該實(shí)體儲(chǔ)存媒體陣列發(fā)出至少一實(shí)體儲(chǔ)存媒體寫入要求,且于滿足一寫入完成判斷條件時(shí),即視該寫入資料輸出入要求為已完成,并將該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的寫入資料與其相關(guān)寫入資訊儲(chǔ)存于一記憶體中以及釋放該至少一實(shí)體儲(chǔ)存媒體寫入要求中已完成者所對(duì)應(yīng)的資源與該寫入資料輸出入要求所使用的資源。
25.根據(jù)權(quán)利要求24所述的儲(chǔ)存系統(tǒng),其特征在于其中所述的該記憶體具有即便電源中斷仍能維持其所儲(chǔ)存的資料不消失的特性,使該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的寫入資料與其相關(guān)寫入資訊能持續(xù)保持直到實(shí)際完成寫入為止。
26.根據(jù)權(quán)利要求25所述的儲(chǔ)存系統(tǒng),其特征在于其中所述的記憶體為下列的一者非揮發(fā)性記憶體及有電池備援單元的記憶體。
27.根據(jù)權(quán)利要求24所述的儲(chǔ)存系統(tǒng),其特征在于其中所述的判斷條件可為一特定時(shí)間,用以當(dāng)達(dá)到該特定時(shí)間即先行視該寫入資料輸出入要求為已完成。
28.根據(jù)權(quán)利要求24所述的儲(chǔ)存系統(tǒng),其特征在于其中所述的判斷條件為一預(yù)設(shè)筆數(shù),用以當(dāng)該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成寫入的數(shù)量不大于該預(yù)設(shè)筆數(shù)時(shí),即先行視該寫入資料輸出入要求為已完成。
29.根據(jù)權(quán)利要求24所述的儲(chǔ)存系統(tǒng),其特征在于其更包括一第二控制器,其包括一記憶體,儲(chǔ)存有該第一控制器未完成的該實(shí)體儲(chǔ)存媒體寫入要求的資料與相關(guān)寫入資訊,而能在第一控制器發(fā)生狀況時(shí),由該第二控制器接手繼續(xù)完成寫入動(dòng)作。
30.根據(jù)權(quán)利要求24所述的儲(chǔ)存系統(tǒng),其特征在于其更包括該第一控制器查核該寫入完成判斷條件,且該判斷條件被滿足后,將該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的資料與相關(guān)寫入資訊傳送至一第二控制器而儲(chǔ)存于一記憶體中,使能在該第一控制器發(fā)生狀況時(shí),由該第二控制器接手繼續(xù)完成寫入動(dòng)作。
31.一種儲(chǔ)存子系統(tǒng),包括有一第一控制器;至少一實(shí)體儲(chǔ)存媒體陣列,耦接于該第一控制器;其中當(dāng)該第一控制器對(duì)該實(shí)體儲(chǔ)存媒體陣列發(fā)出至少一實(shí)體儲(chǔ)存媒體寫入要求,且于滿足一寫入完成判斷條件時(shí),即視來(lái)自于一存取要求應(yīng)用端的一寫入資料輸出入要求為已完成,并將該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的寫入資料與其相關(guān)寫入資訊儲(chǔ)存于一記憶體中以及釋放該至少一實(shí)體儲(chǔ)存媒體寫入要求中已完成者所對(duì)應(yīng)的資源與該寫入資料輸出入要求所使用的資源。
32.根據(jù)權(quán)利要求31所述的儲(chǔ)存子系統(tǒng),其特征在于其中所述的記憶體具有即便電源中斷仍能維持其所儲(chǔ)存的資料不消失的特性,使該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的寫入資料與其相關(guān)寫入資訊能持續(xù)保持直到實(shí)際完成寫入為止。
33.根據(jù)權(quán)利要求31所述的儲(chǔ)存子系統(tǒng),其特征在于其中所述的記憶體為下列之一者非揮發(fā)性記憶體及有電池備援單元的記憶體。
34.根據(jù)權(quán)利要求31所述的儲(chǔ)存子系統(tǒng),其特征在于其中所述的判斷條件為一特定時(shí)間,用以當(dāng)達(dá)到該特定時(shí)間即先行視該寫入資料輸出入要求為已完成。
35.根據(jù)權(quán)利要求31所述的儲(chǔ)存子系統(tǒng),其特征在于其中所述的判斷條件為一預(yù)設(shè)筆數(shù),用以當(dāng)該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的數(shù)量不大于該預(yù)設(shè)筆數(shù)時(shí),即先行視該寫入資料輸出入要求為已完成。
36.根據(jù)權(quán)利要求31所述的儲(chǔ)存子系統(tǒng),其特征在于其更包括一第二控制器,其包括一記憶體,儲(chǔ)存有該第一控制器未完成的該實(shí)體儲(chǔ)存媒體寫入要求的資料與相關(guān)寫入資訊,而能在該第一控制器發(fā)生狀況時(shí),由該第二控制器接手繼續(xù)完成寫入動(dòng)作。
37.根據(jù)權(quán)利要求31所述的儲(chǔ)存子系統(tǒng),其特征在于其更包括該第一控制器查核該寫入完成判斷條件,且該判斷條件被滿足后,將該至少一實(shí)體儲(chǔ)存媒體寫入要求中未完成者的資料與相關(guān)寫入資訊傳送至一第二控制器而儲(chǔ)存于一記憶體中,使能在該第一控制器發(fā)生狀況時(shí),由該第二控制器接手繼續(xù)完成寫入動(dòng)作。
全文摘要
本發(fā)明有關(guān)于一種改善資料寫入效率的方法以及實(shí)施此方法的子系統(tǒng)與系統(tǒng)。該改善資料寫入效率的方法,當(dāng)寫入資料,只要剩預(yù)設(shè)N筆資料未寫完或者在等候一段特定時(shí)間后若仍有資料未寫完,便先視其已完成,而先釋放出相對(duì)應(yīng)的資源,其中該未寫完資料及其相關(guān)寫入資訊儲(chǔ)存于非揮發(fā)性記憶體中,以當(dāng)若突然發(fā)生電源故障而導(dǎo)致寫入資料中止,則在電源重新開(kāi)啟后,能透過(guò)先前所儲(chǔ)存的待寫入資料及其相關(guān)資訊來(lái)將未寫入完成的資料重新寫入儲(chǔ)存媒體內(nèi)。
文檔編號(hào)G06F11/00GK1908907SQ20061009958
公開(kāi)日2007年2月7日 申請(qǐng)日期2006年8月1日 優(yōu)先權(quán)日2005年8月1日
發(fā)明者洪清海 申請(qǐng)人:普安科技股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
武威市| 平谷区| 东乌珠穆沁旗| 乐平市| 淮滨县| 伽师县| 仪陇县| 华容县| 常德市| 盘锦市| 普兰店市| 喀什市| 平安县| 乐业县| 台湾省| 辉南县| 和林格尔县| 泸溪县| 阿拉善盟| 社会| 泗阳县| 富锦市| 宝丰县| 黄龙县| 武陟县| 定边县| 青浦区| 青岛市| 崇仁县| 类乌齐县| 惠安县| 哈巴河县| 竹山县| 阿拉善盟| 花莲县| 彰化市| 旌德县| 文化| 广饶县| 柳林县| 中西区|