(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-28
(45)【発行日】2022-11-08
(54)【発明の名称】記録装置、記録方法、記録プログラム、及び磁気テープ
(51)【国際特許分類】
G11B 20/10 20060101AFI20221031BHJP
G11B 27/10 20060101ALI20221031BHJP
G11B 27/00 20060101ALI20221031BHJP
G06F 3/06 20060101ALI20221031BHJP
【FI】
G11B20/10 311
G11B27/10 H
G11B27/00 C
G06F3/06 302J
G06F3/06 303E
(21)【出願番号】P 2020569511
(86)(22)【出願日】2020-01-17
(86)【国際出願番号】 JP2020001577
(87)【国際公開番号】W WO2020158463
(87)【国際公開日】2020-08-06
【審査請求日】2021-07-26
(31)【優先権主張番号】P 2019012251
(32)【優先日】2019-01-28
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】306037311
【氏名又は名称】富士フイルム株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】近藤 理貴
【審査官】中野 和彦
(56)【参考文献】
【文献】特開2018-190393(JP,A)
【文献】特開2008-059438(JP,A)
【文献】特開2016-143434(JP,A)
【文献】特開2015-041389(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11B 20/10
G11B 27/10
G11B 27/00
G06F 3/06
(57)【特許請求の範囲】
【請求項1】
単一の記録媒体上
の複数の仮想的な
ブロックであって、記録対象である複数のデータをそれぞれ記録するための複数の仮想的なブロックのうち、2つの異なるブロック間の位置の関連度を導出する第1導出部と、
前記記録媒体への記録対象とする複数のデータが並行して読み出される可能性を表すデータ間の関連度を導出する第2導出部と、
前記位置の関連度及び前記データ間の関連度の差を用いて、前記複数のデータそれぞれを記録する前記ブロックを導出する第3導出部と、
前記複数のデータそれぞれについて前記第3導出部により導出されたブロックに従って、前記複数のデータを前記記録媒体に記録する制御を行う制御部と、
を備えた記録装置。
【請求項2】
前記位置の関連度は、前記記録媒体に記録されたデータを読み取る再生素子が予め定められた位置に存在する場合における、前記異なるブロックに記録されたデータを読み取るためにかかる時間が短いほど大きい値であり、
前記データ間の関連度は、前記複数のデータが並行して読み出される可能性が高いほど大きい値であり、
前記第3導出部は、前記差に応じた値が最小となる前記ブロックを導出する
請求項1に記載の記録装置。
【請求項3】
前記位置の関連度は、前記再生素子が異なる複数の前記予め定められた位置の各々に存在する場合における前記時間の平均値が小さいほど大きい値である
請求項2に記載の記録装置。
【請求項4】
複数のデータに対して前記データ間の関連度が閾値以上のデータが存在する場合、前記閾値以上のデータを複製すると仮定して前記第1導出部は前記位置の関連度を導出し、かつ前記第2導出部は前記データ間の関連度を導出する
請求項1から請求項3の何れか1項に記載の記録装置。
【請求項5】
前記記録媒体は、磁気テープである
請求項1から請求項4の何れか1項に記載の記録装置。
【請求項6】
単一の記録媒体上
の複数の仮想的な
ブロックであって、記録対象である複数のデータをそれぞれ記録するための複数の仮想的なブロックのうち、2つの異なるブロック間の位置の関連度を導出し、
前記記録媒体への記録対象とする複数のデータが並行して読み出される可能性を表すデータ間の関連度を導出し、
前記位置の関連度及び前記データ間の関連度の差を用いて、前記複数のデータそれぞれを記録する前記ブロックを導出し、
前記複数のデータそれぞれについて導出したブロックに従って、前記複数のデータを前記記録媒体に記録する制御を行う
ことを含む処理をコンピュータが実行する記録方法。
【請求項7】
記録媒体上の仮想的な異なるブロック間の位置の関連度を導出し、
前記記録媒体への記録対象とする複数のデータが並行して読み出される可能性を表すデータ間の関連度を導出し、
前記位置の関連度及び前記データ間の関連度の差を用いて、前記複数のデータそれぞれを記録する前記ブロックを導出し、
前記複数のデータそれぞれについて導出したブロックに従って、前記複数のデータを前記記録媒体に記録する制御を行う
ことを含む処理をコンピュータに実行させるための記録プログラム。
【請求項8】
請求項6の記録方法により記録対象である複数のデータが記録された、磁気テープ。
【発明の詳細な説明】
【技術分野】
【0001】
本願は2019年1月28日出願の日本出願第2019-012251号の優先権を主張すると共に、その全文を参照により本明細書に援用する。
本開示は、記録装置、記録方法、記録プログラム、及び磁気テープに関する。
【背景技術】
【0002】
従来、記録対象のデータのヘッダ情報に基づいてデータのグループ分けを行い、同一のグループに属するデータを同一の記録媒体に記録する技術が開示されている(例えば、特開2014-191524号公報参照)。
【0003】
また、データのアクセス頻度に応じてデータのグループ分けを行い、アクセス頻度の高いグループから順に記録媒体に記録する技術が開示されている(例えば、特開平8-263335号公報参照)。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記文献に記載の技術では、記録対象の複数のデータのグループ分けを行い、グループ単位でデータを記録媒体に記録する技術であるため、1つのデータが複数のグループにまたがって属することに対応できない場合がある。そして、この場合、記録媒体に記録されたデータの読み取り時間を短縮することができない場合がある。
【0005】
本開示は、以上の事情を鑑みてなされたものであり、記録媒体に記録されたデータの読み取り時間を短縮することができる記録装置、記録方法、記録プログラム、及び磁気テープを提供する。
【課題を解決するための手段】
【0006】
本開示の第1の態様は、記録装置であって、記録媒体上の仮想的な異なるブロック間の位置の関連度を導出する第1導出部と、記録媒体への記録対象とする複数のデータが並行して読み出される可能性を表すデータ間の関連度を導出する第2導出部と、位置の関連度及びデータ間の関連度の差を用いて、複数のデータそれぞれを記録するブロックを導出する第3導出部と、複数のデータそれぞれについて第3導出部により導出されたブロックに従って、複数のデータを記録媒体に記録する制御を行う制御部と、を備える。
【0007】
なお、本態様の記録装置は、位置の関連度が、記録媒体に記録されたデータを読み取る再生素子が予め定められた位置に存在する場合における、異なるブロックに記録されたデータを読み取るためにかかる時間が短いほど大きい値であり、データ間の関連度が、複数のデータが並行して読み出される可能性が高いほど大きい値であり、第3導出部が、上記差に応じた値が最小となるブロックを導出してもよい。
【0008】
また、本態様の記録装置は、位置の関連度が、再生素子が異なる複数の予め定められた位置の各々に存在する場合における上記時間の平均値が小さいほど大きい値であってもよい。
【0009】
また、本態様の記録装置は、複数のデータに対してデータ間の関連度が閾値以上のデータが存在する場合、閾値以上のデータを複製すると仮定して第1導出部が位置の関連度を導出し、かつ第2導出部がデータ間の関連度を導出してもよい。
【0010】
また、本態様の記録装置は、記録媒体が、磁気テープであってもよい。
【0011】
本開示の第2の態様は、記録方法であって、記録媒体上の仮想的な異なるブロック間の位置の関連度を導出し、記録媒体への記録対象とする複数のデータが並行して読み出される可能性を表すデータ間の関連度を導出し、位置の関連度及びデータ間の関連度の差を用いて、複数のデータそれぞれを記録するブロックを導出し、複数のデータそれぞれについて導出したブロックに従って、複数のデータを記録媒体に記録する制御を行う処理をコンピュータが実行するものである。
【0012】
本開示の第3の態様は、記録プログラムであって、記録媒体上の仮想的な異なるブロック間の位置の関連度を導出し、記録媒体への記録対象とする複数のデータが並行して読み出される可能性を表すデータ間の関連度を導出し、位置の関連度及びデータ間の関連度の差を用いて、複数のデータそれぞれを記録するブロックを導出し、複数のデータそれぞれについて導出したブロックに従って、複数のデータを記録媒体に記録する制御を行う処理をコンピュータに実行させるためのものである。
【0013】
本開示の第4の態様は、磁気テープであって、磁気テープ上の仮想的な異なるブロック間の位置の関連度、及び磁気テープへの記録対象とする複数のデータが並行して読み出される可能性を表すデータ間の関連度の差を用いて導出された、複数のデータそれぞれを記録するブロックに従って、複数のデータが記録されるものである。
【0014】
本開示の第5の態様は、記録装置であって、コンピュータに実行させるための命令を記憶するメモリと、記憶された命令を実行するよう構成されたプロセッサと、を備え、プロセッサは、記録媒体上の仮想的な異なるブロック間の位置の関連度を導出し、記録媒体への記録対象とする複数のデータが並行して読み出される可能性を表すデータ間の関連度を導出し、位置の関連度及びデータ間の関連度の差を用いて、複数のデータそれぞれを記録するブロックを導出し、複数のデータそれぞれについて導出したブロックに従って、複数のデータを記録媒体に記録する制御を行う。
【発明の効果】
【0015】
本開示によれば、記録媒体に記録されたデータの読み取り時間を短縮することができる。
【図面の簡単な説明】
【0016】
【
図1】各実施形態に係る記録読取システムの構成の一例を示すブロック図である。
【
図2】各実施形態に係る磁気テープの一例を示す平面図である。
【
図3】各実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【
図4】各実施形態に係る読み取りログの一例を示す図である。
【
図5】各実施形態に係る情報処理装置の機能的な構成の一例を示すブロック図である。
【
図6】ブロック間関連度の導出処理を説明するための図である。
【
図9】ブロック間関連度に基づくネットワーク構造の一例を示す模式図である。
【
図10】データ間関連度に基づくネットワーク構造の一例を示す模式図である。
【
図11】ネットワーク構造の差の一例を示す図である。
【
図12】データ間関連度に基づくネットワーク構造の一例を示す模式図である。
【
図13】データの配置先の仮想ブロックを変更する順番の一例を示す図である。
【
図14】データの記録順を説明するための図である。
【
図15】第1実施形態に係る記録処理の一例を示すフローチャートである。
【
図18】ブロック間関連度に基づくネットワーク構造の一例を示す模式図である。
【
図20】データ間関連度に基づくネットワーク構造の一例を示す模式図である。
【
図21】ネットワーク構造の差の一例を示す図である。
【
図22】データ間関連度に基づくネットワーク構造の一例を示す模式図である。
【
図23】ネットワーク構造の差の一例を示す図である。
【
図24】データ間関連度に基づくネットワーク構造の一例を示す模式図である。
【
図25】ネットワーク構造の差の一例を示す図である。
【
図26】第2実施形態に係る記録処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、図面を参照して、本開示の技術を実施するための形態例を詳細に説明する。
【0018】
[第1実施形態]
まず、
図1を参照して、本実施形態に係る記録読取システム10の構成を説明する。
図1に示すように、記録読取システム10は、情報処理装置12及びテープライブラリ14を含む。テープライブラリ14は、情報処理装置12に接続される。また、情報処理装置12と複数台の端末16とは、ネットワークNに接続され、ネットワークNを介して通信が可能とされる。
【0019】
テープライブラリ14は、複数のスロット(図示省略)及び複数のテープドライブ18を備え、各スロットには記録媒体の一例としての磁気テープTが格納される。なお、磁気テープTの例としては、LTO(Linear Tape-Open)テープが挙げられる。
【0020】
テープドライブ18は、磁気ヘッドHを備えている。磁気ヘッドHは、磁気テープTに対するデータの記録及び再生を行う記録再生素子RWDを備えている。記録再生素子RWDが開示の技術に係る記録媒体に記録されたデータを読み取る再生素子の一例である。
【0021】
情報処理装置12により磁気テープTに対するデータの書き込み又は読み取りを行う場合、書き込み又は読み取り対象の磁気テープTがスロットから何れかのテープドライブ18にロードされる。テープドライブ18にロードされた磁気テープTに対する情報処理装置12による書き込み又は読み取りが完了すると、磁気テープTは、テープドライブ18から元々格納されていたスロットにアンロードされる。
【0022】
次に、
図2を参照して、本実施形態に係る磁気テープTの構成を説明する。
図2に示すように、磁気テープTには、複数本のサーボバンドSBが磁気テープTの長手方向に沿って形成されている。なお、磁気テープTの長手方向は、磁気テープTの引き出し方向に相当する。また、複数本のサーボバンドSBは、磁気テープTの幅方向に等間隔に並ぶように形成されている。サーボバンドSBには、磁気ヘッドHの幅方向の位置決めを行うためのサーボパターンが記録される。
【0023】
また、隣り合うサーボバンドSBの間には、データが記録されるデータバンドDBが形成されている。また、データバンドDBは、記録再生素子RWDによるデータの記録及び再生が行われる複数のデータトラックDTを備える。
【0024】
次に、
図3を参照して、本実施形態に係る情報処理装置12のハードウェア構成を説明する。
図3に示すように、情報処理装置12は、CPU(Central Processing Unit)20、一時記憶領域としてのメモリ21、及び不揮発性の記憶部22を含む。また、情報処理装置12は、液晶ディスプレイ等の表示部23、キーボードとマウス等の入力部24、ネットワークNに接続されるネットワークI/F(InterFace)25、及びテープライブラリ14が接続される外部I/F26を含む。CPU20、メモリ21、記憶部22、表示部23、入力部24、ネットワークI/F25、及び外部I/F26は、バス27に接続される。
【0025】
記憶部22は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、及びフラッシュメモリ等によって実現される。記憶媒体としての記憶部22には、記録プログラム30が記憶される。CPU20は、記憶部22から記録プログラム30を読み出してからメモリ21に展開し、展開した記録プログラム30を実行する。なお、情報処理装置12の例としては、サーバコンピュータ等が挙げられる。また、情報処理装置12が、磁気テープTにデータを記録する記録装置の一例である。磁気テープTに記録するデータの例としては、DICOM(Digital Imaging and COmmunications in Medicine)等の予め定められた規格に従った医用データが挙げられる。
【0026】
また、記憶部22には、各端末16により読み取られるデータ群が記憶される。また、記憶部22には、読み取りログ32が記憶される。
図4に、読み取りログ32の一例を示す。
図4に示すように、読み取りログ32には、端末16により読み取られたデータの識別情報(
図4の例では「読み取り対象」と表記)と、データが読み取られた日時とが対応付けられて記録される。なお、読み取りログ32におけるデータが読み取られた日時は、例えば、データの読み取りが開始された日時でもよいし、データの読み取りが完了した日時でもよい。また、読み取りログ32におけるデータが読み取られた日時は、データの読み取りが開始された日時、及びデータの読み取りが完了した日時の双方でもよい。
【0027】
次に、
図5を参照して、本実施形態に係る情報処理装置12の機能的な構成について説明する。
図5に示すように、情報処理装置12は、第1導出部40、第2導出部42、第3導出部44、及び制御部46を含む。CPU20が記録プログラム30を実行することにより、第1導出部40、第2導出部42、第3導出部44、及び制御部46として機能する。
【0028】
第1導出部40は、磁気テープT上の仮想的な異なるブロック間の位置の関連度(以下、「ブロック間関連度」という)を導出する。
図6を参照して、第1導出部40によるブロック間関連度の導出処理の具体例を説明する。
【0029】
まず、第1導出部40は、記録対象とする複数のデータが記録可能な分のデータトラックDTを複数の仮想的なブロック(以下、「仮想ブロック」という)に分割する。
図6では、第1導出部40が隣り合う2本のデータトラックDTを複数の仮想ブロックに分割した例を示している。なお、仮想ブロックのサイズは特に限定されない。例えば、第1導出部40は、仮想ブロックのサイズを記録対象とする複数のデータのうちの最小サイズのデータのサイズに合わせてもよいし、最大サイズのデータのサイズに合わせてもよい。また、例えば、第1導出部40は、仮想ブロックのサイズを記録対象とする複数のデータの平均サイズに合わせてもよい。まだ、この場合のデータのサイズは、データを磁気テープTに記録する場合のデータの圧縮率を考慮したサイズであってもよい。
【0030】
そして、第1導出部40は、分割した仮想ブロックのブロック間関連度を導出する。本実施形態では、第1導出部40は、ブロック間関連度として、記録再生素子RWDを含む磁気ヘッドHが予め定められた位置に存在する場合における、ブロック間関連度の導出対象の仮想ブロックに記録されたデータを読み取るためにかかる時間が短いほど大きい値を導出する。ここでは、説明を分かりやすくするために、
図6に示す4つの仮想ブロックA~Dのブロック間関連度の導出処理の具体例を説明する。
【0031】
第1導出部40は、仮想ブロックA~Dのうちの2つの仮想ブロックの各組み合わせについて、2つの仮想ブロックに記録されたデータを読み取るためにかかる時間(以下、「ブロック間読み取り時間」という)を導出する。本実施形態では、第1導出部40は、1つの仮想ブロックを移動するためにかかる時間及び隣り合うデータトラックDTに移動する時間等のデータを読み取るための動作単位毎にかかる時間を1単位時間としてブロック間読み取り時間を導出する。
【0032】
具体的な一例として、磁気ヘッドHが
図6に示す位置H1に存在し、かつ仮想ブロックA、Cに記録されたデータを読み取るためにかかる時間の導出処理を説明する。この場合、磁気ヘッドHが位置H1から位置H2に移動するために1単位時間がかかり、仮想ブロックAに記録されたデータを読み取るために1単位時間がかかり、仮想ブロックCに記録されたデータを読み取るために1単位時間がかかる。従って、仮想ブロックA、Cのブロック間読み取り時間は「3」(=1+1+1)となる。
【0033】
更に、具体的な一例として、磁気ヘッドHが
図6に示す位置H1に存在し、かつ仮想ブロックA、Bに記録されたデータを読み取るためにかかる時間の導出処理を説明する。この場合、磁気ヘッドHが位置H1から位置H2に移動するために1単位時間がかかり、仮想ブロックAに記録されたデータを読み取るために1単位時間がかかる。そして、磁気ヘッドHを停止し、かつ磁気ヘッドHの進行方向を切り替えるために1単位時間がかかり、隣り合うデータトラックDTに磁気ヘッドHを移動させるために1単位時間がかかり、仮想ブロックBに記録されたデータを読み取るために1単位時間がかかる。従って、仮想ブロックA、Bのブロック間読み取り時間は「5」(=1+1+1+1+1)となる。
【0034】
第1導出部は、以上のブロック間読み取り時間の導出処理を、異なる複数の位置H1~H10の各々に磁気ヘッドHが存在する場合について行う。
図6に示す位置H1~H10の各々に磁気ヘッドHが存在する場合における、仮想ブロックの各組み合わせのブロック間読み取り時間の一覧を
図7に示す。なお、ブロック間読み取り時間は、予め実機を用いて測定した実測値でもよい。
【0035】
次に、第1導出部40は、仮想ブロックの各組み合わせについて、導出したブロック間読み取り時間の平均値を導出する。そして、第1導出部40は、仮想ブロックの各組み合わせについて導出した平均値に対し、最大値を「0」とし、最小値を「1」として正規化することによって、ブロック間関連度を導出する。すなわち、ブロック間関連度は、上記平均値が小さいほど大きい値となる。
図7には、第1導出部40により導出された平均値及びブロック間関連度も示されている。
図7の例では、仮想ブロックAと仮想ブロックBとのブロック間関連度は、0.5256と導出されている。
【0036】
第2導出部42は、磁気テープTへの記録対象とする複数のデータが並行して読み出される可能性を表すデータ間の関連度(以下、「データ間関連度」という)を導出する。本実施形態では、第2導出部42は、磁気テープTへの記録対象とする複数のデータが並行して読み出される可能性が高いほど大きい値としてデータ間関連度を導出する。以下、具体的な一例として、データa~データdの4つのデータが磁気テープTへの記録対象とされる場合について説明する。
【0037】
第2導出部42は、読み取りログ32を参照し、2つのデータが予め定められた期間(例えば、10秒)以内に読み取られている場合、その2つのデータが並行して読み取られたものとして、並行して読み取られた回数(以下、「並行読み取り回数」という)を数える。なお、この場合の上記予め定められた期間は、システムの特性に応じて決めてもよいし、例えば、データのサイズが大きくなるほど長い期間としてもよい。
図8の例では、データaとデータbとが4回並行して読み取られたことを表している。
【0038】
そして、第2導出部42は、各データの組み合わせについて数えた並行読み取り回数に対し、最小値を「0」とし、最大値を「1」として正規化することによって、データ間関連度を導出する。すなわち、データ間関連度は、並行読み取り回数が多いほど大きい値となる。
図8の例では、データaとデータbとのデータ間関連度は、0.1429と導出されている。
【0039】
第3導出部44は、第1導出部40により導出されたブロック間関連度及び第2導出部42により導出されたデータ間関連度の差を用いて、記録対象とする複数のデータそれぞれを記録する仮想ブロックを導出する。本実施形態では、第3導出部44は、ブロック間関連度及びデータ間関連度の差に応じた値が最小となる仮想ブロックを導出する。以下、第3導出部44による導出処理の詳細を説明する。
【0040】
図9に、第1導出部40により導出されたブロック間関連度に基づいて、各仮想ブロックのブロック間関連度をネットワーク構造として表した模式図の一例を示す。
図9の例では、
図7に示したブロック間関連度が高いほど、仮想ブロック間を結ぶ直線が太くなるネットワーク構造とされている。
【0041】
図10に、記録対象とする複数のデータのそれぞれを、仮想ブロックの何れかに記録すると仮定した場合のデータ間関連度をネットワーク構造として表した模式図の一例を示す。
図10の例では、仮想ブロックAにデータaを記録し、仮想ブロックBにデータbを記録し、仮想ブロックCにデータcを記録し、仮想ブロックDにデータdを記録すると仮定した場合のネットワーク構造を示している。また、
図10の例では、
図8に示したデータ間関連度が高いほど、データ間を結ぶ直線が太くなるネットワーク構造とされている。
【0042】
図9に示すブロック間関連度に基づくネットワーク構造と
図10に示すデータ間関連度に基づくネットワーク構造との類似度が高くなるほど、データ間関連度が高いデータがブロック間関連度の高いブロックに記録される可能性が高くなると考えられる。すなわち、上記類似度が高くなるほど、並行して読み出される可能性が高い複数のデータが、データを読み取るためにかかる時間が短くなる位置のブロックに書き込まれる可能性が高くなると考えられる。
【0043】
そこで、本実施形態では、第3導出部44は、ブロック間関連度に基づくネットワーク構造とデータ間関連度に基づくネットワーク構造との差(以下、「ネットワーク構造差」という)が最小となる複数のデータと複数の仮想ブロックとの組み合わせを導出する。この組み合わせを求めることにより、第3導出部44は、記録対象とする複数のデータそれぞれを記録する仮想ブロックを導出する。このネットワーク構造差が、ブロック間関連度とデータ間関連度との差に応じた値に相当する。
【0044】
まず、第3導出部44は、各データ間のデータ間関連度と、対応する仮想ブロック間のブロック間関連度とを用いて、以下の(1)式に従って、ネットワーク構造におけるノード間の差Dを導出する。なお、(1)式におけるmax(a、b)は、a及びbのうちの最大値を表し、a^2はaの2乗を表す。
D=max(0、(データ間関連度-ブロック間関連度))^2・・・(1)
図9及び
図10の例における差Dを
図11に示す。そして、第3導出部44は、ネットワーク構造差として、差Dの平均値を導出する。
図11の例では、ネットワーク構造差は、以下の(2)式により、0.052となる。
(0+0+0.084+0+0+0.225)÷6=0.052・・・(2)
【0045】
第3導出部44は、記録対象とする複数のデータと配置先の仮想ブロックとの全ての組み合わせについてネットワーク構造差を導出し、ネットワーク構造差が最小となる複数のデータと、複数のデータの配置先の仮想ブロックとの組み合わせを導出する。すなわち、第3導出部44は、ネットワーク構造差が最小となる上記組み合わせを導出することによって、複数のデータそれぞれを記録する仮想ブロックを導出する。例えば、
図10の例に代えて、仮想ブロックAにデータdを記録し、仮想ブロックBにデータbを記録し、仮想ブロックCにデータcを記録し、仮想ブロックDにデータaを記録すると仮定した場合のネットワーク構造の例を
図12に示す。
図12の例では、ネットワーク構造差は0.014となる。
【0046】
なお、第3導出部44は、全ての組み合わせについてネットワーク構造差を導出しなくてもよい。例えば、第3導出部44は、差Dが最大となる2つのデータの何れかの配置先の仮想ブロックを変更してネットワーク構造差を導出し、導出したネットワーク構造差が最小となる組み合わせを導出してもよい。なお、この場合、第3導出部44は、この導出する処理をネットワーク構造差が収束するまで繰り返してもよいし、予め定められた回数繰り返してもよい。
【0047】
この場合、
図9及び
図10の例では、
図13に示すように、第3導出部44は、差Dが最大となるデータc及びデータdのうち、データcの配置先をデータaの配置先と入れ替えてネットワーク構造差を導出する。同様に、第3導出部44は、差Dが最大となるデータc及びデータdのうち、データcの配置先をデータbの配置先と入れ替えてネットワーク構造差を導出する。また、第3導出部44は、差Dが最大となるデータc及びデータdのうち、データdの配置先をデータaの配置先と入れ替えてネットワーク構造差を導出する。更に、第3導出部44は、差Dが最大となるデータc及びデータdのうち、データdの配置先をデータbの配置先と入れ替えてネットワーク構造差を導出する。
【0048】
このように、第3導出部44が、差Dが最大となる2つのデータの何れかの配置先を変更してネットワーク構造差を導出することによって、変更後のネットワーク構造差は変更前のネットワーク構造差よりも小さくなる可能性が高い。従って、この場合、計算量を低減することができる。
【0049】
制御部46は、記録対象とする複数のデータそれぞれについて第3導出部44により導出された仮想ブロックに従って、複数のデータを磁気テープTに記録する制御を行う。具体的には、例えば、仮想ブロックA~Fが
図14に示すような配置の仮想的なブロックとされ、磁気ヘッドHの進行方向が矢印Yで示される方向の場合について説明する。この場合、制御部46は、記録対象とする複数のデータそれぞれを、磁気ヘッドHの通過順である仮想ブロックA、C、E、F、D、Bに対応する順番で磁気テープTに記録する制御を行う。
【0050】
次に、
図15を参照して、本実施形態に係る情報処理装置12の作用を説明する。CPU20が記録プログラム30を実行することによって、
図15に示す記録処理が実行される。
図15に示す記録処理は、例えば、ユーザにより入力部24を介してデータの記録指示が入力された場合に実行される。
【0051】
図15のステップS10で、第2導出部42は、前述したように、読み取りログ32を参照し、並行読み取り回数を数える。そして、第2導出部42は、前述したように、各データの組み合わせについて数えた並行読み取り回数に対し、最小値を「0」とし、最大値を「1」として正規化することによって、データ間関連度を導出する。
【0052】
ステップS12で、第1導出部40は、前述したように、記録対象とするデータ群が記録可能な分のデータトラックDTを複数の仮想ブロックに分割し、分割した仮想ブロックのブロック間関連度を導出する。
【0053】
ステップS14で、第3導出部44は、前述したように、ステップS12で導出されたブロック間関連度及びステップS10で導出されたデータ間関連度の差を用いて、記録対象とする複数のデータそれぞれを記録する仮想ブロックを導出する。
【0054】
ステップS16で、制御部46は、前述したように、記録対象とする複数のデータそれぞれについてステップS14で導出された仮想ブロックに従って、複数のデータを磁気テープTに記録する制御を行う。ステップS16の処理が終了すると、本記録処理が終了する。
【0055】
以上説明したように、本実施形態によれば、ブロック間関連度及びデータ間関連度の差を用いて、複数のデータそれぞれを記録する仮想ブロックを導出し、導出した仮想ブロックに従って複数のデータを磁気テープTに記録する。従って、並行して読み取られる可能性が高いデータを、磁気テープT上の関連度が高い位置に記録することができる結果、記録媒体に記録されたデータの読み取り時間を短縮することができる。
【0056】
[第2実施形態]
開示の技術の第2実施形態を説明する。なお、本実施形態に係る記録読取システム10の構成(
図1参照)及び情報処理装置12のハードウェア構成(
図3参照)は、第1実施形態と同様であるため、説明を省略する。
【0057】
図5を参照して、本実施形態に係る情報処理装置12の機能的な構成について説明する。
図5に示すように、情報処理装置12は、第1導出部40A、第2導出部42A、第3導出部44A、及び制御部46を含む。CPU20が記録プログラム30を実行することにより、第1導出部40A、第2導出部42A、第3導出部44A、及び制御部46Aとして機能する。
【0058】
第1導出部40Aは、第1実施形態に係る第1導出部40が有する機能に加え、以下の機能を有する。第1導出部40Aは、複数のデータに対して、第2導出部42Aにより導出されたデータ間関連度が予め定められた閾値以上のデータが存在する場合、そのデータを複製すると仮定してブロック間関連度を導出する。なお、この場合の閾値の例としては、データを複製した方が読み取り時間が短縮される値の下限値として実験的に決定された値が挙げられる。
【0059】
ここでは具体的な一例として、
図16に示すように、複数のデータb、c、dに対してデータ間関連度が閾値(例えば、0.7)以上であるデータaが存在する場合について説明する。この場合、第1導出部40Aは、データaの複製先の仮想ブロックA2を追加したうえで、ブロック間関連度を導出する。この場合に第1導出部40Aにより導出されたブロック間関連度の一例を
図17に示す。
図17の例では、仮想ブロックAとの関連度が1の仮想ブロックとして仮想ブロックA2が追加されている。
【0060】
また、
図17に示すブロック間関連度をネットワーク構造として表した模式図の一例を
図18に示す。なお、ここでは説明を分かりやすくするために、データaを1つ複製する(すなわち、データaを2つ磁気テープTに記録する)場合について説明するが、データaを2つ以上複製してもよい。
【0061】
第2導出部42Aは、第1実施形態に係る第2導出部42が有する機能に加え、以下の機能を有する。第2導出部42Aは、複数のデータに対して、導出したデータ間関連度が上記予め定められた閾値以上のデータが存在する場合、そのデータを複製すると仮定してデータ間関連度を導出する。この場合、第2導出部42Aは、データaの複製であるデータa2を追加したうえで、データ間関連度を導出する。この場合に第2導出部42Aにより導出されたデータ間関連度の一例を
図19に示す。
図19の例では、データaとの関連度が0のデータとしてデータa2が追加されている。
【0062】
第3導出部44Aは、第1実施形態に係る第3導出部44と同様に、第1導出部40Aにより導出されたブロック間関連度及び第2導出部42Aにより導出されたデータ間関連度の差を用いて、記録対象とする複数のデータそれぞれを記録する仮想ブロックを導出する。
【0063】
図20に、仮想ブロックAにデータaを記録し、仮想ブロックA2にデータa2を記録し、仮想ブロックBにデータbを記録し、仮想ブロックCにデータcを記録し、仮想ブロックDにデータdを記録すると仮定した場合のネットワーク構造の一例を示す。また、
図18及び
図20の例における差Dを
図21に示す。また、
図21の例におけるネットワーク構造差は、以下の(3)式により、0.09となる。
(0.05+0+0.483+0.007+0+0)÷6=0.09・・・(3)
【0064】
図20の状態から、データaの配置先とデータdの配置先とを入れ替えた場合のネットワーク構造を
図22に示す。また、
図18及び
図20の例における差Dを
図23に示す。また、
図23の例におけるネットワーク構造差は、以下の(4)式により、0.039となる。なお、ここでは、複製により複数の同じデータの組み合わせができる場合については、小さい方の差Dを採用している。具体的には、
図23の例では、「da」についての差Dよりも「da2」の方が、差Dが小さいため、「da2」の方の差Dを採用している。
(0+0+0+0.007+0+0.225)÷6=0.039・・・(4)
【0065】
図22の状態から、データbの配置先とデータcの配置先とを入れ替えた場合のネットワーク構造を
図24に示す。また、
図18及び
図24の例における差Dを
図25に示す。また、
図25の例におけるネットワーク構造差は、以下の(5)式により、0.0095となる。
(0+0+0+0.007+0+0.05)÷6=0.0095・・・(5)
【0066】
このように、第3導出部44Aは、データとデータの配置先の仮想ブロックとの組み合わせを変更しながら、記録対象とする複数のデータそれぞれについて、ネットワーク構造差が最小となる仮想ブロックを導出する。
【0067】
制御部46Aは、第1実施形態に係る制御部46が有する機能に加え、以下の機能を有する。制御部46Aは、複数のデータに対してデータ間関連度が上記予め定められた閾値以上のデータが存在する場合、そのデータを複製したうえで、第3導出部44Aにより導出された仮想ブロックに従って、複数のデータを磁気テープTに記録する制御を行う。
【0068】
次に、
図26を参照して、本実施形態に係る情報処理装置12の作用を説明する。CPU20が記録プログラム30を実行することによって、
図26に示す記録処理が実行される。
図26に示す記録処理は、例えば、ユーザにより入力部24を介してデータの記録指示が入力された場合に実行される。なお、
図26における
図15と同一の処理を行うステップについては、同一の符号を付して説明を省略する。
【0069】
図26のステップS11で、第2導出部42Aは、複数のデータに対して、ステップS10で導出したデータ間関連度が上記予め定められた閾値以上のデータが存在するか否かを判定する。この判定が否定判定となった場合は、処理はステップS12に移行し、肯定判定となった場合は、処理はステップS10Aに移行する。
【0070】
ステップS10Aで、第2導出部42Aは、前述したように、データ間関連度が上記予め定められた閾値以上のデータを複製すると仮定してデータ間関連度を導出する。ステップS12Aで、第1導出部40Aは、前述したように、データ間関連度が上記予め定められた閾値以上のデータを複製すると仮定してブロック間関連度を導出する。
【0071】
ステップS14Aで、第3導出部44Aは、前述したように、ステップS12Aで導出されたブロック間関連度及びステップS10Aで導出されたデータ間関連度の差を用いて、記録対象とする複数のデータそれぞれを記録する仮想ブロックを導出する。
【0072】
ステップS16Aで、制御部46Aは、複数のデータに対してデータ間関連度が上記予め定められた閾値以上のデータを複製したうえで、ステップS14Aで導出された仮想ブロックに従って、複数のデータを磁気テープTに記録する制御を行う。ステップS16Aの処理が終了すると、本記録処理が終了する。
【0073】
以上説明したように、本実施形態によれば、様々なデータと並行して読み出される可能性が高いデータは複製されて磁気テープTに記録される。従って、並行して読み取られる可能性が高いデータを、より磁気テープT上の関連度が高い位置に記録することができる結果、記録媒体に記録されたデータの読み取り時間をより短縮することができる。
【0074】
なお、上記各実施形態では、記録媒体として磁気テープを適用した場合について説明したが、これに限定されない。記録媒体として磁気テープ以外の記録媒体を適用する形態としてもよい。
【0075】
また、上記各実施形態では、磁気ヘッドHの初期位置として位置H1~H10の10箇所の位置を適用した場合について説明したが、これに限定されない。例えば、磁気ヘッドHの初期位置として9箇所以下の位置を適用してもよいし、11箇所以上の位置を適用してもよい。磁気ヘッドHの初期位置として1箇所の位置を適用する場合、磁気テープTの先頭に対応する位置を適用する形態が例示される。また、磁気ヘッドHの初期位置として複数個所の位置を適用する場合、第1導出部40は、各位置に磁気ヘッドHが存在する確率に応じた重み付けを行ってブロック間読み取り時間を導出してもよい。
【0076】
また、上記各実施形態で示したブロック間関連度の導出手法、データ間関連度の導出手法、及びネットワーク構造差の導出手法の各手法は一例であり、上記各実施形態で示した例に限定されない。例えば、ブロック間関連度の導出手法、データ間関連度の導出手法、及びネットワーク構造差の導出手法の少なくとも一つに、ディープラーニング等のAI(Artificial Intelligence)技術を適用する形態としてもよい。
【0077】
また、上記各実施形態において、例えば、第1導出部40、40A、第2導出部42、42A、第3導出部44、44A、及び制御部46、46Aといった各種の処理を実行する処理部(processing unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(processor)を用いることができる。上記各種のプロセッサには、前述したように、ソフトウェア(プログラム)を実行して各種の処理部として機能する汎用的なプロセッサであるCPUに加えて、FPGA等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
【0078】
1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせや、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。
複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアント及びサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System on Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
【0079】
更に、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)を用いることができる。
【0080】
また、上記各実施形態では、記録プログラム30が記憶部22に予め記憶(インストール)されている態様を説明したが、これに限定されない。記録プログラム30は、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、記録プログラム30は、ネットワークを介して外部装置からダウンロードされる形態としてもよい。