本申請(qǐng)是基于2014年6月19日申請(qǐng)的日本國(guó)專(zhuān)利申請(qǐng)2014-126658號(hào)的申請(qǐng),在此通過(guò)參照援引其記載內(nèi)容。
本公開(kāi)涉及具備閃存存儲(chǔ)器的存儲(chǔ)裝置。
背景技術(shù):
近年來(lái),在以通信設(shè)備、AV設(shè)備為代表的各領(lǐng)域的設(shè)備中使用閃存。閃存以作為多個(gè)存儲(chǔ)器單元的集合的塊為單位進(jìn)行數(shù)據(jù)刪除,因此存在寫(xiě)入單位的大小與刪除單位的大小不同的情況。例如,寫(xiě)入以數(shù)字節(jié)(byte)為單位實(shí)施,刪除按以數(shù)十字節(jié)~數(shù)千字節(jié)為單位的各塊實(shí)施。
閃存在不能覆蓋的特性上存在通過(guò)將數(shù)據(jù)依次寫(xiě)入至塊內(nèi)的補(bǔ)記寫(xiě)入來(lái)管理數(shù)據(jù)的情況。由此,例如采用若向一個(gè)塊內(nèi)反復(fù)進(jìn)行補(bǔ)記而導(dǎo)致塊占滿(mǎn),則刪除占滿(mǎn)的塊以外的任意一個(gè)塊的數(shù)據(jù)來(lái)制作空塊,并復(fù)制有效的數(shù)據(jù)的方法(以下將該處理記載為重編程處理)。
在重編程處理的執(zhí)行時(shí),由于塊的數(shù)據(jù)刪除處理與復(fù)制處理集中,因此,作為具備閃存存儲(chǔ)器的存儲(chǔ)系統(tǒng)整體的處理負(fù)荷增大的結(jié)果為,容易在重編程處理的期間在對(duì)數(shù)據(jù)的訪問(wèn)產(chǎn)生妨礙。
以往,提出一種以如下方式構(gòu)成的存儲(chǔ)裝置,即,在沒(méi)有訪問(wèn)的等待時(shí)執(zhí)行重編程處理,在重編程處理中有對(duì)數(shù)據(jù)訪問(wèn)的情況下,中斷重編程處理,在訪問(wèn)完成后再次開(kāi)始重編程,從而實(shí)現(xiàn)抑制重編程時(shí)的對(duì)數(shù)據(jù)的訪問(wèn)的妨礙(參照專(zhuān)利文獻(xiàn)1)。
本申請(qǐng)發(fā)明者們發(fā)現(xiàn)下述情況。上述專(zhuān)利文獻(xiàn)1的裝置存在如下的情況,即,由于需要重編程處理本身,因此,若由于重編程處理而導(dǎo)致處理負(fù)荷增大的期間變長(zhǎng),則作為系統(tǒng)整體的性能降低。
專(zhuān)利文獻(xiàn)1:日本國(guó)專(zhuān)利公報(bào)第5162846號(hào)
技術(shù)實(shí)現(xiàn)要素:
本公開(kāi)的目的在于提供一種能夠抑制處理負(fù)荷的增大的存儲(chǔ)裝置、閃存存儲(chǔ)器控制裝置以及程序。
根據(jù)本公開(kāi)的一方式,存儲(chǔ)裝置具備:閃存存儲(chǔ)器,其具備多個(gè)以塊為單位進(jìn)行數(shù)據(jù)的刪除并以比該塊小的單位進(jìn)行數(shù)據(jù)的寫(xiě)入的塊;以及控制部,其執(zhí)行被寫(xiě)入至上述塊的數(shù)據(jù)的讀出以及向上述塊的數(shù)據(jù)的寫(xiě)入。
在該存儲(chǔ)裝置中的上述閃存存儲(chǔ)器至少設(shè)定有一個(gè)將n個(gè)(n為2以上的整數(shù))塊BR1~BRn作為構(gòu)成要素的塊集合。
另外,能夠向作為塊集合的構(gòu)成要素的各塊BRi(i為1以上n以下的各整數(shù))寫(xiě)入寫(xiě)入數(shù)據(jù)和寫(xiě)入標(biāo)志。寫(xiě)入數(shù)據(jù)是根據(jù)來(lái)自主機(jī)裝置的請(qǐng)求而被寫(xiě)入的數(shù)據(jù)。寫(xiě)入標(biāo)志是表示在塊集合的構(gòu)成要素之中的作為與塊BRi預(yù)先建立了對(duì)應(yīng)的塊的對(duì)象塊BRj(j為1以上n以下的i以外的整數(shù)且是按i的各值而不同的整數(shù))中已執(zhí)行了上述寫(xiě)入數(shù)據(jù)的寫(xiě)入的標(biāo)志。
并且,上述控制部根據(jù)來(lái)自主機(jī)裝置的新的寫(xiě)入數(shù)據(jù)的寫(xiě)入請(qǐng)求執(zhí)行刪除處理、第一寫(xiě)入處理以及第二寫(xiě)入處理,其中,在將塊集合的構(gòu)成要素之中的最后被執(zhí)行了寫(xiě)入數(shù)據(jù)的寫(xiě)入的塊設(shè)為塊BRk(k為1以上n以下的整數(shù))時(shí),在上述刪除處理中,刪除被寫(xiě)入至塊BRl(l為1以上n以下的整數(shù))的包括寫(xiě)入數(shù)據(jù)和寫(xiě)入標(biāo)志的數(shù)據(jù),所述BRl被設(shè)定為在該塊BRk的下一個(gè)執(zhí)行上述寫(xiě)入數(shù)據(jù)的寫(xiě)入的塊;在上述第一寫(xiě)入處理中,向塊BRl寫(xiě)入新的寫(xiě)入數(shù)據(jù);在上述第二寫(xiě)入處理中,向?qū)ο髩K對(duì)應(yīng)有塊BRl的塊BRm寫(xiě)入上述寫(xiě)入標(biāo)志。
這樣構(gòu)成的存儲(chǔ)裝置若從主機(jī)裝置接受到寫(xiě)入請(qǐng)求,則刪除塊集合內(nèi)寫(xiě)入于寫(xiě)入時(shí)刻最久的塊的數(shù)據(jù),并向該塊寫(xiě)入新的寫(xiě)入數(shù)據(jù)。
在此,對(duì)于應(yīng)執(zhí)行刪除和寫(xiě)入的塊是哪個(gè)塊,能夠通過(guò)檢查作為塊集合的構(gòu)成要素的各塊的寫(xiě)入標(biāo)志來(lái)確認(rèn)。其原因在于該塊集合中的寫(xiě)入標(biāo)志的被寫(xiě)入的狀況根據(jù)最后被寫(xiě)入的塊是哪個(gè)塊而發(fā)生變化。
因而,在上述存儲(chǔ)裝置中,不需要在重編程處理中進(jìn)行的復(fù)制處理,能夠抑制伴隨重編程處理的處理負(fù)荷的增大、所謂的系統(tǒng)開(kāi)銷(xiāo)的產(chǎn)生。由此,能夠抑制伴隨系統(tǒng)開(kāi)銷(xiāo)的產(chǎn)生的系統(tǒng)整體的性能降低、數(shù)據(jù)訪問(wèn)的響應(yīng)降低的產(chǎn)生。
根據(jù)本公開(kāi)的其它的方式,閃存存儲(chǔ)器控制裝置具備:控制部,其執(zhí)行被寫(xiě)入至具備多個(gè)以塊為單位進(jìn)行數(shù)據(jù)的刪除且以比該塊小的單位進(jìn)行數(shù)據(jù)的寫(xiě)入的塊的閃存存儲(chǔ)器中的上述塊的數(shù)據(jù)的讀出以及向上述塊的數(shù)據(jù)的寫(xiě)入;設(shè)定部,其使閃存存儲(chǔ)器具備的多個(gè)塊至少設(shè)定為一個(gè)將n個(gè)(n為2以上的整數(shù))塊BR1~BRn作為構(gòu)成要素的塊集合。
在該閃存存儲(chǔ)器控制裝置中,上述控制部能夠執(zhí)行第一寫(xiě)入處理以及第二寫(xiě)入處理,在上述第一寫(xiě)入處理中,針對(duì)作為上述塊集合的構(gòu)成要素的各塊BRi(i為1以上n以下的各整數(shù))寫(xiě)入根據(jù)來(lái)自主機(jī)裝置的請(qǐng)求而被寫(xiě)入的數(shù)據(jù)即寫(xiě)入數(shù)據(jù);在上述第二寫(xiě)入處理中,針對(duì)塊BRi寫(xiě)入表示在塊集合的構(gòu)成要素之中的作為與塊BRi預(yù)先建立了對(duì)應(yīng)的塊的對(duì)象塊BRj(j為1以上n以下的i以外的整數(shù),是按i的各值而不同的整數(shù))中已執(zhí)行了上述寫(xiě)入數(shù)據(jù)的寫(xiě)入的寫(xiě)入標(biāo)志。
另外,上述控制部根據(jù)來(lái)自主機(jī)裝置的新的寫(xiě)入數(shù)據(jù)的寫(xiě)入請(qǐng)求,執(zhí)行刪除處理、第一寫(xiě)入處理以及第二寫(xiě)入處理,在將塊集合的構(gòu)成要素之中的最后被執(zhí)行了寫(xiě)入數(shù)據(jù)的寫(xiě)入的塊設(shè)為塊BRk(k為1以上n以下的整數(shù))時(shí),在上述刪除處理中,刪除被寫(xiě)入至塊BRl(l為1以上n以下的整數(shù))的包括寫(xiě)入數(shù)據(jù)和寫(xiě)入標(biāo)志的數(shù)據(jù),所述BRl被設(shè)定為該塊BRk的下一個(gè)執(zhí)行上述寫(xiě)入數(shù)據(jù)的寫(xiě)入的塊;上述第一寫(xiě)入處理是針對(duì)塊BRl的處理;上述第二寫(xiě)入處理是針對(duì)作為對(duì)象塊對(duì)應(yīng)有塊BRl的塊BRm的處理。
根據(jù)閃存存儲(chǔ)器控制裝置,與上述的存儲(chǔ)裝置同樣地,不需要在重編程處理中進(jìn)行的復(fù)制處理,就能夠抑制伴隨重編程處理的處理負(fù)荷的增大、所謂的系統(tǒng)開(kāi)銷(xiāo)的產(chǎn)生,能夠抑制與此相伴的系統(tǒng)整體的性能降低、數(shù)據(jù)訪問(wèn)的響應(yīng)降低的產(chǎn)生。
根據(jù)本公開(kāi)的其它的一方式,提供一種用于使計(jì)算機(jī)作為閃存存儲(chǔ)器控制裝置的控制部以及設(shè)定部發(fā)揮功能的程序。
根據(jù)程序,能夠使計(jì)算機(jī)作為閃存存儲(chǔ)器控制裝置發(fā)揮功能。
附圖說(shuō)明
關(guān)于本公開(kāi)的上述以及其它的目的、特征、優(yōu)點(diǎn),根據(jù)參照附圖的下述的詳細(xì)的說(shuō)明變得更加明確。在附圖中,
圖1是表示存儲(chǔ)裝置的整體構(gòu)成的框圖。
圖2是說(shuō)明向閃存存儲(chǔ)器的寫(xiě)入控制的方法的示意圖。
圖3是示意地表示塊的存儲(chǔ)區(qū)域的圖。
圖4是說(shuō)明數(shù)據(jù)寫(xiě)入處理的處理順序的流程圖。
圖5是說(shuō)明向塊集合的數(shù)據(jù)寫(xiě)入的順序的示意圖。
圖6是說(shuō)明向塊集合的數(shù)據(jù)寫(xiě)入的順序的示意圖。
圖7是說(shuō)明數(shù)據(jù)恢復(fù)處理的處理順序的流程圖。
圖8A是說(shuō)明塊集合中的數(shù)據(jù)恢復(fù)的順序的示意圖。
圖8B是說(shuō)明塊集合中的數(shù)據(jù)恢復(fù)的順序的示意圖。
圖9是表示數(shù)據(jù)恢復(fù)處理中的各塊的狀態(tài)的組合和處置內(nèi)容的圖。
圖10是說(shuō)明變形例中的向塊集合的數(shù)據(jù)寫(xiě)入的順序的示意圖。
具體實(shí)施方式
以下與附圖一起對(duì)實(shí)施方式進(jìn)行說(shuō)明。
[實(shí)施方式]
(1)整體構(gòu)成
圖1是表示搭載閃存存儲(chǔ)器而構(gòu)成的存儲(chǔ)裝置1的整體構(gòu)成的框圖。存儲(chǔ)裝置1具備CPU11、RAM13、ROM15、閃存(Flash)控制器17、輸入輸出接口(I/O)19、以及閃存存儲(chǔ)器21,經(jīng)由內(nèi)部總線(xiàn)23進(jìn)行數(shù)據(jù)的收發(fā)。另外,從電源25向各部供給電力。
存儲(chǔ)裝置1是搭載于車(chē)輛來(lái)使用的構(gòu)成信息處理系統(tǒng)的一部分的裝置,根據(jù)來(lái)自作為主機(jī)裝置3的一個(gè)例子的車(chē)輛的車(chē)門(mén)ECU的訪問(wèn)(數(shù)據(jù)的寫(xiě)入或者讀出)請(qǐng)求,從車(chē)門(mén)ECU獲取表示車(chē)門(mén)的開(kāi)閉次數(shù)的數(shù)據(jù)并寫(xiě)入。應(yīng)予說(shuō)明,能夠采用車(chē)輛的各種ECU作為主機(jī)裝置3。當(dāng)然,存儲(chǔ)裝置1無(wú)需是搭載于車(chē)輛來(lái)使用的裝置,即使是車(chē)載設(shè)備以外的各種信息處理裝置也可能成為主機(jī)裝置3。
CPU11是按照存儲(chǔ)于ROM15的多個(gè)程序15a(Flash驅(qū)動(dòng)軟件以及多個(gè)應(yīng)用軟件)對(duì)存儲(chǔ)裝置1的部件進(jìn)行統(tǒng)括控制,根據(jù)來(lái)自主機(jī)裝置3的對(duì)閃存存儲(chǔ)器21的訪問(wèn)請(qǐng)求,控制針對(duì)閃存存儲(chǔ)器21的數(shù)據(jù)的寫(xiě)入以及讀出。
為方便說(shuō)明,將根據(jù)來(lái)自主機(jī)裝置3的請(qǐng)求而被寫(xiě)入至閃存存儲(chǔ)器21的數(shù)據(jù)記載為寫(xiě)入數(shù)據(jù)。寫(xiě)入數(shù)據(jù)也是根據(jù)來(lái)自主機(jī)裝置3的請(qǐng)求而被讀出的數(shù)據(jù)。應(yīng)予說(shuō)明,請(qǐng)求寫(xiě)入的主機(jī)裝置和請(qǐng)求讀出的主機(jī)裝置也可以不是同一裝置。
RAM13是被CPU11使用的作業(yè)區(qū)域。另外,RAM13作為臨時(shí)保持從閃存存儲(chǔ)器21讀出的寫(xiě)入數(shù)據(jù)以及應(yīng)向閃存存儲(chǔ)器21寫(xiě)入的寫(xiě)入數(shù)據(jù)的緩存來(lái)發(fā)揮功能。
閃存控制器17基于被從CPU11提供的指令執(zhí)行針對(duì)閃存存儲(chǔ)器21的寫(xiě)入處理、讀出處理、刪除處理等處理。
閃存存儲(chǔ)器21具有1024個(gè)作為最小刪除單位的塊31。
塊31是每一塊的容量為32字節(jié)的較小的塊,基于補(bǔ)記寫(xiě)入的數(shù)據(jù)的存儲(chǔ)的最小單位是2字節(jié)。另外,由于塊的個(gè)數(shù)是1024,因此總存儲(chǔ)區(qū)域是32千字節(jié)。應(yīng)予說(shuō)明,塊31的存儲(chǔ)容量、寫(xiě)入的大小以及設(shè)置于閃存存儲(chǔ)器21的個(gè)數(shù)并不局限于上述的內(nèi)容。
使用示意性地表示塊31的圖2對(duì)本實(shí)施方式中的向閃存存儲(chǔ)器21的寫(xiě)入控制的方法進(jìn)行說(shuō)明。
在閃存存儲(chǔ)器21中設(shè)定有多個(gè)將3個(gè)塊31(BR1~BR3)作為構(gòu)成要素的塊集合37。應(yīng)予說(shuō)明,塊BR1~BR3是識(shí)別塊集合37內(nèi)的各塊31的符號(hào),多個(gè)塊集合37分別包括塊BR1~BR3。
作為塊集合37的構(gòu)成要素的各塊BRi(i為1以上3以下的各整數(shù))具有作為能夠?qū)懭肷鲜龅膶?xiě)入數(shù)據(jù)的存儲(chǔ)區(qū)域的數(shù)據(jù)部33以及作為能夠?qū)懭雽?xiě)入標(biāo)志和刪除中標(biāo)志的存儲(chǔ)區(qū)域的標(biāo)志部35。
寫(xiě)入標(biāo)志是表示在塊集合37的構(gòu)成要素之中的預(yù)先與塊BRi建立了對(duì)應(yīng)的塊的對(duì)象塊BRj(j為i除以3時(shí)的余數(shù)加1而得的整數(shù))中已執(zhí)行了寫(xiě)入數(shù)據(jù)的寫(xiě)入的標(biāo)志。另外,刪除中標(biāo)志是表示已開(kāi)始了刪除寫(xiě)入于對(duì)象塊BRj(以下,也僅記載為對(duì)象塊)的數(shù)據(jù)這一情況的標(biāo)志。以下,將寫(xiě)入標(biāo)志和刪除中標(biāo)志一并記載為管理標(biāo)志。
關(guān)于上述的對(duì)象塊BRj,j為1以上n以下的i以外的整數(shù),是按i的各值而不同的整數(shù),這即表示塊集合的各塊是與塊集合中的其它的任意一個(gè)塊作為對(duì)象塊而建立了對(duì)應(yīng)。
作為對(duì)象塊的更加具體的例子,能夠?qū)⒆兞縥設(shè)為將i+a除以n時(shí)的余數(shù)加上1而得的整數(shù)。a是0以上n-2以下的整數(shù)。
在實(shí)施方式中,使用i、j、k、l、m、p、q等變量對(duì)塊的關(guān)系進(jìn)行說(shuō)明,數(shù)值本身是為了說(shuō)明而使用的,各塊實(shí)質(zhì)滿(mǎn)足使用上述變量說(shuō)明的關(guān)系即可。
接下來(lái),對(duì)被寫(xiě)入至塊BRi的管理標(biāo)志表示的對(duì)象塊BRj的信息進(jìn)行說(shuō)明。
如在圖2所示的IDx的塊集合37中以箭頭表示的那樣,被寫(xiě)入至塊BRi的標(biāo)志部35的管理標(biāo)志表示與對(duì)象塊BRj相關(guān)的信息(監(jiān)視對(duì)象塊BRj的狀態(tài))。塊BRi能夠分別寫(xiě)入表示與不同的對(duì)象塊BRj相關(guān)的信息的管理標(biāo)志,它們按次序輪換循環(huán)。
如圖3所示那樣,在塊31作為標(biāo)志部35設(shè)置有寫(xiě)入寫(xiě)入標(biāo)志(F)和刪除中標(biāo)志(M)的數(shù)據(jù)區(qū)域。對(duì)象塊的寫(xiě)入數(shù)據(jù)的信息通過(guò)這些標(biāo)志的組合來(lái)表示。應(yīng)予說(shuō)明,由于塊31具有不能夠覆蓋的特征,因此,不能夠僅更新標(biāo)志。由于各塊為最小刪除單位,因此,通過(guò)刪除存儲(chǔ)于塊的數(shù)據(jù),標(biāo)志也被刪除。
通過(guò)管理標(biāo)志表示的信息是管理標(biāo)志未被寫(xiě)入的初始狀態(tài)(以下記載為“-”)、從開(kāi)始對(duì)象塊的刪除處理至寫(xiě)入數(shù)據(jù)的寫(xiě)入完成前的狀態(tài)的“刪除中”以及向?qū)ο髩K的寫(xiě)入數(shù)據(jù)的寫(xiě)入完成的狀態(tài)的“寫(xiě)入完畢”這3個(gè)。
具體地說(shuō),在M=blank、F=blank(blank是由閃存控制器17執(zhí)行塊的刪除后的狀態(tài)的初始值)時(shí)為“-”,僅被寫(xiě)入刪除中標(biāo)志(M)的狀態(tài),即M=非blank、F=blank時(shí),是“刪除中”。
另外,被寫(xiě)入刪除中標(biāo)志(M)和寫(xiě)入標(biāo)志(F)這兩方的狀態(tài),即在M=非blank、F=非blank時(shí),是“寫(xiě)入完畢”。應(yīng)予說(shuō)明,能夠至少以M、F的各1個(gè)寫(xiě)入單位的合計(jì)4字節(jié)(2字節(jié)+2字節(jié))來(lái)表示管理標(biāo)志。
將說(shuō)明返回至圖2。對(duì)各塊集合37提供ID,作為塊集合37的構(gòu)成要素的3個(gè)塊31與該ID建立關(guān)聯(lián)。例如,在圖2中,存在ID1~I(xiàn)Dx的塊集合37,各塊集合37由3個(gè)塊31構(gòu)成。
由于在1個(gè)塊集合37中存在3個(gè)塊31,因此也存在3個(gè)數(shù)據(jù)部33。主機(jī)裝置3將1個(gè)塊集合37作為能夠?qū)懭肱c1個(gè)塊31相同的容量的寫(xiě)入數(shù)據(jù)的存儲(chǔ)區(qū)域來(lái)處理。CPU11基于來(lái)自主機(jī)裝置3的寫(xiě)入或者讀出的請(qǐng)求中所包括的ID信息來(lái)確定塊集合37,并執(zhí)行將該塊集合37的任意一個(gè)塊31作為對(duì)象的寫(xiě)入數(shù)據(jù)的寫(xiě)入或者讀出。
應(yīng)予說(shuō)明,各塊31的識(shí)別信息(各塊31所屬的塊集合37的ID信息以及用于在塊集合內(nèi)識(shí)別該塊的信息)與各塊31的物理地址的關(guān)系被存儲(chǔ)于未圖示的變換表。應(yīng)予說(shuō)明,也可以構(gòu)成為例如能夠根據(jù)塊的狀態(tài)來(lái)變更識(shí)別信息與物理地址的關(guān)系。
(2)CPU11的處理
(2.1)數(shù)據(jù)寫(xiě)入處理
基于圖4所示的流程圖對(duì)CPU11的向塊集合37的數(shù)據(jù)寫(xiě)入處理的處理順序進(jìn)行說(shuō)明。
首先,在S1,CPU11判斷是否產(chǎn)生了更新請(qǐng)求。具體地說(shuō),在從主機(jī)裝置3接收到請(qǐng)求數(shù)據(jù)的寫(xiě)入的指令時(shí),在有所謂的寫(xiě)入的訪問(wèn)時(shí)判斷為產(chǎn)生了更新請(qǐng)求。
在接下來(lái)的S2,CPU11檢索與在S1產(chǎn)生的更新請(qǐng)求的ID(例如IDx)有關(guān)聯(lián)的塊集合37。來(lái)自主機(jī)裝置3的數(shù)據(jù)寫(xiě)入請(qǐng)求的指令包括ID信息,CPU11檢索該ID的塊集合37。應(yīng)予說(shuō)明,也可以是上述指令不包括ID信息,CPU11根據(jù)寫(xiě)入請(qǐng)求的種類(lèi)(主機(jī)裝置的種類(lèi)或者寫(xiě)入數(shù)據(jù)的種類(lèi))檢索預(yù)先決定的ID的塊集合的構(gòu)成。
在接下來(lái)的S3,確定出在S2檢索出的塊集合37內(nèi)的更新最久的塊31。能夠通過(guò)檢查寫(xiě)入至塊集合37內(nèi)的全部的塊31的管理標(biāo)志,確定出更新最久的塊,即確定出寫(xiě)入數(shù)據(jù)被寫(xiě)入的時(shí)刻最早的塊。
圖5以及圖6中的(i)表示未產(chǎn)生更新請(qǐng)求的狀態(tài)的通常狀態(tài)。另外,(ii)~(vi)表示上述(i)的伴隨時(shí)間經(jīng)過(guò)的變化。在圖5和圖6中標(biāo)注同一編號(hào)(i)~(vi)的圖表示同一狀態(tài)。應(yīng)予說(shuō)明,在圖中,塊中的網(wǎng)點(diǎn)表示有數(shù)據(jù),白地表示沒(méi)有數(shù)據(jù)。
在圖5的(i)中,被寫(xiě)入至塊BR1、塊BR2的管理標(biāo)志表示“寫(xiě)入完畢”,被寫(xiě)入至塊BR3的管理標(biāo)志表示“-”。管理標(biāo)志表示“-”的塊是更新最新的塊,即寫(xiě)入數(shù)據(jù)被寫(xiě)入的時(shí)刻最新的塊,更新最新的塊BR3的按照輪換的下一個(gè)的塊BR1是塊集合37中更新最久的塊(即,作為在塊BR3的下一個(gè)執(zhí)行寫(xiě)入數(shù)據(jù)的寫(xiě)入的塊而被設(shè)定的塊)。下述能夠這樣判斷的理由。
關(guān)于以下的處理,為方便說(shuō)明,以圖5以及圖6所示的狀態(tài)為例進(jìn)行說(shuō)明。
在接下來(lái)的S4,如圖5中的(ii)所示那樣,將被寫(xiě)入至塊BR3的管理標(biāo)志更新為“刪除中”。具體地說(shuō),如圖6的(ii)所示那樣,寫(xiě)入刪除中標(biāo)志(M),為M=非blank。
在接下來(lái)的S5,如圖5以及圖6中的(iii)所示那樣,刪除存儲(chǔ)于作為被寫(xiě)入至塊BR3的管理標(biāo)志的對(duì)象塊的塊BR1的數(shù)據(jù)。由于在塊BR1中存儲(chǔ)有寫(xiě)入數(shù)據(jù)和管理標(biāo)志,因此它們被刪除。
在接下來(lái)的S6,對(duì)塊BR1進(jìn)行數(shù)據(jù)寫(xiě)入。具體地說(shuō),如圖5以及圖6中的(iv)所示那樣,寫(xiě)入新的寫(xiě)入數(shù)據(jù)。由于管理標(biāo)志尚未被寫(xiě)入,因此為“-”。
在接下來(lái)的S7,如圖5的(v)所示那樣,被寫(xiě)入至塊BR3的管理標(biāo)志被更新為“寫(xiě)入完畢”。具體地說(shuō),如圖6的(v)那樣,寫(xiě)入標(biāo)志(F)被寫(xiě)入,成為F=非blank。
通過(guò)以上的方法,針對(duì)IDx的塊集合的數(shù)據(jù)的寫(xiě)入處理結(jié)束。如上述那樣,通過(guò)塊BR1在(iii)中被刪除數(shù)據(jù),從而管理標(biāo)志成為初始狀態(tài)“-”。因而,能夠判斷為管理標(biāo)志表示“-”的塊為最新被寫(xiě)入數(shù)據(jù)的塊。另外,寫(xiě)入的順序按照塊BR1、塊BR2、塊BR3、塊BR1…輪換,因此,在塊BR1最新時(shí),能夠判斷為塊BR2是更新最久的塊。
在下一次的數(shù)據(jù)寫(xiě)入處理中,塊BR2成為數(shù)據(jù)寫(xiě)入的對(duì)象,在處理執(zhí)行后成為(vi)所示的狀態(tài)。
應(yīng)予說(shuō)明,上述S7中的將管理標(biāo)志變更為“寫(xiě)入完畢”的處理,即寫(xiě)入標(biāo)志(F)的寫(xiě)入正常完成在正常管理數(shù)據(jù)上很重要。因此,考慮具有進(jìn)行向?qū)懭霕?biāo)志(F)的寫(xiě)入時(shí)間中的電壓保持的保持部。作為保持部的一個(gè)例子,考慮使用電容器,但也可以通過(guò)其它的裝置來(lái)進(jìn)行電壓保持。
然而,例如在將閃存存儲(chǔ)器21初始化后等,在塊集合37的任意一個(gè)塊31中均不存在管理標(biāo)志的情況下,刪除任意一個(gè)塊31的數(shù)據(jù)并寫(xiě)入寫(xiě)入數(shù)據(jù),并且向其它的塊31寫(xiě)入表示“寫(xiě)入完畢”的管理標(biāo)志。由此,僅寫(xiě)入寫(xiě)入數(shù)據(jù)的塊31成為作為管理標(biāo)志表示“-”的塊,因此,能夠從產(chǎn)生下次的寫(xiě)入請(qǐng)求時(shí)開(kāi)始執(zhí)行上述的寫(xiě)入處理。
(2.2)數(shù)據(jù)恢復(fù)處理
基于圖7所示的流程圖對(duì)CPU11的數(shù)據(jù)恢復(fù)處理的處理順序進(jìn)行說(shuō)明。本處理在從電源喪失起恢復(fù)的時(shí)刻執(zhí)行,換句話(huà)說(shuō),在電源被再次接通而致裝置起動(dòng),CPU11能夠執(zhí)行本處理的時(shí)刻開(kāi)始執(zhí)行。
首先,在S11,CPU11確認(rèn)與全部的ID對(duì)應(yīng)的塊集合37內(nèi)的各塊31的各管理標(biāo)志。
在接下來(lái)的S12,判斷S11的確認(rèn)的結(jié)果是否存在表示“刪除中”的管理標(biāo)志。如上述那樣,管理標(biāo)志表示“刪除中”是在刪除中標(biāo)志(M)=非blank且寫(xiě)入標(biāo)志(F)=blank時(shí)。即,在S12檢測(cè)未寫(xiě)入寫(xiě)入標(biāo)志并寫(xiě)入刪除中標(biāo)志的塊(刪除中啟示塊(block indicative of erasure-in-progress))。若沒(méi)有這樣的管理標(biāo)志(S12:否),即未檢測(cè)到刪除中啟示塊,則認(rèn)為全部的塊集合37是通常狀態(tài),因此,不進(jìn)行特別的處理,結(jié)束本處理。
另一方面,在S12存在表示“刪除中”的管理標(biāo)志的情況(S12:是),即檢測(cè)到刪除中啟示塊的情況下,例如在圖8A的(vii)~(ix)的狀態(tài)時(shí),認(rèn)為產(chǎn)生了數(shù)據(jù)寫(xiě)入處理的中斷,因此,進(jìn)行接下來(lái)的S13以后的處理。應(yīng)予說(shuō)明,圖8A的(vii)~(ix)分別是與圖5的(ii)~(iv)相同的管理標(biāo)志的狀態(tài)。
關(guān)于以下的處理,為方便說(shuō)明,以圖8A和圖8B所示的狀態(tài)為例進(jìn)行說(shuō)明。
在S13中,如圖8B的(x)所示那樣,刪除被寫(xiě)入至表示“刪除中”的塊BR3的管理標(biāo)志監(jiān)視的對(duì)象塊BR1的數(shù)據(jù)。
然后,在接下來(lái)的S14,如圖8B的(xi)所示那樣,通過(guò)向在S13刪除了數(shù)據(jù)的對(duì)象塊BR1寫(xiě)入該塊集合37中的最新數(shù)據(jù)來(lái)恢復(fù)數(shù)據(jù)。最新數(shù)據(jù)是被寫(xiě)入至寫(xiě)入了表示“刪除中”的管理標(biāo)志的塊BR3的寫(xiě)入數(shù)據(jù)。
在接下來(lái)的S15,如圖8B的(xii)所示那樣,被寫(xiě)入至塊BR3的管理標(biāo)志被更新為“寫(xiě)入完畢”。具體地說(shuō),向塊BR3寫(xiě)入寫(xiě)入標(biāo)志(F)。然后,結(jié)束本處理。
然而,在S12判斷為存在表示“刪除中”的管理標(biāo)志的情況不限于圖8A和圖8B所示的情況,也考慮圖9所示的表的情況。在圖9的表所表示的狀態(tài)的組合的項(xiàng)目中,F(xiàn)是表示寫(xiě)入有寫(xiě)入標(biāo)志(F)和刪除中標(biāo)志(M)這兩方的“寫(xiě)入完畢”的狀態(tài),M是表示僅寫(xiě)入刪除中標(biāo)志(M)的“刪除中”的狀態(tài)。
狀態(tài)編號(hào)1、5、9時(shí)是通常狀態(tài),因此不進(jìn)行數(shù)據(jù)恢復(fù)處理。另一方面,在其它的狀態(tài)編號(hào)時(shí),換句話(huà)說(shuō),在狀態(tài)存在M時(shí),執(zhí)行上述S13~S15的處理,使寫(xiě)入數(shù)據(jù)恢復(fù)。
在此,在狀態(tài)編號(hào)3、7、11中存在2個(gè)M。如圖5以及圖6所示那樣,存在2個(gè)表示“刪除中”的管理標(biāo)志的狀態(tài)不可能從想定的序列發(fā)生,但在塊31的刪除處理中電源被切斷的情況下,數(shù)據(jù)不穩(wěn)定,例如存在由僅寫(xiě)入標(biāo)志(F)被刪除而偶然地成為M的狀態(tài)的可能性。因此,存在2個(gè)M的狀態(tài)也表示在表中。
(2.3)數(shù)據(jù)讀出處理
CPU11在從主機(jī)裝置3接收到請(qǐng)求數(shù)據(jù)的讀出的指令時(shí),在產(chǎn)生了所謂的讀出的訪問(wèn)時(shí),檢查被寫(xiě)入至被請(qǐng)求讀出的塊集合37內(nèi)的全部的塊31的管理標(biāo)志,檢測(cè)未被寫(xiě)入寫(xiě)入標(biāo)志且管理標(biāo)志表示“-”的塊。然后,讀出被寫(xiě)入至該塊的寫(xiě)入數(shù)據(jù),并輸出給主機(jī)裝置3。
應(yīng)予說(shuō)明,這里所說(shuō)的主機(jī)裝置3被假定例如是從存儲(chǔ)裝置1獲取車(chē)輛信息的計(jì)算機(jī)系統(tǒng)。換句話(huà)說(shuō),針對(duì)存儲(chǔ)裝置1進(jìn)行寫(xiě)入數(shù)據(jù)的寫(xiě)入請(qǐng)求的主機(jī)裝置3和進(jìn)行被寫(xiě)入至存儲(chǔ)裝置1的閃存存儲(chǔ)器21的寫(xiě)入數(shù)據(jù)的讀出請(qǐng)求的主機(jī)裝置3無(wú)需是同一裝置,也可以是不同的裝置。
(3)效果
本實(shí)施方式的存儲(chǔ)裝置1具備具有多個(gè)以塊為單位進(jìn)行數(shù)據(jù)的刪除并以比該塊小的單位進(jìn)行數(shù)據(jù)的寫(xiě)入的塊31的閃存存儲(chǔ)器21,CPU11(與控制部的一個(gè)例子相當(dāng))控制閃存控制器17,執(zhí)行被寫(xiě)入至塊31的數(shù)據(jù)的讀出和向塊31的數(shù)據(jù)的寫(xiě)入。
在閃存存儲(chǔ)器21至少設(shè)定1個(gè)將n個(gè)(本在實(shí)施方式中為n=3)塊BR1~BRn作為構(gòu)成要素的塊集合37。更加具體地說(shuō),CPU11(與設(shè)定部的一個(gè)例子相當(dāng))基于表示各塊31的識(shí)別信息與各塊31的物理地址的關(guān)系的變換表來(lái)將各塊31作為塊集合37設(shè)定。
能夠向作為塊集合37的構(gòu)成要素的各塊BRi(i為1以上n以下的各整數(shù))寫(xiě)入作為根據(jù)來(lái)自主機(jī)裝置3的請(qǐng)求而被寫(xiě)入的數(shù)據(jù)的寫(xiě)入數(shù)據(jù)以及表示在對(duì)象塊BRj(j為將i除以n時(shí)的余數(shù)加上1而得的整數(shù))已執(zhí)行了寫(xiě)入數(shù)據(jù)的寫(xiě)入的寫(xiě)入標(biāo)志。
并且,CPU11根據(jù)來(lái)自主機(jī)裝置3的新的寫(xiě)入數(shù)據(jù)的寫(xiě)入請(qǐng)求執(zhí)行刪除處理(S5)、第一寫(xiě)入處理(S6)以及第二寫(xiě)入處理(S7),其中,在將塊集合37的構(gòu)成要素中的最后被執(zhí)行寫(xiě)入數(shù)據(jù)的寫(xiě)入的塊31設(shè)為塊BRk(k為1以上n以下的整數(shù))時(shí),在刪除處理(S5)中,刪除包括被寫(xiě)入至作為在該塊BRk的下一個(gè)執(zhí)行上述寫(xiě)入數(shù)據(jù)的寫(xiě)入的塊而設(shè)定的塊BRl(l為1以上n以下的整數(shù))的寫(xiě)入數(shù)據(jù)以及寫(xiě)入標(biāo)志的數(shù)據(jù);在第一寫(xiě)入處理(S6)中,向塊BRl寫(xiě)入新的寫(xiě)入數(shù)據(jù);在第二寫(xiě)入處理(S7)中,向作為對(duì)象塊對(duì)應(yīng)有塊BRl的塊BRm寫(xiě)入寫(xiě)入標(biāo)志。
應(yīng)予說(shuō)明,本在實(shí)施方式中,塊BRl的變量l更加詳細(xì)而言是將k除以n時(shí)的余數(shù)加上1而得的整數(shù)。
另外,塊BRm是將上述的“下一個(gè)進(jìn)行寫(xiě)入的塊”作為對(duì)象塊的塊。
這樣構(gòu)成的本實(shí)施方式的存儲(chǔ)裝置1在針對(duì)塊集合37寫(xiě)入新的寫(xiě)入數(shù)據(jù)時(shí),刪除塊集合37內(nèi)被寫(xiě)入至寫(xiě)入時(shí)刻最久的塊31的數(shù)據(jù)并寫(xiě)入新的寫(xiě)入數(shù)據(jù)。
因而,若與執(zhí)行伴隨向其它的塊的數(shù)據(jù)的復(fù)制處理的重編程處理的以往的存儲(chǔ)裝置比較,不需要在重編程處理中執(zhí)行的復(fù)制處理,因此,能夠抑制伴隨重編程處理的處理負(fù)荷的增大,所謂的系統(tǒng)開(kāi)銷(xiāo)的產(chǎn)生,能夠抑制與此伴隨的系統(tǒng)整體的性能降低、數(shù)據(jù)訪問(wèn)的響應(yīng)降低的產(chǎn)生。
應(yīng)予說(shuō)明,對(duì)于執(zhí)行刪除以及寫(xiě)入的塊是哪個(gè)塊,能夠通過(guò)檢查構(gòu)成塊集合37的各塊的管理標(biāo)志來(lái)確認(rèn)。在上述實(shí)施方式中,按照輪換順序在管理標(biāo)志中沒(méi)有寫(xiě)入的塊的下一個(gè)塊成為刪除以及寫(xiě)入的對(duì)象。
另外,CPU11根據(jù)來(lái)自主機(jī)裝置3的數(shù)據(jù)讀出請(qǐng)求執(zhí)行讀出被寫(xiě)入至最后被執(zhí)行寫(xiě)入數(shù)據(jù)的寫(xiě)入的塊BRk的寫(xiě)入數(shù)據(jù)的讀出處理,因此,能夠?qū)⒆钚碌臄?shù)據(jù)輸出給主機(jī)裝置3。
另外,在本實(shí)施方式的存儲(chǔ)裝置1中,能夠向作為塊集合37的構(gòu)成要素的各塊BRi寫(xiě)入表示針對(duì)上述對(duì)象塊BRj開(kāi)始了上述的刪除處理的刪除中標(biāo)志。
CPU11在根據(jù)來(lái)自主機(jī)裝置3的新的寫(xiě)入數(shù)據(jù)的寫(xiě)入請(qǐng)求在塊BRl中開(kāi)始了刪除處理時(shí),執(zhí)行向塊BRm寫(xiě)入刪除中標(biāo)志的第三寫(xiě)入處理(S4),在該第三寫(xiě)入處理后對(duì)塊BRl執(zhí)行刪除處理(S5),在該刪除處理后對(duì)塊BRl執(zhí)行第一寫(xiě)入處理(S6),在該第一寫(xiě)入處理后對(duì)塊BRm執(zhí)行第二寫(xiě)入處理(S7)。
即,本實(shí)施方式的存儲(chǔ)裝置1能夠通過(guò)檢查刪除標(biāo)志和寫(xiě)入標(biāo)志來(lái)把握針對(duì)來(lái)自主機(jī)裝置的寫(xiě)入請(qǐng)求的處理的經(jīng)過(guò)。具體地說(shuō),若僅被寫(xiě)入刪除中標(biāo)志,則能夠判斷為是寫(xiě)入處理的中途,若記載刪除中標(biāo)志和寫(xiě)入標(biāo)志這兩方,則能夠判斷為寫(xiě)入處理完成。
并且,若在不是寫(xiě)入處理的執(zhí)行中時(shí)判斷為是寫(xiě)入處理的中途,則存在寫(xiě)入處理未正確完成的可能性,通過(guò)檢測(cè)那樣的塊,能夠知曉存在非正常的可能性的數(shù)據(jù)的存在。
另外,在本實(shí)施方式的存儲(chǔ)裝置1中,CPU11(與檢測(cè)部的一個(gè)例子相當(dāng))在電源被再次接通時(shí),檢測(cè)未被寫(xiě)入寫(xiě)入標(biāo)志且被寫(xiě)入刪除中標(biāo)志的塊31(與刪除中啟示塊的一個(gè)例子相當(dāng))(S11、S12)。
并且,CPU11在檢測(cè)到上述的作為刪除中啟示塊的塊31時(shí),執(zhí)行處理(S13)、處理(S14)、處理(S15),其中,在將該檢測(cè)出的塊設(shè)為塊BRp(p為1以上3以下的整數(shù))時(shí),在處理(S13)中,刪除包括被寫(xiě)入至作為該塊BRp的對(duì)象塊的塊BRq的寫(xiě)入數(shù)據(jù)、寫(xiě)入標(biāo)志以及刪除中標(biāo)志的數(shù)據(jù),在該處理后,在處理(S14)中,將被寫(xiě)入至塊集合中的除塊BRq外的任意一個(gè)塊的寫(xiě)入數(shù)據(jù)寫(xiě)入至塊BRq(S14),然后,在處理(S15)中,對(duì)塊BRp執(zhí)行第二寫(xiě)入處理。在本實(shí)施方式中,在S14,將被寫(xiě)入至刪除中啟示塊的寫(xiě)入數(shù)據(jù),即最新的寫(xiě)入數(shù)據(jù)寫(xiě)入至塊BRq。
即,本實(shí)施方式的存儲(chǔ)裝置1在電源被再次接通時(shí)判斷管理標(biāo)志表示“刪除中”的塊的有無(wú)。并且,在存在那樣的塊的情況下,將被寫(xiě)入至寫(xiě)入了表示上述“刪除中”的管理標(biāo)志的塊的寫(xiě)入數(shù)據(jù)改寫(xiě)至對(duì)象塊。由此,即使寫(xiě)入處理例如因電源喪失而中斷,雖然不能夠得到在中斷的寫(xiě)入處理中執(zhí)行了寫(xiě)入的新的寫(xiě)入數(shù)據(jù),但能夠抑制使寫(xiě)入數(shù)據(jù)本身?yè)p失。
另外,由于將電源再次接通作為觸發(fā)事件進(jìn)行上述的處理,因此,利用非正常的數(shù)據(jù)的可能性較低,比較好。
應(yīng)予說(shuō)明,也可以為在S14中將被寫(xiě)入至塊BRq(刪除中啟示塊)以外的任意一個(gè)塊的寫(xiě)入數(shù)據(jù)寫(xiě)入至塊BRq的構(gòu)成。但是,通過(guò)如上述那樣使用被寫(xiě)入至塊BRp的寫(xiě)入數(shù)據(jù),能夠使較新寫(xiě)入的寫(xiě)入數(shù)據(jù)恢復(fù)至BRq。
[其它的實(shí)施方式]
以上對(duì)實(shí)施方式進(jìn)行了說(shuō)明,但當(dāng)然,本公開(kāi)完全不局限于上述實(shí)施方式,只要屬于本公開(kāi)的技術(shù)范圍,能夠采取各種方式。
例如,在上述實(shí)施方式中,例示塊集合37由3個(gè)塊31構(gòu)成的構(gòu)成,但塊集合由2個(gè)以上的塊構(gòu)成即可,不限定于3個(gè)。
應(yīng)予說(shuō)明,在由2個(gè)塊31構(gòu)成塊集合37的情況下,與由3個(gè)以上的塊31構(gòu)成塊集合37的情況比較,寫(xiě)入處理中斷的檢測(cè)的精度降低。以下對(duì)其理由進(jìn)行說(shuō)明。
在圖4的S4將塊BRk的管理標(biāo)志更新為“刪除中”后,在S5在對(duì)象塊BRl的刪除處理的執(zhí)行中處理因電源喪失等而中斷的情況下,存在僅塊BRl的寫(xiě)入標(biāo)志(F)被刪除,刪除中標(biāo)志(M)未被刪除而保留的可能性。在該情況下,被寫(xiě)入至塊BRl的管理標(biāo)志表示“刪除中”。
在此,若構(gòu)成塊集合37的塊31是2個(gè),則被寫(xiě)入至任意一個(gè)塊的管理標(biāo)志也成為“刪除中”,因此,難以判斷哪個(gè)塊的數(shù)據(jù)是正常的。
另一方面,若構(gòu)成塊集合37的塊31為3個(gè)以上,則存在至少一個(gè)管理標(biāo)志成為“寫(xiě)入完畢”的塊31。并且,能夠判斷為在按照輪換依次檢查塊時(shí),管理標(biāo)志從“寫(xiě)入完畢”變化至“刪除中”的塊為存儲(chǔ)了進(jìn)行中斷的寫(xiě)入處理以前的最新的數(shù)據(jù)的塊。
另外,在上述實(shí)施方式中,例示向作為塊集合37的構(gòu)成要素的各塊BRi作為寫(xiě)入標(biāo)志寫(xiě)入表示在對(duì)象塊BRj(j為將i除以n時(shí)的余數(shù)加上1而得的整數(shù))中執(zhí)行了寫(xiě)入數(shù)據(jù)的寫(xiě)入的標(biāo)志的構(gòu)成。
然而,對(duì)象塊BRj不限于上述的規(guī)則,j是1以上n以下的i以外的整數(shù),是按i的各值而不同的整數(shù)即可。若像這樣構(gòu)成,則塊集合的各塊與塊集合中的其它的任意一個(gè)塊作為對(duì)象塊被建立對(duì)應(yīng)。其結(jié)果,能夠把握各塊的寫(xiě)入狀態(tài)。
對(duì)于上述的對(duì)象塊BRj,例如能夠使j為將i+a除以n時(shí)的余數(shù)加上1而得的整數(shù)。A是0以上n-2以下的整數(shù),在上述實(shí)施方式中,為a=0。另外,使用圖10對(duì)在a=1的情況下的向閃存的寫(xiě)入控制的方法進(jìn)行說(shuō)明。
在閃存設(shè)定多個(gè)將5個(gè)塊31a(BR1~BR5)作為構(gòu)成要素的塊集合37a。各塊具有數(shù)據(jù)部33a和標(biāo)志部35a。
在圖10的(i)中,被寫(xiě)入至塊BR3、塊BR4的管理標(biāo)志表示“-”。進(jìn)行下一數(shù)據(jù)寫(xiě)入的對(duì)象是塊BR5,將塊BR5作為對(duì)象塊的塊(被寫(xiě)入監(jiān)視塊BR5的管理標(biāo)志的塊)是塊BR3,進(jìn)行最新的寫(xiě)入的塊是塊BR4。
在進(jìn)行寫(xiě)入時(shí),首先如(ii)所示那樣,被寫(xiě)入至塊BR3的管理標(biāo)志被更新為“刪除中”。接下來(lái),如(iii)所示那樣刪除存儲(chǔ)于被寫(xiě)入至塊BR3的管理標(biāo)志的對(duì)象塊即塊BR5的數(shù)據(jù)。接下來(lái),如(iv)那樣寫(xiě)入新的寫(xiě)入數(shù)據(jù)。由于管理標(biāo)志尚未被寫(xiě)入,因此成為“-”。
然后,如(v)所示那樣,被寫(xiě)入至塊BR3的管理標(biāo)志被更新為“寫(xiě)入完畢”。通過(guò)以上的方法,針對(duì)塊集合的數(shù)據(jù)的寫(xiě)入處理結(jié)束。在上述(v)時(shí),進(jìn)行下一數(shù)據(jù)寫(xiě)入的對(duì)象是塊BR1,將塊BR1作為對(duì)象塊的塊是塊BR4,進(jìn)行最新的寫(xiě)入的塊是塊BR5。
像這樣,通過(guò)使對(duì)象塊BRj為j為將i+a除以n時(shí)的余數(shù)加上1而得的整數(shù)的塊,能夠?qū)崿F(xiàn)向塊集合內(nèi)的塊依次寫(xiě)入。
另外,在上述實(shí)施方式中,例示使用刪除中標(biāo)志和寫(xiě)入標(biāo)志來(lái)判斷數(shù)據(jù)寫(xiě)入的完成,在未完成的情況下進(jìn)行數(shù)據(jù)恢復(fù)處理的構(gòu)成,但也可以是不使用刪除中標(biāo)志,不進(jìn)行數(shù)據(jù)恢復(fù)處理的構(gòu)成。在該情況下,將寫(xiě)入數(shù)據(jù)寫(xiě)入至塊BRl的時(shí)刻和將寫(xiě)入標(biāo)志寫(xiě)入至塊BRm的時(shí)刻哪個(gè)在前都可以。
另外,在上述實(shí)施方式中,例示CPU11在再次接通電源的時(shí)刻判斷管理標(biāo)志表示“刪除中”的塊的有無(wú)的構(gòu)成,但該時(shí)刻不限于電源再次接通時(shí),能夠在各種時(shí)刻進(jìn)行上述判斷。應(yīng)予說(shuō)明,在從開(kāi)始第三寫(xiě)入處理(S4)至結(jié)束第二寫(xiě)入處理(S7)的期間,即使寫(xiě)入處理不被中斷,也產(chǎn)生“刪除中”這樣的管理標(biāo)志,因此,考慮為除該期間以外的時(shí)刻。
另外,在上述實(shí)施方式中,構(gòu)成塊集合37的塊的個(gè)數(shù)n可以按各塊集合37而不同。例如,也可以為與ID1關(guān)聯(lián)的塊集合37為n=3,與ID2關(guān)聯(lián)的塊集合為n=5的構(gòu)成。
另外,BRi、BRj、BRk等的關(guān)系性無(wú)需按照各塊集合共用,也可以按各塊集合具有不同的關(guān)系性。例如,也可以構(gòu)成為與ID1以及ID2關(guān)聯(lián)的塊集合37均為n=5,與ID1關(guān)聯(lián)的塊集合37如圖10所示那樣,作為變量a=1被進(jìn)行寫(xiě)入控制,與ID2關(guān)聯(lián)的塊集合37作為變量a=0被進(jìn)行寫(xiě)入控制。
另外,主機(jī)裝置3無(wú)需是存在于存儲(chǔ)裝置1的外部的裝置,也可以是包括于存儲(chǔ)裝置1的裝置。另外,也可以是存儲(chǔ)裝置1自身作為主機(jī)裝置發(fā)揮功能的構(gòu)成。換句話(huà)說(shuō),也可以是CPU11執(zhí)行與閃存存儲(chǔ)器21的控制無(wú)關(guān)系的處理并獲取或者生成寫(xiě)入數(shù)據(jù),并將該寫(xiě)入數(shù)據(jù)寫(xiě)入至閃存存儲(chǔ)器21的構(gòu)成、CPU11讀出被寫(xiě)入的寫(xiě)入數(shù)據(jù),CPU11用于其它的處理的構(gòu)成。
然而,上述的存儲(chǔ)裝置1具備的各功能能夠由具有CPU11、RAM13、ROM15、閃存控制器17、I/O19等的閃存存儲(chǔ)器控制裝置來(lái)實(shí)現(xiàn)。
另外,上述的存儲(chǔ)裝置1具備的各功能能夠使計(jì)算機(jī)通過(guò)程序來(lái)實(shí)現(xiàn)。
上述程序由適于計(jì)算機(jī)的處理的命令的被排序的列構(gòu)成,被存儲(chǔ)于組裝于計(jì)算機(jī)的ROM、RAM等,也可以從它們下載至計(jì)算機(jī)來(lái)使用,也可以經(jīng)由各種記錄介質(zhì)、通信線(xiàn)路下載至計(jì)算機(jī)來(lái)使用。
作為用于將程序下載至計(jì)算機(jī)的上述的記錄介質(zhì),能夠列舉CD-ROM、DVD-ROM等光盤(pán)、磁盤(pán)、半導(dǎo)體制存儲(chǔ)器等。
應(yīng)予說(shuō)明,流程圖、或者流程圖的處理由多個(gè)步驟(或者被說(shuō)成部分)構(gòu)成,各步驟例如表現(xiàn)為S1。并且,各步驟能夠分割為多個(gè)子步驟,另一方面,多個(gè)步驟也可以合并而成為一個(gè)步驟。
以上,例示了存儲(chǔ)裝置、閃存存儲(chǔ)器控制裝置、以及程序的實(shí)施方式、構(gòu)成、方式,但存儲(chǔ)裝置、閃存存儲(chǔ)器控制裝置、以及程序所涉及的實(shí)施方式、構(gòu)成、方式并不局限于上述的各實(shí)施方式、各構(gòu)成、各方式。例如,對(duì)于對(duì)不同的實(shí)施方式、構(gòu)成、方式分別適當(dāng)組合公開(kāi)的技術(shù)部而得到的實(shí)施方式、構(gòu)成、方式,也包括在本公開(kāi)所涉及的實(shí)施方式、構(gòu)成、方式的范圍內(nèi)。