本發(fā)明涉及半導(dǎo)體存儲(chǔ)領(lǐng)域,尤其涉及一種掉電保護(hù)的電路及相關(guān)方法。
背景技術(shù):
閃存(Flash,F(xiàn)lash Memory)為非易失性存儲(chǔ)器,其在沒有電流供應(yīng)的條件下也能夠長久地保持?jǐn)?shù)據(jù),其存儲(chǔ)特性相當(dāng)于硬盤,可進(jìn)行擦寫及再編程。任何Flash器件的寫入操作只能在空或已擦除的模塊內(nèi)進(jìn)行,所以大多數(shù)情況下,在進(jìn)行寫入操作之前必須先執(zhí)行擦除。其中,閃存的存儲(chǔ)模塊采用串行結(jié)構(gòu),存儲(chǔ)模塊的讀寫是以頁和塊為單位來進(jìn)行。
在實(shí)際應(yīng)用中,多層單元(MLC,Multi-Level Cell)NAND閃存寫操作以Page為單位進(jìn)行,從Page0開始依次操作。因此當(dāng)需要向Page1中寫數(shù)據(jù)時(shí),Page0中已經(jīng)存儲(chǔ)了有效數(shù)據(jù),如果在寫Page1的過程中MLC NAND異常掉電,不但Page1數(shù)據(jù)無法正常寫入,而且Page0的數(shù)據(jù)也會(huì)被異常的改寫,對(duì)于Page1是系統(tǒng)欲寫入的數(shù)據(jù),文件系統(tǒng)有異常處理機(jī)制,丟失不會(huì)造成系統(tǒng)異常,但Page0是未知數(shù)據(jù),丟失就有可能造成文件系統(tǒng)異常,重新上電后系統(tǒng)可能無法正常啟動(dòng)。
現(xiàn)有技術(shù)中,一般對(duì)關(guān)鍵文件系統(tǒng)數(shù)據(jù)進(jìn)行備份,當(dāng)出現(xiàn)文件系統(tǒng)異常時(shí),系統(tǒng)自動(dòng)恢復(fù)備份,但會(huì)減少實(shí)際使用存儲(chǔ)空間,并且由于系統(tǒng)為異常開機(jī),開機(jī)時(shí)間較長,以及開機(jī)畫面不正常,極大降低用戶體驗(yàn)。
或者,現(xiàn)有技術(shù)在內(nèi)嵌式存儲(chǔ)器(eMMC,Embedded Multi Media Card)內(nèi)部集成MLC存儲(chǔ)單元和eMMC控制器,以提高系統(tǒng)的穩(wěn)定性,但實(shí)施該技術(shù)方案的技術(shù)成本較高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種掉電保護(hù)的電路及相關(guān)方法,能夠解決現(xiàn)有技術(shù)中在系統(tǒng)電源異常掉電后,閃存無法繼續(xù)執(zhí)行最后一條寫指令,而導(dǎo)致閃存數(shù)據(jù)缺 失或損壞的問題。
本發(fā)明第一方面提供一種掉電保護(hù)的電路,包括:閃存控制器、系統(tǒng)電源、開關(guān)模塊、備用儲(chǔ)能模塊和閃存;
所述閃存控制器,用于接收到處理器發(fā)送的將待寫入數(shù)據(jù)寫入閃存的請(qǐng)求后,向所述閃存發(fā)送所述待寫入數(shù)據(jù)和寫指令;
所述系統(tǒng)電源,用于為所述閃存控制器和所述閃存供電,所述系統(tǒng)電源通過所述開關(guān)模塊與所述閃存連接;
所述開關(guān)模塊,用于在系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí),與所述備用儲(chǔ)能模塊和所述閃存形成新回路,所述開關(guān)模塊分別連接所述系統(tǒng)電源、所述閃存和所述備用儲(chǔ)能模塊,其中,所述開關(guān)模塊的電源輸入端連接至所述系統(tǒng)電源,所述開關(guān)模塊的電源輸出端分別連接至所述閃存和至所述備用儲(chǔ)能模塊;
所述備用儲(chǔ)能模塊用于在所述系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí),為所述閃存提供電能,所述備用儲(chǔ)能模塊連接所述開關(guān)模塊和所述閃存,其中,所述備用儲(chǔ)能模塊的輸入端連接至所述開關(guān)模塊的電源輸出端,所述備用儲(chǔ)能模塊的輸出端連接至所述閃存;
所述閃存,用于執(zhí)行所述閃存控制器發(fā)送的寫指令,將所述待寫入數(shù)據(jù)寫入所述閃存。
結(jié)合第一方面,本發(fā)明第一方面的第一種實(shí)現(xiàn)方式中,所述開關(guān)模塊為單向?qū)ㄐ烷_關(guān),所述單向?qū)ㄐ烷_關(guān)用于在所述系統(tǒng)電源的電壓小于所述預(yù)設(shè)的掉電閾值時(shí),阻止所述備用儲(chǔ)能模塊所輸出的電流輸入所述系統(tǒng)電源,以增加所述備用儲(chǔ)能模塊的供電時(shí)間。
結(jié)合第一方面,本發(fā)明第一方面的第二種實(shí)現(xiàn)方式中,所述開關(guān)模塊為通斷型開關(guān),所述電路還包括:
掉電檢測模塊,用于獲取所述系統(tǒng)電源的電壓,在檢測到電路系統(tǒng)異常掉電,所述系統(tǒng)電源的電壓小于所述預(yù)設(shè)的掉電閾值時(shí),向開關(guān)控制模塊發(fā)送指令,所述指令用于指示所述開關(guān)控制模塊控制所述通斷型開關(guān)和所述系統(tǒng)電源之間連接的斷開;可選的,所述掉電檢測模塊連接所述系統(tǒng)電源和開關(guān)控制模塊;
所述開關(guān)控制模塊,用于控制所述通斷型開關(guān)的通/斷,在接收到所述掉電檢測模塊發(fā)送的所述指令時(shí),根據(jù)所述指令控制所述通斷型開關(guān)和所述系統(tǒng)電源之間連接的斷開,以截?cái)嗨鰝溆脙?chǔ)能模塊所輸出的電流輸入所述系統(tǒng)電源,可選的,所述開關(guān)控制模塊連接所述通斷型開關(guān)模塊的電源輸入端;
可選的,所述開關(guān)控制模塊具體用于:
根據(jù)所述指令調(diào)整所述閃存控制器電源的跌落閾值,以使所述閃存控制器電源的電壓跌落至所述跌落閾值時(shí),斷開所述通斷型開關(guān),以截?cái)嗨鱿到y(tǒng)電源和所述閃存,與所述備用儲(chǔ)能模塊和所述閃存形成新回路。
結(jié)合第一方面及第二種實(shí)現(xiàn)方式,本發(fā)明第一方面的第三種實(shí)現(xiàn)方式中,所述通斷型開關(guān)包括第一分壓電阻、第二分壓電阻及場效應(yīng)管,所述第一分壓電阻和所述第二分壓電阻并聯(lián),所述第一分壓電阻的一端連接至所述系統(tǒng)電源的正極以及所述場效應(yīng)管的源極,所述第一分壓電阻的另一端和所述第二分壓電阻一端均連接至所述場效應(yīng)管的柵極;
所述開關(guān)控制模塊包括三極管、第三分壓電阻及第四分壓電阻,所述第三分壓電阻和所述第四分壓電阻并聯(lián),所述第四分壓電阻的一端連接至所述三極管的基極,所述第四分壓電阻的另一端和所述三極管的發(fā)射極均接地,所述三極管的集電極通過所述第二分壓電阻連接所述場效應(yīng)管的柵極,在所述系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí),通過調(diào)節(jié)所述第三分壓電阻的電阻值和所述第四分壓電阻的電阻值,以調(diào)整閃存控制器供電電源的跌落閾值,以使所述供電電源的電壓跌落至所述跌落閾值,所述三極管和所述場效應(yīng)管均截止。
結(jié)合第一方面、第一至第三種實(shí)現(xiàn)方式,本發(fā)明第一方面的第四種實(shí)現(xiàn)方式中,所述備用儲(chǔ)能模塊為電容。
結(jié)合第一方面及第一或第四種實(shí)現(xiàn)方式,本發(fā)明第一方面的第五種實(shí)現(xiàn)方式中,單向?qū)ㄐ烷_關(guān)為低壓差的鍺管。
本發(fā)明第二方面提供一種防止數(shù)據(jù)失效的方法,所述防止數(shù)據(jù)失效的方法應(yīng)用于掉電保護(hù)的電路,所述掉電保護(hù)的電路包括閃存控制器、系統(tǒng)電源、開關(guān)模塊、備用儲(chǔ)能模塊和閃存;
所述防止數(shù)據(jù)失效的方法包括:
所述閃存控制器接收到處理模塊發(fā)送的將待寫入數(shù)據(jù)寫入閃存的請(qǐng)求后,向所述閃存發(fā)送所述待寫入數(shù)據(jù)和寫指令;
當(dāng)系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí),所述開關(guān)模塊與所述備用儲(chǔ)能模塊和所述閃存形成新回路;
所述閃存利用所述備用儲(chǔ)能模塊提供的電能,執(zhí)行所述寫指令,將所述待寫入數(shù)據(jù)完整寫入所述閃存。
結(jié)合第二方面,本發(fā)明第二方面的第一種實(shí)現(xiàn)方式中,所述開關(guān)模塊為單向?qū)ㄐ烷_關(guān),所述當(dāng)系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí),所述開關(guān)模塊截?cái)嗨鱿到y(tǒng)電源和閃存電源之間的電流,與所述備用儲(chǔ)能模塊和所述閃存形成新回路,所述備用儲(chǔ)能模塊為所述閃存供電具體包括:
當(dāng)系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí),所述單向?qū)ㄐ烷_關(guān)與所述備用儲(chǔ)能模塊和所述閃存形成新回路,以阻止所述備用儲(chǔ)能模塊所輸出的電流輸入所述系統(tǒng)電源,以使所述備用儲(chǔ)能模塊為所述閃存供電,增加所述備用儲(chǔ)能模塊的供電時(shí)間。
結(jié)合第二方面,本發(fā)明第二方面的第二種實(shí)現(xiàn)方式中,所述開關(guān)模塊為通斷型開關(guān),所述方法還包括:
掉電檢測模塊獲取所述系統(tǒng)電源的電壓,在檢測到所述系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí),向開關(guān)控制模塊發(fā)送指令,所述指令用于指示所述開關(guān)控制模塊控制所述通斷型開關(guān)和所述系統(tǒng)電源之間連接的斷開;
所述開關(guān)控制模塊在接收到所述掉電檢測模塊發(fā)送的所述指令時(shí),根據(jù)所述指令控制所述通斷型開關(guān)和所述系統(tǒng)電源之間連接的斷開,以截?cái)嗨鰝溆脙?chǔ)能模塊所輸出的電流輸入所述系統(tǒng)電源;
可選的,所述系統(tǒng)電源包括所述閃存控制器電源,所述根據(jù)所述指令控制所述通斷型開關(guān)和所述系統(tǒng)電源之間連接的斷開,具體包括:
所述開關(guān)控制模塊根據(jù)所述指令調(diào)整所述閃存控制器電源的跌落閾值,以使所述閃存控制器電源的電壓跌落至所述跌落閾值時(shí),斷開所述通斷型開關(guān),以截?cái)嗨鱿到y(tǒng)電源和所述閃存,與所述備用儲(chǔ)能模塊和所述閃存形成新回路。
結(jié)合第二方面及第一至二種實(shí)現(xiàn)方式,本發(fā)明第二方面的第三種實(shí)現(xiàn)方式中,所述閃存控制器從發(fā)出所述最后一條寫Page指令,直至所述閃存完成執(zhí)行所述最后一條寫Page指令的最長時(shí)間段為t,所述閃存控制器向所述閃存發(fā)送的最后一條寫Page指令的時(shí)間點(diǎn)為T1,所述閃存控制器在系統(tǒng)掉電后不工作的時(shí)間點(diǎn)為T2,從所述備用儲(chǔ)能模塊為所述閃存供電直至所述備用儲(chǔ)能模塊的電量耗盡的時(shí)間點(diǎn)為T3,則T3-T2為所述備用儲(chǔ)能模塊為所述閃存持續(xù)供電的時(shí)間,其中,T2≥T1,T3-T2≥t,則T3-T1≥t。
結(jié)合第二方面及第一至第三種實(shí)現(xiàn)方式,本發(fā)明第二方面的第四種實(shí)現(xiàn)方式中,所述方法還包括:
在確定所述系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值后,判斷所述閃存是否已執(zhí)行完所述寫指令;
若已執(zhí)行完,則結(jié)束流程;
若未執(zhí)行完,則根據(jù)預(yù)設(shè)公式增加所述備用儲(chǔ)能模塊的儲(chǔ)能容量,以增加供電的時(shí)間。
本發(fā)明提供的一種掉電保護(hù)的電路,包括在系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí),與所述備用儲(chǔ)能模塊和所述閃存電源形成新回路的開關(guān)模塊,實(shí)現(xiàn)備用儲(chǔ)能模塊只為閃存提供電能,以及用于在系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí),為閃存提供電能的備用儲(chǔ)能模塊,保證了在系統(tǒng)電源異常掉電后,閃存仍能夠繼續(xù)執(zhí)行閃存控制器發(fā)出的最后一條寫指令,保證數(shù)據(jù)正確完整寫入,解決了現(xiàn)有技術(shù)中在系統(tǒng)電源異常掉電后,導(dǎo)致閃存數(shù)據(jù)缺失或損壞的問題。
附圖說明
圖1為本實(shí)施例中一種掉電保護(hù)的電路一結(jié)構(gòu)示意圖;
圖2為本實(shí)施例中一種掉電保護(hù)的電路一結(jié)構(gòu)原理示意圖;
圖3為本實(shí)施例中一種掉電保護(hù)的電路另一結(jié)構(gòu)示意圖;
圖4為本實(shí)施例中一種掉電保護(hù)的電路另一結(jié)構(gòu)原理示意圖;
圖5為本實(shí)施例中一種掉電保護(hù)的電路另一結(jié)構(gòu)示意圖;
圖6為本實(shí)施例中一種防止數(shù)據(jù)失效的方法一實(shí)施例示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的實(shí)施例能夠以除了在這里圖示或描述的內(nèi)容以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或模塊的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或模塊,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或模塊,本文中所出現(xiàn)的模塊的劃分,僅僅是一種邏輯上的劃分,實(shí)際應(yīng)用中實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)模塊可以結(jié)合成或集成在另一個(gè)系統(tǒng)中,或一些特征可以忽略,或不執(zhí)行,另外,所顯示的或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,模塊之間的間接耦合或通信連接可以是電性或其他類似的形式,本文中均不作限定。并且,作為分離部件說明的模塊或子模塊可以是也可以不是物理上的分離,可以是也可以不是物理模塊,或者可以分不到多個(gè)電路模塊中,可以根據(jù)實(shí)際的需要選擇其中的部分或全部模塊來實(shí)現(xiàn)本發(fā)明實(shí)施例方案的目的。
本發(fā)明中,嵌入式存儲(chǔ)系統(tǒng)主要由芯片、閃存、系統(tǒng)電源、備用儲(chǔ)能模塊及開關(guān)模塊構(gòu)成,芯片包括處理器(CPU,Central Processing Unit)、閃存控制器,一般芯片與閃存分開供電,單獨(dú)為閃存配備備用儲(chǔ)能模塊,以備異常掉電之需,由于在設(shè)計(jì)芯片與閃存統(tǒng)一供電時(shí),若為整個(gè)嵌入式存儲(chǔ)系統(tǒng)配備備用儲(chǔ)能模塊,會(huì)增加生產(chǎn)成本及加大產(chǎn)品體積,并降低系統(tǒng)集成度。
本發(fā)明實(shí)施例提供了一種掉電保護(hù)的電路及相關(guān)方法,用于半導(dǎo)體存儲(chǔ) 器件領(lǐng)域,如可以應(yīng)用于機(jī)頂盒、移動(dòng)硬盤、網(wǎng)絡(luò)硬盤及平板電腦等存儲(chǔ)設(shè)備,能夠解決現(xiàn)有技術(shù)中在系統(tǒng)電源異常掉電后,導(dǎo)致閃存數(shù)據(jù)缺失或損壞的問題。以下進(jìn)行詳細(xì)說明。
請(qǐng)參照?qǐng)D1,在系統(tǒng)需要向上述閃存寫入數(shù)據(jù)時(shí),會(huì)通過CPU向閃存控制器發(fā)送寫閃存請(qǐng)求,然后由閃存控制器將該寫閃存請(qǐng)求轉(zhuǎn)換為閃存能夠識(shí)別、執(zhí)行的寫指令,同時(shí)也將待寫入數(shù)據(jù)發(fā)送至閃存,以便閃存根據(jù)該寫指令對(duì)該待寫入數(shù)據(jù)進(jìn)行存儲(chǔ),本發(fā)明實(shí)施例中一種掉電保護(hù)的電路,包括:
開關(guān)模塊1、備用儲(chǔ)能模塊2、閃存控制器3、系統(tǒng)電源4及閃存5;
所述閃存控制器3,用于接收到處理器發(fā)送的將待寫入數(shù)據(jù)寫入閃存5的請(qǐng)求后,向所述閃存5發(fā)送所述待寫入數(shù)據(jù)和寫指令;
所述系統(tǒng)電源4,用于為所述閃存控制器3和所述閃存5供電,所述系統(tǒng)電源4通過所述開關(guān)模塊1與所述閃存5連接;
所述開關(guān)模塊1用于在系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí),連通所述備用儲(chǔ)能模塊2和所述閃存5,所述開關(guān)模塊1的電源輸入端連接至所述系統(tǒng)電源4,所述開關(guān)模塊1的電源輸出端分別連接至所述閃存5和至所述備用儲(chǔ)能模塊2;
所述備用儲(chǔ)能模塊2用于在系統(tǒng)電源4的電壓小于預(yù)設(shè)的掉電閾值時(shí),為閃存提供電能,所述備用儲(chǔ)能模塊2連接所述開關(guān)模塊1和所述閃存5,可選的,所述備用儲(chǔ)能模塊2的輸入端連接至所述開關(guān)模塊1的電源輸出端,所述備用儲(chǔ)能模塊2的輸出端連接至所述閃存5;
所述閃存5,用于執(zhí)行所述閃存控制器3發(fā)送的寫指令,將所述待寫入數(shù)據(jù)寫入所述閃存5。
需要說明的是,本文中,由于芯片可以有多路供電電源,本文中僅僅將芯片與閃存各自的供電電源區(qū)分開來,所以,本文中所述的系統(tǒng)電源4為整個(gè)嵌入式存儲(chǔ)系統(tǒng)的供電電源,與閃存控制器3的供電電源以及閃存5集成的閃存電源均為上述系統(tǒng)電源的支路電源。
本發(fā)明實(shí)施例中,在系統(tǒng)電源4的電壓小于預(yù)設(shè)的掉電閾值時(shí),閃存控制器3與所述備用儲(chǔ)能模塊2和所述閃存5形成新回路,阻止備用儲(chǔ)能模塊2輸出的電流輸入所述系統(tǒng)電源4,實(shí)現(xiàn)備用儲(chǔ)能模塊2只為閃存5提供電能, 保證了在系統(tǒng)電源異常掉電后,閃存5仍能夠繼續(xù)執(zhí)行閃存控制器3發(fā)出的最后一條寫指令,保證數(shù)據(jù)正確完整寫入,提高用戶體驗(yàn),解決了現(xiàn)有技術(shù)中在系統(tǒng)電源異常掉電后,導(dǎo)致閃存數(shù)據(jù)缺失或損壞的問題。
可選的,在上述圖1所對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例的第一個(gè)可選實(shí)施例中,請(qǐng)參閱圖2,所述開關(guān)模塊1為單向?qū)ㄐ烷_關(guān)11,所述單向?qū)ㄐ烷_關(guān)11用于在所述系統(tǒng)電源4的電壓小于所述預(yù)設(shè)的掉電閾值時(shí),阻止所述備用儲(chǔ)能模塊2所輸出的電流輸入所述系統(tǒng)電源4,以增加所述備用儲(chǔ)能模塊2的供電時(shí)間。
具體的,所述閃存5包括閃存電源VDD-NAND,所述開關(guān)模塊1的電源輸出端分別連接至所述閃存電源和至所述備用儲(chǔ)能模塊2;
所述備用儲(chǔ)能模塊2的輸出端連接至所述閃存電源;
實(shí)際應(yīng)用中,在開關(guān)模塊1為單向?qū)ㄐ烷_關(guān)11時(shí),掉電保護(hù)的電路另一結(jié)構(gòu)圖可以參考圖3,圖3中單向?qū)ㄐ烷_關(guān)11為二極管D,需要說明的是,本實(shí)施例中采用的二極管D的數(shù)量及級(jí)聯(lián)方式,本文中均不作限定,只要可以起到單向?qū)ㄗ饔眉纯伞?/p>
可選的,在上述圖1所對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例的第二個(gè)可選實(shí)施例中,請(qǐng)參閱圖4,所述開關(guān)模塊1為通斷型開關(guān)12,所述電路還包括:
掉電檢測模塊6,用于獲取所述系統(tǒng)電源4的電壓,在檢測到所述系統(tǒng)電源4的電壓小于所述預(yù)設(shè)的掉電閾值時(shí),向開關(guān)控制模塊7發(fā)送指令,所述指令用于指示所述開關(guān)控制模塊7控制所述通斷型開關(guān)12和所述系統(tǒng)電源4之間連接的斷開,即控制所述通斷型開關(guān)12以截?cái)嗨鰝溆脙?chǔ)能模塊2所輸出的電流輸入所述系統(tǒng)電源4,所述掉電檢測模塊4連接所述系統(tǒng)電源4和開關(guān)控制模塊7,可選的,所述掉電檢測模塊4還可以獲取掉電時(shí)間點(diǎn);
所述開關(guān)控制模塊7,用于控制所述通斷型開關(guān)12的通/斷,在接收到所述掉電檢測模塊6發(fā)送的所述指令后,根據(jù)所述指令控制所述通斷型開關(guān)12和所述系統(tǒng)電源4之間連接的斷開,以截?cái)嗨鰝溆脙?chǔ)能模塊2所輸出的電 流輸入所述系統(tǒng)電源4,即可達(dá)到增加所述備用儲(chǔ)能模塊2的供電時(shí)間的目的,其中,所述開關(guān)控制模塊7連接所述通斷型開關(guān)12的電源輸入端;
可選的,上述系統(tǒng)電源4包括閃存控制器電源VDD-CORE,所述開關(guān)控制模塊7斷開所述通斷型開關(guān)12,具體如下:
根據(jù)所述指令,所述開關(guān)控制模塊7可以通過調(diào)節(jié)閃存控制器電源的跌落閾值,使所述閃存控制器電源的電壓跌落至上述跌落閾值,以達(dá)到斷開所述通斷型開關(guān)12的目的,從而可以使通斷型開關(guān)12與所述備用儲(chǔ)能模塊2和所述閃存5形成新回路,以使所述備用儲(chǔ)能模塊2為所述閃存5供電。
可選的,參閱圖5,所述通斷型開關(guān)12包括第一分壓電阻R1、第二分壓電阻R2及場效應(yīng)管Q1,所述第一分壓電阻R1和所述第二分壓電阻R2并聯(lián),所述第一分壓電阻R1的一端連接至所述系統(tǒng)電源4的正極以及所述場效應(yīng)管Q1的源極S,所述第一分壓電阻R1的另一端和所述第二分壓電阻R2一端均連接至所述場效應(yīng)管Q1的柵極G;
所述開關(guān)控制模塊7包括三極管Q2、第三分壓電阻R3及第四分壓電阻R4,所述第三分壓電阻R3和所述第四分壓電阻R4并聯(lián),所述第四分壓電阻R4的一端連接至所述三極管Q2的基極B,所述第四分壓電阻R4的另一端和所述三極管Q2的發(fā)射極E均接地,所述三極管Q2的集電極C通過所述第二分壓電阻R2連接所述場效應(yīng)管Q1的柵極;
實(shí)際應(yīng)用中,開關(guān)控制模塊7中的三極管Q2可以采用多級(jí)放大結(jié)構(gòu),具體三極管數(shù)量、級(jí)聯(lián)方式,本文中均不作限定,通斷型開關(guān)12中的Q1同理。
在正常供電狀態(tài)下,VDD-CORE為嵌入式存儲(chǔ)系統(tǒng)供電,此時(shí)Q1和Q2均導(dǎo)通,由系統(tǒng)電源3V3-MOS為整個(gè)系統(tǒng)供電,在所述系統(tǒng)電源4的電壓小于預(yù)設(shè)的掉電閾值時(shí),通過調(diào)節(jié)所述第三分壓電阻R3的電阻值和所述第四分壓電阻R4的電阻值,以調(diào)整閃存控制器電源的跌落閾值,以使所述閃存控制器電源的電壓跌落至所述跌落閾值,所述三極管Q1和所述場效應(yīng)管Q2均截止。
可選的,在上述圖1所對(duì)應(yīng)的實(shí)施例、第一至第三個(gè)可選實(shí)施例的基礎(chǔ) 上,本發(fā)明實(shí)施例的第四個(gè)可選實(shí)施例中,參閱圖3和圖5,所述備用儲(chǔ)能模塊2為電容C,所述電容C用于為所述閃存5供電。
可選的,在上述圖1所對(duì)應(yīng)的實(shí)施例、第一或第四個(gè)可選實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例的第五個(gè)可選實(shí)施例中,單向?qū)ㄐ烷_關(guān)11為低壓差的鍺管;
實(shí)際應(yīng)用中,單向?qū)ㄐ烷_關(guān)11具體也可以是反向偏置單向?qū)ǘO管(FWD,F(xiàn)ree Wheeling Diode),或者是在三極管的集電極-發(fā)射極之間、場效應(yīng)管MOSFET的漏極-源極之間連接一個(gè)FWD,具體本文中均不作限定。
上述實(shí)施例描述了本發(fā)明提供的掉電保護(hù)的電路,下面基于上述實(shí)施例中掉電保護(hù)的電路提供了防止數(shù)據(jù)失效的方法,上述掉電保護(hù)的電路包括閃存控制器、系統(tǒng)電源、開關(guān)模塊、備用儲(chǔ)能模塊和閃存,請(qǐng)參閱圖6,本發(fā)明實(shí)施例包括:
101、閃存控制器接收到處理模塊發(fā)送的將待寫入數(shù)據(jù)寫入閃存的請(qǐng)求后,向所述閃存發(fā)送所述待寫入數(shù)據(jù)和寫指令;
一個(gè)Page的物理存儲(chǔ)單元包含多個(gè)物理存儲(chǔ)單元,例如閃存為MLC時(shí),有Page0和Page1,MLC執(zhí)行寫指令的操作以Page為單位進(jìn)行,從Page0開始依次寫入,直至完成Page1的寫入操作,使整個(gè)嵌入式存儲(chǔ)系統(tǒng)數(shù)據(jù)完整。
102、當(dāng)系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí),開關(guān)模塊與備用儲(chǔ)能模塊和閃存形成新回路;
通過開關(guān)模塊形成的新回路,可以阻止備用儲(chǔ)能模塊輸出的電流輸入所述系統(tǒng)電源;
可以理解的是,閃存集成有為上述閃存供電的閃存電源,在嵌入式存儲(chǔ)系統(tǒng)異常掉電后,所述系統(tǒng)電源的電壓低于所述閃存電源的電壓,或,所述系統(tǒng)電源的電壓低于所述備用儲(chǔ)能模塊的供電電壓。
103、所述閃存利用所述備用儲(chǔ)能模塊提供的電能,執(zhí)行所述寫指令,將所述待寫入數(shù)據(jù)寫入所述閃存。
本發(fā)明實(shí)施例中,當(dāng)系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí),開關(guān)模塊 與備用儲(chǔ)能模塊和閃存形成新回路,阻止備用儲(chǔ)能模塊輸出的電流輸入所述系統(tǒng)電源,閃存利用備用儲(chǔ)能模塊提供的電能,執(zhí)行所述寫指令,使所述待寫入數(shù)據(jù)完整寫入所述閃存,實(shí)現(xiàn)閃存控制器向所述閃存發(fā)送寫指令后,異常掉電后,閃存能夠繼續(xù)執(zhí)行寫指令,以保證數(shù)據(jù)寫入的完整性,有效提高嵌入式存儲(chǔ)系統(tǒng)的穩(wěn)定性,及用戶體驗(yàn)。
可選的,在上述圖5所對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例的第一個(gè)可選實(shí)施例中,所述開關(guān)模塊為單向?qū)ㄐ烷_關(guān),
其中,所述開關(guān)模塊與所述備用儲(chǔ)能模塊和所述閃存形成新回路,所述備用儲(chǔ)能模塊為所述閃存供電具體包括:
當(dāng)系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí),所述單向?qū)ㄐ烷_關(guān)與所述備用儲(chǔ)能模塊和所述閃存形成新回路,以阻止所述備用儲(chǔ)能模塊所輸出的電流輸入所述系統(tǒng)電源,以使所述備用儲(chǔ)能模塊為所述閃存供電,增加所述備用儲(chǔ)能模塊的供電時(shí)間。
可以理解的是,在滿足所述系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí):所述系統(tǒng)電源的電壓低于所述閃存電源的電壓,所述系統(tǒng)電源的電壓低于所述備用儲(chǔ)能模塊的供電電壓。
可選的,在上述圖5所對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例的第二個(gè)可選實(shí)施例中,所述系統(tǒng)電源包括所述閃存控制器電源,所述開關(guān)模塊為通斷型開關(guān),所述方法還包括:
掉電檢測模塊獲取所述系統(tǒng)電源的電壓,在檢測到所述系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí),向開關(guān)控制模塊發(fā)送指令,所述指令用于指示所述開關(guān)控制模塊控制所述通斷型開關(guān)和所述系統(tǒng)電源之間連接的斷開,可選的,所述掉電檢測模塊還可以獲取掉電時(shí)間點(diǎn);
上述開關(guān)控制模塊在接收到所述掉電檢測模塊發(fā)送的所述指令時(shí),根據(jù)所述指令控制所述通斷型開關(guān)和所述系統(tǒng)電源之間連接的斷開,以截?cái)嗨鰝溆脙?chǔ)能模塊所輸出的電流輸入所述系統(tǒng)電源;
可選的,所述系統(tǒng)電源包括所述閃存控制器電源,所述根據(jù)所述指令控 制所述通斷型開關(guān)和所述系統(tǒng)電源之間連接的斷開,具體包括:
所述開關(guān)控制模塊根據(jù)所述指令調(diào)整所述閃存控制器電源的跌落閾值,以使所述閃存控制器電源的電壓跌落至所述預(yù)設(shè)跌落閾值時(shí),斷開所述通斷型開關(guān),以截?cái)嗨鱿到y(tǒng)電源和所述閃存之間的電流,與所述備用儲(chǔ)能模塊和所述閃存形成新回路,以使所述備用儲(chǔ)能模塊為所述閃存供電。
可選的,在上述圖5所對(duì)應(yīng)的實(shí)施例、第一至第二個(gè)可選實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例的第三個(gè)可選實(shí)施例中,所述閃存控制器從發(fā)出所述最后一條寫Page指令,直至所述閃存完成執(zhí)行所述最后一條寫Page指令的最長時(shí)間段為t,所述閃存控制器向所述閃存發(fā)送的最后一條寫Page指令的時(shí)間點(diǎn)為T1,所述閃存控制器在系統(tǒng)掉電后不工作的時(shí)間點(diǎn)為T2,從所述備用儲(chǔ)能模塊為所述閃存供電直至所述備用儲(chǔ)能模塊的電量耗盡的時(shí)間點(diǎn)為T3,則T3-T2為所述備用儲(chǔ)能模塊為所述閃存持續(xù)供電的時(shí)間,其中,T2≥T1,T3-T2≥t,則T3-T1≥t。
可以理解的是,從所述備用儲(chǔ)能模塊為所述閃存供電直至所述備用儲(chǔ)能模塊的電量耗盡的時(shí)間點(diǎn)T3為上述備用儲(chǔ)能模塊所存儲(chǔ)的最大電量,當(dāng)T2=T1時(shí),T2最小,即系統(tǒng)異常掉電與發(fā)出最后一條寫Page指令是同時(shí)發(fā)生,此時(shí)t最長,只要能保證上述備用儲(chǔ)能模塊所儲(chǔ)存的電量能夠支撐到上述閃存執(zhí)行完最后一條寫Page指令即可,一般情況下,將備用儲(chǔ)能模塊所儲(chǔ)存的電量的供電時(shí)間設(shè)定超出t,以確保萬無一失。
可選的,在上述圖5所對(duì)應(yīng)的實(shí)施例、第一至第三個(gè)可選實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例的第四個(gè)可選實(shí)施例中,所述方法還包括:
在確定所述系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值后,判斷所述閃存是否已執(zhí)行完所述寫指令;
若已執(zhí)行完,則結(jié)束流程;
若未執(zhí)行完,則根據(jù)預(yù)設(shè)公式增加所述備用儲(chǔ)能模塊的儲(chǔ)能容量,以增加供電的時(shí)間;
實(shí)際應(yīng)用中,可以人工設(shè)定上述備用儲(chǔ)能模塊的儲(chǔ)能容量的供電時(shí)間, 也可以預(yù)先設(shè)定相關(guān)程序來進(jìn)行相關(guān)計(jì)算,以調(diào)整上述備用儲(chǔ)能模塊的供電時(shí)間即T3-T1。
通過上述掉電檢測模塊來檢測掉電時(shí)間點(diǎn),工作人員可以用來預(yù)先判斷異常掉電前,閃存控制器是否有發(fā)出寫指令,以便提前采取措施,避免不必要的等待,具體確定發(fā)出寫指令的時(shí)間過程如下:
1、實(shí)時(shí)檢測電路系統(tǒng)的供電狀態(tài);
2、在系統(tǒng)電源的電壓小于預(yù)設(shè)的掉電閾值時(shí),確定滿足預(yù)設(shè)觸發(fā)切換電源條件,備用儲(chǔ)能模塊為閃存供電;
3、判斷在所述備用儲(chǔ)能模塊為所述閃存供電期間,所述閃存是否執(zhí)行將待寫入數(shù)據(jù)寫入所述閃存的最后一條寫指令;
可以理解的是,上述最后一條寫指令為上述嵌入式存儲(chǔ)系統(tǒng)異常掉電前,或至少是在異常掉電的一刻,閃存控制器所發(fā)出的一條寫指令,本文中出現(xiàn)的相同內(nèi)容均不再贅述。
4、若確定所述閃存執(zhí)行上述最后一條寫指令,則確定所述最后一條寫指令發(fā)出的時(shí)間點(diǎn)在滿足所述切換電源條件之前。
可以理解的是,若否,則可以確定至少在系統(tǒng)異常掉電前,閃存已執(zhí)行完閃存控制器在掉電前所發(fā)出的一條寫指令,那么,上述最后一條寫指令發(fā)出的時(shí)間點(diǎn)仍然在滿足所述切換電源條件之前。
或者,例如,MLC有兩個(gè)Page,閃存控制器并未在系統(tǒng)異常掉電前發(fā)出最后一條寫指令為寫Page1指令時(shí),由于Page0數(shù)據(jù)沒有保護(hù)機(jī)制,所以會(huì)影響Page0中數(shù)據(jù)的完整性。由于閃存控制器只有在閃存完成上一條寫入Page的寫指令并反饋至閃存控制器后,才會(huì)發(fā)出下一條寫入Page的寫指令,即便該寫指令可能不是最后一條寫Page指令,但在該閃存再次上電時(shí),系統(tǒng)會(huì)以掉電時(shí)寫Page時(shí),中斷的位置繼續(xù)開始寫數(shù)據(jù),直至閃存完成整個(gè)數(shù)據(jù)的寫入操作,保證了閃存的數(shù)據(jù)的完整性。
其中,所述判斷在所述備用儲(chǔ)能模塊為所述閃存供電期間,所述閃存是否執(zhí)行將待寫入數(shù)據(jù)寫入所述閃存的最后一條寫指令具體包括:
當(dāng)獲取閃存控制器在系統(tǒng)掉電后不工作的目標(biāo)時(shí)間點(diǎn)、以及由所述備用 儲(chǔ)能模塊供電期間,所述閃存執(zhí)行所述閃存控制器發(fā)出的最后一條寫指令的目標(biāo)時(shí)間段時(shí);
則確定所述閃存已執(zhí)行完所述最后一條寫指令,所述閃存控制器發(fā)出所述最后一條寫指令的時(shí)間點(diǎn)在所述目標(biāo)時(shí)間點(diǎn)之前。
可選的,掉電檢測模塊還可以根據(jù)所述目標(biāo)時(shí)間點(diǎn)和所述目標(biāo)時(shí)間段,得到所述備用儲(chǔ)能模塊為所述閃存供電期間,所述備用儲(chǔ)能模塊的電量低至所述閃存無法工作的時(shí)間點(diǎn)。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī), 服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上對(duì)本發(fā)明所提供的一種掉電保護(hù)的電路及相關(guān)方法進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。