JP2007128275A - Automatic endian conversion reading method, writing method and copying method for data in storage - Google Patents
Automatic endian conversion reading method, writing method and copying method for data in storage Download PDFInfo
- Publication number
- JP2007128275A JP2007128275A JP2005320311A JP2005320311A JP2007128275A JP 2007128275 A JP2007128275 A JP 2007128275A JP 2005320311 A JP2005320311 A JP 2005320311A JP 2005320311 A JP2005320311 A JP 2005320311A JP 2007128275 A JP2007128275 A JP 2007128275A
- Authority
- JP
- Japan
- Prior art keywords
- data
- endian
- storage
- endian conversion
- writing
- 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
Links
Images
Abstract
Description
本発明は、データのエンディアン変換に関する。 The present invention relates to endian conversion of data.
従来のデータのエンディアン依存部分を吸収する手段としては、計算機側のドライバ層にて解決するものがある(特開平9−212444号公報)。 As a conventional means for absorbing the endian-dependent portion of the data, there is one that can be solved by a driver layer on the computer side (Japanese Patent Laid-Open No. 9-212444).
従来技術の課題は、計算機側で変換処理を行うため、処理量に応じて、計算機処理のオーバヘッドが発生することである。また、多くの計算機からデータを共有する場合には、プラットフォームごとにドライバの開発や設定など、管理性にも問題がある。本発明の目的は、ストレージ装置において、データのプラットフォーム固有のエンディアンに依存する部分を適切に変換し、ひとつのデータを複数の異なるサーバ間で透過的に共有する手段を提供することである。 The problem with the prior art is that computer processing is performed on the computer side, so that computer processing overhead occurs depending on the amount of processing. In addition, when data is shared from many computers, there is a problem in manageability such as driver development and setting for each platform. An object of the present invention is to provide means for appropriately converting a platform-specific endian of data in a storage apparatus and transparently sharing one data among a plurality of different servers.
上記課題を解決するために、アクセス要求元サーバとアクセス要求先データのエンディアンの違いを自動的に判断する手段、ストレージ側にてデータのエンディアン依存部分を自動的に変換する手段、異なるエンディアンごとのデータを複数領域に管理し、エンディアン変換処理無しに適切なデータをサーバが読み込めるための手段、データのエンディアン依存部分を変換したデータの複製を作成する手段を備える。 In order to solve the above problems, means for automatically determining the endian difference between the access request source server and the access request destination data, means for automatically converting the endian dependent part of the data on the storage side, and for each endian Means for managing data in a plurality of areas, allowing the server to read appropriate data without endian conversion processing, and means for creating a copy of the data obtained by converting the endian-dependent portion of the data.
ストレージ側にてデータを変換するため、計算機側の処理能力を必要としない。また、エンディアンごとに複数のデータ領域を管理し、適切なエンディアンに対応したデータが格納されている領域からデータ読みこむことで、データ読み込み時の処理を高速化する。さらに、多くの計算機からデータを共有する場合にも、計算機側の設定は必要とせず、ストレージ側での一元的な設定・運用管理を実現する。 Since data is converted on the storage side, the processing capacity on the computer side is not required. In addition, a plurality of data areas are managed for each endian, and data is read from an area in which data corresponding to an appropriate endian is stored, thereby speeding up processing at the time of data reading. Furthermore, when data is shared from many computers, setting on the computer side is not required, and unified setting / operation management on the storage side is realized.
また、ストレージ筐体内においてLUの複製をする際、複製元LUのデータのエンディアン依存部分を変換したデータを複製先LUに格納することで、システム統合化における、異プラットフォーム間のデータの移行なども効率的に実現できる。 In addition, when replicating LUs in a storage chassis, data that is converted from the endian-dependent part of the source LU data is stored in the destination LU, so that data can be transferred between different platforms in system integration. Can be realized efficiently.
本発明により、データのプラットフォーム固有のエンディアンに依存する部分を意識すること無く、ひとつのデータを複数の異なるサーバ間で透過的かつ効率的に共有することが可能になる。 According to the present invention, one data can be shared transparently and efficiently between a plurality of different servers without being aware of the portion of the data that depends on the endian specific to the platform.
本発明の実施の形態を、図面を用いて詳細に説明する。 Embodiments of the present invention will be described in detail with reference to the drawings.
図1はシステム構成図である。100,102,104はストレージに対してI/Oを要求するホストコンピュータである。101,103,105はストレージを含むネットワークと接続するホスト側のインターフェースであり、ホストバスアダプタ(HBA)やLANアダプタである。106はストレージシステムである。110はストレージ側のネットワークインターフェースであり、Storage Area Network(SAN)の場合はチャネルアダプタ、Network Attached Storage(NAS)の場合はLANアダプタとなる。107,108,109はコンピュータとファイバチャネル(FC)ケーブルなどで接続をするためのポートであり、チャネルアダプタに複数存在する。111はエンディアン変換プログラムでありチャネルアダプタのファームウェアとして実行される。112はエンディアン変換プログラムが参照する設定情報表である。111,112はチャネルアダプタのメモリ上にある。113はストレージシステムのコントローラである。114はエンディアン変換機能付き筐体内ミラープログラムである。115,116,117,118,119は実際にデータが格納されるLU(論理ボリューム)である。122は管理コンソールであり設定情報表を更新することができる。120,121はそれぞれストレージ側、管理コンソール側のコンソールI/F(インターフェース)である。
FIG. 1 is a system configuration diagram.
図2はエンディアン変換プログラム111の構成を示している。I/O要求受送信部201はホストコンピュータからのI/O要求をポート経由で受け付けたり、I/Oデータブロックの転送を行う部分である。エンディアン変換処理部203はI/O要求受送信部やディスクI/O処理部から受け取ったデータのエンディアン依存部分を変換処理する部分である。設定情報管理部205は、管理コンソール122からの要求を受け付け、設定管理情報表112の変更を行う部分である。ディスクI/O処理部204は実際にLUにデータI/Oの要求をする部分である。制御部202はI/O要求受送信部、エンディアン変換処理部、ディスクI/O処理部および設定情報管理部を制御する。206はLU115とLU116からなるLUペアを示している。
FIG. 2 shows the configuration of the
図3はエンディアン変換機能付き筐体内ミラープログラム114の構成を示している。エンディアン変換処理部302はディスクI/O処理部から受け取ったデータのエンディアン依存部分を変換処理する部分である。ディスクI/O処理部303はLUにデータI/Oの要求をする部分である。制御部301はエンディアン変換処理部、ディスクI/O処理部を制御する。
FIG. 3 shows the configuration of the in-
図4はエンディアン変換プログラムの動作概念図を示したものである。ビッグエンディアンのコンピュータ100から発行されたI/OデータはそのままLU115に書き込まれる。リトルエンディアンのコンピュータ102がそのデータの読み込みを要求すると、エンディアン変換プログラムがデータのエンディアン依存部分を自動変換し、コンピュータ102が適切に読み取れるデータとして渡す。
FIG. 4 is a conceptual diagram showing the operation of the endian conversion program. The I / O data issued from the big
図5はLUペア機能を使用した場合のエンディアン変換プログラムの動作概念を示したものである。ビッグエンディアンのコンピュータ100から発行されたI/OデータはそのままLUペア206に含まれるビッグエンディアン用LU1にはそのまま書き込まれ、LUペアに含まれるリトルエンディアン用のLU2へエンディアン変換プログラム111にてデータのエンディアン依存部分が変換されたデータが書き込まれる。リトルエンディアンのコンピュータ102からデータの読み込み要求があった場合は、LUペアに含まれるリトルエンディアン用LU2にアクセスし、エンディアン変換処理を経ず、そのままデータを渡す。
FIG. 5 shows an operation concept of the endian conversion program when the LU pair function is used. The I / O data issued from the big
図6はエンディアン変換機能付き筐体内ミラープログラムの動作概念図である。LU1からデータを読み込み、データのエンディアン依存部分をエンディアン変換機能付き筐体内ミラープログラム114にて変換したデータを複製先LU2へ書き込む。
FIG. 6 is a conceptual diagram of the operation of the in-casing mirror program with endian conversion function. Reads data from LU1, and writes the data that has been converted by the in-
図7は設定情報表の詳細を示してある。設定表1はポートとそのポートに接続されているコンピュータのプラットフォーム情報とエンディアン情報の対応情報が格納されている。設定表2はLUごとにレコードを持つ。ポート番号はLUがそのポートに接続されているコンピュータのエンディアンに元づいたデータを格納していることを示す。ペアLU番号はそのLUのペアとなるLU番号を示す。オプション1、オプション2、オプション3は、データをエンディアン変換する際に必要な情報を格納する。例えば、データベース用のデータをエンディアン変換するプログラムであれば、データブロックサイズやデータタイプ(ユーザデータ、ログデータ)などが格納される。
FIG. 7 shows details of the setting information table. The setting table 1 stores correspondence information between platform information and endian information of a port and a computer connected to the port. The setting table 2 has a record for each LU. The port number indicates that the LU stores data based on the endian of the computer connected to the port. The pair LU number indicates the LU number that is a pair of the LU.
図8および図9は書き込み時のエンディアン変換処理のフローチャートを示したものである。ストレージに対する書き込み要求が発生した場合、I/O要求送受信部はポートを通してI/Oブロック要求を受信する(ステップ801)。設定情報管理部は設定表2から、I/O要求先LU番号に対応する行を参照し、ポート番号列の値がI/O要求元ポート番号と一致するか確認する(ステップ802)。一致している場合はステップ805へ一致していない場合はステップ804へ処理を進める(ステップ803)。設定情報管理部は設定表1から、異なるポート番号それぞれに対応するエンディアン情報を参照し、エンディアン変換が必要かどうかを判断する。エンディアン情報が一致しない場合は変換が必要と判断し、一致する場合は変換が必要と判断する(ステップ804)。設定情報管理部は設定表2から、I/O要求先LU番号に対応する行を参照し、ペアLU番号に値が入っているかを確認する(ステップ805)。ペアLU番号の値が存在しない場合はステップ901へ、存在する場合はステップ902へ処理を進める(ステップ806)。ステップ804でエンディアン変換処理が必要と判断されなかった場合はステップ903へ、必要と判断された場合はステップ905へ処理を進める(ステップ901)。データI/O処理部は、書き込み要求先LUに対して、そのままのデータを書き込む(ステップ903)。エンディアン変換処理部は、設定表2のオプション情報を参照し、書き込みI/Oデータのエンディアン変換を行う。たとえば、データベース用データのエンディアン変換を行うプログラムであれば、オプションデータとして、データブロックサイズやデータタイプ(ユーザデータ、ログデータ) などがあった場合、指定したデータブロックサイズ単位でデータベースタイプごとのデータ格納フォーマット(1バイト目から16バイト、32バイト目から8バイトなど)に従ってデータを変換する(ステップ905)。データI/O処理部は、書き込み要求先LUに対して、エンディアン変換されたデータを書き込む(ステップ906)。ステップ804でエンディアン変換処理が必要と判断されなかった場合はステップ904へ、必要と判断された場合はステップ909へ処理を進める(ステップ902)。データI/O処理部は、書き込み要求先LUに対して、そのままのデータを書き込む(ステップ904)。エンディアン変換処理部は、設定表2のオプション情報を参照し、書き込みI/Oデータの変換を行う(ステップ907)。データI/O処理部は、ペアLUに対して、エンディアン変換されたデータを書き込む(ステップ908)。データI/O処理部は、ペアLUに対して、そのままのデータを書き込む(ステップ909)。エンディアン変換処理部は、設定表2のオプション情報を参照し、書き込みI/Oデータのエンディアン変換を行う(ステップ910)。データI/O処理部は、書き込み要求先LUに対して、エンディアン変換されたデータを書き込む(ステップ911)。
8 and 9 show a flowchart of the endian conversion process at the time of writing. When a write request to the storage is generated, the I / O request transmission / reception unit receives the I / O block request through the port (step 801). The setting information management unit refers to the row corresponding to the I / O request destination LU number from the setting table 2 and checks whether the value in the port number column matches the I / O request source port number (step 802). If they match, the process proceeds to
図10および図11は読み込み時のエンディアン変換処理のフローチャートを示したものである。ストレージに対する読み込み要求が発生した場合、I/O要求受送信部はポートを通してI/Oブロック要求を受信する(ステップ1001)。設定情報管理部は設定表2から、I/O要求先LU番号に対応する行を参照し、ポート番号列の値がI/O要求元ポート番号と一致するか確認する(ステップ1002)。一致している場合はステップ1005へ一致していない場合はステップ1004へ処理を進める(ステップ1003)。設定情報管理部は設定表1から、異なるポート番号それぞれに対応するエンディアン情報を参照し、エンディアン変換が必要かどうかを判断する。エンディアン情報が一致しない場合は変換が必要と判断し、一致する場合は変換が必要と判断する(ステップ1004)。設定情報管理部は設定表2から、I/O要求先LU番号に対応する行を参照し、ペアLU番号に値が入っているかを確認する(ステップ1005)。ペアLU番号の値が存在しない場合はステップ1101へ、存在する場合はステップ1106へ処理を進める(ステップ1006)。データI/O処理部は、読み込み要求先LUからデータを読み込む(ステップ1101)。ステップ1004でエンディアン変換処理が必要と判断されなかった場合はステップ1103へ、必要と判断された場合はステップ1104へ処理を進める(ステップ1102)。I/O要求受送信部は、データを、要求のあったポートに対し送信する(ステップ1103)。エンディアン変換処理部は、設定表2のオプション情報を参照し、読み込みI/Oデータの変換を行う。たとえば、データベース用データのエンディアン変換を行うプログラムであれば、オプションデータとして、データブロックサイズやデータタイプ(ユーザデータ、ログデータ)などがあった場合、指定したデータブロックサイズ単位でデータベースタイプごとのデータ格納フォーマット(1バイト目から16バイト、32バイト目から8バイトなど)に従ってデータを変換する(ステップ1104)。I/O要求受送信部は、エンディアン変換されたデータを、要求のあったポートに対し送信する(ステップ1105)。ステップ1004でエンディアン変換処理が必要と判断されなかった場合はステップ1107へ、必要と判断された場合はステップ1108へ処理を進める(ステップ1106)。データI/O処理部は、読み込み要求先LUからデータを読み込む(ステップ1107)。データI/O処理部は、読み込み要求先LUに対応するペアLUからデータを読み込む(ステップ1108)。 10 and 11 show flowcharts of endian conversion processing at the time of reading. When a read request to the storage is generated, the I / O request receiving / transmitting unit receives the I / O block request through the port (step 1001). The setting information management unit refers to the row corresponding to the I / O request destination LU number from the setting table 2 and checks whether the value in the port number column matches the I / O request source port number (step 1002). If they match, the process proceeds to step 1004 if they do not match (step 1003). The setting information management unit refers to the endian information corresponding to each different port number from the setting table 1 and determines whether or not endian conversion is necessary. If the endian information does not match, it is determined that conversion is necessary, and if they match, it is determined that conversion is necessary (step 1004). The setting information management unit refers to the row corresponding to the I / O request destination LU number from the setting table 2 and confirms whether the pair LU number has a value (step 1005). If the pair LU number value does not exist, the process proceeds to step 1101, and if it exists, the process proceeds to step 1106 (step 1006). The data I / O processing unit reads data from the read request destination LU (step 1101). If it is determined in step 1004 that the endian conversion process is not necessary, the process proceeds to step 1103. If it is determined to be necessary, the process proceeds to step 1104 (step 1102). The I / O request reception / transmission unit transmits data to the requested port (step 1103). The endian conversion processor converts the read I / O data by referring to the option information in setting table 2. For example, in a program that performs endian conversion of database data, if there is a data block size or data type (user data, log data) as optional data, the data for each database type in the specified data block size unit Data is converted according to the storage format (from the first byte to 16 bytes, from the 32nd byte to 8 bytes, etc.) (step 1104). The I / O request receiving / transmitting unit transmits the endian converted data to the requested port (step 1105). If it is determined in step 1004 that the endian conversion process is not necessary, the process proceeds to step 1107. If it is determined to be necessary, the process proceeds to step 1108 (step 1106). The data I / O processing unit reads data from the read request destination LU (step 1107). The data I / O processing unit reads data from the pair LU corresponding to the read request destination LU (step 1108).
図12はエンディアン変換機能付き筐体内ミラープログラムのフローチャートを示したものである。管理コンソールから制御部に対しLUコピーの要求を出す。要求時に指定する情報としては、コピー元LU番号、コピー先LU番号、エンディアン変換実施の有無及びオプション情報である(ステップ1201)。ディスクI/O処理部はコピー元LUからデータを読み込む(ステップ1202)。ステップ1201でエンディアン変換処理を実施すると指定した場合はステップ1204へ、指定しなかった場合はステップ1205へ処理を進める(ステップ1203)。エンディアン変換処理部は読み込んだデータを変換する(ステップ1204)。ディスクI/O処理部はコピー先LUに対しデータを書き込む(ステップ1205)。すべてのデータをコピーして終了し、そうでない場合はステップ1202へ処理を進める(ステップ1206)。 FIG. 12 shows a flowchart of the in-casing mirror program with endian conversion function. An LU copy request is issued from the management console to the control unit. Information specified at the time of request includes a copy source LU number, a copy destination LU number, presence / absence of endian conversion, and option information (step 1201). The disk I / O processor reads data from the copy source LU (step 1202). If it is specified in step 1201 that the endian conversion process is to be performed, the process proceeds to step 1204. Otherwise, the process proceeds to step 1205 (step 1203). The endian conversion processing unit converts the read data (step 1204). The disk I / O processing unit writes data to the copy destination LU (step 1205). When all data is copied and the process ends, the process proceeds to step 1202 if not (step 1206).
実施例及びその効果としては以下が挙げられる。
・アプリケーションデータを複数の異なるプラットフォームのサーバ間で共有することができ、分散されたデータを集約することが容易となる。
・複数のエンディアンに対応したデータを複数領域に管理し、適切な領域からデータを読み込むことで、エンディアン変換処理のオーバヘッドを無くし、処理を高速化できる。
・複数の異なるプラットフォームのサーバ間でアプリケーションデータ共有が可能になることで、異プラットフォームのサーバ同士でのクラスタリングなどの実現可能性が見えてくる。それにより既存のサーバ資源を有効活用したシステム統合を推進することができる。
・エンディアン変換をしたデータ領域を複製することで、異なるプラットフォームへのデータ移行やバックアップ、遠隔地のディザスタリカバリへのデータ転送などを容易に実現することが可能となる。
Examples and effects thereof include the following.
Application data can be shared among servers of different platforms, and distributed data can be easily aggregated.
-By managing data corresponding to multiple endians in multiple areas and reading data from appropriate areas, the overhead of endian conversion processing can be eliminated and the processing speed can be increased.
-Application data can be shared among servers on different platforms, and the possibility of clustering between servers on different platforms becomes apparent. As a result, system integration utilizing existing server resources can be promoted.
-By copying the endian converted data area, it is possible to easily realize data migration and backup to different platforms, data transfer to remote disaster recovery, and so on.
100,102,104…コンピュータ、101,103,105…ホスト側I/F、106…ストレージシステム、107,108,109…ポート、110…チャネルアダプタ、111…エンディアン変換プログラム、112…設定情報表、113…コントローラ、114…エンディアン変換機能付き筐体内ミラープログラム、115,116,117,118,119…LU、120,121…コンソールI/F、122…管理用コンソール、201…I/O要求受送信部、202…制御部、203…エンディアン変換処理部、204…ディスクI/O処理部、205…設定情報管理部、206…LUペア、301…制御部、302…エンディアン変換処理部、303…ディスクI/O処理部、401…ビッグエンディアンプラットフォームから書き込まれたI/Oデータブロック、402…LU1から読み込まれたI/Oデータブロック、403…エンディアン変換されたI/Oデータブロック、501…ビッグエンディアンプラットフォームから書き込まれたI/Oデータブロック、502…ビッグエンディアンプラットフォームから書き込まれたI/Oデータブロック、503…エンディアン変換されたI/Oデータブロック、504…LU2から読み込まれたI/Oデータブロック、601…複製元LU1から読み込まれたI/Oデータブロック、602…エンディアン変換されたI/Oデータブロック、603…複製元LU、604…複製先LULU。
100,102,104 ... Computer, 101,103,105 ... Host side I / F, 106 ... Storage system, 107,108,109 ... Port, 110 ... Channel adapter, 111 ... Endian conversion program, 112 ... Setting information table, 113 ... Controller, 114 ... Within endian conversion function Mirror program, 115, 116, 117, 118, 119 ... LU, 120, 121 ... Console I / F, 122 ... Management console, 201 ... I / O request sending / receiving unit, 202 ... Control unit, 203 ... Endian conversion processing unit, 204 ... Disk I /
Claims (5)
A method for replicating data in storage, which reads data in the source LU, converts the endian-dependent part of the data into data for a different endian, and writes the data to the destination LU. Data endian conversion replication method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005320311A JP2007128275A (en) | 2005-11-04 | 2005-11-04 | Automatic endian conversion reading method, writing method and copying method for data in storage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005320311A JP2007128275A (en) | 2005-11-04 | 2005-11-04 | Automatic endian conversion reading method, writing method and copying method for data in storage |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007128275A true JP2007128275A (en) | 2007-05-24 |
Family
ID=38150886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005320311A Pending JP2007128275A (en) | 2005-11-04 | 2005-11-04 | Automatic endian conversion reading method, writing method and copying method for data in storage |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007128275A (en) |
-
2005
- 2005-11-04 JP JP2005320311A patent/JP2007128275A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9692823B2 (en) | Inter-protocol copy offload | |
JP5014784B2 (en) | Network-attached storage system, device, and method supporting multiple storage device types | |
JP4252301B2 (en) | Storage system and data backup method thereof | |
US6073209A (en) | Data storage controller providing multiple hosts with access to multiple storage subsystems | |
US6938136B2 (en) | Method, system, and program for performing an input/output operation with respect to a logical storage device | |
US8990153B2 (en) | Pull data replication model | |
US7409521B2 (en) | Method of managing storage capacity, server and recording medium therefor | |
JP2008004120A (en) | Direct access storage system | |
US7228399B2 (en) | Control method for storage device controller system, and storage device controller system | |
US8290911B1 (en) | System and method for implementing data deduplication-aware copying of data | |
US9141542B1 (en) | System, method and computer program product for host system LTFS auto-adaptation | |
JP2004507813A (en) | Method and apparatus for copying data from one storage system to another | |
US6105076A (en) | Method, system, and program for performing data transfer operations on user data | |
JP2003022246A5 (en) | ||
JP2006268534A (en) | Control technique for storage system | |
US6615327B1 (en) | Method and system for backing up data of data processing devices including fixed length block format data conversion to variable length block format | |
US10872036B1 (en) | Methods for facilitating efficient storage operations using host-managed solid-state disks and devices thereof | |
JP6967010B2 (en) | Duplication between heterogeneous storage systems | |
WO2023273803A1 (en) | Authentication method and apparatus, and storage system | |
US20090077309A1 (en) | Data transfer | |
US11481335B2 (en) | Methods for using extended physical region page lists to improve performance for solid-state drives and devices thereof | |
JP2005309648A (en) | File arrangement system | |
US11262952B2 (en) | Concurrent tape modification | |
JP2007128275A (en) | Automatic endian conversion reading method, writing method and copying method for data in storage | |
JP2009070359A (en) | Wide area communication network start system for improving start efficiency of hard disk-less type computer |