TW202324415A - 用於nand快閃記憶體之方法與裝置 - Google Patents

用於nand快閃記憶體之方法與裝置 Download PDF

Info

Publication number
TW202324415A
TW202324415A TW111128983A TW111128983A TW202324415A TW 202324415 A TW202324415 A TW 202324415A TW 111128983 A TW111128983 A TW 111128983A TW 111128983 A TW111128983 A TW 111128983A TW 202324415 A TW202324415 A TW 202324415A
Authority
TW
Taiwan
Prior art keywords
data
bit line
cell
voltage
programming
Prior art date
Application number
TW111128983A
Other languages
English (en)
Inventor
富菖 許
Original Assignee
美商Neo半導體股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/446,165 external-priority patent/US11972811B2/en
Priority claimed from US17/492,553 external-priority patent/US12002525B2/en
Priority claimed from US17/816,720 external-priority patent/US20230022531A1/en
Application filed by 美商Neo半導體股份有限公司 filed Critical 美商Neo半導體股份有限公司
Publication of TW202324415A publication Critical patent/TW202324415A/zh

Links

Images

Landscapes

  • Read Only Memory (AREA)

Abstract

本發明揭露用於NAND快閃記憶體之方法與裝置。在一實施例中,提供一種用於對具有包括多層單元之複數個記憶體晶片的記憶體裝置進行程式化的方法。該方法包括在第一晶片中載入第一資料、使用單層單元(SLC)程式化模式將第一資料程式化到第一晶片的選定單元中,以及使用多層單元程式化模式將儲存在第一晶片之選定單元中的第一資料重新程式化至第一晶片的其他單元。該方法還包括對剩餘的晶片重複載入、程式化和重新程式化的作業。剩餘晶片的載入作業在第一晶片的載入作業完成時開始且以非重疊順序方式發生,對剩餘晶片的載入作業與第一晶片的程式化和重新程式化作業平行執行。

Description

用於NAND快閃記憶體之方法與裝置
本發明之示例性實施例係大致上關於半導體及積體電路領域,尤其係NAND快閃記憶體之設計與作業。
本發明之美國對應案是2021年10月1日申請且名稱為「NAND快閃記憶體之方法與裝置」的美國專利申請案第17/492,553 號的部分連續申請案 (continuation-in-part;CIP)。 本發明之美國對應案主張根據美國專利法35 U.S.C.第119條規定的2022年6月 6 日提交的名稱為「記憶體裝置、系統和程式化作業」的臨時專利申請第 63/349,571號之優先權,其全部內容通過引用併入本文。
美國專利申請案第17/492,553 號是2021年8月26日申請且名稱為「NAND快閃記憶體之方法與裝置」的美國專利申請案第17/446,165 號的部分連續申請案 (continuation-in-part;CIP)。美國專利申請案第17/492,553 號主張根據美國專利法35 U.S.C.第119條規定的2020年10月1日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第63/086,543號、2020年10月9日提交的名稱為「NAND快閃記憶體之多層單元讀取及寫入作業」的美國臨時專利申請案第63/090,171號、2020年10月20日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第63/094,343號、2020年10月22日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第63/104,305號、2020年10月27日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第63/105,877號、2020年10月29日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第63/107,386號、2020年11月10日提交的名稱為「NAND快閃記憶體之多層單元讀取及寫入作業」的美國臨時專利申請案第63/112,038號、2020年11月19日提交的名稱為「NAND快閃記憶體之多層單元讀取及寫入作業」的美國臨時專利申請案第63/116,159號之優先權,其全部內容通過引用併入本文。
美國專利申請案第17/446,165 號是2021年5月25日申請且名稱為「NAND快閃記憶體之方法與裝置」的美國專利申請案第17/330,304 號的部分連續申請案 (continuation-in-part;CIP)。美國專利申請案第17/446,165 號主張根據美國專利法35 U.S.C.第119條規定的2020年10月29日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第63/107,386號、2020年10月27日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第63/105,877號、2020年10月14日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第63/091,895號以及2020年8月26日提交的名稱為「NAND快閃記憶體之多層單元讀取及寫入作業」的美國臨時專利申請案第63/070,266號之優先權,其全部內容通過引用併入本文。
美國專利申請案第17/330,304 號是2020年4月15日申請且名稱為「NAND快閃記憶體之方法與裝置」的美國專利申請案第16/849,875 號的部分連續申請案 (continuation-in-part;CIP)。美國專利申請案第16/849,875 號是2019年11月18日申請且名稱為「NAND快閃記憶體之方法與裝置」的美國專利申請案第16/687,556 號的部分連續申請案 (continuation-in-part;CIP)。  美國專利申請案第16/687,556 號主張根據美國專利法35 U.S.C.第119條規定的2019年5月5日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第62/843,556號、2019年5月15日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第62/848,567號、2019年7月7日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第62/871,198號以及2019年8月7日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第62/884,139號之優先權,其全部內容通過引用併入本文。
美國專利申請案第16/687,556號主張根據美國專利法35 U.S.C.第119條規定的2018年11月18日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第62/768,979號、2018年11月20日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第62/770,150號、2018年11月30日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第62/774,128號、2018年12月20日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第62/783,199號、2019年1月31日提交的名稱為「NAND快閃記憶體之讀取及寫入作業」的美國臨時專利申請案第62/799,669號之優先權,其全部內容通過引用併入本文。
記憶體裝置係廣泛使用於工業及消費性電子產品上。在許多情況下,記憶體的局限影響工業或消費者裝置(例如行動電話)的尺寸、效能或成本。
使用於許多裝置之記憶體的一種類型係稱為NAND快閃記憶體。此類型的記憶體係組織成一個或更多個區塊且各個區塊包括由字元線及位元線存取的記憶體單元字串。資料被程式化至記憶體單元或從使用耦接至位元線之頁緩衝器的記憶體單元被讀取。在典型的NAND快閃記憶體中,能夠一次被程式化或讀取之位元線的數目係等於頁緩衝器的數目。此係稱為「頁程式化(page-programming)」或「頁讀取(page-read)」。增加頁緩衝器的數目可增加資料讀取/寫入的通量,以提升記憶體效能。然而,頁緩衝器的電路尺寸係相當大且通常佔據大約記憶體晶元尺寸的20%至40%。因此,頁緩衝器的通常數目係在當今516GB至1TB產品中受限在16KB至64KB的範圍中,這限制了NAND快閃記憶體的寫入/讀取效能。
在各種示例性實施例中,NAND快閃記憶體架構及方法係提供以與兩個維度(two-dimensional;2D)或三個維度(three-dimensional;3D)的NAND記憶體陣列使用。實施例亦能夠應用於單層單元(single-level cell;SLC)、複層單元(multi-level cell;MLC)、三層單元(triple-level cell;TLC)、四層單元(quad-level cell;QLC))或每一單元中任何數目的位元之技術。
在一實施例中,NAND架構包括將頁緩衝器連接到大量位元線以增加讀取/寫入通量的位元線選擇閘。在另一實施例中,位元線選擇閘將頁緩衝器耦接至不相鄰的位元線以減輕電容耦合。在其他實施例中,額外的通道閘和資料暫存器用於增強NAND記憶體的作業。在又一其他實施例中,提供導致性能提高之新穎的程式化和讀取作業。
在一實施例中,提供了一種用於對 NAND快閃記憶體進行程式化的方法,包括在字元線上設置程式化條件以設置與多條位元線相關聯的多個記憶體單元的程式化,以及依序作動位元線選擇閘以從頁緩衝器載入資料到記憶體的多條位元線。在各個元位元線載入選定的資料之後,相關聯的位元線選擇閘被停止作動,使得選定的資料使用位元線電容保持在位元線上。該方法還包括在所有位元線載入資料之後等待程式化間隔完成以對與多條位元線相關聯的多個記憶體單元進行程式化。多個記憶體單元中的至少一部分被同時程式化。
在一實施例中,提供了一種NAND快閃記憶體,其包括具有複數條位元線和複數條字元線的記憶體陣列,以及儲存要寫入記憶體陣列的資料或從記憶體陣列讀取資料的頁緩衝器。頁緩衝器包括複數條資料線並且係配置為同時程式化記憶體陣列的多個單元字串中的記憶體單元。記憶體還包括位元線選擇閘,其選擇性地將頁緩衝器的各條資料線連接到記憶體陣列的兩條或更多條位元線。
在一實施例中,提供了一種用於對NAND快閃記憶體進行程式化的方法。該方法包括用偏壓位準對選定的記憶體單元之選定的位元線進行預充電,同時未選定位元線保持抑制電壓(inhibit voltage),將驗證電壓施加到耦合到選定的記憶體單元之選定的字元線,以及使耦合至導通單元之選定的位元線放電一段第一時間間隔。該方法還包括感測選定的位元線上的感測電壓位準,當感測到的電壓位準高於閾值位準時用抑制電壓位準載入選定的位元線,並且當感測到的電壓位準等於或低於閾值位準時用程式化電壓載入選定的位元線,且重複對各條選定的位元線重複感測和載入作業。
在一個實施例中,提供了一種用於讀取多層單元NAND快閃記憶體之方法。NAND快閃記憶體包括耦合至位元線和字元線的記憶體單元之字串以及耦合至位元線的單一位元資料閂鎖。該方法包括藉由執行以下作業來讀取單元的一位元:將選定的字元線電壓位準施加到該單元以感測該單元的輸出; 當該輸出指示該單元是一關斷單元時,將該閂鎖翻轉到第一資料值; 以及重複該施加和該翻轉的作業,直到所有的字元線電壓都已經施加到該單元,使得該位元的值被儲存在該閂鎖中。該方法還包括對要讀取的該單元的各個位元重複讀取作業。
在一實施例中,提供一種用於在一個頁緩衝器的控制下讀取和程式化多條位元線上之單元的位元線選擇閘電路。在讀取作業期間,位元線選擇閘電路包含多個載入裝置以提供負載電流至各條位元線以進行電流感測作業。位元線選擇閘依序開啟一段時間,使頁緩衝器能夠感測各條位元線的電壓,以判定單元的資料。另外,對於半位元線(half bit line;HBL)作業,載入裝置向未選擇的位元線提供屏蔽電壓。
在程式化作業期間,位元線選擇閘依序開啟一段時間,使頁緩衝器載入程式化資料到各條位元線。對於半位元線(HBL)作業,載入裝置向未選擇的位元線提供抑制電壓。
在一實施例中,提供一種NAND快閃記憶體,其包括分別連接到複數個位元線選擇閘的複數條位元線,以及連接到複數個位元線選擇閘的頁緩衝器。NAND快閃記憶體還包括分別連接到複數條位元線的複數個載入裝置。複數個載入裝置係配置以在讀取作業期間提供負載電流。
在一實施例中,提供一種用於讀取包括連接到複數條位元線之單元的字串之NAND快閃記憶體的方法。複數條位元線分別連接到複數個位元線選擇閘和複數個載入裝置。複數個位元線選擇閘係連接到頁緩衝器,並且該方法包括將讀取電壓施加到選定的字元線以產生單元電流,並將來自載入裝置的負載電流施加至位元線,使得位元線電壓係基於各條位元線之單元電流和負載電流的比率生成。該方法還包括選擇性地作動位元線選擇閘,使得頁緩衝器感測各條位元線的位元線電壓以判定該位元線的資料。
在一實施例中,提供一種用於對記憶體陣列中之多層單元進行程式化的方法。記憶體陣列包括複數個平面,各個平面包括多條位元線。該方法包括在第一平面組(first group of planes)中儲存多個資料位元,每個平面有一個資料位元。多個資料位元係儲存在第一平面組的位元線電容中。該方法還包括根據儲存在第一平面組的位元線電容中的多個資料位元對選定的平面中之選定的多層單元進行程式化。該選定的平面不是該第一平面組中的一個。
在一實施例中,提供一種用於對在包括複數個集合(bank)的記憶體陣列中之多層單元進行程式化的方法,並且各個集合包括複數個多層單元。該方法包括使用單一層單元程式化將第一資料位元儲存在第一選定集合中,以及在第一重新程式化時間間隔期間使用多層單元程式化將第一選定的集合中的第一資料位元重新程式化到第二選定的集合中的多層單元。該方法還包括使用單層單元程式化在第一重新程式化時間間隔期間將第二資料位元儲存在第三選定的集合中。
在一實施例中,提供一種用於對多層單元進行程式化的方法。該方法包括使用SLC 程式化作業將資料程式化到SLC 字元線上的單層單元(SLC)、將斜坡資料施加至SLC字元線以判定選定的該斜坡資料與儲存在(SLC)單元中的資料匹配,以及程式化多層單元以具有與斜坡資料相關聯的電壓閾值位準。
在一實施例中,提供一種用於對具有多個記憶體晶片之裝置進行程式化的方法。記憶體晶片包括能夠儲存多層資料的單元。該方法包括使用SLC程式化作業將第一資料程式化至第一記憶體晶片中、使用SLC讀取作業從第一記憶體晶片讀取第一資料、使用多層單元程式化作業將第一資料重新程式化到選定的記憶體晶片中,以及在重新程式化的作業期間,使用SLC程式化作業將第二資料程式化到第二晶片中。
在一實施例中,一種裝置包括具有耦合到第一頁緩衝器之複數個第一單元字串的第一平面。各個第一單元字串包括複數個多層單元。該裝置還包括具有耦合至第二頁緩衝器之複數個第二單元字串的第二平面。每個第二單元字串包括複數個單層單元。該裝置還被配置為使得第一頁緩衝器係連接以與第二頁緩衝器通訊。
在一實施例中,提供一種用於對具有包括多層單元之複數個記憶體晶片的記憶體裝置進行程式化的方法。該方法包括在第一晶片中載入第一資料、使用單層單元(SLC)程式化模式將第一資料程式化到第一晶片的選定單元中,以及使用多層單元程式化模式將儲存在第一晶片之選定單元中的第一資料重新程式化至第一晶片的其他單元。該方法還包括對剩餘的晶片重複載入、程式化和重新程式化的作業。剩餘晶片的載入作業在第一晶片的載入作業完成時開始且以非重疊順序方式發生,對剩餘晶片的載入作業與第一晶片的程式化和重新程式化作業平行執行。
本發明的額外特徵和益處將從後文闡述的詳細描述、圖式和申請專利範圍中變得明顯可見。
在各種示例性實施例中,提供能夠與二維(2D)或三維(3D)NAND陣列一起使用的用於NAND快閃記憶體架構之設計和作業的方法和裝置。實施例亦能夠應用於單層單元(single-level cell;SLC)、複層單元(multi-level cell;MLC)、三層單元(triple-level cell;TLC)、四層單元(quad-level cell;QLC))或每一單元中任何數目的位元之技術。
所屬技術領域中具有通常知識者將理解到以下詳細描述僅是說明性的而不旨在以任何方式進行限制。受益於本揭示內容的這些具有通常知識者將容易地想到本發明的其他實施例。現在將詳細參考如圖式中所示的本發明之示例性實施例的實現方式。在整個圖式和以下詳細描述中將使用相同的元件符號(或數字)來指代相同或相似的部件。
圖1A顯示根據本發明實施例之NAND快閃記憶體架構100的示例性方塊圖。架構100包括2D或3D NAND快閃記憶體陣列101,其能夠使用多條字元線(WL[0-m])和位元線(BL[0-k])存取。架構100包括列解碼器102及頁緩衝器103。頁緩衝器103包含多個頁緩衝器,如圖2A及圖3A所示的頁緩衝器200。 2A和圖。頁緩衝器103執行用於程式化作業之程式緩衝器和用於讀取作業之感測放大器的功能。在習知NAND快閃記憶體中,各個頁緩衝器係連接到一位元線(one-bit line),稱為全位元線(all bit line;ABL)結構,或兩位元線(two-bit lines),稱為半位元線 (half bit line;HBL) 結構。在任一情況下,能夠一起程式化及讀取的位元線數目等於頁緩衝器的數目。此係指稱為「頁程式化(page-programming)」或「頁讀取(page-read)」。增加頁緩衝器的數目可增加資料讀取/寫入的通量,以提升記憶體效能。然而,頁緩衝器的尺寸是相當大的。它通常佔據晶元尺寸的20%到40%。因此,頁緩衝器的通常數目係在當今516GB至1TB產品中受限在16KB至64KB的範圍中,這限制了NAND快閃記憶體的寫入/讀取效能。
在示例性實施例中,架構100包括位元線選擇閘106區塊。位元線選擇閘106區塊包含多個位元線選擇閘,如圖2A及圖2B所示的選擇閘210。位元線選擇閘允許頁緩衝器耦合到多條位元線。藉由使用所揭示的新穎架構,可對多條位元線一起程式化和讀取。此係稱為「多頁程式化(multiple-page programming)」或「多頁讀取(multiple-page read)」。這能夠在不增加頁緩衝器數目的情況下顯著提高資料讀取/寫入的通量。
在一實施例中,資料暫存器104a至104d被提供並且也可以被稱為資料快取(cache)。雖然顯示四個資料暫存器,但是能夠有任何期望數目的資料暫存器。資料暫存器允許記憶體陣列101的作業與資料輸入/輸出(I/O)之間的平行性。在作業期間,當記憶體陣列101使用頁緩衝器103執行讀取或寫入作業時,新資料可載入到資料暫存器104a至104d或從資料暫存器輸出。這能夠提高記憶體的效能。在一實施例中,架構100包括連接到外部資料匯流排DQ[0-n]的輸入/輸出(I/O)緩衝器108。
圖1B顯示根據本發明實施例建構之NAND快閃記憶體架構107的另一實施例。在本實施例中,陣列被分成多個次陣列101a至101p。各個次陣列具有其本身的列解碼器102a至102p、位元線選擇閘106a至106p和頁緩衝器103a至103p。在一實施例中,各個次陣列具有與圖1A所示的記憶體陣列101相同數目的位元線,例如次陣列101a的BLa[0-k]和次陣列101p的BLp[0-k]。在一實施例中,頁緩衝器的總數與圖1A所示的實施例相同,以保持晶元尺寸相同。假設次陣列的數目為P,則各個次陣列101a至101p的頁緩衝器103a至103p的數目將減少為1/P。結果,連接到各個頁緩衝器的位元線的數目增加P倍。
圖1C顯示習知3D NAND快閃記憶體單元陣列101和頁緩衝器103的詳細實施例。記憶體陣列101包含位元線BL[0-K]。各條位元線係連接到頁緩衝器200a至200k中之一者。
圖1D顯示3D NAND記憶體陣列的習知結構的組構。3D記憶體單元陣列101係位於頁緩衝器103電路的頂部以節省矽面積。
圖1E顯示根據本發明之陣列結構的實施例。位元線BL[0-k]透過位元線選擇閘106連接到頁緩衝器103。因此,與習知架構相比,能夠減少頁緩衝器103的數目。例如,兩條位元線係連接到各個頁緩衝器,這減少了使用的頁緩衝器的數目。
圖1F顯示根據本發明之3D陣列結構的實施例。3D單元陣列係分成位於頁緩衝器103a到103d頂部的次陣列101a到101d。透過位元線選擇閘106a到106d存取次陣列101a到101d。各個次陣列係連接到一個頁緩衝器。
圖2A顯示根據本發明實施例的頁緩衝器和位元線選擇閘組構的實施例。位元線201a至201n是陣列或次陣列中的多條位元線BL[0]至BL[n]。位元線可包含NAND快閃記憶體單元的多字串,例如字串211a至211n。字串係可使用 2D 或 3D 陣列架構形成。位元線透過位元線選擇閘210連接到頁緩衝器200,位元線選擇閘210包括單獨的選擇閘202a到202n。位元線選擇閘202a至202n中的每一個可分別由選擇閘信號BSG[0]至BSG[n]選擇性地作動或停止作動。一個頁緩衝器連接的位元線的數目可以是任意數目,例如2、4、8、16等。一個頁緩衝器能夠連接的位元線數目沒有限制。
頁緩衝器200作用為程式緩衝器和感測放大器兩者。頁緩衝器200包含多個閂鎖207a至207n以儲存程式化資料。感測放大器208運作以從單元讀取資料。在程式化模式中,閂鎖207a至207n將程式化資料施加到位元線。在程式化驗證模式中,感測放大器208從單元讀取資料,並更新儲存在閂鎖207a至207n中的程式化資料。在讀取模式中,感測放大器208從單元讀取資料並將資料儲存在閂鎖207a至207b中,然後資料係可傳送到輸出緩衝器。
在習知系統中,於程式化期間,一個頁緩衝器一次只可向一條位元線提供一個資料值。在讀取和程式化驗證期間,一個頁緩衝器一次只可從一條位元線讀取資料。因此,程式化、驗證和讀取中的位元線總數係等於頁緩衝器的數目。例如,在一個習知系統中,各條位元線係連接到一個頁緩衝器。這稱為全位元線 (ABL) 架構。在另一習知設計中,兩條位元線與一個頁緩衝器共享。此架構稱為半位元線 (HBL) 架構。這種架構將頁緩衝器的數目減少了一半。然而,在讀取和寫入模式期間,只有一半的位元線係可連接到頁緩衝器,因此資料通量減少了1/2。
在各種示例性實施例中,揭示了一種新穎的架構以用一個頁緩衝器同時讀取和寫入多條位元線,因此可顯著增加資料通量。例如,在圖2A中,假設字元線WL[m]被選擇,單元204a到204n可被一個頁緩衝器200同時讀取和程式化。因此,可減少頁緩衝器的數目並且可增加讀取和寫入的資料通量。下文係提供對新穎的NAND快閃記憶體架構之設計和作業的更詳細描述。
還應當注意,單元204a到204n可屬於不同的頁。頁可由位元線選擇閘信號BSG[0]至BSG[n]來選擇。因此,該架構可提供多條位元線讀取及寫入作業,或多頁讀取及寫入作業。
在傳統的頁緩衝器設計中,頁緩衝器中閂鎖的數目係由儲存在一個單元中的位元數決定。例如,對於SLC設計,頁緩衝器可只有一個閂鎖來儲存 1 位元的資料。對於 MLC 設計,頁緩衝器可有兩個閂鎖來儲存 2 位元的資料。對於TLC 設計,頁緩衝器可有三個閂鎖來儲存 3 位元的資料。對於QLC 設計,頁緩衝器可有四個閂鎖來儲存 4 位元的資料。然而,根據本發明的實施例,可添加額外的閂鎖來進一步增強多頁讀取和寫入作業的優點。
圖2B顯示根據本發明實施例的頁緩衝器組構的另一個實施例。如圖2B所示,該陣列可具有多層位元線選擇閘,例如位元線選擇閘202a至202n和205a至205k。在這種情況下,位元線選擇閘202a至202n為連接到控制信號BSGA[0]至BSGA[n]的第一層位元線選擇閘。位元線選擇閘205a至205k為連接至控制信號BSGB[0]至BSGB[k]的第二層位元線選擇閘。與圖2A所示的實施例相比,本實施例減少了控制信號的數目。例如,假設16條位元線共享一個頁緩衝器,圖2A中的實施例使用16個控制信號,而圖2B中的實施例使用8個控制信號(例如,4 個用於第一層,4 個用於第二層)。在各種實施例中,對能夠使用的位元線選擇閘的層數沒有限制。例如,陣列可具有2、3、4等層的位元線選擇閘。在一實施例中,位元線選擇閘可使用任何合適的裝置來實現。它們不僅限於N型金屬氧化半導體(N-type metal oxide semiconductor;NMOS)裝置。
圖2C至E繪示根據本發明的位元線選擇閘的實施例。
圖2C顯示說明位元線選擇閘202a至202n可如何由原生裝置或耗盡式裝置實現以增加位元線預充電電壓及電流的電路。
圖2D顯示說明位元線選擇閘202a到202n可如何由P型金屬氧化半導體(P-type metal oxide semiconductor;PMOS)裝置實現的電路。
圖2E顯示說明位元線選擇閘202a至202n可如何由PMOS-NMOS對予以實現的電路。此外,位元線選擇閘可由高壓(high voltage;HV)裝置或低壓(low voltage;LV)裝置實現。這些修改和變化在實施例的範圍內。
圖3A顯示頁緩衝器200電路的實施例。頁緩衝器200電路係組構成程式緩衝器和感測放大器。程式緩衝器包括三個閂鎖207a至207c。如圖所示,閂鎖207a 至 207c 將資料儲存在節點Q0、Q1 和 Q2中。閂鎖207a至207c的資料能夠藉由開啟設定裝置311a至311c而設為0(0V),並藉由開啟重置裝置312a至312c而重置為1(VDD)。還顯示閂鎖通道閘220a至220d。在程式化模式期間,首先將3位元的資料D0、D1和D2載入三個閂鎖207a至207c中。信號P0至P3選擇並開啟通道閘220a至220d中的一者,以將閂鎖207a至207c的資料根據程式化Vt位準傳輸至選定的位元線來程式化選定的單元。還顯示感測放大器208。
在讀取模式期間,資料可由感測放大器208從單元中讀取,然後鎖存在三個閂鎖207a至207c中。感測放大器的感測節點302由(SA)表示。感測節點302係連接到感測裝置310的閘。感測放大器208包括預充電裝置303和放電裝置304。在位元線預充電期間,預充電裝置303係開啟以將SA節點302和位元線預充電至VDD。在讀取模式期間,信號PREB施加有VDD以關閉預充電裝置303,或施加參考電壓Vref以限制預充電裝置303的上拉電流。上拉電流被設計成低於導通單元電流,因此導通單元能夠將位元線放電來拉低SA節點302。
在導通單元將位元線電壓放電至感測裝置310的Vt以下後,據此讀取D0至D2位元,對S0至S2的選定信號係施加有脈衝以開啟設定裝置311a至311c 來設定閂鎖 207a至207c。閂鎖207a至207c預先重置到資料1(VDD)。對於導通單元,位元線和SA節點302被放電到感測裝置310的Vt以下,此關閉感測裝置310,因此閂鎖的資料保持在1(VDD)。對於關斷單元,因為SA節點302保持在VDD,這開啟感測裝置310並允許閂鎖被設置為資料0(VDD)。
感測放大器208之作業的更詳細的作業將在後文參考圖6A至圖6C進行描述。
應當注意,圖3A所示的示例性電路不具有偏壓裝置。然而,圖3B繪示包括偏壓裝置306的替代電路。偏壓裝置306係作為級聯階段(cascade stage)來控制位元線的預充電電壓。在圖3A所示的實施例中,偏壓裝置的功能由位元線選擇閘來執行,這由圖7D及圖20A至圖20B所示的讀取作業波形說明。
在另一實施例中,圖3A所示的頁緩衝器電路能夠被修改為如圖3D所示包括偏壓裝置306。在圖3D所示的實施例中,BIAS信號向偏壓裝置306施加偏壓電壓以控制位元線預充電電壓。因此,可以向位元線選擇閘的信號提供VDD位準。
圖3B顯示頁緩衝器200電路的另一實施例。圖3B所示的頁緩衝器200係用於電流感測,而圖3A所示的實施例用於電壓感測。在該實施例中,例如比較器305的增益階段係添加到感測放大器208以放大感測節點302的電壓。在另一實施例中,比較器305由反相器代替。此外,還可增加偏壓裝置306成為級聯階段。偏壓裝置306將位元線的預充電電壓限制為(BIAS-Vt)而不是VDD,因此減少了預充電時間。
圖3C顯示使用單一資料閂鎖用於SLC應用的頁緩衝器200電路的另一實施例。頁緩衝器200電路係組構成程式緩衝器和感測放大器兩者。程式緩衝器包括資料閂鎖207。還顯示閂鎖通道閘220。在程式化模式期間,信號PGM開啟通道閘220以將閂鎖207的資料傳遞至選定的位元線以程式化選定的單元。還顯示感測放大器208。在讀取模式期間,資料可由感測放大器208從單元中讀取,然後鎖存在資料閂鎖207中。感測放大器的感測節點302由(SA)表示。感測放大器208包括預充電裝置303。在讀取和程式化驗證模式期間,信號PREB開啟預充電裝置303以將SA節點充電至VDD,並且還透過偏壓裝置306對選定的位元線充電。信號BIAS被施加到偏壓裝置306以控制選定的位元線的預充電電壓。位元線將被預充電至BIAS-Vt,其中Vt是偏壓裝置306的閾值電壓。在位元線被預充電之後,藉由向選定的字元線施加讀取電壓來讀取選定的單元。若選定的單元是導通單元,它會將位元線電壓放電。當位元線電壓係放電至低於BIAS-Vt時,偏壓裝置306將被開啟並將SA節點下拉至與位元線相同的電壓。當位元線電壓放電至感測裝置310的Vt以下時,感測裝置310係關閉。若該單元是關斷單元,則位元線將保持在預充電電壓而SA 節點將保持在VDD。SA節點電壓將開啟感測裝置310。設定裝置311和重置裝置312用於設置和重置閂鎖207的節點Q和QB。當感測裝置310係開啟時,信號SET或RES能夠被提供VDD位準脈衝以開啟設定裝置311或重置裝置312來將閂鎖207的節點Q分別設定為資料0(0V)或資料1(VDD) 。
圖4A至圖4D顯示根據本發明的頁緩衝器和位元線選擇閘的作業。
圖4A顯示使用TLC頁緩衝器200的示例性實施例。TLC頁緩衝器200包括三個資料閂鎖207a至207c和感測放大器208。對於使用MLC和QLC的實施例,頁緩衝器可分別包含兩個和四個資料閂鎖。頁緩衝器200係透過位元線選擇閘202a至202c連接至多條位元線201a至201c。位元線電容206a至206c分別表示位元線201a至201c的位元線電容。
圖4B繪示基本的TLC程式化作業。TLC 程式化作業將三位元資料程式化到一個選定的單元中。TLC 程式化可以包含多個程式化步驟以將單元從清除的 Vt程式化為八個 Vt 位準以表示三位元的資料。假設選定單元204a。在每個程式化步驟中,可選擇資料閂鎖207a到207c中之一者來將資料載入選定的位元線201a以程式化單元204a,這取決於哪個Vt位準被程式化。例如,當對位元D0進行程式化時,將儲存在閂鎖0 207a中的資料載入選定的位元線201a以對選定的單元204a進行程式化。當對位元D1進行程式化時,可將儲存在閂鎖1 207b中的資料載入選定的位元線201a以對選定的單元204a進行程式化。當對D2位元進行程式化時,可將儲存在閂鎖2 207c中的資料載入選定的定的位元線201a以對選定的單元204a等進行程式化。在此作業中,被程式化的單元數目等於頁緩衝器的數目。因此,它被稱為「單頁程式化」。
圖4C顯示根據本發明的多頁程式化作業。在一實施例中,儲存在閂鎖207a到207c中的資料被同時程式化到多條位元線201a至201c上的多個單元204a至204c。若頁緩衝器有 N 個資料閂鎖,它可同時對 N 個單元進行程式化。這顯著提高程式化資料的通量達N倍。
為載入多頁資料,位元線選擇閘202a至202c可依序開啟以將資料從閂鎖207a至207c分別載入位元線201a至201c,如箭頭線所示。在資料載入位元線201a至201c後,位元線選擇閘202a至202c係關閉,接著資料由位元線電容206a至206c保持。之後,將程式化條件施加到選定的字元線WL[m],以根據儲存在位元線電容206a至206c中的資料對選定的單元204a至204c進行程式化。藉由使用這些作業,可同時對多條位元線的資料進行程式化。
在示例性實施例中,頁緩衝器執行兩種程式化功能模式。一種是TLC程式化,另一種是SLC程式化。當頁緩衝器進行TLC程式化時,資料閂鎖207a至207c係用於為一個單元儲存三位元資料D0、D1和D2,並將三個資料位元程式化到單一單元中。在SLC程式化中,三個資料閂鎖可用來儲存三個單一位元資料,然後將這些資料程式化到三個單元中。這被稱為「多頁程式化」。
藉由使用上述多頁SLC程式化,可顯著增加資料通量。因此,該模式可用於將資料以高速程式化到單元中。稍後在閒置時間,可從SLC單元讀取資料並使用TLC模式重新程式化到其他單元,然後可清除SLC單元以增加記憶體的儲存容量。
所揭示的多頁程式化作業不僅可應用於SLC,還可以應用於如MLC、TLC、QLC等多層單元。 例如,參照圖4C,假設使用TLC模式將三頁的資料程式化到選定的單元204a至204c中。各個單元可儲存八個 Vt 位準中之一者以表示三個資料位元 D0、D1 和 D2。在第一步驟中,第一頁的資料被載入資料閂鎖 207a 到 207c 中。然後,使用先前描述的作業方式將資料依序載入位元線201a至201c,然後將程式化條件施加到單元204a至204c以根據位元線資料對各個單元進行程式化。這些單元將被程式化為對應於D0 位元的 Vt 位準。可執行程式化驗證作業來檢查單元的 Vt。程式化驗證作業將在後面參考圖6A至圖6C進行描述。在資料被成功程式化之後,閂鎖207a至207c中的資料可被清除。
在第二步驟中,第二頁的資料被載入三個閂鎖207a到207c中,然後依序載入至位元線201a至201c以將單元204a至204c程式化到對應於D1位元的Vt位準。在第二頁的資料被成功程式化後,閂鎖207a至207c中的資料可被清除。在第三步驟中,第三頁的資料被載入閂鎖207a到207c中,然後施加至位元線201a至201c以將單元204a至204c程式化到對應於D2位元的Vt位準。藉由重複該順序,可將單元程式化到任意數目的多層單元,例如 MLC、TLC、QLC 等。
圖4D顯示根據本發明的另一示例性程式化實施例。假設晶片具有多個資料暫存器212a至212c。各個資料暫存器都包含多位元閂鎖,例如資料暫存器的Reg 0至Reg 2。在SLC程式化模式期間,第一資料暫存器212a的資料被載入閂鎖207a至207c,然後載入位元線201a到201c以分別對單元204a到204c進行程式化。在資料被成功程式化之後,下一個暫存器212b的資料可被載入閂鎖207a至207c,然後被載入位元線201a到201c以分別程式化另一頁,例如單元214a至214b。這樣,可同時對多頁的資料進行程式化,以提高程式化資料的通量。
對於TLC程式化模式,儲存在第一資料暫存器212a中的資料可被傳送到閂鎖207a至207c ,然後被程式化到對應於選定的單元204a至204c的D0位元的Vt位準。然後,儲存在第二資料暫存器212b中的資料可被傳送到閂鎖207a至207c ,然後被程式化到對應於選定的單元204a到204c的D1位元的Vt位準。可重複該作業以將第三資料暫存器212c的資料程式化到選定的單元204a至204c的D2位元。
在一個實施例中,資料暫存器212a至212c中的資料可以任何合適的順序被程式化到單元。例如,在另一實施例中,在第一步驟中,資料暫存器212a至212c的Reg 0中儲存的資料可依序傳輸至資料閂鎖207a,然後載入位元線201a至201c,然後程式化為單元204a至204c之D0位元的Vt位準。第二步驟中,可將資料暫存器212a至212c的Reg 1中儲存的資料依序傳輸到資料閂鎖207b,然後載入位元線201a至201c,再對在單元204a到204c中的D1位元程式化為Vt位準。第三步驟中,可將資料暫存器212a至212c的Reg2中儲存的資料依序傳輸到資料閂鎖207c,然後載入位元線201a至201c ,然後對在單元204a至204c中的D2位元程式化為Vt位準。
圖5A顯示如圖4C所示之電路的多頁程式化示例性波形。現在參考圖 4C和圖5A兩者,在時間T1, BSG[0]到BSG[2]可變高以開啟位元線選擇閘202a至202c 。假設頁緩衝器的輸出資料稱為PB。頁緩衝器(PB)可將VDD施加到所有位元線BL[0]到BL[2]。選定的單元字串的汲極選擇閘 (drain select gate;DSG) 供應有 VDD。源極選擇閘 (source select gate;SSG) 供應有 0V。因此,字串STRG[ 0]至STRG[2]的通道區域可被充電至汲極選擇閘的VDD-Vt。
在時間T2,選定的字元線WL[m]和其他未選定的字元線分別被提供程式化電壓,例如20V,和抑制電壓,例如10V。字元線的電壓可將所有字串STRG[ 0]至STRG[2]的通道區域耦合到大約8V的電壓。該電壓可抑制單元的程式化。由於位元線被供應VDD,汲極選擇閘被反向偏置。因此,汲極選擇閘將被關閉以防止通道電壓洩漏到位元線。
在時間T3,位元線選擇閘(BSG[ 0]至BSG[2])關閉。位元線電容,如圖4C所示之位元線電容206a至206c,將位元線的電壓保持在VDD。
在時間T4,第一位元線選擇閘(BSG[0])開啟,頁緩衝器(PB)將第一資料施加到第一位元線BL[0]。如果資料為'1'(VDD),字串STRG[ 0]的通道將保持在抑制電壓,例如8V。如果資料為“0”(0V),它將打開汲極選擇閘並將字串STRG[0]放電至 0V。這將導致第一選定的單元204a被程式化。在第一位元線選擇閘(BSG[0])在T5時間被關閉之後,由於位元線電容206a,位元線BL[0]和字串STRG[0]可保持在0V 。
可重複上述步驟以依序開啟位元線選擇閘BSG[ 1]至BSG[2]以將資料從頁緩衝器(PB)載入位元線BL[1]及BL[2]及其字串STRG [1] 和 STRG[2]。
在載入所有資料之後,在時間 T6,定時器可在從10us 到30us 的時間間隔內開始對程式化脈衝 Tpgm 進行計數。然後,程式化脈衝結束。通過使用上述程序,多條位元線可同時被載入不同的資料並程式化。
應該注意的是,圖5A的波形係用於說明而非按比例繪製。實際上,總程式化時間取決於程式化脈衝Tpgm。資料載入時間可忽略不計。因此,多頁程式化可顯著減少總程式化時間並增加程式化資料通量。
圖5B顯示根據本發明的用於多頁程式化之波形的另一實施例。這些波形類似於圖5A所示的波形,除了位元線選擇閘(BSG[0]至BSG[2])可在時間T1將位元線預充電到VDD之後關閉(如箭頭506處所說明)之外。因此,位元線的電壓由位元線電容保持。
圖5C顯示根據本發明的用於多頁程式化之波形的另一實施例。這些波形類似於圖5A,除了在時間T6將資料載入多位元線(如箭頭508所示)之後可關閉選定的字串的汲極選擇閘(DSG)之外。這樣,如果浮動位元線有洩漏,需要將位元線電壓從VDD降到低於汲極選擇閘的Vt,使汲極選擇閘導通。因此,這種方法為字串的抑制電壓提供了更高的故障裕度。
圖5D顯示用於多頁程式化之波形的另一實施例,其中圖5C顯示的作業係應用於圖5B顯示的波形以產生如圖5D所示的波形。在一個實施例中,在T1時間對字串進行預充電(如箭頭510所示)之後,選定的字串的汲極選擇閘(DSG)被關閉。 DSG可在時間T3開啟(如箭頭512所示)以將多頁的資料載入字串中,然後在時間T6關閉(如箭頭514所示)以增加浮動位元線的洩漏裕度。
圖5E顯示根據本發明用於多頁程式化之波形的另一實施例。在時間T1,選定的汲極選擇閘(DSG)導通,而源極選擇閘(SSG)關閉。從時間T1至時間T2,頁緩衝器(PB)提供多頁資料,資料0、資料1和資料2。位元線選擇閘BSG[0]到BSG[2]依序打開載入資料進入位元線BL[0] 到 BL[2]和字串STRG[0] 到 STRG[2]。在時間T3,選定的字元線和未選定的字元線分別被提供程式化電壓20V和抑制電壓10V。字元線的電壓會將資料值為'1'的字串STRG[0]到STRG[2]的通道區域耦合到大約8V的電壓,以抑制單元的程式化。對於儲存資料值'0'(0V)的字串,汲極選擇閘導通,因此會導致字串的電容和位元線電容之間的電荷共享。由於位元線電容遠高於字串的電容,因此字串的電壓非常接近0V。這將導致選定的單元被程式化。
在一個實施例中,圖2A所示的電路允許通過使用頁緩衝器200同時對多頁單元進行程式化驗證和讀取。
圖6A至圖6C顯示根據本發明實施例的多頁讀取作業。在一個實施例中,多頁讀取作業包括三個步驟。這三個步驟是位元線預充電、位元線放電和感測。
圖6A顯示執行預充電位元線步驟的示例性電路。在作業期間,所有的位元線選擇閘202a至202c被開啟,並且如圖3A所示的感測放大器208中的諸如預充電裝置303被開啟,以將位元線電容206a至206c預充電至預充電電壓,例如VDD 或Vbias-Vt,例如,如虛線所示。
圖6B顯示執行放電位元線步驟的示例性電路。在作業期間,位元線選擇閘201a至202c被關閉。將讀取偏壓條件應用於選定的單元204a至204c。選定的字元線,例如字元線WL[m],被提供讀取電壓以根據單元的Vt開啟或關斷單元204a至204c 。導通單元會將位元線同時放電。假設單元204a和204b分別是導通單元和關斷單元。導通單元204a將位元線電容206a放電至0V。關斷單元204b不會使位元線放電,因此位元線電容206b將保持在預充電電壓。由於導通單元上的電流非常低(例如,只有大約1uA),並且位元線電容由於其連接到許多字串而很高,所以這個位元線放電步驟可能需要大約25us到35us。因此,讀取時間受位元線放電時間支配。因此,通過使用根據本發明的多條位元線放電,減少了總讀取時間並且顯著增加了讀取資料通量。
圖6C顯示執行感測步驟的示例性電路。在此步驟中,位元線選擇閘202a至202c依序開啟,以讓位元線電容206a至206c所儲存的資料被頁緩衝器的感測放大器208感測出,如虛線所示。當位元線選擇閘導通時,將導致位元線電容與頁緩衝器電路的感測節點302之間電荷共享,如圖3A所示。由於感測節點302的電容遠低於位元線電容,因此感測節點302會在很短的時間內被拉高或拉低。因此,可在很短的時間內讀取每條位元線的資料。
在資料閂鎖207a至207c中儲存資料之後,可將資料傳輸到資料暫存器,然後資料暫存器可開始輸出資料。同時,頁緩衝器可開始從單元讀取下一頁的資料。如果晶片沒有資料暫存器,資料可直接從頁緩衝器的資料閂鎖輸出,然後頁緩衝器可開始從單元讀取下一頁的資料。
在一個實施例中,圖 6A至圖6C所示的作業也可用於多頁程式化驗證。程式化驗證作業與讀取作業非常相似。唯一的區別是字元線電壓和資料閂鎖的作業。在讀取模式下,從單元讀取的資料直接儲存在資料閂鎖中。在程式化驗證模式下,從單元讀取的資料用於更新資料閂鎖中的資料。
參考圖6B,對於程式化驗證條件,可向選定的字元線提供程式化驗證電壓而不是讀取電壓,以便檢查單元的Vt 。在圖6C中,在感測放大器208讀取單元的資料之後,該資料將用於為下一個程式化脈衝更新儲存在閂鎖207a至207c中的資料。更新閂鎖的邏輯作業是眾所周知的,因此不再描述於本文中。
圖6D顯示根據本發明的頁緩衝器、位元線選擇閘及資料暫存器的示例性實施例。在一個實施例中,頁緩衝器200和位元線選擇閘202根據本發明增加程式化及讀取資料的通量。在本實施例中,晶片包含多個資料暫存器212a至212n。還顯示NAND快閃記憶體單元字串211a到211f、包括感測放大器208和多個資料閂鎖207a到207c的頁緩衝器200,以及位元線選擇閘202a到202f。在作業過程中,第一資料暫存器212a的資料被傳送到資料閂鎖207a到207c,然後透過位元線選擇閘202a到202c載入位元線201a至201c以程式化第一組字串215a,以及第二資料暫存器212n的資料被傳送到資料閂鎖207a至207c,然後通過位元線選擇閘202d到202f載入位元線201d到201f以程式化第二組字串215b。
在讀取作業期間,讀取第一組字串215a的資料並將其儲存在位元線201a至201c的電容中。感測放大器208透過位元線選擇閘202a至202c感測出資料,並鎖存在資料閂鎖207a至207c中。然後,資料閂鎖207a至207c的資料被傳送到第一資料暫存器212a 。類似地,第二組字串215b的資料被讀取並傳送到第二資料暫存器212n。然後,資料可從資料暫存器212a至212n輸出到I/O電路。
圖6E顯示根據本發明的頁緩衝器及位元線選擇閘的示例性實施例。頁緩衝器200及位元線選擇閘202係操作以根據本發明增加程式化和讀取資料通量。該實施例類似於圖6D所示的實施例,除了資料暫存器212a至212n被去除之外。頁緩衝器200包括多個資料閂鎖207a至207c。資料閂鎖207a到207c直接連接到I/O(輸入/輸出)匯流排600。在程序運行期間,資料從I/O匯流排600順序載入資料閂鎖207a到207c,然後載入位元線 201a 到 201o 和字串組 215a 到 215m。在讀取作業期間,字串組215a至215m的資料從位元線201a至201o讀取並依序載入資料閂鎖207a至207c,然後輸出至I/O匯流排600。
圖6F顯示根據本發明的單層單元(SLC)頁緩衝器和位元線選擇閘的示例性實施例。頁緩衝器200和位元線選擇閘202根據本發明運作以增加程式化和讀取資料通量。該實施例類似於圖6A所示的實施例,除了頁緩衝器200具有用於SLC應用的單一資料閂鎖207之外。頁緩衝器200通過位元線選擇閘202a至202n連接到多條位元線201a至201n 。在程式化作業期間,位元線選擇閘202a至202n可由信號BSG[0]至BSG[n]依序開啟,以分別從頁緩衝器200載入程式化資料至位元線201a至201n 。資料儲存在位元線電容206a至206n中,並分別被程式化至選定的單元204a至204n 。因為能夠使用一個程式化脈衝同時對多個單元204a至204n進行程式化,所以該實施例顯著增加了程式化通量。
在讀取作業期間,可讀取單元204a至204n的資料並將其儲存在位元線電容206a至206n中。頁緩衝器的感測放大器208能夠依序打開位元線選擇閘202a至202n以分別感測位元線電容206a至206n的資料。因為能夠使用一個位元線放電週期來同時讀取多個單元204a至204n ,所以該實施例顯著增加了讀取通量。
圖7A顯示根據本發明顯示於圖6A至圖6C之實施例的讀取作業波形的實施例。頁緩衝器200的詳細電路如圖3A所示。在時間 T1,向選定的字元線提供讀取電壓 Vread 以讀取選定的單元,並且向未選定的字元線提供通過電壓 Vpass,其高於 NAND 單元字串中未選定之單元的 Vt,以打開未選擇的單元。汲極選擇閘(DSG)和源極選擇閘(SSG)被打開。源極線(SL) 被提供 0V。這些條件打開導通單元(on-cells)並關閉關斷單元(off-cells)。
在時間T2,位元線選擇閘BSG[0]至BSG[2]導通,且預充電信號PREB(如圖3A中的頁緩衝電路所示)被激活以將位元線BL[0]至BL[2]預充電至(位元線選擇閘的)VDD-Vt或預定電壓。
在時間T3,位元線選擇閘(BSG[0]至BSG[2])關閉。位元線BL[0]至BL[2]將變為浮動且選定的單元將開始將位元線放電。對於導通單元而言,單元將傳導電流以將單元字串和位元線放電至0V。對於關斷單元而言,由於單元關閉,位元線將保持在預充電電壓。
因為導通單元電流很低,可能只有1uA到5uA,而位元線電容很大,可能需要很長時間才能將位元線放電。位元線放電的時間在大約25us到35us的範圍內。結果,位元線的放電時間Tdis可能支配整個讀取時間。然而,根據本發明,所有位元線BL[0]至BL[2]同時放電,因此總讀取時間將顯著減少。
在預定的放電時間Tdis之後,在時間T4,可導通第一位元線選擇閘(BSG[0])。這導致在感測節點(SA)和位元線BL[0]之間發生電荷共享。由於位元線BL[0]的電容遠高於感測放大器的感測節點(SA),因此感測節點(SA)可在很短的時間內充電至幾乎接近 VDD 或放電至幾乎接近 0V。然後,激活第一設定信號S0以將資料鎖存到頁緩衝器的第一資料閂鎖。資料被鎖存後,控制信號BSG[0] 可被關閉以將位元線BL[0]與感測節點(SA)隔離。
參考圖3A所示的頁緩衝器電路,閂鎖207a至207c係在讀取作業開始時被重置為資料1。在時間T4,設定信號S0開啟設置裝置311a 。如果感測節點(SA)電壓接近VDD,它將開啟感測裝置310並允許信號S0將閂鎖207a設置為資料0(關斷單元)。如果感測節點(SA)電壓接近0V,它將關閉感測裝置310 ,因此設定信號S0不會設定閂鎖207a並且閂鎖207a保持在資料1(導通單元)。
在時間T5,預充電信號PREB被激活以將感測節點(SA)預充電至VDD。然後,第二位元線選擇閘BSG[1]導通以讀取第二位元線BL[1]的資料。重複時間T4至時間T5的步驟,從位元線BL[1]和BL[2]中讀取資料,並分別使用設定信號S1和S2將資料鎖存到資料閂鎖207b和207c中。
如果晶片沒有資料暫存器,資料被鎖存到頁緩衝器後,資料可直接從頁緩衝器輸出。如果晶片具有資料暫存器(如圖4D中的資料暫存器212a至212c),資料可從頁緩衝器傳送到資料暫存器。因此,資料暫存器可在頁緩衝器讀取下一位元線的資料的同時將資料輸出到I/O緩衝器。
在本實施例中,可僅使用一個頁緩衝器電路來讀取多條位元線。由於位元線BL[0]至BL[2]同時放電,因此總讀取時間和讀取資料通量增加了三倍。
如圖7A所示的波形係用於讀取一個Vt位準。對於MLC、TLC、QLC等多層單元,波形可以不同的選定字元線電壓重複多次以讀取選定單元的多個位元。
如圖7A所示的波形顯示了本實施例的基本概念。可根據許多設計考慮或需求修改波形。例如,在另一個實施例中,可在時間T3之後而不是在時間T1施加字元線電壓。這些修改和變化應維持在本實施例的範圍內。
在另一實施例中,再次參考圖7A ,在時間T2,信號BSG[0]至BSG[2]被提供有偏置電壓Vbias,以限制位元線的預充電電壓。位元線BL[0:2]將被預充電至位元線選擇閘的Vbias-Vt。因為位元線被預充電到較低的電壓,所以這減少了位元線放電時間Tdis。在示例性實施例中,偏置電壓Vbias可略高於圖3A中所示的感測裝置310的Vt 。該條件減少了導通單元將位元線電壓放電至感測裝置310的Vt以下的時間。對於關斷單元而言,由於位元線預充電電壓高於感測裝置310的Vt,因此感測裝置將開啟以允許信號S0設定閂鎖207a 。
在另一個使用圖3D所示的頁緩衝器電路的示例性實施例中,位元線的預充電電壓可被偏壓裝置306限制。在預充電期間,信號BIAS被提供有偏置電壓Vbias,以對位元線BL[0]至BL[2]預充電至偏壓裝置306的Vbias-Vt。位元線選擇閘信號BSG[0]至BSG[0]被提供有VDD位準。這減少了位元線放電時間Tdis。在示例性實施例中,偏置電壓Vbias可略高於Vt1+Vt2,其中Vt1和Vt2分別是偏壓裝置306和感測裝置310的閾值電壓。這樣,位元線被預充電到略高於感測裝置310的Vt ,從而減少位元線放電時間。
圖7B顯示根據本發明的讀取作業波形的另一實施例。該實施例類似於圖7A所示的實施例。與圖7A不同的是,在時間T1,源極線(SL)被提供正電壓,例如VDD。
在時間T2,放電信號(DIS)(如圖3A中的頁緩衝器電路所示)被激活以將感測節點(SA)和位元線BL[0]至BL[2]放電至0V。
在時間T3,位元線選擇閘(BSG[0]~BSG[2])關閉,因而位元線BL[0]~BL[n]變成浮動。導通單元可開始對位元線充電。位元線可充電到(導通單元的)Vread–Vt。
在時間T4,激活預充電信號PREB以將感測節點(SA)預充電至VDD。然後,導通位元線選擇閘(BSG[0])。位元線選擇閘信號BSG[0]的電壓可不高於(位元線選擇閘的) 位元線電壓+Vt。因此,對於導通單元,位元線選擇閘將被關閉。感測節點 (SA) 將保持在 VDD。對於關斷單元,由於位元線(BL)保持在0V,位元線選擇閘將被打開。由於位元線和感測節點之間的電荷共享,感測節點(SA)將放電至幾乎 0V。然後,激活鎖存信號LAT以將感測節點的資料鎖存在頁緩衝器中。然後,可重複從時間T4到時間T5的步驟以從下一條位元線讀取資料。
圖7C顯示根據本發明之讀取作業波形的另一實施例。該實施例使用電流感測作業。例如,圖3B所示的頁緩衝器電路可用以執行電流感測。如圖7C所示的作業類似於圖7A所示者,除了在時間T1,預充電信號PREB被激活以對感測節點(SA)和位元線BL[0]至BL[2]進行預充電之外。信號BIAS電壓被施加到圖3B所示的偏壓裝置306以將位元線預充電電壓限制為(偏壓裝置的)Vbias-Vt。時間 T3 和 T4 之間的位元線放電時間要短得多,因為電流感測不需要位元線電壓放電到接近0V。它只需要將位元線電壓放電到低於Vbias – Vt 就可開啟偏壓裝置。在時間T4,預充電信號PREB被提供有參考電壓Vref,以限制圖3B所示的預充電裝置303的上拉電流。上拉電流低於導通單元的電流。因此,對於導通單元而言,感測節點(SA)可放電到與導通單元的電壓相同的位元線電壓。對於關斷單元而言,感測節點 (SA)保持在 VDD。結果,比較器305的增益階段將SA(感測放大器)的電壓放大至全VDD和0V。然後,執行如圖7A中描述的作業。
圖7D顯示根據本發明的利用電流感測的讀取作業波形的另一實施例。該實施例類似於圖7C所示的實施例,除了圖3B所示偏壓裝置306被移除之外。因此,偏壓裝置的功能由位元線選擇閘202a至202n執行。在預充電和感測期間,位元線選擇閘(BSG[0]到BSG[n])被供應有偏置電壓Vbias,如圖7D所示。
圖8A顯示程式化和程式化驗證脈衝的實施例。如圖8A所示,字元線(WL)經歷程式化脈衝801和程式化驗證脈衝802 。字元線相應地在這些時間期間被提供有程式化電壓和驗證電壓。對於程式化脈衝801 ,多頁的資料被依序載入(如位置803所示),然後被同時程式化(如位置804所示)。對於校驗脈衝802 ,多頁的位元線同時放電(如位置805所示),然後依序感測位元線的資料(如位置806所示)。
圖8B顯示讀取作業的實施例。如圖8B所示,同時將多頁的位元線放電(如位置807所示),然後依序感測位元線的資料(如位置808所示)。
圖8C顯示MLC讀取或程式化驗證作業的實施例。如圖8C所示,字元線被供給多層電壓809a至809c 。對於每一層,多條位元線同時放電,如位置801a至801c處所示,並依序感測,如位置811a至811c所示。
圖9A顯示傳統NAND快閃記憶體陣列架構。如圖9A所示,使用M條字元線和N條位元線存取陣列901。提供頁緩衝器902 ,其包含與位元線的數目相同數目的緩衝器。
圖9B顯示根據本發明的陣列架構的實施例。如圖9B所示,陣列被分成兩個次陣列901a和901b 。使用M/2條字元線和N條位元線存取每個次陣列。每個次陣列透過2對1位元線選擇閘903a和903b連接到頁緩衝器902a和902b之一。因此,頁緩衝器902a和902b的數目每個可為N/2。結果,頁緩衝器的總數為N,這與圖9A中所示的陣列相同 。因此,圖9A和圖9B中所示陣列架構的矽區域是相似的。然而,如上所述,與圖9B所示的陣列相比,圖9A中的陣列架構可使讀取資料通量加倍。此外,圖9B所示的陣列架構的位元線長度是圖9A所示陣列的BL(位元線)長度的1/2 。因此,它的BL(位元線)電容一樣是1/2。因此,BL(位元線)放電時間可減少到1/2。由於BL(位元線)放電時間支配總讀取時間,因此總讀取時間可減少約1/2。請注意,這種讀取時間的減少可有利於隨機讀取和順序讀取作業。此外,次陣列901a和901b可被獨立地讀取和程式化。這導致二平面(2-plane)作業。
圖9C顯示使用4個次陣列901a到901d的陣列架構的另一實施例。每個次陣列使用N/4個頁緩衝器,例如頁緩衝器902a至902d 。位元線通過諸如位元線選擇閘903a至903d的4對1位元線選擇閘連接至頁緩衝器。結果,頁緩衝器總數與圖9A中所示的陣列相同。因此,該陣列架構的矽區域類似於圖9A中所示的陣列。然而,根據本發明,該陣列與圖9A的陣列相比具有4倍的讀取資料通量。此外,對於這種陣列架構,位元線長度變為1/4,其位元線電容以及位元線放電時間也變為1/4。結果,讀取等待時間(latency)也變成了1/4。此外,4個次陣列901a至901d可獨立讀取和程式化,從而產生四平面(4-plane)作業。
在各種示例性實施例中,陣列被分成任意數目的次陣列。次陣列越多,可獲得的讀取等待時間越短,資料通量越高。
圖9D假設陣列被分成K個次陣列。讀取等待時間變為1/K,資料通量變為陣列的 K 倍,如圖9A所示。例如,典型的SLC NAND 快閃記憶體讀取等待時間約為 25us,資料通量約為 640MB/s。假設陣列被分成32個次陣列,讀取等待時間可能會降低到25us/32 = 0.8us,資料通量可能會增加到640 MB/s
Figure 02_image001
32 = 20.5 GB/s,而晶元尺寸保持在大約是相同的。當使用低 I/O 引腳數(例如 8 或 16個)時,這種高資料通量可能會使 I/O 速度達到飽和。因此,它可能最適合用於具有高 I/O 引腳數的產品,例如混成記憶體方     塊(Hybrid Memory Cube;HMC) 和高頻寬記憶體 (High Bandwidth Memory;HBM) 等。
圖10A至圖10E顯示3D陣列架構的實施例。
圖10A顯示具有3D陣列1001的陣列架構,其包含多個字元線(WL)層和沿Y方向延伸的位元線。頁緩衝器電路1002位於3D陣列1001下方。這種配置可減小晶元尺寸並且還允許集成更多頁緩衝器。頁緩衝器可透過位元線觸點1003連接到位元線。
圖10B顯示包含4個次陣列1001a至1001d的3D陣列架構的實施例。頁緩衝器可被分成4組頁緩衝器1002a至1002d 。如圖所示,各個頁緩衝器組可透過位元線觸點1003a至1003d連接到相應的次陣列。該架構的晶元尺寸與圖 10A 中所示的陣列大致相同,然而,讀取等待時間可減少1/4並且讀取資料通量可增加4倍。
圖10C顯示根據本發明的3D陣列架構的另一個實施例。圖10C中的陣列被分成K個次陣列1001a至1001k 。頁緩衝器也被分成K組頁緩衝器1002a至1002k 。通過使用這種架構,晶元尺寸可保持與圖10A中的陣列大致相同,然而,讀取等待時間可減少1/K並且讀取資料通量可增加K倍。
圖10D顯示如圖10C所示的3D次陣列1001a及其頁緩衝器1002a電路的實施例。次陣列1001a包括多條位元線1004a至1004n並且各條位元線耦合至字串,例如,位元線1004n耦合至字串1005a至1005m 。還顯示包括位元線解碼器的頁緩衝器1002a電路 。頁緩衝器1002a和其位元線解碼器位於3D次陣列1001a下方以節省矽面積。位元線1004a至1004n透過位元線觸點1003a至1003n連接到頁緩衝器1002a和位元線解碼器。
在習知陣列中,頁緩衝器的數目必須等於位元線的數目以執行全位元線(ABL)程式化和讀取,以及頁緩衝器的數目必須等於一半的位元線數目以執行半位元線(HBL)的程式化和讀取。在各種示例性實施例中,頁緩衝器的數目可為位元線的1/K,其中,K是位元線選擇閘信號的數目,例如位元線選擇閘信號BSG[0:K-1]。然而,所有的位元線仍然可被同時程式化和讀取。藉由使用這種方法,陣列可被劃分為K個次陣列,如圖10D所示。次陣列可如圖10C所示排列。這導致與習知陣列相同的晶元尺寸,而資料通量可增加K倍,並且每個次陣列的位元線長度可減少 1/K,從而將位元線放電時間減少1/ K。結果,可實現總共K 2(K
Figure 02_image001
K)讀取資料通量的改進。
圖10E顯示3D次陣列1001a及其頁緩衝器1002a電路的另一實施例。如圖10E所示,頁緩衝器1002a和位元線解碼器位於3D次陣列1001a的頂部。在一個實施例中,頁緩衝器1002a和位元線解碼器藉由使用諸如絕緣體上矽(Silicon-on-Insulator;SOI)等3D製程形成。在另一實施例中,頁緩衝器1002a和位元線解碼器形成在另一晶元或晶圓上。晶元或晶圓可通過使用3D集成製程連接到3D次陣列1001a ,例如銅柱、微凸塊、Cu-Cu鍵合、矽通孔(through-silicon via;TSV)和其他合適的技術。
圖11A顯示根據本發明的3D陣列的另一實施例。在該實施例中,位元線用作暫時資料儲存器。如上所述,資料可從頁緩衝器200載入至多條位元線,例如位元線201a至201c ,並由位元線電容,例如206a至206c保持。
圖11B示出說明資料如何載入如圖11A所示的多條位元線BL[0]到BL[2]中的波形。 在此實施例中,汲極選擇閘(drain select gates;DSG)可被關閉以將字串與位元線隔離。
圖11C顯示將資料載入多條位元線之波形的另一實施例。在本實施例中,位元線上的多個或所有字串的汲極選擇閘(DSG)導通,為位元線上的多個或所有字串的字元線提供通過電壓(Vpass),例如6V,來開啟所有單元。源選擇閘 (SSG) 關閉。藉由使用這些作業,可藉由添加字串的通道電容來增加位元線的電容。
圖11D顯示說明從位元線電容器(例如,位元線電容器206 )讀取資料的波形。假設位元線BL[0]到BL[2]在它們的位元線電容中儲存資料0到資料2。通過依序導通位元線選擇閘BSG[0]至BSG[2],可在頁緩衝器200電路的位元線電容和感測節點302之間發生電荷共享,如圖3A所示。由於位元線電容遠大於感測節點302,所以感測節點302會在很短的時間內幾乎達到位元線電壓。因此,位元線選擇閘BSG[0]至BSG[2]可快速切換以高速讀取BL[0]至BL[2]的資料。
位元線電容206a至206c所保持的資料可藉由使用如圖6C中所描述的感測作業來讀取。因此,位元線電容器可用於儲存資料。參考圖9D ,假設一個陣列被分成K個次陣列。每個陣列包含 N 條位元線。因此,整個陣列包含 K
Figure 02_image001
N 條位元線。根據本發明,可實現使用位元線電容器儲存K
Figure 02_image001
N位元資料。
在一個實施例中,陣列將資料儲存在位元線電容中,位元線電容可用作為工作記憶體,例如DRAM。系統可像 DRAM 一樣讀取、寫入和再新資料。當資料準備好儲存到用於非揮發性儲存的NAND快閃記憶體單元時,可將資料從位元線電容器讀取到頁緩衝器,如圖6C所示,然後程式化到 NAND 快閃記憶體單元,如圖4B 至圖5C 所示者。
在另一個實施例中,位元線可用作資料暫存器以暫時儲存輸入資料。可使用圖6C的作業從位元線讀取資料,然後程式化到NAND快閃記憶體單元的選定頁。例如,參考圖9C,可將輸入資料暫時儲存到次陣列901a至901c中的位元線。接下來,可從這些次陣列的位元線讀取資料並將資料程式化到次陣列901d 。這種儲存作業在不增加電路面積的情況下提供大容量的 "空閒”資料暫存器。
圖12A顯示根據本發明3D陣列的另一個實施例。該電路能夠執行 TLC 和 SLC 兩種程式化模式。圖12A中的陣列包括分別儲存用於TLC程式化的資料D0、D1和D2的位元線選擇閘202a至202c和資料閂鎖207a至207c。還顯示了鎖存通道閘220a至220c ,它們也在圖3A和圖3B中顯示。在 TLC 模式期間,頁緩衝器將資料D0到D2 的三位元資料程式化到單個單元。在 SLC 模式期間,頁緩衝器將三位元資料 D0 到 D2 程式化到位於三條位元線上的三個不同單元。在TLC程式化期間,信號SLC關閉通道閘221a至221c 。位元選擇閘BSG[0]至BSG[2]信號選擇性地導通位元線選擇閘202a至202c之一。信號P0至P2根據程式化的Vt位準選擇性地導通通道閘220a至220c之一者,以將閂鎖的資料傳遞至選定的位元線。
在SLC程式化期間,位元線選擇閘202a至202c和鎖存通道閘220a至220c可全部關閉。信號SLC開啟通道閘221a至221c 。因此,閂鎖207a至207c的資料分別被傳送至位元線201a至201c。以此方式,可藉由使用儲存在頁緩衝器中的多個閂鎖中的資料同時對多條位元線進行程式化。
圖12B顯示根據本發明3D陣列的另一個實施例。如圖12B所示 ,該陣列包括位元線選擇閘202a至202c和資料閂鎖207a至207c ,其分別儲存用於TLC程式化的資料D0、D1和D2位元。還顯示了鎖存通道閘220a至220c ,它們也在圖3A和圖3B中顯示。在TLC程式化期間,信號SLCB開啟通道閘222a和222b。位元線選擇閘信號BSG[0]至BSG[2]選擇性地開啟位元線選擇閘202a至202c中的一者。信號P0至P2根據程式化的Vt位準選擇性地導通通道閘220a至220c之一者,以將閂鎖的資料傳遞至選定的位元線。
在SLC程式化期間,位元線選擇閘202a至202c和閂鎖通道閘220a至220c可全部導通。 信號SLCB關閉通道閘222a和222b 。因此,閂鎖207a至207c的資料可分別傳遞至位元線201a至201c 。以此方式,可藉由使用儲存在頁緩衝器中的多個閂鎖中的資料同時對多條位元線進行程式化。
圖13顯示NAND快閃記憶體陣列的實施例。在圖13所示的陣列中,諸如位元線對位元線電容401a至401c之位元線對位元線電容可支配位元線的寄生電容。特別是對於高密度陣列,位元線可能很長,位元線間距可能很緊。當將資料載入多條位元線時,這可能導致位元線對位元線的耦合問題。
作為示例,在位元線選擇閘202a被開啟以將資料從頁緩衝器200載入位元線(BL[0])201a之後,位元線選擇閘202a被關閉。下一個位元線選擇閘202b被開啟以將下一個資料從頁緩衝器200載入位元線(BL[1]) 201b 。在載入期間, 位元線(BL[0])與先前載入的資料一起浮動。因此,位元線(BL[1])201b的資料可透過電容401a耦合位元線(BL[0]) 201a 。結果, 位元線(BL[0]) 201a的資料可能由於這種耦合而改變。類似地,在載入位元線(BL[1]) 201b的資料之後,位元線選擇閘202b被關閉。位元線選擇閘202c被開啟以將下一個資料從頁緩衝器200載入位元線(BL[2]) 201c 。位元線(BL[2]) 201c的資料可耦合到位元線(BL[1]) 201b以改變位元線(BL[1])的資料。
圖14顯示具有用於防止如上所述的位元線耦合之位元線屏蔽的陣列。該陣列包括添加到位元線的屏蔽裝置402a至402d 。頁緩衝器200運作為僅載入資料到偶數位元線,例如位元線(BL[0]和BL[2]),或者奇數位元線,例如位元線(BL[1]和BL[3])。當載入偶數位元線時,信號SHD[1]開啟屏蔽裝置402b和402d ,將資料VDD從信號VSHD傳遞到奇數位元線(BL[1]和BL[3])。這樣,當資料載入偶數位元線,如位元線(BL[0]和BL[2])時,它們被奇數位元線(BL[1]和BL[3])屏蔽,從而位元線之間不會發生耦合。同時,因為奇數位元線(BL[1]和BL[3])被提供有抑制資料VDD,所以奇數位元線上的單元不能被程式化。因此,在一實施例中,一次僅可對一半的位元線進行程式化,這可將程式化通量降低一半。然而,藉由使用這裡描述的陣列架構,程式化通量可增加很多倍,因此使用上述位元線屏蔽是可接受的。
圖15A顯示用於減輕位元線對位元線耦合之電路的另一實施例。在圖15A所示的電路中,多條位元線(BL[0]至BL[5])透過如圖所示之位元線選擇閘202a至202f交替地連接到頁緩衝器200a和200b。每個頁緩衝器包括三個如上所述的資料閂鎖。頁緩衝器向奇數位元線或偶數位元線提供資料,使得當一組位元線在使用中時,另一組位元線提供屏蔽。需要說明的是,圖15A中所示的位元線和位元線選擇閘的數目不限於此而是示例性的。本發明可應用於任何數目的位元線和位元線選擇閘。
圖15B顯示說明資料如何載入圖15A的位元線中以減輕耦合的波形。在作業期間,位元線選擇閘信號BSG[0]、BSG[2]和BSG[4]被依序打開以載入資料D[0]、D[2]和D[4]到位元線BL[0] , BL[2], 和 BL[4]。位元線選擇閘信號BSG[1]、BSG[3]、BSG[5]依序導通,將資料D[1]、D[3]、D[5]載入位元線BL[1]、BL[3],和 BL[5]。應注意位元線選擇閘信號BSG[0] 到 BSG[5] 的線路的時序。當位元線選擇閘信號BSG[1]開啟將資料D[1]載入位元線BL[1]時,位元線選擇閘信號BSG[0]仍然開啟,因此位元線BL[0]不浮動。當位元線BL[1]耦合位元線BL[0]時,頁緩衝器200a維持位元線BL[0]的資料。因此,減輕或解決了耦合問題。同理,當位元線選擇閘信號BSG[2]導通將資料D[2]載入位元線BL[2]時,位元線選擇閘信號BSG[1]仍然導通,因此位元線BL[1]不浮動。當位元線BL[2]耦合位元線BL[1]時,頁緩衝器200b保持位元線BL[1]的資料。因此,藉由使用圖15A的電路,能夠減少或消除位元線耦合的問題。然而,當載入位元線組中最後一位元線BL[5]時,雖然它可能不耦合位元線BL[4],但它可能耦合下一組中相鄰的位元線(未示出)。為了解決這個問題, 位元線BL[0]的資料可再載入一次。這恢復相鄰位元線的資料。
圖16顯示解決如參考圖15A至圖15B所描述之最後位元線耦合問題之電路的示例性實施例。圖16的電路包括兩個相鄰的位元線組403a和403b。對於這些組,它們的位元線選擇閘202a至202f和202a'至202f'是鏡像的。當位元線組403a正在從位元線BL[0]載入資料到位元線BL[5]時,位元線組403b正在從位元線BL[0]'載入資料到位元線BL[5]'。例如BL[5]和BL[5]'的資料同時載入,解決了BL[5]和BL[5]'之間的耦合問題。
圖17A顯示包括如圖16所示的偶數和奇數頁緩衝器200a-d的電路的實施例,它們被放置在陣列404的兩側。例如,陣列404也可是圖9D中的次陣列901a。
圖17B至圖17C顯示用於圖17A電路中的陣列(或次陣列)404的2D和3D版本的實施例。
圖18A至圖18B顯示具有分割位元線結構的電路。
圖18A顯示包含連接到總體位元線GBL[0]至GBL[3]的多個頁緩衝器200a到200d的電路。總體位元線連接到多個區塊405a至405n 。每個區塊接收位元線選擇閘信號,例如位元線選擇閘信號BSG0[0:5]至BSGn[0:5]。
圖18B顯示一個區塊之電路的實施例,例如圖18A中所示的區塊405a。參照圖18A,諸如總體位元線GBL[1]透過位元線解碼器202a至202c連接到次位元線BL[1]、BL[3]和BL[5] 。位元線選擇閘的結構類似於圖17A所示的結構。因此,可使用圖15B所示的波形將資料施加到次位元線BL[0]到BL[5]和BL[0]'到BL[5]' 來解決位元線耦合問題。
圖19A顯示根據本發明之位元線選擇閘電路的另一實施例。本實施例中的電路類似於圖15A所示的電路,除了使用四個頁緩衝器200a至200d,並且可一次載入兩個位元線的資料之外。
圖19B顯示說明圖19A的電路作業的波形。在作業期間,當位元線選擇閘信號BSG[0]變高時,它會打開兩個位元線選擇閘202a和202a'以將資料D[0]和D[1]分別從頁緩衝器200a和200b載入位元線BL[0]和BL [1]。當位元線選擇閘信號BSG[1]變高時,它會打開兩個位元線選擇閘202b和202b'以將資料D[2]和D[3]分別從頁緩衝器200c和200d載入位元線BL[2]和BL[3]。需要注意的是,當位元線選擇閘信號BSG[1]開啟時,位元線選擇閘信號BSG[0]仍然開啟。因此,消除了位元線BL[1]和BL[2]之間的耦合。同樣的機制適用於所有其他選擇閘。結果,解決了位元線耦合問題。
請注意,圖13中描述的位元線耦合問題不僅可發生在寫入作業載入資料時,也可能發生在讀取作業中。參考圖7A所示的讀取波形,在時間T3至T4期間,當多條位元線如位元線BL[0]至BL[2]一起放電時,具有導通單元的位元線將被導通單元放電。它可透過位元線間電容將具有關斷單元之相鄰的位元線耦合,如圖13中的位元線對位元線電容401a至401c所示。因此,相鄰位元線的電壓可能被拉低,導致關斷單元被誤讀為導通單元。為了解決這個問題,可實施如圖14所的屏蔽裝置,其中屏蔽電壓(信號)VSHD可為0V用於讀取作業。然而,屏蔽讀取作業可能僅讀取偶數或奇數位元線,因此將讀取資料通量降低一半。為了解決這個問題,提供如圖15A至圖17C所示的解決方案。
圖20A顯示在不犧牲讀取資料通量的情況下解決位元線耦合之電路的實施例。圖20A的電路包括連接到位元線BL[0]到BL[2]的位元線選擇閘202a到202c。上拉裝置501是耦合到位元線選擇閘202a到202c的PMOS上拉裝置。在另一個實施例中,上拉裝置501可為NMOS。
圖20B顯示由圖20A所示電路執行讀取作業的波形。時間T1的間隔是「展開階段」,時間T2的間隔是「評估階段」。在展開階段 (時間T1),信號VREF 提供有0V,位元線選擇閘BSG[0] 至 BSG[2] 提供有偏置電壓Vbias。這將位元線BL[0]至BL[2]充電至預定電壓(Vbias-Vt) ,其中Vt是位元線選擇閘202a至202c的閾值電壓。
在評估階段(時間T2)期間,可向信號VREF提供將上拉裝置501的電流限制為低於導通單元電流的電壓,例如10nA至100nA 。位元線選擇閘信號BSG[0]至BSG[2]被關閉然後依序被打開以將位元線BL[0]至BL[2]分別連接至感測節點SA。如果位元線具有導通單元,由於導通單元電流,位元線電壓可能低於 Vbias – Vt。因此,感測節點SA可被拉低以與位元線電壓相同。另一方面,如果選定的位元線有一個關斷單元,位元線將被完全充電到Vbias – Vt,並且位元線選擇閘將被關閉。因此,感測節點SA將變為VDD。感測節點SA的信號可被發送到比較器的輸入或PMOS電晶體的閘以確定資料。
圖21A顯示根據本發明的感測電路的另一實施例。該實施例類似於圖20A至圖20B,除了大的上拉裝置502可用於對位元線進行預充電之外。
圖21B顯示說明圖21A的電路之作業的波形。
圖22A顯示根據本發明的感測電路的另一實施例。該實施例類似於圖21A至圖21B,除了使用偏壓裝置503來限制位元線的預充電電壓之外。因此,位元線選擇閘信號BSG[0]至BSG[2]被提供有數位信號VDD和0V。
圖22B顯示說明圖22A的電路之作業的波形。
圖23A顯示根據本發明的感測電路的另一實施例。該實施例類似於圖22A至圖22B,除了藉由使用上拉裝置504a至504c對位元線進行預充電之外。
圖23B顯示說明圖23A電路之作業的波形。
圖24A顯示根據本發明之感測電路的另一實施例。該實施例使用「源感測」。
圖24B顯示說明圖24A所示的感測電路之作業的波形,其中時間T1 是“展開”階段,T2 是“評估”階段。在作業期間,向選定字元線提供讀取電壓(Vrd)並且向未選定字元線提供通過電壓(Vpass)。選定的單元字串的源極線 (SL) 提供有VDD。增加放電裝置505以將位元線放電。位元線選擇閘BSG[0] 至 BSG[2] 提供有偏置電壓 (Vbias),以將放電電流限制在導通單元的電流以下,例如 10nA 至100nA。 導通單元將電流從源極線 SL 傳導至位元線,並將位元線充電至大約 Vrd – Vt (單元),其中Vt (單元) 是導通單元的閾值電壓。對於關斷單元,位元線會放電至0V。如圖24B所示,當導通單元的位元線被充電時,它可耦合到關斷單元的位元線。然而,在耦合停止之後,關斷單元的位元線將被放電裝置505放電至0V 。在評估階段(時間T2),放電裝置505被關閉。偏壓裝置503被開啟。位元線選擇閘BSG[0]至BSG[2]依序開啟以將位元線連接至感測節點SA以根據位元線電壓確定資料。
圖25A顯示根據本發明的頁緩衝器和位元線解碼器電路的另一個實施例。圖25A顯示頁緩衝器200電路和位元線選擇閘202a至202f。偶數位元線選擇閘202a、202c、202e與PB[0]連接,奇數位元線選擇閘202b 、 202d 、 202f與PB[1]連接。頁緩衝器200分別透過屏蔽電壓選擇閘230a和203b耦合到PB[0]和PB[1] 。屏蔽電壓選擇閘230a和230b控制頁緩衝器200以分別將資料載入PB[0]或PB[1]或從PB[0]或PB[1]讀取資料。 PB[0]和PB[1]分別透過選擇閘231a和231b耦合到“屏蔽”電壓源(VSH) 。屏蔽電壓可為0V、VDD或任何其他合適的電壓。當頁緩衝器200從偶數(或奇數)位元線讀取資料或將資料載入偶數(或奇數)位元線時,屏蔽電壓被施加到奇數(或偶數)位元線。這消除了參考圖13描述的位元線電容耦合問題。
作為示例,為了對偶數位元線執行多頁讀取或寫入作業,屏蔽電壓選擇閘230a被開啟並且屏蔽電壓選擇閘230b被關閉。偶數位元線選擇閘BSG[0]、BSG[2]、BSG[4]依序導通,從偶數位元線BL[0]、BL[2]、BL[4]讀取資料到頁緩衝器200,或者從頁緩衝器200載入資料到偶數位元線。同時,選擇閘231a關斷而231b導通。這會將屏蔽電壓VSH施加到PB[1]。奇數位元線選擇閘BSG[1]、BSG[3]、BSG[5]全部導通,將屏蔽電壓VSH傳遞給奇數位元線BL[1]、BL[3]、和 BL[5]。使用這些作業,偶數位元線被奇數位元線彼此屏蔽,因此消除了位元線電容耦合。
圖25B顯示根據本發明的頁緩衝器和位元線解碼器電路的另一個實施例。該實施例類似於圖25A所示的實施例,除了位元線屏蔽電壓VSH由選擇閘232a至232f施加之外。偶數選擇閘232a 、 232c和232e連接到控制信號SB1,而奇數選擇閘232b 、 232d和232f連接到控制信號SB2。當頁緩衝器200從偶數位元線BL[0]、BL[2]和BL[4]讀取資料或將資料載入偶數位元線時,屏蔽電壓選擇閘230a導通並且屏蔽電壓選擇閘230b關斷。控制信號SB1將關閉偶數選擇閘232a 、 232c和232e 。控制信號SB2將開啟奇數選擇閘232b 、 232d和232f以將屏蔽電壓VSH傳遞至奇數位元線BL[1]、BL[3]和BL[5]。類似地,當奇數位元線被讀取或載入資料時,偶數位元線可被提供屏蔽電壓。
圖25C顯示根據本發明的頁緩衝器和位元線解碼器電路的另一實施例。在本實施例中,位元線選擇閘202a至202f均連接至頁緩衝器200。偶數位元線和奇數位元線透過選擇閘232a至232f耦合到屏蔽電壓VSH 。當頁緩衝器200讀取或載入資料到偶數位元線BL[0]、BL[2]和BL[4]時,偶數選擇閘232a 、 232c和232e被關閉。偶數位元線選擇閘202a 、 202c和202e可依序導通以從偶數位元線讀取資料到頁緩衝器200或者從頁緩衝器200載入資料到偶數位元線。同時,奇數位元線選擇閘202b、202d和202f關斷。奇數選擇閘232b 、 232d和232f導通以將屏蔽電壓VSH傳遞到奇數位元線BL[1]、BL[3]和BL[5]。類似地,當奇數位元線被讀取或載入資料時,偶數位元線可被提供屏蔽電壓。
在前面的實施例中,例如,如圖4A所示,晶片可包含多個資料閂鎖以在程式化和讀取期間儲存多頁資料。然而,具有較少資料閂鎖的實施例是可能的。
圖26A顯示根據本發明電路的示例性實施例,其僅需要一個資料閂鎖來執行與上述使用多個資料閂鎖的作業相同的作業。在另一實施例中,圖26A的電路可配置為不使用資料閂鎖。在圖26A的電路中,四條位元線BL[0]到BL[3]透過四個位元線選擇閘202a到202d連接到頁緩衝器506。位元線選擇閘連接到位元線選擇閘信號BSG[0]到BSG[3]。還應注意,該陣列可使用圖25A至圖25C所示的偶數/奇數位元線架構。未選擇的偶數或奇數位元線被提供有DC電壓以屏蔽那些位元線免受位元線耦合。為簡單起見,圖26A中所示的電路僅顯示選定的位元線。
資料線510連接到偏壓裝置508。偏壓裝置508用於將資料線510和所選擇位元線預充電至偏置電壓。偏壓裝置508的閘連接偏置電壓(BIAS)或反饋電路或比較器以提高預充電速度。
裝置507是載入裝置。載入裝置507的閘連接到參考電壓(VREF),以產生感測作業所需的負載電流。在另一實施例中,載入裝置507可由NMOS裝置實現。此外,載入裝置可包括多個不同尺寸的裝置,例如較大的裝置用於快速預充電,較小的裝置用於資料感測。
假設選定字元線509進行程式化,位元線BL[0] 和 BL[1] 載入 0V 以對單元 0 和單元 1 進行程式化。位元線BL[2] 和 BL[3] 載入VDD以抑制單元 2和單元 3。根據本發明實施例提供的新穎的程式化作業,藉由依序打開位元線選擇閘202a至202d來依序載入位元線資料以使用位元線電容儲存位元線資料。
在一個程式化脈衝之後,執行程式化驗證以檢查程式化單元的 Vt 並確定下一個程式化資料。例如,假定單元 0 至單元 3 具有四種不同的條件。假設單元 0 仍然是導通單元。這意味著單元 0 尚未成功地程式化。位元線BL[0]的下一個資料應為 0V,以繼續對單元 0 進行程式化。假設單元 1 已成功地程式化為所需的Vt,因此它將在驗證期間成為關斷單元。這意味著位元線BL[1] 的下一個資料應更改為 VDD,以抑制單元 1。假設單元 2 和單元 3 分別是導通單元和關斷單元,因為它們當前的程式化資料是 VDD,這意味著它們不需要程式化。位元線BL[2] 和 BL[3]的下一個資料將保持在 VDD 以抑制單元 2 和單元 3。
圖26B顯示與圖26A所示電路一起使用的程式化驗證作業。該作業基本上包含三個步驟,即:預充電位元線步驟511、放電位元線步驟512和感測和更新位元線資料步驟513。對於步驟511,預充電位元線在時間T0,位元線選擇閘信號BSG[0]至BSG[3]被提供VDD以導通所有的位元線選擇閘202a至202d。 信號VREF被提供0V以完全開啟載入裝置507以進行快速預充電。信號BIAS被提供偏置電壓 Vbias。此條件將位元線BL[0]至BL[1]從0V預充電至Vbias-Vt。Vt是偏壓裝置508的閾值電壓。同時,位元線BL[2]和BL[3]保持在VDD。通常,信號BIAS具有大約Vt到VDD的範圍並且應該大於Vt以開啟偏壓裝置(例如,圖26A中所示的偏壓裝置508)。 位元線(BL)電壓被預充電到信號BIAS電壓減去圖26A中所示的偏壓裝置508的閾值電壓Vt。
對於步驟512 ,位元線放電在時間T1,位元線選擇閘BSG[0]至BSG[3]全部關閉。選定的字串的源極選擇閘(source select gate;SSG) 516和汲極選擇閘(drain select gate;DSG) 515被導通。選定的字元線509和其他未選定的字元線分別被提供有驗證電壓和通過電壓。向源極線518提供0V。這將打開導通單元(單元0 和單元2),分別將位元線BL[0] 和 BL[2]放電。位元線BL[0]將從Vbias-Vt放電到低於Vbias-Vt的電壓。相反地, 位元線BL [2]可能仍然高於Vbias-Vt,因為位元線BL[2]的初始電壓是VDD。由於位元線電容較大,使用導通單元電流將BL[2] 放電至 Vbias-Vt 以下將需要很長時間。 位元線BL[1] 和 BL[3] 將分別保持在預充電電壓 Vbias-Vt 和 VDD。因為單元 1和單元 3是關斷單元,它們不會將位元線BL[1]和BL[3]放電。
在時間T2,源極選擇閘516或汲極選擇閘515被關閉以停止單元 0和單元 2將位元線BL[0]和BL[2]放電。之後,位元線電壓將由大位元線電容維持。在另一個實施例中,源極選擇閘SSG 516和汲極選擇閘DSG 515從時間T2到時間T9保持在高位準。這將導致導通單元(單元 0 和 單元 2)繼續將位元線BL[0] 和 BL[2] 放電。然而,由於感測時間(T2至T9)非常短,單元 2的電流不會在驗證結束前將位元線BL[2]放電至Vbias-Vt以下。
在步驟513 ,感測和更新位元線資料,在時間T2,信號VREF被提供參考電壓Vref,以控制載入裝置507的負載電流 。負載電流較佳低於導通單元電流。然後,在時間T2到時間T9之間的間隔內,位元線選擇閘BSG[0]到BSG[3]依序導通以分別將感測電路連接到位元線BL[0]到BL[3]。感測電路將驗證位元線電壓,並根據結果載入下一個資料至位元線。
在時間T2,選擇閘信號BSG[0]將導通圖26A所示的位元線選擇閘202a 。這導致在位元線BL[0]和資料線DL 510以及信號節點SA 514之間發生電荷共享。因為BL[0]的電容遠大於資料線510和信號節點SA 514的電容,所以資料線510和SA 514都將在很短的時間內被拉低至接近位元線BL[0]的電壓,其低於Vbias-Vt 。 SA 514節點連接到資料緩衝器506 。資料緩衝器506將根據SA的位準確定驗證資料為1。
在時間T3,根據驗證結果,信號LOAD將變高以將 0V 載入回位元線BL[0]。然後, 位元線選擇閘信號BSG[0]將變低以將位元線BL[0]與資料線510和感測電路隔離。結果,因為位元線BL[0] 載入了0V,單元 0 將被下一個程式化脈衝再次程式化。
在一實施例中,從時間T2到T4,位元線選擇閘信號BSG[0]被供應VDD+Vt。如果下一個資料是 VDD,這允許頁緩衝器將完整的 VDD 載入位元線。很明顯地,位元線選擇閘信號BSG[0]可被供應VDD,這只會載入位元線到VDD-Vt。在另一個實施例中,位元線選擇閘信號BSG[0]可使用兩步脈衝,其中VDD用於驗證並且VDD+Vt用於載入下一個資料。
在時間T4, 位元線選擇閘信號BSG[1]將開啟下一位元線選擇閘202b以連接感測電路至位元線BL[1]以驗證位元線BL[1]的電壓。 位元線BL[1] 預先預充電至 Vbias-Vt。因為資料線510的電容遠小於位元線BL[1]的電容,電荷共享的結果將導致資料線510的電壓變得非常接近位元線BL[1]的電壓(例如,Vbias-Vt)。這將使偏壓裝置508關閉。因此,信號節點SA 514將被載入裝置507的負載電流充電至滿VDD。這表明下一個資料將為 1。
在時間 T5,信號LOAD將變高以將 VDD 載入位元線BL[1]。然後,位元線選擇閘信號BSG[1]將變低以將位元線BL[1]與頁緩衝器電路隔離。結果,單元 1 將被抑制進行下一次程式化,因為它已經通過了程式化驗證。
在時間T6,位元線選擇閘信號BSG[2]將開啟下一位元線選擇閘202c以驗證位元線BL[2]的電壓。因為位元線BL[2]保持在高於Vbias-Vt的電壓,所以偏壓裝置508將被關閉。如果之前的位元線將信號節點 SA 拉低,則信號節點SA將被裝置507的載入電流充電至滿 VDD。這表明下一個資料將為 1。
在時間 T7,信號LOAD將變高以將 VDD 載入位元線BL[2]。然後,位元線選擇閘信號BSG[2]將變低以將位元線BL[2]與頁緩衝器電路隔離。對於下一個程式化脈衝,單元 2 將再次被抑制。
在時間T8,位元線選擇閘信號BSG[3]將開啟下一位元線選擇閘202d以驗證位元線BL[3]的電壓。因為位元線BL[3]保持在VDD,偏壓裝置508將被關閉。如果之前的位元線將信號節點SA拉低,則信號節點SA將被裝置507的載入電流充電至滿 VDD。這表明下一個資料將為 1。
在 T9 時間,信號LOAD將變高以將 VDD 載入位元線BL[3]。然後, 位元線選擇閘信號BSG[ 3]將變低以將位元線BL[3]與頁緩衝器電路隔離。對於下一個程式化脈衝,單元 3 將再次被抑制。
在位元線被驗證並載入下一個資料之後,選定的字元線可被升高到程式化電壓,例如20V,以執行下一個程式化脈衝,如圖5E中的時間T3處所示。
需要說明的是,在感測步驟513中,如果之前選定的位元線有導通單元,則電荷共享後的資料線510電壓可能略低於Vbias-Vt。這可能導致偏壓裝置508開啟。如果選擇的位元線有關斷單元,載入裝置507的載入電流會將位元線和資料線充電至Vbias-Vt,並將信號節點SA 514拉至VDD。但是,這可能會導致延遲。為了解決這個問題,在另一個實施例中,可在感測步驟513期間稍微降低VBIAS電壓,如圖26B中的虛線517所示。這將防止載入裝置507被稍低的資料線510開啟。
在另一個實施例中,偏壓裝置508可包含兩個裝置,一個用於預充電,另一個用於感測。用於感測的裝置可具有更長的通道長度或不同的Vt調整注入(adjust implantation)以使其Vt略高。在另一個實施例中,兩個偏壓裝置的閘可連接到不同的偏置電壓。用於感測的偏置電壓可能略低於用於預充電的偏置電壓。
此外,在感測步驟513期間,若先前選定的位元線的下一資料為VDD,則資料線510將被上拉至VDD。如果下一位元線有一個導通單元,則在位元線電容不夠高的情況下,這可能會導致電荷共享電壓變得過高。為了解決這個問題,在另一個實施例中,在前一個位元線選擇閘被關閉之後,在下一個位元線選擇閘被開啟之前,資料緩衝器506可施加短脈衝以將資料線510放電到0V,並且然後讓偏壓裝置508將資料線510預充電至Vbias-Vt。這可在每次電荷共享之前為資料線510提供期望的初始電壓。在另一實施例中,放電裝置505如圖24A所示可連接到資料線510以執行放電。
電路和作業波形如圖26A和圖26B所示,其顯示本發明的一個實施例的示例。已知可以許多其他方式修改電路和作業波形。例如,圖20A至圖24B中所示的感測電路可用於替代圖26A中所示的感測電路。這些修改和變化都在本發明的範圍內。
圖26C顯示圖26A中資料緩衝器506的電路實施方案的實施例。該電路包括資料閂鎖520。藉由施加RES脈衝以導通NMOS 521來重置資料閂鎖520 。這會將 DA 節點525拉低至 0V。前級感測電路的SA節點連接到PMOS 523 。如圖26B中所示,對於具有關斷單元的位元線,SA節點將被上拉至VDD。這將關閉 PMOS 523 。對於具有導通單元的位元線,SA節點將被下拉至低於Vbias – Vt。這將開啟 PMOS 523 。在SA電壓準備好之後,可施加LATB脈衝以開啟PMOS 522 。如果SA為低,它將DA節點525上拉至VDD。如果SA為高,DA節點525將保持在0V。之後,可施加LOAD脈衝以將閂鎖520的資料載入資料線DL中。
請注意,圖26C所示的實施例是旨在最小化電路尺寸的示例性電路。顯然,可使用例如感測放大器或比較器電路等更複雜的電路來代替由PMOS 522和523形成的輸入級。這些變化和修改仍屬於本發明的範圍。
圖27A顯示使用圖20A中所示的感測電路的電路實現的另一實施例。在本實施例中,偏壓裝置508如圖26A所示被消除。偏壓裝置的功能由位元線選擇閘信號BSG[0]至BSG[3]執行,如圖27B中的波形所示。
如前所述,程式化資料在程式化期間被載入位元線並儲存在位元線電容中。在驗證期間,單元的資料直接從位元線驗證並將下一個程式化資料載入回位元線。無需將資料儲存在頁緩衝器或資料閂鎖中。這顯著降低了對大量資料閂鎖的需求。例如,當使用八位元線選擇閘時,位元線選擇閘信號BSG[0]到BSG[7],圖4A中所示的先前方法需要八個資料閂鎖,以儲存位元線BL[0]至BL[7]的八個資料。對於圖26A所示的這個實施例,由於程式化資料載入位元線並儲存在位元線電容中,因此如果將輸入資料直接載入位元線,則只需要一個資料閂鎖,或者根本不需要資料閂鎖。這可顯著降低電路尺寸和資料通量,特別是對於僅使用 SLC 單層單元的產品,它可能不會在頁緩衝器中具有多位元資料閂鎖。
圖27C顯示根據本發明的使用圖6F中所示的頁緩衝器200和位元線選擇閘202a至202n的實施例之程式化驗證作業的另一實施例。頁緩衝器200的詳細實施例如圖3C所示。例如,如圖3C所示,頁緩衝器200電路包括連接到SA節點的偏壓裝置306和預充電裝置303 。還顯示感測裝置310 、閂鎖通道閘220 、設定裝置311 、重置裝置312和具有節點Q和QB的資料閂鎖207 。圖3C上述的描述提供了詳細的電路作業。
如圖27C所示,假設如圖6F中位元線201a至201d所示的四條位元線BL[0]至BL[3]被用於執行程式化驗證作業。假設位元線BL[0] 和 BL[1] 是經程式化位元線,位元線BL[2] 和 BL[3]則是抑制位元線。位元線BL[0]和BL[1]中儲存的資料分別為0(0V), 位元線BL[2]和BL[3]中儲存的資料分別為1(VDD)。
在時間T0,位元線選擇閘信號BSG[0:3]被提供VDD以導通位元線選擇閘202a至202d 。信號PREB提供0V以開啟預充電裝置303以將SA節點充電至VDD。信號BIAS提供偏置電壓Vbias。這會將經程式化位元線BL[0]和BL[1]從0V充電到偏壓裝置306的Vbias-Vt ,同時抑制位元線 BL[2] 和 BL[3]保持在VDD。在較佳實施例中,Vbias可略高於Vt1+Vt2,其中Vt1和Vt2是偏壓裝置306和感測裝置310的閾值電壓。這允許導通單元將位元線電壓快速放電至低於感測裝置310的Vt。
在時間T1,信號SET被提供脈衝以將閂鎖207的節點Q設置為0V。
在時間T2,位元線選擇閘信號BSG[0:3]變低以關閉位元線選擇閘202a至202d 。選定的字元線 (WL) 被提供有驗證電壓VR。汲極選擇閘DSG的信號變高以打開選定的字串的汲極選擇閘。假設位元線BL[0] 和 BL[2] 上的選定的單元是導通單元 (Vt < VR),而位元線BL[1] 和 BL[3] 上的單元是關斷單元 (Vt > VR)。導通單元將位元線BL[0] 和 BL[2] 的電壓放電。由於位元線BL[0]和BL[2]的初始電壓不同,經過一段時間後,位元線BL[0]放電至Vt以下,而位元線BL[2]高於Vt甚至Vbias-Vt。
在時間T3,位元線選擇閘信號BSG [0]變高以打開位元線選擇閘202a 將位元線BL[0]耦合到頁緩衝器200 。因為位元線BL[0]的電壓低於Vbias-Vt,所以開啟偏壓裝置306以將頁緩衝器的SA節點拉低至與位元線BL[0]相同的電壓。 SA電壓關閉感測裝置310 。
在時間T4,信號RES被提供脈衝以開啟重置裝置312 。然而,由於感測裝置310被感測節點SA的電壓關閉,因此閂鎖207不會被重置且閂鎖207的節點Q保持0V。
在時間T5,信號PGM、BIAS和PREB被提供脈衝以更新位元線BL[0]上的程式化資料。它將資料0(0V)從閂鎖207的節點Q載入位元線BL[0]。因此,位元線BL[0]上的程式化資料被更新為0(0V)。由於被程式化位元線BL[0]上的單元是導通單元,說明該單元還沒有程式化成功,因此下一個程式化脈衝會再次對其進行程式化。
在時間T6,位元線選擇閘信號BSG[0]變低以關閉位元線BL[0]的位元線選擇閘202a 。位元線選擇閘信號BSG[1]變高以開啟位元線BL[1]的位元線選擇閘202b以將BL[1]耦合到頁緩衝器。因為BL[1]上的單元是關斷單元,所以位元線BL[1]的電壓保持在預充電電壓Vbias-Vt,這關閉偏壓裝置306 。因此,頁緩衝器的感測節點SA被上拉至VDD以開啟感測裝置310。
在時間T7,信號RES被提供脈衝以開啟重置裝置312 。因為感測裝置310由感測節點SA的電壓開啟,所以重置裝置312將閂鎖207的節點Q重置為VDD。
在時間T8,信號PGM、BIAS和PREB被提供脈衝以更新位元線BL[1]上的程式化資料。它將資料1(VDD)從閂鎖207的節點Q載入位元線BL[1]。為了將VDD載入位元線BL[1],信號PGM、BIAS和PREB的位準可為VDD+Vt。因此, 位元線BL[1]上的程式化資料從 0 (0V) 更新為 1 (VDD)。由於經程式化位元線BL[1]上的單元為關斷單元,說明該單元程式化成功。因此,它將在下一個程式化脈衝期間被抑制。
在時間T9和T10,位元線選擇閘信號BSG[2]和BSG[3]變高以分別開啟位元線BL[2]和BL[3]上的位元線選擇閘202c和202d 。重複先前描述的從時間T3到T6的作業以驗證單元並分別更新位元線BL[2]和BL[3]的位元線資料。因為位元線BL[2]和BL[3]電壓均高於Vbias-Vt,所以偏壓裝置306被關閉並且感測節點SA被上拉至VDD。類似於位元線BL[1],BL[2] 和 BL[3] 的閂鎖207的節點 Q將被重置脈衝的信號 RES 重置為資料 1 (VDD),並由信號PGM、BIAS 和 PREB脈衝更新以將位元線BL[2] 和 BL[3] 充電至資料 1 (VDD)。結果,最初被抑制的位元線BL[2]和BL[3]保持在抑制電壓VDD。
在上述實施例中,VDD用作抑制電壓。在另一個實施例中,抑制電壓可為VDD-Vt。在這種情況下,在時間T8,當向信號PGM、BIAS和PREB施加脈衝時,脈衝可處於VDD位準,這將位元線(BL)充電至VDD-Vt。
圖28A顯示用於讀取作業之波形的示例性實施例。這些波形類似於圖26B中所示的程式化驗證波形,除了將下一個資料載入回位元線的步驟被消除。此外,選定的字元線被提供有讀取電壓而不是驗證電壓。讀取波形繪示四個單元(單元 0 到單元 3)是如何按順序讀取的。在此示例中,單元 0 和 單元 2 是導通單元,單元 1 和 單元 3 是關斷單元。在步驟511的預充電位元線期間,所有位元線BL[0]到BL[3]被預充電到Vbias-Vt。在步驟512期間,位元線放電,導通單元將位元線BL[0]和BL[1]放電至低於Vbias-Vt的電壓。在步驟513感測期間,位元線選擇閘信號BSG[0]至BSG[3]依序開啟將感測電路連接到位元線BL[0] 至BL[3]。這導致在資料線510的電容和位元線之間發生電荷共享。由於資料線510的電容遠小於位元線電容,因此信號節點SA 514會在很短的時間內被拉高和拉低。
圖28B顯示與圖17A中所示的電路實施例一起使用的讀取作業之波形的另一實施例。波形類似於圖27B所示的驗證波形,除了將下一個資料載入回位元線的步驟被消除。
圖29A顯示習知3D NAND快閃記憶體之頁緩衝器電路的布局配置。快閃記憶體包括3D NAND快閃記憶體次陣列601。次陣列601包含多個單元字串,如圖17C所示之等效電路。位元線位於次陣列601的頂部並沿Y方向延伸。頁緩衝器602透過觸點603a至603n連接到位元線。在全位元線 (ABL) 設計中,頁緩衝器的數目與位元線的數目相同。每條位元線連接到一個頁緩衝器。在半位元線 (HBL) 設計中,頁緩衝器的數目是位元線的一半。每個頁緩衝器連接到兩條位元線。電路604用於資料路徑、冗餘(redundancy)、頁緩衝器驅動器、字元線驅動器等。頁緩衝器602和電路604位於次陣列601下方以減小晶元尺寸。
圖29B顯示具有兩個相鄰次陣列601a和601b的習知陣列組構。需要注意的是,頁緩衝器602a和602b以及電路604a和604b是交錯的,因此電路604a和604b可分別驅動頁緩衝器602b和602a。如圖29B所示之結構稱為「方塊」。可藉由在 X 和 Y 方向上排列多個方塊來形成一個大的記憶體陣列。
圖30A顯示根據本發明使用於3D陣列之頁緩衝器及電路之佈局配置的實施例。在此實施例中,3D次陣列被劃分為多個區段601a至601d。區段之間的位元線是分開的。區段601a到601d的位元線透過觸點603a到603n分別連接到頁緩衝器602a到602d。觸點603a至603n可位於區段601a至601d的邊緣上。電路604a至604d是用於資料路徑、冗餘、頁緩衝器驅動器、字元線驅動器等的電路。
對於習知技術,如圖29A所示,位元線的數目是1KB。 1KB 位元線連接到頁緩衝器602中的 1KB 頁緩衝器,以同時執行程式化、驗證和讀取作業。對於根據本發明的一個實施例,如圖30A所示,假設次陣列被劃分為4個區段,如區段601a至601d所示。每個區段將包含1KB的位元線,每條位元線的長度是習知技術位元線長度的1/4。
假設本發明具有與習知技術相同的頁緩衝器總數1KB。頁緩衝器被分成四組頁緩衝器602a至602d 。每組包含256B的頁緩衝器。藉由採用4位元線選擇閘,如圖27A所示之位元線選擇閘202a至202d,每組256B的頁緩衝器能夠連接到每個區段的1KB位元線,並同時對所有位元線進行程式化、驗證和讀取作業。因此,本發明能夠同時對總共4KB的位元線進行讀寫作業。這顯著增加了 4 倍的資料通量,而沒有增加晶元尺寸。
此外,由於每個區段的位元線長度僅為習知電路的1/4,因此可顯著提高讀取和驗證速度。這將位元線電容減少到大約1/4,從而大大減少了位元線充電和放電時間。
根據本發明,次陣列可分成任意數目的區段。使用的區段越多,可同時進行讀寫的頁就越多。例如,假設次陣列被分成N個區段。可同時進行讀寫作業的總頁數變為N倍,從而使資料通量提高N倍。另外,位元線長度變為1/N,存取速度提高N倍。本發明的實施例的考量點是位元線選擇閘的增加,這是非常低的並且可忽略不計的。
圖30B顯示如圖30A所示兩個相鄰陣列形成的方塊(tile)的示例性實施例。第二次陣列之頁緩衝器602e至602h和電路604e至604h係可與第一次陣列之頁緩衝器和電路交錯配置。因此,電路604a至604d能夠分別驅動頁緩衝器602e至602h,並且電路604e至604h能夠分別驅動頁緩衝器602a至602d。
圖31A至圖31B顯示根據本發明的頁緩衝器組構的實施例。這些實施例類似於圖30A至圖30B,除了頁緩衝器602a至602d和電路604a至604d的佈局配置不同之外。類似於圖30A至圖30B的實施例,區段601a至601d的位元線分別使用觸點603a至603n連接到頁緩衝器602a到602d 。
雖然在圖30A至圖30B的實施例顯示3D陣列結構,但對於本領域中具有通常知識者來說顯而易見的是,本發明可在2D陣列結構中實現。在這些2D實施例中,頁緩衝器和電路位於區段的側面。
圖32顯示根據本發明的頁緩衝區和位元線選擇閘結構的示例性實施例。在本實施例中,頁緩衝器701透過資料線703連接到多個陣列區段702a至702d。區段的數目可以是任意數字。為清楚起見,假設使用四個區段,即區段 0 到區段 3。每個區段的位元線透過位元線選擇閘704a至704h和705a至705h等位元線選擇閘連接到資料線703。還假設使用八個位元線選擇閘,例如位元線選擇閘BSG0[0]至BSG0[7]和BSG3[0]至BSG3[7]。對於3D陣列結構,諸如位元線選擇閘704a至704h和705a至705h、頁緩衝器701和資料線703可位於陣列區段702a和702d下方。
本實施例中劃分的區段結構提供了多個優點。首先,總位元線電容將變為1/8位元線長度的電容加上資料線電容,因為資料線703間距遠大於位元線間距。因此,總位元線電容比習知陣列小得多。這將顯著提高讀取和驗證作業中位元線的預充電和放電速度。
其次,頁緩衝器701能夠載入不同的資料到多個區段702a到702d中的位元線,以使用前述作業來執行多頁程式化和驗證作業。這將顯著提高程式化資料通量。
第三,頁緩衝器701能夠使用前述作業對多個區段702a至702d中的位元線同時執行預充電和放電作業。這將顯著增加讀取資料的通量。雖然資料線703的長度比圖26A所示的先前實施例的資料線510長,由於資料線703的電容相對小於位元線電容,圖26A中描述的讀取和驗證作業對於本實施例仍將運行。但是,由於資料線703的電容較大,速度可能會較慢。
第四,多個區段的位元線電容能夠用作資料快取,以使用圖11B至圖11C中所示的波形來儲存多頁的資料。例如,當將資料程式化到區段0中的選定頁時,可將接下來三頁的資料輸入並儲存在區段1、區段2和區段3的位元線中。在另一個實施例中,儲存在區段1、區段 2 和區段 3中的資料可使用 TLC 三層單元模式區段程式化到區段 0 中的一頁中。
對於圖26A、圖27A及圖32所示的實施例,程式化資料能夠直接儲存在位元線電容中。這減少了每條位元線的頁緩衝器所需的資料閂鎖的數目。因此,可在晶片內部封裝更多的頁緩衝器以增加讀取和寫入資料通量。然而,在”程式懸置”期間,如果請求資料位於程式化期間的區段中,則可能需要將儲存在位元線中的資料移動到其他未選擇的區段,然後才能執行讀取作業。讀取作業完成後,可從未選擇的區段中讀取資料,並載回選定的區段以繼續程式化作業。
為此目的,當對一個平面或一個集合(bank)中的所有區段進行多區段程式化時,可預留一個區段。因此,當系統發出程式懸置時,選定的區段的資料可轉移到預留的區段。從選定區段讀取請求的資料後,可將預留的區段中儲存的資料傳輸回選定的區段以繼續程式化。
圖33A顯示根據本發明的頁緩衝器和位元線選擇閘結構的另一實施例。在本實施例中,頁緩衝器820透過位元線選擇閘823a至823n連接至第一組位元線821a至821n。頁緩衝器820通過位元線選擇閘824a到824n連接到第二組位元線822a到822n。
假設第一位元線組821a至821n中的頁825被選擇用於程式化,則第二位元線組822a至822n可用於儲存程式化資料。可藉由使用以下步驟來執行多頁程式化。首先,輸入資料D[0]至D[N]藉由使用圖11A至圖11C中描述的作業依序載入第二位元線組822a至822n。資料將由位元線電容保存。其次,頁緩衝器820可使用圖11D中描述的作業依序讀取由第二位元線組保持的資料並且藉由使用圖5A至圖5E中描述的作業,將該資料載入第一位元線組821a到821n以對選定的頁825進行程式化。
在一個程式化脈衝之後,能夠執行程式化驗證作業以藉由使用圖7A至圖7D中描述的作業從選定的頁825中的程式化單元讀取資料。在圖7A至圖7D的時間T4到T6之間的時間間隔期間,第一位元線組821a至821n的資料可與第二位元線組822a至822n中儲存的輸入資料進行比較,以產生下一個程式化資料,並將下一個程式化資料載回第一位元線組821a至821n 。然後施加下一個程式化脈衝。
可交替地重複程式化和程式化驗證作業,直到從選定的頁825讀取的資料等於儲存在第二位元線組822a至822n中的輸入資料。然後,程式化作業完成。儲存在第一位元線組821a至821n和第二位元線組822a至822n中的資料可被清除。
類似地,當選定的頁位於第二位元線組822a至822n時,輸入資料能夠載入第一位元線組821a至821n並由位元線電容儲存。輸入資料能夠用於驗證第二位元線組822a至822n中選定頁的程式化資料。
在另一實施例中,當載入輸入資料時,可依序同時開啟位元線選擇閘823a至823n與824a至824n以載入輸入資料至第一位元線組821a至821n及第二位元線組 822a至822n,因為第一程式化資料可與輸入資料相同。
在讀取作業期間,圖7A至圖7D中描述的作業能夠應用來對第一組位元線821a至821n平行進行預充電和放電。然後,位元線選擇閘823a至823n能夠依序開啟以感測位元線821a至821n的資料至頁緩衝器820 。如圖33A所示的實施例還能夠應用於複層單元(MLC)、三層單元(TLC)、四層單元(QLC)或任何其他層單元的程式化。
圖33B顯示組構成用於MLC程式化的實施例。假設頁825在第一位元線組821a至821n中被選擇。輸入資料的第一頁(上頁)可依序載入第二位元線組的偶數位元線,例如822a、822c 、……至822m,並由位元線電容儲存。輸入資料的第二頁(下頁)可依序載入第二位元線組的奇數位元線,例如822b、822d、……至822n ,並由位元線電容儲存。
接下來,儲存在偶數位元線822a中的上頁資料和儲存在奇數位元線822b中的下頁資料被依序讀取到頁緩衝器820。頁緩衝器820可包含兩個資料閂鎖以儲存兩位元資料。頁緩衝器820將根據兩位元資料確定第一單元的閾值電壓位準(Vt)的程式化資料,然後將程式化資料載入第一位元線組821a至821n的第一偶數位元線821a 。
然後,下一個程式化資料由儲存在第二位元線組的位元線822c和822d中的資料確定,然後載入第一位元線組的第二偶數位元線821c 。重複此作業,直到所有程式化資料都載入第一位元線組的偶數位元線821a 、 821c 、……至821m 。然後,施加程式化脈衝以對選定的頁825上的偶數單元進行程式化。
在程式化驗證期間,儲存在第二位元線組822a到822n中的雙位元資料被依序讀取到頁緩衝器820以與從選定的頁825讀取的資料進行比較以確定下一個程式化資料。下一個程式化資料被載入回第一位元線組821a至821n的偶數位元線。然後,將施加下一個程式化脈衝。重複這些作業,直到對MLC的全部三個Vt位準都程式化成功,然後程式化作業完成。
之後,可將下一個上頁和下頁的資料分別載入第二位元線組822a至822n的偶數位元線和奇數位元線。應用上述作業以將資料程式化到第一位元線組的奇數位元線821b、821d、……至821n 。
第一位元線組821a至821n的偶數位元線和奇數位元線屬於兩頁。在讀取偶數位元線的頁的讀取作業期間,選定的頁825的字元線被提供第一讀取電壓以藉由使用圖7A至圖7D中描述的作業來讀取上頁的資料。資料被順序儲存到第二位元線組822a至822n的偶數位元線。
接下來,第二讀取電壓被提供給選定的頁825的字元線,以藉由使用圖7A至圖7D中描述的作業來讀取下頁的資料。儲存在第二位元線組822a至822n的偶數位元線中的上頁資料可被讀取到頁緩衝器820以與儲存在第一位元線組中的資料進行比較來確定下頁資料。下頁的資料然後被儲存在第二位元線組822a到822n的奇數位元線中。
接下來,第三讀取電壓被施加到選定的頁825的字元線以再次藉由使用圖7A至圖7D中描述的作業讀取下頁的資料。儲存在第二位元線組822a至822n的偶數位元線中的上頁資料和儲存在第二位元線組822a至822n的奇數位元線中的先前讀取的下頁資料可被讀取到頁緩衝器820以與儲存在第一位元線組中的資料進行比較來確定下頁的資料。下頁的資料接著被儲存在第二位元線組822a到822n的奇數位元線中。
因此,當針對第二位元線組822a至822n進行程式化作業和讀取作業時,第一位元線組821a至821n能夠分別用於儲存輸入資料和輸出資料。
圖33C顯示用於TLC程式化之應用的另一實施例。該作業類似於圖33B中所示的作業,除了TLC單元的三個輸入頁,即上頁、中頁和下頁,分別載入第二位元線組822a 、 822b 、 822c到822l 、 822m和822n之外。頁緩衝器820包含三個資料閂鎖以儲存從第二位元線組讀取的三位元資料,例如位元線822a 、 822b和822c 。頁緩衝器820會根據三位元資料決定程式化資料,並將程式化資料載入第一位元線組。結果,儲存在第二組位元線822a 、 822b和822c中的資料被程式化到第一組位元線821a 。在讀取作業期間,從第一組位元線821a上的單元讀取的三位元資料將分別儲存在第二組位元線822a 、 822b和822c中。由於 TLC 程式化和讀取作業與圖33B中描述的 MLC 作業類似,因此作業細節不再贅述。
圖33A至圖33C所示的實施例能夠執行「程式懸置」功能。例如,假設頁825正在程式化中。輸入資料儲存在第二位元線組822a至822n中。如果系統要讀取第一位元線組821a至821n的另一頁,則能夠懸置程式化作業。第一位元線組821a至821n中的程式化資料被清除,並且執行讀取作業以使用圖7A至圖7D中描述的作業從選定的頁讀取資料。讀取作業完成後,可恢復程式化作業。能夠讀取儲存於第二位元線組822a至822n中的輸入資料以再次產生用於第一位元線組821a至821n的程式化資料。
另一方面,如果讀取頁位於第二位元線組822a至822n中,則可清除第一位元線組821a至821n的資料。可讀取儲存在第二位元線組822a至822n中的資料並將其傳送到第一位元線組821a至821n 。之後,讀取第二位元線組822a至822n中的選定頁。在完成讀取作業之後,儲存在第一位元線組821a至821n中的資料可傳輸回第二位元線組822a至822n 。然後,可恢復程式化作業。
圖33A至圖33C所示的實施例還能夠執行「同時讀取/寫入」或「邊寫邊讀」作業。假設第一位元線組821a至821n正在使用圖26A至圖28B中描述的方法執行程式化作業。這種方法將輸入資料儲存在選定的位元線中,並在程式化驗證期間直接更新位元線中的資料。它不需要將輸入資料儲存在另一個地方。因此,當對第一位元線組821a至821n進行程式化時,第二位元線組822a至822n可使用圖7A至圖7D中描述的作業同時執行讀取作業。
如圖33A至圖33C所示的實施例還能夠執行「資料折疊(data folding)」作業,將儲存在 SLC 頁中的資料轉換為 MLC 或 TLC 頁。此模式用於增強程式化資料通量。在順序寫入作業期間,系統能夠使用 SLC 模式寫入資料。這顯著減少了寫入時間。在閒置時間期間,儲存在 SLC 頁中的資料將被讀取並使用 MLC 或 TLC 模式重新程式化到其他頁。之後,SLC 頁被清除。這可增加資料儲存密度。
再次參考圖33C,假設頁826是SLC頁。為了將資料從SLC頁826傳輸到TLC頁面825,藉由使用圖7A至圖7D中描述的作業來讀取SLC頁826的資料。第二位元線組822a至822n由SLC頁826上的單元預充電和放電。然後,藉由使用圖33B和圖33C中描述的MLC和TLC程式化作業,頁緩衝器820依序讀取第二組位元線822a至822n的資料,以確定TLC頁825的程式化資料。例如,第二位元線822a 、 822b和822c的資料用於確定第一位元線組的位元線821a的程式化資料。結果,儲存在SLC頁826中的資料被程式化到TLC頁825的1/3位元線,例如位元線821a 、 821d 、……至821l 。
之後,能夠讀取第二位元線組822a至822n中的下一個SLC頁,並重複上述作業以將資料程式化到TLC頁825的下一個1/3位元線,例如位元線821b、821e、……至821m 。之後,第二位元線組822a至822n中的第三個SLC頁能夠被讀取程式化至TLC頁825的下一1/3位元線,例如位元線821c 、 821f 、……至821n 。
圖34A顯示習知3D NAND快閃記憶體的頁緩衝器和位元線連接。金屬位元線901a至901d在3D單元陣列的頂部運行。3D 單元未在圖34A中顯示,但詳細的3D陣列結構可見於圖10D、圖10E和圖17C。頁緩衝器902a至902d電路位於3D陣列下方。位元線901a到901d透過垂直觸點903a到903d連接到頁緩衝器902a到902d。
雖然在圖34A的實施例顯示頁緩衝器902a至902d在X方向上的間距是位元線901a至901d的間距的四倍,該圖僅用於示範目的的示例。實際比例由實際佈局尺寸和技術決定。例如,如果頁緩衝器902a至902d的X間距是位元線901a至901d的X間距的32倍,則沿Y方向的頁緩衝器的數目將變為32,而不是4。
圖34B顯示根據本發明的頁緩衝器和位元線連接的實施例。此實施例顯示位元線選擇閘904a到904d 。位元線選擇閘904a將位元線901a至901d連接到頁緩衝器902a。位元線選擇閘904d將位元線901m到901p連接到頁緩衝器902d 。藉由使用這種結構,可同時讀寫的位元線數目增加了4倍。這將資料通量提高了 4 倍。
此外,由於位元線長度減少到1/4,位元線電容也減少到1/4。因此,在讀取作業和程式化驗證作業的讀取時間中占主導地位的位元線放電時間可粗略地減少到大約1/4。如果頁緩衝器的X間距是位元線的32倍,則資料通量可增加32倍。讀取和程式化驗證時間可粗略地減少到大約 1/32。
圖34C顯示圖33A至圖33C中所示實施例的頁緩衝器和位元線連接的另一實施例。在本實施例中,第一組位元線901a至901d透過位元線選擇閘904a連接至頁緩衝器902a 。第二組位元線901e至901h透過位元線選擇閘904b連接到頁緩衝器902a 。該實施例的位元線長度是圖34B所示實施例的位元線長度的1/2。
圖35顯示三層單元TLC的示例性Vt分布。單元具有八個Vt位準(Vt0至Vt7),以表示三位元資料(如顯示的資料D0到D2)。一單元的資料D0到D2位元能夠屬於三頁(頁0到頁2)。這三頁的資料能夠被獨立讀取。
如圖35所示,黑條指示用於讀取每一位元的字元線電壓位準。為了讀取單元的D0位元,選定的字元線被依序提供電壓VR1和VR5。未選定的字元線被提供有高於Vt7的通過電壓VPAS,以開啟NAND單元字串上的所有其他未選定的單元。
當施加電壓VR1 時,Vt0 單元將打開,Vt1 至 Vt7 單元將關閉。當施加 VR5 時,Vt0 至 Vt4 單元將打開,Vt5 至 Vt7單元將關閉。然後控制邏輯對VR1和VR5讀出的兩個資料執行互斥或(XOR) 功能,以確定D0位元資料。
類似地,為了讀取D1位元,選定的字元線被依序提供電壓VR2、VR4和VR6。控制邏輯對VR2、VR4、VR6讀出的三個資料執行XOR功能,以確定D1位元資料。
類似地,為讀取D2位元,選定的字元線依序被提供電壓VR3和VR7。控制邏輯對VR3和VR7讀出的兩個資料執行XOR功能,以確定D2位元資料。
在一實施例中,頁緩衝器具有三個資料閂鎖,用於儲存為了D0和D2位元讀出的兩個資料,以及為了D1位元讀出的三個資料。因此,儲存在資料閂鎖中的資料可用於執行XOR功能,以生成 D0 至 D2 位元的最終資料。
如圖35所示的資料分配係示例性的而非限制性的,因為存在許多其他方式來分配D0到D2位元。能夠調整或修改各種實施例以應用於幾乎任何資料分配。在一實施例中,可藉由使用頁緩衝器中的一個資料閂鎖來讀取TLC單元。
圖36顯示根據本發明的單一位元閂鎖頁緩衝器電路的實施例。資料閂鎖918 (包括具有節點Q和QB的兩個反相器)將資料儲存在節點Q中。偏壓裝置910連接到位元線BL。預充電裝置911連接到感測節點SA。還包括鎖存通道閘912 。為閂鎖918提供重置裝置913和設定裝置914。感測裝置915的閘連接到SA節點。
圖37A顯示使用如圖36所示的單一位元閂鎖頁緩衝器來讀取D0位元的方法。在各種實施例中,位於與記憶體陣列相同的積體電路上的控制單元或狀態機(state machine)產生如圖36及圖41A所示的各種控制信號。在步驟920a中,資料閂鎖918的節點Q藉由開啟重置裝置913和感測裝置915被重置為資料1(VDD) ,如虛線916所示。藉由開啟預充電裝置911以將SA節點上拉至VDD來開啟感測裝置915 。在步驟920b中,選定的字元線被提供有電壓VR1以讀取耦合到位元線(BL)的單元。如果單元是關斷單元,感測節點SA將被拉高並且將開啟感測裝置915 ,如虛線919所示。在步驟920c中, SET脈衝將被施加到設定裝置914以將閂鎖的節點Q設置(或翻轉)到資料0(0V),如虛線917所示。如果單元是導通單元,感測節點SA將被拉低並且將關閉感測裝置915 ,如虛線919所示,因此閂鎖的節點Q將保持在資料1(VDD)。參考圖37D,如STEP 1所示,當對選定的字元線施加電壓VR1時,Vt0單元會導通,Vt1至Vt7單元會關斷。因此,前文描述的作業會將 Vt0 單元的閂鎖設定為資料 1,將 Vt1 至 Vt7 單元的閂鎖設定為資料 0。
再次參考圖37A ,在步驟920d中,向選定的字元線提供電壓VR5以讀取單元。如果單元是關斷單元,感測節點SA將被拉高並開啟感測裝置915 。 信號RES脈衝將被施加到重置裝置913以將閂鎖的節點Q重置(或翻轉)到資料1(VDD),如步驟920e中所示。如果該單元為導通單元,則感測節點SA會被拉低並關閉感測裝置915 ,此時節點Q的資料會保持不變。再次參考圖37D,如STEP 2所示,當對選定的字元線施加電壓VR5時,Vt0至Vt4單元將導通,Vt5至Vt7單元將關斷。因此,前文描述的作業會將 Vt5 到 Vt7 單元的閂鎖重置為資料 1,而 Vt0 到 Vt4 的資料保持不變。結果,藉由使用單一資料閂鎖成功讀取如圖35所示的D0位元資料。
圖37B顯示用於使用圖36中所示的單一閂鎖頁緩衝器讀取D1位元的示例性方法。在步驟921a中,資料閂鎖918的節點Q藉由開啟重置裝置913和感測裝置915被重置為資料1(VDD) ,如虛線916所示。在步驟921b中,選定的字元線被提供有電壓VR2以讀取單元。如果單元是關斷單元,感測節點SA將被拉高並開啟感測裝置915 。 信號SET脈衝將被施加到設定裝置914以將閂鎖的節點Q設定為資料0(0V),如步驟921c中所示。如果單元是導通單元,感測節點SA將被拉低並關閉感測裝置915 ,因此閂鎖的節點Q將保持在資料1(VDD)。參考圖37E,如STEP 1所示,當將電壓VR2施加到選擇字元線時,Vt0和Vt1單元將被打開,而Vt2至Vt7單元將被關閉。因此,前文描述的作業會將 Vt0 和 Vt1 單元的閂鎖設定為資料 1,將 Vt2 至 Vt7 單元的閂鎖設置為資料 0。
再次參考圖37B ,在步驟921d中,向選定的字元線提供電壓VR4以讀取單元。如果單元是關斷單元,感測節點SA將被拉高並開啟感測裝置915 。信號RES脈衝將被施加到重置裝置913以將閂鎖的節點Q重置為資料1(VDD),如步驟921e中所示。如果單元是導通單元,感測節點SA將被拉低並關閉感測裝置915 ,則節點Q的資料將保持不變。再次參考圖37E,如STEP 2所示,當將電壓VR4施加到選擇字元線時,Vt0至Vt3單元將被開啟,而Vt4至Vt7單元將被關閉。因此,前文描述的作業會將 Vt4 到 Vt7 單元的閂鎖重置為資料 1,而 Vt0 到 Vt4 的資料保持不變。
再次參考圖37B ,在步驟921f中,選定的字元線被施加電壓VR6以讀取單元。如果單元是關斷單元,感測節點SA將被拉高並開啟感測裝置915 。 信號SET脈衝將被施加到設定裝置914以將閂鎖的節點Q設置為資料0(0V),如步驟921g中所示。如果該單元為導通單元,則感測節點SA會被拉低並關閉感測裝置915 ,此時節點Q的資料會保持不變。參考圖37E,如STEP 3所示,當將電壓VR6施加到選擇字元線時,Vt0至Vt5單元將被開啟,而Vt6至Vt7單元將被關閉。因此,前面描述的作業會將 Vt6 到 Vt7 單元的閂鎖重置為資料 0,而 Vt0 到 Vt5 的資料保持不變。結果,藉由使用單一資料閂鎖成功讀取圖35所示的D1位元資料。
圖37C顯示用於使用圖36中所示的單一閂鎖頁緩衝器讀取D2位元的示例性方法。該作業與圖37A基本相同,除了在步驟922b和步驟922d中施加的字元線電壓分別為電壓VR3和VR7之外。為簡單起見,可參考關於圖37A的描述,此處將不再贅述。
圖38A顯示波形的實施例,其說明用於根據本發明使用圖36中所示的單一閂鎖頁緩衝器電路讀取D0位元的信號。 從時間T1到T5的波形說明圖37A所示的步驟920a到920c的作業。從時間T5到T8的波形說明了圖37A中步驟920d和920e的作業。
在時間T1,信號PREB變低以開啟預充電裝置911 。這將拉高SA節點並開啟感測裝置915 。信號RES 脈衝變高以將閂鎖的節點Q重置為資料 1 (VDD)。同時,信號BIAS變高至 VDD 或電壓 Vpre,以將位元線(BL)預充電至 VDD-Vt 或 Vpre-Vt。 Vt是偏壓裝置910的閾值電壓。
在時間T2,信號PREB變高至VDD以關閉預充電裝置911或電壓Vref以從預充電裝置911提供負載電流。負載電流可能低於導通單元的電流。選定的字元線(WL)被提供第一讀取電壓VR1。這將打開 Vt0 單元並開始為位元線 BL 放電,如圖所示。 Vt1 到 Vt7 單元將保持關閉狀態,因此它們的位元線不會放電。 信號BIAS電壓低於電壓Vbias。這將關閉偏壓裝置910 。
當位元線放電至低於Vbias-Vt時,偏壓裝置910將開啟以放電感測節點SA,如時間T3所示。在另一實施例中,BIAS信號在時間T2變為0V以關閉偏壓裝置910,並且在時間T3變為Vbias或VDD以開啟偏壓裝置910 。這會將 SA 節點放電至位元線(BL)電壓。在另一實施例中,電壓Vbias-Vt被設計為低於感測裝置915的閾值電壓。因此,對於導通單元,感測裝置915將被關閉。相反,對於關斷單元,位元線(BL)和感測節點SA將保持在高位準,因此感測裝置915被開啟。在時間T4,信號SET脈衝被施加到設置裝置914以將關斷單元的資料閂鎖Q設定為資料0(0V)。 導通單元的資料閂鎖將保持在資料 1 (VDD)。圖37A中所示的步驟920a至920c被執行完成。
在時間T5,信號PREB再次變低以開啟預充電裝置911 。信號BIAS成為VDD 或 Vpre 以將位元線預充電至 VDD-Vt 或 Vpre-Vt。在時間T6,信號PREB變高至VDD以關閉預充電裝置911或電壓Vref以提供來自充電裝置911的負載電流。選定的字元線(WL)被提供有第二讀取電壓VR5。這將打開 Vt0 到 Vt4 單元並開始將位元線放電。 Vt5 到 Vt7 單元將保持關閉狀態,因此它們的位元線不會放電。
當位元線放電至低於Vbias-Vt時,偏壓裝置910將開啟以使感測節點SA放電,如時間T7所示。在另一實施例中,信號BIAS在時間T6變為0V以關閉偏壓裝置910,並且在時間T7變為Vbias或VDD以開啟偏壓裝置910 。這會將感測節點SA放電至位元線BL電壓並關閉感測裝置915 。對於關斷單元,位元線BL和感測節點SA都將保持高位準,因此感測裝置915被打開。在時間T8,信號RES脈衝被施加到重置裝置913以將關斷單元的資料閂鎖Q重置到資料1(VDD)。 導通單元的資料閂鎖將保持不變。圖37A所示的步驟920d至920e執行完成。
圖38B顯示說明用於使用圖36中所示的單一閂鎖頁緩衝器電路讀取D1位元的信號的波形的實施例。該作業類似於讀取D0位元,不同之處在於選定的字元線被依序提供三個電壓(電壓VR2、VR4和VR6)。在時間T1至T5間隔期間,執行圖37B中的步驟921a至921c。在時間T5至T9間隔期間,執行圖37B中的步驟921d和921e。在時間T9至T12間隔期間,執行圖37B中的步驟921f和921g。
圖39顯示根據本發明的頁緩衝器電路的另一實施例。所示的頁緩衝器包含三個資料閂鎖918a至918c。三個資料閂鎖儲存三個資料Q[0]到Q[2]。資料閂鎖分別由信號 R0 至 R2 和 S0 至 S2 重置和設定。頁緩衝器電路通過位元線選擇閘924a到924c連接到三條位元線BL[0]到BL[2]。
在程式化期間,信號P0到P2和BSG[0]到BSG[2]被依序打開以將程式化資料從資料Q[0]到Q[2]分別施加到位元線BL[0]到BL[2]。
在讀取作業期間,信號BSG[0]至BSG[2]依序導通以將位元線BL[0]至BL[2]分別連接至感測節點SA。感測節點SA將根據位元線BL[0]至BL[2]的電壓開啟或關閉裝置915。重置和設定脈衝信號 R0 至 R2 和 S0 至 S2 將分別被施加以重置或設定相應的資料閂鎖。
圖40顯示波形的實施例,其說明用於使用圖39所示的頁緩衝器電路從位元線BL[0]到BL[2]讀取D0位元的信號。作業類似於圖38A,不同之處在於在時間T1至T2期間, 信號BSG[0]至BSG[2]同時導通以對位元線BL[0]至BL[2]進行預充電。在時間T2至T3期間,選定的字元線被提供有第一讀取電壓VR1。 信號BSG[0]至BSG[2]被關閉以允許位元線BL[0]至BL[2]同時由導通單元放電。在時間T3到T5期間,依序開啟信號BSG[0]到BSG[2],分別將位元線BL[0]到BL[2]連接到感測節點SA。相應的設定脈衝信號S0 至 S2 被施加以將關斷單元的資料閂鎖Q[0] 至 Q[2] 設置為資料 0 (0V)。結果,圖37A中所示的步驟920a至920c完成執行。
在從時間T5到時間T6,位元線選擇閘信號BSG[0]到BSG[2]導通,對位元線BL[0]到BL[2]重新進行預充電。在時間T6至T7期間,選定的字元線被提供有第二讀取電壓VR5。 位元線選擇閘信號BSG[0]至BSG[2]被關閉以允許位元線BL[0]至BL[2]同時由導通單元放電。在時間T7到T8期間,依序開啟位元線選擇閘信號BSG[0]到BSG[2],分別將位元線BL[0]到BL[2]連接到感測節點SA。相應的重置脈衝信號 R0 至 R2 被施加以將關斷單元的資料閂鎖Q[0] 至 Q[2] 重置為資料 1 (VDD)。結果,圖37A中所示的步驟920d和920e 完成執行。
在一個實施例中,與圖40所示的作業類似的作業可應用於從位元線BL[0]到BL[2]讀取D1和D2位元。在讀取D1位元時,可依序為選定的字元線提供電壓VR2、VR4和VR6三個電壓,如圖38B所示。讀取D2位元時,作業與圖40類似,除了選定的字元線被依序提供電壓VR3和VR7之外。
藉由使用本文描述之新穎的方法和裝置,頁緩衝器中的資料閂鎖的數目可減少到1/3,同時保持相同的資料通量。這允許陣列具有更多的“平面”以進一步增加資料通量,並減少由於更短的位元線長度造成更短的位元線放電時間而導致的讀取等待時間。
需要注意的是,雖然實施例以TLC為例,但是相同的方法可應用於任意數目的多層單元,例如MLS、QLC等。例如,對於MLC,頁緩衝器可包含兩個資料閂鎖同時讀取兩條位元線。對於QLC,頁緩衝器可包含四個資料閂鎖以同時從四條位元線讀取資料。
圖41A顯示圖36中實現使用互補邏輯之頁緩衝器電路的示例性替代實施例。本實施例中,設定和重置裝置933、934和935由NMOS電晶體改為PMOS電晶體,連接到設定和重置裝置935的功率位準從0V變為VDD。以這種方式,電路的作業將被改變為使用導通單元條件而不是關斷單元條件來翻轉閂鎖938。
圖41B至圖41D顯示與圖41A所示頁緩衝器電路之作業相關聯的示例性方法和圖表。
圖41B顯示用於使用圖41A中所示的頁緩衝器電路讀取D1位元的示例性方法。在此實施例中,如步驟941b 、 941d和941f所示,選定的字元線電壓從電壓VR6、VR4到VR2自斜升變為斜降。
在步驟941a中,通過接通設定和重置裝置933和940將閂鎖重置為資料0。設定和重置裝置940將感測節點SA拉至0V以開啟設定和重置裝置935以將節點QB拉至VDD。
在步驟941b中,選定的字元線被提供有讀取電壓VR6。如果該單元是導通單元,它將使位元線和感測節點SA放電,如虛線939所示。當感測節點SA放電到VDD-Vt 以下,它將打開設定和重置裝置935 。
在步驟941c中,信號SETB脈衝被施加到設定和重置裝置934以將閂鎖的節點Q設置為資料1(VDD)。如果單元是關斷單元,則感測節點SA將被拉高至VDD,這關閉設定和重置裝置935 ,因此閂鎖的節點Q將保持在資料0(0V)。
參考圖41D,如STEP 1所示,當將電壓VR6施加到選擇字元線時,Vt0至Vt5單元將導通,而Vt6至Vt7單元將關閉。因此,Vt0 到 Vt5 的閂鎖資料將被設置為 1,而 Vt6 和 Vt7 的閂鎖資料將保持為 0。
在步驟941d中,選擇的字元線被提供有電壓VR4。導通單元將位元線和感測節點SA放電至VDD-Vt以下以開啟設定和重置裝置935 ,而關斷單元的感測節點SA將被上拉至VDD以關閉設定和重置裝置935 。
在步驟941e中,信號RESB脈衝被施加到設定和重置裝置933以將閂鎖的導通單元的節點Q重置為資料0(0V),而閂鎖的關斷單元的節點Q保持不變。
參考圖41D,如STEP 2所示,當將電壓VR4施加到選擇字元線時,Vt0到Vt3單元將導通,而Vt4到Vt7單元將關閉。因此,Vt0至Vt3的閂鎖資料將被設置為0,而Vt4至Vt7的閂鎖資料將保持不變。
在步驟941f中,選定的字元線被提供有電壓VR2。導通單元將位元線和感測節點SA放電至VDD-Vt以下以開啟設定和重置裝置935 ,而關斷單元的感測節點SA將被上拉至VDD以關閉設定和重置裝置935 。
在步驟941g中,信號SETB脈衝被施加到設定和重置裝置934以將閂鎖的導通單元的節點Q設定為資料1(VDD),而閂鎖的關斷單元的節點Q保持不變。
參考圖41D,如STEP 3所示,當將電壓VR2施加到選擇字元線時,Vt0和Vt1單元將導通,而Vt2至Vt7單元將關閉。因此,Vt0和Vt1的閂鎖資料將被設定為1,而Vt4至Vt7的閂鎖資料將保持不變。
結果,圖35所示的D1資料藉由使用單個資料閂鎖成功讀取。此外,類似的作業也能夠用於讀取 D0 和 D2 位元。為簡單起見,這裡不再重複讀取D0和D2位元的詳細作業。
圖41C顯示用於本實施例中使用圖41A的電路讀取D1位元的波形圖表。圖41C中的波形類似於圖38B所示的波形,不同之處在於字元線電壓從V電壓VR6、VR4斜降到電壓VR2而不是斜升,並且資料閂鎖最初重置為資料0(0V)而不是資料1(VDD)。此外,在圖41A中顯示控制裝置940的信號DIS。如圖41A所示之頁緩衝器電路可應用於實現3位元資料閂鎖頁緩衝器電路,如圖39所示,並通過在圖40所示的波形上使用斜降而不是斜升字元線電壓來作業。
圖42A至圖42B顯示根據本發明提供用於使用單一位元閂鎖讀取各種類型的多層單元的字元線電壓位準的圖表。例如,圖42A顯示用於讀取複層單元(MLC)的圖表。圖42B顯示用於讀取四級單元(QLC)的圖表。黑條表示用於讀取每個位元的字元線電壓位準。例如,參考圖42A,為了讀取D0,使用字元線電壓VR2,為了讀取D1,使用字元線電壓VR1和VR3。
讀取資料時,D0、D1、D2位元是獨立讀取的。例如,如果系統只需要從圖35所示的單元中讀取D2資料,然後參考圖37C示出和描述的作業被用於讀取D2資料。不讀取 D0 和 D1 的資料。因此,可實現通用的製程流程以利用所示的字元線電壓位準來讀取任何一個或多個資料位元。
需要注意的是,多層單元的資料分配不限於一種配置。因此,讀取作業根據資料分配進行配置。
圖42C至圖42F顯示了為TLC分配D0-D2的四個示例性配置。假設如圖36所示頁緩衝器電路用於實現TLC讀取作業。圖42C顯示其中Vt0的D0-D1資料被分配為1的配置。因此,可通過將資料閂鎖918的初始資料設置為1,施加斜升字元線電壓,然後對於各字元線電壓位準翻轉關斷單元的資料來讀取資料。斜升字元線電壓為電壓VR3、VR7,用於讀取D0;電壓 VR2、VR4、VR6用於讀取D1; VR1、VR5用於讀取D2。
圖42D顯示其中用於Vt0的D0-D1資料被分配為0的配置。因此,可藉由將閂鎖918的初始資料設定為0,施加斜升字元線電壓,然後對於每個字元線電壓位準翻轉關斷單元的資料來讀取資料。斜升字元線電壓與圖42C相同。
圖42E顯示另一種配置,其中Vt7的D0-D1資料被指定為1。因此,可通過將資料閂鎖918的初始資料設置為1、施加斜降字元線電壓、然後對於每個位元線電壓位準翻轉導通單元的資料來讀取資料。用於讀取 D0 的斜降字元線電壓為電壓VR7,然後是電壓VR3;用於讀取 D1 的是電壓VR6、VR4,然後是電壓VR2;用於讀取 D2 的是電壓VR5,然後是電壓VR1。
圖42F顯示 Vt7 的 D0-D1 資料被分配為 0 的配置。因此,可藉由將閂鎖918的初始資料設定為 0,施加斜降字元線電壓,然後對於每個字元線電壓位準翻轉導通單元的資料來讀取資料。斜升字元線電壓與圖42E相同。
圖43顯示根據本發明的用於使用單一位元閂鎖讀取多層單元中的位元的示例性方法4300 。例如,該方法適用於使用圖36所示的單一位元閂鎖電路來讀取多層單元。
在方塊4302 ,識別要從多層單元讀取的一個或多個位元。例如,如圖35所示的位元D0、D1和D2被識別為待讀。
在方塊4304 ,識別要用於讀取每個被識別位元的字元線電壓位準。例如,圖35中所示的字元線電壓位準被識別為讀取位元 D0、D1 和 D2。例如,為了讀取D0,識別字元線電壓位準為電壓VR1和VR5。為了讀取D1,識別字元線電壓位準為電壓VR2、VR4和VR6,並且為了讀取D2,識別字元線電壓位準為電壓VR3和VR7。
在方塊4306 ,選擇要讀取的位元。例如,選擇讀取位元D0。
在方塊4308 ,選擇第一字元線電壓位準以用於讀取選定的位元。例如,選擇字元線電壓位準VR1來讀取位元D0,如圖35所示。
在方塊4310 ,單一位元閂鎖的閂鎖輸出被設定為初始位準。例如,如圖36所示,資料閂鎖918的輸出Q被設定為初始值1。
在方塊4312 ,將選定的字元線位準施加於單元。例如,施加字元線電壓位準VR1以讀取單元。
在方塊4314 ,感測單元的輸出並且如果單元被確定為關斷單元則翻轉閂鎖。例如,如圖36 ,單元的輸出在感測節點SA處被感測。如果該單元是關斷單元,則閂鎖的輸出Q被翻轉。例如,資料閂鎖918的輸出Q被信號RES翻轉為值0。還應注意的是,在另一實施例中,閂鎖電路可使用如圖41A所示的互補邏輯來實現。在那種情況下,如果單元是導通單元,則閂鎖被翻轉。
在方塊4316 ,確定是否有更多字元線電壓位準要施加到單元以讀取選定的位元。如果有更多的字元線電壓位準要施加,則該方法進行到方塊4318 。如果沒有更多的字元線電壓位準要施加,則該方法進行到方塊4320 。在這個例子中,為了讀取 D0,下一個字元線電壓位準(電壓VR5)將被施加到單元。該方法然後進行到方塊4318以將該電壓位準施加到單元並處理感測到的結果。
在方塊4318,選擇要施加的下一個字元線電壓位準。該方法然後進行到方塊4312。應當注意,當該方法返回到方塊4314時,如果該單元是關斷單元,則資料閂鎖918的輸出Q被信號SET再次翻轉為值1。因此,資料閂鎖918的輸出透過每次調整被翻轉(或觸發)。
在方塊4320,閂鎖保存資料位元的值。例如,由於沒有更多的字元線電壓位準施加到單元,閂鎖918保持選定的資料位元的值。
在方塊4322 ,確定是否有更多資料位元要從單元中讀取。如果有更多資料位元要讀取,則該方法進行到方塊4306 。如果沒有更多的資料位元要讀取,則該方法結束。例如,要讀取D1位元,該方法進行到方塊4306以選擇該位元進行讀取。再次執行上述作業讀取D1位元。該方法將再次返回方塊4306以再次執行上述作業以讀取D2位元。讀取 D2 位元後,該方法結束。
因此,根據本發明,方法4300使用單一位元閂鎖來讀取多層單元中的位元。應當注意,所提供的作業是示例性的,並且添加、刪除、改變和/或修改皆在實施例的範圍內。
在各種示例性實施例中,提供了使用位元線電容來儲存程式化和讀取資料,並使用頁緩衝器來載入和感測資料以增加資料通量的方法和裝置。然而,由於位元線電容需要時間來充電和放電,當資料直接載入位元線電容時,I/O匯流排可使用較慢的時鐘速率以確保資料被正確載入。這可能會降低 I/O 匯流排速度。
圖44A至圖44B顯示根據本發明的示例性陣列結構以及資料載入和輸出順序。
圖44A顯示包括記憶體單元陣列101和包含頁緩衝器209a至209m的頁緩衝器方塊103的示例性架構。該架構還包括將頁緩衝器連接到位元線BLa[0:n]到BLm[0:n]的位元線選擇閘106 。 I/O匯流排600被示為具有從8位元到64位元的頻寬。
圖44B顯示圖44A中所示電路的資料載入順序。位元線選擇閘信號BSG[0:n]依序導通以將來自I/O匯流排600的資料分別載入位元線BLa[0]至BLm[n]。在T1時間期間,信號BSG[0]變高以選擇位元線BLa[0]至BLm[0]分別連接至頁緩衝器209a至209m 。資料從I/O匯流排600依序載入頁緩衝器209a至209m ,然後載入位元線BLa[0]到BLm[0],其定義為PAGE[0]。假設有 4KB 頁緩衝器,I/O 匯流排寬度為一個位元組。進一步假設I/O匯流排時鐘週期為10ns。 4KB資料從I/O匯流排600載入4KB頁緩衝器106 ,然後位元線BLa[0]到BLm[0] 從第一個位元組資料到最後一個位元組。每個位元組需要 10ns,因此載入 4KB 頁的時間間隔時間T1將為40微秒(us)。這段時間對於將資料的第一個位元組載入位元線來說綽綽有餘。然而,在信號BSG[0] 變為低位準之前,資料的最後一個位元組只有10ns 的時間載入位元線中。這可能沒有足夠的時間將最後一個位元組的資料載入高電容位元線中,因此載入資料作業可能會失敗。
對於輸出資料,可使用與圖44B所示相同的波形。在時間T1間隔期間,信號BSG[0]選擇位元線BLa[0]至BLm[0]連接到頁緩衝器209a至209m 。同時,I/O匯流排輸出來自頁緩衝器209a至209m的資料。同樣,對於最後一個位元組,只有 10ns 的時間將資料從位元線讀取到 I/O 匯流排。讀取最後一個位元組的時間可能不夠,因此輸出資料作業可能會失敗。
為解決上述指出的問題,一種解決方案是延遲信號BSG[0]變低的時間。但是,這會降低 I/O 速度,因此不是首選。另一種技術是添加額外的資料暫存器,如圖1A所示的資料暫存器104a至104d。然而,這增加了晶元尺寸。
圖45A至圖45C顯示根據本發明的示例性陣列結構和資料載入和輸出順序。
圖45A顯示根據本發明的示例性架構。記憶體陣列101被分成兩個次陣列,即陣列1(次陣列101a)和陣列 2(次陣列101b)。陣列1和陣列2分別透過位元線選擇閘方塊(位元線選擇閘106a和106b)連接到頁緩衝器方塊(頁緩衝器103a和103b)。位元線選擇閘方塊(位元線選擇閘106a和106b)分別連接到不同的位元線選擇閘信號BSG1[0:n]和BSG2[0:n]。頁緩衝器方塊(頁緩衝器103a和103b)連接到I/O匯流排600 。
圖45B顯示與圖45A所示的架構一起使用的示例性資料載入順序。如圖所示,位元線選擇閘信號BSG1[0:n] 和 BSG2[0:n]交錯。 I/O匯流排600交替地將資料載入頁緩衝器方塊(頁緩衝器103a和103b) 。例如,在時間T1期間,I/O匯流排將第一頁資料(PG1[0])載入第一頁緩衝器103a方塊 。然後,頁緩衝器103a將資料載入由BSG1[0]選擇的位元線。在時間間隔T2期間,I/O匯流排將第二頁資料(PG2[0])載入第二頁緩衝器103b方塊。同時,由於信號BSG1[0]仍為高位準,第一頁緩衝器103a方塊繼續載入第一頁資料至由信號BSG1[0]選擇的位元線。結果,圖44A至圖44B所示的最後一個位元組的資料載入時間不足的問題被解決了。
假設頁緩衝器方塊(頁緩衝器103a和103b)各自是2KB的頁緩衝器。具有與圖44A和圖44B所示示例相同的I/O頻寬和時鐘速率,時間T2間隔的長度為20微秒(us),這對於第一頁緩衝器103a的最後位元組載入位元線中來說是非常足夠的時間。結果,圖44A和圖44B所示的載入時間問題就解決了。此外,可增加I/O匯流排的時鐘速率以提高資料傳輸速率。
圖45C表示圖45A所示實施例的資料輸出順序。在時間T3間隔期間,信號BSG1[0]變高以選擇陣列1中的位元線連接到第一頁緩衝器103a方塊以讀取第一頁資料(PG1[0])。在時間T4間隔期間,信號BSG2[0]變高以選擇陣列2中的位元線連接到第二頁緩衝器103b方塊以讀取第二頁資料(PG2[0])。在同一時間T4間隔期間,I/O匯流排從頁緩衝器103a方塊輸出第一頁資料。
使用圖45B中所示相同 I/O 頻寬和時鐘速率,時間T3長度為20微秒(us),這足以將資料從位元線讀取到頁緩衝器。結果,圖44B所示的輸出作業的問題得以解決。此外,可增加I/O匯流排的時鐘速率以提高資料傳輸速率。
圖46A至圖46C顯示了根據本發明的示例性陣列結構和資料載入和輸出順序。
圖46A顯示根據本發明的示例性架構的另一個實施例。在本實施例中,陣列進一步分為四個次陣列,即陣列1(次陣列101a)至陣列4(次陣列101d)。四個次陣列分別通過四個位元線選擇閘方塊(位元線選擇閘106a至106d)連接到四個頁緩衝器方塊(頁緩衝器103a至103d)。位元線選擇閘方塊(位元線選擇閘106a至106d)分別由四組位元線選擇閘信號BSG1[0:n]至BSG4[0:n]控制。
圖46B顯示與圖46A中所示架構一起使用的資料載入順序。用於位元線選擇閘方塊(位元線選擇閘106a至106d)的位元線選擇閘信號BSG1[0:n]至BSG4[0:n]組如圖所示交錯。在時間T1間隔期間,第一頁資料被載入第一頁緩衝器103a方塊中。在時間T2間隔期間,第一頁資料繼續載入由信號BSG1[0]選擇的位元線。根據圖44B所示的I/O寬度和時鐘速率,時間T1和T2間隔分別是10微秒(us)和30微秒(us)。因此,對於本實施例,資料有更多的時間載入位元線電容中。此外,還可進一步提高 I/O 時鐘速率以提高資料傳輸速率。
圖46C顯示與圖46A中所示架構一起使用的輸出資料順序。在時間T3間隔期間,第一頁資料從信號BSG1[0]選擇的位元線讀取到第一頁緩衝器103a方塊 。在時間T4間隔期間,第一頁資料從頁緩衝器103a方塊輸出到I/O匯流排。時間T3和T4間隔分別為30微秒(us)和10微秒(us)。因此,對於這個實施例,資料有更多時間從位元線讀取到頁緩衝器。此外,還可進一步提高 I/O 時鐘速率以提高資料傳輸速率。在各種示例性實施例中,所使用的次陣列的數目不受限制,例如,次陣列的數目可是2、4、8、16或任何合適的數目。
在各種示例性實施例中,在程式化作業期間,程式化資料被載入多條位元線並儲存在位元線電容中以執行程式化作業。如果位元線上的抑制電壓(VDD)洩漏到低於VDD-Vt,則可能會打開選定的字串的汲極選擇閘(DSG),並導致儲存在該字串通道中的抑制電壓(8V)變為洩漏到位元線。結果,被抑制的單元可能被意外地程式化。
如圖5A所示,程式化脈衝(Tpgm)的時間間隔約為10us至30us。位元線電容約為 1pF 至 5pF。如果洩漏電流高於20nA,則可能在程式化脈衝時間間隔期間將位元線電壓從VDD洩漏到低於VDD-Vt。通常,位元線的接面洩漏電流遠低於20nA。然而,當位元線長度減小時,位元線電容減小並且裕度變小。
為了解決這個問題,可執行“再新”作業以維持位元線電壓。參考圖6F所示的電路,在程式化作業期間,程式化資料被儲存在位元線電容206a至206n中。為了保持位元線電容206a至206n的電壓,可執行再新作業以依序開啟位元線選擇閘202a至202n以分別將頁緩衝器200連接至位元線201a至201n ,以使用感測放大器208感測選定的位元線電壓並將該電壓恢復到全VDD或0V位準。
圖47A至圖47B顯示根據本發明的用於再新作業的波形的實施例。所提供的波形將參照圖3C中所示的詳細頁緩衝器電路進行討論。
圖47A示出用於再新儲存抑制資料1(VDD)的位元線的作業。假設位元線(BL)有洩漏,電壓下降到VDD-dV,其中dV是比Vt低的一個電壓差。在時間T0,信號PREB和BIAS都被施加0V,以開啟預充電裝置303並關閉偏壓裝置306以將感測節點SA充電至VDD。在時間T1,施加信號SET脈衝以將閂鎖207的節點Q設定為0V。在時間T2,信號BIAS被提供有偏置電壓Vbias以開啟偏壓裝置306以感測位元線(BL)電壓。 信號PREB被供應參考電壓Vref以限制預充電裝置303的上拉電流。因為位元線(BL)電壓高於Vbias-Vt,偏壓裝置306關閉,感測節點SA保持VDD以開啟感測裝置310 。在時間T3,施加信號RES脈衝以開啟重置裝置312 。因為感測裝置310開啟,所以這會將閂鎖207的節點Q重置為VDD。在時間T4,信號PGM、BIAS和PREB被施加VDD+Vt脈衝。這將分別開啟閂鎖通道閘220和偏壓裝置306,並關閉預充電裝置303。位元線(BL)將由閂鎖207的節點Q從VDD-dV充電到VDD。因此,選定的位元線的再新作業完成。在時間T5,當前的位元線選擇閘(BSG)關閉,下一位元線選擇閘(BSG)可被開啟以重複時間T0到T5的作業,以再新下一條位元線。
圖47B顯示用於再新儲存程式化資料0(0V)的位元線的作業。假設位元線(BL)有洩漏,電壓增加到dV,其中dV為低於Vt的電壓差。在時間T0,信號PREB和BIAS均被提供0V,以開啟預充電裝置303並關閉偏壓裝置306以將感測節點SA充電至VDD。在時間T1,施加信號SET脈衝以將閂鎖207的節點Q重置為0V。在時間T2,信號BIAS被供應偏置電壓Vbias以開啟偏壓裝置306以感測位元線(BL)電壓。信號PREB被供應參考電壓Vref以限制預充電裝置303的上拉電流。因為位元線(BL)電壓低於Vbias-Vt,偏壓裝置306被開啟並且將感測節點SA拉低至與位元線(BL)相同的電壓。因為感測節點SA電壓低於Vt,所以它關閉感測裝置310 。在時間T3,施加信號RES脈衝以開啟重置裝置312 。然而,閂鎖207的節點Q將保持在0V,因為感測裝置310被關閉。在時間T4,信號PGM、BIAS和PREB被施加VDD+Vt脈衝。這將分別打開通道閘220和偏壓裝置306 ,並關閉預充電裝置303。BL將由閂鎖207的節點Q從dV放電到0V。結果,選定的位元線的再新作業完成。在時間T5時間,當前的位元線選擇閘(BSG)關閉,下一個位元線選擇閘(BSG)可被打開,並重複從時間T0到T5的作業以再新下一條位元線。
在上述實施例中,VDD用作抑制電壓。在另一個實施例中,抑制電壓可是VDD-Vt。在這種情況下,在時間T4,當向信號PGM、BIAS和PREB施加脈衝時,脈衝可處於VDD位準,這將把位元線(BL)充電到VDD-Vt。
圖47A至圖47B描繪根據本發明的再新作業的實施例。再新作業的頻率取決於位元線電容和位元線洩漏電流。可重複執行再新作業以在整個程式化脈衝期間再新所有選定的位元線。
對於TLC、QLC、PLC等在一個單元中儲存很多位元的多層單元,單元電流變小,因此位元線屏蔽對於降低相鄰位元線的電容耦合非常重要。電流感測優於電壓感測,因為對於電流感測,位元線電壓由感測放大器的單元電流和負載電流的平衡決定。如果發生位元線電容耦合,經過一段時間後,位元線電壓仍會回到正確的電壓。
根據本發明的各種實施例適用於使用電壓感測或電流感測的讀取作業。對於高速應用,電流感測是首選,因為它使用比電壓感測更小的位元線電壓擺動。這顯著減少了位元線放電時間。此外,電流感測對於多層單元應用如MLC、TLC和QLC也是較佳的,因為負載電流可防止相鄰位元線的位元線電容耦合。然而,前述實施例中顯示的位元線選擇閘電路,例如圖1E中顯示的位元線選擇閘電路並不適用於電流感測,因為該電路不能從頁緩衝器向未選定的位元線提供負載電流。為了解決這個問題,揭示一種新穎的位元線選擇閘電路,其包括載入裝置以向每條位元線提供負載電流,例如圖48A所示。
圖48A顯示位元線選擇閘電路的示例性實施例,其中位元線201a至201f透過位元線選擇閘202a至202f連接到頁緩衝器200電路 。位元線201a至201f也連接到載入裝置232a至232f 。載入裝置232a至232f的閘端子連接到信號VG。載入裝置232a至232f的源極端子連接到電壓源VS。
圖48B顯示用於圖48A中所示的載入裝置232a至232f的閘信號VG和電壓源VS信號線的示例性偏壓條件的表格。在讀取作業期間,位元線選擇閘202a至202f被關閉。電壓源VS被供應正電壓,例如VDD。向閘信號VG 提供偏置電壓Vbias。在一個實施例中,偏置電壓Vbias 的電壓位準高於Vt以開啟載入裝置232a至232f以將負載電流“Iload”施加到位元線201a至201f ,如圖48C所示。負載電流Iload將位元線201a至201f充電至(Vbias-Vt)的電壓位準,其中Vt是載入裝置232a至232f的閾值電壓。
圖48D顯示位元線選擇閘電路的示例性實施例,其說明圖48B中顯示的偏壓條件下的作業。
圖48E顯示在圖48D所示的位元線選擇閘電路的作業期間產生的讀取作業波形的實施例。
在一實施例中,圖48D所示的電路包括位元線選擇閘202a至202c 、載入裝置232a至232c 、選定的單元字串250 、預充電裝置303和頁緩衝器電路的偏壓裝置306 ,例如圖3C中所示的頁緩衝器電路。預充電裝置303和偏壓裝置306形成感測電路。假設位元線BL [0]、BL[1]和BL[2]上的單元分別是導通單元、關斷單元和導通單元。在圖48E所示的預充電期間 (時間T1),載入裝置232a至232c提供負載電流以將位元線預充電至偏置電壓。電壓源 VS被提供 VDD 。載入裝置232a至232c的閘信號VG提供有偏置電壓Vbias,以開啟載入裝置232a至232c以將位元線BL[0]-[2]重新充電至 (Vbias–Vt)。同時,信號BSG[0]-[2]被提供有VDD以導通位元線選擇閘202a至202c 。信號VREF被提供0V以開啟預充電裝置303 。向信號BIAS提供偏置電壓Vbias以開啟偏壓裝置306並將所有位元線BL[0]-[2]預充電至(Vbias-Vt)。
這些單元連接到字元線WL[0-m]。向選定字元線提供讀取電壓Vread以讀取選定單元,並且向未選定字元線提供通過電壓Vpass以開啟字串中所有未選定單元。如果選定的單元是關斷單元,則位元線電壓將保持在(Vbias-Vt)的位準,如標號530所示。如果選定的單元是導通單元,則該單元將傳導電流並將位元線電壓拉至低於(Vbias-Vt)的位準,如531所示。位元線電壓531將由單元電流與載入裝置232a至232c的負載電流的比率來確定。可藉由改變載入裝置232a至232c的閘電壓VG 來調整負載電流。
在圖48E所示的時間T1至時間T2期間,信號VREF被提供參考電壓Vref,以控制預充電裝置303產生參考電流。信號BSG[0]-[2]依序導通位元線選擇閘202a至202c一段時間,以讓預充電裝置303和偏壓裝置306的感測電路感測每條位元線的電壓,如感測節點SA信號所示。如果位元線電壓為(Vbias-Vt),如標號530處所示,偏壓裝置306將被關閉並且感測節點SA將被預充電裝置303上拉至VDD。由於感測節點SA的電容很小,感測節點SA會在短時間內被拉高。如果位元線電壓低於(Vbias-Vt),如位元線電壓531所示,偏壓裝置306將被開啟並導致在位元線電容和感測節點SA電容之間發生電荷共享。由於位元線電容遠高於感測節點SA電容,感測節點SA會在很短的時間內被拉低至接近位元線電壓531。這樣,每條位元線的電壓可被頁緩衝器的感測電路高速依序感測,如圖48E的時間T1至時間T2期間所示。
在各種實施例中,在讀取作業期間,施加字元線電壓和預充電位元線電壓的時序是靈活的。例如,圖48E顯示在對位元線進行預充電的同時施加字元線電壓的實施例。在此配置中,導通單元在預充電期間 (T0-T1) 期間已由字元線電壓開啟。因此,對於導通單元,位元線電壓將被充電至位元線電壓531處所示的電壓,其由單元電流與負載電流的比率決定。對於關斷單元,位元線電壓將被負載電流充電至電壓(Vbias-Vt),如標號530處所示。時間T0至時間T1可稱為“位元線穩定時間”。
在圖48F所示的另一個實施例中,如果在位元線預充電後施加字元線電壓,則所有位元線將首先被預充電至電壓(Vbias-Vt)。然後,當施加字元線電壓時,導通單元開始將位元線放電至位元線電壓531 ,該電壓由單元電流與負載電流的比率決定。
在程式化作業期間,閘電壓信號VG 被設置為0V以關閉載入裝置232a至232f 。位元線選擇閘202a至202f依序導通一段時間,讓頁緩衝器200電路載入程式化資料到每條位元線。
應該注意的是,圖48A中所示的NMOS載入裝置232a至232f是示例性的並且可使用其他類型的載入裝置。根據本發明,載入裝置能夠使用任何合適的裝置或電路來實現,例如NMOS電晶體、PMOS電晶體或PMOS和NMOS組合電路,這些變化都在本發明的範圍內。
圖48G顯示根據本發明的位元線選擇閘電路的示例性實施例,其利用通用載入裝置來執行電流感測作業。在此實施例中,載入裝置234a至234n係連接至位元線201a至201n以提供負載電流235a至235n。負載電流被控制為低於導通單元電流。信號DSG和SSG被提供有VDD以導通汲極選擇閘240a至240n和源極選擇閘241a至241n 。向源極線233供給0V。假設選擇了字元線239 。字元線239被提供有流向單元236a至236n的讀取電壓。將進一步假設單元236a和236c是導通單元並且單元236a和236n是關斷單元。導通單元236a和236c將被開啟並且將傳導單元電流237a和237c 。因為單元電流237a和237c高於負載電流235a和235c ,位元線201a和201c的電壓將被單元電流237a和237c拉低。對於位元線201b和201n,因為單元236a和236n是關斷單元,所以位元線電壓將被負載電流235b和235n拉高。
為了感測位元線電流,位元線選擇閘202a至202n被依序導通一段時間以依序將頁緩衝器200連接到每條位元線201a至201n 。頁緩衝器200的示例性電路在圖3C中示出。對於導通單元的位元線201a和201c ,由於位元線電壓較低,所以會導通圖3C所示的偏壓裝置306以傳導電流238。電流238將拉低圖3C中所示的感測節點SA 302 。對於關斷單元的位元線201b和201n,由於位元線電壓較高,所以會關斷圖3C所示的裝置306。感測節點SA 302將被圖3C中所示的預充電裝置303上拉至VDD。
在一個實施例中,所有位元線201a至201n被選擇以執行讀取或程式化作業。該方案稱為“全位元線”(ABL) 作業。為清楚起見,“ABL”和“HBL”指的是選擇所有位元線還是選擇一半位元線進行讀取或寫入作業。
圖49A顯示經配置以提供“半位元線”(HBL)作業的位元線選擇閘電路的另一示例性實施例。在該實施例中,選擇所有偶數位元線或所有奇數位元線用於讀取和程式化作業。未選擇的奇數位元線或偶數位元線被提供有稱為“屏蔽電壓”的電壓以防止相鄰位元線之間的位元線電容耦合。該實施例非常適合與多層單元一起使用,例如MLC、TLC 和 QLC,因為它們的較低單元電流對雜訊更敏感。
如圖49A所示的位元線選擇閘電路的實施例係類似於圖48中所示者,除了偶數載入裝置232a、232c和232e以及奇數載入裝置232b、232d和232f分別連接到不同的閘信號VG1和VG2以及不同的電壓源VS1和VS2之外。
圖49B顯示在讀取作業期間信號VG1、VG2和電壓源VS1和VS2的示例性偏壓條件的表格。當讀取偶數位元線201a、201c和201e時,位元線通道閘202a至202f被關閉。向閘信號 VG1 提供偏置電壓Vbias。電壓源VS1被提供正電壓,例如VDD。這將開啟偶數載入裝置232a、232c和232e以將負載電流Iload施加到偶數位元線201a、201c和201e。這將導致偶數位元線201a、201c和201e在取決於單元電流和負載電流的電壓處被平衡,如圖49C中所示。如果選定的單元是關斷單元,則位元線電壓將被載入裝置上拉至(Vbias–Vt) 的位準。如果選定的單元是導通單元,則該單元將傳導電流並將位元線電壓拉低至低於 (Vbias–Vt)的位準。
同時,閘信號VG2被提供電壓,例如VDD。電壓源VS2被提供有屏蔽電壓,例如0V。此條件將開啟奇數載入裝置232b 、 232d及232f以將0V施加至奇數位元線201b、201d及201f 。這防止偶數位元線201a、201c和201e之間的位元線電容耦合。
位元線電壓平衡後,偶數位元線選擇閘202a、202c、202e依序導通一段時間,讓頁緩衝器200電路感測每條偶數位元線的電壓,以確定資料。在讀取奇數位元線201b、201d和201f時,除了信號VG1、電壓源VS1和電壓源VG2、信號VS2的偏壓條件互換外,與讀取偶數位元線的作業類似。
圖49C顯示繪示用於程式化作業之偏壓條件之位元線選擇閘電路的示例性實施例。
圖49D顯示在圖49C所示電路的程式化作業期間使用的信號VG1、VG2和電壓源VS1、VS2的示例性偏壓條件的表格。
現在參考圖49C,當對偶數位元線201a、201c和201e進行程式化時,閘信號VG1被提供0V以關閉偶數載入裝置232a、232c和232e。這將導致偶數位元線浮動。偶數位元線選擇閘202a、202c、202e依序導通一段時間,讓頁緩衝器200載入程式化資料到偶數位元線201a、201c、201d。
同時,閘信號VG2被提供有(VDD+Vt)或VDD的電壓位準。向電壓源VS2提供“抑制”電壓,例如 VDD。這將開啟載入裝置232b、232d和232f以將奇數位元線201b、201d和201f充電至VDD或(VDD-Vt)的電壓位準。該抑制電壓將防止奇數位元線上的單元被程式化。它還防止偶數位元線201a、201c和201e之間的位元線電容耦合。當對奇數位元線201b、201d和201f進行程式化時,除了信號VG1、電壓源VS1和信號VG2、電壓源VS2的偏置條件被交換之外,作業類似於對偶數位元線進行程式化。
圖50A顯示根據本發明的位元線選擇閘電路的另一實施例,其包含配置用於半位元線(HBL)電流感測的選擇閘202a到202f和載入裝置232a到232f。該實施例類似於圖49A所示的實施例。除了偶數和奇數載入裝置232a至232f的源極都連接到相同的電壓源VS之外。
圖50B顯示根據本實施例用於讀取作業的信號VG1、VG2和電壓源VS之偏壓條件的示例性實施例。讀取偶數位元線201a、201c、201e時,位元線選擇閘202a至202f被關閉。向閘信號 VG1 提供偏置電壓Vbias。電壓源VS被供應正電壓,例如VDD。這將開啟偶數載入裝置232a、232c和232e以將負載電流Iload施加到偶數位元線201a、201c和201e。這將導致偶數位元線201a、201c和201e在取決於每條位元線的負載電流和單元電流的電壓下平衡。如果選定的單元是關斷單元,則位元線電壓將被載入裝置上拉至 (Vbias–Vt) 的位準。如果選定的單元是導通單元,則該單元將傳導電流並將位元線電壓拉低至低於 (Vbias–Vt) 的位準。
同時,閘信號VG2被提供電壓,例如VDD或(VDD+Vt)。此條件將開啟奇數載入裝置232b、232d及232f以將(VDD-Vt)或VDD的電壓位準施加到奇數位元線201b、201d及201f。這將產生屏蔽效應以防止偶數位元線201a、201c和201e之間的位元線電容耦合。在本實施例中,如果未選定的奇數位元線存在導通單元,則可能會引起洩漏電流。然而,由於奇數載入裝置232b、232d和232f被VDD或(VDD+Vt)的閘電壓位準強力開啟,所以單元電流將對由奇數載入裝置施加的屏蔽電壓具有微不足道的影響。
圖51A顯示根據本發明的位元線選擇閘電路的另一示例性實施例,其包含經配置以用於半位元線(HBL)電流感測的位元線選擇閘202a至202f和載入裝置232a至232f 。該實施例類似於圖48A所示的實施例,除了偶數載入裝置232a、232c、232e與奇數載入裝置232b、232d、232f的源極分別連接不同的電壓源外,即電壓源VS1和電壓源VS2。
圖51B顯示根據本實施例用於讀取作業的信號VG、電壓源VS1和VS2之偏壓條件的示例性實施例。在讀取作業期間,閘信號VG係提供有偏置電壓Vbias,其較Vt高以開啟載入裝置232a至232f。為了讀取偶數位元線201a、201c和201e,向電壓源VS1提供高電壓,例如VDD。閘電壓信號VG 將開啟偶數載入裝置232a、232c和232e以將負載電流Iload施加到偶數位元線201a、201c和201e。這將導致偶數位元線201a、201c和201e在取決於每條位元線的負載電流和單元電流的電壓下平衡。
對於未選定的奇數位元線,電壓源VS2被提供屏蔽電壓,例如0V。閘信號VG會導通奇數載入裝置232b 、 232d 、 232f以施加0V(屏蔽電壓)至奇數位元線201b 、 201d 、 201f 。這將防止偶數位元線201a 、 201c和201e之間的電容耦合。為了讀取奇數位元線201b 、 201d和201f,交換電壓源VS1和VS2的偏壓條件。
與圖49A所示的實施例相比,圖51A的實施例由於閘信號VG連接到偏置電壓Vbias 而不是 VDD,因此具有未選定的載入裝置的驅動電流可能較低。
圖52A顯示根據本發明用於半位元線(HBL)電流感測的包含位元線選擇閘202a至202f和載入裝置232a至232f的位元線選擇閘電路的另一示例性實施例。該實施例類似於圖50A所示的實施例,除了載入裝置232a至232f從NMOS電晶體(在圖50A中使用)改變為PMOS電晶體(在本實施例中使用)之外。
圖52B顯示根據圖52A所示的該實施例用於讀取作業的信號VG、VG2和電壓源VS之偏壓條件的示例性實施例。為了讀取偶數位元線201a、201c和201e,電壓源VS被提供偏置電壓,例如1/2VDD。向閘信號VG1 提供略低於 (Vbias–Vt) 的偏置電壓,以微弱開啟偶數載入裝置232a、232c和232e,從而將負載電流 Iload 施加到偶數位元線201a、201c和201e。這將導致偶數位元線201a、201c和201e在取決於每條位元線的負載電流和單元電流之選定的電壓位準處被平衡。如果該單元是關斷單元,則位元線將被負載電流上拉至偏置電壓Vbias。如果單元是導通單元,則位元線將被拉至低於偏置電壓Vbias。負載電流可藉由改變閘電壓VG1來調節。
對於未選定的奇數位元線201b、201d和201f,閘信號VG2被提供低電壓位準,例如0V。這將強力開啟奇數載入裝置232b、232d和232f以提供屏蔽電壓(例如,VDD)至奇數位元線201b、201d和201f 。
該實施例的優點是PMOS的VDD的驅動電流高於NMOS。然而,缺點是PMOS載入裝置232a至232f和NMOS位元線選擇閘202a至202f將需要它們的N井和P井之間的間隔。
圖52C顯示根據本發明的用於半位元線(HBL)電流感測作業的包含位元線選擇閘202a至202f和載入裝置232a至232f的位元線選擇閘電路的另一示例性實施例。該實施例類似於圖52A所示的實施例,除了位元線選擇閘202a至202f由NMOS電晶體改變為PMOS電晶體。因此,可消除上述井之間的間距。
圖52D顯示根據本發明用於全位元線(ABL)電流感測作業的位元線選擇閘電路的另一示例性實施例,其包含位元線選擇閘202a至202f以及載入裝置232a至232f和243a至243f 。在這個實施例中,載入裝置包括NMOS電晶體242a至242f和PMOS電晶體243a至243f 。在讀取作業期間,電壓源 VS 被提供 VDD 。閘電壓VG2被提供略低於(VDD-Vt)的電壓以微弱導通PMOS電晶體243a至243f以產生負載電流。在一個實施例中,閘電壓VG2由電流鏡電路產生以精確控制PMOS電晶體243a至243f的負載電流。閘電壓 VG1被提供偏置電壓Vbias,它將位元線的上拉電壓限制在(Vbias–Vt)。藉由使用該電路,負載電流和位元線電壓可分別由信號VG1和VG2控制。在預充電期間,閘電壓VG2被提供0V。這強力地開啟PMOS電晶體243a至243n以增加負載電流以減少預充電時間。
前述如圖48A至圖52A所示的實施例使用“位元線放電”讀取作業。參考圖48C,在“位元線放電”讀取作業中,記憶體單元字串的源極線233被提供有諸如0V的低電壓。位元線201a至201f被提供有高於源極線電壓的電壓。如果選定的單元是導通單元,則單元將導通並將電流從位元線傳導至源極線以使位元線放電。
除了位元線放電讀取作業之外,圖43A至圖52A中所示的實施例還操作以提供稱為“位元線充電”讀取作業的讀取作業,如圖7B所示的讀取作業波形所示。在“位元線充電”讀取作業中,諸如VDD的高電壓被提供給記憶體單元字串的源極線233 。位元線201a至201f被提供有低於源極線電壓的電壓,例如0V。如果選定的單元是導通單元,則單元將被開啟並將電流從源極線傳導至位元線以對位元線充電。
對於使用電流感測的“位元線充電”讀取作業,因為導通單元會為位元線充電,所以負載電流改變為使位元線放電。因此,如果選定的單元是關斷單元,則位元線將被負載電流放電至低電壓。如果選定的單元是導通單元,則位元線將通過單元電流和負載電流在較高電壓下平衡。
圖52E顯示如圖52D所示實施例的讀取和預充電作業之偏壓條件的示例性實施例。在預充電作業期間,電源線(電壓源VS) 被提供VDD。信號VG2被提供0V以強力導通PMOS電晶體243a至243f以施加大電流以對位元線201a至201f進行預充電。信號VG1被提供有偏置電壓Vbias以將位元線201a-f的預充電電壓限制為(Vbias-Vt)。預充電後,在讀取作業期間,信號VG1被提供低於(VDD-Vt)的電壓以微弱導通PMOS電晶體243a至243f以提供載入電流至位元線201a至201f。
圖53A顯示使用於圖50A所示實施例的導通單元充電電流感測作業之偏壓條件的示例性實施例。電源線(電壓源VS)被提供0V。選定的位元線的信號 VG1 被提供偏置電壓 Vbias,以生成負載電流。未選定的位元線的信號VG2被提供VDD以強力導通屏蔽裝置以將未選定的位元線拉至0V。
圖53B顯示用於如圖49A所示實施例之偏壓條件的示例性實施例。除了向非選定的位元線的電源線(電壓源VS2)供給諸如VDD之高電壓以對非選定的位元線施加屏蔽電壓以外,本實施例之偏壓條件與圖53A所顯示者相同。
圖53C顯示如圖51A所示實施例之偏壓條件的示例性實施例。本實施例與圖53B所示之實施例類似,不同之處在於屏蔽裝置的閘都連接到信號VG,信號VG被提供有偏置電壓Vbias。這可減少未選定的位元線之屏蔽裝置的驅動電流,但是,由於電壓源VS2被提供0V,所以存在足夠的驅動電流。
圖54A顯示根據本發明之位元線載入裝置的另一示例性實施例。在本實施例中,位元線係連接至兩組載入裝置。第一組載入裝置,如載入裝置901a至901f ,用於在讀作業前對位元線進行預充電,因此它們可具有更大的通道寬度以增加預充電電流。第二組載入裝置,如載入裝置903a至902f ,用於在感應時提供負載電流,因此它們可有較小的通道寬度來控制小負載電流。因為負載電流可能低於100納安(nA),在沒有較大載入裝置901a至901f的情況下,較小載入裝置903a至903f可能需要很長時間來對高電容位元線進行預充電。
圖54B顯示與圖54A中所示的實施例一起使用之預充電位元線的示例性波形。 在時間T1,信號VG1和VG2都被提供偏置電壓(Vbias)以將位元線(BL0-15)預充電到(Vbias-Vt)的電壓位準。信號VG1將開啟較大的載入裝置901a至901f以增加預充電電流。位元線預充電後,在時間T2,較大的載入裝置901a至901f被信號VG1關閉。然後,較小的載入裝置903a至903f提供較小的負載電流。位元線指示器904顯示較大載入裝置901a至901f的位元線預充電速度且位元線指示器905顯示不借助大裝置且僅使用較小載入裝置903a至903f的位元線預充電速度。
圖54C顯示實施圖54A中所示按照半位元線(HBL)設計的雙載入裝置的配置之位元線載入裝置的另一示例性實施例。在圖54C中,載入裝置901至901f是用於對位元線進行預充電的較大裝置。載入裝置903a至903f是用於向位元線提供負載電流的較小裝置。
圖55A顯示根據本發明創建的陣列結構的示例性實施例。陣列架構包括稱為區段的多個次陣列100a至100p。每個區段包括多條位元線,例如位元線102a至102n。例如,在區段100a中,位元線102a至102m透過位元線選擇閘103a至103m連接到稱為總體位元線104a的資料線。位元線102a至102m通過位元線選擇閘102i至102n連接到資料線104k。在區段(次陣列100p)中,位元線110a至110m透過位元線選擇閘105a至105m連接到總體位元線104a。位元線110i至110n通過位元線選擇閘105i至105n連接到資料線104k。資料線104a至104k分別連接到頁緩衝器101a至101k。
在讀取和程式化作業期間,選擇區段100a至110p之一。假設選擇了區段100a 。位元線選擇閘103a至103m將依序導通一段時間,以透過總體位元線104a將位元線102a-m連接到頁緩衝器101a ,從而對所有位元線102a至102m進行讀取和程式化作業。諸如位元線選擇閘105a至105m的未選定的區段之位元線選擇閘被關閉。
在程式化作業期間,位元線選擇閘103a至103m被依序開啟一段時間以通過總體位元線104a將位元線102a至102m連接到頁緩衝器101a以從頁緩衝器101a載入程式化資料至位元線102a至102m 。類似地,位元線選擇閘103i至103n依序導通一段時間,以透過總體位元線104k將位元線102i至102n連接到頁緩衝器101k ,以將程式化資料從頁緩衝器101k載入位元線102i至102n 。
在程式化資料載入位元線102a至102n之後,位元線選擇閘103a至103n被關閉以將位元線102a至102n與總體位元線104a至104k隔離。根據儲存在位元線102a至102n中的資料,選定的字元線,例如位元線111,被施加程式化高電壓以程式化選定的單元。
在讀取作業期間,選定的位元線102a至102n被預充電到偏置電壓。在一個實施例中,偏置電壓例如是1/2VDD。通過開啟位元線選擇閘103a至103n並施加來自頁緩衝器101a至101k的偏置電壓來對位元線102a至102n進行預充電。
在預充電時間之後,位元線選擇閘103a至103n被關閉以將位元線102a至102n與總體位元線104a至104k隔離。選定的字元線被施加有讀取電壓。讀取電壓將打開閾值電壓 (Vt) 低於讀取電壓的“導通單元”。導通單元會將相應的次位元線放電至低電壓,例如0V。
經過放電時間後,位元線選擇閘103a至103m依序導通一段時間,透過總體位元線104a將位元線102a至102m連接到頁緩衝器101a ,以藉由頁緩衝器101a讀取位元線102a至102m的資料。類似地,位元線選擇閘103i至103n依序導通一段時間,以透過總體位元線104k將位元線102i至102n連接到頁緩衝器101k,以藉由頁緩衝器101k讀取位元線102i至102n的資料。
藉由使用上述作業,頁緩衝器101a至101k可平行地對位元線102a-n進行程式化和讀取作業。因此,增加了讀取和程式化資料通量。例如,假設一個晶片具有1KB的頁緩衝器101a至101k ,並且每個頁緩衝器,例如頁緩衝器101a,透過總體位元線104a連接到16條位元線102a至102m 。 1KB 頁緩衝器101a至101k可讀取和程式化16KB位元線102a至102n 。與每個頁緩衝器只能讀取和程式化一條位元線的傳統裝置相比,傳統裝置的1KB頁緩衝器只能讀取和程式化1KB位元線。因此,本發明將讀取和程式化資料通量提高了16倍。
此外,在另一實施例中,在程式化作業期間,位元線選擇閘103a至103n依序導通一段時間以載入程式化資料至位元線102a至102n後,位元線選擇閘103a至103n被關閉以隔離位元線102a至102n 。第二區段的位元線選擇閘,例如位元線選擇閘105a至105n,依序開啟一段時間,以將程式化資料載入第二區段的位元線110a至110n。可重複該過程以將程式化資料載入多個區段的位元線。然後,向每個選定的區段中的選定字元線提供程式化高電壓以平行地對選定位元線上的選定單元進行程式化。這樣,程式化資料通量就大大增加了。
例如,為了描述資料通量,假設每條總體位元線,例如總體位元線104a ,都連接到M條位元線102a至102m 。進一步假設有N個區段的位元線載入程式化資料,則採用本實施例,程式化資料通量將增加
Figure 02_image003
倍。
在一個實施例中,對讀取作業執行類似的步驟以增加超過習知裝置的讀取資料通量。首先,將多個區段中的位元線,例如位元線102a至102n和110a至100n預充電至偏置電壓。這可藉由開啟位元線選擇閘103a至103n和105a至105n並施加來自頁緩衝器101a至101k的預充電電壓來完成。
在預充電時間之後,第一區段的位元線選擇閘103a至103n和105a至105n被關閉以將位元線102a至102n和110a至110n與總體位元線104a至104k隔離。每個選定區段中的選定字元線被提供有讀取電壓以開啟導通單元。導通單元將使相應的位元線放電。
經過放電時間後,位元線選擇閘102a至102n依序導通一段時間,以將位元線102a至102n連接到總體位元線104a至104k ,並藉由頁緩衝器101a至101k從位元線102a至102n讀取資料。
在第一區段的位元線102a至102n的資料被讀取後,第一區段的位元線選擇閘103a至103n被關閉。第二區段的位元線選擇閘105a至105n依序導通一段時間,以將第二區段的位元線110a至110n連接到總體位元線104a至104k ,並藉由頁緩衝器101a至101k從位元線110a至110m中讀取資料。可重複該過程,直到讀取了選定區段的位元線的所有資料。藉由使用這種方式,讀取資料通量可顯著增加
Figure 02_image003
倍,其中M是連接到總體位元線的位元線的數目,N是選擇的區段的數目。
圖55B顯示之圖表繪示根據本發明顯示於圖55A之陣列結構的示例性讀取及程式化驗證作業。
在時間T1,選定的字元線被提供讀取電壓Vread,並且未選定的字元線被提供通過電壓Vpass,如位元線WL[0-m]中所示。
在時間T2,假設位元線選擇閘BSGa[0]至BSGa[m]被選擇,位元線選擇閘BSGa[0]至BSGa[m]導通以預充電位元線BL[0]至BL[ m] 到預充電電壓 Vpre。未選定的位元線選擇閘BSGp[0]至BSGp[m]保持在0V。
在時間T3,位元線選擇閘BSGa[0]~BSGa[m]關斷,位元線BL[0]至BL[m] 變為浮動。選定字串的汲極選擇閘(DSG)被開啟以將選定字串連接到位元線。由於源極選擇閘 (SSG) 開啟且源極線 (SL) 被供應 0V,導通單元將開始放電其相關位元線。對於關斷單元,它們的位元線將保持在預充電電壓。
在時間T4,即T3之後選定的時間間隔,位元線選擇閘BSGa[0]至BSGa[m]依序開啟一段時間以將頁緩衝器連接至位元線BL[0]至BL[m]。頁緩衝器的感測電路將感測位元線電壓以確定每條位元線的資料。 導通單元和關斷單元的資料可分別為1或0。
從時間T3到時間T4的位元線放電時間取決於位元線電容和單元電流。對於TLC NAND快閃記憶體產品,典型的位元線放電時間約為10至30 us。藉由使用如圖9D所示根據本發明的多平面架構,平面的數目可增加K倍而不增加頁緩衝器的總數。這將位元線長度以及每個平面的位元線電容減小到 1/K。因此,可將位元線放電時間減少到1/K。這顯著降低了讀取等待時間並增加了讀取資料通量。因此,放電時間可短得多。
在時間T5,在所有位元線的資料被讀取之後,字元線電壓被放電並且讀取或程式化驗證作業停止。
需要注意的是,圖55B中所示的波形係用於讀取 SLC(單層單元)裝置。選定的字元線被提供有讀取電壓以檢查單元的閾值電壓Vt是高於還是低於讀取電壓。對於多層單元,如MLC(複層單元)、TLC(三層單元)、QLC(四層單元)和PLC(五層單元),波形以不同的選定字元線電壓重複多次以檢查單元的閾值電壓Vt 位準,然後轉換為多位元資料。
圖55C顯示之圖表繪示根據本發明顯示於圖55A之陣列結構的示例性程式化作業。假設位元線選擇閘BSGa[0]至BSGa[m]被選擇。
在時間T1, 位元線選擇閘BSGa[0]至BSGa[m]被設定為高位準以載入抑制資料VDD至位元線BL[0]至BL[m]。未選定的位元線選擇閘BSGp[0]至BSGp[m]保持在0V。選定的字串的汲極選擇閘 (DSG) 被提供 VDD。源極選擇閘 (SSG) 被提供0V,源極線(SL) 被提供VDD。
在時間T2,選定的字元線和未選定的字元線分別被提供程式化電壓,例如20V,和抑制電壓,例如10V。字元線電壓將字串STRG[0]至STRG[m]的通道區域耦合到大約8V的電壓。該電壓抑制單元的程式化。由於位元線被供應VDD,汲極選擇閘被反向偏置。因此,汲極選擇閘將被關閉以防止通道電壓洩漏到位元線。
在時間T3,位元線選擇閘BSGa[0]至BSGa[m]關斷。位元線電容將位元線電壓保持在VDD。
在時間T4,位元線選擇閘BSGa[0]至BSGa[m]依序導通一段時間以將來自頁緩衝器(PB)的程式化資料分別施加至BL[0]至BL[m]。如果資料為 1 (VDD),字串的通道將保持在抑制電壓。如果資料為0(0V),它將打開汲極選擇閘並將字串的通道放電至0V。這將導致字串中選定的單元被程式化。
在所有資料載入位元線之後,單元將被程式化一段程式化時間(Tpgm)的時間段(從時間T6到時間T7),例如10us到20us。然後,字元線電壓被放電且程式化脈衝完成。接下來,執行程式化驗證作業以檢查程式化結果。程式化和程式化驗證作業可重複多次,直到單元被成功地程式化。
應該注意的是,雖然圖55B至圖55C顯示了同時讀取和程式化多條位元線BL[0]到BL[m]的作業,顯然可只對單條位元線進行作業。在該實施例中,圖55B至圖55C所示的波形係應用為如圖所示,除了僅選擇一個位元線選擇閘,例如位元線選擇閘BSGa[0]。這將僅對位元線BL[0] 執行讀取和程式化作業。未選定的位元線選擇閘,例如位元線選擇閘BSGa[1]至BSGa[m],在時間T1被提供預充電脈衝,如圖55C所示,這會將未選位元線BL[1] 到 BL[m]預充電到 VDD,並在時間 T2允許字元線將未選定的位元線 BL[1] 到 BL[m] 中的字串的通道升壓到抑制電壓(例如,8V)。在資料載入期間,未選定的位元線選擇閘BSGa[1]至BSGq[m]保持在0V。只有選定的位元線選擇閘BSGa[0]被提供脈衝以將程式化資料載入位元線BL[0]。因此,未選定的字串STRG[1]至STRG[m]的通道將保持在抑制電壓(例如,8V)以抑制單元的程式化。
在另一實施例中,圖55B至圖55C所示對多條位元線的讀取和程式化作業可對多個區段執行。這導致多個區段中的多條位元線執行同時讀取和程式化作業。例如,對於如圖55B所示的讀取作業,假設選擇位元線選擇閘BSGa[0]到BSGa[m]和BSGp[0]到BSGp[m]這兩個區段。位元線選擇閘BSGp [0] 至BSGp[m]也將在時間 T2 開啟,以將位元線預充電至(Vbias-Vt)。在時間T4時,在位元線選擇閘BSGa[0]至BSGa[m]被提供脈衝讀取位元線BL[0]至BL[m]之後,位元線選擇閘BSGp[0]至BSGp[m]也被提供脈衝以讀取相應的位元線。
類似地,對於圖55C所示的程式化作業,兩個區段的位元線選擇閘BSGa[0]至BSGa[m]和BSGp[0]至BSGp[m]在時間T2被提供脈衝以預充電相應的位元線並從時間T4到時間T6載入資料。以此方式,兩個區段的位元線被同時程式化。應當注意,對於讀取和程式化作業,位元線選擇閘(BSG)可按順序或非順序方式作動,並且作動BSG的順序不限於任何特定模式或順序。
圖56顯示根據本發明的用於讀取NAND快閃記憶體的資料位元的示例性方法5600。例如,該方法適用於讀取資料位元,如圖48E至圖48F所示。
在方塊5602 ,將讀取電壓施加到選定的字元線以產生單元電流。可向未選擇的字元線提供通過電壓。例如,如圖48E所示,字元線在時間T0被供應有讀取電壓Vread和通過電壓Vpass。
在方塊5604 ,在時間T0從載入裝置向位元線提供預充電電流。
在方塊5606 的可選步驟中,位元線選擇閘被作動短時間間隔以對位元線充電。在一個實施例中,所有位元線或選定的一組位元線被充電。例如,在圖48E至圖48F中選定的一組位元線選擇閘BSG[0-2]在時間T0被作動。
在方塊5608,來自載入裝置的負載電流被施加到位元線。例如,負載電流使位元線電壓調整到基於單元電流和負載電流之比率的電壓位準,如圖48E和圖48F所示的時間間隔(時間T0至時間T1)期間所示。
在方塊5610,該方法等待選定的位元線穩定時間以允許位元線穩定到特定電壓位準。
在方塊5612 ,選擇性地使位元線選擇閘作動一段時間,使得頁緩衝器可感測每條位元線的位元線電壓以確定每條位元線的對應資料。在一個實施例中,位元線選擇閘按順序被作動然後被停止作動。在另一個實施例中,位元線選擇閘以任何期望的順序被作動然後被停止作動。例如,如圖48E至圖48F所示,位元線選擇閘BSG[0-2]按從時間T1到時間T2的順序被作動然後被停止作動。
因此,根據本發明,方法5600用於讀取NAND快閃記憶體中的位元。應當注意,所提供的作業是示例性的,並且作業的添加、刪除、改變、重新排列和/或修改在實施例的範圍內。
圖57A顯示根據本發明陣列方塊和頁緩衝器結構的示例性實施例。如圖57A顯示能夠橫放多個陣列方塊以形成大型陣列。陣列方塊包含多個平面5710a至5710d。每個平面,例如平面5710a,包括多條位元線,例如位元線5712a至5712n。位元線5712a至5712n透過選擇閘5713a-n連接到頁緩衝器5711a。因此,頁5710a包括選擇閘5713a至5713n,頁5710b包括選擇閘5715a至5715n,頁5710c包括選擇閘5717a至5717n,頁5710d包括選擇閘5719a至5719n。選擇閘可由階段機(stage machine)5750控制,使得位元線與其相關聯的頁緩衝器的連接可被控制。為簡單起見,未顯示連接到位元線的NAND快閃記憶體單元字串。
如圖57A所示之架構還包括狀態機5750。在一實施例中,狀態機5750包括CPU、處理器、記憶體、離散邏輯和/或任何其他合適的組件中的至少一者。在作業期間,狀態機5750操作以將資料傳遞到頁緩衝器5711和從頁緩衝器5711傳遞資料。例如,狀態機5750可從分別耦合到平面5710a至5710c的頁緩衝器5711a至5711c獲得單一位元資料(資料D0、D1和D2)。然後,階段機能夠將此資料制定為傳遞到頁緩衝器5711d的一層,用於多層程式化到平面5710d中。因此,狀態機5750被配置為控制頁緩衝器之間的資料流,從而允許在選定平面內執行單層程式化和多層程式化。
在本實施例中,當對一個平面的多層單元進行程式化時,輸入資料可儲存在其他平面的位元線中。在整個程式化作業期間,資料由大位元線電容保存。如果有必要,可週期性地執行再新作業以讀取儲存在位元線中的資料並將具有完整VDD和0V值的資料載入回位元線。這將在整個作業期間保持位元線中儲存的資料。對於此描述,選擇用於儲存輸入資料的位元線稱為“資料位元線”,而選擇用於程式化的位元線稱為“程式化位元線” 。
例如,對於TLC應用,假設選定平面5710a進行程式化,選擇平面5710b、5710c和5710d分別儲存輸入資料D0、D1和D2。當系統輸入資料D0時,位元線選擇閘5715a至5715n依序開啟,讓頁緩衝器5711b載入資料至位元線5714a至5714n。當系統輸入資料D1時,位元線選擇閘5717a至5717n依序導通,讓頁緩衝器5711c載入資料到位元線5716a至5716n。當系統輸入資料D2時,位元線選擇閘5719a至5719n依序導通,讓頁緩衝器5711d載入資料至位元線5718a至5718n 。詳細的資料載入順序請參考圖11A至11C 。
在分別將資料D0、D1、D2依序載入平面5710b、5710c和5710d的位元線之後,平面5710b 、 5710c和5710d的第一位元線選擇閘5715a、5717a和5719a可分別開啟以將第一位元線5714a 、 5716a和5718a分別連接到頁緩衝器5711b 、 5711c和5711d ,以讓頁緩衝器讀取儲存在位元線中的資料D0、D1和D2。請參考圖11D為從資料位元線讀取資料的詳細波形。
根據資料D0、D1和D2,確定程式化資料,然後從頁緩衝器5711a載入程式化位元線5712a。可重複這些作業以讀取儲存在平面5710b、5710c和5710d中的所有資料D0、D1和D2以確定程式化資料並將程式化資料載入平面5710a中的位元線。然後,根據儲存在位元線中的程式化資料,施加程式化脈衝以對位元線5712a至5712n上選定的單元進行程式化。在一個實施例中,狀態機5750生成控制信號以執行所有記憶體作業。
在程式化脈衝之後,位元線5712a至5712n上的單元被驗證字元線電壓讀取以執行程式化驗證。平面5710a的位元線選擇閘可依序轉向以讓頁緩衝器5711a感測從位元線5712a至5712n上的單元讀取的資料。同時,平面5710b 、 5710c和5710d的位元線選擇閘可依序導通,以分別將儲存在資料位元線中的相應資料D0、D1和D2讀取到頁緩衝器5711b、5711c和5711d。然後將頁緩衝器5711a中的讀取資料與儲存在頁緩衝器5711b 、 5711c和5711d中的相應資料D0、D1和D2進行比較以確定單元是否已被程式化到目標閾值電壓Vt。如果是,頁緩衝器5711a將載入抑制資料,例如VDD,到程式化位元線5712a 。如果不是,頁緩衝器5711a將載入程式化資料,例如0V,到程式化位元線5712a以再次程式化該單元。
可重複該作業直到位元線5712a至5712n上的所有經程式化單元都被驗證並且下一個程式化資料被載入程式化位元線5712a至5712n。然後,施加下一個程式化脈衝。程式化脈衝和驗證交替進行,直到所有程式化位元線都載入了抑制資料,則程式化作業完成。在一實施例中,狀態機5750生成控制信號以執行所有記憶體作業。
請注意,在本實施例中,由於用於TLC程式化的3個資料位元儲存在資料位元線中而不是頁緩衝器中,因此頁緩衝器不需要三個資料閂鎖來儲存3個資料位元。
因此,利用圖57A中所示的陣列,可執行用於對記憶體陣列中的多層單元進行程式化的方法。該陣列包括多個平面,例如平面5710a至5710d,並且每個平面包括通過選擇閘耦合到頁緩衝器的多條位元線。例如,頁5710a包括通過狀態機5750可控的選擇閘5713a至5713n耦合到頁緩衝器5711a的位元線。該方法包括在第一平面組中儲存多個資料位元,每個平面一個資料位元。多個資料位元儲存在第一平面組的位元線電容中。例如,平面5710a、5710b和5710c分別在位元線電容中儲存一個資料位元。接著,藉由根據第一平面組的位元線電容中儲存的多個資料位元程式化選定平面中的選定多層單元而進行程式化作業。該選擇的平面不是該第一平面組中的一個。例如,選定的平面可為平面5710d並且可使用儲存在平面5710a至5710c的位元線電容中的多個資料位元來對選定的多層單元進行程式化。例如,資料D0、D1和D2位元儲存在平面5710a至5710c中,每個平面一位元。然後那些資料位元被相應的頁緩衝器 提取並傳遞給狀態機5750。然後狀態機使用那些位元來生成傳遞給頁緩衝器5711d的值或位準以程式化到頁面5710d中選定的多層單元中。
圖57B顯示根據本發明的實施例建構的頁緩衝器的示例性實施例。 圖57B顯示的頁緩衝器僅包括一個資料閂鎖207h。在另一個實施例中,頁緩衝器仍然可包含3個資料閂鎖,如圖3A中所示的資料閂鎖207a、207b和207c。該電路允許頁緩衝器存取 3 條位元線並將 3 個資料從位元線儲存到資料閂鎖。類似地,當另一個平面,如平面5710b被選擇用於程式化時,資料D0、D1和D2可分別載入平面5710a、5710c和5710d。
圖58顯示平面0( 5710a )到平面3( 5710d )的資料分配實施例的表格。當選擇一個平面進行程式化時,可選擇其他平面來儲存輸入資料D0、D1和D2。這些分配是示例性的,並不限制其他可能的分配。很明顯,可用本發明範圍內的其他方式分配資料。
需要說明的是,在一個實施例中,用於儲存輸入資料的平面的數目由單元中儲存的閾值電壓Vt的位準決定。例如,對於MLC、QLC、PLC應用,陣列可分別將資料儲存在2、4、5個平面的位元線中。
還需要說明的是,前面描述的位元線選擇閘的順序僅為舉例。可能有其他方式來組織順序。例如,在另一實施例中,當載入輸入資料時,第一平面5710a的資料位元線,例如位元線5714a 、 5714b和5714c可分別載入資料D0、D1和D2,然後確定第一程式化位元線5712a的程式化資料。此外,第二平面5710b的資料位元線,例如位元線5716a 、 5716b和5716c可分別載入資料D0、D1和D2,然後確定第二程式化位元線5712b的程式化資料。此外,第三平面5710d的資料位元線,例如位元線5718a 、 5718b和5718c可分別載入資料D0、D1和D2,然後確定第三程式化位元線5712c的程式化資料。這些變化在本發明的範圍內。
類似地,在讀取和程式化驗證作業期間,從一個平面讀取的資料可儲存在其他平面的位元線中。例如,對於TLC讀取,從位元線5712a至5712n讀取的3個資料D0、D1和D2位元可分別儲存在位元線5714a至5714n 、5716a至5716n和5718a至5718n中。讀取的資料以與程式化作業相反的方向傳輸。例如,可將從位元線5712a讀取的資料傳送到頁緩衝器5711a ,傳送到頁緩衝器5711b ,然後傳送到位元線5714a 。
在圖57A所示的實施例中,頁緩衝器5711a至5711d可透過單獨的解碼器或選擇閘(未示出)連接到資料匯流排。因此,資料可透過資料匯流排在頁緩衝器之間傳輸。
圖59A顯示根據本發明建構的陣列結構的另一個實施例。在本實施例中,頁緩衝器5711a至5711d如圖所示連接到資料線5720。資料線5720允許資料在頁緩衝器5711a至5711d之間傳送。例如,儲存在平面5710d的位元線5718a至5718n中的資料可被頁緩衝器5711d順序讀取,並透過資料線5720傳送至頁緩衝器5711a,然後載入平面5710a的位元線5712a至5712n。
這個作業對於某些模式非常有用,例如「程式懸置讀取」。在程式化期間,如果儲存輸入資料的平面被選擇為中斷讀取,則可使用該技術將儲存在位元線中的資料傳輸到另一個平面。這釋放了讀取作業的位元線。讀取完資料後,可將之前傳輸的輸入資料傳輸回平面繼續程式化作業。
此外,資料線5720可透過由方塊5721表示的解碼器或選擇閘連接到資料匯流排5722 。這允許將資料載入頁緩衝器5711a至5711d而無需為每個頁緩衝器安排(routing)單獨的資料匯流排。此外,解碼器或選擇閘5721由多個頁緩衝器共享,因此它減少了每個平面的解碼器和資料匯流排佔用的矽面積。此外,由於一條資料線5720由多條位元線共享,因此資料線5720可採用鬆弛的金屬間距形成,不需要額外的金屬層來形成。
圖59B顯示根據本發明建構的陣列架構的一個實施例。如圖59B所示的陣列包括多個如圖59A所示的方塊來搭建大型陣列。例如,第一方塊包括多個平面5710a至5710p。請參考圖59A之平面5710a至5710p的詳細結構。如參考圖59A所描述者,平面5710a到5710p的頁緩衝器能夠連接到資料線5720a。資料線5720a透過解碼器或選擇閘5721連接到資料匯流排5722。
如圖59B 所示,對於 TLC 應用,陣列可具有多於 4 個平面。例如,陣列可具有4、8、16、32、64或任何其他數目的平面。例如,假設陣列具有 16 個平面,如平面5710a至5710p所示。 16個平面可分為4組,比如平面5723a到5723d ,每組可有4個平面。在程式化和讀取作業期間,一組中的4個平面可執行如圖57A及圖58所示的作業。根據本發明,多個平面組5723a至5723d可平行地執行程式化和讀取作業。這顯著增加了讀取和程式化資料通量。
圖60A顯示習知陣列5730架構與根據本發明建構的陣列架構5731的實施例之間的比較。在該實施例中,陣列5731包括如圖所示的4個平面。根據本發明,位元線的長度,例如陣列5731的位元線5734a至5734p ,僅為習知陣列5730的位元線5732a至5732p的長度的1/4 。這將位元線電容減少到傳統陣列的 1/4,從而顯著減少讀取和程式化驗證作業期間的位元線延遲。此外,習知陣列5730需要一個頁緩衝器用於一條位元線,如頁緩衝器5733a至5733p所示。然而,根據本發明建構的陣列5731僅針對一個平面使用一個頁緩衝器,如頁緩衝器5735a至5735d所示。因此,頁緩衝器的佈局面積顯著減少。
圖60B顯示繪示習知陣列5730架構與根據本發明建構的陣列5736架構的實施例之間的比較的圖表。在本實施例中,陣列5736包括16個平面。因此,位元線的長度,例如根據本發明的陣列5736的位元線5737a至5737p,僅為傳統陣列5730的位元線5732a至5732p的長度的1/16 。這將位元線電容減少到傳統陣列的 1/16,從而進一步減少了讀取和程式化驗證作業期間的位元線延遲。另外,由於陣列5736的16個平面可分為4組,因此每組包含4個平面可進行讀取和程式化作業,如圖57A所示。因此,陣列5736可平行進行4個平面的讀取和程式化作業。與習知陣列相比,這將讀取和程式化資料通量提高了 4 倍。對於頁緩衝器的數目,習知陣列5730和陣列5736實施例都具有相同數目(例如,16個)的頁緩衝器。因此,對於這個實施例,頁緩衝器的佈局區域對於兩個陣列是相似的。
圖61顯示由於使用根據本發明的陣列的N個平面而導致的讀取和程式化資料通量增加。如果陣列包括N個平面,對於MLC、TLC、QLC和PLC,讀取和程式化資料通量可分別增加N/3、N/4、N/5和N/6倍。例如,TLC 的典型讀取時間和程式化時間約為 SLC 的 3 倍。因此,當使用根據本發明的陣列的12個平面時,TLC的讀取和程式化資料通量可增加(N/4=3倍)以類似於SLC的資料通量。
圖62顯示根據本發明實施例的另一程式化作業。此程式化作業允許多層單元實現與 SLC 類似的隨機程式化速度。下方的實施例顯示 TLC 程式化作業的示例。參考圖57B所示的陣列架構,假設陣列包括至少兩平面組5723a和5723d ,並且每組包括4個平面。為了便於描述,第一平面組5723a的平面5710a、5710b、5710c和5710d分別稱為P0、P1、P2和P3。第二平面組5723d的平面5710m、5710n、5710o和5710p分別稱為P4、P5、P6和P7。
圖62顯示使用類似於SLC的速度將隨機頁程式化到TLC的作業。從時間T0到時間T1,第一、第二和第三頁資料分別使用SLC模式程式化到第一組的P0、P1和P2。這實現了類似於SLC的程式化速度。從時間T1到時間T2,第四、第五和第六頁資料分別使用SLC模式程式化到第二組的P4、P5和P6。同時,第一組執行關於圖57A描述的作業,以使用TLC模式將儲存在P0、P1和P2中的資料D0、D1和D2程式化到P3,除了資料D0到資料D2係儲存在P0到P2中的單元而不是位元線電容中。因為TLC 的程式化時間大約是SLC 的3倍,所以P3的TLC程式化將與P4、P5 和P6的SLC 程式化大約同時完成,如時間T2所示。藉由使用這種技術,P3 的 TLC 程式化時間被“遮蔽”或隱藏在 P0 到 P2 的程式化時間之內。因此,TLC 程式化不需要額外的程式化時間。
從時間T2到時間T3,第7、8、9頁資料再次使用SLC模式程式化到P0、P1、P2。同時,先前程式化到 P4、P5、P6 的資料將從單元中讀取並使用 TLC 模式程式化到 P7。因此,P7 的 TLC 程式化可能與 P0、P1 和 P2 的 SLC 程式化大約同時完成,如時間T3所示。可重複這些過程,直到最後一頁在時間T4被程式化到 P6。然後,系統會再執行一個TLC程式化週期讀取P4、P5、P6的資料,並程式化到P7。這種方式雖然最後一頁需要額外的TLC程式化時間,但由於系統處於閒置狀態,因此不會造成性能瓶頸。如果啟動另一個讀取或程式化作業,則最後一頁的 TLC 程式化可隱藏在下一個作業一起進行。因此,不需要額外的時間。
因此,資料使用 SLC 模式被程式化到 P0、P1、P2 和 P4、P5、P6,然後平行使用 TLC 模式程式化到 P3 和 P7。藉由使用這種配置,本發明實現使用類似於SLC的程式化速度的TLC程式化。請注意此作業與關於圖57A描述的 TLC 程式化作業之間的區別。在圖57A中,輸入資料D0、D1和D2被儲存在P0、P1和P2的位元線中,然後使用TLC模式被程式化到P3。在TLC程式化完成之前,P0、P1和P2不能被讀取或程式化,否則儲存在位元線中的資料可能會丟失。因此,系統必須等到P3 的TLC 程式化完成,然後P0 到P3 才能重新讀取或程式化。
與參照圖57A描述的作業相反,參照圖62描述的作業首先使用SLC模式將資料D0、D1和D2程式化到P0、P1和P2。因此,SLC程式化完成後,系統可立即讀取或程式化P0、P1、P2。這不會導致資料丟失,因為資料已經被程式化到單元中。即使在使用TLC模式將P0、P1、P2的資料程式化到P3的過程中,也可中斷程式化作業,讓系統先讀取或程式化P0到P3 。當中斷完成後,可藉由再次從 P0、P1 和 P2 中的單元讀取資料來回復TLC 程式化。
上述程式化作業也可用於“隨機頁面程式化”。對於NAND快閃記憶體,隨機頁程式化並不意味著資料的物理位置是隨機的。這僅意味著能夠以隨機行為讀取和程式化單頁資料。由於 NAND 快閃記憶體在程式化之前需要清除,並且清除是在大方塊尺寸中執行的,因此資料永遠不會被程式化到隨機位置。取而代之的是,資料被依序程式化到預清除的方塊中,並通過使用地址映射進行管理。因此,圖62所示的作業適用於隨機程式化作業。
圖63A至圖63C顯示根據本發明建構的陣列的程式化作業。在圖63A中,當輸入單頁資料時,使用SLC模式將資料程式化到第一組。這使用每頁的 SLC 程式化速度。如果輸入的資料少於3頁,資料可能會停留在SLC頁中,如P1和P2所示。如果輸入的資料多於3頁,如圖63B中時間T1所示,在第三頁P2被程式化後,系統會進行TLC程式化,將3個SLC頁資料P0、P1、P2程式化至TLC頁P3。 TLC 程式化在後台完成,因此隱藏了程式化時間。如果在TLC程式化過程中輸入另一頁P4,則使用SLC方式將資料程式化到第二組,如P4和P5所示。在此配置中,P4 和 P5 的資料可在SLC 速度進行程式化,而不受第一組中的 TLC 程式化的影響。如果輸入的資料少於 3 頁,則資料 P4 和 P5 將留在 SLC 單元中。
如果輸入的資料超過3頁,如圖63C所示,當第三頁P6被程式化後,系統會開始第二組的TLC程式化,將3個SLC頁P4、P5、P6合併為一個TLC頁P7。由於TLC的程式化時間是SLC的3倍左右,所以在時間T2開始第二組的TLC程式化時,第一頁的TLC程式化已經完成。因此,第一組被釋放以供下一頁資料輸入並再次使用SLC模式程式化到第一組。通過使用此配置,可使用 SLC 程式化速度將資料程式化到 TLC 頁。
上述實施例使用3個SLC頁來進行TLC程式化。對於QLC和PLC應用,可分別使用4個SLC頁和5個SLC頁。另外,雖然上述實施例採用了一組3個SLC頁來儲存一個TLC頁的資料,但實際上,SLC頁數並不限於3頁,可為任何適合作業的數目。
圖64顯示使用一組中的6頁SLC頁的程式化作業的另一實施例。如從時間T0到T1所示,6頁資料可被程式化到6個SLC頁P0到P5。在時間T1,系統啟動TLC程式化,將SLC頁P0、P1、P2的資料程式化到TLC頁P6,將SLC頁P3、P4、P5的資料程式化到TLC頁P7。應當注意,對於根據本發明建構的陣列架構的實施例,可平行程式化多個資料平面。因此,可同時對頁P6和P7進行程式化。
同時,接下來的6頁資料可被輸入並程式化到第二組的頁P8到頁P3,如時間T1到時間T2所示。這樣一來,第一組的TLC程式化時間的預算就翻倍了。這可保證第一組的TLC程式化可在時間T2之前完成,如果TLS程式化花費的時間超過SLC程式化的3倍。
本發明實施例如圖62所示優於習知的“SLC 快取”方法。 SLC快取的方式是使用陣列的一個指定區域。程式化資料時,首先使用 SLC 模式將其程式化到 SLC 快取中。這允許 SLC 程式化速度。然後,當系統閒置時,儲存在 SLC 快取中的資料將被讀取並使用 TLC 模式程式化到陣列的其他位置。在系統處於閒置狀態之前,不會使用 TLC 模式對資料進行程式化。換句話說,TLC 程式化時間並沒有節省,只是被延遲。如果大量資料被程式化到SLC快取中,在閒置時間將資料程式化到TLC位置將需要很長時間。如果SLC快取已滿,需要立即執行TLC程式化。這將顯著降低程式化速度。此外,對於程式化繁重的應用,例如資料中心應用,系統可能會變得大量使用並且沒有閒置時間。這將導致 SLC 快取大部分時間變滿,因為 SLC 資料無法移動到 TLC 位置。
然而,根據本發明,參考圖62至圖64描述的程式化作業不存在上述問題。在對 P0、P1 和 P2 進行程式化後,立即使用 TLC 模式將程式化到 P0、P1 和 P2 的 SLC 資料程式化到 P3。 TLC 程式化完成後,P0、P1、P2 可立即釋放,用於下一次讀取和程式化作業。這樣就不會在SLC頁內部堆積資料。 在本發明的實施例中不會出現如針對習知實現方式所描述的與SLC快取已滿的相關聯問題。
如此一來,本發明實施例可達到類似SLC的高程式化速度和TLC的低成本。請注意,以上描述使用TLC僅作為示例。類似的方法可應用於其他技術,例如MLC、QLC和PLC,並且這些應用在本發明的範圍內。對於QLC,由於QLC程式化時間是SLC程式化時間的4倍左右,為了隱藏QLC程式化時間,每組可能包含5個平面。因此,當第一組進行QLC程式化時,第二組對4個平面進行SLC程式化。這樣,QLC和SLC的程式化幾乎可同時完成。這樣就隱藏了QLC程式化時間。同樣,對於PLC,由於PLC程式化時間是SLC程式化時間的5倍左右,所以每組可包含6個平面。
儘管在如圖62至圖64的實施例顯示程式化作業使用兩組來隱藏TLC 程式化時間,不限於只有兩組。根據本發明的實施例,圖62至圖64中所示的作業可被執行於等於或大於兩個組的任意數目的組。例如,可對4組進行作業。因此,在使用SLC模式對第一組進行程式化後,可繼續SLC程式化對第二、三、四組進行程式化。這允許第一組的 TLC 程式化時間變成三倍。此實施例對於需要較長程式化時間的多層單元程式化方案尤其有用,例如兩遍或三遍程式化。
還應注意,雖然先前的描述將一平面組放在一起,例如圖59B中所示的一平面組5723a的平面5710a-d,實際上,一平面組可位於陣列的任何位置。這是因為對於根據本發明建構的陣列架構,每個平面可獨立地執行讀取和程式化作業,並且可使用資料位元線在平面之間傳輸資料,例如圖59B中所示的位元線5720a-b。因此,一平面組可位於陣列中的任意隨機位置。
圖65顯示使用平面之位置的另一配置的另一實施例,其中組5723a至5723m是用於SLC頁的多個組。每組包含 3 個用於 TLC 應用的平面。例如,平面組5723a包含用於TLC程式化的資料D0、D1和D2頁的3個平面5710a 、 5710b和5710c 。在本實施例中,所有的TLC頁都位於一個平面組5723n中。平面組5723n包含用於 TLC 頁的多個平面5720a至5720p 。當輸入單個頁時,資料首先被程式化到平面組5723a至5723m中的 SLC 頁。當3個SLC頁被程式化時,資料可被程式化到平面組5723n中的TLC頁面,如之前的實施例所述。例如,在將3個SLC頁程式化到平面5710a 、 5710b和5710c之後,可使用TLC模式從3個SLC頁讀取資料並程式化到平面5720a中的頁。在 TLC 程式化期間,可將下一頁輸入並程式化到另一個 SLC 組,例如平面組5723m 。
SLC頁的資料被程式化到TLC頁後,SLC頁可被清除,然後這些頁可再次被用來程式化新的資料。 NAND 快閃記憶體通常以方塊尺寸清除,例如 1Mb 到 4Mb 的方塊。在一個方塊的所有頁都被程式化並且資料被移動到TLC頁之後,系統可對SLC方塊進行清除作業。在清除作業期間,位元線需要施加高電壓,例如20V。因此,在清除作業期間,整個平面將無法進行讀取或程式化作業。由於清除時間很長,通常為 2ms 到 5ms,因此清除作業極大地限制了 NAND 快閃記憶體的性能。此尤其真實是由於習知的 NAND 快閃記憶體在位元線方向上僅包含 1 到 4 個平面。這是因為根據習知的陣列架構,每條位元線都連接有頁緩衝器電路。當增加平面數目時,頁緩衝器的數目也需要增加。這顯著增加了晶元尺寸和成本。
與習知陣列相反,根據本發明實施例的陣列架構允許多條位元線連接到一個頁緩衝器。這允許陣列在位元線方向上被分成許多平面,例如16至64個平面。這為清除作業提供了可忽略的延遲。例如,假設陣列在位元線方向上有16個平面,當一個平面在執行清除作業時,其他15個平面仍然可執行讀取、程式化或清除作業。因此,根據本發明的實施例,清除作業對記憶體的性能的影響非常小。
在各種實施例中,以揭示多層單元NAND快閃記憶體的讀取和寫入作業。多層單元可為MLC(每單元2位元)、TLC(每單元3位元)、QLC(每單元4位元)、PLC(每單元五位元)等。NAND快閃記憶體可由2D 或 3D 陣列形成。
圖66繪示TLC記憶體陣列的實施例。由於TLC的程式化速度很慢,狀態機可採用SLC模式將3位元資料D0、D1、D2分別寫入3條字元線1101a 、 1101b、1101c 。這樣,可以更快的速度對資料進行程式化。在資料被程式化到三個SLC字元線之後,儲存在三個字元線中的SLC資料將被讀取並使用TLC模式重新程式化到另一條字元線1102 。同時,系統可將下一個資料程式化到另一個平面的SLC字元線上。這樣,TLC程式作業就不會成為系統性能的瓶頸。
圖66繪示根據包括從字元線1101a讀取D0資料並將其儲存在位元線102a至102n的電容中的第一步驟的實施例的作業。接下來,D0資料被程式化到TLC字元線1102 。在第二步驟中,從字元線1101b讀取資料D1並將其儲存在位元線102a至102n的電容中。接下來,資料D1被程式化到TLC字元線1102 。在第三步驟中,從字元線1101c讀取資料D2並儲存在位元線102a至102n的電容中。接下來,資料D1和D2被程式化到TLC字元線1102 。
藉由使用這些作業,本發明同時對所有位元線102a至102n進行程式化,因此程式化資料通量可比習知NAND快閃記憶體提高M倍。此外,與在一個頁緩衝器中需要三個資料閂鎖的習知技術相比,根據本發明顯示於圖8A的頁緩衝器電路僅需要一個資料閂鎖。因此,本發明的實施例可在相同的晶元尺寸中容納3倍於習知技術的頁緩衝器的數目。結果,本發明可達到習知記憶體的(
Figure 02_image005
)倍的程式化資料通量。
圖 67 顯示根據本發明實施例之陣列結構的實施例。該架構允許陣列對兩個集合(bank)同時執行SLC和TLC程式化。應該注意的是,圖67繪示使用兩個集合的作業,然而,可將該作業擴大使用於任何數目的集合。當第一集合正在對輸入資料執行SLC程式化時,第二集合可執行TLC程式化以將資料從SLC頁移動到TLC頁。藉由這種方式,可將TLC程式化隱藏在SLC程式化時間內,從而TLC程式化可達到與SLC程式化相當的通量。
如圖67所繪示者,假設字元線(WL)沿X方向延伸並且位元線(BL)沿Y方向延伸。該陣列可被分成至少兩個集合170a和170b 。每個集合包括多個平面,例如集合170a的平面171a至171h和集合170b的平面171i至171p 。每組中的平面數目取決於所需的程式化通量。例如,假設TLC程式化時間是SLC程式化時間的8倍,則每個集合可具有8個平面。
本實施例中的“平面”是沿位元線(Y)方向的次陣列。該陣列可沿著字元線(X)方向被分成多個次陣列。為了便於描述,將沿著字元線方向的這些次陣列作為一個平面來描述。
每個平面,例如平面171a ,可根據本發明具有圖1A所示的結構。因為每個頁緩衝器,例如圖1A中的頁緩衝器101a,係連接到 M個位元線,例如位元線102a到102m,頁緩衝器的數目減少到位元線數除以 M。這避免如圖17所示由於多平面陣列引發之晶元尺寸的增加。例如,在典型的陣列中,每個頁緩衝器連接到一條或兩條位元線。假設陣列包含 N 個平面,頁緩衝器的數目將增加 N 或 N/2個。這將顯著增加晶元尺寸,因為頁緩衝器的佈局尺寸很大。
每個平面包括一些字元線來儲存SLC資料,這些字元線被稱為SLC字元線。 SLC 字元線的數目由產品規格和所需性能決定。參考圖15 ,在程式化期間,可輸入資料D0、D1和D2的3頁資料並使用SLC模式程式化到3條SLC字元線,SLC 字元線WL0-2 1101a至1101c 。在3條SLC字元線被程式化之後,3條SLC字元線的資料可被讀取並重新程式化到TLC字元線1102 。
SLC 字元線的數目取決於儲存在一個單元中的位元的數目。例如,對於QLC,每個單元儲存4位元資料,D0、D1、D2和D3,因此它可能有4條SLC字元線來儲存4位元資料。同樣,對於PLC,它可能有5條SLC字元線來儲存5位元資料。
在TLC程式化期間,由於資料D0、D1、D2已經儲存在8個平面的SLC字元線中,所以3個SLC字元線的讀取作業和TLC字元線的程式化可同時在8個平面進行。這將 TLC 程式化的通量提高了 8 倍。因此,TLC 程式化通量與 SLC 程式化通量相似。
本實施例以8個平面為例。很明顯,集合可擁有任意數目的平面。當集合有更多的平面時,TLC 程式化通量變得更高。例如,假設一個集合有16個平面,那麼TLC程式化通量就會變成SLC程式化的2倍。因此,這種架構可在不增加晶元尺寸的情況下顯著提高 TLC 程式化通量。
該架構可應用於任何多層單元,例如 QLC 和 PLC。對於QLC,假設程式化時間是SLC的20倍。一個集合可能有 20 個平面,可將 QLC 程式化通量提高 20 倍。這樣,QLC程式化通量可變得與SLC程式化通量相似。
圖68顯示根據本發明實施例的程式化順序。圖 68顯示了兩個集合程式化案例和四個集合程式化案例。參照兩個集合程式化案例,兩個集合(集合 1 和集合 2)交替執行 SLC 和 TLC 程式化。應該注意的是,圖68繪示使用兩個集合的作業,然而,該作業可被擴大用於任何數目的集合,例如所示的四個集合的情況。
對於集合 1,從時間T1到T2,狀態機可載入資料到集合 1並進行SLC程式化,將資料D0、D1和D2程式化到3條SLC字元線中。 3條SLC字元線程式化完成後,從時間T2到T3,從3條SLC字元線讀取資料,重新程式化到集合 1中的一條TLC字元線。
同時,狀態機切換成載入資料到集合 2,並進行SLC程式化,將資料程式化到集合2中的3條SLC字元線上。也就是說,集合1和集合2同時進行TLC和SLC程式化。假定 TLC 程式化時間是 SLC 程式化的 8 倍。由於 TLC 程式化是由集合 1 中的 8 個平面平行完成的,因此集合 1 的 TLC 程式化資料通量與集合 2 的 SLC 程式化大致相同。因此,集合 1 和 2 的程式化可在大約同一時間完成。
在時間T3,狀態機切換到載入資料到集合 1 並對集合 1 執行 SLC 程式化。同時,狀態機開始從集合 2 中的 3 條 SLC 字元線讀取資料並將資料重新程式化到集合 2 中的 TLC 字元線。藉由使用這些作業,輸入資料交替程式化到集合 1 和集合 2 中的 SLC 字元線,然後從 SLC 字元線重新平行程式化到 TLC 字元線。結果,資料藉由使用SLC程式化資料通量被程式化到TLC字元線中。四集合案例執行類似的作業,但使用更多的集合。
與使用 SLC 快取的習知方法相比,本發明的實施例具有幾個優點。習知的 SLC 快取使用固定或動態數目的 SLC 字元線來儲存輸入資料。當系統處於閒置狀態時,狀態機將開始從 SLC 字元線上讀取資料並將資料重新程式化到 TLC 字元線上。
SLC 快取的問題在於對於大量的工作負載,例如雲端(Cloud) 或網路應用支援軟體(Network Application Support;NAS),可能會在沒有任何閒置時間的情況下連續程式化大量資料。這將導致 SLC 快取變滿,然後需要將資料直接程式化到 TLC 字元線。結果,程式化通量將下降到TLC程式化通量,例如SLC的1/8。
與使用 SLC 快取相反,在具有根據本發明實施例的架構和作業的陣列中,程式化到 SLC 字元線的資料在 3 個 SLC 字元線完成被程式化之後立即被重新程式化到 TLC 字元線。因此,不需要系統閒置時間來將資料從 SLC 字元線移動到 TLC 字元線。因此,程式化可始終保持在 SLC 通量。
雖然本實施例使用3條SLC字元線來儲存TLC的資料D0、D1、D2位元,但是集合1和2的切換時間不限於3條SLC字元線完成程式化的時間。例如,另一實施例可使用6條SLC字元線並將6條SLC字元線的資料程式化到例如兩條TLC字元線中。這些變化和修改仍屬於本發明實施例的範圍。
圖69顯示了集合1和集合2的更詳細的程式化順序。假設集合1正在執行SLC程式化而集合2正在執行TLC程式化。在集合 1中,從時間T0到T1,可輸入8頁資料D0並程式化到8個平面的SLC WL0,如P0到P7所示。從時間T1到T2,可輸入8頁資料D1並程式化到8個平面的SLC 字元線(WL)1,如P8到P15所示。從時間T2到T3,可輸入8頁D2資料並程式化到8個平面的SLC 字元線(WL)2,如P16到P23所示。
在同一時間 (時間T0至時間T3),集合 2 正在執行 TLC 程式化。 3 位元資料 D0、D1 和 D2 從 3 條 SLC 字元線讀取並程式化到 TLC 字元線。 資料D0、D1、D2位元的程式化時間不同,因為它們的程式化閾值電壓Vt位準分別為2、4、8。在 TLC 程式化期間,同時對所有 8 個平面進行程式化。這將 TLC 程式化通量提高了 8 倍。假設TLC程式化時間是SLC程式化的8倍,集合 1和集合 2的SLC程式化將在大約同一時間完成。
圖70顯示圖69所示的頁P0至P23的位置圖。
圖71顯示了根據本發明建構的陣列結構的另一實施例。在該實施例中,陣列包括至少3個集合170a至170c 。每個集合具有多個平面,例如圖67中所示的平面171a至171h 。如上所述,當兩個集合交替執行SLC和TLC程式化時,第三個集合執行清除作業以清除儲存在SLC字元線中的資料。 3個集合輪流(或交替)清除SLC字元線,而另外兩個集合進行程式化作業。一旦SLC字元線被清除,SLC字元線可再次用於下一次程式化作業。此作業可防止集合中的 SLC 字元線在連續繁重的工作負載期間變滿載,例如在雲端或NAS作業期間。
圖72顯示說明參考圖71描述之交替作業的表格。例如,如圖72所示,在週期1期間,集合0和集合1被選擇以執行先前描述的程式化作業。同時,集合 2執行清除作業,清除之前被程式化的SLC字元線。清除後,集合 2 中的 SLC 字元線變為空白,可用於下一個週期的程式化。
在週期2中,選擇集合1和2執行前面描述的程式化作業,集合 0執行清除作業以清除SLC字元線。因為集合0中的SLC字元線的資料已經在週期1期間被程式化到TLC字元線,所以SLC字元線中的資料可被清除。清除後,集合 0 中的 SLC 字元線變為空白,可用於下一個週期的程式化。
在週期 3 中,選擇集合 0 和 2 執行前面描述的程式化作業,而 集合 1 執行清除作業以清除 SLC 字元線。因為集合1中的SLC字元線的資料已經在週期2期間被程式化到TLC字元線,所以SLC字元線中的資料可被清除。清除後,集合1 中的 SLC 字元線變為空白,可用於下一個週期的程式化。
在前面的描述中,每個週期可執行多個程式化作業。例如,一個週期可定義為 100、1000 或 10,000 個程式化作業。在另一個實施例中,該週期由集合內部的SLC頁的使用來決定。例如,當集合中90%的SLC字元線被程式化時可決定為一週期。
在清除作業期間,由於資料仍然可被程式化到另外兩個集合中,所以清除作業不會影響程式化資料通量。雖然清除時間(例如TLC為5ms)遠大於程式化時間,但可同時對大量字元線進行清除作業。因此,清除通量可能高於程式化通量,這取決於所清除之字元線的數目。
圖73顯示將本發明的實施例190的實質程式化通量與使用SLC快取的習知記憶體191進行比較的測試結果。在測試過程中,工作負載資料不斷被程式化到記憶體陣列中,直到陣列滿載為止。對於本發明的實施例190,如上所述,程式化通量可針對整個陣列保持在SLC通量率。對於習知的陣列191 ,由於沒有閒置時間將儲存在SLC快取中的資料複製到TLC字元線,一旦SLC快取滿了,就需要直接將資料程式化到TLC字元線,因此程式化通量會下降到TLC程式化通量,可能只有SLC程式化的1/8。
本發明的各種示例性實施例可用於任何類型的記憶體技術,包括但不限於 NAND 快閃記憶體、鐵電隨機存取記憶體 (ferroelectric random-access memory ;FRAM)、相變記憶體 (phase-change memory;PCM)、電阻式隨機存取記憶體 (resistive random-access memory;RRAM) 、磁阻隨機存取記憶體 (magnetoresistive random-access memory ;MRAM)、動態隨機存取記憶體(dynamic random-access memory;DRAM)、唯讀記憶體 (read only memory;ROM)、內容可尋址記憶體 (content-addressable memory;CAM) 和許多其他合適的記憶體陣列。
圖74A至圖74B顯示根據本發明的陣列結構的資料輸入和資料輸出作業的詳細實施例。
圖74A顯示分成多個平面260a至260p的陣列。頁緩衝器261a至261p分別與平面260a至260p相關聯。藉由使用如圖1E所示的陣列架構,一個頁緩衝器透過位元線選擇閘耦合到多條位元線,因此可減少每個平面中的頁緩衝器的數目。因此,該陣列可被分成比習知陣列更多的平面,同時保持陣列的頁緩衝器總數相同。例如,假設在一個平面中,每16條位元線通過16個位元線選擇閘連接到一個頁緩衝器。這會將每個平面的頁緩衝器數目減少到 1/16。因此,陣列可被劃分為16個平面,如圖74A所示,而不增加頁緩衝器的數目和晶元尺寸。
圖74B顯示圖74A所示平面的頁緩衝器和位元線選擇閘之架構的詳細實施例。為了清楚起見,以下描述將使用位元線、頁緩衝器、位元線選擇閘和I/O匯流排的一些示例性數字作為示例。這些數字只是示例,可使用任何其他合適的數字。例如,該平面包括16KB位元線262a至262n 。 16KB位元線分為8組295a至295h 。每組包含 2KB 位元線,例如位元線262a至262g 。 2KB位元線被進一步分成1K個子組,每個子組中有16條位元線,例如位元線262a至262m 。子組中的16條位元線262a至262m透過位元線選擇閘264a-m連接到一個頁緩衝器263a 。結果,頁緩衝器263a至263k的總數為16KB/16=1KB。八組295a-h中的頁緩衝器連接到 I/O 匯流排的位元 0-7,分別標記為 I/O 0-7 265a至265h 。頁緩衝器263a至263k包括如圖3C所示的單個資料閂鎖,或圖3A所示的多個資料閂鎖。
圖75A顯示圖74A至圖74B所示的陣列結構的資料載入順序的實施例。參考圖74B和圖75A,當載入資料時,I/O 0-7將1位元組(8位元)資料載入8個頁緩衝器,其中在組295a至295h的每一組中各包括一個頁緩衝器。重複該順序,直到載入了所有 1KB 頁緩衝器 263a至263k。第一位元線選擇閘信號BSG0被作動以導通第一位元線選擇閘,例如每個子組的選擇閘264a。這使得頁緩衝器263a至263k能夠將輸入資料載入第一位元線BL0,例如每個子組的位元線262a。
在每個子組的第一位元線載入完成後,選擇第二位元線選擇閘信號BSG1,將另外1KB的資料依序載入1KB頁緩衝器263a至263k中,再從頁緩衝器中載入資料到每個子組的第二位元線。重複此順序,直到載入每個子組中的所有16條位元線。結果,16KB 資料通過使用 1KB 頁緩衝器載入 16KB 位元線。
參考圖75A,如從時間T0到時間T1所示,1KB輸入資料從I/O匯流排載入1KB頁緩衝器PB0至PBn。假設I/O頻寬為1GB/s,這是3D NAND快閃記憶體產品常用的頻寬。 I/O 傳輸速率為 1B/1ns(奈秒),這意味著載入 1B 資料需要 1ns。因此,載入 1KB 頁緩衝器大約需要 1us(微秒)。
在時間T0到時間T2期間,第一位元線選擇閘信號BSG0被選擇並設在高點以開啟每個子組的第一位元線選擇閘,例如子組選擇閘264a,以載入來自頁緩衝器的輸入資料,例如頁緩衝器263a,到每個子組的第一位元線,例如子組位元線262a 。其他未選定的選擇閘信號BSG1-N保持低位準。因為位元線電容大而頁緩衝器的裝置尺寸小,所以將資料從頁緩衝器載入位元線可能需要相當長的時間。資料在時間T1載入頁緩衝器後,從時間T1到T2,系統可能會停止將下一個資料載入頁緩衝器,並等待從時間T1到T2的額外時間讓頁緩衝器載入資料到位元線。此後,從時間T2到T4,下一位元線選擇閘信號(例如BSG1)被選擇並變高以開啟下一位元線選擇閘。其他未選擇的選擇閘信號 (BSG) 保持低位準。系統可將下一個1KB資料載入頁緩衝器中,如時間T2到T3所示,並等待從時間T3到T4的額外時間以讓資料從頁緩衝器載入由信號BSG1選擇的下一條位元線。重複此作業,直到載入所有位元線。
圖75B顯示如圖74A至圖74B所示陣列結構之資料讀取順序的實施例。該作業與圖75A所示的資料載入順序相反。從時間T0到T1,第一位元線選擇閘BSG0被選擇以將資料從每個子組的第一位元線傳送到對應的頁緩衝器。從時間 T1 到 T2,資料從頁緩衝器(PB0 到 PBn)輸出到 I/O匯流排。從時間T2到T3,可選擇下一位元線選擇閘BSG1以將資料從每個子組的下一位元線傳送到頁緩衝器。從時間T3到T4,資料從頁緩衝器PB0到PBn輸出到I/O匯流排。重複該作業,直到所有位元線的資料都被輸出。
在圖75A至75B所示的先前實施例中,系統可週期性地暫停資料載入或讀取作業以允許資料從頁緩衝器載入位元線或從位元線讀取到頁緩衝器。
圖75C顯示根據本發明的另一資料載入順序。本實施例中,系統交替載入資料到兩個平面,平面1和平面2。從時間 T0 到 T1,系統將 1KB 資料載入平面1 中的 1KB 頁緩衝器(PB0 到 PBn)。資料載入頁緩衝器後,從時間T1到T2,頁緩衝器中儲存的資料從頁緩衝器載入平面1的位元線。同時,系統運作將下一個 1KB 資料載入 平面2 中的 1KB 頁緩衝器。因為將1KB資料載入平面2的頁緩衝器需要大約1us,當載入順序在時間T2完成時,平面1的頁緩衝器中的資料已經傳輸到平面1的位元線。因此,從時間T2到T3,系統運作將下一個1KB資料再次載入平面1的頁緩衝器。同時,儲存在平面2的頁緩衝器中的資料從頁緩衝器載入平面2的位元線。因此,在本實施例中,系統在平面之間交替切換,以無閒置時間地連續載入資料到兩個平面的位元線中。
圖75D顯示根據本發明使用兩個平面的資料輸出順序。參考平面1 ,從時間T0到T1,從位元線讀取的資料被傳送到頁緩衝器。從時間T1到T2,平面1的頁緩衝器輸出資料到I/O匯流排和輸出緩衝器。同時,在平面2 中,資料從位元線傳輸到平面2 的頁緩衝器。從時間T2到T3,平面2的頁緩衝器輸出資料到I/O匯流排和輸出緩衝器。同時,在平面1 中,下一個資料從位元線傳輸到 平面1 的頁緩衝器。因此,資料交替地從平面1和平面2的頁緩衝器輸出到輸出緩衝器。消除了資料從位元線傳輸到頁緩衝器的等待時間。
圖76A至圖76B分別顯示用於4個平面的資料載入和資料讀取作業的示例性實施例。這些作業類似於圖75C和75D中所示的作業,不同之處在於它們應用於4個平面以執行順序資料載入或資料讀取作業以消除先前描述的等待時間。
圖76A顯示使用4個平面載入資料的示例性實施例。從時間T0到時間T4,輸入資料依序載入平面1到平面4的頁緩衝器中。資料載入平面1的頁緩衝器後,資料從頁緩衝器傳輸到平面1的位元線,同時系統繼續載入資料到下一個平面的頁緩衝器。在時間T4,在輸入資料載入平面4的頁緩衝器之後,系統將下一個輸入資料載入平面1的頁緩衝器。結果,從頁緩衝器到平面1的位元線的資料傳輸時間是從時間T1到T4。相較於圖75C所示的先前實施例,其從頁緩衝器到平面1的位元線的資料傳輸時間是從時間T1到T2。該實施例的資料傳輸時間比圖75C所示的實施例增加了3倍。這允許系統使用比使用兩個平面的實施例更高的I/O匯流排時鐘速率來載入資料,如圖75C所示。
圖76B顯示使用4個平面的資料讀取作業的示例性實施例。從時間T0 到 T3,資料從位元線傳輸到平面1的頁緩衝器。從時間 T1 到 T4,資料從位元線傳輸到平面2 的頁緩衝器。從時間T2到T5,資料從位元線傳輸到平面3的頁緩衝器。從時間 T3 到T6,資料從位元線傳輸到平面4的頁緩衝器。在資料傳輸到每個平面的頁緩衝器之後,在時間T3、T4、T5和T6,資料依序從平面1的頁緩衝器輸出到平面4。在時間T4、T5、T6和T7從頁緩衝器輸出資料後,開始從位元線到平面1的頁緩衝器的資料傳輸。相較於圖75D所示的先前實施例,其位元線到平面1頁緩衝器的資料傳輸時間為時間T0到T1,在本實施例中,位元線到平面1頁緩衝器的資料傳輸時間為時間T0到T3,即比圖75D所示的實施例增加了3倍。這允許系統使用比使用兩個平面的實施例更高的I/O匯流排時鐘速率來讀取資料,如圖75C所示。
在各種實施例中,圖76A和圖76B中所示用於載入和讀取資料的類似作業可應用於任何數目的平面,例如8、16或32個平面,或任何其他合適數目的平面。應用於大量平面的這種作業在本發明的範圍內。
圖67至圖76B的實施例中所示的作業不限於僅與單個 NAND 快閃記憶體晶片中的多個平面一起使用。這些實施例可應用於位於系統中的多個晶片中的多個平面,如以下描述中所示。
圖77A顯示包括在諸如固態硬碟(solid state drive;SSD)的系統中實現的多個NAND快閃記憶體晶片266a至266p的實施例。記憶體晶片可分為兩組或更多組,例如組267a和267b 。第一組267a包括晶片266a至266h ,第二組267b包括晶片266i至266p 。如圖67至圖76B所示的作業可由圖77A所示的多個組中的多個晶片執行。
圖77B顯示根據本發明的陣列結構的另一個實施例。在這個實施例中,系統包括多個NAND快閃記憶體封裝,例如封裝268a和268b。封裝268a包括使用多晶片封裝(Multi-Chip Packaging;MCP)或多晶片模組(Multi-Chip Module;MCM)技術實現的多個NAND快閃記憶體晶片269a至269h。封裝268b包括多個NAND快閃記憶體晶片270a至270h。在本實施例中,圖67至76B所示的作業可應用於多個封裝268a和268b中的多個晶片。
圖77C顯示根據本發明的另一個實施例。在本實施例中,圖67至圖76B所示的作業應用於位於多個晶片中的多個平面。例如,假設系統包括多個NAND快閃記憶體晶片271a至271d 。每個晶片包括多個平面,例如晶片271a包括多個平面272a至272d ,晶片271b包括多個平面272e至272h等等。多個晶片被分成多個組273a和273b 。第一組273a包括晶片271a和271b ,第二組273b包括晶片271c和271d 。如圖67至圖76B所示的作業應用於位於多個組273a和273b中的晶片的多個平面,例如平面272a至272p 。
在上述實施例中,平面、記憶體晶片和封裝的數目都是示例性的,而不是對實施例的限制。如圖67至圖76B所示的作業適用於任何數目的平面、記憶體晶片和封裝。雖然圖67至76B所示的作業可應用於TLC技術,類似的作業可適用於任何其他類型的記憶體單元,如SLC、MLC、TLC、QLC、PLC等。作業可根據一個單元中儲存的位元數不同而修改,且這些作業修改在本發明的範圍內。
圖78A至圖78B顯示了根據本發明的附加實施例。這些實施例類似於圖67至圖68中所示的實施例,不同之處在於陣列包括多於兩個集合,例如圖78A中所示的集合274a至274c。為了簡單起見,該實施例使用三個集合274a至274c作為示例來描述。第一集合274a包括多個平面275a至275h 。第二集合274b包括多個平面275i至275p 。第三集合274c包括多個平面275q至275x 。
圖78B顯示與圖78中顯示的陣列架構一起使用的SLC/TLC平行程式化的實施例。以TLC為例,但也可與QLC、PLC等任何其他多層單元進行平行程式化。系統運行以在時間 T1、T2 和 T3將輸入資料分別依序程式化到集合 1 274a 、集合 2 274b和集合 3 274c等三個集合中的三個SLC頁,SLC 0、SLC 1和SLC2。資料被程式化到SLC頁之後,資料在時間T2、T3 , 和 T4從SLC頁分別讀取並重新程式化到位於集合 1、集合2和集合 3的TLC頁TLC 0、TLC 1和TLC 2。在時間T4,TLC 0頁程式化完成後,系統將下一個輸入資料分別程式化到集合 1、集合2和集合3中的SLC頁SLC 3、SLC 4和SLC 5中。在時間T5,SLC 3、SLC 4和SLC 5的資料被分別重新程式化到位於集合 1、集合 2和集合 3的TLC頁TLC 3、TLC 4和TLC5。藉由使用該實施例,允許的TLC頁的程式化時間比圖68所示的實施例加倍。
上述作業同樣可適用於更多集合,如4個集合、5個集合、6個集合等。此將分別增加TLC頁程式化時間到3倍、4倍、5倍。本實施例在QLC、PLC等多層單元需要較長程式化時間時特別有用。圖78A至圖78B所示的的多集合結構及作業也適用於晶片級,例如在圖77A至77C所示的實施例。
圖79A顯示根據本發明使用於SLC/TLC平行程式化作業之陣列結構的另一實施例。本實施例中,以TLC為例。然而,類似的作業可用於任何其他多層單元類型,例如QLC、PLC等。圖79A中所示的陣列包括多個平面,例如平面275a和275b。在平面275a中,位元線276a至276m分別透過位元線選擇閘278a至278m連接到頁緩衝器277a。在平面275b中,位元線277a至277m分別透過位元線選擇閘279a至279m連接到頁緩衝器277b。
為了根據本發明增加程式化通量,首先使用SLC程式化將用於資料D0、D1和D2的三頁輸入資料程式化到平面275b中的三條字元線292a至292c 。這實現了非常高的程式化通量。在資料被程式化之後,資料從三條字元線292a至292c讀取到頁緩衝器277b ,並透過資料線282傳送到頁緩衝器277a 。然後使用TLC程式化,分別對字元線284上的單元的資料D0、D1、D2位元進行TLC程式化。
圖79B顯示TLC字元線程式化順序的示例性實施例。例如,該順序適用於執行 TLC 程式化,如參考圖 79A所描述者。 首先,資料D0位元的資料從圖79A所示的SLC WL0 (字元線292a)讀取到頁緩衝器277b,從頁緩衝器277b傳送到頁緩衝器277a,並載入平面275a中的位元線276a至276m,然後程式化到 TLC 字元線 284 上的單元。具有程式化資料 0 的單元將被程式化到閾值電壓 Vt4,如圖79B 所示。
在資料D0位元被程式化之後,資料D1位元的資料如圖79A所示被從SLC WL1 (字元線292b)中讀取,且載入平面275a中的位元線276a至276m,然後程式化到TLC字元線284上的單元。具有程式化資料0的單元將被程式化到閾值電壓Vt2和Vt6,如圖79B所示。在程式化驗證期間,可首先檢查已程式化單元的閾值電壓Vt,並使用其在閾值電壓Vt0或Vt4中的現有閾值電壓Vt位準來確定目標閾值電壓Vt位準為閾值電壓Vt2或Vt6。
在資料D1位元被程式化後,如圖79A所示D2位元的資料從SLC WL2 292c讀取,載入平面275a中的位元線276a至276m ,然後程式化到TLC字元線284上的單元。具有程式化資料0的單元將被程式化到閾值電壓Vt1、Vt3、Vt5和Vt7,如圖79B所示。在程式化驗證期間,可先檢查已程式化單元的閾值電壓Vt,根據其在閾值電壓Vt0、Vt2、Vt4或Vt6中的現有閾值電壓Vt位準,確定目標閾值電壓Vt位準為閾值電壓Vt1、Vt3、Vt5或Vt7。
圖79C顯示根據接收到的資料D0、D1和D2位元在TLC程式化之後TLC單元的最終閾值電壓Vt分佈。在讀取作業期間,為讀取資料D0位元,向字元線提供讀取電壓VR4。為了讀取資料D1 位元,字元線被提供三個讀取電壓VR2、VR4 和 VR6。然而,為了讀取資料D2位元,字元線需要被提供七個讀取電壓VR1、VR2、VR3、VR4、VR5、VR6和VR7。這不是首選,因為它會導致讀取時間過長。針對長讀取時間的解決方案將參考圖79D進行描述。
圖79D顯示資料D2位元的另一資料分配。如指標701a所示的用於Vt2和Vt3的D2位元,以及如指標701b所示的用於Vt6和Vt7的資料D2位元被反轉。藉由使用該資料分配,僅需要四個字元線電壓VR1、VR3、VR5和VR7來讀取資料D2位元。因此,讀取時間顯著減少。
然而,儘管圖79D中所示的資料分配可減少讀取資料D2位元的時間,它不能使用圖79B所示的程式化順序。否則,資料 [D0, D1, D2] = [1, 0, 0] 將不會被程式化到閾值電壓Vt2。反之,它將被程式化為 Vt3,因為資料“0”將被程式化,而資料“1”將被抑制程式化。
圖79E顯示說明解決上述問題的稱為“資料轉換”的新穎方法的實施例。在本實施例中,如圖79D所示的輸入資料被轉換成圖79E所示的資料,然後程式化到單元。例如,如圖79D中的資料[D0,D1,D2]=[1,0,0]將被轉換為如圖79E所示的[D0, D1, D2] = [1, 0, 1] ,然後程式化為閾值電壓Vt2。類似地,圖79D中所示的資料[D0,D1,D2]=[1,0,1]將被轉換為如圖79E所示的[D0, D1, D2] = [1, 0, 0],然後程式化到閾值電壓Vt3。結果,資料[1,0,0]和[1,0,1]分別被正確地程式化到閾值電壓Vt2和Vt3,如圖79D所示。
下面描述用於執行資料轉換的詳細作業。在資料D2位元的程式化期間,在資料D2被載入程式化的位元線並由其位元線電容保持之後,從圖79A中所示的SLC 位元線(WL1) 292b檢查資料D1。如果資料D1為1,則資料D2保持不變,如圖79E中703a和703b所示。如果資料D1為0,則資料D2反轉,如圖79E中指標702a和702b所示。此作業稱為“資料轉換”。在資料轉換之後,儲存在位元線電容中的資料D2可使用圖79B所示的作業直接程式化到選定的單元中。
例如,假設輸入資料如下,[D0, D1, D2] = [1, 0, 1]。根據圖79D,選定的單元需要被程式化到閾值電壓Vt3。根據圖79E,資料將被轉換為[D0,D1,D2]=[1,0,0],這將根據圖79B所示的程式化順序將單元程式化為閾值電壓Vt3 。因此,根據圖79D,單元將被正確地程式化到閾值電壓Vt3。在讀取作業期間,藉由使用如圖79D所示分配的資料,閾值電壓Vt3 單元將被讀取為 [D0, D1, D2] = [1, 0, 1],與原始輸入資料相同。綜上所述,資料轉換只需要在程式化作業之前進行即可。對於讀取作業,資料不需要再次轉換。
在圖79A所示的先前實施例中,三位元資料D0、D1、D2首先使用SLC程式化而程式化到三條字元線292a至292c ,然後依序從三條SLC字元線292a至292c讀取並重新程式化到一條TLC字元線284。這種方法利用三個程式化週期將資料D0、D1 和 D2 位元程式化到 TLC 字元線,如圖79B所示。
圖80A至圖80C顯示根據本發明的平行程式化作業的另一實施例。在本實施例中,在將三位元資料D0、D1、D2程式化到SLC字元線後,從SLC單元中讀取資料D0、D1、D2,同時重新程式化到TCL單元中,如圖80A之指標810所示,在程式化驗證期間,向 TLC 字元線供應斜坡電壓 VR1 – VR7,如指標811 所示,以根據每個程式化單元的目標 D0 – D2 資料驗證每個程式化單元的 Vt。這樣一來,只需要一個程式化週期就可對D0-D2資料進行程式化,從而可顯著提高程式化通量。
圖80B顯示根據本發明的使用圖80A中所示的TLC程式化的用於SLC/TLC平行程式化的陣列架構的實施例。在本實施例中,以TLC為例。然而,類似的方法可用於任何其他多層單元,例如QLC、PLC等。陣列包括多個平面,例如如圖所示的平面275a和275b 。在平面275a中,位元線276a至276m透過位元線選擇閘278a至278m連接到頁緩衝器277a 。在平面275b中,位元線277a至277m透過位元線選擇閘279a至279m連接到頁緩衝器277b。
為了增加程式化通量,輸入資料D0、D1和D2的三位元首先使用SLC程式化被程式化到平面275b中的六個字元線292a至292f 。三個字元線可儲存資料D0、D1和D2。其他三個字元線可儲存互補資料D0B、D1B和D2B。
在輸入資料被程式化到字元線262a-f之後,可使用TLC程式化將資料重新程式化到平面275a中的字元線284 。在本實施例中,儲存在SLC字元線262a至262f中的資料並沒有被一一讀出。反之,字元線262a至262f被提供有從'001'到'111'的斜坡資料以匹配儲存在單元中的資料。資料匹配作業的詳細作業將參考圖81A至圖81D説明。 當施加到字元線262a至262f的資料與儲存在單元中的資料不同(不匹配)時,位元線將被拉高。當施加到字元線262a至262f的資料與儲存在單元中的資料相同(匹配)時,位元線將被拉低。然後,系統將使用匹配資料對應的Vt位準對已程式化的TLC單元進行程式化驗證。
圖80C詳細說明了資料匹配作業。單元字串280a在耦合到字元線262a至262f的單元中儲存資料D0、D1和D2以及資料D0B、D1B和D2B 。字元線262a至262f被提供有從001到111的斜坡資料以匹配儲存在單元字串280a中的資料D0、D1和D2,並且在TLC程式化期間將匹配資料應用於單元281a的程式化驗證。類似地,來自單元字串280m的匹配資料將在TLC程式化期間應用於單元281m的程式化驗證。對於280m等單元字串的詳細描述將參考圖81A至圖81D説明 。
圖81A顯示記憶體單元字串的實施例。單元字串包括汲極選擇閘281、源極選擇閘282和多個記憶體單元283a至283p 。對於 TLC 應用,輸入資料 D0、SD1 和 D2 的三位元使用 SLC 程式化被程式化到六個單元283a至283f 。
圖81B顯示如圖81A所示用於六個單元的資料分配。輸入資料D0、D1及D2可分別程式化至單元0 、單元2 和單元4,而互補資料 D0B、D1B 和 D2B 可分別程式化至單元1、單元3 和單元5。分配給單元和字元線的資料的順序只是一個例子。它們可按任何其他順序排列。
圖81C顯示如圖81A至圖81B所示單位的閾值電壓Vt位準。對於資料 0 和資料 1,單元分別被程式化為閾值電壓Vt0 和 Vt1。在讀取作業期間,字元線WL0至WL5被提供有不同的資料以匹配儲存在單元0至單元5中的資料。對於資料0和資料1,字元線電壓分別被提供電壓VR0和VR1。字元線電壓VR1可高於閾值電壓Vt1,字元線電壓VR0可在閾值電壓Vt0和Vt1之間。
在另一實施例中,可交換資料0和資料1的分配。因此,閾值電壓Vt0和電壓VR0用於資料1,閾值電壓Vt1和電壓VR1用於資料0。在另一實施例中,電壓VR0為0V,閾值電壓Vt0為清除後的Vt,例如-1V至-2V範圍內的位準。
不同於圖79A至圖79C中所示的先前實施例依序讀取和程式化資料D0、D1和D2的三位元資料,在本實施例中,字元線262a至262f從[0,0,0] 到 [1, 1, 1] 被依序提供[D0,D1,D2]的資料 以匹配儲存在單元283a至283f中的資料。當施加到字元線262a至262f的資料與儲存在單元283a至283f中的資料匹配時,所有單元283a至283f將被開啟。
圖81D顯示當將資料D0和D0B施加到位元線WL0和WL1以分別讀取單元(單元0和單元1)以匹配資料D0時獲得的結果的示例性表格。如果施加到字元線WL0和WL1的資料與儲存在單元0和單元1中的資料相同,則單元0和單元1都將被開啟,如指標290a和290d所示。如果施加於字元線的資料與儲存在單元中的資料不匹配,則單元將不會同時開啟,如指標290b和290c所示。類似的規則可適用於使用字元線WL2和WL3匹配資料D1和D1B,以及使用字元線WL4和WL5匹配資料D2和D2B。
再次參考圖81A,在程式化驗證作業期間,從[0,0,0]到[1,1,1]順序地向字元線WL0-WL5提供資料D0-D2和資料D0B-D2B。所有其他未選定的字元線都被提供高電壓以導通單元。如果提供給字元線WL0-WL5的資料與單元0-單元5中儲存的資料匹配,則單元0-單元5將全部導通並傳導拉低位元線的電流。如果任何資料不匹配,則不匹配的單元將被關閉並且位元線將被耦合到位元線的感測電路拉高。感測電路將感測位元線電壓或電流以確定資料匹配結果。藉由使用這些作業,可同時檢查儲存在單元0-單元5中的資料D0-D2,而不是使用圖79A至圖79E的先前實施例中所示的逐一讀取作業。
圖82A顯示依據本發明用於TLC程式化驗證作業之示例性波形的實施例。圖82A所示的波形適用於圖80B所示的電路。在 TLC 程式化驗證期間,在每個程式化脈衝之後,向選定的 TLC 字元線 284 提供從 VR1 到 VR7 的斜坡或層梯式驗證電壓,以讀取圖80B中所示的第一平面 275a 中的 TLC WL 284 上的已程式化單元。
同時,如參考圖81A-C所描述的,SLC WL0至WL5被提供有對應於提供給TLC字元線的驗證電壓的從'001'到'111'的資料D0-D2和DB0-DB2,以檢查儲存在WL0–WL5上的單元中的輸入資料。例如,假設當TLC WL被施加VR4時SLC位元線被拉低,如圖82A之290所示。這表明儲存在 SLC WL0 – WL1 中的資料與當前驗證的 Vt 位準匹配。如果從已程式化單元讀取的資料為“0”(關斷單元),則該單元已成功程式化。如果從已程式化單元上的單元讀取的資料為“1”(導通單元),則該單元尚未成功程式化。通過使用此波形,所有已程式化的單元都可根據儲存在 SLC WL0–WL5 中的資料進行程式化驗證。
因此,使用該實施例,單元根據資料D0至D2被同時程式化到閾值電壓Vt0至Vt7,如圖80A所示。與圖79A至79E中所示的實施例相比,這顯著減少了程式化時間。
圖82B顯示根據本發明使用於TLC程式化驗證作業之波形的另一示例性實施例。本實施例類似於顯示於圖82A者,不同之處在於TLC字元線的電壓從電壓VR7逐步下降到電壓VR1。 SLC字元線WL0至WL5被提供有從“111”至“001”的TLC字元線電壓的對應資料。類似於圖82A所示,當施加於SLC WL0-WL5的資料與儲存在SLC WL0-WL5的單元中的資料匹配時,SLC位元線將被拉低,如指標291所示,以指示資料與當前驗證的閾值電壓Vt位準匹配。
圖83A顯示SLC字元線的實施態樣的另一示例性實施例。在本實施例中,如圖所示,單元(單元0至單元5)位於不同的單元字串中。輸入資料根據圖81B所示的相同資料分配使用SLC程式化被程式化到單元(單元0到單元5)。 在讀取作業期間,信號DSG0至DSG5和SSG變為高位準以打開單元字串的汲極選擇閘和源極選擇閘。字元線WL0至WL5根據與圖81B所示相同的資料分配被提供有資料D0-D2來匹配儲存在單元0至單元5 中的資料D0至D2 和 D0B至D2B。然而,對於該實施例,單元的閾值電壓Vt位準和字元線讀取電壓不同於圖81C所示的先前實施例。其他字元線被施加更高的電壓以開啟所有其他單元。
圖83B顯示圖83A所示實施例之單元的閾值電壓Vt與讀取電壓分配。字元線電壓VR0低於閾值電壓Vt0,字元線電壓VR1介於閾值電壓Vt0與Vt1之間。當施加於字元線的資料與儲存在單元中的資料匹配時,此分配將關斷單元。
圖83C顯示之表格繪示當將資料施加到字元線WL0和WL1以讀取單元(單元0和單元1)來匹配資料D0時獲得之結果。 若施加至字元線WL0及WL1的資料與儲存在單元0 和 單元1的資料相同,則如行293a和293d所示單元0和單元1都將關閉。如果施加於字元線的資料與儲存在單元中的資料不匹配,則單元將不會同時關閉,如行293b和293c所示。
再次參考圖83A,在程式化驗證作業期間,字元線WL0、WL2和WL4被分別提供有資料D0、D1和D2,並且字元線WL1、WL3和WL5被分別提供有互補資料D0B、D1B和D2B。所有其他字元線都被提供高電壓以導通單元。如果提供給字元線 WL0至WL5的資料D0至D2和D0B至D2B資料與儲存在單元0至單元5 中的資料匹配,則單元0至單元5將全部關閉並導致位元線被耦合到位元線的感測電路拉高。如果任何資料位元不匹配,則不匹配的單元將導通而傳導電流以拉低位元線。感測電路將感測位元線電壓或電流以確定資料匹配結果。使用這些作業,可同時匹配儲存在單元0至單元5中的資料D0至D2,而不是使用一個接一個的讀取作業,如圖79A至圖79E的實施例所示。
圖83A的實施例的程式化驗證作業的作業波形係類似於圖82A和圖82B所示的先前實施例,不同之處在於當施加到字元線WL0至WL5的資料與儲存在SLC單元(單元0至單元5)中的資料匹配時SLC位元線將被拉高。 [記憶體裝置、系統和程式化作業]
在各種實施例中,提供了記憶體裝置、系統和程式化作業。本發明實施例可大大提高記憶體裝置和系統的程式化通量,特別是對於非揮發性記憶體,例如通常需要非常長的程式化時間的NAND快閃記憶體。
前面的段落已揭示新穎的陣列架構,以增加 NAND 快閃記憶體晶片的平面數目,從而在不增加晶元尺寸的情況下大大提高讀取和程式化速度以及通量。前面的段落還揭示了使用本文所示的陣列架構將輸入資料程式化到多層單元的新穎方法。
下面的段落揭示各種發明實施例以形成NAND快閃記憶體晶片、封裝和固態硬碟(SSD)系統並且以超高資料通量將資料程式化到這樣的晶片、封裝和系統中。
圖84顯示具有多個平面(1201a至1201n )的NAND快閃記憶體晶片1200的實施例。這些平面耦合到頁緩衝器電路(1202a至1202n )。根據如圖1B所示的陣列結構,每個頁緩衝器電路(1202a至1202n)中的頁緩衝器的數目可小於每個平面(1201a至1201n)的位元線的數目。這允許在不增加頁緩衝器的總數的情況下增加平面的數目,因此晶元尺寸可保持相同。
在程式化作業期間,輸入資料從I/O資料匯流排1224透過頁緩衝器電路(1202a到1202n )載入平面(1202a到1201n)的位元線,然後被程式化到選擇的單元。
圖85顯示根據本發明實施例的記憶體晶片1200的程式化作業的時間線的實施例。為了說明的目的,本實施例假設晶片1200包括八個平面(平面 1至平面 8),並且每個平面包括16KB的位元線。假設I/O資料匯流排1224是八位元(一個位元組)寬並且I/O時鐘週期是1奈秒(ns)。 I/O通量將為 (1B (位元組)/1奈秒 = 1GB (吉位元組)/秒)。
假設晶片1200執行單層單元(SLC)程式化作業。 SLC 單元藉由使用兩個閾值電壓 (Vt) 位準來表示資料 1 和 0,從而在一個單元中儲存一個資料位元。
從時間T0到T1,輸入資料載入平面 1的位元線。載入一個平面的16KB位元線需要16us,如指標1210a所示。在平面1的位元線全部載入之後,可使用SLC模式將資料程式化到平面1中的選定字元線上的單元,如指標1211a處所示。假設SLC的程式化時間約為100us,則SLC程式化1211a將在時間T8完成。
在時間T1,在平面1的位元線完全載入之後,下一個資料被載入平面2的位元線,如指標1210b所示。在時間T2,在平面 2的位元線被完全載入之後,資料將被程式化到字元線,如指標1211b所示。同時,下一個資料將被載入平面3的位元線,如指標1210c所示。如指標1210d至1210h所示,繼續上述順序以將輸入資料載入平面4至平面8的位元線。在資料載入每個平面的位元線之後,可將資料程式化到每個平面中的字元線,如指標1211a至1211h所示。因為載入一個平面的位元線大約需要16微秒(us),所以從時間T0到T8載入資料總共需要大約(16微秒
Figure 02_image007
8個平面= 128微秒)。
典型的 SLC 程式化時間約為100us。因此,在時間T8, 平面 1的1211a處的SLC程式化作業已經完成。因此,在時間T8,下一個資料可載入平面1的位元線,如指標1210i所示。
同樣地,在時間T9,當平面1的位元線載滿後,平面2的指標1211b處的SLC程式化作業已經完成。因此,下一個資料可載入平面2的位元線,如指標1210j所示。重複此作業以將下一個資料載入平面3到平面8的位元線,如指標1210k到1210p所示。在資料載入每個平面的位元線之後,資料被程式化到每個平面的字元線,如指標1211i至1211p所示。藉由使用這個過程,資料可被連續載入晶片1200 ,然後被程式化到字元線而沒有任何閒置或等待時間。這可實現與全 I/O 頻寬一樣高的程式化通量。
面數(平面數目)由以下方程式決定。 程式化通量 = (平面數目
Figure 02_image009
每個平面的位元線數目) / (一個平面載入時間 + SLC 程式化時間) > I/O 頻寬; 所以; 平面數 > I/O 頻寬
Figure 02_image009
(一個平面載入時間 + 程式化時間)/每個平面的位元線數。
例如,假設I/O頻寬為1GB/s;單平面載入時間為16us; SLC程式化時間為100us;每個平面的位元線數為16KB;因此需要至少 (1GB/s
Figure 02_image011
116us / 16KB) = 7.3 個平面才能達到 1GB/s 的程式化通量。因此,選擇8個平面來實現1GB/s的程式化通量。同樣,如果 I/O 頻寬為 2GB/s,則需要至少 14.6 個平面。因此,選擇16個平面來實現2GB/s的程式化通量。
圖86顯示示例性表格,其繪示I/O頻寬和平面數目的各種組合的程式化通量的一些示例。如圖86所示,假設每個平面有16KB位元線,當I/O頻寬為1GB/s、2GB/s、4GB/s時,達到與I/O頻寬相同的程式化通量所需的平面數(平面數目)分別為 8、16 和 32。所示的這些數字是示例性的,並且應當注意,可增加平面的數目和每個平面的位元線數目以成比例地增加程式化通量。
圖87顯示記憶體封裝1220的實施例,其使用多晶片封裝(Multiple-Chip Package,MCP)技術將多個晶片(1221a至1221k )組裝成一個封裝以增加記憶體容量。晶片(1221a至1221k )使用圖84 所示的陣列架構。每個晶片,例如晶片1221a,包括多個平面(1222a至1222n)。 I/O資料匯流排1224將資料載入每個晶片中每個平面的位元線。
圖88A顯示說明圖87中所示的記憶體封裝1220的程式化作業的時間線的實施例。為了說明的目的,本實施例假設封裝1220包括八個晶片(晶片1至晶片8),每個晶片包括N個平面,並且每個平面包括16KB位元線。
假設晶片進行SLC程式化作業,從時間T0到T1,輸入資料載入晶片1的N個平面的位元線。在時間T1,晶片1的位元線全部載入後,資料被程式化到字元線,如指標1211a處所示。
在時間T1,在晶片1的位元線全部載入之後,下一個資料被載入晶片2的位元線,如指標1210b所示。在時間T2,在晶片2的位元線被完全載入之後,資料被程式化到字元線,如指標1211b所示。同時,下一個資料將載入晶片3的位元線,如指標1210c所示。
如指標1210d至1210h所示,繼續上述順序以載入輸入資料至晶片4至晶片8的位元線。在資料載入每個晶片的位元線之後,資料被程式化到字元線,如指標1211a至1211h所示。
典型的 SLC 程式化時間約為 100us。假設在時間T8,晶片1的SLC程式化作業1211a已經完成,下一個資料可載入晶片1的位元線,如指標1210i所示。
同理,在時間T9,晶片1的位元線完全載入完畢後,晶片2的指標1211b處的SLC程式化作業已經完成。因此,下一個資料可載入晶片2的位元線,如指標1210j所示。重複該作業以將下一個資料載入晶片3至晶片8的位元線,如指標1210k至1210p處所示。在資料載入每個晶片的位元線之後,資料被程式化到字元線,如指標1211i至1211p所示。
藉由使用這個過程,資料被連續載入晶片中,然後被程式化到字元線上,沒有閒置或等待時間。這個過程可實現與全 I/O 頻寬一樣高的程式化通量。
面數(平面數目)由以下方程式決定。 程式化通量 = (晶片數目 X 平面數目 X 每個平面的位元線數目) / (一個晶片載入時間 + SLC 程式化時間) > I/O頻寬; 所以; 平面數 > I/O 頻寬 X(一個晶片載入時間 + SLC 程式化時間)/晶片數/每個平面的位元線數)。
例如,假設I/O頻寬為8GB/s;一個晶片載入時間為16us; SLC程式化時間為100us;晶片數為8;每個平面的位元線數為16KB。需要至少 (8GB/s X 116us / 8 個晶片 / 16KB) = 3.6 個平面才能達到 4GB/s 的程式化通量。因此,選擇4個平面來實現4GB/s的程式化通量。同樣,如果 I/O 頻寬為 16GB/s,則至少需要 7.2 個平面。因此,選擇8個平面來實現16GB/s的程式化通量。
與圖84至圖86所示的單晶片實施例相比,圖87所示的多晶片封裝的實施例在當每個晶片使用相同數目的平面時,具有更高的程式化通量。一般來說,多晶片封裝的程式化通量等於單晶片程式化通量乘以晶片數目。
圖88B顯示時間線的另一個實施例,其繪示的程式化作業用於具有4個晶片的封裝而非如圖88A之前述實施例中所示的8個晶片的封裝。在圖88B的實施例中,在時間T4,在資料在指標1210d處被載入晶片4的位元線之後,由於在指標1211a處的程式化作業仍在進行中,下一個資料不能被載入晶片1的位元線。
系統需要等到在指標1211a處的程式化作業在時間T8完成,然後才能將下一個資料載入晶片1的位元線,如指標1210i所示。因此,I/O匯流排在時間T4到T8之間是閒置的。這浪費了50%的 I/O 頻寬。
為了解決這種頻寬浪費,一種解決方案是將晶片的數目從4個增加到8個,如圖88A所示。因此,藉由增加晶片,程式化通量將增加到全 I/O 頻寬,8GB/s。如果封裝只能容納4個晶片,或者封裝的容量只需要4個晶片,則採用圖88C所示的解決方法,僅需4個晶片而不是8個晶片即可實現全頻寬。
圖88C顯示時間線的另一個實施例,其繪示具有增加數目之平面的晶片的封裝的程式化作業。為了比較的目的,在圖88A至圖88C中從時間T1至時間T17的時間刻度(scale)保持不變。圖88C的實施例顯示時間線,其中每個晶片的平面數目從8個增加到16個。這使資料載入時間加倍。顯示於圖88B中(1210a to 1210d)的原始資料載入時間大約是16us。在圖88C中,資料載入時間(指標1210a至1210d)係加倍為 32us。因此,從時間T2到T8將花費大約(32us X 3個平面=96us)將晶片2載入晶片4,在此期間晶片1的SLC程式化發生在指標1211a處。
因為指標1211a處程式化作業的典型SLC程式化時間約為100us,而晶片2到晶片4的資料載入時間約為96us,當資料在時間T8完全載入晶片4時, 指標1211a處的程式化作業幾近完成。因此,在短暫的等待時間(4us)之後,下一個資料可載入晶片1的位元線,如指標1210i處所示。在另一種情況下,如果 SLC 程式化時間比資料載入時間 (96us) 短,則資料匯流排的等待時間為零。這允許系統連續地將輸入資料載入4個晶片而沒有50%的閒置時間(例如,圖88B中所示的時間T4到T8 )。結果,藉由在圖88C所示的實施例中說明的程式化過程中使用更多的平面,程式化通量被加倍。
圖89顯示示例性表格,其說明針對I/O頻寬、晶片數目和平面數目的各種組合之程式化通量的一些例示。相較於顯示於圖86之先前的單一晶片實施例,在每個晶片的平面數目相同的情況下,當乘以晶片數目時,圖89所示的多晶片封裝實施例的程式化通量較高。例如,比較圖86至圖89的第一行顯示當晶片數目增加時 I/O 頻寬增加。因此,可藉由增加晶片數目或每個晶片的平面數目來增加程式化通量。
需要說明的是,本發明所有實施例中所示的所有參數,例如I/O頻寬、晶片數目、平面數目、每平面位元線數目、程式化時間等,僅是示例性的,用以示範本發明的各種不同實施例。應該注意的是,這些參數中的任何一個都可根據設計要求而變化或修改。這些變化和修改仍屬於本發明的範圍。
圖90顯示記憶體裝置或記憶體系統1203的實施例,例如固態硬碟(SSD)。該系統包括多個NAND快閃記憶體封裝( 1220a至1220m )。每個封裝包括多個NAND快閃記憶體晶片,例如採用多晶片封裝(multiple-chip package;MCP)技術之封裝1220a中的晶片(1221a至1221k )。每個NAND快閃記憶體晶片,例如晶片1221a ,包括多個平面,例如平面1222a至1222n。
多個封裝( 1220a至1220m )分別透過多個通道( 1224a至1224m)連接至記憶體控制晶片1223 。每個通道包括控制信號、地址匯流排和資料匯流排。控制器晶片的典型通道數可為2、4、8、16、32等。藉由使用此架構,記憶體控制晶片1223可平行讀取及寫入多個封裝(1220a至1220m)以成倍增加讀取及程式化通量率。
記憶體晶片,如晶片(1221a至1221k )採用SLC技術或多層技術,如複層單元(MLC)、三層單元(TLC)、四層單元(QLC)、五層單元 (PLC) 和六層單元 (HLC) 。 MLC、TLC、QLC、PLC和HLC技術分別使用4、8、16、32和64個閾值電壓(Vt)位準,可在一個單元中儲存2、3、4、5和6位元資料, 以增加單元的儲存密度。應該注意的是,“多層單元”(multiple-level cell)和“複層單元”(multi-level cell)之間存在術語差異。每個單元儲存兩位元的技術稱為“複層單元 (MLC)”。 SLC、MLC、TLC、QLC、PLC、HLC等將多位元資料儲存在一個單元中的技術稱為“多層(multiple-level)單元”或“多層級(multiple level)單元”。
對於SLC作業,提供關於圖88A至88C所示實施例的描述。
圖91A顯示時間線的實施例,其說明針對一個封裝(例如圖90中所顯示的封裝1220a)的多層單元程式化作業。為了說明的目的,圖91A中所示的實施例以TLC程式化作業為例。需要說明的是,類似的作業也可應用於其他多層單元,如MLC、QLC、PLC、HLC等。由於在多層單元的程式化作業中需要較多的閾值電壓Vt位準以進行程式化和驗證,因此各種多層單元的典型程式化次數之間的關係為:MLC
Figure 02_image013
TLC
Figure 02_image013
QLC
Figure 02_image013
PLC
Figure 02_image013
HLC。如圖91A所示之程式化作業可根據可使用的各種多層單元的不同程式化時間修改。這些應用和變形例都在本發明的範圍內。
圖91A的實施例假定例如圖90中之封裝1220a的封裝包括8個NAND快閃記憶體晶片,晶片1至晶片8,如圖91A所示,其包括TLC記憶體單元。假設每個晶片包括8個平面,每個平面包括16KB位元線。還將假設圖90所示的I/O資料匯流排1124為8位元(1 位元組)寬,I/O 時鐘週期為1ns。因此,I/O 通量將為 (1B/1ns = 1GB/s)。
由於TLC的程式化時間通常約為500us,直接將輸入資料程式化到 TLC單元將導致非常低的程式化通量。為了解決這個問題,本發明的實施例首先在SLC模式下將輸入資料程式化到選定的字元線,那些選定的字元線被稱為“SLC字元線”。資料被成功程式化到SLC字元線後,資料從SLC字元線讀取,然後使用TLC模式重新程式化到其他字元線,這些字元線被稱為“TLC字元線” 。
由於儲存在多個平面的SLC字元線中的資料可平行地重新程式化到TLC字元線,這增加了TLC字元線的程式化通量。結果,在各種實施例中,可以與全I/O頻寬一樣高的速度將資料程式化到TLC字元線。
參考圖91A,從時間T0到T1,輸入資料載入晶片1的8個平面的位元線。載入一個平面的16KB位元線大約需要16us,載入晶片1的8個平面總共需要128us,如指標1230a所示。在時間T1,在晶片1的位元線被完全載入之後,資料被平行地程式化到每個平面中的SLC字元線,如指標1231a所示。假設SLC的程式化時間約為100us,則指標1231a處的SLC程式化將在時間T2左右完成。
在時間T2,在資料被程式化到SLC字元線之後,資料被從SLC字元線讀取並且在指標1232a處藉由使用圖80A至圖80C中描述的過程被重新程式化到TLC字元線。在指標1232a處的典型 TLC 程式化時間約為 500us。
同時,在時間T1,在晶片1的資料完全載入之後,控制器晶片將下一個資料載入晶片2的位元線,如指標1230b所示。在時間T2,在晶片2的位元線被完全載入之後,資料將被程式化到SLC字元線,如指標1231b所示。同時,控制器晶片將下一個資料載入晶片3的位元線,如指標1230c所示。如指標1230d至1230h所示,繼續上述順序以載入輸入資料至晶片4至晶片8的位元線。從時間T2到時間T8,晶片1正在執行TLC程式化(指標1232a處),同時系統正在將資料載入晶片3到晶片8,如指標1230c到1230h處所示。因為載入一個晶片的位元線大約需要96us,所以從時間T2到時間T8總共需要(96us
Figure 02_image009
6個晶片
Figure 02_image015
576us)將資料載入晶片3到晶片8。
因為典型的TLC程式化時間約為500us,所以在時間T8,晶片1的TLC程式化作業(指標1232a處)已經完成。這允許控制器晶片將下一個輸入資料載入晶片1的位元線,如指標1230i處所示。
類似地,在時間T9,在晶片1的位元線在指標1230i處被完全載入之後,晶片2在指標1232b處的TLC程式化作業已經完成。因此,控制器晶片繼續載入下一個資料到晶片2的位元線,如指標1230j處所示。重複該作業以將下一個資料載入晶片3至晶片8的位元線,如指標1230k至1230p處所示。在資料載入每個晶片的位元線之後,資料被程式化到SLC字元線,如指標1231i到1231p處所示,然後再程式化到TLC字元線,如指標1232i到1232p處所示。
藉由使用此過程,輸入資料被連續且重複地載入晶片1到晶片8,然後程式化到TLC字元線而沒有長的閒置時間。因此,可實現與 I/O 頻寬 (1GB/s) 一樣高或幾乎一樣高的TLC程式化通量。
圖91B顯示時間線的另一實施例,其說明具有比先前實施例更少晶片數目的封裝的TLC程式化作業。假設一封裝,例如圖90中所示的封裝1220a,僅包括四個NAND快閃記憶體晶片,如圖所示的晶片1至晶片4。此實施例的作業類似於圖91A中所示的作業。控制器晶片從時間T0到T4連續載入輸入資料到晶片1到晶片4的位元線,如指標1230a到1230d處所示。對於每個晶片,在位元線完全載入之後,資料被程式化到SLC字元線,如指標1231a至1231d處所示。在SLC程式化作業完成之後,資料被重新程式化到TLC字元線,如指標1232a至1232d處所示。
然而,在時間T4,晶片4的位元線在指標1230d處滿載後,由於晶片1在指標1232a處的TLC程式化作業仍在進行中,控制器晶片需要等到指標1232a處的TLC程式化作業在時間T8完成。然後控制器晶片可載入下一個資料到晶片1的位元線,如指標1230i處所示。因此,從時間T4到T8,控制器晶片處於閒置狀態。這會浪費大約 50% 的I/O通量。結果,TLC 程式化通量降低到大約 500 MB/s。
為了解決浪費的 I/O通量,一種解決方式是增加每個封裝的晶片數目,如圖91A所示的先前實施例。另一種解決方式是增加每個晶片的平面數目,如圖91C所示的實施例。
圖91C顯示當每個晶片包括16個平面而不是如圖91B所示的8個平面時產生的TLC程式化作業的時間線的實施例。這將每個晶片的資料載入時間加倍至(16us
Figure 02_image017
16個平面
Figure 02_image015
256us),如指標1234a至1234d處所示。因此,在時間T8,當控制器晶片在指標1234d處完成晶片4的資料載入時,晶片1在指標1232a處的TLC程式化作業已經完成。這允許控制器晶片將下一個資料載入晶片1的位元線,如在指標1234i處所示。這消除了從時間T4到T8的I/O匯流排的閒置時間,如圖91B所示。
類似於在指標1234a至1234d處的作業,當在時間T10,晶片1在指標1234i處完成資料載入時,晶片2在指標1232b處的TLC程式化作業已經完成。因此,控制器晶片繼續載入下一個資料到晶片2的位元線,如指標1234j處所示。重複該作業以將下一個資料載入晶片3至晶片8的位元線,如指標1234k至1234l處所示。在資料載入每個晶片的位元線之後,資料被程式化到SLC字元線,如指標1231i到1231l處所示,然後再程式化到TLC字元線,如指標1232i到1232l處所示。
藉由使用這個過程,輸入資料被連續和重複載入晶片1到晶片4,然後程式化到TLC字元線而沒有閒置時間。因此,可實現與 I/O 頻寬 (1GB/s) 一樣高的 TLC 程式化通量。
在圖91A至圖91C的實施例顯示了圖90所示的記憶體系統1203的程式化通量可藉由選擇不同的I/O頻寬、晶片數目、平面數目和每個平面的位元線數目等來調整。一般來說,程式化通量可藉由以下方程式來計算。 程式化通量
Figure 02_image015
晶片數目
Figure 02_image009
平面數目
Figure 02_image009
每個平面的位元線數目
Figure 02_image019
(一個晶片載入時間
Figure 02_image021
SLC 程式化時間
Figure 02_image021
TLC 程式化時間)
Figure 02_image023
I/O頻寬; 所以; 平面數目
Figure 02_image023
I/O 頻寬
Figure 02_image009
(一個晶片載入時間
Figure 02_image021
SLC 程式化時間
Figure 02_image021
TLC 程式化時間) / 晶片數目 / 每個平面的位元線數目。
例如,假設I/O頻寬為1GB/s;一個晶片載入時間為128us; SLC程式化時間為100us; TLC程式化時間為500us;晶片數目為8;每個平面的位元線數為16KB。需要至少 (1GB/s
Figure 02_image009
728us / 8 chips / 16KB) = 5.7 個平面才能達到 1GB/s 的程式化通量。因此,選擇8個平面來實現1GB/s的程式化通量。同樣,如果 I/O 頻寬為 2GB/s,則需要至少 11.4 個平面。因此,選擇16個平面來實現2GB/s的程式化通量。
圖92顯示示例性表格,其說明I/O頻寬、晶片數目及平面數目的各種組合的程式化通量的一些示例以達成1GB/s、2GB/s及4GB/s的TCL程式化通量。可看出程式化通量與晶片數目和每個晶片的平面數目成正比。因此,記憶體系統1203可根據所需的記憶體容量、I/O頻寬、系統佔用空間彈性實現,以達成所需的程式化通量。
在上述實施例中,假設需要一個平面來執行從一條SLC字元線到一條TLC字元線的重新程式化作業。在一些需要多個平面來執行TLC重新程式化作業的程式化作業的實施例中,例如圖57A所示的實施例需要4個平面及圖80A至圖80C所示的實施例需要2個平面,如圖92中所示的每個晶片所需的平面數目可相應地相乘。例如,參考圖92,對於使用8個晶片和8個平面且每個平面16KB位元線的組合,I/O頻寬為1GB/s。如果晶片採用如圖57A所示的陣列架構,因為該實施例需要4個平面來執行TLC重新程式化作業,所以平面數目需要增加4倍以成為32個平面。在另一示例中,如果使用如圖80A至圖80C所示之陣列架構,因為該實施例需要2個平面來執行TLC重新程式化作業,平面數目需要增加2倍成為16個平面。
如上所述,圖91A至圖91C所示用於 TLC 程式化的實施例可針對任何其他多層單元技術進行修改,例如 QLC、PLC、HLC等。
圖93A顯示說明QLC程式化作業之時間線的另一實施例。QLC程式化所需的典型程式化時間約為1.6ms。假設一個封裝包括16個NAND快閃記憶體晶片,晶片1到晶片16,如圖93A所示。進一步假設每個晶片包括N個平面,每個平面包括16KB位元線及I/O頻寬為1GB/s。還將假設 SLC 程式化時間為 100us,QLC 程式化時間為 1.6ms。藉由使用圖91A至圖91C的描述中所示的方程式,每個晶片的最小平面數目能夠由 (1GB/s
Figure 02_image009
1.7ms / 15 個晶片 / 16KB) = 7.1 個平面確定。因此,選擇每個晶片8個平面,以達成此 QLC 應用的 1GB/s 程式化通量。
在圖93A中,從時間T0到T1,輸入資料載入晶片1的8個平面的位元線。載入晶片1的8個平面大約需要(16us
Figure 02_image009
8個平面=128us),如指標1230a處所示。在晶片1的位元線被完全載入之後,在時間T1,資料被程式化到SLC字元線,如指標1231a處所示。假設SLC的程式化時間約為100us,則在指標1231a處的SLC程式化將在時間T2左右完成。然後資料可從 SLC 字元線讀取並在指標1232a處重新程式化到 QLC 字元線。 指標1232a處的典型 QLC 程式化時間約為 1.6ms。
同時,從時間T1到T15,下一個輸入資料被依序載入晶片2到晶片16,如指標1230b到1230p處所示。這總共需要(128us
Figure 02_image009
15 個晶片
Figure 02_image015
1.92ms)。因此,在時間T16,輸入資料載入晶片16後,晶片1在指標1232a處的QLC程式化作業已經完成。這允許下一個資料在指標1230q處載入晶片 1而不會導致 I/O 匯流排的閒置時間。
類似地,在時間T17,在指標1230q處所示完全載入晶片1後,晶片2在指標1232b處的QLC程式化作業已經完成。因此,下一個資料可載入晶片 2,如指標1230r處所示。重複此作業以連續載入資料至晶片3至晶片8,如指標1230s至1230v處所示。資料載入每個晶片後,資料被程式化到SLC字元線,如指標1231q到1231u處所示,然後重新程式化到QLC字元線。
藉由使用這個過程,輸入資料被連續不斷地重複載入晶片1到晶片8,然後程式化到QLC字元線上而沒有閒置時間。結果,可實現與 I/O 頻寬 (1GB/s) 一樣高的 QLC 程式化通量。
圖93B顯示時間線的另一實施例,其說明QLC程式化作業達成如圖93A所示實施例相同的1GB/s程式化通量,但僅藉由使用8個晶片。為了比較,在圖93A與圖93B中從時間T0至時間T22的時間標度保持不變。參見圖93B,為了補償晶片數目的減少,每個晶片的平面數目從8個平面增加到16個平面。這將每個晶片的資料載入時間加倍至(16us
Figure 02_image009
16個平面
Figure 02_image015
256us)。因此,從時間T0 到T16輸入資料載入晶片1到晶片8將花費的時間為(256us
Figure 02_image011
8個晶片
Figure 02_image025
2048us)。
同時,載入晶片1的資料將在指標1231a處被程式化到SLC字元線,然後在指標1232a處被重新程式化到QLC字元線。典型的SLC程式化時間約為100us,典型的QLC程式化時間約為1.6ms。因此,在時間T16,在指標1232a處的QLC程式化作業已經完成。這允許將下一個輸入資料載入晶片 1,如指標1234a處所示,而不會導致 I/O 匯流排的閒置時間。如此一來,資料就源源不斷地載入晶片1到晶片8,並程式化到QLC字元線上,實現1GB/s的程式化通量。
對於以上所示的所有實施例,所有參數,例如I/O頻寬、晶片數目、平面數目、每個平面的位元線數目以及程式化時間等僅是示例性以說明本發明。很明顯,這些數字中的任何一個都可根據設計要求進行變化或修改。這些變化和修改仍屬於本發明的範圍。
雖然已經顯示和描述了本發明的示例性實施例,但是對於本發明所屬技術領域中具有通常知識者來說顯而易見的是,基於本文的教示內容,可在不脫離示例性實施例及其更廣泛的態樣的情況下進行改變和修改。因此,所附申請專利範圍旨在將所有此類變化和修改包含在其範圍內,如在本發明示例性實施例的真實精神和範圍內。
100:架構 101:記憶體陣列 101a~101p、901a~901b:次陣列(區段) 101a~101k:頁緩衝器 102:列解碼器 102a~102p:列解碼器 102a~102n:位元線 102a~102n:位元線選擇閘 103:頁緩衝器(方塊) 103a~103p、200a~200k:頁緩衝器 103a~103m:位元線選擇閘 104a~104d:資料暫存器 104a~104k:總體位元線(資料線) 105a~105m:位元線選擇閘 106:位元線選擇閘 106a~106p:位元線選擇閘 107:NAND快閃記憶體架構 108:輸入/輸出(I/O)緩衝器 110a~110m、111:位元線 170a~170b:集合 171a~171p:平面 190:本發明的實施例 191:習知記憶體([陣列) 200、200a、200b、902:頁緩衝器 201a~201n、239:位元線 202a~202n、205a~205k、202a’~202b’:位元線選擇閘 204a~204n:單元 206:位元線電容器 206a~206n:位元線電容 207、207a~207n:閂鎖 208:感測放大器 210、202a~202n、202a'~202f'、231a、231b、232a~232f:選擇閘 211a~211n:字串 212a~212c、Reg 0~Reg 2:資料暫存器 215a:第一組字串 215b:第二組字串 220、220a~220d:閂鎖通道閘 221a~221c、222a、222b:通道閘 230a~230b:屏蔽電壓選擇閘 232a~232f、243a~243f:載入裝置 233:源極線 235a~235n:負載電流 236a~236n:單元 237a~237d:單元電流 238:電流 240a~240n:汲極選擇閘 241a~241n:源極選擇閘 242a~242f:NMOS電晶體(載入裝置) 243a~243f:PMOS電晶體(載入裝置) 250:單元字串 260a~260p:平面 261a~261p:頁緩衝器 262a~262n:位元線 263a~263k:頁緩衝器 264a~264m:選擇閘 265a~265h:I/O(匯流排) 0-7 266a~266p、269a~269h、270a~270h、271a~271d:晶片 267a、267b:(晶片)組 268a、268b:封裝 272a~272p:平面 273a、273b:(平面)組 274a~274c:(陣列)集合 275a~275x:平面 276a-276m:位元線 278a~278m:位元線選擇閘 277a~277m:頁緩衝器 279a-279m:位元線選擇閘 280a~280m:單元字串 281:汲極選擇閘 281a~281m:單元 282:資料線 282:源極選擇閘 283a~283p:(記憶體)單元 284:字元線 290a~290d、291:指標 292a~292m:字元線 293a~293d:行 295a~295h:(位元線)組 302:感測(SA)節點 303:預充電裝置 304:放電裝置 305:比較器 306:偏壓裝置 310:感測裝置 311、311a~311c:設定裝置 312、312a~312c:重置裝置 401a~401c:位元線對位元線電容 402a~402d:屏蔽裝置 403a、403b:位元線組 404:陣列 405a~405n:區塊 4300:方法 4302~4322:方塊 502:上拉裝置 503:偏壓裝置 505:放電裝置 506:資料緩衝器 507:載入裝置 508:偏壓裝置 509:字元線 510:資料線(DL) 511~513:步驟 514:信號節點(SA) 515:汲極選擇閘(DSG) 516:源極選擇閘(SSG) 518:源極線 521:NMOS 523:PMOS 525:DA節點 530:標號 531:位元線電壓 600:匯流排 601:次陣列 601a~601d:區段 602、602a~602d:頁緩衝器 603a~603n:觸點 604、604a~604d:電路 701:頁緩衝器 702a~702d:區段 701a~701b、702a~702b、703a~703b:指標 703:資料線 704a~704h、705a~705h:位元線選擇閘 801:程式化脈衝 802:程式化驗證脈衝 803~808、801a~801c、811a~811c:位置 809a~809c:電壓 810、811:指標 820:頁緩衝器 821a~821n:第一位元線組 822a~822n:第二位元線組 823a~823n、824a~824n:位元線選擇閘 825、826:頁 901:位元線存取陣列 901a~901d:次陣列 901a~901f、903a~903f:載入裝置 901a~901d、901e~901h 、901m~901p:位元線 902a~902d:頁緩衝器 903a~903b:位元線選擇閘 903a~903d:觸點 904、905:位元線指示器 904a~904d:位元線選擇閘 910:偏壓裝置 911:預充電裝置 912:閂鎖通道閘 913:重置裝置 914:設定裝置 915:感測裝置 916、917、919、939:虛線 918、918a~918c:資料閂鎖 920a~920e、921a~921g、941a~941g:步驟 924a~924c:位元線選擇閘 933、934、935:設定和重置裝置 938:閂鎖 940:裝置 1001:3D陣列 1001a~1001k:次陣列 1002:頁緩衝器電路 1002a~1002k:頁緩衝器 1003、1003a~1003n:位元線觸點 1004a~1004n:位元線 1005a~1005m:字串 1101a~1101c、1102:字元線 1124:I/O資料匯流排 1200:晶片 1201a~1201n:平面 1202a~1202n:頁緩衝器電路 1203:記憶體裝置/記憶體系統 1210a~1210h、1211a~1211h:指標 1220:記憶體封裝 1220a:封裝 1221a~1221k:晶片 1222a~1222n:平面 1223:記憶體控制晶片 1224:I/O資料匯流排 1224a~1224m:通道 1230a~1230v、1231a~1231u、1232a~1232p、1234a~1234l:指標 506~514:箭頭 5600:方法 5602~5612:方塊 5710a~5710p、5720a~5720p:平面/頁 5711a~5711c:頁緩衝器 5712a~5712n、5714a~5714n、5716a~5716n、5718a~5718n:位元線 5713a~5713n、5715a~5715n、5717a~5717n、5719a~5719n:(位元線)選擇閘 5720:資料線 5721:解碼器/選擇閘 5722:匯流排 5723a~5723d:平面組 5730、5731、5736:陣列 5732a~5732p、5734a~5734p、5737a~5737p:位元線 5733a~5733p、5735a~5735d:頁緩衝器 5750:狀態機 BIAS、DIS、P0~P3、PREB、PGM、RES、RESB、SET、LAT、SLC、SLCB、SETB、SHD[ 1]、VS、VSHD、VREF、LOAD、R0~R2、S0~S2:信號 BL[0-K]、BL[0-K]’、BLa[0]~BLm[0]、BL[0]~BL[m]:(次)位元線 BSG[0]~BSG[n]、BSG0~BSGm:(位元線選擇閘)信號 BSGA[0]~BSGA[n]:控制信號 BSGa[ 0]至BSGa[m]:位元線選擇閘 BSG0[0:5]~BSGn[ 0:5]:位元線選擇閘信號 D[0]~D[5]、D0、D1、D2、VDD、Q[0]~Q[2]、D0B~D2B:資料 DIS:放電信號 DQ[0-n]:外部資料匯流排 DSG:汲極選擇閘 GBL[0]~GBL[3]:總體位元線 Iload:負載電流 P0~P23:頁 PB:輸出資料 PB0~PBn:頁緩衝器 Q、Q0、Q1、Q2、QB:節點 S0~S2:設定信號 SA:感測節點 SB1~SB2:控制信號 SL:源極線 STRG[ 0]~STRG[2]:字串 SSG:源極選擇閘 T0~T22:時間 Tdis:放電時間 Tpgm:程式化脈衝 VG、VG1、VG2:(閘)信號 VR:驗證電壓 VR1~VR5、VPAS:電壓 VS、VS1~VS2:電壓 VSH:屏蔽電壓 Vbias:偏置電壓 Vref:參考電壓 Vpass:通過電壓 Vrd、Vread:讀取電壓 Vt、Vt1~Vt2:閾值電壓 WL[m]:字元線
藉由以下提供的詳細描述和根據本發明的各種實施例的圖式將更全面地理解本發明的示例性實施例,然而,這些實施例不應被用於將本發明限制於特定的實施例,而是僅供解釋和理解之用。
圖1A顯示根據本發明實施例之NAND快閃記憶體架構的示例性方塊圖。
圖1B顯示根據本發明實施例建構之NAND快閃記憶體架構的另一實施例。
圖1C顯示習知3D NAND快閃記憶體單元陣列和頁緩衝器的詳細實施例。
圖1D顯示3D NAND記憶體陣列的習知結構的組構。
圖1E顯示根據本發明之陣列結構的實施例。
圖1F顯示根據本發明之3D陣列結構的實施例。
圖2A顯示根據本發明實施例的頁緩衝器和位元線選擇閘組構的實施例。
圖2B顯示根據本發明實施例的頁緩衝器組構的另一個實施例。
圖2C至E繪示根據本發明的位元線選擇閘的實施例。
圖3A至圖3D顯示頁緩衝器電路的實施例。
圖4A至圖4D顯示根據本發明的頁緩衝器和位元線選擇閘的作業。
圖5A至圖5E顯示根據本發明的多頁程式化的示例性波形。
圖6A至圖6C顯示根據本發明實施例的多頁讀取作業。
圖6D顯示根據本發明的頁緩衝器、位元線選擇閘及資料暫存器的示例性實施例。
圖6E顯示根據本發明的頁緩衝器及位元線選擇閘的示例性實施例。
圖6F顯示根據本發明的單層晶片頁緩衝器和位元線選擇閘的示例性實施例。
圖7A至圖7D顯示根據本發明的讀取作業波形的實施例。
圖8A至圖8C顯示程式化和程式化驗證作業的實施例。
圖9A至圖9D顯示被分成次陣列的NAND快閃記憶體陣列架構。
圖10A至圖10E顯示根據本發明之3D陣列架構的實施例。
圖11A顯示根據本發明之3D陣列的實施例,其中位元線係用作臨時資料儲存器。
圖11B顯示波形的實施例,繪示根據本發明如何將資料載入到多條位元線。
圖11C顯示根據本發明將資料載入到多條位元線之波形的另一實施例。
圖11D顯示示例性波形,其繪示根據本發明從位元線電容器讀取資料。
圖12A至圖12B顯示根據本發明提供SLC和TLC程式化之3D陣列的實施例。
圖13顯示NAND快閃記憶體陣列的實施例,繪示位元線到位元線電容。
圖14顯示具有用於防止位元線耦合之位元線屏蔽的陣列。
圖15A至圖15B顯示用於減輕位元線到位元線耦合之電路和對應波形的另一實施例。
圖16顯示解決如參考圖15A至圖15B所描述的最後位元線耦合問題之電路的示例性實施例。
圖17A顯示包括如圖16中所繪示的偶數和奇數頁緩衝器之電路的實施例。
圖17B至圖17C顯示用於圖17A之電路中的陣列(或次陣列)之2D和3D版本的實施例。
圖18A至圖18B顯示具有分割位元線結構的電路。
圖19A至圖19B顯示根據本發明的位元線選擇閘電路及其對應之作業波形的另一個實施例。
圖20A至圖20B顯示在不犧牲讀取資料通量的情況下解決位元線耦合問題之電路和相關讀取波形的實施例。
圖21A至圖21B顯示根據本發明之感測電路和相關聯的作業波形之實施例。
圖22A至圖22B顯示根據本發明之感測電路和相關聯的波形的示例性實施例。
圖23A至圖23B顯示根據本發明的感測電路和相關聯的波形的示例性實施例。
圖24A至圖24B顯示根據本發明的感測電路和相關聯的波形的示例性實施例。
圖25A至圖25C顯示根據本發明的頁緩衝器和位元線解碼器電路的示例性實施例。
圖26A顯示根據本發明之電路的示例性實施例,其僅利用一個資料閂鎖來執行。
圖26B顯示與圖26A所示電路一起使用的程式化驗證作業。
圖26C顯示圖26A所示的資料緩衝器之電路實施態樣的實施例。
圖27A至圖27B顯示使用圖20A中所示的感測電路及相關聯波形的另一個實施例。
圖27C顯示根據本發明使用圖3C所示頁緩衝器電路之程式化驗證作業的另一實施例。
圖28A至圖28B顯示用於讀取作業之波形的示例性實施例。
圖29A顯示習知3D NAND快閃記憶體的頁緩衝器電路的佈局配置。
圖29B顯示具有兩個相鄰次陣列601a和601b的習知陣列組態。
圖30A顯示根據本發明用於3D陣列之頁緩衝器和電路之佈局配置的實施例。
圖30B顯示如圖30A所示兩個相鄰次陣列形成之方塊(tile)的示例性實施例。
圖31A至圖31B顯示根據本發明之頁緩衝器組態的實施例。
圖32顯示根據本發明的頁緩衝器和位元線選擇閘結構的示例性實施例。
圖33A顯示根據本發明的頁緩衝器和位元線選擇閘結構的另一實施例。
圖33B至圖33C顯示組態成用於MLC程式化的實施例。
圖34A顯示習知3D NAND快閃記憶體的頁緩衝器和位元線連接。
圖34B至圖34C顯示根據本發明之3D NAND 快閃記憶體的頁緩衝器和位元線連接。
圖35顯示三層單元TLC的示例性閾值電壓Vt分佈。
圖36顯示根據本發明之單一閂鎖頁緩衝器電路的實施例。
圖37A至圖37C顯示使用如圖36所示單一閂鎖頁緩衝器讀取位元的方法。
圖37D至圖37E顯示與圖36所示電路的作業相關聯的示例性圖表。
圖38A至圖38B顯示波形的實施例,其繪示用於使用圖36所示電路讀取位元的信號。
圖39顯示根據本發明之頁緩衝器電路的另一個實施例。
圖40顯示波形的實施例,其繪示用於使用圖39所示電路來讀取位元的信號。
圖41A顯示圖36所示使用互補邏輯實施之頁緩衝器電路的示例性替代實施例。
圖41B至圖41D顯示與圖41A所示頁緩衝器電路之作業相關聯的示例性方法和圖表。
圖42A至圖42F顯示根據本發明提供的字元線電壓的圖表,該字元線電壓用於使用單一位元閂鎖來讀取多層單元的各種組態。
圖43顯示根據本發明的示例性方法,其用於使用單一位元閂鎖讀取多層單元。
圖44A至圖44B顯示根據本發明的示例性陣列結構和資料載入和輸出順序。
圖45A至圖45C顯示根據本發明的示例性陣列結構和資料載入和輸出順序。
圖46A至圖46C顯示根據本發明的示例性陣列結構和資料載入和輸出順序。
圖47A至圖47B繪示根據本發明之再新作業的實施例。
圖48A顯示位元線選擇閘電路的示例性實施例。
圖48B顯示圖48A所示用於VG和VS信號線的示例性偏壓條件的表格。
圖48C顯示位元線選擇閘電路的示例性實施例,其繪示在圖48B所示的偏壓條件下的作業。
圖48D顯示位元線選擇閘電路的示例性實施例,其繪示在圖48B所示的偏壓條件下的作業。
圖48E顯示在圖48D中所示實施例的作業期間產生之讀取作業波形的實施例。
圖48F顯示在圖48D所示的實施例的作業期間產生之讀取作業波形的實施例。
圖48G顯示包括同屬載入裝置之位元線選擇閘電路的示例性實施例。
圖49A顯示組構以提供「半位元線」(HBL)作業之位元線選擇閘電路的示例性實施例。
圖49B顯示讀取作業期間用於VG1、VG2、VS1和VS2信號的示例性偏壓條件的表格。
圖49C顯示繪示用於程式化作業之偏壓條件之位元線選擇閘電路的示例性實施例。
圖49D顯示在圖49C所示電路的程式化作業期間使用的信號VG1、VG2、VS1和VS2的示例性偏壓條件的表格。
圖50A顯示根據本發明組構用於半位元線(HBL)電流感測之位元線選擇閘電路的實施例。
圖50B顯示根據本實施例之用於讀取作業的信號VG1、VG2和VS之偏壓條件的示例性實施例。
圖51A顯示根據本發明組構用於半位元線(HBL)電流感測的位元線選擇閘電路的示例性實施例。
圖51B顯示根據本實施例用於讀取作業的信號VG、VS1和VS2之偏壓條件的示例性實施例。
圖52A顯示根據本發明組構用於半位元線(HBL)電流感測的位元線選擇閘電路的示例性實施例。
圖52B顯示根據如圖52A所示實施例之用於讀取作業之信號VG、VG2和VS之偏壓條件的示例性實施例。
圖52C顯示根據本發明之用於半位元線(HBL)電流感測作業之位元線選擇閘電路的示例性實施例。
圖52D顯示根據本發明之用於全位元線(ABL)電流感測作業之位元線選擇閘電路的示例性實施例。
圖52E顯示用於如圖52D所示實施例的讀取和預充電作業之偏壓條件的示例性實施例。
圖53A顯示用於圖50A所示實施例的導通單元充電電流感測作業之偏壓條件的示例性實施例。
圖53B顯示用於如圖49A所示實施例之偏壓條件的示例性實施例。
圖53C顯示用於如圖51A所示實施例之偏壓條件的示例性實施例。
圖54A顯示根據本發明的位元線載入裝置的示例性實施例。
圖54B顯示用於與圖54A所示的實施例一起使用的預充電位元線的示例性波形。
圖54C顯示位元線載入裝置的示例性實施例,其實現根據半位元線(HBL)設計之圖54A所示雙載入裝置之組構。
圖55A顯示根據本發明建構之陣列架構的示例性實施例。
圖55B顯示之圖表繪示根據本發明顯示於圖55A之陣列結構的示例性讀取及程式化驗證作業。
圖55C顯示之圖表繪示根據本發明顯示於圖55A之陣列結構的示例性程式化作業。
圖56顯示根據本發明用於讀取NAND快閃記憶體之資料位元的示例性方法。
圖57A顯示根據本發明陣列方塊和頁緩衝器架構的示例性實施例。
圖57B顯示根據本發明的實施例建構的頁緩衝器的示例性實施例。
圖58顯示本發明實施例中的記憶體平面之資料分配的示例性表格。
圖59A顯示根據本發明建構之陣列架構的另一實施例。
圖59B顯示根據本發明建構之陣列架構的一實施例。
圖60A顯示示例性圖表,其繪示習知陣列架構與根據本發明建構之陣列架構的實施例之間的比較。
圖60B顯示示例性圖表,其繪示習知陣列架構與根據本發明建構之陣列架構的實施例之間的比較。
圖61顯示根據本發明使用陣列的N個平面導致的示例性讀取及程式化資料通量增加。
圖62顯示根據本發明實施例的示例性程式化作業。
圖63A至圖63C顯示根據本發明建構之陣列的示例性程式化作業。
圖64顯示根據本發明使用一組中的6個SLC頁之程式化作業的另一示例性實施例。
圖65顯示陣列的示例性實施例,其利用用於記憶體平面之位置的示例性配置。
圖66顯示TLC記憶體陣列的示例性實施例。
圖67顯示根據本發明實施例之陣列架構的實施例。
圖68顯示根據本發明實施例之示例性程式化順序。
圖69顯示根據本發明程式化陣列的集合1和2之更詳細的示例性程式化順序。
圖70顯示記憶體陣列中之頁位置的示例性映射(map)。
圖71顯示根據本發明建構之陣列架構的另一個示例性實施例。
圖72顯示參照圖71所述交替作業的示例性表格。
圖73顯示示例性圖表,其繪示本發明之實施例的程式化通量與利用SLC快取的習知記憶體陣列的程式化通量的比較。
圖74A至圖74B顯示根據本發明的陣列架構之資料輸入和資料輸出作業的詳細實施例。
圖75A顯示圖74A至圖74B所示之陣列架構的資料載入順序的實施例。
圖75B顯示如圖74A至圖74B所示陣列架構之資料讀取順序的實施例。
圖75C顯示根據本發明的另一資料載入順序。
圖75D顯示根據本發明使用兩個平面的資料輸出順序。
圖76A至圖76B分別顯示4個平面之資料載入和資料讀取作業的實施例。
圖77A顯示包含在系統中實施的多個NAND快閃記憶體晶片的實施例。
圖77B顯示根據本發明之陣列架構的另一實施例。
圖77C顯示根據本發明的另一實施例。
圖78A至圖78B顯示根據本發明的另一實施例。
圖79A顯示根據本發明用於SLC/TLC平行程式化作業之陣列架構的另一實施例。
圖79B顯示TLC字元線程式化順序的示例性實施例。
圖79C顯示根據接收到的D0、D1和D2位元在TLC程式化之後TLC單元的最終閾值電壓Vt分佈。
圖79D顯示用於D2位元的另一個資料分配。
圖79E顯示根據本發明如何翻轉D2位元。
圖80A顯示TLC字元線程式化作業的另一實施例。
圖80B顯示根據本發明用於SLC/TLC平行程式化作業之陣列架構的另一實施例。
圖80C顯示根據本發明用於SLC/TLC平行程式化作業之陣列架構的另一實施例。
圖81A顯示用於圖80中之架構的記憶體單元字串的實施例。
圖81B顯示如圖81A所示的六個單元的資料分配。
圖81C顯示如圖81A至圖81B所示單元的Vt位準。
圖81D顯示當將資料施加到WL0和WL1以讀取單元0和單元1來匹配資料D0時獲得之結果的表格。
圖82A顯示根據本發明用於TLC程式化驗證作業之示例性波形的實施例。
圖82B顯示根據本發明用於TLC程式化驗證作業之波形的另一示例性實施例。
圖83A顯示單元字串之實施的另一示例性實施例。
圖83B顯示圖83A所示實施例之單元的閾值電壓Vt和讀取電壓分配。
圖83C顯示之表格繪示當將資料施加到字元線WL0和WL1以讀取單元0和單元1來匹配資料D0時獲得之結果。
圖84顯示具有多個平面的NAND快閃記憶體晶片的實施例。
圖85顯示時間線的實施例,其繪示根據本發明實施例如圖84中所示之記憶體晶片的程式化作業。
圖86顯示示例性表格,其繪示I/O頻寬和平面數的各種組合的程式化通量的一些示例。
圖87顯示一種記憶體封裝的實施例,其使用多晶片封裝(Multiple-Chip Package;MCP)技術將多個晶片組裝成一個封裝以增加記憶體容量。
圖88A顯示時間線的實施例,其繪示如圖87所示之用於記憶體封裝的程式化作業。
圖88B顯示時間線的另一實施例,其繪示用於具有4個晶片之封裝的程式化作業而非先前圖88A中之實施例所示的具有8個晶片的封裝。
圖88C顯示時間線的另一實施例,其繪示針對具有增加數目之平面的晶片的封裝進行程式化作業。
圖89顯示示例性表格,其說明針對I/O頻寬、晶片數目和平面數目的各種組合之程式化通量的一些示例。
圖90顯示記憶體裝置或記憶體系統的實施例,例如固態硬碟(SSD)。
圖91A顯示時間線的實施例,其說明用於一個封裝的多層單元程式化作業。
圖91B顯示時間線的另一實施例,其說明用於具有較少晶片數目之封裝的TLC程式化作業。
圖91C顯示時間線的實施例,其用於當各個晶片包括16個平面而不是8個平面時產生的TLC程式化作業。
圖92顯示示例性表格,其說明針對I/O頻寬、晶片數目和平面數目之各種組合的程式化通量以實現1GB/s、2GB/s和4GB/s的TLC程式化通量的一些示例。
圖93A顯示說明QLC程式化作業之時間線的另一實施例。
圖93B顯示時間線的另一實施例,其說明QLC程式化作業實現與圖93A中顯示的實施例相同的1GB/s程式化通量但僅使用8個晶片。
無。
100:架構
101:記憶體陣列
102:列解碼器
103:頁緩衝器(方塊)
104a~104d:資料暫存器
106:位元線選擇閘
BL[0-K]:位元線
BSG[0]~BSG[n]:(位元線選擇閘)信號
DQ[0-n]:外部資料匯流排
WL[0-m]:字元線

Claims (12)

  1. 一種用於對具有複數個記憶體晶片的儲存裝置進行程式化之方法,其中每個晶片具有多層單元,該方法包括以下步驟: 在第一晶片中載入第一資料; 使用單層單元(SLC)程式化模式將該第一資料程式化到該第一晶片中選定的單元中; 使用多層單元程式化模式將儲存在該第一晶片中該選定的單元中的該第一資料重新程式化到該第一晶片的其他單元;以及 對剩餘的晶片重複載入、程式化、重新程式化的作業; 其中,對該剩餘的晶片的該載入作業在該第一晶片的該載入作業完成時開始,並且以非重疊順序方式發生;且 其中,該其餘晶片的該載入作業與該第一晶片的該程式化和該重新程式化作業平行執行。
  2. 如請求項1所述之方法,其中,該多層單元是從包括複層單元(MLC)、三層單元(TLC)、四層單元( QLC)、五層單元 (PLC) 和六層單元 (HLC)的組中選出之多層單元的一類型。
  3. 如請求項1所述的方法,其中,該第一晶片的該多層單元形成複數個平面,且其中該選定的單元在第一平面組中,而其他單元在第二平面組中。
  4. 如請求項3所述的方法,其中,達成選定的I/O頻寬的平面數目由以下表達式確定: (平面數目
    Figure 03_image023
    I / O頻寬
    Figure 03_image009
    (一個晶片載入時間
    Figure 03_image021
    SLC程式化時間
    Figure 03_image021
    TLC程式化時間) / 晶片數目 / 每個平面的位元線數目)。
  5. 如請求項1所述之方法,該方法以在載入作業之間沒有閒置時間的方式操作對該記憶體裝置進行程式化。
  6. 一種用於對具有複數個記憶體晶片的記憶體裝置進行程式化之方法,其中每個晶片具有多層單元,該方法包括以下步驟: 載入資料至第一晶片; 將載入該第一晶片的資料程式化到該第一晶片的單元中;以及 在將該資料載入該第一晶片的作業完成後,以非重疊的逐晶片順序將附加資料載入該記憶體裝置的剩餘晶片中,使得所有該附加資料載入該剩餘晶片中係與該第一晶片的程式化平行進行。
  7. 如請求項6所述之方法,其中,該多層單元是從包括複層單元(MLC)、三層單元(TLC)、四層單元( QLC)、五層單元 (PLC) 和六層單元 (HLC)的組中選出之多層單元的一類型。
  8. 如請求項6所述之方法,其中,該程式化的作業包括以下步驟: 使用單層單元(SLC)程式化模式將該第一資料程式化到該第一晶片中選定的單元中;以及 使用多層單元程式化模式將儲存在該第一晶片中該選定的單元中的該第一資料重新程式化到該第一晶片的其他單元。
  9. 如請求項8所述之方法,其中,該第一晶片的該多層單元形成複數個平面,且其中該選定的單元在第一平面組中,而其他單元在第二平面組中。
  10. 如請求項9所述之方法,其中達成選定的I/O頻寬的平面數目由以下表達式確定: (平面數目
    Figure 03_image023
    I / O頻寬
    Figure 03_image009
    (一個晶片載入時間
    Figure 03_image021
    SLC程式化時間
    Figure 03_image021
    TLC程式化時間) / 晶片數目 / 每個平面的位元線數目)。
  11. 如請求項6所述之方法,該方法以在載入作業之間沒有閒置時間的方式操作對該記憶體裝置進行程式化。
  12. 如請求項6所述的方法,其中,在對載入該第一晶片的資料進行程式化的作業完成之前,完成對該剩餘晶片的載入作業。
TW111128983A 2021-08-26 2022-08-02 用於nand快閃記憶體之方法與裝置 TW202324415A (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US17/446,165 2021-08-26
US17/446,165 US11972811B2 (en) 2018-11-18 2021-08-26 Methods and apparatus for NAND flash memory
US17/492,553 2021-10-01
US17/492,553 US12002525B2 (en) 2021-10-01 Methods and apparatus for NAND flash memory
US202263349571P 2022-06-06 2022-06-06
US63/349,571 2022-06-06
US17/816,720 2022-08-01
US17/816,720 US20230022531A1 (en) 2018-11-18 2022-08-01 Methods and apparatus for nand flash memory

Publications (1)

Publication Number Publication Date
TW202324415A true TW202324415A (zh) 2023-06-16

Family

ID=87803651

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111128983A TW202324415A (zh) 2021-08-26 2022-08-02 用於nand快閃記憶體之方法與裝置

Country Status (1)

Country Link
TW (1) TW202324415A (zh)

Similar Documents

Publication Publication Date Title
US20220044746A1 (en) Methods and apparatus for nand flash memory
JP4050548B2 (ja) 半導体記憶装置
US5539690A (en) Write verify schemes for flash memory with multilevel cells
US11056190B2 (en) Methods and apparatus for NAND flash memory
US7734861B2 (en) Pseudo random and command driven bit compensation for the cycling effects in flash memory
US8374031B2 (en) Techniques for the fast settling of word lines in NAND flash memory
US11049579B2 (en) Methods and apparatus for NAND flash memory
JP4790335B2 (ja) 不揮発性半導体記憶装置
US7606966B2 (en) Methods in a pseudo random and command driven bit compensation for the cycling effects in flash memory
US20230022531A1 (en) Methods and apparatus for nand flash memory
KR19980025111A (ko) 반도체집적회로 및 데이타처리시스템
JP2006302341A (ja) 半導体記憶装置
US11972811B2 (en) Methods and apparatus for NAND flash memory
WO2013012567A1 (en) Program algorithm with staircase waveform decomposed into multiple passes
US8416628B2 (en) Local sensing in a memory device
CN112825252B (zh) 存储器装置及其操作方法
US20230138601A1 (en) Memory device and operation method thereof
TW202324415A (zh) 用於nand快閃記憶體之方法與裝置
JP2023140166A (ja) 半導体記憶装置
US12002525B2 (en) Methods and apparatus for NAND flash memory
WO2023028410A1 (en) Methods and apparatus for nand flash memory
US20220028469A1 (en) Methods and apparatus for nand flash memory
WO2022072906A1 (en) Methods and apparatus for nand flash memory
CN118160037A (zh) 用于nand闪速存储器的方法和装置
WO2022087181A1 (en) Methods and apparatus for nand flash memory