專利名稱:存儲器及其數據備份方法
技術領域:
本發明涉及一種存儲器設計方法,尤其是一種存儲器及其數據備份方法。
背景技術:
電腦系統突發斷電后的數據備份技術,已經被廣泛應用于存儲器設計領域。參閱 圖ι所示,為傳統的存儲器設計,當電腦系統斷電后,系統控制芯片16將內存10中的數據 直接拷貝到快閃記憶體(Flash memory) 18,在電腦系統恢復供電時,再將快閃記憶體18中 的數據傳回至內存10。但是,這種數據備份方法是將數據明碼存儲在快閃記憶體18中,數 據保密性不足。同時,為了保證數據備份的完整性,快閃記憶體18的存儲容量必須大于等 于內存10的存儲容量,導致快閃記憶體18的使用率太低(1 1),增加了數據備份成本。
發明內容
鑒于以上內容,有必要提供一種存儲器,其可在電子設備斷電后,將內存中的數據 進行編碼壓縮后存儲至快閃記憶體,當電子設備恢復供電后,再將快閃記憶體中的數據解 碼傳回至內存。鑒于以上內容,還有必要提供一種利用上述存儲器進行數據備份的方法,其可在 電子設備斷電后,將內存中的數據進行編碼壓縮后存儲至快閃記憶體,當電子設備恢復供 電后,再將快閃記憶體中的數據解碼傳回至內存。所述存儲器,包括備份電源、電源控制器、電源控制程序、系統控制芯片和快閃記 憶體,該電源控制器與備份電源和電源控制程序連接,該系統控制芯片與電源控制器連接, 其中,該系統控制芯片和快閃記憶體之間連接有現場可編程門陣列。所述利用上述存儲器進行數據備份的方法,包括如下步驟當電子設備斷電時,啟 動備份電源;系統控制芯片將內存中的數據讀出,寫入現場可編程門陣列;現場可編程門 陣列對該數據進行編碼,將編碼后的數據存儲至快閃記憶體。相較于現有技術,所述的存儲器數據備份方法及相應的存儲器,在電子設備斷電 后,將內存中的數據進行編碼后存儲至快閃記憶體,當電子設備恢復供電后,再將快閃記憶 體中的數據解碼傳回至內存。由于快閃記憶體中存儲的數據經過了編碼保護,提高了數據 備份的安全性。另外,由于編碼后的數據經過了壓縮,快閃記憶體中可以備份比內存容量更 多的數據,降低了數據備份的成本。
圖1是現有技術中存儲器的硬件架構圖。圖2是本發明數據備份方法中所使用存儲器的硬件架構圖。圖3是圖2存儲器中的現場可編程門陣列的邏輯線路圖。圖4是本發明數據備份方法較佳實施例的流程圖。
具體實施方式
如圖2所示,是本發明數據備份方法中所使用存儲器的硬件架構圖。該存儲器5 通過連接器(如PCI-E接口)12與北橋11連接,北橋11通過數據線(如DDR2數據線)與 內存10連接。其中,所述存儲器5包括備份電源13、電源控制器14、電源控制程序15、 系統控制芯片(如System-on-Chip,SoC) 16、現場可編程門陣列(Field Programmable Gate Array, FPGA) 17、快閃記憶體(Flash Memory) 18、降壓線路(如 Point of Load, POL 線路)19、內存模塊20等。在本實施例中,所述內存模塊20為DDR2 DMM(Dual In-line MemoryModules,雙列直插式內存模塊),所述電源控制程序15可以固化在一個芯片中,如 PROM(ProgrammabIe Read-Only Memory,可編程只讀存儲器)。系統控制芯片16通過數據線(如PCI-E數據線)與連接器12連接,電源控制器14 通過數據線與備份電源13和電源控制程序15連接,電源控制程序15通過數據線與降壓電 路19連接,電源控制器14和電源控制程序15通過數據線(如Inter Integrated Circuit, I2C數據線)與連接器12連接,系統控制芯片16通過數據線與內存模塊20連接。相比現 有技術中的存儲器5(參閱圖1所示)的系統控制芯片16直接與快閃記憶體18連接,而圖 2中的系統控制芯片16通過現場可編程門陣列17與快閃記憶體18連接,該現場可編程門 陣列17的邏輯線路圖參閱圖3所示。如圖3所示,是圖2存儲器5中的現場可編程門陣列17的邏輯線路圖。在本實施 例中,該現場可編程門陣列17包括機率運算單元21、緩存區22、區間電路23、二進制化單 元24、延時區25、位址重定單元26等。其中,所述緩存區22與機率運算單元21和區間電 路23連接,所述區間電路23與機率運算單元21、二進制化單元24和位址重定單元26連 接,所述延時區25與位址重定單元26連接。其中,現場可編程門陣列17的具體功能參見 圖4中步驟S3的描述。如圖4所示,是本發明數據備份方法較佳實施例的流程圖。步驟Si,當電子設備(如電腦)斷電時,電源控制程序15向電源控制器14發送電 源控制指令,然后,電源控制器14根據該電源控制指令啟動備份電源13。此后,由備份電源 13提供電源給內存10和系統控制芯片16,以保證內存10中的數據暫時不會丟失。步驟S2,系統控制芯片16通過北橋11和連接器12,將內存10中的數據讀出,寫 入現場可編程門陣列17。步驟S3,現場可編程門陣列17對該數據進行編碼,將編碼后的數據存儲至快閃記 憶體18。由于經過現場可編程門陣列17編碼后的數據經過了壓縮,所占位元較少,快閃記 憶體中18可以備份比內存10容量更多的數據,提高了快閃記憶體18的利用率,降低了數 據備份的成本。另外,由于快閃記憶體18中存儲的數據經過了編碼保護,可避免重要的運 算資料直接暴露在快閃記憶體18中,增加了數據保密性。如下所述,是現場可編程門陣列17對數據進行編碼的具體過程。(1)現場可編程門陣列17的機率運算單元21利用無損數據編碼算法,計算字符 序列(如ASCII碼中的256個字符)中每個字符的累加出現機率,并將該字符序列中每個 字符的累加出現機率存儲在緩存區22中。在本實施例中,無損數據編碼算法為算術編碼 (ArithmeticCoding)。(2)當該字符序列中所有字符的累加出現機率都已計算完畢時,機率運算單元21向緩存區22發出編碼指令(以Ae表示),將緩存區22中每個字符的累加出現機率傳送至 區間電路23。(3)區間電路23根據該字符序列中每個字符的累加出現機率計算出該字符 序列中每個字符的編碼區間,并從機率運算單元21獲取待編碼數據(以Data表示,如 “ABBAC”),根據該字符序列中每個字符的編碼區間計算出待編碼數據中最后一個字符的編 碼區間。
(4)區間電路23將待編碼數據中最后一個字符的編碼區間大小(以Count表示) 傳送給位址重定單元26。同時,區間電路23將待編碼數據中最后一個字符的編碼區間傳送 給二進制化單元24。位址重定單元26從延時區25中取出待編碼數據編碼前的位址(以 Address表示),根據待編碼數據中最后一個字符的編碼區間大小,重新定位待編碼數據的 位址,并將待編碼數據重新定位后的位址傳送給快閃記憶體18。同時,二進制化單元24將 待編碼數據中最后一個字符的編碼區間轉換成二進制數據,并傳送給快閃記憶體18。(5)當待編碼數據中最后一個字符的編碼區間轉換成二進制數據后,使能信號 (以Signal表示)從延時區25中傳送給快閃記憶體18。以下舉例說明利用算術編碼進行數據編碼的過程假設有一個以A、B、C、D、E五個出現機率均等的字符組成的字符序列,則A、B、C、 D、E的初始機率如下A :0 — 1/5,B 1/5 — 2/5,C 2/5 — 3/5,D 3/5 — 4/5,E 4/5 — 1。假設需要編碼的數據為“ABBAC”,則A、B、C、D、E的累加出現機率為A 1/5 — 2/6 — 2/7 — 2/8 — 3/9 — 3/10 ;B 1/5 — 1/6 — 2/7 — 3/8 — 3/9 — 3/10 ;C 1/5 — 1/6 — 1/7 — 1/8 — 1/9 — 2/10 ;D 1/5 — 1/6 — 1/7 — 1/8 — 1/9 — 1/10 ;E 1/5 — 1/6 — 1/7 — 1/8 — 1/9 — 1/10。根據A、B、C、D、E的累加出現機率計算出A、B、C、D、E的編碼區間為A
所以,待編碼數據“ABBAC”中最后一個字符“C”的編碼區間為
最后應說明的是,以上實施例僅用以說明本發明的技術方案而非限制,盡管參照 較佳實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發明的 技術方案進行修改或等同替換,而不脫離本發明技術方案的精神和范圍。
權利要求
一種存儲器,包括備份電源、電源控制器、電源控制程序、系統控制芯片和快閃記憶體,該電源控制器與備份電源和電源控制程序連接,該系統控制芯片與電源控制器連接,其特征在于該系統控制芯片和快閃記憶體之間連接有現場可編程門陣列。
2.如權利要求1所述的存儲器,其特征在于,所述現場可編程門陣列包括機率運算單 元、緩存區、區間電路、二進制化單元、延時區、位址重定單元,其中所述機率運算單元,用于計算字符序列中每個字符的累加出現機率,并其存儲在緩存 區中;所述機率運算單元,還用于當該字符序列中所有字符的累加出現機率都已計算完畢 時,將緩存區中每個字符的累加出現機率傳送至區間電路;所述區間電路,用于根據該字符序列中每個字符的累加出現機率計算出該字符序列中 每個字符的編碼區間;所述區間電路,還用于從機率運算單元獲取待編碼數據,根據該字符序列中每個字符 的編碼區間計算出待編碼數據中最后一個字符的編碼區間,并將待編碼數據中最后一個字 符的編碼區間大小傳送給位址重定單元,同時將待編碼數據中最后一個字符的編碼區間傳 送給二進制化單元;所述位址重定單元,用于根據待編碼數據中最后一個字符的編碼區間大小,重新定位 待編碼數據的位址,并將待編碼數據重新定位后的位址傳送給快閃記憶體;所述二進制化單元,用于將待編碼數據中最后一個字符的編碼區間轉換成二進制數 據,并傳送給快閃記憶體;及當待編碼數據中最后一個字符的編碼區間轉換成二進制數據后,使能信號從延時區中 傳送給快閃記憶體。
3.如權利要求1所述的存儲器,其特征在于,該存儲器通過連接器與北橋連接到內存。
4.如權利要求3所述的存儲器,其特征在于,所述連接器為PCI-E接口。
5.一種利用權利要求1中的存儲器進行數據備份的方法,其特征在于,該方法包括如 下步驟當電子設備斷電時,啟動備份電源;系統控制芯片將內存中的數據讀出,寫入現場可編程門陣列;及 現場可編程門陣列對該數據進行編碼,將編碼后的數據存儲至快閃記憶體。
6.如權利要求5所述的存儲器數據備份方法,其特征在于,該方法還包括步驟當電子設備電源恢復時,現場可編程門陣列將快閃記憶體中的數據進行解碼后傳送至 系統控制芯片;及系統控制芯片將解碼后的數據傳回內存。
7.如權利要求5所述的存儲器數據備份方法,其特征在于,所述步驟啟動備份電源包括電源控制程序向電源控制器發送電源控制指令;及 電源控制器根據該電源控制指令啟動備份電源。
8.如權利要求5所述的存儲器數據備份方法,其特征在于,所述步驟現場可編程門陣 列對該數據進行編碼包括機率運算單元利用無損數據編碼算法,計算字符序列中每個字符的累加出現機率,并將該字符序列中每個字符的累加出現機率存儲在緩存區中;當該字符序列中所有字符的累加出現機率都已計算完畢時,機率運算單元向緩存區發 出編碼指令,將緩存區中每個字符的累加出現機率傳送至區間電路;區間電路根據該字符序列中每個字符的累加出現機率計算出該字符序列中每個字符 的編碼區間,并從機率運算單元獲取待編碼數據,根據該字符序列中每個字符的編碼區間 計算出待編碼數據中最后一個字符的編碼區間;區間電路將待編碼數據中最后一個字符的編碼區間大小傳送給位址重定單元,同時, 將待編碼數據中最后一個字符的編碼區間傳送給二進制化單元;位址重定單元根據待編碼數據中最后一個字符的編碼區間大小,重新定位待編碼數據 的位址,并將待編碼數據重新定位后的位址傳送給快閃記憶體;二進制化單元將待編碼數據中最后一個字符的編碼區間轉換成二進制數據,并傳送給 快閃記憶體;及當待編碼數據中最后一個字符的編碼區間轉換成二進制數據后,使能信號從延時區中 傳送給快閃記憶體。
9.如權利要求8所述的存儲器數據備份方法,其特征在于,所述字符序列為ASCII碼中 的256個字符。
10.如權利要求9所述的存儲器數據備份方法,其特征在于,所述無損數據編碼算法為 算術編碼。
全文摘要
一種存儲器數據備份方法,包括如下步驟當電子設備斷電時,啟動備份電源;系統控制芯片將內存中的數據讀出,寫入現場可編程門陣列;現場可編程門陣列對該數據進行編碼,將編碼后的數據存儲至快閃記憶體。本發明還提供一種用于數據備份的存儲器。利用本發明可以在電子設備斷電后,將內存中的數據進行編碼壓縮后存儲至快閃記憶體。
文檔編號H03M7/30GK101957784SQ20091030448
公開日2011年1月26日 申請日期2009年7月17日 優先權日2009年7月17日
發明者唐慶宗 申請人:鴻富錦精密工業(深圳)有限公司;鴻海精密工業股份有限公司