TWI484342B - 記憶體系統及記憶體控制器 - Google Patents

記憶體系統及記憶體控制器 Download PDF

Info

Publication number
TWI484342B
TWI484342B TW101106418A TW101106418A TWI484342B TW I484342 B TWI484342 B TW I484342B TW 101106418 A TW101106418 A TW 101106418A TW 101106418 A TW101106418 A TW 101106418A TW I484342 B TWI484342 B TW I484342B
Authority
TW
Taiwan
Prior art keywords
data
memory
page
input data
mlc
Prior art date
Application number
TW101106418A
Other languages
English (en)
Other versions
TW201243603A (en
Inventor
Haruki Toda
Original Assignee
Toshiba Kk
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Kk filed Critical Toshiba Kk
Publication of TW201243603A publication Critical patent/TW201243603A/zh
Application granted granted Critical
Publication of TWI484342B publication Critical patent/TWI484342B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

記憶體系統及記憶體控制器
實施形態係關於一種記憶體系統及記憶體控制器。
本專利申請案以日本專利申請案第2011-48533號(申請日期:2011年3月7日)為基礎並主張其優先權,該申請案之全文以引用的方式併入本文中。
作為可記憶大容量之資料之記憶體系統,容易實現三維化之變阻式記憶體(ReRAM:Resistance RAM(Resistance Random Access Memory,變阻式隨機存取記憶體))等受到關注。又,作為用以記憶大容量之資料之技術,並不限定於使用如ReRAM般之特定之記憶單元之情形,亦可列舉記憶單元之多值化。該技術例如可見於NAND快閃記憶體中。
如此,於使記憶單元多值化之情形時,因容易產生資料之錯誤,故而對資料進行錯誤之檢測、校正成為必需之技術。因此,至目前為止提出有一種搭載有各種錯誤檢測、校正系統之記憶體控制器。
於使用該等記憶體控制器構築記憶體器件時,於可判別記憶體控制器之處理內容之情形時,就記憶體系統整體之可靠性、資料處理之高效化、記憶體系統之擴充性之方面而言較為有效。
本發明之實施形態提供一種可進行處理內容之判別之記 憶體系統及記憶體控制器。
實施形態之記憶體系統之特徵在於包括:記憶體器件,其包含記憶使同位檢查資訊附加於來自外部之輸入資料之記憶資料之複數個記憶單元;及記憶體控制器,其進行上述輸入資料與上述記憶資料間之轉換;且,與上述記憶資料中所包含之上述輸入資料對應之資訊資料相對於上述輸入資料處於非線性之關係。
根據本發明之實施形態,可提供一種可進行處理內容之判別之記憶體系統及記憶體控制器。
以下,一面參照圖式一面對實施形態之記憶體系統及記憶體控制器進行說明。
[記憶體系統之概要]
首先,對實施形態之記憶體系統之構成簡單地進行說明。
圖1係實施形態之記憶體系統之方塊圖。該記憶體系統包括記憶體器件100及記憶體控制器200。
記憶體器件100例如可利用使用有可進行多位元記憶之記憶單元(Multi-Level Cell,多層單元,以下稱為「MLC」)之NAND快閃記憶體(以下稱為「MLC NAND快閃記憶體」)。再者,以下主要對使用MLC NAND快閃記憶體作為記憶體器件100之實施形態進行說明,但記憶體器件100並不限定於此。又,有時亦將控制MLC NAND快閃記憶體之記憶體控制器、亦包括本實施形態之記憶體控 制器200稱為「MLC NAND控制器」。記憶體控制器200包括「二進制p進位解碼」電路區塊210、「李度量代碼ECC(error correcting code,錯誤校正碼)系統」電路區塊220、「p進位<>MLC二進制映射」電路區塊230、2個頁面緩衝器群240a及240b(緩衝暫存器)、「控制」電路區塊250以及「p進位二進制解碼」電路區塊260。再者,關於頁面緩衝器群,於並非指特定之頁面緩衝器群之情形時,有時亦簡稱為「頁面緩衝器群240」。
該記憶體系統中之資料寫入之流程如下。
首先,輸入至MLC NAND控制器200(記憶體系統)之二進制資料藉由「二進制p進位解碼」電路區塊210而實現p進位數化(p為質數),從而輸入至「李度量代碼ECC系統」電路區塊220。
繼而,輸入至「李度量代碼ECC系統」電路區塊220之p進位數資料藉由「李度量代碼ECC系統」電路區塊220而轉換為用以進行ECC處理之李度量代碼。
最後,該李度量代碼由「p進位<>MLC二進制映射」電路區塊230進行映射、以能夠保存於MLC NAND快閃記憶體100中後,經由頁面緩衝器240而傳輸並記憶至MLC NAND快閃記憶體100中。
又,該記憶體系統中之資料讀出之流程如下。
首先,自MLC NAND快閃記憶體100中讀出之李度量代碼傳輸至MLC NAND控制器200之頁面緩衝器群240a或240b。
繼而,傳輸至頁面緩衝器群240a或240b之李度量代碼由「p進位<>MLC二進制映射」電路區塊230進行映射,以能夠以「李度量代碼ECC系統」電路區塊220進行處理。其後,該李度量代碼輸入至「李度量代碼ECC系統」電路區塊220。
繼而,輸入至「李度量代碼ECC系統」電路區塊220之李度量代碼於在此處接受ECC處理後轉換為p進位數資料後,輸入至「p進位二進制解碼」電路區塊260。
最後,輸入至「p進位二進制解碼」電路區塊260之p進位數資料於此處轉換為二進制資料,而自MLC NAND控制器200(記憶體系統)輸出。
以上之資料寫入及資料讀出之一系列之動作由自外部之CPU(Central Processing Unit,中央處理單元)收到命令之「控制(control)」電路區塊250控制。
以上為本實施形態之記憶體系統之簡單之概要,以下對本記憶體系統詳細地進行說明。
首先,以使用有16值之MLC的MLC NAND快閃記憶體為例對MLC之階層與MLC NAND快閃記憶體之頁面之對應關係進行說明之後,對作為本實施形態之MLC NAND控制器200之資料處理之要點的ECC進行說明。
於使用16值之MLC之情形時,,每1單元可記憶4位元之二進制資料。關於4位元之二進制資料與MLC之位準之對應之建立,考慮有各種模式,但此處考慮利用格雷碼(Gray code)之情況。如此藉由利用格雷碼,可以鄰接位準 間之變化成為4位元中之僅1位元之變化之方式使二進制資料與MLC之位準建立對應。4位元之二進制資料成為分別不同之頁面<0>~<3>之構成要素。
例如於對自MLC之最低之位準至最高之位準為止附上0~15之編號之情形時,與MLC之位準對應之頁面<0>~<3>之各位元如圖2所示。於該情形時,頁面<0>之位元p0 、頁面<1>之位元p1 、頁面<2>之位元p2 、及頁面<3>之位元p3 如數式1所示分別由以2進位數表示MLC之位準之值L的各位數B0 、B1 、B2 、及B3 之二進制函數P0 、P1 、P2 、及P3 決定。
[數式1]L=B0 20 +B1 21 +B2 22 +B3 23 p0 =P0 (B0 ,B1 ,B2 ,B3 ) p1 =P1 (B0 ,B1 ,B2 ,B3 ) p2 =P2 (B0 ,B1 ,B2 ,B3 ) p3 =P3 (B0 ,B1 ,B2 ,B3 )
尤其係,於利用格雷碼之情形時,對於L之1之變化,以p0、p1、p2、及p3中之任一者變化之方式進行代碼化。又,一般而言,L之任何變化均可以各頁面之位元p0~p3之變化表示。因此,於可以4個頁面<0>~<3>之各個進行1位元之錯誤檢測、校正之情形時,可對與於1個MLC中產生之位準變化相關之所有錯誤進行處理。進而,於假定MLC之位準變化僅產生於鄰接位準間之情形時,可藉由對任一頁面的1位元之修正進行錯誤檢測、校正。因此,於可針對每個頁面分別獨立地進行1位元之錯誤檢測、校正之情 形時,可與獨立之4個MLC對應。
根據以上內容,針對每個頁面進行1位元之錯誤檢測、校正之方法為可對在MLC中產生之任何錯誤進行處理之強有力之方法。
然而,鑒於在MLC中產生之幾乎所有錯誤係於鄰接位準間產生之方面,如上所述之錯誤檢測、校正之方法進行過剩之錯誤對應,相應地處理錯誤檢測、校正通常所不需要之較多之資訊,故而效率不高。
其次,考慮本實施形態之記憶體系統中之錯誤檢測、校正之效率,作為其前提,對使用有二進制線性碼之ECC進行說明。此處,作為二進制線性碼之例,使用里德-索洛蒙碼(Reed-Solomoncode)及BCH(Bose-Chadhuri-Hocquenhem,博斯-喬赫里)碼。
再者,里德-索洛蒙碼及BCH碼均為伽羅華域GF(Galois field)(2m )上之代碼體系。其中,里德-索洛蒙碼為以m位元表現代碼之各成分之符號,使用有里德-索洛蒙碼之ECC以該符號之錯誤為對象。另一方面,BCH碼係各位元為代碼之成分,使用有BCH碼之ECC以位元錯誤為對象。
以下,有時將搭載有使用有此種二進制線性碼之ECC系統的記憶體控制器稱為「二進制線性控制器」。相對於此,如本實施形態中利用之李度量代碼般,有時亦將搭載有使用有伽羅華域GF(p)(p為質數)上之代碼體系之ECC系統的記憶體控制器稱為「p進位控制器」。
首先,對自二進制資料朝里德-索洛蒙碼之編碼方法進 行說明。
於將GF(2m )之1個原始根設為α之情形時,生成多項式g(X)如數式2所示般構成為以2t個αm0+i (m0=0或1,i=0~2t-1)為根之多項式。
[數式2]g(X)=(X+αm0 )(X+αm0+1 )(X+αm0+2 )…(X+αm0+2t-1 )=g0 +g1 X+g2 X2 +…+g2t-1 X2t-1 +X2t
此處,α為m位元之符號、GF(2m )之原始根,且為m次之GF(2)上之不可約多項式M1 (X)之根。g(x)之係數g為m位元之符號。又,t為可校正錯誤之最大符號數。自除零元以外之GF(2m )之要素之總數n=2m -1減去2t所得之數k為可任意設定之資料之符號。
該資料之符號於在二進制下考慮之情形時成為mk位元之長度,表示資料的k-1次之多項式u(X)如數式3所示。
[數式3]u(X)=u0 +u1 X+u2 X2 +…+uk-1 Xk-1 ,n=2m -1,k=n-2t
若根據該等多項式g(X)、u(X)如數式4所示般求出2t-1次之剩餘多項式v(X),則該等係數符號v成為代碼之同位之符號。
[數式4]v(X)=X2t u(X)(mod g(x))=v0 +v1 X+v2 X2 +…+V2t-1 X2t-1
如數式5所示,可藉由表示資料之多項式u(X)之係數符號u與表示同位之多項式v(X)之係數符號v之合計n個符號而構成表示里德-索洛蒙碼之多項式t(X)。即,里德-索洛蒙碼直接反映資料之符號。
[數式5]t(X)=X2t u(X)+v(X)
除以上以外,根據資料之符號生成同位之符號而構成里德-索洛蒙碼之方法雖存在若干變化,但相對於資料之符號,與里德-索洛蒙碼中所包含之資料對應之部分處於線性關係。因此,以二進制表示資料之符號之情形時之符號之和可表示為與里德-索洛蒙碼中所包含之資料對應之部分之和。
繼而,對自二進制資料朝BCH碼之編碼方法進行說明。
於將GF(2m )之1個原始根設為α,且將以α、α3 、...、α2t-1 為根之m次之不可約多項式分別設為M1 (X)、M3 (X)、...、M2t-1 (X)之情形時,生成多項式g(X)如數式6所示構成為t個m次之不可約多項式之乘積之多項式。
[數式6]g(X)=M1 (X)M3 (X)…M2t-1 =1+g1 X+g2 X2 +…+gmt-1 Xmt-1 +Xmt
此處,g(X)之係數M為0或1,可以1位元表示。又,t為可校正錯誤之位元數。自除零元以外之GF(2m )之要素之總數n=2m -1減去mt所得之數k為可任意設定之資料之位元。
該資料之位元成為k位元之長度,表示資料之位元的k-1次之多項式u(X)如數式7所示。
[數式7]u(X)=u0 +u1 X+u2 X2 +…+uk-1 Xk-1 ,k=n-mt
若根據該等多項式g(X)、u(X)如數式8所示般求出mt-1次之剩餘多項式v(X),則該等之係數成為BCH碼之同位之位元。
[數式8]v(X)=Xmt u(X)(mod g(x))=v0 +v1 X+…+vmt -1 Xmt-1
如數式9所示,可藉由表示資料之多項式u(x)之係數位元u與表示同位之多項式v(X)之係數位元v之合計n個位元而構成表示BCH碼之多項式t(X)。即,BCH碼直接反映資料之位元。
[數式9]t(X)=Xmt u(X)+v(X)
於BCH碼之情形時,亦與里德-索洛蒙碼相同,資料之位元之和可表示為與BCH碼所包含之資料對應之部分之和。
其次,對藉由使用有BCH碼之ECC進行位元修正之方法進行說明。此處,對利用NAND快閃記憶體所具有之頁面緩衝器之方法進行說明。
圖3係表示構成頁面、資料之MLC之一部分及與其對應之頁面緩衝器之部分之圖。1個MLC之位準與頁面之位元之對應之建立雖已示於圖2,但亦於圖3中進行放大表示。圖3所示之頁面緩衝器之部分為與所謂的區段(Sector)對應地成為資料處理之1個批量之部分。於圖3之情形時,1頁面係由512位元組之MLC構成。
由於該例之MLC NAND快閃記憶體與16值之MLC對應,故而相對於512位元組之MLC而設置4序列之頁面緩衝器。該等4序列之頁面緩衝器與合計為512位元組個之記憶單元對應。
此處,以此種構成之MLC NAND快閃記憶體為對象,而對使比較例之二進制線性控制器之特徵發揮作用之記憶體系統進行研究。
由於512位元組為212 位元,故而二進制線性控制器中之ECC之處理利用GF(213 )。其原因在於:於利用GF(212 )之情形時無法構成進行附加之同位位元。
於利用GF(213 )之情形時,1位元之錯誤校正所需之核對位元成為13位元。t位元(t為1以上之整數)之錯誤校正所需之每個頁面緩衝器之位元數為資料之512位元組與核對位元之13t位元組之和。因此,作為可處理512位元組之資料者可容易地擴充之校正位元數t必需滿足不等式212 +13t≦213 。若以此方式構成,則於使用格雷碼之情形時,於假定於MLC中僅產生鄰接位準間之錯誤之情形時,可修正512位元組+13t個中之4t個MLC。於以此方式構成之 圖3所示之例中,進而亦可修正於t個MLC中產生之任何錯誤。
然而,如上所述,若著眼於MLC中產生之錯誤多係於鄰接位準間產生之方面,則如圖3所示之構成可認為係對錯誤之過剩之保證。即,對頁面緩衝器之資料之ECC相對於NAND快閃記憶體之MLC之不良之產生方式而過剩,以與其相當之量同位部分格外地變大。
因此,本實施形態中,為削減以上過剩之保證而利用使用有李度量代碼之ECC。於該情形時,可藉由僅與MLC之鄰接位準程度之錯誤對應而削減同位部分。又,於使用相同大小之同位部分之情形時,可增加可進行校正之單元數。
本實施形態之記憶體控制器200利用李度量代碼進行ECC之處理。另一方面,該記憶體控制器200中,由於與先前之MLC NAND快閃記憶體對應,故而可將李度量代碼之各符號轉換為與MLC之位準對應之數值。進行該轉換者為圖1所示之「p進位<>MLC二進制映射」電路區塊230。
那麼,其次對該「p進位<>MLC二進制映射」電路區塊230之功能進行說明。此處,對使用有16值之MLC之例進行說明。
具體而言,「p進位<>MLC二進制映射」電路區塊230進行MLC NAND快閃記憶體100之頁面緩衝器、與p進位控制器200之頁面緩衝器群240之位址之映射。
映射係自決定MLC之16個位準與設為p=13之有限體Zp之 對應開始。此處,對與MLC之位準與有限體Zp之對應關係相關之2種情況進行說明。
圖4係說明MLC之位準與Zp之對應關係之圖。
情況1係使Zp之各要素自MLC之下方之位準依序對應之分配方法。於該情形時,自MLC之下方之位準依序分配Zp之要素0~12,對剩餘之MLC之上方之3位準分配Zp之要素12。情況1於對NAND快閃記憶體之程式中可抑制對字元線施加之電壓脈衝之振幅。藉此,可使字元線與鄰接於字元線之記憶單元的容量耦合縮小,從而可抑制干擾。即,可以說情況1為可期待使記憶單元之錯誤之產生減少之分配方法。
情況2係對MLC之位準中較高之位準使位準間隔增大之分配方法。於該情形時,自MLC之下方之位準依序分配Zp之要素0~12,但其中對Zp之要素10~12以2位準間隔進行分配。可以說情況2為可粗略地進行自消除位準起之臨限值變化變大之較高之位準之程式化、從而可期待程式化之負擔之減輕之分配方法。
如此,只要根據16值MLC NAND快閃記憶體之特性,鎖定錯誤產生之抑制、或程式化時間之縮短等目的而決定上述情況1或情況2之分配方法即可。再者,關於分配方法,只要可根據記憶體器件200之狀況利用記憶體控制器100隨時設定即可。又,情況1及情況2係自MLC之下方之位準依序分配Zp之各要素,但亦可自MLC之上方之位準分配Zp之各要素。
繼而,利用圖4對MLC之位準與頁面之位元之對應進行說明。圖4為使用格雷碼進行各頁面之位元與MLC之位準之對應之建立之例。再者,頁面之位元有時根據製品而不同,但於該情形時,只要與使用之記憶體器件100相符即可。因此,頁面緩衝器240與MLC之位準之對應為用以將資料按照較佳之順序排列於MLC之位準中的重要之資訊,只要可基於該資訊而靈活地設定記憶體控制器200中之映射,便可實現可與各種記憶體器件對應之記憶體控制器200。例如只要於記憶體控制器200中設置複數種「p進位<>MLC二進制映射」電路區塊230、或設置種類可變更之「p進位<>MLC二進制映射」電路區塊230,且可基於記憶體器件100之規格進行切換即可。
如此,於Zp之要素與MLC之位準之對應決定後,繼而,基於與MLC之位準對應之頁面<0>~<3>之4位元而對Zp之各要素解碼後,將其保持於頁面緩衝器群240中。因此,頁面緩衝器群240形成為4序列之頁面緩衝器並列配置之構成,藉由上述映射而解碼之4位元之資料分別依序保持於頁面緩衝器群240之各序列中。
記憶體控制器200之頁面緩衝器群240中之1序列與記憶體器件100所具有之頁面緩衝器對應。於記憶體控制器200之頁面緩衝器群240中充滿資料之時間點,資料每1序列地依序傳輸至記憶體器件100之頁面緩衝器。而且,頁面緩衝器群240之資料於記憶體器件100中連續地由相同之MLC程式化。藉由此種資料寫入順序而於記憶體控制器200中 獲得之Zp之要素作為MLC之位準而記憶於記憶體器件100中。
自記憶體器件100中之資料之讀出為與上述資料寫入順序相反之順序。即,依序讀出同一MLC之4個頁面之資料後,該等資料傳輸至記憶體控制器200之頁面緩衝器群240。而且,根據傳輸至頁面緩衝器群240之資料而將表示MLC之位準之Zp之數解碼。
其次,對本實施形態之記憶體系統朝普通之電子機器之應用進行論述。
普通之電子機器包括CPU、以該CPU為中心之周邊機器及記憶體系統,該等係由命令、資料匯流排連接而構成。尤其係,於最近之電子機器之情形時,作為大容量之記憶體器件,亦存在利用使用有與硬碟相比可高速存取之半導體的記憶體器件之例,但該等中較多地利用NAND快閃記憶體。
圖5係假定此種電子機器之本實施形態之記憶體系統之應用例。
以圖5之虛線框表示之記憶體系統包括MLC NAND快閃記憶體(記憶體器件)及MLC NAND控制器(記憶體控制器)。於圖5中,將該記憶體系統記作「MLC SMM(Semiconductor Memory Module,半導體記憶模組)」。
該MLC SMM等記憶體系統對電子機器而言為可替換之模組。即,為充分發揮MLC SMM之性能,必需根據MLC SMM適當地設定命令匯流排或資料匯流排等。因此,較為 理想的是預先知曉MLC SMM內之處理內容。例如只要可根據命令、資料匯流排判別MLC SMM之種類,便可按照對該MLC SMM最佳之資料傳輸週期進行資料收發。
然而,於無法判別MLC SMM之MLC NAND控制器如本實施形態般為p進位控制器、或如比較例般為二進制線性控制器之情形時,無法充分發揮p進位控制器之性能。
就此種方面而言,判別出MLC SMM搭載有何種MLC NAND控制器較為重要。
又,電子機器除包括如圖5所示之以CPU為中心之周邊機器及記憶體系統(MLC SMM)以外,亦存在形成為如圖6所示之僅作為記憶體系統之一部分的MLC NAND控制器(記憶體控制器)裝入於電子機器中、且可自由增設MLC NAND快閃記憶體(記憶體器件)之構成者。
於該情形時,只要於電子機器內之MLC NAND控制器中搭載有如使MLC NAND快閃記憶體之可靠性提昇般之ECC系統,即便不使MLC NAND快閃記憶體自身為高品質者,亦可構築可靠性較高之電子機器。
如圖5及圖6所示之電子機器,若可根據電子機器本身之動作判斷出電子機器之記憶體控制器使用有何種記憶體控制器,則可於記憶體器件增設時等選擇用以確保可靠性之適當之成本之記憶體器件。
那麼,以下對本實施形態之記憶體控制器200(p進位控制器)中之處理之概要進行說明,且對與比較例之二進制線性系統之不同進行說明。
首先,利用圖1對本實施形態之記憶體系統之功能區塊詳細地進行說明。
本實施形態之記憶體系統如上述般包括記憶體器件100、及控制該記憶體器件100之記憶體控制器200。
例如可將圖1所示之MLC NAND快閃記憶體等現有之記憶體器件用於該記憶體器件100。即便於該情形時,藉由使用記憶體控制器200,亦可藉由使用有李度量代碼之ECC進行高效之錯誤檢測、校正。
輸入至記憶體控制器200之二進制資料轉換為作為記憶體控制器200中之資料處理系統的質數p之有限體Zp之量。對該二進制資料針對每個特定之M位元於記憶體控制器200中進行處理。
輸入至記憶體控制器200之二進制資料首先輸入至「二進制p進位解碼」電路區塊210。於「二進制p進位解碼」電路區塊210中,將二進制資料轉換為p進位數資料。
該p進位數資料輸入至「李度量代碼ECC系統」電路區塊220。於「李度量代碼ECC系統」電路區塊220中,基於p進位數資料之各位數表示之Zp之數而生成李度量代碼。
該李度量代碼輸入至「p進位<>MLC二進制映射」電路區塊230。「p進位<>MLC二進制映射」電路區塊230以使李度量代碼之各符號表示之Zp之數與MLC之位準建立對應、且Zp之李度量與MLC之位準間之距離之對應成立之方式進行轉換。藉由該「p進位<>MLC二進制映射」電路區塊230,Zp之數朝MLC之位準轉換且保持於頁面緩衝器群 240a或240b中。
於使用16值之MLC之情形時,1個頁面緩衝器群240中需要4序列之頁面緩衝器。此處,頁面緩衝器群240必需反映記憶體器件100之MLC之位準與頁面之關係。若該等頁面緩衝器群240中充滿資料,則該等資料自控制器200傳輸至記憶體器件100。藉由該資料傳輸,Zp之數作為記憶體器件100之MLC之位準而被記憶。
於圖1所示之情形時,於記憶體控制器200中設置有2組頁面緩衝器群240A、204B,但頁面緩衝器群240為1組以上即可。其中,於如圖1所示般設置2組頁面緩衝器群240之情形時,例如由於可於進行頁面緩衝器群240A與「p進位<>MLC二進制映射」電路區塊230間之資料傳輸之同時,進行頁面緩衝器群240b與MLC NAND快閃記憶體間之資料傳輸,故而可節省資料傳輸時間。
記憶體器件100對自控制器200傳輸之資料針對每個頁面進行程式化。此種記憶體器件100之動作係基於自記憶體控制器200內之「控制」電路區塊250接收之命令<2>而執行。該命令<2>係根據輸入至控制器200之命令<1>且藉由「控制」電路區塊250而生成。
於自記憶體系統中讀出資料之情形時,首先,可藉由來自「控制」電路區塊之命令<2>而自記憶體器件100中讀出可表示1個MLC之位準的一系列之資料。該資料自記憶體器件100依序傳輸至記憶體控制器200之頁面緩衝器群240且保持於其中。
繼而,對保持於頁面緩衝器群240中之資料於「p進位<>MLC二進制映射」電路區塊230中進行處理。「p進位<>MLC二進制映射」電路區塊230將該頁面緩衝器群240保持之資料轉換為Zp之數、即表示MLC之位準之量。
繼而,以Zp之數表示之資料輸入至「李度量代碼ECC系統」電路區塊220。「李度量代碼ECC系統」電路區塊220對該資料實施錯誤校正,從而復原正確之李度量代碼,進而將該李度量代碼轉換為p進位數資料。
最後,p進位數資料輸入至「p進位二進制解碼」電路區塊260。「p進位二進制解碼」電路區塊260將該p進位數資料復原至M位元之二進制資料後輸出至記憶體控制器200之外部。
其次,對自記憶體控制器200之資料傳輸系統之資料之處理流程觀察之方塊構成進行說明。
以下,將記憶體器件100等以二進制處理資料之環境稱為「二進制區域」。相對於此,將以Zp之數處理資料之記憶體控制器200等環境稱為「p進位Zp區域」。於該情形時,「二進制區域」有時亦稱為「p進位Z2 區域」。
圖7係於ε=2、p=13之情形時於ECC處理中使用有歐幾里德(Euclid)反覆法之情形時之記憶體控制器200之方塊圖。
記憶體控制器200包括13進位數轉換部210'、編碼部221、「p進位<>MLC二進制映射」電路區塊230、頁面緩衝器群240、校正子生成部222、求解多項式生成部223、歐幾里德反覆法處理部224、第1哈塞微分多項式生成部 225、第2哈塞微分多項式生成部226、代碼復原部227、解碼部228、及24 進位數轉換部260'。
其中,13進位數轉換部210'包含於「二進制p進位解碼」電路區塊210中。編碼部221、校正子生成部222、求解多項式生成部223、歐幾里德反覆法處理部224、第1哈塞(Hasse)微分多項式生成部225、第2哈塞微分多項式生成部226、代碼復原部227及解碼部228包含於「李度量代碼ECC系統」電路區塊220中。又,24 進位數轉換部260'包含於「p進位二進制解碼」電路區塊260中。
作為輸入至記憶體控制器200之每32位元之批量(M=32)的二進制資料D,首先被輸入至13進位數轉換部210'。
於13進位數轉換部210',將所輸入之二進制資料D轉換為13進位數。藉此,生成以Zp之要素表示各位數之資料A。該資料A被輸入至編碼部221。
於編碼部221,使生成矩陣G作用於所輸入之資料A。藉此,根據資料A生成李度量代碼C。該代碼C被輸入至「p進位<>MLC二進制映射」電路區塊230。
於「p進位<>MLC二進制映射」電路區塊230中,根據所輸入之李度量代碼C而生成傳輸至記憶體器件100之資料,且輸入至頁面緩衝器群240。
其後,保持於頁面緩衝器240中之資料傳輸至記憶體器件100,且由MLC程式化。
繼而,於記憶體器件100中經程式化之資料作為一系列之頁面、資料而由頁面緩衝器群240讀出。此處,該資料 於「p進位<>MLC二進制映射」電路區塊230中成為包含MLC之位準之誤識別之錯誤之代碼Y。於之後之處理中,根據代碼Y進行無錯誤之李度量代碼C之復原。
自「NAND<>MLC二進制映射」電路區塊230輸出之代碼Y輸入至校正子生成部222。
於校正子生成部222進行對所輸入之代碼Y之S=YHt 之運算處理,從而生成校正子S。於利用該運算而得之S0 之李度量為3以上(|S0 |≧3)之情形時,各錯誤代碼成分之和必定為3以上。即,為於設為ε=2解法中無法校正代碼Y之錯誤之情形。因此,將NG(No Good,無用)信號輸出至記憶體控制器200之外部,並且錯誤校正前之代碼Y輸出至解碼部228。又,於S=0之情形時,由於代碼Y未產生錯誤,故而代碼Y輸出至解碼部228,而無需進行錯誤校正。於其他校正子之情形時,所生成之校正子S輸出至求解多項式生成部223。
於求解多項式生成部223,根據所輸入之校正子S=(S0 ,S1 ,S2 )而生成多項式Ψ(x)。多項式Ψ(x)之係數如數式2所示。該多項式Ψ(x)輸出至歐幾里德反覆法處理部224。
[數式10]Ψ0 =1 Ψ1 =-S1 Ψ2 =-(Ψ1 S10 S2 )/2
於歐幾里德反覆法處理部224,根據所輸入之多項式 Ψ(x)及x3 且藉由歐幾里德反覆法而試驗多項式λ(x)及v(x)之生成。於無法生成多項式λ(x)及v(x)之情形時,將NG信號輸出至記憶體控制器200之外部,並且將錯誤校正前之代碼Y輸出至解碼部228。另一方面,於可生成多項式λ(x)及v(x)之情形時,處理轉移至第1哈塞微分多項式生成部225及第2哈塞微分多項式生成部226。
於第1哈塞微分多項式生成部225,根據多項式λ(x)而生成哈塞微分多項式,進而,對該哈塞微分多項式代入r=1~12而抽選出[λ(r)][0] =0之根r。繼而,根據該等抽選出之根r而求出[λ(r)][n-1] =0且[λ(r)][n] ≠0之多重性n。而且,基於該等根r、多重性n之位置t=r-1 及錯誤et =n輸出至解碼部227。
同樣地,於第2哈塞微分多項式生成部226,根據多項式v(x)而生成哈塞微分多項式,進而,對該哈塞微分多項式代入r=1~12而抽選出[v(r)][0] =0之根r。繼而,根據該等抽選出之根r而求出[v(r)][n-1] =0且[v(r)][n] ≠0之多重性n。而且,基於該等根r、多重性n之位置t=r-1 及錯誤et =13-n輸出至代碼復原部227。
於代碼復原部227,利用所輸入之位置t及錯誤et 且根據ct =yt -et 而復原經錯誤校正之李度量代碼C=(c1 ,c2 ,...,c3 )。該李度量代碼C輸入至解碼部228。
於解碼部228,對所輸入之李度量代碼C實施生成矩陣G之逆轉換。藉此,生成以Zp之要素表示各位數之p進位數資料A。該p進位數資料A輸入至24 進位數轉換部260'。
於24 進位數轉換部260',所輸入之p進位數資料A轉換為作為二進制資料的24 進位數之二進制資料D。而且,該二進制資料D輸出至記憶體控制器200之外部。
再者,於圖1中,僅將頁面緩衝器群240用於與記憶體器件100之資料授受,但該頁面緩衝器群240如圖7所示之虛線箭頭a所示般亦可於資料處理之過程中多重利用。於該情形時,可使記憶體控制器200之電路規模減小。對頁面緩衝器群240之多重使用方法於下文敍述。
其次,對資料處理過程中之頁面緩衝器群240之多重使用進行說明。再者,於本實施形態之情形時,設置於記憶體控制器200中之2組頁面緩衝器群240a、240b分別於資料傳輸及資料處理中交替地被利用,但此處,對資料處理中之利用進行說明。
作為具體例,以使用有16值之MLC者、且假定每12單元最高可進行2單元之錯誤校正(ε=2)之記憶體系統進行說明。又,記憶體控制器200之I/O(Input/Output,輸入/輸出)之資料傳輸速度設為1位元組(8位元)/週期,將1區段設為512位元組。因此,於傳輸1區段之量之資料之情形時,如圖8所示需要512週期。
於p=13之情形時,代碼之成分數為n=p-1=12。由於設為可進行其中2個成分之校正(ε=2),故而代碼中之資料成分為k=n-(ε+1)=12-3=9。若將所輸入之二進制表示之資料之位數設為δ,將以二進制表示各位數之情形時之位元數設為h=4,則藉由p進位數轉換,δ位數之位元組資料成為δ+1 位數。因此,代碼中之資料成分自k=δ+1=9變為δ=8。其結果,用於ECC之批次處理之二進制資料之位元數成為δh=8×4=32。以下,將作為該處理單位的32位元之資料所需之處理過程稱為「製程」,但為與普通之製程區別開而記作「PROCESS」。
於該情形時,1 PROCESS之量之32位元之資料可每4(=32/8)週期地儲存。即,每4週期可進行1 PROCESS之處理。又,1區段之量之資料恰好可以128 PROCESS進行處理。
頁面緩衝器群240概念性地以使於1週期內1位元組可記憶之位元組暫存器排列6行而成者為基本構成。以下,亦如圖8所示,將該包括6個位元組暫存器之基本構成稱為「暫存器6」。以下,將自第1行至第n行為止之位元組暫存器表示為「暫存器<1:n>」。例如於自第1行至第6行為止之位元組暫存器之情形時為「暫存器<1:6>」。
自外部輸入之二進制資料D於ε=2之情形時保持於暫存器6中之暫存器<1:4>中。保持於該暫存器<1:4>中之二進制資料D藉由以下之步驟S1~S4而被處理。
首先,於步驟S1中,二進制資料D經128 PROCESS處理後轉換為13進位數之資料A。藉由該轉換,於「二進制資料」中為32位元之1 PROCESS之量之資料(δ=6)轉換為於「p進位Zp區域」中每1位數多出4位元之36位元之資料(δ=7)。因此,於128 PROCESS中生成之13進位數資料A成為128 PROCESS×36位元=4608位元。該4608位元之資料相 當於位元組暫存器4.5行之量之容量。
繼而,於步驟S2中,由於13進位數資料A之資料量相當於位元組暫存器4.5行之量,故而保持於暫存器6中之暫存器<1:5>中。因此,對暫存器6中之保持有自外部輸入之二進制資料D之區域以13進位數資料A進行覆寫。
繼而,於步驟S3中,13進位數資料A經128 PROCESS處理後轉換為李度量代碼C。藉由該轉換,根據1 PROCESS之量之36位元之13進位數資料A而生成包含p-1=12個成分之48位元之Zp之代碼。因此,於128 PROCESS中生成之李度量代碼C成為128 PROCESS×48位元=6144位元(768位元組)。該768位元組之資料相當於位元組暫存器6行之量之容量。
繼而,於步驟S4中,李度量代碼C保持於暫存器<1:6>中。因此,將暫存器6中之保持有13進位數資料A之區域覆寫。又,於該步驟S4中使用所有暫存器<1:6>。
如上,於ε=2之情形時,自「二進制區域」輸入之二進制資料D由暫存器6中之暫存器<1:4>保持,剩餘之暫存器<5:6>與暫存器<1:4>一併於至保持作為最終之資料處理結果的李度量代碼C為止之階段被覆寫而得以使用。
包括步驟S1~S4之資料處理如圖8所示,於將二進制資料D轉換為13進位數轉換資料A後(步驟S1及S2),進而將13進位數資料A轉換為李度量代碼C(步驟S3及S4),從而可設為對其掃描之假想之資料暫存器D-r進行構想。
於以圖8所示之資料處理之情形時,對1區段之量之4096 位元之資料重複進行128 PROCESS且每1 PROCESS生成12單元之量之資料之過程。因此,1單元之實質位元數成為4096/(128×12)=2.667。
如上,使用有本實施形態之李度量代碼之ECC可以說為以12單元記憶32位元之資料、且可校正其中2單元之錯誤之高效之ECC。
其次,一面參照圖9一面對ε=2之情形之資料寫入時之暫存器6中之區段資料之處理過程進行說明。
圖9自左依序表示有二進制資料之猝發傳輸時之暫存器6之情況(圖9中之步驟S1)、p進位數轉換後之暫存器6之情況(圖9中之步驟S2)、李度量代碼轉換後之暫存器6之情況(圖9中之步驟S3)。再者,貫穿圖9中之暫存器之實線表示每8位元之位元組暫存器之邊界。
成為區段暫存器之暫存器6形成為使1024個暫存器排列成6行之構成,於1024列具有768位元組之資料傳輸之接收口。於資料傳輸中利用6行中之第1~4行,將剩餘之第5~6列用於資料傳輸後之處理資料之保持。
首先,於步驟S1中,所傳輸之二進制資料每4週期地且每1位元組地沿列方向依序儲存於第1~4行之暫存器中。該動作重複進行128次。其結果,於暫存器中每1行地儲存128位元組之二進制資料。一系列之動作之總週期數為512週期。
藉由以上內容,於區段暫存器中儲存128 PROCESS之量的與10位數之24 進位數之h=4、δ=8相當之32位元之二進制 資料。
繼而,於步驟S2中,32位元之二進制資料轉換為作為9位數之p(=13)進位數的36位元之資料而覆寫至區段暫存器中。該PROCESS係以每8列暫存器進行。由於原本之暫存器方塊為1024列6行,故而以每1 PROCESS 8列、合計128 PROCESS進行填補。至此為止,自1區段中之「二進制區域」朝「p進位Zp區域」之轉移結束。
最後,於步驟S3中,將p進位數資料轉換為李度量代碼。
李度量代碼成為以p-1(=12)個Zp之要素為成分之資料。1 PROCESS之量之李度量代碼為對36位元之p進位數資料施加G矩陣而得之48位元之資料,該1 PROCESS之量之李度量代碼覆寫儲存至8列6行之1個暫存器方塊。於該情形時,於128 PROCESS中1區段暫存器整體充滿李度量代碼。藉此,區段暫存器中保持用以寫入至192位元組個MLC之資料。
以上,步驟S1~S3所示之3階段之處理係針對8列6行之暫存器群依序進行。
再者,於記憶體控制器200中,於自512位元組之二進制資料朝p進位數資料之轉換時及自p進位數資料朝寫入至192位元組個MLC中之李度量代碼之轉換時,共執行2次對區段暫存器之資料之覆寫。
例如,於作為記憶體器件100之MLC NAND快閃記憶體之頁面構成包括8個512+16位元組之區段之情形時,因於4 頁面成為(512+16)位元組×8個MLC之資料,故而192位元組個MLC之位準與此處所述之22個區段暫存器對應。因此,記憶體控制器200之頁面緩衝器240包括22個區段暫存器,該頁面緩衝器240之資料作為4頁面之量之資料而對MLC NAND快閃記憶體傳輸。
於作為記憶體器件100之MLC NAND快閃記憶體之頁面構成包括4個512+16位元組之區段之情形時,因於4頁面成為(512+16)位元組×4個MLC之資料,故而192位元組個MLC之位準與此處所述之11個區段暫存器對應。因此,記憶體控制器200之頁面緩衝器240包括11個區段暫存器,作為4頁面之量之資料而對MLC NAND快閃記憶體傳輸。
其次,一面參照圖10一面對資料讀出時之區段暫存器中之資料處理之過程進行說明。
首先,於步驟S1中,MLC NAND快閃記憶體之4頁面之量之資料係每次192位元組個MLC中記憶之資料集中於記憶體控制器200之頁面緩衝器240而進行傳輸。
儲存於區段暫存器中之128 PROCESS之量之768位元組之資料係每次8列6行之暫存器方塊中儲存之1 PROCESS之量之資料自區段暫存器端接受利用ECC之計算處理,錯誤可校正者得以校正,無法校正者保持不變。然而,藉由128 PROCESS而對1區段所有資料之ECC處理結束,從而李度量代碼得以復原。
繼而,於步驟S2中,於步驟S1中復原之李度量代碼依序轉換為13進位數資料。此處,1區段之量之李度量代碼係 針對1 PROCESS之量之48位元進行生成矩陣G之逆轉換,於轉換為以4位元之9位數表示之13進位數資料之後覆寫至各暫存器方塊。
最後,於步驟S3中,於步驟S2中生成之13進位數資料轉換為24 進位數之二進制資料。於「p進位二進制解碼」電路區塊260中,將1 PROCESS之量之13進位數資料轉換為4位元8位數之32位元之二進制資料後,將該二進制資料以8列6行之暫存器方塊之單位覆寫。
其後,二進制資料係針對每個8列5行之暫存器群以1位元組/週期之速度按照行之順序讀出,從而作為1區段之量之資料輸出。
如此,於記憶體控制器200中,於ECC處理後執行之自李度量代碼朝p進位數資料之轉換時及自p進位數資料朝二進制資料之轉換時,共執行2次對區段暫存器之資料之覆寫。
其次,一面參照圖11一面對ε=2之情形時之暫存器6與頁面緩衝器之關係之一例進行說明。圖11中施加之陰影線表示充滿自「二進制區域」以4週期輸入之32位元之二進制資料D之區域。
暫存器6為8列6行之暫存器群。於將其看作記憶體控制器200之頁面緩衝器群240之情形時,如圖11所示,成為12列4行之暫存器群。該12列4行之暫存器群之各行分別與頁面<0>~<4>對應。
於對某第i PROCESS進行觀察之情形時,就視覺方面而言,如圖11所示,可認為首先所輸入之二進制資料D保持 於12個MLC<i+0>~<i+11>中之8個MLC<i+0>~<i+7>中,其後,於資料處理之過程中亦包括剩餘之MLC<i+8>~<i+11>,依次將資料覆寫至MLC。
如以上所說明般,於本實施形態之記憶體控制器200中,於資料處理之過程中多重使用頁面緩衝器群240。
其次,對作為記憶體器件100之MLC NAND快閃記憶體之頁面緩衝器與記憶體控制器200之頁面、緩衝群240之關係進行說明,但作為其前提,預先對MLC NAND快閃記憶體之頁面緩衝器之動作例進行說明。
圖12係表示資料寫入時之包含8值(3位元)之MLC之MLC NAND快閃記憶體之頁面緩衝器之動作例之圖。
再者,以下,將MLC之3位元中之權重最小之位元稱為「L位元」,將權重為中程度之位元稱為「M位元」,將權重最大之位元稱為「U位元」。又,將包含特定數量之MLC之L位元、M位元、U位元之頁面分別稱為「L頁面」、「M頁面」、「U頁面」。進而,將使MLC共通之L頁面、M頁面及U頁面總稱為「頁面群」。
圖12所示之MLC NAND快閃記憶體包括3系統之頁面緩衝器頁面<0>~<2>,該等頁面緩衝器頁面<0>、<1>、<2>分別於L頁面、M頁面、U頁面之資料寫入或資料讀出時使用。
再者,朝MLC之資料寫入係藉由使MLC之臨限值位準一面最初粗略地偏移、逐漸進行微細之偏移一面確定而實現。因此,例如使L頁面之資料與MLC之臨限值位準最粗 略之區域對應,使M頁面之資料與MLC之臨限值位準為中程度之區域對應,使U頁面之資料與MLC之臨限值位準最微細之區域對應,而依序進行L頁面之資料寫入、M頁面之資料寫入、U頁面之資料寫入,從而使MLC之臨限值位準確定即可。
第i個頁面群之資料寫入係藉由以下步驟而執行。
首先,於步驟S1中,自記憶體控制器200傳輸之第i個頁面群之L頁面之資料儲存於頁面緩衝器頁面<0>中(圖12中之S1a)。與此同時,已儲存於頁面緩衝器頁面<2>中之第i-1個頁面群之U頁面之資料寫入至MLC陣列中(圖12中之S1b)。
繼而,於步驟S2中,自記憶體控制器200傳輸之第i個頁面群之M頁面之資料儲存於頁面緩衝器頁面<1>中(圖12中之S2a)。與此同時,於先前之步驟S1中儲存於頁面緩衝器頁面<0>中之第i個頁面群之L頁面之資料寫入至MLC陣列中(圖12中之S2b)。
繼而,於步驟S3中,自記憶體控制器200傳輸之第i個頁面群之U頁面之資料儲存於頁面緩衝器頁面<2>中(圖12中之S3a)。與此同時,於先前之步驟S2中儲存於頁面緩衝器頁面<1>中之第i個頁面群之M頁面之資料寫入至MLC陣列中(圖12中之S3b)。
繼而,於步驟S1'中,於先前之步驟S3中儲存於頁面緩衝器頁面<2>中之第i個頁面群之U頁面之資料寫入至MLC陣列中(圖12中之S1b')。與此同時,自記憶體控制器200傳 輸之第i+1個頁面群之L頁面之資料儲存於頁面緩衝器頁面<0>中(圖12中之S1a')。
其後,可藉由重複進行步驟S1~S3而結束朝複數個頁面群之資料寫入。
圖13係表示資料讀出時之包含8值(3位元)之MLC的MLC NAND快閃記憶體之頁面緩衝器之動作例之圖。
第i個頁面群之資料讀出係藉由以下步驟而執行。
首先,於步驟S1中,自MLC陣列中讀出之第i個頁面群之L頁面之資料儲存於頁面緩衝器<0>中(圖13中之S1b)。與此同時,已儲存於頁面緩衝器頁面<2>中之第i-1個頁面群之U頁面之資料傳輸至記憶體控制器200(圖13中之S1a)。
繼而,於步驟S2中,自MLC陣列中讀出之第i個頁面群之M頁面之資料儲存於頁面緩衝器頁面<1>中(圖13中之S2b)。與此同時,於先前之步驟S1中儲存於頁面緩衝器頁面<0>中之第i個頁面群之L頁面之資料傳輸至記憶體控制器200(圖13中之S2a)。
繼而,於步驟S3中,自MLC陣列中讀出之第i個頁面群之U頁面之資料儲存於頁面緩衝器頁面<2>中。與此同時,於先前之步驟S3中儲存於頁面緩衝器頁面<2>中之第i個頁面群之M頁面之資料傳輸至記憶體控制器200(圖13中之S3a)。
繼而,於步驟S1'中,於先前之步驟S3中儲存於頁面緩衝器頁面<2>中之第i個頁面群之U頁面之資料傳輸至記憶 體控制器200(圖13中之S1a')。與此同時,自MLC陣列讀出之第i+1個頁面群之L頁面之資料儲存於頁面緩衝器頁面<0>中(圖13中之S1b')。
其後,可藉由重複進行步驟S1~S3而結束朝複數個頁面群之資料讀出。
如以上所說明般,於MLC NAND快閃記憶體中,朝頁面緩衝器頁面<0>~<3>之資料之儲存、及朝MLC陣列之資料寫入或朝記憶體控制器200之資料讀出於不同之頁面同時進行。
其次,對圖12、圖13所示之情形時之記憶體控制器200之頁面緩衝器群240與MLC NAND快閃記憶體之頁面緩衝器之資料傳輸進行說明。
圖14係說明圖12所示之資料寫入時的記憶體控制器200之頁面緩衝器群240a與MLC NAND快閃記憶體之頁面緩衝器之資料傳輸之圖。
圖14為對第i個頁面群之資料寫入時之情況,於記憶體控制器200之頁面緩衝器群240a已儲存有寫入至第i個頁面群之資料。又,於頁面緩衝器群240b中殘存有寫入至第i-1個頁面群之資料。另一方面,於MLC NAND快閃記憶體之頁面緩衝器頁面<2>中已儲存有第i-1個頁面群之U頁面之資料。
再者,記憶體控制器200具有選擇性地與「p進位<>MLC二進制映射」電路區塊230以及頁面、緩衝器群240a及240b連接之資料路徑,於圖14之情形時,該資料路徑連接 於頁面緩衝器群240b(圖14中之A1)。
於該狀態下,第i個頁面群之資料寫入時之資料傳輸如下述般執行。
首先,於步驟S1中,自頁面緩衝器群240a之頁面緩衝器頁面<0>傳輸之第i個頁面群之L頁面之資料儲存於MLC NAND快閃記憶體之頁面緩衝器頁面<0>中(圖14中之S1a)。與此同時,已儲存於MLC NAND快閃記憶體之頁面緩衝器頁面<2>中之第i-1個頁面群之U頁面之資料寫入至MLC陣列中(圖14中之S1b)。又,於記憶體控制器200中,經由「p進位<>MLC二進制映射」電路區塊230而自「李度量代碼ECC系統」電路區塊220對頁面緩衝器群240b傳輸寫入至第i+1個頁面群之資料。藉此,如圖8所示,頁面緩衝器群240b中殘存之第i-1個資料由第i+1個資料覆寫。對該頁面緩衝器群240b之資料傳輸於下述步驟S2及其後之步驟中亦並行地執行。
繼而,於步驟S2中,自頁面緩衝器群240a之頁面緩衝器頁面<0>朝MLC NAND快閃記憶體之頁面緩衝器頁面<0>的第i個頁面群之L頁面之資料全部傳輸後,該第i個頁面群之L頁面之資料寫入至MLC陣列中(圖14中之S2b)。與此同時,自頁面緩衝器群240a之頁面緩衝器頁面<1>傳輸之第i個頁面群之M頁面之資料儲存於MLC NAND快閃記憶體之頁面緩衝器頁面<1>中(圖14中之S2a)。
繼而,於步驟S3中,自頁面緩衝器群240a之頁面緩衝器頁面<1>朝MLC NAND快閃記憶體之頁面緩衝器頁面<1> 的第i個頁面群之M頁面之資料全部傳輸後,該第i個頁面群之M頁面之資料寫入至MLC陣列中(圖14中之S3b)。與此同時,自頁面緩衝器群240a之頁面緩衝器頁面<2>傳輸之第i個頁面群之U頁面之資料儲存於MLC NAND快閃記憶體之頁面緩衝器頁面<2>中(圖14中之S3a)。
另一方面,至步驟S3為止,於記憶體控制器200之頁面緩衝器群240b中已儲存有寫入至第i+1個頁面群之資料。藉此,步驟S3結束後,立刻開始對MLC NAND快閃記憶體之第i+1個頁面群之資料之傳輸。
其後,藉由一面將資料路徑之連接點交替地切換至頁面緩衝器群240a(圖14中之A0)及240b(圖14中之A1)一面重複進行步驟S1~S3,可實現自記憶體控制器200朝MLC NAND快閃記憶體之對複數個頁面群之寫入資料之傳輸。
圖15係說明圖13所示之資料讀入時的記憶體控制器200之頁面緩衝器群240與MLC NAND快閃記憶體之頁面緩衝器之資料傳輸之圖。
圖15為對第i個頁面群之資料讀出時之情況,於記憶體控制器200之頁面緩衝器群240b中已儲存有自第i-1個頁面群中讀出之資料。又,於頁面緩衝器群240a中殘存有自第i-2個頁面群中讀出之資料。另一方面,於MLC NAND快閃記憶體之頁面緩衝器頁面<0>中已儲存有第i個頁面群之L頁面之資料。
再者,記憶體控制器200之資料路徑連接於頁面緩衝器群240b(圖15中之A1)。
於該狀態下,自第i個頁面群之資料讀出時之資料傳輸如下述般執行。
首先,於步驟S1中,已儲存於MLC NAND快閃記憶體之頁面緩衝器頁面<0>中之第i個頁面群之L頁面之資料傳輸至記憶體控制器200之頁面緩衝器群240a之頁面緩衝器頁面<0>(圖15中之S1a)。藉此,頁面緩衝器群240a中殘存之第i-2個頁面群之資料由第i個頁面群之資料覆寫。與此同時,於MLC NAND快閃記憶體中,自MLC陣列讀出之第i個頁面群之M頁面之資料儲存於頁面緩衝器頁面<1>中(圖15中之S1b)。又,於記憶體控制器200中,儲存於頁面緩衝器群240b中之第i-1個頁面群之資料經由「p進位MLC二進制映射」電路區塊230、「李度量代碼ECC系統」電路區塊220而讀出至外部。該朝外部之資料讀出於下述步驟S2及其後之步驟中亦並行地執行。
繼而,於步驟S2中,於MLC NAND快閃記憶體之頁面緩衝器頁面<1>中儲存有第i個頁面群之M頁面之所有資料後,該第i個頁面群之M頁面之資料傳輸至記憶體控制器200之頁面緩衝器群240a之頁面緩衝器頁面<1>(圖15中之S2a)。與此同時,於MLC NAND快閃記憶體中,自MLC陣列中讀出之第i個頁面群之U頁面之資料儲存於頁面緩衝器<2>中(圖15中之S2b)。
繼而,於步驟S3中,於MLC NAND快閃記憶體之頁面緩衝器頁面<2>中儲存有第i個頁面群之U頁面之所有資料後,該第i個頁面群之U頁面之資料傳輸至記憶體控制器 200之頁面緩衝器群240a之頁面緩衝器頁面<2>(圖15中之S3a)。與此同時,於MLC NAND快閃記憶體中,自MLC陣列中讀出之第i+1個頁面群之L頁面之資料儲存於頁面緩衝器<2>中(圖15中之S3b)。
另一方面,至步驟S3為止,於記憶體控制器200中,儲存於頁面緩衝器群240b中之第i-1個頁面群之資料全部自記憶體控制器200中讀出後,將頁面路徑之連接點切換至頁面緩衝器群240a(圖15中之A0)。
其後,藉由一面將資料路徑之連接點交替地切換至頁面緩衝器群240a(圖15中之A0)及240b(圖15中之A1)一面重複進行步驟S1~S3,可實現自MLC NAND快閃記憶體朝記憶體控制器200之自複數個頁面群讀出之資料之傳輸。
其次,對利用16值之MLC之情形進行說明。
圖16係表示資料寫入時之包含16值(4位元)之MLC的MLC NAND快閃記憶體之頁面緩衝器之動作例之圖。
再者,以下,將MLC之4位元中的權重最小之位元稱為「L位元」,將權重為中程度之位元稱為「M1位元」、「M2位元」,將權重最大之位元稱為「U位元」。又,將包含特定數量之MLC之L位元、M1位元、M2位元、U位元之頁面分別稱為「L頁面」、「M1頁面」、「M2頁面」、「U頁面」。進而,將使MLC共通之L頁面、M1頁面、M2頁面及U頁面總稱為「頁面群」。
圖16所示之MLC NAND快閃記憶體包括4系統之頁面緩衝器頁面<0>~<3>,該等頁面緩衝器頁面<0>、<1>、 <2>、<3>分別於L頁面、M1頁面、M2頁面、U頁面之資料寫入或資料讀出時使用。
再者,朝MLC之資料寫入係藉由使MLC之臨限值位準一面最初粗略地偏移、逐漸進行微細之偏移一面確定而實現。因此,例如使L頁面之資料與MLC之臨限值位準最粗略之區域對應,使M1頁面及M2頁面之資料與MLC之臨限值位準為中程度之區域對應,使U頁面之資料與MLC之臨限值位準最微細之區域對應,而依序進行L頁面之資料寫入、M1頁面之資料寫入、M2頁面之資料寫入、U頁面之資料寫入,從而使MLC之臨限值位準確定即可。
第i個頁面群之資料寫入係藉由以下步驟而執行。
首先,於步驟S1中,自記憶體控制器200傳輸之第i個頁面群之L頁面之資料儲存於頁面緩衝器頁面<0>中(圖16中之S1a)。與此同時,已儲存於頁面緩衝器頁面<2>中之第i-1個頁面群之U頁面之資料寫入至MLC陣列中(圖16中之S1b)。
繼而,於步驟S2中,自記憶體控制器200傳輸之第i個頁面群之M1頁面之資料儲存於頁面緩衝器頁面<1>中(圖16中之S2a)。與此同時,於先前之步驟S1中儲存於頁面緩衝器頁面<0>中之第i個頁面群之L頁面之資料寫入至MLC陣列中(圖16中之S2b)。
繼而,於步驟S3中,自記憶體控制器200傳輸之第i個頁面群之M2頁面之資料儲存於頁面緩衝器頁面<2>中(圖16中之S3a)。與此同時,於先前之步驟S2中儲存於頁面緩衝 器頁面<1>中之第i個頁面群之M1頁面之資料寫入至MLC陣列中(圖16中之S3b)。
繼而,於步驟S4中,自記憶體控制器200傳輸之第i個頁面群之U頁面之資料儲存於頁面緩衝器頁面<3>中(圖16中之S4a)。與此同時,於先前之步驟S2中儲存於頁面緩衝器頁面<2>中之第i個頁面群之M1頁面之資料寫入至MLC陣列中(圖16中之S4b)。
繼而,於步驟S1'中,於先前之步驟S4中儲存於頁面緩衝器頁面<3>中之第i個頁面群之U頁面之資料寫入至MLC陣列中(圖16中之S1b')。與此同時,自記憶體控制器200傳輸之第i+1個頁面群之L頁面之資料儲存於頁面緩衝器頁面<0>中(圖16中之S1a')。
其後,可藉由重複進行步驟S1~S4而結束朝複數個頁面群之資料寫入。
圖17係表示資料讀出時之包含16值(4位元)之MLC的MLC NAND快閃記憶體之頁面緩衝器之動作例之圖。
第i個頁面群之資料讀出係藉由以下步驟而執行。
首先,於步驟S1中,自MLC陣列讀出之第i個頁面群之L頁面之資料儲存於頁面緩衝器<0>中(圖17中之S1b)。與此同時,已儲存於頁面緩衝器頁面<2>中之第i-1個頁面群之U頁面之資料傳輸至記憶體控制器200(圖17中之S1a)。
繼而,於步驟S2中,自MLC陣列中讀出之第i個頁面群之M1頁面之資料儲存於頁面緩衝器頁面<1>中(圖17中之S2b)。與此同時,於先前之步驟S1中儲存於頁面緩衝器頁 面<0>中之第i個頁面群之L頁面之資料傳輸至記憶體控制器200(圖17中之S2a)。
繼而,於步驟S3中,自MLC陣列中讀出之第i個頁面群之M2頁面之資料儲存於頁面緩衝器頁面<2>中(圖17中之S3b)。與此同時,於先前之步驟S2中儲存於頁面緩衝器頁面<1>中之第i個頁面群之M1頁面之資料傳輸至記憶體控制器200(圖17中之S3a)。
繼而,於步驟S4中,自MLC陣列中讀出之第i個頁面群之U頁面之資料儲存於頁面緩衝器頁面<3>中。與此同時,於先前之步驟S3中儲存於頁面緩衝器頁面<2>中之第i個頁面群之M2頁面之資料傳輸至記憶體控制器200(圖17中之S4a)。
繼而,於步驟S1'中,於先前之步驟S4中儲存於頁面緩衝器頁面<3>中之第i個頁面群之U頁面之資料傳輸至記憶體控制器200(圖17中之S1a')。與此同時,自MLC陣列中讀出之第i+1個頁面群之L頁面之資料儲存於頁面緩衝器頁面<0>中(圖17中之S1b')。
其後,可藉由重複進行步驟S1~S4而結束朝複數個頁面群之資料讀出。
如以上所說明般,於MLC NAND快閃記憶體中,朝頁面緩衝器頁面<0>~<3>之資料之儲存、及朝MLC陣列之資料寫入或朝記憶體控制器200之資料讀出於不同之頁面同時進行。
其次,對圖16、圖17所示之情形時的記憶體控制器200 之頁面緩衝器群240與MLC NAND快閃記憶體之頁面緩衝器之資料傳輸進行說明。
圖18係說明圖16所示之資料寫入時的記憶體控制器200之頁面緩衝器群240與MLC NAND快閃記憶體之頁面緩衝器之資料傳輸之圖。
圖18為對第i個頁面群之資料寫入時之情況,於記憶體控制器200之頁面緩衝器群240a中已儲存有寫入至第i個頁面群之資料。又,於頁面緩衝器群240b中殘存有寫入至第i-1個頁面群之資料。另一方面,於MLC NAND快閃記憶體之頁面緩衝器頁面<3>中已儲存有第i-1個頁面群之U頁面之資料。
再者,記憶體控制器200具有可選擇性地與「p進位<>MLC二進制映射」電路區塊230、頁面緩衝器群240a及240b連接之資料路徑,於圖18之情形時,該資料路徑連接於頁面緩衝器群240b(圖18中之A1)。
於該狀態下,第i個頁面群之資料寫入時之資料傳輸係如下述般執行。
首先,於步驟S1中,將自頁面緩衝器群240a之頁面緩衝器頁面<0>傳輸之第i個頁面群之L頁面之資料,儲存於MLC NAND快閃記憶體之頁面緩衝器頁面<0>中(圖18中之S1a)。與此同時,將已儲存於MLC NAND快閃記憶體之頁面緩衝器頁面<3>中之第i-1個頁面群之U頁面之資料寫入至MLC陣列中(圖18中之S1b)。又,於記憶體控制器200中,經由「p進位<>MLC二進制映射」電路區塊230而自 「李度量代碼ECC系統」電路區塊220對頁面緩衝器群240b傳輸寫入至第i+1個頁面群之資料。藉此,如圖8所示,頁面緩衝器群240b中殘存之第i-1個資料由第i+1個資料覆寫。對該頁面緩衝器群240b之資料傳輸於下述步驟S2及其後之步驟中亦並行地執行。
繼而,於步驟S2中,自頁面緩衝器群240a之頁面緩衝器頁面<0>朝MLC NAND快閃記憶體之頁面緩衝器頁面<0>的第i個頁面群之L頁面之資料全部傳輸後,該第i個頁面群之L頁面之資料寫入至MLC陣列中(圖18中之S2b)。與此同時,自頁面緩衝器群240a之頁面緩衝器頁面<1>傳輸之第i個頁面群之M1頁面之資料儲存於MLC NAND快閃記憶體之頁面緩衝器頁面<1>中(圖18中之S2a)。
繼而,於步驟S3中,自頁面緩衝器群240a之頁面緩衝器頁面<1>朝MLC NAND快閃記憶體之頁面緩衝器頁面<1>的第i個頁面群之M1頁面之資料全部傳輸後,該第i個頁面群之M1頁面之資料寫入至MLC陣列中(圖18中之S3b)。與此同時,自頁面緩衝器群240a之頁面緩衝器頁面<2>傳輸之第i個頁面群之M2頁面之資料儲存於MLC NAND快閃記憶體之頁面緩衝器頁面<2>中(圖18中之S3a)。
繼而,於步驟S4中,自頁面緩衝器群240a之頁面緩衝器頁面<2>朝MLC NAND快閃記憶體之頁面緩衝器頁面<2>的第i個頁面群之M2頁面之資料全部傳輸後,該第i個頁面群之M2頁面之資料寫入至MLC陣列中(圖18中之S4b)。與此同時,自頁面緩衝器群240a之頁面緩衝器頁面<3>傳輸 之第i個頁面群之U頁面之資料儲存於MLC NAND快閃記憶體之頁面緩衝器頁面<3>中(圖18中之S4a)。
另一方面,至步驟S4為止,記憶體控制器200之頁面緩衝器群240b中已儲存有寫入至第i+1個頁面群之資料。藉此,步驟S4結束後,立刻開始對MLC NAND快閃記憶體之第i+1個頁面群之資料之傳輸。
其後,藉由一面將資料路徑之連接點交替切換至頁面緩衝器群240a(圖18中之A0)及240b(圖18中之A1)一面重複進行步驟S1~S4,可實現自記憶體控制器200朝MLC NAND快閃記憶體之對複數個頁面群之寫入資料之傳輸。
圖19係說明圖17所示之資料讀入時的記憶體控制器200之頁面緩衝器群240與MLC NAND快閃記憶體之頁面緩衝器之資料傳輸之圖。
圖19為對第i個頁面群之資料讀出時之情況,於記憶體控制器200之頁面緩衝器群240b中已儲存有自第i-1個頁面群中讀出之資料。又,於頁面緩衝器群240a中殘存有自第i-2個頁面群中讀出之資料。另一方面,於MLC NAND快閃記憶體之頁面緩衝器頁面<0>中已儲存有第i個頁面群之L頁面之資料。
再者,記憶體控制器200之資料路徑連接於頁面緩衝器群240b(圖19中之A1)。
於該狀態下,自第i個頁面群之資料讀出時之資料傳輸係如下述般執行。
首先,於步驟S1中,已儲存於MLC NAND快閃記憶體之 頁面緩衝器頁面<0>中之第i個頁面群之L頁面之資料傳輸至記憶體控制器200之頁面緩衝器群240a之頁面緩衝器頁面<0>(圖19中之S1a)。藉此,頁面緩衝器群240a中殘存之第i-2個頁面群之資料由第i個頁面群之資料覆寫。與此同時,於MLC NAND快閃記憶體中,自MLC陣列中讀出之第i個頁面群之M頁面之資料儲存於頁面緩衝器頁面<1>中(圖19中之S1b)。又,於記憶體控制器200中,儲存於頁面緩衝器群240b中之第i-1個頁面群之資料經由「p進位MLC二進制映射」電路區塊230、「李度量代碼ECC系統」電路區塊220而讀出至外部。該朝外部之資料讀出於下述步驟S2及其後之步驟中亦並行地執行。
繼而,於步驟S2中,於MLC NAND快閃記憶體之頁面緩衝器頁面<1>中儲存有第i個頁面群之M1頁面之所有資料後,該第i個頁面群之M1頁面之資料傳輸至記憶體控制器200之頁面緩衝器群240a之頁面緩衝器頁面<1>(圖19中之S2a)。與此同時,於MLC NAND快閃記憶體中,自MLC陣列中讀出之第i個頁面群之M2頁面之資料儲存於頁面緩衝器<2>中(圖19中之S2b)。
繼而,於步驟S3中,於MLC NAND快閃記憶體之頁面緩衝器頁面<2>中儲存有第i個頁面群之M2頁面之所有資料後,該第i個頁面群之M2頁面之資料傳輸至記憶體控制器200之頁面緩衝器群240A之頁面緩衝器頁面<2>(圖19中之S3a)。與此同時,於MLC NAND快閃記憶體中,自MLC陣列中讀出之第i個頁面群之U頁面之資料儲存於頁面緩衝器 <3>中(圖19中之S3b)。
繼而,於步驟S4中,於MLC NAND快閃記憶體之頁面緩衝器頁面<3>中儲存有第i個頁面群之U頁面之所有資料後,該第i個頁面群之U頁面之資料傳輸至記憶體控制器200之頁面緩衝器群240a之頁面緩衝器頁面<3>(圖19中之S4a)。與此同時,於MLC NAND快閃記憶體中,自MLC陣列中讀出之第i+1個頁面群之L頁面之資料儲存於頁面緩衝器<2>中(圖19中之S4b)。
另一方面,至步驟S4為止,於記憶體控制器200中,儲存於頁面緩衝器群240b中之第i-1個頁面群之資料全部自記憶體控制器200中讀出後,頁面路徑之連接點切換至頁面緩衝器群240a(圖19中之A0)。
其後,藉由一面將資料路徑之連接點交替地切換至頁面緩衝器群240a(圖19中之A0)及240b(圖19中之A1)一面重複進行步驟S1~S4,可實現自MLC NAND快閃記憶體朝記憶體控制器200之自複數個頁面群中讀出之資料之傳輸。
以上,針對使用有8值之MLC及16值之MLC之情形,對MLC NAND快閃記憶體之頁面緩衝器與記憶體控制器200之頁面緩衝器群240之資料之傳輸方法進行了說明。
另一方面,於如記憶體控制器200般之p進位控制器之情形時,記憶體控制器200之頁面緩衝器群240與MLC NAND快閃記憶體之各頁面之映射較為重要。
其中,該映射只要於記憶體器件100與記憶體控制器200之間合乎邏輯即可,記憶體系統與外部之資料之映射任 意。若將該記憶體系統與外部之資料之映射設定得較佳,則可使記憶體器件100中記錄之資料與實際之二進制資料之對應關係變得複雜,從而可提高記錄資料之安全性。以下,將可任意設定該記憶體系統與外部之資料之映射的功能區塊稱為「擾頻器BSc」。
那麼,其次,利用圖20對本實施形態之記憶體控制器200具有擾頻器BSc之情形時的李度量代碼之各符號表示之Zp之數與MLC之位準之對應關係進行說明。
圖20所示之擾頻器BSc包括「位址拌碼器」電路區塊及「旋轉器」電路區塊。
「位址拌碼器」電路區塊於自外部輸入之二進制資料轉換為以Zp之數為成分之代碼後,決定將該代碼之各成分儲存於頁面內之哪一位址。
MLC NAND控制器(記憶體控制器200)與MLC NAND快閃記憶體(記憶體器件100)間之資料傳輸全部利用以Zp之數為成分之代碼進行,但若資料寫入時及資料讀出時之Zp之數與MLC之位準之對應關係一定,則於「位址拌碼器」電路區塊中,可針對每個記憶體控制器200任意設定將代碼之成分儲存於頁面內之哪一位址。
另一方面,「旋轉器」電路區塊一面維持代碼之成分表示之Zp之數的巡迴之順序一面使其與MLC之位準建立對應。
Zp為巡迴之順序之數量,檢測該數量之變化且進行校正者為使用有李度量代碼之ECC。只要於維持該Zp之巡迴之 順序之狀態下使其與MLC之位準建立對應,於鄰接位準間產生之錯誤便止於Zp之數之最小變化。因此,若Zp之巡迴之順序與MLC之位準之順序之對應無跳躍,且該對應關係於資料寫入時及資料讀出時對每個MLC而言均一定,則於「旋轉器」電路區塊中可針對每個記憶體控制器200任意地進行設定,而對Zp之數與MLC之絕對性之位準的對應關係無限制。
圖20之情形係說明設為p=13之情形時之Zp之數相對於MLC之位準之對應關係之圖。
首先,代碼之成分表示之n=p-1=12個成分藉由「位址拌碼器」電路區塊而分別與MLC NAND快閃記憶體之頁面內之位址產生映射。
而且,於設為自MLC之最低之位準至最高之位準為止對各位準升序或降序地附上0~12之編號之情形時,藉由「旋轉器」電路區塊而完成該MLC之位準之編號與Zp之13個成分之對應之建立。於圖20之例中,使Zp之數加上s(s為整數)而轉換為MLC之位準之編號。
MLC之位準與頁面緩衝器之位元之資料之對應例如亦可如圖20所示般使用格雷碼。其按照記憶體器件100之規格而定。
[實施形態之記憶體控制器之特徵及其判別方法]
記憶體控制器200中除圖20所示之對以Zp之數為成分之代碼進行擾頻之擾頻器BSc以外,亦可包括對二進制資料本身進行擾頻之擾頻器(以下,將該功能區塊稱為「擾頻 器ASc」)。
即,該擾頻器ASc係使經由資料、命令匯流排而於記憶體控制器200與CPU等之間傳輸之資料、與於記憶體控制器200之內部處理之資料建立對應者。例如對串列輸入至記憶體控制器200中之資料進行如何排序、或使其反轉等處理。
即,記憶體控制器200藉由CPU側之擾頻器ASc及記憶體器件100側之擾頻器BSc之2個部位進行資料之擾頻。藉由利用該等擾頻器ASc及BSc之作用,而資料、命令匯流排上之資料與記憶體器件100中記憶之資料之對應關係變得非常複雜且難以預測。
因此,為判別是否使用有實施形態之記憶體控制器200,必需預先知曉不依存於該等擾頻器ASc及BSc的記憶體控制器200之特徵。
那麼,其次,一面參照圖21一面對該等擾頻ASc及BSc之影響進行說明。
再者,以下,將CPU側之資料匯流排上之資料中的即將由記憶體控制器進行批次處理之最小之資料之批量設為(D),將藉由記憶體控制器對資料D進行處理後之最小之資料之批量設為(δ)。使用*表示資料處理之作用。又,以P表示利用除擾頻器ASc及BSc以外之p進位控制器(實施形態之記憶體控制器200)本體之資料處理,以L表示利用除擾頻器ASc及BSc以外之二進制線性控制器本體(比較例之記憶體控制器)之資料處。根據該表記方法,例如於使擾頻 器ASc作用於資料D之情形時記作ASc(D),進而,於使p進位控制器作用於ASc(D)之情形時記作P*ASc(D)。
作為記憶體控制器之p進位控制器及二進制線性控制器之特徵於輸入任意之資料[c]及其反轉資料[/c]作為資料(D)之情形時出現。
首先,對p進位控制器之特徵進行說明。
於以p進位控制器處理資料(D)之情形時,資料(δ)如數式11所示。
[數式11]BSc*P*ASc(D)=(δ)
於輸入[c]、[/c]作為資料(D)之情形時,使擾頻器ASc作用之結果可如數式12般表示。
[數式12]ASc[c]=(a) ASc[/c]=(/a)
由於擾頻器ASc對何種資料(D)均確實地進行擾頻,故而使擾頻器ASc對資料[c]與[/c]作用之結果仍為互補之關係。
進而,對數式12之資料(a)及資料(/a)使p進位控制器本體之資料處理作用之結果P(a)、P(/a)可分別如數式13般表示。
[數式13]P(a)=(α) P(/a)=(β)
因於自二進制資料朝p進位數資料之轉換等p進位控制器本體之資料處理中線性關係不成立,故而於資料(α)與資料(β)之間無法單純地建立聯繫。
進而,使擾頻器BSc作用於該等資料(α)、(β)之結果BSc(α)、BSc(β)可分別如數式14般表示。
[數式14]BSc(α)=BSc*P*ASc[c]=(X) BSc(β)=BSc*P*ASc[/c]=(Y)
由於擾頻器BSc對何種資料(D)均確實地進行擾頻,故而即便使擾頻器BSc分別作用於處於複雜之關係之資料(α)及(β),結果,所獲得之(X)與(Y)仍為複雜之關係。
即,於以p進位控制器處理資料之情形時,輸入至p進位控制器之資料、與藉由p進位控制器附加同位檢查資訊後輸出之資料為非線性之關係。
繼而,對比較例之二進制線性控制器之特徵進行說明。
於以二進制線性控制器處理資料(D)之情形時,資料(δ)如數式15所示。
[數式15]BSc*L*ASc(D)=(δ)
於輸入[c]、[/c]作為資料(D)之情形時,使擾頻器ASc作用之結果可如數式16般表示。
[數式16]ASc[c]=(a) ASc[/c]=(/a)
進而,對數式16之資料(a)及資料(/a)進行於二進制線性控制器本體中之資料處理之結果L(a)、L(/a)可分別如數式17般表示。
[數式17]L(a)=(α) L(/a)=(β)
藉由二進制線性控制器本體對互補之2個資料(a)及(/a)進行處理之結果即資料(α)及(β)之每個位元之mod(2)的相加結果為如數式18般之關係成立。
[數式18](α)+(β)=L{(a)+(/a)}=L[1]=[1]'
此處,[1]'表示資料(α)及(β)之每個位元之mod 2的相加結果中之與資料(D)對應之部分全部為「1」。再者,關於同位資料,由於即便資料[c]與[/c]為互補之關係,同位資料彼此亦無互補之關係,故而該等mod(2)之相加結果必定不為「1」。
因此,關於使擾頻器BSc分別作用於資料(α)、(β)之結果BSc(α)、BSc(β),亦有如數式19般之關係成立。
[數式19]BSc(α)=BSc*L*ASc[c]=(X) BSc(β)=BSc*L*ASc[/c]=(Y) (X)+(Y)=[1]'
如以上所說明般,p進位控制器及二進制線性控制器之 特徵藉由將互補之資料與對其進行處理後之資料對比而明顯化。藉由該特徵,可自外部判別記憶體控制器之種類。
再者,於圖21中,擾頻器ASc及BSc包含於記憶體控制器中,但亦可於記憶體控制器之外部具有擾頻器ASc及BSc。
其次,對判別記憶體控制器為p進位控制器或二進制線性控制器之順序進行說明。
圖22係說明記憶體控制器之判別次序之圖。
首先,將資料c輸入至記憶體控制器(圖22中之步驟S1),而獲得自記憶體控制器輸出至記憶體器件之資料X(圖22中之步驟S2)。同樣地,將資料c之反轉資料/c輸入至記憶體控制器(圖22中之步驟S3),而獲得自記憶體控制器輸出至記憶體器件之資料Y(圖22中之步驟S4)。
繼而,對資料X及Y進行以2為模數之每個位元之相加(圖22中之步驟S5)。
而且,驗證該相加結果中之與輸入資料對應之特定位元是否全部為「1」(圖22中之步驟S6)。再者,該特定之位元成為與輸入資料相同之位元數。於相加結果之特定位元先前全部為「1」之情形時,於看似無法判別出記憶體控制器為二進制線性控制器之情形時,即相加結果之特定位元中存在「0」之情形時,可判別出記憶體控制器為p進位控制器。即,於使用本實施形態之p進位控制器(記憶體控制器200)之情形時,於步驟S5中獲得之相加結果中亦會產生輸入資料之位元數以上之「1」未出現之情形。
圖23係說明記憶體控制器之其他判別次序之圖。
自資料朝里德-索洛蒙碼之編碼之方式有幾種,藉由該方式,結果亦存在無法明確地將所獲得之里德-索洛蒙碼之各位元分為與資料對應之資訊部分、或其他同位部分之情形。
然而,即便於該情形時,於使用二進制線性控制器之情形時,於以輸入資料c時之輸出資料X、及輸入資料c之互補之資料/c時之輸出資料Y進行以2為模數之每個位元之相加之情形時,與該相加結果中之輸入資料為同程度之位元數之特定位元亦全部為「1」或全部為「0」。該特徵不依存於輸入資料而出現。另一方面,於使用p進位控制器之情形時,此種特徵未出現。
即,藉由利用該二進制線性控制器之特徵,即便於使用無法明確地區別資訊部分與同位部分之代碼之情形時,亦可判別出記憶體控制器之種類。
於圖23之情形時,將複數個資料c=c1 、c2 、...及其反轉資料/c=/c1 、/c2 、...作為輸入資料,而執行與圖21所示之步驟S1~S5相同之次序。藉此,可針對每個資料c及反轉資料/c組而獲得對輸出資料X及Y之以2為模數之相加結果。
而且,於各相加結果中之輸入資料之位元數左右之特定位元全部為「1」或全部為「0」,且該特定位元之位置於所有相加結果中共通之情形時,於看似無法判別出記憶體控制器為二進制線性控制器之情形時,可判別出記憶體控 制器為p進位控制器(圖23中之步驟S6)。
此處,於步驟S6之說明中記載為「輸入資料之位元數左右」,但其係指例如與輸出資料之位元數之2/3相當之位元數。換言之,可以說於在相加結果中在輸出資料長度之1/3以上之數量之特定位元中「0」及「1」一併出現之情形時為p進位控制器。
再者,設為該「2/3」之根據在於認為使用有如對輸入資料附加之同位檢查資訊之大小超過輸入資料之大小之50%般之代碼的ECC效率非常差,且不實用。
[總結]
以上,於使用有本實施形態之記憶體系統及記憶體控制器之電子機器等之系統之情形時,記憶體控制器之種類之判別較為容易。並且,由於自外部輸入之資料或輸出至外部之資料與記憶體器件中記錄之資料之關係較使用二進制線性控制器之情形複雜,故而可以說安全性較高。
[其他]
對本發明之幾個實施形態進行了說明,但該等實施形態僅係作為例而提出者,並未意圖限定發明之範圍。該等新穎之實施形態可以其他各種形態實施,於不脫離發明之主旨之範圍內,可進行各種省略、替換、變更。該等實施形態或其變形包含於發明之範圍或主旨中,並且包含於申請專利範圍所記載之發明及其均等之範圍內。
100‧‧‧記憶體器件
200‧‧‧記憶體控制器
210‧‧‧「二進制p進位解碼」電路區塊
210'‧‧‧13進位數轉換部
220‧‧‧「李度量代碼ECC系統」電路區塊
221‧‧‧編碼部
222‧‧‧校正子生成部
223‧‧‧求解多項式生成部
224‧‧‧歐幾里德反覆法處理部
225‧‧‧第1哈塞微分多項式生成部
226‧‧‧第2哈塞微分多項式生成部
227‧‧‧代碼復原部
228‧‧‧解碼部
230‧‧‧「p進位<>MLC二進制映射」電路區塊
240‧‧‧頁面緩衝器群
240a‧‧‧頁面緩衝器群
240b‧‧‧頁面緩衝器群
250‧‧‧「控制」電路區塊
260‧‧‧「p進位二進制解碼」電路區塊
260'‧‧‧24 進位數轉換部
S1~S6‧‧‧步驟
圖1係實施形態之記憶體系統之方塊圖。
圖2係表示實施形態之記憶體系統之MLC(Multi-Level Cell)1單元之位準與頁面緩衝器之1位元之對應例之圖。
圖3係對使用有二進位碼(格雷碼)之ECC進行說明之圖。
圖4係表示實施形態之記憶體系統之有限體Zp之數與MLC之位準之對應之圖。
圖5係表示應用有實施形態之記憶體系統之機器之構成例之圖。
圖6係表示應用有實施形態之記憶體控制器之機器之構成例之圖。
圖7係實施形態之記憶體控制器之資料傳輸系統之方塊圖。
圖8係表示實施形態之記憶體控制器之2單元校正/12單元之情形時之暫存器之構成例之圖。
圖9係說明實施形態之記憶體控制器之每個區段之資料寫入之處理之圖。
圖10係說明實施形態之記憶體控制器之每個區段之資料讀出之處理之圖。
圖11係表示實施形態之記憶體系統之暫存器與頁面緩衝器之關係之一例之圖。
圖12係說明實施形態之記憶體系統之記憶體器件(8值MLC NAND快閃記憶體)之資料寫入時的頁面緩衝器之動作之圖。
圖13係說明實施形態之記憶體系統之記憶體器件(8值MLC NAND快閃記憶體)之資料讀出時的頁面緩衝器之動 作之圖。
圖14係說明實施形態之記憶體系統中的資料寫入時之記憶體器件(8值MLC NAND快閃記憶體)與記憶體控制器間之資料傳輸之圖。
圖15係說明實施形態之記憶體系統中的資料讀出時之記憶體器件(8值MLC NAND快閃記憶體)與記憶體控制器間之資料傳輸之圖。
圖16係說明實施形態之記憶體系統之記憶體器件(16值MLC NAND快閃記憶體)之資料寫入時的頁面緩衝器之動作之圖。
圖17係說明實施形態之記憶體系統之記憶體器件(16值MLC NAND快閃記憶體)之資料讀出時的頁面緩衝器之動作之圖。
圖18係說明實施形態之記憶體系統中的資料寫入時之記憶體器件(16值MLC NAND快閃記憶體)與記憶體控制器間之資料傳輸之圖。
圖19係說明實施形態之記憶體系統中的資料讀出時之記憶體器件(16值MLC NAND快閃記憶體)與記憶體控制器間之資料傳輸之圖。
圖20係表示實施形態之記憶體系統之有限體Zp之數與MLC之位準之對應之圖。
圖21係說明實施形態之記憶體控制器之判別方法之圖。
圖22係說明實施形態之記憶體控制器之判別次序之圖。
圖23係說明實施形態之記憶體控制器之判別次序之圖。
S1‧‧‧步驟
S2‧‧‧步驟
S3‧‧‧步驟
S4‧‧‧步驟
S5‧‧‧步驟
S6‧‧‧步驟

Claims (20)

  1. 一種記憶體系統,其特徵在於包括:記憶體器件,其包含複數個記憶單元,上述複數個記憶單元記憶使同位檢查資訊附加於來自外部之輸入資料之記憶資料;及記憶體控制器,其進行上述輸入資料與上述記憶資料間之轉換;且對應上述輸入資料之資訊資料相對於上述輸入資料處於非線性之關係,上述輸入資料包含於上述記憶資料中。
  2. 如請求項1之記憶體系統,其中上述資訊資料與上述輸入資料為相同位元數,上述輸入資料包括處於互補關係之第1輸入資料及第2輸入資料,於將對應上述第1輸入資料之上述資訊資料設為第1資訊資料,將對應上述第2輸入資料之上述資訊資料設為第2資訊資料之情形時,上述第1資訊資料及上述第2資訊資料之以2為模數之相加結果包含1位元之「0」資料。
  3. 如請求項1之記憶體系統,其中上述輸入資料包括處於互補關係之第1輸入資料及第2輸入資料,於將自上述第1輸入資料轉換而成之上述記憶資料設為第1記憶資料,將自上述第2輸入資料轉換而成之上述記憶資料設為第2記憶資料之情形時,關於不同之複數個上述第1記憶資料及上述第2記憶資 料之組,當分別進行以2為模數之相加,複數個上述相加結果中,所有位元相等之位數之數量少於上述記憶資料之長度之2/3。
  4. 如請求項1之記憶體系統,其中上述記憶體控制器包括進行二進制資料與p進位數資料(p為質數)間之轉換之p進位數轉換部,利用該p進位數轉換部進行上述輸入資料與上述記憶資料間之轉換。
  5. 如請求項1之記憶體系統,其中上述記憶體器件針對每1個記憶單元而記憶d位元(d為2以上之整數),且以包含特定數量之上述記憶單元之特定位元的頁面單位進行資料之讀寫;上述記憶體控制器包括具有上述頁面之大小之d倍之大小的緩衝暫存器,經由該緩衝暫存器而與上述記憶體器件進行上述記憶資料之收發。
  6. 如請求項5之記憶體系統,其中上述記憶體控制器包括複數個上述緩衝暫存器。
  7. 如請求項1之記憶體系統,其中上述記憶體控制器包括對上述輸入資料及上述記憶資料中之至少一者之資料進行擾頻之擾頻器,經由該擾頻器而進行上述輸入資料與上述記憶資料間之轉換。
  8. 一種記憶體系統,其特徵在於包括:記憶體器件,其包含複數個記憶單元,上述複數個記憶單元記憶使同位檢查資訊附加於來自外部之輸入資料之記憶資料;及 記憶體控制器,其進行上述輸入資料與上述記憶資料間之轉換;且對應上述輸入資料之資訊資料與上述輸入資料為相同之位元數,上述輸入資料包含於上述記憶資料中,上述輸入資料包括處於互補關係之第1輸入資料及第2輸入資料,於將對應上述第1輸入資料之上述資訊資料設為第1資訊資料,將對應上述第2輸入資料之上述資訊資料設為第2資訊資料之情形時,上述第1資訊資料及上述第2資訊資料之以2為模數之相加結果包含1位元之「0」。
  9. 如請求項8之記憶體系統,其中上述輸入資料包括處於互補關係之第1輸入資料及第2輸入資料,於將自上述第1輸入資料轉換而成之上述記憶資料設為第1記憶資料,將自上述第2輸入資料轉換而成之上述記憶資料設為第2記憶資料之情形時,關於不同之複數個上述第1記憶資料及上述第2記憶資料之組,當分別進行以2為模數之相加,複數個上述相加結果中,所有位元相等之位數之數量少於上述記憶資料之長度之2/3。
  10. 如請求項8之記憶體系統,其中上述記憶體控制器包括進行二進制資料與p進位數資料(p為質數)間之轉換之p進位數轉換部,利用該p進位數轉換部進行上述輸入資料與上述記憶資料間之轉換。
  11. 如請求項8之記憶體系統,其中上述記憶體器件針對每1 個記憶單元而記憶d位元(d為2以上之整數),且以包含特定數量之上述記憶單元之特定位元的頁面單位進行資料之讀寫;上述記憶體控制器包括具有上述頁面之大小之d倍之大小的緩衝暫存器,經由該緩衝暫存器而與上述記憶體器件進行上述記憶資料之收發。
  12. 如請求項11之記憶體系統,其中上述記憶體控制器包括複數個上述緩衝暫存器。
  13. 如請求項8之記憶體系統,其中上述記憶體控制器包括對上述輸入資料及上述記憶資料中之至少一者之資料進行擾頻之擾頻器,經由該擾頻器而進行上述輸入資料與上述記憶資料間之轉換。
  14. 一種記憶體控制器,其特徵在於:其控制包含記憶記憶資料之複數個記憶單元之記憶體器件,且於進行上述記憶體器件之控制時,進行來自外部之輸入資料與上述記憶資料之轉換,上述記憶資料使同位檢查資訊附加於該輸入資料,對應上述輸入資料之資訊資料相對於上述輸入資料處於非線性之關係,上述輸入資料包含於上述記憶資料中。
  15. 如請求項14之記憶體控制器,其中上述資訊資料與上述輸入資料為相同之位元數,上述輸入資料包括處於互補關係之第1輸入資料及第2輸入資料,於將對應上述第1輸入資料之上述資訊資料設為第1資訊資料,將對應上述第2輸入資料之上述資訊 資料設為第2資訊資料之情形時,上述第1資訊資料及上述第2資訊資料之以2為模數之相加結果包括1位元之「0」資料。
  16. 如請求項14之記憶體控制器,其中上述輸入資料包括處於互補關係之第1輸入資料及第2輸入資料,於將自上述第1輸入資料轉換而成之上述記憶資料設為第1記憶資料,將自上述第2輸入資料轉換而成之上述記憶資料設為第2記憶資料之情形時,關於不同之複數個上述第1記憶資料及上述第2記憶資料之組,當分別進行以2為模數之相加,複數個上述相加結果中,所有位元相等之位數之數量少於上述記憶資料之長度之2/3。
  17. 如請求項14之記憶體控制器,其中包括進行二進制資料與p進位數資料(p為質數)間之轉換之p進位數轉換部,利用該p進位數轉換部進行上述輸入資料與上述記憶資料間之轉換。
  18. 如請求項14之記憶體控制器,其中上述記憶體器件針對每1個記憶單元而記憶d位元(d為2以上之整數),且以包含特定數量之上述記憶單元之特定位元的頁面單位進行資料之讀寫;上述記憶體控制器包括具有上述頁面之大小之d倍之大小的緩衝暫存器,經由該緩衝暫存器而與上述記憶體器件進行上述記憶資料之收發。
  19. 如請求項18之記憶體控制器,其中包括複數個上述緩衝暫存器。
  20. 如請求項14之記憶體控制器,其中包括對上述輸入資料及上述記憶資料中之至少一者之資料進行擾頻之擾頻器,經由該擾頻器而進行上述輸入資料與上述記憶資料間之轉換。
TW101106418A 2011-03-07 2012-02-24 記憶體系統及記憶體控制器 TWI484342B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011048533A JP5398764B2 (ja) 2011-03-07 2011-03-07 メモリシステム及びメモリコントローラ

Publications (2)

Publication Number Publication Date
TW201243603A TW201243603A (en) 2012-11-01
TWI484342B true TWI484342B (zh) 2015-05-11

Family

ID=46797117

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101106418A TWI484342B (zh) 2011-03-07 2012-02-24 記憶體系統及記憶體控制器

Country Status (3)

Country Link
US (1) US8819331B2 (zh)
JP (1) JP5398764B2 (zh)
TW (1) TWI484342B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9304944B2 (en) * 2012-03-29 2016-04-05 Broadcom Corporation Secure memory access controller
TWI509622B (zh) * 2013-07-09 2015-11-21 Univ Nat Taiwan Science Tech 具分散錯誤功能的記憶體及其分散錯誤位元的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149947B1 (en) * 2003-09-04 2006-12-12 Emc Corporation Method of and system for validating an error correction code and parity information associated with a data word
US20080192539A1 (en) * 2007-02-09 2008-08-14 Choi Jin-Hyeok Memory System Including MLC Flash Memory
US20090113217A1 (en) * 2007-10-30 2009-04-30 Sandisk Il Ltd. Memory randomization for protection against side channel attacks
TWI318409B (en) * 2005-06-30 2009-12-11 Intel Corp Memory controller, integrated circuit memory device, electronic system, memory integrated circuit and memory device
TWI324348B (en) * 2005-09-10 2010-05-01 Samsung Electronics Co Ltd Method for input buffering in a memory device, related memory device, controller and system
US20100211856A1 (en) * 2007-12-12 2010-08-19 Hanan Weingarten Systems and methods for error correction and decoding on multi-level physical media

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2543319B2 (ja) * 1993-09-24 1996-10-16 三菱電機株式会社 符号化装置
US6360346B1 (en) 1997-08-27 2002-03-19 Sony Corporation Storage unit, method of checking storage unit, reading and writing method
JPH1173797A (ja) * 1997-08-27 1999-03-16 Sony Corp 記憶装置
JP2003016798A (ja) * 2001-06-27 2003-01-17 Mitsubishi Electric Corp メモリテスト方法および多層メモリ
US7809994B2 (en) * 2006-05-17 2010-10-05 Sandisk Corporation Error correction coding for multiple-sector pages in flash memory devices
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
JP4621715B2 (ja) * 2007-08-13 2011-01-26 株式会社東芝 メモリ装置
JP2009181439A (ja) * 2008-01-31 2009-08-13 Toshiba Corp メモリシステム
JP2009238256A (ja) * 2008-03-25 2009-10-15 Toshiba Corp 半導体記憶装置
US8782326B2 (en) * 2009-04-01 2014-07-15 Seiko Epson Corporation Memory device and system including a memory device electronically connectable to a host circuit
JP4982580B2 (ja) * 2010-03-23 2012-07-25 株式会社東芝 メモリシステム及びメモリシステムのデータ書き込み・読み出し方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149947B1 (en) * 2003-09-04 2006-12-12 Emc Corporation Method of and system for validating an error correction code and parity information associated with a data word
TWI318409B (en) * 2005-06-30 2009-12-11 Intel Corp Memory controller, integrated circuit memory device, electronic system, memory integrated circuit and memory device
TWI324348B (en) * 2005-09-10 2010-05-01 Samsung Electronics Co Ltd Method for input buffering in a memory device, related memory device, controller and system
US20080192539A1 (en) * 2007-02-09 2008-08-14 Choi Jin-Hyeok Memory System Including MLC Flash Memory
US20090113217A1 (en) * 2007-10-30 2009-04-30 Sandisk Il Ltd. Memory randomization for protection against side channel attacks
US20100211856A1 (en) * 2007-12-12 2010-08-19 Hanan Weingarten Systems and methods for error correction and decoding on multi-level physical media

Also Published As

Publication number Publication date
JP2012185689A (ja) 2012-09-27
TW201243603A (en) 2012-11-01
US8819331B2 (en) 2014-08-26
JP5398764B2 (ja) 2014-01-29
US20120233383A1 (en) 2012-09-13

Similar Documents

Publication Publication Date Title
US10355815B2 (en) Bitwise operations and apparatus in a multi-level system
US8788905B2 (en) Flash memory device error correction code controllers and related methods and memory systems
JP3234130B2 (ja) 誤り訂正符号復号化方法およびこの方法を用いる回路
JP5923631B2 (ja) データ反転によってデータ記憶を改良するための装置および方法
CN106469099B (zh) 在应用wom码的情况下的错误纠正
US5251219A (en) Error detection and correction circuit
JP6540703B2 (ja) メモリコントローラおよびメモリコントローラの制御方法
KR19990044903A (ko) 컴퓨터 저장 장치에서 랜덤화된 데이터에 대해crc 신드롬을 생성하기 위한 ecc 시스템
JP4982580B2 (ja) メモリシステム及びメモリシステムのデータ書き込み・読み出し方法
JP2011514743A (ja) 受信したシンボル列におけるフェーズドバーストエラー、消失、シンボルエラー、及び、ビットエラーを検出及び訂正するための方法及びシステム
US6772385B2 (en) Error-correcting device and decoder enabling fast error correction with reduced circuit scale
CN111462807B (zh) 错误更正码存储器装置和码字存取方法
JP2019186939A (ja) グループ誤りを用いる誤り検出
JP6975047B2 (ja) ライトワンスメモリコードのエラー訂正コード管理
EP1589665A1 (en) Error correction decoder comprising an erasure correcting Reed-Solomon decoder and a CRC decoder
TWI484342B (zh) 記憶體系統及記憶體控制器
CN111124741A (zh) 一种面向存储器特征的增强型校验纠错装置
CN110716824B (zh) 编码方法及使用所述编码方法的存储器存储装置
US11003528B2 (en) Memory system including an error correction function
EP0341851A2 (en) Method and apparatus for interleaved encoding
JP2021033530A (ja) メモリシステム
JPH11212876A (ja) 符号化方法およびそれを利用したメモリ装置
JPH11213692A (ja) メモリ装置
TWI789823B (zh) 記憶體存取方法和裝置
Abdulsattar et al. Lookup table algorithm for error correction in color images

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees