JP5352811B2 - Information processing device - Google Patents

Information processing device Download PDF

Info

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
Application number
JP2009054192A
Other languages
Japanese (ja)
Other versions
JP2010211320A (en
Inventor
慶 武澤
英典 大宮
幸次 小沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009054192A priority Critical patent/JP5352811B2/en
Publication of JP2010211320A publication Critical patent/JP2010211320A/en
Application granted granted Critical
Publication of JP5352811B2 publication Critical patent/JP5352811B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To shorten a time until a user becomes ready to use, by shortening the starting time of a storage device such as a disk array. <P>SOLUTION: A temporary storage means for keeping required data required in starting cache is prepared, so as to perform processing in starting the storage device. The processing using the temporary storage means is to write data to the corresponding position of the temporary storage means and also to store the position of the temporary storage means with the data changed therein in a table when there is a writing request to the storage device during the period until the storage device can be used. The processing is also to read the data from the corresponding position of the temporary storage means when there is a reading request to the storage device during the period until the storage device can be used, and also to write back the data with the writing request to the storage device from the temporary storage means in response to the information stored in the table after the storage device becomes usable. <P>COPYRIGHT: (C)2010,JPO&amp;INPIT

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.

特開2001−57024号公報JP 2001-57024 A 特開2007−94939号公報JP 2007-94939 A

しかしながら、特許文献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.

本発明の一実施の形態による構成例を示すブロック図である。It is a block diagram which shows the structural example by one embodiment of this invention. 本発明の一実施の形態による書き込み処理例を示すフローチャートである。It is a flowchart which shows the example of a writing process by one embodiment of this invention. 本発明の一実施の形態による読み込み処理例を示すフローチャートである。It is a flowchart which shows the example of a reading process by one embodiment of this invention. 本発明の一実施の形態による不揮発性メモリの例を示す説明図である。It is explanatory drawing which shows the example of the non-volatile memory by one embodiment of this invention. 本発明の一実施の形態によるディスクアレイへのデータ更新処理例を示すフローチャートである。It is a flowchart which shows the example of a data update process to the disk array by one embodiment of this invention. 本発明の一実施の形態によるキャッシュ更新処理例を示すフローチャートである。It is a flowchart which shows the example of a cache update process by one embodiment of this invention.

以下、本発明の一実施の形態を、添付図面を参照して説明する。   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 MCH 3. Further, a ROM (Read Only Memory) 5, a controller 7, and a user operation input / output unit 12 are connected to the ICH 4. A disk array 8 including a plurality of HDDs (Hard Disk Drives) 80, 81, 82... And a nonvolatile memory 9 are connected to the controller 7. Here, the storage device 10 is constituted by the controller 7 and the parts connected thereto.
The disk array 8 is a storage unit that increases the redundancy by distributing and storing data in a plurality of HDDs and storing a parity code and the like. Writing to and reading from the disk array 8 are controlled by the controller 7.

次に、本例によるコンピュータ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 ROM 5, initializes the components of the computer 1, such as the CPU 2, MCH 3, ICH 4, the video output unit 11, the user operation input / output unit 12, and the controller 7, Make the OS (Operating System) usable.

初期化されたコントローラ7は、コントローラ7に接続するHDD80、81、82…を初期化し、全てのHDDが使用可能となると、それらのHDDは論理的に一つの記憶装置(ディスクアレイ8)として使用可能な状態となる。   The initialized controller 7 initializes the HDDs 80, 81, 82... Connected to the controller 7, and when all the HDDs are usable, these HDDs are logically used as one storage device (disk array 8). It becomes possible.

ROM5に記録された起動プログラムによる初期化処理が完了した後、起動プログラムはディスクアレイ8からOSをRAM6に読み込んで、OSを起動しようとする。この時、HDD80、81、82…の初期化完了前で、ディスクアレイ8として使用可能な状態になっていない場合は、ディスクアレイ8からOSを読み込むことができない。   After the initialization process by the boot program recorded in the ROM 5 is completed, the boot program reads the OS from the disk array 8 into the RAM 6 and tries to boot the OS. At this time, the OS cannot be read from the disk array 8 if the HDDs 80, 81, 82,... Are not ready for use as the disk array 8 before the initialization is completed.

そのため、本例では、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 disk array 8, the controller 7 caches the data cached in the nonvolatile memory 9. Is read into the RAM 6. As a result, the OS can be activated even when the disk array 8 cannot be used.

また、OS起動途中のためディスクアレイ8が使用できない状態で、ディスクアレイ8への書き込み要求があった場合、コントローラ7はディスクアレイ8へ書き込みを行う代わりに、不揮発性メモリ9に対して書き込みを行う。またディスクアレイ8が使用可能となる前に、読み込み要求があった場合、コントローラ7は不揮発性メモリ9に対して読み込みを行う。   Further, when a write request to the disk array 8 is made when the disk array 8 cannot be used because the OS is starting up, the controller 7 writes to the nonvolatile memory 9 instead of writing to the disk array 8. Do. If there is a read request before the disk array 8 can be used, the controller 7 reads the nonvolatile memory 9.

このように、ディスクアレイが使用可能となるまでに時間がかかる場合でも、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 controller 7 receives a write request from the activation program.

まず、コントローラ7は、書き込み要求を受けると(ステップS201)、ディスクアレイ8が使用可能であるかを判定する(ステップS202)。判定の結果、ディスクアレイ8が使用可能であれば、ディスクアレイ8に要求されたデータを書き込み(ステップS203)、処理を終了する。   First, when receiving a write request (step S201), the controller 7 determines whether the disk array 8 is usable (step S202). If the disk array 8 is usable as a result of the determination, the requested data is written to the disk array 8 (step S203), and the process is terminated.

ステップS202の判定で、OS起動中などの理由でディスクアレイ8が使用可能でなかった場合、コントローラ7は、書き込み要求があった領域が不揮発性メモリ9中にキャッシュされている領域に該当するかを判定する(ステップS204)。判定の結果、書き込み要求が不揮発性メモリ9にキャッシュされている領域に対するものであれば、コントローラ7は、書き込み要求があったキャッシュの位置を更新情報としてテーブルに記録する(ステップS205)。そして、不揮発性メモリ9のキャッシュ中の書き込み要求があった領域にデータを上書きして(ステップS206)、書き込み処理を終了する。   If it is determined in step S202 that the disk array 8 cannot be used because the OS is running or the like, the controller 7 determines whether the area requested for writing corresponds to the area cached in the nonvolatile memory 9 or not. Is determined (step S204). As a result of the determination, if the write request is for an area cached in the nonvolatile memory 9, the controller 7 records the cache position where the write request is made in the table as update information (step S205). Then, data is overwritten in the area of the nonvolatile memory 9 where the write request is made (step S206), and the write process is terminated.

ステップ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 controller 7 updates the area requested for writing in the table of the nonvolatile memory 9. It is determined whether information has already been recorded (step S207). As a result of the determination, when it is determined that there is already update information for the corresponding area in the table, the update information includes the position and data of the area where the write request is made. Therefore, the controller 7 overwrites only the data portion in the update information of the corresponding area (step S208) and ends the writing process.

ステップ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 controller 7 uses the position and data of the area requested to be written as update information. The data is recorded in the table (step S209), and the writing process is terminated.

図3は、コントローラ7が起動プログラムから読み込み要求を受け取った際の読み込み処理を示したフローチャートである。   FIG. 3 is a flowchart showing a read process when the controller 7 receives a read request from the activation program.

まず、コントローラ7は、読み込み要求を受けると(ステップS301)、ディスクアレイ8が使用可能であるかを判定する(ステップS302)。判定の結果、ディスクアレイ8が使用可能であれば、ディスクアレイ8からに要求されたデータを読み込み(ステップS303)、処理を終了する。   First, when receiving a read request (step S301), the controller 7 determines whether the disk array 8 is usable (step S302). If the disk array 8 is usable as a result of the determination, the requested data is read from the disk array 8 (step S303), and the process is terminated.

ステップS302の判定で、まだディスクアレイ8が使用可能でない場合、コントローラ7は、読み込み要求のあった領域が不揮発性メモリ9中にキャッシュされている領域に該当するかを判定する(ステップS304)。判定の結果、読み込み要求が不揮発性メモリ9にキャッシュされている領域に対するものであれば、コントローラ7は、読み込み要求のあったデータを読み込み(ステップS305)、処理を終了する。   If it is determined in step S302 that the disk array 8 is not yet usable, the controller 7 determines whether the area requested to be read corresponds to an area cached in the nonvolatile memory 9 (step S304). As a result of the determination, if the read request is for an area cached in the nonvolatile memory 9, the controller 7 reads the data requested to be read (step S305) and ends the process.

ステップ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 controller 7 updates the area requested to be read in the table of the nonvolatile memory 9. It is determined whether information has already been recorded (step S306). As a result of the determination, when it is determined that there is already update information for the corresponding area in the table, the data in the update information is read (step S307), and the process ends.

ステップ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 controller 7 responds to the read request until the disk array 8 becomes usable. Since the corresponding data cannot be acquired, it is waiting for reading. Therefore, for this read request, the address at which the read request is made is recorded in the cache addition table (step S308), and the process returns to step S302. The cache addition table caches the recorded area in the nonvolatile memory 9 so as not to wait for reading when the disk array 8 becomes usable after the disk array 8 becomes usable. It is a table for.

図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 nonvolatile memory 91. The non-volatile memory 91 is provided with two areas, and one area is a cache 200 that records data necessary for OS startup and device driver data. The other area is a table 210 for recording update information.

ディスクアレイ8が使用可能でない状態で、OSやデバイスドライバの読み出し要求があった場合、必要なデータがキャッシュ200に記録されていれば、コントローラ7は不揮発性メモリ9からキャッシュ200を読み出す。これにより、ディスクアレイ8が使用可能でなくても、コントローラ7がキャッシュ200からデータを読み込むことで、起動時間を短縮させることができる。   If a read request from the OS or device driver is made when the disk array 8 is not usable, the controller 7 reads the cache 200 from the nonvolatile memory 9 if necessary data is recorded in the cache 200. As a result, even if the disk array 8 is not usable, the controller 7 reads data from the cache 200, so that the startup time can be shortened.

また、ディスクアレイ8が使用可能でない状態で、書き込み要求があった場合、コントローラ7は不揮発性メモリ9に対して書き込みを行う。この書き込み要求が、不揮発性メモリ9のキャッシュ200への書き込み要求であった場合は、書き込み要求があった領域の位置を更新情報としてテーブル210に書き込み、それと同時にキャッシュ200の該当領域220へデータの書き込みを行う。この時の、書き込みが完了した不揮発性メモリの状態を図4の不揮発性メモリ92に示す。   If there is a write request while the disk array 8 is not usable, the controller 7 writes to the nonvolatile memory 9. When this write request is a write request to the cache 200 of the non-volatile memory 9, the position of the area where the write request has been made is written in the table 210 as update information, and at the same time, the data is written to the corresponding area 220 of the cache 200. Write. The state of the nonvolatile memory in which writing has been completed is shown in the nonvolatile memory 92 in FIG.

キャッシュ200への書き込み要求があった場合に、直接キャッシュ200へデータを書き込むことにより、その後キャッシュ200の当該領域に対する読み込み要求があった場合、直接キャッシュ200を読み込むことができる。なお、キャッシュ200に対する更新情報については、書き込み処理の都度、書き込み要求のあった領域の位置をテーブル210に書き込むため、複数存在する可能性がある。しかし、この場合の更新情報は、書き込み要求があった領域の位置のみしか含んでおらず、更新されたデータについてはキャッシュ200に1つだけ登録する。そのため、読み込みの際にはテーブル210は参照せず、キャッシュ200からデータを読み込むため、処理時間を短縮できる。   When there is a write request to the cache 200, the data is directly written to the cache 200, and when there is a subsequent read request to the area of the cache 200, the cache 200 can be directly read. Note that there is a possibility that a plurality of pieces of update information for the cache 200 exist because the position of the area requested to be written is written in the table 210 each time the writing process is performed. However, the update information in this case includes only the position of the area where the write request is made, and only one piece of updated data is registered in the cache 200. Therefore, when reading, the table 210 is not referred to and data is read from the cache 200, so that the processing time can be shortened.

また、書き込み要求が、不揮発性メモリ9のキャッシュ200以外への書き込み要求であった場合は、書き込み要求があった領域の位置とデータを更新情報221としてテーブル210に書き込む。この時、書き込み要求があった領域の位置に対する更新情報が既にテーブル210にあった場合は、該当する更新情報のデータ部分のみを更新する。書き込みが完了した不揮発性メモリ9の状態を図4の不揮発性メモリ93に示す。   If the write request is a write request to a location other than the cache 200 of the nonvolatile memory 9, the position and data of the area where the write request is made are written in the table 210 as update information 221. At this time, if the update information for the position of the area where the write request has been made is already in the table 210, only the data portion of the corresponding update information is updated. The state of the nonvolatile memory 9 that has been written is shown in the nonvolatile memory 93 of FIG.

本例では、書き込み要求があった領域の位置に対する更新情報が既にテーブル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 cache 200 and the position and data of the requested area are recorded in the table 210 as the update information 221, the update is performed. Data is read from information 221. Here, when there is no data of the corresponding area in the update information of the table 210, the position of the area is recorded in the table 210 as a cache addition table.

図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 disk array 8 becomes usable, the controller 7 writes back the write request temporarily recorded in the nonvolatile memory 9 to the disk array 8.
Hereinafter, referring to FIG. 5, the controller 7 first determines whether the disk array 8 is usable (step S501). Here, when it is not usable, it waits until it becomes usable.

使用可能になると、コントローラ7はテーブルから更新情報を一つ読み込み(ステップS502)、読み込んだ更新情報が不揮発性メモリ9のキャッシュに対する更新情報であるか否かを判定する(ステップS503)。
ステップS503で更新情報がキャッシュに対する更新情報であった場合は、キャッシュの該当する位置のデータを読み込んで(ステップS504)、その読み込んだデータをディスクアレイ8へと書き込ませる(ステップS506)。
When usable, the controller 7 reads one update information from the table (step S502), and determines whether the read update information is update information for the cache of the nonvolatile memory 9 (step S503).
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 disk array 8 is deleted from the table (step S507), and it is determined whether there is still update information (step S508). If there is still update information, the process returns to step S502. If it is determined in step S508 that there is no update information, the process ends and all the update information is written back to the disk array 8.

この処理が行われることによって、一時的に不揮発性メモリ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 disk array 8.
Even if the power is cut off during the start-up and the write request is not written back to the disk array 8, the temporary write request is recorded in the nonvolatile memory 9, so that the update information is lost. However, when the power is turned on again and the disk array 8 becomes usable, it can be written back.

次に、図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 disk array 8 is registered in the cache (step S604). Then, one piece of the registered data is deleted from the cache addition table (step S605), the process returns to step S601, and the processing so far is repeated until the processing of all cases is completed.

このように書き込み処理を行うことで、ディスクアレイ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 disk array 8 becomes usable. If the read process according to this example is a read request to a cached area or an area where a write request as update information is recorded in the table, the read request until the disk array 8 becomes usable is used. Since it does not wait for reading, the startup time can be shortened.

なお、上述した実施の形態では、ディスクアレイは、ハードディスクドライブ装置を複数台接続した構成としたものに適用したが、その他の記憶媒体を使った記憶装置で実質的に同様のディスクアレイを構成させたものに適用してもよい。複数台の記憶手段を使ったディスクアレイではなく、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 SYMBOLS 10 ... Memory | storage device, 11 ... Video output part, 12 ... User operation input / output part, 80, 81, 82 ... HDD (hard disk drive device)

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.
前記コントローラは、前記記憶装置が使用可能となるまでの間にあった前記記憶装置への書き込み要求が、前記不揮発性メモリに記憶されていない位置への書き込み要求であった場合、そのデータと位置を前記テーブルに記憶する、請求項1記載の情報処理装置。   The controller, when a write request to the storage device before the storage device becomes usable is a write request to a location not stored in the nonvolatile memory, the data and the position are The information processing apparatus according to claim 1, wherein the information processing apparatus is stored in a table. 前記コントローラは、前記記憶装置が使用可能となったことを検知する検知処理を行う、請求項1記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the controller performs a detection process for detecting that the storage device is usable. 前記コントローラは、前記記憶装置が使用可能となる前に、書き込み要求又は読み込み要求があった場合に、その要求があった領域が前記不揮発性メモリにキャッシュされているかどうかを判定し、前記記憶装置が使用可能となった後に、前記不揮発性メモリにキャッシュされていなかった領域への書き込み要求又は読み込み要求があった領域を、前記記憶装置から前記不揮発性メモリへと新たにキャッシュする、請求項2記載の情報処理装置。   If there is a write request or a read request before the storage device is usable, the controller determines whether the requested area is cached in the nonvolatile memory, and the storage device 3. An area for which a write request or a read request to an area that has not been cached in the nonvolatile memory is newly cached from the storage device to the nonvolatile memory after the memory becomes usable. The information processing apparatus described. 前記記憶装置は、複数の記憶媒体を有するディスクアレイに分散してデータを記憶させる記憶装置である、請求項1〜4のいずれか1項に記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the storage device is a storage device that stores data in a distributed manner in a disk array having a plurality of storage media.
JP2009054192A 2009-03-06 2009-03-06 Information processing device Expired - Fee Related JP5352811B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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