CN107391403A - Communication means and device in a kind of storage device between multiplexer (MUX - Google Patents

Communication means and device in a kind of storage device between multiplexer (MUX Download PDF

Info

Publication number
CN107391403A
CN107391403A CN201710632607.5A CN201710632607A CN107391403A CN 107391403 A CN107391403 A CN 107391403A CN 201710632607 A CN201710632607 A CN 201710632607A CN 107391403 A CN107391403 A CN 107391403A
Authority
CN
China
Prior art keywords
interchanger
mux
multiplexer
cpu
dma engine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710632607.5A
Other languages
Chinese (zh)
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710632607.5A priority Critical patent/CN107391403A/en
Publication of CN107391403A publication Critical patent/CN107391403A/en
Pending legal-status Critical Current

Links

Classifications

    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

The invention discloses the communication means between multiplexer (MUX in a kind of storage device, including open the Enable Pin of CPU on each multiplexer (MUX;In storage device after electricity, the interchanger on each multiplexer (MUX is enumerated, and respective memory space is distributed for each interchanger;Judge whether interchanger carries DMA engine, be interchanger carry DMA engine corresponding with target CPU if it is not, then according to target NTB ports and target CPU corresponding relation.Therefore, this method can be interchanger carry DMA engine, realize the data transfer between CPU on each multiplexer (MUX, improve message transmission rate according to NTB ports and CPU corresponding relation;In addition, when changing different hardware platforms, it is only necessary to be DMA engine corresponding to interchanger carry, avoid the problem of software development cycle is long.In addition, the invention also discloses the communicator between multiplexer (MUX in a kind of storage device, effect is as above.

Description

Communication means and device in a kind of storage device between multiplexer (MUX
Technical field
The present invention relates to communication technical field, communication means in more particularly to a kind of storage device between multiplexer (MUX and Device.
Background technology
With the development of science and technology, the extending transversely of multiplexer (MUX becomes more and more popular in various storage devices, many producers Exactly product is upgraded using this method extending transversely.It is extending transversely to refer to add newly more in storage device Road controller, worked together with original multiplexer (MUX.There are many methods to realize this extending transversely, for example, traditional Network, InfinBand, PCIE etc..It is especially most widely used with PCIE technologies, realize too busy to get away PCIE extending transversely with PCIE technologies Interchanger, interchanger mentioned here mainly include PCIE chips, multiple PCIE bridges, carry non-transparent bridge, and some also carries DMA Function, and various configurations are supported, the configuration of PCIE chips is flexible, and management is convenient.
In the multiplexer (MUX of storage device, multiple CPU are included on each multiplexer (MUX, and between CPU Communicated typically by QPI.But in QPI communication process, data transmission efficiency is low between multiplexer (MUX, change different Software development cycle is grown during hardware platform.
As can be seen here, how to overcome QPI communication band come data transmission efficiency it is low the problem of be those skilled in the art urgently The problem of to be solved.
The content of the invention
The embodiment of the present application provides the communication means and device between multiplexer (MUX in a kind of storage device, existing to solve There is the problem of data transmission efficiency is low in technology.
In order to solve the above technical problems, the invention provides the communication means between multiplexer (MUX in a kind of storage device, Including:
Open the Enable Pin of the CPU in the storage device on each multiplexer (MUX;
In the storage device after electricity, the interchanger on each multiplexer (MUX is enumerated, and is each friendship Change planes and distribute respective memory space;
Judge whether the interchanger carries DMA engine, if it is not, then corresponding with target CPU according to target NTB ports Relation, it is interchanger carry DMA engine corresponding with the target CPU.
Preferably, the interchanger is PCIE interchangers.
Preferably, the working method of the DMA engine is specially:Worked by way of descriptor.
Preferably, the descriptor includes source address, destination address and data length.
Preferably, the CPU Enable Pins are opened especially by BIOS.
In order to solve the above technical problems, the present invention also provides the communicator in a kind of storage device between multiplexer (MUX, Including:
Opening unit, for opening the Enable Pin of the CPU in the storage device on each multiplexer (MUX;
Memory Allocation unit, it is each for interchanger distribution after enumerating the interchanger on the multiplexer (MUX From memory space;
Judging unit, for judging whether the interchanger carries DMA engine, if it is not, then triggering carry unit;
The carry unit, for for interchanger carry DMA engine corresponding with the target CPU.
Preferably, the interchanger is PCIE interchangers.
Preferably, the working method of the DMA engine is specially:Worked by way of descriptor.
Preferably, the descriptor includes source address, destination address and data length.
Preferably, the CPU Enable Pins are opened especially by BIOS.
Relative to prior art, communication means and device in storage device provided by the present invention between multiplexer (MUX, When the interchanger on the multiplexer (MUX enumerated in itself without DMA engine when, will be according to target NTB ports and target CPU Corresponding relation, for DMA engine corresponding to corresponding interchanger carry target CPU.As can be seen here, on the one hand, the interchanger can By the DMA engine of carry, the data transfer between CPU on each multiplexer (MUX is realized, and no longer as needing in the prior art The data transfer between CPU is realized by QPI, and then improves message transmission rate;On the other hand, by interchanger is hung The DMA engine of load is obtained according to the CPU corresponding with NTB ports DMA engine, therefore, it is possible to realize NTB ports with CPU correspondence, further improves message transmission rate.In addition, when changing different hardware platforms, it is only necessary to be interchanger carry Adaptable DMA engine, therefore avoid the problem of software development cycle is long.
Brief description of the drawings
The technical scheme implemented in order to illustrate more clearly of the present invention, below by the required accompanying drawing used in embodiment It is briefly described, it should be apparent that, drawings in the following description are only some embodiments of the present invention, general for this area For logical technical staff, on the premise of not paying creative work, other accompanying drawings can also be obtained according to these accompanying drawings.
Fig. 1 is the flow chart of the communication means between multiplexer (MUX in a kind of storage device provided in an embodiment of the present invention;
Fig. 2 is the hardware schematic for carrying out NTB communications in storage device of the embodiment of the present invention between multiplexer (MUX;
Fig. 3 is the cut-away view of a multiplexer (MUX;
Fig. 4 is the communicator composition signal between multiplexer (MUX in a kind of storage device provided in an embodiment of the present invention Figure.
Embodiment
Below in conjunction with the accompanying drawing in the embodiment of the present application, the technical scheme in the embodiment of the present application is carried out clear, complete Site preparation describes, it is clear that described embodiment is only part of the embodiment of the present invention, rather than whole embodiments.It is based on Embodiment in the present invention, those of ordinary skill in the art are obtained every other under the premise of creative work is not made Embodiment, belong to the scope of protection of the invention.
The core of the present invention is to provide in a kind of storage device communication means and device between multiplexer (MUX, can improve Data transmission efficiency between multiplexer (MUX, reduce the cycle of software development when changing different hardware platforms.
In order that those skilled in the art more fully understand the present invention program, with reference to the accompanying drawings and detailed description The present invention is described in further detail.
Fig. 1 is the communication means flow chart between multiplexer (MUX in storage device of the embodiment of the present invention, as shown in figure 1, bag Include following steps:
Step S101:Open the Enable Pin of the CPU in storage device on each multiplexer (MUX;
CPU Enable Pins are opened by BIOS, are only opened on multiplexer (MUX after CPU Enable Pins, system kernel can just make With the DMA engine of the CPU.
Step S102:In storage device after electricity, the interchanger on each multiplexer (MUX is enumerated, and is each interchanger Distribute respective memory space;
In storage device, typically there is more than one multiplexer (MUX, there is interchanger, system on each multiplexer (MUX When needing to realize on multiplexer (MUX the data transfer between CPU, corresponding interchanger is just enumerated, and to enumerate Interchanger distribute respective memory space.
Such as, it is now desired to the data transfer between CPU on the first multiplexer (MUX and the second multiplexer (MUX is realized, is System kernel just automatically enumerates the interchanger corresponding with the first multiplexer (MUX and the second multiplexer (MUX, and to enumerate Interchanger distribution memory space.Described interchanger is PICE interchangers in the embodiment of the present application, it is of course also possible to be it Its satisfactory interchanger, the type of interchanger have no effect on the realization of the embodiment of the present application.
Step S103:Judge whether the interchanger that enumerates carries DMA engine, if it is not, then into step S104;
Step S104:According to target NTB ports and target CPU corresponding relation, for the interchanger carry and mesh enumerated Mark DMA engine corresponding to CPU.
Some interchangers itself carry DMA engine, and some interchangers itself are without DMA engine, when interchanger itself The DMA engine just carried during with DMA engine using interchanger, according to exchange if interchanger itself is without DMA engine The descending NTB ports of machine search out corresponding uplink port, and the uplink port and descending NTB ports are on same interchanger, root Connected CPU, and carry CPU DMA automatically are scanned for according to BUS, DEVICE, FUNCTION of uplink port Engine.NTB ports carry out transceiving data by using corresponding CPU DMA engine, realize CPU between each multiplexer (MUX Data transfer.
DMA engine is carried out by way of descriptor in fact, and many information are included in descriptor, for example, source address, Destination address, data length, generally, these descriptors form a queue and used for DMA engine.
In the embodiment of the present application, when the interchanger on the multiplexer (MUX enumerated in itself without DMA engine when, system Automatically according to target NTB ports and target CPU corresponding relation, draw for DMA corresponding to corresponding interchanger carry target CPU Hold up.The data transfer between CPU on each multiplexer (MUX is realized, and no longer as needing to realize CPU by QPI in the prior art Between data transfer, and then improve message transmission rate.
As shown in Figure 2 and Figure 3, Fig. 2 is to carry out the hard of NTB communications in storage device of the embodiment of the present invention between multiplexer (MUX Part schematic diagram;Fig. 3 is the cut-away view of a multiplexer (MUX.
In one storage device 201, comprising multiplexer (MUX 202, it is of course also possible to be single channel controller, either singly Road controller or multiplexer (MUX have no effect on the realization of the embodiment of the present application.Have on one multiplexer (MUX 202 multiple It can carry out data transmission between CPU, multiple CPU on a multiplexer (MUX 202, the CPU on each multiplexer (MUX 202 Between can also carry out data transmission, i.e., can carry out data transmission between each multiplexer (MUX 202.
As shown in figure 3, a multiplexer (MUX 202 includes CPU0, CPU1, interchanger PCIE switch, interchanger PCIE Switch can carry out the data transfer between multiple ports pair in synchronization, have on interchanger PCIE switch up going port and Down going port NBT0, NBT1.CPU0, CPU1 and NTB0, NTB1 are only depicted in figure 3, are hereafter referred to as CPU and NTB, CPU and NTB Number be not necessarily two or multiple, how much their number has no effect on the realization of the embodiment of the present application.NTB Port is also referred to as non-transparent bridge port, and up going port can be connected with CPU port, NTB mouths can with carry out data transmission it is another The corresponding NTB mouths connection of interchanger on one multiplexer (MUX 202, data are to carry out forwarding transmission by NTB mouths.It is first First, NTB kernel states processing event host process is created, for managing whole NTB communication process.It is right after cpu reset, system electrification Interchanger PCIE switch are enumerated, and after interchanger PCIE switch are enumerated successfully, system identification goes out interchanger PCIE Transparent bridge on switch initializes with non-transparent bridge NBT, CPU to the interchanger PCIE switch enumerated, and is phase The interchanger PCIE switch distribution memory spaces answered.Then, system kernel software can record corresponding interchanger PCIE simultaneously Switch attaching information, according to interchanger PCIE switch attaching information, find corresponding interchanger PCIE Switch uplink port, and record interchanger PCIE switch numberings.When the interchanger PCIE switch enumerated from When body carries DMA engine, with regard to carrying out the data transfer between CPU using the DMA engine carried, if the interchanger enumerated PCIE switch itself, then according to the interchanger PCIE switch NBT and CPU corresponding relation, are without DMA engine Interchanger PCIE switch carry CPU DMA engines, during carry CPU DMA engine, it is not based on CPU concrete model Searched, but retrieved according to the numbering of the interchanger of uplink port, finally realize the number between multiplexer (MUX 202 According to transmission.
In the corresponding CPU of carry DMA engine, searched according to CPU concrete model, but according to upstream ends The numbering of the interchanger of mouth is retrieved, so when needing the hardware platform more renewed, for example, changing CPU models, kernel is soft Part remains to Automatic-searching to corresponding DMA engine without modification and used for interchanger carry, avoids software development cycle length The problem of.
It is described in detail above for the embodiment of the communication means between multiplexer (MUX in storage device, this hair Bright embodiment additionally provides the communicator between multiplexer (MUX in a kind of storage device corresponding with this method.Due to device portion The embodiment and the embodiment of method part divided are mutually corresponding, therefore the embodiment of device part refer to the implementation of method part Example description, is repeated no more here.
Fig. 4 is the device composition schematic diagram, as shown in figure 4, including:Opening unit 401, Memory Allocation unit 402, judge Unit 403, carry unit 404;
Opening unit 401, for opening the Enable Pin of the CPU in storage device on each multiplexer (MUX;
Memory Allocation unit 402, after enumerating the interchanger on multiplexer (MUX, and it is respective for interchanger distribution Memory space;
Whether judging unit 403, the interchanger for judging to enumerate carry DMA engine, if it is not, then triggering carry list Member;
Carry unit 404, for the interchanger carry DMA engine corresponding with target CPU to enumerate.
Communicator in the storage device that the present embodiment provides between multiplexer (MUX, is first turned on each more in storage device The Enable Pin of CPU on the controller of road;Then machine is carried out to the exchange on multiplexer (MUX to enumerate, and the interchanger to enumerate Distribute respective memory space;Finally, whether the interchanger that system automatic decision enumerates carries DMA engine, if it is not, then touching It is the interchanger carry enumerated DMA engine corresponding with target CPU to send out carry unit.
As can be seen here, it is the interchanger carry DMA engine corresponding with target CPU enumerated, realizes multiplexer (MUX Between data transfer, be no longer that data transfer is realized by QPI, improve data transmission efficiency.
Preferably embodiment, interchanger are PCIE interchangers.
Preferably embodiment, the working method of DMA engine are specially:Worked by way of descriptor.
Preferably embodiment, descriptor include source address, destination address and data length.
Preferably embodiment, CPU Enable Pins are opened especially by BIOS.
The communication means multiplexer (MUX in storage device provided by the present invention and device have been carried out in detail above Introduce.The principle and embodiment of the present invention are set forth with several examples herein, the explanation of above example, only It is the method and its core concept for being used to help understand the present invention;Meanwhile for those of ordinary skill in the art, according to this hair Bright thought, there will be changes in specific embodiments and applications, in summary, this specification content should not manage Solve as limitation of the present invention, those skilled in the art, on the premise of no creative work, repaiied to what the present invention was made Change, equivalent substitution, improvement etc., should be included in the application.

Claims (10)

  1. A kind of 1. communication means in storage device between multiplexer (MUX, it is characterised in that including:
    Open the Enable Pin of the CPU in the storage device on each multiplexer (MUX;
    In the storage device after electricity, the interchanger on each multiplexer (MUX is enumerated, and is each interchanger Distribute respective memory space;
    Judge whether the interchanger carries DMA engine, if it is not, then being closed according to target NTB ports are corresponding with target CPU System, is interchanger carry DMA engine corresponding with the target CPU.
  2. 2. according to the method for claim 1, it is characterised in that the interchanger is PCIE interchangers.
  3. 3. according to the method for claim 3, it is characterised in that the working method of the DMA engine is specially:Pass through description The mode of symbol works.
  4. 4. according to the method for claim 4, it is characterised in that the descriptor includes source address, destination address and number According to length.
  5. 5. according to the method described in claim 1-4 any one, it is characterised in that the CPU Enable Pins are especially by BIOS Open.
  6. A kind of 6. communicator in storage device between multiplexer (MUX, it is characterised in that including:
    Opening unit, for opening the Enable Pin of the CPU in the storage device on each multiplexer (MUX;
    Memory Allocation unit, after enumerating the interchanger on the multiplexer (MUX, distributed for the interchanger respective Memory space;
    Judging unit, for judging whether the interchanger carries DMA engine, if it is not, then triggering carry unit;
    The carry unit, for for interchanger carry DMA engine corresponding with the target CPU.
  7. 7. device according to claim 6, it is characterised in that the interchanger is PCIE interchangers.
  8. 8. device according to claim 6, it is characterised in that the working method of the DMA engine is specially:Pass through description The mode of symbol works.
  9. 9. device according to claim 8, it is characterised in that the descriptor includes source address, destination address and number According to length.
  10. 10. according to the device described in claim 6-9 any one, it is characterised in that the CPU Enable Pins are especially by BIOS Open.
CN201710632607.5A 2017-07-28 2017-07-28 Communication means and device in a kind of storage device between multiplexer (MUX Pending CN107391403A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710632607.5A CN107391403A (en) 2017-07-28 2017-07-28 Communication means and device in a kind of storage device between multiplexer (MUX

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710632607.5A CN107391403A (en) 2017-07-28 2017-07-28 Communication means and device in a kind of storage device between multiplexer (MUX

Publications (1)

Publication Number Publication Date
CN107391403A true CN107391403A (en) 2017-11-24

Family

ID=60342065

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710632607.5A Pending CN107391403A (en) 2017-07-28 2017-07-28 Communication means and device in a kind of storage device between multiplexer (MUX

Country Status (1)

Country Link
CN (1) CN107391403A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189699A (en) * 2018-09-21 2019-01-11 郑州云海信息技术有限公司 Multipath server communication means, system, middle controller and readable storage medium storing program for executing
TWI759772B (en) * 2020-06-19 2022-04-01 英業達股份有限公司 Pcie data transmission control system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0836542A (en) * 1994-07-26 1996-02-06 Nec Eng Ltd Dma controller
CN101539902A (en) * 2009-05-05 2009-09-23 中国科学院计算技术研究所 DMA device for nodes in multi-computer system and communication method
CN101710314A (en) * 2009-11-17 2010-05-19 中兴通讯股份有限公司 High-speed peripheral component interconnection switching controller and realizing method thereof
CN102508786A (en) * 2011-11-02 2012-06-20 盛科网络(苏州)有限公司 Chip design method for optimizing space utilization rate and chip thereof
CN103559156A (en) * 2013-11-11 2014-02-05 北京大学 Communication system between FPGA (field programmable gate array) and computer

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0836542A (en) * 1994-07-26 1996-02-06 Nec Eng Ltd Dma controller
CN101539902A (en) * 2009-05-05 2009-09-23 中国科学院计算技术研究所 DMA device for nodes in multi-computer system and communication method
CN101710314A (en) * 2009-11-17 2010-05-19 中兴通讯股份有限公司 High-speed peripheral component interconnection switching controller and realizing method thereof
CN102508786A (en) * 2011-11-02 2012-06-20 盛科网络(苏州)有限公司 Chip design method for optimizing space utilization rate and chip thereof
CN103559156A (en) * 2013-11-11 2014-02-05 北京大学 Communication system between FPGA (field programmable gate array) and computer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189699A (en) * 2018-09-21 2019-01-11 郑州云海信息技术有限公司 Multipath server communication means, system, middle controller and readable storage medium storing program for executing
CN109189699B (en) * 2018-09-21 2022-03-22 郑州云海信息技术有限公司 Multi-server communication method, system, intermediate controller and readable storage medium
TWI759772B (en) * 2020-06-19 2022-04-01 英業達股份有限公司 Pcie data transmission control system

Similar Documents

Publication Publication Date Title
CN104426814B (en) NUMA node peripheral switch
US10031878B2 (en) Configurable mesh data bus in an island-based network flow processor
CN101425966B (en) Network on chip and data processing method using the network on chip
CN102880573B (en) Linux system-based serial RapidIo data transmission method
US8543754B2 (en) Low latency precedence ordering in a PCI express multiple root I/O virtualization environment
CN102495920B (en) Integrated logic analysis module based on PCIe (peripheral component interconnection express) for FPGA (field programmable gate array)
US20140189278A1 (en) Method and apparatus for allocating memory space with write-combine attribute
CN103064805B (en) SPI controller and communication means
CN104915303B (en) High speed digital I based on PXIe buses/O systems
US9237095B2 (en) Island-based network flow processor integrated circuit
CN109218231A (en) A kind of RapidIO exchange network
CN101599004B (en) SATA controller based on FPGA
CN107707491A (en) Device and method for realizing multilevel on-chip interconnection
CN101160856A (en) Network processor
CN100421424C (en) Integrated router based on PCI Express bus
CN105740178B (en) Chip network system with and forming method thereof
CN103003808A (en) System and method for accessing resources of a PCI Express compliant device
CN107111572A (en) Method and circuit for avoiding deadlock
CN108337286A (en) One kind cutting packet method and device
CN107391403A (en) Communication means and device in a kind of storage device between multiplexer (MUX
CN105335548A (en) MCU simulation method for ICE
US20130215792A1 (en) Configurable Mesh Control Bus In An Island-Based Network Flow Processor
US9401880B1 (en) Flow control using a local event ring in an island-based network flow processor
US20130219094A1 (en) Commonality of Memory Island Interface and Structure
CN1988501B (en) Realizing device for embedded control path communication using FPGA completing optic transmission device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20171124

RJ01 Rejection of invention patent application after publication