国产精品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>

      在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法和裝置制造方法

      文檔序號:6626659閱讀:218來源:國知局
      在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法和裝置制造方法
      【專利摘要】本發(fā)明公開了在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法和裝置。所述閃存介質(zhì)中的所有數(shù)據(jù)塊都寫滿數(shù)據(jù),其中,至少一個數(shù)據(jù)塊寫滿隨機(jī)數(shù)據(jù),除所述至少一個數(shù)據(jù)塊以外的其它數(shù)據(jù)塊寫滿文件數(shù)據(jù)。該方法包括:驅(qū)動響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的刪除文件數(shù)據(jù)的第一刪除請求,將所述文件數(shù)據(jù)所在的數(shù)據(jù)塊標(biāo)記為無用;驅(qū)動響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的寫入隨機(jī)數(shù)據(jù)的第一寫入請求,查找空白的數(shù)據(jù)塊或有剩余空白區(qū)域的數(shù)據(jù)塊,當(dāng)查找不到空白的數(shù)據(jù)塊和有剩余空白區(qū)域的數(shù)據(jù)塊時(shí),對標(biāo)記為無用的數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述隨機(jī)數(shù)據(jù)。通過本發(fā)明,可以實(shí)現(xiàn)安全刪除,減少甚至避免安全隱患的發(fā)生。
      【專利說明】在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法和裝置

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及閃存介質(zhì)領(lǐng)域,特別是涉及在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法和裝置。

      【背景技術(shù)】
      [0002]閃存介質(zhì)與其它的存儲介質(zhì)(特別是磁盤介質(zhì))不同,其內(nèi)部采用非線性宏單元模式,為固態(tài)大容量存儲的實(shí)現(xiàn)提供了廉價(jià)有效的解決方案。閃存介質(zhì)具有容量大以及讀寫速度快等優(yōu)點(diǎn),適用于大量數(shù)據(jù)的存儲。
      [0003]在一般的磁盤介質(zhì)(如,硬盤或內(nèi)存)中,最小的物理操作單元是比特位,而由于閃存介質(zhì)具有特殊的電子特性,因此,在閃存介質(zhì)中,最小的物理操作單元是數(shù)據(jù)塊,如,一個數(shù)據(jù)塊可以為16K或32K。也就是說,只能以數(shù)據(jù)塊為單位對閃存介質(zhì)進(jìn)行物理擦除。
      [0004]當(dāng)對閃存介質(zhì)執(zhí)行數(shù)據(jù)寫入操作時(shí),寫入操作必須在空白區(qū)域進(jìn)行,如果閃存介質(zhì)中既不存在空白的數(shù)據(jù)塊,也不存在有剩余空白區(qū)域的數(shù)據(jù)塊,驅(qū)動就會對標(biāo)記為無用(invalid)的數(shù)據(jù)塊進(jìn)行物理擦除,使其重新成為空白的數(shù)據(jù)塊,并用以寫入新的數(shù)據(jù)。
      [0005]當(dāng)對閃存介質(zhì)執(zhí)行數(shù)據(jù)刪除操作時(shí),驅(qū)動會確定刪除操作所指向的數(shù)據(jù)所在的數(shù)據(jù)塊,并檢查該數(shù)據(jù)塊是否還存在其它的數(shù)據(jù),如果存在,先選擇空白的數(shù)據(jù)塊或有剩余空白區(qū)域的數(shù)據(jù)塊,將其它的數(shù)據(jù)寫入其中,再將該數(shù)據(jù)塊標(biāo)記為無用。如果不存在,直接將該數(shù)據(jù)塊標(biāo)記為無用。在被標(biāo)記為無用后,驅(qū)動就不再從該數(shù)據(jù)塊上讀取數(shù)據(jù),相當(dāng)于該數(shù)據(jù)塊上的數(shù)據(jù)“被刪除”了。
      [0006]當(dāng)對閃存介質(zhì)執(zhí)行數(shù)據(jù)更新(包括數(shù)據(jù)的全部更新以及部分更新)操作時(shí),實(shí)際上,每一個數(shù)據(jù)更新操作包括有數(shù)據(jù)寫入操作和數(shù)據(jù)刪除操作兩個操作,即,先對閃存介質(zhì)執(zhí)行更新數(shù)據(jù)的寫入操作,再執(zhí)行被更新數(shù)據(jù)的刪除操作。
      [0007]在實(shí)現(xiàn)本發(fā)明的過程中,本發(fā)明的發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:當(dāng)對閃存介質(zhì)執(zhí)行數(shù)據(jù)刪除操作時(shí),驅(qū)動只是將刪除操作所指向的數(shù)據(jù)所在的數(shù)據(jù)塊標(biāo)記為無用。而實(shí)際上,刪除操作所指向的數(shù)據(jù)仍然客觀存在于數(shù)據(jù)塊上,而并沒有被其它數(shù)據(jù)所覆蓋(即,并沒有消失不見)。因此,如果通過一些非法操作,仍然可以從數(shù)據(jù)塊上讀取到這些“被刪除”的數(shù)據(jù),從而造成一定的安全隱患。


      【發(fā)明內(nèi)容】

      [0008]為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法和裝置,以實(shí)現(xiàn)安全刪除,減少甚至避免安全隱患的發(fā)生。
      [0009]本發(fā)明實(shí)施例公開了如下技術(shù)方案:
      [0010]一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法,其特征在于,所述閃存介質(zhì)中的所有數(shù)據(jù)塊都寫滿數(shù)據(jù),其中,至少一個數(shù)據(jù)塊寫滿隨機(jī)數(shù)據(jù),除所述至少一個數(shù)據(jù)塊以外的其它數(shù)據(jù)塊寫滿文件數(shù)據(jù);所述方法包括:
      [0011]驅(qū)動響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的刪除文件數(shù)據(jù)的第一刪除請求,將所述文件數(shù)據(jù)所在的數(shù)據(jù)塊標(biāo)記為無用;
      [0012]驅(qū)動響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的寫入隨機(jī)數(shù)據(jù)的第一寫入請求,在所述閃存介質(zhì)中查找空白的數(shù)據(jù)塊或有剩余空白區(qū)域的數(shù)據(jù)塊,當(dāng)在所述閃存介質(zhì)中查找不到空白的數(shù)據(jù)塊和有剩余空白區(qū)域的數(shù)據(jù)塊時(shí),對標(biāo)記為無用的數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述隨機(jī)數(shù)據(jù);
      [0013]其中,所述第一刪除請求和第一寫入請求用于觸發(fā)所述驅(qū)動完成一次刪除操作。
      [0014]一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法,其特征在于,所述閃存介質(zhì)中的所有數(shù)據(jù)塊都寫滿操作文件,其中,一個操作文件的數(shù)據(jù)量與N個數(shù)據(jù)塊的數(shù)據(jù)量總和相等,至少N個數(shù)據(jù)塊寫滿待填充的操作文件,除所述至少N個數(shù)據(jù)塊之外的其它數(shù)據(jù)塊寫滿已填充的操作文件,所述待填充的操作文件中的所有數(shù)據(jù)為隨機(jī)數(shù)據(jù),所述已填充的操作文件中的所有數(shù)據(jù)為文件數(shù)據(jù),N為非零整數(shù);所述方法包括:
      [0015]上層的文件系統(tǒng)向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送刪除一個已填充的操作文件的第一刪除請求,所述第一刪除請求用于觸發(fā)驅(qū)動將所述已填充的操作文件所在的N個數(shù)據(jù)塊標(biāo)記為無用;
      [0016]在刪除成功后,上層的文件系統(tǒng)向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿隨機(jī)數(shù)據(jù)的第一寫入請求,所述第一寫入請求用于觸發(fā)驅(qū)動將標(biāo)記為無用的N個數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述隨機(jī)數(shù)據(jù);
      [0017]其中,所述第一刪除請求和第一寫入請求用于觸發(fā)驅(qū)動完成一次刪除操作。
      [0018]一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的裝置,其特征在于,所述閃存介質(zhì)中的所有數(shù)據(jù)塊都寫滿數(shù)據(jù),其中,至少一個數(shù)據(jù)塊寫滿隨機(jī)數(shù)據(jù),除所述至少一個數(shù)據(jù)塊以外的其它數(shù)據(jù)塊寫滿文件數(shù)據(jù);所述裝置包括:
      [0019]第一刪除請求響應(yīng)單元,用于響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的刪除文件數(shù)據(jù)的第一刪除請求,將所述文件數(shù)據(jù)所在的數(shù)據(jù)塊標(biāo)記為無用;
      [0020]第一寫入請求響應(yīng)單元,用于響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的寫入隨機(jī)數(shù)據(jù)的第一寫入請求,在所述閃存介質(zhì)中查找空白的數(shù)據(jù)塊或有剩余空白區(qū)域的數(shù)據(jù)塊,當(dāng)在所述閃存介質(zhì)中查找不到空白的數(shù)據(jù)塊和有剩余空白區(qū)域的數(shù)據(jù)塊時(shí),對標(biāo)記為無用的數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述隨機(jī)數(shù)據(jù);
      [0021]其中,所述第一刪除請求和第一寫入請求用于觸發(fā)所述驅(qū)動完成一次刪除操作。
      [0022]一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的裝置,其特征在于,所述閃存介質(zhì)中的所有數(shù)據(jù)塊都寫滿操作文件,其中,一個操作文件的數(shù)據(jù)量與N個數(shù)據(jù)塊的數(shù)據(jù)量總和相等,至少N個數(shù)據(jù)塊寫滿待填充的操作文件,除所述至少N個數(shù)據(jù)塊之外的其它數(shù)據(jù)塊寫滿已填充的操作文件,所述待填充的操作文件中的所有數(shù)據(jù)為隨機(jī)數(shù)據(jù),所述已填充的操作文件中的所有數(shù)據(jù)為文件數(shù)據(jù),N為非零整數(shù);所述裝置還包括:
      [0023]第一刪除請求發(fā)送單元,用于向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送刪除一個已填充的操作文件的第一刪除請求,所述第一刪除請求用于觸發(fā)驅(qū)動將所述已填充的操作文件所在的N個數(shù)據(jù)塊標(biāo)記為無用;
      [0024]第一寫入請求發(fā)送單元,用于在刪除成功后,向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿隨機(jī)數(shù)據(jù)的第一寫入請求,所述第一寫入請求用于觸發(fā)驅(qū)動將標(biāo)記為無用的N個數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述隨機(jī)數(shù)據(jù);
      [0025]其中,所述第一刪除請求和第一寫入請求用于觸發(fā)所述驅(qū)動完成一次刪除操作。
      [0026]由上述實(shí)施例可以看出,與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:
      [0027]從底層驅(qū)動來看,當(dāng)閃存介質(zhì)中的所有數(shù)據(jù)塊都已經(jīng)寫滿數(shù)據(jù)時(shí),通過對一個寫滿隨機(jī)數(shù)據(jù)的數(shù)據(jù)塊先后執(zhí)行一次數(shù)據(jù)刪除操作和一次數(shù)據(jù)寫入操作,最終就可以實(shí)現(xiàn)將文件數(shù)據(jù)寫入到該數(shù)據(jù)塊中的結(jié)果。另外,通過對一個寫滿文件數(shù)據(jù)的數(shù)據(jù)塊先后執(zhí)行一次數(shù)據(jù)刪除操作和一次數(shù)據(jù)寫入操作,最終可以實(shí)現(xiàn)將隨機(jī)數(shù)據(jù)寫入到該數(shù)據(jù)塊中的結(jié)果,也就是說,達(dá)到了利用隨機(jī)數(shù)據(jù)覆蓋原來的文件數(shù)據(jù)的效果,原來的文件數(shù)據(jù)徹底消失不見,從而實(shí)現(xiàn)了安全刪除。
      [0028]從高層堆疊文件系統(tǒng)來看,閃存介質(zhì)中的N個完整的數(shù)據(jù)塊就相當(dāng)于一個最小可操作的文件,因此,當(dāng)所有的最小可操作的文件都寫滿數(shù)據(jù)時(shí),通過對一個寫滿隨機(jī)數(shù)據(jù)的最小可操作的文件(即,可填充的操作文件)先后執(zhí)行一次文件刪除操作和一次文件寫入操作,最終就可以實(shí)現(xiàn)將文件數(shù)據(jù)寫入到該可填充的操作文件的結(jié)果。另外,通過對一個寫滿文件數(shù)據(jù)的最小可操作的文件(即,已填充的操作文件)先后執(zhí)行一次文件刪除操作和一次文件寫入操作,最終可以實(shí)現(xiàn)將隨機(jī)數(shù)據(jù)寫入到該已填充的操作文件中的結(jié)果,也就是說,達(dá)到了利用隨機(jī)數(shù)據(jù)覆蓋原來的文件數(shù)據(jù)的效果,原來的文件數(shù)據(jù)徹底消失不見,從而實(shí)現(xiàn)了安全刪除。

      【專利附圖】

      【附圖說明】
      [0029]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0030]圖1示意性地示出了本發(fā)明中閃存介質(zhì)的各個數(shù)據(jù)塊的一種結(jié)構(gòu)示意圖;
      [0031]圖2示意性地示出了本發(fā)明中閃存介質(zhì)的各個數(shù)據(jù)塊的另一種結(jié)構(gòu)示意圖;
      [0032]圖3示意性地示出了本發(fā)明中閃存介質(zhì)的各個數(shù)據(jù)塊的另一種結(jié)構(gòu)示意圖;
      [0033]圖4示意性地示出了本發(fā)明中閃存介質(zhì)的各個數(shù)據(jù)塊的另一種結(jié)構(gòu)示意圖;
      [0034]圖5示意性地示出了本發(fā)明中閃存介質(zhì)的各個數(shù)據(jù)塊的另一種結(jié)構(gòu)示意圖;
      [0035]圖6為本發(fā)明提供的一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法的一個實(shí)施例的流程圖;
      [0036]圖7示意性地示出了本發(fā)明實(shí)施的系統(tǒng)框架示意圖;
      [0037]圖8為本發(fā)明提供的一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法的另一個實(shí)施例的流程圖;
      [0038]圖9示意性地示出了本發(fā)明的可用文件表的結(jié)構(gòu)示意圖;
      [0039]圖10示意性地示出了本發(fā)明的文件存儲表的結(jié)構(gòu)示意圖;
      [0040]圖11為本發(fā)明提供的一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的裝置的一個實(shí)施例的結(jié)構(gòu)圖;
      [0041]圖12為本發(fā)明提供的一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的裝置的另一個實(shí)施例的結(jié)構(gòu)圖。

      【具體實(shí)施方式】
      [0042]在閃存介質(zhì)上,由于最小的物理操作單元是數(shù)據(jù)塊,因此,對于閃存介質(zhì)的驅(qū)動來說,其只能以數(shù)據(jù)塊為單位進(jìn)行物理擦除。而當(dāng)對一個數(shù)據(jù)塊進(jìn)行物理擦除后,使其成為空白的數(shù)據(jù)塊(即,該數(shù)據(jù)塊中的比特位全部重置為I),此時(shí),該數(shù)據(jù)塊中的數(shù)據(jù)即徹底消失不見。
      [0043]通過垃圾回收機(jī)制可以觸發(fā)驅(qū)動對數(shù)據(jù)塊進(jìn)行一次物理擦除,具體過程為:當(dāng)執(zhí)行寫入操作時(shí),如果閃存介質(zhì)中既不存在空白的數(shù)據(jù)塊,也不存在有剩余空白區(qū)域的數(shù)據(jù)塊,驅(qū)動就會對標(biāo)記為無用(invalid)的數(shù)據(jù)塊進(jìn)行物理擦除,使其重新成為空白的數(shù)據(jù)塊。
      [0044]利用驅(qū)動的上述工作機(jī)制,在本發(fā)明的技術(shù)方案中,在沒有使用閃存介質(zhì)存儲任何文件數(shù)據(jù)之前,該閃存介質(zhì)上的各個數(shù)據(jù)塊并不是空白的數(shù)據(jù)塊,而是需要預(yù)先將閃存介質(zhì)10中所有空白的數(shù)據(jù)塊101-10N全部寫滿隨機(jī)數(shù)據(jù),如圖1所示。
      [0045]基于閃存介質(zhì)10的上述構(gòu)造,對該閃存介質(zhì)10執(zhí)行數(shù)據(jù)寫入操作的過稱為:先向驅(qū)動20發(fā)送一個刪除某一數(shù)據(jù)塊(如,數(shù)據(jù)塊101)中的數(shù)據(jù)的請求,作為響應(yīng),驅(qū)動20根據(jù)其工作機(jī)制會先將數(shù)據(jù)塊101標(biāo)記為無用,如圖2所示。然后向驅(qū)動20發(fā)送一個寫入數(shù)據(jù)(該數(shù)據(jù)為有實(shí)際使用價(jià)值的文件數(shù)據(jù))的請求,由于此時(shí)已經(jīng)沒有空白的數(shù)據(jù)塊(因?yàn)樗械臄?shù)據(jù)塊已經(jīng)全部寫滿隨機(jī)數(shù)據(jù))供驅(qū)動20寫入數(shù)據(jù),因此,作為響應(yīng),驅(qū)動20根據(jù)其工作機(jī)制會將標(biāo)記為無用的數(shù)據(jù)塊101進(jìn)行物理擦除,使數(shù)據(jù)塊101成為空白的數(shù)據(jù)塊,如圖3所示,然后再將文件數(shù)據(jù)寫滿數(shù)據(jù)塊101,如圖4所示。如果文件數(shù)據(jù)無法寫滿數(shù)據(jù)塊101,驅(qū)動可以利用隨機(jī)數(shù)據(jù)對文件數(shù)據(jù)進(jìn)行擴(kuò)充,使其可以寫滿數(shù)據(jù)塊101即可??梢岳斫獾?,此時(shí)數(shù)據(jù)塊101中的數(shù)據(jù)為有實(shí)際使用價(jià)值的文件數(shù)據(jù),而除數(shù)據(jù)塊101之外的其它數(shù)據(jù)塊中的數(shù)據(jù)都為沒有實(shí)際使用價(jià)值的隨機(jī)數(shù)據(jù)。
      [0046]對該閃存介質(zhì)10執(zhí)行數(shù)據(jù)刪除操作的過程為:先向驅(qū)動20發(fā)送一個刪除某一個數(shù)據(jù)塊(例如,數(shù)據(jù)塊101)中的數(shù)據(jù)的請求,作為響應(yīng),驅(qū)動20根據(jù)其工作機(jī)制先將數(shù)據(jù)塊101標(biāo)記為無用,如圖5所示。然后向驅(qū)動20發(fā)送一個寫入數(shù)據(jù)(該數(shù)據(jù)為沒有實(shí)際使用價(jià)值的隨機(jī)數(shù)據(jù))的請求,由于此時(shí)已經(jīng)沒有空白的數(shù)據(jù)塊(因?yàn)閿?shù)據(jù)塊101已經(jīng)寫滿文件數(shù)據(jù),數(shù)據(jù)塊102-10N已經(jīng)全部寫滿隨機(jī)數(shù)據(jù))供驅(qū)動20寫入數(shù)據(jù),因此,作為響應(yīng),驅(qū)動20根據(jù)其工作機(jī)制會將標(biāo)記為無用的數(shù)據(jù)塊101進(jìn)行物理擦除,使數(shù)據(jù)塊101成為空白的數(shù)據(jù)塊,如圖3所示,然后再將隨機(jī)數(shù)據(jù)寫滿數(shù)據(jù)塊101,如圖1所示。
      [0047]由此可見,當(dāng)閃存介質(zhì)中的所有數(shù)據(jù)塊都已經(jīng)寫滿數(shù)據(jù)時(shí),通過對一個寫滿隨機(jī)數(shù)據(jù)的數(shù)據(jù)塊先后執(zhí)行一次數(shù)據(jù)刪除操作和一次數(shù)據(jù)寫入操作,最終就可以實(shí)現(xiàn)將文件數(shù)據(jù)寫入到該數(shù)據(jù)塊中的結(jié)果。另外,通過對一個寫滿文件數(shù)據(jù)的數(shù)據(jù)塊先后執(zhí)行一次數(shù)據(jù)刪除操作和一次數(shù)據(jù)寫入操作,最終可以實(shí)現(xiàn)將隨機(jī)數(shù)據(jù)寫入到該數(shù)據(jù)塊中的結(jié)果,也就是說,達(dá)到了利用隨機(jī)數(shù)據(jù)覆蓋原來的文件數(shù)據(jù)的效果,原來的文件數(shù)據(jù)徹底消失不見,從而實(shí)現(xiàn)了安全刪除。
      [0048]閃存介質(zhì)10可以是NandFlash。閃存介質(zhì)的驅(qū)動20可以是軟件驅(qū)動,也可以是硬件驅(qū)動。如果是軟件驅(qū)動,該軟件驅(qū)動可以集成在操作系統(tǒng)內(nèi)。如果是硬件驅(qū)動,該硬件驅(qū)動可以集成在一個專有的控制芯片上。
      [0049]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。
      [0050]方法實(shí)施例
      [0051]針對一種具有特定數(shù)據(jù)塊結(jié)構(gòu)的閃存介質(zhì),請參閱圖6,其為本發(fā)明提供的一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法的一個實(shí)施例的流程圖,該方法包括以下步驟:
      [0052]步驟600:閃存介質(zhì)中的所有數(shù)據(jù)塊都寫滿數(shù)據(jù),其中,至少一個數(shù)據(jù)塊寫滿隨機(jī)數(shù)據(jù),除所述至少一個數(shù)據(jù)塊以外的其它數(shù)據(jù)塊寫滿文件數(shù)據(jù)。
      [0053]步驟601:驅(qū)動響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的刪除文件數(shù)據(jù)的第一刪除請求,將所述文件數(shù)據(jù)所在的數(shù)據(jù)塊標(biāo)記為無用。
      [0054]步驟602:驅(qū)動響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的寫入隨機(jī)數(shù)據(jù)的第一寫入請求,在所述閃存介質(zhì)中查找空白的數(shù)據(jù)塊或有剩余空白區(qū)域的數(shù)據(jù)塊,當(dāng)在所述閃存介質(zhì)中查找不到空白的數(shù)據(jù)塊和有剩余空白區(qū)域的數(shù)據(jù)塊時(shí),對標(biāo)記為無用的數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述隨機(jī)數(shù)據(jù)。
      [0055]其中,所述第一刪除請求和第一寫入請求用于觸發(fā)所述驅(qū)動完成一次刪除操作。
      [0056]可以理解的,基于步驟100中的閃存介質(zhì),上層的閃存介質(zhì)文件系統(tǒng)(如,YAFFS、JSFF或Ext4等)只要向底層的驅(qū)動先后發(fā)送一次關(guān)于文件數(shù)據(jù)的數(shù)據(jù)刪除請求和關(guān)于隨機(jī)數(shù)據(jù)的數(shù)據(jù)寫入請求,底層的驅(qū)動根據(jù)其自身已有的工作機(jī)制(垃圾回收機(jī)制)就可以將隨機(jī)數(shù)據(jù)覆寫在一個數(shù)據(jù)塊中的文件數(shù)據(jù)上,從而安全刪除該數(shù)據(jù)塊中的文件數(shù)據(jù)。
      [0057]當(dāng)然,如果需要連續(xù)刪除多個數(shù)據(jù)塊上的文件數(shù)據(jù),上層的閃存介質(zhì)文件系統(tǒng)可以重復(fù)地向底層的驅(qū)動發(fā)送關(guān)于文件數(shù)據(jù)的數(shù)據(jù)刪除請求和關(guān)于隨機(jī)數(shù)據(jù)的數(shù)據(jù)寫入請求。作為響應(yīng),底層的驅(qū)動也就會重復(fù)地執(zhí)行上述步驟601和602。
      [0058]為了使驅(qū)動在初始狀態(tài)下就具備應(yīng)用垃圾回收機(jī)制的能力,在沒有使用閃存介質(zhì)存儲任何文件數(shù)據(jù)之前,該閃存介質(zhì)上的各個數(shù)據(jù)塊并不是空白的數(shù)據(jù)塊,而是需要預(yù)先將所有空白的數(shù)據(jù)塊全部寫滿隨機(jī)數(shù)據(jù)。
      [0059]S卩,在初始狀態(tài)下,閃存介質(zhì)中的所有數(shù)據(jù)塊都寫滿隨機(jī)數(shù)據(jù)。
      [0060]當(dāng)閃存介質(zhì)的所有數(shù)據(jù)塊都寫滿隨機(jī)數(shù)據(jù),或者,當(dāng)閃存介質(zhì)的一部分?jǐn)?shù)據(jù)塊寫滿文件數(shù)據(jù),另一部分?jǐn)?shù)據(jù)塊寫滿隨機(jī)數(shù)據(jù)時(shí),針對寫滿隨機(jī)數(shù)據(jù)的數(shù)據(jù)塊,雖然該數(shù)據(jù)塊不是空白的,但是其實(shí)際上是一種可以寫入文件數(shù)據(jù)的數(shù)據(jù)塊,與上述方案的思想類似的,針對具有上述兩種特定數(shù)據(jù)塊結(jié)構(gòu)的閃存介質(zhì),只要通過一次數(shù)據(jù)刪除操作和一次數(shù)據(jù)寫入操作就可以將文件數(shù)據(jù)覆寫在數(shù)據(jù)塊中的隨機(jī)數(shù)據(jù)上。
      [0061]因此,在本發(fā)明的另一個優(yōu)選實(shí)施方式中,為了將文件數(shù)據(jù)寫入到閃存介質(zhì)的某一個數(shù)據(jù)塊上,該方法還包括:驅(qū)動響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的寫入文件數(shù)據(jù)的第二寫入請求,將所述隨機(jī)數(shù)據(jù)所在的數(shù)據(jù)塊標(biāo)記為無用;響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的寫入文件數(shù)據(jù)的第二寫入請求,在所述閃存介質(zhì)上查找空白的數(shù)據(jù)塊或有剩余空白區(qū)域的數(shù)據(jù)塊,當(dāng)在所述閃存介質(zhì)中查找不到空白的數(shù)據(jù)塊或有剩余空白區(qū)域的數(shù)據(jù)塊時(shí),對標(biāo)記為無用的數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述文件數(shù)據(jù)。
      [0062]其中,所述第二刪除請求和第二寫入請求用于觸發(fā)所述驅(qū)動完成一次寫入操作。
      [0063]當(dāng)然,如果需要連續(xù)向多個數(shù)據(jù)塊寫入文件數(shù)據(jù),可以重復(fù)地向底層的驅(qū)動發(fā)送關(guān)于隨機(jī)數(shù)據(jù)的數(shù)據(jù)刪除請求和關(guān)于文件數(shù)據(jù)的數(shù)據(jù)寫入請求。作為響應(yīng),底層的驅(qū)動也就會重復(fù)地執(zhí)行以上步驟。
      [0064]另外,為了保證文件數(shù)據(jù)可以剛好寫滿一個數(shù)據(jù)塊,一種實(shí)現(xiàn)方式是,在驅(qū)動上層的文件系統(tǒng)(例如,閃存介質(zhì)文件系統(tǒng),或者,位于虛擬文件系統(tǒng)和閃存介質(zhì)文件系統(tǒng)之間的堆疊文件系統(tǒng))向驅(qū)動發(fā)送數(shù)據(jù)寫入請求之前,由驅(qū)動上層的文件系統(tǒng)先對數(shù)據(jù)寫入請求進(jìn)行重組,即,對不夠?qū)憹M一個數(shù)據(jù)塊的文件數(shù)據(jù),利用隨機(jī)數(shù)據(jù)進(jìn)行擴(kuò)充,使擴(kuò)充后的文件數(shù)據(jù)可以寫滿一個數(shù)據(jù)塊。同時(shí),記錄相關(guān)的位置,例如,擴(kuò)充的起始位置或者文件數(shù)據(jù)的終止位置。這樣,底層的驅(qū)動就可以直接將已擴(kuò)充好的文件數(shù)據(jù)寫滿數(shù)據(jù)塊,而無需對底層的驅(qū)動進(jìn)行任何改動。
      [0065]作為另一種可選方案,也可以在底層的驅(qū)動接收到第二寫入請求之后,由底層的驅(qū)動對不夠?qū)憹M一個數(shù)據(jù)塊的文件數(shù)據(jù)進(jìn)行擴(kuò)充。因此,在本發(fā)明的另一個優(yōu)選實(shí)施方式中,該方法還可以包括:驅(qū)動在向所述空白的數(shù)據(jù)塊寫滿所述文件數(shù)據(jù)之前,判斷所述文件數(shù)據(jù)是否可寫滿所述空白的數(shù)據(jù)塊,如果否,利用隨機(jī)數(shù)據(jù)對所述文件數(shù)據(jù)進(jìn)行擴(kuò)充,使擴(kuò)充后的所述文件數(shù)據(jù)可寫滿所述空白的數(shù)據(jù)塊。
      [0066]則驅(qū)動向所述空白的數(shù)據(jù)塊寫滿所述文件數(shù)據(jù)為:驅(qū)動向所述空白的數(shù)據(jù)塊寫滿擴(kuò)充后的所述文件數(shù)據(jù)。
      [0067]當(dāng)對具有上述閃存介質(zhì)中的文件數(shù)據(jù)進(jìn)行數(shù)據(jù)更新時(shí),由于每一個數(shù)據(jù)更新操作包括數(shù)據(jù)寫入操作和數(shù)據(jù)刪除操作,即,對閃存介質(zhì)先執(zhí)行更新文件數(shù)據(jù)的寫入操作(如果被更新文件數(shù)據(jù)所在的數(shù)據(jù)塊還存在其它文件數(shù)據(jù),還需要執(zhí)行其他文件數(shù)據(jù)的寫入操作),再執(zhí)行被更新文件數(shù)據(jù)的刪除操作。具體的寫入過程和刪除過程可以參見上述方法,此次不再贅述。
      [0068]如圖7所示,其示意性地示出了本發(fā)明實(shí)施的系統(tǒng)框架示意圖。在該系統(tǒng)中,最上層的是Linux的虛擬文件系統(tǒng)70,位于虛擬文件系統(tǒng)70下層是的實(shí)現(xiàn)本發(fā)明核心技術(shù)方案的堆疊文件系統(tǒng)71,位于堆疊文件系統(tǒng)71下層的是閃存介質(zhì)文件系統(tǒng)72,如,YAFFS、JSFF或Ext4等。位于閃存介質(zhì)文件系統(tǒng)72下層的是閃存介質(zhì)驅(qū)動層73,位于閃存介質(zhì)驅(qū)動層73下層的是閃存介質(zhì)74,如,NandFlash。
      [0069]其中,Linux的虛擬文件系統(tǒng)最重要的特征之一是支持多文件系統(tǒng),使其更加靈活,從而與許多其他的操作系統(tǒng)共存。Linux支持ext、ext2、xia、minix、umsdos、msdes、fat32、ntfs、proc、stub、ncp、hpfs、affs以及ufs等多種文件系統(tǒng)。為了實(shí)現(xiàn)這一目的,Linux內(nèi)核對所有的文件系統(tǒng)采用統(tǒng)一的文件操作界面,用戶通過文件操作界面來實(shí)現(xiàn)對不同的文件系統(tǒng)的操作。對于用于來說,其并不需要關(guān)心對不同的文件系統(tǒng)的具體操作過程,而只是對一個虛擬的文件操作界面進(jìn)行操作,而這個虛擬的文件操作界面就是Linux的虛擬文件系統(tǒng)。
      [0070]inode是類Linux操作系統(tǒng)的一種數(shù)據(jù)結(jié)構(gòu),用開表示一個開的文件、目錄或者其它在文件系統(tǒng)命名空間出現(xiàn)的實(shí)體,它隱藏了底層物理文件系統(tǒng)的實(shí)現(xiàn)細(xì)節(jié)。inode接口使高層的操作系統(tǒng)可以按照統(tǒng)一的方式處理文件系統(tǒng)請求。Inode接口的一個改進(jìn)是inode分層堆疊,這種技術(shù)可以讓一個inode接口調(diào)用另一個inode接口,從而使文件系統(tǒng)功能設(shè)計(jì)模塊化。有了 inode分層堆疊后,可以有多個inode接口,并且它們之間按照順序調(diào)用。利用inode分層堆疊方法,可以在現(xiàn)有的底層物理文件系統(tǒng)和虛擬文件系統(tǒng)之間插入一個新的堆疊文件系統(tǒng),為底層物理文件系統(tǒng)增加新功能。這樣,大多數(shù)實(shí)際的文件操作可由底層物理文件系統(tǒng)完成,開發(fā)者可以把主要精力放在文件系統(tǒng)的新功能上,而不用考慮文件系統(tǒng)和底層服務(wù)的交互,大大加快了開發(fā)速度。同時(shí)堆疊文件系統(tǒng)的性能和Linux的虛擬文件系統(tǒng)接近,避免了用戶級文件系統(tǒng)的性能問題。
      [0071]在加載了堆疊文件系統(tǒng)之后,為了便于上層的堆疊文件系統(tǒng)對下層的閃存介質(zhì)文件系統(tǒng)的管理以及便于對最底層的閃存介質(zhì)的操作,堆疊文件系統(tǒng)先根據(jù)閃存介質(zhì)中的N個數(shù)據(jù)塊的大小設(shè)置一個文件(該文件作為堆疊文件系統(tǒng)的最小可操作的文件,也可以稱為“操作文件”)的大小,并向閃存介質(zhì)文件系統(tǒng)請求寫入最小操作的文件(該最小可操作的文件中的所有數(shù)據(jù)都為隨機(jī)數(shù)據(jù)),從而使所有最小可操作的文件占滿閃存介質(zhì)的所有存儲空間。這樣,對于堆疊文件系統(tǒng)來說,閃存介質(zhì)中的N個完整的數(shù)據(jù)塊就相當(dāng)于一個最小可操作的文件,其向閃存介質(zhì)文件系統(tǒng)發(fā)送的各種文件操作請求的對象都是某一個最小可操作的文件。而每當(dāng)堆疊文件系統(tǒng)向閃存介質(zhì)文件系統(tǒng)發(fā)送一次最小可操作的文件寫入/刪除請求時(shí),最終反映到閃存介質(zhì)上,都是對N個數(shù)據(jù)塊的操作,上述N為非零整數(shù)。
      [0072]因此,當(dāng)所有的數(shù)據(jù)塊都寫滿最小可操作的文件(即,操作文件)時(shí),堆疊文件系統(tǒng)通過對一個寫滿隨機(jī)數(shù)據(jù)的最小可操作的文件(即,待填充的操作文件)先后執(zhí)行一次文件刪除操作和一次文件寫入操作,最終就可以實(shí)現(xiàn)將文件數(shù)據(jù)寫入到該待填充的操作文件的結(jié)果。另外,堆疊文件系統(tǒng)通過對一個寫滿文件數(shù)據(jù)的最小可操作的文件(即,已填充的操作文件)先后執(zhí)行一次文件刪除操作和一次文件寫入操作,最終可以實(shí)現(xiàn)將隨機(jī)數(shù)據(jù)寫入到該已填充的操作文件中的結(jié)果,也就是說,達(dá)到了利用隨機(jī)數(shù)據(jù)覆蓋原來的文件數(shù)據(jù)的效果,原來的文件數(shù)據(jù)徹底消失不見,從而實(shí)現(xiàn)了安全刪除。
      [0073]請參閱圖8,其為本發(fā)明提供的一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法的一個實(shí)施例的流程圖,該方法包括以下步驟:
      [0074]步驟800:閃存介質(zhì)中的所有數(shù)據(jù)塊都寫滿操作文件,其中,一個操作文件的數(shù)據(jù)量與N個數(shù)據(jù)塊的數(shù)據(jù)量總和相等,至少N個數(shù)據(jù)塊寫滿待填充的操作文件,除所述至少N個數(shù)據(jù)塊之外的其它數(shù)據(jù)塊寫滿已填充的操作文件,所述待填充的操作文件中的所有數(shù)據(jù)為隨機(jī)數(shù)據(jù),所述已填充的操作文件中的所有數(shù)據(jù)為文件數(shù)據(jù),N為非零整數(shù)。
      [0075]步驟801:上層的文件系統(tǒng)向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送刪除一個已填充的操作文件的第一刪除請求,所述第一刪除請求用于觸發(fā)驅(qū)動將所述已填充的操作文件所在的N個數(shù)據(jù)塊標(biāo)記為無用。
      [0076]步驟802:在刪除成功后,上層的文件系統(tǒng)向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿隨機(jī)數(shù)據(jù)的第一寫入請求,所述第一寫入請求用于觸發(fā)驅(qū)動將標(biāo)記為無用的N個數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述隨機(jī)數(shù)據(jù)。
      [0077]其中,所述第二刪除請求和第二寫入請求用于觸發(fā)所述驅(qū)動完成一次寫入操作。
      [0078]可以理解的,對于堆疊文件系統(tǒng)來說,由于其最小可操作的文件(即,操作文件)的數(shù)據(jù)量與N個數(shù)據(jù)塊的數(shù)據(jù)量總和相等,因此,堆疊文件系統(tǒng)每次對一個操作文件的操作最終都會映射為是對N個數(shù)據(jù)塊的操作。例如,當(dāng)N= I時(shí),一個最小可操作的文件的大小與一個數(shù)據(jù)塊的大小相等,即,對每一個最小可操作的文件的操作最終會映射為對一個數(shù)據(jù)塊的操作。當(dāng)N為x(x > I)時(shí),對每一個最小可操作的文件的操作最終會映射為對X個數(shù)據(jù)塊的操作。
      [0079]在本發(fā)明的另一個優(yōu)選實(shí)施方式中,所述方法還包括:
      [0080]上層的文件系統(tǒng)向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送刪除一個待填充的操作文件的第二刪除請求,所述第二刪除請求用于觸發(fā)驅(qū)動將所述待填充的操作文件所在的N個數(shù)據(jù)塊標(biāo)記為無用;在刪除成功后,上層的文件系統(tǒng)向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿文件數(shù)據(jù)的第二寫入請求,所述第二寫入請求用于觸發(fā)驅(qū)動將標(biāo)記為無用的N個數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述文件數(shù)據(jù)。
      [0081]其中,所述第二刪除請求和第二寫入請求用于觸發(fā)驅(qū)動完成一次寫入操作。
      [0082]在現(xiàn)有技術(shù)中,針對閃存介質(zhì)文件系統(tǒng)來說,其最小的可操作單位通常是數(shù)據(jù)頁(page),并會保存有數(shù)據(jù)頁與閃存介質(zhì)上的數(shù)據(jù)塊(block)之間的映射關(guān)系。在本發(fā)明中,閃存介質(zhì)文件系統(tǒng)不僅會保存有數(shù)據(jù)頁與數(shù)據(jù)塊之間的映射關(guān)系,還會保存有操作文件與數(shù)據(jù)頁之間的映射關(guān)系。這樣,就可以先根據(jù)映射關(guān)系將上層的堆疊文件系統(tǒng)請求操作的操作文件先轉(zhuǎn)換為對應(yīng)的數(shù)據(jù)頁,在根據(jù)映射關(guān)系將數(shù)據(jù)頁轉(zhuǎn)換為對應(yīng)的數(shù)據(jù)塊,最后請求閃存驅(qū)動操作對應(yīng)的數(shù)據(jù)塊。
      [0083]在本發(fā)明中,對于堆疊文件系統(tǒng)來說,當(dāng)最小可操作的文件中包含的所有數(shù)據(jù)都是隨機(jī)數(shù)據(jù),而不是文件數(shù)據(jù)時(shí),此時(shí)該最小可操作的文件(即,可填充的操作文件)實(shí)際上是可用的,即,在閃存介質(zhì)上,可填充的操作文件中的隨機(jī)數(shù)據(jù)在數(shù)據(jù)塊中可以被其它的文件數(shù)據(jù)所覆寫。因此,堆疊文件系統(tǒng)還可以建立一個可用文件表,如圖9所示,在該可用文件表的每一個表項(xiàng)中記錄了一個可用文件的文件名,以及每一個可用文件的文件名與可填充的操作文件的文件名之間的映射關(guān)系。其中,可以采用鏈表方式將所有可填充的操作文件鏈接為可用文件鏈表。
      [0084]實(shí)際上,堆疊文件系統(tǒng)接管了 Linux的虛擬文件系統(tǒng)對閃存介質(zhì)文件系統(tǒng)的所有訪問請求,當(dāng)接收到Linux的虛擬文件系統(tǒng)的文件寫入請求之后,堆疊文件系統(tǒng)將待寫入文件(即,一個虛擬文件)按照最小操作文件的大小劃分為多個文件片段,并根據(jù)文件片段的個數(shù)從可用文件表中查詢相應(yīng)數(shù)量的可用文件。文件寫入的具體方式是:堆疊文件系統(tǒng)先向閃存介質(zhì)文件系統(tǒng)發(fā)送文件刪除請求,請求刪除查詢到的多個可用文件,在刪除成功后,再向閃存介質(zhì)文件系統(tǒng)發(fā)送文件創(chuàng)建并寫入請求,請求閃存介質(zhì)文件系統(tǒng)創(chuàng)建查詢到的多個可用文件,并向這些可用文件分別寫滿每個文件片段中的文件數(shù)據(jù)。寫入成功后,可用文件變成不可用的(即,可用文件從可填充的操作文件變?yōu)橐烟畛涞牟僮魑募?,堆疊文件系統(tǒng)更新可用文件表,將這些可用文件從可用文件表的表項(xiàng)中刪除。
      [0085]與此同時(shí),堆疊文件系統(tǒng)還要建立一個文件存儲表,如圖10所示,在該文件存儲表的每一個表項(xiàng)中記錄了一個存儲文件的文件名(即,文件片段名),以及每一個存儲文件的文件名與已填充的操作文件的文件名之間的映射關(guān)系。另外,如果存儲文件中的文件數(shù)據(jù)被隨機(jī)數(shù)據(jù)進(jìn)行過擴(kuò)充,在每一個表項(xiàng)中,還需要記錄該存儲文件中的文件數(shù)據(jù)的偏移量(offset),以便根據(jù)偏移量只返回具有實(shí)際意義的文件數(shù)據(jù)而不加入隨機(jī)數(shù)據(jù)。
      [0086]當(dāng)接收到Linux的虛擬文件系統(tǒng)的文件刪除請求之后,堆疊文件系統(tǒng)先確定與待刪除文件的各文件片段對應(yīng)的存儲文件,再從文件存儲表中查詢對應(yīng)的存儲文件。文件刪除的具體方式是:堆疊文件系統(tǒng)先向閃存介質(zhì)文件系統(tǒng)發(fā)送文件刪除請求,請求刪除查詢到的多個存儲文件,在刪除成功后,再向閃存介質(zhì)文件系統(tǒng)發(fā)送文件創(chuàng)建并寫入請求,請求閃存介質(zhì)文件系統(tǒng)創(chuàng)建查詢到的多個存儲文件,并向這些存儲文件中分別寫滿隨機(jī)數(shù)據(jù)。寫入成功后,這些存儲文件變成可用的(即,存儲文件從已填充的操作文件變?yōu)榭商畛涞牟僮魑募?,堆疊文件系統(tǒng)更新可用文件表,在可用文件表中增加相關(guān)表項(xiàng)。
      [0087]為了保證在一個待填充的操作文件中可以寫滿文件數(shù)據(jù),在本發(fā)明的另一個優(yōu)選實(shí)施方式中,該方法還包括:
      [0088]上層的文件系統(tǒng)在向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿文件數(shù)據(jù)之前,判斷所述文件數(shù)據(jù)是否可寫滿一個操作文件,如果否,利用隨機(jī)數(shù)據(jù)對所述文件數(shù)據(jù)進(jìn)行擴(kuò)充,以使得擴(kuò)充后的所述文件數(shù)據(jù)可寫滿一個操作文件;
      [0089]所述上層的文件系統(tǒng)向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿文件數(shù)據(jù)的第二寫入請求為:上層的文件系統(tǒng)向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿擴(kuò)充后的所述文件數(shù)據(jù)。
      [0090]由上述實(shí)施例可以看出,與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:
      [0091]從底層驅(qū)動來看,當(dāng)閃存介質(zhì)中的所有數(shù)據(jù)塊都已經(jīng)寫滿數(shù)據(jù)時(shí),通過對一個寫滿隨機(jī)數(shù)據(jù)的數(shù)據(jù)塊先后執(zhí)行一次數(shù)據(jù)刪除操作和一次數(shù)據(jù)寫入操作,最終就可以實(shí)現(xiàn)將文件數(shù)據(jù)寫入到該數(shù)據(jù)塊中的結(jié)果。另外,通過對一個寫滿文件數(shù)據(jù)的數(shù)據(jù)塊先后執(zhí)行一次數(shù)據(jù)刪除操作和一次數(shù)據(jù)寫入操作,最終可以實(shí)現(xiàn)將隨機(jī)數(shù)據(jù)寫入到該數(shù)據(jù)塊中的結(jié)果,也就是說,達(dá)到了利用隨機(jī)數(shù)據(jù)覆蓋原來的文件數(shù)據(jù)的效果,原來的文件數(shù)據(jù)徹底消失不見,從而實(shí)現(xiàn)了安全刪除。
      [0092]從高層堆疊文件系統(tǒng)來看,閃存介質(zhì)中的N個完整的數(shù)據(jù)塊就相當(dāng)于一個最小可操作的文件,因此,當(dāng)所有的最小可操作的文件都寫滿數(shù)據(jù)時(shí),通過對一個寫滿隨機(jī)數(shù)據(jù)的最小可操作的文件(即,可填充的操作文件)先后執(zhí)行一次文件刪除操作和一次文件寫入操作,最終就可以實(shí)現(xiàn)將文件數(shù)據(jù)寫入到該可填充的操作文件的結(jié)果。另外,通過對一個寫滿文件數(shù)據(jù)的最小可操作的文件(即,已填充的操作文件)先后執(zhí)行一次文件刪除操作和一次文件寫入操作,最終可以實(shí)現(xiàn)將隨機(jī)數(shù)據(jù)寫入到該已填充的操作文件中的結(jié)果,也就是說,達(dá)到了利用隨機(jī)數(shù)據(jù)覆蓋原來的文件數(shù)據(jù)的效果,原來的文件數(shù)據(jù)徹底消失不見,從而實(shí)現(xiàn)了安全刪除。
      [0093]裝置實(shí)施例
      [0094]與上述一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法相對應(yīng),本發(fā)明實(shí)施例還提供了一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的裝置。請參閱圖11,其為本發(fā)明提供的一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的裝置的一個實(shí)施例的結(jié)構(gòu)圖,所述閃存介質(zhì)中的所有數(shù)據(jù)塊都寫滿數(shù)據(jù),其中,至少一個數(shù)據(jù)塊寫滿隨機(jī)數(shù)據(jù),除所述至少一個數(shù)據(jù)塊以外的其它數(shù)據(jù)塊寫滿文件數(shù)據(jù),該裝置包括:第一刪除請求響應(yīng)單元1101和第一寫入請求響應(yīng)單元1102。下面結(jié)合該裝置的工作原理進(jìn)一步介紹其內(nèi)部結(jié)構(gòu)以及連接關(guān)系。
      [0095]第一刪除請求響應(yīng)單元1101,用于響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的刪除文件數(shù)據(jù)的第一刪除請求,將所述文件數(shù)據(jù)所在的數(shù)據(jù)塊標(biāo)記為無用;
      [0096]第一寫入請求響應(yīng)單元1102,用于響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的寫入隨機(jī)數(shù)據(jù)的第一寫入請求,在所述閃存介質(zhì)中查找空白的數(shù)據(jù)塊或有剩余空白區(qū)域的數(shù)據(jù)塊,當(dāng)在所述閃存介質(zhì)中查找不到空白的數(shù)據(jù)塊和有剩余空白區(qū)域的數(shù)據(jù)塊時(shí),對標(biāo)記為無用的數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述隨機(jī)數(shù)據(jù)。
      [0097]其中,所述第一刪除請求和第一寫入請求用于觸發(fā)所述驅(qū)動完成一次刪除操作。
      [0098]在本發(fā)明的另一個優(yōu)選實(shí)施方式中,該裝置還包括:
      [0099]第二刪除請求響應(yīng)單元,用于響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的刪除隨機(jī)數(shù)據(jù)的第二刪除請求,將所述隨機(jī)數(shù)據(jù)所在的數(shù)據(jù)塊標(biāo)記為無用;
      [0100]第二寫入請求響應(yīng)單元,用于響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的寫入文件數(shù)據(jù)的第二寫入請求,在所述閃存介質(zhì)中查找空白的數(shù)據(jù)塊或有剩余空白區(qū)域的數(shù)據(jù)塊,當(dāng)在所述閃存介質(zhì)中查找不到空白的數(shù)據(jù)塊和有剩余空白區(qū)域的數(shù)據(jù)塊時(shí),對無用的數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述文件數(shù)據(jù)。
      [0101]其中,所述第二刪除請求和第二寫入請求用于觸發(fā)所述驅(qū)動完成一次寫入操作。
      [0102]在本發(fā)明的另一個優(yōu)選實(shí)施方式中,該裝置還包括:
      [0103]數(shù)據(jù)擴(kuò)充單元,用于在向所述空白的數(shù)據(jù)塊寫滿所述文件數(shù)據(jù)之前,判斷所述文件數(shù)據(jù)是否可寫滿所述空白的數(shù)據(jù)塊,如果否,利用隨機(jī)數(shù)據(jù)對所述文件數(shù)據(jù)進(jìn)行擴(kuò)充,使擴(kuò)充后的所述文件數(shù)據(jù)可寫滿所述空白的數(shù)據(jù)塊;
      [0104]則第二寫入請求響應(yīng)單元用于,響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的寫入文件數(shù)據(jù)的第二寫入請求,在所述閃存介質(zhì)中查找空白的數(shù)據(jù)塊或有剩余空白區(qū)域的數(shù)據(jù)塊,當(dāng)在所述閃存介質(zhì)中查找不到空白的數(shù)據(jù)塊和有剩余空白區(qū)域的數(shù)據(jù)塊時(shí),對無用的數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿擴(kuò)充后的所述文件數(shù)據(jù)。
      [0105]請參閱圖12,其為本發(fā)明提供的一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的裝置的另一個實(shí)施例的結(jié)構(gòu)圖,所述閃存介質(zhì)中的所有數(shù)據(jù)塊都寫滿操作文件,其中,一個操作文件的數(shù)據(jù)量與N個數(shù)據(jù)塊的數(shù)據(jù)量總和相等,至少N個數(shù)據(jù)塊寫滿待填充的操作文件,除所述至少N個數(shù)據(jù)塊之外的其它數(shù)據(jù)塊寫滿已填充的操作文件,所述待填充的操作文件中的所有數(shù)據(jù)為隨機(jī)數(shù)據(jù),所述已填充的操作文件中的所有數(shù)據(jù)為文件數(shù)據(jù),N為非零整數(shù),該裝置包括:
      [0106]第一刪除請求發(fā)送單元1201,用于向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送刪除一個已填充的操作文件的第一刪除請求,所述第一刪除請求用于觸發(fā)驅(qū)動將所述已填充的操作文件所在的N個數(shù)據(jù)塊標(biāo)記為無用;
      [0107]第一寫入請求發(fā)送單元1202,用于在刪除成功后,向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿隨機(jī)數(shù)據(jù)的第一寫入請求所述第一寫入請求用于觸發(fā)驅(qū)動將標(biāo)記為無用的N個數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述隨機(jī)數(shù)據(jù);
      [0108]其中,所述第一刪除請求和第一寫入請求用于觸發(fā)所述驅(qū)動完成一次刪除操作。
      [0109]在本發(fā)明的另一個優(yōu)選實(shí)施方式中,該裝置還包括:
      [0110]第二刪除請求發(fā)送單元,用于向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送刪除一個待填充的操作文件的第二刪除請求,所述第二刪除請求用于觸發(fā)驅(qū)動將所述待填充的操作文件所在的N個數(shù)據(jù)塊標(biāo)記為無用;
      [0111]第二寫入請求發(fā)送單元,用于在刪除成功后,向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿文件數(shù)據(jù)的第二寫入請求,所述第二寫入請求用于觸發(fā)驅(qū)動將標(biāo)記為無用的N個數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述文件數(shù)據(jù);
      [0112]其中,所述第二刪除請求和第二寫入請求用于觸發(fā)所述驅(qū)動完成一次寫入操作。
      [0113]在本發(fā)明的另一個優(yōu)選實(shí)施方式中,該裝置還包括:
      [0114]文件擴(kuò)充單元,用于在向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿文件數(shù)據(jù)之前,判斷所述文件數(shù)據(jù)是否可寫滿一個操作文件,如果否,利用隨機(jī)數(shù)據(jù)對所述文件數(shù)據(jù)進(jìn)行擴(kuò)充,以使得擴(kuò)充后的所述文件數(shù)據(jù)可寫滿一個操作文件;
      [0115]所述第二寫入請求發(fā)送單元用于,向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿擴(kuò)充后的所述文件數(shù)據(jù)的第二寫入請求,所述第二寫入請求用于觸發(fā)驅(qū)動將標(biāo)記為無用的N個數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿擴(kuò)充后的所述文件數(shù)據(jù)。
      [0116]由上述實(shí)施例可以看出,與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:
      [0117]從底層驅(qū)動來看,當(dāng)閃存介質(zhì)中的所有數(shù)據(jù)塊都已經(jīng)寫滿數(shù)據(jù)時(shí),通過對一個寫滿隨機(jī)數(shù)據(jù)的數(shù)據(jù)塊先后執(zhí)行一次數(shù)據(jù)刪除操作和一次數(shù)據(jù)寫入操作,最終就可以實(shí)現(xiàn)將文件數(shù)據(jù)寫入到該數(shù)據(jù)塊中的結(jié)果。另外,通過對一個寫滿文件數(shù)據(jù)的數(shù)據(jù)塊先后執(zhí)行一次數(shù)據(jù)刪除操作和一次數(shù)據(jù)寫入操作,最終可以實(shí)現(xiàn)將隨機(jī)數(shù)據(jù)寫入到該數(shù)據(jù)塊中的結(jié)果,也就是說,達(dá)到了利用隨機(jī)數(shù)據(jù)覆蓋原來的文件數(shù)據(jù)的效果,原來的文件數(shù)據(jù)徹底消失不見,從而實(shí)現(xiàn)了安全刪除。
      [0118]從高層堆疊文件系統(tǒng)來看,閃存介質(zhì)中的N個完整的數(shù)據(jù)塊就相當(dāng)于一個最小可操作的文件,因此,當(dāng)所有的最小可操作的文件都寫滿數(shù)據(jù)時(shí),通過對一個寫滿隨機(jī)數(shù)據(jù)的最小可操作的文件(即,可填充的操作文件)先后執(zhí)行一次文件刪除操作和一次文件寫入操作,最終就可以實(shí)現(xiàn)將文件數(shù)據(jù)寫入到該可填充的操作文件的結(jié)果。另外,通過對一個寫滿文件數(shù)據(jù)的最小可操作的文件(即,已填充的操作文件)先后執(zhí)行一次文件刪除操作和一次文件寫入操作,最終可以實(shí)現(xiàn)將隨機(jī)數(shù)據(jù)寫入到該已填充的操作文件中的結(jié)果,也就是說,達(dá)到了利用隨機(jī)數(shù)據(jù)覆蓋原來的文件數(shù)據(jù)的效果,原來的文件數(shù)據(jù)徹底消失不見,從而實(shí)現(xiàn)了安全刪除。
      [0119]所述領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
      [0120]在本發(fā)明所提供的幾個實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述到的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性、機(jī)械或其它的形式。
      [0121]所述作為分離部件說明的單元可以是或者也可以是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
      [0122]另外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),可以采用軟件功能單元的形式實(shí)現(xiàn)。
      [0123]需要說明的是,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計(jì)算機(jī)可讀取閃存介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的閃存介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機(jī)存儲記憶體(Random Access Memory, RAM)等。
      [0124]以上對本發(fā)明所提供的在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法和裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體實(shí)施例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
      【權(quán)利要求】
      1.一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法,其特征在于,所述閃存介質(zhì)中的所有數(shù)據(jù)塊都寫滿數(shù)據(jù),其中,至少一個數(shù)據(jù)塊寫滿隨機(jī)數(shù)據(jù),除所述至少一個數(shù)據(jù)塊以外的其它數(shù)據(jù)塊寫滿文件數(shù)據(jù);所述方法包括: 驅(qū)動響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的刪除文件數(shù)據(jù)的第一刪除請求,將所述文件數(shù)據(jù)所在的數(shù)據(jù)塊標(biāo)記為無用; 驅(qū)動響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的寫入隨機(jī)數(shù)據(jù)的第一寫入請求,在所述閃存介質(zhì)中查找空白的數(shù)據(jù)塊或有剩余空白區(qū)域的數(shù)據(jù)塊,當(dāng)在所述閃存介質(zhì)中查找不到空白的數(shù)據(jù)塊和有剩余空白區(qū)域的數(shù)據(jù)塊時(shí),對標(biāo)記為無用的數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述隨機(jī)數(shù)據(jù); 其中,所述第一刪除請求和第一寫入請求用于觸發(fā)所述驅(qū)動完成一次刪除操作。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 驅(qū)動響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的刪除隨機(jī)數(shù)據(jù)的第二刪除請求,將所述隨機(jī)數(shù)據(jù)所在的數(shù)據(jù)塊標(biāo)記為無用; 驅(qū)動響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的寫入文件數(shù)據(jù)的第二寫入請求,在所述閃存介質(zhì)中查找空白的數(shù)據(jù)塊或有剩余空白區(qū)域的數(shù)據(jù)塊,當(dāng)在所述閃存介質(zhì)中查找不到空白的數(shù)據(jù)塊和有剩余空白區(qū)域的數(shù)據(jù)塊時(shí),對標(biāo)記為無用的數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述文件數(shù)據(jù); 其中,所述第二刪除請求和第二寫入請求用于觸發(fā)所述驅(qū)動完成一次寫入操作。
      3.根據(jù)權(quán)利要求2所述的方法,其特征在于, 所述方法還包括: 驅(qū)動在向所述空白的數(shù)據(jù)塊寫滿所述文件數(shù)據(jù)之前,判斷所述文件數(shù)據(jù)是否可寫滿所述空白的數(shù)據(jù)塊,如果否,利用隨機(jī)數(shù)據(jù)對所述文件數(shù)據(jù)進(jìn)行擴(kuò)充,使擴(kuò)充后的所述文件數(shù)據(jù)可寫滿所述空白的數(shù)據(jù)塊; 則驅(qū)動向所述空白的數(shù)據(jù)塊寫滿所述文件數(shù)據(jù)為: 驅(qū)動向所述空白的數(shù)據(jù)塊寫滿擴(kuò)充后的所述文件數(shù)據(jù)。
      4.一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的方法,其特征在于,所述閃存介質(zhì)中的所有數(shù)據(jù)塊都寫滿操作文件,其中,一個操作文件的數(shù)據(jù)量與N個數(shù)據(jù)塊的數(shù)據(jù)量總和相等,至少N個數(shù)據(jù)塊寫滿待填充的操作文件,除所述至少N個數(shù)據(jù)塊之外的其它數(shù)據(jù)塊寫滿已填充的操作文件,所述待填充的操作文件中的所有數(shù)據(jù)為隨機(jī)數(shù)據(jù),所述已填充的操作文件中的所有數(shù)據(jù)為文件數(shù)據(jù),N為非零整數(shù);所述方法包括: 上層的文件系統(tǒng)向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送刪除一個已填充的操作文件的第一刪除請求,所述第一刪除請求用于觸發(fā)驅(qū)動將所述已填充的操作文件所在的N個數(shù)據(jù)塊標(biāo)記為無用; 在刪除成功后,上層的文件系統(tǒng)向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿隨機(jī)數(shù)據(jù)的第一寫入請求,所述第一寫入請求用于觸發(fā)驅(qū)動將標(biāo)記為無用的N個數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述隨機(jī)數(shù)據(jù); 其中,所述第一刪除請求和第一寫入請求用于觸發(fā)驅(qū)動完成一次刪除操作。
      5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 上層的文件系統(tǒng)向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送刪除一個待填充的操作文件的第二刪除請求,所述第二刪除請求用于觸發(fā)驅(qū)動將所述待填充的操作文件所在的N個數(shù)據(jù)塊標(biāo)記為無用; 在刪除成功后,上層的文件系統(tǒng)向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿文件數(shù)據(jù)的第二寫入請求,所述第二寫入請求用于觸發(fā)驅(qū)動將標(biāo)記為無用的N個數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述文件數(shù)據(jù); 其中,所述第二刪除請求和第二寫入請求用于觸發(fā)驅(qū)動完成一次寫入操作。
      6.根據(jù)權(quán)利要求5所述的方法,其特征在于, 所述方法還包括: 上層的文件系統(tǒng)在向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿文件數(shù)據(jù)之前,判斷所述文件數(shù)據(jù)是否可寫滿一個操作文件,如果否,利用隨機(jī)數(shù)據(jù)對所述文件數(shù)據(jù)進(jìn)行擴(kuò)充,以使得擴(kuò)充后的所述文件數(shù)據(jù)可寫滿一個操作文件; 所述上層的文件系統(tǒng)向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿文件數(shù)據(jù)的第二寫入請求為: 上層的文件系統(tǒng)向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件文件并寫滿擴(kuò)充后的所述文件數(shù)據(jù)。
      7.—種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的裝置,其特征在于,所述閃存介質(zhì)中的所有數(shù)據(jù)塊都寫滿數(shù)據(jù),其中,至少一個數(shù)據(jù)塊寫滿隨機(jī)數(shù)據(jù),除所述至少一個數(shù)據(jù)塊以外的其它數(shù)據(jù)塊寫滿文件數(shù)據(jù);所述裝置包括: 第一刪除請求響應(yīng)單元,用于響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的刪除文件數(shù)據(jù)的第一刪除請求,將所述文件數(shù)據(jù)所在的數(shù)據(jù)塊標(biāo)記為無用; 第一寫入請求響應(yīng)單元,用于響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的寫入隨機(jī)數(shù)據(jù)的第一寫入請求,在所述閃存介質(zhì)中查找空白的數(shù)據(jù)塊或有剩余空白區(qū)域的數(shù)據(jù)塊,當(dāng)在所述閃存介質(zhì)中查找不到空白的數(shù)據(jù)塊和有剩余空白區(qū)域的數(shù)據(jù)塊時(shí),對標(biāo)記為無用的數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述隨機(jī)數(shù)據(jù); 其中,所述第一刪除請求和第一寫入請求用于觸發(fā)所述驅(qū)動完成一次刪除操作。
      8.根據(jù)權(quán)利要求7所述的裝置,其特征在于, 所述裝置還包括: 第二刪除請求響應(yīng)單元,用于響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的刪除隨機(jī)數(shù)據(jù)的第二刪除請求,將所述隨機(jī)數(shù)據(jù)所在的數(shù)據(jù)塊標(biāo)記為無用; 第二寫入請求響應(yīng)單元,用于響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的寫入文件數(shù)據(jù)的第二寫入請求,在所述閃存介質(zhì)中查找空白的數(shù)據(jù)塊或有剩余空白區(qū)域的數(shù)據(jù)塊,當(dāng)在所述閃存介質(zhì)中查找不到空白的數(shù)據(jù)塊和有剩余空白區(qū)域的數(shù)據(jù)塊時(shí),對無用的數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述文件數(shù)據(jù); 其中,所述第二刪除請求和第二寫入請求用于觸發(fā)所述驅(qū)動完成一次寫入操作。
      9.根據(jù)權(quán)利要求8所述的裝置,其特征在于, 所述裝置還包括: 數(shù)據(jù)擴(kuò)充單元,用于在向所述空白的數(shù)據(jù)塊寫滿所述文件數(shù)據(jù)之前,判斷所述文件數(shù)據(jù)是否可寫滿所述空白的數(shù)據(jù)塊,如果否,利用隨機(jī)數(shù)據(jù)對所述文件數(shù)據(jù)進(jìn)行擴(kuò)充,使擴(kuò)充后的所述文件數(shù)據(jù)可寫滿所述空白的數(shù)據(jù)塊; 則所述第二寫入請求響應(yīng)單元用于,響應(yīng)于上層的閃存介質(zhì)文件系統(tǒng)發(fā)送的寫入文件數(shù)據(jù)的第二寫入請求,在所述閃存介質(zhì)中查找空白的數(shù)據(jù)塊或有剩余空白區(qū)域的數(shù)據(jù)塊,當(dāng)在所述閃存介質(zhì)中查找不到空白的數(shù)據(jù)塊和有剩余空白區(qū)域的數(shù)據(jù)塊時(shí),對無用的數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿擴(kuò)充后的所述文件數(shù)據(jù)。
      10.一種在閃存介質(zhì)上實(shí)現(xiàn)安全刪除的裝置,其特征在于,所述閃存介質(zhì)中的所有數(shù)據(jù)塊都寫滿操作文件,其中,一個操作文件的數(shù)據(jù)量與N個數(shù)據(jù)塊的數(shù)據(jù)量總和相等,至少N個數(shù)據(jù)塊寫滿待填充的操作文件,除所述至少N個數(shù)據(jù)塊之外的其它數(shù)據(jù)塊寫滿已填充的操作文件,所述待填充的操作文件中的所有數(shù)據(jù)為隨機(jī)數(shù)據(jù),所述已填充的操作文件中的所有數(shù)據(jù)為文件數(shù)據(jù),N為非零整數(shù);所述裝置還包括: 第一刪除請求發(fā)送單元,用于向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送刪除一個已填充的操作文件的第一刪除請求,所述第一刪除請求用于觸發(fā)驅(qū)動將所述已填充的操作文件所在的N個數(shù)據(jù)塊標(biāo)記為無用; 第一寫入請求發(fā)送單元,用于在刪除成功后,向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿隨機(jī)數(shù)據(jù)的第一寫入請求,所述第一寫入請求用于觸發(fā)驅(qū)動將標(biāo)記為無用的N個數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述隨機(jī)數(shù)據(jù); 其中,所述第一刪除請求和第一寫入請求用于觸發(fā)所述驅(qū)動完成一次刪除操作。
      11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述裝置還包括: 第二刪除請求發(fā)送單元,用于向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送刪除一個待填充的操作文件的第二刪除請求,所述第二刪除請求用于觸發(fā)驅(qū)動將所述待填充的操作文件所在的N個數(shù)據(jù)塊標(biāo)記為無用; 第二寫入請求發(fā)送單元,用于在刪除成功后,向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿文件數(shù)據(jù)的第二寫入請求,所述第二寫入請求用于觸發(fā)驅(qū)動將標(biāo)記為無用的N個數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿所述文件數(shù)據(jù); 其中,所述第二刪除請求和第二寫入請求用于觸發(fā)所述驅(qū)動完成一次寫入操作。
      12.根據(jù)權(quán)利要求11所述的裝置,其特征在于, 所述裝置還包括: 文件擴(kuò)充單元,用于在向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿文件數(shù)據(jù)之前,判斷所述文件數(shù)據(jù)是否可寫滿一個操作文件,如果否,利用隨機(jī)數(shù)據(jù)對所述文件數(shù)據(jù)進(jìn)行擴(kuò)充,以使得擴(kuò)充后的所述文件數(shù)據(jù)可寫滿一個操作文件; 所述第二寫入請求發(fā)送單元用于,向下層的閃存介質(zhì)文件系統(tǒng)發(fā)送創(chuàng)建一個操作文件并寫滿擴(kuò)充后的所述文件數(shù)據(jù)的第二寫入請求,所述第二寫入請求用于觸發(fā)驅(qū)動將標(biāo)記為無用的N個數(shù)據(jù)塊進(jìn)行物理擦除,從而變?yōu)榭瞻椎臄?shù)據(jù)塊,向所述空白的數(shù)據(jù)塊寫滿擴(kuò)充后的所述文件數(shù)據(jù)。
      【文檔編號】G06F12/02GK104238961SQ201410461300
      【公開日】2014年12月24日 申請日期:2014年9月11日 優(yōu)先權(quán)日:2014年9月11日
      【發(fā)明者】馬勺布, 宮志強(qiáng) 申請人:北京元心科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1