亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在萬一失去電力時維護固態(tài)存儲器內(nèi)數(shù)據(jù)冗余方案的系統(tǒng)和方法

文檔序號:6442311閱讀:365來源:國知局
專利名稱:在萬一失去電力時維護固態(tài)存儲器內(nèi)數(shù)據(jù)冗余方案的系統(tǒng)和方法
在萬一失去電カ時維護固態(tài)存儲器內(nèi)數(shù)據(jù)冗余方案的系統(tǒng)和方法
背景技術(shù)
諸如硬盤和固態(tài)驅(qū)動器的很多數(shù)據(jù)存儲元件具有制造商向顧客提供的廣告的某些可靠性保證。例如,某些固態(tài)驅(qū)動器制造商保證10-16或者10-17的驅(qū)動器故障率。為了增加數(shù)據(jù)可靠性,使用諸如RAID (獨立磁盤冗余陣列)的數(shù)據(jù)冗余方案來增加存儲可靠性。可以通過將存儲裝置中的多個存儲元件組合為提供鏡像和/或誤差校驗機制的組來提供冗余。例如,固態(tài)存儲裝置的各種存儲器塊可以被組合為條,其中存儲用戶數(shù)據(jù)
發(fā)明內(nèi)容



下面將參照附圖描述實現(xiàn)本發(fā)明的各個特征的系統(tǒng)和方法,其中圖I是說明根據(jù)ー個實施例的實現(xiàn)具有失去電カ恢復(fù)機制的數(shù)據(jù)冗余方案的存儲子系統(tǒng)的框圖。圖2是示出根據(jù)ー個實施例的在如果系統(tǒng)停機時保護數(shù)據(jù)可靠性的處理的流程圖。圖3到圖5說明在一個實施例中使用的部分數(shù)據(jù)條寫入機制的示例。
具體實施例盡管描述了本發(fā)明的特定實施例,但是這些實施例僅作為示例呈現(xiàn),而不g在限制本發(fā)明的范圍。實際上,本文描述的新穎方法和系統(tǒng)可以在各種其它形式中體現(xiàn)。此外,可以對本文描述的方法和系統(tǒng)的形式進行各種省略、替代和修改而不背離本發(fā)明的實質(zhì)。所附的權(quán)利要求和等同物g在覆蓋這種形式或者修改,因為將落入本發(fā)明的范圍和實質(zhì)。概述本發(fā)明的實施例涉及降低提供數(shù)據(jù)冗余方案的電カ失效安全保護所需的備用電力的量的系統(tǒng)和方法,該數(shù)據(jù)冗余方案,諸如RAID,被實現(xiàn)在非易失性固態(tài)存儲裝置中??朔鎯υ收系某R姺绞绞鞘褂萌哂郣AID (鏡像、奇偶等)以在發(fā)生ー個或者更多個故障(例如,讀取故障)時允許數(shù)據(jù)恢復(fù)。通常,每個條的目標數(shù)量的存儲元件(即,扇區(qū)、閃存頁等)被選擇,從而以給定成本的存儲開銷實現(xiàn)期望的可靠性。在基于閃存的/固態(tài)存儲系統(tǒng)中,不能支持讀取修改寫入標準方式用于寫入部分條。相反,新寫入數(shù)據(jù)被積累并且與奇偶校驗數(shù)據(jù)一起寫入。該新寫入數(shù)據(jù)可以來自主機寫入命令和/或系統(tǒng)數(shù)據(jù)寫入。因為不能確保新寫入數(shù)據(jù)以條大小的整數(shù)倍到達,所以當失去電カ時用于新寫入數(shù)據(jù)的完整條可能不存在。在即使失去電カ也必須確保在非易失性介質(zhì)上寫入數(shù)據(jù)安全的系統(tǒng)中,通常方式是提供臨時電源,諸如電容充電,以在失去電カ之后將寫入緩存數(shù)據(jù)保存在非易失性存儲器介質(zhì)上。這種電源的成本隨著用于可靠電カ故障處理要求的時間量的増加而增加。
本發(fā)明的各個實施例通過使用截斷的RAID條(每個條更少的存儲元件)最小化供電故障處理時間,以當發(fā)生供電故障時保存緩存的寫入數(shù)據(jù)。即使寫入緩存器中可能不存在完整條的寫入數(shù)據(jù),該方法也允許系統(tǒng)維持供電故障緩存器清除情況下的RAID奇偶校驗數(shù)據(jù)保護。在一個實施例中,在緊接著部分條中的數(shù)據(jù)被寫入之后的頁面中寫入奇偶校驗數(shù)據(jù)。在萬一失去電カ時截斷的條或者部分條的寫入降低需要的寫入操作的量,由此降低在萬一失去電カ時維持數(shù)據(jù)奇偶校驗保護所需要的備用電力的量。該降低的備用電力需求轉(zhuǎn)而降低實現(xiàn)整體存儲子系統(tǒng)設(shè)計的成本。系統(tǒng)概沭圖I是說明根據(jù)ー個實施例的實現(xiàn)具有失去電カ恢復(fù)機制的數(shù)據(jù)冗余方案的存儲子系統(tǒng)的框圖。如圖所示,存儲子系統(tǒng)140包括控制器150和一個或者更多個非易失性固態(tài)存儲器陣列160。一個實施例中的控制器150來包括RAID模塊158和寫入緩存器164,其可以用諸如DRAM (動態(tài)隨機存取存儲器)的易失性存儲器實現(xiàn)。在另ー個實施例中,寫入緩存器164在存儲子系統(tǒng)140中的控制器150之外。在一個實施例中,RAID模塊158被配置以執(zhí)行數(shù)據(jù)存取命令,從而維持存儲子系統(tǒng)中的數(shù)據(jù)冗余方案。例如,RAID模塊158可 以維持數(shù)據(jù),該數(shù)據(jù)關(guān)于哪些數(shù)據(jù)元件分配到哪些RAID條,并且確定在數(shù)據(jù)冗余方案中如何排列數(shù)據(jù)(例如分組為具有奇偶校驗的條)。在一個實施例中,存儲子系統(tǒng)140還包括備用電源156以當常規(guī)電源(例如,來自主機系統(tǒng)130)被中斷時向存儲子系統(tǒng)140提供電力。備用電源156可以是電容型充電,其存儲有限量的電カ,充分以使控制器150采取必要動作以在萬一失去電カ/電カ中斷時保護數(shù)據(jù)完整性,包括寫入已經(jīng)接收但是未寫入到非易失性存儲器陣列的數(shù)據(jù)。在一個實施例中,存儲子系統(tǒng)140的控制器150被配置以接收和執(zhí)行來自主機系統(tǒng)130的存儲接ロ 132的命令。來自存儲接ロ 132的存儲器命令可以包括利用主機系統(tǒng)130發(fā)出的寫和讀命令。如圖I進ー步示出,在一個實施例中,控制器150執(zhí)行ー個或者更多個非易失性固態(tài)存儲器陣列160中所接收的命令。寫入存儲器164被配置以臨時保持要寫入到存儲器陣列160的數(shù)據(jù),包括從主機系統(tǒng)130接收的數(shù)據(jù)和/或系統(tǒng)數(shù)據(jù)。在ー個實施例中,數(shù)據(jù)被保持在寫入緩存器中直至被寫入非易失性固態(tài)存儲器陣列160為止,之后數(shù)據(jù)被從寫入緩存器清除從而寫入緩存器可容納額外的數(shù)據(jù)。盡管本公開使用RAID作為示例,但是此處描述的系統(tǒng)和方法不限于RAID冗余方案并且可在任意數(shù)據(jù)冗余配置中使用,其中任意數(shù)據(jù)冗余配置為了鏡像或者錯誤校驗?zāi)康睦么鎯υ姆謼l和/或分組。另外,盡管RAID是獨立磁盤冗余陣列的簡稱,但是本領(lǐng)域技術(shù)人員將理解RAID不限于具有物理磁盤的存儲裝置并且可應(yīng)用于多種存儲裝置,包括此處描述的非易失性固態(tài)裝置。部分條寫入處理圖2是示出根據(jù)ー個實施例的在萬一系統(tǒng)停機時保留數(shù)據(jù)冗余的處理的流程圖。由于非希望的供電中斷或者由于例如通過計劃表、通過主機命令或者通過其它期望/計劃的事件觸發(fā)器觸發(fā)的常規(guī)停機可能發(fā)生系統(tǒng)停機。在任意情況下,本發(fā)明的實施例幫助減少安全斷電需要的存儲器操作,由此降低完成停機處理需要的時間和電力。在一個實施例中,控制器150被配置以進行圖2的處理。應(yīng)注意如果存儲子系統(tǒng)發(fā)生電カ丟失,備用電源有可能被控制器用于圖2的處理中描述的這些操作。圖2的處理提供當系統(tǒng)停機(例如,由于突然失去電力)發(fā)生時寫入備份條的機制。相反地,當遇到停機事件以及當存在不足夠的接收但是仍未寫入的數(shù)據(jù)以創(chuàng)建完整條時,現(xiàn)有技術(shù)方法和系統(tǒng)可以代替地用填充數(shù)據(jù)合并未寫入數(shù)據(jù)以創(chuàng)建完整條及其相關(guān)的奇偶校驗。這要求更多的電力(例如,如果失去電カ時的備用電力)以使創(chuàng)建完整條成為可能。返回圖2,在塊202,在如果發(fā)生停機時,處理確定寫入緩存器中是否存在充分頁面以寫入標準大小的RAID條(S卩,是否頁面的量大于或者等于標準條大小)。如果是,則在塊212處理寫入可裝入RAID條中的標準大小條的全部數(shù)據(jù)頁面,在塊208寫入針對新條的奇偶校驗,并且在塊210檢查寫入緩存器是否為空。如果是(緩存的數(shù)據(jù)等于標準數(shù)據(jù)條大小),則處理退出。如果否,則處理進行到塊202。返回塊202,如果確定寫入緩存器中存在比標準條大小要求的更少的頁面,則處理移動到塊204其中其在截斷的/部分的RAID條寫入足夠數(shù)據(jù)頁面以存儲剩余寫入緩存器數(shù)據(jù)。在塊206,在一個實施例中,處理指定下一個可用頁面作為針對的截斷的/部分的RAID條的奇偶校驗頁面。在另ー個實施例中,奇偶校驗頁面可用被寫入在另ー個預(yù)指定位置。在塊208,處理寫入針對RAID條的奇偶校驗并且釋放寫入存儲器中的清除的條目。在塊210,處理器檢查寫入存儲器是否為空。如果否, 則處理返回到塊202。如果是,則處理結(jié)束。盡管圖2描述數(shù)據(jù)按照頁面単位存儲,本領(lǐng)域技術(shù)人員將認識到處理可以用具有其它存儲器測量單位的系統(tǒng),諸如塊、扇區(qū)等。在一個實施例中,在下ー個可用頁面中寫入奇偶校驗與寫入完整條的處理的分開的,因為針對完整條的奇偶校驗通常被寫入在離開存儲條數(shù)據(jù)的位置的指定位置。然而,當停機發(fā)生時,在下ー個可用頁面寫入奇偶校驗確保了盡量快地創(chuàng)建奇偶校驗并且最小化使用的電カ的量。在一個實施例中,在存儲子系統(tǒng)重啟動之后,奇偶校驗可用移動到新位置。部分條示例圖3到圖5說明在一個實施例中使用的部分數(shù)據(jù)條寫入機制的示例。圖3示出寫入緩存器164被配置以接收新寫入數(shù)據(jù)300,并且示出保持兩個單位的數(shù)據(jù)310和312,該單位為數(shù)據(jù)頁面、數(shù)據(jù)塊、或者其它大小/粒度級別。在非易失性固態(tài)存儲器陣列中,如圖所示,條O、I和2全部是完整條,并且條3未創(chuàng)建。在示例中,完整條組成3個數(shù)據(jù)單位并且奇偶校驗(例如,條0包括3個數(shù)據(jù)單位302、304和306和奇偶校驗308)。針對每個條的數(shù)據(jù)單位和奇偶校驗可根據(jù)數(shù)據(jù)冗余方案存儲在不同物理存儲元件中。圖4描繪失去電力事件期間的存儲子系統(tǒng)的狀態(tài)。當檢測到失去電カ時,使用備用電力以將寫入緩存器中的數(shù)據(jù)寫入到存儲器陣列。如圖所示,來自寫入緩存器164的數(shù)據(jù)310和312已經(jīng)寫入作為條3的一部分。然而,不充分形成完整條。如圖5所示,在一個實施例中,為了最小化在數(shù)據(jù)冗余方案下確保數(shù)據(jù)310和312被奇偶校驗保護的需要的備用電力的量,存儲子系統(tǒng)緊接著數(shù)據(jù)310和312之后寫入奇偶校驗314,以形成奇偶校驗條。當恢復(fù)時,一個實施例中的存儲子系統(tǒng)保留截斷的/部分的條作為原樣(如圖5所描繪)并且繼續(xù)創(chuàng)建其它完整大小數(shù)據(jù)條(如條4-7所示)。在另ー個實施例中,當恢復(fù)時存儲子系統(tǒng)可以組合截斷的/部分的條與其它數(shù)據(jù)以創(chuàng)建完整條。截斷的/部分的條中的數(shù)據(jù)可以與新接收的寫入數(shù)據(jù)或者諸如系統(tǒng)數(shù)據(jù)或者諸如零的預(yù)指定填充值填充數(shù)據(jù)組合。在任意情況下,在恢復(fù)之后從部分條創(chuàng)建完整條不影響需要的備用電力的量,這是因為后恢復(fù)存儲子系統(tǒng)將在其常規(guī)電源下操作。
以上描述的特征和屬性可以按照不同方式組合以形成附加實施例,全部實施例落入本公開的范圍內(nèi)。盡管本公開提供特定優(yōu)選實施例和應(yīng)用,其它實施例對于本領(lǐng)域技術(shù)人員是明顯的,包括不提供此處闡述的全部特征和優(yōu)點的實施例,并且也在本公開的范 圍內(nèi)。因此,本公開的范圍g在僅參照所附權(quán)利要求限定。
權(quán)利要求
1.一種固態(tài)存儲子系統(tǒng),包括 非易失性存儲器陣列; 寫入緩存器,所述寫入緩存器用于臨時地存儲將被寫入所述非易失性存儲器陣列的數(shù)據(jù); 控制器,所述控制器被配置以 用所述非易失性存儲器陣列中的多個數(shù)據(jù)條實現(xiàn)數(shù)據(jù)冗余配置; 將所述寫入緩存器中存儲的數(shù)據(jù)移動到所述非易失性存儲器陣列,所述數(shù)據(jù)按大小增量被移動,所述大小増量匹配所述數(shù)據(jù)冗余配置中數(shù)據(jù)條的預(yù)定大??;以及 響應(yīng)于檢測到所述存儲子系統(tǒng)的的開始,當緩存的數(shù)據(jù)的量不充分以創(chuàng)建預(yù)定大小的數(shù)據(jù)條時,將所述寫入緩存器中的數(shù)據(jù)移動到所述非易失性存儲器陣列以創(chuàng)建小于預(yù)定條大小的部分數(shù)據(jù)條,由此降低使控制器能夠?qū)懭刖彺嫫髦械臄?shù)據(jù)移動到所述非易失性存儲器陣列而需要的電力量。
2.根據(jù)權(quán)利要求I所述的固態(tài)存儲子系統(tǒng),其中所述停機被電カ中斷觸發(fā)。
3.根據(jù)權(quán)利要求2所述的固態(tài)存儲子系統(tǒng),還包括備用電源,所述備用電源用于在如果發(fā)生電カ中斷時向所述存儲子系統(tǒng)提供備用電力,并且其中所述控制器被配置為使用所述備用電カ以將所述寫入緩存器中的數(shù)據(jù)移動到所述非易失性存儲器陣列中以創(chuàng)建部分數(shù)據(jù)條,由此降低使所述控制器能夠在如果發(fā)生供電中斷時移動數(shù)據(jù)所需的所述備用電源中的電力量。
4.根據(jù)權(quán)利要求I所述的固態(tài)存儲子系統(tǒng),其中所述停機被來自與所述存儲子系統(tǒng)進行數(shù)據(jù)通信的主機系統(tǒng)的命令觸發(fā)。
5.根據(jù)權(quán)利要求I所述的固態(tài)存儲子系統(tǒng),其中所述控制器還被配置為將涉及在如果發(fā)生供電中斷時從所述寫入緩存器移動的數(shù)據(jù)的奇偶校驗數(shù)據(jù)存儲在所述部分數(shù)據(jù)條的存儲器位置之后的非易失性存儲器陣列中的第一可用存儲器位置,所述第一可用存儲器位置在用于在所述非易失性存儲器陣列中存儲所述預(yù)定大小的數(shù)據(jù)條的奇偶校驗數(shù)據(jù)的預(yù)指定存儲器位置的范圍之外。
6.根據(jù)權(quán)利要求I所述的固態(tài)存儲子系統(tǒng),其中所述控制器還被配置為在供電中斷之后將所述部分數(shù)據(jù)條與在所述寫入緩存器中存儲的附加數(shù)據(jù)組合以創(chuàng)建預(yù)定大小的數(shù)據(jù)條。
7.根據(jù)權(quán)利要求I所述的固態(tài)存儲子系統(tǒng),其中所述數(shù)據(jù)冗余配置是獨立磁盤冗余陣列RAID配置。
8.—種在如果發(fā)生供電中斷時維持固態(tài)存儲子系統(tǒng)中的數(shù)據(jù)冗余的方法,所述方法包括 用所述固態(tài)存儲子系統(tǒng)的非易失性存儲器陣列中的多個數(shù)據(jù)條實現(xiàn)數(shù)據(jù)冗余配置;將要被寫入到所述非易失性存儲器陣列中的數(shù)據(jù)臨時存儲到所述固態(tài)存儲子系統(tǒng)中的寫入緩存器中; 將所述寫入緩存器中存儲的數(shù)據(jù)移動到所述非易失性存儲器陣列中,所述數(shù)據(jù)按大小増量被移動,所述大小増量匹配所述數(shù)據(jù)冗余配置中的數(shù)據(jù)條的預(yù)定大??;以及 當在所述寫入緩存器中的數(shù)據(jù)的量小于所述預(yù)定數(shù)據(jù)條大小,同時所述存儲器子系統(tǒng)的停機開始時,將所緩存的數(shù)據(jù)寫入到所述非易失性存儲器陣列以形成所述數(shù)據(jù)冗余配置的部分數(shù)據(jù)條。
9.根據(jù)權(quán)利要求8所述的方法,其中當所述停機被供電中斷觸發(fā)時,使用備用電源將所緩存的數(shù)據(jù)寫入所述非易失性存儲器陣列。
10.根據(jù)權(quán)利要求8所述的方法,所述方法還包括 將涉及在如果發(fā)生供電中斷時從所述寫入緩存器移動的數(shù)據(jù)的奇偶校驗數(shù)據(jù)存儲在所述非易失性存儲器陣列中的部分數(shù)據(jù)條的存儲器位置之后的第一可用存儲器位置中,所述第一可用存儲器位置在用于在所述非易失性存儲器陣列中存儲所述預(yù)定大小的數(shù)據(jù)條的奇偶校驗數(shù)據(jù)的預(yù)指定存儲器位置的范圍之外。
11.根據(jù)權(quán)利要求8所述的方法,該方法還包括以下步驟 在供電中斷之后將所述部分數(shù)據(jù)條與在所述寫入緩存器中存儲的附加數(shù)據(jù)組合以創(chuàng)建預(yù)定大小的數(shù)據(jù)條。
12.根據(jù)權(quán)利要求8所述的方法,其中所述填充數(shù)據(jù)包括用于所述固態(tài)存儲子系統(tǒng)的系統(tǒng)配置數(shù)據(jù)。
13.根據(jù)權(quán)利要求8所述的方法,其中所述數(shù)據(jù)冗余配置是獨立磁盤冗余陣列RAID配置。
14.ー種固態(tài)存儲子系統(tǒng),所述固態(tài)存儲子系統(tǒng)包括 非易失性存儲器陣列; 備用電源,用于在如果發(fā)生供電中斷時向所述存儲子系統(tǒng)提供備用電力; 控制器,所述控制器被配置以 接收要被寫入到所述非易失性存儲器陣列的數(shù)據(jù); 將所接收的數(shù)據(jù)寫入到所述非易失性存儲器陣列作為數(shù)據(jù)冗余配置的一部分的多個數(shù)據(jù)條,每個數(shù)據(jù)條具有預(yù)定條大??; 創(chuàng)建針對每個條的奇偶校驗數(shù)據(jù);以及 響應(yīng)于檢測到對所述存儲子系統(tǒng)的供電中斷, 當所接收的未被寫入的數(shù)據(jù)的量不足夠創(chuàng)建預(yù)定大小的數(shù)據(jù)條時使用所述備用電カ寫入所接收的數(shù)據(jù)作為小于預(yù)定條大小的部分數(shù)據(jù)條,以及 創(chuàng)建針對所述部分數(shù)據(jù)條的奇偶校驗數(shù)據(jù),由此降低在如果發(fā)生電カ中斷時使所述控制器能夠針對所接收的數(shù)據(jù)提供奇偶保護所需要的所述備用電源中的電力量。
15.根據(jù)權(quán)利要求14所述的固態(tài)存儲子系統(tǒng),其中所述數(shù)據(jù)冗余配置是獨立磁盤冗余陣列RAID配置。
16.根據(jù)權(quán)利要求14所述的固態(tài)存儲子系統(tǒng),其中所述奇偶校驗數(shù)據(jù)被寫入與所述非易失性存儲器陣列中存儲所述部分數(shù)據(jù)條的存儲器位置緊鄰的存儲器位置。
全文摘要
本發(fā)明的實施例涉及降低數(shù)據(jù)冗余方案的電力失效安全保護所需的備用電力的量的系統(tǒng)和方法。該數(shù)據(jù)冗余方案,諸如RAID,被實現(xiàn)在固態(tài)存儲裝置中,其中新寫入數(shù)據(jù)被積累并且與奇偶數(shù)據(jù)一起寫入。因為不能確保新寫入數(shù)據(jù)以條大小的整數(shù)倍到達,所以當失去供電時可能不存在用于新寫入數(shù)據(jù)的完整條。各個實施例使用截斷的RAID條(每個條有更少的存儲元件)以在發(fā)生供電故障時儲存緩存的寫入數(shù)據(jù)。即使可能不存在寫入數(shù)據(jù)的完整條,該方法也允許系統(tǒng)在供電故障緩存器清除的情況下維持RAID奇偶校驗數(shù)據(jù)保護,從而降低在失去電力事件中維持奇偶保護所需要的備用電力的量。
文檔編號G06F11/14GK102662791SQ201110430309
公開日2012年9月12日 申請日期2011年12月14日 優(yōu)先權(quán)日2010年12月14日
發(fā)明者R·L·霍恩 申請人:西部數(shù)據(jù)技術(shù)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1