Virus Co-Processor Offloading Virtual Address Translation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing antivirus software often has a significant negative impact on computer systems due to the resource-intensive process of scanning for viruses, which can be more burdensome than the potential threats posed by many viruses.
Innovation Solution
A combined hardware and software virus processing system that utilizes a general purpose processor and a virus co-processor, where the processor maintains a page directory and page table to translate virtual addresses to physical addresses, and the co-processor scans content objects for undesirable content using multiple signatures, offloading processing tasks to reduce the load on the general purpose processor.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If antivirus software scans for viruses using general purpose processor, then virus detection capability is improved, but system performance deteriorates
Solution Approach 1:
The system divides virus scanning functionality into two segments: a general purpose processor that handles system operations and a dedicated virus co-processor that handles virus scanning. This segmentation allows virus detection to occur independently without burdening the main processor, thus maintaining system performance while improving virus detection capability.
Solution Approach 2:
A virus co-processor is introduced as an intermediary component between the general purpose processor and the virus scanning function. The co-processor receives scanning requests from the main processor, performs the resource-intensive virus detection tasks, and returns results, thereby protecting system performance while enabling comprehensive virus detection.
2Reliability
If virus scanning is performed by general purpose processor, then comprehensive virus detection is achieved, but resource consumption increases
Solution Approach 1:
The processing workload is segmented between the general purpose processor and the virus co-processor. The co-processor is specifically designed to handle virus scanning operations, offloading these resource-intensive tasks from the main processor and reducing overall system resource consumption while maintaining comprehensive detection capabilities.
Solution Approach 2:
The virus co-processor is a self-contained unit that independently performs virus scanning operations. It has its own processing capabilities and can autonomously handle scanning tasks without continuously consuming general purpose processor resources, thus reducing overall system resource consumption while maintaining detection effectiveness.
3Productivity
If virtual address translation is implemented for hardware accelerator, then data transfer efficiency is improved, but system complexity increases
Solution Approach 1:
The virus co-processor utilizes the existing virtual address translation infrastructure of the system, which is already implemented for the general purpose processor. By sharing this multi-functional address translation mechanism, the system achieves efficient data transfer to the hardware accelerator without adding separate translation logic, thus improving productivity while minimizing additional complexity.
Data Source
AI summary
Circuits and methods are provided for detecting, identifying and/or removing undesired content. According to one embodiment, a processor maintains a page directory and a page table within a system memory for use in connection with translating virtual addresses to physical addresses. Content scanning of a content object is offloaded to a hardware accelerator coupled to the processor by storing content scanning parameters, including the content object and a type of the content object, to the memory using one or more virtual addresses and indicating to the hardware accelerator that the content object is available for content scanning. Responsive thereto, the hardware accelerator: (i) translates the virtual addresses to corresponding physical addresses based on one or more of the page directory and the page table; (ii) accesses scanning parameters based on the physical addresses; (iii) scans the content object for undesirable content by applying multiple signatures; and (iv) returns a result of the content scanning to the processor.


