Data storage subsystem with block based data management
First Claim
1. A block-based data storage subsystem for the storage of data for at least one data processor connected thereto, comprising:
- a controller connected to said data processor via a data storage device interface;
a plurality of data storage elements, connected to said controller via at least one data storage device interface for the storage of data on said data storage elements in block format;
means, operational in said controller, for segmenting a data file transmitted to said controller by said data processor into a plurality of blocks of predetermined fixed size for storage on at least one of said plurality of data storage elements;
means, operational in said controller, for managing each of said plurality of data storage elements as a plurality of sequentially numbered blocks of data storage of predetermined fixed size;
means for selecting a number of said blocks of data storage, sufficient in number to store said data file, on at least one of said plurality of data storage elements; and
means for transmitting said blocks of said data file to said selected blocks of data storage which are located on at least one of said plurality of data storage elements for storage thereon.
1 Assignment
0 Petitions
Accused Products
Abstract
The block based data storage subsystem combines the functions of data storage/retrieval with block based data management functions, including but not limited to: Hierarchical Storage Management (HSM), Live Data Backup, Fault Tolerance, Capacity Planning, Performance Optimization and Dynamic Load Balancing. This system solves many storage management problems with a single technology and is completely independent from, and non intrusive to, the system it attaches to and has resources specifically designed to perform data management functions. The perspective of block data management is a much finer granularity and much simpler than existing data file based technologies.
278 Citations
33 Claims
-
1. A block-based data storage subsystem for the storage of data for at least one data processor connected thereto, comprising:
-
a controller connected to said data processor via a data storage device interface; a plurality of data storage elements, connected to said controller via at least one data storage device interface for the storage of data on said data storage elements in block format; means, operational in said controller, for segmenting a data file transmitted to said controller by said data processor into a plurality of blocks of predetermined fixed size for storage on at least one of said plurality of data storage elements; means, operational in said controller, for managing each of said plurality of data storage elements as a plurality of sequentially numbered blocks of data storage of predetermined fixed size; means for selecting a number of said blocks of data storage, sufficient in number to store said data file, on at least one of said plurality of data storage elements; and means for transmitting said blocks of said data file to said selected blocks of data storage which are located on at least one of said plurality of data storage elements for storage thereon. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 23, 24, 25, 26, 27, 28)
-
-
19. A method for the storage of data in a block-based data storage subsystem for at least one data processor connected thereto, said block-based data storage subsystem comprising a controller connected to said data processor via a data storage device interface and a plurality of data storage elements, connected to said controller via at least one data storage device interface for the storage of data on said data storage elements in block format, said method comprising the steps of:
-
segmenting a data file transmitted to said controller by said data processor into a plurality of blocks of predetermined fixed size for storage on at least one of said plurality of data storage elements; managing each of said plurality of data storage elements as a plurality of sequentially numbered blocks of data storage of predetermined fixed size; selecting a number of said blocks of data storage, sufficient in number to store said data file, on at least one of said plurality of data storage elements; and transmitting said blocks of said data file to said selected blocks of data storage which are located on at least one of said plurality of data storage elements for storage thereon. - View Dependent Claims (20, 21, 22, 29, 30, 31, 32, 33)
-
Specification