WO2011147324A1 - 多接口固态硬盘及其处理方法和系统 - Google Patents
多接口固态硬盘及其处理方法和系统 Download PDFInfo
- Publication number
- WO2011147324A1 WO2011147324A1 PCT/CN2011/074760 CN2011074760W WO2011147324A1 WO 2011147324 A1 WO2011147324 A1 WO 2011147324A1 CN 2011074760 W CN2011074760 W CN 2011074760W WO 2011147324 A1 WO2011147324 A1 WO 2011147324A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- command
- interface
- operation command
- flash
- host
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Definitions
- the present invention relates to the field of communications, and in particular, to a multi-interface solid state hard disk and a processing method and system thereof.
- SSD Solid State Disk
- flash memory flash memory
- Ordinary SATA Serial Advanced Technology Attachment, Serial Advanced Technology Attachment
- PCIe Peripheral Component Interconnect Express
- peripheral devices are faster interconnected.
- the SSD of the interface has the advantages of greater capacity and higher performance, and can be well applied to areas requiring high capacity and performance.
- the SSDs of the PCIe interface on the market are SSDs of a single PCIe interface.
- the SSD and the host 1 (for example, a PC or a server) are connected through a PCIe interface, and the host 1 uses the driver 1 as the SSD.
- the storage device can directly access the SSD; the host 2 sends the access command to the SSD through the driver 2 and the agent module running on the host 1 and then the driver 1 on the host 1 to implement the indirect access to the SSD.
- the SSD of a single PCIe interface can only be inserted into one host and can only be directly accessed by one host.
- Other hosts can only access the SSD indirectly, which makes the indirect access to the SSD host with less access bandwidth and larger access delay. Good to meet the needs of each host for SSD high performance, high bandwidth and large capacity.
- the embodiment of the present invention provides a multi-interface solid state hard disk and a processing method and system thereof, which are used to solve the problem that the prior art can only be directly accessed by one host, and multiple hosts cannot directly share the access SSD, thereby failing to satisfy each host pair.
- a multi-interface solid state hard disk includes a plurality of interface control units, a command scheduling unit, a flash control unit, and a flash chip, and each interface control unit corresponds to a communication interface;
- the interface control unit is configured to receive an operation command by using the communication interface
- the command scheduling unit is configured to acquire the operation command from a plurality of the interface control units according to a scheduling rule, and put the operation command into a command queue;
- the command scheduling unit is further configured to: take the operation command from the command queue and send the operation command to the flash control unit;
- the flash control unit is configured to convert the received operation command into a flash operation command, and operate the flash chip by using the flash operation command.
- a multi-interface solid state hard disk processing method includes:
- a multi-interface solid state hard disk processing system includes: at least one host and at least one multi-interface solid state hard disk;
- the host includes a multi-interface solid state hard disk drive, and the direct communication connection between the host and the multi-interface solid state hard disk is implemented by running the driver, and the host is configured to send an operation command to the multi-interface solid state hard disk;
- the multi-interface solid state drive includes a plurality of interface control units, a command scheduling unit, a flash control unit, and a flash chip, each interface control unit respectively corresponding to a communication interface, and the interface control unit is configured to receive through the communication interface An operation command sent by the host; the command scheduling unit is configured to acquire the operation command from a plurality of the interface control units according to a scheduling rule, and put the operation command into a command queue; the command scheduling unit further And the flash control unit is configured to convert the received operation command into a flash operation command, and the flash operation command is used to output the operation command from the command queue.
- the flash chip is operated.
- the multi-interface solid state hard disk and the operation command processing method and system provided by the embodiments of the present invention provide multiple communication interfaces in the solid state hard disk, so that different hosts can directly communicate with the solid state hard disk interface through different communication interfaces, thereby avoiding
- hosts other than the host directly connected to the SSD need to access the SSD indirectly.
- Different hosts can directly access the SSD concurrently, and do not need to access each other through sharing. Therefore, the access bandwidth is increased to meet the requirements of each host for the high performance, high bandwidth, and large capacity of the SSD.
- FIG. 1 is a block diagram showing the composition of a solid state hard disk processing system in the prior art
- FIG. 2 is a block diagram showing the composition of a multi-interface solid state hard disk according to Embodiment 1 of the present invention
- FIG. 3 is a block diagram showing the composition of a multi-interface solid state hard disk according to Embodiment 2 of the present invention.
- FIG. 4 is a flowchart of a method for processing a multi-interface solid state hard disk according to Embodiment 3 of the present invention.
- FIG. 5 is a flowchart of another multi-interface solid state hard disk processing method according to Embodiment 3 of the present invention.
- FIG. 6 is a structural block diagram of a multi-interface solid state hard disk processing system according to Embodiment 4 of the present invention.
- FIG. 7 is a structural block diagram of another multi-interface solid state hard disk processing system according to Embodiment 4 of the present invention.
- FIG. 8 is a structural block diagram of another multi-interface solid state hard disk processing system according to Embodiment 4 of the present invention.
- the embodiment of the present invention provides a multi-interface solid state hard disk, as shown in FIG. 2, comprising a plurality of interface control units 11, a command scheduling unit 12, a flash control unit 13 and a flash chip 14;
- Each of the interface control units 11 respectively corresponds to a communication interface, and the interface control unit 11 is configured to receive an operation command through the communication interface; specifically, the communication interface may be a PCIe interface, or a SATA interface; and the interface control unit 11
- the received operation command is from various hosts connected to the hard disk card, such as a PC, a server, etc., and is not limited herein.
- the command scheduling unit 12 is configured to acquire the operation command from the plurality of the interface control units 11 according to the scheduling rule, and put the operation command into the command queue.
- the command scheduling unit 12 may adopt multiple The principle of the communication interface polling, or the operation command in the plurality of interface control units 11 according to the principle that a plurality of the communication interface numbers are preceded by a lower number priority or a higher number, or other user-defined principles. Scheduling is not limited here.
- the command scheduling unit 12 is further configured to: take the operation command from the command queue and send the operation command to the flash control unit 13; specifically, when the operation command is taken out from the command queue, follow the command.
- the queue first-in-first-out rule which in turn takes out the operation command.
- the flash control unit 13 is configured to convert the received operation command into a flash operation command, and operate the flash chip 14 by using the flash operation command; specifically, the flash chip herein may adopt NAND (NAND) flash to obtain better performance; since the command received through the interface control unit does not directly operate the flash chip, it is necessary to convert the operation command into a flash operation command by the flash control unit 13 to the flash.
- the chip operates, such as reading data or writing data or other control operations.
- multiple communication interfaces are set in the solid state hard disk, so that different hosts can directly communicate with the solid state hard disk interface through different communication interfaces, thereby avoiding direct sharing of SSDs when multiple hosts share the SSD.
- a host other than the connected host needs to access the SSD indirectly. Different hosts can directly access the SSD concurrently. They do not need to access each other through sharing. Therefore, the access bandwidth of the host is improved and the host pairs are satisfied. SSD's high performance, high bandwidth and high capacity requirements.
- the embodiment of the present invention provides a multi-interface solid state hard disk.
- the system includes a plurality of interface control units 11, a command scheduling unit 12, a flash control unit 13, and a flash chip 14.
- Each of the interface control units 11 respectively corresponds to a communication interface, and the interface control unit 11 is configured to receive an operation command through the communication interface;
- the multiple communication interfaces may be PCIe interfaces, but the embodiment of the present invention is not limited thereto, and the communication interface may also be a SATA interface; the multiple communications are performed according to characteristics of the PCIe interface and the SATA interface.
- the interface is configured as a PCIe interface. Compared with the SATA interface, the transmission bandwidth between the host and the SSD can be increased, which can meet the requirements of the bandwidth performance.
- the embodiment of the present invention does not limit this.
- the interface types of the multiple communication interfaces may be flexibly set according to user requirements.
- a part of the plurality of communication interfaces is set as a PCIe interface, and another part is set as a SATA interface;
- the two communication interfaces can be set as the SATA interface, and the multiple communication interfaces can be set in the application field where the transmission bandwidth and the transmission performance are relatively high.
- the PCIe interface For the PCIe interface.
- the interface control unit 11 is configured to receive an operation command by using a communication interface, for example, receiving an operation command from the host through a PCIe interface or a SATA interface, where the operation command may be a read/write command, or may be a command with a maintenance function.
- a communication interface for example, receiving an operation command from the host through a PCIe interface or a SATA interface, where the operation command may be a read/write command, or may be a command with a maintenance function.
- the log query command, the bad block statistics query command, and the number of data block erasures in the flash are not limited in this embodiment of the present invention.
- the command scheduling unit 12 acquires the operation command from a plurality of the interface control units 11 according to a scheduling rule, and puts the operation command into a command queue;
- the command scheduling unit 12 obtains the operation command from the plurality of the interface control units 11 according to the scheduling rule, and when the operation command is put into the command queue, the following methods may be used, including:
- the command scheduling unit 12 sends an acquisition command for obtaining an operation command to the plurality of interface control units according to the scheduling rule; after receiving the acquisition command sent by the command scheduling unit, the interface control unit sends an operation command to the command scheduling unit 12;
- the scheduling unit 12 places the received operation command into the command queue.
- the command scheduling unit 12 may adopt a principle of polling according to a plurality of the communication interfaces, or according to a plurality of the communication interface numbers, according to a principle of lower number priority or higher number priority, to the plurality of interface control units 11
- the operation command is scheduled, and is not limited herein.
- the command scheduling unit 12 may also use other customized scheduling rules according to the requirements of the user, which is not limited in this embodiment of the present invention.
- the command scheduling unit 12 may adopt a principle of polling according to a plurality of the communication interfaces. include:
- the command scheduling unit 12 transmits a read command for acquiring the operation command to the interface control unit 1 and the interface control unit 12 according to a predetermined cycle, and the interface control unit 1 and the interface control unit 2 receive the read.
- the temporary operation command is sent to the command scheduling unit 12; the command scheduling unit 12 puts the received command 1 into the command queue, and then puts the received command 2 into the command queue. .
- the command scheduling unit 12 employs a priority according to a plurality of the communication interface numbers according to a lower number
- an operation command is acquired from a plurality of the interface control units 11, and the operation command is placed in a command queue.
- the method may include:
- the command scheduling unit 12 sequentially sends the acquisition to the corresponding interface control unit 1 and the interface control unit 2 according to the order of the two communication interfaces from low to high or the number of the two communication interfaces from high to low.
- the command scheduling unit 12 adopts the principle of prioritizing a higher number according to a plurality of the communication interface numbers, an operation command is acquired from a plurality of the interface control units 11, and the operation command is placed in the command queue.
- the method may include:
- the command scheduling unit 12 sequentially sends a read command for acquiring the operation command to the corresponding interface control unit 2 and the interface control unit 1 according to the order of the two communication interfaces from high to low; the interface control unit 2 and the interface After receiving the read command, the control unit 1 sends the temporarily stored operation command to the command scheduling unit; the command scheduling unit puts the received command 2 into the command queue first, and then receives the received command. 1 Put in the command queue.
- the command scheduling unit 12 is further configured to take out an operation command of the previous enqueue from the command queue and send the operation command to the flash control unit 13. Specifically, when the operation command is taken out from the command queue, the operation command is sequentially taken out according to the rules of the command queue first-in-first-out.
- the command scheduling unit 12 is physically provided with an ingress port corresponding to the number of interface control units and an egress port; each ingress port is respectively connected to an egress port of the corresponding interface control unit, and the egress port and the flash control unit are in the ingress. a port connection; the command scheduling unit 12 acquires the operation command from a plurality of the interface control units 11 according to a scheduling rule, and puts the operation command into a command queue through the ingress port, and the operation is performed After the command is taken out from the command queue, the slave operation command is sent to the flash control unit through the egress port.
- the flash control unit 13 is configured to convert the received operation command into a flash operation command, and operate the flash chip 14 by using the flash operation command;
- the flash control unit 13 receives the operation command, converts the operation command into a flash operation command, and sends the flash operation command to the flash chip 14.
- the flash chip can be used here. NAND Flash, for better performance; since the command received by the interface control unit does not directly operate the flash chip, the flash control unit 13 needs to convert the operation command into a flash operation command and then operate the flash chip. Such as reading data or writing data.
- the flash control unit 13 may be connected to one or more flash chips 14 according to the capacity requirement; or the embodiment of the present invention may also include multiple flash control units, each flash controller and one or more flashes. The chips are connected, and each flash control unit is connected to the command dispatch unit 12 via a bus.
- the command scheduling unit 12 is further configured to determine whether the operation command is composed of multiple commands; Determining that the operation command is composed of a plurality of commands, dividing the operation command into a plurality of commands, and transmitting the plurality of commands to the flash control unit; if it is determined that the operation command is composed of one command, A command is sent to the flash control unit.
- the operation command received by the flash control unit 13 includes a plurality of commands
- the plurality of commands are respectively converted into corresponding multiple flash operation commands, and the plurality of flash operation commands are respectively sent.
- a flash chip wherein the flash chip processes the plurality of flash operation commands in parallel; when the operation command received by the flash control unit 13 includes a command, converting the one command into a corresponding flash operation Commanding, and sending the flash operation command to the flash chip for processing.
- the flash chip executes the operation command, returning the execution result of the operation command to the command scheduling unit 12, so that the command scheduling unit 12 ends the execution of the corresponding operation command;
- the unit 12 receives the execution result of the operation command, and returns the execution result of the operation command to the host through the corresponding interface control unit 11.
- the execution result of the operation command when the execution result of the operation command is returned to the host through the corresponding interface control unit, the execution result may be directly returned to the host through the corresponding interface control unit by using an interrupt mode; The execution result is sent to the corresponding interface control unit, and the host periodically detects whether the execution result of the operation command is saved in the interface control unit. If it is detected that the execution result of the operation command is saved in the interface control unit, the host acquires the The execution result is not limited in the specific implementation, and the specific method is selected according to the specific circumstances.
- the first executed command is first returned to the command scheduling unit, so that the command scheduling unit ends the execution of the command.
- each unit may be implemented by using various hardware processing chips.
- the interface control unit and the command scheduling unit may use a PLD (Programable).
- Logic Device, Programmable Logic Device) such as FPGA (Field-Programmable Gate) Array, Field Programmable Gate Array), CPLD (Complex Programmable Logic) Device, complex programmable logic device)
- the flash control unit is implemented by another PLD; or each unit is implemented by a single PLD chip, which is not limited herein.
- multiple communication interfaces are set in the solid state hard disk, so that different hosts can directly communicate with the solid state hard disk interface through different communication interfaces, thereby avoiding direct sharing of SSDs when multiple hosts share the SSD.
- the host other than the connected host needs to access the SSD indirectly. Different hosts can directly access the SSD concurrently, and do not need to access each other through sharing. Therefore, the access bandwidth is increased to meet the SSD of each host. The need for features such as high performance, high bandwidth and large capacity.
- the interface of the multi-interface SSD is a PCIe interface
- the performance of the PCIe interface is further improved compared with other interfaces, so that the host can fully utilize the high performance, high bandwidth, and large SSD.
- the command scheduling unit ends the execution of the command, so that there are as many free channels in the SSD as possible for other commands to be processed, thereby improving the performance of the SSD.
- the embodiment of the invention provides a multi-interface solid state hard disk processing method. As shown in FIG. 4, the method includes:
- the multi-interface solid state hard disk is provided with multiple interface control units, and each interface control unit corresponds to a communication interface; the received operation command is from the host, and is used to operate the flash inside the SSD.
- the operation command is temporarily stored in the interface control unit, and is waiting for subsequent scheduling.
- the command scheduling unit of the SSD can be scheduled according to the scheduling rule, and the operation command is put into the command queue.
- the specific steps can include the following steps:
- the command scheduling unit sends an acquisition command for obtaining an operation command to the plurality of interface control units according to the scheduling rule; after receiving the acquisition command, the interface control unit sends the operation command to the command scheduling unit; the command scheduling unit places the received operation command Into the command queue.
- the command scheduling unit may adopt a principle of polling according to a plurality of the communication interfaces, or perform operation commands in multiple interface control units according to a plurality of the communication interface numbers according to a lower number priority or a higher number priority.
- the scheduling is performed.
- the embodiment of the present invention may also use other customized scheduling rules according to the requirements of the user, which is not limited in this embodiment of the present invention.
- command scheduling unit scheduling the operation commands in the multiple interface control units according to various scheduling algorithms, refer to the corresponding description in Embodiment 2, and details are not described herein again.
- the operation command is sequentially taken out according to the rule of the command queue first-in-first-out.
- step 203 as shown in FIG. 5, the following steps may also be included:
- step 2031 Determine whether the operation command is composed of multiple commands. If it is determined that the operation command is composed of multiple commands, step 2032 is performed. If it is determined that the operation command is composed of one command, step 2033 is performed.
- the operation command is divided into a plurality of commands, and step 204 is executed, that is, the plurality of commands are converted into corresponding multiple flash operation commands, and the flash chip in the solid state hard disk is operated.
- Step 20 executing step 204, converting the one command into a corresponding one of the flash operation commands, and operating the flash chip in the solid state hard disk.
- the flash chip here can use NAND Flash, for better performance; because the operation command received through the communication interface does not directly operate the flash chip, it is necessary to convert the operation command into a flash operation command before the flash chip can be operated, such as reading Data or write data or other control operations.
- the method may further include:
- the command scheduling unit receives an execution result of the operation command, and executes the operation command The result is returned to the host via the corresponding interface control unit.
- the execution result of the operation command when the execution result of the operation command is returned to the host through the corresponding interface control unit, the execution result may be directly returned to the host through the corresponding interface control unit by using an interrupt mode; The execution result is sent to the corresponding interface control unit, and the host periodically detects whether the execution result of the operation command is saved in the interface control unit. If it is detected that the execution result of the operation command is saved in the interface control unit, the host acquires the The execution result is not limited in the specific implementation, and the specific method is selected according to the specific circumstances.
- the first executed command is first returned to the command scheduling unit, so that the command scheduling unit ends the execution of the command.
- the operation command when the host sends an operation command to the solid state hard disk through multiple communication interfaces of the solid state hard disk, the operation command is independently set and received by the plurality of interface control units, and is controlled by the command scheduling unit. Dispatching the received operation command into the command queue, so that the received operation command has an operation sequence, and when the operation command needs to be operated, the operation is sent from the command queue to the flash control unit to control the processing.
- the operation command obtains the operation result, so that different hosts can directly communicate with the SSD interface through different communication interfaces, thereby avoiding indirect access of hosts other than the host directly connected to the SSD when multiple hosts share the SSD.
- the problem of the SSD is that different hosts can directly access the SSD concurrently, thereby improving the access bandwidth and satisfying the requirements of each host for the high performance, high bandwidth and large capacity of the SSD.
- the command scheduling unit ends the execution of the command, so that there are as many free channels in the SSD as possible for other commands to be processed, thereby improving the performance of the SSD.
- the embodiment of the present invention provides a multi-interface solid state hard disk processing system, including at least one host and a multi-interface SSD.
- the host is a host, the host is a host that can connect at least two communication interfaces of the multi-interface SSD;
- the host is a plurality of hosts, the host is a host that can connect at least one communication interface of the multi-interface SSD.
- the system includes multiple hosts and one multi-interface SSD, and each host includes a communication interface as an example, and specifically describes a multi-interface SSD processing system. As shown in FIG. 6, the system includes: multiple hosts and one Multi-interface SSD.
- Each host is provided with an interface for communicating with the multi-interface SSD, and the connection with the multi-interface SSD is implemented through the interface; after the host successfully runs the multi-interface SSD driver, the host and the multi-interface SSD can be implemented.
- a direct communication connection is used, and the multi-interface SSD is used as a storage device of the host itself.
- the host 1, the host 2, the host n are respectively connected to the multi-interface SSD through the communication interface 1, the communication interface 2, the communication interface n (not shown) of the multi-interface SSD;
- the interface control unit 1, the interface control unit 2, and the interface control unit are one-to-one corresponding to the communication interface 1, the communication interface 2, and the communication interface n. n, respectively receiving the operation command sent by the host 1, the host 2, the host n.
- Different hosts are connected to the same SSD through different communication interfaces; different hosts run their multi-interface SSD drivers, and the multi-interface SSDs are initialized as independent storage devices of the host, enabling multi-interface SSDs connecting multiple hosts.
- the size and extent of the access space of the multi-interface SSD accessed by each host are the size of the storage device externally presented by the multi-interface SSD.
- the processing of the operation command received by the multiple interface SSDs by the multiple interface control units can be referred to the descriptions in Embodiment 1, Embodiment 2, and Embodiment 3, and details are not described herein again.
- multiple communication interfaces are set in the multi-interface SSD, so that different hosts directly communicate with the SSD interface through different communication interfaces, thereby avoiding direct connection with the SSD when multiple hosts share the SSD.
- the host other than the host needs to access the SSD indirectly, so that different hosts can directly access the SSD concurrently, and do not need to access each other through sharing mode. Therefore, the access bandwidth is increased to meet the high SSD of each host.
- the embodiment of the present invention further provides a multi-interface SSD processing system, which can set a host directly connected to a multi-interface SSD as a master-slave relationship.
- a multi-interface SSD includes two communication interfaces as an example, and the processing is specifically described.
- the system as shown in Figure 7, includes: two hosts (Host 1 and Host 2) and a multi-interface SSD.
- the two hosts each include an interface connected to the multi-interface SSD, and the connection with the multi-interface SSD is implemented through the interface; after the host successfully runs the SSD driver, the host 1 and the host 2 are independent. Accessing the multi-interface SSD; in the specific implementation, the host 1 can be set as the master device, the host 2 is set as the standby device, and the link relationship is maintained between the host 1 and the host 2.
- the host 1 and the host 2 are respectively connected to the multi-interface SSD through the communication interface 1 and the communication interface 2 of the multi-interface SSD.
- the standby device does not access the SSD; when the host 1 fails, the standby host 2 starts to access the SSD.
- the host 1 transmits an operation command to the multi-interface SSD through the communication interface 1 of the multi-interface SSD, and the interface control unit 1 receives the operation command through the communication interface 1.
- the host 2 transmits an operation command to the multi-interface SSD through the communication interface 2 of the multi-interface SSD, and the interface control unit 2 receives the operation command through the communication interface 2.
- the processing of the operation command received by the multiple interface SSDs by the multiple interface control units can be referred to the descriptions in Embodiment 1, Embodiment 2, and Embodiment 3, and details are not described herein again.
- an active/standby relationship is set between different hosts connected to the multi-interface SSD.
- the standby host can continue to perform corresponding operations, thereby improving system reliability.
- the embodiment of the present invention further provides a multi-interface SSD processing system, which can set a host that communicates with the multi-interface SSD as a host of multiple communication interfaces, and the host in the embodiment of the present invention sets the host as two communication interfaces as an example.
- the processing system is illustrated. As shown in FIG. 8, the system includes:
- a host and a multi-interface SSD contains a multi-interface SSD driver and two inter-SSD communication interfaces.
- the interface 1 and the interface 2 of the host are respectively connected to the communication interface 1 and the communication interface 2 (not shown) of the multi-interface SSD, and each interface of the host is driven by running the multi-interface SSD.
- the multi-interface SSD can be independently accessed, and two independent multi-interface SSDs are displayed on the host to be connected to the host; in a specific implementation, the host can send an operation to the multi-interface SSD through one of the two interfaces.
- the command may also send an operation command to the multi-interface SSD through two interfaces at the same time; when an operation command is sent to the multi-interface SSD through two interfaces at the same time, the host side displays that the host can simultaneously access two multi-interface SSDs. This allows the bandwidth of the host and multi-interface SSD to be expanded, which can make the performance of the SSD better.
- the processing of the operation command received by the multiple interface SSDs by the multiple interface control units can be referred to the descriptions in Embodiment 1, Embodiment 2, and Embodiment 3, and details are not described herein again.
- multiple interfaces are set on the same host, and the multiple interfaces are connected to different communication interfaces of the multi-interface SSD.
- multiple interfaces of the host may be Concurrently sending operation commands to the multi-interface SSD, extending the interface bandwidth between a host and the SSD, different hosts can directly access the SSD solid state hard disk concurrently, improve access bandwidth, and satisfy each host to the SSD.
- Card SSDs require high performance, high bandwidth and large capacity.
- the present invention can be implemented by means of software plus necessary general hardware, and of course, by hardware, but in many cases, the former is a better implementation. .
- the technical solution of the present invention which is essential or contributes to the prior art, can be embodied in the form of a software product stored in a readable storage medium, such as a floppy disk of a computer.
- a hard disk or optical disk, etc. includes instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform the methods described in various embodiments of the present invention.
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 Systems (AREA)
- Computer And Data Communications (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Description
Claims (10)
- 一种多接口固态硬盘,其特征在于:包括多个接口控制单元、命令调度单元、flash控制单元以及flash芯片,每个接口控制单元分别对应于一个通信接口;所述接口控制单元,用于通过所述通信接口接收操作命令;所述命令调度单元,用于按照调度规则从多个所述接口控制单元中获取所述操作命令,将所述操作命令放入命令队列;所述命令调度单元还用于从所述命令队列中取出所述操作命令并发送给所述flash控制单元;所述flash控制单元,用于将接收到的所述操作命令转化为flash操作命令,通过所述flash操作命令对所述flash芯片进行操作。
- 根据权利要求1所述的多接口固态硬盘,其特征在于,所述命令调度单元,用于按照调度规则从多个所述接口控制单元中获取操作命令,包括:所述命令调度单元按照多个所述通信接口轮询的原则,或者根据多个所述通信接口编号按照较低编号优先或较高编号优先的原则获取所述操作命令。
- 根据权利要求1所述的多接口固态硬盘,其特征在于,所述命令调度单元还用于:在从所述命令队列中取出所述操作命令之后,判断所述操作命令是否由多条命令组成;若判定所述操作命令由多条命令组成,将所述操作命令划分为多条命令,并将所述多条命令发送给所述flash控制单元;若判定所述操作命令由一条命令组成,将所述一条命令发送给所述flash控制单元。
- 根据权利要求1所述的多接口固态硬盘,其特征在于,所述通信接口为增强外围设备互联PCIe接口。
- 一种多接口固态硬盘处理方法,其特征在于,包括:通过多个通信接口接收操作命令;按照调度规则获取从所述多个通信接口接收的所述操作命令,将所述操作命令放入命令队列;从所述命令队列中取出所述操作命令;将所述操作命令转化成flash操作命令,对所述固态硬盘中的flash芯片进行操作。
- 根据权利要求5所述的方法,其特征在于,按照调度规则获取从所述多个通信接口接收的所述操作命令包括:按照所述多个通信接口轮询的原则,或者根据多个所述通信接口编号按照较低编号优先或较高编号优先的原则获取所述操作命令。
- 根据权利要求5所述的方法,其特征在于,在从所述命令队列中取出所述操作命令之后,该方法还包括:判断所述操作命令是否由多条命令组成;若判定所述操作命令由多条命令组成,将所述操作命令划分为多条命令,并将所述多条命令转化成对应的多条flash操作命令,对所述固态硬盘中的flash芯片进行操作;若判定所述操作命令由一条命令组成,将所述一条命令转化成对应的一条flash操作命令,对所述固态硬盘中的flash芯片进行操作。
- 一种多接口固态硬盘处理系统,其特征在于,包括:至少一个主机和至少一个多接口固态硬盘;所述主机包括多接口固态硬盘驱动,通过运行所述驱动,实现所述主机和所述多接口固态硬盘的直接通信连接,所述主机用于向所述多接口固态硬盘发送操作命令;所述多接口固态硬盘包括多个接口控制单元、命令调度单元、flash控制单元以及flash芯片,每个接口控制单元分别对应于一个通信接口;所述接口控制单元,用于通过所述通信接口接收所述主机发送的操作命令;所述命令调度单元,用于按照调度规则从多个所述接口控制单元中获取所述操作命令,将所述操作命令放入命令队列;所述命令调度单元还用于从所述命令队列中取出所述操作命令并发送给所述flash控制单元;所述flash控制单元,用于将接收到的所述操作命令转化为flash操作命令,通过所述flash操作命令对所述flash芯片进行操作。
- 根据权利要求8所述的系统,其特征在于,当所述主机为两个主机,并且所述主机为至少连接多接口固态硬盘的一个通信接口的主机时,还包括:将所述一个主机设置为主用设备,将另一个主机设置为备用设备,并且主用设备和备用设备之间保持链路通信。
- 根据权利要求7-9中任一项所述的系统,其特征在于,所述通信接口为增强外设互联PCIe接口。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020127013992A KR20120087980A (ko) | 2010-05-27 | 2011-05-27 | 다중 인터페이스 솔리드 스테이트 디스크, 및 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법 및 시스템 |
EP11786096A EP2492916A4 (en) | 2010-05-27 | 2011-05-27 | MULTI-INTERFACE ELECTRONIC HARD DRIVE (SSD), PROCESSING METHOD AND SYSTEM THEREOF |
RU2012128534/08A RU2012128534A (ru) | 2010-05-27 | 2011-05-27 | Мультиинтерфейсный твердотельный диск, способ и система обработки мультиинтерфейсного твердотельного диска |
MX2012005934A MX2012005934A (es) | 2010-05-27 | 2011-05-27 | Disco de estado solido (ssd) multi-interfaz, metodo de procesamiento y sistema del mismo. |
BR112012014266A BR112012014266A2 (pt) | 2010-05-27 | 2011-05-27 | disco de estado sólico multi-interface, método de processamento e sistema do mesmo |
US13/473,297 US20120233386A1 (en) | 2010-05-27 | 2012-05-16 | Multi-interface solid state disk, processing method and system of multi-interface solid state disk |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010184698A CN101833989A (zh) | 2010-05-27 | 2010-05-27 | 多接口固态硬盘及其处理方法和系统 |
CN201010184698.9 | 2010-05-27 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/473,297 Continuation US20120233386A1 (en) | 2010-05-27 | 2012-05-16 | Multi-interface solid state disk, processing method and system of multi-interface solid state disk |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011147324A1 true WO2011147324A1 (zh) | 2011-12-01 |
Family
ID=42718030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2011/074760 WO2011147324A1 (zh) | 2010-05-27 | 2011-05-27 | 多接口固态硬盘及其处理方法和系统 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20120233386A1 (zh) |
EP (1) | EP2492916A4 (zh) |
KR (1) | KR20120087980A (zh) |
CN (1) | CN101833989A (zh) |
BR (1) | BR112012014266A2 (zh) |
MX (1) | MX2012005934A (zh) |
RU (1) | RU2012128534A (zh) |
WO (1) | WO2011147324A1 (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8082384B2 (en) | 2008-03-26 | 2011-12-20 | Microsoft Corporation | Booting an electronic device using flash memory and a limited function memory controller |
CN101833989A (zh) * | 2010-05-27 | 2010-09-15 | 华为技术有限公司 | 多接口固态硬盘及其处理方法和系统 |
WO2012140670A2 (en) * | 2011-04-11 | 2012-10-18 | Ineda Systems Pvt. Ltd | Multi-host sata controller |
WO2012143944A2 (en) * | 2011-04-18 | 2012-10-26 | Ineda Systems Pvt. Ltd | Multi-host nand flash controller |
CN102566943B (zh) * | 2011-12-31 | 2015-03-11 | 记忆科技(深圳)有限公司 | 基于固态硬盘的通讯方法及固态硬盘 |
CN103150427A (zh) * | 2013-02-19 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | 一种基于ssd硬盘缓存加速与备份的raid设计方法 |
US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
CN103809920B (zh) * | 2014-02-13 | 2017-05-17 | 杭州电子科技大学 | 一种超大容量固态硬盘的实现方法 |
US9933980B2 (en) | 2014-02-24 | 2018-04-03 | Toshiba Memory Corporation | NAND raid controller for connection between an SSD controller and multiple non-volatile storage units |
US9632953B2 (en) * | 2014-06-03 | 2017-04-25 | Qualcomm Incorporated | Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers |
US9690720B2 (en) | 2014-06-03 | 2017-06-27 | Qualcomm Incorporated | Providing command trapping using a request filter circuit in an input/output virtualization (IOV) host controller (HC) (IOV-HC) of a flash-memory-based storage device |
US9881680B2 (en) | 2014-06-03 | 2018-01-30 | Qualcomm Incorporated | Multi-host power controller (MHPC) of a flash-memory-based storage device |
US20160070665A1 (en) * | 2014-09-08 | 2016-03-10 | Htc Corporation | Portable electronic device and user data access method therefor |
KR102367982B1 (ko) | 2015-06-22 | 2022-02-25 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
TWI612429B (zh) * | 2016-04-12 | 2018-01-21 | 緯創資通股份有限公司 | 伺服器系統及其資料存取方法 |
US10909047B2 (en) * | 2016-06-01 | 2021-02-02 | Raymx Microelectronics Corp. | Flash memory control device capable of detecting type of interface and method thereof |
CN106681945A (zh) * | 2016-11-24 | 2017-05-17 | 天津津航计算技术研究所 | 多协议接口的固态硬盘 |
CN106843747A (zh) * | 2016-11-24 | 2017-06-13 | 天津津航计算技术研究所 | 双接口数据实时共享固态硬盘 |
JP6812900B2 (ja) * | 2017-05-17 | 2021-01-13 | 富士通株式会社 | ストレージ装置、ストレージ制御装置、およびストレージ制御プログラム |
KR102527925B1 (ko) | 2017-11-29 | 2023-05-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
CN109445686B (zh) * | 2018-09-28 | 2020-11-17 | 方一信息科技(上海)有限公司 | 一种存储磁盘以及存取数据的方法 |
CN109976772A (zh) * | 2019-03-29 | 2019-07-05 | 深圳忆联信息系统有限公司 | Ssd自动开卡和安装系统及其方法 |
CN110888592B (zh) * | 2019-05-15 | 2023-09-15 | 天津大学深圳研究院 | 基于延迟ssd系统智能并行资源利用的请求调度方法及系统 |
US11762798B2 (en) * | 2019-06-25 | 2023-09-19 | Micron Technology, Inc. | Aggregated and virtualized solid state drives with multiple host interfaces |
US11513923B2 (en) | 2019-06-25 | 2022-11-29 | Micron Technology, Inc. | Dynamic fail-safe redundancy in aggregated and virtualized solid state drives |
US11768613B2 (en) * | 2019-06-25 | 2023-09-26 | Micron Technology, Inc. | Aggregation and virtualization of solid state drives |
US10942881B2 (en) | 2019-06-25 | 2021-03-09 | Micron Technology, Inc. | Parallel operations in aggregated and virtualized solid state drives |
US11055249B2 (en) | 2019-06-25 | 2021-07-06 | Micron Technology, Inc. | Access optimization in aggregated and virtualized solid state drives |
US11573708B2 (en) | 2019-06-25 | 2023-02-07 | Micron Technology, Inc. | Fail-safe redundancy in aggregated and virtualized solid state drives |
US10942846B2 (en) | 2019-06-25 | 2021-03-09 | Micron Technology, Inc. | Aggregated and virtualized solid state drives accessed via multiple logical address spaces |
KR20210105201A (ko) | 2020-02-18 | 2021-08-26 | 삼성전자주식회사 | 다중-호스트를 지원하도록 구성된 스토리지 장치 및 그것의 동작 방법 |
CN111897491A (zh) * | 2020-07-15 | 2020-11-06 | 上海实业交通电器有限公司 | 一种nor flash操作处理方法、终端、计算机设备及存储介质 |
CN112114744A (zh) * | 2020-08-10 | 2020-12-22 | 西安交通大学 | 一种多通道全互联架构的ssd固态盘及其控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795327B2 (en) * | 2001-11-23 | 2004-09-21 | Netac Technology Co., Ltd. | Semiconductor storage method and device supporting multi-interface |
CN1558305A (zh) * | 2004-01-19 | 2004-12-29 | 中国科学院计算技术研究所 | 一种总线式通用串行总线复用器 |
CN101833989A (zh) * | 2010-05-27 | 2010-09-15 | 华为技术有限公司 | 多接口固态硬盘及其处理方法和系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030065861A1 (en) * | 2001-09-28 | 2003-04-03 | Clark Clyde S. | Dual system masters |
US7870334B2 (en) * | 2003-11-12 | 2011-01-11 | International Business Machines Corporation | Distributed task queues in a multiple-port storage system |
US7685374B2 (en) * | 2007-07-26 | 2010-03-23 | Siliconsystems, Inc. | Multi-interface and multi-bus structured solid-state storage subsystem |
US20090100174A1 (en) * | 2007-09-07 | 2009-04-16 | Sushma Annareddy | Method and system for automatic polling of multiple device types |
CN101398745B (zh) * | 2007-09-29 | 2011-12-21 | 群联电子股份有限公司 | 并行数据存取架构的固态盘存储系统与固态盘控制器 |
CN101149664A (zh) * | 2007-10-26 | 2008-03-26 | 华为技术有限公司 | 固态硬盘及处理其管理数据的方法 |
US20090150894A1 (en) * | 2007-12-10 | 2009-06-11 | Ming Huang | Nonvolatile memory (NVM) based solid-state disk (SSD) system for scaling and quality of service (QoS) by parallelizing command execution |
US8140724B1 (en) * | 2008-08-22 | 2012-03-20 | Marvell International Ltd. | SATA pass through port |
US8756369B2 (en) * | 2008-09-26 | 2014-06-17 | Netapp, Inc. | Priority command queues for low latency solid state drives |
CN101373628B (zh) * | 2008-10-14 | 2011-12-28 | 宋涛 | 固态硬盘 |
-
2010
- 2010-05-27 CN CN201010184698A patent/CN101833989A/zh active Pending
-
2011
- 2011-05-27 KR KR1020127013992A patent/KR20120087980A/ko not_active Application Discontinuation
- 2011-05-27 WO PCT/CN2011/074760 patent/WO2011147324A1/zh active Application Filing
- 2011-05-27 EP EP11786096A patent/EP2492916A4/en not_active Withdrawn
- 2011-05-27 BR BR112012014266A patent/BR112012014266A2/pt not_active IP Right Cessation
- 2011-05-27 RU RU2012128534/08A patent/RU2012128534A/ru unknown
- 2011-05-27 MX MX2012005934A patent/MX2012005934A/es not_active Application Discontinuation
-
2012
- 2012-05-16 US US13/473,297 patent/US20120233386A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6795327B2 (en) * | 2001-11-23 | 2004-09-21 | Netac Technology Co., Ltd. | Semiconductor storage method and device supporting multi-interface |
CN1558305A (zh) * | 2004-01-19 | 2004-12-29 | 中国科学院计算技术研究所 | 一种总线式通用串行总线复用器 |
CN101833989A (zh) * | 2010-05-27 | 2010-09-15 | 华为技术有限公司 | 多接口固态硬盘及其处理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101833989A (zh) | 2010-09-15 |
EP2492916A1 (en) | 2012-08-29 |
BR112012014266A2 (pt) | 2017-04-04 |
KR20120087980A (ko) | 2012-08-07 |
MX2012005934A (es) | 2012-06-25 |
US20120233386A1 (en) | 2012-09-13 |
EP2492916A4 (en) | 2013-01-23 |
RU2012128534A (ru) | 2014-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011147324A1 (zh) | 多接口固态硬盘及其处理方法和系统 | |
US10346156B2 (en) | Single microcontroller based management of multiple compute nodes | |
TWI382315B (zh) | 通用串列匯流排矩陣切換系統 | |
CN100345130C (zh) | 用于器件间通信的多通道接口 | |
KR20190040886A (ko) | 브리지 장치를 이용한 스토리지 인접 연산 제공 시스템 및 방법 | |
US10860511B1 (en) | Integrated network-attachable controller that interconnects a solid-state drive with a remote server computer | |
KR20180050728A (ko) | 멀티-노드 네트워크에서의 입력/출력 신호 브릿징 및 가상화 | |
CN102724035B (zh) | 一种加密卡的加解密方法 | |
WO2012099434A2 (en) | Sas-based semiconductor storage device memory disk unit | |
CN103150279A (zh) | 一种主机与基板管理控制器共享设备的方法 | |
CN109992543A (zh) | 一种基于zyzq-7000的pci-e数据高效传输方法 | |
CN103257946A (zh) | 一种紧耦合多控存储系统控制器之间的高速互联方法 | |
CN114756493B (zh) | 一种面向可扩展互连裸芯与对等设备的对等接口设计及通信方法 | |
CN103220040A (zh) | 一种内置式光口bypass的状态切换方法和系统 | |
CN100452757C (zh) | 报文转发方法和装置 | |
WO2012138111A2 (en) | Dynamic random access memory for a semiconductor storage device-based system | |
CN107066413B (zh) | 一种用于处理多个总线设备数据的方法及其总线系统 | |
EP1988470B1 (en) | Network device and transmission method thereof | |
CN112347017A (zh) | Lpc总线接口的ps/2键盘双机外挂系统和切换方法 | |
CN110855581A (zh) | 适用于vpx架构的40g和srio复用的国产交换刀片装置 | |
WO2022114272A1 (ko) | 적응형 트랜잭션 처리 방법 및 이를 위한 장치 | |
CN115237830A (zh) | 一种基于龙芯2k的vpx管理控制仲裁装置及方法 | |
CN207039637U (zh) | 一种基于大数据的信息采集、处理系统 | |
CN1278204C (zh) | 电源管理状态控制方法 | |
WO2015070539A1 (zh) | 一种基于dma的数据压缩芯片结构及其实现方法 |
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: 11786096 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 4351/CHENP/2012 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: MX/A/2012/005934 Country of ref document: MX Ref document number: 2011786096 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 20127013992 Country of ref document: KR Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012548334 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012128534 Country of ref document: RU |
|
REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112012014266 Country of ref document: BR |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 112012014266 Country of ref document: BR Kind code of ref document: A2 Effective date: 20120613 |