PROCESSOR-BUS-CONNECTED FLASH STORAGE MODULE
First Claim
1. A system comprising a plurality of nodes coupled using a network of processor buses, wherein the plurality of nodes comprises:
- a first processor node comprising one or more processing cores and main memory; and
a flash memory node coupled to the first processor node via a first processor bus of the network of processor buses, the flash memory node comprising;
a flash memory comprising a plurality of flash pages;
a first memory comprising;
a cache partition for storing cached flash pages for the plurality of flash pages in the flash memory; and
a control partition for storing cache control data and contexts of requests to access the plurality of flash pages; and
a logic module comprising a direct memory access (DMA) register and configured to;
receive a first request from the first processor node via the first processor bus to access the plurality of flash pages, wherein the first request is received using the DMA register that is mapped into an address space of the first processor node,store one or more parameters of the first request as a first context of the contexts stored in the control partition of the first memory,schedule a DMA operation responsive to the first request, andperform the DMA operation based on the first context,wherein the DMA operation transfers data between the flash memory and the first processor node and comprises accessing the cache partition in the first memory when a portion of the plurality of flash pages is cached in the cache partition according to the cache control data.
2 Assignments
0 Petitions
Accused Products
Abstract
A system includes multiple nodes coupled using a network of processor buses. The multiple nodes include a first processor node, including one or more processing cores and main memory, and a flash memory node coupled to the first processor node via a first processor bus of the network of processor buses. The flash memory node includes a flash memory including flash pages, a first memory including a cache partition for storing cached flash pages for the flash pages in the flash memory and a control partition for storing cache control data and contexts of requests to access the flash pages, and a logic module including a direct memory access (DMA) register and configured to receive a first request from the first processor node via the first processor bus to access the flash pages.
-
Citations
20 Claims
-
1. A system comprising a plurality of nodes coupled using a network of processor buses, wherein the plurality of nodes comprises:
-
a first processor node comprising one or more processing cores and main memory; and a flash memory node coupled to the first processor node via a first processor bus of the network of processor buses, the flash memory node comprising; a flash memory comprising a plurality of flash pages; a first memory comprising; a cache partition for storing cached flash pages for the plurality of flash pages in the flash memory; and a control partition for storing cache control data and contexts of requests to access the plurality of flash pages; and a logic module comprising a direct memory access (DMA) register and configured to; receive a first request from the first processor node via the first processor bus to access the plurality of flash pages, wherein the first request is received using the DMA register that is mapped into an address space of the first processor node, store one or more parameters of the first request as a first context of the contexts stored in the control partition of the first memory, schedule a DMA operation responsive to the first request, and perform the DMA operation based on the first context, wherein the DMA operation transfers data between the flash memory and the first processor node and comprises accessing the cache partition in the first memory when a portion of the plurality of flash pages is cached in the cache partition according to the cache control data. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for accessing a processor-bus-connected flash storage module (PFSM) operatively coupled to a processor via a processor bus, the PFSM comprising a flash memory, a buffer memory, and a processor accessible command register mapped into an address space of the processor, the method comprising:
-
receiving a page access request from the processor via the processor bus using the processor accessible command register; storing one or more parameters of the page access request in the buffer memory as a context of the page access request; scheduling a flash memory access responsive to receiving a trigger parameter of the one or more parameters; performing the scheduled flash memory access based on the context; and issuing a command of the processor bus in conjunction with performing the scheduled flash memory access to transfer data between the PFSM and the processor. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A method for accessing a virtual memory of a processor using a processor-bus-connected flash storage module (PFSM) as a first paging device and a hard disk drive (HDD) as a second paging device, the PFSM operatively coupled to the processor via a processor bus, the PFSM comprising a flash memory and a virtual address mapping table, the method comprising:
-
allocating a first address partition and a second address partition of the virtual memory for a software application of the processor to the first paging device and the second paging device, respectively; identifying a virtual memory page in the first paging device responsive to a page fault of the virtual memory triggered by the software application; sending a page access request to the PFSM for accessing the virtual memory page responsive to the page fault, wherein the page access request is sent via the processor bus and comprises a virtual address of the virtual memory page; and receiving the virtual memory page from the PFSM based on a command of the processor bus issued by the PFSM in conjunction with performing a flash memory access in the flash memory using a flash page address, wherein the virtual address mapping table translates the virtual address of the virtual memory page to the flash page address in the flash memory. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification