JP2010140127A - Data transfer processing apparatus and method - Google Patents

Data transfer processing apparatus and method Download PDF

Info

Publication number
JP2010140127A
JP2010140127A JP2008313917A JP2008313917A JP2010140127A JP 2010140127 A JP2010140127 A JP 2010140127A JP 2008313917 A JP2008313917 A JP 2008313917A JP 2008313917 A JP2008313917 A JP 2008313917A JP 2010140127 A JP2010140127 A JP 2010140127A
Authority
JP
Japan
Prior art keywords
data
transfer
unit
input
processing circuit
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
JP2008313917A
Other languages
Japanese (ja)
Other versions
JP5107880B2 (en
Inventor
Toshiaki Miyakoshi
Takashi Tamura
Takashi Todaka
利晋 宮越
貴司 戸▲高▼
崇 田村
Original Assignee
Hitachi Ltd
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, 株式会社日立製作所 filed Critical Hitachi Ltd
Priority to JP2008313917A priority Critical patent/JP5107880B2/en
Publication of JP2010140127A publication Critical patent/JP2010140127A/en
Application granted granted Critical
Publication of JP5107880B2 publication Critical patent/JP5107880B2/en
Application status is Expired - Fee Related legal-status Critical
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To prevent a logical scale from being increased in performing specific data processing by a hardware circuit in parallel with the data transfer of a non-aligned data unit. <P>SOLUTION: A data processing circuit and an aligner for the data processing circuit are installed at a position different from the transfer path of a data unit. The aligner for the data processing circuit is configured to align the address of the data unit input to the aligner so that non-transfer object data is prevented from being included in the leading section of the aligned data unit. The transferred data unit is input to the aligner for the data processing circuit in parallel with the data transfer, and the address of the data in the input data unit is aligned, and the aligned data unit is input to the data processing circuit by the input data width unit of the data processing circuit, and the aligned data unit input to the data processing circuit is processed. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、データの転送処理に関し、具体的には、例えば、サーバ等の情報処理装置に備えられるホストバスアダプタ(HBA)等の通信インタフェース装置におけるデータ転送処理に関する。 The present invention relates to a process of transferring data, specifically, for example, to a data transfer process in the communication interface device, such as a host bus adapter provided in the information processing apparatus such as a server (HBA).

サーバ等の情報処理装置には、例えば特許文献1に開示されているような、通信インタフェース装置が搭載される。 The information processing apparatus such as a server, for example as disclosed in Patent Document 1, a communication interface device is mounted. 情報処理装置は、通信インタフェース装置を介して、外部記憶装置等の外部の装置と通信する。 The information processing apparatus via the communication interface device, for communicating with an external device such as an external storage device.

特開2002−183072号公報 JP 2002-183072 JP

情報処理装置には、情報処理装置全体の性能向上の観点から、ダイレクトメモリアクセスコントローラ(DMAC)と呼ばれるデータ転送処理装置が備えられることがある。 The information processing apparatus, from the viewpoint of improving the performance of the entire information processing apparatus, there is the data transfer processing device called a direct memory access controller (DMAC) is provided. DMACでは、CPU(Central Processing Unit)に代わってデータ転送が行われる。 In DMAC, the data transfer is performed on behalf of the CPU (Central Processing Unit).

図10に、DMACの構成の一例を示す。 Figure 10 shows an example of the configuration of the DMAC.

DMAC10は、例えば、外部記憶装置(例えばディスクアレイ装置)20と通信するための通信インタフェース装置(例えばホストバスアダプタ(HBA))である。 DMAC10 is a communication interface device (e.g., host bus adapter (HBA)) for communicating with an external storage device (e.g. a disk array device) 20. DMAC10は、外部記憶装置20と通信し、且つ、CPU31及びメインメモリ22を含んだ情報処理資源と内部バス32を介して通信する。 DMAC10 communicates with an external storage device 20, and communicate via the CPU31 and data processing resources and the internal bus 32 including a main memory 22.

DMAC10は、例えば、下記構成要素(1)乃至(5)、 DMAC10, for example, the following components (1) to (5),
(1)外部記憶装置20から読み出されたデータブロックを一時的に記憶するための受信バッファ11; (1) received for temporarily storing the read data blocks from the external storage device 20 the buffer 11;
(2)受信バッファ11に格納されているデータブロックを所定の転送単位で情報処理資源(例えばメインメモリ22)に転送するDMA制御部21; (2) receive DMA controller 21 to transfer the information processing resources (e.g., main memory 22) the data blocks stored in the buffer 11 at a predetermined transfer units;
(3)外部記憶装置20に書き込まれるデータブロックを一時的に記憶するための送信バッファ12; (3) transmit buffer 12 for temporarily storing the data block to be written to the external storage device 20;
(4)情報処理資源(例えばメインメモリ22)に格納されているデータブロックを所定の転送単位で送信バッファ12に転送するDMA制御部22; (4) information processing resources (e.g., main memory 22) DMA controller 22 to transfer the data blocks stored in the transmission buffer 12 at a predetermined transfer units;
(5)DMAC10の動作を制御するマイクロプログラム制御部13; (5) the microprogram control unit 13 for controlling the operation of the DMAC 10;
を備える。 Equipped with a. 受信バッファ11及び送信バッファ12のうちの一方又は両方が、送受信の多重度をあげてデータ転送性能の向上を図る観点から、複数個備えられる。 One or both of the receive buffer 11 and the transmission buffer 12, by way of a multiplicity of transmission and reception in terms of improving data transfer performance, provided plural. マイクロプログラム制御部13は、CPUやローカルメモリ等を備えている。 Microprogram control unit 13 includes a CPU and a local memory. マイクロプログラム制御部13は、データ転送起動コマンドをDMA制御部21又は22に設定する。 Microprogram control unit 13 sets the data transfer start command to the DMA controller 21 or 22. これにより、DMA制御部21又は22が、その起動コマンドを解釈しデータ転送を行う。 Thus, DMA controller 21 or 22, transfers data to interpret the startup command. このため、マイクロプログラム制御部13は別の処理を行うことが可能となり、情報処理装置30全体の性能が向上する。 Therefore, the microprogram control unit 13 it is possible to perform the alternative processing, improved information processing apparatus 30 overall performance.

送受信バッファ11及び12は、外部記憶装置20とデータをやり取りするため、各種インタフェース規格ごとにデータ以外にも制御用の情報が付加されることになる。 Transmission and reception buffer 11 and 12, for exchanging the external storage device 20 and the data, information for controlling in addition the data according to the various interface standards is added. このため、送受信バッファ11及び12内のデータはアラインされているとは限らない。 Therefore, data transmission and reception buffer 11 and 12 are not necessarily be aligned.

また、データの転送先または転送元となる情報処理装置30内のメモリアドレスは、情報処理資源におけるアプリケーションプログラムによって指定される。 Further, the memory address in the information processing apparatus 30 serving as a data transfer destination or transfer source is designated by an application program in the information processing resources. このため、送受信バッファ11及び12と転送先または転送元となる情報処理資源内のメモリアドレスがずれて、アラインされない可能性がある。 Therefore, offset memory address in the information processing resources to be transmission and reception buffer 11 and 12 and the transfer destination or transfer source, it may not be aligned.

以上の理由から、アラインされない場合に対応したデータ転送を行う必要がある。 For the above reason, it is necessary to perform data transfer corresponding to the case where not aligned. そこで、図10のDMA制御部21(22)に示すように、データの転送経路上にアライナ14(15)が設けられ、転送元から転送先へのデータユニットがアライナ14(15)を経由する。 Therefore, as shown in the DMA control unit 21 of FIG. 10 (22), aligner 14 (15) is provided in the data transfer on the route, the data unit from the source to the destination is via the aligner 14 (15) . これにより、データユニットにおけるデータのアドレスが、転送先が指定するアドレスにアラインされて、アライン後のデータユニットが転送先へ転送されることになる。 Thus, the address of the data in the data unit, are aligned to the address destination is specified, the data unit after aligned is transferred to the transfer destination. 具体的には、例えば、図2に示すように、転送元から「 AB」、「CDEF」、「GHIJ」、「KLMN」、「OP 」の順にデータユニットが読み出され、アライナ14(15)を通して、転送先へアライン後のデータユニット「 ABC」、「DEFG」、「HIJK」、「LMNO」、「P 」が転送されることになる。 Specifically, for example, as shown in FIG. 2, from the transfer source "AB", "CDEF", "GHIJ", "KLMN", the forward data units of the "OP" is read, the aligner 14 (15) through the data unit after alignment to the destination "ABC", "DEFG", "HIJK", "LMNO", "P" is to be transferred. なお、ここで言う「データユニット」とは、転送単位のサイズのデータのことであり、具体的には、4つの4Byteのデータの集合であり、故に、データユニットのサイズは16Byteである。 Here, the "data unit" refers to a data size of the transfer unit, specifically, a set of data of four 4Byte, therefore, the size of the data unit is 16 Bytes. また、前述したA〜Pのそれぞれ4Byteのデータ(図2で灰色のブロックで表示されているデータ)は、転送先で必要とされるデータ(転送対象データ)であり、一つのデータユニットにおける転送対象データ以外のデータ(図2で白色のブロックで表示されているデータ)は、転送先で必要とされないデータ(非転送対象データ)である。 The data of each 4Byte of A~P described above (data displayed in Figure 2 by gray blocks) is data required by the destination (transfer target data) transfer in one data unit data other than the object data (data displayed in Figure 2 in the white block) are data that are not required by the destination (non-transmission target data).

また、データ転送においては、データの検査を行うことが信頼性向上のために求められている。 In the data transfer, to inspect the data are required to improve reliability. データの検査の代表的な手法の一つに、巡回冗長検査がある。 One of the typical technique of inspection data, there is a cyclic redundancy check. 巡回冗長検査では、所定サイズのデータブロックに対して生成多項式を適用し、チェックコードが生成される。 The cyclic redundancy check, applying a generator polynomial to the data blocks of a predetermined size, the check code is generated. 例えば、転送元で、所定サイズのデータブロックに別の所定サイズのチェックコードが付加され、データブロックとチェックコードとのセット(以下、データ/コードセット)が転送先に送られる。 For example, by the source, the predetermined size another check code of a predetermined size block of data is appended, a set of data blocks and the check code (hereinafter, data / code set) is sent to the destination. 転送先では、送られて来たデータ/コードセットにおけるデータブロックに対して生成多項式が適用され、それ故、再度チェックコードが生成され、生成されたチェックコードが、データ/コードセットにおけるチェックコードと一致するか否かが判定される。 The destination is sent generator polynomial to the data block in the coming data / code set is applied, therefore, is the check code again generated, the generated check code is a check code in the data / code set whether matching is determined. このようにして、データの完全性が保証される。 In this way, data integrity is guaranteed.

巡回冗長検査は、各種インタフェース規格において定められており、チェックコード生成のための生成多項式や計算方法がそれぞれ定められている。 Cyclic redundancy check are defined in the various interface standards, the generator polynomial and the calculation method for the check code generation are determined, respectively.

巡回冗長検査の一例として、SCSI(Small Computer System Interface)インタフェースのDIF(Data Integrity Field)がある。 An example of a cyclic redundancy check, a SCSI (Small Computer System Interface) interface DIF (Data Integrity Field). DIFでは、例えば、512Byteごとのデータブロックに対して8Byteのチェックコードが付加される。 In DIF, for example, 8Byte check code is added to the data block for each 512 Bytes. 8Byteのチェックコードは、6Byteの任意のタグ情報と、2Byteの巡回冗長検査符号で構成され、巡回冗長検査符号は、512Byteのデータブロックに対して次の生成多項式を適用することで生成可能である(x16+x15+x11+x9+x8+x7+x5+x4+x2+x+1)。 8Byte check code includes any tag information 6 Bytes, is composed of a cyclic redundancy check code 2Byte, cyclic redundancy check code may be generated by applying the following generating polynomial to the data block of 512Byte (x16 + x15 + x11 + x9 + x8 + x7 + x5 + x4 + x2 + x + 1).

図10に示したDMAC10では、バッファ11(12)にデータ/コードセットが一時的に格納されているため、データ転送の前にマイクロプログラム制御部13がバッファ11(12)からデータ/コードセットを読み出すことで、DIFによるチェックコードの検査または生成を行うことが可能である。 In DMAC10 shown in FIG. 10, the data / code set in the buffer 11 (12) is stored temporarily, microprogram control unit 13 before the data transfer the data / code set from the buffer 11 (12) by reading, it is possible to inspect or generation of the check code by DIF.

しかし、マイクロプログラム制御部13でDIFによるチェックコードの検査または生成を実施すると、その処理の間、バッファ11(12)を占有してしまい、送受信の多重度を下げてしまうことと、これまで行わなかったマイクロプログラム処理を実施することによるDMAC10の性能低下が想定される。 However, when an inspection or generation of the check code by the DIF in microprogram control unit 13, and that the during the process, will occupy buffer 11 (12), thereby lowering the multiplicity of transmission and reception, performed far degradation of DMAC10 due to performing never been microprogram processing is assumed.

DMAC10の性能低下を防ぐための方法として、データ転送とチェックコードの検査または生成を並行して行うことが考えられる。 As a method for preventing the performance degradation of the DMAC 10, it is conceivable to perform parallel testing or generation of data transfer and the check code.

データ転送と並行してDIFのチェックコードの検査または生成を行うためには、チェックコードの検査または生成を行うハードウェア回路(以下、DIF回路)を設け、転送元からデータユニットを読み出す際、または転送先にデータユニットを書き込む際に、それと同じタイミングでDIF回路にデータユニットを入力する方法が考えられる。 In parallel with the data transfer in order to perform the inspection or production of check code DIF is a hardware circuit (hereinafter, DIF circuit) to inspect or generating check code provided, when reading the data units from the transfer source, or when writing data unit to the destination, the same method of inputting is considered a data unit to the DIF circuit at the same timing. 言い換えれば、データ転送経路上の、図10に示すアライナ14(15)の上流側(転送元側)又は下流側(転送先側)に、DIF回路を設ける方法が考えられる。 In other words, on the data transfer path, on the upstream side (transfer source side) or downstream (destination side) of the aligner 14 (15) shown in FIG. 10, is conceivable method of providing a DIF circuit.

図3に、転送先へデータユニットを書き込む際にそのデータユニットをDIF回路に入力する例を示す。 Figure 3 shows an example of inputting the data unit to the DIF circuit when writing data unit to the destination. 最初のデータユニット「 ABC」に対しては、12Byte幅のデータに対するDIF回路が必要となる。 For the first data unit "ABC", it is necessary to DIF circuit for data 12Byte width. なぜなら、転送対象データの数は3つであるため3×4Byte=12Byteが転送対象データ群のサイズであるからである。 This is because the number of transferred data is because 3 × 4Byte = 12 bytes because it is 3 is the size of the transfer target data group. 同様の理由から、続くデータユニット「DEFG」、「HIJK」、「LMNO」のデータユニットに対しては、16Byte幅のデータに対するDIF回路が必要となり、最後の「P 」のデータユニットについては4Byteのデータ幅のDIF回路が必要となる。 For the same reason, subsequent data unit "DEFG" with respect to data unit "HIJK", "LMNO" is, DIF circuit is required for data 16Byte width, of the last for the data units of the "P" 4Byte is DIF circuit of the data width is required.

このように、アラインされていないデータユニットに対してチェックコードの検査または生成をデータ転送と同じタイミングで行おうとすると、各データブロックにつき、転送の最初のデータユニットと最後のデータユニットに端数データ(非転送対象データ)が現れる場合がある。 Thus, when attempting at the same timing as the data transfer test or generated check code for the data units that have not been aligned, for each data block, the first data unit and the last data unit in the fraction data transfer ( in some cases non-transferred data) appears. このため、図6に示すように、複数種類の端数データ幅(端数データ群のサイズ、言い換えれば端数データの数)に応じた複数種類のDIF回路を用意する必要が生じ、回路実現のための論理規模の増大が課題となる。 Therefore, as shown in FIG. 6, a plurality of types of fraction data width (the size of the fraction data group, the fraction number of data in other words) necessary to prepare a plurality of types of DIF circuit corresponding to occur, for circuit realization logic scale of the increase is an issue.

以上の課題は、DIF回路以外のチェックコード生成回路、或いは、チェックコード生成回路以外のデータ処理回路(例えば、暗号化処理を行うためのハードウェア回路)での処理を、転送元から転送先へのデータ転送と同じタイミングで行おうとした場合に生じ得る課題である。 Above problems, the check code generation circuits other than DIF circuit, or check code data processing circuits other than generating circuit (e.g., a hardware circuit for performing an encryption process) treatment with, from the source to the destination a problem may occur when an attempt is made at the same timing as the data transfer.

従って、本発明の目的は、アラインされていないデータユニットのデータ転送と並行して特定のデータ処理をハードウェア回路にて行うにあたり論理規模が増大しないようにすることにある。 Accordingly, an object of the present invention to such logic scale does not increase the specific data processing in parallel with the data transfer of the data units that are not aligned in performing by hardware circuitry.

転送元から転送先へ所定の転送単位で転送されるデータユニットの転送経路とは別の位置に、入力されたデータユニットを処理するデータ処理回路と、このデータ処理回路用のアライナとが備えられる。 A different position from the transfer path of data units to be transferred in a predetermined transfer unit from the source to the destination, a data processing circuit for processing the input data units, and aligner for the data processing circuit is provided . データ処理回路用のアライナは、アライン後のデータユニットの先頭部分に非転送対象のデータが含まれることが無いように、このアライナに入力されたデータユニットのアドレスをアラインするよう構成されている。 Aligner for data processing circuit, so as not to include non-transferred data at the beginning of the data unit after alignment is configured to align the address of the input data unit to the aligner. データ転送に並行して、データ処理回路用のアライナに、転送されるデータユニットが入力され、入力されたデータユニットにおけるデータのアドレスがアラインされ、アライン後のデータユニットがデータ処理回路の入力データ幅単位でデータ処理回路に入力され、データ処理回路に入力されたアライン後のデータユニットが処理される。 In parallel with the data transfer, the aligner for data processing circuit, the data units to be transferred is input, the address of the data in the input data units are aligned, the input data width of the data unit data processing circuit after alignment is input to the data processing circuit in units, the data unit after aligned input to the data processing circuit is processed.

データ処理回路としては、誤り検出回路や、暗号化処理回路など、種々の回路を採用可能である。 The data processing circuit, and an error detection circuit, and encryption processing circuit, it is possible to use various circuit. 暗号化処理回路としては、例えば、CFB(Cipher FeedBack)で暗号化する回路を採用することができる。 The encryption processing circuit, for example, can be adopted a circuit for encryption in CFB (Cipher FeedBack).

以下、図面を参照して、本発明の一実施形態を説明する。 Hereinafter, with reference to the drawings, an embodiment of the present invention.

図1は、本発明の一実施形態に係る情報処理装置を示す。 Figure 1 shows an information processing apparatus according to an embodiment of the present invention.

情報処理装置300に、内部バス320に接続されている情報処理資源(CPU310及びメインメモリ220等)と、外部記憶装置200と情報処理装置300とを接続しデータ転送を実施するDMAC100を備える。 The information processing apparatus 300 includes an information processing resources connected to the internal bus 320 (CPU 310 and main memory 220, etc.), the DMAC100 to implement data transfer to connect the external storage device 200 and the information processing apparatus 300. 外部記憶装置200は、例えば、複数の物理記憶媒体(例えばハードディスク或いはフラッシュメモリ)を備えたストレージシステム(一例としてディスクアレイ装置)である。 The external storage device 200 is, for example, a plurality of physical storage media (e.g., hard disk or flash memory) (disk array device as an example) a storage system comprising a. 情報処理装置300は、例えば、外部記憶装置200から提供される論理ボリュームにブロック単位でデータを読み書きするホスト装置(例えばサーバ)である。 The information processing apparatus 300 is, for example, a host device for reading and writing data in blocks in the logical volume provided from the external storage device 200 (e.g., server). DMAC100は、例えば、ホストバスアダプタ(HBA)である。 DMAC100 is, for example, a host bus adapter (HBA).

DMAC100は、受信バッファ110と、送信バッファ120と、DIF回路152と、マイクロプログラム制御部130と、DMA制御部210及び211とを備える。 DMAC100 includes a receiving buffer 110, a transmission buffer 120, the DIF circuit 152, a microprogram control unit 130, and a DMA controller 210 and 211.

受信バッファ110は、外部記憶装置200から読み出されたデータを受信し、受信したデータを記憶し、データをすべて受信し記憶したところでマイクロプログラム制御部130に受信の完了報告を行う機能を持つ。 Reception buffer 110 receives the data read from the external storage device 200 stores the received data has a function to receive the completion report to the microprogram control unit 130 were to receive all data storage. 一方、送信バッファ120は、外部記憶装置200に書き込まれるデータを記憶し、バッファ120内のデータをすべて送信したところでマイクロプログラム制御部130に送信の完了報告を行う機能を持つ。 On the other hand, the transmission buffer 120 stores data to be written to the external storage device 200 has a function of performing completion report sent to the microprogram control unit 130 at which to transmit all data in the buffer 120. 受信バッファ110及び送信バッファ120の少なくとも一方が、複数個備えられ、それにより、送信及び/又は受信においてバッファ不足のため送信/受信が不能とならないようになっている。 At least one of the receive buffers 110 and transmit buffer 120, provided plurality, thereby, so that transmission / reception for buffer shortage is not disabled in the transmission and / or reception. なお、本実施形態では、受信バッファ110には、512Byte単位のデータブロックに8Byteのチェックコードが付加されたデータ/コードセットが格納されるとする。 In the present embodiment, the reception buffer 110, a data / code set 8Byte check code is added to the data block of 512Byte units are stored.

マイクロプログラム制御部130は、CPUやローカルメモリ等を含んでおり、DMAC100を制御するマイクロプログラムをCPUで実行する。 Microprogram control unit 130 includes a CPU, local memory, etc., executed by the CPU of the microprogram for controlling the DMAC 100. マイクロプログラムの機能の一つとして、受信や送信の完了報告を受けたところで、送受信バッファ110、120とメインメモリ220との間のデータ転送指示を行う機能がある。 One of the functions of the microprogram, where receiving the reception and transmission of completion report, there is a function for data transfer instruction between the sending and receiving buffer 110 and 120 and the main memory 220.

DIF回路152は、送信されるデータブロックにチェックコードを付加するための回路である。 DIF circuit 152 is a circuit for adding the check code to the data block to be transmitted. DIF回路152は、送信バッファ120から読み出されたデータブロックを基にチェックコードを生成する。 DIF circuit 152 generates a check code based on data blocks read from the transmission buffer 120. 生成されたチェックコードは、送信バッファ120から読み出されデータ転送経路を流れるデータブロックに付加されて、外部記憶装置200に送信される。 The generated check code is added to the data block through the data transfer path is read from the transmission buffer 120, it is transmitted to the external storage device 200. DIF回路152は、データ転送経路と別の位置に設けられている。 DIF circuit 152 is provided in the data transfer path to another location. 送信バッファ120から読み出されたデータブロックが、データ転送経路に加えてDIF回路152を並行して経由するか否かは、マイクロプログラム制御部120によって制御される。 Read from the transmission buffer 120 data blocks, whether via DIF circuit 152 in addition to the data transfer path in parallel is controlled by a microprogram control unit 120.

本実施形態の一つの特徴として、DMA制御部210(211)の構成にある。 One feature of this embodiment lies in the configuration of the DMA controller 210 (211). すなわち、DMA制御部210(211)には、データ転送経路上に設けられたデータ転送用のアライナ140(142)の他に、データ転送経路とは別の位置に、DIF回路150(151)と、DIF回路用のアライナ141(143)が設けられている。 That is, the DMA controller 210 (211), in addition to the aligner 140 for data transfer that is provided on the data transfer path (142), in a different position from the data transfer path, DIF circuit 150 and (151) , aligner 141 for DIF circuit (143) is provided. このような構成は、受信系のDMA制御部210と送信系のDMA制御部211の一方にだけ採用されて良く他方は例えば図10に示したDMA制御部21又は22の構成であっても良い。 Such a configuration is only adopted well other one of the DMA controller 210 of the receiving system transmitting system of the DMA controller 211 may be configured of a DMA controller 21 or 22 shown in FIG. 10 for example . なお、以下、データ転送用のアライナを「第一のアライナ」と言い、DIF回路用のアライナを「第二のアライナ」と言う。 In the following, the aligner for data transfer is referred to as a "first aligner", the aligner for the DIF circuit referred to as the "second of the aligner". データブロックが、第一のアライナ140(142)と第二のアライナ141(143)の両方に並行して入力されるか否かは、マイクロプログラム制御部120によって制御される。 Data block, whether the input in parallel to both the first aligner 140 and (142) a second aligner 141 (143), is controlled by a microprogram control unit 120.

第一のアライナ140(142)は、転送先に合わせたアラインを実施する。 First aligner 140 (142) performs the alignment to match the destination. 本実施形態では、転送単位のサイズは、16Byteである。 In the present embodiment, the size of the transfer unit is 16 Bytes.

DIF回路150(151)は、チェックコードを検査又は生成するためのハードウェア回路である。 DIF circuit 150 (151) is a hardware circuit for testing or generates a check code. DIF回路150(151)の入力データ幅は、固定長、且つ、固定長のデータブロックのサイズの約数である。 Input data width DIF circuit 150 (151), fixed length, and is a submultiple of the size of the data blocks of a fixed length. 本実施形態では、データブロックのサイズは512Byteであり、入力データ幅としては、転送単位のサイズと同じ16Byteが採用されている。 In the present embodiment, the size of the data block is 512 Bytes, as the input data width, the same 16Byte is adopted as the size of the transfer unit. つまり、転送単位のサイズと同じである。 In other words, it is the same as the size of the transfer unit.

第二のアライナ141(143)は、転送先ではなくDIF回路150(151)に合わせたアラインを実施する。 The second aligner 141 (143) performs the alignment to match the DIF circuit 150 (151) rather than the destination. 具体的には、第二のアライナ141(143)は、DIF回路150(151)の入力データ幅に合わせたアラインを実施する。 Specifically, the second aligner 141 (143) performs the alignment to match the input data width of the DIF circuit 150 (151). 第二のアライナ141(143)は、DIF回路150(151)の上流側(例えば直前)に設けられている。 The second aligner 141 (143) is provided on an upstream side of DIF circuit 150 (151) (e.g., immediately preceding). すなわち、受信系のDMA制御部210では、第二のアライナ141は、DIF回路150よりも受信バッファ110側に存在し、送信系のDMA制御部211では、第二のアライナ143は、DIF回路151よりもメインメモリ220側に存在する。 That is, the DMA controller 210 of the receiving system, the second aligner 141 is present in the reception buffer 110 side than the DIF circuit 150, the DMA controller 211 of the transmission system, the second aligner 143, DIF circuit 151 present in the main memory 220 side than.

図4に、第一のアライナ140(142)と第二のアライナ141(143)が同時に使用される例を示す。 4 shows an example where the first of the aligner 140 and (142) a second aligner 141 (143) are used simultaneously.

すなわち、転送元(受信バッファ110又はメインメモリ220)から転送先(メインメモリ220又は送信バッファ120)へのデータ転送では、転送元から転送先へ転送単位でデータユニットが転送され、そのデータユニットは、第一のアライナ140(142)を経由するため、転送先に合わせたアラインが実施される。 That is, in the data transfer from the transfer source (the receive buffer 110 or main memory 220) to the transfer destination (the main memory 220 or the transmission buffer 120), the data unit is transferred in the transfer unit from a source to a destination, the data unit is since passing through the first aligner 140 (142), the combined aligned it is performed to the destination. すなわち、転送元から「 AB」、「CDEF」、「GHIJ」、「KLMN」、「OP 」の順に読み出されたデータユニットが、「 ABC」、「DEFG」、「HIJK」、「LMNO」、「P 」のようにアラインされる。 In other words, the "AB" from the transfer source, "CDEF", "GHIJ", "KLMN", read data units in the order of "OP", "ABC", "DEFG", "HIJK", "LMNO", It is aligned like a "P".

転送元から転送先へのデータ転送に並行して、下記(A)乃至(D)の処理、 In parallel to the data transfer from a source to a destination, the following processes (A) to (D),
(A)第二のアライナ141(143)に、転送元から読み出されたデータユニットが入力される; (A) to the second aligner 141 (143), read from the transfer source data unit is input;
(B)第二のアライナ141(143)によって、第二のアライナ141(143)に入力されたデータユニットにおけるデータのアドレスがアラインされる; (B) by the second aligner 141 (143), the address of the data in the second aligner 141 data units input to the (143) are aligned;
(C)第二のアライナ141(143)によるアライン後のデータユニットがDIF回路150(151)の入力データ幅単位でDIF回路150(151)に入力される; (C) is inputted to DIF circuit 150 (151) in the input data width unit of the second aligner 141 (143) data unit after alignment by the DIF circuit 150 (151);
(D)DIF回路150(151)に入力されたアライン後のデータユニットが処理される; (D) DIF circuit 150 data unit after aligned input to the (151) are processed;
が行われる。 It is carried out. すなわち、同時期に発生したクロックに同期して、データ転送と、前述の(A)乃至(D)の処理が行われる。 That is, in synchronization with the clock generated in the same period, the data transfer processing of the above-mentioned (A) to (D) are performed.

第二のアライナ141(143)は、転送元から「 AB」、「CDEF」、「GHIJ」、「KLMN」、「OP 」の順に読み出されたデータユニットを、「ABCD」、「EFGH」、「IJKL」、「MNOP」のようにアラインする。 The second aligner 141 (143), the "AB" from the transfer source, "CDEF", "GHIJ", "KLMN", the data units read in the order of "OP", "ABCD", "EFGH", "IJKL", to align as "MNOP". すなわち、第二のアライナ141(143)は、アライン後のデータユニットの先頭部分に端数データ(非転送対象データ)が含まれることが無いように、このアライナ141(143)に入力されたデータユニットのアドレスをアラインするよう構成されている。 That is, the second aligner 141 (143), such that it never included in the beginning portion of the data unit after aligning the fraction data (non-transferred data), the input data unit to the aligner 141 (143) It is configured to align the address. 端数データとしては、例えば、フレームのヘッダ情報などがある。 The fraction data include, for example, header information of the frame.

DIFでは、512Byte単位のデータブロックに対して、8Byteのチェックコードが付加される。 In DIF, to the data block of 512Byte units are added check code 8Byte. 従って、16Byteの入力データ幅のDIF回路150(151)に合わせて、本実施形態のように、データユニットの先頭部分に端数データが含まれることが無いようにアラインされれば、512Byte÷16Byte=32個のデータユニットの全てに、端数データが含まれることが無い。 Therefore, according to the input data width of the DIF circuit 150 of 16 Bytes (151), as in the present embodiment, if it is aligned such that no to include fractional data at the beginning of the data unit, 512 Bytes ÷ 16 Bytes = all of the 32 data units, it is not to include fractional data. また、512Byteのデータブロックに8Byteのチェックコードが付加されているが、8Byteのチェックコードは、本実施形態では、必ず、33個目の16Byteのデータユニットの前半部分(上位半分)に存在する。 Although 8Byte check code to the data block of 512Byte is added, check code 8Byte, in this embodiment, always, present in the first half (the upper half) of the data unit of 33 th of 16 Bytes. このため、DIF回路150(151)は、32個のデータユニットが入力される都度に、その次に入力されるデータユニットの前半部分に、それら32個のデータユニットで構成されるデータブロックに付属しているチェックコードが存在していることが分かる。 Therefore, DIF circuit 150 (151), each time the 32 data units is inputted, the first half of the data units to be input to the next, supplied with the data block composed by those 32 data units it can be seen that the check code you are exists. これらの理由から、本実施形態では、複数種類の端数データ幅に対応した複数種類のDIF回路を用意する必要は無く、図5及び図7に示すように、一種類のDIF回路150(151)、つまり、入力データ幅が16ByteのDIF回路150(151)があれば足りる。 For these reasons, in the present embodiment, necessary to prepare a plurality of types of DIF circuits corresponding to a plurality of types of fraction data width without, as shown in FIGS. 5 and 7, one type of DIF circuit 150 (151) , i.e., the input data width permits if any DIF circuit 150 of 16 Bytes (151).

図7によれば、レジスタ701に、DIF計算の初期値sが記憶されており、一つのデータブロックについて、アライン後の先頭のデータユニット(実施例で言う「ABCD」)が入力された場合、そのデータユニットと初期値sとを基に計算され、その計算結果を表す値が、レジスタ701に格納される。 According to FIG. 7, the register 701, which is the initial value s is stored in the DIF calculations, for one data block, if the head of the data unit after alignment (referred to in the Examples, "ABCD") is entered, is calculated on the basis of the data unit and the initial value s, the value representing the calculation result is stored in the register 701. 次に、その値と、次のアライン後のデータユニット(実施例で言う「EFGH」)とを基に計算され、その計算結果を表す値が、レジスタ701に格納される。 Then, its value is calculated on the basis of the data units after the next alignment (referred to in the Examples, "EFGH"), a value representing the calculation result is stored in the register 701. 以上の処理が、32個のデータユニットについて行われ、33個目のデータユニットについては、比較器703で、レジスタ301に記憶されている値(すなわち、512Byteのデータブロックを基に生成されたチェックコード)と、33個目のデータユニットの前半部分に存在する値(つまり、512Byteのデータブロックに付加されているチェックコード)とが比較される。 Check above processing is performed for the 32 data units, for the 33 th data unit, the comparator 703, the stored value in the register 301 (i.e., generated on the basis of the data blocks of 512Byte a code), the value present in the first half of the 33 th data unit (i.e., the check code) are compared, which is added to the data block of 512 Bytes. 前述したように、8Byteのチェックコードは、本実施形態では、必ず、33個目の16Byteのデータユニットの前半部分(上位半分)に存在するので、チェックコードの位置の判定が容易である。 As described above, the check code of 8Byte, in this embodiment, always, due to the presence in the first half of the data units of the 33rd 16 Bytes (upper half), it is easy to determine the position of the check code.

以上のことから、アラインされていないデータユニットのデータ転送と並行してチェックコードの検査又は生成をDIF回路にて行うにあたり論理規模が増大しないようにすることができる。 From the above, it is possible to make a logical scale is not increased when performing inspection or generation of the check code in parallel with the data transfer of the data units that are not aligned with DIF circuit.

図8は、外部記憶装置200から受信バッファ110に格納されたデータ/コードセットを情報処理装置300へ転送するフローを示す。 Figure 8 shows a flow for transferring data / code set stored in the reception buffer 110 from the external storage device 200 to the information processing apparatus 300.

受信バッファ110は、データ格納完了をマイクロプログラム制御部130に報告し(ステップ801)、マイクロプログラム制御部130は、その報告を受けて、DMAの起動指示並びにチェックコードの検査指示をDMA制御部210に対して行う(ステップ802)。 Receiving buffer 110 reports the data storage completion to the micro program control unit 130 (step 801), the micro-program control unit 130 receives the report, DMA controller 210 the test instruction of the DMA start instruction and check code performed on (step 802). これにより、受信バッファ110からメインメモリ220へのデータ転送と、そのデータ転送に並行して、前述した(A)乃至(D)の処理(チェックコードの検査)が行われる(ステップ803)。 Thus, the data transfer from the receiving buffer 110 to main memory 220, in parallel with the data transfer, the process of the above-mentioned (A) to (D) (check code inspection) is performed (step 803). それらの処理が終わると、DMA制御部210からマイクロプログラム制御部130に完了報告が入力され(ステップ804)、マイクロプログラム制御部130は、DMA終了処理を行う(ステップ805)。 When these processing is completed, a completion report from the DMA controller 210 to the micro program control unit 130 is input (step 804), the micro-program control unit 130 performs DMA termination process (step 805).

図9は、情報処理装置300から外部記憶装置200へデータを送出するために送信バッファ120へデータを転送するフローを示す。 Figure 9 shows a flow for transferring data to the transmit buffer 120 to send data from the information processing apparatus 300 to the external storage device 200.

マイクロプログラム制御部130は、送信バッファ120に対してバッファの確保を依頼し(ステップ901)、バッファの確保の完了を受け(ステップ902)、DMA起動指示を行う(ステップ903)。 Microprogram control unit 130 requests the securing of a buffer to the transmission buffer 120 (step 901), subjected to complete securing of the buffer (step 902), performs the DMA start instruction (step 903). これにより、メインメモリ220から送信バッファ120へのデータ転送と、そのデータ転送に並行して、前述した(A)乃至(D)の処理(チェックコードの検査)が行われる(ステップ904)。 Thus, the data transfer to the transmission buffer 120 from the main memory 220, in parallel with the data transfer, the process of the above-mentioned (A) to (D) (check code inspection) is performed (step 904). それらの処理が終わると、DMA制御部211からマイクロプログラム制御部130に完了報告が入力され(ステップ905)、マイクロプログラム制御部130は、DMA終了処理を行う(ステップ906)。 When these processing is completed, a completion report from the DMA controller 211 to the micro program control unit 130 is input (step 905), the micro-program control unit 130 performs DMA termination process (step 906).

なお、ステップ803及び904の少なくともいずれかでは、必ずしもチェックコードの検査が行われなくても良い。 In the at least one of steps 803 and 904, necessarily inspection check code may not be performed. 換言すれば、チェックコードの検査を行うか否かは、マイクロプログラム制御部130からDMA制御部210(211)への指示で制御される。 In other words, whether or not to inspect the check code is controlled by an instruction from the microprogram control unit 130 DMA controller 210 to (211).

例えば、転送元からのデータブロックにチェックコードが付加されていない場合、マイクロプログラム制御部130は、送信元からのデータユニットを、第二のアライナ141又は143に入力しないように制御しても良い。 For example, if the check code to the data block from the transfer source is not added, the microprogram control unit 130, a data unit from the source may be controlled so as not to enter the second aligner 141 or 143 .

また、例えば、転送元からのデータブロックにチェックコードが付加されていない場合、マイクロプログラム制御部130は、送信元からのデータユニットを、第二のアライナ141又は143に入力し、且つ、DIF回路151で生成されたチェックコードを第一のアライナ140又は142を経由したデータブロックに付加するようDMA制御部210又は211を制御しても良い。 For example, when the check code to the data block from the transfer source is not added, the microprogram control unit 130 receives the data unit from the source, the second aligner 141 or 143, and, DIF circuit the check code generated by the 151 may control the DMA controller 210 or 211 so as to be added to the data block via the first aligner 140 or 142.

また、例えば、転送元からのデータブロックにチェックコードが付加されている場合、マイクロプログラム制御部130は、送信元からのデータユニットを、第二のアライナ141又は143に入力し、且つ、DIF回路151で検査されたチェックコードを転送対象のデータブロックから削除するようDMA制御部210又は211を制御しても良い。 For example, when the check code to the data block from the transfer source is added, the microprogram control unit 130 receives the data unit from the source, the second aligner 141 or 143, and, DIF circuit the check code examined in 151 may control the DMA controller 210 or 211 to delete from the data block to be transferred. なお、このケースでは、DIF回路151でチェックコードの検査は行われなくても良い。 In this case, it may not be performed inspection check code DIF circuit 151.
DIFチェックは不要ならしない。 DIF check is not if unnecessary.

以上、本発明の好適な実施形態を説明したが、本発明は、この実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 Having described the preferred embodiments of the present invention, the present invention is not limited to this embodiment, but can be variously changed without departing from the spirit thereof.

例えば、転送単位のサイズが入力データ幅のN倍(Nは自然数)であれば、データ転送のためのクロックサイクルは、上記(C)の処理(第二のアライナ141(143)によるアライン後のデータユニットがDIF回路150(151)の入力データ幅単位でDIF回路150(151)に入力される処理)のためのクロックサイクルの1/N倍である。 For example, if N times the size of the input data width of the transfer units (N is a natural number), a clock cycle for the data transfer, after alignment by the process (C) (second aligner 141 (143) data unit is 1 / N of a clock cycle for the DIF circuit 150 processes inputted to DIF circuit 150 (151) in the input data width units (151)). このため、例えば、転送単位のサイズが入力データ幅の2倍であれば、データ転送のためのクロックサイクルは、上記(C)の処理のためのクロックサイクルの1/2倍である。 Thus, for example, if twice the size input data width of the transfer unit, the clock cycle for the data transfer is a half of a clock cycle for the process of (C). 一方、入力データ幅が前記転送単位のサイズのM倍(Mは自然数)であれば、上記(C)の処理のためのクロックサイクルは、データ転送のためのクロックサイクルの1/M倍である。 Meanwhile, (M is a natural number) M times the input data width size of said transfer unit if the clock cycle for the process (C) above is a 1 / M times the clock cycle for the data transfer . このため、例えば、入力データ幅が転送単位のサイズの2倍であれば、上記(C)の処理のためのクロックサイクルは、データ転送のためのクロックサイクルの1/2倍である。 Thus, for example, if twice the size of the input data width transfer unit, the clock cycle for the process (C) above is a half of a clock cycle for data transfer.

本発明の一実施形態に係る情報処理装置を示す。 Showing an information processing apparatus according to an embodiment of the present invention. アラインされていないデータユニットの転送の例を示した図である。 Is a diagram showing an example of transfer of data units that are not aligned. 図2のデータ転送において転送先に書き込む際にDIF回路にデータを入力する例を示した図である。 Is a diagram showing an example of inputting data to the DIF circuit when writing to the transfer destination in the data transfer of FIG. 本発明の一実施形態でDIF回路用のアラインを実施した場合のデータ転送の例を示した図である。 Is a diagram showing an example of data transfer in the case of carrying out the alignment for DIF circuit in one embodiment of the present invention. 図4に示したアラインを実施した際のDIF計算を行う例を示した図である。 Is a diagram showing an example of performing DIF calculation when carrying out the alignment shown in FIG. 図3に示したDIF計算に関わるハードウェア構成を示した図である。 It is a diagram showing a hardware configuration involving DIF calculation shown in FIG. 図5に示したDIF計算に関わるハードウェア構成を示した図である。 It is a diagram showing a hardware configuration involving DIF calculation shown in FIG. 受信バッファからメインメモリへのデータ転送フローを示した図である。 From the receive buffer is a diagram showing a data transfer flow to the main memory. メインメモリから送信バッファへのデータ転送フローを示した図である。 It is a diagram showing a data transfer flow to the transmit buffer from the main memory. マイクロプログラム制御部がDIF計算を行なうDMACを備えた情報処理装置を示す。 Showing an information processing apparatus microprogram control unit with a DMAC for performing DIF calculations.

符号の説明 DESCRIPTION OF SYMBOLS

100・・・DMAC(ダイレクトメモリアクセスコントローラ)、110・・・受信バッファ、120・・・送信バッファ、130・・・マイクロプログラム制御部、140・・・アライナ、141・・・アライナ、142・・・アライナ、143・・・アライナ、150・・・DIF回路、151・・・DIF回路、152・・・DIF回路、200・・・外部記憶装置、300・・・情報処理装置、310・・・中央処理装置、320・・・メインメモリ 100 ... DMAC (direct memory access controller), 110 ... receiving buffer, 120 ... transmission buffer, 130 ... microprogram control unit, 140 ... aligner, 141 ... aligner, 142 ... aligner, 143 ... aligner, 0.99 ... DIF circuit, 151 ... DIF circuit, 152 ... DIF circuit, 200 ... external storage device, 300 ... information processing device, 310 ... central processing unit, 320 ... main memory

Claims (6)

  1. 転送元から転送先へ所定の転送単位で転送されるデータユニットの転送経路とは別の位置に、入力されたデータユニットを処理するデータ処理回路と、このデータ処理回路用のアライナとを備え、 A different position from the transfer path of data units to be transferred in a predetermined transfer unit from the source to the destination, comprising: a data processing circuit for processing the input data unit and aligner for the data processing circuit,
    前記データ処理回路用のアライナは、アライン後のデータユニットの先頭部分に非転送対象のデータが含まれることが無いように、このアライナに入力されたデータユニットのアドレスをアラインするよう構成されており、 Aligner for the data processing circuit, so as not to include non-transferred data at the beginning of the data unit after alignment is being configured to align the address of the input data unit to the aligner ,
    前記転送元から前記転送先へのデータ転送に並行して、 In parallel from the transfer source to transfer data to the transfer destination,
    (A)前記データ処理回路用のアライナに、転送されるデータユニットが入力され、 (A) to the aligner for the data processing circuit, the data units to be transferred is input,
    (B)前記データ処理回路用のアライナに入力されたデータユニットにおけるデータのアドレスがアラインされ、 (B) the data processing address of data in the input data units aligner circuit is aligned,
    (C)前記データ処理回路用のアライナによるアライン後のデータユニットが前記データ処理回路の入力データ幅単位で前記データ処理回路に入力され、 (C) the data unit after alignment by the aligner for data processing circuit is input to the data processing circuit at an input data width unit of the data processing circuit,
    (D)前記データ処理回路に入力されたアライン後のデータユニットが処理される、 (D) data unit after aligned input to the data processing circuit is processed,
    データ転送処理装置。 Data transfer processing apparatus.
  2. 前記転送経路上に、データ転送用のアライナが設けられており、 On the transfer path, which aligner is provided for data transfer,
    前記データ転送用のアライナと前記データ処理回路用のアライナとの両方に、アラインされていないデータユニットが所定の転送単位で入力され、 Wherein the aligner for data transfer in both the aligner for the data processing circuit, the data units that have not been aligned is input at a predetermined transfer units,
    前記データ処理回路は、DIF(Data Integrity Field)回路であり、 Wherein the data processing circuit is a DIF (Data Integrity Field) circuit,
    前記DIF回路の入力データ幅は、固定長、且つ、前記固定長のデータブロックのサイズの約数であり、 Input data width of the DIF circuit, fixed length, and is a submultiple of the size of the data blocks of the fixed length,
    前記転送単位のサイズが前記入力データ幅のN倍(Nは自然数)、或いは、前記入力データ幅が前記転送単位のサイズのM倍(Mは自然数)であり、 The N times in size the input data width of the transfer units (N is a natural number), or, M times the input data width size of said transfer unit (M is a natural number),
    前記データ転送と、前記(A)乃至(D)の処理が、同時期に発せられたクロックに同期して行われ、 The data transfer, the processing of (A) to (D), carried out in synchronization with the clock emitted at the same time,
    前記転送単位のサイズが前記入力データ幅のN倍の場合、前記データ転送のためのクロックサイクルは、前記(C)の処理のためのクロックサイクルの1/N倍であり、 If the size of the transfer unit is N times the input data width, clock cycle for the data transfer is 1 / N times the clock cycle for the process of the (C),
    前記入力データ幅が前記転送単位のサイズのM倍の場合、前記(C)の処理のためのクロックサイクルは、前記データ転送のためのクロックサイクルの1/M倍である、 If the input data width is M times the size of the transfer unit, the clock cycle for the process of the (C) is 1 / M times the clock cycle for the data transfer,
    請求項1記載のデータ転送処理装置。 The data transfer processing device according to claim 1.
  3. 前記データ転送処理装置は、外部記憶装置と通信するために情報処理装置に備えられるホストバスアダプタである、 Wherein the data transfer processing device is a host bus adapter provided in the information processing apparatus for communicating with an external storage device,
    請求項2記載のデータ転送処理装置。 The data transfer processing device according to claim 2.
  4. 前記データ処理回路は、固定長のデータブロックのサイズ毎に対応したチェックコードを生成するチェックコード生成回路であり、 Wherein the data processing circuit is a check code generation circuit for generating a check code corresponding to each size of the data blocks of fixed length,
    前記チェックコード生成回路の入力データ幅は、固定長、且つ、前記固定長のデータブロックのサイズの約数である、 Input data width of the check code generation circuit, a fixed length, and is a submultiple of the size of the data blocks of the fixed length,
    請求項1記載のデータ転送処理装置。 The data transfer processing device according to claim 1.
  5. 転送元から転送先への所定の転送単位でのデータ転送に並行して、 In parallel to the data transfer in predetermined transfer units from the source to the destination,
    (A)転送されるデータユニットをデータ処理回路用にアラインし、 (A) to align the data units to be transferred to the data processing circuit,
    (B)データ処理回路用にアラインされた後のデータユニットを、前記データ処理回路の入力データ幅単位で前記データ処理回路に入力し、 (B) the data unit after it has been aligned to data processing circuit, and input to the data processing circuit at an input data width unit of the data processing circuit,
    (C)前記データ処理回路が、入力されたアライン後のデータユニットを処理する、 (C) said data processing circuit processes the data unit after the inputted aligned,
    データ転送処理方法。 Data transfer processing method.
  6. CPU及びメモリを含んだ情報処理部と、 And an information processing unit including a CPU and a memory,
    前記情報処理部が外部記憶装置と通信するための通信インタフェース装置とを備え、 And a communication interface device for the information processing unit to communicate with an external storage device,
    前記通信インタフェース装置が、前記外部記憶装置から読み出されたデータブロックが流れる読出し部と、前記外部記憶装置に書き込まれるデータブロックが流れる書込み部との少なくともいずれかにおいて、所定の転送単位で転送されるデータユニットが流れる経路とは別の位置に、入力されたデータユニットを処理するデータ処理回路と、このデータ処理回路用のアライナとを備え、 The communication interface device, wherein the external storage device reading section flowing read data blocks from at least one of said external storage write unit data block flows to be written to device, is transferred by a predetermined transfer unit that in a different position from the data unit flow path includes a data processing circuit for processing the input data unit and aligner for the data processing circuit,
    前記データ処理回路用のアライナは、アライン後のデータユニットの先頭部分に非転送対象のデータが含まれることが無いように、このアライナに入力されたデータユニットのアドレスをアラインするよう構成されており、 Aligner for the data processing circuit, so as not to include non-transferred data at the beginning of the data unit after alignment is being configured to align the address of the input data unit to the aligner ,
    前記転送元から前記転送先へのデータ転送に並行して、 In parallel from the transfer source to transfer data to the transfer destination,
    (A)前記データ処理回路用のアライナに、転送されるデータユニットが入力され、 (A) to the aligner for the data processing circuit, the data units to be transferred is input,
    (B)前記データ処理回路用のアライナに入力されたデータユニットにおけるデータのアドレスがアラインされ、 (B) the data processing address of data in the input data units aligner circuit is aligned,
    (C)前記データ処理回路用のアライナによるアライン後のデータユニットが前記データ処理回路の入力データ幅単位で前記データ処理回路に入力され、 (C) the data unit after alignment by the aligner for data processing circuit is input to the data processing circuit at an input data width unit of the data processing circuit,
    (D)前記データ処理回路に入力されたアライン後のデータユニットが処理される、 (D) data unit after aligned input to the data processing circuit is processed,
    情報処理装置。 The information processing apparatus.
JP2008313917A 2008-12-10 2008-12-10 Data transfer processing apparatus and method Expired - Fee Related JP5107880B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008313917A JP5107880B2 (en) 2008-12-10 2008-12-10 Data transfer processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008313917A JP5107880B2 (en) 2008-12-10 2008-12-10 Data transfer processing apparatus and method

Publications (2)

Publication Number Publication Date
JP2010140127A true JP2010140127A (en) 2010-06-24
JP5107880B2 JP5107880B2 (en) 2012-12-26

Family

ID=42350237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008313917A Expired - Fee Related JP5107880B2 (en) 2008-12-10 2008-12-10 Data transfer processing apparatus and method

Country Status (1)

Country Link
JP (1) JP5107880B2 (en)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8055807B2 (en) 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US8095847B2 (en) 2008-02-14 2012-01-10 International Business Machines Corporation Exception condition handling at a channel subsystem in an I/O processing system
US8108570B2 (en) 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8140713B2 (en) 2006-10-10 2012-03-20 International Business Machines Corporation System and program products for facilitating input/output processing by using transport control words to reduce input/output communications
US8166206B2 (en) 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US8176222B2 (en) 2008-02-14 2012-05-08 International Business Machines Corporation Early termination of an I/O operation in an I/O processing system
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
US8214562B2 (en) 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8392619B2 (en) 2008-02-14 2013-03-05 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US8495253B2 (en) 2008-02-14 2013-07-23 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US8683083B2 (en) 2011-06-01 2014-03-25 International Business Machines Corporation Fibre channel input/output data routing system and method
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5977558A (en) * 1982-10-27 1984-05-04 Toshiba Corp Data transfer system
JPH05342090A (en) * 1992-06-11 1993-12-24 Fujitsu Ltd Data processor
JPH07210471A (en) * 1994-01-20 1995-08-11 Fujitsu Ltd Information processor
JP2002183072A (en) * 2000-12-13 2002-06-28 Hitachi Ltd Interface controller
JP2004094685A (en) * 2002-08-30 2004-03-25 Fuji Xerox Co Ltd Signal transmission system
JP2007188357A (en) * 2006-01-13 2007-07-26 Fujitsu Ltd Data transfer device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5977558A (en) * 1982-10-27 1984-05-04 Toshiba Corp Data transfer system
JPH05342090A (en) * 1992-06-11 1993-12-24 Fujitsu Ltd Data processor
JPH07210471A (en) * 1994-01-20 1995-08-11 Fujitsu Ltd Information processor
JP2002183072A (en) * 2000-12-13 2002-06-28 Hitachi Ltd Interface controller
JP2004094685A (en) * 2002-08-30 2004-03-25 Fuji Xerox Co Ltd Signal transmission system
JP2007188357A (en) * 2006-01-13 2007-07-26 Fujitsu Ltd Data transfer device

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140713B2 (en) 2006-10-10 2012-03-20 International Business Machines Corporation System and program products for facilitating input/output processing by using transport control words to reduce input/output communications
US8806069B2 (en) 2008-02-14 2014-08-12 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8095847B2 (en) 2008-02-14 2012-01-10 International Business Machines Corporation Exception condition handling at a channel subsystem in an I/O processing system
US8108570B2 (en) 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US8166206B2 (en) 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US8176222B2 (en) 2008-02-14 2012-05-08 International Business Machines Corporation Early termination of an I/O operation in an I/O processing system
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
US8214562B2 (en) 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US9436272B2 (en) 2008-02-14 2016-09-06 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US9330042B2 (en) 2008-02-14 2016-05-03 International Business Machines Corporation Determining extended capability of a channel path
US9298379B2 (en) 2008-02-14 2016-03-29 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US9043494B2 (en) 2008-02-14 2015-05-26 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8392619B2 (en) 2008-02-14 2013-03-05 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8977793B2 (en) 2008-02-14 2015-03-10 International Business Machines Corporation Determining extended capability of a channel path
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US8495253B2 (en) 2008-02-14 2013-07-23 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8516161B2 (en) 2008-02-14 2013-08-20 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8892781B2 (en) 2008-02-14 2014-11-18 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US9483433B2 (en) 2008-02-14 2016-11-01 International Business Machines Corporation Processing communication data in a ships passing condition
US8838860B2 (en) 2008-02-14 2014-09-16 International Business Machines Corporation Determining extended capability of a channel path
US8055807B2 (en) 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US8972615B2 (en) 2009-11-12 2015-03-03 International Business Machines Corporation Communication with input/output system devices
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8683083B2 (en) 2011-06-01 2014-03-25 International Business Machines Corporation Fibre channel input/output data routing system and method
US8769253B2 (en) 2011-06-01 2014-07-01 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8583989B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US8683084B2 (en) 2011-06-01 2014-03-25 International Business Machines Corporation Fibre channel input/output data routing system and method
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8631175B2 (en) 2011-06-30 2014-01-14 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US9195394B2 (en) 2013-05-29 2015-11-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices

Also Published As

Publication number Publication date
JP5107880B2 (en) 2012-12-26

Similar Documents

Publication Publication Date Title
US20120151172A1 (en) Providing frame start indication in a memory system having indeterminate read data latency
US7668923B2 (en) Master-slave adapter
US7145837B2 (en) Global recovery for time of day synchronization
CN101261614B (en) Addressable serial peripheral interface
CN102193886B (en) DMA engine capable of concurrent data manipulation
TWI484487B (en) Memory controller functionalities to support data swizzling
KR20090028538A (en) System to detect and identify errors in control information, read data and/or write data
US20050091383A1 (en) Efficient zero copy transfer of messages between nodes in a data processing system
KR100982145B1 (en) A method for configurable address mapping
DE112013004094B4 (en) High performance interconnect physical layer
US20050289253A1 (en) Apparatus and method for a multi-function direct memory access core
TWI498913B (en) Ecc implementation in non-ecc components
JP2012532399A (en) Computer memory test structure
US20050081080A1 (en) Error recovery for data processing systems transferring message packets through communications adapters
CN1287284C (en) Data processor and data processing method
US20050034048A1 (en) Reliable communication between multi-processor clusters of multi-cluster computer systems
US7797457B2 (en) Leaderless byzantine consensus
US8656228B2 (en) Memory error isolation and recovery in a multiprocessor computer system
US20080022024A1 (en) Method for link bandwidth management
CN101156116A (en) Method and apparatus for a redundancy approach in a processor based controller design
US7444540B2 (en) Memory mirroring apparatus and method
JP3745761B2 (en) A method and apparatus for enhanced bus
DE102012209016B4 (en) System and method for forwarding Fiber Channel input and output data
US6959004B2 (en) Data driven information processing apparatus
JP5374268B2 (en) Information processing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120601

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121004

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees