JP6554881B2 - Semiconductor device and storage medium control method - Google Patents
Semiconductor device and storage medium control method Download PDFInfo
- Publication number
- JP6554881B2 JP6554881B2 JP2015078398A JP2015078398A JP6554881B2 JP 6554881 B2 JP6554881 B2 JP 6554881B2 JP 2015078398 A JP2015078398 A JP 2015078398A JP 2015078398 A JP2015078398 A JP 2015078398A JP 6554881 B2 JP6554881 B2 JP 6554881B2
- Authority
- JP
- Japan
- Prior art keywords
- storage medium
- unit
- boot
- information
- boot information
- 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.)
- Active
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
本発明は、半導体装置および記憶媒体の制御方法に関する。 The present invention relates to a semiconductor device and a storage medium control method.
コンピュータ等の情報処理装置は、フラッシュメモリ、ハードディスク等の複数のセクタを有する記憶媒体を外部記憶装置として使用する。記憶媒体の先頭セクタは、マスターブートレコード(以下、MBR(Master Boot Record)とも称する)と呼ばれ、記憶媒体の起動時に最初にアクセスされる。 An information processing apparatus such as a computer uses a storage medium having a plurality of sectors such as a flash memory and a hard disk as an external storage device. The first sector of the storage medium is called a master boot record (hereinafter also referred to as MBR (Master Boot Record)), and is first accessed when the storage medium is activated.
例えば、起動ディスクとしてハードディスクが接続されたコンピュータは、電源が投入された場合、ハードディスクのMBRに格納された情報に基づいて、OS(Operating System)を起動する。したがって、ハードディスクのMBRに格納された情報が破壊された場合、コンピュータがOSを起動することは困難である。 For example, a computer to which a hard disk is connected as a startup disk starts up an operating system (OS) based on information stored in the MBR of the hard disk when the power is turned on. Therefore, when information stored in the MBR of the hard disk is destroyed, it is difficult for the computer to start the OS.
このため、MBRから読み出された情報が正常でない場合に、MBRに格納された情報を修復するコンピュータが提案されている(例えば、特許文献1参照)。この種のコンピュータは、ハードディスクのMBRとは別の領域(以下、バックアップMBRとも称する)に、MBRに格納する情報をコピーする。例えば、MBRに格納された情報が破壊された場合、コンピュータは、バックアップMBRに格納された情報をMBRにコピーし、MBRにコピーした情報に基づいてOSを起動する。このように、コンピュータは、起動ディスクとして使用されるハードディスクのMBRをOSの起動時に修復する。そして、コンピュータは、電源が切断される場合に、電源の切断時にMBRに保持している情報をバックアップMBRにコピーする。 For this reason, a computer that restores information stored in the MBR when the information read from the MBR is not normal has been proposed (for example, see Patent Document 1). This type of computer copies information stored in the MBR to an area different from the MBR of the hard disk (hereinafter also referred to as backup MBR). For example, when the information stored in the MBR is destroyed, the computer copies the information stored in the backup MBR to the MBR and starts the OS based on the information copied to the MBR. In this way, the computer repairs the MBR of the hard disk used as the boot disk when the OS is booted. Then, when the power is turned off, the computer copies the information held in the MBR when the power is turned off to the backup MBR.
なお、OSの起動を安全に実行するために、OSの起動処理に用いられるデータの安全性を確認してからOSを起動する方法が提案されている(例えば、特許文献2−4参照)。この種の方法では、OSの起動処理に用いられるデータのハッシュ値を算出し、算出したハッシュ値を用いてデータの安全性を確認する。 In order to safely start the OS, there has been proposed a method of starting the OS after confirming the safety of data used for the OS startup process (see, for example, Patent Documents 2-4). In this type of method, a hash value of data used for the OS activation process is calculated, and the safety of the data is confirmed using the calculated hash value.
また、所定のブロック単位でデータが消去されるフラッシュメモリでは、フラッシュメモリにアクセスするために必要な情報等を含むブートデータは、例えば、先頭のブロックに格納される。以下、ブートデータが格納されるブロックは、ブートブロックとも称される。例えば、フラッシュメモリを制御する制御装置は、フラッシュメモリを起動する場合、フラッシュメモリのブートブロックに格納されたブートデータを最初に読み出す。その後、フラッシュメモリを制御する制御装置は、フラッシュメモリに対するアクセスを、ブートブロックから読み出したブートデータに基づいて実行する。 In the flash memory from which data is erased in a predetermined block unit, boot data including information necessary for accessing the flash memory is stored in, for example, the first block. Hereinafter, a block in which boot data is stored is also referred to as a boot block. For example, when starting the flash memory, the control device that controls the flash memory first reads the boot data stored in the boot block of the flash memory. Thereafter, the control device that controls the flash memory executes access to the flash memory based on the boot data read from the boot block.
したがって、フラッシュメモリのブートブロックに格納されたブートデータが破壊された場合、フラッシュメモリに対する正常なアクセスが実行されない場合がある。このため、ブートデータを2つブートブロックに格納するフラッシュメモリを含む外部記憶装置が提案されている(例えば、特許文献5参照)。この種の外部記憶装置は、外部記憶装置の起動時に2つのブートブロックを参照する。 Therefore, when the boot data stored in the boot block of the flash memory is destroyed, normal access to the flash memory may not be executed. For this reason, an external storage device including a flash memory that stores two boot data in a boot block has been proposed (see, for example, Patent Document 5). This type of external storage device refers to two boot blocks when the external storage device is activated.
MBRに格納された情報をMBRとは別の領域に格納する記憶媒体では、MBRとは別の領域に格納された情報(MBRに格納された情報のバックアップ)と、MBRに格納された情報との両方が同時に破壊されるおそれがある。この場合、記憶媒体のMBRは正常に修復されないおそれがある。このため、記憶媒体の信頼度は低下する。 In a storage medium that stores information stored in the MBR in an area different from the MBR, information stored in an area other than the MBR (a backup of information stored in the MBR), information stored in the MBR, and Both may be destroyed at the same time. In this case, the MBR of the storage medium may not be repaired normally. For this reason, the reliability of a storage medium falls.
1つの側面では、本件開示の半導体装置および記憶媒体の制御方法は、記憶媒体の信頼度を向上することを目的とする。 In one aspect, the semiconductor device and the storage medium control method disclosed herein are intended to improve the reliability of the storage medium.
一観点によれば、半導体装置は、記憶媒体の起動時に参照されるブート領域に格納されたブート情報と、記憶媒体を識別する識別情報とを、アクセス対象の記憶媒体である第1記憶媒体から読み出すアクセス部と、第1記憶媒体から読み出された第1ブート情報が正常である場合、複数の記憶媒体のそれぞれのブート情報および識別情報を記憶する記憶部に、第1記憶媒体から読み出された第1ブート情報を第1記憶媒体の第1識別情報に対応付けて格納するバックアップ部と、第1記憶媒体から読み出された第1ブート情報が正常でなく、かつ、第1記憶媒体の第1識別情報が記憶部に記憶されている場合、第1記憶媒体の第1識別情報に対応する第2ブート情報を記憶部から読み出し、第1記憶媒体のブート領域に格納された第1ブート情報を記憶部から読み出した第2ブート情報を用いて修復する修復部とを有し、第1記憶媒体から読み出された第1ブート情報が正常である場合、バックアップ部は、第1記憶媒体から読み出された第1ブート情報を用いて第1のハッシュ値を算出し、第1記憶媒体から読み出された第1ブート情報を第1記憶媒体の第1識別情報に対応付けて記憶部に格納した後に、第1記憶媒体の第1識別情報に対応する第2ブート情報を記憶部から読み出し、記憶部から読み出した第2ブート情報を用いて第2のハッシュ値を算出し、第1のハッシュ値が第2のハッシュ値と等しい場合、第2のハッシュ値を第1記憶媒体の第1識別情報に対応付けて記憶部に格納する。 According to one aspect, the semiconductor device receives boot information stored in a boot area referred to when starting the storage medium and identification information for identifying the storage medium from the first storage medium that is the storage medium to be accessed. When the access unit to be read and the first boot information read from the first storage medium are normal, read from the first storage medium to the storage unit storing the boot information and the identification information of each of the plurality of storage media. A backup unit that stores the first boot information that is associated with the first identification information of the first storage medium, the first boot information read from the first storage medium is not normal, and the first storage medium When the first identification information is stored in the storage unit, the second boot information corresponding to the first identification information of the first storage medium is read from the storage unit and stored in the boot area of the first storage medium. boot Possess a restoration unit for repair using the second boot information read the broadcast from the storage unit, if the first boot information read from the first storage medium is normal, backup unit, a first storage medium A first hash value is calculated using the first boot information read from the first boot information, the first boot information read from the first storage medium is associated with the first identification information of the first storage medium, and the storage unit , The second boot information corresponding to the first identification information of the first storage medium is read from the storage unit, a second hash value is calculated using the second boot information read from the storage unit, Is equal to the second hash value, the second hash value is stored in the storage unit in association with the first identification information of the first storage medium.
別の観点によれば、記憶媒体の制御方法では、記憶媒体の起動時に参照されるブート領域に格納されたブート情報と、記憶媒体を識別する識別情報とを、アクセス対象の記憶媒体である第1記憶媒体から読み出し、第1記憶媒体から読み出された第1ブート情報が正常である場合、複数の記憶媒体のそれぞれのブート情報および識別情報を記憶する記憶部に、第1記憶媒体から読み出された第1ブート情報を第1記憶媒体の第1識別情報に対応付けて格納し、第1記憶媒体から読み出された第1ブート情報が正常でなく、かつ、第1記憶媒体の第1識別情報が記憶部に記憶されている場合、第1記憶媒体の第1識別情報に対応する第2ブート情報を記憶部から読み出し、第1記憶媒体のブート領域に格納された第1ブート情報を記憶部から読み出した第2ブート情報を用いて修復し、第1記憶媒体から読み出された第1ブート情報が正常である場合、第1記憶媒体から読み出された第1ブート情報を用いて第1のハッシュ値を算出し、第1記憶媒体から読み出された第1ブート情報を第1記憶媒体の第1識別情報に対応付けて記憶部に格納した後に、第1記憶媒体の第1識別情報に対応する第2ブート情報を記憶部から読み出し、記憶部から読み出した第2ブート情報を用いて第2のハッシュ値を算出し、第1のハッシュ値が第2のハッシュ値と等しい場合、第2のハッシュ値を第1記憶媒体の第1識別情報に対応付けて記憶部に格納する。 According to another aspect, in the storage medium control method, the boot information stored in the boot area referred to when the storage medium is started and the identification information for identifying the storage medium are the storage medium to be accessed. When the first boot information read from the first storage medium is normal and the first boot information read from the first storage medium is normal, the first boot information read from the first storage medium is stored in the storage unit storing the boot information and the identification information of each of the plurality of storage media. The issued first boot information is stored in association with the first identification information of the first storage medium, the first boot information read from the first storage medium is not normal, and the first boot information of the first storage medium When one identification information is stored in the storage unit, the second boot information corresponding to the first identification information of the first storage medium is read from the storage unit, and the first boot information stored in the boot area of the first storage medium Read from the memory Repair using the second boot information issued, when the first boot information read from the first storage medium is normal, first using the first boot information read from the first storage medium After calculating the hash value and storing the first boot information read from the first storage medium in the storage unit in association with the first identification information of the first storage medium, the first boot information is stored in the first identification information of the first storage medium. When the corresponding second boot information is read from the storage unit, the second hash value is calculated using the second boot information read from the storage unit, and the first hash value is equal to the second hash value, the second Are stored in the storage unit in association with the first identification information of the first storage medium.
本件開示の半導体装置および記憶媒体の制御方法は、記憶媒体の信頼度を向上できる。 The semiconductor device and the storage medium control method disclosed herein can improve the reliability of the storage medium.
以下、実施形態について、図面を用いて説明する。 Hereinafter, embodiments will be described with reference to the drawings.
図1は、半導体装置および記憶媒体の制御方法の一実施形態を示す。図1の破線の矢印は、信号等の情報の流れを示す。図1に示す半導体装置10は、ハードウェアのみで実現されてもよく、記憶媒体の制御プログラム等のソフトウェアによりハードウェアを制御することにより実現されてもよい。
FIG. 1 shows an embodiment of a method for controlling a semiconductor device and a storage medium. The dashed arrows in FIG. 1 indicate the flow of information such as signals. The
半導体装置10は、USB(Universal Serial Bus)メモリ、SDメモリカード、ハードディスク等の記憶媒体30と不揮発性メモリ等の記憶部20とに接続される。例えば、半導体装置10は、記憶媒体30が着脱可能に接続されるコンピュータおよび携帯機器等の情報処理装置に搭載される。
The
記憶媒体30は、記憶媒体30の起動時に半導体装置10に最初にアクセスされるマスターブートレコード(以下、MBRとも称する)32と、記憶媒体30が半導体装置10に認識された後にアクセス可能になるデータ領域34とを有する。MBR32は、複数のセクタのうちの先頭セクタであり、記憶媒体30の起動時に参照されるブート領域の一例である。例えば、記憶媒体30の起動時に参照されるパーティションテーブル等を含むブート情報BINF1は、記憶媒体30の先頭セクタであるMBR32に格納される。パーティションテーブルは、記憶媒体30のデータ領域34を複数の領域(パーティション)に分割した際の各パーティションに関する情報を有する。なお、記憶媒体30は、データ領域34を1つのパーティションとして使用してもよい。また、例えば、記憶媒体30を識別するシリアル番号等の識別情報IDINFは、記憶媒体30の規格等により決められた領域に格納される。
The storage medium 30 includes a master boot record (hereinafter also referred to as MBR) 32 that is first accessed by the
半導体装置10は、記憶媒体30が接続された場合、記憶媒体30のMBR32に最初にアクセスし、MBR32に格納されたブート情報BINF1を読み出す。そして、半導体装置10は、MBR32から読み出したブート情報BINF1が正常である場合、ブート情報BINF1に基づいて、記憶媒体30のデータ領域34にアクセスする。なお、半導体装置10は、MBR32から読み出したブート情報BINF1が正常でない場合、記憶媒体30のMBR32に格納されたブート情報BINF1を、記憶部20に記憶されたブート情報BINF2を用いて修復する。例えば、半導体装置10は、MBR32から読み出したブート情報BINF1を用いても記憶媒体30を認識できない場合、ブート情報BINF1が正常でないと判定する。半導体装置10によるMBR32の修復は、例えば、記憶媒体の制御方法に基づいて実行される。
When the storage medium 30 is connected, the
半導体装置10は、アクセス部12、バックアップ部14および修復部16を有する。アクセス部12は、アクセス対象の記憶媒体30が半導体装置10に接続された場合、記憶媒体30のMBR32に格納されたブート情報BINF1と、記憶媒体30を識別する識別情報IDINFとを、記憶媒体30から読み出す。そして、アクセス部12は、記憶媒体30から読み出したブート情報BINF1および識別情報IDINFを、バックアップ部14および修復部16に転送する。
The
バックアップ部14は、アクセス部12から受けたブート情報BINF1が正常である場合、アクセス部12から受けたブート情報BINF1をブート情報BINF2とし、ブート情報BINF2と識別情報IDINFとを互いに対応付けて記憶部20に格納する。すなわち、バックアップ部14は、記憶媒体30から読み出されたブート情報BINF1が正常である場合、記憶媒体30から読み出されたブート情報BINF1をブート情報BINF2として記憶媒体30の識別情報IDINFに対応付けて記憶部20に格納する。例えば、互いに異なる複数の記憶媒体30が半導体装置10に同時または異なる時刻に接続された場合、記憶部20は、複数の記憶媒体30のブート情報BINF2および識別情報IDINFを記憶する。
When the boot information BINF1 received from the
修復部16は、記憶媒体30から読み出されたブート情報BINF1が正常でなく、かつ、記憶媒体30の識別情報IDINFが記憶部20に記憶されている場合、記憶媒体30の識別情報IDINFに対応するブート情報BINF2を記憶部20から読み出す。そして、修復部16は、記憶媒体30のMBR32に格納されたブート情報BINF1を、記憶部20から読み出したブート情報BINF2を用いて修復する。
The
例えば、修復部16は、アクセス部12から受けたブート情報BINF1が正常でない場合、アクセス部12から受けた識別情報IDINFが記憶部20に記憶されているか否かを判定する。アクセス部12から受けた識別情報IDINFが記憶部20に記憶されている場合、修復部16は、アクセス部12から受けた識別情報IDINFに対応するブート情報BINF2を記憶部20から読み出す。そして、修復部16は、記憶部20から読み出したブート情報BINF2をブート情報BINF1として、アクセス部12を介して記憶媒体30のMBR32に格納する。これにより、記憶媒体30のMBR32に格納されるブート情報BINF1は、修復される。
For example, when the boot information BINF1 received from the
このように、複数の記憶媒体30のブート情報BINF2が識別情報IDINFに対応付けて記憶部20に記憶されているため、半導体装置10は、複数の記憶媒体30が使用される場合でも、MBR32の修復に使用するブート情報BINF2を選択できる。したがって、半導体装置10は、複数の記憶媒体30が使用される場合でも、MBR32に格納されたブート情報BINF1が破壊された記憶媒体30のMBR32を修復できる。
As described above, since the boot information BINF2 of the plurality of storage media 30 is stored in the
なお、半導体装置10の構成は、図1に示す例に限定されない。例えば、記憶部20は、半導体装置10に含まれてもよい。また、記憶部20は、USBメモリ等のリムーバルディスクでもよい。あるいは、記憶部20に電源が常に供給される場合、記憶部20は、揮発性メモリでもよい。
The configuration of the
以上、図1に示す実施形態では、記憶媒体30の信頼度を向上できる。例えば、ブート情報BINF1のバックアップであるブート情報BINF2は、記憶媒体30とは別の記憶部20に記憶される。これにより、記憶媒体30のMBR32に格納されたブート情報BINF1と、ブート情報BINF1のバックアップであるブート情報BINF2とが同時に破壊されることを抑制することができる。
As described above, in the embodiment shown in FIG. 1, the reliability of the storage medium 30 can be improved. For example, boot information BINF2 that is a backup of the boot information BINF1 is stored in a
ここで、ブート情報BINF1のバックアップであるブート情報BINF2とブート情報BINF1とを同じ記憶媒体に記憶する従来方法では、記憶媒体のMBRに格納されたブート情報BINF1とブート情報BINF2とが同時に破壊されるおそれがある。例えば、記憶媒体が半導体装置と非接続の場合でも、記憶媒体のMBRに格納されたブート情報BINF1を破壊した要因により、記憶媒体のMBRと別の領域に格納されたブート情報BINF2(ブート情報BINF1のバックアップ)も破壊されるおそれがある。 Here, in the conventional method of storing the boot information BINF2 and the boot information BINF1 which are backups of the boot information BINF1 in the same storage medium, the boot information BINF1 and the boot information BINF2 stored in the MBR of the storage medium are destroyed at the same time. There is a fear. For example, even when the storage medium is not connected to the semiconductor device, the boot information BINF2 (boot information BINF1) stored in a different area from the MBR of the storage medium due to the factor that destroyed the boot information BINF1 stored in the MBR of the storage medium. Backup) may also be destroyed.
これに対し、図1に示す実施形態では、記憶媒体30が半導体装置10と非接続の場合、記憶媒体30は記憶部20に接続されない。このため、記憶媒体30が半導体装置10と非接続の場合では、記憶媒体30のMBR32に格納されたブート情報BINF1を破壊した要因は、ブート情報BINF2を記憶した記憶部20に影響を与えない。したがって、図1に示す実施形態では、記憶媒体30のMBR32に格納されたブート情報BINF1とブート情報BINF2(ブート情報BINF1のバックアップ)とが同時に破壊されることを抑制できる。これにより、図1に示す実施形態では、記憶媒体30のMBR32を修復することができなくなることを抑制でき、記憶媒体30のデータ領域34にアクセスできなくなることを抑制できる。この結果、記憶媒体30の信頼度を向上することができる。
In contrast, in the embodiment shown in FIG. 1, when the storage medium 30 is not connected to the
なお、識別情報IDINFを用いずに、ブート情報BINF2を記憶部20に格納する方法では、複数の記憶媒体30が半導体装置10に接続される場合、記憶媒体30のMBR2が誤ったブート情報BINF2で修復されるおそれがある。
In the method of storing the boot information BINF2 in the
これに対し、図1に示す実施形態では、ブート情報BINF2を識別情報IDINFに対応付けて記憶部20に格納するため、複数の記憶媒体30が半導体装置10に接続される場合でも記憶媒体10のMBR32を修復できる。例えば、バックアップ部14は、互いに異なる複数の記憶媒体30が半導体装置10に同時または異なる時刻に接続された場合、複数の記憶媒体30の各ブート情報BINF2を複数の記憶媒体30の各識別情報IDINFに対応付けて記憶部20に格納する。また、修復部16は、修復対象の記憶媒体30の識別情報IDINFに対応するブート情報BINF2を、記憶部20に記憶された複数のブート情報BINF2のうちから選択して読み出す。そして、修復部16は、記憶部20から読み出したブート情報BINF2をブート情報BINF1として、アクセス部12を介して記憶媒体30のMBR32に格納する。このように、図1に示す実施形態では、半導体装置10に接続された複数の記憶媒体30のうち、MBR32に格納されたブート情報BINF1が破壊された記憶媒体30のMBR32を修復できる。
On the other hand, in the embodiment shown in FIG. 1, the boot information BINF2 is stored in the
図2は、半導体装置および記憶媒体の制御方法の別の実施形態を示す。図1で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図2の破線の矢印は、信号等の情報の流れを示す。図2に示す半導体装置100は、ハードウェアのみで実現されてもよく、記憶媒体の制御プログラム等のソフトウェアによりハードウェアを制御することにより実現されてもよい。半導体装置100は、USBメモリ、SDメモリカード、ハードディスク等の記憶媒体300に接続される。例えば、半導体装置100は、記憶媒体300が着脱可能に接続されるコンピュータおよび携帯機器等の情報処理装置に搭載される。
FIG. 2 shows another embodiment of a method for controlling a semiconductor device and a storage medium. The same or similar elements as those described in FIG. 1 are denoted by the same or similar reference numerals, and detailed description thereof will be omitted. The dashed arrows in FIG. 2 indicate the flow of information such as signals. The
記憶媒体300は、MBR320およびデータ領域340を有する。記憶媒体300、MBR320およびデータ領域340は、図1に示した記憶媒体30、MBR32およびデータ領域34と同一または同様である。例えば、MBR320は、複数のセクタのうちの先頭セクタであり、記憶媒体300の起動時に参照されるブート領域の一例である。したがって、記憶媒体300の起動時に参照されるパーティションテーブル等を含むブート情報BINF1は、記憶媒体300の先頭セクタであるMBR320に格納される。また、例えば、記憶媒体300を識別するシリアル番号等の識別情報IDINFは、記憶媒体300の規格等により決められた領域に格納される。
The
半導体装置100は、複数のインターフェース部120(120A、120B、120C)と、半導体装置100の動作を制御する制御部110と、不揮発性メモリ等の記憶部200とを有する。なお、半導体装置100は、記憶部200を除いて定義されてもよい。
The
半導体装置100は、記憶媒体300のMBR320から読み出したブート情報BINF1が正常である場合、ブート情報BINF1に基づいて、記憶媒体300のデータ領域340にアクセスする。また、半導体装置100は、記憶媒体300のMBR320から読み出したブート情報BINF1が正常でない場合、記憶媒体300のMBR320に格納されたブート情報BINF1を、記憶部200に記憶されたブート情報BINF2を用いて修復する。半導体装置100によるMBR320の修復は、例えば、記憶媒体の制御方法に基づいて実行される。
When the boot information BINF1 read from the
インターフェース部120は、USBメモリ、SDメモリカード、ハードディスク等の記憶媒体300のインタフェースであり、半導体装置100で使用される記憶媒体300が接続される。なお、複数のインターフェース部120は、互いに同じ種類の記憶媒体300(例えば、USBメモリ)のインタフェースでもよいし、異なる種類の記憶媒体300(例えば、USBメモリおよびSDメモリカード等)のインタフェースでもよい。
The interface unit 120 is an interface of a
例えば、記憶媒体300が接続されたインターフェース部120は、制御部110から供給される制御信号およびデータ等の情報を記憶媒体300に出力し、記憶媒体300から供給される制御信号およびデータ等の情報を制御部110に出力する。
For example, the interface unit 120 to which the
制御部110は、アクセス制御部122と、バックアップ部140と、修復部160とを有する。アクセス制御部122は、アクセス対象の記憶媒体300がインターフェース部120に接続された場合、MBR320に格納されたブート情報BINF1と、識別情報IDINFとを、記憶媒体300からインターフェース部120を介して読み出す。そして、アクセス制御部122は、記憶媒体300から読み出したブート情報BINF1および識別情報IDINFを、バックアップ部140および修復部160に転送する。
The
すなわち、インターフェース部120およびアクセス制御部122は、記憶媒体300のMBR320に格納されたブート情報BINF1と、記憶媒体300を識別する識別情報IDINFとを、アクセス対象の記憶媒体300から読み出すアクセス部の一例である。
That is, the interface unit 120 and the
バックアップ部140は、ブート情報BINF2のハッシュ値HASH2(以下、第2のハッシュ値HASH2とも称する)を識別情報IDINFに対応付けて記憶部200に格納することを除いて、図1に示したバックアップ部14と同一または同様である。
The
例えば、バックアップ部140は、アクセス制御部122から受けたブート情報BINF1が正常である場合、アクセス制御部122から受けたブート情報BINF1を用いて第1のハッシュ値を算出する。
For example, when the boot information BINF1 received from the
また、バックアップ部140は、アクセス制御部122から受けたブート情報BINF1をブート情報BINF2として、記憶媒体300の識別情報IDINFに対応付けて記憶部200に格納する。その後、バックアップ部140は、記憶媒体300の識別情報IDINFに対応するブート情報BINF2を記憶部200から読み出す。
Further, the
そして、バックアップ部140は、記憶部200から読み出したブート情報BINF2を用いて第2のハッシュ値HASH2を算出する。第1のハッシュ値が第2のハッシュ値HASH2と等しい場合、バックアップ部140は、第2のハッシュ値HASH2を記憶媒体300の識別情報IDINFに対応付けて記憶部200に格納する。
Then, the
なお、第1のハッシュ値が第2のハッシュ値HASH2と異なる場合は、ブート情報BINF2の記憶部200への書き込みが失敗しているおそれがある。このため、バックアップ部140は、第1のハッシュ値が第2のハッシュ値HASH2と異なる場合、記憶媒体300から読み出されたブート情報BINF1をブート情報BINF2として、記憶部200に再度書き込みをしてもよい。これにより、正常でないブート情報BINF2が記憶部200に格納されることを抑制することができる。
If the first hash value is different from the second hash value HASH2, there is a possibility that writing of the boot information BINF2 to the
このように、バックアップ部140は、記憶媒体300から読み出されたブート情報BINF1が正常である場合、ブート情報BINF2と、ブート情報BINF2から算出したハッシュ値HASH2とを、識別情報IDINFに対応付けて記憶部200に格納する。例えば、互いに異なる複数の記憶媒体300が半導体装置100に同時または異なる時刻に接続された場合、記憶部200は、複数の記憶媒体300のブート情報BINF2と、ブート情報BINF2のハッシュ値HASH2と、識別情報IDINFとを記憶する。
In this way, when the boot information BINF1 read from the
修復部160は、記憶部200から読み出したブート情報BINF2が正常であるかをブート情報BINF2のハッシュ値HASH2を用いて判定することを除いて、図1に示した修復部16と同一または同様である。
The
例えば、修復部160は、アクセス制御部122から受けたブート情報BINF1が正常でない場合、アクセス制御部122から受けた識別情報IDINFが記憶部200に記憶されているか否かを判定する。アクセス制御部122から受けた識別情報IDINFが記憶部200に記憶されている場合、修復部160は、アクセス制御部122から受けた識別情報IDINFに対応するブート情報BINF2および第2のハッシュ値HASH2を記憶部200から読み出す。
For example, when the boot information BINF1 received from the
そして、修復部160は、記憶部200から読み出したブート情報BINF2を用いて第3のハッシュ値を算出する。ハッシュ値HASH2が第3のハッシュ値と等しい場合、修復部160は、記憶部200から読み出したブート情報BINF2をブート情報BINF1として、アクセス制御部122およびインタフェース部120を介して記憶媒体300のMBR320に格納する。これにより、記憶媒体300のMBR320に格納されるブート情報BINF1は、修復される。
Then, the
なお、ハッシュ値HASH2が第3のハッシュ値と異なる場合、修復部160は、記憶媒体300のMBR320に格納されたブート情報BINF1の修復を中止する。このように、修復部160は、記憶媒体300から読み出されたブート情報BINF1が正常でなく、かつ、記憶媒体300の識別情報IDINFが記憶部200に記憶されている場合、MBR320の修復を中止するかを、ハッシュ値HASH2を用いて判定する。
If the hash value HASH2 is different from the third hash value, the
例えば、記憶部200からのブート情報BINF2の読み出しが失敗した場合、あるいは、記憶部200に記憶されているブート情報BINF2が破壊されていた場合等では、第2のハッシュ値HASH2が第3のハッシュ値と異なる。したがって、修復部160は、第2のハッシュ値HASH2が第3のハッシュ値と異なる場合にMBR320の修復を中止することにより、正常でないブート情報BINF2でMBR320を修復することを防止できる。
For example, when reading of the boot information BINF2 from the
なお、半導体装置100の構成は、図2に示す例に限定されない。例えば、記憶部200は、半導体装置100の外部に設けられてもよい。また、記憶部200は、USBメモリ等のリムーバルディスクでもよい。あるいは、記憶部200に電源が常に供給される場合、記憶部200は、揮発性メモリでもよい。
Note that the configuration of the
図3は、図2に示した記憶部200の一例を示す。記憶部200は、ブート情報BINF2、ハッシュ値HASH2、識別情報IDINFを記憶する複数の領域210を有する。各領域210は、識別情報IDINFと、識別情報IDINFに対応付けされたブート情報BINF2およびハッシュ値HASH2とを記憶する。例えば、複数の領域210のそれぞれのサイズは、互いに同じサイズに固定される。なお、複数の領域210のうちの所定数の領域210のサイズは、互いに異なるサイズでもよい。また、記憶部200は、記憶する識別情報IDINF等のデータ量に応じて、複数の領域210のそれぞれのサイズを識別情報IDINF毎に変更してもよい。
FIG. 3 shows an example of the
図4は、図2に示した半導体装置100の動作の一例を示す。図4に示す動作は、ハードウェアのみで実現されてもよく、記憶媒体の制御プログラム等のソフトウェアによりハードウェアを制御することにより実現されてもよい。図4に示す動作は、例えば、記憶媒体300が半導体装置100に接続される度に実行される。なお、図4では、記憶媒体300がインタフェース部120Aに接続された場合を例にして半導体装置100の動作を説明する。
FIG. 4 shows an example of the operation of the
ステップS100では、制御部110は、インタフェース部120Aに接続された記憶媒体300のMBR320に格納されたブート情報BINF1と、記憶媒体300を識別する識別情報IDINFとを、記憶媒体300から取得する。例えば、アクセス制御部122は、ブート情報BINF1と識別情報IDINFとを記憶媒体300からインタフェース部120Aを介して読み出す。
In step S100, the
ステップS200では、制御部110は、ステップS100で取得したブート情報BINF1に基づいて初期処理を実行する。初期処理は、例えば、記憶媒体300を認識する処理等である。記憶媒体300の認識に成功した場合、記憶媒体300のデータ領域340は、アクセス可能になる。
In step S200, the
ステップS220では、制御部110は、ステップS100で取得したブート情報BINF1が正常か否かを判定する。例えば、制御部110は、ステップS200の初期処理が成功した場合、ブート情報BINF1が正常であると判定する。すなわち、制御部110は、記憶媒体300の認識に失敗した場合、ブート情報BINF1が正常でないと判定する。
In step S220, the
なお、ステップS220の処理は、制御部110内のブロックのうち、図2に示したブロック(アクセス制御部122、バックアップ部140および修復部160)以外のブロックで実行されてもよいし、図2に示したブロックのいずれかで実行されてもよい。例えば、ステップS220の処理は、制御部110のアクセス制御部122で実行されてもよい。あるいは、ステップS220の処理は、バックアップ部140および修復部160の一方で実行されてもよいし、バックアップ部140および修復部160の両方で実行されてもよい。
Note that the processing in step S220 may be executed by blocks other than the blocks (
ステップS100で取得したブート情報BINF1が正常である場合、半導体装置100の動作は、ステップS300に移る。一方、ステップS100で取得したブート情報BINF1が正常でない場合、半導体装置100の動作は、ステップS700に移る。
When the boot information BINF1 acquired in step S100 is normal, the operation of the
ステップS300では、バックアップ部140は、インタフェース部120Aに接続された記憶媒体300のMBR320のバックアップが記憶部200に格納されているか否かを判定する。例えば、バックアップ部140は、ステップS100で取得した識別情報IDINFが記憶部200に記憶されている場合、記憶媒体300のMBR320のバックアップが記憶部200に格納されていると判定する。
In step S300, the
記憶媒体300のMBR320のバックアップが記憶部200に格納されている場合、半導体装置100の動作は、ステップS400に移る。一方、記憶媒体300のMBR320のバックアップが記憶部200に格納されていない場合、半導体装置100の動作は、ステップS600に移る。
When the backup of the
ステップS400では、バックアップ部140は、ステップS100で取得したブート情報BINF1のバックアップであるブート情報BINF2を、記憶部200から取得する。例えば、バックアップ部140は、ステップS100で取得した識別情報IDINFに対応するブート情報BINF2を記憶部200から読み出す。
In step S400, the
ステップS500では、バックアップ部140は、ステップS400で取得したブート情報BINF2(ブート情報BINF1のバックアップ)が正常か否かを判定する。例えば、バックアップ部140は、ブート情報BINF2の内容が記憶媒体300の規格等で決められた内容に適合しているか否かを判定する。なお、バックアップ部140は、ブート情報BINF2に基づく初期処理を実行した場合に、記憶媒体300の認識が成功するか否かを判定してもよい。
In step S500, the
ステップS400で取得したブート情報BINF2が正常である場合、半導体装置100の動作は、ステップS520に移る。一方、ステップS400で取得したブート情報BINF2が正常でない場合、半導体装置100の動作は、ステップS600に移る。
When the boot information BINF2 acquired in step S400 is normal, the operation of the
ステップS520では、バックアップ部140は、ステップS400で取得したブート情報BINF2(ブート情報BINF1のバックアップ)と、ステップS100で取得したブート情報BINF1とに差が有るか否かを判定する。例えば、バックアップ部140は、ブート情報BINF2の内容とブート情報BINF1の内容とを直接比較して、ブート情報BINF2とブート情報BINF1とに差が有るか否かを判定する。
In step S520, the
なお、バックアップ部140は、ハッシュ値を用いて、ブート情報BINF2とブート情報BINF1とに差が有るか否かを判定してもよい。例えば、バックアップ部140は、ステップS100で取得した識別情報IDINFに対応するハッシュ値HASH2(第2のハッシュ値HASH2)を記憶部200から読み出す。また、ステップS100で取得したブート情報BINF1のハッシュ値(第1のハッシュ値)を算出する。そして、バックアップ部140は、第1のハッシュ値と第2のハッシュ値HASH2とを比較して、ブート情報BINF2とブート情報BINF1とに差が有るか否かを判定する。なお、ステップS520の処理にハッシュ値が用いられる場合、ステップS400の処理およびステップS500の処理は、省かれてもよい。
Note that the
ブート情報BINF2とブート情報BINF1とに差がない場合、記憶媒体300が半導体装置100に接続されたときの半導体装置100の処理は、終了する。一方、ブート情報BINF2とブート情報BINF1とに差が有る場合、半導体装置100の動作は、ステップS600に移る。
If there is no difference between the boot information BINF2 and the boot information BINF1, the processing of the
ステップS600では、バックアップ部140は、ステップS100で取得したブート情報BINF1のバックアップを記憶部200に格納するバックアップ処理を実行する。バックアップ処理の詳細は、図5で説明する。
In step S600, the
ステップS700では、修復部160は、インタフェース部120Aに接続された記憶媒体300のMBR320のバックアップが記憶部200に格納されているか否かを判定する。例えば、修復部160は、ステップS100で取得した識別情報IDINFが記憶部200に記憶されている場合、記憶媒体300のMBR320のバックアップが記憶部200に格納されていると判定する。
In step S700, the
記憶媒体300のMBR320のバックアップが記憶部200に格納されている場合、半導体装置100の動作は、ステップS800に移る。一方、記憶媒体300のMBR320のバックアップが記憶部200に格納されていない場合、半導体装置100の動作は、ステップS920に移る。
When the backup of the
ステップS800では、修復部160は、記憶媒体300のMBR320に格納されたブート情報BINF1を修復する修復処理を実行する。修復処理の詳細は、図6で説明する。
In step S800, the
ステップS900では、制御部110は、ステップS800で修復したブート情報BINF1に基づいて初期処理を実行する。例えば、ステップS800でのブート情報BINF1の修復が成功した場合では、半導体装置100は、記憶媒体300を認識して、記憶媒体300が接続されたときの処理を終了する。一方、ステップS800でのブート情報BINF1の修復が失敗した場合では、半導体装置100は、記憶媒体300の認識に失敗した状態で、記憶媒体300が接続されたときの処理を終了する。
In step S900, the
ステップS920では、修復部160は、記憶媒体300のMBR320のバックアップが存在しない等のエラーを半導体装置100の外部(例えば、半導体装置100に接続された表示装置)に通知する。なお、ステップS920の処理は、省かれてもよい。
In step S920, the
このように、半導体装置100は、記憶媒体300が接続された場合、記憶媒体300のMBR320のバックアップを記憶部200に格納する。また、半導体装置100は、半導体装置100に接続された記憶媒体300のMBR320が破壊されていた場合、記憶部200に格納したバックアップを用いて、記憶媒体300のMBR320を修復する。これにより、記憶媒体300の信頼度を向上させることができる。
Thus, the
なお、半導体装置100の動作は、図4に示す例に限定されない。例えば、半導体装置100は、ステップS220において、ステップS520の処理と同様の判定方法により、ブート情報BINF1が正常か否かを判定してもよい。この場合、ステップS200の処理は、ステップS600の処理の後に実行されてもよい。例えば、半導体装置100は、ステップS200の処理が省かれた場合、ステップS600の処理を実行した後に、ステップS900の処理を実行してもよい。
Note that the operation of the
また、ステップS500の処理は、省かれてもよい。例えば、ブート情報BINF2が正常でない場合、ステップS520の処理において、ブート情報BINF2と正常なブート情報BINF1とで差が有ると判定されるため、ステップS600のバックアップ処理は実行される。 Moreover, the process of step S500 may be omitted. For example, if the boot information BINF2 is not normal, it is determined in the process of step S520 that there is a difference between the boot information BINF2 and the normal boot information BINF1, so the backup process of step S600 is executed.
図5は、図4に示したバックアップ処理(ステップS600)の一例を示す。すなわち、図5は、図2に示したバックアップ部140の動作の一例を示す。なお、図5では、記憶媒体300がインタフェース部120Aに接続された場合を例にしてバックアップ部140の動作を説明する。
FIG. 5 shows an example of the backup process (step S600) shown in FIG. That is, FIG. 5 shows an example of the operation of the
ステップS610では、バックアップ部140は、記憶媒体300のブート情報BINF2と識別情報IDINFとを記憶部200に格納する。例えば、バックアップ部140は、図4のステップS100で取得したブート情報BINF1を記憶媒体300のブート情報BINF2として、図4のステップS100で取得した識別情報IDINFに対応付けて記憶部200に格納する。
In step S610, the
ステップS620では、バックアップ部140は、ステップS610で記憶部200に格納したブート情報BINF2を読み出す。
In step S620, the
ステップS630では、バックアップ部140は、記憶部200から読み出したブート情報BINF2のハッシュ値HASH2を算出する。すなわち、バックアップ部140は、ステップS620で読み出したブート情報BINF2からハッシュ値HASH2を算出する。
In step S630, the
ステップS640では、バックアップ部140は、記憶媒体300から読み出したブート情報BINF1のハッシュ値HASH1(第1のハッシュ値)を算出する。すなわち、バックアップ部140は、図4のステップS100で取得したブート情報BINF1からハッシュ値HASH1を算出する。
In step S640, the
ステップS650では、バックアップ部140は、ステップS630で算出したハッシュ値HASH2が、ステップS640で算出したハッシュ値HASH1と等しいか否かを判定する。ハッシュ値HASH2がハッシュ値HASH1と等しい場合、バックアップ部140の動作は、ステップS660に移る。一方、ハッシュ値HASH2がハッシュ値HASH1と異なる場合、バックアップ部140の動作は、ステップS670に移る。
In step S650, the
ステップS660では、バックアップ部140は、ステップS630で算出したハッシュ値HASH2を、図4のステップS100で取得した識別情報IDINFに対応付けて記憶部200に格納する。これにより、バックアップ処理は、正常に終了する。
In step S660, the
ステップS670では、バックアップ部140は、ブート情報BINF2(図4のステップS100で取得したブート情報BINF1)の書き込みを再実行するか否かを判定する。例えば、ハッシュ値HASH2がハッシュ値HASH1と異なる場合、ブート情報BINF2の記憶部200への書き込みが失敗しているおそれがある。このため、例えば、バックアップ部140は、書き込みを再実行するか否かを選択させるメッセージ等を半導体装置100に接続された表示装置等に表示させ、書き込みを再実行するか否かを示す制御情報を受けるまで待機する。
In step S670, the
ブート情報BINF2の書き込みを再実行する場合、バックアップ部140の動作は、ステップS680に移る。一方、ブート情報BINF2の書き込みを再実行しない場合、バックアップ部140の動作は、ステップS690に移る。
When rewriting the boot information BINF2, the operation of the
ステップS680では、バックアップ部140は、アクセス制御部122およびインタフェース部120Aを介して、記憶媒体300のMBR320からブート情報BINF1を読み出す。ステップS680の処理が実行された後、バックアップ部140の動作は、ステップS610に戻る。これにより、ステップS680で記憶媒体300から読み出されたブート情報BINF1は、ブート情報BINF2として記憶部200に記憶される。
In step S680, the
ステップS690では、バックアップ部140は、図4のステップS100で取得した識別情報IDINFに対応するバックアップ(ステップS610で記憶部200に格納したブート情報BINF2、識別情報IDINF等)を、記憶部200から削除する。この場合、バックアップ処理は、ブート情報BINF1をバックアップせずに、終了する。
In step S690, the
このように、バックアップ部140は、ブート情報BINF1のバックアップであるブート情報BINF2が記憶部200に正常に書き込めたか否かを、ブート情報BINF1のハッシュ値HSAH1およびブート情報BINF2のHASH2を用いて判定する。これにより、正常でないブート情報BINF2が記憶部200に格納されることを抑制することができる。
As described above, the
なお、バックアップ部140の動作は、図5に示す例に限定されない。例えば、バックアップ部140は、ブート情報BINF2の書き込みの再実行を予め決められたリトライ回数に到達するまで試みてもよい。この場合、バックアップ部140は、ステップS670において、ブート情報BINF2の書き込みの再実行の回数がリトライ回数未満か否かを判定する。そして、ブート情報BINF2の書き込みの再実行の回数がリトライ回数未満の場合、バックアップ部140の動作は、ステップS680に移る。一方、ブート情報BINF2の書き込みの再実行の回数がリトライ回数以上の場合、バックアップ部140の動作は、ステップS690に移る。
Note that the operation of the
また、ステップS680の処理は、省かれてもよい。この場合、バックアップ部140は、図4のステップS100で取得したブート情報BINF1を再利用して、ブート情報BINF2の書き込みを再実行する。
Further, the process of step S680 may be omitted. In this case, the
図6は、図4に示した修復処理(ステップS800)の一例を示す。すなわち、図6は、図2に示した修復部160の動作の一例を示す。なお、図6では、記憶媒体300がインタフェース部120Aに接続された場合を例にして修復部160の動作を説明する。
FIG. 6 shows an example of the repair process (step S800) shown in FIG. That is, FIG. 6 shows an example of the operation of the
ステップS810では、修復部160は、図4のステップS100で取得した識別情報IDINFに対応するブート情報BINF2およびハッシュ値HASH2を、記憶部200から読み出す。
In step S810, the
ステップS820では、修復部160は、記憶部200から読み出したブート情報BINF2のハッシュ値HASH3(第3のハッシュ値)を算出する。すなわち、修復部160は、ステップS810で読み出したブート情報BINF2からハッシュ値HASH3を算出する。
In step S820, the
ステップS830では、修復部160は、ステップS810で読み出したハッシュ値HASH2が、ステップS820で算出したハッシュ値HASH3と等しいか否かを判定する。ハッシュ値HASH2がハッシュ値HASH3と等しい場合、修復部160の動作は、ステップS850に移る。一方、ハッシュ値HASH2がハッシュ値HASH3と異なる場合、修復部160の動作は、ステップS840に移る。
In step S830, the
ステップS840では、修復部160は、MBR320の修復を中止するか否かを判定する。例えば、ハッシュ値HASH2がハッシュ値HASH3と異なる場合、記憶部200に記憶されているブート情報BINF2が破壊されているおそれがある。このため、例えば、修復部160は、MBR320の修復を中止するか否かを選択させるメッセージ等を半導体装置100に接続された表示装置等に表示させ、MBR320の修復を中止するか否かを示す制御情報を受けるまで待機する。
In step S840, the
MBR320の修復を中止する場合、修復部160は、MBR320に格納されたブート情報BINF1を修復せずに、修復処理を終了する。この場合、正常でないブート情報BINF2でMBR320が修復されることを防止することができる。一方、MBR320の修復を中止しない場合、修復部160の動作は、ステップS850に移る。
When stopping the repair of the
ステップS850では、修復部160は、記憶部200から読み出したブート情報BINF2をブート情報BINF1として、アクセス制御部122およびインタフェース部120Aを介して記憶媒体300のMBR320に格納する。これにより、修復処理は終了する。例えば、ハッシュ値HASH2がハッシュ値HASH3と等しい場合、ステップS850の処理により、記憶媒体300のMBR320に格納されるブート情報BINF1は正常に修復され、修復処理は正常に終了する。
In step S850, the
なお、修復部160の動作は、図6に示す例に限定されない。例えば、修復部160は、ハッシュ値HASH2がハッシュ値HASH3と異なる場合、ステップS840の処理を実行せずに、修復処理を終了してもよい。すなわち、ステップS840の処理は、省かれてもよい。
The operation of the
あるいは、修復部160は、ブート情報BINF2の読み出しを予め決められた所定回数に到達するまで繰り返し実行してもよい。この場合、修復部160は、ステップS840において、ブート情報BINF2の読み出しの再実行の回数が所定回数未満か否かを判定する。そして、ブート情報BINF2の読み出しの再実行の回数が所定回数未満の場合、修復部160の動作は、ステップS810に戻る。これにより、ブート情報BINF2の読み出しの失敗に起因する修復処理の失敗を抑制することができる。一方、ブート情報BINF2の読み出しの再実行の回数が所定回数以上の場合、修復部160は、MBR320に格納されたブート情報BINF1を修復せずに、修復処理を終了する。
Alternatively, the
図7は、図2に示した半導体装置100の動作の別の例を示す。図7に示す動作は、ハードウェアのみで実現されてもよく、記憶媒体の制御プログラム等のソフトウェアによりハードウェアを制御することにより実現されてもよい。図7に示す動作は、例えば、記憶媒体300と半導体装置100とを非接続にする処理(記憶媒体の取り出し処理)が実行される度に実行される。なお、図7に示す動作は、記憶媒体300のMBR320に格納されたブート情報BINF1が更新された場合に実行されてもよい。
FIG. 7 shows another example of the operation of the
図7に示す動作では、図4に示した動作からステップS200の処理およびステップS900の処理が省かれ、ステップS910の処理が図4に示した動作に追加される。図4で説明したステップと同一または同様のステップについては、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図7では、記憶媒体300とインタフェース部120Aとを非接続にする場合を例にして半導体装置100の動作を説明する。
In the operation illustrated in FIG. 7, the processing in step S200 and the processing in step S900 are omitted from the operation illustrated in FIG. 4, and the processing in step S910 is added to the operation illustrated in FIG. 4. Steps that are the same as or similar to the steps described in FIG. 4 are given the same or similar reference numerals, and detailed descriptions thereof are omitted. In FIG. 7, the operation of the
ステップS100では、制御部110は、インタフェース部120Aに接続された記憶媒体300のMBR320に格納されたブート情報BINF1と、記憶媒体300を識別する識別情報IDINFとを、記憶媒体300から取得する。制御部110がステップS100の処理を実行した後、半導体装置100の動作は、ステップS220に移る。
In step S100, the
ステップS220では、制御部110は、ステップS100で取得したブート情報BINF1が正常か否かを、図4で説明したステップS520の処理と同様の判定方法により判定する。
In step S220, the
ステップS300では、バックアップ部140は、インタフェース部120Aに接続された記憶媒体300のMBR320のバックアップが記憶部200に格納されているか否かを判定する。
In step S300, the
ステップS400では、バックアップ部140は、ステップS100で取得したブート情報BINF1のバックアップであるブート情報BINF2を、記憶部200から取得する。
In step S400, the
ステップS500では、バックアップ部140は、ステップS400で取得したブート情報BINF2(ブート情報BINF1のバックアップ)が正常か否かを判定する。
In step S500, the
ステップS520では、バックアップ部140は、ステップS400で取得したブート情報BINF2(ブート情報BINF1のバックアップ)と、ステップS100で取得したブート情報BINF1とに差が有るか否かを判定する。
In step S520, the
ブート情報BINF2とブート情報BINF1とに差がない場合、半導体装置100の動作は、ステップS910に移る。一方、ブート情報BINF2とブート情報BINF1とに差が有る場合、半導体装置100の動作は、ステップS600に移る。
If there is no difference between the boot information BINF2 and the boot information BINF1, the operation of the
ステップS600では、バックアップ部140は、図5で説明したバックアップ処理を実行する。
In step S600, the
ステップS700では、修復部160は、インタフェース部120Aに接続された記憶媒体300のMBR320のバックアップが記憶部200に格納されているか否かを判定する。
In step S700, the
ステップS800では、修復部160は、図6で説明した修復処理を実行する。修復部160がステップS800の処理を実行した後、半導体装置100の動作は、ステップS910に移る。
In step S800, the
ステップS910では、制御部110は、記憶媒体300の取り出し許可を半導体装置100の外部に通知する。例えば、制御部110は、半導体装置100から記憶媒体300を取り出してよいことを示すメッセージ等を半導体装置100に接続された表示装置に表示させる。
In step S <b> 910, the
ステップS920では、修復部160は、記憶媒体300のMBR320のバックアップが存在しない等のエラーを半導体装置100の外部(例えば、半導体装置100に接続された表示装置)に通知する。なお、ステップS920の処理は、省かれてもよい。
In step S920, the
このように、半導体装置100は、記憶媒体300が半導体装置100から取り出される際に、記憶媒体300のMBR320のバックアップを記憶部200に格納する。これにより、記憶媒体300が半導体装置100に接続された後に、記憶媒体300のMBR320に格納されたブート情報BINF1が更新された場合でも、記憶媒体300のMBR320のバックアップを記憶部200に格納することができる。また、半導体装置100は、半導体装置100に接続された記憶媒体300のMBR320が破壊されていた場合、記憶部200に格納したバックアップを用いて、記憶媒体300のMBR320を修復する。これにより、記憶媒体300の信頼度を向上させることができる。
As described above, the
なお、半導体装置100の動作は、図7に示す例に限定されない。例えば、ステップS500の処理は、省かれてもよい。また、ステップS220の処理、ステップS700の処理、ステップS800の処理およびステップS920の処理は、省かれてもよい。
Note that the operation of the
以上、図2から図7に示す実施形態においても、図1に示した実施形態と同様の効果を得ることができる。例えば、半導体装置100は、記憶媒体300のMBR320に格納されたブート情報BINF1のバックアップであるブート情報BINF2を、記憶媒体300の識別情報IDINFに対応付けて、記憶媒体300とは別の記憶部200に格納する。これにより、記憶媒体300の信頼度を向上させることができる。
As described above, also in the embodiment shown in FIGS. 2 to 7, the same effect as that of the embodiment shown in FIG. 1 can be obtained. For example, the
さらに、半導体装置100は、記憶部200に書き込む前のブート情報BINF1から算出したハッシュ値HASH1と、記憶部200に書き込んだ後のブート情報BINF2から算出したハッシュ値HASH2とを比較する。そして、半導体装置100は、ハッシュ値HASH1とハッシュ値HASH2との比較結果に基づいて、ブート情報BINF2が記憶部200に正常に書き込めたか否かを判定する。これにより、正常でないブート情報BINF2が記憶部200に格納されることを抑制することができる。
Furthermore, the
また、半導体装置100は、記憶媒体300のMBR320を修復する際に、記憶部200から読み出したブート情報BINF2から算出したハッシュ値HASH3と、記憶部200から読み出したハッシュ値HASH2とを比較する。そして、半導体装置100は、ハッシュ値HASH2とハッシュ値HASH3との比較結果に基づいて、記憶部200から読み出したブート情報BINF2が破壊されているか否かを判定する。これにより、正常でないブート情報BINF2でMBR320を修復することを防止できる。
Further, when the
図8は、半導体装置および記憶媒体の制御方法の別の実施形態を示す。図1から図7で説明した要素と同一または同様の要素については、同一または同様の符号を付し、これ等については、詳細な説明を省略する。図8の破線の矢印は、信号等の情報の流れを示す。図8に示す半導体装置102は、ハードウェアのみで実現されてもよく、記憶媒体の制御プログラム等のソフトウェアによりハードウェアを制御することにより実現されてもよい。
FIG. 8 shows another embodiment of a method for controlling a semiconductor device and a storage medium. The same or similar elements as those described in FIGS. 1 to 7 are denoted by the same or similar reference numerals, and detailed description thereof will be omitted. The dashed arrows in FIG. 8 indicate the flow of information such as signals. The
半導体装置102では、図2に示した記憶部200が半導体装置100から省かれ、記憶部202がインターフェース部120に接続される。また、半導体装置102は、図2に示した制御部110の代わりに制御部112を有する。半導体装置102のその他の構成は、図2に示した半導体装置100と同一または同様である。
In the
また、半導体装置102の動作は、図2に示した半導体装置100と同様である。例えば、半導体装置102は、記憶媒体300が着脱可能に接続されるコンピュータおよび携帯機器等の情報処理装置に搭載され、図2から図7で説明した実施形態と同様の記憶媒体の制御方法に基づいて、記憶媒体300のMBR320を修復する。
The operation of the
半導体装置102は、複数のインターフェース部120(120A、120B、120C)と、半導体装置102の動作を制御する制御部112とを有する。また、半導体装置102には、不揮発性メモリ等の記憶部202と記憶媒体300とが接続される。図8に示す例では、インターフェース部120Aに記憶媒体300が接続され、インターフェース部120Bに記憶部202が接続される。なお、半導体装置102は、記憶部202を含めて定義されてもよい。
The
記憶部202は、USBメモリ等のリムーバルディスクであり、MBR220およびデータ領域240を有する。なお、記憶部202のMBR220およびデータ領域240は、図1に示したMBR32およびデータ領域34と同一または同様である。また、記憶部202は、インターフェース部120(図8に示した例では、インターフェース部120B)を介して制御部112に接続されることを除いて、図2に示した記憶部200と同様である。例えば、記憶部202は、複数の記憶媒体300のブート情報BINF2と、ブート情報BINF2のハッシュ値HASH2と、識別情報IDINFとを、データ領域240に記憶する。
The storage unit 202 is a removable disk such as a USB memory, and includes an
例えば、記憶部202が接続されたインターフェース部120Bは、制御部112から供給されるブート情報BINF2、ハッシュ値HASH2および識別情報IDINF等の情報を記憶部202に出力する。また、インターフェース部120Bは、記憶部202から供給されるブート情報BINF2、ハッシュ値HASH2および識別情報IDINF等の情報を制御部112に出力する。
For example, the
制御部112は、アクセス制御部122と、バックアップ部142と、修復部162とを有する。図8では、インタフェース部120Aに記憶媒体300が接続され、インターフェース部120Bに記憶部202が接続された場合を例にしてアクセス制御部122等の動作の動作を説明する。
The
アクセス制御部122は、アクセス対象の記憶媒体300がインターフェース部120Aに接続された場合、MBR320に格納されたブート情報BINF1と、識別情報IDINFとを、記憶媒体300からインターフェース部120Aを介して読み出す。そして、アクセス制御部122は、記憶媒体300から読み出したブート情報BINF1および識別情報IDINFを、バックアップ部142および修復部162に転送する。また、アクセス制御部122は、記憶部202がインターフェース部120Bに接続された状態で、記憶媒体300がインターフェース部120Aに接続された場合、インターフェース部120Bを介して記憶部202にアクセスする。
When the access
バックアップ部142は、図2に示したバックアップ部140と同様である。なお、バックアップ部142と記憶部202との間のデータ転送は、アクセス制御部122およびインターフェース部120Bを介して実行される。
The
例えば、バックアップ部142は、記憶媒体300から読み出されたブート情報BINF1をブート情報BINF2として、アクセス制御部122およびインタフェース部120Bを介して記憶部202のデータ領域240に格納する。また、バックアップ部142は、ブート情報BINF2を、アクセス制御部122およびインタフェース部120Bを介して記憶部202のデータ領域240から読み出す。
For example, the
修復部162は、図2に示した修復部160と同様である。なお、修復部162と記憶部202との間のデータ転送は、アクセス制御部122およびインターフェース部120Bを介して実行される。例えば、修復部162は、ブート情報BINF2およびハッシュ値HASH2を、アクセス制御部122およびインタフェース部120Bを介して記憶部202のデータ領域240から読み出す。
The
なお、半導体装置102の構成は、図8に示す例に限定されない。例えば、記憶部202は、複数設けられてもよい。この場合、複数の記憶部202の1つは、他の記憶部202のMBR220に格納されたブート情報BINF1を記憶してもよい。
Note that the structure of the
以上、図8に示す実施形態においても、図1から図7に示した実施形態と同様の効果を得ることができる。例えば、半導体装置102は、記憶媒体300のMBR320に格納されたブート情報BINF1のバックアップであるブート情報BINF2を、記憶媒体300の識別情報IDINFに対応付けて、記憶媒体300とは別の記憶部202に格納する。これにより、記憶媒体300の信頼度を向上させることができる。
As described above, also in the embodiment shown in FIG. 8, the same effects as those in the embodiment shown in FIGS. 1 to 7 can be obtained. For example, the
また、半導体装置102は、記憶部202に書き込む前のブート情報BINF1から算出したハッシュ値HASH1と、記憶部202に書き込んだ後のブート情報BINF2から算出したハッシュ値HASH2とを比較する。そして、半導体装置102は、ハッシュ値HASH1とハッシュ値HASH2との比較結果に基づいて、ブート情報BINF2が記憶部202に正常に書き込めたか否かを判定する。これにより、正常でないブート情報BINF2が記憶部202に格納されることを抑制することができる。
Further, the
また、半導体装置102は、記憶媒体300のMBR320を修復する際に、記憶部202から読み出したブート情報BINF2から算出したハッシュ値HASH3と、記憶部202から読み出したハッシュ値HASH2とを比較する。そして、半導体装置102は、ハッシュ値HASH2とハッシュ値HASH3との比較結果に基づいて、記憶部202から読み出したブート情報BINF2が破壊されているか否かを判定する。これにより、正常でないブート情報BINF2でMBR320を修復することを防止できる。
Further, when the
図9は、図2に示した半導体装置100のハードウェア構成の一例を示している。なお、図2から図7で説明した要素と同様の要素については、同様の符号を付し、これ等については、詳細な説明を省略する。
FIG. 9 shows an example of the hardware configuration of the
コンピュータ500は、例えば、LSI(Large Scale Integration)510、不揮発性メモリ560および光学ドライブ570を有する。LSI510および不揮発性メモリ560は、例えば、LSIボードに搭載される。
The
LSI510は、CPU(Central Processing Unit)520、USBインターフェース回路530、532、SDインターフェース回路534、メモリ540およびハードディスク550を有する。CPU520、メモリ540、ハードディスク550、USBインターフェース回路530、532、SDインターフェース回路534、不揮発性メモリ560および光学ドライブ570は、バスBUSに接続される。
The
CPU520は、例えば、メモリ540に格納された記憶媒体の制御プログラム等のアプリケーションプログラムを実行することで、図2に示した制御部110として機能する。したがって、図2に示した制御部110の機能は、CPU520により実現される。
The
USBインターフェース回路530、532は、USBメモリ600(600A、600B)のインタフェースであり、SDインターフェース回路534は、SDメモリカード602のインタフェースである。また、USBメモリ600およびSDメモリカード602は、図2に示した記憶媒体300に対応する。すなわち、USBインターフェース回路530、532、SDインターフェース回路534は、図2に示したインターフェース部120に対応する。
The
メモリ540は、例えば、コンピュータ500のオペレーティングシステムを格納する。また、メモリ540は、例えば、半導体装置100の動作をCPU520が実行するための記憶媒体の制御プログラム等のアプリケーションプログラムを格納する。なお、記憶媒体の制御プログラム等のアプリケーションプログラムは、ハードディスク550に格納されてもよい。
The
不揮発性メモリ560は、USBメモリ600、SDメモリカード602等の記憶媒体のブート情報BINF2と、ブート情報BINF2のハッシュ値HASH2と、識別情報IDINFとを記憶する。すなわち、不揮発性メモリ560は、図2に示した記憶部200に対応する。
The
したがって、図2に示した半導体装置100の機能は、例えば、LSI510と不揮発性メモリ560とにより実現される。なお、図1に示した半導体装置10の機能および図8に示した半導体装置102の機能は、LSI510により実現される。例えば、図8に示した制御部112の機能は、CPU520により実現される。
Therefore, the function of the
光学ドライブ570は、光ディスク等のリムーバブルディスク580を装着可能であり、装着したリムーバブルディスク580に記録された情報の読み出しおよび記録を行う。
The
記憶媒体の制御プログラム等のアプリケーションプログラムは、例えば、光ディスク等のリムーバブルディスク580に記録して頒布することができる。例えば、コンピュータ500は、記憶媒体の制御プログラム等のアプリケーションプログラムを、リムーバブルディスク580から光学ドライブ570を介して読み出し、メモリ540やハードディスク550に格納してもよい。また、コンピュータ500は、記憶媒体の制御プログラム等のアプリケーションプログラムを、インターネット等のネットワークに接続する通信装置を介してダウンロードし、メモリ540やハードディスク550に格納してもよい。
An application program such as a storage medium control program can be recorded on a
半導体装置100のハードウェア構成は、図9に示す例に限定されない。例えば、コンピュータ500は、光学ドライブ570が省かれてもよい。
The hardware configuration of the
以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1)
記憶媒体の起動時に参照されるブート領域に格納されたブート情報と、前記記憶媒体を識別する識別情報とを、アクセス対象の前記記憶媒体である第1記憶媒体から読み出すアクセス部と、
前記第1記憶媒体から読み出された第1ブート情報が正常である場合、複数の記憶媒体のそれぞれのブート情報および識別情報を記憶する記憶部に、前記第1記憶媒体から読み出された前記第1ブート情報を前記第1記憶媒体の第1識別情報に対応付けて格納するバックアップ部と、
前記第1記憶媒体から読み出された前記第1ブート情報が正常でなく、かつ、前記第1記憶媒体の前記第1識別情報が前記記憶部に記憶されている場合、前記第1記憶媒体の前記第1識別情報に対応する第2ブート情報を前記記憶部から読み出し、前記第1記憶媒体の前記ブート領域に格納された前記第1ブート情報を前記記憶部から読み出した前記第2ブート情報を用いて修復する修復部と
を有することを特徴とする半導体装置。
(付記2)
付記1に記載の半導体装置において、
前記第1記憶媒体から読み出された前記第1ブート情報が正常である場合、前記バックアップ部は、
前記第1記憶媒体から読み出された前記第1ブート情報を用いて第1のハッシュ値を算出し、
前記第1記憶媒体から読み出された前記第1ブート情報を前記第1記憶媒体の前記第1識別情報に対応付けて前記記憶部に格納した後に、前記第1記憶媒体の前記第1識別情報に対応する前記第2ブート情報を前記記憶部から読み出し、前記記憶部から読み出した前記第2ブート情報を用いて第2のハッシュ値を算出し、
前記第1のハッシュ値が前記第2のハッシュ値と等しい場合、前記第2のハッシュ値を前記第1記憶媒体の前記第1識別情報に対応付けて前記記憶部に格納する
ことを特徴とする半導体装置。
(付記3)
付記2に記載の半導体装置において、
前記第1記憶媒体から読み出された前記第1ブート情報が正常でなく、かつ、前記第1記憶媒体の前記第1識別情報が前記記憶部に記憶されている場合、前記修復部は、
前記記憶部から読み出した前記第2ブート情報を用いて第3のハッシュ値を算出し、
前記第1記憶媒体の前記第1識別情報に対応する前記第2のハッシュ値を前記記憶部から読み出し、
前記記憶部から読み出した前記第2のハッシュ値が前記第3のハッシュ値と等しい場合、前記記憶部から読み出した前記第2ブート情報を前記第1記憶媒体の前記ブート領域に格納し、前記第2のハッシュ値が前記第3のハッシュ値と異なる場合、前記第1記憶媒体の前記ブート領域に格納された前記第1ブート情報の修復を中止する
ことを特徴とする半導体装置。
(付記4)
付記2または付記3に記載の半導体装置において、
前記バックアップ部は、前記第1のハッシュ値が前記第2のハッシュ値と異なる場合、前記第1記憶媒体の前記第1識別情報および前記第1記憶媒体の前記第1識別情報に対応する前記第2ブート情報を、前記記憶部から削除する
ことを特徴とする半導体装置。
(付記5)
付記1ないし付記4のいずれか1項に記載の半導体装置において、
前記ブート領域は、記憶媒体の先頭セクタである
ことを特徴とする半導体装置。
(付記6)
記憶媒体の制御方法において、
記憶媒体の起動時に参照されるブート領域に格納されたブート情報と、前記記憶媒体を識別する識別情報とを、アクセス対象の前記記憶媒体である第1記憶媒体から読み出し、
前記第1記憶媒体から読み出された第1ブート情報が正常である場合、複数の記憶媒体のそれぞれのブート情報および識別情報を記憶する記憶部に、前記第1記憶媒体から読み出された前記第1ブート情報を前記第1記憶媒体の第1識別情報に対応付けて格納し、
前記第1記憶媒体から読み出された前記第1ブート情報が正常でなく、かつ、前記第1記憶媒体の前記第1識別情報が前記記憶部に記憶されている場合、前記第1記憶媒体の前記第1識別情報に対応する第2ブート情報を前記記憶部から読み出し、前記第1記憶媒体の前記ブート領域に格納された前記第1ブート情報を前記記憶部から読み出した前記第2ブート情報を用いて修復する
ことを特徴とする記憶媒体の制御方法。
The invention described in the above embodiments is organized and disclosed as an appendix.
(Appendix 1)
An access unit that reads the boot information stored in the boot area referred to when starting the storage medium and the identification information for identifying the storage medium from the first storage medium that is the storage medium to be accessed;
When the first boot information read from the first storage medium is normal, the storage unit that stores the boot information and the identification information of each of the plurality of storage media stores the read information from the first storage medium. A backup unit that stores first boot information in association with first identification information of the first storage medium;
When the first boot information read from the first storage medium is not normal and the first identification information of the first storage medium is stored in the storage unit, the first storage medium The second boot information corresponding to the first identification information is read from the storage unit, and the first boot information stored in the boot area of the first storage medium is read from the storage unit. A semiconductor device comprising: a repair portion that is repaired by using the semiconductor device.
(Appendix 2)
In the semiconductor device according to attachment 1,
When the first boot information read from the first storage medium is normal, the backup unit
Using the first boot information read from the first storage medium to calculate a first hash value;
After the first boot information read from the first storage medium is stored in the storage unit in association with the first identification information of the first storage medium, the first identification information of the first storage medium The second boot information corresponding to is read from the storage unit, a second hash value is calculated using the second boot information read from the storage unit,
When the first hash value is equal to the second hash value, the second hash value is stored in the storage unit in association with the first identification information of the first storage medium. Semiconductor device.
(Appendix 3)
In the semiconductor device according to attachment 2,
When the first boot information read from the first storage medium is not normal and the first identification information of the first storage medium is stored in the storage unit, the restoration unit is
A third hash value is calculated using the second boot information read from the storage unit,
Reading the second hash value corresponding to the first identification information of the first storage medium from the storage unit;
When the second hash value read from the storage unit is equal to the third hash value, the second boot information read from the storage unit is stored in the boot area of the first storage medium; If the hash value of 2 is different from the third hash value, the restoration of the first boot information stored in the boot area of the first storage medium is stopped.
(Appendix 4)
In the semiconductor device according to appendix 2 or appendix 3,
When the first hash value is different from the second hash value, the backup unit corresponds to the first identification information of the first storage medium and the first identification information of the first storage medium. 2 Boot information is deleted from the said memory | storage part. The semiconductor device characterized by the above-mentioned.
(Appendix 5)
In the semiconductor device according to any one of appendix 1 to appendix 4,
The semiconductor device, wherein the boot area is a head sector of a storage medium.
(Appendix 6)
In a storage medium control method,
Read boot information stored in a boot area referred to when starting the storage medium and identification information for identifying the storage medium from the first storage medium that is the storage medium to be accessed;
When the first boot information read from the first storage medium is normal, the storage unit that stores the boot information and the identification information of each of the plurality of storage media stores the read information from the first storage medium. Storing first boot information in association with first identification information of the first storage medium;
When the first boot information read from the first storage medium is not normal and the first identification information of the first storage medium is stored in the storage unit, the first storage medium The second boot information corresponding to the first identification information is read from the storage unit, and the first boot information stored in the boot area of the first storage medium is read from the storage unit. A storage medium control method characterized by using and repairing.
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。 From the above detailed description, features and advantages of the embodiments will become apparent. This is intended to cover the features and advantages of the embodiments described above without departing from the spirit and scope of the claims. Also, any improvement and modification should be readily conceivable by those having ordinary knowledge in the art. Therefore, there is no intention to limit the scope of the inventive embodiments to those described above, and appropriate modifications and equivalents included in the scope disclosed in the embodiments can be used.
10、100、102‥半導体装置;12‥アクセス部;16、160、162‥修復部;14、140、142‥バックアップ部;20、200、202‥記憶部;30、300‥記憶媒体;32、220、320‥MBR;34、240、340‥データ領域;120‥インタフェース部;122‥アクセス制御部;500‥コンピュータ;510‥LSI;520‥CPU;530、532‥USBインタフェース回路;534‥SDインタフェース回路;540‥メモリ;550‥ハードディスク;560‥不揮発性メモリ;570‥光学ドライブ;580‥リムーバブルディスク
DESCRIPTION OF
Claims (4)
前記第1記憶媒体から読み出された第1ブート情報が正常である場合、複数の記憶媒体のそれぞれのブート情報および識別情報を記憶する記憶部に、前記第1記憶媒体から読み出された前記第1ブート情報を前記第1記憶媒体の第1識別情報に対応付けて格納するバックアップ部と、
前記第1記憶媒体から読み出された前記第1ブート情報が正常でなく、かつ、前記第1記憶媒体の前記第1識別情報が前記記憶部に記憶されている場合、前記第1記憶媒体の前記第1識別情報に対応する第2ブート情報を前記記憶部から読み出し、前記第1記憶媒体の前記ブート領域に格納された前記第1ブート情報を前記記憶部から読み出した前記第2ブート情報を用いて修復する修復部と
を有し、
前記第1記憶媒体から読み出された前記第1ブート情報が正常である場合、前記バックアップ部は、
前記第1記憶媒体から読み出された前記第1ブート情報を用いて第1のハッシュ値を算出し、
前記第1記憶媒体から読み出された前記第1ブート情報を前記第1記憶媒体の前記第1識別情報に対応付けて前記記憶部に格納した後に、前記第1記憶媒体の前記第1識別情報に対応する前記第2ブート情報を前記記憶部から読み出し、前記記憶部から読み出した前記第2ブート情報を用いて第2のハッシュ値を算出し、
前記第1のハッシュ値が前記第2のハッシュ値と等しい場合、前記第2のハッシュ値を前記第1記憶媒体の前記第1識別情報に対応付けて前記記憶部に格納する
ことを特徴とする半導体装置。 An access unit that reads the boot information stored in the boot area referred to when starting the storage medium and the identification information for identifying the storage medium from the first storage medium that is the storage medium to be accessed;
When the first boot information read from the first storage medium is normal, the storage unit that stores the boot information and the identification information of each of the plurality of storage media stores the read information from the first storage medium. A backup unit that stores first boot information in association with first identification information of the first storage medium;
When the first boot information read from the first storage medium is not normal and the first identification information of the first storage medium is stored in the storage unit, the first storage medium The second boot information corresponding to the first identification information is read from the storage unit, and the first boot information stored in the boot area of the first storage medium is read from the storage unit. have a and repair parts to repair using,
When the first boot information read from the first storage medium is normal, the backup unit
Using the first boot information read from the first storage medium to calculate a first hash value;
After the first boot information read from the first storage medium is stored in the storage unit in association with the first identification information of the first storage medium, the first identification information of the first storage medium The second boot information corresponding to is read from the storage unit, a second hash value is calculated using the second boot information read from the storage unit,
When the first hash value is equal to the second hash value, the second hash value is stored in the storage unit in association with the first identification information of the first storage medium. Semiconductor device.
前記第1記憶媒体から読み出された前記第1ブート情報が正常でなく、かつ、前記第1記憶媒体の前記第1識別情報が前記記憶部に記憶されている場合、前記修復部は、
前記記憶部から読み出した前記第2ブート情報を用いて第3のハッシュ値を算出し、
前記第1記憶媒体の前記第1識別情報に対応する前記第2のハッシュ値を前記記憶部から読み出し、
前記記憶部から読み出した前記第2のハッシュ値が前記第3のハッシュ値と等しい場合、前記記憶部から読み出した前記第2ブート情報を前記第1記憶媒体の前記ブート領域に格納し、前記第2のハッシュ値が前記第3のハッシュ値と異なる場合、前記第1記憶媒体の前記ブート領域に格納された前記第1ブート情報の修復を中止する
ことを特徴とする半導体装置。 The semiconductor device according to claim 1 ,
When the first boot information read from the first storage medium is not normal and the first identification information of the first storage medium is stored in the storage unit, the restoration unit is
A third hash value is calculated using the second boot information read from the storage unit,
Reading the second hash value corresponding to the first identification information of the first storage medium from the storage unit;
When the second hash value read from the storage unit is equal to the third hash value, the second boot information read from the storage unit is stored in the boot area of the first storage medium; If the hash value of 2 is different from the third hash value, the restoration of the first boot information stored in the boot area of the first storage medium is stopped.
前記バックアップ部は、前記第1のハッシュ値が前記第2のハッシュ値と異なる場合、前記第1記憶媒体の前記第1識別情報および前記第1記憶媒体の前記第1識別情報に対応する前記第2ブート情報を、前記記憶部から削除する
ことを特徴とする半導体装置。 The semiconductor device according to claim 1 or 2 ,
When the first hash value is different from the second hash value, the backup unit corresponds to the first identification information of the first storage medium and the first identification information of the first storage medium. 2 Boot information is deleted from the said memory | storage part. The semiconductor device characterized by the above-mentioned.
記憶媒体の起動時に参照されるブート領域に格納されたブート情報と、前記記憶媒体を識別する識別情報とを、アクセス対象の前記記憶媒体である第1記憶媒体から読み出し、
前記第1記憶媒体から読み出された第1ブート情報が正常である場合、複数の記憶媒体のそれぞれのブート情報および識別情報を記憶する記憶部に、前記第1記憶媒体から読み出された前記第1ブート情報を前記第1記憶媒体の第1識別情報に対応付けて格納し、
前記第1記憶媒体から読み出された前記第1ブート情報が正常でなく、かつ、前記第1記憶媒体の前記第1識別情報が前記記憶部に記憶されている場合、前記第1記憶媒体の前記第1識別情報に対応する第2ブート情報を前記記憶部から読み出し、前記第1記憶媒体の前記ブート領域に格納された前記第1ブート情報を前記記憶部から読み出した前記第2ブート情報を用いて修復し、
前記第1記憶媒体から読み出された前記第1ブート情報が正常である場合、前記第1記憶媒体から読み出された前記第1ブート情報を用いて第1のハッシュ値を算出し、
前記第1記憶媒体から読み出された前記第1ブート情報を前記第1記憶媒体の前記第1識別情報に対応付けて前記記憶部に格納した後に、前記第1記憶媒体の前記第1識別情報に対応する前記第2ブート情報を前記記憶部から読み出し、前記記憶部から読み出した前記第2ブート情報を用いて第2のハッシュ値を算出し、
前記第1のハッシュ値が前記第2のハッシュ値と等しい場合、前記第2のハッシュ値を前記第1記憶媒体の前記第1識別情報に対応付けて前記記憶部に格納する
ことを特徴とする記憶媒体の制御方法。 In a storage medium control method,
Read boot information stored in a boot area referred to when starting the storage medium and identification information for identifying the storage medium from the first storage medium that is the storage medium to be accessed;
When the first boot information read from the first storage medium is normal, the storage unit that stores the boot information and the identification information of each of the plurality of storage media stores the read information from the first storage medium. Storing first boot information in association with first identification information of the first storage medium;
When the first boot information read from the first storage medium is not normal and the first identification information of the first storage medium is stored in the storage unit, the first storage medium The second boot information corresponding to the first identification information is read from the storage unit, and the first boot information stored in the boot area of the first storage medium is read from the storage unit. used to repair,
When the first boot information read from the first storage medium is normal, a first hash value is calculated using the first boot information read from the first storage medium,
After the first boot information read from the first storage medium is stored in the storage unit in association with the first identification information of the first storage medium, the first identification information of the first storage medium The second boot information corresponding to is read from the storage unit, a second hash value is calculated using the second boot information read from the storage unit,
When the first hash value is equal to the second hash value, the second hash value is stored in the storage unit in association with the first identification information of the first storage medium. A storage medium control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015078398A JP6554881B2 (en) | 2015-04-07 | 2015-04-07 | Semiconductor device and storage medium control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015078398A JP6554881B2 (en) | 2015-04-07 | 2015-04-07 | Semiconductor device and storage medium control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016200861A JP2016200861A (en) | 2016-12-01 |
JP6554881B2 true JP6554881B2 (en) | 2019-08-07 |
Family
ID=57424275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015078398A Active JP6554881B2 (en) | 2015-04-07 | 2015-04-07 | Semiconductor device and storage medium control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6554881B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7084160B2 (en) * | 2018-03-02 | 2022-06-14 | Necプラットフォームズ株式会社 | Start control device, start control system, start control method, and start control program |
JP7380016B2 (en) * | 2019-09-27 | 2023-11-15 | 株式会社デンソーウェーブ | air conditioning controller |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6792556B1 (en) * | 2000-05-31 | 2004-09-14 | Dell Products L.P. | Boot record recovery |
TWI342519B (en) * | 2007-07-02 | 2011-05-21 | Asustek Comp Inc | Computer apparatus and starting method and module thereof |
JP5077726B1 (en) * | 2011-05-23 | 2012-11-21 | Necインフロンティア株式会社 | Computer, control method thereof and program |
KR101994811B1 (en) * | 2012-03-04 | 2019-07-01 | 삼성전자주식회사 | Electronic apparatus, method for restore of mbr and computer-readable recording medium |
-
2015
- 2015-04-07 JP JP2015078398A patent/JP6554881B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016200861A (en) | 2016-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW421739B (en) | System for computer recovery using removable high capacity media | |
JP4371771B2 (en) | Power management block used in non-volatile memory system | |
US6205558B1 (en) | Recovery of file systems after modification failure | |
US7818556B2 (en) | Storage apparatus, control method, and control device which can be reliably started up when power is turned on even after there is an error during firmware update | |
TW200941217A (en) | Data updating method, memory system and memory device | |
WO2013103023A1 (en) | Information processing device, information processing method, and computer program | |
US20080126784A1 (en) | Storage apparatus, control method, and control device | |
JP6543122B2 (en) | INFORMATION PROCESSING APPARATUS, METHOD OF INITIALIZING NONVOLATILE STORAGE DEVICE BY THE INFORMATION PROCESSING APPARATUS, AND PROGRAM | |
JP2006268503A (en) | Computer system, disk unit and data update control method | |
US8522084B2 (en) | Computer system and method employing separate storage area for computer program recovery | |
US8140836B2 (en) | Information processing apparatus and program | |
JP6554881B2 (en) | Semiconductor device and storage medium control method | |
JP3194900B2 (en) | Memory management method for computer having hard disk drive | |
TW201617861A (en) | Firmware updating method and electronic apparatus using the same | |
JP2010282645A (en) | Linux program start-up system | |
JP2002041292A (en) | Computer recovery device | |
US10061630B2 (en) | Image forming apparatus that ensures operation while HDD is inoperative, and recording medium therefor | |
TWI416319B (en) | Boot method for computer system using redundant array of independent disks | |
JP2007164392A (en) | Computer | |
JP6221702B2 (en) | Information processing apparatus, information processing method, and information processing program | |
JP2006344022A (en) | Equipment and program starting method | |
JP2010044503A (en) | Computer program, and recording medium | |
US10958802B2 (en) | Image forming apparatus, control method of image forming apparatus, and storage medium | |
JP5487603B2 (en) | RECORDING CONTROL DEVICE, RECORDING CONTROL METHOD, RECORDING CONTROL PROGRAM, AND STORAGE MEDIUM | |
JP4170133B2 (en) | Information processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20180209 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20180209 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20180209 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180308 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190131 |
|
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: 20190611 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190624 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6554881 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |