亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

處理器裝置以及程序的制作方法

文檔序號:6352324閱讀:254來源:國知局
專利名稱:處理器裝置以及程序的制作方法
技術領域
本發(fā)明涉及處理器裝置將存儲器裝置的數(shù)據(jù)保存到二次存儲裝置中的存儲器轉儲技術。
背景技術
在計算機系統(tǒng)中一般利用如下方法在發(fā)生故障時將存儲器裝置(以下,還簡稱為存儲器)的內容保存到二次存儲裝置(將它稱為存儲器轉儲),靈活應用于故障原因的解析。在以往的存儲器轉儲方式中,一般是發(fā)生了故障的處理器裝置(以下,還簡稱為處理器)自身保存到二次存儲裝置中,但在該情況下,在由發(fā)生了故障的處理器無法保存到二次存儲裝置的情況下,無法實施存儲器轉儲。
·
作為解決這個問題的方法,例如有專利文獻I記載的方法。在專利文獻I的方法中,在故障發(fā)生處理器能夠訪問二次存儲裝置的情況下,故障發(fā)生處理器將故障處理程序載入共用存儲器,并使用載入到共用存儲器中的故障處理程序將固有存儲器的內容保存到二次存儲裝置。另一方面,在故障發(fā)生處理器無法訪問二次存儲裝置的情況下,首先,從健全的處理器中選定特定的處理器作為支援處理器。然后,支援處理器將故障處理程序載入共用存儲器,故障發(fā)生處理器使用載入到共用存儲器中的故障處理程序,將固有存儲器的內容拷貝到共用存儲器。接下來,支援處理器將拷貝到共用存儲器中的故障發(fā)生處理器的固有存儲器的數(shù)據(jù)保存到二次存儲裝置。專利文獻I :日本特開平8 - 30565號公報

發(fā)明內容
在上述以往技術中,根據(jù)處理器裝置信息中預先設定的構成信息,來決定故障發(fā)生處理器可否將固有存儲器的內容保存到二次存儲裝置中。并且,在成為故障發(fā)生處理器能夠將固有存儲器的內容保存到二次存儲裝置的設定的情況下,如果在故障發(fā)生處理器使用故障處理程序將固有存儲器的內容保存到二次存儲裝置中的過程中故障處理程序變得異常,則無法向二次存儲裝置保存。作為故障處理程序變得異常的情形,有如下情形在故障處理程序被保持在共用存儲器中的情況下,從其它代碼向程序代碼發(fā)生寫入,代碼成為非法(由于所謂的程序的缺陷(bug)而發(fā)生)。進而,作為故障處理程序變得異常的情形,考慮如下情形處理器具備將邏輯地址空間變換為物理地址空間的MMlKMemory Management Unit,存儲器管理單元),在故障處理程序代碼使用邏輯地址空間進行動作的情況下,從其它代碼向用于對保存有故障信息(故障發(fā)生處理器的固有存儲器的內容)的區(qū)域的邏輯地址空間進行訪問的變換表格發(fā)生寫入,邏輯地址空間設定成為非法。
在成為這樣的情形的情況下,即使成為故障發(fā)生處理器能夠將固有存儲器的內容保存到二次存儲裝置的設定,由于在二次存儲裝置中保存固有存儲器的內容的過程中成為異常,所以無法保存。另外,在支援處理器將故障發(fā)生處理器的固有存儲器的內容保存到二次存儲裝置的情形中,如果故障發(fā)生處理器在將固有存儲器的內容保存到共用存儲器的過程中成為異常,則也無法保存。進而,在支援處理器從共用存儲器將故障發(fā)生處理器的固有存儲器的內容保存到二次存儲裝置的時候,當針對進行保存處理的程序、共用存儲器的邏輯地址空間發(fā)生了上述那樣的現(xiàn)象的情況下,也無法保存到二次存儲裝置。本發(fā)明以解決上述那樣的課題為主要的目的,其目的在于提供一種如下構造在多個處理器裝置共用存儲器裝置的結構中,即使試運行存儲器轉儲的處理器裝置成為無法正常地進行存儲器轉儲的狀態(tài),也能夠通過其它處理器裝置可靠地實施存儲器轉儲。 本發(fā)明的處理器裝置與進行存儲器裝置的存儲器轉儲的其它處理器裝置連接,并與所述其它處理器裝置共用所述存儲器裝置,其特征在于,具有故障檢測部,檢測在所述其它處理器裝置中未正常地進行存儲器轉儲的情形;以及存儲器轉儲實施部,在由所述故障檢測部檢測到在所述其它處理器裝置中未正常地進行存儲器轉儲的情況下,代替所述其它處理器裝置而進行所述存儲器裝置的存儲器轉儲。根據(jù)本發(fā)明,當故障檢測部檢測到在其它處理器裝置中未正常地進行存儲器轉儲的情況下,存儲器轉儲實施部代替其它處理器裝置而進行存儲器裝置的存儲器轉儲,所以即使試運行存儲器轉儲的處理器裝置成為無法正常地進行存儲器轉儲的狀態(tài),也能夠可靠地實施存儲器轉儲。


圖I是示出實施方式I的硬件結構例的圖。圖2是示出實施方式I的軟件結構例的圖。圖3是示出實施方式I的發(fā)生故障時的動作例的圖。圖4是示出實施方式I的發(fā)生故障時的動作例的圖。圖5是示出實施方式I的發(fā)生故障時的動作例的流程圖。圖6是示出實施方式I的發(fā)生故障時的動作例的流程圖。圖7是示出實施方式2的硬件結構例的圖。圖8是示出實施方式2的軟件結構例的圖。圖9是示出實施方式2的發(fā)生故障時的動作例的圖。圖10是示出實施方式2的發(fā)生故障時的動作例的圖。圖11是示出實施方式2的發(fā)生故障時的動作例的流程圖。圖12是示出實施方式2的發(fā)生故障時的動作例的流程圖。圖13是示出實施方式3的軟件結構例的圖。圖14是示出實施方式3的發(fā)生故障時的動作例的圖。
圖15是示出實施方式3的發(fā)生故障時的動作例的圖。圖16是示出實施方式3的發(fā)生故障時的動作例的流程圖。圖17是示出實施方式3的發(fā)生故障時的動作例的流程圖。圖18是示出實施方式4的軟件結構例的圖。圖19是示出實施方式4的發(fā)生故障時的動作例的圖。圖20是示出實施方式4的發(fā)生故障時的動作例的圖。圖21是示出實施方式4的發(fā)生故障時的動作例的流程圖。圖22是示出實施方式4的發(fā)生故障時的動作例的流程圖。圖23是示出實施方式5的軟件結構例的圖?!D24是示出實施方式5的發(fā)生故障時的動作例的圖。圖25是示出實施方式5的發(fā)生故障時的動作例的圖。圖26是示出實施方式5的發(fā)生故障時的動作例的圖。圖27是示出實施方式5的發(fā)生故障時的動作例的流程圖。圖28是示出實施方式5的發(fā)生故障時的動作例的流程圖。圖29是示出實施方式5的發(fā)生故障時的動作例的流程圖。(符號說明)I :處理器芯;2 :處理器芯;3 :處理器芯;4 :總線;5 :存儲器裝置;6 :控制臺裝置;7 =HDD裝置;8 :備份存儲器裝置;9 :運算處理部;10 :運算處理部;11 :運算處理部;12 :高速緩沖器;13 :高速緩沖器;14 :高速緩沖器;15 :處理器芯間通信功能;16 :處理器芯間通信功能;17 :處理器芯間通信功能;18 MMU ;19 MMU ;20 MMU ;21 0S ;22 0S ;23 0S ;24 :轉儲文件;25 :文件信息儲存區(qū)域;26 0S初始化部;27 :存儲器轉儲設定部;28 :異常檢測部;29 :存儲器轉儲實施部;30 :芯協(xié)作部;31 :存儲器轉儲異常檢測部;32 0S初始化部;33 存儲器轉儲設定部;34 :異常檢測部;35 :存儲器轉儲實施部;36 :芯協(xié)作部;37 :存儲器轉儲異常檢測部;44 0S21用區(qū)域;45 :0S22用區(qū)域;46 :0S23用區(qū)域;50 :映射部;51 :映射部;54 :頁面表格;55 :頁面表格;56 :頁面表格;60 :監(jiān)視部;61 :應答部;63 :計數(shù)器;64 計數(shù)器;70 :映射區(qū)域;71 :映射區(qū)域;72 :映射區(qū)域;80 :監(jiān)視部;81 :監(jiān)視部;83 :計數(shù)器;84 :計數(shù)器;85 :計數(shù)器;290 :存儲器轉儲實施部;300 :芯協(xié)作部;350 :存儲器轉儲實施部;360 :芯協(xié)作部;410 :存儲器轉儲實施部;420 :芯協(xié)作部。
具體實施例方式實施方式I.在本實施方式中,說明多個處理器芯共用存儲器的硬件結構中的存儲器轉儲方式。更具體而言,本實施方式涉及如下情況的存儲器轉儲方式在多個操作系統(tǒng)以及應用程序在各處理器芯上動作的結構中,I個處理器芯中發(fā)生故障,由在該處理器芯上動作的OS向二次存儲裝置保存存儲器內容的過程中,在該處理器芯中發(fā)生了異常。并且,在本實施方式中說明如下的存儲器轉儲方式在實施存儲器轉儲的處理器芯中檢測異常,檢測出異常的處理器芯對其它處理器芯指示存儲器轉儲,其它處理器芯將存儲器內容保存到二次存儲裝置,從而即使在存儲器轉儲處理中發(fā)生了故障,也能夠可靠地實施存儲器轉儲。以下,使用附圖,說明實施方式I的存儲器轉儲方式。圖I示出本實施方式的存儲器轉儲方式中的硬件(H/W)結構例。在圖中,1、2、3是進行運算處理的處理器芯,相互通過總線4而結合。各處理器芯是處理器裝置的例子。另外,通過總線4而結合了處理器芯I、處理器芯2、處理器芯3、與存儲器裝置5、控制臺裝置6、硬盤裝置(以下,還記載為HDD裝置)7以及備份存儲器裝置8。存儲器裝置5保持操作系統(tǒng)(以下,還記載為OS)的代碼和數(shù)據(jù)、應用程序(以下,還記載為AP)的代碼和數(shù)據(jù)、以及堆/棧。 如上所述,處理器芯I、處理器芯2、處理器芯3共用存儲器裝置5??刂婆_裝置6輸出來自OS、AP的消息。硬盤裝置7在存儲器轉儲時儲存存儲器裝置5的內容。備份存儲器裝置8保持著HDD裝置7上存在的用于將存儲器裝置5的內容進行保存的文件的信息。在處理器芯I、處理器芯2、處理器芯3中,分別存在進行運算處理的運算處理部9(處理器芯I)、10 (處理器芯2)、11 (處理器芯3)、臨時保持存儲器裝置5的內容以及運算處理部的處理結果的高速緩沖器12 (處理器芯1)、13 (處理器芯2)、14 (處理器芯3)、以及用于在各處理器芯之間進行通信的處理器芯間通信功能15 (處理器芯1)、16 (處理器芯2)、17 (處理器芯3)。關于處理器芯間通信功能,利用如下方法等對處理器芯通知中斷的方法;希望通信的處理器芯經由存儲器裝置5對通信目的地處理器芯所參照的存儲器區(qū)域附加標記、且通信目的地處理器芯參照該標記從而掌握通知的方法。在本實施方式中,圖示了 3個處理器芯,但無需一定是3個,既可以是2個處理器芯,也可以是4個以上的處理器芯,動作本身沒有變更。圖2是示出相對圖I所示的H/W結構的軟件(S/W)的結構例的圖。在圖中,操作系統(tǒng)(OS) 21在處理器芯I中動作。同樣地,0S22在處理器芯2中動作,0S23在處理器芯3中動作。另外,在HDD裝置7中,存在用于保存存儲器裝置5的內容的存儲區(qū)域即轉儲文件24,在備份存儲器裝置8中存在文件信息儲存區(qū)域25,該文件信息儲存區(qū)域25儲存有轉儲文件24在HDD裝置7內的位置信息等。在處理器芯I的0S21中存在0S初始化部26,在處理器芯I的復位時動作,進行0S21自身的初始化;存儲器轉儲設定部27(還記載為轉儲設定部27),對文件信息儲存區(qū)域25設定轉儲文件24的信息;異常檢測部28,在0S21的動作中執(zhí)行非法命令或者發(fā)生了向非法地址的訪問從而0S21無法再動作時,檢測其異常。另外,在0S21中存在存儲器轉儲實施部29 (還記載為轉儲實施部29),該存儲器轉儲實施部29根據(jù)來自異常檢測部28的指示,基于文件信息儲存區(qū)域25中存在的轉儲文件信息,將存儲器裝置5的內容寫入到轉儲文件24。如后所述,存儲器轉儲實施部29當檢測到在其它處理器芯(例如,處理器芯2)中沒有正常地進行存儲器轉儲的情況下,代替其它處理器芯而進行存儲器裝置5的存儲器轉儲。而且,在0S21中存在芯協(xié)作部30,用于進行處理器芯間的通信;以及存儲器轉儲異常檢測部31 (還記載為轉儲異常檢測部31),在存儲器轉儲實施部29的處理中發(fā)生了異常的情況下,檢測其異常。在處理器芯2的0S22中,作為同樣的單元,也存在OS初始化部32、存儲器轉儲設定部33 (還記載為轉儲設定部33)、異常檢測部34、存儲器轉儲實施部35 (以下,還記載為轉儲實施部35)、芯協(xié)作部36、存儲器轉儲異常檢測部37 (還記載為轉儲異常檢測部37)。另外,在圖2中,雖然省略了圖示,但在處理器芯3的0S23中,作為同樣的單元,也存在OS初始化部、存儲器轉儲設定部、異常檢測部、存儲器轉儲實施部、芯協(xié)作部、存儲器轉儲異常檢測部。在提及0S23中的各要素的情況下,記載為OS初始化部38、存儲器轉儲設定部39、異常檢測部40、存儲器轉儲實施部41、芯協(xié)作部42、存儲器轉儲異常檢測部43。
·
另外,芯協(xié)作部30、芯協(xié)作部36以及芯協(xié)作部42分別相當于故障檢測部、存儲器轉儲完成通知部以及存儲器轉儲要求部的例子。另外,存儲器轉儲異常檢測部31、存儲器轉儲異常檢測部37以及存儲器轉儲異常檢測部43相當于存儲器轉儲要求部的例子。如后所述,在處理器芯2試運行存儲器轉儲的情形中,存儲器轉儲異常檢測部37監(jiān)視存儲器轉儲實施部35的存儲器轉儲的實施狀況。然后,當存儲器轉儲異常檢測部37檢測到在存儲器轉儲實施部35中未正常地進行存儲器轉儲的情況下,芯協(xié)作部36例如對處理器芯I的芯協(xié)作部30進行要求,使得代替存儲器轉儲實施部35而實施存儲器裝置5的存儲器轉儲。另外,芯協(xié)作部30從芯協(xié)作部36接收存儲器轉儲的要求、即在處理器芯2中未正常地進行存儲器轉儲的意思的通知,檢測在處理器芯2中未正常地進行存儲器轉儲的情況。另外,在處理器芯I的存儲器轉儲實施部29中存儲器轉儲正常地完成了的情況下,芯協(xié)作部30對芯協(xié)作部36通知存儲器轉儲正常地完成的情況。在處理器芯I、處理器芯2、處理器芯3上動作的0S21、0S22、0S23的執(zhí)行代碼和數(shù)據(jù)、以及在各OS上動作的應用程序(AP)存在于存儲器裝置5內。為此,在存儲器裝置5中,存在0S21利用的0S21用區(qū)域44、0S22利用的0S22用區(qū)域、以及0S23利用的0S23用區(qū)域。關于各OS用區(qū)域,如果代碼、數(shù)據(jù)重疊,則OS無法動作,所以相互獨立地(以不同的物理地址)配置于存儲器裝置5內。另外,各OS內的要素也存在于各OS用區(qū)域,0S21的存儲器轉儲實施部29、芯協(xié)作部30等的代碼、數(shù)據(jù)作為0S21用區(qū)域44的存儲器轉儲實施部290 (還記載為轉儲實施部290)、芯協(xié)作部300等而存在,同樣地0S22的各要素以及0S23的各要素也分別存在于0S22用區(qū)域45、0S23用區(qū)域46。在0S22用區(qū)域45中,存儲器轉儲實施部35、芯協(xié)作部36等的代碼、數(shù)據(jù)也作為存儲器轉儲實施部350 (還記載為轉儲實施部350)、芯協(xié)作部360等而存在。而且,在0S23用區(qū)域46中,存儲器轉儲實施部41、芯協(xié)作部42等的代碼、數(shù)據(jù)也作為存儲器轉儲實施部410 (還記載為轉儲實施部410)、芯協(xié)作部420等而存在。接下來,使用圖3、圖4內的箭頭以及圖5、圖6的流程圖,說明本實施方式中的存儲器轉儲方式的發(fā)生故障時的動作例。另外,在圖3、圖4中,根據(jù)作圖上的理由,省略了處理器芯3、存儲器裝置5內的0S23用區(qū)域46、控制臺裝置6的圖示。在圖:T圖6中,說明在處理器芯2上動作的0S22中發(fā)生故障、并且0S22的存儲器轉儲實施部35在存儲器裝置5上的代碼/數(shù)據(jù)即0S22用區(qū)域45內的存儲器轉儲實施部350的數(shù)據(jù)被破壞了時的例子。首先,如果在0S22動作中發(fā)生了故障,則0S22的異常檢測部34檢測其異常(圖5的 SiOD0
在該異常檢測中,有由于資源不足而由0S22單獨檢測為異常的情況、由于非法地址訪問、非法命令安裝而在處理器芯2上發(fā)生例外從而檢測為異常的情況。如果由異常檢測部34檢測到這些異常,則異常檢測部34在進行了異常的原因確定等處理之后,對存儲器轉儲實施部35發(fā)出存儲器轉儲的指示(圖3以及圖5的S102)。接收到存儲器轉儲指示的存儲器轉儲實施部35以使異常檢測部34不會再次檢測出存儲器轉儲實施中發(fā)生的處理器芯2的例外(因為如果檢測出則會再次發(fā)生存儲器轉儲指示)的方式,以在發(fā)生了例外的情況下使存儲器轉儲異常檢測部37進行檢測的方式設定了處理器芯2之后,從備份存儲器裝置8內存在的文件信息儲存區(qū)域25取得HDD裝置7內存在的轉儲文件24的位置信息(圖3以及圖5的S103)。接下來,存儲器轉儲實施部35根據(jù)所取得的位置信息,向HDD裝置7內的轉儲文件24寫入存儲器裝置5的內容(圖3以及圖5的S104)。此處,如果存儲器裝置5的0S22用區(qū)域45內的存儲器轉儲實施部350的數(shù)據(jù)未被破壞,則不會妨礙存儲器轉儲實施部35的動作,所以存儲器轉儲實施部35的存儲器轉儲處理正常地結束。但是,在存儲器裝置5的0S22用區(qū)域45的存儲器轉儲實施部350的數(shù)據(jù)被破壞了的情況下,存儲器轉儲實施部35的動作變得不穩(wěn)定,由于非法命令執(zhí)行、非法訪問而在處理器芯2上發(fā)生例外。在該情況下,由于存儲器轉儲實施部35的動作已經成為非法,所以即使再次使存儲器轉儲實施部35動作,也無法正常地進行存儲器轉儲動作。存儲器轉儲異常檢測部37對存儲器轉儲實施部35的存儲器轉儲的實施狀況進行監(jiān)視,所以由存儲器轉儲異常檢測部37檢測出在處理器芯2上發(fā)生了例外的情況(圖3以及圖5的S105)。如果檢測到異常,則存儲器轉儲異常檢測部37對芯協(xié)作部36指示向其它處理器芯進行通知(包括存儲器轉儲的實施要求的通知)(圖3以及圖5的S106)。從存儲器轉儲異常檢測部37接收到指示的芯協(xié)作部36選擇應發(fā)送通知的處理器
-I-H
o此處,芯協(xié)作部36對處理器芯I進行通知(圖3以及圖5的S107)。關于處理器芯的選擇,有預先決定特定的處理器芯的方法、將各處理器芯的負荷狀況記錄到存儲器裝置5內而選擇負荷最低的處理器芯等的方法。
另外,關于向處理器芯進行的通知,采用利用處理器芯間中斷的方法、通過向存儲器裝置5內的共同區(qū)域進行讀寫而取得同步的方法。在本實施方式中,通過這樣的方法,處理器芯2的芯協(xié)作部36選擇處理器芯I,并向處理器芯I進行通知。處理器芯I的芯協(xié)作部30接收該通知(圖6的S108)。處理器芯I的芯協(xié)作部30如果接收到來自處理器芯2的芯協(xié)作部36的通知,則對存儲器轉儲實施部29指示存儲器轉儲(圖4以及圖6的S109)。存儲器轉儲實施部29從備份存儲器裝置8內存在的文件信息儲存區(qū)域25取得HDD裝置7內存在的轉儲文件24的位置信息(圖4以及圖6的S110),并根據(jù)所取得的位置信息,對HDD裝置7內的轉儲文件24寫入存儲器裝置5的內容(圖4以及圖6的S111)。雖然存儲器裝置5內的0S22用區(qū)域45內的存儲器轉儲實施部350的數(shù)據(jù)被破壞,但不妨礙存儲器裝置5內的0S21用區(qū)域44的存儲器轉儲實施部290的動作,所以存儲器·轉儲實施部29的存儲器轉儲正常地結束。在存儲器轉儲實施部29中,如果存儲器轉儲結束,則對芯協(xié)作部30進行存儲器轉儲結束的通知(圖4以及圖6的S112)。芯協(xié)作部30對作為通知源的處理器芯2進行處理完成的通知(圖4以及圖6的S113)。處理器芯2的芯協(xié)作部36接收該通知(圖5的S114)。處理器芯2的芯協(xié)作部36如果接收到來自處理器芯I的芯協(xié)作部30的通知,則對存儲器轉儲異常檢測部37進行處理完成的通知(圖4以及圖5的S115)。接收到該通知后,存儲器轉儲異常檢測部37對異常檢測部34進行處理完成的通知(圖4以及圖6的S116)。由于存儲器內容被保存,接收到通知的異常檢測部34使裝置停止或者重起動(圖4以及圖6的S117)。以上是本實施方式中的存儲器轉儲方式的發(fā)生故障時的動作。如以上那樣,在實施方式I的存儲器轉儲方式中,I個處理器芯發(fā)生故障,由在該處理器芯上動作的OS向二次存儲裝置保存存儲器內容的過程中,在存儲器轉儲實施部內發(fā)生了異常時,對其它處理器芯指示存儲器轉儲,在其它處理器芯上實施存儲器轉儲。因此,即使在存儲器轉儲處理中發(fā)生了故障,也能夠可靠地實施存儲器轉儲。另外,也可以通過處理器芯I的存儲器轉儲實施部29的處理,與處理器芯2的存儲器轉儲實施部35實施的處理同樣地,以使存儲器轉儲異常檢測部31檢測處理器芯I的例外的方式對處理器芯I進行設定,在處理器芯I的存儲器轉儲實施部29的處理中發(fā)生了異常時,進而對其它處理器芯(例如,處理器芯3)指示存儲器轉儲。這樣,能夠更可靠地實施存儲器轉儲。另外,在本實施方式中,在由處理器芯I的存儲器轉儲實施部29實施的存儲器轉儲處理結束之后,經由芯協(xié)作部30對處理器芯2的異常檢測部34通知處理完成,由處理器芯2的異常檢測部34實施裝置的停止或者重起動。對此,存儲器轉儲實施部29對處理器芯I的異常檢測部28通知處理完成,由異常檢測部28進行裝置的停止或者重起動,從而也能夠得到同樣的存儲器轉儲方式。
另外,在本實施方式中,關于存儲器轉儲實施部35的處理內的異常,由存儲器轉儲異常檢測部37檢測處理器芯2的例外發(fā)生,由此檢測異常。對此,并非發(fā)生例外,而是存儲器轉儲實施部35檢測到所利用的數(shù)據(jù)是非法時,即使對存儲器轉儲異常檢測部37通知異常,也能夠得到同樣的存儲器轉儲方式。另外,在本實施方式中,關于存儲器轉儲實施部35的處理內的異常,由0S22內的存儲器轉儲異常檢測部37檢測處理器芯2的例外發(fā)生,由此檢測異常。對此,利用H/W的虛擬化支援功能,在0S22無法動作那樣的狀態(tài)(例如,雙重錯誤)下,通過虛擬化支援功能,使與0S22不同的功能(虛擬化支援代碼)動作,在其中,進行向處理器芯I的存儲器轉儲指示,從而也能夠得到同樣的存儲器轉儲方式。另外,與虛擬化支援功能不同地,使處理器芯的例外發(fā)生轉移到以往在處理器芯 中具備的系統(tǒng)管理模式(System Management Mode在以SMM模式進行動作的代碼內,進行向處理器芯I的存儲器轉儲指示,從而也能夠得到同樣的存儲器轉儲方式。S卩,對存儲器轉儲實施部35的處理內的異常進行檢測的部分不限于0S22(處理器芯2),而也可以是包括0S21 (處理器芯1)、0S23 (處理器芯3)的其它構造。另外,在本實施方式中,由存儲器轉儲異常檢測部37檢測存儲器轉儲實施部35的處理內的異常。對此,異常檢測部34在異常檢測時判斷是否為存儲器轉儲實施中,如果不是存儲器轉儲實施中,則對存儲器轉儲實施部35進行存儲器轉儲指示,如果是存儲器轉儲實施中,則對芯協(xié)作部36指示向其它處理器芯的通知,從而不需要存儲器轉儲異常檢測部37而能夠得到同樣的存儲器轉儲方式。作為異常檢測部34判斷是否是存儲器轉儲實施中的方法,能夠通過判斷在異常檢測時執(zhí)行的代碼位置是否在存儲器轉儲實施部35的代碼內,或在存儲器轉儲實施部35開始存儲器轉儲時對存儲器裝置5內的特定的區(qū)域進行標記并由異常檢測部34讀取該標記,從而進行判斷。另外,在本實施方式中,使處理器芯1、2、3上的OS具有同樣的功能,但僅在I個處理器芯中具備芯協(xié)作部以及存儲器轉儲實施部而設為存儲器轉儲專用,在其它OS的存儲器轉儲中發(fā)生了異常的情況下,對存儲器轉儲專用的處理器芯進行通知,從而也能夠得到同樣的存儲器轉儲方式。另外,在處理器芯2的存儲器轉儲實施部35實施存儲器轉儲的過程中存儲器轉儲實施部350破損了的情況下,在破損時存儲器裝置5的一部分數(shù)據(jù)已經保存于HDD裝置7。但是,處理器芯I的存儲器轉儲實施部29無法確認通過存儲器轉儲實施部35將哪個數(shù)據(jù)保存到HDD裝置7,所以與存儲器轉儲實施部35中的存儲器轉儲的進展狀況無關地,從最初起重做存儲器轉儲。以上,在本實施方式中,說明了在多個操作系統(tǒng)(OS)在具備多個處理器芯、各處理器芯共用的存儲器、以及保存發(fā)生故障時的存儲器內容的二次存儲裝置的硬件上進行動作的結構中包括以下的構成要素的存儲器轉儲方式。(I)在各處理器芯上的OS中具有以下的構成要素。(a)在發(fā)生故障時將存儲器內容保存到二次存儲裝置中的單元(b)對在保存到二次存儲裝置的期間發(fā)生的異常進行檢測的單元
(c)從上述(b)的單元調用并對其它處理器芯進行通知的單元(d)接收來自其它處理器芯的通知并調用上述(a)的單元的單元實施方式2.在本實施方式中說明如下結構下的存儲器轉儲方式具備持有多個處理器芯以及將邏輯地址空間變換為物理地址空間的MMU的硬件結構,在其上多個操作系統(tǒng)(OS)以及應用程序(AP)進行動作。更具體而言,在本實施方式的存儲器轉儲方式中,設置存儲器轉儲處理專用處理器芯,除了存儲器轉儲處理專用處理器芯以外,僅能夠將各自使用的存儲器區(qū)域作為邏輯地址空間來參照,存儲器轉儲處理專用處理器芯能夠將所有存儲器作為邏輯地址空間來參照。
并且,在本實施方式的存儲器轉儲方式中,I個處理器芯發(fā)生故障,在該處理器芯上動作的OS內將存儲器內容保存到二次存儲裝置的過程中,在存儲器轉儲處理中發(fā)生了異常的情況下,在由實施存儲器轉儲的處理器芯檢測到異常之后,檢測到異常的處理器芯對存儲器轉儲處理專用處理器芯指示存儲器轉儲,存儲器轉儲處理專用處理器芯在二次存儲裝置中保存存儲器內容。根據(jù)本實施方式的存儲器轉儲方式,除了存儲器轉儲處理專用處理器芯以外,僅能夠將各自使用的存儲器區(qū)域作為邏輯地址空間來參照,所以存儲器轉儲處理專用處理器芯上的存儲器轉儲處理用的代碼不會被其它處理器芯破壞,能夠可靠地實施存儲器轉儲。圖7示出本實施方式的存儲器轉儲方式中的硬件(H/W)結構例。在圖I 中,除了 MMU (Memory Management Unit) 18、19、20 以外,與圖 I 所不的要素相同。此處,省略MMU18、19、20以外的要素的說明。MMU18、19、20具有將邏輯地址變換為存儲器裝置5的物理地址的功能,處理器芯1、2、3用于將存儲器裝置5作為地址空間而在邏輯上進行分割。各處理器芯上的OS通過使用該MMU,能夠將存儲器裝置5的一部分用作該OS專用的存儲器,使其它處理器芯的OS無法參照。在本實施方式中,雖然圖示了 3個處理器芯,但無需是3個,既可以是2個處理器芯,也可以是4個以上的處理器芯,動作本身沒有變更。圖8是示出相對圖I所示的H/W結構的軟件(S/W)的結構例的圖。在圖8中,根據(jù)作圖上的理由,省略控制臺裝置6的圖示,并且,省略了處理器芯3的0S23的內部結構的圖示。另外,處理器芯3的0S23的內部結構與處理器芯2的0S22相同。S卩,0S23如對圖2進行說明那樣,具備OS初始化部38、存儲器轉儲設定部39、異常檢測部40、存儲器轉儲實施部41、芯協(xié)作部42、存儲器轉儲異常檢測部43、以及后述的映射部52。另外,在圖8中,雖然省略了記述,但在本實施方式中,芯協(xié)作部30、芯協(xié)作部36以及芯協(xié)作部42也分別相當于故障檢測部、存儲器轉儲完成通知部以及存儲器轉儲要求部的例子,存儲器轉儲異常檢測部37以及存儲器轉儲異常檢測部43相當于存儲器轉儲要求部的例子。
在實施方式2中,處理器芯I的0S21與其它處理器芯的OS不同,成為如下結構具有專用地處理存儲器轉儲的功能,不具有存儲器轉儲設定部、異常檢測部、存儲器轉儲異常檢測部。另外,在各OS中具備映射部(在0S21中具備映射部50,在0S22中具備映射部51,在0S23中具備映射部52 (未圖示)),該映射部使用處理器芯的MMU (圖7的MMU18 (處理器芯1)、MMU19 (處理器芯2)、MMU20 (處理器芯3))而用于在邏輯地址空間上將存儲器裝置5設為能夠參照(映射)。映射部50、51、52指定各自的OS可訪問的存儲器裝置5的物理地址空間。如后所述,0S22、0S23在存儲器轉儲時以外被設定與存儲器裝置5的一部分物理地址空間對應的邏輯地址空間,僅能夠訪問一部分物理地址空間。另一方面,在存儲器轉儲時,映射部51、52對各個OS設定以存儲器裝置5內的所 有物理地址為對象的邏輯地址,設為存儲器轉儲實施部35、41能夠訪問存儲器裝置5內的所有物理地址的狀態(tài)。映射部51、52是訪問控制部的例子。另外,在存儲器裝置5中具備頁面表格,該頁面表格是用于由各處理器芯的MMU對邏輯地址空間和物理地址空間進行變換的表格。通過映射部50設定處理器芯I的MMU18使其參照0S21用區(qū)域44內存在的頁面表格54。在頁面表格54內設定的邏輯地址空間和物理地址空間的變換信息被設定為能夠參照儲存有0S21的各要素的代碼(存儲器轉儲實施部290、芯協(xié)作部300等)以及頁面表格54的0S21用區(qū)域44、即存儲器裝置5整體。由此,在處理器芯I中,能夠參照存儲器裝置5整體。另外,通過映射部51設定處理器芯2的MMU19使其參照0S22用區(qū)域45內存在的頁面表格55。在頁面表格55內設定的邏輯地址空間和物理地址空間的變換信息被設定為僅能夠參照儲存有0S22的各要素的代碼(存儲器轉儲實施部350、芯協(xié)作部360等)以及頁面表格55的0S22用區(qū)域45。由此,在處理器芯2中,僅能夠參照0S22用區(qū)域45,無法參照0S21用區(qū)域44的存儲器轉儲實施部290、0S23用區(qū)域46。這樣,防止由于處理器芯2內的處理而使0S21用的區(qū)域、0S23用的區(qū)域被破壞數(shù)據(jù)。同樣地,通過映射部52設定處理器芯3的MMU20使其參照OS 23用區(qū)域46內存在的頁面表格56。在頁面表格56內設定的邏輯地址空間和物理地址空間的變換信息被設定為僅能夠參照儲存有0S23的各要素的代碼(存儲器轉儲實施部410、芯協(xié)作部420等)以及頁面表格56的0S23用區(qū)域46。由此,在處理器芯3中,僅能夠參照0S23用區(qū)域46,無法參照0S21用區(qū)域44的存儲器轉儲實施部290、0S22用區(qū)域45。這樣,防止由于處理器芯3內的處理而使0S21用的區(qū)域、0S22用的區(qū)域被破壞數(shù)據(jù)。接下來,使用圖9、圖10內的箭頭以及圖11、圖12的流程圖,說明本實施方式中的存儲器轉儲方式的發(fā)生故障時的動作例。另外,在圖9、圖10中,根據(jù)作圖上的理由,省略了處理器芯3、存儲器裝置5內的0S23用區(qū)域46、控制臺裝置6的圖示。在圖擴圖12中,以在處理器芯2上動作的0S22中發(fā)生故障、并且0S22的存儲器轉儲實施部35的存儲器裝置5上的代碼/數(shù)據(jù)即0S22用區(qū)域45內的存儲器轉儲實施部350的數(shù)據(jù)被破壞了的情況為例子進行說明。首先,如果在0S22動作中發(fā)生故障,則0S22的異常檢測部34檢測其異常(圖11的 S201)。如果由異常檢測部34檢測到異常,則異常檢測部34在進行了異常的原因確定等處理之后,對存儲器轉儲實施部35發(fā)出存儲器轉儲的指示(圖9以及圖11的S202)?!そ邮盏酱鎯ζ鬓D儲指示的存儲器轉儲實施部35以不使異常檢測部34再次檢測存儲器轉儲實施中發(fā)生的處理器芯2的例外的方式,以在發(fā)生了例外的情況下使存儲器轉儲異常檢測部37進行檢測的方式設定了處理器芯2之后,從備份存儲器裝置8內存在的文件信息儲存區(qū)域25取得HDD裝置7內存在的轉儲文件24的位置信息(圖9以及圖11的S203)。接下來,存儲器轉儲實施部35根據(jù)所取得的位置信息,進行向HDD裝置7內的轉儲文件24寫入存儲器裝置5的內容的處理。在處理器芯2中,MMU19使用存儲器裝置5的0S22用區(qū)域45內存在的頁面表格55而進行動作,所以0S22的存儲器轉儲實施部35僅能夠訪問存儲器裝置5的0S22用區(qū)域45。因此,如以下那樣進行寫入存儲器裝置5的內容的處理。首先,存儲器轉儲實施部35檢查存儲器裝置5的物理地址空間的開頭頁面(以一定的尺寸(一般是4K字節(jié))對地址空間進行劃分而得到的區(qū)域)是否存在于0S22用區(qū)域45內(圖11的S204)。這根據(jù)參照頁面表格55并在處理器芯2的邏輯地址空間中是否包含期望的物理地址而進行判斷。在期望的物理地址未包含于0S22用區(qū)域45的情況下(在圖11的S204中“否”),存儲器轉儲實施部35對映射部51進行指示,使得在處理器芯2的邏輯地址空間上(映射區(qū)域57)能夠參照物理地址空間(圖9以及圖11的S205)。映射部51設定MMU19使用的頁面表格55,使得在處理器芯2的邏輯地址空間能夠參照物理地址空間。在期望的物理地址包含于0S22用區(qū)域45的情況下(在圖11的S204中“是”),由于在邏輯地址空間上已經能夠參照物理地址,所以不對映射部51發(fā)出指示。在向0S22用區(qū)域的映射(圖9以及圖11的S205)完成、或者已經能夠參照(在圖11的S204中“是”)的情況下,接下來存儲器轉儲實施部35向轉儲文件24寫入與物理地址空間的開頭頁面對應的邏輯地址空間的頁面(圖9以及圖11的S206)。然后,在未發(fā)生異常(在圖11的S207中“否”)的情況下,在物理地址空間的接下來的頁面中進行S204至S206的處理。此處,如果存儲器裝置5的0S22用區(qū)域45內的存儲器轉儲實施部350的數(shù)據(jù)未被破壞,則不會妨礙存儲器轉儲實施部35的動作,所以在物理地址空間內的存儲器裝置5的內容全部被儲存到轉儲文件24中的時候,存儲器轉儲實施部35的存儲器轉儲處理正常地結束。但是,在存儲器裝置5的0S22用區(qū)域45的存儲器轉儲實施部350的數(shù)據(jù)被破壞了的情況下,存儲器轉儲實施部35的動作成為異常(在圖11的S207中“是”),由于非法命令執(zhí)行、非法訪問而在處理器芯2上發(fā)生例外。在該情況下,存儲器轉儲實施部35的動作已經成為非法,所以即使使存儲器轉儲實施部35再次動作,也無法使存儲器轉儲正常地動作。由存儲器轉儲異常檢測部37檢測出在處理器芯2上發(fā)生了例外的情況(圖9以及 圖 11 的 S208)。如果檢測到異常,則存儲器轉儲異常檢測部37對芯協(xié)作部36指示向其它處理器芯進行通知(包括存儲器轉儲的實施要求的通知)(圖9以及圖11的S209)。從存儲器轉儲異常檢測部37接收到指示的芯協(xié)作部36選擇應發(fā)送的處理器芯。在本實施方式中,使處理器芯I發(fā)揮專用地處理存儲器轉儲的功能,所以芯協(xié)作部36對處理器芯I進行發(fā)送(圖9以及圖11的S210)。處理器芯I的芯協(xié)作部30接收該通知(圖12的S211)。處理器芯I的芯協(xié)作部30如果接收到來自處理器芯2的芯協(xié)作部36的通知,則對存儲器轉儲實施部29指示存儲器轉儲(圖10以及圖12的S212)。存儲器轉儲實施部29從備份存儲器裝置8內存在的文件信息儲存區(qū)域25取得HDD裝置7內存在的轉儲文件24的位置信息(圖10以及圖12的S213),根據(jù)所取得的位置信息,向HDD裝置7內的轉儲文件24寫入存儲器裝置5的內容(圖10以及圖12的S214)。雖然存儲器裝置5內的0S22用區(qū)域45內的存儲器轉儲實施部350的數(shù)據(jù)被破壞,但不妨礙存儲器裝置5內的0S21用區(qū)域44的存儲器轉儲實施部290的動作,所以存儲器轉儲實施部29的存儲器轉儲正常地結束。另外,根據(jù)0S21用區(qū)域44的頁面表格54,在處理器芯I中,存儲器裝置5能夠參照所有邏輯地址空間,無需調用映射部50。在存儲器轉儲實施部29中,如果存儲器轉儲結束,則對芯協(xié)作部30進行存儲器轉儲結束的通知(圖10以及圖12的S215)。芯協(xié)作部30對作為通知源的處理器芯2進行處理完成的通知(圖10以及圖12的S216)。處理器芯2的芯協(xié)作部36接收該通知(圖11的S217)。處理器芯2的芯協(xié)作部36如果接收到來自處理器芯I的芯協(xié)作部30的通知,則對存儲器轉儲異常檢測部37進行處理完成的通知(圖10以及圖11的S218)。接收到該通知后,存儲器轉儲異常檢測部37對異常檢測部34進行處理完成的通知(圖10以及圖11的S219)。由于存儲器內容被保存,接收到通知的異常檢測部34使裝置停止或者重起動(圖10以及圖11的S220)。
以上是本實施方式中的存儲器轉儲方式的發(fā)生故障時的動作。在實施方式2的存儲器轉儲方式中,利用將邏輯地址空間變換為物理地址空間的MMU,使各處理器芯在邏輯地址空間進行動作,進行通常的動作的處理器芯只能夠參照該處理器芯動作的OS可利用的特定的存儲器區(qū)域,僅有專用地進行存儲器轉儲的處理器芯能夠參照存儲器整體。另外,在實施方式2的存儲器轉儲方式中,I個處理器芯發(fā)生故障,由在該處理器芯上動作的OS向二次存儲裝置保存存儲器內容的過程中,在存儲器轉儲實施部內發(fā)生了異常時,在由實施存儲器轉儲的處理器芯檢測到異常之后,檢測到異常的處理器芯對存儲器轉儲處理專用處理器芯指示存儲器轉儲,通過存儲器轉儲處理專用處理器芯上的存儲器轉儲實施部,在二次存儲裝置中保存存儲器內容。因此,在實施方式2的存儲器轉儲方式中,即使在存儲器轉儲處理中發(fā)生了故障, 也能夠可靠地實施存儲器轉儲。另外,在本實施方式中,進行通常的動作的處理器芯只能夠參照該處理器芯動作的OS可利用的特定的存儲器區(qū)域,僅有專用地進行存儲器轉儲的處理器芯能夠參照存儲器整體,所以即使在進行通常的動作的處理器芯中發(fā)生了破壞存儲器內的數(shù)據(jù)那樣的異常狀態(tài),也不會對在專用地進行存儲器轉儲的處理器芯上動作的代碼造成影響。以上,在本實施方式中,說明了各處理器芯具備能夠分割存儲器而將各存儲器作為不同的地址空間進行管理的MMU (Memory Management Unit)、并包括以下的構成要素的存儲器轉儲方式。(I)在I個處理器芯上的OS中具有以下的構成要素(a)使用MMU而將存儲器整體設為可訪問的單元(2)在上述(I)以外的處理器芯上的OS中具有以下的構成要素(a)使用MMU而僅將存儲器的特定的區(qū)域設為可訪問的單元(b)在發(fā)生故障時,將其它存儲器的內容設為可訪問的單元(c)在二次存儲裝置中保存的期間發(fā)生了異常的情況下對上述(I)的處理器芯進行通知的單元實施方式3.在本實施方式的存儲器轉儲方式中,存儲器轉儲處理專用處理器芯定期地監(jiān)視其它處理器芯的狀態(tài),在檢測到異常的情況下,存儲器轉儲處理專用處理器芯自身使檢測到異常的處理器芯停止,實施存儲器轉儲。根據(jù)本實施方式的存儲器轉儲方式,即使在發(fā)生了故障的處理器芯自身由于意外停機(hang up)等而無法動作的情況下,也能夠可靠地實施存儲器轉儲。在實施方式3中,H/W結構與實施方式2相同,示出在圖7中。圖13是示出相對圖7所示的H/W結構的軟件(S/W)的結構例的圖。在實施方式3中,在處理器芯I的0S21中,存在用于對處理器芯2的0S22以及處理器芯3的0S23的動作狀況進行監(jiān)視的監(jiān)視部60。監(jiān)視部60監(jiān)視后述的計數(shù)器的計數(shù)器值。在其它處理器芯正常地動作的期間,以規(guī)定的周期來更新該計數(shù)器值。然后,監(jiān)視部60在計數(shù)器值的更新停止了的情況下,判斷為在其它處理器芯中發(fā)生了故障。另外,在處理器芯2的0S22中,存在表示0S22無問題地動作的應答部61,在處理器芯3的0S23中也存在同樣的應答部62 (未圖示)。另外,在存儲器裝置5中,存在為了表示0S22進行動作而由應答部61更新計數(shù)器值的計數(shù)器63、和為了表示0S23進行動作而由應答部62更新計數(shù)器值的計數(shù)器64。S卩,應答部61在0S22正常地動作的期間以規(guī)定的周期來更新計數(shù)器63的計數(shù)器值,在監(jiān)視部60中示出處理器芯2正常地動作的情況。同樣地,應答部62在0S23正常地動作的期間以規(guī)定的周期來更新計數(shù)器64的計數(shù)器值,在監(jiān)視部60中示出處理器芯3正常地動作的情況。應答部61、62是計數(shù)器值更新部的例子。
·
另外,在實施方式3中,由處理器芯2以及處理器芯3的異常檢測部檢測到異常時的動作與實施方式2相同,如圖9、圖10的箭頭以及圖11、圖12的流程圖所示。接下來,說明本實施方式中的存儲器轉儲方式的發(fā)生故障時的動作例。具體而言,使用圖14、圖15內的箭頭以及圖16、圖17的流程圖,說明處理器芯意外停機、即突然陷入無法動作的狀態(tài)的情形下的動作例。另外,在圖14、圖15中,根據(jù)作圖上的理由,省略了處理器芯3、存儲器裝置5內的0S23用區(qū)域46、控制臺裝置6的圖示。在圖14 圖17中,說明處理器芯2意外停機的情況的例子。首先,說明處理器芯2以及處理器芯3無問題地動作的狀態(tài)下的處理器芯2以及處理器芯3的動作。在處理器芯2無問題地動作的情況下,在圖16的S301中處理器芯2的0S22實施通常的動作。然后,檢查是否經過一定時間(圖16的S302)。也可以根據(jù)監(jiān)視OS內部時刻的更新狀況、或由于時刻變化而發(fā)生的中斷,起動該檢查。在S302中,在未經過一定時間的情況下(在圖16的S302中“否”),返回S301而繼
續(xù)通常的動作。在S302中經過了一定時間的情況下(在圖16的S302中“是”),在0S22中應答部61進行動作,使存儲器裝置5的0S22用區(qū)域45存在的計數(shù)器63加I (圖14以及圖17的S303)。由此,每隔一定時間對計數(shù)器63進行加法運算,監(jiān)視部60通過觀察計數(shù)器63,能夠確認0S22進行動作。 在S303中對計數(shù)器63進行了加法運算之后,0S22返回S301而繼續(xù)通常的動作。以上是處理器芯2的動作。另夕卜,處理器芯3中的動作與圖14以及圖16所示的處理器芯2的動作(S301 S303)相同,省略說明。接下來,說明處理器芯I的動作。在處理器芯I中,首先,0S21的監(jiān)視部60檢查經過了一定時間的情況(圖17的S310)。
在未經過一定時間的情況下(在S310中“否”),還不需要進行處理器芯2以及處理器芯3的檢查,所以返回到最初。在S310中經過了一定時間的情況下(在S310中“是”),檢查計數(shù)器63以及計數(shù)器64 (圖14以及圖17的S311)。在圖14中,僅圖示了監(jiān)視部60檢查0S22用區(qū)域45的計數(shù)器63的情況,但監(jiān)視部60還同時檢查0S23用區(qū)域46的計數(shù)器64。此處,在經過一定時間時計數(shù)器63以及計數(shù)器64的值被正確地更新(遞增計數(shù))的情況下(在圖17的S311中“是”),判斷為處理器芯2以及處理器芯3正常地動作,返回到最初。在處理器芯2無法動作的情況下,在0S22的應答部61中不實施計數(shù)器63的更 新,所以通過監(jiān)視部60在S311中進行的計數(shù)器63的更新檢查,監(jiān)視部60判斷為0S22無法動作即發(fā)生了異常(在S312中“否”)。由此,監(jiān)視部60對存儲器轉儲實施部29指示存儲器轉儲(圖14以及圖17的S313)。存儲器轉儲實施部29根據(jù)來自監(jiān)視部60的指示,從備份存儲器裝置8內存在的文件信息儲存區(qū)域25取得HDD裝置7內存在的轉儲文件24的位置信息(圖15以及圖17的S314),根據(jù)所取得的位置信息,向HDD裝置7內的轉儲文件24寫入存儲器裝置5的內容(圖15以及圖17的S315)。處理器芯2雖然無法動作但不會妨礙存儲器裝置5內的0S21用區(qū)域44的存儲器轉儲實施部290的動作,所以存儲器轉儲實施部29的存儲器轉儲正常地結束。另外,根據(jù)0S21用區(qū)域44的頁面表格54,在處理器芯I中,存儲器裝置5能夠參照所有邏輯地址空間,無需調用映射部50。在存儲器轉儲實施部29中,如果存儲器轉儲結束,則對監(jiān)視部60進行存儲器轉儲結束的通知(圖15以及圖17的S316)。由于存儲器內容被保存,接收到通知的監(jiān)視部60使裝置停止或者重起動(圖15以及圖17的S317)。以上是本實施方式中的存儲器轉儲方式的發(fā)生故障時的動作。在實施方式3的存儲器轉儲方式中,在進行通常的動作的處理器芯中,設置每隔一定時間對存儲器內的數(shù)據(jù)進行更新的單元,在專用地進行存儲器轉儲的處理器芯中,設置每隔一定時間參照該數(shù)據(jù)、并在數(shù)據(jù)未被更新的情況下對存儲器轉儲的實施進行指示的單元。因此,在本實施方式的存儲器轉儲方式中,在進行通常的動作的處理器芯中在H/W上成為意外停機狀態(tài),并在OS的異常探測部無法動作的狀態(tài)下,也能夠可靠地實施存儲器轉儲。另外,在本實施方式中,通過定期地更新存儲器內的數(shù)據(jù),來判斷進行通常的動作的處理器芯是否正常地動作。對此,使用處理器芯間通信,進行通常的動作的處理器芯定期地使進行存儲器轉儲的處理器芯發(fā)生通知中斷,進行存儲器轉儲的處理器芯在未出現(xiàn)定期的中斷的情況下,判斷為未正常地動作,實施存儲器轉儲,從而也能夠得到同樣的存儲器轉儲方式。
以上,在本實施方式中,說明了在各處理器芯中包括以下的構成要素的存儲器轉儲方式。( I)在實施方式2記載的專用地處理存儲器轉儲的處理器芯上的OS中具有以下的構成要素。(a)在檢查下述(2) Ca)并在一定時間內值未被更新的情況下將存儲器內容保存到二次存儲裝置的單元(2)在上述(I)的處理器芯以外的處理器芯上的OS中具有以下的構成要素。(a)存儲器內的、自身可訪問的區(qū)域中存在的計數(shù)器(b)在存儲器轉儲中每隔一定時間對計數(shù)器進行更新的單元實施方式4.·
在本實施方式中,說明如下結構下的存儲器轉儲方式具備持有多個處理器芯以及將邏輯地址空間變換為物理地址空間的MMU的硬件結構,在其上多個操作系統(tǒng)(OS)以及應用程序(AP)進行動作。更具體而言,在本實施方式的存儲器轉儲方式中,各處理器芯僅能夠將各自使用的存儲器區(qū)域作為邏輯地址空間來參照,I個處理器芯發(fā)生故障,在該處理器芯上動作的OS內在二次存儲裝置中保存存儲器內容的過程中,在存儲器轉儲處理中發(fā)生了異常的情況下,在由實施存儲器轉儲的處理器芯檢測到異常之后,檢測到異常的處理器芯對其它處理器芯指示存儲器轉儲,在使其它處理器芯上的OS能夠將所有存儲器作為邏輯地址空間進行參照之后,實施存儲器轉儲。根據(jù)本實施方式的存儲器轉儲方式,不用具有存儲器轉儲處理專用處理器芯,就能夠可靠地實施存儲器轉儲。在實施方式4中,H/W結構與實施方式2相同,如圖7所示。圖18是示出相對圖7所示的H/W結構的軟件(S/W)的結構例的圖。在實施方式4中,與實施方式2不同,處理器芯I不是專用地處理存儲器轉儲的結構。因此,在處理器芯I的0S21中,與實施方式I同樣地具備存儲器轉儲設定部27、異常檢測部28、存儲器轉儲異常檢測部31。處理器芯2的0S22以及處理器芯3的0S23的結構與實施方式2相同。另外,存儲器裝置5的結構也與實施方式2不同,設定為如下0S21用區(qū)域44不表示存儲器裝置5整體,處理器芯I的MMU18使用的頁面表格54與0S22用區(qū)域45、0S23用區(qū)域46不重復,而僅能夠參照0S21用區(qū)域44。S卩,在本實施方式中,對處理器芯I分配以存儲器裝置5的一部分物理地址為對象的邏輯地址,在存儲器轉儲時以外,處理器芯I使用MMU18,僅能夠訪問以所分配的邏輯地址為對象的一部分物理地址。另外,在存儲器裝置5內的各OS用區(qū)域中,具有用于在各OS內的區(qū)域(邏輯地址空間)中參照OS用區(qū)域外的存儲器區(qū)域的區(qū)域。在0S21用區(qū)域44中具備映射區(qū)域70,在0S22用區(qū)域45中具備映射區(qū)域71,在0S23用區(qū)域46中具備映射區(qū)域72。另外,在本實施方式中,存儲器轉儲實施部29、35、41還是計數(shù)器值更新部的例子。另外,在本實施方式中,除了映射部51、52以外,映射部50也成為訪問控制部的例子。接下來,使用圖19、圖20內的箭頭以及圖21、圖22的流程圖,說明本實施方式中的存儲器轉儲方式的發(fā)生故障時的動作。另外,在圖19、圖20中,根據(jù)作圖上的理由,省略了處理器芯3、存儲器裝置5內的0S23用區(qū)域46、控制臺裝置6的圖示。在圖19 圖22中,以在處理器芯2上動作的0S22中發(fā)生故障、并且0S22的存儲器轉儲實施部35在存儲器裝置5上的代碼/數(shù)據(jù)即0S22用區(qū)域45內的存儲器轉儲實施部350的數(shù)據(jù)被破壞了的情況為例子進行說明。首先,如果在0S22動作中發(fā)生故障,則0S22的異常檢測部34檢測其異常(圖21·的 S401)。如果由異常檢測部34檢測到異常,則異常檢測部34在進行了異常的原因確定等處理之后,對存儲器轉儲實施部35發(fā)出存儲器轉儲的指示(圖19以及圖21的S402)。接收到存儲器轉儲指示的存儲器轉儲實施部35以不使異常檢測部34再次檢測存儲器轉儲實施中發(fā)生的處理器芯2的例外的方式,以在發(fā)生了例外的情況下使存儲器轉儲異常檢測部37進行檢測的方式設定了處理器芯2之后,從備份存儲器裝置8內存在的文件信息儲存區(qū)域25取得HDD裝置7內存在的轉儲文件24的位置信息(圖19以及圖21的S403)。接下來,存儲器轉儲實施部35根據(jù)所取得的位置信息,進行向HDD裝置7內的轉儲文件24寫入存儲器裝置5的內容的處理。在處理器芯2中,MMU19使用存儲器裝置5的0S22用區(qū)域45內存在的頁面表格55進行動作,所以0S22的存儲器轉儲實施部35僅能夠訪問存儲器裝置5的0S22用區(qū)域45。因此,如以下那樣進行寫入存儲器裝置5的內容的處理。首先,存儲器轉儲實施部35檢查存儲器裝置5的物理地址空間的開頭頁面(以一定的尺寸(一般是4K字節(jié))對地址空間進行劃分而得到的區(qū)域)是否存在于0S22用區(qū)域45內(圖21的S404)。這根據(jù)參照頁面表格55并在處理器芯2的邏輯地址空間中是否包含有期望的物理地址而進行判斷。在0S22用區(qū)域45中沒有包含期望的物理地址的情況下(在圖21的S404中“否”),存儲器轉儲實施部35對映射部51進行指示,使得在處理器芯2的邏輯地址空間上(映射區(qū)域71)能夠參照物理地址空間(圖19以及圖21的S405)。映射部51設定MMU19所使用的頁面表格55,使得在處理器芯2的邏輯地址空間能夠參照物理地址空間。另外,在圖19中,示出了在映射區(qū)域71中設定了開頭頁面以及0S21用區(qū)域44的例子,但如果針對其它區(qū)域也反復進行同樣的處理,則能夠參照存儲器裝置5的全部區(qū)域。在期望的物理地址包含于0S22用區(qū)域45的情況下(在圖21的S404中“是”),在邏輯地址空間上已經能夠參照物理地址,所以不會對映射部51發(fā)出指示。
在向0S22用區(qū)域45的映射(圖19以及圖21的S405)完成、或者已經能夠參照(在圖21的S404中“是”)的情況下,接下來存儲器轉儲實施部35將與物理地址空間的開頭頁面對應的邏輯地址空間的頁面寫入到轉儲文件24 (圖19以及圖21的S406)。然后,在未發(fā)生異常(在圖21的S407中“否”)的情況下,在物理地址空間的接下來的頁面中進行S404至S406的處理。此處,如果存儲器裝置5的0S22用區(qū)域45內的存儲器轉儲實施部350的數(shù)據(jù)未被破壞,則不會妨礙存儲器轉儲實施部35的動作,所以在物理地址空間內的存儲器裝置5的內容全部被儲存到轉儲文件24中的時候,存儲器轉儲實施部35的存儲器轉儲處理正常地結束。但是,在存儲器裝置5的0S22用區(qū)域45的存儲器轉儲實施部350的數(shù)據(jù)被破壞了的情況下,存儲器轉儲實施部35的動作成為異常(在圖21的S407中“是”),由于非法命令執(zhí)行、非法訪問而在處理器芯2上發(fā)生例外。 在該情況下,存儲器轉儲實施部35的動作已經成為非法,所以即使使存儲器轉儲實施部35再次動作,也無法使存儲器轉儲正常地動作。由存儲器轉儲異常檢測部37檢測出在處理器芯2上發(fā)生了例外的情況(圖19以及圖21的S408)。如果檢測到異常,則存儲器轉儲異常檢測部37對芯協(xié)作部36指示向其它處理器芯的通知(包括存儲器轉儲的實施要求的通知)(圖19以及圖21的S409)。從存儲器轉儲異常檢測部37接收到指示的芯協(xié)作部36選擇應發(fā)送的處理器芯。在本實施方式中對處理器芯I進行發(fā)送(圖19以及圖21的S410)。關于處理器芯的選擇,與實施方式I同樣地有預先決定特定的處理器芯的方法、或將各處理器芯的負荷狀況記錄到存儲器裝置5內并選擇負荷最低的處理器芯等方法。在本實施方式中,通過這樣的方法,處理器芯2的芯協(xié)作部36選擇處理器芯I,對處理器芯I進行通知的發(fā)送(圖19以及圖21的S410)。處理器芯I的芯協(xié)作部30接收該通知(圖22的S411)。處理器芯I的芯協(xié)作部30如果接收到來自處理器芯2的芯協(xié)作部36的通知,則對存儲器轉儲實施部29指示存儲器轉儲(圖20以及圖22的S412)。存儲器轉儲實施部29從備份存儲器裝置8內存在的文件信息儲存區(qū)域25取得HDD裝置7內存在的轉儲文件24的位置信息(圖20以及圖22的S413),根據(jù)所取得的位置信息,進行向HDD裝置7內的轉儲文件24寫入存儲器裝置5的內容的處理。在處理器芯I中,MMU18使用存儲器裝置5的0S21用區(qū)域44內存在的頁面表格54進行動作,所以0S21的存儲器轉儲實施部29僅能夠訪問存儲器裝置5的0S21用區(qū)域44。因此,如以下那樣進行寫入存儲器裝置5的內容的處理。首先,存儲器轉儲實施部29檢查存儲器裝置5的物理地址空間的開頭頁面(以一定的尺寸(一般是4K字節(jié))對地址空間進行劃分而得到的區(qū)域)是否存在于0S21用區(qū)域44內(圖22的S414)。這根據(jù)參照頁面表格54并在處理器芯I的邏輯地址空間中是否包括期望的物理地址而進行判斷。
在期望的物理地址沒有包含在0S21用區(qū)域44中的情況下(在圖22的S414中“否”),存儲器轉儲實施部29對映射部50進行指示,使得在處理器芯I的邏輯地址空間上(映射區(qū)域70)能夠參照物理地址空間(圖20以及圖22的S415)。映射部50設定MMU18所使用的頁面表格54,使得在處理器芯I的邏輯地址空間能夠參照物理地址空間。另外,在圖20中,示出了在映射區(qū)域70中設定了開頭頁面以及0S22用區(qū)域45的例子,但如果對其它區(qū)域也反復進行同樣的處理,則能夠參照存儲器裝置5的全部區(qū)域。在期望的物理地址包含于0S21用區(qū)域44的情況下(在圖22的S414中“是”),在邏輯地址空間上已經能夠參照物理地址,所以不會對映射部50發(fā)出指示。 在向0S21用區(qū)域44的映射(圖20以及圖22的S415)完成、或者已經能夠參照(在圖22的S414中“是”)的情況下,接下來存儲器轉儲實施部29將與物理地址空間的開頭頁面對應的邏輯地址空間的頁面寫入到轉儲文件24 (圖20以及圖22的S416)。然后,檢查是否對存儲器裝置5的所有區(qū)域進行了存儲器轉儲(圖22的S417),在未對所有區(qū)域進行的情況下(在圖22的S417中“否”),在物理地址空間的接下來的頁面中進行S414至S416的處理。雖然存儲器裝置5內的0S22用區(qū)域45內的存儲器轉儲實施部350的數(shù)據(jù)被破壞,但不會妨礙存儲器裝置5內的0S21用區(qū)域44的存儲器轉儲實施部290的動作,所以存儲器轉儲實施部29的存儲器轉儲正常地結束。存儲器轉儲實施部29如果對存儲器裝置5的所有區(qū)域結束了存儲器轉儲(在圖22的S417中“是”),則對芯協(xié)作部30進行存儲器轉儲結束的通知(圖20以及圖22的S418)。芯協(xié)作部30對作為通知源的處理器芯2進行處理完成的通知(圖20以及圖22的S419)。處理器芯2的芯協(xié)作部36接收該通知(圖21的S420)。處理器芯2的芯協(xié)作部36如果接收到來自處理器芯I的芯協(xié)作部30的通知,則對存儲器轉儲異常檢測部37進行處理完成的通知(圖20以及圖21的S421)。接收到該通知后,存儲器轉儲異常檢測部37對異常檢測部34進行處理完成的通知(圖20以及圖21的S422)。由于存儲器內容被保存,接收到通知的異常檢測部34使裝置停止或者重起動(圖20以及圖21的S423)。以上是本實施方式中的存儲器轉儲方式的發(fā)生故障時的動作。在實施方式4的存儲器轉儲方式中,利用將邏輯地址空間變換為物理地址空間的MMU,使各處理器芯在邏輯地址空間中動作,使得僅能夠參照該處理器芯動作的OS可利用的特定的存儲器區(qū)域。另外,在實施方式4的存儲器轉儲方式中,I個處理器芯發(fā)生故障,由在該處理器芯上動作的OS向二次存儲裝置保存存儲器內容的過程中,在存儲器轉儲實施部內發(fā)生了異常時,在由實施存儲器轉儲的處理器芯檢測到異常之后,檢測到異常的處理器芯對其它處理器芯指示存儲器轉儲,接收到指示的處理器芯上的存儲器轉儲實施部在該處理器芯動作的邏輯地址空間中設定頁面表格使得能夠參照該處理器芯無法參照的存儲器區(qū)域,在二次存儲裝置中保存存儲器內容。
因此,在實施方式4的存儲器轉儲方式中,即使在存儲器轉儲處理中發(fā)生了故障,也無需專用地處理存儲器轉儲的處理器芯,而能夠可靠地實施存儲器轉儲。以上,在本實施方式中,說明了各處理器芯具備能夠分割存儲器而將各存儲器作為不同的地址空間進行管理的MMU (Memory Management Unit)、并包括以下的構成要素的存儲器轉儲方式。(I)在各處理器芯上的OS中具有以下的構成要素。Ca)使用MMU而僅能夠訪問存儲器的特定的區(qū)域的單元(b)在發(fā)生故障時使其它存儲器的內容成為可訪問的單元。
實施方式5.在本實施方式的存儲器轉儲方式中,在某處理器芯中進行存儲器轉儲處理時發(fā)生了異常時,發(fā)生了故障的處理器芯對其它處理器芯指示存儲器轉儲,發(fā)生了故障的處理器芯監(jiān)視其它處理器芯的存儲器轉儲,在一定時間內存儲器轉儲處理未結束的情況下,使該其它處理器芯停止,對另I個其它處理器芯指示存儲器轉儲。在實施方式5中,H/W結構與實施方式I相同,如圖I所示。圖23是示出相對圖I所示的H/W結構的軟件(S/W)的結構例的圖。在實施方式5中,為了監(jiān)視由其它處理器芯實施的存儲器轉儲處理,在0S21中具備監(jiān)視部80,在0S22中具備監(jiān)視部81,在0S23中具備監(jiān)視部82 (未圖示)。另外,在存儲器裝置5中,作為表示在各處理器芯中的存儲器轉儲處理中存儲器轉儲繼續(xù)進行動作的計數(shù)器,在0S21用區(qū)域44中具備計數(shù)器83,在0S22用區(qū)域45中具備計數(shù)器84,在0S23用區(qū)域中具備計數(shù)器85。其以外的結構與實施方式I相同。另外,在本實施方式中,芯協(xié)作部30、芯協(xié)作部36以及芯協(xié)作部42也分別相當于故障檢測部、存儲器轉儲完成通知部以及存儲器轉儲要求部的例子。另外,在本實施方式中,存儲器轉儲異常檢測部31、存儲器轉儲異常檢測部37以及存儲器轉儲異常檢測部43也相當于存儲器轉儲要求部的例子。接下來,使用圖24、圖25、圖26的箭頭以及圖27、圖28、圖29的流程圖,說明本實施方式中的存儲器轉儲方式的發(fā)生故障時的動作。另外,在圖24、圖25、圖26中,根據(jù)作圖上的理由,省略了處理器芯3、存儲器裝置5內的0S23用區(qū)域46、控制臺裝置6的圖示。在圖24 圖29中,說明在處理器芯2上動作的0S22中發(fā)生故障、并且0S22的存儲器轉儲實施部35在存儲器裝置5上的代碼/數(shù)據(jù)即0S22用區(qū)域45內的存儲器轉儲實施部350的數(shù)據(jù)被破壞了時的例子。首先,如果在0S22動作中發(fā)生故障,則0S22的異常檢測部34檢測其異常(圖27的 S501)。異常檢測部34在進行了異常的原因確定等處理之后,對存儲器轉儲實施部35發(fā)出存儲器轉儲的指示(圖24以及圖27的S502)。接收到存儲器轉儲指示的存儲器轉儲實施部35以使異常檢測部34不會再次檢測存儲器轉儲實施中發(fā)生的處理器芯2的例外(因為如果檢測則會再次發(fā)生存儲器轉儲指示)的方式,以在發(fā)生了例外的情況下使存儲器轉儲異常檢測部37進行檢測的方式設定了處理器芯2之后,從備份存儲器裝置8內存在的文件信息儲存區(qū)域25取得HDD裝置7內存在的轉儲文件24的位置信息(圖24以及圖27的S503)。接下來,存儲器轉儲實施部35根據(jù)所取得的位置信息,向HDD裝置7內的轉儲文件24寫入存儲器裝置5的內容(圖24以及圖27的S504)。此處,如果存儲器裝置5的0S22用區(qū)域45內的存儲器轉儲實施部350的數(shù)據(jù)未被破壞,則不會妨礙存儲器轉儲實施部35的動作,所以存儲器轉儲實施部35的存儲器轉儲處理正常地結束。但是,在存儲器裝置5的0S22用區(qū)域45的存儲器轉儲實施部350的數(shù)據(jù)被破壞了的情況下,存儲器轉儲實施部35的動作變得不穩(wěn)定,由于非法命令執(zhí)行、非法訪問而在處理器芯2上發(fā)生例外。由存儲器轉儲異常檢測部37檢測在處理器芯2上發(fā)生了例外的情況(圖24以及 圖 27 的 S505)。如果檢測到異常,則存儲器轉儲異常檢測部37對芯協(xié)作部36指示向其它處理器芯的通知(包括存儲器轉儲的實施要求的通知)(圖24以及圖27的S506)。從存儲器轉儲異常檢測部37接收到指示的芯協(xié)作部36選擇應發(fā)送的處理器芯。在本實施方式中,對處理器芯I進行通知的發(fā)送(圖24以及圖27的S507)。處理器芯2的芯協(xié)作部36選擇處理器芯1,并向處理器芯I進行通知。處理器芯I的芯協(xié)作部30接收該通知(圖29的S508)。處理器芯I的芯協(xié)作部30如果接收到來自處理器芯2的芯協(xié)作部36的通知,則對存儲器轉儲實施部29指示存儲器轉儲(圖25以及圖28的S509)。存儲器轉儲實施部29從備份存儲器裝置8內存在的文件信息儲存區(qū)域25取得HDD裝置7內存在的轉儲文件24的位置信息(圖25以及圖28的S510),根據(jù)所取得的位置信息,向HDD裝置7內的轉儲文件24寫入存儲器裝置5的內容。如以下那樣進行該處理。首先,存儲器轉儲實施部29從存儲器裝置5的開頭將I個頁面量(4KB)保存到轉儲文件24 (圖25以及圖28的S511)。然后,存儲器轉儲實施部29對存儲器裝置5中存在的0S21用區(qū)域44的計數(shù)器83相加I (圖25以及圖28的S512)。接下來,存儲器轉儲實施部29檢查是否對存儲器裝置5的所有區(qū)域結束了存儲器轉儲(圖29的S513)。在尚未對所有區(qū)域結束存儲器轉儲的情況下(在圖29的S513中“否”),對存儲器裝置5的接下來的頁面進行存儲器轉儲(圖25以及圖28的S511),對計數(shù)器83再次相加I(圖25以及圖28的S512)。對存儲器裝置5整體實施這個處理。在對存儲器裝置5的所有區(qū)域結束了存儲器轉儲的情況下(在圖29的S513中“是”),處理器芯I結束處理。雖然存儲器裝置5內的0S22用區(qū)域45內的存儲器轉儲實施部350的數(shù)據(jù)被破壞,但不會妨礙存儲器裝置5內的0S21用區(qū)域44的存儲器轉儲實施部290的動作,所以存儲器轉儲實施部29的存儲器轉儲正常地結束。
在S507中,如果處理器芯2的芯協(xié)作部36進行向處理器芯I的通知,則處理器芯2的存儲器轉儲異常檢測部37對監(jiān)視部81通知監(jiān)視的開始(圖26以及圖28的S514)。接收到通知的監(jiān)視部81首先檢查是否經過了一定時間(圖28的S515)。如果未經過一定時間(在S515中“否”),則監(jiān)視部81直至經過時間為止進行等待。在S515中判明經過了一定時間的情況下(在S515中“是”),監(jiān)視部81檢查處理器芯I的存儲器轉儲實施部29是否參照在S512中更新的存儲器裝置5的0S21用區(qū)域44內存在的計數(shù)器83并更新了值(圖26以及圖28的S516)。每當通過處理器芯I的存儲器轉儲實施部29實施了 I個頁面量的存儲器轉儲時,對計數(shù)器83的內容相加1,所以只要不妨礙存儲器轉儲實施部29的動作,則每當監(jiān)視部81參照計數(shù)器時值被更新。 在被更新了的情況下(在S516中“是”),監(jiān)視部81根據(jù)計數(shù)器83的值,檢查存儲器轉儲是否結束(圖28的S517)。在處理器芯I的存儲器轉儲實施部29中,針對每I個頁面(4KB)對計數(shù)器83相加1,所以在存儲器裝置5整體中實施了存儲器轉儲時的計數(shù)器值能夠通過下式計算出來,計數(shù)器83的值=存儲器安裝量+4KB,在計數(shù)器83成為該值時,能夠判斷為對存儲器裝置5整體結束了存儲器轉儲。針對存儲器裝置5整體,在存儲器轉儲尚未結束的情況下(在S517中“否”),返回到S515,再次等待一定時間(S515),檢查計數(shù)器83的值是否被更新(S516)。在S517中,計數(shù)器83的值成為表示針對存儲器裝置5整體實施了存儲器轉儲的值時,監(jiān)視部81對存儲器轉儲異常檢測部37進行處理完成的通知(圖26以及圖28的S518)。接收到通知的存儲器轉儲異常檢測部37對異常檢測部34進行處理完成的通知(圖26以及圖28的S519)。由于存儲器內容被保存,接收到通知的異常檢測部34使裝置停止或者重起動(圖26以及圖28的S520)。在S516中,計數(shù)器83的值未被更新的情況下(在S516中“否”),監(jiān)視部81對存儲器轉儲異常檢測部37進行表示存儲器轉儲處理異常的通知(圖26的S522)。存儲器轉儲異常檢測部37將異常信息保存到備份存儲器裝置8內等,在進行了異常的記錄之后,進行處理器芯I的停止(圖28的S521)。這通過使用芯協(xié)作部36進行與通常的處理器芯間通信不同的系統(tǒng)的通知,從而能夠判斷在處理器芯I中出現(xiàn)停止指示的情況。存儲器轉儲異常檢測部37基于此而判斷為無法正常地進行處理器芯I的存儲器轉儲,返回到S506,對其它處理器芯(處理器芯3 )經由芯協(xié)作部36而進行存儲器轉儲指示。由此,通過處理器芯3的存儲器轉儲實施部41實施存儲器轉儲。以上是本實施方式中的存儲器轉儲方式的發(fā)生故障時的動作。在實施方式5的存儲器轉儲方式中,在各處理器芯上,設置對其它處理器芯的存儲器轉儲處理進行監(jiān)視的監(jiān)視部,并且設置在各處理器芯中的存儲器轉儲處理中表示存儲器轉儲處理正常地動作的計數(shù)器,監(jiān)視部每隔一定時間參照該計數(shù)器,在值未被更新的情況下,判斷為異常,對其它處理器芯實施存儲器轉儲。
因此,能夠得到如下的存儲器轉儲方式在某處理器芯中的存儲器轉儲處理中發(fā)生異常并由其它處理器芯實施了存儲器轉儲時,即使成為在其它處理器芯的存儲器轉儲處理中陷入意外停機那樣的狀態(tài)的狀況,也能夠可靠地實施存儲器轉儲。以上,在本實施方式中,說明了在各處理器芯中包括以下的構成要素的存儲器轉儲方式。(I)在各處理器芯上的OS中具有以下的構成要素。(a)存儲器內存在的計數(shù)器(b)在存儲器轉儲中每隔一定時間對計數(shù)器進行更新的單元 (C)在二次存儲裝置中保存的期間發(fā)生異常而對其它處理器芯通知了存儲器轉儲之后檢查計數(shù)器值,在一定時間內值未被更新的情況下對其它處理器芯通知存儲器轉儲的單元。
權利要求
1.一種處理器裝置,與進行存儲器裝置的存儲器轉儲的其它處理器裝置連接,并與所述其它處理器裝置共用所述存儲器裝置,其特征在于,具有 故障檢測部,檢測在所述其它處理器裝置中未正常地進行存儲器轉儲的情形;以及 存儲器轉儲實施部,在由所述故障檢測部檢測到在所述其它處理器裝置中未正常地進行存儲器轉儲的情況下,代替所述其它處理器裝置而進行所述存儲器裝置的存儲器轉儲。
2.根據(jù)權利要求I所述的處理器裝置,其特征在于, 所述故障檢測部從所述其它處理器裝置接收未正常地進行存儲器轉儲的意思的通知,檢測在所述其它處理器裝置中未正常地進行存儲器轉儲的情形。
3.根據(jù)權利要求I或者2所述的處理器裝置,其特征在于, 所述處理器裝置還具有監(jiān)視部,該監(jiān)視部在所述其它處理器裝置正常地動作的期間監(jiān)視由所述其它處理器裝置以規(guī)定的周期更新的計數(shù)器值,在所述計數(shù)器值的更新停止了的情況下,判斷為所述其它處理器裝置未正常地動作,對所述存儲器轉儲實施部指示進行所述存儲器裝置的存儲器轉儲, 所述存儲器轉儲實施部根據(jù)來自所述監(jiān)視部的指示,進行所述存儲器裝置的存儲器轉儲。
4.根據(jù)權利要求廣3中的任意一項所述的處理器裝置,其特征在于, 所述處理器裝置還具有存儲器轉儲完成通知部,該存儲器轉儲完成通知部在由所述存儲器轉儲實施部實施的存儲器轉儲正常地完成了的情況下,向所述其它處理器裝置通知由所述存儲器轉儲實施部實施的存儲器轉儲正常地完成。
5.根據(jù)權利要求廣4中的任意一項所述的處理器裝置,其特征在于, 所述處理器裝置與將邏輯地址變換為所述存儲器裝置的物理地址的MMU (MemoryManagement Unit)連接,被分配以所述存儲器裝置內的一部分物理地址為對象的邏輯地址,在存儲器轉儲時以外,連接到使用所述MMU僅能夠對以所分配的邏輯地址為對象的一部分物理地址進行訪問的其它處理器裝置。
6.根據(jù)權利要求廣5中的任意一項所述的處理器裝置,其特征在于, 所述處理器裝置與將邏輯地址變換為所述存儲器裝置的物理地址的MMU (MemoryManagement Unit)連接,被分配以所述存儲器裝置內的所有物理地址為對象的邏輯地址, 所述存儲器轉儲實施部使用所述MMU,訪問所述存儲器裝置內的所有物理地址而進行存儲器轉儲。
7.根據(jù)權利要求1飛中的任意一項所述的處理器裝置,其特征在于, 所述處理器裝置與將邏輯地址變換為所述存儲器裝置的物理地址的MMU (MemoryManagement Unit)連接,被分配以所述存儲器裝置內的一部分物理地址為對象的邏輯地址,在存儲器轉儲時以外,使用所述MMU,僅能夠訪問以所分配的邏輯地址為對象的一部分物理地址, 所述處理器裝置還具有訪問控制部,該訪問控制部在存儲器轉儲時,設定以所述存儲器裝置內的所有物理地址為對象的邏輯地址,設為所述存儲器轉儲實施部能夠訪問所述存儲器裝置內的所有物理地址的狀態(tài), 所述存儲器轉儲實施部使用所述MMU,訪問所述存儲器裝置內的所有物理地址而進行存儲器轉儲。
8.根據(jù)權利要求廣7中的任意一項所述的處理器裝置,其特征在于, 所述處理器裝置與分別共用所述存儲器裝置并進行所述存儲器裝置的存儲器轉儲的2個以上的其它處理器裝置連接, 所述處理器裝置還具有存儲器轉儲要求部,該存儲器轉儲要求部監(jiān)視由所述存儲器轉儲實施部實施的存儲器轉儲的實施狀況,當檢測到在所述存儲器轉儲實施部中未正常地進行存儲器轉儲的情況下,對由所述故障檢測部檢測到未正常地進行存儲器轉儲的處理器裝置以外的其它處理器裝置進行要求使得代替所述存儲器轉儲實施部而實施所述存儲器裝置的存儲器轉儲。
9.根據(jù)權利要求廣8中的任意一項所述的處理器裝置,其特征在于, 所述處理器裝置與分別共用所述存儲器裝置并進行所述存儲器裝置的存儲器轉儲的2個以上的其它處理器裝置連接, 所述處理器裝置還具有計數(shù)器值更新部,該計數(shù)器值更新部在由所述存儲器轉儲實施部正常地進行存儲器轉儲的期間,以規(guī)定的周期更新由至少某一個其它處理器裝置監(jiān)視更新狀況的計數(shù)器值。
10.一種處理器裝置,與其它處理器裝置連接,并與所述其它處理器裝置共用存儲器裝置,其特征在于,具有 存儲器轉儲實施部,在規(guī)定的情況下,進行所述存儲器裝置的存儲器轉儲;以及 存儲器轉儲要求部,監(jiān)視由所述存儲器轉儲實施部實施的存儲器轉儲的實施狀況,當檢測到在所述存儲器轉儲實施部中未正常地進行存儲器轉儲的情況下,對所述其它處理器裝置進行要求使得代替所述存儲器轉儲實施部而實施所述存儲器裝置的存儲器轉儲。
11.根據(jù)權利要求10所述的處理器裝置,其特征在于, 所述處理器裝置還具有計數(shù)器值更新部,該計數(shù)器值更新部以規(guī)定的周期更新由所述其它處理器裝置監(jiān)視更新狀況的計數(shù)器值。
12.根據(jù)權利要求10或者11所述的處理器裝置,其特征在于, 所述處理器裝置還具有監(jiān)視部,該監(jiān)視部在所述存儲器轉儲要求部對所述其它處理器裝置要求實施存儲器轉儲之后,在所述其它處理器裝置中正常地進行存儲器轉儲的期間,監(jiān)視由所述其它處理器裝置以規(guī)定的周期更新的計數(shù)器值,在所述計數(shù)器值的更新停止了的情況下,判斷為在所述其它處理器裝置中未正常地進行存儲器轉儲。
13.根據(jù)權利要求12所述的處理器裝置,其特征在于, 所述處理器裝置與分別共用所述存儲器裝置并進行所述存儲器裝置的存儲器轉儲的2個以上的其它處理器裝置連接, 所述存儲器轉儲要求部在由所述監(jiān)視部判斷為在要求實施存儲器轉儲的處理器裝置中未正常地進行存儲器轉儲的情況下,對由所述監(jiān)視部判斷為未正常地進行存儲器轉儲的處理器裝置以外的其它處理器裝置要求實施所述存儲器裝置的存儲器轉儲。
14.根據(jù)權利要求1(T13中的任意一項所述的處理器裝置,其特征在于, 所述處理器裝置與將邏輯地址變換為所述存儲器裝置的物理地址的MMU (MemoryManagement Unit)連接,被分配以所述存儲器裝置內的一部分物理地址為對象的邏輯地址,在存儲器轉儲時以外,使用所述MMU,僅能夠訪問以所分配的邏輯地址為對象的一部分物理地址,所述處理器裝置還具有訪問控制部,該訪問控制部在存儲器轉儲時,設定以所述存儲器裝置內的所有物理地址為對象的邏輯地址,設為所述存儲器轉儲實施部能夠訪問所述存儲器裝置內的所有物理地址的狀態(tài), 所述存儲器轉儲實施部使用所述MMU,訪問所述存儲器裝置內的所有物理地址而進行存儲器轉儲。
15.一種程序,其特征在于,使與進行存儲器裝置的存儲器轉儲的其它處理器裝置連接、并與所述其它處理器裝置共用所述存儲器裝置的處理器裝置執(zhí)行 故障檢測處理,檢測在所述其它處理器裝置中未正常地進行存儲器轉儲的情形;以及 存儲器轉儲實施處理,在通過所述故障檢測處理檢測到在所述其它處理器裝置中未正常地進行存儲器轉儲的情況下,代替所述其它處理器裝置而進行所述存儲器裝置的存儲器轉儲。
16.一種程序,其特征在于,使與其它處理器裝置連接、并與所述其它處理器裝置共用存儲器裝置的處理器裝置執(zhí)行 存儲器轉儲實施處理,在規(guī)定的情況下,進行所述存儲器裝置的存儲器轉儲;以及 存儲器轉儲要求處理,監(jiān)視通過所述存儲器轉儲實施處理實施的存儲器轉儲的實施狀況,當檢測到在所述存儲器轉儲實施處理中未正常地進行存儲器轉儲的情況下,對所述其它處理器裝置進行要求使得代替所述存儲器轉儲實施處理而實施所述存儲器裝置的存儲器轉儲。
全文摘要
在處理器芯(2)的存儲器轉儲實施部(35)將作為共用存儲器的存儲器裝置(5)的數(shù)據(jù)保存到HDD裝置(7)時發(fā)生了異常的情況下,存儲器轉儲異常檢測部(37)檢測存儲器轉儲異常,芯協(xié)作部(36)對處理器芯(1)的芯協(xié)作部(30)通知存儲器轉儲異常,處理器芯(1)的存儲器轉儲實施部(29)從芯協(xié)作部(30)被通知存儲器轉儲實施部(35)的存儲器轉儲異常,代替存儲器轉儲實施部(35)而將存儲器裝置(5)的數(shù)據(jù)保存到HDD裝置(7)。
文檔編號G06F11/34GK102971715SQ201080067910
公開日2013年3月13日 申請日期2010年7月6日 優(yōu)先權日2010年7月6日
發(fā)明者攝津敦 申請人:三菱電機株式會社
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1