TW201329987A - 快閃記憶體系統 - Google Patents
快閃記憶體系統 Download PDFInfo
- Publication number
- TW201329987A TW201329987A TW101134476A TW101134476A TW201329987A TW 201329987 A TW201329987 A TW 201329987A TW 101134476 A TW101134476 A TW 101134476A TW 101134476 A TW101134476 A TW 101134476A TW 201329987 A TW201329987 A TW 201329987A
- Authority
- TW
- Taiwan
- Prior art keywords
- page
- mbc
- memory device
- data
- address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明係關於用於控制MBC組態的快閃記憶體裝置,來以SBC儲存模式、或少於完全MBC儲存模式容量的部分MBC儲存模式儲存資料的方法及系統。在完全MBC儲存模式中,針對記憶體胞元之各實體列,頁資料係連續地自第一頁至第N頁被寫入,其中N為可儲存於一實體列的總頁數。記憶體胞元之每實體列的多達N個虛擬頁位址伴隨著待寫入之各頁,用於指定在該實體列中之該頁的虛擬位置。關於SBC或部分MBC資料儲存,快閃記憶體控制器發出程式命令至各實體列使用少於最大N個虛擬頁位址的MBC記憶體裝置。該MBC記憶體裝置連續地執行寫入操作直到該實體列最後接收到的虛擬頁位址。
Description
本申請案主張享有於2011年9月23日申請之美國臨時專利申請案第61/538,540號及於2012年4月25日申請之美國專利申請案第13/455,780號之優先權,該等優先權案之全部內容已併入此案供參考。
本發明實施例係普遍地關於非揮發性記憶體。
在作為消費性電子產品諸如數位相機及可攜式數位音樂播放器之大容量儲存器的廣泛應用中,快閃記憶體係非揮發性記憶體之一常用型態。目前可用之快閃記憶體晶片的密度可高達數十億位元組(GB)的大小,其適合用於普遍的USB隨身碟(USB flash drives)中,因為一個快閃晶片的尺寸係很小的。快閃記憶體之另一個新興應用為固態硬碟,用於取代膝上型或桌上型電腦中所用的傳統硬碟。這些應用通常使用具有有限生命週期的多層胞元(multi-level cell:MLC)快閃裝置。單層胞元(single level cell:SLC)快閃裝置之其他型態的快閃記憶體亦被使用於應用中以實現可靠的資料儲存。相較於MLC快閃裝置,SLC快閃裝置的缺點為成本。
在第一態樣中,提供有用於寫入(program)每胞元多位元(multiple bit per cell:MBC)快閃記憶體裝置的方法,該MBC快閃記憶體裝置係組態成每實體列儲存達到N頁資料,N為大於一的整數。該方法包含發出一組程式命令,用來將多頁的資料寫入至具有該快閃記憶體裝置之至少一實體列的細分(subdivision)。該組程式命令被限制來定址邏輯頁位址的子集合,該等邏輯頁位址係選自對應於該至少一實體列之各者的所有可能邏輯頁位址。該方法另外包含在該等程式命令中回應邏輯頁位址的該子集合而將少於N頁寫入給該快閃記憶體裝置之之少一實體列之各者。依據本實施例,該方法另外包括在發出該組程式命令之前,存取包含該快閃記憶體裝置之各細分的儲存模式資訊的映射表,其中存取該映射表包括選擇具有部分MBC儲存模式的細分,該部分MBC儲存模式中每一實體列儲存少於N頁的資料。
本方法可另外包括選擇對應部分MBC儲存模式之邏輯頁位址的子集合,並且對應至少一個實體列之各者的所有可能的邏輯頁位址包括以下頁(lower page)位址起始而以上頁(upper page)位址結尾的連續的頁位址。邏輯頁位址的該子集合可包括至少一個實體列之各者的下頁位址,直到在下頁位址及上頁位址之間的中間頁(intermediate page)位址。替代地,邏輯頁位址的該子集合可僅包括至少一個實體列之各者的下頁位址。
在第一態樣之其他實施例中,發出一組程式命令包括迭代地提供各包含多個頁資料之其中一頁以及邏輯頁位址之子集合的其中之一的程式命令,並且提供M個程式命令封包用於將多個頁資料之其中M頁寫入至快閃記憶體裝置之一個實體列,其中M為小於N之整數值。替代地,發出一組程式命令包括迭代地提供一個程式命令封包用於將多個頁資料之其中一頁寫入至快閃記憶體裝置之一個實體列。
在第一態樣之又一實施例中,該方法另外包括在發出該組程式命令前,接收一主機請求而以部分MBC儲存模式寫入多個頁資料。在又另一個實施例中,該方法另外包括在發出該組程式命令前,接收一主機請求而以完全MBC儲存模式寫入多個頁資料,判斷該細分之最大MBC寫入/抹除週期數是否已達到,並且選擇被組態為以完全MBC儲存模式寫入多個頁資料的其他細分,及設定該細分為部分MBC儲存模式。在此發明之實施例中,完全MBC儲存模式包括每胞元兩位元儲存模式,而部分MBC儲存模式包括每胞元單位元儲存模式。
在第二態樣中,提供一系統,其包括記憶體控制器。該記憶體控制器係組態以發出程式命令,該等程式命令被限制以定位選自對應記憶體裝置之各實體列之所有可能的邏輯頁位址之邏輯頁位址的子集合。該記憶體裝置包括每胞元多位元(MBC)記憶體裝置,其被組態成每實體列儲存最大N頁,其中N為大於一的整數。該記憶體裝置係
另外被組態以回應自該記憶體控制器接收之程式命令中的邏輯頁位址的子集合,而寫入每實體列少於N頁。在本實施例中,記憶體控制器包括一映射表,用於儲存對應於該記憶體裝置之細分的元資料(meta-data),其中該映射表被組態成包括用於各個細分的儲存模式資訊以及與用於各個細分之儲存模式相關聯的位址連結(address binding)資訊。
在本實施例中,該記憶體控制器包括控制電路,用於存取該映射表及回應該映射表之該元資料而提供該等程式命令。各個程式命令包括頁資料、用於選擇該記憶體裝置之一細分以及在該細分內的一實體列的位址資訊,以及待寫入於該實體列中之該頁資料的邏輯頁位址。在此實施例中,該記憶體裝置係被組態以儲存每實體列最大N=2個頁,且每實體列之兩個頁之各者係可藉由上頁位址及下頁位址來定址,其中該上頁位址具有第一最低有效位元(least significant bit),而下頁位址具有與該第一最低有效位元不同之第二最低有效位元。依據本態樣之另外的實施例,該記憶體裝置之該等細分包括記憶體區塊、記憶體區塊之子區塊、或記憶體區塊之實體列。
在第三態樣中,提供一方法,用於寫入每胞元多位元(MBC)快閃記憶體裝置,其被組態為每胞元儲存達到N個位元,其中N為大於一的整數。該方法包括接收一主機請求以寫入資料頁;判斷該等資料頁係待以部分MBC儲存模式來寫入,其中少於N個虛擬可定址資料頁係儲存於
該快閃記憶體裝置之各實體列中;存取一映射表,其包含用於該快閃記憶體裝置之元資料,以選擇以部分MBC儲存模式組態之該MBC快閃記憶體裝置之一細分;以及發出至少一個程式命令,用於使用虛擬頁位址來將該等資料頁寫入至該細分,該等虛擬頁位址被限制為用於寫入頁至各實體列之少於N個可能的虛擬頁位址之子集合。在本態樣中,N=2且可能的虛擬頁位址包括下頁位址及上頁位址,且發出至少一個程式命令包括迭代地發出程式命令,其各包括資料頁及下頁位址。替代地,N>2且可能的虛擬頁位址包括下頁位址、上頁位址、以及在該下頁位址與該上頁位址之間的至少一個中間頁位址,且發出至少一個程式命令包括迭代地發出程式命令,其各包括資料頁、以及下頁位址及至少一個中間頁位址之其中一者。
藉由審查下列描述之本發明之具體實施例,所描述之該等實施例的其他態樣及特徵對於熟習本技藝之人士而言將變得明顯。
圖1描述適用本發明之實施例的典型快閃記憶體裝置。參照圖1,快閃記憶體裝置10包括輸入/輸出介面電路、控制電路、記憶體電路及記憶體陣列。快閃記憶體裝置10之輸入/輸出介面電路包括就緒/忙碌(Ready/Busy)信號緩衝區12、控制信號緩衝區14及全域資料緩衝區16。在特定的範例中,就緒/忙碌信號緩衝區12係一輸出
緩衝區,其透過個別的腳位或埠來驅動就緒/忙碌信號R/B#。控制信號緩衝區14係輸入緩衝區,其自對應的腳位或埠接收快閃記憶體控制信號CE#、CLE、ALE、WE#、RE#及WP#。自前述觀點,應將以"#"結尾的信號名稱理解為主動低位準信號,其中主動低信號對應於"0"邏輯位準,或例如VSS電壓位準。相反的,主動高邏輯位準信號對應於"1"邏輯位準,或例如VDD或VCC電壓位準。以下是前述控制信號的簡短說明。
.命令閂鎖致能(Command Latch Enable:CLE):CLE輸入信號係用來控制將操作模式載入到內部命令暫存器。當CLE為高(High)時,在WE#信號的上升邊緣將命令自輸入/輸出埠鎖存到命令暫存器中。
.位址閂鎖致能(Address Latch Enable:ALE):ALE信號係用來控制將位址資訊載入到內部位址暫存器。當ALE為高時,在WE#信號的上升邊緣將位址資訊自輸入/輸出埠鎖存到位址暫存器中。
.晶片致能(Chip Enable:CE#):在裝置處於就緒狀態期間,當CE#變高時,裝置進入低功耗待機模式。當裝置處於忙碌狀態(R/B#=L),例如在寫入(Program)或抹除(Erase)或讀取(Read)操作期間,且即使CE#輸入變高也不會進入待機模式時,CE#信號被忽略。
.寫入致能(Write Enable:WE#):WE#信號係用來控制從輸入/輸出埠獲取資料。
.讀取致能(Read Enable:RE#):RE信號控制串列資料輸出。在RE#的下降邊緣之後,資料係可用的。內部行位址計數器亦在此下降邊緣增加(位址=位址+1)。
.輸入/輸出埠(I/O0至7):I/O0至7腳位係用來作為用於傳輸位址、命令及輸入/輸出資料至裝置及自裝置傳輸位址、命令及輸入/輸出資料的埠。
.寫入保護(WP#):WP#信號係用來保護裝置免於遭受意外的寫入或抹除。當WP#為低(Low)時,內部電壓調節器(高電壓產生器)被重置。此信號通常被用來當輸入信號係無效時,在電力開啟/關閉序列期間保護資料。
.就緒/忙碌(R/B#):R/B#係開汲極(open drain)腳位,且輸出信號係用來表示裝置的操作條件。R/B#信號在寫入、抹除及讀取操作期間係處於忙碌狀態(R/B#=L),且在操作完成之後將返回就緒狀態(R/B#=H)。
全域資料緩衝區16係雙向緩衝區,其在個別的輸入/輸出(I/O)腳位或埠上接收寫入資料及提供讀取資料。快閃記憶體裝置10係顯示具有八個此種埠I/O0至I/O7,但在其他的資料寬度組態中可以有多於或小於八個。這些I/O埠亦被用來接收位址及命令資訊。
快閃記憶體裝置10之控制電路包括控制器18、命令暫存器20、位址暫存器22及狀態暫存器24。控制器18
控制在快閃記憶體裝置10中的其他電路的各種功能,其中此種功能包括例如讀取、寫入(program)及寫入驗證。儘管未示出,控制器18可包括命令解碼器,用於回應接收到的命令而執行功能。暫存器22、24儲存由快閃記憶體裝置10所接收或待提供給包括例如記憶體控制器(未示出)之外部主機系統(未示出)的資訊類型。所述該些暫存器並非意圖窮舉,而可包括其他暫存器,例如資料暫存器。
主要由控制器18所控制的電路為記憶體電路,其包括列及行預解碼器26及28、列及行解碼器30及32、感測放大器及頁緩衝區塊34及高電壓產生器36。快閃記憶體裝置10之記憶體胞元陣列38包括連接至位元線的NAND胞元串(cell strings),其中一NAND胞元串的各個記憶體胞元係連接至字線。NAND胞元串之進一步的細節於稍後的圖3中顯示。列預解碼器26、列解碼器30及高電壓產生器36係於寫入操作中被控制以將所選擇的字線驅動至高電壓,有效用於將所連接之記憶體胞元的臨界電壓自預設的已抹除臨界電壓位移至所欲的電壓位準。應注意的是,在記憶體陣列38中可能使用高電壓,以藉由將記憶體胞元的臨界電壓位移至預設值而抹除該等記憶體胞元。高電壓及該等高電壓之施加時間的不同組合可被用來設定用於快閃記憶體胞元的特定臨界電壓。用於寫入特定臨界電壓的組合可被稱為寫入檔案(programming profile)。頁緩衝區34儲存將被寫入到連接至所選擇之
字線的該等胞元的一頁資料。通常,連接至位元線的記憶體胞元係依據該位元線所偏壓或被設定之邏輯位準,來防止被寫入或是被致能於透過所選擇的字線來寫入。儲存在頁緩衝區中的資料位元係被用來偏壓該位元線。記憶體胞元陣列38具有任意數量的庫(bank),其係針對特定快閃裝置所選擇的設計參數。
圖2顯示圖1之記憶體胞元陣列38的一個記憶庫(bank)40的組織。記憶庫40係組織成k個區塊,而各個區塊具有i個頁。k及i均為整數值。各頁對應於耦合至一共同字線的一列記憶體胞元。以下為區塊之記憶體胞元的詳細說明。
各區塊包括NAND記憶體胞元串,具有多達i個快閃記憶體胞元42串聯排列並且彼此電耦合。因此,字線WL1至WLi係耦合至記憶體胞元串中之各個快閃記憶體胞元的閘極。耦合至信號SSL(串選擇線(string select line))之串選擇裝置44選擇性地將記憶體胞元串連接至位元線46,其中耦合至信號GSL(地選擇線(ground select line))之地選擇裝置48選擇性地將記憶體胞元串連接至源極線,例如VSS。串選擇裝置44及地選擇裝置48係N通道電晶體。
有j個位元線46為記憶庫40之所有區塊所共有,且各位元線46在各個區塊[1]至[k]中係耦合至一個NAND記憶體胞元串。變數j為整數值。各個字線(WL1至WLi)、SSL及GSL信號在區塊之各個NAND記憶體胞元
串中係耦合至相同之對應的電晶體裝置。如同熟習本技藝之人士應了解的是,沿著一個字線儲存在快閃記憶體胞元中的資料被稱為一頁資料。
在記憶庫40之外耦合至各位元線者為頁緩衝區50,用於儲存待寫入至快閃記憶體胞元之一個頁中的一頁寫入資料。頁緩衝區50對應於圖1中所示之感測放大器及頁緩衝區塊34。因此,頁緩衝區50亦包括感測電路,用於感測自快閃記憶體胞元之一頁所讀取的資料。在寫入操作期間,頁緩衝區執行寫入驗證操作,以確保資料已被正確地寫入進耦合至所選擇之字線的快閃記憶體胞元。一區塊內的寫入典型地開始自對應於WL1的頁,接著依次進行上至WLi,以填滿目前之區塊。或者,寫入可開始自WLi並接著依次進行下至WL1。然後寫入將繼續一新區塊之WL1。
快閃記憶體10可被組態成以兩種不同方式之其中一種來儲存資料。資料可以每胞元單位元(SBC)儲存模式或每胞元多位元(MBC)儲存模式來儲存。在SBC儲存模式中,一個胞元中只儲存剛好一個位元的資訊,以表示兩種可能狀態之其中一種。在MBC儲存模式中,一個胞元中儲存至少兩個位元,以表示四種可能狀態之其中一種。
圖3顯示圖2之相同的兩個NAND胞元串,具有附加注釋以幫助解釋儲存於SLC組態之快閃記憶體裝置中的頁資料。連接至相同實體字線,即,例如WL1,的各個記憶體胞元儲存一頁資料之一個位元的資料。因此如圖3中所
示,連接至實體字線WL1的胞元儲存「Page 1」,而連接至最後實體字線WLi的胞元則儲存「Page i」。
圖4顯示在SBC儲存模式中之已抹除的記憶體胞元及已寫入的記憶體胞元的臨界電壓(Vt)分佈。由於過程和電壓供應變化,已抹除及已寫入的臨界電壓係分佈於一電壓範圍中。如圖3中所示,已抹除的記憶體胞元具有在-3V至-1V之間的負臨界電壓,而已寫入的記憶體胞元具有在1V及3V之間的正臨界電壓。該等範圍取決於記憶體胞元之所需臨界電壓。該等臨界電壓範圍係可被用於特定快閃記憶體裝置的可能臨界電壓的例示,然而熟習本技藝之人士能理解,用於已抹除及已寫入之記憶體胞元的臨界電壓之選擇取決於快閃記憶體裝置的設計及製造過程。熟習本技藝之人士能理解的是,不同的快閃裝置具有不同的臨界電壓範圍以適應特定的設計或應用。
圖5顯示與圖3相同的電路,除了資料的二個位元係被儲存在每胞元兩位元MLC組態之快閃記憶體裝置的各記憶體胞元中。因此,各實體字線儲存兩頁資料。如圖5中所示,以WL1定址之實體列儲存邏輯頁1及頁2。最後字線WLi儲存頁2i及頁2i-1,其中「i」為整數值。
圖6顯示可被儲存於各個記憶體胞元中之可能狀態的臨界電壓分佈圖,以及代表各狀態之對應的兩位元組合。
圖7顯示與圖3相同的電路,除了資料的三個位元係被儲存在每胞元三位元MLC組態之快閃記憶體裝置的各記憶體胞元中。因此,各實體字線儲存三頁資料。如圖7
所示,以WL1定址之實體列儲存邏輯頁1、頁2及頁3。最後字線WLi儲存頁3i、頁3i-1及頁3i-2,其中「i」為整數值。應注意的是,頁3i、頁3i-1及頁3i-2係一般數學表達式,用於分別表示針對各字線之上頁(upper page)、中間頁及下頁(lower page)的頁碼。
圖8顯示可被儲存於各個記憶體胞元中之可能狀態的臨界電壓分佈圖,該等可能狀態之各者表示一可能的三位元組合。
以MBC儲存模式(每胞元兩位元或更多)儲存資料之優點為,當使用相同胞元數時,儲存容量至少比SBC儲存模式增加一倍。典型地,快閃記憶體製造商在製造過程中應用遮罩選項以將快閃記憶體裝置10組態成執行SBC特定演算法或MBC特定演算法,因為在SBC及MBC讀取和寫入操作之間,快閃電路之控制方式不同。
眾所皆知的是,快閃記憶體裝置在它們不再能被使用來可靠地儲存資料前,具有有限的抹除-寫入週期(cycle)次數。例如,目前的SBC快閃記憶體的典型額定抹除-寫入週期次數為約100,000次。然而,目前的MBC快閃記憶體具有10,000次之較小的額定限制,此係由於該等胞元受到較高應力的事實。上述之抹除-寫入週期限制僅為例示,但可充分理解的是,MBC快閃記憶體裝置較SBC組態之快閃記憶體裝置具有顯著較低的抹除-寫入週期次數。
儘管MBC快閃記憶體適用於多數的消費性應用,然
而對其他資料寫入及抹除係頻繁的,或是資料係關鍵任務(mission-critical)的應用來說,10,000次的寫入-抹除限制可能是不足夠的。因此,此問題對於有更頻繁的寫入-抹除週期的商業應用,諸如HDD應用,來說,是非常重要的。因為HDD應用較多數的消費性應用需要較高的資料完整性,因此不適合使用MBC快閃記憶體,此係由於其相對短的10,000次生命週期。特殊的雙模式SBC/MBC快閃記憶體裝置已被提出,其中操作模式係被靜態設定或即時動態改變。此種雙模式裝置需要不同的命令集及/或邏輯電路。
最後,SBC快閃記憶體裝置的成本目前超過較高密度MBC快閃記憶體裝置的成本,供應商認定要求高可靠性的消費者將支付更高的設備成本。特殊的雙模式SBC/MBC快閃記憶體裝置亦可能花費較MBC快閃記憶體裝置多的成本。
因此,想要提供一低成本快閃記憶體系統,其中可使用MBC快閃記憶體裝置來以SBC儲存模式儲存資料。
通常,至少某些範例實施例提供用於控制MBC組態之快閃記憶體裝置以SBC儲存模式或少於完全MBC儲存模式容量之部分MBC儲存模式來儲存資料的方法及系統。在完全MBC儲存模式中,針對記憶體胞元之各實體列,頁資料係自第一頁至第N頁循序地被寫入,其中N為一實體列可儲存之總頁數。記憶體胞元之每個實體列之多達N個虛擬頁位址伴隨著待寫入的各頁,用於指定在實
體列中頁的虛擬位置。針對SBC或部分MBC資料儲存,快閃記憶體控制器發出程式命令至MBC記憶體裝置,其各實體列使用少於最大N個虛擬頁位址。MBC記憶體裝置循序地執行寫入操作直到實體列之最後接收的虛擬頁位址。
本發明所述之實施例可被用於圖9及圖10中所示之記憶體系統。
圖9顯示依據本發明之實施例的快閃記憶體系統。參照圖9,快閃記憶體系統100係與主機系統102整合在一起。快閃記憶體系統100包括與主機系統102通訊之快閃記憶體控制器104,以及複數個MBC快閃記憶體裝置106-1-106-4。主機系統102包括一處理裝置,例如微控制器、微處理器或電腦系統(未示出)。快閃記憶體系統100被組態成包括一個通道108,其中MBC快閃記憶體裝置106-1-106-4並聯耦合至通道108。通道108包括一組公用匯流排(未示出),其包括耦合至所有記憶體裝置106-1-106-4的資料及控制線。儘管未示出,各個記憶體裝置係以由快閃記憶體控制器104所提供的各自的晶片選擇信號而被致能/失能。快閃記憶體控制器104係依據主機系統102的操作,負責將命令及資料透過通道108發出至所選定的記憶體裝置106-1-106-4之其中一者。從該所選定的記憶體裝置106-1-106-4之其中一者所讀取的資料係透過通道108傳送回快閃記憶體控制器104,其反過來將所讀取之資料提供給主機系統102。熟習本技藝之人士
應理解的是,記憶體系統100可具有更多或更少的耦合至通道108的記憶體裝置。
快閃記憶體系統100通常被稱為多點下傳(multi-drop)架構,其中MBC快閃記憶體裝置106-1-106-4係相對於通道108並聯耦合。在多點架構中,快閃記憶體控制器104可具有多個通道,其各有耦合的快閃記憶體裝置106-1-106-4。各個MBC快閃記憶體裝置106-1-106-4可為NAND快閃記憶體裝置,其具有之前示於圖2之記憶庫記憶體組織。快閃記憶體裝置106-1-106-4可具有相同的容量或不同的容量。
圖10顯示依據本發明之另一實施例的快閃記憶體系統。參照圖10,快閃記憶體系統120包括與主機系統124通訊之快閃記憶體控制器122,及複數個串聯的快閃記憶體裝置。在特定範例中,四個MBC快閃記憶體裝置126-1-126-4係串聯耦合。四個快閃記憶體裝置126-1-126-4之各者具有輸入/輸出電路,用於促進記憶體裝置之間的操作。熟習本技藝之人士應理解的是,記憶體系統120可具有更多或更少的與快閃記憶體控制器122串聯耦合的記憶體裝置。此種快閃記憶體裝置之一範例係被描述於共同擁有之於2005年12月30日所申請的美國專利申請案序號第11/324,023號以及共同擁有之於2006年7月31日所申請的美國專利申請案第11/496,278號,該等專利申請案之內容係被併入此案供參考。
依據本發明之實施例,圖9及圖10之系統的MBC記
憶體裝置具有內部控制器,其被組態以識別接收到的頁位址,並判斷需要哪一個特定的寫入演算法。例如,待寫入至實體列之對應第一頁的頁位址係以與待寫入至實體列之第二頁之演算法不同的演算法來寫入。記憶體控制器104及122係組態有位址連結架構,用於限制將頁資料寫入至記憶體胞元之實體列的可用虛擬位址空間。此位址連結架構被用來以SBC模式或部分MBC模式寫入資料。在部分MBC儲存模式中,記憶體胞元之一實體列中儲存多於一頁的資料,但少於可儲存於記憶體胞元之該實體列中的最大頁數。例如,若MBC記憶體裝置可儲存更多的三位元/胞元(或每實體列多於三頁的資料),則該記憶體控制器可被組態以具有第一位址連結架構用於以SBC儲存模式來寫入資料,以及第二位址連結架構用於以兩位元/胞元MBC儲存模式來寫入資料。
在該等實施例中,位址連結架構可被應用到記憶體陣列之任意細分(sub-division),其中一細分可包括記憶體區塊、記憶體區塊之子區塊或部分、或實體列。因此,可實現具有不同細分之不同位址連結架構的組合以改善系統靈活度。
圖11為顯示虛擬頁位址映射至NAND快閃記憶體陣列之實體列或字線之範例的表格,用於每胞元儲存資料之一位元的SBC儲存模式,每胞元儲存資料之兩位元的MBC儲存模式,及每胞元儲存資料之三位元的MBC儲存模式。
在目前所示之範例中,假設NAND胞元串包括32條字線(WL1-WL32),各被稱為實體列。表格左邊數來第二欄顯示針對每胞元一位元之資料儲存模式的虛擬位址映射。因此,在每胞元一位元的儲存模式中,各實體列儲存一頁資料(Page 1-Page 32)。顯示在各個編號頁旁的方括號中的是8位元虛擬頁位址,其中最低有效位元(LSB)位在最右邊的位元位置。在本範例中,各個虛擬頁位址的前七個位元係以「x」來顯示,而LSB則顯示為「0」或「1」。在此範例中假設該等頁係按順序從WL1至WL32被寫入,因此虛擬位址亦按順序排列。
在標示「2位元/胞元」的欄中,各實體列中儲存兩頁資料。由於依序寫入,待寫入的第一頁被稱為下頁(LP),而待寫入的第二及最後一頁被稱為上頁(UP)。
圖12A顯示在下頁已被寫入之後,兩位元MBC記憶體之可能臨界電壓的範例臨界電壓分佈。圖12B顯示顯示在上頁已被寫入之後,可能臨界電壓之範例臨界電壓分佈,考慮到圖12A之先前已寫入之下頁資料。圖12A中的箭頭顯示在下頁寫入之後,已抹除的胞元狀態0可使其臨界值轉移至狀態1。圖12B中的箭頭顯示在上頁寫入之後,對應狀態0及狀態1的臨界電壓可被轉移。
應注意的是,各實體列之下頁的LSB為「0」,而各實體列之上頁的LSB為「1」。在替代實施例中,下頁及上頁之LSB可不同於圖11之表格中所示。然而,各實體
列之下頁將具有相同的LSB,而各實體列之上頁將具有相同的LSB。
參照圖11,在標示「3位元/胞元」的欄中,各實體列儲存三頁資料。在每胞元3位元的MBC儲存模式中,首先寫入下頁,接著是中間頁(IP),最後是上頁。
圖13A顯示在下頁已寫入之後,三位元MBC記憶體之可能臨界電壓的範例臨界電壓分佈。圖13B顯示在中間頁已寫入之後,可能臨界電壓之範例臨界電壓分佈,考慮到圖13A之先前已寫入的下頁資料。圖13C顯示在上頁已寫入之後,可能臨界電壓之範例臨界電壓分佈,考慮到圖13B之先前已寫入的下頁資料。
在每胞元儲存多於三位元的MBC儲存模式中,在下頁和上頁之間可以有至少兩個中間頁。應注意的是,各實體列之下頁的最後兩個LSB為「00」,各實體列之中間頁的最後兩個LSB為「01」,而各實體列之上頁的最後兩個LSB為「10」。在替代實施例中,下頁、中間頁及上頁之最後兩個LSB可不同於圖11之表格中所示。然而,各實體列之下頁將具有相同的最後兩個LSB,各實體列之中間頁將具有相同的最後兩個LSB,而各實體列之上頁將具有相同的最後兩個LSB。
依據實施例,每實體列儲存多達N頁且具有如圖11中所示之虛擬頁位址架構的MBC記憶體裝置,可被控制以每實體列少於N頁的儲存模式將資料寫進記憶體陣列的細分。此係以一記憶體控制器來完成,該記憶體控制器被
組態以發出程式命令,該等程式命令僅使用可用虛擬頁位址之子集合,其反之將被用於定址每實體列之全部N頁。更具體的,虛擬頁位址之子集合被限制為每實體列之可用虛擬頁位址的最低連續集合。該子集合之虛擬頁位址的數目決定用於MBC記憶體裝置的儲存模式。此被稱為位址連結架構,用於將虛擬頁位址限制為那些只被用於特定儲存模式者。
藉由範例參照圖11之表格,三位元MBC記憶體裝置可每實體列儲存多達N=3頁資料,以N=3個虛擬頁位址來定址。例如為了以SBC儲存模式將資料儲存至記憶體區塊,記憶體控制器針對各頁資料發出程式命令,其中所提供之對應的虛擬頁位址係針對各實體列之下頁。如圖13A中所示,在各個下頁被寫入至對應的實體列之後,所得到的可能臨界電壓對應於狀態1或狀態2。在各實體列中儲存兩頁的部分MBC儲存模式中,針對各實體列所發出的程式命令包括下頁及中間頁位址。在中間頁資料被寫入之後,各實體列將具有圖13B中所示之四個可能狀態之其中一者。
圖14顯示依據本發明之一實施例,用於兩位元MBC記憶體裝置之SBC寫入操作的範例。參照圖14,兩位元MBC記憶體裝置200被控制以SBC儲存模式將資料儲存至記憶體區塊。記憶體裝置200包括具有形成記憶體區塊204之NAND胞元串的記憶體陣列202,且可具有圖1中所示之快閃記憶體裝置方塊圖。在圖14中所示之範例
中,僅顯示記憶體區塊204的一個NAND胞元串。並且,圖11之表格中所示之虛擬頁定址架構被用於兩位元MBC記憶體裝置200。發出至記憶體裝置200的程式命令封包包括初始化寫入操作(OP)碼欄位(PGM)206、區塊位址欄位(BA)208、列位址欄位(RA)210、行位址欄位(CA)212、資料欄位(DATA)214及確認寫入OP碼欄位(CFRM)216。在本範例中,OP碼欄位206包括預定的二進位序列,其指示記憶體裝置200遵循關於寫入操作之資訊。區塊位址欄位208包含區塊位址,其被用來在記憶體陣列202內選擇特定的記憶體區塊。列位址欄位210包含被選定之實體列的虛擬頁位址,其中非LSB的較高階位元被用來定址實體字線。行位址欄位212包含用於資料儲存的起始行位址。資料欄位214包含待寫入之頁資料。確認寫入OP碼欄位216包括預定的二進位序列,其指示記憶體裝置200,寫入操作可繼續運行。
目前顯示的程式命令封包可被提供作為串列位元流,或透過輸入埠平行。針對不同的記憶體系統,程式命令封包可能不同,而因此可能省略OP碼欄位206及/或216,或可能包括額外的協定資訊。程式命令封包之順序及格式可被改變。程式命令封包需要用於寫入頁資料的位址資訊。
在本SBC儲存模式範例中,列位址欄位210被限制為包括僅對應於各實體列之下頁的虛擬頁位址。在圖14中,這些虛擬頁位址被方塊包圍以顯示該等虛擬頁位址係
被連結至該些對應於記憶體區塊204之下頁者。因此,為了以SBC儲存模式寫入頁資料至記憶體區塊204之所有實體列,連續的程式命令封包被提供給記憶體裝置200,其中各程式命令封包包括待寫入之頁資料及下頁虛擬頁位址。雖然記憶體裝置200被組態用於每實體列寫入多達兩頁資料,因而導致如圖12B中所示之四種可能狀態的其中一種,但僅寫入下頁導致圖12A中所示之兩個可能臨界電壓分佈。因此,在兩位元MBC記憶體裝置中可達成SBC儲存模式寫入。
因此,由於已達到其預定之寫入/抹除週期次數而再也無法可靠地以完全MBC儲存模式來儲存資料的記憶體陣列202之細分,可被降級來以SBC儲存模式儲存資料。若細分之主要目的為最大化資料儲存容量,則該細分從完全MBC儲存轉變至SBC儲存被稱為「降級」。替代地,若該細分之主要目的為可靠地儲存資料,則此種轉變可被稱為「升級」。
相同的位址連結原則可被應用至三位元MBC記憶體裝置,其中一細分被用來以SBC儲存模式儲存資料。然而,三位元或更多位元之MBC記憶體裝置具有額外的優勢,即當特定儲存模式之寫入/抹除週期次數已達到時,細分可自完全MBC儲存模式漸進地轉變至下一個較低的部分MBC儲存模式。
圖15顯示依據本發明之一實施例,用於三位元MBC記憶體裝置之兩位元MBC寫入操作範例。參照圖15,三
位元MBC記憶體裝置300被組態以兩位元MBC儲存模式將資料儲存至記憶體區塊。記憶體裝置300包括具有形成記憶體區塊304之NAND胞元串的記憶體陣列302。僅顯示記憶體區塊304的一個NAND胞元串。圖11之表格中所示之虛擬頁定址架構被用於該三位元MBC記憶體裝置。在此範例中,三個連續的程式命令封包306、308及310被提供至記憶體裝置300。程式命令封包306、308及310之各者可具有與先前示於圖14中之程式命令封包相同的格式。程式命令封包306包含頁1之資料以及對應的下頁虛擬位址。程式命令封包308包含頁2之資料以及對應的中間頁虛擬位址。程式命令封包310包含頁4之資料以及對應的下頁虛擬位址。在三位元MBC記憶體裝置的例子中,控制器,例如圖1之記憶體裝置10之控制器18,將檢查虛擬頁位址之最後兩個有效位元以判斷使用哪一個寫入演算法。這是由於每實體列有三個頁位址,且僅使用LSB不足以判斷使用哪一個寫入演算法的事實。
因此,當記憶體裝置300接收到程式命令封包306時,執行一寫入操作以將頁1寫入至連接到WL1的記憶體胞元。針對這些記憶體胞元所得到的可能臨界電壓分佈係顯示於圖12A或圖13A中。在記憶體裝置300接收程式命令封包308之後,執行一寫入操作以將頁2寫入至連接到WL1的記憶體胞元。因為第二頁資料將被寫入至連接到WL1的記憶體胞元,因此使用一寫入演算法,其不同於用來寫入頁1的寫入演算法。針對這些記憶體胞元所
得到的可能臨界電壓分佈係顯示於圖12B或圖13B中。針對連接至WL1之記憶體胞元的兩位元MBC寫入係現在被完成。第三程式命令封包310係由記憶體裝置300所接收,用來在新的下頁,頁4,寫入至下一個字線WL2。一旦被寫入,連接至WL1的記憶體胞元將具有圖12A或圖13A中所示之可能臨界電壓分佈。儘管未示出,額外的程式命令封包係由記憶體裝置300所接收,用來將資料寫入至記憶體區塊304的剩餘實體列。使用三位元或更多位元MBC記憶體裝置的優點是,一細分可以兩位元MBC儲存模式而被使用,而接著稍後以SBC儲存模式被使用。
圖16顯示N位元MBC快閃記憶體控制器之一範例。參照圖16,N位元MBC快閃記憶體控制器400係組態有至少一個位址連結架構,用於在少於N位元儲存模式中寫入資料。記憶體控制器400通常包括CPU及時脈控制區塊402、快閃控制區塊404及映射表406。儘管未示出,CPU及時脈控制區塊402包括用於透過公用匯流排與其他子系統通訊的中央處理單元、用於將需要的時脈信號提供給記憶體控制器400之其他電路的時脈產生器、及其他電路,其可能係需要的以用來致能裝置的正確操作。快閃控制區塊404包括檔案及記憶體管理子區塊、ECC(錯誤校正碼)子區塊及實體快閃介面子區塊。快閃記憶體裝置係經由實體快閃介面子區塊被存取。所存取之來自快閃記憶體裝置的資料係由ECC子區塊來檢查及校正。檔案及記憶體管理子區塊提供邏輯至實體位址的轉譯,並執行平均
磨損(wear-leveling)演算法。
通常快閃控制區塊404精確地追蹤及更新記憶體裝置之性質(資訊),例如針對在所連接之系統中的各快閃記憶體裝置之各頁或區塊的抹除週期、有效/空(valid/empty)等等。此資訊被儲存在本地記憶體並被架構為映射表。一範例映射表408係顯示於圖16中。映射表408儲存各記憶體裝置之資訊,其被稱為元資料,其可包括指定各區塊之資料儲存模式的SBC/MBC狀態位元,及各區塊之寫入/抹除週期。SBC/MBC狀態位元為「0」可表示細分以MBC儲存模式來儲存資料,而「1」可表示細分以SBC儲存模式來儲存資料。應了解的是,針對每胞元儲存多於三個位元的MBC記憶體裝置,至少使用兩個狀態位元來表示各個可能的資料儲存模式。應注意的是,快閃記憶體控制器亦保持追蹤各記憶體裝置之虛擬頁位址範圍,並且該快閃記憶體控制器係針對各位址連結架構以一演算法來編程,以使用僅用於特定儲存模式之被允許的虛擬頁位址。
快閃控制區塊404在記憶體系統的使用生命週期期間,持續地更新及監視映射表408。應注意的是,映射表在記憶體系統電力開啟時可被填入資訊,而諸如耐用性(endurance)及SBC/MBC狀態的資訊可被儲存在記憶體裝置中之與各實體列及/或記憶體區塊有關的額外資料欄位中。若頁或區塊達到寫入/抹除週期之最大次數(在MLC快閃記憶體中為10K週期),則快閃控制區塊404
可決定將儲存模式改變為SBC儲存模式,藉此延伸寫入/抹除週期至100K。
當記憶體控制器400接收到一主機請求以寫入資料時,快閃控制區塊404查找映射表406以判斷資料應該被寫入在哪裡。若所選擇的記憶體區塊被組態用於SBC儲存模式,則應用僅使用各實體列之下頁虛擬位址的預編程的位址連結架構。假設有多個頁待寫入,則命令封包被預備且由記憶體控制器400發出至所選擇的MBC記憶體裝置,各具有一列位址欄位僅包含下頁虛擬位址。
圖17為依據本發明之實例,操作記憶體控制器以發出在SBC、完全MBC或部分MBC儲存模式之命令之方法的流程圖,其目的在於控制MBC記憶體裝置來儲存資料。
參照圖16及圖17,該方法藉由電力開啟記憶體系統而開始(步驟500)。該記憶體系統包括被組態相似於記憶體控制器400之一記憶體控制器,及至少一個N位元MBC記憶體裝置。此記憶體系統可具有圖9或圖10中所示之組態。作為電力開啟程序的一部分,記憶體控制器執行至少一個N位元MBC記憶體裝置的掃描以獲得裝置元資料,例如其細分的耐用性以及SBC/MBC狀態資訊(步驟502)。收集此資訊並儲存在記憶體控制器400之映射表中。一旦完成了電力開啟程序,記憶體控制器400可接收來自主機裝置的命令。主機程式請求係由記憶體控制器400所接收(步驟504)。此請求可包括待寫入之資料的
某些優先權等級。例如,低優先權資料可為非關鍵的媒體資料,而高優先權資料可為標示為需求高可靠度儲存的資料。可執行記憶體控制器400的其他演算法來決定將使用的適當的平均磨損技術,其係基於例如,諸如待寫入之資料大小、在記憶體裝置中之自由空間的可用性,以及前述之優先權等級的係數。
記憶體控制器存取其之映射表來確認資料應被儲存於何處,其係基於由記憶體控制器400所執行之前述演算法(步驟506)。接著,記憶體控制器判斷針對主機程式請求是否需要SLC儲存(步驟508)。若需要SLC儲存,則記憶體控制器400在步驟510發出命令,以使用其中針對各實體列僅使用下頁虛擬位址的SBC位址連結架構,在所選擇的細分中儲存資料。否則,該方法進行至步驟512,其中記憶體控制器判斷是否需要完全MLC寫入。若需要完全MLC寫入,則記憶體控制器發出具有針對各實體列之完整虛擬頁位址範圍的命令(步驟514)。否則,發出具有其中使用每一實體列之虛擬頁位址之完整範圍的子集合來寫入資料的MLC位址連結架構的命令(步驟516)。
依據圖17之方法,由記憶體控制器所發出的命令不需要發出用於以其他儲存模式來組態所選擇之MBC記憶體裝置之操作的特殊命令。因為即時發出該等命令,此保證了記憶體系統之更高的效率,因為沒有時脈週期被浪費於組態MBC記憶體裝置。此外,不需要重設記憶體裝置來將其設定至需要的儲存模式。
圖18顯示自記憶體控制器接收命令之N位元MBC記憶體裝置的操作,該記憶體控制器以圖17中所概述的方法操作。參照圖18,該方法起始於由記憶體控制器400所發出之寫入命令係由MBC記憶體裝置接收(步驟600)。共同地,這些命令係用於寫入由主機所請求的一組資料,其可跨越多個頁。應注意的是,記憶體裝置可接收交錯命令,用於將不同組的資料寫入至記憶體裝置之不同的細分。換言之,可接收一個命令以開始寫入資料至一個細分,然後可接收隨後接收的命令以開始寫入資料至其他的細分。接著可接收第三個命令以繼續寫入更多的資料至第一個細分。接著,MBC記憶體裝置至少檢查與資料之各頁相關聯的虛擬頁位址之LSB(步驟602)。若舉例而言,該MBC記憶體裝置係被組態用於每胞元多達三個位元的資料儲存,則檢查最後兩個LSB。若舉例而言,該MBC記憶體裝置係被組態用於每胞元多達兩個位元的資料儲存,則檢查最後一個LSB。不管該記憶體裝置被組態以每胞元最大位元數來儲存,將有識別實體列之各虛擬頁所需要之虛擬頁位址LSB的最小數目。這些為在步驟602待檢查的LSB。MBC記憶體裝置之內部控制器,亦稱為命令解碼器,接著在步驟604回應該等LSB而執行適當的寫入程序或演算法。更具體地,該內部控制器執行部分MLC寫入演算法,其包括針對少於MBC記憶體裝置之每胞元最大位元數的任何寫入演算法。此內部控制器在圖1之快閃記憶體裝置方塊中以範例顯示為控制器18。
例如,MBC記憶體裝置之內部控制器可執行SBC寫入演算法,若虛擬頁位址之LSB為「0」。若無其他具有「1」之虛擬頁位址LSB的程式命令被接收,則該頁已在SBC儲存模式中被寫入至實體列。針對該實體列之胞元所得到的可能臨界電壓可示例性的顯示為如圖12A或13A中所示。在另一範例中,一對程式命令被接收,其中第一個包括「0」之虛擬頁位址LSB而第二個包括「1」之虛擬頁位址LSB。在此情況中,第一頁資料係以SBC寫入演算法被寫入。相同實體列具有「1」之LSB的第二頁資料則依據2位元MBC寫入演算法被寫入,其係由記憶體裝置之內部控制器所執行。針對實體列之胞元所得到的可能臨界電壓可顯示為如圖12B或13B中所示。
圖19顯示依據一實施例,記憶體系統之詳細的範例操作。起始於步驟700,假設MBC記憶體裝置使其所有的細分,例如記憶體區塊,被組態為用於完全N位元MBC儲存,其中N為每胞元可儲存之最大位元數。在本範例中,假設N=2。因此,記憶體控制器之映射表可具有設定以表示完全MLC資料儲存模式的各細分之SLC/MLC狀態位元。在步驟702由記憶體控制器接收一主機請求,且記憶體控制器在步驟704判斷該請求是否為寫入請求或抹除請求之一。若該主機請求均不為寫入請求或抹除請求,則在步驟706執行該請求,且該系統等待其他的主機請求。反之,該方法進行至步驟708,其中記憶體控制器進一步判斷資料是否應以MBC模式來寫入。若資料待以MBC儲
存模式來寫入,則在步驟710檢查所選擇之記憶體區塊的寫入/抹除週期數。在步驟712,執行一判斷,判斷所選擇之記憶體區塊的最大寫入/抹除週期數是否已達到。若尚未達到,則在步驟714藉由發出所請求之程式命令至記憶體裝置來執行MLC寫入操作。
另一方面,若所選擇之記憶體區塊的最大寫入/抹除週期數已達到,則記憶體控制器接著執行區塊生命週期延長演算法。此演算法開始於步驟716,其中新資料被寫入至可用的MLC記憶體區塊或SLC組態的記憶體區塊。在原本所選擇之記憶體區塊中所存在的任何資料稍後將於背景操作期間被複製到可用的MLC記憶體區塊或SLC組態的記憶體區塊,其可為與新資料最近被寫入至的記憶體區塊相同的記憶體區塊。此背景操作可由記憶體控制器排程。
在步驟718,所選擇之區塊被轉換為使用作為SLC記憶體區塊,其係藉由更新在記憶體陣列中其對應的SLC/MLC標記位元。記憶體控制器之映射表在步驟720被更新,以反映所選擇之記憶體區塊之儲存模式的此改變。此更新可進一步包括將已轉換之SLC記憶體區塊的寫入/抹除週期數重設為適當的SLC寫入/抹除限制。例如,此限制可在10K至100K週期之間。
返回在步驟708的決定,若寫入請求係用於SLC儲存,則在步驟722檢查所選擇之SLC記憶體區塊之寫入/抹除週期數,以判斷是否已達到最大週期數。若在步驟
724,所選擇之SLC記憶體區塊之最大週期數尚未達到,則在步驟706藉由發出所請求的程式命令至記憶體裝置來執行SLC寫入操作。如先前所討論,SLC位址連結架構係由記憶體控制器所使用,用來發出具有虛擬頁位址之程式命令,該等虛擬頁位址被限制在各實體列之下頁的虛擬頁位址。反之,SLC記憶體區塊無法可靠地儲存SLC資料,且該方法進行至步驟726,其中針對其他可用的SLC記憶體區塊執行SLC寫入操作,且在原本所選擇之SLC記憶體區塊中所存在的任何資料將被複製到相同可用的SLC記憶體區塊或其他可用的SLC記憶體區塊。在步驟728將原本所選擇之SLC記憶體區塊標記為在記憶體裝置中無效,且在步驟720相應地更新在記憶體控制器中的映射表。標記記憶體區塊為無效具有使記憶體區塊從未來使用中退出的效果。
目前所示之實施例的優點為,可執行少於記憶體裝置之完全MBC儲存模式之操作的任何儲存模式,而不需要設定任何暫存器、重開啟記憶體裝置或至其正常操作的任何其他中斷。
在前述所有的實施例中,由快閃記憶體控制器所執行之選擇性的MBC或SBC過程對於使用者而言係透明地完成。不需要來自使用者請求的額外的指令、或指令的修正,因為所有的SBC/MBC儲存模式操作之判斷係由快閃記憶體控制器來完成。因此,有實行本發明所述之具有主機系統之快閃記憶體系統所需之最小的負擔(overhead)。
在前面的描述中,為了說明的目的,提出眾多細節以提供對該等實施例之深入的理解。然而,對於熟習本技藝之人士而言,明顯可知這些具體細節並非實施該等實施例所必須。在其他情況下,為了不模糊該等實施例之態樣,習知的電子結構及電路係以方塊圖形式顯示。例如,關於本文所述之該等實施例係被實施為軟體常用程式、硬體電路、韌體或其之組合,並未提供具體的細節。
上述實施例之目的僅為範例。熟習本技藝之人士可在不背離僅由隨附之申請專利範圍所定義之範疇下,完成特定實施例之改變、修改及變化。
10‧‧‧快閃記憶體裝置
12‧‧‧就緒/忙碌信號緩衝區
14‧‧‧控制信號緩衝區
16‧‧‧全域資料緩衝區
18‧‧‧控制器
20‧‧‧命令暫存器
22‧‧‧位址暫存器
24‧‧‧狀態暫存器
26‧‧‧列預解碼器
28‧‧‧行預解碼器
30‧‧‧列解碼器
32‧‧‧行解碼器
34‧‧‧感測放大器及頁緩衝區塊
36‧‧‧高電壓產生器
38‧‧‧記憶體陣列
40‧‧‧記憶庫
42‧‧‧快閃記憶體胞元
44‧‧‧串選擇裝置
46‧‧‧位元線
48‧‧‧地選擇裝置
50‧‧‧頁緩衝區
100‧‧‧快閃記憶體系統
102‧‧‧主機系統
104‧‧‧快閃記憶體控制器
106-1‧‧‧MBC快閃記憶體裝置
106-2‧‧‧MBC快閃記憶體裝置
106-3‧‧‧MBC快閃記憶體裝置
106-4‧‧‧MBC快閃記憶體裝置
108‧‧‧通道
120‧‧‧快閃記憶體系統
122‧‧‧快閃記憶體控制器
124‧‧‧主機系統
126-1‧‧‧MBC快閃記憶體裝置
126-2‧‧‧MBC快閃記憶體裝置
126-3‧‧‧MBC快閃記憶體裝置
126-4‧‧‧MBC快閃記憶體裝置
200‧‧‧兩位元MBC記憶體裝置
202‧‧‧記憶體陣列
204‧‧‧記憶體區塊
206‧‧‧初始化寫入操作(OP)碼欄位(PGM)
208‧‧‧區塊位址欄位(BA)
210‧‧‧列位址欄位(RA)
212‧‧‧行位址欄位(CA)
214‧‧‧資料欄位(DATA)
216‧‧‧確認寫入OP碼欄位(CFRM)
300‧‧‧三位元MBC記憶體裝置
302‧‧‧記憶體陣列
304‧‧‧記憶體區塊
306‧‧‧程式命令封包
308‧‧‧程式命令封包
310‧‧‧程式命令封包
400‧‧‧N位元MBC快閃記憶體控制器
402‧‧‧CPU及時脈控制區塊
404‧‧‧快閃控制區塊
406‧‧‧映射表
408‧‧‧映射表
實施例將參照隨附之圖示僅透過範例的方式說明,其中:圖1為適用本發明之快閃記憶體裝置的方塊圖;圖2為顯示圖1之快閃記憶體裝置之一個記憶庫的組織的示意圖;圖3為顯示將頁資料每胞元單位元(SBC)映射至快閃記憶體胞元之列的電路示意圖;圖4為SBC資料儲存之臨界電壓分佈的圖表;圖5為顯示將兩頁資料每胞元多位元(MBC)映射至快閃記憶體胞元之列的電路示意圖;圖6為二位元MBC資料儲存之臨界電壓分佈的圖表;圖7為顯示將三頁資料MBC映射至快閃記憶體胞元
之列的電路示意圖;圖8為三位元MBC資料儲存之臨界電壓分佈的圖表;圖9為依據本發明之一實施例的快閃記憶體系統的方塊圖;圖10為依據本發明之另一實施例的快閃記憶體系統的方塊圖;圖11為顯示虛擬頁位址映射至實體列之範例的表格;圖12A及12B為二位元MBC寫入序列之臨界電壓分佈的圖表;圖13A、13B及13C為三位元MBC寫入序列之臨界電壓分佈的圖表;圖14為顯示依據本發明之一實施例,二位元MBC記憶體裝置之SBC寫入操作之範例的圖示;圖15為顯示依據本發明之一實施例,三位元MBC記憶體裝置之二位元MBC寫入操作之範例的圖示;圖16為顯示依據本發明之一實施例,具有一範例映射表儲存於記憶體控制器中之N位元MBC快閃記憶體控制器之範例的圖示;圖17為依據本發明之一實施例,操作記憶體控制器以發出寫入命令給MBC記憶體裝置之方法的流程圖;圖18為依據本發明之一實施例,回應自記憶體控制器接收到的寫入命令而操作MBC記憶體裝置之方法的流
程圖;以及圖19為顯示依據本發明之一實施例,記憶體系統之詳細範例操作方法的流程圖。
10‧‧‧快閃記憶體裝置
12‧‧‧就緒/忙碌信號緩衝區
14‧‧‧控制信號緩衝區
16‧‧‧全域資料緩衝區
18‧‧‧控制器
20‧‧‧命令暫存器
22‧‧‧位址暫存器
24‧‧‧狀態暫存器
26‧‧‧列預解碼器
28‧‧‧行預解碼器
30‧‧‧列解碼器
32‧‧‧行解碼器
34‧‧‧感測放大器及頁緩衝區塊
36‧‧‧高電壓產生器
38‧‧‧記憶體陣列
Claims (29)
- 一種用於寫入(programming)每胞元多位元(MBC)快閃記憶體裝置之方法,該MBC快閃記憶體裝置被組態以每實體列儲存達到N頁資料,N為大於一的整數,該方法包含:發出(issuing)一組程式命令,用於寫入多頁資料至具有該快閃記憶體裝置之至少一個實體列的細分(subdivision),該組程式命令被限制以定址邏輯頁位址之子集合,該等邏輯頁位址係選自對應該至少一個實體列之各者的所有可能的邏輯頁位址;以及回應該等程式命令中之該邏輯頁位址之子集合,寫入少於N頁至該快閃記憶體裝置之該至少一個實體列之各者。
- 如申請專利範圍第1項之方法,更包含:在發出該組程式命令之前,存取一映射表,該映射表包含用於該快閃記憶體裝置之各個細分的儲存模式資訊。
- 如申請專利範圍第2項之方法,其中該存取該映射表包括:選擇具有每實體列儲存少於N頁資料之部分(partial)MBC儲存模式的細分。
- 如申請專利範圍第3項之方法,更包含:選擇對應該部分MBC儲存模式之該邏輯頁位址的子集合。
- 如申請專利範圍第4項之方法,其中對應該至少一個實體列之各者的所有可能的邏輯頁位址包括以下頁(lower page)位址起始並以上頁(upper page)位址結束的連續的頁位址。
- 如申請專利範圍第5項之方法,其中該邏輯頁位址之子集合包括該至少一個實體列之各者的該下頁位址,直到在該下頁位址及該上頁位址之間的一中間頁位址。
- 如申請專利範圍第5項之方法,其中該邏輯頁位址之子集合僅包括該至少一個實體列之各者的下頁位址。
- 如申請專利範圍第5項之方法,其中該發出包括迭代地提供程式命令封包,其各包含該多頁資料之其中一頁以及該邏輯頁位址之子集合之其中之一。
- 如申請專利範圍第8項之方法,其中該發出包括:提供M個程式命令封包,用於寫入該多頁資料之其中M頁至該快閃記憶體裝置的一個實體列,其中M為少於N的整數值。
- 如申請專利範圍第8項之方法,其中該發出包括:迭代地提供一個程式命令封包,用於寫入該多頁資料之其中一頁至該快閃記憶體裝置的一個實體列。
- 如申請專利範圍第1項之方法,更包含:在發出該組程式命令之前,接收一主機請求而以部分MBC儲存模式來寫入該多頁資料。
- 如申請專利範圍第1項之方法,更包含: 在發出該組程式命令之前,接收一主機請求而以完全(full)MBC儲存模式來寫入該多頁資料。
- 如申請專利範圍第12項之方法,包括判斷用於該細分之最大MBC寫入/抹除週期數已達到。
- 如申請專利範圍第13項之方法,更包含:選擇被組態用於以該完全MBC儲存模式來寫入該多頁資料的其他細分,以及設定該細分為部分MBC儲存模式。
- 如申請專利範圍第14項之方法,其中該完全MBC儲存模式包括每胞元兩位元儲存模式,而該部分MBC儲存模式包括每胞元一位元儲存模式。
- 一種系統,包含:記憶體控制器,其被組態以發出程式命令,該等程式命令被限制以定址選自對應記憶體裝置之各實體列的所有可能的邏輯頁位址的邏輯頁位址之子集合,該記憶體裝置包含:每胞元多位元(MBC)記憶體裝置,其被組態以每實體列儲存最大N頁,N為大於一的整數,以及回應接收自該記憶體控制器之該等程式命令中之該邏輯頁位址之子集合,每實體列寫入少於N頁。
- 如申請專利範圍第16項之系統,其中該記憶體控制器包括:映射表,用於儲存對應該記憶體裝置之細分的元資 料。
- 如申請專利範圍第17項之系統,其中該映射表被組態以包括用於該等細分之各者的儲存模式資訊。
- 如申請專利範圍第18項之系統,其中該映射表被組態以包括與用於該等細分之各者的儲存模式相關聯的位址連結資訊。
- 如申請專利範圍第19項之系統,其中該記憶體控制器包括:控制電路,用於存取該映射表以及回應該映射表之該元資料而提供該等程式命令。
- 如申請專利範圍第20項之系統,其中該等程式命令之各者包括:頁資料、用於選擇該記憶體裝置之細分以及在該細分內之實體列的位址資訊,以及待寫入於該實體列中之該頁資料的邏輯頁位址。
- 如申請專利範圍第21項之系統,其中:該記憶體裝置被組態以每實體列儲存最大N=2頁,以及每實體列之兩頁的各者係可以上頁位址及下頁位址來定址。
- 如申請專利範圍第22項之系統,其中:該上頁位址具有第一最低有效位元(least significant bit),及該下頁位址具有與該第一最低有效位元不同的第二最 低有效位元。
- 如申請專利範圍第17項之系統,其中該記憶體裝置之該等細分包括記憶體區塊。
- 如申請專利範圍第17項之系統,其中該記憶體裝置之該等細分包括記憶體區塊之子區塊。
- 如申請專利範圍第17項之系統,其中該記憶體裝置之該等細分包括記憶體區塊之實體列。
- 一種用於寫入每胞元多位元(MBC)快閃記憶體裝置之方法,該MBC快閃記憶體裝置被組態以每胞元儲存達到N位元,其中N為大於一的整數,該方法包含:接收一主機請求以寫入資料頁;判斷該等資料頁係待以該快閃記憶體裝置之各實體列中儲存少於N個虛擬可定址資料頁的部分MBC儲存模式來寫入;存取包含用於該快閃記憶體裝置之元資料的映射表,以選擇以該部分MBC儲存模式組態的該MBC快閃記憶體裝置的細分;以及發出至少一個程式命令,用於使用虛擬頁位址來寫入該等資料頁至該細分,該等虛擬頁位址被限制為用於寫入頁至各實體列之少於N個可能的虛擬頁位址的子集合。
- 如申請專利範圍第27項之方法,其中:N=2且可能的虛擬頁位址包括下頁位址及上頁位址,以及該發出包括迭代地發出程式命令,其各包括資料頁及 下頁位址。
- 如申請專利範圍第27項之方法,其中:N>2且可能的虛擬頁位址包括下頁位址、上頁位址以及在該下頁位址與該上頁位址之間的至少一個中間頁位址,以及該發出包括迭代地發出程式命令,其各包括資料頁以及該下頁位址及該至少一個中間頁位址的其中一者。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161538540P | 2011-09-23 | 2011-09-23 | |
US13/455,780 US9588883B2 (en) | 2011-09-23 | 2012-04-25 | Flash memory system |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201329987A true TW201329987A (zh) | 2013-07-16 |
Family
ID=47912557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101134476A TW201329987A (zh) | 2011-09-23 | 2012-09-20 | 快閃記憶體系統 |
Country Status (9)
Country | Link |
---|---|
US (5) | US9588883B2 (zh) |
EP (1) | EP2758964A4 (zh) |
JP (1) | JP2014530421A (zh) |
KR (1) | KR20140072118A (zh) |
CN (1) | CN103946923A (zh) |
CA (1) | CA2849862A1 (zh) |
HK (1) | HK1200589A1 (zh) |
TW (1) | TW201329987A (zh) |
WO (1) | WO2013040681A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI687809B (zh) * | 2018-02-13 | 2020-03-11 | 點序科技股份有限公司 | 快閃記憶體儲存裝置與寫入管理方法 |
TWI693601B (zh) * | 2019-04-30 | 2020-05-11 | 大陸商長江存儲科技有限責任公司 | 電子設備和管理快閃記憶體的讀取準位的方法 |
US11094372B1 (en) | 2020-05-07 | 2021-08-17 | Powerchip Semiconductor Manufacturing Corporation | Partial writing method of dram memoryl device to reduce power consumption associated with large voltage swing of internal input/output lines |
US11861212B2 (en) | 2022-02-24 | 2024-01-02 | Silicon Motion, Inc. | Flash memory device, controller, and method capable of performing access operation upon data unit(s) of multiple planes of flash memory device in response one simplified command sequence |
US11935595B2 (en) | 2022-02-24 | 2024-03-19 | Silicon Motion, Inc. | Flash memory device, controller, and method capable of performing access operation upon data unit(s) of multiple planes of flash memory device in response one simplified command sequence |
TWI838793B (zh) * | 2022-02-24 | 2024-04-11 | 慧榮科技股份有限公司 | 用於儲存裝置中並通過特定通訊介面耦接到儲存裝置的快閃記憶體裝置之快閃記憶體控制器及方法 |
US11977752B2 (en) | 2022-02-24 | 2024-05-07 | Silicon Motion, Inc. | Flash memory controller and method capable of sending data toggle set-feature signal to enable, disable, or configure data toggle operation of flash memory device |
US11977776B2 (en) | 2022-02-24 | 2024-05-07 | Silicon Motion, Inc. | Flash memory controller and method capable of sending read command or data toggle command to ask for flash memory device return more plane data of different planes |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8719664B1 (en) * | 2011-04-12 | 2014-05-06 | Sk Hynix Memory Solutions Inc. | Memory protection cache |
US9588883B2 (en) | 2011-09-23 | 2017-03-07 | Conversant Intellectual Property Management Inc. | Flash memory system |
KR102053953B1 (ko) * | 2013-02-04 | 2019-12-11 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 프로그램 방법 |
US10042750B2 (en) * | 2013-03-15 | 2018-08-07 | Micron Technology, Inc. | Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor |
CN104217762B (zh) * | 2013-05-31 | 2017-11-24 | 慧荣科技股份有限公司 | 数据储存装置及其错误校正方法以及数据读取方法 |
TWI514141B (zh) * | 2013-08-08 | 2015-12-21 | Phison Electronics Corp | 記憶體位址管理方法、記憶體控制器與記憶體儲存裝置 |
KR102274280B1 (ko) * | 2015-06-22 | 2021-07-07 | 삼성전자주식회사 | 불휘발성 메모리 장치의 동작 방법 |
KR20170011645A (ko) * | 2015-07-23 | 2017-02-02 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법 |
US10096355B2 (en) | 2015-09-01 | 2018-10-09 | Sandisk Technologies Llc | Dynamic management of programming states to improve endurance |
JP6457364B2 (ja) | 2015-09-11 | 2019-01-23 | 東芝メモリ株式会社 | メモリシステム |
KR102606468B1 (ko) * | 2015-11-26 | 2023-11-29 | 삼성전자주식회사 | 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치에 데이터를 프로그램 하는 프로그램 방법 |
KR102456490B1 (ko) * | 2016-01-12 | 2022-10-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
US9811269B1 (en) * | 2016-12-30 | 2017-11-07 | Intel Corporation | Achieving consistent read times in multi-level non-volatile memory |
CN106980799B (zh) * | 2017-03-10 | 2019-05-14 | 华中科技大学 | 一种磨损均衡感知的非易失内存加密*** |
US10289561B2 (en) * | 2017-08-08 | 2019-05-14 | Samsung Electronics Co., Ltd. | Nonvolatile memory devices and methods of controlling the same |
KR102431238B1 (ko) * | 2017-10-11 | 2022-08-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20190099570A (ko) * | 2018-02-19 | 2019-08-28 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR102565913B1 (ko) * | 2018-06-12 | 2023-08-11 | 에스케이하이닉스 주식회사 | 저장 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템 및 이의 동작 방법 |
KR20200088709A (ko) * | 2019-01-15 | 2020-07-23 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11194473B1 (en) * | 2019-01-23 | 2021-12-07 | Pure Storage, Inc. | Programming frequently read data to low latency portions of a solid-state storage array |
US10817187B2 (en) * | 2019-01-24 | 2020-10-27 | Western Digital Technologies, Inc. | Balancing the block wearing leveling for optimum SSD endurance |
US11016781B2 (en) * | 2019-04-26 | 2021-05-25 | Samsung Electronics Co., Ltd. | Methods and memory modules for enabling vendor specific functionalities |
US11288007B2 (en) * | 2019-05-16 | 2022-03-29 | Western Digital Technologies, Inc. | Virtual physical erase of a memory of a data storage device |
US11157379B2 (en) * | 2019-10-30 | 2021-10-26 | International Business Machines Corporation | Managing blocks of memory based on block health using hybrid controllers |
KR20210142981A (ko) * | 2020-05-19 | 2021-11-26 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
DE102020123220A1 (de) * | 2020-09-04 | 2022-03-10 | Harman Becker Automotive Systems Gmbh | Speichersystem, Verfahren zum Betrieb desselben |
US11934675B2 (en) * | 2020-09-12 | 2024-03-19 | Western Digital Technologies, Inc. | Mixed mode block cycling for intermediate data |
Family Cites Families (106)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR930000869B1 (ko) | 1989-11-30 | 1993-02-08 | 삼성전자 주식회사 | 페이지 소거 가능한 플래쉬형 이이피롬 장치 |
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
KR950000273B1 (ko) | 1992-02-21 | 1995-01-12 | 삼성전자 주식회사 | 불휘발성 반도체 메모리장치 및 그 최적화 기입방법 |
US5396459A (en) | 1992-02-24 | 1995-03-07 | Sony Corporation | Single transistor flash electrically programmable memory cell in which a negative voltage is applied to the nonselected word line |
JP2968906B2 (ja) | 1992-04-07 | 1999-11-02 | 三菱電機株式会社 | 不揮発性半導体記憶装置 |
KR960000616B1 (ko) | 1993-01-13 | 1996-01-10 | 삼성전자주식회사 | 불휘발성 반도체 메모리 장치 |
JP3181454B2 (ja) | 1993-12-13 | 2001-07-03 | 株式会社東芝 | 不揮発性半導体記憶装置 |
KR0142367B1 (ko) | 1995-02-04 | 1998-07-15 | 김광호 | 열 리던던씨를 가지는 불휘발성 반도체 메모리의 소거 검증회로 |
US5835935A (en) | 1995-09-13 | 1998-11-10 | Lexar Media, Inc. | Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory |
JP3980094B2 (ja) | 1995-09-13 | 2007-09-19 | 株式会社東芝 | 不揮発性半導体記憶装置 |
KR0169418B1 (ko) | 1995-10-30 | 1999-02-01 | 김광호 | 페이지 소거시 데이터의 자기 보존회로를 가지는 불휘발성 반도체 메모리 |
KR0172408B1 (ko) | 1995-12-11 | 1999-03-30 | 김광호 | 다수상태 불휘발성 반도체 메모리 및 그의 구동방법 |
JP3740212B2 (ja) | 1996-05-01 | 2006-02-01 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置 |
KR100205240B1 (ko) | 1996-09-13 | 1999-07-01 | 윤종용 | 단일 비트 및 다중 비트 셀들이 장착된 불휘발성 반도체 메모리 장치 |
KR100252476B1 (ko) | 1997-05-19 | 2000-04-15 | 윤종용 | 플레이트 셀 구조의 전기적으로 소거 및 프로그램 가능한 셀들을 구비한 불 휘발성 반도체 메모리 장치및 그것의 프로그램 방법 |
JPH1145986A (ja) | 1997-07-28 | 1999-02-16 | Sony Corp | 不揮発性半導体記憶装置 |
US6442644B1 (en) | 1997-08-11 | 2002-08-27 | Advanced Memory International, Inc. | Memory system having synchronous-link DRAM (SLDRAM) devices and controller |
JP3805867B2 (ja) | 1997-09-18 | 2006-08-09 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US5937425A (en) | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
US5953255A (en) | 1997-12-24 | 1999-09-14 | Aplus Flash Technology, Inc. | Low voltage, low current hot-hole injection erase and hot-electron programmable flash memory with enhanced endurance |
US5912844A (en) | 1998-01-28 | 1999-06-15 | Macronix International Co., Ltd. | Method for flash EEPROM data writing |
US6359810B1 (en) | 1998-03-13 | 2002-03-19 | Atmel Corporation | Page mode erase in a flash memory array |
US6118705A (en) | 1998-03-13 | 2000-09-12 | Atmel Corporation | Page mode erase in a flash memory array |
US6128224A (en) | 1998-07-29 | 2000-10-03 | Motorola, Inc. | Method and apparatus for writing an erasable non-volatile memory |
US5995417A (en) | 1998-10-20 | 1999-11-30 | Advanced Micro Devices, Inc. | Scheme for page erase and erase verify in a non-volatile memory array |
EP1703520B1 (en) | 1999-02-01 | 2011-07-27 | Renesas Electronics Corporation | Semiconductor integrated circuit and nonvolatile memory element |
KR100347866B1 (ko) | 1999-03-08 | 2002-08-09 | 삼성전자 주식회사 | 낸드 플래시 메모리 장치 |
KR100295598B1 (ko) | 1999-05-03 | 2001-07-12 | 윤종용 | 반도체 메모리 장치 및 그 장치의 디코더 |
US6552580B2 (en) | 1999-05-24 | 2003-04-22 | Level One Communications Inc. | Bias technique for operating point control in multistage circuits |
US6111787A (en) | 1999-10-19 | 2000-08-29 | Advanced Micro Devices, Inc. | Address transistion detect timing architecture for a simultaneous operation flash memory device |
US7082056B2 (en) | 2004-03-12 | 2006-07-25 | Super Talent Electronics, Inc. | Flash memory device and architecture with multi level cells |
US6351429B1 (en) * | 2000-06-29 | 2002-02-26 | International Business Machines Corp. | Binary to binary-encoded-ternary (BET) decoder using reordered logic |
TW540053B (en) | 2000-07-13 | 2003-07-01 | Samsung Electronics Co Ltd | Row decoder of a NOR-type flash memory device |
FR2816751A1 (fr) | 2000-11-15 | 2002-05-17 | St Microelectronics Sa | Memoire flash effacable par page |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
JP3875570B2 (ja) | 2001-02-20 | 2007-01-31 | 株式会社東芝 | 半導体記憶装置のデータ書き込み方法及び半導体記憶装置 |
US6990535B1 (en) * | 2001-02-26 | 2006-01-24 | 3Com Corporation | Device and method for multi-ported, single bus-mastering data buffer management |
US6732221B2 (en) | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
US6522580B2 (en) | 2001-06-27 | 2003-02-18 | Sandisk Corporation | Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states |
US7042770B2 (en) | 2001-07-23 | 2006-05-09 | Samsung Electronics Co., Ltd. | Memory devices with page buffer having dual registers and method of using the same |
US6671204B2 (en) | 2001-07-23 | 2003-12-30 | Samsung Electronics Co., Ltd. | Nonvolatile memory device with page buffer having dual registers and methods of using the same |
US6456528B1 (en) | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US6714457B1 (en) | 2001-09-19 | 2004-03-30 | Aplus Flash Technology, Inc. | Parallel channel programming scheme for MLC flash memory |
KR100454119B1 (ko) | 2001-10-24 | 2004-10-26 | 삼성전자주식회사 | 캐쉬 기능을 갖는 불 휘발성 반도체 메모리 장치 및 그것의 프로그램, 읽기, 그리고 페이지 카피백 방법들 |
US6977847B2 (en) * | 2001-11-23 | 2005-12-20 | M-Systems Flash Disk Pioneers Ltd. | Detecting partially erased units in flash devices |
US6894931B2 (en) | 2002-06-20 | 2005-05-17 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device |
JP4270832B2 (ja) | 2002-09-26 | 2009-06-03 | 株式会社東芝 | 不揮発性半導体メモリ |
ITMI20022240A1 (it) | 2002-10-22 | 2004-04-23 | Atmel Corp | Architettura di memoria flash con cancellazione di modo |
US6847550B2 (en) | 2002-10-25 | 2005-01-25 | Nexflash Technologies, Inc. | Nonvolatile semiconductor memory having three-level memory cells and program and read mapping circuits therefor |
JP3866650B2 (ja) | 2002-11-29 | 2007-01-10 | 株式会社東芝 | 不揮発性半導体記憶装置及びその消去ベリファイ方法 |
US7308524B2 (en) | 2003-01-13 | 2007-12-11 | Silicon Pipe, Inc | Memory chain |
KR100514415B1 (ko) | 2003-01-22 | 2005-09-09 | 주식회사 하이닉스반도체 | 낸드 플래시 메모리의 페이지 버퍼 |
JP2004348789A (ja) | 2003-05-20 | 2004-12-09 | Sharp Corp | 半導体記憶装置及び携帯電子機器 |
US6922770B2 (en) * | 2003-05-27 | 2005-07-26 | Sony Corporation | Memory controller providing dynamic arbitration of memory commands |
US6947331B1 (en) | 2003-06-16 | 2005-09-20 | National Semiconductor Corporation | Method of erasing an EEPROM cell utilizing a frequency/time domain based erased signal |
JP4315767B2 (ja) | 2003-09-04 | 2009-08-19 | 株式会社ルネサステクノロジ | 不揮発性半導体記憶装置 |
JP4287235B2 (ja) | 2003-10-09 | 2009-07-01 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US7730368B2 (en) * | 2003-10-31 | 2010-06-01 | Sandisk Il Ltd. | Method, system and computer-readable code for testing of flash memory |
US8112574B2 (en) * | 2004-02-26 | 2012-02-07 | Super Talent Electronics, Inc. | Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes |
KR100562134B1 (ko) | 2004-01-09 | 2006-03-21 | 주식회사 하이닉스반도체 | 플래시 메모리 소자의 페이지 버퍼 |
US7350044B2 (en) * | 2004-01-30 | 2008-03-25 | Micron Technology, Inc. | Data move method and apparatus |
US8019928B2 (en) * | 2004-02-15 | 2011-09-13 | Sandisk Il Ltd. | Method of managing a multi-bit-cell flash memory |
US7716413B2 (en) * | 2004-02-15 | 2010-05-11 | Sandisk Il Ltd. | Method of making a multi-bit-cell flash memory |
JP4405405B2 (ja) | 2004-04-15 | 2010-01-27 | 株式会社東芝 | 不揮発性半導体記憶装置 |
KR100575336B1 (ko) | 2004-04-20 | 2006-05-02 | 에스티마이크로일렉트로닉스 엔.브이. | 듀얼 레지스터를 갖는 페이지 버퍼, 이를 구비한 반도체메모리 장치 및 그의 프로그램 방법 |
KR100567912B1 (ko) | 2004-05-28 | 2006-04-05 | 주식회사 하이닉스반도체 | 플래시 메모리 장치의 페이지 버퍼 및 이를 이용한 데이터프로그램 방법 |
US7251158B2 (en) | 2004-06-10 | 2007-07-31 | Spansion Llc | Erase algorithm for multi-level bit flash memory |
US7148742B2 (en) | 2004-07-07 | 2006-12-12 | Micron Technology, Inc. | Power supply voltage detection circuitry and methods for use of the same |
KR100609568B1 (ko) | 2004-07-15 | 2006-08-08 | 에스티마이크로일렉트로닉스 엔.브이. | 비휘발성 메모리 장치의 페이지 버퍼 및 이를 이용한프로그램 방법과 독출 방법 |
US7272050B2 (en) | 2004-08-10 | 2007-09-18 | Samsung Electronics Co., Ltd. | Non-volatile memory device and erase method of the same |
JP2006164408A (ja) | 2004-12-08 | 2006-06-22 | Toshiba Corp | 不揮発性半導体記憶装置及びそのデータ消去方法。 |
JP4768256B2 (ja) | 2004-12-16 | 2011-09-07 | 株式会社東芝 | 半導体記憶装置 |
US7970984B2 (en) * | 2004-12-23 | 2011-06-28 | Sandisk Il Ltd. | Method for using a multi-bit cell flash device in a system not designed for the device |
US7308525B2 (en) * | 2005-01-10 | 2007-12-11 | Sandisk Il Ltd. | Method of managing a multi-bit cell flash memory with improved reliablility and performance |
KR100672122B1 (ko) | 2005-03-10 | 2007-01-19 | 주식회사 하이닉스반도체 | 소비 전력이 감소된 플래시 메모리 장치의 페이지 버퍼 회로 |
JP4928752B2 (ja) | 2005-07-14 | 2012-05-09 | 株式会社東芝 | 半導体記憶装置 |
KR100732628B1 (ko) * | 2005-07-28 | 2007-06-27 | 삼성전자주식회사 | 멀티-비트 데이터 및 싱글-비트 데이터를 저장하는 플래시메모리 장치 |
US7652922B2 (en) | 2005-09-30 | 2010-01-26 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
US20070076502A1 (en) | 2005-09-30 | 2007-04-05 | Pyeon Hong B | Daisy chain cascading devices |
US7583545B2 (en) * | 2006-05-21 | 2009-09-01 | Sandisk Il Ltd | Method of storing data in a multi-bit-cell flash memory |
US7561472B2 (en) | 2006-09-11 | 2009-07-14 | Micron Technology, Inc. | NAND architecture memory with voltage sensing |
US7593259B2 (en) * | 2006-09-13 | 2009-09-22 | Mosaid Technologies Incorporated | Flash multi-level threshold distribution scheme |
KR100809320B1 (ko) * | 2006-09-27 | 2008-03-05 | 삼성전자주식회사 | 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑정보 관리 장치 및 방법 |
WO2008042403A2 (en) * | 2006-10-03 | 2008-04-10 | Inapac Technologies, Inc. | Memory accessing circuit system |
KR100773400B1 (ko) * | 2006-10-26 | 2007-11-05 | 삼성전자주식회사 | 멀티 비트 플래시 메모리 장치 |
KR20070057716A (ko) | 2007-04-02 | 2007-06-07 | 김경섭 | 멀티 레벨 셀을 갖는 플래시 메모리 장치의 프로그램 방법 |
US7646636B2 (en) * | 2007-02-16 | 2010-01-12 | Mosaid Technologies Incorporated | Non-volatile memory with dynamic multi-mode operation |
US7747903B2 (en) * | 2007-07-09 | 2010-06-29 | Micron Technology, Inc. | Error correction for memory |
US8001316B2 (en) * | 2007-12-27 | 2011-08-16 | Sandisk Il Ltd. | Controller for one type of NAND flash memory for emulating another type of NAND flash memory |
US8068365B2 (en) * | 2008-02-04 | 2011-11-29 | Mosaid Technologies Incorporated | Non-volatile memory device having configurable page size |
US7843725B2 (en) | 2008-06-11 | 2010-11-30 | Micron Technology, Inc. | M+L bit read column architecture for M bit memory cells |
US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
KR20100010355A (ko) * | 2008-07-22 | 2010-02-01 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 및 소거 방법 |
KR20100013847A (ko) * | 2008-08-01 | 2010-02-10 | 삼성전자주식회사 | 메모리 장치 및 메모리 프로그래밍 방법 |
US8407400B2 (en) * | 2008-11-12 | 2013-03-26 | Micron Technology, Inc. | Dynamic SLC/MLC blocks allocations for non-volatile memory |
EP2317442A1 (en) * | 2009-10-29 | 2011-05-04 | Thomson Licensing | Solid state memory with reduced number of partially filled pages |
US8656256B2 (en) * | 2010-07-07 | 2014-02-18 | Stec, Inc. | Apparatus and method for multi-mode operation of a flash memory device |
WO2012009812A1 (en) * | 2010-07-21 | 2012-01-26 | Mosaid Technologies Incorporated | Multipage program scheme for flash memory |
US20120155167A1 (en) * | 2010-12-21 | 2012-06-21 | Kabushiki Kaisha Toshiba | Non-volatile storage device, information processing system and write control method of non-volatile storage device |
US9588883B2 (en) | 2011-09-23 | 2017-03-07 | Conversant Intellectual Property Management Inc. | Flash memory system |
US9417958B2 (en) * | 2012-06-06 | 2016-08-16 | Silicon Motion Inc. | Flash memory control method, controller and electronic apparatus |
US20160019161A1 (en) * | 2013-03-12 | 2016-01-21 | Hewlett-Packard Development Company, L.P. | Programmable address mapping and memory access operations |
US9607696B2 (en) * | 2013-04-25 | 2017-03-28 | Technion Research And Development Foundation Ltd. | Minimal maximum-level programming |
US9099185B2 (en) * | 2013-12-20 | 2015-08-04 | Seagate Technology Llc | Using different programming modes to store data to a memory cell |
US9696935B2 (en) * | 2015-04-24 | 2017-07-04 | Kabushiki Kaisha Toshiba | Storage device that secures a block for a stream or namespace and system having the storage device |
US10410724B2 (en) * | 2016-04-08 | 2019-09-10 | SK Hynix Inc. | Erase page indicator |
-
2012
- 2012-04-25 US US13/455,780 patent/US9588883B2/en active Active
- 2012-09-19 CA CA2849862A patent/CA2849862A1/en not_active Abandoned
- 2012-09-19 WO PCT/CA2012/000860 patent/WO2013040681A1/en active Application Filing
- 2012-09-19 CN CN201280057055.5A patent/CN103946923A/zh active Pending
- 2012-09-19 KR KR1020147010728A patent/KR20140072118A/ko not_active Application Discontinuation
- 2012-09-19 EP EP12834560.0A patent/EP2758964A4/en not_active Withdrawn
- 2012-09-19 JP JP2014531051A patent/JP2014530421A/ja active Pending
- 2012-09-20 TW TW101134476A patent/TW201329987A/zh unknown
-
2015
- 2015-01-23 HK HK15100786.1A patent/HK1200589A1/zh unknown
-
2017
- 2017-01-30 US US15/419,246 patent/US9996274B2/en active Active
-
2018
- 2018-05-10 US US15/976,255 patent/US10303370B2/en active Active
-
2019
- 2019-04-18 US US16/387,875 patent/US10705736B2/en active Active
-
2020
- 2020-06-03 US US16/891,402 patent/US11150808B2/en active Active
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI687809B (zh) * | 2018-02-13 | 2020-03-11 | 點序科技股份有限公司 | 快閃記憶體儲存裝置與寫入管理方法 |
TWI693601B (zh) * | 2019-04-30 | 2020-05-11 | 大陸商長江存儲科技有限責任公司 | 電子設備和管理快閃記憶體的讀取準位的方法 |
US11016705B2 (en) | 2019-04-30 | 2021-05-25 | Yangtze Memory Technologies Co., Ltd. | Electronic apparatus and method of managing read levels of flash memory |
US11567701B2 (en) | 2019-04-30 | 2023-01-31 | Yangtze Memory Technologies Co., Ltd. | Electronic apparatus and method of managing read levels of flash memory |
US11094372B1 (en) | 2020-05-07 | 2021-08-17 | Powerchip Semiconductor Manufacturing Corporation | Partial writing method of dram memoryl device to reduce power consumption associated with large voltage swing of internal input/output lines |
US11861212B2 (en) | 2022-02-24 | 2024-01-02 | Silicon Motion, Inc. | Flash memory device, controller, and method capable of performing access operation upon data unit(s) of multiple planes of flash memory device in response one simplified command sequence |
US11935595B2 (en) | 2022-02-24 | 2024-03-19 | Silicon Motion, Inc. | Flash memory device, controller, and method capable of performing access operation upon data unit(s) of multiple planes of flash memory device in response one simplified command sequence |
TWI838793B (zh) * | 2022-02-24 | 2024-04-11 | 慧榮科技股份有限公司 | 用於儲存裝置中並通過特定通訊介面耦接到儲存裝置的快閃記憶體裝置之快閃記憶體控制器及方法 |
US11972146B2 (en) | 2022-02-24 | 2024-04-30 | Silicon Motion, Inc. | Flash memory controller and method capable of sending read command or data toggle command to ask for flash memory device return more plane data of different planes |
US11977752B2 (en) | 2022-02-24 | 2024-05-07 | Silicon Motion, Inc. | Flash memory controller and method capable of sending data toggle set-feature signal to enable, disable, or configure data toggle operation of flash memory device |
US11977776B2 (en) | 2022-02-24 | 2024-05-07 | Silicon Motion, Inc. | Flash memory controller and method capable of sending read command or data toggle command to ask for flash memory device return more plane data of different planes |
Also Published As
Publication number | Publication date |
---|---|
US10303370B2 (en) | 2019-05-28 |
US20200363953A1 (en) | 2020-11-19 |
KR20140072118A (ko) | 2014-06-12 |
CA2849862A1 (en) | 2013-03-28 |
WO2013040681A1 (en) | 2013-03-28 |
US20130080730A1 (en) | 2013-03-28 |
US20180329627A1 (en) | 2018-11-15 |
US9996274B2 (en) | 2018-06-12 |
US20190303004A1 (en) | 2019-10-03 |
HK1200589A1 (zh) | 2015-08-07 |
US20170206009A1 (en) | 2017-07-20 |
US11150808B2 (en) | 2021-10-19 |
CN103946923A (zh) | 2014-07-23 |
EP2758964A4 (en) | 2015-07-15 |
JP2014530421A (ja) | 2014-11-17 |
US10705736B2 (en) | 2020-07-07 |
US9588883B2 (en) | 2017-03-07 |
EP2758964A1 (en) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11150808B2 (en) | Flash memory system | |
US7679965B2 (en) | Flash memory with improved programming precision | |
CN111258793B (zh) | 存储器控制器及其操作方法 | |
US20150178000A1 (en) | Method of managing a memory, and a memory system | |
US11262939B2 (en) | Memory system, memory controller, and operation method | |
US11321170B2 (en) | Memory system, memory controller, and method for operating memory system | |
US11301174B2 (en) | Memory system, memory controller and method for operating memory system | |
KR20220013661A (ko) | 메모리 시스템, 메모리 장치 및 메모리 장치의 동작 방법 | |
US11474726B2 (en) | Memory system, memory controller, and operation method thereof | |
US11237767B2 (en) | Memory system, memory controller and method for operating memory controller | |
KR20200138894A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 장치 | |
US11709610B2 (en) | Memory system, memory controller and operating method | |
US11573715B2 (en) | Memory cell level assignment using optimal level permutations in a non-volatile memory | |
US11561853B2 (en) | Memory system and memory controller determining a magnitude of a power supplied to the memory controller when error has occurred in target data | |
US11544204B2 (en) | Memory system, memory controller and method for operating memory controller | |
US20230006673A1 (en) | Memory system and memory controller | |
US20240211153A1 (en) | Memory system for executing a target operation based on a program state of a super memory block and operating method thereof | |
US20220058125A1 (en) | Memory system, memory controller and method for operating memory system | |
KR20210073754A (ko) | 시스템, 컨트롤러 및 시스템의 동작 방법 |