"ログデータの格納が指示されたときに、メモリ上に該ログデータを格納するログ領域を確保する確保部と、前記ログデータを前記ログ領域に格納するログ格納部と、前記確保部で新たに確保されたログ領域よりも前に確保済のログ領域が存在する場合、前記新たに確保されたログ領域の場所を示す場所データを前記確保済のログ領域と関連付けて格納する場所格納部とを備えたことを特徴とするログ保存装置。前記場所格納部は、前記確保部によって前記メモリ上に最初にログ領域が確保された場合には、前記最初に確保されたログ領域の場所を示す場所データを、該メモリ上に用意された、ログデータの格納には用いられない管理領域に格納するものであることを特徴とする請求項1記載のログ保存装置。前記ログ格納部は、前記ログ領域に、前記ログデータと共に、該ログデータの長さを表すログ長データも格納するものであることを特徴とする請求項1または2記載のログ保存装置。情報処理装置に組み込まれて該情報処理装置を、ログデータの格納が指示されたときに、メモリ上に該ログデータを格納するログ領域を確保する確保部と、前記ログデータを前記ログ領域に格納するログ格納部と、前記確保部で新たに確保されたログ領域よりも前に確保済のログ領域が存在する場合、前記新たに確保されたログ領域の場所を示す場所データを前記確保済のログ領域と関連付けて格納する場所格納部とを備えたログ保存装置として動作させることを特徴とするログ保存プログラム。しかし、空き領域が枯渇する前にメモリ上のログデータを外部記憶装置に待避させる上記技術の場合、その待避に要する時間によってシステムのトータルな性能低下を招いてしまう。また、上記特許文献1の技術は、余計な上書きは減らすことが出来るものの、ラップアラウンド制御によるログデータの上書きそのものを回避することにはならない。更に、上記特許文献2の技術は、断片化された記憶領域を効率よく利用することは出来るものの、ログデータの保存にそのまま適用することは出来ない。上記事情に鑑み、本件開示は、ログデータの保存に過不足のない記憶領域を確保してログデータをメモリに保存することができるログ保存装置およびログ保存プログラムを提供することを目的とする。上記目的を達成するログ保存装置は、確保部とログ格納部と場所格納部とを備えている。上記確保部は、ログデータの格納が指示されたときに、メモリ上にこのログデータを格納するログ領域を確保するものである。上記ログ格納部は、上記ログデータを上記ログ領域に格納するものである。上記場所格納部は、上記確保部で新たに確保されたログ領域よりも前に確保済のログ領域が存在する場合、上記新たに確保されたログ領域の場所を示す場所データを上記確保済のログ領域と関連付けて格納するものである。上記目的を達成するログ保存プログラムは、情報処理装置に組み込まれて該情報処理装置を、上記確保部と上記ログ格納部と上記場所格納部とを備えたログ保存装置として動作させる。本件開示によれば、ログデータの保存に過不足のない記憶領域を確保してログデータをメモリに保存することができる。上記説明したログ保存装置およびログ保存プログラムに対する具体的な実施形態を、以下図面を参照して説明する。図1は、情報処理装置の一例に相当するストレージ装置を示す図である。このストレージ装置には、ログ保存プログラムの一実施形態が組み込まれて実行される。図1に示すストレージ装置300は、複数図1の例では6つのディスク装置310を内蔵している。これらのディスク装置310は、それぞれがデータを記憶する装置である。なお、ディスク装置の種類としては、HDDHardDiskDriveやSSDSolidStateDiskなどが存在する。そして図1に示すディスク装置310にはどの種類のディスク装置も採用可能である。また、ストレージ装置300は、複数図1の例では3つのコントローラモジュールCM320を備えている。CM320には、チャネルアダプタCA330とデバイスアダプタDA340とダイレクトメモリアクセスDMAコントローラ350が備えられている。更に後述するように、CM320には、CPUやメモリなども備えられているので、このCPUで動作されるプログラムの内容によってCM320は種々の処理を実行することができる。CA330は、上位装置であるホスト400に接続されている。そしてCM320は、CA330を介してホスト400から、書込み命令や、その書込み命令に従ってディスク装置310に書き込まれるデータを受け取る。また、CM320はCA330を介してホスト400から読出し命令を受け取り、その読出し命令に従ってディスク装置310から読み出されたデータをCA330を介してホスト400へ送る。DA340はディスク装置310に接続されている。そしてCM320はDA340を介してディスク装置310にアクセスすることでデータをディスク装置310と遣り取りする。DMAコントローラ350は、CM320の相互接続に用いられる装置である。即ち、各CM320はDMAコントローラ350を介して、必要に応じてデータを相互に転送する。データの転送が必要になる場合とは、例えば、あるCM320に接続されていないディスク装置310に対するアクセスの命令をこのCM320が受け取った場合などである。なお、図1に示す、CM320とホスト400との1対1の接続関係、およびCM320とディスク装置310との1対2の接続関係は単なる一例であって、CA330やDA340で物理的に対応可能な範囲内であればCM320の設定によって接続関係は変更可能である。次に、CM320の構造の詳細について説明する。図2は、CMの構造の詳細を示す図である。CM320は、構成要素として、上述したCA330、DA340、DMAコントローラ350の他に、CPU360、メモリ370、チップセット380、バスブリッジ390を備えている。チップセット380はノースブリッジ381とサウスブリッジ382を含んでいる。メモリ370に展開ローディングされたプログラムに従ってCPU360が動作することによってCM320は各種の機能を果たすことになる。また、CM320は、構成要素の相互接続に用いられる複数のPCIバス391も備えている。更に、CM320は、構成要素として、フラッシュROM392、スーパーI/O393、コンパクトフラッシュ登録商標394、システム監視回路395、LANコントローラ396も備えている。フラッシュROM392はBIOSを記憶した記憶素子である。スーパーI/O393は、このストレージ装置300を外部から操作するための操作端末が接続されるインターフェースである。コンパクトフラッシュ登録商標394は、CPU360に各種の動作を実行させるプログラムを記憶した記憶素子である。システム監視回路395は、CM320内に備えられている各構成要素で生じた状態情報や、CM320に接続されているディスク装置における各種の内部状態の情報を集めて出力するものである。チップセット380にはPCIバス391を介して、CPU360、バスブリッジ390、システム監視回路395、LANコントローラ396が接続されている。更に、バスブリッジ390にはPCIバス391を介して、CA330、DA340、DMAコントローラ350が接続されている。一方、メモリ370は、チップセット380のノースブリッジ381に、バスを介さず直接に接続されている。また、フラッシュROM392、スーパーI/O393、コンパクトフラッシュ登録商標394は、チップセット380のサウスブリッジ382に、バスを介さず直接に接続されている。図2には、メモリ370にローディングされたログ保存プログラム100が示されている。このログ保存プログラム100が、課題を解決するための手段で説明したログ保存プログラムの一実施形態に相当する。本実施形態では、メモリ370にローディングされる前のログ保存プログラム100は、コンパクトフラッシュ登録商標394に記憶されている。そして、例えばストレージ装置300の起動時などに例えばBIOSなどによって、このログ保存プログラム100はコンパクトフラッシュ登録商標394からメモリ370へとローディングされる。このメモリ370にローディングされたログ保存プログラム100がCPU360で実行されることにより、CM320はログ保存装置の一実施形態として機能する。従ってCM320がログ保存装置の一実施形態に相当するのみならず、このCM320を備えたストレージ装置300もログ保存装置の一実施形態に相当する。本実施形態では、システム監視回路395によって集められて出力される情報が、CM320およびストレージ装置300におけるログ保存装置の一実施形態としての機能によってログデータにまとめられて保存される。本実施形態では、ログデータの保存先として、ログ保存プログラム100が展開されているメモリ370が用いられるが、ログデータの保存先は、ログ保存プログラムの展開用とは別のメモリであっても良い。以下、ログ保存プログラム100の詳細について説明する。図3は、ログ保存プログラムの構造を示す図である。ログ保存プログラム100は、構成要素として、保存要求部110とログ制御部120とメモリ管理部130とを備えている。また、ログ制御部120は、ログ保存部121とログ管理部122とを備えている。ここでは、これらの構成要素がCPU360で実行されることによって実現される機能の概略を説明し、後で更に詳細な説明を行う。保存要求部110は、システム監視回路395から情報を取得してログデータにまとめる。メモリ管理部130は、ログデータの格納領域をメモリ370上に確保する。ログ制御部120は、その確保された格納領域にログ保存部121でログデータを保存し、ログデータが保存された格納領域どうしをログ管理部122で保存順に連結する。図3に示すログ保存プログラム100の構造は、ログ保存プログラム100の実行によってログ保存装置の一実施形態としてCM320およびストレージ装置300が動作するときの機能構造にも対応している。メモリ管理部130は、メモリ上に、ログデータを格納するログ領域を確保する確保部の一例に相当する。また、ログ保存部121は、ログデータをログ領域に格納するログ格納部の一例に相当する。更に、ログ管理部122は、新たに確保されたログ領域の場所を示す場所データを確保済のログ領域と関連付けてメモリに格納する場所格納部の一例に相当する。次に、ログデータのデータ構造について説明する。図4は、メモリ上に保存されたログデータのデータ構造を示す図である。メモリの記憶領域371には、管理領域210と各ログ領域220,230が、一般に不連続に確保されている。そして、各ログ領域220,230には、ログデータが格納されるデータ部222,232と、次のログ領域のアドレスが格納される次アドレス部221,231が設けられている。各ログ領域220,230は、次アドレス部221,231に次のログ領域のアドレスが格納されることによって相互に連結されている。各データ部222,232は更に、ログデータのデータ長を表したレングス部233とログデータのデータ本体234とを含んでいる。また、管理領域210には、最終アドレス保存部211と開始アドレス保存部212が設けられている。最終アドレス保存部211には、各ログ領域220,230のうちで、最後のログデータが保存されたログ領域の開始アドレスが格納される。そして開始アドレス保存部212には、各ログ領域220,230のうちで、最初のログデータが保存されたログ領域の開始アドレスが格納される。このようなデータ構造でログデータを保存する機能について以下詳細に説明する。図5は、ログ保存プログラムの実行によって実現される機能を示す図である。また、図6は、図5に示す機能の実行タイミングを示すタイミングチャートである。保存要求部110は、システム監視回路395から情報を取得してログデータにまとめ、そのまとめたログデータをログ制御部120に送ってメモリ370への保存を要求する図6の手順1。ログ制御部120は、送られてきたログデータのデータ長を確認してメモリ管理部130に、そのデータ長に相応した格納領域図4に示すログ領域の確保を要求する図6の手順2。但し、最初のログデータが送られてきた場合には、ログ領域の確保の前に、図4に示す管理領域用の格納領域の確保を要求する。但し、この管理領域の容量は少ないので予め確保しておいてもよい。メモリ管理部130は、メモリ370上で使用済みの領域を調べることで、要求された格納領域ログ領域および管理領域について、メモリ370上の具体的な箇所を決める。そして、メモリ管理部130は、その決めた箇所について所謂malloc関数で領域確保をメモリ370に要求する図6の手順3。メモリ370は、その箇所に格納領域を確保すると領域確保をメモリ管理部130に報告する図6の手順4。その報告を受けてメモリ管理部130はログ制御部120に、獲得された格納領域を通知する図6の手順5。ログ制御部120は、最初に獲得されたログ領域については、管理領域の開始アドレス保存部に、その最初に獲得されたログ領域のアドレスを保存する図6の手順6。そして、アドレスの保存が完了するとメモリ370から保存の完了が報告される図6の手順7。また、ログ制御部120は、ログ保存部121によってログ領域に、ログデータと、そのログ領域が最終であることを示す最終識別コードを保存する図6の手順8。そして、ログデータの保存が完了するとメモリ370から保存の完了が報告される図6の手順9。ログデータの保存完了がメモリ370から報告されると、ログ制御部120は、ログ管理部122によって、最終のログ領域のアドレスを、その最終のログ領域の1つ前のログ領域の次アドレス部と、管理領域の最終アドレス保存部との双方に保存する図6の手順10。そして、アドレスの保存が完了するとメモリ370から保存の完了が報告される図6の手順11。このような機能および処理手順について、以下、フローチャートなどを参照して更に詳細に説明する。図7は、ログデータの保存手順を表すフローチャートである。最初のログデータの保存前に、まず、メモリ上にログ管理用の管理領域が確保される。そして、確保された管理領域の最終アドレス保存部と開始アドレス保存部は未使用コードで初期化されるステップS101。図8は、図7のステップS101で確保された管理領域の具体例を示す図である。ここでは、アドレス0x800に管理領域210が確保されている。また、ここでは32bitアーキテクチャが想定されていて、最終アドレス保存部211と開始アドレス保存部212とのそれぞれについて実効アドレス幅4Byteとなっている。このため、管理領域210としては、4x2=8Byteの領域が確保されている。以下、Byte数を表す数値はアドレス表記と同様に16進数による表記とする。そして、最終アドレス保存部211と開始アドレス保存部212のそれぞれには、未使用コードの一例として0x0が保存されている。このように図7のステップS101で管理領域210が確保された後、ステップS102では、ログデータの格納指示が発生するまで待機状態となる。そして、格納指示が発生するとステップS103で、malloc関数によってログ領域のアドレスが獲得される。図9は、最初のログ領域が確保された場合の具体例を示す図である。ここでは100Byteのログデータ用にログ領域220が確保された様子が示されている。100Byteのログデータに対するログ領域220のメモリサイズsとしては、次アドレス部用およびレングス部用のそれぞれに4Byteずつが用いられるので、合計で108Byteが要求される。そして、p=mallocsにより、メモリ領域上で使用可能な箇所を表したメモリアドレスp=0x1000が獲得される。即ち、最初のログ領域220として、アドレス0x1000から108Byte分が確保されたこととなる。このように図7のステップS103でログ領域が確保されると、次にステップS104で、管理領域210の開始アドレス保存部212が未使用コードで初期化されたままであるか否かが確認される。最初のログ領域220が確保された時には開始アドレス保存部212には未使用コードが保存されているので、最初の1回だけステップS105に進み、開始アドレス保存部212に最初のログ領域220のアドレスが保存される。図9に示す例では、開始アドレス保存部212にアドレス0x1000が保存されている。次に図7のステップS106では、ログ領域220のデータ部222にログ長即ちログデータの長さを表す値図9に示す例では0x100とログデータが格納される。更に、ステップS107では、ログ領域220の次アドレス部221に最終識別コードが格納される。図9に示す例では、最終識別コードとして0xffffffが格納されている。次に図7のステップS108で、管理領域210の最終アドレス保存部211が未使用コードで初期化されたままであるか否かが確認される。最終アドレス保存部211も、最初のログ領域220が確保された時には未使用コードが保存されているので、最初の1回だけはステップS109を飛ばしてステップS110に進む。このステップS110では、最終アドレス保存部211に、今回ステップS103で確保されたログ領域のアドレス自アドレスが格納される。図9に示す例では、最終アドレス保存部211にもアドレス0x1000が保存されている。図7のステップS104およびステップS110の処理によって、管理領域210に対して、最初のログ領域220の位置が登録されたことになる。このように最初のログ領域220について、ログデータの保存とログ領域の位置の登録が終わると、上述したステップS102に戻って処理が繰り返される。ここで、2回目以降のログデータの保存に関する手順について、具体例を示しながら説明する。図7のステップS102で格納指示の発生が認識されると、ステップS103で、malloc関数によってログ領域のアドレスが獲得される。図10は、2回目以降のログ領域が確保された場合の具体例を示す図である。ここでは200Byteのログデータ用にログ領域230が確保された様子が示されている。200Byteのログデータに対するログ領域230のメモリサイズsとしては、上記のように次アドレス部用およびレングス部用のそれぞれに4Byteずつが用いられるので、合計で208Byteが要求される。そして、p=mallocsにより、メモリ領域上で使用可能な箇所を表したメモリアドレスp=0x2000が獲得される。即ち、ログ領域230として、アドレス0x2000から208Byte分が確保されたこととなる。その後、図7のステップS104およびステップS105は、2回目以降であるのでスルーされてステップS106およびステップS107に進む。このステップS106およびステップS107では、最初の場合と同様に、データ部232にログ長を表す値とログデータが格納され、更に、次アドレス部231に最終識別コードが格納される。図10に示す例では、ログ長を表す値として0x200、最終識別コードとして0xffffffが格納されている。その後、図7のステップS108では、2回目以降であるので、管理領域210の最終アドレス保存部211には具体的なアドレスが格納されていると判断されてステップS109に進む。そして、ステップS109では、この最終アドレス保存部211に格納されているアドレスが示すログ領域の次アドレス部に、今回ステップS103で確保されたログ領域のアドレス自アドレスが格納される。図10の例では、最終アドレス保存部211にアドレス0x1000が格納されているので、アドレス0x1000が示すログ領域220の次アドレス部221に自アドレス0x2000が格納される。その後、図7のステップS110に進み、最終アドレス保存部211のアドレスが、今回ステップS103で確保されたログ領域のアドレス自アドレスに更新される。図10の例では、アドレス0x1000が自アドレス0x2000に更新されている。このように、2回目以降のログデータの保存では、ステップS109およびステップS110の処理によって、各ログ領域がいわば数珠繋ぎに連結されていくこととなる。このような数珠繋ぎのログ領域からログデータが参照される場合は、管理領域の開始アドレスが示すログ領域から順に、各ログ領域の次アドレス部が示す次のログ領域へと次々に辿るように参照されることになる。そして、最後のログ領域では次アドレス部が最終識別コードになる。また、ログ領域を辿る順が即ちログデータの発生順ということになるので、ログデータの順番も容易に確認できる。本実施形態によれば、ログ領域に対する上書きが行われないので、必要なログデータの消失も回避される。また、各ログ領域は、ログデータの発生時に逐次確保されるため、ログデータの記憶領域のサイズは常に、ログデータに対して過不足のないサイズとなる。このため、余計なリソースがログ領域に奪われることもない。また、本実施形態の方式では、ログ領域は際限なく増えていくことになるので、例えば1日に1回などというように定期的にログデータをメモリから外部記憶装置へ待避させることが好ましい。また、障害が多発して他の処理に必要なリソースが奪われる可能性に備えて、閾値を用意しておいて、ログ領域の容量がこの閾値を越えたらログデータをメモリから外部記憶装置へ待避させてもよい。なお、本実施形態では、管理領域210が設けられているので、ログデータの参照時には最初のログ領域を簡単かつ確実に見つけることが出来る。このことは、次のような応用形態が好適であることを意味する。この応用形態では、上記場所格納部が、上記確保部によってメモリ上に最初にログ領域が確保された場合には、その最初に確保されたログ領域の場所を示す場所データを、このメモリ上に用意された、ログデータの格納には用いられない管理領域に格納する。図4などに示した管理領域210が、この応用形態における管理領域の一例に相当する。また、図3などに示すログ管理部122は、この応用形態における場所格納部の一例にも相当する。また、本実施形態では、各ログ領域のレングス部にログ長が格納されているので、ログデータの参照時に各ログ領域を過不足無く参照することができる。このことは、次のような応用形態が好適であることを意味する。この応用形態では、上記ログ格納部が、ログ領域に、ログデータと共に、このログデータの長さを表すログ長データも格納する。図3などに示すログ保存部121は、この応用形態におけるログ格納部の一例にも相当する。なお、上記説明した実施形態では、malloc関数でログ領域を獲得する際には、特に獲得場所の限定などは行われていない。以下、本件開示のログ保存装置およびログ保存プログラムにおける種々の形態に関し、更に以下の付記を開示する。付記1ログデータの格納が指示されたときに、メモリ上に該ログデータを格納するログ領域を確保する確保部と、前記ログデータを前記ログ領域に格納するログ格納部と、前記確保部で新たに確保されたログ領域よりも前に確保済のログ領域が存在する場合、前記新たに確保されたログ領域の場所を示す場所データを前記確保済のログ領域と関連付けて格納する場所格納部とを備えたことを特徴とするログ保存装置。付記2前記場所格納部は、前記確保部によって前記メモリ上に最初にログ領域が確保された場合には、前記最初に確保されたログ領域の場所を示す場所データを、該メモリ上に用意された、ログデータの格納には用いられない管理領域に格納するものであることを特徴とする請求項1記載のログ保存装置。付記3前記ログ格納部は、前記ログ領域に、前記ログデータと共に、該ログデータの長さを表すログ長データも格納するものであることを特徴とする請求項1または2記載のログ保存装置。付記4情報処理装置に組み込まれて該情報処理装置を、ログデータの格納が指示されたときに、メモリ上に該ログデータを格納するログ領域を確保する確保部と、前記ログデータを前記ログ領域に格納するログ格納部と、前記確保部で新たに確保されたログ領域よりも前に確保済のログ領域が存在する場合、前記新たに確保されたログ領域の場所を示す場所データを前記確保済のログ領域と関連付けて格納する場所格納部とを備えたログ保存装置として動作させることを特徴とするログ保存プログラム。付記5前記場所格納部は、前記確保部によって前記メモリ上に最初にログ領域が確保された場合には、前記最初に確保されたログ領域の場所を示す場所データを、該メモリ上に用意された、ログデータの格納には用いられない管理領域に格納するものであることを特徴とする付記4記載のログ保存プログラム。付記6前記ログ格納部は、前記ログ領域に、前記ログデータと共に、該ログデータの長さを表すログ長データも格納するものであることを特徴とする付記4または5記載のログ保存プログラム。"