System and method for multi-tiered meta-data caching and distribution in a clustered computer environment
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-007/00
G06F-017/30
출원번호
US-0694714
(2010-01-27)
등록번호
US-8713077
(2014-04-29)
발명자
/ 주소
Kazar, Michael
Jernigan, IV, Richard P.
Sanzi, Jr., Richard N.
Hyer, Jr., Robert Wyckoff
출원인 / 주소
NetApp, Inc.
대리인 / 주소
Cesari and McKenna, LLP
인용정보
피인용 횟수 :
0인용 특허 :
61
초록▼
A system and method caches and distributes meta-data for one or more data containers stored on a plurality of volumes configured as a striped volume set (SVS) and served by a plurality of nodes interconnected as a cluster. The SVS comprises one meta-data volume (MDV) configured to store a canonical
A system and method caches and distributes meta-data for one or more data containers stored on a plurality of volumes configured as a striped volume set (SVS) and served by a plurality of nodes interconnected as a cluster. The SVS comprises one meta-data volume (MDV) configured to store a canonical copy of certain meta-data, including access control lists and directories, associated with all data containers stored on the SVS, and one or more data volumes (DV) configured to store, at least, data content of those containers. In addition, for each data container stored on the SVS, one volume is designated a container attribute volume (CAV) and, as such, is configured to store (“cache”) a canonical copy of certain, rapidly-changing attribute meta-data, including time stamps and container length, associated with that container.
대표청구항▼
1. A computer-implemented method for distributing meta-data of a data container, comprising: striping a first data volume across a plurality of logical volumes configured to form a striped volume set, wherein each logical volume is a logical arrangement of a plurality of storage devices coupled to a
1. A computer-implemented method for distributing meta-data of a data container, comprising: striping a first data volume across a plurality of logical volumes configured to form a striped volume set, wherein each logical volume is a logical arrangement of a plurality of storage devices coupled to a computer, and wherein the first data volume includes the data container;storing a copy of the meta-data of the data container in a meta-data volume of the plurality of logical volumes,designating a second data volume of the plurality of logical volumes as a container attribute volume for the data container, wherein the container attribute volume serves as a first tier caching and distribution point within the striped volume set for the meta-data in the meta-data volume in response to receiving a data access request, and wherein the data container and container attribute volume are stored on different data volumes;invalidating a cached copy of the meta-data stored on the container attribute volume in response to receiving the data access request, wherein invalidating the cached copy of the meta-data comprises setting a meta-data invalidation flag of a data structure of the data container to identify that the cached copy of the meta-data is invalid; andupdating the cached copy of the meta-data stored on the container attribute volume, wherein the data access request is one of a request to modify and to create the meta-data. 2. The method of claim 1 further comprising transmitting a command to invalidate the cached copy of the meta-data on each data volume. 3. The method of claim 1 wherein the container attribute volume is selected as the data volume storing a first stripe of data of the data container. 4. The method of claim 1 wherein the meta-data comprises an access control list. 5. The method of claim 1 wherein the data container comprises a file. 6. The method of claim 1, further comprising: requesting an update of meta-data from the copy of the meta-data in the meta-data volume, wherein the copy of the meta-data in the meta-data volume is a canonical copy. 7. The method of claim 1 further comprising: receiving the data access request by a first module of the computer serving the first data volume;determining whether a first local copy of the meta-data stored on the first data volume is valid;requesting a second module serving the container attribute volume to send a second local copy of the meta-data to the first module in response to determining that the first local copy is not valid;determining whether the second local copy on the container attribute volume is valid; andin response to determining that the second local copy is not valid, querying the meta-data volume for an updated version of the meta-data to be stored on at least one of the first data volume and the container attribute volume. 8. The method of claim 1 wherein a portion of the meta-data is not modified in response to the data access request. 9. The method of claim 1 wherein the copy of the meta-data is a canonical copy. 10. A computer-implemented system for distributing meta-data of a data container, comprising: a hardware processor operatively connected to a computer configured to execute a storage operating system to stripe the data container across a plurality of logical volumes to form a striped volume set, wherein each logical volume is a logical arrangement of a plurality of storage devices coupled to the computer;a meta-data volume of the plurality of logical volumes configured to store a copy of meta-data of the data container;one or more data volumes of the plurality of logical volumes configured as a container attribute volume for the data container, wherein the container attribute volume is configured to serve as a first tier caching and distribution point within the striped volume set for the meta-data in the meta-data volume in response to receiving a data access request, and wherein the data container and container attribute volume are stored on different data volumes; anda module of the storage operating system serving the meta-data volume configured to invalidate a cached copy of the meta-data stored on the container attribute volume, a data structure of the data container comprising a meta-data invalidation flag to identify that the cached copy of the meta-data is invalid, the module of the storage operating system serving the meta-data volume configured to update the copy of the meta-data stored on the container attribute volume. 11. The computer-implemented system of claim 10 further comprising a volume striping module of the storage operating system configured to transmit a command to invalidate the cached copy of the meta-data on each data volume. 12. The computer-implemented system of claim 10 wherein the container attribute volume is selected as the data volume storing a first stripe of data of the data container. 13. The computer-implemented system of claim 10 wherein the meta-data comprises an access control list. 14. The computer-implemented system of claim 10 wherein the data container comprises a file. 15. The computer-implemented system of claim 10 wherein an update of meta-data from the copy of the meta-data in the meta-data volume is requested. 16. The computer-implemented system of claim 10 further comprising: a first volume striping module of the computer configured to serve one of the data volumes and configured to receive the data access request at the first volume striping module and further configured to determine whether a first local copy of the meta-data stored on the data volume is valid;a second volume striping module configured to serve the container attribute volume and further configured, in response to determining that the first local copy is not valid, to receive a command from the first volume striping module to send a second local copy of cached meta-data stored on the container attribute volume to the first volume striping module, the second volume striping module further configured to determine whether the second local copy is valid; andthe second volume striping module further configured, in response to determining that the second local copy is not valid, to query the meta-data volume for an updated version of the meta-data to be stored on at least one of the data volume and the container attribute volume. 17. The computer-implemented system of claim 10 wherein the meta-data comprises a portion of meta-data that is not modified on the data access request. 18. The computer-implemented system of claim 10 wherein the copy of the meta-data is a canonical copy. 19. A non-transitory computer readable storage medium containing executable program instructions executed by a processor, comprising: program instructions that stripe a data container across a plurality of logical volumes configured to form a striped volume set, wherein each logical volume is a logical arrangement of a plurality of storage devices coupled to a computer;program instructions that store a copy of meta-data of the data container in a meta-data volume of the plurality of logical volumes, wherein the meta-data is organized into a plurality of categories based on a frequency that meta-data changes in response to receiving a data access request directed to the data container, wherein a first category of the plurality of categories includes an access control list;program instructions that designate a container attribute volume for the data container, wherein the container attribute volume is formed from the stripe volume set, wherein the container attribute volume serves as a first tier caching and distribution point within the striped volume set for the meta-data in the meta-data volume in response to receiving the data access request directed to the data container, and wherein the data container and container attribute volume are stored on different logical volumes; andprogram instructions that invalidate a cached copy of the meta-data stored on the container attribute volume in response to receiving the data access request. 20. A computer-implemented method, comprising: striping a data container across a plurality of logical volumes, wherein each logical volume is a logical arrangement of a plurality of storage devices;organizing meta-data of the data container into a plurality of categories based on a frequency that meta-data changes in response to receiving a data access request directed to the data container, wherein a first category of the plurality of categories includes an access control list;storing a copy of meta-data in the first category of the plurality of categories at a meta-data volume, a data volume, and a container attribute volume, wherein the container attribute volume is striped across the plurality of logical volumes, wherein the container attribute volume serves as a first tier caching and distribution point for the meta-data in the meta-data volume in response to receiving the data access request directed to the data container, wherein the data container and container attribute volume are stored on different logical volumes;determining that a first local copy of the meta-data stored at the container attribute volume is invalid;querying the meta-data volume for a valid copy of the meta-data in response to determining the first local copy is invalid; andstoring the valid copy of the meta-data at the container attribute volume. 21. The computer-implemented method of claim 20 wherein determining that the local copy of the meta-data stored at the container attribute volume is invalid further comprises: determining that a second local copy of the meta-data stored at the data volume is invalid; andquerying the container attribute volume for the first local copy in response to determining the second local copy is invalid.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (61)
Hitz,David; Malcolm,Michael; Lau,James; Rakitzis,Byron, Allocating files in a file system integrated with a raid disk sub-system.
Corbett,Peter F.; English,Robert M.; Kleiman,Steven R., Data placement technique for striping data containers across volumes of a storage system cluster.
Dalal,Chirag Deepak; Bharadwaj,Vaijayanti Rakshit; Kulkarni,Pradip Madhukar; Karr,Ronald S.; Colgrove,John A., Development of a detailed logical volume configuration from high-level user requirements.
Belsan Jay S. (Nederland CO) Rudeseal George A. (Boulder CO) Milligan Charles A. (Golden CO), Dynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem.
Xu Yikang ; Vahalia Uresh K. ; Jiang Xiaoye ; Gupta Uday ; Tzelnic Percy, File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems.
Cheng Yu-Ping (San Jose CA) Hitz David (Sunnyvale CA), High-performance non-volatile RAM protected write cache accelerator system employing DMA and data transferring scheme.
Milligan Charles A. (Golden CO) Rudeseal George A. (Boulder CO), Logical track write scheduling system for a parallel disk drive array data storage subsystem.
Baranovsky Leon Daniel ; Cabrera Luis Felipe ; Chin Chiehshow ; Rees Robert, Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal stora.
Fridella,Stephen A; Ma,Gang; Jiang,Xiaoye; Faibish,Sorin; Liang,Rui, Management of the file-modification time attribute in a multi-processor file server system.
Potter David (Acton MA) Provost Laurence N. (Arlington MA) Baron John M. (Grafton MA) Stefanovic David (Allston MA) Sharakan Eric D. (Brighton MA) Sheppard David A. (Cambridge MA) Isman Marshall A. (, Method and apparatus for operating multi-unit array of memories.
Kazar, Michael L.; Nydick, Daniel S.; Sanzi, Jr., Richard N.; Gohh, Fred; Bianchini, Jr., Ronald P.; Speiser, Benjamin, Method and system for responding to file system requests.
Hitz David ; Malcolm Michael ; Lau James ; Rakitzis Byron, Method for maintaining consistent states of a file system and for creating user-accessible read-only copies of a file s.
Hitz David (Sunnyvale CA) Schwartz Allan (Saratoga CA) Lau James (Cupertino CA) Harris Guy (Mountain View CA), Multiple facility operating system architecture.
Hitz David ; Schwartz Allan ; Lau James ; Harris Guy, Multiple software-facility component operating system for co-operative processor control within a multiprocessor computer system.
Row Edward J. (Mountain View CA) Boucher Laurence B. (Saratoga CA) Pitts William M. (Los Altos CA) Blightman Stephen E. (San Jose CA), Parallel I/O network file server architecture.
Row Edward J. (Mountain View CA) Boucher Laurence B. (Saratoga CA) Pitts William M. (Los Altos CA) Blightman Stephen E. (San Jose CA), Parallel I/O network file server architecture.
Schmuck Frank B. ; Zlotek Anthony J. ; Shmueli Boaz,ILX ; Mandler Benjamin,ILX ; Yehudai Zvi Yosef,ILX ; Kish William A., Parallel file system with method using tokens for locking modes.
Kazar, Michael; Jernigan, IV, Richard P.; Sanzi, Jr., Richard N., Storage system architecture for striping data container content across volumes of a cluster.
Kazar,Michael; English,Robert M.; Jernigan, IV,Richard P., System and method for efficiently guaranteeing data consistency to clients of a storage system cluster.
Jernigan, IV, Richard P.; Hyer, Jr., Robert Wyckoff; Corbett, Peter F., System and method for implementing atomic cross-stripe write operations in a striped volume set.
Smith, Toby; Jernigan, IV, Richard P.; Hyer, Jr., Robert Wyckoff; Kazar, Michael; Noveck, David B.; Griess, Peter, System and method for managing hard lock state information in a distributed storage system environment.
Kazar, Michael; Jernigan, IV, Richard P.; Sanzi, Jr., Richard N.; Hyer, Jr., Robert Wyckoff, System and method for multi-tiered meta-data caching and distribution in a clustered computer environment.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.