JP2018077564A - 情報処理装置、及び情報処理システム - Google Patents

情報処理装置、及び情報処理システム Download PDF

Info

Publication number
JP2018077564A
JP2018077564A JP2016217286A JP2016217286A JP2018077564A JP 2018077564 A JP2018077564 A JP 2018077564A JP 2016217286 A JP2016217286 A JP 2016217286A JP 2016217286 A JP2016217286 A JP 2016217286A JP 2018077564 A JP2018077564 A JP 2018077564A
Authority
JP
Japan
Prior art keywords
address
designated
main memory
data
list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016217286A
Other languages
English (en)
Other versions
JP6562419B2 (ja
Inventor
裕揮 菅野
Hiroki Sugano
裕揮 菅野
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 JP2016217286A priority Critical patent/JP6562419B2/ja
Publication of JP2018077564A publication Critical patent/JP2018077564A/ja
Application granted granted Critical
Publication of JP6562419B2 publication Critical patent/JP6562419B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Memory System (AREA)

Abstract

【課題】PRPリストによるメモリの消費を低減する。【解決手段】画像処理装置100は、PRPリストを格納するSRAM139と、外部記憶装置140から読み出したデータをメインメモリ103に格納するための仮想アドレスを生成するアドレス生成回路130と、を備え、アドレス生成回路130は、複数のアドレスを単一のPRPリストに割り当てると共に、アドレスが指示された場合に指示された指定アドレスに対応するPRPリストに含まれる開始アドレスと指定アドレスに応じた加算アドレスとに基づいて仮想アドレスを生成する。【選択図】図1

Description

本発明は画像や音声等のデータを処理する情報処理装置、及び情報処理システムに関し、特にPCI Express接続のSSDを利用する場合に用いるPRPリストによるメモリの消費を低減することが可能な情報処理装置、及び情報処理システムに関するものである。
CPU(Central Processing Unit)の処理速度が増大するにつれてコンピュータ等の情報処理装置の処理速度は高速化し、また高速のCPUを有効に活用するため、情報処理装置とそれに接続する周辺デバイスとの間のデータ転送のインターフェースも高速データ転送が可能なものが開発されている。
高速データ転送が可能なインターフェースの規格の1つにPCIe(PCI Express)があり、PCIe接続のSSD(Solid State Drive)のコマンド規格としてAHCI(Advanced Host Controller Interface)やNVMe(Non-Volatile Memory Express)がある。特に後者はキューに発行できるコマンド数がAHCIに比べて拡張されていることから、SSDの性能を最大限に発揮させることができる規格として、今後、急速な普及が予想される。
ここで、NVMeにおいては、メインメモリを介してデータやコマンドの受け渡しが行われる。図11(a)、(b)は、NVMe規格におけるデータの転送方法について説明するための模式図である。NVMe規格では、例えばデータの転送先となるメインメモリ上に夫々4KB(キロバイト)からなる複数の小領域を確保し、各小領域の先頭アドレスを夫々8バイトのPRP(Physical Region Page)リストにより管理する。
例えばメインメモリ上に合計1MB(1、048、576バイト)の記憶領域を確保する場合は、4KB(4、096バイト)の小領域を256個確保し、これらの小領域を256個のPRPリストにより管理する。PRPリストを用いることにより、汎用PC(Personal Computer)等、メインメモリ上に連続する大きな領域を確保することが困難な場合であっても、メインメモリにデータを分散して格納することができる(図11(a))。
NVM Express Revision 1.2.1 (June 5、2016)(1.4 Theory of Operation、7.2.5 Command Examples等)
一方、パチンコ機やパチスロ機をはじめとする遊技機等に実装される画像処理装置においても、近年は表示すべきコンテンツのデータ量が大きくなっていることから、コンテンツデータの格納手段としてSSDの活用が高まっており、SSDのインターフェースとしてPCIeを採用したものも導入されつつある。
遊技機等に実装される画像処理装置がPCIe接続のSSDを利用しようとする場合、汎用PC等とは異なり、メインメモリ上に大きな連続領域を確保することは容易である。しかし、NVMeの規格上、PRPリストを用いてメインメモリ上の記憶領域を管理しなければならならない(図11(b))。仮に、メインメモリ上の1MBの連続領域を管理するためには、PRPリストのために2KB(8バイト×256個=2、048バイト)のメモリ領域を消費することとなり、無駄が発生する。
本発明は上述の事情に鑑みてなされたものであり、PRPリストによるメモリの消費を低減することを目的とする。
上記の課題を解決するために、請求項1に記載の発明は、バスを介してアクセス可能なメインメモリと、外部記憶装置が接続されるPCIeインターフェースを有すると共に該PCIeインターフェースを制御するコントローラと、を備え、前記外部記憶装置に記憶されたデータを読み出して、NVMeコマンド規格に従って前記メインメモリに格納する情報処理装置であって、PRPリストを格納するリスト格納メモリと、前記外部記憶装置から読み出したデータを前記メインメモリに格納するための仮想アドレスを生成する仮想アドレス生成手段と、を備え、前記仮想アドレス生成手段は、複数のアドレスを単一のPRPリストに割り当てると共に、前記アドレスの一つが指示された場合に指示された指定アドレスに対応するPRPリストに含まれる開始アドレスと指定アドレスに応じた加算アドレスとに基づいて前記仮想アドレスを生成することを特徴とする。
本発明によれば、PRPリストによるメモリの消費を低減することが可能となる。
本発明の一実施形態に係る画像処理装置を示すハードウェアブロック図である。 アドレス生成回路の構成を示す機能ブロック図である。 (a)、(b)は、メインメモリに確保される領域の一例を示す模式図である。 第一のアドレスの割当例を説明する図である。 第二のアドレスの割当例を説明する図である。 第三のアドレスの割当例を説明する図である。 第四のアドレスの割当例を説明する図である。 第五のアドレスの割当例を説明する図である。 画像処理装置の起動時の動作を示すシーケンス図である。 画像データの読み出し時の画像処理装置の動作を示すシーケンス図である。 (a)、(b)は、NVMe規格におけるデータの転送方法について説明するための模式図である。
本発明は、NVMeコマンド規格の下でPCIeインターフェースの記憶装置(例:SSD;Solid State Drive)を外部記憶装置として利用する場合に、NVMeコマンド規格に定義されたPRPリストの機能を拡張して使用するものである。
ここで、NVMeコマンド規格においては、夫々のPRPリストによってメインメモリ上の1つの小領域(例えば4KB)を表現する。
本発明においては、夫々のPRPリストによってメインメモリ上の連続する複数の小領域を表現する点に特徴がある。具体的には、メインメモリ上の連続する領域の先頭に位置する開始アドレスをポインタ情報としてPRPリストに保持させる。開始アドレスに対して小領域のサイズに応じた加算アドレス(例えば、4KB、8KB、16KB…)を加算した仮想アドレスを順次生成することにより、1つのPRPリストでメインメモリ上の連続した複数の小領域群を表現する。
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
〈画像処理装置〉
図1は、本発明の一実施形態に係る画像処理装置を示すハードウェアブロック図である。
画像処理装置100は、メインCPU(Central Processing Unit)101、メインメモリ103、GPU(Graphics Processing Unit)105(画像処理ユニット)、表示装置111、及び、CGROM(Character Generator ROM)コントローラ120を備える。メインCPU101、メインメモリ103、GPU105、及びCGROMコントローラ120は、メインバス151により接続されている。また、画像処理装置100は、外部記憶装置140が接続されるPCIeインターフェースを備えており、画像処理装置100と外部記憶装置140とによって画像処理システム(情報処理システム)が構成される。画像処理装置100は、外部記憶装置140に記憶されたデータをNVMeコマンド規格に従ってメインメモリ103に格納する。
メインCPU101は、GPU105を含む画像処理装置100の全体を制御する処理装置である。
メインメモリ103は、画像処理装置100の各部がメインバス151を介してアクセス可能な揮発性の記憶手段である。メインメモリ103は、メインCPU101が作成したコマンドリスト、ディスプレイリスト、外部記憶装置140から読み出された画像データ、及びGPU105が描画した画像データ等を格納する。メインメモリ103は大容量の、例えばDDR(Double-Data-Rate)3メモリ等から構成される。
GPU105は画像処理専用の処理装置であり、描画回路107、及び表示回路109を備える。描画回路107は、メインCPU101から供給されるディスプレイリストに基づいて画像を描画する回路である。表示回路109は、描画回路107が描画した画像を表示装置111に表示させる回路である。
表示装置111は画像を表示する手段であり、LCD(Liquid Crystal Display)等から構成される。
CGROMコントローラ120は、PCIeインターフェースを制御する。具体的には、CGROMコントローラ120は、NVMeコマンド規格に従って、PCIeインターフェースにより接続された外部記憶装置140からのデータ読み込み及び読み出したデータのメインメモリ103への書き込みを制御する。
CGROMコントローラ120は、cgbI/F121、サブCPU123(指定アドレス指示手段)、PCIeRC・IP125、及びアドレス記憶ユニット129を備える。cgbI/F121、サブCPU123、PCIeRC・IP125、及びアドレス記憶ユニット129は、CGROMコントローラ120内の各部を接続する内部バス153により接続されている。
cgbI/F121は、メインバス151と内部バス153との間を接続するインターフェースである。
サブCPU123は、CGROMコントローラ120の全体を制御する処理装置である。サブCPU123は、NVMe規格のフォーマットに従ったコマンドリストをRC・IP125を介して外部記憶装置140に出力する。
PCIeRC・IP125は、PCIe(PCI Express)のルートコンプレックスIP(Root Complex IP)である(以下、単に「RC・IP」と表記する)。RC・IP125は、外部記憶装置140(指定アドレス指示手段)を接続するPCIeインターフェースを有したコントローラであり、PCIeインターフェースを制御する。また、RC・IP125は、外部記憶装置140に対するデータのリードリクエストを中継するブリッジとして機能する。したがって、サブCPU123からのコマンドリストはRC・IP125を介して外部記憶装置140に出力され、外部記憶装置140のコントローラ(図示省略)によってリクエストされたリードデータが読み出され、また読み出したデータのメインメモリ103への格納先情報は外部記憶装置140のコントローラがRC・IP125を介してアドレス記憶ユニット129から入手する。
アドレス記憶ユニット129は、RC・IP125が外部記憶装置140から読み出したデータをメインメモリ103へ書き込む際のデータの格納場所に関する情報を提供する手段である。アドレス記憶ユニット129の詳細については後述する。
外部記憶装置140はRC・IP125にPCIe接続するSSD等の不揮発性記憶装置であり、GPU105が描画する画像のコンテンツデータを格納する。
なお、メインバス151と内部バス153は、インターコネクトモジュール(ICM155)によっても接続されている。ここで、描画回路107とcgbI/F121はマスタとスレーブの関係にあり、描画回路107からCGROMコントローラ120へのリクエストとこれに対する応答はcgbI/F121を介して送受される。例えば、描画回路107からcgbI/F121を介してサブCPU123に出力されたリードリクエストに対するレスポンスは、cgbI/F121から描画回路107に返される。しかし、他のデータのやり取り(例えばRC・IP125によるメインメモリ103へのデータの書き込みや、サブCPU123によるメインメモリ103からのデータの読み込み)はRC・IP125がマスタ、メインメモリ103がスレーブとなるので、ICM155を介して実行される。
〈アドレス記憶ユニット〉
図1に示すようにアドレス記憶ユニット129は、アドレス生成回路130(仮想アドレス生成手段)、及びSRAM(Static Random Access Memory:PRPリスト格納メモリ)139を備える。アドレス生成回路130は、外部記憶装置140から読み出したデータをメインメモリ103に格納するための仮想アドレスを生成する。
図2は、アドレス生成回路の構成を示す機能ブロック図である。
アドレス生成回路130は、アドレス割当部131(アドレス割当手段)、PRPリスト開始アドレス記憶部133、指定アドレス解析部135(指定アドレス解析手段)、及び、仮想アドレス算出部137(仮想アドレス算出手段)を備える。
アドレス割当部131は、複数の指定アドレスを1つのPRPリスト(1つの開始アドレス)に割り当てる手段である。PRPリスト開始アドレス記憶部133は、SRAM139から読み出した開始アドレスの1つを一時的に記憶する手段である。指定アドレス解析部135は、指定アドレスから、指定アドレスに対応する開始アドレスを記憶しているSRAMのアドレスと、指定アドレスに対応する加算アドレスを求める手段である。仮想アドレス算出部137は、指定アドレスに対応する開始アドレスと加算アドレスとに基づいて仮想アドレスを算出する手段である。
SRAM139は、アドレス生成回路130から高速アクセス可能な揮発性メモリであり、メインメモリ103に設けた複数のデータ格納用の領域について、夫々の開始アドレス(PRPリスト)を格納する。
〈アドレスの割り当て例1〉
CGROMコントローラによるアドレスの割り当て例について説明する。ここでは、メインメモリに夫々連続した1MBからなる4つの領域(領域0,1,2,3)を確保できる場合の例により説明する。
図3(a)、(b)は、メインメモリに確保される領域の一例を示す模式図である。メインメモリに確保する各領域0〜3は、図3(a)に示すように互いに連続した領域であってもよいし、図3(b)に示すように互いに連続していない領域であってもよい。
図4は、第一のアドレスの割り当て例を説明する図である。
「指定アドレス」は、サブCPU123から出力されるコマンドリストに含まれ、外部記憶装置140がRC・IP125を介してアドレス記憶ユニット129から読み出す情報が格納されている場所を示す。具体的には、指定アドレスは、アドレス生成回路130内のアドレスであって、情報が格納されている領域の先頭アドレスである。RC・IP125を介して外部記憶装置140がアドレス記憶ユニット129から読み出す情報とは、外部記憶装置140が読み出したデータのメインメモリへの格納場所を示す仮想アドレスである。
「SRAMのアドレス」は、指定アドレスに対応するメインメモリの「開始アドレス」を格納しているSRAM139内のアドレスを示す。
メインメモリの「開始アドレス」は、メインメモリ103上に確保した各領域0〜3の先頭に位置するアドレスを示す情報(データ)であり、夫々8バイトからなる。メインメモリの開始アドレスはNVMe規格に定義されているPRPリスト(非特許文献1、4.3 Physical Region Page Entry and List)そのものである。本例では、メインメモリ103の一つの領域として1MBを割り当てていると共に、メモリページサイズを4KBに設定したので、1つの開始アドレスに対して夫々256個の指定アドレスが付与され、メインメモリ103の1MBの領域を管理することができる。
なお、本明細書では、説明の便宜上、夫々のメインメモリの開始アドレスに「PRPリスト番号」を付して、「PRPリスト#0」、「PRPリスト#1」…のようにも表記する。
「加算アドレス」は、アドレス生成回路130の仮想アドレス算出部137が開始アドレスに対して加算することにより「仮想アドレス」を算出するためのものである。1つの指定アドレスに対しては、1つの開始アドレスと1つの加算アドレスが対応づけられており、開始アドレスに対して加算アドレスを加算することにより、指定アドレスに1対1で対応した仮想アドレスが算出される。なお、加算アドレスは、各仮想アドレス間のステップが一定となるように設定されており、仮想アドレスは開始アドレスから順次連続する小領域を表現する。各仮想アドレス間のステップは、メモリページサイズ1つ分に等しい。
このように、夫々のPRPリスト#0〜#3にはメインメモリ103のメモリ空間として、夫々1MBの連続領域を表現する仮想アドレスが割り当てられる。
〈アドレス記憶ユニットの動作概要〉
続いて、アドレス記憶ユニット129の動作の概要について、図2、及び図4を参照して説明する。
アドレス割当部131は、メモリページサイズとメインメモリ103に確保された領域の大きさに応じて、複数の指定アドレスを1つのPRPリスト(1つの開始アドレス)に割り当てる。例えば、メモリページサイズが4KBでメインメモリ103に確保された領域0〜3の大きさが夫々1MBである場合、各領域に夫々256個(1MB=1024KB÷4KB)の指定アドレスを割り当てる。具体的には、アドレス割当部131は指定アドレス0〜255までをPRPリスト#0(開始アドレスD0)に割り当てる。同様に、アドレス割当部131は、指定アドレス256〜511までをPRPリスト#1(開始アドレスD1)に、指定アドレス512〜767までをPRPリスト#2(開始アドレスD2)に、指定アドレス768〜1023までをPRPリスト#3(開始アドレスD3)に割り当てる。指定アドレスとPRPリストのSRAM139内におけるアドレスとの対応関係はアドレス生成回路130のレジスタ内に保持される。
また、アドレス割当部131は、夫々の指定アドレスに加算アドレスを対応づける。指定アドレスと加算アドレスとの対応関係は、アドレス生成回路130のレジスタ内に保持される。アドレス割当部131はレジスタに、指定アドレスから加算アドレスを算出するための演算式を保持させてもよいし、複数の指定アドレス(0,1,2…)と各指定アドレスに対応する加算アドレス(0KB,4KB,8KB…)を夫々保持させてもよい。なお、レジスタの容量を効率的に使用するためには、前者の方が望ましい。
指定アドレス解析部135は、RC・IP125を介して外部記憶装置140のコントローラから出力(指示)された指定アドレスを解析して、指定アドレスに対応するPRPリストを記憶したSRAM139のアドレスと、指定アドレスに対応する加算アドレスとを求める。例えば、指定アドレス解析部135は、指定アドレス1についてSRAMのアドレス0と加算アドレス4KB(=4KB×1)を導出し、指定アドレス255についてSRAMのアドレス0と加算アドレス1020KB(=4KB×255)を導出する。
PRPリスト開始アドレス記憶部133は、指定アドレス解析部135が導出したSRAM139のアドレスから読み出された1つのPRPリストの開始アドレスを一時的に記憶する。
仮想アドレス算出部137は、指定アドレスに対して割り当てられた開始アドレスと加算アドレスとを加算することにより、指定アドレスに1対1で対応する仮想アドレスを算出する。例えば、指定アドレス1については開始アドレス「D0」と加算アドレス「4KB」を加算することにより仮想アドレス「D0+4KB」を算出し、同様に指定アドレス255については仮想アドレス「D0+1020K」を算出する。また、仮想アドレス算出部137は、算出した仮想アドレスを、アドレス記憶ユニット129の指定アドレスに格納する。
〈アドレスの割り当て例2〉
他のアドレスの割り当て例について説明する。図5〜図8は、アドレスの割り当て例を説明する図である。1つのPRPリストで管理するメインメモリ103の領域は1MBである必要はないし、加算アドレス(メモリページサイズ)は4KBに限られない。
図5は、1つのPRPリストでメインメモリ103の512KBの領域を管理する例である。本例では、加算アドレス(メモリページサイズ)が4KBであるため、1つのPRPリストに対して128個の指定アドレスが対応づけられている。
図6は、1つのPRPリストでメインメモリ103の2MBの領域を管理する例である。本例では、加算アドレス(メモリページサイズ)が4KBであるため、1つのPRPリストに対して512個の指定アドレスが対応づけられている。
図7は、1つのPRPリストでメインメモリ103の2MBの領域を管理する例である。本例では、加算アドレス(メモリページサイズ)が8KBであるため、1つのPRPリストに対して、256個の指定アドレスが対応づけられている。
図8は、実際にメインメモリ103に確保される領域(512KB)と1つのPRPリストで管理できる領域のサイズ(1MB)とが異なっている例である。本例では、実際にメインメモリ103に確保された領域に対応する指定アドレス0〜127のみをメモリの領域管理に利用し、他の指定アドレス128〜255は利用しない。
〈起動時の動作シーケンス〉
画像処理装置の起動時の動作について説明する。図9は、画像処理装置の起動時の動作を示すシーケンス図である。なお、この処理は、GPU105の起動前に実行される。画像処理装置100の起動時にサブCPU123はSRAM139を初期化すると共に、例えば図4に示すような開始アドレスD0〜D3を記述したPRPリスト#0〜#3を生成してSRAM139に格納する処理を実行する。
ステップS1において、メインCPU101は、外部記憶装置140から読み出したデータを格納する領域としてメインメモリ103に割り当てた連続領域の先頭アドレス及び連続領域の大きさに関する情報をサブCPU123に出力する。
ここで、図3(a)に示すように連続領域がメインメモリ103内で単一の連続領域として確保されている場合、メインCPU101は、連続領域の先頭アドレスD0と連続領域の大きさ(例えば4MB)をサブCPU123に出力する。また、図3(b)に示すように連続領域がメインメモリ103内で分散している場合、メインCPU101は、各連続領域0、1…の先頭アドレス(D0,D1…)と各連続領域の大きさ(例えば夫々1MB)をサブCPU123に出力する。なお、メインCPU101は、図3(a)に示すような連続領域を小さい連続領域に区切り、区切られた夫々の連続領域の先頭アドレスD0、D1…と、各連続領域の大きさ(例えば夫々1MB)をサブCPU123に出力するようにしてもよいし、連続領域の先頭アドレスD0と各連続領域の大きさ(例えば夫々1MB)をサブCUP123に出力するようにしても良い。
ステップS2において、サブCPU123は、メインCPU101から出力された情報に基づいてSRAM139に格納するPRPリストを生成する。サブCPU123は、1つの連続領域を複数のPRPリストで管理するようにしてもよいし、1つの連続領域を1つのPRPリストで管理するようにしてもよい。
例えば、図3(a)に示すように4MBの連続した領域が利用可能であり、サブCPU123がメインCPU101から先頭アドレスD0と領域の大きさとして4MBの情報を取得しているが、PRPリストにおいて連続領域の1単位を1MBに設定する場合は、以下のように処理される。即ち、サブCPU123は、開始アドレスD0をポインタ情報として有するPRPリスト#0を生成し、開始アドレスD0から1MBずれた開始アドレスD1をポインタ情報として有するPRPリスト#1を生成する。サブCPU123は上記動作を順次実行して合計4個のPRPリストを生成する。
また、図3(a)に示すように4MBの連続した領域が確保されているが、メインCPU101から1MB毎に区切られた連続領域に関する情報が出力された場合、サブCPU123は開始アドレスD0〜D3を夫々ポインタ情報として有する4個のPRPリスト#0〜#3を生成する。
更に、図3(b)に示すように分散した複数の連続領域が確保されており、各連続領域を夫々1つのPRPリストで管理する場合、サブCPU123は、開始アドレスD0をポインタ情報として有するPRPリスト#0を生成し、以下同様に開始アドレスD1〜D3をポインタ情報として有するPRPリスト#1〜#3を生成する。
ステップS3において、サブCPU123は、生成したPRPリストをSRAM139の所定のアドレスに格納する。例えば図4の場合、サブCPU123は、PRPリスト#0(開始アドレスD0)をSRAM139のアドレス0に格納し、PRPリスト#1(開始アドレスD1)をSRAM139のアドレス1に格納する。
ステップS4において、サブCPU123は、RC・IP125を介して外部記憶装置140のCAP(Controller Capabilities)レジスタの内容を読み出して、メモリページサイズの最小値が設定されているCAP.MPSMINに従って、メモリページサイズを自身が保持するレジスタに記憶させる。即ち、サブCPU123は、CAPレジスタの設定データを外部記憶装置140に対して要求し、外部記憶装置140はこの要求に対する応答としてCAPレジスタの内容をサブCPU123に返す。サブCPU123は、CAPレジスタ中のCAP.MPSMINの値を自身のレジスタに記憶させる。
ステップS5において、サブCPU123は、メモリページサイズを、アドレス記憶ユニット129を構成するアドレス生成回路130のレジスタに記憶させる。
ステップS6において、アドレス生成回路130のアドレス割当部131は、メモリページサイズに基づいて、1つのPRPリストに対して複数の指定アドレスを割り当てる。例えば、メモリページサイズが4KB、1つのPRPリストでメインメモリ103の1MBの領域を管理する場合は、PRPリスト#0に指定アドレス0〜255を割り当て、PRPリスト#1に指定アドレス256〜511を割り当てる。アドレス割当部131は、指定アドレスとPRPリストのSRAM139内におけるアドレスとの対応関係をレジスタに記憶させる。
ステップS7において、アドレス生成回路130のアドレス割当部131は、加算アドレスを設定する。即ち、アドレス割当部131は、メモリページサイズに基づいて、各指定アドレスに加算アドレスを対応づけると共に、その対応関係をレジスタに記憶させる。
〈メインシーケンス〉
画像処理装置が外部記憶装置からデータを取得して表示装置に出力する動作について説明する。図10は、画像データの読み出し時の画像処理装置の動作を示すシーケンス図である。
ステップS11において、メインCPU101は、描画するべき画像について、設定データや描画制御コマンド群から構成されるディスプレイリストを生成し、ステップS13において描画回路107に出力する。
ステップS15において、描画回路107は、ディスプレイリストに基づいて、例えば1フレーム分の画像形成に必要な画像データのリードリクエストを、cgbI/F121を介してCGROMコントローラ120のサブCPU123に出力する。このリードリクエストには、外部記憶装置140から読み出すデータの読み出し先頭アドレスと、データ量の情報とが含まれている。
ステップS17において、サブCPU123は、リードリクエストに基づいて、外部記憶装置140に格納されているデータの読み出しと、読み出したデータのメインメモリ103への書き込みを指示するコマンドリストを生成する。コマンドリストには、外部記憶装置140から読み出すデータの読み出し先頭アドレスと、読み出すデータのデータ量と、読み出したデータをメインメモリ103に書き込むためのアドレス情報として先頭に位置する1つの指定アドレス(図4参照)が含まれている。
ステップS19において、サブCPU123は、RC・IP125を介してコマンドリストを外部記憶装置140に出力する。
ステップS21において、外部記憶装置140のコントローラはコマンドリストに含まれる指定アドレスに基づきRC・IP125を介してアドレス記憶ユニット129にアクセスする。1つの指定アドレスはメモリページサイズ1つ分(例えば4KB)のデータに対応する。
ステップS23において、アドレス記憶ユニット129を構成するアドレス生成回路130の指定アドレス解析部135は、指定アドレスを解析する。即ち、指定アドレス解析部135は、RC・IP125を介して外部記憶装置140から出力された指定アドレスに基づいて、指定アドレスに対応するPRPリストが格納されたSRAMのアドレスと加算アドレスとを求める。例えば指定アドレス「0」の場合は、SRAMのアドレス「0」と、加算アドレス「0」を求める。
ステップS25において、アドレス生成回路130の指定アドレス解析部135は、ステップS23において求められたSRAM139のアドレスから開始アドレスを読み出す。即ち、アドレス生成回路130の指定アドレス解析部135は、ステップS23において求めたSRAM139のアドレスと、データ(開始アドレス)の読み出しに係る要求をSRAM139に出力する。SRAM139は、指定されたアドレスに格納されているデータ(開始アドレス)を取り出して出力する。指定アドレス解析部135は、SRAM139のアドレスから開始アドレスを取得する。
例えば、指定アドレス「0」の場合、指定アドレス解析部135は、SRAMのアドレス「0」から開始アドレス「D0」を取得する。また、指定アドレス解析部135は、取得した開始アドレスをPRPリスト開始アドレス記憶部133に一時的に記憶させる。
ステップS27において、アドレス記憶ユニット129の仮想アドレス算出部137は、開始アドレスに加算アドレスを加算することにより指定アドレスに対応する仮想アドレスを生成する。例えば、指定アドレスが「0」の場合、仮想アドレス算出部137は、開始アドレス「D0」に加算アドレス「0」を加算して仮想アドレス「D0」を生成する。また、仮想アドレス算出部137は、生成した仮想アドレスをアドレス生成回路130内の指定アドレス「0」に格納する。
ステップS29において、外部記憶装置140のコントローラはRC・IP125を介してアドレス記憶ユニット129内の指定アドレスから仮想アドレスを読み出す。
ステップS31において、外部記憶装置140のコントローラはコマンドリストに従って読み出したメモリページサイズ1つ分(例えば4KB)のデータを、アドレス記憶ユニット129から読み出したメインメモリ103の仮想アドレス「D0」に書き込む。即ち、外部記憶装置140はRC・IP125を介して仮想アドレス「D0」で表されるメインメモリ103上の領域にデータを書き込む。
ステップS33において、外部記憶装置140は、アドレス記憶ユニット129に出力した最新の指定アドレス(例えば「0」)に1をインクリメントした指定アドレス(例えば「1」)を生成し、アドレス記憶ユニット129に出力する。より正確には、外部記憶装置140はRC・IP125を介して、1つの仮想アドレスの格納に必要なデータサイズ分のアドレスを、最新の指定アドレスに対してカウントアップしたアドレスを指定アドレスとして生成し、アドレス記憶ユニット129に出力する。
ステップS35は、ステップS23と同様である。ステップS35において、アドレス記憶ユニット129を構成するアドレス生成回路130の指定アドレス解析部135は、指定アドレスを解析する。即ち、指定アドレス解析部135は、外部記憶装置140から出力された指定アドレスに基づいて、指定アドレスに対応するPRPリストが格納されたSRAMのアドレスと加算アドレスとを求める。例えば指定アドレス「1」の場合は、SRAMのアドレス「0」と、加算アドレス「4K」を求める。
ステップS37は、ステップS25と同様である。ステップS37において、アドレス生成回路130の指定アドレス解析部135は、ステップS35において求められたSRAM139のアドレスから開始アドレスを読み出す。
例えば、指定アドレス「1」の場合、指定アドレス解析部135は、SRAMのアドレス「0」から開始アドレス「D0」を取得する。また、指定アドレス解析部135は、取得した開始アドレスをPRPリスト開始アドレス記憶部133に一時的に記憶させる。
ステップS39は、ステップS27と同様である。ステップS39において、アドレス記憶ユニット129の仮想アドレス算出部137は、開始アドレスに加算アドレスを加算することにより指定アドレスに対応する仮想アドレスを生成する。例えば、指定アドレスが「1」の場合、仮想アドレス算出部137は、開始アドレス「D0」に加算アドレス「4K」を加算して仮想アドレス「D0+4K」を生成する。また、仮想アドレス算出部137は、生成した仮想アドレスをアドレス生成回路130内の指定アドレス「1」に格納する。
ステップS41は、ステップS29と同様である。ステップS41において、外部記憶装置140は、アドレス記憶ユニット129内の指定アドレスから仮想アドレスを読み出す。
ステップS43は、ステップS31と同様である。ステップS43において、外部記憶装置140のコントローラは、読み出したデータを、アドレス記憶ユニット129から読み出したメインメモリ103の仮想アドレス「D0+4K」に書き込む。
このように、外部記憶装置140はRC・IP125を介して、コマンドリストに含まれる指定アドレスと読み出しデータ量とに基づいて、コマンドリストで指定された全てのデータの読み出しが完了するまで、ステップS33〜S43の処理を繰り返す。
例えばコマンドリストに含まれる指定アドレスが「0」で、外部記憶装置140からの読み出しデータ量が32KBの場合、外部記憶装置140はステップS21〜S31で指定アドレス「0」に対応するデータの読み出しと書き込みを実行した後に、ステップS33〜S43を実行して順次、指定アドレス「1」〜「7」を生成し、4KBずつのデータをメインメモリ103の仮想アドレス「D0+4K」〜「D0+28K」に格納する。
ステップS45において、外部記憶装置140はRC・IP125を介して、サブCPU123に対して要求された全てのデータについてメインメモリ103への格納が終了した旨を通知する。
ステップS47において、サブCPU123はメインメモリ103上の仮想アドレスを指定して、該アドレスに格納されたデータを読み出す。
ステップS49において、サブCPU123は、cgbI/F121を介して読み出したデータを描画回路107に出力する。ここで、描画回路107とcgbI/F121はマスタとスレーブの関係にある。ステップS15でマスタである描画回路107からスレーブであるcgbI/F121に対して行われたリクエストに対するレスポンスとしてのリードデータは、cgbI/F121から描画回路107に返される。
ステップS51において、描画回路107は、サブCPU123から入力されたデータに基づいて描画処理を行う。
ステップS53において、描画回路107は、描画処理により生成した画像データをメインメモリ103に格納する。
ステップS55において、表示回路109は、表示装置111の表示タイミングに基づいてメインメモリ103から画像データを取得する。
ステップS57において、表示回路109は、表示装置111に表示画面としての画像データを出力する。
〈コマンドリストに含める指定アドレスの管理方法〉
サブCPU123は、コマンドリストに含める指定アドレスを管理する。以下、図4を参照しながら説明する。
《第一のパターン》
サブCPU123は、直前のリードリクエストで使用していない指定アドレスをコマンドリストに含めるように制御する。例えば、サブCPU123は、直前のリードリクエストで使用された指定アドレスの直後に位置する指定アドレス(未使用の指定アドレス)をコマンドリストに含めるように制御する。なお、サブCPU123は、コマンドリストに含めた指定アドレスと、メモリページサイズと、読み出しデータ量とから、直前のリードリクエストで使用された指定アドレスを認識することができる。
仮に、直前のリードリクエストで指定アドレス0〜3が使用された場合、サブCPU123は、次のリードリクエストに基づくコマンドリストに指定アドレス4を含める。また、外部記憶装置140のコントローラは、コマンドリストに含まれた指定アドレス4からカウントアップする。
《第二のパターン》
サブCPU123は、1つのリードリクエストで要求されるデータの全体が、メインメモリ103内に連続して格納されるように、コマンドリストに含める指定アドレスを制御する。例えば、サブCPU123は、1つのPRPリストによって表現されるメインメモリの連続する1領域に1つのリードリクエストに基づくデータの全部を格納できない場合、他のPRPリストに割り当てられている指定アドレスをコマンドリストに含めるように制御する。
仮に、メインメモリ103に図3(b)に示すような分散した領域0〜3が確保されているとする。図4の指定アドレス0〜250までが使用済みの結果、領域0の残容量が20KB、領域1は未使用であるとする。読み出しデータのデータ量が32KBの場合、読み出しデータの全体を領域0の未使用部分に格納することはできない。そこで、サブCPU123は、読み出しデータの全体がメインメモリ103の領域1に格納されるように、図4に示す指定アドレス256をコマンドリストに含めるように制御する。この場合、読み出しデータは、図4の指定アドレス256〜263に対応するメインメモリ103内の領域に格納される。
《第三のパターン》
サブCPU123は、1つのリードリクエストで要求されるデータの全体が、メインメモリ103内に連続して格納されるように、コマンドリストに含める指定アドレスを制御する。例えば、サブCPU123は、1つのリードリクエストに対して1つのPRPリストを割り当てるように、コマンドリストに含める指定アドレスを制御する。
具体的には、1番目に出力されたリードリクエストに対して、サブCPU123は、PRPリスト#0に対応づけられた複数の指定アドレスのうちの先頭に位置するアドレス(指定アドレス0)を含むコマンドリストを生成する。また、2番目に出力されたリードリクエストに対して、サブCPU123は、PRPリスト#1に対応づけられた複数の指定アドレスのうちの先頭に位置するアドレス(指定アドレス256)を含むコマンドリストを生成する。
このような処理は、サブCPU123が複数のリードリクエストを並列処理する場合に特に有効である。
《第四のパターン》
サブCPU123は、1つのリードリクエストで要求されるデータの全体が、メインメモリ103内に連続して格納されるように、コマンドリストに含める指定アドレスを制御する。例えば、サブCPU123は、複数のPRPリストに跨がって表現されるメインメモリの連続する領域に1つのリードリクエストに基づくデータの全部を格納するように、コマンドリストに含める指定アドレスを制御する。
仮に、メインメモリ103に図3(a)に示すような連続した領域0〜3が確保されているとする。図4の指定アドレス0〜250までが使用済みの結果、領域0の残容量が20KB、領域1は未使用であるとする。読み出しデータのデータ量が32KBの場合、サブCPU123は、図4に示す指定アドレス251をコマンドリストに含めることで、読み出しデータを指定アドレス251〜258に対応するメインメモリ103内の領域に格納される。このように、PRPリストで管理する領域がメインメモリ内で連続する場合は、メインメモリ103の隣接する領域に跨がってデータを格納してもよい。
上記制御は、1つのリードリクエストで読み出すデータ量が、1つのPRPリストで管理するメインメモリの領域のサイズよりも大きい場合にも同様に適用できる。
なお、1つのリードリクエストに基づく読み出しデータは、メインメモリ103内に連続して格納されることが望ましいが、読み出しデータがメインメモリ103内に分散して格納されても構わない。
〈変形例〉
上記実施形態においては、PRPリストの格納先として、CGROMコントローラ120に用意したSRAM139を利用したが、PRPリストの格納場所はメインメモリ103であってもよいし、他のメモリであってもよい。
上記実施形態においては、サブCPU123が画像処理装置100の起動時にPRPリストをSRAM139に格納したが、PRPリストは少なくともステップS17のコマンドリストの作成前に格納されていればよい。例えば、サブCPU123は、ステップS15のリードリクエストを受け取った後に、PRPリストを生成してSRAM139に格納してもよい。
サブCPU123が自身のレジスタに設定するメモリページサイズは、外部記憶装置140のメモリページサイズの最小値には限られない。例えば、サブCPU123は、外部記憶装置140のCAPレジスタに記述されたメモリページサイズの最大値(CAP.MPSMAX)を、自身のレジスタに設定してもよい。
上記実施形態においてはサブCPU123が外部記憶装置140に対して指定アドレスを指示し、また外部記憶装置140が指定アドレスを用いてアドレス記憶ユニット129に対してアクセスするため、指定アドレス指示手段はサブCPU123及び外部記憶装置140として説明したが、サブCPU123と、外部記憶装置140へのブリッジ機能であるRC・IP125とを指定アドレス指示手段として捉えることもできる。
本発明について、画像処理装置、及び画像処理システムの例により説明したが、本発明は、画像データ以外のデータを処理する装置、例えば音声データを処理する音声処理装置、及び音声処理装置と外部記憶装置とによって構成される音声処理システムにも適用可能である。音声処理装置は、画像処理装置のGPUに代えて音声データを処理するDSP(Digital Signal Processor:音声処理ユニット)を備え、表示装置に代えてスピーカを備える。上記、画像データや音声データを処理する情報処理装置は、パチンコ機やパチスロ機等の遊技機に搭載される。
〈効果〉
以上のように本実施形態によれば、1つの開始アドレスから複数の仮想アドレスを生成することにより、メインメモリ上で連続する複数の小領域を1つのPRPリストで表現することができる。従って、メインメモリの領域管理に使用するPRPリストが少なくて済み、PRPリストによるメモリの消費を低減できる。
〔本発明の実施態様例と作用、効果のまとめ〕
<第一の実施態様>
本態様に係る情報処理装置(画像処理装置100)は、バスを介してアクセス可能なメインメモリ103と、外部記憶装置140が接続されるPCIeインターフェースを有すると共に該PCIeインターフェースを制御するコントローラ(CGROMコントローラ120)と、を備え、外部記憶装置に記憶されたデータを読み出して、NVMeコマンド規格に従ってメインメモリに格納する装置であり、以下の特徴を有する。
即ち、情報処理装置は、PRPリストを格納するリスト格納メモリ(SRAM139)と、外部記憶装置から読み出したデータをメインメモリに格納するための仮想アドレスを生成する仮想アドレス生成手段(アドレス生成回路130)と、を備え、仮想アドレス生成手段は、複数のアドレスを単一のPRPリストに割り当てると共に、アドレスが指示された場合に指示された指定アドレスに対応するPRPリストに含まれる開始アドレスと指定アドレスに応じた加算アドレスとに基づいて仮想アドレスを生成することを特徴とする。
本態様によれば、PRPリストによるメモリの消費を低減することが可能となる。
即ち、PRPリストにはメインメモリ内で連続する領域の先頭に位置する開始アドレスを記述すると共に、1つのPRPリストにリスト格納メモリ内の複数のアドレスを割り当てる。仮想アドレス生成手段は、リスト格納メモリ内のアドレスが指示される毎に、指示された指定アドレスに対応する仮想アドレスを順次生成する。各仮想アドレスはメインメモリ上の各小領域を表現するものであり、開始アドレスに加算アドレスを加算することにより生成される。従って、より少ないPRPリストでメインメモリの連続領域を表現でき、PRPリストによるメモリの消費を低減することができる。
例えば、遊技機等の画像処理装置のように、高速かつ高精細な画像表示が求められている装置においてはPRPリストによるメモリ消費を低減することで、画像処理に割り当てるメモリを増やすことができる。
<第二の実施態様>
本態様に係る情報処理装置(画像処理装置100)において、仮想アドレス生成手段(アドレス生成回路130)は、複数のアドレスを単一のPRPリストに割り当てるアドレス割当手段(アドレス割当部131)と、指定アドレスに対応するPRPリストと加算アドレスとを求める指定アドレス解析手段(指定アドレス解析部135)と、求められたPRPリストに含まれる開始アドレスと加算アドレスとに基づいて仮想アドレスを算出する仮想アドレス算出手段(仮想アドレス算出部137)と、を備えることを特徴とする。
本態様は、第一の実施態様と同様の効果を奏する。
<第三の実施態様>
本態様に係る情報処理装置(画像処理装置100)は、データのリードリクエストに基づいて仮想アドレス生成手段(アドレス生成回路130)に指定アドレスを指示する指定アドレス指示手段(サブCPU123、外部記憶装置140またはRC・IP125)を備え、指定アドレス指示手段(外部記憶装置140またはRC・IP125)は、直前のリードリクエストにおいて未使用の指定アドレスからカウントアップすることを特徴とする。
本態様によれば、指定アドレスを順番に使用するので、メインメモリのメモリ空間を有効に活用できる。
<第四の実施態様>
本態様に係る情報処理装置(画像処理装置100)において、指定アドレス指示手段(サブCPU)は、一のPRPリストによって表現されるメインメモリ103の連続する一領域に一のリードリクエストに基づくデータの全部を格納できない場合、他のPRPリストに割り当てられている指定アドレスを指示することを特徴とする。
本態様によれば、外部記憶装置から読み出したデータを、メインメモリ上に連続した状態で格納することができる。
<第五の実施態様>
本態様に係る情報処理装置(画像処理装置100)は、データのリードリクエストに基づいて仮想アドレス生成手段(アドレス生成回路130)に指定アドレスを指示する指定アドレス指示手段(サブCPU123、外部記憶装置140またはRC・IP125)を備え、指定アドレス指示手段(サブCPU123)は、一のリードリクエストに対して一のPRPリストを割り当てるように指定アドレスを指示することを特徴とする。
本態様においては、1つのリードリクエストに対してPRPリストが1対1で割り当てられるので、複数のリードリクエストに基づく処理を並列して実行する場合に、メインメモリのアドレス管理が容易となる。
<第六の実施態様>
本態様に係る情報処理装置(画像処理装置100)は、画像データ又は音声データを処理する処理ユニット(GPU105、DSP)と、メインメモリ103上の仮想アドレスに格納されたデータを取得して、処理ユニットに出力するように制御するサブCPU123と、を備えることを特徴とする。
本発明は、遊技機等の画像処理装置や音声処理装置等、メインメモリ上に大きな連続領域を確保することが容易な情報処理装置に特に有効である。
<第七の実施態様>
本態様に係る情報処理システムは、情報処理装置(画像処理装置100)と、PCIeインターフェースと接続する外部記憶装置140と、を備えることを特徴とする。
本態様によれば、第一乃至第六の実施態様と同様の効果を奏する。
100…画像処理装置、101…メインCPU、103…メインメモリ、105…GPU、107…描画回路、109…表示回路、111…表示装置、120…CGROMコントローラ、121…cgbI/F、123…サブCPU、125…PCIeRC・IP、129…アドレス記憶ユニット、130…アドレス生成回路、131…アドレス割当部、133…PRPリスト開始アドレス記憶部、135…指定アドレス解析部、137…仮想アドレス算出部、139…SRAM、140…外部記憶装置、151…メインバス、153…内部バス、155…ICM

Claims (7)

  1. バスを介してアクセス可能なメインメモリと、外部記憶装置が接続されるPCIeインターフェースを有すると共に該PCIeインターフェースを制御するコントローラと、を備え、前記外部記憶装置に記憶されたデータを読み出して、NVMeコマンド規格に従って前記メインメモリに格納する情報処理装置であって、
    PRPリストを格納するリスト格納メモリと、
    前記外部記憶装置から読み出したデータを前記メインメモリに格納するための仮想アドレスを生成する仮想アドレス生成手段と、を備え、
    前記仮想アドレス生成手段は、複数のアドレスを単一のPRPリストに割り当てると共に、前記アドレスの一つが指示された場合に指示された指定アドレスに対応するPRPリストに含まれる開始アドレスと指定アドレスに応じた加算アドレスとに基づいて前記仮想アドレスを生成することを特徴とする情報処理装置。
  2. 前記仮想アドレス生成手段は、
    前記複数のアドレスを前記単一のPRPリストに割り当てるアドレス割当手段と、
    前記指定アドレスに対応するPRPリストと前記加算アドレスとを求める指定アドレス解析手段と、
    求められたPRPリストに含まれる前記開始アドレスと前記加算アドレスとに基づいて前記仮想アドレスを算出する仮想アドレス算出手段と、を備えることを特徴とする請求項1に記載の情報処理装置。
  3. データのリードリクエストに基づいて前記仮想アドレス生成手段に前記指定アドレスを指示する指定アドレス指示手段を備え、
    前記指定アドレス指示手段は、直前のリードリクエストにおいて未使用の指定アドレスからカウントアップすることを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記指定アドレス指示手段は、一のPRPリストによって表現されるメインメモリの連続する一領域に一のリードリクエストに基づくデータの全部を格納できない場合、他のPRPリストに割り当てられている指定アドレスを指示することを特徴とする請求項3に記載の情報処理装置。
  5. データのリードリクエストに基づいて前記仮想アドレス生成手段に前記指定アドレスを指示する指定アドレス指示手段を備え、
    前記指定アドレス指示手段は、一のリードリクエストに対して一のPRPリストを割り当てるように前記指定アドレスを指示することを特徴とする請求項1又は2に記載の情報処理装置。
  6. 画像データ又は音声データを処理する処理ユニットと、
    前記メインメモリ上の前記仮想アドレスに格納されたデータを取得して、前記処理ユニットに出力するように制御するサブCPUと、を備えることを特徴とする請求項1乃至5の何れか一項に記載の情報処理装置。
  7. 請求項1乃至6の何れか一項に記載の情報処理装置と、PCIeインターフェースと接続する外部記憶装置と、を備えることを特徴とする情報処理システム。
JP2016217286A 2016-11-07 2016-11-07 情報処理装置、及び情報処理システム Active JP6562419B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016217286A JP6562419B2 (ja) 2016-11-07 2016-11-07 情報処理装置、及び情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016217286A JP6562419B2 (ja) 2016-11-07 2016-11-07 情報処理装置、及び情報処理システム

Publications (2)

Publication Number Publication Date
JP2018077564A true JP2018077564A (ja) 2018-05-17
JP6562419B2 JP6562419B2 (ja) 2019-08-21

Family

ID=62150678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016217286A Active JP6562419B2 (ja) 2016-11-07 2016-11-07 情報処理装置、及び情報処理システム

Country Status (1)

Country Link
JP (1) JP6562419B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064552A (zh) * 2021-03-24 2021-07-02 山东华芯半导体有限公司 一种自主分离的NVMe PRP获取加速方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11194991A (ja) * 1998-01-06 1999-07-21 Canon Inc システムの制御方法及び通信装置
JP2013037422A (ja) * 2011-08-04 2013-02-21 Hitachi Information & Control Solutions Ltd 制御装置
WO2015121912A1 (ja) * 2014-02-12 2015-08-20 株式会社日立製作所 データ記憶装置
US20160026388A1 (en) * 2014-07-24 2016-01-28 Samsung Electronics Co., Ltd. Data storage device and method of processing data thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11194991A (ja) * 1998-01-06 1999-07-21 Canon Inc システムの制御方法及び通信装置
JP2013037422A (ja) * 2011-08-04 2013-02-21 Hitachi Information & Control Solutions Ltd 制御装置
WO2015121912A1 (ja) * 2014-02-12 2015-08-20 株式会社日立製作所 データ記憶装置
US20160026388A1 (en) * 2014-07-24 2016-01-28 Samsung Electronics Co., Ltd. Data storage device and method of processing data thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064552A (zh) * 2021-03-24 2021-07-02 山东华芯半导体有限公司 一种自主分离的NVMe PRP获取加速方法

Also Published As

Publication number Publication date
JP6562419B2 (ja) 2019-08-21

Similar Documents

Publication Publication Date Title
US10732982B2 (en) Data processing systems
KR20190021474A (ko) 페이지 오류 없이 가상 메모리 내 희소 데이터 세트에의 물리 페이지의 할당
JP7008422B2 (ja) NVMe装置に対しカーネルモードアクセス及び使用者モードアクセスを同時に可能にする方法及びホストコンピュータシステム並びに非一時的コンピュータ読出可能記録媒体
US20170236244A1 (en) Graphics processing systems
JP6029550B2 (ja) 計算機の制御方法及び計算機
CN103034524A (zh) 半虚拟化的虚拟gpu
JP4886866B2 (ja) 主記憶装置へのアクセスを高速化する方法および記憶装置システム
JP2022516486A (ja) リソース管理方法と装置、電子デバイス、及び記録媒体
CN109977037B (zh) 一种dma数据传输方法及系统
US20040107329A1 (en) Memory pool configuration system
CN107077376B (zh) 帧缓存实现方法、装置、电子设备和计算机程序产品
CN109766179B (zh) 一种显存分配方法以及装置
JP3186244B2 (ja) 仮想計算機システム
WO2018119713A1 (zh) 用于多操作系统的显示方法、装置和电子设备
JP6974510B2 (ja) データを処理するための方法、装置、デバイス及び媒体
CN113485791B (zh) 配置方法和访问方法、装置、虚拟化系统和存储介质
JP6562419B2 (ja) 情報処理装置、及び情報処理システム
TW201351276A (zh) 計算工作的排程和執行
WO2018119712A1 (zh) 视频显示方法、装置、电子设备和计算机程序产品
CN107329790B (zh) 一种数据处理方法和电子设备
US11960410B2 (en) Unified kernel virtual address space for heterogeneous computing
US12105623B2 (en) Virtualized input/output device local memory management
CN108701047A (zh) 具有dma写时复制的高密度虚拟机容器
US20160026567A1 (en) Direct memory access method, system and host module for virtual machine
US20230266992A1 (en) Processor for managing resources using dual queues, and operating method thereof

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190318

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190717

R150 Certificate of patent or registration of utility model

Ref document number: 6562419

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250