JP2013232075A - 情報処理装置及びプログラム - Google Patents
情報処理装置及びプログラム Download PDFInfo
- Publication number
- JP2013232075A JP2013232075A JP2012103248A JP2012103248A JP2013232075A JP 2013232075 A JP2013232075 A JP 2013232075A JP 2012103248 A JP2012103248 A JP 2012103248A JP 2012103248 A JP2012103248 A JP 2012103248A JP 2013232075 A JP2013232075 A JP 2013232075A
- Authority
- JP
- Japan
- Prior art keywords
- storage capacity
- storage
- effective
- area
- control unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】実記憶容量に違いがあるストレージデバイス間で複製を行っても、GPT方式で作成されたパーティションに適切にアクセス可能な情報処理装置及びプログラムの提供。
【解決手段】実記憶容量が2TiBを超える場合に、あらかじめ定められた複数の数値範囲の中から、実記憶容量が含まれる数値範囲を特定し、当該特定された数値範囲に応じて決まる当該数値範囲の下限値以下の所定値を、ストレージデバイスにおける有効な記憶容量である有効記憶容量として設定する(S12)。そして、ストレージデバイス上に作成されたパーティションが、GPT方式のパーティションである場合、記憶領域の終端側にある第二管理領域の位置を、前記有効記憶容量に基づいて特定して、第二管理領域に対するアクセスを行う(S2)。
【選択図】図2
【解決手段】実記憶容量が2TiBを超える場合に、あらかじめ定められた複数の数値範囲の中から、実記憶容量が含まれる数値範囲を特定し、当該特定された数値範囲に応じて決まる当該数値範囲の下限値以下の所定値を、ストレージデバイスにおける有効な記憶容量である有効記憶容量として設定する(S12)。そして、ストレージデバイス上に作成されたパーティションが、GPT方式のパーティションである場合、記憶領域の終端側にある第二管理領域の位置を、前記有効記憶容量に基づいて特定して、第二管理領域に対するアクセスを行う(S2)。
【選択図】図2
Description
本発明は、情報処理装置及びプログラムに関する。
従来、ストレージデバイスの記憶領域に作成されるパーティションの管理方式としては、MBR(Master Boot Record)方式が広く用いられてきた。しかし、近年、ストレージデバイスの大容量化が進み、2TiB(2×240バイト)を超える記憶容量のストレージデバイスが登場したため、MBR方式では適正なパーティション管理ができない状況に至っている。
そのため、大容量ストレージデバイスにも対応したパーティション管理方式として、既にGPT(GUID Partition Table)方式と呼ばれる管理方式が提案され、事実上の標準的な規格として普及しつつある(例えば、特許文献1の段落[0032]及び[図10]参照。)。
ところで、ストレージデバイスの故障時に備えてストレージデバイスのバックアップを作成したい場合や、全く同一のデータが記録されたストレージデバイスを工業的に量産したい場合に、複製元のストレージデバイスから複製先のストレージデバイスへ記憶領域の内容を丸ごと複製することがある。
しかし、このような複製を行う際、ストレージデバイスの記憶領域にGPT方式でパーティションが作成されていると、以下のような問題が発生する。
まず、ストレージデバイスの記憶領域にGPT方式でパーティションが作成されている場合(図4中の複製元ストレージデバイス参照。)、記憶領域の先頭側には、プライマリパーティションテーブルと呼ばれる管理領域(以下、第一管理領域とも称する。)が確保される。また、記憶領域の末尾側には、バックアップパーティションテーブルと呼ばれる管理領域(以下、第二管理領域とも称する。)が確保される。
まず、ストレージデバイスの記憶領域にGPT方式でパーティションが作成されている場合(図4中の複製元ストレージデバイス参照。)、記憶領域の先頭側には、プライマリパーティションテーブルと呼ばれる管理領域(以下、第一管理領域とも称する。)が確保される。また、記憶領域の末尾側には、バックアップパーティションテーブルと呼ばれる管理領域(以下、第二管理領域とも称する。)が確保される。
第二管理領域は、第一管理領域のバックアップとして利用され、例えば、第一管理領域内に不整合が見つかった場合には、第二管理領域が参照される。このとき、第二管理領域内に不整合が見つからなければ、第二管理領域のデータを利用して第一管理領域の修復を行うことができる。また、第二管理領域内にも不整合が見つかれば、データの信頼性が保証できないものと判断して、パーティションへのアクセスを禁止するなどの対処ができる。
このような前提のもと、ストレージデバイスの記憶領域を丸ごと複製する際には、複製先のストレージデバイスの実記憶容量が、複製元のストレージデバイスの実記憶容量以上であれば、複製を行うこと自体は可能である。
しかし、実記憶容量が異なるストレージデバイス間で複製を行うと、図4に例示するように、複製先のストレージデバイスにおいて「本来第二管理領域があるべき領域(図4参照)」には、複製元の第二管理領域と同等なデータが複製されないことになる。また、「複製元の第二管理領域と同等なデータが複製された領域(図4参照)」は存在するものの、その領域は本来第二管理領域があるべき領域とは別の位置になる。
そのため、PC(Personal Computer)などの情報処理装置は、複製先のストレージデバイスにGPT方式でパーティションが作成されていると想定される場合、「本来第二管理領域があるべき領域」から所期のデータを読み込もうとするものの、不正なデータが読み込まれることになる。その結果、第一管理領域と第二管理領域との間でデータの不整合が生じ、ストレージデバイス上のパーティションに対して適正なアクセスができなくなるなどの問題を招くことになる。
こうした問題を回避する方法として、理想的には、複製元のストレージデバイスと複製先のストレージデバイスとで、実記憶容量が一致するものを使用すればよい。この場合、第二管理領域が記憶領域の末尾に複製されるので、上述のような問題は発生しない。
しかし、現実的には、実記憶容量が一致するストレージデバイスを用意するのは、必ずしも容易ではない、という問題がある。
例えば、市販されているストレージデバイスの記憶容量は、近年、2TB、2.5TB、3TB…といった具合に、概ね0.5TB区切りで容量の表記がなされているが、これらの表記は、厳密な意味で正確な実記憶容量を表す表記ではないことが多い。
例えば、市販されているストレージデバイスの記憶容量は、近年、2TB、2.5TB、3TB…といった具合に、概ね0.5TB区切りで容量の表記がなされているが、これらの表記は、厳密な意味で正確な実記憶容量を表す表記ではないことが多い。
一例を挙げると、2.5TBと表記されているハードディスク装置の場合、業界の慣例として、少なくとも2.5×1012バイトの記憶容量は確保されているが、更にいくらか端数分の記憶容量が上乗せされた実記憶容量となっていることが多い。
この端数分の記憶容量は、ハードディスク装置において採用されているプラッタ当たりの記憶容量や、エラー訂正用に確保される記憶容量などが一律ではないため、メーカーごとに異なっていたり、メーカーは同じでも型番違いの機種ごとに異なっていたりする。あるいは、メーカー及び型番まで同一の機種であっても、仕様変更の前後で実記憶容量が異なっていることもある。さらに、2.5TBと表記されているストレージデバイスであっても、それが2.5TiBを意味する表記であれば、その記憶容量は2.5×240バイトとなるので、この場合も、実記憶容量は2.5×1012バイトより大きくなる。
つまり、表記上は2.5TBとの表記がなされている製品であっても、厳密な意味では実記憶容量が若干異なる可能性があり、その場合、記憶領域中のセクタ数も変わり得るため、記憶領域の末尾(最終セクタ)の位置は同一にはならないことがある。
そのため、このような表記に頼って同一表記の製品を入手したとしても、厳密な意味で実記憶容量が一致するストレージデバイスであるかどうかの保証はなく、特に型番まで同一の機種であっても仕様変更の前後で実記憶容量が異なることがある状況下では、実記憶容量が一致するストレージデバイスを入手することは困難であった。
したがって、例えばバックアップを作成したくても、実記憶容量がぴったり一致するデバイスが見つからない以上、複製によるバックアップの作成を断念せざるを得なかった。また、ストレージデバイスを複製して工業的に同じデータが記憶された製品を量産する場合にも、実記憶容量がぴったり一致するデバイスが見つからない限り、複製による量産をすることはできなかった。
本発明は、上記問題を解決するためになされたものであり、その目的は、実記憶容量に若干の違いがあるストレージデバイス間で複製を行った場合であっても、GPT方式で作成されたパーティションに適切にアクセス可能な情報処理装置と、そのような情報処理装置を構成するためのプログラムを提供することにある。
以下、本発明において採用した構成について説明する。
本発明の情報処理装置は、ストレージデバイスの実際の記憶容量である実記憶容量を検出する実記憶容量検出手段と、前記実記憶容量検出手段によって検出された前記実記憶容量が2TiBを超える場合に、あらかじめ定められた複数の数値範囲の中から、前記実記憶容量が含まれる数値範囲を特定し、当該特定された数値範囲に応じて決まる当該数値範囲の下限値以下の所定値を、前記ストレージデバイスにおける有効な記憶容量である有効記憶容量として設定する有効記憶容量設定手段と、前記ストレージデバイス上に作成されたパーティションが、GPT(GUID Partition Table)方式のパーティションである場合に、前記ストレージデバイスが備える記憶領域の始端側にある第一管理領域及び前記記憶領域の終端側にある第二管理領域のうち、前記第二管理領域の前記記憶領域内における位置を、前記有効記憶容量設定手段によって設定された前記有効記憶容量に基づいて特定して、前記第二管理領域に対するアクセスを行うデータ処理手段とを備えることを特徴とする。
本発明の情報処理装置は、ストレージデバイスの実際の記憶容量である実記憶容量を検出する実記憶容量検出手段と、前記実記憶容量検出手段によって検出された前記実記憶容量が2TiBを超える場合に、あらかじめ定められた複数の数値範囲の中から、前記実記憶容量が含まれる数値範囲を特定し、当該特定された数値範囲に応じて決まる当該数値範囲の下限値以下の所定値を、前記ストレージデバイスにおける有効な記憶容量である有効記憶容量として設定する有効記憶容量設定手段と、前記ストレージデバイス上に作成されたパーティションが、GPT(GUID Partition Table)方式のパーティションである場合に、前記ストレージデバイスが備える記憶領域の始端側にある第一管理領域及び前記記憶領域の終端側にある第二管理領域のうち、前記第二管理領域の前記記憶領域内における位置を、前記有効記憶容量設定手段によって設定された前記有効記憶容量に基づいて特定して、前記第二管理領域に対するアクセスを行うデータ処理手段とを備えることを特徴とする。
このように構成された情報処理装置においては、実記憶容量が2TiB以上のストレージデバイスについて、実記憶容量に多少の違いがあっても、その実記憶容量が含まれる数値範囲が同じであれば、同じ有効記憶容量が設定される。そして、ストレージデバイス上にGPT方式のパーティションが作成されている場合、記憶領域の終端側にある第二管理領域に対するアクセスを行う際には、設定された有効記憶容量に基づいて、第二管理領域の記憶領域内における位置を特定して、第二管理領域に対するアクセスを行う。
そのため、実記憶容量に多少の違いがあるストレージデバイスであっても、同じ有効記憶容量が設定されるストレージデバイスであれば、同じ有効記憶容量に基づいて同じ位置に第二管理領域が存在するものと認識することになる。
したがって、このような情報処理装置によれば、実記憶容量が異なっていても、同じ有効記憶容量が設定されるストレージデバイス同士であれば、一方のストレージデバイスの記憶内容を他方のストレージデバイスへそのまま複製して利用することが可能となる。
より詳しく説明すると、実記憶容量に基づいて第二管理領域の位置を特定する一般的なGPT方式対応の情報処理装置の場合、実記憶容量が異なれば第二記憶領域も異なる位置にあると認識する。そのため、実記憶容量が異なるストレージデバイス間で一方の記憶内容を他方へそのまま複製しても、複製先で第二記憶領域と認識される位置には、複製元の第二記憶領域が存在しないことになり、そのままでは、第二管理領域に対するアクセスを正常に実施することはできなくなる。
これに対し、本発明においては、上述した有効記憶容量に基づいて第二管理領域の位置を特定するので、実記憶容量が異なっていても、有効記憶容量が同じであれば第二記憶領域は同じ位置にあると認識する。そのため、有効記憶容量が同じストレージデバイス間で一方の記憶内容を他方へそのまま複製すれば、複製先で第二記憶領域と認識される位置には、複製元の第二記憶領域が存在することになり、第二管理領域に対するアクセスを正常に実施することができる。
よって、このような本発明の情報処理装置であれば、ストレージデバイスの実記憶容量に若干の違いがあっても、複製されたストレージデバイスを適正に利用することができ、これにより、例えばバックアップを作成する際に、実記憶容量がぴったり一致するデバイスを利用しなくても済むようになる。また、ストレージデバイスを複製して工業的に同じ製品を量産する場合にも、実記憶容量がぴったり一致するデバイスを利用することなく、所期の製品を量産することができるようになる。
ところで、本発明の情報処理装置において、前記データ処理手段は、前記第一管理領域及び前記第二管理領域それぞれから読み出されるデータに基づいて、いずれか一方又は両方のデータが不正であった場合に、不正なデータを修復する処理、又は不正なデータに基づく前記ストレージデバイスへのアクセスを禁止する処理を実行すると好ましい。
このように構成された情報処理装置においては、第一管理領域及び第二管理領域それぞれから読み出されるデータの少なくとも一方が不正であった場合に、そのような不正なデータに基づいてストレージデバイスへアクセスしてしまうのを、未然に防ぐことができる。
特に、実記憶容量が異なるストレージデバイス間で、記憶領域の複製を行った場合であっても、有効記憶容量が同じであれば第二記憶領域は同じ位置にあると認識されて、複製先となったストレージデバイスにおいても第二管理領域に対するアクセスを正常に実施できるので、第一管理領域及び第二管理領域それぞれから読み出されるデータに不正がないかどうかを正しく検査することができる。
なお、本発明は、GPT方式のパーティションが作成されることとなる2TiB以上の記憶容量を持つストレージデバイスを対象とする発明であるが、そのようなストレージデバイスの具体例としては、ハードディスク装置、ハードディスク装置と同等な接続インターフェースを備えたSSD(Solid State Drive)、コンパクトフラッシュ(登録商標)、又はコンパクトフラッシュと同等な接続インターフェースを備えたハードディスク装置などを挙げることができる。
さらに、本発明のプログラムは、ストレージデバイスが接続されるとともに、プログラムに従って各種制御を実行する制御部を備えていて、前記制御部が、オペレーティングシステムを機能させるとともに、当該オペレーティングシステムの制御下で構成されるカーネル空間では、前記ストレージデバイスに対する制御を実行するデバイス制御部を機能させる情報処理装置において、前記制御部を前記デバイス制御部を構成する手段として機能させるプログラムであって、前記制御部を、前記ストレージデバイスの実際の記憶容量である実記憶容量を検出する実記憶容量検出手段、前記実記憶容量検出手段によって検出された前記実記憶容量が2TiBを超える場合に、あらかじめ定められた複数の数値範囲の中から、前記実記憶容量が含まれる数値範囲を特定し、当該特定された数値範囲に応じて決まる当該数値範囲の下限値以下の所定値を、前記ストレージデバイスにおける有効な記憶容量である有効記憶容量として設定する有効記憶容量設定手段、及び、前記ストレージデバイス上に作成されたパーティションが、GPT(GUID Partition Table)方式のパーティションである場合に、前記ストレージデバイスが備える記憶領域の始端側にある第一管理領域及び前記記憶領域の終端側にある第二管理領域のうち、前記第二管理領域の前記記憶領域内における位置を、前記有効記憶容量設定手段によって設定された前記有効記憶容量に基づいて特定して、前記第二管理領域に対するアクセスを行うデータ処理手段として機能させることを特徴とする。
このようなプログラムにより、デバイス制御部を構成する上記各手段として制御部を機能させれば、本発明の情報処理装置を構成することができる。
また、デバイス制御部を構成する上記各手段のうち、データ処理手段は、オペレーティングシステムの一部として実装されている場合があるので、その場合は、制御部を実記憶容量検出手段及び有効記憶容量設定手段として機能させるプログラムを利用するだけで、上記デバイス制御部を構成することができる。
また、デバイス制御部を構成する上記各手段のうち、データ処理手段は、オペレーティングシステムの一部として実装されている場合があるので、その場合は、制御部を実記憶容量検出手段及び有効記憶容量設定手段として機能させるプログラムを利用するだけで、上記デバイス制御部を構成することができる。
具体的には、本発明のプログラムは、ストレージデバイスが接続されるとともに、プログラムに従って各種制御を実行する制御部を備えていて、前記制御部が、オペレーティングシステムを機能させるとともに、当該オペレーティングシステムの制御下で構成されるカーネル空間では、前記ストレージデバイスに対する制御を実行するデバイス制御部を機能させる情報処理装置において、前記制御部を前記デバイス制御部を構成する手段として機能させるプログラムであって、前記制御部を、前記ストレージデバイスの実際の記憶容量である実記憶容量を検出する実記憶容量検出手段、及び、前記実記憶容量検出手段によって検出された前記実記憶容量が2TiBを超える場合に、あらかじめ定められた複数の数値範囲の中から、前記実記憶容量が含まれる数値範囲を特定し、当該特定された数値範囲に応じて決まる当該数値範囲の下限値以下の所定値を、前記ストレージデバイスにおける有効な記憶容量である有効記憶容量として設定する有効記憶容量設定手段として機能させるプログラムとされており、前記デバイス制御部では、前記ストレージデバイス上に作成されたパーティションが、GPT(GUID Partition Table)方式のパーティションである場合に、前記ストレージデバイスが備える記憶領域の始端側にある第一管理領域及び前記記憶領域の終端側にある第二管理領域のうち、前記第二管理領域の前記記憶領域内における位置を、前記有効記憶容量設定手段によって設定された前記有効記憶容量に基づいて特定して、前記第二管理領域に対するアクセスが行われる、という構成になっていてもよい。
次に、本発明の実施形態について一例を挙げて説明する。
[システム全体の構成]
図1は、パーソナルコンピュータ1(以下、PC1という)の概略的な構成を示すブロック図である。このPC1は、図1に示すように、CPU11、ROM12、RAM13、HDD14(ハードディスク装置14)、操作部15、表示部16、及び通信インターフェース17など、この種のPCとして周知の各種構成を備えている。
[システム全体の構成]
図1は、パーソナルコンピュータ1(以下、PC1という)の概略的な構成を示すブロック図である。このPC1は、図1に示すように、CPU11、ROM12、RAM13、HDD14(ハードディスク装置14)、操作部15、表示部16、及び通信インターフェース17など、この種のPCとして周知の各種構成を備えている。
これらのうち、CPU11、ROM12、及びRAM13は、PC1の各部を制御する制御部1Aを構成している。PC1には、OSとしてLinux(登録商標;以下同様。)が搭載されており、制御部1Aにおいて各種プログラムに従った処理がCPU11によって実行されることにより、制御部1AがOSを機能させる。そして、OSの制御下で構成されるカーネル空間では、ストレージデバイスに対する制御を実行するデバイス制御部1Bが機能する。
また、このPC1において、HDD14の記憶領域には、実記憶容量よりもいくらか小さい有効記憶容量が設定されていて、この有効記憶容量の記憶領域を対象にして、GPT方式でパーティションが作成されている。ここで、実記憶容量とは、HDD14が本来備えている記憶容量のことである。また、有効記憶容量とは、PC1の備えるOSがHDD14の記憶容量として認識する記憶容量のことである。
一般的なPCの場合、ここでいう実記憶容量と有効記憶容量は一致するのが普通である。しかし、本実施形態のPC1は、2TiBを超える記憶容量を持つストレージデバイスについては、後述する処理により、実記憶容量よりもいくらか小さい記憶容量を有効記憶容量として認識する。そして、以降、ストレージデバイスは、有効記憶容量の記憶領域を備えるデバイスとして扱われ、実記憶容量と有効記憶容量との差分となる領域については、OSに認識されない領域(空き領域)とされる。
[パーティションの認識に関連する処理]
次に、PC1において実行されるパーティションの認識に関連する処理について、図2(a)及び図2(b)に基づいて説明する。図2(a)及び図2(b)に示す処理は、デバイス制御部1Bにおいて実行される処理である。また、図2(b)に示す処理は、上位モジュールから呼び出されるライブラリとして提供され、本実施形態においては、上位モジュールであるカーネルモジュールから呼び出される。
次に、PC1において実行されるパーティションの認識に関連する処理について、図2(a)及び図2(b)に基づいて説明する。図2(a)及び図2(b)に示す処理は、デバイス制御部1Bにおいて実行される処理である。また、図2(b)に示す処理は、上位モジュールから呼び出されるライブラリとして提供され、本実施形態においては、上位モジュールであるカーネルモジュールから呼び出される。
この処理を開始すると、デバイス制御部1B(厳密にはデバイス制御部1Bとしての機能を実現しているCPU11;以下、単にデバイス制御部1Bという。)は、ストレージデバイス(本実施形態ではHDD14)の有効記憶容量を取得する(S1)。具体的には、S1では図2(b)に示すライブラリを呼び出し、これにより、図2(b)に示すS11へと進む。
S11へ進むと、デバイス制御部1Bは、ストレージデバイスの実記憶容量を取得する(S11)。この実記憶容量は、コマンド(SCSI:Read Capacity,IDE:Indentity)を発行することにより取得することができる。そして、実記憶容量を取得したら、デバイス制御部1Bは、その実記憶容量に応じた有効記憶容量を設定する(S12)。
具体的には、本実施形態の場合、実記憶容量X、余裕分容量Y=1GB(1×109バイト)、セクタサイズZ=512バイトに基づいて、以下のルール(※1)〜(※3)で有効記憶容量を設定する。
まず、(※1)実記憶容量が「2TiB(2×240バイト)」以下であれば、その実記憶容量と同一値を有効記憶容量として設定する。また、(※2)実記憶容量が「2TiB(2×240バイト)」を超え「INT((2.5TB(2.5×1012バイト)−余裕分容量Y)/セクタサイズZ)*セクタサイズZ」未満であれば、2TiB(2×240バイト)を有効記憶容量として設定する。なお、上記数式中、INT(α)は、αの小数点以下を切り捨てて整数化した値を意味する(以下同様。)。
さらに、(※3)実記憶容量が「INT((nTB(n×1012バイト)−余裕分容量Y)/セクタサイズZ)*セクタサイズZ」以上で「INT(((n+0.5)TB((n+0.5)×1012バイト)−余裕分容量Y)/セクタサイズZ)*セクタサイズZ」未満であれば、「INT((nTB(n×1012バイト)−余裕分容量Y)/セクタサイズZ)*セクタサイズZ」を有効記憶容量として設定する(nは、初期値2.5,増分0.5として、2.5,3.0,3.5,4.0,4.5…と0.5ずつ増える値。)。
例えば、実記憶容量が「INT((2.5TB(2.5×1012バイト)−余裕分容量Y)/セクタサイズZ)*セクタサイズZ」以上で「INT((3.0TB(3.0×1012バイト)−余裕分容量Y)/セクタサイズZ)*セクタサイズZ」未満であれば、「INT((2.5TB(2.5×1012バイト)−余裕分容量Y)/セクタサイズZ)*セクタサイズZ」が有効記憶容量として設定される。
以上のようなルール(※1)〜(※3)で有効記憶容量を設定することにより、実記憶容量が2.0TiBを超えている場合、実記憶容量が様々な値となっていても、一定のルールに従って端数分の記憶容量が切り捨てられ、その切り捨て後の記憶容量が有効記憶容量として設定される。
なお、本実施形態において、余裕分容量Yは1GBとしてあるが、これはnTBと表記されているストレージデバイスであっても、1GB未満の範囲内で記憶容量が不足している可能性を想定し、その想定の範囲内で最も容量が少ないデバイスを基準にして、記憶容量の切り捨てを行うために設定した値である。したがって、nTBと表記されているストレージデバイスであれば、必ず少なくともnTBの記憶容量が保証されるのであれば、余裕分容量Yを0(ゼロ)としてもよいし、逆に1GBを超える記憶容量が不足する可能性があるなら、余裕分容量Yとして1GBを超える値を設定してもよい。
また、セクタサイズZは512バイトとしてあるが、これも実際に採用されているセクタサイズに応じて任意に変更してもよく、例えば4KiB(4×210バイト)セクタを採用していれば、セクタサイズZは4KiB(4×210バイト)とすればよい。
以上のような手法で有効記憶容量を設定すると、図3に例示するように、実記憶容量に若干のばらつきがあるストレージデバイスであっても、その有効記憶容量としては同一値が設定されることになる。また、本実施形態の場合、実記憶容量が0.5TB増えるごとに、設定される有効記憶容量が変わるので、有効記憶容量の設定に伴って切り捨てられることになる記憶容量(図3中の斜線部の領域)は、最大でも概ね0.5TBであり、それ以上の記憶容量をいたずらに切り捨ててしまうことはない。
さて、以上のようなS12を終えたら、続いて、デバイス制御部1Bは、設定した有効記憶容量を上位モジュールに返して(S13)、この処理を終える。上位モジュールにおいて有効記憶容量を受け取ったデバイス制御部1Bは、続いて有効記憶容量に基づいて、パーティション管理方式を識別する(S2)。
本実施形態の場合、PC1では、2TiB以下の有効記憶容量を持つストレージデバイスについては、MBR方式でパーティションが作成されているものと識別する。また、2TiBを超える有効記憶容量を持つストレージデバイスについては、GPT方式でパーティションが作成されているものと識別する。
特に、GPT方式でパーティションが作成されているものと識別した場合には、記憶領域の先頭側にある第一管理領域と、記憶領域の末尾側にある第二管理領域からデータを読み出して、いずれか一方又は両方のデータが不正であった場合に、不正なデータを修復する処理や、不正なデータに基づくストレージデバイスへのアクセスを禁止する処理などを実行する。
その際、PC1は、有効記憶容量に基づいて第二管理領域の位置を特定するため、図3に例示したように、実記憶容量に若干のばらつきがあるストレージデバイスであっても、PC1は、有効記憶領域の末尾に第二管理領域があるものと認識することになり、同一位置から第二管理領域を読み取ることになる。
したがって、このPC1の場合、図3に例示したようなストレージデバイスであれば、実記憶容量には違いがあるものの、これらのストレージデバイス間で記憶領域を丸ごと複写しても、適正な第二記憶領域を認識することができる。
なお、S2を終えたら、識別したパーティション管理方式に従って、各パーティションを所定のマウントポイントにマウントして(S3)、以降は、各パーティション内のデータにアクセスする(S4)。なお、S4での具体的な処理については種々考え得るが、それらの処理内容自体は本発明の要部とは直接関連しないので、これ以上の説明は省略する。
[効果]
以上説明したように、上記PC1によれば、実記憶容量が2TiBを超えるストレージデバイスについて、実記憶容量に多少の違いがあっても、同じ有効記憶容量が設定されるストレージデバイスであれば、同じ位置に第二管理領域が存在するものと認識する。
以上説明したように、上記PC1によれば、実記憶容量が2TiBを超えるストレージデバイスについて、実記憶容量に多少の違いがあっても、同じ有効記憶容量が設定されるストレージデバイスであれば、同じ位置に第二管理領域が存在するものと認識する。
したがって、GPT方式でパーティションが作成されても、同じ有効記憶容量が設定されるストレージデバイス同士であれば、一方のストレージデバイスの記憶内容を他方のストレージデバイスへそのまま複製して利用することが可能となる。
よって、例えばバックアップを作成する際に、実記憶容量がぴったり一致するデバイスを利用しなくても済むようになる。また、ストレージデバイスを複製して工業的に同じデータが記憶された製品を量産する場合にも、実記憶容量がぴったり一致するデバイスを利用することなく、所期の製品を量産することができるようになる。
[その他の実施形態]
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
例えば、上記実施形態では、GPT方式のパーティションが作成されることとなる2TiB以上の記憶容量を持つストレージデバイスとして、HDD14を例示したが、ハードディスク装置以外のストレージデバイスを対象とする場合にも、本発明を適用できる。例えば、ハードディスク装置と同等な接続インターフェースを備えたSSD(Solid State Drive)、コンパクトフラッシュ、又はコンパクトフラッシュと同等な接続インターフェースを備えたハードディスク装置などを対象に、本発明を適用してもよい。
また、上記実施形態では、図2(b)に示す処理を上位モジュールから呼び出されるライブラリとして構成してあったが、同等な処理を上位モジュールであるカーネルモジュールの処理として組み込んであってもよい。
1・・・パーソナルコンピュータ、1A・・・制御部、1B・・・デバイス制御部、11・・・CPU、12・・・ROM、13・・・RAM、14・・・ハードディスク装置、15・・・操作部、16・・・表示部、17・・・通信インターフェース。
Claims (5)
- ストレージデバイスの実際の記憶容量である実記憶容量を検出する実記憶容量検出手段と、
前記実記憶容量検出手段によって検出された前記実記憶容量が2TiBを超える場合に、あらかじめ定められた複数の数値範囲の中から、前記実記憶容量が含まれる数値範囲を特定し、当該特定された数値範囲に応じて決まる当該数値範囲の下限値以下の所定値を、前記ストレージデバイスにおける有効な記憶容量である有効記憶容量として設定する有効記憶容量設定手段と、
前記ストレージデバイス上に作成されたパーティションが、GPT(GUID Partition Table)方式のパーティションである場合に、前記ストレージデバイスが備える記憶領域の始端側にある第一管理領域及び前記記憶領域の終端側にある第二管理領域のうち、前記第二管理領域の前記記憶領域内における位置を、前記有効記憶容量設定手段によって設定された前記有効記憶容量に基づいて特定して、前記第二管理領域に対するアクセスを行うデータ処理手段と
を備えることを特徴とする情報処理装置。 - 前記データ処理手段は、前記第一管理領域及び前記第二管理領域それぞれから読み出されるデータに基づいて、いずれか一方又は両方のデータが不正であった場合に、不正なデータを修復する処理、又は不正なデータに基づく前記ストレージデバイスへのアクセスを禁止する処理を実行する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記ストレージデバイスは、ハードディスク装置、ハードディスク装置と同等な接続インターフェースを備えたSSD(Solid State Drive)、コンパクトフラッシュ(登録商標)、又はコンパクトフラッシュと同等な接続インターフェースを備えたハードディスク装置である
ことを特徴とする請求項1又は請求項2に記載の情報処理装置。 - ストレージデバイスが接続されるとともに、プログラムに従って各種制御を実行する制御部を備えていて、前記制御部が、オペレーティングシステムを機能させるとともに、当該オペレーティングシステムの制御下で構成されるカーネル空間では、前記ストレージデバイスに対する制御を実行するデバイス制御部を機能させる情報処理装置において、前記制御部を前記デバイス制御部を構成する手段として機能させるプログラムであって、
前記制御部を、
前記ストレージデバイスの実際の記憶容量である実記憶容量を検出する実記憶容量検出手段、
前記実記憶容量検出手段によって検出された前記実記憶容量が2TiBを超える場合に、あらかじめ定められた複数の数値範囲の中から、前記実記憶容量が含まれる数値範囲を特定し、当該特定された数値範囲に応じて決まる当該数値範囲の下限値以下の所定値を、前記ストレージデバイスにおける有効な記憶容量である有効記憶容量として設定する有効記憶容量設定手段、及び、
前記ストレージデバイス上に作成されたパーティションが、GPT(GUID Partition Table)方式のパーティションである場合に、前記ストレージデバイスが備える記憶領域の始端側にある第一管理領域及び前記記憶領域の終端側にある第二管理領域のうち、前記第二管理領域の前記記憶領域内における位置を、前記有効記憶容量設定手段によって設定された前記有効記憶容量に基づいて特定して、前記第二管理領域に対するアクセスを行うデータ処理手段
として機能させることを特徴とするプログラム。 - ストレージデバイスが接続されるとともに、プログラムに従って各種制御を実行する制御部を備えていて、前記制御部が、オペレーティングシステムを機能させるとともに、当該オペレーティングシステムの制御下で構成されるカーネル空間では、前記ストレージデバイスに対する制御を実行するデバイス制御部を機能させる情報処理装置において、前記制御部を前記デバイス制御部を構成する手段として機能させるプログラムであって、
前記制御部を、
前記ストレージデバイスの実際の記憶容量である実記憶容量を検出する実記憶容量検出手段、及び、
前記実記憶容量検出手段によって検出された前記実記憶容量が2TiBを超える場合に、あらかじめ定められた複数の数値範囲の中から、前記実記憶容量が含まれる数値範囲を特定し、当該特定された数値範囲に応じて決まる当該数値範囲の下限値以下の所定値を、前記ストレージデバイスにおける有効な記憶容量である有効記憶容量として設定する有効記憶容量設定手段
として機能させるプログラムとされており、
前記デバイス制御部では、前記ストレージデバイス上に作成されたパーティションが、GPT(GUID Partition Table)方式のパーティションである場合に、前記ストレージデバイスが備える記憶領域の始端側にある第一管理領域及び前記記憶領域の終端側にある第二管理領域のうち、前記第二管理領域の前記記憶領域内における位置を、前記有効記憶容量設定手段によって設定された前記有効記憶容量に基づいて特定して、前記第二管理領域に対するアクセスが行われる
ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012103248A JP5500201B2 (ja) | 2012-04-27 | 2012-04-27 | 情報処理装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012103248A JP5500201B2 (ja) | 2012-04-27 | 2012-04-27 | 情報処理装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013232075A true JP2013232075A (ja) | 2013-11-14 |
JP5500201B2 JP5500201B2 (ja) | 2014-05-21 |
Family
ID=49678461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012103248A Active JP5500201B2 (ja) | 2012-04-27 | 2012-04-27 | 情報処理装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5500201B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014071594A (ja) * | 2012-09-28 | 2014-04-21 | Brother Ind Ltd | 情報処理装置及びプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007323377A (ja) * | 2006-06-01 | 2007-12-13 | Sony Corp | 記録装置、管理データの書き込み方法および管理データの修復方法 |
JP2011141842A (ja) * | 2010-01-08 | 2011-07-21 | Fujitsu Ltd | 記憶管理装置、記憶管理方法および記憶管理プログラム |
JP2011186919A (ja) * | 2010-03-10 | 2011-09-22 | Buffalo Inc | 記憶処理装置 |
-
2012
- 2012-04-27 JP JP2012103248A patent/JP5500201B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007323377A (ja) * | 2006-06-01 | 2007-12-13 | Sony Corp | 記録装置、管理データの書き込み方法および管理データの修復方法 |
JP2011141842A (ja) * | 2010-01-08 | 2011-07-21 | Fujitsu Ltd | 記憶管理装置、記憶管理方法および記憶管理プログラム |
JP2011186919A (ja) * | 2010-03-10 | 2011-09-22 | Buffalo Inc | 記憶処理装置 |
Non-Patent Citations (1)
Title |
---|
JPN6014005668; Unified Extensible Firmware InterfaceSpecification, Version 2.3.1 , 20110907, p.95-105 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014071594A (ja) * | 2012-09-28 | 2014-04-21 | Brother Ind Ltd | 情報処理装置及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5500201B2 (ja) | 2014-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3000059B1 (en) | Managing data in a storage system | |
US9128820B1 (en) | File management among different zones of storage media | |
CN102929748B (zh) | 数据备份方法及装置 | |
JP2014513338A5 (ja) | 仮想ディスクの最適圧縮のための方法、コンピュータ可読記憶媒体及びシステム | |
TWI603194B (zh) | 資料儲存裝置以及其資料存取方法 | |
CN102096561B (zh) | 分层数据存储处理方法、装置以及存储设备 | |
KR20110097609A (ko) | 데이터를 사전 각색하는 방법 및 컴퓨터 판독가능 매체 | |
TWI531963B (zh) | Data storage systems and their specific instruction enforcement methods | |
KR20140016430A (ko) | 메모리 유닛 동작 방법 및 메모리 제어기 | |
CN105593829B (zh) | 从原始映像备份中排除文件系统对象的方法、系统及介质 | |
CN104156172A (zh) | 数据存储装置的数据管理 | |
US7702845B2 (en) | Method and apparatus for managing blocks according to update type of data in block-type memory | |
KR20140061441A (ko) | 풀링된 파티션 레이아웃 및 표현 기법 | |
US20130036256A1 (en) | Method and apparatus of sanitizing storage device | |
TWI479505B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 | |
CN106133677B (zh) | 主机和次级存储装置之间的通信 | |
WO2018040802A1 (zh) | 一种全镜像文件的生成方法及装置、计算机存储介质 | |
US8255656B2 (en) | Storage device, memory controller, and data protection method | |
WO2015154415A1 (zh) | 一种实现升级包制作的方法及装置 | |
JP2009043054A5 (ja) | ||
CN104133640B (zh) | 从休眠快速恢复 | |
JP5500201B2 (ja) | 情報処理装置及びプログラム | |
US9170750B2 (en) | Storage apparatus and data copy control method | |
JP2005353046A (ja) | 記録媒体、ホスト機器及びデータ処理方法 | |
US20140052902A1 (en) | Electronic device and method of generating virtual universal serial bus flash device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140131 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140225 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5500201 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |