国产精品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>

      非揮發(fā)性存儲裝置及其控制方法

      文檔序號:6481812閱讀:177來源:國知局
      專利名稱:非揮發(fā)性存儲裝置及其控制方法
      技術領域
      本發(fā)明涉及一種存儲裝置及其控制方法,尤其涉及一種非揮發(fā)性存儲裝置及其控 制方法。
      背景技術
      隨著半導體制程的進步,快閃存儲器的存儲密度越來越高,單位記憶細胞可存儲 的位數越來越多,使得快閃存儲器芯片存儲資料的容量越來越大。然而,快閃存儲器隨著容 量的加大,資料大小的管理單位也將有所不同。習知一般快閃存儲器的單位記憶頁容量為2KB(Byte字節(jié))加上冗余位元(spare areabit),如圖1A、1B所示。圖IA中,記憶頁中包括四個512字節(jié)的記憶區(qū)段(sector) SO, Si、S2、S3,各記憶區(qū)段中分別存儲資料DO、DU D2、D3,而冗余區(qū)域中為存有根據資料DO、 D1、D2、D3所產生的ECC修復碼E0、E1、E2、E3。而圖IB中,記憶頁中也是包括四個512字 節(jié)的記憶區(qū)段(sector) SO、Si、S2、S3,各記憶區(qū)段中分別存儲資料DO、DU D2、D3,不同的 是,根據資料D0、D1、D2、D3所產生的ECC修復碼E0、E1、E2、E3為分別接著紀錄在記憶區(qū)段 (sector) SO、Si、S2、S3 后面的位置。在資料讀取時,如讀取D0,其同時也須將EO讀取出來,以便進行資料DO的錯誤偵 測與修復,以確保輸出正確的資料。同理,D1、D2、D3的輸出,亦須分別讀取E1、E2、E3來偵 測及修復錯誤位元,以確保輸出資料正確性。也就是分別利用E0、E1、E2、E3來確保D0、D1、 D2、D3輸出的正確性。大容量的快閃存儲器單位記憶頁容量為4KB加上冗余位(spare area bit),如圖 2所示。每區(qū)段的大小變成1024字節(jié),其中為包括兩個512字節(jié)的資料。而每1024字節(jié)大 小的區(qū)段資料為提供若干位的ECC碼作資料偵錯及修復。如圖2,區(qū)段SO的資料,包括DO 及D1,為由一 ECC碼EOl來作保護,區(qū)段Sl的資料,包括D2及D3,為由一 ECC碼E23來作 保護。然而,一般系統上所定義的記憶區(qū)段大小并未如大容量快閃存儲器變成1024字 節(jié),系統上的一區(qū)段仍為512字節(jié)的大小。所以,當系統要求于大容量快閃存儲器中讀取 512字節(jié)的資料時,快閃存儲器的控制器仍須由快閃存儲器中讀出1024字節(jié)及其ECC碼,以 檢查1024字節(jié)的資料中是否有錯誤,若有則予以修復,藉此輸出該筆512字節(jié)正確的資料。如圖2所示,當系統欲讀取資料DO時,須將S0(D0+D1)中的資料以及由DO與Dl 產生的ECC碼EOl由快閃存儲器中讀取出來,藉此檢查DO有無錯誤資料,若有,則將錯誤位 元予以修復,以輸出正確的資料D0。由上述可發(fā)現,若系統欲讀取512字節(jié)的DO時,為了執(zhí)行ECC來確認資料的正確 性,仍需讀取整個1024字節(jié)SO的資料及其ECC碼,無法直接讀取DO的資料。由于欲輸出 DO仍須讀取Dl及DO和Dl的ECC碼EOl來執(zhí)行錯誤偵測修復,將造成錯誤位元偵測修復的 時間加長,影響快閃存儲器資料處理的效能。

      發(fā)明內容
      本發(fā)明所要解決的技術問題是提供一種加快資料讀取時間的非揮發(fā)性存儲裝置 及其控制方法。本發(fā)明提供一種非揮發(fā)性存儲器裝置包含快閃存儲器和控制器,且快閃存儲器 由復數個記憶區(qū)段組成??刂破靼ㄥe誤修正單元,錯誤修正單元可根據控制器所接收的 寫入資料產生第一修正碼和第二修正碼,并由控制器分別儲存寫入資料、第一修正碼和第 二修正碼于快閃存儲器的記憶區(qū)段。其中,第一修正碼用于檢測寫入資料是否含有錯誤位 元,第二修正碼用于檢測及修正寫入資料的錯誤位元。本發(fā)明還提供一種非揮發(fā)性存儲器裝置的控制方法,包括下列步驟接收寫入資 料,依據所接收的寫入資料產生第一修正碼和第二修正碼,及分別儲存寫入資料、第一修正 碼和第二修正碼于非揮發(fā)性存儲裝置。其中,第一修正碼用于檢測寫入資料是否含有錯誤 位元,第二修正碼用于檢測及修正寫入資料的錯誤位元。采用本發(fā)明的非揮發(fā)性存儲裝置及其控制方法,當讀取小于快閃存儲器所定義的 一個區(qū)段資料時,通過額外增加一修復碼確定資料的正確性,從而提高資料的存取速度。


      圖1A、圖IB是表示現有技術小容量記憶體存儲資料于記憶區(qū)段的示意圖。圖2是表示現有技術大容量記憶體存儲資料于記憶區(qū)段的示意圖。圖3是表示本發(fā)明具體實施方式
      中存儲系統的架構示意圖。圖4是表示本發(fā)明一較佳實施例存儲資料于記憶區(qū)段的示意圖。圖5是表示本發(fā)明具體實施方式
      中寫入資料到存儲器的流程圖。圖6是表示本發(fā)明具體實施方式
      中從存儲器讀取小資料量的流程圖。圖7是表示本發(fā)明具體實施方式
      中從存儲器讀取大資料量的流程圖。
      具體實施例方式如圖3所示,非揮發(fā)性存儲裝置3包括連接介面35,用以電連接主機1 ;控制器 31及快閃存儲器33。控制器31中包括錯誤修復單元311,可根據控制器31所接收的資料 產生第一修正碼及第二修正碼。其中,第一修正碼可為循環(huán)冗余檢驗碼(CRC),第二修正碼 可為錯誤檢查和糾正碼(ECC)??扉W存儲器33包括存儲器陣列331及緩沖器333。主機1 傳送資料存取命令給存儲裝置3,存儲裝置3的控制器31通過連接介面35接收命令,然后 執(zhí)行命令。當控制器31接收到資料寫入命令時,通過連接介面35由主機端接收寫入資料,而 錯誤修復單元311根據寫入資料產生CRC碼及ECC碼,然后控制器31將寫入資料及CRC碼 及ECC碼傳送到快閃存儲器331上的緩沖器333,接著快閃存儲器再將緩沖器333中的資 料,以如圖4所示的資料結構,寫入存儲器陣列331中。其中CRC碼為根據每512字節(jié)資料 所產生,而ECC碼為根據每1024字節(jié)的區(qū)段資料產生,亦可更包括每512字節(jié)資料的CRC 碼來產生。由圖4中看到,本發(fā)明資料存儲方式為每512字節(jié)后紀錄一 CRC碼,而每1024字 節(jié)的資料提供ECC碼。例如,分別在512字節(jié)數據D0、D1后記錄其CRC碼C0、C1,并將數據DO,Dl的修復碼EOl記錄在D0、C0、D1、C1之后。藉此,當系統讀取512字節(jié)大小的資料時, 控制器則可先檢查該512字節(jié)資料與其CRC碼,若無發(fā)現錯誤,則可直接輸出該512字節(jié)的 資料,而無須讀取整個1024字節(jié)兩個區(qū)段(sector)的資料與其ECC碼,再以其ECC碼檢查 1024字節(jié)資料是否含有錯誤。而若檢查該512字節(jié)資料的CRC碼發(fā)現資料有錯誤,則控制器再讀取該1024字節(jié) 的資料區(qū)段(sector)中的另外512字節(jié)資料及其ECC碼,作錯誤修復的動作。于修復完成 后,再輸出該512字節(jié)的正確資料。而資料寫入及讀取的流程如圖5、圖6及圖7所示。接著參閱圖4及圖5,說明本發(fā)明資料寫入方法流程。非揮發(fā)性存儲裝置3接收主 機1傳來的資料寫入命令,其控制器31便準備接受主機1傳來的寫入資料Dn??刂破?1 將資料Dn暫存于資料緩沖器(步驟S101)并根據Dn產生一 CRC碼Cn (步驟S103),而Cn 為接著紀錄在Dn后面(步驟S105)。然后接收下一筆資料D (n+1),將Dn暫存于資料緩沖 器中,紀錄在Cn后,并根據D(n+1)產生一 CRC碼C(n+1),再將C(n+1)接著紀錄在D(n+1) 后面。此時,判斷存儲資料是否滿足ECC碼產生條件即包括數據Dn和D(n_l)的記憶區(qū) 段是否需要ECC碼保護(步驟S107)。當滿足ECC碼產生條件時,控制器可根據Dn及D (n-1) 或 Dn、Cn、D(n-l)及 C(n_l)來產生一 ECC 碼 E(n_l,n)(步驟 S109),并將 E(n_l,n)接著紀 錄在Cn后(步驟Sl 11),以保護Dn及D (n-1)或Dn、Cn、D (n_l)及C(n_l)的資料正確性。 然后控制器31再繼續(xù)接收下筆寫入資料,并重復上述流程產生各筆資料相對應的CRC碼及 ECC 碼(如圖 4 所示 D0、C0、D1、C1、E01、D2、C2、D3、C3、E23...)。當主機1傳送來的資料都已接收并處理完后(步驟S113),或資料尚未接收完, 但控制器31的資料緩沖器333中的資料已達到快閃存儲器33寫入資料的單位時(步驟 S123),便將處理好的寫入資料(已產生相對應的CRC及ECC碼)傳送到快閃存儲器33的 資料緩沖器333 (步驟S115或步驟S125),然后再將該些資料寫入快閃存儲器陣列331 (步 驟S117或步驟S127)(如圖4所示)。若資料尚未接收完,則控制器31繼續(xù)接收接下來的 寫入資料,并進行上述處理程序,以完成資料寫入動作。接著請參閱第4圖及第6圖,說明由非揮發(fā)性存儲裝置3中讀取資料D0,小于ECC 所保護的資料大小(D0+D1或D0+C0+D1+C1)的方法。非揮發(fā)性存儲裝置3收到主機1傳來 讀取資料DO的指令后,控制器31于快閃存儲器陣列331中讀取含有資料DO的記憶頁的資 料到快閃存儲器33的資料緩沖器333中(S201)。當然,承前述,該記憶頁的資料也包括DO 的CRC碼CO及ECC碼EOl (如圖4)。接著控制器31由快閃存儲器33的資料緩沖器333讀 取DO及C0,并暫存于控制器的資料緩沖器中(S203)。然后藉由CO檢查DO (步驟S205)是 否存有錯誤位元(步驟S207),若沒有發(fā)現錯誤位元,則直接輸出DO (步驟S125),而不像現 有技術(圖2)須讀取DO、Dl及EOl來偵測錯誤以輸出正確的D0,有效加快了資料讀取的 速度。若是CRC檢測發(fā)現DO存有錯誤位元,此時再由快閃存儲器33的資料緩沖器333中 讀取Dl及EOl至控制器的資料緩沖器(步驟S209)(或從快閃存儲器33內緩沖器中讀取 DLCl和EOl到控制器內的緩沖器中(如果EOl是通過計算D0,C0,D1,和Cl產生)),以執(zhí) 行錯誤位元的偵測及修復并判斷錯誤位元是否可修復(步驟S211)。若可修復,則執(zhí)行ECC功能修復該錯誤位元(步驟S213),且于修復后,輸出正確的數據DO (步驟S215);否則,報 告讀取錯誤(步驟S127)。接著請參閱第4圖及第7圖,說明由非揮發(fā)性記憶裝置3中讀取資料D0+D1,等于 ECC所保護的資料大小的方法。非揮發(fā)性記憶裝置3收到主機1傳來讀取資料D0+D1的 指令后,控制器于快閃存儲器陣列中讀取含有資料DO與Dl的記憶頁的資料到快閃存儲器 的資料緩沖器333中(步驟S301)。該記憶頁的資料為包括DO、Dl及EOl (如圖4)。接著 控制器由快閃存儲器的緩沖器讀取DO、Dl及E01,并暫存于控制器的資料緩沖器中(步驟 S303)。然后根據EOl針對DO及Dl執(zhí)行錯誤偵測及修復,執(zhí)行ECC功能(步驟S305),檢測 判斷數據DO,Dl是否含有錯誤位元(步驟S307),然后判斷資料中的錯誤位元是否可修復 (步驟S309)。若可修復,則修復資料D0,D1的錯誤位元(步驟S311)并于修復后,輸出DO 及Dl至主機1(步驟S313);否則,報告讀取錯誤。若數據DO,Dl不含錯誤位元,則直接輸 出數據DO和Dl (步驟S313)。由于大容量的快閃存儲器,單位存儲密度較高,所需的ECC強度也較高。例如,每 1024字節(jié)被要求需要24位的ECC修復能力。而若每512字節(jié)即提供一 ECC碼保護其資料 的可靠度,由于不能保證錯誤位元將平均分散于兩個512字節(jié)的區(qū)段(無法預設512字節(jié) 內僅出現12位的錯誤,有可能發(fā)生12位以上的錯誤),因此這樣將造成每1024字節(jié)所需要 的ECC碼位數將增加許多。假設每512字節(jié)提供16位的ECC修復能力(實際上采16位ECC仍有風險,亦即 于該512位仍有可能發(fā)生16位以上的錯誤),則每1024字節(jié)共需提供16*13*2 = 416位給 ECC碼使用。這樣的情形,ECC碼將占用冗余空間的許多位元,甚至有可能快閃存儲器的冗 余空間不夠存放這樣大的ECC碼。而本發(fā)明每512字節(jié)利用一 CRC碼檢查錯誤位元,則每 1024字節(jié)僅需提供4個組給CRC碼使用,再加上1024字節(jié)所需的ECC碼共24*13+8 = 320 位。綜上所述,本發(fā)明在使用每一組ECC碼保護資料區(qū)段長度大于512字節(jié)的快閃存 儲器時,可在針對讀寫較小的讀寫單位,亦即讀寫512字節(jié)沒有發(fā)生錯誤的情形下,藉由額 外增加CRC檢查碼確定資料正確性,而提高存取速度,同時確保適足的錯誤偵測與修復的 能力。惟,以上所述,僅為本發(fā)明的具體實施例的詳細說明及圖式而已,并非用以限制 本發(fā)明,本發(fā)明的所有范圍應以下述的申請專利范圍為準,任何熟悉該項技藝者在本發(fā) 明的領域內,可輕易思及的變化或修飾皆可涵蓋在以下本案所界定的專利范圍。例如, 以上是以快閃存儲器為例進行的說明,但本領域的普通技術人員可輕易想到的是,快閃 存儲器為非揮發(fā)性存儲器的一種,事實上,本發(fā)明也可應用于其他類型的非揮發(fā)性存儲 器,如 EPROM(ErasableProgrammable Read Only Memory,可抹除可編程只讀存儲器)、 EEPROM(ElectricalIyErasable Programmable Read Only Memory,電可抹除可編程只讀存 儲器)、PRAM (Phase-change Random Access Memory,相變化隨機存儲器)、MRAM (Magnetic RandomAccess Memory,磁性隨機存儲器)、FRAM(Ferroelectric Random Access Memory, 鐵電隨機存儲器)等。
      權利要求
      一種非揮發(fā)性存儲裝置,包括有一快閃存儲器和一控制器,該快閃存儲器由復數個記憶區(qū)段組成,其特征在于該控制器包括一錯誤修正單元,所述錯誤修正單元根據控制器所接收的寫入資料產生一第一修正碼和一第二修正碼,并由該控制器分別儲存該寫入資料、該第一修正碼和該第二修正碼于該快閃存儲器的該記憶區(qū)段;其中,該第一修正碼用于檢測該寫入資料是否含有錯誤位元,該第二修正碼用于檢測及修正該寫入資料的錯誤位元。
      2.如權利要求1所述的非揮發(fā)性存儲裝置,其特征在于該第一修正碼是依據每512字 節(jié)的寫入資料而產生。
      3.如權利要求1所述的非揮發(fā)性存儲裝置,其特征在于該第二修正碼是依據每1024字 節(jié)的寫入資料而產生。
      4.如權利要求1所述的非揮發(fā)性存儲裝置,其特征在于該第二修正碼是依據每1024字 節(jié)的寫入資料及對應的第一修正碼而產生。
      5.如權利要求1所述的非揮發(fā)性存儲裝置,其特征在于該第一修正碼為循環(huán)冗余檢驗 碼(CRC),該第二修正碼為錯誤檢查和糾正碼(ECC)。
      6.如權利要求1所述的非揮發(fā)性存儲裝置,其特征在于若讀取的寫入資料不大于512 字節(jié),該控制器僅需讀取該寫入資料及該第一修正碼,并使用該第一修正碼檢測該寫入資 料是否含有錯誤位元。
      7.如權利要求6所述的非揮發(fā)性存儲裝置,其特征在于若該第一修正碼未檢測出錯誤 位元,該控制器直接輸出該寫入資料,若該第一修正碼檢測出錯誤位元,該控制器使用該第 二修正碼修復該錯誤位元。
      8.如權利要求1所述的非揮發(fā)性存儲裝置,其特征在于若讀取的寫入資料大于512字 節(jié),該控制器需讀取該寫入資料、第一修正碼及第二修正碼,并使用該第二修正碼檢測該寫 入資料是否含有錯誤位元。
      9.如權利要求8所述的非揮發(fā)性存儲裝置,其特征在于若第二修正碼未檢測出錯誤位 元,該控制器直接輸出該寫入資料,若該第二修正碼檢測出錯誤位元,該控制器使用該第二 修正碼修復該錯誤位元。
      10.權利要求7或9所述的非揮發(fā)性存儲裝置,其特征在于若該第二修正碼不能修復該 錯誤位元,該控制器輸出讀取錯誤訊息。
      11.一種存取資料的控制方法,應用于非揮發(fā)性存儲裝置,其特征在于該控制方法包含 下列步驟接收寫入資料;依據所接收的寫入資料,產生一第一修正碼和一第二修正碼;及分別儲存該寫入資料、該第一修正碼和該第二修正碼于該非揮發(fā)性存儲裝置;其中,該第一修正碼用于檢測該寫入資料是否含有錯誤位元,該第二修正碼用于檢測 及修正該寫入資料的錯誤位元。
      12.如權利要求11所述的控制方法,其特征在于上述產生該第一修正碼的步驟,還包 含下列步驟依據每512字節(jié)的寫入資料,產生該第一修正碼。
      13.如權利要求11所述的控制方法,其特征在于上述產生該第二修正碼的步驟,還包 含下列步驟依據每1024字節(jié)的寫入資料,產生該第二修正碼。
      14.如權利要求11所述的控制方法,其特征在于上述產生該第二修正碼的步驟,還包 含下列步驟依據每1024字節(jié)的寫入資料及對應的第一修正碼,產生該第二修正碼。
      15.如權利要求11所述的控制方法,其特征在于該第一修正碼為循環(huán)冗余檢驗碼 (CRC),該第二修正碼為錯誤檢查和糾正碼(ECC)。
      16.如權利要求11所述的控制方法,其特征在于上述的控制方法還包含下列步驟 當讀取的寫入資料不大于512字節(jié)時,讀取該寫入資料及該第一修正碼;及 使用該第一修正碼檢測該寫入資料是否含有錯誤位元。
      17.如權利要求16所述的控制方法,其特征在于上述的控制方法還包含下列步驟 當該第一修正碼未檢測出錯誤位元時,直接輸出該寫入資料;及當該第一修正碼檢測出錯誤位元時,使用該第二修正碼修復該錯誤位元。
      18.如權利要求11所述的控制方法,其特征在于上述的控制方法還包含下列步驟 當讀取的寫入資料大于512字節(jié)時,讀取該寫入資料、第一修正碼及第二修正碼;及 使用該第二修正碼檢測該寫入資料是否含有錯誤位元。
      19.如權利要求18所述的控制方法,其特征在于上述的控制方法還包含下列步驟 當第二修正碼未檢測出錯誤位元時,直接輸出該寫入資料;及當該第二修正碼檢測出錯誤位元時,使用該第二修正碼修復該錯誤位元。
      20.權利要求17或19所述的控制方法,其特征在于上述的控制方法還包含下列步驟 當該第二修正碼不能修復該錯誤位元時,輸出讀取錯誤訊息。
      全文摘要
      本發(fā)明公開了一種非揮發(fā)性存儲裝置及其控制方法。該非揮發(fā)性存儲裝置包括快閃存儲器和控制器??刂破鲀仍O有錯誤修正單元,錯誤修正單元可根據控制器所接收的寫入資料產生第一修正碼和第二修正碼,并由控制器分別儲存該寫入資料、第一修正碼和第二修正碼于快閃存儲器的記憶區(qū)段內。其中,第一修正碼用于檢測寫入資料是否含有錯誤位元,第二修正碼用于檢測及修正寫入資料的錯誤位元。若第一修正碼檢測出寫入資料不含錯誤位元,控制器則直接輸出該寫入資料,從而加快寫入資料在非揮發(fā)性存儲裝置的讀取速度。
      文檔編號G06F12/00GK101908376SQ20091003379
      公開日2010年12月8日 申請日期2009年6月4日 優(yōu)先權日2009年6月4日
      發(fā)明者林傳生, 陳明達 申請人:威剛科技(蘇州)有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1