WO2015180598A1 - 对存储设备的访问信息处理方法和装置、系统 - Google Patents

对存储设备的访问信息处理方法和装置、系统 Download PDF

Info

Publication number
WO2015180598A1
WO2015180598A1 PCT/CN2015/079675 CN2015079675W WO2015180598A1 WO 2015180598 A1 WO2015180598 A1 WO 2015180598A1 CN 2015079675 W CN2015079675 W CN 2015079675W WO 2015180598 A1 WO2015180598 A1 WO 2015180598A1
Authority
WO
WIPO (PCT)
Prior art keywords
access
address
storage device
access request
physical address
Prior art date
Application number
PCT/CN2015/079675
Other languages
English (en)
French (fr)
Inventor
魏巍
陈明宇
蒋德钧
熊劲
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2015180598A1 publication Critical patent/WO2015180598A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices

Definitions

  • the embodiments of the present invention relate to the field of computer storage technologies, and in particular, to a method, device, and system for processing access information to a storage device.
  • the access method for the storage medium mainly includes two types.
  • the first method is to access the storage medium through the kernel.
  • FIG. 8 is a system architecture diagram of the access method for the storage medium provided by the prior art, such as Figure 8 shows:
  • the core sends the virtual address to the Memory Management Unit (MMU).
  • MMU queries the Translation Lookaside Buffer (TLB) table and finds that the virtual address to be accessed does not have a physical address.
  • TLB Translation Lookaside Buffer
  • the MMU sends a page fault interrupt to the core, interrupts the core response, protects the running environment, and falls into the kernel.
  • the physical memory allocation program in the kernel (located in the operating system OS as shown in Figure 8) assigns a physical address to the virtual address and creates a page table.
  • the page table stores the correspondence between the established virtual address and the physical address
  • the page table is loaded into the TLB table, that is, the TLB table is refreshed
  • the kernel sends the interrupt program to the core, the core recovery process running environment
  • the MMU sends the virtual address
  • the MMU sends a request for accessing the physical address to the cache.
  • the cache sends a memory access request to the memory controller, and the memory controller sends the memory to the dynamic random access memory (( Dynamic Random Access Memory (DRAM) sends an access request, DRAM responds to the access request, and if it is a read, passes data from the DRAM through the memory controller, cache Directly reach the core.
  • DRAM Dynamic Random Access Memory
  • FIG. 9 is a system architecture diagram of another access method for the storage device provided by the prior art, as shown in FIG.
  • the processor sends commands to the input/output (I/O) bus.
  • the I/O bus sends commands to the corresponding I/O ports.
  • the I/O interface accepts commands from the I/O ports.
  • the I/O interface will The command is converted to a disk command and sent to the disk controller.
  • the disk controller sends the command to the DMA.
  • the DMA operates the memory bus to transfer the data between the disk and the memory.
  • the DMA completes the data transfer and returns the message to the disk controller.
  • the interrupt is transmitted to the processor in turn, and the nuclear data transmission is completed.
  • the processor since the operating system performs physical memory allocation, when the physical page is missing and the page fault is interrupted, the processor is trapped in the kernel for a long time, and the operating environment is protected and restored before and after the interruption, and the overhead is large.
  • the processor since the DRAM is mounted on the I/O bus, the processor needs to go through a multi-layer path to complete the copying of the DRAM data to the memory, and the DMA competes with the processor for the memory bus, which is expensive.
  • the embodiments of the present invention provide a method and a device for processing access information of a storage device, which are used to solve the problem of large memory overhead in the process of accessing the UAS, and can improve the access performance of the UAS.
  • the first aspect provides a method for processing access information to a storage device, where the storage device includes one or more storage media, including:
  • the processor of the access device determines, according to the virtual address included in the storage device access request instruction initiated by the process, the storage device identifier corresponding to the virtual address;
  • the processor of the access device determines, according to the virtual address included in the storage device access request initiated by the process, the storage device identifier corresponding to the virtual address, including:
  • the processor of the access device determines, according to the virtual address included in the access request initiated by the process, whether there is a physical address corresponding to the virtual address;
  • the access address included in the generated access request message is a virtual address, and the access request message includes a first message attribute and a process number;
  • the access address included in the generated access request message is a physical address, and the access request message includes a second message attribute.
  • the processor of the access device determines, according to the virtual address included in the storage device access request instruction initiated by the process, the storage device identifier corresponding to the virtual address, including:
  • a second aspect provides a method for processing access information to a storage device, where the storage device includes one or more storage media, including:
  • the processor of the storage device receives an access request message sent by a processor of the access device, where the access request message includes an access address;
  • An access request operation is performed in a storage medium pointed to by the access address according to the access address.
  • the access request message further includes a first message attribute and a process number, and performing an access request operation in the storage medium pointed to by the access address according to the access address, including:
  • the processor of the storage device determines, according to the first message attribute, that the access address included in the access request message is a virtual address
  • the allocation policy includes a physical address corresponding to the virtual address and a storage medium pointed to by the physical address;
  • An access request operation is performed in a storage medium pointed to by the physical address according to the determined physical address.
  • the access request message further includes a second message attribute, and performing an access request operation in the storage medium pointed to by the access address according to the access address, including:
  • the processor of the storage device determines, according to the second message attribute, that the access address included in the access request message is a physical address
  • An access request operation is performed in a storage medium pointed to by the physical address.
  • the process information table corresponding to the process ID is queried according to the process ID, and after determining the physical address corresponding to the virtual address, the method includes:
  • a processor of the storage device establishes a correspondence between the virtual address and the physical address and a storage medium pointed by the physical address;
  • the correspondence is sent to the processor of the access device.
  • a third aspect provides an access information processing apparatus for a storage device, where the storage device includes one or more storage media, including:
  • a determining module configured to determine, according to a virtual address included in the storage device access request instruction initiated by the process, a storage device identifier corresponding to the virtual address
  • a generating module configured to generate an access request message, where the access request message includes an access address
  • a sending module configured to send, according to the storage device identifier determined by the determining module, an access request message generated by the generating module to a processor of the storage device pointed to by the storage device identifier, so that the processor of the storage device is configured according to An access address included in the access request message performs an access request operation in a storage medium pointed to by the access address.
  • the determining module is specifically configured to:
  • the access address included in the access request message generated by the generating module is a virtual address, and the access request message includes the first message attribute and the process. number;
  • the access address included in the access request message generated by the generating module is a physical address, and the access request message includes a second message attribute.
  • the determining module is specifically configured to: query a segment table, where the segment table stores a correspondence between the virtual address and the storage device identifier; and obtains the virtual relationship from the segment table Ground The storage device ID corresponding to the address.
  • the device further includes:
  • a receiving module configured to receive a correspondence between the virtual address sent by the processor of the storage device and the physical address and a storage medium pointed by the physical address.
  • a fourth aspect provides an access information processing apparatus for a storage device, where the storage device includes one or more storage media, including:
  • a receiving module configured to receive an access request message sent by a processor of the access device, where the access request message includes an access address
  • an operation module configured to perform an access request operation in a storage medium pointed to by the access address according to the access address.
  • the access request message further includes a first message attribute and a process number, where the operation module is specifically configured to:
  • the allocation policy includes a physical address corresponding to the virtual address and a storage medium pointed to by the physical address;
  • An access request operation is performed in a storage medium pointed to by the physical address according to the determined physical address.
  • the access request message further includes a second message attribute, where the operation module is specifically configured to: determine, according to the second message attribute, that the access address included in the access request message is a physical address; An access request operation is performed in a storage medium pointed to by the physical address.
  • the device further includes:
  • a sending module configured to send, to the processor, a correspondence between the virtual address and the physical address and a storage medium pointed by the physical address.
  • a fifth aspect provides an access information processing system for a storage device, including an access device and a storage device, the access device including a processor, the storage device including a processor, and the storage device includes more than one type of storage medium;
  • the processor of the access device includes the access information processing device for the storage device described in the above third aspect;
  • the processor of the storage device includes the access information processing device for the storage device described in the above fourth aspect.
  • the processor of the access device directly determines the storage device identifier corresponding to the virtual address according to the virtual address included in the access request initiated by the process;
  • the processor of the storage device pointed to by the storage device identifier sends an access request message, so that the processor of the storage device performs an access request operation in a storage medium pointed by the access address according to an access address included in the access request message.
  • a processor that does not have access to the device needs to be stuck in the kernel to allocate physical addresses for a long time, reducing the overhead caused by the physical space allocated by the kernel;
  • the embodiment of the present invention does not need to enter the kernel and go through the multi-layer path to complete the access request to the storage device including the storage medium, so there is no case where the DMA competes with the processor for the memory bus. It also reduces access overhead and improves access performance for all-in-one storage devices.
  • FIG. 1 is a schematic flowchart of a method for processing access information of a storage device according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of a method for processing access information of a storage device according to another embodiment of the present invention.
  • FIG. 3 is a system architecture diagram of a method for processing access information of a storage device according to an embodiment of the present invention
  • FIG. 4 is a system architecture diagram of a method for processing access information of a storage device according to another embodiment of the present invention.
  • FIG. 5 is a schematic diagram of an interface between a UAS and a message type memory controller and an operating system according to an embodiment of the present disclosure
  • FIG. 6 is a schematic structural diagram of an access information processing apparatus for a storage device according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of an access information processing apparatus for a storage device according to another embodiment of the present invention.
  • FIG. 8 is a system architecture diagram of a method for accessing a storage device provided by the prior art
  • FIG. 9 is a system architecture diagram of another method for accessing a storage device provided by the prior art.
  • the storage device in the embodiment of the present invention is a unified storage device (UAS) including a processor and a plurality of storage media, and is directly connected to the memory bus.
  • the processor of this UAS can access any storage medium (including disk) in the UAS through instructions.
  • UAS simplifies the storage interface in the storage architecture, improves the scalability of the storage architecture, and facilitates the full use of new storage media.
  • UAS has a processor that can include more intelligent data management functions, such as management of physical space and management of data cache.
  • the embodiment of the present invention provides a method for processing access information to a storage device from the access device side, including:
  • the processor of the access device determines, according to the virtual address included in the storage device access request initiated by the process, the storage device identifier corresponding to the virtual address;
  • the foregoing implementation solution solves the problem that the processor of the access device needs to be trapped in the physical address of the kernel for a long time, and reduces the overhead caused by the physical space allocated by the kernel. Further, for the external storage medium such as a disk, the embodiment of the present invention does not need to be used. After entering the kernel and going through the multi-layer path to complete the access request to the storage device containing the storage medium, there is no DMA and processor competing for the memory bus, and the access overhead can be reduced, and the access performance of the integrated storage device is improved.
  • FIG. 1 is a schematic flowchart of a method for processing access information of a storage device according to an embodiment of the present invention. As shown in FIG.
  • the processor of the access device determines, according to the virtual address included in the storage device access request instruction initiated by the process, whether there is a physical address corresponding to the virtual address;
  • the processor of the access device queries the TLB table corresponding to the process ID according to the virtual address included in the access request instruction initiated by the process and the process ID of the process, and determines whether the virtual table exists in the TLB table. If the physical address corresponding to the virtual address does not exist, step 102 is performed, and if there is a physical address corresponding to the virtual address, the physical address is executed. Step 104.
  • the processor of the access device is configured with a TLB table. For example, when the processor of the storage device has assigned a corresponding physical address to the virtual address included in the access request initiated by the process, the processor of the storage device may Transmitting the mapping relationship between the virtual address and the physical address and the correspondence between the storage media pointed by the physical address to the processor of the access device, so that the processor accessing the device timely the virtual address and the physical address
  • the mapping relationship between the mapping relationship and the storage medium pointed to by the physical address is saved in the TLB table corresponding to the process number.
  • the processor of the access device receives the segment table corresponding to the process number sent by the operating system, where the segment table includes the operating system preset The storage device identifier corresponding to the virtual address; therefore, the processor of the access device may query the segment table corresponding to the process ID to determine the storage device identifier corresponding to the virtual address.
  • the access request message generated in the step 103 includes an access address, a process number, and a first message attribute, where the first message attribute is used to indicate that the access address included in the access request message is in the access request initiated by the process. Determining, by the processor of the storage device, the process information table corresponding to the process ID, determining a physical address corresponding to the virtual address according to the first message attribute; and determining the physical address according to the physical address And performing an access request operation on the storage medium pointed by the physical address; further, the access request message further includes an operation indication, to instruct the storage device to perform a corresponding access request operation according to the operation indication.
  • the processor of the storage device queries the process information table corresponding to the process ID according to the first message attribute, and obtains an allocation policy corresponding to the virtual address, where the allocation policy includes a physical address corresponding to the virtual address and a storage medium pointed to by the physical address; and a physical medium corresponding to the virtual address is allocated in the storage medium according to the allocation policy address. Thereafter, a physical address corresponding to the virtual address is determined according to the process information table; and an access request corresponding to the operation indication is performed in the storage medium according to the determined physical address.
  • step 101 the processor of the access device queries the TLB table corresponding to the process ID according to the virtual address included in the access request initiated by the process and the process ID of the process, and determines the presence and location in the TLB table.
  • the processor of the access device queries the TLB table corresponding to the process ID according to the virtual address included in the access request initiated by the process and the process ID of the process, and determines the presence and location in the TLB table.
  • the storage medium pointed to by the physical address may be determined, and the storage device identifier including the storage medium may be determined; for this, the processing of the access device stores the physical address and the storage medium pointed thereto Correspondence relationship, and the correspondence between the storage medium and the storage device identifier including the storage medium.
  • the generated access request message includes an access address and a second message attribute, where the second message attribute is used to indicate that the access address included in the access request message is the physical address corresponding to the virtual address determined in step 101, and Instructing the processor of the storage device to perform an access request operation in a storage medium pointed by the physical address according to the second message attribute; further, the access request message further includes an operation indication for indicating the storage device A corresponding access request operation is performed according to the operation instruction.
  • the processor of the storage device performs an access request corresponding to the operation indication in a storage medium pointed by the physical address according to the second message attribute.
  • the processor of the embodiment of the present invention determines, according to the virtual address included in the access request initiated by the process, whether there is a physical address corresponding to the virtual address; if there is no physical address corresponding to the virtual address, determining The storage device identifier corresponding to the virtual address is sent to the storage device pointed to by the storage device identifier according to the storage device identifier, so that the storage device queries the process ID according to the first message attribute.
  • Corresponding process information table determining a physical address corresponding to the virtual address; performing an access request operation in a storage medium pointed to by the physical address according to the determined physical address.
  • the processor of the access device when it is determined that the physical address corresponding to the virtual address does not exist, the processor of the access device does not need to be trapped in the kernel to allocate the physical address for a long time, but determines the storage device identifier corresponding to the virtual address; Transmitting, by the processor of the storage device pointed to by the storage device identifier, an access request message including a virtual address, and performing physical space allocation by the processor of the storage device, which may reduce overhead caused by the physical space allocated by the kernel;
  • the embodiment of the present invention does not need to enter the kernel and go through the multi-layer path to complete the access request for the storage device including the storage medium, so there is no case where the DMA competes with the processor for the memory bus. It can reduce the access overhead and improve the access performance of the all-in-one storage device.
  • the embodiment of the present invention provides a method for processing access information to a storage device from a storage device side, including:
  • the processor of the storage device receives an access request message sent by a processor of the access device, where the access request message includes an access address;
  • the embodiment of the present invention does not need to enter the kernel. After the multi-layer path can complete the access request to the storage device containing the storage medium, there is no DMA and the processor competing for the memory bus, and the access overhead can be reduced, and the access performance of the integrated storage device is improved.
  • FIG. 2 is a schematic flowchart of a method for processing access information of a storage device according to another embodiment of the present invention. As shown in FIG. 2 , the method includes:
  • the processor of the storage device receives an access request message sent by a processor of the access device.
  • the access request message in this embodiment includes an access address, a process ID, and a first message attribute; or the access request message in this embodiment includes an access address and a second message. Attributes;
  • the first message attribute is used to indicate that the access address included in the access request message is a virtual address, and the processor of the storage device is instructed to query the process information table corresponding to the process number according to the process number, and determine The physical address corresponding to the virtual address performs an access request operation in a storage medium pointed to by the physical address according to the determined physical address;
  • the second message attribute is used to indicate that the access address included in the access request message is a physical address, and the processor of the storage device is instructed to perform access in the storage medium pointed by the physical address according to the second message attribute. Request an action.
  • the access request message in this embodiment further includes an operation indication, to instruct the storage device to perform a corresponding access request operation according to the operation indication.
  • the method includes:
  • Query according to the first message attribute, a process information table corresponding to the process ID, and determine a physical address corresponding to the virtual address.
  • step 202 it includes:
  • the processor of the storage device has received the process information table corresponding to the process ID sent by the operating system, where the process information table includes an allocation policy corresponding to the virtual address preset by the operating system;
  • the allocation policy includes a physical address corresponding to the virtual address and a storage medium pointed to by the physical address.
  • the method further includes:
  • the processor of the storage device may save the mapping relationship between the virtual address and the physical address to a page table corresponding to the process number; further, when the processor of the storage device receives the access sent by the processor When requesting the message, querying the page table corresponding to the process number according to the process number included in the access request message, and determining a physical address corresponding to the virtual address;
  • the processor of the storage device may further send a mapping relationship between the virtual address and the physical address to a processor of the access device, so that a processor of the access device sets the virtual address and the physical address
  • the mapping relationship is cached to a conversion query cache TLB table corresponding to the process number in.
  • the storage device queries the process information table corresponding to the process ID, and determines the physical address corresponding to the virtual address, according to the determined physical An address, a physical address corresponding to the virtual address is allocated in a storage medium pointed to by the physical address, and a write operation is performed in the storage medium according to the allocated physical address.
  • the storage device queries the process information table corresponding to the process ID, determines a physical address corresponding to the virtual address, and then, according to the determined physical address, The storage medium pointed to by the physical address can perform a read operation.
  • the storage device of this embodiment includes one or more storage media.
  • the storage device in this embodiment stores a correspondence between a physical address and a corresponding storage medium.
  • the method further includes:
  • the operation indication includes a read operation or a write operation
  • performing an access request corresponding to the operation indication in a storage medium pointed by the physical address includes: reading in a corresponding storage medium according to the physical address Take or write data.
  • the processor of the access device when it is determined that there is no physical address corresponding to the virtual address, the processor of the access device does not need to be trapped in the kernel to allocate the physical address for a long time. Determining, by the processor of the storage device pointed to by the storage device identifier, an access request message including a virtual address, which is completed by a processor of the storage device, according to the storage device identifier Physical space allocation can reduce the overhead caused by the kernel to allocate physical space;
  • the processor of the storage device receives the access request sent by the processor accessing the device. And if the access request message includes an access address, a process number, and a first message attribute; determining, according to the first message attribute, the access address is a virtual address, further querying a process information table corresponding to the process number, and determining a physical address corresponding to the virtual address; performing an access request operation in a storage medium pointed to by the physical address according to the determined physical address; for an external storage medium such as a disk, the embodiment of the present invention does not need to enter the kernel and pass through
  • the multi-layer path can complete the access request to the storage medium storage device, so there is no DMA and the processor competing for the memory bus, and the access overhead can be reduced, and the access performance of the integrated storage device is improved.
  • FIG. 3 is a system architecture diagram of a method for processing access information of a storage device according to an embodiment of the present invention.
  • the processor connects multiple UAS devices through a memory bus, and each UAS device includes multiple storage media ( For example, DRAM, NVM, SSD, DISK).
  • each UAS device includes multiple storage media ( For example, DRAM, NVM, SSD, DISK).
  • an access method for an integrated storage device that does not allocate a physical address is implemented as follows:
  • the central processing unit CPU of the access device sends an access request containing the virtual address to the MMU;
  • the CPU may send an access request including a virtual address and a process ID to the MMU when the CPU receives the access request including the virtual address initiated by the process.
  • the access request further includes an operation indication initiated by the process, such as a write operation or Read operation
  • the MMU queries the TLB table to determine that there is no physical address corresponding to the virtual address
  • the MMU queries the segment table to determine the UAS device identifier corresponding to the virtual address.
  • the MMU sends the requested virtual address, the operation indication and the process ID, and the device identifier of the UAS to the message memory controller;
  • the message type memory controller sends an access request message to the UAS corresponding to the UAS device identifier
  • the access request message includes a virtual address, an operation indication, a process ID, and a first message attribute, where the first message attribute is used to instruct the UAS to allocate a corresponding physical address according to the virtual address in the access request message;
  • the UAS processor accepts the access request message, and parses the virtual address, the operation indication, the process number, and the first message attribute included in the access request message.
  • the UAS queries the corresponding process information table according to the process ID, determines a physical address corresponding to the virtual address, and a storage medium pointed to by the physical address, and then sends a allocation space command to the physical allocation module.
  • the physical allocation module allocates a physical address to the virtual address in the corresponding storage medium, and creates a page table, where the page table includes a mapping relationship between the virtual address and the corresponding physical address;
  • the physical allocation module sends the newly created page table to the processor to update the TLB table, and returns the allocation completion message to the UAS processor;
  • the processor of the UAS performs an access request corresponding to the operation indication according to the operation indication in the access request message and the physical address just assigned.
  • the UAS processor returns the data to the memory controller via the memory bus, which returns the data to the CPU and caches the data in a cache.
  • FIG. 4 is a system architecture diagram of a method for processing access information of a storage device according to another embodiment of the present invention.
  • the processor connects multiple UAS devices through a memory bus, and each UAS device includes multiple storage media. (eg DRAM, NVM, SSD, DISK), etc.
  • the implementation process of the access method of the integrated storage device with the assigned physical address is as follows:
  • the CPU sends an access request containing the virtual address to the MMU.
  • the CPU may send an access request including a virtual address and a process ID to the MMU when the CPU receives the access request including the virtual address initiated by the process.
  • the access request further includes an operation indication initiated by the process, such as a write operation or Read operation.
  • the MMU queries the TLB table to find the physical address corresponding to the virtual address.
  • the CPU accesses the cache block cache according to the physical address. If the cache misses, that is, the cache does not have the physical address and the corresponding data, the message type memory controller sends an access request message to the UAS that will include the physical address according to the physical address.
  • the access request message includes a physical address, an operation indication, and a second message attribute, where the second message attribute is used to instruct the UAS to perform a range request operation on the corresponding storage medium according to the physical address.
  • the processor of the UAS receives the access request message, and performs an access request corresponding to the operation indication in the corresponding storage medium according to the physical address.
  • the UAS controller will transfer the data back to the CPU and perform cache replacement.
  • FIG. 5 is a schematic diagram of an interface between a UAS and a message type memory controller and an operating system according to an embodiment of the present invention, as shown in FIG. 5:
  • the embodiment of the present invention further provides an interface between the UAS and the message type memory controller in the processor, and accepts an access request message delivered by the message type memory controller.
  • the specific content of the access request message includes, for example:
  • the access request message When the UAS has not been assigned a physical address, that is, a virtual address access request, the access request message includes: a virtual address, a process number, an operation indication of the request, and a first message attribute (identifying that the access request message includes a virtual address, The UAS needs to be assigned the corresponding physical address).
  • the access request message When the UAS has been assigned a physical address, that is, a physical address access request, the access request message includes: a physical address, an operation indication of the request, and a second message attribute (identifying that the access request message includes a physical address, and the UAS is based on the physical address Perform the access operation).
  • the embodiment of the present invention further provides an interface between the UAS and an operating system (OS), and the interface transmits content including, for example, a start and end address of the virtual space applied by the application, a storage policy, a process ID, and Process number of the destruction process, etc.
  • OS operating system
  • the embodiment of the present invention further provides a page table, where the page table includes: a mapping relationship between the virtual address and its corresponding physical address, and a mapping relationship between the physical address and its corresponding storage medium.
  • the embodiment of the present invention further provides a process information table, where each process includes a process information table, which is distinguished by a process number, where each process information table is
  • An allocation policy includes, for example, a virtual address, where the allocation policy includes a physical address corresponding to the virtual address and a corresponding physical medium, a cache policy, and the like.
  • the embodiment of the present invention may add a segment table in a paging unit of the processor, where each process includes a segment table, and each item in the segment table represents a certain virtual address of the process and a UAS device identifier.
  • the mapping relationship; the items in the segment table are created by the OS when the virtual space is allocated, that is, the OS determines which UAS device corresponds to a virtual address.
  • Table 1 shows an example of the format of the segment table:
  • segment table of the embodiment of the present invention may also be stored in a UAS, and the start address is stored in a special register in the processor; wherein the UAS device identifier may use, for example, a UAS device address.
  • Table 2 shows the mapping between the UAS device ID and the UAS device address:
  • each UAS device in the embodiment of the present invention may be mounted on a memory bus in common.
  • the starting address in each UAS device may not correspond to a certain storage medium in the device, but may be used to identify the UAS.
  • the device address of the device may be used to identify the UAS.
  • the physical allocation module allocates a physical address to the virtual address
  • the specific steps of creating a page table include:
  • the process information table of the process maintained in the UAS is located according to the process number delivered by the CPU;
  • a physical address is allocated in the corresponding storage medium, and a page table storing a mapping relationship between the virtual address and the physical address is created.
  • the specific steps of the UAS processor performing the access request according to the access request message include:
  • the UAS processor concatenates the assigned physical address and the operation indication (read or write) of the access request delivered by the CPU into an access request, assuming that the access request is Qa;
  • the UAS executes the request in the access request queue according to the scheduling algorithm, and finally executes Qa.
  • the embodiment of the present invention can implement a path for uniformly accessing different storage media, and is suitable for the UAS application scenario, that is, the CPU can directly access any storage medium in the UAS; shorten the path of accessing different storage media such as SSD and NVM, wherein the UAS is responsible for Physical address allocation reduces the number of times the kernel is trapped during access, which reduces memory overhead and improves UAS access performance.
  • FIG. 6 is a schematic structural diagram of an access information processing apparatus for a storage device according to an embodiment of the present invention. As shown in FIG. 6, the method includes:
  • a determining module 61 configured to determine, according to a virtual address included in the access request instruction initiated by the process, a storage device identifier corresponding to the virtual address;
  • a generating module 62 configured to generate an access request message, where the access request message includes an access address
  • the sending module 63 is configured to send, according to the storage device identifier determined by the determining module, an access request message generated by the generating module to a processor of the storage device pointed to by the storage device identifier, so that the processor of the storage device An access request operation is performed in a storage medium pointed to by the access address according to the access address.
  • the determining module 61 is specifically configured to:
  • determining the physical address according to the physical address A storage medium pointed to by the physical address, and determining, according to the storage medium, a storage device identifier including the storage medium.
  • the access address included in the access request message generated by the generating module 62 is a virtual address, and the access request message includes the first message attribute and Process number
  • the access address included in the access request message generated by the generating module 62 is a physical address, and the access request message includes a second message attribute.
  • the determining module 61 is further configured to: query a segment table, where the segment table stores a correspondence between the virtual address and the storage device identifier; and obtains a location from the segment table.
  • the device further includes:
  • the receiving module 64 is configured to receive a correspondence between the virtual address sent by the processor of the storage device and the physical address and a storage medium pointed by the physical address.
  • the device in the embodiment of the present invention may perform the method described in the embodiment shown in FIG. 1 , and the technical principles and technical effects of the implementation are not described herein.
  • FIG. 7 is a schematic structural diagram of an access information processing apparatus for a storage device according to another embodiment of the present invention. As shown in FIG. 7, the method includes:
  • the receiving module 71 is configured to receive an access request message sent by a processor of the access device, where the access request message includes an access address;
  • the operation module 72 is configured to perform an access request operation in a storage medium pointed to by the access address according to the access address.
  • the operation module 72 is specifically configured to:
  • the allocation policy includes a physical address corresponding to the virtual address and a storage medium pointed to by the physical address;
  • An access request operation is performed in a storage medium pointed to by the physical address according to the determined physical address.
  • the operation module 72 is specifically configured to: determine, according to the second message attribute, that the access address included in the access request message is a physical address; An access request operation is performed in a storage medium pointed to by the physical address.
  • the device further includes:
  • the establishing module 73 is configured to establish a correspondence between the virtual address and the physical address and a storage medium pointed by the physical address;
  • the sending module 74 is configured to send, to the processor, a correspondence between the virtual address and the physical address and a storage medium pointed by the physical address.
  • the device in the embodiment of the present invention can perform the method described in the embodiment shown in FIG. 2, and the technical principles and technical effects of the implementation are not described herein.
  • An embodiment of the present invention further provides an access information processing system for a storage device, including an access device and a storage device, where the access device includes a processor, the storage device includes a processor, and the storage device includes more than one type. a storage medium; wherein the processor of the access device includes the access information processing device for the storage device as described in the embodiment shown in FIG. 6; the processor of the storage device includes the embodiment as shown in FIG.
  • the access information processing apparatus for the storage device may be executed, and details are not described herein again.
  • the disclosed system, apparatus, and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another The system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
  • the above-described integrated unit implemented in the form of a software functional unit may be stored in the form of code in a computer readable storage medium.
  • the above code is stored in a computer readable storage medium and includes instructions for causing a processor or hardware circuit to perform some or all of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a micro-high-capacity mobile storage disk without a physical drive of a universal serial bus interface, a mobile hard disk, a read-only memory (English: Read-Only Memory, ROM for short), and a random access memory (English: Random) Access Memory (RAM), New Non-Volatile Memory, Solid State Disk, or Disk (DISK), etc., which can store program code.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种对存储设备的访问信息处理方法和装置、系统,其中,访问设备的处理器根据进程发起的访问请求中包括的虚拟地址,确定与所述虚拟地址对应的存储设备标识;生成访问请求消息,所述访问请求消息中包括访问地址;根据所述存储设备标识,向所述存储设备标识指向的存储设备的处理器发送所述访问请求消息,以使所述存储设备的处理器根据所述访问请求消息中包括的访问地址,在所述访问地址指向的存储介质中执行访问请求操作。提高了一体化存储设备的访问性能。

Description

对存储设备的访问信息处理方法和装置、系统
本申请要求于2014年5月30日提交中国专利局、申请号为201410239181.3、发明名称为“对存储设备的访问信息处理方法和装置、系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明实施例涉及计算机存储技术领域,尤其涉及一种对存储设备的访问信息处理方法和装置、系统。
背景技术
在现有技术中,对存储介质的访问方法主要包括两种,第一种方法是通过内核访问存储介质,图8为现有技术提供的一种对存储介质的访问方法的系统架构图,如图8所示:
核将虚拟地址发送给内存管理单元(Memory management unit,MMU),MMU查询转换查询缓存(Translation lookaside buffer,TLB)表,发现要访问的虚拟地址还没有物理地址与之对应。MMU向核发缺页中断,核响应中断,保护运行环境后,陷入内核,内核中的物理内存分配程序(如图8所示位于操作系统OS中)为该虚拟地址分配物理地址,并建立页表,其中,页表中保存有建立的虚拟地址与物理地址之间的对应关系,页表被加载到TLB表,即刷新TLB表,内核向核发送中断程序完成,核恢复进程运行环境,重新向MMU发送虚拟地址,MMU查询TLB表,得到虚拟地址对应的物理地址,MMU发出包含物理地址访问请求给缓存(cache),cache向内存控制器发送访存请求,内存控制器向动态随机存储器((Dynamic Random Access Memory,DRAM)发送访问请求,DRAM响应访问请求,若为读则将数据从DRAM经过内存控制器、cache 直接到达核。
另一种方法是通过直接内存访问(Direct memory access,DMA)方式访问存储介质,图9为现有技术提供的另一种对存储设备的访问方法的系统架构图,如图9所示:
处理器向输入输出(Input/Output,I/O)总线发送命令,I/O总线将命令发送到对应的I/O端口,I/O接口从I/O端口接受命令,I/O接口将命令转换成磁盘命令发送给磁盘控制器,磁盘控制器将命令发送给DMA,DMA操作内存总线将数据在磁盘和内存之间进行传送,DMA完成数据传送,将消息返回给磁盘控制器,将消息依次传送给处理器发中断,告知核数据传送完毕。
然而,在第一种述方法中,由于操作系统执行物理内存分配,当缺少物理页而触发缺页中断时,处理器长时间陷入内核,且中断前后要保护和恢复运行环境,开销较大。在另一种方法中,由于DRAM挂载在I/O总线,处理器需要经过多层路径才能完成DRAM数据到内存的拷贝,DMA与处理器竞争内存总线,开销较大。
因此,在现有的访问UAS的过程中,存在开销较大的问题,降低了访问性能。
发明内容
本发明实施例提供一种对存储设备的访问信息处理方法和装置,用以解决现有的访问UAS的过程中,存在内存开销较大的问题,可以提高UAS的访问性能。
第一方面,提供一种对存储设备的访问信息处理方法,所述存储设备包括一种以上的存储介质,包括:
访问设备的处理器根据进程发起的存储设备访问请求指令中包括的虚拟地址,确定与所述虚拟地址对应的存储设备标识;
生成访问请求消息,所述访问请求消息中包括访问地址;
根据所述存储设备标识,向所述存储设备标识指向的存储设备的处理器发送所述访问请求消息,以使所述存储设备的处理器根据所述访问请求消息中包括的访问地址,在所述访问地址指向的存储介质中执行访问请求操作。
可选地,访问设备的处理器根据进程发起的存储设备访问请求中包括的虚拟地址,确定与所述虚拟地址对应的存储设备标识,包括:
访问设备的处理器根据进程发起的访问请求中包括的虚拟地址,确定是否存在与所述虚拟地址对应的物理地址;
若不存在与所述虚拟地址对应的物理地址,则确定与所述虚拟地址对应的存储设备标识;
若存在与所述虚拟地址对应的物理地址,则根据所述物理地址确定所述物理地址指向的存储介质,根据所述存储介质,确定包含所述存储介质的存储设备标识。
可选地,若不存在与所述虚拟地址对应的物理地址,则所述生成的访问请求消息中包括的访问地址为虚拟地址,且所述访问请求消息中包括第一消息属性和进程号;
若存在与所述虚拟地址对应的物理地址,则所述生成的访问请求消息中包括的访问地址为物理地址,且所述访问请求消息中包括第二消息属性。
可选地,访问设备的处理器根据进程发起的存储设备访问请求指令中包括的虚拟地址,确定与所述虚拟地址对应的存储设备标识,包括:
访问设备的处理器查询段表,所述段表中保存有所述虚拟地址与所述存储设备标识之间的对应关系;
从所述段表中获取与所述虚拟地址对应的存储设备标识。
可选地,确定是否存在与所述虚拟地址对应的物理地址之前包括:
接收所述存储设备的处理器发送的所述虚拟地址与所述物理地址以及所述物理地址指向的存储介质之间的对应关系。
第二方面,提供一种对存储设备的访问信息处理方法,所述存储设备包括一种以上的存储介质,包括:
存储设备的处理器接收访问设备的处理器发送的访问请求消息,所述访问请求消息中包括访问地址;
根据所述访问地址,在所述访问地址指向的存储介质中执行访问请求操作。
可选地,所述访问请求消息中还包括第一消息属性和进程号,则根据所述访问地址,在所述访问地址指向的存储介质中执行访问请求操作,包括:
存储设备的处理器根据所述第一消息属性,确定所述访问请求消息中包括的访问地址为虚拟地址;
根据所述进程号,查询与所述进程号对应的进程信息表,确定与所述虚拟地址对应的物理地址,所述进程信息表中包括操作系统预设的与所述虚拟地址对应的分配策略,所述分配策略中包括与所述虚拟地址对应的物理地址以及所述物理地址指向的存储介质;
根据所述确定的物理地址,在所述物理地址指向的存储介质中执行访问请求操作。
可选地,所述访问请求消息中还包括第二消息属性,则根据所述访问地址,在所述访问地址指向的存储介质中执行访问请求操作,包括:
存储设备的处理器根据所述第二消息属性,确定所述访问请求消息中包括的访问地址为物理地址;
在所述物理地址指向的存储介质中执行访问请求操作。
可选地,根据所述进程号,查询与所述进程号对应的进程信息表,确定与所述虚拟地址对应的物理地址之后,包括:
存储设备的处理器建立所述虚拟地址与所述物理地址以及所述物理地址指向的存储介质之间的对应关系;
将所述虚拟地址与所述物理地址以及所述物理地址指向的存储介质之间 的对应关系发送给所述访问设备的处理器。
第三方面,提供一种对存储设备的访问信息处理装置,所述存储设备包括一种以上的存储介质,包括:
确定模块,用于根据进程发起的存储设备访问请求指令中包括的虚拟地址,确定与所述虚拟地址对应的存储设备标识;
生成模块,用于生成访问请求消息,所述访问请求消息中包括访问地址;
发送模块,用于根据所述确定模块确定的存储设备标识,向所述存储设备标识指向的存储设备的处理器发送所述生成模块生成的访问请求消息,以使所述存储设备的处理器根据所述访问请求消息中包括的访问地址,在所述访问地址指向的存储介质中执行访问请求操作。
可选地,所述确定模块具体用于:
根据进程发起的访问请求中包括的虚拟地址,确定是否存在与所述虚拟地址对应的物理地址;
若不存在与所述虚拟地址对应的物理地址,则确定与所述虚拟地址对应的存储设备标识;
若存在与所述虚拟地址对应的物理地址,则根据所述物理地址确定所述物理地址指向的存储介质,根据所述存储介质,确定包含所述存储介质的存储设备标识。
可选地,若不存在与所述虚拟地址对应的物理地址,则所述生成模块生成的访问请求消息中包括的访问地址为虚拟地址,且所述访问请求消息中包括第一消息属性和进程号;
若存在与所述虚拟地址对应的物理地址,则所述生成模块生成的访问请求消息中包括的访问地址为物理地址,且所述访问请求消息中包括第二消息属性。
可选地,所述确定模块具体用于:查询段表,所述段表中保存有所述虚拟地址与所述存储设备标识之间的对应关系;从所述段表中获取与所述虚拟地 址对应的存储设备标识。
可选地,所述的装置还包括:
接收模块,用于接收所述存储设备的处理器发送的所述虚拟地址与所述物理地址以及所述物理地址指向的存储介质之间的对应关系。
第四方面,提供一种对存储设备的访问信息处理装置,所述存储设备包括一种以上的存储介质,包括:
接收模块,用于接收访问设备的处理器发送的访问请求消息,所述访问请求消息中包括访问地址;
操作模块,用于根据所述访问地址,在所述访问地址指向的存储介质中执行访问请求操作。
可选地,所述访问请求消息中还包括第一消息属性和进程号,则所述操作模块具体用于:
根据所述第一消息属性,确定所述访问请求消息中包括的访问地址为虚拟地址;
根据所述进程号,查询与所述进程号对应的进程信息表,确定与所述虚拟地址对应的物理地址,所述进程信息表中包括操作系统预设的与所述虚拟地址对应的分配策略,所述分配策略中包括与所述虚拟地址对应的物理地址以及所述物理地址指向的存储介质;
根据所述确定的物理地址,在所述物理地址指向的存储介质中执行访问请求操作。
可选地,所述访问请求消息中还包括第二消息属性,则所述操作模块具体用于:根据所述第二消息属性,确定所述访问请求消息中包括的访问地址为物理地址;并在所述物理地址指向的存储介质中执行访问请求操作。
可选地,所述的装置还包括:
建立模块,用于建立所述虚拟地址与所述物理地址以及所述物理地址指向的存储介质之间的对应关系;
发送模块,用于将所述虚拟地址与所述物理地址以及所述物理地址指向的存储介质之间的对应关系发送给所述处理器。
第五方面,提供一种对存储设备的访问信息处理系统,包括访问设备和存储设备,所述访问设备包括处理器,所述存储设备包括处理器,且所述存储设备包括一种以上的存储介质;
所述访问设备的处理器包括上述第三方面所述的对存储设备的访问信息处理装置;
所述存储设备的处理器包括上述第四方面所述的对存储设备的访问信息处理装置。
利用本发明实施例所述的技术方案中,访问设备的处理器直接根据进程发起的访问请求中包括的虚拟地址,确定与所述虚拟地址对应的存储设备标识;根据所述存储设备标识,向所述存储设备标识指向的存储设备的处理器发送访问请求消息,以使所述存储设备的处理器根据访问请求消息中包括的访问地址,在所述访问地址指向的存储介质中执行访问请求操作。不存在访问设备的处理器需要长时间陷入内核分配物理地址的问题,减少了由内核分配物理空间导致的开销;
进一步地,针对磁盘等外存储介质,本发明实施例不需要进入内核并经过多层路径才能完成对包含这些存储介质的存储设备的访问请求,于是不存在DMA与处理器竞争内存总线的情况,也可以减少访问开销,提高了一体化存储设备的访问性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的对存储设备的访问信息处理方法的流程示意图;
图2为本发明另一实施例提供的对存储设备的访问信息处理方法的流程示意图;
图3为本发明一实施例提供的对存储设备的访问信息处理方法的系统架构图;
图4为本发明另一实施例提供的对存储设备的访问信息处理方法的系统架构图;
图5为本发明实施例提供的UAS与消息式内存控制器、操作系统的接口示意图;
图6为本发明一实施例提供的对存储设备的访问信息处理装置的结构示意图;
图7为本发明另一实施例提供的对存储设备的访问信息处理装置的结构示意图;
图8为现有技术提供的一种对存储设备的访问方法的系统架构图;
图9为现有技术提供的另一种对存储设备的访问方法的系统架构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中的存储设备为一体化存储设备(Unified Access Storage,UAS)包含处理器和多种存储介质,并直接与内存总线相连,因 此UAS的处理器可通过指令访问UAS内的任一存储介质(包括磁盘)。UAS可以简化存储体系架构中的存储接口,提高存储架构的可扩展性,便于充分使用新型存储介质。而且UAS拥有的处理器,可以包含更加丰富智能的数据管理功能,例如物理空间的管理、数据缓存的管理等。
本发明实施例从访问设备侧提供一种对存储设备的访问信息处理方法,包括:
访问设备的处理器根据进程发起的存储设备访问请求中包括的虚拟地址,确定与所述虚拟地址对应的存储设备标识;
生成访问请求消息,所述访问请求消息中包括访问地址;
根据所述存储设备标识,向所述存储设备标识指向的存储设备的处理器发送所述访问请求消息,以使所述存储设备的处理器根据所述访问请求消息中包括的访问地址,在所述访问地址指向的存储介质中执行访问请求操作。
因此,上述实现方案解决了访问设备的处理器需要长时间陷入内核分配物理地址的问题,减少了由内核分配物理空间导致的开销;进一步地,针对磁盘等外存储介质,本发明实施例不需要进入内核并经过多层路径才能完成对包含这些存储介质的存储设备的访问请求,于是不存在DMA与处理器竞争内存总线的情况,也可以减少访问开销,提高了一体化存储设备的访问性能。
以下通过附图对本发明所述的技术方案进行详细的说明:
图1为本发明一实施例提供的对存储设备的访问信息处理方法的流程示意图,如图1所示,包括:
101、访问设备的处理器根据进程发起的存储设备访问请求指令中包括的虚拟地址,确定是否存在与所述虚拟地址对应的物理地址;
举例来说,访问设备的处理器根据进程发起的访问请求指令中包括的虚拟地址和以及该进程的进程号,查询与所述进程号对应的TLB表,确定TLB表中是否存在与所述虚拟地址对应的物理地址,不存在与所述虚拟地址对应的物理地址则执行步骤102,若存在与所述虚拟地址对应的物理地址则执行 步骤104。
其中,访问设备的处理器中设置有TLB表,举例来说,当存储设备的处理器已经为该进程发起的访问请求中包括的虚拟地址分配了对应的物理地址时,存储设备的处理器可以将该虚拟地址与物理地址之间的映射关系,以及所述物理地址指向的存储介质之间的对应关系发送给访问设备的处理器,以使访问设备的处理器及时将该虚拟地址与物理地址之间的映射关系以及所述物理地址指向的存储介质之间的对应关系保存到与该进程号对应的TLB表中。
102、确定与所述虚拟地址对应的存储设备标识;
举例来说,步骤103之前,本发明实施例中,访问设备的处理器接收到操作系统发送的与所述进程号对应的段表,其中,所述段表中包括所述操作系统预设的与所述虚拟地址对应的存储设备标识;因此,访问设备的处理器可以查询与进程号对应的段表,确定与所述虚拟地址对应的存储设备标识。
103、生成访问请求消息,并根据所述存储设备标识,向所述存储设备标识指向的存储设备的处理器发送访问请求消息;
其中,步骤103中生成的所述访问请求消息中包括访问地址、进程号和第一消息属性,其中,第一消息属性用以指示访问请求消息中包括的访问地址为进程发起的访问请求中的虚拟地址,且指示所述存储设备的处理器根据所述第一消息属性,查询与所述进程号对应的进程信息表,确定与所述虚拟地址对应的物理地址;根据所述确定的物理地址,在所述物理地址指向的存储介质执行访问请求操作;进一步地,所述访问请求消息中还包括操作指示,用以指示存储设备根据所述操作指示执行对应的访问请求操作。
对应地,存储设备的处理器根据所述第一消息属性,查询与所述进程号对应的进程信息表,获取与所述虚拟地址对应的分配策略,其中,所述分配策略中包括与所述虚拟地址对应的物理地址以及所述物理地址指向的存储介质;根据所述分配策略,在所述存储介质中分配与所述虚拟地址对应的物理 地址。之后,根据进程信息表确定与所述虚拟地址对应的物理地址;根据所述确定的物理地址,在所述存储介质中执行与所述操作指示对应的访问请求。
104、生成访问请求消息,并根据所述物理地址,向包含所述物理地址的存储设备的处理器发送访问请求消息;
具体地,假设步骤101中,访问设备的处理器根据进程发起的访问请求中包括的虚拟地址和以及该进程的进程号,查询与所述进程号对应的TLB表,确定TLB表中存在与所述虚拟地址对应的物理地址时,可以确定所述物理地址指向的存储介质,并确定包含所述存储介质的存储设备标识;为此,访问设备的处理中保存有物理地址与其指向的存储介质的对应关系,以及存储介质与包含该存储介质的存储设备标识之间的对应关系。
此时,生成的访问请求消息中包括访问地址和第二消息属性,其中,第二消息属性用以指示访问请求消息中包括的访问地址为步骤101中确定的与虚拟地址对应的物理地址,且指示所述存储设备的处理器根据所述第二消息属性,在所述物理地址指向的存储介质中执行访问请求操作;进一步地,所述访问请求消息中还包括操作指示,用以指示存储设备根据所述操作指示执行对应的访问请求操作。
对应地,所述存储设备的处理器根据所述第二消息属性,在所述物理地址指向的存储介质中执行与所述操作指示对应的访问请求。
本发明实施例的处理器根据进程发起的访问请求中包括的虚拟地址,确定是否存在与所述虚拟地址对应的物理地址;若不存在与所述虚拟地址对应的物理地址,则确定与所述虚拟地址对应的存储设备标识;根据所述存储设备标识,向所述存储设备标识指向的存储设备发送访问请求消息,以使所述存储设备根据所述第一消息属性,查询与所述进程号对应的进程信息表,确定与所述虚拟地址对应的物理地址;根据所述确定的物理地址,在所述物理地址指向的存储介质中执行访问请求操作。
因此,利用本发明实施例所述的对存储设备的访问信息处理方法中,当 判断出不存在与虚拟地址对应的物理地址时,访问设备的处理器不需要长时间陷入内核分配物理地址,而是确定与所述虚拟地址对应的存储设备标识;根据所述存储设备标识,直接向所述存储设备标识指向的存储设备的处理器发送包含虚拟地址的访问请求消息,由存储设备的处理器完成物理空间分配,可以减少了由内核分配物理空间导致的开销;
进一步地,针对磁盘等外存储介质,本发明实施例不需要进入内核并经过多层路径才能完成对包含这些存储介质存储设备的访问请求,于是不存在DMA与处理器竞争内存总线的情况,也可以减少访问开销,提高了一体化存储设备的访问性能。
本发明实施例从存储设备侧提供一种对存储设备的访问信息处理方法,包括:
存储设备的处理器接收访问设备的处理器发送的访问请求消息,所述访问请求消息中包括访问地址;
根据所述访问地址,在所述访问地址指向的存储介质中执行访问请求操作
因此,根本不存在访问设备的处理器需要长时间陷入内核分配物理地址的问题,减少了由内核分配物理空间导致的开销;进一步地,针对磁盘等外存储介质,本发明实施例不需要进入内核并经过多层路径才能完成对包含这些存储介质的存储设备的访问请求,于是不存在DMA与处理器竞争内存总线的情况,也可以减少访问开销,提高了一体化存储设备的访问性能。
以下通过附图对本发明实施例的技术方案进行详细的说明:
与图1所示实施例相对应,图2为本发明另一实施例提供的对存储设备的访问信息处理方法的流程示意图,如图2所示,包括:
201、存储设备的处理器接收访问设备的处理器发送的访问请求消息;
举例来说,本实施例所述的访问请求消息中包括访问地址、进程号和第一消息属性;或者本实施例所述的访问请求消息中包括访问地址和第二消息 属性;
其中,第一消息属性用以指示访问请求消息中包括的访问地址为虚拟地址,且指示所述存储设备的处理器根据所述进程号,查询与所述进程号对应的进程信息表,确定与所述虚拟地址对应的物理地址,根据所述确定的物理地址,在所述物理地址指向的存储介质中执行访问请求操作;
其中,第二消息属性用以指示访问请求消息中包括的访问地址为物理地址,且指示所述存储设备的处理器根据所述第二消息属性,在所述物理地址指向的存储介质中执行访问请求操作。
进一步地,本实施例所述的访问请求消息中还包括操作指示,用以指示存储设备根据所述操作指示执行对应的访问请求操作。
可选地,步骤201之后包括:
202、根据所述第一消息属性,查询与所述进程号对应的进程信息表,确定与所述虚拟地址对应的物理地址;
举例来说,步骤202之前包括:
存储设备的处理器已经接收到操作系统发送的与所述进程号对应的进程信息表,所述进程信息表中包括所述操作系统预设的与所述虚拟地址对应的分配策略;其中,所述分配策略中包括与所述虚拟地址对应的物理地址以及所述物理地址指向的存储介质。
举例来说,步骤202之后还包括:
存储设备的处理器可以将所述虚拟地址与所述物理地址之间的映射关系保存到与所述进程号对应的页表中;进一步地,当存储设备的处理器接收到处理器发送的访问请求消息时,根据访问请求消息中包括的进程号,查询与所述进程号对应的页表,可以确定与所述虚拟地址对应的物理地址;
存储设备的处理器还可以将所述虚拟地址与所述物理地址之间的映射关系发送给访问设备的处理器,以使访问设备的处理器将所述虚拟地址与所述物理地址之间的映射关系缓存到与所述进程号对应的转换查询缓存TLB表 中。
203、根据所述确定的物理地址,在所述物理地址指向的存储介质执行访问请求操作。
举例来说,若上述访问请求消息中的操作指示为写操作时,存储设备查询与所述进程号对应的进程信息表,确定与所述虚拟地址对应的物理地址之后,根据所述确定的物理地址,在所述物理地址指向的存储介质中分配与所述虚拟地址对应的物理地址,并根据所述分配的物理地址,在所述存储介质中执行写操作。
若上述访问请求消息中的操作指示为读操作时,存储设备查询与所述进程号对应的进程信息表,确定与所述虚拟地址对应的物理地址之后,根据所述确定的物理地址,在所述物理地址指向的存储介质执行读操作即可。
本实施例的存储设备包括一种以上的存储介质,举例来说,本实施例的存储设备中保存有物理地址与其对应的存储介质之间的对应关系。
可选地,步骤201之后还包括:
204、根据所述第二消息属性,在所述物理地址指向的存储介质中执行访问请求操作。
举例来说,所述操作指示包括读操作或写操作,对应地,在所述物理地址指向的存储介质中执行与所述操作指示对应的访问请求包括:根据物理地址在对应的存储介质中读取或写入数据。
因此,利用本发明实施例所述的对存储设备的访问信息处理方法中,当判断出不存在与虚拟地址对应的物理地址时,访问设备的处理器不需要长时间陷入内核分配物理地址,而是确定与所述虚拟地址对应的存储设备标识;根据所述存储设备标识,直接向所述存储设备标识指向的存储设备的处理器发送包含虚拟地址的访问请求消息,由存储设备的处理器完成物理空间分配,可以减少了由内核分配物理空间导致的开销;
对应地,存储设备的处理器接收到访问设备的处理器发送的访问请求消 息,若所述访问请求消息中包括访问地址、进程号和第一消息属性;根据所述第一消息属性确定该访问地址为虚拟地址,进一步查询与所述进程号对应的进程信息表,确定与所述虚拟地址对应的物理地址;根据所述确定的物理地址,在所述物理地址指向的存储介质中执行访问请求操作;针对磁盘等外存储介质,本发明实施例不需要进入内核并经过多层路径才能完成对这些存储介质存储设备的访问请求,于是不存在DMA与处理器竞争内存总线的情况,也可以减少访问开销,提高了一体化存储设备的访问性能。
以下通过附图详细说明本发明实施例的具体实现方式:
图3为本发明一实施例提供的对存储设备的访问信息处理方法的系统架构图,如图3所示,处理器通过内存总线连接多个UAS设备,每个UAS设备包含多种存储介质(例如DRAM、NVM、SSD、DISK)等。基于图3所示的系统架构图,本发明实施例中,对未分配物理地址的一体化存储设备的访问方法的实现过程如下:
1.访问设备的中央处理器CPU发送包含虚拟地址的访问请求给MMU;
其中,当CPU接收到进程发起的包括虚拟地址的访问请求时,CPU可以将包括虚拟地址、进程号的访问请求发送给MMU;其中,访问请求中还包括进程发起的操作指示,如写操作或读操作;
2.MMU查询TLB表,确定不存在与该虚拟地址对应的物理地址;
3.MMU查询段表,确定该虚拟地址对应的UAS设备标识;
4.MMU将请求的虚拟地址、操作指示和进程号以及UAS的设备标识发送给消息式内存控制器;
5.消息式内存控制器向UAS设备标识对应的UAS发送访问请求消息;
其中,访问请求消息中包括虚拟地址、操作指示、进程号和第一消息属性,其中,第一消息属性用以指示UAS根据访问请求消息中的虚拟地址分配对应的物理地址;
6.UAS的处理器接受访问请求消息,解析得到访问请求消息中包括的虚拟地址、操作指示、进程号和第一消息属性;
7.UAS根据进程号,查询对应的进程信息表,确定与该虚拟地址对应的物理地址以及该物理地址指向的存储介质,之后给物理分配模块发送分配空间命令;
8.物理分配模块在对应的存储介质中为该虚拟地址分配物理地址,创建页表,其中,页表中包括虚拟地址与对应的物理地址之间的映射关系;
9.物理分配模块将新创建的页表发送给处理器更新TLB表,同时将分配完成消息返回给UAS的处理器;
10.UAS的处理器根据访问请求消息中的操作指示和刚分配的物理地址,执行与操作指示对应的访问请求。
假设为读操作,UAS的处理器将数据通过内存总线返回给内存控制器,内存控制器将数据返回给CPU,同时将数据在缓存块(cache)中缓存。
图4为本发明另一实施例提供的对存储设备的访问信息处理方法的系统架构图,如图4所示,处理器通过内存总线连接多个UAS设备,每个UAS设备包含多种存储介质(例如DRAM、NVM、SSD、DISK)等。基于图4所示的系统架构图,本发明实施例中,对已分配物理地址的一体化存储设备的访问方法的实现过程如下:
1.CPU发送包含虚拟地址的访问请求给MMU。
其中,当CPU接收到进程发起的包括虚拟地址的访问请求时,CPU可以将包括虚拟地址、进程号的访问请求发送给MMU;其中,访问请求中还包括进程发起的操作指示,如写操作或读操作。
2.MMU查询TLB表,找到与该虚拟地址对应的物理地址。
3.CPU根据物理地址访问缓存块cache,若cache不命中,即cache中没有该物理地址以及对应的数据,则消息式内存控制器根据物理地址向将包括该物理地址的UAS发送访问请求消息。
其中,访问请求消息中包括物理地址、操作指示和第二消息属性,第二消息属性用以指示UAS根据该物理地址在对应的存储介质上进行范围请求操作。
4.UAS的处理器接收访问请求消息,根据物理地址在对应的存储介质中执行与操作指示对应的访问请求。
如读取或写入数据,如果若为读请求,则由UAS的控制器将数据传回给CPU,同时进行cache替换。
图5为本发明实施例提供的UAS与消息式内存控制器、操作系统的接口示意图,如图5所示:
为了实现上述实施例,本发明实施例还提供UAS与处理器中的消息式内存控制器的接口,接受消息式内存控制器传递的访问请求消息,该访问请求消息的具体内容例如包括:
当UAS还未分配物理地址时,即为虚拟地址访问请求,则访问请求消息包含:虚拟地址、进程号、请求的操作指示、第一消息属性(标识该访问请求消息中包含的是虚拟地址,需要UAS分配对应的物理地址)。
当UAS已经分配物理地址时,即为物理地址访问请求,则访问请求消息包含:物理地址、请求的操作指示、第二消息属性(标识该访问请求消息包含的是物理地址,UAS根据该物理地址执行访问操作即可)。
举例来说,本发明实施例还提供UAS与操作系统(Operation System,OS)之间的接口,该接口传送内容例如包括:应用申请的虚拟空间的起始和结束地址、存储策略、进程号、销毁进程的进程号等。
举例来说,本发明实施例还提供页表,其中,页表中包括:虚拟地址与其对应的物理地址之间的映射关系,以及物理地址与其对应的存储介质之间的映射关系。
举例来说,本发明实施例还提供进程信息表,其中,以进程为单位,每个进程包含一个进程信息表,以进程号为区别,其中,进程信息表中的每 一项例如包含一段虚拟地址的分配策略,其中,分配策略中包含该段虚拟地址对应的物理地址以及对应的物理介质、缓存策略等。
举例来说,本发明实施例例如可以在处理器的分页单元中添加段表,其中,每个进程包含一个段表,段表中的每一项表示进程某一段虚拟地址与某一UAS设备标识的映射关系;段表中的项由OS在分配虚拟空间时创建,即由OS决定某一虚拟地址与哪个UAS设备对应。
表1为段表的格式示例:
Figure PCTCN2015079675-appb-000001
举例来说,本发明实施例的段表也可以存储在某一UAS内,起始地址保存在处理器内的特殊寄存器中;其中,UAS设备标识例如可以使用UAS设备地址。
表2为UAS设备标识与UAS设备地址的对应关系:
举例来说,本发明实施例的多个UAS设备可以共同挂载在内存总线上,每一个UAS设备中的起始地址可以不与设备内的某一存储介质对应,而是可以作为标识该UAS设备的设备地址。
举例来说,上述物理分配模块为该虚拟地址分配物理地址,创建页表的具体步骤包括:
根据CPU传递的进程号定位到UAS中维护的该进程的进程信息表;
根据CPU传递的虚拟地址查询该进程信息表得到该段虚拟地址对应的分配策略;
根据分配策略,在相应的存储介质中分配物理地址,并创建存储该虚拟地址与物理地址的映射关系的页表。
举例来说,上述UAS的处理器根据访问请求消息执行访问请求的具体步骤包括:
UAS的处理器将分配的物理地址和由CPU传递的访问请求的操作指示(读或写)拼接成一个访问请求,假设访问请求为Qa;
将Qa输入UAS内部的访问请求队列;
UAS依据调度算法执行访问请求队列中的请求,最终会执行Qa。
本发明实施例可以实现统一访问不同存储介质的路径,适合对UAS的应用场景,即CPU可直接访问UAS中的任一存储介质;缩短访问SSD、NVM等不同存储介质的路径,其中,UAS负责物理地址分配,减少访问时陷入内核的次数,可以减少内存开销,提高UAS的访问性能。
图6为本发明一实施例提供的对存储设备的访问信息处理装置的结构示意图;如图6所示,包括:
确定模块61,用于根据进程发起的访问请求指令中包括的虚拟地址,确定与所述虚拟地址对应的存储设备标识;
生成模块62,用于生成访问请求消息,所述访问请求消息中包括访问地址;
发送模块63,用于根据所述确定模块确定的存储设备标识,向所述存储设备标识指向的存储设备的处理器发送所述生成模块生成的访问请求消息,以使所述存储设备的处理器根据所述访问地址,在所述访问地址指向的存储介质中执行访问请求操作。
可选地,所述确定模块61具体用于:
根据进程发起的访问请求中包括的虚拟地址,确定是否存在与所述虚拟地址对应的物理地址;
若不存在与所述虚拟地址对应的物理地址,则确定与所述虚拟地址对应的存储设备标识;
若存在与所述虚拟地址对应的物理地址,则根据所述物理地址确定所述 物理地址指向的存储介质,根据所述存储介质,确定包含所述存储介质的存储设备标识。
举例来说,若不存在与所述虚拟地址对应的物理地址,则所述生成模块62生成的访问请求消息中包括的访问地址为虚拟地址,且所述访问请求消息中包括第一消息属性和进程号;
若存在与所述虚拟地址对应的物理地址,则所述生成模块62生成的访问请求消息中包括的访问地址为物理地址,且所述访问请求消息中包括第二消息属性。
可选地,所述确定模块61具体还用于:查询段表,所述段表中保存有所述虚拟地址与所述存储设备标识之间的对应关系;从所述段表中获取与所述虚拟地址对应的存储设备标识。
可选地,所述的装置还包括:
接收模块64,用于接收所述存储设备的处理器发送的所述虚拟地址与所述物理地址以及所述物理地址指向的存储介质之间的对应关系。
本发明实施例所述装置可以执行图1所示实施例所述的方法,其实现的技术原理和技术效果不再赘述。
图7为本发明另一实施例提供的对存储设备的访问信息处理装置的结构示意图,如图7所示,包括:
接收模块71,用于接收访问设备的处理器发送的访问请求消息,所述访问请求消息中包括访问地址;
操作模块72,用于根据所述访问地址,在所述访问地址指向的存储介质中执行访问请求操作。
若所述访问请求消息中还包括第一消息属性和进程号,则所述操作模块72具体用于:
根据所述第一消息属性,确定所述访问请求消息中包括的访问地址为虚拟地址;
根据所述进程号,查询与所述进程号对应的进程信息表,确定与所述虚拟地址对应的物理地址,所述进程信息表中包括操作系统预设的与所述虚拟地址对应的分配策略,所述分配策略中包括与所述虚拟地址对应的物理地址以及所述物理地址指向的存储介质;
根据所述确定的物理地址,在所述物理地址指向的存储介质中执行访问请求操作。
若所述访问请求消息中还包括第二消息属性,则所述操作模块72具体用于:根据所述第二消息属性,确定所述访问请求消息中包括的访问地址为物理地址;并在所述物理地址指向的存储介质中执行访问请求操作。
可选地,所述的装置还包括:
建立模块73,用于建立所述虚拟地址与所述物理地址以及所述物理地址指向的存储介质之间的对应关系;
发送模块74,用于将所述虚拟地址与所述物理地址以及所述物理地址指向的存储介质之间的对应关系发送给所述处理器。
本发明实施例所述装置可以执行图2所示实施例所述的方法,其实现的技术原理和技术效果不再赘述。
本发明实施例还提供一种对存储设备的访问信息处理系统,包括访问设备和存储设备,所述访问设备包括处理器,所述存储设备包括处理器,且所述存储设备包括一种以上的存储介质;其中,所述访问设备的处理器包括如图6所示实施例所述的对存储设备的访问信息处理装置;所述存储设备的处理器包括如图7所示实施例所述的对存储设备的访问信息处理装置;可以执行上述图1和图2所示的实施例,详细内容不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个 系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以以代码的形式存储在一个计算机可读取存储介质中。上述代码存储在一个计算机可读存储介质中,包括若干指令用以使处理器或硬件电路执行本发明各个实施例所述方法的部分或全部步骤。而前述的存储介质包括:通用串行总线接口的无需物理驱动器的微型高容量移动存储盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称ROM)、随机存取存储器(英文:Random Access Memory,简称RAM)、新型非易失存储器件(Non-Volatile Memory)、固态硬盘(Solid State Disk)或者磁盘(DISK)等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。

Claims (19)

  1. 一种对存储设备的访问信息处理方法,所述存储设备包括一种以上的存储介质,其特征在于,包括:
    访问设备的处理器根据进程发起的存储设备访问请求指令中包括的虚拟地址,确定与所述虚拟地址对应的存储设备标识;
    生成访问请求消息,所述访问请求消息中包括访问地址;
    根据所述存储设备标识,向所述存储设备标识指向的存储设备的处理器发送所述访问请求消息,以使所述存储设备的处理器根据所述访问请求消息中包括的所述访问地址,针对所述访问地址指向的存储介质中执行访问请求操作。
  2. 根据权利要求1所述的方法,其特征在于,访问设备的处理器根据进程发起的存储设备访问请求指令中包括的虚拟地址,确定与所述虚拟地址对应的存储设备标识,包括:
    访问设备的处理器根据进程发起的存储设备访问请求指令中包括的所述虚拟地址,确定是否存在与所述虚拟地址对应的物理地址;
    若不存在与所述虚拟地址对应的物理地址,则确定与所述虚拟地址对应的存储设备标识;
    若存在与所述虚拟地址对应的物理地址,则根据所述物理地址确定所述物理地址指向的存储介质,根据所述存储介质,确定包含所述存储介质的存储设备标识。
  3. 根据权利要求1或2所述的方法,其特征在于:
    若不存在与所述虚拟地址对应的物理地址,则所述生成的访问请求消息中包括的访问地址为虚拟地址,且所述访问请求消息中包括第一消息属性和进程号;
    若存在与所述虚拟地址对应的物理地址,则所述生成的访问请求消息中包括的访问地址为物理地址,且所述访问请求消息中包括第二消息属性。
  4. 根据权利要求1或2所述的方法,其特征在于,访问设备的处理器根据进程发起的存储设备访问请求指令中包括的虚拟地址,确定与所述虚拟地址对应的存储设备标识,包括:
    访问设备的处理器查询段表,所述段表中保存有所述虚拟地址与所述存储设备标识之间的对应关系;
    从所述段表中获取与所述虚拟地址对应的存储设备标识。
  5. 根据权利要求2所述的方法,其特征在于,确定是否存在与所述虚拟地址对应的物理地址之前包括:
    接收所述存储设备的处理器发送的所述虚拟地址与所述物理地址以及所述物理地址指向的存储介质之间的对应关系。
  6. 一种对存储设备的访问信息处理方法,所述存储设备包括一种以上的存储介质,其特征在于,包括:
    存储设备的处理器接收访问设备的处理器发送的访问请求消息,所述访问请求消息中包括访问地址;
    根据所述访问地址,在所述访问地址指向的存储介质中执行访问请求操作。
  7. 根据权利要求6所述的方法,其特征在于,所述访问请求消息中还包括第一消息属性和进程号,则根据所述访问地址,在所述访问地址指向的存储介质中执行访问请求操作,包括:
    存储设备的处理器根据所述第一消息属性,确定所述访问请求消息中包括的访问地址为虚拟地址;
    根据所述进程号,查询与所述进程号对应的进程信息表,确定与所述虚拟地址对应的物理地址,所述进程信息表中包括操作系统预设的与所述虚拟地址对应的分配策略,所述分配策略中包括与所述虚拟地址对应的物理地址以及所述物理地址指向的存储介质;
    根据所述确定的物理地址,在所述物理地址指向的存储介质中执行访问请求操作。
  8. 根据权利要求6所述的方法,其特征在于,所述访问请求消息中还包括第二消息属性,则根据所述访问地址,在所述访问地址指向的存储介质中执行访问请求操作,包括:
    存储设备的处理器根据所述第二消息属性,确定所述访问请求消息中包括的访问地址为物理地址;
    在所述物理地址指向的存储介质中执行访问请求操作。
  9. 根据权利要求7所述的方法,其特征在于,根据所述进程号,查询与所述进程号对应的进程信息表,确定与所述虚拟地址对应的物理地址之后,包括:
    存储设备的处理器建立所述虚拟地址与所述物理地址以及所述物理地址指向的存储介质之间的对应关系;
    将所述虚拟地址与所述物理地址以及所述物理地址指向的存储介质之间的对应关系发送给所述访问设备的处理器。
  10. 一种对存储设备的访问信息处理装置,所述存储设备包括一种以上的存储介质,其特征在于,包括:
    确定模块,用于根据进程发起的存储设备访问请求指令中包括的虚拟地址,确定与所述虚拟地址对应的存储设备标识;
    生成模块,用于生成访问请求消息,所述访问请求消息中包括访问地址;
    发送模块,用于根据所述确定模块确定的存储设备标识,向所述存储设备标识指向的存储设备的处理器发送所述生成模块生成的访问请求消息,以使所述存储设备的处理器根据所述访问请求消息中包括的访问地址,在所述访问地址指向的存储介质中执行访问请求操作。
  11. 根据权利要求10所述的装置,其特征在于,所述确定模块具体用于:
    根据进程发起的访问请求中包括的虚拟地址,确定是否存在与所述虚拟地址对应的物理地址;
    若不存在与所述虚拟地址对应的物理地址,则确定与所述虚拟地址对应的存储设备标识;
    若存在与所述虚拟地址对应的物理地址,则根据所述物理地址确定所述物理地址指向的存储介质,根据所述存储介质,确定包含所述存储介质的存储设备标识。
  12. 根据权利要求11所述的装置,其特征在于:所述生成模块具体用于:
    若不存在与所述虚拟地址对应的物理地址,生成的访问请求消息中包括的访问地址为虚拟地址,且所述访问请求消息中包括第一消息属性和进程号;
    若存在与所述虚拟地址对应的物理地址,生成的访问请求消息中包括的访 问地址为物理地址,且所述访问请求消息中包括第二消息属性。
  13. 根据权利要求10或11所述的装置,其特征在于,所述确定模块具体用于:
    查询段表,所述段表中保存有所述虚拟地址与所述存储设备标识之间的对应关系;
    从所述段表中获取与所述虚拟地址对应的存储设备标识。
  14. 根据权利要求11所述的装置,其特征在于,还包括:
    接收模块,用于接收所述存储设备的处理器发送的所述虚拟地址与所述物理地址以及所述物理地址指向的存储介质之间的对应关系。
  15. 一种对存储设备的访问信息处理装置,所述存储设备包括一种以上的存储介质,其特征在于,包括:
    接收模块,用于接收访问设备的处理器发送的访问请求消息,所述访问请求消息中包括访问地址;
    操作模块,用于根据所述访问地址,在所述访问地址指向的存储介质中执行访问请求操作。
  16. 根据权利要求15所述的装置,其特征在于,所述访问请求消息中还包括第一消息属性和进程号,则所述操作模块具体用于:
    根据所述第一消息属性,确定所述访问请求消息中包括的访问地址为虚拟地址;
    根据所述进程号,查询与所述进程号对应的进程信息表,确定与所述虚拟地址对应的物理地址,所述进程信息表中包括操作系统预设的与所述虚拟地址对应的分配策略,所述分配策略中包括与所述虚拟地址对应的物理地址以及所述物理地址指向的存储介质;
    根据所述确定的物理地址,在所述物理地址指向的存储介质中执行访问请求操作。
  17. 根据权利要求15所述的装置,其特征在于,所述访问请求消息中还包括第二消息属性,则所述操作模块具体用于:根据所述第二消息属性,确定所述访问请求消息中包括的访问地址为物理地址;并在所述物理地址指向的存储 介质中执行访问请求操作。
  18. 根据权利要求17所述的装置,其特征在于,还包括:
    建立模块,用于建立所述虚拟地址与所述物理地址以及所述物理地址指向的存储介质之间的对应关系;
    发送模块,用于将所述虚拟地址与所述物理地址以及所述物理地址指向的存储介质之间的对应关系发送给所述处理器。
  19. 一种对存储设备的访问信息处理系统,其特征在于,包括访问设备和存储设备,所述访问设备包括处理器,所述存储设备包括处理器,且所述存储设备包括一种以上的存储介质;
    所述访问设备的处理器包括如权利要求10-14任一项所述的对存储设备的访问信息处理装置;
    所述存储设备的处理器包括如权利要求15-18任一项所述的对存储设备的访问信息处理装置。
PCT/CN2015/079675 2014-05-30 2015-05-25 对存储设备的访问信息处理方法和装置、系统 WO2015180598A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410239181.3 2014-05-30
CN201410239181.3A CN105335308B (zh) 2014-05-30 2014-05-30 对存储设备的访问信息处理方法和装置、系统

Publications (1)

Publication Number Publication Date
WO2015180598A1 true WO2015180598A1 (zh) 2015-12-03

Family

ID=54698085

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/079675 WO2015180598A1 (zh) 2014-05-30 2015-05-25 对存储设备的访问信息处理方法和装置、系统

Country Status (2)

Country Link
CN (1) CN105335308B (zh)
WO (1) WO2015180598A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018236260A1 (en) * 2017-06-22 2018-12-27 Telefonaktiebolaget Lm Ericsson (Publ) APPARATUSES AND METHODS FOR MEMORY ALLOCATION IN A DATA CENTER
CN110554911A (zh) * 2018-05-30 2019-12-10 阿里巴巴集团控股有限公司 内存访问与分配方法、存储控制器及系统
CN111865639A (zh) * 2019-04-30 2020-10-30 深信服科技股份有限公司 一种snmp服务设备信息收集方法、装置及电子设备
CN115456862A (zh) * 2022-11-09 2022-12-09 深流微智能科技(深圳)有限公司 一种用于图像处理器的访存处理方法及设备
WO2023226885A1 (zh) * 2022-05-26 2023-11-30 华为技术有限公司 一种内存访问方法及相关设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110392084B (zh) * 2018-04-20 2022-02-15 伊姆西Ip控股有限责任公司 在分布式系统中管理地址的方法、设备和计算机程序产品
CN111224851B (zh) * 2018-11-23 2022-09-27 阿里巴巴集团控股有限公司 数据传输设备和处理系统、消息分发方法和装置
CN113868155B (zh) * 2021-11-30 2022-03-08 苏州浪潮智能科技有限公司 一种内存空间扩展方法、装置及电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383381B1 (en) * 2003-02-28 2008-06-03 Sun Microsystems, Inc. Systems and methods for configuring a storage virtualization environment
CN103336751A (zh) * 2013-07-10 2013-10-02 广西科技大学 寻址功能与存储单元一体化存储控制器
US20130268714A1 (en) * 2012-04-09 2013-10-10 Dell Products L.P. Methods and systems for virtualization of storage services in an integrated chassis

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100538617C (zh) * 2006-07-11 2009-09-09 任永坚 存储介质处理方法及系统
US7584335B2 (en) * 2006-11-02 2009-09-01 International Business Machines Corporation Methods and arrangements for hybrid data storage
CN101604227B (zh) * 2009-07-17 2011-08-31 杭州华三通信技术有限公司 数据存储的方法及设备
CN101645043B (zh) * 2009-09-08 2012-01-04 成都市华为赛门铁克科技有限公司 写数据的方法、读数据的方法及存储设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383381B1 (en) * 2003-02-28 2008-06-03 Sun Microsystems, Inc. Systems and methods for configuring a storage virtualization environment
US20130268714A1 (en) * 2012-04-09 2013-10-10 Dell Products L.P. Methods and systems for virtualization of storage services in an integrated chassis
CN103336751A (zh) * 2013-07-10 2013-10-02 广西科技大学 寻址功能与存储单元一体化存储控制器

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018236260A1 (en) * 2017-06-22 2018-12-27 Telefonaktiebolaget Lm Ericsson (Publ) APPARATUSES AND METHODS FOR MEMORY ALLOCATION IN A DATA CENTER
CN110554911A (zh) * 2018-05-30 2019-12-10 阿里巴巴集团控股有限公司 内存访问与分配方法、存储控制器及系统
CN111865639A (zh) * 2019-04-30 2020-10-30 深信服科技股份有限公司 一种snmp服务设备信息收集方法、装置及电子设备
CN111865639B (zh) * 2019-04-30 2023-07-14 深信服科技股份有限公司 一种snmp服务设备信息收集方法、装置及电子设备
WO2023226885A1 (zh) * 2022-05-26 2023-11-30 华为技术有限公司 一种内存访问方法及相关设备
CN115456862A (zh) * 2022-11-09 2022-12-09 深流微智能科技(深圳)有限公司 一种用于图像处理器的访存处理方法及设备
CN115456862B (zh) * 2022-11-09 2023-03-24 深流微智能科技(深圳)有限公司 一种用于图像处理器的访存处理方法及设备

Also Published As

Publication number Publication date
CN105335308B (zh) 2018-07-03
CN105335308A (zh) 2016-02-17

Similar Documents

Publication Publication Date Title
WO2015180598A1 (zh) 对存储设备的访问信息处理方法和装置、系统
US20200278880A1 (en) Method, apparatus, and system for accessing storage device
US8250254B2 (en) Offloading input/output (I/O) virtualization operations to a processor
US8627040B2 (en) Processor-bus-connected flash storage paging device using a virtual memory mapping table and page faults
US10540306B2 (en) Data copying method, direct memory access controller, and computer system
EP3608790B1 (en) Modifying nvme physical region page list pointers and data pointers to facilitate routing of pcie memory requests
US10713083B2 (en) Efficient virtual I/O address translation
JP2013254524A (ja) ローカル物理メモリとリモート物理メモリとの間で共有されるバーチャルメモリのためのハードウェアサポートの提供
US20070130372A1 (en) I/O address translation apparatus and method for specifying a relaxed ordering for I/O accesses
US9584628B2 (en) Zero-copy data transmission system
US10108553B2 (en) Memory management method and device and memory controller
WO2016019566A1 (zh) 内存管理方法、装置和系统、以及片上网络
JP2020502694A (ja) バイトアドレス可能メモリとして不揮発性メモリにアクセスする方法及び装置
CN113039531A (zh) 缓存存储器请求流
CN107250995B (zh) 存储器管理设备
CN115811509A (zh) 一种总线通信方法及相关设备
US11042495B2 (en) Providing interrupts from an input-output memory management unit to guest operating systems
KR20180041037A (ko) 멀티 코어 솔리드 스테이트 드라이브의 공유 분산 메모리 관리 방법
EP3980885A1 (en) Guest operating system buffer and log access by an input-output memory management unit
WO2020029619A1 (zh) 数据处理的方法、设备和服务器
US8593472B1 (en) System and method for accessing a frame buffer via a storage driver
WO2023241655A1 (zh) 数据处理方法、装置、电子设备以及计算机可读存储介质
WO2014121639A1 (zh) 一种访问地址处理系统、方法及计算机存储介质
CN117009258A (zh) 一种文件系统磁盘的访问方法、装置及设备
TW202349214A (zh) 輸入/輸出裝置的位址變換預取出

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15799705

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15799705

Country of ref document: EP

Kind code of ref document: A1