磁盤裝置以及數據保存方法
【專利說明】磁盤裝置以及數據保存方法
[0001]相關申請
[0002]本申請享受以美國臨時專利申請61/941,859號(申請日:2014年2月19日)為在先申請的優(yōu)先權。本申請通過參照該在先申請而包含其全部內容。
技術領域
[0003]本實施方式大概涉及磁盤裝置以及數據保存(退避)方法。
【背景技術】
[0004]在磁盤裝置中,在寫緩存(write cache)功能有效的情況下,不具有針對電源切斷的備份功能,所以有可能因電源切斷而導致用戶數據消失。磁盤裝置能夠在電源切斷時靈活運用主軸電機停止時的反向電動勢,并使易失性存儲器上的寫緩存數據保存于非易失性存儲器。然而,在電源切斷時的備份時間短的情況下,磁盤裝置與易失性存儲器尺寸相比無法使充分的寫緩存數據保存。在磁盤裝置中,為了保證寫緩存數據,就需要將寫緩存數據量限制成能夠保存于非易失性存儲器的數據量,在該情況下,無法發(fā)揮本來的寫緩存性能。
【發(fā)明內容】
[0005]本發(fā)明的目的在于在電源切斷時使易失性存儲器的寫緩存數據安全且可靠地備份保持于非易失性存儲器。
[0006]根據實施方式,磁盤裝置具有易失性存儲器。另外,還具有非易失性存儲器。另夕卜,還具有磁盤介質存儲器。另外,具有對從外部供給的電源的狀態(tài)進行檢測的檢測部。另夕卜,具有備用電源。另外,具有數據保存控制部,其在通過所述檢測部檢測到電源下降的情況下,使用所述備用電源使所述易失性存儲器的數據保存于所述非易失性存儲器。另外,具有指令處理部,若所述易失性存儲器中存儲新的數據,則在所述易失性存儲器中未保存于所述磁盤介質存儲器的未保存數據的數據量超過了能夠從所述易失性存儲器向所述非易失性存儲器保存的備份數據量的情況下,使所述未保存數據保存于所述磁盤介質存儲器。
【附圖說明】
[0007]圖1是表示第I實施方式的磁盤裝置的構成例的圖。
[0008]圖2是表示第I實施方式的磁盤裝置的固件構成的圖。
[0009]圖3是表示第I實施方式的指令信息表的構成例的圖。
[0010]圖4是表示第I實施方式的緩存表的構成例的圖。
[0011]圖5是表示指令接受以及寫緩存數據的存儲處理的流程圖。
[0012]圖6是表示使易失性存儲器的寫緩存數據向磁盤介質保存的處理的流程圖。
[0013]圖7是表示磁盤介質的介質保存區(qū)域中的保存數據存儲起始地址以及保存數據存儲最終地址的圖。
[0014]圖8是表示向磁盤介質的寫工作的流程圖。
[0015]圖9是表示從易失性存儲器向非易失性存儲器的保存的流程圖。
[0016]圖10是表示在磁盤裝置內的數據的運動的圖。
[0017]圖11是表示在電源再次接入時來自非易失性存儲器的各數據的復原處理的流程圖。
【具體實施方式】
[0018]以下參照附圖詳細地對實施方式涉及的磁盤裝置進行說明。另外,本發(fā)明不受這些實施方式限定。
[0019](第I實施方式)
[0020]圖1是表示本實施方式的磁盤裝置的構成例的圖。作為磁盤裝置的磁盤裝置10具備主機IF (Interface,接口)控制部1、計數器部2、控制部3、易失性存儲器4、非易失性存儲器5、磁盤控制部6、磁盤介質7、備用電源8和電源狀態(tài)檢測部9。
[0021]控制部3具備指令信息表31、任務控制部32、指令處理部33、緩存控制部34和數據保存控制部35。
[0022]主機IF控制部I從外部的上位裝置接受指令,針對接受到的指令向外部裝置報告結束狀態(tài)。
[0023]計數器部2監(jiān)視緩存存儲器即易失性存儲器4上的寫緩存數據的數據量。
[0024]控制部3,在磁盤裝置10中針對從上位裝置接受到的指令進行指令信息的管理、指令執(zhí)行等,還對使易失性存儲器4的寫緩存數據向非易失性存儲器5或者磁盤介質7保存進行控制??刂撇?由微型計算機(MCU)、R0M(Read Only Memory,只讀存儲器)、RAM (Random Access Memory,隨機訪問存儲器)等構成。
[0025]指令信息表31暫時存儲從上位裝置接受到的指令。此時,在指令信息表31中,作為指令信息而具有多個指令量的指令有效標志、指令代碼、訪問邏輯塊地址(LBA)、訪問塊數、狀態(tài)報告完畢標志、使用緩沖器(buffer)信息等信息,每次接受指令時都設定指令信肩、O
[0026]若在指令信息表31接受指令,則任務控制部32從指令信息表31取出指令并起動指令處理部33。另外,在指令信息表31接受了寫指令的情況下,在寫緩存功能有效時,任務控制部32進行下述控制:如果在寫指令接受時在易失性存儲器4的緩沖器高緩(cachebuffer)中有空余、則確定要使用的緩沖器高緩區(qū)域,在所確定的緩沖器高緩區(qū)域中存儲指令信息表31的寫指令的數據(寫緩存數據)。任務控制部32進行在完成了向易失性存儲器4存儲寫指令的數據(寫緩存數據)的時間點、經由主機IF控制部I向上位裝置報告結束狀態(tài)的控制。此時,在指令信息表31中,對于指令信息設置狀態(tài)報告完畢標志。
[0027]在指令信息表31接受了多個指令的情況下,若執(zhí)行期間的指令處理完成,則指令處理部33從指令信息表31取出下一指令而開始進行指令處理。在指令執(zhí)行期間,任務控制部32評價訪問時間、處理的緊急度等,通過重排序來確定下面要執(zhí)行哪個指令。指令處理部33在要進行磁盤訪問的情況起動磁盤控制部6。指令處理部33進行若磁盤訪問完成則在結束狀態(tài)未報告的情況下、經由主機IF控制部I向上位裝置報告結束狀態(tài)的控制,在指令處理完成后將指令信息表31的指令信息無效化。
[0028]緩存控制部34能夠在易失性存儲器4中預先存儲多個寫指令的數據(寫緩存數據),所以為了寫指令的管理所用而準備緩存控制信息,并作為緩存表而保持。作為緩存控制信息具有緩存信息有效標志、寫開始邏輯塊地址、寫數據長度(訪問塊數)、寫數據存儲緩沖器地址、磁盤介質保存完畢標志、磁盤介質保存目的地地址等信息。在緩存表中,按每個寫緩存數據而準備多個這些緩存控制信息。
[0029]通過電源狀態(tài)檢測部9監(jiān)視從外部供給的電源的狀態(tài),在檢測到從外部供給的電源被切斷或者降低到了磁盤裝置10無法繼續(xù)工作的程度(以下,稱為電源切斷)的情況下,數據保存控制部35利用備份電源8使易失性存儲器4的數據保存于非易失性存儲器5。
[0030]圖2是表示本實施方式的磁盤裝置的固件構成的圖。圖2的主機IF控制表示圖1的主機IF控制部I的處理內容,圖2的磁盤控制表示圖1的磁盤控制部6的處理內容,圖2的指令信息表、任務控制、緩存控制、指令處理表示圖1的控制部3的處理內容。
[0031]主機IF控制中包含指令接受、讀.寫數據傳送、結束狀態(tài)響應等各處理。
[0032]任務控制中包含重排序、寫緩存數據存儲等各處理。
[0033]指令處理中包含讀指令處理、寫指令處理、與其他指令有關的各種指令處理、寫緩存數據向磁盤介質的保存等各處理。
[0034]磁盤控制中包含缺陷管理、邏輯/物理地址轉換、磁盤讀寫處理、錯誤恢復(errorrecovery,糾錯)等各處理。
[0035]指令信息表保持所接受指令的指令信息。圖3是表示本實施方式的指令信息表的構成例的圖。對接受到的每個指令賦予了指令編號,并設定有上述指令有效標志、指令代碼等信息。
[0036]緩存信息保持于易失性存儲器4所存儲的寫緩存數據的緩存表中。圖4是表示本實施方式的緩存表的構成例的圖。針對所存儲的寫緩存數據,賦予了項目編號,并設定有上述緩存信息有效標志、寫開始邏輯塊地址等信息。
[0037]指令信息表以及緩存表的各信息存儲于構成控制部3的上述RAM。
[0038]返回到圖1,易失性存儲器4是存儲從上位裝置接受到的寫指令的數據(寫緩存數據)的存儲器。易失性存儲器 4 是 SDRAM (Synchronous Dynamic Random Access Memory,同步動態(tài)隨機存儲器)等緩存(cache memory) ?易失性存儲器4,作為緩沖器高緩的區(qū)域而具有能夠保存于非易失性存儲器5的寫緩存區(qū)域以