JP2018156573A - メモリ装置および情報処理システム - Google Patents

メモリ装置および情報処理システム Download PDF

Info

Publication number
JP2018156573A
JP2018156573A JP2017054762A JP2017054762A JP2018156573A JP 2018156573 A JP2018156573 A JP 2018156573A JP 2017054762 A JP2017054762 A JP 2017054762A JP 2017054762 A JP2017054762 A JP 2017054762A JP 2018156573 A JP2018156573 A JP 2018156573A
Authority
JP
Japan
Prior art keywords
information processing
access
memory
data
common
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.)
Pending
Application number
JP2017054762A
Other languages
English (en)
Inventor
祐介 城田
Yusuke Shirota
祐介 城田
金井 達徳
Tatsunori Kanai
達徳 金井
白井 智
Satoshi Shirai
智 白井
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.)
Kioxia Corp
Original Assignee
Toshiba Memory 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 Toshiba Memory Corp filed Critical Toshiba Memory Corp
Priority to JP2017054762A priority Critical patent/JP2018156573A/ja
Priority to TW106128245A priority patent/TWI704461B/zh
Priority to US15/695,563 priority patent/US10438665B2/en
Publication of JP2018156573A publication Critical patent/JP2018156573A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/107Programming all cells in an array, sector or block to the same state prior to flash erasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1737Details of further file system functions for reducing power consumption or coping with limited storage space, e.g. in mobile devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/148Details of power up or power down circuits, standby circuits or recovery circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1048Data bus control circuits, e.g. precharging, presetting, equalising

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

【課題】1または複数の情報処理装置を用いたシステムに対して、効率良く処理をさせる。
【解決手段】メモリ装置は、1または複数の情報処理装置に接続される。メモリ装置は、共通記憶部と、解析部と、設定部とを備える。解析部は、1または複数の情報処理装置による共通記憶部に対するアクセスを解析して、共通記憶部に対する1または複数の情報処理装置によるアクセス方法を決定する。設定部は、決定されたアクセス方法を1または複数の情報処理装置に対して指示する。
【選択図】図3

Description

本発明の実施形態は、メモリ装置および情報処理システムに関する。
近年、コンピュータシステムは、オンラインリアルタイム処理、ビッグデータ処理およびディープラーニング処理等の大規模データ処理を実行する。このような処理を実行する場合、コンピュータシステムは、巨大な容量の主記憶装置を用いなければならない。しかし、従来、サーバ等の情報処理装置は、主記憶装置として、待機電力が大きいDRAM(Dynamic−Random Access Memory)を備える。このため、従来のコンピュータシステムでは、大規模データ処理を実行する場合、消費電力が大きくなってしまっていた。
また、近年、複数のサーバをイーサーネットまたはインフィニバンド等のネットワークにより接続して分散処理を行うコンピュータシステムが知られている。このようなコンピュータシステムは、サーバが単体で処理を実行するよりも、高速に処理を実行することができる。しかし、このようなコンピュータシステムは、サーバのデータ転送が大量に発生する。このため、分散処理を行うコンピュータシステムでは、大規模データ処理を実行する場合、処理速度が低下してしまっていた。
R. F. Freitas and W. W. Wilcke, "Storage-class Memory: The Next Storage System Technology", IBM Journal of Research and Development Vol.52 No.4, pp.439-447, 2008.
本発明が解決しようとする課題は、1または複数の情報処理装置を用いたシステムに対して、効率良く処理をさせることにある。
実施形態のメモリ装置は、1または複数の情報処理装置に接続される。前記メモリ装置は、共通記憶部と、解析部と、設定部とを備える。前記解析部は、前記1または複数の情報処理装置による前記共通記憶部に対するアクセスを解析して、前記共通記憶部に対する前記1または複数の情報処理装置によるアクセス方法を決定する。前記設定部は、決定された前記アクセス方法を前記1または複数の情報処理装置に対して指示する。
第1実施形態に係る情報処理システムの構成を示す図。 情報処理システムの外観構成の一例を示す図。 第1実施形態に係るメモリコントローラの構成を示す図。 第1アクセス処理および第2アクセス処理を説明するための図。 第2アクセス処理における高速処理および低速処理を説明するための図。 第2アクセス処理における最高速処理をさらに説明するための図。 個別メモリにおける使用容量の指示の内容を説明するための図。 通常退避処理を説明するための図。 積極退避処理における第1処理を説明するための図。 積極退避処理における第2処理を説明するための図。 第1実施形態に係る情報処理システムの処理の手順を示す図。 解析結果の一例を示す図。 アクセス方法の決定処理の手順の一例を示す図。 アクセス方法の設定テーブルの一例を示す図。 第2実施形態に係るメモリコントローラの構成を示す図。 第3実施形態に係る情報処理システムの構成を示す図。 第4実施形態に係るメモリコントローラの構成を示す図。 第4実施形態に係る情報処理システムの処理の手順を示す図。 第5実施形態に係るメモリコントローラの構成を示す図。 第6実施形態に係る情報処理システムの処理の一例を示す図。 第7実施形態に係るメモリコントローラの構成を示す図。
以下、図面を参照しながら実施形態に係る情報処理システム10について詳細に説明する。なお、以下、複数の実施形態について説明をするが、略同一の機能および構成を有するブロックに同一の符号を付け、第2実施形態以降においては重複する内容の説明を省略する。
(第1実施形態)
図1は、第1実施形態に係る情報処理システム10の構成を示す図である。情報処理システム10は、複数の情報処理装置20と、メモリ装置30とを備える。
複数の情報処理装置20のそれぞれは、情報処理を独立に実行するコンピュータである。複数の情報処理装置20のそれぞれは、例えば、別個のオペレーティングシステムを実行する。複数の情報処理装置20のそれぞれは、例えば、異なる筐体に収納されていたり、異なる基板に設けられていたりする。
なお、実施形態では、複数の情報処理装置20を備える情報処理システム10を示す。しかし、情報処理システム10は、1つの情報処理装置20を備える構成であってもよい。
メモリ装置30は、複数の情報処理装置20のそれぞれに接続される。メモリ装置30は、複数の情報処理装置20のそれぞれの共通の主記憶装置として機能する。メモリ装置30は、複数の情報処理装置20のそれぞれから、データの書き込みおよびデータの読み出しのためのアクセス要求を受け付ける。メモリ装置30は、受け付けたアクセス要求に応じて内部にデータを記憶したり、内部に記憶しているデータを読み出して情報処理装置20へと出力したりする。メモリ装置30は、例えば、複数の情報処理装置20とは異なる筐体に収納されていたり、異なる基板に設けられていたりする。
情報処理装置20は、処理回路22と、個別メモリ24とを有する。
処理回路22は、1または複数のプロセッサを有する。プロセッサは、例えば、CPU(Central Processing Unit)である。プロセッサは、1または複数のCPUコアを含んでいてもよい。処理回路22は、プログラムを実行して、データを処理する。処理回路22は、プログラムを実行して、データ処理をすることができれば、どのような回路であってもよい。例えば、処理回路22は、GPGPU(General−purpose computing on Graphics Processing Unit)で利用されるGPU(Graphics Processing Unit)であってもよい。また、処理回路22は、FPGA(Field Programmable Gate Array)等のアクセラレータであってもよい。
処理回路22は、プログラムの実行に応じて、個別メモリ24またはメモリ装置30からデータを読み出したり、個別メモリ24またはメモリ装置30にデータを書き込んだりする。例えば、処理回路22は、L1データキャッシュ、L1命令キャッシュ、L2キャッシュおよびL3キャッシュ等の階層的なキャッシュを有する。処理回路22は、このようなキャッシュを用いて、データを一時的に記憶する。処理回路22は、例えば、階層的なキャッシュにおける最下層のキャッシュ(ラストレベルキャッシュ)でキャッシュミスをした場合、キャッシュライン単位で個別メモリ24またはメモリ装置30に対してアクセスして必要なデータを読み出したり書き込んだりする。
個別メモリ24は、処理回路22による作業領域として用いられる記憶装置である。個別メモリ24は、DRAM(Dynamic Random Access Memory)等の電源の供給を停止すると記憶しているデータが消える揮発メモリである。個別メモリ24は、DRAMと同様に高速アクセスが可能な、MRAM(Magnetoresistive Random Access Memory)等の不揮発メモリであってもよい。あるいは、個別メモリ24は、揮発メモリと不揮発メモリとを混載していてもよい。個別メモリ24は、例えばDIMM接続のメモリモジュールとして実装されている。
処理回路22は、ストア命令またはロード命令等のメモリアクセスのための命令を実行することにより、個別メモリ24およびメモリ装置30にアクセスすることができる。また、処理回路22は、個別メモリ24およびメモリ装置30のそれぞれに対して、キャッシュライン単位またはバイト単位等の小領域単位でアクセスすることができる。処理回路22は、個別メモリ24とメモリバスで接続される。また、処理回路22は、メモリ装置30と、共有メモリインタフェースを介して接続される。
例えば、処理回路22は、メモリ装置30および個別メモリ24を主記憶装置として用いる。また、処理回路22は、個別メモリ24をメモリ装置30のキャッシュメモリとして用いてよい。すなわち、処理回路22は、個別メモリ24を、メモリ装置30に記憶されたデータを一時的に記憶するメモリとして用いてよい。
メモリ装置30は、共通記憶部31と、メモリコントローラ40とを有する。共通記憶部31は、第1共通メモリ32と、第2共通メモリ34と、第3共通メモリ36とを含む。
第1共通メモリ32および第2共通メモリ34は、大容量の不揮発性メモリ(NVM)であり、個別メモリ24より待機電力が小さい。例えば、第1共通メモリ32および第2共通メモリ34は、待機電力がゼロである。
第2共通メモリ34は、第1共通メモリ32より応答速度が速い(別の言い方をするとアクセスレイテンシが小さい)。また、第2共通メモリ34は、第1共通メモリ32より記憶容量が小さくてもよい。
また、第1共通メモリ32および第2共通メモリ34は、例えば、個別メモリ24よりも応答速度が遅くてよい。第1共通メモリ32および第2共通メモリ34は、一例として、アクセスレイテンシが、10n秒から数μs程度の間のメモリである。
また、第1共通メモリ32および第2共通メモリ34は、個別メモリ24と同様のデータ単位でデータの書き込みおよび読み出しが可能である。例えば、第1共通メモリ32および第2共通メモリ34は、バイト単位等の小領域単位でデータの書き込みおよび読み出しが可能である。
第1共通メモリ32および第2共通メモリ34は、例えば、MRAM、PCM(Phase Change Memory)、PRAM(Phase Random Access Memory)、PCRAM(Phase Change Random Access Memory)、ReRAM(Resistance Change Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、3DXPointまたはMemristor等である。第1共通メモリ32および第2共通メモリ34は、いわゆるストレージクラスメモリ(SCM)と呼ばれるメモリであってもよい。なお、第1共通メモリ32および第2共通メモリ34は、待機電力が非常に低くバイト単位等の小領域単位でアクセス可能な揮発性メモリに対して、電力を継続して投入し続けて実現されてもよい。
第3共通メモリ36は、DRAM等の電源の供給を停止すると記憶しているデータが消える揮発メモリである。第3共通メモリ36は、DRAMと同様に高速アクセスが可能な、MRAM等の不揮発メモリであってもよい。
第3共通メモリ36は、第1共通メモリ32および第2共通メモリ34より応答速度が速い。また、第3共通メモリ36は、第1共通メモリ32および第2共通メモリ34より記憶容量が小さくてもよく、待機電力が大きくてもよい。
なお、共通記憶部31は、第3共通メモリ36を含まない構成であってもよい。また、共通記憶部31は、第2共通メモリ34を含まない構成であってもよい。また、メモリ装置30は、第2共通メモリ34より高速であって、バイト単位等の小領域単位でアクセス可能な不揮発メモリをさらに備える構成であってもよい。
メモリコントローラ40は、複数の情報処理装置20のそれぞれが有する処理回路22から、共通記憶部31に対するアクセス要求を受け付ける。メモリコントローラ40は、アクセス要求に応じて、第1共通メモリ32、第2共通メモリ34または第3共通メモリ36に対してデータの書き込みおよび読み出しをする。メモリコントローラ40は、読み出し要求を受けた場合には、第1共通メモリ32、第2共通メモリ34または第3共通メモリ36から読み出したデータを、アクセス要求を送信した情報処理装置20が有する処理回路22に対して返信する。
例えば、メモリコントローラ40は、第1共通メモリ32、第2共通メモリ34および第3共通メモリ36を、処理回路22の混在型の主記憶装置として機能させる。また、例えば、メモリコントローラ40は、第2共通メモリ34および第3共通メモリ36を、第1共通メモリ32のキャッシュメモリのように用いてもよい。すなわち、メモリコントローラ40は、第2共通メモリ34および第3共通メモリ36を、第1共通メモリ32に記憶されたデータを、アクセスの高速化を目的として一時的に記憶するためのメモリとして機能させることもできる。共通記憶部31は、3つの特性が異なるメモリが混在した主記憶装置であり、主記憶装置のなかに応答速度が速いところもあるし、遅いところもある。メモリコントローラ40は、アクセスの高速化等を目的として、主記憶装置の内部でデータを適切に移動させたり、主記憶装置の内部のデータの配置を工夫したりする。これにより、メモリコントローラ40は、共通記憶部31の内部の異なる特性のメモリを効率良く使用するように、データを記憶させることができる。
ここで、共通記憶部31の記憶領域は、論理的な複数の領域に分割されている。そして、メモリコントローラ40には、複数の領域のそれぞれに対するアクセス方法が設定されている。メモリコントローラ40は、情報処理装置20から何れかの領域に対するアクセス要求を受け付けた場合、その領域に対して設定されたアクセス方法により、その領域にアクセスする。
例えば、メモリコントローラ40には、アクセス方法として、個別メモリ24をキャッシュメモリとして用いた階層的なアクセスをする処理、第1共通メモリ32をアクセス対象として直接的なアクセスをする処理、第2共通メモリ34をアクセス対象として直接的なアクセスをする処理および第3共通メモリ36をアクセス対象として直接的なアクセスをする処理等が設定されている。なお、アクセス方法の具体的な例については、詳細を後述する。
メモリコントローラ40は、アクセス方法が設定された場合に、複数の領域のそれぞれについてのアクセス方法を複数の情報処理装置20へと指示する。例えば、メモリコントローラ40は、複数の領域のそれぞれについてのアクセス方法をその領域にアクセスする可能性がある情報処理装置20に対して指示する。そして、情報処理装置20は、メモリ装置30に対してアクセスをする場合、アクセス対象の領域について指示されたアクセス方法に従って、データの書き込みおよび読み出しを実行する。また、複数の情報処理装置20のそれぞれとメモリ装置30とを接続する共有メモリインタフェースは、アクセス方法を示す情報を、メモリ装置30のメモリコントローラ40から複数の情報処理装置20のそれぞれに転送する機能を有する。
図2は、情報処理システム10の外観構成の一例を示す図である。情報処理システム10は、例えば、ラック42を備えてもよい。ラック42は、複数の情報処理装置20、および、メモリ装置30を収納する。複数の情報処理装置20は、ラック42に収納された状態でメモリ装置30に接続される。なお、情報処理システム10は、図2に示すような構成に限らず、他の構成であってもよい。
図3は、第1実施形態に係るメモリコントローラ40の構成を示す図である。メモリコントローラ40は、アクセス制御部52と、解析部54と、設定部56とを有する。
アクセス制御部52は、複数の情報処理装置20のそれぞれから共通記憶部31に対するアクセス要求を受け付ける。例えば、アクセス制御部52は、複数の情報処理装置20のそれぞれから共通記憶部31に対する書き込み要求または読み出し要求を受け付ける。そして、アクセス制御部52は、複数の情報処理装置20による共通記憶部31に対するアクセス要求に応じて、共通記憶部31に対するデータの書き込みおよびデータの読み出しを制御する。
解析部54は、複数の情報処理装置20による共通記憶部31に対するアクセスを解析する。具体的には、例えば、解析部54は、アクセスの統計情報を生成し、統計情報を解析する。そして、解析部54は、解析結果に基づき、共通記憶部31に対する複数の情報処理装置20によるアクセス方法を決定する。
設定部56は、解析部54により決定されたアクセス方法をアクセス制御部52に設定する。これとともに、設定部56は、決定されたアクセス方法を複数の情報処理装置20のそれぞれに対して指示する。
また、情報処理装置20は、設定部56から指示されたアクセス方法により、共通記憶部31に対してアクセスをする。具体的には、複数の情報処理装置20のそれぞれは、指示されたアクセス方法に従ってアクセス制御部52にアクセス要求を与える。また、アクセス制御部52は、情報処理装置20から共通記憶部31に対するアクセス要求を受け付けた場合、設定部56により設定されたアクセス方法に従って共通記憶部31に対するデータの書き込みおよびデータの読み出しをする。
ここで、共通記憶部31の記憶領域は、論理的に複数の領域に分割されている。解析部54は、複数の領域のそれぞれに対する複数の情報処理装置20によるアクセスを解析して、複数の領域のそれぞれに対するアクセス方法を決定する。そして、設定部56は、複数の領域のそれぞれについて、決定されたアクセス方法をアクセス制御部52に設定する。これとともに、設定部56は、複数の領域のそれぞれについて決定されたアクセス方法を複数の情報処理装置20に対して指示する。
情報処理装置20は、アクセス対象の領域について指示されたアクセス方法に従って、共通記憶部31に対してアクセスする。具体的には、情報処理装置20は、アクセス対象の領域について指示されたアクセス方法に従って、アクセス制御部52にアクセス要求を与える。また、アクセス制御部52は、情報処理装置20からアクセス要求を受け付けた場合、アクセス対象の領域に対して設定されたアクセス方法に従って、対応する領域に対してデータの書き込みおよびデータの読み出しをする。
例えば、解析部54は、複数の領域のそれぞれに対して、アクセス方法として、共通記憶部31から個別メモリ24に転送したデータに対して書き込みおよび読み出しをする第1アクセス処理、または、共通記憶部31に記憶されたデータに対して直接書き込みおよび読み出しをする第2アクセス処理を決定する。そして、設定部56は、複数の領域のそれぞれについて、第1アクセス処理または第2アクセス処理の何れかをアクセス制御部52に設定するとともに、第1アクセス処理または第2アクセス処理の何れかを複数の情報処理装置20に指示する。
そして、複数の情報処理装置20のそれぞれは、第1アクセス処理が指示された領域に対してアクセスする場合、アクセス制御部52に共通記憶部31から個別メモリ24にデータを転送させ、個別メモリ24に転送したデータに対して書き込みおよび読み出しをする。また、複数の情報処理装置20のそれぞれは、第2アクセス処理が指示された領域に対してアクセスする場合、共通記憶部31に記憶されたデータの書き込みおよび読み出しの要求をアクセス制御部52に対して与える。なお、第1アクセス処理および第2アクセス処理の詳細については、図4を参照してさらに説明する。
また、解析部54は、アクセス方法として第1アクセス処理を決定した場合、個別メモリ24の使用容量をさらに決定してもよい。この場合、設定部56は、複数の情報処理装置20に対して、決定した使用容量をさらに指示する。そして、複数の情報処理装置20のそれぞれは、共通記憶部31から転送されたデータを、指示された使用容量の範囲内で個別メモリ24に記憶させる。なお、個別メモリ24における使用容量については、図7を参照してさらに説明する。
さらに、解析部54は、アクセス方法として第1アクセス処理を決定した場合、個別メモリ24における退避方法をさらに決定してもよい。この場合、設定部56は、複数の情報処理装置20に対して、決定した退避方法をさらに指示する。そして、複数の情報処理装置20のそれぞれは、共通記憶部31から個別メモリ24に転送したデータが、指示された使用容量を超える場合、指示された退避方法により、個別メモリ24から共通記憶部31にデータを退避させる。なお、個別メモリ24における退避方法については、図8、図9および図10を参照してさらに説明する。
また、共通記憶部31は、第1共通メモリ32と、第1共通メモリ32よりも応答速度が速い第2共通メモリ34とを含んでよい。この場合、第1共通メモリ32は、共通記憶部31における論理的に分割された複数の領域のそれぞれに対応して、物理的な複数の記憶領域を含む。解析部54は、第2アクセス処理が設定されている領域に対して、アクセス方法として高速処理または低速処理をさらに決定する。そして、設定部56は、アクセス制御部52に対して、第2アクセス処理を決定した領域について高速処理か低速処理かをさらに設定する。
アクセス制御部52は、低速処理が設定された領域に対して情報処理装置20から第2アクセス処理によるアクセス要求を受けた場合、第1共通メモリ32における対応する領域に対してデータを直接書き込みおよび読み出しをする。また、アクセス制御部52は、高速処理が設定された場合、予め、第1共通メモリ32における対応する領域のデータを、第2共通メモリ34に転送する。そして、アクセス制御部52は、高速処理が設定された領域に対して情報処理装置20から第2アクセス処理によるアクセス要求を受けた場合、第1共通メモリ32から第2共通メモリ34に予め転送されたデータに対して直接書き込みおよび読み出しをする。
第2アクセス処理によりアクセスした場合、アクセスレイテンシが大きいほど、情報処理装置20は、処理性能が低下する。従って、アクセス制御部52は、アクセスレイテンシが大きい第1共通メモリ32から、アクセスレイテンシが小さい第2共通メモリ34に予めデータを転送することにより、情報処理装置20での処理性能を向上させることができる。なお、高速処理および低速処理については、図5を参照してさらに説明する。
また、解析部54は、第2アクセス処理が設定されている領域に対して、アクセス方法として、並列に実行する処理の数を表す並列度をさらに決定してもよい。そして、設定部56は、第2アクセス処理を決定した領域にアクセス要求をする情報処理装置20に対して、決定した並列度を指示してもよい。
並列度の指示を受けた場合、情報処理装置20の処理回路22は、指示された並列度で並列処理を実行する。例えば、並列度として1が指示された場合には、処理回路22は、例えば1つのリソース(1つのスレッド)で処理を実行する。また、並列度として2が指示された場合には、処理回路22は、例えば2つのリソース(2つのスレッド)で並列処理を実行する。また、並列度として4が指示された場合には、処理回路22は、例えば4つのリソース(4つのスレッド)で並列処理を実行する。
より具体的には、例えば、処理回路22は、ハイパースレッディング(Hyper−Threading)などの1つのプロセッサを複数の仮想的にプロセッサとして機能させる仕組みを用いて、実行するスレッドの数(並列度)を変更する。また、処理回路22は、異なる複数のアプリケーションプログラムを同時に実行することでスレッドの数(並列度)を変更してもよい。また、情報処理装置20上で動作するオペレーティングシステムは、コンテキストの切り換えを行うコンテキストスイッチにおける切り換え速度を、指示された並列度に応じて変更してもよい。例えば、オペレーティングシステムは、コンテキストスイッチのスイッチング方法を切り換えることができ、指示された並列度に応じてスイッチング方法を切り換えてもよい。
解析部54は、第2アクセス処理によりデータが書き込まれる領域のアクセスレイテンシに応じて並列度を決定してよい。この場合、解析部54は、アクセスレイテンシが大きい程、並列度を高くするように、並列度を決定する。例えば、解析部54は、アクセスレイテンシが小さい(応答速度が速い)第2共通メモリ34にデータが書き込まれる領域に対する並列度を、第1並列度(例えば、並列度=2)に決定する。また、解析部54は、アクセスレイテンシが大きい(応答速度が遅い)第1共通メモリ32にデータが書き込まれる領域に対する並列度を、第1並列度よりも高い第2並列度(例えば、並列度=3)に決定する。
並列度を高くした場合、処理回路22は、メモリ装置30のアクセスレイテンシが大きいためにあるスレッドでの処理が遅延したとしても、他のスレッドでの処理は進む。従って、並列度を高くした場合、アクセスレイテンシが大きい領域に記憶されたデータを用いて処理をしても、処理回路22は、ストールせずに高速に処理を実行することができる。
また、解析部54は、複数の情報処理装置20の処理回路22のCPU利用率をストールサイクル数などの形式で取得することができた場合、取得したCPU利用率に応じて、並列度を変化させてもよい。例えば、この場合、解析部54は、CPU利用率が低い領域についての並列度を高くし、CPU利用率が高い領域についての並列度を低くする。CPU利用率が高い場合、処理回路22は、並列度を高くしても、高速に処理をすることができない。従って、このような並列度を変化させることにより、解析部54は、効率良く処理回路22を動作させることができる。
また、解析部54は、第2アクセス処理が設定されている領域に対して、低速処理または高速処理を決定するとともに、並列度を決定してもよい。例えば、解析部54は、高速処理に決定した領域(すなわち、第2共通メモリ34にデータの書き込みまたは読み出しがされる領域)を第1並列度に決定する。また、解析部54は、低速処理に決定した領域(すなわち、第1共通メモリ32にデータの書き込みおよび読み出しがされる領域)を、第1並列度より高い第2並列度に決定する。
これにより、高速処理に決定された領域については、アクセスレイテンシの小さい第2共通メモリ34に対してデータの書き込みおよび読み出しをするので、情報処理装置20は、高速に処理を実行することができる。また、低速処理に決定された領域については、情報処理装置20は、並列度のより高い並列処理を実行するので、高速に処理を実行することができる。第2アクセス処理は、アクセス制御部52が、第1共通メモリ32から第2共通メモリ34への転送処理を実行するので、消費電力が大きい。従って、少ない消費電力で高速に第2アクセス処理を実行させたい場合、解析部54は、低速処理に決定するとともに、並列度を高く設定してもよい。
また、解析部54は、高速処理に決定された場合、高速処理に決定された領域内において、アクセスされる可能性が高いサブ領域を検出してもよい。この場合、アクセス制御部52は、サブ領域のデータを第2共通メモリ34に予め転送する。つまり、アクセス制御部52は、高速処理に決定された領域内における、サブ領域以外の領域については、データを第2共通メモリ34に転送しない。そして、アクセス制御部52は、複数の情報処理装置20のそれぞれからのサブ領域に対する第2アクセス処理によるアクセス要求に応じて、第2共通メモリ34に予め転送したデータに対して直接書き込みおよび読み出しをする。また、アクセス制御部52は、複数の情報処理装置20のそれぞれからの、高速処理に決定された領域内におけるサブ領域とは異なる領域に対する第2アクセス処理によるアクセス要求に応じて、第1共通メモリ32に対して直接書き込みおよび読み出しをする。
そして、設定部56は、サブ領域にデータの書き込みおよび読み出しをする情報処理装置20(すなわち、第2共通メモリ34にデータの書き込みまたは読み出しをする情報処理装置20)に対して第1並列度を指示する。また、設定部56は、高速処理に決定された領域内におけるサブ領域以外の領域にデータの書き込みおよび読み出しをする情報処理装置20(すなわち、第1共通メモリ32にデータの書き込みまたは読み出しをする情報処理装置20)に対して、第1並列度よりも高い第2並列度を指示する。これにより、サブ領域については、アクセスレイテンシの小さい第2共通メモリ34に対してデータの書き込みおよび読み出しをするので、情報処理装置20は、高速に処理を実行することができる。また、高速処理に決定された領域のうちのサブ領域外の領域については、情報処理装置20は、並列処理を実行するので、高速に処理を実行することができる。
図4は、第1アクセス処理および第2アクセス処理を説明するための図である。
情報処理装置20の処理回路22は、アクセス方法として第1アクセス処理が指示されている第1領域に対してデータの書き込みまたは読み出しをする場合、メモリ装置30に対して、第1アクセス処理によるアクセス要求をする。
メモリ装置30のアクセス制御部52は、情報処理装置20から第1アクセス処理が設定されている第1領域に対するアクセス要求を受けた場合、対象データを含むデータブロック(例えば、ページと呼ばれる単位)を第1共通メモリ32から読み出して、アクセス要求を送信した情報処理装置20に転送する。処理回路22は、アクセス制御部52からデータブロックを受け取ると、個別メモリ24に記憶させる。これにより、個別メモリ24は、第1共通メモリ32におけるアクセス対象のデータを含むデータブロックを記憶することができる。そして、処理回路22は、個別メモリ24に転送されたデータブロックに含まれる対象データに対して、例えばバイト単位で書き込みまたは読み出しをする。
そして、以後、処理回路22は、第1領域に対してデータの書き込みまたは読み出しをする場合、個別メモリ24に対してデータの書き込みおよび読み出しをする。また、処理回路22は、個別メモリ24に記憶されていない新たな対象データの書き込みまたは読み出しをする場合、メモリ装置30に対して第1アクセス処理によるアクセス要求をして、新たな対象データを含むデータブロックを個別メモリ24に記憶させる。
また、第1アクセス処理において、処理回路22は、個別メモリ24に転送したデータの量が予め指示された使用容量に達したことにより新たなデータブロックを転送できなくなった場合、個別メモリ24に記憶された不要なデータブロックを、共通記憶部31に退避させる。また、処理回路22は、個別メモリ24に記憶させておくことが不要と判断されたデータブロックが存在する場合も、個別メモリ24に記憶された不要なデータブロックを、共通記憶部31に退避させる。
このような第1アクセス処理を実行することにより、情報処理装置20は、高速にデータにアクセスすることができる。これにより、情報処理装置20は、例えば同一のデータに対して繰り返しデータをアクセスするようなアプリケーションプログラム、つまり、局所的の高いメモリアクセスを行うアプリケーションプログラムを実行した場合、メモリにアクセスしている時間を短くして、効率良い処理を実現することができる。
また、情報処理装置20の処理回路22は、アクセス方法として第2アクセス処理が指示されている第2領域に対してデータの書き込みまたは読み出しをする場合、メモリ装置30に対して、第2アクセス処理によるアクセス要求をする。メモリ装置30のアクセス制御部52は、情報処理装置20から第2アクセス処理が設定されている第2領域に対するアクセス要求を受けた場合、共通記憶部31に記憶されている対象データに対して、バイト単位で直接書き込みおよび読み出しをする。
このような第2アクセス処理を実行することにより、情報処理装置20は、少ない処理量でデータにアクセスすることができる。これにより、情報処理装置20は、例えば異なる多数のデータに対して1回ずつアクセスをするようなアプリケーションプログラム、つまり、局所性の低いメモリアクセスをするアプリケーションプログラムを実行した場合、転送処理のオーバヘッドを無くして、効率良い処理を実現することができる。
図5は、第2アクセス処理における高速処理および低速処理を説明するための図である。
アクセス制御部52は、アクセス方法として高速処理が設定されている第3領域に対して、情報処理装置20から第2アクセス処理によるアクセス要求を受けた場合、高速処理を実行する。
具体的には、アクセス制御部52は、設定部56が第3領域を高速処理に設定した場合、予め、第1共通メモリ32における第3領域に記憶されたデータを、第2共通メモリ34に転送する。そして、アクセス制御部52は、高速処理が設定された第3領域に対して情報処理装置20から第2アクセス処理によるアクセス要求を受けた場合、第2共通メモリ34に予め転送したデータに対して、キャッシュライン単位あるいはバイト単位で直接書き込みおよび読み出しをする。
なお、アクセス制御部52は、第3領域に含まれる全てのデータを第2共通メモリ34に予め転送してもよいし、第3領域の一部のデータを第2共通メモリ34に転送してもよい。第3領域における、第2共通メモリ34に転送されていないデータに対するアクセス要求を受けた場合には、アクセス制御部52は、第1共通メモリ32に直接書き込みおよび読み出しをする。これに代えて、アクセス制御部52は、閾値以上の数のアクセス要求を受けた時点で、第1共通メモリ32に記憶されたデータを第2共通メモリ34に転送してから、第2共通メモリ34に書き込みおよび読み出しをしてもよい。
また、アクセス制御部52は、第3領域をさらに複数のサブ領域に分割し、閾値以上の数のアクセス要求を受けたサブ領域について、そのサブ領域の第1共通メモリ32に記憶されたすべてのデータを第2共通メモリ34に転送してもよい。そして、その後、アクセス制御部52は、第2共通メモリ34へのメモリアクセスが、転送したサブ領域以外に対して連続して閾値以上の数発生するなどした場合、サブ領域における第2共通メモリ34に転送されたデータを、第1共通メモリ32に書き戻してもよい。例えば、複数の層から構成されるディープラーニングにおけるニューラルネットワークの各層を表すデータが各サブ領域に対応していてもよい。
また、アクセス制御部52は、例えば、予め定められた数以上の情報処理装置20により並行して第3領域に含まれるデータが読み出される場合、または、単位時間当たりのアクセス数が多い場合、第2共通メモリ34における複数の箇所に第3領域に含まれるデータを転送してもよい。これにより、アクセス制御部52は、第2共通メモリ34におけるアクセス箇所を分散させることができる。
また、高速処理において、アクセス制御部52は、例えば、第2共通メモリ34に転送したデータ量が予め設定された容量を超えた場合、または、第2共通メモリ34に記憶させておくことが不要と判断された領域が存在する場合、第2共通メモリ34に記憶されたデータを、第1共通メモリ32に書き戻してもよい。
また、アクセス制御部52は、アクセス方法として低速処理が設定されている第4領域に対して、情報処理装置20から第2アクセス処理によるアクセス要求を受けた場合、低速処理を実行する。具体的には、アクセス制御部52は、低速処理が設定された第4領域に対して情報処理装置20から第2アクセス処理によるアクセス要求を受けた場合、第1共通メモリ32における第4領域に対して、バイト単位でデータを直接書き込みおよび読み出しをする。
第2共通メモリ34は、第1共通メモリ32よりも応答速度が速い。従って、高速処理を実行した場合、アクセス制御部52は、アクセス要求に対して高速に応答をすることができる。
また、低速処理をする場合、アクセス制御部52は、第1共通メモリ32から第2共通メモリ34への転送をしなくてよい。従って、低速処理を実行した場合、アクセス制御部52は、処理量を少なくすることができる。
図6は、第2アクセス処理における最高速処理をさらに説明するための図である。共通記憶部31は、第1共通メモリ32および第2共通メモリ34に加えて、第3共通メモリ36をさらに含んでよい。この場合、設定部56は、第2アクセス処理が設定されている領域に対して、アクセス方法として、さらに最高速処理を設定してもよい。
アクセス制御部52は、アクセス方法として最高速処理が設定されている第5領域に対して、情報処理装置20から第2アクセス処理によるアクセス要求を受けた場合、最高速処理を実行する。
具体的には、アクセス制御部52は、設定部56から第5領域が最高速処理に設定された場合、予め、第1共通メモリ32における第5領域に記憶されたデータを、第3共通メモリ36に転送する。そして、アクセス制御部52は、最高速処理が設定された第5領域に対して情報処理装置20から第2アクセス処理によるアクセス要求を受けた場合、第3共通メモリ36における予め転送したデータに対して、バイト単位で直接書き込みおよび読み出しをする。
なお、アクセス制御部52は、高速処理と同様に、第5領域の一部を第3共通メモリ36に転送してもよい。この場合、アクセス制御部52は、高速処理と同様の処理を実行する。また、最高速処理において、アクセス制御部52は、例えば、第3共通メモリ36に転送したデータ量が予め設定された容量を超えた場合、または、第3共通メモリ36に記憶させておくことが不要と判断された領域が存在する場合等において、第3共通メモリ36に記憶されたデータを、第1共通メモリ32に書き戻す。
第3共通メモリ36は、DRAMであるので、第1共通メモリ32および第2共通メモリ34よりも応答速度が速い。従って、このような最高速処理を実行することにより、アクセス制御部52は、例えば、非常に多くの複数の情報処理装置20から同時にアクセス要求を受けた場合等において、さらに高速に応答することができる。
図7は、個別メモリ24における使用容量の指示の内容を説明するための図である。第1アクセス処理に決定された第1領域に対してアクセスをする情報処理装置20は、個別メモリ24の使用容量がさらに指示される。使用容量が指示された情報処理装置20は、共通記憶部31から転送したデータを、指示された使用容量の範囲内で個別メモリ24に記憶させる。
例えば、情報処理装置20は、指示された使用容量分の記憶領域を構成するDRAMに電力を投入し、他の記憶領域を構成するDRAMへの電源投入を停止したりセルフリフレッシュ状態等にしたりする。情報処理装置20は、例えば、オペレーティングシステムとしてLinux(登録商標)を実行する場合、cgroups機能を用いることにより、このようなDRAMの動作サイズを制御することができる。
解析部54は、アクセス方法が第1アクセス処理に決定された第1領域について、省電力化をする領域(第6領域)か、省電力化をしない領域(第7領域)かを決定してもよい。例えば、解析部54は、単位時間当たりのアクセス数が予め定められた値以下の第1領域を、省電力化をする領域(第6領域)に決定し、単位時間当たりのアクセス数が予め定められた値より大きい第1領域を、省電力化をしない領域(第7領域)に決定してもよい。
この場合、設定部56は、省電力化をする領域(第6領域)に対してアクセスをする情報処理装置20に、第6領域のデータを個別メモリ24に記憶させるための使用容量として、第1値を指示する。第1値は、例えば、第6領域のサイズに対する第1割合(例えば、1/5のサイズ)であってよい。そして、第6領域に対してアクセスをする情報処理装置20は、第6領域に記憶されたデータを個別メモリ24に記憶させるために、個別メモリ24における指示された使用容量分の記憶領域を動作させ、他の記憶領域の動作を停止させる。
また、設定部56は、省電力化をしない領域(第7領域)に対してアクセスをする情報処理装置20に、第7領域のデータを個別メモリ24に記憶させるための使用容量として、第1値より大きい第2値を指示する。第2値は、例えば、第7領域のサイズに対する第2割合(例えば、1/2のサイズ)であってよい。そして、第7領域に対してアクセスをする情報処理装置20は、第7領域に記憶されたデータを個別メモリ24に記憶させるために、個別メモリ24における指示された使用容量分の記憶領域を動作させ、他の記憶領域の動作を停止させる。
このように、情報処理装置20は、個別メモリ24を適切な使用容量で動作させることができる。これにより、情報処理装置20は、個別メモリ24での無駄な電力消費を抑制することができる。
図8は、通常退避処理を説明するための図である。第1アクセス処理をする場合、情報処理装置20は、個別メモリ24に記憶されたデータ量が指示された使用容量に達した場合、個別メモリ24に記憶されている何れかのデータブロックを共通記憶部31に退避させた後(書き戻した後)、個別メモリ24に新たなデータブロックを記憶させる。
設定部56は、複数の情報処理装置20に対して、アクセス方法として第1アクセス処理を指示する場合、個別メモリ24に記憶されているデータブロックのうち、何れのデータブロックを退避させるか決定するための退避方法を指示してもよい。
設定部56は、退避方法として、例えば、通常退避処理または積極退避処理を指示してよい。例えば、設定部56は、省電力化をする領域(第6領域)に対する退避方法として、積極退避処理を指示し、省電力化をしない領域(第7領域)に対する退避方法として、通常退避処理を指示する。
通常退避処理において、情報処理装置20は、個別メモリ24にキュー領域を設定する。キュー領域の容量は、指示された使用容量である。図8の例においては、キュー領域は、4個分のページを記憶可能である。
通常退避処理において、情報処理装置20は、LRU(Least Recently Used)方式でキュー領域からデータブロックを退避させる領域である。すなわち、通常退避処理において、情報処理装置20は、共通記憶部31から転送された新たなデータブロックを、キュー領域の末尾に記憶させる。情報処理装置20は、キュー領域に空き容量が無い状態で、さらに新たなデータブロックが転送された場合、キュー領域の先頭のデータブロック(すなわち、最も過去に書き込まれたデータブロック)を共通記憶部31に退避させる(書き戻す)。図8の例においては、情報処理装置20は、先頭のデータブロックであるページ#1を共通記憶部31に退避させる。そして、情報処理装置20は、先頭のデータブロックを退避させた後、新たなデータブロックをキュー領域の先頭に記憶させる。
図9は、積極退避処理における第1処理を説明するための図である。図10は、積極退避処理における第2処理を説明するための図である。
積極退避処理において、情報処理装置20は、個別メモリ24に、初回領域と、キュー領域とを設定する。初回領域およびキュー領域の合計の容量は、指示された使用容量である。初回領域は、LRU方式でデータブロックを退避させる領域である。キュー領域は、LRU方式でデータブロックを退避させる領域である。図9および図10の例においては、初回領域は、1個分のページを記憶可能である。キュー領域は、4個分のページを記憶可能である。
積極退避処理において、情報処理装置20は、共通記憶部31から転送された新たなデータブロックを、初回領域の末尾に記憶させる。情報処理装置20は、初回領域に空き容量が無い状態で、さらに新たなデータブロックが転送された場合、初回領域の先頭のデータブロック(すなわち、最も過去に初回領域に書き込まれたデータブロック)に対して、再アクセス、すなわち、再度のデータの書き込みまたは読み出しがされたか否かを判断する。
再アクセスがされていない場合、情報処理装置20は、初回領域の先頭のデータブロックを共通記憶部31に退避させる。図9の例においては、初回領域の先頭のデータブロックであるページ#5は、再アクセスがされていない。従って、図9の例においては、情報処理装置20は、ページ#5を共通記憶部31に退避させる。そして、情報処理装置20は、初回領域の先頭のデータブロックを退避させた後、新たなデータブロックを初回領域の先頭に記憶させる。
一方、再アクセスがされていた場合、情報処理装置20は、初回領域の先頭のデータブロックを、キュー領域の末尾に記憶させる。情報処理装置20は、キュー領域に空き容量が無い状態で、初回領域の先頭のデータブロックが転送された場合、キュー領域の先頭のデータブロック(すなわち、最も過去にキュー領域に書き込まれたデータブロック)を共通記憶部31に退避させる。図10の例においては、情報処理装置20は、キュー領域の先頭のデータブロックであるページ#1を共通記憶部31に退避させる。そして、情報処理装置20は、先頭のデータブロックを退避させた後、初回領域の先頭のデータブロックを、キュー領域の先頭に記憶させる。
このような退避処理を用いることにより、情報処理装置20は、アクセス頻度の高いデータを効率良くキュー領域に残すことができる。これにより、情報処理装置20は、省電力化を図るために個別メモリ24の使用容量が小さい場合であっても、効率良くキャッシングをさせることができる。
なお、設定部56は、通常退避処理および積極退避処理に限らず、どのようなアルゴリズムを用いた退避方法を指示してもよい。例えば、機械学習を用いてデータブロックを退避させる退避方法を指示してもよい。また、設定部56は、常に同一の退避方法を指示してもよい。また、設定部56は、退避方法を指示せず、情報処理装置20に予め登録された退避方法で退避処理を実行させてもよい。
図11は、第1実施形態に係る情報処理システム10の処理の手順の一例を示す図である。例えば、情報処理システム10は、図11に示す流れで処理を実行する。
まず、S11において、複数の情報処理装置20は、アプリケーションプログラムの実行を開始する。続いて、S12において、メモリ装置30の設定部56は、アクセス制御部52に対して全ての領域のアクセス方法を第2アクセス処理に設定する。これとともに、設定部56は、複数の情報処理装置20に対して全ての領域のアクセス方法として第2アクセス処理を指示する。
続いて、S13において、メモリ装置30の解析部54は、複数の領域のそれぞれについて、複数の情報処理装置20による共通記憶部31に対するアクセスを解析する。例えば、解析部54は、アクセスの局所性、単位時間当たりのアクセス数(アクセスレート)、および、アクセスした情報処理装置20等を取得する。
続いて、S14において、メモリ装置30の解析部54は、アプリケーションプログラムの実行が開始されてから、予め定められた測定期間が経過したか否かを判断する。メモリ装置30の解析部54は、測定期間が経過していない場合(S14のNo)、処理をS14で待機する。メモリ装置30の解析部54は、測定期間が経過した場合(S14のYes)、処理をS15に進める。
S15において、メモリ装置30の解析部54は、解析結果に基づき、領域毎のアクセス方法を決定する。続いて、S16において、メモリ装置30の設定部56は、決定したアクセス方法をアクセス制御部52に設定するとともに、複数の情報処理装置20にアクセス方法を指示する。
以上の処理により、メモリ装置30の解析部54は、アプリケーションプログラムの実行が開始されてから予め定められた測定期間、共通記憶部31に記憶されたデータに対して直接書き込みおよび読み出しをさせる。これにより、解析部54は、全ての領域に対するアクセスを精度良く解析して、適切なアクセス方法を決定することができる。なお、情報処理システム10は、アクセス方法を決定してからも、一定期間毎に、S12からS16までの処理を実行してもよい。
図12は、解析結果の一例を示す図である。解析部54は、一例として、複数の領域のそれぞれについて、図12に示すような、メモリアクセス情報を解析結果として取得する。
例えば、解析部54は、複数の情報処理装置20によるアクセスの統計情報を解析して、複数の領域のそれぞれについて、局所性が所定値より高いかまたは局所性が所定値以下であるか(低い)を示すメモリアクセス情報を取得する。より具体的には、例えば、解析部54は、複数の領域のそれぞれについて、領域内における微小単位(例えばページまたはバイト等)毎のアクセス回数を計測する。解析部54は、計測した微小単位毎のアクセス回数に基づき、領域内のアクセスのばらつき(例えば分散)を算出する。そして、解析部54は、算出したばらつきが予め定められた値より小さければ局所性が所定値より高いと判断し、ばらつきが予め定められた値以上であれば局所性が所定値以下であると判断してよい。なお、解析部54は、他の方法により局所性が所定値より高いか否かを判断してもよい。
また、例えば、解析部54は、複数の情報処理装置20によるアクセスの統計情報を解析して、複数の領域のそれぞれについて、アクセスした情報処理装置20を示すメモリアクセス情報を取得してもよい。例えば、解析部54は、それぞれの領域について、アクセスした情報処理装置20の識別番号を取得してもよい。
また、例えば、解析部54は、複数の情報処理装置20によるアクセスの統計情報を解析して、複数の領域のそれぞれについて、単位時間当たりのアクセス数(アクセスレート)が予め定められた値より高いか、または、アクセスレートが予め定められた値以下であるか(低い)を示すアクセス情報を取得する。より具体的には、例えば、解析部54は、それぞれの領域について、一定時間毎のアクセス回数を検出し、一定時間毎のアクセス回数の平均値をアクセスレートとして算出してもよい。
なお、解析部54は、以上に挙げたアクセスの統計情報に限らず、複数の情報処理装置20によるアクセスについての他の統計情報を取得してもよい。さらに、解析部54は、以上に挙げた解析結果(メモリアクセス情報)に限らず、他の解析結果をこれらの統計情報から取得してもよい。
図13は、アクセス方法の決定処理の手順の一例を示す図である。複数の領域のそれぞれについて、解析部54は、例えば、図13に示す流れでアクセス方法を決定する。
まず、S21において、解析部54は、局所性が所定値より高い領域であるか否かを判断する。解析部54は、当該領域が、局所性が所定値以下の第2領域である場合(S21のNo)、処理をS22に進める。解析部54は、当該領域が、局所性が所定値より高い第1領域である場合(S21のYes)、処理をS26に進める。
S22において、解析部54は、当該領域のアクセス方法を第2アクセス処理に決定する。解析部54は、S22に続いて、処理をS23に進める。
S23において、解析部54は、アクセス方法が第2アクセス処理に決定された第2領域について、高速処理をする領域であるか否かを判断する。例えば、解析部54は、当該第2領域が予め定められた数以上の情報処理装置20からアクセスされた領域であるか否かを判断する。
解析部54は、当該領域が高速処理をする領域である場合、例えば、当該領域が予め定められた数以上の情報処理装置20からアクセスされた場合(S23のYes)、処理をS24に進める。そして、S24において、解析部54は、当該第2領域を、高速処理をする第3領域に決定する。
また、解析部54は、当該領域が高速処理をしない領域である場合、例えば、当該領域が予め定められた数以上の情報処理装置20からアクセスされなかった場合(S23のNo)、処理をS25に進める。そして、S25において、解析部54は、当該第2領域を、低速処理をする第4領域に決定する。
一方、S26において、解析部54は、当該領域のアクセス方法を第1アクセス処理に決定する。解析部54は、S26に続いて、処理をS27に進める。
S27において、解析部54は、アクセス方法が第1アクセス処理に決定された第1領域について、省電力化をする領域であるか否かを判断する。例えば、解析部54は、当該第1領域が、単位時間当たりのアクセス数が予め定められた値以下であるか否かを判断する。
解析部54は、当該領域が省電力化をする領域である場合、例えば、単位時間当たりのアクセス数が予め定められた値以下の領域である場合(S27のYes)、処理をS28に進める。そして、S28において、解析部54は、当該第1領域についての個別メモリ24の使用容量を第1値(例えば、領域の1/5のサイズ)に決定する。
また、解析部54は、当該領域が省電力化をしない領域である場合、例えば、単位時間当たりのアクセス数が予め定められた値より大きい領域である場合(S27のNo)、処理をS29に進める。そして、S29において、解析部54は、当該第1領域についての個別メモリ24の使用容量を第1値より大きい第2値(例えば、領域の1/2のサイズ)に決定する。
解析部54は、S24、S25、S28またはS29の処理を終えると、当該領域について本フローを終了する。
図14は、アクセス方法の設定テーブルの一例を示す図である。設定部56は、解析部54により決定されたアクセス方法を例えば設定テーブルに設定する。例えば、設定部56は、図14に示すように、設定テーブルに対して、領域毎にアクセス方法として第1アクセス処理または第2アクセス処理を設定する。
さらに、設定部56は、アクセス方法として第1アクセス処理を設定した場合、設定テーブルに対して、さらに個別メモリ24の使用容量を設定する。また、設定部56は、アクセス方法として第2アクセス処理を設定した場合、設定テーブルに対して、さらに低速処理か高速処理かを設定する。
また、さらに、設定部56は、設定テーブルに対して、領域毎に、アクセスをする情報処理装置20の識別番号を設定する。そして、設定部56は、複数の領域のそれぞれにアクセスをする情報処理装置20に対して、当該領域に対して設定されたアクセス方法および使用容量を指示する。
(効果)
以上のように、情報処理システム10は、メモリ装置30が複数の情報処理装置20のそれぞれに対して、共通記憶部31に対するアクセス方法を指示する。従来の一般的なメモリ制御装置は、データの書き込みまたは読み出しの要求を受けたことに応じて処理を行うパッシブ処理を実行していた。これに対して、メモリ装置30は、複数の情報処理装220に対してどのように動作するかを指示するアクティブ処理を実行する。
これにより、情報処理システム10は、複数の情報処理装置20で実行されるアプリケーションプログラムの組み合わせ等によって、複数の情報処理装置20のそれぞれに対して適切なアクセス方法でメモリ装置30に対してアクセスさせることができる。従って、情報処理システム10によれば、システム全体の消費電力を抑制したり、処理速度を速くしたり、メモリ装置30の劣化速度を遅くして信頼性を向上させたりすることができる。
また、メモリ装置30は、2以上の情報処理装置20に対して同一のデータにアクセスさせることができる。従って、情報処理システム10は、ネットワークを介さずに、2以上の情報処理装置20の間でのデータのやり取りをすることができる。これにより、情報処理システム10によれば、大規模データ処理を実行する場合にも、転送処理がボトルネックとならず、高速に処理を実行することができる。
また、情報処理システム10は、待機電力の小さいメモリ装置30を複数の情報処理装置20の主記憶装置として機能させる。これにより、情報処理システム10は、大規模データ処理を実行する場合にも、消費電力を少なくすることができる。
以上のように本実施形態に係る情報処理システム10は、複数の情報処理装置20を用いて、効率良くデータ処理を実行することができる。
(第2実施形態)
図15は、第2実施形態に係るメモリコントローラ40の構成を示す図である。第2実施形態に係るメモリコントローラ40は、予測モデル記憶部72と、予測部74とをさらに有する。
予測モデル記憶部72は、予測モデルを記憶する。予測モデルは、複数の情報処理装置20による共通記憶部31に対するアクセスのパターンから、複数の情報処理装置20がアクセスすると予測されるデータを特定するためのモデルである。予測モデルは、学習等により予め生成されている。予測モデル記憶部72は、メモリ装置30の外部に設けられていてもよい。
予測部74は、アクセス制御部52から、複数の情報処理装置20のそれぞれによる共通記憶部31に対するアクセスのパターンを取得する。例えば、予測部74は、複数の情報処理装置20のそれぞれがアクセスした共通記憶部31のデータ位置等のパターンを取得する。
予測部74は、取得したパターンおよび予測モデルに基づき、情報処理装置20がアクセスすると予測される第1データを特定する。第1データは、バイト単位のデータであってもよいし、アクセスすると予測されるデータを含むブロック単位のデータであってもよい。予測部74は、第1データを特定した場合、複数の情報処理装置20のうち、第1データにアクセスすると予測される情報処理装置20に対して、第1データを予め取得するように指示する。そして、指示を受けた情報処理装置20は、第1データを取得するためのアクセス要求をアクセス制御部52に与える。例えば、指示を受けた情報処理装置20は、第2アクセス処理により第1データを取得してもよい。
これにより、情報処理装置20は、将来アクセスすると予測される第1データを予め取得することができる。これにより、情報処理装置20は、第1データに対するデータ処理をより高速に実行することができる。
また、予測部74は、取得したパターンおよび予測モデルに基づき、複数の情報処理装置20がアクセスすると予測される第2データを特定する。そして、予測部74は、第2データを特定した場合、アクセス制御部52に対して、第2データを記憶している記憶部よりも応答速度が速い他の記憶部に予め転送させる。
例えば、アクセス制御部52は、第2データにアクセスすると予測される情報処理装置20に対して、特定した第2データを予め個別メモリ24に転送するように指示する。そして、この場合、指示を受けた情報処理装置20は、第2データを取得するために、第1アクセス処理によるアクセス要求をアクセス制御部52に与える。これにより、情報処理装置20は、将来アクセスすると予測される第2データを予め個別メモリ24に転送することができる。
また、例えば、共通記憶部31が、第1共通メモリ32と第2共通メモリ34とを含む場合、第1共通メモリ32に記憶されている第2データを、第2共通メモリ34に転送してもよい。第2共通メモリ34は、第1共通メモリ32によりも応答速度が速い。
このように、アクセス制御部52は、将来アクセスすると予測される第2データを予め高速なメモリに記憶させておくことができる。これにより、情報処理装置20は、第2データに対するデータ処理をより高速に実行することができる。
(第3実施形態)
図16は、第3実施形態に係る情報処理システム10の構成を示す図である。第3実施形態に係る情報処理装置20は、パフォーマンス収集部76をさらに有する。
パフォーマンス収集部76は、処理回路22によるプログラムの実行動作を解析して、解析結果を取得する。パフォーマンス収集部76は、一例として、処理回路22がプログラムを実行した場合に発生したキャッシュミスを検出する。また、パフォーマンス収集部76は、一例として、処理回路22がプログラムを実行した場合に発生した分岐処理を検出する。また、パフォーマンス収集部76は、一例として、処理回路22によるプロセッサの利用率を検出する。パフォーマンス収集部76は、一例として、キャッシュミス率、CPUの分岐予測ミス率およびCPUの利用率等を取得するパフォーマンスカウンタであってよい。そして、パフォーマンス収集部76は、このような解析結果を、動作統計情報としてメモリ装置30のメモリコントローラ40に与える。
複数の情報処理装置20のそれぞれとメモリ装置30とを接続する共有メモリインタフェースは、動作統計情報を、複数の情報処理装置20のそれぞれから、メモリ装置30のメモリコントローラ40に転送する機能を有する。パフォーマンス収集部76は、共有メモリインタフェースを介して、動作統計情報をメモリ装置30のメモリコントローラ40に与える。
メモリコントローラ40が有する解析部54は、複数の情報処理装置20のそれぞれが有するパフォーマンス収集部76から、解析結果である動作統計情報を取得する。そして、解析部54は、取得した解析結果にさらに基づき、共通記憶部31における領域毎のアクセス方法を決定する。
例えば、解析部54は、キャッシュミスの単位時間当たりの頻度が予め定められた値より大きい領域を、局所性が所定値以下であると判断してもよい。また、例えば、解析部54は、分岐処理の単位時間当たりの頻度が予め定められた値より大きい領域も、局所性が所定値以下であると判断してもよい。また、解析部54は、プロセッサの利用率に基づき、処理回路22が実行する処理の並列度を決定してもよい。例えば、解析部54は、プロセッサの利用率が低い場合、並列度を高くするように変更してもよい。
このように、処理回路22によるプログラムの実行動作の解析結果を利用することにより、解析部54は、複数の情報処理装置20による共通記憶部31に対するアクセスを、より精度良く解析することができる。従って、解析部54は、より適切なアクセス方法を決定することができる。
(第4実施形態)
図17は、第4実施形態に係るメモリコントローラ40の構成を示す図である。第4実施形態に係るメモリコントローラ40は、履歴記憶部78をさらに有する。履歴記憶部78は、過去に設定されたアクセス方法の履歴を、複数の情報処理装置20において実行されていたアプリケーションプログラムに対応させて記憶する。
解析部54は、複数の情報処理装置20において実行されるアプリケーションプログラムを識別する情報を取得する。解析部54は、アクセス方法を決定した場合、決定したアクセス方法を、複数の情報処理装置20において実行されていたアプリケーションプログラムに対応させて履歴記憶部78に記憶させる。
さらに、解析部54は、複数の情報処理装置20において実行されるアプリケーションプログラムに対応する履歴が履歴記憶部78に記憶されている場合、測定期間の経過前に、履歴に基づき、アクセス方法を決定する。
図18は、第4実施形態に係る情報処理システム10の処理の手順の一例を示す図である。第4実施形態に係る情報処理システム10は、図18に示す流れで処理を実行する。
まず、S11において、複数の情報処理装置20は、アプリケーションプログラムの実行を開始する。
続いて、S41において、メモリ装置30の解析部54は、複数の情報処理装置20のそれぞれから、実行しているアプリケーションプログラムを識別する情報を取得する。そして、解析部54は、過去に同一のアプリケーションプログラムを実行したか否かを判断する。過去に同一のアプリケーションプログラムを実行していない場合には(S41のNo)、解析部54は、処理をS12に進める。S12に以降の処理は、図11で示した処理と同一であるので、説明を省略する。
過去に同一のアプリケーションプログラムを実行した場合には(S41のYes)、解析部54は、処理をS42に進める。S42において、解析部54は、履歴記憶部78から、複数の情報処理装置20において実行されるアプリケーションプログラムに対応するアクセス方法の履歴を取得する。
S42に続いて、S43において、解析部54は、取得した履歴に基づき、アクセス方法を決定する。例えば、解析部54は、アクセス方法を、取得した履歴と同一の内容に決定する。そして、解析部54は、S43の処理を終えると、処理をS16に進める。S16の処理は、図11で示した処理と同一であるので、説明を省略する。
以上のように、第4実施形態に係る解析部54は、複数の情報処理装置20のそれぞれが実行しているアプリケーションプログラムが過去に実行されている場合、測定期間の経過前に、アクセス方法を決定することができる。これにより、情報処理装置20は、アプリケーションプログラムの実行を開始してから短時間で適切なアクセス方法でメモリ装置30にアクセスすることができる。
(第5実施形態)
図19は、第5実施形態に係るメモリコントローラ40の構成を示す図である。第5実施形態に係る解析部54は、判定モデル記憶部82と、学習部84と、決定部86とを含む。第5実施形態において、解析部54は、学習フェーズと、利用フェーズとが切り替えられる。
判定モデル記憶部82は、判定モデル(決定モデル)を記憶する。判定モデルは、動作情報から最適なアクセス方法を得るためのモデルである。判定モデルは、例えば、決定木などで実現されていてもよい。動作情報は、複数の情報処理装置20がアプリケーションプログラムを実行した結果得られる情報であって、例えば、プロセッサの動作に関する統計情報、実行時間(例えば、複数のアプリケーションプログラムを同時に動作させる場合は、スループット)、システム全体の消費電力、共通記憶部31に対するアクセスの統計情報、および、統計情報を解析した解析結果等を含む情報である。プロセッサの動作に関する統計情報とは、例えば、プロセッサのパフォーマンスカウンタ等で取得できる情報であり、具体的には、キャッシュミス率、CPUの分岐予測ミス率、CPUの利用率などである。
学習部84は、学習フェーズにおいて、判定モデルを訓練する。具体的には、学習フェーズにおいて、学習部84は、複数の情報処理装置20を動作させながら、設定部56を制御してアクセス制御部52に対するアクセス方法の設定および複数の情報処理装置20に対するアクセス方法の指示を変更させて、判定モデルを訓練する。より具体的には、例えば、学習部84は、設定部56にアクセス方法の指示を変更させて、複数の情報処理装置20に同一のアプリケーションプログラムを複数回実行させる。学習部84は、アプリケーションプログラムのそれぞれの実行で得られる、共通記憶部31に対するアクセスの統計情報、プロセッサの動作に関する統計情報、実行時間および/または消費電力のトレース情報等を収集する。そして、これらの収集した情報を入力として、学習部84は、例えばアプリケーションプログラムの実行時間および消費電力等が最適となるように、判定モデルを訓練する。さらに、学習フェーズにおいて、学習部84は、複数の情報処理装置20に実行させるアプリケーションプログラムを変更して、判定モデルを訓練する。また、学習フェーズにおいて、学習部84は、複数の情報処理装置20が複数のアプリケーションプログラムを同時に実行する場合には、これらの組み合わせも変更して判定モデルを訓練する。
利用フェーズにおいて、決定部86は、複数の情報処理装置20を動作させて動作情報を取得する。そして、決定部86は、取得した動作情報および訓練済みの判定モデルに基づき、アクセス方法を決定する。決定部86は、決定したアクセス方法を設定部56に与える。
以上のように第5実施形態に係る解析部54は、予め訓練をした判定モデルを用いて、アクセス方法を決定する。これにより、解析部54によれば、より適切なアクセス方法を決定することができる。
(第6実施形態)
図20は、第6実施形態に係る情報処理システム10の処理の一例を示す図である。解析部54は、複数の情報処理装置20に対して指示する使用容量に基づき、複数の情報処理装置20のうちの何れか2以上の対象の情報処理装置20において実行されているアプリケーションプログラムを、複数の情報処理装置20のうちの1つである第1情報処理装置20−1により実行させることが可能か否かを判断する。
例えば、図20の(A)に示すように、第1情報処理装置20−1および第2情報処理装置20−2に対して、個別メモリ24の使用容量が指示されている。第1情報処理装置20−1は、アプリケーションプログラムとして“A”を実行している。第2情報処理装置20−2は、アプリケーションプログラムとして“B”を実行している。また、設定部56は、第1情報処理装置20−1に対して個別メモリ24の使用容量として“a”を指示する。また、設定部56は、第2情報処理装置20−2に対して個別メモリ24の使用容量として“b”を指示する。
解析部54は、第1情報処理装置20−1が有する個別メモリ24の空き容量が、第2情報処理装置20−2に指示した使用容量より大きいか否かを比較する。第1情報処理装置20−1が有する個別メモリ24の空き容量が、第2情報処理装置20−2に指示した使用容量より大きい場合、解析部54は、第1情報処理装置20−1が、第1情報処理装置20−1および第2情報処理装置20−2の両者で実行されているアプリケーションプログラムを実行可能であると判断する。
可能と判断した場合、設定部56は、第1情報処理装置20−1に対して、2以上の対象の情報処理装置20に対して指示する使用容量の合計量を使用容量として指示する。これともに、設定部56は、第1情報処理装置20−1に、2以上の対象の情報処理装置20において実行されていたプログラムの実行の開始を指示する。さらに、設定部56は、2以上の対象の情報処理装置20のうち第1情報処理装置20−1ではない情報処理装置20に、プログラムの実行を停止して省電力状態に移行させる指示をする。そして、第1情報処理装置20−1ではない情報処理装置20は、処理回路22と個別メモリ24を電源オフあるいはローパワーモード等の省電力状態にする。これにより、情報処理システム10は、全体で必要な消費電力を第1情報処理装置20−1を動作させるための電力だけにして、システム全体で消費電力を削減することができる。
例えば、図20の(B)に示すように、設定部56は、第1情報処理装置20−1に対し指示する使用容量と第2情報処理装置20−2に対して指示する使用容量の合計である“a+b”を指示する。これとともに、設定部56は、第1情報処理装置20−1に、第1情報処理装置20−1で実行されていたアプリケーションプログラムである“A”と、第2情報処理装置20−2で実行されていたアプリケーションプログラムである“B”との実行開始を指示する。さらに、設定部56は、第2情報処理装置20−2に、アプリケーションプログラムであるBの実行停止を指示する。
このような処理をすることにより、第6実施形態に係るメモリ装置30は、一部の情報処理装置20によるアプリケーションプログラムの実行を停止させることができる。これにより、アプリケーションプログラムの実行を停止した情報処理装置20は、個別メモリ24に投入していた電源を停止したり、セルフリフレッシュ状態等にしたりすることができる。従って、第6実施形態に係るメモリ装置30は、消費電力をより小さくすることができる。
なお、解析部54は、2以上の情報処理装置20を第1情報処理装置20−1として選択することが可能な場合には、さらにハイパースレッディング等による仮想プロセッサの数が多い処理回路22を有する情報処理装置20を第1情報処理装置20−1と選択してもよい。これにより、解析部54は、アクセスレイテンシの小さいメモリに対してデータの書き込みおよび読み出しをする場合であっても、処理の並列度を高くして、高速に処理を実行させることができる。
(第7実施形態)
図21は、第7実施形態に係るメモリコントローラ40の構成を示す図である。第7実施形態に係るメモリコントローラ40は、ウェアレベリング管理部88をさらに有する。
ウェアレベリング管理部88は、共通記憶部31における、書き換え回数が予め定められた値以上となっている記憶領域を管理する。例えば、ウェアレベリング管理部88は、共通記憶部31に対する書き込み処理を監視し、記憶領域毎の書き換え回数をカウントする。
アクセス制御部52は、ウェアレベリング管理部88から記憶領域毎の書き換え回数を取得する。そして、アクセス制御部52は、書き換え回数が予め定められた値以上となっている記憶領域に対してデータの書き込みおよび読み出しをする場合には、設定されたアクセス方法に関わらず、第1アクセス処理を実行してもよい。第1アクセス処理を実行した場合、アクセス制御部52は、局所性の高い書き込みをしないので、書き換え回数が局所的に増加しない。従って、メモリ装置30は、書き換え回数が予め定められた値以上となっている記憶領域の全体に対して平均的にデータを書き込むことができ、その寿命を延ばすことができる。
また、設定部56は、領域毎にアクセス方法を判定する場合、寿命を延ばす処理をする領域か、寿命を延ばす処理をしなくてよい領域かを判断してもよい。例えば、設定部56は、領域の書き換え回数に基づき、寿命を延ばす処理をする領域か否かを判断してもよい。そして、設定部56は、寿命を延ばす処理をする領域に対するアクセス方法として、第1アクセス処理を設定する。これにより、メモリ装置30は、寿命を延ばす処理をする領域の全体に対して平均的にデータを書き込むことができ、その領域の寿命を延ばすことができる。
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
(態様例1)
1または複数の情報処理装置に接続されたメモリ装置であって、
共通記憶部と、
前記1または複数の情報処理装置による前記共通記憶部に対するアクセスを解析して、前記共通記憶部に対する前記1または複数の情報処理装置によるアクセス方法を決定する解析部と、
決定された前記アクセス方法を前記1または複数の情報処理装置に対して指示する設定部と、
を備えるメモリ装置。
(態様例2)
前記1または複数の情報処理装置による前記共通記憶部に対するアクセス要求に応じて、前記共通記憶部に対するデータの書き込みおよびデータの読み出しを制御するアクセス制御部をさらに備え、
前記設定部は、決定された前記アクセス方法を前記アクセス制御部に設定し、
前記アクセス制御部は、設定された前記アクセス方法に従って前記共通記憶部に対するデータの書き込みおよびデータの読み出しをする
態様例1に記載のメモリ装置。
(態様例3)
前記1または複数の情報処理装置のそれぞれは、個別メモリを有し、
前記解析部は、前記アクセス方法として、前記共通記憶部から前記個別メモリに転送したデータに対して書き込みおよび読み出しをする第1アクセス処理、または、前記共通記憶部に記憶されたデータに対して直接書き込みおよび読み出しをする第2アクセス処理を決定し、
前記1または複数の情報処理装置のそれぞれは、
前記第1アクセス処理が指示された場合、前記アクセス制御部に前記共通記憶部から前記個別メモリにデータを転送させ、前記個別メモリに転送したデータに対して書き込みおよび読み出しをし、
前記第2アクセス処理が指示された場合、前記共通記憶部に記憶されたデータの書き込みおよび読み出しの要求を前記アクセス制御部に対して与える
態様例2に記載のメモリ装置。
(態様例4)
前記解析部は、前記アクセス方法として前記第1アクセス処理を決定した場合、前記個別メモリにおける使用容量をさらに決定し、
前記設定部は、前記使用容量を、前記1または複数の情報処理装置に対してさらに指示し、
前記1または複数の情報処理装置のそれぞれは、前記共通記憶部から転送したデータを、指示された前記使用容量の範囲内で前記個別メモリに記憶させる
態様例3に記載のメモリ装置。
(態様例5)
前記解析部は、前記アクセス方法として前記第1アクセス処理を決定した場合、前記個別メモリからデータを前記共通記憶部に退避させるための退避方法をさらに決定し、
前記設定部は、前記退避方法を、前記1または複数の情報処理装置に対してさらに指示し、
前記1または複数の情報処理装置のそれぞれは、前記共通記憶部から転送したデータを、指示された前記退避方法で前記個別メモリから前記共通記憶部に退避させる
態様例3または4に記載のメモリ装置。
(態様例6)
前記共通記憶部は、第1共通メモリと、前記第1共通メモリよりも応答速度が速い第2共通メモリをさらに備え、
前記解析部は、前記アクセス方法として前記第2アクセス処理を決定する場合、低速処理または高速処理をさらに決定し、
前記アクセス制御部は、
前記アクセス方法として低速の前記第2アクセス処理が設定された場合、前記1または複数の情報処理装置のそれぞれからの前記第2アクセス処理によるアクセス要求に応じて、前記第1共通メモリに記憶されたデータに対して直接書き込みおよび読み出しをし、
前記アクセス方法として高速の前記第2アクセス処理が設定された場合、前記1または複数の情報処理装置のそれぞれからの前記第2アクセス処理によるアクセス要求に応じて、前記第1共通メモリから前記第2共通メモリに予め転送したデータに対して直接書き込みおよび読み出しをする
態様例3から5の何れか1項に記載のメモリ装置。
(態様例7)
前記設定部は、前記第2アクセス処理によりアクセス要求をする情報処理装置に対して、並列に実行する処理の数を表す並列度を指示し、
前記解析部は、前記高速処理に決定された場合、さらに、前記第1共通メモリにおけるアクセスされる可能性が高いサブ領域を検出し、
前記アクセス制御部は、前記第1共通メモリにおける前記サブ領域のデータを前記第2共通メモリに予め転送し、前記1または複数の情報処理装置のそれぞれからの前記サブ領域に対する前記第2アクセス処理によるアクセス要求に応じて、前記第2共通メモリに予め転送したデータに対して直接書き込みおよび読み出しをし、
前記アクセス制御部は、前記1または複数の情報処理装置のそれぞれからの前記サブ領域とは異なる領域に対する前記第2アクセス処理によるアクセス要求に応じて、前記第1共通メモリに対して直接書き込みおよび読み出しをし、
前記設定部は、前記第2共通メモリにデータの書き込みまたは読み出しをする情報処理装置に対して第1並列度を指示し、前記第1共通メモリにデータの書き込みまたは読み出しをする情報処理装置に対して前記第1並列度よりも高い第2並列度を指示する
態様例6に記載のメモリ装置。
(態様例8)
前記設定部は、前記第2アクセス処理によりアクセス要求をする情報処理装置に対して、並列に実行する処理の数を表す並列度を指示し、
前記解析部は、前記第2アクセス処理によりデータが書き込まれる領域のアクセスレイテンシに応じて前記並列度を決定する
態様例3から5の何れか1項に記載のメモリ装置。
(態様例9)
前記共通記憶部は、複数の領域に分割され、
前記解析部は、前記複数の領域のそれぞれに対する前記1または複数の情報処理装置によるアクセスを解析して、前記複数の領域のそれぞれに対する前記アクセス方法を決定し、
前記設定部は、前記複数の領域のそれぞれについて、決定された前記アクセス方法を前記アクセス制御部に設定するとともに、決定された前記アクセス方法を前記1または複数の情報処理装置に対して指示し、
前記1または複数の情報処理装置のそれぞれは、前記複数の領域のそれぞれに対して、指示された前記アクセス方法に従ってアクセスし、
前記アクセス制御部は、前記複数の領域のそれぞれに対して設定された前記アクセス方法に従って、対応する領域に対するデータの書き込みおよびデータの読み出しを制御する
態様例3に記載のメモリ装置。
(態様例10)
前記解析部は、
前記複数の領域のそれぞれについて、アクセスの局所性が所定値より高いか否かを判断し、
アクセスの局所性が所定値より高い第1領域に対する前記アクセス方法を、前記第1アクセス処理に決定し、
アクセスの局所性が所定値以下である第2領域に対する前記アクセス方法を、前記第2アクセス処理に決定する
態様例9に記載のメモリ装置。
(態様例11)
前記共通記憶部は、前記複数の領域のそれぞれを含む第1共通メモリと、前記第1共通メモリよりも応答速度が速い第2共通メモリをさらに備え、
前記解析部は、
前記アクセス方法が前記第2アクセス処理に決定された前記第2領域について、高速処理をする領域か、高速処理をしない領域かを決定し、
前記アクセス制御部は、
高速処理をする領域に対して前記第2アクセス処理によるアクセス要求を受けた場合、前記第1共通メモリから前記第2共通メモリに予め転送したデータに対して直接書き込みおよび読み出しをし、
高速処理をしない領域に対して前記第2アクセス処理によるアクセス要求を受けた場合、前記第1共通メモリに記憶されたデータに対して直接書き込みおよび読み出しをする
態様例10に記載のメモリ装置。
(態様例12)
前記解析部は、予め定められた数以上の情報処理装置からアクセスされた前記第2領域を、高速処理をする領域に決定し、前記予め定められた数未満の情報処理装置からアクセスされた前記第2領域を、高速処理をしない領域に決定する
態様例11に記載のメモリ装置。
(態様例13)
前記解析部は、前記アクセス方法が前記第1アクセス処理に決定された前記第1領域について、省電力化をする領域か、省電力化をしない領域かを決定し、
前記設定部は、
前記1または複数の情報処理装置に、省電力化をする領域に対する前記個別メモリにおける使用容量として第1値を指示し、省電力化をしない領域に対する前記使用容量として、前記第1値より大きい第2値を指示し、
前記1または複数の情報処理装置のそれぞれは、前記アクセス方法が前記第1アクセス処理に指示された前記第1領域について、前記共通記憶部から転送したデータを、指示された前記使用容量の範囲内で前記個別メモリに記憶させる
態様例10から12の何れか1項に記載のメモリ装置。
(態様例14)
前記解析部は、単位時間当たりのアクセス数が予め定められた値以下の前記第1領域を、省電力化をする領域に決定し、単位時間当たりのアクセス数が前記予め定められた値より大きい前記第1領域を、省電力化をしない領域に決定する
態様例13に記載のメモリ装置。
(態様例15)
前記解析部は、前記アクセス方法が前記第1アクセス処理に決定された前記第1領域について、前記個別メモリからデータを前記共通記憶部に退避させるための退避方法をさらに決定し、
前記設定部は、それぞれの前記第1領域について決定した前記退避方法を、前記1または複数の情報処理装置に対してさらに指示し、
前記1または複数の情報処理装置のそれぞれは、前記共通記憶部のそれぞれの前記第1領域から転送したデータを、指示された前記退避方法で前記個別メモリから前記共通記憶部に退避させる
態様例13または14に記載のメモリ装置。
(態様例16)
前記1または複数の情報処理装置による前記共通記憶部に対するアクセスのパターンを取得し、取得したアクセスのパターンに基づき、前記1または複数の情報処理装置がアクセスすると予測される第1データを特定する予測部をさらに備え、
前記予測部は、前記第1データを特定した場合、前記1または複数の情報処理装置のうち、前記第1データにアクセスすると予測される情報処理装置に対して、前記第1データを予め取得するように指示する
態様例3から15の何れか1項に記載のメモリ装置。
(態様例17)
前記1または複数の情報処理装置による前記共通記憶部に対するアクセスのパターンを取得し、取得したアクセスのパターンに基づき、前記1または複数の情報処理装置がアクセスすると予測される第2データを特定する予測部をさらに備え、
前記予測部は、前記第2データを特定した場合、前記アクセス制御部に対して、前記第2データを、前記第2データを記憶している記憶部よりも応答速度が速い他の記憶部に予め転送させる
態様例3から15の何れか1項に記載のメモリ装置。
(態様例18)
前記解析部は、
前記1または複数の情報処理装置から、プログラムの実行動作を解析した結果を取得し、
取得した前記結果にさらに基づき前記アクセス方法を決定する
態様例3から17の何れか1項に記載のメモリ装置。
(態様例19)
前記解析部は、
前記1または複数の情報処理装置においてプログラムの実行が開始された後予め定められた測定期間、前記共通記憶部に記憶されたデータに対して直接書き込みおよび読み出しをさせることにより、前記1または複数の情報処理装置による前記共通記憶部に対するアクセスを解析し、
前記測定期間を経過した後に、前記アクセス方法を決定する
態様例3から18の何れか1項に記載のメモリ装置。
(態様例20)
過去に決定された前記アクセス方法の履歴を、前記1または複数の情報処理装置において実行されていたプログラムに対応させて記憶する履歴記憶部をさらに備え、
前記解析部は、前記1または複数の情報処理装置において実行されるプログラムに対応する前記履歴が前記履歴記憶部に記憶されている場合、前記測定期間の経過前に、前記履歴に基づき、前記アクセス方法を決定する
態様例19に記載のメモリ装置。
(態様例21)
前記解析部は、
学習フェーズにおいて、前記1または複数の情報処理装置を動作させながら、前記アクセス方法を変更することにより、前記1または複数の情報処理装置がアプリケーションプログラムを実行した結果得られる動作情報から最適な前記アクセス方法を得るための判定モデルを訓練し、
利用フェーズにおいて、前記1または複数の情報処理装置を動作させて前記動作情報を取得し、取得した前記動作情報および前記判定モデルに基づき、前記アクセス方法を決定する
態様例3から18の何れか1項に記載のメモリ装置。
(態様例22)
前記解析部は、前記1または複数の情報処理装置に対して指示する前記使用容量に基づき、前記1または複数の情報処理装置のうちの何れか2以上の対象の情報処理装置において実行されているプログラムを、前記1または複数の情報処理装置のうちの1つである第1情報処理装置により実行させることが可能か否かを判断し、
可能と判断した場合、前記設定部は、
前記第1情報処理装置に対して、前記2以上の対象の情報処理装置に対して指示した前記使用容量の合計量を前記使用容量として指示するとともに、前記第1情報処理装置に前記2以上の対象の情報処理装置において実行されているプログラムの実行の開始を指示し、
前記2以上の対象の情報処理装置のうち前記第1情報処理装置ではない情報処理装置に、プログラムの実行を停止して省電力状態に移行させる指示をする
態様例4に記載のメモリ装置。
(態様例23)
前記共通記憶部における書き換え回数が予め定められた値以上となっている記憶領域を管理するウェアレベリング管理部をさらに備え、
前記アクセス制御部は、前記書き換え回数が予め定められた値以上となっている記憶領域に対してデータの書き込みおよび読み出しをする場合には、設定された前記アクセス方法に関わらず、前記第1アクセス処理を実行する
態様例3から22の何れか1項に記載のメモリ装置。
(態様例24)
1または複数の情報処理装置に接続されたメモリ装置であって、
複数の領域に分割された共通記憶部と、
前記1または複数の情報処理装置による前記複数の領域のそれぞれに対するアクセスからメモリアクセスの統計情報を生成し、生成した前記統計情報を解析して前記複数の領域毎のメモリアクセス情報を取得する解析部と、
を備えるメモリ装置。
(態様例25)
1または複数の情報処理装置と、
共通記憶部を有し、前記1または複数の情報処理装置のそれぞれとインタフェースにより接続されたメモリ装置と、
を備える情報処理システムであって、
前記インタフェースは、
前記1または複数の情報処理装置の動作統計情報を、前記1または複数の情報処理装置のそれぞれから前記メモリ装置へと転送し、
前記共通記憶部に対する前記1または複数の情報処理装置によるアクセス方法を示す情報を、前記メモリ装置から前記1または複数の情報処理装置のそれぞれに転送する
情報処理システム。
(態様例26)
1または複数の情報処理装置と、
前記1または複数の情報処理装置とネットワークを介して接続されるメモリ装置と
を備え、
前記メモリ装置は、
共通記憶部と、
前記1または複数の情報処理装置による前記共通記憶部に対するアクセスを解析して、前記共通記憶部に対する前記1または複数の情報処理装置によるアクセス方法を決定する解析部と、
決定された前記アクセス方法を前記1または複数の情報処理装置に対して指示する設定部と、
を備える
情報処理システム。
(態様例27)
1または複数の情報処理装置に接続されたメモリ装置を制御するメモリ制御方法であって、
前記メモリ装置は、
共通記憶部 を有し、
前記1または複数の情報処理装置による前記共通記憶部に対するアクセスを解析して、前記共通記憶部に対する前記1または複数の情報処理装置によるアクセス方法を決定するステップと、
決定された前記アクセス方法を前記1または複数の情報処理装置に対して指示するステップと、
を含む
メモリ制御方法。
10 情報処理システム
20 情報処理装置
20−1 第1情報処理装置
20−2 第2情報処理装置
22 処理回路
24 個別メモリ
30 メモリ装置
31 共通記憶部
32 第1共通メモリ
34 第2共通メモリ
36 第3共通メモリ
40 メモリコントローラ
42 ラック
52 アクセス制御部
54 解析部
56 設定部
72 予測モデル記憶部
74 予測部
76 パフォーマンス収集部
78 履歴記憶部
82 判定モデル記憶部
84 学習部
86 決定部
88 ウェアレベリング管理部

Claims (22)

  1. 1または複数の情報処理装置に接続されたメモリ装置であって、
    共通記憶部と、
    前記1または複数の情報処理装置による前記共通記憶部に対するアクセスを解析して、前記共通記憶部に対する前記1または複数の情報処理装置によるアクセス方法を決定する解析部と、
    決定された前記アクセス方法を前記1または複数の情報処理装置に対して指示する設定部と、
    を備えるメモリ装置。
  2. 前記1または複数の情報処理装置による前記共通記憶部に対するアクセス要求に応じて、前記共通記憶部に対するデータの書き込みおよびデータの読み出しを制御するアクセス制御部をさらに備え、
    前記設定部は、決定された前記アクセス方法を前記アクセス制御部に設定し、
    前記アクセス制御部は、設定された前記アクセス方法に従って前記共通記憶部に対するデータの書き込みおよびデータの読み出しをする
    請求項1に記載のメモリ装置。
  3. 前記1または複数の情報処理装置のそれぞれは、個別メモリを有し、
    前記解析部は、前記アクセス方法として、前記共通記憶部から前記個別メモリに転送したデータに対して書き込みおよび読み出しをする第1アクセス処理、または、前記共通記憶部に記憶されたデータに対して直接書き込みおよび読み出しをする第2アクセス処理を決定し、
    前記1または複数の情報処理装置のそれぞれは、
    前記第1アクセス処理が指示された場合、前記アクセス制御部に前記共通記憶部から前記個別メモリにデータを転送させ、前記個別メモリに転送したデータに対して書き込みおよび読み出しをし、
    前記第2アクセス処理が指示された場合、前記共通記憶部に記憶されたデータの書き込みおよび読み出しの要求を前記アクセス制御部に対して与える
    請求項2に記載のメモリ装置。
  4. 前記解析部は、前記アクセス方法として前記第1アクセス処理を決定した場合、前記個別メモリにおける使用容量をさらに決定し、
    前記設定部は、前記使用容量を、前記1または複数の情報処理装置に対してさらに指示し、
    前記1または複数の情報処理装置のそれぞれは、前記共通記憶部から転送したデータを、指示された前記使用容量の範囲内で前記個別メモリに記憶させる
    請求項3に記載のメモリ装置。
  5. 前記解析部は、前記アクセス方法として前記第1アクセス処理を決定した場合、前記個別メモリからデータを前記共通記憶部に退避させるための退避方法をさらに決定し、
    前記設定部は、前記退避方法を、前記1または複数の情報処理装置に対してさらに指示し、
    前記1または複数の情報処理装置のそれぞれは、前記共通記憶部から転送したデータを、指示された前記退避方法で前記個別メモリから前記共通記憶部に退避させる
    請求項3または4に記載のメモリ装置。
  6. 前記共通記憶部は、第1共通メモリと、前記第1共通メモリよりも応答速度が速い第2共通メモリをさらに備え、
    前記解析部は、前記アクセス方法として前記第2アクセス処理を決定する場合、低速処理または高速処理をさらに決定し、
    前記アクセス制御部は、
    前記アクセス方法として低速の前記第2アクセス処理が設定された場合、前記1または複数の情報処理装置のそれぞれからの前記第2アクセス処理によるアクセス要求に応じて、前記第1共通メモリに記憶されたデータに対して直接書き込みおよび読み出しをし、
    前記アクセス方法として高速の前記第2アクセス処理が設定された場合、前記1または複数の情報処理装置のそれぞれからの前記第2アクセス処理によるアクセス要求に応じて、前記第1共通メモリから前記第2共通メモリに予め転送したデータに対して直接書き込みおよび読み出しをする
    請求項3から5の何れか1項に記載のメモリ装置。
  7. 前記設定部は、前記第2アクセス処理によりアクセス要求をする情報処理装置に対して、並列に実行する処理の数を表す並列度を指示し、
    前記解析部は、前記高速処理に決定された場合、さらに、前記第1共通メモリにおけるアクセスされる可能性が高いサブ領域を検出し、
    前記アクセス制御部は、前記第1共通メモリにおける前記サブ領域のデータを前記第2共通メモリに予め転送し、前記1または複数の情報処理装置のそれぞれからの前記サブ領域に対する前記第2アクセス処理によるアクセス要求に応じて、前記第2共通メモリに予め転送したデータに対して直接書き込みおよび読み出しをし、
    前記アクセス制御部は、前記1または複数の情報処理装置のそれぞれからの前記サブ領域とは異なる領域に対する前記第2アクセス処理によるアクセス要求に応じて、前記第1共通メモリに対して直接書き込みおよび読み出しをし、
    前記設定部は、前記第2共通メモリにデータの書き込みまたは読み出しをする情報処理装置に対して第1並列度を指示し、前記第1共通メモリにデータの書き込みまたは読み出しをする情報処理装置に対して前記第1並列度よりも高い第2並列度を指示する
    請求項6に記載のメモリ装置。
  8. 前記設定部は、前記第2アクセス処理によりアクセス要求をする情報処理装置に対して、並列に実行する処理の数を表す並列度を指示し、
    前記解析部は、前記第2アクセス処理によりデータが書き込まれる領域のアクセスレイテンシに応じて前記並列度を決定する
    請求項3から5の何れか1項に記載のメモリ装置。
  9. 前記共通記憶部は、複数の領域に分割され、
    前記解析部は、前記複数の領域のそれぞれに対する前記1または複数の情報処理装置によるアクセスを解析して、前記複数の領域のそれぞれに対する前記アクセス方法を決定し、
    前記設定部は、前記複数の領域のそれぞれについて、決定された前記アクセス方法を前記アクセス制御部に設定するとともに、決定された前記アクセス方法を前記1または複数の情報処理装置に対して指示し、
    前記1または複数の情報処理装置のそれぞれは、前記複数の領域のそれぞれに対して、指示された前記アクセス方法に従ってアクセスし、
    前記アクセス制御部は、前記複数の領域のそれぞれに対して設定された前記アクセス方法に従って、対応する領域に対するデータの書き込みおよびデータの読み出しを制御する
    請求項3に記載のメモリ装置。
  10. 前記解析部は、
    前記複数の領域のそれぞれについて、アクセスの局所性が所定値より高いか否かを判断し、
    アクセスの局所性が所定値より高い第1領域に対する前記アクセス方法を、前記第1アクセス処理に決定し、
    アクセスの局所性が所定値以下である第2領域に対する前記アクセス方法を、前記第2アクセス処理に決定する
    請求項9に記載のメモリ装置。
  11. 前記共通記憶部は、前記複数の領域のそれぞれを含む第1共通メモリと、前記第1共通メモリよりも応答速度が速い第2共通メモリをさらに備え、
    前記解析部は、
    前記アクセス方法が前記第2アクセス処理に決定された前記第2領域について、高速処理をする領域か、高速処理をしない領域かを決定し、
    前記アクセス制御部は、
    高速処理をする領域に対して前記第2アクセス処理によるアクセス要求を受けた場合、前記第1共通メモリから前記第2共通メモリに予め転送したデータに対して直接書き込みおよび読み出しをし、
    高速処理をしない領域に対して前記第2アクセス処理によるアクセス要求を受けた場合、前記第1共通メモリに記憶されたデータに対して直接書き込みおよび読み出しをする
    請求項10に記載のメモリ装置。
  12. 前記解析部は、前記アクセス方法が前記第1アクセス処理に決定された前記第1領域について、省電力化をする領域か、省電力化をしない領域かを決定し、
    前記設定部は、
    前記1または複数の情報処理装置に、省電力化をする領域に対する前記個別メモリにおける使用容量として第1値を指示し、省電力化をしない領域に対する前記使用容量として、前記第1値より大きい第2値を指示し、
    前記1または複数の情報処理装置のそれぞれは、前記アクセス方法が前記第1アクセス処理に指示された前記第1領域について、前記共通記憶部から転送したデータを、指示された前記使用容量の範囲内で前記個別メモリに記憶させる
    請求項10または11に記載のメモリ装置。
  13. 前記解析部は、単位時間当たりのアクセス数が予め定められた値以下の前記第1領域を、省電力化をする領域に決定し、単位時間当たりのアクセス数が前記予め定められた値より大きい前記第1領域を、省電力化をしない領域に決定する
    請求項12に記載のメモリ装置。
  14. 前記解析部は、前記アクセス方法が前記第1アクセス処理に決定された前記第1領域について、前記個別メモリからデータを前記共通記憶部に退避させるための退避方法をさらに決定し、
    前記設定部は、それぞれの前記第1領域について決定した前記退避方法を、前記1または複数の情報処理装置に対してさらに指示し、
    前記1または複数の情報処理装置のそれぞれは、前記共通記憶部のそれぞれの前記第1領域から転送したデータを、指示された前記退避方法で前記個別メモリから前記共通記憶部に退避させる
    請求項12または13に記載のメモリ装置。
  15. 前記1または複数の情報処理装置による前記共通記憶部に対するアクセスのパターンを取得し、取得したアクセスのパターンに基づき、前記1または複数の情報処理装置がアクセスすると予測される第1データを特定する予測部をさらに備え、
    前記予測部は、前記第1データを特定した場合、前記1または複数の情報処理装置のうち、前記第1データにアクセスすると予測される情報処理装置に対して、前記第1データを予め取得するように指示する
    請求項3から14の何れか1項に記載のメモリ装置。
  16. 前記解析部は、
    前記1または複数の情報処理装置から、プログラムの実行動作を解析した結果を取得し、
    取得した前記結果にさらに基づき前記アクセス方法を決定する
    請求項3から15の何れか1項に記載のメモリ装置。
  17. 前記解析部は、
    前記1または複数の情報処理装置においてプログラムの実行が開始された後予め定められた測定期間、前記共通記憶部に記憶されたデータに対して直接書き込みおよび読み出しをさせることにより、前記1または複数の情報処理装置による前記共通記憶部に対するアクセスを解析し、
    前記測定期間を経過した後に、前記アクセス方法を決定する
    請求項3から16の何れか1項に記載のメモリ装置。
  18. 前記解析部は、
    学習フェーズにおいて、前記1または複数の情報処理装置を動作させながら、前記アクセス方法を変更することにより、前記1または複数の情報処理装置がアプリケーションプログラムを実行した結果得られる動作情報から最適な前記アクセス方法を得るための判定モデルを訓練し、
    利用フェーズにおいて、前記1または複数の情報処理装置を動作させて前記動作情報を取得し、取得した前記動作情報および前記判定モデルに基づき、前記アクセス方法を決定する
    請求項3から16の何れか1項に記載のメモリ装置。
  19. 前記解析部は、前記1または複数の情報処理装置に対して指示する前記使用容量に基づき、前記1または複数の情報処理装置のうちの何れか2以上の対象の情報処理装置において実行されているプログラムを、前記1または複数の情報処理装置のうちの1つである第1情報処理装置により実行させることが可能か否かを判断し、
    可能と判断した場合、前記設定部は、
    前記第1情報処理装置に対して、前記2以上の対象の情報処理装置に対して指示した前記使用容量の合計量を前記使用容量として指示するとともに、前記第1情報処理装置に前記2以上の対象の情報処理装置において実行されているプログラムの実行の開始を指示し、
    前記2以上の対象の情報処理装置のうち前記第1情報処理装置ではない情報処理装置に、プログラムの実行を停止して省電力状態に移行させる指示をする
    請求項4に記載のメモリ装置。
  20. 前記共通記憶部における書き換え回数が予め定められた値以上となっている記憶領域を管理するウェアレベリング管理部をさらに備え、
    前記アクセス制御部は、前記書き換え回数が予め定められた値以上となっている記憶領域に対してデータの書き込みおよび読み出しをする場合には、設定された前記アクセス方法に関わらず、前記第1アクセス処理を実行する
    請求項3から19の何れか1項に記載のメモリ装置。
  21. 1または複数の情報処理装置に接続されたメモリ装置であって、
    複数の領域に分割された共通記憶部と、
    前記1または複数の情報処理装置による前記複数の領域のそれぞれに対するアクセスからメモリアクセスの統計情報を生成し、生成した前記統計情報を解析して前記複数の領域毎のメモリアクセス情報を取得する解析部と、
    を備えるメモリ装置。
  22. 1または複数の情報処理装置と、
    共通記憶部を有し、前記1または複数の情報処理装置のそれぞれとインタフェースにより接続されたメモリ装置と、
    を備える情報処理システムであって、
    前記インタフェースは、
    前記1または複数の情報処理装置の動作統計情報を、前記1または複数の情報処理装置のそれぞれから前記メモリ装置へと転送し、
    前記共通記憶部に対する前記1または複数の情報処理装置によるアクセス方法を示す情報を、前記メモリ装置から前記1または複数の情報処理装置のそれぞれに転送する
    情報処理システム。
JP2017054762A 2017-03-21 2017-03-21 メモリ装置および情報処理システム Pending JP2018156573A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017054762A JP2018156573A (ja) 2017-03-21 2017-03-21 メモリ装置および情報処理システム
TW106128245A TWI704461B (zh) 2017-03-21 2017-08-21 記憶體裝置及資訊處理系統
US15/695,563 US10438665B2 (en) 2017-03-21 2017-09-05 Memory device and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017054762A JP2018156573A (ja) 2017-03-21 2017-03-21 メモリ装置および情報処理システム

Publications (1)

Publication Number Publication Date
JP2018156573A true JP2018156573A (ja) 2018-10-04

Family

ID=63582846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017054762A Pending JP2018156573A (ja) 2017-03-21 2017-03-21 メモリ装置および情報処理システム

Country Status (3)

Country Link
US (1) US10438665B2 (ja)
JP (1) JP2018156573A (ja)
TW (1) TWI704461B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020077075A (ja) * 2018-11-06 2020-05-21 株式会社東芝 情報処理装置、情報処理方法、およびプログラム
JP2020189601A (ja) * 2019-05-23 2020-11-26 トヨタ自動車株式会社 ハイブリッド車

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018173121A1 (ja) * 2017-03-21 2018-09-27 株式会社Preferred Networks サーバ装置、学習済モデル提供プログラム、学習済モデル提供方法及び学習済モデル提供システム
JP2021047736A (ja) * 2019-09-19 2021-03-25 キオクシア株式会社 学習装置及び学習方法
JP2022045615A (ja) * 2020-09-09 2022-03-22 キオクシア株式会社 演算装置及び演算方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571195B2 (en) * 2004-05-28 2009-08-04 Ebay Inc. Publication of informational messages to software applications in a computing environment
WO2008131058A2 (en) * 2007-04-17 2008-10-30 Rambus Inc. Hybrid volatile and non-volatile memory device
WO2011122996A1 (en) * 2010-03-30 2011-10-06 Volvo Technology Corporation Rotor of an electric machine with embedded permanent magnets and electric machine
EP2761472B1 (en) * 2011-09-30 2020-04-01 Intel Corporation Memory channel that supports near memory and far memory access
CN103946811B (zh) * 2011-09-30 2017-08-11 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
US9378572B2 (en) * 2012-08-17 2016-06-28 Intel Corporation Shared virtual memory
TWI590053B (zh) * 2015-07-02 2017-07-01 威盛電子股份有限公司 選擇性預取實體接續快取線至包含被載入分頁表之快取線

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020077075A (ja) * 2018-11-06 2020-05-21 株式会社東芝 情報処理装置、情報処理方法、およびプログラム
JP7013360B2 (ja) 2018-11-06 2022-01-31 株式会社東芝 情報処理装置、情報処理方法、およびプログラム
JP2020189601A (ja) * 2019-05-23 2020-11-26 トヨタ自動車株式会社 ハイブリッド車
JP7196765B2 (ja) 2019-05-23 2022-12-27 トヨタ自動車株式会社 ハイブリッド車

Also Published As

Publication number Publication date
TW201835779A (zh) 2018-10-01
US20180277224A1 (en) 2018-09-27
TWI704461B (zh) 2020-09-11
US10438665B2 (en) 2019-10-08

Similar Documents

Publication Publication Date Title
US11636038B2 (en) Method and apparatus for controlling cache line storage in cache memory
US10438665B2 (en) Memory device and information processing system
Jevdjic et al. Unison cache: A scalable and effective die-stacked DRAM cache
US11531617B2 (en) Allocating and accessing memory pages with near and far memory blocks from heterogenous memories
Meswani et al. Heterogeneous memory architectures: A HW/SW approach for mixing die-stacked and off-package memories
US10353454B2 (en) Information processing apparatus and computer program product for changing swap spaces based on a performance threshold
US11561845B2 (en) Memory access communications through message passing interface implemented in memory systems
Kokolis et al. Pageseer: Using page walks to trigger page swaps in hybrid memory systems
US20130036270A1 (en) Data processing apparatus and method for powering down a cache
KR20150128957A (ko) 메모리를 적응적으로 제어하는 장치 및 방법
US10719247B2 (en) Information processing device, information processing method, estimation device, estimation method, and computer program product
CN102346682A (zh) 信息处理装置及信息处理方法
US9767041B2 (en) Managing sectored cache
US20120102270A1 (en) Methods and Apparatuses for Idle-Prioritized Memory Ranks
Mittal Using cache-coloring to mitigate inter-set write variation in non-volatile caches
JP6877381B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP6873942B2 (ja) 推定装置、推定方法およびプログラム
Gupta et al. DR-SNUCA: An energy-scalable dynamically partitioned cache
US11354127B2 (en) Method of managing multi-tier memory displacement using software controlled thresholds
US20230094030A1 (en) Cache resizing based on processor workload
US20220229552A1 (en) Computer system including main memory device having heterogeneous memories, and data management method thereof
EP4160423A1 (en) Memory device, memory device operating method, and electronic device including memory device
TW202409846A (zh) 記憶體請求串流之適應性快取
Xie et al. Coarse-granularity 3D Processor Design
Mazumdar et al. Inter-socket victim cacheing for platform power reduction

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20170605

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20180905