存儲裝置制造方法
【專利摘要】本發(fā)明提供一種存儲裝置,不對主機設(shè)備實施特別的設(shè)計變更就將通用HDD更換為存儲裝置。該存儲裝置設(shè)置有判斷部和刪除部,該判斷部判斷是否從主機設(shè)備利用由接口確定的覆蓋命令指示了通過對NAND型快閃存儲器內(nèi)的特定區(qū)域覆蓋覆蓋用數(shù)據(jù)來刪除存儲于該特定區(qū)域內(nèi)的現(xiàn)有數(shù)據(jù),如果判斷部判斷為指示了對存儲于特定區(qū)域內(nèi)的現(xiàn)有數(shù)據(jù)進行刪除,則該刪除部指示對包含該特定區(qū)域的物理塊進行塊刪除,通過去除包含特定區(qū)域的物理塊的NAND型快閃存儲器的電荷來刪除現(xiàn)有數(shù)據(jù)。
【專利說明】存儲裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種具備NAND型快閃存儲器的適于用作SSD (Solid State Drive:固態(tài)驅(qū)動器)的存儲裝置。
【背景技術(shù)】
[0002]近年來,SSD與HDD (Hard Disc Drive:硬盤驅(qū)動器)相比具有訪問速度高、耗電低這樣的優(yōu)點,因此該SSD以代替HDD作為PC (Personal Computer:個人計算機)中的內(nèi)部存儲裝置的用途被采用。另外,HDD并不限于PC,也作為嵌入型設(shè)備的存儲裝置而被使用,在該嵌入型設(shè)備中也是采用SSD的例子增多。
[0003]作為這種嵌入型設(shè)備的一例,已知多功能數(shù)碼復合一體機(下面有時適當?shù)胤Q為“MFP”)。該多功能數(shù)碼復合一體機將打印機、傳真機、掃描儀、復印機等的功能集于一臺裝置。在MFP中,用戶將希望復印等的原稿置于原稿臺,利用掃描儀對位于該原稿臺的原稿進行掃描,將掃描得到的數(shù)據(jù)暫時保存在HDD等存儲裝置內(nèi)以進行之后的處理和加工,并且,基于掃描得到的數(shù)據(jù)來執(zhí)行打印、傳真發(fā)送等作業(yè)。
[0004]在這種MFP中,需要從HDD刪除結(jié)束打印等作業(yè)變?yōu)橐咽褂玫膾呙钄?shù)據(jù)以確保安全。在將HDD用作存儲裝置的以往的MFP中,例如通過覆蓋全是“O”的數(shù)據(jù)、全是“I”的數(shù)據(jù)、或者包含隨機數(shù)的具有規(guī)定模式的數(shù)據(jù)等覆蓋用數(shù)據(jù)來刪除該掃描數(shù)據(jù)。
[0005]在將裝載于MFP的HDD更換為SSD的情況下,MFP主體側(cè)通過如上所述那樣指示用覆蓋用數(shù)據(jù)覆蓋掃描數(shù)據(jù)來進行掃描數(shù)據(jù)的刪除指示。然而,SSD大多將NAND型快閃存儲器用作其存儲介質(zhì),該NAND型快閃存儲器無法進行直接的覆蓋動作,因此需要在對保存了掃描數(shù)據(jù)的塊進行刪除動作之后進行對該塊寫入覆蓋用數(shù)據(jù)這樣的耗費工時的動作。而且,NAND型快閃存儲器對于重寫次數(shù)是有一定限制的,因此也有可能會由于反復進行上述的動作導致NAND型快閃存儲器的壽命縮短。
[0006]鑒于上述問題,提出了一種從MFP主體側(cè)對SSD發(fā)出刪除命令、基于該刪除命令對保存了掃描數(shù)據(jù)的塊進行刪除動作的MFP (參照專利文獻I)。
[0007]專利文獻1:日本專利第4340327號公報
【發(fā)明內(nèi)容】
[0008]發(fā)明要解決的問題
[0009]然而,在上述以往的MFP中,由MFP主體準備針對SSD的特定塊的獨自的刪除命令,SSD接收從MFP主體送出的該刪除命令,進行對應塊的刪除動作。一般來說,在HDD中是無法進行將特定區(qū)域一并刪除的動作的,因此為了刪除數(shù)據(jù),通過將上述的覆蓋用數(shù)據(jù)覆蓋在特定區(qū)域來進行數(shù)據(jù)刪除動作。因而,在將HDD與MFP主體等主機設(shè)備進行連接的具有通用性的接口、例如ATA(AT Attachment:高級技術(shù)附件)、SCSI (Small Computer SystemInterface:小型計算機系統(tǒng)接口 )中,不準備刪除命令,而使用通常的數(shù)據(jù)寫入命令來進行覆蓋刪除。因此,在上述以往的MFP中,需要準備MFP特有的(依賴供應商的)刪除命令以進行SSD刪除動作,因而,MFP主體需要特別的設(shè)計變更。
[0010]本發(fā)明是鑒于上述問題而完成的,在于提供一種無需對主機設(shè)備實施特別的設(shè)計變更就能夠更換通用HDD的存儲裝置。
[0011]用于解決問題的方案
[0012]本發(fā)明應用于一種存儲裝置,該存儲裝置具備NAND型快閃存儲器以及控制針對該NAND型快閃存儲器的數(shù)據(jù)的寫入/讀出的控制部,經(jīng)由接口與主機設(shè)備相連接。而且,本發(fā)明在控制部中設(shè)置有:接口部,其從主機設(shè)備經(jīng)由接口與主機設(shè)備相連接;判斷部,其判斷是否從主機設(shè)備利用由接口確定的覆蓋命令指示了通過對NAND型快閃存儲器內(nèi)的特定區(qū)域覆蓋覆蓋用數(shù)據(jù)來刪除存儲于該特定區(qū)域內(nèi)的現(xiàn)有數(shù)據(jù);以及刪除部,如果判斷部判斷為指示了對存儲于特定區(qū)域內(nèi)的現(xiàn)有數(shù)據(jù)進行刪除,則該刪除部針指示對包含該特定區(qū)域的物理塊進行塊刪除,通過去除包含特定區(qū)域的物理塊的NAND型快閃存儲器的電荷來刪除現(xiàn)有數(shù)據(jù),由此達成上述目的。
[0013]當從主機設(shè)備通過與覆蓋用數(shù)據(jù)一起的覆蓋命令進行了特定區(qū)域內(nèi)的現(xiàn)有數(shù)據(jù)的刪除指示時,判斷部將上述覆蓋命令判斷為是現(xiàn)有數(shù)據(jù)刪除指示,基于該判斷部的判斷,刪除部通過去除包含特定區(qū)域的物理塊的NAND型快閃存儲器的電荷來刪除現(xiàn)有數(shù)據(jù)。僅以刪除部所進行的刪除動作來刪除存儲于NAND型快閃存儲器內(nèi)的特定區(qū)域的現(xiàn)有數(shù)據(jù)。
[0014]在此,優(yōu)選的是,NAND型快閃存儲器被分割為多個分區(qū),各個分區(qū)是從物理塊的開頭開始的。
[0015]另外,存儲裝置優(yōu)選具備存儲介質(zhì),并且,優(yōu)選在該存儲介質(zhì)中保持在指示對存儲于特定區(qū)域內(nèi)的現(xiàn)有數(shù)據(jù)進行刪除時從主機設(shè)備發(fā)送的覆蓋用數(shù)據(jù)。而且,控制部優(yōu)選還具備傳輸部,如果從主機設(shè)備指示了讀出特定區(qū)域內(nèi)的數(shù)據(jù),則該傳輸部將存儲介質(zhì)內(nèi)的覆蓋用數(shù)據(jù)經(jīng)由接口部傳輸?shù)街鳈C設(shè)備。
[0016]發(fā)明的效果
[0017]本發(fā)明的存儲裝置具備判斷部和刪除部,該判斷部判斷是否從主機設(shè)備利用由接口確定的覆蓋命令指示了通過對NAND型快閃存儲器內(nèi)的特定區(qū)域覆蓋覆蓋用數(shù)據(jù)來刪除存儲于該特定區(qū)域內(nèi)的現(xiàn)有數(shù)據(jù),如果判斷部判斷為指示了對存儲于特定區(qū)域內(nèi)的現(xiàn)有數(shù)據(jù)進行刪除,則該刪除部針對包含該特定區(qū)域的物理塊指示進行塊刪除,通過去除包含特定區(qū)域的物理塊的NAND型快閃存儲器的電荷來刪除現(xiàn)有數(shù)據(jù),因此僅以該刪除部所進行的刪除動作來刪除存儲于NAND型快閃存儲器內(nèi)的特定區(qū)域的現(xiàn)有數(shù)據(jù)。因而,根據(jù)本發(fā)明,能夠根據(jù)由接口確定的覆蓋命令來可靠地刪除現(xiàn)有數(shù)據(jù),因此能夠提供一種無需對主機設(shè)備實施特別的設(shè)計變更就能夠更換通用HDD的存儲裝置。
【專利附圖】
【附圖說明】
[0018]圖1是表示作為本發(fā)明的第一實施方式的SSD裝置的概要結(jié)構(gòu)的框圖。
[0019]圖2是表示第一實施方式的SSD裝置的功能的功能框圖。
[0020]圖3是表示第一實施方式的SSD裝置的邏輯區(qū)域、邏輯地址以及物理塊的關(guān)系的圖。
[0021]圖4是用于說明第一實施方式的SSD裝置的動作的圖。
[0022]圖5是用于說明第一實施方式的SSD裝置以及裝載有該SSD裝置的MFP的初始動作的一例的時序圖。
[0023]圖6是用于說明第一實施方式的SSD裝置以及裝載有該SSD裝置的MFP的數(shù)據(jù)寫入動作的一例的時序圖。
[0024]圖7是用于說明第一實施方式的SSD裝置以及裝載有該SSD裝置的MFP的數(shù)據(jù)刪除動作的一例的時序圖。
[0025]圖8是用于說明第一實施方式的SSD裝置以及裝載有該SSD裝置的MFP的數(shù)據(jù)寫入動作的另一例的時序圖。
[0026]圖9是用于說明第一實施方式的SSD裝置以及裝載有該SSD裝置的MFP的數(shù)據(jù)讀出動作的一例的時序圖。
[0027]圖10是用于說明第一實施方式中的模式判斷的動作的詳情的流程圖。
[0028]圖11是用于說明第一實施方式中的分區(qū)區(qū)域分配的概要的圖。
[0029]圖12是用于說明第一實施方式的SSD裝置以及裝載有該SSD裝置的MFP的分區(qū)更新動作的一例的時序圖。
[0030]圖13是用于說明第一實施方式的SSD裝置以及裝載有該SSD裝置的MFP的數(shù)據(jù)寫入動作的又一例的時序圖。
[0031]圖14是用于說明作為本發(fā)明的第二實施方式的SSD裝置中的模式判斷的動作的詳情的流程圖。
[0032]圖15是用于說明作為本發(fā)明的第三實施方式的SSD裝置中的模式判斷的動作的詳情的流程圖。
[0033]圖16是用于說明作為本發(fā)明的第四實施方式的SSD裝置中的模式判斷的動作的詳情的流程圖。
[0034]圖17是用于說明作為本發(fā)明的第五實施方式的SSD裝置中的模式判斷的動作的詳情的流程圖。
[0035]附圖標記說明
[0036]10 =SSD 裝置;11:控制器;12:RAM ; 12a:覆蓋用數(shù)據(jù);12b:轉(zhuǎn)換表;13 =ROM ;14:快閃存儲器;15 =CPU ;16:主機接口 ;17:閃存接口 ;18:RAM接口 ;19:R0M接口 ;20:主機設(shè)備;40:控制部;41:存儲介質(zhì);42:接口部;43:判斷部;44:刪除部;45:傳輸部。
【具體實施方式】
[0037](第一實施方式)
[0038]下面,參照附圖來說明本發(fā)明的實施方式。
[0039]圖1是表示將本發(fā)明的存儲裝置應用于SSD裝置的第一實施方式的概要結(jié)構(gòu)的框圖,圖2是表示第一實施方式的SSD裝置的功能的功能框圖。
[0040](SSD裝置的概要結(jié)構(gòu))
[0041]在這些圖中,10是作為第一實施方式的SSD裝置,該SSD裝置10具備控制器11、RAM (Random Access Memory:隨機存取存儲器)12、ROM (Read Only Memory:只讀存儲器)13以及快閃存儲器14。本實施方式的SSD裝置10例如在本實施方式中與作為MFP的主機設(shè)備20相連接,根據(jù)來自主機設(shè)備20的寫入指令來保存規(guī)定的數(shù)據(jù),另外,根據(jù)讀出指令來送出所保存的規(guī)定的數(shù)據(jù)。[0042]控制器11進行SSD裝置10整體的控制,具備CPU (Central Processing Unit:中央處理單元)15、主機接口(I/F)16、閃存接口(I/F)17、RAM接口(I/F) 18以及ROM接口(I/F)19。[0043]CPU15在接通電源時將保存在R0M13內(nèi)的固件在RAM12中展開,通過執(zhí)行該固件來進行控制器11乃至SSD裝置10的控制,并且,該CPU15具備圖2所示的各功能部所示的功能。圖2所示的各功能部在后面敘述。主機I//F16經(jīng)由規(guī)定的外部接口與主機設(shè)備20相連接,在CPU15的控制下,遵循由外部接口規(guī)定的協(xié)議、命令與該主機設(shè)備20之間發(fā)送接收數(shù)據(jù)。在本實施方式中,主機I//F16與主機設(shè)備20通過多用于HDD等的具有通用性的接口、例如ATA、SCSI進行連接。閃存I/F17與快閃存儲器14相連接,在CPU15的控制下對該快閃存儲器14進行數(shù)據(jù)的寫入/讀出動作。RAM I/F18與RAM12相連接,在CPU15的控制下對該RAM12進行數(shù)據(jù)的寫入/讀出動作。ROM I/F19與R0M13相連接,在CPU15的控制下對該R0M13進行數(shù)據(jù)的讀出動作。
[0044]RAMl2被用作控制器11的工作存儲器,暫時保存各種數(shù)據(jù)。另外,該RAM12中保存有從主機設(shè)備20送出的用于刪除位于快閃存儲器14的特定區(qū)域的掃描數(shù)據(jù)的覆蓋用數(shù)據(jù)12a,并且保存有描述了快閃存儲器14的邏輯地址與物理塊的對應關(guān)系的邏輯地址-物理塊轉(zhuǎn)換表12b。主機設(shè)備20使用哪種覆蓋用數(shù)據(jù)來指令覆蓋刪除是由主機設(shè)備20唯一地決定的,因此在SSD裝置10啟動時,由CPU15生成與從主機設(shè)備20送出的覆蓋用數(shù)據(jù)模式相同的覆蓋用數(shù)據(jù)12a,并保存在RAM12內(nèi)。另外,轉(zhuǎn)換表12b的詳情在后面敘述。R0M13中如上所述那樣保存有進行SSD裝置10的控制的固件。
[0045](快閃存儲器的邏輯區(qū)域等)
[0046]快閃存儲器14在本實施例中為NAND型快閃存儲器。該快閃存儲器14具有如圖3所示的邏輯區(qū)域、邏輯地址以及物理塊。下面,參照圖3來說明快閃存儲器14的邏輯區(qū)域、邏輯地址以及物理塊。
[0047]如圖3所示,本實施方式的快閃存儲器14的邏輯區(qū)域被分割為MBR(主引導記錄:Master Boot Record) 30和分區(qū)A31~C33。在本實施方式中,分區(qū)A31中保存有進行主機設(shè)備20整體的控制的操作系統(tǒng)(OS) 310,分區(qū)B32中保存有用于執(zhí)行主機設(shè)備20的各種動作的應用程序320,分區(qū)C中保存有在主機設(shè)備20的各種動作時暫時使用的數(shù)據(jù)。保存于分區(qū)C的數(shù)據(jù)中包含由主機設(shè)備20掃描得到的掃描數(shù)據(jù)(現(xiàn)有數(shù)據(jù))330。另外,在本實施方式中,MBR30和分區(qū)A31、B32被設(shè)為即使存在來自主機設(shè)備20的刪除指令也拒絕刪除動作的非Erase (擦除)區(qū)域,分區(qū)C33被設(shè)為能夠根據(jù)來自主機設(shè)備的刪除指令進行刪除的Erase (擦除)區(qū)域。此外,在本說明書中,“分區(qū)(partition) ”不僅包括由主機設(shè)備20的0S310進行管理并記載于MBR30的邏輯地址的分割,還包括不由0S310進行管理的由主機設(shè)備20的應用程序320根據(jù)數(shù)據(jù)的種類對寫入目的地邏輯地址進行區(qū)別的寫入?yún)^(qū)域的分割。
[0048]MBR30中保存有分區(qū)表30a和引導加載程序(boot loader) 30b?分區(qū)表30a中保存有與快閃存儲器14的分區(qū)有關(guān)的信息,具體地說,按每個分區(qū)保存有分區(qū)的位置信息(開始扇區(qū)地址、結(jié)束扇區(qū)地址)、種類、大小。
[0049]引導加載程序30b是在SSD裝置10啟動時最初讀入的代碼。具體地說,當對主機設(shè)備20接通電源時,主機設(shè)備20所具備的未圖示的啟動程式(Bootstrap)被啟動,該啟動程式將快閃存儲器14內(nèi)的MBR(分區(qū)表30a和引導加載程序30b)讀出到主機設(shè)備20側(cè)。然后,引導加載程序30b基于記載于分區(qū)表30a的信息,讀出保存在分區(qū)A31中的操作系統(tǒng)310,送出到主機設(shè)備20。主機設(shè)備20將該操作系統(tǒng)310在未圖示的存儲器內(nèi)展開,以后通過該操作系統(tǒng)310進行主機設(shè)備20整體的控制。此處,分區(qū)是指將快閃存儲器14所具有的邏輯地址分割為多個區(qū)域時的一個區(qū)域,從主機設(shè)備20將各分區(qū)識別為一個邏輯驅(qū)動器。這種分區(qū)與HDD中的分區(qū)概念相同。
[0050]另外,在本實施方式中,通過邏輯地址(LBA:Logical Block Addressing)和物理塊來掌握快閃存儲器14內(nèi)的空間,主機設(shè)備20能夠通過直接指定該邏輯地址來進行針對特定區(qū)域的數(shù)據(jù)訪問。當由主機設(shè)備20直接指定邏輯地址時,控制器11參照保存在RAM13內(nèi)的邏輯地址-物理塊轉(zhuǎn)換表12b,確定實際要訪問的物理塊,對該物理塊進行訪問。
[0051]此外,在本實施方式中,對分區(qū)A31?C33進行設(shè)定,使得對于MBR30和分區(qū)A31、B32,邏輯地址和物理塊被分配大致相同的區(qū)域,另一方面,對于分區(qū)C33,物理塊的區(qū)域比邏輯地址的區(qū)域小。
[0052]另外,雖然在圖3中沒有進行圖示,但是在本實施方式的快閃存儲器14中,一個物理塊具有多個頁,數(shù)據(jù)的寫入動作是以頁為單位進行的,數(shù)據(jù)的刪除動作是以塊為單位進行的。另外,各頁由多個扇區(qū)構(gòu)成。
[0053](SSD裝置的功能結(jié)構(gòu))
[0054]接著,圖2是表示本實施方式的SSD裝置10的功能的框圖。本實施方式的SSD裝置10具備控制部40、快閃存儲器14以及存儲介質(zhì)41。
[0055]控制部40用于控制針對快閃存儲器14的數(shù)據(jù)的讀出/寫入,具備接口部42、判斷部43、刪除部44以及傳輸部45。接口部42經(jīng)由具有通用性的接口、例如ATA、SCSI與主機設(shè)備20相連接,遵循由外部接口規(guī)定的協(xié)議、命令與主機設(shè)備20之間發(fā)送接收數(shù)據(jù)。判斷部43根據(jù)由接口部42接收到的命令,在該命令為覆蓋命令的情況下,判斷是否從主機設(shè)備20指示了刪除存儲在快閃存儲器14內(nèi)的特定區(qū)域內(nèi)的現(xiàn)有數(shù)據(jù)。在通過判斷部43判斷為從主機設(shè)備20指示了刪除存儲在快閃存儲器14內(nèi)的特定區(qū)域內(nèi)的現(xiàn)有數(shù)據(jù)時,刪除部44指示對包含該特定區(qū)域的物理塊進行塊刪除,通過去除包含特定區(qū)域的物理塊的快閃存儲器14的電荷來刪除數(shù)據(jù)。
[0056]另外,存儲介質(zhì)41中保持有與從主機設(shè)備20發(fā)送的覆蓋用數(shù)據(jù)模式相同的覆蓋用數(shù)據(jù)12a(參照圖1)。如果從主機設(shè)備20指示了讀出快閃存儲器14的特定區(qū)域內(nèi)的數(shù)據(jù),則傳輸部45將存儲介質(zhì)41內(nèi)的覆蓋用數(shù)據(jù)12a經(jīng)由接口部42傳輸?shù)街鳈C設(shè)備20。
[0057]在以上的說明中,通過控制器11、特別是CPU15的動作來實現(xiàn)控制部40,通過RAMl2來實現(xiàn)存儲介質(zhì)41,通過主機I//F16和CPU15來實現(xiàn)接口部42,通過CPU15來實現(xiàn)判斷部43,通過閃存I/F17和CPU15來實現(xiàn)刪除部44,通過主機I/F16和CPU15來實現(xiàn)傳輸部45。
[0058](SSD裝置的動作的概要)
[0059]接著,參照圖4來說明本實施方式的SSD裝置10的動作的概要。在本實施方式的SSD裝置10中,首先,從主機設(shè)備20進行以下指示:將掃描數(shù)據(jù)寫入到快閃存儲器14內(nèi)的由特定的邏輯地址指定的特定區(qū)域51。在具有通用性的接口中,通過發(fā)出準備用來數(shù)據(jù)寫入的寫(Write)命令(Program命令)來進行該寫入指示。[0060]接著,以在主機設(shè)備20中利用掃描數(shù)據(jù)的作業(yè)結(jié)束為觸發(fā),該主機設(shè)備20進行以下指示:刪除存在于快閃存儲器14內(nèi)的特定區(qū)域51的掃描數(shù)據(jù)。如上所述,在具有通用性的接口中,并未準備直接刪除數(shù)據(jù)的命令,因此主機設(shè)備20通過Write命令來對該特定區(qū)域51進行掃描數(shù)據(jù)刪除指示,該Write命令是覆蓋掃描數(shù)據(jù)刪除用的覆蓋用數(shù)據(jù)(在具有通用性的接口中大多不存在消除(刪除)這樣的特別的命令,因此單純寫入數(shù)據(jù))的命令。
[0061]SSD裝置10當檢測到從主機設(shè)備20進行了掃描數(shù)據(jù)刪除用的覆蓋用數(shù)據(jù)的寫入指示時,判斷并解釋為上述寫入指示是掃描數(shù)據(jù)的刪除指示,對快閃存儲器14的包含特定區(qū)域51的物理塊進行刪除動作。以此同時,SSD裝置10對轉(zhuǎn)換表12b進行更新,將進行了刪除動作的特定區(qū)域51的邏輯地址與物理塊的對應變更為邏輯地址與RAM12內(nèi)的保存覆蓋用數(shù)據(jù)12a的地址。此處,通過判斷Write命令是否到來以及被指示寫入的數(shù)據(jù)是否為覆蓋用數(shù)據(jù)、例如全部為“O”的數(shù)據(jù)、全部為“ I”的數(shù)據(jù)、或者包含隨機數(shù)的具有規(guī)定模式的數(shù)據(jù),來進行是否為掃描數(shù)據(jù)的刪除指示的判斷。上述判斷的詳情在后面敘述。另外,通過從電荷層對構(gòu)成特定的物理塊的多個單體(cell)去除電荷來進行NAND型快閃存儲器14中的刪除動作。
[0062]并且,主機設(shè)備20在進行了上述掃描數(shù)據(jù)刪除指示之后,有時會在確認是否已可靠地刪除了保存于快閃存儲器14的特定區(qū)域51的掃描數(shù)據(jù)的目的下,通過讀(Read)命令來進行在該時間點保存于該特定區(qū)域51的數(shù)據(jù)的讀出指示。SSD裝置10當檢測到從主機設(shè)備20進行了上述數(shù)據(jù)讀出指示時,參照轉(zhuǎn)換表12b來從RAM12讀出覆蓋用數(shù)據(jù)12a,將該覆蓋用數(shù)據(jù)12a送出到主機設(shè)備20。主機設(shè)備20利用邏輯地址來指定特定區(qū)域51,因此如上所述那樣利用刪除動作對轉(zhuǎn)換表12b進行更新,由此與該邏輯地址對應的是保存覆蓋用數(shù)據(jù)12a的RAM12的地址。因而,SSD裝置10只要參照轉(zhuǎn)換表12b,就能夠訪問RAM12的覆蓋用數(shù)據(jù)12a,讀出該覆蓋用數(shù)據(jù)12a并送出到主機設(shè)備20。
[0063](SSD裝置的動作)
[0064]接著,參照圖5?圖9的時序圖和圖10的流程圖來說明圖4中示出了概要的本實施方式的SSD裝置10的動作。此外,在圖5?圖10的說明中,設(shè)SSD裝置10與主機設(shè)備20是通過具有通用性的接口中的ATA接口相互連接的。
[0065]圖5是用于說明包括SSD裝置10的主機設(shè)備20啟動時的SSD裝置10與主機設(shè)備20之間的數(shù)據(jù)發(fā)送接收以及SSD裝置10的動作的時序圖。首先,在步驟SI中,主機設(shè)備20為了獲取作為ATA設(shè)備的SSD裝置10的模型名、對應傳輸模式之類的ATA設(shè)備所固有的信息,而發(fā)送向SSD裝置10請求這些信息的命令(Identify Device命令:識別設(shè)備命令)。當在步驟SI中接口部42接收到Identify Device命令時,SSD裝置10的控制部40在步驟S2中經(jīng)由接口部42將自身的信息返送給主機設(shè)備20。接著,主機設(shè)備20在步驟S3中向SSD裝置10請求送出上述MBR。當接口部42接收到上述請求時,SSD裝置10的控制部40在步驟S4中向快閃存儲器14請求讀出保存于該快閃存儲器14的MBR30 (參照圖3)。在步驟S5中,控制部40從快閃存儲器14接收MBR30的數(shù)據(jù)。在步驟S6中,控制部40對從快閃存儲器14接收到的MBR30進行分析,獲取Erase區(qū)域(如圖3所示,在本實施方式中為分區(qū)C33)的LBA,提取出Erase區(qū)域的開始邏輯地址和結(jié)束邏輯地址。在步驟S7中,控制部40將Erase區(qū)域(分區(qū)C33)的開始邏輯地址和結(jié)束邏輯地址寫入到RAM12內(nèi)。然后,在步驟S8中,控制部40經(jīng)由接口部42將在步驟S5中獲取到的MBR的數(shù)據(jù)送出到主機設(shè)備20。
[0066]接著,圖6是用于說明向快閃存儲器14的非Erase區(qū)域?qū)懭霐?shù)據(jù)時的SSD裝置10與主機設(shè)備20之間的數(shù)據(jù)發(fā)送接收和SSD裝置10的動作的時序圖。首先,在步驟SlO中,從主機設(shè)備20對SSD裝置10指定要寫入數(shù)據(jù)的邏輯地址來進行寫入指令。當接口部42接收到上述指令時,SSD裝置10的控制部40在步驟Sll中參照通過圖5的步驟S6寫入RAM12內(nèi)的Erase區(qū)域的開始邏輯地址等,判斷要寫入數(shù)據(jù)的邏輯地址是否存在于Erase區(qū)域。在圖6所示的例子中,要寫入數(shù)據(jù)的邏輯地址位于非Erase區(qū)域(如圖3所示,在本實施方式中為分區(qū)A31、B32中的任一個),因此在步驟Sll中判斷為不是Erase區(qū)域。接著,在步驟S12中,控制部40經(jīng)由接口部42對主機設(shè)備20通知以下的意思:寫入動作的準備已完成。在步驟S13中,主機設(shè)備20將要寫入的數(shù)據(jù)送出到SSD裝置10,因此,在步驟S14中,由接口部42接收該要寫入的數(shù)據(jù),控制部40對快閃存儲器14寫入從主機設(shè)備20送出的數(shù)據(jù)。如上所述,寫入了該數(shù)據(jù)的區(qū)域為非Erase區(qū)域(分區(qū)A31、B32中的任一個)。在步驟S15中,從快閃存儲器14對控制部40進行數(shù)據(jù)寫入完成通知,控制部40接收該通知,在步驟S16中經(jīng)由接口部42向主機設(shè)備20送出數(shù)據(jù)寫入完成通知。
[0067]接著,圖7是用于說明在進行保存于快閃存儲器14的Erase區(qū)域的特定區(qū)域51的掃描數(shù)據(jù)330 (參照圖3)的覆蓋刪除動作時的SSD裝置10與主機設(shè)備20之間的數(shù)據(jù)發(fā)送接收和SSD裝置10的動作的時序圖。首先,在步驟S20中,從主機設(shè)備20對SSD裝置10指定要寫入數(shù)據(jù)的邏輯地址、在這種情況下指定掃描數(shù)據(jù)330所存在的特定區(qū)域51的地址來進行覆蓋指令。關(guān)于SSD裝置10的控制部40,在步驟S21中由接口部42接收上述覆蓋指令,接著控制部40參照通過圖5的步驟S6寫入RAM12內(nèi)的Erase區(qū)域的開始邏輯地址等,判斷要覆蓋數(shù)據(jù)的邏輯地址是否存在于Erase區(qū)域。在圖7所示的例子中,要寫入數(shù)據(jù)的邏輯地址位于Erase區(qū)域(如圖3所示,在本實施方式中為分區(qū)C33),因此在步驟S21中判斷為是Erase區(qū)域。接著,在步驟S22中,控制部40經(jīng)由接口部42對主機設(shè)備20通知以下的意思:寫入動作的準備已完成。在步驟S23中,主機設(shè)備20將覆蓋用數(shù)據(jù)送出到SSD裝置10。在步驟S24中,控制部40的判斷部43判斷從主機設(shè)備20送出而由接口部42接收的數(shù)據(jù)是否為覆蓋用數(shù)據(jù)。該是否為覆蓋用數(shù)據(jù)的判斷的詳細例程在后面敘述。在圖7所示的例子中,從主機設(shè)備20送出的寫入用數(shù)據(jù)是用于刪除掃描數(shù)據(jù)330的覆蓋用數(shù)據(jù),因此在步驟S24中判斷為是覆蓋用數(shù)據(jù)。接著,在步驟S25中,控制部40的刪除部44對包含特定區(qū)域51的物理塊進行刪除指示,并且在步驟S26中,控制部40將從主機設(shè)備20送出的覆蓋用數(shù)據(jù)12a (參照圖1)保存到RAM12,在步驟S27中,控制部40對RAM12內(nèi)的轉(zhuǎn)換表12b(參照圖1)進行更新,將與進行了刪除指示的特定區(qū)域51的邏輯地址對應的目的地地址從進行了刪除動作的物理塊變更為保存有覆蓋用數(shù)據(jù)12a的RAM12的地址。在步驟S28中,從快閃存儲器14對控制部40進行刪除動作完成通知,控制部40接收該通知,在步驟S29中經(jīng)由接口部42向主機設(shè)備20送出數(shù)據(jù)寫入完成通知。
[0068]接著,圖8是用于說明向快閃存儲器14的Erase區(qū)域?qū)懭霐?shù)據(jù)時的SSD裝置10與主機設(shè)備20之間的數(shù)據(jù)發(fā)送接收和SSD裝置10的動作的時序圖。首先,在步驟S30中,從主機設(shè)備20對SSD裝置10指定要寫入數(shù)據(jù)的邏輯地址、在這種情況下指定掃描數(shù)據(jù)330所存在的特定區(qū)域51的地址來進行寫入指令。關(guān)于SSD裝置10的控制部40,在步驟S31中,由接口部42接收上述寫入指令,接著,控制部40參照通過圖5的步驟S6寫入了 RAM12內(nèi)的Erase區(qū)域的開始邏輯地址等,判斷要寫入數(shù)據(jù)的邏輯地址是否存在于Erase區(qū)域。在圖8所示的例子中,要寫入數(shù)據(jù)的邏輯地址位于Erase區(qū)域(分區(qū)C33),因此在步驟S31中判斷為是Erase區(qū)域。接著,在步驟S32中,控制部40經(jīng)由接口部42對主機設(shè)備20通知以下的意思:寫入動作的準備已完成。在步驟S33中,主機設(shè)備20將寫入用數(shù)據(jù)送出到SSD裝置10。在步驟S34中,控制部40的判斷部43判斷從主機設(shè)備20送出而由接口部42接收的數(shù)據(jù)是否為覆蓋用數(shù)據(jù)。在圖8所示的例子中,從主機設(shè)備20送出的寫入用數(shù)據(jù)是寫入用數(shù)據(jù),因此在步驟S34中判斷為不是覆蓋用數(shù)據(jù)。在步驟S35中,控制部40對快閃存儲器14的Erase區(qū)域(分區(qū)C33)寫入從主機設(shè)備20送出的數(shù)據(jù)。在步驟S36中,從快閃存儲器14對控制部40進行數(shù)據(jù)寫入完成通知,控制部40接收該通知,在步驟S37中經(jīng)由接口部42向主機設(shè)備20送出數(shù)據(jù)寫入完成通知。
[0069]接著,圖9是用于說明在進行了保存于快閃存儲器14的Erase區(qū)域的特定區(qū)域51的掃描數(shù)據(jù)330(參照圖3)的覆蓋刪除動作之后、為了確認是否正確地對掃描數(shù)據(jù)330進行了覆蓋刪除而由主機設(shè)備20讀出該特定區(qū)域51中當前所保存的數(shù)據(jù)時的SSD裝置10與主機設(shè)備20之間的數(shù)據(jù)發(fā)送接收和SSD裝置10的動作的時序圖。首先,在步驟S40中,從主機設(shè)備20對SSD裝置10指定掃描數(shù)據(jù)330所存在的特定區(qū)域51的邏輯地址來進行數(shù)據(jù)讀出指令。關(guān)于SSD裝置10的控制部40,在步驟S41中,由接口部42接收上述讀出指令,接著,控制部40參照RAM12內(nèi)的轉(zhuǎn)換表12b,確定與由主機設(shè)備20指定的邏輯地址對應的實際要讀出的區(qū)域。在圖9所示的例子中,主機設(shè)備20指定掃描數(shù)據(jù)330所存在的特定區(qū)域51的邏輯地址,與該邏輯地址對應的是如上所述那樣保存于RAM12的覆蓋用數(shù)據(jù)12a的地址。因而,在步驟S42中,控制部40的傳輸部45從RAM12讀出在圖7的步驟S26中保存在RAM12內(nèi)的覆蓋用數(shù)據(jù)12a,在步驟S43中,該覆蓋用數(shù)據(jù)12a被從RAM12送出到控制部40。在步驟S44中,控制部40經(jīng)由接口部42將該覆蓋用數(shù)據(jù)12a送出到主機設(shè)備20。
[0070]接著,圖10是用于說明在圖7的步驟S24等中進行的由判斷部43實施的是否為覆蓋用數(shù)據(jù)的判斷例程的流程圖。在圖10的說明中,設(shè)從主機設(shè)備20送出的覆蓋用數(shù)據(jù)是全為“O”的數(shù)據(jù)。首先,在步驟SlOO中,獲取從主機設(shè)備20傳輸(送出)來的數(shù)據(jù)的字節(jié)數(shù)。接著,在步驟SlOl中,變量C被初始化,其值被設(shè)為O。在步驟S102中,判斷該變量C是否小于傳輸字節(jié)數(shù),在變量C小于傳輸字節(jié)數(shù)(步驟S102中:“是”)時進入步驟S103,在變量C大于等于傳輸字節(jié)數(shù)(步驟S102中:“否”)時進入步驟S105。在步驟S103中,判斷傳輸來的數(shù)據(jù)是否為“O”(在圖10中為16進制表示的“0x00”),在傳輸來的數(shù)據(jù)為“O”(步驟S103中:“是”)的情況下進入步驟S104,在傳輸來的數(shù)據(jù)不為“O”的情況下進入步驟S105。在步驟S104中,變量C自加1,讀入下一個傳輸數(shù)據(jù)。在步驟S105中,判斷變量C是否與傳輸字節(jié)數(shù)相等,在變量C與傳輸字節(jié)數(shù)相等(步驟S105中:“是”)的情況下進入步驟S106,判斷為從主機設(shè)備20傳輸、送出的數(shù)據(jù)是覆蓋用數(shù)據(jù),對快閃存儲器14指示刪除動作。另一方面,在變量C與傳輸字節(jié)數(shù)不相等(步驟S105中:“否”)的情況下進入步驟S107,判斷為是通常的數(shù)據(jù)寫入,對快閃存儲器14指示寫入數(shù)據(jù)。這樣,在圖10的例程中,針對各個數(shù)據(jù)進行是否為“O”的判斷,在所有數(shù)據(jù)均為“O”時,判斷為從主機設(shè)備20傳輸、送出的數(shù)據(jù)是覆蓋用數(shù)據(jù)。
[0071](第一實施方式的效果)
[0072]如以上所詳細說明的那樣,本實施方式的SSD裝置10能夠判斷出從主機設(shè)備20送出了用于刪除存在于快閃存儲器14的特定區(qū)域51的掃描數(shù)據(jù)330的覆蓋用數(shù)據(jù)12a,代替該覆蓋用數(shù)據(jù)12a對包含特定區(qū)域51的物理塊51進行刪除指示,由此刪除該掃描數(shù)據(jù)330。因而,快閃存儲器14僅需進行一次動作就能夠可靠地刪除掃描數(shù)據(jù)330。
[0073]除此以外,在本實施方式的SSD裝置10中,如果主機設(shè)備20將遵循ATA接口等具有通用性的接口的覆蓋指示命令(Write命令等)和覆蓋用數(shù)據(jù)12a送出到SSD裝置10,則由SSD裝置10判斷是否為覆蓋刪除指示,在判斷為是覆蓋刪除指示的情況下對快閃存儲器14指示刪除動作,因此無需如上述以往的MFP那樣準備遵循供應商的特殊命令。由此,能夠提供無需對主機設(shè)備20實施特別的設(shè)計變更就能夠更換通用HDD的SSD裝置10。
[0074]并且,在本實施方式的SSD裝置10中,將從主機設(shè)備20送出的覆蓋用數(shù)據(jù)12a保存在RAM內(nèi),根據(jù)來自主機設(shè)備20的讀出指示送出該覆蓋用數(shù)據(jù)12a,因此即使由SSD裝置10對快閃存儲器14的特定區(qū)域51進行刪除動作,也能夠充分應對由主機設(shè)備20進行的數(shù)據(jù)刪除確認動作。
[0075]另外,如圖3所示,在本實施方式的SSD裝置10中,對各分區(qū)A31?C33進行設(shè)定,使得對于作為非Erase區(qū)域的分區(qū)A31、B32,邏輯地址和物理塊被分配大致相同的區(qū)域,另一方面,對于作為Erase區(qū)域的分區(qū)C33,物理塊的區(qū)域比邏輯地址小。因而,從主機設(shè)備20掌握的SSD裝置10的容量是所分配的與邏輯地址對應的容量,另一方面,實際的SSD裝置10的容量是與物理塊對應的容量,能夠削減該部分的SSD裝置10的容量。
[0076]而且,這樣,即使實際的SSD裝置10的容量小于與邏輯地址對應的容量,也如上所述那樣將覆蓋用數(shù)據(jù)12a保管在RAM12內(nèi),因此即使從主機設(shè)備20發(fā)來用于數(shù)據(jù)刪除確認的數(shù)據(jù)讀出指令,也只要將該覆蓋用數(shù)據(jù)12a送出到主機設(shè)備20即可,能夠緊接在刪除動作之后釋放保存掃描數(shù)據(jù)330的區(qū)域,從而能夠立即寫入新的掃描數(shù)據(jù)330。通過這種動作,能夠高效運用作為Erase區(qū)域的分區(qū)C33,即使對于分區(qū)C33而言物理塊的區(qū)域比邏輯地址小也能夠順暢地動作。
[0077](第一實施方式中的分區(qū)更新動作的概要)
[0078]在本實施方式的SSD裝置10中,分區(qū)更新動作也存在特征。下面,參照圖11?圖13來說明本實施方式的SSD裝置10中的分區(qū)更新動作。
[0079]圖11是說明本實施方式的SSD裝置10中的分區(qū)更新動作的概要的圖。通常,在分區(qū)更新動作中,根據(jù)邏輯地址對各分區(qū)進行分配,對根據(jù)上述的轉(zhuǎn)換表12b確定的物理塊進行實際的數(shù)據(jù)寫入/讀出動作。在此,例如能夠以扇區(qū)為單位來對各分區(qū)的區(qū)域進行設(shè)定。因而,當以物理塊為單位來看時,有可能會如圖11所示那樣分區(qū)的邊界位于物理塊之中。在本實施方式的SSD裝置10中,在如圖11所示那樣分區(qū)的邊界位于物理塊之中的情況下,將下一個分區(qū)的開始位置設(shè)為下一個物理塊的開頭。
[0080]考慮以下的情況:假如如圖11所示那樣,非Erase區(qū)域的分區(qū)與Erase區(qū)域的分區(qū)相鄰,而且分區(qū)的邊界存在于物理塊之中。當如本實施方式那樣對快閃存儲器14的物理塊進行刪除指示時,由于以塊為單位來進行刪除動作,因此需要進行以下的麻煩動作:使分區(qū)邊界所存在的物理塊中的位于存在于非Erase區(qū)域中的部分的數(shù)據(jù)(與該處是否寫入有數(shù)據(jù)無關(guān))暫時避讓,在對該物理塊進行刪除指示之后,再次寫入所避讓的數(shù)據(jù)。該動作會導致消耗快閃存儲器14的重寫次數(shù)。
[0081]另一方面,根據(jù)本實施方式的SSD裝置10,分區(qū)的開始位置必須為物理塊的開頭,因此無需進行上述的數(shù)據(jù)避讓作業(yè)就能夠?qū)ξ锢韷K進行刪除指示,從而能夠抑制消耗快閃存儲器14的重寫次數(shù)的情況。
[0082](第一實施方式中的分區(qū)更新動作)
[0083]圖12是用于說明分區(qū)更新動作時的SSD裝置10與主機設(shè)備20之間的數(shù)據(jù)發(fā)送接收和SSD裝置10的動作的時序圖。首先,在步驟SllO中,主機設(shè)備20進行更新保存于快閃存儲器14內(nèi)的MBR的指示,以進行分區(qū)更新動作。SSD裝置10的控制部40在步驟Slll中向主機設(shè)備20通知MBR更新作業(yè)的準備已完成,主機設(shè)備20接收步驟Slll中的MBR更新作業(yè)的準備已完成的通知,在步驟S112中發(fā)送MBR更新用的數(shù)據(jù)。接著,在步驟S113中,控制部40對在步驟S112中從主機設(shè)備20送出的MBR進行分析,獲取Erase區(qū)域(分區(qū)C33)的LBA,提取Erase區(qū)域的開始邏輯地址和結(jié)束邏輯地址,并且掌握存在于非Erase區(qū)域的分區(qū)的邊界與Erase區(qū)域的分區(qū)的開始位置之間的邏輯地址。在步驟S114中,控制部40對快閃存儲器14的MBR進行更新。在步驟S115中,從快閃存儲器14對控制部40進行向MBR的更新數(shù)據(jù)寫入完成通知,控制部40接收該通知,在步驟S116中將MBR寫入完成通知送出到主機設(shè)備20。
[0084]接著,圖13是用于說明對圖11所示的分區(qū)的邊界與下一個分區(qū)的開始位置之間的邏輯地址進行數(shù)據(jù)的寫入/讀出指示時的SSD裝置10與主機設(shè)備20之間的數(shù)據(jù)發(fā)送接收和SSD裝置10的動作的時序圖。首先,在步驟S120中,從主機設(shè)備20對SSD裝置10指定要寫入數(shù)據(jù)的邏輯地址來進行寫入指令。在步驟S120中由主機設(shè)備20指定的要寫入數(shù)據(jù)的邏輯地址與非Erase區(qū)域的分區(qū)的邊界與下一個Erase區(qū)域的分區(qū)的開始位置之間的邏輯地址對應。SSD裝置10的控制部40在步驟S121中,基于在圖12的步驟S113中進行的MBR分析而得到的結(jié)果,判斷要寫入數(shù)據(jù)的邏輯地址是否為存在于非Erase區(qū)域的分區(qū)的邊界與Erase區(qū)域的分區(qū)的開始位置之間的邏輯地址。在圖13所示的例子中,要寫入數(shù)據(jù)的區(qū)域是存在于非Erase區(qū)域的分區(qū)的邊界與Erase區(qū)域的分區(qū)的開始位置之間的邏輯地址,因此在步驟S121中,判斷為是存在于非Erase區(qū)域的分區(qū)的邊界與Erase區(qū)域的分區(qū)的開始位置之間的邏輯地址。接著,在步驟S122中,控制部40在將邏輯地址偏移存在于非Erase區(qū)域的分區(qū)的邊界與Erase區(qū)域的分區(qū)的開始位置之間的邏輯地址的量所得的快閃存儲器14的區(qū)域中寫入從主機設(shè)備20送出的數(shù)據(jù)。此處所說的偏移意味著:在具有前進了存在于非Erase區(qū)域的分區(qū)的邊界與Erase區(qū)域的分區(qū)的開始位置之間的邏輯地址的量所得的值(大了存在于非Erase區(qū)域的分區(qū)的邊界與Erase區(qū)域的分區(qū)的開始位置之間的邏輯地址的量的值)的邏輯地址的位置處寫入或讀出數(shù)據(jù)。在步驟S123中,從快閃存儲器14對控制部40進行數(shù)據(jù)寫入完成通知,控制部40接收該通知,在步驟S124中向主機設(shè)備20送出數(shù)據(jù)寫入完成通知。
[0085]接著,在步驟S125中,從主機設(shè)備20對SSD裝置10指定要讀出數(shù)據(jù)的邏輯地址來進行讀出指令。在步驟S125中由主機設(shè)備20指定的要讀出數(shù)據(jù)的邏輯地址與非Erase區(qū)域的分區(qū)的邊界與下一個Erase區(qū)域的分區(qū)的開始位置之間的邏輯地址對應。SSD裝置10的控制部40在步驟S126中,判斷要讀出數(shù)據(jù)的邏輯地址是否為存在于非Erase區(qū)域的分區(qū)的邊界與Erase區(qū)域的分區(qū)的開始位置之間的邏輯地址。在圖13所示的例子中,要讀出數(shù)據(jù)的區(qū)域是存在于非Erase區(qū)域的分區(qū)的邊界與Erase區(qū)域的分區(qū)的開始位置之間的邏輯地址,因此在步驟S126中,判斷為是存在于非Erase區(qū)域的分區(qū)的邊界與Erase區(qū)域的分區(qū)的開始位置之間的邏輯地址。接著,在步驟S127中,控制部40讀出位于將邏輯地址偏移了存在于非Erase區(qū)域的分區(qū)的邊界與Erase區(qū)域的分區(qū)的開始位置之間的邏輯地址的量所得的快閃存儲器14的區(qū)域的數(shù)據(jù)。在步驟S128中,從快閃存儲器14讀出的數(shù)據(jù)被送出到控制部40,控制部40接收該數(shù)據(jù),在步驟S129中將讀出的數(shù)據(jù)送出到主機設(shè)備20。[0086]如以上所說明的那樣,在本實施方式的SSD裝置10中,分區(qū)的開始位置必須為物理塊的開頭,在偏移了存在于非Erase區(qū)域的分區(qū)的邊界與Erase區(qū)域的分區(qū)的開始位置之間的邏輯地址的量所得的位置處寫入或讀出數(shù)據(jù),因此,不對存在于非Erase區(qū)域的分區(qū)的邊界與Erase區(qū)域的分區(qū)的開始位置之間的區(qū)域進行數(shù)據(jù)的寫入/讀出動作。因而,可以保證不對該區(qū)域?qū)懭肴魏螖?shù)據(jù),因此無需進行上述的數(shù)據(jù)避讓作業(yè)就能夠?qū)ξ锢韷K進行刪除指示,從而能夠抑制消耗快閃存儲器14的重寫次數(shù)的情況。
[0087](第二實施方式)
[0088]圖14是用于說明在作為本發(fā)明的第二實施方式的SSD裝置中由判斷部43實施的是否為覆蓋用數(shù)據(jù)的判斷例程的流程圖。除了是否為覆蓋用數(shù)據(jù)的例程以外,本實施方式的SSD裝置與上述的第一實施方式的SSD裝置相同,因而,對同一結(jié)構(gòu)要素附加同一標記,簡略其說明。另外,在以后的說明中,設(shè)從主機設(shè)備20送出的覆蓋用數(shù)據(jù)是全為“O”的數(shù)據(jù)。
[0089]首先,在步驟S200中,獲取從主機設(shè)備20傳輸(送出)的數(shù)據(jù)的字節(jié)數(shù)。接著,在步驟S201中,變量C和S被初始化,其值被設(shè)為O。在步驟S202中,判斷該變量C是否小于傳輸字節(jié)數(shù),在變量C小于傳輸字節(jié)數(shù)(步驟S202中:“是”)時進入步驟S203,在變量C大于等于傳輸字節(jié)數(shù)(步驟S202中:“否”)時進入步驟S205。在步驟S203中,將傳輸來的數(shù)據(jù)與變量S相加。在步驟S204中,變量C自加1,讀入下一個傳輸數(shù)據(jù)。在步驟S205中,判斷變量S是否與“O”(在圖14中為16進制表示的“0x0000”)相等,在變量S與“O”相等(步驟S205中:“是”)的情況下進入步驟S206,判斷為從主機設(shè)備20傳輸、送出的數(shù)據(jù)是覆蓋用數(shù)據(jù),對快閃存儲器14指示刪除動作。另一方面,在變量S與“O”不相等(步驟S205中:“否”)的情況下進入步驟S207,判斷為是通常的數(shù)據(jù)寫入,對快閃存儲器14指示數(shù)據(jù)寫入。這樣,在圖14的例程中,計算各個數(shù)據(jù)的相加值S,在該相加值為“O”時,判斷為從主機設(shè)備20傳輸、送出的數(shù)據(jù)是覆蓋用數(shù)據(jù)。
[0090]因而,根據(jù)本實施例的SSD裝置10,也能夠得到與上述的第一實施方式相同的效
果O
[0091](第三實施方式)
[0092]圖15是用于說明在作為本發(fā)明的第三實施方式的SSD裝置中由判斷部43實施的是否為覆蓋用數(shù)據(jù)的判斷例程的流程圖。
[0093]首先,在步驟S300中,獲取從主機設(shè)備20傳輸(送出)的數(shù)據(jù)的扇區(qū)數(shù)。接著,在步驟S301中,變量C被初始化,其值被設(shè)為O。在步驟S302中,判斷該變量C是否小于傳輸扇區(qū)數(shù),在變量C小于傳輸扇區(qū)數(shù)(步驟S302中:“是”)時進入步驟S303,在變量C大于等于傳輸扇區(qū)數(shù)(步驟S302中:“否”)時進入步驟S306。在步驟S303中,計算傳輸來的數(shù)據(jù)的哈希值。在此,只要通過已知的哈希函數(shù)、作為一例為MD2 (Message Digest Algorithm〗:消息摘要算法2)來計算哈希值即可。在步驟S304中,判斷在步驟S303中計算出的哈希值是否與期待值相等,在哈希值與期待值相等(步驟S304中:“是”)的情況下進入步驟S305,在哈希值與期待值不相等(步驟S304中:“否”)的情況下進入步驟S306。此處,期待值是數(shù)據(jù)為“O”的情況下的哈希值。在步驟S305中,變量C自加1,讀入下一個傳輸數(shù)據(jù)。在步驟S306中,判斷變量C是否與傳輸扇區(qū)數(shù)相等,在變量C與傳輸扇區(qū)數(shù)相等(步驟S306中:“是”)的情況下進入步驟S307,判斷為從主機設(shè)備20傳輸、送出的數(shù)據(jù)是覆蓋用數(shù)據(jù),對快閃存儲器14指示刪除動作。另一方面,在變量C與傳輸扇區(qū)數(shù)不相等(步驟S306中:“否”)的情況下進入步驟S308,判斷為是通常的數(shù)據(jù)寫入,對快閃存儲器14指示數(shù)據(jù)寫入。這樣,在圖15的例程中,計算各個數(shù)據(jù)的哈希值,在該哈希值與作為數(shù)據(jù)為“O”時的哈希值的期待值相等時,判斷為從主機設(shè)備20傳輸、送出的數(shù)據(jù)是覆蓋用數(shù)據(jù)。
[0094]因而,根據(jù)本實施例的SSD裝置10,也能夠得到與上述的第一實施方式、第二實施方式相同的效果。
[0095](第四實施方式)
[0096]圖16是用于說明在作為本發(fā)明的第四實施方式的SSD裝置中由判斷部43實施的是否為覆蓋用數(shù)據(jù)的判斷例程的流程圖。
[0097]首先,在步驟S400中,計算從主機設(shè)備20傳輸?shù)臄?shù)據(jù)的CRC(Cyclic RedundancyCheck:循環(huán)冗余檢查)值。在步驟S401中,判斷在步驟S400中計算出的CRC值是否與期待值相等,在CRC值與期待值相等(步驟S401中:“是”)的情況下進入步驟S402,判斷為從主機設(shè)備20傳輸、送出的數(shù)據(jù)是覆蓋用數(shù)據(jù),對快閃存儲器14指示刪除動作。另一方面,在CRC值與期待值不相等(步驟S401中:“否”)的情況下進入步驟S403,判斷為是通常的數(shù)據(jù)寫入,對快閃存儲器14指示數(shù)據(jù)寫入。這樣,在圖16的例程中,計算數(shù)據(jù)的CRC值,在該CRC值與作為數(shù)據(jù)為“O”時的CRC值的期待值相等時,判斷為從主機設(shè)備20傳輸、送出的數(shù)據(jù)是覆蓋用數(shù)據(jù)。
[0098]因而,根據(jù)本實施例的SSD裝置10,也能夠得到與上述的第一實施方式?第三實施方式相同效果。
[0099](第五實施方式)
[0100]圖17是用于說明在作為本發(fā)明的第五實施方式的SSD裝置中由判斷部43實施的是否為覆蓋用數(shù)據(jù)的判斷例程的流程圖。
[0101]首先,在步驟S500中,獲取從主機設(shè)備20傳輸(送出)的數(shù)據(jù)的字節(jié)數(shù)。接著,在步驟S501中,變量C被初始化,其值被設(shè)為O。在步驟S502中,判斷該變量C是否小于傳輸字節(jié)數(shù),在變量C小于傳輸字節(jié)數(shù)(步驟S502中:“是”)時進入步驟S503,在變量C大于等于傳輸字節(jié)數(shù)(步驟S502中:“否”)時進入步驟S506。在步驟S503中,判斷變量C是否為步驟S502中獲取到的傳輸字節(jié)數(shù)的最初的值、中間的值或者最后的值,在變量C是傳輸字節(jié)數(shù)的最初的值、中間的值或者最后的值(步驟S503中:“是”)的情況下進入步驟S504,在變量C不是傳輸字節(jié)數(shù)的最初的值、中間的值或者最后的值(步驟S503中:“否”)的情況下進入步驟S505。在步驟S504中,判斷傳輸來的數(shù)據(jù)是否為“O”(在圖17中為16進制表示的“0x00”),在傳輸來的數(shù)據(jù)是“O” (步驟S504中:“是”)的情況下進入步驟S505,在傳輸來的數(shù)據(jù)不是“O”的情況下進入步驟S506。在步驟S505中,變量C自加1,讀入下一個傳輸數(shù)據(jù)。在步驟S506中,判斷變量C是否與傳輸字節(jié)數(shù)相等,在變量C與傳輸字節(jié)數(shù)相等(步驟S506中:“是”)的情況下進入步驟S507,判斷為從主機設(shè)備20傳輸、送出的數(shù)據(jù)是覆蓋用數(shù)據(jù),對快閃存儲器14指示刪除動作。另一方面,在變量C與傳輸字節(jié)數(shù)不相等(步驟S506中:“否”)的情況下進入步驟S508,判斷為是通常的數(shù)據(jù)寫入,對快閃存儲器14指示數(shù)據(jù)寫入。這樣,在圖17的例程中,提取傳輸來的數(shù)據(jù)的最初、中間以及最后的值,在所提取出的值全部為“O”時,判斷為從主機設(shè)備20傳輸、送出的數(shù)據(jù)是覆蓋用數(shù)據(jù)。
[0102]因而,根據(jù)本實施例的SSD裝置10,也能夠得到上述的第一實施方式?第四實施方式相同的效果。
[0103](變形例)
[0104]本發(fā)明的存儲裝置的詳細部分并不限定于上述的各實施方式,能夠形成各種變形例。
[0105]作為一例,在上述的各實施方式中,設(shè)從主機設(shè)備送出的覆蓋刪除用的覆蓋用數(shù)據(jù)是均為“O”的數(shù)據(jù),來對覆蓋刪除判斷的例程進行了說明,但是只要能夠確定從主機設(shè)備送出的覆蓋刪除用的覆蓋用數(shù)據(jù),就能夠適當變更例程來應對。另外,覆蓋刪除判斷的例程并不限定于上述的各實施方式中說明的例程。
[0106]另外,在上述的第一實施方式中,通過如圖5所示那樣在啟動時獲取快閃存儲器的MBR來基于該MBR獲取Erase區(qū)域的邏輯地址,但是并不限于此,例如,只要在組裝有存儲裝置的主機設(shè)備出廠時制作分區(qū)時,獲取與Erase區(qū)域?qū)姆謪^(qū)的邏輯地址,將該邏輯地址設(shè)定于從主機設(shè)備送出的存儲裝置初始化命令內(nèi)即可。由此,存儲裝置能夠通過存儲裝置初始化動作來獲取Erase區(qū)域的邏輯地址?;蛘撸部梢詼蕚渲鳈C設(shè)備特有的(依賴供應商的)命令,在該命令內(nèi)預先設(shè)定與Erase區(qū)域?qū)姆謪^(qū)的邏輯地址。
[0107]另外,在上述的第一實施方式中,保存于RAM內(nèi)的覆蓋用數(shù)據(jù)是由SSD裝置自己生成的,但是也可以每次都將從主機設(shè)備進行覆蓋刪除指示時送出的覆蓋用數(shù)據(jù)保存在RAM內(nèi)。
【權(quán)利要求】
1.一種存儲裝置,具備NAND型快閃存儲器以及控制針對該NAND型快閃存儲器的數(shù)據(jù)的寫入/讀出的控制部,經(jīng)由接口與主機設(shè)備相連接,該存儲裝置的特征在于, 控制部具備: 接口部,其從上述主機設(shè)備經(jīng)由上述接口與上述主機設(shè)備相連接; 判斷部,其判斷是否從上述主機設(shè)備利用由上述接口確定的覆蓋命令指示了通過對上述NAND型快閃存儲器內(nèi)的特定區(qū)域覆蓋覆蓋用數(shù)據(jù)來刪除存儲于該特定區(qū)域內(nèi)的現(xiàn)有數(shù)據(jù);以及 刪除部,如果上述判斷部判斷為指示了對存儲于上述特定區(qū)域內(nèi)的上述現(xiàn)有數(shù)據(jù)進行刪除,則該刪除部指示對包含該特定區(qū)域的物理塊進行塊刪除,通過去除包含上述特定區(qū)域的物理塊的上述NAND型快閃存儲器的電荷來刪除上述現(xiàn)有數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的存儲裝置,其特征在于, 上述NAND型快閃存儲器被分割為多個分區(qū),各個上述分區(qū)是從物理塊的開頭開始的。
3.根據(jù)權(quán)利要求1或2所述的存儲裝置,其特征在于, 上述存儲裝置還具備存儲介質(zhì), 在該存儲介質(zhì)中保持在指示對存儲于上述特定區(qū)域內(nèi)的上述現(xiàn)有數(shù)據(jù)進行刪除時從上述主機設(shè)備發(fā)送的上述覆蓋用數(shù)據(jù), 上述控制部還具備傳輸部,如果從上述主機設(shè)備指示了讀出上述特定區(qū)域內(nèi)的數(shù)據(jù),則該傳輸部將上述存儲介質(zhì)內(nèi)的覆蓋用數(shù)據(jù)經(jīng)由上述接口部傳輸?shù)缴鲜鲋鳈C設(shè)備。
【文檔編號】H04N1/00GK103513936SQ201310260163
【公開日】2014年1月15日 申請日期:2013年6月26日 優(yōu)先權(quán)日:2012年6月27日
【發(fā)明者】真國一起, 沖永隆幸, 東修一郎, 高田陽介, 菅原識介 申請人:巴法絡記憶體股份有限公司