TW201108238A - Control method for flash memory based on variable length ECC - Google Patents
Control method for flash memory based on variable length ECC Download PDFInfo
- Publication number
- TW201108238A TW201108238A TW98127790A TW98127790A TW201108238A TW 201108238 A TW201108238 A TW 201108238A TW 98127790 A TW98127790 A TW 98127790A TW 98127790 A TW98127790 A TW 98127790A TW 201108238 A TW201108238 A TW 201108238A
- Authority
- TW
- Taiwan
- Prior art keywords
- length
- flash memory
- error correction
- channel
- code
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
201108238 六、發明說明: 【發明所屬之技術領域】 本發明係關於一種快閃記憶體控制技術,尤指一種應 用可變動錯誤更正碼容量的快閃記憶體控制方法,於快閃 §己憶體中針對不同通道設定相異長度之錯誤更正碼(ECC), 以提高錯誤更正能力。 【先前技術】 决閃記憶體為類似E E P R 〇 Μ的結構,因為半導體設 計的原因’有一定的錯誤機率,所以使用錯誤更正碼(Err〇r Correction Code’ ECC)來糾正發生錯誤的資料。 錯誤更正的能力及快閃記憶體内用以管理資料的空間 大小取決於ECC的容量,習知技術乃以一個最大允許容 量的ECC來實現錯誤更正的功能,所以所有資料的錯誤 更正能力皆為相同。 • 請參考第四圖所示,為4K的資料頁(page)在不同通道 下官理資料的長度和ECC長度的關係,若採用BCH(Bose, Kay_Chaudhurj,Hocquenghem)理論所推算出來的 ECC 容 里’允許在資料區域(data area)内產生8個位元(bit)的錯 誤’在此8個bit的錯誤更正能力下,需要用到13個位元 組的容量。 般而s ’採用上述固定式E C C設計的快閃記憶體 控制器’無法充分使用大資料頁(data page)型的快閃記憶 體(例如8K page)容量》 201108238 【發明内容】 有鑑於現有快閃記憶體當中的錯誤更正碼(ECC)及管 理資料設計均採固定長度,無法有效提高錯誤更正能力及 善用大型資料頁。本發明之主要目的係、提供-種可變動錯 誤更正碼容量的快閃記憶體控制技術,係對不同通道設定 -有不同長度之錯誤更正碼(Ecc),使整體快閃記憶體之 錯誤更正能力得以有效提升。
為達成刖述目的,本發明應用可變動錯誤更正碼容量 的快閃記憶體控制方法,係包含有以下步驟: 首先根據- 貝料頁的容量及第一管理用資料的長度, 於快閃記憶體的第一通道中’預設定具有第一長度之錯誤 更正碼且根據該貧料頁的容量及第二管理用資料的長 度’於快閃記憶體的第二通道中,預設定具有第二長度之 錯誤更正碼; β接著,檢查目前所欲存取的通道是否為第一通道,若 是,則將第一通道的錯誤更正碼長度設定為第一長度;若 否則將第二通道的錯誤更正碼長度設定為第二長度。 ▲藉由上述方法,通道1卩後之錯誤更正碼長度可被提 问,本發明在採用不同容量的錯誤更正碼(Ecc)後可提 高錯誤更正效能。 【實施方式】 NAND快閃記憶體的架構是由多個資料頁(page)組 成每個資料頁包含data及spare兩區域,故每個資料 頁的大小為(512 + 16)xN ’其中N代表-個資料頁中所對應 201108238 的磁區數目,例如2K資料頁的快閃記憶體,其N為4,4Κ 資料頁的Ν = 8,目前NAND快閃記憶體之資料頁大致上可 分成512、2K、4K、8K bytes等數種規格,然後由64個 或128個資料頁組成一個區塊(b|〇Ck)。 在快閃記憶體不同應用的區塊(bl〇ck)及不同的通道 中,所而要的官理容量也不同。一般而言,2K資料頁的快 閃記憶體中,其spare區域大小為16χ4 = 64個位元組。若 配合以BCH理論所推算出來的8個位元更正能力,錯誤 更正碼(ECC)所佔用的大小為13χ4 = 52個位元組,所以只 允許管理資料長度為64-52 = 12個位元組。 本發明之控制方法係於快閃記憶體中的第一通道中, 根據資料頁容量及第一管理用資料的長度,設定具有第一 長度之錯誤更正碼; 於快閃記憶體中的第二通道中,根據資料頁容量及第 二管理用資料的長度,設定具有第二長度之錯誤更正碼; 設定該第一長度之錯誤更正碼及第二長度之錯誤更正 碼分別具有不同之識別碼,其中,第—長度小於第二長度, 以下係配合圖式加以詳細說明。 請參考第-圖所示,α2Κ容量的資料頁為範例說明, 依據本發明之技術,快閃記憶體控制器於管理快閃記憶體 時,在通道0上會放置完整的管理資料,以便在讀取時能 一次讀出所需的管理資料’因此將通道〇的錯誤更正碼(ECC) 定義為52 bytes、管理用資料長度定義為12 bytes;但自 通道1以後’所需要的管理資料量縮減到約4 bytes,換言 之可供存放錯誤更正碼(ECC)的空間為便可提高為64_4 = 6〇 201108238 bytes ° 本發明即是對通道〇與其它通道分別指定不同長度的 錯誤更正碼及管理資料,使各通道能獲得更多位元組的錯 誤更正碼’藉此提升資料更正的能力。請參考第二圖所示, 當本發明應用於4K資料頁的快閃記憶體時,通道〇具有 3x8 bytes的管理用資料,而錯誤更正碼的長度為 bytes,通道i以後之管理資料縮減成2χ8 bytes,故有更 多空間存放錯誤更正碼’錯誤更正碼之長度提高為ΐ4χ8 bytes。本發明可以在不同的通道上採用不同容量的錯誤更 正碼(ECC),藉此提高錯誤更正效能。發生錯誤的通道是 隨機的’所以平均來說整體效能會較固定式的要高。 為了辨識不同長度的錯誤更正碼(ECC)以利於讀取, 所以本發明於錯誤更正碼當中係加入一識別碼,該識別碼 存放在固疋位置以快速被讀出。較佳位置為錯誤更正碼 的最前一個位元組或最後一個位元組。 為加速決疋錯誤更正碼更正能力的設定,可以設定一 套規則來決定不同通道不同區塊上的更正能力,舉例來 說’該規則可為:將系統的區塊(B|〇ck)分為Data block、 Temp block、|nf0 b|0ck等不同種類,每種區塊各給予一 個ID。於Data block中又可分為「通道〇」及「非通道〇 之其餘通道」兩種’對應到的錯誤更正碼(ECC)可分成兩 種形式’分別是ECC0及ECC1,其中: ECC0 :係指定用於 Temp block、通道◦的 data block 和 Info block。 ECC1:係指定用於通道1以後的如仏block。故讀取 201108238 識別碼後就可決定為ECCO或ECC1其中一種。 請參考第三圖所示,為依據本發明之實施例,當要存 取(例如寫入或讀出)多通道的快閃記憶體之前,可經由以 下步驟對快閃記憶體控制器設定其更正位元數: 首先’根據資料頁的容量及管理資料的長度決定ECc〇 及ECC1的長度(步驟300),例如,在4K資料頁的快閃記 憶體内,ECC0的長度為13x8 bytes,ECC1的長度為 x8 bytes ; 接著,對快閃記憶體進行存取,本實施例中以讀/寫 為存取動作進行說明(步驟301); 然後’判斷是否為資料區塊(Data block)(步驟302), 若是則執行下一步驟(步驟303),若否則執行步驟3〇4 ; 接著,檢查目前所欲讀寫的通道是否為通道〇(步戰 303),若是則設定為ECC0(步驟304),若否則設定為 ECC1 ; 最後’判斷是否為寫入動作(步驟305),若為寫入, 則配合ECC0或ECC1填入管理用資料至Spare區域並結 束寫入動作;若否,則自Spare區域讀取管理資料,配合 ECC0或ECC1分析管理資料並結束讀取動作。 本發明之技術在較小的資料頁上具有相當明顯的效 果,當應用於大資料頁的快閃記憶體時,此技術更能發揮 大資料頁快閃記憶體的優勢。相對於傳統固定長度錯誤更 正碼的作法,本發明針對不同通道、不同資料頁長度的快 閃記憶體搭配不同的ECC更正設定的方法,在資料儲存 的安全性上遠高於固定式的,亦不受最小資料頁的快閃記 .201108238 憶體而有限制錯誤更正碼ECC能力的問題。 【圖式簡單說明】 第一圖:為依據本發明技術,2K資料頁於不同通通下, 管理資料長度和ECC碼長度的關係系意圖》 第一圖.為依據本發明技術,4Κ資料頁於不同通通下’ 管理資料長度和ECC碼長度的關係系意圖。 第三圖:為依據本發明對多通道的快閃記憶體設定其 更正位元數之步驟流程圖。 第四圖:為習知4Κ資料頁於不同通通Τ,管理資料 長度和ECC碼長度的關係示意圖。 【主要元件符號說明】
Claims (1)
- 201108238 七、申請專利範圍: 1·一種應用可變動錯誤更正碼容量的快㈣憶體控制 方法,包含: 一根據-快閃記憶體内,—資料頁的容量及^第一管理 用資料的長度,於該快閃記憶體的一第—通道[預設定 具有一第一長度之錯誤更正碼; 二管理用資料的長度,於 預設定具有一第二長度之根據該資料頁的容量及一第 該快閃記憶體的一第二通道中, 錯誤更正碼; 第一通道; 碼長度設定為該第 檢查目前所欲存取的通道是否為該 若是,則將該第一通道的錯誤更正 長度;以及 碼長度設定為該第 若否,則將該第二通道的錯誤更正 —長度0容量 第一 2·如申請專利範圍帛彳項所述應用可變動錯誤 的快閃記憶體控制方法,更包括下列步騾:、 根據所儲存資料的種類,於該快閃記憶體中, 種類區塊及一第二種類區塊; 更正碼 設定一 其中,該第 長度。 一種類區塊的錯誤更正容 第 容 曰3_如申請專利範圍第2項所述應用可變動 夏的快閃記憶體控制方法,其中,位於該第—、、、碼 二種類區塊的錯誤更正碼長度等於該第一長声通道的該 4·如申請專利範圍第3項所述應用可變動 量的快閃記憶體控制方法’其中,位於’曰誤更正碼 ' 弟二捅法a h 201108238 第一種類區塊的錯 、更正碼長度等於該第二長度。 …的I·/ Μ專利範1項所述應用可變動錯誤更正溫 谷里的快閃記憶體控制方法,更包括下列步帮:碼 在該第一長度之錯誤更正 及 乐識別碼;以 在該第二長度之錯誤更正 6.如申_衷剎铲 一第二識別碼。 月 &圍第5項所述應用可變動錯誤争 容量的快閃記憶體控制方法,其中該第一及該第a二正碼 係分別位於該第一長度 ° 一識別碼 一個位元組或最後二長度的錯誤更正碼的最前 7’如申清專利範圍笛 第1項所述應用可變動錯誤 容量的快閃記憶體控制方 -、更正碣 去 更包括下列步驟: 在通道的錯誤更正碼長度設定完成之後,根 記憶體的存取動作,若為$ 根據該快閃 存取該第一管理用資料;以及 弟通道中, 在通道的錯誤更正* 印情體的存取Μ戈設定完成之m,根據該快閃 記隐體的存取動作’若為該第- 存取該第二管理用資料。通道,則在該第二通道中, ㈣_帛i項所述應 容量的快閃記憶體控制方法受動錯誤更正竭 第一長度。 其中,該第二長度係大於該 八、圖式:(如次頁) 10
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98127790A TWI431631B (zh) | 2009-08-19 | 2009-08-19 | 應用可變動錯誤更正碼容量的快閃記憶體控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98127790A TWI431631B (zh) | 2009-08-19 | 2009-08-19 | 應用可變動錯誤更正碼容量的快閃記憶體控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201108238A true TW201108238A (en) | 2011-03-01 |
TWI431631B TWI431631B (zh) | 2014-03-21 |
Family
ID=44835575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW98127790A TWI431631B (zh) | 2009-08-19 | 2009-08-19 | 應用可變動錯誤更正碼容量的快閃記憶體控制方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI431631B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI550624B (zh) * | 2014-12-16 | 2016-09-21 | Memory data control method |
-
2009
- 2009-08-19 TW TW98127790A patent/TWI431631B/zh active
Also Published As
Publication number | Publication date |
---|---|
TWI431631B (zh) | 2014-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5553309B2 (ja) | データ処理装置 | |
KR101659888B1 (ko) | 플래시 메모리 제어 방법, 제어기 및 전자 장치 | |
US9116823B2 (en) | Systems and methods for adaptive error-correction coding | |
US9984771B2 (en) | Multi-level raid-type encoding with random correction capability | |
JP5569936B2 (ja) | 制御装置およびデータ記憶装置 | |
CN106415502B (zh) | 数据存储的方法和装置 | |
US20150067436A1 (en) | Nonvolatile Memory System Compression | |
TWI389127B (zh) | 快閃記憶體的配置方法 | |
CN103513937B (zh) | 能够增加其生命周期的存储设备及其操作方法 | |
TW201545167A (zh) | 在非揮發性記憶體中處理錯誤更正碼的方法及其非揮發性儲存裝置 | |
JP2010218634A (ja) | 誤り検出訂正器、メモリコントローラおよび半導体記憶装置 | |
US9519541B2 (en) | Data storage device and data checking and correction for volatile memory | |
US11232821B2 (en) | Memory system | |
US10055284B2 (en) | Systems and methods for providing error code detection using non-power-of-two flash cell mapping | |
US9552163B1 (en) | Systems and methods for providing non-power-of-two flash cell mapping | |
TW201913382A (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
US9754682B2 (en) | Implementing enhanced performance with read before write to phase change memory | |
US9680509B2 (en) | Errors and erasures decoding from multiple memory devices | |
US9594629B2 (en) | Data error correction from cached error correction information | |
TWI732642B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
US10942805B2 (en) | Error correcting circuit performing error correction on user data and error correcting method using the error correcting circuit | |
TW200301486A (en) | Write-once memory device including non-volatile memory for temporary storage | |
TW201828069A (zh) | 記憶體裝置、記憶體系統及其操作方法 | |
TW201108238A (en) | Control method for flash memory based on variable length ECC | |
US9160371B2 (en) | Memory controller, storage device and memory control method |