JP6810962B2 - データ処理装置、データ転送装置、データ処理方法、及びデータ転送プログラム - Google Patents

データ処理装置、データ転送装置、データ処理方法、及びデータ転送プログラム Download PDF

Info

Publication number
JP6810962B2
JP6810962B2 JP2017066760A JP2017066760A JP6810962B2 JP 6810962 B2 JP6810962 B2 JP 6810962B2 JP 2017066760 A JP2017066760 A JP 2017066760A JP 2017066760 A JP2017066760 A JP 2017066760A JP 6810962 B2 JP6810962 B2 JP 6810962B2
Authority
JP
Japan
Prior art keywords
data
read request
bus
storage device
external storage
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
JP2017066760A
Other languages
English (en)
Other versions
JP2018169803A (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.)
Axell Corp
Original Assignee
Axell Corp
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 Axell Corp filed Critical Axell Corp
Priority to JP2017066760A priority Critical patent/JP6810962B2/ja
Publication of JP2018169803A publication Critical patent/JP2018169803A/ja
Application granted granted Critical
Publication of JP6810962B2 publication Critical patent/JP6810962B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Bus Control (AREA)

Description

本発明は、外部記憶装置からデータを読み出して所定の処理を実行するデータ処理装置等に関する。
データ処理装置の一例として、画像を処理する画像処理装置においては、バス上にプロセッサや、外部記憶装置に接続されたデータ転送回路や、画像を処理する画像処理回路や、メモリ等が接続されている。このような画像処理装置においては、プロセッサや、データ転送回路や、画像処理回路がバスマスタとなる装置(バスマスタデバイス)となっている。例えば、バスマスタデバイスである画像処理回路が外部記憶装置に格納されたデータを取得するときには、画像処理回路がプロセッサに対してデータの読出要求を行い、読出要求を受けたプロセッサが、外部記憶装置からデータを読み出すための処理を実行している。プロセッサによる処理としては、例えば、データ転送回路により外部記憶装置からデータを読み出すためのコマンドを作成し、そのコマンドをデータ転送回路に実行させている。
このような画像処理装置に関する技術としては、演出制御部から受ける演出コマンドに基づいて画像演出を実行する画像制御部が、画像演出を中心統括的に制御するCPU回路と、CPU回路から受ける描画リストに基づく画像データを、表示装置に出力して画像演出を実現するVDP回路と、転送データを中継するIF回路と、が単一の電子素子に内蔵されて構成され、CPU回路は、IF回路を経由して、VDP回路の制御レジスタに所定の動作パラメータに設定して、VDP回路の内部動作を制御する技術が知られている(例えば、特許文献1)。
特開2016−159023号公報
上記したように画像処理装置では、バスマスタデバイスが外部記憶装置からのデータを取得する場合には、プロセッサが、外部記憶装置からデータを読み出すための処理を実行している。このプロセッサによる処理は、予めユーザが作成したプログラムを実行することにより実現される。このため、このプログラムを作成するユーザに対して負荷がかかるとともに、このユーザには、データ転送回路と外部記憶装置との間のプロトコルを把握していることが必要となる。この結果、プログラムの開発コストが増加するという問題がある。
また、バスマスタデバイスが外部記憶装置からのデータを取得する場合には、プロセッサが処理を行わなければならず、プロセッサに処理負荷がかかり、プロセッサの処理時間が長期化してしまう虞がある。また、プロセッサの処理時間の長期化により、同一のバスを利用する他の回路においても処理時間が長期化してしまう虞もある。
本発明は、上記事情に鑑みなされたものであり、その目的は、プロセッサの処理負荷を軽減することができ、プロセッサで実行するプログラムの開発コストを軽減することができる技術を提供することにある。
上記目的を達成するため、第1の観点に係るデータ処理装置は、1以上のバスマスタデバイスと、バスマスタデバイスとバスを介して接続されたデータ転送装置と、を備えるデータ処理装置であって、データ転送装置は、所定の規格に従って通信可能な外部記憶装置が接続可能であり、データ転送装置は、バスマスタデバイスから、外部記憶装置に記憶されている読出対象のデータについてのバス側でのデータ範囲を示す第1データ範囲を含む第1読出要求を取得する取得部と、取得部により取得された第1読出要求に基づいて、第1データ範囲に対応するデータを包含する、規格に従う外部記憶装置における第2データ範囲を生成し、第2データ範囲を含む第2読出要求を生成する読出要求生成部と、読出要求生成部により生成された第2読出要求を外部記憶装置に送信する転送部と、外部記憶装置から読み出した第2読出要求に対応するデータ範囲のデータから第1データ範囲に対応するデータを抽出し、抽出した第1データ範囲に対応するデータをバスマスタデバイスに送信する抽出部と、を備える。
上記データ処理装置において、読出要求生成部は、第1読出要求中のバス側の第1データ範囲のデータを含む、外部記憶装置における所定のサイズの論理ブロックの範囲を特定し、特定した論理ブロックの範囲を第2データ範囲として第2読出要求に含め、抽出部は、外部記憶装置から読み出した第2読出要求に含めた論理ブロックの範囲のデータから、バス側のデータ範囲に対応するデータを抽出するようにしてもよい。
また、上記データ処理装置において、データ転送装置は、転送部を外部記憶装置との間の規格に従う通信を可能にするための初期化処理を行う初期化処理部をさらに有する
ようにしてもよい。
また、上記データ処理装置において、初期化処理部は、データ転送装置に接続された外部記憶装置と転送部との間で従う規格を示す規格情報を取得し、規格情報に対応する規格で通信可能なように転送部に対して初期化処理を行うようにしてもよい。
また、上記データ処理装置において、データ転送装置は、データ転送装置内において使用する、プログラム又は設定値の少なくとも一方を書き換え可能に記憶する記憶部と、プログラム又は設定値の少なくとも一方を利用可能な制御回路と、をさらに有し、制御回路は、プログラムを実行することにより、取得部、読出要求生成部、転送部、抽出部、又は初期化処理部の少なくとも一つを構成し、又は設定値を用いて、取得部、読出要求生成部、転送部、抽出部、又は初期化処理部の少なくとも一つの設定を行ってもよい。
また、上記データ処理装置において、データ転送装置は、複数の規格のいずれかに従う外部記憶装置を接続可能であってもよい。
また、上記目的を達成するため、第2の観点に係るデータ転送装置は、バスに接続可能であると共に、所定の規格に従って通信可能な外部記憶装置と接続可能なデータ転送装置であって、バスから、外部記憶装置に記憶されている読出対象のデータについての前記バス側でのデータ範囲を示す第1データ範囲を含む第1読出要求を取得する取得部と、取得部により取得された第1読出要求に基づいて、第1データ範囲に対応するデータを包含する、規格に従う外部記憶装置における第2データ範囲を生成し、第2データ範囲を含む第2読出要求を生成する読出要求生成部と、読出要求生成部により生成された第2読出要求を外部記憶装置に送信する転送部と、外部記憶装置から読み出した第2読出要求に対応するデータ範囲のデータから第1データ範囲に対応するデータを抽出し、抽出した第1データ範囲に対応するデータを前記バス側に送信する抽出部と、を備える。
また、上記目的を達成するため、第3の観点に係るデータ処理方法は、1以上のバスマスタデバイスと、前記バスマスタデバイスとバスを介して接続されたデータ転送装置と、を備えるデータ処理装置によるデータ処理方法であって、データ転送装置は、所定の規格に従って通信可能な外部記憶装置が接続可能であり、バスマスタデバイスから、外部記憶装置に記憶されている読出対象のデータについてのバス側でのデータ範囲を示す第1データ範囲を含む第1読出要求を取得する取得ステップと、取得された第1読出要求に基づいて、第1データ範囲に対応するデータを包含する、規格に従う外部記憶装置における第2データ範囲を生成し、第2データ範囲を含む第2読出要求を生成する読出要求生成ステップと、生成された第2読出要求を外部記憶装置に送信する送信ステップと、外部記憶装置から読み出した第2読出要求に対応するデータ範囲のデータから第1データ範囲に対応するデータを抽出し、抽出した第1データ範囲に対応するデータをバスマスタデバイスに送信する抽出ステップと、を備える。
また、上記目的を達成するため、第4の観点に係るデータ転送プログラムは、バスに接続可能であると共に、所定の規格に従って通信可能な外部記憶装置と接続可能なデータ転送装置のプロセッサに実行させるためのデータ転送プログラムであって、プロセッサに、バスから、外部記憶装置に記憶されている読出対象のデータについてのバス側でのデータ範囲を示す第1データ範囲を含む第1読出要求を取得する処理と、第1読出要求に基づいて、第1データ範囲に対応するデータを包含する、規格に従う外部記憶装置における第2データ範囲を生成し、第2データ範囲を含む第2読出要求を生成する処理と、生成された第2読出要求を外部記憶装置に送信する処理と、外部記憶装置から読み出した第2読出要求に対応するデータ範囲のデータから第1データ範囲に対応するデータを抽出し、抽出した第1データ範囲に対応するデータをバス側に送信する処理と、を実行させる。
一実施態様によれば、プロセッサの処理負荷を軽減することができ、プロセッサで実行するプログラムの開発コストを軽減することができる。
図1は、一実施形態に係るデータ処理システムの全体構成図である。 図2は、一実施形態に係るデータ転送装置のハードウェア構成図である。 図3は、一実施形態に係るバス側のデータ範囲の指定方法と、外部記憶装置側のデータ範囲の指定方法との対応関係を説明する図である。 図4は、一実施形態に係る初期化制御処理のフローチャートである。 図5は、一実施形態に係る読出要求処理のフローチャートである。 図6は、一実施形態に係る読出データ転送処理のフローチャートである。
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
まず、一実施形態に係るデータ処理システムについて説明する。
図1は、一実施形態に係るデータ処理システムの全体構成図である。
データ処理システム1は、データ処理装置の一例としての画像処理装置2と、外部記憶装置3と、表示装置4とを備える。
画像処理装置2は、例えば、GPU(Graphics Processing Unit)やVDP(Video Display Processor)などの画像処理ユニットであり、例えば、コンピュータにおいて画像処理を担当するプロセッシングユニットである。画像処理装置2は、例えば、1つのチップとして構成されており、制御回路10と、1以上の処理回路20と、データ転送装置30と、記憶装置40と、表示回路50と、これら構成要素(10,20,30,40,50)を相互に接続するバス60とを備えている。
表示装置4は、画像を表示する装置であり、例えば、LCD(液晶ディスプレイ)、PDP(プラズマディスプレイ)、OLED(有機発光ダイオードディスプレイ)等である。
外部記憶装置3は、画像処理装置2で使用する各種データを記憶する記憶装置である。外部記憶装置3は、例えば、HDD(Hard DISK Drive)や、SSD(Solid State Drive)であり、例えば、SATA(Serial ATA)及びPCIeなどのいずれかの規格に対応している記憶装置である。
制御回路10は、例えば、CPU(Central Processing Unit)、マルチコアCPUなどのプロセッサであり、記憶装置40に格納されたプログラム等に従って画像処理装置2の全体を統括制御する。制御回路10は、バス60におけるバスマスタとして機能するバスマスタデバイスである。
本実施形態では、制御回路10は、データ処理システム1の電源が入れられた後に、外部記憶装置3への読出要求が発行される前に、画像処理装置2に接続されている外部記憶装置3の規格に応じて、データ転送装置30に対して、接続されている外部記憶装置3の規格に合った初期化処理を実行させるための初期化指示を送信する。この初期化指示には、初期化すべき規格を示す情報(規格情報)が含まれている。本実施形態においては、データ転送装置30の初期化に関しては、制御回路10は、この初期化指示を送信するのみであり、制御回路10用のプログラムにおいては、初期化指示を送信するだけの命令の記述を行えばよい。すなわち、制御回路10用のプログラムにおいて、外部記憶装置3の規格に合った複雑な初期化のシーケンスを行うための記述を行う必要がなく、プログラム作成量が軽減される。また、制御回路10のプログラム作成者が、外部記憶装置3の規格に関する知識を有していなくてもよい。
本実施形態においては、外部記憶装置3からデータを読み出す必要がある場合には、制御回路10は、そのデータについてのバス60側におけるデータ範囲の指定を含む読出要求(第1読出要求)をデータ転送装置30に発行すればよい。したがって、制御回路10のプログラムにおいては、外部記憶装置3の規格に従ったデータ範囲の指定等を意識する必要がなく、プログラムの作成負荷が軽減される。
処理回路20は、各種処理を実行する。例えば、処理回路としては、制御回路10から供給されるディスプレイリストに基づいて画像を描画する描画回路や、図示しないスピーカ等から音声を出力させる処理を行う音声回路や、モータを駆動させるモータ駆動回路や、LED等の発光部による発光を制御する発光用回路や、無線通信を行う無線通信回路等がある。これらの処理回路の中には、処理を実行するために、外部記憶装置3に格納されているデータを利用するものがある。処理回路20は、バス60におけるバスマスタとして機能するバスマスタデバイスである。
本実施形態においては、外部記憶装置3からデータを読み出す必要がある場合には、処理回路20は、そのデータについてのバス60側におけるデータ範囲の指定を含む第1読出要求をデータ転送装置30に発行すればよい。したがって、処理回路20のプログラムにおいては、外部記憶装置3の規格に従ったデータ範囲の指定等を意識する必要がなく、プログラムの作成負荷が軽減される。
表示回路50は、表示装置4と接続されており、処理回路20の内の描画回路で描画された画像を表示装置4に表示させる処理を行う。表示回路50は、バス60におけるバスマスタとして機能するバスマスタデバイスである。
記憶装置40は、例えば、ROM(Read Only Memory)及びRAM(Random Access Memory)などのメモリで構成されている。記憶装置40は、制御回路10が画像処理装置2を制御するためのプログラムや、必要な情報等を記憶している。記憶装置40は、バス60におけるバススレーブとして機能するバススレーブデバイスである。
データ転送装置30は、例えば、SATA及びPCIeの規格に対応しており、この規格に対応する外部記憶装置3と接続可能である。データ転送装置30は、バス60を介してバスマスタデバイスから、外部記憶装置3からのデータの読み出しを要求する第1読出要求を取得すると、外部記憶装置3から対応するデータを読み出して、要求元のバスマスタデバイスに読み出したデータを転送する。データ転送装置30は、バス60におけるバススレーブとして機能するバススレーブデバイスである。
次に、データ転送装置30について詳細に説明する。
図2は、一実施形態に係るデータ転送装置のハードウェア構成図である。
データ転送装置30は、記憶装置31と、取得部及び抽出部の一例として入出力I/F回路32と、転送部の一例としての転送回路33,34と、読出要求生成部及び初期化処理部の一例としての制御回路35と、記憶部の一例としての記憶装置36と、構成要素(31〜35)を相互に接続するバス37とを備えている。
入出力I/F回路32は、バス60に接続されている。入出力I/F回路32は、バス60と、バス37との間の信号(データ)の入出力の処理を行う。例えば、入出力I/F回路32は、外部記憶装置3に記憶されたデータの読み出しを要求する第1読出要求をバス60におけるバスマスタデバイスから取得し、バスマスタデバイスを識別するマスタ識別情報と、第1読出要求中の読出対象のデータのデータ範囲(例えば、開始アドレス及びデータ長)と、この読出対象のデータを含むデータの入出力I/F回路32における格納先を示す情報(格納先情報)とを対応付けて入出力I/F回路32内の図示しないメモリに記憶するとともに、第1読出要求と格納先情報とを制御回路35に渡す。ここで、第1読込要求は、例えば、処理回路20の一つに描画回路があれば、その描画回路が画像を描画するときに必要なデータを読み出す際に発行される要求である。
また、入出力I/F回路32は、転送回路33(又は34)から、格納先が指定された、外部記憶装置3から読み出したデータを受信した場合には、指定された格納先の格納先情報に対応付けられて記憶されているデータ範囲を特定し、転送回路33から送信されるブロック単位で読み出されたデータから、特定したデータ範囲に対応するデータを抽出し、抽出したデータを第1読出要求の要求元のバスマスタデバイス(格納先情報に対応付けられて記憶されているマスタ識別情報のバスマスタデバイス)に対してバス60を介して送信する。ここで、転送回路33から送信されるブロック単位で読み出されたデータにおける、特定したデータ範囲のデータの位置については、データ範囲の開始アドレス及びデータ長、ブロックのサイズに基づいて特定することができる。本実施形態では、入出力I/F回路32は、転送回路33から送信されるデータの全体を一旦格納せずに、転送回路33から送信されるデータを受信しつつ、データ範囲のデータを抽出して送信している。このため、入出力I/F回路32内部のメモリの容量を抑えることができるとともに、迅速にバスマスタデバイスに読み出したデータを送信することができる。また、本実施形態では、入出力I/F回路32が、第1読出要求のデータ範囲が示すデータだけを抽出して、バス60側に送信するので、バス60に流れるデータ量を低減することができる。
転送回路33,34は、それぞれが対応する規格の外部記憶装置3との間で接続可能となっており、接続された外部記憶装置3との間で規格に従った通信を行ってデータの読出処理及び書込処理を実行する。例えば、転送回路33は、SATAの規格に対応する回路であり、例えば、SATA AHCI IPコアを含む。また、転送回路34は、PCIeの規格に対応する回路であり、例えば、PCIe IPコアを含む。本実施形態では、外部記憶装置3と接続する図示しないコネクタを共用しているので、いずれかの規格に対応する外部記憶装置3を1台だけ接続可能となっている。
転送回路33(34)は、制御回路35により、接続された外部記憶装置3との間で通信可能な状態となるように初期化処理がされる。また、転送回路33(34)は、制御回路35から第2読出要求を実行する指示を受けた場合には、記憶装置31から第2読出要求のコマンドを読み出して、実行することにより、外部記憶装置3に対して第2読出要求を送信する。この際、転送回路33(34)は、この第2読出要求を識別する情報(要求識別情報)と、この第2読出要求により読み出したデータを格納すべき入出力I/F回路32の格納先情報とを対応付けて転送回路33内の図示しないメモリに記憶する。転送回路33(34)は、外部記憶装置3から第2読出要求の応答としてデータを取得した場合には、この応答に含まれる要求識別情報に対応する入出力I/F回路32の格納先情報を特定し、読み出したデータを特定した格納先情報が示す格納先を指定して、入出力I/F回路32に送信する。
記憶装置31は、例えば、RAM、SRAM(Static RAM)などのメモリであり、外部からデータを書き換え可能な記憶装置である。例えば、記憶装置31は、制御回路35のワークエリアとして使用される。具体的には、記憶装置31は、制御回路35により生成される第2読出要求の処理を実行するためのコマンドリストを記憶する。
記憶装置36は、制御回路35に直接接続されたキャッシュメモリであり、少なくとも一部のメモリは、外部から書き換え可能なメモリとなっている。記憶装置36は、例えば、SRAM及びROMなどのメモリで構成されている。記憶装置36には、制御回路35に実行されるプログラムや各種設定値等が格納されている。記憶装置36には、例えば、制御回路35が、SATA及びPCIeなどのそれぞれの規格に応じて、第1読出要求から第2読出要求を生成する処理を行うための転送プログラムや、転送回路33、34をSATA及びPCIeなどのそれぞれの規格に応じた処理を行うように初期化をするための初期化プログラムや、転送回路33、34の内部レジスタ等を初期化するための設定値等が格納されている。
記憶装置36に格納されたプログラムや設定値等は、例えば、バス37やバス60に接続された図示しない読出装置により、記録媒体に格納されたプログラムや設定値を読み出したものであってもよく、このようにすると、記憶装置36に格納されたプログラムや設定値を適切なものに適宜変更、更新等することができる。記録媒体は、例えば、FD、CD、DVD、BD(登録商標)、フラッシュメモリなどの不揮発性の記録媒体(非一時的記録媒体)であってもよい。
制御回路35は、例えば、CPU、マルチコアCPUなどのプロセッサであり、記憶装置31,36に格納されたプログラムや、各種情報を用いてデータ転送装置30の全体を統括制御する。制御回路35は、例えば、転送回路33(34)の初期化処理を実行する。本実施形態では、制御回路35は、例えば、制御回路10から初期化する規格の指定を含む初期化指示を受け付けた場合に、その規格に対応する転送回路33又は34に対して、その規格に従う通信を可能にするための初期化処理を実行する。初期化処理には、例えば、転送回路33又は34における図示しない内部レジスタに、規格に応じた処理を行うための値を設定する処理等を含む。
また、制御回路35は、入出力I/F回路32から、第1読出要求及び読み出したデータの格納先情報を受け取った場合には、転送回路33(34)を制御するための第2読出要求(コマンドリスト)を生成し、記憶装置31に記憶させ、転送回路33に第2読出要求を実行する指示を出す。ここで、本実施形態では、第2読出要求には、読み出したデータを格納する入出力I/F回路32の格納先情報が含まれている。
制御回路35は、第1読出要求から第2読出要求を生成する場合には、第1読出要求で指定されている、バス60側の規格に従う読出対象のデータ範囲を、第2読出要求における外部記憶装置3側の規格に従うデータ範囲に変換する処理を行う。
次に、第1読出要求で指定されている、バス60側の規格に従う読出対象のデータ範囲と、第2読出要求における外部記憶装置3側の規格に従うデータ範囲とについて説明する。
図3は、一実施形態に係るバス側のデータ範囲の指定方法と、外部記憶装置側のデータ範囲の指定方法との対応関係を説明する図である。
バス60側の規格、すなわち、第1読出要求においては、読出対象のデータのデータ範囲をバイト単位で指定するようになっている。具体的には、バス60側では、アドレス空間における読出対象のデータのバイト単位での開始アドレスと、読出対象のデータの開始アドレスからのバイト単位のデータ長との組でデータ範囲を指定するようになっている。
一方、外部記憶装置3側の規格、すなわち、第2読出要求においては、読出対象のデータのデータ範囲は、1バイトよりも大きい所定のサイズ(例えば、512バイト)の論理ブロック(Logical Block)を単位として指定するようになっている。具体的には、外部記憶装置3側では、読出対象のデータの開始ブロックアドレス(開始LBA)と、読出対象のデータが属するブロック数との組でデータ範囲を指定している。
制御回路35は、第1読出要求における読出対象のデータのデータ範囲に基づいて、第2読出要求における読出対象のデータのデータ範囲を特定して、第2読出要求を生成している。
例えば、読出対象のデータがデータRD1である場合には、第1読出要求においては、データ範囲は、開始アドレスA1、データ長S1として指定されているが、制御回路35は、開始アドレスA1、データ長S1として指定されているデータ範囲を包含する論理ブロックの範囲が3LBA(3番目の論理ブロック:開始LBA)から1つのブロックの範囲であると特定し、第2読出要求におけるデータ範囲を、3LBA、1ブロックとする。
また、例えば、読出対象のデータがデータRD2である場合には、第1読出要求においては、データ範囲は、開始アドレスA2、データ長S2として指定されているが、制御回路35は、開始アドレスA2、データ長S2として指定されているデータ範囲を包含する論理ブロックの範囲が4LBA(4番目の論理ブロック)から2つのブロックの範囲であると特定し、第2読出要求におけるデータ範囲を、4LBA、2ブロックとする。なお、開始LBAと、ブロック数とについては、開始アドレスと、データ長と、ブロックのサイズとから算出することができる。図3に示すように、第2読出要求におけるデータ範囲は、第1読出要求のデータ範囲を包含するようになっており、第2読出要求で読み出されるデータ量は、第1読出要求のデータ範囲のデータ量よりも多くなってしまう場合が多い。
次に、本実施形態に係る画像処理装置2における処理動作について説明する。
図4は、一実施形態に係る初期化制御処理のフローチャートである。
初期化制御処理は、画像処理システム1の電源が投入された後に、データ転送装置30において実行される。
制御回路35は、入出力I/F回路32を介して、制御回路10から初期化指示を取得したか否かを判定する(S11)。この結果、初期化指示を受け取っていない場合(S11でNo)には、制御回路35は、ステップS11の処理を繰り返し実行する。
一方、初期化指示を受け取った場合(S11でYes)には、制御回路35は、記憶装置36から初期化指示に含まれている規格に対応する初期化プログラムを読み込み(S12)、この初期化プログラムを実行することにより、初期化指示に含まれている規格に対応する転送回路(33又は34)を初期化する処理を実行し(S13)、初期化制御処理を終了する。例えば、ステップS11で、SATA規格の指定を含む初期化指示を受け取った場合には、制御回路35は、記憶装置36からSATA規格用の初期化プログラムを取得し、この初期化プログラムを実行することにより、SATA規格に対応する制御回路33を初期化する。
図5は、一実施形態に係る読出要求処理のフローチャートである。
読出要求処理は、画像処理システム1の電源が投入された後に、データ転送装置30において実行され、画像処理システム1の電源がオン状態の間繰り返して実行される。なお、以下の説明では、外部記憶装置3は、SATA規格の記憶装置であり、初期化処理においては、SATA規格に対応する転送回路33が初期化され、また、第1読出要求で指定している読出対象のデータは、外部記憶装置3に格納されているものとして説明する。
制御回路35は、転送回路33の初期化が完了したか否かを判定する(S21)。なお、制御回路35は、転送回路33から初期化処理が完了したとの通知を受け取ることにより、転送回路33の初期化が完了したと判定してもよい。
この結果、転送回路33の初期化が完了していない場合(S21でNo)には、制御回路35は、ステップS21の処理を繰り返し実行する。
一方、転送回路33の初期化が完了した場合(S21でYes)には、入出力I/F回路32は、バス60を介してバスマスタデバイスから第1読出要求を取得したか否かを判定する(S22)。バスマスタデバイスから第1読出要求を取得していない場合(S22でNo)には、入出力I/F回路32は、ステップS22を繰り返し実行する。
一方、バスマスタデバイスから第1読出要求を取得した場合(S22でYes)には、入出力I/F回路32は、第1読出要求中の読出対象のデータのデータ範囲と、読み出したデータを格納する入出力I/F回路32の格納先情報と、第1読出要求を要求したバスマスタデバイスのマスタ識別情報とを対応付けて記憶し(S23)、第1読出要求と、読み出したデータの入出力I/F回路32の格納先情報とを制御回路35に送信する(S24)。
制御部35は、第1読出要求及び読み出したデータの格納先情報を受け取った場合には、転送回路33に実行させるための第2読出要求(コマンドリスト)を生成し(S25)、第2読出要求を記憶装置31に記憶させ(S26)、転送回路33に第2読出要求を実行する指示を出す(S27)。
実行指示を受けた転送回路33は、記憶部31に記憶された第2読出要求を外部記憶装置3に送信し(S28)、読出要求処理を終了する。この際、転送回路33は、第2読出要求を示す識別情報と、第2読出要求中の入出力I/F回路32の格納先情報とを対応付けて自身のメモリに記憶する。これにより、以降において、第2読出要求を受けた外部記憶装置3が、第2読出要求が指定するデータ範囲のデータを読み出して、第2読出要求の応答として、転送回路33に読み出したデータを送信することとなる。
図6は、一実施形態に係る読出データ転送処理のフローチャートである。
読出データ転送処理は、画像処理システム1の電源が投入された後に、データ転送装置30において実行され、画像処理システム1の電源がオン状態の間繰り返して実行される。
転送回路33は、外部記憶装置3から第2読出要求に対応する応答としての読み出したデータを受信したか否かを判定する(S31)。この結果、外部記憶装置3から読み出したデータを受信していない場合(S31でNo)には、転送回路33は、ステップS31を繰り返し実行する。
一方、外部記憶装置3から読み出したデータを受信した場合(S31でYes)には、転送回路33は、この応答に対応する第2読出要求(応答に含まれている要求識別情報)に対応する入出力I/F回路32の格納先情報を特定し、特定した格納先情報の格納先を指定して、受信したデータを入出力I/F回路32に送信する(S32)。
入出力I/F回路32は、転送回路33から、格納先が指定された、外部記憶装置3から読み出したデータを受信すると、指定された格納先の格納先情報に対応して記憶されているデータ範囲を特定し、転送回路33から送信されるブロック単位で読み出されたデータから、特定したデータ範囲に対応するデータを抽出し(S33)、抽出したデータを、第1読出要求の要求元のバスマスタデバイス(格納先情報に対応するマスタ識別情報に対応するバスマスタデバイス)に対してバス60を介して送信する(S34)。これにより、第1読出要求を行ったバスマスタデバイスが、第1読出要求で指定した外部記憶装置3のデータを取得することができる。
以上説明したように、本実施形態のデータ転送装置30は、バスマスタデバイスから直接リードリクエスト(第1読込要求)を取得し、第1読込要求を外部記憶装置3に対応するリードリクエスト(第2読込要求)に変換する。さらに、データ転送装置30は、外部記憶装置3から読み出したデータから、バスマスタデバイスに要求された範囲のデータを抽出して、バスマスタデバイスに転送する。これにより、データ転送装置30は、画像転送システム1の全体を制御する制御回路10の制御によることなく、外部記憶装置3のデータをバスマスタデバイスに転送することができる。したがって、外部記憶装置3からバスマスタデバイスにデータを読み出す処理を制御回路10に実行させるためのプログラムコードを作成する必要がなく、制御回路10のプログラムの開発に要するコストを低減することができる。また、制御回路10が、外部記憶装置3からバスマスタデバイスにデータを読み出す処理を制御する必要がなくなったので、制御回路10による処理負荷を低減することができ、制御回路10による各種処理時間を短縮することができる。
また、本実施形態のデータ転送装置30は、制御回路10から転送回路33の初期化指示を受けると、転送回路33の初期化処理を実行する。このため、データ転送装置30の転送回路33を初期化させるために、制御回路10に実行させる処理としては、単に初期化指示をデータ転送装置30に送信するだけでよい。したがって、制御回路10に、この処理を実行させるプログラムコードを作成するためには、プログラムの作成者は、データ転送装置30の転送回路33の規格の知識をもってなくてもよい。
また、本実施形態のデータ転送装置30は、外部からデータを書き換え可能な記憶装置36に、制御回路35に実行させるプログラムや設定情報等を記憶している。これにより、転送回路33,34や、接続される外部記憶装置3の規格に応じて、プログラムや設定情報を、容易に変更、修正等することができ、各種規格に従ったデータ転送に対応することができる。
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
例えば、上記実施形態において、データ転送装置30が対応する規格は、SATA及びPCIeに限られず、他の規格に対応していてもよい。また、データ転送装置30に、複数の外部記憶装置3が接続されていてもよく、接続される外部記憶装置3としては、同一の規格に対応する外部記憶装置でもよく、異なる種類に対応する外部記憶装置であってもよい。複数の外部記憶装置3がデータ転送装置30に接続されている場合には、データ転送装置30は、バスマスタデバイスからの第1読出要求に基づいて、データを読み出す外部記憶装置を特定して、特定した外部記憶装置からデータを読み出す処理を実行するようにすればよい。
また、上記実施形態では、制御回路10がデータ転送装置30に対して、初期化指示を送信するようにしていたが、本発明はこれに限られず、例えば、外部記憶装置3の種類に応じて信号が入力される画像処理装置2の外部ピンに接続され、その外部ピンへの信号の状態をデータ転送装置30の制御回路35に通知する調停回路を備え、画像処理装置2の電源が投入された際に、制御回路35が調停回路からの通知に基づいて、接続されている外部記憶装置3の規格を特定し、特定した規格に従って、転送回路33又は34の初期化処理を行うようにしてもよい。
また、本実施形態では、入出力I/F回路32は、転送回路33から送信されるデータの全体を一旦格納せずに、転送回路33から送信されるデータを受信しつつ、データ範囲のデータを抽出して送信するようにしていたが、本発明はこれに限られず、転送回路33から送信されるデータの全体を一旦格納した後に、データ範囲のデータを抽出して送信するようにしてもよい。
また、上記実施形態では、制御回路35に接続された記憶装置36を備えるようにしていたが、記憶装置36を備えずに、記憶装置36で記憶していた情報を記憶装置31に記憶させるようにしてもよい。
また、上記実施形態において、制御回路35が行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態において、ハードウェア回路(例えば、転送回路33,34、入出力I/F回路32等)が行っていた処理の少なくとも一部を、制御回路35がプログラムを実行することにより行うようにしてもよい。
1…データ処理システム、2…画像処理装置、3…外部記憶装置、4…表示装置、10…制御回路、20…処理回路、30…データ転送装置、31…記憶装置、32…入出力I/F回路、33,34…転送回路、35…制御回路、36…記憶装置、40…記憶装置、50…表示回路。

Claims (11)

  1. 1以上のバスマスタデバイスと、前記バスマスタデバイスとバスを介して接続されたデータ転送装置と、を備えるデータ処理装置であって、
    前記データ転送装置は、所定の規格に従って通信可能な外部記憶装置が接続可能であり、
    前記データ転送装置は、
    前記バスマスタデバイスから、前記外部記憶装置に記憶されている読出対象のデータについての前記バス側でのデータ範囲を示す第1データ範囲を含む第1読出要求を、前記バスを介して取得する取得部と、
    前記取得部により取得された前記第1読出要求を、内部バスを介して取得し、前記第1データ範囲に対応するデータを包含する、前記規格に従う前記外部記憶装置における第2データ範囲を生成し、前記第2データ範囲を含む第2読出要求を生成する処理を、前記バスを介して接続された前記バスマスタデバイスによる制御なしに実行する読出要求生成部と、
    前記読出要求生成部により生成された前記第2読出要求を、前記内部バスを介して取得し、前記バスマスタデバイスによる制御なしに前記外部記憶装置に送信する転送部と、
    前記外部記憶装置から読み出した前記第2読出要求に対応するデータ範囲のデータから前記第1データ範囲に対応するデータを抽出する処理を、前記バスマスタデバイスによる制御なしに実行し、抽出した前記第1データ範囲に対応するデータを、前記バスを介して前記バスマスタデバイスに送信する抽出部と、
    を備えるデータ処理装置。
  2. 前記読出要求生成部は、前記第1読出要求中の前記バス側の第1データ範囲のデータを含む、前記外部記憶装置における所定のサイズの論理ブロックの範囲を特定し、特定した論理ブロックの範囲を前記第2データ範囲として前記第2読出要求に含め、
    前記抽出部は、前記外部記憶装置から読み出した前記第2読出要求に含めた前記第2データ範囲のデータから、前記バス側の第1データ範囲に対応するデータを抽出する
    請求項1に記載のデータ処理装置。
  3. 前記データ転送装置は、
    前記転送部を前記外部記憶装置との間の前記規格に従う通信を可能にするための初期化処理を、前記バスマスタデバイスによる制御なしに行う初期化処理部をさらに有する
    請求項1又は請求項2に記載のデータ処理装置。
  4. 前記初期化処理部は、前記データ転送装置に接続された前記外部記憶装置と前記転送部との間で従う前記規格を示す規格情報を取得し、前記規格情報に対応する前記規格で通信可能なように前記転送部に対して初期化処理を行う
    請求項3に記載のデータ処理装置。
  5. 前記データ転送装置は、
    前記データ転送装置内において使用する、プログラム又は設定値の少なくとも一方を書き換え可能に記憶する記憶部と、
    前記プログラム又は前記設定値の少なくとも一方を利用可能な制御回路と、
    をさらに有し、
    前記制御回路は、前記プログラムを実行することにより、前記取得部、前記読出要求生成部、前記転送部、前記抽出部、又は前記初期化処理部の少なくとも一つを構成し、又は前記設定値を用いて、前記取得部、前記読出要求生成部、前記転送部、前記抽出部、又は前記初期化処理部の少なくとも一つの設定を行う
    請求項3又は請求項4に記載のデータ処理装置。
  6. 前記データ転送装置は、複数の前記規格のいずれかに従う外部記憶装置を接続可能である
    請求項3から請求項5のいずれか一項に記載のデータ処理装置。
  7. バスに接続可能であると共に、所定の規格に従って通信可能な外部記憶装置と接続可能なデータ転送装置であって、
    前記バスから、前記外部記憶装置に記憶されている読出対象のデータについての前記バス側でのデータ範囲を示す第1データ範囲を含む第1読出要求を取得する取得部と、
    前記取得部により取得された前記第1読出要求を、内部バスを介して取得し、前記第1データ範囲に対応するデータを包含する、前記規格に従う前記外部記憶装置における第2データ範囲を生成し、前記第2データ範囲を含む第2読出要求を生成する処理を、前記バスを介して接続されたバスマスタデバイスによる制御なしに実行する読出要求生成部と、
    前記読出要求生成部により生成された前記第2読出要求を、前記内部バスを介して取得し、前記バスマスタデバイスによる制御なしに前記外部記憶装置に送信する転送部と、
    前記外部記憶装置から読み出した前記第2読出要求に対応するデータ範囲のデータから前記第1データ範囲に対応するデータを抽出する処理を、前記バスマスタデバイスによる制御なしに実行し、抽出した前記第1データ範囲に対応するデータを前記バス側に送信する抽出部と、
    を備えるデータ転送装置。
  8. 1以上のバスマスタデバイスと、前記バスマスタデバイスとバスを介して接続されたデータ転送装置と、を備えるデータ処理装置によるデータ処理方法であって、
    前記データ転送装置は、所定の規格に従って通信可能な外部記憶装置が接続可能であり、
    前記バスマスタデバイスから、前記外部記憶装置に記憶されている読出対象のデータについての前記バス側でのデータ範囲を示す第1データ範囲を含む第1読出要求を、前記バスを介して取得する取得ステップと、
    取得された前記第1読出要求を、内部バスを介して取得し、前記第1データ範囲に対応するデータを包含する、前記規格に従う前記外部記憶装置における第2データ範囲を生成し、前記第2データ範囲を含む第2読出要求を生成する処理を、前記バスを介して接続された前記バスマスタデバイスによる制御なしに実行する読出要求生成ステップと、
    生成された前記第2読出要求を、前記内部バスを介して取得し、前記バスマスタデバイスによる制御なしに前記外部記憶装置に送信する送信ステップと、
    前記外部記憶装置から読み出した前記第2読出要求に対応するデータ範囲のデータから前記第1データ範囲に対応するデータを抽出する処理を、前記バスマスタデバイスによる制御なしに実行し、抽出した前記第1データ範囲に対応するデータを、前記バスを介して前記バスマスタデバイスに送信する抽出ステップと、
    を備えるデータ処理方法。
  9. バスに接続可能であると共に、所定の規格に従って通信可能な外部記憶装置と接続可能なデータ転送装置のプロセッサに実行させるためのデータ転送プログラムであって、
    前記プロセッサに、
    前記バスから、前記外部記憶装置に記憶されている読出対象のデータについての前記バス側でのデータ範囲を示す第1データ範囲を含む第1読出要求を取得する処理と、
    前記第1読出要求を、内部バスを介して取得し、前記第1データ範囲に対応するデータを包含する、前記規格に従う前記外部記憶装置における第2データ範囲を生成し、前記第2データ範囲を含む第2読出要求を生成する処理を、前記バスを介して接続されたバスマスタデバイスによる制御なしに実行する処理と、
    生成された前記第2読出要求を、前記内部バスを介して取得し、前記バスマスタデバイスによる制御なしに前記外部記憶装置に送信する処理と、
    前記外部記憶装置から読み出した前記第2読出要求に対応するデータ範囲のデータから前記第1データ範囲に対応するデータを抽出する処理を、前記バスマスタデバイスによる制御なしに実行し、抽出した前記第1データ範囲に対応するデータを前記バス側に送信する処理と、
    を実行させるためのデータ転送プログラム。
  10. 前記データ転送装置は、
    前記第1データ範囲を含む前記第1読出要求を、前記第2データ範囲を含む前記第2読出要求に変換する転送プログラムを書き換え可能に記憶する記憶部と、
    前記転送プログラムを利用可能な制御回路と、
    をさらに有し、
    前記制御回路は、前記転送プログラムを実行することにより、前記外部記憶装置の規格に応じた読出要求生成部を構成する
    請求項1に記載のデータ処理装置。
  11. 前記第1データ範囲を含む前記第1読出要求を、前記第2データ範囲を含む前記第2読出要求に変換する転送プログラムを書き換え可能に記憶する記憶部と、
    前記転送プログラムを利用可能な制御回路と、
    をさらに有し、
    前記制御回路は、前記転送プログラムを実行することにより、前記外部記憶装置の規格に応じた読出要求生成部を構成する
    請求項7に記載のデータ転送装置。
JP2017066760A 2017-03-30 2017-03-30 データ処理装置、データ転送装置、データ処理方法、及びデータ転送プログラム Active JP6810962B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017066760A JP6810962B2 (ja) 2017-03-30 2017-03-30 データ処理装置、データ転送装置、データ処理方法、及びデータ転送プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017066760A JP6810962B2 (ja) 2017-03-30 2017-03-30 データ処理装置、データ転送装置、データ処理方法、及びデータ転送プログラム

Publications (2)

Publication Number Publication Date
JP2018169803A JP2018169803A (ja) 2018-11-01
JP6810962B2 true JP6810962B2 (ja) 2021-01-13

Family

ID=64018844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017066760A Active JP6810962B2 (ja) 2017-03-30 2017-03-30 データ処理装置、データ転送装置、データ処理方法、及びデータ転送プログラム

Country Status (1)

Country Link
JP (1) JP6810962B2 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1097489A (ja) * 1996-09-19 1998-04-14 Toshiba Corp 磁気ディスク装置のブロック長変換方法及びブロック長変換装置
JP3247076B2 (ja) * 1996-10-24 2002-01-15 株式会社メルコ Scsi−ideバス変換アダプタ
JP2000339268A (ja) * 1999-05-26 2000-12-08 Nec Eng Ltd Scsiホストアダプタ
JP2004220290A (ja) * 2003-01-15 2004-08-05 American Megatrends Inc データ転送装置、データ転送用メモリカード、および、データ転送方法
CN103370697B (zh) * 2011-03-02 2016-09-07 日本电气株式会社 数据控制系统、数据控制方法及数据控制程序
JP2013062683A (ja) * 2011-09-13 2013-04-04 Toshiba Corp データ転送装置、データ送信システム、データ送信方法およびプログラム
JP6482320B2 (ja) * 2015-02-26 2019-03-13 キヤノン株式会社 データ処理装置、並びに、制御装置およびその方法
JP6517549B2 (ja) * 2015-03-13 2019-05-22 東芝メモリ株式会社 メモリコントローラ、記憶装置、データ転送システム、データ転送方法、及びデータ転送プログラム

Also Published As

Publication number Publication date
JP2018169803A (ja) 2018-11-01

Similar Documents

Publication Publication Date Title
US9043776B2 (en) Transferring files to a baseboard management controller (‘BMC’) in a computing system
TWI715926B (zh) 在一儲存備份記憶體封裝中之韌體更新
US9524108B2 (en) System and method for providing personality switching in a solid state drive device
TWI543175B (zh) 記憶體存取方法和裝置
US20170242686A1 (en) Systems And Methods Of Updating Hot-Pluggable Devices
TWI537748B (zh) 用於網路基本輸入輸出系統管理之設備、方法與非暫態電腦可讀取媒體
KR102209525B1 (ko) 마이크로 서버, mac 주소 할당 방법 및 컴퓨터 판독가능 기록매체
JP2016058083A (ja) 複数のbiosデフォルト設定を管理するシステムと方法
KR20170034424A (ko) 컴퓨터 시스템에서의 메모리 쓰기 관리
TWI707274B (zh) 用於更新系統之rom編碼之電腦實施方法、電腦系統以及電腦可讀取媒體
JP2014006726A (ja) コントローラ、電子機器及びusbデバイスの制御方法
US20150154029A1 (en) Electronic apparatus and operational method thereof
TW201732635A (zh) 資料傳輸方法及伺服器
TW201303789A (zh) 具有高速傳輸功能之基板管理控制器及其傳輸方法
US10853255B2 (en) Apparatus and method of optimizing memory transactions to persistent memory using an architectural data mover
WO2020206879A1 (zh) Pcie宽度自动适配方法、装置及电子设备和存储介质
JP2016508250A (ja) ハードディスクシステム操作方法、ストレージシステム及びプロセッサ
CN109426511B (zh) 软核更新方法和系统
JP5876017B2 (ja) 周辺機器制御装置および情報処理装置
JP6810962B2 (ja) データ処理装置、データ転送装置、データ処理方法、及びデータ転送プログラム
US20210109852A1 (en) Controller and data storage system having the same
US20140365713A1 (en) Electronic system and operating method thereof
US9588918B2 (en) Storage control devices and method therefor to invoke address thereof
US11755338B2 (en) Systems and methods for operating data processing units
US10372661B1 (en) Firmware debug trace capture using serial peripheral interface

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200324

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200612

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201005

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20201005

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20201014

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20201020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201207

R150 Certificate of patent or registration of utility model

Ref document number: 6810962

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250