JP2023123220A - 情報処理装置、情報処理方法、及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法、及び情報処理プログラム Download PDF

Info

Publication number
JP2023123220A
JP2023123220A JP2022027166A JP2022027166A JP2023123220A JP 2023123220 A JP2023123220 A JP 2023123220A JP 2022027166 A JP2022027166 A JP 2022027166A JP 2022027166 A JP2022027166 A JP 2022027166A JP 2023123220 A JP2023123220 A JP 2023123220A
Authority
JP
Japan
Prior art keywords
data
information processing
magnetic tapes
recorded
parity
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.)
Pending
Application number
JP2022027166A
Other languages
English (en)
Inventor
豊 大石
Yutaka Oishi
理貴 近藤
Masataka Kondo
美咲 大塚
Misaki Otsuka
優子 増田
Yuko Masuda
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.)
Fujifilm Corp
Original Assignee
Fujifilm Corp
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 Fujifilm Corp filed Critical Fujifilm Corp
Priority to JP2022027166A priority Critical patent/JP2023123220A/ja
Priority to US18/167,048 priority patent/US20230266886A1/en
Priority to EP23157510.1A priority patent/EP4235666A1/en
Priority to CN202310135304.8A priority patent/CN116643910A/zh
Publication of JP2023123220A publication Critical patent/JP2023123220A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1201Formatting, e.g. arrangement of data block or words on the record carriers on tapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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/0611Improving I/O performance in relation to response time
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0673Single storage device
    • G06F3/0682Tape device
    • 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/0686Libraries, e.g. tape libraries, jukebox
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/002Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】複数のデータとその複数のデータから生成されるパリティデータとを複数の磁気テープに記録する際の複数の磁気テープそれぞれでのデータの記録の所要時間の差を小さくすることができる情報処理装置、情報処理方法、及び情報処理プログラムを得る。【解決手段】情報処理装置は、複数のデータのうちの最大サイズのデータ以外のデータに対してダミーデータを付加することにより複数のデータのサイズを同一サイズにする処理を実行し、ダミーデータが付加された複数のデータに基づいてパリティデータを生成し、複数の磁気テープそれぞれに記録されるダミーデータ及びパリティデータの少なくとも一方のサイズの差が最小となるように、複数のデータ及びパリティデータの記録先の磁気テープを複数の磁気テープの中から選択する。【選択図】図10

Description

本開示は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
特許文献1には、複数のデータからパリティデータを生成し、複数のデータとパリティデータとを異なる磁気テープに記録する技術が開示されている。
特許文献2には、複数のデータからパリティデータを生成する際に、サイズが異なる複数のデータのうち、最大サイズ以外のデータにダミーデータを付加することによって複数のデータを同一サイズとする技術が開示されている。
特開2021-117772号公報 特開2015-143952号公報
複数のデータとその複数のデータから生成されるパリティデータとを複数の磁気テープに記録する際の複数の磁気テープそれぞれでのデータの記録の所要時間の差は小さいことが好ましい。特許文献1及び特許文献2に記載の技術では、複数のデータとその複数のデータから生成されるパリティデータとを複数の磁気テープに記録する際の複数の磁気テープそれぞれでのデータの記録の所要時間については考慮されていない。
本開示は、以上の事情を鑑みてなされたものであり、複数のデータとその複数のデータから生成されるパリティデータとを複数の磁気テープに記録する際の複数の磁気テープそれぞれでのデータの記録の所要時間の差を小さくすることができる情報処理装置、情報処理方法、及び情報処理プログラムを提供することを目的とする。
本開示の情報処理装置は、少なくとも一つのプロセッサを備え、かつ複数のデータを複数の磁気テープに記録する制御を行う情報処理装置であって、プロセッサは、複数のデータのうちの最大サイズのデータ以外のデータに対してダミーデータを付加することにより複数のデータのサイズを同一サイズにする処理を実行し、ダミーデータが付加された複数のデータに基づいてパリティデータを生成し、複数の磁気テープそれぞれに記録されるダミーデータ及びパリティデータの少なくとも一方のサイズの差が最小となるように、複数のデータ及びパリティデータの記録先の磁気テープを複数の磁気テープの中から選択する。
なお、本開示の情報処理装置は、プロセッサが、複数の磁気テープそれぞれに記録されるパリティデータのサイズの差が最小となるように、複数のデータ及びパリティデータの記録先の磁気テープを複数の磁気テープの中から選択してもよい。
また、本開示の情報処理装置は、複数のデータとパリティデータとの組み合わせが複数存在し、プロセッサが、同じ組の複数のデータの各々及びパリティデータの記録先として異なる磁気テープを選択し、かつ複数の磁気テープそれぞれに記録されるパリティデータの合計サイズの差が最小となるように、各パリティデータの記録先の磁気テープを選択してもよい。
また、本開示の情報処理装置は、プロセッサが、選択した磁気テープにデータを記録する制御を行う場合、データ及びそのデータに付加されたダミーデータのうち、データのみを記録する制御を行ってもよい。
また、本開示の情報処理装置は、プロセッサが、複数の磁気テープそれぞれに記録されるダミーデータのサイズの差が最小となるように、複数のデータ及びパリティデータの記録先の磁気テープを複数の磁気テープの中から選択してもよい。
また、本開示の情報処理装置は、複数のデータとパリティデータとの組み合わせが複数存在し、プロセッサが、同じ組の複数のデータの各々及びパリティデータの記録先として異なる磁気テープを選択し、かつ複数の磁気テープにそれぞれに記録されるダミーデータの合計サイズの差が最小となるように、複数のデータ及びパリティデータの記録先の磁気テープを複数の磁気テープの中から選択してもよい。
また、本開示の情報処理装置は、磁気テープへの記録対象のデータが、データとそのデータに関するメタデータとを含む複数のオブジェクトがまとめられたパックドオブジェクトであってもよい。
また、本開示の情報処理方法は、少なくとも一つのプロセッサを備え、かつ複数のデータを複数の磁気テープに記録する制御を行う情報処理装置のプロセッサが実行する情報処理方法であって、複数のデータのうちの最大サイズのデータ以外のデータに対してダミーデータを付加することにより複数のデータのサイズを同一サイズにする処理を実行し、ダミーデータが付加された複数のデータに基づいてパリティデータを生成し、複数の磁気テープそれぞれに記録されるダミーデータ及びパリティデータの少なくとも一方のサイズの差が最小となるように、複数のデータ及びパリティデータの記録先の磁気テープを複数の磁気テープの中から選択するものである。
また、本開示の情報処理プログラムは、少なくとも一つのプロセッサを備え、かつ複数のデータを複数の磁気テープに記録する制御を行う情報処理装置のプロセッサに実行させるための情報処理プログラムであって、複数のデータのうちの最大サイズのデータ以外のデータに対してダミーデータを付加することにより複数のデータのサイズを同一サイズにする処理を実行し、ダミーデータが付加された複数のデータに基づいてパリティデータを生成し、複数の磁気テープそれぞれに記録されるダミーデータ及びパリティデータの少なくとも一方のサイズの差が最小となるように、複数のデータ及びパリティデータの記録先の磁気テープを複数の磁気テープの中から選択するものである。
本開示によれば、複数のデータとその複数のデータから生成されるパリティデータとを複数の磁気テープに記録する際の複数の磁気テープそれぞれでのデータの記録の所要時間の差を小さくすることができる。
情報処理システムの構成の一例を示すブロック図である。 オブジェクトを説明するための図である。 パックドオブジェクトを説明するための図である。 情報処理装置のハードウェア構成の一例を示すブロック図である。 情報処理装置の機能的な構成の一例を示すブロック図である。 ダミーデータ付加処理を説明するための図である。 パリティデータの生成処理を説明するための図である。 複数組のパックドオブジェクト及びパリティデータを説明するための図である。 データの記録先の磁気テープを選択する処理を説明するための図である。 データの記録先の磁気テープを選択する処理を説明するための図である。 データ記録処理の一例を示すフローチャートである。 変形例に係るデータの記録先の磁気テープを選択する処理を説明するための図である。
以下、図面を参照して、本開示の技術を実施するための形態例を詳細に説明する。
まず、図1を参照して、本実施形態に係る情報処理システム10の構成を説明する。図1に示すように、情報処理システム10は、情報処理装置12及びテープライブラリ14を含む。情報処理装置12の例としては、サーバコンピュータ等が挙げられる。
テープライブラリ14は、複数のスロット(図示省略)及び複数のテープドライブ18を備え、各スロットには記録媒体の一例としての磁気テープTが格納される。各テープドライブ18は、情報処理装置12に接続される。テープドライブ18は、情報処理装置12による制御によって、磁気テープTに対するデータの書き込み又は読み取りを行う。磁気テープTの例としては、LTO(Linear Tape-Open)テープが挙げられる。
情報処理装置12により磁気テープTに対するデータの書き込み又は読み取りを行う場合、書き込み又は読み取り対象の磁気テープTがスロットから所定のテープドライブ18にロードされる。テープドライブ18にロードされた磁気テープTに対するデータの書き込み又は読み取りが完了すると、磁気テープTは、テープドライブ18から元々格納されていたスロットにアンロードされる。
本実施形態では、一例として図2に示すように、磁気テープTに記録するデータを取り扱う単位として、文書データ及び画像データ等のユーザが保存対象とするデータと、そのデータに関するメタデータとを含むオブジェクトを適用した形態例を説明する。図2の例では、メタデータを「メタ」と表記している。なお、このオブジェクトを取り扱うストレージシステムは、オブジェクトストレージシステムと称される。メタデータには、例えば、オブジェクトキー等のオブジェクトの識別情報、オブジェクト名、データのサイズ、及びタイムスタンプ等の属性情報が含まれる。なお、オブジェクトを磁気テープTに記録する際のデータ及びメタデータの記録順は特に限定されず、メタデータ及びデータの順でもよいし、データ及びメタデータの順でもよい。
また、本実施形態では、一例として図3に示すように、複数のオブジェクトが予め定められたルール(以下、「パッキングルール」という)に従ってまとめられたオブジェクト(以下、「パックドオブジェクト」という)単位でオブジェクトが磁気テープTに記録される。これは、情報処理装置12が磁気テープTへオブジェクトを記録する際のテープドライブ18への記録指示のコマンド発行によるオーバーヘッドの低減等を目的としている。パックドオブジェクトは、開示の技術に係る磁気テープTへの記録対象のデータの一例である。図3の「Obj」はオブジェクトを表している。なお、図3では、1つのパックドオブジェクトに4つのオブジェクトが含まれる例を示しているが、これに限定されない。1つのパックドオブジェクトに3つ以下のオブジェクトが含まれてもよいし、5つ以上のオブジェクトが含まれてもよい。また、パックドオブジェクトに含まれるオブジェクトの個数は均一でなくてもよい。
パッキングルールの例としては、同じ拡張子のデータを含む複数のオブジェクトを同じパックドオブジェクトにまとめる、又は同時に読み取られる可能性の高い複数のオブジェクトを同じパックドオブジェクトにまとめる、といったルールが挙げられる。また、パッキングルールの例としては、1つのパックドオブジェクトのサイズが予め定められた下限値以上上限値未満となるように複数のオブジェクトを1つのパックドオブジェクトにまとめる、といったルールが挙げられる。また、パッキングルールの例としては、1つのパックドオブジェクトに含まれるオブジェクトの数が予め定められた下限値以上上限値未満となるように複数のオブジェクトを1つのパックドオブジェクトにまとめる、といったルールが挙げられる。また、複数のパッキングルールを組み合わせてもよい。
次に、図4を参照して、本実施形態に係る情報処理装置12のハードウェア構成を説明する。図4に示すように、情報処理装置12は、CPU(Central Processing Unit)20、一時記憶領域としてのメモリ21、及び不揮発性の記憶部22を含む。また、情報処理装置12は、液晶ディスプレイ等のディスプレイ23、キーボードとマウス等の入力装置24、ネットワークに接続されるネットワークI/F(InterFace)25、及び各テープドライブ18が接続される外部I/F26を含む。CPU20、メモリ21、記憶部22、ディスプレイ23、入力装置24、ネットワークI/F25、及び外部I/F26は、バス27に接続される。CPU20は、プロセッサの一例である。
記憶部22は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はフラッシュメモリ等によって実現される。記憶媒体としての記憶部22には、情報処理プログラム30が記憶される。CPU20は、記憶部22から情報処理プログラム30を読み出してからメモリ21に展開し、展開した情報処理プログラム30を実行する。
ところで、本実施形態に係る情報処理装置12は、ユーザ端末等の外部装置から送信されたデータ及びメタデータを受信する。この外部装置からのデータの送信には、例えば、情報処理システム10から提供されるHTTP(Hypertext Transfer Protocol) API(Application Programming Interface)が使用される。この場合、例えば、ユーザが送信対象とするデータはHTTPのbody部分に含まれ、そのデータに関するメタデータはHTTPのheader部分に含まれる。情報処理装置12は、受信したデータ及びメタデータを対応付けたオブジェクトを記憶部22に格納する。情報処理装置12は、記憶部22に格納された複数のオブジェクトに基づいてパックドオブジェクトを生成し、生成した複数のパックドオブジェクトを複数の磁気テープTに記録する制御を行う機能を有する。
次に、図5を参照して、本実施形態に係る情報処理装置12の機能的な構成について説明する。図5に示すように、情報処理装置12は、第1生成部40、実行部42、第2生成部44、選択部46、及び制御部48を含む。CPU20が情報処理プログラム30を実行することにより、第1生成部40、実行部42、第2生成部44、選択部46、及び制御部48として機能する。
第1生成部40は、パッキングルールに従って、記憶部22に格納された複数のオブジェクトをまとめたパックドオブジェクトを生成し、生成したパックドオブジェクトを記憶部22に格納する。第1生成部40により順次パックドオブジェクトが生成され、記憶部22には複数のパックドオブジェクトが格納される。
実行部42は、記憶部22に格納された複数のパックドオブジェクトのうちの最大サイズのパックドオブジェクト以外のパックドオブジェクトに対してダミーデータを付加することにより複数のパックドオブジェクトのサイズを同一サイズにする処理(以下、「ダミーデータ付加処理」という)を実行する。ダミーデータの例としては、0でパディングされたデータ、又は1でパディングされたデータ等が挙げられる。また、ダミーデータは、0と1とが交互に繰り返されるデータ等の特定の規則によって0と1とが並べられたビット列で表されるデータでもよい。
本実施形態では、一例として図6に示すように、実行部42は、3つのパックドオブジェクトを1つの組としてダミーデータ付加処理を実行する。なお、実行部42は、2つのパックドオブジェクトを1つの組としてもよいし、4つ以上のパックドオブジェクトを1つの組としてもよい。図6における「ダミー」はダミーデータを表す。また、図6では、各矩形の横の長さが、その矩形のデータサイズを表している。すなわち、図6の例では、3つのパックドオブジェクトのうち、「パックドオブジェクト2」が最大サイズのパックドオブジェクトである。
第2生成部44は、実行部42によりダミーデータが付加された複数のパックドオブジェクトに基づいてパリティデータを生成する。本実施形態では、一例として図7に示すように、第2生成部44は、実行部42によるダミーデータ付加処理の実行後の3つのパックドオブジェクトから、3つのパックドオブジェクトと同一サイズのパリティデータを生成する。ダミーデータ付加処理の実行後のパックドオブジェクトとは、最大サイズのパックドオブジェクトは、パックドオブジェクトそのものを意味し、最大サイズのパックドオブジェクト以外のパックドオブジェクトは、ダミーデータが付加されたパックドオブジェクトを意味する。本実施形態に係るパリティデータは、3つのパックドオブジェクトのうちの1つのパックドオブジェクトが失われても、その1つのパックドオブジェクトを残りの2つのパックドオブジェクトとパリティデータとから復旧可能な冗長符号である。図7においても、各矩形の横の長さが、その矩形のデータサイズを表している。
一例として図8に示すように、第2生成部44により、複数組の3つのパックドオブジェクトそれぞれに対してパリティデータが生成される。すなわち、3つのパックドオブジェクトとパリティデータとの組み合わせが複数存在する。図8における「ダミー」はダミーデータを表す。また、図8における「パックドオブジェクト」、「パリティデータ」、及び「ダミー」の次の1文字のアルファベットは、3つのパックドオブジェクトとパリティデータとの組み合わせを識別するためのものである。また、図8における「パックドオブジェクト」及び「ダミー」の1文字のアルファベットの次の数字は、その組み合わせの中におけるパックドオブジェクト及びダミーデータを識別するためのものである。図8における表記のルールは、後述する図9、10、12でも同様である。
一例として図9に示すように、選択部46は、同じ組の3つのパックドオブジェクトの各々及びパリティデータの記録先として異なる磁気テープTを選択する。更に、選択部46は、複数(本実施形態では、4本)の磁気テープTそれぞれに記録されるパリティデータのサイズの差が最小となるように、3つのパックドオブジェクト及びパリティデータの記録先の磁気テープTを複数の磁気テープTの中から選択する。具体的には、一例として図10に示すように、選択部46は、複数の磁気テープTそれぞれに記録されるパリティデータの合計サイズの差が最小となるように、各パリティデータの記録先の磁気テープTを選択する。図10における「PO」はパックドオブジェクトを表し、「パリティ」はパリティデータを表す。
例えば、選択部46は、以下の(1)、(2)等の制約条件と(3)等の目的関数とに基づいて組み合わせ最適化問題を求解することによって、各パックドオブジェクト及び各パリティデータの記録先の磁気テープTを選択することができる。
(1)各組において、各パックドオブジェクト及びパリティデータは異なる磁気テープTに記録される。
(2)各パックドオブジェクト及び各パリティデータは、1回ずつ磁気テープTに記録される。
(3)各磁気テープTに記録されるパリティデータの合計サイズの差を最小化する。
このように、同じ組の3つのパックドオブジェクトの各々及びパリティデータの記録先が異なる磁気テープTとされることによって、4本の磁気テープTのうちの1本の磁気テープTが欠損しても、パックドオブジェクトを復旧することができる。
制御部48は、複数組の3つのパックドオブジェクト及びパリティデータのそれぞれを、選択部46により選択された磁気テープTに記録する制御を行う。なお、1つの組のパックドオブジェクトの数とパリティデータの数の合計値を、一度に使用可能なテープドライブ18の数以下にすることによって、上記制御を並列に行うことができる。
本実施形態では、制御部48は、上記制御を行う場合、パックドオブジェクト及びそのパックドオブジェクトに付加されたダミーデータのうち、パックドオブジェクトのみを記録する制御を行う。これにより、磁気テープTにダミーデータが記録されることによる磁気テープTの実効容量の低下を抑制することができる。
この場合で、かつ3つのパックドオブジェクトのうちの1つが失われた場合、パリティデータのサイズに一致するように、残りの2つのパックドオブジェクトにダミーデータを付加する。これにより、ダミーデータが付加された2つのパックドオブジェクト及びパリティデータから失われた1つのパックドオブジェクトを復旧することができる。
本実施形態では、制御部48は、上記制御を行う場合、ダミーデータも磁気テープTに記録する制御を行ってもよい。この場合、上記のパックドオブジェクトの復旧時のダミーデータの付加処理は不要となる。
次に、図11を参照して、本実施形態に係る情報処理装置12の作用を説明する。CPU20が情報処理プログラム30を実行することによって、図11に示すデータ記録処理が実行される。図11に示すデータ記録処理は、例えば、記憶部22に、複数組の3つのパックドオブジェクトが生成可能なオブジェクト群が記憶部22に格納された場合等に実行される。
図11のステップS10で、第1生成部40は、パッキングルールに従って、記憶部22に格納された複数のオブジェクトをまとめたパックドオブジェクトを生成し、生成したパックドオブジェクトを記憶部22に格納する。ステップS12で、実行部42は、前述したように、ステップS10で記憶部22に格納された複数のパックドオブジェクトに対して、ダミーデータ付加処理を実行する。
ステップS14で、第2生成部44は、前述したように、ステップS12でダミーデータが付加された複数のパックドオブジェクトに基づいてパリティデータを生成する。ステップS16で、選択部46は、前述したように、同じ組の3つのパックドオブジェクトの各々及びパリティデータの記録先として異なる磁気テープTを選択する。更に、選択部46は、前述したように、複数の磁気テープTそれぞれに記録されるパリティデータのサイズの差が最小となるように、3つのパックドオブジェクト及びパリティデータの記録先の磁気テープを複数の磁気テープTの中から選択する。
ステップS18で、制御部48は、前述したように、複数組の3つのパックドオブジェクト及びパリティデータのそれぞれを、ステップS16で選択された磁気テープTに記録する制御を行う。ステップS18の処理が終了すると、データ記録処理が終了する。
パックドオブジェクトに含まれるデータは、例えば、テキストデータ等の比較的圧縮率が高いデータが含まれる場合がある。ここでいう圧縮率とは、以下の(1)式で表されるものであり、数字が大きいほどより圧縮されていることを表す。
圧縮率=((圧縮前のデータサイズ-圧縮後のデータサイズ)÷圧縮前のデータサイズ)×100・・・(1)
これに対し、パリティデータは、圧縮率が比較的低くなる。すなわち、磁気テープT上の全データのサイズに対してパリティデータのサイズの割合が比較的高くなる。本実施形態では、複数の磁気テープTそれぞれに記録されるパリティデータのサイズの差が最小となるようにしている。従って、複数のデータとその複数のデータから生成されるパリティデータとを複数の磁気テープTに記録する際の複数の磁気テープTそれぞれでのデータの記録の所要時間の差を小さくすることができる。
なお、上記実施形態では、選択部46は、複数の磁気テープTそれぞれに記録されるパリティデータのサイズの差が最小となるように、複数のパックドオブジェクト及びパリティデータの記録先の磁気テープTを複数の磁気テープTの中から選択する場合について説明したが、これに限定されない。選択部46は、複数の磁気テープTそれぞれに記録されるダミーデータのサイズの差が最小となるように、複数のパックドオブジェクト及びパリティデータの記録先の磁気テープTを複数の磁気テープTの中から選択してもよい。
具体的には、選択部46は、同じ組の3つのパックドオブジェクトの各々及びパリティデータの記録先として異なる磁気テープTを選択する。更に、一例として図12に示すように、選択部46は、複数の磁気テープTそれぞれに記録されるダミーデータの合計サイズの差が最小となるように、3つのパックドオブジェクト及びパリティデータの記録先の磁気テープTを複数の磁気テープTの中から選択する。図12における「PO」はパックドオブジェクトを表し、「パリティ」はパリティデータを表し、「d」はダミーデータを表す。この場合も、上記実施形態と同様に、組み合わせ最適化問題を求解することによって、データの記録先の磁気テープTを求めることができる。
この形態例では、制御部48は、複数組の3つのパックドオブジェクト及びパリティデータのそれぞれを、選択部46により選択された磁気テープTに記録する制御を行う場合、パックドオブジェクトに付加されたダミーデータも磁気テープTに記録する制御を行う。この形態例では、ダミーデータも磁気テープTに記録されるため、各組においてダミーデータを含む各パックドオブジェクトとパリティデータのサイズとは同一サイズである。従って、各組において各パックドオブジェクト及びパリティデータを異なる磁気テープTに記録すれば、各磁気テープTに記録される全データの合計サイズは等しくなる。但し、ダミーデータは0でパディングしたデータ等の圧縮率が比較的高いデータである。すなわち、各磁気テープTに記録される全データの合計サイズが等しくても、全データの合計サイズに占めるダミーデータの割合が高いほど、磁気テープT上でのサイズ(すなわち、磁気テープT上でのデータが記録される部分の長さ)は小さくなり、磁気テープTへのデータの記録の所要時間は短くなる。この形態例では、複数の磁気テープTそれぞれに記録されるダミーデータのサイズの差が最小となるようにしている。従って、複数のデータとその複数のデータから生成されるパリティデータとを複数の磁気テープTに記録する際の複数の磁気テープTそれぞれでのデータの記録の所要時間の差を小さくすることができる。
また、この形態例と上記実施形態とを組み合わせてもよい。この場合、選択部46は、複数の磁気テープTそれぞれに記録されるパリティデータのサイズの差が最小となり、かつダミーデータのサイズの差が最小となるように、複数のパックドオブジェクト及びパリティデータの記録先の磁気テープTを複数の磁気テープTの中から選択する。
また、上記実施形態では、開示の技術をオブジェクトストレージシステムに適用した場合について説明したが、これに限定されない。開示の技術を、データをファイル単位で取り扱うファイルストレージシステムに適用する形態としてもよい。
また、上記実施形態において、例えば、第1生成部40、実行部42、第2生成部44、選択部46、及び制御部48といった各種の処理を実行する処理部(processing unit)のハードウェア的な構造としては、次に示す各種のプロセッサ(processor)を用いることができる。上記各種のプロセッサには、前述したように、ソフトウェア(プログラム)を実行して各種の処理部として機能する汎用的なプロセッサであるCPUに加えて、FPGA(Field Programmable Gate Array)等の製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が含まれる。
1つの処理部は、これらの各種のプロセッサのうちの1つで構成されてもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGAの組み合わせや、CPUとFPGAとの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。
複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアント及びサーバ等のコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組み合わせで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System on Chip:SoC)等に代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサの1つ以上を用いて構成される。
更に、これらの各種のプロセッサのハードウェア的な構造としては、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)を用いることができる。
また、上記実施形態では、情報処理プログラム30が記憶部22に予め記憶(インストール)されている態様を説明したが、これに限定されない。情報処理プログラム30は、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、情報処理プログラム30は、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
10 情報処理システム
12 情報処理装置
14 テープライブラリ
18 テープドライブ
20 CPU
21 メモリ
22 記憶部
23 ディスプレイ
24 入力装置
25 ネットワークI/F
26 外部I/F
27 バス
30 情報処理プログラム
40 第1生成部
42 実行部
44 第2生成部
46 選択部
48 制御部
T 磁気テープ

Claims (9)

  1. 少なくとも一つのプロセッサを備え、かつ複数のデータを複数の磁気テープに記録する制御を行う情報処理装置であって、
    前記プロセッサは、
    前記複数のデータのうちの最大サイズのデータ以外のデータに対してダミーデータを付加することにより前記複数のデータのサイズを同一サイズにする処理を実行し、
    前記ダミーデータが付加された前記複数のデータに基づいてパリティデータを生成し、
    前記複数の磁気テープそれぞれに記録される前記ダミーデータ及び前記パリティデータの少なくとも一方のサイズの差が最小となるように、前記複数のデータ及び前記パリティデータの記録先の磁気テープを前記複数の磁気テープの中から選択する
    情報処理装置。
  2. 前記プロセッサは、
    前記複数の磁気テープそれぞれに記録される前記パリティデータのサイズの差が最小となるように、前記複数のデータ及び前記パリティデータの記録先の磁気テープを前記複数の磁気テープの中から選択する
    請求項1に記載の情報処理装置。
  3. 前記複数のデータと前記パリティデータとの組み合わせが複数存在し、
    前記プロセッサは、
    同じ組の前記複数のデータの各々及び前記パリティデータの記録先として異なる前記磁気テープを選択し、かつ前記複数の磁気テープそれぞれに記録される前記パリティデータの合計サイズの差が最小となるように、各パリティデータの記録先の磁気テープを選択する
    請求項2に記載の情報処理装置。
  4. 前記プロセッサは、
    選択した磁気テープに前記データを記録する制御を行う場合、前記データ及びそのデータに付加された前記ダミーデータのうち、前記データのみを記録する制御を行う
    請求項1から請求項3の何れか1項に記載の情報処理装置。
  5. 前記プロセッサは、
    前記複数の磁気テープそれぞれに記録される前記ダミーデータのサイズの差が最小となるように、前記複数のデータ及び前記パリティデータの記録先の磁気テープを前記複数の磁気テープの中から選択する
    請求項1から請求項3の何れか1項に記載の情報処理装置。
  6. 前記複数のデータと前記パリティデータとの組み合わせが複数存在し、
    前記プロセッサは、
    同じ組の前記複数のデータの各々及び前記パリティデータの記録先として異なる前記磁気テープを選択し、かつ前記複数の磁気テープにそれぞれに記録される前記ダミーデータの合計サイズの差が最小となるように、前記複数のデータ及び前記パリティデータの記録先の磁気テープを前記複数の磁気テープの中から選択する
    請求項5に記載の情報処理装置。
  7. 前記磁気テープへの記録対象の前記データは、データとそのデータに関するメタデータとを含む複数のオブジェクトがまとめられたパックドオブジェクトである
    請求項1から請求項6の何れか1項に記載の情報処理装置。
  8. 少なくとも一つのプロセッサを備え、かつ複数のデータを複数の磁気テープに記録する制御を行う情報処理装置の前記プロセッサが実行する情報処理方法であって、
    前記複数のデータのうちの最大サイズのデータ以外のデータに対してダミーデータを付加することにより前記複数のデータのサイズを同一サイズにする処理を実行し、
    前記ダミーデータが付加された前記複数のデータに基づいてパリティデータを生成し、
    前記複数の磁気テープそれぞれに記録される前記ダミーデータ及び前記パリティデータの少なくとも一方のサイズの差が最小となるように、前記複数のデータ及び前記パリティデータの記録先の磁気テープを前記複数の磁気テープの中から選択する
    情報処理方法。
  9. 少なくとも一つのプロセッサを備え、かつ複数のデータを複数の磁気テープに記録する制御を行う情報処理装置の前記プロセッサに実行させるための情報処理プログラムであって、
    前記複数のデータのうちの最大サイズのデータ以外のデータに対してダミーデータを付加することにより前記複数のデータのサイズを同一サイズにする処理を実行し、
    前記ダミーデータが付加された前記複数のデータに基づいてパリティデータを生成し、
    前記複数の磁気テープそれぞれに記録される前記ダミーデータ及び前記パリティデータの少なくとも一方のサイズの差が最小となるように、前記複数のデータ及び前記パリティデータの記録先の磁気テープを前記複数の磁気テープの中から選択する
    情報処理プログラム。
JP2022027166A 2022-02-24 2022-02-24 情報処理装置、情報処理方法、及び情報処理プログラム Pending JP2023123220A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022027166A JP2023123220A (ja) 2022-02-24 2022-02-24 情報処理装置、情報処理方法、及び情報処理プログラム
US18/167,048 US20230266886A1 (en) 2022-02-24 2023-02-09 Information processing apparatus, information processing method, and information processing program
EP23157510.1A EP4235666A1 (en) 2022-02-24 2023-02-20 Information processing apparatus, information processing method, and information processing program
CN202310135304.8A CN116643910A (zh) 2022-02-24 2023-02-20 信息处理装置、信息处理方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022027166A JP2023123220A (ja) 2022-02-24 2022-02-24 情報処理装置、情報処理方法、及び情報処理プログラム

Publications (1)

Publication Number Publication Date
JP2023123220A true JP2023123220A (ja) 2023-09-05

Family

ID=85321121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022027166A Pending JP2023123220A (ja) 2022-02-24 2022-02-24 情報処理装置、情報処理方法、及び情報処理プログラム

Country Status (4)

Country Link
US (1) US20230266886A1 (ja)
EP (1) EP4235666A1 (ja)
JP (1) JP2023123220A (ja)
CN (1) CN116643910A (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532548B1 (en) * 1999-09-21 2003-03-11 Storage Technology Corporation System and method for handling temporary errors on a redundant array of independent tapes (RAIT)
JP5942512B2 (ja) * 2012-03-19 2016-06-29 富士通株式会社 ストレージ制御装置およびストレージシステム
JP6073717B2 (ja) * 2013-03-18 2017-02-01 富士通株式会社 ストレージ制御装置及びストレージシステム
JP6225731B2 (ja) * 2014-01-31 2017-11-08 富士通株式会社 ストレージ制御装置、ストレージシステムおよびストレージ制御方法
JP7512597B2 (ja) 2020-01-27 2024-07-09 富士通株式会社 ストレージシステム,管理装置およびデータ管理プログラム

Also Published As

Publication number Publication date
CN116643910A (zh) 2023-08-25
EP4235666A1 (en) 2023-08-30
US20230266886A1 (en) 2023-08-24

Similar Documents

Publication Publication Date Title
WO2021171814A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2021171683A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2023123220A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2021181739A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP7167192B2 (ja) 記録装置、記録方法、記録プログラム、及び磁気テープ
WO2022172548A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2023108955A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2024035507A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2022168399A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2020066389A1 (ja) 記録装置、読取装置、記録方法、記録プログラム、読取方法、読取プログラム、及び磁気テープ
US20240094935A1 (en) Information processing apparatus, information processing method, and information processing program
JP2024037470A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2022185650A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2022172549A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2022049831A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP2024044866A (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2022176345A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2022163078A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2021171815A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2022044434A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2022176344A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2021171816A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2022168404A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2022044435A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2022049832A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム