JP7236173B2 - データ伝送装置、方法及び読み取り可能な記憶媒体 - Google Patents

データ伝送装置、方法及び読み取り可能な記憶媒体 Download PDF

Info

Publication number
JP7236173B2
JP7236173B2 JP2021557437A JP2021557437A JP7236173B2 JP 7236173 B2 JP7236173 B2 JP 7236173B2 JP 2021557437 A JP2021557437 A JP 2021557437A JP 2021557437 A JP2021557437 A JP 2021557437A JP 7236173 B2 JP7236173 B2 JP 7236173B2
Authority
JP
Japan
Prior art keywords
segment
information
transmission
data
intra
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.)
Active
Application number
JP2021557437A
Other languages
English (en)
Other versions
JP2022527907A (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.)
Wuxi Hisky Medical Technologies Co Ltd
Original Assignee
Wuxi Hisky Medical Technologies 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 Wuxi Hisky Medical Technologies Co Ltd filed Critical Wuxi Hisky Medical Technologies Co Ltd
Publication of JP2022527907A publication Critical patent/JP2022527907A/ja
Application granted granted Critical
Publication of JP7236173B2 publication Critical patent/JP7236173B2/ja
Active 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/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/282Cycle stealing DMA
    • 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/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本発明の実施例はビッグデータの処理技術分野に関し、特にデータ伝送装置、方法及び読み取り可能な記憶媒体に関する。
インターネットの発展と科技の進歩に伴い、様々な科学技術産業においてデータが爆発的に増加し、大量のデータが形成される。例えば、超高速超音波イメージング技術分野では、超高速超音波イメージングシステムが大量のデータを生成し、これらのデータはシステムのフロントエンドメモリにバッファリングされ、後続の処理のために、できるだけ早くバックエンドメモリ又は外部メモリに伝送する必要がある。これは、ビッグデータを伝送する必要がある。
従来の技術において、ビッグデータの伝送は、データ処理システムのバックエンドプロセッサの負荷を増加させ、大量のリソースを消耗するだけでなく、また、伝送メカニズムの問題によりビッグデータの伝送プロセスが遅く、ビッグデータの高速伝送ができないこととなる。
本発明の実施例は、データ伝送装置、方法及び読み取り可能な記憶媒体を提供し、従来の技術における、ビッグデータの伝送中に、データ処理システムのバックエンドプロセッサの負荷を増加させ、大量のリソースを消耗し、伝送メカニズムの問題によりビッグデータの伝送プロセスが遅いという技術的問題を解決する。
第1の態様によれば、本発明の実施例は、データ伝送装置であって、フロントエンドプロセッサ、伝送コントローラ及びバックエンドプロセッサを含み、
前記フロントエンドプロセッサは前記伝送コントローラによって前記バックエンドプロセッサに接続され、
前記フロントエンドプロセッサは、DMA(direct memory access,ダイレクトメモリアクセス)コントローラ、伝送スケジューラ、メモリコントローラ、及び複数の伝送バッファを含み、前記DMAコントローラは、前記伝送コントローラ、前記メモリコントローラ、各前記伝送バッファ及び前記伝送スケジューラにそれぞれ接続され、前記伝送コントローラと前記伝送スケジューラのそれぞれはいずれも各前記伝送バッファに接続され、
前記DMAコントローラは、前記バックエンドプロセッサによって送信されたデータ伝送要求を受信し、前記データ伝送要求に従って前記メモリコントローラにデータ読み取り命令を送信し、読み取られたデータを受信し、それを前記伝送バッファに送信するために使用され、
前記メモリコントローラは、前記データ読み取り命令に従ってメモリがデータを読み取るように制御し、読み取られたデータを前記DMAコントローラに送信するために使用され、
前記伝送スケジューラは、複数の前記伝送バッファが前記DMAコントローラから送信されたデータを書き込むように制御し、また、複数の前記伝送バッファがデータを読み出して前記伝送コントローラを介して前記バックエンドプロセッサに伝送するように制御するために使用されるデータ伝送装置を提供する。
さらに、上述のような装置において、前記DMAコントローラは、具体的に、前記データを単一フレーム又は複数フレームの形態で伝送するように制御するために使用される。
さらに、上述のような装置において、前記DMAコントローラは、マッピングユニット、セグメントカウンター及びセグメント内アドレッシングマシンを含み、
前記マッピングユニットは、前記セグメントカウンターと前記セグメント内アドレッシングマシンにそれぞれ接続され、前記セグメントカウンターは前記セグメント内アドレッシングマシンに接続され、
前記マッピングユニットは、前記バックエンドプロセッサによって送信されたフレーム開始アドレス及びフレーム長情報を含む単一フレームデータ伝送要求を受信し、前記フレーム開始アドレスと前記フレーム長情報をセグメント内アドレッシング情報とセグメントカウント情報にマッピングするために使用され、
前記セグメント内アドレッシングマシンは、前記DMAコントローラによって送信されたデータに基づいて前記セグメント内アドレッシング情報を更新し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングが最大値に達すると、前記セグメントカウンターにセグメントカウント更新情報を送信し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うために使用され、
前記セグメントカウンターは、前記セグメントカウント更新情報を受信すると、前記セグメントカウント情報におけるカウントがセグメントカウント初期値になるまで、ダウンカウントするために使用される。
さらに、上述のような装置において、前記セグメント内アドレッシングマシンは、具体的に、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをゼロに設定し、次のセグメント内アドレッシングを行うために使用され、
前記セグメントカウンターは、前記セグメントカウント更新情報を受信すると、前記セグメントカウント情報におけるカウントがセロになるまで、1つずつ減らしてカウントするために使用される。
さらに、上述のような装置において、前記DMAコントローラは、マッピングユニット、セグメント内アドレッシングマシン、セグメントカウンター及びフレームカウンターを含み、
前記マッピングユニットは、前記フレームカウンター、前記セグメントカウンター、前記セグメント内アドレッシングマシンにそれぞれ接続され、前記セグメントカウンターは前記セグメント内アドレッシングマシン、前記フレームカウンターにそれぞれ接続され、
前記マッピングユニットは、前記バックエンドプロセッサによって送信されたフレーム数、フレーム開始アドレス及びフレーム長情報を含む複数フレームデータ伝送要求を受信し、前記フレーム数、前記フレーム開始アドレス及び前記フレーム長情報をセグメント内アドレッシング情報、セグメントカウント情報及びフレームカウント情報にマッピングするために使用され、
前記セグメント内アドレッシングマシンは、前記DMAコントローラによって送信されたデータに基づいて前記セグメント内アドレッシング情報を更新し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングが最大値に達すると、前記セグメントカウンターにセグメントカウント更新情報を送信し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うために使用され、
前記セグメントカウンターは、前記セグメントカウント更新情報を受信すると、ダウンカウントし、前記セグメントカウント情報におけるカウントがセグメントカウント初期値であると、前記フレームカウンターにフレームカウント更新情報を送信し、前記セグメントカウント情報におけるカウントを最大値に設定し、次のフレームのセグメントカウントを行うために使用され、
前記フレームカウンターは、フレームカウント更新情報を受信すると、前記フレームカウント情報におけるカウントがフレームカウント初期値になるまで、ダウンカウントするために使用される。
さらに、上述のような装置において、前記セグメント内アドレッシングマシンは、具体的に、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをゼロに設定し、次のセグメント内アドレッシングを行うために使用され、
前記セグメントカウンターは、具体的に、前記セグメントカウント更新情報を受信すると、1つずつ減らしてカウントし、前記セグメントカウント情報のカウントがゼロであると、前記フレームカウンターにフレームカウント更新情報を送信するために使用され、
前記フレームカウンターは、具体的に、フレームカウント更新情報を受信すると、前記フレームカウント情報のカウントがゼロになるまで、1つずつ減らしてカウントするために使用される。
さらに、上述のような装置において、前記伝送スケジューラは、入口スケジューラと出口スケジューラを含み、
前記入口スケジューラは、入口スケジューリング状態と書き込みトークン情報に基づいて書き込み権限を有する伝送バッファがデータを書き込むように制御するために使用され、
前記出口スケジューラは、出口スケジューリング状態と読み取りトークン情報に基づいて読み取り権限を有する伝送バッファがデータを読み取るように制御するために使用される。
さらに、上述のような装置において、前記入口スケジューリング状態は、アイドル状態と複数の伝送バッファ書き込み状態を含み、
前記入口スケジューラは、具体的に、前記入口スケジューリング状態がアイドル状態であり且つ前記書き込みトークン情報がある書き込みトークン情報であると、前記アイドル状態を前記ある書き込みトークン情報に対応する伝送バッファ書き込み状態にジャンプさせるように制御し、該伝送バッファがデータを書き込むように制御するために使用される。
さらに、上述のような装置において、前記入口スケジューラはさらに、現在の伝送バッファの書き込んだデータが第1の予め設定された長さの値に達すると、現在の伝送バッファ書き込み状態をアイドル状態に更新し、現在の書き込みトークン情報を他の書き込みトークン情報に更新するために使用される。
さらに、上述のような装置において、前記入口スケジューラは、具体的に、各伝送バッファの書き込み待ち時間に基づいて書き込み待ち時間が最も長い伝送バッファを確定し、前記現在の書き込みトークン情報を書き込み待ち時間が最も長い伝送バッファの書き込みトークン情報に更新するために使用される。
さらに、上述のような装置において、前記出口スケジューリング状態は、伝送コントローラ検出状態、伝送バッファ検出状態、及び複数の伝送バッファ読み取り状態を含み、
前記出口スケジューラは、具体的に、前記出口スケジューリング状態が伝送コントローラ検出状態であり且つ前記読み取りトークン情報がある読み取りトークン情報であると、前記伝送コントローラが検出を通過した後に前記伝送コントローラ検出状態を前記伝送バッファ検出状態にジャンプさせるように制御し、前記伝送バッファが検出を通過した後に前記伝送バッファ検出状態を前記ある読み取りトークン情報に対応する伝送バッファ読み取り状態をジャンプさせるように制御し、該伝送バッファがデータを読み取るように制御するために使用される。
さらに、上述のような装置において、前記出口スケジューラはさらに、現在の伝送コントローラの読み取ったデータが第2の予め設定された長さの値に達すると、前記現在の伝送バッファ読み取り状態を前記伝送コントローラ検出状態に更新し、前記現在の読み取りトークン情報を他の読み取りトークン情報に更新するために使用される。
さらに、上述のような装置において、前記出口スケジューラは、具体的に、各伝送バッファの読み取り待ち時間に基づいて読み取り待ち時間が最も長い伝送バッファを確定し、前記現在の読み取りトークン情報を読み取り待ち時間が最も長い伝送バッファの読み取りトークン情報に更新するために使用される。
さらに、上述のような装置において、前記伝送コントローラは、多重データバッファエリア、伝送プロセッサ及びシリアル通信エンジンを含み、
前記伝送プロセッサは、前記多重データバッファエリア、前記シリアル通信エンジンにそれぞれ接続され、
前記多重データバッファエリアは、前記データをバッファリングするために使用され、
前記伝送プロセッサは、前記多重データバッファエリア中のデータを前記シリアル通信エンジンに送信するために使用され、
前記シリアル通信エンジンは、前記伝送プロセッサによって送信されたデータを受信し、前記データをバックエンドプロセッサに送信するために使用される。
さらに、上述のような装置において、前記バックエンドプロセッサはマルチコアCPUを含み、
前記マルチコアCPUは、データをバックエンドメモリにパラレル伝送するために使用される。
第2の態様によれば、本発明の実施例は、データ伝送方法であって、
DMAコントローラは前記バックエンドプロセッサによって送信されたデータ伝送要求を受信し、前記データ伝送要求に従って前記メモリコントローラにデータ読み取り命令を送信することと、
前記メモリコントローラは、前記データ読み取り命令に従ってメモリがデータを読み取るように制御し、読み取られたデータを前記DMAコントローラに送信することと、
前記DMAコントローラは読み取られたデータを受信し、それを前記伝送バッファに送信することと、
前記伝送スケジューラは、複数の前記伝送バッファが前記DMAコントローラから送信されたデータを書き込むように制御し、また、複数の前記伝送バッファがデータを読み出して前記伝送コントローラを介して前記バックエンドプロセッサに伝送するように制御することと、を含むデータ伝送方法を提供する。
さらに、上述のような方法において、前記DMAコントローラは読み取られたデータを受信し、それを前記伝送バッファに送信することは、具体的に、
前記DMAコントローラは前記データを単一フレーム又は複数フレームの形態で伝送するように制御することを含む。
さらに、上述のような方法において、前記DMAコントローラは、マッピングユニット、セグメントカウンター及びセグメント内アドレッシングマシンを含み、
前記DMAコントローラはバックエンドプロセッサによって送信されたデータ伝送要求を受信することは、具体的に、
前記マッピングユニットは、前記バックエンドプロセッサによって送信されたフレーム開始アドレス及びフレーム長情報を含む単一フレームデータ伝送要求を受信することを含み、
それ相応に、前記DMAコントローラは前記データを単一フレームの形態で伝送するように制御することは、具体的に、
前記マッピングユニットは前記フレーム開始アドレスと前記フレーム長情報をセグメント内アドレッシング情報とセグメントカウント情報にマッピングすることと、
前記セグメント内アドレッシングマシンは前記DMAコントローラによって送信されたデータに基づいて前記セグメント内アドレッシング情報を更新し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングが最大値に達すると、前記セグメントカウンターにセグメントカウント更新情報を送信し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うことと、
前記セグメントカウンターは前記セグメントカウント更新情報を受信すると、前記セグメントカウント情報におけるカウントがセグメントカウント初期値になるまで、ダウンカウントすることと、を含む。
さらに、上述のような方法において、前記セグメント内アドレッシングマシンは前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うことは、具体的に、
前記セグメント内アドレッシングマシンは前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをゼロに設定し、次のセグメント内アドレッシングを行うことであり、
前記セグメントカウンターは前記セグメントカウント更新情報を受信すると、前記セグメントカウント情報におけるカウントがセグメントカウント初期値になるまで、ダウンカウントすることは、具体的に、
前記セグメントカウンターは前記セグメントカウント更新情報を受信すると、前記セグメントカウント情報におけるカウントがゼロになるまで、1つずつ減らしてカウントすることである。
さらに、上述のような方法において、前記DMAコントローラは、マッピングユニット、セグメント内アドレッシングマシン、セグメントカウンター及びフレームカウンターを含み、
前記DMAコントローラはバックエンドプロセッサによって送信されたデータ伝送要求を受信することは、具体的に、
前記マッピングユニットは前記バックエンドプロセッサによって送信された、フレーム数、フレーム開始アドレス及びフレーム長情報を含む複数フレームデータ伝送要求を受信すること、を含み、
前記DMAコントローラは前記データを複数フレームの形態で伝送するように制御することは、具体的に、
前記マッピングユニットは前記フレーム数、前記フレーム開始アドレス及び前記フレーム長情報をセグメント内アドレッシング情報、セグメントカウント情報及びフレームカウント情報にマッピングすることと、
前記セグメント内アドレッシングマシンは前記DMAコントローラによって送信されたデータに基づいて前記セグメント内アドレッシング情報を更新し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングが最大値に達すると、前記セグメントカウンターにセグメントカウント更新情報を送信し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うことと、
前記セグメントカウンターは前記セグメントカウント更新情報を受信すると、ダウンカウントし、前記セグメントカウント情報におけるカウントがセグメントカウント初期値であると、前記フレームカウンターにフレームカウント更新情報を送信し、前記セグメントカウント情報におけるカウントを最大値に設定し、次のフレームのセグメントカウントを行うことと、
前記フレームカウンターはフレームカウント更新情報を受信すると、前記フレームカウント情報におけるカウントがフレームカウント初期値になるまで、ダウンカウントすることと、を含む。
さらに、上述のような方法において、前記セグメント内アドレッシングマシンは前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うことは、具体的に、
前記セグメント内アドレッシングマシンは前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをゼロに設定し、次のセグメント内アドレッシングを行うこと、を含み、
前記セグメントカウンターは前記セグメントカウント更新情報を受信すると、ダウンカウントし、前記セグメントカウント情報におけるカウントがセグメントカウント初期値であると、前記フレームカウンターにフレームカウント更新情報を送信することは、具体的に、
前記セグメントカウンターは前記セグメントカウント更新情報を受信すると、1つずつ減らしてカウントし、前記セグメントカウント情報におけるカウントがゼロであると、前記フレームカウンターにフレームカウント更新情報を送信すること、を含み、
前記フレームカウンターはフレームカウント更新情報を受信すると、前記フレームカウント情報におけるカウントがフレームカウント初期値になるまで、ダウンカウントすることは、具体的に、
前記フレームカウンターはフレームカウント更新情報を受信すると、前記フレームカウント情報におけるカウントがゼロになるまで、1つずつ減らしてカウントすること、を含む。
さらに、上述のような方法において、前記伝送スケジューラは入口スケジューラと出口スケジューラを含み、
前記伝送スケジューラは、複数の前記伝送バッファが前記DMAコントローラから送信されたデータを書き込むように制御し、また、複数の前記伝送バッファがデータを読み出すように制御することは、具体的に、
前記入口スケジューラは入口スケジューリング状態と書き込みトークン情報に基づいて書き込み権限を有する伝送バッファがデータを書き込むように制御することと、
前記出口スケジューラは出口スケジューリング状態と読み取りトークン情報に基づいて読み取り権限を有する伝送バッファがデータを読み取るように制御することと、を含む。
さらに、上述のような方法において、前記入口スケジューリング状態は、アイドル状態と複数の伝送バッファ書き込み状態を含み、
前記入口スケジューラは入口スケジューリング状態と書き込みトークン情報に基づいて書き込み権限を有する伝送バッファがデータを書き込むように制御することは、具体的に、
前記入口スケジューリング状態がアイドル状態であり且つ前記書き込みトークン情報がある書き込みトークン情報であると、前記アイドル状態を前記ある書き込みトークン情報に対応する伝送バッファ書き込み状態にジャンプさせるように制御し、該伝送バッファがデータを書き込むように制御することを含む。
さらに、上述のような方法において、該伝送バッファがデータを書き込むように制御した後、前記方法は、
現在の伝送バッファの書き込んだデータが第1の予め設定された長さの値に達すると、現在の伝送バッファ書き込み状態をアイドル状態に更新し、現在の書き込みトークン情報を他の書き込みトークン情報に更新することをさらに含む。
さらに、上述のような方法において、現在の書き込みトークン情報を他の書き込みトークン情報に更新することは、具体的に、
前記入口スケジューラは各伝送バッファの書き込み待ち時間に基づいて書き込み待ち時間が最も長い伝送バッファを確定し、前記現在の書き込みトークン情報を書き込み待ち時間が最も長い伝送バッファの書き込みトークン情報に更新することを含む。
さらに、上述のような方法において、前記出口スケジューリング状態は、伝送コントローラ検出状態、伝送バッファ検出状態、及び複数の伝送バッファ読み取り状態を含み、
前記出口スケジューラは出口スケジューリング状態と読み取りトークン情報に基づいて読み取り権限を有する伝送バッファがデータを読み取るように制御することは、具体的に、
前記出口スケジューリング状態が伝送コントローラ検出状態であり且つ前記読み取りトークン情報がある読み取りトークン情報であると、前記伝送コントローラが検出を通過した後に前記伝送コントローラ検出状態を前記伝送バッファ検出状態にジャンプさせるように制御し、前記伝送バッファが検出を通過した後に前記伝送バッファ検出状態を前記ある読み取りトークン情報に対応する伝送バッファ読み取り状態にジャンプさせるように制御し、該伝送バッファがデータを読み取るように制御することを含む。
さらに、上述のような方法において、該伝送バッファがデータを読み取るように制御した後、前記方法は、
現在の伝送コントローラの読み取ったデータが第2の予め設定された長さの値に達すると、前記現在の伝送バッファ読み取り状態を前記伝送コントローラ検出状態に更新し、前記現在の読み取りトークン情報を他の読み取りトークン情報に更新することをさらに含む。
さらに、上述のような方法において、前記現在の読み取りトークン情報を他の読み取りトークン情報に更新することは、具体的に、
前記出口スケジューラは各伝送バッファの読み取り待ち時間に基づいて読み取り待ち時間が最も長い伝送バッファを確定し、前記現在の読み取りトークン情報を読み取り待ち時間が最も長い伝送バッファの読み取りトークン情報に更新することを含む。
さらに、上述のような方法において、前記伝送コントローラは、多重データバッファエリア、伝送プロセッサ及びシリアル通信エンジンを含み、
前記方法は、さらに、
前記多重データバッファエリアは前記データをバッファリングすることと、
前記伝送プロセッサは前記多重データバッファエリアにおけるデータを前記シリアル通信エンジンに送信することと、
前記シリアル通信エンジンは前記伝送プロセッサによって送信されたデータを受信し、前記データをバックエンドプロセッサに送信することと、を含む。
さらに、上述のような方法において、前記バックエンドプロセッサはマルチコアCPUを含み、
前記方法は、さらに、
前記マルチコアCPUはデータをバックエンドメモリにパラレル伝送することを含む。
第3の態様によれば、本発明の実施例は、コンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体であって、第2の態様のいずれか1項に記載の方法を実現するように、前記コンピュータプログラムがプロセッサによって実行されるコンピュータ読み取り可能な記憶媒体を提供する。
本発明の実施例はデータ伝送装置、方法及び読み取り可能な記憶媒体を提供し、該装置は、フロントエンドプロセッサ、伝送コントローラ及びバックエンドプロセッサを含む。フロントエンドプロセッサは伝送コントローラによってバックエンドプロセッサに接続される。前記フロントエンドプロセッサは、DMAコントローラ、伝送スケジューラ、メモリコントローラ、及び複数の伝送バッファを含み、前記DMAコントローラは、前記伝送コントローラ、前記メモリコントローラ、各前記伝送バッファ及び前記伝送スケジューラにそれぞれ接続され、前記伝送コントローラと前記伝送スケジューラのそれぞれはいずれも各前記伝送バッファに接続され、前記DMAコントローラは、前記バックエンドプロセッサによって送信されたデータ伝送要求を受信し、前記データ伝送要求に従って前記メモリコントローラにデータ読み取り命令を送信し、読み取られたデータを受信し、それを前記伝送バッファに送信するために使用され、前記メモリコントローラは、前記データ読み取り命令に従ってメモリがデータを読み取るように制御し、読み取られたデータを前記DMAコントローラに送信するために使用され、前記伝送スケジューラは、複数の前記伝送バッファが前記DMAコントローラから送信されたデータを書き込むように制御し、また、複数の前記伝送バッファがデータを読み出して前記伝送コントローラを介して前記バックエンドプロセッサに伝送するように制御するために使用される。フロントエンドプロセッサでは、伝送されるデータを整然としてスケジューリングできるため、ビッグデータの高速伝送を実行でき、且つ、バックエンドプロセッサがデータを受信できるようになってからデータを伝送し、バックエンドプロセッサの負荷を増加せず、大量のリソースの消耗を避ける。
上記の発明の内容に説明された内容は、本発明の実施例の肝心な又は重要な特徴を限定するものではなく、本発明の範囲を制限するものでもない。本発明の他の特徴は、以下の説明により容易に理解されることを理解すべきである。
本願の実施例又は従来技術の技術的解決手段をより明確に説明ために、以下、実施例又は従来技術の説明に使用する必要がある図面について簡単に説明する。明らかに、以下の説明における図面は、本願のいくつかの実施例であり、当業者であれば、創造的な労働をせずに、これらの図面に基づいて他の図面を得ることができる。
本発明の実施例1にて提供されるデータ伝送装置の構造模式図である。 本発明の実施例2にて提供されるデータ伝送装置におけるDMAコントローラの構造模式図である。 本発明の実施例3にて提供されるデータ伝送装置におけるDMAコントローラの構造模式図である。 本発明の実施例4にて提供されるデータ伝送装置の構造模式図である。 本発明の実施例4にて提供されるデータ伝送装置における伝送スケジューラの構造模式図である。 本発明の実施例4にて提供されるデータ伝送装置における入口スケジューラの入口スケジューリング状態のジャンプ模式図である。 本発明の実施例4にて提供されるデータ伝送装置における出口スケジューラの出口スケジューリング状態のジャンプ模式図である。 本発明の実施例5にて提供されるデータ伝送装置における伝送コントローラの構造模式図である。 本発明の実施例6にて提供されるデータ伝送方法のフローチャートである。 本発明の実施例7にて提供されるデータ伝送方法のフローチャートである。 本発明の実施例8にて提供されるデータ伝送方法のフローチャートである。 本発明の実施例9にて提供されるデータ伝送方法のフローチャートである。 本発明の実施例10にて提供されるデータ伝送方法のフローチャートである。
以下、図面を参照して本発明の実施例をより詳細に説明する。図面には本発明のいくつかの実施例が示されたが、理解すべきものとして、本発明は、様々な形態で実現可能であり、ここで説明した実施例に限定されるものとして解釈されるべきではなく、逆に、これらの実施例は、本発明をより徹底的で完全に理解するために提供される。理解すべきものとして、本発明の図面及び実施例は、例示のみを目的としており、本発明の保護範囲を制限するために使用されるものではない。
本願の実施例の明細書、特許請求の範囲及び上記の図面における用語「第1」、「第2」「第3」、「第4」などは(存在すると)、類似のオブジェクトを区別するために使用され、特定の順序又は前後順序を説明するために使用されるわけではない。理解すべきものとして、本明細書に記載の本願の実施例は、本明細書に図示又は記載される順序以外の順序で実施することができるように、このように使用されるデータは、適切な状況下で交換することができる。さらに、用語「含む」と「有する」及びそれらの任意の変形は、非排他的な包含をカバーすることを意図し、例えば、一連のステップ又はユニットを含むプロセス、方法、システム、製品又は機器は、明確に挙げられたそれらのステップ又はユニットに限定される必要はなく、明確に挙げられないか又はこれらのプロセス、方法、製品又は機器に固有の他のステップ又はユニットを含んでもよい。
実施例1
図1は本発明の実施例1にて提供されるデータ伝送装置の構造模式図であり、図1に示すように、本実施例にて提供されデータ伝送装置はフロントエンドプロセッサ101、伝送コントローラ102及びバックエンドプロセッサ103を含む。
そのうち、フロントエンドプロセッサ101は、伝送コントローラ102によってバックエンドプロセッサ103に接続される。
具体的に、フロントエンドプロセッサ101は、フロントエンドメモリ内のデータに対して伝送のスケジューリングを行い、データを伝送コントローラ102に送信するために使用される。伝送コントローラ102は、フロントエンドプロセッサ101とバックエンドプロセッサ103の伝送チャネルとしてデータをバックエンドプロセッサ103に送信する。バックエンドプロセッサ103は、伝送されるデータをスケジューリングした後にバックエンドメモリ又は外部記憶機器に伝送するために使用される。
本実施例において、フロントエンドプロセッサ101は、DMAコントローラ1011、伝送スケジューラ1012、メモリコントローラ1013、及び複数の伝送バッファを含み、DMAコントローラ1011は、伝送コントローラ102、メモリコントローラ1013、各伝送バッファ及び伝送スケジューラ1012にそれぞれ接続され、伝送コントローラ102と伝送スケジューラ1012のそれぞれはいずれも各伝送バッファに接続される。
本実施例において、DMAコントローラ1011は、バックエンドプロセッサ103によって送信されたデータ伝送要求を受信し、データ伝送要求に従ってメモリコントローラ1013にデータ読み取り命令を送信し、読み取られたデータを受信し、それを伝送バッファに送信するために使用される。メモリコントローラ1013は、データ読み取り命令に従ってメモリがデータを読み取るように制御し、読み取られたデータをDMAコントローラ1011に送信するために使用される。伝送スケジューラ1012は、複数の伝送バッファがDMAコントローラ1011から送信されたデータを書き込むように制御し、また、複数の伝送バッファがデータを読み出して伝送コントローラ102を介してバックエンドプロセッサ103に伝送するように制御するために使用される。
具体的に、本実施例において、DMAコントローラ1011は、バックエンドプロセッサ103によって送信された伝送情報を含むデータ伝送要求を受信し、DMAコントローラ1011はデータ伝送要求の伝送情報に基づいてメモリコントローラ1013に対応するデータ読み取り命令を送信し、メモリコントローラ1013はデータ読み取り命令に従ってメモリがデータを読み取るように制御し、ただし、メモリはフロントエンドメモリからデータを読み取ることができる。読み取られたデータをDMAコントローラ1011に送信する。DMAコントローラ1011は読み取られたデータを受信し、それを伝送バッファに送信する。DMAコントローラ1011がデータを伝送バッファに伝送する時に、伝送スケジューラ1012はルールに従って各伝送バッファがDMAによって送信されたデータを順次書き込むように制御し、各伝送バッファに均等な書き込み権限を有させ、即ち1つの伝送バッファがデータを書き込んだ後、他の伝送バッファはデータを書き込み続けることができる。また、伝送スケジューラ1012はルールに従って各伝送バッファがデータを順次読み出して伝送コントローラ102を介してバックエンドプロセッサ103に送信するように制御する。ここで、各伝送バッファも均等な読み取り権限を有し、即ち1つの伝送バッファがデータを読み取った後、他の伝送バッファはデータを読み取り続けることができる。
ここで、図1では2つの伝送バッファを含み、それぞれは第1の伝送バッファ1014と第2の伝送バッファ1015である。
本実施例にて提供されるデータ伝送装置は、フロントエンドプロセッサ101、伝送コントローラ102及びバックエンドプロセッサ103を含む。フロントエンドプロセッサ101は、伝送コントローラ102によってバックエンドプロセッサ103に接続される。フロントエンドプロセッサ101は、DMAコントローラ1011、伝送スケジューラ1012、メモリコントローラ1013、及び複数の伝送バッファを含み、DMAコントローラ1011は伝送コントローラ102、メモリコントローラ1013、各伝送バッファ及び伝送スケジューラ1012にそれぞれ接続され、伝送コントローラ102と伝送スケジューラ1012のそれぞれはいずれも各伝送バッファに接続される。DMAコントローラ1011は、バックエンドプロセッサ103によって送信されたデータ伝送要求を受信し、データ伝送要求に従ってメモリコントローラ1013にデータ読み取り命令を送信し、読み取られたデータを受信し、それを伝送バッファに送信するために使用され、メモリコントローラ1013は、データ読み取り命令に従ってメモリがデータを読み取るように制御し、読み取られたデータをDMAコントローラ1011に送信するために使用され、伝送スケジューラ1012は、複数の伝送バッファがDMAコントローラ1011から送信されたデータを書き込むように制御し、また、複数の伝送バッファがデータ読み出して伝送コントローラ102を介してバックエンドプロセッサ103に伝送するように制御するために使用される。フロントエンドプロセッサ101では、伝送されるデータを整然としてスケジューリングできるため、ビッグデータの高速伝送を実行でき、且つ、バックエンドプロセッサ103がデータを受信できるようになってからデータを伝送し、バックエンドプロセッサ103の負荷を増加せず、大量のリソースの消耗を避ける。
さらに、本実施例において、DMAコントローラ1011は、具体的に、データを単一フレーム又は複数フレームの形態で伝送するように制御するために使用される。
具体的に、本実施例において、DMAコントローラ1011はバックエンドプロセッサ103によって送信された、単一フレーム伝送情報であってもよいし、複数フレーム伝送情報であってもよい伝送情報を含むデータ伝送要求を受信し、DMAコントローラ1011は読み取られたデータを受信し、それを伝送バッファに送信する場合、伝送情報が単一のフレーム伝送情報であると、ダイレクトメモリアクセス技術によって単一フレームの形態でデータを伝送バッファに送信し、伝送情報が複数フレーム伝送情報であると、ダイレクトメモリアクセス技術によって複数フレームの形態でデータを伝送バッファに送信する。
このため、本実施例にて提供されるデータ伝送装置には、DMAコントローラ1011は、具体的に、データを単一フレーム又は複数フレームの形態で伝送するように制御するために使用され、ダイレクトメモリアクセス技術によってデータの伝送を行うことができ、データ伝送の速度をさらに速める。
実施例2
図2は本発明の実施例2にて提供されるデータ伝送装置におけるDMAコントローラ1011の第1の構造模式図であり、図2に示すように、本発明の実施例2にて提供されるデータ伝送装置は、本発明の実施例1にて提供されるデータ伝送装置において、フロントエンドプロセッサ101のDMAコントローラ1011をさらに細分化し、本実施例において、DMAコントローラ1011はマッピングユニット1011a、セグメントカウンター1011b及びセグメント内アドレッシングマシン1011cを含む。
そのうち、マッピングユニット1011aは、セグメントカウンター1011bとセグメント内アドレッシングマシン1011cにそれぞれ接続され、セグメントカウンター1011bはセグメント内アドレッシングマシン1011cに接続される。
本実施例において、マッピングユニット1011aは、バックエンドプロセッサ103によって送信されたフレーム開始アドレス及びフレーム長情報を含む単一フレームデータ伝送要求を受信し、フレーム開始アドレスとフレーム長情報をセグメント内アドレッシング情報とセグメントカウント情報にマッピングするために使用される。セグメント内アドレッシングマシン1011cは、DMAコントローラ1011によって送信されたデータに基づいてセグメント内アドレッシング情報を更新し、セグメント内アドレッシング情報におけるセグメント内アドレッシングが最大値に達すると、セグメントカウンター1011bにセグメントカウント更新情報を送信し、セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うために使用される。セグメントカウンター1011bは、セグメントカウント更新情報を受信すると、セグメントカウント情報におけるカウントがセグメントカウント初期値になるまで、ダウンカウントするために使用される。
好ましくは、本実施例において、セグメント内アドレッシングマシン1011cは、具体的に、セグメント内アドレッシング情報におけるセグメント内アドレッシングをゼロに設定し、次のセグメント内アドレッシングを行うために使用される。セグメントカウンター1011bは、セグメントカウント更新情報を受信すると、セグメントカウント情報におけるカウントがゼロになるまで、1つずつ減らしてカウントするために使用される。即ち、好ましくは、本実施例において、セグメント内アドレッシングマシン1011c内のセグメント内アドレッシング初期値はゼロであり、セグメントカウンター1011bが行うダウンカウントは1つずつ減らすカウントである。
具体的に、本実施例において、DMAコントローラ1011はデータを単一フレームの形態で伝送するように制御すると、DMAコントローラ1011はマッピングユニット1011a、セグメントカウンター1011b及びセグメント内アドレッシングマシン1011cを含む。
まず、マッピングユニット1011aはバックエンドプロセッサ103によって送信されたフレーム開始アドレス及びフレーム長情報を含む単一フレームデータ伝送要求を受信する。そのうち、フレーム開始アドレスは、該単一フレームデータの記憶位置を示すことができ、フレーム長情報は単一フレームの長さである。フレーム開始アドレスとフレーム長情報をセグメント内アドレッシング情報とセグメントカウント情報にマッピングし、即ちこのフレーム開始アドレスを有する単一フレームデータをフレーム長に応じて複数のセグメントに分け、各セグメントに複数のセグメント内アドレッシングが含まれる。フレーム開始アドレスとフレーム長情報をセグメント内アドレッシング情報とセグメントカウント情報の後の初期状態にマッピングし、セグメントカウント情報は該単一フレームデータが分けられたセグメント数である。セグメント内アドレッシング情報におけるセグメント内アドレッシングはゼロである。
次に、セグメント内アドレッシングマシン1011cはセグメント内アドレッシング情報を記憶するとともに、DMAコントローラ1011によって送信されたデータを監視し、DMAコントローラ1011によって送信されたデータに基づいてセグメント内アドレッシングを行い、即ちセグメント内アドレッシング情報を更新し、セグメント内アドレッシングが小さいものから大きいものへ変化し、セグメント内アドレッシング情報におけるセグメント内アドレッシングが最大値に達すると、受信されたデータが1つのセグメントに達することを意味し、それで、セグメントカウンター1011bにセグメントカウント更新情報を送信し、それとともに、次のセグメントに対してセグメント内アドレッシングを行うために、セグメント内アドレッシング情報におけるセグメント内アドレッシングをゼロに設定して、引き続きメモリコントローラ1013によって送信されたデータに基づいて次のセグメント内アドレッシングを行う。
セグメントカウント更新情報は、セグメントカウンター1011bにより1つずつ減らしてカウントする情報を示す。
最後に、セグメントカウンター1011bはセグメントカウント情報を記憶し、セグメントカウント更新情報を受信すると、セグメント内アドレッシングマシン1011cにおけるセグメント内アドレッシングが最大値に達し、現在のセグメントのデータの受信が完了し、次のセグメント内アドレッシングを行う必要があることを示し、それで、セグメントカウンターはセグメントカウント情報におけるセグメント数を1つ減らし、次のセグメントのカウントを行い続ける。セグメント内アドレッシングマシンにおけるセグメント内アドレッシングが最大値に達し、セグメントカウンター1011bのセグメントカウント情報におけるカウントがゼロであると、該単一フレームデータの受信が完了することを意味する。
本実施例にて提供されるデータ伝送装置には、DMAコントローラ1011はマッピングユニット1011a、セグメントカウンター1011b及びセグメント内アドレッシングマシン1011cを含み、バックエンドプロセッサ103の単一フレームデータ伝送要求に従って単一フレームデータの正確なカウントと伝送を行うことができる。
実施例3
図3は本発明の実施例3にて提供されるデータ伝送装置におけるDMAコントローラ1011の構造模式図であり、図3に示すように、本発明の実施例3にて提供されるデータ伝送装置は、本発明の実施例1にて提供されるデータ伝送装置において、フロントエンドプロセッサ101のDMAコントローラ1011をさらに細分化し、本実施例において、DMAコントローラ1011は、マッピングユニット1011a、セグメント内アドレッシングマシン1011c、セグメントカウンター1011b及びフレームカウンター1011dを含む。
そのうち、マッピングユニット1011aは、フレームカウンター1011d、セグメントカウンター1011b、セグメント内アドレッシングマシン1011cにそれぞれ接続され、セグメントカウンター1011bは、セグメント内アドレッシングマシン1011c、フレームカウンター1011dにそれぞれ接続される。
本実施例において、マッピングユニット1011aは、バックエンドプロセッサ103によって送信されたフレーム数、フレーム開始アドレス及びフレーム長情報を含む複数フレームデータ伝送要求を受信し、フレーム数、フレーム開始アドレス及びフレーム長情報をセグメント内アドレッシング情報、セグメントカウント情報及びフレームカウント情報にマッピングするために使用される。セグメント内アドレッシングマシン1011cは、DMAコントローラ1011によって送信されたデータに基づいてセグメント内アドレッシング情報を更新し、セグメント内アドレッシング情報におけるセグメント内アドレッシングが最大値に達すると、セグメントカウンター1011bにセグメントカウント更新情報を送信し、セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うために使用される。セグメントカウンター1011bは、セグメントカウント更新情報を受信すると、ダウンカウントし、セグメントカウント情報におけるカウントがセグメントカウント初期値であると、フレームカウンター1011dにフレームカウント更新情報を送信し、セグメントカウント情報のカウントを最大値に設定し、次のフレームのセグメントカウントを行うために使用される。フレームカウンター1011dは、フレームカウント更新情報を受信すると、フレームカウント情報におけるカウントがフレームカウント初期値になるまで、ダウンカウントするために使用される。
好ましくは、本実施例において、セグメント内アドレッシングマシン1011cは、具体的に、セグメント内アドレッシング情報におけるセグメント内アドレッシングをゼロに設定し、次のセグメント内アドレッシングを行うために使用される。セグメントカウンター1011bは、具体的に、セグメントカウント更新情報を受信すると、1つずつ減らしてカウントし、セグメントカウント情報におけるカウントがゼロであると、フレームカウンター1011dにフレームカウント更新情報を送信するために使用され、フレームカウンター1011dは、具体的に、フレームカウント更新情報を受信すると、フレームカウント情報におけるカウントがゼロになるまで、1つずつ減らしてカウントするために使用される。即ち、好ましくは、本実施例において、セグメント内アドレッシングマシン1011cにおけるセグメント内アドレッシング初期値はゼロである。セグメントカウンター1011bが行うダウンカウントは1つずつ減らすカウントであり、セグメントカウント初期値はゼロである。フレームカウンター1011dが行うダウンカウントは1つずつ減らすカウントであり、フレームカウント初期値はゼロである。
具体的に、本実施例において、DMAコントローラ1011はデータを複数フレームの形態で伝送するように制御すると、DMAコントローラ1011は、マッピングユニット1011a、セグメント内アドレッシングマシン1011c、セグメントカウンター1011b及びフレームカウンター1011dを含む。
まず、マッピングユニット1011aは、バックエンドプロセッサ103によって送信されたフレーム数、フレーム開始アドレス及びフレーム長情報を含む複数フレームデータ伝送要求を受信する。ただし、フレーム数は複数フレームデータ伝送時に伝送するフレームの個数であり、フレーム開始アドレスは複数フレームデータの記憶位置を確定することができ、フレーム長情報は各フレームの長さである。フレーム数、フレーム開始アドレス及びフレーム長情報をセグメント内アドレッシング情報、セグメントカウント情報及びフレームカウント情報にマッピングし、即ち、フレーム開始アドレスを有する複数フレームデータをフレーム数に応じて複数のフレームに分け、各フレームをフレーム長に応じて複数のセグメントに分け、各セグメントは複数のセグメント内アドレッシングを含む。フレーム数、フレーム開始アドレス及びフレーム長情報をセグメント内アドレッシング情報、セグメントカウント情報及びフレームカウント情報の後の初期状態にマッピングし、フレームカウント情報は該複数フレームデータに含まれるフレーム数であり、セグメントカウント情報は単一フレームデータに含まれるセグメント数であり、セグメント内アドレッシング情報におけるセグメント内アドレッシングはゼロである。
次に、セグメント内アドレッシングマシン1011cはセグメント内アドレッシング情報を記憶し、セグメント内アドレッシング情報の初期状態はゼロであり、また、DMAコントローラ1011によって送信されたデータを監視し、DMAコントローラ1011によって送信されたデータに基づいてセグメント内アドレッシングを行い、即ちセグメント内アドレッシング情報を更新し、セグメント内アドレッシングが小さいものから大きいものへ変化し、セグメント内アドレッシング情報におけるセグメント内アドレッシングが最大値に達すると、受信されたデータが1つのセグメントに達することを意味し、それで、セグメントカウンター1011bにセグメントカウント更新情報を送信し、それとともに、次のセグメントに対してセグメント内アドレッシングを行うために、セグメント内アドレッシング情報におけるセグメント内アドレッシングをゼロに設定して、引き続きメモリコントローラ1013によって送信されたデータに基づいて次のセグメント内アドレッシングを行う。
さらに、セグメントカウンター1011bはセグメントカウント情報を記憶し、この記憶されたセグメントカウント情報の初期状態は各フレームデータに含まれるセグメント数であり、セグメントカウント更新情報を受信すると、セグメント内アドレッシングマシン1011cにおけるセグメント内アドレッシングが最大値に達し、現在のセグメントのデータの受信が完了し、次のセグメント内アドレッシングを行う必要があることを示し、それで、セグメントカウンターはセグメントカウント情報におけるセグメント数を1つずつ減らしてカウントし、1つずつ減らしてカウントする過程において、セグメントカウント情報におけるカウントがゼロに変わると、該フレームデータの伝送が完了することを意味し、それで、フレームカウンター1011dにフレームカウント更新情報を送信し、セグメントカウント情報におけるカウントを最大値に設定して、次のフレームのセグメントカウントを行う。
最後、フレームカウンター1011dはフレームカウント情報を記憶し、フレームカウント情報の初期状態は複数フレーム伝送のフレーム数であり、フレームカウント更新情報を受信すると、現在のフレームのデータの受信が完了し、次のフレームのデータを受信する必要があることを示し、それで、1つずつ減らしてカウントする。1つのフレームのデータを受信する度に、フレームカウント更新情報は、フレームカウント情報におけるカウントがゼロになるまで、1つずつ減らしてカウントする。
理解できるものとして、セグメント内アドレッシングマシン1011cにおけるセグメント内アドレッシングが最大値に達し、セグメントカウンターにおけるセグメント内カウントがゼロであり、フレームカウンター1011dにおけるフレームカウントがゼロであると、複数フレームデータの伝送が完了することを表す。
本実施例にて提供されるデータ伝送装置には、DMAコントローラ1011は、マッピングユニット1011a、セグメント内アドレッシングマシン1011c、セグメントカウンター1011b及びフレームカウンター1011dを含み、バックエンドプロセッサ103の複数フレームデータ伝送要求に従って複数フレームデータの正確なカウントと伝送を行うことができる。
実施例4
図4は本発明の実施例4にて提供されるデータ伝送装置の構造模式図である。図4に示すように、本実施例にて提供されるデータ伝送装置は、本発明の実施例1又は本発明の実施例2又は実施例3にて提供されるデータ伝送装置において、フロントエンドプロセッサ101がメモリ1016をさらに含む。また、伝送スケジューラ1012をさらに細分化し、図5は本発明の実施例4にて提供されるデータ伝送装置における伝送スケジューラ1012の構造模式図であり、図5に示すように、本実施例にて提供される伝送スケジューラ1012は、入口スケジューラ1012aと出口スケジューラ1012bを含む。
そのうち、入口スケジューラ1012aは、入口スケジューリング状態と書き込みトークン情報に基づいて書き込み権限を有する伝送バッファがデータを書き込むように制御するために使用される。出口スケジューラ1012bは、出口スケジューリング状態と読み取りトークン情報に基づいて読み取り権限を有する伝送バッファがデータを読み取るように制御するために使用される。
さらに、本実施例において、図6は本発明の実施例4にて提供されるデータ伝送装置における入口スケジューラの入口スケジューリング状態のジャンプ模式図であり、図6に示すように、本実施例において、入口スケジューリング状態は、アイドル状態と複数の伝送バッファ書き込み状態を含む。アイドル状態は入口スケジューラの初期状態である。伝送バッファが2つであると、複数の伝送バッファ書き込み状態は第1の伝送バッファ書き込み状態と第2の伝送バッファ書き込み状態を含む。そのうち、第1の伝送バッファ書き込み状態は、現在の状態が第1の伝送バッファへの書き込み状態であることを示し、第2の伝送バッファ書き込み状態は、現在の状態が第2の伝送バッファへの書き込み状態であることを示す。
ただし、書き込みトークン情報に伝送バッファの識別子が含まれ、書き込みトークン情報は、ある伝送バッファがデータを書き込む権限を有する情報を示す。
さらに、本実施例において、入口スケジューラ1012aは、具体的に、入口スケジューリング状態がアイドル状態であり且つ書き込みトークン情報がある書き込みトークン情報であると、アイドル状態をある書き込みトークン情報に対応する伝送バッファ書き込み状態にジャンプさせるように制御し、該伝送バッファがデータを書き込むように制御するために使用される。
さらに、入口スケジューラ1012aはさらに、現在の伝送バッファの書き込んだデータが第1の予め設定された長さの値に達すると、現在の伝送バッファ書き込み状態をアイドル状態に更新し、現在の書き込みトークン情報を他の書き込みトークン情報に更新するために使用される。
ただし、第1の予め設定された長さの値は予め設定された各伝送バッファが毎回書き込むデータの長さの値である。例えば、256bit、又は他の数値であってもよく、本実施例においてこれについて制限しない。
さらに、入口スケジューラ1012aは、具体的に、各伝送バッファの書き込み待ち時間に基づいて書き込み待ち時間が最も長い伝送バッファを確定し、現在の書き込みトークン情報を書き込み待ち時間が最も長い伝送バッファの書き込みトークン情報に更新するために使用される。
ただし、伝送バッファの書き込み待ち時間は前回のデータ書き込みが終了する時刻から再度データを書き込み始める時間までの時間間隔である。
具体的に、本実施例において、入口スケジューラ1012aは、各伝送バッファの書き込み待ち時間に基づいて書き込み待ち時間が最も長い伝送バッファを確定し、現在の書き込みトークン情報を書き込み待ち時間が最も長い伝送バッファの書き込みトークン情報に更新し、複数の伝送バッファに均等な書き込み権限を有させることができる。最初にデータを書き込まない場合、各伝送バッファの書き込み待ち時間が同じであり、複数の伝送バッファのデータ書き込みの順序を予め定義することができる。本実施例において、2つの伝送バッファを例として説明する。即ち入口スケジューリング状態は、アイドル状態と2つの伝送バッファ書き込み状態を含む。入口スケジューラ1012aでは、まず入口スケジューリング状態は初期状態にあり、DMAコントローラ1011は書き込む必要があるデータを有する場合、書き込みトークン情報は第1の書き込みトークン情報であり、即ち第1の伝送バッファ1014はデータを書き込む権限を有し、それで、入口スケジューリング状態がアイドル状態であり且つ書き込みトークン情報が第1の書き込みトークン情報である場合、アイドル状態を第1の伝送バッファ書き込み状態にジャンプさせるように制御し、第1の伝送バッファ1014がデータを書き込むように制御する。第1の伝送バッファ1014がデータを書き込む過程において、書き込んだデータの長さをカウントし、第1の伝送バッファ1014の書き込んだデータが第1の予め設定された長さの値に達すると、第1の伝送バッファ書き込み状態をアイドル状態に更新し、ある書き込みトークン情報を更新し、ある書き込みトークン情報を更新する時に、第2の伝送バッファ1015の書き込み待ち時間が第1の伝送バッファ1014の書き込み待ち時間より長いと確定すると、ある書き込みトークン情報を第2の書き込みトークン情報に更新し、第2の伝送バッファ1015がデータを書き込む権限を有することを示し、それで、アイドル状態を第2の伝送バッファ書き込み状態にジャンプさせるように制御し、第2の伝送バッファ1015がデータを書き込むように制御する。このように繰り返して、2つの伝送バッファは均等な書き込み権限を有し、データ書き込みを均等に行うようにする。
本実施例にて提供されるデータの伝送装置において、伝送スケジューラは、入口スケジューラと出口スケジューラを含む。入口スケジューラは、入口スケジューリング状態と書き込みトークン情報に基づいて書き込み権限を有する伝送バッファがデータを書き込むように制御するために使用される。入口スケジューリング状態は、アイドル状態と複数の伝送バッファ書き込み状態を含み、入口スケジューラは、具体的に、入口スケジューリング状態がアイドル状態であり且つ書き込みトークン情報がある書き込みトークン情報であると、アイドル状態をある書き込みトークン情報に対応する伝送バッファ書き込み状態にジャンプさせるように制御し、該伝送バッファがデータを書き込むように制御するために使用される。入口スケジューラは、具体的に、各伝送バッファの書き込み待ち時間に基づいて書き込み待ち時間が最も長い伝送バッファを確定し、現在の書き込みトークン情報を書き込み待ち時間が最も長い伝送バッファの書き込みトークン情報に更新するために使用され、複数の入口スケジューリング状態及び書き込みトークン情報を設定することによって、複数の伝送バッファに均等な書き込み権限を有させ、各伝送バッファがデータを書き込むように迅速にスケジューリングすることができる。
さらに、本実施例において、図7は本発明の実施例4にて提供されるデータ伝送装置における出口スケジューラの出口スケジューリング状態のジャンプ模式図であり、図7に示すように、本実施例において、出口スケジューリング状態は伝送コントローラ検出状態、伝送バッファ検出状態、及び複数の伝送バッファ読み取り状態を含む。
そのうち、伝送コントローラ検出状態は、伝送コントローラ102を検出する状態であり、伝送コントローラはUSBコントローラであってもよい。伝送バッファ検出状態は、伝送バッファを検出する状態であり、伝送バッファが2つであると、複数の伝送バッファ読み取り状態は第1の伝送バッファ読み取り状態と第2の伝送バッファ読み取り状態を含む。第1の伝送バッファ読み取り状態は、現在の状態が第1の伝送バッファ1014がデータを読み取る状態であることを示し、第2の伝送バッファ読み取り状態は、現在の状態が第2の伝送バッファ1015がデータを読み取る状態であることを示す。伝送コントローラ検出状態は出口スケジューラの初期状態である。
さらに、本実施例において、出口スケジューラ1012bは、具体的に、出口スケジューリング状態が伝送コントローラ検出状態であり且つ読み取りトークン情報がある読み取りトークン情報であると、伝送コントローラが検出を通過した後に伝送コントローラ検出状態を伝送バッファ検出状態にジャンプさせるように制御し、伝送バッファが検出を通過した後に伝送バッファ検出状態をある読み取りトークン情報に対応する伝送バッファ読み取り状態にジャンプさせるように制御し、該伝送バッファがデータを読み取るように制御するために使用される。
さらに、本実施例において、出口スケジューラ1012bはさらに、現在の伝送コントローラの読み取ったデータが第2の予め設定された長さの値に達すると、現在の伝送バッファ読み取り状態を伝送コントローラ検出状態に更新し、現在の読み取りトークン情報を他の読み取りトークン情報に更新するために使用される。
ただし、読み取りトークン情報に伝送バッファの識別子が含まれ、読み取りトークン情報は、ある伝送バッファがデータを読み取る権限を有する情報を示す。
第2の予め設定された長さの値は予め設定された各伝送バッファが毎回読み取るデータの長さの値である。例えば、256bit、又は他の数値であってもよく、本実施例においてこれについて制限しない。
さらに、本実施例において、出口スケジューラ1012bは、具体的に、各伝送バッファの読み取り待ち時間に基づいて読み取り待ち時間が最も長い伝送バッファを確定し、現在の読み取りトークン情報を読み取り待ち時間が最も長い伝送バッファの読み取りトークン情報に更新するために使用される。
ただし、伝送バッファの読み取り待ち時間は前回のデータ読み取りが終了する時刻から再度データを読み取り始める時間までの時間間隔である。
具体的に、本実施例において、出口スケジューラ1012bは、各伝送バッファの読み取り待ち時間に基づいて読み取り待ち時間が最も長い伝送バッファを確定し、現在の読み取りトークン情報を読み取り待ち時間が最も長い伝送バッファの読み取りトークン情報に更新し、複数の伝送バッファに均等な読み取り権限を有させることができ、本実施例において、2つの伝送バッファを例として説明する。即ち出口スケジューリング状態は、伝送コントローラ検出状態、伝送バッファ検出状態、第1の伝送バッファ読み取り状態、及び第2の伝送バッファ読み取り状態を含む。それで、出口スケジューラ1012bでは、まず、ある伝送バッファからデータを読み取ってデータを伝送コントローラ102に伝送するように、出口スケジューリング状態は初期状態にある。出口スケジューリング状態が伝送コントローラ検出状態であり且つ読み取りトークン情報が第1の読み取りトークン情報であると、第1の伝送バッファ1014が読み取り権限を有して出口スケジューリング状態が初期状態にあることを示し、伝送コントローラ102がデータを受信できるようになることを検出した後、伝送コントローラ検出状態を伝送バッファ検出状態にジャンプさせ、第1の伝送バッファ1014がデータを読み取ることができるようになることを検出した後、伝送バッファ検出状態を第1の伝送バッファ読み取り状態にジャンプさせ、第1の伝送バッファ1014がデータを読み取るように制御する。第1の伝送バッファ1014がデータを読み取る過程において、読み取ったデータの長さをカウントし、第1の伝送バッファ1014の読み取ったデータが第2の予め設定された長さの値に達すると、第1の伝送バッファ読み取り状態を伝送コントローラ検出状態に更新し、第1の読み取りトークン情報を更新し、第1の読み取りトークン情報を更新する時に、第2の伝送バッファ1015の読み取り待ち時間が第1の伝送バッファ1014の読み取り待ち時間より長いと確定すると、第1の読み取りトークン情報を第2の読み取りトークン情報に更新し、第2の伝送バッファ1015がデータを読み取る権限を有することを示し、伝送コントローラ102がデータを受信できるようになった後、伝送コントローラ検出状態を伝送バッファ検出状態にジャンプさせ、第2の伝送バッファ1015がデータを読み取ることができるようになることを検出した後、伝送バッファ検出状態を第2の伝送バッファ読み取り状態にジャンプさせ、第2の伝送バッファ1015がデータを読み取るように制御する。このように繰り返して、2つの伝送バッファは均等な読み取り権限を有し、データ読み取りを均等に行うようにする。
本実施例にて提供されるデータ伝送装置には、伝送スケジューラ1012は出口スケジューラを含み、出口スケジューラは、出口スケジューリング状態と読み取りトークン情報に基づいて読み取り権限を有する伝送バッファがデータを読み取るように制御するために使用され、出口スケジューリング状態は伝送コントローラ検出状態、伝送バッファ検出状態、及び複数の伝送バッファ読み取り状態を含み、出口スケジューラは、具体的に、出口スケジューリング状態が伝送コントローラ検出状態であり且つ読み取りトークン情報がある読み取りトークン情報であると、伝送コントローラが検出を通過した後に伝送コントローラ検出状態を伝送バッファ検出状態にジャンプさせるように制御し、伝送バッファが検出を通過した後に伝送バッファ検出状態をある読み取りトークン情報に対応する伝送バッファ読み取り状態にジャンプさせるように制御し、該伝送バッファがデータを読み取るように制御するために使用される。出口スケジューラは、具体的に、各伝送バッファの読み取り待ち時間に基づいて読み取り待ち時間が最も長い伝送バッファを確定し、現在の読み取りトークン情報を読み取り待ち時間が最も長い伝送バッファの読み取りトークン情報に更新するために使用される。複数の出口スケジューリング状態及び読み取りトークン情報を設定することによって、複数の伝送バッファに均等な読み取り権限を有させ、各伝送バッファがデータを読み取るように迅速にスケジューリングすることができる。
さらに、本実施例において、フロントエンドコントローラはメモリ1016をさらに含む。
メモリ1016はメモリコントローラ1013に接続され、メモリコントローラ1013の制御下でフロントエンドメモリからデータを読み取るために使用される。
実施例5
本発明の実施例5にて提供されるデータの伝送装置は、本発明の実施例4にて提供されるデータ伝送装置において、伝送コントローラ102とバックエンドプロセッサ103をさらに細分化する。
図8は本発明の実施例5にて提供されるデータ伝送装置における伝送コントローラ102の構造模式図であり、図8に示すように、本実施例において、伝送コントローラ102は多重データバッファエリア102a、伝送プロセッサ102b及びシリアル通信エンジン102cを含む。
そのうち、伝送プロセッサ102bは、多重データバッファエリア102a、シリアル通信エンジン102cにそれぞれ接続される。
具体的に、多重データバッファエリア102aは、データをバッファリングするために使用される。伝送プロセッサ102bは、多重データバッファエリア102aにおけるデータをシリアル通信エンジン102cに送信するために使用される。シリアル通信エンジン102cは、伝送プロセッサ102bによって送信されたデータを受信し、データをバックエンドプロセッサ103に送信するために使用される。
本実施例において、伝送コントローラ102にはUSB3.0コントローラが用いられる。
本実施例にて提供されるデータ伝送装置には、伝送コントローラ102は多重データバッファエリア102a、伝送プロセッサ102b及びシリアル通信エンジン102cを含み、多重データバッファエリア102aは、データをバッファリングするために使用され、伝送プロセッサ102bは、多重データバッファエリア102aにおけるデータをシリアル通信エンジン102cに送信するために使用され、シリアル通信エンジン102cは、伝送プロセッサ102bによって送信されたデータを受信し、データをバックエンドプロセッサ103に送信するために使用され、多重データバッファエリアはデータを効果的にバッファリングすることができるため、データをバックエンドプロセッサに直接伝送して、バックエンドプロセッサがタイムリにデータを記憶できず、データの蓄積を引き起こすことを防止する。
さらに、本実施例において、バックエンドプロセッサ103はマルチコアCPUを含む。
具体的に、マルチコアCPUは、データをバックエンドメモリにパラレル伝送するために使用される。
本実施例に提供されるデータ伝送装置には、バックエンドプロセッサ103はマルチコアCPUを用いてデータをバックエンドメモリにパラレル伝送することにより、データの伝送をさらに加速することができる。
実施例6
図9は本発明の実施例6にて提供されるデータ伝送方法のフローチャートであり、図9に示すように、実施例にて提供されるデータ伝送方法の実行主体はデータ伝送装置であり、それで、本実施例にて提供されるデータ伝送方法は以下のステップ901~904を含む。
ステップ901において、DMAコントローラはバックエンドプロセッサによって送信されたデータ伝送要求を受信し、データ伝送要求に従ってメモリコントローラにデータ読み取り命令を送信する。
ステップ902において、メモリコントローラはデータ読み取り命令に従ってメモリがデータを読み取るように制御し、読み取られたデータをDMAコントローラに送信する。
ステップ903において、DMAコントローラは読み取られたデータを受信し、それを伝送バッファに送信する。
ステップ904において、伝送スケジューラは複数の伝送バッファがDMAコントローラから送信されたデータを書き込むように制御し、また、複数の伝送バッファがデータを読み出して伝送コントローラを介してバックエンドプロセッサに伝送するように制御する。
本実施例において、本実施例におけるデータ伝送方法の技術的解決手段は、本発明の実施例1にて提供されるデータ伝送装置を使用して実行することができる。その実現原理と技術的効果が類似し、ここで一々に繰り返して説明しない。
さらに、本実施例において、ステップ903は具体的に、
DMAコントローラはデータを単一フレーム又は複数フレームの形態で伝送するように制御することを含む。
本実施例にて提供されるデータ伝送方法には、DMAコントローラはデータを単一フレーム又は複数フレームの形態で伝送するように制御し、ダイレクトメモリアクセス技術によってデータの伝送を行うことができ、データ伝送の速度をさらに速める。
実施例7
図10は本発明の実施例7にて提供されるデータ伝送方法のフローチャートであり、図10に示すように、本実施例にて提供されるデータ伝送方法は、本発明の実施例6にて提供されるデータ伝送方法において、ステップ901及びステップ903をさらに細分化し、ただし、DMAコントローラはマッピングユニット、セグメントカウンター及びセグメント内アドレッシングマシンを含む。本実施例におけるデータ伝送方法には、DMAコントローラはデータを単一フレームの形態で伝送するように制御し、それで、本実施例にて提供されるデータ伝送方法は以下のステップ1001~1003を含む。
ステップ1001において、マッピングユニットはバックエンドプロセッサによって送信されたフレーム開始アドレス及びフレーム長情報を含む単一フレームデータ伝送要求を受信し、単一フレームデータ伝送要求に従ってメモリコントローラにデータ読み取り命令を送信する。
ステップ1002において、メモリコントローラはデータ読み取り命令に従ってメモリがデータを読み取るように制御し、読み取られたデータをDMAコントローラに送信する。
ステップ1003において、DMAコントローラはデータを単一フレームの形態で伝送するように制御する。
さらに、DMAコントローラはデータを単一フレームの形態で伝送するように制御するステップは、具体的に、以下のステップ1003a~1003cを含む。
ステップ1003aにおいて、マッピングユニットはフレーム開始アドレスとフレーム長情報をセグメント内アドレッシング情報とセグメントカウント情報にマッピングする。
ステップ1003bにおいて、セグメント内アドレッシングマシンはDMAコントローラによって送信されたデータに基づいてセグメント内アドレッシング情報を更新し、セグメント内アドレッシング情報におけるセグメント内アドレッシングが最大値に達すると、セグメントカウンターにセグメントカウント更新情報を送信し、セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行う。
好ましくは、本実施例において、ステップ1003bにおいて、セグメント内アドレッシングマシンはセグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うことは、具体的に、
セグメント内アドレッシングマシンはセグメント内アドレッシング情報におけるセグメント内アドレッシングをゼロに設定し、次のセグメント内アドレッシングを行うことを含む。
即ち、好ましくは、本実施例において、セグメント内アドレッシングマシンにおけるセグメント内アドレッシング初期値はゼロである。
ステップ1003cにおいて、セグメントカウンターはセグメントカウント更新情報を受信すると、セグメントカウント情報におけるカウントがセグメントカウント初期値になるまで、ダウンカウントする。
好ましくは、本実施例において、ステップ1003cは、具体的に、
セグメントカウンターはセグメントカウント更新情報を受信したと、セグメントカウント情報のカウントがゼロになるまで、1つずつ減らしてカウントするステップを含む。
即ち、好ましくは、本実施例において、セグメントカウンターが行うダウンカウントは1つずつ減らすカウントであり、セグメントカウント初期値はゼロである。
ステップ1004において、伝送スケジューラは複数の伝送バッファがDMAによって送信されたデータを書き込むように制御し、また、複数の伝送バッファがデータを読み出して伝送コントローラを介してバックエンドプロセッサに伝送するように制御する。
本実施例において、本実施例におけるデータ伝送方法の技術的解決手段は、本発明の実施例2にて提供されるデータ伝送装置を使用して実行することができる。その実現原理と技術的効果が類似し、ここで一々に繰り返して説明しない。
実施例8
図11は本発明の実施例8にて提供されるデータ伝送方法のフローチャートであり、図11に示すように、本実施例にて提供されるデータ伝送方法は、本発明の実施例8にて提供されるデータ伝送方法において、ステップ901及びステップ903をさらに細分化し、ただし、DMAコントローラはマッピングユニット、セグメント内アドレッシングマシン、セグメントカウンター及びフレームカウンターを含む。本実施例におけるデータ伝送方法において、DMAコントローラはデータを複数フレームの形態で伝送するように制御し、それで、本実施例にて提供されるデータ伝送方法は以下のステップ1101~1104を含む。
ステップ1101において、マッピングユニットはバックエンドプロセッサによって送信されたフレーム数、フレーム開始アドレス及びフレーム長情報を含む複数フレームデータ伝送要求を受信し、複数フレームデータ伝送要求に従ってメモリコントローラにデータ読み取り命令を送信する。
ステップ1102において、メモリコントローラはデータ読み取り命令に従ってメモリがデータを読み取るように制御し、読み取られたデータをDMAコントローラに送信する。
ステップ1103において、DMAコントローラはデータを複数フレームの形態で伝送するように制御する。
さらに、本実施例において、ステップ1103は、具体的に、以下のステップ1103a~1103dを含む。
ステップ1103aにおいて、マッピングユニットはフレーム数、フレーム開始アドレス及びフレーム長情報をセグメント内アドレッシング情報、セグメントカウント情報及びフレームカウント情報にマッピングする。
ステップ1103bにおいて、セグメント内アドレッシングマシンはDMAコントローラによって送信されたデータに基づいてセグメント内アドレッシング情報を更新し、セグメント内アドレッシング情報におけるセグメント内アドレッシングが最大値に達すると、セグメントカウンターにセグメントカウント更新情報を送信し、セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行う。
好ましくは、本実施例において、ステップ1103bにおけるセグメント内アドレッシングマシンはセグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うことは、具体的に、
セグメント内アドレッシングマシンはセグメント内アドレッシング情報におけるセグメント内アドレッシングをゼロに設定し、次のセグメント内アドレッシングを行うことを含む。
即ち、好ましくは、本実施例において、セグメント内アドレッシングマシンにおけるセグメント内アドレッシング初期値はゼロである。
ステップ1103cにおいて、セグメントカウンターはセグメントカウント更新情報を受信すると、ダウンカウントし、セグメントカウント情報におけるカウントがセグメントカウント初期値であると、フレームカウンターにフレームカウント更新情報を送信し、セグメントカウント情報におけるカウントを最大値に設定し、次のフレームのセグメントカウントを行う。
好ましくは、本実施例において、ステップ1103cは、具体的に、
セグメントカウンターはセグメントカウント更新情報を受信すると、1つずつ減らしてカウントし、セグメントカウント情報におけるカウントがゼロであると、フレームカウンターにフレームカウント更新情報を送信することを含む。
即ち、好ましくは、本実施例において、セグメントカウンターが行うダウンカウントは1つずつ減らすカウントであり、セグメントカウント初期値はゼロである。
ステップ1103dにおいて、フレームカウンターはフレームカウント更新情報を受信すると、フレームカウント情報におけるカウントがフレームカウント初期値になるまで、ダウンカウントする。
好ましくは、本実施例において、ステップ1103dは、具体的に、
フレームカウンターはフレームカウント更新情報を受信すると、フレームカウント情報におけるカウントがゼロになるまで、1つずつ減らしてカウントすることを含む。
即ち、好ましくは、本実施例において、フレームカウンターが行うダウンカウントは1つずつ減らすカウントであり、フレームカウント初期値はゼロである。
ステップ1104において、伝送スケジューラは複数の伝送バッファがDMAによって送信されたデータを書き込むように制御し、また、複数の伝送バッファがデータを読み出して伝送コントローラを介してバックエンドプロセッサに伝送するように制御する。
本実施例において、本実施例におけるデータ伝送方法の技術的解決手段は、本発明の実施例3にて提供されるデータ伝送装置を使用して実行することができる。その実現原理と技術的効果が類似し、ここで一々に繰り返して説明しない。
実施例9
図12は本発明の実施例9にて提供されるデータ伝送方法のフローチャートであり、図12に示すように、本実施例にて提供されるデータ伝送方法は、本発明の実施例6又は実施例7又は実施例8にて提供されるデータ伝送方法において、ステップ904又はステップ1004又はステップ1104をさらに細分化し、ただし、伝送スケジューラは、入口スケジューラと出口スケジューラを含む。本実施例におけるデータ伝送方法は、本発明の実施例1を基礎とし、ステップ904における、伝送スケジューラは複数の伝送バッファがDMAによって送信されたデータを書き込むように制御し、また、複数の伝送バッファがデータを読み出して伝送コントローラを介してバックエンドプロセッサに伝送するように制御することは、具体的に以下のステップ904a~904bを含む。
ステップ904aにおいて、入口スケジューラは入口スケジューリング状態と書き込みトークン情報に基づいて書き込み権限を有する伝送バッファがデータを書き込むように制御する。
さらに、入口スケジューラは入口スケジューリング状態と書き込みトークン情報に基づいて書き込み権限を有する伝送バッファがデータを書き込むように制御することは、具体的に、
入口スケジューリング状態がアイドル状態であり且つ書き込みトークン情報がある書き込みトークン情報であると、アイドル状態をある書き込みトークン情報に対応する伝送バッファ書き込み状態にジャンプさせるように制御し、該伝送バッファがデータを書き込むように制御することを含む。
本実施例において、該伝送バッファがデータを書き込むように制御した後、前記方法は、
現在の伝送バッファの書き込んだデータが第1の予め設定された長さの値に達すると、現在の伝送バッファ書き込み状態をアイドル状態に更新し、現在の書き込みトークン情報を他の書き込みトークン情報に更新するステップをさらに含む。
さらに、本実施例において、現在の書き込みトークン情報を他の書き込みトークン情報に更新することは、具体的に、
入口スケジューラは各伝送バッファの書き込み待ち時間に基づいて書き込み待ち時間が最も長い伝送バッファを確定し、現在の書き込みトークン情報を書き込み待ち時間が最も長い伝送バッファの書き込みトークン情報に更新することを含む。
ステップ904bにおいて、出口スケジューラは出口スケジューリング状態と読み取りトークン情報に従って基づいて読み取り権限を有する伝送バッファがデータを読み取るように制御する。
さらに、出口スケジューリング状態は、伝送コントローラ検出状態、伝送バッファ検出状態、及び複数の伝送バッファ読み取り状態を含む。
出口スケジューラは出口スケジューリング状態と読み取りトークン情報に基づいて読み取り権限を有する伝送バッファがデータを読み取るように制御することは、具体的に、
出口スケジューリング状態が伝送コントローラ検出状態であり且つ読み取りトークン情報がある読み取りトークン情報であると、伝送コントローラが検出を通過した後に伝送コントローラ検出状態を伝送バッファ検出状態にジャンプさせるように制御し、伝送バッファが検出を通過した後に伝送バッファ検出状態をある読み取りトークン情報に対応する伝送バッファ読み取り状態にジャンプさせるように制御し、該伝送バッファがデータを読み取るように制御することを含む。
本実施例において、該伝送バッファがデータを読み取るように制御した後、前記方法は、
現在の伝送コントローラの読み取ったデータが第2の予め設定された長さの値に達すると、現在の伝送バッファ読み取り状態を伝送コントローラ検出状態に更新し、現在の読み取りトークン情報を他の読み取りトークン情報に更新するステップをさらに含む。
さらに、本実施例において、現在の読み取りトークン情報を他の読み取りトークン情報に更新することは、具体的に、
出口スケジューラは各伝送バッファの読み取り待ち時間に基づいて読み取り待ち時間が最も長い伝送バッファを確定し、現在の読み取りトークン情報を読み取り待ち時間が最も長い伝送バッファの読み取りトークン情報に更新することを含む。
本実施例において、本実施例におけるデータ伝送方法の技術的解決手段は、本発明の実施例4にて提供されるデータ伝送装置を使用して実行することができる。その実現原理と技術的効果が類似し、ここで一々に繰り返して説明しない。
実施例10
図13は本発明の実施例10にて提供されるデータ伝送方法のフローチャートであり、本実施例にて提供されるデータ伝送方法は、本発明の実施例6にて提供されるデータ伝送方法において、ステップ904の後に、以下のステップ1301~1304をさらに含む。
ステップ1301において、多重データバッファエリアはデータをバッファリングする。
ステップ1302において、伝送プロセッサは多重データバッファエリアにおけるデータをシリアル通信エンジンに送信する。
ステップ1303において、シリアル通信エンジンは伝送プロセッサによって送信されたデータを受信し、データをバックエンドプロセッサに送信する。
ステップ1304において、マルチコアCPUはデータをバックエンドメモリにパラレル伝送する。
本実施例において、本実施例におけるデータ伝送方法の技術的解決手段は、本発明の実施例5にて提供されるデータ伝送装置を使用して実行することができる。その実現原理と技術的効果が類似し、ここで一々に繰り返して説明しない。
実施例11
本発明の実施例11は、コンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体であって、本発明の実施例1~実施例5のいずれか1項に記載の方法を実現するように、コンピュータプログラムがプロセッサによって実行されるコンピュータ読み取り可能な記憶媒体をさらに提供する。
本発明にて提供されるいくつかの実施例において、理解すべきものとして、開示された装置及び方法は、他の形態で実現されてもよい。例えば、以上で言及された装置の実施例は単に例示的なものであり、例えば、モジュールの分割は、単なる論理機能の分割であり、実際に実施する時に、他の分割形態にしてもよく、例えば複数のモジュール又はコンポーネントを、別のシステムに組み合わせ又は集積してもよく、或いは、いくつかの特徴を無視したり、実行しなかったりしてもよい。一方、表示又は議論された相互間の結合又は直接結合又は通信接続は、いくつかのインターフェース、装置又はモジュールによる間接結合又は通信接続であってもよく、電気的、機械的又は他の形態であってもよい。
分離部品として説明されたモジュールは、物理的に分離されてもよいし、分離されなくてもよく、モジュールとして表示された部品は、物理モジュールであってもよいし、物理モジュールでなくてもよく、即ち、1つの場所に位置してもよいし、複数のネットワークモジュールに分布してもよい。本実施例の解決手段の目的は、実際の必要に応じて、そのうちの一部又はすべてのモジュールを選択して実現することができる。
また、本発明の各実施例における各機能モジュールは、1つの処理モジュールに集積されてもよく、各モジュールが個別に物理的に存在してもよく、2つ又は2つ以上のモジュールが1つのモジュールに集積されてもよい。上記の集積されたモジュールは、ハードウェアの形態で実現されてもよいし、ハードウェアにソフトウェアを加える機能モジュールの形態で実現されてもよい。
本発明の方法を実施するためのプログラムコードは、1つ又は複数のプログラミング言語の任意の組合せを用いて作成することができる。これらのプログラムコードを汎用コンピュータ、専用コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサ又はコントローラに提供することができ、それにより、プログラムコードがプロセッサ又はコントローラによって実行されると、フローチャート及び/又はブロック図に規定された機能/動作が実施される。プログラムコードは完全に機械で実行されてもよいし、部分的に機械で実行されてもよいし、独立したソフトウェアパッケージとして部分的に機械で実行され、且つ部分的にリモート機械で実行されてもよいし、完全にリモート機械又はサーバで実行されてもよい。
本発明の文脈において、機械読み取り可能な媒体は、有形の媒体であってもよく、命令実行システム、装置又は機械に使用され、又は命令実行システム、装置又は機器と組み合わせて使用されるプログラムを含むか、又は記憶することができる。機械読み取り可能な媒体は、機械読み取り可能な信号媒体又は機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子的、磁気的、光学的、電磁的、赤外線的、若しくは半導体システム、装置又は機器、或いは上記の任意の適切な組み合わせを含んでもよいが、これらに限定されない。機械読み取り可能な記憶媒体のより具体的な例は、1つ又は複数の線に基づく電気的接続、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能なプログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光学記憶機器、磁気記憶機器、又は上記の任意の適切な組み合わせを含むことができる。
また、特定の手順で各操作を説明したが、これは、特定の手順又は順序の手順で実行するように、そのように操作することが要求され、或いは、所望の結果を取得するように、図示されるすべての操作が実行されるべきであることが要求されると理解されるべきである。一定の環境で、マルチタスクと並列処理が有利な場合がある。同様に、以上の議論には若干の具体的な実現の詳細が含まれるが、これらは本開示の範囲を限定するものとして解釈されるべきではない。個別な実施例の文脈に説明されたある特徴は組み合わせて単一の実現に実現することもできる。逆に、単一の実現の文脈に説明された様々な特徴は、個別に、又は適切なサブコンビネーションの形態で複数の実現に実現することもできる。
本主題は、構造特徴及び/又は方法論理的動作に特有の言葉で説明されているが、添付の特許請求の範囲で限定される主題は必ずしも上記の特定の特徴又は動作に限定されないことを理解すべきである。逆に、上記の特定の特徴及び動作は、特許請求の範囲を実現する単なる例示的な形態である。
101-フロントエンドプロセッサ、1011-DMAコントローラ、1011a-マッピングユニット、1011b-セグメントカウンター、1011c-セグメント内アドレッシングマシン、1011d-フレームカウンター、1012-伝送スケジューラ、1012a-入口スケジューラ、1012b-出口スケジューラ、1013-メモリコントローラ、1014-第1の伝送バッファ、1015-第2の伝送バッファ、1016-メモリ、102-伝送コントローラ、102a-多重データバッファエリア、102b-伝送プロセッサ、102c-シリアル通信エンジン、103-バックエンドプロセッサ。

Claims (23)

  1. フロントエンドプロセッサ、伝送コントローラ及びバックエンドプロセッサを含み、
    前記フロントエンドプロセッサは前記伝送コントローラによって前記バックエンドプロセッサに接続され、
    前記フロントエンドプロセッサは、ダイレクトメモリアクセス(DMA)コントローラ、伝送スケジューラ、メモリコントローラ、及び複数の伝送バッファを含み、前記DMAコントローラは、前記伝送コントローラ、前記メモリコントローラ、各前記伝送バッファ及び前記伝送スケジューラにそれぞれ接続され、前記伝送コントローラと前記伝送スケジューラのそれぞれはいずれも各前記伝送バッファに接続され、
    前記DMAコントローラは、前記バックエンドプロセッサによって送信されたデータ伝送要求を受信し、前記データ伝送要求に従って前記メモリコントローラにデータ読み取り命令を送信し、読み取られたデータを受信し、それを前記伝送バッファに送信するために使用され、
    前記メモリコントローラは、前記データ読み取り命令に従ってメモリがデータを読み取るように制御し、読み取られたデータを前記DMAコントローラに送信するために使用され、
    前記伝送スケジューラは、複数の前記伝送バッファが前記DMAコントローラから送信されたデータを書き込むように制御し、また、複数の前記伝送バッファがデータを読み出して前記伝送コントローラを介して前記バックエンドプロセッサに伝送するように制御するために使用される、
    ことを特徴とするデータ伝送装置。
  2. 前記DMAコントローラは、具体的に、前記データを単一フレーム又は複数フレームの形態で伝送するように制御するために使用される、
    ことを特徴とする請求項1に記載の装置。
  3. 前記DMAコントローラは、マッピングユニット、セグメントカウンター及びセグメント内アドレッシングマシンを含み、
    前記マッピングユニットは、前記セグメントカウンターと前記セグメント内アドレッシングマシンにそれぞれ接続され、前記セグメントカウンターは前記セグメント内アドレッシングマシンに接続され、
    前記マッピングユニットは、前記バックエンドプロセッサによって送信されたフレーム開始アドレス及びフレーム長情報を含む単一フレームデータ伝送要求を受信し、前記フレーム開始アドレスと前記フレーム長情報をセグメント内アドレッシング情報とセグメントカウント情報にマッピングするために使用され、
    前記セグメント内アドレッシングマシンは、前記DMAコントローラによって送信されたデータに基づいて前記セグメント内アドレッシング情報を更新し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングが最大値に達すると、前記セグメントカウンターにセグメントカウント更新情報を送信し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うために使用され、
    前記セグメントカウンターは、前記セグメントカウント更新情報を受信すると、前記セグメントカウント情報におけるカウントがセグメントカウント初期値になるまで、ダウンカウントする、
    ことを特徴とする請求項2に記載の装置。
  4. 前記セグメント内アドレッシングマシンは、具体的に、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをゼロに設定し、次のセグメント内アドレッシングを行うために使用され、
    前記セグメントカウンターは、前記セグメントカウント更新情報を受信すると、前記セグメントカウント情報におけるカウントがロになるまで、1つずつ減らしてカウントするために使用される、
    ことを特徴とする請求項3に記載の装置。
  5. 前記DMAコントローラは、マッピングユニット、セグメント内アドレッシングマシン、セグメントカウンター及びフレームカウンターを含み、
    前記マッピングユニットは、前記フレームカウンター、前記セグメントカウンター、及び前記セグメント内アドレッシングマシンにそれぞれ接続され、前記セグメントカウンターは前記セグメント内アドレッシングマシンと前記フレームカウンターにそれぞれ接続され、
    前記マッピングユニットは、前記バックエンドプロセッサによって送信されたフレーム数、フレーム開始アドレス及びフレーム長情報を含む複数フレームデータ伝送要求を受信し、前記フレーム数、前記フレーム開始アドレス及び前記フレーム長情報をセグメント内アドレッシング情報、セグメントカウント情報及びフレームカウント情報にマッピングするために使用され、
    前記セグメント内アドレッシングマシンは、前記DMAコントローラによって送信されたデータに基づいて前記セグメント内アドレッシング情報を更新し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングが最大値に達すると、前記セグメントカウンターにセグメントカウント更新情報を送信し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うために使用され、
    前記セグメントカウンターは、前記セグメントカウント更新情報を受信すると、ダウンカウントし、前記セグメントカウント情報におけるカウントがセグメントカウント初期値であると、前記フレームカウンターにフレームカウント更新情報を送信し前記セグメントカウント情報におけるカウントを最大値に設定し、次のフレームのセグメントカウントを行うために使用され、
    前記フレームカウンターは、フレームカウント更新情報を受信すると、前記フレームカウント情報におけるカウントがフレームカウント初期値になるまで、ダウンカウントするために使用される、
    ことを特徴とする請求項2に記載の装置。
  6. 前記セグメント内アドレッシングマシンは、具体的に、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをゼロに設定し、次のセグメント内アドレッシングを行うために使用され、
    前記セグメントカウンターは、具体的に、前記セグメントカウント更新情報を受信すると、1つずつ減らしてカウントし、前記セグメントカウント情報におけるカウントがゼロであると、前記フレームカウンターにフレームカウント更新情報を送信するために使用され、
    前記フレームカウンターは、具体的に、フレームカウント更新情報を受信すると、前記フレームカウント情報におけるカウントがゼロになるまで、1つずつ減らしてカウントするために使用される、
    ことを特徴とする請求項5に記載の装置。
  7. 前記伝送スケジューラは、入口スケジューラと出口スケジューラを含み、
    前記入口スケジューラは、入口スケジューリング状態と書き込みトークン情報に基づいて書き込み権限を有する伝送バッファがデータを書き込むように制御するために使用され、
    前記出口スケジューラは、出口スケジューリング状態と読み取りトークン情報に基づいて読み取り権限を有する伝送バッファがデータを読み取るように制御するために使用される、
    ことを特徴とする請求項1に記載の装置。
  8. 前記入口スケジューリング状態は、アイドル状態と複数の伝送バッファ書き込み状態を含み、
    前記入口スケジューラは、具体的に、前記入口スケジューリング状態がアイドル状態であり且つ前記書き込みトークン情報がある伝送バッファに対応する書き込みトークン情報であると、前記アイドル状態を書き込みトークン情報に対応する伝送バッファ書き込み状態にジャンプさせるように制御し、該伝送バッファがデータを書き込むように制御するために使用される、
    ことを特徴とする請求項7に記載の装置。
  9. 前記入口スケジューラはさらに、現在の伝送バッファの書き込んだデータが第1の予め設定された長さの値に達すると、現在の伝送バッファ書き込み状態をアイドル状態に更新し、現在の書き込みトークン情報を他の書き込みトークン情報に更新するために使用される、
    ことを特徴とする請求項8に記載の装置。
  10. 前記入口スケジューラは、具体的に、各伝送バッファの書き込み待ち時間に基づいて書き込み待ち時間が最も長い伝送バッファを確定し、前記現在の書き込みトークン情報を書き込み待ち時間が最も長い伝送バッファの書き込みトークン情報に更新するために使用される、
    ことを特徴とする請求項9に記載の装置。
  11. 前記出口スケジューリング状態は、伝送コントローラ検出状態、伝送バッファ検出状態、及び複数の伝送バッファ読み取り状態を含み、
    前記出口スケジューラは、具体的に、前記出口スケジューリング状態が伝送コントローラ検出状態であり且つ前記読み取りトークン情報がある伝送バッファに対応する読み取りトークン情報であると、前記伝送コントローラに対する検出を通過した後に前記伝送コントローラ検出状態を前記伝送バッファ検出状態にジャンプさせるように制御し、前記伝送バッファに対する検出を通過した後に前記伝送バッファ検出状態を読み取りトークン情報に対応する伝送バッファ読み取り状態ジャンプさせるように制御し、該伝送バッファがデータを読み取るように制御するために使用される、
    ことを特徴とする請求項7に記載の装置。
  12. 前記出口スケジューラはさらに、現在の伝送コントローラの読み取ったデータが第2の予め設定された長さの値に達すると、前記現在の伝送バッファ読み取り状態を前記伝送コントローラ検出状態に更新し、前記現在の読み取りトークン情報を他の読み取りトークン情報に更新するために使用される、
    ことを特徴とする請求項11に記載の装置。
  13. 前記出口スケジューラは、具体的に、各伝送バッファ読み取り待ち時間に基づいて読み取り待ち時間が最も長い伝送バッファを確定し、前記現在の読み取りトークン情報を読み取り待ち時間が最も長い伝送バッファの読み取りトークン情報に更新するために使用される、
    ことを特徴とする請求項12に記載の装置。
  14. 前記伝送コントローラは多重データバッファエリア、伝送プロセッサ及びシリアル通信エンジンを含み、
    前記伝送プロセッサは、前記多重データバッファエリア、前記シリアル通信エンジンにそれぞれ接続され、
    前記多重データバッファエリアは、前記データをバッファリングするために使用され、
    前記伝送プロセッサは、前記多重データバッファエリア中のデータを前記シリアル通信エンジンに送信するために使用され
    前記シリアル通信エンジンは、前記伝送プロセッサによって送信されたデータを受信し、前記データをバックエンドプロセッサに送信するために使用される、
    ことを特徴とする請求項1に記載の装置。
  15. 前記バックエンドプロセッサは、マルチコアCPUを含み、
    前記マルチコアCPUは、データをバックエンドメモリにパラレル伝送するために使用される、
    ことを特徴とする請求項1に記載の装置。
  16. ダイレクトメモリアクセス(DMA)コントローラはバックエンドプロセッサによって送信されたデータ伝送要求を受信し、前記データ伝送要求に従ってメモリコントローラにデータ読み取り命令を送信することと、
    前記メモリコントローラは、前記データ読み取り命令に従ってメモリがデータを読み取るように制御し、読み取られたデータを前記DMAコントローラに送信することと、
    前記DMAコントローラは読み取られたデータを受信し、それを伝送バッファに送信することと、
    送スケジューラは、複数の前記伝送バッファが前記DMAコントローラから送信されたデータを書き込むように制御し、また、複数の前記伝送バッファがデータを読み出して送コントローラを介して前記バックエンドプロセッサに伝送するように制御することと、を含み、
    前記伝送スケジューラは、入口スケジューラと出口スケジューラを含み、
    前記伝送スケジューラは、複数の前記伝送バッファが前記DMAコントローラから送信されたデータを書き込むように制御し、また、複数の前記伝送バッファがデータを読み出すように制御することは、具体的に、
    前記入口スケジューラは、入口スケジューリング状態と書き込みトークン情報に基づいて書き込み権限を有する伝送バッファがデータを書き込むように制御することと、
    前記出口スケジューラは出口スケジューリング状態と読み取りトークン情報に基づいて読み取り権限を有する伝送バッファがデータを読み取るように制御することと、を含む、
    ことを特徴とするデータ伝送方法。
  17. 前記DMAコントローラは読み取られたデータを受信し、それを前記伝送バッファに送信することは、具体的に、
    前記DMAコントローラは前記データを単一フレーム又は複数フレームの形態で伝送することを制御することを含む、
    ことを特徴とする請求項16に記載の方法。
  18. 前記DMAコントローラは、マッピングユニット、セグメントカウンター及びセグメント内アドレッシングマシンを含み、
    前記DMAコントローラはバックエンドプロセッサによって送信されたデータ伝送要求を受信することは、具体的に、
    前記マッピングユニットは、前記バックエンドプロセッサによって送信されたフレーム開始アドレス及びフレーム長情報を含む単一フレームデータ伝送要求を受信することを含み、
    それ相応に、前記DMAコントローラは前記データを単一フレームの形態で伝送するように制御することは、具体的に、
    前記マッピングユニットは前記フレーム開始アドレスと前記フレーム長情報をセグメント内アドレッシング情報とセグメントカウント情報にマッピングすることと、
    前記セグメント内アドレッシングマシンは前記DMAコントローラによって送信されたデータに基づいて前記セグメント内アドレッシング情報を更新し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングが最大値に達すると、前記セグメントカウンターにセグメントカウント更新情報を送信し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うことと、
    前記セグメントカウンターが前記セグメントカウント更新情報を受信すると、前記セグメントカウント情報におけるカウントがセグメントカウント初期値になるまで、ダウンカウントすることと、を含み、
    前記セグメント内アドレッシングマシンは前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うことは、具体的に、
    前記セグメント内アドレッシングマシンは前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをゼロに設定し、次のセグメント内アドレッシングを行うことを含み、
    前記セグメントカウンターは前記セグメントカウント更新情報を受信すると、前記セグメントカウント情報におけるカウントがセグメントカウント初期値になるまで、ダウンカウントすることは、具体的に、
    前記セグメントカウンターは前記セグメントカウント更新情報を受信すると、前記セグメントカウント情報におけるカウントがゼロになるまで、1つずつ減らしてカウントすることを含む、
    ことを特徴とする請求項17に記載の方法。
  19. 前記DMAコントローラは、マッピングユニット、セグメント内アドレッシングマシン、セグメントカウンター及びフレームカウンターを含み、
    前記DMAコントローラはバックエンドプロセッサによって送信されたデータ伝送要求を受信することは、具体的に、
    前記マッピングユニットは前記バックエンドプロセッサによって送信された、フレーム数、フレーム開始アドレス及びフレーム長情報を含む複数フレームデータ伝送要求を受信することを含み、
    前記DMAコントローラは前記データを複数フレームの形態で伝送するように制御することは、具体的に、
    前記マッピングユニットは前記フレーム数、前記フレーム開始アドレス及び前記フレーム長情報をセグメント内アドレッシング情報、セグメントカウント情報及びフレームカウント情報にマッピングすることと、
    前記セグメント内アドレッシングマシンは前記DMAコントローラによって送信されたデータに基づいて前記セグメント内アドレッシング情報を更新し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングが最大値に達すると、前記セグメントカウンターにセグメントカウント更新情報を送信し、前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うことと、
    前記セグメントカウンターは前記セグメントカウント更新情報を受信すると、ダウンカウントし、前記セグメントカウント情報におけるカウントがセグメントカウント初期値であると、前記フレームカウンターにフレームカウント更新情報を送信し、前記セグメントカウント情報におけるカウントを最大値に設定し、次のフレームのセグメントカウントを行うことと、
    前記フレームカウンターはフレームカウント更新情報を受信すると、前記フレームカウント情報におけるカウントがフレームカウント初期値になるまで、ダウンカウントすることと、を含み、
    前記セグメント内アドレッシングマシンは前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをセグメント内アドレッシング初期値に設定し、次のセグメント内アドレッシングを行うことは、具体的に、
    前記セグメント内アドレッシングマシンは前記セグメント内アドレッシング情報におけるセグメント内アドレッシングをゼロに設定し、次のセグメント内アドレッシングを行うことを含み、
    前記セグメントカウンターは前記セグメントカウント更新情報を受信すると、ダウンカウントし、前記セグメントカウント情報におけるカウントがセグメントカウント初期値であると、前記フレームカウンターにフレームカウント更新情報を送信することは、具体的に、
    前記セグメントカウンターは前記セグメントカウント更新情報を受信すると、1つずつ減らしてカウントし、前記セグメントカウント情報におけるカウントがゼロであると、前記フレームカウンターにフレームカウント更新情報を送信することを含み、
    前記フレームカウンターはフレームカウント更新情報を受信すると、前記フレームカウント情報におけるカウントがフレームカウント初期値になるまで、ダウンカウントすることは、具体的に、
    前記フレームカウンターはフレームカウント更新情報を受信すると、前記フレームカウント情報におけるカウントがゼロになるまで、1つずつ減らしてカウントすることを含む、
    ことを特徴とする請求項17に記載の方法。
  20. 前記入口スケジューリング状態は、アイドル状態と複数の伝送バッファ書き込み状態を含み、
    前記入口スケジューラは、入口スケジューリング状態と書き込みトークン情報に基づいて書き込み権限を有する伝送バッファがデータを書き込むように制御することは、具体的に、
    前記入口スケジューリング状態がアイドル状態であり且つ前記書き込みトークン情報がある伝送バッファに対応する書き込みトークン情報であると、前記入口スケジューラは前記アイドル状態を書き込みトークン情報に対応する伝送バッファ書き込み状態にジャンプさせるように制御し、該伝送バッファがデータを書き込むように制御することを含み、
    該伝送バッファがデータを書き込むように制御した後、前記方法は、
    現在の伝送バッファの書き込んだデータが第1の予め設定された長さの値に達すると、現在の伝送バッファ書き込み状態をアイドル状態に更新し、現在の書き込みトークン情報を他の書き込みトークン情報に更新することをさらに含み、
    現在の書き込みトークン情報を他の書き込みトークン情報に更新することは、具体的に、
    前記入口スケジューラは各伝送バッファ書き込み待ち時間に基づいて書き込み待ち時間が最も長い伝送バッファを確定し、前記現在の書き込みトークン情報を書き込み待ち時間が最も長い伝送バッファの書き込みトークン情報に更新することを含む、
    ことを特徴とする請求項16に記載の方法。
  21. 前記出口スケジューリング状態は、伝送コントローラ検出状態、伝送バッファ検出状態、及び複数の伝送バッファ読み取り状態を含み、
    前記出口スケジューラは出口スケジューリング状態と読み取りトークン情報に基づいて読み取り権限を有する伝送バッファがデータを読み取るように制御することは、具体的に、
    前記出口スケジューリング状態が伝送コントローラ検出状態であり且つ前記読み取りトークン情報がある伝送バッファに対応する読み取りトークン情報であると、前記伝送コントローラに対する検出を通過した後に前記伝送コントローラ検出状態を前記伝送バッファ検出状態にジャンプさせるように制御し、前記伝送バッファに対する検出を通過した後に前記伝送バッファ検出状態を読み取りトークン情報に対応する伝送バッファ読み取り状態にジャンプさせるように制御し、該伝送バッファがデータを読み取るように制御することを含み、
    該伝送バッファがデータを読み取るように制御した後、前記方法は、
    現在の伝送コントローラの読み取ったデータが第2の予め設定された長さの値に達すると、前記現在の伝送バッファ読み取り状態を前記伝送コントローラ検出状態に更新し、前記現在の読み取りトークン情報を他の読み取りトークン情報に更新することをさらに含み、
    前記現在の読み取りトークン情報を他の読み取りトークン情報に更新することは、具体的に、
    前記出口スケジューラは各伝送バッファ読み取り待ち時間に基づいて読み取り待ち時間が最も長い伝送バッファを確定し、前記現在の読み取りトークン情報を読み取り待ち時間が最も長い伝送バッファの読み取りトークン情報に更新することを含む、
    ことを特徴とする請求項16に記載の方法。
  22. 前記伝送コントローラは、多重データバッファエリア、伝送プロセッサ及びシリアル通信エンジンを含み、
    前記方法は、
    前記多重データバッファエリアは前記データをバッファリングすることと、
    前記伝送プロセッサは前記多重データバッファエリアにおけるデータを前記シリアル通信エンジンに送信することと、
    前記シリアル通信エンジンは前記伝送プロセッサによって送信されたデータを受信し、前記データをバックエンドプロセッサに送信することと、を含む、
    ことを特徴とする請求項16に記載の方法。
  23. コンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体であって、請求項16から22のいずれか1項に記載の方法を実現するように、前記コンピュータプログラムがプロセッサによって実行される、
    ことを特徴とするコンピュータ読み取り可能な記憶媒体。
JP2021557437A 2019-03-27 2020-01-09 データ伝送装置、方法及び読み取り可能な記憶媒体 Active JP7236173B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910237373.3A CN110008156B (zh) 2019-03-27 2019-03-27 数据传输的装置、方法及可读存储介质
CN201910237373.3 2019-03-27
PCT/CN2020/071106 WO2020192242A1 (zh) 2019-03-27 2020-01-09 数据传输的装置、方法及可读存储介质

Publications (2)

Publication Number Publication Date
JP2022527907A JP2022527907A (ja) 2022-06-07
JP7236173B2 true JP7236173B2 (ja) 2023-03-09

Family

ID=67168369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021557437A Active JP7236173B2 (ja) 2019-03-27 2020-01-09 データ伝送装置、方法及び読み取り可能な記憶媒体

Country Status (10)

Country Link
US (1) US11803490B2 (ja)
EP (1) EP3951605B1 (ja)
JP (1) JP7236173B2 (ja)
KR (1) KR20210134965A (ja)
CN (1) CN110008156B (ja)
AU (1) AU2020249861B2 (ja)
BR (1) BR112021019106A2 (ja)
CA (1) CA3134888A1 (ja)
MX (1) MX2021011705A (ja)
WO (1) WO2020192242A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008156B (zh) 2019-03-27 2020-12-15 无锡海斯凯尔医学技术有限公司 数据传输的装置、方法及可读存储介质
CN111401541A (zh) * 2020-03-10 2020-07-10 湖南国科微电子股份有限公司 一种数据传输控制方法及装置
CN117112465A (zh) * 2023-10-16 2023-11-24 北京象帝先计算技术有限公司 Dma调度器及方法、片上系统、电子组件及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345774A (ja) 2002-05-23 2003-12-05 Renesas Technology Corp 半導体集積回路装置
JP2006099358A (ja) 2004-09-29 2006-04-13 Kyocera Mita Corp Dma転送制御システム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0668022A (ja) * 1992-08-18 1994-03-11 Oki Electric Ind Co Ltd ダイレクトメモリアクセス装置
JP3687112B2 (ja) * 1993-08-03 2005-08-24 セイコーエプソン株式会社 データ転送制御装置及び情報処理装置
JPH11327874A (ja) * 1998-05-08 1999-11-30 Tamura Electric Works Ltd データ送受信装置
CN100533417C (zh) * 2006-12-30 2009-08-26 大唐微电子技术有限公司 片上系统的数据传输方法及直接存储器访问控制器
US7805579B2 (en) * 2007-07-31 2010-09-28 International Business Machines Corporation Methods and arrangements for multi-buffering data
US8959307B1 (en) * 2007-11-16 2015-02-17 Bitmicro Networks, Inc. Reduced latency memory read transactions in storage devices
JP2009147786A (ja) * 2007-12-17 2009-07-02 Nec Corp 通信装置、データフレームの送信制御方法及びプログラム
CN101556564B (zh) 2008-04-11 2011-08-24 联芯科技有限公司 数据接收/发送方法和装置
US8234478B1 (en) * 2008-10-22 2012-07-31 Nvidia Corporation Using a data cache array as a DRAM load/store buffer
CN101777031B (zh) * 2009-01-14 2012-02-08 中兴通讯股份有限公司 直接存储器存取控制器以及数据传输方法
CN102439983B (zh) 2011-10-27 2014-04-16 华为技术有限公司 一种数据快速分发方法和装置
CN102546098B (zh) 2011-12-15 2015-01-21 福建星网锐捷网络有限公司 数据传输装置、方法及系统
CN203773954U (zh) 2014-03-21 2014-08-13 漯河医学高等专科学校 一种计算机互联数据传输存储器
CN105335306B (zh) * 2014-06-30 2018-02-13 华为技术有限公司 一种内存控制方法和装置
CN105138470A (zh) * 2015-08-31 2015-12-09 浪潮集团有限公司 一种多通道nand flash控制器
US20170177352A1 (en) * 2015-12-18 2017-06-22 Intel Corporation Instructions and Logic for Lane-Based Strided Store Operations
KR20180062247A (ko) * 2016-11-30 2018-06-08 삼성전자주식회사 효율적인 버퍼 할당을 수행하는 컨트롤러, 스토리지 장치 및 스토리지 장치의 동작 방법
US10489297B2 (en) * 2017-02-22 2019-11-26 Intel Corporation Prefetching time allocation
CN108228498B (zh) * 2017-12-21 2020-12-15 深圳开阳电子股份有限公司 一种dma控制装置和图像处理器
RU2705421C1 (ru) 2018-12-25 2019-11-07 Общество с ограниченной ответственностью "ТЕКОН Микропроцессорные технологии" Способ передачи данных по шине, система связи для осуществления данного способа и устройство автоматической защиты для предотвращения аварийной ситуации на объекте управления
CN110008156B (zh) * 2019-03-27 2020-12-15 无锡海斯凯尔医学技术有限公司 数据传输的装置、方法及可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345774A (ja) 2002-05-23 2003-12-05 Renesas Technology Corp 半導体集積回路装置
JP2006099358A (ja) 2004-09-29 2006-04-13 Kyocera Mita Corp Dma転送制御システム

Also Published As

Publication number Publication date
AU2020249861B2 (en) 2023-09-21
WO2020192242A1 (zh) 2020-10-01
US20220012194A1 (en) 2022-01-13
CN110008156A (zh) 2019-07-12
EP3951605A1 (en) 2022-02-09
US11803490B2 (en) 2023-10-31
MX2021011705A (es) 2021-10-22
AU2020249861A1 (en) 2021-10-28
JP2022527907A (ja) 2022-06-07
EP3951605B1 (en) 2024-06-05
CN110008156B (zh) 2020-12-15
CA3134888A1 (en) 2020-10-01
KR20210134965A (ko) 2021-11-11
BR112021019106A2 (pt) 2021-11-30
EP3951605A4 (en) 2022-11-30

Similar Documents

Publication Publication Date Title
JP7236173B2 (ja) データ伝送装置、方法及び読み取り可能な記憶媒体
CN100454280C (zh) 处理器系统,dma控制电路,dma控制方法,dma控制器用控制方法,图形处理方法和图形处理电路
US9824004B2 (en) Methods and apparatuses for requesting ready status information from a memory
JP4456490B2 (ja) Dma装置
US7822885B2 (en) Channel-less multithreaded DMA controller
TWI537831B (zh) 多核心處理器、用於執行處理程序切換之方法、用於保全一記憶體區塊之方法、用於致能使用一多核心裝置之異動處理之設備、以及用於執行記憶體異動處理之方法
US9727497B2 (en) Resolving contention between data bursts
US9021482B2 (en) Reordering data responses using ordered indicia in a linked list
US9086920B2 (en) Device for managing data buffers in a memory space divided into a plurality of memory elements
CN114730276A (zh) 确定多核处理器复合体中每个核心的最佳线程数量
US10152275B1 (en) Reverse order submission for pointer rings
CN101135998A (zh) 用于调度总线上的命令的方法和装置
US10019283B2 (en) Predicting a context portion to move between a context buffer and registers based on context portions previously used by at least one other thread
KR20110101994A (ko) 멀티포트 데이터 캐시 장치 및 멀티포트 데이터 캐시 장치의 제어 방법
JP5499987B2 (ja) 共有キャッシュメモリ装置
US20080225858A1 (en) Data transferring apparatus and information processing system
WO2013148439A1 (en) Hardware managed allocation and deallocation evaluation circuit
US11941440B2 (en) System and method for queuing commands in a deep learning processor
US11481250B2 (en) Cooperative workgroup scheduling and context prefetching based on predicted modification of signal values
US11372649B2 (en) Flow control for multi-threaded access to contentious resource(s)
EP2783286B1 (en) Data processing system and method of controlling access to a shared memory unit
RU2791433C1 (ru) Устройство и способ передачи данных и считываемый носитель данных
JP2009059276A (ja) 情報処理装置およびプログラム
US10216453B1 (en) Reverse slot invalidation for pointer rings
CN116225318A (zh) 命令调度方法、闪存控制器、闪存设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210927

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230104

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230217

R150 Certificate of patent or registration of utility model

Ref document number: 7236173

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150