TWI718694B - 記憶體裝置以及操作記憶體裝置以用於讀取頁面串流的方法 - Google Patents
記憶體裝置以及操作記憶體裝置以用於讀取頁面串流的方法 Download PDFInfo
- Publication number
- TWI718694B TWI718694B TW108136177A TW108136177A TWI718694B TW I718694 B TWI718694 B TW I718694B TW 108136177 A TW108136177 A TW 108136177A TW 108136177 A TW108136177 A TW 108136177A TW I718694 B TWI718694 B TW I718694B
- Authority
- TW
- Taiwan
- Prior art keywords
- buffer
- page
- level
- ecc
- data
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1057—Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4094—Bit-line management or control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1084—Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1545—Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1042—Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/106—Data output latches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1087—Data input latches
Abstract
使用以下來操作諸如頁面模式NAND快閃的記憶體裝置:第一管線級,將頁面緩衝器清除至第二緩衝器層級且將頁面傳送至頁面緩衝器;第二管線級,將第二緩衝器層級清除至第三緩衝器層級且將來自頁面緩衝器的頁面傳送至第二緩衝器層級;第三管線級,將頁面移動至第三緩衝器層級且以交錯方式在頁面的第一部分中的資料上執行第一錯誤更正碼(Error-correcting code,ECC)函數且輸出頁面的第一部分同時執行第二錯誤更正碼函數,且在第三緩衝器層級中的頁面的第二部分中的資料上執行第一錯誤更正碼函數,且輸出第二部分同時執行第二錯誤更正碼函數。
Description
本發明是關於支援連續讀取操作且尤其支援連續頁面讀取操作的積體電路記憶體裝置,諸如NAND快閃裝置。
本申請案主張2018年10月17日申請的美國臨時專利申請案第62/746,770號(MXIC 2273-0)的權益,所述申請案以引用的方式併入本文中。
有時規定為tR的讀取延遲為接收讀取命令與在輸出端處可獲得讀取命令所請求的資料的時間之間的時間。
此類型的延遲在NAND快閃裝置中可相對較長。因此,針對一些操作,NAND快閃可比諸如NOR快閃的其他類型的記憶體顯著地更慢。
已開發出稱為快取記憶體讀取以及稱為連續讀取的命令序列以解決NAND快閃裝置的此延遲。
在快取記憶體讀取命令序列中,延遲tR可藉由交疊某些程序來減小,諸如使用裝置上的快取記憶體或其他緩衝器記憶體結構來進行誤差檢查及校正。在快取記憶體讀取命令序列中遭遇的延遲有時規定為tRCBSY。此可提高使用NAND快閃的系統的吞吐量。在連續命令序列中,NAND快閃裝置已經配置以在初始延遲(tR)之後輸出連續頁面,以使得可在頁面之間無延遲的情況下獲得連續頁面。NAND快閃的連續讀取操作可包含三個基礎步驟,如下:
(步驟1)開始階段:主機需要向快取記憶體發出頁面讀取(C1)命令以讀出新頁面位址的資料。花費讀取延遲tR來讀出頁面資料。
(步驟2)依序連續讀取階段:主機在此階段從記憶體裝置上的介面連續地讀出資料。
(步驟3)結束階段:取決於讀取協定,主機需要發出「結束」(C3)命令(一些常見NAND快閃裝置)或使CS自0升高至1(SPI NAND快閃裝置)以終止依序連續讀取操作。可花費復位延遲tRST來終止依序連續讀取操作。
然而,即使對於連續讀取操作而言,所涉及的延遲在一些設置中仍保持顯著。舉例而言,效能可藉由可在上文步驟2中多快讀出一個資料頁面來測定。
需要提供可減少NAND快閃及其他類型的記憶體裝置中的連續讀取操作的延遲的技術。
記憶體裝置支援連續頁面讀取,所述記憶體裝置諸如頁面模式NAND快閃,包含頁面緩衝器及具有小於頁面寬度的I/O寬度的I/O資料單元的輸入/輸出介面。輸入/輸出介面可包括串列介面(例如SPI)或並列介面。本文中所描述的技術可基於使用三個緩衝器層級的操作提供效能改善。此外,本文中所描述的技術可基於使用雙級錯誤更正碼(Error-correcting code,ECC)操作的操作提供效能改善。
描述一種記憶體裝置,包含:記憶體陣列,其包含多個位元線;頁面緩衝器,其耦接至具有頁面寬度的多個位元線;I/O資料單元的輸入/輸出介面,其可具有小於頁面寬度的I/O寬度;資料路徑電路,其連接於頁面緩衝器與介面之間,資料路徑電路包含第二緩衝器層級及第三緩衝器層級;控制器,其回應於在輸入/輸出介面處所接收的命令來控制包含連續頁面讀取操作的記憶體操作以在輸入/輸出介面處輸出頁面串流,連續讀取操作包含將具有頁面寬度的資料頁面以頁面讀取間隔自記憶體陣列傳送至頁面緩衝器,將資料頁面自頁面緩衝器傳送至第二緩衝器層級,將資料頁面自第二緩衝器層級傳送至第三緩衝器層級,且將資料頁面自第三緩衝器層級傳送至輸入/輸出介面;以及ECC電路,連接至資料路徑電路,所述ECC電路在資料路徑電路中的頁面上執行ECC操作。
ECC操作可包含在容納於資料路徑電路中的頁面上執行第一ECC函數且在將連續讀取操作的頁面串流中的資料自資料路徑電路傳送至輸入/輸出介面期間執行第二ECC函數。此外,記憶體裝置可包含緩衝器資料匯流排系統,所述緩衝器資料匯流排系
統可操作以將ECC電路連接至第二緩衝器層級以用於執行第一ECC函數。或者,記憶體裝置可包含緩衝器資料匯流排系統,所述緩衝器資料匯流排系統可操作以將ECC電路連接至第三緩衝器層級以用於執行第一ECC函數。
可提供控制器以控制連續頁面讀取操作來在I/O介面處輸出頁面串流。連續頁面讀取操作可包含一種操作記憶體裝置以用於讀取頁面串流的方法,裝置包含頁面緩衝器、第二緩衝器層級、第三緩衝器層級以及輸入/輸出介面,所述方法包括:在第一級中將前述頁面的資料自頁面緩衝器移動至第二緩衝器層級,且將當前頁面自記憶體陣列傳送至頁面緩衝器;在第二級中,將前述頁面的資料自第二緩衝器層級移動至第三緩衝器層級且將當前頁面自頁面緩衝器傳送至第二緩衝器層級;在第三級中,將來自前述頁面的第一部分的資料自第三緩衝器層級傳送至介面,且隨後將來自前述頁面的第二部分的資料自第三緩衝器層級傳送至介面;以及在將來自頁面緩衝器的當前頁面經由第二緩衝器層級及第三緩衝器層級傳送至介面期間在當前頁面上執行ECC操作。
在本文中所描述的實施例中,資料路徑電路可包含緩衝器記憶體。此外,裝置可包含連接至資料路徑電路的誤差檢查及校正ECC電路。ECC電路在使得能夠在裝置的輸入/輸出介面處輸出頁面之前在資料路徑電路中的頁面上執行ECC函數。ECC電路可與資料塊一起操作,所述資料塊具有小於頁面寬度且大於I/O寬度的ECC塊。
資料路徑電路可包含一個緩衝器層級中的緩衝器記憶體,所述緩衝器記憶體包含第一部分及第二部分以及資料路徑,
所述資料路徑將緩衝器記憶體的第一部分替代地連接至ECC電路且連接至I/O介面,並將緩衝器記憶體的第二部分替代地連接至ECC電路且連接至I/O介面。
此外,資料路徑電路可包含多級緩衝器記憶體,除具有頁面寬度(X)的頁面緩衝器之外,所述多級緩衝器記憶體包含第二緩衝器層級及第三緩衝器層級。第三緩衝器層級可包含第一部分及第二部分以及資料路徑,所述資料路徑將第三緩衝器層級的第一部分替代地連接至ECC電路且連接至I/O介面,並將第三緩衝器層級的第二部分替代地連接至ECC電路及I/O介面。第三緩衝器層級的第一部分及第二部分可具有小於頁面寬度(例如ECC塊的多個寬度)的緩衝器寬度(Y),且資料路徑可具有小於緩衝器寬度的匯流排寬度(Z)以用於將第三緩衝器層級的第一部分及第二部分替代地連接至ECC電路且連接至I/O介面。
本文中描述了記憶體裝置,諸如頁面模式NAND快閃,包含頁面緩衝器及具有小於頁面寬度的I/O寬度的I/O資料單元的輸入/輸出介面,所述記憶體裝置支援用經劃分的ECC函數的快速連續頁面讀取以改善吞吐量頁面讀取操作。輸入/輸出介面可包括串列介面(例如SPI)或並列介面。
描述了一種在記憶體裝置中的技術,其中記憶體裝置包含:記憶體陣列,其包含多個位元線;頁面緩衝器,其耦接至具有頁面寬度的多個位元線;以及I/O資料單元的輸入/輸出介面,其具有小於頁面寬度的I/O寬度。記憶體裝置包含資料路徑電路,所述資料路徑電路連接於頁面緩衝器與介面之間,包含第二緩衝器層級及第三緩衝器層級。控制器回應於在輸入/輸出介面處所接
收的命令來控制包含連續頁面讀取操作的記憶體操作以在I/O介面處輸出頁面串流。連續讀取操作可包含將具有頁面寬度X的資料頁面以頁面讀取間隔自記憶體陣列傳送至頁面緩衝器,將資料頁面自頁面緩衝器傳送至具有頁面寬度X的第二緩衝器層級,將資料頁面自第二緩衝器層級傳送至第三緩衝器層級,且在具有匯流排寬度Z的資料路徑上將資料頁面自第三緩衝器層級傳送至輸入/輸出介面,其中Z小於X。裝置包含連接至資料路徑電路的ECC電路,所述ECC電路在資料路徑電路中的頁面上執行第一ECC函數,且在將連續讀取操作的頁面串流中的資料自資料路徑電路傳送至輸入/輸出介面期間執行第二ECC函數。在此實例中,輸入/輸出介面處的輸出速率受到執行第一ECC函數所需要的時間的限制。第二ECC函數與頁面的傳送交疊,且不影響吞吐量或對所述吞吐量具有較小影響。
描述了記憶體裝置的實例,其中第二緩衝器層級藉由資料路徑耦接至頁面緩衝器,所述資料路徑用於傳送頁面的第一部分及第二部分,在一個記憶體循環中自頁面緩衝器至第二緩衝器層級的ECC位元使用傳送路徑,所述傳送路徑是至少一個頁面及ECC位元寬。此外,第三緩衝器層級可包含具有緩衝器寬度Y的耦接至第二緩衝器層級的第一部分及第二部分,其中Y小於X且大於Z,以用於在一個記憶體循環中藉由至少Y位元寬的第一緩衝器間資料路徑將頁面及ECC位元的第一部分及第二部分自第二緩衝器層級傳送至第三緩衝器層級。另外,包含緩衝器資料匯流排系統,所述緩衝器資料匯流排系統可操作以將ECC電路連接至第三緩衝器層級的第一部分及第二部分中的每一者,以用於執行
諸如校正子計算及密鑰計算的第一ECC函數,且可操作以將第三緩衝器層級的第一部分及第二部分中的每一者經由諸如陳氏尋根法(Chien search)的第二ECC函數的組合邏輯連接至輸入/輸出介面,其中匯流排系統具有匯流排寬度Z,其中對於一些實例,Z可為一個位元組或四個位元組。第一ECC函數可包含在資料寬度Z上在第三緩衝器層級的第一部分及第二部分中的選定一者中的資料上連續操作,且第二ECC函數可包含在第一部分及第二部分中的選定一者至輸入/輸出介面的中間節點中修改資料寬度Z。
此外,記憶體裝置可包含第二緩衝器層級,所述第二緩衝器層級包含第一部分及第二部分,所述第一部分及第二部分藉由緩衝器資料路徑耦接至頁面緩衝器,所述緩衝器資料路徑用於在一個記憶體循環中將頁面及ECC位元的第一部分自頁面緩衝器傳送至第一部分且用於將頁面及ECC位元的第二部分自頁面緩衝器傳送至第二緩衝器層級的第二部分。第二緩衝器層級的第一部分及第二部分可具有緩衝器,所述緩衝器具有Y。在所描述的實施例中,控制器可使用第二緩衝器層級以及ECC電路以用於連續頁面讀取操作中的第一ECC函數及使用第三緩衝器層級以用於第二ECC函數。
因此,針對快速連續讀取操作,描述了三級緩衝系統,其中ECC電路包含分成2個部分的引擎。第一部分可執行第一ECC函數,諸如ECC計算步驟,如校正子及密鑰計算,且第二部分可執行第二ECC函數,諸如誤差校正,如陳氏尋根法。在資料輸出期間第二ECC函數的此執行可相對於在資料輸出之前在儲存於緩衝器層級中的一者中的資料上執行兩個ECC函數的系統而提
高吞吐量。
描述了記憶體陣列包括頁面模式NAND快閃的實施例。本文中所描述的技術同樣可應用於其他類型的記憶體裝置。
在審閱以下圖式、詳細描述以及申請專利範圍之後可看出本發明的其他態樣及優點。
100:積體電路記憶體裝置
105、417、619、919:I/O介面
108:命令解碼器
110:控制邏輯
120:區塊
130、175、176、404、405、410、411、604、605、620、621、
904、905、920、921:匯流排
140:解碼器
145:字元線
160、400、600、900:記憶體陣列
165:位元線
171、401、601、901:頁面緩衝器
181、402:緩衝器BUF_A
182、403:緩衝器BUF_B
184、185、191:資料匯流排
190:誤差檢查及校正電路
195、418:輸入/輸出埠
303:讀取時脈
412、413、614、615、914、915、1001、1015:多工器
414、415、616、617、916、929、932、1002、1010、1011、1016、1021:線
416、618、918、930:ECC電路
500、501、502、503、504:區域
602、906:緩衝器2_BUF_A
603、907:緩衝器2_BUF_B
611、911:緩衝器3_BUF_A
612、912:緩衝器3_BUF_B
625、925:埠
700、701:間隔
800、801、802、803、804、805、806、807、808、809、810、
811、812、1100、1101、1102、1103、1104、1105、1106、1107、1108、1109、1110、1111、1112、1200、1201、1202、1203、1204、1205、1206、1207、1208、1209、1210:步驟
908、909:資料路徑
931、1020:組合邏輯
1003:第一ECC函數電路
1004:第二ECC函數電路
0-1、0-2、1、2-1、2-2、3-1、3-2、4-1、4-2、5-1、5-2:層級
C1:第一命令
C2:快取記憶體讀取命令
CS#:晶片啟用或晶片選擇訊號
ECC1:第一ECC函數
ECC2:第二ECC函數
SCLK:串列時脈訊號
SI:串列輸入資料/位址訊號
SO:串列輸出資料訊號
tR:讀取延遲
tRST:復位延遲
X:頁面寬度
X+1、X+2:頁面
Y:緩衝器寬度
Z:匯流排寬度
圖1為支援如本文中所描述的快速連續頁面讀取的積體電路記憶體裝置的簡化方塊圖。
圖2為用於如本文中所描述的連續讀取的命令序列的圖式。
圖3為如本文中所描述的替代命令序列連續讀取的圖式。
圖4為繪示使用錯誤更正碼(Error-correcting code,ECC)支援如本文中所描述的連續讀取的裝置的兩級緩衝的方塊圖。
圖5為使用兩級緩衝進行如本文中所描述的頁面連續讀取的一個實施例的管線資料流圖。
圖6為繪示使用ECC支援如本文中所描述的連續讀取的裝置的三級緩衝的方塊圖。
圖7為使用三級緩衝進行如本文中所描述的頁面連續讀取的一個實施例的管線資料流圖。
圖8為示出用於包含三級緩衝的系統的如本文中所描述的連續頁面讀取操作的流程圖。
圖9為繪示使用經劃分ECC函數支援快速頁面連續讀取操作的裝置的三級緩衝的方塊圖。
圖10為針對替代實施例繪示使用經劃分ECC函數支援快速頁面連續讀取操作的裝置的三級緩衝的方塊圖。
圖11為示出包含如圖9或圖10的三級緩衝的三級緩衝的系統的快速連續頁面讀取操作的流程圖。
圖12為示出針對使用第一ECC函數的第二層級緩衝器的替代方案進行系統的頁面讀取操作的流程圖,所述系統包含如圖9或圖10的三級緩衝的三級緩衝。
參考圖1至圖12提供本發明的實施例的詳細描述。
圖1為根據實施例的積體電路記憶體裝置的簡化晶片方塊圖。積體電路記憶體裝置100包含單個積體電路基板上的儲存資料的具有錯誤更正碼(Error-correcting code,ECC)的記憶體陣列160,所述記憶體陣列諸如NAND快閃陣列。如本文中所描述的記憶體裝置同樣可使用多晶片模組、堆疊晶片以及其他配置實施。
在積體電路記憶體裝置100上具有命令解碼器108的控制邏輯110包含邏輯,諸如狀態機,回應於所接收命令來執行如本文中所描述的連續讀取操作。控制邏輯110藉由圖式上的箭頭所表示輸出控制訊號且在匯流排130上定址。應用於匯流排130上的位址可包含例如控制邏輯110中的位址計數器的輸出或所接收命令中所攜載的位址。
解碼器140耦接至多個字元線145且沿具有ECC的記憶體陣列160中的列佈置,且耦接至頁面緩衝器171。頁面緩衝器
171耦接至多個位元線165,所述多個位元線沿具有ECC的記憶體陣列160中的行佈置以用於自具有ECC的記憶體陣列160讀取資料且將資料寫入所述具有ECC的記憶體陣列。
頁面緩衝器171針對每一位元線可包含一或多個儲存元件。位址解碼器140可選擇具有ECC的記憶體陣列160中特定記憶胞且將所述特定記憶胞經由各別連接位元線耦接至頁面緩衝器171。頁面緩衝器171可儲存並列地寫入這些特定記憶胞或自所述特定記憶胞讀取的資料。頁面緩衝器171可具有包含數千個位元的頁面的頁面寬度,諸如2K位元或4K位元或更多,加上包含相關聯的ECC碼的備用位元。一個頁面可包含多個ECC塊,其中ECC塊包含資料片段及相關聯ECC碼(亦即已在資料片段上針對ECC進行計算)。在實施例中,每一頁面包含2個ECC塊,所述ECC塊具有等於頁面的一半的ECC寬度,加上相關聯ECC碼的大小。在一些實施例中,每個頁面可具有多於2個ECC塊。
在此實施例中,緩衝器記憶體結構包含第二緩衝器層級,在此實例中,所述第二緩衝器層級包含指定緩衝器BUF_A 181及緩衝器BUF_B 182的兩個部分,其中第二緩衝器層級的每一部分可儲存頁面緩衝器的內容物的一部分,諸如一半,其中頁面緩衝器的內容物的部分較佳地包含一或多個ECC塊。此外,第二緩衝器層級的每一部分可獨立地讀取及寫入。在一些實施例中,緩衝器BUF_A 181、緩衝器BUF_B 182可使用雙埠記憶體技術或多埠記憶體技術實施,允許獨立讀取且寫入不同位址,或可使用多個記憶體庫實施,所述多個記憶體庫具有分離的位址解碼及讀出電路。其他實施例可包含三級緩衝器結構,所述三級緩衝器結構
包含頁面緩衝器171及兩個額外緩衝器層級。此外,可實施在頁面緩衝器與介面之間的資料路徑電路中的緩衝器記憶體結構的其他配置。
頁面緩衝器171與具有ECC的記憶體陣列160經由X個資料線耦接,其中X為至少頁面加ECC碼寬度,且與緩衝器結構的第二層級緩衝器BUF_A 181、第二層級緩衝器BUF_B 182經由各Y位元的匯流排175、匯流排176耦接,其中匯流排175、匯流排176可具有等於頁面緩衝器171的一半寬度的寬度。第二層級緩衝器BUF_A 181、第二層級緩衝器BUF_B 182可各自使用靜態隨機存取記憶體(static random access memory;SRAM)記憶體結構藉由快取記憶體實施,例如,所述快取記憶體具有一列乘多行架構。舉例而言,頁面可包含2048個位元+包含ECC碼的備用位元,且緩衝器BUF_A 181可具有一列以及1024(+包含ECC碼的備用位元)行或1024+包含ECC碼的備用位元的寬度。可操作緩衝器BUF_A 181及緩衝器BUF_B 182以使得頁面緩衝器中的資料頁面可並列地且使用一個緩衝器記憶體循環並列地傳送至緩衝器BUF_A 181及緩衝器BUF_B 182。此外,可操作緩衝器BUF_A 181及緩衝器BUF_B 182以使得頁面緩衝器中的資料頁面的一個部分可並列地傳送至緩衝器BUF_A 181及緩衝器BUF_B 182中的每一者,從而允許將頁面的第一部分傳送至第二緩衝器層級的第一部分(例如緩衝器BUF_A 181),且在同一或不同緩衝器記憶體循環中將頁面的第二部分傳送至第二緩衝器層級的第二部分(例如緩衝器BUF_B 182)。
第三層級緩衝器亦可使用靜態隨機存取記憶體(SRAM)
記憶體結構藉由快取記憶體實施,例如,所述快取記憶體具有一列乘多行架構。舉例而言,頁面可包含2048個位元+包含ECC碼的備用位元,且第三層級緩衝器BUF_A可具有一列以及1024(+包含ECC碼的備用位元)行或1024+包含ECC碼的備用位元的寬度。可操作第三層級緩衝器BUF_A及第三層級緩衝器BUF_B以使得頁面緩衝器中的資料頁面可並列地且使用一個緩衝器記憶體循環並列地傳送至第三層級緩衝器BUF_A及第三層級緩衝器BUF_B。此外,可操作第三層級緩衝器BUF_A及第三層級緩衝器BUF_B以使得第二層級緩衝器中的資料頁面的一個部分可並列地傳送至第三層級緩衝器BUF_A及第三層級緩衝器BUF_B中的每一者,從而允許將頁面的第一部分傳送至第三緩衝器層級的第一部分,且在同一或不同緩衝器記憶體循環中將頁面的第二部分傳送至第三緩衝器層級的第二部分。
誤差檢查及校正ECC電路190藉由資料匯流排184及資料匯流排185耦接至緩衝器記憶體結構(緩衝器BUF_A 181、緩衝器BUF_B 182以及三級實施例)。資料匯流排184及資料匯流排185可具有小於ECC塊的匯流排寬度,諸如一個位元組或一個字元,且藉由ECC電路190使用以經由ECC塊循環來執行誤差檢查及誤差校正的ECC操作(例如校正子計算、密鑰計算、陳氏尋根法)。ECC電路藉由資料匯流排191耦接至緩衝器記憶體結構(緩衝器BUF_A 181、緩衝器BUF_B 182)以用於視需要來回移動資料。
可包含位元組寬或多個位元組寬的傳輸暫存器或FIFO的I/O介面105藉由資料匯流排191耦接至ECC電路且耦接至緩
衝器記憶體結構(緩衝器BUF_A 181、緩衝器BUF_B 182)。
輸入/輸出資料及控制訊號在積體電路記憶體裝置100上的介面105、命令解碼器108、控制邏輯110以及輸入/輸出埠195或在積體電路記憶體裝置100內部或外部的其他資料源中移動。在一些實施例中,埠195可連接至晶片上主機電路,諸如通用處理器或專用應用程式電路,或提供由具有ECC的記憶體陣列160支援的系統晶片函數的模組的組合。
在一個實施例中,介面105為包含一組I/O埠195的串列介面,經由所述串列介面使命令、位址以及資料通信。串列介面可為基於串列周邊介面(Serial Peripheral Interface;SPI)匯流排規範或與其相容,在所述串列周邊介面匯流排規範中命令通道共用由位址及資料使用的I/O插腳。舉例而言,積體電路記憶體裝置100可包含使用插腳以用於接收及傳輸SPI匯流排訊號的輸入埠/輸出埠。一個插腳可連接至攜載串列輸入資料/位址訊號SI的輸入資料線,同樣可用於命令。另一插腳或多個其他插腳可連接至攜載串列輸出資料訊號SO的一或多個輸出資料線。另一插腳可連接至攜載串列時脈訊號SCLK的時脈線。又另一插腳可連接至攜載晶片啟用或晶片選擇訊號CS#的控制線。亦可使用其他類型的介面,包含並列介面。特定積體電路記憶體裝置100上的I/O埠195可經配置以每介面時脈(例如時脈SCLK)循環並列地提供具有I/O資料寬度的輸出資料,針對一些實例,所述I/O資料寬度可為1個位元、4個位元、8個位元、16個位元、32個位元或大於32個位元。I/O介面105可包含FIFO緩衝器、移位暫存器緩衝器或其他支援電路以及傳輸器,所述傳輸器用於以埠時脈速率傳
輸在埠上的介面處所接收的資料,諸如SPI介面的SCLK速率。
在圖1中所繪示的實例中,使用偏壓配置狀態機的控制邏輯110控制經由區塊120中的一或多個電壓供應所產生或提供的偏壓配置電源電壓的施加,諸如包含頁面讀取以將資料自記憶體陣列中的頁面傳送至頁面緩衝器的讀取電壓、程式化電壓以及擦除電壓。控制邏輯110耦接至多級緩衝器結構、ECC電路190以及具有ECC的記憶體陣列160。
控制邏輯110及命令解碼器108構成控制器,所述控制器可使用專用邏輯電路實施,所述專用邏輯電路包含狀態機及支援邏輯。在替代實施例中,控制邏輯包括可實施於相同積體電路上的通用處理器,所述通用處理器執行電腦程式來控制裝置的操作。在又其他實施例中,可採用專用邏輯電路與通用處理器的組合來實施控制邏輯。
控制器的命令解碼器108及控制邏輯110經配置以執行連續讀取操作。在本文中所描述的實施例中,控制器回應於在輸入/輸出介面處所接收的命令來控制記憶體操作以在I/O介面處輸出頁面串流,所述記憶體操作包含連續頁面讀取操作。
圖2為繪示使用快取記憶體讀取命令格式進行連續讀取操作的圖式。在此操作中,藉由第一命令C1針對頁面X的頁面讀取開始連續讀取。在讀取延遲tR之後,發出快取記憶體讀取命令C2,且其後連續地輸出頁面的資料。在此實例中緊接在接收快取記憶體讀取命令C2之後輸出頁面X。在較佳系統中,連續輸出後續頁面X+1、頁面X+2等而無需等待狀態。在一些實施例中,連續讀取在晶片選擇訊號例如自低切換至高時終止。
圖3為繪示替代的連續讀取操作的圖式,其中使用讀取時脈來開始資料輸出。此序列開始於連續讀取命令C1,從而識別開始頁面位址,頁面X。讀取時脈303在讀取延遲tR之後開始雙態觸發,且只要讀取時脈303雙態觸發,則連續地輸出頁面X、頁面X+1、頁面X+2等的資料。
連續讀取的讀取延遲可受到自陣列至頁面緩衝器的頁面讀取傳送的持續時間及ECC操作的持續時間的限制。自陣列至頁面緩衝器的頁面讀取傳送的持續時間可為陣列架構的函數。ECC操作的持續時間可取決於頁面大小。因此在特定頁面大小下,且針對給定ECC操作,存在ECC操作的持續時間長於自陣列至頁面緩衝器的頁面讀取傳送的持續時間的頁面大小。因此針對較大頁面大小,ECC效能可測定連續讀取吞吐量效能。針對較小頁面大小,自陣列至頁面緩衝器的頁面讀取傳送可測定連續讀取吞吐量效能。
圖4為示出包含可操作以用兩級緩衝(頁面緩衝器/緩衝器BUF_A 402、緩衝器BUF_B 403)進行頁面連續讀取的ECC電路的記憶體陣列及資料路徑電路的方塊圖。此為可例如在圖1中所繪示的積體電路記憶體裝置100中採用的電路組織的一個實例。
在圖4中,諸如NAND快閃陣列的記憶體陣列400耦接至頁面緩衝器401。資料可在單個頁面讀取操作期間自記憶體陣列400並列地移動至頁面緩衝器401。頁面緩衝器401分別藉由匯流排404及匯流排405耦接至包含緩衝器BUF_A 402及緩衝器BUF_B 403的資料路徑電路。匯流排404可具有頁面緩衝器401的寬度+ECC的一半的資料寬度,以用於在單個循環中將頁面的
一半自頁面緩衝器401傳送至緩衝器BUF_A 402。同樣,匯流排405可具有頁面緩衝器401的寬度的一半的資料寬度,以用於在單個循環中將頁面的一半自頁面緩衝器401傳送至緩衝器BUF_B 403。ECC位元可包含於緩衝器BUF_A 402及緩衝器BUF_B 403中,或額外記憶體元件可與緩衝器BUF_A 402及緩衝器BUF_B 403並列用於ECC位元。
在有利實施例中,緩衝器BUF_A 402及緩衝器BUF_B 403經配置以容納至少一個ECC塊,所述ECC塊包含資料及與資料相關聯的ECC碼,以使得可藉由ECC電路416獨立於另一緩衝器中的資料在所述資料上進行操作。
如所示出,資料路徑電路包含連接至緩衝器BUF_A 402的匯流排410及連接至緩衝器BUF_B 403的匯流排411。匯流排410連接至多工器412且連接至多工器413。同樣,匯流排411連接至多工器412且連接至多工器413。多工器412的輸出藉由線414連接至ECC電路416。多工器413的輸出藉由線415連接至I/O介面417,所述I/O介面提供所定址頁面的輸出資料。資料可藉由諸如位元組或字元的可定址單元在匯流排410及匯流排411上移動,所述可定址單元可藉由匯流排410、匯流排411支援,以供ECC電路416使用且以供介面417在I/O埠418上輸出。
圖5為示出利用資料路徑電路進行如圖2的頁面連續讀取的頁面連續讀取的資料流的圖式,所述資料路徑電路具有如圖4的緩衝器層級的兩個緩衝器層級(頁面緩衝器/緩衝器BUF_A 402、緩衝器BUF_B 403)。在圖式中,水平軸表示時間,每一豎直層級對應於如下的特定資料移動:
0-1:接收新頁面的頁面讀取命令C1。
0-2:自快取記憶體串流內命令C2接收讀取以讀取資料。
1:將頁面資料及ECC自記憶體陣列移動至頁面緩衝器(整頁資料)。
2-1:將資料自頁面緩衝器的第一半移動至緩衝器BUF_A 402。
2-2:將資料自頁面緩衝器的第二半移動至緩衝器BUF_B 403。
3-1:在緩衝器BUF_A 402中針對錯誤偵測及校正施加ECC邏輯。
3-2:在緩衝器BUF_B 403中針對錯誤偵測及校正施加ECC邏輯。
4-1:在I/O介面中將資料自緩衝器BUF_A 402移動至資料路徑。
4-2:在I/O介面中將資料自緩衝器BUF_B 403移動至資料路徑。
圖5中未示出序列結束命令。所述序列結束命令可如上文所論述實施。
在圖5中,在開始時在層級0-1處接收第一命令C1從而提供頁面X的開始位址。如針對頁面X由區域500內的元件所指示的沿對角線降至層級4-2,將頁面X的資料在層級1處加載至頁面緩衝器中。將頁面的第一半自頁面緩衝器在層級2-1處加載至緩衝器BUF_A中。此外,在稍後時間(或同時),將頁面的第二半在層級2-2處加載至緩衝器BUF_B中。在層級3-1處,在頁面
X的第一半在緩衝器BUF_A中時,ECC電路在頁面的第一半中的一或多個ECC塊上執行。稍後,在層級3-2處,在頁面X的第二半在緩衝器BUF_B中時,ECC在頁面的第二半中的一或多個ECC塊上執行。最後,在層級4-1處,在層級0-2處接收快取記憶體讀取命令C2時將頁面X的第一半提供至I/O介面以作為輸出提供。在層級4-2處,頁面的第二半資料會緊接著第一半資料輸出後提供至I/O介面。
如本文中所描述,串流內命令C2(自快取記憶體讀取)可在連續讀取序列中攜載下一頁面的位址。連續讀取序列(區域501、區域502、區域503、區域504、......)可以此順序執行,對一系列命令作出回應以輸出頁面串流。
圖5中所繪示的程序為控制器對一系列命令作出回應以輸出頁面串流的實例。控制器回應於第一命令以開始連續頁面讀取操作,以將串流中的第一所定址頁面自記憶體陣列傳送至頁面緩衝器,且將第一所定址頁面經由資料路徑電路移動至介面。控制器回應於在讀取延遲之後所接收的第一串流內命令以使得能夠自I/O資料單元中的介面輸出第一所定址頁面。
圖6為示出記憶體陣列及資料路徑電路的方塊圖,所述資料路徑電路包含可操作以用三級緩衝(頁面緩衝器/緩衝器2_BUF_A 602、緩衝器2_BUF_B 603/緩衝器3_BUF_A 611、緩衝器3_BUF_B 612)進行如本文中所描述的頁面連續讀取的ECC電路。此為可例如在圖1的積體電路記憶體裝置100中採用的電路組織的另一實例。第二緩衝器層級及第三緩衝器層級可使用如上文結合圖1所論述的SRAM及快取記憶體技術實施。
吞吐量可使用如圖6的三級緩衝的三級緩衝提高,在自陣列至頁面緩衝器的頁面讀取傳送的持續時間主導著連續讀取效能的情況下,藉由使用第二層級緩衝器以在完成ECC操作之前清除頁面緩衝器。此可藉由自陣列加載頁面緩衝器且隨後將資料移動至第二層級緩衝器來實現。此清除頁面緩衝器以使得所述頁面緩衝器可用於下一頁面讀取操作,同時將先前頁面經由資料路徑電路移動至介面,且執行ECC操作。此外,在ECC操作的持續時間主導著連續讀取效能的情況下,吞吐量可藉由將ECC操作劃分至兩個ECC函數中且在頁面經由資料路徑電路的移動的不同階段期間執行兩種函數來提高。
在圖6中,諸如NAND快閃陣列的記憶體陣列600耦接至頁面緩衝器601。資料可在單個頁面讀取操作期間自記憶體陣列600並列地移動至頁面緩衝器601。頁面緩衝器601藉由匯流排604及匯流排605耦接至包含第二層級緩衝器的資料路徑電路,所述第二層級緩衝器包含緩衝器2_BUF_A 602及緩衝器2_BUF_B 603。匯流排604可具有頁面緩衝器601的寬度的一半的資料寬度(包含ECC位元),以用於在單個循環中將頁面的一半自頁面緩衝器601傳送至緩衝器2_BUF_A 602。同樣,匯流排605可具有頁面緩衝器601的寬度的一半的資料寬度,以用於在單個循環中將頁面的一半自頁面緩衝器601傳送至緩衝器2_BUF_B 603。
第二層級緩衝器(緩衝器2_BUF_A 602)藉由資料路徑耦接至第三層級緩衝器(緩衝器3_BUF_A 611),所述資料路徑可具有與匯流排604相同的寬度(亦即頁面的一半),使得能夠在單個緩衝器記憶體循環中將資料自緩衝器2_BUF_A 602傳送至緩衝
器3_BUF_A 611。同樣,緩衝器2_BUF_B 603藉由資料路徑耦接至緩衝器3_BUF_B 612,所述資料路徑可具有與匯流排605相同的寬度(亦即頁面的一半),使得能夠在一個緩衝器記憶體循環中將資料自緩衝器2_BUF_B 603傳送至緩衝器3_BUF_B 612。在一些實施例中,第二層級緩衝器可具有與頁面緩衝器相同的寬度,且可包含單個緩衝器結構而非如此處所示出的經劃分結構。
如圖所示,資料路徑電路包含連接至緩衝器3_BUF_A 611的匯流排620及連接至緩衝器3_BUF_B 612的匯流排621。匯流排620連接至多工器614且連接至多工器615。同樣,匯流排621連接至多工器614且連接至多工器615。多工器614的輸出藉由線616連接至ECC電路618。多工器615的輸出藉由線617連接至I/O介面619,所述I/O介面在埠625上提供所定址頁面的輸出資料。資料可藉由諸如位元組或字元的可定址單元在匯流排620及匯流排621上移動,所述可定址單元可藉由匯流排620、匯流排621支援,以供ECC電路618使用且以供介面619在埠625上輸出。ECC電路618可包含第一ECC函數電路及可使用緩衝器2_BUF_A 602/緩衝器2_BUF_B 603、緩衝器3_BUF_A 611/緩衝器3_BUF_B 612結構替代地採用的第二ECC函數電路。在一些實施例中,匯流排620及匯流排621可耦接至第二緩衝器層級及第三緩衝器層級兩者,包含緩衝器2_BUF_A 602/緩衝器2_BUF_B 603及緩衝器3_BUF_A 611/緩衝器3_BUF_B 612結構。ECC操作可包含第一ECC函數及第二ECC函數,所述第一ECC函數在容納於資料路徑電路的第二層級緩衝器及第三層級緩衝器中的一者中的頁面上執行,所述第二ECC函數在容納於資料路徑電路的第二層
級緩衝器及第三層級緩衝器中的一者中的頁面上執行。
圖7為示出利用資料路徑電路進行頁面連續讀取的資料流的圖式,所述資料路徑電路具有如圖6的緩衝器層級的三個緩衝器層級(頁面緩衝器/緩衝器2_BUF_A 602、緩衝器2_BUF_B 603/緩衝器3_BUF_A 611、緩衝器3_BUF_B 612)。在圖式中,水平軸表示時間,每一豎直層級對應於如下的特定資料移動:
0-1:接收第一頁面的第一頁面讀取命令C1。
0-2:接收第二頁面的第一串流內頁面讀取命令C2。
1:將頁面資料及ECC自記憶體陣列移動至頁面緩衝器(整頁資料)。
2:將頁面資料自頁面緩衝器移動至緩衝器2_BUF_A及緩衝器2_BUF_B。
3-1:將資料自緩衝器2_BUF_A中的頁面的第一半移動至緩衝器3_BUF_A。
3-2:將資料自緩衝器2_BUF_B中的頁面的第二半移動至緩衝器3_BUF_B。
4-1:在緩衝器3_BUF_A中針對錯誤偵測及校正施加ECC邏輯。
4-2:在緩衝器3_BUF_B中針對錯誤偵測及校正施加ECC邏輯。
5-1:在I/O介面中將資料自緩衝器3_BUF_A移動至資料路徑。
5-2:在I/O介面中將資料自緩衝器3_BUF_B移動至資料路徑。
圖7中未示出序列結束命令。所述序列結束命令可如上文所論述實施。
在圖7中,以間隔700在層級0-1處接收第一連續讀取命令C1,從而識別序列的第一頁面,即頁面X。針對頁面X沿對角線降至層級5-2,將頁面X的資料在層級1處加載至頁面緩衝器中。頁面X的資料自頁面緩衝器在來自下一頁面X+1的資料加載至頁面緩衝器之前在此實施例中的圖式的層級2處的單個傳送中加載至第一緩衝器層級中,所述第一緩衝器層級包含緩衝器2_BUF_A及緩衝器2_BUF_B。在將頁面X的資料移出頁面緩衝器至資料路徑電路中之後,頁面X+1的資料移動至頁面緩衝器中。
隨後,在層級3-1處,將來自緩衝器2_BUF_A的資料傳送至第二緩衝器層級中的緩衝器3_BUF_A。其後或同時,在層級3-2處,將來自緩衝器2_BUF_B的資料傳送至第三緩衝器層級中的緩衝器3_BUF_B。
在層級4-1中,ECC電路在緩衝器3_BUF_A中的頁面X的ECC塊上操作。在層級4-2處,ECC電路在緩衝器3_BUF_B中的頁面X的ECC塊上操作。
其後,在層級5-1處,可在介面處獲得緩衝器3_BUF_A中的頁面X的資料。
在層級5-2處,可在介面處獲得緩衝器3_BUF_B中的頁面X的資料。
在呈間隔700的第一連續讀取命令C1之後,在tR之後以間隔701接收第二連續讀取命令C2,同時在與C2對準的介面處輸出(層級5-1)頁面X的資料。
如圖7中所示出,頁面X+1的資料穿過資料路徑電路,因此可在ECC電路的操作之後在I/O介面處以與頁面X的末端相連的方式獲得所述資料。程序如圖7中所示出以管線化方式經由資料路徑電路繼續,直至終止連續讀取操作為止。
圖8為示出在連續讀取操作中讀取頁面的階段的流程圖,包含用非連續頁面的連續讀取或用僅連續頁面的連續讀取。出於圖8的目的,當前頁面指定為頁面X+1。前一頁面指定為頁面X,以使得所述頁面可與圖8中所繪示的流程對準。除在不必清除前一頁面的資料路徑的情況下流程可執行的第一頁面外,此流程亦可應用於連續頁面讀取的頁面串流中的任何頁面。
圖8以開始當前頁面X+1的讀取(步驟800)的命令開始。程序以首先將前一頁面(頁面X)的資料移出頁面緩衝器至第二層級緩衝器(步驟801)開始。隨後,在記憶體讀取操作中將當前頁面X+1的資料加載至頁面緩衝器中(步驟802)。然後,在流程中,將前一頁面(頁面X)的資料移出第二層級緩衝器(步驟803)。隨後,將當前頁面(頁面X+1)的資料自頁面緩衝器移動至第二層級緩衝器(步驟804)。使用如圖6的架構,自頁面緩衝器移動至第二層級緩衝器可以兩個部分執行,移動至第二層級緩衝器2_BUF_A及第二層級緩衝器2_BUF_B的兩個單獨可獲取的部分。
在將當前頁面的資料移出第二層級緩衝器之前,製程涉及將前一頁面X的第一半的資料自第三層級緩衝器移動至介面(步驟805)。隨後,當前頁面X+1的第一部分的資料可自第二層級緩衝器移動至第三層級緩衝器(步驟806)。使用如圖6的架構,
自第二層級緩衝器移動至第三層級緩衝器可以兩個部分執行,移動至第三層級緩衝器3_BUF_A及第三層級緩衝器3_BUF_B的兩個單獨可獲取的部分。在當前頁面X+1的第一部分處於第三層級緩衝器中時,ECC函數可在當前頁面X+1的第一部分上執行(步驟808)。ECC操作可包含在逐位元組操作中或使用等於匯流排寬度的資料單元執行的多個步驟。在一個實例中,使用博斯-喬赫里-霍克文黑姆(Bose-Chaudhuri-Hocquenghem;BCH)格式,ECC操作包含校正子計算、密鑰計算以及陳氏尋根法。
以可及時與在步驟806中將當前頁面X+1的第一部分移動至第三層級緩衝器或與ECC函數的執行交疊的方式,來自前一頁面X的第二半的資料可自第三層級緩衝器移動至介面(步驟807)。將資料自第三層級緩衝器移動至介面的此操作可為逐位元組操作或使用等於匯流排寬度的資料單元執行的操作。隨後,當前頁面X+1的第二半的資料可自第二層級緩衝器移動至第三層級緩衝器(步驟809)。在當前頁面X+1的第二部分處於第三層級緩衝器中時,ECC函數可在當前頁面的第二部分上執行(步驟811)。
以可及時與在當前頁面X+1的第二半上執行ECC函數交疊的方式,來自當前頁面X+1的第一半的資料可自第三緩衝器層級移動至介面(步驟810)。再次,將資料自第三層級緩衝器移動至介面的此操作可為逐位元組操作或使用等於匯流排寬度的資料單元執行的操作。
在當前頁面的第一部分移動至介面之後,當前頁面X+1的第二部分可移動至介面以完成當前頁面的讀取(步驟812)。
圖8中所繪示的程序可視為管線操作,所述管線操作包含跨四個記憶體層級移動頁面的四個階段,所述四個記憶體層級包含頁面緩衝器、第二層級緩衝器、第三層級緩衝器以及介面中的傳輸暫存器或FIFO。以管線化方式,階段可用於藉由在頁面的序列上交疊操作來增加讀取操作的吞吐量。管線實例中的吞吐量受到管線中的階段中最長的持續時間的限制。因此,在一些實施中,如藉由在輸入/輸出介面處的輸出速率所測定的吞吐量受到將頁面自第二緩衝器層級移動至第三緩衝器層級且在第三緩衝器層級中執行第一ECC函數所需要的時間的限制。維持此吞吐量的輸入/輸出介面的時脈速率僅需要足以在管線中的階段中最長的持續時間內輸出每一頁面。較高時脈速率將需要主機在頁面之間引入等待狀態。
圖8中所繪示的程序可表示積體電路記憶體裝置上的控制器中的邏輯,諸如圖1中繪示的包含如圖6的三級緩衝器結構的三級緩衝器結構的積體電路記憶體裝置。
圖9為示出記憶體陣列及資料路徑電路的方塊圖,所述資料路徑電路包含可操作以用三級緩衝(頁面緩衝器/緩衝器2_BUF_A 906、緩衝器2_BUF_B 907/緩衝器3_BUF_A 911、緩衝器3_BUF_B 912)進行快速連續讀取操作的ECC電路,所述連續讀取操作包含依序讀取及非依序讀取。此為可例如在圖1的積體電路記憶體裝置100中採用的電路組織的另一實例。第二緩衝器層級及第三緩衝器層級可使用如上文結合圖1所論述的SRAM及快取記憶體技術實施。
在圖9中,諸如NAND快閃陣列的記憶體陣列900耦接
至頁面緩衝器901。資料可在單個頁面讀取操作期間自記憶體陣列900並列地移動至頁面緩衝器901。頁面緩衝器901藉由匯流排904及匯流排905耦接至資料路徑電路,所述資料路徑電路包含具有第一部分及第二部分的第二層級緩衝器,在此實例中,包含緩衝器2_BUF_A 906及緩衝器2_BUF_B 907。匯流排904可具有頁面緩衝器901的寬度的一半的資料寬度,以用於在單個循環中將頁面加ECC位元的一半自頁面緩衝器901傳送至緩衝器2_BUF_A 906。同樣,匯流排905可具有頁面緩衝器901的寬度的一半的資料寬度,以用於在單個循環中將頁面加ECC位元的一半自頁面緩衝器901傳送至緩衝器2_BUF_B 907。在一些實施例中,第二層級緩衝器可具有與頁面緩衝器相同的寬度,且可包含單個緩衝器結構而非如此處所示出的經劃分結構。此外,第二緩衝器層級的實施例可包含多於兩個部分。
第二層級緩衝器(緩衝器2_BUF_A 906)耦接至第三層級緩衝器,所述第三層級緩衝器在此實例中包含兩個部分,緩衝器3_BUF_A 911、緩衝器3_BUF_B 912。在此實例中,緩衝器3_BUF_A 911藉由資料路徑908能夠在單個循環中將資料自緩衝器2_BUF_A 906傳送至緩衝器3_BUF_A 911,所述資料路徑可具有與匯流排904相同的寬度(亦即頁面的一半)。同樣,緩衝器2_BUF_B 907藉由資料路徑909耦接至緩衝器3_BUF_B 912,所述資料路徑可具有與匯流排905相同的寬度(亦即頁面的一半),使得能夠在一個循環中將資料自緩衝器2_BUF_B 907傳送至緩衝器3_BUF_B 912。此外,第三緩衝器層級的實施例可包含多於兩個部分。
如圖所示,資料路徑電路包含連接至緩衝器3_BUF_A 911的匯流排920及連接至緩衝器3_BUF_B 912的匯流排921。匯流排920連接至多工器914且連接至多工器915。同樣,匯流排921連接至多工器914且連接至多工器915。資料可藉由諸如位元組或字元的匯流排寬度Z可定址單元在匯流排920及匯流排921上移動,所述可定址單元可藉由匯流排920、匯流排921支援,以供ECC電路918及ECC電路930使用,以供介面919在埠925上輸出。
多工器914的輸出藉由線916連接至包含電路918的ECC電路,所述電路用於諸如校正子計算及密鑰計算的第一ECC函數ECC1及用於諸如陳氏尋根法的第二ECC函數ECC2。
緩衝器資料匯流排系統具有匯流排系統,所述匯流排系統在此實例中具有匯流排寬度Z,所述緩衝器資料匯流排系統可操作以將ECC電路連接至用於執行第一ECC函數的第三緩衝器層級的第一部分及第二部分中的每一者且可操作以將用於第二ECC函數的第三緩衝器層級的第一部分及第二部分中的每一者(經由組合邏輯)連接至輸入/輸出介面。第一ECC函數包含連續在第三緩衝器層級的第一部分及第二部分中的選定一者中的資料上對資料寬度Z進行操作,且第二ECC函數包含修改在自第三緩衝器層級的第一部分及第二部分中的選定一者至所示出的實例中的輸入/輸出介面的中間節點中的資料寬度Z。
多工器915的輸出藉由線929連接至組合邏輯931,所述組合邏輯具有藉由線932連接至I/O介面919的輸出。組合邏輯931的第二輸入端包含來自電路930中的第二ECC函數ECC2的
錯誤校正資料。組合邏輯931可包括諸如XOR閘極的邏輯閘,所述邏輯閘將匯流排921上的資料與錯誤校正資料進行組合以提供線932上的錯誤經校正資料。組合邏輯的使用不需要額外暫存器階段,且可在傳送路徑的時脈速率所允許的定時延遲內操作。
I/O介面919可包含用以自線932接收資料的FIFO的暫存器且在裝置的埠925上提供所定址頁面的輸出資料。
圖10為示出記憶體陣列及資料路徑電路的方塊圖,所述資料路徑電路包含可操作以用三層緩衝(頁面緩衝器/緩衝器2_BUF_A 906、緩衝器2_BUF_B 907/緩衝器3_BUF_A 911、緩衝器3_BUF_B 912)進行快速連續讀取操作的ECC電路。此為可例如在圖1的積體電路記憶體裝置100中採用的電路組織的另一實例。
在圖10中,出於此描述的目的,與圖9中的相應組件相同的組件具有相同附圖標記且不再描述。
在圖10中所繪示的實施例中,第二層級緩衝器的第一部分緩衝器2_BUF_A 906及第二部分緩衝器2_BUF_B 907連接至多工器1001,所述多工器的輸出藉由線1002連接至第一ECC函數電路1003。此外,第三層級緩衝器的第一部分緩衝器3_BUF_A 911及第二部分緩衝器3_BUF_B 912分別藉由線1010及線1011連接至多工器1015,所述多工器的輸出在線1016上提供至組合邏輯1020,所述組合邏輯的輸出藉由線1021連接至介面919。
ECC電路包含第一ECC函數電路1003及第二ECC函數電路1004。可使用緩衝器2_BUF_A 906/緩衝器2_BUF_B 907在裝置上的控制器中的狀態機或其他控制邏輯的控制下來採用第一
ECC函數電路1003以產生校正資料。第二ECC函數電路1004耦接至組合邏輯1020以將與中間節點中的相應頁面組合的校正資料提供至來自第三層級緩衝器的相應部分的介面。使用如圖10的結構的結構,可針對操作的第一部分使用第二層級緩衝器且針對操作的最終部分使用第三層級緩衝器來拆分ECC操作。
圖11為示出在連續讀取操作中讀取頁面的階段的流程圖。出於圖11的目的,當前頁面指定為頁面X+1。前一頁面指定為頁面X,以使得所述頁面可與圖7中所繪示的流程對準。除在不必清除前一頁面的資料路徑的情況下流程可執行的第一頁面外,此流程亦可應用於連續頁面讀取的頁面串流中的任何頁面。
圖11以誘導當前頁面X+1的讀取(步驟1100)的命令開始。程序以首先將前一頁面(頁面X)的資料移出頁面緩衝器至第二層級緩衝器(步驟1101)開始。隨後,在記憶體讀取操作中將當前頁面X+1的資料加載至頁面緩衝器中(步驟1102)。然後,在流程中,將前一頁面(頁面X)的資料移出第二層級緩衝器(步驟1103)。隨後,將當前頁面(頁面X+1)的資料自頁面緩衝器移動至第二層級緩衝器(步驟1104)。使用如圖9或圖10的架構,自頁面緩衝器移動至第二層級緩衝器可以兩個部分執行,移動至第二層級緩衝器2_BUF_A 906及第二層級緩衝器2_BUF_B 907的兩個單獨可獲取的部分。
在將當前頁面的資料移出第二層級緩衝器之前,製程涉及將前一頁面X的第一半的資料自第三層級緩衝器移動至介面(步驟1105)。隨後,當前頁面X+1的第一部分的資料可自第二層級緩衝器移動至第三層級緩衝器(步驟1106)。使用如圖9或圖
10的架構,自第二層級緩衝器移動至第三層級緩衝器可以兩個部分執行,移動至第三層級緩衝器3_BUF_A 911及第三層級緩衝器3_BUF_B 912的兩個單獨可獲取的部分。在當前頁面的第一部分處於第三層級緩衝器中時,第一ECC函數(如上文所論述的ECC1)可在當前頁面的第一部分上執行(步驟1108)。ECC操作可包含在逐位元組操作中或使用等於匯流排寬度的資料單元執行的多個步驟。在一個實例中,使用博斯-喬赫里-霍克文黑姆(BCH)格式,第一ECC函數包含校正子計算及密鑰計算。
以可及時與在步驟1106中將當前頁面的第一部分移動至第三層級緩衝器或與第一ECC函數的執行交疊的方式,來自前一頁面X的第二半的資料可自第三層級緩衝器經由組合邏輯移動至介面以執行第二ECC函數(步驟1107)。將資料自第三層級緩衝器移動至介面的此操作可為逐位元組操作或使用等於匯流排寬度的資料單元執行的操作。隨後,當前頁面X+1的第二半的資料可自第二層級緩衝器移動至第三層級緩衝器(步驟1109)。在當前頁面X+1的第二部分處於第三層級緩衝器中時,第一ECC函數可在當前頁面的第二部分上執行(步驟1111)。
以可及時與在當前頁面的第二半上執行第一ECC函數交疊的方式,來自當前頁面的第一半的資料可自第三緩衝器層級經由組合邏輯移動至介面以執行第二ECC函數(步驟1110)。第二ECC函數在BCH實例中可為陳氏尋根法。再次,將資料自第三層級緩衝器移動至介面的此操作可為逐位元組操作或使用等於匯流排寬度的資料單元執行的操作。
在當前頁面的第一部分在由第二ECC函數處理時移動至
介面之後,當前頁面的第二部分可經由組合邏輯移動至介面以執行第二ECC函數,來完成當前頁面的讀取(步驟1112)。
圖11中所繪示的程序可視為管線操作,所述管線操作包含跨四個記憶體層級移動頁面的四個階段,所述四個記憶體層級包含頁面緩衝器、第二層級緩衝器、第三層級緩衝器以及介面中的傳輸暫存器或FIFO。以管線化方式,階段可用於藉由在連續頁面上交疊操作來增加讀取操作的吞吐量。在管線實例中的吞吐量受到管線中的階段中最長的持續時間的限制。在此情況下,最長階段可為涉及將資料自第二緩衝器層級移動至第三緩衝器層級且在第三緩衝器層級中的資料上執行第一ECC函數的階段。因此,在此實例中,連續頁面讀取的時脈速率可比圖8的實例的時脈速率快。
圖12為示出在連續讀取操作中讀取頁面的階段的流程圖。出於圖12的目的,當前頁面指定為頁面X+1。前一頁面指定為頁面X,以使得所述頁面可與圖8中所繪示的流程對準。此流程亦可應用於連續頁面讀取的頁面串流中的任何頁面。
圖12以誘導當前頁面X+1的讀取(步驟1200)的命令。程序以首先將前一頁面(頁面X)的資料移出頁面緩衝器至第二層級緩衝器(步驟1201)開始。隨後,在記憶體讀取操作中將當前頁面X+1的資料加載至頁面緩衝器中(步驟1202)。然後,在流程中,將前一頁面(頁面X)的資料移出第二層級緩衝器(步驟1203)。隨後,將當前頁面(頁面X+1)的資料自頁面緩衝器移動至第二層級緩衝器(步驟1204)。使用如圖10的架構,自頁面緩衝器移動至第二層級緩衝器可以兩個部分執行,移動至第二
層級緩衝器2_BUF_A 906及第二層級緩衝器2_BUF_B 907的兩個單獨可獲取的部分。
在當前頁面的第一部分處於第二層級緩衝器中時,第一ECC函數(如上文所論述的ECC1)可在當前頁面的第一部分上執行(步驟1205)。ECC操作可包含在逐位元組操作中或使用等於匯流排寬度的資料單元執行的多個步驟。在一個實例中,使用博斯-喬赫里-霍克文黑姆(BCH)格式,第一ECC函數包含校正子計算及密鑰計算。
隨後,來自當前頁面的第一半的資料可自第二緩衝器層級移動至第三緩衝器層級3_BUF_A 911的第一部分(步驟1206)。
以可及時與將當前頁面的第一半移動至第三層級緩衝器交疊的方式,第一ECC函數可在第二層級緩衝器中的當前頁面的第二部分上執行(步驟1207)。
在將當前頁面的第一部分移動至第三層級緩衝器之後,所述第一部分可經由組合邏輯移動至介面以執行第二ECC函數(步驟1208)。第二ECC函數在BCH實例中可為陳氏尋根法。將資料自第二層級緩衝器移動至介面的此操作可為逐位元組操作或使用等於匯流排寬度的資料單元執行的操作。
在當前頁面的第二半上執行第一ECC函數之後,以可及時與頁面的第一半的資料移動至介面交疊的方式,所述第二半可移動至第三層級緩衝器的第二半(步驟1209)。
在當前頁面的第一部分在由第二ECC函數處理時移動至介面之後,當前頁面的第二部分可經由組合邏輯移動至介面以執行第二ECC函數,來完成當前頁面的讀取(步驟1210)。
圖11及圖12中所繪示的程序可表示積體電路記憶體裝置上的控制器中的邏輯,諸如圖1中所繪示的包含如圖9或圖10的三級緩衝器結構的三級緩衝器結構的積體電路記憶體裝置。
本文中描述了具有控制器的裝置及回應於連續讀取的命令序列的方法。
本文中描述了具有控制器的裝置及回應於包含非連續頁面的連續讀取的命令序列的方法。
描述了具有控制器的裝置及用於連續讀取非連續頁面的方法,所述方法包含接收規定開始位址的第一命令,且作為回應輸出連續頁面,以第一開始位址開始,同時回應於第一開始位址輸出連續頁面,接收相對於第一命令的連續頁面指定序列外的第二開始位址的第二命令,且在接受第二命令及來自第一序列的頁面完成之後,作為回應輸出連續頁面,以第二開始位址開始。
描述了具有控制器的裝置及方法,所述方法包含連續讀取操作,所述連續讀取操作包含使用可插入於連續讀取(與快取記憶體讀取類似)中以消除非連續頁面之間的讀取延遲的頁面位址輸入的命令。
描述了具有控制器的裝置及方法,所述方法包含連續讀取操作,所述連續讀取操作包含使用可插入於連續讀取中的頁面位址輸入的命令,命令將具有將下載至頁面緩衝器的下一頁面位址。
描述了具有控制器的裝置及方法,所述方法包含連續讀取操作,所述連續讀取操作包含使用可插入於連續讀取中的頁面位址輸入的命令;命令將具有將下載至頁面緩衝器的下一頁面位
址,在所述頁面緩衝器中在每一頁面上發出命令。
描述了具有控制器的裝置及方法,所述方法包含連續讀取操作,所述連續讀取操作包含使用可插入於連續讀取中的頁面位址輸入的命令;命令將具有將下載至頁面緩衝器的下一頁面位址,在所述頁面緩衝器中僅在存在非連續頁面情形時發出命令。
描述了具有控制器的裝置及回應於包含多個快取記憶體層級以用於ECC操作的用於連續讀取的命令序列的方法。
描述了具有控制器的裝置及用於連續頁面的連續讀取的方法,所述方法包含經由頁面緩衝器、第一級資料快取記憶體以及第二級快取記憶體以ECC操作使用第一級快取記憶體及第二級快取記憶體(作為第二層級緩衝器及第三層級緩衝器)移動頁面。
儘管參考上文詳述的較佳實施例及實例揭露本發明,但應理解,這些實例意欲為說明性而非限制性意義。預期在所屬技術領域中具有通常知識者將容易地想到各種修改及組合,所述修改及組合將在本發明的精神及隨附申請專利範圍的範疇內。
600:記憶體陣列
601:頁面緩衝器
602:緩衝器2_BUF_A
603:緩衝器2_BUF_B
604、605、620、621:匯流排
611:緩衝器3_BUF_A
612:緩衝器3_BUF_B
614、615:多工器
616、617:線
618:ECC電路
619:I/O介面
625:埠
Claims (20)
- 一種記憶體裝置,包括: 記憶體陣列,包含多個位元線; 頁面緩衝器,耦接至具有頁面寬度的所述多個位元線; 用於I/O資料單元的輸入/輸出介面,具有小於所述頁面寬度的I/O寬度; 資料路徑電路,連接於所述頁面緩衝器與所述輸入/輸出介面之間,所述資料路徑電路包含第二緩衝器層級及第三緩衝器層級; 控制器,回應於在所述輸入/輸出介面處所接收的命令來控制記憶體操作以在所述輸入/輸出介面處輸出頁面串流,所述記憶體操作包含連續頁面讀取操作,所述連續頁面讀取操作包含將具有所述頁面寬度的資料的頁面自所述記憶體陣列傳送至頁面讀取間隔中的所述頁面緩衝器,將所述資料的所述頁面自所述頁面緩衝器傳送至所述第二緩衝器層級,將所述資料的所述頁面自所述第二緩衝器層級傳送至所述第三緩衝器層級,以及將所述資料的所述頁面自所述第三緩衝器層級傳送至所述輸入/輸出介面;以及 錯誤更正碼(Error-correcting code,ECC)電路,連接至所述資料路徑電路,所述ECC電路在所述資料路徑電路中的所述頁面上執行ECC操作。
- 如申請專利範圍第1項所述的記憶體裝置,其中所述ECC操作包含容納於所述資料路徑電路中的所述頁面上的第一ECC函數及在將所述連續頁面讀取操作的所述頁面串流中的所述資料自所述資料路徑電路傳送至所述輸入/輸出介面期間的第二ECC函數。
- 如申請專利範圍第2項所述的記憶體裝置,包含緩衝器資料匯流排系統,所述緩衝器資料匯流排系統可操作以將所述ECC電路連接至所述第二緩衝器層級以用於執行所述第一ECC函數。
- 如申請專利範圍第2項所述的記憶體裝置,其中: 所述第二緩衝器層級藉由資料路徑耦接至所述頁面緩衝器,所述資料路徑用於將所述頁面及ECC位元自所述頁面緩衝器傳送至所述第二緩衝器層級;以及 所述第三緩衝器層級包含第一部分及第二部分,所述第一部分及所述第二部分藉由第一緩衝器間資料路徑及第二緩衝器間資料路徑耦接至所述第二緩衝器層級,所述第一緩衝器間資料路徑用於將所述頁面及所述ECC位元的第一部分自所述第二緩衝器層級傳送至所述第三緩衝器層級的所述第一部分,所述第二緩衝器間資料路徑用於將所述頁面及所述ECC位元的第二部分自所述第二緩衝器層級傳送至所述第三緩衝器層級的所述第二部分, 緩衝器資料匯流排系統,可操作以將所述ECC電路連接至所述第三緩衝器層級的所述第一部分及所述第二部分中的每一者以用於執行所述第一ECC函數,且可操作以將所述第三緩衝器層級的所述第一部分及所述第二部分中的每一者經由用於所述第二ECC函數的組合邏輯連接至所述輸入/輸出介面,所述緩衝器資料匯流排系統具有匯流排寬度Z。
- 如申請專利範圍第4項所述的記憶體裝置,其中所述第一ECC函數包含在所述第三緩衝器層級的所述第一部分及所述第二部分中的選定一者中的資料上連續操作,且所述第二ECC函數包含修改所述第三緩衝器層級的所述第一部分及所述第二部分中的選定一者與所述輸入/輸出介面的中間節點中的資料。
- 如申請專利範圍第2項所述的記憶體裝置,其中所述第一ECC函數包括校正子計算及密鑰計算,且所述第二ECC函數包括陳氏尋根法(Chien search)。
- 如申請專利範圍第3項所述的記憶體裝置,其中所述第二緩衝器層級包含第一部分及第二部分,所述第一部分及所述第二部分藉由緩衝器資料路徑耦接至所述頁面緩衝器,所述緩衝器資料路徑用於在一個記憶體循環中將所述頁面及ECC位元的第一部分自所述頁面緩衝器傳送至所述第一部分,且用於在一個記憶體循環中將所述頁面及所述ECC位元的第二部分自所述頁面緩衝器傳送至所述第二緩衝器層級的所述第二部分;以及其中: 所述緩衝器資料匯流排系統可操作以將所述ECC電路連接至所述第二緩衝器層級的所述第一部分及所述第二部分中的每一者以用於執行所述第一ECC函數,且可操作以將所述第三緩衝器層級的所述第一部分及所述第二部分中的每一者經由用於所述第二ECC函數的組合邏輯連接至所述輸入/輸出介面。
- 如申請專利範圍第1項所述的記憶體裝置,其中所述ECC操作包含第一ECC函數及第二ECC函數,所述第一ECC函數在容納於所述資料路徑電路的所述第二層級緩衝器及所述第三層級緩衝器中的一者中的所述頁面上執行,所述第二ECC函數在容納於所述資料路徑電路的所述第二層級緩衝器及所述第三層級緩衝器中的一者中的所述頁面上執行。
- 如申請專利範圍第1項所述的記憶體裝置,其中所述記憶體陣列包括NAND快閃記憶體。
- 如申請專利範圍第1項所述的記憶體裝置,其中所述輸入/輸出介面包括串列周邊介面SPI埠。
- 一種操作記憶體裝置以用於讀取頁面串流的方法,所述記憶體裝置包含頁面緩衝器、第二緩衝器層級、第三緩衝器層級以及輸入/輸出介面,所述方法包括: 將前一頁面的資料自所述頁面緩衝器移動至所述第二緩衝器層級,且將當前頁面自記憶體陣列傳送至所述頁面緩衝器; 將所述前一頁面的所述資料自所述第二緩衝器層級移動至所述第三緩衝器層級,且將所述當前頁面自所述頁面緩衝器傳送至所述第二緩衝器層級; 將來自所述前一頁面的第一部分的資料自所述第三緩衝器層級傳送至所述輸入/輸出介面,且隨後將來自所述前一頁面的第二部分的資料自所述第三緩衝器層級傳送至所述輸入/輸出介面; 將來自所述當前頁面的第一部分的資料自所述第二緩衝器層級傳送至所述第三緩衝器層級,且隨後將來自所述當前頁面的第二部分的資料自所述第二緩衝器層級傳送至所述第三緩衝器層級;以及 在將所述當前頁面自所述頁面緩衝器經由所述第二緩衝器層級及所述第三緩衝器層級傳送至所述輸入/輸出介面期間執行ECC操作。
- 如申請專利範圍第11項所述的操作記憶體裝置以用於讀取頁面串流的方法,其中執行所述ECC操作包含: 執行第一ECC函數且執行第二ECC函數; 將所述當前頁面的所述第一部分傳送至所述第三緩衝器層級且在所述第三緩衝器層級中的所述當前頁面的所述第一部分中的所述資料上執行所述第一ECC函數,及時與將所述前一頁面的所述第二部分傳送至所述輸入/輸出介面交疊,且將所述當前頁面的所述第二部分傳送至所述第三緩衝器層級且在所述第三緩衝器層級中的所述當前頁面的所述第二部分中的所述資料上執行所述第一ECC函數;以及 在所述當前頁面的所述第一部分上執行所述第二ECC函數時將所述當前頁面的所述第一部分傳送至所述輸入/輸出介面,及時與在所述第三緩衝器層級中的所述當前頁面的所述第二部分中的所述資料上執行所述第一ECC函數交疊,且隨後在所述當前頁面的所述第二部分上執行所述第二ECC函數時將所述當前頁面的所述第二部分傳送至所述輸入/輸出介面。
- 如申請專利範圍第11項所述的操作記憶體裝置以用於讀取頁面串流的方法,包含在一個緩衝器記憶體循環中將所述頁面的所述第一部分自所述第二緩衝器層級傳送至所述第三緩衝器層級。
- 如申請專利範圍第11項所述的操作記憶體裝置以用於讀取頁面串流的方法,包含在一個緩衝器記憶體循環中將所述頁面的所述第一部分自所述頁面緩衝器傳送至所述第二緩衝器層級。
- 如申請專利範圍第11項所述的操作記憶體裝置以用於讀取頁面串流的方法,其中執行所述ECC操作包含執行第一ECC函數及執行第二ECC函數,且包含在所述第二緩衝器層級中的資料上執行所述第一ECC函數及在將所述資料傳送至所述輸入/輸出介面時執行所述第二ECC函數。
- 如申請專利範圍第11項所述的操作記憶體裝置以用於讀取頁面串流的方法,其中執行所述ECC操作包含執行第一ECC函數及執行第二ECC函數,且包含在所述第二緩衝器層級及所述第三緩衝器層級中的一者中的所述資料上執行所述第一ECC函數,及在所述第二緩衝器層級及所述第三緩衝器層級中的一者所述資料上執行所述第二ECC函數。
- 如申請專利範圍第11項所述的操作記憶體裝置以用於讀取頁面串流的方法,其中執行所述ECC操作包含執行第一ECC函數及執行第二ECC函數,且包含在所述第三緩衝器層級中的所述資料上執行所述第一ECC函數及在將所述資料傳送至所述輸入/輸出介面時執行所述第二ECC函數。
- 如申請專利範圍第16項所述的操作記憶體裝置以用於讀取頁面串流的方法,其中所述第一ECC函數包括校正子計算及密鑰計算,且所述第二ECC函數包括陳氏尋根法。
- 如申請專利範圍第17項所述的操作記憶體裝置以用於讀取頁面串流的方法,其中所述第一ECC函數包括校正子計算及密鑰計算,且所述第二ECC函數包括陳氏尋根法。
- 如申請專利範圍第11項所述的操作記憶體裝置以用於讀取頁面串流的方法,其中所述記憶體陣列包括NAND快閃記憶體。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862746911P | 2018-10-17 | 2018-10-17 | |
US201862746770P | 2018-10-17 | 2018-10-17 | |
US62/746,911 | 2018-10-17 | ||
US62/746,770 | 2018-10-17 | ||
US16/533,463 | 2019-08-06 | ||
US16/533,463 US10977121B2 (en) | 2018-10-17 | 2019-08-06 | Fast page continuous read |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202036289A TW202036289A (zh) | 2020-10-01 |
TWI718694B true TWI718694B (zh) | 2021-02-11 |
Family
ID=70280829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108136177A TWI718694B (zh) | 2018-10-17 | 2019-10-05 | 記憶體裝置以及操作記憶體裝置以用於讀取頁面串流的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10977121B2 (zh) |
CN (1) | CN111063379B (zh) |
TW (1) | TWI718694B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11048649B2 (en) | 2018-10-17 | 2021-06-29 | Macronix International Co., Ltd. | Non-sequential page continuous read |
US10957384B1 (en) | 2019-09-24 | 2021-03-23 | Macronix International Co., Ltd. | Page buffer structure and fast continuous read |
US11249913B2 (en) | 2020-03-06 | 2022-02-15 | Macronix International Co., Ltd. | Continuous read with multiple read commands |
US11302366B2 (en) | 2020-03-06 | 2022-04-12 | Macronix International Co., Ltd. | Method and system for enhanced read performance in low pin count interface |
JP6886547B1 (ja) * | 2020-05-13 | 2021-06-16 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置およびecc関連情報の読出し方法 |
US11550494B2 (en) | 2021-02-03 | 2023-01-10 | Macronix International Co., Ltd. | Method to support high reliability multiple times program non-volatile configuration setting |
US11782824B2 (en) | 2022-02-08 | 2023-10-10 | Macronix International Co., Ltd. | Universal data path architecture for different data array |
US20240029783A1 (en) * | 2022-07-21 | 2024-01-25 | Micron Technology, Inc. | Semiconductor device having buffer circuit |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7423915B2 (en) * | 2006-01-17 | 2008-09-09 | Spansion Llc | Random cache read using a double memory |
US20110063748A1 (en) * | 2005-03-17 | 2011-03-17 | Samsung Electronics Co., Ltd. | Hard disk drive with reduced power consumption, related data processing apparatus, and i/o method |
TW201421238A (zh) * | 2009-08-26 | 2014-06-01 | Phison Electronics Corp | 下達讀取指令的方法、控制器與儲存系統 |
US20160034346A1 (en) * | 2014-08-01 | 2016-02-04 | Winbond Electronics Corporation | NAND Flash Memory Having Internal ECC Processing and Method of Operation Thereof |
US20160372184A1 (en) * | 2007-08-06 | 2016-12-22 | Apple Inc. | Programming Schemes for Multi-Level Analog Memory Cells |
TW201830404A (zh) * | 2017-02-07 | 2018-08-16 | 群聯電子股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0169419B1 (ko) | 1995-09-28 | 1999-02-01 | 김광호 | 불휘발성 반도체 메모리의 독출방법 및 장치 |
US6615307B1 (en) | 2000-05-10 | 2003-09-02 | Micron Technology, Inc. | Flash with consistent latency for read operations |
DE10196011B3 (de) | 2000-03-30 | 2012-07-26 | Micron Technology, Inc. | Synchrone Speichereinrichtung und Verfahren zum Lesen von Daten von einer synchronen Speichereinrichtung |
US7051264B2 (en) | 2001-11-14 | 2006-05-23 | Monolithic System Technology, Inc. | Error correcting memory and method of operating same |
JP4004811B2 (ja) | 2002-02-06 | 2007-11-07 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US6870774B2 (en) | 2002-12-10 | 2005-03-22 | Micron, Technology, Inc. | Flash memory architecture for optimizing performance of memory having multi-level memory cells |
KR100598907B1 (ko) * | 2005-05-12 | 2006-07-10 | 주식회사 테라반도체 | 연속적 읽기/쓰기가 가능한 플래쉬 메모리 |
CN101617371B (zh) | 2007-02-16 | 2014-03-26 | 莫塞德技术公司 | 具有多个外部电源的非易失性半导体存储器 |
CN101162449B (zh) | 2007-10-08 | 2010-06-02 | 福州瑞芯微电子有限公司 | Nand flash控制器及其与nand flash芯片的数据交互方法 |
JP2009158015A (ja) | 2007-12-26 | 2009-07-16 | Toshiba Corp | 不揮発性半導体記憶装置 |
KR101154001B1 (ko) | 2009-11-12 | 2012-06-08 | 에스케이하이닉스 주식회사 | 어드레스제어회로 및 반도체메모리장치 |
JP2011197819A (ja) | 2010-03-17 | 2011-10-06 | Toshiba Corp | 半導体装置 |
CN106776355B (zh) * | 2010-12-24 | 2021-01-08 | 美光科技公司 | 对存储器的连续页面读取 |
JP5658082B2 (ja) | 2011-05-10 | 2015-01-21 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US8705293B2 (en) | 2011-10-20 | 2014-04-22 | Sandisk Technologies Inc. | Compact sense amplifier for non-volatile memory suitable for quick pass write |
JP5323170B2 (ja) | 2011-12-05 | 2013-10-23 | ウィンボンド エレクトロニクス コーポレーション | 不揮発性半導体メモリおよびそのデータの読出し方法 |
JP2013232263A (ja) | 2012-04-27 | 2013-11-14 | Toshiba Corp | 半導体メモリ |
US9128822B2 (en) | 2012-06-22 | 2015-09-08 | Winbond Electronics Corporation | On-chip bad block management for NAND flash memory |
CN103578535B (zh) * | 2012-07-23 | 2016-06-15 | 华邦电子股份有限公司 | 用于读取nand快闪存储器的方法和设备 |
US9009566B2 (en) | 2012-09-12 | 2015-04-14 | Macronix International Co., Ltd. | Outputting information of ECC corrected bits |
KR102002925B1 (ko) | 2012-11-01 | 2019-07-23 | 삼성전자주식회사 | 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법 |
CN103871447B (zh) | 2012-12-14 | 2017-03-01 | 华邦电子股份有限公司 | 与非门快闪存储器阵列及芯片及其存取、读取及管理方法 |
US9690650B2 (en) | 2013-03-11 | 2017-06-27 | Macronix International Co., Ltd. | Storage scheme for built-in ECC operations |
US9136006B2 (en) | 2013-03-11 | 2015-09-15 | Macronix International Co., Ltd. | Method and device for reducing coupling noise during read operation |
US9324450B2 (en) * | 2013-03-13 | 2016-04-26 | Winbond Electronics Corporation | NAND flash memory |
US8902668B1 (en) | 2013-10-15 | 2014-12-02 | Sandisk Technologies Inc. | Double verify method with soft programming to suppress read noise |
US9552882B2 (en) | 2014-02-06 | 2017-01-24 | Sandisk Technologies Llc | Sense amplifier with efficient use of data latches |
US9411521B2 (en) | 2014-05-30 | 2016-08-09 | Macronix International Co., Ltd. | Method and apparatus for improving sequential memory read preformance |
US9971647B2 (en) | 2014-07-31 | 2018-05-15 | Winbond Electronics Corporation | Apparatus and method for programming ECC-enabled NAND flash memory |
US10509589B2 (en) | 2014-09-15 | 2019-12-17 | Adesto Technologies Corporation | Support for improved throughput in a memory device |
US9349469B2 (en) | 2014-10-02 | 2016-05-24 | Macronix International Co., Ltd. | Program verify with multiple sensing |
US9536601B2 (en) | 2014-11-05 | 2017-01-03 | Macronix International Co., Ltd. | Threshold voltage grouping of memory cells in same threshold voltage range |
CN105825894B (zh) * | 2015-01-07 | 2019-10-01 | 华邦电子股份有限公司 | 存储器读取方法以及数字存储器装置 |
JP6232109B1 (ja) | 2016-09-27 | 2017-11-15 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置および連続読出し方法 |
US11048649B2 (en) | 2018-10-17 | 2021-06-29 | Macronix International Co., Ltd. | Non-sequential page continuous read |
-
2019
- 2019-08-06 US US16/533,463 patent/US10977121B2/en active Active
- 2019-10-05 TW TW108136177A patent/TWI718694B/zh active
- 2019-10-09 CN CN201910953270.7A patent/CN111063379B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110063748A1 (en) * | 2005-03-17 | 2011-03-17 | Samsung Electronics Co., Ltd. | Hard disk drive with reduced power consumption, related data processing apparatus, and i/o method |
US7423915B2 (en) * | 2006-01-17 | 2008-09-09 | Spansion Llc | Random cache read using a double memory |
US20160372184A1 (en) * | 2007-08-06 | 2016-12-22 | Apple Inc. | Programming Schemes for Multi-Level Analog Memory Cells |
TW201421238A (zh) * | 2009-08-26 | 2014-06-01 | Phison Electronics Corp | 下達讀取指令的方法、控制器與儲存系統 |
US20160034346A1 (en) * | 2014-08-01 | 2016-02-04 | Winbond Electronics Corporation | NAND Flash Memory Having Internal ECC Processing and Method of Operation Thereof |
TW201830404A (zh) * | 2017-02-07 | 2018-08-16 | 群聯電子股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
Also Published As
Publication number | Publication date |
---|---|
CN111063379B (zh) | 2021-09-03 |
CN111063379A (zh) | 2020-04-24 |
US10977121B2 (en) | 2021-04-13 |
TW202036289A (zh) | 2020-10-01 |
US20200125443A1 (en) | 2020-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI718694B (zh) | 記憶體裝置以及操作記憶體裝置以用於讀取頁面串流的方法 | |
EP3640944B1 (en) | Non-sequential page continuous read | |
TWI727596B (zh) | 記憶體裝置以及其讀取頁面串流的方法 | |
US8667368B2 (en) | Method and apparatus for reading NAND flash memory | |
TWI446356B (zh) | 具有輸出控制之記憶體及其系統 | |
TWI384355B (zh) | 記憶體陣列錯誤校正裝置,系統及方法 | |
KR101080498B1 (ko) | 동일 계층 레벨에 휘발성 및 비휘발성 메모리 장치들을 구비하는 메모리 시스템 및 방법 | |
US11734181B2 (en) | Continuous read with multiple read commands | |
JP2016035795A (ja) | 内部ecc処理を有するnand型フラッシュメモリおよびその動作方法 | |
JP2008090419A (ja) | 集積回路装置 | |
TWI497495B (zh) | 用於讀取nand快閃記憶體的方法和設備 | |
US20050185492A1 (en) | Dynamic random access memory having at least two buffer registers and method for controlling such a memory | |
US8719669B2 (en) | Error correction decoder and error correction method thereof | |
JP7199493B2 (ja) | 非順次的ページ連続リード | |
US8547758B2 (en) | Semiconductor memory device and method of operating the same | |
TWI533325B (zh) | 記憶體讀取方法以及數位記憶體裝置 | |
JPH1063569A (ja) | 主メモリデータ書込み装置 |