A method for replacing finite state machine hardware implementations of controllers
and controller subcomponents with implementations based on manipulating contexts
stored within common data structures, such as linked lists, and an outbound sequence
manager subcomponent of a fibre channel interface controller implemented by this
method. A state transition diagram is analyzed to define managers within the controller,
along with commands received by, and generated by, each manager. Data structures
are chosen for each manager to store contexts representing tasks currently operated
on by the manager. An additional manger and interface are designed for a data-structure-manipulation
manager. Finally, the operations performed by the managers are defined and implemented,
with sequencing of operations controlled by transfer of contexts between data structures
by the data-structure-manipulation manager.