Methods and systems for privileged execution support for file system commands on a storage device
First Claim
1. A storage drive configured to execute network-level file-system commands directly without needing an external computing resource to execute and translate the network-level file-system commands into block-level commands, the storage drive comprising:
- at least one physical storage medium;
a hardware controller configured to control the at least one physical storage medium;
a memory, coupled to the hardware controller, configured to store;
at least a portion of a file system for files stored on the at least one physical storage medium; and
a mapping of the files to locations on the at least one physical storage medium;
a communications interface configured to communicate with a network and receive network-level file-system commands; and
a processor coupled to the communications interface, the processor configured to;
execute the received network-level file-system commands relating to the files stored on the at least one physical storage medium, wherein;
the processor has privileged access to the hardware controller and the at least one physical storage medium; and
the processor is configured to execute the network-level file-system commands in kernel space; and
translate the network-level file-system commands into block-level commands;
wherein the hardware controller is further configured to;
determine, using the mapping, one or more locations on the at least one physical storage medium of the files related to the network-level file-system commands; and
execute the block-level commands for the one or more locations on the at least one physical storage medium.
8 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to a storage device that is able to execute higher level commands, such as network-level, file-system commands, with privileged access to various resources, such as the storage media, hardware, memory, firmware, etc. In one embodiment, the storage device is configured to receive and execute network-level file-system commands, such as Server-Message-Block protocol commands. In particular, the storage device comprises a drive having a storage media and a communications interface, such as a network interface, and a controller. The controller is configured to interpret and execute network-level, file-system commands received from the communications interface on data stored on the storage media. Accordingly, the storage device can service the network-level, file-system commands more efficiently and without the need for user-space applications.
62 Citations
21 Claims
-
1. A storage drive configured to execute network-level file-system commands directly without needing an external computing resource to execute and translate the network-level file-system commands into block-level commands, the storage drive comprising:
-
at least one physical storage medium; a hardware controller configured to control the at least one physical storage medium; a memory, coupled to the hardware controller, configured to store; at least a portion of a file system for files stored on the at least one physical storage medium; and a mapping of the files to locations on the at least one physical storage medium; a communications interface configured to communicate with a network and receive network-level file-system commands; and a processor coupled to the communications interface, the processor configured to; execute the received network-level file-system commands relating to the files stored on the at least one physical storage medium, wherein; the processor has privileged access to the hardware controller and the at least one physical storage medium; and the processor is configured to execute the network-level file-system commands in kernel space; and translate the network-level file-system commands into block-level commands; wherein the hardware controller is further configured to; determine, using the mapping, one or more locations on the at least one physical storage medium of the files related to the network-level file-system commands; and execute the block-level commands for the one or more locations on the at least one physical storage medium. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A storage drive configured to execute commands with privileged access to storage media of the storage drive, the storage drive comprising:
-
at least one physical storage medium; a hardware controller configured to control the at least one physical storage medium; a memory, coupled to the hardware controller, configured to store; at least a portion of a file system related to files stored on the at least one physical storage medium; and a mapping of the files to locations on the at least one physical storage medium; a network interface configured to interface with a network; and a processor coupled to the network interface, the processor configured to execute an operating system and execute network-level file-system commands relating to the files stored on the at least one physical storage medium, wherein; the processor has privileged access to the hardware controller and the at least one physical storage medium; and the processor is further configured to execute the network-level file-system commands in kernel space directly without needing an external computing resource to execute and translate the network-level file-system commands into block-level commands; the processor is further configured to translate the network-level file-system commands into block-level commands; and the processor is further configured to, responsive to file changes caused by the network-level file-system commands, maintain the mapping. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method of processing network-level file-system commands by a storage drive, wherein the storage drive comprises physical storage media, a hardware controller for controlling the physical storage media, a memory, coupled to the hardware controller, storing at least a portion of a file system related to files stored on the physical storage media and a mapping of the files to locations on the physical storage media, a network communications interface for communications with a network, and a processor executing program code based on privileged access to the hardware controller and the physical storage media of the storage drive, said method comprising:
-
receiving, via the network communications interface, at least one network-level file-system command; forwarding, from the network communications interface to the processor, the received at least one network-level file-system command; and executing, by the processor, the at least one network-level file-system command based on the privileged access of the processor to the hardware controller and the physical storage media, wherein the processor executes the at least one network-level file-system command in kernel space; translating the at least one network-level file-system command into at least one block-level command; determining, using the mapping, one or more locations on the physical storage media corresponding to files associated with the at least one network-level file-system command without needing an external computing resource to execute and translate the at least one network-level file-system command into block-level commands; and executing the at least one block-level command for the one or more locations on the physical storage media. - View Dependent Claims (15, 16)
-
-
17. A network attached storage drive configured to execute network-level file-system commands directly without needing an external computing resource to execute and translate the network-level file-system commands into block-level commands, said storage drive comprising:
-
physical storage media; a hardware controller configured to control the physical storage media; a memory storing; at least a portion of a file system for files stored on the physical storage media; and a mapping of the files to locations on the physical storage media; a network interface configured to interface with a network and receive network-level file-system commands; and a processor coupled to the network interface, the processor configured to execute network-level file-system commands related to the files stored on the physical storage media, wherein; the processor has privileged access to the hardware controller and the physical storage media; the processor is further configured to execute the network-level file-system commands in kernel space; and the processor is further configured to translate the network-level file-system commands into block-level commands; wherein the hardware controller is configured to determine one or more locations on the physical storage media of the files associated with the network-level file-system commands using the mapping. - View Dependent Claims (18, 19, 20, 21)
-
Specification