專利名稱:具有檢錯/糾錯電路的非揮發(fā)存儲器及其讀寫方法
技術(shù)領(lǐng)域:
發(fā)明涉及非揮發(fā)存儲器,尤其涉及具有檢錯/糾錯(Error Checking and Correcting, ECC)電路的非揮發(fā)存儲器及其讀寫方法。
背景技術(shù):
隨著集成電路的飛速發(fā)展,半導(dǎo)體存儲器的集成度越來越高,容量也越來越大。隨 之而來的問題是半導(dǎo)體存儲器的可靠性和成品率面臨嚴(yán)重的挑戰(zhàn),比如信噪比隨著集成度 的增加而減小,存儲節(jié)點電荷量的降低使得存儲單位更容易受宇宙射線的影響,深亞微米 技術(shù)下的工藝偏差和材料缺陷導(dǎo)致存儲器成品率的降低等。糾錯碼是一種不但可以檢測錯誤而且可以定位錯誤位置并進而糾正錯誤的一類 編碼,是半導(dǎo)體存儲器中一種重要的容錯技術(shù)。漢明碼是一種常用的糾錯碼,由于其簡單、 易于實現(xiàn)等特點,在存儲器中得以廣泛應(yīng)用。根據(jù)漢明碼的理論,漢明碼中校驗位的個數(shù)需滿足如下關(guān)系2k 彡 m+k+1(式 1)其中k為校驗位個數(shù);m為數(shù)據(jù)位個數(shù)。由上述式1可以看出,數(shù)據(jù)位越多則校驗位所占的比例越低,也就是說采用ECC電 路的面積開銷越小。比如,1個字節(jié)(byte)的數(shù)據(jù)位需要4比特的校驗位,存儲陣列的面積 開銷是50% ;4個字節(jié)的數(shù)據(jù)位則需要6個比特的校驗位,存儲陣列的面積開銷是18. 8%0對于外部接口是以字節(jié)為單位進行數(shù)據(jù)傳輸?shù)木哂蠩CC電路的非揮發(fā)存儲器,現(xiàn) 有技術(shù)中為了能夠解決減少存儲器面積開銷的問題,普遍采用多字節(jié)數(shù)據(jù)位的ECC碼字, 使校驗位能夠占用較少的比例。但是在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)存儲器內(nèi)部進行 讀寫時,現(xiàn)有技術(shù)采用的是多字節(jié)數(shù)據(jù)位的ECC碼字,尤其是在向內(nèi)部存儲陣列寫入新的 數(shù)據(jù)時,是以較大的空間單位如頁(Page,128KB)來操作的,如果輸入數(shù)據(jù)量不滿一頁(這 種情形目前是非常常見的),則會增加寫入時間,大大降低了存儲靈活性,十分浪費寫操作 的空間,而且操作過程中不必要的擦除/編程操作會大大降低EEPR0M的使用壽命。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是在于需要提供一種具有檢錯/糾錯電路的非揮發(fā) 存儲器以及該存儲器的讀寫方法,存儲器內(nèi)部以ECC碼字為單位進行讀寫操作。為了解決上述技術(shù)問題,本發(fā)明首先提供了一種從具有檢錯/糾錯電路的非揮發(fā) 存儲器讀取數(shù)據(jù)的方法,以檢錯/糾錯碼字為單位,從所述非揮發(fā)存儲器的存儲陣列中讀 取數(shù)據(jù);所述檢錯/糾錯碼字,包括若干檢錯/糾錯數(shù)據(jù)組,以及與所述若干檢錯/糾錯數(shù) 據(jù)組相對應(yīng)的校驗位,一個檢錯/糾錯數(shù)據(jù)組包含有至少兩個字節(jié)。優(yōu)選地,獲取所要讀取的數(shù)據(jù)所在檢錯/糾錯碼字,利用其中的校驗位對其中的檢錯/糾錯數(shù)據(jù)組進行檢錯/糾錯處理,然后以字節(jié)為單位進行輸出。優(yōu)選地,所述非揮發(fā)存儲器的外部接口以字節(jié)為單位進行數(shù)據(jù)傳輸。為了解決上述技術(shù)問題,本發(fā)明還提供了一種向具有檢錯/糾錯電路的非揮發(fā)存 儲器連續(xù)寫入數(shù)據(jù)的方法,該方法包括獲得外部輸入數(shù)據(jù)的首地址及末地址;根據(jù)所述首地址及末地址緩存所述外部輸入數(shù)據(jù);若所述外部輸入數(shù)據(jù)所在的檢錯/糾錯數(shù)據(jù)組有部分字節(jié)不需要被替換,則從所 述非揮發(fā)存儲器的存儲陣列中獲得該不需要被替換的字節(jié)即回寫數(shù)據(jù)并緩存;檢錯/糾錯 數(shù)據(jù)組包含有至少兩個字節(jié);將所述外部輸入數(shù)據(jù),或者所述外部輸入數(shù)據(jù)及回寫數(shù)據(jù),組成新的檢錯/糾錯 數(shù)據(jù)組,為所述新的檢錯/糾錯數(shù)據(jù)組生成對應(yīng)的校驗位;將所述新的檢錯/糾錯數(shù)據(jù)組及對應(yīng)的校驗位寫入到所述存儲陣列。優(yōu)選地,所述外部輸入數(shù)據(jù),以字節(jié)為單位進行輸入。優(yōu)選地,獲得所述外部輸入數(shù)據(jù)在所述非揮發(fā)存儲器中的首地址后,根據(jù)所述首 地址為所述外部輸入數(shù)據(jù)連續(xù)分配存儲地址,一直分配到所述末地址為止。優(yōu)選地,從所述存儲陣列中獲得所述回寫數(shù)據(jù)的步驟,包括以檢錯/糾錯碼字為 單位,讀取所述首地址和/或末地址的數(shù)據(jù)所在的檢錯/糾錯碼字,從中獲得所述回寫數(shù) 據(jù);所述檢錯/糾錯碼字,包括若干檢錯/糾錯數(shù)據(jù)組,以及與所述若干檢錯/糾錯數(shù)據(jù)組 相對應(yīng)的校驗位。為了解決上述技術(shù)問題,本發(fā)明還提供了一種具有檢錯/糾錯電路的非揮發(fā)存儲 器,包括存儲陣列、寫入狀態(tài)機、緩沖器及檢錯/糾錯電路,其中所述存儲陣列,用于讀操作時完成以檢錯/糾錯碼字為單位的數(shù)據(jù)輸出,寫操作 時完成以檢錯/糾錯碼字為單位的數(shù)據(jù)連續(xù)寫入;所述寫入狀態(tài)機,用于接收讀操作指令或?qū)懖僮髦噶睿桓鶕?jù)所述讀操作指令,以檢錯/糾錯碼字為單位,從所述存儲陣列中讀取數(shù)據(jù);所 述檢錯/糾錯碼字,包括若干檢錯/糾錯數(shù)據(jù)組以及與所述若干檢錯/糾錯數(shù)據(jù)組相對應(yīng) 的校驗位,一個檢錯/糾錯數(shù)據(jù)組包含有至少兩個字節(jié);根據(jù)所述寫操作指令,獲得外部輸入數(shù)據(jù)的首地址及末地址,并根據(jù)所述首地址 及末地址緩存所述外部輸入數(shù)據(jù);判斷所述外部輸入數(shù)據(jù)所在的檢錯/糾錯數(shù)據(jù)組是否有 部分字節(jié)不需要被替換,是則從所述存儲陣列中獲得該不需要被替換的字節(jié)即回寫數(shù)據(jù), 將所述外部輸入數(shù)據(jù),或者所述外部輸入數(shù)據(jù)及回寫數(shù)據(jù)存入所述緩沖器;所述檢錯/糾錯電路,用于對從所述存儲陣列中讀取數(shù)據(jù)進行檢錯/糾錯,為所述 緩沖器中由所述外部輸入數(shù)據(jù),或者所述外部輸入數(shù)據(jù)及回寫數(shù)據(jù)組成的新的檢錯/糾錯 數(shù)據(jù)組產(chǎn)生校驗位。優(yōu)選地,所述非揮發(fā)存儲器的外部接口以字節(jié)為單位進行數(shù)據(jù)的輸入或輸出。優(yōu)選地,寫入狀態(tài)機獲得所述外部輸入數(shù)據(jù)在所述非揮發(fā)存儲器中的首地址后, 根據(jù)所述首地址為所述外部輸入數(shù)據(jù)連續(xù)分配存儲地址,一直分配到末地址為止。優(yōu)選地,所述不需要被替換的字節(jié),以ECC碼字為單位從所述存儲陣列中讀取,并 以字節(jié)為單位獲得所述回寫數(shù)據(jù)。
優(yōu)選地,所述非揮發(fā)存儲器還包括輸入單元,用于以字節(jié)為單位存儲數(shù)據(jù),包括二選一多路選擇器;輸出單元,用于以字節(jié)為單位輸出數(shù)據(jù),包括多路選擇器;所述寫入狀態(tài)機,根據(jù)所述讀操作指令向所述輸出單元發(fā)送輸出選通信號,指示 所述輸出單元對所述檢錯/糾錯碼字中的檢錯/糾錯數(shù)據(jù)組按字節(jié)輸出;根據(jù)所述寫操作 指令向所述輸入單元發(fā)送輸入選通信號,指示所述輸入單元將所述外部輸入數(shù)據(jù),或者所 述外部輸入數(shù)據(jù)及回寫數(shù)據(jù)存入所述緩沖器。優(yōu)選地,所述寫入狀態(tài)機通過一控制信號的不同邏輯值,來指示所述檢錯/糾錯 電路對從所述存儲陣列中讀取的數(shù)據(jù)進行檢錯/糾錯,或者為所述新的檢錯/糾錯數(shù)據(jù)組 產(chǎn)生校驗位。與現(xiàn)有技術(shù)相比,本發(fā)明中對于外部接口是以字節(jié)為單位進行數(shù)據(jù)傳輸?shù)木哂?ECC電路的非揮發(fā)存儲器,實現(xiàn)了以ECC碼字為單位從存儲陣列中讀數(shù)據(jù)或者向存儲陣列 中寫數(shù)據(jù),在有效減少校驗位占用存儲器容量的比例、節(jié)省存儲器陣列中校驗位的面積開 銷的同時,數(shù)據(jù)寫入時不需要為每個字節(jié)都標(biāo)示標(biāo)志位,只對對應(yīng)的ECC碼字進行擦除操 作,提高了存儲的靈活性以及存儲空間的利用效率,加快了數(shù)據(jù)寫操作的速度,同時減少了 以頁為單位執(zhí)行讀寫操作對存儲器的使用壽命的影響。
圖1為本發(fā)明非揮發(fā)存儲器一實施例的組成示意圖。圖2為讀數(shù)據(jù)操作實施例中數(shù)據(jù)位置示意圖。圖3為讀數(shù)據(jù)操作實施例的流程示意圖。圖4為寫數(shù)據(jù)操作實施例中數(shù)據(jù)位置示意圖。圖5為寫數(shù)據(jù)操作實施例的流程示意圖。
具體實施例方式以下將結(jié)合附圖及實施例來詳細(xì)說明本發(fā)明的實施方式,借此對本發(fā)明如何應(yīng)用 技術(shù)手段來解決技術(shù)問題,并達成技術(shù)效果的實現(xiàn)過程能充分理解并據(jù)以實施。圖1為本發(fā)明非揮發(fā)存儲器一實施例的組成示意圖,該非揮發(fā)存儲器的外部接口 以字節(jié)為單位傳輸數(shù)據(jù)。在本實施例中,ECC碼字為38位(bit),包括ECC數(shù)據(jù)組(ECC data set)和校驗位,其中ECC數(shù)據(jù)組為32位,校驗位為6位。以8位為1個字節(jié)(byte),ECC數(shù) 據(jù)組共有4個字節(jié)(至少兩個字節(jié))。以下如未特別聲明,本申請下述各實施例中1個ECC 數(shù)據(jù)組包含4個字節(jié),1字節(jié)包含8位。如圖1所示,該存儲器實施例主要包括存儲陣列(Memory Array) 110、寫入狀態(tài)機 (Write State Machine,WSM) 120、行地址譯碼器125、列地址譯碼器及靈敏放大器126、ECC 電路130、緩沖器140、鎖存器(Latch) 150、輸出單元160及輸入單元170,其中存儲陣列110,與行地址譯碼器125及列地址譯碼器及靈敏放大器126相連,用于 存儲數(shù)據(jù);讀操作時,以ECC碼字為單位向列地址譯碼器及靈敏放大器126輸出數(shù)據(jù);寫操 作時,接收列地址譯碼器及靈敏放大器126發(fā)送過來的ECC數(shù)據(jù)組及與該ECC數(shù)據(jù)組對應(yīng) 的校驗位并存儲;
寫入狀態(tài)機120,與行地址譯碼器125、列地址譯碼器及靈敏放大器126、ECC電路 130、輸出單元160及輸入單元170相連,用于控制存儲器讀寫的所有時序;在讀數(shù)據(jù)操作 時,根據(jù)讀操作指令向行地址譯碼器125及列地址譯碼器及靈敏放大器126分別發(fā)送用于 定位所述目標(biāo)數(shù)據(jù)所在ECC碼字地址的行地址信號和列地址信號,向ECC電路130發(fā)送一 用于對ECC數(shù)據(jù)組進行檢錯/糾錯指示的檢錯/糾錯信號,向輸出單元160發(fā)送一用于在 ECC數(shù)據(jù)組中進行字節(jié)定位的輸出選通信號,該輸出選通信號包含有字節(jié)定位信息;在寫數(shù)據(jù)操作時,根據(jù)寫操作指令獲得待寫入數(shù)據(jù)的首地址并記錄,根據(jù)該首地 址為后續(xù)輸入數(shù)據(jù)分配地址并記錄;檢測并判斷首地址的數(shù)據(jù)所在的ECC數(shù)據(jù)組是否有部 分字節(jié)需要被替換,如果是則從存儲陣列110中讀出該需要被替換的部分字節(jié)所在的ECC 碼字;如果是整個ECC數(shù)據(jù)組中的字節(jié)都需要被替換,則不必讀出該ECC數(shù)據(jù)組所在的ECC 碼字;在收到外部控制輸入的停止寫入的信息時,獲得待寫入數(shù)據(jù)的末地址并記錄;檢測 并判斷末地址的數(shù)據(jù)所在的ECC數(shù)據(jù)組是否有部分字節(jié)需要被替換,如果是則從存儲陣列 110中讀出該需要被替換的部分字節(jié)所在的ECC碼字;根據(jù)寫操作指令向輸入單元170發(fā) 送一用于外部輸入數(shù)據(jù)或回寫數(shù)據(jù)寫入緩沖器140中的輸入選通信號,其中該外部輸入數(shù) 據(jù)為外部輸入的待寫入數(shù)據(jù),以字節(jié)為單位,該回寫數(shù)據(jù)為從存儲陣列110中讀出并回寫 到存儲陣列110中的待寫入數(shù)據(jù),也以字節(jié)為單位;前述的首地址的數(shù)據(jù)為外部輸入數(shù)據(jù); 其中該輸入選通信號,用于控制該輸入單元170向緩沖器140中輸入外部輸入數(shù)據(jù),或者外 部輸入數(shù)據(jù)及回寫數(shù)據(jù);還向ECC電路130發(fā)送一用于為ECC數(shù)據(jù)組產(chǎn)生校驗位的校驗位 產(chǎn)生信號;行地址譯碼器125,與存儲陣列110及寫入狀態(tài)機120相連,用于從存儲陣列110 中取數(shù)據(jù)時確認(rèn)數(shù)據(jù)地址(包括讀數(shù)據(jù)操作時從存儲陣列110中取數(shù)據(jù)的情形,以及寫數(shù) 據(jù)操作時從存儲陣列110中取數(shù)據(jù)的情形),接收寫入狀態(tài)機120發(fā)送的行地址信號,對該 行地址信號進行譯碼,獲得含有數(shù)據(jù)地址的行地址信息,并將該行地址信息發(fā)送給存儲陣 列 110 ;列地址譯碼器及靈敏放大器126,與存儲陣列110、寫入狀態(tài)機120、ECC電路130 及緩沖器140相連,接收寫入狀態(tài)機120所發(fā)送的列地址信號,寫數(shù)據(jù)操作時,接收從緩沖 器140中發(fā)送過來的ECC數(shù)據(jù)組及與該ECC數(shù)據(jù)組對應(yīng)的校驗位,然后發(fā)送到存儲陣列110 中存儲;ECC電路130,與寫入狀態(tài)機120、列地址譯碼器及靈敏放大器126、緩沖器140及 鎖存器150相連,用于在讀數(shù)據(jù)操作時,接收列地址譯碼器及靈敏放大器126發(fā)送的ECC碼 字,并根據(jù)該寫入狀態(tài)機120發(fā)送的該檢錯/糾錯信號,利用ECC碼字中的校驗位對ECC碼 字中的ECC數(shù)據(jù)組進行檢錯/糾錯,獲得校驗后的正確的ECC數(shù)據(jù)組(以下簡稱為檢錯/ 糾錯后的ECC數(shù)據(jù)組),將該檢錯/糾錯后的ECC數(shù)據(jù)組發(fā)送至鎖存器150 ;還用于在寫數(shù) 據(jù)操作時,根據(jù)寫入狀態(tài)機120發(fā)送的該校驗位產(chǎn)生信號,為緩沖器140中存儲的ECC數(shù)據(jù) 組產(chǎn)生校驗位;在本實施例中,檢錯/糾錯信號與校驗位產(chǎn)生信號是用同一控制信號的不 同邏輯值來表示的;緩沖器140,與列地址譯碼器及靈敏放大器126、ECC電路130及輸入單元170相 連,用于緩存通過輸入單元170所輸入的外部輸入數(shù)據(jù),或者外部輸入數(shù)據(jù)及回寫數(shù)據(jù),在 所輸入的數(shù)據(jù)組成一 ECC數(shù)據(jù)組后,存儲ECC電路130為該ECC數(shù)據(jù)組所生成的校驗位,并將該ECC數(shù)據(jù)組及對應(yīng)的校驗位通過列地址譯碼器及靈敏放大器126寫入存儲陣列110 ; 在本實施例中,緩沖器140的存儲容量,與存儲陣列110中的頁的大小相等;鎖存器150,與ECC電路130及輸出單元160相連,用于存儲經(jīng)過ECC電路130進 行檢錯/糾錯后的ECC數(shù)據(jù)組;輸出單元160,與寫入狀態(tài)機120、鎖存器150及輸入單元170相連,用于根據(jù)寫入 狀態(tài)機120發(fā)送的輸出選通信號,將鎖存器150中所保存的ECC數(shù)據(jù)組按字節(jié)輸出,在本實 施例中,一個ECC數(shù)據(jù)組包含四個字節(jié),因此該輸出單元160為一四選一多路選擇器,以將 鎖存器150中的數(shù)據(jù)按每次一字節(jié)選擇輸出;輸出選通信號采用2bits地址信號,典型地, 選取表示最低兩位地址的地址信號A[1:0];在其他實施例中,如果一個ECC數(shù)據(jù)組包括其 他數(shù)量的字節(jié)數(shù)目,則可以選用相應(yīng)的多路選擇器,比如一個ECC數(shù)據(jù)組包含8個字節(jié),此 時就可以選用八選一多路選擇器作為該輸出單元160;總之,輸出單元160選用多路選擇器 時,該選用的多路選擇器的類型,根據(jù)一次所能輸出的數(shù)據(jù)長度占鎖存器中ECC數(shù)據(jù)組的 比例來確定;輸入單元170,與寫入狀態(tài)機120、緩沖器140及輸出單元160相連,用于接收外部 輸入數(shù)據(jù),或者外部輸入數(shù)據(jù)及輸出單元160輸出的回寫數(shù)據(jù),并在寫入狀態(tài)機120發(fā)送的 輸入選通信號作用下,將該外部輸入數(shù)據(jù),或者外部輸入數(shù)據(jù)及回寫數(shù)據(jù)以字節(jié)為單位發(fā) 送到緩沖器140中;本實施例中,通過該輸入單元170所輸入的數(shù)據(jù)包含兩種,一種是外部 輸入的外部輸入數(shù)據(jù),另一種是從存儲陣列110中讀取并經(jīng)輸出單元160輸出的回寫數(shù)據(jù), 因此該輸入單元170為一二選一多路選擇器。需要說明的是,寫操作過程中之所以要回寫數(shù)據(jù),是因為存儲器的外部接口是以 字節(jié)為單位進行讀寫操作的,而存儲器內(nèi)部是以ECC碼字為單位進行讀寫操作的,當(dāng)一個 字節(jié)的數(shù)據(jù)寫入存儲器時,其對應(yīng)的ECC碼字就需要重新寫入存儲陣列110中;為了保證在 ECC碼字中不需要被替換的數(shù)據(jù)(即前述的回寫數(shù)據(jù))與進行替換的數(shù)據(jù)(即前述的外部 輸入數(shù)據(jù))進行重組后獲得的新的ECC碼字是準(zhǔn)確的,所以向存儲陣列110中寫入數(shù)據(jù)時 先經(jīng)過檢錯/糾錯處理,保證了寫入的ECC碼字準(zhǔn)確無誤。如圖1所示,緩沖器140包括數(shù)據(jù)緩沖器(Data Buffer) 142和校驗位緩沖器 (Check_bit Buffer) 144,其中數(shù)據(jù)緩沖器142,與列地址譯碼器及靈敏放大器126、ECC電路130及輸入單元170 相連,用于存儲通過輸入單元170所輸入的數(shù)據(jù)(外部輸入數(shù)據(jù),或者外部輸入數(shù)據(jù)及回寫 數(shù)據(jù)),在本實施例中,所存儲的數(shù)據(jù)用于組成包含4個8bits的ECC數(shù)據(jù)組,也即一個ECC 數(shù)據(jù)組共32位;校驗位緩沖器144,與列地址譯碼器及靈敏放大器126及ECC電路130相連,用于 存儲ECC電路130為數(shù)據(jù)緩沖器142中所存儲的ECC數(shù)據(jù)組所生成的校驗位,由于32位數(shù) 據(jù)需要6位校驗位,因此在本實施例中,該校驗位為6位。以下通過一個讀數(shù)據(jù)操作實施例和一個寫數(shù)據(jù)操作實施例,來進一步詳細(xì)說明圖 1所示非揮發(fā)存儲器實施例的特點。(一 )讀數(shù)據(jù)操作實施例讀數(shù)據(jù)時,以ECC碼字為單位從存儲陣列中讀取數(shù)據(jù),其中該ECC碼字包括ECC數(shù) 據(jù)組(ECC data set)和校驗位。本實施例欲要讀出存儲陣列第M個ECC碼字中ECC數(shù)據(jù)組的第三個字節(jié)datal,即圖2所示的帶陰影的字節(jié)。圖3為讀數(shù)據(jù)操作實施例的流程示意 圖,結(jié)合圖1所示非揮發(fā)存儲器實施例以及圖2所示數(shù)據(jù)位置示意,該讀數(shù)據(jù)操作實施例主 要包括如下步驟步驟S310,根據(jù)讀操作指令,寫入狀態(tài)機120向行地址譯碼器125及列地址譯碼器 及靈敏放大器126分別發(fā)送用于定位所要讀取的數(shù)據(jù)所在的ECC碼字的行地址信號和列地 址信號,向ECC電路130發(fā)送一用于對ECC數(shù)據(jù)組進行檢錯/糾錯指示的檢錯/糾錯信號, 還向輸出單元160發(fā)送一用于從ECC數(shù)據(jù)組中定位目標(biāo)數(shù)據(jù)datal的輸出選通信號;步驟S320,行地址譯碼器125及列地址譯碼器及靈敏放大器126分別對該行地址 信號和列地址信號進行譯碼,分別獲得目標(biāo)數(shù)據(jù)datal所在ECC碼字的行地址信息和列地 址信息,并將該行地址信息和列地址信息發(fā)送給存儲陣列110 ;步驟S330,存儲陣列110收到行地址譯碼器125及列地址譯碼器及靈敏放大器 126發(fā)送的該行地址信息和列地址信息后,根據(jù)該些地址信息(即該行地址信息及列地址 信息),將含有該目標(biāo)數(shù)據(jù)datal的該第M個ECC碼字經(jīng)列地址譯碼器及靈敏放大器126發(fā) 送給ECC電路130,其中該第M個ECC碼字包含ECC數(shù)據(jù)組和校驗位,待輸出數(shù)據(jù)datal包 含在該ECC數(shù)據(jù)組中;在本讀數(shù)據(jù)實施例中,是要讀出1字節(jié)(Sbits)的數(shù)據(jù),則從存儲陣列110中讀出 的ECC碼字為38位(bit);該38位的ECC碼字中包含32位的ECC數(shù)據(jù)組(一個ECC數(shù)據(jù) 組包含四個Sbits的字節(jié))和6位的校驗位,該待輸出的1字節(jié)的目標(biāo)數(shù)據(jù)datal,包含在 該32位的ECC數(shù)據(jù)組中;步驟S340,ECC電路130接收到該第M個ECC碼字后,根據(jù)寫入狀態(tài)機125發(fā)送的 該檢錯/糾錯信號,利用該第M個ECC碼字中的校驗位對該第M個ECC碼字中的ECC數(shù)據(jù) 組進行檢錯/糾錯,獲得檢錯/糾錯后的ECC數(shù)據(jù)組;步驟S350,ECC電路130將該檢錯/糾錯后的ECC數(shù)據(jù)組發(fā)送至鎖存器150 ;步驟S360,輸出單元160根據(jù)該輸出選通信號,從鎖存器150所存儲的該檢錯/糾 錯后的ECC數(shù)據(jù)組中獲得目標(biāo)數(shù)據(jù)datal并輸出;由于一個ECC數(shù)據(jù)組包含四個8bits的字節(jié),因此該輸出單元160為一四選一多 路選擇器,以將鎖存器150中的數(shù)據(jù)按每次一字節(jié)選擇輸出,輸出選通信號采用2bits地址 信號,典型地,選取最低兩位地址A[1:0]。在本讀數(shù)據(jù)操作的實施例中,寫入狀態(tài)機120向該行地址譯碼器125及列地址譯 碼器及靈敏放大器126發(fā)送地址信號,向該ECC電路130發(fā)送該檢錯/糾錯信號,以及向該 四選一多路選擇器發(fā)送的該輸出選通信號的時序,是由寫入狀態(tài)機120控制的,而且沒有 嚴(yán)格的限制,也即前述步驟S310與后續(xù)步驟并不存在嚴(yán)格的先后順序。比如在其他的讀操 作實施例中,寫入狀態(tài)機120向該ECC電路130發(fā)送該檢錯/糾錯信號,可以是在前述步驟 S320中該ECC電路130接收到該ECC碼字之后;又如寫入狀態(tài)機120向該四選一多路選擇 器發(fā)送的該輸出選通信號,可以是在前述步驟S340中該ECC電路進行檢錯/糾錯之后,或 者前述步驟S350中該ECC電路將該檢錯/糾錯后的ECC數(shù)據(jù)組發(fā)送至該鎖存器150之后。4字節(jié)的ECC數(shù)據(jù)組一次輸出1字節(jié),將2位地址作為4選1的輸出選通信號,該 2位地址為輸出數(shù)據(jù)首地址的低兩位,由于是連續(xù)操作,因此后續(xù)數(shù)據(jù)的地址根據(jù)該首地址 累加1獲得。
以上是以欲要讀出的數(shù)據(jù)為一個字節(jié)為例來說明的。如果欲要讀出的數(shù)據(jù)是包含 在一個ECC碼字中的兩個、三個或者四個字節(jié),則寫入狀態(tài)機120向四選一多路選擇器發(fā)送 的輸出選通信號分別包含該兩個、三個或者四個字節(jié)的地址信息。如果欲要讀出的數(shù)據(jù)包含在多個ECC碼字中,則在讀操作時,每次讀出一個ECC碼 字,然后從該ECC碼字中依次讀出各字節(jié)的數(shù)據(jù)。通過讀取該多個ECC碼字,最后獲得該包 含在多個ECC碼字中的欲要讀出的數(shù)據(jù)。( 二)寫數(shù)據(jù)操作實施例在本實施例中,輸入單元170為一二選一多路選擇器,要寫入的從外部輸入的外 部輸入數(shù)據(jù)為9字節(jié)共72bits,欲要從存儲陣列110第N個ECC碼字的ECC數(shù)據(jù)組第二個 字節(jié)開始寫入,結(jié)束于第N+2個ECC碼字的ECC數(shù)據(jù)組第二個字節(jié)。當(dāng)然,一次輸入的外部 輸入數(shù)據(jù),不能超過數(shù)據(jù)緩沖器142的容量。圖4所示的帶陰影的字節(jié)為待寫入的字節(jié),且 每字節(jié)數(shù)據(jù)位對應(yīng)的ECC數(shù)據(jù)組是固定的。圖5為寫數(shù)據(jù)操作實施例的流程示意圖,結(jié)合 圖1所示非揮發(fā)存儲器實施例以及圖4所示的數(shù)據(jù)位置示意,該寫數(shù)據(jù)操作主要包括如下 步驟步驟S510,根據(jù)寫操作指令,寫入狀態(tài)機120獲得外部輸入數(shù)據(jù)在非揮發(fā)存儲器 中的首地址并記錄;在本實施例中,該外部輸入數(shù)據(jù)的首地址為存儲陣列110中第N個ECC碼字的ECC 數(shù)據(jù)組第二個字節(jié)的地址;步驟S520,根據(jù)該首地址,寫入狀態(tài)機120為后續(xù)的外部輸入數(shù)據(jù)分配在非揮發(fā) 存儲器中的存儲地址并記錄;在本實施例中,該分配的存儲地址為從該首地址開始的連續(xù)9個字節(jié)的地址;步驟S530,寫入狀態(tài)機120在收到外部控制輸入的停止寫入的信息時,獲得外部 輸入數(shù)據(jù)在非揮發(fā)存儲器中的末地址并記錄;也即為外部輸入數(shù)據(jù)分配存儲地址時,該存 儲地址一直分配到所獲得的末地址為止;步驟S540,將該9個字節(jié)的外部輸入數(shù)據(jù)按照各自的地址,緩存到數(shù)據(jù)緩沖器142 中;步驟S542,根據(jù)外部輸入數(shù)據(jù)的首地址和末地址,判斷出需要從存儲陣列110中 讀取回寫數(shù)據(jù);在本實施例中,由于外部輸入數(shù)據(jù)的首地址,是第N個ECC碼字中ECC數(shù)據(jù)組的第 二個字節(jié)的位置,為了保證寫入的準(zhǔn)確性,需要將該第N個ECC碼字中ECC數(shù)據(jù)組的第一個 字節(jié)讀取出來并進行回寫;由于外部輸入數(shù)據(jù)的末地址,是第N+2個ECC碼字中ECC數(shù)據(jù)組 的第二個字節(jié),需要將該第N+2個ECC碼字中ECC數(shù)據(jù)組的第三、第四個字節(jié)讀取出來并進 行回寫;步驟S544,從存儲陣列110中讀出該第N個ECC碼字,獲得其ECC數(shù)據(jù)組中的第一 個字節(jié),緩存到數(shù)據(jù)緩沖器142中,地址位于外部輸入數(shù)據(jù)首地址前;步驟S546,從存儲陣列110中讀出該第N+2個ECC碼字,獲得其ECC數(shù)據(jù)組中的第 三、第四個字節(jié),緩存到數(shù)據(jù)緩沖器142中,地址位于外部輸入數(shù)據(jù)末地址后;如此一來,數(shù)據(jù)緩沖器142中存儲了三個ECC數(shù)據(jù)組;步驟S550,ECC電路分別為數(shù)據(jù)緩沖器142中存儲的三個新的ECC數(shù)據(jù)組生成各自對應(yīng)的校驗位,然后將所生成的校驗位發(fā)送到校驗位緩沖器144緩存;步驟S560,將該三個新字節(jié)與各自對應(yīng)的校驗位,一次一個碼字(一個ECC數(shù)據(jù)組 及對應(yīng)的校驗位)地發(fā)送到存儲陣列110,按照對應(yīng)的地址進行存儲。上述步驟S542,由于是從存儲陣列110第N個ECC碼字的ECC數(shù)據(jù)組第二個字節(jié) 開始寫入,并且結(jié)束于第N+2個ECC碼字的ECC數(shù)據(jù)組第二個字節(jié),因此需要將該第N個 ECC碼字的ECC數(shù)據(jù)組第一個字節(jié),以及該第N+2個ECC碼字的ECC數(shù)據(jù)組第三、第四個字 節(jié)讀出并回寫到數(shù)據(jù)緩沖器142。上述步驟S544和步驟S546中的讀數(shù)據(jù)操作,請參照圖3 所示讀數(shù)據(jù)操作實施例,此處不再贅述?;貙憰r是把輸出單元160輸出的字節(jié)發(fā)送到輸入 單元170,由輸入單元170發(fā)送到緩沖器142。本寫數(shù)據(jù)操作實施例中,該新的第N個ECC碼字的ECC數(shù)據(jù)組中,第一個字節(jié)為從 存儲陣列110中讀出并回寫的字節(jié),后三個字節(jié)為外部輸入數(shù)據(jù)中順序排列的第一、第二 及第三個字節(jié);該新的第N+1個ECC碼字的ECC數(shù)據(jù)組,順序排列外部輸入數(shù)據(jù)的第四至第 七個字節(jié);該新的第N+2個ECC碼字的ECC數(shù)據(jù)組第一及第二個字節(jié),分別為外部輸入數(shù)據(jù) 的第八和第九個字節(jié),后兩個字節(jié),為從存儲陣列110中讀出并回寫的字節(jié)。需要說明的是,上述寫數(shù)據(jù)操作實施例中,為外部輸入數(shù)據(jù)分配存儲地址時是以 連續(xù)加1的方式進行分配的,實際上還可以采用記錄等方式為外部輸入數(shù)據(jù)分配存儲地 址。另外,上述寫數(shù)據(jù)操作實施例是以連續(xù)寫入(即在存儲陣列中外部輸入數(shù)據(jù)的存儲地 址是連續(xù)的)的方式進行說明的,對于不連續(xù)寫入(即在存儲陣列中外部輸入數(shù)據(jù)的存儲 地址是不連續(xù)的)的外部輸入數(shù)據(jù),可以將其視作若干連續(xù)寫入的數(shù)據(jù)段,從而采用上述 寫操作實施例的步驟完成寫入?,F(xiàn)有技術(shù)中對待寫入的整頁數(shù)據(jù)的每個字節(jié),都需要采用標(biāo)志位來標(biāo)示地址。在 本發(fā)明中,采用首位地址確定后根據(jù)該首位地址連續(xù)數(shù)據(jù)的方法,不需要為每個字節(jié)都標(biāo) 示標(biāo)志位。相比現(xiàn)有技術(shù)而言,本發(fā)明中最多需要兩次標(biāo)示地址信息(首地址及末地址) 即可。由圖5所示寫操作實施例可知,在寫操作過程中,輸入單元170在將外部輸入數(shù)據(jù) 寫入數(shù)據(jù)緩沖器142之后,寫入狀態(tài)機120還需要判斷是否需要從存儲陣列110中讀出數(shù) 據(jù)以進行回寫。接收外部輸入數(shù)據(jù)時,獲得外部輸入數(shù)據(jù)的首地址并記錄,并根據(jù)首地址為外部 輸入數(shù)據(jù)分配地址。收到外部控制輸入的停止寫入的信息時,獲得外部輸入數(shù)據(jù)的末地址 并記錄。根據(jù)該首地址尋址定位該首地址數(shù)據(jù)所在的ECC數(shù)據(jù)組,根據(jù)該末地址尋址定位 該末地址數(shù)據(jù)所在的ECC數(shù)據(jù)組;然后分別判斷該首地址數(shù)據(jù)所在的ECC數(shù)據(jù)組是不是有 部分字節(jié)不需要被替換,以及該末地址數(shù)據(jù)所在的ECC數(shù)據(jù)組是不是有部分字節(jié)不需要被替換。如果該首地址數(shù)據(jù)所在的ECC數(shù)據(jù)組和/或該末地址數(shù)據(jù)所在的ECC數(shù)據(jù)組,有 部分字節(jié)不需要被替換,則通過行地址譯碼器125、列地址譯碼器及靈敏放大器126及ECC 電路130等,將ECC數(shù)據(jù)組中不需要被替換的字節(jié)通過輸出單元160,發(fā)送到輸入單元170。 輸入單元170在輸入選通信號的作用下,接收輸出單元160所發(fā)送的回寫數(shù)據(jù)并發(fā)送到數(shù) 據(jù)緩沖器142存儲。如果是整個ECC數(shù)據(jù)組的全部字節(jié)均需要被替換,則無需從存儲陣列110中讀出數(shù)據(jù)。在數(shù)據(jù)緩沖器142存儲了全部需要寫入到存儲陣列110中的數(shù)據(jù)(包括外部輸入 數(shù)據(jù),如果有回寫數(shù)據(jù)的話還包括回寫數(shù)據(jù))后,向ECC電路130發(fā)送校驗位產(chǎn)生信號。ECC 電路130根據(jù)該校驗位產(chǎn)生信號,為數(shù)據(jù)緩沖器142中存儲的每個ECC數(shù)據(jù)組分別生成校 驗位并發(fā)送到校驗位緩沖器144中存儲,然后將各ECC數(shù)據(jù)組及對應(yīng)的校驗位經(jīng)列地址譯 碼器及靈敏放大器126發(fā)送到存儲陣列110。在發(fā)往存儲陣列110時,可以將ECC數(shù)據(jù)組及 對應(yīng)的校驗位發(fā)送給存儲陣列110中存儲,一次寫入一個ECC碼字。在圖5所示的寫數(shù)據(jù)操作實施例中,數(shù)據(jù)緩沖器142中存儲的是第N、第N+1及第 N+2個ECC碼字中的ECC數(shù)據(jù)組,相應(yīng)的,校驗位緩沖器144中分別存儲該第N、第N+1及第 N+2個ECC碼字中的ECC數(shù)據(jù)組的校驗位,其中,每個ECC數(shù)據(jù)組為32位,對應(yīng)的校驗位為 6位。上述該寫操作實施例,實現(xiàn)了將存儲陣列中第N個ECC碼字ECC數(shù)據(jù)組第二個字 節(jié)開始,至第N+2個ECC碼字ECC數(shù)據(jù)組第二個字節(jié)結(jié)束的共9個字節(jié),替換為新輸入的外 部輸入數(shù)據(jù)。在執(zhí)行寫數(shù)據(jù)的過程中,二選一多路選擇器一次只向數(shù)據(jù)緩沖器142發(fā)送1字節(jié) 的數(shù)據(jù),無論是從外部輸入的外部輸入數(shù)據(jù),還是從存儲陣列中讀出的回寫數(shù)據(jù)與外部輸 入數(shù)據(jù)的組合。在上述寫操作實施例中,由于一個ECC數(shù)據(jù)組包含4個字節(jié),因此對于一個 ECC數(shù)據(jù)組而言,該二選一多路選擇器向數(shù)據(jù)緩沖器142發(fā)送回寫數(shù)據(jù)的次數(shù)最多為三次。需要說明的是,本發(fā)明上述各實施例,是以一個ECC碼字包含4個字節(jié)、一字節(jié)為 Sbits為例進行說明的,并不構(gòu)成對ECC碼字或者字節(jié)的限制,一個ECC碼字具體包含多少 字節(jié)、或者一個字節(jié)包含多少bits,本發(fā)明并沒有限定。本發(fā)明的技術(shù)方案,以遠(yuǎn)小于頁的ECC碼字為單位,完成數(shù)據(jù)的讀寫。本發(fā)明技術(shù) 方案適用于外部接口以字節(jié)為單位進行數(shù)據(jù)傳輸?shù)姆菗]發(fā)存儲器,尤其是EEPR0M。采用若 干字節(jié)的數(shù)據(jù)位和對應(yīng)的校驗位組成一個ECC碼字,并且以ECC碼字為單位進行讀寫,降低 了 ECC電路的面積開銷。存儲器可以按地址連續(xù)地讀取數(shù)據(jù)或?qū)懭霐?shù)據(jù),只需輸入讀寫對 應(yīng)的指令以及操作的起始地址即可,存儲器內(nèi)部會自動執(zhí)行連續(xù)的操作而不必重新輸入指 令和地址,因為后續(xù)地址自動產(chǎn)生,因此接口可以非常簡單。當(dāng)存儲器隨機輸入一個字節(jié)的 數(shù)據(jù)時,存儲器內(nèi)部只需要將該字節(jié)對應(yīng)的ECC碼字進行重新寫入即可,與現(xiàn)有技術(shù)以頁 為單位讀取或?qū)懭霐?shù)據(jù)相比,有效延長了存儲器的使用壽命。而且,在一次數(shù)據(jù)寫入過程 中,最多只需兩次從存儲陣列中讀出若干個字節(jié)長度的ECC碼字,與現(xiàn)有技術(shù)相比,也降低 了數(shù)據(jù)寫入時的時間和功耗。雖然本發(fā)明所揭露的實施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采 用的實施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬技術(shù)領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本 發(fā)明所揭露的精神和范圍的前提下,可以在實施的形式上及細(xì)節(jié)上作任何的修改與變化, 但本發(fā)明的專利保護范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。
權(quán)利要求
一種從具有檢錯/糾錯電路的非揮發(fā)存儲器讀取數(shù)據(jù)的方法,其特征在于,以檢錯/糾錯碼字為單位,從所述非揮發(fā)存儲器的存儲陣列中讀取數(shù)據(jù);所述檢錯/糾錯碼字,包括若干檢錯/糾錯數(shù)據(jù)組以及與所述若干檢錯/糾錯數(shù)據(jù)組相對應(yīng)的校驗位,一個檢錯/糾錯數(shù)據(jù)組包含有至少兩個字節(jié)。
2.如權(quán)利要求1所述的方法,其特征在于,獲取所要讀取的數(shù)據(jù)所在檢錯/糾錯碼字, 利用其中的校驗位對其中的檢錯/糾錯數(shù)據(jù)組進行檢錯/糾錯處理,然后以字節(jié)為單位進 行輸出。
3.一種向具有檢錯/糾錯電路的非揮發(fā)存儲器連續(xù)寫入數(shù)據(jù)的方法,其特征在于,該 方法包括獲得外部輸入數(shù)據(jù)的首地址及末地址;根據(jù)所述首地址及末地址緩存所述外部輸入數(shù)據(jù);若所述外部輸入數(shù)據(jù)所在的檢錯/糾錯數(shù)據(jù)組有部分字節(jié)不需要被替換,則從所述非 揮發(fā)存儲器的存儲陣列中獲得該不需要被替換的字節(jié)即回寫數(shù)據(jù)并緩存;檢錯/糾錯數(shù)據(jù) 組包含有至少兩個字節(jié);將所述外部輸入數(shù)據(jù),或者所述外部輸入數(shù)據(jù)及回寫數(shù)據(jù),組成新的檢錯/糾錯數(shù)據(jù) 組,為所述新的檢錯/糾錯數(shù)據(jù)組生成對應(yīng)的校驗位;將所述新的檢錯/糾錯數(shù)據(jù)組及對應(yīng)的校驗位寫入到所述存儲陣列。
4.如權(quán)利要求3所述的方法,其特征在于,所述外部輸入數(shù)據(jù),以字節(jié)為單位進行輸入。
5.如權(quán)利要求3所述的方法,其特征在于,獲得所述外部輸入數(shù)據(jù)在所述非揮發(fā)存儲 器中的首地址后,根據(jù)所述首地址為所述外部輸入數(shù)據(jù)連續(xù)分配存儲地址,一直分配到所 述末地址為止。
6.如權(quán)利要求3所述的方法,其特征在于,從所述存儲陣列中獲得所述回寫數(shù)據(jù)的步 驟,包括以檢錯/糾錯碼字為單位,讀取所述首地址和/或末地址的數(shù)據(jù)所在的檢錯/糾錯 碼字,從中獲得所述回寫數(shù)據(jù);所述檢錯/糾錯碼字,包括若干檢錯/糾錯數(shù)據(jù)組,以及與所 述若干檢錯/糾錯數(shù)據(jù)組相對應(yīng)的校驗位。
7.一種具有檢錯/糾錯電路的非揮發(fā)存儲器,包括存儲陣列、寫入狀態(tài)機、緩沖器及檢 錯/糾錯電路,其特征在于所述存儲陣列,用于讀操作時完成以檢錯/糾錯碼字為單位的數(shù)據(jù)輸出,寫操作時完 成以檢錯/糾錯碼字為單位的數(shù)據(jù)連續(xù)寫入;所述寫入狀態(tài)機,用于接收讀操作指令或?qū)懖僮髦噶?;根?jù)所述讀操作指令,以檢錯/糾錯碼字為單位,從所述存儲陣列中讀取數(shù)據(jù);所述檢 錯/糾錯碼字,包括若干檢錯/糾錯數(shù)據(jù)組以及與所述若干檢錯/糾錯數(shù)據(jù)組相對應(yīng)的校 驗位,一個檢錯/糾錯數(shù)據(jù)組包含有至少兩個字節(jié);根據(jù)所述寫操作指令,獲得外部輸入數(shù)據(jù)的首地址及末地址,并根據(jù)所述首地址及末 地址緩存所述外部輸入數(shù)據(jù);判斷所述外部輸入數(shù)據(jù)所在的檢錯/糾錯數(shù)據(jù)組是否有部分 字節(jié)不需要被替換,是則從所述存儲陣列中獲得該不需要被替換的字節(jié)即回寫數(shù)據(jù),將所 述外部輸入數(shù)據(jù),或者所述外部輸入數(shù)據(jù)及回寫數(shù)據(jù)存入所述緩沖器;所述檢錯/糾錯電路,用于對從所述存儲陣列中讀取數(shù)據(jù)進行檢錯/糾錯,為所述緩沖器中由所述外部輸入數(shù)據(jù),或者所述外部輸入數(shù)據(jù)及回寫數(shù)據(jù)組成的新的檢錯/糾錯數(shù)據(jù) 組產(chǎn)生校驗位。
8.如權(quán)利要求7所述的非揮發(fā)存儲器,其特征在于,所述非揮發(fā)存儲器的外部接口以 字節(jié)為單位進行數(shù)據(jù)的輸入或輸出。
9.如權(quán)利要求7所述的非揮發(fā)存儲器,其特征在于,寫入狀態(tài)機獲得所述外部輸入數(shù) 據(jù)在所述非揮發(fā)存儲器中的首地址后,根據(jù)所述首地址為所述外部輸入數(shù)據(jù)連續(xù)分配存儲 地址,一直分配到末地址為止。
10.如權(quán)利要求7所述的非揮發(fā)存儲器,其特征在于,所述不需要被替換的字節(jié),以ECC 碼字為單位從所述存儲陣列中讀取,并以字節(jié)為單位獲得所述回寫數(shù)據(jù)。
11.如權(quán)利要求7所述的非揮發(fā)存儲器,其特征在于,所述非揮發(fā)存儲器還包括輸入單元,用于以字節(jié)為單位存儲數(shù)據(jù),包括二選一多路選擇器;輸出單元,用于以字節(jié)為單位輸出數(shù)據(jù),包括多路選擇器;所述寫入狀態(tài)機,根據(jù)所述讀操作指令向所述輸出單元發(fā)送輸出選通信號,指示所述 輸出單元對所述檢錯/糾錯碼字中的檢錯/糾錯數(shù)據(jù)組按字節(jié)輸出;根據(jù)所述寫操作指令 向所述輸入單元發(fā)送輸入選通信號,指示所述輸入單元將所述外部輸入數(shù)據(jù),或者所述外 部輸入數(shù)據(jù)及回寫數(shù)據(jù)存入所述緩沖器。
12.如權(quán)利要求7所述的非揮發(fā)存儲器,其特征在于,所述寫入狀態(tài)機通過一控制信號 的不同邏輯值,來指示所述檢錯/糾錯電路對從所述存儲陣列中讀取的數(shù)據(jù)進行檢錯/糾 錯,或者為所述新的檢錯/糾錯數(shù)據(jù)組產(chǎn)生校驗位。
全文摘要
本發(fā)明公開了一種具有ECC電路的非揮發(fā)存儲器及其讀寫方法,該存儲器的外部接口以字節(jié)為單位進行數(shù)據(jù)傳輸,在存儲器內(nèi)部以ECC碼字為單位進行讀寫。其中寫入數(shù)據(jù)的方法包括獲得外部輸入數(shù)據(jù)的首地址及末地址并緩存外部輸入數(shù)據(jù);若外部輸入數(shù)據(jù)所在的ECC數(shù)據(jù)組有部分字節(jié)不需要被替換,則從非揮發(fā)存儲器的存儲陣列中獲得該不需要被替換的字節(jié)即回寫數(shù)據(jù)并緩存;將外部輸入數(shù)據(jù),或者外部輸入數(shù)據(jù)及回寫數(shù)據(jù),組成新的ECC數(shù)據(jù)組,為新的ECC數(shù)據(jù)組生成對應(yīng)的校驗位;將新的ECC數(shù)據(jù)組及對應(yīng)的校驗位寫入到存儲陣列。本發(fā)明在數(shù)據(jù)寫入時只對對應(yīng)的ECC碼字進行擦除操作,本發(fā)明提高了存儲的靈活性以及存儲空間的利用效率。
文檔編號G11C16/06GK101930402SQ200910087519
公開日2010年12月29日 申請日期2009年6月23日 優(yōu)先權(quán)日2009年6月23日
發(fā)明者蘇如偉 申請人:北京芯技佳易微電子科技有限公司