Application aware intelligent storage system
AssigneeEMC Corporation
InventorsSorin Faibish, Philippe Armangau, Christopher Seibel
Life of this patent
Estimating the term…
Abstract
This invention is a system and a method for operating a storage server that provides read or write access to a data in a data network using a new architecture. The method of processing I/Os in response to a request by a client of the storage server executes one or more services communicated by a policy engine. The I/Os received from the application are tagged and catalogued to create co-related I/O patterns. The policy engine is then updated with the results of processing the I/Os after executing services on those I/Os.
Claims23
A method of operating a storage server in a data network for read or write access to data of a file, the file including multiple data blocks containing data of the file, and the file further being organized as a hierarchy of file system blocks including inodes, indirect blocks, and data blocks, the file stored in a data storage including a production file having a first data block in the hierarchy of file system blocks, the first data block being a child of the production file inode in the hierarchy of file system blocks, the method comprising the steps of:
- tagging one or more I/Os received from an application for read or write access to data of a file, wherein the tagging of one or more I/O is done based on the application sending the I/O request to the storage server and characteristics of the I/O;
- cataloging one or more tagged I/Os to create one or more co-related I/O patterns using a neural network, wherein the neural network uses the one or more tagged I/Os to create one or more I/O pattern;
- processing one or more I/Os by performing one or more services executed by a service manager, wherein the service manager executes one or more services communicated by a policy engine wherein the policy engine manages the services that are needed to be performed on one or more tagged I/Os;
- and
- updating the policy engine with the results of processing one or more I/Os by the service manager;
- wherein the processing of one or more I/Os by performing one or more services executed by the service manager comprises the steps of:
- executing a first phase, wherein the first phase processing builds an action bitmap wherein the action bitmap indicates one or more services to be executed;
- executing a second phase, wherein the second phase processing builds a token and massages the data block of the file using the token by executing one or more services indicated in the action bitmap;
- executing a third phase, wherein the third phase processing updates metadata for one or more I/Os and if required, writes data on the data storage;
- and
- executing a fourth phase, wherein the fourth phase processing updates the metadata of one or more services executed by the third phase.
A system for accessing a data of a file in a data storage environment, the system comprising:
- a data storage storing files, wherein the files stored on the data storage includes a production file having a first data block in the hierarchy of file system blocks, the first data block being a child of the production file inode in the hierarchy of file system blocks;
- a storage server, wherein the storage server access the files stored on the data storage, wherein the file includes multiple data blocks containing data of the file, and the file further being organized as a hierarchy of file system blocks including inodes, indirect blocks, and data blocks;
- and
- a program logic in communication with the data storage and the storage server for carrying out the steps of:
- tagging one or more I/Os received from an application for read or write access to data of a file, wherein the tagging of one or more I/O is done based on the application sending the I/O request to the storage server and characteristics of the I/O;
- cataloging one or more tagged I/Os to create one or more co-related I/O patterns using a neural network, wherein the neural network uses the one or more tagged I/Os to create one or more I/O pattern;
- processing one or more I/Os by performing one or more services executed by a service manager, wherein the service manager executes one or more services communicated by a policy engine wherein the policy engine manages the services that are needed to be performed on one or more tagged I/Os;
- and
- updating the policy engine with the results of processing one or more I/Os by the service manager;
- wherein the processing of one or more I/Os by performing one or more services executed by the service manager comprises the steps of:
- executing a first phase, wherein the first phase processing builds an action bitmap wherein the action bitmap indicates one or more services to be executed;
- executing a second phase, wherein the second phase processing builds a token and massages the data block of the file using the token by executing one or more services indicated in the action bitmap;
- executing a third phase, wherein the third phase processing updates metadata for one or more I/Os and if required, writes data on the data storage;
- and
- executing a fourth phase, wherein the fourth phase processing updates the metadata of one or more services executed by the third phase.
A program product for accessing data of a file, the program product operating in a data storage environment that includes a data storage system in communication with a storage server providing logical disk storage to the storage server for storing files that includes multiple data blocks containing data of the files, and the file further being organized as a hierarchy of file system blocks including inodes, indirect blocks, and data blocks, wherein the program product includes computer-executable logic encoded on a computer-readable medium for executing the following steps:
- tagging one or more I/Os received from an application for read or write access to data of a file, wherein the tagging of one or more I/O is done based on the application sending the I/O request to the storage server and characteristics of the I/O;
- cataloging one or more tagged I/Os to create one or more co-related I/O patterns using a neural network, wherein the neural network uses the one or more tagged I/Os to create one or more I/O pattern;
- processing one or more I/Os by performing one or more services executed by a service manager, wherein the service manager executes one or more services communicated by a policy engine wherein the policy engine manages the services that are needed to be performed on one or more tagged I/Os;
- and
- updating the policy engine with the results of processing one or more I/Os by the service manager;
- wherein the processing of one or more I/Os by performing one or more services executed by the service manager comprises the steps of:
- executing a first phase, wherein the first phase processing builds an action bitmap wherein the action bitmap indicates one or more services to be executed;
- executing a second phase, wherein the second phase processing builds a token and massages the data block of the file using the token by executing one or more services indicated in the action bitmap;
- executing a third phase, wherein the third phase processing updates metadata for one or more I/Os and if required, writes data on the data storage;
- and
- executing a fourth phase, wherein the fourth phase processing updates the metadata of one or more services executed by the third phase.
Dependencies are inferred from the claim text.