Electronic device and method of improving antenna performance thereof
US-10446912-B2 · Oct 15, 2019 · US
US11941449B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11941449-B2 |
| Application number | US-202017597984-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 25, 2020 |
| Priority date | Apr 7, 2020 |
| Publication date | Mar 26, 2024 |
| Grant date | Mar 26, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The field of high-speed data acquisition and network data processing, and particularly relates to an Ethernet data stream recording method, an Ethernet data stream recording system, and an Ethernet data stream recording device for a high-speed data acquisition system. It is intended to solve problems such as a low utilization rate of CPU, poor system compatibility, difficulty in packaging and deployment and low reliability of system transmission of the traditional high-speed data acquisition system. The method of the present disclosure includes: isolating a preset number of CPU cores after a Linux operating system is booted; uninstalling a kernel network card driver of the operating system and creating a hugepage memory pool; for each 10-gigabit network card, allocating a corresponding data-receiving buffer pool and a corresponding lock-free FIFO buffer, and initializing a PCIE register of each 10-gigabit network card such that each 10-gigabit network card enters into an acquisition state; and continuously receiving packets acquired by each 10-gigabit network card in a driving manner of user space polling and performing disk recording. According to the present disclosure, the utilization rate of CPU, system compatibility and transmission reliability are improved and the difficulty in packaging and deployment is decreased.
Opening claim text (preview).
The invention claimed is: 1. A method for recording Ethernet data stream, implemented at a high-speed data acquisition system, the high-speed data acquisition system being constructed from a Linux operating system, a plurality of 10-gigabit network cards and a high-speed NVMe solid state drive, comprising: step S 100 , isolating a preset number of CPU cores after the Linux operating system is booted; step S 200 , uninstalling a kernel network card driver of the Linux operating system by an sysfs file system and creating a hugepage memory pool; for each 10-gigabit network card, allocating a corresponding data-receiving buffer pool and a corresponding lock-free FIFO buffer by a hugetlbfs file system, and initializing a PCIE register of each of the plurality of 10-gigabit network cards by the sysfs file system based on a corresponding PCIE address such that each 10-gigabit network card enters into an acquisition state; wherein the uninstalling of the kernel network card driver of the Linux operating system by an sysfs file system and creating a hugepage memory pool in step S 200 comprises performing the uninstalling by an unbind node in a driver directory of a pci device in the sysfs file system, setting the number of hugepages in an nr_hugepages node after the uninstalling is completed, and creating the hugepage memory pool; step S 300 , creating a plurality of worker threads and binding the plurality of worker threads to the CPU core, and continuously receiving packets acquired by each 10-gigabit network card in a driving manner of user-space polling and performing disk recording on the packets acquired by each 10-gigabit network card, wherein the worker threads include a data receiving thread and a disk recording thread. 2. The method of claim 1 , wherein the isolating CPU cores further comprises reserving at least Core0 for kernel thread scheduling of the Linux operating system. 3. The method of claim 1 , wherein the allocating a corresponding data-receiving buffer pool and a corresponding lock-free FIFO buffer by the hugetlbfs file system in step 200 comprises: allocating, in the hugetlbfs file system, spaces for the data-receiving buffer pool and the lock-free FIFO buffer for each 10-gigabit network card by using mmap. 4. The method of claim 1 , wherein the initializing a PCIE register of each of the plurality of 10-gigabit network cards by the sysfs file system based on a corresponding PCIE address in the step 200 comprises: mapping resource node resource0 of a pci device of the sysfs file system by using mmap, and reading and writing an offset address of a PCIE register in a corresponding 10-gigabit network card in a mapping space; the reading and writing comprises closing an interruption of the 10-gigabit network card, resetting a master chip of the 10-gigabit network card, re-closing the interruption, waiting for a flag indicating a completion of DMA initialization, resetting a header pointer RDH and a tail pointer RDT of a data receiving ring RX, filling a physical address of each DMA description unit; and enabling a jumbo frame and promiscuous mode flag bit. 5. The method of claim 4 , wherein the continuously receiving packets acquired by each 10-gigabit network card in a driving manner of user-space polling in step 300 comprises: step S 310 , transmitting, by each 10-gigabit network card, the acquired packets to system memory through a PCIE bus according to an address corresponding to a DMA description unit in a RX and moving the RDH forward until a STAT_DD flag bit of the DMA description unit at the current location of the RX is 1; step S 320 , obtaining a virtual address of a packet corresponding to the DMA description unit, storing the virtual address in a pointer array; and requesting a new packet receiving space from the hugepage memory pool for initialization and writing a newly buffered physical address to the DMA description unit; and step S 330 , cyclically performing step S 310 and step S 320 until a preset maximum number of packets received at a time is reached, and performing step S 340 when the maximum number of packets received at a time is reached; and step S 340 , moving forward the RDT, freeing a storage space of each 10-gigabit network card, and processing a packet corresponding to the pointer array, copying processing results to the lock-free FIFO buffer, and freeing a space of the memory pool corresponding to the pointer array after the copying is completed; wherein the processing includes integrity detection, and packet header filtering. 6. The method of claim 5 , wherein the disk recording comprises: retrieving packets from the lock-free FIFO buffer, dividing a single continuous data stream into a plurality of data files and writing the data files into a magnetic disk; when a data file has a size lager than a preset threshold, closing the data file and creating a new data file for writing. 7. A system for recording Ethernet data stream, used in a high-speed data acquisition system, comprising a closure isolator, a network card initializer, and a recorder, wherein the closure isolator is configured to isolate a preset number of CPU cores after a Linux operating system is booted; the network card initializer is configured to uninstall a kernel network card driver of the Linux operating system by an sysfs file system and create a hugepage memory pool; for each 10-gigabit network card, allocate a corresponding data-receiving buffer pool and a corresponding lock-free FIFO buffer by a hugetlbfs file system, and initialize a PCIE register of each of the plurality of 10-gigabit network cards by the sysfs file system based on a corresponding PCIE address such that each 10-gigabit network card enters into an acquisition state, wherein the network card initializer is configured to uninstall the kernel network card driver of the Linux operating system by an sysfs file system and create the hugepage memory pool by performing uninstalling by an unbind node in a driver directory of a pci device in the sysfs file system, setting the number of hugepages in an nr_hugepages node after the uninstalling is completed, and creating the hugepage memory pool; and the recorder is configured to create a plurality of worker threads and binding the plurality of worker threads to the CPU core and continuously receive packets acquired by each 10-gigabit network card in a driving manner of user-space polling and perform disk recording on the packets acquired by each 10-gigabit network card, wherein the worker threads include a data receiving thread and a disk recording thread. 8. A storage device, having a plurality of programs stored, wherein the programs are loaded and executed by a processor to implement the method according to claim 1 . 9. A processing device comprising a processor and a storage device; wherein the processor is configured to execute a plurality of programs; the storage device is configured to store the plurality of programs; and the programs are loaded and executed by the processor to implement the method according to claim 1 .
the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title
the resource being the memory · CPC title
Buffers; Shared memory; Pipes · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Improving I/O performance · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.