IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
UP-0290555
(2008-10-31)
|
등록번호 |
US-7805568
(2010-10-21)
|
발명자
/ 주소 |
- Kazar, Michael L.
- Sanzi, Jr., Richard N.
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
0 인용 특허 :
9 |
초록
▼
An apparatus for data storage includes a cluster of NFS servers. Each server has network ports for incoming file system requests and cluster traffic between servers. The apparatus includes a plurality of storage arrays in communication with the servers. The servers utilize a striped file system for
An apparatus for data storage includes a cluster of NFS servers. Each server has network ports for incoming file system requests and cluster traffic between servers. The apparatus includes a plurality of storage arrays in communication with the servers. The servers utilize a striped file system for storing data. A method for data storage. A method for establishing storage for a file. A method for removing a file from storage. A method for reading data in a file. A method for writing data in a file.
대표청구항
▼
What is claimed is: 1. A method for reading data in a file comprising the steps of: receiving an NFS (network file system) read request for data in the file that crosses strip boundaries at a network element of a plurality of network elements; determining by the network element which VFS (virtual f
What is claimed is: 1. A method for reading data in a file comprising the steps of: receiving an NFS (network file system) read request for data in the file that crosses strip boundaries at a network element of a plurality of network elements; determining by the network element which VFS (virtual file system) in each disk element stores at least one strip containing the data, where at least two disk elements each have at least one strip containing the data, each disk element having a different strip of the data, the data crosses strip boundaries, where the network elements and the disk elements are in a single global name space and where data in each VFS is implemented as an array of inodes; sending a file read request from the network element to at least the two disk elements of a plurality of servers storing a strip of the data; obtaining current attributes associated with the file by each of the two disk element; reading the strip of the file from each of the two disk elements having the strips with the data that crosses strip boundaries to produce a result from each of the two disk elements; and generating a response in regard to the file read request by combining the results from each of the two disk elements. 2. A method for writing data in a file comprising the steps of: receiving an NFS (network file system) write request for data in the file that crosses strip boundaries at a network element of a plurality of network elements; determining by the network element which VFS (virtual file system) in each disk element is associated with the file, where at least two disk elements each have at least one strip containing the data, each disk element having a different strip of the data, the data crosses strip boundaries, where the network elements and the disk elements are in a single global name space and where data in each VFS is implemented as an array of inodes; sending a file write request from the network element to at least the two disk element of a plurality of servers having a stripe of the VFS; acquiring current attributes associated with the file by each of the two disk elements; writing a predetermined number of bytes of the data into each VFS strip with the data that crosses strip boundries to produce a result for each of the two disk elements in succession in each of the two disk elements until all of the data is written into the file; and generating a response in regard to the write request by combining the results from each of the two disk elements. 3. An apparatus for data storage comprising: a cluster of network-accessed file level servers, each server having network ports for an incoming network file system read request for data and cluster traffic between servers, each server has a network element and a disk element which has a virtual file system (VFS), the network element determining which VFS in each disk element stores at least one strip containing the data, the network element sends requests to at least two disk elements of the plurality of servers, wherein the strip of the file from each of the two disk elements having the strips with the data that crosses strip boundaries is read to produce a result from each of the two disk elements in response to the incoming read request; and a plurality of storage arrays in communication with the servers, the servers utilizing a striped file system for storing data where the data crosses strip boundaries, and where one disk element for a given file system acts as a meta-data server that maintains modification and change time attributes for each strip in each file, and where each server for each file maintains a caching element that stores a last known version of the file attributes and ranges of modification time and change time values of each stripe for assignment to write operation results, each server combining results generated for the incoming read request for data that crosses strip boundaries for a response to the incoming read request. 4. An apparatus as described in claim 3 wherein each disk element which is not the meta-data server is an input output secondary, where the network elements and the disk elements are in a single global name space and where data in each VFS is implemented as an array of inodes. 5. An apparatus as described in claim 4 wherein ranges of file modification times or file change times are reserved from the meta-data server by the input output secondary. 6. An apparatus as described in claim 5 wherein the modification and change times in the ranges obtained from the meta-data server are issued to operations already queued at the input output secondary. 7. An apparatus as described in claim 6 wherein modification and change times in the ranges obtained from the meta-data server are issued to operations received during a window of time after the ranges are reserved from the meta-data server by the input output secondary. 8. An apparatus as described in claim 7 wherein operations affecting all stripes of a file begin executions first at the meta-data server for a file, and then execute at all input output secondaries, such that operations at the input output secondaries wait only for already executing operations that have already finished their communication with the meta-data server. 9. An apparatus as described in claim 8 wherein operations follow one of at least two locking models, the first of which is to synchronize first with the meta-data server, then begin core execution by synchronizing with other operations executing at the input output secondary, and the second of which is to first synchronize at the meta-data server, and then to synchronize with operations at one or more input output secondaries that have begun core execution at the input output secondaries. 10. An apparatus as described in claim 9 wherein the cluster network is connected in a star topology. 11. An apparatus as described in claim 10 wherein the cluster network is a switched Ethernet. 12. An apparatus as described in claim 11 wherein the servers are NFS servers. 13. A method for data storage comprising the steps of: receiving an incoming network file system read request for data at network ports of a cluster of network-accessed file level servers, and cluster traffic between servers at the ports, each server has a network element and a disk element which has a virtual file system (VFS), the network element determining which VFS in each disk element stores at least one strip containing the data, the network element sends requests to at least two disk elements of the plurality of servers, wherein the strip of the file from each of the two disk elements having the strips with the data that crosses strip boundaries is read to produce a result from each of the two disk elements in response to the incoming read request; and storing data utilizing a striped file system in a plurality of storage arrays in communication with the servers, where the data crosses strip boundaries and where one disk element for a given file system acts as a meta-data server that maintains modification and change time attributes for each stripe in each file, and where each server for each file maintains a caching element that stores a last known version of the file attributes and ranges of modification time and change time values of each stripe for assignment to write operation results, each server combining results generated for the incoming read request for data that crosses strip boundaries for a response to the incoming read request. 14. A method as described in claim 13 wherein each disk element which is not the meta-data server is an input output secondary, and wherein the storing step includes the step of reserving ranges of file modification times or file change times from the meta-data server by the input output secondary, where the network elements and the disk elements are in a single global name space and where data in each VFS is implemented as an array of inodes. 15. A method as described in claim 14 wherein the storing step includes the step of issuing the modification and change times in the ranges obtained from the meta-data server to operations already queued at the input output secondary. 16. A method as described in claim 15 wherein the issuing step includes issuing the modification and change times in the ranges obtained from the meta-data server to operations received during a window of time after the ranges are reserved from the meta-data server by the input output secondary. 17. A method as described in claim 16 including the step of executing operations affecting all stripes of a file beginning first at the meta-data server for a file, and then executing at all input output secondaries, such that operations at the input output secondaries wait only for already executing operations that have already finished their communication with the meta-data server. 18. A method as described in claim 17 including the step of executing operations following one of at least two locking models, the first of which is to synchronize first with the meta-data server, then begin core execution by synchronizing with other operations executing at the input output secondary, and the second of which is to first synchronize at the meta-data server, and then to synchronize with operations at one or more input output secondaries that have begun core execution at the input output secondaries. 19. A method as described in claim 18 wherein the servers are NFS servers.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.