CN106919341B - Method and device for issuing I/O (input/output) - Google Patents

Method and device for issuing I/O (input/output) Download PDF

Info

Publication number
CN106919341B
CN106919341B CN201511000512.9A CN201511000512A CN106919341B CN 106919341 B CN106919341 B CN 106919341B CN 201511000512 A CN201511000512 A CN 201511000512A CN 106919341 B CN106919341 B CN 106919341B
Authority
CN
China
Prior art keywords
service subsystem
mode setting
setting information
issuing
subsystem
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201511000512.9A
Other languages
Chinese (zh)
Other versions
CN106919341A (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Chengdu Huawei Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Huawei Technology Co Ltd filed Critical Chengdu Huawei Technology Co Ltd
Priority to CN201511000512.9A priority Critical patent/CN106919341B/en
Publication of CN106919341A publication Critical patent/CN106919341A/en
Application granted granted Critical
Publication of CN106919341B publication Critical patent/CN106919341B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

The embodiment of the invention provides a method and a device for issuing I/O (input/output), which are used for at least solving the problems that when the I/O is issued on the side of the conventional array controller, only specific tools can be developed aiming at a few specific subsystems, the application is limited, the universality is not enough, and the maintenance cost is higher. The method comprises the following steps: acquiring and analyzing I/O mode setting information of a first service subsystem; performing I/O instantiation on a pre-registered I/O input interface of the first service subsystem according to the I/O mode setting information of the first service subsystem to obtain an I/O stream corresponding to the I/O input interface of the first service subsystem; the I/O stream is sent to the first service subsystem. The invention is suitable for the technical field of storage.

Description

Method and device for issuing I/O (input/output)
Technical Field
The invention relates to the technical field of storage, in particular to a method and a device for issuing input/output (English abbreviation: I/O).
Background
When an existing complex storage system or other block devices are downloaded from a host I/O to a device driver, many subsystem designs need to process I/O, such as I/O scheduling, I/O splitting, I/O sequencing, I/O merging, I/O flow control, and the like. Therefore, the number of read/write (I/O) operations per second (I/O) becomes a key index for measuring the performance of the storage system, and I/O path verification for verifying the relative capability of the IOPS becomes very critical.
Currently, for the I/O path verification of the whole system block, the I/O input is based on the I/O issued by the client (such as the host) or the I/O issued by the array controller on the storage server side in the storage system. However, in the prior art, when issuing I/O based on the array controller, it is common to issue I/O to the array controller side for Logical Unit Number (LUN), or to issue I/O for a specific layer, such as a cache layer. That is, the solution can only develop specific tools for a few specific subsystems, and has limited application, insufficient versatility, and high maintenance cost.
How to provide a general I/O issuing method becomes a problem to be solved urgently at present.
Disclosure of Invention
The embodiment of the invention provides a method and a device for issuing I/O (input/output), which are used for at least solving the problems that when the I/O is issued on the side of the conventional array controller, only specific tools can be developed aiming at a few specific subsystems, the application is limited, the universality is not enough, and the maintenance cost is higher.
In order to achieve the above purpose, the embodiments of the present invention provide the following technical solutions:
in a first aspect, a method for issuing input/output I/O is provided, where the method includes:
acquiring and analyzing I/O mode setting information of a first service subsystem;
performing I/O instantiation on a pre-registered I/O input interface of the first service subsystem according to the I/O mode setting information of the first service subsystem to obtain an I/O stream corresponding to the I/O input interface of the first service subsystem;
the I/O stream is sent to the first service subsystem.
The first service subsystem can be any subsystem, so the method for issuing the I/O is a universal method for issuing the I/O, solves the problems that when the I/O is issued on the side of the conventional array controller, only specific tools can be developed for a few specific subsystems, the application is limited, the application is not universal enough, and the maintenance cost is high, can provide I/O input for any single subsystem, and can also provide I/O input for a plurality of subsystems simultaneously. Furthermore, because the I/O input of each stage of subsystem is independent, the upper stage subsystem is not required to be relied on, and the convergence of subsystem verification is accelerated.
In a second aspect, an apparatus for issuing input/output I/O is provided, the apparatus comprising: a processing unit and a transmitting unit;
the processing unit is used for acquiring and analyzing the I/O mode setting information of the first service subsystem;
the processing unit is further used for performing I/O instantiation on the I/O input interface of the first service subsystem which is registered in advance according to the I/O mode setting information of the first service subsystem to obtain an I/O stream corresponding to the I/O input interface of the first service subsystem;
and the sending unit is used for sending the I/O stream to the first service subsystem.
The first service subsystem can be any subsystem, so that the device for issuing the I/O can provide a universal method for issuing the I/O, solve the problems that when the I/O is issued on the side of the conventional array controller, only specific tools can be developed for a few specific subsystems, the application is limited, the application is not universal enough, and the maintenance cost is high, can provide I/O input for any single subsystem, and can also provide I/O input for a plurality of subsystems simultaneously. Furthermore, because the I/O input of each stage of subsystem is independent, the upper stage subsystem is not required to be relied on, and the convergence of subsystem verification is accelerated.
Optionally, with reference to the first aspect, before acquiring and analyzing the I/O mode setting information of the first service subsystem, the method may further include:
registering an I/O input interface with the first service subsystem.
Optionally, with reference to the second aspect, the processing unit is further configured to register an I/O input interface for the first service subsystem before acquiring and analyzing the I/O mode setting information of the first service subsystem.
Optionally, with reference to the first aspect, the second aspect, or any one of the foregoing optional implementation manners of the first aspect or the second aspect, in a possible implementation manner, the I/O mode setting information of the first service subsystem may be information obtained after the first service subsystem sets an I/O mode in a configuration file manner.
Optionally, with reference to the first aspect, the second aspect, or any one of the foregoing optional implementation manners of the first aspect or the second aspect, in another possible implementation manner, the I/O mode setting information of the first service subsystem may be information obtained after the first service subsystem sets an I/O mode in a command line manner.
Optionally, with reference to the first aspect, the second aspect, or any optional implementation manner of the first aspect or the second aspect, the I/O mode setting information may include I/O mode information and I/O operation information.
In a third aspect, an apparatus for issuing input/output I/O is provided, which includes: a processor, a memory, a bus, and a communication interface;
the memory is used for storing computer execution instructions, the processor is connected with the memory through the bus, and when the device runs, the processor executes the computer execution instructions stored in the memory, so that the device executes the method for issuing the I/O as described in the first aspect or any one of the optional implementation manners of the first aspect.
Since the I/O issuing apparatus provided in the embodiment of the present invention may be configured to execute the method for issuing an I/O in the first aspect or any one of the optional implementation manners of the first aspect, reference may also be made to the above method embodiment for obtaining technical effects, and details of the embodiment of the present invention are not repeated here.
In a fourth aspect, a readable medium is provided, which includes computer executable instructions, and when a processor of an I/O issuing device executes the computer executable instructions, the I/O issuing device performs the method for issuing I/O as described in the first aspect or any one of the alternatives of the first aspect.
These and other aspects of the invention will be apparent from, and elucidated with reference to, the embodiments described hereinafter.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
FIG. 1 is a schematic diagram of a conventional network storage system;
FIG. 2 is a diagram of a conventional I/O processing path;
fig. 3 is a first flowchart of a method for issuing an I/O according to an embodiment of the present invention;
FIG. 4 is a schematic view of a scenario for issuing I/O according to an embodiment of the present invention;
FIG. 5 is a second flowchart illustrating a method for issuing I/O according to an embodiment of the present invention;
FIG. 6 is a first schematic structural diagram of a device for issuing I/O according to an embodiment of the present invention;
fig. 7 is a second schematic structural diagram of a device for issuing an I/O according to an embodiment of the present invention.
Detailed Description
For clarity and conciseness of the following description of the various embodiments, a brief introduction to the relevant concepts is first given:
as shown in fig. 1, an existing network Storage (SAE) system includes a plurality of clients and a plurality of storage servers, where each storage server includes an array controller, and the clients communicate with the storage server through a switching network.
Specifically, in the storage server, the I/O processing path is as shown in fig. 2. In FIG. 2, the I/O processing hierarchy includes:
s1, Small Computer System Interface (SCSI) target frame (TGT) receives SCSI command from host and converts it into internal I/O request.
S2, the LUN forwards the I/O to the corresponding controller according to the working controller of the LUN accessed by the I/O.
S3, volume receives I/O forwarded from LUN, and processes the logic of Thin, increment, etc. to map the address space to block.
S4, the volume cache caches dirty data from the volume and provides read data prefetch hits and mirroring functions. The dirty data is specifically modified data.
S5, the extension maps the address space to a combination (CHUNK group, CKG) formed by multiple chunks from different hard disks in the same Disk Group (DG) according to certain Redundant Array of Independent Disks (RAID) attributes. The chunk refers to a physical space of a fixed size into which a hard disk space in the storage pool is divided.
S6, CKG forwards I/O to corresponding controller according to the control right of the extension, processes local I/O, provides RAID function for the local I/O, and maps the address space to the logic hard disk.
S7, stripe cache caches dirty data from CKG, and provides metadata cache, mirror and write hole (writehole) protection functions.
S8, Block Device Management (BDM) maps the I/O space of the logic hard disk to the I/O space of the physical hard disk, and provides functions of I/O sequencing, multipath and the like.
S9, the INI driver (driver, DRV) sends the I/O to the hard disk.
As described in the background art, in the prior art, when issuing I/O based on an array controller, the I/O is usually issued to a LUN in a side direction of the array controller, or issued to a specific layer, such as a cache layer. That is, the solution can only develop specific tools for a few specific subsystems, and has limited application, insufficient versatility, and high maintenance cost.
Based on this problem, embodiments of the present invention provide a method and an apparatus for issuing an I/O, so as to at least solve the above problem. The core idea is as follows: as can be seen from the above whole I/O processing flow, the subsystem inputs such as LUN, volume, cache, CKG, BDM and the like all have some common information, such as I/O operation type, starting sector, sector number and the like. Considering these common features, a general method for issuing I/O is implemented, and I/O input can be provided to each subsystem on the array controller side based on the features of the operation type (read operation or write operation) of the access I/O, the object identification, the starting sector, the number of sectors, the size of single I/O or sequential I/O or random I/O, I/O, the I/O load, and the like.
The technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.
As used in this application, the terms "component," "module," "system," and the like are intended to refer to a computer-related entity, either hardware, firmware, a combination of hardware and software, or software in execution. For example, a component may be, but is not limited to being: a process running on a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of example, both an application running on a computing device and the computing device can be a component. One or more components can reside within a process and/or thread of execution and a component can be localized on one computer and/or distributed between two or more computers. In addition, these components can execute from various computer readable media having various data structures thereon. The components may communicate by way of local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the internet with other systems by way of the signal).
This application is intended to present various aspects, embodiments or features around a system that may include a number of devices, components, modules, and the like. It is to be understood and appreciated that the various systems may include additional devices, components, modules, etc. and/or may not include all of the devices, components, modules etc. discussed in connection with the figures. Furthermore, a combination of these schemes may also be used.
Additionally, in the embodiments of the present invention, words such as "exemplary," "for example," and the like are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary," "e.g.," is not to be construed as preferred or advantageous over other embodiments or designs. Rather, use of the words "exemplary," "e.g.," is intended to present concepts in a concrete fashion.
The scenario described in the embodiment of the present invention is for more clearly illustrating the technical solution of the embodiment of the present invention, and does not form a limitation on the technical solution provided in the embodiment of the present invention, and it can be known by a person skilled in the art that with the occurrence of a new scenario, the technical solution provided in the embodiment of the present invention is also applicable to similar technical problems.
As shown in fig. 3, a schematic flow chart of a method for issuing an I/O according to an embodiment of the present invention includes steps S301 to S303:
s301, the device for issuing the I/O obtains and analyzes the I/O mode setting information of the first service subsystem.
S302, the device for issuing the I/O instantiates the I/O input interface of the first service subsystem which is registered in advance according to the I/O mode setting information of the first service subsystem, and obtains an I/O stream corresponding to the I/O input interface of the first service subsystem.
S303, the device for issuing the I/O stream sends the I/O stream to the first service subsystem.
Specifically, in step S301 in the embodiment of the present invention:
the first service subsystem may specifically be TGT, LUN, volume, cache, extend, CKG, BDM, or INI DRV in fig. 2, which is not specifically limited in this embodiment of the present invention.
The I/O mode setting information may specifically include I/O mode information and I/O operation information.
The I/O mode information may specifically include a starting sector, a number of sectors, a total bandwidth of single I/O or sequential I/O or random I/O, I/O, a start time or an end time, and the like, which is not specifically limited in this embodiment of the present invention.
The I/O operation information may specifically include start or stop, and the like.
It should be noted that the reason why the I/O operation information is carried is as follows: the I/O operation of each layered subsystem is independent, and the I/O operation information can be carried for conveniently and independently controlling each layered subsystem.
Optionally, in this embodiment of the present invention, the I/O mode setting information of the first service subsystem may be information obtained after the first service subsystem sets the I/O mode in a configuration file manner.
For example, the configuration file may be extensible markup language (English language) or other configuration template.
Or, the I/O mode setting information of the first service subsystem may be information obtained after the first service subsystem sets the I/O mode in a command line manner.
For example, the command line may be a diagnostic (English name: diagnose).
It should be noted that, for any of the two manners, it is first necessary to standardize the I/O mode setting arrangement output, so as to facilitate presentation of configuration files or command lines.
It should be noted that the above is only an exemplary way to enumerate two types of obtaining manners of the I/O mode setting information of the first service subsystem. Of course, the I/O mode setting information of the first service subsystem may also be obtained in other manners, which is not specifically limited in this embodiment of the present invention.
Specifically, in step S302 in the embodiment of the present invention:
the I/O instantiation method comprises the steps of performing I/O instantiation on a pre-registered I/O input interface of a first service subsystem according to I/O mode setting information of the first service subsystem, and actually performing instantiation output on input mode I/O through a certain algorithm according to the I/O mode setting information of the first service subsystem to generate a required I/O stream.
For example, if the I/O mode information is sequential I/O, the input mode I/O may be instantiated and output according to an incremental algorithm in the I/O address offset algorithm to generate the required I/O flow.
Specifically, in step S303 in the embodiment of the present invention:
after obtaining the I/O stream corresponding to the I/O input interface, the I/O stream may be sent to the first service subsystem corresponding to the I/O input interface.
For example, as shown in fig. 4, assuming that the first service subsystem is a LUN, the I/O stream may be issued to the LUN to provide I/O input for the LUN; assuming that the first service subsystem is the volume, the I/O stream can be sent to the volume to provide I/O input for the volume; assuming that the first service subsystem is the volume cache, the I/O stream may be sent to the volume cache to provide I/O input for the volume cache.
It can be seen that, in the embodiment of the present invention, the device issuing the I/O may provide I/O input for a single subsystem, or may provide I/O input for multiple subsystems simultaneously, which is not specifically limited in this embodiment of the present invention.
It should be noted that, in the embodiment of the present invention, because the device issuing the I/O only generates a relatively pure I/O flow, the subsystem is required to be maintained for the context on which the subsystem I/O depends and the I/O flow converted into the I/O structure actually used by the subsystem, which is not limited in the embodiment of the present invention.
Optionally, as shown in fig. 5, in the embodiment of the present invention, before the apparatus issuing an I/O acquires and parses the I/O mode setting information of the first service subsystem (step S301), step S304 may further be included:
s304, the device issuing the I/O registers the I/O input interface for the first service subsystem.
That is, in the embodiment of the present invention, the first service subsystem may request the I/O interface registration request from the I/O issuing device, and then the I/O issuing device registers the I/O interface with the first service subsystem.
Of course, the I/O input interface may be respectively registered by the I/O issuing device for each level of service subsystem, where each level of service subsystem includes the first service subsystem, and this is not particularly limited in this embodiment of the present invention.
It should be noted that, in the embodiment of the present invention, a device issuing an I/O may specifically be an array controller, may also be a device integrated in the array controller, and may also be a device independent from the array controller, which is not specifically limited in this embodiment of the present invention.
Based on the method for issuing the I/O provided by the embodiment of the invention, in the embodiment of the invention, a device for issuing the I/O acquires and analyzes the I/O mode setting information of the first service subsystem; and performing I/O instantiation on the I/O input interface of the first service subsystem which is registered in advance according to the I/O mode setting information of the first service subsystem, obtaining an I/O stream corresponding to the I/O input interface of the first service subsystem, and then sending the I/O stream to the first service subsystem. The first service subsystem can be any subsystem, so the method for issuing the I/O is a universal method for issuing the I/O, solves the problems that when the I/O is issued on the side of the conventional array controller, only specific tools can be developed for a few specific subsystems, the application is limited, the application is not universal enough, and the maintenance cost is high, can provide I/O input for any single subsystem, and can also provide I/O input for a plurality of subsystems simultaneously. Furthermore, because the I/O input of each stage of subsystem is independent, the upper stage subsystem is not required to be relied on, and the convergence of subsystem verification is accelerated.
As shown in FIG. 6, an I/O issuing apparatus 60 is provided in the embodiment of the present invention, and the apparatus 60 can be used to perform the steps performed by the I/O issuing apparatus in the I/O issuing method shown in FIG. 3 or FIG. 5. The I/O issuing device 60 may include units corresponding to corresponding steps, for example, and may include: a processing unit 601 and a transmitting unit 602.
The processing unit 601 is configured to obtain and parse the I/O mode setting information of the first service subsystem.
The processing unit 601 is further configured to perform I/O instantiation on a pre-registered I/O input interface of the first service subsystem according to the I/O mode setting information of the first service subsystem, and obtain an I/O stream corresponding to the I/O input interface of the first service subsystem.
A sending unit 602, configured to send the I/O stream to the first service subsystem.
Optionally, in this embodiment of the present invention, the processing unit 601 is further configured to register an I/O input interface for the first service subsystem before acquiring and analyzing the I/O mode setting information of the first service subsystem.
Optionally, in an embodiment of the present invention, in a possible implementation manner, the I/O mode setting information of the first service subsystem is information obtained after the first service subsystem sets an I/O mode in a manner of a configuration file.
Optionally, in an embodiment of the present invention, in another possible implementation manner, the I/O mode setting information of the first service subsystem is information obtained after the first service subsystem sets an I/O mode in a manner of a command line.
Optionally, in this embodiment of the present invention, the I/O mode setting information may include I/O mode information and I/O operation information.
It can be understood that the device 60 for issuing an I/O according to the embodiment of the present invention may correspond to the device for issuing an I/O in the method for issuing an I/O shown in fig. 3 or fig. 5, and the division and/or the functions of each unit in the device 60 for issuing an I/O according to the embodiment of the present invention are all for implementing the method flow for issuing an I/O shown in fig. 3 or fig. 5, and are not described herein again for brevity.
Since the I/O issuing device 60 in the embodiment of the present invention can be used to execute the above method process, the technical effect obtained by the device can also refer to the above method embodiment, and the details of the embodiment of the present invention are not repeated herein.
As shown in fig. 7, an embodiment of the present invention provides an apparatus 70 for issuing an I/O, where the apparatus 70 may include: a processor 701, a memory 702, a bus 703, and a communication interface 704.
The memory 702 is used for storing computer-executable instructions, the processor 701 is connected to the memory 702 through a bus, and when the apparatus 70 is operated, the processor 701 executes the computer-executable instructions stored in the memory 703, so that the apparatus 70 executes the method for issuing I/O as shown in fig. 3 or fig. 5. For a specific method for issuing I/O, reference may be made to the related description in the embodiments shown in fig. 3 or fig. 5, and details are not repeated here.
The processor 701 according to the embodiment of the present invention may be a Central Processing Unit (CPU), or may also be another general-purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a field-programmable gate array (FPGA), or another programmable logic device, discrete gate or transistor logic device, discrete hardware component, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. In addition, the processor may also be a dedicated processor, which may include at least one of a baseband processing chip, a radio frequency processing chip, and the like. Further, the special purpose processor may also include a chip having other special purpose processing functions of the I/O issuing device 70.
The memory 702 may include a volatile memory (RAM), such as a random-access memory (RAM); the memory 702 may also include a non-volatile memory (english: non-volatile memory), such as a read-only memory (english: read-only memory, english: ROM), a flash memory (english: flash memory), a hard disk (english: hard disk drive, english: HDD), or a solid-state drive (english: solid-state drive, english: SSD); additionally, memory 702 may also comprise a combination of the above types of memory.
The bus 703 may include a data bus, a power bus, a control bus, a signal status bus, and the like. In this embodiment, the various buses are illustrated in FIG. 7 as bus 703 for clarity of illustration.
The communication interface 704 may specifically be a transceiver on the I/O issuing device 70. The processor 701 transmits and receives data to and from other devices or modules, for example, subsystems of various levels, via the communication interface 704.
In a specific implementation process, each step in the method flow shown in fig. 3 or fig. 5 can be implemented by executing computer execution instructions in the form of software stored in the memory 702 by the processor 701 in the form of hardware. To avoid repetition, further description is omitted here.
Since the I/O issuing device 70 provided in the embodiment of the present invention can be used to execute the above method process, the technical effect obtained by the present invention can refer to the above method embodiment, and will not be described herein again.
Optionally, this embodiment further provides a readable medium, which includes a computer executable instruction, and when the processor of the I/O issuing device executes the computer executable instruction, the I/O issuing device may execute the I/O issuing method shown in fig. 3 or fig. 5. For a specific method for issuing I/O, reference may be made to the related description in the embodiments shown in fig. 3 or fig. 5, and details are not repeated here.
It will be clear to those skilled in the art that, for convenience and simplicity of description, the above-described apparatus is only illustrated by the division of the above functional modules, and in practical applications, the above-described function distribution may be performed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules to perform all or part of the above-described functions. For the specific working processes of the system, the apparatus, and the unit described above, reference may be made to the corresponding processes in the foregoing method embodiments, and details are not described here again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, a network device, or the like) or a processor (processor) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: u disk, removable hard disk, ROM, RAM), magnetic disk or optical disk, etc.
The above description is only for the specific embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention, and all the changes or substitutions should be covered within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the appended claims.

Claims (9)

1. A method for issuing input/output (I/O), the method comprising:
acquiring and analyzing I/O mode setting information of a first service subsystem; the I/O mode setting information is common information which is possessed by each subsystem input; the I/O mode setting information includes I/O mode information and I/O operation information; the I/O mode information includes at least one of: a starting sector, a sector number, a single I/O or sequential I/O or random I/O, an overall I/O bandwidth, a start time or an end time; the I/O operation information comprises start or stop;
performing I/O instantiation on a pre-registered I/O input interface of the first service subsystem according to the I/O mode setting information of the first service subsystem to obtain an I/O stream corresponding to the I/O input interface of the first service subsystem;
and sending the I/O stream to the first service subsystem.
2. The method of claim 1, prior to said obtaining and parsing I/O mode setting information for the first service subsystem, further comprising:
registering an I/O input interface with the first service subsystem.
3. The method according to claim 1 or 2, wherein the I/O mode setting information of the first service subsystem is information obtained after the I/O mode of the first service subsystem is set by means of a configuration file.
4. The method according to claim 1 or 2, wherein the I/O mode setting information of the first service subsystem is information obtained after the I/O mode of the first service subsystem is set by means of a command line.
5. An apparatus for issuing input/output I/O, the apparatus comprising: a processing unit and a transmitting unit;
the processing unit is used for acquiring and analyzing the I/O mode setting information of the first service subsystem; the I/O mode setting information is common information which is possessed by each subsystem input; the I/O mode setting information includes I/O mode information and I/O operation information; the I/O mode information includes at least one of: a starting sector, a sector number, a single I/O or sequential I/O or random I/O, an overall I/O bandwidth, a start time or an end time; the I/O operation information comprises start or stop;
the processing unit is further configured to perform I/O instantiation on a pre-registered I/O input interface of the first service subsystem according to the I/O mode setting information of the first service subsystem, and obtain an I/O stream corresponding to the I/O input interface of the first service subsystem;
and the sending unit is used for sending the I/O stream to the first service subsystem.
6. The apparatus of claim 5,
the processing unit is further configured to register an I/O input interface for the first service subsystem before acquiring and analyzing the I/O mode setting information of the first service subsystem.
7. The apparatus according to claim 5 or 6, wherein the I/O mode setting information of the first service subsystem is information obtained after the I/O mode of the first service subsystem is set by means of a configuration file.
8. The apparatus of claim 5 or 6, wherein the I/O mode setting information of the first service subsystem is information obtained after the I/O mode of the first service subsystem is set by means of a command line.
9. An apparatus for issuing input/output I/O, the apparatus comprising: a processor, a memory, a bus, and a communication interface;
the memory is used for storing computer execution instructions, the processor is connected with the memory through the bus, and when the device runs, the processor executes the computer execution instructions stored by the memory to enable the device to execute the method for issuing the I/O according to any one of claims 1-4.
CN201511000512.9A 2015-12-28 2015-12-28 Method and device for issuing I/O (input/output) Active CN106919341B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511000512.9A CN106919341B (en) 2015-12-28 2015-12-28 Method and device for issuing I/O (input/output)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511000512.9A CN106919341B (en) 2015-12-28 2015-12-28 Method and device for issuing I/O (input/output)

Publications (2)

Publication Number Publication Date
CN106919341A CN106919341A (en) 2017-07-04
CN106919341B true CN106919341B (en) 2020-04-21

Family

ID=59455667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511000512.9A Active CN106919341B (en) 2015-12-28 2015-12-28 Method and device for issuing I/O (input/output)

Country Status (1)

Country Link
CN (1) CN106919341B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614035A (en) * 2018-11-01 2019-04-12 郑州云海信息技术有限公司 A kind of method and system for supporting settlement server storage medium sequence flexible configuration
CN115543937B (en) * 2022-03-22 2023-07-11 荣耀终端有限公司 File defragmentation method and electronic device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102169436A (en) * 2011-05-10 2011-08-31 清华大学 General control kernel system used for integrated circuit manufacturing equipment
CN102177509A (en) * 2008-10-09 2011-09-07 微软公司 Virtualized storage assignment method
US8544027B2 (en) * 2010-07-30 2013-09-24 Sap Ag Logical data model abstraction in a physically distributed environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102177509A (en) * 2008-10-09 2011-09-07 微软公司 Virtualized storage assignment method
US8544027B2 (en) * 2010-07-30 2013-09-24 Sap Ag Logical data model abstraction in a physically distributed environment
CN102169436A (en) * 2011-05-10 2011-08-31 清华大学 General control kernel system used for integrated circuit manufacturing equipment

Also Published As

Publication number Publication date
CN106919341A (en) 2017-07-04

Similar Documents

Publication Publication Date Title
US8904061B1 (en) Managing storage operations in a server cache
US8751741B2 (en) Methods and structure for implementing logical device consistency in a clustered storage system
US11372566B2 (en) Method and device for storing data
US9043776B2 (en) Transferring files to a baseboard management controller (‘BMC’) in a computing system
US20110197011A1 (en) Storage apparatus and interface expansion authentication method therefor
US9146793B2 (en) Management system and management method
US11726770B2 (en) Method, device, and apparatus for updating application program, and storage medium
EP2372521A2 (en) Remote direct storage access
EP2857952A1 (en) Method for processing input/output request, host, server, and virtual machine
US20130311434A1 (en) Method, apparatus and system for data deduplication
US9430330B1 (en) System and method for managing environment metadata during data backups to a storage system
US10223305B2 (en) Input/output computer system including hardware assisted autopurge of cache entries associated with PCI address translations
US9747149B2 (en) Firmware dump collection from primary system dump device adapter
US10063425B1 (en) Event-based in-band host registration
CN104731635A (en) Virtual machine access control method and virtual machine access control system
US11656802B2 (en) Distributed block storage service command processing method, apparatus, device and medium
CN106919341B (en) Method and device for issuing I/O (input/output)
US9152584B2 (en) Providing bus resiliency in a hybrid memory system
US9384086B1 (en) I/O operation-level error checking
CN111767114B (en) Method and device for creating cloud host, computer system and readable storage medium
US7822959B2 (en) Method for a SCSI target controller to safely shut down an operating system by the use of a standard SCSI initiator command
US9191267B2 (en) Device management for determining the effects of management actions
US20210149799A1 (en) Expansion of hba write cache using nvdimm
CN112035159A (en) Configuration method, device, equipment and storage medium of audit model
US9158735B1 (en) Techniques for generating unique identifiers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant