A high-speed storage and playback system for optical fiber image data based on FPGA

Through the high-speed storage and playback system of optical fiber image data based on FPGA, the problem of high-speed storage and playback of high-frame rate, high-resolution image data is solved, and image data processing with high bandwidth and low power consumption is realized, which improves the performance and flexibility of the system.

CN115268766BActive Publication Date: 2025-05-06INST OF OPTICS & ELECTRONICS CHINESE ACAD OF SCI

Patent Information

Application Number
CN202210678430.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-16
Publication Date
2025-05-06
Estimated Expiration
2042-06-16

AI Technical Summary

Technical Problem

The prior art is difficult to meet the high-speed storage and playback requirements of high frame rate and high resolution image data, especially in embedded systems with small size and low power consumption.

Method used

The high-speed storage and playback system of optical fiber image data based on FPGA is adopted, and image data storage and playback with high bandwidth and low power consumption is realized through components such as optical fiber data transmission interface, optical fiber protocol conversion module, FIFO cache, DDR memory, NVMe SSD hard disk and NVMe host controller module.

Benefits of technology

Real-time storage and playback of high-resolution and high-frame rate image data is realized, the transmission rate and storage capacity are improved, and the advantages of small size, low power consumption and strong flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115268766B_ABST
    Figure CN115268766B_ABST
Patent Text Reader

Abstract

The present invention discloses a high-speed storage and playback system for optical fiber image data based on FPGA, which adopts UltraScale+ series FPGA as a controller and uses the high-speed serial transceiver (GTH) of FPGA to perform high-speed serial data transmission through optical fiber. The optical fiber image data transmission protocol adopts an optical fiber custom protocol, which effectively improves the utilization rate of optical fiber bandwidth and reduces the complexity of the transmission protocol. When the number of optical fiber interfaces and the number of NVMe SSD hard disks are single or multiple, the correspondence between the optical fiber interface and the NVMe SSD hard disk is determined according to the user command. The NVMe host controller is implemented by hardware logic, and the SSD data management module uses a communication module to receive external user commands and return storage system status information. The image data storage and playback system based on FPGA described in the present invention has the advantages of small size, low power consumption, high speed and strong flexibility.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of high-speed image data storage and image playback, and in particular to an FPGA-based optical fiber image data high-speed storage and playback system for recording and playing back high-frame rate and high-resolution image data. Background Art

[0002] As the resolution and frame rate of image sensors such as visible light and infrared continue to increase, higher requirements are placed on the high-speed transmission and storage of image data. After the hard disk speed using the SATA 3.0 protocol reaches 6Gbps (about 600MB / s), the transmission rate cannot be further increased due to the current physical interface. The data transmission of NVMe protocol SSD hard disks is based on the PCIe bus protocol, and the transmission rate has been greatly improved. At present, the transmission rate of hard disks using the PCIe 3.0 transmission protocol can reach more than 2.6GB / s, and with the subsequent upgrade of PCIe, the transmission rate of NVMe protocol SSD hard disks will be higher. Therefore, NVMe SSD hard disks have better development prospects for high-speed storage.

[0003] For image data storage that requires small size and low power consumption, traditional computer storage solutions are difficult to meet application requirements, while embedded systems are widely used due to their small size and low power consumption. ARM-based embedded processing systems are limited by the ARM core main frequency and threads, making it difficult to give full play to the transmission performance of NVMe SSDs. However, FPGA-based embedded processing systems can better give full play to the read and write rates of NVMe SSDs by leveraging the parallel characteristics of FPGAs, and can reasonably configure the FPGA resource usage according to the actual application requirements of the number of fiber channels and the number of NVMe SSD hard drives, increasing the flexibility of the system. Summary of the invention

[0004] The purpose of the present invention is to provide a high-speed storage and playback system for optical fiber image data based on FPGA, which can realize real-time storage and playback of high-resolution and high-frame-rate image data with high bandwidth, low power consumption and small size.

[0005] The object of the present invention is to achieve the following technical solutions:

[0006] A high-speed storage and playback system for optical fiber image data based on FPGA, characterized in that:

[0007] The system comprises: an optical fiber data transmission interface, an optical fiber protocol conversion module, a FIFO cache, a DDR memory, an NVMe SSD hard disk, a two-level data cache state machine, an SSD data management module, a human-computer interaction communication module and an NVMe host controller module, wherein the NVMe host controller module is implemented by FPGA, and the optical fiber data transmission interface is implemented by a high-speed serial transceiver of FPGA;

[0008] The optical fiber data transmission interface is configured to receive and send data, wherein, according to actual data transmission requirements, the optical fiber data transmission interface accesses single-channel optical fiber image data or multiple-channel optical fiber image data;

[0009] The optical fiber protocol conversion module is configured to parse the optical fiber transmission protocol of the optical fiber image data or add relevant data of the optical fiber transmission protocol to the optical fiber image data;

[0010] The FIFO cache and the DDR memory are configured to perform two-level data caching, wherein the DDR memory expands the connection port between the DDR memory and the PCIe bridge through the AXI Interconnect IP according to the number of the SSD hard disks, and allocates DDR cache space to each SSD hard disk respectively;

[0011] The human-computer interaction communication module is configured to control the working state of the storage and playback system;

[0012] The NVMe host controller module is configured to control the storage and playback system to realize data exchange between the SSD hard disk and the DDR memory, wherein each fiber image data communicates with the FIFO cache through a high-speed serial transceiver.

[0013] Furthermore, the NVMe host controller module is configured to connect to the PCIe bridge using an AXI bus to implement command submission, receive completion commands and parse completion commands, submit queue tail doorbell registers and submit completion queue head doorbell registers.

[0014] Furthermore, when storing optical fiber image data, the optical fiber protocol conversion module parses the custom protocol of the optical fiber image data, and then caches the parsed data into the FIFO cache. When the data in the FIFO cache reaches the minimum unit LBA of the SSD hard disk write operation, a write operation of the FIFO cache to the DDR memory is performed.

[0015] Furthermore, when playing back the fiber optic image data, the NVMe host controller module reads the data of the SSD hard disk into the DDR memory, and then the data in the DDR memory is burst-transmitted to the FIFO cache in data blocks of LBA size, and the fiber optic image data in the FIFO cache is added with relevant data of the fiber optic custom protocol, and finally sent out through a high-speed serial transceiver, and the receiving end is received and displayed by the computer's image acquisition card.

[0016] Furthermore, the human-computer interaction communication module receives control commands sent from the outside or status information of the sending system through a serial port or CAN bus, and interacts with the SSD data management module, wherein the control commands and status information adopt a custom command format and content, and send corresponding commands according to task requirements to realize storage and playback system status query, determine the correspondence between the optical fiber data transmission interface and the NVMe SSD hard disk, initiate the SSD hard disk data storage and initiate the SSD hard disk data reading.

[0017] Furthermore, when the storage and playback system includes n NVMe SSD hard disks, the NVMe host controller module is formed to correspond to n NVMe host controller modules, and an SSD data management module is established on the top layer of the NVMe host controller module to parse management commands and manage the data of each NVMe SSD hard disk through the SSD data management module, n.

[0018] Furthermore, the fiber optic transmission protocol adopts a custom fiber optic protocol, and data reception and transmission are based on data frames. A frame of data consists of a data frame header, frame number, frame valid byte length, frame valid data, reserved, and data frame tail; the number of valid data bytes in a data frame is determined by the user, and when a frame of data is transmitted, it contains multiple data packets, and the frame header and frame tail information are included in the packet data; a packet of data consists of a data packet header, packet number, channel number, reserved, packet valid byte length, packet valid data, packet cumulative sum, reserved, and data frame tail; when there is valid data to be transmitted, the packet header, packet tail, frame header, and frame tail information contain a clock correction sequence and a K character; when there is no data to be transmitted, the clock correction sequence and the K character are sent at fixed intervals to ensure the stability of the fiber optic link.

[0019] Compared with the prior art, the present invention has the following beneficial effects:

[0020] 1. NVMe SSD hard disk has the advantages of high read and write speed, small size and large capacity. Based on FPGA storage system, the read and write speed of a single NVMe SSD hard disk can reach more than 1.6GB / s. The storage system can be configured with multiple NVMe SSD hard disks, and the transmission rate and storage capacity of the storage system will be doubled;

[0021] 2. The FPGA-based image data storage and playback system has the advantages of small size, low power consumption and strong flexibility. The number of optical fiber data transmission interfaces and hard disks can be flexibly configured according to actual application needs, reducing system costs;

[0022] 3. The use of custom fiber protocols can reduce the encoded data information, effectively improve the utilization of fiber bandwidth, reduce the complexity of the transmission protocol and facilitate the inspection of the correctness of data transmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] Figure 1 The present invention provides a high-speed storage and playback system for optical fiber image data based on FPGA.

[0024] Figure 2 This is the relationship between the corresponding relationship of data among FIFO, DDR memory and SSD provided by the embodiment of the present invention.

[0025] Figure 3 It is a block diagram of the working principle of the two-level cache for image data storage provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0026] Embodiments of the present invention will be described below with reference to the accompanying drawings, but it should be understood that these descriptions are only exemplary and are not intended to limit the scope of the present invention.

[0027] Figure 1 The structure diagram of the optical fiber image data high-speed storage and playback system based on FPGA of the present invention is shown in the figure. The system uses FPGA as the controller, NVMe SSD hard disk as the storage device, DDR as the image data cache device, and optical fiber as the image data source. Figure 1 As shown, the FPGA-based high-speed storage and playback system for optical fiber image data includes: UltraScale+ series FPGA, optical fiber data transmission interface, DDR4 memory particles, NVMe SSD hard disk, optical fiber protocol conversion module, two-level data cache state machine, SSD data management module, human-computer interaction communication module and NVMe host controller module.

[0028] FPGA is the controller of the entire image data storage and playback system. When the system works in storage mode, the user first transmits the command in a unified format to the SSD data management module inside the FPGA through the serial port of the human-computer interaction communication module. FPGA parses the received command, and the command content includes the type of command, the fiber interface number used, the hard disk number used, the hard disk number corresponding to each fiber interface number during image data transmission, the starting position of each hard disk operation, and the amount of data transmitted.

[0029] The NVMe host controller module is connected to the PCIe bridge through the AXI bus, and initiates the corresponding read and write data commands by judging the state of the two-level data cache state machine. When the state of the two-level data cache state machine is to initiate a read (write) data command, the NVMe host controller actively submits the queue tail doorbell register, and prepares the read (write) data command to be submitted according to the submission command format, waiting for the SSD controller to read the command and read (write) data. When a command reads (writes) data, the NVMe host controller module receives and parses the completion command through the AXI bus, determines whether the submitted command has been successfully completed, and submits the completion queue head doorbell register after completing the command parsing. At this time, it waits for the state jump of the two-level data cache state machine to submit the next command. When the storage system is connected to n NVMe SSD hard disks, the FPGA will instantiate n NVMe host controller modules accordingly, and establish an SSD data management module on the top layer of the NVMe host controller module, and parse the management command and manage the data of each NVMe SSD hard disk through the SSD data management module.

[0030] When the optical fiber interface receives image data, the optical fiber protocol conversion module parses the image data according to the optical fiber custom protocol; when the optical fiber interface sends image data, the image data is first added to the protocol-related data according to the optical fiber custom protocol, and then the image data is sent through the high-speed serial transceiver. Image data is received and sent in data frames. A frame of data consists of a data frame header, frame number, frame valid byte length, frame valid data, reserved, and data frame tail. The number of valid data bytes in a frame of data is determined by the user. When a frame of data is transmitted, it can contain multiple data packets, and the frame header and frame tail information are included in the packet data. A packet of data consists of a data packet header, packet number, channel number, reserved, packet valid byte length, packet valid data, packet cumulative sum, reserved, and data frame tail. When there is valid data transmission, the packet header, packet tail, frame header, and frame tail information contain a clock correction sequence and a K character; when there is no valid data transmission, the clock correction sequence and the K character are sent at fixed intervals to ensure the stability of the optical fiber link. By parsing the image data in the data format of the fiber custom protocol, the valid data is stored in the FIFO, and the packet number, frame number and packet accumulation information are analyzed to determine whether the fiber data is transmitted correctly. If the system works in playback mode, the valid data in the FIFO is read out and packaged in the data format of the fiber custom protocol for transmission through the fiber.

[0031] The FPGA-based image data storage and playback system uses FIFO and DDR to form a two-level cache. The human-computer interaction communication module sends management commands to the system for initialization. The SSD data management module manages the system. First, the corresponding relationship between the optical fiber interface and the SSD hard disk is allocated. In the system, optical fiber interface 1 corresponds to FIFO1, optical fiber interface 2 corresponds to FIFO2, ..., optical fiber interface m corresponds to FIFOm (m is a positive integer, and the maximum value is determined by the number of FPGA high-speed serial channels). The corresponding relationship between data FIFO, DDR memory and SSD is as follows: Figure 2 As shown, according to the number of SSD hard disks n (n is a positive integer, and the maximum value is determined by the number of PCIe channels of the FPGA) configured by the system receiving the command, the DDR memory space is evenly divided into n memory spaces, and the size of the memory space of each part is an even multiple of LBA. If it is not satisfied, the n memory spaces are divided into the even multiple of LBA space closest to the average number of memory spaces in turn, and the remaining space is reserved, and each memory space is evenly divided into part A and part B again. According to the command parsing of the human-computer interaction communication module, some FIFOs, memory spaces and SSDs maintain a one-to-one correspondence; some multiple FIFOs correspond to one DDR memory space and SSD.

[0032] The working principle diagram of the two-level cache for image data storage is as follows Figure 3As shown, first receive the management command and parse it. If the optical fiber interface i uses a single SSD hard disk, determine whether the number of bytes in the FIFO cache of the optical fiber interface i reaches one LBA. If not, wait until the number of bytes in the FIFO cache reaches one LBA. If the number of bytes in the FIFO cache reaches one LBA, transfer the data in the FIFO to the A part of the DDR space i through the AXI bus. Then determine whether the data in the A part of the DDR space i is full. If the data is full, control the NVMe host controller to write the data in the A part of the DDR space i to the SSD. At the same time, the data in the FIFO is transferred to the B part of the DDR space i through the AXI bus. Then, it is detected whether the stop data storage command is received. If no stop data storage command is received, it is determined whether the data in part A of DDR space i is read empty and whether the data in part B of DDR space i is full. If so, the NVMe host controller is controlled to write the data in part B of DDR space i into the SSD. At the same time, the data in the FIFO is transferred to part A of DDR space i through the AXI bus. Then it is determined whether the stop data storage command is received. If the stop command is received, all the data in DDR space i is written into the SSD and the data storage is ended. If not, it returns to the state of determining whether the data in part A of DDR space i is full. When the command parsing result is that multiple optical fiber interfaces share an SSD hard disk, it is determined whether the number of bytes in the FIFO cache of all optical fiber interfaces sharing an SSD reaches one LBA. If the data volume reaches 1 LBA, the data in the corresponding FIFOs of all optical fiber interfaces sharing an SSD are transferred to part A of DDR space j in a polling manner through the AXI bus according to the order of the optical fiber interfaces. Determine whether the data in part A of DDR space j is full. When part A is full, control the NVMe host controller to write the data in part A of DDR space j to SSD. At the same time, the data in FIFO is transferred to part B of DDR space j through AXI bus. Further determine whether the data storage command is received. If not, continue to determine whether the data in part A of DDR space j is read empty and whether the data in part B of DDR space j is full. If the conditions are met, control the NVMe host controller to write the data in part B of DDR space j to SSD. At the same time, the data in FIFO is transferred to part A of DDR space j through AXI bus. Continue to determine whether the stop data storage command is received. If the stop command is received, write all the data in DDR space j to SSD and end data storage. If not, return to the state of determining whether the data in part A of DDR space j is full. When the image data is played back, the data flow of the two-level cache is opposite to this, so it is not analyzed in detail.

[0033] The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. These embodiments are only for the purpose of illustration, and are not intended to limit the scope of the present invention. The scope of the present invention is defined by the appended claims and their equivalents. Without departing from the scope of the present invention, those skilled in the art may make various substitutions and modifications, which should all fall within the scope of the present invention.

Claims

1. A high-speed storage and playback system for optical fiber image data based on FPGA, characterized in that: The system comprises: an optical fiber data transmission interface, an optical fiber protocol conversion module, a FIFO cache, a DDR memory, an NVMe SSD hard disk, a two-level data cache state machine, an SSD data management module, a human-computer interaction communication module and an NVMe host controller module, wherein the NVMe host controller module is implemented by FPGA, and the optical fiber data transmission interface is implemented by a high-speed serial transceiver of FPGA; The optical fiber data transmission interface is configured to receive and send data, wherein, according to actual data transmission requirements, the optical fiber data transmission interface accesses single-channel optical fiber image data or multiple-channel optical fiber image data; The optical fiber protocol conversion module is configured to parse the optical fiber transmission protocol of the optical fiber image data or add relevant data of the optical fiber transmission protocol to the optical fiber image data; The FIFO cache and the DDR memory are configured to perform two-level data caching, wherein the DDR memory expands the connection port between the DDR memory and the PCIe bridge through the AXI Interconnect IP according to the number of the SSD hard disks, and allocates DDR cache space to each SSD hard disk respectively; The human-computer interaction communication module is configured to control the working state of the storage and playback system; The NVMe host controller module is configured to control the storage and playback system to realize data exchange between the SSD hard disk and the DDR memory, wherein each fiber image data communicates with the FIFO cache through a high-speed serial transceiver.

2. The FPGA-based high-speed storage and playback system for optical fiber image data according to claim 1, characterized in that: The NVMe host controller module is configured to connect to the PCIe bridge using an AXI bus to implement command submission, receive completion commands and parse completion commands, submit queue tail doorbell registers and submit completion queue head doorbell registers.

3. The FPGA-based high-speed storage and playback system for optical fiber image data according to claim 1, characterized in that: When storing optical fiber image data, the optical fiber protocol conversion module parses the custom protocol of the optical fiber image data, and then caches the parsed data into the FIFO cache. When the data in the FIFO cache reaches the minimum unit LBA of the SSD hard disk write operation, a write operation of the FIFO cache to the DDR memory is performed.

4. The FPGA-based high-speed storage and playback system for optical fiber image data according to claim 1, characterized in that: When playing back the fiber image data, the NVMe host controller module reads the data of the SSD hard disk into the DDR memory, and then the data in the DDR memory is burst-transmitted to the FIFO cache in data blocks of LBA size. The fiber image data in the FIFO cache is added with the relevant data of the fiber custom protocol, and finally sent out through a high-speed serial transceiver, and the receiving end is received and displayed by the computer's image acquisition card.

5. The FPGA-based high-speed storage and playback system for optical fiber image data according to claim 1, characterized in that: The human-computer interaction communication module receives control commands sent from the outside or status information of the sending system through a serial port or CAN bus, and interacts with the SSD data management module. The control commands and status information adopt a custom command format and content, and send corresponding commands according to task requirements to realize storage and playback system status query, determine the correspondence between the optical fiber data transmission interface and the NVMe SSD hard disk, initiate the SSD hard disk data storage and initiate the SSD hard disk data reading.

6. The FPGA-based high-speed storage and playback system for optical fiber image data according to claim 1, characterized in that: When the storage and playback system includes n NVMe SSD hard disks, the NVMe host controller module is formed to correspond to n NVMe host controller modules, and an SSD data management module is established on the top layer of the NVMe host controller module to parse management commands and manage the data of each NVMe SSD hard disk through the SSD data management module, wherein n is a positive integer.

7. The FPGA-based high-speed storage and playback system for optical fiber image data according to claim 1, characterized in that: The fiber optic transmission protocol adopts a custom fiber optic protocol. Data reception and transmission are based on data frames. A frame of data consists of a data frame header, frame number, frame valid byte length, frame valid data, reserved, and data frame tail. The number of valid data bytes in a data frame is determined by the user. When a frame of data is transmitted, it contains multiple data packets, and the frame header and frame tail information are included in the packet data. A packet of data consists of a data packet header, packet number, channel number, reserved, packet valid byte length, packet valid data, packet cumulative sum, reserved, and data frame tail. When there is valid data to be transmitted, the packet header, packet tail, frame header, and frame tail information contain a clock correction sequence and a K character. When there is no data to be transmitted, the clock correction sequence and the K character are sent at fixed intervals to ensure the stability of the fiber optic link.

Citation Information

Patent Citations

  • High speed storage and transmission device based on FPGA

    CN101833424A

  • NAND Flash-based data recording method and recording controller

    CN102169462A

Cited By

  • FPGA-based embedded multi-channel optical fiber data high-speed storage system and method

    CN121433581A