TWI762380B - 記憶體、讀取設置突發操作的執行方法及記憶體操作方法 - Google Patents
記憶體、讀取設置突發操作的執行方法及記憶體操作方法 Download PDFInfo
- Publication number
- TWI762380B TWI762380B TW110125689A TW110125689A TWI762380B TW I762380 B TWI762380 B TW I762380B TW 110125689 A TW110125689 A TW 110125689A TW 110125689 A TW110125689 A TW 110125689A TW I762380 B TWI762380 B TW I762380B
- Authority
- TW
- Taiwan
- Prior art keywords
- read
- blocks
- block
- read set
- memory
- Prior art date
Links
Images
Classifications
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/10—Programming or data input 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/24—Bit-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
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- Dram (AREA)
Abstract
一種記憶體,包括一記憶體陣列以及多個控制電路。該記憶體陣列包含複數個區塊。多個控制電路包含邏輯,以執行下列操作:解碼一讀取設置突發命令,以識別一讀取設置區塊集合中的一第一讀取設置區塊的一位址和作為讀取設置操作的候選的讀取設置區塊的一數量;以及響應於該讀取設置突發命令的解碼,於該讀取設置區塊集合的多個讀取設置區塊執行一讀取設置突發操作。
Description
本揭示內容係有關於一種積體電路記憶體,包含非揮發性NAND型快閃記憶體及其操作,特別是有關於一種藉由實施讀取設置突發命令於NAND型快閃記憶體中執行讀取設置操作,以減少電壓門檻值分佈隨時間產生偏差的技術。
NAND型快閃記憶體所面臨的問題為,記憶胞的門檻值電壓將隨時間產生偏差,且最終無意地改變記憶胞的邏輯狀態。舉例來說,此門檻值電壓的偏差可因為從另一列的記憶胞讀取資料,而發生在一特定列的記憶胞。儘管可以使用錯誤校正碼(error correcting codes,ECC)來校正因為記憶胞的邏輯狀態在無意中改變而發生的讀取錯誤,校正錯誤的能力仍有限。
因此,有需要防止NAND型快閃記憶體中記憶胞的門檻值電壓發生偏差。
本揭示內容的一態樣為一記憶體,包括一記憶體陣列以及多個控制電路。該記憶體陣列包含複數個區塊。多個控制電路包含邏輯,以執行下列操作:解碼一讀取設置突發命令,以識別一讀取設置區塊集合中的一第一讀取設置區塊的一位址和作為讀取設置操作的候選的讀取設置區塊的一數量;以及響應於該讀取設置突發命令的解碼,於該讀取設置區塊集合的多個讀取設置區塊執行一讀取設置突發操作。
本揭示內容的另一態樣為一讀取設置突發操作的執行方法,適用於一記憶體,其中,該記憶體包含一記憶體陣列,該記憶體陣列包含多個區塊,該方法包含:解碼一讀取設置突發命令,以識別一讀取設置區塊集合中的一第一讀取設置區塊的一位址和作為讀取設置操作的候選的讀取設置區塊的一數量;以及響應於該讀取設置突發命令的解碼,於該讀取設置區塊集合的多個讀取設置區塊執行一讀取設置突發操作。
本揭示內容的另一態樣為一記憶體操作方法,包含:將一記憶體的一讀取設置區塊集合識別為一讀取設置操作的候選;產生一讀取設置突發命令,以識別該讀取設置區塊集合中的一第一讀取設置區塊的一位址和作為讀取設置操作的候選的讀取設置區塊的一數量;發送所產生的該讀取設置突發命令至該記憶體,以在該讀取設置區塊集合中的多個讀取設置區塊上啟動一讀取設置突發操作的執行。
為了讓本發明之其他方面及優點更明顯易懂,特舉 出下述的附圖、詳細的說明書與申請專利範圍來進行說明。
請參閱第1~16圖,其提供了對本發明實施例的詳細描述。
第1圖繪示一種立體半導體裝置的透視圖,其中立體半導體裝置包含在多個垂直NAND串(NAND string)中的多個記憶胞的多個區塊以及子區塊。立體半導體裝置1包含多級堆疊的字元線層(word line layer)11,被配置為分別與基板(substrate)10平行的第一字元線疊層21以及第二字元線疊層22;以及在Z方向(如第1圖所示)上與基板10正交定向且延伸穿過對應的字元線疊層的多個柱(pillar)15。多個柱15各自包含一半導體主體,多個半導體主體提供多個串聯連接的記憶胞的多個通道,其可以是厚度小於10奈米的薄膜通道,其中多個串聯連接的記憶胞位於NAND串配置中的多個柱以及多個字元線的交叉處。多個串列選擇線(SSL)12與基板在Y方向(如第1圖所示)上平行定向且位於字元線層11之上。於此例中,第一記憶胞區塊和第二記憶胞區塊分別形成於第一字元線疊層21以及第二字元線疊層22,其中第一字元線疊層21以及第二字元線疊層22分別耦接於不同組的NAND串。每條串列選擇線交會於一對應區塊中的多個柱的一集合中的一子集合(例如,一或多列),其中於該對應區塊中的每個子記憶胞區塊形成於耦接至對應的串列選擇線的一柱的子集合。
此結構還包含多個平行的全域位元線(global bit line)導體20,位於在X方向(如第1圖所示)上延伸且與基板平行的一層,且在多個串列選擇線的上方。每個全域位元線導體疊加在橫跨多個區塊的一個陣列中對應的一行柱上,且每一行都包含各個串列選擇線的柱的子集合的一個柱。
柱和串列選擇線的每個交會點定義了柱的選擇閘極(select gate),用於連接到對應的位元線。每個柱皆在多個位元線導體之一者的下方,且皆藉由柱的選擇閘極耦接至多個位元線導體之一者。
多個低選擇線(低選擇閘極(lower SG))13形成於字元線層11的下方,以將多個柱耦接至一或多條源極線,例如,共源極導體18。共源極導體可藉由多個區塊之間的多個垂直連接(vertical connection)或以其他方式被連接至偏壓電路系統
第1圖的結構為包含多個記憶胞區塊以及多條位元線的一種記憶體的一個例子。每個區塊包含一組字元線(即,第1圖中的一個疊層)。一個NAND串集合具有多個串列選擇閘極,用於耦接於多條位元線中的多條對應位元線。一區塊的一個NAND串集合中的每個NAND串皆連接至一組字元線。第1圖的結構同時也是多個記憶胞區塊中的每個區塊皆包含多個子區塊的一種記憶體的一個例子。每個子區塊包含一區塊的一個NAND串集合的不同子集合。於這個例子中,每個子區塊的不同NAND串子集合可操作地連接到對應的子區塊串列選擇線,其中多個閘極電壓可藉由子區塊串列選擇線來被施加於子區塊的不同子集合中的多個NAND串的多個串列選擇閘極。
於第1圖所繪示的結構中,可以藉由一種操作來限制多個通道半導體材料隨著時間變化的電阻率的影響。舉例來說,於一些記憶體結構中,當對多個記憶胞進行編寫時,通道多晶矽(channel polysilicon)被施加電壓應力(stressed),使得編寫所設定的閾值(threshold)是以受電壓應力下的電阻率作為依據。為了解決此問題,一施壓讀取偏壓(stress read bias)可被用於施加電壓應力至多個記憶胞以進行讀取。在施壓讀取之後,通道可以在一段期間內保持接受電壓應力,例如,10分鐘左右。如此一來,可以在不需要另一施壓讀取偏壓的情況下,於該期間內讀取記憶胞。
第2圖繪示一種立體NAND型裝置中的一記憶胞區塊的示意圖。立體NAND型裝置可包含多個區塊,且一區塊包含多個子區塊。在此示意圖中,多個全域位元線MBL0~MBLn覆蓋於按照多個列和多個行排列的一NAND串陣列。每個NAND串包含一串串聯連接的多個記憶胞(例如,多個介電電荷捕捉記憶胞(dielectric charge trapping memory cells)),於一對應位元線以及一參考線(例如,共源極線(common source line)CSL)之間。於一些實施例中,一個區塊的共源極線可以用作一或多條參考線,且可耦接於偏壓電路系統,其中多個操作電壓可藉由偏壓電路系統應用於記憶體的多種操作之中。
舉例來說,於一種立體NAND型配置中,第2圖所示的區塊的多個NAND串的集合對應於第1圖的多個柱。在此例中,多個NAND串耦接於多個字元線WL0~WLn+k的對應疊層,其中,每個字元線皆在其所處層耦接於區塊的所有NAND串中的多個記憶胞。在字元線WLn處,每個字元線層皆有的平面結構以虛線201表示。因此,區塊中位於一給定字元線(例如,WLn)的一層中的所有記憶胞皆耦接於該給定字元線,使得這些記憶胞可經由施加於該給定字元線的電壓而啟動(activate)。
此外,每個NAND串皆包含一對應的子區塊串列選擇線(例如,202),用以將NAND串連接至多個位元線中的一特定的位元線(例如,203)。
多個子區塊串列選擇線SSL0~SSLn可操作地分別耦接於多個不同的NAND串子集合的串列選擇閘極,以將多個閘極電壓施加至多個子區塊串列選擇閘極,其中每個NAND串子集合包含記憶胞區塊的一個子區塊。
此外,每個NAND串包含一對應的低選擇閘極(lower select gate),用以將NAND串連接至共源極線或者用以實現共源極線的一或多條參考線之一者。於此例中,一低選擇閘極層(lower select gate layer)GSL耦接於區塊中的多個NAND串的所有低選擇閘極。於另一例子中,區塊中可包括多條低選擇閘極線(lower select gate line),用以連接至多個低選擇閘極。
於此例中,一低虛設字元線(lower dummy word line)DWLG位於低選擇閘極層GSL和最下方的字元線層WL0之間,且一高虛設字元層(upper dummy word layer)DWLS位於串列選擇線SSL0~SSLn和最上方的字元線層WLn+k之間。
於第2圖的電路中,為了選擇區塊中特定的一個記憶胞,一子區塊串列選擇線將啟動一子區塊,其中子區塊串列選擇線將所選子區塊中的每個NAND串連接至多個位元線中的對應的位元線。除此之外,一字元線層也會被選擇,以選擇所選子區塊中的每個NAND串上位於所選字元線的該層中的一個記憶胞。藉由選擇對應於所選記憶胞所在的NAND串的一個位元線,將可啟動所選記憶胞。此配置透過其對應的位元線以及字元線層,從而能啟動(activation)並列的多個記憶胞,且並列的多個記憶胞的每一者位於所選子區塊的多個NAND串中的對應一者。
本文中使用的「啟動(activate)」意味著施加一特定偏壓,從而使連接的多個記憶胞(cells)或開關(switches)生效。此偏壓依據操作或記憶體設計可高可低。為達說明的目的,「充電(charging)」之用詞可指將節點驅動至較高的電壓,也可指將節點驅動至較低的電壓。於部分實施例中,較低的電壓包含接地(ground)電壓或負(negative)電壓。
本文所述的一種NAND型區塊可藉由使用立體NAND型記憶體技術來實現,也可以藉由使用二維NAND型技術來實現,其中NAND型區塊在邏輯上橫跨多個二維NAND型陣列來形成。
第3圖繪示一種感測放大器以及位元線偏壓電路的結構,其中位元線偏壓電路可用以將偏壓電壓施加至多個位元線中的各個位元線。一頁面緩衝器(page buffer)可包含一個感測放大器以及位元線偏壓電路,且每個位元線耦接於陣列中的所選區塊。
第3圖中的電路連接至全域位元線320。一位元線選擇電晶體318具有連接於全域位元線320的一第一源極/汲極端以及一第二源極/汲極端。位元線選擇電晶體318的閘極連接於線319上的控制訊號BLS。一位元線箝位電晶體321具有連接於電晶體318的第二源極/汲極端的一第一源極/汲極端以及連接於連接節點323的一第二源極/汲極端。位元線箝位電晶體321的閘極連接於線322(接收控制訊號BLC1),其中未示於圖中的電路將偏壓電壓施加於線322,以在預充電操作或其他操作中控制全域位元線MBL的電壓位準。一電晶體327用於將節點323連接至控制訊號BLC2,其中未示於圖中的電路將偏壓電壓施加於接收控制訊號BLC2的線。一通道電晶體335連接於連接節點323以及一感測節點332之間。
通道電晶體335經由一控制訊號BLC3控制,以控制連接節點323是否連接至感測節點332。一電晶體336連接於感測節點332以及一偏壓電壓VGW2之間,且經由一控制訊號BLC4控制。一電容337(電容值)從感測節點332耦合至一感測訊號節點338。一感測電晶體339具有連接至感測節點332的一閘極、連接至感測脈波節點338的一第一載流端(first current carrying terminal)以及提供一感測放大器輸出的一第二載流端(second current carrying terminal),且可連接至一頁面緩衝器的多個鎖存器(latches)。
於讀取操作或其他操作中,可操作電晶體318、327和321在所選位元線上設定一偏壓電壓位準,來滿足特定操作。
第4和5圖係根據可應用本文所述技術的一示例所繪示,於平面、區塊及子區塊層級上的一記憶體裝置中的一記憶體陣列的一部分。所述技術包含讀取設置操作(read setup operations)的應用,其包含將偏壓電壓同時施加於多個記憶胞,以為後續的讀取操作調節多個記憶胞,且還能預防多個記憶胞的電壓門檻值偏差。前述調節動作可調節記憶胞,以使門檻電壓匹配或接近於前述編寫操作中建立的門檻電壓。
第4圖繪示一記憶體陣列中的一單一平面400的配置。平面(plane)400包含多個區塊(block)0~b。每個區塊皆包含多個子區塊(sub-block)。因此,區塊0包含多個子區塊00至0n,區塊1包含多個子區塊10至1n,區塊 (b-1)包含多個子區塊 (b-1)0至 (b-1)n,且區塊b包含多個子區塊b0至bn。
多個全域位元線(MBLs)412重疊平面中的所有區塊,且被平面中的所有區塊共用。感測放大器(sense amplifiers)和位元線偏壓(bit line bias)電路的集合405(例如,第3圖)可為頁面緩衝器電路的一部份,且耦接於多個全域位元線412,藉此可將偏壓電壓施加至全域位元線412以支援讀取設置操作。感測放大器和位元線偏壓電路的集合405由平面中的所有區塊共用。每個區塊皆包含對應的串列選擇線/字元線驅動器(SSL/WL drivers)410、411、413、414,藉此可施加偏壓電壓以支援讀取設置操作。此外,一共源極線驅動器可被應用於每個區塊。
於一些實施例中,在一給定平面中,一次僅能將讀取設置操作應用於一個區塊。於其他實施例中,在一給定平面中,讀取設置操作能同時應用於多個區塊。於其他實施例中,適用於具有n個子區塊的區塊的讀取設置操作,能同時應用於大於1且少於n個子區塊。於其他實施例中,讀取設置操作能同時應用於平面中的一個區塊的一或多個子區塊或另一個區塊的一或多個子區塊。
第5圖繪示具有多個平面(plane)的記憶體(memory chip)500,於此例中,包含平面0、平面1、平面2及平面3。每個平面皆包含不同的頁面緩衝器(page buffer)電路,例如:頁面緩衝器0、頁面緩衝器1、頁面緩衝器2及頁面緩衝器3。多個頁面緩衝器耦接到未繪示的輸入/輸出電路系統,其用於支援多個平面上的高處理量記憶體操作。如圖所示,每個平面皆包含多個區塊(block)。平面0包含區塊00、區塊01、區塊02、區塊03等,平面1包含區塊10、區塊11、區塊12、區塊13等,平面2包含區塊20、區塊21、區塊22、區塊23等,且平面3包含區塊30、區塊31、區塊32、區塊33等。
如參閱第5圖所進行的討論,讀取設置操作能應用於單一平面中的一或多個區塊以預防記憶胞的電壓門檻值偏差,進而使門檻電壓匹配或接近於前述編寫操作中建立的門檻電壓。於一些實施例中,讀取設置操作也能同時應用於一平面中的一或多個區塊以及另一平面中的一或多個區塊。讀取設置操作還能同時應用於一平面的一區塊中的一或多個子區塊以及另一平面的一區塊中的一或多個子區塊。此外,讀取設置操作能應用於子區塊、區塊及平面單元以外的其他讀取設置單元,以滿足特定的記憶體配置。
第6圖到第11圖繪示在本文所述的讀取設置操作中同時被應用於並列的多個記憶胞的讀取設置偏壓安排(read setup bias arrangements)的替代實施例。藉由試誤法或模擬,可基於記憶體陣列的記憶體結構來決定應用於讀取設置操作中的偏壓安排。一般來說,應該設置應用於讀取設置操作中的偏壓安排,從而預防儲存於記憶胞內的電荷受到可導致資料損失的數量的干擾。一般來說,這樣的偏壓安排具有的電壓大小,大致相等於施加於正常讀取操作中的電壓大小。
第6到16圖係可用來執行本文所述的讀取設置程序的操作的示例以及流程圖,其將偏壓安排並列施加或同時施加至多個記憶胞。例如,至耦接於一單一位元線的多個記憶胞、至一子區塊中的所有記憶胞、至一區塊中的所有記憶胞、至多個子區塊中的所有記憶胞或至多個區塊中的所有記憶胞。
此外,第6到16圖係繪示一記憶體控制器或一記憶體裝置所執行的邏輯的示例和流程圖。邏輯可以由經電腦程式編程的處理器來實現,其中電腦程式儲存於電腦系統可存取的記憶體中,且電腦程式可由處理器來執行,可由包含現場可程式積體電路(field programmable integrated circuits)的專屬邏輯硬體(dedicated logic hardware)來執行,也可由專屬邏輯硬體和電腦程式的組合來執行。可以理解的是,在不影響所實現功能的情況下,本文所有流程圖中的許多步驟可以被組合、被並列執行或以不同順序執行。也可以理解的是,在一些情況下,只有做出一些必然的改動,重新安排的步驟才能獲得相同的結果。還可以理解的是,在其他情況下,只有滿足一些必然的條件,重新安排的步驟才能獲得相同的結果。此外,可以理解的是,本文的流程圖只示出與理解所揭露技術相關的步驟。可以理解的是,為了完成其他功能的多個額外步驟可以在所示步驟之前、之後以及之間執行。
第6圖係根據所揭露技術的一個實施例繪示用於識別一立體快閃記憶體(3D flash memory)的多個讀取設置候選區塊的第一及第二佇列的使用示意圖。
具體而言,第6圖繪示了一第一佇列1300,其可以是一先進先出(first-in first-out,FIFO)佇列1300;以及一第二佇列1302,其可以是一最近最少使用(least recently used,LRU)佇列1302。第一和第二佇列1300、1302可以是其他類型的佇列,例如,環形(circular)佇列、優先(priority)佇列或雙端(double-ended)佇列。第一和第二佇列1300、1302可以透過使用一鏈結表(linked list)且透過使用多個鏈結表指標(linked list pointers)指出鏈結表中的位置來實現。
如圖所示,第一和第二佇列1300、1302包含多個位置,其中多個位置包含一前面(最前面)位置、多個中間位置及一後面(最後面)位置。第6圖繪示第二佇列1302比起第一佇列1300具有更多位置(例如,第二佇列1302的「尺寸(size)」大於第一佇列1300)。但這僅為一個示例。第一佇列1300可以具有與第二佇列1302相同數量的位置(例如,第一和第二佇列1300、1302的「尺寸」相同),或者其比起第二佇列1302可以具有更多位置(例如,第一佇列1300的「尺寸」大於第二佇列1302)。
第一佇列1300中的位置是用於識別被存取的(例如,讀取操作)快閃記憶體的區塊。隨著新的快閃記憶體的區塊被存取,其識別碼(例如,區塊#12)將被添加至第一佇列1300的後面位置(請參見第6圖的項目1)。為了替新的識別碼騰出空間,其他識別碼將往第一佇列1300的前面移位。於此例中,由於區塊#12被存取,區塊#12的識別碼被新添加至第一佇列1300的後面位置,導致其他識別碼將往第一佇列1300的前面移位。若第一佇列1300的位置已被佔滿,則記憶體區塊的一個識別碼將隨著移位而消去(例如,區塊#45的識別碼將從第一佇列1300中消去,請參見第6圖的項目2)。於前述示例的一替代方案中,第一佇列1300可被實現為一鏈結表以及可更新的多個鏈結表指標,以達成相同結果。
在將快閃記憶體區塊的一識別碼添加到第一佇列1300之前,所揭露技術檢查第一佇列1300或第二佇列1302是否已經包含了快閃記憶體區塊的一識別碼。若第一佇列1300和第二佇列1302均未包含快閃記憶體的特定區塊的一識別碼,則特定區塊的識別碼(例如,區塊#12)可被添加至第一佇列1300的最後面位置。
若被存取的快閃記憶體的特定區塊(例如,區塊#63)已於第一佇列1300中被識別(且還未於第二佇列1302中被識別),則特定區塊的識別碼(例如,區塊#63)可被添加至第二佇列1302的最後面位置(請參見第6圖的項目3)。如前述有關於第一佇列1300的討論,為了替即將被添加至第二佇列1302的新識別碼騰出空間,第二佇列1302中其他區塊的識別碼將往第二佇列1302的前面移位。若第二佇列1302的位置已被佔滿,則記憶體區塊的一個識別碼將隨著移位而消去(請參見第6圖的項目4)。舉例來說,如第6圖所示,移位以及添加區塊#63的識別碼的動作導致區塊#27從第二佇列1302中消去。被存取區塊的識別碼被新添加至第二佇列1302,因而可將其自第一佇列1300移除。例如,如第6圖所示,區塊#63的識別碼可以自第一佇列1300移除,以為新的區塊識別碼騰出空間且預防在第一和第二佇列1300、1302中多次識別同一區塊。於此例中,區塊#63的移除導致多個區塊#12、#00、#11、#60、#31及#28可移位往第一佇列1300的前面。於前述例子的替代方案中,第一和/或第二佇列1300、1302可被實現為一鏈結表以及可更新的多個鏈結表指標,以達成相同結果。
第7圖係根據所揭露技術的一實施例繪示用於識別一快閃記憶體的多個讀取設置候選區塊的第一及第二佇列的使用示意圖。
第7圖相似於第6圖,不同在於其提供了不包含於第一佇列1300中但已經包含於第二佇列1302中的快閃記憶體的存取區塊的識別碼的一個示例。因此,若第二佇列1302中的識別碼還未位於第二佇列1302中的最後面位置,則識別碼可移動至最後面位置(請參見第7圖的項目5)。舉例來說,如第7圖所示,若區塊#42被存取且未被識別於第一佇列1300,但已被識別於第二佇列1302中的非最後面位置,則區塊#42的識別碼被移動至第二佇列1302中的最後面位置。於此例中,隨著區塊#42的識別碼被移動至第二佇列1302的後面,多個區塊#63、#01及#21將移位往第二佇列1302的前面。於前述例子的替代方案中,第一和/或第二佇列1300、1302可被實現為一鏈結表以及可更新的多個鏈結表指標,以達成相同結果。
第8圖係根據所揭露技術的一實施例繪示識別一快閃記憶體的讀取候選區塊以及於所識別的讀取候選區塊上執行讀取設置操作的流程圖。
具體而言,第8圖繪示包含排列於多個NAND串中的多個記憶胞所構成的多個區塊的一種NAND型快閃記憶體的操作方法的流程圖1500,其中每個區塊包含不同的NAND串集合。如前所述,每個區塊可包含多個子區塊,且每個子區塊包含不同的NAND串子集合。
於第8圖的操作1502,識別所存取的一快閃記憶體區塊。響應於記憶體區塊的存取(例如辨識出存取操作),執行操作1504,於第一佇列1300或第二佇列1302中識別是否有所存取的記憶體區塊。如前述參見第6~7圖所進行的討論,若於第一或第二佇列1300、1302中識別沒有所存取的記憶體區塊,則執行操作1506,更新第一佇列1300以識別存取區塊。
若於第一或第二佇列1300、1302中識別有所存取的記憶體區塊(即於操作1504,為「是」),則執行操作1508,於第一佇列1300中識別是否有所存取的快閃記憶體區塊。若於第一佇列1300中識別有存取區塊(即於操作1508,為「是」),則執行操作1510,更新第二佇列1302以識別存取區塊。如前述參見第6~7圖所進行的討論,隨著存取區塊的識別碼添加至第二佇列1302,存取區塊的識別碼可以自第一佇列1300中移除。此外,如前述,當識別碼於操作1506及1510添加至佇列,已存在佇列中的識別碼可往佇列的前面移位。
若於操作1508於第一佇列1300中識別沒有存取區塊,則執行操作1512,判斷存取區塊應已被包含在第二佇列1302,且接著更新存取區塊的識別碼於第二佇列1302中的位置,如前述參見第6~7圖所進行的討論(例如,識別碼的位置被移動至第二佇列1302的後面,且其他識別碼可往第二佇列1302的前面移位)。
接著,執行操作1514,掃描第二佇列1302以識別有資格作為讀取設置候選區塊(也可稱候選讀取設置區塊(candidate read setup blocks))的任意存取區塊。若識別出區塊存在於第二佇列1302中的時間超過(或等於)一預設門檻值,則區塊可被識別為讀取設置候選區塊。為判斷一區塊存在於第二佇列1302中的時間是否超過(或等於)預設門檻值,可使用與存在於第二佇列1302中的該區塊相關的一時戳(timestamp)或時間計數器(time counter)。若時戳或時間計數器指出存在一時間長度(time lapse)超過(或等於)預設門檻值,則表示區塊存在於第二佇列1302中的時間超過(或等於)預設門檻值。用於識別讀取設置候選區塊的預設門檻值可被設定以反映任意時間量。於一示例中,預設門檻值可被設為9分鐘。因此,若存取區塊被識別出位於第二佇列1302超過9分鐘,則存取區塊將被識別為讀取設置候選區塊。當區塊第一次被識別於第二佇列1302中或當其被移動到第二佇列1302的最後面位置時,被識別及存取的區塊的時戳或時間計數器可被設定為0(如下方討論,在一掃描程序每次執行時,可更新時戳或時間計數器)。可相對於區塊在第一及/或第二佇列1300、1302被存取及/或識別的一時間點來設定時戳或時間計數器。例如,被識別及存取的區塊的時戳或時間計數器可被設定,以反映存取區塊被識別於第一佇列1300的一時間點(例如,系統時鐘時間)。或者,其可被設定以反映存取區塊初次被識別於第二佇列1302(例如,當存取區塊的識別碼被從第一佇列1300移動至第二佇列1302)的一時間點(例如,系統時鐘時間)。如參見操作1512所進行的討論,存取區塊的時戳或時間計數器也可被設定,以反映存取區塊的識別碼的位置被移動至第二佇列1302的後面的一時間點。其餘用於設定及/或改變時戳或時間計數器的技術也可被實施,例如如下方參見第10~11圖所述的技術。作為於第一及/或第二佇列1300、1302中移動區塊的識別碼的位置的替代方案,以及作為更新如上述鏈結表指標的替代方案,時戳或時間計數器可響應於特定區塊的使用或存取而於第一及/或第二佇列1300、1302中更新。
一旦讀取設置候選區塊被識別,執行操作1516,依識別之設置候選區塊,執行讀取設置操作。讀取設置操作可根據本文所揭露的任意技術來執行。於一實施例中,可以考慮其餘用於在區塊上執行讀取設置操作的條件,可能不會在所有的讀取設置候選區塊上執行讀取設置操作。於一實施例中,僅在一部份區塊上執行讀取設置操作,例如區塊的一特定頁面。區塊的頁面可以藉由使用前述技術來識別,或者區塊的頁面可以在區塊識別於第一及第二佇列1300、1302時於區塊本身的識別碼中識別。據此,讀取設置操作可以在逐頁(page-by-page)的基礎上執行。因此,在識別區塊上執行的讀取設置操作可以包含在區塊的一頁面、多頁面或所有頁面上執行讀取設置操作。用於在一部份區塊(例如,區塊的一頁面)上執行讀取操作的這些技術可藉由本文所揭露的所有其他的讀取設置操作技術來實現。
第9圖係根據所揭露技術的一實施例繪示掃描第二佇列來識別快閃記憶體的讀取設置候選區塊以及於所識別的讀取候選區塊上執行讀取設置操作的流程圖。
具體而言,第9圖繪示更詳細地描述了第8圖的掃描操作1514的流程圖1600。第二佇列1302可根據一預設時間間隔而被週期性地掃描。預設時間間隔可以設定為任意時間。於一示例中,預設時間間隔可為1分鐘。第二佇列1302的掃描可從最前面位置開始,且結束於最後面位置,或者以任意順序掃描第二佇列1302。每次執行掃描時,第二佇列1302中的所有位置皆可被掃描。
於操作1602,在掃描時判斷於第二佇列1302中識別的特定區塊的時間長度是否大於(或等於)預設門檻值(例如,具有被識別出存在於第二佇列1302中的時間大於預設門檻值的特定區塊)。若所述特定區塊的時間長度大於(或等於)預設門檻值,則可執行操作1604,將特定區塊的識別碼添加至讀取設置表。接著,執行操作1606,判斷第二佇列1302的所有位置是否都已掃描過。若還沒(即於操作1606為「否」),則執行操作1602,檢查於第二佇列1302中識別的另一區塊的時間長度。
另一方面,若於操作1602判斷時間長度未超過(或等於)預設門檻值,則特定區塊的識別碼不會添加至讀取設置表,且執行操作1606,檢查第二佇列1302的所有位置是否都已掃描過。如圖所示,一旦第二佇列1302的所有位置都已掃描過(即於操作1606為「是」),則執行操作1608,發送讀取設置命令至記憶體,藉由於讀取設置表中的記憶體區塊來執行讀取設置操作。又例如,於操作1608,從一主機端(例如記憶體控制器)發送讀取設置命令至記憶體2308,使記憶體2308的命令解碼/控制電路2334接收讀取設置命令,接著由記憶體2308的一狀態機器(state machine)排程且於記憶體2308上執行。在讀取設置操作經初始化及/或被完成後,可清除讀取設置表,使得其可在第二佇列1302下次被掃描時(例如,一旦預設時間增量到期,且是時候再次執行掃描操作)被再次填滿(repopulated)。
第10圖係根據所揭露技術的一實施例繪示掃描第二佇列來識別快閃記憶體的讀取設置候選區塊以及於所識別的讀取候選區塊上執行讀取設置操作的流程圖。
具體而言,第10圖繪示流程圖1700,其與第9圖的流程圖1600相似,但更進一步地提供了有關於掃描順序以及增加時戳(incrementing of the timestamps)的細節。
於操作1701,從第二佇列1302的位置n開始掃描。如前述,掃描可從第二佇列1302的最前面、最後面或其他任意位置開始。於此例中,於操作1701,將從第二佇列1302的最前面位置開始掃描,其中n表示第二佇列1302中位置的數量。例如,若第二佇列1302包含用於識別不同記憶體區塊的12個位置,則於操作1701中n最初可為11。這也可以相反的順序來進行,其中若第二佇列1302中有12個位置,則n可自0開始增加至11。
於操作1701,判斷於位置n(例如,位置12,其中n等於11)識別的區塊的時間長度是否大於(或等於)預設門檻值。
於一實施例中,若時間長度未大於(或等於)預設門檻值,則執行操作1708,增加與區塊的識別碼相關聯的時戳或時間計數器。於此特定實施例中,當區塊的識別碼添加至第二佇列1302時,與區塊相關聯的時戳或時間計數器最初將被設定為例如0。接著,當執行操作1708時,將在掃描被設定要重複執行的同一時間增加時戳或時間計數器。例如,若掃描被設定為每1分鐘重複一次,則在每次掃描且識別區塊仍低於預設門檻值時,時戳或時間計數器將增加1分鐘。最終,與特定區塊相關聯的時戳或時間計數器將充分增加,使其等同或大於預設門檻值。
於另一實施例中,當與特定區塊相關聯的時戳或時間計數器是基於特定區塊的識別碼被添加至例如第二佇列1302的系統時鐘時間(或識別碼被添加至例如第一佇列1300的時間,或識別碼於第二佇列1302中從其中一位置被移動至前面的時間),操作1708可省略。於此實施例中,因為與特定區塊相關聯的時戳或時間計數器可和當前的系統時鐘時間進行比較,來判斷是否已經過足夠的時間來達到或超過預設門檻值,故並不需要執行操作1708。於此實施例中,省略了操作1708。據此,若於操作1701的結果為「否」,則執行操作1704,判斷第二佇列1302的最後面位置是否被掃描過。於一實施例中,如前述,第二佇列1302被從最前面位置開始掃描,並於最後面位置結束掃描。因此,若最後面位置已被掃描過,則代表所有位置都已被掃描過。於另一實施例中,或許是從最後面位置開始往最前面位置掃描,此時於操作1704中將判斷最前面位置是否有被掃描過。此外,於另一實施例中,於操作1704中,也可單純判斷第二佇列1302中的所有位置是否都有經過掃描。
回到操作1701的描述,若時間長度大於(或等於)預設門檻值,則執行操作1702,將位於第二佇列1302的位置n的特定區塊的識別碼添加至讀取設置表中。一旦識別碼添加至讀取設置表中,執行操作1704,判斷第二佇列1302的最後面位置是否被掃描過(即,是否所有位置都已經掃描過)。
若最後面位置還未被掃描過,則執行操作1706,將n的值減少1,進而在第二佇列1302的下一區塊執行操作1701。注意的是,於另一實施例中,在一情況下,例如n從0開始,則於操作1706可增加n的值。此週期將持續直到所有位置都已掃描過
一旦掃描過所有位置(即於操作1704為「是」),則執行操作1608藉由在讀取設置表中所識別的區塊來執行讀取設置操作。在執行讀取設置操作後,可清除讀取設置表,使得下次在預設時間執行掃描時讀取設置表能淨空。
第11圖係根據所揭露技術的一實施例繪示用於執行讀取設置操作的一讀取設置表的使用示意圖。
具體而言,第11圖繪示如何自第二佇列1302填滿讀取設置表1800。如圖所示,第二佇列1302包含例如識別特種區塊的12個位置。如前述參見第10圖所進行的討論,第二佇列1302的掃描可自最前面位置(例如n=11)開始,且結束於最後面位置(例如n=0),使得每次n減少時更靠近第二佇列1302的最後面位置的下個位置將被掃描。一旦掃描到最後面位置,所述特定的掃描操作即完成,且掃描將於預設時間增量(例如1分鐘)後重新開始。
此外,如第11圖所示,第二佇列1302的每個位置皆包含一特定區塊(例如區塊#06)的一識別碼以及對應的一時戳或時間計數器(例如時戳(Y))。如前述,可以不同方式使用時戳。例如,時戳可自0開始,且每當執行掃描時,時戳或時間計數器可增加一些值(例如,執行掃描時所根據的預設時間增量(predetermined time increment))。替代地,時戳或時間計數器可為特定區塊的識別碼被添加至第二佇列1302或第一佇列1300的系統時鐘時間。若使用此替代方案,則不需執行操作1708,如前述參見第10圖所進行的討論。
當執行掃描時,若與特定區塊(例如區塊#06)相關聯的特定時戳或時間計數器(例如時戳(Y))大於(或等於)預設門檻值,則所述特定區塊的識別碼被添加至讀取設置表1800。第11圖繪示超過預設門檻值的二個時戳或時間計數器,以至於區塊#06及#03的識別碼被添加至讀取設置表1800。
讀取設置表1800可以具有與第二佇列1302相同數量的位置,使得第二佇列1302的多個位置可一對一映射(one-to-one mapping)至讀取設置表1800的多個位置。也可使用無法一對一映射至第二佇列1302的其他類型的讀取設置表。一旦掃描迭代(iteration)完成,讀取設置操作將在識別於讀取設置表1800的區塊上執行。如參見第10圖所提到的,可在執行讀取設置操作後清除讀取設置表1800,以至於在下個掃描操作開始時其能淨空。讀取設置操作能自讀取設置表1800的最前面或最後面位置開始,或以任意其他順序或同時開始。
第12圖係根據所揭露技術的一實施例繪示用於識別讀取設置候選區塊的一錯誤校正碼(error correction code,ECC)的使用示意圖。
於記憶體區塊生命週期的前期,因為門檻值電壓隨著時間產生偏差的速率還不至於不可預期,可能還不需執行讀取設置操作。因此,於所揭露技術的一實施例中,讀取設置操作只會在已經充分使用過的區塊上執行。
第12圖繪示一流程圖1900,其描述使用一錯誤校正碼來識別一錯誤校正碼錯誤計數(ECC error count),以判斷特定區塊是否在執行讀取設置操作的各種技術實施之前就已被充分使用過。於操作1902,識別已被存取的一快閃記憶體區塊。於操作1904,針對特定區塊,藉由使用錯誤校正碼判斷偵測到的錯誤計數的數量是否大於(或等於)一錯誤校正碼門檻值(ECC threshold)。一持續非揮發性表可用來持續追蹤針對記憶體區塊所偵測到的錯誤數量,使得表中的內容可在斷電後保留。每次發生錯誤時,可在表中增加特定區塊的ECC錯誤計數。當判斷於操作1902所識別的區塊的錯誤數量大於(或等於)錯誤校正碼門檻值,可使用此表。替代地,特定讀取操作的錯誤數量可被追蹤,以至於若使用錯誤校正碼偵測的錯誤數量超過錯誤校正碼門檻值,則可於表中識別出為讀取操作主體的特定區塊。
若錯誤數量(例如,ECC錯誤計數)大於(或等於)錯誤校正碼門檻值,則執行操作1906,將特定區塊的識別碼添加至一讀取設置許可表(read setup permitted list)。接著,將執行操作1902以識別另一區塊。若ECC錯誤計數的數量未大於(或等於)錯誤校正碼門檻值(即於操作1904為「否」),則特定區塊的識別碼將不被添加至讀取設置許可表,且將執行操作1902以識別另一區塊。此外,若於操作1904判斷特定區塊的ECC錯誤計數的數量大於(或等於)錯誤校正碼門檻值,則可在第一或第二佇列1300、1302中識別所述區塊,或者其可被識別於讀取設置表中(即被識別為一讀取設置候選),無論特定的記憶體區塊存在於第二佇列1302中的時間是否大於預設門檻值,或者無論特定的記憶體區塊是否已被識別於第一及/或第二佇列1300、1302中任一者。
使用ECC錯誤計數是判斷特定的記憶體區塊是否被充分使用以成為讀取設置候選的方式之一。也可考慮其他類型的使用方式,例如,特定區塊的編寫及抹除(program and erase,PE)周期數。類似於上方有關於ECC錯誤計數的描述,一表可用來持續追蹤每個區塊的PE周期數。若PE周期數大於(或等於)一特定區塊的一特定PE門檻值,則區塊的識別碼將被添加至讀取設置許可表。用於判斷特並的記憶體區塊是否被充分使用的其他技術也可與ECC錯誤計數及/或PE周期計數一起實施,或單獨實施。
於所揭露技術的一實施例中,在沒有使用上述使用第一及第二佇列1300、1302的技術的情況下,讀取設置操作可於在讀取設置許可表中識別的多個區塊上執行。或者,如參見第13圖的下方描述,讀取設置許可表可被整合至使用第一及第二佇列1300、1302的操作中,以判斷哪些區塊為讀取設置操作的候選。
第13圖係根據所揭露技術的一實施例繪示的一流程圖,其描述使用一讀取設置許可表來識別一快閃記憶體的讀取候選區塊,及於所識別的讀取候選區塊上執行讀取設置操作。
具體而言,第13圖繪示類似於第9圖的流程圖1600的一流程圖2000。流程圖2000中的操作1701、1702、1704、1706、1708及1608的說明與第9圖中的操作相同。因此,在此省略其說明。
於第13圖的操作2002,判斷讀取設置許可表中是否包含在位置n識別的區塊。第12圖的操作1904及1906描述基於區塊的使用量(usage)將特定區塊添加至讀取設置許可表。若於讀取設置許可表中識別出區塊,則執行操作1702,將區塊的識別碼添加至讀取設置表。若於讀取設置許可表中未識別出區塊,則執行操作1704,檢查區塊n是否為第二佇列的最後面位置。第13圖的操作可在第12圖的操作後執行。如參見第12圖所進行的討論,區塊可基於其使用量,例如ECC錯誤計數、PE計數…等,而被識別在讀取設置許可表中。
第14圖係根據所揭露技術的一實施例繪示的將讀取設置突發命令(read setup burst command)發送至快閃記憶體的一種控制器的簡易圖。
具體而言,第14圖繪示一快閃記憶體2100以及一控制器2102。如圖所示,快閃記憶體2100包含多個區塊,其自區塊#00開始且結束於區塊#n。如前述,每個區塊皆包含多個頁面。
控制器2100可識別或取得資訊,其中資訊用於識別循序讀取設置區塊2104的數量以及循序讀取設置區塊的序列中的第一讀取設置區塊2106的位址。(循序式或非循序式)讀取設置區塊可被識別為讀取設置操作的候選,其中讀取設置操作使用本文所述技術,例如使用第一及第二佇列1300、1302…等。此外,讀取設置區塊也可為非循序記憶體區塊。循序讀取設置區塊的「數量」表示快閃記憶體2100中作為讀取設置操作候選且按順序排列的區塊的實際數量。替代地,控制器2102可識別循序讀取設置區塊的序列中的第一個和最後一個區塊,或者其可識別循序讀取設置區塊的序列中的第一個和最後一個區塊的位址。
控制器2102產生一讀取設置突發命令,用於識別(1) (循序式或非循序式)讀取設置區塊集合中的一第一區塊的位址及(2) 作為讀取設置操作的候選的讀取設置區塊的數量,並將其產生的讀取設置突發命令提供給快閃記憶體2100。產生的讀取設置突發命令可包含額外的資訊,如本文所述。替代地,讀取設置突發命令可識別一序列的循序讀取設置區塊中的第一個和最後一個區塊,或者其可識別循序讀取設置區塊的序列中的第一個和最後一個區塊的位址。
如第14圖所示,所識別的循序讀取設置區塊的序列可包含快閃記憶體2100的區塊#01至#99。於此例中,快閃記憶體2100接收的讀取設置突發命令可識別區塊#01的位址,其中區塊#01為循序讀取設置區塊的序列中的第一讀取設置區塊。讀取設置突發命令也可指出循序讀取設置區塊的序列中有99個區塊,或者非循序讀取設置區塊集合中有99個區塊。
響應於接收來自控制器2102的讀取設置突發命令,或者響應於讀取設置突發命令的解碼。快閃記憶體2100可接著在讀取設置區塊集合中的多個讀取設置區塊上執行讀取操作。讀取設置突發命令的接收及/或解碼在快閃記憶體2100上引發一讀取設置突發操作,包含在讀取設置區塊集合中的多個讀取設置區塊上執行讀取操作。
控制器2102可為主機端的一部分,如參見第16圖所進行的詳細討論,其中主機端可為快閃記憶體2100的一部分,或可與快閃記憶體2100分開。控制器2102也可與主機端分開,且其也可為快閃記憶體2100的一部分或與快閃記憶體2100分開。控制器2102可藉由使用例如,第一級第二佇列1300、1302,來識別或管理識別(循序式或非循序式)讀取設置區塊的操作,或者其可自另一裝置接收用於識別(循序式或非循序式)讀取設置區塊的資訊。控制器2102可發送候選讀取設置區塊的一讀取設置表,來作為讀取設置突發命令的一部分或獨立於讀取設置突發命令。記憶體2100可接收、儲存以及維護讀取設置表。再者,記憶體2100可利用讀取設置表來在讀取設置表中識別的區塊上執行讀取設置操作。此外,在讀取設置表中識別的區塊可包含本文所述的任意區塊表中所包含的一些或全部的區塊,其中本文所述的任意區塊表包含讀取設置表1800。記憶體2100可在讀取設置表中識別的區塊上執行讀取設置操作。
第15圖係根據所揭露技術的一實施例繪示的一流程圖,其描述產生讀取設置突發命令及發送讀取設置突發命令至一記憶體,其中記憶體根據讀取設置突發命令執行讀取設置操作。
具體而言,第15圖繪示一流程圖2200,流程圖2200包含控制器2102及快閃記憶體2100執行的各種操作。於一實施例中,於第15圖左手邊的操作(例如,操作2202、2204及2206)可由控制器2102執行,且於第15圖右手邊的操作(例如,操作2208、2210、2212、2214、2216及2218)可由快閃記憶體2100執行。然而,本揭露技術並不限於第15圖中所述的操作。例如,第15圖中的所有操作可由記憶體2100本身的部件執行。
於操作2202,控制器2102可產生及發送讀取設置突發命令至快閃記憶體2100。如上方參見第15圖所進行的討論,讀取設置突發命令識別一位址(address)以及一數量(number)。
在於操作2202中發送讀取設置突發命令之後,控制器2102可發送一輪詢訊息(polling message)至快閃記憶體2100。輪詢訊息可請求有關於讀取設置突發操作之狀態的資訊。輪詢訊息在自發送讀取設置突發命令以來經過的一預設時間長度之後才被發送,或者其可在發送讀取設置突發命令之後立即被發送。替代地,輪詢訊息在可與讀取設置突發命令一起發送。
於操作2206,判斷控制器2102是否接收來自快閃記憶體2100的一訊息,用以指示讀取設置突發操作已完成。若還未接收到該訊息,則可執行操作2204,發送另一輪詢訊息至快閃記憶體2100。若已從快閃記憶體2100接收到該訊息,則可執行操作2202,產生及發送另一讀取設置突發命令至記憶體2100。操作2204可選擇性地執行,且在操作2202可再次執行之前,控制器2102可僅僅等待直到於操作2206中接收到指示完成的訊息。替代地,在操作2202可再次執行之前,控制器2102可等待一預設時間長度。
響應於接收來自控制器2102的讀取設置突發命令,快閃記憶體2100可於操作2208中解碼讀取設置突發命令,且自第一區塊的位址(或第一區塊的一頁面的位址)開始啟動讀取設置突發操作。於一實施例中,於操作2208中可設定等同於在讀取設置突發命令中識別的數量的一計數器,及設定一當前區塊號碼(current block number)來識別讀取設置區塊的序列中的第一讀取設置區塊。例如,若讀取設置突發命令包含識別區塊#01的一位址,則當前區塊號碼識別區塊#01。若讀取設置突發命令識別讀取設置區塊的序列中的99個區塊,則計數器設定至99。
於可選擇性執行的操作2210,判斷當前區塊(藉由當前區塊號碼識別)是否為損壞區塊(bad block)。於上方示例中,操作2210將於區塊#01上執行,其中區塊#01是基於讀取設置突發命令中的位址而被識別的。於操作2210,可自一表(list)識別一損壞區塊,或使用邏輯及/或電路系統(circuitry)識別一損壞區塊。一個區塊可基於其性能、使用量或其他因素而被識別為損壞區塊。若當前區塊(藉由當前區塊號碼識別)不是損壞區塊,則執行操作2212,於當前區塊上執行讀取設置操作。若當前區塊(藉由當前區塊號碼識別)被判斷為損壞區塊,則不會於當前區塊上執行讀取設置操作(即跳過操作2212)而執行操作2214,以移往下一區塊(例如,當前區塊號碼加上1)且調整計數器(例如,計數器減去1)。
承上方示例,操作2210判斷區塊#01是否為損壞區塊。若區塊#01不是損壞區塊(即其為完好區塊),則執行操作2212,於區塊#01上執行讀取設置操作。
於操作2214,將區塊號碼加上1,進而識別區塊#02為當前區塊,其中區塊#02為讀取設置區塊的序列中的下一區塊。於操作2214,還將計數器減去1,使得計數器等於98。於操作2214,若當前區塊號碼識別讀取設置區塊的序列中的最後一個區塊,則可以不增加當前區塊號碼。判斷當前區塊號碼是否為讀取設置區塊的序列中的最後一個區塊的其中一種方式,即為使用計數器的值。例如,若於操作2214中計數器的值在減少之前為1,或者若於操作2214中計數器的值在減少之後為0,則可判斷當前區塊為讀取設置區塊的序列中的最後一個區塊,且可不去增加當前區塊號碼。
在計數器減去1之後,執行操作2216,判斷計數器是否等於0。若計數器不等於0,則可於當前區塊上執行操作2210及/或操作2212(注意的是,因為用於識別當前區塊的號碼已在操作2214中更新,故當前區塊為不同區塊)。計數器也可從低於在讀取設置突發命令中識別的數量的一特定數量開始,且可增加至在讀取設置突發命令中識別的數量。
於上方示例中,當前區塊號碼目前識別區塊#02,且計數器等於98。因此,在操作2216中判斷計數器不等於0之後,執行操作2210,判斷區塊#02是否為損壞區塊。如前述,操作2210可選擇性地執行。因此,若省略了操作2210,則於操作2214中判斷計數器不等於0可導致於操作2212中在目前被識別為當前區塊的區塊#02上執行讀取設置操作。
操作2210、2212、2214及2216將持續循環直到計數器等於0(即讀取設置區塊的序列中的所有區塊已被考慮過)。於上方示例中,假設於操作2210中沒有識別出損壞區塊,這些操作將持續進行直到計數器從99減少至0,並將導致讀取設置操作在區塊#01至#99上執行。響應於等於0的計數器,可執行操作2218,發送一訊息至控制器2102,來指示讀取設置突發操作已經完成的。如前述,指示「完成」的該訊息可用來允許控制器2102執行操作2202。
讀取設置區塊可為循序式或非循序式,且可藉由使用表來識別,例如第一級第二佇列1300、1302…等。舉例來說,候選讀取設置區塊的一讀取設置表可被維護,且讀取設置區塊集合可包含讀取設置表中的讀取設置候選區塊。可判斷任一個候選讀取設置區塊是否按照記憶體中的位址的順序來排列。響應於有候選讀取設置區塊按照順序來排列的判斷結果,按順序排列的候選讀取設置區塊可被識別為讀取設置區塊集合的多個讀取設置區塊,其中讀取設置突發操作係於讀取設置區塊集合的多個讀取設置區塊上執行。此外,控制器2102或記憶體2100可自讀取設置表上識別候選讀取設置區塊的一第一集合(其中,第一集合包含按照記憶體中的位址的順序來排列二或多個候選讀取設置區塊),自讀取設置表上識別候選讀取設置區塊的一第二集合(其中,第二集合包含按照記憶體中的位址的順序來排列二或多個候選讀取設置區塊,且第二集合包含不同於讀取設置表上的候選讀取設置區塊的候選讀取設置區塊),判斷候選讀取設置區塊的第二集合包含比候選讀取設置區塊的第一集合的數量還多的候選讀取設置區塊,且將來自第二集合的候選讀取設置區塊識別為讀取設置區塊集合的多個讀取設置區塊,其中讀取設置突發操作係於讀取設置區塊集合的多個讀取設置區塊上執行。
第16圖係一種記憶體系統的簡易圖,其包含於積體電路上實施的一快閃記憶體裝置2308以及一主機端2302,其中主機端2302包含用於發行例如讀取命令、及帶有位址以和待編寫資料的編寫命令等命令的邏輯。於一些實施例中,主機端可發行讀取設置命令和讀取設置突發命令來於記憶體裝置2308上啟動讀取設置操作。記憶體裝置2308可實施於單一積體電路晶片(single integrated circuit chip)上、多晶片模組(multichip module)上、或配置為滿足特定需求的多個晶片。
此示例的記憶體裝置2308包含在一積體電路基板上的一記憶體陣列2378,如前述,記憶體陣列2378包含多個區塊,每個區塊包含多個子區塊。記憶體陣列2378可為NAND型快閃記憶體,藉由二維或三維陣列技術實施。
於各式各樣的實施例中,記憶體裝置2308可能具有單階層記憶胞(single-level cells,SLC)、或每記憶胞儲存超過一位元的多階層記憶胞(例如,多階層記憶胞(multiple-level cells,MLC)、三階層記憶胞(triple-level cells,TLC)或(XLC))。
記憶體裝置2308包含一記憶體陣列2378,其可為NAND型快閃記憶體,藉由三維陣列技術實施並具有一或多個平面,每個平面具有多個區塊,且每個區塊具有多個子區塊。
一字元線解碼器2376A通過字元線驅動器電路2376B耦接於記憶體陣列2378中的多個字元線2377。串列選擇線/接地選擇線(SSL/GSL)解碼器2378A通過串列選擇線/接地選擇線(SSL/GSL)驅動器電路2378B,並經由串列選擇線和接地選擇線2379耦接於陣列中的靠近位元線側(SSL)和共源極側(GSL)的串列選擇閘極。頁面緩衝器電路2338經由位元線驅動器電路2348耦接於記憶體陣列2378中的位元線2366。於一些實施例中,可以包含行解碼器電路,用以將資料從位元線驅動器傳送至選定的位元線。頁面緩衝器電路2338可儲存用於在頁面編寫操作中定義資料圖樣(data pattern)的多個資料頁面,且可包含用於讀取及驗證操作的感測電路。
記憶體陣列的位元線可包含全域位元線(global bit lines,GBL)和區域位元線(local bit lines)。位元線通常包含於較高圖樣層中的金屬導體,其穿過陣列中的多個記憶胞區塊。全域位元線連接至NAND串,以使電流流入和流出位元線,並依次連接至位元線驅動器電路2348及頁面緩衝器電路2338。同樣地,字元線可包含全域字元線和區域字元線,對應於字元線驅動器2376B中的支援電路。
於感測操作中,來自頁面緩衝器電路2338的感測資料通過匯流排系統2326中的第二資料線被供應快取電路2328,其中快取電路2328通過資料路徑鏈結(data path link)2316依次耦接於輸入/輸出電路2318。於此示例中,輸入資料通過鏈結2316提供至快取電路2328,並通過匯流排系統2326提供至頁面緩衝器電路2338,以支援編寫操作。此外,快取電路2328可包含一候選表緩衝器2384,可儲存及維護候選讀取設置區塊的讀取設置表。可自主機端2302一同接收讀取設置表以及讀取設置突發命令。此外,記憶體2308可利用讀取設置表,以在讀取設置表中識別的區塊上執行讀取設置操作。
輸入/輸出電路2318藉由鏈結2314(包含輸入/輸出銲墊(I/O pads))連接,並為資料、位址及命令的通信路徑提供目的地,其中目的地位於記憶體裝置2308的外部。於此示例中,包含主機端2302。輸入/輸出電路2318藉由鏈結2316提供一通信路徑至用於支援記憶體操作的快取電路2328。快取電路2328與頁面緩衝器電路2338(例如使用匯流排系統2326)進行資料流通信(data flow communication)。
控制電路2334連接至輸入/輸出電路2318,且包含命令解碼邏輯、位址計數器、狀態機器、計時電路及控制各種記憶體操作的其他邏輯電路,其中各種記憶體操作包含記憶體陣列2378的編寫、讀取及抹除操作。控制電路訊號被分配到記憶體裝置中的電路,如箭頭2345、2346所示,以支援電路的操作。控制電路2334可包含位址暫存器,以根據需求將位址傳送至記憶體裝置2308的組件,於此圖中,包含傳送至快取電路2328,及通過鏈結2344傳送至頁面緩衝器電路2338、字元線解碼器2376A和串列選擇線/接地選擇線解碼器2378A。
於第16圖的示例中,控制電路2334包含控制邏輯電路,控制邏輯電路包含用於實現一或多個偏壓安排狀態機器的模組,其用以控制藉由方塊2364中的一或多個電壓源所產生或提供的偏壓的應用,包含讀取設置、讀取、抹除、驗證及編寫電壓,包含預充電電壓、通道電壓及本文所述的其他偏壓電壓,至字元線驅動器電路2376B及位元線驅動器電路2348,以進行一組可選擇的編寫、讀取設置及讀取操作。偏壓電壓如箭頭2365被施加至記憶體裝置2308的組件,以根據需求支援操作。
控制電路2334可包含本領域中已知,使用包含狀態機器的專用邏輯電路系統來實現的模組。於另一實施例中,控制電路2334可包含使用被實施於同一積體電路上的通用處理器來實現的模組,其用以執行電腦程式來控制記憶體裝置2308的操作。於又一實施例中,可以利用專用邏輯電路系統和通用處理器的組合來實現控制電路2334中的模組。
快閃記憶體陣列2378可包含建構來使每個記憶胞可以儲存多個位元的浮閘記憶胞或介電電荷捕捉記憶胞。其係藉由建構多個編寫階層來實現,而多個編寫階層則是與用來構成記憶胞的門檻值電壓Vt的儲存電荷量相對應。此技術可用於一記憶胞儲存一位元的快閃記憶體,及用於一記憶胞儲存多位元和一記憶胞儲存一位元的其他記憶體技術中。於其他實施例中,記憶胞可包含可編寫的電阻式記憶胞、相變式記憶胞和其他類型的非揮發性和揮發性記憶胞技術。
於圖示的實施例中,主機端2302耦接至記憶體裝置2308上的鏈結2314以及未繪示的其他控制端,例如晶片選擇端等,並可向記憶體裝置2308提供命令或指令。於一些實施例中,主機端2302可使用共享位址和資料線,並使用序列匯流排技術(serial bus technology)耦接至記憶體裝置2308。主機端2302可包含通用處理器、專用處理器、用來作為記憶體控制器的處理器,或使用記憶體裝置2308的其他處理器。主機端2302的全部或部分可以在與記憶體所在的積體電路上實現。記憶體控制器可執行於第6至15圖所述的部分或全部操作。主機端2302(例如記憶體控制器)更可包含錯誤校正碼(ECC)電路2382。錯誤校正碼電路2382可用來執行如第12圖所述的操作。具體而言,例如,錯誤校正碼電路2382可用(例如使用錯誤校正碼資訊)來識別已檢測到多個錯誤的記憶體區塊,其中多個錯誤的數量大於(或等於)錯誤校正碼門檻值。或者,錯誤校正碼電路2382可用來判斷是否在記憶體區塊上檢測到數量大於(或等於)錯誤校正碼門檻值的多個錯誤。
主機端2302可基於來自應用程式的請求而更新儲存在記憶體中的資料。通常,主機端2302可包含執行記憶體管理功能的程式,於部分實施例中,記憶體管理功能包含用以控制或支援本文所述的讀取設置操作的功能。其餘記憶體管理功能可包含例如管理第一和第二佇列、識別讀取設置候選、管理時戳、管理讀取設置表及讀取設置許可表、及管理本文所述與判斷讀取設置候選相關的資訊及相關聯的操作及讀取設置突發命令。額外的記憶體管理功能可包含耗損平均(wear leveling)、損壞區塊修復(bad block recovery)、功率損失修復(power loss recovery)、垃圾收集(garbage collection)、錯誤校正(error correction)等。主機端2302還可包含應用程式、文件系統、快閃轉換層程式(flash translation layer programs)及其他可產生儲存於記憶體中之資料狀態資訊的組件,其中狀態資訊包含發行用於編寫具有位址的資料及待編寫資料的命令。
於第16圖所示的示例中,記憶體裝置包含一組狀態暫存器2335,以儲存用於讀取設置操作的多個參數。這些參數可定義待施加的電壓位準,看是導通或關斷串列選擇和接地選擇閘極,及脈波期間(pulse durations)等。這些參數也可包含一開始平面和區塊位址(starting plane and block address)及一個範圍的區塊位址(或其他讀取設置單元的位址),以作為特定讀取設置操作的主體。這些參數可包含多個指示器,用以在讀取設置操作中同時啟動平面、平面中的區塊及區塊中的子區塊。這些參數的部分或全部可由讀取設置命令及/或讀取設置突發命令提供,且可儲存於晶片上作為配置資料(configuration data)。
主機端2302(例如記憶體控制器)也可包含第一佇列1300、第二佇列1302、讀取設置表1800及讀取設置許可表2380。主機端2302可以本文所述的各種方式實現第一佇列1300、第二佇列1302、讀取設置表1800及讀取設置許可表2380。替代地,記憶體裝置可包含第一佇列1300、第二佇列1302、讀取設置表1800、讀取設置許可表2380及控制電路2334中的部分或全部,且可利用第一佇列1300、第二佇列1302、讀取設置表1800及讀取設置許可表2380中的部分或全部,與讀取設置參數2335一起執行本文所述的讀取設置操作。
記憶體裝置上的狀態機器可存取讀取設置參數,且執行讀取設置操作,包含位址生產(address generation)及施加偏壓電壓至記憶體陣列以維持整個記憶體的讀取就緒狀態。這操作可包含在可以同時進行讀取設置操作的一或多個平面中的區塊圖樣。這操作可以被配置以在沒有外部控制的情況下,橫截陣列或部分陣列作為背景操作。這操作可以被配置以響應於讀取設置命令及/或讀取設置突發命令進行操作。藉由讀取設置操作,攜帶讀取設置參數及識別陣列中待操作的區段。讀取設置命令及/或讀取設置突發命令可由例如主機端中的記憶體控制器產生。記憶體控制器用以監控區塊狀態,例如識別讀取設置候選區塊及發送用於在讀取設置操作中識別讀取設置候選區塊的命令,及識別在耗損平均操作中的冷卻區塊(cold block)為陳舊區塊(stale block),且可發送識別陳舊區塊的命令,或可在記憶體陣列閒置或即將閒置的一時間間隔中發送命力。狀態機器可在記憶體裝置上設定一就緒/忙碌引腳(ready/busy pin),以示意記憶體控制器上的控制程式來協調讀取設置操作。
本文所述技術可以高速執行讀取設置操作,且相比於現有技術能更頻繁的執行,從而藉由維持記憶胞於具有於編寫操作中設定的門檻值的情況下來改進記憶胞操作窗。這些技術特別有益於大型高密度記憶體系統。例如,若一區塊中有多個子區塊,則一區塊中的所有子區塊可同時進行讀取設置操作,以改進操作速度。再者,若一記憶體平面中有多個區塊,則多個區塊可同時進行讀取設置操作,以改進操作速度。再者,若一記憶體裝置中有多個平面,則多個平面中的區塊或子區塊可同時進行讀取設置操作,以改進操作速度。
雖然本揭示內容已以實施方式揭露如上,然其並非用以限定本揭示內容,所屬技術領域具有通常知識者在不脫離本揭示內容之精神和範圍內,當可作各種更動與潤飾,因此本揭示內容之保護範圍當視後附之申請專利範圍所界定者為準。
10:基板
11:字元線層
12:串列選擇線
13:低選擇線
15:柱
18:共源極導體
20:全域位元線導體
21:第一字元線疊層
22:第二字元線疊層
201:虛線
202:子區塊串列選擇線
203:位元線
318:位元線選擇電晶體
319,322:線
320:全域位元線
321:位元線箝位電晶體
323:連接節點
327,336:電晶體
332:感測節點
335:通道電晶體
337:電容
338:感測訊號節點/感測脈波節點
339:感測電晶體
400:平面
405:感測放大器及位元線偏壓電路的集合
410,411,413,414:串列選擇線/字元線驅動器
412,MBL0,MBLi,MBLn:全域位元線
500:記憶體
1300:第一佇列
1302:第二佇列
1500,1600,1700,1900,2000,2200:流程圖
1502,1504,1506,1508,1510,1512,1514,1516,1602,1604,1606,1608,1701,1702,1704,1706,1708,1902,1904,1906,2002,2202,2204,2206,2208,2210,2212,2214,2216,2218:操作
1800:讀取設置表
2100:快閃記憶體
2102:控制器
2104:循序讀取設置區塊的數量
2106:第一讀取設置區塊的位址
2302:主機端
2308:記憶體
2314,2316,2344:鏈結
2318:輸入/輸出電路
2326:匯流排系統
2328:快取電路
2334:命令解碼/控制電路
2335:狀態暫存器
2338:頁面緩衝器電路
2345,2346,2365:箭頭
2348:位元線驅動器電路
2364:方塊
2366:位元線
2376A:字元線解碼器
2376B:字元線驅動器電路
2377:字元線
2378:記憶體陣列
2378A:串列選擇線/接地選擇線解碼器
2378B:串列選擇線/接地選擇線驅動器電路
2379:串列選擇線/接地選擇線
2380:讀取設置許可表
2382:錯誤校正碼
2384:候選表緩衝器
BLS,BLC1,BLC2,BLC3,BLC4:控制訊號
CSL1:共源極線
DWLG:低虛擬字元線
DWLS:高虛擬字元層
GSL:低選擇閘極層
SSL0,SSl1,SSLn:串列選擇線
VGW1,VGW2:偏壓電壓
WL0,WL1,WL30,WL31,WLn-3,WLn-2,WLn-1,WLn,WLn+k:字元線
第1圖係具有區塊和子區塊架構的立體垂直NAND結構的透視圖。
第2圖係可以經由使用第1圖所示的結構來實施的NAND快取記憶胞的區塊的電路示意圖。
第3圖繪示可在本文所述裝置中使用的感測放大器以及位元線偏壓電路的簡易圖。
第4圖係根據本文所述實施例繪示的記憶體平面的分段的方塊圖。
第5圖係根據本文所述實施例繪示的包含多個平面的記憶體陣列的分段的方塊圖。
第6圖係根據所揭露技術的一實施例繪示使用用於識別快取記憶體的讀取設置候選區塊的第一及第二佇列的示意圖。
第7圖係根據所揭露技術的一實施例繪示使用用於識別快取記憶體的讀取設置候選區塊的第一及第二佇列的示意圖。
第8圖係根據所揭露技術的一實施例繪示的流程圖,其描述識別快閃記憶體的讀取候選區塊以及於所識別的讀取候選區塊上執行讀取設置操作。
第9圖係根據所揭露技術的一實施例繪示的流程圖,其描述掃描第二佇列以識別快閃記憶體的讀取設置候選區塊以及於所識別的讀取設置候選區塊上執行讀取設置操作。
第10圖係根據所揭露技術的一實施例繪示的流程圖,其描述掃描第二佇列以識別快閃記憶體的讀取設置候選區塊以及於所識別的讀取設置候選區塊上執行讀取設置操作。
第11圖係根據所揭露技術的一實施例繪示使用一讀取設置表來執行讀取設置操作的示意圖。
第12圖係根據所揭露技術的一實施例繪示的流程圖,其描述使用錯誤校正碼(error correction code,ECC)來識別讀取設置候選區塊。
第13圖係根據所揭露技術的一實施例繪示的流程圖,其描述使用一讀取設置許可表來識別讀取候選區塊以及於所識別的讀取候選區塊上執行讀取設置操作。
第14圖係根據所揭露技術的一實施例繪示的用於發送一讀取設置突發命令至快閃記憶體的一種控制器的簡易圖。
第15圖係根據所揭露技術的一實施例繪示的流程圖,其描述產生一讀取設置突發命令、發送讀取設置突發命令至記憶體及記憶體根據讀取設置突發命令執行讀取設置操作。
第16圖係本文所述的記憶體系統的方塊圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
2302:主機端
2308:記憶體
2314,2316,2344:鏈結
2318:輸入/輸出電路
2326:匯流排系統
2328:快取電路
2334:命令解碼/控制電路
2335:狀態暫存器
2338:頁面緩衝器電路
2345,2346,2365:箭頭
2348:位元線驅動器電路
2364:方塊
2366:位元線
2376A:字元線解碼器
2376B:字元線驅動器電路
2377:字元線
2378:記憶體陣列
2378A:串列選擇線/接地選擇線解碼器
2378B:串列選擇線/接地選擇線驅動器電路
2379:串列選擇線/接地選擇線
2380:讀取設置許可表
2382:錯誤校正碼
2384:候選表緩衝器
Claims (20)
- 一種記憶體,包含: 一記憶體陣列,包含複數個區塊;以及 多個控制電路,包含邏輯,以執行下列操作: 解碼一讀取設置突發命令,以識別一讀取設置區塊集合中的一第一讀取設置區塊的一位址和作為讀取設置操作的候選的讀取設置區塊的一數量;以及 響應於該讀取設置突發命令的解碼,於該讀取設置區塊集合的多個讀取設置區塊執行一讀取設置突發操作。
- 如請求項1所述之記憶體,其中該讀取設置區塊集合由多個循序式區塊組成。
- 如請求項2所述之記憶體,其中該數量代表該些循序讀取設置區塊的數量,且該讀取設置突發操作包含: 從該第一讀取設置區塊上開始對該讀取設置區塊集合的該些循序讀取設置區塊執行讀取設置操作,其中該第一讀取設置區塊係藉由該讀取設置突發命令中的該位址識別;以及 持續按照該些循序讀取設置區塊的一序列的順序執行讀取設置操作,直到經執行讀取設置操作的循序讀取設置區塊的數量等於在該讀取設置突發命令中識別的該數量。
- 如請求項3所述之記憶體,其中該讀取設置突發操作更包含: 在於該些循序讀取設置區塊的各個讀取設置區塊上執行讀取設置操作之前,分別判斷每個循序讀取設置區塊是否為損壞區塊;以及 若該循序讀取設置區塊被判斷為損壞區塊,跳過對該循序讀取設置區塊的讀取設置操作,且繼續按照該序列的順序對該序列中的下一個讀取設置區塊執行該讀取設置突發操作。
- 如請求項2所述之記憶體,其中該數量代表多個循序讀取設置區塊的數量,且該讀取設置突發操作包含: 根據接收到的該讀取設置突發命令中的該位址,識別該第一讀取設置區塊為一當前讀取設置區塊; 將一計數器設定為等於該讀取設置突發命令中的所識別的該些循序讀取設置區塊的數量,其中該些循序讀取設置區塊的數量大於1;以及 在該計數器等於0之前,執行下列操作: 判斷該當前讀取設置區塊是否為損壞區塊; 若該當前讀取設置區塊不為損壞區塊,於該當前讀取設置區塊上執行讀取設置操作; 若該當前讀取設置區塊不為循序讀取設置區塊中的最後一個區塊,將該當前讀取設置區塊識別為該些循序讀取設置區塊的序列中的一下一個區塊;以及 將該計數器減去1。
- 如請求項1所述之記憶體,其中該操作更包含: 接收多個候選讀取設置區塊的一讀取設置表;以及 於一候選表緩衝器中,儲存且維護所接收的該些候選讀取設置區塊的該讀取設置表,其中該讀取設置區塊集合識別該讀取設置表中的該些候選讀取設置區塊的一或多者。
- 如請求項6所述之記憶體,其中該操作更包含: 判斷該些候選讀取設置區塊中的任一個是否按照該記憶體所定址的序列順序排列;以及 若該些候選讀取設置區塊按照序列順序排列,將按照序列順序排列的該些候選讀取設置區塊識別為該讀取設置區塊集合的該些讀取設置區塊,其中該讀取設置突發操作在該讀取設置區塊集合的該些讀取設置區塊上執行。
- 如請求項6所述之記憶體,其中該操作更包含: 從該讀取設置表中識別候選讀取設置區塊的一第一集合,其中該第一集合包含按照記憶體所定址的序列順序排列的二或多個候選讀取設置區塊; 從該讀取設置表中識別候選讀取設置區塊的一第二集合,其中該第二集合包含按照記憶體所定址的序列順序排列的二或多個候選讀取設置區塊,該第二集合中的候選讀取設置區塊不同於該第一集合中的候選讀取設置區塊; 判斷該第二集合中的候選讀取設置區塊多於該第一集合中的候選讀取設置區塊;以及 將該第二集合中的候選讀取設置區塊識別為該讀取設置區塊集合的該些讀取設置區塊,其中該讀取設置突發操作在該讀取設置區塊集合的該些讀取設置區塊上執行。
- 如請求項6所述之記憶體,其中該讀取設置表從一最近最少使用(least recently used,LRU)佇列產生,且該最近最少使用佇列根據該記憶體中的多個區塊的使用來識別該記憶體中的該些區塊。
- 如請求項9所述之記憶體,其中該讀取設置表產生,以從該最近最少使用佇列識別候選讀取設置區塊,該最近最少使用佇列在超過一預設門檻值的一期間內未曾被存取。
- 一種讀取設置突發操作的執行方法,適用於一記憶體,其中,該記憶體包含一記憶體陣列,該記憶體陣列包含多個區塊,該方法包含: 解碼一讀取設置突發命令,以識別一讀取設置區塊集合中的一第一讀取設置區塊的一位址和作為讀取設置操作的候選的讀取設置區塊的一數量;以及 響應於該讀取設置突發命令的解碼,於該讀取設置區塊集合的多個讀取設置區塊執行一讀取設置突發操作。
- 一種記憶體操作方法,包含: 將一記憶體的一讀取設置區塊集合識別為一讀取設置操作的候選; 產生一讀取設置突發命令,以識別該讀取設置區塊集合中的一第一讀取設置區塊的一位址和作為讀取設置操作的候選的讀取設置區塊的一數量; 發送所產生的該讀取設置突發命令至該記憶體,以在該讀取設置區塊集合中的多個讀取設置區塊上啟動一讀取設置突發操作的執行。
- 如請求項12所述之方法,其更包括: 發送一輪詢訊息至該記憶體,以請求有關於該讀取設置突發操作的狀態的資訊;以及 自該記憶體接收表示該讀取設置突發操作未完成的一回應訊息。
- 如請求項12所述之方法,其更包括: 發送一輪詢訊息至該記憶體,以請求有關於該讀取設置突發操作的狀態的資訊; 自該記憶體接收表示該讀取設置突發操作完成的一回應訊息;以及 若接收到表示該讀取設置突發操作完成的該回應訊息,產生且發送一下一個讀取設置突發命令至該記憶體。
- 如請求項12所述之方法,其更包括: 發送一輪詢訊息至該記憶體,以請求有關於該讀取設置突發操作的狀態的資訊;以及 若未在一預設期間內自該記憶體接收到一回應訊息,判斷該讀取設置突發操作未完成。
- 如請求項12所述之方法,其中該讀取設置區塊集合由多個循序式區塊組成。
- 如請求項16所述之方法,其中該數量代表該些循序讀取設置區塊的數量,且該讀取設置突發操作包含: 從該第一讀取設置區塊上開始對該些循序讀取設置區塊執行讀取設置操作,其中該第一讀取設置區塊係藉由該讀取設置突發命令中的該位址識別;以及 持續按照該些循序讀取設置區塊的一序列的順序執行讀取設置操作,直到經執行讀取設置操作的循序讀取設置區塊的數量等於在該讀取設置突發命令中識別的該數量。
- 如請求項17所述之方法,其中該讀取設置突發操作更包含: 在於該些循序讀取設置區塊的各個讀取設置區塊上執行讀取設置操作之前,分別判斷每個循序讀取設置區塊是否為損壞區塊;以及 若該循序讀取設置區塊被判斷為損壞區塊,跳過該循序讀取設置區塊的讀取設置操作,且繼續按照該序列的順序對該序列中的下一個讀取設置區塊執行該讀取設置突發操作。
- 如請求項12所述之方法,其更包括: 維護該記憶體中的多個候選讀取設置區塊的一讀取設置表,其中該讀取設置區塊集合包含該讀取設置表中的候選讀取設置區塊。
- 如請求項19所述之方法,其更包括: 判斷候選讀取設置區塊中的任一個是否按照記憶體所定址的序列順序排列;以及 若候選讀取設置區塊按照序列順序排列,將按照序列順序排列的候選讀取設置區塊識別為該讀取設置區塊集合的該些讀取設置區塊,其中該讀取設置突發操作在該讀取設置區塊集合的該些讀取設置區塊上執行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/238,757 | 2021-04-23 | ||
US17/238,757 US11803326B2 (en) | 2021-04-23 | 2021-04-23 | Implementing a read setup burst command in 3D NAND flash memory to reduce voltage threshold deviation over time |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI762380B true TWI762380B (zh) | 2022-04-21 |
TW202242888A TW202242888A (zh) | 2022-11-01 |
Family
ID=82199294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110125689A TWI762380B (zh) | 2021-04-23 | 2021-07-13 | 記憶體、讀取設置突發操作的執行方法及記憶體操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11803326B2 (zh) |
CN (1) | CN115240741A (zh) |
TW (1) | TWI762380B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230221892A1 (en) * | 2022-01-12 | 2023-07-13 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory interface |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6278654B1 (en) * | 2000-06-30 | 2001-08-21 | Micron Technology, Inc. | Active terminate command in synchronous flash memory |
US7062644B2 (en) * | 2001-05-30 | 2006-06-13 | International Business Machines Corporation | Method, system, and program for initializing a storage device comprising multiple storage units through a storage controller |
US8122303B2 (en) * | 2007-05-25 | 2012-02-21 | Realtek Semiconductor Corp. | Data structure for flash memory and data reading/writing method thereof |
US8423700B2 (en) * | 2006-06-07 | 2013-04-16 | Microsoft Corporation | Hybrid memory device with single interface |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6327638B1 (en) * | 1998-06-30 | 2001-12-04 | Lsi Logic Corporation | Disk striping method and storage subsystem using same |
US7007193B1 (en) * | 2000-01-07 | 2006-02-28 | Storage Technology Corporation | Method and system for reconstructing data serially arranged on a magnetic tape track |
JP3916862B2 (ja) | 2000-10-03 | 2007-05-23 | 株式会社東芝 | 不揮発性半導体メモリ装置 |
US20040061704A1 (en) * | 2002-09-27 | 2004-04-01 | Ju Chi-Cheng | Memory access method for video decoding |
JP4322686B2 (ja) | 2004-01-07 | 2009-09-02 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7369437B2 (en) | 2005-12-16 | 2008-05-06 | Sandisk Corporation | System for reading non-volatile storage with efficient setup |
JP5788183B2 (ja) | 2010-02-17 | 2015-09-30 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 不揮発性メモリ装置、それの動作方法、そしてそれを含むメモリシステム |
US8590001B2 (en) * | 2010-08-20 | 2013-11-19 | Promise Technology, Inc. | Network storage system with data prefetch and method of operation thereof |
CN103119656A (zh) | 2010-09-24 | 2013-05-22 | 株式会社东芝 | 非易失性半导体存储器件 |
US20120278819A1 (en) * | 2011-04-26 | 2012-11-01 | Byungcheol Cho | Polling-driven device driver interface |
US9406377B2 (en) | 2014-12-08 | 2016-08-02 | Sandisk Technologies Llc | Rewritable multibit non-volatile memory with soft decode optimization |
US10761772B2 (en) | 2014-12-19 | 2020-09-01 | Toshiba Memory Corporation | Memory system including a plurality of chips and a selectively-connecting bus |
US20160205054A1 (en) | 2015-01-14 | 2016-07-14 | Linkedin Corporation | Conditional delivery of electronic messages |
US9524980B2 (en) | 2015-03-03 | 2016-12-20 | Macronix International Co., Ltd. | U-shaped vertical thin-channel memory |
US10095568B2 (en) | 2017-02-08 | 2018-10-09 | Seagate Technology Llc | Background reads to condition programmed semiconductor memory cells |
JP2018156711A (ja) | 2017-03-21 | 2018-10-04 | 東芝メモリ株式会社 | メモリコントローラおよびデータ読み出し方法 |
CN109496300B (zh) | 2018-03-23 | 2021-11-19 | 华为技术有限公司 | 一种存储介质垃圾回收方法、存储介质和程序产品 |
US11048437B2 (en) * | 2019-02-28 | 2021-06-29 | Micron Technology, Inc. | Double threshold controlled scheduling of memory access commands |
TWI688953B (zh) | 2019-04-10 | 2020-03-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
US11687471B2 (en) | 2020-03-27 | 2023-06-27 | Sk Hynix Nand Product Solutions Corp. | Solid state drive with external software execution to effect internal solid-state drive operations |
JP6887044B1 (ja) | 2020-05-22 | 2021-06-16 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置および読出し方法 |
JP2022020957A (ja) | 2020-07-21 | 2022-02-02 | キオクシア株式会社 | メモリシステム及び半導体記憶装置 |
CN114121092A (zh) | 2020-08-28 | 2022-03-01 | 西部数据技术公司 | 提高沟道升压的周期性减小的字线偏置 |
US11270776B1 (en) | 2020-12-09 | 2022-03-08 | Sandisk Technologies Llc | Countermeasure for reducing peak current during program operation under first read condition |
-
2021
- 2021-04-23 US US17/238,757 patent/US11803326B2/en active Active
- 2021-07-13 TW TW110125689A patent/TWI762380B/zh active
- 2021-09-08 CN CN202111052631.4A patent/CN115240741A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6278654B1 (en) * | 2000-06-30 | 2001-08-21 | Micron Technology, Inc. | Active terminate command in synchronous flash memory |
US6438068B1 (en) * | 2000-06-30 | 2002-08-20 | Micron Technology, Inc. | Active terminate command in synchronous flash memory |
US7062644B2 (en) * | 2001-05-30 | 2006-06-13 | International Business Machines Corporation | Method, system, and program for initializing a storage device comprising multiple storage units through a storage controller |
US8423700B2 (en) * | 2006-06-07 | 2013-04-16 | Microsoft Corporation | Hybrid memory device with single interface |
US8122303B2 (en) * | 2007-05-25 | 2012-02-21 | Realtek Semiconductor Corp. | Data structure for flash memory and data reading/writing method thereof |
Also Published As
Publication number | Publication date |
---|---|
US20220342597A1 (en) | 2022-10-27 |
TW202242888A (zh) | 2022-11-01 |
US11803326B2 (en) | 2023-10-31 |
CN115240741A (zh) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106683702A (zh) | 非易失性存储器装置及其读方法 | |
US11226895B2 (en) | Controller and operation method thereof | |
US11262939B2 (en) | Memory system, memory controller, and operation method | |
CN108735253A (zh) | 非易失性存储器存储系统 | |
KR20190043863A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US11409470B2 (en) | Memory system, memory controller, and method of operating memory system | |
US11301174B2 (en) | Memory system, memory controller and method for operating memory system | |
US11238952B2 (en) | Memory system, memory controller, and method of operating memory system | |
TWI762380B (zh) | 記憶體、讀取設置突發操作的執行方法及記憶體操作方法 | |
US11500563B2 (en) | Memory system and operating method for testing target firmware by processing a plurality of test commands | |
US11315650B2 (en) | Memory system, memory controller, and method of operating memory system | |
US11474740B2 (en) | Memory system and memory controller | |
US11321014B2 (en) | Memory system, memory controller, and operating method for performing status check based on status check delay information | |
US20230221895A1 (en) | Memory system and operating method of memory system storing doorbell information in the buffer memory | |
KR20220025405A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
US11775221B2 (en) | Memory system, memory controller, and method for operating same | |
US11182108B2 (en) | Memory system, memory controller, and operation method | |
US11137942B2 (en) | Memory system, memory controller, and method of operating a memory system for determining a number of hit and miss requests about map segments in a map cache and determining whether or not to perform data read operation in parallel | |
US11385839B1 (en) | Implementing a read setup in 3D NAND flash memory to reduce voltage threshold deviation over time | |
US11475954B2 (en) | Fast interval read setup for 3D NAND flash | |
US20230006673A1 (en) | Memory system and memory controller | |
US11404137B1 (en) | Memory system and operating method of memory system | |
US11307807B2 (en) | Memory system, memory controller, and method for operating memory system for determining read biases for read retry operation | |
US11544204B2 (en) | Memory system, memory controller and method for operating memory controller | |
US20240233832A1 (en) | Page buffer circuits in memory devices |