US6675176B1 - File management system - Google Patents

File management system Download PDF

Info

Publication number
US6675176B1
US6675176B1 US09/397,865 US39786599A US6675176B1 US 6675176 B1 US6675176 B1 US 6675176B1 US 39786599 A US39786599 A US 39786599A US 6675176 B1 US6675176 B1 US 6675176B1
Authority
US
United States
Prior art keywords
disk
file
data
block
pool
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US09/397,865
Inventor
Yoshitake Shinkai
Yoshihiro Tsuchiya
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Assigned to FUJITSU LIMITED reassignment FUJITSU LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SHINKAI, YOSHITAKE, TSUCHIYA, YOSHIHIRO
Application granted granted Critical
Publication of US6675176B1 publication Critical patent/US6675176B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers

Definitions

  • the present invention relates generally to a file management system, and more particularly to a file management system capable of enhancing a reliability and a performance of disk devices (RAID devices), wherein the data are stored in redundancy in files on the plurality of disk devices.
  • RAID devices disk devices
  • a redundant array of independent disks is well known as a method of enhancing the reliability and the performance of the data storage device.
  • the RAID method may include a RAID level 1 method of arranging the data for duplex storage, and a RAID level 5 (or RAID level 4) method by which a plurality (N-pieces) of disk devices are used, the data are arranged in stripe in [N ⁇ 1] pieces of disk devices among those disk devices, and parity data are stored in one remaining disk device.
  • the RAID level 1 and level 5 methods are each defined as a useful technique for enhancing the reliability and the performance of the data storage device, i.e., the disk device.
  • the RAID level 5 method might, however, induce a deterioration of the performance when a small quantity of data are written at random, although it has a high space efficiency (a low storage cost).
  • the RAID level 1 method though a high performance is exhibited when the small quantity of data are written at random, has a characteristic of the space efficiency being low. Further, both of these methods have such characteristics as to involve the use of standby disk devices which are normally unused against an occurrence of fault, require much time for re-redundancy after the fault has occurred, and have a difficulty of dynamically adding the disk device.
  • the prior arts 1, 2, 3, 6 and 7 relate to a technology by which at least one single physical disk device is contrived to appear as a plurality of logical storage devices on the side of a host computer, wherein a segmentation into the logical storage devices is static, and besides the user has no alternative but to clearly declare which logical storage device is used. Accordingly, from the user's side, there is not an essential difference from a case where the plurality of disk devices based on different redundancy methods are used by their being connected to the host computer, except for an aspect of the storage cost.
  • a plurality of logical disk devices taking different types of redundancy methods are constructed based on such a contrivance that the host computer may recognize them as one single logical storage device, the data are transferred between the different logical storage devices by use of information on an accessing frequency etc., thereby automatically determining an optimum redundancy method.
  • the system automatically selects the redundancy method, however, the data are developed temporarily at the RAID level 1, and, after a fixed period of time has elapsed, the data of the RAID level 1 are transferred to a region of the RAID level 5, with result that an extra overhead occurs.
  • a block position stored with one file is scattered in the process of the transfer from the RAID level 1 to the RAID level 5, and there might be a large possibility of invalidating performance optimization implemented by the file system, i.e., an effect obtained by storing the same file in the consecutive physical blocks as much as possible.
  • the disk device incorporating and controlling a plurality of hard disks, there is prepared beforehand an unused region (partition), whereby the redundancy is recovered by using this unused region even if a disk fault happens.
  • the reason why the unused region is prepared is that if the region is handed over to the host computer, there might thereafter be no recognition of which block in the region is being used. This unused region must be, however, set free previously.
  • a file management system comprises a plurality of disk devices, managed in the form of a disk pool, of which at least two disk devices are dynamically selected from the disk pool, for constituting a plurality of files for storing in redundancy any one set of data of user data and meta data for managing how the user data are used, and a file system, constituting a part of an operating system of a host computer, for managing the plurality of disk devices as the disk pool and managing en bloc the files, based on the meta data.
  • the file system in the case of the file of less than one block, selects two of the plurality of disk devices in the disk pool, and makes the user data stored in the redundancy of a RAID level 1. Further, the file system, in the case of the file of over two blocks, selects three or more of the plurality of disk devices in the disk pool, and makes the user data stored in the redundancy of a RAID level 5. Moreover, the file system makes the meta data stored in predetermined two of the plurality of disk devices in the disk pool in the redundancy of the RAID level 1.
  • the meta data is stored on a file-basis with an address conversion table containing a disk number of the disk device stored with the user data, and a disk block number corresponding to an intra-disk relative block number.
  • a disk block group needed for recovering contents of the block with the fault is obtained from the address conversion table, the disk block group is read, the data of the block with the fault are recovered from the data read therefrom, the recovered data are written to a newly-allocated normal block in the same disk device, and the newly-allocated disk block number is reflected in the address conversion table.
  • a disk block group needed for recovering contents of the block of said failed disk device is obtained from said address conversion table, the disk block group is read, the data of said failed disk device are recovered from the data read therefrom, the recovered data are written to a newly-allocated normal block in said other disk devices not used for the particular file, and the newly-allocated disk block numbers and the newly-allocated disk number are reflected in said address conversion table.
  • said file system When restarted after system down, said file system reads sequentially the address conversion table in the meta data, recalculates the parity data with respect to the file in which an open indication flag is set, and writes back the recalculated parity data to the parity block in the file.
  • the file system caches the user data when writing the data in order to retrain an occurrence of recalculation of the parity data, and delays an allocation of the disk block till the file is closed or the cache becomes full.
  • the user is able to select an optimum data redundant arrangement per file in terms of considering a reliability, a performance and a storage cost.
  • the user has no necessity for being ware of which disk device the data are stored in, and the system automatically determines based on a load etc.
  • the system is capable of automatically selecting on the file-basis the optimum data redundant arrangement.
  • the system is capable of automatically changing a data redundant structure.
  • the redundancy can be recovered by dynamically acquiring a free area on another disk device among the plurality of disk devices. Hence, there is no necessity for preparing any standby disk devices.
  • FIG. 1 is a block diagram showing an architecture of a file management system in one embodiment of the present invention
  • FIG. 2 is a block diagram showing an example of how data are stored in a disk device in FIG. 1;
  • FIG. 3 is an explanatory block diagram showing an arrangement of parity blocks in the disk device, and a parity calculation method
  • FIG. 4 is a block diagram showing an example of a structure of meta data stored in the disk device in FIG. 1;
  • FIG. 5 is a block diagram showing an example of a structure of an address conversion table in the meta data in FIG. 4;
  • FIG. 6 is a block diagram showing an example of a structure of a space management table in the meta data in FIG. 4 .
  • FIG. 1 is a diagram showing an architecture in one embodiment of the present invention.
  • a file system 1 in a file management system, is a program (a file management program) constituting a part of an operating system (OS) 3 of a host computer 2 , and performs a role of accepting a file access request of a user via a file access interface 4 , and accessing user data UD and meta data MD on a plurality of disk devices (RAID devices) connected to the host computer 2 .
  • OS operating system
  • RAID devices disk devices
  • the host computer 2 constitutes a node connected to a network (of which an illustration is omitted) such as a local area network (LAN).
  • the plurality of disk devices 51 through 54 are connected to the host computer 2 , and it is all assigned to the file system 1 to determine which disk device and where the user data are stored in.
  • the file system 1 when the disk device 5 is determined as an object for a storage of the data, requests an OS 3 structuring program known as a device driver 6 to input and output through an I/O device interface 7 . In this interface 7 , there are transferred a disk device number, and a block number and the number of blocks (a block length) in the device.
  • the device driver 6 is provided for cutting off an interface difference in protocol etc. between the individual disk devices 5 from the file system 1 defined as a high-level program.
  • the device driver 6 upon receiving the request from the file system 1 , converts the request into an interface intrinsic to each device, and transfers it to the disk device via the I/O device interface 8 .
  • the file system 1 It is all managed by the file system 1 to recognize which block in the disk device 5 is used and which file this block is used in, and neither the disk device 5 nor the device driver 6 is capable of recognizing at all.
  • pieces of management information called the meta data MD for managing how the user data UD are arranged in dispersion in a plurality of blocks of the disk device 5 .
  • the disk device 5 after notifying the host computer 2 of a usable region (partition) when in initialization, is incapable of recognizing which block in this partition is used by the host computer 2 at all. Accordingly, the disk device 5 has no alternative but to control on the assumption that the block stored with no data (such as when stored with the user data UD before but the file is erased) is to be stored with significant data, and besides the disk device 5 has no means to recognize which blocks are related to each other.
  • FIG. 2 shows an example of storing the data in the disk device 5 shown in FIG. 1 .
  • the meta data MD are stored in the two top disk devices 51 , 52 in a disk pool, while the user data UD are stored in all the disk devices 51 , 52 , 53 and 54 .
  • a dedicated disk device may also be prepared for storing the meta data MD.
  • the user data UD with a redundancy method being determined based on a size of the file as far as the user does not specify, are arranged in dispersion in the plurality of disk devices selected on a file-basis. Further, the meta data MD are stored by a duplex redundancy method.
  • the meta data MD are stored in a region of a RAID level 1, thus structuring a meta file MDF.
  • the user data UD are stored in regions of the RAID level 1 and a RAID level 5, thus structuring a short file (less than one block) UDSF and a large file (over two blocks) UDLF).
  • FIG. 3 is an explanatory diagram showing how parity blocks PBLK are arranged, and a parity calculation method.
  • Parity data is created corresponding to a predetermined number of stripes (S) or the number of stripes which is specified on the file basis by the user.
  • parity blocks PBLK 1 , PBLK 2 and PBLK 3 are singly added to stripe units S 1 , S 2 and S 3 structured by segmenting the user file UDF corresponding to S-pieces of blocks.
  • the disk device for storing the user data UD and the parity data PD is determined from within the disk pool on the file-basis when creating the file.
  • the file FILC is arranged in stripe on three data volumes a 1 , a 2 and a 3 , and the parity data is stored in the fourth data volume.
  • the data volume, on which the parity data is stored is decided from the disk pool dynamically.
  • FIG. 4 shows a structure of the meta data MD.
  • the meta data (MD) 20 is provided with an address conversion table 21 created on a file FILA, FILB and FILCA basis, a space management table 22 , created on a disk device DIS 1 , DIS 2 and DIS 3 basis, for managing a free area of each disk device, and a directory 23 for converting a file name into a file number and indexing the address conversion table 21 .
  • FIG. 5 shows in details a structure of the address conversion table 21 in FIG. 4 .
  • the address conversion table 21 contains a file size 210 , an open indication flag 211 , the numbers (disk numbers: d 0 , d 1 , d 2 ) 212 of the disk devices stored with the file data, and extent 213 , i.e., position data, provided for every disk device, for indicating which block of the disk device is used.
  • Each of the extent 213 contains a start-of-extent block number 2130 and a block length (the number of blocks) 2131 .
  • the file system 1 described above if a device fault occurs in the disk device, searches for a file using the troubled disk device by sequentially reading all the contents of the address conversion tables 21 in the meta data 20 . If the file is detected, the file system 1 selects a new disk device in the disk pool, which is not yet allocated to that file, then writes the data recovered from the data on the remaining devices to the block on the selected disk device, and updates the address conversion table 21 .
  • the address conversion table 21 has the open indication flag 211 for showing that the file is open in an update mode. This flag 211 is set in an open unit (designated by 11 in FIG. 1) of the file system 1 and is reset in a close unit ( 14 ). When restarted after system down, the address conversion table 21 in the meta data 20 is sequentially read, and the parity data is recalculated with respect to the file in which the open indication flag 211 is set and written back to the parity block.
  • FIG. 6 shows a detailed structure of the space management table 22 in FIG. 4 .
  • the space management table 22 for managing the free area of each disk device is so provided that the table 22 can be indexed by the disk numbers DIS 1 , DIS 2 and DIS 3 of the respective disk devices.
  • the respective extent 220 , 221 and 222 are composed of the start-of-extent block numbers 2201 , 2211 and 2221 and the block lengths 2202 , 2212 and 2222 , and each indicate the free area of the disk device DIS.
  • a new space management table 22 indicating that the whole is free is written to the meta data 20 .
  • a disk block allocation unit (designated by 15 in FIG. 1) treats this disk device as a candidate for a block allocation.
  • the file system 1 manages an arbitrary number of disk devices 51 , 52 , 53 and 54 constituting the disk pool, and stores the user data UD in the plurality of disk devices according to the RAID level 1 or the RAID level 5 in response to a request of the user program 9 .
  • the open unit 11 of the file system 1 receives the control, and puts the address conversion table 21 indicating this file into the meta data (MD) 20 , and registers the file name and the file number corresponding to the file in the directory 23 .
  • a write unit 12 receives the control, and requests a cache control unit 13 to allocate a cache (cache memory).
  • the cache control unit 13 allocates a cache block, and the control is returned to the write unit 12 .
  • the write unit 12 When the write unit 12 writes the user data UD to the cache block returned from the cache control unit 13 , the operation returns to the user program 9 .
  • the user program 9 issues a close of the file.
  • the close unit 14 receives the control, calls the disk block allocation unit 15 to allocate the disk block, and writes the data cached so far and the parity data PD to the disk block. Thereafter, an address of the newly allocated disk block is set in the address conversion table 21 in the meta data 20 .
  • the control is transferred to the read unit 16 .
  • the read unit 16 calls the cache control unit 13 to read the user data UD from the disk device into the cache. If a block on the disk device is broken with the result that this reading process is ended up with a failure, the read unit 16 is notified of the disk block fault.
  • the read unit 16 receiving this notification, after seeking and reading a block group needed for recovering the data out of the address conversion table 21 , recovers the data in the troubled block by use of the data in the read-in block. Upon a completion of the data recovery, a new block is allocated onto the troubled disk device, and, after the recovered data are written to the new block, the address conversion table 21 in the disk device is rewritten.

Abstract

A file management system is capable of storing the data with a higher usability (reliability) and a higher performance by structuring files for arranging in redundancy the data on a plurality of disk devices, and utilizing characteristics of a file management program (file system) recognizing a mutual relationship between sets of data stored in the plurality of disk devices. The file management system includes a plurality of disk devices 51, 52, 53 and 54, managed in the form of a disk pool, of which at least two disk devices are dynamically selected from the disk pool, for constituting a plurality of files for storing in redundancy any one set of data of user data and meta data for managing how the user data are used, and a file system 1, constituting a part of an operating system 3 of a host computer 2, for managing the plurality of disk devices as the disk pool and managing en bloc the files, based on the meta data.

Description

BACKGROUND OF THE INVENTION
The present invention relates generally to a file management system, and more particularly to a file management system capable of enhancing a reliability and a performance of disk devices (RAID devices), wherein the data are stored in redundancy in files on the plurality of disk devices.
A redundant array of independent disks (RAID) is well known as a method of enhancing the reliability and the performance of the data storage device. The RAID method may include a RAID level 1 method of arranging the data for duplex storage, and a RAID level 5 (or RAID level 4) method by which a plurality (N-pieces) of disk devices are used, the data are arranged in stripe in [N−1] pieces of disk devices among those disk devices, and parity data are stored in one remaining disk device. The RAID level 1 and level 5 methods are each defined as a useful technique for enhancing the reliability and the performance of the data storage device, i.e., the disk device. The RAID level 5 method might, however, induce a deterioration of the performance when a small quantity of data are written at random, although it has a high space efficiency (a low storage cost). On the other hand, the RAID level 1 method, though a high performance is exhibited when the small quantity of data are written at random, has a characteristic of the space efficiency being low. Further, both of these methods have such characteristics as to involve the use of standby disk devices which are normally unused against an occurrence of fault, require much time for re-redundancy after the fault has occurred, and have a difficulty of dynamically adding the disk device.
Examples of the technique adopting the RAID methods described above are disclosed in Japanese Patent Application Laid-Open Publication No.5-197498 (Prior Art 1), U.S. Pat. No. 5,519,844 (Prior Art 2), U.S. Pat. No. 5,708,769 (Prior Art 3), Japanese Patent Application Laid-Open Publication No.8-44503 (Prior Art 4), U.S. Pat. No. 5,696,934 (Prior Art 5), Japanese Patent Application Laid-Open Publication No.8-272548 (Prior Art 6), U.S. Pat. No. 5,542,065 (Prior Art 7), and Japanese Patent Application Laid-Open Publication No.9-146717 (Prior Art 8).
The prior arts 1, 2, 3, 6 and 7 relate to a technology by which at least one single physical disk device is contrived to appear as a plurality of logical storage devices on the side of a host computer, wherein a segmentation into the logical storage devices is static, and besides the user has no alternative but to clearly declare which logical storage device is used. Accordingly, from the user's side, there is not an essential difference from a case where the plurality of disk devices based on different redundancy methods are used by their being connected to the host computer, except for an aspect of the storage cost.
According to the prior arts 4 and 5, a plurality of logical disk devices taking different types of redundancy methods are constructed based on such a contrivance that the host computer may recognize them as one single logical storage device, the data are transferred between the different logical storage devices by use of information on an accessing frequency etc., thereby automatically determining an optimum redundancy method. According to these prior arts, the system automatically selects the redundancy method, however, the data are developed temporarily at the RAID level 1, and, after a fixed period of time has elapsed, the data of the RAID level 1 are transferred to a region of the RAID level 5, with result that an extra overhead occurs. Furthermore, a block position stored with one file is scattered in the process of the transfer from the RAID level 1 to the RAID level 5, and there might be a large possibility of invalidating performance optimization implemented by the file system, i.e., an effect obtained by storing the same file in the consecutive physical blocks as much as possible.
According to the prior art 8, in the disk device incorporating and controlling a plurality of hard disks, there is prepared beforehand an unused region (partition), whereby the redundancy is recovered by using this unused region even if a disk fault happens. Herein, the reason why the unused region is prepared is that if the region is handed over to the host computer, there might thereafter be no recognition of which block in the region is being used. This unused region must be, however, set free previously.
SUMMARY OF THE INVENTION
Accordingly, it is a primary object of the present invention to provide a file management system capable of storing the data with a higher usability (reliability) and a higher performance by structuring files for arranging in redundancy the data on a plurality of disk devices, and utilizing characteristics of a file management program (file system) recognizing a mutual relationship between sets of data stored in the plurality of disk devices.
To accomplish the above object, according to one aspect of the present invention, a file management system comprises a plurality of disk devices, managed in the form of a disk pool, of which at least two disk devices are dynamically selected from the disk pool, for constituting a plurality of files for storing in redundancy any one set of data of user data and meta data for managing how the user data are used, and a file system, constituting a part of an operating system of a host computer, for managing the plurality of disk devices as the disk pool and managing en bloc the files, based on the meta data.
In this construction, the file system, in the case of the file of less than one block, selects two of the plurality of disk devices in the disk pool, and makes the user data stored in the redundancy of a RAID level 1. Further, the file system, in the case of the file of over two blocks, selects three or more of the plurality of disk devices in the disk pool, and makes the user data stored in the redundancy of a RAID level 5. Moreover, the file system makes the meta data stored in predetermined two of the plurality of disk devices in the disk pool in the redundancy of the RAID level 1.
The meta data is stored on a file-basis with an address conversion table containing a disk number of the disk device stored with the user data, and a disk block number corresponding to an intra-disk relative block number.
If a block fault occurs in a target disk device when the file system accessing the file, a disk block group needed for recovering contents of the block with the fault is obtained from the address conversion table, the disk block group is read, the data of the block with the fault are recovered from the data read therefrom, the recovered data are written to a newly-allocated normal block in the same disk device, and the newly-allocated disk block number is reflected in the address conversion table.
If a fault of said disk device occurs, a disk block group needed for recovering contents of the block of said failed disk device is obtained from said address conversion table, the disk block group is read, the data of said failed disk device are recovered from the data read therefrom, the recovered data are written to a newly-allocated normal block in said other disk devices not used for the particular file, and the newly-allocated disk block numbers and the newly-allocated disk number are reflected in said address conversion table.
When restarted after system down, said file system reads sequentially the address conversion table in the meta data, recalculates the parity data with respect to the file in which an open indication flag is set, and writes back the recalculated parity data to the parity block in the file.
The file system caches the user data when writing the data in order to retrain an occurrence of recalculation of the parity data, and delays an allocation of the disk block till the file is closed or the cache becomes full.
According to the present invention, even in the case of the file stored in the same plurality of disk devices, the user is able to select an optimum data redundant arrangement per file in terms of considering a reliability, a performance and a storage cost. On this occasion, the user has no necessity for being ware of which disk device the data are stored in, and the system automatically determines based on a load etc.
Further, according to the present invention, if not specified by the user, with a file category and a file size being keys, the system is capable of automatically selecting on the file-basis the optimum data redundant arrangement.
Still further, according to the present invention, if the file size is changed, the system is capable of automatically changing a data redundant structure.
Yet further, according to the present invention, if a fault occurs in the disk device, the redundancy can be recovered by dynamically acquiring a free area on another disk device among the plurality of disk devices. Hence, there is no necessity for preparing any standby disk devices.
BRIEF DESCRIPTION OF THE DRAWINGS
These objects and advantages of this invention will become more apparent and more readily appreciated from the following detailed description of the presently preferred exemplary embodiments, taken in conjunction with the accompanying drawings of which;
FIG. 1 is a block diagram showing an architecture of a file management system in one embodiment of the present invention;
FIG. 2 is a block diagram showing an example of how data are stored in a disk device in FIG. 1;
FIG. 3 is an explanatory block diagram showing an arrangement of parity blocks in the disk device, and a parity calculation method;
FIG. 4 is a block diagram showing an example of a structure of meta data stored in the disk device in FIG. 1;
FIG. 5 is a block diagram showing an example of a structure of an address conversion table in the meta data in FIG. 4; and
FIG. 6 is a block diagram showing an example of a structure of a space management table in the meta data in FIG. 4.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1 is a diagram showing an architecture in one embodiment of the present invention. Referring to FIG. 1, in a file management system, a file system 1 is a program (a file management program) constituting a part of an operating system (OS) 3 of a host computer 2, and performs a role of accepting a file access request of a user via a file access interface 4, and accessing user data UD and meta data MD on a plurality of disk devices (RAID devices) connected to the host computer 2.
The host computer 2 constitutes a node connected to a network (of which an illustration is omitted) such as a local area network (LAN). The plurality of disk devices 51 through 54 are connected to the host computer 2, and it is all assigned to the file system 1 to determine which disk device and where the user data are stored in. The file system 1, when the disk device 5 is determined as an object for a storage of the data, requests an OS3 structuring program known as a device driver 6 to input and output through an I/O device interface 7. In this interface 7, there are transferred a disk device number, and a block number and the number of blocks (a block length) in the device.
The device driver 6 is provided for cutting off an interface difference in protocol etc. between the individual disk devices 5 from the file system 1 defined as a high-level program. The device driver 6, upon receiving the request from the file system 1, converts the request into an interface intrinsic to each device, and transfers it to the disk device via the I/O device interface 8.
It is all managed by the file system 1 to recognize which block in the disk device 5 is used and which file this block is used in, and neither the disk device 5 nor the device driver 6 is capable of recognizing at all. In addition to the user data UD, pieces of management information called the meta data MD for managing how the user data UD are arranged in dispersion in a plurality of blocks of the disk device 5.
The disk device 5, after notifying the host computer 2 of a usable region (partition) when in initialization, is incapable of recognizing which block in this partition is used by the host computer 2 at all. Accordingly, the disk device 5 has no alternative but to control on the assumption that the block stored with no data (such as when stored with the user data UD before but the file is erased) is to be stored with significant data, and besides the disk device 5 has no means to recognize which blocks are related to each other.
FIG. 2 shows an example of storing the data in the disk device 5 shown in FIG. 1. Herein, the meta data MD are stored in the two top disk devices 51, 52 in a disk pool, while the user data UD are stored in all the disk devices 51, 52, 53 and 54. Note that a dedicated disk device may also be prepared for storing the meta data MD. The user data UD, with a redundancy method being determined based on a size of the file as far as the user does not specify, are arranged in dispersion in the plurality of disk devices selected on a file-basis. Further, the meta data MD are stored by a duplex redundancy method.
In the data storage example shown in FIG. 2, the meta data MD are stored in a region of a RAID level 1, thus structuring a meta file MDF. Further, the user data UD are stored in regions of the RAID level 1 and a RAID level 5, thus structuring a short file (less than one block) UDSF and a large file (over two blocks) UDLF).
FIG. 3 is an explanatory diagram showing how parity blocks PBLK are arranged, and a parity calculation method. Parity data is created corresponding to a predetermined number of stripes (S) or the number of stripes which is specified on the file basis by the user. Namely, parity blocks PBLK1, PBLK2 and PBLK3 are singly added to stripe units S1, S2 and S3 structured by segmenting the user file UDF corresponding to S-pieces of blocks. The disk device for storing the user data UD and the parity data PD is determined from within the disk pool on the file-basis when creating the file. Herein, when the-number-of-stripes S is [3], there is shown how the parity blocks PBLK1, PBLK2 and PBLK3 are determined. As in the case of a file FILA, when only one user block UBLK exists in the stripe unit S1, the parity block PBLK1 having the same content [a] is created. Further, as in the case of a file FILB or FILC, when two or more user blocks UBLK exist, data obtained by taking exclusive OR of contents [a1, a2] or [a1, a2, a3] of the a plurality of blocks, is written to the parity block PBLK2 or PBLK3. For example, the file FILC is arranged in stripe on three data volumes a1, a2 and a3, and the parity data is stored in the fourth data volume. The data volume, on which the parity data is stored is decided from the disk pool dynamically.
FIG. 4 shows a structure of the meta data MD. The meta data (MD) 20 is provided with an address conversion table 21 created on a file FILA, FILB and FILCA basis, a space management table 22, created on a disk device DIS1, DIS2 and DIS3 basis, for managing a free area of each disk device, and a directory 23 for converting a file name into a file number and indexing the address conversion table 21.
FIG. 5 shows in details a structure of the address conversion table 21 in FIG. 4. The address conversion table 21 contains a file size 210, an open indication flag 211, the numbers (disk numbers: d0, d1, d2) 212 of the disk devices stored with the file data, and extent 213, i.e., position data, provided for every disk device, for indicating which block of the disk device is used. Each of the extent 213 contains a start-of-extent block number 2130 and a block length (the number of blocks) 2131.
The file system 1 described above, if a device fault occurs in the disk device, searches for a file using the troubled disk device by sequentially reading all the contents of the address conversion tables 21 in the meta data 20. If the file is detected, the file system 1 selects a new disk device in the disk pool, which is not yet allocated to that file, then writes the data recovered from the data on the remaining devices to the block on the selected disk device, and updates the address conversion table 21. The address conversion table 21 has the open indication flag 211 for showing that the file is open in an update mode. This flag 211 is set in an open unit (designated by 11 in FIG. 1) of the file system 1 and is reset in a close unit (14). When restarted after system down, the address conversion table 21 in the meta data 20 is sequentially read, and the parity data is recalculated with respect to the file in which the open indication flag 211 is set and written back to the parity block.
FIG. 6 shows a detailed structure of the space management table 22 in FIG. 4. The space management table 22 for managing the free area of each disk device is so provided that the table 22 can be indexed by the disk numbers DIS1, DIS2 and DIS3 of the respective disk devices. The respective extent 220, 221 and 222 are composed of the start-of- extent block numbers 2201, 2211 and 2221 and the block lengths 2202, 2212 and 2222, and each indicate the free area of the disk device DIS. When adding the disk device, a new space management table 22 indicating that the whole is free is written to the meta data 20. With this process, a disk block allocation unit (designated by 15 in FIG. 1) treats this disk device as a candidate for a block allocation.
Next, an operation of the file management system will be described in conjunction with FIGS. 1 to 6. The file system 1 manages an arbitrary number of disk devices 51, 52, 53 and 54 constituting the disk pool, and stores the user data UD in the plurality of disk devices according to the RAID level 1 or the RAID level 5 in response to a request of the user program 9. When requested by the user program 9 to create the file, the open unit 11 of the file system 1 receives the control, and puts the address conversion table 21 indicating this file into the meta data (MD) 20, and registers the file name and the file number corresponding to the file in the directory 23. Thereafter, when the user program makes a request for writing the data, a write unit 12 receives the control, and requests a cache control unit 13 to allocate a cache (cache memory). The cache control unit 13 allocates a cache block, and the control is returned to the write unit 12.
When the write unit 12 writes the user data UD to the cache block returned from the cache control unit 13, the operation returns to the user program 9. When having finished writing the data of the newly created file, the user program 9 issues a close of the file. As a result, the close unit 14 receives the control, calls the disk block allocation unit 15 to allocate the disk block, and writes the data cached so far and the parity data PD to the disk block. Thereafter, an address of the newly allocated disk block is set in the address conversion table 21 in the meta data 20.
When the user program makes a request for reading the file, the control is transferred to the read unit 16. The read unit 16 calls the cache control unit 13 to read the user data UD from the disk device into the cache. If a block on the disk device is broken with the result that this reading process is ended up with a failure, the read unit 16 is notified of the disk block fault.
The read unit 16 receiving this notification, after seeking and reading a block group needed for recovering the data out of the address conversion table 21, recovers the data in the troubled block by use of the data in the read-in block. Upon a completion of the data recovery, a new block is allocated onto the troubled disk device, and, after the recovered data are written to the new block, the address conversion table 21 in the disk device is rewritten.
Although only one embodiment of this invention has been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the preferred embodiment without departing from the novel teachings and advantages of this invention. Accordingly, all such modifications are intended to be included within the scope of his invention as defined by the following claims.

Claims (13)

What is claimed is:
1. A file management system comprising:
a plurality of disk devices, managed in the form of a disk pool, of which at least two disk devices are dynamically selected from said disk pool, constituting a plurality of files storing in redundancy any one set of data of user data and meta data for managing how the user data are used; and
a file system, constituting a part of an operating system of a host computer, managing said plurality of disk devices as said disk pool and managing en bloc the files, based on the meta data, wherein the meta data is stored on a file-basis with an address conversion table including a disk number of said disk device stored with the user data, and a disk block number corresponding to an intra-disk relative block number.
2. A file management system according to claim 1, wherein said file system, in the case of a file of less than one block, selects two of said plurality of disk devices in said disk pool, and makes the user data stored in the redundancy of a RAID level 1.
3. A file management system according to claim 2, wherein said file system, in the case of a file of over two blocks, selects three or more of said plurality of disk devices in said disk pool, and makes the user data stored in the redundancy of a RAID level 5.
4. A file management system according to claim 3, wherein said file system makes the meta data stored in predetermined two of said plurality of disk devices in said disk pool in the redundancy of the RAID level 1.
5. A file management system according to claim 1, wherein if a file block fault occurs in a target disk device when said file system accessing the file, a disk block group needed for recovering contents of the block with the fault is obtained from said address conversion table, the disk block group is read, the data of the block with the fault are recovered from the data read therefrom, the recovered data are written to a newly-allocated normal block in said same disk device, and the newly-allocated disk block number is reflected in said address conversion table.
6. A file management system according to claim 1, wherein if a fault of said disk device occurs, a disk block group needed for recovering contents of the block of said failed disk device is obtained from said address conversion table, the disk block group is read, the data of said failed disk device are recovered from the data read therefrom, the recovered data are written to a newly-allocated normal block in said other disk devices not used for the particular file, and the newly-allocated disk block numbers and the newly-allocated disk number are reflected in said address conversion table.
7. A file management system according to claim 1, wherein when restarted after system down, said file system reads sequentially the address conversion table in the meta data, recalculates the parity data with respect to the file in which an open indication flag is set, and writes back the recalculated parity data to the parity block in the file.
8. A file management system comprising:
a plurality of disk devices, managed in the form of a disk pool, of which at least two disk devices are dynamically selected from said disk pool, constituting a plurality of files storing in redundancy any one set of data of user data and meta data for managing how the user data are used; and
a file system, constituting a part of an operating system of a host computer, managing said plurality of disk devices as said disk pool and managing en bloc the files, based on the meta data, wherein said file system, in the case of file of less than one block, selects two of said plurality of disk devices in said disk pool, and makes the user data stored in the redundancy of a RAID level 1, wherein said file system, in the case of a file of over two blocks, selects three or more of said plurality of disk devices in said disk pool, and makes the user data stored in the redundancy of a RAID level 5, wherein said file system makes the meta data stored in predetermined two of said plurality of disk devices in said disk pool in the redundancy of the RAID level 1, wherein the meta data is stored on a file-basis with an address conversion table including a disk number of said disk device stored with the user data, and disk block number corresponding to an intra-disk relative block number.
9. A file management system according to claim 8, wherein if a block fault occurs in a target disk device when said file system accessing the file, a disk block group needed for recovering contents of the block with the fault is obtained from said address conversion table, the disk block group is read, the data of the block with the fault are recovered from the data read therefrom, the recovered data are written to a newly-allocated normal block in said same disk device, and the newly-allocated disk block number is reflected in said address conversion table.
10. A file management system according to claim 9, wherein said file system caches the user data when writing the data in order to restrain an occurrence of recalculation of the parity data, and delays an allocation of the disk block till the file is closed or said cache becomes full.
11. A file management system according to claim 10, wherein if a fault of said disk device occurs, a disk block group needed for recovering contents of the block of said failed disk device is obtained from said address conversion table, the disk block group is read, the data of said failed disk device are recovered from the data read therefrom, the recovered data are written to a newly-allocated normal block in said other disk devices not used for the particular file, and the newly-allocated disk block numbers and the newly-allocated disk number are reflected in said address conversion table.
12. A file management system according to claim 11, wherein when restarted after system down, said file system reads sequentially the address conversion table in the meta data, recalculates the parity data with respect to the file in which an open indication flag is set, and writes back the recalculated parity data to the parity block in the file.
13. A file management system comprising:
a plurality of disk devices, managed in the form of a disk pool, of which at least two disk devices are dynamically selected from said disk pool, constituting a plurality of files storing in redundancy any one set of data of user data and meta data for managing how the user data are used; and
a file system, constituting a part of an operating system of a host computer, managing said plurality of disk devices as said disk pool and managing en bloc the files, based on the meta data, wherein said file system caches the user data when writing the data in order to restrain an occurrence of recalculation of the parity data, and delays an allocation of the disk block till the file is closed or said cache becomes full.
US09/397,865 1998-09-18 1999-09-17 File management system Expired - Fee Related US6675176B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP10-264808 1998-09-18
JP26480898A JP3505093B2 (en) 1998-09-18 1998-09-18 File management system

Publications (1)

Publication Number Publication Date
US6675176B1 true US6675176B1 (en) 2004-01-06

Family

ID=17408511

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/397,865 Expired - Fee Related US6675176B1 (en) 1998-09-18 1999-09-17 File management system

Country Status (2)

Country Link
US (1) US6675176B1 (en)
JP (1) JP3505093B2 (en)

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020199129A1 (en) * 2001-06-21 2002-12-26 International Business Machines Corp. Data storage on a computer disk array
US20030204670A1 (en) * 2002-04-25 2003-10-30 Holt Keith W. Method for loosely coupling metadata and data in a storage array
US20030212931A1 (en) * 2002-05-13 2003-11-13 Hetrick William A. System, Method, and computer program product within a data processing system for converting a spare storage device to a defined storage device in a logical volume
US20030217305A1 (en) * 2002-05-14 2003-11-20 Krehbiel Stanley E. System, method, and computer program product within a data processing system for assigning an unused, unassigned storage device as a replacement device
US20050021615A1 (en) * 2001-12-06 2005-01-27 Raidcore, Inc. File mode RAID subsystem
US20050063524A1 (en) * 2002-12-11 2005-03-24 Leader Technologies, Inc. Communication system and method
US20050235337A1 (en) * 2004-04-15 2005-10-20 Chris Wilson Method and system of data storage capacity allocation and management using one or more data storage drives
US20050235283A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Automatic setup of parameters in networked devices
US20050235063A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Automatic discovery of a networked device
US20050231849A1 (en) * 2004-04-15 2005-10-20 Viresh Rustagi Graphical user interface for hard disk drive management in a data storage system
US20050235128A1 (en) * 2004-04-15 2005-10-20 Viresh Rustagi Automatic expansion of hard disk drive capacity in a storage device
US20050246572A1 (en) * 2004-04-15 2005-11-03 Chris Wilson Fault tolerant data storage device
US6985996B1 (en) * 2002-12-13 2006-01-10 Adaptec, Inc. Method and apparatus for relocating RAID meta data
US20060085626A1 (en) * 2004-10-20 2006-04-20 Seagate Technology Llc Updating system configuration information
US20060085593A1 (en) * 2004-10-20 2006-04-20 Seagate Technology Llc Generic storage container for allocating multiple data formats
US20060173929A1 (en) * 2005-01-31 2006-08-03 Wilson Christopher S Method and system for flexibly providing shared access to non-data pool file systems
US20060173843A1 (en) * 2005-01-31 2006-08-03 Wilson Christopher S Method and system for flexibly providing shared access to data pools
US7111147B1 (en) * 2003-03-21 2006-09-19 Network Appliance, Inc. Location-independent RAID group virtual block management
US20060218207A1 (en) * 2005-03-24 2006-09-28 Yusuke Nonaka Control technology for storage system
US20060248252A1 (en) * 2005-04-27 2006-11-02 Kharwa Bhupesh D Automatic detection of data storage functionality within a docking station
US20070033430A1 (en) * 2003-05-05 2007-02-08 Gene Itkis Data storage distribution and retrieval
US20070127400A1 (en) * 2002-12-11 2007-06-07 Leader Technologies, Inc. Professional Services Communications Architecture
US20070180294A1 (en) * 2006-02-02 2007-08-02 Fujitsu Limited Storage system, control method, and program
US20070294598A1 (en) * 2006-05-24 2007-12-20 Gateway Inc. Hard disk drive with built-in mirror
US20080275928A1 (en) * 2007-04-27 2008-11-06 Gary Stephen Shuster Flexible data storage system
US7475277B1 (en) * 2005-11-10 2009-01-06 Storage Technology Corporation Automated repair of damaged objects
US7594075B2 (en) 2004-10-20 2009-09-22 Seagate Technology Llc Metadata for a grid based data storage system
US7925246B2 (en) 2002-12-11 2011-04-12 Leader Technologies, Inc. Radio/telephony interoperability system
US8087021B1 (en) 2005-11-29 2011-12-27 Oracle America, Inc. Automated activity processing
US8195714B2 (en) 2002-12-11 2012-06-05 Leaper Technologies, Inc. Context instantiated application protocol
US20140136889A1 (en) * 2012-11-12 2014-05-15 Facebook, Inc. Directory-level raid

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003291014A1 (en) * 2002-11-14 2004-06-15 Isilon Systems, Inc. Systems and methods for restriping files in a distributed file system
US7848261B2 (en) 2006-02-17 2010-12-07 Isilon Systems, Inc. Systems and methods for providing a quiescing protocol
US7899800B2 (en) 2006-08-18 2011-03-01 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7822932B2 (en) 2006-08-18 2010-10-26 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
JP2008139357A (en) * 2006-11-30 2008-06-19 Daiichikosho Co Ltd Karaoke data storage system
US8286029B2 (en) 2006-12-21 2012-10-09 Emc Corporation Systems and methods for managing unavailable storage devices
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system
KR101784816B1 (en) 2011-08-18 2017-10-12 삼성전자 주식회사 A non-volitile memory system

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0273436A (en) 1988-09-09 1990-03-13 Nec Corp File control system
JPH05197498A (en) 1990-11-09 1993-08-06 Array Technol Corp Redundancy array storage device which can be constituted
JPH0736634A (en) 1993-07-16 1995-02-07 Toshiba Corp Disk array device
JPH0736633A (en) 1993-07-21 1995-02-07 Nec Corp Magnetic disk array
JPH0793104A (en) 1993-09-21 1995-04-07 Nippon Telegr & Teleph Corp <Ntt> Disk array device
JPH07306758A (en) 1994-05-16 1995-11-21 Hitachi Ltd Disk array device and its control method
JPH0844503A (en) 1994-06-22 1996-02-16 Hewlett Packard Co <Hp> Method for usage of storate disks of different capacity at inside of single storage volume in hierarchical disk array
US5542065A (en) 1995-02-10 1996-07-30 Hewlett-Packard Company Methods for using non-contiguously reserved storage space for data migration in a redundant hierarchic data storage system
JPH09146717A (en) 1995-11-28 1997-06-06 Toshiba Corp Information storage device
US5659704A (en) * 1994-12-02 1997-08-19 Hewlett-Packard Company Methods and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy
US6275898B1 (en) * 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0273436A (en) 1988-09-09 1990-03-13 Nec Corp File control system
JPH05197498A (en) 1990-11-09 1993-08-06 Array Technol Corp Redundancy array storage device which can be constituted
US6154854A (en) 1990-11-09 2000-11-28 Emc Corporation Logical partitioning of a redundant array storage system
US5519844A (en) * 1990-11-09 1996-05-21 Emc Corporation Logical partitioning of a redundant array storage system
US5708769A (en) 1990-11-09 1998-01-13 Emc Corporation Logical partitioning of a redundant array storage system
JPH0736634A (en) 1993-07-16 1995-02-07 Toshiba Corp Disk array device
JPH0736633A (en) 1993-07-21 1995-02-07 Nec Corp Magnetic disk array
JPH0793104A (en) 1993-09-21 1995-04-07 Nippon Telegr & Teleph Corp <Ntt> Disk array device
JPH07306758A (en) 1994-05-16 1995-11-21 Hitachi Ltd Disk array device and its control method
US5696934A (en) 1994-06-22 1997-12-09 Hewlett-Packard Company Method of utilizing storage disks of differing capacity in a single storage volume in a hierarchial disk array
JPH0844503A (en) 1994-06-22 1996-02-16 Hewlett Packard Co <Hp> Method for usage of storate disks of different capacity at inside of single storage volume in hierarchical disk array
US5659704A (en) * 1994-12-02 1997-08-19 Hewlett-Packard Company Methods and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy
JPH08272548A (en) 1995-02-10 1996-10-18 Hewlett Packard Co <Hp> Method for use of unused storage space of reserved amount
US5542065A (en) 1995-02-10 1996-07-30 Hewlett-Packard Company Methods for using non-contiguously reserved storage space for data migration in a redundant hierarchic data storage system
JPH09146717A (en) 1995-11-28 1997-06-06 Toshiba Corp Information storage device
US6275898B1 (en) * 1999-05-13 2001-08-14 Lsi Logic Corporation Methods and structure for RAID level migration within a logical unit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
English Translation of Office Action mailed by Japanese Patent Office on Aug. 13, 2002 for the corresponding Japanese Patent Application No. 10-264808.

Cited By (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020199129A1 (en) * 2001-06-21 2002-12-26 International Business Machines Corp. Data storage on a computer disk array
US20050021615A1 (en) * 2001-12-06 2005-01-27 Raidcore, Inc. File mode RAID subsystem
US7054998B2 (en) * 2001-12-06 2006-05-30 Broadcom Company File mode RAID subsystem
US20030204670A1 (en) * 2002-04-25 2003-10-30 Holt Keith W. Method for loosely coupling metadata and data in a storage array
US7032125B2 (en) * 2002-04-25 2006-04-18 Lsi Logic Corporation Method for loosely coupling metadata and data in a storage array
US20030212931A1 (en) * 2002-05-13 2003-11-13 Hetrick William A. System, Method, and computer program product within a data processing system for converting a spare storage device to a defined storage device in a logical volume
US20030217305A1 (en) * 2002-05-14 2003-11-20 Krehbiel Stanley E. System, method, and computer program product within a data processing system for assigning an unused, unassigned storage device as a replacement device
US20050063524A1 (en) * 2002-12-11 2005-03-24 Leader Technologies, Inc. Communication system and method
US8195714B2 (en) 2002-12-11 2012-06-05 Leaper Technologies, Inc. Context instantiated application protocol
US20070127400A1 (en) * 2002-12-11 2007-06-07 Leader Technologies, Inc. Professional Services Communications Architecture
US7925246B2 (en) 2002-12-11 2011-04-12 Leader Technologies, Inc. Radio/telephony interoperability system
US6985996B1 (en) * 2002-12-13 2006-01-10 Adaptec, Inc. Method and apparatus for relocating RAID meta data
US7660966B2 (en) 2003-03-21 2010-02-09 Netapp, Inc. Location-independent RAID group virtual block management
US7111147B1 (en) * 2003-03-21 2006-09-19 Network Appliance, Inc. Location-independent RAID group virtual block management
US8041924B2 (en) 2003-03-21 2011-10-18 Netapp, Inc. Location-independent raid group virtual block management
US20100095060A1 (en) * 2003-03-21 2010-04-15 Strange Stephen H Location-independent raid group virtual block management
US20070033430A1 (en) * 2003-05-05 2007-02-08 Gene Itkis Data storage distribution and retrieval
US7681007B2 (en) 2004-04-15 2010-03-16 Broadcom Corporation Automatic expansion of hard disk drive capacity in a storage device
US7395402B2 (en) * 2004-04-15 2008-07-01 Broadcom Corporation Method and system of data storage capacity allocation and management using one or more data storage drives
US20050231849A1 (en) * 2004-04-15 2005-10-20 Viresh Rustagi Graphical user interface for hard disk drive management in a data storage system
US7500135B2 (en) * 2004-04-15 2009-03-03 Broadcom Corporation Fault tolerant data storage device
US20050235128A1 (en) * 2004-04-15 2005-10-20 Viresh Rustagi Automatic expansion of hard disk drive capacity in a storage device
US20050246572A1 (en) * 2004-04-15 2005-11-03 Chris Wilson Fault tolerant data storage device
US20050235063A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Automatic discovery of a networked device
US20050235283A1 (en) * 2004-04-15 2005-10-20 Wilson Christopher S Automatic setup of parameters in networked devices
US20050235337A1 (en) * 2004-04-15 2005-10-20 Chris Wilson Method and system of data storage capacity allocation and management using one or more data storage drives
US8131969B2 (en) 2004-10-20 2012-03-06 Seagate Technology Llc Updating system configuration information
US7594075B2 (en) 2004-10-20 2009-09-22 Seagate Technology Llc Metadata for a grid based data storage system
US20060085593A1 (en) * 2004-10-20 2006-04-20 Seagate Technology Llc Generic storage container for allocating multiple data formats
US8131926B2 (en) 2004-10-20 2012-03-06 Seagate Technology, Llc Generic storage container for allocating multiple data formats
US20060085626A1 (en) * 2004-10-20 2006-04-20 Seagate Technology Llc Updating system configuration information
US20060173843A1 (en) * 2005-01-31 2006-08-03 Wilson Christopher S Method and system for flexibly providing shared access to data pools
US20060173929A1 (en) * 2005-01-31 2006-08-03 Wilson Christopher S Method and system for flexibly providing shared access to non-data pool file systems
US7966353B2 (en) 2005-01-31 2011-06-21 Broadcom Corporation Method and system for flexibly providing shared access to non-data pool file systems
US8065350B2 (en) 2005-01-31 2011-11-22 Broadcom Corporation Method and system for flexibly providing shared access to data pools
US20060218207A1 (en) * 2005-03-24 2006-09-28 Yusuke Nonaka Control technology for storage system
US20060248252A1 (en) * 2005-04-27 2006-11-02 Kharwa Bhupesh D Automatic detection of data storage functionality within a docking station
US7475277B1 (en) * 2005-11-10 2009-01-06 Storage Technology Corporation Automated repair of damaged objects
US8087021B1 (en) 2005-11-29 2011-12-27 Oracle America, Inc. Automated activity processing
US20070180294A1 (en) * 2006-02-02 2007-08-02 Fujitsu Limited Storage system, control method, and program
US7739579B2 (en) 2006-02-02 2010-06-15 Fujitsu Limited Storage system, control method, and program for enhancing reliability by storing data redundantly encoded
US20070294598A1 (en) * 2006-05-24 2007-12-20 Gateway Inc. Hard disk drive with built-in mirror
US20110238912A1 (en) * 2007-04-27 2011-09-29 Gary Stephen Shuster Flexible data storage system
US7958303B2 (en) * 2007-04-27 2011-06-07 Gary Stephen Shuster Flexible data storage system
US20080275928A1 (en) * 2007-04-27 2008-11-06 Gary Stephen Shuster Flexible data storage system
US8819365B2 (en) 2007-04-27 2014-08-26 Gary Stephen Shuster Flexible data storage system
US9448886B2 (en) 2007-04-27 2016-09-20 Gary Stephen Shuster Flexible data storage system
US20140136889A1 (en) * 2012-11-12 2014-05-15 Facebook, Inc. Directory-level raid
US8959390B2 (en) * 2012-11-12 2015-02-17 Facebook, Inc. Directory-level RAID

Also Published As

Publication number Publication date
JP3505093B2 (en) 2004-03-08
JP2000099282A (en) 2000-04-07

Similar Documents

Publication Publication Date Title
US6675176B1 (en) File management system
US9569130B2 (en) Storage system having a plurality of flash packages
US7650480B2 (en) Storage system and write distribution method
EP0538288B1 (en) Deleted data file space release system for a dynamically mapped virtual data storage subsystem
US8762768B2 (en) Storage system for restoring data stored in failed storage device
JP3715000B2 (en) Method for selecting data in a data storage device
US8200631B2 (en) Snapshot reset method and apparatus
US7089448B2 (en) Disk mirror architecture for database appliance
US7363540B2 (en) Transaction-safe FAT file system improvements
US8645658B2 (en) Storage system comprising plurality of storage system modules
US7032070B2 (en) Method for partial data reallocation in a storage system
US7594071B2 (en) Storage system employing a hierarchical directory section and a cache directory section
US20030236944A1 (en) System and method for reorganizing data in a raid storage system
KR100449485B1 (en) Stripping system, mapping and processing method thereof
US7743209B2 (en) Storage system for virtualizing control memory
WO2004102391A1 (en) Thin-provisioning with snapshot technology
US20080140908A1 (en) Storage system, and method and program for selecting memory region
US20080091638A1 (en) Storage system operation management method and storage system
JP2003280950A (en) File management system
US7032093B1 (en) On-demand allocation of physical storage for virtual volumes using a zero logical disk
US20070113041A1 (en) Data processing system, storage apparatus and management console
US20080154777A1 (en) Storage control device for protecting an electronic protection object with protection capability required by the protection object
US7337269B2 (en) Method of managing a data storage array, and a computer system including a raid controller
JP3730609B2 (en) Write-through processing method, write-through processing program and disk controller for redundant logical disk

Legal Events

Date Code Title Description
AS Assignment

Owner name: FUJITSU LIMITED, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHINKAI, YOSHITAKE;TSUCHIYA, YOSHIHIRO;REEL/FRAME:010269/0104

Effective date: 19990901

CC Certificate of correction
FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

CC Certificate of correction
CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 8

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20160106