File server node with non-volatile memory processing module coupled to cluster file server node
View Patent ↗Apparatus includes a file server node having (i) a first interface operable to communicate with a network and receiving a network request via network, (ii) a non-volatile memory operable to temporarily store a request related to the network request received by the first interface, (iii) a second interface operable to be coupled to the storage device for storing the request, and (iv) a non-volatile memory processing module, coupled to the first interface, the non-volatile memory and the second interface, and operable to be coupled to another file server node, so that the request can be sent to the non-volatile memory, the second interface and the another file server node after the non-volatile memory processing module receives the file system request.
1. An apparatus comprising:
a storage device; and
a file server node comprising
(i) a first interface being configured to communicate with a network and receiving a network request via the network,
(ii) a non-volatile memory being configured to store a request related to the network request received by the first interface,
(iii) a second interface being configured to be coupled to the storage device for storing the request, and
(iv) a non-volatile memory processing module, coupled to the first interface, the non-volatile memory and the second interface, and being configured to be coupled to another file server node, so that the non-volatile memory processing module is configured to perform each of sending the request to the non-volatile memory, sending the request to the second interface and sending the request to the another file server node after the non-volatile memory processing module receives the request.
2. The apparatus according to the claim 1 wherein:
the non-volatile memory processing module is operable to send the request to the non-volatile memory for being stored in the non-volatile memory, to the second interface for being stored in the storage device and to the another file server node for being stored in another non-volatile memory in the another file server node after receiving the file system request from a processor managing at least the non-volatile memory processing module.
3. The apparatus according to the claim 1 wherein:
the non-volatile memory processing module includes a programmable logic device.
4. The apparatus according to the claim 1 wherein:
the non-volatile memory processing module includes a field programmable gate array.
5. The apparatus according to the claim 1 wherein:
an acknowledgement of the network request is send back via the network after the non-volatile memory processing module sends the request to the non-volatile memory, the second interface, and the another file server node.
6. The apparatus according to the claim 1 further comprising:
a file system module, in the file server node, and comprising the non-volatile memory and the non-volatile memory processing module.
7. The apparatus according to the claim 1 further comprising:
a file system module, in the file server node, and coupling the first interface and the second interface, and being operable to comprise the non-volatile memory and the non-volatile memory processing module.
8. The apparatus according to the claim 1 further comprising:
a metadata cache, coupling the non-volatile memory processing module, and being operable to store management information of an object of a file system managed by the file server node.
9. The apparatus according to the claim 1 further comprising:
an object store module, in the file server node, and coupling the non-volatile memory processing module, and being operable to manage management information of an object of a file system, managed by the file server node.
10. The apparatus according to the claim 1 further comprising:
a data store module, in the file server node, and coupling the non-volatile memory processing module, and being operable to manage management information of a file system managed by the file server node.
11. The apparatus according to the claim 1 further comprising:
a plurality of data paths, in the file server node, and coupling between a file system module and the second interface, the file system module comprising the non-volatile memory and the non-volatile memory processing module, and the second interface,
a first data path of the plurality of data paths being operable to be used for transferring data from the file system module to the second interface, and
a second data path of the plurality of data paths being operable to be used for transferring data from the second interface to the file system module.
12. A file server node comprising:
a first interface being operable to communicate with a network and receiving a network request via the network,
a non-volatile memory being configured to store a request related to the network request received by the first interface,
a second interface being configured to communicate with a storage device for storing the request, and
a non-volatile memory processing module coupled to the first interface, the non-volatile memory and the second interface, and being configured to be coupled to another file server node, so that the non-volatile memory processing module is configured to perform each of sending the request to the non-volatile memory, sending the request to the second interface, and sending the request to the another file server node after the non-volatile memory processing module receives the request.
13. The file server node according to the claim 12 wherein:
the non-volatile memory processing module is operable to send the request to the non-volatile memory for being stored in the non-volatile memory, to the second interface, for being stored in the storage device and to the another file server node for being stored in another non-volatile memory in the another file server node.
14. The file server node according to the claim 12 wherein:
the non-volatile memory processing module includes a programmable logic device.
15. The file server node according to the claim 12 wherein:
the non-volatile memory processing module includes a field programmable gate array.
16. The file server node according to the claim 12 wherein:
an acknowledgement of the network request is send back via the network after the non-volatile memory processing module sends the request to the non-volatile memory, the second interface, and the another file server node.
17. The file server node according to the claim 12 further comprising:
a file system module comprising the non-volatile memory and the non-volatile memory processing module.
18. The file server node according to the claim 12 further comprising:
a file system module coupling the first interface and the second interface, and comprising the non-volatile memory and the non-volatile memory processing module.
19. The file server node according to the claim 12 further comprising:
a metadata cache, coupling the non-volatile memory processing module, and being operable to store management information of an object of a file system managed by the file server node.
20. The file server node according to the claim 12 further comprising:
a data store module, coupling the non-volatile memory processing module, and being operable to manage management information of data of a file system managed by the file server node.
21. The file server node according to the claim 12 further comprising:
an object store module, coupling the non-volatile memory processing module, and being operable to manage management information of an object of a file system, managed by the file server node, by using a metadata cache.
22. The file server node according to the claim 12 further comprising:
a plurality of data paths, coupling between a file system module and the second interface, the file system module comprising the non-volatile memory and the non-volatile memory processing module, and the second interface,
a first data path of the plurality of data paths being operable to be used for transferring data from the file system module to the second interface, and
a second data path of the plurality of data paths being operable to be used for transferring data from the second interface to the file system module.