Patent ID: 8046422

Claim:
A method comprising: operating a clustered storage server system that includes a plurality of data storage nodes configured to operate as a cluster, each of the data storage nodes including an N-module, a D-module, and a separate one of a plurality of caches, and each of the data storage nodes being associated with a separate one of a plurality of nonvolatile mass storage subsystems, wherein operating the clustered storage system includes maintaining, in each of the N-modules, a data structure indicating a mapping between D-modules and data identifiers of data stored in the network storage system; and using the plurality of caches to automatically spread read and write access load for file system data and metadata, by a plurality of storage clients, across the plurality of data storage nodes, including: receiving, at one of the N-modules, a read request directed to a first dataset; selecting, by said one of the N-modules, either a caching D-module for the first dataset or a read-write D-module for the first dataset, from which to access the first dataset, based on the mapping and an indication whether the first dataset has been updated at the read-write D-module within a threshold time; directing, by said one of the N-modules, the read request to either said caching D-module or said read-write D-module selected in said selecting; receiving, at one of the N-modules, a write request directed to a second dataset; determining one of the D-modules at which to access the second dataset, based on the mapping and a data identifier indicated by the write request; and directing the write request to said one of the D-modules determined in said determining.