国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種存儲(chǔ)數(shù)據(jù)的方法及存儲(chǔ)裝置的制作方法

      文檔序號(hào):6778043閱讀:203來源:國(guó)知局
      專利名稱:一種存儲(chǔ)數(shù)據(jù)的方法及存儲(chǔ)裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及電子技術(shù)領(lǐng)域,具體涉及一種存儲(chǔ)數(shù)據(jù)的方法及存儲(chǔ)裝置。
      背景技術(shù)
      存儲(chǔ)設(shè)備對(duì)于當(dāng)今人們的生活有著非常重要的作用,人們用其存儲(chǔ)文字資料、 圖片、視頻等等。一種常用的存儲(chǔ)設(shè)備如固態(tài)硬盤(SSD,Solid State Disk),由于它存儲(chǔ) 容量大,體積小,攜帶方便,在人們的日常生活中發(fā)揮著重要的作用。一種SSD可以是 由閃存(Flash)組成的,如與非(NAND) Flash。由于NAND Flash制造工藝的原因,在進(jìn) 行數(shù)據(jù)的讀、寫及存儲(chǔ)時(shí)都可能發(fā)生隨機(jī)比特(bit)翻轉(zhuǎn),從而導(dǎo)致數(shù)據(jù)出錯(cuò)。隨著制造 Flash工藝的不斷改進(jìn),單位存儲(chǔ)空間存儲(chǔ)的數(shù)據(jù)更多,則存儲(chǔ)數(shù)據(jù)出錯(cuò)的機(jī)率更大。錯(cuò)誤檢查和糾正(ECC,ErrorChecking and Correcting,)技術(shù)可以對(duì)從 Flash 讀 出的數(shù)據(jù)進(jìn)行錯(cuò)誤檢查和糾正,減少?gòu)腇lash讀出的數(shù)據(jù)的出錯(cuò)率。具體的操作方法包 括首先,對(duì)數(shù)據(jù)編碼,具體實(shí)現(xiàn)包括對(duì)寫入Flash芯片的數(shù)據(jù)進(jìn)行計(jì)算,從而獲 取存儲(chǔ)數(shù)據(jù)的糾錯(cuò)碼(ECC,Error Correction Code),該獲取糾錯(cuò)碼的過程也成為編碼, 其中,存儲(chǔ)糾錯(cuò)碼的空間也稱為檢驗(yàn)位,將存儲(chǔ)的ECC和數(shù)據(jù)一起寫入Flash芯片中,其 中,糾錯(cuò)碼的計(jì)算是以扇區(qū)(Sector)為單位,當(dāng)獲取的一個(gè)Sector中存儲(chǔ)的數(shù)據(jù)的糾錯(cuò)碼 所占用的校驗(yàn)位,大于一個(gè)Sector中最多允許的校驗(yàn)位時(shí),將該Sector中存儲(chǔ)的數(shù)據(jù)的糾 錯(cuò)碼存儲(chǔ)到多個(gè)Sector的校驗(yàn)位中;其次,對(duì)數(shù)據(jù)譯碼,具體實(shí)現(xiàn)包括當(dāng)要讀取Flash芯片上存儲(chǔ)的數(shù)據(jù)時(shí),將 數(shù)據(jù)和校驗(yàn)位上存儲(chǔ)的該數(shù)據(jù)的糾錯(cuò)碼讀出,根據(jù)讀出的糾錯(cuò)碼和讀數(shù)據(jù)時(shí)產(chǎn)生的糾錯(cuò) 碼,對(duì)讀出的數(shù)據(jù)進(jìn)行糾正,從而達(dá)到讀出正確的數(shù)據(jù)的目的?,F(xiàn)有技術(shù)中一個(gè)扇區(qū)中存儲(chǔ)空間的分配如圖1所示,數(shù)據(jù)是以Sector為單位寫入 Flash中,或者從Flash中讀出。一個(gè)Sector中最多可以存儲(chǔ)528個(gè)字節(jié)(B,Bytes)的數(shù) 據(jù),但是,其中512B的空間作為數(shù)據(jù)空間,用于存儲(chǔ)數(shù)據(jù),16B作為冗余空間。在16B 的冗余空間中至少有4B的空間用于存儲(chǔ)邏輯塊地址(LBA,Logic BlockAddress)地址, 因此,用于存儲(chǔ)糾錯(cuò)碼的空間最多只有12B。在對(duì)現(xiàn)有技術(shù)的研究和實(shí)踐過程中,本發(fā)明的發(fā)明人發(fā)現(xiàn),現(xiàn)有技術(shù)中對(duì)于1 個(gè)扇區(qū),每糾正1比特(bit)數(shù)據(jù)通常需要13bit的糾錯(cuò)碼,即要占用13bit的檢驗(yàn)位,因 此,對(duì)于一個(gè)扇區(qū)中12B空間的檢驗(yàn)位最多可以糾正Sbit錯(cuò)誤數(shù)據(jù),當(dāng)要糾錯(cuò)更多比特 的數(shù)據(jù)時(shí),需要將糾錯(cuò)碼存儲(chǔ)到更多的Sector的校驗(yàn)位中,一個(gè)頁中包括多個(gè)Sector,其 中,頁是存儲(chǔ)裝置寫入、讀出數(shù)據(jù)的最小單位,因此,導(dǎo)致了存儲(chǔ)裝置在讀出數(shù)據(jù)時(shí)不 能及時(shí)獲取到與數(shù)據(jù)對(duì)應(yīng)的糾錯(cuò)碼,使得存儲(chǔ)裝置在存儲(chǔ)數(shù)據(jù)時(shí)不夠安全、穩(wěn)定。

      發(fā)明內(nèi)容
      本發(fā)明實(shí)施例提供一種存儲(chǔ)數(shù)據(jù)的方法及存儲(chǔ)裝置,可以提高存儲(chǔ)數(shù)據(jù)的安全性和穩(wěn)定性。本發(fā)明實(shí)施例提供一種存儲(chǔ)數(shù)據(jù)的方法,包括獲得數(shù)據(jù)和所述數(shù)據(jù)的糾錯(cuò)碼;通過與閃存相連的數(shù)據(jù)通道,將所述數(shù)據(jù)和所述數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到所述 閃存不同的頁中。本發(fā)明實(shí)施例提供還一種存儲(chǔ)裝置,其包括數(shù)據(jù)通道,閃存,第一獲取單 元,第二獲取單元和控制存儲(chǔ)單元;所述第一獲取單元,用于獲取數(shù)據(jù);所述第二獲取單元,用于獲取所述數(shù)據(jù)的糾錯(cuò)碼;所述控制存儲(chǔ)單元,用于通過與所述閃存相連的所述數(shù)據(jù)通道,將所述數(shù)據(jù)和 所述數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到所述閃存不同的頁中。本發(fā)明實(shí)施例采用將數(shù)據(jù)的糾錯(cuò)碼存儲(chǔ)到獨(dú)立的頁中,即將存儲(chǔ)空間的頁劃分 為兩類,包括一類頁用于存儲(chǔ)數(shù)據(jù),一類頁用于存儲(chǔ)數(shù)據(jù)的糾錯(cuò)碼;因此,可以通過 較少讀出次數(shù)就可以獲得數(shù)據(jù)和數(shù)據(jù)的所有糾錯(cuò)碼,從而獲取到正確的數(shù)據(jù),減少了存 儲(chǔ)裝置出錯(cuò)的概率,使得存儲(chǔ)裝置在存儲(chǔ)數(shù)據(jù)時(shí)安全、穩(wěn)定。


      為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或 現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅 是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提 下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是現(xiàn)有技術(shù)中一個(gè)扇區(qū)中存儲(chǔ)空間的分配圖;圖2是本發(fā)明實(shí)施例一提供的一種存儲(chǔ)數(shù)據(jù)的方法流程簡(jiǎn)圖;圖3是本發(fā)明實(shí)施例二提供的一種存儲(chǔ)數(shù)據(jù)的方法流程簡(jiǎn)圖;圖4是本發(fā)明實(shí)施例二中一種存儲(chǔ)空間的分配示意圖;圖5是本發(fā)明實(shí)施例三提供的一種存儲(chǔ)數(shù)據(jù)的方法流程簡(jiǎn)圖;圖6是本發(fā)明實(shí)施例三中一種存儲(chǔ)空間的分配示意圖;圖7是本發(fā)明實(shí)施例四中提供的一種存儲(chǔ)裝置的邏輯單元示意圖。
      具體實(shí)施方式
      下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、 完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施 例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得 的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。實(shí)施例一、本發(fā)明實(shí)施例提供了一種存儲(chǔ)數(shù)據(jù)的方法,如圖2所示,該方法包括步驟1 獲取數(shù)據(jù)和該數(shù)據(jù)的糾錯(cuò)碼(ECC);其中,步驟1中獲取的數(shù)據(jù)可以是接收其它設(shè)備發(fā)送的需要存儲(chǔ)的數(shù)據(jù),步驟1 中獲取該數(shù)據(jù)的糾錯(cuò)碼可以是根據(jù)特定的算法,而計(jì)算出的數(shù)據(jù)的糾錯(cuò)碼,獲取數(shù)據(jù)的糾錯(cuò)碼的具體操作可以參考現(xiàn)有技術(shù)。步驟2:通過與閃存相連的數(shù)據(jù)通道,將數(shù)據(jù)和數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到閃存不同的頁中。其中,需要說明的是,存儲(chǔ)裝置在讀數(shù)據(jù)和寫數(shù)據(jù)時(shí),都是以頁(Page)為單位 進(jìn)行操作的。在步驟2中數(shù)據(jù)被存儲(chǔ)到一個(gè)或者多于一個(gè)的頁中,將數(shù)據(jù)的糾錯(cuò)碼也 存儲(chǔ)到一個(gè)或者多于一個(gè)的頁中,其中,存儲(chǔ)數(shù)據(jù)的頁和存儲(chǔ)數(shù)據(jù)糾錯(cuò)碼的頁是不同的 頁。即可以理解存儲(chǔ)裝置中的頁被分成為兩部分,包括存儲(chǔ)數(shù)據(jù)的頁和存儲(chǔ)數(shù)據(jù)糾錯(cuò) 碼的頁。通過對(duì)本發(fā)明實(shí)施例提供的一種存儲(chǔ)數(shù)據(jù)的方法的說明,該方法通過將數(shù)據(jù)的 糾錯(cuò)碼存儲(chǔ)到獨(dú)立的頁中,即將存儲(chǔ)空間的頁劃分為兩類,包括一類頁用于存儲(chǔ)數(shù) 據(jù),一類頁用于存儲(chǔ)數(shù)據(jù)的糾錯(cuò)碼;因此,可以通過較少讀出次數(shù)就可以獲得數(shù)據(jù)和數(shù) 據(jù)的所有糾錯(cuò)碼,從而獲取到正確的數(shù)據(jù),減少了存儲(chǔ)裝置出錯(cuò)的概率,使得存儲(chǔ)裝置 在存儲(chǔ)數(shù)據(jù)時(shí)安全、穩(wěn)定。實(shí)施例二、本發(fā)明實(shí)施例提供了一種存儲(chǔ)數(shù)據(jù)的方法,該方法與實(shí)施例一提供的方法相 似,包括都將數(shù)據(jù)的糾錯(cuò)碼單獨(dú)的以Page為單位進(jìn)行存儲(chǔ),存儲(chǔ)數(shù)據(jù)糾錯(cuò)碼的Page不 存儲(chǔ)數(shù)據(jù),同時(shí),存儲(chǔ)數(shù)據(jù)的Page不存儲(chǔ)數(shù)據(jù)的糾錯(cuò)碼;但是,本發(fā)明實(shí)施例提供一種 更具體的存儲(chǔ)數(shù)據(jù)及該數(shù)據(jù)糾錯(cuò)碼的方法,便于通過更少的步驟,更快速的獲取到數(shù)據(jù) 的所有糾錯(cuò)碼,從而獲取到正確的存儲(chǔ)數(shù)據(jù)。如圖3所示,該方法包括步驟Al 與實(shí)施例一中的步驟1相同,即獲取數(shù)據(jù)和該數(shù)據(jù)的糾錯(cuò)碼(ECC);步驟A2:通過與閃存相連的數(shù)據(jù)通道,將數(shù)據(jù)和數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到閃存 不同的頁中;其中,上述數(shù)據(jù)通道包括至少一條;上述與閃存相連的數(shù)據(jù)通道包括與 一個(gè)或者多于一個(gè)的閃存相連的至少一條數(shù)據(jù)通道;當(dāng)上述閃存不同的頁為閃存中編號(hào) 相同的不同的頁時(shí),上述糾錯(cuò)碼為閃存中編號(hào)相同的頁中存儲(chǔ)的數(shù)據(jù)的糾錯(cuò)碼。便于理解的說明包括該存儲(chǔ)裝置將獲取的數(shù)據(jù)和該數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到 不同的頁中,當(dāng)有多于一個(gè)閃存,且與閃存(Flash)相連的數(shù)據(jù)通道包括多于一條時(shí), Flash被劃分為多于一個(gè)的頁,在所有Flash中編號(hào)相同的頁中,有一個(gè)頁用于存儲(chǔ)糾錯(cuò) 碼,糾錯(cuò)碼為所有Flash中編號(hào)相同的頁中存儲(chǔ)的數(shù)據(jù)的糾錯(cuò)碼。需要理解的是,數(shù)據(jù)通道是用于將數(shù)據(jù)和糾錯(cuò)碼輸入給存儲(chǔ)裝置中的存儲(chǔ)空 間,或者,將數(shù)據(jù)和糾錯(cuò)碼從存儲(chǔ)空間輸出。這里所述的存儲(chǔ)空間通常是由多個(gè)閃存組 成,一個(gè)數(shù)據(jù)通道通常與一個(gè)或者多于一個(gè)的閃存相連,閃存被劃分為多個(gè)頁,閃存以 頁為單位輸出頁中存儲(chǔ)的數(shù)據(jù)或糾錯(cuò)碼,以頁為單位寫入數(shù)據(jù)或者糾錯(cuò)碼。通常多條數(shù)據(jù)通道并行將數(shù)據(jù)輸入或者輸出存儲(chǔ)裝置。如圖4所示,以存儲(chǔ)裝 置中有四條數(shù)據(jù)通道為例,包括第零通道(CharaileO),第一通道(Charaiell),第二通 道(Channel2),和第三通道(Channel3)。其中,與每條通道相連的Flash中的各Page的 編號(hào)是不同的,如圖中顯示出了與每個(gè)通道相連的Flash中的編號(hào)從PageO至Page7的編 號(hào)連續(xù)的頁。其中,步驟A2中所說的“在所有Flash中編號(hào)相同的頁中,有一個(gè)頁用于 存儲(chǔ)糾錯(cuò)碼,糾錯(cuò)碼為所有Flash中編號(hào)相同的頁中存儲(chǔ)的數(shù)據(jù)的糾錯(cuò)碼”,針對(duì)圖4的理解是,將與ChannelO至Channel3相連的Flash中編號(hào)為PageO的頁中,有一個(gè)頁(即 ChannelO的PageO)用于存儲(chǔ)與Channell至Channel3相連的Flash中所有PageO中數(shù)據(jù)的 糾錯(cuò)碼。即將所有與數(shù)據(jù)通道相連的Flash中PageO內(nèi)存儲(chǔ)的數(shù)據(jù)定義為dataO,所有與 數(shù)據(jù)通道相連的Flash中Pagel內(nèi)存儲(chǔ)的數(shù)據(jù)定義為datal,以此類推;把dataO的糾錯(cuò)碼 存儲(chǔ)在PageO的其中一個(gè)頁中(即如圖4中校驗(yàn)位ParityO所在的頁),把datal的糾錯(cuò)碼 存儲(chǔ)在Pagel的一個(gè)頁中(即如圖4中校驗(yàn)位Parityl所在的頁),以此類推。 還需要理解的是,所有數(shù)據(jù)中編號(hào)相同的頁的物理地址通常是連續(xù)的,例如 通常與ChannelO相連的Flash中的pageO、與Channell相連的Flash中的pageO、與 Channel相連的Flash中的pageO,和與Channel3相連的Flash中的pageO的物理地址連 續(xù)。通過上述對(duì)本發(fā)明實(shí)施例提供的一種存儲(chǔ)數(shù)據(jù)的方法的說明,當(dāng)讀取連續(xù)地址 數(shù)據(jù)時(shí),因?yàn)橥ǖ篱g并發(fā),讀一次就可以得到數(shù)據(jù)及該數(shù)據(jù)的糾錯(cuò)碼,從而進(jìn)行數(shù)據(jù)校 驗(yàn)并輸出。從而獲取到正確的數(shù)據(jù),減少了存儲(chǔ)裝置出錯(cuò)的概率,使得存儲(chǔ)裝置在存儲(chǔ) 數(shù)據(jù)時(shí)安全、穩(wěn)定。進(jìn)一步,為了保證當(dāng)讀取地址不連續(xù)數(shù)據(jù)時(shí),可以通過盡可能少的操作就可以 讀取數(shù)據(jù)對(duì)應(yīng)的糾錯(cuò)碼,則步驟A2中存儲(chǔ)糾錯(cuò)碼的頁,還需要進(jìn)一步限制,即在與至 少一條數(shù)據(jù)通道中的一條數(shù)據(jù)通道相連的閃存中,當(dāng)與一個(gè)數(shù)據(jù)通道相連的閃存中不同 的頁為閃存中編號(hào)連續(xù)的N個(gè)頁時(shí),將糾錯(cuò)碼存儲(chǔ)在編號(hào)連續(xù)的N個(gè)頁的一個(gè)頁中,N 的取值為所有數(shù)據(jù)通道的數(shù)量。上一段文字的說明可以理解為,對(duì)步驟A2中存儲(chǔ)糾錯(cuò)碼的頁,進(jìn)一步限制包 括與一個(gè)數(shù)據(jù)通道相連的所有Flash中,編號(hào)連續(xù)的N個(gè)頁中,只有一個(gè)頁用于存儲(chǔ)糾 錯(cuò)碼,其中,N為所有數(shù)據(jù)通道的數(shù)量。為了便于理解上一段文字,仍然參見圖4所示,由于多條數(shù)據(jù)通道并行將數(shù)據(jù) 輸出存儲(chǔ)裝置,且同一時(shí)刻讀取的地址是不連續(xù)時(shí),例如同一時(shí)刻讀取的頁包括與 ChannelO 相連的 Flash 中的 PageO,與 Channell 相連的 Flash 中的 PageO,與 Channel2 相 連的Flash中的Pagel,與Channel3相連的Flash中的Page2,即讀取的數(shù)據(jù)順序的是 ParityO, dataO, datal,data2。由于與一個(gè)數(shù)據(jù)通道相連的所有Flash中,編號(hào)連續(xù)的N個(gè)頁中,只有一個(gè)頁用 于存儲(chǔ)糾錯(cuò)碼,因此,存儲(chǔ)裝置再輸出一次就可以將所有數(shù)據(jù)的糾錯(cuò)碼讀出,即下一刻 讀取的頁至少包括與Channell相連的Flash中的Pagel中存儲(chǔ)的Parityl,和與Channel2 相連的Flash中的Page2中存儲(chǔ)的Parity2。如果Parityl和Parity2都存儲(chǔ)在同一個(gè)數(shù)據(jù)通 道中,就不可能在一次讀取出datal、data2的糾錯(cuò)碼Parityl、Parity2。通過執(zhí)行上述存儲(chǔ)數(shù)據(jù)的方法,如圖4所示,為最終在數(shù)據(jù)通道中輸入的數(shù)據(jù) 和數(shù)據(jù)的糾錯(cuò)碼的分布示意圖,可以看出,每個(gè)通道中連續(xù)四個(gè)頁中只有一個(gè)頁用于存 儲(chǔ)糾錯(cuò)碼,其它三個(gè)頁存儲(chǔ)的數(shù)據(jù)。因此,用于存儲(chǔ)糾錯(cuò)碼頁形成了如圖4所示的有規(guī) 律的階梯分布。還需要說明的是,上述是以四條數(shù)據(jù)通道的存儲(chǔ)裝置進(jìn)行舉例說明,對(duì)于其它 數(shù)量數(shù)據(jù)通道的情況,可以由此處的說明容易推出,因此,此處不應(yīng)該理解為對(duì)本發(fā)明 實(shí)施例的限制。
      實(shí)施例三、本發(fā)明實(shí)施例提供了一種存儲(chǔ)數(shù)據(jù)的方法,本發(fā)明實(shí)施例提供了一種存儲(chǔ)數(shù)據(jù)的方法,該方法與實(shí)施例一提供的方法相似,包括都將數(shù)據(jù)的糾錯(cuò)碼單獨(dú)的以Page為 單位進(jìn)行存儲(chǔ),存儲(chǔ)數(shù)據(jù)糾錯(cuò)碼的Page不存儲(chǔ)數(shù)據(jù),同時(shí),存儲(chǔ)數(shù)據(jù)的Page不存儲(chǔ)數(shù)據(jù) 的糾錯(cuò)碼;但是,本發(fā)明實(shí)施例提供另一種更具體的存儲(chǔ)數(shù)據(jù)及該數(shù)據(jù)糾錯(cuò)碼的方法, 便于通過更少的步驟,更快速的獲取到數(shù)據(jù)的所有糾錯(cuò)碼,從而獲取到正確的存儲(chǔ)數(shù) 據(jù)。如圖5所示,該方法包括步驟Bl 與實(shí)施例一中的步驟1相同,即獲取數(shù)據(jù)和該數(shù)據(jù)的糾錯(cuò)碼(ECC);步驟B2 將數(shù)據(jù)和數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到與不同數(shù)據(jù)通道相連的閃存的不同 的頁中;其中,上述數(shù)據(jù)通道包括至少一條;上述與閃存相連的數(shù)據(jù)通道包括與一個(gè) 或者多于一個(gè)的閃存相連的至少一條數(shù)據(jù)通道。對(duì)步驟B2可以理解為將獲取的數(shù)據(jù)和該數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到不同的頁 中,其中,當(dāng)有多于一個(gè)閃存,且與閃存(Flash)相連的數(shù)據(jù)通道包括多于一條時(shí),F(xiàn)lash 被劃分為多于一個(gè)頁,與一條數(shù)據(jù)通道相連的所有Flash中存儲(chǔ)的數(shù)據(jù),與該數(shù)據(jù)的糾錯(cuò) 碼,存儲(chǔ)在與不同的數(shù)據(jù)通道相連的閃存中;一條數(shù)據(jù)通道為任意一條數(shù)據(jù)通道。其中,在步驟B2中將與一條數(shù)據(jù)通道相連的Flash中存儲(chǔ)的數(shù)據(jù)的糾錯(cuò)碼,存 儲(chǔ)在不同的Flash中,該不同的Flash是指與另一數(shù)據(jù)通道相連的Flash,當(dāng)通道間并發(fā)數(shù) 據(jù)時(shí),可以將數(shù)據(jù)與該數(shù)據(jù)的糾錯(cuò)碼同時(shí)輸出,從而可以快速獲取到正確的數(shù)據(jù)。如圖6所示,以存儲(chǔ)裝置中有四條數(shù)據(jù)通道為例,存儲(chǔ)數(shù)據(jù)的空間和數(shù)據(jù)糾錯(cuò) 碼的空間的分布示意圖。其中,在各數(shù)據(jù)通道中自定義一段地址空間用于存儲(chǔ)數(shù)據(jù)的 糾錯(cuò)碼,即如圖6中每條數(shù)據(jù)通道中有線條一段地址空間是用于存儲(chǔ)數(shù)據(jù)的糾錯(cuò)碼;為 了便于理解,在圖6中把與CharaielO相連的Flash中存儲(chǔ)的所有數(shù)據(jù)定義為dataO,把與 Channell相連的Flash中存儲(chǔ)的所有數(shù)據(jù)定義為datal,與Channel2相連的Flash中存儲(chǔ)的 所有數(shù)據(jù)定義為data2,與Channe3相連的Flash中存儲(chǔ)的所有數(shù)據(jù)定義為data3。將dataO 得所有糾錯(cuò)碼存放在與Charaiell相連的Flash中自定義的一段地址空間(即parityO),將 datal得所有糾錯(cuò)碼存放在與Channel〗相連的Flash中自定義的一段地址空間(即paritl), 將data2得所有糾錯(cuò)碼存放在與CharaieKB相連的Flash中自定義的一段地址空間(即 parity2),將data3得所有糾錯(cuò)碼存放在與ChannelO相連的Flash中自定義的一段地址空間 (即 parity3)。其中,每個(gè)自定義的一段地址空間中都包括至少一個(gè)頁。還需要理解的是,上 述是有規(guī)律的存儲(chǔ)數(shù)據(jù)的糾錯(cuò)碼的情況,即如圖6所示,與每一條數(shù)據(jù)通道相連的Flash 中存儲(chǔ)的數(shù)據(jù)的糾錯(cuò)碼,存儲(chǔ)在與之編號(hào)相鄰的下一條數(shù)據(jù)通道相連的Flash中自定義的 地址空間中。事實(shí)上,與一條數(shù)據(jù)通道相連的Flash中存儲(chǔ)的數(shù)據(jù),與該數(shù)據(jù)通道相連的 Flash中存儲(chǔ)的數(shù)據(jù)的糾錯(cuò)碼,滿足分別存儲(chǔ)在與不同的數(shù)據(jù)通道相連的Flash中即可,當(dāng) 需要讀取該數(shù)據(jù)通道中存儲(chǔ)的數(shù)據(jù)時(shí),就可以根據(jù)存儲(chǔ)該數(shù)據(jù)的糾錯(cuò)碼的地址,讀出糾 錯(cuò)碼。其中,讀出數(shù)據(jù)和數(shù)據(jù)的糾錯(cuò)碼可以是同時(shí)的,也可以是分兩次,包括一次讀 出數(shù)據(jù),一次讀出數(shù)據(jù)的糾錯(cuò)碼。讀出數(shù)據(jù)及糾錯(cuò)碼是可以根據(jù)存儲(chǔ)數(shù)據(jù)及數(shù)據(jù)的糾錯(cuò) 碼的地址,選擇最快速的讀出數(shù)據(jù)及其糾錯(cuò)碼的策略的。
      通過對(duì)本發(fā)明實(shí)施例提供的一種存儲(chǔ)數(shù)據(jù)的方法的說明,該方法將獲取的數(shù)據(jù) 和該數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到不同的頁中,其中,當(dāng)有多于一個(gè)閃存,且與閃存(Flash) 相連的數(shù)據(jù)通道包括多于一條時(shí),F(xiàn)lash被劃分為多于一個(gè)的頁,與一條數(shù)據(jù)通道相連的 所有Flash中存儲(chǔ)的數(shù)據(jù),與該數(shù)據(jù)的糾錯(cuò)碼,存儲(chǔ)在與不同的數(shù)據(jù)通道相連的閃存中; 一條數(shù)據(jù)通道為任意一條數(shù)據(jù)通道;因此,可以通過較少讀出次數(shù)就可以獲得數(shù)據(jù)和數(shù) 據(jù)的所有糾錯(cuò)碼,從而獲取到正確的數(shù)據(jù),減少了存儲(chǔ)裝置出錯(cuò)的概率,使得存儲(chǔ)裝置 在存儲(chǔ)數(shù)據(jù)時(shí)安全、穩(wěn)定。實(shí)施例四、本發(fā)明實(shí)施例提供一種存儲(chǔ)裝置,如圖7所示,該存儲(chǔ)裝置包括第一獲取單 元100,第二獲取單元101,控制存儲(chǔ)單元102,數(shù)據(jù)通道103和閃存104。其中,第一獲取單元100,用于獲取數(shù)據(jù); 第二獲取單元101,用于獲取第一獲取單元100中獲取數(shù)據(jù)的糾錯(cuò)碼;其中,第一獲取單元100中獲取的數(shù)據(jù)可以是接收其它設(shè)備發(fā)送的需要存儲(chǔ)的 數(shù)據(jù),第二獲取單元101中獲取該數(shù)據(jù)的糾錯(cuò)碼可以是根據(jù)特定的算法,而計(jì)算出的數(shù) 據(jù)的糾錯(cuò)碼,獲取數(shù)據(jù)的糾錯(cuò)碼的具體操作可以參考現(xiàn)有技術(shù)??刂拼鎯?chǔ)單元102,用于通過與閃存相連的數(shù)據(jù)通道,將數(shù)據(jù)和數(shù)據(jù)的糾錯(cuò)碼分 別存儲(chǔ)到閃存不同的頁中。數(shù)據(jù)通道103,用于傳輸數(shù)據(jù)及數(shù)據(jù)的糾錯(cuò)碼,與現(xiàn)有技術(shù)中數(shù)據(jù)通道相同;閃存104,用于存儲(chǔ)數(shù)據(jù)及糾錯(cuò)碼,其中,閃存以頁為單位被劃分,與現(xiàn)有技術(shù) 中閃存相同。其中,數(shù)據(jù)被存儲(chǔ)到一個(gè)或者多于一個(gè)的頁中,將數(shù)據(jù)的糾錯(cuò)碼也存儲(chǔ)到一個(gè) 或者多于一個(gè)的頁中,其中,存儲(chǔ)數(shù)據(jù)的頁和存儲(chǔ)數(shù)據(jù)糾錯(cuò)碼的頁是不同的頁。通過對(duì)本發(fā)明實(shí)施例提供的一種存儲(chǔ)裝置的說明,該裝置通過將數(shù)據(jù)的糾錯(cuò)碼 存儲(chǔ)到獨(dú)立的頁中,即將存儲(chǔ)空間的頁劃分為兩類,包括一類頁用于存儲(chǔ)數(shù)據(jù),一類 頁用于存儲(chǔ)數(shù)據(jù)的糾錯(cuò)碼;因此,可以通過較少讀出次數(shù)就可以獲得數(shù)據(jù)和數(shù)據(jù)的所有 糾錯(cuò)碼,從而獲取到正確的數(shù)據(jù),減少了存儲(chǔ)裝置出錯(cuò)的概率,使得存儲(chǔ)裝置在存儲(chǔ)數(shù) 據(jù)時(shí)安全、穩(wěn)定??蛇x的,當(dāng)數(shù)據(jù)通道包括至少一條;且與一個(gè)或者多于一個(gè)的閃存與每一條數(shù) 據(jù)通道相連;則控制存儲(chǔ)單元102,具體用于通過與閃存相連的數(shù)據(jù)通道,將數(shù)據(jù)和數(shù)據(jù)的糾 錯(cuò)碼分別存儲(chǔ)到閃存不同的頁中;當(dāng)閃存不同的頁為閃存中編號(hào)相同的不同的頁時(shí),糾 錯(cuò)碼為閃存中編號(hào)相同的頁中存儲(chǔ)的數(shù)據(jù)的糾錯(cuò)碼。對(duì)于上兩段文字對(duì)控制存儲(chǔ)單元102的說明,還可以理解為,控制存儲(chǔ)單元102 具體用于將獲取的數(shù)據(jù)和該數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到不同的頁中,其中,當(dāng)有多于一個(gè) 閃存,且與閃存(Flash)相連的數(shù)據(jù)通道包括多于一條時(shí),F(xiàn)lash被劃分為多于一個(gè)的頁, 在所有Flash中編號(hào)相同的頁中,有一個(gè)頁用于存儲(chǔ)糾錯(cuò)碼,糾錯(cuò)碼為所有Flash中編號(hào) 相同的頁中存儲(chǔ)的數(shù)據(jù)的糾錯(cuò)碼。其中,需要理解的是,該存儲(chǔ)裝置可以包括一個(gè)或者一個(gè)以上的Flash,該Flash 提供存儲(chǔ)空間,即用于存儲(chǔ)數(shù)據(jù)和/或數(shù)據(jù)的糾錯(cuò)碼,每個(gè)Flash又被劃分為多個(gè)頁,頁是對(duì)Flash進(jìn)行讀或者寫操作的最小單元。 通過對(duì)該存儲(chǔ)裝置中的控制存儲(chǔ)單元102的進(jìn)一步說明,使得該存儲(chǔ)裝置在當(dāng) 讀取連續(xù)地址數(shù)據(jù)時(shí),因?yàn)橥ǖ篱g并發(fā),讀一次就可以得到數(shù)據(jù)及該數(shù)據(jù)的糾錯(cuò)碼,從 而進(jìn)行數(shù)據(jù)校驗(yàn)并輸出。從而獲取到正確的數(shù)據(jù),減少了存儲(chǔ)裝置出錯(cuò)的概率,使得存 儲(chǔ)裝置在存儲(chǔ)數(shù)據(jù)時(shí)安全、穩(wěn)定。進(jìn)一步,在上述關(guān)于該存儲(chǔ)裝置102的進(jìn)一步說明的基礎(chǔ)上,該存儲(chǔ)裝置102中 與一個(gè)數(shù)據(jù)通道相連的所有Flash中,編號(hào)連續(xù)的N個(gè)頁中,只有一個(gè)頁用于存儲(chǔ)糾錯(cuò) 碼,其中,N為所述數(shù)據(jù)通道的數(shù)量。對(duì)上一段文字的說明也可以理解為在與至少一條數(shù)據(jù)通道中的一條數(shù)據(jù)通道 相連的閃存中,當(dāng)與一個(gè)數(shù)據(jù)通道相連的閃存中不同的頁為閃存中編號(hào)連續(xù)的N個(gè)頁 時(shí),將糾錯(cuò)碼存儲(chǔ)在編號(hào)連續(xù)的N個(gè)頁的一個(gè)頁中,N的取值為所有數(shù)據(jù)通道的數(shù)量。通過進(jìn)一步增加對(duì)該存儲(chǔ)裝置中的控制存儲(chǔ)單元102的說明,使得該存儲(chǔ)裝置 在當(dāng)讀取地址不連續(xù)數(shù)據(jù)時(shí),可以通過盡力少的操作就可以讀取數(shù)據(jù)對(duì)應(yīng)的糾錯(cuò)碼。可選的,該存儲(chǔ)裝置中當(dāng)數(shù)據(jù)通道包括至少一條;且與一個(gè)或者多于一個(gè)的閃 存與每一條數(shù)據(jù)通道相連;則控制存儲(chǔ)單元102,具體用于將數(shù)據(jù)和數(shù)據(jù)的糾錯(cuò)碼分別 存儲(chǔ)到與不同數(shù)據(jù)通道相連的閃存的不同的頁中。也可以理解為該存儲(chǔ)裝置中的控制存儲(chǔ)單元102,可以具體用于將獲取的數(shù)據(jù)和 該數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到不同的頁中,其中,當(dāng)有多于一個(gè)閃存,且與閃存(Flash)相 連的數(shù)據(jù)通道包括多于一條時(shí),F(xiàn)lash被劃分為多于一個(gè)的頁,與一條數(shù)據(jù)通道相連的所 有Flash中存儲(chǔ)的數(shù)據(jù),與該數(shù)據(jù)的糾錯(cuò)碼,存儲(chǔ)在與不同的數(shù)據(jù)通道相連的閃存中;一 條數(shù)據(jù)通道為任意一條數(shù)據(jù)通道。通過上一段文字對(duì)該控制存儲(chǔ)單元102的限定,使得該存儲(chǔ)裝置將與一條數(shù)據(jù) 通道相連的Flash中存儲(chǔ)的數(shù)據(jù)的糾錯(cuò)碼,存儲(chǔ)在與零一條數(shù)據(jù)通道相連的Flash中,當(dāng) 通道間并發(fā)數(shù)據(jù)時(shí),可以將數(shù)據(jù)與該數(shù)據(jù)的糾錯(cuò)碼同時(shí)輸出,從而可以快速獲取到正確 的數(shù)據(jù)。還需要說明的是,對(duì)于該存儲(chǔ)裝置的更多詳細(xì)說明和理解,可以參考方法實(shí)施 例一,二,和三中的說明。本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可 以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存 儲(chǔ)介質(zhì)可以包括ROM、RAM、磁盤或光盤等。以上對(duì)本發(fā)明實(shí)施例所提供一種存儲(chǔ)數(shù)據(jù)的方法及存儲(chǔ)裝置進(jìn)行了詳細(xì)介紹, 本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是 用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本 發(fā)明的思想,在具體實(shí)施方式
      及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容 不應(yīng)理解為對(duì)本發(fā)明的限制。
      權(quán)利要求
      1.一種存儲(chǔ)數(shù)據(jù)的方法,其特征在于,包括獲得數(shù)據(jù)和所述數(shù)據(jù)的糾錯(cuò)碼;通過與閃存相連的數(shù)據(jù)通道,將所述數(shù)據(jù)和所述數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到所述閃存 不同的頁中。
      2.根據(jù)權(quán)利要求1所述的存儲(chǔ)數(shù)據(jù)的方法,其特征在于,所述數(shù)據(jù)通道包括至少一 條;所述與閃存相連的數(shù)據(jù)通道包括與一個(gè)或者多于一個(gè)的閃存相連的至少一條數(shù)據(jù) 通道;當(dāng)所述閃存不同的頁為閃存中編號(hào)相同的不同的頁時(shí),所述糾錯(cuò)碼為閃存中編號(hào)相 同的頁中存儲(chǔ)的數(shù)據(jù)的糾錯(cuò)碼。
      3.根據(jù)權(quán)利要求2所述的存儲(chǔ)數(shù)據(jù)的方法,其特征在于,所述通過與閃存相連的數(shù)據(jù) 通道,將所述數(shù)據(jù)和所述數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到所述閃存不同的頁中,包括在與所述至少一條數(shù)據(jù)通道中的一條數(shù)據(jù)通道相連的閃存中,當(dāng)與所述一個(gè)數(shù)據(jù)通 道相連的閃存中不同的頁為閃存中編號(hào)連續(xù)的N個(gè)頁時(shí),將糾錯(cuò)碼存儲(chǔ)在所述編號(hào)連續(xù) 的N個(gè)頁的一個(gè)頁中,所述N的取值為所有數(shù)據(jù)通道的數(shù)量。
      4.根據(jù)權(quán)利要求1所述的存儲(chǔ)數(shù)據(jù)的方法,其特征在于,所述數(shù)據(jù)通道包括至少一 條;所述與閃存相連的數(shù)據(jù)通道包括與一個(gè)或者多于一個(gè)的閃存相連的至少一條數(shù)據(jù) 通道;所述通過與閃存相連的數(shù)據(jù)通道,將所述數(shù)據(jù)和所述數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到所述 閃存不同的頁中包括將所述數(shù)據(jù)和所述數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到與不同數(shù)據(jù)通道相連 的閃存的不同的頁中。
      5.—種存儲(chǔ)裝置,包括數(shù)據(jù)通道和閃存,其特征在于,還包括第一獲取單元, 第二獲取單元和控制存儲(chǔ)單元;所述第一獲取單元,用于獲取數(shù)據(jù);所述第二獲取單元,用于獲取所述數(shù)據(jù)的糾錯(cuò)碼;所述控制存儲(chǔ)單元,用于通過與所述閃存相連的所述數(shù)據(jù)通道,將所述數(shù)據(jù)和所述 數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到所述閃存不同的頁中。
      6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述數(shù)據(jù)通道包括至少一條;所述與 閃存相連的數(shù)據(jù)通道包括與一個(gè)或者多于一個(gè)的閃存相連的至少一條數(shù)據(jù)通道;當(dāng)所述閃存不同的頁為閃存中編號(hào)相同的不同的頁時(shí),所述糾錯(cuò)碼為閃存中編號(hào)相 同的頁中存儲(chǔ)的數(shù)據(jù)的糾錯(cuò)碼。
      7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述通過與閃存相連的數(shù)據(jù)通道,將所 述數(shù)據(jù)和所述數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到所述閃存不同的頁中,包括在與所述至少一條數(shù)據(jù)通道中的一條數(shù)據(jù)通道相連的閃存中,當(dāng)與所述一個(gè)數(shù)據(jù)通 道相連的閃存中不同的頁為閃存中編號(hào)連續(xù)的N個(gè)頁時(shí),將糾錯(cuò)碼存儲(chǔ)在所述編號(hào)連續(xù) 的N個(gè)頁的一個(gè)頁中,所述N的取值為所有數(shù)據(jù)通道的數(shù)量。
      8.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述數(shù)據(jù)通道包括至少一條;所述與 閃存相連的數(shù)據(jù)通道包括與一個(gè)或者多于一個(gè)的閃存相連的至少一條數(shù)據(jù)通道;所述通過與閃存相連的數(shù)據(jù)通道,將所述數(shù)據(jù)和所述數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到所述 閃存不同的頁中包括將所述數(shù)據(jù)和所述數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到與不同數(shù)據(jù)通道相連的閃存的不同的頁中。
      全文摘要
      本發(fā)明實(shí)施例公開了一種存儲(chǔ)數(shù)據(jù)的方法及存儲(chǔ)裝置,該方法包括獲得數(shù)據(jù)和所述數(shù)據(jù)的糾錯(cuò)碼;通過與閃存相連的數(shù)據(jù)通道,將所述數(shù)據(jù)和所述數(shù)據(jù)的糾錯(cuò)碼分別存儲(chǔ)到所述閃存不同的頁中。本發(fā)明技術(shù)方案由于將數(shù)據(jù)的糾錯(cuò)碼存儲(chǔ)到獨(dú)立的頁中,即將存儲(chǔ)空間的頁劃分為兩類,包括一類頁用于存儲(chǔ)數(shù)據(jù),一類頁用于存儲(chǔ)數(shù)據(jù)的糾錯(cuò)碼,因此,可以通過較少讀出次數(shù)就可以獲得數(shù)據(jù)和數(shù)據(jù)的所有糾錯(cuò)碼,從而獲取到正確的數(shù)據(jù),減少了存儲(chǔ)裝置出錯(cuò)的概率,使得存儲(chǔ)裝置在存儲(chǔ)數(shù)據(jù)時(shí)安全、穩(wěn)定。
      文檔編號(hào)G11C29/42GK102024497SQ200910173950
      公開日2011年4月20日 申請(qǐng)日期2009年9月22日 優(yōu)先權(quán)日2009年9月22日
      發(fā)明者張婭舸, 徐君 申請(qǐng)人:成都市華為賽門鐵克科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1