TWI409640B - 記憶體系統 - Google Patents

記憶體系統 Download PDF

Info

Publication number
TWI409640B
TWI409640B TW098106020A TW98106020A TWI409640B TW I409640 B TWI409640 B TW I409640B TW 098106020 A TW098106020 A TW 098106020A TW 98106020 A TW98106020 A TW 98106020A TW I409640 B TWI409640 B TW I409640B
Authority
TW
Taiwan
Prior art keywords
data
circuit
delay
error correction
enable signal
Prior art date
Application number
TW098106020A
Other languages
English (en)
Other versions
TW200937202A (en
Inventor
Yasushi Nagadomi
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 TW200937202A publication Critical patent/TW200937202A/zh
Application granted granted Critical
Publication of TWI409640B publication Critical patent/TWI409640B/zh

Links

Classifications

    • 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/26Sensing or reading circuits; Data output circuits
    • 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/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

Landscapes

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

Description

記憶體系統
本發明係關於一種藉由使用非揮發性半導體記憶體組態之記憶體系統。
固態驅動器(SSD)近來作為裝備有快閃記憶體(快閃EEPROM)之記憶體系統、作為用於電腦系統之外部記憶體而引起注意。與磁碟單元相比較,快閃記憶體具有諸如高速及輕型之優點。
SSD包括複數個快閃記憶體碼片、回應於來自主機裝置之請求而控制個別快閃記憶體碼片之讀取及寫入之控制器、用於執行個別快閃記憶體碼片與主機裝置之間的資料傳送之緩衝記憶體、電力電路,及關於主機裝置之連接介面(例如,日本專利公開案第3688835號)。
然而,當設計SSD時,需要使用堆疊複數個記憶體碼片之堆疊產品來增加資料容量,同時控制器碼片之插腳之數目及安裝佔據面積有限。在此種堆疊產品中,為其內部之若干記憶體碼片配置一IO信號線及一控制信號線,且個別信號線之負載容量隨著記憶體碼片之堆疊數目之增加而增加。
當個別信號線之負載容量增加時,歸因於IO信號及控制信號之CR延遲而發生延遲。當使用經同步設計之控制器時,可在低負載狀態(堆疊之數目為小的)中鎖存並輸出自記憶體讀取之資料;然而,在高負載狀態(堆疊之數目為大的)中,歸因於由CR延遲引起的資料之延遲而可能不鎖存並輸出自記憶體讀取之資料。
本發明之目標為提供一種記憶體系統,其甚至在非揮發性記憶體中之信號線之負載容量增加時亦可以可靠方式自非揮發性記憶體讀取資料及輸出資料。
為了解決該等問題並達成該目標,根據本發明之一態樣,一種記憶體系統包括非揮發性記憶體、控制該非揮發性記憶體之控制電路、控制該控制電路之MPU,及執行與主機之通信之介面電路,其中該控制電路包括將讀取致能信號輸出至非揮發性記憶體以讀取資料之讀取單元;將藉由傳回該讀取致能信號而獲得之信號延遲且輸出該信號作為時脈之延遲單元;及藉由使用自該延遲單元輸出之該時脈而鎖存並輸出自非揮發性記憶體讀取之資料之鎖存單元。
下文將參看隨附圖式詳細說明本發明之例示性實施例。本發明不限於該等實施例。另外,該等實施例中之組成元件包括熟習此項技術者可容易設想或大體上均等之元件。
根據本發明之實施例之記憶體系統包括非揮發性半導體記憶體,且(例如)用作諸如個人電腦之主機裝置之次級儲存器(固態驅動器(SSD))。記憶體系統具有用於儲存資料(針對此已自主機裝置發出寫入請求)及讀取資料(針對此已自主機裝置發出讀取請求)以將資料輸出至主機裝置之功能。
圖1為SSD 100之組態實例的方塊圖。SSD 100包括安裝於系統板上之ASIC及NAND記憶體10。驅動控制電路4、電力電路5及DRAM 20安裝於ASIC上。
SSD 100經由諸如ATA介面(ATA I/F)之記憶體連接介面而連接至諸如個人電腦或CPU核心之主機裝置(主機)1,且充當主機裝置1之外部記憶體。SSD 100可經由諸如RS232C介面(RS232C I/F)3之通信介面而與除錯裝置200傳送資料。SSD 100包括作為非揮發性記憶體之NAND快閃記憶體(在下文中為"NAND記憶體")10、作為控制器之驅動控制電路4、作為揮發性記憶體之DRAM 20、電力電路5、用於狀態顯示之LED 6,及其類似者。
電力電路5自供應自主機裝置1側上之電力電路之外部DC電源產生複數個不同的內部DC電源電壓,且將此等內部DC電源電壓供應至SSD 100中之個別電路。電力電路5偵測外部電源之前緣或後緣,且產生通電重設信號或斷電重設信號以將信號供應至驅動控制電路4。
NAND記憶體10包括4通道NAND記憶體封裝10a至10d。一NAND記憶體封裝包括經填裝的複數個NAND記憶體碼片(在下文中為"碼片")。在圖1中所展示之實例中,例如,NAND記憶體封裝10a包括堆疊有八個碼片0至7(例如,1碼片=16千兆位元組)之8堆疊碼片10a1,及堆疊有八個碼片8至15之8堆疊碼片10a2。其他NAND記憶體封裝10b至10d亦包括兩個8堆疊碼片集合,且NAND記憶體10具有128個千兆位元組之容量。可四者並行地操作該等4通道NAND記憶體封裝10a至10d。
DRAM 20充當主機裝置1與NAND記憶體10及工作區記憶體之間的資料傳送快取記憶體。驅動控制電路4經由DRAM 20而執行主機裝置1與NAND記憶體10之間的資料傳送控制,且控制SSD 100中之個別組件。驅動控制電路4具有用於將狀態顯示信號供應至狀態顯示LED 6且用於在接收到來自電力電路5之通電/斷電重設信號之後即向自身電路及SSD 100中之個別單元供應重設信號及時脈信號的功能。
在個別NAND記憶體碼片中,為資料抹除之單位之區塊以複數個號碼排列。圖2為包括於NAND記憶體碼片中之一區塊之組態實例的電路圖。每一區塊包括沿X方向順序排列之(m+1)個NAND串(m為等於或大於0之整數)。在分別包括於該(m+1)個NAND串中之選擇電晶體ST1中,分別地,汲極連接至位元線BL0至BLm且閘極共同地連接至選擇閘極線SGD。選擇電晶體ST2之源極共同地連接至源極線SL且其閘極共同地連接至選擇閘極線SGS。
個別記憶體單元電晶體MT包括一包括形成於半導體基板上之堆疊閘極結構的金屬氧化物半導體場效電晶體(MOSFET)。堆疊閘極結構包括形成於半導體基板上之電荷累積層(浮動閘電極)(閘極介電薄膜置於電荷累積層與半導體基板之間),及形成於電荷累積層上之控制閘電極(閘極間(intergate)介電薄膜在電荷累積層與控制閘電極之間)。在記憶體單元電晶體MT中,臨限電壓根據浮動閘電極中所累積之電子之數目而改變,且記憶體單元電晶體MT根據臨限電壓之差而儲存資料。記憶體單元電晶體MT可經形成為儲存1位元或可經形成為儲存多值資料(等於或大於2個位元之資料)。
在個別NAND串中,(n+1)個記憶體單元電晶體MT配置於選擇電晶體ST1之源極與選擇電晶體ST2之汲極之間以使得串聯連接個別電流路徑。亦即,記憶體單元電晶體MT在Y方向上串聯連接以共用鄰近記憶體單元電晶體之間的擴散區域(源極區域或汲極區域)。
控制閘電極按照自最接近汲極側而定位之記憶體單元電晶體MT開始之次序分別連接至字線WL0至WLn。因此,連接至字線WL0之記憶體單元電晶體MT之汲極連接至選擇電晶體ST1之源極,且連接至字線WLn之記憶體單元電晶體MT之源極連接至選擇電晶體ST2之汲極。
字線WL0至WLn共同地連接區塊中之NAND串之間的記憶體單元電晶體MT之控制閘電極。亦即,在區塊中之同一直線上之記憶體單元電晶體MT的控制閘電極連接至同一字線WL。將連接至同一字線WL之(m+1)個記憶體單元電晶體MT作為一頁來處置,且針對每一頁執行資料之寫入及讀取。
位元線BL0至BLm共同地連接區塊之間的選擇電晶體ST1之汲極。亦即,複數個區塊中之同一直線上之NAND串藉由同一位元線BL來連接。
如圖1中所展示,在NAND記憶體10中,為四個並行操作元件之NAND記憶體封裝10a至10d經由分別具有8個位元之四個通道(4Ch)而並聯連接至驅動控制電路4。可藉由是否單獨操作或並行操作四個NAND記憶體封裝10a至10d或使用NAND記憶體10之雙速模式之組合而提供下文所描述的三種類型之存取模式。
(1)8-位元正常模式
在此模式中,僅操作一通道來執行以8個位元為單位之讀取及寫入。傳送大小之一單位為頁大小(4個千位元組)。
(2)32-位元正常模式
在此模式中,並行操作四個通道來執行以32個位元為單位之讀取及寫入。傳送大小之一單位為頁大小×4(16個千位元組)。
(3)32-位元雙速模式
在此模式中,並行操作四個通道,且藉由使用NAND記憶體10之雙速模式而執行讀取及寫入。傳送大小之一單位為頁大小×4×2(32個千位元組)。
在並行操作四個通道之32-位元正常模式或32-位元雙速模式中,並行操作之四個或八個區塊成為NAND記憶體10中之抹除之單位,且並行操作之四頁或八頁成為NAND記憶體10中的寫入之單位及讀取之單位。
圖3為驅動控制電路4之內部硬體組態實例的方塊圖。驅動控制電路4包括資料存取匯流排101、第一電路控制匯流排102及第二電路控制匯流排103。控制整個驅動控制電路4之處理器104連接至第一電路控制匯流排102。儲存用於啟動儲存於NAND記憶體10中之個別管理程式(韌體(FW))之啟動程式的啟動ROM 105經由ROM控制器106而連接至第一電路控制匯流排102。時脈控制器107連接至第一電路控制匯流排102,時脈控制器107在接收到來自圖1中所展示之電力電路5之通電/斷電重設信號之後將重設信號及時脈信號供應至個別單元。
第二電路控制匯流排103連接至第一電路控制匯流排102。將狀態顯示信號供應至圖1中所展示之狀態顯示LED 6之並列IO(PIO)電路108及控制RS232C I/F 3之串列IO(SIO)電路109連接至第二電路控制匯流排103。
ATA介面控制器(ATA控制器)110、第二錯誤檢查及校正(ECC)電路111、NAND控制器112及DRAM控制器113連接至資料存取匯流排101及第一電路控制匯流排102。ATA控制器110經由ATA介面2而與主機裝置1傳送資料。用作資料工作區之SRAM經由SRAM控制器115而連接至資料存取匯流排101。在起動時,藉由儲存於啟動ROM 105中之啟動程式,將儲存於NAND記憶體10中之韌體傳送至SRAM 114。
NAND控制器112包括以NAND記憶體10中之個別NAND記憶體封裝10a至10d執行介面處理的NAND I/F 116、第一ECC電路117、用於控制NAND記憶體10與DRAM 20之間之存取之DMA傳送控制的DMA控制器118,及由處理器104寫入控制資料的控制暫存器119。
當將資料寫入NAND記憶體10中時,第一ECC電路117產生錯誤偵測碼(例如,CRC 32)及具有1位元之校正能力之第一錯誤校正碼(例如,漢明碼(Hamming code)),且針對每一預定單位資料D(例如,512個位元組)將該等碼添加至待寫入之資料。另外,第一ECC電路117產生具有複數個位元(例如,48個位元)之校正能力之第二錯誤校正碼(例如,BCH碼),且針對八片單位資料D中之每一者添加該碼。藉由NAND I/F 116,將添加有錯誤偵測碼及第一錯誤校正碼之資料寫入NAND記憶體10中。
當自NAND記憶體10讀取資料時,第一ECC電路117首先相對於由NAND I/F 116自NAND記憶體10讀取之資料執行第一錯誤校正,基於錯誤偵測碼而偵測是否存在錯誤,且經由DMA控制器118而將第一錯誤校正後之資料、第一錯誤校正所用之校正位元之數目及錯誤偵測結果儲存於DRAM 20中。當錯誤偵測結果中存在錯誤時,亦即,當無法在第一錯誤校正中校正錯誤時,第二ECC電路111執行第二錯誤校正,且將第二錯誤校正後之資料及第二錯誤校正所用之校正位元之數目儲存於DRAM 20中。
圖4為待寫入NAND記憶體10中之資料之一格式的一實例。如圖10中所展示,CRC 32及具有1位元之校正能力之漢明碼(第一錯誤校正碼)經添加至單位資料D(512個位元組),且具有48個位元之校正能力之BCH碼(第二錯誤校正碼)經添加至行方向上之該八片單位資料D(4個千位元組)。
圖5為NAND I/F 116與NAND記憶體10之間的連接之說明性圖。NAND I/F 116包括為4通道介面電路之Ch0控制器210a至Ch3控制器210d,且個別Ch0控制器210a至Ch3控制器210d之控制信號插腳201及IO信號插腳202獨立地連接至Ch0至Ch3之NAND封裝10a至10d(NANDCh0至Ch3)。控制信號係自控制信號插腳201輸出且8-位元資料元素IO0至IO7係自IO插腳202輸入及輸出。來自NAND I/F 116之碼片致能(CE)0至3信號選擇NAND封裝10a至10d(NAND Ch0至Ch3)。
在下文之說明中,因為個別通道之組態相同,所以將Ch0作為代表來說明。圖6及圖7為NAND記憶體10之負載容量及CR延遲的說明性圖。在圖7中,參考數字213表示輸入/輸出IO,且214及215表示輸出IO。
如圖6中所展示,在8堆疊碼片10a1中,因為IO資料IO0至IO7及控制信號{寫入致能(WE)信號、讀取致能(RE)信號、命令鎖存致能(CLE)信號,位址鎖存致能(ALE)信號、寫入保護(WP)信號,及其類似者}對於每一信號具有8個碼片,所以負載容量增加至八倍。為了減少信號插腳之數目,NAND封裝10a包括具有IO信號IO0至IO7及控制信號之兩個8堆疊碼片10a1及10a2,且因此負載容量進一步增加至兩倍。因此,CR延遲增加。一般而言,因為IO資料之負載容量大於控制信號之負載容量,所以IO資料與控制信號之間存在延遲差。
圖8為用於說明自NAND記憶體10讀取資料之流程圖。在圖8中,參考符號(A)指示RE信號,且(B)指示IO資料。此處假定:系統規範使得在自RE信號之後緣起tREA已通過之後確保經讀取之資料的輸出且在自RE之前緣起tRLOH已通過之後不確保經讀取之資料的輸出。在此狀況下,當負載容量為大且CR延遲為大時,無法以tREA經延遲且負載容量為小時之鎖存時序獲得資料,且因此需要時序調整。
參看圖9至圖11來說明當完全同步設計電路包括於NAND I/F 116中之通道控制器中時的信號延遲。圖9為完全同步設計電路之說明性圖,圖10為負載容量為小時之時序圖,且圖11為負載容量為大時之時序圖。下文將正反器描述為FF。
在圖9中,Ch0控制器210a包括與由時脈控制器107(參見圖3)產生之內部時脈CLK同步地輸出RE之FF_RE,及鎖存IO[7:0]並與內部時脈CLK同步地輸出IO[7:0]之FF_DATA[7:0]。在圖9中,參考字符t1表示IO及CR延遲,t2t5 表示傳播(佈線)延遲,t4表示IO延遲,且tREA表示NAND資料輸出及IO及CR延遲。
在圖10及圖11中,(A)指示內部時脈CLK,(B)指示FF_RE之輸出,(C)指示NAND RE,(D)指示NAND IO[7:0],(E)指示FF_DATA[7:0]之輸入,且(F)指示FF_DATA[7:0]之輸出。
如圖10中所展示,當負載容量為小時,t1及tREA之CR延遲為小的。因此,可以內部時脈CLK之時序獲得資料。另一方面,如圖11中所展示,當負載容量為大時,t1及tREA之CR延遲變大。因此,無法以內部時脈CLK之時序獲得資料。因此,需要異步設計用於時序調整。
參看圖12至圖18來說明由NAND控制器112讀取之資料之時序調整。在當前實施例中,為了即使存在與NAND記憶體10之負載容量之增加相關聯的信號延遲亦確保自NAND記憶體10讀取之資料的輸出操作,如圖12中所展示,針對每一通道傳回RE信號,以在鎖存經讀取之資料時執行時序調整。儘管在圖12中僅展示Ch0,但以相同方式針對其他通道Ch1至Ch3傳回RE信號。
具體言之,將RE信號傳回(重新輸入)至鎖存經讀取之資料之正反器FF,以產生用於資料鎖存之第二時脈CLK2,且在用於傳回RE信號之路徑中配置可程式化延遲元件,以藉由可程式化延遲元件調整第二時脈CLK2之時序,藉此即使存在信號延遲亦確保自NAND記憶體10讀取之資料的輸出操作。藉由在系統板之負載容量為小時將可程式化延遲元件之延遲量設定為"小"或在系統板之負載容量為大時將可程式化延遲元件之延遲量設定為"大",即使系統板之負載容量大或小,亦可確保經讀取之資料之輸出操作。
參看圖13及圖14來說明本發明之第一實施例。圖13為根據第一實施例的包括於NAND I/F 116中之通道控制器中的異步電路之一實例之說明性圖。圖14為根據第一實施例之異步電路之時序圖的實例。
在圖13中,t1表示IO及CR延遲,t2、t3及t5表示傳播(佈線)延遲,t4表示IO延遲,tREA表示NAND資料輸出及IO及CR延遲,且tDLY表示IO及DLY元件之延遲。第一實施例具有一組態,其中使RE信號在系統板上分支並傳回,且藉由重新輸入RE信號並使用其作為資料鎖存CLK而消除IO信號之佈線延遲及IO延遲。將用於輸出IO信號之信號線S1及用於輸出RE信號之信號線S2設定為相同長度,以使彼等信號線之間的負載容量相等。
FF_RE與內部時脈CLK同步地將RE信號輸出至NAND記憶體10。將可程式化延遲Y元件220配置於用於傳回RE信號之路徑中,以調整RE傳回信號中之延遲量,且將RE傳回信號輸出至FF_DATA0[7:0]作為第二時脈CLK2。如下文所描述,由處理器104來設定可程式化延遲Y元件220之延遲量(延遲(DLY)分接頭之數目)。FF_DATA0[7:0]與第二時脈CLK2(RE信號之重新輸入)同步地鎖存IO[7:0]且在後續級上將IO[7:0]輸出至FF_DATA1[7:0]。FF-DATA1[7:0]與內部時脈CLK同步地鎖存自FF_DATA0[7:0]輸出之DATA0[7:0],且輸出DATA1[7:0]。
圖14為圖13中之異步電路的時序圖,其中(A)指示內部時脈CLK,(B)指示FF_RE之輸出,(C)指示NAND RE,(D)指示NANDIO[7:0],(E)指示FF_DATA[7:0]之輸入,(F)指示第二時脈CLK(RE之重新輸入),(G)指示FF_DATA[7:0]之輸出,且(H)指示FF_DATA1[7:0]之輸出(與內部時脈CLK同步)。
針對每一通道(總共四個)添加RE傳回信號。然而,為了減少信號插腳之數目,可將RE傳回信號僅添加至一通道以使得其他通道可使用RE傳回信號。在此狀況下,有必要考慮用於每一通道之信號線之長度及實施中之記憶體碼片的差異。
參看圖15及圖16來說明本發明之第二實施例。圖15為根據第二實施例的包括於NAND I/F 116中之通道控制器中的異步電路之一實例之說明性圖。在圖15中,因為相似參考字符指代具有與在圖13中之功能相同之功能的相似部分,所以省略共同部分之說明且僅說明差異點。圖16為根據第二實施例之異步電路之時序圖的實例。
第一實施例具有使RE信號在系統板上分支並傳回之組態。另一方面,第二實施例具有使RE信號在ASIC中分支並傳回之組態。
在圖15中,t1表示IO及CR延遲,t2及t5表示傳播(佈線)延遲,t4表示IO延遲,tREA表示NAND資料輸出及IO及CR延遲,且tDLY表示IO及DLY元件之延遲。不同於第一實施例之點在於:不消除IO信號之延遲值,且因此可程式化延遲元件220考慮此延遲值。如在第一實施例中,FF_DATA0[7:0]與第二時脈CLK2同步地鎖存IO[7:0]且在後續級上將IO[7:0]輸出至FF_DATA1[7:0]。FF_DATA1[7:0]以CLK鎖存IO[7:0],且輸出IO[7:0]。
圖16為圖15中之異步電路的時序圖,其中(A)指示內部時脈CLK,(B)指示FF_RE之輸出,(C)指示NAND RE,(D)指示NAND IO[7:0],(E)指示FF_DATA[7:0]之輸入,(F)指示第二時脈CLK(ASIC中之RE之重新輸入),(G)指示FF_DATA[7:0]之輸出,且(H)指示FF_DATA1[7:0]之輸出(與內部時脈CLK同步)。
參看圖17及圖18來說明第一實施例及第二實施例中之可程式化延遲元件220之延遲量(分接頭之數目)的設定方法。圖17為可程式化延遲元件220之分接頭之數目之設定方法的說明性圖。圖18為可程式化延遲元件220之組態實例。
當將判定延遲線(DLY)之總長度及DLY分接頭之數目時,考慮以下點:(1)此等係在由系統確保之資料之讀取時序的範圍內;(2)系統組態中之個別信號之負載容量;(3)ASIC與NAND記憶體之間的傳輸線之模擬結果;及(4)一延遲元件之延遲量及安裝佔據面積(當增加延遲元件之數目時,安裝佔據面積變大)。
在圖17中,NAND控制器112中之控制暫存器119包括分接頭數目設定暫存器119a。處理器104將可程式化延遲元件220之DLY分接頭之數目設定至分接頭數目設定暫存器119a。NAND I/F 116針對所有通道將對應於設定於分接頭數目設定暫存器119a中之DLY分接頭之數目的分接頭控制資料(例如,7個位元)輸出至可程式化延遲元件220。在當前實施例中,針對所有通道在可程式化延遲元件220中設定相同數目之DLY分接頭。可為每一通道提供分接頭數目設定暫存器119a,且可設定對於每一通道而言不同的DLY分接頭之數目。
在圖18中,可程式化延遲元件220包括選擇器SEL0至SEL6、分別使選擇器SEL0至SEL6之輸出反相之反相器INV0至INV6、使RE信號反相以輸出RE反相信號之反相器INV7,及分別經由選擇器SEL0至SEL6及反相器INV0至INV6而在七個級中串聯連接之DLY元件(DLY分接頭)DLY0至DLY6。在此實例中,因為FF_Data[7:0]為正緣時脈之正反器,所以可程式化延遲元件220之輸出之極性變成輸入之反相。將反相器插入選擇器之輸出中之原因係減輕DLY元件之上升/下降極性。
分別將DLY元件DLY0至DLY6之輸出輸入至選擇器SEL0至SEL6,將RE信號輸入至選擇器SEL0、SEL2、SEL4及SEL6,且將RE反相信號輸入至選擇器SEL1、SEL3及SEL5。選擇器SEL0至SEL6交替地選擇並輸出分別對應於自NAND I/F 116輸入之分接頭控制資料(7個位元)的延遲元件DLY0至DLY6之輸出及RE信號或RE反相信號之輸出。當分接頭控制資料之對應位元為"0"時,選擇器SEL0至SEL6輸出RE信號或RE反相信號,且當分接頭控制資料之對應位元為"1"時,選擇器SEL0至SEL6輸出延遲元件DLY0至DLY6之輸出。
舉例而言,當在分接頭數目設定暫存器119a中設定"3"時,亦即,當DLY分接頭之數目為"3"時,分接頭控制資料變成"0000111"。選擇器SEL4至SEL6選擇三個延遲元件DLY4至DLY6,且在藉由該三個延遲元件DLY4至DLY6將自選擇器SEL3輸入之RE反相信號延遲之後,輸出RE反相信號作為第二時脈CLK2。
以此方式,可基於分接頭數目設定暫存器119a中所設定之DLY分接頭之數目而選擇待連接之延遲元件DLY0至DLY6,藉此設定待被傳回之RE信號之延遲量。處理器104可在通電時自NAND記憶體10或非揮發性記憶體讀取在稍後所描述之修整測試中所判定的DLY分接頭之數目,以在分接頭數目設定暫存器119a中設定DLY分接頭之數目。
參看圖19至圖23來說明在生產時之修整測試中設定可程式化延遲元件220之DLY分接頭之數目的狀況。可在生產時之修整測試中執行可程式化延遲元件220之DLY分接頭之數目的設定。在修整測試中,藉由使用32-位元模式(32-位元正常模式或32-位元雙速模式)來減小修整測試之處理時間。需要在高溫及高電壓之條件下執行修整測試,以放大操作裕度。
參看圖19至圖21來說明生產時之修整測試之第一實例。圖19為用於說明當改變可程式化延遲元件220之DLY分接頭之數目時藉由第二時脈CLK2鎖存IO信號之狀況的時序圖。圖20為用於說明生產時之修整測試之第一實例的流程圖。圖21為基於修整測試之結果而判定可程式化延遲元件220之DLY分接頭之號碼之方法的說明性圖。
在修整測試之第一實例中,於圖1、圖3及圖17中,當執行修整測試時,處理器104在DRAM 20中產生(develop)修整資料,且經由DRAM控制器113及NAND控制器112,以32-位元模式將修整資料寫入個別通道之NAND記憶體封裝10a至10d之所有碼片中。處理器104讀取個別通道中之碼片0至15中之每一者之修整資料並將修整資料傳送至DRAM 20,同時改變所有通道中之可程式化延遲元件220之DLY分接頭的數目(0至7)。處理器104比較經讀取之修整資料與經寫入之修整資料,且基於比較結果而設定可程式化延遲元件220之DLY分接頭的最佳數目。
需要修整資料具有能夠偵測歸因於時序之讀取錯誤之樣式。舉例而言,可使用在每一IO中及在鄰近IO中執行雙態觸發之樣式(例如,32'h5555_5555、32'hAAAA_AAAA)。
參看圖19來說明改變可程式化延遲元件220之DLY分接頭之數目時之第二時脈CLK2及藉由第二時脈CLK2鎖存IO信號的狀況。在圖19中,(A)指示內部時脈CLK,(B)指示IO信號(IO資料),且(C)至(J)指示DLY分接頭之數目為0至7時的第二時脈CLK2(RE之重新輸入)。
當在第二時脈CLK2之前緣處鎖存IO信號(資料)時(其中DLY分接頭之數目為0或1),因為第二時脈CLK2之前緣太快,所以無法鎖存IO信號(資料)(不好(NG))。當DLY分接頭之數目為6至7時,因為第二時脈CLK2之前緣太慢,所以無法鎖存IO信號(資料)(NG)。另一方面,當DLY分接頭之數目為2至5時,可在第二時脈CLK2之前緣處鎖存IO信號(資料)(好(OK))。
接著參看圖20來說明修整測試之第一實例中的處理流程。處理器104在NAND控制器112中之控制暫存器119中之分接頭數目設定暫存器119a中順序地寫入DLY分接頭之數目0至7,且對NAND記憶體10中之所有通道之具有碼片號碼0至15的碼片執行修整測試,同時改變所有通道之可程式化延遲元件220之DLY分接頭之數目0至7。
在圖20中,將儲存於DRAM 20中之修整資料寫入NAND記憶體10中之所有碼片中(步驟S1)。處理器104判定DLY分接頭之數目是否小於所有分接頭之數目(7)(步驟S2)。當DLY分接頭之數目不小於所有分接頭之數目時(步驟S2處為否),亦即,當針對所有分接頭之測試完成時,處理器104基於測試結果而判定DLY分接頭之數目(步驟S11),且結束流程。
當DLY分接頭之數目小於所有分接頭之數目時(步驟S2處為是),處理器104使可程式化延遲元件220之DLY分接頭之數目遞增(步驟S3)。處理器104判定碼片號碼是否小於所有碼片之號碼(15)(步驟S4)。當碼片號碼不小於所有碼片之號碼時(步驟S4處為否),處理器104返回至步驟S2。另一方面,當碼片號碼小於所有碼片之號碼時(步驟S4處為是),處理器104使碼片號碼遞增(步驟S5)。處理器接著以32位元模式自所有通道中具有該碼片號碼之碼片讀取所有資料片且在DRAM 20中產生該資料(步驟S6)。處理器104比較經讀取之修整資料與DRAM 20中經寫入之修整資料(步驟S7),以判定OK還是NG(步驟S8)。
執行OK還是NG之判定,以使得當不一致位元之數目(所有通道中具有對應碼片號碼之碼片的不一致位元之總值)等於或小於位元之臨限數目時,該判定變成OK,且當不一致位元之數目大於位元之臨限數目時,該判定變成NG。針對位元之臨限數目,設定系統中容許之不一致位元之數目。位元之臨限數目未必為0,因為存在裝運時允許錯誤位元之狀況。
當比較結果為OK時(步驟S8處為是),將DLY分接頭之數目及OK結果儲存於DRAM 20中(步驟S10),且控制返回至步驟S4。另一方面,當比較結果為NG時(步驟S8處為否),將DLY分接頭之數目及NG結果儲存於DRAM 20中(步驟S9),且控制返回至步驟S2。
在第一實施例中,因為不執行錯誤校正及錯誤偵測,所以可不在將修整資料寫入NAND記憶體10中時添加錯誤偵測碼及第一錯誤校正碼及第二錯誤校正碼。在第一實施例中,相對於所有碼片執行測試以考慮時序之NAND碼片相關性;然而,可僅測試NAND1碼片以縮短測試時間。
接著參看圖21來說明基於修整測試結果而判定DLY分接頭之號碼之特定方法。圖21為資料比較結果之一實例,其中X軸指示自0至7的DLY分接頭之號碼,Y軸指示資料比較結果,且o指示OK結果,且x指示NG結果。
如實例1中所展示,當可讀段清楚時(當可判定讀取之開始及讀取之結束時),選擇中央部分。在實例1中,因為可針對自2至5的DLY分接頭之號碼執行讀取,所以選擇3或4作為DLY分接頭之號碼。
如實例2中所展示,當僅讀取之開始清楚時(亦包括僅讀取之結束清楚之狀況),簡單地選擇DLY分接頭之最大號碼。在實例2中,因為可針對自5至7的DLY分接頭之號碼執行讀取,所以選擇7。當自設計時之時序計算取兩個DLY分接頭之裕度時,選擇7作為DLY分接頭之號碼(DLY5及DLY6用於裕度)。
如實例3中所展示,當自設計時之時序計算取兩個DLY分接頭之裕度時,因為可針對自6至7的DLY分接頭之號碼執行讀取,所以無法選擇DLY分接頭之號碼,且因此判定其為初始故障。如實例4中所展示,當對於所有分接頭無法執行讀取時,將其判定為初始故障。
參看圖22及圖23來說明生產時之修整測試之第二實例。圖22為用於說明生產時之修整測試之第二實例的流程圖。圖23為基於修整測試結果而判定可程式化延遲元件220之DLY分接頭之號碼的方法之說明性圖。
在第一實例中,執行資料比較,且基於結果而判定可程式化延遲元件220之DLY分接頭之數目。與此相反,在第二實例中,執行錯誤校正,且基於結果而判定可程式化延遲元件220之DLY分接頭之數目。
在修整測試之第二實例中,在圖1、圖3及圖17中,當執行修整測試時,處理器104在DRAM 20中產生修整資料,且經由DRAM控制器113及NAND控制器112而以32-位元模式將資料寫入個別通道之NAND記憶體封裝10a至10d之所有碼片中。處理器104針對每一碼片以32-位元模式讀取經寫入之修整資料,同時改變可程式化延遲元件220之DLY分接頭的數目(0至7)。
第一ECC電路117執行第一錯誤校正以藉由使用錯誤偵測碼而偵測是否存在錯誤,且將第一錯誤校正後之資料、第一錯誤校正所用之校正位元之數目及錯誤偵測結果儲存於DRAM 20中。當根據錯誤偵測結果存在錯誤時,第二ECC電路111執行第二錯誤校正,且將第二錯誤校正所用之校正位元之數目儲存於DRAM 20中。處理器104基於第一及第二錯誤校正所用之位元之數目而判定可程式化延遲元件220之DLY分接頭之最佳數目。
如在第一實例中,修整資料具有能夠偵測歸因於時序之讀取錯誤的樣式。舉例而言,可使用在每一IO中及在鄰近IO中執行雙態觸發之樣式(例如,32'h5555_5555、32'hAAAA_AAAA)。
接著參看圖22來說明修整測試之第二實例中的處理流程。在圖22中,相似步驟號碼指代執行與圖20中之處理相同之處理的相似步驟。在圖22中,處理器104將儲存於DRAM 20中之修整資料寫入NAND記憶體10中之所有碼片中(步驟S1)。處理器104判定DLY分接頭之數目是否小於所有分接頭之數目(7)(步驟S2)。當DLY分接頭之數目不小於所有分接頭之數目時(步驟S2處為否),處理器104基於測試結果而判定DLY分接頭之數目(步驟S11),且結束流程。
另一方面,當DLY分接頭之數目小於所有分接頭之數目時(步驟S2處為是),處理器104使DLY分接頭之數目遞增(步驟S3)。處理器104接著判定碼片號碼是否小於所有碼片之號碼(15)(步驟S4),且當碼片號碼不小於所有碼片之號碼時(步驟S4處為否),控制返回至步驟S2。另一方面,當碼片號碼小於所有碼片之號碼時(步驟S4處為是)。處理器104使碼片號碼遞增(步驟S5)。處理器自具有對應碼片號碼之碼片讀取所有資料片且在DRAM 20中產生所有資料片(步驟S6)。在此狀況下,第一ECC電路117關於經讀取之資料執行第一錯誤校正,藉由使用錯誤偵測碼而偵測是否存在錯誤,且將第一錯誤校正後之資料、第一錯誤校正所用之校正位元之數目及錯誤偵測結果儲存於DRAM 20中。此後,當根據錯誤偵測結果存在錯誤時,第二ECC電路111關於第一錯誤校正後之資料執行第二錯誤校正,且將第二錯誤校正所用之校正位元之數目及指示校正不可能之資訊(當超過第二錯誤校正之校正能力時)儲存於DRAM 20中(步驟S21)。
處理器104判定是否不存在錯誤校正或校正位元之數目(所有通道中的第一錯誤校正位元之數目+第二錯誤校正位元之數目)是否小於允許之位元數目(步驟S22)。允許之位元數目為系統中容許之錯誤校正位元之數目。可以碼片為單位、以頁為單位(NAND記憶體10之最小存取單位,且在32-位元雙速模式中為32個千位元組)或以區塊為單位(NAND記憶體10中的抹除之單位,且在32-位元雙速模式中為4個百萬位元組)來設定允許之位元數目。
當不存在錯誤校正或錯誤校正位元之數目小於允許之位元數目時(步驟S22處為是),儲存OK結果與DLY分接頭之數目(步驟S10),以返回至步驟S4。另一方面,當存在錯誤校正或錯誤校正位元之數目不小於允許之位元數目時(包括錯誤校正不可能之狀況)(步驟S22處為否),儲存NG結果與DLY分接頭之數目(步驟S9),以返回至步驟S2。
基於第一及第二錯誤校正中之錯誤校正位元之數目而設定可程式化延遲元件220之DLY分接頭的數目。然而,僅執行第一錯誤校正,且可藉由僅使用第一錯誤校正之錯誤校正位元之數目來設定DLY分接頭之數目。
參看圖23來說明基於修整測試之結果而判定DLY分接頭之號碼的第二實例。圖23為基於修整測試之結果而判定DLY分接頭之號碼的第二實例之說明性圖。在第二實例中,使用錯誤校正位元之數目。圖23為錯誤校正結果之一實例,其中括號中之字符表示錯誤校正位元之數目,且x表示錯誤校正位元之數目大於允許之位元數目(例如,12個位元)的狀況。
如實例1中所展示,當可讀段清楚時(當可判定讀取之開始及讀取之結束時),選擇具有較小數目之校正位元的DLY分接頭之號碼。在實例1中,因為可針對自2至5的DLY分接頭之號碼讀取資料,所以選擇具有最小數目之錯誤校正位元的DLY分接頭之號碼3。當存在具有最小數目之錯誤校正位元的DLY分接頭之號碼時,選擇中央DLY。
如實例2中所展示,當僅讀取之開始清楚時(亦包括僅讀取之結束清楚之狀況),簡單地選擇具有最小數目之錯誤校正位元的DLY分接頭之號碼。在實例2中,因為可針對自5至7的DLY分接頭之號碼執行讀取,所以選擇7。當自設計時之時序計算取兩個DLY分接頭之裕度且將選擇具有最小數目之校正位元的DLY分接頭之號碼時,選擇7作為DLY分接頭之號碼(DLY5及DLY6用於裕度)。
如實例3中所展示,當自設計時之時序計算取兩個DLY分接頭之裕度且將選擇具有最小數目之校正位元的DLY分接頭之號碼時,無法選擇DLY分接頭之號碼,且因此判定其為初始故障。如實例4中所展示,當在所有分接頭處,錯誤校正位元之數目大於位元之容許數目時,判定其為初始故障。
參看圖24來說明生產時之修整測試之第三實例。在修整測試之第三實例中,使用第二實例中之錯誤校正及第一實例中之資料比較。在第三實例中,在錯誤校正不可能之狀況下,省略資料比較以縮短測試時間。又,在不存在錯誤校正或錯誤校正可能之狀況下,藉由執行資料比較來改良測試準確度。
圖24為用於說明生產時之修整測試之第三實例的流程圖。在圖24中,因為相似步驟號碼指代執行與圖20及圖22中之處理相同之處理的相似步驟,所以省略共同部分之說明且僅說明不同點。
在步驟S41處,處理器104判定是否不存在錯誤校正或校正位元之數目(第一錯誤校正位元之數目+第二錯誤校正位元之數目)是否小於允許之位元數目(步驟S41)。當不存在錯誤校正或錯誤校正位元之數目小於允許之位元數目時(步驟S41處為是),處理器104比較經讀取之修整資料(錯誤校正之前的資料)與DRAM 20中經寫入之修整資料(步驟S41),以判定OK還是NG(步驟S42)。
執行OK還是NG之判定,以使得當不一致位元之數目(所有通道中具有對應碼片號碼之碼片的不一致位元之總值)等於或小於位元之臨限數目時,該判定變成OK,且當不一致位元之數目大於位元之臨限數目時,該判定變成NG。針對位元之臨限數目,設定系統中容許之不一致位元之數目。
當比較結果為OK時(步驟S43處為是),將DLY分接頭之數目及OK結果儲存於DRAM 20中(步驟S10),且控制返回至步驟S4。另一方面,當比較結果為NG時(步驟S43處為否),將DLY分接頭之數目及NG結果儲存於DRAM 20中(步驟S9),且控制返回至步驟S2。
基於修整測試結果而判定DLY分接頭之數目之方法與第一實例中相同,且因此將省略其說明。
接著說明生產實現之後的SSD 100之通電時之處理。將修整測試中所判定的DLY分接頭之數目儲存於為非揮發性記憶體之NAND記憶體10中。在此狀況下,在生產實現之後的通電時,因為尚未在NAND控制器112中之控制暫存器119中之分接頭數目設定暫存器119a中設定分接頭之數目,所以尚未設定可程式化延遲元件220之延遲量。因此,有必要自NAND記憶體10可靠地讀取DLY分接頭之數目以將其設定於分接頭數目設定暫存器119a中。因此,(1)準備兩種類型之模式,亦即,高速讀取模式與緩慢且可靠之讀取模式,且在讀取DLY分接頭之數目時,以可靠可讀時序對其進行讀取。(2)當組態係使得藉由使用諸如FeRAM之非揮發性記憶體來儲存DLY分接頭之數目之資訊的組態時,不需要如(1)中使用兩種模式,且僅需要將儲存於非揮發性記憶體中的DLY分接頭之數目之資訊設定於分接頭數目設定暫存器119a中。
在通電之後,可檢查是否可在設定在修整測試中所判定的DLY分接頭之數目之後讀取DLY分接頭之數目。在此狀況下,可執行修整測試之簡化版本(僅關於特定碼片執行資料比較)。在NG之狀況下,認為歸因於某一原因而發生故障,且將此問題通知給主機裝置1。
根據該實施例,NAND I/F 116藉由可程式化延遲元件220將藉由傳回RE信號而獲得之信號延遲且將其輸出作為第二時脈CLK2,且藉由使用第二時脈CLK2而鎖存並輸出自NAND記憶體10讀取之資料。因此,信號線之負載容量增加,且即使存在信號延遲,亦可自NAND記憶體10可靠地讀取資料並輸出資料。另外,因為歸因於負載容量之延遲差可在寬廣範圍上被彌補,所以可設計對應於NAND記憶體之小至大資料容量的控制器。
因為可程式化延遲元件220包括複數個串聯連接之延遲元件DLY0至DLY6及在延遲元件當中選擇延遲元件DLY0至DLY6中之一者來連接以選擇延遲量的選擇器SEL0至SEL6,所以可程式化延遲元件220可設定延遲量,以實現資料之高度準確之鎖存時序的調整。
另外,提供設定延遲量(DLY分接頭之數目)之分接頭數目設定暫存器119a,處理器104在分接頭數目設定暫存器119a中設定延遲量,且選擇器SEL0至SEL6基於分接頭數目設定暫存器119a中所設定之延遲量而選擇延遲元件DLY0至DLY6中之一者來連接。因此,處理器104可設定可程式化延遲元件220之延遲量。
另外,因為RE信號係在系統板或ASIC上分支並傳回,所以考慮SSD 100之布局,可判定使RE信號分支之位置。
因為在生產時之修整測試中設定可程式化延遲元件220之延遲量,所以可在生產時針對每一產品設定可程式化延遲元件220之最佳延遲量。另外,在此狀況下,因為可程式化延遲元件220之延遲量係基於資料比較或錯誤校正結果來判定,所以可更準確地實現資料之鎖存時序之調整。
在上述實施例中,將本發明應用於具有NAND記憶體之SSD;然而,亦可將本發明應用於具有諸如反或型快閃EEPROM之另一記憶體的SSD。
1...主機裝置(主機)
2...ATA介面
3...RS232C介面(RS232CI/F)
4...驅動控制電路
5...電力電路
6...LED
10...NAND記憶體
10a...4通道NAND記憶體封裝
10a1...8堆疊碼片
10a2...8堆疊碼片
10b...4通道NAND記憶體封裝
10b1...8堆疊碼片
10b2...8堆疊碼片
10c...4通道NAND記憶體封裝
10c1...8堆疊碼片
10c2...8堆疊碼片
10d...4通道NAND記憶體封裝
10d1...8堆疊碼片
10d2...8堆疊碼片
20...DRAM
100...SSD
101...資料存取匯流排
102...第一電路控制匯流排
103...第二電路控制匯流排
104...處理器
105...啟動ROM
106...ROM控制器
107...時脈控制器
108...並列IO(PIO)電路
109...串列IO(SIO)電路
110...ATA介面控制器(ATA控制器)
111...第二錯誤檢查及校正(ECC)電路
112...NAND控制器
113...DRAM控制器
114...SRAM
115...SRAM控制器
116...NAND I/F
117...第一ECC電路
118...DMA控制器
119...控制暫存器
119a...分接頭數目設定暫存器
200...除錯裝置
201...控制信號插腳
202...IO信號插腳
210a...Ch0控制器
210b...Ch1控制器
210c...Ch2控制器
210d...Ch3控制器
213...參考數字/輸入/輸出IO
214...輸出IO
215...輸出IO
220...可程式化延遲Y元件
ALE...位址鎖存致能信號
BL0~BLm...位元線
CE...碼片致能信號
Ch0...通道
Ch1...通道
Ch2...通道
Ch3...通道
CLE...命令鎖存致能信號
CLK...內部時脈
CLK2...第二時脈
DLY0~DLY6...DLY元件(DLY分接頭)
INV0~INV6...反相器
INV7...反相器
IO0~IO7...8-位元資料元素/IO資料/IO信號
MT...記憶體單元電晶體
RE...讀取致能信號
S1...信號線
S2...信號線
SEL0~SEL6...選擇器
SGD...選擇閘極線
SGS...選擇閘極線
SL...源極線
ST1...選擇電晶體
ST2...選擇電晶體
t1...參考字符/IO及CR延遲
t2...傳播(佈線)延遲
t3...傳播(佈線)延遲
t4...IO延遲
t5...傳播(佈線)延遲
tDLY...IO及DLY元件之延遲
tREANAND...資料輸出及IO及CR延遲
WE...寫入致能信號
WL0~WLn...字線
WP...寫入保護信號
圖1為SSD之組態實例的方塊圖;
圖2為包括於NAND記憶體碼片中之一區塊之組態實例的電路圖;
圖3為驅動控制電路之內部硬體組態實例的方塊圖;
圖4為待寫入NAND記憶體中之資料之一格式的一實例;
圖5為NAND I/F與NAND記憶體之間的連接之說明性圖;
圖6為NAND記憶體之負載容量及CR延遲的說明性圖;
圖7為NAND記憶體之負載容量及CR延遲的說明性圖;
圖8(A)及圖8(B)為用於說明自NAND記憶體讀取資料的時序圖;
圖9為完全同步設計電路之說明性圖;
圖10(A)至圖10(F)為負載容量為小時之時序圖;
圖11(A)至圖11(F)為負載容量為大時之時序圖;
圖12為針對每一通道傳回之RE信號的說明性圖;
圖13為根據本發明之第一實施例的包括於NAND I/F中之通道控制器中的異步電路之一實例之說明性圖;
圖14(A)至圖14(H)為根據第一實施例之異步電路之時序圖的實例;
圖15為根據本發明之第二實施例的包括於NAND I/F中之通道控制器中的異步電路之一實例之說明性圖;
圖16(A)至圖16(H)為根據第二實施例之異步電路之時序圖的實例;
圖17為可程式化延遲元件之分接頭之數目之設定方法的說明性圖;
圖18為可程式化延遲元件之組態實例;
圖19(A)至圖19(J)為用於說明以下之狀況之時序圖:當改變可程式化延遲元件之分接頭之數目時,藉由第二時脈鎖存IO信號;
圖20為用於說明生產時之修整測試之第一實例的流程圖;
圖21為基於修整測試之結果而判定可程式化延遲元件之DLY分接頭之數目之方法的說明性圖;
圖22為用於說明生產時之修整測試之第二實例的流程圖;
圖23為基於修整測試結果而判定可程式化延遲元件之DLY分接頭之數目的方法之說明性圖;且
圖24為用於說明生產時之修整測試之第三實例的流程圖。
10a...4通道NAND記憶體封裝
210a...Ch0控制器
213...參考數字/輸入/輸出IO
214...輸出IO
215...輸出IO
220...可程式化延遲Y元件
CLK...內部時脈
CLK2...第二時脈
S1...信號線
S2...信號線
t1...參考字符/IO及CR延遲
t2...傳播(佈線)延遲
t3...傳播(佈線)延遲
t4...IO延遲
t5...傳播(佈線)延遲
tREANAND...資料輸出及IO及CR延遲
tDLY...IO及DLY元件之延遲

Claims (10)

  1. 一種記憶體系統,其包含:非揮發性記憶體,其係根據第一讀取致能信號輸出資料;記憶體介面電路,其係經由讀取致能信號線及複數之IO線連接至該非揮發性記憶體;及讀取致能信號傳回線,其係連接至該讀取致能信號線;其中該記憶體介面電路包含:讀取致能信號輸出電路,其係經由該讀取致能信號線輸出該第一讀取致能信號至該非揮發性記憶體;延遲電路,其係將藉由延遲由該讀取致能信號傳回線所提供之該第一讀取致能信號而獲得之第二讀取致能信號加以輸出;鎖存電路,其係藉由使用自該延遲電路所輸出之該第二讀取致能信號而鎖存由該複數之IO線所提供之資料。
  2. 如請求項1之記憶體系統,其中該延遲電路可以可變方式設定一延遲量。
  3. 如請求項2之記憶體系統,其中該延遲電路包括:暫存器,其可被任意設定;複數個串聯連接之延遲元件;及選擇單元,其基於該暫存器之暫存器值而在該等延遲元件當中選擇一延遲元件來連接,藉此選擇該延遲量。
  4. 如請求項3之記憶體系統,其進一步包括控制該記憶體介面電路之處理器,其中該暫存器之該暫存器值係由該處理器來設定。
  5. 如請求項1之記憶體系統,其中該第一讀取致能信號係在其中具有該記憶體介面電路之ASIC上自該讀取致能信號傳回線傳回。
  6. 如請求項1之記憶體系統,其中該第一讀取致能信號係在一併有ASIC及該非揮發性記憶體之系統板上自該讀取致能信號傳回線傳回。
  7. 如請求項2之記憶體系統,其進一步包括修整測試電路,該修整測試電路在生產時間執行修整測試,且基於測試結果來設定該延遲電路之該延遲量。
  8. 如請求項7之記憶體系統,其中該修整測試電路包括:修整資料寫入電路,其將修整資料寫入該非揮發性記憶體中;比較電路,其讀取經寫入該非揮發性記憶體中之該修整資料,並改變該延遲電路之該延遲量,且比較該經寫入之修整資料與該經讀取之修整資料;及延遲量判定電路,其基於資料比較結果來判定該延遲電路之該延遲量。
  9. 如請求項7之記憶體系統,其中該修整測試電路包括:修整資料寫入電路,其將錯誤校正碼添加至該修整資料,且將該資料寫入該非揮發性記憶體中;錯誤校正電路,其讀取經寫入該非揮發性記憶體中之 該修整資料,並改變該延遲電路之該延遲量,且藉由使用該錯誤校正碼而相對於該經讀取之修整資料執行錯誤校正;及延遲量判定電路,其基於由該錯誤校正電路獲得之錯誤校正結果來判定該延遲電路之該延遲量。
  10. 如請求項7之記憶體系統,其中該修整測試電路包括:修整資料寫入電路,其將錯誤校正碼添加至該修整資料,且將該資料寫入該非揮發性記憶體中;錯誤校正電路,其讀取經寫入該非揮發性記憶體中之該修整資料,並改變該延遲電路之該延遲量,且藉由使用該錯誤校正碼而相對於該經讀取之修整資料執行錯誤校正;比較電路,其在由該錯誤校正使用之錯誤校正位元之數目小於允許之位元數目時,比較該經寫入之修整資料與該經讀取之修整資料;及延遲量判定電路,其基於該資料比較結果來判定該延遲電路之該延遲量。
TW098106020A 2008-02-29 2009-02-25 記憶體系統 TWI409640B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008051405A JP4519923B2 (ja) 2008-02-29 2008-02-29 メモリシステム

Publications (2)

Publication Number Publication Date
TW200937202A TW200937202A (en) 2009-09-01
TWI409640B true TWI409640B (zh) 2013-09-21

Family

ID=41015849

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098106020A TWI409640B (zh) 2008-02-29 2009-02-25 記憶體系統

Country Status (7)

Country Link
US (1) US8103920B2 (zh)
EP (1) EP2248022B1 (zh)
JP (1) JP4519923B2 (zh)
KR (1) KR101096884B1 (zh)
CN (1) CN101681296B (zh)
TW (1) TWI409640B (zh)
WO (1) WO2009107443A1 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101893332B1 (ko) 2009-11-13 2018-08-31 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치 및 반도체 장치의 구동 방법
US8868487B2 (en) 2010-04-12 2014-10-21 Sandisk Enterprise Ip Llc Event processing in a flash memory-based object store
US9164554B2 (en) 2010-04-12 2015-10-20 Sandisk Enterprise Ip Llc Non-volatile solid-state storage system supporting high bandwidth and random access
US8856593B2 (en) 2010-04-12 2014-10-07 Sandisk Enterprise Ip Llc Failure recovery using consensus replication in a distributed flash memory system
US9047351B2 (en) 2010-04-12 2015-06-02 Sandisk Enterprise Ip Llc Cluster of processing nodes with distributed global flash memory using commodity server technology
US8677055B2 (en) * 2010-04-12 2014-03-18 Sandisk Enterprises IP LLC Flexible way of specifying storage attributes in a flash memory-based object store
US8954385B2 (en) 2010-06-28 2015-02-10 Sandisk Enterprise Ip Llc Efficient recovery of transactional data stores
JP5025785B2 (ja) * 2010-12-17 2012-09-12 株式会社東芝 半導体記憶装置
US8874515B2 (en) 2011-04-11 2014-10-28 Sandisk Enterprise Ip Llc Low level object version tracking using non-volatile memory write generations
JP5674634B2 (ja) * 2011-12-28 2015-02-25 株式会社東芝 コントローラ、記憶装置およびプログラム
US9135064B2 (en) 2012-03-07 2015-09-15 Sandisk Enterprise Ip Llc Fine grained adaptive throttling of background processes
US9471484B2 (en) 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
TWI461717B (zh) * 2012-11-05 2014-11-21 Realtek Semiconductor Corp 掃描時脈產生器以及掃描時脈產生方法
US20140223213A1 (en) * 2013-02-05 2014-08-07 Kabushiki Kaisha Toshiba Memory system
CN107341071A (zh) * 2013-08-23 2017-11-10 慧荣科技股份有限公司 存取快闪存储器中储存单元的方法以及使用该方法的装置
KR20150061393A (ko) 2013-11-27 2015-06-04 삼성전자주식회사 메모리 장치로부터 읽은 데이터를 고속으로 전송하는 메모리 컨트롤러 및 그것의 데이터 전송 방법.
US9594910B2 (en) 2014-03-28 2017-03-14 Intel Corporation In-system provisioning of firmware for a hardware platform
CN105608490B (zh) * 2015-07-29 2018-10-26 上海磁宇信息科技有限公司 细胞阵列计算系统以及其中的通信方法
US10719394B2 (en) * 2017-10-25 2020-07-21 Innogrit Technologies Co., Ltd. Systems and methods for fast access of non-volatile storage devices
KR102394727B1 (ko) * 2017-12-12 2022-05-09 에스케이하이닉스 주식회사 반도체시스템
US10747611B2 (en) * 2018-01-15 2020-08-18 Microchip Technology Incorporated Safety enhancement for memory controllers
US10991445B2 (en) * 2018-09-06 2021-04-27 Micron Technology, Inc. Memory sub-system including an in-package sequencer to perform error correction and memory testing operations
US10790039B1 (en) * 2019-09-26 2020-09-29 Micron Technology, Inc. Semiconductor device having a test circuit
US11817168B2 (en) * 2021-11-30 2023-11-14 Micron Technology, Inc. Environmental condition tracking for a memory system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010022754A1 (en) * 1997-08-22 2001-09-20 Pawlowski J. Thomas Synchronous memory with programmable read latency
US6674666B2 (en) * 2001-02-20 2004-01-06 Stmicroelectronics S.R.L. Device and method for timing the reading of a nonvolatile memory with reduced switching noise
TWI254936B (en) * 2003-07-25 2006-05-11 E Ten Information Sys Co Ltd Nonvolatile memory access system and its accessing method
TWI287191B (en) * 2003-12-30 2007-09-21 Sandisk Corp Method of programming, writing, and updating data in a non-volatile memory system and a memory system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122710A (en) * 1998-02-17 2000-09-19 International Business Machines Corporation Dynamic word line driver for cache
JP2001291388A (ja) 2000-04-05 2001-10-19 Nec Corp Dll回路、それを使用する半導体装置及びタイミング生成方法
JP2002007202A (ja) * 2000-06-22 2002-01-11 Mitsubishi Electric Corp 半導体記憶装置および調整方法
EP1225597A1 (en) * 2001-01-15 2002-07-24 STMicroelectronics S.r.l. Synchronous-reading nonvolatile memory
JP2002318638A (ja) * 2001-04-24 2002-10-31 Hitachi Ltd 情報処理システム及び半導体集積回路装置
US7082071B2 (en) * 2001-08-23 2006-07-25 Integrated Device Technology, Inc. Integrated DDR/SDR flow control managers that support multiple queues and MUX, DEMUX and broadcast operating modes
JP4271450B2 (ja) * 2003-01-27 2009-06-03 スパンション エルエルシー 高速読み出し回路を備えた半導体記憶装置
US7694202B2 (en) * 2004-01-28 2010-04-06 Micron Technology, Inc. Providing memory test patterns for DLL calibration
DE102004015868A1 (de) * 2004-03-31 2005-10-27 Micron Technology, Inc. Rekonstruktion der Signalzeitgebung in integrierten Schaltungen
JP2006155479A (ja) * 2004-12-01 2006-06-15 Toshiba Corp 誤り訂正回路
US7319612B2 (en) * 2005-05-18 2008-01-15 Intel Corporation Performing multiple read operations via a single read command
JP2008010607A (ja) * 2006-06-29 2008-01-17 Nec Computertechno Ltd 半導体集積回路およびクロックスキュー低減方法
KR100801032B1 (ko) * 2006-11-15 2008-02-04 삼성전자주식회사 비휘발성 반도체 메모리 장치의 입력회로 및 비휘발성반도체 메모리 장치의 데이터 입력방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010022754A1 (en) * 1997-08-22 2001-09-20 Pawlowski J. Thomas Synchronous memory with programmable read latency
US6674666B2 (en) * 2001-02-20 2004-01-06 Stmicroelectronics S.R.L. Device and method for timing the reading of a nonvolatile memory with reduced switching noise
TWI254936B (en) * 2003-07-25 2006-05-11 E Ten Information Sys Co Ltd Nonvolatile memory access system and its accessing method
TWI287191B (en) * 2003-12-30 2007-09-21 Sandisk Corp Method of programming, writing, and updating data in a non-volatile memory system and a memory system

Also Published As

Publication number Publication date
KR101096884B1 (ko) 2011-12-22
EP2248022A4 (en) 2012-08-08
EP2248022A1 (en) 2010-11-10
WO2009107443A1 (en) 2009-09-03
CN101681296A (zh) 2010-03-24
US20100325498A1 (en) 2010-12-23
KR20090117748A (ko) 2009-11-12
EP2248022B1 (en) 2016-04-20
US8103920B2 (en) 2012-01-24
JP2009211208A (ja) 2009-09-17
JP4519923B2 (ja) 2010-08-04
TW200937202A (en) 2009-09-01
CN101681296B (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
TWI409640B (zh) 記憶體系統
US11494077B2 (en) Memory system with selective access to first and second memories
US8760921B2 (en) Storage device and control method of nonvolatile memory
US20120060056A1 (en) Semiconductor memory device and method of operating the same
US10665307B2 (en) Memory devices configured to perform leak checks
TW201711172A (zh) 記憶體系統
US9575098B2 (en) Electronic apparatus to detect power supply voltage levels to protect peripheral circuits
TWI524354B (zh) 資料路徑完整性驗證
US9142300B2 (en) Memory system including nonvolatile memory