I/O operations for a storage array
First Claim
1. A method of handling I/O operations for a storage array, comprising:
- distributing metadata among separate memories of a plurality of directors of the storage array, wherein the metadata correlates logical device data with physical device data, and wherein the separate memories include different portions of a global memory distributed among the plurality of directors, each of the different portions of the global memory being accessible by each of the plurality of directors;
a first one of the directors receiving an I/O operation for a particular logical device;
determining which of the plurality of directors includes the portion of the global memory that contains metadata corresponding to the particular logical device; and
in response to the corresponding metadata being on the portion of the global memory of a different one of the directors, the first director providing a request to the different one of the directors, the request corresponding to the I/O operation for the particular logical device, wherein, although the first director is capable of accessing the portion of the global memory of the different one of the directors and servicing the I/O operation via a non-native global memory access, the first director provides the request to the different one of the directors having the portion of the global memory that contains the corresponding metadata for servicing the I/O operation via a native global memory access.
9 Assignments
0 Petitions
Accused Products
Abstract
Handling I/O operations for a storage array includes distributing metadata among separate memories of a plurality of directors of the storage array, where the metadata correlates logical device data with physical device data. A first one of the directors receives an I/O operation for a particular logical device. Handling I/O operations may also include determining which of the plurality of directors contains metadata corresponding to the particular logical device, and, in response to the metadata being on a different one of the directors, the first director providing a request to the different one of the directors. The directors may be interconnected by an interconnect fabric. The first one of the directors may provide a request to the second one of the directors via the interconnect fabric. Determining which of the plurality of directors contains metadata correspond to the particular logical device may include using a lookup table.
21 Citations
19 Claims
-
1. A method of handling I/O operations for a storage array, comprising:
-
distributing metadata among separate memories of a plurality of directors of the storage array, wherein the metadata correlates logical device data with physical device data, and wherein the separate memories include different portions of a global memory distributed among the plurality of directors, each of the different portions of the global memory being accessible by each of the plurality of directors; a first one of the directors receiving an I/O operation for a particular logical device; determining which of the plurality of directors includes the portion of the global memory that contains metadata corresponding to the particular logical device; and in response to the corresponding metadata being on the portion of the global memory of a different one of the directors, the first director providing a request to the different one of the directors, the request corresponding to the I/O operation for the particular logical device, wherein, although the first director is capable of accessing the portion of the global memory of the different one of the directors and servicing the I/O operation via a non-native global memory access, the first director provides the request to the different one of the directors having the portion of the global memory that contains the corresponding metadata for servicing the I/O operation via a native global memory access. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of handling I/O operations for a storage array, comprising:
-
distributing metadata among separate memories of a plurality of directors of the storage array, wherein the metadata correlates logical device data with physical device data, and wherein the separate memories include different portions of a global memory distributed among the plurality of directors, each of the different portions of the global memory being accessible by each of the plurality of directors; a first one of the directors receiving an I/O operation for a particular logical device; determining a particular physical device that corresponds to the particular logical device; determining which of the plurality of directors includes the portion of the global memory that contains metadata that corresponds to the particular physical device; and in response to the corresponding metadata for the physical device being on the portion of the global memory of a different one of the directors, the first director providing a request to the different one of the directors, the request corresponding to the I/O operation for the particular logical device, wherein, although the first director is capable of accessing the portion of the global memory of the different one of the directors and servicing the I/O operation via a non-native global memory access, the first director provides the request to the different one of the directors having the portion of the global memory that contains the corresponding metadata for servicing the I/O operation via a native global memory access. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A storage array, comprising:
-
a plurality of directors, each having at least one processor thereon; a global memory distributed among the plurality of directors, wherein different portions of the global memory are provided on each of the directors, and wherein each of the different portions of the global memory is accessible by each of the plurality of directors; an interconnect fabric coupled to each of the directors, wherein global memory accesses performed by one director to access memory of another director are through the interconnect fabric; and metadata for logical devices, provided in the global memory, wherein the metadata contains information that correlates logical device data with physical device data and wherein, in response to an I/O operation for a particular logical device, a first director determines which of the plurality of directors includes the portion of the global memory that contains metadata corresponding to the particular logical device and, in response to the metadata being on the portion of the global memory of a different one of the directors, the first director provides a request to the different one of the directors, the request corresponding to the I/O operation for the particular logical device, wherein, although the first director is capable of accessing the portion of the global memory of the different one of the directors and servicing the I/O operation via a non-native global memory access, the first director provides the request to the different one of the directors having the portion of the global memory that contains the corresponding metadata for servicing the I/O operation via a native global memory access. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification