WO2018049648A1 - Data conversion apparatus, chip, method and device, and image system - Google Patents

Data conversion apparatus, chip, method and device, and image system Download PDF

Info

Publication number
WO2018049648A1
WO2018049648A1 PCT/CN2016/099210 CN2016099210W WO2018049648A1 WO 2018049648 A1 WO2018049648 A1 WO 2018049648A1 CN 2016099210 W CN2016099210 W CN 2016099210W WO 2018049648 A1 WO2018049648 A1 WO 2018049648A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
interface
chip
nvme
format
Prior art date
Application number
PCT/CN2016/099210
Other languages
French (fr)
Chinese (zh)
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 深圳市大疆创新科技有限公司
Priority to CN201680002575.4A priority Critical patent/CN107077304B/en
Priority to PCT/CN2016/099210 priority patent/WO2018049648A1/en
Publication of WO2018049648A1 publication Critical patent/WO2018049648A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Definitions

  • the present application relates to data conversion technologies, and more particularly to data conversion devices, chips, methods, devices, and imaging systems.
  • RAW original
  • CMOS Complementary Metal Oxide Semiconductor
  • CCD Charge-coupled Device
  • RAW files are files generated after lossless compression, files in formats such as JPEG (Joint Photographic Experts Group) will be much larger.
  • Storage of RAW files requires a larger capacity storage device, which is adopted by some camera manufacturers.
  • SSD Solid State Drives
  • SATA Serial Advanced Technology Attachment
  • NVME Non-Volatile Memory Express
  • the application provides a data conversion device, a chip, a method, a device, and an imaging system.
  • a data conversion device comprising a data processing device, the data processing device comprising a first interface and a second interface;
  • the first interface is configured to connect to an external host to transmit data in a first format to the external host in both directions;
  • the second interface is used to connect to an NVME solid state drive
  • the data processing device is configured to convert the data of the first format into data of an NVME protocol format and send the data to the NVME solid state hard disk when receiving the write command of the external host; and receive the external host When the command is read, the NVME protocol format data in the NVME solid state drive is converted into the data in the first format and sent to the external host.
  • a chip including: a second interface, a parallel interface, and a protocol conversion device;
  • the second interface is used to connect to an NVME solid state drive
  • the parallel interface is used to connect with an external device
  • the protocol conversion device is configured to convert parallel interface data into data of an NVME protocol format and send the data to the NVME solid state hard disk upon receiving a write instruction from the external device; receiving a read command of the external device
  • the NVME protocol format data in the NVME solid state hard disk is converted into parallel interface data and sent to the parallel interface.
  • a chip including: a second interface, a USB interface, and a protocol conversion device;
  • the USB interface is used to connect with an external host
  • the second interface is used to connect with an NVME solid state hard disk
  • the protocol conversion device is configured to convert USB data into data in an NVME protocol format and send the data to the second interface when receiving the write command from the external host; when receiving the read command from the external host,
  • the NVME protocol format data in the NVME solid state drive is converted into USB data and sent to the USB interface.
  • a data conversion method including the steps of:
  • the write command of the external host When receiving the write command of the external host, converting the format of the write data carried by the write command into the NVME protocol format, and then writing the address space corresponding to the NVME solid state hard disk; when receiving the external host read command, the read command
  • the data in the NVME protocol format is read in the address space corresponding to the instruction, and converted into the data in the first format and sent to the external host, where the first format corresponds to the interface type of the external host.
  • a data conversion apparatus including:
  • a first interface driving module configured to receive a write command or a read command of the external host, and notify the protocol conversion module; and interact with the external host in the first format data
  • a second interface driving module configured to exchange data with the NVME solid state hard disk
  • the protocol conversion module is configured to write the data carried by the write command when receiving the write command of the external host Converting the format to the NVME protocol format, and then notifying the second interface driver module to write the address space corresponding to the NVME solid state hard disk; when receiving the external host read command, reading the NVME protocol format from the address space corresponding to the read command After the data is converted into the data of the first format, the first interface driver module is notified to send to the external host.
  • an image system including: an image capturing device and a data conversion device;
  • the image capturing device includes a PCIE interface for detachably connecting the NVME solid state hard disk;
  • the data conversion device includes at least one chip, and the chip includes:
  • the chip is configured to convert USB data into NVME protocol format data and send the data to the NVME solid state hard disk when receiving the write instruction of the image processing device; when receiving the read instruction of the image processing device, The NVME protocol format data is converted into USB data and sent to the image processing device.
  • the data conversion device, the chip, the method, the device and the image system of the embodiments of the present application provide a solution for converting and bidirectionally transmitting data of the NVME solid state hard disk and the data of the external host, so that the external host can be utilized.
  • the external interface enables data transmission with the NVME SSD, which eliminates the need for complex data conversion functions for both NVME SSDs and external hosts, thereby increasing the convenience of NVME SSD data transmission.
  • FIG. 1 is a schematic structural diagram of a system in an embodiment of the present application.
  • FIG. 2 is a partial schematic structural diagram of a data processing apparatus according to an embodiment of the present application.
  • FIG. 3 is a partial structural diagram of a data processing apparatus according to another embodiment of the present application.
  • FIG. 4 is a partial structural schematic view of a second chip in the embodiment of the present application.
  • FIG. 5 is a schematic diagram of an application scenario in an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a portion of a data processing apparatus according to an embodiment of the present application.
  • FIG. 7 is a partial structural diagram of a chip in an embodiment of the present application.
  • FIG. 8 is a partial schematic structural diagram of a protocol conversion device in the chip shown in FIG. 7;
  • FIG. 9 is another schematic diagram of a protocol conversion apparatus according to an embodiment of the present application.
  • FIG. 10 is a partial structural schematic view of another chip in the embodiment of the present application.
  • FIG. 11 is a partial flowchart of a data conversion method in an embodiment of the present application.
  • FIG. 12 is a logic block diagram of a data conversion apparatus according to an embodiment of the present application.
  • FIG. 13 is a logic block diagram of a data conversion apparatus according to another embodiment of the present application.
  • FIG. 14 is a logic block diagram of a second protocol conversion module according to an embodiment of the present application.
  • first, second, third, etc. may be used to describe various information in this application, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other.
  • first information may also be referred to as the second information without departing from the scope of the present application.
  • second information may also be referred to as the first information.
  • NVME SSDs As the demand for storage bandwidth increases, NVME SSDs have begun to gain popularity. Some manufacturers install NVME SSDs on some electronic devices as needed to store data as storage devices. For example, some shadows Image devices (such as cameras, video recorders, etc.) already have an interface that is compatible with NVME SSDs, and uses NVME SSDs to store image data such as video or pictures.
  • the data stored in the NVME SSD may need to be exported to an external host.
  • the image data in the image device may be exported to a PC or other device.
  • the data in the NVME SSD may need to be performed by an external host.
  • Write operation for example, adding or deleting data in the NVME solid state drive through a personal computer. Because the external interface on the external host is not the interface that is compatible with the NVME SSD, it is not convenient to read and write data in the NVME SSD.
  • the embodiment of the present application provides a solution for bidirectionally transmitting data in an NVME solid state hard disk to an external host.
  • the type of the external host is not limited in this embodiment, and may be various terminals with computing power, such as a mobile phone, a tablet computer, a notebook computer, a desktop computer, and the like.
  • FIG. 1 is a partial structural diagram of each device in a system architecture in an embodiment.
  • a data conversion device 10 is provided.
  • the data conversion device 10 can be independent of the NVME solid state disk 11 and the external host 12 for convenient portability, convenient use on different devices, and no increase in NVME.
  • the purpose of the size and power consumption of the solid state drive 11 is.
  • the data conversion device 10 can be embodied as a card reader.
  • data conversion device 10 includes a data processing device 110.
  • the data processing device 110 has a first interface 1101 and a second interface 1102; the external host 12 can be connected through the first interface 1101, and the NVME solid state hard disk 11 can be connected through the second interface 1102.
  • the first interface 1101 and the second interface 1102 may be hardware interfaces, and may be respectively connected to the external host 12 or the NVME solid state hard disk 11 by means of physical connection.
  • the first interface 1101 can match the interface type of an external interface 120 of the external host 12, and the format of the data transmitted bidirectionally between the first interface 1101 and the external host 12 can be referred to as a first format, for example, when an external host When the interface of 12 is a USB1.0, USB2.0, or USB3.0 interface, the first interface 1101 is a matched USB interface, and the data of the first format is USB data.
  • the interface type for the first interface 1101 is not enumerated here, and the data of the first format is not limited to USB data.
  • the second interface 1102 can be a hardware interface supporting the NVME protocol, such as a PCIE interface, a U.2 interface, or the like.
  • the data processing device 110 When the data processing device 110 receives data through one of the interfaces, it converts to a data format corresponding to another interface and transmits it through another interface.
  • the flow of the data format conversion can be triggered by the external host 12, for example, when the data processing device 110 receives the write command of the external host 12, the first interface 1101
  • the received data of the first format is converted into the data of the NVME protocol format, and when the read command of the external host 12 is received, the data of the NVME protocol format in the NVME solid state hard disk is converted into the data of the first format, and sent to the external Host.
  • the write command may refer to an instruction that the external host 12 performs a write operation to the NVME solid state drive 11
  • the read command may refer to an instruction of the external host 12 to read the data in the NVME solid state drive 11.
  • the information carried by the write command or the read command can be determined according to different design requirements. For example, in some occasions, the write command or the read command can carry information such as the data storage address and the length of the read/write data.
  • the data processing device 110 When receiving the write command of the external host 12, the data processing device 110 converts the format of the write data carried by the write command into the NVME protocol format, and then writes the address space corresponding to the NVME solid state hard disk 11; upon receiving the external host 12 When the command is read, the data of the NVME protocol format is read from the address space corresponding to the read command in the NVME solid state hard disk 11 and converted into the data of the first format and sent to the external host 12.
  • the dedicated chip may be an ASIC (Application Specific Integrated Circuit) chip or a programmable device such as an FPGA (Field-Programmable Gate Array).
  • the functions of the data processing device 110 can be implemented by one chip, and some of the functions can be separately performed by different chips.
  • the chip can realize the corresponding functions through a software program, and can also implement corresponding functions through hardware forms such as circuits.
  • the data processing device 110 of FIG. 2 includes a first chip 1103 and a second chip 1104.
  • the two chips are connected by at least one inter-chip interface 1105.
  • the type of inter-chip interface 1105 can be determined by the type of two chips.
  • the first chip 1103 may be a USB PHY chip
  • the second chip 1104 may be an FPGA chip.
  • a parallel interface may be used as an inter-chip interface between two chips.
  • the parallel interface may be a GPIF (general programmable). Interface) General programmable interface.
  • the first interface 1101 is located on the first chip 1103, and the second interface 1102 is located on the second chip 1104.
  • the conversion process of the data between the first format and the NVME format can be further refined into multiple conversions.
  • the first chip 1103 has a read command or a write command from the first device to the second chip, and data format conversion and data transfer between the external host 12 and the second chip 1104.
  • second core The slice 1104 has a function of data format conversion and data transfer between the first chip 1103 and the NVME solid state hard disk 11 based on a read command or a write command. So in this example, the data conversion process can include the following process:
  • the write command and the write data of the first format carried by the write command are converted into the data format corresponding to the inter-chip interface 1105 (for example, Parallel interface data), and the converted data is sent to the second chip 1104 through the inter-chip interface 1105; the second chip 1104 analyzes the received write command, and converts the received write data into data in the NVME protocol format.
  • the corresponding address space of the NVME solid state hard disk 11 is then written through the second interface 1102.
  • the read command is converted into a data format corresponding to the inter-chip interface 1105 (for example, parallel interface data), and is converted by the inter-chip interface 1105.
  • the subsequent read command is sent to the second chip 1104; the second chip 1104 analyzes the received read command, reads the data in the NVME protocol format from the corresponding address space of the NVME solid state hard disk 11 through the second interface 1102, and then reads the data.
  • the data is converted into a data format corresponding to the inter-chip interface 1105, and is sent to the first chip 1103 through the inter-chip interface 1105.
  • the first chip 1103 converts the data into the first format. And transmitted to the external host 12 through the first interface 1101.
  • data from the external host 12 or data from the NVME solid state hard disk 11 may be cached before the data format conversion is performed, and then the conversion operation is performed. This will be described with reference to FIG. 3.
  • the second chip 1104 may have an internal cache 1107 inside, which may buffer data from the inter-chip interface 1105 of the second chip 1104 and the NVME solid state drive 11 through the internal cache 1107.
  • the data processing device 110 may further include a cache chip 1106 located outside the second chip 1104 and connected to the second chip 1104.
  • the inter-chip interface 1105 and NVME from the second chip 1104 may be utilized by the cache chip 1106.
  • the data of the solid state drive 11 is buffered.
  • the second chip 1104 can implement data exchange with the cache chip 1106 through a cache chip control module (not shown in this figure).
  • the data processing device 110 may further include an independent power supply module that is independent of the power supply of the first interface 1101.
  • the maximum power input capability of the independent power supply module may be greater than The maximum power input capability of the first interface 1101
  • the data processing device 110 may further include a power interface for supplying power to the first chip 1103 or the second chip 1104 by connecting an external power source.
  • the second chip 1104 may have a plurality of software or hardware modules to implement some of the functions of the second chip 1104.
  • 4 is a schematic illustration of the internal structure of a second chip 1104.
  • a DDR (Double Data Rate) chip 1106a is used as the cache chip 1106 for description.
  • the second chip 1104 includes a DMA (Direct Memory Access) module 1104a, a processing module 1104b, and a second interface driver module 1104c connected to the second interface 1102.
  • DMA Direct Memory Access
  • processing module 1104b the processing module 1104b
  • second interface driver module 1104c connected to the second interface 1102.
  • the DMA module 1104a can store the read/write command of the external host 12 into the DDR chip 1106a, notify the processing module 1104b of the cache address, and read data from the DDR chip 1106a according to the cache address notified by the processing module 1104b, and pass the slice.
  • the inter-interface 1105 is transmitted to the first chip 1103; as an example, the DMA module can support the DMA data transfer mode.
  • the processing module 1104b may acquire a read instruction according to the cache address notified by the DMA module 1104a, and analyze the read instruction to determine an access parameter including a corresponding address space (eg, a source address, a destination address, an address length of the read/write data), according to the access.
  • the parameter accesses the NVME solid state hard disk by using the second interface driving module 1104c, caches the data returned by the NVME solid state hard disk in the DDR chip 1106a, and notifies the DMA module 1104a of the buffer address of the data; or
  • the DDR control module 1104d connects the DDR chip 1106a and the processing module 1104b.
  • the read and write operations of the internal data of the DDR chip 1106a can be completed by the processing module 1104b controlling the DDR control module 1104d.
  • FIG. 5 is a schematic diagram of the application scenario.
  • the application scenario of FIG. 5 includes an image capture system 50 and an image processing device 515.
  • the image capture system 50 primarily includes an image capture device 510 and a data conversion device 10, which may be referred to as a card reader.
  • the image capturing device 510 can include a cloud platform that can be detachably mounted on the drone, and the pan/tilt can be used to carry a camera and stabilize the camera.
  • the NVME SSD 11 is used as the data storage device of the image capturing device 510.
  • the image capturing device 510 includes a PCIE interface 511, which can be embodied as a PCIE interface slot, and can be detachably connected to the NVME SSD 11.
  • the image data is written into the NVME solid state hard disk 11 through the PCIE interface 511, and the NVME solid state hard disk 11 can be taken from the PCIE interface 511 when the user needs it.
  • the slot is taken out and inserted into the data conversion device 10 to exchange data with the image processing device 515, and the data conversion device 10 can be connected to the image processing device 515 via the USB connection line 514.
  • the data conversion device 10 includes at least one chip that provides a hardware interface and a data conversion function.
  • a PCIE interface 513 is provided, and the NVME solid state hard disk 11 is detachably connected.
  • the PCIE interface 513 can be a slot for the NVME solid state hard disk 11 to be inserted.
  • the chip further provides a USB interface 512 for connecting to an external image processing device 515.
  • the data conversion device 10 can also provide power status indication, read/write status indication and the like through the chip. Accordingly, the data conversion device 10 can also have an output interface such as a power indicator light and a read/write indicator.
  • the write command data format is USB data
  • the chip can convert the USB data into the NVME protocol format data and send it to the NVME solid state hard disk 11; after receiving the image processing
  • the NVME protocol format data is converted into USB data and sent to the image processing device 515.
  • the data conversion device 10 can be exemplified with reference to FIG. 6 and FIG. 2 to FIG. 5 .
  • the data conversion device 10 can also include the USB PHY chip 601 (corresponding to the first chip 1103 ). And an FPGA chip (equivalent to the second chip 1104).
  • the USB interface of the USB PHY chip is USB3.0 interface, and the model of the USB PHY chip can be CY3014.
  • the FPGA chip 602 has a PCIE interface.
  • the USB PHY chip 601 and the FPGA chip 602 are parallel interfaces, and a GPIF interface can be adopted.
  • the USB PHY chip 601 implements mutual conversion of the USB protocol to the parallel interface. Since the USB protocol-related functions are completed by the USB PHY chip 601, the FPGA chip 602 can simplify the FPGA chip 602 without considering a complicated USB protocol. The difficulty of implementing the internal functions, that is, although the introduction of the USB PHY chip will increase the hardware cost, the FPGA development cost can be greatly reduced, and the overall cost still has considerable advantages.
  • the FPGA chip 602 includes a USB_DMA module 6022, a CPU 6021, a PCIE driver module 6024, and a DDR control module 6023. These function modules can be implemented programmatically.
  • the USB_DMA module 6022 interacts with the USB PHY chip 601 through a parallel interface and other control signal interfaces, and can implement data transmission and reception of the FPGA chip 602 and the USB PHY chip 601. From the data writing direction, the USB_DMA module 6022 is buffered into the DDR chip 1106a after receiving the data from the USB PHY chip; from the data reading direction, the USB_DMA module 6022 can read data from the DDR chip 1106a. To the USB PHY chip 601, the USB_DMA module 6022 can improve the data transmission efficiency, reduce the CPU load inside the FPGA, avoid the read/write speed drop caused by the CPU bottleneck, and increase the read/write data bandwidth as much as possible.
  • the FPGA chip 602 is connected to the NVME solid state hard disk 11 through the PCIE interface to implement data transmission and reception of the FPGA chip 602 and the NVME solid state hard disk 11.
  • the processor CPU 6021 (equivalent to the processing module 1104b) on the FPGA chip 602 manages the transfer of data from the two interfaces of the FPGA chip 602 such that the external host 12 needs to access the NVME solid state drive 11 through the FPGA chip 602.
  • the CPU 6021 interacts with the USB_DMA module 6022, the PCIE driver module 6024, and the DDR control module 6023 via the AXI bus.
  • the external host 12 When the external host 12 needs to write data to the NVME solid state hard disk 11, the external host 12 sends USB data to the USB PHY chip 601 according to a customized command format through the USB interface, and the USB PHY chip 601 receives the data of the external host 12 and then USB.
  • the data is converted into parallel interface data and sent to the USB_DMA module 6022 inside the FPGA chip 602.
  • the USB_DMA module 6022 After receiving the data, the USB_DMA module 6022 writes the address of the preset DDR chip 1106a, and then generates an interrupt to notify the CPU 6021 inside the FPGA chip 602.
  • the CPU 6021 analyzes the notification message to obtain the destination address to be written to the NVME SSD 11, and then the CPU 6021 converts the data acquired from the DDR chip 1106a into data in the NVME protocol format, and transmits the NVME IO WRITE to the NVME solid state drive 11.
  • the command carries the data to be written in the NVME IO WRITE command and writes to the NVNE SSD 11.
  • the external host 12 When the external host 12 needs to read data from the NVME solid state hard disk 11, first, the external host 12 sends a read command to the USB PHY chip 601 according to a predefined format through the USB interface, and the USB PHY chip 601 receives the read command and converts it into parallel interface data. Forwarded to the USB_DMA module 6022 inside the FPGA chip 602, the USB_DMA module 6022 writes a predefined DDR address after receiving the read command, and then generates an interrupt, informing the CPU 6021 on the FPGA chip 602 that the CPU 6021 analyzes the read command and acquires the read.
  • the CPU 6021 controls the PCIE driver module 6024 to send an NVME IO READ command to the NVME solid state disk 11 according to the access parameters, and the NVME solid state disk 11 sends the NVME protocol format data to the DDR through the PCIE interface according to the access parameters.
  • the CPU 6021 then reads the data of the NVME protocol format from the DDR chip 1106a and converts it into parallel interface data, and the control DMA module 6023 transmits the converted parallel interface data to the external host 12.
  • a DDR chip 1106a is connected to the periphery of the FPGA for data buffering. Data from both the external host 12 and the NVME SSD 11 can be cached in the DDR chip 1106a, and the data is managed by the CPU 6021 on the FPGA chip 602. .
  • the data conversion device 10 can provide the FPGA chip 602, the USB PHY chip 601, and the NVME solid state disk 11 through the DC power supply of the DC power supply interface. power supply.
  • the image processing device 515 does not need to implement the NVME protocol, and the NVME protocol is implemented by the FPGA chip 602.
  • the image processing device 515 only needs to use the NVME solid state hard disk 11 as a general large-capacity storage device, so that the existing device is not required to be modified.
  • the embodiments provided are more versatile.
  • FIG. 7 is a partial schematic structural view of a chip 70 in another embodiment.
  • the chip 70 can be used as a component of the structure of the data conversion device 10 described above, or can provide corresponding functions for a part of other products.
  • the chip 70 includes a second interface 1102, a parallel interface 702, and a protocol conversion device 701;
  • the second interface 1102 can be connected to the NVME solid state hard disk 11 and can be, for example, a PCIE interface, a U.2 interface, or the like.
  • the parallel interface 702 is connected to an external device (such as the first chip 1103 in FIG. 2, but does not exclude the connection of other external devices).
  • the function of the protocol conversion device 701 can be similar to that of the second chip 1104 in FIGS. 2 and 3.
  • the format of the write data carried by the write command may be converted into an NVME protocol format, and then sent to the second interface 1102 to be written to the NVME solid state hard disk 11;
  • the NVME protocol format data in the NVME solid state hard disk is converted into parallel interface data and sent to the parallel interface 702 when a read command from the external device is received.
  • the type of the chip 70 may be a chip having a programming function, such as an FPGA chip or the like.
  • the function of the protocol conversion device 701 can be implemented by software or by hardware or a combination of hardware and software.
  • the protocol conversion device 701 may include a plurality of functional modules to cooperatively perform the functions of the protocol conversion device 701.
  • the function module may have a DMA module 1104a, a second interface driver module 1104c connected to the second interface 1102, and a processing module 1104b.
  • the functions of the modules and the principle of cooperative operation may refer to the description of the corresponding module in FIG. I will not repeat them here.
  • the chip 70 can also be connected to a cache chip.
  • the cache chip is exemplified by a DDR chip 1106a.
  • the chip can also include a DDR control module 1104d.
  • the chip can pass the DDR control module before performing data format conversion. 1104d first caches data from an external device or data from an NVME solid state drive into DDR chip 1106a.
  • FIG. 10 is a partial structural schematic view of an embodiment of another chip.
  • the chip 90 has more data conversion functions than the chip of FIG. 7.
  • the chip 90 can be used to implement some functions of the data conversion device 10, and can also achieve its functions on other products that require data conversion.
  • the chip 90 includes a second interface 1102, a USB interface 901, and a protocol conversion device 902;
  • the second interface 1102 is connected to the NVME solid state hard disk 11 through the USB interface 901.
  • the second interface 1102 may be an interface supporting the NVME protocol such as a PCIE interface.
  • the protocol conversion device 902 in the chip 90 may have a function of directly converting data of USB data and NVME protocol format to each other.
  • the process can be embodied as: converting the USB data into the NVME protocol format data, and sending the data to the second interface 1102; and when receiving the read command from the external host, converting the NVME protocol format data in the NVME solid state hard disk 11 into USB data, Give the USB interface 901.
  • Figure 11 provides a partial flow of an embodiment of a data conversion method.
  • the various steps of the flow can be performed by the data conversion device 10, but the method is not limited to being executable only by this device.
  • step S110 receiving a write command or a read command of an external host
  • the data conversion between the data of the first format and the data of the NVME protocol format can be performed in stages. For example, when the data of the first format is converted into the data of the NVME protocol format, the write command can be written first. The data is converted into parallel interface data, and the parallel interface data is converted into data of the NVME protocol format; when the data of the NVME protocol format needs to be converted into the data of the first format, the NVME protocol format data can be first converted into a parallel interface. Data, and then converting the parallel interface data into data in a first format.
  • data in the first format can be directly converted into data in the NVME protocol format, or data in the NVME protocol format can be converted into data in the first format (for example, USB data).
  • the method can also be performed by the data conversion device provided by the present application.
  • the embodiment of the data conversion device can be implemented by software, or the device can be loaded into the data conversion device 10 in FIG. 1 or the chip shown in FIG. 7 and FIG. 10 by a combination of software and hardware. Taking the software implementation as an example, as a logical device, it can be described by using FIG. 12-14.
  • the data conversion device 200 may include:
  • the first interface driving module 201 can receive a write command or a read command of the external host 12, and notify the protocol conversion module; and interact with the external host 12 to data in the first format;
  • the second interface driving module 203 can exchange data with the NVME solid state hard disk 11;
  • the protocol conversion module 202 can include a first protocol conversion module 2021 and a second protocol conversion module 2022;
  • the first protocol conversion module 2021 can convert the data of the first format into parallel interface data, and convert the parallel interface data into data of the first format;
  • the second protocol conversion module 2022 can convert the parallel interface data into data in the NVME protocol format; and convert the data in the NVME protocol format into parallel interface data.
  • the second protocol conversion module 2022 may include: a DMA module 2022a and a processing module 2022b;
  • the DMA module 2022a may store the read/write command of the external host 12 into the cache chip 1106, notify the processing module 2022b of the cache address, and transfer the read data from the cache chip 1106 to the first according to the cache address notified by the processing module 2022b.
  • the processing module 2022b may acquire a read command according to the cache address notified by the DMA module 2022a, analyze the read command to determine an access parameter including a corresponding address space, and access the NVME solid state hard disk by using the second interface driving module 203 according to the access parameter,
  • the data returned by the NVME solid state hard disk is cached in the cache chip 1106, and the DMA module 2022a is notified of the cache address of the data; or
  • the data conversion device 200 can be applied to various application scenarios, for example, can be connected to an external host having a USB interface, and thus, the data of the first format can include USB data.
  • each of the logic modules in data conversion device 200 may have similar functionality to the modules of FIG.

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)
  • Bus Control (AREA)

Abstract

Provided are a data conversion apparatus, chip, method and device, and an image system. The data conversion apparatus comprises a data processing device. The data processing device comprises a first interface and a second interface. The first interface is used to connect to an external host so as to transmit data in a first format in both directions with the external host. The second interface is used to connect to an NVME solid state disk. Upon receiving a write instruction from the external host, the data processing device converts data in the first format into data in an NVME protocol format, and transmits the same to the NVME solid state disk. Upon receiving a read instruction from the external host, the data processing device converts data in the NVME protocol format in the NVME solid state disk into data in the first format, and transmits the same to the external host.

Description

数据转换设备、芯片、方法、装置及影像系统Data conversion device, chip, method, device and imaging system 技术领域Technical field
本申请涉及数据转换技术,尤其涉及数据转换设备、芯片、方法、装置及影像系统。The present application relates to data conversion technologies, and more particularly to data conversion devices, chips, methods, devices, and imaging systems.
背景技术Background technique
目前有些相机厂商生产的相机可以支持RAW(原始)格式的影像数据。对影像数据而言,RAW就是CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)或者CCD(Charge-coupled Device,电荷耦合元件)图像传感器将捕捉到的光源信号转化为数字信号的原始数据,包括相机拍摄时的参数数据(如ISO值、快门速度、光圈值、白平衡等)。Currently, some camera manufacturers produce cameras that support image data in RAW (original) format. For image data, RAW is a CMOS (Complementary Metal Oxide Semiconductor) or CCD (Charge-coupled Device) image sensor that converts the captured light source signal into raw data of a digital signal, including Parameter data (such as ISO value, shutter speed, aperture value, white balance, etc.) when the camera is shooting.
由于RAW文件是经过无损压缩后生成的文件,相较于JPEG(Joint Photographic Experts Group,联合图像专家小组)等格式的文件会大很多,存储RAW文件需要更大容量的存储设备,部分相机厂商采用SSD(Solid State Drives,固态硬盘)作为存储载体,并采用目前通用的SATA(Serial Advanced Technology Attachment,串行ATA接口规范)接口实现RAW文件的读写。由于在拍摄高分辨率的影像数据时需要更快的数据写入速度,因此有些相机厂商可能会采用NVME(Non-Volatile Memory Express,非易失性存储器通道)SSD来作为存储载体,但这会造成存储在相机的NVME SSD上的RAW文件无法便捷的传输到计算机等图像处理设备上。Since RAW files are files generated after lossless compression, files in formats such as JPEG (Joint Photographic Experts Group) will be much larger. Storage of RAW files requires a larger capacity storage device, which is adopted by some camera manufacturers. SSD (Solid State Drives) is used as a storage carrier, and the current SATA (Serial Advanced Technology Attachment) interface is used to read and write RAW files. Because of the need for faster data write speeds when shooting high-resolution image data, some camera manufacturers may use NVME (Non-Volatile Memory Express) SSDs as storage carriers, but this will The RAW files stored on the camera's NVME SSD cannot be easily transferred to an image processing device such as a computer.
发明内容Summary of the invention
本申请提供数据转换设备、芯片、方法、装置及影像系统。The application provides a data conversion device, a chip, a method, a device, and an imaging system.
根据本申请实施例的第一方面,提供一种数据转换设备,包括数据处理装置,所述数据处理装置包括第一接口和第二接口;其中According to a first aspect of the embodiments of the present application, there is provided a data conversion device comprising a data processing device, the data processing device comprising a first interface and a second interface;
所述第一接口用于连接外部主机,以与外部主机双向传输第一格式的数据;The first interface is configured to connect to an external host to transmit data in a first format to the external host in both directions;
所述第二接口用于连接NVME固态硬盘;The second interface is used to connect to an NVME solid state drive;
所述数据处理装置用于在接收到所述外部主机的写指令时,将所述第一格式的数据转换为NVME协议格式的数据,发给所述NVME固态硬盘;在接收到所述外部主机 的读指令时,将所述NVME固态硬盘中的NVME协议格式数据转换成所述第一格式的数据,发给所述外部主机。The data processing device is configured to convert the data of the first format into data of an NVME protocol format and send the data to the NVME solid state hard disk when receiving the write command of the external host; and receive the external host When the command is read, the NVME protocol format data in the NVME solid state drive is converted into the data in the first format and sent to the external host.
根据本申请实施例的第二方面,提供一种芯片,包括:第二接口、并行接口以及协议转换装置;According to a second aspect of the embodiments of the present application, a chip is provided, including: a second interface, a parallel interface, and a protocol conversion device;
所述第二接口用于连接NVME固态硬盘;The second interface is used to connect to an NVME solid state drive;
所述并行接口用于与外部装置连接;The parallel interface is used to connect with an external device;
所述协议转换装置用于在接收到来自所述外部装置的写指令时,将并行接口数据转换为NVME协议格式的数据,发给所述NVME固态硬盘;在接收到所述外部装置的读指令时,将所述NVME固态硬盘中的NVME协议格式数据转换成并行接口数据,发给所述并行接口。The protocol conversion device is configured to convert parallel interface data into data of an NVME protocol format and send the data to the NVME solid state hard disk upon receiving a write instruction from the external device; receiving a read command of the external device The NVME protocol format data in the NVME solid state hard disk is converted into parallel interface data and sent to the parallel interface.
根据本申请实施例的第三方面,提供一种芯片,包括:第二接口、USB接口以及协议转换装置;According to a third aspect of the embodiments of the present application, a chip is provided, including: a second interface, a USB interface, and a protocol conversion device;
所述USB接口用于与外部主机连接;The USB interface is used to connect with an external host;
所述第二接口用于与NVME固态硬盘连接;The second interface is used to connect with an NVME solid state hard disk;
所述协议转换装置用于在接收到来自所述外部主机的写指令时,将USB数据转换为NVME协议格式的数据,发给第二接口;在接收到所述外部主机的读指令时,将所述NVME固态硬盘中的NVME协议格式数据转换成USB数据,发给所述USB接口。The protocol conversion device is configured to convert USB data into data in an NVME protocol format and send the data to the second interface when receiving the write command from the external host; when receiving the read command from the external host, The NVME protocol format data in the NVME solid state drive is converted into USB data and sent to the USB interface.
根据本申请实施例的第四方面,提供一种数据转换方法,包括步骤:According to a fourth aspect of the embodiments of the present application, a data conversion method is provided, including the steps of:
在接收到外部主机的写指令时,将写指令携带的写入数据的格式转换为NVME协议格式,然后写入所述NVME固态硬盘对应的地址空间;在接收到外部主机读指令时,从读指令对应的地址空间中读取NVME协议格式的数据,并转换成第一格式的数据后发给外部主机,所述第一格式与外部主机的接口类型相对应。When receiving the write command of the external host, converting the format of the write data carried by the write command into the NVME protocol format, and then writing the address space corresponding to the NVME solid state hard disk; when receiving the external host read command, the read command The data in the NVME protocol format is read in the address space corresponding to the instruction, and converted into the data in the first format and sent to the external host, where the first format corresponds to the interface type of the external host.
根据本申请实施例的第五方面,提供一种数据转换装置,包括:According to a fifth aspect of the embodiments of the present application, a data conversion apparatus is provided, including:
第一接口驱动模块,用于接收外部主机的写指令或读指令,并通知协议转换模块;以及与外部主机交互第一格式的数据;a first interface driving module, configured to receive a write command or a read command of the external host, and notify the protocol conversion module; and interact with the external host in the first format data;
第二接口驱动模块,用于与NVME固态硬盘交互数据;a second interface driving module, configured to exchange data with the NVME solid state hard disk;
协议转换模块,用于在接收到外部主机的写指令时,将写指令携带的写入数据 的格式转换为NVME协议格式,然后通知第二接口驱动模块写入所述NVME固态硬盘对应的地址空间;在接收到外部主机读指令时,从读指令对应的地址空间中读取NVME协议格式的数据,并转换成第一格式的数据后通知第一接口驱动模块发给外部主机。The protocol conversion module is configured to write the data carried by the write command when receiving the write command of the external host Converting the format to the NVME protocol format, and then notifying the second interface driver module to write the address space corresponding to the NVME solid state hard disk; when receiving the external host read command, reading the NVME protocol format from the address space corresponding to the read command After the data is converted into the data of the first format, the first interface driver module is notified to send to the external host.
根据本申请实施例的第六方面,提供一种影像系统,包括:影像拍摄设备和数据转换设备;According to a sixth aspect of the embodiments of the present application, an image system is provided, including: an image capturing device and a data conversion device;
所述影像拍摄设备包括一PCIE接口,用于可拆卸的连接NVME固态硬盘;The image capturing device includes a PCIE interface for detachably connecting the NVME solid state hard disk;
所述数据转换设备包括至少一个芯片,所述芯片包括:The data conversion device includes at least one chip, and the chip includes:
一PCIE接口,用于可拆卸的连接所述NVME固态硬盘;a PCIE interface for detachably connecting the NVME solid state drive;
一USB接口,用于连接外部的图像处理设备;a USB interface for connecting an external image processing device;
所述芯片用于在接收到所述图像处理设备的写指令时,将USB数据转换为NVME协议格式的数据,发给所述NVME固态硬盘;在接收到所述图像处理设备的读指令时,将NVME协议格式数据转换成USB数据,发给所述图像处理设备。The chip is configured to convert USB data into NVME protocol format data and send the data to the NVME solid state hard disk when receiving the write instruction of the image processing device; when receiving the read instruction of the image processing device, The NVME protocol format data is converted into USB data and sent to the image processing device.
本申请的实施例的数据转换设备、芯片、方法、装置及影像系统,提供了可以将NVME固态硬盘中数据和外部主机的数据进行格式转换及双向传输的解决方案,因此可以利用外部主机现有的外置接口实现与NVME固态硬盘的数据传输,使得无论是NVME固态硬盘还是外部主机均无需增加复杂的数据转换功能,从而增加了NVME固态硬盘数据传输的便利性。The data conversion device, the chip, the method, the device and the image system of the embodiments of the present application provide a solution for converting and bidirectionally transmitting data of the NVME solid state hard disk and the data of the external host, so that the external host can be utilized. The external interface enables data transmission with the NVME SSD, which eliminates the need for complex data conversion functions for both NVME SSDs and external hosts, thereby increasing the convenience of NVME SSD data transmission.
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。The above general description and the following detailed description are intended to be illustrative and not restrictive.
附图说明DRAWINGS
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only some embodiments of the present application. Other drawings may also be obtained from those of ordinary skill in the art in view of the drawings.
图1为为本申请实施例中一系统架构示意图;1 is a schematic structural diagram of a system in an embodiment of the present application;
图2为本申请一实施例中数据处理装置的部分结构示意图;2 is a partial schematic structural diagram of a data processing apparatus according to an embodiment of the present application;
图3为本申请另一实施例中数据处理装置的部分结构示意图; 3 is a partial structural diagram of a data processing apparatus according to another embodiment of the present application;
图4为本申请实施例中第二芯片的部分结构示意图;4 is a partial structural schematic view of a second chip in the embodiment of the present application;
图5为本申请实施例中一应用场景示意图;FIG. 5 is a schematic diagram of an application scenario in an embodiment of the present application;
图6为本申请实施例中数据处理装置的部分结构示意图;FIG. 6 is a schematic structural diagram of a portion of a data processing apparatus according to an embodiment of the present application;
图7为本申请实施例中一芯片的部分结构示意图;7 is a partial structural diagram of a chip in an embodiment of the present application;
图8为图7所示芯片内的协议转换装置的部分结构示意图;8 is a partial schematic structural diagram of a protocol conversion device in the chip shown in FIG. 7;
图9为本申请实施例中协议转换装置的另一示意图;FIG. 9 is another schematic diagram of a protocol conversion apparatus according to an embodiment of the present application;
图10为本申请实施例中另一芯片的部分结构示意图;10 is a partial structural schematic view of another chip in the embodiment of the present application;
图11为本申请实施例中数据转换方法的部分流程图;11 is a partial flowchart of a data conversion method in an embodiment of the present application;
图12为本申请一实施例中数据转换装置的逻辑框图;12 is a logic block diagram of a data conversion apparatus according to an embodiment of the present application;
图13为本申请另一实施例中数据转换装置的逻辑框图;FIG. 13 is a logic block diagram of a data conversion apparatus according to another embodiment of the present application; FIG.
图14为本申请一实施例中第二协议转换模块的逻辑框图。FIG. 14 is a logic block diagram of a second protocol conversion module according to an embodiment of the present application.
具体实施方式detailed description
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致装置、系统、设备和方法的例子。Exemplary embodiments will be described in detail herein, examples of which are illustrated in the accompanying drawings. The following description refers to the same or similar elements in the different figures unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Instead, they are merely examples of devices, systems, devices, and methods consistent with aspects of the present application as detailed in the appended claims.
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。The terminology used in the present application is for the purpose of describing particular embodiments, and is not intended to be limiting. The singular forms "a", "the" and "the" It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。It should be understood that although the terms first, second, third, etc. may be used to describe various information in this application, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, the first information may also be referred to as the second information without departing from the scope of the present application. Similarly, the second information may also be referred to as the first information.
随着存储带宽需求的增加,NVME固态硬盘已经开始慢慢普及。有些厂商根据需要,将NVME固态硬盘安装于一些电子设备上,作为存储设备存储数据。例如,有些影 像设备(例如相机、录像机等)上已经具备了与NVME固态硬盘适配的接口,利用NVME固态硬盘来存储视频或图片等影像数据。As the demand for storage bandwidth increases, NVME SSDs have begun to gain popularity. Some manufacturers install NVME SSDs on some electronic devices as needed to store data as storage devices. For example, some shadows Image devices (such as cameras, video recorders, etc.) already have an interface that is compatible with NVME SSDs, and uses NVME SSDs to store image data such as video or pictures.
NVME固态硬盘所存储的数据有时会需要导出到外部主机上,例如,影像设备中的影像数据可能导出到个人电脑等设备上;有些情况下,可能需要通过外部主机对NVME固态硬盘中的数据进行写入操作,例如,通过个人电脑对NVME固态硬盘中的数据进行增删改的操作。由于目前外部主机上具有的外置接口不是与NVME固态硬盘适配的接口,因此不便于对NVME固态硬盘中的数据进行读写操作。The data stored in the NVME SSD may need to be exported to an external host. For example, the image data in the image device may be exported to a PC or other device. In some cases, the data in the NVME SSD may need to be performed by an external host. Write operation, for example, adding or deleting data in the NVME solid state drive through a personal computer. Because the external interface on the external host is not the interface that is compatible with the NVME SSD, it is not convenient to read and write data in the NVME SSD.
本申请实施例提供了将NVME固态硬盘中的数据与外部主机进行双向传输的解决方案。外部主机的类型本申请实施例不做限定,可以是各种具备计算能力的终端,例如可以是手机、平板电脑、笔记本电脑、台式电脑等。The embodiment of the present application provides a solution for bidirectionally transmitting data in an NVME solid state hard disk to an external host. The type of the external host is not limited in this embodiment, and may be various terminals with computing power, such as a mobile phone, a tablet computer, a notebook computer, a desktop computer, and the like.
图1是一个实施例中一系统架构下各设备的部分结构图。FIG. 1 is a partial structural diagram of each device in a system architecture in an embodiment.
图1所示的实施例中,提供一数据转换设备10,该数据转换设备10可以独立于NVME固态硬盘11和外部主机12,以达到方便携带、便于在不同的设备上使用、且不增加NVME固态硬盘11的体积及功耗等目的。在外部形态上,数据转换设备10可以体现为一读卡器。当然,在某些场合,也可能将数据转换设备10与NVME固态硬盘11或外部主机12设计成一体化。In the embodiment shown in FIG. 1, a data conversion device 10 is provided. The data conversion device 10 can be independent of the NVME solid state disk 11 and the external host 12 for convenient portability, convenient use on different devices, and no increase in NVME. The purpose of the size and power consumption of the solid state drive 11 is. In an external form, the data conversion device 10 can be embodied as a card reader. Of course, in some cases, it is also possible to design the data conversion device 10 to be integrated with the NVME solid state drive 11 or the external host 12.
如图1,数据转换设备10包括一数据处理装置110。数据处理装置110带有第一接口1101和第二接口1102;可以通过第一接口1101连接外部主机12,通过第二接口1102连接NVME固态硬盘11。在一例子中,第一接口1101和第二接口1102可以是硬件接口,可以分别通过物理连接的方式与外部主机12或NVME固态硬盘11连接。As shown in FIG. 1, data conversion device 10 includes a data processing device 110. The data processing device 110 has a first interface 1101 and a second interface 1102; the external host 12 can be connected through the first interface 1101, and the NVME solid state hard disk 11 can be connected through the second interface 1102. In an example, the first interface 1101 and the second interface 1102 may be hardware interfaces, and may be respectively connected to the external host 12 or the NVME solid state hard disk 11 by means of physical connection.
第一接口1101可以与外部主机12的一个外置接口120的接口类型相匹配,可以将第一接口1101与外部主机12之间双向传输的数据的格式称为第一格式,例如,当外部主机12的接口是USB1.0、USB2.0、或USB3.0接口时,第一接口1101为相匹配的USB接口,第一格式的数据是USB数据。对于第一接口1101的接口类型在此不作枚举,第一格式的数据并不局限于USB数据。The first interface 1101 can match the interface type of an external interface 120 of the external host 12, and the format of the data transmitted bidirectionally between the first interface 1101 and the external host 12 can be referred to as a first format, for example, when an external host When the interface of 12 is a USB1.0, USB2.0, or USB3.0 interface, the first interface 1101 is a matched USB interface, and the data of the first format is USB data. The interface type for the first interface 1101 is not enumerated here, and the data of the first format is not limited to USB data.
第二接口1102可以是支持NVME协议的硬件接口,例如PCIE接口、U.2接口等。The second interface 1102 can be a hardware interface supporting the NVME protocol, such as a PCIE interface, a U.2 interface, or the like.
数据处理装置110通过其中一个接口接收到数据时,转换成另一个接口所对应的数据格式,并通过另一个接口传输出去。可以通过外部主机12触发该数据格式转换的流程,例如,数据处理装置110在接收到外部主机12的写指令时,将第一接口1101 接收的第一格式的数据转换成NVME协议格式的数据、在接收到外部主机12的读指令时,将NVME固态硬盘中的NVME协议格式的数据转换成第一格式的数据,发给所述外部主机。写指令可以是指外部主机12对NVME固态硬盘11进行写入操作的指令,读指令可以是指外部主机12对NVME固态硬盘11中的数据的读取操作的指令。写指令或读指令所携带的信息可以根据不同设计需求确定,例如某些场合,写指令或读指令可以携带数据存放地址、读/写数据的长度等信息。When the data processing device 110 receives data through one of the interfaces, it converts to a data format corresponding to another interface and transmits it through another interface. The flow of the data format conversion can be triggered by the external host 12, for example, when the data processing device 110 receives the write command of the external host 12, the first interface 1101 The received data of the first format is converted into the data of the NVME protocol format, and when the read command of the external host 12 is received, the data of the NVME protocol format in the NVME solid state hard disk is converted into the data of the first format, and sent to the external Host. The write command may refer to an instruction that the external host 12 performs a write operation to the NVME solid state drive 11, and the read command may refer to an instruction of the external host 12 to read the data in the NVME solid state drive 11. The information carried by the write command or the read command can be determined according to different design requirements. For example, in some occasions, the write command or the read command can carry information such as the data storage address and the length of the read/write data.
上述数据格式转换的流程可以被描述为以下过程:The above process of data format conversion can be described as the following process:
数据处理装置110在接收到外部主机12的写指令时,将写指令携带的写入数据的格式转换为NVME协议格式,然后写入NVME固态硬盘11对应的地址空间;在接收到外部主机12的读指令时,从NVME固态硬盘11中与读指令对应的地址空间中读取NVME协议格式的数据,并转换成第一格式的数据后发给外部主机12。When receiving the write command of the external host 12, the data processing device 110 converts the format of the write data carried by the write command into the NVME protocol format, and then writes the address space corresponding to the NVME solid state hard disk 11; upon receiving the external host 12 When the command is read, the data of the NVME protocol format is read from the address space corresponding to the read command in the NVME solid state hard disk 11 and converted into the data of the first format and sent to the external host 12.
在一些其他例子中,本领域技术人员可以采用专用芯片的方式来实现数据处理装置110的数据转换功能。这种专用芯片可以是ASIC(Application Specific Integrated Circuit,专用集成电路)芯片,也可以是FPGA(Field-Programmable Gate Array,现场可编程门阵列)等可编程器件。数据处理装置110所具有的功能可以通过一个芯片实现,也可以通过不同的芯片分别完成其中一部分功能。芯片可以通过软件程序实现相应功能,也可以通过电路等硬件形式实现相应功能。In some other examples, those skilled in the art can implement the data conversion function of the data processing device 110 in a dedicated chip manner. The dedicated chip may be an ASIC (Application Specific Integrated Circuit) chip or a programmable device such as an FPGA (Field-Programmable Gate Array). The functions of the data processing device 110 can be implemented by one chip, and some of the functions can be separately performed by different chips. The chip can realize the corresponding functions through a software program, and can also implement corresponding functions through hardware forms such as circuits.
以下列举几个不同实施例中通过芯片实现数据处理装置110的例子。请参见图2-图4以及图10。An example of implementing data processing apparatus 110 by a chip in several different embodiments is listed below. Please refer to Figures 2 to 4 and Figure 10.
图2中数据处理装置110包括第一芯片1103以及第二芯片1104。两个芯片通过至少一个片间接口1105相连。片间接口1105的类型可以由两个芯片的类型确定。举例来说,第一芯片1103可以是USB PHY芯片,第二芯片1104可以是FPGA芯片,此时可以采用并行接口作为两个芯片之间的片间接口,例如该并行接口可以是GPIF(general programmable interface)通用可编程接口等。The data processing device 110 of FIG. 2 includes a first chip 1103 and a second chip 1104. The two chips are connected by at least one inter-chip interface 1105. The type of inter-chip interface 1105 can be determined by the type of two chips. For example, the first chip 1103 may be a USB PHY chip, and the second chip 1104 may be an FPGA chip. In this case, a parallel interface may be used as an inter-chip interface between two chips. For example, the parallel interface may be a GPIF (general programmable). Interface) General programmable interface.
如图2,本例中第一接口1101位于第一芯片1103上,第二接口1102位于第二芯片1104上。As shown in FIG. 2, in this example, the first interface 1101 is located on the first chip 1103, and the second interface 1102 is located on the second chip 1104.
数据在第一格式和NVME格式之间的转换过程又可以细化为多次转换。结合图1和图2,第一芯片1103具有向所述第二芯片发送来自第一设备的读指令或写指令,以及在外部主机12与第二芯片1104之间进行数据格式转换及数据传输的功能;第二芯 片1104具有基于读指令或写指令,在第一芯片1103与NVME固态硬盘11之间进行数据格式转换及数据传输的功能。因此在这个例子中,数据转换过程可以包括以下过程:The conversion process of the data between the first format and the NVME format can be further refined into multiple conversions. 1 and 2, the first chip 1103 has a read command or a write command from the first device to the second chip, and data format conversion and data transfer between the external host 12 and the second chip 1104. Function; second core The slice 1104 has a function of data format conversion and data transfer between the first chip 1103 and the NVME solid state hard disk 11 based on a read command or a write command. So in this example, the data conversion process can include the following process:
当第一芯片1103通过第一接口1101收到来自外部主机12的写指令后,将写指令以及写指令所携带的第一格式的写入数据转换为片间接口1105所对应的数据格式(例如并行接口数据),并通过片间接口1105将转换后的数据发给第二芯片1104;第二芯片1104分析所收到的写指令,将收到的写入数据转换成NVME协议格式的数据,然后通过第二接口1102写入NVME固态硬盘11的相应地址空间。After the first chip 1103 receives the write command from the external host 12 through the first interface 1101, the write command and the write data of the first format carried by the write command are converted into the data format corresponding to the inter-chip interface 1105 (for example, Parallel interface data), and the converted data is sent to the second chip 1104 through the inter-chip interface 1105; the second chip 1104 analyzes the received write command, and converts the received write data into data in the NVME protocol format. The corresponding address space of the NVME solid state hard disk 11 is then written through the second interface 1102.
当第一芯片1103通过第一接口1101收到来自外部主机12的读指令后,将读指令转换为片间接口1105所对应的数据格式(例如并行接口数据),并通过片间接口1105将转换后的读指令发给第二芯片1104;第二芯片1104分析所收到的读指令,通过第二接口1102从NVME固态硬盘11的相应地址空间读取NVME协议格式的数据,然后将所读取的数据转换成片间接口1105所对应的数据格式,通过片间接口1105发给第一芯片1103;第一芯片1103在收到片间接口1105所传输的数据后,转换为第一格式的数据,通过第一接口1101传输给外部主机12。After the first chip 1103 receives the read command from the external host 12 through the first interface 1101, the read command is converted into a data format corresponding to the inter-chip interface 1105 (for example, parallel interface data), and is converted by the inter-chip interface 1105. The subsequent read command is sent to the second chip 1104; the second chip 1104 analyzes the received read command, reads the data in the NVME protocol format from the corresponding address space of the NVME solid state hard disk 11 through the second interface 1102, and then reads the data. The data is converted into a data format corresponding to the inter-chip interface 1105, and is sent to the first chip 1103 through the inter-chip interface 1105. After receiving the data transmitted by the inter-chip interface 1105, the first chip 1103 converts the data into the first format. And transmitted to the external host 12 through the first interface 1101.
某些例子中,对于第二芯片1104,在执行数据格式转换前,可以先将来自外部主机12的数据或来自NVME固态硬盘11的数据进行缓存,然后再执行转换操作。在此结合图3加以说明。In some examples, for the second chip 1104, data from the external host 12 or data from the NVME solid state hard disk 11 may be cached before the data format conversion is performed, and then the conversion operation is performed. This will be described with reference to FIG. 3.
某些例子中,第二芯片1104内部可以具有内部缓存1107,可以通过内部缓存1107对来自第二芯片1104的片间接口1105和NVME固态硬盘11的数据进行缓存。In some examples, the second chip 1104 may have an internal cache 1107 inside, which may buffer data from the inter-chip interface 1105 of the second chip 1104 and the NVME solid state drive 11 through the internal cache 1107.
另一些例子中,数据处理装置110还可以包括缓存芯片1106,位于第二芯片1104之外,并且与第二芯片1104连接,可以利用缓存芯片1106对来自第二芯片1104的片间接口1105和NVME固态硬盘11的数据进行缓存。第二芯片1104可以通过一缓存芯片控制模块(本图未示出)来实现与缓存芯片1106的数据交换。In other examples, the data processing device 110 may further include a cache chip 1106 located outside the second chip 1104 and connected to the second chip 1104. The inter-chip interface 1105 and NVME from the second chip 1104 may be utilized by the cache chip 1106. The data of the solid state drive 11 is buffered. The second chip 1104 can implement data exchange with the cache chip 1106 through a cache chip control module (not shown in this figure).
作为例子,如果第一芯片1103或第二芯片1104耗电较多,则数据处理装置110还可以包含独立于第一接口1101供电的独立供电模块,另外,独立供电模块的最大供电输入能力可以大于第一接口1101的最大供电输入能力,数据处理装置110还可以包括电源接口,通过连接外部电源为第一芯片1103或第二芯片1104供电。As an example, if the first chip 1103 or the second chip 1104 consumes more power, the data processing device 110 may further include an independent power supply module that is independent of the power supply of the first interface 1101. In addition, the maximum power input capability of the independent power supply module may be greater than The maximum power input capability of the first interface 1101, the data processing device 110 may further include a power interface for supplying power to the first chip 1103 or the second chip 1104 by connecting an external power source.
第二芯片1104中可以具有多个软件或硬件模块分别实现第二芯片1104所具有的部分功能。图4是一个第二芯片1104内部部分结构的示意。作为例子,本实施例中 采用DDR(Double Data Rate,双倍数据速率)芯片1106a作为缓存芯片1106进行描述。The second chip 1104 may have a plurality of software or hardware modules to implement some of the functions of the second chip 1104. 4 is a schematic illustration of the internal structure of a second chip 1104. As an example, in this embodiment A DDR (Double Data Rate) chip 1106a is used as the cache chip 1106 for description.
如图4,第二芯片1104中包括DMA(Direct Memory Access,直接内存存取)模块1104a、处理模块1104b、与第二接口1102连接的第二接口驱动模块1104c。各个模块可以具有以下功能:As shown in FIG. 4, the second chip 1104 includes a DMA (Direct Memory Access) module 1104a, a processing module 1104b, and a second interface driver module 1104c connected to the second interface 1102. Each module can have the following features:
DMA模块1104a可以将外部主机12的读/写指令存入DDR芯片1106a中,并将缓存地址通知处理模块1104b,以及根据处理模块1104b通知的缓存地址从DDR芯片1106a中读出数据,并通过片间接口1105传输给第一芯片1103;作为例子,DMA模块可以支持DMA数据传输模式。The DMA module 1104a can store the read/write command of the external host 12 into the DDR chip 1106a, notify the processing module 1104b of the cache address, and read data from the DDR chip 1106a according to the cache address notified by the processing module 1104b, and pass the slice. The inter-interface 1105 is transmitted to the first chip 1103; as an example, the DMA module can support the DMA data transfer mode.
处理模块1104b可以根据DMA模块1104a通知的缓存地址获取读指令,分析读指令以确定包括对应的地址空间在内的访问参数(例如源地址、目的地址、读/写数据的地址长度),根据访问参数利用第二接口驱动模块1104c访问NVME固态硬盘,将NVME固态硬盘返回的数据缓存在DDR芯片1106a中,并将数据的缓存地址通知DMA模块1104a;或者The processing module 1104b may acquire a read instruction according to the cache address notified by the DMA module 1104a, and analyze the read instruction to determine an access parameter including a corresponding address space (eg, a source address, a destination address, an address length of the read/write data), according to the access. The parameter accesses the NVME solid state hard disk by using the second interface driving module 1104c, caches the data returned by the NVME solid state hard disk in the DDR chip 1106a, and notifies the DMA module 1104a of the buffer address of the data; or
根据DMA模块1104a通知的缓存地址获取写指令,分析写指令以确定包括对应的地址空间在内的访问参数,将写指令携带的写入数据通过第二接口驱动模块1104c写入到NVME固态硬盘11中。Obtaining a write command according to the cache address notified by the DMA module 1104a, analyzing the write command to determine an access parameter including the corresponding address space, and writing the write data carried by the write command to the NVME solid state hard disk 11 through the second interface driving module 1104c. in.
如图所示,DDR控制模块1104d连接DDR芯片1106a与处理模块1104b,DDR芯片1106a内部数据的读写操作可以通过处理模块1104b控制DDR控制模块1104d完成。As shown, the DDR control module 1104d connects the DDR chip 1106a and the processing module 1104b. The read and write operations of the internal data of the DDR chip 1106a can be completed by the processing module 1104b controlling the DDR control module 1104d.
以下结合一具体应用场景来描述图4中各模块协同工作时的流程。图5是该应用场景下的一个示意图。图5的应用场景包括一影像拍摄系统50和一图像处理设备515。影像拍摄系统50主要包括一影像拍摄设备510和数据转换设备10,数据转换设备10可以被称为读卡器。其中影像拍摄设备510可以包括一云台,云台能够拆卸地安装于无人机上,云台可以用于承载一相机,并为相机增稳。The following describes the flow of each module in FIG. 4 in cooperation with a specific application scenario. Figure 5 is a schematic diagram of the application scenario. The application scenario of FIG. 5 includes an image capture system 50 and an image processing device 515. The image capture system 50 primarily includes an image capture device 510 and a data conversion device 10, which may be referred to as a card reader. The image capturing device 510 can include a cloud platform that can be detachably mounted on the drone, and the pan/tilt can be used to carry a camera and stabilize the camera.
本例中,NVME固态硬盘11作为影像拍摄设备510的数据存储装置,影像拍摄设备510上包括一PCIE接口511,具体可以体现为一PCIE接口插槽,可以可拆卸的连接NVME固态硬盘11。影像拍摄设备510在工作时,通过PCIE接口511将影像数据写入NVME固态硬盘11,并且在用户需要时,可以将NVME固态硬盘11从PCIE接口511 插槽中取出,并插入数据转换设备10中,与图像处理设备515交换数据,数据转换设备10可以通过USB连接线514与图像处理设备515连接。In this example, the NVME SSD 11 is used as the data storage device of the image capturing device 510. The image capturing device 510 includes a PCIE interface 511, which can be embodied as a PCIE interface slot, and can be detachably connected to the NVME SSD 11. When the image capturing device 510 is in operation, the image data is written into the NVME solid state hard disk 11 through the PCIE interface 511, and the NVME solid state hard disk 11 can be taken from the PCIE interface 511 when the user needs it. The slot is taken out and inserted into the data conversion device 10 to exchange data with the image processing device 515, and the data conversion device 10 can be connected to the image processing device 515 via the USB connection line 514.
数据转换设备10包括至少一个芯片,提供硬件接口以及数据转换功能。例如,提供一PCIE接口513,可拆卸的连接NVME固态硬盘11,该PCIE接口513可以是插槽,可供NVME固态硬盘11插入;芯片还提供一USB接口512,连接外部的图像处理设备515;另外,数据转换设备10还可以通过芯片提供电源状态指示、读/写状态指示等功能,相应的,数据转换设备10还可以有电源指示灯、读/写指示灯等输出接口。The data conversion device 10 includes at least one chip that provides a hardware interface and a data conversion function. For example, a PCIE interface 513 is provided, and the NVME solid state hard disk 11 is detachably connected. The PCIE interface 513 can be a slot for the NVME solid state hard disk 11 to be inserted. The chip further provides a USB interface 512 for connecting to an external image processing device 515. In addition, the data conversion device 10 can also provide power status indication, read/write status indication and the like through the chip. Accordingly, the data conversion device 10 can also have an output interface such as a power indicator light and a read/write indicator.
芯片在接收到图像处理设备515的写指令时,此时写指令数据格式是USB数据,芯片可以将USB数据转换为NVME协议格式的数据,发给NVME固态硬盘11;在接收到所述图像处理设备515的读指令时,将NVME协议格式数据转换成USB数据,发给图像处理设备515。When the chip receives the write command of the image processing device 515, the write command data format is USB data, and the chip can convert the USB data into the NVME protocol format data and send it to the NVME solid state hard disk 11; after receiving the image processing When the device 515 reads the command, the NVME protocol format data is converted into USB data and sent to the image processing device 515.
数据转换设备10可参考图6,结合图2-图5,仍以不同芯片组合实现数据转换设备10功能为例,此时数据转换设备10可以包括USB PHY芯片601(相当于第一芯片1103)以及FPGA芯片(相当于第二芯片1104)。其中USB PHY芯片的USB接口为USB3.0接口,USB PHY芯片的型号可选用CY3014。所述FPGA芯片602带有PCIE接口。USB PHY芯片601与FPGA芯片602之间为并行接口,可采用GPIF接口。The data conversion device 10 can be exemplified with reference to FIG. 6 and FIG. 2 to FIG. 5 . The data conversion device 10 can also include the USB PHY chip 601 (corresponding to the first chip 1103 ). And an FPGA chip (equivalent to the second chip 1104). The USB interface of the USB PHY chip is USB3.0 interface, and the model of the USB PHY chip can be CY3014. The FPGA chip 602 has a PCIE interface. The USB PHY chip 601 and the FPGA chip 602 are parallel interfaces, and a GPIF interface can be adopted.
在本实施例中,USB PHY芯片601实现USB协议到并行接口的相互转换,由于USB协议相关的功能由USB PHY芯片601完成,FPGA芯片602可以不用考虑复杂的USB协议,因此可以简化FPGA芯片602的内部功能的实现难度,也就是说,虽然引入USB PHY芯片会增加硬件成本,但FPGA开发成本可以大幅下降,总体上成本依然具有相当的优势。In this embodiment, the USB PHY chip 601 implements mutual conversion of the USB protocol to the parallel interface. Since the USB protocol-related functions are completed by the USB PHY chip 601, the FPGA chip 602 can simplify the FPGA chip 602 without considering a complicated USB protocol. The difficulty of implementing the internal functions, that is, although the introduction of the USB PHY chip will increase the hardware cost, the FPGA development cost can be greatly reduced, and the overall cost still has considerable advantages.
FPGA芯片602包括USB_DMA模块6022、CPU 6021、PCIE驱动模块6024、DDR控制模块6023。这些功能模块可以通过编程实现。其中USB_DMA模块6022通过并行接口及其他控制信号接口与USB PHY芯片601交互,可以实现FPGA芯片602与USB PHY芯片601的数据收发。从数据写入方向来看,USB_DMA模块6022在收到来自USB PHY芯片的数据后先缓存到DDR芯片1106a中;从数据读取方向来看,USB_DMA模块6022可以从DDR芯片1106a中读取数据发送给USB PHY芯片601,通过USB_DMA模块6022可以提高数据传输效率,降低FPGA内部的CPU的负荷,避免CPU瓶颈引发的读写速度下降,尽可能地提高读写数据带宽。 The FPGA chip 602 includes a USB_DMA module 6022, a CPU 6021, a PCIE driver module 6024, and a DDR control module 6023. These function modules can be implemented programmatically. The USB_DMA module 6022 interacts with the USB PHY chip 601 through a parallel interface and other control signal interfaces, and can implement data transmission and reception of the FPGA chip 602 and the USB PHY chip 601. From the data writing direction, the USB_DMA module 6022 is buffered into the DDR chip 1106a after receiving the data from the USB PHY chip; from the data reading direction, the USB_DMA module 6022 can read data from the DDR chip 1106a. To the USB PHY chip 601, the USB_DMA module 6022 can improve the data transmission efficiency, reduce the CPU load inside the FPGA, avoid the read/write speed drop caused by the CPU bottleneck, and increase the read/write data bandwidth as much as possible.
FPGA芯片602通过PCIE接口与NVME固态硬盘11相连,实现FPGA芯片602和NVME固态硬盘11的数据收发。The FPGA chip 602 is connected to the NVME solid state hard disk 11 through the PCIE interface to implement data transmission and reception of the FPGA chip 602 and the NVME solid state hard disk 11.
FPGA芯片602上的处理器CPU 6021(相当于处理模块1104b)对来自FPGA芯片602两个接口的数据的中转进行管控,使得外部主机12需要通过FPGA芯片602访问NVME固态硬盘11。CPU 6021与USB_DMA模块6022、PCIE驱动模块6024、DDR控制模块6023通过AXI总线进行交互。The processor CPU 6021 (equivalent to the processing module 1104b) on the FPGA chip 602 manages the transfer of data from the two interfaces of the FPGA chip 602 such that the external host 12 needs to access the NVME solid state drive 11 through the FPGA chip 602. The CPU 6021 interacts with the USB_DMA module 6022, the PCIE driver module 6024, and the DDR control module 6023 via the AXI bus.
当外部主机12需要向NVME固态硬盘11写数据时,外部主机12通过USB接口按照自定义的命令格式发送USB数据给USB PHY芯片601,USB PHY芯片601收到外部主机12的数据后,将USB数据转成并行接口数据,发送给FPGA芯片602内部的USB_DMA模块6022,USB_DMA模块6022收到数据后,写入预先设定的DDR芯片1106a的地址,然后产生中断,通知FPGA芯片602内部的CPU 6021,CPU 6021对通知消息进行分析,获取要写入NVME固态硬盘11的目的地址,然后CPU 6021将从DDR芯片1106a中获取的数据转换成NVME协议格式的数据,向NVME固态硬盘11发送NVME IO WRITE命令,将需要写入的数据携带在NVME IO WRITE命令中,写入NVNE固态硬盘11。When the external host 12 needs to write data to the NVME solid state hard disk 11, the external host 12 sends USB data to the USB PHY chip 601 according to a customized command format through the USB interface, and the USB PHY chip 601 receives the data of the external host 12 and then USB. The data is converted into parallel interface data and sent to the USB_DMA module 6022 inside the FPGA chip 602. After receiving the data, the USB_DMA module 6022 writes the address of the preset DDR chip 1106a, and then generates an interrupt to notify the CPU 6021 inside the FPGA chip 602. The CPU 6021 analyzes the notification message to obtain the destination address to be written to the NVME SSD 11, and then the CPU 6021 converts the data acquired from the DDR chip 1106a into data in the NVME protocol format, and transmits the NVME IO WRITE to the NVME solid state drive 11. The command carries the data to be written in the NVME IO WRITE command and writes to the NVNE SSD 11.
当外部主机12需要从NVME固态硬盘11读取数据时,首先外部主机12通过USB接口按照预定义的格式发送读指令到USB PHY芯片601,USB PHY芯片601收到读指令后转换成并行接口数据转发给FPGA芯片602内部的USB_DMA模块6022,USB_DMA模块6022收到读命令后写入预定义的DDR地址,然后产生中断,告知FPGA芯片602上的CPU 6021,CPU 6021对读指令进行分析,获取读地址,读数据量等访问参数,然后CPU6021根据这些访问参数控制PCIE驱动模块6024向NVME固态硬盘11发送NVME IO READ命令,NVME固态硬盘11依据访问参数,通过PCIE接口发送NVME协议格式的数据到DDR芯片1106a中,然后CPU 6021从DDR芯片1106a中读取NVME协议格式的数据并转换成并行接口数据,控制DMA模块6023把转换后的并行接口数据发送给外部主机12。When the external host 12 needs to read data from the NVME solid state hard disk 11, first, the external host 12 sends a read command to the USB PHY chip 601 according to a predefined format through the USB interface, and the USB PHY chip 601 receives the read command and converts it into parallel interface data. Forwarded to the USB_DMA module 6022 inside the FPGA chip 602, the USB_DMA module 6022 writes a predefined DDR address after receiving the read command, and then generates an interrupt, informing the CPU 6021 on the FPGA chip 602 that the CPU 6021 analyzes the read command and acquires the read. According to the access parameters, the CPU 6021 controls the PCIE driver module 6024 to send an NVME IO READ command to the NVME solid state disk 11 according to the access parameters, and the NVME solid state disk 11 sends the NVME protocol format data to the DDR through the PCIE interface according to the access parameters. In the chip 1106a, the CPU 6021 then reads the data of the NVME protocol format from the DDR chip 1106a and converts it into parallel interface data, and the control DMA module 6023 transmits the converted parallel interface data to the external host 12.
FPGA外围连接一个DDR芯片1106a,用于数据的缓存,无论是来自外部主机12的数据还是NVME固态硬盘11的数据均可以缓存在DDR芯片1106a中,由FPGA芯片602上的CPU 6021对数据进行管理。A DDR chip 1106a is connected to the periphery of the FPGA for data buffering. Data from both the external host 12 and the NVME SSD 11 can be cached in the DDR chip 1106a, and the data is managed by the CPU 6021 on the FPGA chip 602. .
由于FPGA芯片功耗较高,USB PHY的USB接口难以驱动整个读卡器,因此数据转换设备10可以通过一直流供电接口外接直流电源,给FPGA芯片602、USB PHY芯片601及NVME固态硬盘11提供电源。 Because the power consumption of the FPGA chip is high, the USB interface of the USB PHY is difficult to drive the entire card reader, so the data conversion device 10 can provide the FPGA chip 602, the USB PHY chip 601, and the NVME solid state disk 11 through the DC power supply of the DC power supply interface. power supply.
可以看出,图像处理设备515不用实现NVME协议,NVME协议由FPGA芯片602实现,图像处理设备515只需要把NVME固态硬盘11当成普通的大容量存储设备,因此无需改动现有设备,使本申请提供的实施例更具通用性。It can be seen that the image processing device 515 does not need to implement the NVME protocol, and the NVME protocol is implemented by the FPGA chip 602. The image processing device 515 only needs to use the NVME solid state hard disk 11 as a general large-capacity storage device, so that the existing device is not required to be modified. The embodiments provided are more versatile.
图7是另一个实施例中一芯片70的部分结构示意图。该芯片70可以作为上述数据转换设备10的结构的一组件,也可以为其他产品的一部分提供相应的功能。FIG. 7 is a partial schematic structural view of a chip 70 in another embodiment. The chip 70 can be used as a component of the structure of the data conversion device 10 described above, or can provide corresponding functions for a part of other products.
如图7,该芯片70包括第二接口1102、并行接口702以及协议转换装置701;As shown in Figure 7, the chip 70 includes a second interface 1102, a parallel interface 702, and a protocol conversion device 701;
第二接口1102可以连接NVME固态硬盘11,例如可以是PCIE接口、U.2接口等。并行接口702与外部装置(例如图2中的第一芯片1103,但并不排除可连接其他外部装置)连接。The second interface 1102 can be connected to the NVME solid state hard disk 11 and can be, for example, a PCIE interface, a U.2 interface, or the like. The parallel interface 702 is connected to an external device (such as the first chip 1103 in FIG. 2, but does not exclude the connection of other external devices).
协议转换装置701的功能可类似于图2、图3中第二芯片1104的功能。例如,可在接收到来自所述外部装置的写指令时,将写指令携带的写入数据的格式转换为NVME协议格式,然后发给第二接口1102,以写入NVME固态硬盘11;在接收到来自所述外部装置的读指令时,将所述NVME固态硬盘中的NVME协议格式数据转换成并行接口数据,发给并行接口702。The function of the protocol conversion device 701 can be similar to that of the second chip 1104 in FIGS. 2 and 3. For example, when receiving a write command from the external device, the format of the write data carried by the write command may be converted into an NVME protocol format, and then sent to the second interface 1102 to be written to the NVME solid state hard disk 11; The NVME protocol format data in the NVME solid state hard disk is converted into parallel interface data and sent to the parallel interface 702 when a read command from the external device is received.
芯片70的类型可以是具有编程功能的芯片,例如FPGA芯片等。协议转换装置701的功能既可以通过软件实现,也可以通过硬件或软硬结合的方式实现。以软件实现其功能为例,该协议转换装置701可以包括多个功能模块,以协同完成协议转换装置701的功能,其中一个例子,可以参考图4中第二芯片1104内部的部分组成模块的功能。参见图8,功能模块可以有DMA模块1104a、与第二接口1102连接的第二接口驱动模块1104c,以及处理模块1104b,该些模块的功能及协同工作的原理可参考图4中对应模块的描述,在此不在赘述。The type of the chip 70 may be a chip having a programming function, such as an FPGA chip or the like. The function of the protocol conversion device 701 can be implemented by software or by hardware or a combination of hardware and software. For example, the protocol conversion device 701 may include a plurality of functional modules to cooperatively perform the functions of the protocol conversion device 701. For an example, reference may be made to the functions of the components of the second chip 1104 in FIG. . Referring to FIG. 8, the function module may have a DMA module 1104a, a second interface driver module 1104c connected to the second interface 1102, and a processing module 1104b. The functions of the modules and the principle of cooperative operation may refer to the description of the corresponding module in FIG. I will not repeat them here.
另外,参考图9,该芯片70还可以连接有一缓存芯片,该缓存芯片以DDR芯片1106a为例,芯片内还可以包括一DDR控制模块1104d,芯片在执行数据格式转换前,可以通过DDR控制模块1104d先将来自外部装置的数据或来自NVME固态硬盘的数据缓存到DDR芯片1106a中。In addition, referring to FIG. 9, the chip 70 can also be connected to a cache chip. The cache chip is exemplified by a DDR chip 1106a. The chip can also include a DDR control module 1104d. The chip can pass the DDR control module before performing data format conversion. 1104d first caches data from an external device or data from an NVME solid state drive into DDR chip 1106a.
图10为另一芯片的实施例的部分结构示意图。该芯片90相对于图7的芯片,具有更多的数据转换功能,该芯片90可以用以实现数据转换设备10的部分功能,也可以在其他需要数据转换的产品上实现其功效。Figure 10 is a partial structural schematic view of an embodiment of another chip. The chip 90 has more data conversion functions than the chip of FIG. 7. The chip 90 can be used to implement some functions of the data conversion device 10, and can also achieve its functions on other products that require data conversion.
该芯片90包括第二接口1102、USB接口901以及协议转换装置902; The chip 90 includes a second interface 1102, a USB interface 901, and a protocol conversion device 902;
通过USB接口901与外部主机12连接;第二接口1102与NVME固态硬盘11连接,同样,第二接口1102可能是PCIE接口等支持NVME协议的接口。The second interface 1102 is connected to the NVME solid state hard disk 11 through the USB interface 901. Similarly, the second interface 1102 may be an interface supporting the NVME protocol such as a PCIE interface.
芯片90中的协议转换装置902可以具有将USB数据和NVME协议格式的数据直接相互转换的功能。过程可以体现为:将USB数据转换为NVME协议格式的数据,发给第二接口1102;在接收到外部主机的读指令时,将NVME固态硬盘11中的NVME协议格式数据转换成USB数据,发给所述USB接口901。The protocol conversion device 902 in the chip 90 may have a function of directly converting data of USB data and NVME protocol format to each other. The process can be embodied as: converting the USB data into the NVME protocol format data, and sending the data to the second interface 1102; and when receiving the read command from the external host, converting the NVME protocol format data in the NVME solid state hard disk 11 into USB data, Give the USB interface 901.
图11提供了数据转换方法的实施例的部分流程。该流程的各个步骤可以通过数据转换设备10来执行,但本方法并不局限于仅可以通过此设备执行。Figure 11 provides a partial flow of an embodiment of a data conversion method. The various steps of the flow can be performed by the data conversion device 10, but the method is not limited to being executable only by this device.
在S110步骤,接收外部主机的写指令或读指令;In step S110, receiving a write command or a read command of an external host;
S111,在接收到外部主机12的写指令时,将写指令携带的写入数据的格式转换为NVME协议格式,然后写入所述NVME固态硬盘11对应的地址空间(S112);S111, when receiving the write command of the external host 12, converting the format of the write data carried by the write command into the NVME protocol format, and then writing the address space corresponding to the NVME solid state hard disk 11 (S112);
S113,在接收到外部主机12读指令时,从读指令对应的地址空间中读取NVME协议格式的数据,并转换成第一格式的数据后发给外部主机12(S114),第一格式与外部主机12的接口类型相对应。S113, when receiving the read command from the external host 12, reading the data in the NVME protocol format from the address space corresponding to the read command, and converting the data into the first format and sending the data to the external host 12 (S114), the first format and The interface type of the external host 12 corresponds.
作为例子,第一格式的数据和NVME协议格式的数据之间的数据转换可以分阶段进行,例如,在第一格式的数据转换为NVME协议格式的数据时,可以先将写指令携带的写入数据转换为并行接口数据,再将所述并行接口数据转换成NVME协议格式的数据;当需要将NVME协议格式的数据转换成第一格式的数据时,可以将NVME协议格式数据先转换成并行接口数据,再将所述并行接口数据转换为第一格式的数据。As an example, the data conversion between the data of the first format and the data of the NVME protocol format can be performed in stages. For example, when the data of the first format is converted into the data of the NVME protocol format, the write command can be written first. The data is converted into parallel interface data, and the parallel interface data is converted into data of the NVME protocol format; when the data of the NVME protocol format needs to be converted into the data of the first format, the NVME protocol format data can be first converted into a parallel interface. Data, and then converting the parallel interface data into data in a first format.
可以理解的是,第一格式的数据和NVME协议格式的数据之间的数据转换是否分阶段进行,以及分几个阶段进行可以根据设计者的需求确定,例如,参考图10所示的芯片结构,在该设计方案中,可以直接将第一格式的数据(例如USB数据)转换为NVME协议格式的数据,或将NVME协议格式的数据转换为第一格式的数据(例如USB数据)。It can be understood whether the data conversion between the data of the first format and the data of the NVME protocol format is performed in stages, and can be determined in several stages according to the needs of the designer, for example, referring to the chip structure shown in FIG. In this design, data in the first format (for example, USB data) can be directly converted into data in the NVME protocol format, or data in the NVME protocol format can be converted into data in the first format (for example, USB data).
与前述数据转换方法的实施例相对应,也可以通过本申请提供的数据转换装置执行该方法。数据转换装置的实施例可以通过软件实现,也可以将该装置装载于图1中的数据转换设备10,或图7、图10所示芯片中等方式通过软硬件结合实现。以软件实现为例,作为一个逻辑意义上的装置,可通过图12-14进行描述。Corresponding to the embodiment of the aforementioned data conversion method, the method can also be performed by the data conversion device provided by the present application. The embodiment of the data conversion device can be implemented by software, or the device can be loaded into the data conversion device 10 in FIG. 1 or the chip shown in FIG. 7 and FIG. 10 by a combination of software and hardware. Taking the software implementation as an example, as a logical device, it can be described by using FIG. 12-14.
参见图12,数据转换装置200,可以包括: Referring to FIG. 12, the data conversion device 200 may include:
第一接口驱动模块201,可以接收外部主机12的写指令或读指令,并通知协议转换模块;以及与外部主机12交互第一格式的数据;The first interface driving module 201 can receive a write command or a read command of the external host 12, and notify the protocol conversion module; and interact with the external host 12 to data in the first format;
第二接口驱动模块203,可以与NVME固态硬盘11交互数据;The second interface driving module 203 can exchange data with the NVME solid state hard disk 11;
协议转换模块202,可以在接收到外部主机12的写指令时,将写指令携带的写入数据的格式转换为NVME协议格式,然后通知第二接口驱动模块203写入所述NVME固态硬盘11对应的地址空间;在接收到外部主机12的读指令时,从读指令对应的地址空间中读取NVME协议格式的数据,并转换成第一格式的数据后通知第一接口驱动模块201发给外部主机12。The protocol conversion module 202 can convert the format of the write data carried by the write command into the NVME protocol format when receiving the write command of the external host 12, and then notify the second interface driver module 203 to write the corresponding to the NVME solid state drive 11 The address space of the NVME protocol format is read from the address space corresponding to the read command, and converted into the data of the first format, and then notified to the first interface driver module 201 to be sent to the external device. Host 12.
参见图13,作为例子,协议转换模块202可以包括第一协议转换模块2021和第二协议转换模块2022;Referring to FIG. 13, as an example, the protocol conversion module 202 can include a first protocol conversion module 2021 and a second protocol conversion module 2022;
第一协议转换模块2021,可以将第一格式的数据转换为并行接口数据,以及将所述并行接口数据转换为第一格式的数据;The first protocol conversion module 2021 can convert the data of the first format into parallel interface data, and convert the parallel interface data into data of the first format;
第二协议转换模块2022,可以将并行接口数据转换成NVME协议格式的数据;以及将NVME协议格式的数据转换为并行接口数据。The second protocol conversion module 2022 can convert the parallel interface data into data in the NVME protocol format; and convert the data in the NVME protocol format into parallel interface data.
参见图14,第二协议转换模块2022可以包括:DMA模块2022a以及处理模块2022b;Referring to FIG. 14, the second protocol conversion module 2022 may include: a DMA module 2022a and a processing module 2022b;
DMA模块2022a可以将外部主机12的读/写指令存入缓存芯片1106中,并将缓存地址通知处理模块2022b,以及根据处理模块2022b通知的缓存地址从缓存芯片1106中读出数据传输给第一协议转换模块2021;The DMA module 2022a may store the read/write command of the external host 12 into the cache chip 1106, notify the processing module 2022b of the cache address, and transfer the read data from the cache chip 1106 to the first according to the cache address notified by the processing module 2022b. a protocol conversion module 2021;
处理模块2022b可以根据DMA模块2022a通知的缓存地址获取读指令,分析读指令以确定包括对应的地址空间在内的访问参数,根据访问参数利用第二接口驱动模块203访问所述NVME固态硬盘,将NVME固态硬盘返回的数据缓存在缓存芯片1106中,并将数据的缓存地址通知DMA模块2022a;或者The processing module 2022b may acquire a read command according to the cache address notified by the DMA module 2022a, analyze the read command to determine an access parameter including a corresponding address space, and access the NVME solid state hard disk by using the second interface driving module 203 according to the access parameter, The data returned by the NVME solid state hard disk is cached in the cache chip 1106, and the DMA module 2022a is notified of the cache address of the data; or
根据DMA模块2022a通知的缓存地址获取写指令,通过分析写指令确定包括对应的地址空间在内的访问参数,将写指令携带的写入数据通过所述第二接口驱动模块203写入到所述NVME固态硬盘中。Obtaining a write command according to the cache address notified by the DMA module 2022a, determining an access parameter including the corresponding address space by analyzing the write command, and writing the write data carried by the write command to the NVME SSD.
数据转换装置200可以应用于多种应用场景下,例如可以与具有USB接口的外部主机连接,因此,第一格式的数据可以包括USB数据。 The data conversion device 200 can be applied to various application scenarios, for example, can be connected to an external host having a USB interface, and thus, the data of the first format can include USB data.
某些例子中,数据转换装置200中的各逻辑模块的功能可以与图9中的模块具有类似功能。In some examples, the functionality of each of the logic modules in data conversion device 200 may have similar functionality to the modules of FIG.
以上所描述的各实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。The embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, ie may be located A place, or it can be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the objectives of the present application. Those of ordinary skill in the art can understand and implement without any creative effort.
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。 The above is only the preferred embodiment of the present application, and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc., which are made within the spirit and principles of the present application, should be included in the present application. Within the scope of protection.

Claims (23)

  1. 一种数据转换设备,其特征在于,包括:数据处理装置,所述数据处理装置包括第一接口和第二接口;其中A data conversion device, comprising: a data processing device, the data processing device comprising a first interface and a second interface; wherein
    所述第一接口用于连接外部主机,以与外部主机双向传输第一格式的数据;The first interface is configured to connect to an external host to transmit data in a first format to the external host in both directions;
    所述第二接口用于连接NVME固态硬盘;The second interface is used to connect to an NVME solid state drive;
    所述数据处理装置用于在接收到所述外部主机的写指令时,将所述第一格式的数据转换为NVME协议格式的数据,发给所述NVME固态硬盘;在接收到所述外部主机的读指令时,将所述NVME固态硬盘中的NVME协议格式数据转换成所述第一格式的数据,发给所述外部主机。The data processing device is configured to convert the data of the first format into data of an NVME protocol format and send the data to the NVME solid state hard disk when receiving the write command of the external host; and receive the external host When the command is read, the NVME protocol format data in the NVME solid state drive is converted into the data in the first format and sent to the external host.
  2. 根据权利要求1所述的数据转换设备,其特征在于,A data conversion device according to claim 1, wherein
    所述数据处理装置包括第一芯片以及与第一芯片通过片间接口相连的第二芯片,所述第一接口位于所述第一芯片上,所述第二接口位于所述第二芯片上;The data processing device includes a first chip and a second chip connected to the first chip through the inter-chip interface, the first interface is located on the first chip, and the second interface is located on the second chip;
    所述第一芯片用于在外部主机与第二芯片之间进行数据格式转换及数据传输;所述第二芯片用于在第一芯片与NVME固态硬盘之间进行数据格式转换及数据传输。The first chip is used for data format conversion and data transmission between the external host and the second chip; the second chip is used for data format conversion and data transmission between the first chip and the NVME solid state hard disk.
  3. 根据权利要求2所述的数据转换设备,其特征在于,所述数据处理装置还包括与所述第二芯片连接的缓存芯片,其中第二芯片在执行数据格式转换前,先将来自外部主机的数据或来自NVME固态硬盘的数据缓存到所述缓存芯片。The data conversion device according to claim 2, wherein said data processing device further comprises a cache chip connected to said second chip, wherein said second chip is to be externally hosted before performing data format conversion Data or data from the NVME SSD is cached to the cache chip.
  4. 根据权利要求2所述的数据转换设备,其特征在于,所述第二芯片还包括内部缓存,其中第二芯片在执行数据格式转换前,先将所述来自外部主机的数据或来自所述NVME固态硬盘的数据缓存到内部缓存。The data conversion device according to claim 2, wherein the second chip further comprises an internal cache, wherein the second chip first compares the data from the external host or from the NVME before performing data format conversion The data of the SSD is cached to the internal cache.
  5. 根据权利要求2所述的数据转换设备,其特征在于,所述第一芯片为USB PHY芯片,所述第一接口为USB接口;所述第二芯片为可编程逻辑器件,所述片间接口为并行接口。The data conversion device according to claim 2, wherein the first chip is a USB PHY chip, the first interface is a USB interface; the second chip is a programmable logic device, and the inter-chip interface For the parallel interface.
  6. 根据权利要求1所述的数据转换设备,其特征在于,所述第二接口为PCIE接口或U.2接口。The data conversion device according to claim 1, wherein the second interface is a PCIE interface or a U.2 interface.
  7. 根据权利要求3所述的数据转换设备,其特征在于:所述第二芯片包括DMA模块、处理模块、与第二接口连接的第二接口驱动模块;The data conversion device according to claim 3, wherein the second chip comprises a DMA module, a processing module, and a second interface driving module connected to the second interface;
    所述DMA模块用于将外部主机的读/写指令存入所述缓存芯片中,并将缓存地址通知处理模块,以及根据处理模块通知的缓存地址从缓存芯片中读出数据,通过片间接口传输给第一芯片;The DMA module is configured to store a read/write instruction of an external host into the cache chip, notify the processing module of the cache address, and read data from the cache chip according to the cache address notified by the processing module, through the inter-chip interface. Transfer to the first chip;
    所述处理模块用于根据DMA模块通知的缓存地址获取读指令,分析读指令以确定 包括对应的地址空间在内的访问参数,根据访问参数利用所述第二接口驱动模块访问所述NVME固态硬盘,将NVME固态硬盘返回的数据缓存在缓存芯片,并将数据的缓存地址通知DMA模块;或者The processing module is configured to acquire a read instruction according to a cache address notified by the DMA module, and analyze the read instruction to determine An access parameter including a corresponding address space, accessing the NVME solid state hard disk by using the second interface driving module according to the access parameter, buffering data returned by the NVME solid state hard disk in the cache chip, and notifying the DMA module of the cache address of the data ;or
    根据DMA模块通知的缓存地址获取写指令,分析写指令以确定包括对应的地址空间在内的访问参数,将写指令携带的写入数据通过所述第二接口驱动模块写入到所述NVME固态硬盘中。Obtaining a write instruction according to the cache address notified by the DMA module, analyzing the write command to determine an access parameter including a corresponding address space, and writing the write data carried by the write command to the NVME solid state through the second interface driving module In the hard drive.
  8. 根据权利要求1所述的数据转换设备,其特征在于:所述数据处理装置还包括独立于第一接口供电的独立供电模块。The data conversion device according to claim 1, wherein said data processing device further comprises an independent power supply module that is powered independently of the first interface.
  9. 根据权利要求8所述的数据转换设备,其特征在于:所述独立供电模块的最大供电输入能力大于第一接口的最大供电输入能力。The data conversion device according to claim 8, wherein the maximum power input capability of the independent power supply module is greater than the maximum power input capability of the first interface.
  10. 一种芯片,其特征在于,包括:第二接口、并行接口以及协议转换装置;A chip, comprising: a second interface, a parallel interface, and a protocol conversion device;
    所述第二接口用于连接NVME固态硬盘;The second interface is used to connect to an NVME solid state drive;
    所述并行接口用于与外部装置连接;The parallel interface is used to connect with an external device;
    所述协议转换装置用于在在接收到来自所述外部装置的写指令时,将并行接口数据转换为NVME协议格式的数据,发给所述NVME固态硬盘;在接收到所述外部装置的读指令时,将所述NVME固态硬盘中的NVME协议格式数据转换成并行接口数据,发给所述并行接口。The protocol conversion device is configured to convert parallel interface data into data of an NVME protocol format and send the data to the NVME solid state hard disk when receiving a write instruction from the external device; receiving the read of the external device When instructing, the NVME protocol format data in the NVME solid state hard disk is converted into parallel interface data and sent to the parallel interface.
  11. 根据权利要求10所述的芯片,其特征在于:The chip of claim 10 wherein:
    所述协议转换装置包括与所述并行接口连接的DMA模块、与所述第二接口连接的第二接口驱动模块,以及处理模块;The protocol conversion device includes a DMA module connected to the parallel interface, a second interface driver module connected to the second interface, and a processing module;
    所述DMA模块用于将外部装置的读/写指令存入所述缓存芯片中,并将缓存地址通知处理模块,以及根据处理模块的通知的缓存地址从缓存芯片中读出数据通过片间接口传输给外部装置;The DMA module is configured to store a read/write instruction of an external device into the cache chip, notify the processing module of the cache address, and read data from the cache chip according to the buffer address of the notification of the processing module through the inter-chip interface. Transmission to an external device;
    所述处理模块用于根据DMA模块通知的缓存地址获取读指令,分析读指令以确定包括对应的地址空间在内的访问参数,根据访问参数利用所述第二接口驱动模块访问所述NVME固态硬盘,将NVME固态硬盘返回的数据缓存在缓存芯片中,并将数据的缓存地址通知DMA模块;或者The processing module is configured to acquire a read instruction according to a cache address notified by the DMA module, analyze the read instruction to determine an access parameter including a corresponding address space, and access the NVME solid state hard disk by using the second interface driving module according to the access parameter. Caching the data returned by the NVME SSD in the cache chip and notifying the DMA module of the cache address of the data; or
    根据DMA模块通知的缓存地址获取写指令,分析写指令确定包括对应的地址空间在内的访问参数,将写指令携带的写入数据通过所述第二接口驱动模块写入到所述NVME固态硬盘中。Obtaining a write command according to the cache address notified by the DMA module, analyzing the write command to determine an access parameter including a corresponding address space, and writing the write data carried by the write command to the NVME solid state hard disk through the second interface driving module in.
  12. 根据权利要求10所述的芯片,其特征在于,还包括缓存芯片控制模块,用于 与外部缓存芯片连接,根据所述读指令或写指令向所述外部缓存芯片写入或读取相应的数据。The chip according to claim 10, further comprising a cache chip control module for Connected to an external cache chip, the corresponding data is written or read to the external cache chip according to the read command or the write command.
  13. 根据权利要求10所述的芯片,其特征在于,所述第二接口为PCIE接口或U.2接口。The chip according to claim 10, wherein the second interface is a PCIE interface or a U.2 interface.
  14. 一种芯片,其特征在于,包括:第二接口、USB接口以及协议转换装置;A chip, comprising: a second interface, a USB interface, and a protocol conversion device;
    所述USB接口用于与外部主机连接;The USB interface is used to connect with an external host;
    所述第二接口用于与NVME固态硬盘连接;The second interface is used to connect with an NVME solid state hard disk;
    所述协议转换装置用于在接收到来自所述外部主机的写指令时,将USB数据转换为NVME协议格式的数据,发给第二接口;在接收到所述外部主机的读指令时,将所述NVME固态硬盘中的NVME协议格式数据转换成USB数据,发给所述USB接口。The protocol conversion device is configured to convert USB data into data in an NVME protocol format and send the data to the second interface when receiving the write command from the external host; when receiving the read command from the external host, The NVME protocol format data in the NVME solid state drive is converted into USB data and sent to the USB interface.
  15. 一种数据转换方法,其特征在于,包括步骤:A data conversion method, comprising the steps of:
    在接收到外部主机的写指令时,将写指令携带的写入数据的格式转换为NVME协议格式,然后写入所述NVME固态硬盘对应的地址空间;在接收到外部主机读指令时,从读指令对应的地址空间中读取NVME协议格式的数据,并转换成第一格式的数据后发给外部主机,所述第一格式与外部主机的接口类型相对应。When receiving the write command of the external host, converting the format of the write data carried by the write command into the NVME protocol format, and then writing the address space corresponding to the NVME solid state hard disk; when receiving the external host read command, the read command The data in the NVME protocol format is read in the address space corresponding to the instruction, and converted into the data in the first format and sent to the external host, where the first format corresponds to the interface type of the external host.
  16. 根据权利要求15所述的方法,其特征在于,The method of claim 15 wherein:
    将写指令携带的写入数据的格式转换为NVME协议格式包括:Converting the format of the write data carried by the write command to the NVME protocol format includes:
    将写指令携带的写入数据转换为并行接口数据,再将所述并行接口数据转换成NVME协议格式的数据;Converting the write data carried by the write command into parallel interface data, and converting the parallel interface data into data in an NVME protocol format;
    将NVME协议格式数据转换成所述第一格式的数据包括:Converting the NVME protocol format data into the data of the first format includes:
    将NVME协议格式数据转换为并行接口数据,再将所述并行接口数据转换为所述第一格式的数据。The NVME protocol format data is converted into parallel interface data, and the parallel interface data is converted into the data of the first format.
  17. 根据权利要求15所述的方法,其特征在于,所述第一格式的数据包括USB数据。The method of claim 15 wherein the data in the first format comprises USB data.
  18. 一种数据转换装置,其特征在于,包括:A data conversion device, comprising:
    第一接口驱动模块,用于接收外部主机的写指令或读指令,并通知协议转换模块;以及与外部主机交互第一格式的数据;a first interface driving module, configured to receive a write command or a read command of the external host, and notify the protocol conversion module; and interact with the external host in the first format data;
    第二接口驱动模块,用于与NVME固态硬盘交互数据;a second interface driving module, configured to exchange data with the NVME solid state hard disk;
    协议转换模块,用于在接收到外部主机的写指令时,将写指令携带的写入数据的格式转换为NVME协议格式,然后通知第二接口驱动模块写入所述NVME固态硬盘对应的地址空间;在接收到外部主机读指令时,从读指令对应的地址空间中读取NVME协议 格式的数据,并转换成第一格式的数据后通知第一接口驱动模块发给外部主机。The protocol conversion module is configured to convert the format of the write data carried by the write command into an NVME protocol format when receiving the write command of the external host, and then notify the second interface driver module to write the address space corresponding to the NVME solid state drive When the external host read command is received, the NVME protocol is read from the address space corresponding to the read command. The formatted data is converted into the data of the first format and then notified to the first interface driver module to be sent to the external host.
  19. 根据权利要求18所述的装置,其特征在于:The device of claim 18 wherein:
    所述协议转换模块包括第一协议转换模块和第二协议转换模块;The protocol conversion module includes a first protocol conversion module and a second protocol conversion module;
    所述第一协议转换模块,用于将第一格式的数据转换为并行接口数据,以及将所述并行接口数据转换为第一格式的数据;The first protocol conversion module is configured to convert data in a first format into parallel interface data, and convert the parallel interface data into data in a first format;
    所述第二协议转换模块,用于将所述并行接口数据转换成NVME协议格式的数据;以及将NVME协议格式的数据转换为所述并行接口数据。The second protocol conversion module is configured to convert the parallel interface data into data in an NVME protocol format; and convert data in an NVME protocol format into the parallel interface data.
  20. 根据权利要求19所述的装置,其特征在于,所述第二协议转换模块包括:DMA模块以及处理模块;The apparatus according to claim 19, wherein the second protocol conversion module comprises: a DMA module and a processing module;
    所述DMA模块用于将外部主机读/写指令存入所述缓存芯片中,并将缓存地址通知处理模块,以及根据处理模块的通知的缓存地址从缓存芯片中读出数据传输给第一协议转换模块;The DMA module is configured to store an external host read/write instruction into the cache chip, notify the processing module of the cache address, and transmit data read from the cache chip to the first protocol according to the buffer address of the notification of the processing module. Conversion module
    所述处理模块用于根据DMA模块通知的缓存地址获取读指令,分析读指令以确定包括对应的地址空间在内的访问参数,根据访问参数利用所述第二接口驱动模块访问所述NVME固态硬盘,将NVME固态硬盘返回的数据缓存,并将数据的缓存地址通知DMA模块;或者The processing module is configured to acquire a read instruction according to a cache address notified by the DMA module, analyze the read instruction to determine an access parameter including a corresponding address space, and access the NVME solid state hard disk by using the second interface driving module according to the access parameter. , buffering the data returned by the NVME SSD, and notifying the DMA module of the cache address of the data; or
    根据DMA模块通知的缓存地址获取写指令,分析写指令确定包括对应的地址空间在内的访问参数,将写指令携带的写入数据通过所述第二接口驱动模块写入到所述NVME固态硬盘中。Obtaining a write command according to the cache address notified by the DMA module, analyzing the write command to determine an access parameter including a corresponding address space, and writing the write data carried by the write command to the NVME solid state hard disk through the second interface driving module in.
  21. 根据权利要求18所述的装置,其特征在于,所述第一格式的数据包括USB数据。The apparatus of claim 18 wherein said first format of data comprises USB data.
  22. 一种影像系统,其特征在于,包括:影像拍摄设备和数据转换设备;An image system, comprising: an image capturing device and a data conversion device;
    所述影像拍摄设备包括一PCIE接口,用于可拆卸的连接NVME固态硬盘;The image capturing device includes a PCIE interface for detachably connecting the NVME solid state hard disk;
    所述数据转换设备包括至少一个芯片,所述芯片包括:The data conversion device includes at least one chip, and the chip includes:
    一PCIE接口,用于可拆卸的连接所述NVME固态硬盘;a PCIE interface for detachably connecting the NVME solid state drive;
    一USB接口,用于连接外部的图像处理设备;a USB interface for connecting an external image processing device;
    所述芯片用于在接收到所述图像处理设备的写指令时,将USB数据转换为NVME协议格式的数据,发给所述NVME固态硬盘;在接收到所述图像处理设备的读指令时,将NVME协议格式数据转换成USB数据,发给所述图像处理设备。The chip is configured to convert USB data into NVME protocol format data and send the data to the NVME solid state hard disk when receiving the write instruction of the image processing device; when receiving the read instruction of the image processing device, The NVME protocol format data is converted into USB data and sent to the image processing device.
  23. 根据权利要求22所述的影像系统,其特征在于,所述影像拍摄设备包括云台,所述云台能够拆卸地安装于无人机上,所述云台用于承载一相机,并为所述相机增稳。 The image system according to claim 22, wherein said image capturing device comprises a cloud platform, said cloud platform being detachably mounted on a drone, said cloud platform being configured to carry a camera, and said The camera is stabilized.
PCT/CN2016/099210 2016-09-18 2016-09-18 Data conversion apparatus, chip, method and device, and image system WO2018049648A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201680002575.4A CN107077304B (en) 2016-09-18 2016-09-18 Data conversion equipment, chip, method, apparatus and image system
PCT/CN2016/099210 WO2018049648A1 (en) 2016-09-18 2016-09-18 Data conversion apparatus, chip, method and device, and image system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/099210 WO2018049648A1 (en) 2016-09-18 2016-09-18 Data conversion apparatus, chip, method and device, and image system

Publications (1)

Publication Number Publication Date
WO2018049648A1 true WO2018049648A1 (en) 2018-03-22

Family

ID=59624186

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/099210 WO2018049648A1 (en) 2016-09-18 2016-09-18 Data conversion apparatus, chip, method and device, and image system

Country Status (2)

Country Link
CN (1) CN107077304B (en)
WO (1) WO2018049648A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109547749A (en) * 2018-12-18 2019-03-29 中国科学院西安光学精密机械研究所 A kind of spaceborne imaging device data transmission and acquisition system
CN109634880A (en) * 2018-12-12 2019-04-16 广东浪潮大数据研究有限公司 A kind of data acquisition equipment, data interaction equipment and data collection system
CN112148660A (en) * 2020-09-29 2020-12-29 中国船舶重工集团公司第七二四研究所 RapidIO dual-channel data real-time packaging and transmitting method
CN112199312A (en) * 2020-10-09 2021-01-08 深圳市广和通无线股份有限公司 Interface conversion device of communication equipment and communication system
CN112948303A (en) * 2021-03-17 2021-06-11 北京睿芯高通量科技有限公司 Audio and video decoding device and method for adapting server by taking U.2 as transmission interface
CN113033785A (en) * 2021-02-26 2021-06-25 上海阵量智能科技有限公司 Chip, neural network training system, memory management method, device and equipment
CN114519022A (en) * 2020-11-19 2022-05-20 神讯电脑(昆山)有限公司 System and method for expanding capacity of solid state disk
CN115391247A (en) * 2022-08-12 2022-11-25 青岛汉泰智能科技有限公司 PHY data transmission system
CN112948303B (en) * 2021-03-17 2024-05-24 北京中科通量科技有限公司 Audio/video decoding equipment and method using U.2 as transmission interface adaptation server

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804035A (en) * 2018-05-22 2018-11-13 深圳忆联信息系统有限公司 Reduce method, apparatus, computer equipment and the storage medium of IO delays
EP3938880A1 (en) * 2019-03-14 2022-01-19 Marvell Asia Pte, Ltd. Ethernet enabled solid state drive (ssd)
WO2020215182A1 (en) * 2019-04-22 2020-10-29 深圳市大疆创新科技有限公司 Image data processing method, transmission method, transmission apparatus and data interface switching apparatus
CN110399314B (en) * 2019-06-25 2021-10-15 苏州浪潮智能科技有限公司 CPU, electronic equipment and CPU cache control method
CN110471867B (en) * 2019-07-02 2023-04-28 深圳市金泰克半导体有限公司 Solid state disk controller, solid state disk and solid state disk data transmission method
WO2021056458A1 (en) * 2019-09-27 2021-04-01 深圳市大疆创新科技有限公司 Pcie bus-based data processing method and apparatus, and mobile platform
CN111124983A (en) * 2019-12-18 2020-05-08 北京数衍科技有限公司 Interface data conversion device and method
CN111866579A (en) * 2020-07-27 2020-10-30 无锡和博永新科技有限公司 Data conversion method of V4L2
CN111857605A (en) * 2020-08-04 2020-10-30 成都天锐星通科技有限公司 FLASH storage device control method and device and electronic equipment
CN114327256A (en) * 2021-11-22 2022-04-12 南京风兴科技有限公司 Data format online conversion architecture and method for neural network processor
CN114281735A (en) * 2021-12-27 2022-04-05 至誉科技(武汉)有限公司 Card reader device and method for converting CFexpress interface into M.2 interface
CN114520835A (en) * 2022-01-28 2022-05-20 卫圣康医学科技(江苏)有限公司 Modbus protocol and dmx512 protocol conversion equipment and working method
CN114691586B (en) * 2022-05-26 2022-10-04 阿里巴巴(中国)有限公司 Server, data transmission method and out-of-band management chip
CN115857805B (en) * 2022-11-30 2023-06-27 合肥腾芯微电子有限公司 Artificial intelligence computable storage system
CN115831174B (en) * 2022-12-02 2023-08-08 武汉麓谷科技有限公司 M.3 solid state disk interface conversion device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060098507A1 (en) * 2004-11-05 2006-05-11 Ching-Fu Hung Bridging circuit
CN102253905A (en) * 2010-05-20 2011-11-23 智微科技股份有限公司 Data processing device applied to storage device, data access system and related method applied to storage device
CN102292710A (en) * 2009-01-29 2011-12-21 韩商英得联股份有限公司 Controller for solid state disk, which controls simultaneous switching of pads
CN105556930A (en) * 2013-06-26 2016-05-04 科内克斯实验室公司 NVM EXPRESS controller for remote memory access

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100337217C (en) * 2003-07-28 2007-09-12 深圳市朗科科技有限公司 Memory control chip and data memory control method
CN1655277A (en) * 2004-02-09 2005-08-17 联想(北京)有限公司 Multifunctional data storage device and method thereof
CN100478864C (en) * 2004-08-27 2009-04-15 薛萍 Method and device for connecting hardware on a handhold electronic device
CN100430868C (en) * 2005-12-26 2008-11-05 威盛电子股份有限公司 Data buffer system and rending method of data buffer device
CN101414332A (en) * 2007-10-15 2009-04-22 鸿富锦精密工业(深圳)有限公司 Apparatus and method for preventing virus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060098507A1 (en) * 2004-11-05 2006-05-11 Ching-Fu Hung Bridging circuit
CN102292710A (en) * 2009-01-29 2011-12-21 韩商英得联股份有限公司 Controller for solid state disk, which controls simultaneous switching of pads
CN102253905A (en) * 2010-05-20 2011-11-23 智微科技股份有限公司 Data processing device applied to storage device, data access system and related method applied to storage device
CN105556930A (en) * 2013-06-26 2016-05-04 科内克斯实验室公司 NVM EXPRESS controller for remote memory access

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634880A (en) * 2018-12-12 2019-04-16 广东浪潮大数据研究有限公司 A kind of data acquisition equipment, data interaction equipment and data collection system
CN109634880B (en) * 2018-12-12 2022-11-04 广东浪潮大数据研究有限公司 Data acquisition equipment, data interaction equipment and data acquisition system
CN109547749A (en) * 2018-12-18 2019-03-29 中国科学院西安光学精密机械研究所 A kind of spaceborne imaging device data transmission and acquisition system
CN112148660A (en) * 2020-09-29 2020-12-29 中国船舶重工集团公司第七二四研究所 RapidIO dual-channel data real-time packaging and transmitting method
CN112199312A (en) * 2020-10-09 2021-01-08 深圳市广和通无线股份有限公司 Interface conversion device of communication equipment and communication system
CN114519022A (en) * 2020-11-19 2022-05-20 神讯电脑(昆山)有限公司 System and method for expanding capacity of solid state disk
CN114519022B (en) * 2020-11-19 2024-05-14 神讯电脑(昆山)有限公司 System and method for expanding capacity of solid state disk
CN113033785A (en) * 2021-02-26 2021-06-25 上海阵量智能科技有限公司 Chip, neural network training system, memory management method, device and equipment
CN113033785B (en) * 2021-02-26 2024-01-09 上海阵量智能科技有限公司 Chip, neural network training system, memory management method, device and equipment
CN112948303A (en) * 2021-03-17 2021-06-11 北京睿芯高通量科技有限公司 Audio and video decoding device and method for adapting server by taking U.2 as transmission interface
CN112948303B (en) * 2021-03-17 2024-05-24 北京中科通量科技有限公司 Audio/video decoding equipment and method using U.2 as transmission interface adaptation server
CN115391247A (en) * 2022-08-12 2022-11-25 青岛汉泰智能科技有限公司 PHY data transmission system
CN115391247B (en) * 2022-08-12 2023-11-03 青岛汉泰智能科技有限公司 PHY data transmission system

Also Published As

Publication number Publication date
CN107077304A (en) 2017-08-18
CN107077304B (en) 2019-02-12

Similar Documents

Publication Publication Date Title
WO2018049648A1 (en) Data conversion apparatus, chip, method and device, and image system
CN206162501U (en) Data conversion equipment, chip, and image system
US9906713B2 (en) Camera command set host command translation
KR101111946B1 (en) Imaging device, image signal processor and method for sharing memory among chips
CN112256601B (en) Data access control method, embedded storage system and embedded equipment
KR101691760B1 (en) Enabling a metadata storage subsystem
CN108566357B (en) Image transmission and control system and method based on ZYNQ-7000 and FreeRTOS
US9244694B2 (en) Executing a command within a transport mechanism based on a get and set architecture
WO2020163977A1 (en) Virtual flash
CN112765070A (en) Data transmission debugging method and system, electronic equipment and storage medium
US20050188135A1 (en) High performance serial bus data recorder

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: 16916028

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: 16916028

Country of ref document: EP

Kind code of ref document: A1