System and method for mapping file block numbers to logical block addresses
AssigneeNetApp, Inc.
InventorVijayan Rajan
Life of this patent
Estimating the term…
Abstract
A system and method for mapping file block numbers (FBNs) to logical block addresses (LBAs) is provided. The system and method performs the mapping of FBNs to LBAs in a file system layer of a storage operating system, thereby enabling the use of clients in a storage environment that have not been modified to incorporate mapping tables. As a result, a client may send data access requests to the storage system utilizing FBNs and have the storage system perform the appropriate mapping to LBAs.
Claims21
A method for a storage system to service a first access request for data, the method executed by the storage system, comprising:
- receiving from a client of the storage system the first access request including a file block number of a file indicating a first location within the data;
- mapping the file block number to a logical block address identifying a second location on a virtual disk (vdisk), the vdisk layered on a file system such that the vdisk is a multi-inode object associated with an inode and a stream inode of the file encapsulated as a single object, the file system stored on a storage medium operatively connected to the storage system;
- forming a second access request having the logical block address to access the data stored at the second location;
- and
- sending the accessed data to the client in response to the first access request.
A storage system for servicing a first data access request, comprising:
- a network interface configured to receive the first data access request from a client of the storage system, wherein the first data access request includes a file block number indicating a location within a file;
- a storage operating system executed by a processor of the storage system, the storage operating system configured to map the file block number to a logical block address of a virtual disk (vdisk), the vdisk layered on a file system such that the vdisk is a multi-inode object associated with an inode and a stream inode of the file encapsulated as a single object, the file system stored on a storage medium of the storage system,
- the storage operating system further configured to form a second data access request having the mapped logical block address,
- the storage operating system further configured to access data at the logical block address of the vdisk;
- and
- the network interface further configured to send, to the client, the accessed data in response to the first data access request.
A non-transitory computer readable storage medium containing executable program instructions for execution by a processor, comprising:
- program instructions that receive, from a client of a storage system, a first request to perform an operation, the first request including a file block number, wherein the file block number corresponds to an ordinal location of a block within a file;
- program instructions that map, by the storage system, the file block number to a logical block address of a virtual disk (vdisk), the vdisk layered on a file system such that the vdisk is a multi-inode object associated with an inode and stream inode of the file encapsulated as a single object, the file system stored on a storage medium operatively connected to the storage system;
- program instructions that perform, by the storage system, the operation using the mapped logical block address to form a second request having the mapped logical block address;
- and
- program instructions that complete the first request in response to performing the operation.
A method to utilize file block numbers in a single data access command received at a storage system, comprising:
- receiving the single data access command from a client of the storage system, the single data access command identifying a plurality of locations within a file using a set of file block numbers;
- maintaining a stable of the set of file block numbers to a set of logical block addresses;
- mapping via table the set of file block numbers to the set of logical block addresses of a virtual disk (vdisk), the vdisk layered on a file system such that the vdisk is a multi-inode object associated with an inode and a stream inode of the file encapsulated as a single object, the file system stored on a storage medium operatively connected to the storage system;
- accessing, by the storage system, data located on the vdisk at one or more logical block addresses of the set of logical block addresses;
- and
- transmitting the accessed data in response to the single data access command.
Dependencies are inferred from the claim text.