CN1997033B - A protocol for network storage and its system - Google Patents

A protocol for network storage and its system Download PDF

Info

Publication number
CN1997033B
CN1997033B CN2006101665830A CN200610166583A CN1997033B CN 1997033 B CN1997033 B CN 1997033B CN 2006101665830 A CN2006101665830 A CN 2006101665830A CN 200610166583 A CN200610166583 A CN 200610166583A CN 1997033 B CN1997033 B CN 1997033B
Authority
CN
China
Prior art keywords
starter
data
object machine
command
vscsi
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.)
Expired - Fee Related
Application number
CN2006101665830A
Other languages
Chinese (zh)
Other versions
CN1997033A (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN2006101665830A priority Critical patent/CN1997033B/en
Publication of CN1997033A publication Critical patent/CN1997033A/en
Application granted granted Critical
Publication of CN1997033B publication Critical patent/CN1997033B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

This invention relates to one agreement and system for network memory in computer information memory technique field by use of VI composed of start process and aim process. The invention system comprises the following parts: one start device and N aim parts connected to the internet through VI network interface, VI connection channel; the start and aim parts are connected to the channel transmission data through more than one VI.

Description

A kind of method and system thereof that is used for the network storage
Technical field
The invention belongs to the computer information storage technology field, be specifically related to a kind of agreement and system thereof that is used for the network storage.
Background technology
Along with popularizing and the surge of present information data volume of network, a lot of important computer application fields, particularly store intensive applications, performance technologies indexs such as the capacity of information storage system, bandwidth, I/O response time, extensibility are had higher requirement.For this reason, people propose and have realized attached net storage system (NAS), storage area network diverse network storage architectures such as (SAN), have improved the performance of storage system from the angle of storage system.
And set up basis---the storage protocol of a network store system, directly had influence on the performance of this storage system.There are numerous storage protocols to select now, comprise SCSI Serial agreement, Fibre Channel agreement and iSCSI agreement etc.In current industrial quarters, Firbre Channel is the primary selection that makes up high-performance storage area network (SAN), but its fancy price and dispose complexity and be not suitable for medium and low-end users.On the other hand, for popular network Ethernet, along with the development of technology such as recent gigabit even Wan Zhao, the large memory system that makes up based on Ethernet seems more and more tempting and feasible.The method of conventional construction ethernet network storage system is to use the storage protocol based on TCP/IP, as the iSCSI agreement, scsi command and data encapsulation is advanced the TCP/IP bag transmit and realize.Though the TCP/IP technology is quite ripe, functions such as its current control and congested control also bring great convenience for transfer of data, and under LAN environment, when seeking out higher transmission performance, the complexity of ICP/IP protocol becomes stumbling-block.
Therefore, be necessary to design a kind of brand-new storage protocol based on Ethernet, make full use of the cheapness and the universal advantage of Ethernet, get around complicated ICP/IP protocol simultaneously, make the storage system that is structured on the Ethernet when keeping price advantage, have higher bandwidth and I/O response speed faster.Virtual interface (VI) is the low communication mechanism that postpones of high bandwidth that is used for group system, and main thought is: shielded, a direct addressable virtual interface is provided for each consumer process, to save the expense of system handles in the legacy network pattern.Each virtual interface is represented a communication end point, and two virtual interfaces can couple together in logic realizes the point-to-point bidirectional data transfers.Use VI to replace TCP/IP, can obtain higher throughput, and keep low expense, design the novel storage protocol vSCSI that realizes on this basis and can make storage system obtain more performance as communication protocol.
Summary of the invention
The invention provides a kind of agreement and system thereof that is used for the network storage, purpose is to overcome the deficiency of existing network storage protocol price and performance when the on-premise network storage system, construct a kind of network storage agreement that satisfies demands such as price, bandwidth, deployment complexity, and reduce server load, raising I/O service performance based on virtual interface.
A kind of agreement that is used for the network storage of the present invention comprises starter process and object machine process,
(1) the starter procedural sequences comprises:
(1.1) starter initialization step, starter is selected to load scsi adapter driver module or vSCSI API module according to user's designated mode, finishes relevant initialization;
(1.2) starter initiates to login step, and starter calls the connection management module and sends authentication information to one or more object machines of user's appointment, and request is logined;
(1.3) starter is waited for authenticating step, and starter is waited for the authentication response from object machine, if wait until authentication response in time threshold, order is carried out, otherwise changes authentication timeout treatment step over to;
(1.4) VI interface channel establishment step is set up one or more VI interface channels between starter and one or more object machine, register corresponding VI transmission/reception buffering area, related transmission/reception descriptor;
(1.5) after starter wait command step, connection were set up and finished, starter was waited for the scsi command that receives from system or upper layer application, receives order, and order is carried out;
(1.6) starter resolve command step, starter is resolved current scsi command, and according to user's data designated distribution rule or strategy, and the type of current scsi command generates one or more vSCSI requests; If step (1.7) is carried out in the SCSI read command, otherwise change step (1.8);
(1.7) starter read command pre-treatment step, starter is according to the one or more object machines that use in user's data designated distribution rule or the strategy, according to data volume size in each the vSCSI read request that generates in the step (1.6), VI to each object machine correspondence receives buffering area execution PostRecv operation, be ready to each VI and receive formation, order is carried out;
(1.8) starter sends request step, and starter sends the vSCSI request with the concurrent execution PostSend operation of one or more vSCSI requests at object machine that step (1.6) generates to object machine; If what send is write request, carries out step (1.9), otherwise change step (1.10);
(1.9) starter write order pre-treatment step, starter carries out the computing location according to rule of using or strategy to treating write data among the scsi command request_buffer, determine to treat the corresponding relation of write data and each object machine, according to user's data designated encryption level above each definite object machine corresponding data being carried out cryptographic calculation respectively then handles, at last the data parallel after the encryption is copied to each self-corresponding VI and send the buffering area formation, etc. to be sent, order is carried out;
(1.10) starter wait-for-response step, starter is waited for the response from object machine, receive response, then according to different respond styles, enter the different disposal routine: the response of read command enters step (1.11), the response of write order enters step (1.12), and the response of status poll class order enters step (1.13); If in time threshold, do not receive response, then change the response timeout treatment step over to;
(1.11) starter read command treatment step, starter receives the data from one or more object machines, and according to user's data designated encryption level each VI is received that data are decrypted calculation process in buffering area, carry out the computing location according to rule of using or strategy to treating the backfill space among the scsi command request_buffer then, determine data and its corresponding relation, at last the data after the decryption processing are copied in the request_buffer correspondence position of the above scsi command that calculates from each object machine; Backfill finishes, and changes step (1.14);
(1.12) starter write order treatment step, starter receives the response from one or more object machines, to the concurrent execution PostSend of each data queue to be written operation, will treat that write data sends to corresponding object machine; Data send and finish, and change step (1.14);
(1.13) starter status poll class command process step, starter receive the one or more vSCSI status polls response of corresponding one or more object machines, extract and return the SCSI response message to system or upper layer application; Feedback finishes, and changes step (1.14);
(1.14) the initiator request step that disposes, the starter current scsi command that is finished changes step (1.5), waits pending next scsi command.
(2) the object machine procedural sequences comprises:
(2.1) connection management module after object machine initialization step, the initialization of object machine starting device service thread, initialization finish;
(2.2) object machine is waited for and is logined step, and object machine is waited for the login authentication request that receives self-starter;
(2.3) object machine receives and logins step, and object machine receives the request of logining, and it is carried out authentication, and the request of illegally logining changes illegal treatment step over to, accepts it by the legitimate request of checking and logins, and sends authentication response to starter;
(2.4) object machine wait command step, object machine are waited for the vSCSI order that receives self-starter;
(2.5) object machine resolve command step, object machine receive the vSCSI order, and it is resolved, difference according to current vSCSI command type, carry out different disposal: step (2.6) is changeed in the vSCSI read command, and write order changes step (2.7), and step (2.10) is changeed in the order of status poll class;
(2.6) object machine read command treatment step, object machine copy data the formation of to VI transmission buffering area from physical storage device or Cache, and it are carried out the PostSend operation under read-write speedup module controls, and data are sent to starter; Data all send and finish, and change step (2.11);
(2.7) object machine write order pre-treatment step, object machine is carried out the PostRecv operation according to the request size, is ready to VI and receives formation, generates and calls the PostSend operation and send ready (write and be ready to) response to starter, and order is carried out;
(2.8) object machine is waited for data step, and object machine waits for the data of self-starter, if receive data in time threshold, order is carried out; Otherwise change the receive time-out treatment step over to,
(2.9) object machine write order treatment step, object machine receives the data of self-starter, under read-write speedup module controls, data is received buffering area from VI directly write physical storage device or Cache; Data all receive, and change step (2.11);
(2.10) object machine status poll class command process step, object machine extracts the SCSI querying command of encapsulation in the vSCSI order, carry out query manipulation according to the SCSI protocol specification, and the feedback information that will inquire about gained encapsulates in the vSCSI inquiry response, call PostSend and operate and be sent to starter; Inquiry response sends and finishes, and changes step (2.11);
(2.11) the object machine request step that disposes, object machine finishes current vSCSI order successful execution, changes step (2.4) over to, waits pending next vSCSI order;
Described a kind of agreement that is used for the network storage is characterized in that: (1) described authentication timeout treatment step, and be responsible for returning error condition, and stop the starter process to system or upper layer application; (2) described response timeout treatment step is responsible for reporting that to system or upper layer application current scsi command execution makes mistakes, and is stopped the execution of current scsi command, changes starter wait command step over to, waits pending next scsi command; (3) described receive time-out treatment step is responsible for reporting that to starter current vSCSI command execution makes mistakes, and is stopped the execution of current vSCSI order, changes object machine wait command step over to, waits pending next vSCSI order; (4) described illegal treatment step is responsible for this refusal of illegally logining, and changes object machine over to and wait for and login step, continues to wait for that next starter logins.
A kind of system that is used for network storage agreement of the present invention comprises a starter and N object machine, and starter is connected into network by VI network interface, VI interface channel; Object machine is connected into network by VI network interface, VI interface channel; By one or more VI interface channel transmission data, N is a natural number between starter and object machine;
(1) comprises in the starter: scsi adapter driver module, vSCSI API module, connection management module, command processing module and data encrypting and deciphering module;
(1.1) the scsi adapter driver module is registered one or more virtual scsi disk equipment to operating system, receives from the standard scsi command in operating system SCSI intermediate layer and returns executing state, traditional magnetic disk equipment is provided and accepts the interview to user's space;
(1.2) the vSCSIAPI module provides direct calling interface to the upper strata developer, and the SCSI of workaround system layered system directly receives upper layer commands and returns executing state;
(1.3) the connection management module in the starter is initiated one or more VI connection authentication request to one or more object machines, finish connect, initial work such as parameter negotiation, internal memory registration and close friend publish work, under the unexpected situation about disconnecting of VI connection, rebulid connection, and new VI connection is transferred in service;
(1.4) command processing module is responsible for the command conversion from scsi adapter driver module or the reception of vSCSI API module is become the vSCSI order, call PostSend and carry out the delivery work that VI sends data in the buffering area formation, call PostRecv and carry out the preparation that VI receives buffering area, send and receive the vSCSI order, and generate the corresponding command or state, return upper strata scsi adapter driver module or vSCSI API module;
(1.5) the data encrypting and deciphering module is responsible for to the encryption of data to be transmitted with to the decryption processing of data accepted; During write request, data are carried out behind the cryptographic calculation copying to from the system buffer VI registration buffer district according to the encryption and decryption rank; During read request, copy the system buffer to from VI registration buffer district after data are decrypted computing;
(2) comprise in the object machine: device management module, connection management module, request processing module and read-write speedup module;
(2.1) device management module is responsible for the apparatus for establishing service thread, collects the physics storing device information, finishes the initialization of local device service state and control data, carries out real-time information interaction with equipment;
(2.2) the connection management module in the object machine is monitored the connection authentication request that verification comes the self-starter node, sets up one or more VI with legal starter and is connected, and finishes initial work such as parameter negotiation, internal memory registration;
(2.3) request processing module is responsible for receiving and handling the vSCSI request that starter sends, comprise read-write requests, device status inquiries request etc., start the respective handling process according to the kind that arrives request, wherein the data interaction of read-write requests and physical storage device will be controlled by read-write speedup module;
(2.4) in the read-write speedup module controls read-write requests processing procedure in the VI registration buffer district data read from or write Cache or physical storage device, and handle among the Cache consistency problem of data in the data and physical storage device.
Described system is characterized in that, the starter of described operation vSCSI and object machine all have been equipped with the network adapter of supporting the VI transmission; Described VI network adapter provides a kind of in reliable transmission or two kinds of reliability class of reliable reception at least; Described starter and object machine all can run on same or be distributed among the various computing machine host node; In the node of described starter place between virtual scsi device and operating system, and vSCSI API all adopts scsi interface; Physical storage device in the node of described object machine place is for adopting the disc driver or the disk array of SCSI, FC, IDE or SATA interface; Described network is the local area network (LAN) of ether medium.
Above, network storage agreement vSCSI of the present invention, full name is VI-attached SCSI, and wherein VI refers to virtual interface, and SCSI refers to small computer system interface; The application programming interface vSCSI API that vSCSI provides to upper layer application; The called function PostRecv that virtual interface (VI) provides to upper layer application realizes preparing the function that VI receives buffering area; The called function PostSend that virtual interface (VI) provides to upper layer application realizes delivering the function that VI sends data in the buffering area; Cache is a slice core buffer, is used for the data on the buffer memory physical storage device; Request_buffer is used to deposit zone to be read and write data in the scsi command structure.
The present invention utilizes VI to replace traditional ICP/IP protocol as the communication infrastructure that makes up storage protocol, shortened the critical path of network stored data, improve the response speed of physical network bandwidth utilization and network I/O, effectively solved main network storage issue such as the network bandwidth, memory access speed, interoperability.
Particularly, the present invention has the following advantages:
1. utilize VI high bandwidth, low lag characteristic, obtain than tradition based on the higher transmission performance of the storage protocol of TCP/IP; Measured data shows that vSCSI reaches 115% than the raising of iSCSI (intel realizes version) sequential write performance under the equal conditions, and the raising of sequential read performance reaches 35%.
2. utilize the multi-level reliability transmission of VI, transmission reliability is guaranteed that this critical function moves down into the inner realization of VI, thereby avoided the complexity of upper strata storage protocol when realizing memory reliability greatly, reduced the storage protocol expense, improved storage protocol efficient.
3. utilize the performance characteristic of VI in the transfer of data behavior, realize the data encryption of harmless transmission performance in the data storage procedure; The data decryption of the harmless transmission performance of realization that vice versa.Be that packet delivery (carrying out the PostSend operation) becomes step function with VI continuous data transfer amount for the required consumed time of VI, time of delivery will be stabilized in a relative high value after continuous quantity surpasses second critical value, utilize the time of delivery of a packet that next packet is encrypted and get final product; Vice versa in like manner realizes deciphering.
4. agreement internal support starter is set up a plurality of VI with a plurality of object machines and is connected, these VI connections have massive parallelism, except can realizing the parallel access operation, can also realize the parallel network transmission of data, guaranteed the high efficiency and the high-performance of storage protocol.
5. several data distribution rule (rules) or strategy (policy) under the agreement internal support multiple target device environment are realized such as function such as load balance, data backup between object machine.
6. the present invention can provide multiple stores service neatly at dissimilar ground applied environment and requirement: the service of standard scsi device, API Calls service.
Description of drawings
Fig. 1 is that system of the present invention forms structural representation;
Fig. 2 is for the module in starter of the present invention and the object machine and concern schematic diagram;
Fig. 3 is the schematic diagram of agreement of the present invention.
Embodiment
Fig. 1 is that system of the present invention forms structural representation.The present invention includes a starter 100 and n object machine 200.1,200.2 ..., 200.n, they are by VI communication network 300 interconnection, n is a natural number.Starter 100 is connected into network 300 by VI network interface 121.1~121.m (m is a natural number), object machine 200.1,200.2 ..., 200.n respectively the VI network interface 221.1,221.2 by separately ..., 221.n is connected into network 300.Starter 100 is set up the individual VI interface channel 120.1~120.k of k (k is a natural number) by m VI network interface 121.1~121.m, object machine 200.1,200.2 ..., 200.n respectively the VI network interface 221.1,221.2 by separately ..., 221.n sets up k VI interface channel 220.1~220.k altogether; Wherein, the VI interface channel 120.1~120.k of starter 100 1VI interface channel 220.1~220.k with object machine 200.1 1Set up k 1Individual VI connects, and is responsible for request response and transfer of data between starter 100 and the object machine 200.1; The VI interface channel 120.k of starter 100 1+ 1~120.k 2VI interface channel 220.k with object machine 200.2 1+ 1~220.k 2Set up k 2-k 1Individual VI connects, and is responsible for request response and transfer of data between starter 100 and the object machine 200.2; By that analogy, the VI interface channel 120.k of starter 100 N-1The VI interface channel 220.k of+1~120.k and object machine 200.2 N-1+ 1~220.k sets up k-k N-1Individual VI connects, and is responsible for request response and transfer of data between starter 100 and the object machine 200.2; The size of k is not subject to the size of m in the starter 100, but k 〉=m uses m VI network interface can increase the band width in physical of starter access network, but do not influence logic realization, and object machine also in like manner.
Fig. 2 has represented the module in starter of the present invention and the object machine and the graph of a relation of intermodule.Scsi adapter driver module 150, vSCSI API module 160, connection management module 110, command processing module 130 and data encrypting and deciphering module 140 run in the starter 100.Mutual in 150 pairs of the scsi adapter driver modules with command processing module 130, externally with starter place node host operating system (SCSI intermediate layer) alternately; Mutual in 160 pairs of the vSCSIAPI modules with command processing module 130, externally and the third party's program interaction that moves in the node main frame of starter place; Scsi adapter driver module 150 and vSCSI API module 160 are two parallel function modules, the invention provides routine interface for the external world uses, and only use one of them module with extraneous mutual to same starter at synchronization generally speaking.
Device management module 250, connection management module 210, request processing module 230 and read-write speedup module 240 run in the object machine 200.Mutual with request processing module 230 in 250 pairs of the device management modules, the physical storage device of carry is mutual externally and in the node main frame of object machine place; Mutual with request processing module 230 and connection management module 210 in 240 pairs of the read-write speedup modules, the physical storage device of carry is mutual externally and in the node main frame of object machine place; Device management module 250 mainly carries out the mutual of control information such as status poll with physical storage device, and read-write speedup module 240 is mainly carried out data access operation with physical storage device.
Fig. 3 is the schematic diagram of agreement of the present invention, and main expression safety is logined the processing procedure with three major types order (inquiry, reading and writing).

Claims (4)

1. a method that is used for the network storage comprises starter process and object machine process,
(1) the starter procedural sequences comprises:
(1.1) starter initialization step, starter select to load small computer system interface scsi adapter driver module or based on the small computer system interface protocol application DLL (dynamic link library) vSCSI API module of virtual interface, finishes relevant initialization according to user's designated mode;
(1.2) starter initiates to login step, and starter calls the connection management module and sends authentication information to one or more object machines of user's appointment, and request is logined;
(1.3) starter is waited for authenticating step, and starter is waited for the authentication response from object machine, if wait until authentication response in time threshold, order is carried out, otherwise changes authentication timeout treatment step over to;
(1.4) virtual interface VI interface channel establishment step is set up one or more VI interface channels between starter and one or more object machine, register corresponding VI transmission/reception buffering area and related transmission/reception descriptor;
(1.5) after starter wait command step, connection were set up and finished, starter was waited for the scsi command that receives from system or upper layer application, receives order, and order is carried out;
(1.6) starter resolve command step, starter is resolved current scsi command, and according to user's data designated distribution rule or strategy, and the type of current scsi command generates one or more vSCSI requests; If step (1.7) is carried out in the SCSI read command, otherwise change step (1.8);
(1.7) starter read command pre-treatment step, starter is according to the one or more object machines that use in user's data designated distribution rule or the strategy, according to data volume size in each the vSCSI read request that generates in the step (1.6), VI to each object machine correspondence receives buffering area execution beginning to receive PostRecv operation, be ready to each VI and receive formation, order is carried out;
(1.8) starter sends request step, and the one or more vSCSI at object machine that starter generates step (1.6) ask concurrent execution to begin to send the PostSend operation, send the vSCSI request to object machine; If what send is write request, carries out step (1.9), otherwise change step (1.10);
(1.9) starter write order pre-treatment step, starter carries out the computing location according to rule of using or strategy to treating write data among the scsi command request buffer request_buffer, determine to treat the corresponding relation of write data and each object machine, according to user's data designated encryption level above each definite object machine corresponding data being carried out cryptographic calculation respectively then handles, at last the data parallel after the encryption is copied to each self-corresponding VI and send the buffering area formation, etc. to be sent, order is carried out;
(1.10) starter wait-for-response step, starter is waited for the response from object machine, receive response, then according to different respond styles, enter the different disposal routine: the response of read command enters step (1.11), the response of write order enters step (1.12), and the response of status poll class order enters step (1.13); If in time threshold, do not receive response, then change the response timeout treatment step over to;
(1.11) starter read command treatment step, starter receives the data from one or more object machines, and according to user's data designated encryption level each VI is received that data are decrypted calculation process in buffering area, carry out the computing location according to rule of using or strategy to treating the backfill space among the scsi command request_buffer then, determine data and its corresponding relation, at last the data after the decryption processing are copied in the request_buffer correspondence position of the above scsi command that calculates from each object machine; Backfill finishes, and changes step (1.14);
(1.12) starter write order treatment step, starter receives the response from one or more object machines, to the concurrent execution PostSend of each data queue to be written operation, will treat that write data sends to corresponding object machine; Data send and finish, and change step (1.14);
(1.13) starter status poll class command process step, starter receive the one or more vSCSI status polls response of corresponding one or more object machines, extract and return the SCSI response message to system or upper layer application; Feedback finishes, and changes step (1.14);
(1.14) the initiator request step that disposes, the starter current scsi command that is finished changes step (1.5), waits pending next scsi command.
(2) the object machine procedural sequences comprises:
(2.1) connection management module after object machine initialization step, the initialization of object machine starting device service thread, initialization finish;
(2.2) object machine is waited for and is logined step, and object machine is waited for the login authentication request that receives self-starter;
(2.3) object machine receives and logins step, and object machine receives the request of logining, and it is carried out authentication, and the request of illegally logining changes illegal treatment step over to, accepts it by the legitimate request of checking and logins, and sends authentication response to starter;
(2.4) object machine wait command step, object machine are waited for the vSCSI order that receives self-starter;
(2.5) object machine resolve command step, object machine receive the vSCSI order, and it is resolved, difference according to current vSCSI command type, carry out different disposal: step (2.6) is changeed in the vSCSI read command, and write order changes step (2.7), and step (2.10) is changeed in the order of status poll class;
(2.6) object machine read command treatment step, object machine copy data the formation of to VI transmission buffering area from physical storage device or core buffer Cache, and it are carried out the PostSend operation under read-write speedup module controls, and data are sent to starter; Data all send and finish, and change step (2.11);
(2.7) object machine write order pre-treatment step, object machine is carried out the PostRecv operation according to request size, is ready to VI and receives formation, generates and calls the PostSend operation and send to write to starter and be ready to the ready response, and order is carried out;
(2.8) object machine is waited for data step, and object machine waits for the data of self-starter, if receive data in time threshold, order is carried out; Otherwise change the receive time-out treatment step over to,
(2.9) object machine write order treatment step, object machine receives the data of self-starter, under read-write speedup module controls, data is received buffering area from VI directly write physical storage device or Cache; Data all receive, and change step (2.11);
(2.10) object machine status poll class command process step, object machine extracts the SCSI querying command of encapsulation in the vSCSI order, carry out query manipulation according to the SCSI protocol specification, and the feedback information that will inquire about gained encapsulates in the vSCSI inquiry response, call PostSend and operate and be sent to starter; Inquiry response sends and finishes, and changes step (2.11);
(2.11) the object machine request step that disposes, object machine finishes current vSCSI order successful execution, changes step (2.4) over to, waits pending next vSCSI order;
2. a kind of method that is used for the network storage as claimed in claim 1 is characterized in that: (1) described authentication timeout treatment step, and be responsible for returning error condition, and stop the starter process to system or upper layer application; (2) described response timeout treatment step is responsible for reporting that to system or upper layer application current scsi command execution makes mistakes, and is stopped the execution of current scsi command, changes starter wait command step over to, waits pending next scsi command; (3) described receive time-out treatment step is responsible for reporting that to starter current vSCSI command execution makes mistakes, and is stopped the execution of current vSCSI order, changes object machine wait command step over to, waits pending next vSCSI order; (4) described illegal treatment step is responsible for this refusal of illegally logining, and changes object machine over to and wait for and login step, continues to wait for that next starter logins.
3. a system that is used for claim 1 or 2 described network storage methods comprises a starter and N object machine, and starter is connected into network by virtual interface VI network interface and VI interface channel; Object machine is connected into network by VI network interface and VI interface channel; By one or more VI interface channel transmission data, N is a natural number between starter and object machine;
(1) comprises in the starter: small computer system interface scsi adapter driver module, based on small computer system interface protocol application DLL (dynamic link library) vSCSI API module, connection management module, command processing module and the data encrypting and deciphering module of virtual interface;
(1.1) the scsi adapter driver module is registered one or more virtual scsi disk equipment to operating system, receives from the standard scsi command in operating system SCSI intermediate layer and returns executing state, traditional magnetic disk equipment is provided and accepts the interview to user's space;
(1.2) vSCSI API module provides direct calling interface to the upper strata developer, and the SCSI of workaround system layered system directly receives upper layer commands and returns executing state;
(1.3) the connection management module in the starter is initiated one or more VI connection authentication request to one or more object machines, finish connect, parameter negotiation and the work of internal memory register initial and close friend publish work, under the unexpected situation about disconnecting of VI connection, rebulid connection, and new VI connection is transferred in service;
(1.4) command processing module is responsible for the command conversion from scsi adapter driver module or the reception of vSCSI API module is become the vSCSI order, call and begin to send the delivery work that PostSend carries out data in the formation of VI transmission buffering area, call and begin to receive the preparation that PostRecv carries out VI reception buffering area, send and receive the vSCSI order, and generate the corresponding command or state, return upper strata scsi adapter driver module or vSCSI API module;
(1.5) the data encrypting and deciphering module is responsible for to the encryption of data to be transmitted with to the decryption processing of data accepted; During write request, data are carried out behind the cryptographic calculation copying to from the system buffer VI registration buffer district according to the encryption and decryption rank; During read request, copy the system buffer to from VI registration buffer district after data are decrypted computing;
(2) comprise in the object machine: device management module, connection management module, request processing module and read-write speedup module;
(2.1) device management module is responsible for the apparatus for establishing service thread, collects the physics storing device information, finishes the initialization of local device service state and control data, carries out real-time information interaction with equipment;
(2.2) the connection management module in the object machine is monitored the connection authentication request that verification comes the self-starter node, sets up one or more VI with legal starter and is connected, and finishes parameter negotiation and the work of internal memory register initial;
(2.3) request processing module is responsible for receiving and handling the vSCSI request that starter sends, comprise read-write requests and device status inquiries request, start the respective handling process according to the kind that arrives request, wherein the data interaction of read-write requests and physical storage device will be controlled by read-write speedup module;
(2.4) in the read-write speedup module controls read-write requests processing procedure in the VI registration buffer district data read from or write core buffer Cache or physical storage device, and handle among the Cache consistency problem of data in the data and physical storage device.
4. system as claimed in claim 3 is characterized in that, described starter and object machine all are equipped with the network adapter of supporting the VI transmission; The network adapter of described support VI transmission provides a kind of in reliable transmission or two kinds of reliability class of reliable reception at least; Described starter and object machine all can run on same or be distributed among the various computing machine host node; Interface in the node of described starter place between virtual scsi device and operating system, and vSCSI API all adopts scsi interface; Physical storage device in the node of described object machine place is for adopting the disc driver or the disk array of SCSI, optical-fibre channel FC, Integrated Device Electronics IDE or Serial Advanced Technology Attachment SATA interface; Described network is the local area network (LAN) of ether medium.
CN2006101665830A 2006-12-28 2006-12-28 A protocol for network storage and its system Expired - Fee Related CN1997033B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2006101665830A CN1997033B (en) 2006-12-28 2006-12-28 A protocol for network storage and its system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2006101665830A CN1997033B (en) 2006-12-28 2006-12-28 A protocol for network storage and its system

Publications (2)

Publication Number Publication Date
CN1997033A CN1997033A (en) 2007-07-11
CN1997033B true CN1997033B (en) 2010-11-24

Family

ID=38251954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101665830A Expired - Fee Related CN1997033B (en) 2006-12-28 2006-12-28 A protocol for network storage and its system

Country Status (1)

Country Link
CN (1) CN1997033B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335765B (en) * 2008-07-25 2010-12-29 华中科技大学 Storage service middleware based on mobile caching
CN101729589B (en) * 2008-10-14 2012-07-18 北京大学 Method and system for improving end-to-end data transmission rate
JP5451874B2 (en) * 2010-04-14 2014-03-26 株式会社日立製作所 Storage control device and control method of storage control device
CN102882697B (en) * 2011-07-13 2015-08-26 北京佳讯飞鸿电气股份有限公司 A kind of message receival method of the network management system multi-client based on callback mechanism
CN102843435A (en) * 2012-09-10 2012-12-26 浪潮(北京)电子信息产业有限公司 Access and response method and access and response system of storing medium in cluster system
CN103176751A (en) * 2013-03-04 2013-06-26 浪潮电子信息产业股份有限公司 Unified service system under multiple storage protocols
US10353631B2 (en) * 2013-07-23 2019-07-16 Intel Corporation Techniques for moving data between a network input/output device and a storage device
CN114666420B (en) * 2022-03-29 2023-11-14 浙江大学 Open type multi-communication protocol assembly

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003141A1 (en) * 2002-05-06 2004-01-01 Todd Matters System and method for implementing virtual adapters and virtual interfaces in a network system
WO2005060186A1 (en) * 2003-12-17 2005-06-30 Nec Corporation Network, router device, route updating suppression method used for the same, and program thereof
CN1761257A (en) * 2005-11-22 2006-04-19 华中科技大学 Memory system based on virtual interface
CN1761222A (en) * 2005-11-22 2006-04-19 华中科技大学 Storage network adapter of supporting virtual interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003141A1 (en) * 2002-05-06 2004-01-01 Todd Matters System and method for implementing virtual adapters and virtual interfaces in a network system
WO2005060186A1 (en) * 2003-12-17 2005-06-30 Nec Corporation Network, router device, route updating suppression method used for the same, and program thereof
CN1761257A (en) * 2005-11-22 2006-04-19 华中科技大学 Memory system based on virtual interface
CN1761222A (en) * 2005-11-22 2006-04-19 华中科技大学 Storage network adapter of supporting virtual interface

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US 20040003141 A1,全文.

Also Published As

Publication number Publication date
CN1997033A (en) 2007-07-11

Similar Documents

Publication Publication Date Title
CN1997033B (en) A protocol for network storage and its system
US11270006B2 (en) Intelligent storage devices with cryptographic functionality
US10503917B2 (en) Performing operations on intelligent storage with hardened interfaces
US20080022120A1 (en) System, Method and Computer Program Product for Secure Access Control to a Storage Device
JP2021527286A (en) Encryption for distributed file systems
CN109377363B (en) Block chain-based Internet of things data transaction architecture and transaction security method thereof
CN101317166A (en) Unified DMA
WO2014199197A1 (en) A method, system and product for securely storing data files at a remote location by splitting and reassembling said files
US20130124852A1 (en) File-based application programming interface providing ssh-secured communication
WO2006116931A1 (en) A method for guaranteeing the safety of the storage network data and the system thereof
CN113395359B (en) File currency cluster data transmission method and system based on remote direct memory access
CN103414704A (en) General virtual data encrypted storage system
US20140201829A1 (en) File-based application programming interface providing selectable security features
KR101152388B1 (en) Apparatus and method for operating many applications between portable storage device and digital device
CN106464716A (en) Distributed remote data storage access
He et al. Blockchain-based p2p content delivery with monetary incentivization and fairness guarantee
CN102843435A (en) Access and response method and access and response system of storing medium in cluster system
CN101669110A (en) Symbiotic storage devices
WO2024032474A1 (en) Device access method, data exchange method and related device
JP4948938B2 (en) Method and apparatus for authorizing cross-partition commands
WO2023185639A1 (en) Data interaction system and method based on nvme hard disk
JP2005157826A (en) Access controller and access control method
Liu et al. The application of block chain technology in spot exchange
CN103369016A (en) Method for realizing network storage protocol stack based on iSCSI
KR20060066596A (en) An apparatus and method of data i/o acceleration for high speed data i/o

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101124

Termination date: 20201228