JP6209573B2 - 情報処理装置および情報処理方法 - Google Patents

情報処理装置および情報処理方法 Download PDF

Info

Publication number
JP6209573B2
JP6209573B2 JP2015197190A JP2015197190A JP6209573B2 JP 6209573 B2 JP6209573 B2 JP 6209573B2 JP 2015197190 A JP2015197190 A JP 2015197190A JP 2015197190 A JP2015197190 A JP 2015197190A JP 6209573 B2 JP6209573 B2 JP 6209573B2
Authority
JP
Japan
Prior art keywords
data
cache
memory
information processing
controller
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
JP2015197190A
Other languages
English (en)
Other versions
JP2017068806A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
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 Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2015197190A priority Critical patent/JP6209573B2/ja
Publication of JP2017068806A publication Critical patent/JP2017068806A/ja
Application granted granted Critical
Publication of JP6209573B2 publication Critical patent/JP6209573B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、メモリに格納されたデータを用いて情報処理を行う情報処理装置および情報処理方法に関する。
近年、ネットワーク環境の拡充や情報処理技術の発展によりネットワークアクセスが容易になり、情報端末を用いて様々な情報を取得したりサーバから提供されるコンテンツを楽しんだりすることが場所や時間を問わず日常的に行われるようになってきた。ネットワーク接続に対するセキュリティーを確保するため、OS(Operating System)やアプリケーションソフトウェアも大規模で複雑なものとなっている。
メモリ消費の大きなソフトウェアを稼働させるには、一般的には大容量の外付けDRAM(Dynamic Random Access Memory)が利用されるが、DRAMはデータ保持のための定期的なリフレッシュ動作を必要とし、プロセッサが待機状態にある間も電力を消費する。またネットワークへの接続を常時待機する場合は、ネットワークアクセスの待ち受け処理のためにも電力を消費する。このように機能の充実とともに電力消費は増大する傾向にあり、特にバッテリー駆動の情報機器においては駆動時間が短縮されるなど問題が顕在化しやすい。そのため多機能な情報処理装置であっても電力消費を抑えることのできる技術が求められている。
本発明はこうした課題に鑑みてなされたものであり、その目的は、情報処理装置における電力消費を抑制できる技術を提供することにある。
本発明のある態様は情報処理装置に関する。この情報処理装置は、オペレーティングシステムを実行することによりアプリケーションプログラムを処理するアプリケーションプロセッサと、二次記憶装置に格納されたデータの一部を格納するメモリと、アプリケーションプロセッサの処理に応じて、前記メモリに格納されたデータの入れ替え処理を制御するマイクロコントローラと、を備えたことを特徴とする。
本発明の別の態様は情報処理方法に関する。この情報処理方法は、アプリケーションプロセッサがオペレーティングシステムを実行することによりアプリケーションプログラムを処理するステップと、アプリケーションプロセッサの処理に応じて、二次記憶装置に格納されたデータの一部を格納するメモリにおけるデータの入れ替え処理をマイクロコントローラが制御するステップと、を含むことを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
本発明によると、情報処理装置の消費電力を抑制できる。
本実施の形態における情報処理装置の内部構成を示す図である。 本実施の形態における情報処理装置の構成とデータの関係を模式的に示す図である。 本実施の形態におけるキャッシュコントローラに格納されるキャッシュタグのデータ構造を例示する図である。 本実施の形態における読み出し処理において対象データがSRAMにキャッシュされている場合の処理手順を示す図である。 本実施の形態における読み出し処理において対象データがSRAMにキャッシュされてない場合の処理手順を示す図である。 本実施の形態における書き込み処理において対象データがSRAMにキャッシュされている場合の処理手順を示す図である。 本実施の形態における書き込み処理において対象データがSRAMにキャッシュされていない場合の処理手順を示す図である。 本実施の形態における書き込み処理においてSRAMからフラッシュメモリへの書き戻し処理を含む場合の処理手順を示す図である。
図1は、本実施の形態の情報処理装置の内部構成を示している。ここで例示する情報処理装置は、インターネット対応の監視カメラ、温度計、ウェアラブルの心拍計など、低消費電力で間欠動作するIOT(Internet of things)機器のいずれかである。あるいは、携帯ゲーム機、パーソナルコンピュータ、携帯電話、タブレット端末、PDAなど一般的な情報機器のいずれかでもよい。情報処理装置10は、アプリケーションプロセッサ12、マイクロコントローラ14、キャッシュコントローラ16、SRAM(Static Random Access Memory)18、ネットワークコントローラ24、暗号処理部28、およびフラッシュコントローラ26が、インターコネクト30にそれぞれ接続されてなるホストシステム20と、NAND型フラッシュメモリなどのフラッシュメモリ22を接続した構成を有する。
MMU(Memory Management Unit)を用いた一般的な仮想メモリでは、アクセス先のページが格納されていない、いわゆるページミスが発生したとき、OSの制御により二次記憶装置とメモリの間でデータの入れ替えがなされる。このように仮想メモリの機構をOSが制御する場合、大きいサイズのプログラムデータをメモリに常時格納しておく必要があり、最低限必要なメモリ容量も非常に大きくなる。そのため、一般的には大容量の外付けDRAMなどが用いられている。
本実施の形態では、フラッシュメモリ22等の二次記憶装置の内容をSRAM18に直接キャッシュするとともに、メモリアクセスを要求するアプリケーションプロセッサ12とは別に、二次記憶装置とのデータの入れ替えを行う専用のハードウェアとしてマイクロコントローラ14を設ける。さらにSRAM18におけるデータのキャッシュヒット/キャッシュミスを判定するための機構をキャッシュコントローラ16に実装し、従来のページテーブルの役割を担う情報を必要最低限とすることにより当該情報のデータサイズを削減する。
これにより、大きなサイズのOSプログラムやページテーブルを格納する必要がなくなるため、容量の小さいSRAM18であっても一般的な仮想メモリと同様に大容量のデータへのアクセスが可能となる。またリフレッシュ動作が必要なDRAMの介在を不要とすることにより、特にユーザが情報処理装置10を使用していない待機状態における電力消費量を削減する。なお本実施の形態はユーザの使用状況によらず適用してもよいし、待機状態のときのみに適用し、ユーザが使用している、すなわちアプリケーションプロセッサ12が稼働している期間は、DRAMを利用した通常の仮想メモリ機構に切り替えてもよい。図1ではこの場合に用いるDRAMについては図示を省略している。
アプリケーションプロセッサ12は、OSやアプリケーションプログラムを処理する。処理に必要な命令やデータはSRAM18から内部のキャッシュメモリに読み出す。マイクロコントローラ14は、小容量のローカルRAM上で動作し、キャッシュコントローラ16およびフラッシュコントローラ26を制御する。ネットワークコントローラ24は、WLAN(Wireless LAN)やEthernet(登録商標)などの通信ユニットであり、ネットワークを介してパケットを受信したときはアプリケーションプロセッサ12に割り込みを通知する。
フラッシュコントローラ26はNAND型フラッシュメモリデバイスなどに対する一般的なインターフェースであり、マイクロコントローラ14の制御のもと、フラッシュメモリ22にアクセスして、所定のブロック単位でデータの読み出し/書き込みを行う。SRAM18はメモリマップされた領域であり、アプリケーションプロセッサ12が直接アクセスすることでバッファとして使用することも、キャッシュコントローラ16による制御を介することでフラッシュメモリ22の仮想メモリとして使用することもできる。
キャッシュコントローラ16は、インターコネクト30のスレーブとしてメモリマップされ、アプリケーションプロセッサ12が主記憶装置としてアクセスする。キャッシュコントローラ16はページテーブルの代わりに、内部にキャッシュタグを格納し、データの実体はSRAM18に格納される。暗号処理部28は、マイクロコントローラ14の制御のもと、フラッシュメモリ22に格納すべきデータを暗号化したり、読み出されたデータを復号したりする。インターコネクト30は、図中、「M」と記載されたマスタユニットと「S」と記載されたスレーブユニットを相互接続し、複数のマスタユニット、スレーブユニットの同時動作をサポートする。例えばアプリケーションプロセッサ12がキャッシュコントローラ16にアクセス中であっても、その他のマスタがSRAMにアクセスすることを可能とする。
図2は本実施の形態の情報処理装置10の構成とデータの関係を模式的に示している。まずアプリケーションプロセッサ12のメモリマップは、キャッシュコントローラ16がスレーブとしてマップされたアドレス空間を含み、当該アドレス空間はフラッシュメモリ22の論理アドレスを示している。メモリマップにはそのほか、SRAM18自体やレジスタなどがマップされる。キャッシュコントローラ16は仮想メモリのインターフェースであり、実際のデータはフラッシュメモリ22に格納されているものの一部がSRAM18にキャッシュされている。
処理の流れはおよそ次のようになる。まずアプリケーションプロセッサ12は、フラッシュメモリ22に対するアドレスを指定することによりキャッシュコントローラ16にデータアクセス要求を行う。キャッシュコントローラ16は、アプリケーションプロセッサ12が指定したアドレスに基づき内部に保持するキャッシュタグ32を参照し、ヒット/ミス判定を行う。対応する有効なデータがSRAM18に格納されていればヒットとし、データを読み出すなど要求された処理を行う(S2)。
データが格納されていなければミスとしてマイクロコントローラ14に通知する(S4)。マイクロコントローラ14はフラッシュコントローラ26を制御してフラッシュメモリ22から該当データを読み出し(S6)、SRAM18の指定された領域に格納する(S8)。これらの手順により、アプリケーションプロセッサ12は一般的な手法でアクセス要求を行い、データ読み出し/書き込みが適切になされるまで待機すればよいことになる。より詳細な処理手順については後述する。
図3は、キャッシュコントローラ16に格納されるキャッシュタグ32のデータ構造を例示している。キャッシュコントローラ16は、SRAM18のうちキャッシュとして使用する領域のサイズと、フラッシュメモリ22のうちメモリマップにマッピングされる領域のサイズに応じて設計する。キャッシュとして利用するサイズをSRAM全体の1/2、1/4、1/8、などと変更可能にしておくことにより、バッファなどその他の用途に利用する領域のサイズを調整できる。例えば1GiB(230バイト)のデータをSRAM18の4MiB(4×220バイト)の領域にキャッシュする場合を想定する。ページサイズは4KiB(4×210B)とする。
キャッシュコントローラ16がスレーブとしてマップされるアドレス空間は、フラッシュメモリ22をメモリとして使用するサイズとなる。1GiBの領域をサポートする場合、アドレス40は図示するように30ビットの情報で構成する。4ウェイセットアソシアティブの場合、各インデックスに4つのタグが1セットとして対応づけられる。各タグ42には、対応するページが有効であるか否かを示すバリッドビット44(「V」と表記)と、キャッシュされたページが更新されフラッシュメモリ22における対応データと一致しているか否かを示すダーティービット46(「D」と表記)が付加される。
4MiBの領域を4KiBのページで構成すると、キャッシュタグのエントリ数は210=1024となる。4ウェイセットアソシアティブの場合、30ビットのアドレス40のうち19:12の8ビットのインデックスによって、対応する4つのキャッシュタグが参照され、そのうちアドレス40の29:20の10ビットのタグと一致する有効なキャッシュタグがあればキャッシュヒットとなる。この例でキャッシュタグに必要な記憶領域は1024エントリ×12ビット/8=1536バイトとなり、一般的なページテーブルより格段に小さいサイズとなる。なおSRAM18のうちキャッシュとして利用する領域を上述のように1/2、1/4、1/8、1/16と調整する場合は、タグとして比較するビット数が増えるため、キャッシュタグに必要な領域が多少、増加する。
次にこれまで述べた構成によって実現できる情報処理装置の動作について説明する。図4は、読み出し処理において対象データがSRAM18にキャッシュされている場合の処理手順を示している。まずアプリケーションプロセッサ12などのバスマスタは、キャッシュコントローラ16に対しアドレスを指定して読み出しアクセスを要求する(S10)。それに対しキャッシュコントローラ16は、内部に保持するキャッシュタグを参照し、インデックスおよびタグが一致し、かつ有効なエントリが存在したときキャッシュヒットを判定して、要求されたデータを読み出すためにSRAM18にアクセスする(S12)。SRAM18からレスポンスと該当データが返されたら(S14)、キャッシュコントローラ16は当該データを、レスポンスとともにアプリケーションプロセッサ12などのバスマスタに転送する(S16)。
図5は読み出し処理において対象データがSRAM18にキャッシュされてない場合の処理手順を示している。まずアプリケーションプロセッサ12などのバスマスタは、キャッシュコントローラ16に対しメモリアドレスを指定して読み出しアクセスを要求する(S20)。それに対しキャッシュコントローラ16は、内部に保持するキャッシュタグを参照し、インデックスおよびタグが一致し、かつ有効なエントリが存在しないときキャッシュミスを判定して、マイクロコントローラ14に割り込みを発行する(S22)。
キャッシュコントローラ16はインターコネクトスレーブインターフェースとは別に、レジスタインターフェースを持ち、キャッシュミスしたアドレスと書き換え対象となるSRAM18内の領域に係る情報をレジスタ(図示せず)に格納しておく。マイクロコントローラ14はキャッシュコントローラ16の当該レジスタからそれらの情報を読み出す(S24)。続いてマイクロコントローラ14は、フラッシュコントローラ26に対して該当するアドレスのデータの読み出しを要求する(S26)。
当該読み出し要求には、S24で取得した、SRAM18内の書き換え対象の領域をデータの読み出し先として指定する情報を含める。そしてSRAM18内のキャッシュに用いられていない領域に書き込むことにより、フラッシュコントローラ26が当該要求を読み出す。フラッシュコントローラ26は、フラッシュメモリ22から該当データを読み出し、指定されたSRAM18内の領域に格納する(S28)。データの格納が完了したら、フラッシュコントローラ26は、マイクロコントローラ14に対し完了通知を発行する(S30)。
これに応じてマイクロコントローラ14は、新たに格納されたデータの復号処理を暗号処理部28に依頼し、それが完了した時点でキャッシュコントローラ16に完了通知を発行するとともに、キャッシュコントローラ16のキャッシュタグを更新する(S32)。これに応じてキャッシュコントローラ16は、再びキャッシュタグを参照してキャッシュヒットを判定し、要求されたデータを読み出すためにSRAM18にアクセスする(S34)。これに対しSRAM18からレスポンスと該当データが返されたら(S36)、キャッシュコントローラ16は当該データを、レスポンスとともにアプリケーションプロセッサ12などのバスマスタに転送する(S38)。
図6は書き込み処理において対象データがSRAM18にキャッシュされている場合の処理手順を示している。まずアプリケーションプロセッサ12などのバスマスタは、キャッシュコントローラ16に対しアドレスを指定して書き込みアクセスを要求する(S40)。それに対しキャッシュコントローラ16は、内部に保持するキャッシュタグを参照し、インデックスおよびタグが一致し、かつ有効なエントリが存在したときキャッシュヒットを判定して、その旨のレスポンスを要求元のマスタに返す(S42)。
それに対しマスタは、書き込むデータをキャッシュコントローラ16に送信する(S44)。キャッシュコントローラ16は、要求されたアドレスのデータに書き込みを行うためにSRAM18にアクセスし(S46)、マスタから送信されたデータを書き込む(S48)。なおこの際、キャッシュコントローラ16は、対応するキャッシュタグのダーティービット46を更新し、フラッシュメモリ22における対応データと不一致(ダーティ)であることを記録する。
図7は、書き込み処理において対象データがSRAM18にキャッシュされていない場合の処理手順を示している。まずアプリケーションプロセッサ12などのバスマスタは、キャッシュコントローラ16に対しアドレスを指定して書き込みアクセスを要求する(S50)。それに対しキャッシュコントローラ16は、内部に保持するキャッシュタグを参照し、インデックスおよびタグが一致し、かつ有効なエントリが存在しないときキャッシュミスを判定し、マイクロコントローラ14に割り込みを発行する(S52)。これに応じてマイクロコントローラ14はキャッシュコントローラ16のレジスタから、キャッシュミスしたアドレスと、書き換え対象となるSRAM18内の領域に係る情報を読み出す(S54)。
続いてマイクロコントローラ14は、フラッシュコントローラ26に対して該当するアドレスのデータの読み出しを要求する(S56)。当該読み出し要求には、S54で取得した、SRAM18内の書き換え対象の領域をデータの読み出し先として指定する情報を含める。そしてSRAM18内のキャッシュに用いられていない領域に書き込むことにより、フラッシュコントローラ26が当該要求を読み出す。フラッシュコントローラ26は、フラッシュメモリ22から該当データを読み出し、指定されたSRAM18内の領域に格納する(S58)。
データの格納が完了したら、フラッシュコントローラ26は、マイクロコントローラ14に対し完了通知を発行する(S60)。これに応じてマイクロコントローラ14は、新たに格納されたデータの復号処理を暗号処理部28に依頼し、それが完了した時点でキャッシュコントローラ16に完了通知を発行するとともに、キャッシュコントローラ16のキャッシュタグを更新する(S62)。これに応じてキャッシュコントローラ16は、再びキャッシュタグを参照してキャッシュヒットを判定し、その旨のレスポンスを要求元のマスタに返す(S64)。
それに対しマスタは、書き込むデータをキャッシュコントローラ16に送信する(S66)。キャッシュコントローラ16は、要求されたアドレスのデータに書き込みを行うためにSRAM18にアクセスし(S68)、マスタから送信されたデータを書き込む(S70)。なおこの際もキャッシュコントローラ16は、対応するキャッシュタグのダーティービット46をダーティに更新する。
図8は、書き込み処理においてSRAM18からフラッシュメモリ22への書き戻し処理を含む場合の処理手順を示している。この状況は、書き込み先のキャッシュエントリが全てダーティの場合などに発生する。まずアプリケーションプロセッサ12などのバスマスタは、キャッシュコントローラ16に対しアドレスを指定して書き込みアクセスを要求する(S80)。それに対しキャッシュコントローラ16は、内部に保持するキャッシュタグを参照し、インデックスが一致している4つのエントリが全てダーティであった場合などに、それらのエントリの書き戻しが必要と判定し、マイクロコントローラ14に割り込みを発行する(S82)。
これに応じてマイクロコントローラ14は、キャッシュコントローラ16のレジスタから、書き込みが要求されたアドレス、書き換え対象となるSRAM18内の領域、書き戻しが必要なデータの格納領域、および当該データのフラッシュメモリ22におけるアドレスに係る情報を読み出す(S84)。そしてマイクロコントローラ14は、フラッシュコントローラ26に対して、まず書き戻しが必要なデータの書き込み要求を発行する(S86)。当該書き込み要求には、S84で取得した、書き戻しが必要なデータのSRAM18内での格納領域および対応するアドレスに係る情報を含める。そしてSRAM18内のキャッシュに用いられていない領域に書き込むことにより、フラッシュコントローラ26が当該要求を読み出す。
フラッシュコントローラ26は、SRAM18内の該当領域からデータを読み出し、フラッシュメモリ22の対応するアドレスへ書き込む(S88)。データの書き込みが完了したら、フラッシュコントローラ26はマイクロコントローラ14に対し完了通知を発行する(S90)。これに応じてマイクロコントローラ14は、フラッシュコントローラ26に対して該当するアドレスのデータの読み出しを要求する(S92)。当該読み出し要求には、S84で取得した、SRAM18内の書き換え対象の領域をデータの読み出し先として指定する情報を含める。そしてSRAM18内のキャッシュに用いられていない領域に書き込むことにより、フラッシュコントローラ26が当該要求を読み出す。
フラッシュコントローラ26は、フラッシュメモリ22から該当データを読み出し、指定されたSRAM18内の領域に格納する(S94)。データの格納が完了したら、フラッシュコントローラ26は、マイクロコントローラ14に対し完了通知を発行する(S96)。マイクロコントローラ14は、新たに格納されたデータの復号処理を暗号処理部28に依頼し、それが完了した時点でキャッシュコントローラ16に完了通知を発行するとともにキャッシュコントローラ16のキャッシュタグを更新する(S98)。
これに応じてキャッシュコントローラ16は、再びキャッシュタグを参照してキャッシュヒットを判定し、その旨のレスポンスを要求元のマスタに返す(S100)。それに対しマスタは、書き込むデータをキャッシュコントローラ16に送信する(S102)。キャッシュコントローラ16は、要求されたアドレスのデータに書き込みを行うためにSRAM18にアクセスし(S104)、マスタから送信されたデータを書き込む(S106)。
本実施の形態では、二次記憶装置に格納されたデータを直接、SRAMにキャッシュするため、DRAMを介在させた場合と比較するとキャッシュミスしたときのペナルティが大きくなる。二次記憶装置をNAND型フラッシュメモリとした場合、読み出しおよび書き込みのレイテンシはそれぞれ100μs、500μs程度となり、フラッシュメモリにおけるブロックのデータ消去が発生すると1ms程度かかることもある。この間、アプリケーションプロセッサをストールさせると、特に書き込み時のキャッシュミスに対するペナルティが大きくなるが、例えばSRAM18に書き込み用のバッファ領域を設けることによりレイテンシを短縮することができる。
一例として次の条件を仮定する。
プロセッサ、バス周波数:500MHz
ロード/ストアによるストール:100%
プロセッサキャッシュヒット率:80%
プロセッサキャッシュヒットサイクル:15サイクル
SRAMキャッシュヒット率:99.9%
SRAMキャッシュミス率(読み出し):0.08%
SRAMキャッシュミス率(書き戻し):0.02%
DRAMを介在させた場合のアクセスレイテンシ:100n秒(50サイクル)
SRAMキャッシュヒット時のレイテンシ:100n秒(50サイクル)
SRAMキャッシュミス時(読み出し)のレイテンシ:100μ秒(5×10サイクル)
SRAMキャッシュミス時(書き込み)のレイテンシ:1m秒(5×10サイクル)
NAND型フラッシュメモリは高いバンド幅を有するため、1度の読み出しサイズを大きな単位とすることで、キャッシュヒット率を向上させることができる。ロード/ストアサイズが4バイト、SRAMキャッシュラインのサイズが4096バイトの場合、1キャッシュラインのデータを順番に参照する場合であれば、キャッシュミス率は4/4096≒0.1%、ひいてはキャッシュヒット率は上記のとおり99.9%となる。
上記条件では、DRAMを介在させた場合と比較し約7.4倍のサイクルを要する。しかしながら夜中など情報処理装置を使用していない期間の待機処理としては十分な速さといえる。さらにSRAMの容量を増やすなどしてキャッシュミス率が1桁小さくなれば、DRAMを介在させた場合と比較し性能差は1.6倍まで縮めることができる。
以上述べた本実施の形態によれば、二次記憶装置であるフラッシュメモリの少なくとも一部の領域を仮想メモリの機構によりメモリとして使用する。ここで、キャッシュミスが発生した場合のフラッシュメモリからのデータ読み出しや書き戻しの際のデータ書き込みに係る制御を、アプリケーションプロセッサとは異なる小規模なプロセッサが行うようにする。これにより、アプリケーションプロセッサを動作させる大規模なOSのコードを、データをキャッシュするメモリに格納しておく必要がなくなる。
また、キャッシュミス/キャッシュヒットを判定する機構を、キャッシュコントローラにハードウェアとして実装することで、従来OSが参照していたページテーブルを単純化してサイズを小さくし、キャッシュコントローラ内部で保持するようにする。これらのことにより、フラッシュメモリから読み出されたデータをキャッシュするメモリを小容量のSRAMとすることができる。結果として、少なくとも本仮想メモリの機構を利用している期間においては大容量のDRAMを介在させる必要がなくなり、OSなどソフトウェアの規模に関わらずリフレッシュ動作のための定常的な電力の消費を抑えることができる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
10 情報処理装置、 12 アプリケーションプロセッサ、 14 マイクロコントローラ、 16 キャッシュコントローラ、 18 SRAM、 20 ホストシステム、 22 フラッシュメモリ、 24 ネットワークコントローラ、 26 フラッシュコントローラ、 28 暗号処理部、 30 インターコネクト。

Claims (10)

  1. オペレーティングシステムを実行することによりアプリケーションプログラムを処理するアプリケーションプロセッサと、
    二次記憶装置に格納されたデータの一部を格納するキャッシュメモリと、
    ローカルメモリ上で動作し、前記アプリケーションプロセッサの処理に応じて、前記キャッシュメモリに格納されたデータの入れ替え処理を制御するマイクロコントローラと、
    を備えたことを特徴とする情報処理装置。
  2. 前記アプリケーションプロセッサからデータアクセス要求を受け付け、前記キャッシュメモリにおけるデータ格納状況に基づきデータの入れ替えの必要性を判定して、必要と判定したとき前記マイクロコントローラに通知するキャッシュコントローラをさらに備えたことを特徴とする請求項1に記載の情報処理装置。
  3. 前記マイクロコントローラは、前記キャッシュコントローラからの通知に従い、前記二次記憶装置にアクセスし前記キャッシュメモリのデータの入れ替えを実行するメモリコントローラに対しデータの入れ替えを要求し、当該メモリコントローラからの入れ替え完了の通知に従い、前記キャッシュコントローラにその旨を通知することを特徴とする請求項2に記載の情報処理装置。
  4. 前記キャッシュコントローラは、前記キャッシュメモリにおけるデータ格納状況を表すリストを内部で保持し、前記アプリケーションプロセッサがアクセス先として指定したアドレスと前記リストとの比較によりデータの入れ替えの必要性を判定することを特徴とする請求項2または3に記載の情報処理装置。
  5. 前記キャッシュメモリは、前記アプリケーションプロセッサ、前記キャッシュコントローラ、前記マイクロコントローラを接続するインターコネクトに接続されたSRAM(Static Random Access Memory)であることを特徴とする請求項2から4のいずれかに記載の情報処理装置。
  6. 前記二次記憶装置はNAND型フラッシュメモリであることを特徴とする請求項1からのいずれかに記載の情報処理装置。
  7. アプリケーションプロセッサがオペレーティングシステムを実行することによりアプリケーションプログラムを処理するステップと、
    前記アプリケーションプロセッサの処理に応じて、二次記憶装置に格納されたデータの一部を格納するキャッシュメモリにおけるデータの入れ替え処理を、ローカルメモリ上で動作するマイクロコントローラが制御するステップと、
    を含むことを特徴とする情報処理方法。
  8. キャッシュコントローラが、
    前記アプリケーションプロセッサからデータアクセス要求を受け付けるステップと、
    前記キャッシュメモリにおけるデータ格納状況に基づきデータの入れ替えの必要性を判定するステップと
    必要と判定したとき前記マイクロコントローラに通知するステップと、
    をさらに含むことを特徴とする請求項に記載の情報処理方法。
  9. 前記制御するステップは前記マイクロコントローラが、
    前記キャッシュコントローラからの通知に従い、前記二次記憶装置にアクセスし前記キャッシュメモリのデータの入れ替えを実行するメモリコントローラに対しデータの入れ替えを要求するステップと、
    前記メモリコントローラからの入れ替え完了の通知に従い、前記キャッシュコントローラにその旨を通知するステップと、
    を含むことを特徴とする請求項8に記載の情報処理方法。
  10. 前記必要性を判定するステップは、前記アプリケーションプロセッサがアクセス先として指定したアドレスと、前記キャッシュコントローラが内部で保持する、前記キャッシュメモリにおけるデータ格納状況を表すリストとを比較することにより当該必要性を判定することを特徴とする請求項8または9に記載の情報処理方法。
JP2015197190A 2015-10-02 2015-10-02 情報処理装置および情報処理方法 Active JP6209573B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015197190A JP6209573B2 (ja) 2015-10-02 2015-10-02 情報処理装置および情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015197190A JP6209573B2 (ja) 2015-10-02 2015-10-02 情報処理装置および情報処理方法

Publications (2)

Publication Number Publication Date
JP2017068806A JP2017068806A (ja) 2017-04-06
JP6209573B2 true JP6209573B2 (ja) 2017-10-04

Family

ID=58492637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015197190A Active JP6209573B2 (ja) 2015-10-02 2015-10-02 情報処理装置および情報処理方法

Country Status (1)

Country Link
JP (1) JP6209573B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10845866B2 (en) * 2017-06-22 2020-11-24 Micron Technology, Inc. Non-volatile memory system or sub-system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4909963B2 (ja) * 2008-09-09 2012-04-04 株式会社東芝 統合メモリ管理装置
JP2012033001A (ja) * 2010-07-30 2012-02-16 Toshiba Corp 情報処理装置および情報処理方法
JP2012033047A (ja) * 2010-07-30 2012-02-16 Toshiba Corp 情報処理装置、メモリ管理装置、メモリ管理方法、及びプログラム

Also Published As

Publication number Publication date
JP2017068806A (ja) 2017-04-06

Similar Documents

Publication Publication Date Title
US9218286B2 (en) System cache with partial write valid states
US9158685B2 (en) System cache with cache hint control
JP5537533B2 (ja) ハードウェアのダイナミックなキャッシュパワー管理
US20060277365A1 (en) Method and system for on-chip configurable data ram for fast memory and pseudo associative caches
US9218040B2 (en) System cache with coarse grain power management
US20120102273A1 (en) Memory agent to access memory blade as part of the cache coherency domain
US20140089600A1 (en) System cache with data pending state
US20170091099A1 (en) Memory controller for multi-level system memory having sectored cache
US20170177482A1 (en) Computing system having multi-level system memory capable of operating in a single level system memory mode
JPWO2010035426A1 (ja) バッファメモリ装置、メモリシステム及びデータ転送方法
CN111414132A (zh) 带异构存储器的主存储设备、计算机系统及数据管理方法
JP2013250791A (ja) プログラム、計算処理装置、メモリ管理方法および計算機
US9043570B2 (en) System cache with quota-based control
WO2016160159A1 (en) Memory controller for multi-level system memory with coherency unit
US10180796B2 (en) Memory system
US11921650B2 (en) Dedicated cache-related block transfer in a memory system
US9977604B2 (en) Memory system
US9311251B2 (en) System cache with sticky allocation
US20190042415A1 (en) Storage model for a computer system having persistent system memory
EP2901287B1 (en) System cache with sticky removal engine
JP6209573B2 (ja) 情報処理装置および情報処理方法
US7757046B2 (en) Method and apparatus for optimizing line writes in cache coherent systems
US20170153994A1 (en) Mass storage region with ram-disk access and dma access
JP2010108381A (ja) 集積回路、集積回路の制御方法および半導体デバイス
JPWO2010098152A1 (ja) キャッシュメモリシステムおよびキャッシュメモリ制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170418

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170619

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170911

R150 Certificate of patent or registration of utility model

Ref document number: 6209573

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250