[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN104123228B - A kind of data-storage system and its application method - Google Patents

A kind of data-storage system and its application method Download PDF

Info

Publication number
CN104123228B
CN104123228B CN201410347213.1A CN201410347213A CN104123228B CN 104123228 B CN104123228 B CN 104123228B CN 201410347213 A CN201410347213 A CN 201410347213A CN 104123228 B CN104123228 B CN 104123228B
Authority
CN
China
Prior art keywords
sata
sent
instructions
cpu
modules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410347213.1A
Other languages
Chinese (zh)
Other versions
CN104123228A (en
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.)
Zhongke Controllable Information Industry Co Ltd
Original Assignee
Dawning Information Industry Beijing 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 Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN201410347213.1A priority Critical patent/CN104123228B/en
Publication of CN104123228A publication Critical patent/CN104123228A/en
Application granted granted Critical
Publication of CN104123228B publication Critical patent/CN104123228B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention provides a kind of data-storage system and its application method, including:SATA command analysis modules, for being connected respectively with corresponding CPU, the SATA instructions that CPU is sent are received, SATA instructions are parsed, and sends to corresponding address mapping module;Address mapping module, for indicated in being instructed in SATA storage address space after send to arbitration modules, wherein, indicated address space be allocated to send SATA instruction CPU address space;Arbitration modules, the SATA instructions for each address mapping module to be sent are sent to RAID control modules one by one;RAID control modules, for it is determined that SATA instructions are allocated in the disk sent extremely after address space, by SATA instructions transmission to each data package module;Data package module, it is connected for corresponding disk, SATA instructions is packaged and sent to disk.Using technical scheme, the shared storage of multi -CPU can be realized, the utilization rate of disk is improved, realizes the configuration on demand of storage resource.

Description

A kind of data-storage system and its application method
Technical field
The present invention relates to field of computer technology, more particularly to a kind of data-storage system and its application method.
Background technology
In high-performance computing sector, server single node often configures a large amount of multi-core CPUs to meet server to high computing The requirement of speed and high concurrent number, traditional server are that storage part is separately configured in each CPU so that the structure of complete machine is answered It is miscellaneous.
In Cloud Server shares the structure of storage system, the shared storage of multi -CPU realized using software mode causes CPU Bandwidth is multiplied, and disk read-write speed is difficult to be lifted.
The deficiencies in the prior art are:Existing storage architecture, it is impossible to realize the shared storage of multi -CPU from hardware bottom layer.
The content of the invention
The invention provides a kind of data-storage system and its application method, to realize the shared storages of CPU.
The invention provides a kind of data-storage system, including:It is at least one SATA command analysis modules, at least one Location mapping block, arbitration modules, RAID control modules and at least one data package module;Wherein:
SATA command analysis modules, for being connected respectively with corresponding CPU, the SATA instructions that CPU is sent are received, it is right SATA instructions are parsed, and are sent to corresponding address mapping module;
Address mapping module, for when receiving the SATA instructions that SATA command analysis modules are sent, being instructed in SATA Sent after the address space of middle instruction storage to arbitration modules, wherein, indicated address space, which is allocated to, to be sent SATA and refers to The CPU of order address space;
Arbitration modules, the SATA instructions for each address mapping module to be sent are sent to RAID control modules one by one;
RAID control modules, for it is determined that SATA instructions are allocated in the disk sent extremely after address space, by SATA Instruction is sent to each data package module;
Data package module, it is connected for corresponding disk, SATA instructions is packaged and sent to disk.
Present invention also offers a kind of application method of data-storage system, including:
SATA command analysis modules receive the SATA instructions that its corresponding CPU is sent, and SATA instructions are sent to ground Location mapping block;
Address mapping module indicates the ground of storage when receiving the SATA instructions that arbitration modules are sent in SATA instructions Sent behind the space of location to data package module, wherein, indicated address space is allocated to the ground for the CPU for sending SATA instructions Location space;
Arbitration modules send the SATA instructions that address mapping module is sent to RAID control modules one by one;
RAID control modules are it is determined that SATA instructions are allocated in the disk sent extremely after address space, by SATA instruction hairs Deliver to each data package module;
Data package module will be sent to disk after SATA instruction encapsulation.
The beneficial effects of the invention are as follows:
In technical scheme provided in an embodiment of the present invention, instructed for the SATA that each CPU is sent, instruct and parse by SATA The parsing of module, address mapping module indicate to be sent one by one by arbitration modules after the address space of storage in SATA instructions to RAID control modules, and determine that SATA instructions are allocated address space in the disk sent extremely, data envelope through RAID control modules SATA is instructed encapsulation and sent to each disk by die-filling piece.Using technical scheme, can be realized from hardware bottom layer more The shared storages of CPU, improve the utilization rate of disk, realize the configuration on demand of storage resource.
Brief description of the drawings
The specific embodiment of the present invention is described below with reference to accompanying drawings, wherein:
Fig. 1 is the implementation structural representation of data-storage system in the embodiment of the present invention.
Fig. 2 is the implementation structural representation of data-storage system first embodiment in the embodiment of the present invention.
Fig. 3 is the use flow diagram of data-storage system in the embodiment of the present invention.
Embodiment
In order that technical scheme and advantage are more clearly understood, below in conjunction with accompanying drawing to the exemplary of the present invention Embodiment is described in more detail, it is clear that and described embodiment is only the part of the embodiment of the present invention, rather than The exhaustion of all embodiments.
Inventor notices during invention:
In currently available technology, in high-performance computing sector, server single node often configures a large amount of multi-core CPUs to meet Requirement of the server to high arithmetic speed and high concurrent number, traditional server are that storage part is separately configured in each CPU so that Complete machine it is complicated.If realizing shared same entity memory space, it is empty that as different CPU distributes different addresses Between, typically by the mode of software, memory space is carried out to the separation of logic, forms different logical memory spaces.So Mode need to do some changes to operating system and software.
The deficiency of this scheme is:Change to operating system and software, some compatibility, stability will necessarily be brought The problem of, later maintenance and upgrading also need to put into larger human cost.It is real there has been no the mode using hardware in the prior art Now share the scheme of same entity memory space.
For above-mentioned deficiency, a kind of data-storage system and its application method are provided in the embodiment of the present invention, is entered below Row explanation.
Fig. 1 is the implementation structural representation of data-storage system in the embodiment of the present invention, as illustrated, can include at least One SATA command analysis modules (as shown in figure 1, labeled as 1011,1012 to 101N), at least one address mapping module are (such as Shown in Fig. 1, labeled as 1021,1022 to 102N), arbitration modules 103, RAID control modules 104 and at least one data envelope Die-filling piece (as shown in figure 1, labeled as 1051,1052 to 105N);Wherein:
SATA command analysis modules, for being connected respectively with corresponding CPU, the SATA instructions that CPU is sent are received, it is right SATA instructions are parsed, and are sent to corresponding address mapping module;
Address mapping module, for when receiving the SATA instructions that SATA command analysis modules are sent, being instructed in SATA Sent after the address space of middle instruction storage to arbitration modules, wherein, indicated address space, which is allocated to, to be sent SATA and refers to The CPU of order address space;
Arbitration modules, the SATA instructions for each address mapping module to be sent are sent to RAID control modules one by one;
RAID control modules, for it is determined that SATA instructions are allocated in the disk sent extremely after address space, by SATA Instruction is sent to each data package module;
Data package module, it is connected for corresponding disk, SATA instructions is packaged and sent to disk.
In specific implementation, it can use based on RAID (Redundant Arrays of independent Disks independences Redundant array of inexpensive disk) disk array of card substitutes traditional mechanical hard disk, harddisk access bandwidth can be improved, flexible extension is deposited Capacity is stored up, improves the reliability and fault-tolerant ability of storage system.
RAID is that a kind of hard disk (physical hard disk) polylith independence is combined in different ways and forms a hard disk Group (logic hard disk), so as to provide the technology of the storage performance higher than single hard disk and data back-up capability.RAID characteristics are N Fault-tolerance is accelerated and provided to reading speed to block hard disk simultaneously.RAID expands storage capacity, and can to form capacity by multiple hard disks huge Memory space, and reduce the cost of unit capacity, the price of every million capacity of hard disk of in the market maximum capacity will be significantly Higher than popular hard disk, therefore using the array of multiple popular hard disk compositions, its unit price is much lower.Improve storage The raising of the single hard disk speed of speed is limited by the technical conditions in each period, further often highly difficult, And use RAID, then it can allow the read or write of multiple hard disks amortization of data simultaneously, therefore bulk velocity has and exponentially improved. In terms of reliability, RAID system can synchronously complete mirrored storage using two group hard discs, and this safety measure is for network service Be for device it is most important only.One key function of RAID controller is exactly fault-tolerant processing.If any list in fault-tolerant array Block hard disk error, do not interfere with it is overall be continuing with, advanced RAID controller also have rescue data function.
In specific implementation, CPU may be constructed an array, be combined by one or more high-end or low side CPU, point Cloth forms the computing unit of the node on a node of server, and external storage equipment is connected by SATA3.0 buses, And support backward compatible SATA1.0 and SATA2.0.
In implementation, SATA command analysis modules can be also used for, when receiving the SATA instructions of CPU transmissions, SATA being referred to Make and carry out serioparallel exchange, after 8b/10b code conversions and descrambling operation, send it to address mapping module.
It is serial progress data interaction between CPU and disk according to protocol specification in specific implementation.Serial data One comes that frequency is too high to be handled, then it is exactly that all have passed through coding and Scrambling Operation to have, so the SATA instructions received from CPU It possibly can not directly be handled, therefore, serioparallel exchange need to be carried out to the SATA instructions received, serial data is changed into parallel Data, and 8b/10b code conversions and descrambling operation are carried out, accessible SATA instructions so can be just obtained, are then sent out Deliver to address mapping module.
In implementation, the SATA instructions that SATA command analysis modules can be also used for sending CPU are identified;
In specific implementation, SATA command analysis modules can be instructed to the SATA received and carried out by way of packing Mark, can also be identified, its purpose is to mark to be sent by which CPU with the mode of the ID number of marking CPU Instruction.
In implementation, address mapping module can be also used for determining the address space for sending the CPU of SATA instructions according to mark.
In specific implementation, after the SATA that identified instruction is sent to address mapping module, address mapping module can is known Road is which CPU SATA instructions, and corresponds to which address space.
In implementation, SATA command analysis modules can be also used for when RAID control modules are not idle, keep in SATA instructions, Arbitration modules are sent it in the RAID control module free time.
In specific implementation, SATA command analysis modules may not be to receive SATA instructions to be immediately sent to arbitration mould Block, and to be kept in.When temporary effect is to wait for the RAID control module free time, temporary SATA instructions are sent to arbitration mould Block.
In specific implementation, arbitration modules can select strict preference sequence, rotation or weighted round robin arbitration scheme pair SATA instructions are chosen, and realize the arbitration to different priorities CPU.
In implementation, address mapping module can be also used for the address field by changing SATA instructions, map that to distribution The address space of storage is indicated in SATA instructions to the mode of the address space of the CPU.
In implementation, data package module can be also used for when receiving the SATA instructions that RAID control modules are sent, will SATA, which is instructed, carries out serioparallel exchange, after 8b/10b code conversions and Scrambling Operation, sends to disk.
It is serial progress data interaction between CPU and disk as it was previously stated, according to protocol specification in specific implementation, because This, can by SATA instruct carry out serioparallel exchange, parallel data is changed into serial data, and carry out 8b/10b code conversions and Scrambling Operation, the accessible SATA instructions of disk are so obtained, are then forwarded to disk.
In implementation, data package module can be also used for when receiving the response results that disk is sent, by response results Serioparallel exchange is carried out, after 8b/10b code conversions and descrambling operation, is sent to RAID control modules.
It is serial progress data interaction between CPU and disk according to protocol specification in specific implementation.Serial data One comes that frequency is too high to be handled, then it is exactly that all have passed through coding and Scrambling Operation to have, so the response knot received from disk Fruit possibly can not directly be handled, and therefore, need to carry out serioparallel exchange to the response results received, serial data is changed into simultaneously Row data, and 8b/10b code conversions and descrambling operation are carried out, accessible response results so can be just obtained, then by it Send to RAID control modules.
In implementation, RAID control modules can be also used for the address field by changing response results, be reflected being mapped to point The mode of dispensing CPU address space come indicated in response results response address space.
In specific implementation, RAID control modules are sent after the address field in the SATA received instructions is carried out into address of cache To disk, response results can be returned to RAID control modules by disk in itself, and then RAID control modules are tied to this response Address field in fruit is changed laggard row address reflection and penetrated, then is transmitted to arbitration modules.Wherein, it is one that address of cache is penetrated with address reflection Individual process opposite each other.
In implementation, data package module can be also used for when SATA command analysis modules are not idle, keep in response results, Arbitration modules are sent it in the SATA command analysis module free time.
In implementation, data package module can be also used for being identified the response results that disk is sent;Address of cache mould Block can be also used for being determined to receive the CPU of response results according to mark.
In specific implementation, each SATA command analysis modules instruct to the SATA for being sent to arbitration modules can enter rower Know, make address mapping module learn be which CPU instruction, address mapping module reflects except entering row address according to this mark Penetrate, RAID control modules are entered row address reflection to the mark of response results according to data package module and penetrated, by amended response As a result corresponding CPU is sent to by SATA command analysis modules.
In implementation, SATA command analysis modules can be also used for receiving the response results of address mapping module transmission When, response results are subjected to serioparallel exchange, after 8b/10b code conversions and Scrambling Operation, send it to CPU.
In implementation, RAID control modules can be also used for the requirement of the RAID provided according to management node, select phase RAID algorithm is answered, determines that SATA instructions are allocated address space in the disk sent extremely.
In specific implementation, management node can regard tension management software as, by register configuration, can tell FPGA RAID control module users need to use RAID0 or RAID1.RAID control modules can be according to the change of these registers Change, realize different functions.Tension management software can provide the interactive interface with user, and user can select difference according to demand Address mapping scheme, for important data, using RAID1, the safe and reliable of data can be ensured, it is inessential for some Data, can save storage resource using RAID0.Hardware RAID is different from software RAID, without excessive resource overhead.
In specific implementation, RAID control modules can realize that most basic handle will be sent to certain according to some control logics The instruction and data of one disk disk, it has been distributed on multiple disks, or has been distributed to the different subregions of different disk.Same Data can be divided into multiple sections, be stored in respectively in different disk.It can be reset as specific each instruction and data , can be by software merit rating and calculating to which space to which disk, and notify RAID control logics to complete.
For example, the data for needing to be sent to disk 1, while issue disk 1 and disk 3, it is possible to realize data Backup.RAID card is not used in the embodiment of the present invention, but FPGA realizes RAID functions with software.It is due to walking SATA protocol, so data encapsulation is still SATA data package module, that is to say, that the data at disk end and CPU ends encapsulate Module is identical.The same disk of N blocks is cascaded establishment one greatly by RAID0 with the form of hardware by RAID control modules Volume collection.The memory capacity that whole system can be enable to use reaches maximum.Rational subregion can also be selected on N block disks Stripe set is created, the data for being originally sequentially written in this group series connection disk are distributed in all N number of disks, each disk is only write N/mono-, N block disk parallel work-flow, not only increase read-write speed, and more spaces can also be provided for system.RAID1 exists On the basis of RAID0, the data image of one piece of disk can be ensured into the reliability of system to another piece of disk, the function, It is easy to be realized by RAID control modules.Only need to do simple address of cache at disk end, be divided to two paths an instruction Send out.
In implementation, SATA command analysis modules, address mapping module, arbitration modules, RAID control modules and data envelope Die-filling piece is realized on FPGA.
In specific implementation, Magnetic Disk Controler can use RAID controller connection SSD of the polylith with SATA mouths, pass through and configure Different RAIDs, it is possible to achieve the balance between storage efficiency and reliability.
RAID controller can use MegaRAID SAS9286-8e, comprising eight external SATA mouths, can connect at most 240 HDD or SSD solid state hard discs (Solid State Disk) storage devices for carrying SATA or SAS interfaces.
RAID controller can be on demand adjustment RAID, realize the Performance And Reliability of Cloud Server storage part Balance.One or more CPU can be included on Cloud Server monolithic board or single node, these CPU share one piece of storage array, The distribution according to need of storage resource can be realized, system can be according to function and application situation, and the storage resource that would sit idle for is more Distribute to CPU in need.
In specific implementation, RAID controller function is realized by fpga logic, this way not only reduces hardware cost, System architecture is optimized, data encapsulation stone is also eliminated, shortens storage delay, reduce the development difficulty of system.
For convenience of description, each several part of data-storage system described above is divided into various parts or unit point with function Do not describe.Certainly, can be the function of each part or unit in same or multiple softwares or hardware when implementing of the invention Realize.
Implement example with reference to specific to illustrate.
Embodiment one:
As shown in Fig. 2 SATA command analysis modules 1011, SATA command analysis modules 1012, SATA command analysis modules 1013 and SATA command analysis modules 101N distinguishes corresponding CPU and is connected, when SATA command analysis modules 1011, It is right that SATA command analysis modules 1012, SATA command analysis modules 1013 and SATA command analysis modules 101N receive its During the SATA instructions for answering CPU to send, SATA is instructed carry out serioparallel exchange, 8b/10b code conversions and descrambling operation first, Obtain accessible SATA instructions;Then SATA instructions are identified by way of packing, to mark are sent out by which CPU The SATA instructions sent;Secondly when RAID control modules 104 are not idle, SATA instructions are kept in;When RAID control modules 104 are idle When, SATA instructions are sent to arbitration modules 103;Then, arbitration modules 103 are taken turns according to precedence, rotation or weighting Turn arbitration scheme address mapping module 102 is sent SATA instruction arbitrate, according to the arbitration result send one by one to RAID control modules 104;Then the requirement for the RAID that RAID control modules 104 provide according to management node, selection are corresponding RAID algorithm, it is determined that sending address space in disk corresponding to the CPU of SATA instructions;After finding the address space of storage, respectively Send to data package module 1051, data package module 1052, data package module 1053 and data package module 105N, serioparallel exchange is carried out thereon instructing SATA, is sent after 8b/10b code conversions and Scrambling Operation to disk array.
After disk receives SATA instructions, a response results are returned.First, data package module 1051, data encapsulation Module 1052, data package module 1053 and data package module 105N, will when receiving the response results that disk is sent Response results carry out serioparallel exchange, 8b/10b code conversions and descrambling operation, are changed into accessible response results;Then RAID Control module 104 is penetrated by changing the address field in this response results laggard row address reflection, wherein, address of cache and ground It is a process opposite each other that location reflection, which is penetrated,;Secondly the response results sent to disk are identified, SATA instruction parsing moulds Block 1011, SATA command analysis modules 1012, SATA command analysis modules 1013 and SATA command analysis modules 101N according to Mark determines to receive the CPU of response results;Then, data package module 1051, data package module 1052, data package module 1053 and data package module 105N keeps in response results when SATA command analysis modules 102 are not idle, idle at it When send it to arbitration modules 103;SATA command analysis modules 1011, SATA command analysis modules 1012, SATA instruction solutions Analysis module 1013 and SATA command analysis modules 101N, will when receiving the response results of the transmission of address mapping module 102 Response results carry out serioparallel exchange, after 8b/10b code conversions and Scrambling Operation, send it to corresponding CPU.So far it is complete Into once complete interaction.
Based on same inventive concept, a kind of application method of data-storage system is additionally provided in the embodiment of the present invention, by It is similar to a kind of data-storage system in the principle of the application method, therefore the implementation of this method may refer to data-storage system Implementation, repeat part repeat no more.
Fig. 2 is the use flow diagram of data-storage system in the embodiment of the present invention, as illustrated, can include as follows Step:
Step 201, SATA command analysis modules receive the SATA instructions that its corresponding CPU is sent, and the SATA is instructed Send to address mapping module;
Step 202, address mapping module indicate when receiving the SATA instructions that arbitration modules are sent in SATA instructions Sent after the address space of storage to data package module, wherein, indicated address space, which is allocated to, sends SATA instructions CPU address space;
Step 203, arbitration modules send the SATA instructions that address mapping module is sent to RAID control modules one by one;
Step 204, RAID control modules are incited somebody to action it is determined that in the allocated disk sent extremely of SATA instructions after address space SATA instructions are sent to each data package module;
Step 205, data package module will be sent to disk after SATA instruction encapsulation.
Further, SATA command analysis modules receive CPU transmission SATA instruction when, SATA can be instructed into Row serioparallel exchange, after 8b/10b code conversions and descrambling operation, send it to address mapping module.
Further, when SATA command analysis modules receive the SATA instructions of CPU transmissions, CPU can be sent SATA instructions are identified;
When address mapping module receives SATA instructions, can be determined to send the CPU of SATA instructions according to the mark Address space.
Further, when SATA command analysis modules receive the SATA instructions of CPU transmissions, mould can be controlled in RAID When block is not idle, SATA instructions are kept in, arbitration modules are sent it in the RAID control module free time.
Further, when address mapping module receives the SATA instructions that SATA command analysis modules are sent, Ke Yitong Cross modification SATA instruction address field mode come SATA instruction in indicate storage address space, SATA command mappings are arrived Distribute to the address space of the CPU.
Further, can be by SATA when data package module receives the SATA instructions that RAID control modules are sent Instruct and carry out serioparallel exchange, after 8b/10b code conversions and Scrambling Operation, send to disk.
Further, SATA instructions are sent to the response that after disk, can be sent with reception of magnetic disc in data package module As a result, response results are subjected to serioparallel exchange, after 8b/10b code conversions and descrambling operation, sent to RAID control modules.
Further, can be by changing response knot when RAID control modules receive the response results that disk is sent The address field of fruit, reflected and be mapped to the mode of the address space for distributing to the CPU to indicate the ground of response in response results Location space.
Further, can be in SATA when RAID control modules receive the response results that data package module is sent When command analysis module is not idle, response results are kept in, arbitration modules are sent it in the SATA command analysis module free time.
Further, can be to the sound of disk transmission when data package module receives the response results that disk is sent Should result be identified;
When address mapping module receives the response results that arbitration modules are sent, it can determine to receive according to the mark and ring Answer the CPU of result.
Further, when SATA command analysis modules receive the response results of address mapping module transmission, can incite somebody to action Response results carry out serioparallel exchange, after 8b/10b code conversions and Scrambling Operation, send it to CPU.
Further, can be according to management when RAID control modules are receiving the SATA instructions that arbitration modules are sent The requirement for the RAID that node provides, corresponding RAID algorithm is selected, determine that SATA instructions are allocated with sending in disk extremely Location space.
Further, on FPGA to SATA instruction parsed, address of cache, arbitration, RAID control and data seal Dress.
In implementation, SATA instructions and response results can be existed in the form of frames.
Further, SATA is instructed in physical layer or response results carries out serioparallel exchange, 8b/10b code conversions.
In specific implementation, physical layer can based on Stratix V Transceiver Native Physic Ip realize.
Further, SATA is instructed in link layer or response results carries out Reinforced turf operation.
Further, SATA is instructed in link layer and carries out CRC check.
Further, stream control is carried out to the SATA transmissions instructed and reception in link layer.
Further, on the level of the transport layer, the frame sent from link layer is received;Frame head and length are checked, if abandoning wrong During the frame missed, link layer is informed.
Further, on the level of the transport layer, the frame sent from Internet is received;Frame head and length are checked, if abandoning wrong During the frame missed, informing network layer.
Further, on the level of the transport layer, the SATA instructions sent from Internet are received;
By SATA instructions according to the address space that storage is indicated in instruction, the address space for distributing to the CPU is mapped to.
Further, on the level of the transport layer, the response results sent from link layer are received;
Mark by response results according to address space, is mapped to the address for sending CPU corresponding to the disk of response results Space.
Further, in Internet, the SATA instructions received to transport layer are identified;Send to arbitration modules 102。
Further, in Internet, the response results sent from arbitration modules 103 are received;Send to transport layer.
Data-storage system provided in an embodiment of the present invention and its application method, instructed for the SATA that each CPU is sent, warp The parsing of SATA command analysis modules is crossed, address mapping module is after the address space of storage is indicated by arbitration mould during SATA is instructed Block is sent to RAID control modules one by one, and determines that SATA instructions are allocated address in the disk sent extremely through RAID control modules SATA is instructed and is encapsulated and send to each disk by space, data package module., can be from hardware using technical scheme The shared storage of bottom layer realization multi -CPU, improves the utilization rate of disk, realizes the configuration on demand of storage resource.
The present invention controls multiple disks by RAID card while accesses data, can greatly promote the access band at disk end Width, it is set to match with CPU ends.The performance of whole storage system can be not only lifted, and different RAID levels can be passed through The reliability and fault-tolerant ability of lifting system are set.
The above embodiments are merely illustrative of the technical solutions of the present invention, rather than is limited.Therefore, without departing substantially from this In the case of the spiritual and its essence of invention, those skilled in the art can be variously modified, replace and modification.It will be apparent that but These change, replacement and modification should be all covered by within the protection domain of the claims in the present invention.

Claims (32)

1. a kind of data-storage system, it is characterised in that the system includes:At least one SATA command analysis modules, at least One address mapping module, arbitration modules, RAID control modules and at least one data package module;Wherein:
SATA command analysis modules, for being connected respectively with corresponding CPU, the SATA instructions that CPU is sent are received, SATA is referred to Order is parsed, and is sent to corresponding address mapping module;
Address mapping module, for when receiving the SATA instructions that SATA command analysis modules are sent, referring in SATA instructions Sent after showing the address space of storage to arbitration modules, wherein, indicated address space, which is allocated to, sends SATA instructions CPU address space;
Arbitration modules, the SATA instructions for each address mapping module to be sent are sent to RAID control modules one by one;
RAID control modules, for it is determined that in the allocated disk sent extremely of SATA instructions after address space, SATA to be instructed Send to each data package module;
Data package module, it is connected for corresponding disk, SATA instructions is packaged and sent to disk;
Wherein, the SATA instructions that the SATA command analysis modules are further used for sending CPU are identified;
The address mapping module is further used for determining the address space for sending the CPU of SATA instructions according to the mark;
The address mapping module is further used for the address field by changing SATA instructions, maps that to and distributes to the CPU Address space mode come SATA instruction in indicate storage address space.
2. data-storage system as claimed in claim 1, it is characterised in that the SATA command analysis modules are further used for When receiving the SATA instructions of CPU transmissions, SATA is instructed and carries out serioparallel exchange, 8b/10b code conversions and descrambling operation Afterwards, address mapping module is sent it to.
3. data-storage system as claimed in claim 1, it is characterised in that the SATA command analysis modules are further used for When RAID control modules are not idle, SATA instructions are kept in, arbitration modules are sent it in the RAID control module free time.
4. data-storage system as claimed in claim 1, it is characterised in that the data package module is further used for connecing When receiving the SATA instructions that RAID control modules send, SATA is instructed and carries out serioparallel exchange, 8b/10b code conversions and added After disturbing operation, send to disk.
5. data-storage system as claimed in claim 1, it is characterised in that the data package module is further used for connecing When receiving the response results that disk is sent, response results are subjected to serioparallel exchange, after 8b/10b code conversions and descrambling operation, Send to RAID control modules.
6. data-storage system as claimed in claim 5, it is characterised in that the RAID control modules are further used for passing through The address field of response results is changed, is reflected and is mapped to the mode of the address space for distributing to the CPU to refer in response results Show the address space of response.
7. data-storage system as claimed in claim 1, it is characterised in that the data package module is further used for When SATA command analysis modules are not idle, response results are kept in, arbitration is sent it in the SATA command analysis module free time Module.
8. data-storage system as claimed in claim 1, it is characterised in that the data package module is further used for magnetic The response results that disk is sent are identified;
The address mapping module is further used for being determined to receive the CPU of response results according to the mark.
9. data-storage system as claimed in claim 1, it is characterised in that the SATA command analysis modules are further used for When receiving the response results of address mapping module transmission, response results are subjected to serioparallel exchange, 8b/10b code conversions with And after Scrambling Operation, send it to CPU.
10. the data-storage system as described in claim 1 to 9 is any, it is characterised in that the RAID control modules are further For the requirement of the RAID provided according to management node, corresponding RAID algorithm is selected, determines that SATA instructions are allocated and sends Address space in disk extremely.
11. the data-storage system as described in claim 1 to 9 is any, it is characterised in that the SATA command analysis modules, Address mapping module, arbitration modules, RAID control modules and data package module are realized on FPGA.
12. the application method of the data-storage system as described in claim 1 to 11 is any, it is characterised in that methods described bag Include step:
SATA command analysis modules receive the SATA instructions that its corresponding CPU is sent, and SATA instructions are sent to address and reflected Penetrate module;
Address mapping module indicates that the address of storage is empty when receiving the SATA instructions that arbitration modules are sent in SATA instructions Between after send to data package module, wherein, the address that indicated address space is allocated to the CPU for sending SATA instructions is empty Between;
Arbitration modules send the SATA instructions that address mapping module is sent to RAID control modules one by one;
RAID control modules are it is determined that SATA instructions are allocated in the disk sent extremely after address space, by SATA instructions transmission extremely Each data package module;
Data package module will be sent to disk after SATA instruction encapsulation;
Wherein, when SATA command analysis modules receive the SATA instructions of CPU transmissions, further comprise, CPU is sent SATA instructions are identified;
When address mapping module receives SATA instructions, further comprise, determined to send SATA instructions according to the mark CPU address space;
When address mapping module receives the SATA instructions that SATA command analysis modules are sent, further comprise, pass through modification The mode of the address field of SATA instructions indicates the address space of storage in SATA instructions, by SATA command mappings to distributing to The address space of the CPU.
13. application method as claimed in claim 12, it is characterised in that receive CPU in SATA command analysis modules and send SATA instructions when, further comprise, SATA instructed and carries out serioparallel exchange, after 8b/10b code conversions and descrambling operation, Send it to address mapping module.
14. application method as claimed in claim 12, it is characterised in that receive CPU in SATA command analysis modules and send SATA instructions when, further comprise, when RAID control modules are not idle, keep in SATA instructions, it is empty in RAID control modules Idle sends it to arbitration modules.
15. application method as claimed in claim 12, it is characterised in that receive RAID control modules in data package module During the SATA instructions sent, further comprise, SATA is instructed and carries out serioparallel exchange, 8b/10b code conversions and Scrambling Operation Afterwards, send to disk.
16. application method as claimed in claim 12, it is characterised in that send SATA instructions to magnetic in data package module After disk, further comprise, the response results that reception of magnetic disc is sent, response results are subjected to serioparallel exchange, 8b/10b code conversions And after descrambling operation, send to RAID control modules.
17. application method as claimed in claim 16, it is characterised in that receive the sound that disk sends in RAID control modules When answering result, further comprise, by changing the address field of response results, reflected and be mapped to the address for distributing to CPU sky Between mode come indicated in response results response address space.
18. application method as claimed in claim 16, it is characterised in that receive data package module in RAID control modules During the response results sent, further comprise, when SATA command analysis modules are not idle, keep in response results, refer in SATA Arbitration modules are sent it to when making the parsing module free time.
19. application method as claimed in claim 16, it is characterised in that receive the sound that disk sends in data package module When answering result, further comprise, the response results sent to disk are identified;
When address mapping module receives the response results that arbitration modules are sent, further comprise, connect according to the mark determination Receive the CPU of response results.
20. application method as claimed in claim 16, it is characterised in that receive address of cache in SATA command analysis modules During the response results that module is sent, further comprise, response results are subjected to serioparallel exchange, 8b/10b code conversions and scrambling After operation, CPU is sent it to.
21. the application method as described in claim 12 to 20 is any, it is characterised in that RAID control modules receive it is secondary When cutting out the SATA instructions that module is sent, further comprise, the requirement of the RAID provided according to management node, selection is corresponding RAID algorithm, determine that SATA instructions are allocated address space in the disk sent extremely.
22. the application method as described in claim 12 to 20 is any, it is characterised in that solved on FPGA to SATA instructions Analysis, address of cache, arbitration, RAID controls and data encapsulation.
23. application method as claimed in claim 12, it is characterised in that instructed in physical layer to SATA or response results are carried out Serioparallel exchange, 8b/10b code conversions.
24. application method as claimed in claim 12, it is characterised in that instructed in link layer to SATA or response results are carried out Reinforced turf operates.
25. application method as claimed in claim 24, it is characterised in that instructed in link layer to SATA and carry out CRC check.
26. application method as claimed in claim 25, it is characterised in that enter in link layer to the SATA transmissions instructed and reception Row stream control.
27. application method as claimed in claim 12, it is characterised in that
On the level of the transport layer, the frame sent from link layer is received;
Frame head and length are checked, if abandon the frame of mistake, informs link layer.
28. application method as claimed in claim 27, it is characterised in that
On the level of the transport layer, the frame sent from Internet is received;
Frame head and length are checked, if abandon the frame of mistake, informing network layer.
29. application method as claimed in claim 27, it is characterised in that
On the level of the transport layer, the SATA instructions sent from Internet are received;
By SATA instructions according to the address space that storage is indicated in instruction, the address space for distributing to the CPU is mapped to.
30. application method as claimed in claim 29, it is characterised in that
On the level of the transport layer, the response results sent from link layer are received;
Mark by response results according to address space, is mapped to the address space for sending CPU corresponding to the disk of response results.
31. application method as claimed in claim 12, it is characterised in that
In Internet, the SATA instructions received to transport layer are identified;
Send to arbitration modules.
32. application method as claimed in claim 31, it is characterised in that
In Internet, the response results sent from arbitration modules are received;
Send to transport layer.
CN201410347213.1A 2014-07-21 2014-07-21 A kind of data-storage system and its application method Active CN104123228B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410347213.1A CN104123228B (en) 2014-07-21 2014-07-21 A kind of data-storage system and its application method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410347213.1A CN104123228B (en) 2014-07-21 2014-07-21 A kind of data-storage system and its application method

Publications (2)

Publication Number Publication Date
CN104123228A CN104123228A (en) 2014-10-29
CN104123228B true CN104123228B (en) 2018-03-09

Family

ID=51768648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410347213.1A Active CN104123228B (en) 2014-07-21 2014-07-21 A kind of data-storage system and its application method

Country Status (1)

Country Link
CN (1) CN104123228B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989401A (en) * 2015-02-09 2016-10-05 詹雨明 Integrated solid array storage card
US9690656B2 (en) * 2015-02-27 2017-06-27 Microsoft Technology Licensing, Llc Data encoding on single-level and variable multi-level cell storage
CN105487988B (en) * 2015-12-03 2019-05-14 烽火通信科技股份有限公司 The method for improving the effective access rate of SDRAM bus is multiplexed based on memory space
CN106970889B (en) * 2017-05-10 2023-12-12 鸿秦(北京)科技有限公司 SATA bridge chip and working method thereof
CN110399327A (en) * 2018-04-24 2019-11-01 厦门雅迅网络股份有限公司 A kind of multi -CPU shares the method and system of single hard disk
CN112395220B (en) * 2020-11-18 2023-02-28 海光信息技术股份有限公司 Processing method, device and system of shared storage controller and storage controller
CN114415959B (en) * 2022-01-20 2023-03-10 无锡众星微系统技术有限公司 SATA disk dynamic accelerated access method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030180A (en) * 2007-04-06 2007-09-05 北京理工大学 Multi-port memory based on Synchronous access mode
CN101599004A (en) * 2009-07-10 2009-12-09 中国科学院光电技术研究所 SATA controller based on FPGA
CN102622192A (en) * 2012-02-27 2012-08-01 北京理工大学 Weak correlation multiport parallel store controller

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030180A (en) * 2007-04-06 2007-09-05 北京理工大学 Multi-port memory based on Synchronous access mode
CN101599004A (en) * 2009-07-10 2009-12-09 中国科学院光电技术研究所 SATA controller based on FPGA
CN102622192A (en) * 2012-02-27 2012-08-01 北京理工大学 Weak correlation multiport parallel store controller

Also Published As

Publication number Publication date
CN104123228A (en) 2014-10-29

Similar Documents

Publication Publication Date Title
CN104123228B (en) A kind of data-storage system and its application method
US11580041B2 (en) Enabling use of non-volatile media—express (NVME) over a network
US11269518B2 (en) Single-step configuration of storage and network devices in a virtualized cluster of storage resources
CN105556930B (en) NVMe controllers, storage network and the method for accessing long-range NameSpace of extension
CN111722786B (en) Storage system based on NVMe equipment
US10592144B2 (en) Storage system fabric with multichannel compute complex
US9003145B2 (en) Management server and data migration method
CN104133777B (en) A kind of shared memory systems and its application method
US7870317B2 (en) Storage processor for handling disparate requests to transmit in a storage appliance
US20100064072A1 (en) Dynamically Adjustable Arbitration Scheme
US10893105B1 (en) Utilization of networking protocol for seamless integration of compute nodes with software-defined storage nodes
WO2016196766A2 (en) Enabling use of non-volatile media - express (nvme) over a network
CN108696569A (en) The system and method that data replicate are provided in NVMe-oF Ethernets SSD
CN107046563A (en) A kind of implementation method, system and the cloud platform of distribution type high efficient cloud disk
CN106688217A (en) Methods and systems for converged networking and storage
TW201109938A (en) Transport agnostic SCSI I/O referrals
JP2008529167A (en) Collaborative shared storage architecture
US10938730B2 (en) Data transmission techniques between systems having different communication speeds
US8060696B2 (en) Positron emission tomography event stream buffering
CN102833237B (en) InfiniBand protocol conversion method and system based on bridging
US20220129380A1 (en) Volume tiering in storage systems
JP2021510215A (en) I / O request processing method and device
US20210081352A1 (en) Internet small computer interface systems extension for remote direct memory access (rdma) for distributed hyper-converged storage systems
CN105739930B (en) A kind of storage architecture and its initial method and date storage method and managing device
CN104994135B (en) The method and device of SAN and NAS storage architectures is merged in storage system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200818

Address after: 215300 No.88 Nansong Road, Yushan Town, Kunshan City, Suzhou City, Jiangsu Province

Patentee after: ZHONGKE CONTROLLABLE INFORMATION INDUSTRY Co.,Ltd.

Address before: 100193, 36 building, Zhongguancun Software Park, 8 northeast Wang Xi Road, Beijing, Haidian District

Patentee before: Dawning Information Industry (Beijing) Co.,Ltd.

TR01 Transfer of patent right