JP5107880B2 - データ転送処理装置及び方法 - Google Patents

データ転送処理装置及び方法 Download PDF

Info

Publication number
JP5107880B2
JP5107880B2 JP2008313917A JP2008313917A JP5107880B2 JP 5107880 B2 JP5107880 B2 JP 5107880B2 JP 2008313917 A JP2008313917 A JP 2008313917A JP 2008313917 A JP2008313917 A JP 2008313917A JP 5107880 B2 JP5107880 B2 JP 5107880B2
Authority
JP
Japan
Prior art keywords
data
transfer
unit
processing circuit
aligner
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.)
Expired - Fee Related
Application number
JP2008313917A
Other languages
English (en)
Other versions
JP2010140127A (ja
Inventor
貴司 戸▲高▼
崇 田村
利晋 宮越
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
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/ja
Publication of JP2010140127A publication Critical patent/JP2010140127A/ja
Application granted granted Critical
Publication of JP5107880B2 publication Critical patent/JP5107880B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、データの転送処理に関し、具体的には、例えば、サーバ等の情報処理装置に備えられるホストバスアダプタ(HBA)等の通信インタフェース装置におけるデータ転送処理に関する。
サーバ等の情報処理装置には、例えば特許文献1に開示されているような、通信インタフェース装置が搭載される。情報処理装置は、通信インタフェース装置を介して、外部記憶装置等の外部の装置と通信する。
特開2002−183072号公報
情報処理装置には、情報処理装置全体の性能向上の観点から、ダイレクトメモリアクセスコントローラ(DMAC)と呼ばれるデータ転送処理装置が備えられることがある。DMACでは、CPU(Central Processing Unit)に代わってデータ転送が行われる。
図10に、DMACの構成の一例を示す。
DMAC10は、例えば、外部記憶装置(例えばディスクアレイ装置)20と通信するための通信インタフェース装置(例えばホストバスアダプタ(HBA))である。DMAC10は、外部記憶装置20と通信し、且つ、CPU31及びメインメモリ22を含んだ情報処理資源と内部バス32を介して通信する。
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全体の性能が向上する。
送受信バッファ11及び12は、外部記憶装置20とデータをやり取りするため、各種インタフェース規格ごとにデータ以外にも制御用の情報が付加されることになる。このため、送受信バッファ11及び12内のデータはアラインされているとは限らない。
また、データの転送先または転送元となる情報処理装置30内のメモリアドレスは、情報処理資源におけるアプリケーションプログラムによって指定される。このため、送受信バッファ11及び12と転送先または転送元となる情報処理資源内のメモリアドレスがずれて、アラインされない可能性がある。
以上の理由から、アラインされない場合に対応したデータ転送を行う必要がある。そこで、図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で白色のブロックで表示されているデータ)は、転送先で必要とされないデータ(非転送対象データ)である。
また、データ転送においては、データの検査を行うことが信頼性向上のために求められている。データの検査の代表的な手法の一つに、巡回冗長検査がある。巡回冗長検査では、所定サイズのデータブロックに対して生成多項式を適用し、チェックコードが生成される。例えば、転送元で、所定サイズのデータブロックに別の所定サイズのチェックコードが付加され、データブロックとチェックコードとのセット(以下、データ/コードセット)が転送先に送られる。転送先では、送られて来たデータ/コードセットにおけるデータブロックに対して生成多項式が適用され、それ故、再度チェックコードが生成され、生成されたチェックコードが、データ/コードセットにおけるチェックコードと一致するか否かが判定される。このようにして、データの完全性が保証される。
巡回冗長検査は、各種インタフェース規格において定められており、チェックコード生成のための生成多項式や計算方法がそれぞれ定められている。
巡回冗長検査の一例として、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)。
図10に示したDMAC10では、バッファ11(12)にデータ/コードセットが一時的に格納されているため、データ転送の前にマイクロプログラム制御部13がバッファ11(12)からデータ/コードセットを読み出すことで、DIFによるチェックコードの検査または生成を行うことが可能である。
しかし、マイクロプログラム制御部13でDIFによるチェックコードの検査または生成を実施すると、その処理の間、バッファ11(12)を占有してしまい、送受信の多重度を下げてしまうことと、これまで行わなかったマイクロプログラム処理を実施することによるDMAC10の性能低下が想定される。
DMAC10の性能低下を防ぐための方法として、データ転送とチェックコードの検査または生成を並行して行うことが考えられる。
データ転送と並行してDIFのチェックコードの検査または生成を行うためには、チェックコードの検査または生成を行うハードウェア回路(以下、DIF回路)を設け、転送元からデータユニットを読み出す際、または転送先にデータユニットを書き込む際に、それと同じタイミングでDIF回路にデータユニットを入力する方法が考えられる。言い換えれば、データ転送経路上の、図10に示すアライナ14(15)の上流側(転送元側)又は下流側(転送先側)に、DIF回路を設ける方法が考えられる。
図3に、転送先へデータユニットを書き込む際にそのデータユニットをDIF回路に入力する例を示す。最初のデータユニット「 ABC」に対しては、12Byte幅のデータに対するDIF回路が必要となる。なぜなら、転送対象データの数は3つであるため3×4Byte=12Byteが転送対象データ群のサイズであるからである。同様の理由から、続くデータユニット「DEFG」、「HIJK」、「LMNO」のデータユニットに対しては、16Byte幅のデータに対するDIF回路が必要となり、最後の「P 」のデータユニットについては4Byteのデータ幅のDIF回路が必要となる。
このように、アラインされていないデータユニットに対してチェックコードの検査または生成をデータ転送と同じタイミングで行おうとすると、各データブロックにつき、転送の最初のデータユニットと最後のデータユニットに端数データ(非転送対象データ)が現れる場合がある。このため、図6に示すように、複数種類の端数データ幅(端数データ群のサイズ、言い換えれば端数データの数)に応じた複数種類のDIF回路を用意する必要が生じ、回路実現のための論理規模の増大が課題となる。
以上の課題は、DIF回路以外のチェックコード生成回路、或いは、チェックコード生成回路以外のデータ処理回路(例えば、暗号化処理を行うためのハードウェア回路)での処理を、転送元から転送先へのデータ転送と同じタイミングで行おうとした場合に生じ得る課題である。
従って、本発明の目的は、アラインされていないデータユニットのデータ転送と並行して特定のデータ処理をハードウェア回路にて行うにあたり論理規模が増大しないようにすることにある。
転送元から転送先へ所定の転送単位で転送されるデータユニットの転送経路とは別の位置に、入力されたデータユニットを処理するデータ処理回路と、このデータ処理回路用のアライナとが備えられる。データ処理回路用のアライナは、アライン後のデータユニットの先頭部分に非転送対象のデータが含まれることが無いように、このアライナに入力されたデータユニットのアドレスをアラインするよう構成されている。データ転送に並行して、データ処理回路用のアライナに、転送されるデータユニットが入力され、入力されたデータユニットにおけるデータのアドレスがアラインされ、アライン後のデータユニットがデータ処理回路の入力データ幅単位でデータ処理回路に入力され、データ処理回路に入力されたアライン後のデータユニットが処理される。
データ処理回路としては、誤り検出回路や、暗号化処理回路など、種々の回路を採用可能である。暗号化処理回路としては、例えば、CFB(Cipher FeedBack)で暗号化する回路を採用することができる。
以下、図面を参照して、本発明の一実施形態を説明する。
図1は、本発明の一実施形態に係る情報処理装置を示す。
情報処理装置300に、内部バス320に接続されている情報処理資源(CPU310及びメインメモリ220等)と、外部記憶装置200と情報処理装置300とを接続しデータ転送を実施するDMAC100を備える。外部記憶装置200は、例えば、複数の物理記憶媒体(例えばハードディスク或いはフラッシュメモリ)を備えたストレージシステム(一例としてディスクアレイ装置)である。情報処理装置300は、例えば、外部記憶装置200から提供される論理ボリュームにブロック単位でデータを読み書きするホスト装置(例えばサーバ)である。DMAC100は、例えば、ホストバスアダプタ(HBA)である。
DMAC100は、受信バッファ110と、送信バッファ120と、DIF回路152と、マイクロプログラム制御部130と、DMA制御部210及び211とを備える。
受信バッファ110は、外部記憶装置200から読み出されたデータを受信し、受信したデータを記憶し、データをすべて受信し記憶したところでマイクロプログラム制御部130に受信の完了報告を行う機能を持つ。一方、送信バッファ120は、外部記憶装置200に書き込まれるデータを記憶し、バッファ120内のデータをすべて送信したところでマイクロプログラム制御部130に送信の完了報告を行う機能を持つ。受信バッファ110及び送信バッファ120の少なくとも一方が、複数個備えられ、それにより、送信及び/又は受信においてバッファ不足のため送信/受信が不能とならないようになっている。なお、本実施形態では、受信バッファ110には、512Byte単位のデータブロックに8Byteのチェックコードが付加されたデータ/コードセットが格納されるとする。
マイクロプログラム制御部130は、CPUやローカルメモリ等を含んでおり、DMAC100を制御するマイクロプログラムをCPUで実行する。マイクロプログラムの機能の一つとして、受信や送信の完了報告を受けたところで、送受信バッファ110、120とメインメモリ220との間のデータ転送指示を行う機能がある。
DIF回路152は、送信されるデータブロックにチェックコードを付加するための回路である。DIF回路152は、送信バッファ120から読み出されたデータブロックを基にチェックコードを生成する。生成されたチェックコードは、送信バッファ120から読み出されデータ転送経路を流れるデータブロックに付加されて、外部記憶装置200に送信される。DIF回路152は、データ転送経路と別の位置に設けられている。送信バッファ120から読み出されたデータブロックが、データ転送経路に加えてDIF回路152を並行して経由するか否かは、マイクロプログラム制御部120によって制御される。
本実施形態の一つの特徴として、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によって制御される。
第一のアライナ140(142)は、転送先に合わせたアラインを実施する。本実施形態では、転送単位のサイズは、16Byteである。
DIF回路150(151)は、チェックコードを検査又は生成するためのハードウェア回路である。DIF回路150(151)の入力データ幅は、固定長、且つ、固定長のデータブロックのサイズの約数である。本実施形態では、データブロックのサイズは512Byteであり、入力データ幅としては、転送単位のサイズと同じ16Byteが採用されている。つまり、転送単位のサイズと同じである。
第二のアライナ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側に存在する。
図4に、第一のアライナ140(142)と第二のアライナ141(143)が同時に使用される例を示す。
すなわち、転送元(受信バッファ110又はメインメモリ220)から転送先(メインメモリ220又は送信バッファ120)へのデータ転送では、転送元から転送先へ転送単位でデータユニットが転送され、そのデータユニットは、第一のアライナ140(142)を経由するため、転送先に合わせたアラインが実施される。すなわち、転送元から「 AB」、「CDEF」、「GHIJ」、「KLMN」、「OP 」の順に読み出されたデータユニットが、「 ABC」、「DEFG」、「HIJK」、「LMNO」、「P 」のようにアラインされる。
転送元から転送先へのデータ転送に並行して、下記(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)の処理が行われる。
第二のアライナ141(143)は、転送元から「 AB」、「CDEF」、「GHIJ」、「KLMN」、「OP 」の順に読み出されたデータユニットを、「ABCD」、「EFGH」、「IJKL」、「MNOP」のようにアラインする。すなわち、第二のアライナ141(143)は、アライン後のデータユニットの先頭部分に端数データ(非転送対象データ)が含まれることが無いように、このアライナ141(143)に入力されたデータユニットのアドレスをアラインするよう構成されている。端数データとしては、例えば、フレームのヘッダ情報などがある。
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)があれば足りる。
図7によれば、レジスタ701に、DIF計算の初期値sが記憶されており、一つのデータブロックについて、アライン後の先頭のデータユニット(実施例で言う「ABCD」)が入力された場合、そのデータユニットと初期値sとを基に計算され、その計算結果を表す値が、レジスタ701に格納される。次に、その値と、次のアライン後のデータユニット(実施例で言う「EFGH」)とを基に計算され、その計算結果を表す値が、レジスタ701に格納される。以上の処理が、32個のデータユニットについて行われ、33個目のデータユニットについては、比較器703で、レジスタ301に記憶されている値(すなわち、512Byteのデータブロックを基に生成されたチェックコード)と、33個目のデータユニットの前半部分に存在する値(つまり、512Byteのデータブロックに付加されているチェックコード)とが比較される。前述したように、8Byteのチェックコードは、本実施形態では、必ず、33個目の16Byteのデータユニットの前半部分(上位半分)に存在するので、チェックコードの位置の判定が容易である。
以上のことから、アラインされていないデータユニットのデータ転送と並行してチェックコードの検査又は生成をDIF回路にて行うにあたり論理規模が増大しないようにすることができる。
図8は、外部記憶装置200から受信バッファ110に格納されたデータ/コードセットを情報処理装置300へ転送するフローを示す。
受信バッファ110は、データ格納完了をマイクロプログラム制御部130に報告し(ステップ801)、マイクロプログラム制御部130は、その報告を受けて、DMAの起動指示並びにチェックコードの検査指示をDMA制御部210に対して行う(ステップ802)。これにより、受信バッファ110からメインメモリ220へのデータ転送と、そのデータ転送に並行して、前述した(A)乃至(D)の処理(チェックコードの検査)が行われる(ステップ803)。それらの処理が終わると、DMA制御部210からマイクロプログラム制御部130に完了報告が入力され(ステップ804)、マイクロプログラム制御部130は、DMA終了処理を行う(ステップ805)。
図9は、情報処理装置300から外部記憶装置200へデータを送出するために送信バッファ120へデータを転送するフローを示す。
マイクロプログラム制御部130は、送信バッファ120に対してバッファの確保を依頼し(ステップ901)、バッファの確保の完了を受け(ステップ902)、DMA起動指示を行う(ステップ903)。これにより、メインメモリ220から送信バッファ120へのデータ転送と、そのデータ転送に並行して、前述した(A)乃至(D)の処理(チェックコードの検査)が行われる(ステップ904)。それらの処理が終わると、DMA制御部211からマイクロプログラム制御部130に完了報告が入力され(ステップ905)、マイクロプログラム制御部130は、DMA終了処理を行う(ステップ906)。
なお、ステップ803及び904の少なくともいずれかでは、必ずしもチェックコードの検査が行われなくても良い。換言すれば、チェックコードの検査を行うか否かは、マイクロプログラム制御部130からDMA制御部210(211)への指示で制御される。
例えば、転送元からのデータブロックにチェックコードが付加されていない場合、マイクロプログラム制御部130は、送信元からのデータユニットを、第二のアライナ141又は143に入力しないように制御しても良い。
また、例えば、転送元からのデータブロックにチェックコードが付加されていない場合、マイクロプログラム制御部130は、送信元からのデータユニットを、第二のアライナ141又は143に入力し、且つ、DIF回路151で生成されたチェックコードを第一のアライナ140又は142を経由したデータブロックに付加するようDMA制御部210又は211を制御しても良い。
また、例えば、転送元からのデータブロックにチェックコードが付加されている場合、マイクロプログラム制御部130は、送信元からのデータユニットを、第二のアライナ141又は143に入力し、且つ、DIF回路151で検査されたチェックコードを転送対象のデータブロックから削除するようDMA制御部210又は211を制御しても良い。なお、このケースでは、DIF回路151でチェックコードの検査は行われなくても良い。
DIFチェックは不要ならしない。
以上、本発明の好適な実施形態を説明したが、本発明は、この実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
例えば、転送単位のサイズが入力データ幅の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倍である。
本発明の一実施形態に係る情報処理装置を示す。 アラインされていないデータユニットの転送の例を示した図である。 図2のデータ転送において転送先に書き込む際にDIF回路にデータを入力する例を示した図である。 本発明の一実施形態でDIF回路用のアラインを実施した場合のデータ転送の例を示した図である。 図4に示したアラインを実施した際のDIF計算を行う例を示した図である。 図3に示したDIF計算に関わるハードウェア構成を示した図である。 図5に示したDIF計算に関わるハードウェア構成を示した図である。 受信バッファからメインメモリへのデータ転送フローを示した図である。 メインメモリから送信バッファへのデータ転送フローを示した図である。 マイクロプログラム制御部がDIF計算を行なうDMACを備えた情報処理装置を示す。
符号の説明
100・・・DMAC(ダイレクトメモリアクセスコントローラ)、110・・・受信バッファ、120・・・送信バッファ、130・・・マイクロプログラム制御部、140・・・アライナ、141・・・アライナ、142・・・アライナ、143・・・アライナ、150・・・DIF回路、151・・・DIF回路、152・・・DIF回路、200・・・外部記憶装置、300・・・情報処理装置、310・・・中央処理装置、320・・・メインメモリ

Claims (7)

  1. 転送元から転送先へ転送されるデータユニットの転送経路上に設けられ、前記転送されるデータユニットを前記転送先のアドレスにあわせて所定の転送単位でアラインするデータ転送用のアライナと、
    前記転送経路とは別の位置に設けられたデータ処理回路と接続し、前記データユニットの前記転送先への転送と並行して前記データユニットが入力され、入力された前記データユニットを前記データユニットの転送対象データから構成されるデータユニットに、前記データ処理回路の固定された入力データ幅単位でアラインするデータ処理回路用のアライナと、を備え、
    前記データ処理回路は、前記データ処理回路の前記固定された入力データ幅単位でアラインされた前記データユニットを処理するデータ転送処理装置。
  2. 前記データ転送用のアライナと前記データ処理回路用のアライナとの両方に、アラインされていないデータユニットが前記所定の転送単位で入力され、
    前記データ処理回路は、DIF(Data Integrity Field)回路であり、
    前記データ処理回路の前記固定された入力データ幅は、固定長のデータブロックのサイズの約数であり、
    前記データユニットの前記転送先への転送と、前記データ処理回路用のアライナと前記データ処理回路での処理が、同時期に発せられたクロックに同期して行われ
    請求項1記載のデータ転送処理装置。
  3. 前記データ転送処理装置は、外部記憶装置と通信する情報処理装置に備えられるホストバスアダプタである、
    請求項2記載のデータ転送処理装置。
  4. 前記データ処理回路は、固定長のデータブロックのサイズ毎に対応したチェックコードを生成するチェックコード生成回路であり、
    前記チェックコード生成回路の前記固定された入力データ幅は、前記固定長のデータブロックのサイズの約数である、
    請求項1記載のデータ転送処理装置。
  5. 前記所定の転送単位のサイズが前記固定された入力データ幅のN倍(Nは自然数)、或いは、前記固定された入力データ幅が前記所定の転送単位のサイズのM倍(Mは自然数)であり、
    前記所定の転送単位のサイズが前記固定された入力データ幅のN倍の場合、前記データ転送のためのクロックサイクルは、前記データ処理回路用のアライナにより前記固定された入力データ幅単位でアラインされた前記データユニットが前記データ処理回路に入力される処理のためのクロックサイクルの1/N倍であり、
    前記固定された入力データ幅が前記所定の転送単位のサイズのM倍の場合、前記データ処理回路用のアライナにより前記固定された入力データ幅単位でアラインされた前記データユニットが前記データ処理回路に入力される処理のためのクロックサイクルは、前記データ転送のためのクロックサイクルの1/M倍である、
    請求項2記載のデータ転送処理装置。
  6. (A)前記転送元から前記転送先へ転送されるデータユニットの転送経路上に設けられ、前記転送されるデータユニットを前記転送先のアドレスにあわせて所定の転送単位でアラインし、
    (B)前記データユニットの前記転送先への転送と並行して前記データユニットが入力され、入力された前記データユニットを前記データユニットの転送対象データから構成されるデータユニットに、前記データ処理回路の固定された入力データ幅単位でアラインし、
    (C)前記データ処理回路が、前記データ処理回路の前記固定された入力データ幅単位でアラインされた前記データユニットを処理する、
    データ転送処理方法。
  7. CPU及びメモリを含んだ情報処理部と、
    前記情報処理部が外部記憶装置と通信するための通信インタフェース装置と
    を備え、
    前記通信インタフェース装置が、前記外部記憶装置から読み出されたデータブロックが流れる読出し部と、前記外部記憶装置に書き込まれるデータブロックが流れる書込み部との少なくともいずれかにおいて、
    転送元から転送先へ転送されるデータユニットの転送経路上に設けられ、前記転送されるデータユニットを前記転送先のアドレスにあわせて所定の転送単位でアラインするデータ転送用のアライナと、
    前記転送経路とは別の位置に設けられたデータ処理回路と接続し、前記データユニットの前記転送先への転送と並行して前記データユニットが入力され、入力された前記データユニットを前記データユニットの転送対象データから構成されるデータユニットに、前記データ処理回路の固定された入力データ幅単位でアラインするデータ処理回路用のアライナと
    を備え、
    前記データ処理回路は、前記データ処理回路の前記固定された入力データ幅単位でアラインされた前記データユニットを処理する
    情報処理装置。
JP2008313917A 2008-12-10 2008-12-10 データ転送処理装置及び方法 Expired - Fee Related JP5107880B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008313917A JP5107880B2 (ja) 2008-12-10 2008-12-10 データ転送処理装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008313917A JP5107880B2 (ja) 2008-12-10 2008-12-10 データ転送処理装置及び方法

Publications (2)

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

Family

ID=42350237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008313917A Expired - Fee Related JP5107880B2 (ja) 2008-12-10 2008-12-10 データ転送処理装置及び方法

Country Status (1)

Country Link
JP (1) JP5107880B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159075A (zh) * 2019-12-31 2020-05-15 成都海光微电子技术有限公司 数据传输方法和数据传输装置

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7500023B2 (en) 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
US8108570B2 (en) 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
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
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
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
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
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
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
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
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
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
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
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
US8738811B2 (en) 2011-06-01 2014-05-27 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
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
US8583988B2 (en) 2011-06-01 2013-11-12 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
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
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5977558A (ja) * 1982-10-27 1984-05-04 Toshiba Corp デ−タ転送方式
JPH05342090A (ja) * 1992-06-11 1993-12-24 Fujitsu Ltd データ処理装置
JPH07210471A (ja) * 1994-01-20 1995-08-11 Fujitsu Ltd 情報処理装置
JP4615122B2 (ja) * 2000-12-13 2011-01-19 株式会社日立製作所 インタフェース制御装置
JP4407104B2 (ja) * 2002-08-30 2010-02-03 富士ゼロックス株式会社 信号伝送システム
JP2007188357A (ja) * 2006-01-13 2007-07-26 Fujitsu Ltd データ転送装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159075A (zh) * 2019-12-31 2020-05-15 成都海光微电子技术有限公司 数据传输方法和数据传输装置

Also Published As

Publication number Publication date
JP2010140127A (ja) 2010-06-24

Similar Documents

Publication Publication Date Title
JP5107880B2 (ja) データ転送処理装置及び方法
CN106575206B (zh) 计算机系统中的存储器写入管理
US20040255225A1 (en) Control circuit for error checking and correction and memory controller
US20070271468A1 (en) Method and Apparatus for Maintaining Data Integrity When Switching Between Different Data Protection Methods
JP5010271B2 (ja) エラー訂正コード生成方法、およびメモリ制御装置
EP3542276B1 (en) Flow control in remote direct memory access data communications with mirroring of ring buffers
JP2013137708A (ja) メモリコントローラ、データ記憶装置およびメモリ制御方法
JP5301668B2 (ja) インバンドのデータ・マスク・ビットの転送システム、方法、及び装置
CN106205728B (zh) 奇偶校验电路及包括该奇偶校验电路的存储器装置
JP2009301194A (ja) 半導体記憶装置の制御システム
CN108073471B (zh) 链接的存储系统和主机系统错误校正码
JP2006190257A (ja) データ転送装置およびデータ転送方法
JPH087697B2 (ja) 制御情報のインテグリティを維持するための装置及び方法
JP2005078596A (ja) データ転送装置の制御方法、データ転送装置、チャネル制御装置、及び記憶デバイス制御装置
US9753876B1 (en) Processing of inbound back-to-back completions in a communication system
US8291270B2 (en) Request processing device, request processing system, and access testing method
US9563500B2 (en) Storage integrity validator
US7213180B2 (en) Bus bridge circuit, bus connection system, and data error notification method for bus bridge circuit
US9043655B2 (en) Apparatus and control method
US20120297250A1 (en) Creating randomly ordered fields while maintaining the temporal ordering based on the value of the fields
US20230085149A1 (en) Intra-chip and inter-chip data protection
JP2008033657A (ja) メモリ制御装置および情報処理装置並びにメモリ制御方法
EP4202685A1 (en) Algebraic and deterministic memory authentication and correction with coupled cacheline metadata
JP2012010108A (ja) データ処理回路及びデータ処理方法
JP2007179084A (ja) ディスク装置およびディスク書込データ転送方法

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