TWI509623B - 用於內建錯誤更正的儲存架構 - Google Patents

用於內建錯誤更正的儲存架構 Download PDF

Info

Publication number
TWI509623B
TWI509623B TW102132413A TW102132413A TWI509623B TW I509623 B TWI509623 B TW I509623B TW 102132413 A TW102132413 A TW 102132413A TW 102132413 A TW102132413 A TW 102132413A TW I509623 B TWI509623 B TW I509623B
Authority
TW
Taiwan
Prior art keywords
buffer
data
page
ecc
memory
Prior art date
Application number
TW102132413A
Other languages
English (en)
Other versions
TW201435893A (zh
Inventor
Yi Ching Liu
Chi Lo
Shuo Nan Hung
Chung Hsiung Hung
Original Assignee
Macronix Int Co Ltd
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 Macronix Int Co Ltd filed Critical Macronix Int Co Ltd
Publication of TW201435893A publication Critical patent/TW201435893A/zh
Application granted granted Critical
Publication of TWI509623B publication Critical patent/TWI509623B/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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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
    • 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/1068Adding 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 sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Detection And Correction Of Errors (AREA)

Description

用於內建錯誤更正的儲存架構
本申請案要求享有2013年3月11日提出的美國臨時申請案61/775,699的權益,其中該申請案內容在這裡都被全部引入作為參考。
本發明關係於積體電路記憶體裝置以及對電路使用錯誤更正碼(ECC)。
高密度記憶體裝置被設計為包括快閃記憶體位元的陣列或其他記憶體位元的形式。舉例來說,記憶體包括記憶體陣列,其可儲存分頁資料以及對應的分頁資料的錯誤更正碼。裝置包括錯誤更正碼邏輯,其用ECC偵測及更正對應的分頁資料的錯誤。裝置包括耦合於記憶體陣列、ECC邏輯及資料路徑的分頁緩衝。分頁緩衝包括第一緩衝用於讀取運作的感測放大器、用於寫入運作的編程緩衝用於分頁資料的讀取及寫入運作的快取。
用於讀取運作,分頁資料的資料及用於分頁的ECC從記憶體陣列被移動至第一緩衝,然後從第一緩衝至快取。如果ECC邏輯被開啟,ECC邏輯使用對應的ECC於資料上且更正儲存於快取中的資料。更正的資料從快取被移至資料路徑。然而,從下一頁的分頁資料的資料在快取中更正的資料從快取被移至資料路徑以前無法被移動至快取。原因是記憶體裝置較低的讀取吞吐量。
使用內建ECC的記憶體裝置的讀取吞吐量需要被改善。
裝置包括記憶體陣列,其儲存一資料以及對應於該資料的複數個錯誤更正碼以及輸入/輸出資料路徑。一多層緩衝結構,其位於該記憶體陣列與該輸入/輸出資料路經之間。記憶體陣列包括用於分頁模式運作的複數個資料線。緩衝結構包括具有連結至該複數個資料線中各自資料線的複數個儲存胞的一第一緩衝、耦合至該第一緩衝中的該複數個儲存胞的一第二緩衝以及耦合至該第二緩衝以及該輸入/輸出資料路徑的一第三緩衝。裝置包括邏輯,其耦合至該多層緩衝結構,以對分頁讀取或分頁寫入運作中至少一運作,透過該多層緩衝結構對在該記憶體陣列與該輸入/輸出資料路徑之間移動的分頁資料施行一邏輯程序。
裝置包括一介面,其位於該第一緩衝與第二緩衝之間,該介面提供位於於該第一緩衝與第二緩衝之間、在一讀取或寫入循環的資料一分頁移動。裝置包括一介面,其位於該第二緩衝與第三緩衝之間,該介面提供位於於該第二緩衝與第三緩衝之間、在一讀取或寫入循環的資料一分頁移動。
第三緩衝包括一第一記憶體單元,其由一儲存匯流排耦合至該第二緩衝、一第二記憶體單元,其由該儲存匯流排或一第二匯流排耦合至該第二緩衝,以及一邏輯,當從該第一記憶體單元與該第二記憶體單元移動資料至該輸入/輸出資料路徑時,從該第二緩衝移動資料至該第一記憶體單元與該第二記憶體單元其中之一。
裝置包括一錯誤更正碼邏輯,用對應的該複數個錯誤更正碼於該資料中偵測與更正錯誤。裝置包括耦合於多層緩衝結構、ECC邏輯及 記憶體陣列的控制器。ECC邏輯包括邏輯以自記憶體陣列移動序列分頁的資料。在重疊時間運作中,第一分頁的錯誤更正資料從第三緩衝被移動至資料路徑、第二分頁的錯誤更正資料從第二緩衝被移動至第三緩衝以及第三分頁的資料從第三緩衝移動至第二緩衝。在資料從第二緩衝被移出之前,ECC邏輯被用於接續的分頁資料的錯誤偵測。
在該資料從該第三緩衝被移出之前或該資料從該第一記憶體單元與該第二記憶體單元被移動至該輸入/輸出資料路徑時,該錯誤更正碼邏輯被用於對該接續的分頁資料進行錯誤更正。
裝置包括一邏輯,當從該輸入/輸出資料路徑移動資料至該第一記憶體單元與該第二記憶體單元時,從該第一記憶體單元與該第二記憶體單元其中之一移動資料至該第二緩衝。
裝置包括一ECC邏輯,其用於為資料計算ECC;以及該邏輯包括一控制器,其耦合至該多層緩衝結構,以及該ECC邏輯包括一邏輯,其用於時間重疊操作從該資料路徑移動一第二分頁至該第三緩衝、用ECC邏輯計算的ECC從該第三緩衝移動第二分頁的資料至該第二緩衝、從該第二緩衝移動該第二分頁的資料至該第一緩衝,以及在資料被移出該第二緩衝前在該序列中運用該ECC邏輯於資料分頁中計算ECC。
本發明的其他面向的優點可見於圖式、發明說明及專利申請範圍。
100‧‧‧記憶體裝置
110‧‧‧記憶體陣列
112‧‧‧儲存資料
114‧‧‧錯誤更正碼
150‧‧‧錯誤更正碼邏輯
170‧‧‧資料路徑
120‧‧‧分頁緩衝
121‧‧‧第一緩衝
122‧‧‧第一緩衝ECC緩衝
123‧‧‧儲存緩衝
124‧‧‧ECC緩衝
160‧‧‧輸入/輸出(IO)系統
200‧‧‧記憶體裝置
212‧‧‧儲存資料
210‧‧‧記憶體陣列
241‧‧‧錯誤更正碼ECC
270‧‧‧資料路徑
250‧‧‧ECC邏輯
290‧‧‧多層緩衝結構
220‧‧‧第一緩衝
230‧‧‧第一緩衝
260‧‧‧IO系統
240‧‧‧第二緩衝
241‧‧‧第一記憶體單元
242‧‧‧第二記憶體單元
700‧‧‧記憶體裝置
712‧‧‧儲存資料
710‧‧‧記憶體陣列
714‧‧‧錯誤更正碼ECC
750‧‧‧ECC邏輯
780‧‧‧分頁緩衝
730‧‧‧第一緩衝
740‧‧‧第二緩衝
735‧‧‧ECC緩衝
745‧‧‧ECC緩衝
760‧‧‧IO系統
720‧‧‧第一緩衝
770A‧‧‧第一資料路徑
770B‧‧‧第二資料路徑
1400‧‧‧積體電路
1460‧‧‧記憶體陣列
1440‧‧‧列解碼器
1445‧‧‧字線
1465‧‧‧位元線
1450‧‧‧排解碼器
1430‧‧‧位址匯流排
1470‧‧‧欄解碼器
1480‧‧‧第一緩衝
1485‧‧‧資料線
1490‧‧‧多層緩衝
1493‧‧‧資料排
1491‧‧‧IO電路
1405‧‧‧資料排
1497‧‧‧IO電路
1495‧‧‧ECC邏輯
1475‧‧‧資料線
第1圖為使用內建錯誤更正碼(ECC)(習知技術)的記憶體裝置的方塊圖。
第2圖是使用內建錯誤更正ECC邏輯的記憶體裝置的第一實施例的簡化方塊圖。
第3圖示第一實施例的讀取運作的範例流程圖。
第4A圖是關聯於ECC被啟動的第一實施例的讀取運作的範例時序圖。
第4B圖是關聯於ECC被啟動的第一實施例的替代讀取運作的範例時序圖。
第4C圖是關聯於ECC沒被啟動的第一實施例的讀取運作的範例時序圖。
第5圖是關聯於用第一實施例說明讀取運作的示範流程圖。
第6圖是關聯於ECC被啟動的第一實施例的寫入運作的範例時序圖。
第7圖是使用內建錯誤更正ECC邏輯的記憶體裝置的第二實施例的簡化方塊圖。
第8圖是第二實施例的讀取運作示範流程圖。
第9圖是關聯於ECC被啟動的第二實施例的讀取運作的範例時序圖。
第10圖是關聯於ECC沒被啟動的第二實施例的讀取運作的範例時序圖。
第11圖是關聯於用第二實施例說明寫入運作的示範流程圖。
第12圖是關聯於ECC被啟動的第二實施例的寫入運作的範例時序圖。
第13圖是關聯於ECC沒被啟動的第二實施例的寫入運作的範例時序圖。
第14圖是依據實施例的積體電路記憶體裝置的簡化方塊圖。
本發明的實施例的發明說明由第1至14圖所展示。
如本說明書中所使用的,位元是記憶體陣列中數位資料的基本單位。位元只可以有兩種不同的值:1或0。位元組是記憶體陣列中數位資料的單位。一位元組包含8個位元。字組是記憶體陣列中數位資料的單位。一字組包含2個位元組,對應16個位元。這裡所用的分頁意指儲存在第一快取或第二快取的資料量,其中ECC邏輯被用於計算寫入運作的ECC或是用ECC對讀取運作的偵測及更正錯誤。分頁可具有像是2048個位元組,每個位元組有8個位元。多層緩衝結構中的第二分頁或第三分頁意指ECC邏輯應用在資料分頁的相關順序,其中順序無關於記憶體陣列中的資料的任何邏輯或實體位置。
第1圖為使用內建錯誤更正碼(ECC)(習知技術)的記憶體裝置的方塊圖。記憶體裝置100包括記憶體陣列110,其為對應的第一緩衝資料112及錯誤更正碼114。裝置100包括錯誤更正碼邏輯150,其使用ECC偵測與更正對應的資料中的錯誤。裝置100包括耦合於記憶體陣列110、ECC邏輯150及資料路徑170的分頁緩衝120。分頁緩衝120包括第一緩衝區塊121中的感測放大器與編程緩衝以及用於對應由感測放大器與編程緩衝第一緩衝所儲存的資料之ECC的第一緩衝ECC緩衝緩衝122。感測放大器與編程緩衝第一緩衝耦合於記憶體陣列110、用於處理資料分頁中的 資料的快取123以及儲存快取123中對應的資料之ECC的ECC緩衝124。資料路徑170耦合於輸入/輸出(IO)系統160,其可耦合於裝置100外部的電路。
為了讀取之運作,記憶體陣列110中的資料分頁的資料112以及為了該資料的ECC 114各別從記憶體陣列110移至第一緩衝區塊121中的感測放大器以及第一緩衝ECC緩衝緩衝122。資料分頁的資料與ECC各別從感測放大器第一緩衝第一緩衝ECC緩衝移至快取123及ECC緩衝124。如果ECC邏輯被啟動,則ECC邏輯150被應用於快取123中的資料上,使用對應的ECC以進行錯誤更正。更正的資料從快取123經由資料路徑170及IO系統160而輸出。如果ECC邏輯沒有被啟動,資料從快取123移動到資料路徑170,不會更正錯誤。
如果ECC邏輯被啟動,在ECC邏輯150完成快取123中的資料的錯誤更正後,下一個資料分頁的資料不能被移動到快取123,而快取123中的更正的資料已被從快取123移動到資料路徑170。分頁的寬度(即數個位元)可以遠大於資料路徑170的寬度。此狀況下,從快取移出資料需要許多個週期。
為了寫入之運作,資料從裝置100外部的來源經由IO系統160及資料路徑170移動到快取123。如果ECC邏輯150被啟動,使用ECC邏輯150計算的ECC,資料從快取123移動到第一緩衝區塊121中的編程緩衝。如果ECC邏輯沒有被啟動,資料沒有ECC就被從快取123移動到區塊第一緩衝121中的編程緩衝。記憶體陣列110以區塊第一緩衝121中的編程緩衝的資料而編程。
如果ECC邏輯被啟動,因為記憶體裝置的寫入吞吐量被陣 列編程時間所支配,記憶體陣列可以區塊121中的編程緩衝第一緩衝的資料分頁的資料而編程,而下一資料分頁的資料可從資料路徑170被移動到快取123,然後ECC邏輯150可為下一資料分頁的快取123中的資料計算ECC,故運用ECC邏輯導致記憶體裝置的寫入吞吐量對於讀取吞吐量有較少的計時影響。
第2圖是使用內建錯誤更正ECC邏輯的記憶體裝置的第一實施例的簡化方塊圖。記憶體裝置200包括儲存資料212的記憶體陣列210及對應該資料的錯誤更正碼ECC 214、位於記憶體陣列與輸入/輸出資料路徑270之間的多層緩衝結構290。記憶體陣列包括用於分頁模式運作的複數個資料線211。緩衝結構包括具有連結至該複數個資料線中各自資料線的複數個儲存胞的一第一緩衝220、耦合至該第一緩衝中的該複數個儲存胞的一第二緩衝230以及耦合至該第二緩衝以及該輸入/輸出資料路徑的一第三緩衝240。裝置包括邏輯,其耦合至該多層緩衝結構,以對分頁讀取或分頁寫入運作中至少一運作,透過該多層緩衝結構對在該記憶體陣列與該輸入/輸出資料路徑之間移動的分頁資料施行一邏輯程序。裝置200包括一介面,其位於該第一緩衝220與第二緩衝230之間,該介面提供位於於該第一緩衝與第二緩衝之間、在一讀取或寫入循環的資料一分頁移動。裝置200包括一介面,其位於該第二緩衝230與第三緩衝240之間,該介面提供位於於該第二緩衝與第三緩衝之間、在一讀取或寫入循環的資料一分頁移動。
第三緩衝240包括一第一記憶體單元241,其由一儲存匯流排耦合至該第二緩衝230、一第二記憶體單元242,其由該儲存匯流排或一第二匯流排耦合至該第二緩衝,以及一邏輯,當從該第一記憶體單元與該第二記憶體單元移動資料至該輸入/輸出資料路徑時,從該第二緩衝移動資 料至該第一記憶體單元與該第二記憶體單元其中之一。
裝置包括錯誤更正碼邏輯,用對應的複數個ECC於該資料中偵測與更正錯誤。裝置包括耦合於多層緩衝結構290、ECC邏輯250及記憶體陣列210的控制器。ECC邏輯包括邏輯以自記憶體陣列移動序列分頁的資料。在重疊時間運作中,第一分頁的錯誤更正資料從第三緩衝240被移動至資料路徑270、第二分頁的資料從第二緩衝230被移動至第三緩衝240以及第三分頁的資料從第一緩衝220移動至第二緩衝230。在資料從第二緩衝被移出之前,ECC邏輯250被用於接續的分頁資料的錯誤偵測。
在該資料從該第三緩衝240被移出之前,該錯誤更正碼邏輯250被用於對該接續的分頁資料進行錯誤更正。
裝置200包括一邏輯,當從該輸入/輸出資料路徑移動資料至該第一記憶體單元241與該第二記憶體單元242時,從該第一記憶體單元與該第二記憶體單元其中之一移動資料至該第二緩衝230。
裝置包括一ECC邏輯250,其用於為資料計算ECC;以及該邏輯包括一控制器,其耦合至該多層緩衝結構,以及該ECC邏輯包括一邏輯,其用於時間重疊操作從該資料路徑270移動一第二分頁至該第三緩衝240、用ECC邏輯計算的ECC從該第三緩衝240移動第二分頁的資料至該第二緩衝230、從該第二緩衝230移動該第二分頁的資料至該第一緩衝220,以及在資料被移出該第二緩衝230前在該序列中運用該ECC邏輯於資料分頁中計算ECC。
記憶體裝置200上的ECC邏輯250可以支持任何合適的ECC方案。典型的ECC方案包括漢明碼、延伸漢明碼、多重級奇偶檢測碼、里德所羅門碼、BCH(Bose-Chaudhuri-Hocquenghem)碼、渦輪碼以及低密度奇 偶檢測碼。錯誤更正碼ECC的長度與特定資料組有關,依據三個因素:(1)ECC方案;(2)最大更正的位元數;(3)一分頁的資料長度。BCH碼是一種循環錯誤更正碼,可更正多位元錯誤。例如,在8Kb資料分頁中提供40位元的最大更正位元數,BCH ECC碼的長度為560位元。另外一個例子,在8Kb資料分頁中提供24位元的最大更正位元數,BCH ECC碼的長度為336位元。
ECC邏輯250耦合於具有寬度Z位元的資料路徑270。資料路徑270耦合於具有第二緩衝230、第三緩衝240以及具有寬度Z位元的IO系統260,其中Z可為8或6。在讀取運作中,如果ECC邏輯250被啟動,資料從第三緩衝240經由資料路徑270移動至IO系統260。在讀取運作中,如果ECC邏輯250沒有被啟動,資料從第二緩衝230經由資料路徑270移動至IO系統260。在寫入運作中,資料從IO系統260經由資料路徑270移動至第三緩衝240。具有關聯的控制邏輯的資料路徑270配置第二緩衝230與第三緩衝240以允許重疊時間運作,其與第一與第二快取之間以及兩快取之一與IO系統260之間的分業序列移動有關。例如,在寫入模式中中,重疊時間運作可包括當輸入第二資料分頁的資料至第三緩衝240時,以第一緩衝220的第一資料分頁的資料對記憶體陣列210予以編程。在讀取模式中,重疊時間運作可包括在從記憶體陣列210移動資料至第一緩衝220時,從第三緩衝240輸出資料。
第一緩衝220經由X資料線耦合於記憶體陣列210,經由Y位元的匯流排耦合於分頁緩衝280的第二緩衝230,其中第二緩衝230的寬度同等於。
第二緩衝230可被放入快取記憶體,該快取記憶體具有一列 多欄的結構。例如,第二緩衝230可有1列2048欄或2048位元之寬度。第一記憶體單元241以及第二記憶體單元242可被放入具有多列多欄結構的SRAM(static random access memory)。第一記憶體單元241以及第二記憶體單元242的寬度可同等於資料路徑270的寬度以及最多至第二緩衝230之寬度的空間。
第3圖示第一實施例的讀取運作的範例流程圖。步驟310,料分頁的資料及資料對應的ECC從記憶體陣列(如第2圖的210)分別被移動到第一緩衝(如第2圖的220)及ECC緩衝(如第2圖的225)。步驟320,在錯誤更正使用ECC前,資料與ECC從第一緩衝(如220及225)被移動到分頁緩衝280的第一快取(如第2圖的230),其中ECC被儲存在關聯於第一快取的ECC快取(如第2圖的235)中。
步驟330,如果ECC邏輯250被啟動,ECC邏輯使用對應的ECC在第一快取中對資料分頁的資料予以偵查錯誤,而資料分頁的資料在第二快取中(如第2圖的240)從第一快取(如第2圖的230)被移動至第一記憶體單元(如第2圖的241)或第二記憶體單元(如第2圖的242)。在步驟330後,資料分頁的資料在第二快取,ECC邏輯具有來自用於錯誤更正的錯誤更正之資訊。在資料被移出第二快取之前或是當資料被從第一或第二記憶體單元其中一的被移動至資料路徑,依據記憶體裝置的運作規格所允許的時間而定,錯誤更正可被執行於資料上。如果時間足夠,ECC邏輯被用於第二快取中的資料(步驟340),然後資料從第二快取被移動至資料路徑(如第2圖的270)(步驟350)。如果時間不夠,當資料從第二緩衝被移動至資料途徑(如第2圖的270)時,ECC邏輯被用於資料上(步驟360)。如果ECC邏輯沒有被啟動,資料分頁中的資料可從第一緩衝被移動 至資料路徑(如第2圖的270),繞過第二緩衝(步驟370)。
第4A圖是關聯於ECC被啟動的第一實施例的讀取運作的範例時序圖。時序圖說明在第一期間T1與第二期間T2時用於多重資料分頁的重疊時間讀取運作。第一期間T1與第二時間T2可重複讀取更多資料分頁。第一期間T1與第二時間T2交替使用第二緩衝中(如第2圖的240)第一記憶體單元(如第2圖的241)及第二記憶體單元(如第2圖的242)。時序圖也說明在第一期間之前的初始期間T0的讀取運作。RDBYB訊號指示記憶體裝置200是否已準備好輸出資料至資料路徑(如第2圖的270)。時序圖中的讀取運作對應第3圖的流程圖中說明的步驟310至340。
在第4A圖的第一期間T1的期間,不同的重疊時間讀取運作可被執行於三頁資料分頁的資料上。第一分頁的資料,分頁1,從第一記憶體單元(如第2圖的241)被移動至資料路徑(如第2圖的270),接續著等待時間,TW,用於輸出下一資料分頁(步驟350)。第二分頁的資料,分頁2,從第一緩衝(如第2圖的220)被移動至第一緩衝(如第2圖的230)(步驟320)。當分頁2的資料從第一緩衝被移動至第二緩衝中的第二記憶體單元(如第2圖的242)時,ECC邏輯接續地被應用在分頁2的資料上,使用對應的ECC在第一緩衝中進行錯誤更正(步驟330)。在步驟330後,分頁2的資料在第二記憶體單元中,ECC邏輯具有來自用於錯誤更正的錯誤更正之資訊。在資料被移出第二緩衝之前,ECC邏輯可接續地被用於第二記憶體單元中的分頁2的資料之錯誤更正(步驟340)。在分頁2從第一緩衝被移出至第一緩衝後,用於第三分頁,分頁3,的資料以及對應的ECC從記憶體陣列(如第2圖的210)被移動至第一緩衝(步驟310)。如第4A圖所用,「330-1」中的「-1」指出第二記憶體單元被步驟330所使用。相似 的,「340-1」中的「-1」指出第二記憶體單元被步驟340所使用。
故ECC邏輯被用於分頁2的資料上(步驟330-2),而用於分頁3的資料及對應ECC從記憶體陣列被移動至第一緩衝(步驟310),在相同的第一期間T1,分頁1的資料從第二緩衝中的第一記憶體單元被移動至資料路徑。相應地,因分頁2與分頁3的讀取運作不需額外時間,所以記憶體裝置的讀取吞吐量被改善。
在第4A圖中接續於T1的第二期間T2的期間,不同時間重疊讀取運作可被執行於三頁資料分頁的資料上。分頁2的資料從第二緩衝中的第二記憶體單元(如第2圖的242)被移動至資料路徑(如第2圖的270),接續著等待時間,TW,用於輸出下一資料分頁(步驟350)。分頁3的資料從第一緩衝(如第2圖的220)被移動至第一緩衝(如第2圖的230)(步驟320)。當分頁3的資料從第一緩衝被移動至第二緩衝中的第一記憶體單元(如第2圖的241)時,ECC邏輯接續地被應用在分頁3的資料上,使用對應的ECC在第一緩衝中進行錯誤更正(步驟330)。在步驟330後,分頁3的資料在第一記憶體單元中,ECC邏輯具有來自用於錯誤更正的錯誤更正之資訊。在資料被移出第二緩衝之前,ECC邏輯可接續地被用於第一記憶體單元中的分頁3的資料之錯誤更正(步驟340)。在分頁3從第一緩衝被移出至第一緩衝後,用於第四分頁,分頁4,的資料以及對應的ECC從記憶體陣列(如第2圖的210)被移動至第一緩衝(步驟310)。如第4A圖所用,「330-1」中的「-1」指出第一記憶體單元被步驟330所使用。相似的,「340-1」中的「-1」指出第一記憶體單元被步驟340所使用。
故ECC邏輯被用於分頁3的資料上(步驟330-1),而用於分頁4的資料及對應ECC從記憶體陣列被移動至第一緩衝(步驟310),在 相同的第一期間T2,分頁2的資料從第二緩衝中的第二記憶體單元被移動至資料路徑。相應地,因分頁3與分頁4的讀取運作不需額外時間,所以記憶體裝置的讀取吞吐量被改善。
在第4A圖中第一期間T1之前的初始時間T0的期間,用於第一分頁,分頁1,的資料及對應的ECC從記憶體陣列被移動至第一緩衝(步驟310)。接續地,分頁1的資料從第一緩衝被移動至第一緩衝(步驟320)。接續地,當分頁1的資料從第一緩衝被移動至第二緩衝中的第一記憶體單元(如第2圖的241)時,ECC邏輯被應用在分頁1的資料上,使用對應的ECC於第一緩衝中偵測錯誤(步驟330)。在步驟330後,分頁1的資料在第一記憶體單元中,ECC邏輯具有來自用於錯誤更正的錯誤更正之資訊。在資料被移出第二緩衝之前,ECC邏輯可被用於第一記憶體單元中的分頁1的資料的錯誤更正(步驟340)。在分頁1從第一緩衝被移出至第一緩衝後,用於第二分頁,分頁2,的資料及對應的ECC從記憶體陣列被移動至第一緩衝(步驟310)。
例如,初始期間T0可從約45μs(微秒)至約70μs。輸出資料分頁的時間(例如:在T1期間的分頁1或在T2期間的分頁2)依據輸出時脈頻率以及資料分頁中的位元組數。例如,如果輸出時脈有25ns(納秒)的期間且資料分頁中有2048個位元組,輸出資料分頁的時間以每輸出時脈期間之一位元組的速率約50μs(=25ns x 2048)或以每輸出時脈期間之一位元組的速率約25μs(=25ns x 2048/2)。從記憶體陣列讀取資料分頁至第一緩衝的時間(例如:在T1期間的分頁3)約20μs。從第一緩衝(例如:第2圖的220)移動資料分頁(例如:步驟320的T1期間的分頁2)至第一緩衝(例如:第2圖的230)的時間可為約3μs。應用ECC邏輯在資料分頁 以進行錯誤偵測及錯誤更正的時間範圍從約20μs至約45μs。
一般來說,從記憶體陣列(步驟310)讀取資料分頁(如分頁3)的資料所需的時間可長於或短於在相同期間(如T1)運用ECC邏輯在其他資料分頁(如分頁2)進行錯誤偵測其錯誤更正所需的時間(步驟330及340),依據已運用ECC邏輯的資料分頁(如分頁2)中的錯誤位元數而定。
第4B圖是關聯於ECC被啟動的第一實施例的替代讀取運作的範例時序圖。有關第4A圖的說明可運用至第4B圖。差異在於,第4A圖中,在資料被移出第二緩衝前,ECC邏輯被用於分頁資料的錯誤更正,而第4B圖中,當資料從第二緩衝中的第一記憶體單元或第二記憶體單元其中之一被移動至資料路徑時,ECC邏輯被用於分頁資料的錯誤更正。時序圖中的讀取運作對應至第3圖的流程圖中的步驟310、320、330及360。
在第4B圖中的第一期間T1,當資料從第一記憶體單元被移動至資料路徑(如第2圖的270)時,ECC邏輯被用於第二緩衝中的第一記憶體單元(如第2圖的241)中的分頁資料的錯誤更正,接續著等待時間,TW,用於輸出下一資料分頁(步驟360)。第二分頁,分頁2,的資料從第一緩衝(如第2圖的220)被移動至第一緩衝(如第2圖的230)(步驟320)。當分頁2的資料從第一緩衝被移動至第二緩衝中的第二記憶體單元(如第2圖的242)時,ECC邏輯接續地被應用在分頁2的資料上,使用對應的ECC在第一緩衝中進行錯誤更正(步驟330)。在步驟330後,分頁2的資料在第二記憶體單元中,ECC邏輯具有來自用於錯誤更正的錯誤更正之資訊。在分頁2從第一緩衝被移出至第一緩衝後,用於第三分頁,分頁3,的資料以及對應的ECC從記憶體陣列(如第2圖的210)被移動至第一緩衝(步 驟310)。如第4B圖所用,「330-2」中的「-2」指出第一記憶體單元被步驟330所使用。
在第4B圖中接續於T1的第二期間T2的期間,當資料從第二記憶體單元被移動至資料路徑(如第2圖的270)時,ECC邏輯被用於第二緩衝中的第二記憶體單元(如第2圖的第二記憶體單元242)中的分頁2的資料的錯誤更正,接續著等待時間,TW,用於輸出下一資料分頁(步驟360)。分頁3的資料從第一緩衝(如第2圖的220)被移動至第一緩衝(如第2圖的230)(步驟320)。當分頁3的資料從第一緩衝被移動至第二緩衝中的第一記憶體單元(如第2圖的241)時,ECC邏輯接續地被應用在分頁3的資料上,使用對應的ECC在第一緩衝中進行錯誤更正(步驟330)。在步驟330後,分頁3的資料在第一記憶體單元中,ECC邏輯具有來自用於錯誤更正的錯誤更正之資訊。在分頁3從第一緩衝被移出至第一緩衝後,用於第四分頁,分頁4,的資料以及對應的ECC從記憶體陣列(如第2圖的210)被移動至第一緩衝(步驟310)。如第4B圖所用,「330-1」中的「-1」指出第一記憶體單元被步驟330所使用。
在第4B圖中第一期間T1之前的初始時間T0的期間,用於第一分頁,分頁1,的資料及對應的ECC從記憶體陣列被移動至第一緩衝(步驟310)。接續地,分頁1的資料從第一緩衝被移動至第一緩衝(步驟320)。接續地,當分頁1的資料從第一緩衝被移動至第二緩衝中的第一記憶體單元(如第2圖的241)時,ECC邏輯被應用在分頁1的資料上,使用對應的ECC於第一緩衝中偵測錯誤(步驟330)。在步驟330後,分頁1的資料在第一記憶體單元中,ECC邏輯具有來自用於錯誤更正的錯誤更正之資訊。在分頁1從第一緩衝被移出至第一緩衝後,用於第二分頁,分頁2,的 資料及對應的ECC從記憶體陣列被移動至第一緩衝(步驟310)。
第4C圖是關聯於ECC沒被啟動的第一實施例的讀取運作的範例時序圖。時序圖說明在第一期間T1用於多重資料分頁的重疊時間讀取運作。第一期間T1可重複讀取更多資料分頁。例如,第二期間T2重複T1的讀取運作用於接續的資料分頁。時序圖也說明在第一期間之前的初始期間T0的讀取運作。RDBYB訊號指示記憶體裝置200是否已準備好輸出資料至資料路徑(如第2圖的270)。時序圖中的讀取運作對應第3圖的流程圖中說明的步驟310至340。
在第4C圖中的第一期間T1之前的初始期間T0,第一分頁,分頁1,的資料從記憶體陣列被移動至第一緩衝(步驟310)。然後分頁1的資料從第一緩衝被移動至第一緩衝(步驟320)。
在第4C圖的第一期間T1,分頁1的資料從第一緩衝(如第2圖的230)被移動至資料路徑(如第2圖的270),接續著等待時間,TW,用於輸出下一資料分頁(步驟370)。第二分頁的資料,分頁2,從記憶體陣列被移動至第一緩衝(步驟310),然後從第一緩衝(如第2圖的220)至第一緩衝(如第2圖的230)(步驟320)。在第二期間T2,在分頁2從第一緩衝被移動至第一緩衝(步驟310)後,第三分頁,分頁3,的資料從記憶體陣列(如第2圖的210)被移動至第一緩衝。
控制器包括邏輯,用於在寫入模式中將接續的分頁的資料移動至記憶體陣列。在寫入模式中中,使用重疊時間運作,用ECC將第一分頁的資料從第一緩衝被移出至記憶體陣列(如第2圖的220),第二分頁的資料從資料路徑(如第2圖的270)被移動至第二緩衝(如第2圖的240),然後用ECC邏輯(如第2圖的250)計算的ECC將第二分頁的資料從第二 緩衝移動至第一緩衝(如第2圖的230),然後在第一分頁的資料用ECC從第一緩衝被移出至記憶體陣列後,用ECC將第二分頁的資料從第一緩衝移動至第一緩衝。ECC邏輯被用於計算資料被移出第一緩衝之前的接續分頁的資料的ECC。
第5圖是關聯於用第一實施例說明讀取運作的示範流程圖。資料從資料路徑(如第2圖的270)被移動至第二緩衝(如第2圖的240)中的第一記憶體單元(如第2圖的241)或第二記憶體單元(如第2圖的242)(步驟510)。
如果ECC邏輯被啟動,用ECC邏輯計算的ECC將資料從第二緩衝中的第一記憶體單元或第二記憶體單元被移動至第一緩衝(如第2圖的230)(步驟520及525)。然後用ECC將資料從第一緩衝被移動至第一緩衝(如第2圖的220)(步驟530),然後用ECC從第一緩衝移動至記憶體陣列(如第2圖的210)(步驟540)。對於第一實施例,當資料從資料路徑被移動至第二緩衝中的第一記憶體單元(如第2圖的241)或第二記憶體單元(如第2圖的241)時,ECC邏輯被用於計算資料的ECC。
如果ECC邏輯沒有被啟動,資料從第二緩衝的第一記憶體單元或第二記憶體單元被移動至第一緩衝(步驟525),然後從第一緩衝至第一緩衝(步驟530)然後不用ECC從第一緩衝移動至記憶體陣列(步驟540)。
第6圖是關聯於ECC被啟動的第一實施例的寫入運作的範例時序圖。時序圖中的寫入運作對應於第5圖中的流程圖的步驟510、520、530及540。時序圖說明在第一期間T1及第二期間T2對多重分頁資料的寫入運作。第一期間T1與第二期間T2可重複寫入更多資料分頁。第一期間 T1與第二時間T2交替使用第二緩衝中(如第2圖的240)第一記憶體單元(如第2圖的241)及第二記憶體單元(如第2圖的242)。時序圖也說明在第一期間之前的初始期間T0的讀取運作。RDBYB訊號指示記憶體裝置200是否已準備好輸入資料至資料路徑(如第2圖的270)。
在第6圖的第一期間T1的期間,不同的重疊時間寫入運作可被執行於兩頁資料分頁的資料上。用ECC將第一分頁,的資料,分頁1從第一緩衝移動至記憶體陣列(步驟540)。第二分頁的資料,分頁2,從資料路徑被移動至第二緩衝中的第一記憶體單元(步驟510),然後用ECC邏輯計算的ECC從第二緩衝中的第一記憶體單元移動至第一緩衝(步驟520及525),然後在分頁1的資料從第一緩衝被移出至記憶體陣列後,用ECC從第一緩衝移動至第一緩衝(步驟530)。ECC邏輯被用於計算當資料從第二緩衝中的第一記憶體單元(如第2圖的241)被移動至第一緩衝(如第2圖的230)時的分頁2的資料的ECC。ECC邏輯計算的ECC被儲存於ECC緩衝235,如第2圖所示。
故在分頁1的資料被移動至記憶體陣列的相同的第一期間T1,分頁2的資料從資料路徑被移動至第二緩衝中的第一記憶體單元,然後用ECC邏輯計算的ECC移至第一緩衝。因此,分頁資料(如第6圖的分頁2)的ECC寫入運作對記憶體裝置的寫入吞吐量幾乎沒有計時影響。
在第6圖中接續於第一期間T1的第二期間T2,不同的重疊時間寫入運作可被執行於兩頁資料分頁的資料上。用ECC將分頁2的資料從第一緩衝移動至記憶體陣列(步驟540)。第三分頁的資料,分頁3,從資料路徑被移動至第二緩衝中的第二記憶體單元(步驟510),然後用ECC邏輯計算的ECC從第二緩衝中的第二記憶體單元移動至第一緩衝(步驟520 及525),然後在分頁2的資料從第一緩衝被移出至記憶體陣列後,用ECC從第一緩衝移動至第一緩衝(步驟530)。ECC邏輯被用於計算當資料從第二緩衝中的第二記憶體單元(如第2圖的242)被移動至第一緩衝(如第2圖的230)時的分頁3的資料的ECC。ECC邏輯計算的ECC被儲存於ECC緩衝235,如第2圖所示。
故在分頁2的資料被移動至記憶體陣列的相同的第二期間T2,分頁3的資料從資料路徑被移動至第二緩衝中的第二記憶體單元,然後用ECC邏輯計算的ECC移至第一緩衝。因此,分頁資料(如第6圖的分頁2)的ECC寫入運作對記憶體裝置的寫入吞吐量幾乎沒有計時影響。
在第6圖中的第一期間T1之前的初始期間T0,初始分頁的資料,分頁0,從資料路徑(如第2圖的270)被移動至第二緩衝的第一記憶體單元(如第2圖的241),然後用ECC邏輯(如第2圖的250)計算的ECC從第二緩衝的第一記憶體單元移動至第一緩衝(如第2圖的230),然後用ECC將分頁0的資料從第一緩衝移出至記憶體陣列。
在相同的初始時間T0,在初始分頁的資料,分頁0,被移動至第一記憶體單元後,第一分頁的資料,分頁1,從資料路徑被移動至第二緩衝的第二記憶體單元(如第2圖的242),然後用ECC邏輯計算的ECC從第二緩衝的第二記憶體單元一移動至第一緩衝,然後在分頁0從第一緩衝被移出至記憶體陣列後,用ECC從第一緩衝移動至第一緩衝。
第7圖是使用內建錯誤更正ECC邏輯的記憶體裝置的第二實施例的簡化方塊圖。記憶體裝置700包括儲存資料712的記憶體陣列710、對應該資料的錯誤更正碼ECC 714、輸入/輸出資料路徑以及多層緩衝結構790,其位該記憶體陣列與輸入/輸出資料路經之間。記憶體陣列包括用於分 頁模式運作的複數個資料線711。多層緩衝結構290包括具有連結至該複數個資料線中各自資料線的複數個儲存胞的一第一緩衝720、耦合至該第一緩衝中的該複數個儲存胞的一第二緩衝730以及耦合至該第二緩衝以及該輸入/輸出資料路徑的一第三緩衝740。裝置包括邏輯,其耦合至該多層緩衝結構,以對分頁讀取或分頁寫入運作中至少一運作,透過該多層緩衝結構對在該記憶體陣列與該輸入/輸出資料路徑之間移動的分頁資料施行一邏輯程序。
在這例子中,資料路徑包括第一資料路徑770A及第二資料路徑770B。第一資料路徑770A以Z個位元的寬度將ECC邏輯750耦合於第一緩衝730。第二資料路徑770B以Z個位元的寬度將IO系統760耦合於第二緩衝740,其中Z可為8或16。在讀取與寫入運作中,資料經由第二資料路徑770B在第二緩衝740與IO系統760之間移動。
裝置700包括一介面,其位於該第一緩衝720與第二緩衝730之間,該介面提供位於於該第一緩衝與第二緩衝之間、在一讀取或寫入循環的資料一分頁移動。裝置700包括一介面,其位於該第二緩衝730與第三緩衝740之間,該介面提供位於於該第二緩衝與第三緩衝之間、在一讀取或寫入循環的資料一分頁移動。
用於第一緩衝730中的對應的資料的錯誤更正碼ECC被儲存於ECC緩衝735中。用於第二緩衝740中的對應的資料的錯誤更正碼ECC被儲存於ECC緩衝745中。第二緩衝740寬度等同於或是與第一緩衝730的寬度相符。例如,第一緩衝730與第二緩衝740可以都有2048個位元的寬度。第一緩衝730與第二緩衝740可放置於靠近分頁緩衝780之處,以在兩緩衝之間達到完整矽空間及更快速的傳輸時間。
裝置包括一錯誤更正碼邏輯,用對應的該複數個錯誤更正碼於該資料中偵測與更正錯誤。裝置包括耦合於分頁緩衝780的控制器(參見第14圖)、ECC邏輯750以及記憶體陣列710。控制器包括邏輯以在讀取模式中自記憶體陣列移動序列分頁的資料。在讀取模式的期間,第一分頁的資料從第二緩衝740被移動至第二資料路徑770B、第二分頁的資料從第一緩衝730被移動至第二緩衝740以及在使用對應的ECC進行錯誤更正之前,第三分頁的資料及對應的ECC從記憶體陣列710被移動至第一緩衝730。ECC邏輯被用於接續的分頁資料的錯誤偵測,然後在資料被移出第一緩衝之前,用對應的ECC進行錯誤更正。
第二緩衝740耦合於第一緩衝730及第二資料路徑770B。第二緩衝740的寬度大於第二資料路徑770B。例如,第二緩衝740可具有2048個位元的寬度,而第二資料路徑770B可具有8或16位元的寬度。第一緩衝730及第二緩衝740都可被植入具有一列多欄結構的緩衝記憶體。例如,第一緩衝730與第二緩衝740都可以具有1列2048欄或2048個位元的寬度。
第8圖是第二實施例的讀取運作示範流程圖。資料分頁的資料及對應的ECC從記憶體陣列(如第7圖的710)分別被移動至第一緩衝(如720)及第一緩衝ECC緩衝(如第7圖的725)(步驟810)。然後在使用ECC進行錯誤更正前,資料分頁的資料及ECC從第一緩衝(如第7圖的720及725)被移動至第一緩衝(如第7圖的730),其中ECC被儲存於關聯於第一緩衝的ECC緩衝中(如第7圖的735)(步驟820)。
如果ECC邏輯被啟動,在資料被移出第一緩衝前,ECC邏 輯750用對應的ECC對資料進行錯誤偵測,然後進行錯誤更正(步驟830)。然後資料分頁的更正的資料從第一緩衝(如第7圖的730)被移動至第二緩衝(如第7圖的740)(步驟840)。然後資料分頁的更正的資料從第二緩衝被移動至資料路徑(如第7圖的770B)(步驟850)。如果ECC邏輯沒有被啟動,資料分頁的資料從第一緩衝被移動至第二緩衝(步驟840),然後不進行錯誤更正並移動至資料路徑(步驟850)。
第8圖是關聯於ECC被啟動的第二實施例的讀取運作示範時序圖。時序圖說明在第一期間T1用於多重資料分頁的讀取運作。第一期間T1可重複讀取更多資料分頁。例如,第二期間T2重複T1的讀取運作用於接續的資料分頁。時序圖也說明在第一期間之前的初始期間T0的讀取運作。RDBYB訊號指示記憶體裝置700是否已準備好輸出資料至資料路徑(如第7圖的770B)。時序圖中的讀取運作對應第8圖的流程圖中說明的步驟810至850。
在第9圖中的第一期間T1,不同的讀取運作可被執行於三頁資料分頁的資料上。第一分頁的資料,分頁1,從第二緩衝(如第7圖的70)被移動至資料路徑(如第7圖的770B),接續等待時間,TW,用於輸出下一資料分頁(步驟850)。第二分頁的資料,分頁2,從第一緩衝(如第7圖的720)被移動至第一緩衝(如第7圖的730)(步驟820)。ECC邏輯被應用在分頁2的資料上,使用對應的ECC進行錯誤偵測,然後錯誤更正(步驟830)。然後分頁2的資料從第一緩衝被移動至第二緩衝,其中在分頁1從第二緩衝被移動至資料路徑之後,在等待時間TW的期間第二緩衝變為可用(步驟840)。在分頁2從第一緩衝被移動至第一緩衝之後,用於第三分頁,分頁3,的資料及對應的ECC從記憶體陣列(如第7圖的710)被移 動至第一緩衝(步驟810)。
故ECC邏輯被用於分頁2的資料上(步驟830),而用於分頁3的資料及對應ECC從記憶體陣列被移動至第一緩衝(步驟810),在相同的第一期間T1,分頁1的資料從第二緩衝中的第二記憶體單元被移動至資料路徑。相應地,因分頁2與分頁3的讀取運作不需額外時間,所以記憶體裝置的讀取吞吐量被改善。
在第一期間T1之前的初始時間T0的期間,用於分頁1的資料及對應的ECC從記憶體陣列被移動至第一緩衝(步驟810)。接續地,從第一緩衝被移動至第一緩衝(步驟820)。ECC邏輯被應用在分頁1的資料上,使用對應的ECC進行錯誤更正(步驟830)。然後,分頁1的資料從第一緩衝被移動至第二緩衝(步驟340)。
在相同的初始期間T0,在分頁1從第一緩衝被移動至第一緩衝後,用於分頁2的資料與對應的ECC從記憶體陣列被移動至第一緩衝(步驟810)。
第10圖是關聯於ECC沒被啟動的第二實施例的讀取運作的範例時序圖。時序圖說明在第一期間T1與第二期間T2用於多重資料分頁的讀取運作。第一期間T1與第二期間T2可重複讀取更多資料分頁。例如,第三期間T3與第四期間T4重複T1與T2用於接續的資料分頁的讀取運作。時序圖也說明在第一期間之前的初始期間T0的讀取運作。RDBYB訊號指示記憶體裝置700是否已準備好輸出資料至資料路徑(如第7圖的770B)。時序圖中的讀取運作對應第8圖的流程圖中說明的步驟810、820、840及850。略過第8圖的流程圖中的步驟830是因為ECC沒有被啟動。
在第一期間T1,第一分頁的資料,分頁1,從第二緩衝(如 第7圖的740)被移動至資料路徑(如第7圖的770B)(步驟850),第二分頁的資料,分頁2,從記憶體陣列被移動至第一緩衝(如第7圖的720)(步驟810)。
在接續於第一期間T1的第二期間T2,分頁2從第一緩衝被移動至第一緩衝(步驟820),然後從第一緩衝至第二緩衝(步驟840),在分頁1從第一緩衝被移動至第一緩衝後,第三分頁的資料,分頁3,從記憶體陣列被移動至第一緩衝。
在第一期間T1之前的初始時間T0的期間,第一分頁的資料,分頁1,從記憶體陣列被移動至第一緩衝(步驟810),然後從第一緩衝至第一緩衝(步驟820),然後從第一緩衝至第二緩衝(步驟840)。在分頁1從第一緩衝被移動至第一緩衝後,第二分頁的資料,分頁2,從記憶體陣列被移動至第一緩衝(步驟810)。
第11圖是關聯於用第二實施例說明寫入運作的示範流程圖。資料不用ECC就從資料路徑(如第7圖的770B)被移動至第二緩衝(如第7圖的740)(步驟1110)。
如果ECC邏輯被啟動,用ECC邏輯計算的ECC將資料從第二緩衝移動至第一緩衝(如第7圖的730)(步驟1120及1130)。用ECC將資料從第一緩衝被移動至第一緩衝(如第7圖的720)(步驟1140),然後用ECC從第一緩衝移動至記憶體陣列(如第7圖的710)(步驟1150)。對於第二實施例,當資料從第二緩衝(如第7圖的740)被移動至第一緩衝(如第7圖的730)時,在資料從第緩衝被移出之前,ECC邏輯被用於計算資料的ECC。
如果ECC邏輯沒有被啟動,資料從第二緩衝被移動至第一 緩衝(步驟1120),然後從第一緩衝至第一緩衝(步驟1140)然後從第一緩衝移動至記憶體陣列(步驟1150)。
第12圖是關聯於ECC被啟動的第二實施例的寫入運作的範例時序圖。時序圖中的寫入運作對應於第11圖中的流程圖的步驟1110至1150。時序圖說明在第一期間T1對多重分頁資料的寫入運作。第一期間T1可重複寫入更多資料分頁。時序圖也說明在第一期間之前的初始期間T0的讀取運作。RDBYB訊號指示記憶體裝置700是否已準備好輸入資料至資料路徑(如第7圖的770B)。
在第一期間T1,第一分頁的資料,分頁1,用ECC將第一緩衝移出至記憶體陣列(步驟1150)。第二分頁的資料,分頁2,不用ECC將資料路徑移動至第二緩衝(步驟1110),然後不用ECC從第二緩衝至第一緩衝(步驟1120)。在資料第一緩衝被移出之前,ECC邏輯被用於計算分頁1的資料的ECC(步驟1130)。在分頁1的資料從第一緩衝被移出至記憶體陣列後,用ECC邏輯計算的ECC將分頁2的資料從第一緩衝移動至第一緩衝(步驟1140)。
故在分頁1的資料被移動至記憶體陣列的相同的第二期間T1,不用ECC將分頁2的資料從資料路徑移動至第二緩衝,不用ECC至第一緩衝,ECC邏輯被用於計算第一緩衝中的資料的ECC,因此,分頁資料(如第12圖的分頁2)的ECC寫入運作對記憶體裝置的寫入吞吐量幾乎沒有計時影響。
在第一期間T1之前的初始期間T0,初始分頁的資料,分頁0,從資料路徑不用ECC被移動至第二緩衝(步驟1110),然後從第二緩衝至第一緩衝(步驟1120)。在資料從第一邏輯被移出之前,ECC邏輯被用 於計算分頁0的資料的ECC(步驟1130)。然後用ECC邏輯計算的ECC將分頁0從第一緩衝移動至第一緩衝(步驟1140)。然後用ECC將分頁0的資料從第一緩衝移出至記憶體陣列(步驟1150)。
在相同的初始期間T0,在分頁0的資料從第二緩衝被移動至第一緩衝後,不用ECC將分頁1的資料從資料路徑移動至第二緩衝(步驟1110),然後不用ECC從第二緩衝至第一緩衝(步驟1120)。在資料第一緩衝被移出之前,ECC邏輯被用於計算分頁1的資料的ECC(步驟1130)。在分頁0的資料從第一緩衝被移出至記憶體陣列後,用ECC邏輯計算的ECC將分頁1的資料從第一緩衝移動至第一緩衝(步驟1140)。
第12圖是關聯於ECC沒被啟動的第二實施例的寫入運作的範例時序圖。時序圖說明在第一期間T1用於多重資料分頁的寫入運作。第一期間T1可重複寫入更多資料分頁。時序圖也說明在第一期間之前的初始期間T0的寫入運作。RDBYB訊號指示記憶體裝置700是否已準備好輸出資料至資料路徑(如第7圖的770B)。時序圖中的寫入運作對應第8圖的流程圖中說明的步驟1110、1120、1140及1150。略過第11圖的流程圖中的步驟1130是因為ECC沒有被啟動。
在第一期間T1,分頁1的資料從第一緩衝被移出至記憶體陣列(步驟1150),第二分頁的資料,分頁2,從資料路徑被移動至第二緩衝(步驟1110),然後從第二緩衝至第一緩衝(步驟1120),在分頁1的資料從第一緩衝被移出至計憶體陣列之後,從第一緩衝至第一緩衝(步驟1140)。
在第一期間T1之前的初始時間T0,初始分頁的資料,分頁0,從資料路徑被移動至第二緩衝(步驟1110),然後從第二緩衝至第一緩 衝(步驟1120),然後從第一緩衝至第一緩衝(步驟1140)。然後分頁0的資料從第一緩衝被移出至記憶體陣列(步驟1150)。
在相同的初始期間T0,在分頁0的資料從第二緩衝被移動至第一緩衝後,分頁1的資料從資料路徑被移動至第二緩衝(步驟1110),然後分頁1從第二緩衝至第一緩衝(步驟1120),然後在分頁0的資料從第一緩衝被移出至記憶體陣列後,分頁1的資料從第一緩衝被移動至第一緩衝(步驟1140)。
第14圖是依據實施例的積體電路記憶體裝置的簡化方塊圖。積體電路1400包括記憶體陣列1460,其在積體電路機板上用ECC儲存資料。
列解碼器1440耦合於複數個字線1445,沿著記憶體陣列1460中的列配置。欄解碼器1470耦合於複數個位元線1465,沿著記憶體陣列1460中的欄配置,用於從記憶體陣列1460中讀取資料及輸入資料。位址匯流排1430供應至欄解碼器1470、列解碼器1440及排解碼器1450。多層緩衝結構1480經由第一資料匯流排1475耦合於欄解碼器1470。從第一緩衝感測的資料經由第二資料匯流排1485供應至多層緩衝1490,其經由第二資料匯流排1485耦合於IO電路1490。IO電路1490耦合至IO資料路徑(如第2圖的270、第7圖的770A與770B)。IO電路1490包括第一緩衝(如第2圖的220、第7圖的720),其包括用於讀取運作的感測放大器與用於寫入運作的編程緩衝。IO電路1490驅動資料至積體電路1400外部的目的地。IO資料與控制訊號經由資料排1405在IO電路1497及積體電路1400上的IO端口或其他積體電路1400的外部內部資料來源之間移動,像是一般用途的處理器或特殊用途的應用電路或提供由記憶體陣列1460所支持的單系統晶 片功能的模組之組合。
如第14圖所示之範例中,控制邏輯1410使用偏壓調整狀態機器控制由區塊1420的電壓供應所提供或產生的偏壓調整供應電壓的應用,像是讀取與編程電壓。控制邏輯1410耦合於多層緩衝1490、ECC邏輯1495以及有ECC的記憶體陣列1460。控制邏輯1410包括在記憶體陣列的寫入模式與讀取模式中,用於在重疊時間運作中移動接續分頁資料的邏輯。
第一緩衝1480有經由數個資料線1475耦合於記憶體陣列1460的輸入,且具有數個等同於或大於數個資料線1475的輸出,其中在多層緩衝1490中的第一緩衝可具有數個等同於或大於數個感測放大器輸出的輸入。
在讀取模式的期間,第一分頁的錯誤更正的資料從第二緩衝被移動至資料路徑,第二分頁的資料從第一緩衝被移動至第二緩衝,第三分頁的資料從記憶體陣列被移動至第一緩衝。在資料從第一緩衝被移出之前,ECC邏輯被用於接續分頁資料的錯誤偵測。在實施例中,在資料從第二緩衝被移出之前或資料從第一記憶體單元或第二記憶體單元其中之一被移至資料路徑時,ECC邏輯被用於接續分頁資料的錯誤更正。在其他實施例中,在資料從第一緩衝被移出之前,ECC邏輯被用於接續分頁資料的錯誤更正。
在寫入模式的期間,用ECC將第一分頁的資料從第一緩衝1480移出至記憶體陣列,第二分頁的資料從資料路徑移至第二緩衝,在第一分頁的資料從第一緩衝1480被移出至記憶體陣列之前,用ECC邏輯1495計算的ECC將第二分頁的資料從第二外取移至第一緩衝,然後用ECC將第二分頁的資料從第一緩衝移動至第一緩衝。在資料被移出第一緩衝之前, ECC邏輯被用於計算接續分頁的資料的ECC。
控制邏輯1410可用習知的特定用途邏輯電路圖予以植入。在替代的實施例中,控制器包括特殊目的處理器,其可被植入在相同的積體電路上,其執行電腦程式以控制裝置運作。在其他實施例中,特定用途邏輯電路圖與特定用途處理器之組合可被用於植入控制器。
儘管揭露的資料儲存架構係描述用於ECC運作,該儲存架構可被用於其他分頁模式運作,像是資料壓縮與解壓縮,透過多層緩衝在記憶體陣列與IO路徑之間的移動期間對分頁資料實施邏輯程序。
在此所提出的多個有關本發明之變型與其它實施例,將會促使本發明所屬領域技藝者,想到有關於前述描述及其相關圖式所呈現的益處,因此,本發明並不受限於所揭露之特定實施例與變型,其它實施例亦擬被包括在所附請求項之保護範圍內,再者,雖然前述描述及其相關圖式在元件及/或功能之某些示範性組合的上下文中描述了實施例,但是元件及/或功能之不同組合可在不違背所附請求項之範圍的替代實施例的狀況下而提供,就此而言,除前述明白地描述以外的元件及/或功能之不同組合,也被預期可以在某些所附請求項中提出;在本揭露中所使用的某些特定用語,它們只使用在上位與描述性概念且不為了限制之目的。
200‧‧‧記憶體裝置
212‧‧‧儲存資料
210‧‧‧記憶體陣列
241‧‧‧錯誤更正碼ECC
270‧‧‧資料路徑
250‧‧‧ECC邏輯
290‧‧‧多層緩衝結構
220‧‧‧第一緩衝
230‧‧‧第一快取
260‧‧‧IO系統
240‧‧‧第二快取
241‧‧‧第一記憶體單元
242‧‧‧第二記憶體單元

Claims (9)

  1. 一種記憶體裝置,包括:一記憶體陣列,其儲存一資料以及對應於該資料的複數個錯誤更正碼(ECC),該記憶體陣列包括用於分頁模式運作的複數個資料線;一輸入/輸出資料路徑;一多層緩衝結構,其位於該記憶體陣列與該輸入/輸出資料路經之間,其中該多層緩衝結構包括具有連結至該複數個資料線中各自資料線的複數個儲存胞的一第一緩衝、耦合至該第一緩衝中的該複數個儲存胞的一第二緩衝以及耦合至該第二緩衝以及該輸入/輸出資料路徑的一第三緩衝;以及一邏輯電路,其耦合至該多層緩衝結構,以對分頁讀取或分頁寫入運作中至少一運作,透過該多層緩衝結構對在該記憶體陣列與該輸入/輸出資料路徑之間移動的分頁資料施行一邏輯程序,其中該第三緩衝包括一第一記憶體單元,其由一儲存匯流排耦合至該第二緩衝,以及一第二記憶體單元,其由該儲存匯流排或一第二匯流排耦合至該第二緩衝,當該邏輯電路從該第一記憶體單元與該第二記憶體單元移動資料至該輸入/輸出資料路徑時,從該第二緩衝移動資料至該第一記憶體單元與該第二記憶體單元其中之一。
  2. 如申請專利範圍第1項所述的記憶體裝置,更包括一錯誤更正碼邏輯電路,用對應的該複數個錯誤更正碼於該資料中偵測與更正錯誤,該邏輯電路包括一控制器,其耦合於該多層緩衝結構,該錯誤更正碼邏輯電路包括一第一邏輯電路,其用於時間重疊操作從該第三緩衝移動一第一分頁的完成錯誤更正的資料至該輸入/輸出資料路徑、從該第二緩衝移動一第二分頁的資料至第三緩衝、從該第一緩衝移動一第三分頁的資料至該第二緩衝, 以及在資料被移出該第二緩衝前在該序列中運用該錯誤更正碼邏輯電路於資料分頁的錯誤偵測。
  3. 如申請專利範圍第1項所述的記憶體裝置,其中當該邏輯電路從該輸入/輸出資料路徑移動資料至該第一記憶體單元與該第二記憶體單元時,從該第一記憶體單元與該第二記憶體單元其中之一移動資料至該第二緩衝。
  4. 如申請專利範圍第1項所述的記憶體裝置,更包括一ECC邏輯電路,其用於為資料計算ECC;以及該邏輯電路包括一控制器,其耦合至該多層緩衝結構,以及該ECC邏輯電路包括一第一邏輯電路,其用於時間重疊操作從該資料路徑移動一第二分頁至該第三緩衝、用該ECC邏輯電路計算的ECC從該第三緩衝移動該第二分頁的資料至該第二緩衝、從該第二緩衝移動該第二分頁的資料至該第一緩衝,以及在資料被移出該第二緩衝前在該序列中運用該ECC邏輯電路於資料分頁中計算ECC。
  5. 一種操作一記憶體裝置的方法,該記體裝置包括一記憶體陣列,其儲存一資料以及對應於該資料的複數個錯誤更正碼、複數個資料線、一錯誤更正碼邏輯電路以及位於該記憶體陣列與一輸入/輸出資料路徑之間的一多層緩衝結構,其中該緩衝結構包括具有連結至該複數個資料線中各自資料線的複數個儲存胞的一第一緩衝、耦合至該第一緩衝中的該複數個儲存胞的一第二緩衝以及耦合至該第二緩衝以及該輸入/輸出資料路徑的一第三緩衝,該方法包括:在重疊時間運作中,從該第三緩衝移動一第一分頁的完成錯誤更正的資料至該輸入/輸出資料路徑;從該第一緩衝移動一第二分頁的資料至該第二緩衝;從該記憶體陣列移動一第三分頁的資料至該第一緩衝;以及 在該資料被移出該第二緩衝前,運用該錯誤更正碼邏輯電路對接續的分頁資料進行錯誤偵測。
  6. 如申請專利範圍第5項所述的方法,其中該第三緩衝包括耦合於該第二緩衝及該輸入/輸出資料路徑的一第一記憶體單元以及耦合於該第二緩衝及該輸入/輸出資料路徑的一第二記憶體單元,該方法更包括:在一第一期間,從該第一記憶體單元移動一第一分頁的完成錯誤更正的資料至該輸入/輸出資料路徑並接續一等待時間;從該第一緩衝移動一第二分頁的資料至該第二緩衝,然後從該第二緩衝移至該第二記憶體單元;從該記憶體陣列移動一第三分頁的資料及對應的該複數個錯誤更正碼至該第一緩衝;在接續該第一期間的一第二期間,從該第二記憶體單元移動該第二分頁的完成錯誤更正的資料至該輸入/輸出資料路徑並接續該等待時間;從該第一緩衝移動該第三分頁的資料至該第二緩衝,然後從該第一緩衝至該第一記憶體單元;從該記憶體陣列移動一第四分頁的資料以及對應的該複數個錯誤更正碼至第一緩衝;以及在該資料從該第三緩衝被移出之前或該資料從該第一記憶體單元或該第二記憶體單元中其中一個被移動至該輸入/輸出資料路徑時,運用該錯誤更正碼邏輯電路對接續的該分頁資料進行錯誤更正,其中在該第一期間以及該第二期間的複數個讀取運作可重複讀取更多資料分頁。
  7. 如申請專利範圍第6項所述的方法,該錯誤更正碼邏輯電路被關閉,更包括: 在一第一期間,從該第三緩衝移動一第一分頁的資料至該輸入/輸出資料路徑且從該記憶體陣列移動一第二分頁的資料至該第一緩衝;以及在接續於該第一期間的一第二期間,從該第一緩衝移動該第二分頁的資料至該第二緩衝,然後從該第二緩衝至該第三緩衝,從該記憶體緩衝移動一第三分頁的資料至該第一緩衝,其中在該第一期間及該第二期間的讀取運作可重複讀取更多資料分頁。
  8. 一種操作一記憶體裝置的方法,該記憶體裝置包括一記憶體陣列,其儲存一資料以及對應於該資料的複數個錯誤更正碼(ECC)、用於分頁模式運作的複數個資料線、一ECC邏輯電路以及位於該記憶體陣列與一輸入/輸出資料路徑之間的一多層緩衝結構,其中該緩衝結構包括具有連結至該複數個資料線中各自資料線的複數個儲存胞的一第一緩衝、耦合至該第一緩衝中的該複數個儲存胞的一第二緩衝以及耦合至該第二緩衝以及該輸入/輸出資料路徑的一第三緩衝,該方法包括:在重疊時間運作中,用由該ECC邏輯電路計算而得的ECC從該第一緩衝移動一第一分頁的資料至該記憶體陣列;從該第三緩衝移動一第二分頁的資料至該第二緩衝;從該第二緩衝移動一第二分頁的資料至該第一緩衝;以及在該資料被移出該第二緩衝前,運用該ECC邏輯電路對接續的分頁資料進行錯誤偵測。
  9. 如申請專利範圍第8項所述的方法,其中該第三緩衝包括耦合於該第二緩衝及該輸入/輸出資料路徑的一第一記憶體單元以及耦合於該第二緩衝及該輸入/輸出資料路徑的一第二記憶體單元,該方法更包括:在一第一期間,從該輸入/輸出資料路徑移動一第二分頁的資料至該第 一記憶體單元、用由該ECC邏輯電路計算而得的ECC從該第一記憶體單元移動一第二分頁的資料至該第二緩衝、用ECC從該第一緩衝移動一第一分頁的資料至該記憶體陣列、以及從該第二緩衝移動該第二分頁的資料至該第一緩衝;在接續該第一期間的一第二期間,從該輸入/輸出資料路徑移動該第三分頁的資料至該第二記憶體單元、用由該ECC邏輯電路計算而得的ECC從該第二記憶體單元移動一第三分頁的資料至該第二緩衝、用ECC從該第一緩衝移動一第二分頁的資料至該記憶體陣列、以及從該第二緩衝移動該第三分頁的資料至該第一緩衝;以及在該資料從該第二緩衝被移出之前,運用該ECC邏輯電路計算接續的該分頁資料的一ECC,其中在該第一期間以及該第二期間的複數個寫入運作可重複寫入更多資料分頁。
TW102132413A 2013-03-11 2013-09-09 用於內建錯誤更正的儲存架構 TWI509623B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201361775699P 2013-03-11 2013-03-11

Publications (2)

Publication Number Publication Date
TW201435893A TW201435893A (zh) 2014-09-16
TWI509623B true TWI509623B (zh) 2015-11-21

Family

ID=51489444

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102132413A TWI509623B (zh) 2013-03-11 2013-09-09 用於內建錯誤更正的儲存架構

Country Status (3)

Country Link
US (1) US9690650B2 (zh)
CN (1) CN104051024B (zh)
TW (1) TWI509623B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6385077B2 (ja) * 2014-03-05 2018-09-05 ルネサスエレクトロニクス株式会社 半導体装置
US9971647B2 (en) * 2014-07-31 2018-05-15 Winbond Electronics Corporation Apparatus and method for programming ECC-enabled NAND flash memory
US9569303B2 (en) * 2014-08-08 2017-02-14 Kabushiki Kaisha Toshiba Information processing apparatus
TWI587302B (zh) * 2014-12-09 2017-06-11 華邦電子股份有限公司 記憶體編程方法以及記憶體裝置
US10255183B2 (en) * 2015-07-23 2019-04-09 Arteris, Inc. Victim buffer for cache coherent systems
JP6527054B2 (ja) 2015-08-28 2019-06-05 東芝メモリ株式会社 メモリシステム
TWI588658B (zh) * 2015-10-20 2017-06-21 旺宏電子股份有限公司 I/o匯流排共用記憶體系統
TWI646430B (zh) * 2017-08-31 2019-01-01 華邦電子股份有限公司 字節編程方法以及頁面編程方法
CN109426616B (zh) 2017-08-31 2023-08-04 华邦电子股份有限公司 字节编程方法以及页面编程方法
US10565048B2 (en) * 2017-12-01 2020-02-18 Arista Networks, Inc. Logic buffer for hitless single event upset handling
TWI671637B (zh) * 2018-04-25 2019-09-11 點序科技股份有限公司 記憶體管理裝置及其操作方法
US10621091B2 (en) * 2018-05-04 2020-04-14 Micron Technology, Inc. Apparatuses and methods to perform continuous read operations
US10977121B2 (en) * 2018-10-17 2021-04-13 Macronix International Co., Ltd. Fast page continuous read
US11048649B2 (en) 2018-10-17 2021-06-29 Macronix International Co., Ltd. Non-sequential page continuous read
TWI727449B (zh) * 2018-10-17 2021-05-11 旺宏電子股份有限公司 非循序頁面連續讀取
TWI671756B (zh) * 2018-11-13 2019-09-11 慧榮科技股份有限公司 資料儲存裝置與資料儲存方法
CN111324294B (zh) * 2018-12-17 2023-11-07 地平线(上海)人工智能技术有限公司 存取张量数据的方法和装置
US11768731B2 (en) * 2019-05-03 2023-09-26 Infineon Technologies Ag System and method for transparent register data error detection and correction via a communication bus
US11200118B2 (en) 2019-08-29 2021-12-14 Micron Technology, Inc. Semiconductor device with modified command and associated methods and systems
US11042436B2 (en) 2019-08-29 2021-06-22 Micron Technology, Inc. Semiconductor device with modified access and associated methods and systems
US10963336B2 (en) * 2019-08-29 2021-03-30 Micron Technology, Inc. Semiconductor device with user defined operations and associated methods and systems
KR20210034726A (ko) * 2019-09-20 2021-03-31 삼성전자주식회사 메모리 모듈, 그것을 제어하는 메모리 제어기의 에러 정정 방법, 및 그것을포함하는 컴퓨팅 시스템
US10957384B1 (en) 2019-09-24 2021-03-23 Macronix International Co., Ltd. Page buffer structure and fast continuous read
US11302366B2 (en) 2020-03-06 2022-04-12 Macronix International Co., Ltd. Method and system for enhanced read performance in low pin count interface
US11249913B2 (en) 2020-03-06 2022-02-15 Macronix International Co., Ltd. Continuous read with multiple read commands
US11217323B1 (en) 2020-09-02 2022-01-04 Stmicroelectronics International N.V. Circuit and method for capturing and transporting data errors
US11698833B1 (en) 2022-01-03 2023-07-11 Stmicroelectronics International N.V. Programmable signal aggregator
US20240029783A1 (en) * 2022-07-21 2024-01-25 Micron Technology, Inc. Semiconductor device having buffer circuit

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005081180A1 (ja) * 2004-02-20 2005-09-01 Renesas Technology Corp. 記憶装置及びデータ処理装置
WO2008001363A2 (en) * 2006-06-27 2008-01-03 Kdr Flashware Ltd. Monolithic flash memory having integrated code and data memory portions
TW200847175A (en) * 2007-04-25 2008-12-01 Samsung Electronics Co Ltd Flash memory device and method of controlling flash memory device
US8261008B2 (en) * 2007-10-08 2012-09-04 Fuzhou Rockchip Electronics Co., Ltd. NAND flash controller and data exchange method between NAND flash memory and NAND flash controller
US8375273B2 (en) * 2010-03-17 2013-02-12 Kabushiki Kaisha Toshiba Semiconductor device including a NAND flash memory

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793274A (ja) * 1993-07-27 1995-04-07 Fujitsu Ltd データ転送方式及びデータ転送装置
KR0144818B1 (ko) * 1994-07-25 1998-08-17 김광호 낸드형 플래쉬메모리 아이씨카드
US6957378B2 (en) * 2001-06-04 2005-10-18 Kabushiki Kaisha Toshiba Semiconductor memory device
US7051264B2 (en) * 2001-11-14 2006-05-23 Monolithic System Technology, Inc. Error correcting memory and method of operating same
US7032142B2 (en) * 2001-11-22 2006-04-18 Fujitsu Limited Memory circuit having parity cell array
WO2004049168A1 (ja) * 2002-11-28 2004-06-10 Renesas Technology Corp. メモリモジュール、メモリシステム、及び情報機器
US7340541B2 (en) * 2004-08-16 2008-03-04 National Instruments Corporation Method of buffering bidirectional digital I/O lines
US7840643B2 (en) * 2004-10-06 2010-11-23 International Business Machines Corporation System and method for movement of non-aligned data in network buffer model
JP4791831B2 (ja) * 2006-01-20 2011-10-12 株式会社東芝 半導体記憶装置
US8015451B2 (en) * 2008-01-24 2011-09-06 International Business Machines Corporation Controlling an unreliable data transfer in a data channel
JP2010262700A (ja) * 2009-05-07 2010-11-18 Elpida Memory Inc 半導体装置
CN101996685B (zh) * 2009-08-11 2013-12-04 中颖电子股份有限公司 存储器管理数据的差错控制方法及差错控制器
CN102640116B (zh) * 2009-09-28 2016-01-20 辉达公司 对外部dram的错误检测和纠正
JP2013232263A (ja) * 2012-04-27 2013-11-14 Toshiba Corp 半導体メモリ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005081180A1 (ja) * 2004-02-20 2005-09-01 Renesas Technology Corp. 記憶装置及びデータ処理装置
WO2008001363A2 (en) * 2006-06-27 2008-01-03 Kdr Flashware Ltd. Monolithic flash memory having integrated code and data memory portions
TW200847175A (en) * 2007-04-25 2008-12-01 Samsung Electronics Co Ltd Flash memory device and method of controlling flash memory device
US8261008B2 (en) * 2007-10-08 2012-09-04 Fuzhou Rockchip Electronics Co., Ltd. NAND flash controller and data exchange method between NAND flash memory and NAND flash controller
US8375273B2 (en) * 2010-03-17 2013-02-12 Kabushiki Kaisha Toshiba Semiconductor device including a NAND flash memory

Also Published As

Publication number Publication date
TW201435893A (zh) 2014-09-16
US9690650B2 (en) 2017-06-27
CN104051024B (zh) 2017-07-07
US20140258811A1 (en) 2014-09-11
CN104051024A (zh) 2014-09-17

Similar Documents

Publication Publication Date Title
TWI509623B (zh) 用於內建錯誤更正的儲存架構
US11327838B2 (en) Memory device having error correction function and operating method thereof
KR101750662B1 (ko) 데이터 에러 교정용 회로, 장치, 및 방법
US7051264B2 (en) Error correcting memory and method of operating same
KR102014624B1 (ko) 오류 정정 코딩이 있는 메모리 연산을 파이프라이닝하기 위한 방법 및 장치
KR102002925B1 (ko) 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
EP1815338B1 (en) Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory
JP5166074B2 (ja) 半導体記憶装置、その制御方法、および誤り訂正システム
US11403170B2 (en) Method and device for monitoring data error status in a memory
US7610542B2 (en) Semiconductor memory in which error correction is performed by on-chip error correction circuit
US8200925B2 (en) Data mirroring in serial-connected memory system
JP2006190425A (ja) 半導体記憶装置
US11468963B2 (en) Memory device and read method thereof
JP2009301194A (ja) 半導体記憶装置の制御システム
TWI727810B (zh) 半導體裝置及連續讀出方法
JP2004246754A (ja) 半導体記憶装置およびその制御装置
JP2003059290A5 (zh)
US20140281803A1 (en) Memory with error correction configured to prevent overcorrection
JP2014033364A (ja) 誤り検出訂正回路、及びメモリ装置
JP4582078B2 (ja) メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JPH1097471A (ja) メモリデータのエラー訂正方法、及びエラー訂正方式
JP4742553B2 (ja) 記憶装置
JP4692843B2 (ja) メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4742561B2 (ja) 記憶装置、データ処理システムおよびメモリ制御方法
JP2006119830A (ja) 記憶装置、データ処理システムおよび記憶制御方法