IP Library Granted Patent US 10,275,175
Granted Patent B2
US 10,275,175 · App. 14/507,572 · Granted Apr 30, 2019

System and method to provide file system functionality over a PCIe interface

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,275,175
App. No.
14/507,572
Granted
Apr 30, 2019
Kind
B2
Abstract

Techniques for providing file system functionality over a PCIe interface are disclosed. In some embodiments, the techniques may be realized as a method for providing file system functionality over a PCIe interface including receiving from a host device a storage command, specially devised for such a standard protocol, at a PCIe-based device controller, parsing, using at least one computer processor of the PCIe-based device controller, the storage command, traversing, using PCIe-based device controller, one or more portions of file system metadata of an associated storage media device, wherein the PCIe-based device controller is configured to traverse the one or more portions of file system metadata based on the parsed storage command independent of any subsequent communication with the host device, and returning data to the host device.

Claims (33)

1. A method for providing file system functionality over a Peripheral Component Interconnect Express (PCIe) interface, the method comprising:

receiving, from a host device, a storage command at a PCIe-based storage device controller;

parsing, using at least one computer processor of the PCIe-based storage device controller, the storage command independent of any subsequent communication with the host device;

traversing, using the PCIe-based storage device controller, one or more portions of file system metadata of an associated storage device, wherein:

the PCIe-based storage device controller is configured to traverse the one or more portions of file system metadata based on the parsed storage command independent of any subsequent communication with the host device, and

traversing occurs without involvement from the host device; and

returning data associated with the storage command to the host device, wherein file system functionality of the PCIe-based storage device controller provides the transfer of data from a first PCIe storage device to a second PCIe storage device without requiring communication outside a PCIe network connecting the first PCIe storage device and the second PCIe storage device.

2. The method of claim 1 , wherein the providing file system functionality over a PCIe interface comprises implementing a device driver.

3. The method of claim 2 , wherein the device driver is implemented at a level between a virtual file system and the associated storage device.

4. The method of claim 2 , wherein the device driver presents the associated storage device as a mount point to an application on the host device.

5. The method of claim 1 , wherein traversing of one or more portions of file system metadata of an associated storage device comprises using file system metadata to identify a reference to a data segment associated with the storage command.

6. The method of claim 5 , wherein the reference comprises at least one of a relative block address and a relative byte address.

7. The method of claim 1 , wherein the associated storage device comprises a byte addressing capable storage device.

8. The method of claim 7 , wherein returning data to the host device comprises returning one or more selected bytes, a block, or blocks in response to the storage command.

9. The method of claim 7 , wherein the byte addressing capable storage device comprises at least one of: phase change memory (PCM), magnetoresistive random-access memory (MRAM), resistive random-access memory (ReRAM), NOR Flash, and power-backed dynamic random-access memory (DRAM).

10. The method of claim 2 , wherein the device driver provides a block driver interface.

11. The method of claim 2 , wherein the device driver provides a character device interface.

12. The method of claim 1 , further comprising using memory on the PCIe-based storage device controller as a buffer for file system metadata.

13. The method of claim 1 , wherein the host device comprises at least one of: an enterprise server, a database server, a workstation, and a computer.

14. The method of claim 2 , wherein communication between the device driver and the PCIe-based storage device controller is implemented using a standardized protocol.

15. The method of claim 14 , wherein the protocol includes one or more of: a specialized command set, a format, a register interface, and a memory structure.

16. The method of claim 1 , wherein the one or more portions of file system metadata are adapted to byte addressing capable storage.

17. A system for providing file system functionality over a Peripheral Component Interconnect Express (PCIe) interface, the system comprising:

a storage device; and

a controller configured to:

receive a storage command from a host device;

traverse metadata of the storage device without any involvement from the host device; and

return data associated with the storage command to the host device.

18. The system of claim 17 , wherein the controller is further configured to parse the storage command independent of any subsequent communication with the host device.

19. A system for providing file system functionality over a Peripheral Component Interconnect Express (PCIe) interface, the system comprising:

means to traverse metadata of a first PCIe storage device without involvement from a host device; and

means to transfer data from the first PCIe storage device to a second PCIe storage device without communication outside of a PCIe network connecting the first PCIe storage device to the second PCIe storage device.

20. The system of claim 19 , further comprising means for parsing a storage command independent of any subsequent communication with the host device.

Assignments (11)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2016
From: HGST NETHERLANDS B.V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 040829/0516 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2014
From: BANDIC, ZVONIMIR Z.; CHU, FRANK R.; LE MOAL, DAMIEN CYRIL DANIEL; WANG, QINGBO
To: HGST NETHERLANDS B.V.
Reel/Frame 033903/0553 →
Cited By (1)
US 12,608,304