TWI704461B - Memory device and information processing system - Google Patents

Memory device and information processing system Download PDF

Info

Publication number
TWI704461B
TWI704461B TW106128245A TW106128245A TWI704461B TW I704461 B TWI704461 B TW I704461B TW 106128245 A TW106128245 A TW 106128245A TW 106128245 A TW106128245 A TW 106128245A TW I704461 B TWI704461 B TW I704461B
Authority
TW
Taiwan
Prior art keywords
access
aforementioned
information processing
memory
common memory
Prior art date
Application number
TW106128245A
Other languages
Chinese (zh)
Other versions
TW201835779A (en
Inventor
城田祐介
金井達徳
白井智
Original Assignee
日商東芝記憶體股份有限公司
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 日商東芝記憶體股份有限公司 filed Critical 日商東芝記憶體股份有限公司
Publication of TW201835779A publication Critical patent/TW201835779A/en
Application granted granted Critical
Publication of TWI704461B publication Critical patent/TWI704461B/en

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
    • 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
    • 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
    • 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

Abstract

According to one embodiment, a memory device is connected to one or more information processing devices. The memory device includes a shared memory and a memory controller. The memory controller is configured to analyze an access to the shared memory by the one or more information processing devices and decide on an access method for accessing the shared memory by the one or more information processing devices. The memory controller is configured to give an instruction indicating the decided access method to the one or more information processing devices.

Description

記憶體裝置及資訊處理系統Memory device and information processing system

[0001] 本發明的實施形態係有關於記憶體裝置及資訊處理系統。[0001] The embodiment of the present invention relates to a memory device and an information processing system.

[0002] 近年,電腦系統係執行:線上即時處理、大數據處理及深度學習處理等的大規模資料處理。執行這樣的處理時,電腦系統必須使用有巨大容量的主記憶裝置。但是,從前,伺服器等資訊處理裝置作為主記憶裝置,具備待機電力大的DRAM (Dynamic-Random Access Memory)。因此,在從前的電腦系統中,當執行大規模的資料處理時,消耗電力會變大。   [0003] 又,近年,已知有將複數伺服器藉由以太網絡或無限頻寬等網路來連接進行分散處理的電腦系統。這樣的電腦系統,相較於伺服器以單體執行處理,能夠更高速地執行處理。但是,這樣的電腦系統,伺服器的資料轉送會大量發生。因此,在進行分散處理的電腦系統中,當執行大規模的資料處理時,處理速度會降低。 [先前技術文獻] [非專利文獻]   [0004]   [非專利文獻1] 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。[0002] In recent years, computer systems have implemented large-scale data processing such as online real-time processing, big data processing, and deep learning processing. When performing such processing, the computer system must use a main memory device with a huge capacity. However, in the past, information processing devices such as servers were used as main memory devices and equipped with DRAM (Dynamic-Random Access Memory) with high standby power. Therefore, in the conventional computer system, when large-scale data processing is performed, the power consumption becomes larger.  [0003] Also, in recent years, there have been known computer systems that connect multiple servers through a network such as an Ethernet or unlimited bandwidth to perform distributed processing. Such a computer system can execute processing at a higher speed than when a server executes processing alone. However, in such a computer system, server data transfer will occur in large numbers. Therefore, in a computer system that performs distributed processing, the processing speed will be reduced when large-scale data processing is performed. [Prior Art Document] [Non-Patent Document]   [0004]   [Non-Patent Document 1] RF Freitas and WW Wilcke, "Storage-class Memory: The Next Storage System Technology", IBM Journal of Research and Development Vol.52 No.4 , pp.439-447, 2008.

[發明所欲解決的問題]   [0005] 本發明所欲解決的問題為,有效率地處理使用1或複數資訊處理裝置的系統。 [解決問題的手段]   [0006] 實施形態的記憶體裝置,連接至1或複數資訊處理裝置。前述記憶體裝置具備:共通記憶部、解析部、設定部。前述解析部,解析前述1或複數資訊處理裝置對前述共通記憶部的存取,決定前述1或複數資訊處理裝置對前述共通記憶部的存取方法。前述設定部,對前述1或複數資訊處理裝置指示所決定的前述存取方法。[Problem to be solved by the invention]   [0005] The problem to be solved by the present invention is to efficiently process a system using one or more information processing devices. [Means to Solve the Problem]   [0006] The memory device of the embodiment is connected to one or more information processing devices. The aforementioned memory device includes a common memory unit, an analysis unit, and a setting unit. The analysis unit analyzes the access of the one or the plural information processing device to the common memory unit, and determines the access method of the one or the plural information processing device to the common memory unit. The setting unit instructs the determined access method to the 1 or plural information processing device.

[0008] 以下,參照圖式詳細說明有關實施形態的資訊處理系統10。此外,以下,雖說明複數實施形態,在具有大致相同的機能及構成的區塊附加相同符號,並省略第2實施形態以後重複內容的說明。   [0009] (第1實施形態)   圖1為表示第1實施形態的資訊處理系統10的構成的圖。資訊處理系統10具備:複數資訊處理裝置20、記憶體裝置30。   [0010] 各個複數資訊處理裝置20為獨立執行資訊處理的電腦。各個複數資訊處理裝置20,例如,執行個別的操作系統。各個複數資訊處理裝置20,例如,收納於不同的框體、或設於不同的基板。   [0011] 此外,在實施形態中,示出具備複數資訊處理裝置20的資訊處理系統10。不過,資訊處理系統10為具備1個資訊處理裝置20的構成也可以。   [0012] 記憶體裝置30分別連接至各個複數資訊處理裝置20。記憶體裝置30作為各個複數資訊處理裝置20的共通主記憶裝置來作用。記憶體裝置30從各個複數資訊處理裝置20受理用來進行資料的寫入及資料的讀出的存取要求。記憶體裝置30因應受理到的存取要求,將資料記憶於內部、或將記憶於內部的資料讀出並輸出至資訊處理裝置20。記憶體裝置30,例如,分別收納於與複數資訊處理裝置20不同的框體、或設於不同的基板。   [0013] 資訊處理裝置20具有:處理電路22、個別記憶體24。   [0014] 處理電路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)等的加速器。   [0015] 處理電路22因應程式的執行,從個別記憶體24或記憶體裝置30將資料讀出,或將資料寫入至個別記憶體24或記憶體裝置30。例如、處理電路22具有:L1資料快取、L1命令快取、L2快取、及L3快取等階層性的快取(Cache)。處理電路22利用這種快取,將資料暫時地記憶。處理電路22,例如,在階層性的快取中的最下層的快取(最後一級快取)發生快取未命中(Cache miss)時,以快取線單位(Cache line unit)對個別記憶體24或記憶體裝置30進行存取並讀出或寫入必要的資料。   [0016] 個別記憶體24係作為處理電路22所進行的作業區域所使用的記憶裝置。個別記憶體24為當停止DRAM (Dynamic Random Access Memory)等電源的供應後,所記憶的資料會消失的揮發記憶體。個別記憶體24可以是與DRAM一樣能進行高速存取的MRAM (Magnetoresistive Random Access Memory)等非揮發記憶體。或者,個別記憶體24也可以混合搭載揮發記憶體與非揮發記憶體。個別記憶體24例如作為DIMM連接的記憶體模組來實裝。   [0017] 處理電路22藉由執行用以進行儲存命令或載入命令等的記憶體存取的命令,能夠在個別記憶體24及記憶體裝置30進行存取。又,處理電路22能夠分別對個別記憶體24及記憶體裝置30,以快取線單位或位元組單位等的小區域單位進行存取。處理電路22與個別記憶體24通過記憶體匯流排來連接。又,處理電路22與記憶體裝置30通過共有記憶體介面來連接。   [0018] 例如,處理電路22將記憶體裝置30及個別記憶體24作為主記憶裝置來使用。又,處理電路22也可以將個別記憶體24作為記憶體裝置30的快取記憶體來使用。也就是說,處理電路22可以將個別記憶體24作為將記憶於記憶體裝置30的資料暫時記憶的記憶體來使用。   [0019] 記憶體裝置30具有:共通記憶部31、記憶體控制器40。共通記憶部31包含:第1共通記憶體32、第2共通記憶體34、第3共通記憶體36。   [0020] 第1共通記憶體32及第2共通記憶體34為大容量的非揮發性記憶體(NVM),待機電力比個別記憶體24還小。例如,第1共通記憶體32及第2共通記憶體34其待機電力為0。   [0021] 第2共通記憶體34的應答速度比第1共通記憶體32還快(換言之,存取延遲小)。又,第2共通記憶體34的記憶容量比第1共通記憶體32還小也可以。   [0022] 又,第1共通記憶體32及第2共通記憶體34,例如,應答速度比個別記憶體24還慢也可以。第1共通記憶體32及第2共通記憶體34作為一例,是存取延遲為從10n秒至數μs程度之間的記憶體。   [0023] 又,第1共通記憶體32及第2共通記憶體34,能以與個別記憶體24一樣的資料單位進行資料的寫入及讀出。例如,第1共通記憶體32及第2共通記憶體34,能以位元組單位等小區域單位來進行資料的寫入及讀出。   [0024] 第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,對於能以非常低的待機電力且位元組單位等的小區域單位進行存取的揮發性記憶體,持續投入電力而繼續實現也可以。   [0025] 第3共通記憶體36為停止DRAM等的電源供應後,所記憶的資料會消失的揮發記憶體。第3共通記憶體36可以是與DRAM同樣能進行高速存取的MRAM等非揮發記憶體。   [0026] 第3共通記憶體36,其應答速度比第1共通記憶體32及第2共通記憶體34還快。又,第3共通記憶體36,其記憶容量比第1共通記憶體32及第2共通記憶體34還小,而待機電力較大也可以。   [0027] 此外,共通記憶部31為不含有第3共通記憶體36的構成也可以。此外,共通記憶部31為不含有第2共通記憶體34的構成也可以。又,記憶體裝置30更可以是具備:比第2共通記憶體34還高速,並能以位元組單位等的小區域單位進行存取可能的非揮發記憶體的構成。   [0028] 記憶體控制器40從各個複數資訊處理裝置20所具有的處理電路22,受理對共通記憶部31的存取要求。記憶體控制器40因應存取要求,對第1共通記憶體32、第2共通記憶體34或第3共通記憶體36進行資料的寫入及讀出。記憶體控制器40接收到讀出要求時,將從第1共通記憶體32、第2共通記憶體34或第3共通記憶體36讀出的資料,對發送存取要求的資訊處理裝置20所具有的處理電路22回信。   [0029] 例如,記憶體控制器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內部的不同特性的記憶體有效率地使用。   [0030] 其中,共通記憶部31的記憶區域被分割成邏輯上的複數區域。接著,在記憶體控制器40設定對各個複數區域的存取方法。記憶體控制器40在從資訊處理裝置20受理到對任一區域的存取要求時,藉由對該區域所設定的存取方法,在該區域進行存取。   [0031] 例如,在記憶體控制器40,作為存取方法,設定:將個別記憶體24作為快取記憶體而使用的進行階層性的存取之處理、將第1共通記憶體32作為存取對象而進行直接存取之處理、將第2共通記憶體34作為存取對象而進行直接存取之處理、及將第3共通記憶體36作為存取對象而進行直接存取之處理等。此外,關於存取方法的具體例的詳細將於後述。   [0032] 記憶體控制器40在設定存取方法時,向複數資訊處理裝置20指示針對各個複數區域的的存取方法。例如,記憶體控制器40,將針對各個複數區域的存取方法,對向該區域有存取可能性的資訊處理裝置20作指示。接著,資訊處理裝置20在對記憶體裝置30進行存取時,依照針對存取對象區域被指示的存取方法,執行資料的寫入及讀出。又,連接各個複數資訊處理裝置20與記憶體裝置30的共有記憶體介面,具有:將表示存取方法的資訊,從記憶體裝置30的記憶體控制器40轉送至各個複數資訊處理裝置20的機能。   [0033] 圖2為表示資訊處理系統10的外觀構成的一例的圖。資訊處理系統10,例如,可以具備載架42。載架42收納有:複數資訊處理裝置20、及記憶體裝置30。複數資訊處理裝置20以收納於載架42的狀態連接至記憶體裝置30。此外,資訊處理系統10為不限於圖2所示的構成,是其他的構成也可以。   [0034] 圖3為表示第1實施形態的記憶體控制器40的構成的圖。記憶體控制器40具有:存取控制部52、解析部54、設定部56。   [0035] 存取控制部52從各個複數資訊處理裝置20受理對共通記憶部31的存取要求。例如,存取控制部52從複數資訊處理裝置20受理對共通記憶部31的寫入要求或讀出要求。接著,存取控制部52,因應複數資訊處理裝置20對共通記憶部31的存取要求,控制對共通記憶部31的資料的寫入及資料的讀出。   [0036] 解析部54解析複數資訊處理裝置20對共通記憶部31的存取。具體來說,例如,解析部54生成存取的統計資訊而解析統計資訊。接著,解析部54基於解析結果,決定複數資訊處理裝置20對共通記憶部31的存取方法。   [0037] 設定部56,將由解析部54所決定的存取方法設定至存取控制部52。並且,設定部56,對複數資訊處理裝置20分別指示所決定的存取方法。   [0038] 又,資訊處理裝置20,藉由從設定部56指示的存取方法,對共通記憶部31進行存取。具體來說,各個複數資訊處理裝置20依照所指示的存取方法對存取控制部52賦予存取要求。接著,存取控制部52,受理到來自資訊處理裝置20的對共通記憶部31的存取要求時,依照設定部56所設定的存取方法,進行對共通記憶部31的資料的寫入及資料的讀出。   [0039] 其中,共通記憶部31的記憶區域被分割成邏輯上的複數區域。解析部54,解析複數資訊處理裝置20對各個複數區域的存取,決定對各個複數區域的存取方法。接著,設定部56,針對各個複數區域,將所決定的存取方法設定至存取控制部52。並且,設定部56,對複數資訊處理裝置20指示針對各個複數區域所決定的存取方法。   [0040] 資訊處理裝置20,依照針對存取對象的區域所指示的存取方法,對共通記憶部31進行存取。具體來說,資訊處理裝置20依照針對複數對象區域所指示的存取方法,對存取控制部52賦予存取要求。又,存取控制部52,受理到來自資訊處理裝置20的存取要求時,依照對存取對象所設定的存取方法,對對應的區域進行資料的寫入及資料的讀出。   [0041] 例如,解析部54,對各個複數區域,作為存取方法,係決定:對從共通記憶部31轉送至個別記憶體24的資料進行寫入及讀出的第1存取處理、或對記憶於共通記憶部31進行直接寫入及讀出的第2存取處理。接著,設定部56,針對各個複數區域,將第1存取處理或第2存取處理的任一者設定至存取控制部52,並且對複數資訊處理裝置20指示第1存取處理或第2存取處理的任一者。   [0042] 接著,各個複數資訊處理裝置20,在對指示第1存取處理的區域進行存取時,使存取控制部52從共通記憶部31轉送資料至個別記憶體24,對轉送至個別記憶體24的資料進行寫入及讀出。又,各個複數資訊處理裝置20,在對指示第2存取處理的區域進行存取時,對存取控制部52賦予記憶於共通記憶部31的資料的寫入及讀出的要求。此外,關於第1存取處理及第2存取處理的詳細再參照圖4來說明。   [0043] 又,解析部54,作為存取方法而決定第1存取處理時,也可以再決定個別記憶體24中的使用容量。此時,設定部56更對複數資訊處理裝置20,指示所決定的使用容量。接著,各個複數資訊處理裝置20,使從共通記憶部31轉送的資料,以在被指示的使用容量的範圍內記憶於個別記憶體24。此外,關於個別記憶體24中的使用容量,參照圖7再說明。   [0044] 再來,解析部54,作為存取方法而決定第1存取處理時,也可以再決定個別記憶體24中的退避方法。此時,設定部56對複數資訊處理裝置20,又指示所決定的退避方法。接著,各個複數資訊處理裝置20,當從共通記憶部31轉送至個別記憶體24的資料超過所指示的使用容量時,以所指示的退避方法,從個別記憶體24使資料退避至共通記憶部31。此外,關於個別記憶體24中的退避方法,參照圖8、圖9及圖10再說明。   [0045] 又,共通記憶部31可以包含:第1共通記憶體32、應答速度比第1共通記憶體32還快的第2共通記憶體34。此時,第1共通記憶體32,對應共通記憶部31中被邏輯上被分割的各個複數區域,包含物理上的複數記憶區域。解析部54,對設定第2存取處理的區域,作為存取方法再決定高速處理或低速處理。接著,設定部56,對存取控制部52,針對決定第2存取處理的區域再設定高速處理或低速處理。   [0046] 存取控制部52,對設定低速處理的區域從資訊處理裝置20接收到第2存取處理所致的存取要求時,對第1共通記憶體32中所對應的區域將資料直接寫入及讀出。又,存取控制部52,在設定高速處理時,預先,將第1共通記憶體32所對應的區域的資料轉送至第2共通記憶體34。接著,存取控制部52,對設定高速處理的區域從資訊處理裝置20接收到第2存取處理所致的存取要求時,對從第1共通記憶體32預先轉送至第2共通記憶體34的資料進行直接寫入及讀出。   [0047] 藉由第2存取處理進行存取時,若存取延遲越大,資訊處理裝置20的處理性能會降低。接著,存取控制部52,從存取延遲大的第1共通記憶體32預先將資料轉送至存取延遲小的第2共通記憶體34,能夠使資訊處理裝置20的處理性能提升。此外,有關高速處理及低速處理再參照圖5來說明。   [0048] 解析部54,對設定第2存取處理的區域,作為存取方法,再決定表示並列執行的處理之數的並列度也可以。接著,設定部56,對在決定第2存取處理的區域進行存取要求的資訊處理裝置20,指示所決定的並列度也可以。   [0049] 接收到並列度的指示時,資訊處理裝置20的處理電路22,以所指示的並列度執行並列處理。例如,作為並列度而指示1時,處理電路22,例如以1個資源(1個執行緒)來執行處理。例如,作為並列度而指示2時,處理電路22,例如以2個資源(2個執行緒)來執行並列處理。例如,作為並列度而指示4時,處理電路22,例如以4個資源(4個執行緒)來執行並列處理。   [0050] 更具體來說,例如,處理電路22,使用超執行緒(Hyper-Threading)等將1個處理器作為複數假想處理器作用的機制,來變更執行的執行緒之數(並列度)。又,處理電路22藉由同時執行不同的複數應用程式來變更執行緒之數(並列度)也可以。又,在資訊處理裝置20上動作的操作系統,使得進行上下文切換的上下文開關中的切換速度,因應被指示的並列度而作變更也可以。例如,操作系統可以切換上下文開關的開關方法,因應被指示的並列度來切換開關方法也可以。   [0051] 解析部54,因應由第2存取處理寫入資料的區域的存取延遲,來決定並列度也可以。此時,解析部54,以存取延遲越大,而提高並列度的方式,來決定並列度。例如,解析部54,將對在存取延遲小(應答速度快)的第2共通記憶體34寫入資料的區域的並列度,決定成第1並列度(例如,並列度=2)。又,解析部54,將對在存取延遲大(應答速度慢)的第1共通記憶體32寫入資料的區域的並列度,決定成比第1並列度還高的第2並列度(例如,並列度=3)。   [0052] 在提高並列度時,處理電路22,即便因為記憶體裝置30的存取延遲大而在執行緒的處理發生延遲,也能進入在其他執行緒的處理。因此,提高並列度時,即便利用記憶於存取延遲大的區域的資料來進行處理,處理電路22也能夠以不失速的方式高速地執行處理。   [0053] 又,解析部54,在能將複數資訊處理裝置20的處理電路22的CPU利用率以失速循環數等的形式取得時,因應所取得的CPU利用率,來使並列度變化也可以。例如,此時,解析部54將CPU利用率低的區域的並列度提高,將CPU利用率高的區域的並列度降低。CPU利用率高時,處理電路22即便提高並列度,也無法高速進行處理。因此,藉由這樣使並列度變化,解析部54能有效率地使處理電路22動作。   [0054] 又,解析部54,對設定第2存取處理的區域,在決定高速處理或低速處理的同時,決定並列度也可以。例如,解析部54,將決定成高速處理的區域(也就是說,在第2共通記憶體34進行資料的寫入或讀出的區域)決定成第1並列度。又,解析部54,將決定成低速處理的區域(也就是說,在第1共通記憶體32進行資料的寫入或讀出的區域)決定成比第1並列度還高的第2並列度。   [0055] 藉此,因為針對被決定成高速處理的區域,對存取延遲小的第2共通記憶體34進行資料的寫入及讀出,資訊處理裝置20能夠高速執行處理。又,因為針對被決定成低速處理的區域,資訊處理裝置20執行並列度更高的並列處理,能夠高速執行處理。第2存取處理,因為存取控制部52執行從第1共通記憶體32向第2共通記憶體34的轉送處理,故消耗電力大。因此,以低消耗電力高速地執行第2存取處理,解析部54在決定成低速處理的同時,也可以設定成將並列度提高。   [0056] 又,解析部54,在決定成高速處理時,在被決定成高速處理的區域內,檢出被存取的可能性高的子區域也可以。又,存取控制部52,預先將子區域的資料轉送至第2共通記憶體34。也就是說,存取控制部52,在被決定成高速處理的區域內,針對子區域以外的區域,不將資料轉送至第2共通記憶體34。接著,存取控制部52,因應來自各個複數資訊處理裝置20的第2存取處理對子區域的存取要求,對預先轉送至第2共通記憶體34的資料進行直接寫入及讀出。又,存取控制部52,因應來自各個複數資訊處理裝置20的,第2存取處理對與被決定成高速處理的區域內的子區域不同的區域的存取要求,對第1共通記憶體32進行直接寫入及讀出。   [0057] 接著,設定部56,對在子區域進行資料的寫入及讀出的資訊處理裝置20(也就是,在第2共通記憶體34進行資料的寫入或讀出的資訊處理裝置20)指示第1並列度。又,設定部56,對在被決定成高速處理的區域內的子區域以外的區域進行資料的寫入及讀出的資訊處理裝置20(也就是,在第1共通記憶體32進行資料的寫入或讀出的資訊處理裝置20)指示比第1並列度還高的第2並列度。 藉此,因為針對子區域,對存取延遲小的第2共通記憶體34進行資料的寫入及讀出,資訊處理裝置20能夠高速地執行處理。又,因為針對被決定成高速處理的區域之中的子區域外的區域,資訊處理裝置20執行並列處理,能夠高速地執行處理。   [0058] 圖4為用來說明第1存取處理及第2存取處理的圖。   [0059] 資訊處理裝置20的處理電路22,作為存取方法對指示第1存取處理的第1區域進行資料的寫入或讀出時,對記憶體裝置30,進行第1存取處理所致的存取要求。   [0060] 記憶體裝置30的存取控制部52,從資訊處理裝置20接收到對設定第1存取處理的第1區域的存取要求時,從第1共通記憶體32讀出含有對象資料的資料區塊(例如,稱為頁面的單位),並轉送至發送存取要求的資訊處理裝置20。處理電路22從存取控制部52接收資料區塊後,將其記憶於個別記憶體24。藉此,個別記憶體24能夠記憶第1共通記憶體32中的包含存取對象的資料的資料區塊。接著,處理電路22,對被轉送至個別記憶體24的資料區塊內所含有的對象資料,例如以位元組單位進行寫入或讀出。   [0061] 接著,以後,處理電路22,對第1區域進行資料的寫入或讀出時,對個別記憶體24進行資料的寫入及讀出。又,處理電路22,進行未記憶於個別記憶體24的新的對象資料的寫入或讀出時,對記憶體裝置30進行第1存取處理所致的存取要求,並將含有新對象資料的資料區塊記憶於個別記憶體24。   [0062] 又,在第1存取處理中,處理電路22,在因轉送至個別記憶體24的資料之量達到預先被指示的使用容量而無法轉送新的資料區塊時,使記憶於個別記憶體24的不要的資料區塊退避至共通記憶部31。又,處理電路22,當存在有被判斷成不需要事先記憶於個別記憶體24的資料區塊存在時,也使記憶於個別記憶體24的不要的資料區塊退避至共通記憶部31。   [0063] 藉由執行這樣的第1存取處理,資訊處理裝置20能夠高速地存取資料。藉此,資訊處理裝置20,例如,在執行對相同資料反覆進行資料存取的那種應用程式,也就是執行進行局部高的記憶體存取之應用程式時,能夠縮短存取記憶體的時間,實現高效率的處理。   [0064] 又,資訊處理裝置20的處理電路22,作為存取方法對指示第2存取處理的第2區域進行資料的寫入或讀出時,對記憶體裝置30,進行第2存取處理所致的存取要求。記憶體裝置30的存取控制部52,從資訊處理裝置20接收到對設定第2存取處理的第2區域的存取要求時,對記憶於共通記憶部31的對象資料,以位元組單位進行直接寫入及讀出。   [0065] 藉由執行這樣的第2存取處理,資訊處理裝置20能夠以低處理量存取資料。藉此,資訊處理裝置20,例如,在執行分別對不同的多數資料進行1次存取的那種應用程式,也就是執行進行局部性低的記憶體存取之應用程式時,能夠消除轉送處理的負擔,實現高效率的處理。   [0066] 圖5為用來說明第2存取處理中的高速處理及低速處理的圖。   [0067] 存取控制部52,對作為存取方法而設定高速處理的第3區域,從資訊處理裝置20接收到第2存取處理所致的存取要求時,執行高速處理。   [0068] 具體來說,存取控制部52,在設定部56將第3區域設定成高速處理時,預先,將記憶於第1共通記憶體32中的第3區域的資料轉送至第2共通記憶體34。接著,存取控制部52,對設定高速處理的第3區域從資訊處理裝置20接收到第2存取處理所致的存取要求時,對預先轉送至第2共通記憶體34的資料,以快取線單位或位元組單位進行直接寫入及讀出。   [0069] 此外,存取控制部52可以將第3區域所含有的全部資料預先轉送至第2共通記憶體34,也可以將第3區域的一部分資料轉送至第2共通記憶體34。在第3區域中,當接收到對未轉送至第2共通記憶體34的資料的存取要求時,存取控制部52,在第1共通記憶體32進行直接寫入及讀出。取而代之,存取控制部52,在接收到閾值以上之數的存取要求的時點,在將記憶於第1共通記憶體32的資料轉送至第2共通記憶體34後,在第2共通記憶體34進行寫入及讀出也可以。   [0070] 又,存取控制部52將第3區域再分割成複數子區域,針對接收到閾值以上之數的存取要求的子區域,將記憶於該子區域的第1共通記憶體32的全部資料轉送至第2共通記憶體34也可以。接著,之後,存取控制部52,當向第2共通記憶體34的記憶體存取,在對經轉送的子區域以外連續產生閾值以上之數等情況,將轉送至在子區域中的第2共通記憶體34的資料,回寫至第1共通記憶體32也可以。例如,由複數層所構成的深度學習中的表示神經網路的各層的資料對應於各子區域也可以。   [0071] 又,存取控制部52,例如,當藉由預先訂定的數以上的資訊處理裝置20並行讀出第3區域所含有的資料時、或者每單位時間的存取數多時,將第3區域中所含有的資料轉送至第2共通記憶體34中的複數位置也可以。藉此,存取控制部52能夠使第2共通記憶體34中的存取位置分散。   [0072] 又,在高速處理中,存取控制部52,例如,轉送至第2共通記憶體34的資料量超過預先設定的容量時、或者當存在有判斷成不需要事先記憶於第2共通記憶體34的區域時,也可以將記憶於第2共通記憶體34的資料,回寫至第1共通記憶體32。   [0073] 又,存取控制部52,對作為存取方法而設定低速處理的第4區域,在從資訊處理裝置20接收到第2存取處理所致的存取要求時,執行低速處理。具體來說,存取控制部52,對設定低速處理的第4區域從資訊處理裝置20接收到第2存取處理所致的存取要求時,對第1共通記憶體32中的第4區域,以位元組單位將資料直接寫入及讀出。   [0074] 第2共通記憶體34,其應答速度比第1共通記憶體32還快。因此,當執行高速處理時,存取控制部52對存取要求能夠高速地應答。   [0075] 又,進行低速處理時,存取控制部52不進行從第1共通記憶體32至第2共通記憶體34的轉送也可以。因此,當執行低速處理時,存取控制部52能夠減少處理量。   [0076] 圖6為再用來說明第2存取處理中的最高速處理的圖。共通記憶部31除了第1共通記憶體32及第2共通記憶體34以外還可以包含第3共通記憶體36。此時,設定部56,對設定第2存取處理的區域,作為存取方法可以再決定最高速處理。   [0077] 存取控制部52,對作為存取方法而設定最高速處理的第5區域,從資訊處理裝置20接收到第2存取處理所致的存取要求時,執行最高速處理。   [0078] 具體來說,存取控制部52,從設定部56將第5區域設定成最高速處理時,預先,將記憶於第1共通記憶體32中的第5區域的資料轉送至第3共通記憶體36。接著,存取控制部52,對設定最高速處理的第5區域從資訊處理裝置20接收到第2存取處理所致的存取要求時,對第3共通記憶體36中預先轉送的資料,以快取線單位進行直接寫入及讀出。   [0079] 此外,存取控制部52與高速處理一樣,將第5區域的一部分轉送至第3共通記憶體36也可以。此時,存取控制部52執行與高速處理一樣的處理。又,在高速處理中,存取控制部52,例如,轉送至第3共通記憶體36的資料量超過預先設定的容量時、或者當存在有判斷成不需要事先記憶於第3共通記憶體36的區域時,也可以將記憶於第3共通記憶體36的資料,回寫至第1共通記憶體32。   [0080] 因為第3共通記憶體36是DRAM,其應答速度比第1共通記憶體32及第2共通記憶體34還快。因此,藉由執行這樣的最高速處理,存取控制部52,例如,從非常多的複數資訊處理裝置20同時接收存取要求時,能以更高速應答。   [0081] 圖7為用以說明個別記憶體24中的使用容量的指示內容的圖。在被決定成第1存取處理的第1區域進行存取的資訊處理裝置20,更指示個別記憶體24的使用容量。指示使用處理的資訊處理裝置20,使從共通記憶部31轉送的資料,以在被指示的使用容量的範圍內記憶於個別記憶體24。   [0082] 例如,資訊處理裝置20,對構成所指示的使用容量份的記憶區域的DRAM投入電力,停止向構成其他記憶區域的DRAM投入電源投入、或設成自動更新狀態等。資訊處理裝置20,例如,作為操作系統執行Linux(註冊商標)時,藉由使用cgroups機能,能夠控制該種DRAM的動作大小。   [0083] 解析部54,針對將存取方法決定成第1存取處理的第1區域,可以決定成進行省電化的區域(第6區域)、或不進行省電化的區域(第7區域)。例如,解析部54,可以將每單位時間的存取數在預先訂定的值以下的第1區域,決定成進行省電化的區域(第6區域),將每單位時間的存取數比預先訂定的值還大的第1區域,決定成不進行省電化的區域(第7區域)。   [0084] 此時,設定部56,在對進行省電化的區域(第6區域)進行存取的資訊處理裝置20,指示第1值來作為用以使第6區域的資料記憶於個別記憶體24的使用容量。第1值,例如,可以是相對於第6區域的大小的第1比例(例如,1/5的大小)。接著,對第6區域進行存取的資訊處理裝置20,為了使記憶於第6區域的資料記憶於個別記憶體24,使個別記憶體24中的所指示的使用容量份的記憶區域動作,而使其他記憶區域的動作停止。   [0085] 此時,設定部56,在對不進行省電化的區域(第7區域)進行存取的資訊處理裝置20,指示比第1值還大的第2值來作為用以使第7區域的資料記憶於個別記憶體24的使用容量。第2值,例如,可以是相對於第7區域的大小的第2比例(例如,1/2的大小)。接著,對第7區域進行存取的資訊處理裝置20,為了使記憶於第7區域的資料記憶於個別記憶體24,使個別記憶體24中的被指示的使用容量份的記憶區域動作,而使其他記憶區域的動作停止。   [0086] 因此,資訊處理裝置20可以使個別記憶體24以適切的使用容量動作。藉此,資訊處理裝置20可以抑制在個別記憶體24所浪費掉的電力消耗。   [0087] 圖8為用以說明通常退避處理的圖。進行第1存取處理時,資訊處理裝置20,在當記憶於個別記憶體24的資料量達到被指示的使用容量時,使記憶在個別記憶體24中的任何資料區塊都退避至共通記憶部31後(經回寫後),在個別記憶體24記憶新的資料區塊。   [0088] 設定部56,對複數資訊處理裝置20,作為存取方法指定第1存取處理時,在記憶於個別記憶體24的資料區塊之中,指示用以決定要使那個資料區塊退避的退避方法也可以。   [0089] 設定部56,作為退避方法,例如,可以指示通常退避處理或積極退避處理。例如,設定部56,作為對進行省電化的區域(第6區域)的退避方法,指示積極退避處理,作為對不進行省電化的區域(第7區域)的退避方法,指示通常退避處理。   [0090] 在通常退避處理中,資訊處理裝置20,在個別記憶體24設定佇列區域。佇列區域的容量為被指示的使用容量。在圖8之例中,佇列區域能記憶4個份的頁面。   [0091] 在通常退避處理中,資訊處理裝置20,為以LRU (Least Recently Used)方式從佇列區域使資料區塊退避的區域。也就是說,在通常退避處理中,資訊處理裝置20,使從共通記憶部31轉送的新資料區塊,記憶於佇列區域的末尾。資訊處理裝置20,以在佇列區域無空容量的狀態,當再轉送新的資料區塊時,使佇列區域的前頭的資料區塊(也就是,最早寫入的資料區塊)退避至共通記憶部31(回寫)。在圖8之例中,資訊處理裝置20使前頭的資料區塊即頁面#1退避至共通記憶部31。接著,資訊處理裝置20,使前頭的資料區塊退避後,使新的資料區塊記憶於佇列區域的前頭。   [0092] 圖9為用以說明積極退避處理中的第1處理的圖。圖10為用以說明積極退避處理中的第2處理的圖。   [0093] 在通常退避處理中,資訊處理裝置20,在個別記憶體24設定:初次區域、及佇列區域。初次區域及佇列區域的合計容量為被指示的使用容量。初次區域為以LRU方式使資料區塊退避的區域。佇列區域為以LRU方式使資料區塊退避的區域。在圖9及圖10之例中,初次區域能記憶1個份的頁面。佇列區域能記憶4個份的頁面。   [0094] 在積極退避處理中,資訊處理裝置20,使從共通記憶部31轉送的新資料區塊,記憶於初次區域的末尾。資訊處理裝置20,以在初次區域無空容量的狀態,再轉送新的資料區塊時,對初次區域的前頭的資料區塊(也就是,最早寫入初次區域的資料區塊),進行再存取,也就是判斷是否進行再度的資料的寫入或讀出。   [0095] 不進行再存取時,資訊處理裝置20使初次區域的前頭的資料區塊退避至共通記憶部31。在圖9之例中,初次區域的前頭的資料區塊即頁面#5,不進行再存取。接著,在圖9之例中,資訊處理裝置20使#5退避至共通記憶部31。接著,資訊處理裝置20,使初次區域的前頭的資料區塊退避後,使新的資料區塊記憶於初次區域的前頭。   [0096] 另一方面,進行再存取時,資訊處理裝置20使初次區域的前頭的資料區塊記憶至佇列區域的末尾。資訊處理裝置20,以在佇列區域無空容量的狀態,當轉送初次區域的前頭的資料區塊時,使佇列區域的前頭的資料區塊(也就是,最早寫入佇列區域的資料區塊)退避至共通記憶部31。在圖10之例中,資訊處理裝置20使佇列區域的前頭的資料區塊即頁面#1退避至共通記憶部31。接著,資訊處理裝置20,使前頭的資料區塊退避後,使初次區域的前頭的資料區塊記憶於佇列區域的前頭。   [0097] 藉由使用這樣的退避處理,資訊處理裝置20,能夠使存取頻度高的資料有效率地留在佇列區域。藉此,資訊處理裝置20,即便在為了謀求省電化而個別記憶體24的使用容量小的情況下,也能有效率地進行快取(caching)。   [0098] 此外,設定部56,不限於通常退避處理及積極退避處理,指示使用任何演算法的退避方法也可以。例如,指示使用機械學習使資料區塊退避的退避方法也可以。又,設定部56,通常可以指示相同的退避方法。又,設定部56不指示退避方法,而以在資訊處理裝置20預先登錄的退避方法來執行退避處理也可以。   [0099] 圖11為表示第1實施形態的資訊處理系統10的處理順序之一例的圖。例如,資訊處理系統10以圖11所示的流程來執行處理。   [0100] 首先,在S11中,複數資訊處理裝置20開始執行應用程式。接著,在S12中,記憶體裝置30的設定部56,對存取控制部52將全部區域的存取方法設定成第2存取處理。同時,設定部56,對複數資訊處理裝置20指示第2存取處理以作為全部區域的存取方法。   [0101] 接著,在S13中,記憶體裝置30的解析部54,針對各個複數區域,解析複數資訊處理裝置20對共通記憶部31的存取。例如,解析部54取得:存取的局部性、每單位時間的存取數(存取速率)、及進行存取的資訊處理裝置20等。   [0102] 接著,在S14中,記憶體裝置30的解析部54,在開始應用程式的執行後,判斷是否經過預先訂定的測定期間。記憶體裝置30的解析部54,在未經過測定期間時(S14的No),使處理以S14來待機。記憶體裝置30的解析部54,在經過測定期間時(S14的Yes),使處理進入S15。   [0103] 在S15中,記憶體裝置30的解析部54基於解析結果,決定每個區域的存取方法。接著,在S16中,記憶體裝置30的設定部56,將決定的存取方法設定至存取控制部52,並對複數資訊處理裝置20指示存取方法。   [0104] 經由以上的處理,記憶體裝置30的解析部54,在開始應用程式的執行後經過預先訂定的測定期間,對記憶於共通記憶部31的資料進行直接寫入及讀出。藉此,解析部54,能夠精度地解析對全部區域的存取,並決定適切的存取方法。此外,資訊處理系統10在決定存取方法後,也在每固定期間,執行S12至S16的處理也可以。   [0105] 圖12為表示解析結果的一例的圖。解析部54,作為一例,針對各個複數區域,如圖12所示,將記憶體存取資訊作為解析結果取得。   [0106] 例如,解析部54,解析複數資訊處理裝置20所進行的存取的統計資訊,針對各個複數區域,取得表示局部性比預定值還高或局部性在預定值以下(還低)的記憶體存取資訊。更具體來說,例如,解析部54,針對各個複數區域,量測區域內的每個微小單位(例如頁面或位元組等)的存取次數。解析部54,基於量測到的每個微小單位的存取次數,算出區域內的存取偏差(例如分散)。接著,解析部54,若算出的偏差比預先訂定的值還小的話,可以判斷成局部性比預定值還高,若偏差在預先訂定的值以上的話,可以判斷成局部性在預定值以下。此外,解析部54也可以藉由其他方法來判斷局部性是否比預定值還高。   [0107] 又,例如,解析部54,解析複數資訊處理裝置20所進行的存取的統計資訊,針對各個複數區域,取得表示進行存取的資訊處理裝置20的記憶體存取資訊也可以。例如,解析部54,針對各個區域,取得進行存取的資訊處理裝置20的識別編號也可以。   [0108] 又,例如,解析部54,解析複數資訊處理裝置20所進行的存取的統計資訊,針對各個複數區域,取得表示每單位時間的存取數(存取速率)比預先訂定的值還高、或存取速率在預先訂定的值以下(還低)的存取資訊。更具體來說,例如,解析部54,針對各個複數區域,檢出每一定時間的存取次數,將每一定時間的存取次數的平均值作為存取速率來算出也可以。   [0109] 此外,解析部54,不限於以上所舉的存取的統計資訊,取得關於複數資訊處理裝置20所進行的存取的其他統計資訊也可以。再來,解析部54,不限於以上所舉的解析結果(記憶體存取資訊),從該等統計資訊來取得其他的解析結果也可以。   [0110] 圖13為表示存取方法的決定處理的順序的一例的圖。針對各個複數區域,解析部54,例如,以圖13所示的流程來決定存取方法。   [0111] 首先,在S21中,解析部54判斷局部性是否比預定值還高。解析部54,在該區域為局部性在預定值以下的第2區域時(S21的No),使處理進入S22。解析部54,在該區域為局部性比預定值還高的第1區域時(S21的Yes),使處理進入S26。   [0112] 在S22中,解析部54將該區域的存取方法決定成第2存取處理。解析部54緊接著S22,使處理進入S23。   [0113] 在S23中,解析部54,針對將存取方法決定成第2存取處理的第2區域,判斷是否為進行高速處理的區域。例如,解析部54,判斷該第2區域是否為從預先訂定的數以上的資訊處理裝置20來進行存取的區域。   [0114] 解析部54,在該區域是進行高速處理區域時,例如,從預先訂定的數以上的資訊處理裝置20存取該區域時(S23的Yes),使處理進入S24。接著,在S24中,解析部54,將該第2區域決定成進行高速處理的第3區域。   [0115] 又,解析部54,在該區域不是進行高速處理區域時,例如,未從預先訂定的數以上的資訊處理裝置20存取該區域時(S23的No),使處理進入S25。接著,在S25中,解析部54,將該第2區域決定成進行低速處理的第4區域。   [0116] 另一方面,在S26中,解析部54將該區域的存取方法決定成第1存取處理。解析部54緊接著S26,使處理進入S27。   [0117] 在S27中,解析部54,針對將存取方法決定成第1存取處理的第1區域,判斷是否為進行省電化的區域。例如,解析部54,判斷該第1區域在每單位時間的存取數是否為預先訂定的值以下。   [0118] 解析部54,在該區域是進行省電化的區域時,例如,是每單位時間的存取數為預先訂定的值以下的區域時(S27的Yes),使處理進入S28。接著,在S28中,解析部54,將在該第1區域的個別記憶體24的使用容量決定成第1值(例如,區域的1/5的大小)。   [0119] 解析部54,在該區域不是進行省電化的區域時,例如,是每單位時間的存取數比預先訂定的值還大的區域時(S27的No),使處理進入S29。接著,在S29中,解析部54,將在該第1區域的個別記憶體24的使用容量決定成比第1值還大的第2值(例如,區域的1/2的大小)。   [0120] 解析部54在使S24、S25、S28或S29的處理結束後,使針對該區域本流程結束。   [0121] 圖14為表示存取方法的設定表的一例的圖。設定部56,將藉由解析部54所決定的存取方法例如設定至設定表。例如,設定部56如圖14所示,對設定表,在每個區域作為存取方法設定第1存取處理或第2存取處理。   [0122] 再來,設定部56,作為存取方法而設定第1存取處理時,對設定表,再設定個別記憶體24中的使用容量。又,設定部56,作為存取方法而設定第2存取處理時,對設定表,再設定低速處理或高速處理。   [0123] 又,再來,設定部56對設定表,在每個區域,設定進行存取的資訊處理裝置20的識別編號。接著,設定部56,對在各個複數區域進行存取的資訊處理裝置20,指示對該區域所設定的存取方法及使用容量。   [0124] (效果)   如以上所述,在資訊處理系統10中,記憶體裝置30對於各個複數資訊處理裝置20,指示對共通記憶部31的存取方法。從前一般的記憶體控制裝置,會因應所接收到的資料的寫入或讀出要求而執行進行處理的被動處理。相對於此,記憶體裝置30執行對複數資訊處理裝置20指示如何動作的主動處理。   [0125] 藉此,資訊處理系統10,藉由在複數資訊處理裝置20所執行的應用程式的組合等,對各個複數資訊處理裝置20以適切的存取方法對記憶體裝置30進行存取。因此,根據資訊處理系統10,能抑制系統全體的消耗電力、提升處理速度、或減緩記憶體裝置30的劣化速度而升信頼性。   [0126] 又,記憶體裝置30,能夠對2以上的資訊處理裝置20使同一資料進行存取。因此,資訊處理系統10不通過網路,也能在2以上的資訊處理裝置20之間取得資料。藉此,根據資訊處理系統10,在執行大規模資料處理時,轉送處理不會成為瓶頸 ,而能高速執行處理。   [0127] 又,資訊處理系統10將待機電力小的記憶體裝置30作為複數資訊處理裝置20的主記憶裝置來作用。藉此,根據資訊處理系統10,在執行大規模資料處理時,也能使消耗電力減少。   [0128] 如以上所述本實施形態的資訊處理系統10利用複數資訊處理裝置20,能有效率地執行資料處理。    [0129] (第2實施形態)   圖15為表示第2實施形態的記憶體控制器40的構成的圖。第2實施形態的記憶體控制器40更具有:預測模型記憶部72、預測部74。   [0130] 預測模型記憶部72記憶預測模型。預測模型為:用以從複數資訊處理裝置20對共通記憶部31的存取的模式,來特定被預測成複數資訊處理裝置20所存取的資料之模型。預測模型藉由學習等來預先生成。預測模型記憶部72也可以設於記憶體裝置30的外部。   [0131] 預測部74,從存取控制部52,取得各個複數資訊處理裝置20對共通記憶部31的存取模式。例如,預測部74,取得各個複數資訊處理裝置20進行存取的共通記憶部31的資料位置等的模式。   [0132] 預測部74,基於取得到的模式及預測模型,來特定被預測成資訊處理裝置20所存取的第1資料。第1資料可以是位元組單位的資料,也可以是包含預測成進行存取的資料的區塊單位的資料。預測部74,當特定第1資料時,在複數資訊處理裝置20之中,對被預測成存取第1資料的資訊處理裝置20,指示預先取得第1資料。接著,接收到指示的資訊處理裝置20,將用以取得第1資料的存取要求賦予至存取控制部52。例如,接收到指示的資訊處理裝置20,藉由第2存取處理來取得第1資料也可以。   [0133] 藉此,資訊處理裝置20,可以預先取得被預測成將來會進行存取的第1資料。藉此,資訊處理裝置20能更高速地執行對第1資料的資料處理。   [0134] 又,預測部74,基於取得到的模式及預測模型,來特定被預測成資訊處理裝置20所存取的第2資料。接著,預測部74,在特定第2資料時,對存取控制部52,使第2資料預先轉至送應答速度比記憶第2資料的記憶部還快的其他記憶部。   [0135] 例如,存取控制部52,對被預測成存取第2資料的資訊處理裝置20,指示將特定的第2資料預先轉送至個別記憶體24。接著,此時,接收到指示的資訊處理裝置20,為了取得第2資料,將第1存取處理所致的存取要求賦予至存取控制部52。藉此,資訊處理裝置20,可以將被預測成將來會進行存取的第2資料預先轉送至個別記憶體24。   [0136] 又,例如,共通記憶部31包含:第1共通記憶體32、第2共通記憶體34時,可以將記憶於第1共通記憶體32的第2資料轉送至第2共通記憶體34。第2共通記憶體34,其應答速度比第1共通記憶體32還快。   [0137] 藉此,存取控制部52,可以將被預測成將來會存取的第2資料預先記憶於高速的記憶體。藉此,資訊處理裝置20能更高速地執行對第2資料的資料處理。   [0138] (第3實施形態)   圖16為表示第3實施形態的資訊處理系統10的構成的圖。第3實施形態的資訊處理裝置20更具有:表現收集部76。   [0139] 表現收集部76解析處理電路22所執行的程式執行動作,並取得解析結果。表現收集部76,作為一例,檢出處理電路22執行程式時所發生的快取未命中。又,表現收集部76,作為一例,檢出處理電路22執行程式時所發生的分岐處理。又,表現收集部76,作為一例,檢出處理電路22執行程式的利用率。表現收集部76,作為一例,可以是取得:快取未命中率、CPU的分岐預測未命中率及CPU的利用率等之表現計數器。接著,表現收集部76將該種解析結果,作為動作統計資訊賦予至記憶體裝置30的記憶體控制器40。   [0140] 連接各個複數資訊處理裝置20與記憶體裝置30的共有記憶體介面,具有:將動作統計資訊,從各個複數資訊處理裝置20轉送至記憶體裝置30的記憶體控制器40的機能。表現收集部76通過共有記憶體介面,將動作統計資訊賦予至記憶體裝置30的記憶體控制器40。   [0141] 記憶體控制器40所具有的解析部54,從各個複數資訊處理裝置20所具有的表現收集部76,取得解析結果即動作統計資訊。接著,解析部54更基於取得到的解析結果,決定共通記憶部31中的每個區域的存取方法。   [0142] 例如,解析部54,也可以將快取未命中的每單位時間的頻度比預先訂定的值還大的區域,判斷成局部性為預定值以下。又,例如,解析部54,也可以將分岐處理的每單位時間的頻度比預先訂定的值還大的區域,也判斷成局部性為預定值以下。又,解析部54基於處理器的利用率,來決定處理電路22所執行的處理的並列度也可以。例如,解析部54在處理器的利用率低時,可以變更成將並列度提高。   [0143] 藉此,藉由利用處理電路22所執行的程式執行動作的解析結果,解析部54能更精確地解析複數資訊處理裝置20對共通記憶部31的存取。藉此,解析部54,能夠決定更適切的存取方法。   [0144] (第4實施形態)   圖17為表示第4實施形態的記憶體控制器40的構成的圖。第4實施形態的記憶體控制器40更具有:履歷記憶部78。履歷記憶部78,使過去被設定的存取方法的履歷,對應於複數資訊處理裝置20中所執行的應用程式並記憶。   [0145] 解析部54取得在複數資訊處理裝置20中識別所執行的應用程式的資訊。解析部54,在決定存取方法時,使決定的存取方法,對應於複數資訊處理裝置20中所執行的應用程式並記憶於履歷記憶部78。   [0146] 再來,解析部54,在將對應於複數資訊處理裝置20中所執行的應用程式記憶於履歷記憶部78時,在測定期間的經過前,基於履歷,決定存取方法。   [0147] 圖18為表示第4實施形態的資訊處理系統10的處理順序的一例的圖。第4實施形態的資訊處理系統10以圖18所示的流程來執行處理。   [0148] 首先,在S11中,複數資訊處理裝置20開始執行應用程式。   [0149] 接著,在S41中,記憶體裝置30的解析部54從複數資訊處理裝置20,取得識別所執行的應用程式的資訊。接著,解析部54,判斷過去是否執行相同的應用程式。過去未執行相同應用程式程式時(S41的No),解析部54使處理進入S12。S12以後的處理因為與圖11所示的處理相同,故將說明省略。   [0150] 過去執行相同應用程式程式時(S41的Yes),解析部54使處理進入S42。在S42中,解析部54從履歷記憶部78,取得對應於複數資訊處理裝置20中所執行的應用程式的存取方法的履歷。   [0151] 緊接著S42,在S43中,解析部54基於取得到的履歷,決定存取方法。例如,解析部54將存取方法決定成與取得的履歷相同的內容。接著,解析部54在使S43的處理結束後,使處理進入S16。S16的處理因為與圖11所示的處理相同,故將說明省略。   [0152] 如以上所述,第4實施形態的解析部54,當各個複數資訊處理裝置20所執行的應用程式已在過去執行時,在測定期間的經過前,可以決定存取方法。藉此,資訊處理裝置20,在應用程式的執行開始後在短時間內能以適切的存取方法在記憶體裝置30進行存取。   [0153] (第5實施形態)   圖19為表示第5實施形態的記憶體控制器40的構成的圖。第5實施形態的解析部54包含:判定模型記憶部82、學習部84、決定部86。第5實施形態中,解析部54可切換學習階段與利用階段。   [0154] 判定模型記憶部82記憶判定模型(決定模型)。判定模型為用以從動作資訊中得到最適的存取方法之模型。判定模型,例如,可以由決定樹等來實現。動作資訊為複數資訊處理裝置20執行應用程式程式的結果所得到的資訊,例如,為包含:關於處理器的動作的統計資訊、執行時間(例如,使複數應用程式程式同時動作時為產率)、系統全體的消耗電力、對共通記憶部31存取的統計資訊、及解析統計資訊的解析結果等資訊。關於處理器的動作的統計資訊,例如,為能以處理器的表現計數器等取得的資訊,具體上為:快取未命中率、CPU的分岐預測未命中率、CPU的利用率等。   [0155] 學習部84在學習階段中,訓練判定模型。具體來說,在學習階段,學習部84在使複數資訊處理裝置20動作的同時,控制設定部56使其變更對存取控制部52的存取方法的設定及對複數資訊處理裝置20的存取方法的指示,來訓練判定模型。更具體來說,例如,學習部84使設定部56變更存取方法的指示,使複數資訊處理裝置20執行複數次相同的應用程式。學習部84係收集:由執行各個應用程式所得到的,對共通記憶部31的存取的統計資訊、關於處理器的動作的統計資訊、執行時間及/或消耗電力的追蹤資訊等。接著,將該等收集到的資訊作為輸入,學習部84,訓練判定模型,使例如應用程式的執行時間及消耗電力等成為最適當者。再來,在學習階段中,學習部84變更使複數資訊處理裝置20執行的應用程式,訓練判定模型。又,在學習階段中,學習部84在複數資訊處理裝置20同時執行複數應用程式,也變更該等組合訓練判定模型。   [0156] 在利用階段,決定部86使複數資訊處理裝置20動作而取得動作資訊。接著,決定部86,基於取得到的動作資訊及訓練完的判定模型,決定存取方法。決定部86將決定的存取方法賦予至設定部56。   [0157] 如以上所述第5實施形態的解析部54使用預先訓練的判定模型,決定存取方法。藉此,根據解析部54,能夠決定更適切的存取方法。   [0158] (第6實施形態)   圖20為表示第6實施形態的資訊處理系統10的處理的一例的圖。解析部54,基於對複數資訊處理裝置20指示的使用容量,判斷可否將在複數資訊處理裝置20之中的任2個以上的對象的資訊處理裝置20中被執行的應用程式,藉由在複數資訊處理裝置20之中的1個第1資訊處理裝置20-1來執行。   [0159] 例如,如圖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”。   [0160] 解析部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兩者所執行的應用程式。   [0161] 判斷成可能時,設定部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設為電源OFF或者低電力模式等的省電力狀態。藉此,資訊處理系統10,將全體所必要的消耗電力設為僅用以使第1資訊處理裝置20-1動作的電力,在系統全體能刪減消耗電力。   [0162] 例如,如圖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的執行停止。   [0163] 藉由這樣的處理,第6實施形態的記憶體裝置30,能使一部分的資訊處理裝置20所執行的應用程式停止。藉此,停止應用程式的執行的資訊處理裝置20,能夠停止投入個別記憶體24的電源、或設為自動更新狀態等。因此,第6實施形態的記憶體裝置30能使消耗電力更小。   [0164] 此外,解析部54,在能將2個以上的資訊處理裝置20作為第1資訊處理裝置20-1選擇時,再將具有超執行緒等所致的假想處理器之數多的處理電路22的資訊處理裝置20作為第1資訊處理裝置20-1來選擇也可以。藉此,解析部54即便是對存取延遲小的記憶體進行資料的寫入及讀出時,也能夠提高處理的並列度,並以高速執行處理。   [0165] (第7實施形態)   圖21為表示第7實施形態的記憶體控制器40的構成的圖。第7實施形態的記憶體控制器40更具有:損耗平衡管理部88。   [0166] 損耗平衡管理部88,管理共通記憶部31中的改寫次數成為預先訂定的值以上的記憶區域。例如,損耗平衡管理部88,監視對共通記憶部31的寫入處理,計數每個記憶區域的改寫次數。   [0167] 存取控制部52取得來自損耗平衡管理部88的每個記憶區域的改寫次數。接著,存取控制部52,在對改寫次數成為預先訂定的值以上的記憶區域進行資料的寫入及讀出時,不管所設定的存取方法為何,都執行第1存取處理也可以。執行第1存取處理時,存取控制部52因為不進行局部性高的寫入,故改寫次數不局部地增加。接著,記憶體裝置30,能對改寫次數成為預先訂定的值以上的記憶區域的全體平均地寫入資料,且能延長其壽命。   [0168] 又,設定部56,在每個區域判定存取方法時,也可以判斷是進行延長壽命的處理的區域、或不進行延長壽命的處理也可以的區域。又,設定部56,基於區域的改寫次數,來判斷是否為進行延長壽命的處理的區域。接著,設定部56,作為對進行延長壽命的處理的區域的存取方法,設定第1存取處理。藉此,記憶體裝置30,能對改寫次數成為預先訂定的值以上的區域的全體平均地寫入資料,且能延長該區域的壽命。   [0169] 以上,雖已說明了本發明的幾個實施形態,但該等實施形態僅作為例示,並沒有要限定本發明的範圍。該等新穎的實施形態,也可以利用於其他各種形態來實施,在不脫離發明要旨的範圍內,可以進行各種省略、置換、變更。該等實施形態及其變形,在包含於發明的範圍及要旨中的同時,也包含申請專利範圍中所記載之發明的均等範圍。   [0170] (態樣例1)   一種記憶體裝置,係連接至1或複數資訊處理裝置,該記憶體裝置具備:   共通記憶部;   解析前述1或複數資訊處理裝置對前述共通記憶部的存取,決定前述1或複數資訊處理裝置對前述共通記憶部的存取方法之解析部;以及   對前述1或複數資訊處理裝置指示所決定的前述存取方法的設定部。 (態樣例2)   如態樣例1所記載的記憶體裝置,更具備:因應前述1或複數資訊處理裝置對前述共通記憶部的存取要求,控制對前述共通記憶部的資料的寫入及資料的讀出之存取控制部;   前述設定部,將所決定的前述存取方法設定至前述存取控制部;   前述存取控制部,依照所設定的前述存取方法,進行對前述共通記憶部的資料的寫入及資料的讀出。 (態樣例3)   如態樣例2所記載的記憶體裝置,其中,前述1或複數資訊處理裝置分別具有個別記憶體;   前述解析部,作為前述存取方法,係決定:對從前述共通記憶部轉送至前述個別記憶體的資料進行寫入及讀出的第1存取處理、或對記憶於前述共通記憶部的資料進行直接寫入及讀出的第2存取處理;   各個前述1或複數資訊處理裝置,   在指示前述第1存取處理時,使前述存取控制部從前述共通記憶部轉送資料至前述個別記憶體,對轉送至前述個別記憶體的資料進行寫入及讀出;   在指示前述第2存取處理時,對前述存取控制部賦予記憶於前述共通記憶部的資料的寫入及讀出的要求。 (態樣例4)   如態樣例3所記載的記憶體裝置,其中,前述解析部,作為前述存取方法而決定前述第1存取處理時,更決定前述個別記憶體中的使用容量;   前述設定部更對前述1或複數資訊處理裝置,指示前述使用容量;   各個前述1或複數資訊處理裝置,使從前述共通記憶部轉送的資料,以在所指示的前述使用容量的範圍內記憶於前述個別記憶體。 (態樣例5)   如態樣例3或4所記載的記憶體裝置,其中,前述解析部,作為前述存取方法而決定前述第1存取處理時,再決定為了使資料從前述個別記憶體退避至前述共通記憶部的退避方法;   前述設定部更對前述1或複數資訊處理裝置,指示前述退避方法;   各個前述1或複數資訊處理裝置,使從前述共通記憶部轉送的資料,以所指示的前述退避方法從前述個別記憶體退避至前述共通記憶部。 (態樣例6)   如態樣例3至5中任1項所記載的記憶體裝置,其中,前述共通記憶部更具備:第1共通記憶體、應答速度比前述第1共通記憶體還快的第2共通記憶體;   前述解析部,作為前述存取方法而決定前述第2存取處理時,再決定低速處理或高速處理;   前述存取控制部,   作為前述存取方法而設定低速的前述第2存取處理時,因應來自各個前述1或複數資訊處理裝置的前述第2存取處理所致的存取要求,對記憶於前述第1共通記憶體的資料進行直接寫入及讀出;   作為前述存取方法而設定低速的前述第2存取處理時,因應來自各個前述1或複數資訊處理裝置的前述第2存取處理所致的存取要求,對記憶從前述第1共通記憶體預先轉送至前述第2共通記憶體的資料進行直接寫入及讀出。 (態樣例7)   如態樣例6所記載的記憶體裝置,其中,前述設定部,對藉由前述第2存取處理來進行存取要求的資訊處理裝置,指示表示並列執行的處理之數的並列度;   前述解析部,在被決定成前述高速處理時,更檢出在前述第1共通記憶體中被存取的可能性高的子區域;   前述存取控制部,將前述第1共通記憶體中的前述子區域的資料預先轉送至前述第2共通記憶體,因應來自各個前述1或複數資訊處理裝置的前述第2存取處理對前述子區域的存取要求,對預先轉送至前述第2共通記憶體的資料進行直接寫入及讀出;   前述存取控制部,因應來自各個前述1或複數資訊處理裝置的前述第2存取處理對與前述子區域不同的區域的存取要求,對前述第1共通記憶體進行直接寫入及讀出;   前述設定部,對在前述第2共通記憶體進行資料的寫入或讀出的資訊處理裝置指示第1並列度,而對在前述第1共通記憶體進行資料的寫入或讀出的資訊處理裝置指示比前述第1並列度還高的第2並列度。 (態樣例8)   如態樣例3到5中任1項所記載的記憶體裝置,其中,前述設定部,對藉由前述第2存取處理來進行存取要求的資訊處理裝置,指示表示並列執行的處理之數的並列度;   前述解析部,因應由前述第2存取處理寫入資料的區域的存取延遲,決定前述並列度。 (態樣例9)   如態樣例3所記載的記憶體裝置,其中,前述共通記憶部被分割成複數區域;   前述解析部,解析前述1或複數資訊處理裝置對各個前述複數區域的存取,決定對各個前述複數區域的前述存取方法;   前述設定部,針對各個前述複數區域,將所決定的前述存取方法設定至前述存取控制部,並對前述1或複數資訊處理裝置指示所決定的前述存取方法;   各個前述1或複數資訊處理裝置,對各個前述複數區域,依照所指示的前述存取方法進行存取;   前述存取控制部,依照對各個前述複數區域所設定的前述存取方法,控制對於對應的區域的資料的寫入及資料的讀出。 (態樣例10)   如態樣例9所記載的記憶體裝置,其中,前述解析部,   針對各個前述複數區域,判斷存取的局部性是否比預定值還高;   將對於存取的局部性比預定值還高的第1區域的前述存取方法,決定成前述第1存取處理;   將對於存取的局部性在預定值以下的第2區域的前述存取方法,決定成前述第2存取處理。 (態樣例11)   如態樣例10所記載的記憶體裝置,其中,前述共通記憶部更具備:包含各個前述複數區域的第1共通記憶體、應答速度比前述第1共通記憶體還快的第2共通記憶體;   前述解析部,   針對將前述存取方法決定成前述第2存取處理的前述第2區域,決定成進行高速處理的區域、或不進行高速處理的區域;   前述存取控制部,   對進行高速處理的區域接收到前述第2存取處理所致的存取要求時,對從前述第1共通記憶體預先轉送至前述第2共通記憶體的資料進行直接寫入及讀出;   對不進行高速處理的區域接收到前述第2存取處理所致的存取要求時,對記憶於前述第1共通記憶體的資料進行直接寫入及讀出。 (態樣例12)   如態樣例11所記載的記憶體裝置,其中,前述解析部,將來自預先訂定的數以上的資訊處理裝置存取的前述第2區域,決定成進行高速處理的區域,將來自未滿前述預先訂定的數的資訊處理裝置存取的前述第2區域,決定成不進行高速處理的區域。 (態樣例13)   如態樣例10至12中任1項所記載的記憶體裝置,前述解析部,針對將前述存取方法決定成前述第1存取處理的前述第1區域,決定成進行省電化的區域、或不進行省電化的區域;   前述設定部,   對前述1或複數資訊處理裝置,指示第1值來作為對進行省電化的區域的前述個別記憶體中的使用容量,指示比前述第1值還大的第2值來作為對不進行省電化的區域的前述使用容量;   各個前述1或複數資訊處理裝置,針對將前述存取方法指示為前述第1存取處理的前述第1區域,使從前述共通記憶部轉送的資料,以在所指示的前述使用容量的範圍內記憶於前述個別記憶體。 (態樣例14)   如態樣例13所記載的記憶體裝置,前述解析部,將每單位時間的存取數在預先訂定的值以下的前述第1區域,決定成進行省電化的區域,將每單位時間的存取數比前述預先訂定的值還大的前述第1區域,決定成不進行省電化的區域。 (態樣例15)   如態樣例13或14所記載的記憶體裝置,其中,前述解析部,針對將前述存取方法決定成前述第1存取處理的前述第1區域,再決定用以使資料從前述個別記憶體退避至前述共通記憶部的退避方法;   前述設定部,將針對各個前述第1區域所決定的前述退避方法,再對前述1或複數資訊處理裝置作指示;   各個前述1或複數資訊處理裝置,使各個前述共通記憶部的從前述第1區域轉送的資料,以所指示的前述退避方法從前述個別記憶體退避至前述共通記憶部。 (態樣例16)   如態樣例3至15中任1項所記載的記憶體裝置,更具備:取得前述1或複數資訊處理裝置對前述共通記憶部的存取的模式,基於取得到的存取的模式,來特定被預測成前述1或複數資訊處理裝置所存取的第1資料之預測部;   前述預測部,當特定前述第1資料時,在前述1或複數資訊處理裝置之中,對被預測成存取前述第1資料的資訊處理裝置,指示預先取得前述第1資料。 (態樣例17)   如態樣例3至15中任1項所記載的記憶體裝置,更具備:取得前述1或複數資訊處理裝置對前述共通記憶部的存取的模式,基於取得到的存取的模式,來特定被預測成前述1或複數資訊處理裝置所存取的第2資料之預測部;   前述預測部,在特定前述第2資料時,對前述存取控制部,使前述第2資料,預先轉至送應答速度比記憶第2資料的記憶部還快的其他記憶部。 (態樣例18)   如態樣例3至17中任1項所記載的記憶體裝置,其中,前述解析部,   從前述1或複數資訊處理裝置,取得解析程式的執行動作的結果;   更基於取得的前述結果來決定前述存取方法。 (態樣例19)   如態樣例3至18中任1項所記載的記憶體裝置,其中,前述解析部,   在前述1或複數資訊處理裝置中,開始程式的執行後經過預先訂定的測定期間,藉由對記憶於前述共通記憶部的資料進行直接寫入及讀出,來解析前述1或複數資訊處理裝置所致的對前述共通記憶部的存取;   經過前述測定期間後,決定前述存取方法。 (態樣例20)   如態樣例19所記載的記憶體裝置,更具備:使過去所決定的前述存取方法的履歷,對應於前述1或複數資訊處理裝置中所執行的程式並記憶的履歷記憶部;   前述解析部,在將對應於前述1或複數資訊處理裝置中所執行的程式的前述履歷記憶於前述履歷記憶部時,在前述測定期間的經過前,基於履歷,決定前述存取方法。 (態樣例21)   如態樣例3~18中任1項所記載的記憶體裝置,其中,前述解析部,   在學習階段,在使前述1或複數資訊處理裝置動作的同時,藉由變更前述存取方法,訓練用以從前述1或複數資訊處理裝置執行應用程式的結果所得到的動作資訊中得到最適合的前述存取方法的判定模型;   在利用階段,使前述1或複數資訊處理裝置動作而取得前述動作資訊,基於取得的前述動作資訊及前述判定模型,來決定前述存取方法。 (態樣例22)   如態樣例4所記載的記憶體裝置,其中,前述解析部,基於對前述1或複數資訊處理裝置指示的前述使用容量,判斷可否將在前述1或複數資訊處理裝置之中任2個以上的對象的資訊處理裝置中被執行的程式,藉由在前述1或複數資訊處理裝置之中的1個第1資訊處理裝置來執行;   當判斷為可的時侯,前述設定部,   對前述第1資訊處理裝置,將對前述2個以上的對象的資訊處理裝置指示的前述使用容量的合計量作為前述使用容量來指示,並對前述第1資訊處理裝置指示在前述2個以上的對象的資訊處理裝置中被執行的程式的執行的開始;   對前述2個以上的對象的資訊處理裝置之中非前述第1資訊處理裝置的資訊處理裝置,指示停止程式的執行並移行至省電力狀態。 (態樣例23)   如態樣例3至22中任1項所記載的記憶體裝置,更具備:管理前述共通記憶部中的改寫次數成為預先訂定的值以上的記憶區域的損耗平衡管理部;   前述存取控制部,在對前述改寫次數成為預先訂定的值以上的記憶區域進行資料的寫入及讀出時,不管所設定的前述存取方法為何,都執行前述第1存取處理。 (態樣例24)   一種記憶體裝置,係連接至1或複數資訊處理裝置,該記憶體裝置具備:   被分割成複數區域的共通記憶部;以及   從前述1或複數資訊處理裝置對各個前述複數區域的存取來生成記憶體存取的統計資訊,解析生成的前述統計資訊而取得每個前述複數區域的記憶體存取資訊的解析部。 (態樣例25)   一種資訊處理系統,具備:1或複數資訊處理裝置;   具有共通記憶部,藉由介面與各個前述1或複數資訊處理裝置連接的記憶體裝置;   其中,   前述介面,   將前述1或複數資訊處理裝置的動作統計資訊,從各個前述1或複數資訊處理裝置轉送至前述記憶體裝置;   將表示前述1或複數資訊處理裝置對前述共通記憶部的存取方法的資訊,從前述記憶體裝置轉送至各個前述1或複數資訊處理裝置。 (態樣例26)   一種資訊處理系統,具備:1或複數資訊處理裝置;   與前述1或複數資訊處理裝置通過網路來連接的記憶體裝置;   其中,   前述記憶體裝置,具備:   共通記憶部;   解析前述1或複數資訊處理裝置對前述共通記憶部的存取,決定前述1或複數資訊處理裝置對前述共通記憶部的存取方法之解析部;以及   對前述1或複數資訊處理裝置指示所決定的前述存取方法的設定部。 (態樣例27)   一種記憶體控制方法,係控制連接至1或複數資訊處理裝置,其中,   前述記憶體裝置,具備:   共通記憶部;   該記憶體控制方法包含:解析前述1或複數資訊處理裝置對前述共通記憶部的存取,決定前述1或複數資訊處理裝置對前述共通記憶部的存取方法之步驟;   對前述1或複數資訊處理裝置指示所決定的前述存取方法的步驟。[0008] Hereinafter, the information processing system 10 according to the embodiment will be described in detail with reference to the drawings. In addition, although a plurality of embodiments are described below, the same reference numerals are attached to blocks having substantially the same functions and configurations, and the description of overlapping contents after the second embodiment will be omitted.  [0009] (First Embodiment)    FIG. 1 is a diagram showing the configuration of an information processing system 10 according to the first embodiment. The information processing system 10 includes a plurality of information processing devices 20 and a memory device 30.  [0010] Each plural information processing device 20 is a computer that independently performs information processing. Each plural information processing device 20, for example, executes a separate operating system. Each of the plural information processing devices 20 is, for example, housed in different housings or provided on different substrates.  [0011] In addition, in the embodiment, an information processing system 10 including a plurality of information processing devices 20 is shown. However, the information processing system 10 may be configured to include one information processing device 20.  [0012] The memory device 30 is connected to each of the plural information processing devices 20, respectively. The memory device 30 functions as a common main memory device for each plurality of information processing devices 20. The memory device 30 receives an access request for writing and reading data from each of the plural information processing devices 20. In response to the received access request, the memory device 30 stores the data internally, or reads and outputs the internal data to the information processing device 20. The memory device 30 is, for example, housed in a different frame from the plurality of information processing devices 20 or provided on a different substrate.  [0013] The information processing device 20 has a processing circuit 22 and an individual memory 24.  [0014] The processing circuit 22 has: 1 or plural processors. The processor is, for example, a CPU (Central Processing Unit). The processor can contain 1 or multiple CPU cores. The processing circuit 22 executes programs and processes data. The processing circuit 22 can be of any kind as long as it can execute programs and process data. For example, the processing circuit 22 may also be a GPU (Graphics Processing Unit) used in a GPGPU (General-purpose computing on Graphics Processing Unit). In addition, the processing circuit 22 may be an accelerator such as FPGA (Field Programmable Gate Array).  [0015] The processing circuit 22 reads data from the individual memory 24 or the memory device 30 or writes data to the individual memory 24 or the memory device 30 in response to the execution of the program. For example, the processing circuit 22 has hierarchical caches such as L1 data cache, L1 command cache, L2 cache, and L3 cache. The processing circuit 22 uses this cache to temporarily memorize the data. The processing circuit 22, for example, when a cache miss occurs at the lowest level of the cache (the last level of cache) in the hierarchical cache, a cache line unit (Cache line unit) for individual memory 24 or the memory device 30 accesses and reads or writes necessary data.  [0016] The individual memory 24 is a memory device used as a work area performed by the processing circuit 22. The individual memory 24 is a volatile memory in which the stored data will disappear when power supply such as DRAM (Dynamic Random Access Memory) is stopped. The individual memory 24 may be a non-volatile memory such as MRAM (Magnetoresistive Random Access Memory) capable of high-speed access like DRAM. Alternatively, the individual memory 24 can also be mixed with volatile memory and non-volatile memory. The individual memory 24 is implemented as a memory module connected to DIMMs, for example.  [0017] The processing circuit 22 can access the individual memory 24 and the memory device 30 by executing a command for memory access such as a storage command or a load command. In addition, the processing circuit 22 can respectively access the individual memory 24 and the memory device 30 in small area units such as cache line units or byte units. The processing circuit 22 and the individual memory 24 are connected by a memory bus. In addition, the processing circuit 22 and the memory device 30 are connected through a shared memory interface.  [0018] For example, the processing circuit 22 uses the memory device 30 and the individual memory 24 as the main memory device. In addition, the processing circuit 22 can also use the individual memory 24 as a cache memory of the memory device 30. In other words, the processing circuit 22 can use the individual memory 24 as a memory for temporarily storing data stored in the memory device 30.  [0019] The memory device 30 has a common memory unit 31 and a memory controller 40. The common memory unit 31 includes a first common memory 32, a second common memory 34, and a third common memory 36.  [0020] The first common memory 32 and the second common memory 34 are large-capacity non-volatile memories (NVM), and the standby power is lower than that of the individual memories 24. For example, the standby power of the first common memory 32 and the second common memory 34 is zero.  [0021] The response speed of the second common memory 34 is faster than that of the first common memory 32 (in other words, the access delay is small). In addition, the memory capacity of the second common memory 34 may be smaller than that of the first common memory 32.  [0022] In addition, the first common memory 32 and the second common memory 34 may have a response speed slower than that of the individual memory 24, for example. As an example, the first common memory 32 and the second common memory 34 are memories whose access delay is from 10 n seconds to several μs.  [0023] In addition, the first common memory 32 and the second common memory 34 can write and read data in the same data unit as the individual memory 24. For example, the first common memory 32 and the second common memory 34 can write and read data in small area units such as byte units. [0024] The first common memory 32 and the second common memory 34 are, for example, MRAM, PCM (Phase Change Memory), PRAM (Phase Random Access Memory), PCRAM (Phase Change Random Access Memory), and ReRAM (Resistance Change). Random Access Memory), FeRAM (Ferroelectric Random Access Memory), 3DXPoint, or Memristor, etc. The first common memory 32 and the second common memory 34 may be so-called storage-level memories (SCM). In addition, the first common memory 32 and the second common memory 34 can continue to be realized by continuously inputting power to a volatile memory that can be accessed with very low standby power and small area units such as byte units. can.  [0025] The third common memory 36 is a volatile memory in which the stored data will disappear after the power supply of DRAM etc. is stopped. The third common memory 36 may be a non-volatile memory such as MRAM capable of high-speed access like DRAM.  [0026] The response speed of the third common memory 36 is faster than that of the first common memory 32 and the second common memory 34. In addition, the third common memory 36 has a memory capacity smaller than that of the first common memory 32 and the second common memory 34, and the standby power may be larger.  [0027] In addition, the common memory portion 31 may have a configuration that does not include the third common memory 36. In addition, the common memory portion 31 may have a configuration that does not include the second common memory 34. In addition, the memory device 30 may further include a non-volatile memory that is faster than the second common memory 34 and can be accessed in small area units such as byte units.  [0028] The memory controller 40 receives an access request to the common memory unit 31 from the processing circuit 22 included in each of the plural information processing devices 20. The memory controller 40 writes and reads data to the first common memory 32, the second common memory 34, or the third common memory 36 in response to the access request. When the memory controller 40 receives the read request, the data read from the first common memory 32, the second common memory 34, or the third common memory 36 sends the access request to the information processing device 20. The processing circuit 22 has a reply.  [0029] For example, the memory controller 40 makes the first common memory 32, the second common memory 34, and the third common memory 36 function as a hybrid main memory device of the processing circuit 22. Also, for example, the memory controller 40 may use the second common memory 34 and the third common memory 36 as a cache memory of the first common memory 32. In other words, the memory controller 40 can use the second common memory 34 and the third common memory 36 to temporarily store data stored in the first common memory 32 for the purpose of speeding up access. Of the memory. The common memory unit 31 is a main memory device that mixes three memories with different characteristics. Among the main memory devices, the response speed is fast or the response speed is slow. The memory controller 40 aims at increasing the speed of access, moving data appropriately in the main memory device, or focusing on the arrangement of the data in the main memory device. In this way, the memory controller 40 can store data, so that the memories with different characteristics in the common memory portion 31 can be used efficiently.  [0030] Here, the storage area of the common storage unit 31 is divided into logically plural areas. Next, the memory controller 40 sets the access method to each plural area. When the memory controller 40 receives an access request for any area from the information processing device 20, it accesses the area by the access method set for the area. [0031] For example, in the memory controller 40, as the access method, it is set: the individual memory 24 is used as a cache memory for hierarchical access processing, and the first common memory 32 is used as the memory. The target is selected for direct access processing, the second common memory 34 is used as the access target for direct access processing, and the third common memory 36 is used as the access target for direct access processing. In addition, the details of specific examples of the access method will be described later.  [0032] When setting the access method, the memory controller 40 instructs the plural information processing device 20 of the access method for each plural area. For example, the memory controller 40 instructs the access method of each plural area to the information processing device 20 that has access to the area. Then, when the information processing device 20 accesses the memory device 30, it executes data writing and reading in accordance with the access method instructed for the access target area. In addition, the common memory interface connecting each plurality of information processing devices 20 and the memory device 30 has: the information indicating the access method is transferred from the memory controller 40 of the memory device 30 to each of the plurality of information processing devices 20 function.  [0033] FIG. 2 is a diagram showing an example of the external configuration of the information processing system 10. The information processing system 10 may include a carrier 42, for example. The carrier 42 contains a plurality of information processing devices 20 and a memory device 30. The plural information processing device 20 is connected to the memory device 30 in a state of being stored in the carrier 42. In addition, the information processing system 10 is not limited to the configuration shown in FIG. 2 and may have other configurations.  [0034] FIG. 3 is a diagram showing the configuration of the memory controller 40 according to the first embodiment. The memory controller 40 has an access control unit 52, an analysis unit 54 and a setting unit 56.  [0035] The access control unit 52 receives an access request to the common memory unit 31 from each of the plural information processing devices 20. For example, the access control unit 52 receives a write request or a read request to the common memory unit 31 from the plural information processing device 20. Next, the access control unit 52 controls the writing and reading of data to the common memory 31 in response to the access request of the plurality of information processing devices 20 to the common memory 31.  [0036] The analysis unit 54 analyzes the access to the common memory unit 31 by the plural information processing device 20. Specifically, for example, the analysis unit 54 generates the accessed statistical information and analyzes the statistical information. Next, the analysis unit 54 determines the access method of the plural information processing device 20 to the common memory unit 31 based on the analysis result.  [0037] The setting unit 56 sets the access method determined by the analysis unit 54 to the access control unit 52. In addition, the setting unit 56 instructs the determined access methods to the plural information processing devices 20 respectively.  [0038] Moreover, the information processing device 20 accesses the common memory unit 31 by the access method instructed from the setting unit 56. Specifically, each plural information processing device 20 gives an access request to the access control unit 52 in accordance with the instructed access method. Next, when the access control unit 52 receives an access request to the common memory unit 31 from the information processing device 20, it writes and writes data to the common memory unit 31 in accordance with the access method set by the setting unit 56 Data reading.  [0039] Here, the storage area of the common storage unit 31 is divided into logically plural areas. The analysis unit 54 analyzes the access to each complex area by the complex information processing device 20, and determines the access method to each complex area. Next, the setting unit 56 sets the determined access method to the access control unit 52 for each plural area. In addition, the setting unit 56 instructs the plural information processing device 20 to determine the access method for each plural area.  [0040] The information processing device 20 accesses the common memory unit 31 in accordance with the access method indicated for the access target area. Specifically, the information processing device 20 makes an access request to the access control unit 52 in accordance with the access method instructed for the plural target areas. In addition, when receiving an access request from the information processing device 20, the access control unit 52 performs data writing and data reading in the corresponding area in accordance with the access method set for the access target. [0041] For example, the analysis unit 54 determines as an access method for each plural area: a first access process of writing and reading data transferred from the common memory unit 31 to the individual memory 24, or The second access process of direct writing and reading is performed on the common memory 31. Next, the setting unit 56 sets either the first access process or the second access process to the access control unit 52 for each plural area, and instructs the plural information processing device 20 to the first access process or the second access process 2 Any one of access processing. [0042] Next, each plural information processing device 20, when accessing the area instructed for the first access processing, causes the access control unit 52 to transfer the data from the common memory unit 31 to the individual memory 24, and to the individual Data in the memory 24 is written and read. In addition, when each plural information processing device 20 accesses the area instructed for the second access processing, the access control unit 52 is given a request to write and read the data stored in the common memory unit 31. In addition, the details of the first access process and the second access process will be described with reference to FIG. 4 again.  [0043] In addition, when the analysis unit 54 determines the first access process as the access method, it may further determine the used capacity in the individual memory 24. At this time, the setting unit 56 further instructs the plurality of information processing devices 20 to use the determined capacity. Next, each plural information processing device 20 stores the data transferred from the common storage unit 31 in the individual memory 24 within the range of the instructed use capacity. In addition, the used capacity in the individual memory 24 will be described again with reference to FIG. 7.  [0044] Next, when the analysis unit 54 determines the first access process as the access method, it may determine the backoff method in the individual memory 24. At this time, the setting unit 56 also instructs the plurality of information processing devices 20 to determine the escape method. Next, each plural information processing device 20, when the data transferred from the common memory portion 31 to the individual memory 24 exceeds the instructed use capacity, the data is evacuated from the individual memory 24 to the common memory by the instructed escape method 31. In addition, the back-off method in the individual memory 24 will be described again with reference to FIGS. 8, 9 and 10.  [0045] In addition, the common memory unit 31 may include a first common memory 32 and a second common memory 34 whose response speed is faster than that of the first common memory 32. At this time, the first common memory 32 corresponds to each of the logically divided plural areas in the common memory portion 31 and includes physical plural memory areas. The analysis unit 54 determines the high-speed processing or the low-speed processing as the access method for the area where the second access processing is set. Next, the setting unit 56 resets the high-speed processing or the low-speed processing to the area for determining the second access processing for the access control unit 52. [0046] The access control unit 52, when receiving an access request due to the second access process from the information processing device 20 for the area where the low-speed processing is set, directs the data to the corresponding area in the first common memory 32 Write and read. In addition, the access control unit 52 transfers the data of the area corresponding to the first common memory 32 to the second common memory 34 in advance when setting high-speed processing. Next, when the access control unit 52 receives an access request due to the second access process from the information processing device 20 for the area where the high-speed processing is set, it transfers it from the first common memory 32 to the second common memory in advance. 34 data is directly written and read.  [0047] When access is performed by the second access process, if the access delay is greater, the processing performance of the information processing device 20 will decrease. Next, the access control unit 52 transfers the data from the first common memory 32 with a large access delay to the second common memory 34 with a small access delay in advance, so that the processing performance of the information processing device 20 can be improved. In addition, the high-speed processing and low-speed processing will be described with reference to FIG. 5 again.  [0048] The analysis unit 54 may determine the degree of parallelism indicating the number of processes to be executed in parallel as the access method for the area where the second access process is set. Next, the setting unit 56 may instruct the information processing device 20 that makes an access request in the area where the second access process is determined, and may instruct the determined parallelism.  [0049] Upon receiving the instruction of the degree of parallelism, the processing circuit 22 of the information processing device 20 executes the parallel processing at the instructed degree of parallelism. For example, when 1 is indicated as the degree of parallelism, the processing circuit 22 executes processing with, for example, one resource (one thread). For example, when 2 is indicated as the degree of parallelism, the processing circuit 22 executes parallel processing with, for example, two resources (two threads). For example, when 4 is indicated as the degree of parallelism, the processing circuit 22 executes parallel processing with, for example, 4 resources (4 threads). [0050] More specifically, for example, the processing circuit 22 uses a hyper-threading (Hyper-Threading) mechanism that uses one processor as a plurality of virtual processors to change the number of threads to be executed (parallelism) . In addition, the processing circuit 22 may change the number of threads (the degree of parallelism) by executing different plural applications at the same time. In addition, the operating system operating on the information processing device 20 may change the switching speed of the context switch for context switching in accordance with the instructed parallelism. For example, the operating system can switch the switch method of the context switch, or switch the switch method according to the instructed parallelism.  [0051] The analysis unit 54 may determine the degree of parallelism in accordance with the access delay of the area where the data is written by the second access process. At this time, the analysis unit 54 determines the degree of parallelism so that the greater the access delay is, the degree of parallelism is increased. For example, the analysis unit 54 determines the parallelism of the area in which data is written to the second common memory 34 with a small access delay (fast response speed) as the first parallelism (for example, parallelism = 2). In addition, the analysis unit 54 determines the degree of parallelism in the area where data is written to the first common memory 32, which has a large access delay (slow response speed), to a second degree of parallelism that is higher than the first degree of parallelism (for example, , The degree of parallelism = 3).  [0052] When the degree of parallelism is increased, the processing circuit 22 can enter processing in other threads even if the processing in the thread is delayed due to the large access delay of the memory device 30. Therefore, when the degree of parallelism is increased, the processing circuit 22 can perform processing at high speed without stalling even if processing is performed using data stored in an area with a large access delay. [0053] In addition, when the analysis unit 54 can obtain the CPU utilization rate of the processing circuit 22 of the plural information processing device 20 in the form of the number of stall cycles, etc., the parallel degree may be changed in accordance with the obtained CPU utilization rate. . For example, at this time, the analysis unit 54 increases the degree of parallelism in areas with low CPU utilization, and decreases the degree of parallelism in areas with high CPU utilization. When the CPU utilization is high, the processing circuit 22 cannot perform high-speed processing even if the parallelism is increased. Therefore, by changing the degree of parallelism in this way, the analysis unit 54 can efficiently operate the processing circuit 22.  [0054] In addition, the analysis unit 54 may determine the degree of parallelism in addition to the high-speed processing or the low-speed processing for the area where the second access processing is set. For example, the analysis unit 54 determines the area determined to be high-speed processing (that is, the area where data is written or read in the second common memory 34) to be the first parallelism. In addition, the analysis unit 54 determines the area determined to be low-speed processing (that is, the area where data is written or read in the first common memory 32) to be a second parallel degree higher than the first parallel degree .  [0055] With this, the information processing device 20 can perform processing at high speed because data is written and read in the second common memory 34 with a small access delay for the area determined to be high-speed processing. In addition, because the information processing device 20 executes parallel processing with a higher degree of parallelism for the area determined to be low-speed processing, the processing can be executed at high speed. In the second access process, since the access control unit 52 executes the transfer process from the first common memory 32 to the second common memory 34, power consumption is large. Therefore, the second access processing is executed at a high speed with low power consumption, and the analyzing unit 54 may determine the low-speed processing and also set it to increase the degree of parallelism.  [0056] In addition, when the analysis unit 54 determines the high-speed processing, it may detect a sub-area with a high possibility of being accessed in the area determined to be the high-speed processing. In addition, the access control unit 52 transfers the data of the sub-area to the second common memory 34 in advance. That is, the access control unit 52 does not transfer data to the second common memory 34 for areas other than the sub-area within the area determined to be processed at high speed. Next, the access control unit 52 directly writes and reads the data previously transferred to the second common memory 34 in response to the access request for the sub-area from the second access processing from each of the plural information processing devices 20. In addition, the access control unit 52 responds to the access request from each of the plurality of information processing devices 20 in the second access process to an area different from the sub-area in the area determined to be high-speed processing, and makes a request to the first common memory 32 for direct writing and reading. [0057] Next, the setting unit 56 performs data writing and reading on the information processing device 20 in the subarea (that is, the information processing device 20 that performs data writing or reading on the second common memory 34). ) Indicates the first degree of parallelism. In addition, the setting unit 56 performs data writing and reading of the information processing device 20 in areas other than the sub-areas within the area determined to be high-speed processing (that is, data writing in the first common memory 32). The input or read-out information processing device 20) indicates a second degree of parallelism that is higher than the first degree of parallelism. With this, since data is written to and read from the second common memory 34 with a small access delay for the sub-regions, the information processing device 20 can perform processing at high speed. In addition, because the information processing device 20 executes parallel processing for areas outside the sub-areas among the areas determined to be high-speed processing, the processing can be executed at high speed.  [0058] FIG. 4 is a diagram for explaining the first access process and the second access process. [0059] The processing circuit 22 of the information processing device 20 performs the first access processing to the memory device 30 when writing or reading data to the first area instructing the first access processing as an access method. The requested access. [0060] When the access control unit 52 of the memory device 30 receives an access request from the information processing device 20 for the first area where the first access process is set, it reads the target data from the first common memory 32 The data block (for example, a unit called page) is forwarded to the information processing device 20 that sends the access request. The processing circuit 22 receives the data block from the access control unit 52 and stores it in the individual memory 24. In this way, the individual memory 24 can store the data block in the first common memory 32 containing the data to be accessed. Next, the processing circuit 22 writes or reads the target data contained in the data block transferred to the individual memory 24, for example, in byte units.  [0061] Next, when the processing circuit 22 writes or reads data to the first area, it writes and reads data to the individual memory 24. In addition, when the processing circuit 22 writes or reads new object data that is not stored in the individual memory 24, it performs an access request due to the first access processing to the memory device 30, and includes the new object The data block of the data is stored in the individual memory 24. [0062] Furthermore, in the first access process, the processing circuit 22 causes the memory to be stored in the individual memory 24 when a new data block cannot be transferred because the amount of data transferred to the individual memory 24 reaches the previously instructed use capacity. The unnecessary data blocks of the memory 24 are evacuated to the common memory unit 31. In addition, the processing circuit 22 also evacuates the unnecessary data blocks stored in the individual memory 24 to the common memory unit 31 when there is a data block that is determined to not need to be stored in the individual memory 24 in advance.  [0063] By executing such first access processing, the information processing device 20 can access data at high speed. Thereby, the information processing device 20, for example, when executing an application program that repeatedly accesses the same data, that is, an application program that performs local high memory access, can shorten the memory access time. , To achieve high efficiency processing. [0064] In addition, the processing circuit 22 of the information processing device 20 performs a second access to the memory device 30 when writing or reading data to the second area instructing the second access processing as an access method Process the access request caused. When the access control unit 52 of the memory device 30 receives an access request from the information processing device 20 for the second area for setting the second access process, it responds to the object data stored in the common memory unit 31 in bytes The unit is directly written and read.  [0065] By executing such second access processing, the information processing device 20 can access data with a low processing amount. Thereby, the information processing device 20 can eliminate the transfer processing when, for example, an application program that accesses multiple different data once, that is, an application program that performs memory access with low locality, is executed. The burden of realizing high-efficiency processing.  [0066] FIG. 5 is a diagram for explaining high-speed processing and low-speed processing in the second access processing.  [0067] The access control unit 52 executes high-speed processing when it receives an access request due to the second access processing from the information processing device 20 for the third area set for high-speed processing as an access method. [0068] Specifically, when the setting unit 56 sets the third area to high-speed processing, the access control unit 52 transfers the data of the third area stored in the first common memory 32 to the second common memory in advance. Memory 34. Next, when the access control unit 52 receives an access request due to the second access process from the information processing device 20 for the third area for which high-speed processing is set, it uses the data previously transferred to the second common memory 34 Write and read directly in cache line unit or byte unit.  [0069] In addition, the access control unit 52 may transfer all the data contained in the third area to the second common memory 34 in advance, or may transfer part of the data in the third area to the second common memory 34. In the third area, when an access request for data that has not been transferred to the second common memory 34 is received, the access control unit 52 performs direct writing and reading in the first common memory 32. Instead, the access control unit 52 transfers the data stored in the first common memory 32 to the second common memory 34 at the time when an access request of a number greater than the threshold is received, and then transfers the data stored in the first common memory 32 to the second common memory 34. 34. Writing and reading are also possible. [0070] In addition, the access control unit 52 further divides the third area into a plurality of sub-areas, and for a sub-area that has received an access request of a number greater than the threshold value, stores the data in the first common memory 32 in the sub-area. All the data may be transferred to the second common memory 34. Then, after that, the access control unit 52, when accessing the memory of the second common memory 34, continuously generates numbers above the threshold value other than the transferred subregion, and transfers it to the second subregion. 2 The data in the common memory 34 may be written back to the first common memory 32. For example, data representing each layer of a neural network in deep learning composed of multiple layers may correspond to each subregion. [0071] In addition, the access control unit 52, for example, when the data contained in the third area is read in parallel by the information processing device 20 more than a predetermined number, or when the number of accesses per unit time is large, The data contained in the third area may be transferred to a plurality of positions in the second common memory 34. Thereby, the access control unit 52 can distribute the access positions in the second common memory 34. [0072] Furthermore, in high-speed processing, the access control unit 52, for example, when the amount of data transferred to the second common memory 34 exceeds a preset capacity, or when there is a judgment that it does not need to be stored in the second common memory in advance In the area of the memory 34, the data stored in the second common memory 34 may be written back to the first common memory 32.  [0073] In addition, the access control unit 52 executes the low-speed processing when receiving an access request due to the second access processing from the information processing device 20 for the fourth area where the low-speed processing is set as the access method. Specifically, when the access control unit 52 receives an access request due to the second access process from the information processing device 20 for the fourth area where the low-speed processing is set, the access control unit 52 issues a request to the fourth area in the first common memory 32 , To directly write and read data in byte units.  [0074] The response speed of the second common memory 34 is faster than that of the first common memory 32. Therefore, when high-speed processing is executed, the access control unit 52 can respond to an access request at a high speed.  [0075] In addition, when performing low-speed processing, the access control unit 52 may not perform transfer from the first common memory 32 to the second common memory 34. Therefore, when performing low-speed processing, the access control section 52 can reduce the processing amount.  [0076] FIG. 6 is a diagram again used to explain the highest speed processing in the second access processing. The common memory section 31 may include a third common memory 36 in addition to the first common memory 32 and the second common memory 34. At this time, the setting unit 56 can again determine the highest speed processing as the access method for the area where the second access processing is set.  [0077] The access control unit 52 executes the highest speed processing when it receives an access request from the information processing device 20 for the second access processing for the fifth area where the highest speed processing is set as the access method. [0078] Specifically, when the access control unit 52 sets the fifth area from the setting unit 56 to the highest speed processing, it transfers the data of the fifth area stored in the first common memory 32 to the third Common memory 36. Next, when the access control unit 52 receives an access request due to the second access process from the information processing device 20 for the fifth area for which the highest speed processing is set, it transfers the data in advance to the third common memory 36, Direct writing and reading are performed in units of cache lines.  [0079] In addition, the access control unit 52 may transfer a part of the fifth area to the third common memory 36 as in the high-speed processing. At this time, the access control unit 52 executes the same processing as the high-speed processing. Also, in high-speed processing, the access control unit 52, for example, when the amount of data transferred to the third common memory 36 exceeds a preset capacity, or when it is judged that it does not need to be stored in the third common memory 36 in advance In the case of the area, the data stored in the third common memory 36 may be written back to the first common memory 32.  [0080] Since the third common memory 36 is a DRAM, its response speed is faster than that of the first common memory 32 and the second common memory 34. Therefore, by performing such highest-speed processing, the access control unit 52 can respond at a higher speed when, for example, receiving access requests from a very large number of information processing devices 20 simultaneously.  [0081] FIG. 7 is a diagram for explaining the indication content of the used capacity in the individual memory 24. The information processing device 20 that accesses the first area determined as the first access process further indicates the usage capacity of the individual memory 24. The information processing device 20 that instructs the use process causes the data transferred from the common memory section 31 to be stored in the individual memory 24 within the range of the instructed use capacity.  [0082] For example, the information processing device 20 inputs power to the DRAM constituting the memory area of the instructed use capacity, stops inputting power to the DRAM constituting other memory areas, or sets it to an automatic update state. The information processing device 20, for example, when running Linux (registered trademark) as an operating system, can control the operation size of this type of DRAM by using the cgroups function. [0083] The analysis unit 54 can determine a power-saving region (sixth region) or a power-saving region (seventh region) for the first region for which the access method is determined as the first access process. . For example, the analysis unit 54 may determine the first area where the number of accesses per unit time is less than a predetermined value as the area for power saving (the sixth area), and the number of accesses per unit time may be lower than the predetermined value. The first area where the predetermined value is still larger is determined as the area where power saving is not performed (the seventh area). [0084] At this time, the setting unit 56 instructs the information processing device 20 that accesses the power-saving area (the sixth area) as the first value for storing the data of the sixth area in the individual memory. 24 usage capacity. The first value may be, for example, a first ratio to the size of the sixth area (for example, a size of 1/5). Then, the information processing device 20 that accesses the sixth area stores the data stored in the sixth area in the individual memory 24, and operates the memory area of the designated use capacity in the individual memory 24, and Stop the movement of other memory areas. [0085] At this time, the setting unit 56 instructs the information processing device 20 that accesses the area (the seventh area) that is not to be power-saving, and instructs the second value greater than the first value as the second value for setting the seventh The data of the area is stored in the used capacity of the individual memory 24. The second value may be, for example, a second ratio to the size of the seventh area (for example, a size of 1/2). Next, the information processing device 20 that accesses the seventh area stores the data stored in the seventh area in the individual memory 24, and operates the memory area of the designated use capacity in the individual memory 24, and Stop the movement of other memory areas.  [0086] Therefore, the information processing device 20 can make the individual memory 24 operate with an appropriate usage capacity. In this way, the information processing device 20 can suppress the wasted power consumption in the individual memory 24.  [0087] FIG. 8 is a diagram for explaining the normal back-off process. During the first access process, the information processing device 20 evacuates any data blocks stored in the individual memory 24 to the common memory when the amount of data stored in the individual memory 24 reaches the indicated use capacity. After the part 31 (after writing back), a new data block is stored in the individual memory 24. [0088] When the setting unit 56 specifies the first access process as the access method for the plural information processing device 20, it instructs the data block stored in the individual memory 24 to determine which data block to use The evacuation method of evacuation is also possible.  [0089] As the retreat method, the setting unit 56 may instruct normal retreat processing or active retreat processing, for example. For example, the setting unit 56 instructs an aggressive back-off process as a back-off method for a power-saving area (a sixth area), and instructs a normal back-off process as a back-off method for a power-saving area (a seventh area).  [0090] In the normal back-off process, the information processing device 20 sets the queue area in the individual memory 24. The capacity of the queue area is the indicated used capacity. In the example of Figure 8, the queue area can memorize 4 pages.  [0091] In the normal back-off process, the information processing device 20 is an area where data blocks are backed out from the queue area in an LRU (Least Recently Used) manner. That is, in the normal back-off process, the information processing device 20 stores the new data block transferred from the common memory unit 31 at the end of the queue area. The information processing device 20, in a state where there is no empty capacity in the queue area, when a new data block is transferred, the first data block in the queue area (that is, the earliest written data block) is retracted to The common memory unit 31 (write-back). In the example of FIG. 8, the information processing device 20 evacuates page #1, which is the first data block, to the common memory unit 31. Next, the information processing device 20 retreats the previous data block, and stores the new data block at the beginning of the queue area.  [0092] FIG. 9 is a diagram for explaining the first processing in the active backoff processing. Fig. 10 is a diagram for explaining the second processing in the active backoff processing.  [0093] In the normal back-off process, the information processing device 20 sets the individual memory 24: the initial area and the queue area. The total capacity of the initial area and the queue area is the indicated used capacity. The initial area is the area where the data block is backed off by LRU. The queue area is an area where the data block is backed off by LRU. In the example of Fig. 9 and Fig. 10, the initial area can memorize 1 page. The queue area can memorize 4 pages.  [0094] In the active back-off process, the information processing device 20 stores the new data block transferred from the common memory unit 31 at the end of the initial area. The information processing device 20 retransmits a new data block in a state where there is no empty capacity in the initial area, and re-transmits the first data block in the initial area (that is, the data block written in the first area) Access is to determine whether to write or read data again.  [0095] When no re-access is performed, the information processing device 20 evacuates the first data block of the initial area to the common memory unit 31. In the example of FIG. 9, the first data block in the initial area, page #5, is not accessed again. Next, in the example of FIG. 9, the information processing device 20 evacuates #5 to the common memory unit 31. Next, the information processing device 20 retreats the data block at the head of the primary area, and stores the new data block at the head of the primary area.  [0096] On the other hand, when re-accessing, the information processing device 20 stores the first data block of the initial area to the end of the queue area. The information processing device 20, in a state where there is no empty capacity in the queue area, when the data block at the head of the initial area is transferred, the data block at the head of the queue area (that is, the data written in the queue area at the earliest Block) is retreated to the common memory unit 31. In the example of FIG. 10, the information processing device 20 evacuates page #1, which is the first data block of the queue area, to the common memory unit 31. Next, the information processing device 20 retreats the first data block, and stores the first data block of the initial area at the beginning of the queue area.  [0097] By using such a back-off process, the information processing device 20 can efficiently keep the frequently accessed data in the queue area. Thereby, the information processing device 20 can efficiently perform caching (caching) even when the use capacity of the individual memory 24 is small for power saving.  [0098] In addition, the setting unit 56 is not limited to the normal back-off process and the active back-off process, and it may instruct the back-off method using any algorithm. For example, it is also possible to instruct an escape method that uses machine learning to escape the data block. In addition, the setting unit 56 can usually instruct the same evacuation method. In addition, the setting unit 56 does not instruct the escape method, and the escape process may be executed by the escape method registered in advance in the information processing device 20.  [0099] FIG. 11 is a diagram showing an example of a processing procedure of the information processing system 10 according to the first embodiment. For example, the information processing system 10 executes processing in the flow shown in FIG. 11.  [0100] First, in S11, the plural information processing device 20 starts to execute the application program. Next, in S12, the setting unit 56 of the memory device 30 sets the access method for all areas to the access control unit 52 as the second access process. At the same time, the setting unit 56 instructs the plural information processing device 20 to use the second access process as the access method for all areas.  [0101] Next, in S13, the analysis unit 54 of the memory device 30 analyzes the access to the common memory unit 31 by the complex information processing device 20 for each complex area. For example, the analyzing unit 54 obtains the locality of access, the number of accesses per unit time (access rate), and the information processing device 20 that performs access, and the like.  [0102] Next, in S14, the analysis unit 54 of the memory device 30, after starting the execution of the application program, determines whether a predetermined measurement period has elapsed. When the measurement period has not elapsed (No of S14), the analysis unit 54 of the memory device 30 waits for processing in S14. The analysis unit 54 of the memory device 30 advances the process to S15 when the measurement period has elapsed (Yes in S14).  [0103] In S15, the analysis unit 54 of the memory device 30 determines the access method for each area based on the analysis result. Next, in S16, the setting unit 56 of the memory device 30 sets the determined access method to the access control unit 52, and instructs the access method to the plural information processing device 20.  [0104] Through the above processing, the analysis unit 54 of the memory device 30 directly writes and reads the data stored in the common memory unit 31 after a predetermined measurement period has passed after the execution of the application program is started. Thereby, the analysis unit 54 can accurately analyze access to all areas and determine an appropriate access method. In addition, after determining the access method, the information processing system 10 may also execute the processing of S12 to S16 every fixed period.  [0105] Fig. 12 is a diagram showing an example of an analysis result. As an example, the analysis unit 54 obtains the memory access information as an analysis result for each complex area, as shown in FIG. 12. [0106] For example, the analysis unit 54 analyzes the statistical information of the access made by the complex information processing device 20, and obtains information indicating that the locality is higher than a predetermined value or the locality is below (lower) a predetermined value for each complex area. Memory access information. More specifically, for example, the analysis unit 54 measures the number of accesses per minute unit (for example, page or byte, etc.) in each complex area. The analysis unit 54 calculates the access deviation (e.g., dispersion) in the area based on the measured number of accesses per minute unit. Next, the analysis unit 54 can determine that the locality is higher than the predetermined value if the calculated deviation is smaller than the predetermined value. If the deviation is more than the predetermined value, it can be determined that the locality is at the predetermined value. the following. In addition, the analysis unit 54 may also determine whether the locality is higher than a predetermined value by other methods.  [0107] Also, for example, the analysis unit 54 analyzes the statistical information of the access performed by the plural information processing device 20, and for each plural area, may obtain the memory access information indicating the accessing information processing device 20. For example, the analysis unit 54 may obtain the identification number of the information processing device 20 that is accessed for each area. [0108] In addition, for example, the analysis unit 54 analyzes the statistical information of the accesses performed by the plural information processing device 20, and obtains for each plural area, the number of accesses per unit time (access rate) is more than a predetermined value. The value is still high, or the access rate is below (lower) a predetermined value. More specifically, for example, the analysis unit 54 may detect the number of accesses per predetermined time for each complex number area, and calculate the average of the number of accesses per predetermined time as the access rate.  [0109] In addition, the analysis unit 54 is not limited to the statistical information of the access mentioned above, and may obtain other statistical information of the access performed by the plural information processing device 20. Furthermore, the analysis unit 54 is not limited to the analysis results (memory access information) mentioned above, and other analysis results may be obtained from the statistical information.  [0110] FIG. 13 is a diagram showing an example of the procedure of the access method determination process. For each complex area, the analysis unit 54 determines the access method by, for example, the flow shown in FIG. 13.  [0111] First, in S21, the analysis unit 54 determines whether the locality is higher than a predetermined value. The analysis unit 54 advances the process to S22 when the area is the second area whose locality is less than or equal to the predetermined value (No of S21). The analysis unit 54 advances the process to S26 when the area is the first area whose locality is higher than the predetermined value (Yes in S21).  [0112] In S22, the analysis unit 54 determines the access method of the area as the second access process. Immediately after S22, the analysis unit 54 advances the process to S23.  [0113] In S23, the analysis unit 54 determines whether or not the second area for which the access method is determined to be the second access process is an area for high-speed processing. For example, the analysis unit 54 determines whether or not the second area is an area that is accessed from the information processing apparatus 20 of a predetermined number or more.  [0114] When the area is a high-speed processing area, for example, when the area is accessed from the information processing device 20 of a predetermined number or more (Yes in S23), the analysis unit 54 advances the processing to S24. Next, in S24, the analysis unit 54 determines the second area as the third area for high-speed processing.  [0115] In addition, when the area is not a high-speed processing area, for example, when the area is not accessed from the information processing device 20 of a predetermined number or more (No of S23), the analysis unit 54 advances the process to S25. Next, in S25, the analysis unit 54 determines the second area as the fourth area for low-speed processing.  [0116] On the other hand, in S26, the analysis unit 54 determines the access method of the area as the first access process. The analysis unit 54 immediately follows S26 and advances the process to S27.  [0117] In S27, the analysis unit 54 determines whether or not it is a power-saving area for the first area whose access method is determined as the first access process. For example, the analysis unit 54 determines whether the number of accesses per unit time of the first area is less than or equal to a predetermined value.  [0118] When the area is a power-saving area, for example, when the number of accesses per unit time is equal to or less than a predetermined value (Yes in S27), the analyzing unit 54 advances the process to S28. Next, in S28, the analysis unit 54 determines the usage capacity of the individual memory 24 in the first area to the first value (for example, the size of 1/5 of the area).  [0119] The analysis unit 54 advances the process to S29 when the area is not a power-saving area, for example, when the number of accesses per unit time is greater than a predetermined value (No in S27). Next, in S29, the analysis unit 54 determines the use capacity of the individual memory 24 in the first area to a second value (for example, 1/2 of the area) that is larger than the first value.  [0120] After finishing the processing of S24, S25, S28, or S29, the analysis unit 54 ends this flow for the area.  [0121] FIG. 14 is a diagram showing an example of a setting table of an access method. The setting unit 56 sets, for example, the access method determined by the analysis unit 54 in the setting table. For example, as shown in FIG. 14, the setting unit 56 sets the first access process or the second access process as the access method for each area of the setting table.  [0122] Next, when the setting unit 56 sets the first access process as the access method, it sets the used capacity in the individual memory 24 in the setting table. In addition, when setting the second access process as the access method, the setting unit 56 further sets the low-speed process or the high-speed process in the setting table.  [0123] Again, again, the setting unit 56 sets the identification number of the information processing device 20 to be accessed for each area in the setting table. Next, the setting unit 56 instructs the information processing device 20 that accesses each plurality of areas, and instructs the access method and usage capacity set for the area.  [0124] (Effect)    As described above, in the information processing system 10, the memory device 30 instructs each of the plural information processing devices 20 to access the common memory unit 31. In the past, the general memory control device would perform passive processing in response to the write or read request of the received data. In contrast, the memory device 30 performs active processing that instructs the plural information processing devices 20 how to act.  [0125] In this way, the information processing system 10 accesses the memory device 30 for each of the plurality of information processing devices 20 in an appropriate access method through a combination of application programs executed on the plurality of information processing devices 20. Therefore, according to the information processing system 10, the power consumption of the entire system can be suppressed, the processing speed can be increased, or the deterioration speed of the memory device 30 can be slowed down to improve reliability.  [0126] In addition, the memory device 30 can access the same data to two or more information processing devices 20. Therefore, the information processing system 10 can obtain data between two or more information processing devices 20 without going through the network. Thus, according to the information processing system 10, when large-scale data processing is executed, the transfer processing does not become a bottleneck, and the processing can be executed at a high speed.  [0127] In addition, the information processing system 10 uses the memory device 30 with low standby power as the main memory device of the plural information processing devices 20. Thus, according to the information processing system 10, even when large-scale data processing is performed, power consumption can be reduced.  [0128] As described above, the information processing system 10 of the present embodiment uses the plural information processing devices 20 to efficiently perform data processing.    [0129] (Second Embodiment)    FIG. 15 is a diagram showing the configuration of the memory controller 40 of the second embodiment. The memory controller 40 of the second embodiment further includes a prediction model storage unit 72 and a prediction unit 74.  [0130] The prediction model storage unit 72 stores the prediction model. The predictive model is a model used to access the common memory section 31 from the complex information processing device 20 to specify a model predicted to be the data accessed by the complex information processing device 20. The prediction model is generated in advance through learning and the like. The prediction model storage unit 72 may also be provided outside the memory device 30.  [0131] The prediction unit 74 acquires the access mode of each complex information processing device 20 to the common memory unit 31 from the access control unit 52. For example, the prediction unit 74 obtains patterns such as the data position of the common memory unit 31 accessed by each complex information processing device 20.  [0132] The prediction unit 74 specifies the first data that is predicted to be accessed by the information processing device 20 based on the acquired model and prediction model. The first data may be data in units of bytes, or data in units of blocks that are predicted to be data to be accessed. When the prediction unit 74 specifies the first data, among the plural information processing devices 20, the information processing device 20 predicted to access the first data instructs to obtain the first data in advance. Then, the information processing device 20 that has received the instruction issues an access request to obtain the first data to the access control unit 52. For example, the information processing device 20 that has received the instruction may obtain the first data through the second access process.  [0133] With this, the information processing device 20 can obtain in advance the first data that is predicted to be accessed in the future. Thereby, the information processing device 20 can perform data processing on the first data at a higher speed.  [0134] Furthermore, the prediction unit 74 specifies the second data that is predicted to be accessed by the information processing device 20 based on the acquired model and prediction model. Next, the prediction unit 74, when specifying the second data, forwards the second data to the access control unit 52 in advance to another storage unit whose transmission response speed is faster than the storage unit storing the second data.  [0135] For example, the access control unit 52 instructs the information processing device 20 predicted to access the second data to transfer the specific second data to the individual memory 24 in advance. Next, at this time, the information processing device 20 that has received the instruction issues an access request due to the first access process to the access control unit 52 in order to obtain the second data. In this way, the information processing device 20 can transfer the second data predicted to be accessed in the future to the individual memory 24 in advance. [0136] Also, for example, when the common memory portion 31 includes: a first common memory 32 and a second common memory 34, the second data stored in the first common memory 32 can be transferred to the second common memory 34 . The response speed of the second common memory 34 is faster than that of the first common memory 32.  [0137] With this, the access control unit 52 can store the second data predicted to be accessed in the future in the high-speed memory in advance. Thereby, the information processing device 20 can perform data processing on the second data at a higher speed.  [0138] (Third Embodiment)    FIG. 16 is a diagram showing the configuration of the information processing system 10 of the third embodiment. The information processing device 20 of the third embodiment further includes a performance collection unit 76.  [0139] The performance collection unit 76 analyzes the program execution action executed by the processing circuit 22, and obtains the analysis result. The performance collection unit 76, as an example, detects a cache miss that occurs when the processing circuit 22 executes a program. In addition, the performance collection unit 76, as an example, detects branch processing that occurs when the processing circuit 22 executes the program. In addition, the performance collection unit 76, as an example, detects the utilization rate of the program executed by the processing circuit 22. As an example, the performance collection unit 76 may obtain performance counters such as cache miss rate, CPU branch prediction miss rate, and CPU utilization. Next, the performance collection unit 76 provides this analysis result to the memory controller 40 of the memory device 30 as operation statistical information.  [0140] The shared memory interface that connects each plurality of information processing devices 20 and the memory device 30 has the function of transferring the motion statistics information from each plurality of information processing devices 20 to the memory controller 40 of the memory device 30. The performance collection unit 76 assigns the motion statistical information to the memory controller 40 of the memory device 30 through the shared memory interface.  [0141] The analysis unit 54 included in the memory controller 40 obtains the analysis result, which is the operation statistical information, from the performance collection unit 76 included in each of the plural information processing devices 20. Next, the analysis unit 54 further determines the access method for each area in the common memory unit 31 based on the obtained analysis result.  [0142] For example, the analysis unit 54 may determine an area where the frequency of cache misses per unit time is greater than a predetermined value and determine that the locality is less than a predetermined value. In addition, for example, the analysis unit 54 may also determine that the locality is less than or equal to a predetermined value in an area where the frequency per unit time of the branch processing is greater than a predetermined value. In addition, the analysis unit 54 may determine the degree of parallelism of the processing executed by the processing circuit 22 based on the utilization rate of the processor. For example, when the utilization rate of the processor is low, the analysis unit 54 may be changed to increase the degree of parallelism.  [0143] With this, by using the analysis result of the program execution action executed by the processing circuit 22, the analysis unit 54 can more accurately analyze the access to the common memory unit 31 by the complex information processing device 20. Thereby, the analysis unit 54 can determine a more appropriate access method.  [0144] (Fourth Embodiment)    FIG. 17 is a diagram showing the configuration of the memory controller 40 of the fourth embodiment. The memory controller 40 of the fourth embodiment further includes a history storage unit 78. The history storage unit 78 stores the history of the access method set in the past in correspondence with the application programs executed in the plural information processing device 20.  [0145] The analysis unit 54 obtains information identifying the executed application program in the plural information processing device 20. When determining the access method, the analysis unit 54 makes the determined access method correspond to the application program executed in the plural information processing device 20 and stores it in the history storage unit 78.  [0146] Next, when the analysis unit 54 stores an application program corresponding to the execution of the plural information processing device 20 in the history storage unit 78, it determines an access method based on the history before the elapse of the measurement period.  [0147] FIG. 18 is a diagram showing an example of a processing procedure of the information processing system 10 according to the fourth embodiment. The information processing system 10 of the fourth embodiment executes processing in the flow shown in FIG. 18.  [0148] First, in S11, the plural information processing device 20 starts to execute the application program.  [0149] Next, in S41, the analysis unit 54 of the memory device 30 obtains information identifying the executed application from the plural information processing device 20. Next, the analyzing unit 54 determines whether the same application program has been executed in the past. When the same application program has not been executed in the past (No of S41), the analysis unit 54 advances the process to S12. Since the processing after S12 is the same as the processing shown in FIG. 11, the description will be omitted.  [0150] When the same application program was executed in the past (Yes in S41), the analysis unit 54 advances the process to S42. In S42, the analysis unit 54 obtains the history of the access method corresponding to the application program executed in the plural information processing device 20 from the history storage unit 78.  [0151] Immediately after S42, in S43, the analysis unit 54 determines the access method based on the acquired history. For example, the analysis unit 54 determines the access method to have the same content as the acquired history. Next, the analysis unit 54 ends the process of S43, and then advances the process to S16. Since the processing of S16 is the same as the processing shown in FIG. 11, the description will be omitted.  [0152] As described above, the analysis unit 54 of the fourth embodiment can determine the access method before the elapse of the measurement period when the application program executed by each plural information processing device 20 has been executed in the past. In this way, the information processing device 20 can access the memory device 30 in a suitable access method within a short time after the execution of the application program starts.  [0153] (Fifth Embodiment)    FIG. 19 is a diagram showing the configuration of the memory controller 40 of the fifth embodiment. The analysis unit 54 of the fifth embodiment includes a determination model storage unit 82, a learning unit 84, and a determination unit 86. In the fifth embodiment, the analysis unit 54 can switch the learning phase and the utilization phase.  [0154] The judgment model storage unit 82 stores the judgment model (decision model). The decision model is a model used to obtain the most suitable access method from the action information. The decision model, for example, can be realized by a decision tree or the like. The action information is information obtained as a result of the application program being executed by the plural information processing device 20, for example, it includes: statistical information about the action of the processor, and execution time (for example, the yield rate when the plural application programs are operated at the same time) , The power consumption of the entire system, the statistical information accessed to the common memory unit 31, and the analysis results of the analytical statistical information, etc. The statistical information about the operation of the processor is, for example, information that can be obtained by the performance counter of the processor, specifically: cache miss rate, CPU branch prediction miss rate, CPU utilization, etc.  [0155] In the learning phase, the learning unit 84 trains the judgment model. Specifically, in the learning phase, the learning unit 84 controls the setting unit 56 to change the setting of the access method to the access control unit 52 and the storage of the plural information processing device 20 while operating the plural information processing device 20. Take the instructions of the method to train the judgment model. More specifically, for example, the learning unit 84 causes the setting unit 56 to change the instruction of the access method so that the plural information processing device 20 executes the same application plural times. The learning unit 84 collects: statistical information on access to the common memory unit 31 obtained by executing each application program, statistical information on the operation of the processor, tracking information on execution time and/or power consumption, etc. Then, the collected information is used as input, and the learning unit 84 trains the judgment model so that, for example, the execution time and power consumption of the application program are optimized. In the learning phase, the learning unit 84 changes the application program to be executed by the plural information processing device 20 and trains the judgment model. In addition, in the learning phase, the learning unit 84 simultaneously executes plural applications on the plural information processing device 20, and also changes these combined training judgment models.  [0156] In the utilization phase, the determination unit 86 operates the plural information processing device 20 to obtain operation information. Next, the determination unit 86 determines the access method based on the acquired motion information and the trained determination model. The determination unit 86 gives the determined access method to the setting unit 56.  [0157] As described above, the analysis unit 54 of the fifth embodiment uses a pre-trained determination model to determine the access method. In this way, the analysis unit 54 can determine a more appropriate access method.  [0158] (Sixth Embodiment)    FIG. 20 is a diagram showing an example of processing of the information processing system 10 of the sixth embodiment. The analysis unit 54 determines whether the application program executed in any two or more target information processing devices 20 among the plurality of information processing devices 20 can be executed based on the usage capacity instructed to the plurality of information processing devices 20. One of the information processing devices 20 is executed by a first information processing device 20-1.  [0159] For example, as shown in FIG. 20(A), the first information processing device 20-1 and the second information processing device 20-2 are instructed to use the capacity of the individual memory 24. The first information processing device 20-1 executes "A" as an application program. The second information processing device 20-2 executes "B" as an application program. In addition, the setting unit 56 instructs "a" for the use capacity of the first information processing device 20-1 as the individual memory 24. In addition, the setting unit 56 instructs "b" as the use capacity of the second information processing device 20-2 as the individual memory 24.  [0160] The analysis unit 54 compares whether the empty capacity of the individual memory 24 of the first information processing device 20-1 is larger than the used capacity instructed to the second information processing device 20-2. When the empty capacity of the individual memory 24 of the first information processing device 20-1 is larger than the used capacity instructed to the second information processing device 20-2, the analysis unit 54 determines that the first information processing device 20 -1 can execute application programs executed on both the first information processing device 20-1 and the second information processing device 20-2.  [0161] When it is judged that it is possible, the setting unit 56 instructs the first information processing device 20-1 to indicate the total amount of the usage capacity instructed to the two or more target information processing devices 20 as the usage capacity. At the same time, the setting unit 56 instructs the first information processing device 20-1 to start the execution of the program executed in the two or more target information processing devices 20. Furthermore, the setting unit 56 instructs the information processing device 20 that is not the first information processing device 20-1 among the two or more target information processing devices 20 to stop the execution of the program and shift to the power saving state. Next, the information processing device 20, which is not the first information processing device 20-1, sets the processing circuit 22 and the individual memory 24 to a power saving state such as power OFF or low power mode. In this way, the information processing system 10 sets the power consumption necessary for the entire system to the power used only to operate the first information processing device 20-1, and the power consumption can be reduced in the entire system. [0162] For example, as shown in FIG. 20(B), the setting unit 56 instructs: the sum of the usage capacity instructed to the first information processing device 20-1 and the usage capacity instructed to the second information processing device 20-2 "a +b". At the same time, the setting unit 56 instructs the first information processing device 20-1 to start execution: the application program "A" executed in the first information processing device 20-1, the application program executed in the second information processing device 20-2 "B". Next, the setting unit 56 instructs the second information processing device 20-2 to stop the execution of the application program B.  [0163] With such processing, the memory device 30 of the sixth embodiment can stop some of the application programs executed by the information processing device 20. Thereby, the information processing device 20 that stops the execution of the application program can stop the power supply of the individual memory 24, or set it to an automatic update state. Therefore, the memory device 30 of the sixth embodiment can reduce power consumption. [0164] In addition, when the analysis unit 54 can select two or more information processing apparatuses 20 as the first information processing apparatus 20-1, it performs processing with a large number of virtual processors due to hyper-threading, etc. The information processing device 20 of the circuit 22 may be selected as the first information processing device 20-1. Thereby, the analysis unit 54 can increase the parallelism of the processing and execute the processing at high speed even when writing and reading data to and from a memory with a small access delay.  [0165] (Seventh Embodiment)    FIG. 21 is a diagram showing the configuration of the memory controller 40 of the seventh embodiment. The memory controller 40 of the seventh embodiment further includes a wear level management unit 88.  [0166] The wear level management unit 88 manages the memory area where the number of times of rewriting in the common memory unit 31 becomes a predetermined value or more. For example, the wear level management unit 88 monitors the write processing to the common memory unit 31 and counts the number of times of rewriting for each memory area.  [0167] The access control unit 52 obtains the number of rewrites for each memory area from the wear level management unit 88. Next, the access control unit 52 may execute the first access process regardless of the set access method when writing and reading data to the memory area where the number of times of rewriting becomes more than a predetermined value. . When the first access process is executed, the access control unit 52 does not perform highly localized writing, so the number of rewriting does not locally increase. Next, the memory device 30 can evenly write data to the entire memory area whose number of times of rewriting is equal to or greater than a predetermined value, and can extend its life.  [0168] In addition, when determining the access method for each area, the setting unit 56 may determine whether it is an area where life extension processing is performed or an area where life extension processing is not performed. In addition, the setting unit 56 determines whether or not it is an area to be subjected to life extension processing based on the number of times of rewriting of the area. Next, the setting unit 56 sets the first access process as an access method to the area where the life extension process is performed. Thereby, the memory device 30 can evenly write data to the entire area where the number of times of rewriting is equal to or greater than a predetermined value, and can extend the life of the area.  [0169] Although several embodiments of the present invention have been described above, these embodiments are only examples and are not intended to limit the scope of the present invention. These novel embodiments can also be implemented in other various forms, and various omissions, substitutions, and changes can be made without departing from the scope of the invention. These embodiments and their modifications are included in the scope and summary of the invention, as well as the equivalent scope of the invention described in the patent application. [0170] (Example 1)    A memory device connected to a 1 or a plurality of information processing devices, the memory device having:   a common memory unit;   Analyze the access of the 1 or a plurality of information processing devices to the aforementioned common memory unit , An analysis unit that determines the access method of the 1 or plural information processing device to the common memory unit; and a setting unit that instructs the access method determined by the 1 or plural information processing device. (Example 2)    The memory device as described in Example 1 is further equipped with: in response to the access request of the aforementioned 1 or a plurality of information processing devices to the aforementioned common memory, control the writing of data in the aforementioned common memory And the access control unit for reading data;    the aforementioned setting unit, which sets the determined access method to the aforementioned access control unit;   the aforementioned access control unit, according to the set access method, performs the common Write and read data in the memory section. (Mode 3)    The memory device as described in Mode 2, wherein the aforementioned 1 or the plural information processing devices each have individual memories;    The aforementioned analysis unit, as the aforementioned access method, is determined: The first access process for writing and reading data transferred from the memory unit to the aforementioned individual memory, or the second access process for directly writing and reading data stored in the aforementioned common memory unit;    each of the aforementioned 1 Or a plurality of information processing devices,    when instructing the first access process, the access control unit transfers data from the common memory unit to the individual memory, and writes and reads the data transferred to the individual memory   When instructing the second access process, the access control unit is given a request for writing and reading data stored in the common memory unit. (Example 4)    The memory device described in Example 3, wherein the analysis unit determines the use capacity of the individual memory when determining the first access processing as the access method; The aforementioned setting unit further instructs the aforementioned use capacity for the aforementioned 1 or plural information processing devices;    Each of the aforementioned 1 or multiple information processing devices causes the data transferred from the aforementioned common memory unit to be stored in the indicated range of the aforementioned use capacity The aforementioned individual memory. (Mode 5)    The memory device described in mode 3 or 4, wherein the analysis unit determines the first access process as the access method, and then decides to make the data from the aforementioned individual memory  The aforementioned setting unit further instructs the aforementioned one or plural information processing device to the aforementioned escape method;   each of the aforementioned one or plural information processing device causes the data transferred from the aforementioned common memory to be The instructed save method is saved from the individual memory to the common memory. (Example 6)    The memory device described in any one of Examples 3 to 5, wherein the aforementioned common memory section is further equipped with: a first common memory, and the response speed is faster than the aforementioned first common memory  The aforementioned analysis unit determines the low-speed processing or high-speed processing when the aforementioned access method determines the aforementioned second access processing;   the aforementioned access control unit,    sets the aforementioned low-speed processing as the aforementioned access method In the second access process, in response to the access request caused by the second access process from each of the aforementioned 1 or plural information processing devices, the data stored in the aforementioned first common memory is directly written and read; When the second access process at a low speed is set as the access method, in response to the access request from the second access process from each of the one or plural information processing devices, the memory is transferred from the first common memory The data previously transferred to the aforementioned second common memory is directly written and read. (Mode 7)    The memory device as described in mode 6, in which the aforementioned setting section indicates to the information processing device that makes an access request by the aforementioned second access process, indicating that the process is executed in parallel   When the aforementioned analysis unit is determined to be the aforementioned high-speed processing, it also detects the sub-regions that are likely to be accessed in the aforementioned first common memory;    the aforementioned access control unit compares the aforementioned first The data of the aforementioned sub-area in the common memory is transferred to the aforementioned second common memory in advance. In response to the access request for the aforementioned sub-area from the aforementioned second access processing from each of the aforementioned 1 or plural information processing devices, it is forwarded to The data in the second common memory is directly written and read;   The access control section responds to the access to an area different from the sub-areas by the second access processing from each of the one or more information processing devices Requires direct writing and reading to the first common memory;   The setting section indicates the first parallelism to the information processing device that writes or reads data in the second common memory, and The information processing device for writing or reading data from the first common memory instructs a second parallelism higher than the first parallelism. (Example 8)    is the memory device described in any one of the examples 3 to 5, wherein the setting unit instructs the information processing device that makes an access request by the second access processing Indicates the degree of parallelism of the number of processes executed in parallel;   The analysis unit determines the degree of parallelism in response to the access delay of the area where data is written by the second access process. (Example 9) "The memory device as described in Example 3, wherein the common memory portion is divided into plural areas; "The analysis portion analyzes the accesses of the 1 or the plural information processing device to each of the plural areas , Determine the access method for each of the plurality of areas;    the setting section, for each of the plurality of areas, set the determined access method to the access control section, and instruct the 1 or the plurality of information processing devices The aforementioned access method determined;    each of the aforementioned 1 or plural information processing devices accesses each of the aforementioned multiple areas in accordance with the aforementioned access method indicated;    the aforementioned access control unit, according to the aforementioned set of the aforementioned plural areas The access method controls the writing and reading of data in the corresponding area. (Mode 10)    The memory device as described in mode 9, wherein the aforementioned analysis unit,    judges whether the locality of the access is higher than a predetermined value for each of the aforementioned plural areas;    will be the locality of the access The aforementioned access method for the first area higher than the predetermined value is determined as the aforementioned first access processing;    the aforementioned access method for the second area whose access locality is less than the predetermined value is determined as the aforementioned second Access processing. (Aspect 11)    The memory device as described in aspect 10, wherein the common memory section further includes: a first common memory including each of the plurality of regions, and the response speed is faster than the first common memory  The aforementioned analysis unit,   , for the aforementioned second area where the aforementioned access method is determined to be the aforementioned second access process, is determined to be a high-speed processing area or a non-high-speed processing area;   The aforementioned access The control unit    when receiving an access request due to the aforementioned second access process for the high-speed processing area, it directly writes and reads the data previously transferred from the aforementioned first common memory to the aforementioned second common memory   When an access request caused by the aforementioned second access process is received for an area that is not subject to high-speed processing, the data stored in the aforementioned first common memory is directly written and read. (Aspect 12)    The memory device as described in aspect 11, wherein the analysis unit determines the second area accessed from an information processing device more than a predetermined number to perform high-speed processing In the area, the second area accessed from the information processing device less than the predetermined number is determined as an area where high-speed processing is not performed. (Aspect 13)    As in the memory device described in any one of aspects 10 to 12, the analysis unit determines that the access method is determined to be the first area of the first access process. Area where power saving is performed, or where power saving is not performed;    the aforementioned setting section,    for the aforementioned 1 or plural information processing device, indicate the first value as the use capacity of the aforementioned individual memory in the area for power saving, indicating The second value greater than the first value is used as the use capacity of the area not to be power-saving;    each of the above-mentioned 1 or plural information processing devices is directed to the above-mentioned access method instructed as the above-mentioned first access process In the first area, the data transferred from the common memory unit is stored in the individual memory within the indicated use capacity range. (Aspect 14)    As in the memory device described in the aspect 13, the analysis unit determines the first area where the number of accesses per unit time is less than a predetermined value as a power saving area , The first area in which the number of accesses per unit time is greater than the predetermined value is determined as an area in which power saving is not performed. (Mode 15)    The memory device as described in mode 13 or 14, wherein the analysis unit determines the access method for the first area of the first access process for determining the access method Evacuation method for saving data from the aforementioned individual memory to the aforementioned common memory section;    The aforementioned setting section will instruct the aforementioned 1 or plural information processing devices to the aforementioned 1 or the plural information processing device according to the aforementioned evasion method determined for each of the aforementioned first regions; Or a plurality of information processing devices make the data transferred from the first area of each of the common memory sections escape from the individual memory to the common memory section by the instructed escape method. (Example 16)    The memory device described in any one of the examples 3 to 15, further equipped with: a mode for acquiring the access of the aforementioned 1 or plural information processing device to the aforementioned common memory, based on the acquired The access mode is used to specify the prediction unit predicted to be the first data accessed by the aforementioned 1 or complex information processing device;    the aforementioned prediction unit, when the aforementioned first data is specified, in the aforementioned 1 or complex information processing device , For the information processing device predicted to access the first data, instruct to obtain the first data in advance. (Example 17)    The memory device described in any one of the examples 3 to 15, further equipped with: a mode for acquiring the access of the aforementioned 1 or plural information processing device to the aforementioned common memory, based on the acquired The access mode is used to specify the prediction unit predicted to be the second data accessed by the 1 or the complex information processing device;    the prediction unit, when specifying the second data, the access control unit makes the first 2 The data is forwarded to another memory unit that has a faster response speed than the memory unit storing the second data in advance. (Mode 18)    is the memory device described in any one of modes 3 to 17, wherein the aforementioned analysis unit    obtains the result of the execution operation of the analytical program from the aforementioned 1 or plural information processing device;    is more based on The aforementioned results obtained determine the aforementioned access method. (Mode 19)    is the memory device described in any one of the modes 3 to 18, wherein the aforementioned analysis unit,    in the aforementioned 1 or plural information processing device, after the execution of the program is pre-defined During the measurement period, by directly writing and reading the data stored in the aforementioned common memory section, analyze the access to the aforementioned common memory section caused by the aforementioned 1 or plural information processing device;    after the aforementioned measurement period, determine The aforementioned access method. (Mode 20)    The memory device described in mode 19 is further equipped with: the history of the access method determined in the past corresponds to the program executed in the aforementioned 1 or plural information processing device and memorized History storage unit;    The aforementioned analysis unit, when storing the aforementioned history corresponding to the 1 or the program executed in the plural information processing device in the aforementioned history storage unit, determines the aforementioned access based on the history before the elapse of the aforementioned measurement period method. (Mode 21)    is the memory device described in any one of modes 3 to 18, wherein the analysis unit,    in the learning phase, while operating the 1 or plural information processing device, by changing The aforementioned access method is trained to obtain the most suitable judgment model of the aforementioned access method from the action information obtained as a result of the execution of the application by the aforementioned 1 or plural information processing device;    In the utilization phase, the aforementioned 1 or plural information is processed The device operates to obtain the aforementioned action information, and the aforementioned access method is determined based on the obtained aforementioned action information and the aforementioned determination model. (Mode 22)    The memory device as described in mode 4, wherein the analysis unit determines whether it can be used in the 1 or multiple information processing device based on the use capacity indicated to the 1 or multiple information processing device The program executed in the information processing device of any two or more objects is executed by the first information processing device among the aforementioned 1 or plural information processing devices;    when it is judged as possible, the aforementioned The setting unit    instructs the aforementioned first information processing device as the total amount of the usage capacity indicated to the aforementioned two or more target information processing devices as the aforementioned usage capacity, and instructs the aforementioned first information processing device in the aforementioned 2 The start of the execution of the program being executed in the information processing device of more than one object;    For the information processing device that is not the first information processing device among the information processing devices of the two or more objects, instruct to stop the program execution and move To save power state. (Example 23)    The memory device described in any one of the examples 3 to 22, further equipped with: wear balance management for managing the memory area where the number of rewrites in the aforementioned common memory portion becomes more than a predetermined value   The aforementioned access control unit performs the aforementioned first access regardless of the set of aforementioned access methods when writing and reading data to the memory area whose number of times of rewriting is more than a predetermined value deal with. (Example 24)    A memory device connected to a 1 or plural information processing device, the memory device having:     a common memory section divided into plural areas; and from the 1 or plural information processing device to each of the aforementioned plural The area access is used to generate statistical information of memory access, and the generated statistical information is analyzed to obtain an analysis unit for the memory access information of each of the plurality of areas. (Example 25)    An information processing system comprising: 1 or plural information processing devices;     A memory device with a common memory unit connected to each of the aforementioned 1 or plural information processing devices through an interface;   ,    the aforementioned interface,    will The operation statistics information of 1 or plural information processing devices is transferred from each of the aforementioned 1 or plural information processing devices to the aforementioned memory device;    will be the information indicating the access method of the aforementioned 1 or plural information processing devices to the aforementioned common memory unit from the aforementioned The memory device transfers to each of the aforementioned 1 or plural information processing devices. (Example 26)    An information processing system comprising: 1 or plural information processing devices;    A memory device connected to the foregoing 1 or plural information processing devices via a network;    Among them,    The foregoing memory device includes:    Common memory section  Analyze the access of the aforementioned 1 or plural information processing device to the aforementioned common memory unit, and determine the analysis unit of the access method of the aforementioned 1 or plural information processing device to the aforementioned common memory unit; and the instruction to the aforementioned 1 or plural information processing device The setting part of the aforementioned access method that was determined. (Example 27)    A memory control method that is connected to one or plural information processing devices, wherein   the aforementioned memory device includes:    common memory;    The memory control method includes: analyzing the aforementioned 1 or plural information processing The device's access to the common memory section determines the steps of the access method of the one or more information processing device to the common memory section;    instructs the step of the determined access method to the one or more information processing device.

[0171]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‧‧‧損耗平衡管理部[0171]10‧‧‧Information processing system 20‧‧‧Information processing device 20-1‧‧‧First information processing device 20-2‧‧‧Second information processing device 22‧‧‧Processing circuit 24‧‧‧Individual Memory 30 ‧ ‧ Memory device 31 ‧ ‧ Common memory 32 ‧ ‧ 1st common memory 34 ‧ ‧ 2nd common memory 36 ‧ ‧ 3rd common memory 40 ‧ ‧ Memory control Device 42‧‧‧Carrier 52‧‧‧Access Control Unit 54‧‧‧Analysis Unit 56‧‧‧Setting Unit 72‧‧‧Prediction Model Memory Unit 74‧‧‧Prediction Unit 76‧‧‧Performance Collection Unit 78‧ ‧‧Resume memory unit 82‧‧‧Judgment model memory unit 84‧‧‧Learning unit 86‧‧‧Decision unit 88‧‧‧Wear balance management unit

[0007]   [圖1] 表示第1實施形態的資訊處理系統的構成的圖。   [圖2] 表示資訊處理系統的外觀構成的一例的圖。   [圖3] 表示第1實施形態的記憶體控制器的構成的圖。   [圖4] 用來說明第1存取處理及第2存取處理的圖。   [圖5] 用來說明第2存取處理中的高速處理及低速處理的圖。   [圖6] 再用來說明第2存取處理中的最高速處理的圖。   [圖7] 用以說明個別記憶體中的使用容量的指示內容的圖。   [圖8] 用以說明通常退避處理的圖。   [圖9] 用以說明積極退避處理中的第1處理的圖。   [圖10] 用以說明積極退避處理中的第2處理的圖。   [圖11] 表示第1實施形態的資訊處理系統的處理順序的圖。   [圖12] 表示解析結果的一例的圖。   [圖13] 表示存取方法的決定處理的順序的一例的圖。   [圖14] 表示存取方法的設定表的一例的圖。   [圖15] 表示第2實施形態的記憶體控制器的構成的圖。   [圖16] 表示第3實施形態的資訊處理系統的構成的圖。   [圖17] 表示第4實施形態的記憶體控制器的構成的圖。   [圖18] 表示第4實施形態的資訊處理系統的處理順序的圖。   [圖19] 表示第5實施形態的記憶體控制器的構成的圖。   [圖20] 表示第6施形態的資訊處理系統的處理的一例的圖。   [圖21] 表示第7實施形態的記憶體控制器的構成的圖。[0007]    [FIG. 1] A diagram showing the configuration of the information processing system of the first embodiment.  [Figure 2] A diagram showing an example of the external configuration of an information processing system.  [FIG. 3] A diagram showing the configuration of the memory controller of the first embodiment.  [Figure 4] A diagram for explaining the first access process and the second access process.  [Figure 5] A diagram for explaining high-speed processing and low-speed processing in the second access processing.  [Figure 6] is again used to illustrate the highest speed processing in the second access processing.  [Figure 7] A diagram to illustrate the indication content of the used capacity in individual memory.  [Figure 8] A diagram to explain the normal back-off process.  [Figure 9] A diagram for explaining the first process in the active backoff process.  [Figure 10] A diagram for explaining the second process in the active backoff process.  [FIG. 11] A diagram showing the processing procedure of the information processing system of the first embodiment.  [Figure 12] A diagram showing an example of the analysis result.  [FIG. 13] A diagram showing an example of the procedure of the access method determination process.  [Figure 14] A diagram showing an example of the setting table of the access method.  [FIG. 15] A diagram showing the configuration of the memory controller of the second embodiment.  [FIG. 16] A diagram showing the configuration of the information processing system of the third embodiment.   [FIG. 17] A diagram showing the configuration of the memory controller of the fourth embodiment.  [FIG. 18] A diagram showing the processing procedure of the information processing system of the fourth embodiment.   [FIG. 19] A diagram showing the configuration of the memory controller of the fifth embodiment.  [FIG. 20] A diagram showing an example of processing by the information processing system of the sixth embodiment.  [FIG. 21] A diagram showing the configuration of the memory controller of the seventh embodiment.

20‧‧‧資訊處理裝置 20‧‧‧Information Processing Device

31‧‧‧共通記憶部 31‧‧‧Common Memory Department

40‧‧‧記憶體控制器 40‧‧‧Memory Controller

52‧‧‧存取控制部 52‧‧‧Access Control Department

54‧‧‧解析部 54‧‧‧Analysis Department

56‧‧‧設定部 56‧‧‧Setting section

Claims (22)

一種記憶體裝置,係連接至各自具有個別記憶體的1或複數資訊處理裝置,該記憶體裝置具備:共通記憶部;從前述1或複數資訊處理裝置對前述共通記憶部的存取生成存取的統計資訊,並解析生成的前述統計資訊,作為決定前述1或複數資訊處理裝置對前述共通記憶部的存取方法,係決定:對從前述共通記憶部轉送至前述個別記憶體的資料進行寫入及讀出的第1存取處理、或對記憶於前述共通記憶部的資料進行直接寫入及讀出的第2存取處理的解析部;以及對前述1或複數資訊處理裝置指示所決定的前述存取方法的設定部。 A memory device is connected to one or plural information processing devices each having an individual memory. The memory device is provided with: a common memory section; generating access from the access of the one or plural information processing devices to the common memory section And analyze the generated statistical information to determine the access method of the 1 or plural information processing device to the common memory, which is to determine: write the data transferred from the common memory to the individual memory Determined by the first access process of input and read, or the analysis unit of the second access process of directly writing and reading data stored in the aforementioned common memory; and the instruction to the aforementioned 1 or plural information processing device The setting section of the aforementioned access method. 如請求項1所記載的記憶體裝置,更具備:因應前述1或複數資訊處理裝置對前述共通記憶部的存取要求,控制對前述共通記憶部的資料的寫入及資料的讀出之存取控制部;前述設定部,將所決定的前述存取方法設定至前述存取控制部;前述存取控制部,依照所設定的前述存取方法,進行對前述共通記憶部的資料的寫入及資料的讀出。 For example, the memory device described in claim 1 is further equipped with: in response to the access request of the aforementioned 1 or a plurality of information processing devices to the aforementioned common memory portion, the storage that controls the writing and reading of data in the aforementioned common memory portion Take the control unit; the setting unit sets the determined access method to the access control unit; the access control unit writes data to the common memory unit in accordance with the set access method And data readout. 如請求項2所記載的記憶體裝置,其中,各個前述1或複數資訊處理裝置,在指示前述第1存取處理時,使前述存取控制部從前述共通記憶部轉送資料至前述個別記憶體,對轉送至前述個別記憶體的資料進行寫入及讀出;在指示前述第2存取處理時,對前述存取控制部賦予記憶於前述共通記憶部的資料的寫入及讀出的要求。 The memory device described in claim 2, wherein each of the 1 or plural information processing devices, when instructing the first access process, causes the access control unit to transfer data from the common memory unit to the individual memory , To write and read the data transferred to the aforementioned individual memory; when instructing the aforementioned second access process, the aforementioned access control unit is given a request for writing and reading the data stored in the aforementioned common memory unit . 如請求項3所記載的記憶體裝置,其中,前述解析部,作為前述存取方法而決定前述第1存取處理時,更決定前述個別記憶體中的使用容量;前述設定部更對前述1或複數資訊處理裝置,指示前述使用容量;各個前述1或複數資訊處理裝置,使從前述共通記憶部轉送的資料,以在所指示的前述使用容量的範圍內記憶於前述個別記憶體。 For the memory device described in claim 3, the analysis unit further determines the use capacity of the individual memory when determining the first access process as the access method; the setting unit further determines the capacity of the individual memory; Or a plurality of information processing devices indicate the aforementioned use capacity; each of the aforementioned 1 or plural information processing devices causes the data transferred from the aforementioned common memory section to be stored in the aforementioned individual memory within the indicated range of the aforementioned use capacity. 如請求項3或4所記載的記憶體裝置,其中,前述解析部,作為前述存取方法而決定前述第1存取處理時,再決定為了使資料從前述個別記憶體退避至前述共通記憶部的退避方法;前述設定部更對前述1或複數資訊處理裝置,指示前述退避方法;各個前述1或複數資訊處理裝置,使從前述共通記憶 部轉送的資料,以所指示的前述退避方法從前述個別記憶體退避至前述共通記憶部。 The memory device described in claim 3 or 4, wherein the analysis unit determines the first access process as the access method, and then decides to save data from the individual memory to the common memory The back-off method; the aforementioned setting part further instructs the aforementioned back-off method to the aforementioned 1 or plural information processing devices; each of the aforementioned 1 or plural information processing devices makes the aforementioned common memory The data transferred by the part is evacuated from the individual memory to the common memory using the instructed evasion method. 如請求項3或4所記載的記憶體裝置,其中,前述共通記憶部更具備:第1共通記憶體、應答速度比前述第1共通記憶體還快的第2共通記憶體;前述解析部,作為前述存取方法而決定前述第2存取處理時,再決定低速處理或高速處理;前述存取控制部,作為前述存取方法而設定低速的前述第2存取處理時,因應來自各個前述1或複數資訊處理裝置的前述第2存取處理所致的存取要求,對記憶於前述第1共通記憶體的資料進行直接寫入及讀出;作為前述存取方法而設定低速的前述第2存取處理時,因應來自各個前述1或複數資訊處理裝置的前述第2存取處理所致的存取要求,對記憶從前述第1共通記憶體預先轉送至前述第2共通記憶體的資料進行直接寫入及讀出。 The memory device according to claim 3 or 4, wherein the common memory section further includes: a first common memory, a second common memory whose response speed is faster than the first common memory; the analysis section, When the second access process is determined as the access method, then the low-speed process or the high-speed process is determined; the access control unit, when the low-speed second access process is set as the access method, responds from each of the foregoing 1 or the access request caused by the aforementioned second access process of the plural information processing device, directly write and read data stored in the aforementioned first common memory; as the aforementioned access method, set the aforementioned lower speed 2 During the access process, in response to the access request caused by the second access process from each of the aforementioned 1 or plural information processing devices, the data previously transferred from the aforementioned first common memory to the aforementioned second common memory for memory Perform direct writing and reading. 如請求項6所記載的記憶體裝置,其中,前述設定部,對藉由前述第2存取處理來進行存取要求的資訊處理裝置,指示表示並列執行的處理之數的並列度;前述解析部,在被決定成前述高速處理時,更檢出在前述第1共通記憶體中被存取的可能性高的子區域; 前述存取控制部,將前述第1共通記憶體中的前述子區域的資料預先轉送至前述第2共通記憶體,因應來自各個前述1或複數資訊處理裝置的前述第2存取處理對前述子區域的存取要求,對預先轉送至前述第2共通記憶體的資料進行直接寫入及讀出;前述存取控制部,因應來自各個前述1或複數資訊處理裝置的前述第2存取處理對與前述子區域不同的區域的存取要求,對前述第1共通記憶體進行直接寫入及讀出;前述設定部,對在前述第2共通記憶體進行資料的寫入或讀出的資訊處理裝置指示第1並列度,而對在前述第1共通記憶體進行資料的寫入或讀出的資訊處理裝置指示比前述第1並列度還高的第2並列度。 The memory device according to claim 6, wherein the setting unit indicates the degree of parallelism of the number of processing executed in parallel to the information processing device that makes the access request by the second access processing; Section, when it is determined to be the aforementioned high-speed processing, it also detects a sub-region with a high possibility of being accessed in the aforementioned first common memory; The access control unit transfers the data of the sub-region in the first common memory to the second common memory in advance, and responds to the second access processing from each of the one or more information processing devices to the sub-region The area’s access request directly writes and reads data previously transferred to the second common memory; the access control unit responds to the second access processing pair from each of the one or more information processing devices The access request for an area different from the aforementioned sub-area is to directly write and read from the first common memory; the aforementioned setting section is to process information for writing or reading data in the second common memory The device indicates the first degree of parallelism, and the information processing device that writes or reads data in the first common memory instructs the second degree of parallelism that is higher than the first degree of parallelism. 如請求項3或4所記載的記憶體裝置,其中,前述設定部,對藉由前述第2存取處理來進行存取要求的資訊處理裝置,指示表示並列執行的處理之數的並列度;前述解析部,因應由前述第2存取處理寫入資料的區域的存取延遲,決定前述並列度。 The memory device described in claim 3 or 4, wherein the setting unit indicates the degree of parallelism of the number of processes that are executed in parallel to the information processing device that performs the access request through the second access process; The analysis unit determines the degree of parallelism in response to the access delay of the area where the data is written by the second access process. 如請求項3所記載的記憶體裝置,其中,前述共通記憶部被分割成複數區域;前述解析部,解析前述1或複數資訊處理裝置對各個前述複數區域的存取,決定對各個前述複數區域的前述存取方法; 前述設定部,針對各個前述複數區域,將所決定的前述存取方法設定至前述存取控制部,並對前述1或複數資訊處理裝置指示所決定的前述存取方法;各個前述1或複數資訊處理裝置,對各個前述複數區域,依照所指示的前述存取方法進行存取;前述存取控制部,依照對各個前述複數區域所設定的前述存取方法,控制對於對應的區域的資料的寫入及資料的讀出。 The memory device described in claim 3, wherein the common memory section is divided into plural areas; the analysis section analyzes the access to each of the plural areas by the 1 or plural information processing device, and determines the access to each of the plural areas The aforementioned access method; The setting unit sets the determined access method to the access control unit for each of the plural areas, and instructs the 1 or plural information processing device to the determined access method; each of the 1 or plural information The processing device accesses each of the plurality of areas in accordance with the instructed access method; the access control section controls the writing of data in the corresponding area in accordance with the access method set for each of the plurality of areas Input and data readout. 如請求項9所記載的記憶體裝置,其中,前述解析部,針對各個前述複數區域,判斷存取的局部性是否比預定值還高;將對於存取的局部性比預定值還高的第1區域的前述存取方法,決定成前述第1存取處理;將對於存取的局部性在預定值以下的第2區域的前述存取方法,決定成前述第2存取處理。 For the memory device described in claim 9, wherein the analysis unit determines whether the locality of the access is higher than a predetermined value for each of the plurality of regions; and determines whether the locality of the access is higher than the predetermined value. The access method for the 1 area is determined as the first access process; the access method for the second area whose access locality is less than a predetermined value is determined as the second access process. 如請求項10所記載的記憶體裝置,其中,前述共通記憶部更具備:包含各個前述複數區域的第1共通記憶體、應答速度比前述第1共通記憶體還快的第2共通記憶體;前述解析部,針對將前述存取方法決定成前述第2存取處理的前述第2區域,決定成進行高速處理的區域、或不進行高速處 理的區域;前述存取控制部,對進行高速處理的區域接收到前述第2存取處理所致的存取要求時,對從前述第1共通記憶體預先轉送至前述第2共通記憶體的資料進行直接寫入及讀出;對不進行高速處理的區域接收到前述第2存取處理所致的存取要求時,對記憶於前述第1共通記憶體的資料進行直接寫入及讀出。 The memory device according to claim 10, wherein the common memory section further includes: a first common memory including each of the plurality of regions, and a second common memory having a faster response speed than the first common memory; The analysis unit determines whether the second area for which the access method is determined to be the second access process is an area for high-speed processing or not for high-speed processing. The access control unit, when receiving an access request due to the second access processing to the area where the high-speed processing is performed, transfers the data from the first common memory to the second common memory in advance Data is directly written and read; when an access request caused by the aforementioned second access processing is received for an area that is not subject to high-speed processing, the data stored in the aforementioned first common memory is directly written and read . 如請求項10或11所記載的記憶體裝置,前述解析部,針對將前述存取方法決定成前述第1存取處理的前述第1區域,決定成進行省電化的區域、或不進行省電化的區域;前述設定部,對前述1或複數資訊處理裝置,指示第1值來作為對進行省電化的區域的前述個別記憶體中的使用容量,指示比前述第1值還大的第2值來作為對不進行省電化的區域的前述使用容量;各個前述1或複數資訊處理裝置,針對將前述存取方法指示為前述第1存取處理的前述第1區域,使從前述共通記憶部轉送的資料,以在所指示的前述使用容量的範圍內記憶於前述個別記憶體。 For the memory device described in claim 10 or 11, the analysis unit determines whether or not the first area for which the access method is determined as the first access process is to be power-saving or not The area; the setting section indicates the first value for the 1 or the plural information processing device as the use capacity of the individual memory in the area for power saving, and indicates the second value greater than the first value As the used capacity of the area that is not to be power-saving; each of the 1 or plural information processing devices, for the first area that instructs the access method as the first access process, is transferred from the common memory unit The data is stored in the aforementioned individual memory within the indicated use capacity range. 如請求項12所記載的記憶體裝置,前述解析部,將每單位時間的存取數在預先訂定的值以下的前述第1區域, 決定成進行省電化的區域,將每單位時間的存取數比前述預先訂定的值還大的前述第1區域,決定成不進行省電化的區域。 For the memory device described in claim 12, the analysis unit sets the number of accesses per unit time in the first area below a predetermined value, It is determined as an area for power saving, and the first area whose number of accesses per unit time is greater than the predetermined value is determined as an area for not saving power. 如請求項12或13所記載的記憶體裝置,其中,前述解析部,針對將前述存取方法決定成前述第1存取處理的前述第1區域,再決定用以使資料從前述個別記憶體退避至前述共通記憶部的退避方法;前述設定部,將針對各個前述第1區域所決定的前述退避方法,再對前述1或複數資訊處理裝置作指示;各個前述1或複數資訊處理裝置,使各個前述共通記憶部的從前述第1區域轉送的資料,以所指示的前述退避方法從前述個別記憶體退避至前述共通記憶部。 For the memory device described in claim 12 or 13, wherein the analysis unit determines the access method to be the first area of the first access process, and then determines the data from the individual memory The escape method to the aforementioned common memory unit; the aforementioned setting unit will instruct the aforementioned 1 or plural information processing devices for the aforementioned escape method determined for each of the aforementioned first regions; each of the aforementioned 1 or plural information processing devices enables The data transferred from the first area in each of the common memory portions is evacuated from the individual memory to the common memory portion by the instructed escape method. 如請求項3或4所記載的記憶體裝置,更具備:取得前述1或複數資訊處理裝置對前述共通記憶部的存取的模式,基於取得到的存取的模式,來特定被預測成前述1或複數資訊處理裝置所存取的第1資料之預測部;前述預測部,當特定前述第1資料時,在前述1或複數資訊處理裝置之中,對被預測成存取前述第1資料的資訊處理裝置,指示預先取得前述第1資料。 For example, the memory device described in claim 3 or 4 is further equipped with: acquiring the access pattern of the aforementioned 1 or plural information processing device to the aforementioned common memory unit, and specifying the pattern predicted to be the aforementioned based on the acquired access pattern 1 or the predicting part of the first data accessed by the plural information processing device; the predicting part, when the first data is specified, is predicted to access the first data in the 1 or plural information processing device The information processing device instructs to obtain the aforementioned first data in advance. 如請求項3或4所記載的記憶體裝置,其中,前述解析部, 從前述1或複數資訊處理裝置,取得解析程式的執行動作的結果;更基於取得的前述結果來決定前述存取方法。 The memory device described in claim 3 or 4, wherein the aforementioned analysis unit, Obtain the result of the execution operation of the analysis program from the aforementioned 1 or plural information processing device; and determine the aforementioned access method based on the aforementioned result obtained. 如請求項3或4所記載的記憶體裝置,其中,前述解析部,在前述1或複數資訊處理裝置中,開始程式的執行後經過預先訂定的測定期間,藉由對記憶於前述共通記憶部的資料進行直接寫入及讀出,來解析前述1或複數資訊處理裝置所致的對前述共通記憶部的存取;經過前述測定期間後,決定前述存取方法。 The memory device described in claim 3 or 4, wherein the analysis unit, in the 1 or plural information processing device, starts the execution of the program and passes a predetermined measurement period by storing it in the common memory The data of the part is directly written and read to analyze the access to the aforementioned common memory part caused by the aforementioned 1 or plural information processing device; after the aforementioned measurement period, the aforementioned access method is determined. 如請求項3或4所記載的記憶體裝置,其中,前述解析部,在學習階段,在使前述1或複數資訊處理裝置動作的同時,藉由變更前述存取方法,訓練用以從前述1或複數資訊處理裝置執行應用程式的結果所得到的動作資訊中得到最適合的前述存取方法的判定模型;在利用階段,使前述1或複數資訊處理裝置動作而取得前述動作資訊,基於取得的前述動作資訊及前述判定模型,來決定前述存取方法。 For the memory device described in claim 3 or 4, in the learning stage, the analysis unit operates the 1 or the plural information processing device while changing the access method to train to learn from the 1 Or the most suitable judgment model of the aforementioned access method is obtained from the action information obtained as a result of the execution of the application by the plural information processing device; in the utilization stage, the aforementioned 1 or plural information processing device is operated to obtain the aforementioned action information, based on the obtained The aforementioned action information and the aforementioned determination model determine the aforementioned access method. 如請求項4所記載的記憶體裝置,其中,前述解析部,基於對前述1或複數資訊處理裝置指示的前述使用容 量,判斷可否將在前述1或複數資訊處理裝置之中任2個以上的對象的資訊處理裝置中被執行的程式,藉由在前述1或複數資訊處理裝置之中的1個第1資訊處理裝置來執行;當判斷為可的時侯,前述設定部,對前述第1資訊處理裝置,將對前述2個以上的對象的資訊處理裝置指示的前述使用容量的合計量作為前述使用容量來指示,並對前述第1資訊處理裝置指示在前述2個以上的對象的資訊處理裝置中被執行的程式的執行的開始;對前述2個以上的對象的資訊處理裝置之中非前述第1資訊處理裝置的資訊處理裝置,指示停止程式的執行並移行至省電力狀態。 The memory device described in claim 4, wherein the analysis unit is based on the use capacity indicated to the 1 or the plural information processing device Determine whether the program executed in any two or more target information processing devices among the aforementioned 1 or plural information processing devices can be processed by one of the aforementioned 1 or plural information processing devices. When it is judged to be possible, the setting unit indicates to the first information processing device the total amount of the use capacity indicated to the two or more target information processing devices as the use capacity , And instruct the aforementioned first information processing device to start execution of the program executed in the aforementioned two or more object information processing devices; for the aforementioned two or more object information processing devices that are not the aforementioned first information processing The information processing device of the device instructs to stop the program execution and move to a power saving state. 如請求項3或4所記載的記憶體裝置,更具備:管理前述共通記憶部中的改寫次數成為預先訂定的值以上的記憶區域的損耗平衡管理部;前述存取控制部,在對前述改寫次數成為預先訂定的值以上的記憶區域進行資料的寫入及讀出時,不管所設定的前述存取方法為何,都執行前述第1存取處理。 The memory device described in claim 3 or 4 further includes: a wear level management unit that manages a memory area in which the number of times of rewriting in the common memory unit becomes a predetermined value or more; When data is written and read in the memory area where the number of times of rewriting becomes more than a predetermined value, the first access process is executed regardless of the set access method. 一種記憶體裝置,係連接至1或複數資訊處理裝置,該記憶體裝置具備:被分割成複數區域的共通記憶部;以及從前述1或複數資訊處理裝置對各個前述複數區域的存取來生成記憶體存取的統計資訊,解析生成的前述統計 資訊而取得在每個前述複數區域表示局部性比預定值還高或局部性在預定值以下的記憶體存取資訊的解析部。 A memory device is connected to a 1 or plural information processing device, the memory device is provided with: a common memory portion divided into plural areas; and generated from the access of the 1 or plural information processing devices to each of the plural areas Statistics of memory access, analysis of the aforementioned statistics generated The analysis unit obtains the memory access information whose locality is higher than the predetermined value or the locality is below the predetermined value in each of the aforementioned plural areas. 一種資訊處理系統,具備:1或複數資訊處理裝置;具有共通記憶部,藉由介面與各個前述1或複數資訊處理裝置連接的記憶體裝置;其中,前述記憶體裝置,具備:從前述1或複數資訊處理裝置對前述共通記憶部的存取生成存取的統計資訊,並解析生成的前述統計資訊,作為決定前述1或複數資訊處理裝置對前述共通記憶部的存取方法,係決定:對從前述共通記憶部轉送至前述個別記憶體的資料進行寫入及讀出的第1存取處理、或對記憶於前述共通記憶部的資料進行直接寫入及讀出的第2存取處理的解析部前述介面,將前述1或複數資訊處理裝置的動作統計資訊,從各個前述1或複數資訊處理裝置轉送至前述記憶體裝置;將表示前述存取方法的資訊,從前述記憶體裝置轉送至各個前述1或複數資訊處理裝置。 An information processing system is provided with: 1 or plural information processing devices; a memory device having a common memory unit connected to each of the foregoing 1 or plural information processing devices through an interface; wherein the foregoing memory device includes: from the foregoing 1 or The plural information processing device generates access statistical information for the access to the common memory unit, and analyzes the generated statistical information, as a method for determining the 1 or the access method of the plural information processing device to the common memory unit, is determined: The first access process for writing and reading data transferred from the common memory to the individual memory, or the second access process for directly writing and reading data stored in the common memory The aforementioned interface of the analysis part transfers the operation statistics information of the aforementioned 1 or plural information processing devices from each of the aforementioned 1 or plural information processing devices to the aforementioned memory device; and forwards the information indicating the aforementioned access method from the aforementioned memory device to the aforementioned memory device. Each of the aforementioned 1 or plural information processing devices.
TW106128245A 2017-03-21 2017-08-21 Memory device and information processing system TWI704461B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017054762A JP2018156573A (en) 2017-03-21 2017-03-21 Memory device and information processing system
JP2017-054762 2017-03-21

Publications (2)

Publication Number Publication Date
TW201835779A TW201835779A (en) 2018-10-01
TWI704461B true TWI704461B (en) 2020-09-11

Family

ID=63582846

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106128245A TWI704461B (en) 2017-03-21 2017-08-21 Memory device and information processing system

Country Status (3)

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

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110431569A (en) * 2017-03-21 2019-11-08 首选网络株式会社 Server unit, learning model provide program, learning model providing method and learning model provides system
JP7013360B2 (en) * 2018-11-06 2022-01-31 株式会社東芝 Information processing equipment, information processing methods, and programs
JP7196765B2 (en) * 2019-05-23 2022-12-27 トヨタ自動車株式会社 hybrid car
JP2021047736A (en) * 2019-09-19 2021-03-25 キオクシア株式会社 Leaning device and learning method
JP2022045615A (en) * 2020-09-09 2022-03-22 キオクシア株式会社 Arithmetic device and arithmetic method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100110748A1 (en) * 2007-04-17 2010-05-06 Best Scott C Hybrid volatile and non-volatile memory device
WO2013048493A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Memory channel that supports near memory and far memory access
US20130268728A1 (en) * 2011-09-30 2013-10-10 Raj K. Ramanujan Apparatus and method for implementing a multi-level memory hierarchy having different operating modes
TW201702881A (en) * 2012-08-17 2017-01-16 英特爾公司 Shared virtual memory
TW201710911A (en) * 2015-07-02 2017-03-16 威盛電子股份有限公司 Selective prefetching of physically sequential cache line to cache line that includes loaded page table

Family Cites Families (2)

* 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
CN102939699B (en) * 2010-03-30 2016-05-18 沃尔沃技术公司 There is rotor and the motor of embedded permanent magnet

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100110748A1 (en) * 2007-04-17 2010-05-06 Best Scott C Hybrid volatile and non-volatile memory device
WO2013048493A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Memory channel that supports near memory and far memory access
US20130268728A1 (en) * 2011-09-30 2013-10-10 Raj K. Ramanujan Apparatus and method for implementing a multi-level memory hierarchy having different operating modes
TW201702881A (en) * 2012-08-17 2017-01-16 英特爾公司 Shared virtual memory
TW201710911A (en) * 2015-07-02 2017-03-16 威盛電子股份有限公司 Selective prefetching of physically sequential cache line to cache line that includes loaded page table

Also Published As

Publication number Publication date
JP2018156573A (en) 2018-10-04
TW201835779A (en) 2018-10-01
US20180277224A1 (en) 2018-09-27
US10438665B2 (en) 2019-10-08

Similar Documents

Publication Publication Date Title
TWI704461B (en) Memory device and information processing system
US20230325320A1 (en) Method and apparatus for controlling cache line storage in cache memory
KR101894132B1 (en) Apparatuses and methods for adaptive control of memory
US9311245B2 (en) Dynamic cache sharing based on power state
US10089014B2 (en) Memory-sampling based migrating page cache
Kokolis et al. Pageseer: Using page walks to trigger page swaps in hybrid memory systems
CN111699477A (en) Accelerated data access via data stream isolation in a memory system
JP4451717B2 (en) Information processing apparatus and information processing method
US9858191B2 (en) Electronic system with data management mechanism and method of operation thereof
CN102346682A (en) Information processing device and information processing method
US10719247B2 (en) Information processing device, information processing method, estimation device, estimation method, and computer program product
US9367466B2 (en) Conditional prefetching
JP6800904B2 (en) Model generator, information processing device, model generation method and program
US11561834B2 (en) Methods and systems for adaptive memory-resource management
JP6877381B2 (en) Information processing equipment, information processing methods and programs
JP6873942B2 (en) Estimator, estimation method and program
US20230315627A1 (en) Cache line compression prediction and adaptive compression
JP7013360B2 (en) Information processing equipment, information processing methods, and programs
US10452546B2 (en) Cache utility modeling for automated cache configuration
US20240028517A1 (en) Arithmetic processing apparatus and arithmetic processing method
US11841798B2 (en) Selective allocation of memory storage elements for operation according to a selected one of multiple cache functions
EP4109282A1 (en) Methods for bias mode management in memory systems
US20240103719A1 (en) Memory Control for Data Processing Pipeline Optimization
US11354127B2 (en) Method of managing multi-tier memory displacement using software controlled thresholds
Bock Collaborative hardware-software management of hybrid main memory