欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于在EEPROM存儲(chǔ)器中進(jìn)行寫入的方法和相應(yīng)的存儲(chǔ)器與流程

文檔序號(hào):12274112閱讀:632來(lái)源:國(guó)知局
用于在EEPROM存儲(chǔ)器中進(jìn)行寫入的方法和相應(yīng)的存儲(chǔ)器與流程

本申請(qǐng)要求2015年8月6日提交的法國(guó)申請(qǐng)第1557577號(hào)的優(yōu)先權(quán),據(jù)此將該申請(qǐng)通過(guò)引用包含于此。

技術(shù)領(lǐng)域

本發(fā)明的實(shí)施例涉及一種用于在EEPROM存儲(chǔ)器中進(jìn)行寫入的方法和相應(yīng)的存儲(chǔ)器。



背景技術(shù):

目前人們致力于生產(chǎn)具有越來(lái)越高密度也就是說(shuō)越來(lái)越可觀的存儲(chǔ)器容量例如若干兆比特的EEPROM存儲(chǔ)器。

但是這導(dǎo)致了數(shù)據(jù)傳送時(shí)間的增加。當(dāng)讀取時(shí),數(shù)據(jù)傳送時(shí)間由在總線上讀取的數(shù)據(jù)的傳送決定。當(dāng)寫入時(shí),數(shù)據(jù)傳送時(shí)間由待寫入數(shù)據(jù)在總線上傳送以及寫入操作的持續(xù)時(shí)間來(lái)決定。因此,需要減少這種數(shù)據(jù)傳送時(shí)間。

解決方案包括提高總線的頻率。然而,當(dāng)使用I2C類型也就是說(shuō)具有開漏的總線時(shí)最大頻率受到速度/消耗折衷的限制。實(shí)際上,目前1MHz的值是這種類型總線的最大值。

對(duì)于SPI類型的總線,頻率的最大值沒(méi)有任何真正的限制,但是目前20MHz的頻率是在需要5V電壓供電的集成電路的應(yīng)用中使用的最大頻率。

通常,EEPROM存儲(chǔ)器的寫入操作或循環(huán)需要兩個(gè)步驟,即擦除步驟以及隨后的編程步驟。在擦除步驟中,擦除脈沖全局地擦除(設(shè)置為零)待寫入字節(jié)的所有存儲(chǔ)器單元。在編程步驟中,編程脈沖選擇性地對(duì)必須存儲(chǔ)邏輯1的存儲(chǔ)器單元進(jìn)行編程(設(shè)置為1)。

這些脈沖中的每種脈沖都是毫秒的量級(jí)并且該持續(xù)時(shí)間是由能 夠提供高電壓(例如15V或16V)的制造方法的約束、存儲(chǔ)器的耐久性(例如4百萬(wàn)個(gè)循環(huán))和柵極氧化物的擊穿率之間的折衷得出的。

將編程電壓從16V提高到17V可以使得有可能獲得寫入操作的持續(xù)時(shí)間典型為10%的增益,但是代價(jià)是技術(shù)約束、耐久性可能減少十年以及柵極氧化物的擊穿率可能增加幾十倍。

此外,這種快速寫入模式必須由專用命令(“操作碼”)來(lái)激活并且必須激活有限次數(shù)(例如在工廠中)。

當(dāng)可觀數(shù)量的數(shù)據(jù)必須被寫到N個(gè)頁(yè)面上時(shí),一個(gè)解決方案可以是在一個(gè)單次循環(huán)中同時(shí)擦除這N個(gè)頁(yè)面并順序地對(duì)所有N個(gè)頁(yè)面進(jìn)行逐個(gè)編程。然而,在此同樣地,這種編程模式需要專用命令并且用戶必須確保在接收這種命令之前有關(guān)頁(yè)面處于“已擦除”狀態(tài),因?yàn)槿缛舨蝗恍碌臄?shù)據(jù)將通過(guò)邏輯OR函數(shù)與舊的數(shù)據(jù)結(jié)合。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的實(shí)現(xiàn)模式和實(shí)施例涉及被稱為EEPROM存儲(chǔ)器的電可編程和可擦除只讀存儲(chǔ)器,并且更特別地涉及將數(shù)字字(digital word)寫入這種存儲(chǔ)器的存儲(chǔ)器位置的操作。

根據(jù)一種實(shí)現(xiàn)模式,提出了另一種解決方案,用于減少持續(xù)時(shí)間并且從而減少EEPROM存儲(chǔ)器寫入循環(huán)或操作的消耗,和/或用于提高存儲(chǔ)器的耐久性。

根據(jù)一種實(shí)現(xiàn)模式,提出了當(dāng)可選地使用傳統(tǒng)的寫入命令時(shí)以及當(dāng)避免對(duì)存儲(chǔ)器層的存儲(chǔ)器單元的意外的或者有意的任何過(guò)編程時(shí),通過(guò)基于待寫入數(shù)據(jù)的值和/或基于存儲(chǔ)器中存在的數(shù)據(jù)的值來(lái)刪除擦除步驟和/或編程步驟,從而自動(dòng)地加速寫操作和/或提高存儲(chǔ)器的耐久性。

此處或下文中將編程步驟的刪除(或者編程電路的禁用)理解為不生成編程脈沖(換言之,沒(méi)有編程步驟),這一點(diǎn)由寫入循環(huán)的加速以及存儲(chǔ)器的耐久性的改進(jìn)所顯現(xiàn),或者其他情況可理解為生成編程脈沖但是不選擇所關(guān)注的存儲(chǔ)器單元,這一點(diǎn)由在保留了擦除步驟 的情況下改進(jìn)存儲(chǔ)器的耐久性但是不加速寫入循環(huán)所顯現(xiàn)。

由此,根據(jù)一個(gè)方面,提出了一種用于將至少一個(gè)數(shù)字字寫入到電可編程和可擦除只讀存儲(chǔ)器(EEPROM)設(shè)備的存儲(chǔ)器層的至少一個(gè)存儲(chǔ)器位置的方法。該方法包括在存儲(chǔ)器設(shè)備內(nèi)實(shí)現(xiàn)的特定寫入模式,并且包括根據(jù)存儲(chǔ)器位置的在前內(nèi)容和/或包括待寫入數(shù)字字的存儲(chǔ)器位置的新內(nèi)容而對(duì)寫入操作或循環(huán)中的擦除步驟和/或編程步驟的可能刪除。

實(shí)際上在某些情況下,寫入操作可以僅包括擦除步驟或者僅包括編程步驟或者其他情況既不包括擦除步驟也不包括編程步驟,由此使得有可能加速寫入循環(huán)并因此減少其消耗和/或改進(jìn)存儲(chǔ)器的耐久性。

由此,如果例如待寫入的字僅包含“0”,則只有擦除步驟是必須的。

如果此外想要僅寫入“0”的存儲(chǔ)器位置的在前內(nèi)容已經(jīng)是僅包含“0”,則也可以跳過(guò)擦除步驟。

類似地,當(dāng)例如必須用字1F來(lái)替換字0F(在十六進(jìn)制記法中)時(shí),或者其他情況如果想要寫入數(shù)字字的存儲(chǔ)器位置的在前內(nèi)容已經(jīng)僅包含“0”時(shí),則擦除步驟是不相關(guān)的。

更一般地,根據(jù)一種實(shí)現(xiàn)模式,這種特定寫入模式包括:如果存儲(chǔ)器位置的新內(nèi)容按位大于或等于該存儲(chǔ)器位置的在前內(nèi)容,則刪除擦除步驟,其中在前內(nèi)容被假設(shè)為是無(wú)錯(cuò)的。

在前內(nèi)容可以被假設(shè)為是無(wú)錯(cuò)的(也就是說(shuō),該在前內(nèi)容的比特沒(méi)有哪個(gè)被考慮為是不可靠的),例如已經(jīng)考慮到存儲(chǔ)器的使用條件或者其他情況下因?yàn)樵撛谇皟?nèi)容已經(jīng)被糾錯(cuò)碼機(jī)制(如果存儲(chǔ)器配備了該機(jī)制的話)驗(yàn)證以及可選地糾正過(guò)。

如果存儲(chǔ)器位置的新內(nèi)容按位等于該存儲(chǔ)器位置的在前內(nèi)容,則特定寫入模式還包括編程步驟的刪除。

此外,如果存儲(chǔ)器位置的新內(nèi)容按位大于或等于在前內(nèi)容并且如果新內(nèi)容的至少一個(gè)比特大于假設(shè)為無(wú)錯(cuò)的在前內(nèi)容的相應(yīng)比特,則特定模式包括僅對(duì)大于在前內(nèi)容的相應(yīng)比特的新內(nèi)容的每個(gè)比特進(jìn) 行編程。

由此避免了對(duì)相應(yīng)存儲(chǔ)器單元的任何意外或有意的過(guò)編程的風(fēng)險(xiǎn)。

實(shí)現(xiàn)諸如這種的選擇性編程的一種特別簡(jiǎn)單的方式是命令對(duì)適用于比特的新值以及該比特的舊值的邏輯反(opposite)的邏輯與函數(shù)的結(jié)果等于1的每個(gè)比特進(jìn)行編程。

該特定寫入模式以對(duì)存儲(chǔ)器設(shè)備而言內(nèi)部的方式實(shí)現(xiàn)。換言之,是存儲(chǔ)器設(shè)備本身來(lái)檢測(cè)待寫入數(shù)據(jù)的值和/或存儲(chǔ)器中存在的數(shù)據(jù)的值,并且是其本身基于待寫入數(shù)據(jù)的值和/或存儲(chǔ)器中已存在的數(shù)據(jù)的值來(lái)決定對(duì)于所考慮的寫入循環(huán)刪除擦除步驟或編程步驟中的至少一個(gè)或者其他情況下保留擦除步驟/編程步驟的傳統(tǒng)系列。

該決定可以由簡(jiǎn)單的組合邏輯容易地實(shí)現(xiàn)。

換言之,并非存儲(chǔ)器設(shè)備外部的元件,例如遞送寫入命令的微控制器,例如在考慮該外部元件對(duì)待寫入數(shù)據(jù)的值和/或存儲(chǔ)器中存在的數(shù)據(jù)的值的分析的情況下決定命令這些可能的步驟刪除。

由此,當(dāng)該特定寫入模式在存儲(chǔ)器中實(shí)現(xiàn)和激活時(shí),存儲(chǔ)器的用戶并不對(duì)做決定進(jìn)行控制以加速一個(gè)或多個(gè)寫入循環(huán),由此使得有可能特別地如下文表明的那樣避免對(duì)存儲(chǔ)器層的存儲(chǔ)器單元的任何意外或有意的過(guò)編程。

所有這些特別是對(duì)于大容量的EEPROM存儲(chǔ)器而言是特別有利的。這種存儲(chǔ)器通常使用糾錯(cuò)碼機(jī)制(ECC:糾錯(cuò)碼)。上文述及的特定寫入模式可以適用于被配備有糾錯(cuò)碼機(jī)制(不管該碼為何)的存儲(chǔ)器。

因?yàn)槿绱?,?dāng)糾錯(cuò)碼基于漢明碼時(shí),后者的性質(zhì)使得有可能容易地實(shí)現(xiàn)對(duì)寫入循環(huán)的可能加速和/或?qū)Υ鎯?chǔ)器設(shè)備內(nèi)的耐久性的改進(jìn)。

這一性質(zhì)在于,根據(jù)該性質(zhì),當(dāng)將n個(gè)字節(jié)組在一起的數(shù)字字的字節(jié)的所有比特都等于零時(shí),與這些字節(jié)相關(guān)聯(lián)的校驗(yàn)位(有時(shí)也稱為“奇偶校驗(yàn)位”或者“糾錯(cuò)位”)也全都等于零。

本領(lǐng)域普通技術(shù)人員知曉漢明碼的特征和性質(zhì)。但是在此想到, 對(duì)于所有有用的目的,漢明碼是所謂的“完美”(也就是說(shuō)對(duì)于給定碼長(zhǎng)度,不存在任何其他更緊湊的碼具有相同的糾錯(cuò)能力)線性糾錯(cuò)碼,并且其最小距離(漢明距離)等于三。

由此,根據(jù)另一個(gè)方面,提出了一種用于將至少一個(gè)數(shù)字字寫入到包括漢明碼類型的糾錯(cuò)碼機(jī)制的電可編程和可擦除只讀存儲(chǔ)器設(shè)備的存儲(chǔ)器層的至少一個(gè)存儲(chǔ)器位置的方法,其中數(shù)字字包括至少一個(gè)數(shù)據(jù)字節(jié)并且存儲(chǔ)器位置將包含多個(gè)數(shù)據(jù)字節(jié),該數(shù)據(jù)字節(jié)的數(shù)量至少等于該數(shù)字字與校驗(yàn)位一起的數(shù)據(jù)字節(jié)的數(shù)量。

傳統(tǒng)地,存儲(chǔ)器設(shè)備的存儲(chǔ)器層包括連接到行選擇線以及連接到位線的存儲(chǔ)器單元。

位線被分組為包括例如M個(gè)位線的列。

連接到同一選擇線的存儲(chǔ)器單元形成字線,并且存儲(chǔ)器位置或存儲(chǔ)器字包括例如連接到一列的M個(gè)位線的同一字線的存儲(chǔ)器單元。這種存儲(chǔ)器位置使得有可能例如存儲(chǔ)32個(gè)數(shù)據(jù)比特(4字節(jié))和6個(gè)校驗(yàn)位的數(shù)字字。

根據(jù)這一方面的一個(gè)變型的方法包括在存儲(chǔ)器設(shè)備內(nèi)實(shí)現(xiàn)的第一寫入模式,其包括響應(yīng)于寫入數(shù)字字的命令:讀取存儲(chǔ)器位置的當(dāng)前內(nèi)容;計(jì)算與存儲(chǔ)器位置的新內(nèi)容的數(shù)據(jù)相關(guān)聯(lián)的新校驗(yàn)位;以及如果讀取的當(dāng)前內(nèi)容的所有比特被設(shè)置為0則在沒(méi)有在先的擦除步驟的情況下通過(guò)編程步驟,或者如果當(dāng)前內(nèi)容的至少一個(gè)比特被設(shè)置為1則通過(guò)傳統(tǒng)的擦除步驟和編程步驟的系列,來(lái)寫入包括數(shù)字字和新校驗(yàn)位的存儲(chǔ)器位置的新內(nèi)容。

由此,當(dāng)前內(nèi)容的比特的簡(jiǎn)單讀取使得可以檢測(cè)存儲(chǔ)器位置的當(dāng)前內(nèi)容(也即,在寫入之前該存儲(chǔ)器位置中已存在的數(shù)據(jù))是否僅包含等于0的比特。

而且,如果存儲(chǔ)器位置的當(dāng)前內(nèi)容僅包括等于0的比特,則寫入數(shù)字字的命令將觸發(fā)在沒(méi)有在先的擦除步驟的情況下僅使用編程步驟來(lái)寫入包括數(shù)字字的新內(nèi)容,由此使得可以減少寫入操作或循環(huán)的持續(xù)時(shí)間。

如果已經(jīng)使用了糾錯(cuò)碼(不同于漢明碼),對(duì)其而言都等于0的數(shù)據(jù)比特導(dǎo)致校驗(yàn)位不都等于0,那么這一點(diǎn)將不容易是可能的,或者實(shí)際上就是不可能的。實(shí)際上在這種情況下,將有必要使存儲(chǔ)器位置的新內(nèi)容的新校驗(yàn)位在與在前內(nèi)容的校驗(yàn)位相同的位置具有“1”,因?yàn)榫幊讨荒軐ⅰ?”變?yōu)椤?”。

在此應(yīng)注意,當(dāng)存儲(chǔ)器位置能夠存儲(chǔ)多于一個(gè)字節(jié)時(shí),讀取存儲(chǔ)器位置的當(dāng)前內(nèi)容的這一步驟已經(jīng)實(shí)現(xiàn)并且因此不需要增加到根據(jù)這一方面的方法中。

根據(jù)這一方面的另一變型的方法包括在存儲(chǔ)器設(shè)備內(nèi)實(shí)現(xiàn)的第二寫入模式,其包括響應(yīng)于寫入數(shù)字字的命令:計(jì)算與存儲(chǔ)器位置的新內(nèi)容的數(shù)據(jù)相關(guān)聯(lián)的新校驗(yàn)位;以及如果新內(nèi)容的所有數(shù)據(jù)比特被設(shè)置為0則在沒(méi)有在后的編程步驟的情況下通過(guò)擦除步驟,或者如果新內(nèi)容的至少一個(gè)比特被設(shè)置為1則通過(guò)傳統(tǒng)的擦除步驟和編程步驟的系列,來(lái)寫入包括數(shù)字字和新校驗(yàn)位的存儲(chǔ)器位置的新內(nèi)容。

盡管有可能,但是尤其是為了簡(jiǎn)化存儲(chǔ)器狀態(tài)機(jī)的目的,卻沒(méi)有必要測(cè)試新的校驗(yàn)位是否設(shè)置為0,因?yàn)榭紤]到漢明碼的特定性質(zhì),如果新內(nèi)容的所有數(shù)據(jù)比特都設(shè)置為0,則計(jì)算出來(lái)的新校驗(yàn)位將被設(shè)置為0。

由此,根據(jù)該另一變型,如果存儲(chǔ)器位置的未來(lái)內(nèi)容的所有比特設(shè)置為0,則編程步驟是不相關(guān)的,并且因此這里同樣可以減少寫入循環(huán)的持續(xù)時(shí)間和/或改進(jìn)耐久性。

在此應(yīng)注意,在沒(méi)有編程步驟情況下的寫入操作的觸發(fā)不是基于存儲(chǔ)器位置的當(dāng)前內(nèi)容也即在寫入之前該存儲(chǔ)器位置中存在的在先數(shù)據(jù)而決定的,因?yàn)椴脸襟E是對(duì)于該存儲(chǔ)器位置的所有比特的全局步驟。

當(dāng)數(shù)字字僅包含單個(gè)字節(jié)并且與4個(gè)校驗(yàn)位相關(guān)聯(lián)時(shí),在該另一變型中對(duì)存儲(chǔ)器位置的當(dāng)前內(nèi)容的讀取不是必需的。

另一方面,當(dāng)數(shù)字字包括若干數(shù)據(jù)字節(jié)時(shí),第二寫入模式還包括在計(jì)算新校驗(yàn)位之前讀取存儲(chǔ)器位置的當(dāng)前內(nèi)容。

當(dāng)然,第一寫入模式和第二寫入模式都可以同時(shí)在存儲(chǔ)器設(shè)備內(nèi)實(shí)現(xiàn)。

根據(jù)這一方面的又一變型的方法包括在存儲(chǔ)器設(shè)備內(nèi)實(shí)現(xiàn)的第三寫入模式,其包括響應(yīng)于寫入數(shù)字字的命令:讀取存儲(chǔ)器位置的當(dāng)前內(nèi)容;以及如果讀取的當(dāng)前內(nèi)容的所有比特被設(shè)置為0并且如果包括數(shù)字字的新內(nèi)容的所有數(shù)據(jù)比特被設(shè)置為0,則不進(jìn)行擦除步驟和編程步驟。

換言之,根據(jù)這一可選的又一變型,如果存儲(chǔ)器位置的當(dāng)前內(nèi)容和新內(nèi)容僅包含0,則寫入循環(huán)既不包括擦除步驟也不包括編程步驟。

第一寫入模式、第二寫入模式和第三寫入模式也可以三個(gè)都在存儲(chǔ)器設(shè)備內(nèi)實(shí)現(xiàn)。

當(dāng)存儲(chǔ)器將要被按頁(yè)面寫入時(shí),根據(jù)另一方面提出了一種用于將若干數(shù)字字寫入到包括漢明碼類型的糾錯(cuò)碼機(jī)制的電可編程和可擦除只讀存儲(chǔ)器設(shè)備的存儲(chǔ)器層的若干存儲(chǔ)器位置中的方法,若干存儲(chǔ)器位置形成存儲(chǔ)器層的至少一個(gè)頁(yè)面,每個(gè)數(shù)字字包括至少一個(gè)數(shù)據(jù)字節(jié)并且每個(gè)存儲(chǔ)器位置將包含多個(gè)數(shù)據(jù)字節(jié),該數(shù)據(jù)字節(jié)的數(shù)量至少等于數(shù)字字與校驗(yàn)位一起的數(shù)據(jù)字節(jié)的數(shù)量。

根據(jù)該另一方面的變型,方法包括在存儲(chǔ)器設(shè)備中實(shí)現(xiàn)的第一頁(yè)面寫入模式,其包括響應(yīng)于向頁(yè)面寫入數(shù)字字的命令:讀取每個(gè)存儲(chǔ)器位置的當(dāng)前內(nèi)容;計(jì)算與每個(gè)存儲(chǔ)器位置的新內(nèi)容的數(shù)據(jù)相關(guān)聯(lián)的新校驗(yàn)位;以及如果每個(gè)讀取的當(dāng)前內(nèi)容的所有比特被設(shè)置為0則在沒(méi)有在先的擦除步驟的情況下通過(guò)編程步驟,或者如果至少一個(gè)讀取的當(dāng)前內(nèi)容的至少一個(gè)比特被設(shè)置為1則通過(guò)傳統(tǒng)的擦除步驟和編程步驟的系列,來(lái)寫入包括相應(yīng)數(shù)字字和新相應(yīng)校驗(yàn)位的每個(gè)存儲(chǔ)器位置的新內(nèi)容。

根據(jù)該另一方面的也可適用于以頁(yè)面模式寫入的另一變型,該方法包括在存儲(chǔ)器設(shè)備內(nèi)實(shí)現(xiàn)的第二頁(yè)面寫入模式,其包括響應(yīng)于向頁(yè)面寫入數(shù)字字的命令:計(jì)算與每個(gè)存儲(chǔ)器位置的新內(nèi)容的數(shù)據(jù)相關(guān)聯(lián)的新校驗(yàn)位;以及如果每個(gè)新內(nèi)容的所有數(shù)據(jù)比特被設(shè)置為0則在沒(méi) 有在后的編程步驟的情況下通過(guò)擦除步驟,或者如果至少一個(gè)新內(nèi)容的至少一個(gè)比特被設(shè)置為1則通過(guò)傳統(tǒng)的擦除步驟和編程步驟的系列,來(lái)寫入包括相應(yīng)數(shù)字字和新相應(yīng)校驗(yàn)位的每個(gè)存儲(chǔ)器位置的新內(nèi)容。

在此同樣地,當(dāng)每個(gè)數(shù)字字包括若干數(shù)據(jù)字節(jié)時(shí),第二頁(yè)面寫入模式還包括,在每次計(jì)算新校驗(yàn)位之前,讀取每個(gè)存儲(chǔ)器位置的當(dāng)前內(nèi)容。

第一頁(yè)面寫入模式和第二頁(yè)面寫入模式可以同時(shí)實(shí)現(xiàn),并且在這種情況下,如果至少兩個(gè)數(shù)字字的相應(yīng)寫入需要不同類型的步驟(例如,一個(gè)數(shù)字字僅需要擦除步驟而另一個(gè)字僅需要編程步驟)或者如果至少一個(gè)數(shù)字字的寫入需要擦除步驟和編程步驟的系列,則頁(yè)面的數(shù)字字的寫入需要傳統(tǒng)的擦除步驟和編程步驟的系列。

根據(jù)該另一方面的另一變型,該方法包括在存儲(chǔ)器設(shè)備內(nèi)實(shí)現(xiàn)的第三頁(yè)面寫入模式,其包括響應(yīng)于向頁(yè)面寫入數(shù)字字的命令:讀取每個(gè)存儲(chǔ)器位置的當(dāng)前內(nèi)容;以及如果每個(gè)讀取的當(dāng)前內(nèi)容的所有比特被設(shè)置為0并且如果包括相應(yīng)數(shù)字字的每個(gè)新內(nèi)容的所有數(shù)據(jù)比特被設(shè)置為0,則不進(jìn)行擦除步驟和編程步驟。

第一頁(yè)面寫入模式、第二頁(yè)面寫入模式和第三頁(yè)面寫入模式可以互相組合,并且如果至少一個(gè)數(shù)字字的寫入僅需要擦除步驟并且如果無(wú)其他數(shù)字字的寫入需要編程步驟,則頁(yè)面的數(shù)字字的寫入僅需要擦除步驟;如果至少一個(gè)數(shù)字字的寫入僅需要編程步驟并且如果無(wú)其他數(shù)字字的寫入需要擦除步驟,則頁(yè)面的數(shù)字字的寫入僅需要編程步驟;以及在所有其他情況下,頁(yè)面的數(shù)字字的寫入需要傳統(tǒng)的擦除步驟和編程步驟的系列。

正如上文述及的特定寫入模式那樣,三種寫入模式中的每一種和剛才針對(duì)配備有漢明碼類型糾錯(cuò)碼的存儲(chǔ)器所提及的三種頁(yè)面寫入模式中的每一種都以對(duì)于存儲(chǔ)器設(shè)備而言內(nèi)部的方式實(shí)現(xiàn),并且特別地獲得與針對(duì)特定寫入模式所提及的那些好處一樣的好處。

觸發(fā)第一寫入模式和/或第二寫入模式和/或第三寫入模式和/或第 一頁(yè)面寫入模式和/或第二頁(yè)面寫入模式和/或第三頁(yè)面寫入模式的寫入命令可以是傳統(tǒng)的寫入命令或者其他情況下是專門的命令。

第一寫入模式和/或第二寫入模式和/或第三寫入模式和/或第一頁(yè)面寫入模式和/或第二頁(yè)面寫入模式和/或第三頁(yè)面寫入模式可以在存儲(chǔ)器設(shè)備內(nèi)默認(rèn)實(shí)現(xiàn)或其他情況下可激活地實(shí)現(xiàn)。

執(zhí)行這一激活存在若干非限制可能性。

例如可以使用可由用戶編程的易失性或非易失性比特,例如存儲(chǔ)器的狀態(tài)寄存器中存在的狀態(tài)字的比特。

還可以使用新的專門的寫入命令。

根據(jù)另一方面,提出了一種電可編程和可擦除只讀存儲(chǔ)器類型的存儲(chǔ)器設(shè)備,包括:包含存儲(chǔ)器位置的存儲(chǔ)器層、被配置為擦除存儲(chǔ)器位置的內(nèi)容的擦除電路、被配置為對(duì)存儲(chǔ)器位置中的至少一個(gè)數(shù)字字進(jìn)行編程的編程電路以及被配置為響應(yīng)于寫入數(shù)字字的命令而根據(jù)存儲(chǔ)器位置的在前內(nèi)容和/或包括待寫入數(shù)字字的存儲(chǔ)器位置的新內(nèi)容來(lái)可選地禁用擦除電路和/或編程電路的驅(qū)動(dòng)器。

根據(jù)一個(gè)實(shí)施例,驅(qū)動(dòng)器被配置為如果新內(nèi)容按位大于或等于在前內(nèi)容則禁用擦除電路,其中在前內(nèi)容被假設(shè)為是無(wú)錯(cuò)的。

根據(jù)一個(gè)實(shí)施例,如果存儲(chǔ)器位置的新內(nèi)容按位等于該存儲(chǔ)器位置的在前內(nèi)容,則驅(qū)動(dòng)器還被配置為禁用編程電路。

根據(jù)一個(gè)實(shí)施例,如果存儲(chǔ)器位置的新內(nèi)容按位大于或等于在前內(nèi)容并且如果新內(nèi)容的至少一個(gè)比特大于假設(shè)為無(wú)錯(cuò)的在前內(nèi)容的相應(yīng)比特,則驅(qū)動(dòng)器被配置為激活編程電路以便僅執(zhí)行對(duì)大于在前內(nèi)容的相應(yīng)比特的新內(nèi)容的每個(gè)比特的編程。

根據(jù)一個(gè)實(shí)施例,驅(qū)動(dòng)器被配置為命令對(duì)適用于該比特的新值以及該比特的舊值的邏輯反的邏輯與函數(shù)的結(jié)果等于1的每個(gè)比特進(jìn)行編程。

根據(jù)尤其可適用于配備有糾錯(cuò)碼的EEPROM存儲(chǔ)器的另一方面,提出了一種電可編程和可擦除只讀存儲(chǔ)器類型的存儲(chǔ)器設(shè)備。該存儲(chǔ)器設(shè)備包括:包含存儲(chǔ)器位置的存儲(chǔ)器層;漢明碼類型的糾錯(cuò)碼機(jī)制; 被配置為擦除存儲(chǔ)器位置的內(nèi)容的擦除電路;讀取電路;以及被配置為對(duì)存儲(chǔ)器位置中的包括至少一個(gè)字節(jié)的至少一個(gè)數(shù)字字進(jìn)行編程的編程電路,存儲(chǔ)器位置將包含多個(gè)數(shù)據(jù)字節(jié),該數(shù)據(jù)字節(jié)的數(shù)量至少等于數(shù)字字與校驗(yàn)位一起的數(shù)據(jù)字節(jié)的數(shù)量。

根據(jù)該另一方面的一個(gè)變型,該設(shè)備還包括第一控制器,該第一控制器被配置為響應(yīng)于寫入數(shù)字字的命令:激活讀取電路以讀取存儲(chǔ)器位置的當(dāng)前內(nèi)容;激活糾錯(cuò)碼機(jī)制以計(jì)算與存儲(chǔ)器位置的新內(nèi)容的數(shù)據(jù)相關(guān)聯(lián)的新校驗(yàn)位;以及如果讀取的當(dāng)前內(nèi)容的所有比特被設(shè)置為0則僅激活編程電路,或者如果讀取的當(dāng)前內(nèi)容的至少一個(gè)比特被設(shè)置為1則相繼激活擦除電路和編程電路,以便寫入包括數(shù)字字和新校驗(yàn)位的存儲(chǔ)器位置的新內(nèi)容。

根據(jù)該另一方面的另一變型,該存儲(chǔ)器設(shè)備包括第二控制器,該第二控制器被配置為響應(yīng)于寫入數(shù)字字的命令:激活糾錯(cuò)碼機(jī)制以計(jì)算與存儲(chǔ)器位置的新內(nèi)容的數(shù)據(jù)相關(guān)聯(lián)的新校驗(yàn)位;以及如果新內(nèi)容的所有數(shù)據(jù)比特被設(shè)置為0則僅激活擦除電路,或者如果新內(nèi)容的至少一個(gè)比特被設(shè)置為1則相繼激活擦除電路和編程電路,以便寫入包括數(shù)字字和新校驗(yàn)位的存儲(chǔ)器位置的新內(nèi)容。

根據(jù)一個(gè)實(shí)施例,當(dāng)數(shù)字字包括若干數(shù)據(jù)字節(jié)時(shí),第二控制器還被配置為在糾錯(cuò)碼機(jī)制的激活之前激活讀取電路以讀取存儲(chǔ)器位置的當(dāng)前內(nèi)容。

該設(shè)備可以包括單獨(dú)的第一控制器和第二控制器,或者同時(shí)執(zhí)行這兩種功能的單一控制器,或者用于同一目的的多于兩個(gè)的控制器,其通常被稱為控制電路。

根據(jù)該另一方面的又一變型,存儲(chǔ)器設(shè)備包括第三控制器,該第三控制器被配置為響應(yīng)于寫入數(shù)字字的命令:激活讀取電路以讀取存儲(chǔ)器位置的當(dāng)前內(nèi)容;以及如果讀取的當(dāng)前內(nèi)容的所有比特被設(shè)置為0并且如果包括數(shù)字字的新內(nèi)容的所有數(shù)據(jù)比特被設(shè)置為0,則既不激活擦除電路也不激活編程電路。

該設(shè)備可以包括單獨(dú)的第一控制電路、第二控制電路和第三控制 電路或者執(zhí)行專門功能的更少或更多的控制器,其通常被稱為控制電路。

根據(jù)可適用于將要被按位寫入的存儲(chǔ)器的又一方面,提出了一種電可編程和可擦除只讀存儲(chǔ)器類型的存儲(chǔ)器設(shè)備。該存儲(chǔ)器設(shè)備包括:包含至少一個(gè)頁(yè)面的存儲(chǔ)器層,該頁(yè)面包含若干存儲(chǔ)器位置;漢明碼類型的糾錯(cuò)碼機(jī)制;被配置為擦除頁(yè)面的內(nèi)容的擦除電路;讀取電路;以及被配置為對(duì)頁(yè)面的存儲(chǔ)器位置中的若干數(shù)字字進(jìn)行編程的編程電路。每個(gè)數(shù)字字包括至少一個(gè)字節(jié),相應(yīng)存儲(chǔ)器位置將包含多個(gè)數(shù)據(jù)字節(jié),該數(shù)據(jù)字節(jié)的數(shù)量至少等于數(shù)字字與校驗(yàn)位一起的數(shù)據(jù)字節(jié)的數(shù)量。該存儲(chǔ)器設(shè)備還包括第四控制器,該第四控制器被配置為響應(yīng)于寫入數(shù)字字的命令:激活讀取電路以讀取每個(gè)存儲(chǔ)器位置的當(dāng)前內(nèi)容;激活糾錯(cuò)碼機(jī)制以計(jì)算與每個(gè)存儲(chǔ)器位置的新內(nèi)容的數(shù)據(jù)相關(guān)聯(lián)的新校驗(yàn)位;以及如果每個(gè)讀取的當(dāng)前內(nèi)容的所有比特被設(shè)置為0則僅激活編程電路,或者如果至少一個(gè)讀取的當(dāng)前內(nèi)容的至少一個(gè)比特被設(shè)置為1則相繼激活陣列電路和編程電路,以便寫入包括相應(yīng)數(shù)字字和新相應(yīng)校驗(yàn)位的每個(gè)存儲(chǔ)器位置的新內(nèi)容。

根據(jù)該另一方面的一個(gè)變型,該設(shè)備包括第五控制器,該第五控制器被配置為響應(yīng)于寫入數(shù)字字的命令:激活糾錯(cuò)碼機(jī)制以計(jì)算與每個(gè)存儲(chǔ)器位置的新內(nèi)容的數(shù)據(jù)相關(guān)聯(lián)的新校驗(yàn)位;以及如果每個(gè)新內(nèi)容的所有數(shù)據(jù)比特被設(shè)置為0則僅激活陣列電路,或者如果每個(gè)新內(nèi)容的至少一個(gè)比特被設(shè)置為1則相繼激活陣列電路和編程電路,以便寫入包括相應(yīng)數(shù)字字和新相應(yīng)校驗(yàn)位的每個(gè)存儲(chǔ)器位置的新內(nèi)容。

根據(jù)一個(gè)實(shí)施例,每個(gè)數(shù)字字包括若干數(shù)據(jù)字節(jié),并且第五控制器還被配置為在糾錯(cuò)碼機(jī)制的激活之前激活讀取電路以讀取每個(gè)存儲(chǔ)器位置的當(dāng)前內(nèi)容。

根據(jù)一個(gè)實(shí)施例,該設(shè)備包括結(jié)合了第四控制器和第五控制器的控制電路,該控制電路被配置為如果至少兩個(gè)數(shù)字字的相應(yīng)寫入需要不同類型的步驟則控制通過(guò)傳統(tǒng)的擦除步驟和編程步驟的系列向頁(yè)面寫入數(shù)字字。

根據(jù)該另一方面的又一變型,該設(shè)備包括第六控制器,該第六控制器被配置為響應(yīng)于寫入數(shù)字字的命令:激活讀取電路以讀取每個(gè)存儲(chǔ)器位置的當(dāng)前內(nèi)容;以及如果每個(gè)讀取的當(dāng)前內(nèi)容的所有比特被設(shè)置為0并且如果包括相應(yīng)數(shù)字字的每個(gè)新內(nèi)容的所有數(shù)據(jù)比特被設(shè)置為0,則既不激活擦除電路也不激活編程電路。

控制電路可以結(jié)合第四控制電路、第五控制電路和第六控制電路,并且可以被配置為如果至少一個(gè)數(shù)字字的寫入僅需要擦除步驟并且如果無(wú)其他數(shù)字字的寫入需要編程步驟則控制僅通過(guò)擦除步驟向頁(yè)面寫入數(shù)字字;如果至少一個(gè)數(shù)字字的寫入僅需要編程步驟并且如果無(wú)其他數(shù)字字的寫入需要擦除步驟則控制僅通過(guò)編程步驟向頁(yè)面寫入數(shù)字字;以及在所有其他情況下,控制通過(guò)傳統(tǒng)的擦除步驟和編程步驟的系列來(lái)向頁(yè)面寫入數(shù)字字。

根據(jù)一個(gè)實(shí)施例,驅(qū)動(dòng)器和/或第一控制電路和/或第二控制電路和/或第三控制電路和/或第四控制電路和/或第五控制電路和/或第六控制電路是可激活的。

附圖說(shuō)明

在研究對(duì)完全非限制性的實(shí)現(xiàn)模式和實(shí)施例的詳細(xì)描述以及附圖的基礎(chǔ)上,本發(fā)明的其他好處和特征將變得明顯,附圖中:

圖1至圖11基本上示意性地涉及本發(fā)明的各種實(shí)現(xiàn)模式和實(shí)施例。

具體實(shí)施方式

在圖1中,參考標(biāo)記DIS標(biāo)出了根據(jù)本發(fā)明的EEPROM類型的示例性存儲(chǔ)器設(shè)備。

這一設(shè)備DIS包括存儲(chǔ)器單元CEL的存儲(chǔ)器層PM以及傳統(tǒng)的編程電路MPR和擦除電路MEFF、行解碼器DECX和列編碼器DECY以及包括鏈接到數(shù)據(jù)寄存器RDD的讀出放大器AMPL的讀取電路,該傳統(tǒng)的編程電路MPR和擦除電路MEFF尤其包括使得可以施加高 編程或擦除電壓的高電壓電路HV。

在這一示例性實(shí)施例中設(shè)備DIS還包括形成漢明碼類型糾錯(cuò)碼機(jī)制的ECC電路MECC,就其本質(zhì)而言是公知的傳統(tǒng)結(jié)構(gòu)。

設(shè)備DIS還包括控制電路,該控制電路例如包括能夠激活編程電路MPR、陣列電路MEFF、讀取電路AMPL以及糾錯(cuò)碼機(jī)制MECC的傳統(tǒng)結(jié)構(gòu)的邏輯電路。

存儲(chǔ)器設(shè)備DIS在此還包括狀態(tài)寄存器SRG。然而該寄存器是可選的,通常對(duì)于連接到SPI總線的存儲(chǔ)器而言是存在的,而特別地對(duì)于連接到I2C總線的存儲(chǔ)器是不存在的。

存儲(chǔ)器設(shè)備DIS中存在且對(duì)理解本發(fā)明而言并非不可或缺的其他傳統(tǒng)電路,諸如例如地址移位寄存器等,為了簡(jiǎn)單起見特意在圖1中沒(méi)有表示出來(lái)。

在此想到,EEPROM類型的存儲(chǔ)器單元CEL包括以傳統(tǒng)方式擁有控制柵極、浮置柵極、漏極區(qū)域和源極區(qū)域。

這種單元是通過(guò)Fowler-Nordheim效應(yīng)可擦除和可編程的。

傳統(tǒng)地,在這種EEPROM類型的單元中寫入數(shù)據(jù)項(xiàng)的操作或循環(huán)包括擦除步驟和之后的編程步驟。

在擦除步驟中,陣列電路MEFF被配置為將晶體管的漏極和源極耦合至地并向控制柵極施加具有典型為15V量級(jí)的擦除值的控制電壓。

在單元編程步驟中,編程電路MPR被配置為將控制柵極鏈接到地,并施加編程電壓給漏極,典型的也是15V的量級(jí)。至于源極,編程電路MPR被配置為使源極浮置或者將源極預(yù)充電到非零預(yù)充電電壓。

更精確地說(shuō),陣列電路被配置為在控制柵極上施加擦除脈沖IMPI形式的控制電壓,而編程電路被配置為在漏極上施加編程脈沖IMP2形式的編程電壓(圖2)。

每個(gè)電壓/時(shí)間擦除或編程脈沖表現(xiàn)為梯形形狀,具有斜坡以及之后的高臺(tái)PLT,典型地在15V的標(biāo)稱電平。

電壓斜坡驅(qū)動(dòng)單元的隧道電流。斜坡和高臺(tái)具有幾乎相等的持續(xù)時(shí)間。

如上所述,陣列電路MEFF和編程電路MPR包括用于生成允許生成相應(yīng)擦除脈沖和編程脈沖的高壓的高壓電路HV。

高壓電路HV傳統(tǒng)地包括例如一個(gè)或多個(gè)電荷泵級(jí),其與包括例如振蕩器的電荷泵的調(diào)節(jié)相關(guān)聯(lián)。

調(diào)節(jié)使得可以驅(qū)動(dòng)電荷泵的輸出電壓。當(dāng)電荷泵的輸出超過(guò)高參考時(shí)振蕩器暫停。隨后電荷泵的輸出電壓由于充電而開始降低。一旦電荷泵的輸出電壓小于低參考,振蕩器就重啟。低參考和高參考之間的電壓間隙(遲滯)確保了穩(wěn)定性。這種電壓差例如是100毫伏特的量級(jí)。

電荷泵調(diào)節(jié)電平例如是高臺(tái)PLT的電壓電平,例如15V。電荷斜坡例如由接收高臺(tái)電壓作為輸入的模擬積分器生成。

脈沖的持續(xù)時(shí)間(斜坡+高臺(tái))可以由模擬或數(shù)字計(jì)時(shí)表(定時(shí)器)來(lái)控制。

借助指示,數(shù)字計(jì)時(shí)器可以包括連接到計(jì)數(shù)器的固定頻率振蕩器。當(dāng)電荷泵開始時(shí)計(jì)數(shù)器啟動(dòng),并且計(jì)數(shù)的結(jié)束標(biāo)記脈沖的結(jié)束。

如上所述,在擦除步驟中,擦除脈沖全局地擦除(設(shè)置為零)待寫入的字節(jié)的所有存儲(chǔ)器單元。

在編程步驟中,編程脈沖選擇性地對(duì)必須存儲(chǔ)邏輯1的存儲(chǔ)器單元進(jìn)行編程(設(shè)置為1)。

雖然寫入操作通常包括擦除步驟和后面的編程步驟,但在某些情況下單個(gè)擦除或編程步驟可能是在存儲(chǔ)器中寫入字所必需的。

由此,如果待寫入的字僅包含“0”,則只有擦除步驟是必需的。

另外,如果想要僅寫入“0”的存儲(chǔ)器單元已經(jīng)僅包含“0”,則擦除步驟也可以被刪除。

同樣,借助非限制例子,當(dāng)字0F(在十六進(jìn)制記法中)必需由字1F替換時(shí),擦除步驟是不相關(guān)的。

由此,根據(jù)一個(gè)方面,提出了一種用于將至少一個(gè)數(shù)字字寫入到 電可編程和可擦除只讀存儲(chǔ)器(EEPROM)設(shè)備的存儲(chǔ)器層的至少一個(gè)存儲(chǔ)器位置的方法。該方法包括在存儲(chǔ)器設(shè)備內(nèi)實(shí)現(xiàn)的特定寫入模式,該特定寫入模式包括:根據(jù)存儲(chǔ)器位置的在前內(nèi)容和/或包括待寫入的數(shù)字字的存儲(chǔ)器位置的新內(nèi)容,對(duì)寫入操作或循環(huán)的擦除步驟和/或編程步驟進(jìn)行可能的刪除。

并且這種特定寫入模式以對(duì)于存儲(chǔ)器設(shè)備而言內(nèi)部的方式實(shí)現(xiàn),也就是說(shuō),是存儲(chǔ)器設(shè)備本身來(lái)檢測(cè)待寫入數(shù)據(jù)的值和/或存儲(chǔ)器中已存在的數(shù)據(jù)的值,并且是其本身基于待寫入數(shù)據(jù)的值和/或存儲(chǔ)器中已存在的數(shù)據(jù)的值來(lái)決定對(duì)于所考慮的寫入循環(huán)刪除擦除或編程步驟中的至少一個(gè)或者其他情況下保持傳統(tǒng)的擦除步驟/編程步驟的系列。

該決定可以由形成控制電路MCM內(nèi)的驅(qū)動(dòng)器的簡(jiǎn)單組合邏輯容易地實(shí)現(xiàn)。

更精確地說(shuō),根據(jù)圖3所示的一種實(shí)現(xiàn)模式,驅(qū)動(dòng)器在步驟300中測(cè)試存儲(chǔ)器位置的新內(nèi)容是否按位大于或等于該存儲(chǔ)器位置的在前內(nèi)容,在前內(nèi)容被假設(shè)是無(wú)錯(cuò)的。

在否定情況下,驅(qū)動(dòng)器命令通過(guò)相繼激活(步驟310和320)陣列電路和編程電路來(lái)寫入新內(nèi)容。

在肯定情況下,這一特定寫入模式包括如果存儲(chǔ)器位置的新內(nèi)容按位大于或等于該存儲(chǔ)器位置的在前內(nèi)容則刪除擦除步驟,其中在前內(nèi)容被假設(shè)為是無(wú)錯(cuò)的。

驅(qū)動(dòng)器還在步驟301中測(cè)試存儲(chǔ)器位置的新內(nèi)容是否按位等于該存儲(chǔ)器位置的在前內(nèi)容。

如果是這樣,則這一特定寫入模式還包括刪除編程步驟。換言之,既沒(méi)有擦除也沒(méi)有編程(步驟302),可以理解到,禁用編程步驟被理解為不生成編程脈沖或者其他情況生成這種編程脈沖但是不選擇存儲(chǔ)器單元(不選擇位線)。

此外,如果存儲(chǔ)器位置的新內(nèi)容按位大于或等于在前內(nèi)容并且如果新內(nèi)容的至少一個(gè)比特大于假設(shè)無(wú)錯(cuò)的在前內(nèi)容的相應(yīng)比特,則該特定模式僅包括對(duì)大于在前內(nèi)容的相應(yīng)比特的新內(nèi)容的每個(gè)比特進(jìn) 行編程。

由此可以避免對(duì)相應(yīng)存儲(chǔ)器單元的意外或有意的過(guò)編程的任何風(fēng)險(xiǎn)(步驟303)。

圖4的左半部示出了實(shí)現(xiàn)測(cè)試步驟300的特別簡(jiǎn)單的方法。

更精確地,對(duì)在前內(nèi)容CNT的每個(gè)比特的值和新內(nèi)容NVC的每個(gè)相應(yīng)比特的邏輯反值(用反相器INV1界定)應(yīng)用邏輯與函數(shù)(步驟3000)。

接下來(lái),對(duì)由與函數(shù)的反相器INV2反相的輸出應(yīng)用邏輯與函數(shù)(步驟3001)。

隨后執(zhí)行關(guān)于與函數(shù)的輸出是否設(shè)為1的測(cè)試(步驟3002)。

在肯定情況下,存儲(chǔ)器位置的新內(nèi)容按位大于或等于在前內(nèi)容。

在否定情況下時(shí)不是這樣。

諸如這種的實(shí)現(xiàn)選擇性編程的特別簡(jiǎn)單的方式是如圖4的右半邊所示的那樣對(duì)于每個(gè)比特測(cè)試應(yīng)用到該比特的新值和該比特的舊值的邏輯反(用反相器INV3來(lái)界定)的邏輯與函數(shù)3030的結(jié)果是否等于1(步驟3031)。

在肯定情況下,該比特將必須被編程,因?yàn)?將替換0(新的比特將大于在前的比特)。

在否定情況下,該比特將不必被編程。

如現(xiàn)在將更詳細(xì)描述的那樣,本發(fā)明在配備有漢明碼類型糾錯(cuò)碼機(jī)制MECC的EEPROM存儲(chǔ)器、特別是大容量存儲(chǔ)器的方面是特別有利的。

非易失性存儲(chǔ)器尤其是EEPROM容易由于缺陷存儲(chǔ)器位置或存儲(chǔ)器單元而發(fā)生數(shù)據(jù)崩潰,本領(lǐng)域普通技術(shù)人員稱之為“單比特失效”。

這些缺陷可能是最初就在“原生”存儲(chǔ)器上存在的,或者其他情況最初不存在但是在該項(xiàng)的生命周期期間隨著時(shí)間推移產(chǎn)生的。

這些缺陷可能是例如由于制造方法中的缺點(diǎn)、氧化物的擊穿、絕緣存儲(chǔ)器單元上的自留損失的發(fā)生所造成的。

當(dāng)讀取包含在這些缺陷存儲(chǔ)器位置中的比特時(shí)這些位置導(dǎo)致錯(cuò)誤邏輯值。

傳統(tǒng)的解決方案包括使用糾錯(cuò)碼或ECC(“誤碼糾正”)來(lái)糾正比特的錯(cuò)誤邏輯值。更精確地,利用糾錯(cuò)碼,如果校驗(yàn)位(或者奇偶校驗(yàn)位)被附于b個(gè)數(shù)據(jù)比特上,則可以在b+s個(gè)比特中糾正r個(gè)錯(cuò)誤。

通常,在存儲(chǔ)器領(lǐng)域中使用的糾錯(cuò)碼使得可以糾正b+s個(gè)比特的字中的一個(gè)錯(cuò)誤(r=1)。在兩個(gè)缺陷位置對(duì)應(yīng)于不位于同一組(b+s)個(gè)比特中的兩個(gè)比特的情況下,可以糾正存儲(chǔ)器中的兩個(gè)錯(cuò)誤。

更精確地,如傳統(tǒng)且已知的那樣,ECC電路MECC使得可以當(dāng)讀取存儲(chǔ)器中的字時(shí)基于數(shù)據(jù)比特b和校驗(yàn)位的集合s來(lái)確定校驗(yàn)子(syndrome)。

在此想到,校驗(yàn)子是在糾錯(cuò)過(guò)程中執(zhí)行的、使得可以檢測(cè)和定位錯(cuò)誤的中間計(jì)算的結(jié)果。

相反,ECC電路MECC還能夠基于數(shù)據(jù)比特的集合來(lái)計(jì)算校驗(yàn)位的集合。

傳統(tǒng)地,存儲(chǔ)器的存儲(chǔ)器層包括連接到行選擇線和位線的存儲(chǔ)器單元CEL。

位線被分組為包括例如M個(gè)位線的列。

M例如可以等于38,由此對(duì)應(yīng)于伴有s(s=6)個(gè)糾錯(cuò)碼位或奇偶校驗(yàn)位的b個(gè)有用比特(b=32,對(duì)應(yīng)于n=4字節(jié))的字。

連接到同一選擇線的存儲(chǔ)器單元形成字線并且連接到一列的M個(gè)位線的同一字線的存儲(chǔ)器單元形成存儲(chǔ)器位置或存儲(chǔ)器字,使得可以例如存儲(chǔ)6個(gè)校驗(yàn)位和32個(gè)比特的數(shù)字字。

EEPROM存儲(chǔ)器可以用頁(yè)面來(lái)組織(一個(gè)頁(yè)面包括同一字線的所有存儲(chǔ)器字)。

在一次寫入循環(huán)中可以寫入的數(shù)據(jù)的數(shù)量可以從一個(gè)字到一整個(gè)頁(yè)面。

在配備有糾錯(cuò)碼機(jī)制的EEPROM存儲(chǔ)器架構(gòu)中,每次想要寫入 例如p個(gè)新字節(jié)到包含n字節(jié)(n大于一,p大于或等于一且小于或等于n)和s個(gè)校驗(yàn)位的存儲(chǔ)器位置,讀取該存儲(chǔ)器位置的當(dāng)前內(nèi)容,也即在此為該存儲(chǔ)器位置的38個(gè)比特。

糾錯(cuò)可選地由糾錯(cuò)碼機(jī)制MECC執(zhí)行。

因此知道4個(gè)當(dāng)前(最初)字節(jié)的比特的值。

此外,基于p個(gè)新字節(jié)和其他n-p個(gè)最初字節(jié),重新計(jì)算新的校驗(yàn)位。

在此使用漢明碼類型糾錯(cuò)碼的性質(zhì),根據(jù)該性質(zhì)當(dāng)將n個(gè)字節(jié)組在一起的存儲(chǔ)器位置的字節(jié)的比特都等于0時(shí),該存儲(chǔ)器位置中包含的校驗(yàn)位都等于0。

由此在此處描述的例子中,當(dāng)包含在38個(gè)比特的存儲(chǔ)器位置中的4個(gè)字節(jié)的32個(gè)比特都等于0時(shí),校驗(yàn)位并且因此存儲(chǔ)器位置的38個(gè)比特都等于0。

圖5至圖8適用于逐個(gè)存儲(chǔ)器位置地寫入存儲(chǔ)器,并非按頁(yè)面寫入。

如圖5所示,可以定義第一寫入模式,其中響應(yīng)于將數(shù)字字寫入存儲(chǔ)器位置的命令(步驟30),讀取電路執(zhí)行對(duì)包括6個(gè)校驗(yàn)位的相應(yīng)存儲(chǔ)器位置的當(dāng)前內(nèi)容(38個(gè)比特)的讀取31。

隨后控制電路MCM例如在組合邏輯和/或比較器的輔助下測(cè)試是否所有讀取的比特都設(shè)置為0(步驟32)。

如果至少一個(gè)讀取的比特設(shè)置為1,則控制器第一次激活ECC電路MECC(步驟35)以便糾正(如果必要)存儲(chǔ)器位置的最初內(nèi)容,第二次激活ECC電路MECC以便計(jì)算新校驗(yàn)位(步驟36)并隨后相繼激活擦除電路MEFF和編程電路MPR使得通過(guò)傳統(tǒng)的擦除步驟37和編程步驟38的系列進(jìn)行對(duì)包括數(shù)字字的存儲(chǔ)器位置的新內(nèi)容的寫入。

如果對(duì)測(cè)試32的響應(yīng)是肯定的,則控制器可以再次執(zhí)行步驟35以便第一次激活ECC電路MECC,第二次激活ECC電路MECC以計(jì)算新校驗(yàn)位(步驟39)并隨后僅激活編程電路MPR以通過(guò)在沒(méi)有在 先的擦除步驟(因?yàn)楫?dāng)存儲(chǔ)器位置的所有比特已經(jīng)設(shè)置為0時(shí)它是不相關(guān)的)的情況下利用編程步驟40進(jìn)行對(duì)包括數(shù)字字的存儲(chǔ)器位置的新內(nèi)容的寫入。

應(yīng)注意,在圖5的左分支之中執(zhí)行的步驟35是可選的,因?yàn)樗凶x取的設(shè)置為0的比特在漢明碼中對(duì)應(yīng)于比特中沒(méi)有錯(cuò)誤。

因?yàn)槿绱?,?zhí)行這一步驟35使得可以簡(jiǎn)化結(jié)合到控制電路中的狀態(tài)機(jī)的架構(gòu)。

還將可以在步驟31和32之間執(zhí)行步驟35。

如圖6所示,還可以定義第二寫入模式,其中響應(yīng)于將數(shù)字字寫入到存儲(chǔ)器位置的命令(步驟40a),讀取電路執(zhí)行對(duì)包括6個(gè)校驗(yàn)位的存儲(chǔ)器位置的當(dāng)前內(nèi)容(存儲(chǔ)器位置的38個(gè)比特)的讀取41。

接下來(lái),糾錯(cuò)碼機(jī)制MECC糾正(如果必要)存儲(chǔ)器位置的最初內(nèi)容。

控制電路MCM隨后例如在比較器的輔助下測(cè)試是否存儲(chǔ)器位置的新內(nèi)容的所有數(shù)據(jù)比特都設(shè)置為0(步驟43)。

考慮到漢明碼的特定性質(zhì),如果新內(nèi)容的所有數(shù)據(jù)比特都設(shè)置為0,則新計(jì)算的校驗(yàn)位將被設(shè)置為0。

如果新內(nèi)容的至少一個(gè)數(shù)據(jù)比特設(shè)置為1,則控制電路MCM激活糾錯(cuò)碼機(jī)制MECC以執(zhí)行對(duì)與存儲(chǔ)器位置的新設(shè)想的內(nèi)容相關(guān)聯(lián)的新校驗(yàn)位的計(jì)算44,并隨后相繼激活擦除電路MEFF和編程電路MPR,以便通過(guò)傳統(tǒng)的擦除步驟45和編程步驟46的系列進(jìn)行對(duì)包括數(shù)字字的存儲(chǔ)器位置的新內(nèi)容的寫入。

如果對(duì)測(cè)試43的響應(yīng)是肯定的,則控制電路MCM可以再次執(zhí)行計(jì)算與存儲(chǔ)器位置的新設(shè)想內(nèi)容相關(guān)聯(lián)的新校驗(yàn)位的步驟44。

在此同樣地,盡管對(duì)于簡(jiǎn)化狀態(tài)機(jī)而言是優(yōu)選的,但是由于在這種情況下新校驗(yàn)位被設(shè)置為0,所以這一再次執(zhí)行是可選的。

作為一個(gè)變型,步驟44可以在步驟42與43之間執(zhí)行。

此后控制器僅激活擦除電路MEFF以便在沒(méi)有后續(xù)的編程步驟(因?yàn)楫?dāng)所有待寫入的比特都設(shè)置為0時(shí)它是不相關(guān)的)的情況下通 過(guò)擦除步驟47進(jìn)行對(duì)包括數(shù)字字的這一新內(nèi)容的寫入。

盡管這兩種寫入模式中只有一種可以在存儲(chǔ)器設(shè)備中可用,但這兩種模式可以在一起可用。

在這種情況下,如圖7所示,響應(yīng)于將數(shù)字字寫入到存儲(chǔ)器位置(步驟50),實(shí)現(xiàn)類似于圖5中的步驟31和32的步驟。

如果對(duì)步驟32的詢問(wèn)的響應(yīng)是“是”,則實(shí)現(xiàn)類似于圖5中步驟35、39和40的步驟以寫入數(shù)字字。

如果對(duì)步驟32的詢問(wèn)的響應(yīng)是“否”,則實(shí)現(xiàn)類似于圖6中步驟42和43的步驟。

如果對(duì)步驟43的詢問(wèn)的響應(yīng)是“是”,則實(shí)現(xiàn)類似于圖6的步驟44和47的步驟以寫入數(shù)字字。

如果對(duì)步驟43的詢問(wèn)的響應(yīng)是“否”,則實(shí)現(xiàn)類似于圖6的步驟44、45和46的步驟以寫入數(shù)字字。

利用第一寫入模式和第二寫入模式,因此可以在某些情況下減少寫入循環(huán)的持續(xù)時(shí)間并因此將這種循環(huán)的消耗以可能兩倍的因子減少和/或改進(jìn)產(chǎn)品的耐久性。

如圖8中左半邊所示,還可以定義第三寫入模式,其中響應(yīng)于將數(shù)字字寫入到存儲(chǔ)器位置的命令(步驟60),實(shí)現(xiàn)類似于圖5中步驟31和32的步驟。

如果對(duì)步驟32的詢問(wèn)的響應(yīng)是“是”,則實(shí)現(xiàn)類似于圖5的步驟35和圖6的步驟43的步驟。

如果對(duì)步驟43的詢問(wèn)的響應(yīng)是“是”,則控制電路MCM在可選地實(shí)現(xiàn)類似于圖6的步驟44的步驟之后,禁用擦除和編程步驟,并且數(shù)字字被認(rèn)為已經(jīng)寫入。

實(shí)際上在第三種模式中,期望將“0”寫入到已經(jīng)包含“0”的存儲(chǔ)器位置。

在這種情況下,如果編程步驟已經(jīng)實(shí)際被禁用,從而規(guī)避了編程脈沖的生成,則寫入循環(huán)的持續(xù)時(shí)間和消耗為零或者準(zhǔn)零。

如果在另一方面對(duì)步驟43的詢問(wèn)的響應(yīng)是“否”,則實(shí)現(xiàn)類似 于圖6的步驟44的步驟并隨后實(shí)現(xiàn)類似于圖6的步驟46的步驟以寫入數(shù)字字。

如圖8右半邊所示這一第三寫入模式也可以與第一寫入模式和第二寫入模式相結(jié)合。

更精確地,如果對(duì)步驟32的詢問(wèn)的響應(yīng)是“否”,則實(shí)現(xiàn)類似于圖5的步驟35和圖6的步驟43的步驟。

如果對(duì)步驟43的詢問(wèn)的響應(yīng)為“是”,則實(shí)現(xiàn)類似于圖6的步驟44和47的步驟以寫入數(shù)字字。

如果對(duì)步驟43的詢問(wèn)的響應(yīng)為“否”,則實(shí)現(xiàn)類似于圖6的步驟44、45和46的步驟以寫入數(shù)字字。

當(dāng)然,功能上將分別實(shí)現(xiàn)第一寫入模式、第二寫入模式和第三寫入模式的第一控制器、第二控制器和第三控制器可以在控制電路MCM內(nèi)以硬件方式組合在一起。

當(dāng)存儲(chǔ)器將要被按頁(yè)面寫入時(shí),擦除脈沖使得可以全局地擦除頁(yè)面的全部?jī)?nèi)容。

類似地,編程脈沖使得頁(yè)面的全部存儲(chǔ)器單元可以被選擇性地且同時(shí)地編程。

在通常的方式中,在生成擦除和/或編程脈沖之前或者在可能不生成用于寫入頁(yè)面的這種脈沖的情況下,控制電路將針對(duì)頁(yè)面的每個(gè)存儲(chǔ)器位置,檢測(cè)對(duì)于寫入包括新數(shù)字字和新校驗(yàn)位的所考慮存儲(chǔ)器位置的新內(nèi)容而言可能必需的一個(gè)或多個(gè)操作,并隨后針對(duì)頁(yè)面的寫入應(yīng)用最差的情況。

由此,如與圖5相對(duì)照的圖9所示,提出了由結(jié)合到控制電路MCM中的第四控制器在存儲(chǔ)器設(shè)備內(nèi)實(shí)現(xiàn)的第一頁(yè)面寫入模式,其提供測(cè)試90以確定對(duì)頁(yè)面的每個(gè)存儲(chǔ)器位置的寫入是否僅需要編程步驟。

在肯定情況下,僅通過(guò)編程步驟執(zhí)行對(duì)頁(yè)面的寫入91。

在相反情況下,傳統(tǒng)地通過(guò)擦除和隨后的編程執(zhí)行對(duì)頁(yè)面的寫入92。

如與圖6相對(duì)照的圖10所示,提出了由結(jié)合到控制電路MCM中的第五控制器在存儲(chǔ)器設(shè)備內(nèi)實(shí)現(xiàn)的第二頁(yè)面寫入模式,其提供測(cè)試100以確定對(duì)頁(yè)面的每個(gè)存儲(chǔ)器位置的寫入是否僅需要擦除步驟。

在肯定情況下,僅通過(guò)擦除步驟101執(zhí)行對(duì)頁(yè)面的寫入。

在相反情況下,傳統(tǒng)地通過(guò)擦除并隨后編程來(lái)執(zhí)行對(duì)頁(yè)面的寫入102。

圖11的包括步驟110和111的部分是與圖8的左半邊相對(duì)照的,并且示出了結(jié)合到控制電路MCM的第六控制器在存儲(chǔ)器設(shè)備內(nèi)實(shí)現(xiàn)的第三頁(yè)面寫入模式,其提供測(cè)試110以確定對(duì)頁(yè)面的每個(gè)存儲(chǔ)器位置的寫入是否既不需要擦除步驟也不需要編程步驟。

在肯定情況下,在沒(méi)有擦除或編程的情況下執(zhí)行對(duì)頁(yè)面的寫入111。

如圖11的剩余部分所示,第一頁(yè)面寫入模式、第二頁(yè)面寫入模式和第三頁(yè)面寫入模式可以相結(jié)合。

在這種情況下,如果至少一個(gè)數(shù)字字的寫入僅需要擦除步驟并且如果沒(méi)有其他數(shù)字字的寫入需要編程步驟(測(cè)試112),則對(duì)頁(yè)面的數(shù)字字的寫入僅需要擦除步驟113;如果至少一個(gè)數(shù)字字的寫入僅需要編程步驟并且如果無(wú)其他數(shù)字字的寫入需要擦除步驟(測(cè)試115),則僅需要編程步驟116;以及在所有其他情況下,需要傳統(tǒng)的擦除步驟和編程步驟的系列(步驟114)。

觸發(fā)第一寫入模式和/或第二寫入模式和/或第三寫入模式和/或第一頁(yè)面寫入模式和/或第二頁(yè)面寫入模式和/或第三頁(yè)面寫入模式的寫入命令可以是傳統(tǒng)的寫入命令或者其他情況是專門的命令。

第一寫入模式和/或第二寫入模式和/或第三寫入模式和/或第一頁(yè)面寫入模式和/或第二頁(yè)面寫入模式和/或第三頁(yè)面寫入模式可以在存儲(chǔ)器設(shè)備內(nèi)默認(rèn)實(shí)現(xiàn)或其他情況下可激活地實(shí)現(xiàn)。

執(zhí)行這一激活存在若干非限制可能性。

例如可以使用可由用戶編程的易失性或非易失性比特,例如存儲(chǔ)器的狀態(tài)寄存器SRG中存在并可通過(guò)SPI類型總線存取的狀態(tài)字的 比特。

還可以使用新的專門的寫入命令。

本發(fā)明在對(duì)整個(gè)存儲(chǔ)器層的最初寫入期間、例如當(dāng)該存儲(chǔ)器層必須被整體寫入0時(shí)是特別有用的。

因?yàn)槿绱?,在用戶的角度上?dāng)用戶希望存儲(chǔ)器層被考慮為最初寫入1時(shí),本發(fā)明也可以適用。實(shí)際上在這種情況下,足以在讀取和編程步驟期間提供數(shù)據(jù)反置,使得用戶角度上的數(shù)據(jù)項(xiàng)如互補(bǔ)數(shù)據(jù)項(xiàng)那樣在存儲(chǔ)器設(shè)備中內(nèi)部地被管理。

并且被用戶看作初始具有1(FF)的存儲(chǔ)器層將實(shí)際上內(nèi)部地被處理為必須寫入0。

在沒(méi)有在先的擦除步驟而只執(zhí)行編程步驟的情況下,已經(jīng)擦除的比特不能在擦除狀態(tài)中被刷新。

然而,這種情況不是問(wèn)題,因?yàn)檫@意味著所有比特被適當(dāng)?shù)貎?nèi)部讀取為0。并且如果比特有錯(cuò)誤并且內(nèi)部地顯示為1,則存儲(chǔ)器設(shè)備將隨后執(zhí)行完整的寫入循環(huán)(擦除和編程),這將隨后在所考慮比特的擦除狀態(tài)中將其刷新。

并且如果用戶不管如何都期望強(qiáng)制刷新擦除狀態(tài),則可以始終通過(guò)將1(或者如果內(nèi)部地提供了數(shù)據(jù)反置時(shí),0)輸入待寫入的數(shù)據(jù)并隨后再次寫入同一數(shù)字字來(lái)這樣做,這將隨后引起如上所述的完整的寫入循環(huán)(擦除和編程)。

通過(guò)構(gòu)成對(duì)EEPROM存儲(chǔ)器單元的過(guò)編程可能會(huì)引起功能和可靠性問(wèn)題(例如泄漏、耐久性)。

在傳統(tǒng)的EEPROM存儲(chǔ)器中,擦除操作是全局的,而編程操作是選擇性的并且總是跟在擦除操作之后。因此存儲(chǔ)器單元僅能被過(guò)擦除、但是永遠(yuǎn)不會(huì)被過(guò)編程。

本發(fā)明也避免對(duì)存儲(chǔ)器單元的過(guò)編程,因?yàn)橐丫幊痰拇鎯?chǔ)器單元(包含1)的存在將在下一寫入循環(huán)期間如上所述地禁止僅利用編程步驟執(zhí)行的寫入。

并且這是特別有益的,因?yàn)榇鎯?chǔ)器設(shè)備自動(dòng)地內(nèi)部管理在寫入循 環(huán)期間實(shí)現(xiàn)的一個(gè)或多個(gè)步驟的事實(shí)避免了用戶造成的任何意外的過(guò)編程。

利用本發(fā)明也不可能使存儲(chǔ)器字包含單個(gè)錯(cuò)誤以及不能用正確內(nèi)容來(lái)刷新。實(shí)際上在沒(méi)有在先擦除步驟的情況下實(shí)現(xiàn)編程步驟意味著存儲(chǔ)器字的所有比特被設(shè)置為0,并且對(duì)于漢明碼,所有比特被設(shè)置為0的事實(shí)意味著沒(méi)有單個(gè)比特有錯(cuò)誤。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
阜城县| 盱眙县| 安康市| 高邑县| 商水县| 临朐县| 龙泉市| 盐源县| 鱼台县| 台中市| 龙口市| 嘉禾县| 水城县| 景谷| 邵武市| 吉木萨尔县| 临夏县| 专栏| 小金县| 万州区| 唐海县| 社旗县| 灌云县| 天峨县| 铅山县| 微博| 贵德县| 交城县| 鱼台县| 邵阳市| 鲁甸县| 岳阳市| 长汀县| 玛曲县| 平原县| 兴仁县| 靖远县| 迁西县| 平武县| 固阳县| 门头沟区|