Deterministic error notification and event reordering mechanism provide a host processor to access complete state information of an interface controller for efficient error recovery
First Claim
1. A method for halting operation of an interface controller within a network communications port in response to a signal from a host processor, a host processor together with the network communications port composing a network communications node in which the host processor communicates with the interface controller via shared data structures and control registers, the method comprising:
- receiving the signal by the host processor;
suspending processing of data being transferred to the interface controller from the communications network;
suspending processing of data being transferred from the host processor to the communications network;
flushing cached information from the shared data structures from the interface controller back to the shared data structures;
processing outgoing data transfer operations pipelined within the interface controller; and
sending an indication to the host processor that the operation of the interface controller has halted, that the shared data structures contain the complete state information of the interface controller and information about current data transfer operations, and that the host processor will now have access to the shared data structures without additional interrupts or messages from the interface controller.
6 Assignments
0 Petitions
Accused Products
Abstract
An interface controller used within communications network ports that can be deterministically shut down by a host processor within a communication node that includes the communications network port and that can shut itself down in an ordered and deterministic manner in response to detection of certain error conditions. The interface controller purges any commands and information stored within internal caches, carries forward any currently executed operations to reasonable halting points, and finally provides complete control of data structures shared by the interface controller and the host processor to the host processor.
-
Citations
11 Claims
-
1. A method for halting operation of an interface controller within a network communications port in response to a signal from a host processor, a host processor together with the network communications port composing a network communications node in which the host processor communicates with the interface controller via shared data structures and control registers, the method comprising:
-
receiving the signal by the host processor;
suspending processing of data being transferred to the interface controller from the communications network;
suspending processing of data being transferred from the host processor to the communications network;
flushing cached information from the shared data structures from the interface controller back to the shared data structures;
processing outgoing data transfer operations pipelined within the interface controller; and
sending an indication to the host processor that the operation of the interface controller has halted, that the shared data structures contain the complete state information of the interface controller and information about current data transfer operations, and that the host processor will now have access to the shared data structures without additional interrupts or messages from the interface controller. - View Dependent Claims (2, 3, 4)
-
-
5. A method for halting operation of an interface controller within a network communications port in response to detection of an error by the interface controller, a host processor together with the network communications port composing a network communications node in which the host processor communicates with the interface controller via shared data structures and control registers, the method comprising:
-
suspending processing of data being transferred to the interface controller from the communications network;
suspending processing of data being transferred from the host processor to the communications network;
flushing cached information from the shared data structures from the interface controller back to the shared data structures;
processing outgoing data transfer operations pipelined within the interface controller; and
sending an indication to the host processor that the operation of the interface controller has halted, that the shared data structures contain the complete state information of the interface controller and information about current data transfer operations, and that the host processor will now have access to the shared data structures without additional interrupts or messages from the interface controller. - View Dependent Claims (6, 7, 8, 9)
when the detected error condition is not a link-down error, completing transfer of any data associated with an incoming data operation to a particular host memory buffer and suspending processing of any additional data, and when the detected error condition is a link-down error, flushing all data from an incoming data queue.
-
-
7. The method of claim 5 wherein processing outgoing data transfer operations pipelined within the interface controller further includes:
-
when the detected error condition is not a link-down error, completing the transfer of data specified by the pipelined outgoing data transfer operations, and when the detected error condition is a link-down error, sending a message to the host processor for each pipelined outgoing data transfer operation indicating that the pipelined outgoing data transfer operations were not completed and not interrupted during transfer by error processing.
-
-
8. The method of claim 5 wherein processing outgoing data transfer operations pipelined within the interface controller further includes:
-
when the detected error condition is a link-down error and an outgoing data transfer operation is currently being transferred and when the detected error condition is not a link-down error but transfer of an outgoing data transfer operation currently being transferred cannot be completed, sending a message to the host processor indicating that the data transfer operation was interrupted during transfer.
-
-
9. The method of claim 5 wherein sending an indication to the host processor that the operation of the interface controller has halted further includes placing the message into the shared data structures and interrupting the host processor to indicate that the message has been placed into the shared data structures.
-
10. An interface controller within a network communications port, a host processor together with the network communications port composing a network communications node in which the host processor communicates with the interface controller via shared data structures and control registers, the interface controller comprising:
-
an error-detecting component that detects errors that occur during operation of the interface controller;
a shut-down detecting component that detects a signal from the host processor indicating that the interface controller needs to halt operation;
a shut-down component that halts operation of the interface controller, that ensures that the shared data structures contain the complete state information of the interface controller and information about current data transfer operations, and ensures that the host processor will have access to the shared data structures without additional interrupts or messages from the interface controller following shut-down; and
a shut-down reporting component that sends an indication to the host processor that the operation of the interface controller has halted. - View Dependent Claims (11)
suspends processing of data being transferred to the interface controller from the communications network;
suspending processing of data being transferred from the host processor to the communications network;
flushes cached information from the shared data structures from the interface controller back to the shared data structures; and
processes outgoing data transfer operations pipelined within the interface controller.
-
Specification