TWI812915B - 由快閃記憶體單元構成之eeprom模擬器中的損耗均衡 - Google Patents

由快閃記憶體單元構成之eeprom模擬器中的損耗均衡 Download PDF

Info

Publication number
TWI812915B
TWI812915B TW110101754A TW110101754A TWI812915B TW I812915 B TWI812915 B TW I812915B TW 110101754 A TW110101754 A TW 110101754A TW 110101754 A TW110101754 A TW 110101754A TW I812915 B TWI812915 B TW I812915B
Authority
TW
Taiwan
Prior art keywords
word
volatile memory
index
sector
bit
Prior art date
Application number
TW110101754A
Other languages
English (en)
Other versions
TW202203232A (zh
Inventor
林光明
錢曉州
皮小燕
維平 蒂瓦里
丁鎮琳
Original Assignee
美商超捷公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商超捷公司 filed Critical 美商超捷公司
Publication of TW202203232A publication Critical patent/TW202203232A/zh
Application granted granted Critical
Publication of TWI812915B publication Critical patent/TWI812915B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • G11C16/0416Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing a single floating gate transistor and no select transistor, e.g. UV EPROM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2263Write conditionally, e.g. only if new data and old data differ

Abstract

本發明涉及用於在模擬EEPROM的快閃記憶體裝置中實現損耗均衡的系統和方法。實施方案利用一索引陣列,其儲存模擬EEPROM中每個邏輯位址的索引字。每個索引字中的每個位元都與模擬EEPROM中實體字的實體位址相關聯,並且索引字跟蹤哪個實體字是特定邏輯位址的當前字。使用索引字可實現考慮到對邏輯位址下程式化命令的損耗均衡演算法,以導致:(i)如果儲存在當前字中的數據不包含與要儲存的數據中的「0」相對應的「1」,則跳過程式化操作,(ii)在某些情況下對當前字的一或多個位元進行重新程式化,或者(iii)在某些情況下轉移到下一個實體字並對其進行程式化。

Description

由快閃記憶體單元構成之EEPROM模擬器中的損耗均衡
本申請案主張2020年2月21日申請且標題為「由快閃記憶體單元構成之EEPROM模擬器中的損耗均衡」之中國專利申請案第202010106388.9號及2020年8月28日申請且標題為「Wear Leveling In EEPROM Emulator Formed Of Flash Memory Cells」之美國專利申請案第17/006,550號的優先權。
本發明涉及用於在由快閃記憶體單元構成之電子抹除式可程式化唯讀記憶體(EEPROM)模擬器中實現損耗均衡的系統和方法。
非揮發性記憶體單元在本領域中是熟知的。圖1中示出現有技術的第一類型非揮發性記憶體單元110。記憶體單元110包括第一導電類型(諸如P型)的半導體基板112。基板112具有表面,在該表面上形成第二導電類型(諸如N型)的第一區114(也稱為源極線SL端子),並且第一區114通常連接到源極線(未示出)。同樣為N型的第二區116(也稱為汲極線)形成在基板112的該表面上。第一區114和第二區116之間是溝道區118。位元線BL端子120連接到第二區116,並且通常連接到位元線(未示出)。字線WL端子122位於溝道區118的第一部分上方並與其絕緣,並通常連接到字線(未示出)。字線端子122幾乎不與或完全不與第二區116重疊。浮閘FG 124在溝道區118的另一部分上方。浮閘124與該另一部分絕緣,並且與字線端子122相鄰並絕緣。浮閘124還與第一區114相鄰。浮閘124可與第一區114顯著地重疊,以提供從第一區114到浮閘124的強耦合。
現有技術的非揮發性記憶體單元110的抹除和程式化的一個示例性操作如下。通過福勒-諾德海姆隧穿機制對非揮發性記憶體單元110進行抹除,方法是在字線端子122上施加高電壓並且在位元線端子120和源極線端子114上施加零伏。電子從浮閘124隧穿到字線端子122中,使得浮閘124帶正電,從而在讀取條件下導通非揮發性記憶體單元110。所得的單元抹除狀態被稱為「1」狀態。通過源極側熱電子程式化機制對單元110進行程式化,方法是在源極線114上施加高電壓,在字線端子122上施加低電壓,以及在位元線端子120上施加程式化電流。流過字線端子122與浮閘124之間的間隙的電子的一部分獲得足夠的能量以注入到浮閘124中,使得浮閘124帶負電,從而在讀取條件下關斷非揮發性記憶體單元110。所得的非揮發性記憶體單元程式化狀態被稱為「0」狀態。
可用於記憶體單元110中的讀取、程式化、抹除和待機操作的示例性電壓在下表1中示出:
表1
操作 WL BL SL
讀取 Vwlrd Vblrd 0V
程式化 Vwlp Iprog/Vinh(未選) Vslp
抹除 Vwler 0V 0V
待機 0V 0V 0V
Vwlrd約2-3V Vblrd約0.8-2V Vwlp約1-2V Vwler約11-13V Vslp約9-10V Iprog約1-3ua Vinh約2V
圖2中示出現有技術的第二類型非揮發性記憶體單元210。非揮發性記憶體單元210包括第一導電類型(諸如P型)的半導體基板212。基板212具有表面,在該表面上形成第二導電類型(諸如N型)的第一區214(也稱為源極線SL端子),並且第一區214通常連接到源極線(未示出)。同樣為N型的第二區216(也稱為汲極線)形成在基板212的該表面上。第一區214和第二區216之間是溝道區218。位元線BL端子220連接到第二區216,並且通常連接到位元線(未示出)。字線WL端子222位於溝道區218的第一部分上方並與其絕緣,並通常連接到字線(未示出)。字線端子222幾乎不與或完全不與第二區216重疊。浮閘FG 224在溝道區218的另一部分上方。浮閘224與該另一部分絕緣,並且與字線端子222相鄰並絕緣。浮閘224還與第一區214相鄰。浮閘224可與第一區214重疊以提供第一區214到浮閘224的耦合。耦合閘CG端子(也稱為控制閘端子)226在浮閘224上方並與其絕緣,並且也與字線端子222絕緣,並且通常連接到耦合閘或控制閘(未示出)。
現有技術的非揮發性記憶體單元210的抹除和程式化的一個示例性操作如下。通過福勒-諾德海姆隧穿機制對非揮發性記憶體單元210進行抹除,方法是在字線端子222上施加高電壓,同時其他端子的電壓等於零伏。電子從浮閘224隧穿到字線端子222中而帶正電,從而在讀取條件下導通單元210。所得的非揮發性記憶體單元抹除狀態被稱為「1」狀態。通過源極側熱電子程式化機制對非揮發性記憶體單元210進行程式化,方法是在耦合閘端子226上施加高電壓,在源極線端子214上施加高電壓,以及在位元線端子220上施加程式化電流。流過字線端子222與浮閘224之間的間隙的電子的一部分獲得足夠的能量以注入到浮閘224中,使得浮閘224帶負電,從而在讀取條件下關斷非揮發性記憶體單元210。所得的非揮發性記憶體單元程式化狀態被稱為「0」狀態。
可用於記憶體單元210中的讀取、程式化、抹除和待機操作的示例性電壓在下表2中示出:
表2
操作 WL WL-未選 BL BL-未選 CG CG-未選 相同扇區 CG-未選 SL SL-未選
讀取 1.0-3V 0V 0.6-2V 0V 0-2.6V 0-2.6V 0-2.6V 0V 0V
抹除 11-10V 0V 0V 0V 0V 0V 0V 0V 0V
程式化 1V 0V 1uA Vinh 8-11V 0-2.6V 0-2.6V 4.5-5V 0-1V
可用於非揮發性記憶體單元210中的讀取、程式化和抹除操作的另一組示例性電壓(當負電壓可用於讀取和程式化操作時)在下表3中示出:
表3
操作 WL WL-未選 BL BL-未選 CG CG-未選相同扇區 CG-未選 SL SL-未選
讀取 1.0-2V -0.5V/0V 0.6-2V 0V 0-2.6V 0-2.6V 0-2.6V 0V 0V
抹除 11-10V 0V 0V 0V 0V 0V 0V 0V 0V
程式化 1V -0.5V/0V 1uA Vinh 8-11V 0-2.6V 0-2.6V 4.5-5V 0-1V
可用於非揮發性記憶體單元210中的讀取、程式化和抹除操作的另一組示例性電壓(當負電壓可用於讀取、程式化和抹除操作時)在下表4中示出:
表4
操作 WL WL-未選 BL BL-未選 CG CG-未選 相同扇區 CG-未選 SL SL-未選
讀取 1.0-2V -0.5V/0V 0.6-2V 0V 0-2.6V 0-2.6V 0-2.6V 0V 0V
抹除 9-6V -0.5V/0V 0V 0V -(5-9)V 0V 0V 0V 0V
程式化 1V -0.5V/0V 1uA Vinh 8-9V 0-2.6V 0-2.6V 4.5-5V 0-1V
圖3中示出了第三類型的非揮發性記憶體單元310。非揮發性記憶體單元310包括第一導電類型(諸如P型)的半導體基板312。基板312具有表面,在該表面上形成第二導電類型(諸如N型)的第一區314(也稱為源極線SL端子),並且第一區314通常連接到源極線(未示出)。同樣為N型的第二區316(也稱為汲極線)形成在基板312的該表面上。第一區314和第二區316之間是溝道區318。位元線BL端子320連接到第二區316,並且通常連接到位元線(未示出)。字線WL端子322位於溝道區318的第一部分上方並與其絕緣,並通常連接到字線(未示出)。字線端子322幾乎不與或完全不與第二區316重疊。浮閘FG 324在溝道區318的另一部分上方。浮閘324與該另一部分絕緣,並且與字線端子322相鄰並絕緣。浮閘324還與第一區314相鄰。浮閘324可與第一區314重疊以提供第一區314到浮閘324的耦合。耦合閘CG端子(也稱為控制閘端子)326在浮閘324上方並與其絕緣,並且通常連接到耦合閘線或控制閘線(未示出)。抹除閘EG端子328在第一區314上方與浮閘324和耦合閘端子326相鄰並絕緣,並且通常連接到抹除閘線(未示出)。浮閘324的頂部拐角可指向T形抹除閘328的內側拐角以提高抹除效率。抹除閘328也與第一區314絕緣。非揮發性記憶體單元310在美國專利第7,868,375號中進行了更具體的描述,該專利全文以引用方式併入本文中。
現有技術非揮發性記憶體單元310的抹除和程式化的一個示例性操作如下。通過福勒-諾德海姆隧穿機制對非揮發性記憶體單元310進行抹除,方法是在抹除閘端子328上施加高電壓,同時其他端子的電壓等於零伏。電子從浮閘324隧穿到抹除閘端子328中,使得浮閘324帶正電,從而在讀取條件下導通非揮發性記憶體單元310。所得的非揮發性記憶體單元抹除狀態被稱為「1」狀態。通過源極側熱電子程式化機制對非揮發性記憶體單元310進行程式化,方法是在耦合閘端子326上施加高電壓,在源極線端子314上施加高電壓,在抹除閘端子328上施加中電壓,以及在位元線端子320上施加程式化電流。流過字線端子322與浮閘324之間間隙的電子的一部分獲得足夠的能量以注入到浮閘324中,使得浮閘324帶負電,從而在讀取條件下關斷非揮發性記憶體單元310。所得的非揮發性記憶體單元程式化狀態被稱為「0」狀態。
可用於非揮發性記憶體單元310中的讀取、程式化和抹除操作的示例性電壓在下表5中示出:
表5
操作 WL WL- 未選 BL BL- 未選 CG CG-未選 相同扇區 CG- 未選 EG EG- 未選 SL SL- 未選
讀取 1.0-2V 0V 0.6-2V 0V 0-2.6V 0-2.6V 0-2.6V 0-2.6V 0-2.6V 0V 0V
抹除 0V 0V 0V 0V 0V 0V 0V 11.5-12V 0-2.6V 0V 0V
程式化 1V 0V 1uA Vinh 10-11V 0-5V 0-2.6V 4.5-8V 0-2.6V 4.5-5V 0-1V
對於程式化操作,EG電壓可被施加得比SL電壓(例如5V)高得多(例如8V)以加強程式化操作。在這種情況下,以較高電壓(CG抑制電壓)(例如6V)施加未選CG程式化電壓,以減少共享所選非揮發性記憶體單元的相同EG閘328的相鄰記憶體單元的非期望的抹除效果。
可用於非揮發性記憶體單元310中的讀取、程式化和抹除操作的另一組示例性電壓(當負電壓可用於讀取和程式化操作時)在下表6中示出:
表6
操作 WL WL- 未選 BL BL- 未選 CG CG-未 選相同 扇區 CG- 未選 EG EG- 未選 SL SL- 未選
讀取 1.0-2V -0.5V/0V 0.6-2V 0V 0-2.6V 0-2.6V 0-2.6V 0-2.6V 0-2.6V 0V 0V
抹除 0V 0V 0V 0V 0V 0V 0V 11.5-12V 0-2.6V 0V 0V
程式 化 1V -0.5V/0V 1uA Vinh 10-11V 0-2.6V 0-2.6V 4.5-5V 0-2.6V 4.5-5V 0-1V
可用於非揮發性記憶體單元310中的讀取、程式化和抹除操作的另一組示例性電壓(當負電壓可用於讀取、程式化和抹除操作時)在下表7中示出:
表7
操作 WL WL- 未選 BL BL- 未選 CG CG-未 選相同 扇區 CG- 未選 EG EG- 未選 SL SL- 未選
讀取 1.0-2V -0.5V/0V 0.6-2V 0V 0-2.6V 0-2.6V 0-2.6V 0-2.6V 0-2.6V 0V 0V
抹除 0V -0.5V/0V 0V 0V -(5-9)V 0V 0V 9-8V 0-2.6V 0V 0V
程式 化 1V -0.5V/0V 1uA Vinh 8-9V 0-5V 0-2.6V 8-9V 0-2.6V 4.5-5V 0-1V
對於程式化操作,EG電壓被施加得比SL電壓(例如5V)高得多(例如8-9V)以加強程式化操作。在這種情況下,以較高電壓(CG抑制電壓)(例如5V)施加未選CG程式化電壓,以減少共享所選非揮發性記憶體單元310的相同EG閘328的相鄰記憶體單元的非期望的抹除效果。
圖1至圖3所示類型的非揮發性記憶體單元通常被稱為快閃記憶體單元。快閃記憶體單元通常被排列成列和行以形成陣列。因為字線控制整列的記憶體單元,並且(如圖3所示類型的)抹除閘若存在時是由成對的記憶體單元列共享,所以抹除操作是一次對整列或成對的列進行。因此,在使用圖1至圖3所示類型的記憶體單元的現有技術記憶體系統中,還不可能一次僅抹除一個位元組的數據或一個位元組對的數據。
現有技術中已知的還有EEPROM裝置。與圖1至圖3的快閃記憶體單元一樣,EEPROM裝置是非揮發性記憶體裝置。但在EEPROM裝置中,單元可一次一個位元組地抹除,這與使用圖1至圖3的記憶體單元的系統不同。EEPROM單元尺寸通常比快閃記憶體單元尺寸大得多。
申請人先前在2014年8月8日申請、標題為「Flash Memory System With EEPROM Functionality」且核發為美國專利第9,286,982號的美國專利申請案第14/455,698號中,公開了一種可以模擬EEPROM裝置且能夠逐個位元組地被抹除的快閃記憶體裝置,通過引用方式將其併入本文。
圖4至圖6示出了現有技術中可用作EEPROM模擬器的快閃記憶體系統的一個實施方案,其與美國專利申請案第14/455,698號的公開內容一致。
圖4示出了包括位元組401和402的示例性字400。位元組401包括非揮發性記憶體單元403-0、403-1、…、和403-7。位元組402包括非揮發性記憶體單元403-8、403-9、…、和403-15。因此,每個非揮發性記憶體單元通常儲存1位元(即,「0」或「1」)。8位元構成一個位元組,2個位元組構成一個字。
圖5示出了示例性扇區500,其包括字400-0、400-1、…、和400-15。因此,每個扇區包括兩個相鄰的字列。在該示例中,每列包含8個字。兩個相鄰的字列通常具有單獨的字線,但是具有共享的源極線和/或抹除閘線。
圖6示出了示例性陣列610,其包括扇區500-0、500-1、…、和500-i,其中陣列610包括i+1個扇區。解碼器600通常從非揮發性記憶體系統外部的源接收邏輯位址601。解碼器600輸出實體位址603的控制信號602。實體位址603是記憶體陣列中實體位置的唯一位址,通常包括行號和列號。控制信號602確立實體位址603的列和行。解碼器600可以包括邏輯電路和/或執行軟體的控制器或處理器。
模擬EEPROM裝置的快閃記憶體系統存在不均勻損耗的風險。具體來說,程式化和抹除操作會對實體裝置產生壓力,並且隨著時間的推移,裝置將變得不可用。如果重複使用實體裝置的相同部分,情況尤其如此。此外,這種裝置容易受到一種稱為「程式化干擾」的現象的影響。當非揮發性記憶體單元在被抹除之前被多次程式化時,會發生程式化干擾。在這種情況下,與該非揮發性記憶體單元相鄰的非揮發性記憶體單元,可能會因為在程式化操作期間施加到該單元的電壓而被無意地程式化。當系統不打算這樣做時,這將產生對相鄰的非揮發性記憶體單元進行程式化的非期望效果。
這些問題可以通過實施損耗均衡技術得到至少部分的緩解。圖7示出了可由解碼器600或解碼器600外部邏輯實現的現有技術損耗均衡方法700。在該示例中,扇區500被用作EEPROM字710,它是EEPROM模擬器儲存單個數據字(通常是兩個位元組)的單元。因為扇區500包括16個實體字(400-0、…400-15),這意味著單個EEPROM字710對應於可以儲存它的16個實體位置,即EEPROM字710可以儲存在16個實體位置中的任一個。
在現有技術的損耗均衡方法700中,當對EEPROM字710進行首次程式化時,其數據被寫入字400-0。當EEPROM字710被更新時,不是抹除字400-0並以更新的數據程式化字400-0,而是將更新的數據寫入字400-1。此時,儲存在字400-0中的數據是陳舊的。EEPROM字710的每個後續程式化操作使用扇區500中的下一個字400,直到第16次程式化操作時,字400-15被程式化。此時,自上次抹除操作以來,扇區500中的每個字已經被程式化一次。當命令對EEPROM字710進行另一程式化操作時,系統將執行扇區抹除並抹除扇區500,然後將數據程式化到字400-0中,從而重新開始該過程。本領域普通技術人員將會理解,現有技術的損耗均衡方法700是在扇區500的所有部分中分散「損耗」,而不是將損耗集中在特定位置。
儘管現有技術的損耗均衡方法700是有益的,但它也有一定的局限性。具體來說,它是一種粗略的損耗均衡方法,因為由快閃記憶體裝置構成的EEPROM模擬器能夠進行位元級程式化(而不僅僅是位元組級或字級程式化)。
所需要的是一種用於以充分利用裝置之功能(包括執行位元級程式化的能力)及抵消程式化干擾現象的方式,在模擬EEPROM裝置之快閃記憶體系統中實現損耗均衡的改進的系統和方法。
本發明涉及用於在模擬EEPROM的快閃記憶體裝置中實現損耗均衡的系統和方法。這些實施方案利用索引陣列,其儲存模擬EEPROM中的每個邏輯位址的索引字。每個索引字中的每個位元都與模擬EEPROM中之一實體字的實體位址相關聯,並且該索引字保持追蹤哪個實體字是特定邏輯位址的當前字。使用索引字可實現考慮到對邏輯位址下程式化命令的損耗均衡演算法,以導致:(i)如果儲存在當前字中的數據不包含與要儲存的數據中的「0」相對應的「1」,則跳過程式化操作,(ii)在某些情況下對當前字的一或多個位元進行重新程式化,或者(iii)在某些情況下轉移到下一個實體字並對其進行程式化。
圖8示出了改進的具有損耗均衡的EEPROM模擬系統800。系統800包括索引陣列802、損耗均衡模組804和EEPROM模擬陣列807。索引陣列802接收邏輯位址801並輸出索引字803。損耗均衡模組804接收索引字803、邏輯位址801、命令808(例如,程式化、抹除或讀取命令)和寫入數據809(例如,在程式化操作期間要寫入的數據),並輸出實體位址806的控制信號805。實體位址806是EEPROM模擬陣列807中實體位置的唯一位址,通常包括行號和列號。控制信號805確立實體位址806的列和行,從而使得讀取、抹除或程式化操作能夠在實體位址806發生。索引陣列802包含EEPROM模擬陣列807中每個扇區的單獨索引字。損耗均衡模組804使用執行軟體指令的處理器或控制器、組合邏輯或者其他已知技術來實現。
一個示例如圖9所示。這裡,索引字803對應於EEPROM模擬陣列807中的扇區500。索引字803包括16個索引位元,804-0、804-1、...、804-15。索引位元804-0對應於實體字400-0,索引位元804-1對應於實體字400-1,索引位元804-2對應於實體字400-2,索引位元804-3對應於實體字400-3,索引位元804-4對應於實體字400-4,索引位元804-5對應於實體字400-5,索引位元804-6對應於實體字400-6,索引位元804-7對應於實體字400-7,索引位元804-8對應於實體字400-8,索引位元804-9對應於實體字400-9,索引位元804-10對應於實體字400-10,索引位元804-11對應於實體字400-11,索引位元804-12對應於實體字400-12,索引位元804-13對應於實體字400-13,索引位元804-14對應於實體字400-14,以及索引位元804-14對應於實體字400-15。實體字400-0是扇區500中的第一實體字,實體字400-15是扇區500中的最後實體字。
參考圖10,如果其對應的實體字沒有被使用,則索引字803中的每個特定索引位元804被設置為「1」,並且如果其對應的實體字正在被使用或已經被使用,則被設置為「0」。這裡,位元804-1和804-0被設置為「0」,表示實體字400-1和400-0正在被使用或已經被使用,位元804-0是最低有效位元。在該系統下,包含「0」的最高有效位元對應於最近被最多程式化的當前字,標記為當前字1010,在該示例中是實體字400-1。在這個例子中,實體字400-0先前被使用(當下實體字400-0是當前字1010),但現在是保存「陳舊的」數據。
圖11示出了利用索引陣列802和諸如索引字803的索引字的損耗均衡方法1100。索引陣列802和索引字的使用為系統提供了比現有技術損耗均衡方法700更大的能力,因為當程式化操作發生時,系統不再需要自動進行到下一個字。相反,如下面參考圖12A、圖12B和圖12C更詳細的討論,在某些情況下,系統將對當前字中的某些位元進行程式化,或者如果合適,將跳過對當前字中的某些位元的程式化。
圖12A、圖12B和圖12C示出了關於系統800(先前在圖8中示出)及其如何執行損耗均衡方法1100(先前在圖11中示出)的補充細節。有利的是,本實施方案的EEPROM模擬器執行損耗均衡的同時仍然允許單獨位元程式化。
在步驟1201中,損耗均衡模組804接收命令808、邏輯位址801、索引字803和寫入數據809(當命令808是程式化命令時),並進行到步驟1202。
在步驟1202中,損耗均衡模組804使用邏輯位址801和索引字803讀取EEPROM模擬陣列807中的當前字1010,並進行到步驟1203。
在步驟1203中,損耗均衡模組804確定命令808是否是程式化命令。如果是,則進行到步驟1204。如果否,則進行到步驟1212。
在步驟1204中,損耗均衡模組804基於當前字1010和寫入數據809生成遮罩1220,並進行到步驟1205。根據表8生成遮罩1220:
表8
當前字1010中的位元值 寫入數據809中的位元值 遮罩1220中的位元值 說明
0 0 1 遮罩1220中的位元值「1」意味著該位元將被遮罩並且不被程式化。這裡,該位元被遮罩,因為當前字1010中的位元值已經是「0」,不需要再次程式化。再次程式化該位元可能導致對相鄰單元的程式化干擾。這是對現有技術損耗均衡方法700的改進。
0 1 1 該位元被遮罩,因為程式化操作不能將「0」變為「1」。
1 0 0 該位元未被遮罩,因為程式化操作可以將「1」變為「0」。
1 1 1 該位元被遮罩。不需要對該位元進行任何更改。
在步驟1205中,損耗均衡模組1205確定遮罩1220是否包含至少一個「0」(未遮罩)位元。如果是,則進行到步驟1207。如果否,則進行到步驟1206。
在步驟1206中,損耗均衡模組804跳過程式化操作。它這樣做是因為它已經得出結論,數據809不能通過程式化操作來儲存,因為數據809不包含對應於儲存在當前字1010中的「1」的任何「0」。因為程式化操作只能把「1」變成「0」(而不能把「0」變成「1」),所以通過程式化操作沒能完成什麼。有可能寫入數據809將包含對應於儲存在當前字中的「0」的「1」,並且打算儲存的數據(寫入數據809)和實際儲存的數據(當前字1010)之間可能會存在不匹配。外部系統可選地可以執行讀取-驗證操作,以確保EEPROM字710正確地儲存打算儲存的數據(寫入數據809)。當驗證操作失敗時,外部系統隨後可以執行抹除操作,然後再次程式化寫入數據809。如表8所示,有利的是,一個位元不會被程式化兩次,這防止了對相鄰單元的程式化干擾,並增加了耐久性。
在步驟1207中,損耗均衡模組804確定當前字1010是否是扇區500中的最後實體字。如果是,則進行到步驟1208。如果否,則進行到步驟1209。
在步驟1208中,損耗均衡模組804通過確立實體位址806(這裡是與當前字相關聯的實體位址)的控制信號805並將數據809程式化到根據遮罩1220未被遮罩的那些位元的EEPROM模擬陣列807內的實體位址806中,來將數據809程式化到當前字1010中。有可能寫入數據809將包含對應於儲存在當前字1010中的「0」的「1」,並且在打算儲存的數據(寫入數據809)和實際儲存的數據(當前字1010)之間可能會存在不匹配。外部系統可選地可以執行讀取-驗證操作,以確保EEPROM字710正確地儲存打算儲存的數據(寫入數據809)。當驗證操作失敗時,外部系統隨後可以執行抹除操作,然後再次程式化寫入數據809。值得注意的是,因為自上次抹除操作以來,最後實體字可能已經在先前被程式化過,所以程式化干擾的可能性增加。然而,這是一個可以接受的結果,因為先前的字已經包含「陳舊的數據」,並且如果它的數據受到干擾,它將不會影響系統的完整性。此外,在最後實體字之後沒有後續的實體字,因此不擔心在最後實體字的那一側發生程式化干擾。
在步驟1209中,損耗均衡模組1209確定當前字1010是否包含所有「1」。如果是,則進行到步驟1210。如果否,則進行到步驟1211。
在步驟1210中,損耗均衡模組1209將數據809程式化到當前字1010中。不會發生不匹配,因為在程式化操作之前,當前字1010處於抹除狀態(全部為「1」)。此外,由於當前字1010自從上次被抹除以來還沒有被程式化,所以不存在發生程式化干擾的問題。損耗均衡模組1209通過確立實體位址806(這裡是與當前字1010相關聯的實體位址)的控制信號805,並將數據809程式化到根據遮罩1220未被遮罩的那些位元的EEPROM模擬陣列807內的實體位址806中,來將數據程式化到當前字1010中。
在步驟1211中,損耗均衡模組1211將數據809程式化到下一個字中,並轉移到索引字803中的下一個字。這樣做是因為在步驟1209中,當前字1010被確定為不是抹除狀態(全部為「1」),這意味著當前字1010已經被程式化。實施這種轉移是為了避免發生任何程式化干擾的可能性。損耗均衡模組1211通過確立實體位址806(這裡是與下一個字相關聯的實體位址)的控制信號805,並將數據809程式化到EEPROM模擬陣列807內的實體位址806中,來將數據程式化到下一個字中。通過將下一個字的索引位元從「1」改變為「0」,來移動到索引字803中的下一個位元(這本身需要對索引字803進行程式化操作)。
在步驟1212中,損耗均衡模組804確定命令808是否是抹除命令。如果是,則進行到步驟1213。如果否,則進行到步驟1216。
在步驟1213中,損耗均衡模組804確定當前字是否是扇區500中的最後實體字(意味著當前字是字400-15,其將由為「0」的索引位元804-15表示)。如果是,則進行到步驟1214。如果否,則進行到步驟1215。
在步驟1214中,損耗均衡模組804對扇區500執行扇區抹除,這將導致字400-0、400-1、…、400-15中的所有位元被改變為「1」,並且還將抹除索引字803,使得索引字803中的所有位元將被改變為「1」。
在步驟1215中,損耗均衡模組804跳過抹除操作,並通過將下一個實體字的索引位元從「1」改變為「0」來轉移到索引字803中的下一個位元(這本身需要對索引字803進行程式化操作)。這實際上與抹除相同,因為它進行到下一個字,該字還沒有被程式化並且包含所有的「1」。
在步驟1216中,損耗均衡模組804執行讀取操作,因為它可以推斷命令808是讀取命令。損耗均衡模組通過確立實體位址806(這裡是與當前字1010相關聯的實體位址)的控制信號805,並從EEPROM模擬陣列807中的實體位址806讀取數據,來執行讀取。
本文所述的實施方案相對於現有技術的損耗均衡方法700具有以下優點: ・在實施方案中,每個特定位元在該位元的抹除操作之間被程式化為「0」值的次數不會超過一次,這減少了程式化干擾現象; ・實施方案在執行損耗均衡的同時允許位元程式化,而在現有技術的損耗均衡方法700中僅允許字級程式化;以及 ・當實施方案接收到扇區抹除命令時,它們將轉移到下一個字,而不執行抹除,直到當前字是扇區中的最後一個字。
應當指出,本文所使用的術語「在…上方」和「在…上」兩者包容地包含「直接在…上」(之間未設置中間材料、元件或空間)和「間接在…上」(之間設置有中間材料、元件或空間)。類似地,術語「相鄰」包括「直接相鄰」(之間沒有設置中間材料、元件或空間)和「間接相鄰」(之間設置有中間材料、元件或空間),「安裝到」包括「直接安裝到」(之間沒有設置中間材料、元件或空間)和「間接安裝到」(之間設置有中間材料、元件或空間),以及「電耦合至」包括「直接電耦合至」(之間沒有將元件電連接在一起的中間材料或元件)和「間接電耦合至」(之間有將元件電連接在一起的中間材料或元件)。例如,「在基板上方」形成元件可包括在之間沒有中間材料/元件的情況下在基板上直接形成元件,以及在之間有一個或多個中間材料/元件的情況下在基板上間接形成元件。
110:非揮發性記憶體單元 112:半導體基板 114:第一區 116:第二區 118:溝道區 120:位元線端子 122:字線端子 124:浮閘 210:非揮發性記憶體單元 212:半導體基板 214:第一區 216:第二區 218:溝道區 220:位元線端子 222:字線端子 224:浮閘 226:耦合閘端子 310:非揮發性記憶體單元 312:半導體基板 314:第一區 316:第二區 318:溝道區 320:位元線端子 322:字線端子 324:浮閘 326:耦合閘端子 328:抹除閘端子 400:字 400-0…400-15:字 401:位元組 402:位元組 403-0…403-15:非揮發性記憶體單元 500:扇區 500-0…500-i:扇區 600:解碼器 601:邏輯位址 602:控制信號 603:實體位址 604:數據 610:陣列 700:現有技術損耗均衡方法 710:EEPROM字 800:具有損耗均衡的EEPROM模擬系統 801:邏輯位址 802:索引陣列 803:索引字 804:損耗均衡模組 804-0…804-15:索引位元 805:控制信號 806:實體位址 807:EEPROM模擬陣列 808:命令 809:寫入數據 1010:當前字 1100:損耗均衡方法 1201:步驟 1202:步驟 1203:步驟 1204:步驟 1205:步驟 1206:步驟 1207:步驟 1208:步驟 1209:步驟 1210:步驟 1211:步驟 1212:步驟 1213:步驟 1214:步驟 1215:步驟 1216:步驟 1220:遮罩
圖1是現有技術的非揮發性記憶體單元的剖視圖,本發明的方法可應用於該記憶體單元。
圖2是現有技術的非揮發性記憶體單元的剖視圖,本發明的方法可應用於該記憶體單元。
圖3是現有技術的非揮發性記憶體單元的剖視圖,本發明的方法可應用於該記憶體單元。
圖4示出了形成字的非揮發性記憶體單元。
圖5示出了形成扇區的非揮發性記憶體單元的字。
圖6示出了形成陣列的非揮發性記憶體單元的扇區以及解碼器。
圖7示出了現有技術的損耗均衡方法。
圖8示出了一種損耗均衡系統。
圖9示出了圖8的損耗均衡系統中的示例性索引字。
圖10示出了圖8的損耗均衡系統中的填充的示例性索引字。
圖11示出了一種損耗均衡方法。
圖12A、圖12B和圖12C示出了圖11的損耗平衡方法的補充細節。
400-0…400-15:字
500:扇區
710:EEPROM字
803:索引字
804-0…804-15:索引位元

Claims (16)

  1. 一種具有損耗均衡的EEPROM模擬系統,包括:一EEPROM模擬陣列,其包括一非揮發性記憶體單元陣列;和一損耗均衡模組,其耦合到所述非揮發性記憶體單元陣列,並被配置為:接收一程式化命令、寫入數據和一邏輯位址;基於所述邏輯位址和一索引位元,讀取位於所述非揮發性記憶體單元陣列中非揮發性記憶體單元之實體字扇區中的當前字,所述字的扇區對應於所述邏輯位址並包括一第一實體字、一最後實體字及所述第一實體字和所述最後實體字之間的一或多個實體字;當所述寫入數據對於所述當前字中為「1」的任何位元包含「0」,並且所述當前字是所述扇區中的所述最後實體字時,將所述寫入數據程式化到所述當前字中;當所述寫入數據對於所述當前字中為「1」的位元包含「0」且所述當前字包含所有「1」時,將所述寫入數據程式化到所述當前字中;當所述寫入數據對於所述當前字中為「1」的位元包含「0」且所述當前字不包含所有「1」,並且所述當前字不是所述扇區中的所述最後實體字時,將所述寫入數據程式化到下一個字中;以及比較最近程式化的字中的數據和所述寫入數據,若偵測到差異,進行抹除操作並將所述寫入數據程式化到所述扇區中的所述第一實體字中。
  2. 如請求項1之系統,其中,所述索引位元是索引字中的 位元。
  3. 如請求項2之系統,其中,所述索引字包括一組位元,其中所述索引字中的每個位元對應於所述陣列中的實體字。
  4. 如請求項3之系統,其中,所述索引字中的每個位元指示所述陣列中的對應實體字是否被使用。
  5. 如請求項1之系統,其中,所述扇區包括所述非揮發性記憶體單元陣列中的兩列非揮發性記憶體單元。
  6. 如請求項1之系統,其中,每個所述非揮發性記憶體單元包括一位元線端子、一源極線端子、一字線端子和一浮閘。
  7. 如請求項6之系統,其中,每個所述非揮發性記憶體單元還包括一控制閘。
  8. 如請求項7之系統,其中,每個所述非揮發性記憶體單元還包括一抹除閘。
  9. 一種具有損耗均衡的EEPROM模擬系統,包括:一EEPROM模擬陣列,其包括一非揮發性記憶體單元陣列;和一損耗均衡模組,其耦合到所述非揮發性記憶體單元陣列,並被配置為:接收一抹除命令和一邏輯位址,所述邏輯位址對應於所述非揮發性記憶體單元陣列中非揮發性記憶體單元之實體字扇區,所述扇區包括一第一實體字、一最後實體字及所述第一實體字和所述最後實體字之間的一或多個實體字;當由索引字之值標識的當前字是所述扇區中的所述最後實體字時,抹除所述扇區;以及 當所述當前字不是所述扇區中的所述最後實體字時,修改所述索引字以將所述扇區中的下一個實體字標識為所述當前字。
  10. 如請求項9之系統,其中,所述索引字包括一組位元,其中所述索引字中的每個位元對應於所述陣列中的實體字。
  11. 如請求項10之系統,其中,所述索引字中的每個位元指示所述陣列中的對應實體字是否被使用。
  12. 如請求項11之系統,其中,修改所述索引字的步驟包括針對對應於下一個字的位元位置將「0」程式化到所述索引字中。
  13. 如請求項9之系統,其中,所述扇區包括所述非揮發性記憶體單元陣列中的兩列非揮發性記憶體單元。
  14. 如請求項9之系統,其中,每個所述非揮發性記憶體單元包括一位元線端子、一源極線端子、一字線端子和一浮閘。
  15. 如請求項14之系統,其中,每個所述非揮發性記憶體單元還包括一控制閘。
  16. 如請求項15之系統,其中,每個所述非揮發性記憶體單元還包括一抹除閘。
TW110101754A 2020-02-21 2021-01-18 由快閃記憶體單元構成之eeprom模擬器中的損耗均衡 TWI812915B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
CN202010106388.9 2020-02-21
CN202010106388.9A CN113299333A (zh) 2020-02-21 2020-02-21 由闪存单元构成的eeprom仿真器中的损耗均衡
US17/006,550 US11257555B2 (en) 2020-02-21 2020-08-28 Wear leveling in EEPROM emulator formed of flash memory cells
US17/006,550 2020-08-28
PCT/US2020/048816 WO2021167648A1 (en) 2020-02-21 2020-08-31 Wear leveling in eeprom emulator formed of flash memory cells
WOPCT/US20/48816 2020-08-31

Publications (2)

Publication Number Publication Date
TW202203232A TW202203232A (zh) 2022-01-16
TWI812915B true TWI812915B (zh) 2023-08-21

Family

ID=77317574

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110101754A TWI812915B (zh) 2020-02-21 2021-01-18 由快閃記憶體單元構成之eeprom模擬器中的損耗均衡

Country Status (7)

Country Link
US (2) US11257555B2 (zh)
EP (1) EP4107728A1 (zh)
JP (1) JP7448674B2 (zh)
KR (1) KR20220141864A (zh)
CN (1) CN113299333A (zh)
TW (1) TWI812915B (zh)
WO (1) WO2021167648A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210106753A (ko) * 2020-02-21 2021-08-31 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
CN114756179B (zh) * 2022-06-13 2022-09-27 武汉杰开科技有限公司 基于模拟eeprom的数据写入、读取及管理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286982B2 (en) * 2014-08-08 2016-03-15 Silicon Storage Technology, Inc. Flash memory system with EEPROM functionality
US20190392903A1 (en) * 2018-06-21 2019-12-26 Seiko Epson Corporation Non-volatile memory device, microcomputer, and electronic device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956473A (en) * 1996-11-25 1999-09-21 Macronix International Co., Ltd. Method and system for managing a flash memory mass storage system
US7058755B2 (en) 2003-09-09 2006-06-06 Ballard Power Systems Corporation EEPROM emulation in flash memory
KR101002978B1 (ko) * 2005-12-09 2010-12-22 샌디스크 아이엘 엘티디 플래시 메모리 관리 시스템 및 방법
US20090039410A1 (en) 2007-08-06 2009-02-12 Xian Liu Split Gate Non-Volatile Flash Memory Cell Having A Floating Gate, Control Gate, Select Gate And An Erase Gate With An Overhang Over The Floating Gate, Array And Method Of Manufacturing
US8130554B1 (en) * 2008-09-29 2012-03-06 Emc Corporation Securely erasing flash-based memory
TWI457940B (zh) * 2009-05-15 2014-10-21 Macronix Int Co Ltd 區塊為基礎快閃記憶體之位元組存取
US20130019057A1 (en) * 2011-07-15 2013-01-17 Violin Memory, Inc. Flash disk array and controller
US9251086B2 (en) * 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
JP2017224366A (ja) 2016-06-14 2017-12-21 ルネサスエレクトロニクス株式会社 フラッシュメモリ
US10204057B2 (en) 2016-08-09 2019-02-12 Atmel Corporation Memory emulation mechanism
KR102469539B1 (ko) * 2017-12-22 2022-11-22 삼성전자주식회사 비휘발성 메모리 장치, 비휘발성 메모리 장치의 동작 방법 및 저장 장치
TWI661299B (zh) * 2018-04-30 2019-06-01 大陸商深圳大心電子科技有限公司 記憶體管理方法以及儲存控制器
US10877900B1 (en) * 2019-06-26 2020-12-29 Western Digital Technologies, Inc. Enabling faster and regulated device initialization times

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9286982B2 (en) * 2014-08-08 2016-03-15 Silicon Storage Technology, Inc. Flash memory system with EEPROM functionality
US20190392903A1 (en) * 2018-06-21 2019-12-26 Seiko Epson Corporation Non-volatile memory device, microcomputer, and electronic device

Also Published As

Publication number Publication date
EP4107728A1 (en) 2022-12-28
US11626176B2 (en) 2023-04-11
KR20220141864A (ko) 2022-10-20
US20210264996A1 (en) 2021-08-26
TW202203232A (zh) 2022-01-16
US20220130477A1 (en) 2022-04-28
WO2021167648A1 (en) 2021-08-26
CN113299333A (zh) 2021-08-24
US11257555B2 (en) 2022-02-22
JP2023514308A (ja) 2023-04-05
JP7448674B2 (ja) 2024-03-12

Similar Documents

Publication Publication Date Title
JP5072723B2 (ja) 不揮発性半導体記憶装置
US6553510B1 (en) Memory device including redundancy routine for correcting random errors
US8374038B2 (en) Erase process for use in semiconductor memory device
US8089804B2 (en) Non-volatile semiconductor memory device using weak cells as reading identifier
TWI812915B (zh) 由快閃記憶體單元構成之eeprom模擬器中的損耗均衡
US9093172B2 (en) Method and apparatus for leakage suppression in flash memory in response to external commands
TWI537970B (zh) 半導體記憶裝置及nand型快閃記憶體的程式化方法
US9245644B2 (en) Method and apparatus for reducing erase disturb of memory by using recovery bias
JP2011018397A (ja) Nand型フラッシュメモリ
JP2982676B2 (ja) 不揮発性半導体記憶装置の過消去救済方法
JPH08102198A (ja) 電気的書換え可能な不揮発性半導体記憶装置の初期化方 法
US10013208B2 (en) Method for writing in an EEPROM memory and corresponding memory
US8081520B2 (en) Over erase correction method of flash memory apparatus
JP2010086623A (ja) Nand型フラッシュメモリ
JP2007122640A (ja) 記憶装置
JP6281027B1 (ja) 読み取り専用メモリ機能性を提供するように構成可能なフラッシュメモリ装置
JP2010123208A (ja) Nand型フラッシュメモリ
US20130208539A1 (en) Semiconductor memory device
TWI462106B (zh) 藉由使用回復偏壓來減少記憶體中抹除干擾的方法與裝置
US11307794B2 (en) Memory system, memory controller, and operation method of memory system
JP2007095233A (ja) 不揮発性メモリ
JP2005129167A (ja) 不揮発性半導体記憶装置