CN104123228B - A kind of data-storage system and its application method - Google Patents
A kind of data-storage system and its application method Download PDFInfo
- 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
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
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.
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)
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)
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 |
-
2014
- 2014-07-21 CN CN201410347213.1A patent/CN104123228B/en active Active
Patent Citations (3)
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 |