JP2010140127A - Data transfer processing apparatus and method - Google Patents
Data transfer processing apparatus and method Download PDFInfo
- 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
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
Description
本発明は、データの転送処理に関し、具体的には、例えば、サーバ等の情報処理装置に備えられるホストバスアダプタ(HBA)等の通信インタフェース装置におけるデータ転送処理に関する。 The present invention relates to data transfer processing, and specifically relates to data transfer processing in a communication interface device such as a host bus adapter (HBA) provided in an information processing device such as a server.
サーバ等の情報処理装置には、例えば特許文献1に開示されているような、通信インタフェース装置が搭載される。情報処理装置は、通信インタフェース装置を介して、外部記憶装置等の外部の装置と通信する。 An information processing apparatus such as a server is equipped with a communication interface apparatus as disclosed in Patent Document 1, for example. The information processing device communicates with an external device such as an external storage device via the communication interface device.
情報処理装置には、情報処理装置全体の性能向上の観点から、ダイレクトメモリアクセスコントローラ(DMAC)と呼ばれるデータ転送処理装置が備えられることがある。DMACでは、CPU(Central Processing Unit)に代わってデータ転送が行われる。 The information processing apparatus may be provided with a data transfer processing apparatus called a direct memory access controller (DMAC) from the viewpoint of improving the performance of the entire information processing apparatus. In the DMAC, data transfer is performed in place of a CPU (Central Processing Unit).
図10に、DMACの構成の一例を示す。 FIG. 10 shows an example of the configuration of the DMAC.
DMAC10は、例えば、外部記憶装置(例えばディスクアレイ装置)20と通信するための通信インタフェース装置(例えばホストバスアダプタ(HBA))である。DMAC10は、外部記憶装置20と通信し、且つ、CPU31及びメインメモリ22を含んだ情報処理資源と内部バス32を介して通信する。
The DMAC 10 is, for example, a communication interface device (for example, a host bus adapter (HBA)) for communicating with an external storage device (for example, a disk array device) 20. The DMAC 10 communicates with the
DMAC10は、例えば、下記構成要素(1)乃至(5)、
(1)外部記憶装置20から読み出されたデータブロックを一時的に記憶するための受信バッファ11;
(2)受信バッファ11に格納されているデータブロックを所定の転送単位で情報処理資源(例えばメインメモリ22)に転送するDMA制御部21;
(3)外部記憶装置20に書き込まれるデータブロックを一時的に記憶するための送信バッファ12;
(4)情報処理資源(例えばメインメモリ22)に格納されているデータブロックを所定の転送単位で送信バッファ12に転送するDMA制御部22;
(5)DMAC10の動作を制御するマイクロプログラム制御部13;
を備える。受信バッファ11及び送信バッファ12のうちの一方又は両方が、送受信の多重度をあげてデータ転送性能の向上を図る観点から、複数個備えられる。マイクロプログラム制御部13は、CPUやローカルメモリ等を備えている。マイクロプログラム制御部13は、データ転送起動コマンドをDMA制御部21又は22に設定する。これにより、DMA制御部21又は22が、その起動コマンドを解釈しデータ転送を行う。このため、マイクロプログラム制御部13は別の処理を行うことが可能となり、情報処理装置30全体の性能が向上する。
The DMAC 10 includes, for example, the following components (1) to (5),
(1) a
(2) a
(3) a
(4)
(5) a
Is provided. One or both of the
送受信バッファ11及び12は、外部記憶装置20とデータをやり取りするため、各種インタフェース規格ごとにデータ以外にも制御用の情報が付加されることになる。このため、送受信バッファ11及び12内のデータはアラインされているとは限らない。
Since the transmission /
また、データの転送先または転送元となる情報処理装置30内のメモリアドレスは、情報処理資源におけるアプリケーションプログラムによって指定される。このため、送受信バッファ11及び12と転送先または転送元となる情報処理資源内のメモリアドレスがずれて、アラインされない可能性がある。
Also, the memory address in the
以上の理由から、アラインされない場合に対応したデータ転送を行う必要がある。そこで、図10のDMA制御部21(22)に示すように、データの転送経路上にアライナ14(15)が設けられ、転送元から転送先へのデータユニットがアライナ14(15)を経由する。これにより、データユニットにおけるデータのアドレスが、転送先が指定するアドレスにアラインされて、アライン後のデータユニットが転送先へ転送されることになる。具体的には、例えば、図2に示すように、転送元から「 AB」、「CDEF」、「GHIJ」、「KLMN」、「OP 」の順にデータユニットが読み出され、アライナ14(15)を通して、転送先へアライン後のデータユニット「 ABC」、「DEFG」、「HIJK」、「LMNO」、「P 」が転送されることになる。なお、ここで言う「データユニット」とは、転送単位のサイズのデータのことであり、具体的には、4つの4Byteのデータの集合であり、故に、データユニットのサイズは16Byteである。また、前述したA〜Pのそれぞれ4Byteのデータ(図2で灰色のブロックで表示されているデータ)は、転送先で必要とされるデータ(転送対象データ)であり、一つのデータユニットにおける転送対象データ以外のデータ(図2で白色のブロックで表示されているデータ)は、転送先で必要とされないデータ(非転送対象データ)である。 For the above reasons, it is necessary to perform data transfer corresponding to the case where alignment is not performed. Therefore, as shown in the DMA control unit 21 (22) in FIG. 10, the aligner 14 (15) is provided on the data transfer path, and the data unit from the transfer source to the transfer destination passes through the aligner 14 (15). . As a result, the data address in the data unit is aligned with the address designated by the transfer destination, and the aligned data unit is transferred to the transfer destination. Specifically, for example, as shown in FIG. 2, data units are read from the transfer source in the order of “AB”, “CDEF”, “GHIJ”, “KLMN”, “OP”, and the aligner 14 (15). Then, the aligned data units “ABC”, “DEFG”, “HIJK”, “LMNO”, “P” are transferred to the transfer destination. The “data unit” referred to here is data having a transfer unit size, specifically, a set of four 4-byte data, and thus the size of the data unit is 16 bytes. Further, the above-mentioned 4 bytes of data A to P (data displayed in gray blocks in FIG. 2) are data (data to be transferred) required at the transfer destination, and transfer in one data unit. Data other than the target data (data displayed in white blocks in FIG. 2) is data that is not required at the transfer destination (non-transfer target data).
また、データ転送においては、データの検査を行うことが信頼性向上のために求められている。データの検査の代表的な手法の一つに、巡回冗長検査がある。巡回冗長検査では、所定サイズのデータブロックに対して生成多項式を適用し、チェックコードが生成される。例えば、転送元で、所定サイズのデータブロックに別の所定サイズのチェックコードが付加され、データブロックとチェックコードとのセット(以下、データ/コードセット)が転送先に送られる。転送先では、送られて来たデータ/コードセットにおけるデータブロックに対して生成多項式が適用され、それ故、再度チェックコードが生成され、生成されたチェックコードが、データ/コードセットにおけるチェックコードと一致するか否かが判定される。このようにして、データの完全性が保証される。 In data transfer, data inspection is required to improve reliability. One of the typical data inspection methods is a cyclic redundancy check. In the cyclic redundancy check, a check code is generated by applying a generator polynomial to a data block of a predetermined size. For example, at the transfer source, a check code of another predetermined size is added to a data block of a predetermined size, and a set of data blocks and check codes (hereinafter, data / code set) is sent to the transfer destination. At the transfer destination, the generator polynomial is applied to the data block in the data / code set that is sent, so that the check code is generated again, and the generated check code is the check code in the data / code set. It is determined whether or not they match. In this way, data integrity is guaranteed.
巡回冗長検査は、各種インタフェース規格において定められており、チェックコード生成のための生成多項式や計算方法がそれぞれ定められている。 The cyclic redundancy check is defined in various interface standards, and a generator polynomial and a calculation method for generating a check code are respectively determined.
巡回冗長検査の一例として、SCSI(Small Computer System Interface)インタフェースのDIF(Data Integrity Field)がある。DIFでは、例えば、512Byteごとのデータブロックに対して8Byteのチェックコードが付加される。8Byteのチェックコードは、6Byteの任意のタグ情報と、2Byteの巡回冗長検査符号で構成され、巡回冗長検査符号は、512Byteのデータブロックに対して次の生成多項式を適用することで生成可能である(x16+x15+x11+x9+x8+x7+x5+x4+x2+x+1)。 As an example of the cyclic redundancy check, there is a DIF (Data Integrity Field) of a SCSI (Small Computer System Interface) interface. In DIF, for example, an 8-byte check code is added to a data block for every 512 bytes. The 8-byte check code is composed of arbitrary 6-byte tag information and a 2-byte cyclic redundancy check code, and the cyclic redundancy check code can be generated by applying the following generator polynomial to a 512-byte data block. (X16 + x15 + x11 + x9 + x8 + x7 + x5 + x4 + x2 + x + 1).
図10に示したDMAC10では、バッファ11(12)にデータ/コードセットが一時的に格納されているため、データ転送の前にマイクロプログラム制御部13がバッファ11(12)からデータ/コードセットを読み出すことで、DIFによるチェックコードの検査または生成を行うことが可能である。
In the
しかし、マイクロプログラム制御部13でDIFによるチェックコードの検査または生成を実施すると、その処理の間、バッファ11(12)を占有してしまい、送受信の多重度を下げてしまうことと、これまで行わなかったマイクロプログラム処理を実施することによるDMAC10の性能低下が想定される。
However, if the
DMAC10の性能低下を防ぐための方法として、データ転送とチェックコードの検査または生成を並行して行うことが考えられる。
As a method for preventing the performance degradation of the
データ転送と並行してDIFのチェックコードの検査または生成を行うためには、チェックコードの検査または生成を行うハードウェア回路(以下、DIF回路)を設け、転送元からデータユニットを読み出す際、または転送先にデータユニットを書き込む際に、それと同じタイミングでDIF回路にデータユニットを入力する方法が考えられる。言い換えれば、データ転送経路上の、図10に示すアライナ14(15)の上流側(転送元側)又は下流側(転送先側)に、DIF回路を設ける方法が考えられる。 In order to inspect or generate a DIF check code in parallel with data transfer, a hardware circuit (hereinafter referred to as DIF circuit) for inspecting or generating a check code is provided, and when a data unit is read from a transfer source, or A method of inputting the data unit to the DIF circuit at the same timing when writing the data unit to the transfer destination can be considered. In other words, a method of providing a DIF circuit on the upstream side (transfer source side) or the downstream side (transfer destination side) of the aligner 14 (15) shown in FIG. 10 on the data transfer path can be considered.
図3に、転送先へデータユニットを書き込む際にそのデータユニットをDIF回路に入力する例を示す。最初のデータユニット「 ABC」に対しては、12Byte幅のデータに対するDIF回路が必要となる。なぜなら、転送対象データの数は3つであるため3×4Byte=12Byteが転送対象データ群のサイズであるからである。同様の理由から、続くデータユニット「DEFG」、「HIJK」、「LMNO」のデータユニットに対しては、16Byte幅のデータに対するDIF回路が必要となり、最後の「P 」のデータユニットについては4Byteのデータ幅のDIF回路が必要となる。 FIG. 3 shows an example of inputting the data unit to the DIF circuit when writing the data unit to the transfer destination. For the first data unit “ABC”, a DIF circuit for 12-byte data is required. This is because the number of transfer target data is 3, and 3 × 4 bytes = 12 bytes is the size of the transfer target data group. For the same reason, a DIF circuit for 16-byte data is required for the following data units “DEFG”, “HIJK”, and “LMNO”, and 4 bytes for the last “P” data unit. A DIF circuit having a data width is required.
このように、アラインされていないデータユニットに対してチェックコードの検査または生成をデータ転送と同じタイミングで行おうとすると、各データブロックにつき、転送の最初のデータユニットと最後のデータユニットに端数データ(非転送対象データ)が現れる場合がある。このため、図6に示すように、複数種類の端数データ幅(端数データ群のサイズ、言い換えれば端数データの数)に応じた複数種類のDIF回路を用意する必要が生じ、回路実現のための論理規模の増大が課題となる。 In this way, if the check code is inspected or generated for an unaligned data unit at the same timing as the data transfer, the fractional data (in the first data unit and the last data unit of the transfer is included in each data block). (Non-transfer target data) may appear. For this reason, as shown in FIG. 6, it is necessary to prepare a plurality of types of DIF circuits corresponding to a plurality of types of fraction data width (the size of the fraction data group, in other words, the number of fraction data). Increasing the logical scale is an issue.
以上の課題は、DIF回路以外のチェックコード生成回路、或いは、チェックコード生成回路以外のデータ処理回路(例えば、暗号化処理を行うためのハードウェア回路)での処理を、転送元から転送先へのデータ転送と同じタイミングで行おうとした場合に生じ得る課題である。 The above problem is that the processing in the check code generation circuit other than the DIF circuit or the data processing circuit other than the check code generation circuit (for example, a hardware circuit for performing encryption processing) is transferred from the transfer source to the transfer destination. This is a problem that may occur when an attempt is made at the same timing as the data transfer.
従って、本発明の目的は、アラインされていないデータユニットのデータ転送と並行して特定のデータ処理をハードウェア回路にて行うにあたり論理規模が増大しないようにすることにある。 Accordingly, an object of the present invention is to prevent the logical scale from increasing when specific data processing is performed by a hardware circuit in parallel with data transfer of unaligned data units.
転送元から転送先へ所定の転送単位で転送されるデータユニットの転送経路とは別の位置に、入力されたデータユニットを処理するデータ処理回路と、このデータ処理回路用のアライナとが備えられる。データ処理回路用のアライナは、アライン後のデータユニットの先頭部分に非転送対象のデータが含まれることが無いように、このアライナに入力されたデータユニットのアドレスをアラインするよう構成されている。データ転送に並行して、データ処理回路用のアライナに、転送されるデータユニットが入力され、入力されたデータユニットにおけるデータのアドレスがアラインされ、アライン後のデータユニットがデータ処理回路の入力データ幅単位でデータ処理回路に入力され、データ処理回路に入力されたアライン後のデータユニットが処理される。 A data processing circuit for processing the input data unit and an aligner for the data processing circuit are provided at a position different from the transfer path of the data unit transferred from the transfer source to the transfer destination in a predetermined transfer unit. . The aligner for the data processing circuit is configured to align the address of the data unit input to the aligner so that the non-transfer target data is not included in the head portion of the aligned data unit. In parallel with the data transfer, the data unit to be transferred is input to the aligner for the data processing circuit, the address of the data in the input data unit is aligned, and the aligned data unit is the input data width of the data processing circuit The unit is input to the data processing circuit, and the aligned data unit input to the data processing circuit is processed.
データ処理回路としては、誤り検出回路や、暗号化処理回路など、種々の回路を採用可能である。暗号化処理回路としては、例えば、CFB(Cipher FeedBack)で暗号化する回路を採用することができる。 As the data processing circuit, various circuits such as an error detection circuit and an encryption processing circuit can be employed. As the encryption processing circuit, for example, a circuit that performs encryption using CFB (Cipher FeedBack) can be employed.
以下、図面を参照して、本発明の一実施形態を説明する。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
図1は、本発明の一実施形態に係る情報処理装置を示す。 FIG. 1 shows an information processing apparatus according to an embodiment of the present invention.
情報処理装置300に、内部バス320に接続されている情報処理資源(CPU310及びメインメモリ220等)と、外部記憶装置200と情報処理装置300とを接続しデータ転送を実施するDMAC100を備える。外部記憶装置200は、例えば、複数の物理記憶媒体(例えばハードディスク或いはフラッシュメモリ)を備えたストレージシステム(一例としてディスクアレイ装置)である。情報処理装置300は、例えば、外部記憶装置200から提供される論理ボリュームにブロック単位でデータを読み書きするホスト装置(例えばサーバ)である。DMAC100は、例えば、ホストバスアダプタ(HBA)である。
The
DMAC100は、受信バッファ110と、送信バッファ120と、DIF回路152と、マイクロプログラム制御部130と、DMA制御部210及び211とを備える。
The
受信バッファ110は、外部記憶装置200から読み出されたデータを受信し、受信したデータを記憶し、データをすべて受信し記憶したところでマイクロプログラム制御部130に受信の完了報告を行う機能を持つ。一方、送信バッファ120は、外部記憶装置200に書き込まれるデータを記憶し、バッファ120内のデータをすべて送信したところでマイクロプログラム制御部130に送信の完了報告を行う機能を持つ。受信バッファ110及び送信バッファ120の少なくとも一方が、複数個備えられ、それにより、送信及び/又は受信においてバッファ不足のため送信/受信が不能とならないようになっている。なお、本実施形態では、受信バッファ110には、512Byte単位のデータブロックに8Byteのチェックコードが付加されたデータ/コードセットが格納されるとする。
The
マイクロプログラム制御部130は、CPUやローカルメモリ等を含んでおり、DMAC100を制御するマイクロプログラムをCPUで実行する。マイクロプログラムの機能の一つとして、受信や送信の完了報告を受けたところで、送受信バッファ110、120とメインメモリ220との間のデータ転送指示を行う機能がある。
The
DIF回路152は、送信されるデータブロックにチェックコードを付加するための回路である。DIF回路152は、送信バッファ120から読み出されたデータブロックを基にチェックコードを生成する。生成されたチェックコードは、送信バッファ120から読み出されデータ転送経路を流れるデータブロックに付加されて、外部記憶装置200に送信される。DIF回路152は、データ転送経路と別の位置に設けられている。送信バッファ120から読み出されたデータブロックが、データ転送経路に加えてDIF回路152を並行して経由するか否かは、マイクロプログラム制御部120によって制御される。
The
本実施形態の一つの特徴として、DMA制御部210(211)の構成にある。すなわち、DMA制御部210(211)には、データ転送経路上に設けられたデータ転送用のアライナ140(142)の他に、データ転送経路とは別の位置に、DIF回路150(151)と、DIF回路用のアライナ141(143)が設けられている。このような構成は、受信系のDMA制御部210と送信系のDMA制御部211の一方にだけ採用されて良く他方は例えば図10に示したDMA制御部21又は22の構成であっても良い。なお、以下、データ転送用のアライナを「第一のアライナ」と言い、DIF回路用のアライナを「第二のアライナ」と言う。データブロックが、第一のアライナ140(142)と第二のアライナ141(143)の両方に並行して入力されるか否かは、マイクロプログラム制御部120によって制御される。
One feature of this embodiment is the configuration of the DMA control unit 210 (211). That is, in addition to the data transfer aligner 140 (142) provided on the data transfer path, the DMA control unit 210 (211) has a DIF circuit 150 (151) at a position different from the data transfer path. , An aligner 141 (143) for the DIF circuit is provided. Such a configuration may be employed only in one of the reception-system
第一のアライナ140(142)は、転送先に合わせたアラインを実施する。本実施形態では、転送単位のサイズは、16Byteである。 The first aligner 140 (142) performs alignment according to the transfer destination. In this embodiment, the size of the transfer unit is 16 bytes.
DIF回路150(151)は、チェックコードを検査又は生成するためのハードウェア回路である。DIF回路150(151)の入力データ幅は、固定長、且つ、固定長のデータブロックのサイズの約数である。本実施形態では、データブロックのサイズは512Byteであり、入力データ幅としては、転送単位のサイズと同じ16Byteが採用されている。つまり、転送単位のサイズと同じである。 The DIF circuit 150 (151) is a hardware circuit for inspecting or generating a check code. The input data width of the DIF circuit 150 (151) is a fixed length and a divisor of the size of the fixed length data block. In this embodiment, the size of the data block is 512 bytes, and the input data width is 16 bytes which is the same as the size of the transfer unit. That is, it is the same as the size of the transfer unit.
第二のアライナ141(143)は、転送先ではなくDIF回路150(151)に合わせたアラインを実施する。具体的には、第二のアライナ141(143)は、DIF回路150(151)の入力データ幅に合わせたアラインを実施する。第二のアライナ141(143)は、DIF回路150(151)の上流側(例えば直前)に設けられている。すなわち、受信系のDMA制御部210では、第二のアライナ141は、DIF回路150よりも受信バッファ110側に存在し、送信系のDMA制御部211では、第二のアライナ143は、DIF回路151よりもメインメモリ220側に存在する。
The second aligner 141 (143) performs alignment in accordance with the DIF circuit 150 (151), not the transfer destination. Specifically, the second aligner 141 (143) performs alignment according to the input data width of the DIF circuit 150 (151). The second aligner 141 (143) is provided on the upstream side (for example, immediately before) of the DIF circuit 150 (151). In other words, in the
図4に、第一のアライナ140(142)と第二のアライナ141(143)が同時に使用される例を示す。 FIG. 4 shows an example in which the first aligner 140 (142) and the second aligner 141 (143) are used simultaneously.
すなわち、転送元(受信バッファ110又はメインメモリ220)から転送先(メインメモリ220又は送信バッファ120)へのデータ転送では、転送元から転送先へ転送単位でデータユニットが転送され、そのデータユニットは、第一のアライナ140(142)を経由するため、転送先に合わせたアラインが実施される。すなわち、転送元から「 AB」、「CDEF」、「GHIJ」、「KLMN」、「OP 」の順に読み出されたデータユニットが、「 ABC」、「DEFG」、「HIJK」、「LMNO」、「P 」のようにアラインされる。
That is, in the data transfer from the transfer source (
転送元から転送先へのデータ転送に並行して、下記(A)乃至(D)の処理、
(A)第二のアライナ141(143)に、転送元から読み出されたデータユニットが入力される;
(B)第二のアライナ141(143)によって、第二のアライナ141(143)に入力されたデータユニットにおけるデータのアドレスがアラインされる;
(C)第二のアライナ141(143)によるアライン後のデータユニットがDIF回路150(151)の入力データ幅単位でDIF回路150(151)に入力される;
(D)DIF回路150(151)に入力されたアライン後のデータユニットが処理される;
が行われる。すなわち、同時期に発生したクロックに同期して、データ転送と、前述の(A)乃至(D)の処理が行われる。
In parallel with the data transfer from the transfer source to the transfer destination, the following processes (A) to (D):
(A) The data unit read from the transfer source is input to the second aligner 141 (143);
(B) The second aligner 141 (143) aligns the address of the data in the data unit input to the second aligner 141 (143);
(C) The data unit after alignment by the second aligner 141 (143) is input to the DIF circuit 150 (151) in units of the input data width of the DIF circuit 150 (151);
(D) The aligned data unit input to the DIF circuit 150 (151) is processed;
Is done. That is, data transfer and the processes (A) to (D) described above are performed in synchronization with the clocks generated at the same time.
第二のアライナ141(143)は、転送元から「 AB」、「CDEF」、「GHIJ」、「KLMN」、「OP 」の順に読み出されたデータユニットを、「ABCD」、「EFGH」、「IJKL」、「MNOP」のようにアラインする。すなわち、第二のアライナ141(143)は、アライン後のデータユニットの先頭部分に端数データ(非転送対象データ)が含まれることが無いように、このアライナ141(143)に入力されたデータユニットのアドレスをアラインするよう構成されている。端数データとしては、例えば、フレームのヘッダ情報などがある。 The second aligner 141 (143) reads the data units read from the transfer source in the order of “AB”, “CDEF”, “GHIJ”, “KLMN”, “OP” in the order of “ABCD”, “EFGH”, Align like “IJKL”, “MNOP”. That is, the second aligner 141 (143) is a data unit input to the aligner 141 (143) so that fraction data (non-transfer target data) is not included in the head portion of the aligned data unit. It is configured to align the addresses. Examples of the fraction data include frame header information.
DIFでは、512Byte単位のデータブロックに対して、8Byteのチェックコードが付加される。従って、16Byteの入力データ幅のDIF回路150(151)に合わせて、本実施形態のように、データユニットの先頭部分に端数データが含まれることが無いようにアラインされれば、512Byte÷16Byte=32個のデータユニットの全てに、端数データが含まれることが無い。また、512Byteのデータブロックに8Byteのチェックコードが付加されているが、8Byteのチェックコードは、本実施形態では、必ず、33個目の16Byteのデータユニットの前半部分(上位半分)に存在する。このため、DIF回路150(151)は、32個のデータユニットが入力される都度に、その次に入力されるデータユニットの前半部分に、それら32個のデータユニットで構成されるデータブロックに付属しているチェックコードが存在していることが分かる。これらの理由から、本実施形態では、複数種類の端数データ幅に対応した複数種類のDIF回路を用意する必要は無く、図5及び図7に示すように、一種類のDIF回路150(151)、つまり、入力データ幅が16ByteのDIF回路150(151)があれば足りる。
In DIF, an 8-byte check code is added to a 512-byte data block. Therefore, in accordance with the DIF circuit 150 (151) having an input data width of 16 bytes, if alignment is performed so that fraction data is not included in the head portion of the data unit as in the present embodiment, 512 bytes ÷ 16 bytes = All 32 data units do not contain fractional data. Further, although an 8-byte check code is added to the 512-byte data block, the 8-byte check code is always present in the first half (upper half) of the 33rd 16-byte data unit in this embodiment. For this reason, every
図7によれば、レジスタ701に、DIF計算の初期値sが記憶されており、一つのデータブロックについて、アライン後の先頭のデータユニット(実施例で言う「ABCD」)が入力された場合、そのデータユニットと初期値sとを基に計算され、その計算結果を表す値が、レジスタ701に格納される。次に、その値と、次のアライン後のデータユニット(実施例で言う「EFGH」)とを基に計算され、その計算結果を表す値が、レジスタ701に格納される。以上の処理が、32個のデータユニットについて行われ、33個目のデータユニットについては、比較器703で、レジスタ301に記憶されている値(すなわち、512Byteのデータブロックを基に生成されたチェックコード)と、33個目のデータユニットの前半部分に存在する値(つまり、512Byteのデータブロックに付加されているチェックコード)とが比較される。前述したように、8Byteのチェックコードは、本実施形態では、必ず、33個目の16Byteのデータユニットの前半部分(上位半分)に存在するので、チェックコードの位置の判定が容易である。
According to FIG. 7, when the initial value s of the DIF calculation is stored in the
以上のことから、アラインされていないデータユニットのデータ転送と並行してチェックコードの検査又は生成をDIF回路にて行うにあたり論理規模が増大しないようにすることができる。 From the above, it is possible to prevent the logical scale from increasing when the check code is inspected or generated by the DIF circuit in parallel with the data transfer of the unaligned data units.
図8は、外部記憶装置200から受信バッファ110に格納されたデータ/コードセットを情報処理装置300へ転送するフローを示す。
FIG. 8 shows a flow of transferring the data / code set stored in the
受信バッファ110は、データ格納完了をマイクロプログラム制御部130に報告し(ステップ801)、マイクロプログラム制御部130は、その報告を受けて、DMAの起動指示並びにチェックコードの検査指示をDMA制御部210に対して行う(ステップ802)。これにより、受信バッファ110からメインメモリ220へのデータ転送と、そのデータ転送に並行して、前述した(A)乃至(D)の処理(チェックコードの検査)が行われる(ステップ803)。それらの処理が終わると、DMA制御部210からマイクロプログラム制御部130に完了報告が入力され(ステップ804)、マイクロプログラム制御部130は、DMA終了処理を行う(ステップ805)。
The
図9は、情報処理装置300から外部記憶装置200へデータを送出するために送信バッファ120へデータを転送するフローを示す。
FIG. 9 shows a flow of transferring data to the
マイクロプログラム制御部130は、送信バッファ120に対してバッファの確保を依頼し(ステップ901)、バッファの確保の完了を受け(ステップ902)、DMA起動指示を行う(ステップ903)。これにより、メインメモリ220から送信バッファ120へのデータ転送と、そのデータ転送に並行して、前述した(A)乃至(D)の処理(チェックコードの検査)が行われる(ステップ904)。それらの処理が終わると、DMA制御部211からマイクロプログラム制御部130に完了報告が入力され(ステップ905)、マイクロプログラム制御部130は、DMA終了処理を行う(ステップ906)。
The
なお、ステップ803及び904の少なくともいずれかでは、必ずしもチェックコードの検査が行われなくても良い。換言すれば、チェックコードの検査を行うか否かは、マイクロプログラム制御部130からDMA制御部210(211)への指示で制御される。
Note that at least one of steps 803 and 904 does not necessarily require the check code to be inspected. In other words, whether or not to check the check code is controlled by an instruction from the
例えば、転送元からのデータブロックにチェックコードが付加されていない場合、マイクロプログラム制御部130は、送信元からのデータユニットを、第二のアライナ141又は143に入力しないように制御しても良い。
For example, when the check code is not added to the data block from the transfer source, the
また、例えば、転送元からのデータブロックにチェックコードが付加されていない場合、マイクロプログラム制御部130は、送信元からのデータユニットを、第二のアライナ141又は143に入力し、且つ、DIF回路151で生成されたチェックコードを第一のアライナ140又は142を経由したデータブロックに付加するようDMA制御部210又は211を制御しても良い。
Further, for example, when the check code is not added to the data block from the transfer source, the
また、例えば、転送元からのデータブロックにチェックコードが付加されている場合、マイクロプログラム制御部130は、送信元からのデータユニットを、第二のアライナ141又は143に入力し、且つ、DIF回路151で検査されたチェックコードを転送対象のデータブロックから削除するようDMA制御部210又は211を制御しても良い。なお、このケースでは、DIF回路151でチェックコードの検査は行われなくても良い。
DIFチェックは不要ならしない。
Also, for example, when a check code is added to the data block from the transfer source, the
The DIF check is not unnecessary.
以上、本発明の好適な実施形態を説明したが、本発明は、この実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 As mentioned above, although preferred embodiment of this invention was described, it cannot be overemphasized that this invention can be variously changed in the range which is not limited to this embodiment and does not deviate from the summary.
例えば、転送単位のサイズが入力データ幅のN倍(Nは自然数)であれば、データ転送のためのクロックサイクルは、上記(C)の処理(第二のアライナ141(143)によるアライン後のデータユニットがDIF回路150(151)の入力データ幅単位でDIF回路150(151)に入力される処理)のためのクロックサイクルの1/N倍である。このため、例えば、転送単位のサイズが入力データ幅の2倍であれば、データ転送のためのクロックサイクルは、上記(C)の処理のためのクロックサイクルの1/2倍である。一方、入力データ幅が前記転送単位のサイズのM倍(Mは自然数)であれば、上記(C)の処理のためのクロックサイクルは、データ転送のためのクロックサイクルの1/M倍である。このため、例えば、入力データ幅が転送単位のサイズの2倍であれば、上記(C)の処理のためのクロックサイクルは、データ転送のためのクロックサイクルの1/2倍である。 For example, if the size of the transfer unit is N times the input data width (N is a natural number), the clock cycle for data transfer is performed after the process (C) (after alignment by the second aligner 141 (143)). The data unit is 1 / N times the clock cycle for the input data width unit of the DIF circuit 150 (151) to the DIF circuit 150 (151). Therefore, for example, if the size of the transfer unit is twice the input data width, the clock cycle for data transfer is ½ times the clock cycle for the process (C). On the other hand, if the input data width is M times the size of the transfer unit (M is a natural number), the clock cycle for the process (C) is 1 / M times the clock cycle for data transfer. . Therefore, for example, if the input data width is twice the size of the transfer unit, the clock cycle for the process (C) is ½ times the clock cycle for data transfer.
100・・・DMAC(ダイレクトメモリアクセスコントローラ)、110・・・受信バッファ、120・・・送信バッファ、130・・・マイクロプログラム制御部、140・・・アライナ、141・・・アライナ、142・・・アライナ、143・・・アライナ、150・・・DIF回路、151・・・DIF回路、152・・・DIF回路、200・・・外部記憶装置、300・・・情報処理装置、310・・・中央処理装置、320・・・メインメモリ
DESCRIPTION OF
Claims (6)
前記データ処理回路用のアライナは、アライン後のデータユニットの先頭部分に非転送対象のデータが含まれることが無いように、このアライナに入力されたデータユニットのアドレスをアラインするよう構成されており、
前記転送元から前記転送先へのデータ転送に並行して、
(A)前記データ処理回路用のアライナに、転送されるデータユニットが入力され、
(B)前記データ処理回路用のアライナに入力されたデータユニットにおけるデータのアドレスがアラインされ、
(C)前記データ処理回路用のアライナによるアライン後のデータユニットが前記データ処理回路の入力データ幅単位で前記データ処理回路に入力され、
(D)前記データ処理回路に入力されたアライン後のデータユニットが処理される、
データ転送処理装置。 A data processing circuit for processing the input data unit and an aligner for the data processing circuit are provided at a position different from the transfer path of the data unit transferred from the transfer source to the transfer destination in a predetermined transfer unit,
The aligner for the data processing circuit is configured to align the address of the data unit input to the aligner so that the non-transfer target data is not included in the head portion of the aligned data unit. ,
In parallel with the data transfer from the transfer source to the transfer destination,
(A) The data unit to be transferred is input to the aligner for the data processing circuit,
(B) The address of the data in the data unit input to the aligner for the data processing circuit is aligned,
(C) A data unit after alignment by the aligner for the data processing circuit is input to the data processing circuit in units of input data width of the data processing circuit;
(D) The aligned data unit input to the data processing circuit is processed.
Data transfer processing device.
前記データ転送用のアライナと前記データ処理回路用のアライナとの両方に、アラインされていないデータユニットが所定の転送単位で入力され、
前記データ処理回路は、DIF(Data Integrity Field)回路であり、
前記DIF回路の入力データ幅は、固定長、且つ、前記固定長のデータブロックのサイズの約数であり、
前記転送単位のサイズが前記入力データ幅のN倍(Nは自然数)、或いは、前記入力データ幅が前記転送単位のサイズのM倍(Mは自然数)であり、
前記データ転送と、前記(A)乃至(D)の処理が、同時期に発せられたクロックに同期して行われ、
前記転送単位のサイズが前記入力データ幅のN倍の場合、前記データ転送のためのクロックサイクルは、前記(C)の処理のためのクロックサイクルの1/N倍であり、
前記入力データ幅が前記転送単位のサイズのM倍の場合、前記(C)の処理のためのクロックサイクルは、前記データ転送のためのクロックサイクルの1/M倍である、
請求項1記載のデータ転送処理装置。 An aligner for data transfer is provided on the transfer path,
An unaligned data unit is input in a predetermined transfer unit to both the data transfer aligner and the data processing circuit aligner,
The data processing circuit is a DIF (Data Integrity Field) circuit,
The input data width of the DIF circuit is a fixed length and a divisor of the size of the fixed length data block,
The size of the transfer unit is N times the input data width (N is a natural number), or the input data width is M times the size of the transfer unit (M is a natural number),
The data transfer and the processes (A) to (D) are performed in synchronization with a clock generated at the same time,
When the size of the transfer unit is N times the input data width, the clock cycle for the data transfer is 1 / N times the clock cycle for the processing of (C),
When the input data width is M times the size of the transfer unit, the clock cycle for the process (C) is 1 / M times the clock cycle for the data transfer.
The data transfer processing device according to claim 1.
請求項2記載のデータ転送処理装置。 The data transfer processing device is a host bus adapter provided in an information processing device for communicating with an external storage device.
The data transfer processing device according to claim 2.
前記チェックコード生成回路の入力データ幅は、固定長、且つ、前記固定長のデータブロックのサイズの約数である、
請求項1記載のデータ転送処理装置。 The data processing circuit is a check code generation circuit that generates a check code corresponding to each size of a fixed-length data block,
The input data width of the check code generation circuit is a fixed length, and is a divisor of the size of the fixed length data block.
The data transfer processing device according to claim 1.
(A)転送されるデータユニットをデータ処理回路用にアラインし、
(B)データ処理回路用にアラインされた後のデータユニットを、前記データ処理回路の入力データ幅単位で前記データ処理回路に入力し、
(C)前記データ処理回路が、入力されたアライン後のデータユニットを処理する、
データ転送処理方法。 In parallel with the data transfer in a predetermined transfer unit from the transfer source to the transfer destination,
(A) align the data unit to be transferred for the data processing circuit;
(B) The data unit after being aligned for the data processing circuit is input to the data processing circuit in units of input data width of the data processing circuit;
(C) The data processing circuit processes the input data unit after alignment.
Data transfer processing method.
前記情報処理部が外部記憶装置と通信するための通信インタフェース装置と
を備え、
前記通信インタフェース装置が、前記外部記憶装置から読み出されたデータブロックが流れる読出し部と、前記外部記憶装置に書き込まれるデータブロックが流れる書込み部との少なくともいずれかにおいて、所定の転送単位で転送されるデータユニットが流れる経路とは別の位置に、入力されたデータユニットを処理するデータ処理回路と、このデータ処理回路用のアライナとを備え、
前記データ処理回路用のアライナは、アライン後のデータユニットの先頭部分に非転送対象のデータが含まれることが無いように、このアライナに入力されたデータユニットのアドレスをアラインするよう構成されており、
前記転送元から前記転送先へのデータ転送に並行して、
(A)前記データ処理回路用のアライナに、転送されるデータユニットが入力され、
(B)前記データ処理回路用のアライナに入力されたデータユニットにおけるデータのアドレスがアラインされ、
(C)前記データ処理回路用のアライナによるアライン後のデータユニットが前記データ処理回路の入力データ幅単位で前記データ処理回路に入力され、
(D)前記データ処理回路に入力されたアライン後のデータユニットが処理される、
情報処理装置。 An information processing unit including a CPU and a memory;
A communication interface device for the information processing unit to communicate with an external storage device;
The communication interface device transfers data in a predetermined transfer unit in at least one of a reading unit in which a data block read from the external storage device flows and a writing unit in which a data block written to the external storage device flows. A data processing circuit for processing the input data unit, and an aligner for the data processing circuit, at a position different from the path through which the data unit flows.
The aligner for the data processing circuit is configured to align the address of the data unit input to the aligner so that the non-transfer target data is not included in the head portion of the aligned data unit. ,
In parallel with the data transfer from the transfer source to the transfer destination,
(A) The data unit to be transferred is input to the aligner for the data processing circuit,
(B) The address of the data in the data unit input to the aligner for the data processing circuit is aligned,
(C) A data unit after alignment by the aligner for the data processing circuit is input to the data processing circuit in units of input data width of the data processing circuit;
(D) The aligned data unit input to the data processing circuit is processed.
Information processing device.
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)
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 |
US8364853B2 (en) | 2011-06-01 | 2013-01-29 | 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 |
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 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159075B (en) * | 2019-12-31 | 2021-11-05 | 成都海光微电子技术有限公司 | Data transmission method and data transmission device |
Citations (6)
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 |
-
2008
- 2008-12-10 JP JP2008313917A patent/JP5107880B2/en not_active Expired - Fee Related
Patent Citations (6)
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)
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 |
US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
US8108570B2 (en) | 2008-02-14 | 2012-01-31 | International Business Machines Corporation | Determining the state of an I/O operation |
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 |
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 |
US9483433B2 (en) | 2008-02-14 | 2016-11-01 | International Business Machines Corporation | Processing communication data in a ships passing condition |
US8312189B2 (en) | 2008-02-14 | 2012-11-13 | International Business Machines Corporation | Processing of data to monitor input/output operations |
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 |
US8838860B2 (en) | 2008-02-14 | 2014-09-16 | International Business Machines Corporation | Determining extended capability of a channel path |
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 |
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 |
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 |
US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
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 |
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 |
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 |
US8892781B2 (en) | 2008-02-14 | 2014-11-18 | International Business Machines Corporation | Bi-directional data transfer within a single I/O operation |
US8977793B2 (en) | 2008-02-14 | 2015-03-10 | 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 |
US8972615B2 (en) | 2009-11-12 | 2015-03-03 | International Business Machines Corporation | Communication with input/output system devices |
US8332542B2 (en) | 2009-11-12 | 2012-12-11 | 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 |
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 |
US8769253B2 (en) | 2011-06-01 | 2014-07-01 | 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 |
US8683083B2 (en) | 2011-06-01 | 2014-03-25 | 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 |
US8364853B2 (en) | 2011-06-01 | 2013-01-29 | 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 |
US8738811B2 (en) | 2011-06-01 | 2014-05-27 | International Business Machines Corporation | Fibre channel input/output data routing system and method |
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 |
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 |
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 |
US9195394B2 (en) | 2013-05-29 | 2015-11-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 |
---|---|---|
JP5107880B2 (en) | Data transfer processing apparatus and method | |
EP3542276B1 (en) | Flow control in remote direct memory access data communications with mirroring of ring buffers | |
CN106575206B (en) | Memory write management in a computer system | |
TWI430085B (en) | Method, integrated circuit, and system for efficient in-band reliability with separate cyclic redundancy code frames and dynamic random access memory device | |
JP5010271B2 (en) | Error correction code generation method and memory control device | |
US20070271468A1 (en) | Method and Apparatus for Maintaining Data Integrity When Switching Between Different Data Protection Methods | |
US20050289253A1 (en) | Apparatus and method for a multi-function direct memory access core | |
JP2013137708A (en) | Memory controller, data storage device, and memory control method | |
US20160092123A1 (en) | Memory write management in a computer system | |
US6496878B1 (en) | Transfer progress alert module | |
JP2005078596A (en) | Control method for data transfer device, data transfer device, channel controller, and storage device controller | |
JP2008217214A (en) | Computer system and host computer | |
US9753876B1 (en) | Processing of inbound back-to-back completions in a communication system | |
JP4839364B2 (en) | Combined command and data code | |
US8291270B2 (en) | Request processing device, request processing system, and access testing method | |
US7213180B2 (en) | Bus bridge circuit, bus connection system, and data error notification method for bus bridge circuit | |
US10277533B2 (en) | Cut-through bridge error isolation | |
US8589735B2 (en) | Creating randomly ordered fields while maintaining the temporal ordering based on the value of the fields | |
US12105658B2 (en) | Intra-chip and inter-chip data protection | |
JP2008033657A (en) | Memory control device, information processor and memory control method | |
JP2007179084A (en) | Disk device, and method of transferring data written in disk | |
CN113454611A (en) | Method for verifying the integrity of address and control signals in functional security applications, related products, and related products | |
JP2007080183A (en) | Data processor and its control method | |
JP2006065394A (en) | Failure detection device | |
WO2016151774A1 (en) | Information processing device, information processing system, and control program of 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 |