專(zhuān)利名稱(chēng):閃存以及存儲(chǔ)器控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及閃存以及用于控制該閃存的操作的方法。特別地,本發(fā)明涉及一種包括存儲(chǔ)單元陣列的閃存以及用于控制該閃存的方法,所述存儲(chǔ)單元陣列由多個(gè)用戶(hù)區(qū)域和多個(gè)標(biāo)志區(qū)域組成,其中每個(gè)用戶(hù)區(qū)域存儲(chǔ)數(shù)據(jù),每個(gè)標(biāo)志區(qū)域指示每個(gè)用戶(hù)區(qū)域的狀態(tài)。
背景技術(shù):
閃存是一種電可擦除(可重寫(xiě))的非易失性存儲(chǔ)器,并且安裝在各種電器中。今天,已經(jīng)提出各種新的速度快且功耗低的存儲(chǔ)器,如FeRAM(鐵電體隨機(jī)存取存儲(chǔ)器)、MRAM(磁阻隨機(jī)存取存儲(chǔ)器)以及OUM(雙向一致存儲(chǔ)器)。但是,從成本的角度看,閃存比其它種類(lèi)的存儲(chǔ)器更好。特別地,對(duì)于帶有數(shù)字?jǐn)z像機(jī)的移動(dòng)電話(huà)或者數(shù)字?jǐn)z像機(jī)本身,閃存基本上占用了存儲(chǔ)裝置的全部。
與前述優(yōu)點(diǎn)相反,閃存包括以下缺點(diǎn)。由于閃存不能在先前寫(xiě)入的數(shù)據(jù)上重寫(xiě)數(shù)據(jù),所以重復(fù)寫(xiě)入以及刪除數(shù)據(jù)導(dǎo)致在閃存中留下分立的不必要區(qū)域。因此,閃存需要執(zhí)行這樣的處理,即,該處理擦除這些不必要區(qū)域并且收集被用于一組連續(xù)區(qū)域的這些區(qū)域,以增加要在其上存儲(chǔ)數(shù)據(jù)的區(qū)域的量。這個(gè)處理被稱(chēng)為無(wú)用單元收集(例如,參照專(zhuān)利文獻(xiàn)1)。
圖18示出了當(dāng)在傳統(tǒng)的閃存中重寫(xiě)數(shù)據(jù)時(shí)應(yīng)執(zhí)行的處理的流程圖。
在閃存外部安裝的CPU(中央處理器)的控制下執(zhí)行以下處理。
當(dāng)處理開(kāi)始時(shí),首先,CPU確定該處理是用于寫(xiě)入數(shù)據(jù)還是用于將數(shù)據(jù)無(wú)效化的(S100)。如果它是用于寫(xiě)入數(shù)據(jù)的,那么CPU執(zhí)行數(shù)據(jù)寫(xiě)入處理(S101),而如果它是用于無(wú)效化的,那么CPU執(zhí)行數(shù)據(jù)無(wú)效化處理(S102)。然后,CPU更新管理數(shù)據(jù)(S103)并且隨后計(jì)算閃存的區(qū)域使用率(S104)。然后,CPU根據(jù)區(qū)域使用率的計(jì)算結(jié)果確定無(wú)用單元收集是否必要(S105)。如果必要,則CPU執(zhí)行無(wú)用單元收集處理(S106),而如果不必要,則CPU終止該處理而不進(jìn)行任何處理。
但是,如上所述,在閃存中重寫(xiě)數(shù)據(jù)之后,在一些情況下,CPU將執(zhí)行需要相當(dāng)長(zhǎng)處理時(shí)間的無(wú)用單元收集處理。因此,這個(gè)無(wú)用單元收集處理不利地使得諸如移動(dòng)電話(huà)的設(shè)備的整體處理時(shí)間大大延長(zhǎng)。
可以通過(guò)在其各自的定時(shí)執(zhí)行閃存的數(shù)據(jù)重寫(xiě)處理和無(wú)用單元收集處理來(lái)解決這個(gè)缺點(diǎn)。為此,必需獲得執(zhí)行無(wú)用單元收集處理的合適定時(shí)。
專(zhuān)利文獻(xiàn)1特開(kāi)第2000-278730號(hào)公報(bào)(第 至 段,以及圖1)發(fā)明內(nèi)容本發(fā)明是考慮到前述方面而提出的,本發(fā)明的一個(gè)目的是提供一種閃存,該閃存被構(gòu)成為向外部通知為進(jìn)行無(wú)用單元收集而擦除數(shù)據(jù)的定時(shí)。
本發(fā)明的另一個(gè)目的是提供一種用于控制閃存的方法,該閃存被構(gòu)成為向外部通知為進(jìn)行無(wú)用單元收集而擦除數(shù)據(jù)的定時(shí)。
在實(shí)現(xiàn)上述目的時(shí),提供了一種圖1所示的閃存10,該閃存10包括由多個(gè)用戶(hù)區(qū)域u1、u2、u3、……、un和多個(gè)標(biāo)志區(qū)域f1、f2、f3、……fn組成的存儲(chǔ)單元陣列11,每個(gè)用戶(hù)區(qū)域用于存儲(chǔ)數(shù)據(jù),每個(gè)標(biāo)志區(qū)域用于指示每個(gè)用戶(hù)區(qū)域的狀態(tài),該閃存10包括狀態(tài)通知信息生成部12,用于通過(guò)參照標(biāo)志區(qū)域f1、f2、f3、……fn來(lái)產(chǎn)生狀態(tài)通知信息,該狀態(tài)通知信息向外部通知與用戶(hù)區(qū)域u1、u2、u3、……、un的狀態(tài)對(duì)應(yīng)的信息;和輸出部13,用于輸出狀態(tài)通知信息。
根據(jù)上述構(gòu)成,狀態(tài)通知信息生成部12通過(guò)參照標(biāo)志區(qū)域f1、f2、f3、……fn來(lái)產(chǎn)生向外部通知與用戶(hù)區(qū)域u1、u2、u3、……、un的狀態(tài)對(duì)應(yīng)的信息的狀態(tài)通知信息,輸出部13通過(guò)向外部輸出該狀態(tài)通知信息,來(lái)向外部通知閃存10內(nèi)的狀態(tài)。
結(jié)合附圖閱讀以下說(shuō)明,本發(fā)明的上述和其它目的、特征以及優(yōu)點(diǎn)將變得清楚,其中附圖通過(guò)舉例示出了本發(fā)明的優(yōu)選實(shí)施例。
圖1是用于解釋根據(jù)本發(fā)明的閃存的原理的原理構(gòu)成圖。
圖2是示出根據(jù)本發(fā)明第一實(shí)施例的閃存及安裝在閃存外部的電路的圖。
圖3是示出在閃存中寫(xiě)入數(shù)據(jù)時(shí)的定時(shí)的圖。
圖4是示出從閃存無(wú)效化(或者刪除)數(shù)據(jù)時(shí)的定時(shí)的圖。
圖5是示出向外部輸出中斷信號(hào)時(shí)的定時(shí)的圖。
圖6是示出重寫(xiě)比率時(shí)的定時(shí)的圖。
圖7是示出重寫(xiě)閃存中的數(shù)據(jù)時(shí)應(yīng)執(zhí)行處理的流程的流程圖。
圖8是示出數(shù)據(jù)寫(xiě)入處理中應(yīng)執(zhí)行處理的流程的流程圖。
圖9是示出數(shù)據(jù)無(wú)效化處理的流程圖。
圖10是示出用于擦除數(shù)據(jù)的處理的流程的流程圖。
圖11是示出當(dāng)輸出中斷信號(hào)時(shí)在閃存中應(yīng)執(zhí)行的處理的流程圖。
圖12是示出無(wú)用單元收集處理的流程的流程圖。
圖13是示出根據(jù)第二實(shí)施例的閃存以及位于閃存外部的電路的電路圖。
圖14是示出在數(shù)據(jù)寫(xiě)入處理之后輸出比率時(shí)的定時(shí)的圖。
圖15是示出在數(shù)據(jù)無(wú)效化處理之后輸出比率時(shí)的定時(shí)的圖。
圖16是示出要在根據(jù)本發(fā)明第二實(shí)施例的構(gòu)成中執(zhí)行的處理的流程的流程圖。
圖17是示出當(dāng)響應(yīng)于比率指令輸出比率時(shí)的定時(shí)的圖。
圖18是示出當(dāng)在傳統(tǒng)閃存中重寫(xiě)數(shù)據(jù)時(shí)應(yīng)執(zhí)行處理的流程的流程圖。
具體實(shí)施例方式
下面,參照附圖描述本發(fā)明的實(shí)施例。
圖1是示出根據(jù)本發(fā)明的閃存的原理的原理構(gòu)成圖。
閃存10包括存儲(chǔ)單元陣列11、狀態(tài)通知信息生成部12,以及輸出部13。存儲(chǔ)單元陣列11由多個(gè)用戶(hù)區(qū)域u1、u2、u3、……、un和多個(gè)標(biāo)志區(qū)域f1、f2、f3、……fn組成,其中每個(gè)用戶(hù)區(qū)域存儲(chǔ)數(shù)據(jù),每個(gè)標(biāo)志區(qū)域指示對(duì)應(yīng)于用戶(hù)區(qū)域u1、u2、u3、……、un之一的狀態(tài)。狀態(tài)通知信息生成部12通過(guò)參照標(biāo)志區(qū)域f1、f2、f3、……fn產(chǎn)生用于指示每個(gè)用戶(hù)區(qū)域u1、u2、u3、……、un的狀態(tài)的狀態(tài)通知信息,以向外部通知所述狀態(tài)。輸出部13輸出狀態(tài)通知信息。
在以下描述中,將所述多個(gè)用戶(hù)區(qū)域u1、u2、u3、……、un稱(chēng)為用戶(hù)區(qū)域ux(x=1、2、3、……、n)。將所述多個(gè)標(biāo)志區(qū)域f1、f2、f3、……fn稱(chēng)為標(biāo)志區(qū)域fy(y=1、2、3、……、n)。
下面描述閃存10的操作。
在存儲(chǔ)單元陣列11中,當(dāng)在用戶(hù)區(qū)域ux上重寫(xiě)數(shù)據(jù)時(shí),針對(duì)用戶(hù)區(qū)域ux的標(biāo)志區(qū)域fy指示一有效值。當(dāng)無(wú)效化數(shù)據(jù)時(shí),標(biāo)志區(qū)域fy指示一無(wú)效值。狀態(tài)通知信息生成部12通過(guò)參照標(biāo)志區(qū)域fy的值,產(chǎn)生用于指示與標(biāo)志區(qū)域fy對(duì)應(yīng)的用戶(hù)區(qū)域ux的狀態(tài)的狀態(tài)通知信息,該狀態(tài)通知信息將被通知到外部。該狀態(tài)通知信息例如是從其無(wú)效化數(shù)據(jù)的用戶(hù)區(qū)域ux的比率(下面將詳細(xì)討論)。然后,輸出部13向閃存10的外部提供產(chǎn)生的狀態(tài)通知信息。
在該操作中,位于閃存10外部的控制部(未示出)如CPU(在此執(zhí)行無(wú)用單元收集),使得能夠很容易掌握閃存的狀態(tài)(例如經(jīng)數(shù)據(jù)無(wú)效化的用戶(hù)區(qū)域ux的比率)。因此,控制部使得能夠基于所掌握的閃存狀態(tài)確定是否要執(zhí)行無(wú)用單元收集處理。
下面,將描述本發(fā)明的實(shí)施例。
首先,將描述根據(jù)本發(fā)明第一實(shí)施例的閃存。
圖2是示出根據(jù)本發(fā)明第一實(shí)施例的閃存及位于閃存外部的電路的電路圖。根據(jù)第一實(shí)施例的閃存20由存儲(chǔ)單元陣列21、比率存儲(chǔ)部22、比較部23、時(shí)間管理部24以及控制部25組成。
如參照?qǐng)D1所述,存儲(chǔ)單元陣列21由多個(gè)用戶(hù)區(qū)域ux和多個(gè)標(biāo)志區(qū)域fy組成。標(biāo)志區(qū)域fy具有用于每個(gè)用戶(hù)區(qū)域ux的2比特信息。如果標(biāo)志區(qū)域fy的值為“00”,則它表示在與標(biāo)志區(qū)域fy對(duì)應(yīng)的用戶(hù)區(qū)域ux上的數(shù)據(jù)被擦除。如果標(biāo)志區(qū)域fy的值為“01”,則它表示與標(biāo)志區(qū)域fy對(duì)應(yīng)的用戶(hù)區(qū)域ux上的數(shù)據(jù)是有效的。如果標(biāo)志區(qū)域fy的值為“11”,則它表示與標(biāo)志區(qū)域fy對(duì)應(yīng)的用戶(hù)區(qū)域ux上的數(shù)據(jù)是無(wú)效的。在使用之前的閃存20的存儲(chǔ)單元陣列21中,在所有用戶(hù)區(qū)域ux上都未寫(xiě)入數(shù)據(jù)。進(jìn)而,在存儲(chǔ)單元陣列21的所有標(biāo)志區(qū)域fy上寫(xiě)入了表示數(shù)據(jù)被擦除的值“00”。
比率存儲(chǔ)部22預(yù)先存儲(chǔ)了預(yù)定的比率。例如,預(yù)先存儲(chǔ)了一比率“80%”。
比較部23確定存儲(chǔ)單元陣列21的標(biāo)志區(qū)域fy的狀態(tài),計(jì)算從其無(wú)效化數(shù)據(jù)的用戶(hù)區(qū)域ux的比率,然后對(duì)計(jì)算出的比率與比率存儲(chǔ)部22中存儲(chǔ)的比率進(jìn)行比較。
時(shí)間管理部24按一定時(shí)間間隔,例如按60秒的間隔向控制部25發(fā)送信號(hào)。
控制部25控制閃存20的每個(gè)組件以與外部傳輸信息??刂撇?5通過(guò)中斷信號(hào)線(xiàn)101和控制信號(hào)線(xiàn)102與CPU50相連接。而且,控制部25還與數(shù)據(jù)總線(xiàn)60和地址總線(xiàn)70相連接。
CPU50還與數(shù)據(jù)總線(xiàn)60和地址總線(xiàn)70相連接。數(shù)據(jù)總線(xiàn)通過(guò)RAM(隨機(jī)存取存儲(chǔ)器)80連接到地址總線(xiàn)70。CPU50通過(guò)使用數(shù)據(jù)總線(xiàn)60和地址總線(xiàn)70在/從閃存20和RAM80上寫(xiě)入/讀取數(shù)據(jù),并且執(zhí)行寫(xiě)入RAM80中的程序。
在第一實(shí)施例中,將圖1中示出的狀態(tài)通知信息生成部12的功能包括在比較部23中。將輸出部13的功能包括在控制部25中。
隨后,將描述圖1所示的操作以及根據(jù)本發(fā)明第一實(shí)施例的閃存的操作。
首先,描述寫(xiě)入操作。
圖3是示出當(dāng)在閃存中寫(xiě)入數(shù)據(jù)時(shí)的定時(shí)的圖。這個(gè)定時(shí)圖示出了在閃存中寫(xiě)入數(shù)據(jù)的處理中在地址總線(xiàn)70、控制信號(hào)線(xiàn)102、中斷信號(hào)線(xiàn)101以及數(shù)據(jù)總線(xiàn)60上傳送的信號(hào)的狀態(tài)。
在將寫(xiě)入RAM80中的數(shù)據(jù)寫(xiě)入閃存20中時(shí),CPU50將控制信號(hào)線(xiàn)102的信號(hào)切換為“H(高)”電平,并且通過(guò)數(shù)據(jù)總線(xiàn)60向控制部25發(fā)送寫(xiě)入指令。然后,CPU50將控制信號(hào)線(xiàn)102的信號(hào)返回到“L(低)”電平。此外,CPU50通過(guò)數(shù)據(jù)總線(xiàn)60向控制部25發(fā)送從RAM80讀取的數(shù)據(jù)。CPU50通過(guò)地址總線(xiàn)70向控制部25發(fā)送寫(xiě)入目的地的地址。
當(dāng)如圖3所示在控制信號(hào)線(xiàn)102上傳送的信號(hào)處于“H”電平時(shí),閃存20的控制部25從數(shù)據(jù)總線(xiàn)60接收數(shù)據(jù)寫(xiě)入指令。然后,控制部25從數(shù)據(jù)總線(xiàn)60接收數(shù)據(jù)并從地址總線(xiàn)70接收地址,然后將數(shù)據(jù)寫(xiě)入到由接收地址表示的存儲(chǔ)單元陣列21的用戶(hù)區(qū)域ux上。而且,控制部25將指示數(shù)據(jù)有效的值(即,值“01”)寫(xiě)入到與用戶(hù)區(qū)域ux對(duì)應(yīng)的標(biāo)志區(qū)域fy上。
接著,將描述無(wú)效化處理以及刪除數(shù)據(jù)的操作。
圖4是示出當(dāng)無(wú)效化(或刪除)閃存中存儲(chǔ)的數(shù)據(jù)時(shí)的定時(shí)的圖。
在無(wú)效化(或刪除)閃存中的數(shù)據(jù)的處理中,定時(shí)圖示出地址總線(xiàn)70、控制信號(hào)線(xiàn)102、中斷信號(hào)線(xiàn)101以及數(shù)據(jù)總線(xiàn)60的信號(hào)狀態(tài)。
在無(wú)效化(或刪除)閃存20中寫(xiě)入的數(shù)據(jù)時(shí),CPU50將控制信號(hào)線(xiàn)102的信號(hào)切換到“H”電平,并且通過(guò)數(shù)據(jù)總線(xiàn)60向閃存20的控制部25發(fā)送無(wú)效化數(shù)據(jù)的指令。然后,CPU50將控制信號(hào)線(xiàn)102的信號(hào)返回到“L”電平。此外,CPU50通過(guò)地址總線(xiàn)70向控制部25發(fā)送要無(wú)效化的數(shù)據(jù)的地址。
當(dāng)如圖4所示在控制信號(hào)線(xiàn)102上傳送的信號(hào)處于“H”電平時(shí),閃存20的控制部25從數(shù)據(jù)總線(xiàn)60接收無(wú)效化(或刪除)指令。然后,控制部25在與由從地址總線(xiàn)70接收到的地址表示的存儲(chǔ)單元陣列21的用戶(hù)區(qū)域ux對(duì)應(yīng)的標(biāo)志區(qū)域fy中寫(xiě)入值“11”,該值表示數(shù)據(jù)是無(wú)效的。在刪除數(shù)據(jù)時(shí),控制部25從由接收到的地址表示的存儲(chǔ)單元陣列21的用戶(hù)區(qū)域ux刪除數(shù)據(jù),并且接著在與從其刪除數(shù)據(jù)的用戶(hù)區(qū)域ux對(duì)應(yīng)的標(biāo)志區(qū)域上寫(xiě)入值“00”,該值表示數(shù)據(jù)被擦除。
隨后,將描述這個(gè)實(shí)施例的特征組件的操作。
在閃存20中,如上所述,時(shí)間管理部24按一定時(shí)間間隔,例如按60秒的一定間隔,向控制部25發(fā)送信號(hào)。在從時(shí)間管理部24接收到信號(hào)時(shí),控制部25讀取標(biāo)志區(qū)域fy的數(shù)據(jù),然后將讀取的數(shù)據(jù)發(fā)送給比較部23。在接收到標(biāo)志區(qū)域fy的數(shù)據(jù)時(shí),比較部23對(duì)由標(biāo)志區(qū)域fy的數(shù)據(jù)指定為無(wú)效的數(shù)據(jù)單元的數(shù)量進(jìn)行計(jì)數(shù),以導(dǎo)出具有無(wú)效數(shù)據(jù)的用戶(hù)區(qū)域ux的比率。進(jìn)而,比較部23比較該導(dǎo)出比率與預(yù)先存儲(chǔ)在比率存儲(chǔ)部22中的比率,例如“80%”。作為比較的結(jié)果,如果導(dǎo)出比率比預(yù)先存儲(chǔ)的比率大,則比較部23向控制部25發(fā)送信號(hào)。
在從比較部23接收到信號(hào)時(shí),控制部25通過(guò)中斷信號(hào)線(xiàn)101向CPU50發(fā)送中斷信號(hào)。
圖5是示出向外部輸出中斷信號(hào)時(shí)的定時(shí)的圖。
這個(gè)定時(shí)圖示出了地址總線(xiàn)70、控制信號(hào)線(xiàn)102、中斷信號(hào)線(xiàn)101以及數(shù)據(jù)總線(xiàn)60的信號(hào)電平。
在圖5中,當(dāng)向CPU50發(fā)送中斷信號(hào)時(shí),在中斷信號(hào)線(xiàn)101上傳送的信號(hào)上升到“H”電平。這個(gè)中斷信號(hào)向外部指示閃存20必需無(wú)用單元收集處理。
在接收到中斷信號(hào)時(shí),CPU50執(zhí)行一用于執(zhí)行無(wú)用單元收集的程序,該程序存儲(chǔ)在RAM80中。執(zhí)行這個(gè)程序,來(lái)進(jìn)行從閃存20擦除不必要數(shù)據(jù)的無(wú)用單元收集,從而增加空閑區(qū)域。
另外,可以重寫(xiě)比率存儲(chǔ)部22中預(yù)先存儲(chǔ)的比率。
圖6是示出重寫(xiě)比率時(shí)的定時(shí)的圖。
該定時(shí)圖示出了地址總線(xiàn)70、控制信號(hào)線(xiàn)102、中斷信號(hào)線(xiàn)101以及數(shù)據(jù)總線(xiàn)60在重寫(xiě)比率的處理中呈現(xiàn)的信號(hào)電平。
在重寫(xiě)存儲(chǔ)在閃存20的比率存儲(chǔ)部22中的比率時(shí),如圖6所示,首先,CPU50將在控制信號(hào)線(xiàn)102上傳送的信號(hào)切換到“H”電平,并同時(shí)通過(guò)數(shù)據(jù)總線(xiàn)60向閃存20的控制部25發(fā)送比率存儲(chǔ)指令。然后,CPU50將控制信號(hào)線(xiàn)102的信號(hào)電平返回到“L”電平。然后,將存儲(chǔ)在RAM80的中重寫(xiě)用比率的數(shù)據(jù)發(fā)送到控制部25。
當(dāng)在控制信號(hào)線(xiàn)102上傳送的信號(hào)處于“H”電平時(shí),通過(guò)數(shù)據(jù)總線(xiàn)60向控制部25輸入了比率存儲(chǔ)指令,然后還通過(guò)數(shù)據(jù)總線(xiàn)60向控制部25輸入了重寫(xiě)比率的數(shù)據(jù)。
將第一實(shí)施例的操作的前述流程概括在流程圖中。
圖7是示出在重寫(xiě)閃存數(shù)據(jù)中應(yīng)執(zhí)行處理的流程的流程圖。
S10確定是否要寫(xiě)入或者無(wú)效化數(shù)據(jù)的處理當(dāng)處理開(kāi)始時(shí),CPU50確定要執(zhí)行的處理是數(shù)據(jù)寫(xiě)入處理還是數(shù)據(jù)無(wú)效化處理。如果是數(shù)據(jù)寫(xiě)入處理,則處理轉(zhuǎn)到S11,而如果是數(shù)據(jù)無(wú)效化處理,則該處理轉(zhuǎn)到S12。
S11數(shù)據(jù)寫(xiě)入處理在步驟S10中,確定要執(zhí)行的處理是寫(xiě)入數(shù)據(jù)的處理。因此,開(kāi)始寫(xiě)入數(shù)據(jù)的處理。
S12數(shù)據(jù)無(wú)效化處理在步驟S10中,確定要執(zhí)行的處理是數(shù)據(jù)無(wú)效化處理。因此,開(kāi)始數(shù)據(jù)無(wú)效化處理。
在終止步驟S11或S12的處理時(shí),CPU50終止重寫(xiě)閃存20中存儲(chǔ)的數(shù)據(jù)的處理。
圖8是示出在數(shù)據(jù)寫(xiě)入操作中要執(zhí)行的處理的流程圖。
S20在用戶(hù)區(qū)域上寫(xiě)入數(shù)據(jù)的處理當(dāng)數(shù)據(jù)寫(xiě)入處理開(kāi)始時(shí),閃存20的控制部25在如圖3所示的定時(shí),在存儲(chǔ)單元陣列21的用戶(hù)區(qū)域ux的指定地址處寫(xiě)入數(shù)據(jù)。
S21在標(biāo)志區(qū)域上寫(xiě)入數(shù)據(jù)“01”的處理當(dāng)在步驟S20中執(zhí)行了在用戶(hù)區(qū)域ux上寫(xiě)入數(shù)據(jù)的處理時(shí),控制部25將指示數(shù)據(jù)有效的值“01”寫(xiě)入到與寫(xiě)入了數(shù)據(jù)的用戶(hù)區(qū)域ux對(duì)應(yīng)的標(biāo)志區(qū)域fy上。
圖9是示出數(shù)據(jù)無(wú)效化處理的流程圖。
S30將值“11”寫(xiě)入到標(biāo)志區(qū)域上的處理當(dāng)無(wú)效化處理開(kāi)始時(shí),閃存20的控制部25在圖4所示的定時(shí)將指示數(shù)據(jù)無(wú)效的值“11”寫(xiě)入到存儲(chǔ)單元陣列21中包括的與要被無(wú)效化的用戶(hù)區(qū)域ux對(duì)應(yīng)的標(biāo)志區(qū)域fy上。然后,無(wú)效化處理終止。
圖10是示出數(shù)據(jù)擦除處理的流程的流程圖。
S40從用戶(hù)區(qū)域擦除數(shù)據(jù)的處理當(dāng)數(shù)據(jù)擦除處理開(kāi)始時(shí),閃存20的控制部25在圖4所示的定時(shí)擦除位于包括在存儲(chǔ)單元陣列21中的用戶(hù)區(qū)域ux的指定地址處的數(shù)據(jù)。
S41向標(biāo)志區(qū)域上寫(xiě)入值“00”的處理控制部25將表示數(shù)據(jù)被擦除的值“00”寫(xiě)入到與從其擦除數(shù)據(jù)的用戶(hù)區(qū)域ux對(duì)應(yīng)的標(biāo)志區(qū)域fy上。然后,控制部25結(jié)束數(shù)據(jù)擦除處理。
圖11是示出在輸出中斷信號(hào)處理中應(yīng)在閃存中執(zhí)行的處理的流程的流程圖。
S50確定是否經(jīng)過(guò)預(yù)定時(shí)間的處理控制部25按一定間隔接收從時(shí)間管理部24輸出的信號(hào),并且確定是否經(jīng)過(guò)預(yù)定時(shí)間長(zhǎng)度(例如60秒)。如果確定已經(jīng)經(jīng)過(guò)預(yù)定時(shí)間長(zhǎng)度,則處理轉(zhuǎn)到步驟S51,而如果確定沒(méi)有經(jīng)過(guò)預(yù)定時(shí)間長(zhǎng)度,也就是說(shuō),控制部25沒(méi)有從時(shí)間管理部24接收到任何信號(hào),則重復(fù)步驟S50的處理。
S51計(jì)算標(biāo)志區(qū)域上的數(shù)據(jù)“11”的比率的處理控制部25使比較部23計(jì)算各具有值“11”的標(biāo)志區(qū)域fy的比率,值“11”表示用戶(hù)區(qū)域ux上的數(shù)據(jù)是無(wú)效的。
S52確定計(jì)算出的比率是否大于預(yù)定比率的處理然后,控制部25讀取預(yù)先存儲(chǔ)在比率存儲(chǔ)部22中的預(yù)定比率,然后將該預(yù)定比率發(fā)送給比較部23。在這個(gè)比較部23中,對(duì)在步驟S51的處理中計(jì)算出的比率與預(yù)定比率進(jìn)行比較。如果計(jì)算出的比率比預(yù)定比率(例如,80%)大,則處理轉(zhuǎn)到步驟S53,而如果不是這樣,則處理轉(zhuǎn)到步驟S50。
S53中斷信號(hào)輸出處理由于無(wú)效化比率較大,所以控制部25向外部輸出中斷信號(hào),并且要求無(wú)用單元收集。然后,控制部25重復(fù)從步驟S50起的處理。
圖12是示出無(wú)用單元收集處理的流程的流程圖。
S60確定是否接收到中斷信號(hào)的處理CPU50確定是否接收到閃存20的控制部50請(qǐng)求執(zhí)行無(wú)用單元收集處理的中斷信號(hào)。如果確定接收到該信號(hào),則處理轉(zhuǎn)到步驟S61,而如果確定未接收到該信號(hào),則處理轉(zhuǎn)到步驟S60。
S61無(wú)用單元收集處理CPU50針對(duì)閃存20執(zhí)行無(wú)用單元收集處理。
執(zhí)行無(wú)用單元收集處理以從用戶(hù)區(qū)域ux擦除不必要的數(shù)據(jù),將有效區(qū)域集中為連續(xù)的區(qū)域,從而增加可用區(qū)域。
如上所述,使用第一實(shí)施例的閃存20使得CPU50可以單獨(dú)執(zhí)行在閃存20上重寫(xiě)數(shù)據(jù)的程序和執(zhí)行無(wú)用單元收集的程序。第一實(shí)施例的閃存20產(chǎn)生要執(zhí)行無(wú)用單元收集程序時(shí)的定時(shí),以將其作為中斷信號(hào)通知給外部。
接著,將描述根據(jù)本發(fā)明第二實(shí)施例的閃存。
圖13是示出第二實(shí)施例的閃存以及安裝在閃存外部的電路的電路圖。
第二實(shí)施例的閃存30由存儲(chǔ)單元陣列31、比率計(jì)算部32以及控制部33組成。
和第一實(shí)施例一樣,存儲(chǔ)單元陣列31由多個(gè)用戶(hù)區(qū)域ux和對(duì)應(yīng)的多個(gè)標(biāo)志區(qū)域fy組成。
比率計(jì)算部32確定存儲(chǔ)單元陣列31的標(biāo)志區(qū)域fy的狀態(tài),計(jì)算用戶(hù)區(qū)域ux處于無(wú)效的比率,然后將計(jì)算出的比率發(fā)送到控制部33。
控制部33控制閃存30的每個(gè)組件以與外部傳送信息??刂撇?3通過(guò)控制信號(hào)線(xiàn)102連接到CPU50,并且還與數(shù)據(jù)總線(xiàn)60和地址總線(xiàn)70相連接。而且,控制部33接收由比率計(jì)算部32計(jì)算出的比率,并且接著緊隨數(shù)據(jù)寫(xiě)入處理或無(wú)效化處理之后將該比率輸出到外部。
安裝在閃存30外部的電路的組件由與第一實(shí)施例中相同的標(biāo)號(hào)來(lái)指示,由于它們與第一實(shí)施例中的相同,所以不對(duì)它們進(jìn)行描述。
在第二實(shí)施例中,將圖1中所示的狀態(tài)通知信息生成部12的功能包括在比率計(jì)算部32中。將輸出部13的功能包括在控制部33中。
第二實(shí)施例的閃存30與第一實(shí)施例的閃存20不同的方面在于,由控制部33將比率計(jì)算部32計(jì)算出的比率本身輸出到外部,特別在于,去掉了時(shí)間管理部24,從而緊隨數(shù)據(jù)寫(xiě)入處理或無(wú)效化處理之后將比率輸出到外部。
下面,描述第二實(shí)施例的閃存的操作。
圖14是示出當(dāng)在數(shù)據(jù)寫(xiě)入處理之后輸出比率時(shí)的定時(shí)的圖。
這個(gè)定時(shí)圖示出了在數(shù)據(jù)寫(xiě)入處理之后輸出比率時(shí)出現(xiàn)的在地址總線(xiàn)70、控制信號(hào)線(xiàn)102以及數(shù)據(jù)總線(xiàn)60上傳送的信號(hào)的狀態(tài)。
當(dāng)如圖14所示在控制信號(hào)線(xiàn)102上傳送的信號(hào)上升到“H”電平時(shí),閃存30的控制部33接收來(lái)自數(shù)據(jù)總線(xiàn)60的寫(xiě)入指令。然后,控制部33將通過(guò)數(shù)據(jù)總線(xiàn)60接收到的數(shù)據(jù)寫(xiě)入到由從地址總線(xiàn)70接收到的地址指定的存儲(chǔ)單元陣列31的用戶(hù)區(qū)域ux。而且,在與用戶(hù)區(qū)域?qū)?yīng)的標(biāo)志區(qū)域fy上寫(xiě)入表示數(shù)據(jù)有效的值“01”。然后,比率計(jì)算部32確定標(biāo)志區(qū)域fy的狀態(tài)并且計(jì)算具有無(wú)效數(shù)據(jù)的用戶(hù)區(qū)域ux的比率??刂撇?3接收由比率計(jì)算部32計(jì)算的比率并將計(jì)算出的比率輸出到數(shù)據(jù)總線(xiàn)60以將它報(bào)告給外部。
圖15是示出當(dāng)在數(shù)據(jù)無(wú)效化處理之后輸出比率的定時(shí)的圖。
這個(gè)定時(shí)圖示出了當(dāng)在數(shù)據(jù)無(wú)效化處理之后輸出比率時(shí)出現(xiàn)的在地址總線(xiàn)70、控制信號(hào)線(xiàn)102以及數(shù)據(jù)總線(xiàn)60上傳送的信號(hào)的狀態(tài)。
當(dāng)如圖15所示在控制信號(hào)線(xiàn)102上傳送的信號(hào)上升到“H”電平時(shí),閃存30的控制部33從數(shù)據(jù)總線(xiàn)60接收無(wú)效化指令。然后,控制部33將表示數(shù)據(jù)無(wú)效的值“11”寫(xiě)入到與由從地址總線(xiàn)70接收的地址指定的存儲(chǔ)單元陣列31的用戶(hù)區(qū)域ux對(duì)應(yīng)的標(biāo)志區(qū)域fy上。然后,比率計(jì)算部32確定標(biāo)志區(qū)域fy的狀態(tài)并且計(jì)算具有無(wú)效數(shù)據(jù)的用戶(hù)區(qū)域ux的比率??刂撇?3接收由比率計(jì)算部32計(jì)算的比率,并且將計(jì)算出的比率輸出到數(shù)據(jù)總線(xiàn)60以將它報(bào)告給外部。
圖16是示出要在第二實(shí)施例中執(zhí)行的處理的流程的流程圖。
S70確定操作是用于寫(xiě)入數(shù)據(jù)還是用于無(wú)效化數(shù)據(jù)的處理當(dāng)該處理開(kāi)始時(shí),CPU50確定操作是用于寫(xiě)入數(shù)據(jù)還是用于無(wú)效化數(shù)據(jù)的。如果是用于寫(xiě)入數(shù)據(jù)的,則處理轉(zhuǎn)到步驟S71,而如果是用于無(wú)效化數(shù)據(jù)的,則處理轉(zhuǎn)到步驟S72。
S71數(shù)據(jù)寫(xiě)入處理由于在步驟S70中確定開(kāi)始該數(shù)據(jù)寫(xiě)入處理,所以執(zhí)行這個(gè)處理。
S72數(shù)據(jù)無(wú)效化處理由于在步驟S70中確定開(kāi)始數(shù)據(jù)無(wú)效化處理,所以執(zhí)行這個(gè)處理。
S73讀取計(jì)算比率的處理緊隨寫(xiě)入數(shù)據(jù)或無(wú)效化處理之后,CPU50通過(guò)數(shù)據(jù)總線(xiàn)60讀取由閃存30計(jì)算并輸出的比率。
S74確定計(jì)算比率是否大于預(yù)定比率的處理然后,CPU50確定計(jì)算比率是否大于預(yù)先存儲(chǔ)在RAM80中的預(yù)定比率(例如,80%)。如果大于預(yù)定比率,則處理轉(zhuǎn)到步驟S75,如果不大于預(yù)定比率,則處理終止。
S75無(wú)用單元收集處理如果由閃存30通知的比率大于預(yù)定比率時(shí),則CPU50確定無(wú)用單元收集處理是必要的并開(kāi)始該處理。
如上所述,第二實(shí)施例的閃存20被構(gòu)成為緊隨數(shù)據(jù)寫(xiě)入處理或數(shù)據(jù)無(wú)效化處理來(lái)輸出比率。因此,與第一實(shí)施例不同的是,不需要中斷信號(hào)線(xiàn)101。
下面,將描述本發(fā)明的第三實(shí)施例。
第三實(shí)施例的構(gòu)成與圖13所示的第二實(shí)施例的構(gòu)成相同。因此,這里不再描述。
第三實(shí)施例與第二實(shí)施例不同的方面在于,CPU50向閃存20傳送用于請(qǐng)求比率的比率輸出指令。
圖17是示出當(dāng)響應(yīng)于比率輸出指令輸出比率時(shí)的定時(shí)的圖。
該定時(shí)圖示出了在輸出比率時(shí)出現(xiàn)的在地址總線(xiàn)70、控制信號(hào)線(xiàn)102和數(shù)據(jù)總線(xiàn)60上傳送的信號(hào)的狀態(tài)。
當(dāng)如圖17所示在控制信號(hào)線(xiàn)102上傳送的信號(hào)上升到“H”電平時(shí),閃存30的控制部33從數(shù)據(jù)總線(xiàn)60接收比率輸出指令。響應(yīng)于該指令,比率計(jì)算部32確定標(biāo)志區(qū)域fy的狀態(tài)并且計(jì)算具有無(wú)效數(shù)據(jù)的用戶(hù)區(qū)域ux的比率。控制部33接收由比率計(jì)算部32計(jì)算的比率,并且將計(jì)算出的比率輸出到數(shù)據(jù)總線(xiàn)60以將它報(bào)告給外部。
如上所述,當(dāng)向閃存20發(fā)送了比率輸出指令時(shí),第三實(shí)施例的構(gòu)成接收比率。因此,第三實(shí)施例的這個(gè)構(gòu)成使得可以在任何定時(shí)獲得比率。
第一實(shí)施例涉及這樣一種構(gòu)成,在該構(gòu)成中,處理采取以下步驟按一定間隔計(jì)算具有無(wú)效數(shù)據(jù)的用戶(hù)區(qū)域ux的比率;比較計(jì)算比率與預(yù)先存儲(chǔ)在閃存20中的預(yù)定比率;以及,如果前者大于后者則輸出用于請(qǐng)求無(wú)用單元收集處理的中斷信號(hào)。另一方面,第二實(shí)施例涉及這樣一種構(gòu)成,在該構(gòu)成中,緊隨數(shù)據(jù)寫(xiě)入處理或數(shù)據(jù)無(wú)效化處理立即輸出計(jì)算比率。但是,不限于此操作,也可以照原樣輸出按一定間隔計(jì)算的比率。作為另一種操作,第二實(shí)施例可以執(zhí)行采取以下步驟的處理比較計(jì)算比率與預(yù)先存儲(chǔ)的預(yù)定比率;以及如果計(jì)算比率大于預(yù)定比率,則輸出用于請(qǐng)求無(wú)用單元收集處理的中斷信號(hào)。
此外,第三實(shí)施例被構(gòu)成為,響應(yīng)于從外部發(fā)送的比率輸出指令而輸出具有無(wú)效數(shù)據(jù)的用戶(hù)區(qū)域ux的比率。該第三構(gòu)成可以被構(gòu)成得與第一實(shí)施例相同。具體來(lái)說(shuō),第三實(shí)施例可以被構(gòu)成為,當(dāng)將來(lái)自外部的指令輸入到閃存中時(shí),可以輸出中斷信號(hào)以請(qǐng)求無(wú)用單元收集處理。
在前面的描述中,標(biāo)志區(qū)域fy的擦除狀態(tài)具有值“00”,有效狀態(tài)具有值“01”,而無(wú)效狀態(tài)具有值“11”。但是,實(shí)際上,這些狀態(tài)不必限定為這些值。
如上所述,根據(jù)本發(fā)明,具有存儲(chǔ)單元陣列的閃存被構(gòu)成為,參照標(biāo)志區(qū)域的值,產(chǎn)生表示用戶(hù)區(qū)域的狀態(tài)的狀態(tài)通知信息以向外部通知狀態(tài),并且向外部輸出狀態(tài)通知信息,其中存儲(chǔ)單元陣列由多個(gè)用戶(hù)區(qū)域和多個(gè)標(biāo)志區(qū)域組成,每個(gè)用戶(hù)區(qū)域用于存儲(chǔ)數(shù)據(jù),每個(gè)標(biāo)志區(qū)域用于指示用戶(hù)區(qū)域的狀態(tài)。在閃存的外部,可以容易地掌握閃存內(nèi)部的狀態(tài),并且基于掌握的閃存狀態(tài)確定是否需要無(wú)用單元收集處理。
前述的內(nèi)容被認(rèn)為僅例示了本發(fā)明的原理。此外,由于本領(lǐng)域技術(shù)人員可容易獲悉許多修改和改變,所以不希望將本發(fā)明限于所示出和所描述的確切構(gòu)造和應(yīng)用,因此,所有合適的修改和等同物都可被視為落入所附權(quán)利要求及其等同物的發(fā)明范圍內(nèi)。
權(quán)利要求
1.一種閃存,具有由多個(gè)用戶(hù)區(qū)域和多個(gè)標(biāo)志區(qū)域組成的存儲(chǔ)單元陣列,每個(gè)用戶(hù)區(qū)域用于存儲(chǔ)數(shù)據(jù),每個(gè)標(biāo)志區(qū)域用于指示所述每個(gè)用戶(hù)區(qū)域的狀態(tài),該閃存包括狀態(tài)通知信息生成部,用于通過(guò)參照所述每個(gè)標(biāo)志區(qū)域來(lái)產(chǎn)生指示所述每個(gè)用戶(hù)區(qū)域的狀態(tài)的狀態(tài)通知信息,所述狀態(tài)通知信息向外部通知所述狀態(tài);和輸出部,用于輸出所述狀態(tài)通知信息。
2.根據(jù)權(quán)利要求1的閃存,其中,所述狀態(tài)通知信息生成部通過(guò)參照所述標(biāo)志區(qū)域來(lái)計(jì)算所述用戶(hù)區(qū)域的狀態(tài)處于無(wú)效狀態(tài)的比率。
3.根據(jù)權(quán)利要求2的閃存,其中,所述狀態(tài)通知信息生成部對(duì)預(yù)先存儲(chǔ)的預(yù)定比率與所述處于無(wú)效狀態(tài)的比率進(jìn)行比較,如果所述處于無(wú)效狀態(tài)的比率大于預(yù)定比率,則產(chǎn)生指示需要無(wú)用單元收集處理的所述狀態(tài)通知信息。
4.根據(jù)權(quán)利要求2的閃存,其中,所述輸出部輸出所述處于無(wú)效狀態(tài)的比率,作為所述狀態(tài)通知信息。
5.根據(jù)權(quán)利要求1的閃存,其中,所述輸出部能夠按一定時(shí)間間隔輸出所述狀態(tài)通知信息。
6.根據(jù)權(quán)利要求1的閃存,其中,所述輸出部緊隨所述數(shù)據(jù)被寫(xiě)入所述用戶(hù)區(qū)域上或者所述數(shù)據(jù)被無(wú)效化之后,輸出所述狀態(tài)通知信息。
7.根據(jù)權(quán)利要求1的閃存,其中,所述輸出部緊隨接收到用于請(qǐng)求所述狀態(tài)通知信息的信息請(qǐng)求信號(hào)之后,輸出所述狀態(tài)通知信息。
8.根據(jù)權(quán)利要求3的閃存,其中,所述預(yù)定比率是可重寫(xiě)的。
9.一種存儲(chǔ)器控制方法,用于控制具有由多個(gè)用戶(hù)區(qū)域和多個(gè)標(biāo)志區(qū)域組成的存儲(chǔ)單元陣列的閃存的操作,每個(gè)用戶(hù)區(qū)域用于存儲(chǔ)數(shù)據(jù),每個(gè)標(biāo)志區(qū)域用于指示所述每個(gè)用戶(hù)區(qū)域的狀態(tài),該存儲(chǔ)器控制方法包括以下步驟從所述閃存接收表示必需無(wú)用單元收集的信息;以及根據(jù)所述接收到的信息,針對(duì)所述閃存執(zhí)行所述無(wú)用單元收集。
10.根據(jù)權(quán)利要求9的存儲(chǔ)器控制方法,還包括請(qǐng)求從所述閃存通知所述信息的步驟。
11.一種存儲(chǔ)器控制方法,用于控制具有由多個(gè)用戶(hù)區(qū)域和多個(gè)標(biāo)志區(qū)域組成的存儲(chǔ)單元陣列的閃存的操作,每個(gè)用戶(hù)區(qū)域用于存儲(chǔ)數(shù)據(jù),每個(gè)標(biāo)志區(qū)域用于指示所述每個(gè)用戶(hù)區(qū)域的狀態(tài),該存儲(chǔ)器控制方法包括以下步驟從所述閃存接收指示所述用戶(hù)區(qū)域處于無(wú)效狀態(tài)的比率的信息;對(duì)所述處于無(wú)效狀態(tài)的比率與預(yù)定比率進(jìn)行比較;以及如果所述處于無(wú)效狀態(tài)的比率大于所述預(yù)定比率時(shí),則針對(duì)所述閃存執(zhí)行無(wú)用單元收集。
12.根據(jù)權(quán)利要求11的存儲(chǔ)器控制方法,還包括請(qǐng)求從所述閃存通知所述處于無(wú)效狀態(tài)的比率的步驟。
全文摘要
將閃存內(nèi)部的狀態(tài)通知給外部,并支持無(wú)用單元收集。狀態(tài)通知信息生成部(12)參照標(biāo)志區(qū)域f1、f2、f3、……、fn,并根據(jù)用戶(hù)區(qū)域u1、u2、u3、……un的狀態(tài)生成用于通知外部信息的狀態(tài)通知信息。輸出部(13)輸出狀態(tài)通知信息,以將閃存(10)內(nèi)的狀態(tài)報(bào)告給外部。
文檔編號(hào)G11C16/26GK1689116SQ0382406
公開(kāi)日2005年10月26日 申請(qǐng)日期2003年2月28日 優(yōu)先權(quán)日2003年2月28日
發(fā)明者長(zhǎng)野修, 中島勇 申請(qǐng)人:富士通株式會(huì)社