JP5352811B2 - Information processing device - Google Patents
Information processing device Download PDFInfo
- Publication number
- JP5352811B2 JP5352811B2 JP2009054192A JP2009054192A JP5352811B2 JP 5352811 B2 JP5352811 B2 JP 5352811B2 JP 2009054192 A JP2009054192 A JP 2009054192A JP 2009054192 A JP2009054192 A JP 2009054192A JP 5352811 B2 JP5352811 B2 JP 5352811B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- data
- storage device
- write request
- nonvolatile memory
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本発明は、記憶装置を備えた情報処理装置に関し、具体的には、ディスクアレイを使った記憶装置に好適な技術に関する。 The present invention relates to an information processing apparatus having a storage device, in particular, to a technique suitable storage device using a disk array.
従来から、高い信頼性が求められる情報処理装置では、データの冗長性を保つために、複数のHDDなどの記録装置を接続したディスクアレイを記憶装置として使用している。このような記憶装置を有する情報処理装置では、電源がオンとなると、CPUを初めとするデバイスの初期化が行われた後に、OSやデバイスドライバなどの情報が記憶装置からRAMに読み込まれて、OSが使用可能な状態となる。
しかし、記憶装置に使用されることが多いHDDは内部に駆動部を持っているため、初期化に必要な時間が他のデバイスに比べて長く、情報処理装置全体の起動時間を長くする原因となっている。
2. Description of the Related Art Conventionally, in an information processing device that requires high reliability, a disk array to which a plurality of recording devices such as HDDs are connected is used as a storage device in order to maintain data redundancy. In an information processing apparatus having such a storage device, when the power is turned on, after initialization of devices including the CPU, information such as an OS and a device driver is read from the storage device to the RAM, The OS is ready for use.
However, since HDDs that are often used for storage devices have a drive unit inside, the time required for initialization is longer than that of other devices, and this may increase the startup time of the entire information processing device. It has become.
また、HDDを駆動させるためには瞬間的に大きな電力を必要とする。そのため、HDDを複数台用いて構成するディスクアレイの場合、駆動部分を同時にスピンアップさせると、一時的に電力消費量が大きくなるため、スピンアップのために大きな容量の電源を使用する必要がある。そのため、多くのディスクアレイでは、一時的な電力消費量を抑えるために、スピンアップするタイミングをずらして、搭載する電源の容量を抑える工夫をしている。しかし、HDDを順次スピンアップさせていくため、全てのHDDのスピンアップが完了し、ディスクアレイが記憶装置として使用可能となるまでの時間は長くなり、起動時間をさらに長くする原因となっている。 Also, in order to drive the HDD, a large amount of electric power is required instantaneously. Therefore, in the case of a disk array composed of a plurality of HDDs, if the drive part is spun up at the same time, the power consumption temporarily increases, so it is necessary to use a large capacity power source for the spin up. . Therefore, in many disk arrays, in order to suppress temporary power consumption, the spin-up timing is shifted so as to reduce the capacity of the mounted power supply. However, since the HDDs are spun up sequentially, the time until all the HDDs are spun up and the disk array can be used as a storage device becomes longer, which further increases the startup time. .
更に、近年の多くの情報処理装置では、消費電力を抑えるために、記憶装置への読み込み、書き込み要求が少ない場合に、記憶装置への給電を止めることで消費電力を抑える機能を持つ。この機能は、情報処理装置の環境負荷を抑えるために、必須の機能となりつつある。ところが、情報処理装置の記憶装置にディスクアレイを使用した場合、HDDへの給電を止めてしまうと、再びディスクアレイが情報処理装置から使用可能な状態に戻るまでの時間に、一度止めてしまったHDDをスピンアップさせるための時間を見込む必要が出てくる。そのため、このような場合は、起動時と同様に、ユーザが使用可能となるまでに長い時間を要することとなる。 Further, many recent information processing apparatuses have a function of reducing power consumption by stopping power supply to the storage device when there are few requests for reading and writing to the storage device in order to reduce power consumption. This function is becoming an indispensable function in order to suppress the environmental load of the information processing apparatus. However, when a disk array is used as a storage device of an information processing apparatus, if power supply to the HDD is stopped, the disk array is stopped once until the disk array returns to a usable state from the information processing apparatus. It will be necessary to allow time for the HDD to spin up. Therefore, in such a case, it takes a long time until the user can use it, as in the case of startup.
この問題を解決するための技術として、特許文献1には、RAM上にダイナミックバッファを生成し、HDDにデータを記録できないときは、当該データを上記ダイナミックバッファに一時的に記憶することで、電源オン時に瞬時に記録を可能とする技術についての開示がある。 As a technique for solving this problem, Patent Document 1 discloses that a dynamic buffer is generated on a RAM, and when data cannot be recorded on the HDD, the data is temporarily stored in the dynamic buffer, so There is a disclosure about a technology that enables recording instantaneously at the time of turning on.
上記課題を解決するために、本発明の情報処理装置は、データを読み書き可能な記憶装置と、データを一時的に記憶可能であり、OSの起動時に必要なデータをキャッシュしておくことが可能な不揮発性メモリとを具備する。更に、不揮発性メモリの所定の領域に設けられ、OSの起動に必要な情報が記録されるキャッシュ領域と、不揮発性メモリの所定の領域に設けられ、キャッシュ領域に含まれるデータの位置と、キャッシュ領域に含まれないデータの中身及び位置が記録されるテーブルとを具備する。更に、記憶装置が起動して使用可能となるまでの間に記憶装置への書き込み要求があった場合において、書き込み要求が不揮発性メモリにキャッシュされている領域に対するものであれば、書き込み要求があったキャッシュの位置を更新情報としてテーブルに記録して、キャッシュ中の書き込み要求があった領域にデータを上書きすると共に、書き込み要求が不揮発性メモリにキャッシュされている領域ではなく、テーブル中に書き込み要求があった領域に対する更新情報が既に記録されていると判定された場合、書き込み要求があった領域に対する更新情報のうち、データの部分のみを上書きすると共に、書き込み要求が不揮発性メモリにキャッシュされている領域ではなく、テーブル中に書き込み要求があった領域に対する更新情報が記録されていないと判定された場合、書き込み要求があった領域の位置とデータを更新情報としてテーブルに記録するコントローラとを具備する。 In order to solve the above problems, the information processing apparatus according to the present invention can store data that can be read and written, and can temporarily store data, and can cache necessary data when the OS starts. A non-volatile memory . Further , a cache area provided in a predetermined area of the non-volatile memory, in which information necessary for starting the OS is recorded, a position of data included in the predetermined area of the non-volatile memory and included in the cache area, and a cache And a table in which contents and positions of data not included in the area are recorded . Furthermore , if there is a write request to the storage device between the time when the storage device is activated and it becomes usable, if the write request is for an area cached in the nonvolatile memory, there is a write request. The cache location is recorded as update information in the table, the data is overwritten in the area where the write request was made in the cache, and the write request is written to the table instead of the area cached in the non-volatile memory. If it is determined that the update information for the area that has been recorded has already been recorded, only the data portion of the update information for the area for which the write request has been made is overwritten, and the write request is cached in the nonvolatile memory. Update information for the area requested to be written in the table If it is determined not to be, comprising a controller for recording in the table the position and data of a region where there is a write request as update information.
しかしながら、特許文献1に記載された技術においては、電源オン時にRAM上にダイナミックバッファを確保するに十分な領域が確保できない場合、データを保存することができなくなってしまい、起動時間の短縮が困難となる。
また、特許文献2に記載された技術においては、不揮発性メモリにキャッシュされていたデータを読み込む場合、ダイナミックバッファにそのキャッシュに対して書き込まれたデータが無いか確認してからでないと、キャッシュを読み込むことができない。そのためダイナミックバッファに記録されたデータが大きくなると、そのデータを全て読んでからでないと不揮発性メモリのキャッシュを読み込むことができないため、起動時間の短縮が困難となる。
However, in the technique described in Patent Document 1, when a sufficient area cannot be secured on the RAM when the power is turned on, data cannot be saved, and it is difficult to shorten the startup time. It becomes.
In the technique described in Patent Document 2, when data cached in a nonvolatile memory is read, it is necessary to confirm that there is no data written in the cache in the dynamic buffer. Cannot read. Therefore, if the data recorded in the dynamic buffer becomes large, it is difficult to read the cache of the non-volatile memory until all the data has been read, so that it is difficult to shorten the startup time.
また、特許文献2に記載された技術においては、HDDが使用可能となるまでに電源が切れた場合、ダイナミックバッファにHDDへの情報が記録されないまま残ってしまう。そのため再度電源がオンとなった場合、新たにダイナミックバッファに時系列データが記録されるため、HDDが使用可能となるまでに何度か電源のオン、オフが繰り返されるとダイナミックバッファが一杯になりやすい。その場合、ダイナミックバッファへの書き込みができなくなってしまい、結果として書き込み待ちが発生してしまうため、起動時間の短縮が困難となる。 In the technique described in Patent Document 2, when the power is turned off before the HDD can be used, information to the HDD remains unrecorded in the dynamic buffer. For this reason, when the power is turned on again, time series data is newly recorded in the dynamic buffer, so if the power is turned on and off several times before the HDD can be used, the dynamic buffer becomes full. Cheap. In that case, it becomes impossible to write to the dynamic buffer, and as a result, a write wait occurs, making it difficult to shorten the startup time.
本発明は、これらの問題点に鑑みてなされたものであり、記憶装置の起動時間を短縮することで、ユーザが使用可能となるまでの時間を短縮することを目的とする。 The present invention has been made in view of these problems, and an object of the present invention is to reduce the time until the user can use the storage device by reducing the startup time of the storage device.
上記課題を解決するため、本発明の情報処理装置は、データを読み書き可能な記憶装置と、データを一時的に記憶可能であり、OSの起動時に必要なデータをキャッシュしておくことが可能な不揮発性メモリと、不揮発性メモリの所定の領域に設けられ、OSの起動に必要な情報が記録されるキャッシュ領域と、不揮発性メモリの所定の領域に設けられ、キャッシュ領域に含まれるデータの位置と、キャッシュ領域に含まれないデータの中身及び位置が記録されるテーブルと、記憶装置が起動して使用可能となるまでの間に記憶装置への書き込み要求があった場合において、書き込み要求がキャッシュ領域に該当する箇所に対応するものである場合は、キャッシュ領域の該当箇所を書き込み要求に係るデータで上書きして、テーブルに該当する箇所を上書きして更新すると共に、書き込み要求がキャッシュ領域に該当しない箇所である場合は、テーブルに書き込み要求に係るデータと位置を追記録するコントローラとを具備する。In order to solve the above-described problems, an information processing apparatus according to the present invention can store data that can be read and written, and can temporarily store data, and can cache necessary data when the OS is started up. Non-volatile memory, a cache area provided in a predetermined area of the non-volatile memory and storing information necessary for starting the OS, and a position of data included in the cache area provided in the predetermined area of the non-volatile memory And a table in which the contents and position of data not included in the cache area are recorded, and when there is a write request to the storage device between the time when the storage device is activated and becomes usable, the write request is cached. If it corresponds to the location corresponding to the area, overwrite the corresponding location in the cache area with the data related to the write request and correspond to the table. And updates by overwriting the location, if a write request is a location that does not correspond to the cache area comprises a controller for additionally recording data and position according to the write request to the table.
本発明によれば、ハードディスクの如き記憶装置が使用可能となる前の、読み込み待ち及び書き込み待ち時間を削減することができ、その結果、記憶装置並びにその記憶装置を備える情報処理装置の起動時間を短縮し、ユーザが使用可能となるまでの時間を短くすることができる。 According to the present invention, it is possible to reduce the waiting time for reading and the waiting time for writing before a storage device such as a hard disk can be used. As a result, the startup time of the storage device and the information processing device including the storage device can be reduced. This shortens the time until the user becomes usable.
以下、本発明の一実施の形態を、添付図面を参照して説明する。 Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.
図1に、本発明の一実施の形態の例(以下本例と称する)における情報処理装置の例として、コンピュータの構成例を示す。
コンピュータ1は、CPU(Central Processing Unit:中央制御ユニット)2と、MCH(Memory Controller Hub:メモリコントロールハブ)3と、ICH(I/O Controller Hub:入出力コントローラハブ)4を備える。更に、MCH3には、RAM(Random Access Memory)6と、ビデオ出力部11を接続する。また、ICH4には、ROM(Read Only Memory)5と、コントローラ7と、ユーザ操作入出力部12を接続する。コントローラ7には、複数台のHDD(Hard Disk Drive:ハードディスクドライブ装置)80,81,82…から成るディスクアレイ8と、不揮発性メモリ9を接続する。ここで、コントローラ7及びそれに接続する部位によって記憶装置10を構成する。
ディスクアレイ8は、複数台のHDDにデータを分散して記憶させると共にパリティ符号なども記憶させて、冗長性を高めた記憶手段である。そのディスクアレイ8への書き込み及び読み出しがコントローラ7により制御される。
FIG. 1 shows a configuration example of a computer as an example of an information processing apparatus in an example of an embodiment of the present invention (hereinafter referred to as this example).
The computer 1 includes a CPU (Central Processing Unit) 2, an MCH (Memory Controller Hub) 3, and an ICH (I / O Controller Hub) 4. Further, a RAM (Random Access Memory) 6 and a video output unit 11 are connected to the
The
次に、本例によるコンピュータ1の電源オン時の起動処理について説明する。 Next, a startup process when the computer 1 according to this example is turned on will be described.
コンピュータ1は電源オンすると、ROM5から起動のためのプログラムを読み込み、CPU2、MCH3、ICH4、ビデオ出力部11、ユーザ操作入出力部12、コントローラ7など、コンピュータ1の有する各構成要素を初期化し、OS(Operating System)が使用可能な状態にする。
When the computer 1 is powered on, it reads a startup program from the
初期化されたコントローラ7は、コントローラ7に接続するHDD80、81、82…を初期化し、全てのHDDが使用可能となると、それらのHDDは論理的に一つの記憶装置(ディスクアレイ8)として使用可能な状態となる。
The initialized
ROM5に記録された起動プログラムによる初期化処理が完了した後、起動プログラムはディスクアレイ8からOSをRAM6に読み込んで、OSを起動しようとする。この時、HDD80、81、82…の初期化完了前で、ディスクアレイ8として使用可能な状態になっていない場合は、ディスクアレイ8からOSを読み込むことができない。
After the initialization process by the boot program recorded in the
そのため、本例では、OS起動に必要なデータを不揮発性メモリ9にキャッシュしておき、ディスクアレイ8からOSを読み込むことができない場合には、コントローラ7は不揮発性メモリ9にキャッシュしていたデータをRAM6に読み込む。これにより、ディスクアレイ8が使用できない状態でも、OSが起動可能となる。
Therefore, in this example, data necessary for OS startup is cached in the nonvolatile memory 9, and when the OS cannot be read from the
また、OS起動途中のためディスクアレイ8が使用できない状態で、ディスクアレイ8への書き込み要求があった場合、コントローラ7はディスクアレイ8へ書き込みを行う代わりに、不揮発性メモリ9に対して書き込みを行う。またディスクアレイ8が使用可能となる前に、読み込み要求があった場合、コントローラ7は不揮発性メモリ9に対して読み込みを行う。
Further, when a write request to the
このように、ディスクアレイが使用可能となるまでに時間がかかる場合でも、OS起動に必要なデータを不揮発性メモリ9から読み込みまたは書き込みすることにより、コンピュータの起動時間を短縮することができる。 As described above, even if it takes time until the disk array becomes usable, it is possible to shorten the computer startup time by reading or writing data necessary for OS startup from the nonvolatile memory 9.
次に、不揮発性メモリ9へのデータの書き込み、読み込みの処理について図2、3、4を用いて説明する。 Next, data writing / reading processing to / from the nonvolatile memory 9 will be described with reference to FIGS.
図2は、コントローラ7が起動プログラムから書き込み要求を受け取った際の書き込み処理例を示したフローチャートである。
FIG. 2 is a flowchart showing an example of a write process when the
まず、コントローラ7は、書き込み要求を受けると(ステップS201)、ディスクアレイ8が使用可能であるかを判定する(ステップS202)。判定の結果、ディスクアレイ8が使用可能であれば、ディスクアレイ8に要求されたデータを書き込み(ステップS203)、処理を終了する。
First, when receiving a write request (step S201), the
ステップS202の判定で、OS起動中などの理由でディスクアレイ8が使用可能でなかった場合、コントローラ7は、書き込み要求があった領域が不揮発性メモリ9中にキャッシュされている領域に該当するかを判定する(ステップS204)。判定の結果、書き込み要求が不揮発性メモリ9にキャッシュされている領域に対するものであれば、コントローラ7は、書き込み要求があったキャッシュの位置を更新情報としてテーブルに記録する(ステップS205)。そして、不揮発性メモリ9のキャッシュ中の書き込み要求があった領域にデータを上書きして(ステップS206)、書き込み処理を終了する。
If it is determined in step S202 that the
ステップS204の判定で、書き込み要求があった領域が不揮発性メモリ9中にキャッシュされている領域でなかった場合、コントローラ7は、不揮発性メモリ9のテーブル中に、書き込み要求があった領域に対する更新情報が既に記録されているかどうかを判定する(ステップS207)。判定の結果、テーブル中に該当領域に対する更新情報が既にあると判定された場合、その更新情報には、書き込み要求があった領域の位置とデータを含んでいる。そのため、コントローラ7は、該当領域の更新情報のうち、データの部分のみを上書きして(ステップS208)、書き込み処理を終了する。
If it is determined in step S204 that the area requested for writing is not an area cached in the nonvolatile memory 9, the
ステップS207の判定で、不揮発性メモリ9のテーブル中に、書き込み要求があった領域に対する更新情報が記録されていなかった場合、コントローラ7は、書き込み要求があった領域の位置とデータを更新情報としてテーブルに記録して(ステップS209)、書き込み処理を終了する。
If it is determined in step S207 that update information for the area requested to be written is not recorded in the table of the nonvolatile memory 9, the
図3は、コントローラ7が起動プログラムから読み込み要求を受け取った際の読み込み処理を示したフローチャートである。
FIG. 3 is a flowchart showing a read process when the
まず、コントローラ7は、読み込み要求を受けると(ステップS301)、ディスクアレイ8が使用可能であるかを判定する(ステップS302)。判定の結果、ディスクアレイ8が使用可能であれば、ディスクアレイ8からに要求されたデータを読み込み(ステップS303)、処理を終了する。
First, when receiving a read request (step S301), the
ステップS302の判定で、まだディスクアレイ8が使用可能でない場合、コントローラ7は、読み込み要求のあった領域が不揮発性メモリ9中にキャッシュされている領域に該当するかを判定する(ステップS304)。判定の結果、読み込み要求が不揮発性メモリ9にキャッシュされている領域に対するものであれば、コントローラ7は、読み込み要求のあったデータを読み込み(ステップS305)、処理を終了する。
If it is determined in step S302 that the
ステップS304の判定で、読み込み要求のあった領域が不揮発性メモリ9中にキャッシュされている領域でなかった場合、コントローラ7は、不揮発性メモリ9のテーブル中に、読み込み要求があった領域に対する更新情報が既に記録されているかどうかを判定する(ステップS306)。判定の結果、テーブル中に該当領域に対する更新情報が既にあると判定された場合、更新情報中のデータを読み込み(ステップS307)、処理を終了する。
If it is determined in step S304 that the area requested to be read is not an area cached in the nonvolatile memory 9, the
ステップS306の判定で、不揮発性メモリ9のテーブル中に、読み込み要求のあった領域に対する更新情報が記録されていなかった場合、コントローラ7は、ディスクアレイ8が使用可能となるまで、読み込み要求に対して、該当するデータを取得することができないため、読み込み待ちとなる。そのため、この読み込み要求については、キャッシュ追加テーブルに読み込み要求のあったアドレスを記録し(ステップS308)、ステップS302へ戻る。キャッシュ追加テーブルとは、ディスクアレイ8が使用可能となった後に、次に起動する際に読み込み待ちにならないよう、記録しておいた読み込み要求のあった領域を不揮発性メモリ9にキャッシュしておくためのテーブルである。
If it is determined in step S306 that the update information for the area requested to be read is not recorded in the table of the nonvolatile memory 9, the
図4に、不揮発性メモリ9のデータ構成例を示す。不揮発性メモリ9の電源オンとなった直後の状態を不揮発性メモリ91として示す。不揮発性メモリ91には、2つの領域を設け、一方の領域は、OS起動に必要なデータやデバイスドライバのデータを記録する、キャッシュ200とする。また、もう一方の領域は、更新情報を記録するテーブル210とする。
FIG. 4 shows a data configuration example of the nonvolatile memory 9. A state immediately after the nonvolatile memory 9 is turned on is shown as a
ディスクアレイ8が使用可能でない状態で、OSやデバイスドライバの読み出し要求があった場合、必要なデータがキャッシュ200に記録されていれば、コントローラ7は不揮発性メモリ9からキャッシュ200を読み出す。これにより、ディスクアレイ8が使用可能でなくても、コントローラ7がキャッシュ200からデータを読み込むことで、起動時間を短縮させることができる。
If a read request from the OS or device driver is made when the
また、ディスクアレイ8が使用可能でない状態で、書き込み要求があった場合、コントローラ7は不揮発性メモリ9に対して書き込みを行う。この書き込み要求が、不揮発性メモリ9のキャッシュ200への書き込み要求であった場合は、書き込み要求があった領域の位置を更新情報としてテーブル210に書き込み、それと同時にキャッシュ200の該当領域220へデータの書き込みを行う。この時の、書き込みが完了した不揮発性メモリの状態を図4の不揮発性メモリ92に示す。
If there is a write request while the
キャッシュ200への書き込み要求があった場合に、直接キャッシュ200へデータを書き込むことにより、その後キャッシュ200の当該領域に対する読み込み要求があった場合、直接キャッシュ200を読み込むことができる。なお、キャッシュ200に対する更新情報については、書き込み処理の都度、書き込み要求のあった領域の位置をテーブル210に書き込むため、複数存在する可能性がある。しかし、この場合の更新情報は、書き込み要求があった領域の位置のみしか含んでおらず、更新されたデータについてはキャッシュ200に1つだけ登録する。そのため、読み込みの際にはテーブル210は参照せず、キャッシュ200からデータを読み込むため、処理時間を短縮できる。
When there is a write request to the
また、書き込み要求が、不揮発性メモリ9のキャッシュ200以外への書き込み要求であった場合は、書き込み要求があった領域の位置とデータを更新情報221としてテーブル210に書き込む。この時、書き込み要求があった領域の位置に対する更新情報が既にテーブル210にあった場合は、該当する更新情報のデータ部分のみを更新する。書き込みが完了した不揮発性メモリ9の状態を図4の不揮発性メモリ93に示す。
If the write request is a write request to a location other than the
本例では、書き込み要求があった領域の位置に対する更新情報が既にテーブル210にあった場合、テーブル210に新たな更新情報を書き込まず、既にある更新情報のデータ部分だけを更新する。これにより、同じ領域に対する更新情報が2つ以上あった場合でも、その更新情報が持つデータが複数になるのを避け、同じ領域に対する更新情報は1つしか登録しないようにすることができる。その結果、処理時間を短縮できる上に、テーブル領域を有効に使用することができる。 In this example, when the update information for the position of the area requested to be written is already in the table 210, new update information is not written in the table 210, and only the data portion of the existing update information is updated. As a result, even when there are two or more pieces of update information for the same region, it is possible to avoid having multiple pieces of data in the update information and register only one piece of update information for the same region. As a result, the processing time can be shortened and the table area can be used effectively.
また、読み込み要求が、不揮発性メモリ9のキャッシュ200以外への読み込み要求であった場合で、テーブル210に読み込み要求があった領域の位置とデータが更新情報221として記録されていた場合は、更新情報221からデータを読み込む。ここで、テーブル210の更新情報にも該当する領域のデータがない場合は、当該領域の位置をキャッシュ追加テーブルとしてテーブル210に記録する。
Further, when the read request is a read request to a non-volatile memory 9 other than the
図5のフローチャートは、ディスクアレイへのデータ更新処理を示したものである。
ディスクアレイ8が使用可能となった後は、不揮発性メモリ9に一時的に記録した書き込み要求をコントローラ7がディスクアレイ8に書き戻していく処理が行われる。
以下、図5に従って説明すると、まずコントローラ7が、ディスクアレイ8が使用可能であるか判定する(ステップS501)。ここで、使用可能でない場合には、使用可能になるまで待機する。
The flowchart in FIG. 5 shows a data update process to the disk array.
After the
Hereinafter, referring to FIG. 5, the
使用可能になると、コントローラ7はテーブルから更新情報を一つ読み込み(ステップS502)、読み込んだ更新情報が不揮発性メモリ9のキャッシュに対する更新情報であるか否かを判定する(ステップS503)。
ステップS503で更新情報がキャッシュに対する更新情報であった場合は、キャッシュの該当する位置のデータを読み込んで(ステップS504)、その読み込んだデータをディスクアレイ8へと書き込ませる(ステップS506)。
When usable, the
If the update information is update information for the cache in step S503, the data at the corresponding position in the cache is read (step S504), and the read data is written to the disk array 8 (step S506).
ステップS503で更新情報がキャッシュに対する更新情報でなかった場合は、更新情報は書き込み要求のあった領域の位置だけでなく、そのデータも含んでいる。このため、そのデータを読み込み(ステップS505)、ディスクアレイ8へと書き込ませる(ステップS506)。 If the update information is not update information for the cache in step S503, the update information includes not only the position of the area where the write request is made but also the data. Therefore, the data is read (step S505) and written to the disk array 8 (step S506).
ディスクアレイ8に書き込こまれた更新情報は、テーブルから削除し(ステップS507)、更新情報がまだあるか判断されて(ステップS508)、まだある場合にはステップS502に戻る。ステップS508で更新情報がないと判断されると終了し、全ての更新情報についてディスクアレイ8へと書き戻されることとなる。
The update information written in the
この処理が行われることによって、一時的に不揮発性メモリ9に記録されていた書き込み要求を、ディスクアレイ8へと書き戻すことが可能となる。
起動の途中で電源が切れてしまい、ディスクアレイ8に対して書き込み要求が書き戻されなかった場合でも、一時的な書き込み要求は不揮発性メモリ9に記録されているため、更新情報が失われることはなく、再度電源がオンされ、ディスクアレイ8が使用可能となった際に、書き戻すことが可能である。
By performing this process, the write request temporarily recorded in the nonvolatile memory 9 can be written back to the
Even if the power is cut off during the start-up and the write request is not written back to the
次に、図3のフローチャートのステップS308で、キャッシュ追加テーブルに読み込みがあった場合に実行される、キャッシュ更新処理例を、図6のフローチャートを参照して説明する。
まず、キャッシュ追加テーブルに書き込みがあるか否か判断する(ステップS601)。書き込みがない場合には、ここでの処理を終了する。
キャッシュ追加テーブルに書き込みがある場合には、キャッシュ追加テーブルから1件読み出し(ステップS602)、ディスクアレイ8の該当部分からデータを読み出す(ステップS603)。ディスクアレイ8から読み出したデータをキャッシュに登録する(ステップS604)。そして、その登録されたデータをキャッシュ追加テーブルから1件削除し(ステップS605)、ステップS601に戻り、全ての件の処理が完了するまでここまでの処理が繰り返される。
Next, an example of cache update processing that is executed when the cache addition table is read in step S308 of the flowchart of FIG. 3 will be described with reference to the flowchart of FIG.
First, it is determined whether there is a write in the cache addition table (step S601). If there is no writing, the processing here ends.
If there is a write in the cache addition table, one record is read from the cache addition table (step S602), and data is read from the corresponding part of the disk array 8 (step S603). The data read from the
このように書き込み処理を行うことで、ディスクアレイ8が使用可能となる前に発生した書き込み要求に関しても、書き込み待ちとならずに処理を継続することが可能となる。また、本例による読み込み処理によって、キャッシュされている領域や、更新情報として書き込み要求がテーブルに記録されている領域への読み込み要求であれば、ディスクアレイ8が使用可能となるまでの読み込み要求で、読み込み待ちとならないため、起動時間を短縮することができる。
By performing the writing process in this way, it is possible to continue the processing without waiting for writing even for a write request generated before the
なお、上述した実施の形態では、ディスクアレイは、ハードディスクドライブ装置を複数台接続した構成としたものに適用したが、その他の記憶媒体を使った記憶装置で実質的に同様のディスクアレイを構成させたものに適用してもよい。複数台の記憶手段を使ったディスクアレイではなく、1台のハードディスクドライブ装置などの記憶手段で構成させた記憶手段であってもよい。 In the above-described embodiment, the disk array is applied to a configuration in which a plurality of hard disk drive devices are connected. However, a substantially similar disk array is configured by a storage device using other storage media. It may be applied to anything. Instead of a disk array using a plurality of storage means, a storage means constituted by a storage means such as a single hard disk drive device may be used.
1…コンピュータ装置、2…CPU(中央制御ユニット)、3…MCH(メモリコントロールハブ)、4…ICH(入出力コントローラハブ)、5…ROM、6…RAM、7…コントローラ、8…ディスクアレイ、10…記憶装置、11…ビデオ出力部、12…ユーザ操作入出力部、80,81,82…HDD(ハードディスクドライブ装置)
DESCRIPTION OF SYMBOLS 1 ... Computer apparatus, 2 ... CPU (central control unit), 3 ... MCH (memory control hub), 4 ... ICH (input / output controller hub), 5 ... ROM, 6 ... RAM, 7 ... Controller, 8 ... Disk array, DESCRIPTION OF
Claims (5)
前記データを一時的に記憶可能であり、OSの起動時に必要なデータをキャッシュしておくことが可能な不揮発性メモリと、
前記不揮発性メモリの所定の領域に設けられ、前記OSの起動に必要な情報が記録されるキャッシュ領域と、
前記不揮発性メモリの所定の領域に設けられ、前記キャッシュ領域に含まれるデータの位置と、前記キャッシュ領域に含まれないデータの中身及び位置が記録されるテーブルと、
前記記憶装置が起動して使用可能となるまでの間に前記記憶装置への書き込み要求があった場合において、前記書き込み要求が前記不揮発性メモリにキャッシュされている領域に対するものであれば、前記書き込み要求があった前記キャッシュの位置を更新情報として前記テーブルに記録して、前記キャッシュ中の書き込み要求があった領域にデータを上書きすると共に、前記書き込み要求が前記不揮発性メモリにキャッシュされている領域ではなく、前記テーブル中に前記書き込み要求があった領域に対する更新情報が既に記録されていると判定された場合、前記書き込み要求があった領域に対する前記更新情報のうち、データの部分のみを上書きすると共に、前記書き込み要求が前記不揮発性メモリにキャッシュされている領域ではなく、前記テーブル中に前記書き込み要求があった領域に対する更新情報が記録されていないと判定された場合、前記書き込み要求があった領域の位置とデータを更新情報として前記テーブルに記録するコントローラと
を具備する情報処理装置。 A storage device capable of reading and writing data;
A non-volatile memory capable of temporarily storing the data and capable of caching necessary data when starting the OS;
A cache area provided in a predetermined area of the nonvolatile memory, in which information necessary for starting the OS is recorded;
A table provided in a predetermined area of the non-volatile memory, in which data positions included in the cache area, and contents and positions of data not included in the cache area are recorded;
If there is a write request to the storage device before the storage device is activated and usable, the write request is for an area cached in the nonvolatile memory. The cache location where the request was made is recorded in the table as update information, the data is overwritten in the area where the write request is made in the cache, and the area where the write request is cached in the nonvolatile memory Instead, if it is determined that update information for the area requested to be written is already recorded in the table, only the data portion of the update information for the area requested to be written is overwritten. And not the area where the write request is cached in the non-volatile memory. When the update information for the region where the a writing request in the table is determined not to be recorded, comprising a controller for recording in the table the position and data of the a writing request area as the update information Information processing device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009054192A JP5352811B2 (en) | 2009-03-06 | 2009-03-06 | Information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009054192A JP5352811B2 (en) | 2009-03-06 | 2009-03-06 | Information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010211320A JP2010211320A (en) | 2010-09-24 |
JP5352811B2 true JP5352811B2 (en) | 2013-11-27 |
Family
ID=42971448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009054192A Expired - Fee Related JP5352811B2 (en) | 2009-03-06 | 2009-03-06 | Information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5352811B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2888195B2 (en) * | 1996-06-18 | 1999-05-10 | 日本電気株式会社 | Startup controller for disk unit |
KR100597733B1 (en) * | 2002-01-03 | 2006-07-07 | 삼성전자주식회사 | Computer system and booting method thereof |
JP4661505B2 (en) * | 2005-09-30 | 2011-03-30 | ソニー株式会社 | Information processing apparatus, information processing method, and program thereof |
JP4791286B2 (en) * | 2006-08-09 | 2011-10-12 | 富士通株式会社 | Disk device and electronic device |
-
2009
- 2009-03-06 JP JP2009054192A patent/JP5352811B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010211320A (en) | 2010-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8694984B2 (en) | Memory apparatus and method of updating firmware of the memory apparatus | |
US7130962B2 (en) | Writing cache lines on a disk drive | |
TWI590049B (en) | Memory device and operating method of same | |
JP2006114206A (en) | Hdd having both dram and flush memory | |
JP5914148B2 (en) | SSD (solid state drive) device | |
JP2009020986A (en) | Disk drive apparatus, and method for storing table for managing data in nonvolatile semiconductor memory in disk drive apparatus | |
JP2006114206A5 (en) | ||
JP2012190359A (en) | Cache system and processing device | |
JP2006331378A (en) | Flash memory storing system | |
JP2007293440A (en) | Storage device using nonvolatile cache memory and its control method | |
JP2008046964A (en) | Information recording device and control method therefor | |
JP2014048679A (en) | Ssd (solid state drive) device | |
JP2008027383A (en) | Information recorder and control method thereof | |
JP2013065060A (en) | Information processor and cache method | |
JP2006252754A (en) | Portable digital audio/video reproducing device | |
JP2007193448A (en) | Information recorder, and control method therefor | |
US20110016264A1 (en) | Method and apparatus for cache control in a data storage device | |
JP2007179089A (en) | Information processor, access control method and program | |
US9047923B1 (en) | Fast shingled tracks recording | |
JP2008250718A (en) | Storage device using nonvolatile cache memory and control method thereof | |
JP2006099802A (en) | Storage controller, and control method for cache memory | |
JP2012203487A (en) | Cache system and processor | |
JP5352811B2 (en) | Information processing device | |
US9207947B1 (en) | Fast boot in hybrid drives | |
JP5025670B2 (en) | Information processing apparatus and data storage apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120529 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120724 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130312 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130424 |
|
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: 20130730 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130801 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |