[go: up one dir, main page]

TWI381381B - Memory controller and semiconductor device - Google Patents

Memory controller and semiconductor device Download PDF

Info

Publication number
TWI381381B
TWI381381B TW097106645A TW97106645A TWI381381B TW I381381 B TWI381381 B TW I381381B TW 097106645 A TW097106645 A TW 097106645A TW 97106645 A TW97106645 A TW 97106645A TW I381381 B TWI381381 B TW I381381B
Authority
TW
Taiwan
Prior art keywords
data
value
memory
bits
written
Prior art date
Application number
TW097106645A
Other languages
English (en)
Other versions
TW200901199A (en
Inventor
Shinichi Kanno
Yosuke Kuroda
Toshio Shirakihara
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 TW200901199A publication Critical patent/TW200901199A/zh
Application granted granted Critical
Publication of TWI381381B publication Critical patent/TWI381381B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

記憶體控制器及半導體裝置
此發明,係有關於對NAND型快閃記憶體作控制之記憶體控制器、以及具備有此記憶體控制器之半導體裝置。
近年來,由於數位相機或是攜帶型聲音播放器之急速的普及,對大容量之不揮發性半導體記憶體的需要係擴大。而,作為不揮發性半導體記憶體,NAND型快閃記憶體(以下,亦有單純稱為快閃記憶體的情況)係被廣泛使用。
在NAND型快閃記憶體中,若是被注入有電子之記憶胞數增加,則非選擇之記憶胞所保持的資料係被破壞,也就是會產生有所謂的被稱為程式干擾(Program Disturb)之問題。又,當在記憶胞陣列中同一之資料連續時,由於GIDL(Gate Induced Drain Leakage),亦仍會產生程式干擾的問題。
對於上述問題,係提案有:藉由將作為記憶胞陣列之全體的充電量平均化,來解決程式干擾的手法(例如,參考專利文獻1)。但是,在此手法中,充電量之平均化係並不充分,又,亦無法防止同一之資料成為連續。故而,隨著NAND型快閃記憶體之大容量化,係會有其之動作信賴性惡化的問題。
〔專利文獻1]日本特開平7-334991號公報
本發明,係提供一種:能夠提升半導體記憶裝置之動作信賴性的記憶體控制器以及半導體裝置。
本發明之其中一種形態的記憶體控制器,係為對於對被連接在同一之字元線上的複數之不揮發性的記憶胞進行整批寫入動作的半導體裝置作控制之記憶體控制器,其特徵為,具備有:資料產生手段,係以應對於前述記憶胞而進行整批寫入的多位元之第1資料為依據,來產生複數之第2資料;和選擇手段,係將各位數係身為對於前述記憶胞而完成寫入的資料之每一位元的累積結果之累積值作保持,且在複數之前述第2資料中,對前述累積值之各位數與前述第2資料之各別的各位元之加算結果中,前述加算結果之在各位數間較為平均化之其中一者作選擇,藉由前述選擇手段所選擇之前述第2資料,和代表何者之前述第2資料係被作了選擇的資訊,係對於前述記憶胞而被寫入,前述選擇手段,係將相關於所選擇之前述第2資料的前述加算結果,作為新的前述累積值而作保持。
又,本發明之其中一種形態的半導體裝置,其特徵為,具備有:如申請專利範圍第1項又或是第2項所記載之記憶體控制器;和前述半導體記憶裝置,其係具備有:第 1記憶體區域,係配置有複數之被寫入有經由前述記憶體控制器之前述選擇手段所選擇之前述第2資料的前述記憶胞;和第2記憶體區域,係配置有被寫入有代表何者之前述第2資料係被選擇一事之前述資訊的前述記憶胞。
若藉由本發明,則能夠提供一種:能夠提升半導體記憶裝置之動作信賴性的記憶體控制器以及半導體裝置。
以下,參考圖面,針對本發明之實施形態作說明。在此說明時,涵蓋全圖,在共通之部分,係附加有相同之參考符號。
〔第1實施形態]
針對本發明之第1實施形態的半導體裝置,使用圖1來作說明。圖1,係為本實施形態之記憶體系統的區塊圖。如圖所示一般,記憶體系統1,大略係具備有:NAND型快閃記憶體10、和對NAND型快閃記憶體10作控制之記憶體控制器20。
首先,針對NAND型快閃記憶體10之構成作說明。另外,以下,係有將NAND型快閃記憶體10單純稱為快閃記憶體10的情形。如圖所示,快閃記憶體10,係具備有:記憶胞陣列11、頁面緩衝器(page buffer)12、以及 感應放大器(sense amplifier)13。記憶胞陣列11,係具備有被配置了複數之不揮發性的記憶胞MC之複數的記憶體區塊14。記憶胞MC之各個,係設為能夠保持1位元、亦即是2值之資料。被包含在同一之記憶體區塊14內的所有之記憶胞係被整批消去,又或是對於複數之記憶胞MC而整批地將資料寫入。以下,將整批地被寫入有資料之記憶胞MC的單位,稱為頁面(page)。頁面緩衝器12,係將被寫入至記憶胞MC的資料以頁面單位而作保存,並將所保持之寫入資料寫入至記憶胞MC處。感測放大氣13,係將從記憶胞MC所讀出之資料感測出來並放大。
針對上述記憶區塊14之構成,使用圖2來作說明。圖2,係為展示記憶區塊14之一部份構成的電路圖。如圖所示,記憶體區塊14,係具備有:正規胞陣列(REGULAR CELL ARRAY)15與ECC胞陣列16。正規胞陣列15,係作為用以保持從外部所被給予之寫入資料者而被使用,ECC胞陣列16,係作為用以保持從寫入資料而被產生之ECC資料者而被使用。
正規胞陣列15以及ECC胞陣列16,係具備有複數之NAND串(string)。各個NAND串,係具備有選擇電晶體ST1、ST2、以及32個的記憶胞電晶體MT。在NAND串內所包含之記憶胞電晶體MT的數量,係僅為其中一例,例如,亦可為8個、32個、64個、128個等。在各個的NAND串中所包含之選擇電晶體ST1,其汲極係被連接於位元線BL0~BL4313之任一者,而閘極係被共通連接於 選擇閘極線SGD。又,選擇電晶體ST2,其源極係被共通連接於源極線SL,而閘極係被共通連接於選擇閘極線SGS處。
記憶胞電晶體MT之各個,係為具備有在半導體基板上介於存在有絕緣膜而形成的層積閘極之MOS電晶體。層積閘極,係包含有被形成在閘極絕緣膜上之電荷積蓄層(例如浮游閘極)、和在電荷積蓄層上介於存在有絕緣膜而被形成的控制閘極。在各個的NAND串中,32個的記憶胞電晶體MT,係以在選擇電晶體STI之源極與選擇電晶體ST2之汲極間,使各個的電流路徑被串聯連接的方式而被配置。而,從位置於最靠源極側之記憶胞電晶體MT起,控制閘極係依序被連接於字元線WL0~WL31。故而,被連接於字元線WL31之記憶胞電晶體MT的汲極,係被連接於選擇電晶體ST1之源極,被連接於字元線WL0之記憶胞電晶體MT的源極,係被連接於選擇電晶體ST2之汲極。
上述構成之NAND串,在正規胞陣列15內係被配置有4096個,而在ECC胞陣列16內係被配置有218個。而,4096根之位元線BL0~BL4095,係被連接於正規胞陣列15內之NAND的各個,218根之位元線BL4096~BL4313,係被連接於ECC胞陣列16內之NAND串的各個。故而,1個的正規胞陣列15,係於每一根之字元線具備有4k位元之記憶體容量,而1個的ECC胞陣列16,係於每一根字元線具備有218位元之記憶體容量。
在一個的記憶體區塊14內,係被配置有8個的上述構成之正規胞陣列15與ECC胞陣列16的組合。故而,在1個的記憶體區塊14中之每一根字元線的正規胞陣列15的記憶體容量,係為(4k位元×8個)=4k位元組,而ECC胞陣列16的記憶體容量,係為(218位元×8個)=218位元組。而,在各個記憶體區塊14中,係對於被連接在同一字元線上之記憶胞電晶體MT,而整批地將資料寫入。亦即是,一頁面之容量,係成為(4k位元+218位元)。又,各記憶體區塊14內之記憶胞電晶體MT,係整批地被作資料消去。亦即是,消去之大小,由於字完線之根數係為32根,因此,係為((4k位元+218位元)×32)=(128k位元+6976位元)。
接下來,回到圖1,針對記憶體控制器20之構成作說明。如圖示一般,記憶體控制器20,係具備有:編碼器21、累積值判定器22、編碼器23、以及讀出用解碼器24。
圖3,係為展示編碼器21之構成的其中一例之區塊圖。如圖所示,編碼器21,係具備有:反轉器30、以及選擇器31。編碼器21,係從外部而受訊正規胞陣列15之1頁面份的輸入資料(4k位元)。反轉器30,係將輸入資料之各位元反轉。而,輸入資料(非反轉值)、和經由反轉器30所得到之反轉值,係被輸出至累積值判定器22。又,選擇器31,係根據從累積值判定器22所被給予之編碼ID,而選擇非反轉值與反轉值之其中一者,並將所選 擇之一方,作為寫入資料而輸出至頁面緩衝器12。寫入資料,係被寫入至記憶胞陣列11中之正規胞陣列15內。另外,針對編碼ID,係於後述。
回到圖1,針對記憶體控制器20之構成繼續作說明。累積值判定器22,係於從編碼器21所受訊之非反轉值與反轉值之中,選擇應被寫入記憶胞陣列11中之其中一者。而後,將該選擇資訊,作為編碼ID而輸出至編碼器21以及ECC編碼器23。此選擇動作,係根據累積值而進行。所謂累積值,係指對於在某一個記憶體區塊14中之記憶胞電晶體MT而完成寫入的資料之在每一位元線處所累積之值。而,累積值之各位數,係代表在各位元線中之“1”資料(電荷未被注入至浮游閘極中之狀態)的數量,亦即是,係代表在各個的NAND串中之被寫入有“1”資料的記憶胞電晶體MT的數量。故而,正規胞陣列15之位元線根數,係為(4096×8)根,而累積值之位數的數量,亦成為(4096×8)位。累積值判定部22,係保持此累積值。而後,在非反轉值與反轉值之中,對在非反轉值與反轉值之各位元與累積值之各位數的加算結果中,加算結果之各位數的值為較平均化之一者作選擇。
ECC編碼器23,係根據從編碼器21所被給予之寫入資料與編碼ID,而產生ECC資料。而後,將ECC資料與從累積值判定器22所給予之編碼ID,輸出至頁面緩衝器12處。ECC資料以及編碼ID,係被寫入至ECC胞陣列16內。特別是,在記憶體區塊14中,被連結於位元線 BL4313的記憶胞電晶體MT,係作為編碼ID保障用而被使用。
讀出用解碼器24。係將藉由感測放大器13所感測.放大之讀出資料,依據編碼ID而作解讀。亦即是,所讀出之編碼ID,若是其內容係為選擇了非反轉值的資訊,則係將所讀出之資料直接輸出。另一方面,若是其內容係為選擇了反轉值的資訊,則將所讀出之資料的各位元作反轉,並將此作為解讀資料而輸出。
接下來,針對在上述構成之記憶體系統中的寫入動作,注目於編碼器21以及累積值判定器22之動作而作說明。首先,使用圖4,針對編碼器21之動作作說明。圖4,係為展示編碼器21之動作的流程之流程圖。
如圖所示,編碼器21,首先係從外部而受訊正規胞陣列15之1頁面份的輸入資料(步驟S10)。而後,編碼器21,係將所接受之輸入資料,直接作為非反轉值而通知給累積值判定器22(步驟S11)。同時,編碼器21,係藉由反轉器30而將輸入資料反轉,並將反轉值通知給累積值判定器22(步驟S12)。而後,編碼器21係從累積值判定器22而收訊編碼ID(步驟S13)。而後,編碼器21之選擇器31,係根據編碼ID,而將非反轉值與反轉值之其中一者,作為寫入資料並輸出至NAND型快閃記憶體10(步驟S14)。對於編碼器21,雖係將複數之輸入資料連續作輸入,但是,當輸入資料係為最終資料的情況時(步驟S15,YES),係結束處理,而若是並非為最終資料 (步驟S15,NO),則回到步驟S10。
接下來,使用圖5,針對累積值判定器22之動作作說明。圖5,係為展示累積值判定器22之動作的流程之流程圖。
如圖所示,累積值判定器22,首先係從編碼器21而接收非反轉值(步驟S20)、又或是接收反轉值(步驟S21)。而後,當所接收之非反轉值以及反轉值係為對於該記憶體區塊之最初的輸入資料的情況時(步驟S22,YES),則在非反轉值與反轉值之中,選擇值為“1”之位元較多的一方。當身為“1”之位元的數量為同數的情況時,則選擇反轉值。進而,此選擇資訊,係作為編碼ID,而被輸出至編碼器21以及ECC編碼器23(步驟S23)。其結果,從編碼器21而被輸出之寫入資料,係被寫入至正規胞陣列15內,而根據寫入資料所產生之ECC資料以及編碼ID,係被寫入至ECC胞陣列16內。又,累積值判定器22,係將在步驟S23中所選擇之非反轉值與反轉值的其中一方,作為累積值而保持(步驟S24)。而後,在步驟S23中所選擇之被寫入至記憶胞MC的資料,若是對於該記憶胞區塊14,係為最終之寫入資料(步驟S25,YES),則處理係結束。若是並非如此(步驟S25,NO),則回到步驟S20,並反覆進行處理。
在上述步驟S22中,當並非為最初之輸入的情況時(步驟S22,NO),累積值判定器22接下來係判定非反轉值之所有位元是否為“0”。當所有位元均為“0”的情況時( 步驟S26,YES),累積值判定器22係選擇反轉值,並將該選擇資訊作為編碼ID而輸出至編碼器21及ECC編碼器23(步驟S27)。故而,於此情況,在正規胞陣列15中,係被寫入有反轉值。而後,累積值判定器22,係將非反轉值與反轉值之被作了選擇者的各位元,和自身所保持之累積值的各位數,其兩者間之加算結果,作為新的累積值而保持(步驟S28)。亦即是,在步驟S27之後,到此為止之被保持在累積值判定器22處的累積值,係被更新為再進而加算上了反轉值後之值。而後,前進至步驟S25。
在上述步驟S26中,當並非所有位元為“0”時,亦即是當任一的位元係為“1”的情況時(步驟S26,NO),累積值判定器22接下來係判定非反轉值之所有位元是否為“1”。當所有位元均為“1”的情況時(步驟S29,YES),累積值判定器22係選擇非反轉值,並將該選擇資訊作為編碼ID而輸出至編碼器21及ECC編碼器23(步驟S30)。故而,於此情況,在正規胞陣列15中,係被寫入有非反轉值。而後,前進至步驟S28之處理。亦即是,在步驟S30之後,到此為止之被保持在累積值判定器22處的累積值,係被更新為再進而加算上了非反轉值後之值。而後,前進至步驟S25。
在上述步驟S29中,當並非所有位元均為“1”的情況時,亦即是當任一之位元係為“0”的情況時(步驟S29,NO),則係前進至步驟S31之處理。在步驟S31中,累 積值判定器22,係將自身所保持之累積值的各位數,和在步驟S20、S21中所接收之非反轉值以及反轉值的各位元作加算。而後,計算出在非反轉值以及反轉值之各別的加算結果中之各位數的最大值與最小值之間的差(步驟S31)。接下來,累積值判定器22,係針對在步驟S31中所得到之非反轉值以及反轉值的各別之加算結果中所得到的差之大小關係作判定(步驟S32)。而後,對於非反轉值之加算結果的最大值與最小值間之差,若是較對於反轉值之加算結果的最大值與最小值間之差更小(步驟S33,NO),則累積值判定器22係選擇非反轉值。而後,將關於選擇了非反轉值之內容的資訊,作為編碼ID而輸出至編碼器21以及ECC編碼器23(步驟S34)。亦即是,於此情況,在正規胞陣列15中,係被寫入有非反轉值。
相反的,步驟S32之結果,若是對於非反轉值之加算結果的最大值與最小值間之差,係為對於反轉值之加算結果的最大值與最小值間之差以上(步驟S33,YES),則累積值判定器22係選擇反轉值。而後,將關於選擇了反轉值之內容的資訊,作為編碼ID而輸出至編碼器21以及ECC編碼器23(步驟S35)。亦即是,在正規胞陣列15中,係被寫入有反轉值。
在步驟S34、S35之後,累積值判定器22係前進至步驟S28之處理。
接下來,針對上述之圖4、圖5的處理,使用具體例而於以下作說明。圖6,係為展示在累積值判定器22中所 使用之各種訊號的圖表。在圖6中,作為其中一例,針對一頁面之容量大小係為4位元的情況時作展示。在圖6中,「輸入號碼」,係代表被寫入至某一記憶體區塊14中之複數的頁面資料之輸入順序。「輸入值」,係代表在各輸入號碼中的從外部而輸入至編碼器21中之輸入資料。「累積值(加算結果)」,針對輸入號碼1,係代表累積值,針對輸入號碼2以後,係代表在步驟S31中所得到之加算結果。「判定」,在步驟S23、S27、S30、S34、S35中,係代表選擇了非反轉值與反轉值中之何者,○記號係代表被選擇,×記號係代表非被選擇。編碼ID,在選擇了非反轉值時,係成為“0”,在選擇了反轉值時,係成為“1”。另外,輸入資料、非反轉值、以及反轉值,係以2進位數來表示,而累積值,係以10進位數來表示。
首先,在最初,於編碼器中輸入最初之輸入資料“1000”。此時之非反轉值以及反轉值,係分別為“1000”、“0111”。由於其係為被寫入至記憶體區塊14中之最初的資料(步驟S22,YES),故而,累積值判定器22,係選擇非反轉值與反轉值中,直為“1”的位元較多的一方,亦即是反轉值“0111”(步驟S23)。而後,累積值係成為“0111”,作為編碼ID,“1”係被通知至編碼器21以及ECC編碼器23(步驟S24)。
接下來,於編碼器中輸入輸入資料“1100”。此時之非反轉值以及反轉值,係分別為“1100”、“0011”。如此一來,由於其並非為最初的資料(步驟S22,NO),且非反轉 值係並非所有位元均為“0”(步驟S26,NO),更進而,非反轉值亦並非所有位元均為“1”(步驟S29,NO),因此,累積值判定器22,係將累積值之各位數,和非反轉值以及反轉值之各位元作加算(步驟S31)。如此一來,由於在此時間點之累積值係為“0111”,因此累積值與非反轉值“1100”之加算結果,係成為“1211”。又,累積值與反轉值“0011”之加算結果,係成為“0122”。如此一來,累積值與非反轉值之加算結果中的各位數之最大值係為“2”,最小值係為“1”,因此,最大值與最小值間之差係為“1”。又,累積值與反轉值之加算結果中的各位數之最大值係為“2”,最小值係為“0”,因此,最大值與最小值間之差係為“2”。故而,對於非反轉值之加算結果的最大值與最小值間之差“1”,係較對於反轉值之加算結果的最大值與最小值間之差“2”為更小(步驟S33,NO)。故而,累積值判定器22係選擇非反轉值“1100”,並將編碼ID設為“0”。而後,累積值判定器22,係將針對反轉值之加算結果“1211”,作為新的累積值並作保持(步驟S28)。另外,在圖6中,於輸入號碼“2”以後,附加有斜線之加算結果係成為新的累積值。
以下,針對輸入號碼“3”、“4”,係進行與輸入號碼“2”的情況相同之處理。接下來,針對輸入號碼“5”作說明。第5個的輸入資料,係為“0000”,此時之非反轉值以及反轉值,係分別為“0000”、“1111”。如此一來,由於其並非為最初的資料(步驟S22,NO),且非反轉值之所有位元 均為“0”(步驟S26,YES),因此累積值判定器22係選擇反轉值“1111”(步驟S27)。如此一來,由於在此時間點之累積值係為“2322”,因此累積值與反轉值“1111”之加算結果“3433”,係成為新的累積值(步驟S28)。
以下,針對輸入號碼“6”、“7”,係進行與輸入號碼“2”的情況相同之處理。
接下來,針對輸入號碼“8”作說明。第8個的輸入資料,係為“0011”。此時之非反轉值以及反轉值,係分別為“0011”、“1100”。如此一來,累積值判定器22,係將累積值之各位數,和非反轉值以及反轉值之各位元作加算(步驟S31)。如此一來,由於在此時間點之累積值係為“4554”,因此累積值與非反轉值“0011”之加算結果,係成為“4565”。又,累積值與反轉值“1100”之加算結果,係成為“5654”。如此一來,累積值與非反轉值之加算結果中的各位數之最大值係為“6”,最小值係為“5”,因此,最大值與最小值間之差係為“1”。又,累積值與反轉值之加算結果中的各位數之最大值係為“6”,最小值係為“5”,因此,最大值與最小值間之差係為“1”。故而,對於非反轉值之加算結果的最大值與最小值間之差“1”,係與對於反轉值之加算結果的最大值與最小值間之差“1”為相等(步驟S33,YES)。故而,累積值判定器22係選擇反轉值“1100”,並將編碼ID設為“1”。而後,累積值判定器22,係將針對反轉值之加算結果“5654”,作為新的累積值並作保持(步驟S28)。
以下,針對輸入號碼“9”,係進行與輸入號碼“8”的情況時相同之處理,針對輸入號碼“10”、“11”,係進行與輸入號碼“2”的情況時相同之處理。如上述一般,若是藉由本發明之第1實施形態的記憶體系統,則係可得到下述(1)、(2)之效果。
(1)能夠提升半導體記憶裝置之動作的信賴性(其之1)。
若是本實施形態之構成,則記憶體控制器20係具備有累積值判定器22,並在每一位元線處將完成寫入之資料作累積並保持。而後,根據此累積值,決定將輸入資料直接寫入,又或是將其反轉後再作寫入。故而,能夠提升NAND型快閃記憶體之動作信賴性。針對本效果,於以下作說明。
例如,若是在先前技術中所說明之專利文獻1所記載的NAND型快閃記憶體,則作為記憶胞陣列之全體的充電量係被平均。但是,充電量之被平均化,係僅係作為記憶胞陣列之全體的考慮,而並未考慮有位元線間之充電量的偏差。故而,依情況,亦會有在某一之位元線處產生充電之集中的情形。若是充電係集中在某一位元線,則在該位元線處係容易產生資料之錯誤。如此一來,在搭載有ECC功能之NAND型快閃記憶體中,由於係必須以能夠藉由最容易產生錯誤之位元線來進行救濟的方式,來進行ECC,因此,當充電集中在某一位元線處一般的情況下,會有 ECC之效率降低的問題。
但是,在本發明之構成中,係將過去寫入至記憶胞電晶體MT處之資料,在每一位元線中作累積。而後,將新的應寫入之資料的非反轉值以及反轉值與累積值作加算,並選擇在該加算結果中之各位數的最大值與最小值之差成為較小者。亦即是,加算結果之各位數,係代表在各位元線中之總和的“1”資料之數量。故而,若是加算結果之各位數的最大值與最小值越大,則代表在位元線間之充電的偏差為越大。於此,以使各位數之最大值與最小值間之差成為更小的方式,亦即是使在位元線間之充電的偏差成為較小的方式,來選擇非反轉值與反轉值之其中一者,而寫入至記憶胞電晶體MT中。
故而,在位元線間,保持“1”資料之記憶胞電晶體MT的數量係被平均化。亦即是,能夠防止充電集中在某一位元線中。因此,資料之錯誤的發生確率,係在位元線間被均等化,而能夠提升ECC之效率。藉由此,能夠提升NAND型快閃記憶體10之動作信賴性。
(2)能夠提升半導體記憶裝置之動作信賴性(其之2)。
近年之對NAND型快閃記憶體的大容量化之要求,係日漸增加。相反的,寫入以及讀出資料之信賴性係有逐漸惡化的傾向。作為其理由,例如,係可列舉出:在NAND型快閃記憶體中,由於係為利用有通道電流(tunnel current)之資料記錄方式,因此,係無法將閘極絕緣膜( 通道氧化膜)之膜厚薄化至一定程度以下。雖然如此,但由於記憶胞電晶體MT之閘極長度、閘極寬幅等之橫方向的尺寸係縮小,因此,所謂的GIDL現象所致之資料保存(記錄資料消失)係成為顯著。
又,亦可列舉出:為了削減每一位元之單位面積,在NAND串內之記憶胞電晶體數係變大。其結果,在NAND串中所流動之電流係變小,在讀出資料並感測時所需要之電壓變動或電流值係愈加變小。
進而,NAND串內之記憶胞電晶體數變大一事,係有使對於讀取擾動(read disturb,以下略記為RD)之耐性,或是對於程式擾動(以下略記為PD)之耐性惡化的傾向。此些之RD以及PD的惡化,在NAND串內之串聯而連續的記憶胞電晶體為ON的情況時,會有該連續之記憶胞電晶體的數量越大則變得越顯著之傾向。此係因為以下之理由所致。
亦即是,在各記憶胞電晶體MT中,例如,係存在有在記憶胞電晶體之源極又或是汲極區域、和被形成有記憶胞電晶體之井區域之間的pn接合所形成的寄生電容。如此一來,若是在列(column)方向連續之複數的記憶胞電晶體MT成為ON狀態,則在NAND串內係會產生非常大的寄生電容。亦即是,成為ON狀態之記憶胞電晶體的寄生電容係被並聯連接,而形成巨大的寄生電容。而,此寄生電容,對於NAND型快閃記憶體係會造成各種的不良影響。例如,當在某一字元線WL處被施加有讀出電壓時, 從寄生電容所被供給之大量的電荷(電流),係藉由字元線WL之閘極電壓而被加速,並產生熱電子(hot electron)。而,所產生之熱電子,係超過被連結於字元線WL之記憶胞電晶體的通道氧化膜,而破壞此記憶胞電晶體之記錄資料。此係為所謂的GIDL現象。進而,當連續之多數的記憶胞電晶體成為ON的情況時,係判明了:不僅是RD現象,而亦容易發生PD現象。
然而,若是本實施形態之構成,則係使輸入資料非反轉又或是反轉,而寫入資料。亦即是,在輸入資料中,就算是當在某-位元線上連續有“0”資料一般的情況,經由累積值判定器22之判定結果,亦係成為被寫入有身為其之反轉值的“1”資料,而能夠防止“0”資料在同一列上連續。故而,能夠防止在NAND串內連續之多數的記憶胞電晶體同時成為ON的事態。其結果,上述之RD或PD的問題係被緩和,而能夠提升NAND型快閃記憶體之動作信賴性。
另外,在上述第1實施形態中,於步驟S31~S33中,係對在累積值與非反轉值以及反轉值之加算結果中,各位數之最大值與最小值間之差的大小關係作判定。但是,此判定處理,係並不需要一定是以加算結果之各位數的最大值與最小值為依據而進行,而例如亦可使用標準差來進行。圖7,係為展示在此種情況中之累積值判定器22的處理之流程的流程圖。
如圖示一般,當不滿足在步驟S29中之「非反轉值之 所有位元為“1”」的條件時(步驟S29,NO),累積值判定器22,係將累積值之各位數,與非反轉值以及反轉值之各位元作加算。接下來,針對關於非反轉值以及反轉值之各別的加算結果,計算出標準差(步驟S40)。接下來,對關於非反轉值以及反轉值之加算結果的標準差之大小關係作判定(步驟S41)。而後,當累積值與非反轉值之加算結果的標準差,係較累積值與反轉值之加算結果的標準差為更小的情況時(步驟S42,NO),則前進至步驟S34。相反的,當累積值與非反轉值之加算結果的標準差,係為累積值與反轉值之加算結果的標準差以上的情況時(步驟S42,YES),則前進至步驟s35。藉由本方法,亦可得到上述所說明之(1)以及(2)的效果。
〔第2實施形態]
接下來,針對本發明之第2實施形態的半導體裝置作說明。本實施形態,係為在上述第1實施形態中,當累積值之所有的位數係為“1”以上的情況時,將各位數之值分別減去“1”者。記憶體系統之構成,或是編碼器21之動作等,由於係為和上述第1實施形態相同,因此,以下係僅針對與第1實施形態相異之點作說明。
圖8,係為展示本實施形態之累積值判定器22的動作之流程圖。如圖所示一般,其與在第1實施形態中所說明之圖5相異之點,係為在步驟S24、S28之後,進行步驟S50的處理之點。在步驟S50中,係判定在步驟S24、S28 中所得到之累積值的所有之位數是否為“1”以上,當所有之位數係為“1”以上的情況時,則從所有之位數的各別的值中減算“1”,並將此作為新的累積值而保持在累積值判定器22中。
接下來,針對上述圖8之處理,使用具體例而於以下作說明。圖9,係為展示在累積值判定器22中所使用之各種訊號的圖表,而展示與圖6相同之資訊。
如圖示一般,在輸入號碼“2”處,累積值“0111”與非反轉值“1100”之加算結果,係為“1211”,而與反轉值“0011”之加算結果,係為“0122”。如此一來,在步驟S28中,累積值判定器2,係將加算結果“1211”作為累積值並作保持。如此一來,由於累積值“1211”係所有的位數均為“1”以上,因此,累積值判定器22係在步驟S50中,將對於累積值“1211”之各位數減去“1”後的“0100”作為新的累積值而保持。
在接下來的輸入號碼“3”處,係進行在步驟S50中所得到之累積值“0100”與非反轉值“0110”以及反轉值“1001”間之加算。如此一來,針對非反轉值之加算結果係為“0210”,而針對反轉值之加算結果係為“1101”。故而,累積值判定器22,係將加算結果“1101”作為累積值並作保持。於此情況,由於累積值之第2位數係為“0”,因此,在步驟S50中,係並不從各位元而減去“1”,而將加算結果“1101”保持原狀地作為累積值而保持。
以下,係為相同。
如上述一般,若是藉由本發明之第2實施形態的記憶體系統1,則除了可得到在上述第1實施形態1中所說明的(1)、(2)之效果外,可以得到下述(3)之效果。
(3)能夠削減記憶體控制器20之容量(其之1)。
當累積值係為單純的將過去所寫入之資料作累積者的情況時,其之最大值,係成為與該累積值所計數之NAND串內的字元線之根數相等。例如,當字元線係為32根的情況時,累積值之各位數的最大值係成為“32”。如此一來,累積值之各位數以2進位數來表示係成為5位元之資料,在累積值之各位數,係成為各需要5段的暫存器。
相對於此,若是本實施形態之構成,則當累積值之各位數的值超過了“1”的情況時,係從所有的位數而減去“1”。藉由此,累積值之各位數成為所能取得之最大值(當字元線之根數係為32根的情況時,係為“32”)的可能性係降低。故而,能夠削減累積值之各位數的暫存器數,而能夠削減記憶體控制器20之容量。
又,累積值之絕對值本身係沒有意義,只要知道累積之位元間的值之差即為足夠。此係因為,累積值之各位數的值之差,係代表位元線間之充電的差之故。故而,就算是如同本實施形態一般,將累積值之各位數的值減去“1”,對於在位元線間將充電平均化一事,係並不會造成任何的影響。
另外,在本實施形態中,係可將步驟S31~S33之工 程,置換為使用圖7所說明了的步驟S40~S42。
〔第3實施形態]
接下來,針對本發明之第3實施形態的半導體裝置作說明。本實施形態,係在上述第2實施形態中,當在前述加算結果之任一位數中產生有溢位(overflow)的情況時,將該位數之值,置換為以該位數而能夠計數之最大值的“2”之商,並將其他各位數以“2”之商來置換。記憶體系統1之構成,或是編碼器21之動作等,由於係為和上述第1、第2實施形態相同,因此,以下係僅針對與第1、第2實施形態相異之點作說明。
圖10,係為展示本實施形態之累積值判定器22的動作之流程圖。如圖所示一般,其與在第2實施形態中所說明之圖8相異之點,係為將步驟S31置換為步驟S60~S63之點。亦即是,當不滿足在步驟S29中之「非反轉值之所有位元為“1”」的條件時(步驟S29,NO),累積值判定器22,係將累積值之各位數,與非反轉值以及反轉值之各位元作加算(步驟S60)。而後,判定在藉由步驟S60所得到之加算結果的任一之位數處是否產生有溢位。當未產生有溢位的情況時(步驟S61,NO),係前進至步驟S32之處理。亦即是,此情況之處理,係和上述第1、第2實施形態相同。
當在步驟S61中產生有溢位的情況時(步驟S61,YES),累積值判定部22,係在將產生了溢位之位數,設 為該位數所能夠取得之最大值,並更進而將所有之位數作1位元之右偏移後之值,作為新的加算結果(步驟S62)。例如,假設累積值之某一位數的最大值係為“7”。假設當此位數之值係成為例如“8”而產生了溢位的情況時,則首先將此位數之值設為最大值之“7”(2進位數之“111”)。之後,再進行1位元之右偏移。亦即是,設為“111”→“011”(以10進位數表示,係為“3”)。將此結果所得到的“3”,作為對於該位數之加算結果。換言之,係對產生溢位之位數,將該位數所能夠取得之最大值“7”,置換為除以“2”後之商“3”。另外,除法後之餘數係捨去。針對其他之各位數,亦對於所保持之值而進行同樣的處理。而後,使用在步驟S62所得到之加算結果,計算出針對非反轉值以及反轉值之加算結果中的各位數之最大值與最小值間之差(步驟S63),並前進至步驟S32。之後的處理,係和上述第1、第2實施形態相同。
如上述一般,若是本發明之第3實施形態的記憶體系統1,則除了可得到在上述第1實施形態1中所說明的(1)、(2)之效果,以及在第2實施形態中所說明之(3)的效果外,可以得到下述(4)之效果。
(4)能夠削減記憶體控制器20之容量(其之2)。
圖11,係為展示在累積值判定器22中保持累積值之累積值保持部的區塊圖。另外,在圖11中,係針對累積值為4位數,亦即是位元線根數係為4根時的情況作展示 。
如圖示一般,累積值保持部,係具備有4個的保持部40~43。保持部40~43之各個,係將4個位數之累積值的各位數之值作保持。而,保持部40~43之各個,係具備有2個的暫存器44、45,各暫存器44、45,係保持2進位數1位元之資料。在圖11中,係展示作為累積值而保持有“3210”時之模樣。亦即是,保持部40之暫存器44、45,係分別保持“0”、“0”,保持部41之暫存器44、45,係分別保持“0”、“1”,保持部42之暫存器44、45,係分別保持“1”、“0”,保持部43之暫存器44、45,係分別保持“1”、“1”。
在此狀態下,考慮更進而加算上“1000”的情況。在保持部43,由於係被加算有“1”,因此,原本加算結果應係變成“3”+“1”=“4”,但是,保持部43係最大只能計數到“3”為止。亦即是,係產生有溢流,而正確之加算係成為困難。
但是,若是本實施形態,則係預先決定有當發生溢流時之規則。具體而言,係將該保持部43所能夠保持之最大值的對於“2”之商,作為在發生溢流時所應保持之值。故而,在圖11之情況中,係保持將“3”以“2”而作除算後之商“1”。換言之,係將被包含於保持部43處之所有暫存器44、45的值設為“1”,並將此值作1位元之右橫移。針對保持部40、41、42,係將所保持之值作1位元之右橫移,而分別成為“0”、“0”、“1”,並作為新的累積值而保持 “1100”。
藉由此,就算是在可能會產生溢流的情況時,亦成為可進行正確之處理。本處理,係特別在與第2實施形態作組合時會成為具有顯著的效果。亦即是,在第2實施形態中,係藉由從累積值之各位數而減去“1”,來削減保持累積值之暫存器數。但是,於此情形,係成為經驗性地來求取出累積值之各位數所可能達到的最大值。故而,若是削減過多之暫存器數,則會有在累積值之各位數處發生溢流之虞。但是,就算是在此種情況,藉由如同本實施形態一般而施加溢流時之對策,成為能夠在有效地減少暫存器數的同時,亦進行正確之處理。
又,在NAND型快閃記憶體10中,資料係從接近源極側之選擇閘極線SGS的記憶胞電晶體MT(被連接於字元線WL0之記憶胞電晶體MT)起而依序寫入資料。故而,對於越接近選擇閘極線SGS之記憶胞電晶體MT,越應該注意其之位元線間的充電量。對於此點,累積值之溢流,係在對寫入為較遲之記憶胞電晶體MT、亦即是在對接近於汲極側之選擇閘極線SGD的記憶胞電晶體MT作寫入時產生,而在對接近於源極側之選擇閘極線SGS的記憶胞電晶體MT作寫入時則難以發生。故而,就算是在由於發生溢流而使得累積值成為無法正確地表現位元線間之充電量差,在該時間點,亦由於對接近選擇閘極線SGS之記憶胞電晶體MT的寫入應已結束,因此,實際上,係不會產生問題。
另外,在本實施形態中,步驟S63、S32之處理,亦可如同在第1實施形態中所說明一般地使用標準差來進行。又,步驟S50之處理亦並非絕對必要,而亦可作省略。
〔第4實施形態]
接下來,針對本發明之第4實施形態的半導體裝置作說明。本實施形態,係將上述第1乃至第3實施形態中之編碼器21,藉由擬似亂數產生器而形成者。於以下,係僅針對與上述第1乃至第3實施形態相異之點作說明。圖12,係為展示具備有本實施形態之記憶體控制器20的編碼器21之構成的區塊圖。
如圖所示,編碼器21,係具備有:第1擬似亂數產生器32;第2擬似亂數產生器33;XOR閘極34、35;以及選擇器36。第1擬似亂數產生器32,係根據寫入資料之位址的上位位元(以下,稱為上位位址),而產生擬似亂數。亦即是,係將上位位址作為擾亂種(Scramble Seed)而產生擬似亂數。第2擬似亂數產生器33,係根據寫入資料之位址的下位位元(以下,稱為下位位址),而產生擬似亂數。亦即是,係將下位位址作為擾亂種(Scramble Seed)而產生擬似亂數。第1、第2擬似亂數產生器32、33,係共同為相同之構成,若是擾亂種係為相同,則係產生相同之擬似亂數。
XOR閘極34,係進行藉由第1擬似亂數產生器32所產生之擬似亂數與輸入資料間之排他的邏輯和演算,並將 演算結果作為第1擾亂資料而輸出。XOR閘極35,係進行藉由第2擬似亂數產生器33所產生之擬似亂數與輸入資料間之排他的邏輯和演算,並將演算結果作為第2擾亂資料而輸出。
選擇器36,係根據編碼ID,而將第1、第2擾亂資料之其中一方作為寫入資料來輸出。更具體而言,當編碼ID為“0”的情況時,係選擇第1擾亂資料,當編碼ID為“1”的情況時,係選擇第2擾亂資料。
圖13,係為展示讀出用解碼器24之構成的區塊圖。如圖所示,讀出用解碼器24,係具備有:選擇器60、擬似亂數產生器61;以及XOR閘極62。
選擇器60,係根據編碼ID,而選擇上位位元與下位位元之其中一方。更具體而言,當編碼ID為“0”的情況時,係選擇上位位元,當編碼ID為“1”的情況時,係選擇下位位元。擬似亂數產生器61,係具備有與在編碼器21中之第1、第2擬似亂數產生器32、33相同的構成,並將藉由選擇器60所選擇之上位位址與下位位址之其中一方,作為擾亂種(Scramble Seed)而產生擬似亂數。XOR閘極62,係進行藉由感測放大器13所感測.放大之讀出資料,與藉由擬似亂數產生器61所產生之擬似亂數間之排他的邏輯和演算。而後,在XOR閘極62中之演算結果,係成為被解讀了的資料。
本實施形態之編碼器21的動作,係為在上述之第1實施形態所說明了的圖4之流程圖中,將非反轉值與反轉 值,分別置換為第1、第2擾亂資料後者。
又,本實施形態之編碼器22的動作,係為在上述之第1乃至第3實施形態所說明了的圖5、圖7、圖8、圖10之流程圖中,將非反轉值與反轉值,分別置換為第1、第2擾亂資料後者。
亦即是,輸入資料,係經由第1、第2擬似亂數產生器32、33,分別根據相異之規則而被作擾亂。如此這般所產生之第1、第2擾亂資料,係作為寫入資料而被寫入至NAND型快閃記憶體10中。
累積值判定器22,係將被寫入至NAND型快閃記憶體10中之第1、第2擾亂資料作累積加算。此累積值之各位數,係對應於NAND型快閃記憶體10中之各位元線。而,累積值判定器22,係將累積值之各位數與第1擾亂資料之各位元作加算,又,將累積值之各位數與第2擾亂資料之各位元作加算。進而,在第1、第2擾亂資料中,選擇加算結果之各位數的最大值與最小值間之差、又或是標準差為較小的一方。
如上述一般,若是本發明之第4實施形態的記憶體系統1,則除了可得到在上述第1乃至第3實施形態中所說明的(1)乃至(4)之效果外,可以得到下述(5)之效果。
(5)能夠提升半導體記憶裝置之動作信賴性(其之3)。
若是本實施形態之記憶體系統1,則編碼器21,係具 備有包含第1、第2擬似亂數產生器32、33與XOR閘極34、35的線性迴授位移暫存器(Linear Feedback Shift Register)。而後,將經由此線性迴授位移暫存器而對輸入資料作擾亂所得到的第1、第2擾亂資料之其中一方,寫入至記憶胞電晶體MT中。
亦即是,被寫入至NAND型快閃記憶體10中之資料,係經由選擇第1、第2擾亂資料之其中一者,而在位元線方向被隨機化(randomize)。進而,藉由使用擬似亂數來作擾亂,在頁面內係亦被隨機化。換言之,在字元線方向係亦被隨機化。
故而,不僅是位元線方向,在字元線方向亦可防止同一之資料成為連續。故而,如同在第1實施形態中作為效果(2)所說明了一般,RD或PD的問題係被緩和,而能夠提升NAND型快閃記憶體之動作信賴性。
另外,在本實施形態中,係針對編碼器21具備有2個的擬似亂數產生器的情況而作了說明。但是,擬似亂數產生器之數量係亦可為1個。於此情況,1個的擬似亂數產生器,係將上位位址以及下位位址作為擾亂種而使用,並產生2個的擬似亂數,而將此保持在暫存器中。而後,只要進行被保持在暫存器中之擬似亂數與輸入資料間之排他性邏輯和演算即可。
又,編碼器21係亦可產生3個以上之擾亂資料。於此情況,可用1個的擬似亂數產生器來產生3個以上的亂數,亦可設置3個以上的擬似亂數產生器。
〔第5實施形態]
接下來,針對本發明之第5實施形態的半導體裝置作說明。本實施形態,係為在上述第1乃至第3實施形態中,有關於記憶胞電晶體MT之各個係保持4值之資料時的情況者。於以下,係僅針對與上述第1乃至第3實施形態相異之點作說明。
針對本實施形態的記憶胞電晶體MT之臨限值,使用圖14來作說明。圖14,係為展示記憶胞電晶體MT之臨限值分布的圖表,橫軸係代表臨限值電壓Vth,縱軸係代表記憶胞之存在確率。
如圖示一般,記憶胞MC,係從臨限值電壓之較低者起依序可保持“11”、“10”、“00”、“01”之4個的資料。保持“11”資料之記憶胞的臨限值電壓Vth,係為Vth<0。保持“10”資料之記憶胞的臨限值電壓Vth,係為0V<Vth<Vth1。保持“00”資料之記憶胞的臨限值電壓Vth,係為Vth1<Vth<Vth2。保持“01”資料之記憶胞的臨限值電壓Vth,係為Vth2<Vth<Vth3。
針對上述4值之資料的對記憶胞MC之寫入方法,使用圖15而作簡單說明。圖15,係為展示記憶胞之臨限值分布的圖表,而展示有在寫入時之記憶胞的臨限值電壓Vth之變化的模樣。資料,係對於1個頁面而整批作寫入。又,資料之寫入,係分開為第1寫入與第2寫入的2次。
在寫入中,記憶胞係成為消去狀態。亦即是,記憶胞之臨限值電壓係為負之值,而為保持有“11”資料之狀態。在此狀態下,首先進行第1寫入。當寫入資料(第1寫入資料)係為“1”的情況時,在浮游閘極中係並不會被注入電子,而臨限值電壓Vth係為不變。當第1寫入資料係為“0”的情況時,在浮游閘極中係被注入有電子,臨限值電壓Vth係朝向正的方向變化,而成為Vth1<Vth<Vth2。亦即是,記憶胞係成為與保持“00”時幾乎相同的臨限值。
接下來,進行第2寫入。首先,針對第1寫入資料係為“1”時的情況作說明。在此情況下,當在第2寫入中的寫入資料(第2寫入資料)係為“1”的情況時,在第2寫入中,於浮游閘極處亦並不被注入有電子,而臨限值電壓Vth係維持負的值。其結果,在記憶胞中,係被寫入“11”。當第2寫入資料係為“0”時的情況時,於浮游閘極中係被注入有電子。其結果,臨限值電壓Vth係從負而朝向正的方向變化,而成為約0V<Vth<Vth1。亦即是,在記憶胞中,係被寫入“10”。
接下來,針對第1寫入資料係為“0”時的情況作說明。在此情況下,當第2寫入資料係為“0”時的情況時,於第2寫入時,在浮游閘極中係未被注入有電子。故而,第1寫入之結果的值係被維持。亦即是,係成為Vth1<Vth<Vth2,其結果,在記憶胞中,係被寫入“00”。當第2寫入資料係為“1”時的情況時,於浮游閘極中係被更進而注入有電子。其結果,臨限值電壓Vth係更加朝向正的方向 變化,而成為Vth2<Vth<Vth3。亦即是,在記憶胞中,係被寫入“01”。
接下來,使用圖16,針對本實施形態之記憶體控制器20所具備的的編碼器21之構成做說明。圖16,係為編碼器21之區塊圖。如圖示一般,編碼器21,係在第1實施形態所說明之圖3的構成中,更進而具備有第1編碼部37、第2編碼部38、以及記憶體39。
記憶體39,係具備有編碼表格70。針對編碼表格之其中一例,使用圖17作說明。圖17,係為編碼表格之概念圖。如圖所示一般,編碼表格,係保持對於輸入資料之非反轉值與反轉值的累積用符號。作為累積用符號,係從充電量較多者起,依序分配有“0”、“1”、“2”、“3”。亦即是,當非反轉值又或是反轉值係為“01”的情況時之累積用符號係為“0”,當非反轉值又或是反轉值係為“00”的情況時之累積用符號係為“1”,當非反轉值又或是反轉值係為“10”的情況時之累積用符號係為“2”,當非反轉值又或是反轉值係為“11”的情況時之累積用符號係為“3”。
第1編碼部37,係根據記憶體39內之編碼表格70,而將非反轉值編碼並產生第1編碼資料,而輸出至累積值判定器22。亦即是,第1編碼部37,當非反轉值係為“01”、“00”、“10”、“11”的情況時,作為第1編碼資料,係分別輸出“0”、“1”、“2”、“3”。
第2編碼部38,係根據記憶體39內之編碼表格70,而將反轉值編碼並產生第2編碼資料,而輸出至累積值判 定器22。亦即是,第2編碼部38,當反轉值係為“01”、“00”、“10”、“11”的情況時,作為第2編碼資料,係分別輸出“0”、“1”、“2”、“3”。其他之構成,由於係和上述第1乃至第3實施形態相同,故省略其說明。
接下來,使用圖18,針對上述構成之編碼器21的動作作說明。圖18,係為展示本實施形態之編碼器21的動作之流程的流程圖。
如圖示一般,編碼器21,首先係從外部而接受正規胞陣列15之1頁面份的輸入資料(步驟S10)。而後,編碼器21之第1編碼部37,係將非反轉值根據編碼表格70而編碼化,並將其結果所得到的第1編碼資料通知給累積值判定器22(步驟S70)。同時,編碼器21之第2編碼部38,係將藉由反轉器30所得到之反轉值,根據編碼表格70而編碼化,並將其結果所得到的第2編碼資料通知給累積值判定器22(步驟S71)。而後,編碼器21係從累積值判定器22而收訊編碼ID(步驟S13)。而後,編碼器21之選擇器31,係根據編碼ID,而將非反轉值與反轉值之其中一者,作為寫入資料並輸出至NAND型快閃記憶體10(步驟S14)。而後,當輸入資料係為最終資料的情況時(步驟S15,YES),係結束處理,而若是並非為最終資料(步驟S15,NO),則回到步驟S10。
累積值判定器22的動作,大略係為在上述之第1乃至第3實施形態所說明了的圖5、圖7、圖8、以及圖10之流程圖中,將非反轉值與反轉值,分別置換為第1、第 2編碼資料後者。圖19,係為展示本實施形態之累積值判定器22的處理之流程的流程圖。
如圖所示,累積值判定器22,首先係從編碼器21而接收第1編碼資料(步驟S90)、又或是接收第2編碼資料(步驟S91)。而後,當所接收之第1、第2編碼資料係為對硬於該記憶體區塊14之最初的輸入資料者的情況時(步驟S92,YES),則在第1、第2編碼資料之中,選擇值各位數之和為較大的一方。當各位數之和係為同值的情況時,係選擇第2編碼資料。進而,此選擇資訊,係作為編碼ID,而被輸出至編碼器21以及ECC編碼器23(步驟S93)。其結果,從編碼器21而被輸出之寫入資料,係被寫入至正規胞陣列15內,而根據寫入資料所產生之ECC資料以及編碼ID,係被寫入至ECC胞陣列16內。又,累積值判定器22,係將在步驟S93中所選擇之第1、第2編碼資料的其中一方,作為累積值而保持(步驟S94)。而後,在步驟S93中所選擇之被寫入至記憶胞MC的資料,若是對於該記憶胞區塊14,係為最終之寫入資料(步驟S95,YES),則處理係結束。若是並非如此(步驟S95,NO),則回到步驟S90,並反覆進行處理。
在上述步驟S92中,當並非為最初之輸入的情況時(步驟S92,NO),累積值判定器22接下來係判定非反轉值之所有位元是否為相同,且其上位位元是否為“0”。對於非反轉值是否全部相同的判定,係可藉由檢視第1編碼資料之所有位元是否為相同之值一事來進行。又,對於其 上位位元是否為“0”的判定,係將在累積值中,與第1、第2編碼資料獨立輸入非反轉值,並藉由此來進行判定,亦可使累積值判定器22根據圖17所示之對應關係,而從第1編碼資料來作判斷。當非反轉值係全部相同,且其上位位元為“0”的情況時(步驟S96,YES),累積值判定器22係選擇第2編碼資料,並將該選擇資訊作為編碼ID而輸出至編碼器21及ECC編碼器23(步驟S97)。故而,於此情況,在正規胞陣列15中,係被寫入有反轉值。而後,累積值判定器22,係將第1、第2編碼資料之被作了選擇者的各位元,和自身所保持之累積值的各位數,其兩者間之加算結果,作為新的累積值而保持(步驟S98)。亦即是,在步驟S97之後,到此為止之被保持在累積值判定器22處的累積值,係被更新為再進而加算上了第2編碼資料後之值。而後,前進至步驟S95。
當並未滿足上述步驟S96之條件的情況時(步驟S96,NO),累積值判定器22接下來係判定非反轉值之值是否為全部相同,且其上位位元是否為“1”。當非反轉值係全部相同,且其上位位元為“1”的情況時(步驟S99,YES),累積值判定器22係選擇第1編碼資料,並將該選擇資訊作為編碼ID而輸出至編碼器21及ECC編碼器23(步驟S100)。故而,於此情況,在正規胞陣列15中,係被寫入有非反轉值。而後,前進至步驟S98之處理。亦即是,在步驟S100之後,到此為止之被保持在累積值判定器22處的累積值,係被更新為再進而加算上了第1編碼 資料後之值。而後,前進至步驟S95。
當未滿足上述步驟S99之條件的情況時,亦即是,當未滿足「非反轉值之值係全部相同」的條件時(步驟S99,NO),則前進至步驟S101之處理。在步驟S101中,累積值判定器22,係將自身所保持之累積值的各位數,和在步驟S90、S91中所接收之第1編碼資料以及第2編碼資料的各位元作加算。而後,計算出在第1編碼資料以及第2編碼資料之各別的加算結果中之各位數的最大值與最小值之間的差(步驟S101)。接下來,累積值判定器22,係針對在步驟S101中所得到之第1編碼資料以及第2編碼資料的各別之加算結果中所得到的差之大小關係作判定(步驟S102)。而後,對於第1編碼資料之加算結果的最大值與最小值間之差,若是較對於第2編碼資料之加算結果的最大值與最小值間之差更小(步驟S103,NO),則累積值判定器22係選擇第1編碼資料。而後,將關於選擇了第1編碼資料之內容的資訊,作為編碼ID而輸出至編碼器21以及ECC編碼器23(步驟S104)。亦即是,在正規胞陣列15中,係被寫入有非反轉值。
相反的,步驟S102之結果,對於第1編碼資料之加算結果的最大值與最小值間之差,若是為對於第2編碼資料之加算結果的最大值與最小值間之差以上(步驟S103,YES),則累積值判定器22係選擇第2編碼資料。而後,將關於選擇了第2編碼資料之內容的資訊,作為編碼ID而輸出至編碼器21以及ECC編碼器23(步驟S105) 。亦即是,在正規胞陣列15中,係被寫入有反轉值。
在步驟S104、S105之後,累積值判定器22係前進至步驟S98之處理。
以下,使用圖20,針對上述處理之具體例作說明。圖20,係為展示在累積值判定器22中所使用之各種訊號的圖表,而展示與圖6相同之資訊,並更進而亦針對第1、第2編碼資料作展示。另外,關於第1、第2編碼資料以及累積值,當任一者之位數的值成為了“10”以上的情況時,係在各位數之間表記有「,」。
首先,最初,於編碼器21中輸入最初之輸入資料“01”、“11”、“10”、“11”。此時之反轉值,係分別為“10”、“00”、“01”、“00”。如此一來,第1編碼資料,係根據圖17之規則,而成為“0323”,第2編碼資料,係成為“2101”。由於此係為被寫入至記憶體區塊14中之最初的資料(步驟S92,YES),因此,累積值判定器22係前進至步驟S93之處理。如此一來,第1、第2編碼資料中,第1編碼資料之“0323”的各位數之和係為“8”,而第2編碼資料之“2101”的各位數之和係為“4”,累積值判定器22,係選擇各位數之和較大的一方,亦即是第1編碼資料“0323”(步驟S93)。而,累積值係成為“0323”(步驟S94)。
接下來,於編碼器21中輸入輸入資料“00”、“01”、“10”、“00”。此時之反轉值,係分別為“11”、“10”、“01”、“11”。而,第1、第2編碼資料,係分別成為“1021”、 “3203”。如此一來,由於其並非為最初的資料(步驟S92,NO),且非反轉值之所有位元亦必非為全部相同(步驟S96,NO,步驟S99,NO),因此,累積值判定器22,係將累積值之各位數,與第1、第2編碼資料之各位元作加算(步驟S101)。如此一來,由於在此時間點之累積值係為“0323”,因此累積值與第1編碼資料之加算結果,係成為“1344”。又,累積值與第2編碼資料之加算結果,係成為“3526”。如此一來,累積值與第1編碼資料間之加算結果的各位數之最大值與最小值之差“3”,係較累積值與第2編碼資料間之加算結果的各位數之最大值與最小值之差“4”為更小(步驟S103,NO)。故而,累積值判定器22係選擇第1編碼資料“1344”,並將編碼ID設為“0”。而後,累積值判定器22,係將針對第1編碼資料之加算結果“1344”,作為新的累積值並作保持(步驟S98)。藉由編碼ID被設為“0”,編碼器21之選擇器31係選擇非反轉值,並將非反轉值“00”、“01”、“10”、“00”作為寫入資料而輸出。
以下,針對輸入號碼“3”、“4”,係進行與輸入號碼“2”的情況相同之處理。
接下來,針對輸入號碼“5”作說明。第5個的輸入資料,係為“11”、“11”、“11”、“11”。此時之反轉值,係為“00”、“00”、“00”、“00”。而,第1、第2編碼資料,係分別成為“3333”、“1111”。如此一來,並非為最初之資料(步驟S92,NO),非反轉值係全部為相同,且其上位位 元係為“1”(步驟S96,NO;步驟S99,YES)。故而,累積值判定器22係選擇第1編碼資料“3333”(步驟S100)。如此一來,由於在此時間點之累積值係為“7665”,因此累積值“7665”與第1編碼資料“3333”之加算結果“10”、“9”、“9”、“8”,係成為新的累積值(步驟S98)。
接下來,針對輸入號碼“6”作說明。第6個的輸入資料,係為“00”、“00”、“00”、“00”。此時之反轉值,係為“11”、“11”、“11”、“11”。而,第1、第2編碼資料,係分別成為“1111”、“3333”。如此一來,由於其並非為最初的資料(步驟S92,NO),非反轉值係為相同,且其上位位元係為“0”(步驟S96,YES),因此累積值判定器22係選擇第2編碼資料“3333”,並將編碼ID設為“1”。而後,累積值判定器22,係將針對第2編碼資料之加算結果“13”、“12”、“12”、“11”,作為新的累積值並作保持(步驟S97)。藉由編碼ID被設為“1”,編碼器21之選擇器31係選擇反轉值,並將反轉值“11”、“11”、“11”、“11”作為寫入資料而輸出。
如上述一般,若是本發明之第5實施形態的記憶體系統,則係將多值資料經由第1、第2編碼部37、38,而因應於該多值資料所對應之充電量來進行編碼。更具體而言,係以在寫入該多值資料時所注入至浮游閘極處之充電量的較少者起,依序將編碼之值增大(參考圖17)。而後,經由此編碼資料來計算累積值。故而,就算是在具備有可保持多值資料之記憶胞電晶體MT的NAND型快閃記憶體 10之情況時,亦可得到上述第1實施形態中所說明的(1)以及(2)之效果。又,若是使用本發明之第2、第3實施形態的構成,則同樣的亦可得到(3)、(4)之效果。
另外,本實施形態係亦可與上述第4實施形態作組合。圖21,係為此情況時之編碼器21之區塊圖。如圖示一般,編碼器21,係在上述第4實施形態所說明之圖12的構成中,更進而具備有第1編碼器37、第2編碼器38、以及記憶體39。而,第1、第2編碼部37、38,係將從XOR閘極所分別輸出之第1、第2擾亂資料,依據編碼表格70而作編碼,並將其結果作為第1、第2編碼資料而輸出至累積值判定器22處。於此情況,記憶體39內之編碼表格70,係將第1、第2擾亂資料與累積用符號間之關係作保持。若藉由本構成,則可得到第4實施形態所說明之(5)的效果。
〔第6實施形態]
接下來,針對本發明之第6實施形態的半導體裝置作說明。本實施形態,係為相關於在上述第5實施形態中之另外的編碼方法者。於以下,係僅針對與第5實施形態相異之點作說明。
圖22,係為展示本實施形態之編碼器21的記憶體39所具備之編碼表格70的概念圖。如圖示一般,當非反轉值又或是反轉值為“01”、“00”的情況時之累積用符號係為“0”,當非反轉值又或是反轉值為“10”、“11”的情況時之累 積用符號係為“1”。亦即是,非反轉值以及反轉值之上位位元,係成為第1、第2編碼資料。
接下來,使用圖23,針對本實施形態之編碼器21的動作作說明。圖23,係為展示本實施形態之編碼器21的動作之流程的流程圖。
如圖所示,編碼器21,首先係從外部而受訊正規胞陣列15之1頁面份的輸入資料(步驟S10)。而,編碼器21之第1編碼部37,係根據編碼表格70,而將非反轉值之上位位元作為第1編碼資料,來通知至累積值判定器22(步驟S80)。同時,編碼器21之第2編碼部38,係根據編碼表格70,而將藉由反轉器20所得到之反轉值的上位位元作為第2編碼資料,來通知至累積值判定器22(步驟S81)。而後,進行步驟S13以下之處理。累積值判定器22之動作,係和上述第5實施形態相同。
如上述一般,若是藉由本發明之第6實施形態的記憶體系統,則係與第5實施形態同樣的,可得到上述(1)乃至(4)之效果。進而,可得到下述(6)之效果。
(6)能夠削減記憶體控制器20之容量(其之3)。
若是本實施形態之構成,則第1、第2編碼部37、38,係將非反轉值以及反轉值之上位位元,作為第1、第2編碼資料而輸出。故而,若是輸入資料係為2位元資料,則第1、第2編碼資料所能成為之值,係為“0”又或是“1”。故而,相較於上述第5實施形態,能夠將累積值之值縮 小。具體而言,在上述第5實施形態中,當字元線的根數係為3根的情況時,累積值之各位數所能夠成為之最大值,係為(“3”×32根)=“96”。相對於此,在本實施形態的情況時,累積值之各位數所能夠成為之最大值,係變為(“1”×32根)=“32”。故而,能夠將保持累積值之暫存器容量縮小,而能夠削減記憶體控制器20之容量。
另外,在上述中,係針對編碼器21在記憶體39處保持編碼表格70的情況而作了說明。但是,若是設為第1、第2編碼部37、38為可將非反轉值以及反轉值之上位位元作取出的構成,則特別是、編碼表格70係成為不需要。進而,與上述第5實施形態中之圖21相同的,在本實施形態中,代替非反轉值以及反轉值,亦可將第1、第2擾亂資料輸入至第1、第2編碼器37、38。
〔第7實施形態]
接下來,針對本發明之第7實施形態的半導體裝置作說明。本實施形態,係並不進行累積值所致之位元線間的充電量之平均化,而係相關於進行頁面資料之字元線方向的隨機化之構成。
圖24,係為本實施形態之記憶體系統1的區塊圖。如圖示一般,本實施形態之記憶體系統1,係在第1實施形態所說明之圖14的構成中,具備有將累積值判定器22廢除後之構成。NAND型快閃記憶體10之構成,係如同第1實施形態中所說明一般。
本實施形態之編碼器21,係在第4實施形態處所說明之圖12的構成中,具備有將第2擬似亂數產生器33、XOR閘極35、以及選擇器36廢除後之構成。第1擬似亂數產生器32,係將寫入資料之位址使用為擾亂種而產生擬似亂數。此時,可為寫入資料之位址的上位位址,亦可為下位位址,只要是相關於寫入資料之位址的資料,則並不特別限定。XOR閘極34,係進行以第1擬似亂數產生器32所產生之擬似亂數與輸入資料間之排他性的邏輯和演算。而後,藉由XOR閘極34所得到之演算結果,係作為擾亂資料而被寫入至NAND型快閃記憶體10處。
ECC編碼器23,係根據從XOR閘極所輸出之擾亂資料,而產生ECC資料。
讀出用解碼器24,係在以第4實施形態所說明之圖13的構成中,具備有將選擇器60廢除後之構成。擬似亂數產生器61,係將在編碼中所使用之寫入資料的位址,作為擾亂種而使用,並產生擬似亂數。XOR閘極62,係進行以擬似亂數產生器61所產生之擬似亂數與讀出資料間之排他性的邏輯和演算。而後,在XOR閘極62處之演算結果,係成為解讀資料。
如上述一般,若是藉由本發明之第7實施形態的記憶體系統1,則係可得到下述(7)之效果。(7)藉由簡便之構成,而得到上述(1)以及(5)之效果
若是本實施形態之構成,則輸入資料係藉由以擬似亂數產生器32所產生之擬似亂數而被作擾亂,並被寫入至 NAND型快閃記憶體10處。亦即是,寫入資料,係在字元線方向被隨機化。故而,係防止相同之資料沿著字元線方向而連續,而得到上述第4實施形態所說明之(5)的效果。
又,藉由將輸入資料以擬似亂數來擾亂,在位元線間之充電量係亦被平均化。故而,可得到在上述第1實施形態中所說明之(1)的效果。不用說,關於充電量之平均化,係以根據位元線之充電量的累積值而選擇寫入資料之第1實施形態的方法為較優秀。相對於此,在本實施形態中,於累積值判定器22或編碼器21處,選擇器31係為不必要。故而,當強烈的要求有電路構成之簡略化的情況時,係以採用本實施形態之構成為理想。另外,在本實施形態的情況中,由於係並不使用編碼ID,因此,在ECC胞陣列16中,被連接於位元線BL4313處之記憶胞電晶體MT,亦可作為ECC資料保持用而使用。
如上述一般,若是本發明之第1乃至第6實施形態的半導體裝置,則記憶體控制器20之累積值判定器22,係將各位數為代表每一位元線之充電量的累積結果的累積值作保持。若是累積值之各位數的值越大,則在所對應的位元線處之充電量係越小,而各位數之值越小,則充電量越大。而,累積值判定器22,以使累積值之位數間的差變小的方式,亦即是以使其平均化的方式,來選擇寫入資料。時結果,在位元線間之充電量係被平均,PD或RD之問題係被解除,而能夠提升半導體裝置之動作信賴性。又,在 第7實施形態中,亦藉由將寫入資料在字元線方向作隨機化,而能得到相同之效果。
另外,在上述實施形態中,雖係分別針對編碼器21輸出非反轉值以及反轉值的情況,以及輸出第1、第2擾亂資料的情況作了說明,但是,亦可將此些作組合。圖25,係為此情況時之編碼器21之區塊圖。
如圖所示,編碼器21,係具備有:資料變換電路100、101,以及選擇器31。資料變換電路100,係具備有在第1實施形態等中所說明了的反轉器30,並將輸入資料之反轉值與非反轉值作輸出。資料變換電路101,係具備有在第4實施形態等中所說明了的線性迴授位移暫存器(Linear Feedback Shift Register),並根據輸入資料而輸出第1、第2擾亂資料。選擇器31,係根據編碼ID,而選擇非反轉值、反轉值、以及第1、第2擾亂資料中之其中一方。
此時之累積值判定器22,係進行累積值之各位元與反轉值之各位元、非反轉值之各位元、及第1、第2擾亂資料之各位元間的加算。而後,在反轉值、非反轉值、以及第1、第2擾亂資料中,選擇加算結果之各位數的最大值與最小值間之差為較小的一方。如此這般,亦可將4個的資料作為寫入候補,並選擇此些之中的最適當之資料。
故而,在上述第1乃至第6實施形態中之編碼器21,係亦可以圖26之構成來表現。圖26,係為編碼器21之區塊圖。如圖所示,編碼器21,例如係具備有k個(k為1 以上之自然數)之寫入資料候補產生電路102-l~102-k、與選擇器31。寫入資料侯補產生電路102-l~102-k,例如係為在上述第1實施形態中所說明之反轉器30,或是在第4實施形態中所說明之線性迴授位移暫存器。而後,經由寫入資料候補產生電路102-l~102-k,而產生第1乃至第2k寫入資料候補。此資料候補,例如係相當於非反轉值、反轉值、以及第1、第2擾亂資料。而後,選擇器31,係根據編碼ID,而將第1乃至第2k寫入資料中的任一者,作為寫入資料而選擇。
此時,累積值判定器22,係進行累積值之各位元與第1乃至第2k寫入資料候補之各位元間的加算。而後,在第1乃至第2k寫入資料中,選擇加算結果之各位數的最大值與最小值間之差為較小的一方。
又,上述實施形態,係可適用於各種之NAND型快閃記憶體裝置中。於以下,針對將上述第1乃至第7實施形態適用於記憶卡中之情況作說明。圖27,係為記憶體系統1之區塊圖。
如圖所示,記憶體系統1,係具備有:記憶卡110、記憶體控制器20、以及主機機器120。主機機器120,係具備有用以對於經由匯流排介面121而被連接之記憶體控制器20進行存取的硬體以及軟體。記憶體控制器20,係如上述第1乃至第7時師形態中所說明一般,具備有編碼器21、累積值判定器22、ECC編碼器23、以及讀出用解碼器24,並更進而具備線緩衝器(line buffer)25。
記憶卡110,係經由匯流排介面122而被連接於記憶體控制器20。記憶卡110,係具備有在上述第1實施形態中所說明之NAND型快閃記憶體、和複數之訊號銷(signal pin)11。訊號銷11,係成為能夠與記憶體控制器20作電性連接。經由訊號銷111,而從記憶體控制器20被給予電源或各種訊號。
在上述構成中,匯流排介面121、122,例如係具備有8位元之資料線。而後,當寫入一頁面(4096位元組)之資料的情況時,資料係一次8位元地被分成4096次來轉送。記憶體控制器20之線緩衝器25,係為了將此轉送資料作緩衝而使用。而後,藉由線緩衝器而被緩衝之1頁面份的資料,係被輸入至編碼器21。如此這般,在上述第1乃至第7實施形態中所說明之處理,係亦可在記憶卡110之外部被進行。
圖28,係為展示其他記憶卡之例之記憶體系統1的區塊圖。如圖所示,記憶體系統1,係具備有:記憶卡130、以及主機機器12。主機機器120,係經由匯流排介面123而被連接於記憶卡130。記憶卡130,係具備有在上述第1乃至第7實施形態中所說明之記憶體控制器20、NAND型快閃記憶體10、以及複數之訊號銷131。在訊號銷131處,係從主機機器120而被給予有電源或各種訊號。
在本例的情形中,於上述第1乃至第7實施形態中所說明之處理、或是ECC資料之產生,係在記憶卡130之 內部被進行。而後,經由將記憶體控制器20與NAND型快閃記憶體10作連接的內部匯流排,寫入資料以及ECC資料,係被轉送至NAND型快閃記憶體10內之頁面緩衝器12處。此轉送,係亦和圖27的情況相同,1次8位元地進行,當進行4096位元組之寫入的情況時,寫入資料係被分成4096次而轉送。
又,在圖27及圖28中,雖係以記憶卡為例子而作了說明,但是,並不限定於記憶卡,而可全面通用於NAND型快閃記憶體中。又,並不限定於NAND型快閃記憶體,而亦可全面適用於產生相同問題之其他的半導體記憶體中。
進而,在上述實施形態中,雖係將累積值作為“1”資料之累積結果而作了說明,但是,亦可相反的使用“0”資料之累積結果。亦即是,累積值之絕對值本身係不具有任何意義,只要能夠在累積值之各位數間得知充電量之差即可。又,在上述第5實施形態中,係針對各記憶胞為保持2位元之資料(4值)時的情況作了說明。然而,各記憶胞係亦可為保持3位元(8值)以上之資料的情形。在此情況中,亦可藉由與圖19相同之方法來作對應。但是,在圖19中之步驟S96、S99之處理,係僅是當頁面資料為相同的情況時,用以使記憶胞之充電量減低的處理。故而,不論資料係為“0”或是“1”,均不會有問題,只要能夠在輸入資料之非反轉值與反轉值之中,選擇出充電量為較少之一方即可。如此這般,選擇充電量為較少一方的資料之 想法,係在步驟S93中亦為相同,且在第1乃至第4實施形態中之步驟S23、S26、S29中亦為相同。
另外,本發明係並非被限定為上述實施形態者,在實施階段中,在不脫離該要旨的範圍內,係可作各種之變形。進而,在上述實施形態中,係包含有各種階段之發明,藉由將所揭示之複數的構成要件作適當組合,能夠抽出各種的發明。例如,就算是從在實施形態中所展示之全構成要件而削除數個的構成要件,只要是能夠解決在「發明所欲解決之課題」一欄中所述之課題,而能夠得到在「發明之效果」-欄中所述之效果,則亦可將削除了該構成要件之構成作為發明而抽出。
1‧‧‧記憶體系統
10‧‧‧NAND型快閃記憶體
11‧‧‧記憶胞陣列
12‧‧‧頁面緩衝器
13‧‧‧感測放大器
14‧‧‧記憶體區塊
15‧‧‧正規胞陣列
16‧‧‧ECC胞陣列
20‧‧‧記憶體控制器
21‧‧‧編碼器
22‧‧‧累積值判定器
23‧‧‧ECC編碼器
24‧‧‧讀出用解碼器
30‧‧‧反轉器
31、36、60‧‧‧選擇器
32、33、61‧‧‧擬似亂數產生器
34、35、62‧‧‧XOR閘極
37、38‧‧‧編碼部
39‧‧‧記憶體
70‧‧‧編碼表格
〔圖1]本發明之第1實施形態的記憶體系統之區塊圖。
〔圖2]本發明之第1實施形態的NAND型快閃記憶體之電路圖。
〔圖3]本發明之第1實施形態的編碼器之區塊圖。
〔圖4]展示本發明之第1實施形態的編碼器中之處理的流程圖。
〔圖5]展示本發明之第1實施形態的累積值判定器中之處理的流程圖。
〔圖6]展示本發明之第1實施形態的累積值判定器中之處理的概念圖。
〔圖7]展示本發明之第1實施形態的變形例之累積值判定器中之處理的流程圖。
〔圖8]展示本發明之第2實施形態的累積值判定器中之處理的流程圖。
〔圖9]展示本發明之第2實施形態的累積值判定器中之處理的概念圖。
〔圖10]展示本發明之第3實施形態的累積值判定器中之處理的流程圖。
〔圖11]在本發明之第3實施形態的累積值判定器中,累積值保持部的區塊圖。
〔圖12]本發明之第4實施形態的編碼器之區塊圖。
〔圖13]本發明之第4實施形態的讀出用解碼器之區塊圖。
〔圖14]展示本發明之第5實施形態的NAND型快閃記憶體之臨限值分布的圖表。
〔圖15]為展示本發明之第5實施形態的NAND型快閃記憶體之臨限值分布的圖表,而展示資料之寫入方法的圖。
〔圖16]本發明之第5實施形態的編碼器之區塊圖。
〔圖17]本發明之第5實施形態的編碼器所具備之編碼表格的概念圖。
〔圖18]展示本發明之第5實施形態的編碼器中之處理的流程圖。
〔圖19]展示本發明之第5實施形態的累積值判定器 中之處理的流程圖。
〔圖20]展示本發明之第5實施形態的累積值判定器中之處理的概念圖。
〔圖21]本發明之第5實施形態的變形例之編碼器的區塊圖。
〔圖22]本發明之第6實施形態的編碼器所具備之編碼表格的概念圖。
〔圖23]展示本發明之第6實施形態的編碼器中之處理的流程圖。
〔圖24]本發明之第7實施形態的記憶體系統之區塊圖。
〔圖25]本發明之第1乃至第6實施形態的第1變形例之編碼器的區塊圖。
〔圖26]本發明之第1乃至第6實施形態的第2變形例之編碼器的區塊圖。
〔圖27]本發明之第1乃至第7實施形態的第1變形例之記憶體系統的區塊圖。
〔圖28]本發明之第1乃至第7實施形態的第2變形例之記憶體系統的區塊圖。
1‧‧‧記憶體系統
10‧‧‧NAND型快閃記憶體
11‧‧‧記憶胞陣列
12‧‧‧頁面緩衝器
13‧‧‧感測放大器
14‧‧‧記憶體區塊
20‧‧‧記憶體控制器
21‧‧‧編碼器
22‧‧‧累積值判定器
23‧‧‧ECC編碼器
24‧‧‧讀出用解碼器

Claims (9)

  1. 一種記憶體控制器,係為對於對被連接在同一之字元線上的複數之不揮發性的記憶胞進行整批寫入動作的半導體記憶裝置作控制之記憶體控制器,其特徵為,具備有:資料產生手段,係以對於前述記憶胞進行整批寫入的多位元之第1資料為依據,來產生複數之第2資料;和選擇手段,係將各個的位數為對於前述記憶胞而完成寫入的資料之每一位元的累積結果之累積值作保持,且在複數之前述第2資料中,選擇前述累積值之各個的位數與前述第2資料之各別的各位元的加算結果中,前述加算結果在各位數間較為平均化之其中一者,將藉由前述選擇手段所選擇之前述第2資料、和代表選擇了何者之前述第2資料的資訊,對於前述記憶胞作寫入,前述選擇手段,係將相關於所選擇之前述第2資料的前述加算結果,作為新的前述累積值而作保持。
  2. 一種記憶體控制器,係為對於對被連接在同一之字元線上的複數之不揮發性的記憶胞進行整批寫入動作的半導體記憶裝置作控制之記憶體控制器,其特徵為,具備有:資料產生手段,係以對於前述記憶胞進行整批寫入的 多位元之第1資料為依據,來產生複數之第2資料,且產生因應於經由前述各第2資料而被充電至前述記憶胞中的電荷量,來將前述第2資料編碼化後之第3資料;和選擇手段,係將各個的位數為對於前述記憶胞而完成寫入的資料所對應之前述第3資料之每一位元的累積結果之累積值作保持,且在複數之前述第2資料中,選擇前述累積值之各個的位數與對應於前述各第2資料之前述第3資料之各別的各位元之加算結果中,前述加算結果在各位數間較為平均化之其中一者,將藉由前述選擇手段所選擇之前述第2資料、和代表選擇了何者之前述第2資料的資訊,對於前述記憶胞作寫入,前述選擇手段,係將相關於所選擇之前述第2資料的前述加算結果,作為新的前述累積值而作保持。
  3. 如申請專利範圍第1項或第2項所記載之記憶體控制器,其中,前述資料產生手段,係具備有將前述第1資料之各位元作反轉之資料反轉手段,並將非反轉之前述第1資料,和藉由前述資料反轉手段而使各位元反轉後之前述第1資料,分別作為前述第2資料而輸出。
  4. 如申請專利範圍第1項或第2項所記載之記憶體控制器,其中,前述資料產生手段,係具備有:擬似亂數產生手段,係依據記憶體位址而產生複數之擬似亂數;和邏輯閘,係計算出複數之前述擬似亂數的各個與前述 第1資料的各位元間之排他的邏輯和,並將算出之前述邏輯和分別作為前述第2資料而輸出。
  5. 如申請專利範圍第1項或第2項所記載之記憶體控制器,其中,前述選擇手段,係選擇前述加算結果中之各個的位數的最大值與最小值間之差會成為最小的前述第2資料。
  6. 如申請專利範圍第1項或第2項所記載之記憶體控制器,其中,前述選擇手段,係選擇前述加算結果中之各個的位數的值之標準差會成為最小的前述第2資料。
  7. 如申請專利範圍第1項或第2項所記載之記憶體控制器,其中,前述選擇手段,當關於所選擇之前述第2資料的前述加算結果之所有的位數係為“1”以上的情況時,將從前述加算結果之各個的位數而減去“1”後所得到之結果,作為新的前述累積值。
  8. 如申請專利範圍第1項或第2項所記載之記憶體控制器,其中,前述選擇手段,當在前述加算結果之任一位數中產生有溢位(overflow)的情況時,將該位數之值,置換為以該位數而能夠計數之最大值的“2”之商,並將其他各個的位數以“2”之商來置換。
  9. 一種半導體裝置,其特徵為,具備有:如申請專利範圍第1項又或是第2項所記載之記憶體控制器;和前述半導體記憶裝置,其係具備有:第1記憶體區域,係配置有複數之將經由前述記憶體控制器之前述選擇手 段所選擇之前述第2資料作寫入的前述記憶胞;和第2記憶體區域,係配置有將代表選擇了何者之前述第2資料一事之前述資訊作寫入的前述記憶胞。
TW097106645A 2007-02-28 2008-02-26 Memory controller and semiconductor device TWI381381B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007050390A JP2008217857A (ja) 2007-02-28 2007-02-28 メモリコントローラ及び半導体装置

Publications (2)

Publication Number Publication Date
TW200901199A TW200901199A (en) 2009-01-01
TWI381381B true TWI381381B (zh) 2013-01-01

Family

ID=39715703

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097106645A TWI381381B (zh) 2007-02-28 2008-02-26 Memory controller and semiconductor device

Country Status (4)

Country Link
US (2) US7796429B2 (zh)
JP (1) JP2008217857A (zh)
KR (1) KR20080080041A (zh)
TW (1) TWI381381B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI677786B (zh) * 2014-12-18 2019-11-21 南韓商愛思開海力士有限公司 資料儲存裝置及其操作方法

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7885112B2 (en) * 2007-09-07 2011-02-08 Sandisk Corporation Nonvolatile memory and method for on-chip pseudo-randomization of data within a page and between pages
CN101616765A (zh) * 2007-01-08 2009-12-30 阿绍克·威施瓦那兹·赛泽 用于接合和脱开旋转工具架驱动的驱动连接器的启动系统
JP4930251B2 (ja) * 2007-07-31 2012-05-16 富士通セミコンダクター株式会社 誤り訂正装置及びデスクランブル回路
US7945050B2 (en) * 2007-09-28 2011-05-17 Intel Corporation Suppressing power supply noise using data scrambling in double data rate memory systems
US8503678B2 (en) 2007-09-28 2013-08-06 Intel Corporation Suppressing power supply noise using data scrambling in double data rate memory systems
JP5019611B2 (ja) * 2007-12-27 2012-09-05 株式会社東芝 メモリシステム
JP4461170B2 (ja) 2007-12-28 2010-05-12 株式会社東芝 メモリシステム
EP2225643B1 (en) 2007-12-28 2020-05-06 Toshiba Memory Corporation Semiconductor storage device
JP4489127B2 (ja) 2008-02-29 2010-06-23 株式会社東芝 半導体記憶装置
US7986552B2 (en) * 2008-03-10 2011-07-26 Hynix Semiconductor Inc. Nonvolatile memory device and method of operation to program/read data by encoding/decoding using actual data and random data for program/read operation
US8281061B2 (en) * 2008-03-31 2012-10-02 Micron Technology, Inc. Data conditioning to improve flash memory reliability
JP4439569B2 (ja) * 2008-04-24 2010-03-24 株式会社東芝 メモリシステム
US8219740B2 (en) 2008-06-25 2012-07-10 International Business Machines Corporation Flash sector seeding to reduce program times
JP2010015197A (ja) 2008-06-30 2010-01-21 Toshiba Corp ストレージ制御装置、データ復元装置およびストレージシステム
JP2010009548A (ja) * 2008-06-30 2010-01-14 Toshiba Corp 記憶装置、制御装置、記憶システム、および記憶方法
JP2010015195A (ja) * 2008-06-30 2010-01-21 Toshiba Corp 記憶制御装置及び記憶制御方法
JP5242264B2 (ja) * 2008-07-07 2013-07-24 株式会社東芝 データ制御装置、ストレージシステムおよびプログラム
JP4551958B2 (ja) * 2008-12-22 2010-09-29 株式会社東芝 半導体記憶装置および半導体記憶装置の制御方法
JP5268710B2 (ja) 2009-02-27 2013-08-21 株式会社東芝 半導体記憶装置
KR20100124087A (ko) * 2009-05-18 2010-11-26 삼성전자주식회사 메모리 컨트롤러, 그것을 포함하는 메모리 시스템 그리고 그것의 동작 방법
JP5492679B2 (ja) * 2009-06-30 2014-05-14 パナソニック株式会社 記憶装置およびメモリコントローラ
US9170933B2 (en) * 2010-06-28 2015-10-27 International Business Machines Corporation Wear-level of cells/pages/sub-pages/blocks of a memory
KR20120002760A (ko) * 2010-07-01 2012-01-09 삼성전자주식회사 낸드 플래쉬 메모리의 동작 신뢰성을 향상시키는 데이터 기록 방법 및 데이터 기록 장치
KR101736337B1 (ko) * 2011-02-28 2017-05-30 삼성전자주식회사 비휘발성 메모리 장치, 상기 메모리 장치를 제어하는 컨트롤러, 및 상기 컨트롤러 동작 방법
KR101818445B1 (ko) * 2011-07-08 2018-01-16 삼성전자주식회사 메모리 컨트롤러, 이의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 전자 장치들
US8762626B2 (en) * 2011-09-12 2014-06-24 Sandisk Technologies Inc. Data modification based on matching bit patterns
JP2013069392A (ja) * 2011-09-26 2013-04-18 Toshiba Corp 不揮発性半導体記憶装置及び不揮発性半導体記憶装置のデータ書き込み方法
US9292428B2 (en) * 2012-09-05 2016-03-22 Kabushiki Kaisha Toshiba Memory system
CN104769558B (zh) * 2012-11-05 2017-07-21 三菱电机株式会社 存储器控制装置
JP6411282B2 (ja) * 2015-05-15 2018-10-24 ラピスセミコンダクタ株式会社 半導体メモリ及びデータ書込方法
US11515897B2 (en) 2015-05-29 2022-11-29 SK Hynix Inc. Data storage device
US10396827B2 (en) 2015-09-25 2019-08-27 SK Hynix Inc. Data storage device
US11177835B2 (en) 2015-09-25 2021-11-16 SK Hynix Inc. Data storage device
KR102285940B1 (ko) * 2015-05-29 2021-08-05 에스케이하이닉스 주식회사 데이터 처리 회로, 데이터 처리 회로를 포함하는 데이터 저장 장치 및 그것의 동작 방법
US11611359B2 (en) 2015-05-29 2023-03-21 SK Hynix Inc. Data storage device
TWI774183B (zh) * 2021-01-08 2022-08-11 瑞昱半導體股份有限公司 具有位址打亂機制的記憶體存取裝置及其記憶體存取方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW409250B (en) * 1997-10-01 2000-10-21 Nippon Electric Co A semiconductor memory device
US20010052090A1 (en) * 2000-06-12 2001-12-13 Yuichiro Mio Storage device having an error correction function
US20030101405A1 (en) * 2001-11-21 2003-05-29 Noboru Shibata Semiconductor memory device
US6587977B1 (en) * 1999-12-06 2003-07-01 Maxtor Corporation o,k,m,/m recording code
US20040064646A1 (en) * 2002-09-26 2004-04-01 Emerson Steven M. Multi-port memory controller having independent ECC encoders
JP2005078431A (ja) * 2003-09-01 2005-03-24 Toshiba Corp 半導体装置
US6934903B1 (en) * 2001-12-17 2005-08-23 Advanced Micro Devices, Inc. Using microcode to correct ECC errors in a processor
TWI242128B (en) * 2000-09-12 2005-10-21 Hitachi Ltd Data processing system and data processing method
TWI269155B (en) * 2003-04-17 2006-12-21 Ibm Method and checker of checking for errors in an error correction code (ECC) protected mechanism and a computer system including the checker

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2647321B2 (ja) * 1991-12-19 1997-08-27 株式会社東芝 不揮発性半導体記憶装置及びこれを用いた記憶システム
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
JPH0729395A (ja) * 1993-06-25 1995-01-31 Mitsubishi Electric Corp Eeprom装置
JP2927163B2 (ja) * 1993-11-30 1999-07-28 日本ビクター株式会社 情報信号記録方法及び情報信号記録装置
JPH07334991A (ja) * 1994-06-07 1995-12-22 Sony Corp 半導体不揮発性記憶装置
JPH07240098A (ja) * 1994-02-25 1995-09-12 Sony Corp 半導体不揮発性記憶装置
JP2723832B2 (ja) * 1994-06-07 1998-03-09 松下電器産業株式会社 光学式情報記録担体及び光学式情報記録方法、ならびにそれらを利用した光学式情報再生装置
JPH0850562A (ja) * 1994-08-05 1996-02-20 Fujitsu Ltd メモリの監視回路
US6728825B1 (en) * 1996-10-15 2004-04-27 Micron Technology, Inc. Apparatus and method for reducing programming cycles for multistate memory system
US6279133B1 (en) * 1997-12-31 2001-08-21 Kawasaki Steel Corporation Method and apparatus for significantly improving the reliability of multilevel memory architecture
EP1130600A1 (en) * 2000-03-01 2001-09-05 Hewlett-Packard Company, A Delaware Corporation Data balancing scheme in solid state storage devices
KR20040089455A (ko) * 2002-03-29 2004-10-21 소니 가부시끼 가이샤 데이터 기록 재생 방법 및 데이터 기록 재생 장치
JP3866627B2 (ja) 2002-07-12 2007-01-10 株式会社東芝 不揮発性半導体メモリ
JP3969240B2 (ja) * 2002-08-02 2007-09-05 ソニー株式会社 半導体記憶装置
JP2005100527A (ja) * 2003-09-25 2005-04-14 Matsushita Electric Ind Co Ltd 半導体不揮発性記憶装置
JP4223427B2 (ja) * 2004-03-30 2009-02-12 株式会社ルネサステクノロジ 不揮発性半導体記憶装置及びそのデータ書き換え方法
JP4119881B2 (ja) * 2004-11-15 2008-07-16 株式会社メガチップス 半導体メモリ装置
EP1684307A1 (en) * 2005-01-19 2006-07-26 Saifun Semiconductors Ltd. Method, circuit and systems for erasing one or more non-volatile memory cells
JP4660353B2 (ja) * 2005-11-01 2011-03-30 株式会社東芝 記憶媒体再生装置
JP4575288B2 (ja) * 2005-12-05 2010-11-04 株式会社東芝 記憶媒体、記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
US7388781B2 (en) * 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
US7330373B2 (en) * 2006-03-28 2008-02-12 Sandisk Corporation Program time adjustment as function of program voltage for improved programming speed in memory system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW409250B (en) * 1997-10-01 2000-10-21 Nippon Electric Co A semiconductor memory device
US6587977B1 (en) * 1999-12-06 2003-07-01 Maxtor Corporation o,k,m,/m recording code
US20010052090A1 (en) * 2000-06-12 2001-12-13 Yuichiro Mio Storage device having an error correction function
TWI242128B (en) * 2000-09-12 2005-10-21 Hitachi Ltd Data processing system and data processing method
US20030101405A1 (en) * 2001-11-21 2003-05-29 Noboru Shibata Semiconductor memory device
US6934903B1 (en) * 2001-12-17 2005-08-23 Advanced Micro Devices, Inc. Using microcode to correct ECC errors in a processor
US20040064646A1 (en) * 2002-09-26 2004-04-01 Emerson Steven M. Multi-port memory controller having independent ECC encoders
TWI269155B (en) * 2003-04-17 2006-12-21 Ibm Method and checker of checking for errors in an error correction code (ECC) protected mechanism and a computer system including the checker
JP2005078431A (ja) * 2003-09-01 2005-03-24 Toshiba Corp 半導体装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI677786B (zh) * 2014-12-18 2019-11-21 南韓商愛思開海力士有限公司 資料儲存裝置及其操作方法

Also Published As

Publication number Publication date
US20100122147A1 (en) 2010-05-13
US7796429B2 (en) 2010-09-14
US20080205145A1 (en) 2008-08-28
TW200901199A (en) 2009-01-01
JP2008217857A (ja) 2008-09-18
KR20080080041A (ko) 2008-09-02
US7848143B2 (en) 2010-12-07

Similar Documents

Publication Publication Date Title
TWI381381B (zh) Memory controller and semiconductor device
US8451658B2 (en) Method for page- and block based scrambling in non-volatile memory
US8341333B2 (en) Method of writing data into semiconductor memory and memory controller
JP5019611B2 (ja) メモリシステム
US8230158B2 (en) Memory devices and methods of storing data on a memory device
US8136014B2 (en) Non-volatile semiconductor memory device
US8014207B2 (en) Nonvolatile memory device and method of operating the same
US11269721B2 (en) Memory system for preventing write error
US20110216586A1 (en) Methods And Apparatus For Intercell Interference Mitigation Using Modulation Coding
US20140269071A1 (en) Preserving data from adjacent word lines while programming binary non-volatile storage elements
CN101964208A (zh) 半导体存储装置
WO2011062917A1 (en) Data coding for improved ecc eddiciency in a nonvolatile storage system
JP2010160873A (ja) 半導体記憶装置と半導体記憶システム
CN103942115B (zh) 一种nand闪存系统的数据存储容错编码方法
JP4358299B2 (ja) メモリコントローラ及び半導体装置
JP5940704B1 (ja) 半導体記憶装置

Legal Events

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