Memory module including memory devices to which unit id is assigned and storage device including the same
US-2024345944-A1 · Oct 17, 2024 · US
US2017249162A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2017249162-A1 |
| Application number | US-201615053415-A |
| Country | US |
| Kind code | A1 |
| Filing date | Feb 25, 2016 |
| Priority date | Feb 25, 2016 |
| Publication date | Aug 31, 2017 |
| Grant date | — |
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.
A transmit packet processing system includes a NIC, a memory, one or more processors in communication with the memory, and a device driver. The memory has a first set and a second set of physical memory pages. The device driver is loaded in an OS and is configured to initialize the NIC. The device driver is further configured to assign a plurality of rings to specific physical memory pages. The plurality of rings includes transmit rings and receive rings. The transmit rings are utilized by an application in the application memory space. The transmit rings are assigned to the first set of physical memory pages which are writable by the application. The receive rings are assigned to the second set of physical memory pages which are not writable by the application. The device driver is further configured to initiate a mapping of the transmit rings into the application memory space.
Opening claim text (preview).
The invention is claimed as follows: 1 . A system comprising: a network interface controller (NIC); a memory having a first set of physical memory pages and a second set of physical memory pages; one or more processors, in communication with the memory; and a device driver configured to: initialize the NIC, wherein the device driver is loaded in an operating system (OS) by a kernel of the OS; assign a plurality of rings to specific physical memory pages, wherein the plurality of rings include transmit rings and receive rings, one or more of the transmit rings are utilized by an application in an application memory space, the transmit rings are assigned to the first set of physical memory pages, and the first set of physical memory pages is writable by the application; and initiate a mapping of the transmit rings into the application memory space. 2 . The system of claim 1 , wherein the device driver is further configured to send a mapping request to the kernel. 3 . The system of claim 2 , wherein the kernel is configured to: receive the mapping request from the device driver; and map the transmit rings into the application memory space. 4 . The system of claim 1 , wherein the plurality of rings are located in the NIC, the receive rings are assigned to the second set of physical memory pages, and the second set of physical memory pages is not writeable by the application. 5 . The system of claim 1 , wherein the plurality of rings are located in memory available to the application memory space. 6 . The system of claim 1 , wherein the mapping includes a page table that maps virtual addresses to physical addresses. 7 . The system of claim 1 , wherein the device driver is configured to map a transmit request address into the application, and the transmit request address is located on the NIC. 8 . A method of packet processing comprising: initializing, by a device driver, a network interface controller (NIC), wherein the device driver is loaded in an operating system (OS) by a kernel of the OS; assigning, by the device driver, a plurality of rings to use specific physical memory pages, wherein the plurality of rings include transmit rings and receive rings, one or more of the transmit rings are utilized by an application in an application memory space, the transmit rings are assigned to a first set of physical memory pages, a first page of the first set of physical pages is writeable by the application; and initiating, by the device driver, a mapping of the transmit rings into the application memory space. 9 . The method of claim 8 , wherein initiating the mapping by the device driver includes sending, by the device driver, a mapping request to the kernel. 10 . The method of claim 9 , further comprising: responsive to sending the mapping request, receiving, by the kernel, the mapping request from the device driver; and responsive to receiving the mapping request, mapping, by the kernel, the transmit rings into the application memory space. 11 . The method of claim 8 , wherein the receive rings are assigned to the second set of physical memory pages, and the second set of physical memory pages is not writeable by the application. 12 . The method of claim 8 , wherein the plurality of rings are located in one of the NIC, and memory available to the application memory space. 13 . The method of claim 8 , further comprising restricting, by the device driver, access to the second set of memory pages to a specific type of access by the application in the application memory space. 14 . The method of claim 13 , wherein the specific type of access is read only access. 15 . The method of claim 8 , wherein the mapping includes a page table that maps virtual addresses to physical addresses. 16 . The method of claim 15 , wherein the page table includes access permissions. 17 . The method of claim 8 , wherein the device driver maps a transmit request address into the application, and the transmit request address is located on the NIC. 18 . A non-transitory machine readable medium storing code which, when executed by a computer system, cause the computer system to: load, by a kernel, a device driver in an operating system; initialize, by the device driver, a network interface controller (NIC); assign, by the device driver, transmit rings to a first set of physical memory pages; and initiate, by the device driver, a mapping of the transmit rings into an application memory space. 19 . The non-transitory machine readable medium of claim 18 , wherein the computer system is further configured to: send, by the device driver, a mapping request to the kernel; responsive to sending the mapping request, receive, by the kernel, the mapping request from the device driver; and responsive to receiving the mapping request, map, by the kernel, the transmit rings into the application memory space. 20 . The non-transitory machine readable medium of claim 18 , wherein the computer system is further configured to: assign, by the device driver, receive rings to a second set of physical memory pages; and restrict, by the device driver, access to the second set of physical memory pages to a specific type of access by an application in the application memory space.
User address space allocation, e.g. contiguous or non contiguous base addressing · CPC title
for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories · CPC title
Configuring for operating with peripheral devices; Loading of device drivers · CPC title
Loading of operating system · CPC title
Details relating to dynamic memory management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.