TW201337936A - 可提升資料校正能力之快閃記憶體裝置 - Google Patents
可提升資料校正能力之快閃記憶體裝置 Download PDFInfo
- Publication number
- TW201337936A TW201337936A TW101107447A TW101107447A TW201337936A TW 201337936 A TW201337936 A TW 201337936A TW 101107447 A TW101107447 A TW 101107447A TW 101107447 A TW101107447 A TW 101107447A TW 201337936 A TW201337936 A TW 201337936A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- area
- flash memory
- magnetic
- reserved
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明提供一種可提升資料校正能力之快閃記憶體裝置,包括一控制器及至少一具有一主區域及一保留區域之快閃記憶體,主區域包括複數個磁區,控制器在這些磁區當中設定至少一磁區為一輔助磁區,其餘各磁區分別設定為一用以儲存資料之資料磁區,輔助磁區輔助擴增保留區域之記憶空間,擴增後之保留區域根據資料磁區之數量切分成複數個保留空間,各保留空間分別配置於對應的資料磁區以記錄一校驗資料之錯誤校正碼,藉此,犧牲部分的主區域空間來擴大保留區域空間,將可以記錄編碼長度較長之錯誤校正碼,進而提升資料之校正能力。
Description
本發明有關於一種快閃記憶體裝置,尤指一種可提升資料校正能力之快閃記憶體裝置。
目前半導體製程技術的快速發展,快閃記憶體裝置的記憶容量相對地提升,而逐漸廣泛地使用在資料備份上。然,隨著快閃記憶體裝置容量增加,資料產生錯誤的可能性也跟著增加。就此,如何提升快閃記憶體裝置之資料可靠度一直是記憶體製造廠商所要解決的關鍵問題。
如第1A圖所示,為習用快閃記憶體裝置之快閃記憶體之資料結構示意圖。如圖所示,習用快閃記憶體裝置之快閃記憶體10之資料結構將以頁面(Page)為單位進行解說。
快閃記憶體10之資料結構包括一主區域(main area)11及額外配置一保留區域(spare area)13。主區域11包括有複數個資料磁區111,係以一8K位元組之頁面為例,若每一資料磁區111設計成1K位元組大小,則主區域11將會有八個資料磁區(1~N;N=8)111。保留區域13根據各資料磁區111之數量係將其記憶容量均分成複數個保留空間(spare space)131,例如:八個。
進一步參閱第1B圖,每一資料磁區111將會對應分配到一保留空間131。就以1K位元組資料磁區111為例,目前記憶體製造廠商之規格設計一般會配置La1長度(如32位元組)的保留空間131,而保留區域13之記憶空間將可為L1長度(如La1×8=256位元組)。該保留空間131主要用以存放錯誤校正碼(Error correction codes;ECC碼)。再者,可產生ECC碼的演算法有許多種,例如:BCH編碼、理徳‧馬勒編碼(Reed-Muller code)、理徳‧所羅門編碼(Reed-Solomon code)等等。藉由ECC碼進行資料校驗,將可對於各資料磁區111所儲存的資料進行容錯更正,而增加資料的可靠度。
早期快閃記憶體只能表示兩種狀態0與1之單層元件(single level cells;SLC)技術。為了提高記憶容量或存取速度,目前快閃記憶體以發展至多層元件(multi level cells;MLC)技術,並可表示四種以上的狀態(如00、01、10、11)。然而,對於多層元件之快閃記憶體發生錯誤資料的可能性比單層單元之快閃記憶體要高許多。在此,若要具備更多資料位元組之校正能力,相對地也要增加ECC碼之編碼長度才能達成。
以BCH編碼演算法為例,對於1K位元組之資料磁區111進行16位元組(BCH 16)之資料校正,大約需要28位元組之空間來記錄ECC碼,則目前配置La1長度(如32位元組)之保留空間131是足夠存放的。然,為了進一步提升資料磁區111之資料可靠度,要求ECC演算法具備更多資料位元組之校正能力時,如採用BCH 40,則目前配置La1長度(如32位元組)的保留空間131將不足以應付,如:執行BCH 40大約需要70位元組空間。
由此可見,以往快閃記憶體之資料校正能力,將會因為保留空間131之空間大小而受到限制。再者,保留空間131之容量空間也會因為記憶體製造廠商之規格限制而無法自行加大,使得快閃記憶體之資料可靠度無法有效提升,其產品品質一直受到消費者的質疑。
本發明之一目的,在於提供一種快閃記憶體裝置,其包括至少一快閃記憶體,快閃記憶體之中包括一用以儲存資料之主區域及一用以記錄校驗資料之保留區域,快閃記憶體裝置可將部份的主區域空間移轉作為保留區域空間,則原本保留區域空間將可因此擴增,如此,犧牲部分的主區域空間,將可提供更多的保留區域空間記錄編碼長度較長之錯誤校正碼,藉以提升資料的校正能力,增加快閃記憶體之資料可靠度。
本發明之一目的,在於提供一種快閃記憶體裝置,其多通道之多個快閃記憶體整合在一單一通道之快閃記憶體模組之中,以有效降低資料空間的損耗比例。
為了達到上述目的,本發明提供一種快閃記憶體裝置,包括:一控制器;及至少一快閃記憶體,包括:一主區域,包括複數個磁區,控制器在複數個磁區之中選擇設定至少一磁區為一輔助磁區,其餘各磁區分別設定為一資料磁區,各資料磁區用以儲存資料;及一保留區域,輔助磁區用以輔助擴增保留區域之記憶空間,擴增後之保留區域根據資料磁區之數量切分成複數個保留空間,各保留空間分別配置於對應的資料磁區以記錄一用以校驗儲存資料之錯誤校正碼。
本發明又提供一種快閃記憶體裝置,包括:一控制器;及至少一快閃記憶體模組,其整合有複數個快閃記憶體,快閃記憶體模組經由一通道與控制器進行溝通,快閃記憶體模組包括:一主區域,包括複數個磁區,其中控制器在複數個磁區之中選擇設定至少一磁區為一輔助磁區,其餘各磁區分別設定為一資料磁區,各資料磁區用以儲存資料;及一保留區域,輔助磁區用以擴增保留區域之記憶空間,擴增後之保留區域相對於各資料磁區之數量均分成複數個保留空間,各保留空間分別配置於對應的資料磁區且用以記錄與一錯誤校正碼。
本發明一實施例中,其中控制器利用一BCH編碼、一理徳‧馬勒編碼演算法(Reed-Muller code)、一理徳‧所羅門編碼演算法(Reed-Solomon code)或一可運算錯誤校正碼之演算法執行資料之容錯校正。
請參閱第2圖為本發明可提升資料校正能力之快閃記憶體裝置一較佳實施例之電路結構示意圖,並且一併參閱第3A圖及第3B圖分別為本發明快閃記憶體一較佳實施例之資料結構示意圖及資料磁區與其配置的保留空間之資料結構示意圖。
如圖所示,快閃記憶體裝置300包括一控制器20及至少一快閃記憶體30,各快閃記憶體30透過各自的通道301與控制器20進行資料傳輸。再者,本發明快閃記憶體30係以頁面(Page)為資料單位進行解說,其頁面大小亦可為1K、2K、4K、8K或16K位元組(Bytes)等等尺寸。
快閃記憶體之資料結構30包括一主區域(main area)31及一保留區域(spare area)33。主區域31包括複數個磁區(或稱為次頁面)311、313,本實施例係以一8K位元組頁面為例,若每一磁區311、313設計成1K位元組大小,則主區域31將會有八個磁區(1~N;N=8)311、313。再者,接續8k位元組頁面範例,一般記憶體製造廠商會額外配置L1長度(如32位元組×8=256位元組)之保留區域33。此額外配置的保留區域33之空間大小亦可隨著記憶體製造廠商之生產成本或製作規格而不同。
接續,本發明控制器20在這些磁區311、313之中選擇設定至少一磁區313為輔助磁區,則其餘各磁區311分別設定為資料磁區。資料磁區311用以儲存資料,而輔助磁區313用以輔助擴充原本保留區域33之記憶空間。
以本實施例為例,若設定一個磁區313為輔助磁區,其餘七個磁區311將設定為資料磁區。輔助磁區313輔助擴充原本保留區域33之記憶空間,則,保留區域330之記憶空間將從原本的L1長度擴增為L2長度(如256位元組擴增為1280位元組;256→256+1024=1280)。
擴增後之保留區域330根據資料磁區311之數量均分成複數個保留空間331,如:七個。每一資料磁區311對應配置的保留空間331為La2長度,其大約為182位元組(如1280÷7)。保留空間331主要用以存放用以校驗儲存資料之錯誤校正碼(Error correction codes;ECC碼)。本發明實施例中,產生ECC碼之演算法有很多種,例如:一BCH編碼演算法、一理徳‧馬勒編碼演算法(Reed-Muller code)、一理徳‧所羅門編碼演算法(Reed-Solomon code)或其他可運算ECC碼之演算法等等。
承上所述,擴增後的保留空間331將可以提供182位元組空間來記錄ECC碼。若採用BCH編碼演算法,並執行BCH 40演算程序,則目前182位元組的保留空間331是足夠存放資料校正必須記錄的ECC碼,如:執行BCH 40大約需要記錄70位元組。則,本發明快閃記憶體裝置300相較於一般快閃記憶體裝置將可以具備有更多資料位元組之校正能力。
就此,本發明快閃記憶體裝置300可將部份的主區域310之資料空間移轉作為保留區域330的記憶空間,則保留區域330之記憶空間將可因此擴增。如此,只要犧牲一些主區域310之資料空間,如:犧牲1/8之磁區,就可提供更多的保留空間331來記錄編碼長度較長之ECC碼,以提升資料之校正能力而增加快閃記憶體30之資料儲存上的品質及可靠度。
再者,在本發明之各實施例中,快閃記憶體30雖以8K位元組頁面及其1K位元組之次頁面(如磁區311/313)進行解說。然,實際應用時,也可設計在其他不同尺寸之頁面(如1K、2K、4K或16K位元組)上,且每一次頁面(磁區311/313)亦可設計成256位元組或其他記憶容量大小等等。此外,本發明另一實施例中,為了具備更多資料位元組之校正能力,也可選擇設定兩個數量以上之磁區313作為輔助磁區,以進一步擴大記錄ECC碼的空間331來提升資料校正的功效。
請參閱第4圖為本發明可提升資料校正能力之快閃記憶體裝置又一實施例之電路結構示意圖,並且一併參閱第5A圖及第5B圖分別為本發明快閃記憶體模組一實施例之資料結構示意圖及資料磁區與其配置的保留空間之資料結構示意圖。
上述實施例之快閃記憶體裝置300中,其各快閃記憶體30分別獨立且藉由各自對應的通道301與控制器20進行資料傳輸。而,本實施例之快閃記憶體裝置500中,係可進一步將多通道301之多個快閃記憶體30整合為一單通道351之快閃記憶體模組35,例如:兩個8位元通道301之快閃記憶體30整合成一16位元通道351之快閃記憶體模組35。
延續上例,本實施例之快閃記憶體30仍以一8K位元組頁面作為資料結構的基本單位,且每一磁區311、313設計成1K位元組大小。
快閃記憶體模組35包括一主區域36及一保留區域37。若快閃記憶體模組35係由兩個快閃記憶體30所整合而成,則主區域36將會包括有十六個磁區(1~2×N;N=8)311、313,而保留區域37之記憶空間為L3長度(如32位元組×16=512位元組)。
同樣的,控制器20在這些磁區311、313之中選擇設定至少一磁區313為輔助磁區,則其餘各磁區311分別設定為資料磁區。資料磁區311用以儲存資料,而輔助磁區313用以輔助擴充原本保留區域37之記憶空間。
以本實施例為例,若設定一個磁區313為輔助磁區,其餘十五磁區311將設定為資料磁區。輔助磁區313輔助擴充原本保留區域37之記憶空間,則,保留區域370之記憶空間將從原本的L3長度擴增為L4長度(如512位元組擴增為1536位元組;512→512+1024=1536)。
擴增後之保留區域370根據資料磁區311之數量均分成複數個保留空間371,如:十五個。每一資料磁區311對應配置的保留空間371為La3長度,其大約為102(1536÷15)位元組。擴增後的保留空間371將可以提供102位元組空間來記錄ECC碼。在此,102位元組的保留空間371仍然足以應付BCH 40演算程序必須記錄的ECC碼,如:執行BCH 40大約需要記錄70位元組。
由上所述,兩通道301之兩快閃記憶體30未合併之前分別會額外損失1/8之資料空間,其整合為一單一通道351之快閃記憶體模組35之後僅額外損失1/16之資料空間,相較之下可因此多出3/16的資料空間進行利用。在此,係將多通道301之多個快閃記憶體30進一步整合在一單一通道351之快閃記憶體模組35之中,將可有效降低快閃記憶體裝置500資料空間的損耗比例。
如此據以實施,本實施例多通道整合之快閃記憶體裝置500不僅仍可具備較多資料位元組之校正能力,且可避免為了提升資料校正之功效而犧牲太多的資料空間。
以上所述者,僅為本發明之一較佳實施例而已,並非用來限定本發明實施之範圍,即凡依本發明申請專利範圍所述之形狀、構造、特徵及精神所為之均等變化與修飾,均應包括於本發明之申請專利範圍內。
10...快閃記憶體
11...主區域
111...資料磁區
13...保留區域
131...保留空間
20...控制器
300...快閃記憶體裝置
30...快閃記憶體
301...通道
31...主區域
310...主區域
311...資料磁區
313...輔助磁區
33...保留區域
330...保留區域
331...保留空間
35...快閃記憶體模組
351...通道
36...主區域
360...主區域
37...保留區域
370...保留區域
371...保留空間
500...快閃記憶體裝置
第1A圖:習用快閃記憶體裝置之快閃記憶體之資料結構示意圖。
第1B圖:習用資料磁區與其配置的保留空間之資料結構示意圖。
第2圖:本發明可提升資料校正能力之快閃記憶體裝置一較佳實施例之電路結構示意圖。
第3A圖:本發明快閃記憶體一較佳實施例之資料結構示意圖。
第3B圖:本發明資料磁區與其配置的保留空間一較佳實施例之資料結構示意圖。
第4圖:本發明可提升資料校正能力之快閃記憶體裝置又一實施例之電路結構示意圖。
第5A圖:本發明快閃記憶體模組一實施例之資料結構示意圖。
第5B圖:本發明資料磁區與其配置的保留空間一實施例之資料結構示意圖。
30...快閃記憶體
31...主區域
310...主區域
311...資料磁區
313...輔助磁區
33...保留區域
330...保留區域
331...保留空間
Claims (4)
- 一種可提升資料校正能力之快閃記憶體裝置,包括:一控制器;及至少一快閃記憶體,包括:一主區域,包括複數個磁區,控制器在複數個磁區之中選擇設定至少一磁區為一輔助磁區,其餘各磁區分別設定為一資料磁區,各資料磁區用以儲存資料;及一保留區域,輔助磁區用以輔助擴增保留區域之記憶空間,擴增後之保留區域根據資料磁區之數量切分成複數個保留空間,各保留空間分別配置於對應的資料磁區以記錄一用以校驗儲存資料之錯誤校正碼。
- 如申請專利範圍第1項所述之快閃記憶體裝置,其中該控制器利用一BCH編碼演算法、一理徳‧馬勒編碼演算法(Reed-Muller code)、一理徳‧所羅門編碼演算法(Reed-Solomon code)或一可運算錯誤校正碼之演算法執行資料之容錯校正。
- 一種可提升資料校正能力之快閃記憶體裝置,包括:一控制器;及至少一快閃記憶體模組,其整合有複數個快閃記憶體,快閃記憶體模組經由一通道與控制器進行溝通,快閃記憶體模組包括:一主區域,包括複數個磁區,其中控制器在複數個磁區之中選擇設定至少一磁區為一輔助磁區,其餘各磁區分別設定為一資料磁區,各資料磁區用以儲存資料;及一保留區域,輔助磁區用以擴增保留區域之記憶空間,擴增後之保留區域相對於各資料磁區之數量均分成複數個保留空間,各保留空間分別配置於對應的資料磁區且用以記錄與一錯誤校正碼。
- 如申請專利範圍第3項所述之快閃記憶體裝置,其中該控制器利用一BCH編碼演算法、一理徳‧馬勒編碼演算法(Reed-Muller code)、一理徳‧所羅門編碼演算法(Reed-Solomon code)或一可運算錯誤校正碼之演算法執行資料之容錯校正。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101107447A TW201337936A (zh) | 2012-03-06 | 2012-03-06 | 可提升資料校正能力之快閃記憶體裝置 |
CN2012102806136A CN102819467A (zh) | 2012-03-06 | 2012-08-08 | 可提高数据校正能力的闪存装置 |
US13/786,503 US20130238842A1 (en) | 2012-03-06 | 2013-03-06 | Flash storage device with enhanced data correction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101107447A TW201337936A (zh) | 2012-03-06 | 2012-03-06 | 可提升資料校正能力之快閃記憶體裝置 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201337936A true TW201337936A (zh) | 2013-09-16 |
Family
ID=47303591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101107447A TW201337936A (zh) | 2012-03-06 | 2012-03-06 | 可提升資料校正能力之快閃記憶體裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130238842A1 (zh) |
CN (1) | CN102819467A (zh) |
TW (1) | TW201337936A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190009580A (ko) * | 2017-07-19 | 2019-01-29 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6961890B2 (en) * | 2001-08-16 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Dynamic variable-length error correction code |
US20070245061A1 (en) * | 2006-04-13 | 2007-10-18 | Intel Corporation | Multiplexing a parallel bus interface and a flash memory interface |
US7739576B2 (en) * | 2006-08-31 | 2010-06-15 | Micron Technology, Inc. | Variable strength ECC |
US8095851B2 (en) * | 2007-09-06 | 2012-01-10 | Siliconsystems, Inc. | Storage subsystem capable of adjusting ECC settings based on monitored conditions |
CN101872318B (zh) * | 2009-04-22 | 2012-10-24 | 群联电子股份有限公司 | 用于快闪记忆体的资料存取方法及其储存系统与控制器 |
US8307261B2 (en) * | 2009-05-04 | 2012-11-06 | National Tsing Hua University | Non-volatile memory management method |
JP5668279B2 (ja) * | 2009-08-06 | 2015-02-12 | ソニー株式会社 | 不揮発性ランダムアクセスメモリおよび不揮発性メモリシステム |
US20110072333A1 (en) * | 2009-09-24 | 2011-03-24 | Innostor Technology Corporation | Control method for flash memory based on variable length ecc |
CN102063342A (zh) * | 2010-12-28 | 2011-05-18 | 深圳市江波龙电子有限公司 | 一种闪存存储设备数据的管理方法及系统 |
-
2012
- 2012-03-06 TW TW101107447A patent/TW201337936A/zh unknown
- 2012-08-08 CN CN2012102806136A patent/CN102819467A/zh active Pending
-
2013
- 2013-03-06 US US13/786,503 patent/US20130238842A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN102819467A (zh) | 2012-12-12 |
US20130238842A1 (en) | 2013-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5540969B2 (ja) | 不揮発性メモリ装置、メモリコントローラ、およびメモリシステム | |
KR101659888B1 (ko) | 플래시 메모리 제어 방법, 제어기 및 전자 장치 | |
US9223648B2 (en) | Memory storage device, memory controller thereof, and method for processing data thereof | |
US8327230B2 (en) | Data structure for flash memory and data reading/writing method thereof | |
US8869007B2 (en) | Three dimensional (3D) memory device sparing | |
US9098445B2 (en) | Selection of redundant storage configuration based on available memory space | |
CN104347122B (zh) | 一种消息式内存模组的访存方法和装置 | |
CN102394114B (zh) | 具有自适应纠错能力的bch码纠错方法 | |
TW200846898A (en) | Method for writing data in flash memory and error correction coding/decoding method thereof | |
JP2015018451A (ja) | メモリコントローラ、記憶装置およびメモリ制御方法 | |
KR102254100B1 (ko) | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 | |
US9754682B2 (en) | Implementing enhanced performance with read before write to phase change memory | |
TWI591643B (zh) | 資料保護方法、記憶體控制電路單元與記憶體儲存裝置 | |
KR102347291B1 (ko) | Ssd에서의 결함 보호를 위한 메모리 다이 레이아웃 | |
CN116783654A (zh) | 自适应错误校正以提高系统存储器可靠性、可用性和可服务性(ras) | |
US10866855B2 (en) | Memory system varying operation of memory controller according to internal status of memory device | |
TW201337936A (zh) | 可提升資料校正能力之快閃記憶體裝置 | |
TW202038248A (zh) | 具糾錯電路的記憶體 | |
US11010291B2 (en) | Cold area determining method, memory controlling circuit unit and memory storage device | |
US9436547B2 (en) | Data storing method, memory control circuit unit and memory storage device | |
TWI431631B (zh) | 應用可變動錯誤更正碼容量的快閃記憶體控制方法 | |
KR101419335B1 (ko) | 멀티 레벨 셀 플래시 메모리의 페이지 단위 클러스터링 장치 및 방법 | |
JP2005011386A (ja) | 誤り訂正装置 | |
TWI738390B (zh) | 資料保護方法、記憶體儲存裝置及記憶體控制電路單元 |