WO2014121588A1 - 数据存取系统、内存共享设备及数据读取方法 - Google Patents

数据存取系统、内存共享设备及数据读取方法 Download PDF

Info

Publication number
WO2014121588A1
WO2014121588A1 PCT/CN2013/079841 CN2013079841W WO2014121588A1 WO 2014121588 A1 WO2014121588 A1 WO 2014121588A1 CN 2013079841 W CN2013079841 W CN 2013079841W WO 2014121588 A1 WO2014121588 A1 WO 2014121588A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
memory sharing
sharing device
data
resource pool
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2013/079841
Other languages
English (en)
French (fr)
Inventor
莫良伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP13874270.5A priority Critical patent/EP2940966B1/en
Priority to JP2015556369A priority patent/JP6373876B2/ja
Publication of WO2014121588A1 publication Critical patent/WO2014121588A1/zh
Priority to US14/804,649 priority patent/US9594682B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/16General purpose computing application
    • G06F2212/163Server or database system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/254Distributed memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/263Network storage, e.g. SAN or NAS
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements

Definitions

  • the present invention relates to the field of the Internet, and in particular to a data access system, a memory sharing device, and a data reading method. Background technique
  • DFS Distributed file system
  • the information sharing method based on the switching network as shown in FIG. 1 is usually used.
  • the process is as follows: 1) The CPU in the control system A sends a request message to the CPU of the control system B; The CPU in the control system B reads data from the local memory unit according to the request message; 3) the CPU in the control system B returns the execution result of the carried data to the CPU of the control system A; 4) in the control system A C0U extracts data from the execution result and hands it to the upper system for processing.
  • all data flows need to be processed by the central processing unit of Control System A and Control System B (Cent ra l Proces s ing Uni t , CPU).
  • the CPU in the control system A wishes to acquire the data in the memory unit of the control system B, then the control system A acts as the acquiring party, and the control system B acts as the acquiring party.
  • the provider, the specific process is, as shown in the solid line flow in Figure 1, the CPU in the control system A needs to acquire the data in the memory of the control system B when executing a certain program.
  • the CPU sends a request message to the CPU in the control system B through the crossbar network; after the CPU in the control system B parses the request message, it is clear that the CPU in the control system A needs to acquire the data in its own memory, and then the CPU in the control system B According to the request message, the memory unit in the local memory is accessed, and the data is obtained therefrom. After the CPU in the control system B obtains the data from the memory unit, the acquired data is fed back to the CPU in the control system A, as shown by the dotted line in FIG.
  • the CPU returns the execution result of the carried data to the CPU in the control system through the crossbar network; the CPU in the control system A obtains the data from the execution result and delivers the data to the upper system for processing. Therefore, in the prior art exchange network-based information sharing mode, the control system A needs to participate in the processing of the CPU in the control system A and other control systems B, especially in multiple control systems.
  • the CPUs of multiple control systems will participate in the processing, so that in the whole process of information sharing, excessive consumption as the performance of the CPU in the provider control system, resulting in waste of the CPU, When any CPU operating software failure in the provider control system, the data it owns will not be accessible by other control systems, reducing the reliability of the entire system.
  • an embodiment of the present invention provides a data access system, where the system includes: a memory shared resource pool composed of two or more memory sharing devices, and two or more memory resources. a control device corresponding to each memory sharing device in the source pool;
  • the memory sharing unit has a memory unit for storing data, and the first memory sharing device of the any memory sharing device receives the first control device corresponding to the first memory sharing device.
  • the memory unit corresponding to the address information is a memory unit in the first memory sharing device, reading data in a memory unit in the first memory sharing device, and feeding back the data to the first control a device, if the memory unit corresponding to the address information is a memory unit in the second memory sharing device in the memory shared resource pool, the first memory sharing device sends the memory access request to the second memory sharing device Forwarding, and receiving data in a memory unit of the second memory sharing device fed back by the second memory sharing device;
  • the first memory sharing device in any one of the memory sharing devices reads the data and feeds the read data to the second when receiving the memory access request with the address information forwarded by the second memory sharing device Memory sharing device.
  • the memory sharing device includes a storage module, a processing module, and a communication unit:
  • a storage module connected to the processing module, the storage module includes at least one memory unit uniformly addressed in the memory shared resource pool, the memory unit is configured to store data, and the processing module is controlled by a communication interface and a control Connecting the device, connecting, by the communication unit, another memory sharing device in the memory shared resource pool, and receiving, by the communication interface, a memory access request sent by the control device connected to the processing module; Receiving a memory access request forwarded by another memory sharing device, and/or forwarding a memory access request sent by the control device to another memory sharing device in the memory sharing resource pool; and the memory access request forwarded by the other memory sharing device is The memory access request is received from the corresponding control device, and the memory access request includes address information of the memory unit in the plurality of memory sharing devices in the memory shared resource pool, where the address is Information is used to obtain any of the memory sharing resource pools The number of memory cells in a memory shared device According to.
  • the memory sharing device by using the communication unit, to another memory sharing device in the memory sharing resource pool
  • the query message is broadcasted to obtain the address data of the memory unit that is uniformly addressed in the memory shared resource pool, and the obtained address data is saved in the processing module.
  • any one of the two control devices includes a communication module, and the communication module of the any control device is The plugged memory sharing module accesses the data access system.
  • the communication interface is a system high speed bus, a switch, or an Ethernet interface .
  • an embodiment of the present invention provides a memory sharing device, which includes a storage module, a processing module, and a communication unit, where
  • a storage module connected to the processing module, for storing data
  • a storage module connected to the processing module, for storing data
  • the processing module is connected to a control device through a communication interface, and is connected to another memory sharing device in the memory shared resource pool where the memory sharing device is located by the communication unit, and receives control connected to the processing module through the communication interface.
  • a memory access request sent by the device receiving, by the communication unit, a memory access request forwarded by another memory sharing device in the memory shared resource pool, and/or forwarding the control to another memory sharing device in the memory shared resource pool a memory access request sent by the device; the memory access request forwarded by the other memory sharing device is received by the other memory sharing device from the corresponding control device, where the memory access request includes the unified memory pool
  • the address information of the memory unit in the memory sharing device is used to obtain data in a memory unit in any one of the memory sharing resource pools.
  • the processing module after receiving, by the communication unit, a memory access request that is forwarded by the other memory sharing device in the memory shared resource pool Obtaining data in a memory unit corresponding to the address information carried in the memory access request, and returning the result to the other memory sharing device by using the communication unit, by the other memory sharing device, by using the communication interface
  • a control device that transmits a memory access request with the other memory sharing device returns the result.
  • the processing module further includes a determining unit, if the determining unit determines that the first part of the memory unit in the memory unit corresponding to the address information is in the present The memory sharing device, the second part is in the second memory sharing device, the processing module reads the data in the first part of the memory unit in the storage module in the local memory sharing device, and the memory access request The address of the first part of the memory unit in the address information is deleted, and the memory access request including only the second part of the memory unit address is forwarded to the other memory sharing device by the communication unit.
  • the memory sharing device further includes a power module, When there is an external power supply, power is supplied to the storage, and the memory sharing device of the power module forms a pluggable non-volatile random access memory NVRAM.
  • the memory sharing device further includes a management module, configured to debug An application in the storage module and controlling traffic in the communication unit.
  • the processing module is a field programmable gate array FPGA.
  • an embodiment of the present invention provides a data reading method, where the method includes: receiving, by a first memory sharing device in a memory shared resource pool, a first memory sharing device. a memory access request sent by the first control device, where the memory access request includes address information after being uniformly addressed; wherein the address information is more than two in a memory shared resource pool after being uniformly addressed Address information of one or more memory units for storing data in the memory sharing device, and control of one of the two or more memory sharing devices in one of the two or more control devices Performing reading of data, where the first memory sharing device is one of the two or more memory sharing devices;
  • the first memory sharing device acquires data from a memory unit corresponding to the address information in the first memory sharing device itself.
  • the first memory sharing device forwards the memory access request to the second memory sharing device, and receives the second The data returned by the memory sharing device;
  • the first memory sharing device feeds back the data reading to the first control device.
  • the method before the first memory sharing device in the memory sharing resource pool receives the memory access request sent by the first control device of the first memory sharing device, the method further includes:
  • the first memory sharing device in the memory shared resource pool broadcasts an inquiry message to the other memory sharing device in the memory shared resource pool to obtain the addressing data of the memory unit in all the memory sharing devices in the memory shared resource pool.
  • a memory shared resource pool composed of two or more memory sharing devices, and two or more control devices corresponding to each memory sharing device in the memory resource pool
  • the memory sharing device has a memory unit for storing data that is uniformly addressed, and the memory sharing device reads data from the memory unit according to its corresponding control device.
  • Data improves the reliability of data stored in distributed systems.
  • FIG. 1 is a structural diagram of an information sharing manner provided by the prior art
  • FIG. 3 is a schematic diagram of a data access system for information according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a memory sharing device in a data access system according to an embodiment of the present invention
  • FIG. 5A is a schematic diagram of a working process of a memory sharing device according to an embodiment of the present invention.
  • 5B is a schematic diagram of a working process of a memory sharing device according to another embodiment of the present invention.
  • 5C is a schematic diagram of a working process of a memory sharing device according to another embodiment of the present invention.
  • FIG. 6 is a structural diagram of another embodiment of a data access system according to an embodiment of the present invention
  • FIG. 7 is a structural diagram of another embodiment of a data access system according to an embodiment of the present invention.
  • FIG. 8 is a flowchart of a data reading method according to an embodiment of the present invention.
  • FIG. 9 is a flowchart of another embodiment of a data reading method according to an embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of an embodiment of a memory sharing device according to the present invention
  • FIG. 11 is a schematic structural diagram of another embodiment of a memory sharing device according to the present invention. detailed description
  • Embodiments of the present invention provide a device that includes more than two memory sharing devices and through a communication interface.
  • a data access system of two or more control devices connected to the memory sharing device wherein two or more memory sharing devices constitute a memory shared resource pool in the data access system, and each control device is shared with each memory
  • the memory sharing device in the memory sharing resource pool is read by the memory sharing device corresponding to the control device.
  • Required data when one of the two or more control devices wants to read data in the memory shared resource pool, the memory sharing device in the memory sharing resource pool is read by the memory sharing device corresponding to the control device.
  • an embodiment of the present invention provides a data access system, where the system includes a memory shared resource pool composed of two or more memory sharing devices, and multiple memory connected to multiple control devices through a communication interface. Share the device.
  • the communication interface includes but is not limited to a system high speed bus, a switch or an Ethernet interface.
  • the plurality of memory sharing devices form a memory shared resource pool, wherein each of the memory sharing devices corresponds to one of the plurality of control devices to establish a control relationship, and if connected through the system high-speed bus, share with each memory
  • the control device connected to the device controls the memory sharing device. If the control device connects to the memory sharing device through the network through the switch or the Ethernet interface, the memory sharing device and the control device can establish a correspondence through port configuration or IP allocation.
  • Any one of the memory sharing resource pools has a memory unit for storing data, and the first memory sharing device of the memory sharing device receives the first memory sharing device.
  • the first control device sends a memory access request with address information:
  • the memory unit corresponding to the address information is a memory unit in the first memory sharing device, reading data in a memory unit in the first memory sharing device, and feeding back the data to the first control a device, if the memory unit corresponding to the address information is a memory unit in the second memory sharing device in the memory shared resource pool, the first memory sharing device sends the memory access request to the second memory sharing device Forwarding, and receiving data in a memory unit of the second memory sharing device fed back by the second memory sharing device;
  • the first memory sharing device in any of the memory sharing devices reads the data locally when receiving the memory access request with the address information forwarded by the second memory sharing device, and feeds back the read data to the first Two memory sharing devices.
  • each memory sharing device includes a processing module 501, a storage module 502, and a communication unit 503.
  • the memory sharing device can communicate with other memory sharing devices, and the memory sharing devices belong to a memory shared resource pool;
  • the storage module 502 includes a plurality of memory units, each Each memory unit is uniformly addressed in the entire memory shared resource pool, and each memory unit is used to store data;
  • the processing module 501 is configured to process the memory access request received from the control device, and store The data is read in module 502.
  • the processing module 501 of each memory sharing device may store an address table that records the addresses of all memory units in the memory shared resource pool.
  • the processing module 501 in the memory sharing device is connected to a control device through the communication interface, and receives a memory access request sent by the control device connected to the processing module 501 through the communication interface;
  • the other memory sharing device connection in the memory sharing resource pool is received by the communication unit 503, and the processing module 501 is further configured to receive the control connected to the processing module 501.
  • the communication unit 503 forwards the request to the memory sharing device where the memory unit to be accessed is located.
  • the memory access request includes address information
  • the processing module 501 determines, according to the address information, a memory sharing device where the memory unit that the control device wants to access, and acquires data in any one of the memory sharing resources in the memory shared resource pool. These data are located in memory locations in memory module 502 in the memory sharing device.
  • the virtual memory shared resource pool in the embodiment of the present invention may be implemented as follows: Each memory sharing device forms a data switching domain through a communication unit, performs unified address addressing on the memory unit included in the switching domain, and addresses the memory. The subsequent address information is sent to the memory sharing device in the switching domain.
  • the memory access request is sent to the first memory sharing device 210 corresponding to the first control device 110.
  • the memory access request carries the address information of the data that the first control device 110 wants to acquire, and the first memory sharing device 210 performs a query according to the address information and the address table in the processing module 501 to determine the first control device.
  • the data required by the first control device 110 is in the memory unit in the storage module 502 of the first memory sharing device 210, the data in the memory unit in the storage module 502 is directly accessed and fed back to the first The control device 110; when the data required by the first control device 110 is not in the storage module 502 of the first memory sharing device 210, then the communication unit 503 in the first memory sharing device 210 The access request is sent to a memory sharing device (for example, the second memory sharing device 220) corresponding to the address information in the memory access request to acquire data required by the first control device.
  • a memory sharing device for example, the second memory sharing device 220
  • the entire process of acquiring data does not need to participate in the second control device 120, and does not need to be consumed in the processing module 501 in the second control device 120.
  • resource of. the specific process of accessing and acquiring data in the memory unit is completed by the memory sharing device, thereby reducing the workload of the processor in the prior art as the provider control device;
  • the memory sharing resource pool the data required by each control device is stored in the memory shared resource pool, and each control device can share the data of other control devices, thereby solving the problem of distributed system information sharing, and improving the distributed system.
  • FIG. 5A is a schematic diagram of address information of a memory unit address in a memory sharing device according to an embodiment of the present invention.
  • a memory sharing resource pool is formed by using four memory sharing devices as an example. In practical applications, the four memory sharing devices are not limited to form a memory shared resource pool.
  • the four memory sharing devices are respectively connected to the control device through the system high speed bus, and the processing module 501 in each memory sharing device completes the memory unit in the storage module 502 of its own. Addressing, clearing its own storage space, and the first memory sharing device 210, the second memory sharing device 220, the third memory sharing device 230, and the fourth memory sharing device 240 form a memory shared resource pool, each memory sharing device As shown in FIG.
  • the first address addressing information of the first memory sharing device 210 is 0-99; the second address addressing information of the second memory sharing device 220 is 100-199; the third memory sharing The third address addressing information of the device 230 is 200-299; the fourth address addressing information of the fourth memory sharing device 240 is 300-399.
  • the processing module in each memory sharing device clarifies the address addressing information of the memory unit in the memory module 502, and uses the communication unit 503 to send an inquiry to the other three memory sharing devices in the memory shared resource pool. Message to obtain the address addressing information of the internal memory unit of other memory sharing devices.
  • the processing module 501 in each memory sharing device generates an address information table according to the address addressing information of the internal memory unit and the address addressing information of the internal memory unit of the other memory sharing device, and the address information table is used for memory sharing.
  • the device quickly finds the location of the memory unit.
  • the first control device 110 wishes to access the data in the memory unit of the offset 58, length 10, and the first control device 110 passes the system high speed bus to the first memory.
  • the memory access request of the shared device 210 includes the memory address information.
  • the processing module 502 of the first memory sharing device 210 parses the memory access request and extracts the memory access request. Address information, clarifying that the first control device 110 wishes to access the offset 58 and the data of the memory unit of length 10, that is, the data of the memory unit whose address information is 58 to 67; the processing module 501 searches and determines according to the address information table.
  • the processing module 501 determines that the memory unit with the addressing information 58 to 67 exists in the local storage module 502 according to the address information table, and the processing module 501 accesses the memory with the addressing information of 58 to 67. a unit, after completing the access, generating a result message, the result message carrying 58 to 67 Store the data stored in the unit.
  • the processing module 501 transmits the acquired data to the first control device 110 via the system high speed bus.
  • the second control device 120 wishes to access Offset 58 , the data in the memory unit of length 10, the second control device 120 sends a memory access request to the processing module 501 of the second memory sharing device 220 through the system high speed bus, where the memory access request includes memory address information,
  • the processing module 501 of the memory sharing device 220 parses the memory access request and extracts the information in the memory access request, and determines that the second control device 120 wishes to access the offset 58 and the memory unit of length 10
  • the data that is, the data of the memory unit whose address information is 58 to 67; the processing module 501 of the second memory sharing device 220 searches for and determines the location of the memory unit of 58 to 67 according to the address information table, and the location of the second memory sharing device 220
  • the processing module 501 determines, according to the address information table, that the memory unit whose addressing information is 58 to 67 is not present in the storage module 502 of the local second memory
  • the first memory sharing device 210 After receiving the memory access request, the first memory sharing device 210 transmits the message to the processing module 501 of the first memory sharing device 210, and the processing module 501 of the first memory sharing device 210 performs corresponding processing, and the first memory sharing is performed.
  • the processing module 501 of the device 210 searches and determines that the memory address information included in the memory access request exists in the local storage module 502 according to the address information table, and accesses the memory unit whose addressing information is 58 to 67, and generates the access after the access is completed. Result message.
  • the processing module 501 of the first memory sharing device 210 transmits the result message to the processing module 501 of the second memory sharing device through the communication unit 503, and then passes the result message through the system high speed bus to the processing module 501 of the second memory sharing device 220.
  • the second control device 120 transmits, and the result message carries data stored in the memory unit of 58 to 67.
  • the second control device 120 when the second control device 120 needs to acquire data from the memory shared resource pool, even if the data required by the second control device 120 is not in the second memory sharing device 220 controlled by the second control device 120, Only the second memory sharing device 220 needs to forward the memory access request received by the second memory sharing device 220, so as to acquire data required by the second control device 120 from other memory sharing devices, without requiring other control devices to participate. This saves the losses of other control devices.
  • the second control device 120 wishes to access the offset 58 data in the memory unit of length 100, and the second control device 120 passes the system high speed bus to the second memory.
  • the shared device 220 sends a memory access request, where the memory access request includes memory address information, and the processing module 501 of the second memory sharing device 220 parses the memory access request, and extracts information in the memory access request, and determines the second control device 120. It is desirable to access the data of the memory unit of the offset 58, the length of 100, that is, the data of the memory unit whose address information is 58 to 157; the processing module 501 of the second memory sharing device 220 searches and determines 58 to 157 based on the address information table.
  • the location of the memory unit, the processing module 501 of the second memory sharing device 220 determines, according to the address information table, that the memory cells whose addressing information is 58 to 157 are not all present in the storage module 502 of the local second memory sharing device 220, and It is partially stored in the storage module 501 of the first memory sharing device 210 (58-99), and the part exists and shared with the second memory. 220 memory module 502 (100-157), the second shared memory device 220.
  • the memory access processing module 501 forwards the request to the first shared memory device, the memory access request includes a memory address information.
  • the processing module of the second memory sharing device 220 explicitly stores the memory unit of 100 to 157 in the storage module 502 of the local second memory sharing device 220, and the processing module 501 of the second memory sharing device 220 accesses the addressing.
  • the memory unit having information of 100 to 157 after completing the access, generates a first result message, and the first result message carries data stored in the memory unit of 100 to 157.
  • the processing module 501 of the first memory sharing device 210 After the first memory sharing device 210 receives the memory access request forwarded by the second memory sharing device 220, the processing module 501 of the first memory sharing device 210 performs corresponding processing to find and determine that the memory address information included in the memory access request exists. After the storage module 502 of the local first memory sharing device 210 accesses the memory unit with the addressing information of 58 to 99, after completing the access, a second result message is generated, and the second result message carries 58 to 99 memory units. The data stored in . The processing module 501 of the first memory sharing device 210 transmits the second result message to the processing module 501 of the second memory sharing device 220.
  • the processing module 501 of the second memory sharing device 220 will generate the second control generated by itself
  • the first result message of the data required by device 220 and the received second result message are transmitted to second control device 120 over the system high speed bus.
  • the second control device 120 needs to acquire data from the memory shared resource pool, even if the data required by the second control device 120 is not only stored in the second memory sharing device controlled by the second control device 120 In the case of 220, but distributed storage, the second memory sharing device 220 only needs to read the partial data stored in the second memory sharing device 220 locally, and only needs the second memory sharing device 220 to share the second memory.
  • the memory access request received by the device 220 is reprocessed, the memory access request that only carries the storage address of the remaining data is forwarded to the other memory sharing device, so that the data required by the second control device 120 is obtained from the other memory sharing device. It does not require the participation of other control devices, which saves the loss of other control devices.
  • the foregoing embodiments describe in detail the mutual communication between the control device and the memory sharing device and the mutual communication between the memory sharing devices.
  • the communication between the two memory sharing devices described in the foregoing embodiments is not limited.
  • the data sharing the memory sharing device as the control device of the acquiring side can be realized simply and conveniently.
  • each control device or the CPU subsystem and its corresponding memory sharing device form a distributed node, corresponding to the hardware, each distributed node may It is a rack.
  • Each rack server is a control device.
  • the memory sharing devices interconnected by switches in multiple racks form a memory shared resource pool. Both can access data in any of the memory sharing devices in the memory shared resource pool.
  • the memory sharing device in each control device and the memory shared resource pool is connected by using a communication interface, such as a switch, an Ethernet interface, or the like. If the control device of the data access system is not connected, the data access system needs to be accessed, and only a memory sharing device having a matching slot and a cable interface is connected through the slot and the cable on the control device. After that, the memory sharing device re-broadcasts the inquiry message to obtain the addressing of the memory unit in all the memory sharing devices in the memory shared resource pool, that is, Access to the entire data access system, not to repeat, through this scalable memory shared resource pool, you can reach the memory space above the PB level.
  • a communication interface such as a switch, an Ethernet interface, or the like.
  • the process of the control device acquiring the data in the memory unit in the memory sharing device in the memory shared resource pool is completed by the memory sharing device, thereby replacing the CPU in the provider control device in the prior art, which simplifies
  • the workload of the CPU in the provider control device as the workload of the CPU in the provider control device; the utilization of the CPU in the provider control device is improved, and at the same time, the data required by each control device is stored in the memory shared resource pool, and each control device is The data of other control devices can be shared, thereby solving the problem of distributed system information sharing, and improving the real-time information sharing between distributed systems.
  • the embodiment of the present invention provides a data reading method, where the main body of the data reading method is the memory sharing device in the foregoing embodiment, as shown in FIG. 8, the method includes:
  • the first memory sharing device in the memory sharing resource pool receives a memory access request sent by the first control device that controls the first memory sharing device, where the memory access request includes unified address information through unified addressing. Address information after the address;
  • the address information is address information of a plurality of memory units that are uniformly addressed, and the plurality of memory units are used to store data, and are respectively located in two or more memory sharing devices in the memory shared resource pool.
  • the memory sharing device of the two or more memory sharing devices performs data reading under the control of one of the two or more control devices, wherein the first memory sharing device is the two or more One of the memory sharing devices.
  • the first memory sharing device in the memory sharing resource pool may further include: before receiving the memory access request sent by the first control device:
  • the first memory sharing device broadcasts an inquiry message to other memory sharing devices in the memory sharing resource pool to obtain the addressing data of the memory unit in all the memory sharing devices in the memory sharing resource pool, and then the first memory sharing device can be used.
  • the address information table saves the addressed data, so that the first memory sharing device can search for a memory unit corresponding to the address information.
  • the first memory sharing device determines the memory shared resource pool according to the address information. a memory sharing device in which the memory space corresponding to the address information is located;
  • the first memory sharing device may determine, according to the address information, a specific location where the memory unit corresponding to the address information is located in a location information table in its own processing module.
  • the first memory sharing device If the memory sharing device where the memory unit corresponding to the address information is located is the first memory sharing device, the first memory sharing device reads data in a memory unit in the first memory sharing device;
  • the first memory sharing device may forward the device to the second memory sharing device.
  • the second memory sharing device waits for the data to be read in the memory unit of the second memory sharing device according to the address information in the memory access request, and then feeds back to the first memory sharing device. Data reading results.
  • the first memory sharing device is in the memory unit in the first memory sharing device. Reading data in the first part of the memory unit;
  • the first memory sharing device feeds back the data reading result to the first control device.
  • the first memory sharing device reads the data required by the first control device in the memory unit of the first memory sharing device itself, or receives the feedback from the second memory sharing device in the memory shared resource pool.
  • the first memory shares the data required by the device, or, will be read locally
  • the obtained data and the data read from the second memory sharing device transmit a data reading result to the first control device through the communication interface.
  • the process of data reading is as shown in FIG. 9, and the method includes:
  • the first control device sends a memory access request to the first memory sharing device in the memory shared resource pool, where the memory access request addresses information of the memory unit that the control device needs to access.
  • the address information is address information that is uniformly addressed by a memory unit in all memory sharing devices in the entire memory shared resource pool, and any one of the memory sharing devices in the memory resource pool is in two or more control devices. Reading the data under the control of a control device, the first memory sharing device being one of the two or more memory sharing devices;
  • the first control device receives a data reading result fed back by the first memory sharing device. Specifically, if the memory sharing device where the memory space corresponding to the address information is located is the first memory sharing device, the data read result fed back by the first memory sharing device is the first memory sharing device. Generated after data reading in a memory unit of the first memory sharing device.
  • the memory sharing device of the memory unit corresponding to the address information is the second memory sharing device
  • the data read result fed back by the first memory sharing device is the first received by the first memory sharing device.
  • the first part of the memory unit corresponding to the address information is in the first memory sharing device, and the second part is in the second memory sharing device,
  • the data read result fed back by the first memory sharing device is: in the first memory sharing device The data in the first portion of the memory unit and the data in the second portion of the memory unit in the second memory sharing device.
  • the data in any memory sharing device in the memory shared resource pool can be read by one control device without the participation of the CPU in other control devices.
  • the embodiment of the present invention provides a memory sharing device.
  • the memory sharing device includes: a storage module 1101, a processing module 1102, and a communication unit 1103: a storage module 1101, which is connected to the processing module 1102. For storing data;
  • the processing module 1102 is connected to a control device through a communication interface, and is connected to another memory sharing device in the memory sharing resource pool where the memory sharing device is located through the communication unit 1103, and is received by the processing module 1102 through the communication interface.
  • a memory access request sent by the connected control device receiving, by the communication unit 1103, a memory access request forwarded by another memory sharing device in the memory shared resource pool, and/or to another memory sharing device in the memory shared resource pool Forwarding a memory access request sent by the control device; the memory access request forwarded by the other memory sharing device is received by the other memory sharing device from the corresponding control device, where the memory access request includes the memory shared resource
  • the address information of the memory unit in the memory sharing device in the pool is used to obtain the data in the memory unit in any one of the memory sharing resource pools.
  • the storage module 1101 connected to the processing module 1102 includes a plurality of memory units for storing data, and the memory units are uniformly addressed in a plurality of memory sharing devices in the memory shared resource pool.
  • the processing module 1102 can be implemented by a Field Programmable Gate Array (FPGA) or a central processing chip.
  • FPGA Field Programmable Gate Array
  • the processing module 1102 may include an interrogation unit that broadcasts an inquiry message to all memory sharing devices in the memory shared resource pool through the communication unit 1103, and obtains a memory unit address in all memory sharing devices in the memory shared resource pool. Information, followed by address letter The addressing information is saved in the form of a table of contents.
  • the memory access request received by the processing module 1102 from a communication interface determines the location according to the address information in the memory access request and the address information table saved by the processing module 1102.
  • the memory sharing device where the memory space corresponding to the address information is located.
  • the processing module 1102 reads data in a memory unit corresponding to the address information in the storage module 1101, if the memory sharing device in the memory space corresponding to the address information is a device shared with the local memory.
  • the processing module 1102 sends the memory access request to the other memory through the communication unit. Shared device forwarding.
  • the processing module 1102 stores the storage in the local memory sharing device.
  • the module 1101 reads the data in the first part of the memory unit, and deletes the address of the first part of the memory unit in the address information in the memory access request, and forwards the second part of the memory to the second memory sharing device through the communication unit 1103. Memory access request for the unit address.
  • the memory sharing device first forms a virtual memory shared resource pool with other memory sharing devices.
  • the process of forming the virtual memory shared resource pool is as follows:
  • the processing module 1102 in each memory sharing device is a memory unit in its own storage module 1101. Addressing, clarifying its own storage space, and connecting multiple memory sharing devices through the same communication interface, multiple memory sharing devices belong to the same switching domain, and are storage modules in multiple memory sharing devices in the switching domain.
  • the memory unit of 1101 performs unified address addressing, and notifies the processing module 1102 in each memory sharing device by dividing the address addressing information, thereby forming a virtual memory shared resource pool.
  • the data is written into the memory unit of the storage module 1101 by the processing module 1102 in the memory sharing device, so that the data required by each control system is stored in the memory unit, and is written in each control device.
  • each control device informs the processing module 1102 in the memory sharing device of the storage location of the data, so that the processing module 1102 in the memory sharing device divides the address according to the address of the memory unit, and accurately writes the data.
  • the content unit is written into the memory unit of the storage module 1101 by the processing module 1102 in the memory sharing device, so that the data required by each control system is stored in the memory unit, and is written in each control device.
  • the access request in the memory access request includes the first control device The address information of the data to be acquired; the processing module 1102 determines, according to the address information, a memory sharing device in which the memory unit corresponding to the address information in the memory shared resource pool is located.
  • the processing module 1102 determines, according to the address information, a specific location of the memory unit corresponding to the address information by a determining unit in a manner of searching in its own address information table.
  • the processing module 1102 of the memory sharing device reads data in the memory unit in the storage module 1101;
  • the memory sharing device in the memory space corresponding to the address information is another memory sharing device in the memory shared resource pool, for example, the second memory sharing device
  • the memory sharing device may pass through the processing module 1102 and the communication unit 1103 to the second memory.
  • the shared device forwards the memory access request, and then waits for the second memory sharing device to perform data reading in the memory unit in the second memory sharing device according to the address information in the memory access request, and then feed back to the first A data read result of a memory shared device.
  • the memory sharing device reads the data required by the first control device in its own storage module, or after receiving the data required by the control device fed back by the second memory sharing device in the memory shared resource pool, through the communication interface
  • the control device sends a data read result.
  • the memory sharing device may further include a power module 1105.
  • the memory sharing device When the external power supply fails, the memory sharing device is powered by the power module 1105.
  • the memory sharing device can form non-volatile random access Non-Volatile Random Access Memory (NVRAM), the power module 1105 may be a super capacitor or a battery backup unit (BBU).
  • NVRAM non-volatile random access Non-Volatile Random Access Memory
  • BBU battery backup unit
  • the memory sharing device may further include: a flash module 1104, configured to store an application, where the application includes instructions executed by the processing module.
  • the memory sharing device may further include a management module 1106, configured to debug an application in the storage module 1101 and control traffic in the communication unit 1103, where the management Module 1106 can be implemented by a CPU IP core.
  • the memory sharing device searches for and determines the location of the corresponding memory unit according to the received memory access request.
  • the memory unit is directly accessed.
  • the data is obtained from the memory unit, and the acquired data is carried in the result message and fed back to the control device.
  • the process of accessing and acquiring the data in the memory unit is completed by the first memory sharing device.
  • the workload of the CPU in the prior art as the provider control device is simplified; the CPU utilization in the provider control device is improved.
  • the steps of a method or algorithm described in connection with the embodiments disclosed herein can be implemented in hardware, a software module executed by a processor, or a combination of both.
  • the software module can be placed in random access memory (RAM), memory, read only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or technical field. Any other form of storage medium known.
  • RAM random access memory
  • ROM read only memory
  • electrically programmable ROM electrically erasable programmable ROM
  • registers hard disk, removable disk, CD-ROM, or technical field. Any other form of storage medium known.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及一种数据存取系统,其包括:由两个以上内存共享设备组成的内存共享资源池,以及与每个内存共享设备对应的两个以上控制设备;两个以上内存共享设备中的任一内存共享设备,具有统一编址的用于存储数据的内存单元,任一内存共享设备在两个以上控制设备中的与该内存共享设备对应的一个控制设备的控制下获取内存共享资源池中任一内存共享设备中的内存单元中的数据;两个以上控制设备中的任一控制设备,通过通信接口与两个以上内存共享设备连接,并通过统一编址后的地址信息,通过内存资源池中与任一控制设备对应的内存共享设备获取内存共享资源池中的任意的至少一个内存共享设备中的内存单元中的数据。

Description

数据存取系统、 内存共享设备及数据读取方法 技术领域
本发明涉及互联网领域, 具体涉及到一种数据存取系统、 内存共享设 备及数据读取方法。 背景技术
目前, 随着互联网的发展与普及, 分布式系统的应用越来越广泛。 分 布式文件系统 ( Distributed file system, DFS )是指建立在网络之上的软件系统。 其特点是具有高度的内聚性和透明性。 内聚性是指系统中每一个数据库分 布节点高度自治; 透明性是指每一个数据库分布节点对用户的应用来说都 是透明的。 但是, 分布式系统之间的信息共享的实时性影响了分布式系统 的整体性能。
在现有技术中,为了解决分布式系统的信息共享问题,通常釆用如图 1 所示的基于交换网络的信息共享方式。 在图 1 中, 作为获取方控制系统 A 中的 CPU希望获取作为提供方控制系统 B内存单元中的数据, 过程为: 1 ) 控制系统 A中的 CPU向控制系统 B的 CPU发送请求消息; 2 )控制系统 B中 的 CPU根据请求消息从本机内存单元中读取数据; 3 )控制系统 B中的 CPU 将携带数据的执行结果返回给控制系统中 A的 CPU; 4 )控制系统 A中的 C0U 从执行结果中提取数据, 并交给上层系统进行处理。 在上述过程中, 所有 数据的流动都需要经过控制系统 A和控制系统 B 的中央处理器 (Cent ra l Proces s ing Uni t , CPU )参与处理。
以现有的基于交换网络的信息共享方式为例, 如图 2 中所示流程, 控 制系统 A中 CPU希望获取控制系统 B内存单元中的数据, 则控制系统 A作 为获取方, 控制系统 B作为提供方, 具体过程为, 如图 1中实线流程, 控 制系统 A中 CPU在执行某一程序时, 需要获取控制系统 B内存中的数据, 控制系统 A中 CPU通过交叉开关网络向控制系统 B中 CPU发送请求消息; 控制系统 B中 CPU对请求消息解析后, 明确控制系统 A中 CPU需要获取自 身内存中的数据, 则控制系统 B中 CPU根据请求消息访问本机内存中的内 存单元, 并从中获取数据, 控制系统 B中 CPU在从内存单元中获取数据后, 要将获取的数据反馈至控制系统 A中 CPU内, 如图 2中虚线流程; 控制系 统 B中 CPU将携带数据的执行结果通过交叉开关网络返回给控制系统中 A 中 CPU; 控制系统 A中 CPU从执行结果中获取数据, 并交给上层系统进行处 理。 因此, 现有技术中的基于交换网络的信息共享方式, 控制系统 A在获 取其他控制系统中的数据均需要经过控制系统 A和其他控制系统 B中 CPU 参与处理, 尤其是在多个控制系统相互获取其他控制系统中的数据时, 多 个控制系统的 CPU均会参与处理, 使得在整个信息共享的过程中, 过多消 耗作为提供方控制系统中 CPU的性能, 造成 CPU的浪费, 再者, 在任一作 为提供方控制系统中 CPU运行软件故障时, 其所拥有的数据将不能被其它 控制系统访问, 降低整个系统的可靠性。
因此,在现有技术中存在以下缺点: 1 )控制系统 A与控制系统 B的 CPU 均需要参与到信息的共享控制, 使得在整个信息共享的过程中, 过多消耗 作为提供方控制系统中 CPU的性能, 造成 CPU的浪费; 1 )作为提供方控制 系统 B中的 CPU的运行软件故障后, 其所拥有的数据将不能被其它终端访 问, 降低整个系统的可靠性。 发明内容
本发明的目的是提供一种数据存取系统, 以解决现有技术作为提供 方的控制系统过多消耗 CPU的性能, 造成 CPU的浪费及降低整个系统的可 靠性的问题, 提供了一种信息处理的方法、 装置与系统。
第一方面, 本发明实施例提供了一种数据存取系统, 所述系统包括: 由两 个以上内存共享设备组成的内存共享资源池, 以及两个以上与所述内存资 源池中的每个内存共享设备对应的控制设备;
所述任一内存共享设备具有统一编址的用于存储数据的内存单元, 所 述任一内存共享设备中的第一内存共享设备在接收到与第一内存共享设备 对应的第一控制设备发送的带有地址信息的内存访问请求时:
如果所述地址信息对应的内存单元为所述第一内存共享设备中的内存 单元, 则在第一内存共享设备中的内存单元中读取数据, 并将所述数据反 馈给所述第一控制设备,如果所述地址信息对应的内存单元为所述内存共享 资源池中的第二内存共享设备中的内存单元, 则第一内存共享设备将所述 内存访问请求向所述第二内存共享设备转发, 并接收第二内存共享设备反 馈的所述第二内存共享设备的内存单元中的数据;
所述任一内存共享设备中的第一内存共享设备在接收到第二内存共享 设备转发的带有地址信息的内存访问请求时, 读取数据并将读取到的数据 反馈给所述第二内存共享设备。
基于第一方面, 在第一种可能的实施方式中, 所述内存共享设备包括 存储模块、 处理模块以及通信单元:
存储模块, 与所述处理模块连接, 所述存储模块包括至少一个在所述 内存共享资源池中统一编址的内存单元, 所述内存单元用于存储数据; 处理模块, 通过通信接口与一个控制设备相连, 通过所述通信单元与 所述内存共享资源池中的其他内存共享设备连接, 通过所述通信接口接收 与该处理模块连接的所述控制设备发送的内存访问请求; 通过所述通信单 元接收其他内存共享设备转发的内存访问请求, 和 /或向所述内存共享资源 池中的其他内存共享设备转发所述控制设备发送的内存访问请求; 所述其 他内存共享设备转发的内存访问请求为该其他内存共享设备从对应的控制 设备处接收到的, 所述内存访问请求中包括所述内存共享资源池中通过统 一编址后多个内存共享设备中的内存单元的地址信息, 所述地址信息用于 获取所述内存共享资源池中的任意一个内存共享设备中的内存单元中的数 据。
基于第一方面的第一种可能的实施方式, 在第一方面的第二种可能的 实施方式中, 所述内存共享设备通过所述通信单元向所述内存共享资源池 中的其它内存共享设备广播询问消息, 以获取所述内存共享资源池中统一 编址后的内存单元的编址数据, 并将获取到的所述编址数据保存在所述处 理模块中。
基于第一方面, 在第一方面的第三种可能的实施方式中, 所述两个控 制设备中的任一控制设备包括通信模块, 所述任一控制设备的所述通信模 块通过连接一可插拔的内存共享模块接入所述数据存取系统。
基于第一方面, 或第一方面的第一种至第三种可能的实施方式, 在第 一方面的第四种可能的实施方式中, 所述通信接口为系统高速总线、 交换 机或以太网接口。
第二方面, 本发明实施例提供了一种内存共享设备, 其包括存储模块、 处 理模块以及通信单元, 其中,
存储模块, 与处理模块连接, 用于存储数据;
存储模块, 与处理模块连接, 用于存储数据;
处理模块, 通过通信接口与一个控制设备相连, 通过所述通信单元与 所述内存共享设备所在的内存共享资源池中的其他内存共享设备连接, 通 过所述通信接口接收与该处理模块连接的控制设备发送的内存访问请求; 通过所述通信单元接收所述内存共享资源池中其他内存共享设备转发的内 存访问请求, 和 /或向所述内存共享资源池中的其他内存共享设备转发所述 控制设备发送的内存访问请求; 所述其他内存共享设备转发的内存访问请 求为该其他内存共享设备从对应的控制设备处接收到的, 所述内存访问请 求中包括所述内存共享资源池中通过统一编址后多个内存共享设备中的内 存单元的地址信息, 用于获取所述内存共享资源池中的任意一个内存共享 设备中的内存单元中的数据。 基于第二方面, 在第二方面的第一种可能的实施方式中, 所述处理模 块通过所述通信单元接收到所述内存共享资源池中的所述其他内存共享设 备转发的内存访问请求后, 在所述内存访问请求中携带的地址信息对应的 内存单元中获取数据, 并将结果通过所述通信单元返回给所述其他内存共 享设备, 由所述其他内存共享设备通过所述通信接口向与所述其他内存共 享设备发送内存访问请求的控制设备返回所述结果。
基于第二方面, 在第二方面的第二种可能的实施方式中, 所述处理模 块进一步包括判断单元, 如果所述判断单元判定所述地址信息对应的内存 单元中的第一部分内存单元在本端内存共享设备, 第二部分在第二内存共 享设备, 则所述处理模块在本端内存共享设备中的所述存储模块中读取第 一部分内存单元中的数据, 并将所述内存访问请求中的地址信息中第一部 分内存单元的地址删除, 通过所述通信单元向所述其他内存共享设备转发 只包含第二部分内存单元地址的内存访问请求。
基于第二方面, 或第二方面的第一种或第二种可能的实施方式, 在第 二方面的第三种可能的实施方式中, 所述内存共享设备还包括电源模块, 用于当不存在外部电源供电时, 为所述存储提供电能, 藉由该电源模块所 述内存共享设备形成可插拔的非易失性随机访问存储器 NVRAM。
基于第二方面, 或第二方面的第一种至第三种可能的实施方式, 在第 二方面的第四种可能的实施方式中, 所述内存共享设备, 还包括管理模块, 用于调试所述存储模块中的应用程序及对所述通信单元中的流量进行控 制。
基于第二方面, 或第二方面的第一种至第四种可能的实施方式, 在第 二方面的第五种可能的实施方式中, 所述处理模块为现场可编程门阵列 FPGA。
第三方面, 本发明实施例提供了一种数据读取方法, 所述方法包括: 内存共享资源池中的第一内存共享设备接收控制该第一内存共享设备 的第一控制设备发送的内存访问请求, 所述内存访问请求中包括通过统一 编址后的地址信息; 其中, 所述的地址信息是通过统一编址后的内存共享 资源池中的两个以上内存共享设备中的用于存储数据的的一个或多个内存 单元的地址信息, 所述两个以上的内存共享设备中的任意一个内存共享设 备在两个以上控制设备中的一个控制设备的控制下进行数据的读取, 所述 第一内存共享设备为所述两个以上内存共享设备中的一个;
第一内存共享设备根据所述地址信息, 确定所述地址信息对应的内存 单元所在的内存共享设备;
如果所述地址信息对应的内存单元所在的内存共享设备为所述第一内 存共享设备, 则所述第一内存共享设备从第一内存共享设备自身中所述地 址信息对应的内存单元中获取数据,
如果所述地址信息对应的内存单元所在的内存共享设备为第二内存共 享设备, 则所述第一内存共享设备向所述第二内存共享设备转发所述内存 访问请求, 并接收所述第二内存共享设备返回的数据;
所述第一内存共享设备将所述数据读取反馈给所述第一控制设备。 基于第三方面, 在第一种可能的实施方式中, 在内存共享资源池中的 第一内存共享设备接收控制该第一内存共享设备的第一控制设备发送的内 存访问请求之前, 还包括:
内存共享资源池中的第一内存共享设备向所述内存共享资源池中的其 它内存共享设备广播询问消息, 以获取所述内存共享资源池中全部内存共 享设备中内存单元的编址数据。
通过应用本发明实施例提供的数据存取系统, 两个以上内存共享设备 组成的内存共享资源池, 以及两个以上与所述内存资源池中的每个内存共 享设备对应的控制设备, 任一内存共享设备具有统一编址的用于存储数据 的内存单元, 所述内存共享设备根据其对应的控制设备从所述内存单元中 读取数据。 当通过内存资源池中的其他内存设备读取数据, 简化了现有技 术中作为提供方控制设备的工作量; 提高了作为提供方控制设备的利用率, 同时, 在内存共享资源池中存储了各控制系统所需的数据, 各控制系统均 可共享其他控制系统的数据, 提高了分布式系统存储数据的可靠性。 附图说明
为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中 的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不 付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。
图 1为现有技术提供的信息共享方式结构图;
图 2为现有技术提供的信息共享方式流程示意图;
图 3为本发明实施例提供的信息的数据存取系统示意图;
图 4为本发明实施例提供的数据存取系统中内存共享设备的示意图; 图 5A为本发明一实施方式内存共享设备工作过程示意图;
图 5B为本发明另一实施方式内存共享设备工作过程示意图;
图 5C为本发明另一实施方式内存共享设备工作过程示意图;
图 6为本发明实施例数据存取系统的另一种实施方式的架构图; 图 7为本发明实施例数数据存取系统另一实施例的结构图;
图 8为本发明实施例数据读取方法的流程图;
图 9为本发明实施例数据读取方法另一实施例的流程图;
图 10为本发明提供的内存共享设备的一种实施方式的结构示意图; 图 11为本发明提供的内存共享设备另一种实施方式的结构示意图。 具体实施方式
下面通过附图和实施例, 对本发明的技术方案做进一步的详细描述。 本发明实施例提供一种包括两个以上内存共享设备和通过通信接口与 上述的内存共享设备连接的两个以上控制设备的数据存取系统, 其中, 两 个以上的内存共享设备组成所述数据存取系统中的内存共享资源池, 每个 控制设备与每个内存共享设备对应, 当两个以上控制设备中的一个控制设 备想要在内存共享资源池中读取数据时, 通过与此控制设备对应的内存共 享设备, 在所述的内存共享资源池中读取所需的数据。
如图 3所示, 本发明实施例提供了一种数据存取系统, 所述系统包括 两个以上内存共享设备组成的内存共享资源池, 以及通过通信接口与多个 控制设备连接的多个内存共享设备。 其中, 通信接口包括但不限定于系统 高速总线、 交换机或以太网接口等。 所述的多个内存共享设备组成内存共 享资源池, 其中的每个内存共享设备都与多个控制设备中的一个对应, 建 立控制关系, 如果是通过系统高速总线连接, 则与每个内存共享设备连接 的控制设备, 就控制此内存共享设备, 如果控制设备通过交换机或以太网 接口通过网络连接内存共享设备, 则内存共享设备和控制设备之间可以通 过端口配置或者 IP分配等方式建立对应关系, 达到一个控制设备控制一个 内存共享设备的目的, 或者一个控制设备控制内存共享资源池中的任意一 个内存共享设备的目的。
所述内存共享资源池中的任一内存共享设备具有统一编址的用于存储 数据的内存单元, 所述任一内存共享设备中的第一内存共享设备在接收到 与第一内存共享设备对应的第一控制设备发送的带有地址信息的内存访问 请求时:
如果所述地址信息对应的内存单元为所述第一内存共享设备中的内存 单元, 则在第一内存共享设备中的内存单元中读取数据, 并将所述数据反 馈给所述第一控制设备,如果所述地址信息对应的内存单元为所述内存共享 资源池中的第二内存共享设备中的内存单元, 则第一内存共享设备将所述 内存访问请求向所述第二内存共享设备转发, 并接收第二内存共享设备反 馈的所述第二内存共享设备的内存单元中的数据; 任一内存共享设备中的第一内存共享设备在接收到第二内存共享设备 转发的带有地址信息的内存访问请求时, 在本地读取数据, 并将读取到的 数据反馈给所述第二内存共享设备。
如图 4所示, 每个内存共享设备都包括处理模块 501、存储模块 502以 及通信单元 503。 通过所述的通信单元 503 , 所述内存共享设备与其他内存 共享设备之间能够进行通信, 这些内存共享设备同属于一个内存共享资源 池; 所述的存储模块 502 包括多个的内存单元, 每个内存单元都在整个内 存共享资源池中统一编址, 每个内存单元都用于存储数据; 所述的处理模 块 501 用于对从控制设备中接收到的内存访问请求进行处理, 并在存储模 块 502中读取数据。 在每个内存共享设备的处理模块 501可以保存有一个 地址表, 此地址表记录所述内存共享资源池中所有内存单元的地址。
内存共享设备中的处理模块 501 通过所述通信接口与一个控制设备相 连, 通过所述通信接口接收与该处理模块 501 连接的所述控制设备发送的 内存访问请求; 通过所述通信单元 503 与所述内存共享资源池中的其他内 存共享设备连接, 通过所述通信单元 503接收其他内存共享设备转发的内 存访问请求; 此外, 处理模块 501还能够在接收到与该处理模块 501连接 的所述控制设备发送的内存访问请求后, 当该内存访问请求所要访问的内 存单元在其它内存共享设备时, 通过所述通信单元 503 向所述要访问的内 存单元所在的内存共享设备转发请求。 所述内存访问请求中包括地址信息, 处理模块 501 根据地址信息确定控制设备想要访问的内存单元所在的内存 共享设备, 并获取所述内存共享资源池中的任意一个内存共享设备中的数 据, 这些数据位于内存共享设备中的存储模块 502中的内存单元中。
本发明实施例中虚拟的内存共享资源池可以通过如下方式实现: 各内 存共享设备通过通信单元组成一个数据交换域, 将所述交换域中包含的内 存单元进行统一地址编址, 并将编址后的地址信息发送给所述交换域中的 内存共享设备。 如图 3所示, 作为获取方的第一控制设备 11 0需要从内存共享资源池 中获取所需的数据时, 向与该第一控制设备 110对应的第一内存共享设备 210发送内存访问请求,所述内存访问请求携带第一控制设备 110想要获取 的数据的地址信息, 第一内存共享设备 210设备根据所述地址信息和处理 模块 501 中的地址表进行查询, 以确定第一控制设备 1 10所需数据的存储 位置。 当第一控制设备 110所需的数据在第一内存共享设备 210的存储模 块 502中的内存单元时, 则直接访问所述存储模块 502中的内存单元中的 数据, 并反馈给所述第一控制设备 11 0; 当所述第一控制设备 110所需的数 据不在第一内存共享设备 21 0的存储模块 502 内时, 则通过所述第一内存 共享设备 210中的通信单元 503 ,将所述访问请求发送到内存访问请求中的 地址信息对应的内存共享设备(例如第二内存共享设备 220 ), 以获取第一 控制设备所需的数据。 在第一控制设备 110所需的数据不在第一内存共享 设备 21 0内时, 整个获取数据的过程也不需要第二控制设备 120参与, 不 需要耗费第二控制设备 120中的处理模块 501 中的资源。 在本发明实施例 中, 具体的访问、 获取内存单元中数据的过程由内存共享设备完成, 进而 降低了现有技术中作为提供方控制设备中处理器的工作量; 提高了作为提 供方控制设备中处理器利用率, 同时, 在内存共享资源池中存储了各控制 设备所需的数据, 各控制设备均可共享其他控制设备的数据, 进而解决分 布式系统信息共享的问题, 提高分布式系统之间信息共享的实时性。
以下结合附图, 对上述系统的几个具体实施例, 对上述系统做进一步 详细叙述。
如图 5A所示, 图 5A为本发明实施例提供的内存共享设备中内存单元 地址编址信息示意图。 在图 5A中, 以 4个内存共享设备形成内存共享资源 池为例进行说明, 实际应用中, 并不限制于 4 个内存共享设备形成内存共 享资源池。 4个内存共享设备分别与控制设备通过系统高速总线连接, 且每 个内存共享设备中的处理模块 501均完成自身的存储模块 502中内存单元 的编址, 明确自身的存储空间, 并且第一内存共享设备 210、 第二内存共享 设备 220、第三内存共享设备 230和第四内存共享设备 240形成内存共享资 源池, 每个内存共享设备的地址编址信息如图 5A所示, 第一内存共享设备 210的第一地址编址信息为 0-99; 第二内存共享设备 220的第二地址编址 信息为 100-199; 第三内存共享设备 230的第三地址编址信息为 200-299; 第四内存共享设备 240的第四地址编址信息为 300-399。
当内存共享资源池形成后, 各内存共享设备中的处理模块明确自身存 储模块 502 中内存单元的地址编址信息, 并利用通信单元 503向内存共享 资源池中的其他 3个内存共享设备发送询问消息, 以获取其他内存共享设 备其内部的内存单元的地址编址信息。
每个内存共享设备中的处理模块 501根据自身内存单元的地址编址信 息, 以及其他内存共享设备其内部的内存单元的地址编址信息, 生成地址 信息表, 所述地址信息表用于内存共享设备快速查找内存单元的位置。
在第一个优选的实施例中, 如图 5B所示, 第一控制设备 110希望访问 偏移 58 , 长度为 10的内存单元中的数据, 第一控制设备 110通过系统高速 总线向第一内存共享设备 210 的发送内存访问请求, 所述内存访问请求包 括内存地址信息, 第一内存共享设备 210的处理模块 502接收到内存访问 请求后, 对内存访问请求进行解析, 并提取内存访问请求中的地址信息, 明确第一控制设备 110希望访问偏移 58 , 长度为 10的内存单元的数据, 也 即是地址信息为 58至 67的内存单元的数据; 处理模块 501根据地址信息 表, 查找并确定 58至 67的内存单元的位置, 处理模块 501根据地址信息 表确定编址信息为 58至 67的内存单元存在于本地的存储模块 502中, 则 处理模块 501访问编址信息为 58至 67的内存单元, 在完成访问后, 生成 结果消息, 所述结果消息携带 58至 67 内存单元中存储的数据。 处理模块 501通过系统高速总线向第一控制设备 110发送获取到的数据。
在第二个优选的实施例中, 如图 5C所示, 第二控制设备 120希望访问 偏移 58 , 长度为 10的内存单元中的数据, 第二控制设备 120通过系统高速 总线向第二内存共享设备 220的处理模块 501发送内存访问请求, 所述内 存访问请求包括内存地址信息, 第二内存共享设备 220的处理模块 501接 收到内存访问请求后, 对内存访问请求进行解析, 并提取内存访问请求中 的信息, 确定第二控制设备 120希望访问偏移 58 , 长度为 10的内存单元的 数据, 即地址信息为 58至 67 的内存单元的数据; 第二内存共享设备 220 的处理模块 501根据地址信息表, 查找并确定 58至 67的内存单元的位置, 第二内存共享设备 220的处理模块 501根据地址信息表确定编址信息为 58 至 67的内存单元未存在于本地的第二内存共享设备 220的存储模块 502中, 而存在于第一内存共享设备 210的存储模块 502中, 则第二内存共享设备 220的处理模块 501将该内存访问请求通过通信单元将该内存访问请求向第 一内存共享设备 210转发。 第一内存共享设备 210接收到内存访问请求后, 将该消息传输至第一内存共享设备 210的处理模块 501 中, 由第一内存共 享设备 210的处理模块 501进行相应的处理, 第一内存共享设备 210的处 理模块 501 根据地址信息表, 查找并确定内存访问请求包括的内存地址信 息存在于本地的存储模块 502后, 则访问编址信息为 58至 67的内存单元, 在完成访问后, 生成结果消息。 第一内存共享设备 210的处理模块 501通 过通信单元 503将结果消息传输至第二内存共享设备的处理模块 501 ,再由 第二内存共享设备 220的处理模块 501将结果消息通过系统高速总线向第 二控制设备 120发送, 所述结果消息携带 58至 67内存单元中存储的数据。 在该实施例中, 当第二控制设备 120需要从内存共享资源池中获取数据时, 即使第二控制设备 120所需的数据不在第二控制设备 120控制的第二内存 共享设备 220中, 也只需要第二内存共享设备 220转发第二内存共享设备 220收到的内存访问请求,从而从其他的内存共享设备中获取第二控制设备 120所需的数据, 而不需要其他的控制设备参与, 从而节省了其他控制设备 的损耗。 在第三个优选的实施例中, 如图 5C所示, 第二控制设备 120希望访问 偏移 58 , 长度为 100的内存单元中的数据, 第二控制设备 120通过系统高 速总线向第二内存共享设备 220发送内存访问请求, 所述内存访问请求包 括内存地址信息, 第二内存共享设备 220的处理模块 501对内存访问请求 进行解析, 并提取内存访问请求中的信息, 确定第二控制设备 120希望访 问偏移 58 , 长度为 100的内存单元的数据, 即, 地址信息为 58至 157的内 存单元的数据; 第二内存共享设备 220的处理模块 501根据地址信息表, 查找并确定 58至 157的内存单元的位置, 第二内存共享设备 220的处理模 块 501根据地址信息表确定编址信息为 58至 157的内存单元未全部存在于 本地的第二内存共享设备 220的存储模块 502中, 而是部分存在于第一内 存共享设备 210的存储模块 501 中 ( 58-99 ), 部分存在与第二内存共享设 备 220的存储模块 502中 ( 100-157 ) , 则第二内存共享设备 220的处理模 块 501 将该内存访问请求转发给第一内存共享设备, 所述内存访问请求包 括内存地址信息。 第二内存共享设备 220 的处理模块明确编址信息为 100 至 157的内存单元存在于本地的第二内存共享设备 220的存储模块 502中, 则第二内存共享设备 220的处理模块 501访问编址信息为 100至 157的内 存单元, 在完成访问后, 生成第一结果消息, 所述第一结果消息携带 100 至 157内存单元中存储的数据。
第一内存共享设备 210接收到第二内存共享设备 220转发的内存访问 请求后, 由第一内存共享设备 210的处理模块 501进行相应的处理, 查找 并确定内存访问请求包括的内存地址信息存在于本地的第一内存共享设备 210的存储模块 502后, 则访问编址信息为 58至 99的内存单元, 在完成访 问后, 生成第二结果消息, 所述第二结果消息携带 58至 99 内存单元中存 储的数据。 第一内存共享设备 210的处理模块 501将第二结果消息传输至 第二内存共享设备 220的处理模块 501。
由于第二内存共享设备 220的处理模块 501将自身生成的携带第二控 制设备 220所需数据的第一结果消息和接收的第二结果消息通过系统高速 总线向第二控制设备 120发送。 通过第三实施例, 当第二控制设备 120需 要从内存共享资源池中获取数据时, 即使第二控制设备 120所需的数据并 不是只存储在第二控制设备 120控制的第二内存共享设备 220中, 而是分 散存储的情况下, 第二内存共享设备 220 除了在本地读取存储在第二内存 共享设备 220中的部分数据外, 也只需要第二内存共享设备 220将第二内 存共享设备 220 收到的内存访问请求进行重新处理后, 向其他内存共享设 备转发只携带剩余数据的存储地址的内存访问请求, 从而从其他的内存共 享设备中获取第二控制设备 120所需的数据, 而不需要其他的控制设备参 与, 从而节省了其他控制设备的损耗。
上述多个实施例详细描述了控制设备与内存共享设备之间的相互通信 及内存共享设备之间的相互通信, 在实际应用中, 不限于上述实施例所描 述的两个内存共享设备的通信, 通过上述多个实施例, 可以简单、 方便地 实现作为获取方的控制设备共享内存共享设备的数据。
在上述实施例的一种应用方式中, 如图 6所示, 每个控制设备或称为 CPU子系统与其对应的内存共享设备构成一个分布式节点, 对应于硬件中, 每个分布式节点可以是一个机架, 每个机架服务器就是一个控制设备, 插 上一个内存共享设备后, 多个机架上通过交换机互联的内存共享设备, 就 构成了一个内存共享资源池, 每个机架服务器都能够访问内存共享资源池 中的任意一个内存共享设备中的数据。
在另外一种可能的实施方式中, 如图 7所示, 将每个控制设备和内存 共享资源池中的内存共享设备釆用通信接口连接, 所述通信接口例如是交 换机、 以太网接口等。 如果未接入所述数据存取系统的控制设备, 需要接 入数据存取系统, 只需要在此控制设备上通过插槽、 排线连接一个具有匹 配的插槽、 排线接口的内存共享设备, 之后, 内存共享设备重新广播询问 消息, 获取内存共享资源池中全部内存共享设备中的内存单元的编址, 即 可接入整个数据存取系统, 不多赘述, 通过这种可以扩展的内存共享资源 池, 可以达到 PB级以上的内存空间。
在本发明实施例中, 控制设备在获取内存共享资源池中的内存共享设 备中内存单元中数据的过程由内存共享设备完成, 进而替代了现有技术中 提供方控制设备中的 CPU ,简化了现有技术中作为提供方控制设备中 CPU的 工作量; 提高了作为提供方控制设备中 CPU 的利用率, 同时, 在内存共享 资源池中存储了各控制设备所需的数据, 各控制设备均可共享其他控制设 备的数据, 进而解决分布式系统信息共享的问题, 提高分布式系统之间信 息共享的实时性。
相应的, 本发明实施例提供一种数据读取方法, 所述数据读取方法的 执行主体为前述实施例中的内存共享设备, 由图 8可见, 所述方法包括:
801 , 内存共享资源池中的第一内存共享设备接收控制该第一内存共享 设备的第一控制设备发送的内存访问请求, 所述内存访问请求中包括通过 统一编址后的地址信息通过统一编址后的地址信息;
其中, 所述的地址信息是通过统一编址后的多个内存单元的地址信息, 所述多个内存单元用于存储数据, 分别位于内存共享资源池中的两个以上 内存共享设备中。 所述两个以上的内存共享设备中的任意一个内存共享设 备, 在两个以上控制设备中的一个控制设备的控制下进行数据的读取, 所 述第一内存共享设备为所述两个以上内存共享设备中的一个。
内存共享资源池中的第一内存共享设备, 在接收第一控制设备发送的 内存访问请求之前, 还可以包括:
第一内存共享设备向内存共享资源池中的其它内存共享设备广播询问 消息, 以获取所述内存共享资源池中全部内存共享设备中内存单元的编址 数据, 之后第一内存共享设备可以釆用地址信息表的形式保存所述编址数 据, 方便第一内存共享设备查找地址信息对应的内存单元。
802, 第一内存共享设备才艮据所述地址信息, 确定所述内存共享资源池 中与地址信息对应的内存空间所在的内存共享设备;
具体而言, 第一内存共享设备根据所述地址信息, 可以在自身的处理 模块中的地址信息表中, 通过查找的方式确定所述地址信息对应的内存单 元所在的具体位置。
如果所述地址信息对应的内存单元所在的内存共享设备为所述第一内 存共享设备, 则第一内存共享设备在第一内存共享设备中的内存单元中读 取数据;
如果所述地址信息对应的内存单元所在的内存共享设备为内存共享资 源池中的其他内存共享设备, 例如第二内存共享设备, 则第一内存共享设 备可以向所述第二内存共享设备转发所述内存访问请求, 之后, 等待所述 第二内存共享设备根据所述内存访问请求中的地址信息, 在第二内存共享 设备的内存单元中进行数据读取后, 反馈给第一内存共享设备的数据读取 结果。
在根据所述地址信息, 确定所述地址信息对应的内存单元所在的内存 共享设备之后,
如果所述地址信息对应的内存单元中, 第一部分内存单元在第一内存 共享设备, 第二部分在第二内存共享设备, 则, 第一内存共享设备在第一 内存共享设备中的内存单元中读取第一部分内存单元中的数据;
将所述内存访问请求中的地址信息中第一部分内存单元的地址删除, 向第二内存共享设备转发只包含第二部分内存单元地址的内存访问请求; 之后, 接收所述第二内存共享设备返回的数据读取结果。
803 , 第一内存共享设备将所述数据读取结果反馈给所述第一控制设 备。
具体而言, 第一内存共享设备在第一内存共享设备自身的内存单元中 读取到第一控制设备所需的数据, 或者, 在接收到内存共享资源池中的第 二内存共享设备反馈的第一内存共享设备所需的数据, 或者, 将本地读取 到的数据和从第二内存共享设备中读取到的数据, 通过所述通信接口向第 一控制设备发送数据读取结果。
通过上述的方法, 在数据存取系统中的某个控制设备需要在内存共享 资源池中读取数据时, 即使所需的数据不在该控制设备所控制的内存共享 设备上, 也不需要其他控制设备参与, 从而降低了对数据存取系统中控制 设备的 CPU消耗。
相应的, 从控制设备的角度, 数据读取的过程如图 9 所示, 所述方法 包括:
901 , 第一控制设备向内存共享资源池中的第一内存共享设备发送内存 访问请求, 所述内存访问请求所述控制设备需要访问的内存单元的地址信 息,
具体而言, 所述地址信息为对整个内存共享资源池中的全部内存共享 设备中的内存单元通过统一编址的地址信息, 内存资源池中的任意一个内 存共享设备在两个以上控制设备中的一个控制设备的控制下进行数据的读 取, 所述第一内存共享设备为所述两个以上内存共享设备中的一个;
902, 第一控制设备接收所述第一内存共享设备反馈的数据读取结果。 具体而言, 如果所述地址信息对应的内存空间所在的内存共享设备为 所述第一内存共享设备, 则, 所述第一内存共享设备反馈的数据读取结果 为所述第一内存共享设备在所述第一内存共享设备的内存单元中进行数据 读取后生成的。
如果, 所述地址信息对应的内存单元所在的内存共享设备为第二内存 共享设备, 则, 所述第一内存共享设备反馈的数据读取结果为所述第一内 存共享设备接收的所述第二内存共享设备发送的数据读取结果。
如果所述地址信息对应的内存单元中的第一部分内存单元在第一内存 共享设备, 第二部分在第二内存共享设备, 则,
所述第一内存共享设备反馈的数据读取结果为: 第一内存共享设备中 的第一部分内存单元中的数据, 以及所述第二内存共享设备中第二部分内 存单元中的数据。
通过上述实施例提供的数据读取方法, 对于内存共享资源池中任意一 个内存共享设备中的数据, 都能够通过一个控制设备就能够读取, 而不需 要其他控制设备中的 CPU的参与。
相应的, 本发明实施例提供一种内存共享设备, 如图 10所示, 所述内 存共享设备包括: 存储模块 1101、 处理模块 1102以及通信单元 1103 : 存储模块 1101 , 与处理模块 1102连接, 用于存储数据;
处理模块 1102, 通过通信接口与一个控制设备相连, 通过所述通信单 元 1103与所述内存共享设备所在的内存共享资源池中的其他内存共享设备 连接, 通过所述通信接口接收与该处理模块 1102连接的控制设备发送的内 存访问请求; 通过所述通信单元 1103接收所述内存共享资源池中其他内存 共享设备转发的内存访问请求, 和 /或向所述内存共享资源池中的其他内存 共享设备转发所述控制设备发送的内存访问请求; 所述其他内存共享设备 转发的内存访问请求为该其他内存共享设备从对应的控制设备处接收到 的, 所述内存访问请求中包括所述内存共享资源池中通过统一编址后多个 内存共享设备中的内存单元的地址信息, 用于获取所述内存共享资源池中 的任意一个内存共享设备中的内存单元中的数据。
更具体的, 与所述处理模块 1102连接的存储模块 1101 包括多个内存 单元, 用于存储数据, 所述内存单元在内存共享资源池中的多个内存共享 设备中的统一编址。
优选地, 处理模块 1102 可以通过现场可编程门阵列 (Fie ld - Programmable Ga te Array, FPGA )或中央处理器芯片实现。
具体的, 例如处理模块 1102可以包括询问单元, 该询问单元通过通信 单元 1103向内存共享资源池中的全部内存共享设备广播询问消息, 获取内 存共享资源池中全部内存共享设备中的内存单元编址信息, 之后以地址信 息表的形式将所述编址信息保存。
所述处理模块 1102从通信接口 (例如系统高速总线、 以太网接口或交 换机) 中接收到的内存访问请求, 根据所述内存访问请求中的地址信息和 处理模块 1102保存的地址信息表, 确定所述地址信息对应的内存空间所在 的内存共享设备。
如果所述地址信息对应的内存空间所在的内存共享设备为与本端的内 存共享设备, 则所述处理模块 1102, 在所述存储模块 1101中的所述地址信 息对应的内存单元中读取数据。
如果所述地址信息对应的内存空间所在的内存共享设备为与所述通信 单元 1103连接的其它内存共享设备, 则所述处理模块 1102通过所述通信 单元将所述内存访问请求向所述其它内存共享设备转发。
如果所述地址信息对应的内存单元中的第一部分内存单元在本端内存 共享设备, 第二部分内存单元在其它内存共享设备, 则所述处理模块 1102 在本端内存共享设备中的所述存储模块 1101中读取第一部分内存单元中的 数据, 并将所述内存访问请求中的地址信息中第一部分内存单元的地址删 除, 通过通信单元 1103向第二内存共享设备转发只包含第二部分内存单元 地址的内存访问请求。
内存共享设备首先与其他内存共享设备形成虚拟的内存共享资源池, 所述虚拟的内存共享资源池的形成过程具体为: 各内存共享设备中的处理 模块 1102为自身的存储模块 1101 中的内存单元进行编址, 明确自身的存 储空间, 将多个内存共享设备通过同一个通信接口连接在一起, 则多个内 存共享设备同属于一个交换域, 为交换域中的多个内存共享设备中存储模 块 1101的内存单元进行统一地址编址划分, 并将划分后的地址编址信息告 知各内存共享设备中的处理模块 1102 , 进而形成虚拟的内存共享资源池。
由内存共享设备中的处理模块 1102将数据写入存储模块 1101的内存 单元中, 使得内存单元中存储着各控制系统所需的数据, 在各控制设备写 入数据的过程中, 各控制设备将该数据的存储位置一同告知内存共享设备 中的处理模块 1102 ,使得内存共享设备中的处理模块 1102根据自身内存单 元的地址编址划分, 准确地将数据写入内容单元。
当内存共享设备接收到作为获取方的一个第一控制设备需要从内存共 享资源池中获取所需的数据的内存访问请求时, 所述内存访问请求中所述 访问请求包括所述第一控制设备想要获取的数据的地址信息; 处理模块 1102才艮据所述地址信息, 确定内存共享资源池中与地址信息对应的内存单 元所在的内存共享设备。
处理模块 1102根据所述地址信息, 可以由一个判断单元, 在自身的地 址信息表中通过查找的方式确定所述地址信息对应的内存单元所在的具体 位置。
具体而言, 如果所述地址信息对应的内存单元所在的内存共享设备为 本端内存共享设备, 则内存共享设备的处理模块 1102在存储模块 1101 中 的内存单元中读取数据;
如果所述地址信息对应的内存空间所在的内存共享设备为内存共享资 源池中的其他内存共享设备, 例如第二内存共享设备, 则内存共享设备可 以通过处理模块 1102和通信单元 1103向第二内存共享设备转发所述内存 访问请求, 之后, 等待所述第二内存共享设备根据所述内存访问请求中的 地址信息, 在第二内存共享设备中的内存单元中进行数据读取后, 反馈给 第一内存共享设备的数据读取结果。
内存共享设备在自身的存储模块中读取到第一控制设备所需的数据, 或者在接收到内存共享资源池中的第二内存共享设备反馈的控制设备所需 的数据后, 通过通信接口向控制设备发送数据读取结果。
如图 11所示, 在一种较佳的实施方式中, 所述内存共享设备还可以包 括电源模块 1105 , 用于外部电源供电失效时, 为所述内存共享设备提供电 源, 通过该电源模块 1105 , 所述内存共享设备可以形成非易失性随机访问 存储器( Non- Volatile Random Access Memory, NVRAM ),该电源模块 1105 可以是超级电容或电池备用单元 BBU ( Battery Backup Unit, BBU )。
在一种较佳的实施方式中, 所述的内存共享设备还可以包括: 闪存模 块 1104 , 用于存储应用程序, 所述应用程序包括所述处理模块执行的指令。
在一种较佳的实施方式中, 所述的内存共享设备还可以包括管理模块 1106 , 用于调试所述存储模块 1101 中的应用程序及对所述通信单元 1103 中的流量进行控制, 该管理模块 1106可以通过 CPU IP核实现。
通过应用本发明实施例提供的内存共享设备, 内存共享设备根据接收 的内存访问请求, 查找并确定对应的内存单元的位置, 当本地的存储模块 中存在对应的内存单元时, 则直接访问内存单元, 从内存单元中获取数据, 并将获取的数据携带在结果消息中, 反馈至控制设备, 在本发明实施例中, 具体的访问、 获取内存单元中数据的过程由第一内存共享设备完成, 进而 替代了现有技术中提供方控制设备中 CPU,简化了现有技术中作为提供方控 制设备中 CPU的工作量; 提高了作为提供方控制设备中 CPU利用率。
专业人员应该还可以进一步意识到, 结合本文中所公开的实施例描述 的各示例的单元及算法步骤, 能够以电子硬件、 计算机软件或者二者的结 合来实现, 为了清楚地说明硬件和软件的可互换性, 在上述说明中已经按 照功能一般性地描述了各示例的组成及步骤。 这些功能究竟以硬件还是软 件方式来执行, 取决于技术方案的特定应用和设计约束条件。 专业技术人 员可以对每个特定的应用来使用不同方法来实现所描述的功能, 但是这种 实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、 处 理器执行的软件模块, 或者二者的结合来实施。 软件模块可以置于随机存 储器(RAM )、 内存、 只读存储器(ROM )、 电可编程 ROM、 电可擦除可 编程 ROM、 寄存器、 硬盘、 可移动磁盘、 CD-ROM、 或技术领域内所公知 的任意其它形式的存储介质中。 方式, 对本发明的目的、 技术方案和有益效果进 以上 施方 以上所迷仅
行了进一步详细说明, 所应理解的是,
凡在本发明的精神和原则之内, 式而已, 并不
包含在本发明的保护范围之内 等同替换、 改进等, 均^
所做的任何修

Claims

权 利 要 求
1、 一种数据存取系统, 其特征在于, 所述系统包括: 由两个以上内存共享 设备组成的内存共享资源池, 以及两个以上与所述内存资源池中的每个内 存共享设备对应的控制设备;
所述任一内存共享设备具有统一编址的用于存储数据的内存单元, 所 述任一内存共享设备中的第一内存共享设备在接收到与第一内存共享设备 对应的第一控制设备发送的带有地址信息的内存访问请求时:
如果所述地址信息对应的内存单元为所述第一内存共享设备中的内存 单元, 则在第一内存共享设备中的内存单元中读取数据, 并将所述数据反 馈给所述第一控制设备,如果所述地址信息对应的内存单元为所述内存共享 资源池中的第二内存共享设备中的内存单元, 则第一内存共享设备将所述 内存访问请求向所述第二内存共享设备转发, 并接收第二内存共享设备反 馈的所述第二内存共享设备的内存单元中的数据;
所述任一内存共享设备中的第一内存共享设备在接收到第二内存共享 设备转发的带有地址信息的内存访问请求时, 读取数据并将读取到的数据 反馈给所述第二内存共享设备。
2、 如权利要求 1所述的数据存取系统, 其特征在于, 所述内存共享设 备包括存储模块、 处理模块以及通信单元:
存储模块, 与所述处理模块连接, 所述存储模块包括至少一个在所述 内存共享资源池中统一编址的内存单元, 所述内存单元用于存储数据; 处理模块, 通过通信接口与一个控制设备相连, 通过所述通信单元与 所述内存共享资源池中的其他内存共享设备连接, 通过所述通信接口接收 与该处理模块连接的所述控制设备发送的内存访问请求; 通过所述通信单 元接收其他内存共享设备转发的内存访问请求, 和 /或向所述内存共享资源 池中的其他内存共享设备转发所述控制设备发送的内存访问请求; 所述其 他内存共享设备转发的内存访问请求为该其他内存共享设备从对应的控制 设备处接收到的, 所述内存访问请求中包括所述内存共享资源池中通过统 一编址后多个内存共享设备中的内存单元的地址信息, 所述地址信息用于 获取所述内存共享资源池中的任意一个内存共享设备中的内存单元中的数 据。
3、 如权利要求 2所述的数据存取系统, 其特征在于, 所述内存共享设 备通过所述通信单元向所述内存共享资源池中的其它内存共享设备广播询 问消息, 以获取所述内存共享资源池中统一编址后的内存单元的编址数据 , 并将获取到的所述编址数据保存在所述处理模块中。
4、 如权利要求 1 所述的数据存取系统, 其特征在于, 所述两个控制 设备中的任一控制设备包括通信模块, 所述任一控制设备的所述通信模块 通过连接一可插拔的内存共享模块接入所述数据存取系统。
5、 如权利要求 1-5任一项所述的数据存取系统, 其特征在于, 所述通 信接口为系统高速总线、 交换机或以太网接口。
6、 一种内存共享设备, 其特征在于, 包括: 包括存储模块、 处理模块 以及通信单元, 其中,
存储模块, 与处理模块连接, 用于存储数据;
处理模块, 通过通信接口与一个控制设备相连, 通过所述通信单元与 所述内存共享设备所在的内存共享资源池中的其他内存共享设备连接, 通 过所述通信接口接收与该处理模块连接的控制设备发送的内存访问请求; 通过所述通信单元接收所述内存共享资源池中其他内存共享设备转发的内 存访问请求, 和 /或向所述内存共享资源池中的其他内存共享设备转发所述 控制设备发送的内存访问请求; 所述其他内存共享设备转发的内存访问请 求为该其他内存共享设备从对应的控制设备处接收到的, 所述内存访问请 求中包括所述内存共享资源池中通过统一编址后多个内存共享设备中的内 存单元的地址信息, 用于获取所述内存共享资源池中的任意一个内存共享 设备中的内存单元中的数据。
7、 如权利要求 6所述的内存共享设备, 其特征在于, 所述处理模块通 过所述通信单元接收到所述内存共享资源池中的所述其他内存共享设备转 发的内存访问请求后, 在所述内存访问请求中携带的地址信息对应的内存 单元中获取数据, 并将结果通过所述通信单元返回给所述其他内存共享设 备, 由所述其他内存共享设备通过所述通信接口向与所述其他内存共享设 备发送内存访问请求的控制设备返回所述结果。
8、 如权利要求 6所述的内存共享设备, 其特征在于, 所述处理模块进 一步包括判断单元, 如果所述判断单元判定所述地址信息对应的内存单元 中的第一部分内存单元在本端内存共享设备, 第二部分在第二内存共享设 备, 则所述处理模块在本端内存共享设备中的所述存储模块中读取第一部 分内存单元中的数据, 并将所述内存访问请求中的地址信息中第一部分内 存单元的地址删除, 通过所述通信单元向所述其他内存共享设备转发只包 含第二部分内存单元地址的内存访问请求。
9、 如权利要求 6-8任一项所述的内存共享设备, 其特征在于, 所述处 理模块还包括询问单元, 用以通过所述通信单元向所述内存共享资源池中 的其它内存共享设备广播询问消息, 以获取所述内存共享资源池中统一编 址的内存单元的编址数据, 并将获取到的所述编址数据保存在所述处理模 块中。
10、 如权利要求 6-9任一项所述的内存共享设备, 其特征在于, 所述内 存共享设备还包括电源模块, 用于当不存在外部电源供电时, 为所述存储 提供电能, 藉由该电源模块所述内存共享设备形成可插拔的非易失性随机 访问存储器 NVRAM。
11、 如权利要求 6-10所述的内存共享设备, 其特征在于, 还包括管理 模块, 用于调试所述存储模块中的应用程序及对所述通信单元中的流量进 行控制。
12、 如权利要求 6-11任一项所述的内存共享设备, 其特征在于, 所述 处理模块为现场可编程门阵列 FPGA。
13、 一种数据读取方法, 其特征在于, 包括:
内存共享资源池中的第一内存共享设备接收控制该第一内存共享设备 的第一控制设备发送的内存访问请求, 所述内存访问请求中包括通过统一 编址后的地址信息; 其中, 所述的地址信息是通过统一编址后的内存共享 资源池中的两个以上内存共享设备中的用于存储数据的的一个或多个内存 单元的地址信息, 所述两个以上的内存共享设备中的任意一个内存共享设 备在两个以上控制设备中的一个控制设备的控制下进行数据的读取, 所述 第一内存共享设备为所述两个以上内存共享设备中的一个;
第一内存共享设备根据所述地址信息, 确定所述地址信息对应的内存 单元所在的内存共享设备;
如果所述地址信息对应的内存单元所在的内存共享设备为所述第一内 存共享设备, 则所述第一内存共享设备从第一内存共享设备自身中所述地 址信息对应的内存单元中获取数据,
如果所述地址信息对应的内存单元所在的内存共享设备为第二内存共 享设备, 则所述第一内存共享设备向所述第二内存共享设备转发所述内存 访问请求, 并接收所述第二内存共享设备返回的数据;
所述第一内存共享设备将所述数据读取反馈给所述第一控制设备。
14、 如权利要求 13所述的方法, 其特征在于, 在内存共享资源池中的 第一内存共享设备接收控制该第一内存共享设备的第一控制设备发送的内 存访问请求之前, 还包括:
内存共享资源池中的第一内存共享设备向所述内存共享资源池中的其 它内存共享设备广播询问消息, 以获取所述内存共享资源池中全部内存共 享设备中内存单元的编址数据。
PCT/CN2013/079841 2013-02-06 2013-07-23 数据存取系统、内存共享设备及数据读取方法 Ceased WO2014121588A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP13874270.5A EP2940966B1 (en) 2013-02-06 2013-07-23 Data access system, memory sharing device, and data access method
JP2015556369A JP6373876B2 (ja) 2013-02-06 2013-07-23 データアクセスシステム、メモリ共有装置及びデータ読み取り方法
US14/804,649 US9594682B2 (en) 2013-02-06 2015-07-21 Data access system, memory sharing device, and data reading method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310046412.4 2013-02-06
CN201310046412.4A CN103152394B (zh) 2013-02-06 2013-02-06 数据存取系统、内存共享设备及数据读取方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/804,649 Continuation US9594682B2 (en) 2013-02-06 2015-07-21 Data access system, memory sharing device, and data reading method

Publications (1)

Publication Number Publication Date
WO2014121588A1 true WO2014121588A1 (zh) 2014-08-14

Family

ID=48550253

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/079841 Ceased WO2014121588A1 (zh) 2013-02-06 2013-07-23 数据存取系统、内存共享设备及数据读取方法

Country Status (5)

Country Link
US (1) US9594682B2 (zh)
EP (1) EP2940966B1 (zh)
JP (1) JP6373876B2 (zh)
CN (1) CN103152394B (zh)
WO (1) WO2014121588A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107643991A (zh) * 2017-09-22 2018-01-30 算丰科技(北京)有限公司 数据处理芯片和系统、数据存储转发处理方法
CN116760894A (zh) * 2023-06-15 2023-09-15 杭州深渡科技有限公司 一种物联设备的数据共享方法、装置、设备及存储介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152394B (zh) * 2013-02-06 2016-09-28 华为技术有限公司 数据存取系统、内存共享设备及数据读取方法
CN103984601A (zh) * 2014-05-12 2014-08-13 浪潮电子信息产业股份有限公司 基于共享资源池的计算机系统
CN111049566B (zh) * 2019-11-20 2022-03-08 中国航空工业集团公司西安航空计算技术研究所 信息传递方法和机载lrm模块
CN112860506B (zh) * 2019-11-28 2024-05-17 阿里巴巴集团控股有限公司 监控数据的处理方法、装置、系统和存储介质
CN119271429B (zh) * 2021-03-12 2025-11-28 华为技术有限公司 实现内存共享控制的方法、设备、计算机设备和系统
JP2024048260A (ja) 2022-09-27 2024-04-08 株式会社日立製作所 ストレージシステム、データ制御方法
JP2025002388A (ja) 2023-06-22 2025-01-09 日立ヴァンタラ株式会社 ストレージ装置、及びストレージ装置の制御方法
CN117880281A (zh) * 2023-12-06 2024-04-12 超聚变数字技术有限公司 一种数据传输的方法和计算设备
JP2025110700A (ja) 2024-01-16 2025-07-29 日立ヴァンタラ株式会社 ストレージ装置、及びストレージ装置の制御方法
CN117667465B (zh) * 2024-01-31 2024-04-16 苏州元脑智能科技有限公司 代码共享方法、装置、交换机、多主机系统、设备和介质
CN119415046A (zh) * 2025-01-06 2025-02-11 北京汤谷软件技术有限公司 一种数据写入方法、系统及相关设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1489058A (zh) * 2002-10-10 2004-04-14 �Ҵ���˾ 管理数据处理器系统中虚拟化的物理存储器的方法和系统
CN1675625A (zh) * 2002-06-07 2005-09-28 米克伦技术公司 具有内部高速缓存和/或内存访问预测的内存集线器
CN101135953A (zh) * 2007-08-17 2008-03-05 杭州华三通信技术有限公司 存储控制系统及其处理节点
CN101158927A (zh) * 2007-10-25 2008-04-09 中国科学院计算技术研究所 一种内存共享的系统和装置及方法
US20100228894A1 (en) * 2006-01-18 2010-09-09 Freescale Semiconductor, Inc. Device having data sharing capabilities and a method for sharing data
CN101840309A (zh) * 2009-10-28 2010-09-22 创新科存储技术有限公司 多路径环境下双控磁盘阵列的访问控制方法及系统
CN103152394A (zh) * 2013-02-06 2013-06-12 华为技术有限公司 数据存取系统、内存共享设备及数据读取方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4410944A (en) * 1981-03-24 1983-10-18 Burroughs Corporation Apparatus and method for maintaining cache memory integrity in a shared memory environment
JP2846888B2 (ja) * 1989-03-17 1999-01-13 株式会社日立製作所 分散共有メモリを持つマルチプロセッサシステム
JP2906819B2 (ja) * 1992-04-13 1999-06-21 三菱電機株式会社 並列計算機及びデータ交換制御装置
US5633865A (en) * 1995-03-31 1997-05-27 Netvantage Apparatus for selectively transferring data packets between local area networks
US6055605A (en) * 1997-10-24 2000-04-25 Compaq Computer Corporation Technique for reducing latency of inter-reference ordering using commit signals in a multiprocessor system having shared caches
US6745293B2 (en) * 2000-08-21 2004-06-01 Texas Instruments Incorporated Level 2 smartcache architecture supporting simultaneous multiprocessor accesses
US6904490B2 (en) 2002-10-10 2005-06-07 International Business Machines Corporation Method and system of managing virtualized physical memory in a multi-processor system
US7543133B1 (en) * 2003-08-18 2009-06-02 Cray Inc. Latency tolerant distributed shared memory multiprocessor computer
JP5031195B2 (ja) * 2005-03-17 2012-09-19 株式会社日立製作所 ストレージ管理ソフトウェア及びグルーピング方法
US8275963B2 (en) * 2008-02-01 2012-09-25 International Business Machines Corporation Asynchronous memory move across physical nodes with dual-sided communication
CN101876925B (zh) * 2009-11-27 2012-05-02 成都市华为赛门铁克科技有限公司 内存镜像处理方法、装置和系统
US8375171B2 (en) * 2010-04-08 2013-02-12 Unisys Corporation System and method for providing L2 cache conflict avoidance
JP5403160B2 (ja) * 2010-06-23 2014-01-29 富士通株式会社 通信装置、通信方法、および通信プログラム
KR101671494B1 (ko) * 2010-10-08 2016-11-02 삼성전자주식회사 공유 가상 메모리를 이용한 멀티 프로세서 및 주소 변환 테이블 생성 방법
CN102122257A (zh) * 2011-03-11 2011-07-13 浪潮(北京)电子信息产业有限公司 一种磁盘阵列缓存数据的保存方法以及磁盘阵列
EP2702474A1 (en) * 2011-08-04 2014-03-05 Hitachi, Ltd. Data storage system using method for dynamically allocating physical data storage space
US8656137B2 (en) * 2011-09-01 2014-02-18 Qualcomm Incorporated Computer system with processor local coherency for virtualized input/output
CN102609466B (zh) * 2012-01-13 2014-12-24 从兴技术有限公司 一种共享内存的控制方法及系统
CN102650932A (zh) * 2012-04-05 2012-08-29 华为技术有限公司 数据的访问方法、设备和系统
WO2013159288A1 (en) * 2012-04-25 2013-10-31 Intel Corporation Method and system for maintaining release consistency in shared memory programming

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1675625A (zh) * 2002-06-07 2005-09-28 米克伦技术公司 具有内部高速缓存和/或内存访问预测的内存集线器
CN1489058A (zh) * 2002-10-10 2004-04-14 �Ҵ���˾ 管理数据处理器系统中虚拟化的物理存储器的方法和系统
US20100228894A1 (en) * 2006-01-18 2010-09-09 Freescale Semiconductor, Inc. Device having data sharing capabilities and a method for sharing data
CN101135953A (zh) * 2007-08-17 2008-03-05 杭州华三通信技术有限公司 存储控制系统及其处理节点
CN101158927A (zh) * 2007-10-25 2008-04-09 中国科学院计算技术研究所 一种内存共享的系统和装置及方法
CN101840309A (zh) * 2009-10-28 2010-09-22 创新科存储技术有限公司 多路径环境下双控磁盘阵列的访问控制方法及系统
CN103152394A (zh) * 2013-02-06 2013-06-12 华为技术有限公司 数据存取系统、内存共享设备及数据读取方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2940966A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107643991A (zh) * 2017-09-22 2018-01-30 算丰科技(北京)有限公司 数据处理芯片和系统、数据存储转发处理方法
CN107643991B (zh) * 2017-09-22 2023-09-19 北京算能科技有限公司 数据处理芯片和系统、数据存储转发处理方法
CN116760894A (zh) * 2023-06-15 2023-09-15 杭州深渡科技有限公司 一种物联设备的数据共享方法、装置、设备及存储介质

Also Published As

Publication number Publication date
EP2940966B1 (en) 2017-06-21
CN103152394A (zh) 2013-06-12
US20150324289A1 (en) 2015-11-12
JP6373876B2 (ja) 2018-08-15
EP2940966A1 (en) 2015-11-04
JP2016513316A (ja) 2016-05-12
CN103152394B (zh) 2016-09-28
EP2940966A4 (en) 2016-01-13
US9594682B2 (en) 2017-03-14

Similar Documents

Publication Publication Date Title
WO2014121588A1 (zh) 数据存取系统、内存共享设备及数据读取方法
CN108363641B (zh) 一种主备机数据传递方法、控制节点以及数据库系统
JP3969089B2 (ja) 階層構成サーバシステム
JP6514329B2 (ja) メモリアクセス方法、スイッチ、およびマルチプロセッサシステム
US20260111390A1 (en) Data transmission apparatus, data processing device, system, and method, and medium
CN103902472B (zh) 基于内存芯片互连的内存访问处理方法、内存芯片及系统
CN100486178C (zh) 一种远程内存共享系统及其实现方法
WO2015117303A1 (zh) 一种虚拟设备访问方法及装置
CN103500108B (zh) 系统内存访问方法、节点控制器和多处理器系统
CN115407839A (zh) 服务器结构及服务器集群架构
WO2024093958A1 (zh) 一种存储池的访问方法以及装置
CN114253733B (zh) 一种内存管理方法、装置、计算机设备和存储介质
WO2015055117A1 (zh) 一种内存访问的方法、设备和系统
CN113377280A (zh) 一种存储系统和请求处理方法以及交换机
CN107844433A (zh) 一种异构混合内存服务器架构
WO2017107485A1 (zh) 一种云桌面多节点连接的方法和装置
CN109150810B (zh) 机顶盒融合网关及其启动方法、装置和存储介质
US10038767B2 (en) Technologies for fabric supported sequencers in distributed architectures
CN103902352B (zh) 多核虚拟机系统获取请求数据的方法和装置
CN102843424B (zh) 一种异构分布式云计算系统及方法
WO2017173844A1 (zh) 一种目录读取的方法、装置及系统
CN119396764B (zh) 一种芯片互联方法、装置、电子设备及存储介质
CN119718707B (zh) 缓存管理方法、装置及计算机可读存储介质
WO2025002376A1 (zh) 一种基于云服务系统的通信方法以及云服务系统
CN110098945A (zh) 应用于节点系统的数据处理方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13874270

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2013874270

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2013874270

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2015556369

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE