JP5146284B2 - データ転送装置及びデータ転送方法 - Google Patents

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

Info

Publication number
JP5146284B2
JP5146284B2 JP2008302905A JP2008302905A JP5146284B2 JP 5146284 B2 JP5146284 B2 JP 5146284B2 JP 2008302905 A JP2008302905 A JP 2008302905A JP 2008302905 A JP2008302905 A JP 2008302905A JP 5146284 B2 JP5146284 B2 JP 5146284B2
Authority
JP
Japan
Prior art keywords
data transfer
control means
command
issued
request
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
JP2008302905A
Other languages
English (en)
Other versions
JP2010128803A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008302905A priority Critical patent/JP5146284B2/ja
Priority to US12/623,827 priority patent/US8713205B2/en
Publication of JP2010128803A publication Critical patent/JP2010128803A/ja
Application granted granted Critical
Publication of JP5146284B2 publication Critical patent/JP5146284B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、データ転送装置及びデータ転送方法に関する。
近年、データ転送効率向上の観点から、コマンドとデータのフェーズを分離し、コマンドを先に送ることが可能な技術が研究されている(特許文献1)。
例えば、特許文献1のような機能を持つDMAC(Direct Memory Access Controller)を複数備え、Arbiter(アービタ)の調停によってDRAMC(Dynamic Random Access Memory Controller)との間でデータの送受信を行うデータ転送装置を考えた場合、ある任意のDMACに不具合が発生した場合、データ転送装置全体をリセットするのではなく、不具合が発生したDMACのみをリセットしたいという要望がある。
一方、アービトレーション又はセレクション動作の終了を待って動作停止を行わせ、相手方との接続が不良な状態での停止を防止する技術が開示されている(特許文献2)。
特開2005−158127号公報 特開平5−151156号公報
しかしながら、特許文献1のようにコマンドを先に送るDMACに対して、特許文献2のようにリセット制御を行ったとしても、データ転送装置全体のデータ転送が継続できない状態になるという問題点がある。
以下、この問題点について説明する。まず、コマンドを先に送るDMACとアービタ間のREAD(リード)におけるタイミングチャート例について説明する。図1は、DMACとアービタ間におけるタイミングチャート例を示す図である。
DMACのコマンド要求(com_req)に対し、DRAMCはアービタを介してコマンド受付(com_ack)をアサートする。次に、DRAMCは、アービタを介してDMACにリードデータを出力し、DMACは、データ受付(data_ack)をアサートすることでリードデータを受け取る。
次に、アービタとDRAMC間のリードにおけるタイミングチャート例について説明する。図2は、アービタとDRAMC間のタイミングチャート例を示す図である。アービタはDMAC毎に、どのDMACであるかを識別するためにタグを割付けてDRAMCに対してコマンドを発行する。次に、DRAMCは、データフェーズでタグをアービタに返し、アービタはタグによってリードデータをDMACに振り分ける。
次に、上記問題点が発生する場合のタイミングチャート例について説明する。図3は、データ転送継続不能となる場合のタイミングチャート例を示す図である。DMACはコマンドを発行した後、データの送受信を行う前にリセットが要求されると、リセットされたDMACは、DRAMCからのデータフェーズの要求に応答することができず、DRAMCが応答待ち状態となってしまうという問題が発生する。つまり、コマンドフェーズからデータフェーズの間(t期間)にコマンドを発行したDMACをリセットすると、データ転送装置全体が転送を継続できない状態になってしまう。
本発明は、上記問題に鑑みてなされたものであり、コマンド発行とデータ転送を独立して制御するデータ転送制御手段を複数備えるデータ転送装置において、任意のデータ転送制御手段をリセットした場合に、その他のデータ転送制御手段に影響を与えずにデータ転送を継続させることができるデータ転送装置及びデータ転送方法を提供することを目的とする。
本発明の一局面のデータ転送装置は、コマンド発行とデータ転送とを独立して制御する複数のデータ転送制御手段と、前記データ転送制御手段から発行されたコマンドの優先順を決定し、前記優先順の高い順に前記コマンドを発行するコマンド発行手段と、前記コマンド発行手段から発行されたコマンドに対するデータ転送をメモリとの間で行うメモリ通信制御手段と、前記メモリ通信制御手段からのデータ転送要求に対する前記データ転送制御手段のデータ転送が正常に完了した場合、該完了を示す完了信号を前記メモリ通信制御手段に出力する信号出力手段とを備えるデータ転送装置であって、前記コマンド発行手段は、前記データ転送制御手段に対するリセット要求を受けた場合、該リセット要求に対応するコマンドの優先順を各データ転送制御手段からのコマンドよりも低くし、前記信号出力手段は、前記リセット要求が出されたデータ転送制御手段に対するデータ転送要求の応答信号として、ダミーの完了信号を前記メモリ通信制御手段に出力する。
また、本発明の他の局面のデータ転送方法は、コマンド発行とデータ転送とを独立して制御する複数のデータ転送制御手段と、前記データ転送制御手段から発行されたコマンドの優先順を決定し、前記優先順の高い順に前記コマンドを発行するコマンド発行手段と、前記コマンド発行手段から発行されたコマンドに対するデータ転送をメモリとの間で行うメモリ通信制御手段と、前記メモリ通信制御手段からのデータ転送要求に対する前記データ転送制御手段のデータ転送が正常に完了した場合、該完了を示す完了信号を前記メモリ通信制御手段に出力する信号出力手段とを備えるデータ転送装置におけるデータ転送方法であって、前記コマンド発行手段は、前記データ転送制御手段に対するリセット要求を受けた場合、該リセット要求に対応するコマンドの優先順を各データ転送制御手段からのコマンドよりも低くするステップと、前記信号出力手段は、前記リセット要求が出されたデータ転送制御手段に対するデータ転送要求の応答信号として、ダミーの完了信号を前記メモリ通信制御手段に出力するステップとを有する。
本発明によれば、コマンド発行とデータ転送を独立して制御するデータ転送制御手段を複数備えるデータ転送装置において、任意のデータ転送制御手段をリセットした場合に、その他のデータ転送制御手段に影響を与えずにデータ転送を継続させることができる。
以下、本発明の実施例を図面に基づいて説明する。
[実施例1]
<回路構成>
図4は、本発明におけるデータ転送装置の回路構成例を示す図である。図4に示すように、データ転送装置10は、DMAC1〜n、アービタ14、DRAMC15を含む。
各DMAC1〜nは、CPU(Central Processing Unit)11に接続され、CPU11内部の記憶領域に直接アクセスし、データを読み込んだり書き込んだりすることができる。また、各DMAC1〜nは、コマンド発行とデータ転送を独立して制御することができるため、アービタ14に対して先にコマンドを送り、後からデータの転送を行うことができる。
なお、各DMAC1〜nに接続されるCPU11は、CPU11である必要はなく、例えばUSB(Universal Serial Bus)などの通信インタフェースであってもよい。また、データ転送制御手段についてはDMACを例に説明するが、これに限られず上述したようにコマンド発行とデータ転送とを独立して制御できるものであればよい。
アービタ14は、各DMAC1〜nからのコマンドを受け付け、受け付けたコマンドの優先順を決定する。また、アービタ14は、どのDMACからのコマンドであるかを示すタグを、受け付けたコマンドに割付け、DRAMCに対して送る。また、アービタ14は、データを受け取る場合は、データ受け取り(data_ack)を示す完了信号(ack信号)を出力する。アービタ14の詳細については、図5を用いて後述する。
DRAMC15は、アービタ14とDRAM12との間に接続され、受け取ったコマンドに対するデータ転送を行う。また、DRAMC15は、コマンドに対応して、DRAM12にデータを書き込んだり、DRAM12にデータを読み込んだりもする。
なお、DRAM12は、DRAMに限られず記憶領域を有するメモリであればよく、同様に、DRAMC15は、DRAMCに限られずメモリとのデータ通信を制御するメモリコントローラ(メモリ通信制御手段)であってもよい。
次に、アービタ14について説明する。図5は、アービタ14の主要回路構成例を示す図である。図5に示すように、アービタ14は、コマンド発行部141、データ受取制御部142を含む。
コマンド発行部141は、各DMAC1〜nからのコマンド要求(com_req*(* = 1,2,…,n))を受け、各コマンドの優先順位を判断して要求を選択し、DRAMC15にコマンド(com_req)を発行する。このとき、コマンドには、どのDMACからのコマンドであるかを示すタグ(com_tag)を割付ける。なお、コマンドの優先順の決定方法は、例えばラウンドロビン方式などがあるが、この方式に限られるものではない。
また、コマンド発行部141は、各DMAC1〜nに対するリセット要求に対応するコマンドも優先順を判断して制御する。リセット要求に対応するコマンドの優先順は、各DMAC1〜nが発行したコマンドよりも優先順が低くなるように制御する。これより、リセット要求に対応するコマンドがDRAMC15に送られるのは、各コマンドが全て発行された後になる。また、リセット要求に対応するコマンドの優先順は、リセット要求が出されたDMACにより発行されたコマンドの優先順よりも低くなるようにしてもよい。
また、コマンド発行部141は、リセット要求が出されたDMACがリードコマンド(読み出し要求)を発行していれば擬似リードコマンド(リセット要求に対応するコマンド)を発行し、ライトコマンド(書き込み要求)を発行していれば擬似ライトコマンドを発行する。
データ受取制御部142は、データ受取制御を行い、各DMAC1〜nからのデータ受取が完了したことを示す完了信号(data_ack_dm*(* = 1,2,…,n)信号)と、アービタ14内でリセット時に生成するダミー完了信号(dummy_ack*(* = 1,2,…,n)信号)とを各DMAC1〜nからのリセット要求(reset_dm*(* = 1,2,…,n))で選択する。具体的には、リセット要求が出されている場合はダミー完了信号(dummy_ack*信号)を選択し、リセット要求が出されていない場合は完了信号(data_ack_dm*信号)を選択する。
次に、データ受取制御部142は、選択した各信号をDRAMC15により返されたタグ(data_tag)で選択して、完了信号(data_ack信号)をDRAMC15に出力する。
<主要機能構成>
次に、データ転送装置10の主要機能構成について説明する。図6は、データ転送装置10の主要機能構成例を示す図である。図6に示すように、データ転送装置10は、データ転送制御手段20(DMAC)、メモリ通信制御手段26(DRAMC)、アービタ14内で機能するコマンド発行手段21(コマンド発行部141)、割付手段22、信号出力手段23(データ受取制御部142)、破棄手段24、ダミーデータ出力手段25を含む。なお、データ転送制御手段20、メモリ通信制御手段26はそれぞれ図4に示す各DMAC1〜n、DRAM12に相当するためその説明を省略する。
次に、アービタ14内の主要機能について説明する。コマンド発行手段21は、図5に示すコマンド発行部141と同様の機能を有し、各DMAC1〜nからのコマンドを受け取って、コマンドの優先順を決定し、優先順に従ってコマンドをメモリ通信制御手段26に発行する。
なお、リセット要求に対応するコマンドの優先順は、各DMAC1〜nからのコマンドの優先順よりも低くなるように決定する。また、リセット要求に対応するコマンドの優先順は、リセット要求が出されたデータ転送制御手段20により発行されたコマンドの優先順よりも低くなるように決定してもよい。
また、リセット要求に対するコマンドの優先順制御について、装置全体のデータ転送に問題が発生するときのみ制御するようにしてもよい。問題が発生するときとは、コマンドを発生したデータ転送制御手段のデータ転送処理が完了する前にリセットがかけられたときのことを言う。つまり、発行したコマンドに対するメモリ通信制御手段からのデータ転送要求に対して、応答信号を出力することができなくなるときである。
割付手段22は、各DMAC1〜nからのコマンドに対して、どのDMACから発行されたかを示すタグを割付ける。また、割付手段22は、各DMAC1〜nのリセット要求に対して、リセットタグを割付ける。
信号出力手段23は、メモリ通信制御手段26からのデータ転送要求に対するデータ転送制御手段20のデータ転送が完了した場合に、完了信号(data_ack信号)を出力する。また、リセット要求(reset_dm)が出されたデータ転送制御手段20に対し、メモリ通信制御手段26からのデータ転送要求がある場合に、ダミーの完了信号(dummy_ack信号)を出力する。
破棄手段24は、コマンドがリードコマンドである場合、リードコマンドを発行したデータ転送制御手段20にリセット要求が出されたとき、このデータ転送制御手段20は読み出されたデータを受け取ることはできないため、データを破棄する。具体的には、アービタ14が、dummy_ack信号をアサートすることによりメモリ通信制御手段26から受け取ったデータを破棄する。
ダミーデータ出力手段25は、コマンドがライトコマンドである場合、ライトコマンドを発行したデータ転送制御手段20にリセット要求が出されたとき、このデータ転送制御手段20は、書き込みデータを出力することはできないため、ダミーデータを生成して又は用意しておいてメモリ通信制御手段26に出力する。メモリ通信制御手段26は、ダミーデータを受け取った場合は、このダミーデータを破棄する。
データ転送制御手段20のリセット処理については、アービタ14が、メモリ通信制御手段26より返されたリセットタグを受け取ったとき、リセット要求が出されているデータ転送制御手段20のreset_dm信号をネゲートする。これより、データ転送制御手段20のリセット処理が完了する。
以上より、アービタ14は、データ転送制御手段(DMAC)に対してリセット要求が出された場合、リセット要求の優先順を各コマンドの優先順よりも低くし、リセット要求が出されたデータ転送制御手段に対するデータ転送要求がきた場合に、ダミーの完了信号を出力する。よって、リセット要求が出されたデータ転送制御手段から応答信号を出力することができるため、他のデータ転送制御手段に影響を与えずにデータ転送を継続させることができる。
また、割付手段22によりリセットタグをコマンドに割付けてメモリ通信制御手段(DRAMC)に発行することで、アービタ14は、このリセットタグがデータフェーズでメモリ通信制御手段から返されたときにリセット処理を完了することができる。
また、アービタ14はリセット要求の優先順を、リセット要求が出されたデータ転送制御手段により発行されたコマンドの優先順よりも低くすることで、このデータ転送制御手段により発行されたコマンドの処理が終了した後に、リセット処理を完了することができる。これより、各データ転送制御手段により発行されたコマンドの優先順よりも低くするときよりも、リセット処理が完了するまでにかかる時間を短縮することができる。
<リード要求におけるリセット処理>
次に、実施例1におけるデータ転送装置10において、リード要求が出されていたときリセットがかかった場合について説明する。図7は、リード要求が出されていたときDMAC2に対してリセットをかけた場合のタイミングチャート例を示す図である。
図7に示すように、DMAC2にリセットがかかるとreset_dm2信号がアービタ14内でアサートされる。その後、DMAC2のデータフェーズにおいて、DRAMC15からread_data="D2-1"が入力されているが、このとき、DMAC2はリセットがかけられているため応答できない(data_ack_dm2が"L"のまま)。
よって、アービタ14内でdummy_ack2信号を生成し、この信号をdata_ack信号としてDRAMC15に出力することで、アービタ14は、DRAMC15からのデータをDMAC2の代わりに擬似的に受け取ることができる。なお、受け取ったデータは不要のため破棄される。
次に、アービタ14は、擬似リードによりDMAC2のデータを引き取ることが出来たので、その後のDMACnの通信を継続することが可能となる。
また、アービタ14は、DAMC2のリセット要求に対して、Reset2というタグ(com_tag)を付加して、リード要求に対するコマンド(command=C2-2)をDRAMC15に発行する。このコマンドは先に説明したとおり、優先順が各DMACからの要求よりも低く設定してあるので、各DMACの要求処理後に発行されることになる。
次に、このコマンドのリードデータ又はリセットタグ(Reset2)がDRAMC15より返ってきたとき(read_data = D2-2)は、DMAC2が発行したコマンドはすべて処理されたということになり、この時点でDMAC2のリセット処理を完了する(reset_dm2をネゲートする)。
これより、コマンドがリード要求である場合に、リセット要求が出されたDMACをリセットしつつ、他のDMACに影響を与えることなくデータ転送を継続させることができる。
また、図7に示す例では、リセット要求に対するコマンドは、各コマンドの優先順よりも低くしたが、リセットがかかったDMAC(ここではDMAC2)により発行されたコマンドよりも優先順を低くするようにしても本発明の目的を達成できる。この場合、各DMACにより発行されたコマンドの優先順よりも低くする場合に比べて、リセット処理が完了するまでにかかる時間を短縮することができる。
<ライト要求におけるリセット処理>
次に、実施例1におけるデータ転送装置10において、ライト要求が出されていたときにリセットがかかった場合について説明する。図8は、ライト要求が出されていたときDMAC2に対してリセットをかけた場合のタイミングチャート例を示す図である。
図8に示すようにライト要求の場合も基本的にはリード要求と同様であり、異なるところについて説明する。コマンドがライト要求の場合は、DAMC2がライト要求に対するコマンドを発行した後に、DMAC2にリセットがかけられた場合、アービタ14は、書き込みデータをDMAC2から受け取ることができないので、ダミーデータ(dummy)を生成して、又は用意しておいて、DRAMC15に出力する。
これより、コマンドがライト要求である場合であっても、コマンドがリード要求である場合と同様に、リセット要求が出されたDMACをリセットしつつ、他のDMACに影響を与えることなくデータ転送を継続させることができる。
<動作>
実施例1におけるデータ転送装置10の動作について説明する。まず、アービタ14によるコマンド発行に関する動作について説明する。図9は、アービタ14のコマンド発行に関する処理の一例を示すフローチャートである。
ステップS11において、各DMAC1〜nによってコマンドが発行される。次のステップS12において、アービタ14(コマンド発行手段21)は、各DMAC1〜nからコマンドを受け取り、受け取ったコマンドに対して優先順を決め、優先順の高い順にDRMAC15にコマンドを発行する。このとき、各DMAC1〜nに対してリセット要求が出されている場合は、このリセット要求に対応するコマンドの優先順を各コマンドの優先順よりも低くする。
次のステップS13において、アービタ14(割付手段22)は、各DMAC1〜nにリセット要求に対するコマンドか否かを判定する。ステップS13における判定結果がNO(リセット要求に対応するコマンドでない)であればステップS14に進み、YES(リセット要求に対応するコマンドである)であればステップS15に進む。
次のステップS14において、アービタ14(割付手段22)は、コマンドに対して、どのDMACが発行したかを示すタグを割付ける。ステップS15において、アービタ14(割付手段22)は、リセット要求に対するコマンドに対して、リセットタグを割付ける。
次のステップS16において、アービタ14は、優先順にしたがってDRAMC15に対してコマンドを発行する。
以上より、リセット要求に対するコマンドは、各DMAC1〜nからのコマンドよりも優先順が低くなり、各コマンドの発行後にリセット要求に対するコマンドを発行することができる。また、リセット要求に対するコマンドは、各DMAC1〜nからのコマンドよりも優先順を低くするまでもなく、リセット要求が出されたDMACによって発行されたコマンドの優先順よりも低くすることでも本発明の目的を達成できる。
次に、アービタ14におけるデータ転送処理の動作について説明する。図10は、リード要求におけるデータ転送処理の一例を示すフローチャートである。ステップS21において、アービタ14は、DRAMC15からデータとタグとを取得する。
次のステップS22において、アービタ14は、取得したタグがリセットタグであるか否かを判定する。ステップS22における判定結果がYES(リセットタグである)である場合ステップS27に進み、NO(リセットタグでない)である場合ステップS23に進む。
ステップS23において、アービタ14は、タグに示されたDMACにリセット要求が出されているか否かを判定する。具体的には、reset_dm*信号がアサートされているか否かで判断することができる。ステップS23における判定結果がYES(リセット要求が出されている)である場合ステップS25に進み、NOである場合(リセット要求が出されていない)である場合ステップS24に進む。
ステップS24において、アービタ14(信号出力手段23)は、データをDMACに転送し、DMACからdata_ack_dm*信号を取得することで、data_ack信号をDRAMC15に出力する。
ステップS25において、アービタ14(信号出力手段23)は、DMACがdata_ack_dm*信号を出力できないのでdummy_ack信号をDRAMC15に出力し、DRAM12から読み出されたデータを破棄手段24により破棄する。ステップS24及びステップS25の次はステップS21に戻る。
ステップS26において、ステップS25同様、アービタ14は、dummy_ack信号を出力し、DRAM12から読み出されたデータを破棄手段24により破棄する。
次のステップS27において、アービタ14は、リセット要求が出されているDMACをリセットする。具体的には、reset_dm信号をネゲートすることでリセット処理が完了する。
以上より、リード要求を行ったDMACにリセットがかけられた場合、擬似リードを行うことにより他のDMACへのデータ転送に影響を与えず、装置全体のデータ転送を継続させることができる。
図11は、ライト要求におけるデータ転送処理の一例を示すフローチャートである。なお、図11に示す処理において、図10と同様の処理を行うものは同じ符号を付し、その説明を省略する。
ステップS30において、アービタ14は、DRAMC15からタグを取得する。
ステップS31において、アービタ14は、タグに示されるDMACからDRAM12に書き込むためのデータを取得しているか否かを判断する。判定結果がYES(データあり)である場合、ステップS32に進み、NO(データなし)である場合ステップS33に進む。
ステップS32において、アービタ14は、タグに示されたDMACから取得したデータをDRAMC15に出力する。ステップS32において、アービタ14(ダミーデータ出力手段25)は、タグに示されたDMACのデータがない(リセット要求が出されたため)のでダミーデータをDRAMC15に出力する。
ステップS32、ステップS33の処理後、ステップS21に戻る。なお、出力されたダミーデータはDRMAC15により破棄される。
ステップS34において、ステップS33同様、アービタ14は、リセットタグをDRAMC15から受けると、ダミーデータをDRAMC15に出力する。
次のステップS35において、アービタ14は、リセット要求が出されているDMACをリセットする。具体的には、reset_dm信号をネゲートすることでリセット処理が完了する。
以上、実施例1にかかるデータ転送装置によれば、コマンド発行とデータ転送を独立して制御するデータ転送制御手段を複数備えるデータ転送装置において、任意のデータ転送制御手段をリセットした場合に、その他のデータ転送制御手段に影響を与えずにデータ転送を継続させることができる。
[実施例2]
実施例2にかかるデータ転送装置は、DMACをグループ化して、グループ毎にリセットをかけるところが実施例1と異なる。
<アービタの主要回路構成>
図12は、実施例2におけるアービタ30の主要回路構成例を示す図である。図12に示すように、アービタ30は、コマンド発行部301、データ受取制御部302を含む。
コマンド発行部301は、各DMAC1〜5からのコマンド要求(com_req*(* = 1,2,…,5))を受け、各コマンドの優先順を判断して要求を選択し、DRAMC15にコマンド(com_req)を発行する。図12に示す例では、DMAC1〜3はグループ1に、DMAC4,5はグループ2に分類する。優先順の決定の仕方としては、グループに優先順を設け、グループ毎にコマンドの優先順を決定する等の方法がある。
また、実施例2では、コマンド発行部301は、グループ毎にリセットがかけられるため、グループ毎のリセットを示すreset_gr*(*=1,2)に対するリセットコマンドを発行する。
また、コマンド発行部301は、グループのリセット要求に対するコマンドの優先順は、グループを問わず各コマンドよりも優先順が低くなるように制御する。これより、リセット要求がDRAMC15に送られるのは、各コマンドが全て発行された後になる。また、リセット要求の優先順は、リセット要求が出されたグループに含まれるDMACにより発行されたコマンドの優先順よりも低くなるようにしてもよい。これよりリセットに係る時間を短縮することができる。
データ受取制御部302は、データ受取制御を行う。コマンドがライト要求の場合、各DMAC1〜5からの書き込みデータ取得完了を示す完了信号(data_wack_dm*(* = 1,2,…,5)信号)と、アービタ30内でグループのリセット時に生成するダミーの完了信号(dummy_wack*(* = 1,2,…,5)信号)とをグループのリセット要求(reset_gr*(* = 1,2,…,n))で選択する。
具体的には、リセット要求が出されている場合はダミー完了信号(dummy_wack*信号)を選択し、リセット要求が出されていない場合は完了信号(data_wack_dm*信号)を選択する。
次に、データ受取制御部302は、選択した各信号をDRAMC15により返されたタグ(data_write_tag)で選択して、完了信号(data_write_ack信号)をDRAMC15に出力する。
次にコマンドがリード要求の場合、各DMAC1〜5によるデータ受取が完了したことを示す完了信号(data_rack_dm*(* = 1,2,…,5)信号)と、アービタ30内でリセット時に生成するダミー完了信号(dummy_rack*(* = 1,2,…,5)信号)とをグループのリセット要求(reset_gr*(* = 1,2,…,n))で選択する。
具体的には、リセット要求が出されている場合はダミー完了信号(dummy_rack*信号)を選択し、リセット要求が出されていない場合は完了信号(data_rack_dm*信号)を選択する。
次に、データ受取制御部302は、選択した各信号をDRAMC15により返されたタグ(data_read_tag)で選択して、完了信号(data_read_ack信号)をDRAMC15に出力する。
また、リード要求の場合には、data_read_ackを生成するための回路は、reset_gr*発行の際に行われる擬似リードのデータを受け取るための応答信号dummy_ack_gr1、dummy_ack_gr2を含む。
<リセット処理>
図13は、実施例2におけるリセット処理の一例を示すタイミングチャート例を示す図である。図13に示すように、DMAC1がリード要求、DMAC3がライト要求、DMAC4がリード要求に対するコマンドをそれぞれ発行している例を示している。
DMAC3のライトコマンド発行タイミングで、グループ1にリセットがかけられたとする。つまり、reset_gr1がアサートされる。これによりグループ1に含まれるDMAC1〜3は、応答信号を出力できなくなる。
まず、コマンドフェーズについて説明する。グループ1にリセットがかかった場合、グループ1のリセットに対するコマンド「Crg1」は、優先順が一番低くなるため、最後に発行される。このとき、コマンド「Crg1」にはタグ「Rg1」が割付けられる。
次に、データフェーズについて説明する。アービタ30は、DRAMC15からライトリクエスト(data_write_req)を受け取った場合、タグ「DMA3」が示すDAMC3は、リセット中のグループ1に含まれるため応答信号を出力することができない。よって、アービタ30はDRAMC15に対し、ダミーの完了信号(dummy_wack3)を応答信号として出力することでダミーデータをDRAMC3に出力することができる。
次に、アービタ30は、DRAMC15から読み出しデータ「D1」をタグ「DMA1」とともに取得する。しかし、タグ「DMA1」が示すDMAC1は、リセット中のグループ1に含まれるため、応答信号を出力することができない。よって、アービタ30はDRAMC15に対し、ダミーの完了信号(dummy_rack1)を応答信号として出力することでデータ「D1」をDMAC1の代わりに受け取ることができる。なお、このデータ「D1」は破棄される。
次に、アービタ30は、DRAMC15から読み出しデータ「D4」とタグ「DMA4」とともに取得する。タグ「DMA4」が示すDMAC4は、リセット中ではないグループ2に含まれるため、データ「D4」を取得し、応答信号(data_rack4_dm4)を出力することができる。
次に、アービタ30は、DRAMC15からデータ「Rg1」とともにタグ「Rg1」を取得するが、タグ「Rg1」が示すDMACは存在しないため、応答信号(dummy_ack_g1)を出力し、データ「Rg1」を取得し破棄する。
このとき、アービタ30は、データ「Rg1」を取得した段階で、他のコマンドに対するデータ転送がないことが分かるのでグループ1のDMACをリセットする。具体的には、reset_gr1をネゲートすることでグループ1のリセット処理が完了する。
以上、実施例2にかかるデータ転送装置によれば、アービタ30は、グループ化されたデータ転送制御手段(DMAC)に対してリセット要求が出された場合、リセット要求に対するコマンドの優先順を各コマンドの優先順よりも低くし、リセット要求が出されたグループに含まれるデータ転送制御手段に対するデータ転送要求がきたときに、ダミーの完了信号を出力する。よって、リセット要求が出されたグループに含まれるデータ転送制御手段から応答信号を出力することができるため、他のデータ転送制御手段に影響を与えずにデータ転送を継続させることができる。
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、上記実施例以外にも種々の変形・変更が可能である。
なお、各実施例において説明した処理内容をコンピュータに実行させるためのプログラムとし、このプログラムをコンピュータに実行させて前述した処理をデータ転送装置に実現させることも可能である。また、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータに読み取らせて、前述した処理をデータ転送装置に実現させることも可能である。
DMACとアービタ間におけるタイミングチャート例を示す図。 アービタとDRAMC間のタイミングチャート例を示す図。 データ転送継続不能となる場合のタイミングチャート例を示す図。 本発明におけるデータ転送装置の回路構成例を示す図。 アービタ14の主要回路構成例を示す図。 データ転送装置10の主要機能構成例を示す図。 リード要求が出されていたときDMAC2に対してリセットをかけた場合のタイミングチャート例を示す図。 ライト要求が出されていたときDMAC2に対してリセットをかけた場合のタイミングチャート例を示す図。 アービタ14のコマンド発行に関する処理の一例を示すフローチャート。 リード要求におけるデータ転送処理の一例を示すフローチャート。 ライト要求におけるデータ転送処理の一例を示すフローチャート。 実施例2におけるアービタ30の主要回路構成例を示す図。 実施例2におけるリセット処理の一例を示すタイミングチャート例を示す図。
符号の説明
1、3、n DMAC
10 データ転送装置
11 CPU
12 DRAM
14、30 アービタ
15 DRAMC
20 データ転送制御手段
21 コマンド発行手段
22 割付手段
23 信号出力手段
24 破棄手段
25 ダミーデータ出力手段
26 メモリ通信制御手段
141、301 コマンド発行部
142、302 データ受取制御部

Claims (8)

  1. コマンド発行とデータ転送とを独立して制御する複数のデータ転送制御手段と、
    前記データ転送制御手段から発行されたコマンドの優先順を決定し、前記優先順の高い順に前記コマンドを発行するコマンド発行手段と、
    前記コマンド発行手段から発行されたコマンドに対するデータ転送をメモリとの間で行うメモリ通信制御手段と、
    前記メモリ通信制御手段からのデータ転送要求に対する前記データ転送制御手段のデータ転送が正常に完了した場合、該完了を示す完了信号を前記メモリ通信制御手段に出力する信号出力手段とを備えるデータ転送装置であって、
    前記コマンド発行手段は、前記データ転送制御手段に対するリセット要求を受けた場合、該リセット要求に対応するコマンドの優先順を各データ転送制御手段からのコマンドよりも低くし、
    前記信号出力手段は、前記リセット要求が出されたデータ転送制御手段に対するデータ転送要求の応答信号として、ダミーの完了信号を前記メモリ通信制御手段に出力するデータ転送装置。
  2. 前記コマンドが読み出し要求である場合、
    前記読み出し要求により前記メモリから読み出されたデータの転送先が、前記リセット要求が出されたデータ転送制御手段であるとき、前記読み出されたデータを破棄する破棄手段を備える請求項1記載のデータ転送装置。
  3. 前記コマンドが書き込み要求である場合、
    前記書き込み要求を出したデータ転送制御手段から書き込みデータを取得する前に、該データ転送制御手段に前記リセット要求が出されたとき、ダミーデータを前記メモリ通信制御手段に出力するダミーデータ出力手段を備える請求項1又は2記載のデータ転送装置。
  4. 前記コマンドに対して、該コマンドを発行したデータ転送制御手段を示すタグを割付け、前記リセット要求に対して、該リセット要求が出されたデータ転送制御手段を示すリセットタグを割付ける割付け手段を備える請求項1乃至3いずれか1項に記載のデータ転送装置。
  5. 前記コマンド発行手段は、
    前記データ転送制御手段が発行したコマンドに対するデータ転送が終了する前に、該データ転送制御手段に前記リセット要求が出された場合にのみ、該リセット要求に対応するコマンドの優先順を各データ転送制御手段からのコマンドよりも低くする請求項1乃至4いずれか1項に記載のデータ転送装置。
  6. 前記コマンド発行手段は、
    前記リセット要求に対応するコマンドの優先順を、該リセット要求が出されたデータ転送制御手段により発行されたコマンドよりも低くする請求項1乃至5いずれか1項に記載のデータ転送装置。
  7. 記複数のデータ転送制御手段を複数のグループに分類した場合、
    前記コマンド発行手段は、前記グループに対するリセット要求を受けた場合、該リセット要求に対応するコマンドの優先順を各データ転送制御手段からのコマンドよりも低くし、
    前記信号出力手段は、前記リセット要求が出されたグループに含まれるデータ転送制御手段に対するデータ転送要求の応答信号として、ダミーの完了信号を前記メモリ通信制御手段に出力する請求項1記載のデータ転送装置。
  8. コマンド発行とデータ転送とを独立して制御する複数のデータ転送制御手段と、
    前記データ転送制御手段から発行されたコマンドの優先順を決定し、前記優先順の高い順に前記コマンドを発行するコマンド発行手段と、
    前記コマンド発行手段から発行されたコマンドに対するデータ転送をメモリとの間で行うメモリ通信制御手段と、
    前記メモリ通信制御手段からのデータ転送要求に対する前記データ転送制御手段のデータ転送が正常に完了した場合、該完了を示す完了信号を前記メモリ通信制御手段に出力する信号出力手段とを備えるデータ転送装置におけるデータ転送方法であって、
    前記コマンド発行手段は、前記データ転送制御手段に対するリセット要求を受けた場合、該リセット要求に対応するコマンドの優先順を各データ転送制御手段からのコマンドよりも低くするステップと、
    前記信号出力手段は、前記リセット要求が出されたデータ転送制御手段に対するデータ転送要求の応答信号として、ダミーの完了信号を前記メモリ通信制御手段に出力するステップとを有するデータ転送方法。
JP2008302905A 2008-11-27 2008-11-27 データ転送装置及びデータ転送方法 Expired - Fee Related JP5146284B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008302905A JP5146284B2 (ja) 2008-11-27 2008-11-27 データ転送装置及びデータ転送方法
US12/623,827 US8713205B2 (en) 2008-11-27 2009-11-23 Data transfer device and data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008302905A JP5146284B2 (ja) 2008-11-27 2008-11-27 データ転送装置及びデータ転送方法

Publications (2)

Publication Number Publication Date
JP2010128803A JP2010128803A (ja) 2010-06-10
JP5146284B2 true JP5146284B2 (ja) 2013-02-20

Family

ID=42197403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008302905A Expired - Fee Related JP5146284B2 (ja) 2008-11-27 2008-11-27 データ転送装置及びデータ転送方法

Country Status (2)

Country Link
US (1) US8713205B2 (ja)
JP (1) JP5146284B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7264745B2 (ja) 2019-06-25 2023-04-25 オークラ輸送機株式会社 物品検出方法、ピッキング方法、物品検出装置およびピッキング装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5423483B2 (ja) 2010-03-04 2014-02-19 株式会社リコー データ転送制御装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2862656B2 (ja) 1990-09-26 1999-03-03 協同組合鹿児島建設技術研究所 永久型枠板組立ユニット
JPH05151156A (ja) 1991-11-29 1993-06-18 Hitachi Ltd Scsiコントローラ
JP2000040061A (ja) * 1998-05-20 2000-02-08 Oki Data Corp バス使用権調停システム
US6516369B1 (en) * 1998-12-29 2003-02-04 International Business Machines Corporation Fair and high speed arbitration system based on rotative and weighted priority monitoring
JP2000259548A (ja) 1999-03-05 2000-09-22 Nec Eng Ltd Dmaバス転送方式
JP2002229934A (ja) 2001-01-31 2002-08-16 Sony Corp 情報転送装置および情報転送方法
JP4136347B2 (ja) 2001-09-25 2008-08-20 株式会社リコー システムコントローラ、システムコントローラを有する画像形成装置及びdma転送方式
ATE555443T1 (de) * 2002-02-26 2012-05-15 Nxp Bv Zugriff zu einem verteilten betriebsmittel
US7080177B2 (en) * 2002-03-01 2006-07-18 Broadcom Corporation System and method for arbitrating clients in a hierarchical real-time DRAM system
JP4632114B2 (ja) 2003-11-25 2011-02-16 エルピーダメモリ株式会社 半導体集積回路装置
JP2006172395A (ja) 2004-12-20 2006-06-29 Ricoh Co Ltd データ転送制御装置及びデータ転送制御システム
JP4711410B2 (ja) * 2005-10-13 2011-06-29 ルネサスエレクトロニクス株式会社 半導体集積回路
JP2007228145A (ja) 2006-02-22 2007-09-06 Ricoh Co Ltd 半導体集積回路
JP2008021228A (ja) * 2006-07-14 2008-01-31 Renesas Technology Corp データ処理装置
JP5151156B2 (ja) 2007-01-22 2013-02-27 株式会社ナカヨ通信機 親子電話システム
KR100868766B1 (ko) * 2007-01-31 2008-11-17 삼성전자주식회사 복수의 dma 요청 블록들을 가지는 직접 메모리 액세스장치의 우선 순위를 결정하는 방법 및 장치
JP2008234189A (ja) 2007-03-19 2008-10-02 Ricoh Co Ltd 信号転送装置、バスマスター装置及び信号転送方法
JP2009217640A (ja) 2008-03-11 2009-09-24 Ricoh Co Ltd データ転送制御装置
US8171187B2 (en) * 2008-07-25 2012-05-01 Freescale Semiconductor, Inc. System and method for arbitrating between memory access requests

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7264745B2 (ja) 2019-06-25 2023-04-25 オークラ輸送機株式会社 物品検出方法、ピッキング方法、物品検出装置およびピッキング装置

Also Published As

Publication number Publication date
JP2010128803A (ja) 2010-06-10
US8713205B2 (en) 2014-04-29
US20100131677A1 (en) 2010-05-27

Similar Documents

Publication Publication Date Title
WO2011089660A1 (ja) バス調停装置
US8635386B2 (en) Communication control device, data communication method and program
JP2012064021A (ja) 通信システム、マスター装置、及びスレーブ装置、並びに通信方法
US9984014B2 (en) Semiconductor device
US9798492B2 (en) Semiconductor device including a plurality of function blocks
JP5269625B2 (ja) インタフェース制御装置
JP5217786B2 (ja) リクエスト調停装置及びリクエスト調停方法
JP5146284B2 (ja) データ転送装置及びデータ転送方法
US20120159024A1 (en) Semiconductor apparatus
JP2012226491A (ja) メモリ制御装置、集積回路、情報処理装置およびメモリ制御方法
US8301816B2 (en) Memory access controller, system, and method
KR20130009536A (ko) 메모리 제어 장치 및 방법
JP5623150B2 (ja) 電子機器及びその制御方法
JP4862593B2 (ja) データ転送装置及び画像形成装置
KR101073818B1 (ko) 복수의 오디오 인터페이스를 포함하는 시스템의 데이터 송수신 방법 및 장치
JP2006189919A (ja) 電子機器、制御方法及びコンピュータプログラム
JP4292218B2 (ja) 画像処理装置及び画像処理システム
JP4472402B2 (ja) バス装置
JP2000099391A (ja) プリンタ装置およびプリンタ制御方法、並びに記録媒体
JP2014229191A (ja) メモリコントローラ、メモリ制御方法、およびプログラム
US9214207B2 (en) Apparatus and method for data decoding
JP2000293415A (ja) 記憶装置
JP2012094081A (ja) バス調停回路及びバス調停方法
JP2009169599A (ja) バス装置
JPH07334453A (ja) メモリアクセスシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121005

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121112

R151 Written notification of patent or utility model registration

Ref document number: 5146284

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees