IP Library Granted Patent US 9,223,645
Granted Patent B2
US 9,223,645 · App. 13/512,045 · Granted Dec 29, 2015

Storage apparatus and method for controlling storage apparatus

Inventor: Hiroshi Izuta (Odawara, JP)
Assignee: HITACHI, LTD.
G06F11/0787G06F11/0727G06F11/0745G06F11/0772G06F11/0793G06F11/167G06F11/2007
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,223,645
App. No.
13/512,045
Granted
Dec 29, 2015
Kind
B2
Abstract

Provided is a storage apparatus and a method for controlling the storage apparatus which are capable of achieving both enhancement of data transfer processing efficiency and enhancement of apparatus availability. A storage apparatus including a storage medium for providing an external apparatus with a data storage area has a processing unit including a plurality of processors and a shared memory for storing programs executed by the processors and is configured such that the processors receive data I/O requests and store the data I/O requests in the shared memory as storage medium control information for the storage medium. The storage medium controller executes data processing of writing or reading target data for the corresponding data I/O processing request to or from the storage medium on the basis of the storage medium control information transmitted from the external apparatus. The data transfer controller executes data transfer processing between the processing unit and the storage medium controller in accordance with a predetermined communication method. When the storage medium controller transmits a data transfer request to the data transfer controller and the data transfer controller transfers the data transfer request from the storage medium controller to the processing unit, the data transfer controller sends the storage medium controller data including predetermined error information stipulated for the communication method when determining that the processing unit does not execute the data transfer processing normally, and the storage medium controller determines that a failure has occurred to the processor which is the target of the data transfer request transmitted to the data transfer controller when receiving the predetermined error information.

Claims (48)

1. A storage apparatus including a storage medium for providing an external apparatus with a data storage area, the storage apparatus comprising:

a processing unit including a plurality of processors and a shared memory for storing programs executed by the plurality of processors and configured such that the plurality of processors receive data I/O requests and store the data I/O requests in the shared memory as storage medium control information for the storage medium;

a storage medium controller configured to execute data processing that writes or reads target data for a corresponding one of the data I/O processing requests to or from the storage medium on the basis of the storage medium control information stored in the shared memory; and

a data transfer controller configured to execute data transfer processing between the processing unit and the storage medium controller in accordance with a predetermined communication method, wherein the data transfer controller is configured to transfer the data transfer request from the storage medium controller to the processing unit on a condition that the storage medium controller transmits a data transfer request to the data transfer controller, wherein:

the data transfer controller is further configured to send, to the storage medium controller, data that includes predetermined error information stipulated for the predetermined communication method that writes or reads target data for a corresponding one of the data I/O processing requests to or from the storage medium, and

the storage medium controller is further configured to determine, on a condition that the storage medium controller receives the predetermined error information, that a failure has occurred in the processor that is a target of a data transfer request that was transmitted to the data transfer controller.

2. The storage apparatus according to claim 1 , wherein:

the predetermined communication method is PCI Express, and

the predetermined error information stipulated for the predetermined communication method is Poisoned TLP information.

3. The storage apparatus according to claim 1 , wherein

when determining that a failure has occurred in one of the plurality of processors, the storage medium controller discards a data transfer request held by the storage medium controller and to be processed by the one of the plurality of processors.

4. The storage apparatus according to claim 3 , wherein

the storage media controller notifies a management apparatus that the failure has occurred in the one of the plurality of processors, the management apparatus being communicatively coupled to the storage medium controller.

5. The storage apparatus according to claim 1 , wherein

when determining that a temporary storage area for storing data is configured in the storage medium controller and the temporary storage area is determined to be used as a place for storing the storage medium control information, the processing unit makes such setting in the shared memory that the storage medium controller has a failure when the storage medium controller detects the predetermined error information.

6. The storage apparatus according to claim 1 , wherein

when determining that a temporary storage area for storing data is not set in the storage medium controller or determining that the temporary storage area for storing data is set in the storage medium controller but the temporary storage area is not used as a place for storing the storage medium control information, the processing unit makes a setting in the shared memory so as not to determine that the storage medium controller has a failure even when the storage medium controller detects the predetermined error information.

7. A method for controlling a storage apparatus including a storage medium for providing an external apparatus with a data storage area, the storage apparatus further including

a processing unit including a plurality of processors and a shared memory for storing programs executed by the plurality of processors and configured such that the plurality of processors receive data I/O requests and store the data I/O requests in the shared memory as storage medium control information for the storage medium,

a storage medium controller configured to execute data processing that writes or reads target data for a corresponding one of the data I/O processing requests to or from the storage medium on the basis of the storage medium control information stored in the shared memory, and

a data transfer controller configured to execute data transfer processing between the processing unit and the storage medium controller in accordance with a predetermined communication method, the predetermined communication method comprising:

the data transfer controller transferring the data transfer request from the storage medium controller to the processing unit on a condition that the storage medium controller transmits a data transfer request to the data transfer controller,

sending data, including predetermined error information, to the storage medium controller by the data transfer controller, the predetermined error information being stipulated for the predetermined communication method on a condition that the data transfer controller determines that the processing unit does not execute data transfer processing properly, and

determining, by the storage medium controller, on a condition that the storage medium controller receives the predetermined error information, that a failure has occurred in the processor that is a target of a data transfer request that was transmitted to the data transfer controller.

8. The method for controlling a storage apparatus according to claim 7 , wherein

the predetermined communication method is PCI Express, and

the predetermined error information stipulated for the predetermined communication method is Poisoned TLP information.

9. The method for controlling a storage apparatus according to claim 7 , wherein

when determining that a failure has occurred in one of the plurality of processors, the storage medium controller discards a data transfer request held by the storage medium controller and is to be processed by the one of the plurality of processors.

10. The method for controlling a storage apparatus according to claim 9 , wherein

the storage media controller notifies a management apparatus that the failure has occurred in the one of the plurality of processors, the management apparatus being communicatively coupled to the storage medium controller.

11. The method for controlling a storage apparatus according to claim 7 , wherein

when determining that a temporary storage area for storing data is configured in the storage medium controller and the temporary storage area is determined to be used as a place for storing the storage medium control information, the processing unit makes such setting in the shared memory that the storage medium controller has a failure when the storage medium controller detects the predetermined error information.

12. The method for controlling a storage apparatus according to claim 7 , wherein

when determining that a temporary storage area for storing data is not set in the storage medium controller or determining that the temporary storage area for storing data is set in the storage medium controller but the temporary storage area is not used as a place for storing the storage medium control information, the processing unit makes a setting in the shared memory so as not to determine that the storage medium controller has a failure even when the storage medium controller detects the predetermined error information.

13. A storage apparatus including a storage medium for providing an external apparatus with a data storage area, the storage apparatus comprising:

a processing unit including a plurality of processors and a shared memory for storing programs executed by the plurality of processors and is configured such that the plurality of processors receive data I/O requests and store the data I/O requests in the shared memory as storage medium control information for the storage medium;

a storage medium controller configured to execute data processing of writing or reading target data for a corresponding one of the data I/O processing requests to or from the storage medium on the basis of the storage medium control information stored in the shared memory; and

a data transfer controller configured to execute data transfer processing between the processing unit and the storage medium controller in accordance with a predetermined communication method, wherein:

the data transfer controller transfers the data transfer request from the storage medium controller to the processing unit on a condition that the storage medium controller transmits a data transfer request to the data transfer controller,

the data transfer controller sends, to the storage medium controller, data that includes predetermined error information stipulated for the predetermined communication method that writes or reads target data for a corresponding one of the data I/O processing requests to or from the storage medium, and

the storage medium controller determines, on a condition that the storage medium controller receives the predetermined error information, that a failure has occurred in the processor that is a target of a data transfer request that was transmitted to the data transfer controller,

the predetermined communication method is PCI Express,

the predetermined error information stipulated for the predetermined communication method is Poisoned TLP information,

when determining that a failure has occurred in one of the plurality of processors, the storage medium controller discards a data transfer request held by the storage medium controller and to be processed by the one of the plurality of processors,

the storage media controller notifies a management apparatus that the failure has occurred in the one of the plurality of processors, the management apparatus being communicatively coupled to the storage medium controller,

when determining that a temporary storage area for storing data is configured in the storage medium controller and the temporary storage area is determined to be used as a place for storing the storage medium control information, the processing unit makes such setting in the shared memory that the storage medium controller has a failure when the storage medium controller detects the predetermined error information, and

when determining that a temporary storage area for storing data is not set in the storage medium controller or determining that the temporary storage area for storing data is set in the storage medium controller but the temporary storage area is not used as a place for storing the storage medium control information, the processing unit makes a setting in the shared memory so as not to determine that the storage medium controller has a failure even when the storage medium controller detects the predetermined error information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2012
From: IZUTA, HIROSHI
To: HITACHI, LTD.
Reel/Frame 028288/0405 →
Continuity (1)
Related Publication 20150058658A1 · Feb 26, 2015