两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種flash固態(tài)盤數(shù)據(jù)冗余保護(hù)方法

文檔序號:6352746閱讀:662來源:國知局
專利名稱:一種flash固態(tài)盤數(shù)據(jù)冗余保護(hù)方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)存儲技術(shù)領(lǐng)域,尤其是涉及一種FLASH固態(tài)盤數(shù)據(jù)冗余保護(hù)方法。
背景技術(shù)
隨著固態(tài)盤成本的降低,固態(tài)盤的使用范圍越來越廣,固態(tài)盤替代傳統(tǒng)的硬盤已 經(jīng)慢慢成為趨勢。傳統(tǒng)的硬盤的數(shù)據(jù)可靠性完全依賴于盤片、磁頭和電路的可靠性,基本上 只要盤片損壞或者磁頭損壞,則數(shù)據(jù)將很難恢復(fù)。而普通固態(tài)盤由多組FLASH芯片組組成, 為了實現(xiàn)數(shù)據(jù)的管理,F(xiàn)LASH芯片都會按通道的方式進(jìn)行排列,F(xiàn)LASH芯片分成η個通道, 從接口進(jìn)來的數(shù)據(jù)按數(shù)據(jù)塊的方式在控制器的控制之下,經(jīng)過緩存后再通過數(shù)據(jù)分配電路 先把的一塊數(shù)據(jù)分配到FLASH存儲通道1進(jìn)行存儲,下一塊數(shù)據(jù)再分配到FLASH存儲通道 2進(jìn)行存儲,第η塊數(shù)據(jù)分配到FLASH存儲通道η進(jìn)行存儲,依次循環(huán)往返。這些數(shù)據(jù)塊在 FLASH存儲通道中的塊地址信息將形成文件分配表。反之在進(jìn)行讀取操作的時候,將根據(jù)文 件分配表讀取所需的數(shù)據(jù)。當(dāng)某一塊FLASH芯片發(fā)生損壞后,則該芯片存儲的信息將無法 讀取,數(shù)據(jù)的完整性顯然收到破壞,從而造成用戶數(shù)據(jù)丟失,將會給用戶造成無法估量的損 失。

發(fā)明內(nèi)容
本發(fā)明為克服上述的不足之處,目的在于針對傳統(tǒng)的FLASH固態(tài)盤,提供了高可 靠性、高速的FLASH固態(tài)盤數(shù)據(jù)冗余保護(hù)方法,通過數(shù)據(jù)并行操作、數(shù)據(jù)冗余保護(hù)及數(shù)據(jù)恢 復(fù)的方法,解決了現(xiàn)有技術(shù)中存在的問題。本發(fā)明是通過以下技術(shù)方案達(dá)到上述目的
一種FLASH固態(tài)盤數(shù)據(jù)冗余保護(hù)方法,包括數(shù)據(jù)存儲過程、數(shù)據(jù)讀取過程和數(shù)據(jù)恢復(fù) 過程;
數(shù)據(jù)存儲過程包括以下步驟
1)將FLASH芯片分成2個對等的互為冗余的區(qū)域,每片區(qū)域各有m個FLASH通道,分別 編號為0至(m-Ι);
2)設(shè)定FLASH通道每次讀寫操作的最小單元記為數(shù)據(jù)塊;
3)從接口進(jìn)來的數(shù)據(jù)經(jīng)過控制器的數(shù)據(jù)重新組織,劃分成m個數(shù)據(jù)塊,分別編號為0至 (m-Ι));
4)控制器將這m個數(shù)據(jù)塊分別并行寫入2個區(qū)域的m個FLASH通道 0號數(shù)據(jù)塊寫入該區(qū)域的0號FLASH通道;
1號數(shù)據(jù)塊寫入該區(qū)域的1號FLASH通道;
(m-Ι)號數(shù)據(jù)塊寫入該區(qū)域的(m-1)號FLASH通道;
在FLASH固態(tài)盤發(fā)生故障時,數(shù)據(jù)讀取過程包括以下步驟1)控制器查詢各個FLASH通道狀態(tài),判定故障點,假設(shè)是0號FLASH通道損壞;2)控制器關(guān)閉該區(qū)域的訪問;3)控制器從另一區(qū)域的m個FLASH通道中,每個通道讀取1個數(shù)據(jù)塊,組成m個數(shù)據(jù)塊;4)控制器對讀到的m個數(shù)據(jù)塊進(jìn)行數(shù)據(jù)重組,將其還原;在FLASH固態(tài)盤替換了故障FLASH芯片、要進(jìn)行數(shù)據(jù)恢復(fù)時,數(shù)據(jù)恢復(fù)過程包括以下步驟1)控制器根據(jù)地址,讀取另一個區(qū)域中相對應(yīng)的FLASH通道上存儲的數(shù)據(jù);2)控制器將讀取的數(shù)據(jù)寫入該區(qū)域的原損壞的FLASH通道讀取1號區(qū)域的1號FLASH通道,地址0x0000上存儲的數(shù)據(jù);然后將該數(shù)據(jù)寫入0號 區(qū)域的1號FLASH通道的0x0000地址;讀取1號區(qū)域的1號FLASH通道,地址0x0001上存儲的數(shù)據(jù);然后將該數(shù)據(jù)寫入0號 區(qū)域的1號FLASH通道的0x0001地址;讀取1號區(qū)域的1號FLASH通道,地址OxFFFF上存儲的數(shù)據(jù);然后將該數(shù)據(jù)寫入0號 區(qū)域的1號FLASH通道的OxFFFF地址。
作為優(yōu)選,所述的m為500。
作為優(yōu)選,所述的m為2000。
本發(fā)明的有益效果本發(fā)明提供的高可靠性、高速的FLASH固態(tài)盤數(shù)據(jù)冗余保 護(hù)方法,為FLASH固態(tài)盤存儲數(shù)據(jù)提供了極高的可靠性,即使在同一區(qū)域內(nèi)1個至m個的 FLASH通道的芯片損壞,也能夠保證存儲數(shù)據(jù)的完整性;在保證高可靠性的同時,以m通道 并行讀寫和“零開銷”的冗余機制,極大的提高了 FLASH固態(tài)盤的讀寫速度。


圖1 數(shù)據(jù)存儲過程的示意圖; 圖2 故障時的數(shù)據(jù)讀取過程的示意圖; 圖3:數(shù)據(jù)恢復(fù)過程的示意圖。
具體實施方式
下面結(jié)合附圖通過實施例對本發(fā)明作進(jìn)一步闡述一種FLASH固態(tài)盤數(shù)據(jù)冗余保護(hù)方法,包括數(shù)據(jù)存儲過程、數(shù)據(jù)讀取過程和數(shù)據(jù)恢復(fù) 過程。
如圖1所示,數(shù)據(jù)存儲過程包括以下步驟(一)將FLASH芯片分成2個對等的區(qū)域,每片區(qū)域各有m個FLASH通道;(二)設(shè)定FLASH通道每次讀寫操作的最小單元,記為“數(shù)據(jù)塊”;(三)從接口進(jìn)來的用戶數(shù)據(jù)經(jīng)過控制器的數(shù)據(jù)重新組織,劃分成m個數(shù)據(jù)塊;(四)控制器將這m個數(shù)據(jù)塊并行寫入AO區(qū)域?qū)?yīng)的m個FLASH通道,具體如下 0號數(shù)據(jù)塊寫入FLASH通道A0_0 ;1號數(shù)據(jù)塊寫入FLASH通道A0_1 ;(m-1)號數(shù)據(jù)塊寫入FLASH通道A0_ (m-1)。
(五)同時控制器也將這m個數(shù)據(jù)塊并行寫入Al區(qū)域?qū)?yīng)的m個FLASH通道,具體 如下0號數(shù)據(jù)塊寫入FLASH通道A1_0 ; 1號數(shù)據(jù)塊寫入FLASH通道Al_l ;(m-1)號數(shù)據(jù)塊寫入FLASH通道Al_ (m_l)。
如圖2所示,在FLASH固態(tài)盤發(fā)生故障時,數(shù)據(jù)讀取過程包括以下步驟(一)控制器查詢各個FLASH通道狀態(tài),判定故障點;(二)假設(shè)是AO區(qū)域FLASH通道A0_1損壞,控制器關(guān)閉AO區(qū)域的訪問;(三)控制器從Al區(qū)域的m個FLASH通道中,輪流從每個通道讀取1個數(shù)據(jù)塊,并這m 個數(shù)據(jù)塊組織為一段有序的數(shù)據(jù),具體如下從FLASH通道A1_0讀取的數(shù)據(jù)為0號數(shù)據(jù)塊; 從FLASH通道Al_l讀取的數(shù)據(jù)為1號數(shù)據(jù)塊;從FLASH通道Al_ (m-1)讀取的數(shù)據(jù)為(m_l)號數(shù)據(jù)塊。
(四)控制器對讀到的m個數(shù)據(jù)塊進(jìn)行數(shù)據(jù)重新組織,將其還原為用戶數(shù)據(jù)。
如圖3所示,在FLASH固態(tài)盤替換了故障FLASH芯片、要進(jìn)行數(shù)據(jù)恢復(fù)時,以0號 區(qū)域的FLASH通道A0_1為例,數(shù)據(jù)恢復(fù)過程包括以下步驟(一)控制器根據(jù)地址,讀取Al區(qū)域中相對應(yīng)的FLASH通道上存儲的數(shù)據(jù),即FLASH通 道Al_l上存儲的數(shù)據(jù);(二)控制器將讀取的數(shù)據(jù)寫入AO區(qū)域的FLASH通道A0_1,具體如下讀取FLASH通道Al_l、地址0x0000上存儲的數(shù)據(jù);然后將該數(shù)據(jù)寫入FLASH通道A0_1 的0x0000地址;讀取FLASH通道Al_l、地址0x0001上存儲的數(shù)據(jù);然后將該數(shù)據(jù)寫入FLASH通道A0_1 的0x0001地址;讀取FLASH通道Al_l、地址OxFFFF上存儲的數(shù)據(jù);然后將該數(shù)據(jù)寫入FLASH通道A0_1 的OxFFFF地址。
此處的m的值可為500或為2000。
為了解決FLASH固態(tài)盤中由于FLASH芯片故障造成的數(shù)據(jù)丟失問題,提高數(shù)據(jù)存 儲的可靠性,本發(fā)明提出了將FLASH芯片分為互為冗余的兩個區(qū)域,在存儲數(shù)據(jù)時同時寫 入兩個區(qū)域,在發(fā)生故障時將完整的用戶數(shù)據(jù)從其中一個完好區(qū)域讀出,并能根據(jù)完好區(qū) 域快速恢復(fù)損壞區(qū)域的方法。
將FLASH固態(tài)盤上的FLASH通道分為對等的2個對等的區(qū)域,每個區(qū)域各有m個 FLASH通道。按照并行系數(shù)m,控制器對接口進(jìn)來的用戶數(shù)據(jù)進(jìn)行重新組織,劃分成m個數(shù)據(jù)塊,然后并行寫入兩個區(qū)域中對應(yīng)的m個FLASH通道0號數(shù)據(jù)塊寫入兩個區(qū)域的O號 FLASH通道、1號數(shù)據(jù)塊寫入兩個區(qū)域的1號FLASH通道、……(m_l)號數(shù)據(jù)塊寫入兩個區(qū) 域的(m-1)號FLASH通道。存儲的數(shù)據(jù)在兩個區(qū)域中互為冗余。當(dāng)用戶讀取數(shù)據(jù)時,如果此時FLASH通道均沒有故障,則控制器關(guān)閉0號區(qū)域的訪 問,從1號區(qū)域的m個FLASH通道中并行讀取數(shù)據(jù),經(jīng)控制器重新組織后輸出給用戶。如果 此時一個區(qū)域有若干FLASH通道故障,則控制 器關(guān)閉對這個區(qū)域的訪問,從另一個完好區(qū) 域的m個FLASH通道中并行讀取數(shù)據(jù),經(jīng)控制器重新組織后輸出給用戶,從而保證用戶數(shù)據(jù) 的正確性。當(dāng)故障通道進(jìn)行替換后,需要恢復(fù)完整的用戶數(shù)據(jù)時,控制器從另一個區(qū)域的對 應(yīng)FLASH通道上,按照地址順序讀取數(shù)據(jù),然后寫入需要被恢復(fù)的FLASH通道,恢復(fù)原故障 通道的數(shù)據(jù)。本發(fā)明采用兩個區(qū)域互為冗余的機制進(jìn)行數(shù)據(jù)保護(hù),能夠很大限度的提高數(shù)據(jù)的 可靠性,即使同個區(qū)域內(nèi)的多個FLASH通道故障時也能輸出正確數(shù)據(jù);而且在實現(xiàn)數(shù)據(jù)恢 復(fù)時基本上沒有增加額外開銷,是很高效的實現(xiàn)方式。同時采用了 m通道并行讀寫,極大的 提高了讀寫速度。以上的所述乃是本發(fā)明的具體實施例及所運用的技術(shù)原理,若依本發(fā)明的構(gòu)想所 作的改變,其所產(chǎn)生的功能作用仍未超出說明書及附圖所涵蓋的精神時,仍應(yīng)屬本發(fā)明的 保護(hù)范圍。
權(quán)利要求
1. 一種FLASH固態(tài)盤數(shù)據(jù)冗余保護(hù)方法,其特征在于,包括數(shù)據(jù)存儲過程、數(shù)據(jù)讀取過 程和數(shù)據(jù)恢復(fù)過程;數(shù)據(jù)存儲過程包括以下步驟1)將FLASH芯片分成2個對等的互為冗余的區(qū)域,每片區(qū)域各有m個FLASH通道,分別 編號為0至(m-Ι);2)設(shè)定FLASH通道每次讀寫操作的最小單元記為數(shù)據(jù)塊;3)從接口進(jìn)來的數(shù)據(jù)經(jīng)過控制器的數(shù)據(jù)重新組織,劃分成m個數(shù)據(jù)塊,分別編號為0至 (m-Ι));4)控制器將這m個數(shù)據(jù)塊分別并行寫入2個區(qū)域的m個FLASH通道 0號數(shù)據(jù)塊寫入該區(qū)域的0號FLASH通道;1號數(shù)據(jù)塊寫入該區(qū)域的1號FLASH通道;(m-Ι)號數(shù)據(jù)塊寫入該區(qū)域的(m-1)號FLASH通道;在FLASH固態(tài)盤發(fā)生故障時,數(shù)據(jù)讀取過程包括以下步驟1)控制器查詢各個FLASH通道狀態(tài),判定故障點,假設(shè)是0號FLASH通道損壞;2)控制器關(guān)閉該區(qū)域的訪問;3)控制器從另一區(qū)域的m個FLASH通道中,每個通道讀取1個數(shù)據(jù)塊,組成m個數(shù)據(jù)塊;4)控制器對讀到的m個數(shù)據(jù)塊進(jìn)行數(shù)據(jù)重組,將其還原;在FLASH固態(tài)盤替換了故障FLASH芯片、要進(jìn)行數(shù)據(jù)恢復(fù)時,數(shù)據(jù)恢復(fù)過程包括以下步驟1)控制器根據(jù)地址,讀取另一個區(qū)域中相對應(yīng)的FLASH通道上存儲的數(shù)據(jù);2)控制器將讀取的數(shù)據(jù)寫入該區(qū)域的原損壞的FLASH通道讀取1號區(qū)域的1號FLASH通道,地址0x0000上存儲的數(shù)據(jù);然后將該數(shù)據(jù)寫入0號 區(qū)域的1號FLASH通道的0x0000地址;讀取1號區(qū)域的1號FLASH通道,地址0x0001上存儲的數(shù)據(jù);然后將該數(shù)據(jù)寫入0號 區(qū)域的1號FLASH通道的0x0001地址;讀取1號區(qū)域的1號FLASH通道,地址OxFFFF上存儲的數(shù)據(jù);然后將該數(shù)據(jù)寫入0號 區(qū)域的1號FLASH通道的OxFFFF地址。
2.根據(jù)權(quán)利要求1所述的一種FLASH固態(tài)盤數(shù)據(jù)冗余保護(hù)方法,其特征在于所述的m 為 500。
3.根據(jù)權(quán)利要求1所述的一種FLASH固態(tài)盤數(shù)據(jù)冗余保護(hù)方法,其特征在于所述的m 為 2000。
全文摘要
本發(fā)明涉及數(shù)據(jù)存儲技術(shù)領(lǐng)域,尤其是涉及一種FLASH固態(tài)盤數(shù)據(jù)冗余保護(hù)方法,包括數(shù)據(jù)存儲過程、數(shù)據(jù)讀取過程和數(shù)據(jù)恢復(fù)過程;通過數(shù)據(jù)并行操作、數(shù)據(jù)冗余保護(hù)及數(shù)據(jù)恢復(fù)的方法,解決了現(xiàn)有技術(shù)中存在的問題。本發(fā)明的有益效果是本發(fā)明提供的高可靠性、高速的FLASH固態(tài)盤數(shù)據(jù)冗余保護(hù)方法,為FLASH固態(tài)盤存儲數(shù)據(jù)提供了極高的可靠性,即使在同一區(qū)域內(nèi)1個至m個的FLASH通道的芯片損壞,也能夠保證存儲數(shù)據(jù)的完整性;在保證高可靠性的同時,以m通道并行讀寫和“零開銷”的冗余機制,極大的提高了FLASH固態(tài)盤的讀寫速度。
文檔編號G06F11/14GK102033794SQ20111000382
公開日2011年4月27日 申請日期2011年1月10日 優(yōu)先權(quán)日2011年1月10日
發(fā)明者馮再麟, 王宇峰, 鄭寄平, 陳世守, 項世珍 申請人:中國電子科技集團(tuán)公司第五十二研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
封开县| 渭南市| 江城| 宿迁市| 阳朔县| 府谷县| 股票| 射洪县| 洛浦县| 博乐市| 稷山县| 杭州市| 阿克苏市| 林周县| 区。| 罗平县| 峨边| 洱源县| 天水市| 无为县| 徐水县| 黄龙县| 中山市| 宿州市| 肥乡县| 萝北县| 维西| 宁海县| 永仁县| 彭水| 遂平县| 甘孜| 平顶山市| 高台县| 阳曲县| 泸定县| 曲沃县| 苍梧县| 星子县| 布拖县| 汶川县|