国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種存儲(chǔ)單元的編程方法與流程

      文檔序號(hào):11954909閱讀:366來源:國知局
      一種存儲(chǔ)單元的編程方法與流程

      本發(fā)明實(shí)施例涉及存儲(chǔ)技術(shù)領(lǐng)域,具體涉及一種存儲(chǔ)單元的編程方法。



      背景技術(shù):

      非易失閃存介質(zhì)(nor flash/nand flash)是一種很常見的存儲(chǔ)芯片,兼有隨機(jī)存儲(chǔ)器(Random Access Memory,RAM)和只讀存儲(chǔ)器(Read-Only Memory,ROM)的優(yōu)點(diǎn),數(shù)據(jù)掉電不會(huì)丟失,是一種可在系統(tǒng)進(jìn)行電擦寫的存儲(chǔ)器,同時(shí)它的高集成度和低成本使它成為市場主流。Flash芯片是由內(nèi)部成千上萬個(gè)存儲(chǔ)單元組成的,每個(gè)儲(chǔ)存單元存儲(chǔ)一位數(shù)據(jù),多個(gè)存儲(chǔ)單元構(gòu)成頁,多個(gè)頁組成塊,正是由于該特殊的物理結(jié)構(gòu),在nor flash/nand flash中是以頁為單位進(jìn)行讀/寫(編程操作)數(shù)據(jù),以塊為單位進(jìn)行擦除數(shù)據(jù)的。

      在Flash芯片中,一個(gè)存儲(chǔ)單元可看作為一個(gè)金屬氧化物半導(dǎo)體場效晶體管(Metal-Oxide-Semiconductor Field-Effect Transistor,MOSFET)。圖1是一種常見的MOSFET結(jié)構(gòu)圖,包括柵極20、源極21、漏極22、P型阱23、N型阱25、P型硅半導(dǎo)體襯底26以及隧穿氧化層24,其相互間的連接為:P型硅半導(dǎo)體襯底26擴(kuò)散出兩個(gè)N型區(qū),P型阱23上方覆蓋一層隧穿氧化層24,最后在N型區(qū)上方通過腐蝕的方法做成兩個(gè)孔,通過金屬化的方法分別在絕緣層上及兩個(gè)孔內(nèi)做成三個(gè)電極:柵極20、源極21和漏極22,源極21和漏極22分別對(duì)應(yīng)兩個(gè)N型區(qū)且柵極20為存儲(chǔ)單元的字線,漏極22為存儲(chǔ)單元的位線。進(jìn)一步的,柵極20又包括控制柵極201、多晶硅層間電介質(zhì)202(Inter-Poly Dielectric,IPD)、浮動(dòng)?xùn)艠O203,且浮動(dòng)?xùn)艠O203可以存儲(chǔ)電荷。當(dāng)對(duì)一個(gè)存儲(chǔ)單元進(jìn)行編程操作時(shí),分別給柵極20、源極21以及漏極22施加相應(yīng)的編程電壓,此時(shí),會(huì)有電流從漏極22流向源極21,電子從源極21流向漏極22的途中,會(huì)有一部分流向浮動(dòng)?xùn)艠O203,當(dāng)浮動(dòng)?xùn)艠O203中的電子達(dá)到一定數(shù)量時(shí),此存儲(chǔ)單元就被編程成功,即此存儲(chǔ)單元被成功寫0。但是,由于Flash芯片制作工藝的問題,會(huì)有一些存儲(chǔ)單元很難被編程,現(xiàn)有的解決方法是:為了保證編程的正確性,增加編程次數(shù),但是卻以犧牲編程速度為代價(jià)。

      因此,有必要設(shè)計(jì)一種新的存儲(chǔ)單元的編程方法,以提高編程速度。



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

      本發(fā)明提供一種存儲(chǔ)單元的編程方法,以提高編程速度。該方法包括:

      根據(jù)編程指令對(duì)當(dāng)前編程地址對(duì)應(yīng)的存儲(chǔ)單元進(jìn)行編程操作;

      對(duì)所述存儲(chǔ)單元進(jìn)行編程校驗(yàn),檢驗(yàn)所述存儲(chǔ)單元的當(dāng)前狀態(tài)是否為已經(jīng)編程成功,若是,則結(jié)束當(dāng)前編程操作,否則增大編程電壓的脈沖寬度,并返回執(zhí)行所述對(duì)當(dāng)前編程地址對(duì)應(yīng)的存儲(chǔ)單元進(jìn)行的編程操作,直至編程成功。

      進(jìn)一步地,所述增大編程電壓的脈沖寬度,包括:

      所述編程電壓的脈沖寬度依據(jù)如下公式進(jìn)行增大:

      Ti=T0+(N-1)*Δt

      其中,Ti表示對(duì)所述存儲(chǔ)單元進(jìn)行第i次編程時(shí)對(duì)應(yīng)的編程電壓的脈沖寬度,T0表示編程電壓的初始脈沖寬度,N表示對(duì)所述存儲(chǔ)單元進(jìn)行編程的次數(shù),Δt表示脈沖寬度的增加量。

      進(jìn)一步地,在增大編程電壓的脈沖寬度之前,還包括:

      通過編程計(jì)數(shù)器對(duì)編程失敗的次數(shù)進(jìn)行累計(jì);

      判斷所述編程計(jì)數(shù)器中的數(shù)值是否為設(shè)定的最大值,若是,則結(jié)束此次編程操作,否則執(zhí)行增大編程電壓的脈沖寬度的操作。

      優(yōu)選的,所述設(shè)定的最大值為小于或者等于64的正整數(shù)。

      進(jìn)一步地,所述方法還包括:

      當(dāng)檢驗(yàn)所述存儲(chǔ)單元的當(dāng)前狀態(tài)為已經(jīng)編程成功時(shí),判斷所述當(dāng)前編程地址是否為最后的編程地址,若是則退出編程操作,否則更改所述當(dāng)前編程地址,繼續(xù)對(duì)其他的存儲(chǔ)單元進(jìn)行編程操作,并進(jìn)行編程校驗(yàn),直至所有的存儲(chǔ)單元完成編程操作。

      示例性地,所述編程操作包括:

      分別向所述存儲(chǔ)單元的柵極和漏極施加編程電壓。

      示例性地,向所述存儲(chǔ)單元的柵極施加的編程電壓范圍為7-10V,向所述存儲(chǔ)單元的漏極施加的編程電壓范圍為3-5V。

      示例性地,所述檢驗(yàn)存儲(chǔ)單元的當(dāng)前狀態(tài)是否為已經(jīng)編程成功,具體為:

      檢測從存儲(chǔ)單元的源極流向漏極的電流值是否小于預(yù)設(shè)電流值,若是,則所述存儲(chǔ)單元的當(dāng)前狀態(tài)為已經(jīng)編程成功。

      本發(fā)明實(shí)施例提供的一種存儲(chǔ)單元的編程方法,首先根據(jù)編程指令對(duì)當(dāng)前編程地址對(duì)應(yīng)的存儲(chǔ)單元進(jìn)行編程操作,然后對(duì)所述存儲(chǔ)單元進(jìn)行編程校驗(yàn),檢驗(yàn)所述存儲(chǔ)單元的當(dāng)前狀態(tài)是否為已經(jīng)編程成功,若是,則結(jié)束當(dāng)前編程操作,否則增大編程電壓的脈沖寬度,并返回執(zhí)行所述對(duì)當(dāng)前編程地址對(duì)應(yīng)的存儲(chǔ)單元進(jìn)行的編程操作,直至編程成功。當(dāng)一個(gè)存儲(chǔ)單元經(jīng)過第一次編程操作沒有編程成功時(shí),再對(duì)其進(jìn)行編程時(shí)通過隨著編程次數(shù)的增加不斷增大編程電壓的脈沖寬度,實(shí)現(xiàn)了對(duì)存儲(chǔ)單元的快速編程,提高了編程速度。

      附圖說明

      圖1是Flash芯片中一種作為存儲(chǔ)單元的金屬氧化物半導(dǎo)體場效晶體管的結(jié)構(gòu)圖;

      圖2是本發(fā)明實(shí)施例一中的一種存儲(chǔ)單元的編程方法流程圖;

      圖3是本發(fā)明實(shí)施例二中的一種存儲(chǔ)單元的編程方法流程圖;

      圖4為本發(fā)明實(shí)施例三中的一種存儲(chǔ)單元的編程方法流程圖。

      具體實(shí)施方式

      下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。

      實(shí)施例一

      圖2為本發(fā)明實(shí)施例一提供的一種存儲(chǔ)單元的編程方法流程圖,本實(shí)施例可適用于對(duì)一些很難被編程成功的存儲(chǔ)單元進(jìn)行編程操作。參加圖2,本實(shí)施例提供的存儲(chǔ)單元的編程方法具體包括如下步驟:

      S110、根據(jù)編程指令對(duì)當(dāng)前編程地址對(duì)應(yīng)的存儲(chǔ)單元進(jìn)行編程操作。

      通過編寫程序代碼可以控制flash存儲(chǔ)器進(jìn)行三大主要操作,分別是讀操作、寫操作和擦除操作,其中,寫操作又被稱作編程操作,即完成對(duì)存儲(chǔ)單元的寫0操作。

      需要說明的是,對(duì)一個(gè)存儲(chǔ)單元進(jìn)行編程操作的原理是通過分別給存儲(chǔ)單元的柵極以及漏極施加相應(yīng)的編程電壓,會(huì)有電流從漏極流向源極,電子從源極流向漏極的途中,會(huì)有一部分流向浮動(dòng)?xùn)艠O,當(dāng)浮動(dòng)?xùn)艠O中的電子達(dá)到一定數(shù)量時(shí),此存儲(chǔ)單元就被編程成功,即此存儲(chǔ)單元被成功寫0,具體的存儲(chǔ)單元的結(jié)構(gòu)可以參見圖1所示的結(jié)構(gòu)示意圖。

      示例性地,所述編程操作具體可以是分別向所述存儲(chǔ)單元的柵極和漏極施加編程電壓。典型地,向所述存儲(chǔ)單元的柵極施加的編程電壓可以為7-10V中的任意數(shù)值,向所述存儲(chǔ)單元的漏極施加的編程電壓可以為3-5V中的任意數(shù)值。本領(lǐng)域技術(shù)人員都知道,施加到存儲(chǔ)單元的柵極上的電壓范圍7-10V以及施加到存儲(chǔ)單元的漏極上的電壓范圍3-5V都是是優(yōu)選的典型數(shù)值范圍,并不對(duì)其進(jìn)行限定。

      S120、對(duì)所述存儲(chǔ)單元進(jìn)行編程校驗(yàn),檢驗(yàn)所述存儲(chǔ)單元的當(dāng)前狀態(tài)是否為已經(jīng)編程成功,若是,則執(zhí)行步驟S130結(jié)束當(dāng)前編程操作,否則執(zhí)行步驟S140、增大編程電壓的脈沖寬度,并返回執(zhí)行所述對(duì)當(dāng)前編程地址對(duì)應(yīng)的存儲(chǔ)單元進(jìn)行的編程操作,直至編程成功。

      對(duì)所述存儲(chǔ)單元進(jìn)行編程校驗(yàn)的實(shí)質(zhì)是對(duì)所述存儲(chǔ)單元進(jìn)行一次讀操作,更具體地可以理解為檢驗(yàn)讀出的數(shù)值是否為0,如果為0則說明所述存儲(chǔ)單元已經(jīng)編程成功,否則失敗,需要再次進(jìn)行編程操作。當(dāng)遇到某存儲(chǔ)單元編程失敗的時(shí)候,傳統(tǒng)的編程方法是通過增加編程次數(shù)來保證該存儲(chǔ)單元編程成功,但是卻犧牲了編程速度,本實(shí)施例的技術(shù)方案針對(duì)此種情況的做法是,當(dāng)某存儲(chǔ)單元第一次編程失敗時(shí),即編程校驗(yàn)不通過,再對(duì)該存儲(chǔ)單元進(jìn)行第二次編程操作時(shí)增大編程電壓的脈沖寬度,當(dāng)經(jīng)過第二次編程操作后,進(jìn)行編程校驗(yàn)時(shí),所述存儲(chǔ)單元還是編程校驗(yàn)不通過,則繼續(xù)增大編程電壓的脈沖寬度,即使所述編程電壓的脈沖寬度隨著編程次數(shù)的增加而不斷增加,典型地,每次增加的脈沖寬度可以是0.5μs。當(dāng)所述編程電壓的脈沖寬度增加后,從漏極流向源極的電流的持續(xù)時(shí)間會(huì)增加,相應(yīng)地,會(huì)有更多的時(shí)間讓電子從源極流向漏極的途中流向浮動(dòng)?xùn)艠O,浮動(dòng)?xùn)艠O中的電子會(huì)更快地達(dá)到設(shè)定數(shù)量,進(jìn)而所述存儲(chǔ)單元會(huì)更快地編程成功,提高編程速度。

      示例性地,所述檢驗(yàn)存儲(chǔ)單元的當(dāng)前狀態(tài)是否為已經(jīng)編程成功,即編程校驗(yàn),具體可以為:檢測從存儲(chǔ)單元的源極流向漏極的電流值是否小于預(yù)設(shè)電流值,若是,則所述存儲(chǔ)單元的當(dāng)前狀態(tài)為已經(jīng)編程成功,此時(shí)認(rèn)為存儲(chǔ)單元的浮動(dòng)?xùn)艠O上已經(jīng)有充足的電子,此時(shí)存儲(chǔ)單元的狀態(tài)為0。優(yōu)選的,所述預(yù)設(shè)電流值可以為20μA或者30μA,當(dāng)然還可以是其他數(shù)值,需要根據(jù)各flash芯片的制作工藝的不同而變化。

      S130、結(jié)束當(dāng)前編程操作。

      S140、增大編程電壓的脈沖寬度,返回執(zhí)行步驟S110,利用增加脈沖寬度后的編程電壓對(duì)當(dāng)前編程地址對(duì)應(yīng)的存儲(chǔ)單元繼續(xù)進(jìn)行編程操作直到所述存儲(chǔ)單元編程成功。

      本發(fā)明實(shí)施例提供的一種存儲(chǔ)單元的編程方法,首先根據(jù)編程指令對(duì)當(dāng)前編程地址對(duì)應(yīng)的存儲(chǔ)單元進(jìn)行編程操作,然后對(duì)所述存儲(chǔ)單元進(jìn)行編程校驗(yàn),檢驗(yàn)所述存儲(chǔ)單元的當(dāng)前狀態(tài)是否為已經(jīng)編程成功,若是,則結(jié)束當(dāng)前編程操作,否則增大編程電壓的脈沖寬度,并返回執(zhí)行所述對(duì)當(dāng)前編程地址對(duì)應(yīng)的存儲(chǔ)單元進(jìn)行的編程操作,直至編程成功。當(dāng)一個(gè)存儲(chǔ)單元經(jīng)過第一次編程操作沒有編程成功時(shí),再對(duì)其進(jìn)行編程時(shí)通過隨著編程次數(shù)的增加不斷增大編程電壓的脈沖寬度,實(shí)現(xiàn)了對(duì)存儲(chǔ)單元的快速編程,提高了編程速度。

      實(shí)施例二

      圖3為本發(fā)明實(shí)施例二提供的一種存儲(chǔ)單元的編程方法流程圖,本實(shí)施例在實(shí)施例一的基礎(chǔ)上進(jìn)行進(jìn)一步優(yōu)化,在增大編程電壓的脈沖寬度之前,增加了:通過編程計(jì)數(shù)器對(duì)編程失敗的次數(shù)進(jìn)行累計(jì)的操作,這樣優(yōu)化的好處是,避免了對(duì)一些存儲(chǔ)單元進(jìn)行無限制地編程操作,使整個(gè)程序陷入死循環(huán)。參見圖3,本實(shí)施例提供的存儲(chǔ)單元的編程方法具體包括如下步驟:

      S210、根據(jù)編程指令對(duì)當(dāng)前編程地址對(duì)應(yīng)的存儲(chǔ)單元進(jìn)行編程操作。

      S220、對(duì)所述存儲(chǔ)單元進(jìn)行編程校驗(yàn),檢驗(yàn)所述存儲(chǔ)單元的當(dāng)前狀態(tài)是否為已經(jīng)編程成功。

      S230、若是,則結(jié)束當(dāng)前編程操作。

      S240、否則,通過編程計(jì)數(shù)器對(duì)編程失敗的次數(shù)進(jìn)行累計(jì)。

      上述操作主要是針對(duì)當(dāng)一個(gè)存儲(chǔ)單元經(jīng)過多次編程操作仍然沒有通過編程校驗(yàn)的情況,為了防止程序進(jìn)入“編程-編程校驗(yàn)-編程”的死循環(huán)中,設(shè)置編程計(jì)數(shù)器對(duì)編程失敗的次數(shù)進(jìn)行累計(jì),具體是指對(duì)同一個(gè)存儲(chǔ)單元編程失敗的次數(shù)進(jìn)行計(jì)數(shù),當(dāng)該存儲(chǔ)單元編程成功后,所述計(jì)數(shù)器清零。

      S250、判斷所述編程計(jì)數(shù)器中的數(shù)值是否為設(shè)定的最大值,若是,則返回步驟S230結(jié)束此次編程操作。

      為每個(gè)存儲(chǔ)單元設(shè)定一個(gè)允許編程的最大次數(shù),當(dāng)對(duì)某存儲(chǔ)單元的編程次數(shù)達(dá)到所述最大值時(shí),所述存儲(chǔ)單元還是編程失敗,此時(shí)則強(qiáng)制退出編程操作,不再對(duì)該存儲(chǔ)單元進(jìn)行編程。典型地,所述設(shè)定的最大值為小于或者等于64的正整數(shù)。當(dāng)然,本領(lǐng)域的技術(shù)人員都知道,所述設(shè)定值并不限于某一個(gè)或者某一些固定數(shù)值,需要根據(jù)實(shí)際操作情況以及flash芯片的制作工藝選定合適的數(shù)值。

      S260、否則增大編程電壓的脈沖寬度,并返回執(zhí)行步驟S210,直至編程成功。

      示例性地,所述增大編程電壓的脈沖寬度,具體可以包括:

      所述編程電壓的脈沖寬度依據(jù)如下公式進(jìn)行增大:

      Ti=T0+(N-1)*Δt

      其中,Ti表示對(duì)所述存儲(chǔ)單元進(jìn)行第i次編程時(shí)對(duì)應(yīng)的編程電壓的脈沖寬度,T0表示編程電壓的初始脈沖寬度,N表示對(duì)所述存儲(chǔ)單元進(jìn)行編程的次數(shù),Δt表示脈沖寬度的增加量。

      本發(fā)明實(shí)施例提供的一種存儲(chǔ)單元的編程方法,在增大編程電壓的脈沖寬度之前,通過編程計(jì)數(shù)器對(duì)編程失敗的次數(shù)進(jìn)行累計(jì),并判斷所述編程計(jì)數(shù)器中的數(shù)值是否為設(shè)定的最大值,若是,則結(jié)束此次編程操作,否則執(zhí)行增大編程電壓的脈沖寬度的操作,繼續(xù)對(duì)所述存儲(chǔ)單元進(jìn)行編程操作,直到編程成功。當(dāng)一個(gè)存儲(chǔ)單元經(jīng)過多次編程操作仍然沒有通過編程校驗(yàn)時(shí),通過設(shè)置編程計(jì)數(shù)器,實(shí)現(xiàn)了防止程序進(jìn)入“編程-編程校驗(yàn)-編程”的死循環(huán)。

      實(shí)施例三

      圖4為本發(fā)明實(shí)施例三提供的一種存儲(chǔ)單元的編程方法流程圖,本實(shí)施例在上述各實(shí)施例的基礎(chǔ)上進(jìn)行進(jìn)一步優(yōu)化,增加了判斷所述當(dāng)前編程地址是否為最后的編程地址的操作,這樣優(yōu)化的好處是,可以快速地完成對(duì)整個(gè)編程區(qū)域的編程操作。參見圖4,本實(shí)施例提供的存儲(chǔ)單元的編程方法具體包括如下步驟:

      S310、根據(jù)編程指令對(duì)當(dāng)前編程地址對(duì)應(yīng)的存儲(chǔ)單元進(jìn)行編程操作。

      S320、對(duì)所述存儲(chǔ)單元進(jìn)行編程校驗(yàn),檢驗(yàn)所述存儲(chǔ)單元的當(dāng)前狀態(tài)是否為已經(jīng)編程成功,若是則執(zhí)行步驟S330,否則執(zhí)行步驟S360。

      S330、判斷所述當(dāng)前編程地址是否為最后的編程地址,若是,則執(zhí)行步驟S340,否則執(zhí)行步驟S350。

      S340、退出編程操作,

      S350、更改所述當(dāng)前編程地址,并返回執(zhí)行步驟S310,繼續(xù)對(duì)新的存儲(chǔ)單元進(jìn)行編程操作時(shí)。

      S360、增大編程電壓的脈沖寬度,并返回執(zhí)行步驟S310,直至編程成功。

      本發(fā)明實(shí)施例提供的一種存儲(chǔ)單元的編程方法,在上述各實(shí)施例的基礎(chǔ)上,當(dāng)檢驗(yàn)所述存儲(chǔ)單元的當(dāng)前狀態(tài)為已經(jīng)編程成功時(shí),判斷所述當(dāng)前編程地址是否為最后的編程地址,若是則退出編程操作,否則更改所述當(dāng)前編程地址,繼續(xù)對(duì)其他的存儲(chǔ)單元進(jìn)行編程操作,并進(jìn)行編程校驗(yàn),直至所有的存儲(chǔ)單元完成編程操作。實(shí)現(xiàn)了可以快速地完成對(duì)整個(gè)編程區(qū)域的編程操作。

      注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會(huì)理解,本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來說能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1