JP2014228946A - 情報処理装置、情報処理システム、情報処理装置の制御方法及び情報処理装置の制御プログラム - Google Patents

情報処理装置、情報処理システム、情報処理装置の制御方法及び情報処理装置の制御プログラム Download PDF

Info

Publication number
JP2014228946A
JP2014228946A JP2013106351A JP2013106351A JP2014228946A JP 2014228946 A JP2014228946 A JP 2014228946A JP 2013106351 A JP2013106351 A JP 2013106351A JP 2013106351 A JP2013106351 A JP 2013106351A JP 2014228946 A JP2014228946 A JP 2014228946A
Authority
JP
Japan
Prior art keywords
data
storage
transfer
unit
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013106351A
Other languages
English (en)
Other versions
JP6160236B2 (ja
Inventor
河場 基行
Motoyuki Kawaba
基行 河場
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013106351A priority Critical patent/JP6160236B2/ja
Priority to US14/251,998 priority patent/US20140344518A1/en
Publication of JP2014228946A publication Critical patent/JP2014228946A/ja
Application granted granted Critical
Publication of JP6160236B2 publication Critical patent/JP6160236B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Abstract

【課題】ストレージ間のデータ転送を、より効率的に行うための技術を提供する。
【解決手段】サーバ40が実行する転送設定プログラム42のデータサイズ決定部421は、シーケンシャル負荷生成部422により、OS41のデータアクセス部411にユーザリクエストを発行させる状況下で、異なるサイズでデータ移動部412にハードディスク装置50とSSD60間のデータ転送を要求し、その要求によるデータ転送に要する転送時間をレイテンシ監視部414から取得する。データサイズ決定部421は、各データ転送時に取得した転送時間、及び各データ転送時のサイズを用いて、データ移動部412がハードディスク装置50とSSD60間のデータ転送を行う単位とする最大サイズを特定する。
【選択図】図4

Description

開示の技術は、情報処理装置、情報処理システム、情報処理装置の制御方法及び情報処理装置の制御プログラムに関する。
コンピュータ等の情報処理装置が処理を行うデータ量は、近年増大傾向にある。現在では、従来よりも大きいデータ量を情報処理装置に処理させることも普通になっている。このようなことから、データの格納に要するコストを抑えつつ、従来よりも高速なアクセスを可能にさせるストレージの階層化が多く採用されている。
ストレージは、アクセス速度が速くなるほど、単位データ量当たりの格納コストが大きくなる傾向にある。従って、アクセス速度の異なる2種類のストレージの階層化では、アクセス速度のより遅い安価なストレージにデータを全て格納し、アクセス速度のより速い高価なストレージには利用頻度が高いと考えられる一部のデータを格納する。低速で安価なストレージと高速で高価なストレージを使い分けることにより、データの格納コストは抑えられ、高速なアクセスも可能となる。
ストレージの階層化では、必要に応じて、ストレージ間のデータ転送が行われる。ストレージ間のデータ転送は、データ転送が行われる2つのストレージにアクセス可能な情報処理装置によって行われる。情報処理装置は、ストレージの階層化を行うプログラムによって、ストレージ間のデータ転送を行う。このストレージ間のデータ転送は、一方のストレージのデータを他方のストレージにコピーするためのデータ転送と、一方のストレージのデータを他方のストレージに移動させる再配置のためのデータ転送と、に大別することができる。
ストレージ間のデータ転送を行う転送単位は、LUN(Logical Unit Number)、或いはサブLUN等のデータ単位である。データ単位のデータ量は、具体的には例えば数百GBである。前述のデータ量のデータ転送を行う場合、情報処理装置は、実行するOS(Operating System)の制御により、データを予め定められたサイズで分割し、分割したデータ毎にデータ転送を行う。
図1は、OSの制御によって行われるデータ転送を説明する図である。図1に表すように、転送元として指定された転送単位である転送元データ1が所定のデータ量以上である場合、OSは、転送元データ1を予め定められたサイズで複数の分割データ1aに分割し、分割データ1a毎にデータ転送を行う。そのため、OSは、ストレージ間のデータ転送を行わせるデータ転送リクエストを、分割データ1a毎に対象とするストレージに送信させる。分割データ1a毎にデータ転送リクエストを送信させることにより、全てのデータ転送リクエストを送信させるまでの間に、転送元データ1が格納されたストレージへのアクセスを要求する別のリクエスト(ユーザリクエスト)を送信させることができる。
分割データ1a毎のリクエストの発行のような連続するリクエストの発行では、通常、先行のリクエストに対するストレージからのレスポンスを待って、その次に発行すべきリクエストが発行される。しかし、例外もある。
例えばハードディスク装置のようなストレージでは、ヘッドの移動量がアクセス速度に大きく影響する。そのようなストレージでは、ヘッドの移動量をより小さくさせることは、単位時間当たりの処理可能なI/O(Input/Output)リクエスト数をより多くさせることになる。このことから、OSは、ヘッドの移動量の小さいシーケンシャルアクセスを行うユーザリクエストであるI/Oリクエストがより多く発行されている場合、或いはリクエストの送信先のストレージが高負荷(ビジー)となっているような場合、そのI/Oリクエストの発行(送信(選択))を他のI/Oリクエストに優先させる。その結果、ストレージ間のデータ転送を行うデータ転送リクエストは、一定時間間隔で選択される。以降、その一定時間は「タイムアウト時間」と表記する。
図2は、通常よりも高負荷のシーケンシャルアクセスが発生している場合、I/Oリクエストの発行からレスポンスの受信までに要する遅延時間例を表すグラフである。縦軸は時刻(測定開始からの経過時間。単位は秒)、横軸は遅延時間(図2中「I/Oリクエスト遅延」と表記。単位は秒)をそれぞれ表している。各点は、それぞれI/Oリクエストを表している。ストレージ間のデータ転送のためのデータ転送リクエストを表す点は、図2中、丸で囲って表している。それにより、丸で囲っていない点は全てユーザリクエストを表している。
通常、OSは、種類により設定された優先度にリクエストを分け、より高い優先度のリクエストを優先的に選択する。そのようにリクエストを優先度別に分けて選択する場合、より優先度の低いリクエストは、より優先度の高いリクエストが存在する状況では選択されなくなる。このことから、OSは、選択対象とするリクエストの優先度を一定時間(タイムアウト時間)間隔で一時的に切り換え、優先度のより高いリクエストが存在する状況でも、優先度の低いリクエストを選択するようになっているのが普通である。
ストレージ間のデータ転送を行うデータ転送リクエストは、遅延時間がユーザリクエストより長いことから明らかなように、優先度がより低いリクエストとして扱われる。そのため、発行されたデータ転送リクエストは、タイムアウト時間の経過により選択され、ストレージに発行される。その結果、図2に表すように、各データ転送リクエストは、ほぼタイムアウト時間間隔で順次、発行されることとなる。各データ転送リクエストの遅延時間がほぼ同じであることは、各データ転送リクエストの遅延時間がタイムアウト時間とほぼ同じであることを示唆する。
図3は、高負荷のシーケンシャルアクセスが発生している場合のデータ転送サイズと遅延時間の関係を説明する図である。横軸にデータ転送サイズ、縦軸に遅延時間(図3中「レスポンス」と表記)をそれぞれ取っている。ここでの遅延時間は、データ転送をOSに依頼してからそのデータ転送の完了を意味するレスポンスをストレージから受信するまでに要する時間である。線31はユーザリクエストのときのデータ転送サイズと遅延時間の関係を表し、線32はデータ転送リクエストのときのデータ転送サイズと遅延時間の関係を表している。
ユーザリクエストによるデータ転送では、線31が表すように、データ転送に要する遅延時間は、データ転送サイズに応じて指数関数的に長くなる。一方、図2に表すように、データ転送リクエストの遅延時間はタイムアウト時間を含む時間となる。そのため、線32が表すように、遅延時間は、データ転送サイズによって階段状に長くなる。1つのデータ転送リクエストの遅延時間がタイムアウト時間に等しいと想定した場合、遅延時間は、転送元データ1の分割数にタイムアウト時間をかけた時間(=分割数×タイムアウト時間)となる。
データ転送の対象となる転送元データ1へのアクセスは、そのデータ転送の完了によって可能となる。つまり、転送元データ1へのアクセスは、その転送元データ1の分割数に応じた時間だけ、禁止される。ストレージ間のデータ転送は、通常使用されるデータ、或いは使用される可能性の高いデータをより高速なストレージに移動させるために行われる。このことは、転送元データ1のデータ転送が完了する前に、その転送元データ1の少なくとも1部へのアクセスを要求するユーザリクエストが発生する可能性が高いことを意味する。それにより、より効率的なデータ処理の実現には、ストレージ間のデータ転送が完了する前に、転送対象とするデータの1部へのアクセスを可能にさせることも重要と思われる。
特開2003−216460号公報 特開2011−165164号公報
一側面では、本発明は、ストレージ間のデータ転送を、より効率的に行うための技術を提供することを目的とする。
本発明を適用した1システムは、第1のストレージと第2のストレージとに接続され、第1のストレージと第2のストレージ間のデータ転送を異なるデータサイズに複数回行うとともに、複数回のデータ転送毎に転送間隔の時間である転送時間を計時する計時部と、複数回のデータ転送毎の転送時間とデータサイズとに基づき、第1のストレージと第2のストレージ間のデータ転送における最大データサイズを表す最大サイズデータを特定する特定部と、特定部が特定した最大サイズデータを記憶する記憶部と、第1のストレージと第2のストレージ間のデータ転送を行う場合、記憶部に記憶された最大サイズデータに基づき、データ転送の転送対象データを複数の分割データに分割し、複数の分割データ毎にデータ転送要求を出力する要求部と、要求部が要求したデータ転送要求に基づき、第1のストレージと第2のストレージ間のデータ転送を行う移動部とを有する。
本発明を適用した場合には、ストレージ間のデータ転送を、より効率的に行うことができる。
OSの制御によって行われるデータ転送を説明する図である。 通常よりも高負荷のシーケンシャルアクセスが発生している場合、I/Oリクエストの発行からレスポンスの受信までに要する遅延時間例を表すグラフである。 高負荷のシーケンシャルアクセスが発生している場合のデータ転送サイズと遅延時間の関係を説明する図である。 本実施形態による情報処理装置を用いて構築された階層化ストレージシステムの構成例を説明する図である。 データサイズ決定部がデータサイズ値の特定に用いる変数例を説明する図である。 データサイズ決定部によるデータサイズ値の特定方法例を説明する図である。 データサイズ決定処理のフローチャートである。 本実施形態におけるサーバとして使用可能な情報処理装置の構成例を表す図である。 他の実施形態におけるデータサイズ決定処理のフローチャートである。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図4は、本実施形態による情報処理装置を用いて構築された階層化ストレージシステムの構成例を説明する図である。図4に表すように、階層化ストレージシステムは、本実施形態による情報処理装置であるサーバ40、低速なストレージであるハードディスク装置(HDD)50、及び高速なストレージであるSSD(Solid State Drive)60を備えている。
図4では、説明上、便宜的にハードディスク装置50、及びSSD60はそれぞれ1台のみ表している。しかし、多くの場合、ハードディスク装置50、及びSSD60はそれぞれ複数台、用意される。また、ストレージの階層化は、アクセス速度の異なる2種類のストレージとしてハードディスク装置50、及びSSD60を採用することで実現されているが、採用するストレージはこの組合せに限定されない。階層数も2に限定されない。つまり階層数は3以上であっても良い。
図4には、サーバ40上で実行されるプログラムとして、OS41、転送設定プログラム42、及び自動階層化プログラム43のみを表している。
OS41は、ハードディスク装置50とSSD60間のデータ転送を実際に行うプログラムである。転送設定プログラム42は、データ転送の最適化のために用意されたアプリケーション・プログラム(以降「アプリケーション」と略記)である。
自動階層化プログラム43は、OS41と連携し、ストレージの自動階層化を実現するアプリケーションであり、ハードディスク装置50とSSD60間のデータ転送を制御する。ここでは、自動階層化プログラム43は、データのアクセス頻度を検出し、検出したアクセス頻度に応じて、データの再配置のためのデータ転送を行うと想定する。
ハードディスク装置50上の各データ51は、転送単位のデータである。このデータ51は、OS41が複数に分割してデータ転送を行う大きさのサイズであり、必要に応じてSSD60に転送される。SSD60に格納されたデータ51のなかで再配置の対象となるデータ51は、SSD60からハードディスク装置50に転送される。それらのデータ転送は、自動階層化プログラム43の制御によって行われる。
OS41は、機能として、データアクセス部411、データ移動部412、スケジューラ413、及びレイテンシ監視部414を実現させる。
データアクセス部411は、OS41上で動作するアプリケーションからの要求により、ユーザリクエストを発行する機能である。図4中の2つの破線で表す矢印4a(4a−1、4a−2)は、ユーザリクエストがハードディスク装置50、或いはSSD60に送信され、その送信によってレスポンスがデータアクセス部411に返信されることを表している。
データ移動部412は、ハードディスク装置50とSSD60間のデータ転送を実現する機能であり、そのデータ転送のためのデータ転送リクエストを発行する。図4中の実線で表す矢印4bは、データ移動部412を介して、ハードディスク装置50に格納されているデータ51−0をSSD60に移動させるデータ転送が行われた場合の転送経路を表している。
スケジューラ413は、データアクセス部411、及びデータ移動部412からそれぞれ発行されたリクエストを入力して、入力したリクエストのなかから一つを選択し、選択したリクエストを送信すべきストレージに送信する機能である。
データアクセス部411が発行したリクエストとデータ移動部412が発行するリクエストは、優先度が異なる。データアクセス部411が発行したリクエストは高優先度であり、データ移動部412が発行するリクエストは低優先度である。スケジューラ413は、データアクセス部411が発行したリクエストが存在する状況では、データ移動部412が発行するリクエストはタイムアウト時間が経過する毎に選択する。
レイテンシ監視部414は、転送設定プログラム42との連携用に追加された機能であり、データ移動部412から発行された全てのデータ転送リクエストの処理に要する転送時間(遅延時間)を計時する。その転送時間は、最初のデータ転送リクエストがスケジューラ413に出力されてから、最後のデータ転送リクエストに対するハードディスク装置50のレスポンスをデータ移動部412が入力するまでの時間である。以降、この転送時間は「レスポンス時間」とも呼ぶことにする。
転送設定プログラム42は、ストレージ間のデータ転送(再配置)を行う場合に、1回のデータ転送の対象とすべきデータサイズを設定する。図4中に表すサイズデータ44は、設定(保存)されたデータサイズ値を表すデータである。このサイズデータ44の設定は、データ転送を効率的に行いつつ、より効率的なデータ処理を可能なようにするために行われる。データ処理を行う情報処理装置は、サーバ40であっても良いが、サーバ40からデータを受信する情報処理装置であっても良い。
転送単位のデータ51のなかで転送が完了した部分をアクセス可能にするために、上記自動階層化プログラム43は、再配置すべきデータ51を、サイズデータ44に従って分割し、分割したデータ毎にデータ転送を行う。その分割したデータのサイズ(以降「分割データサイズ」と表記)は、データ移動部412が1回のデータ転送の対象とするデータのサイズ(以降「最大転送サイズ」と表記)と一致させることが望ましい。これは、分割データサイズが最大転送サイズと一致しない場合、実際に発行されるデータ転送リクエストをより多くする可能性が極めて高いからである。
分割データサイズが最大転送サイズより小さい場合、ceil(データ51のサイズ/分割データサイズ)≧ceil(データ51のサイズ/最大転送サイズ)、の関係が成立する。「ceil」は、小数点以下を切り上げた整数化を表す文字列である。
通常、最大転送サイズとデータ51のサイズは大きく異なる。そのため、分割データサイズと最大転送サイズの差が非常に小さくない限り、ceil(データ51のサイズ/分割データサイズ)>ceil(データ51のサイズ/最大転送サイズ)、の関係が成立することとなる。従い、分割データサイズが最大転送サイズより小さい場合、最大転送サイズでデータ転送を行う場合と比較して、発行するデータ転送リクエストの数は大きくなるのが普通である。
一方、分割データサイズが最大転送サイズより大きい場合、1つの分割データサイズのデータ転送に複数のデータ転送リクエストを発行させなければならない。そのため、最大転送サイズでデータ転送を行う場合と比較して、発行するデータ転送リクエストの数は必ず大きくなる。
発行するデータ転送リクエストの数が大きくなることは、データ転送効率が低下することを意味する。そのデータ転送効率の低下に伴い、データ51全体のデータ転送(再配置)に要する転送時間はより長くなる。また、その転送時間が長く程、データ51のなかでSSD60に移動していない部分へのアクセスのために、ハードディスク装置50にリクエストを送信する可能性は高くなる。
このようなことから、データ転送効率の低下は、より効率的なデータ処理を実現するうえで望ましくない。それにより、本実施形態では、より高いデータ転送効率、及びより効率的なデータ処理の実現のために、最大転送サイズと一致すると見なせる分割データサイズをデータサイズ44として設定するようにしている。
そのデータサイズ44を設定するために、転送設定プログラム42は、図4に表すように、機能として、データサイズ決定部421、及びシーケンシャル負荷生成部422を備えている。
シーケンシャル負荷生成部422は、データサイズ決定部421からの指示に従い、ユーザリクエストをデータアクセス部411に発行させる機能である。発行させるユーザリクエストは、ハードディスク装置50が備えるハードディスク上の近接した領域に順次アクセスさせるシーケンシャルアクセスのためのリクエストである。ユーザリクエストを発行させるのは、データ移動部412から発行されたデータ転送リクエストがタイムアウト時間間隔でスケジューラ413に選択させるためである。
データサイズ決定部421は、サイズデータ44として設定すべき分割データサイズ値を特定するための機能である。データサイズ決定部421は、シーケンシャル負荷生成部422により、シーケンシャルアクセスのためのリクエストをデータアクセス部411に発行させている環境下で、分割データサイズ値を変更したデータ転送リクエストをデータ移動部412に発行させる。それにより、データサイズ決定部421は、分割データサイズと、レイテンシ監視部414が測定する転送時間との関係から、データサイズ44として設定すべき分割データサイズ値を特定する。
図5は、データサイズ決定部がデータサイズ値の特定に用いる変数例を説明する図である。図6は、データサイズ決定部によるデータサイズ値の特定方法例を説明する図である。ここで、図5、及び図6を参照し、データサイズ部421のデータサイズ44の設定に係わる動作について具体的に説明する。
図5、及び図6に表すグラフでは、共に、横軸にデータ転送サイズ、縦軸に転送時間(図5、及び図6共に「レスポンス」と表記)をそれぞれ取っている。その転送時間は、図5、及び図6に表すように、データ転送サイズの大きさに応じて、階段状に変化する。
図5には、変数例として「Tmax」「Rmin」「Smin」及び「Sopt」が表記されている。図6には、変数例として、「S」が表記されている。これらの変数は、それぞれ以下のように用いられる。
「Tmax」は、転送時間として許容可能とする最大時間(以降「最大許容転送時間」と表記)が代入される変数である。「Rmin」は、レイテンシ監視部414が実際に測定した転送時間のなかの最小転送時間が代入される変数である。この変数Rminには、最終的に最大転送サイズ以下のデータ転送時に測定された転送時間が代入される。
「Smin」は、最小の分割データサイズ値として予め設定されたデータサイズ値が代入される変数である。「Sopt」は、データサイズ44として設定すべき値、つまり最適とする分割データサイズの値が代入される変数である。「S」は、データ移動部412に発行させるデータ転送リクエストによってデータ転送させるデータのサイズを表す値が代入される変数である。
本実施形態では、転送時間がデータ転送サイズに応じて階段状に変化すること、及びデータサイズ値は2の冪乗の値であるのが普通であることに着目し、変数Soptに代入すべき値を特定する。そのため、本実施形態では、最大転送サイズ値は2の冪乗の値であると想定し、最小転送時間、及び他の転送時間の2つの転送時間を特定する。
他の転送時間は、最小転送時間の約N(Nは1より大きい整数)倍となる。この他の転送時間が測定されたデータサイズ値をSとすると、変数Soptに代入すべき値、即ち最大転送サイズ値は、S/N≦Sopt<S/N×2、の範囲内となる。そのため、最大転送サイズ値が2の冪乗の値であった場合、最大転送サイズ値は、S/N以上で最小の2の冪乗の値となる。混乱を避けるために、以降、転送時間はタイムアウト時間の整数倍に完全に一致すると想定し、測定される転送時間のバラツキ分は無視する。
図6は、Nの値が2の場合を表している。それにより、図6の点6は、データサイズ値がSの場合に測定された転送時間がタイムアウト時間の2倍であったことを表している。変数Soptに代入すべき値である最大転送サイズ値は、S/2≦Sopt<S、の範囲内に存在する最小の2の冪乗の値となる。
転送時間がデータ転送サイズに応じて階段状に変化させるためには、ユーザリクエストが常に存在する環境とさせなければならない。そのため、本実施形態では、シーケンシャル負荷生成部422により、シーケンシャルアクセスのためのユーザリクエストを発行させるようにしている。
上記データサイズ決定部421、及びシーケンシャル負荷生成部422を備えた転送設定プログラム42を実行するサーバ40は、例えば図8に表すようなハードウェア構成である。ここで図8を参照し、本実施形態におけるサーバ40として使用可能な情報処理装置の構成例について具体的に説明する。
この情報処理装置は、図8に表すように、CPU(Central Processing Unit)81、FWH(Firm-Ware Hub)82、メモリ(メモリモジュール)83、NIC(Network Interface Card)84、ハードディスク装置(HD)85、インタフェース(I/F)部86、コントローラ87、及びBMC(Baseboard Management Controller)88を備えている。この構成は、サーバ40として用いられる情報処理装置の1例であり、本実施形態による情報処理装置として使用可能な情報処理装置の構成は、図8に表すようなものに限定されない。
FWH82は、ファームウェアを格納したメモリである。このファームウェアは、CPU81によってメモリ83に読み出され実行される。ハードディスク装置85には、OS41、及び転送設定プログラム42を含む各種プログラムが格納されている。CPU81は、ファームウェアの起動が完了した後、コントローラ87を介してハードディスク装置85からOS41、及び転送設定プログラム42を含む各種プログラムをメモリ83上に読み出して実行することができる。NIC84を介した通信は、ファームウェア、或いはOS41の起動によって可能となる。
I/F部86は、複数のストレージとの通信を可能にさせる。図4に表すハードディスク装置50、及びSSD60は、このI/F部86と接続させることができる。I/F部86を介した通信は、例えばファームウェアの起動によって可能となる。
NIC84は、LAN(Local Area Network)等のネットワークを介した通信を可能にさせる。図4に表すハードディスク装置50、及びSSD60は、このNIC84が通信可能なネットワークと接続させても良い。
BMC88は、情報処理装置を管理するための専用の管理装置である。BMC88は、CPU81のオン/オフ、各構成要素に発生するエラーの監視、等を行う。
図4に表すOS41、及び転送設定プログラム42は、CPU81がコントローラ87を介してハードディスク装置85からメモリ83に読み出されて実行される。コントローラ87を介したハードディスク装置85へのCPU81によるアクセスは、FWH82から読み出したファームウェアの実行を開始した後に行われる。それにより、OS41、及び転送設定プログラム42がそれぞれ備えた全ての機能は、例えばCPU81、FWH82、メモリ83、コントローラ87、及びハードディスク装置85によって実現される。サイズデータ44は、通常、メモリ83に保存される。
本実施形態による情報処理装置としてのサーバ40は、OS41、及び転送設定プログラム42をCPU81が実行することによって実現される。本実施形態による情報処理装置としてのサーバ40は、OS41、及び自動階層化プログラム43をCPU81が少なくとも実行することで実現される。本実施形態による情報処理装置としてのサーバ40は、OS41、及び自動階層化プログラム43に加えて、転送設定プログラム42をCPU81が実行するものとなっている。
図7は、データサイズ決定処理のフローチャートである。このデータサイズ決定処理は、転送設定プログラム42をCPU81が実行することによって実現される処理である。データサイズ決定部421は、このデータサイズ決定処理の実行によって実現される。転送設定プログラム42は、例えば起動時に、或いはオペレータの指示等によって実行される。次に図7を参照し、データサイズ決定処理について詳細に説明する。
CPU81は、転送設定プログラム42、及びOS41を含む全てのプログラムを実行する。それにより、処理を実行する主体をCPU81とした場合、そのCPU81が実行するプログラム(ここではサブプログラムを含む)が不明確となる。このことから、ここでは、OS41、及び転送設定プログラム42がそれぞれ備えた機能の名称を用いて説明を行う。
先ず、データサイズ決定部421は、変数Sに、変数Sminの値、つまり最小の分割データサイズ値を代入する(S1)。次にデータサイズ決定部421は、シーケンシャルアクセス負荷生成部422を通して、ハードディスク装置50(図7中「Disk」と表記)の利用率が100%となるシーケンシャルアクセスのためのユーザリクエストを発生させる(S2)。その後、データサイズ決定部421は、変数Sの値をデータサイズ値とするデータの転送をOS41のデータ移動部412に要求し、レイテンシ監視部414が測定するデータ転送時間を取得して、取得したデータ転送時間を変数Rminに代入する(S3)。
このとき、レイテンシ監視部414が測定するデータ転送時間は、データ移動部412がデータ転送リクエストをスケジューラ413に発行してから、そのデータリクエストが送信されるハードディスク装置50によるレスポンスを受信するまでの時間である。転送を要求するハードディスク装置50上のデータは任意で良いが、転送されるデータを格納すべきSSD60上の領域は、未使用の領域、或いは不要なデータが格納されている領域とする必要がある。
変数Rminにデータ転送時間を代入したデータサイズ決定部421は、変数Sの値を更新する(S4)。その更新は、変数Sに、変数Tmaxの値を変数Rminの値で割った値に現在の変数Sの値を乗算して得られる値(=Tmax/Rmin*S)を新たに代入することで行われる。変数Tmaxに代入された値が表す最大許容転送時間としては、変数Rminに代入された値が表すデータ転送時間(最小転送時間)よりも非常に大きい時間が設定される。そのため、新たに変数Sに代入される値は、それまでの値よりも非常に大きい値となる。
変数Sの値の更新を行った後、データサイズ決定部421は、変数Sの値をデータサイズ値とするデータの転送をOS41のデータ移動部412に要求し、レイテンシ監視部414が測定するデータ転送時間を取得して、取得したデータ転送時間を変数Rに代入する(S5)。次に、データサイズ決定部421は、変数Rの値が変数Rminの値より大きいか否か判定する(S6)。変数Rの値が変数Rminの値よりも所定値以上、大きい場合、つまり変数Rの値と変数Rminの値の差が1タイムアウト時間以上と見なせる場合、S6の判定はYesとなってS7に移行する。変数Rの値が変数Rminの値よりも所定値以上、大きくなかった場合、S6の判定はYesとなって上記S4に戻る。
S7では、データサイズ決定部421は、変数Soptに、変数Rの値を変数Rminの値で割った値以上で最小の2の冪乗の値を代入し、この変数Soptの値をサイズデータ44として保存する。その保存を行った後、データサイズ決定部421は、シーケンシャル負荷生成部422に指示して、シーケンシャルアクセスのためのユーザリクエストを発行させる動作を停止させる(S8)。その後、データサイズ決定処理が終了する。このデータサイズ決定処理の終了により、データサイズ決定部421は停止する。
上記のように、最大転送サイズ値が2の冪乗の値であった場合、2回のデータ転送時間の測定により、最大転送サイズ値を適切に特定することができる。そのため、データサイズ値(変数Sの値)を順次、変更しながら、最大転送サイズ値を特定する方法と比較して、その最大転送サイズ値を極めて迅速に特定することができる。
自動階層化プログラム43は、上記データサイズ決定処理の実行により保存されるサイズデータ44を参照し、ハードディスク装置50とSSD60間のデータ転送を行う。自動階層化プログラム43は、ハードディスク装置50、或いはSSD60に格納されている転送対象とするデータ51を、そのサイズデータ44が表すデータサイズ値で分割し、分割したデータ毎にデータ転送をOS41に指示する。それにより、転送対象とするデータ51は、その1部のみアクセスが禁止される形でデータ転送が行われる。
(他の実施形態)
上記実施形態は、OS41がデータ転送を行う最大転送サイズ値が2の冪乗の値であると想定し、最大転送サイズ値と考えられるデータサイズ値を特定している。しかし、最大転送サイズ値が2の冪乗の値でない可能性も考えられる。他の実施形態は、最大転送サイズ値が2の冪乗の値でない場合を想定し、最大転送サイズ値と考えられるデータサイズ値を特定するようにしたものである。
この他の実施形態におけるサーバ(情報処理装置)の構成は、上記実施形態と同じで良い。実行するプログラムも上記実施形態と基本的に同じである。このことから、上記実施形態の符号を用いて、上記実施形態から異なる部分についてのみ説明する。
この他の実施形態では、データサイズ決定部421が上記実施形態から異なっている。他の実施形態におけるデータサイズ決定部421は、図9に表すデータサイズ決定処理を実行することで実現される。このことから、図9を参照し、他の実施形態におけるデータサイズ決定処理について詳細に説明する。ここでも、処理を実行する主体として、OS41、及び転送設定プログラム42がそれぞれ備えた機能を想定する。
先ず、データサイズ決定部421は、変数Rminに値として代入すべきデータ転送時間を測定し、測定したデータ転送時間を表す値を変数Rminに代入するRmin測定処理を実行する(S11)。このRmin測定処理としては、例えば図7のS1〜S3の処理を実行すれば良い。
次に、データサイズ決定部421は、変数Sに、変数Ssetの値を代入する(S12)。その変数Ssetの値は、最大転送サイズ値の少なくとも2倍以上となると想定した値であり、例えば図7のS4と同じ方法で算出することができる。その後、データサイズ決定部421は、変数Sの値をデータサイズ値とするデータの転送をOS41のデータ移動部412に要求し、レイテンシ監視部414が測定するデータ転送時間を取得して、取得したデータ転送時間を変数Tに代入する(S13)。
変数Tにデータ転送時間を代入したデータサイズ決定部421は、変数Nに、変数Tの値を変数Rminの値で割った値を代入する(S14)。次にデータサイズ決定部421は、変数Sの値を変数Nの値で割った除算結果(=S/N)を変数Sminに代入すると共に、その除算結果の2倍の値を変数Smaxに代入する(S15)。
各変数Smin及びSmaxへの値の代入を行ったデータサイズ決定部421は、変数Sに、それまでの値を変数Nの値で割った除算結果に所定値αを乗算した値(=(S/N)・α)を代入する。この所定値αは、変数Sminの値と変数Smaxの値の範囲内でデータ転送時間を確認すべきデータサイズ値を算出するために設定された値である。それにより、所定値αは、1<α<2、の関係にある。変数Sの値を更新したデータサイズ決定部421は、更新後の変数Sの値をデータサイズ値とするデータの転送をOS41のデータ移動部412に要求し、レイテンシ監視部414が測定するデータ転送時間を取得して、取得したデータ転送時間を変数Tに代入する(S17)。
次に、データサイズ決定部421は、変数Tの値が変数Rminの値と等しいか否か判定する(S18)。変数Tの値が変数Rminの値と等しくない場合、つまり変数Tの値が変数Rminの値より大きい場合、S18の判定はNoとなってS20に移行する。変数Tの値が変数Rminの値と等しい場合、S18の判定はYesとなってS19に移行する。
S19では、データサイズ決定部421は、変数Sminに変数Sの値を代入する。その後、S21に移行する。一方、S20では、データサイズ決定部421は、変数Smaxに変数Sの値を代入する。その後、S21に移行する。
S21では、データサイズ決定部421は、変数Smaxの値から変数Sminの値を引いた減算結果が、変数Sminの値に所定値dを掛けた乗算結果未満か否か判定する。所定値dは、その減算結果が十分に小さいか否かを判定するために設定された値である。このことから、その減算結果が十分に小さいと見なせる値であった場合、S21の判定はYesとなってS22に移行する。その減算結果が十分に小さいと見なせる値でない場合、S21の判定はNoとなって上記S14に戻る。
S22では、データサイズ決定部421は、変数Soptに、変数Sの値を代入し、この変数Soptの値をサイズデータ44として保存する。その保存を行った後、データサイズ決定部421は、シーケンシャル負荷生成部422に指示して、シーケンシャルアクセスのためのユーザリクエストを発行させる動作を停止させる(S23)。その後、データサイズ決定処理が終了する。このデータサイズ決定処理の終了により、データサイズ決定部421は停止する。
S21でのNoの判定によってS14に戻った場合、S16で変数Sには別の値が代入される。それにより、S21でYesと判定されるまで、変数Sに別の値を変更しながら、S14〜S21で形成される処理ループが繰り返し実行されることとなる。最大転送サイズ値が2の冪乗の値ではないと想定した場合の最大転送サイズ値の特定方法は、上記のようなものに限定されない。別の方法を採用しても良い。
なお、上記各実施形態では、情報処理装置としてのサーバ40は、ストレージ間のデータ転送を行う情報処理装置とは別の情報処理装置であっても良い。つまり、情報処理装置は、ストレージ間のデータ転送を行わなくとも良い。
40 サーバ(情報処理装置)
41 OS
42 転送設定プログラム
43 自動階層化プログラム
44 サイズデータ
50 ハードディスク装置
60 SSD
411 データアクセス部
412 データ移動部
413 スケジューラ
414 レイテンシ監視部
421 シーケンシャル負荷生成部
422 データサイズ決定部

Claims (5)

  1. 第1のストレージと第2のストレージとに接続する情報処理装置において、
    前記第1のストレージと前記第2のストレージ間のデータ転送を異なるデータサイズに複数回行うとともに、前記複数回のデータ転送毎に転送間隔の時間である転送時間を計時する計時部と、
    前記複数回のデータ転送毎の転送時間とデータサイズとに基づき、前記第1のストレージと前記第2のストレージ間のデータ転送における最大データサイズを表す最大サイズデータを特定する特定部と、
    前記特定部が特定した最大サイズデータを記憶する記憶部と、
    前記第1のストレージと前記第2のストレージ間のデータ転送を行う場合、前記記憶部に記憶された前記最大サイズデータに基づき、前記データ転送の転送対象データを複数の分割データに分割し、前記複数の分割データ毎にデータ転送要求を出力する要求部と、
    前記要求部が要求したデータ転送要求に基づき、前記第1のストレージと前記第2のストレージ間のデータ転送を行う移動部とを有することを特徴とする情報処理装置。
  2. 前記計時部は、
    前記転送時間の計時を、前記第1のストレージ又は前記第2のストレージのいずれかに対し、前記要求部が、前記データ転送要求より優先度の高いデータ転送要求を前記移動部に行っている場合に行うことを特徴とする請求項1記載の情報処理装置。
  3. 第1のストレージと、第2のストレージと、前記第1のストレージと前記第2のストレージとに接続する情報処理装置とを有する情報処理システムにおいて、
    前記情報処理装置は、
    前記第1のストレージと前記第2のストレージ間のデータ転送を異なるデータサイズに複数回行うとともに、前記複数回のデータ転送毎に転送間隔の時間である転送時間を計時する計時部と、
    前記複数回のデータ転送毎の転送時間とデータサイズとに基づき、前記第1のストレージと前記第2のストレージ間のデータ転送における最大データサイズを表す最大サイズデータを特定する特定部と、
    前記特定部が特定した最大サイズデータを記憶する記憶部と、
    前記第1のストレージと前記第2のストレージ間のデータ転送を行う場合、前記記憶部に格納された前記最大サイズデータに基づき、前記データ転送の転送対象データを複数の分割データに分割し、前記複数の分割データ毎にデータ転送要求を出力する要求部と、
    前記要求部が要求したデータ転送要求に基づき、前記第1のストレージと前記第2のストレージ間のデータ転送を行う移動部とを有することを特徴とする情報処理システム。
  4. 第1のストレージと第2のストレージとに接続する情報処理装置の制御方法において、
    前記情報処理装置が有する計時部が、前記第1のストレージと前記第2のストレージ間のデータ転送を異なるデータサイズに複数回行うとともに、前記複数回のデータ転送毎に転送間隔の時間である転送時間を計時し、
    前記情報処理装置が有する特定部が、前記複数回のデータ転送毎の転送時間とデータサイズとに基づき、前記第1のストレージと前記第2のストレージ間のデータ転送における最大データサイズを表す最大サイズデータを特定し、
    前記第1のストレージと前記第2のストレージ間のデータ転送を行う場合、前記情報処理装置が有する要求部が、前記特定部が特定した最大サイズデータを記憶する記憶部に記憶された前記最大サイズデータに基づき、前記データ転送の転送対象データを複数の分割データに分割し、前記複数の分割データ毎にデータ転送要求を出力し、
    前記情報処理装置が有する移動部が、前記要求部が要求したデータ転送要求に基づき、前記第1のストレージと前記第2のストレージ間のデータ転送を行うことを特徴とする情報処理装置の制御方法。
  5. 第1のストレージと第2のストレージとに接続する情報処理装置の制御プログラムにおいて、
    前記情報処理装置が有する計時部に、前記第1のストレージと前記第2のストレージ間のデータ転送を異なるデータサイズに複数回行うとともに、前記複数回のデータ転送毎に転送間隔の時間である転送時間を計時させ、
    前記情報処理装置が有する特定部に、前記複数回のデータ転送毎の転送時間とデータサイズとに基づき、前記第1のストレージと前記第2のストレージ間のデータ転送における最大データサイズを表す最大サイズデータを特定させ、
    前記第1のストレージと前記第2のストレージ間のデータ転送を行う場合、前記情報処理装置が有する要求部に、前記特定部が特定した最大サイズデータを記憶する記憶部に記憶された前記最大サイズデータに基づき、前記データ転送の転送対象データを複数の分割データに分割し、前記複数の分割データ毎にデータ転送要求を出力させ、
    前記情報処理装置が有する移動部に、前記要求部が要求したデータ転送要求に基づき、前記第1のストレージと前記第2のストレージ間のデータ転送を行わせることを特徴とする情報処理装置の制御プログラム。
JP2013106351A 2013-05-20 2013-05-20 情報処理装置、情報処理システム、情報処理装置の制御方法及び情報処理装置の制御プログラム Active JP6160236B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013106351A JP6160236B2 (ja) 2013-05-20 2013-05-20 情報処理装置、情報処理システム、情報処理装置の制御方法及び情報処理装置の制御プログラム
US14/251,998 US20140344518A1 (en) 2013-05-20 2014-04-14 Apparatus and method for performing data transfer between storages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013106351A JP6160236B2 (ja) 2013-05-20 2013-05-20 情報処理装置、情報処理システム、情報処理装置の制御方法及び情報処理装置の制御プログラム

Publications (2)

Publication Number Publication Date
JP2014228946A true JP2014228946A (ja) 2014-12-08
JP6160236B2 JP6160236B2 (ja) 2017-07-12

Family

ID=51896752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013106351A Active JP6160236B2 (ja) 2013-05-20 2013-05-20 情報処理装置、情報処理システム、情報処理装置の制御方法及び情報処理装置の制御プログラム

Country Status (2)

Country Link
US (1) US20140344518A1 (ja)
JP (1) JP6160236B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017010196A (ja) * 2015-06-19 2017-01-12 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
JP2017016404A (ja) * 2015-07-01 2017-01-19 日本電信電話株式会社 分散ストレージシステム、データ再配置方法およびデータ再配置プログラム
US10235071B2 (en) 2016-11-29 2019-03-19 Kabushiki Kaisha Toshiba Tiered storage system, storage controller and tiering control method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015026207A (ja) * 2013-07-25 2015-02-05 富士通株式会社 ファイル管理プログラム,ファイル管理装置及びファイル管理方法
CN104679661B (zh) * 2013-11-27 2019-12-10 阿里巴巴集团控股有限公司 混合存储的控制方法及混合存储系统
JP6833644B2 (ja) * 2017-09-13 2021-02-24 株式会社東芝 転送装置、転送方法及びプログラム
CN116909492B (zh) * 2023-09-12 2023-12-08 合肥康芯威存储技术有限公司 一种存储设备及其控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002196894A (ja) * 2000-12-26 2002-07-12 Nec Corp ディスクアレイ装置間データ送受信方式
JP2002278704A (ja) * 2001-03-19 2002-09-27 Toshiba Corp 処理最適化方法、コンピュータ、及び記憶装置
JP2005107806A (ja) * 2003-09-30 2005-04-21 Hitachi Computer Peripherals Co Ltd データバックアップ方法及びバックアップ装置
JP2012053645A (ja) * 2010-09-01 2012-03-15 Fujitsu Ltd 情報処理装置、情報処理プログラムおよびコピー処理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835954A (en) * 1996-09-12 1998-11-10 International Business Machines Corporation Target DASD controlled data migration move
US6557055B1 (en) * 1999-10-06 2003-04-29 Apple Computer, Inc. Adaptive throughput optimization
US7840720B2 (en) * 2008-03-31 2010-11-23 International Business Machines Corporation Using priority to determine whether to queue an input/output (I/O) request directed to storage

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002196894A (ja) * 2000-12-26 2002-07-12 Nec Corp ディスクアレイ装置間データ送受信方式
JP2002278704A (ja) * 2001-03-19 2002-09-27 Toshiba Corp 処理最適化方法、コンピュータ、及び記憶装置
JP2005107806A (ja) * 2003-09-30 2005-04-21 Hitachi Computer Peripherals Co Ltd データバックアップ方法及びバックアップ装置
JP2012053645A (ja) * 2010-09-01 2012-03-15 Fujitsu Ltd 情報処理装置、情報処理プログラムおよびコピー処理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017010196A (ja) * 2015-06-19 2017-01-12 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
JP2017016404A (ja) * 2015-07-01 2017-01-19 日本電信電話株式会社 分散ストレージシステム、データ再配置方法およびデータ再配置プログラム
US10235071B2 (en) 2016-11-29 2019-03-19 Kabushiki Kaisha Toshiba Tiered storage system, storage controller and tiering control method

Also Published As

Publication number Publication date
JP6160236B2 (ja) 2017-07-12
US20140344518A1 (en) 2014-11-20

Similar Documents

Publication Publication Date Title
JP6160236B2 (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法及び情報処理装置の制御プログラム
JP6447217B2 (ja) 実行情報通知プログラム、情報処理装置および情報処理システム
US9658888B2 (en) Thresholding task control blocks for staging and destaging
JP2021190074A (ja) リソーススケジューリング方法、装置、設備、記憶媒体、及びプログラム
US8683480B2 (en) Resource allocation for a plurality of resources for a dual activity system
JP2008226040A (ja) 情報処理装置及びコマンド多重度制御方法
US10824425B2 (en) Selecting destination for processing management instructions based on the processor buffer size and uncompleted management instructions
JP5849794B2 (ja) ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラム
JP2014229144A (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
WO2017056219A1 (ja) ストレージ装置およびストレージ装置の制御方法
US9465745B2 (en) Managing access commands by multiple level caching
JP6115575B2 (ja) データセット多重度変更装置、サーバ、データセット多重度変更方法、およびコンピュータ・プログラム
JP6786010B2 (ja) 情報処理装置、チューニング方法およびチューニングプログラム
US11500799B2 (en) Managing access to a CPU on behalf of a block application and a non-block application
US10331563B2 (en) Adaptively enabling and disabling snooping bus commands
US7908377B2 (en) Computer system and data sharing method
JP5158576B2 (ja) 入出力制御システム、入出力制御方法、及び、入出力制御プログラム
JP6019940B2 (ja) 情報処理装置、コピー制御プログラム、およびコピー制御方法
CN109002255B (zh) 存储系统及其操作方法
US11467748B2 (en) Control apparatus and computer-readable recording medium having stored therein control program
JP2007249635A (ja) データ転送装置及びデータ転送方法
JP5678923B2 (ja) ストレージシステム、入出力制御装置、入出力制御方法、および、コンピュータ・プログラム
JP5056346B2 (ja) 情報処理装置、情報処理システム、仮想サーバの移動処理の制御方法、及び、プログラム
JP5699589B2 (ja) 処理割り当て装置、処理割り当てシステム、処理割り当て方法、処理割り当てプログラム
JP6379841B2 (ja) 情報処理装置、試験方法および試験制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170310

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: 20170516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170529

R150 Certificate of patent or registration of utility model

Ref document number: 6160236

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150