1. A machine implemented method, comprising: designating a hardware engine from among a plurality of hardware engines of an adapter coupled to a computing device as a master engine; wherein the plurality of hardware engines are adapted to process control blocks that are received from the computing device to read data from a storage device, write data to the storage device, obtain status for an input/output request and perform a management task associated with the adapter including obtaining a status of executing a command by the adapter, and aborting the command by the adapter; and wherein the management task is processed by the master engine; receiving a plurality of control blocks from the computing device at the adapter; evaluating a field of each control block by the adapter to determine a control block type from among a continuation control block for data transfer using more than one control block; a direct route control block for a specific hardware engine; a neutral control block routable to any available hardware engine; and a management task control block for the management task; selecting a routing type for each control block based on the evaluation and by using a first data structure, wherein the first data structure stores an identifier for each of the plurality of hardware engines and an indicator for a command routing type for the continuation control block, an indicator for a direct routing type for the direct route control block, an indicator for a management routing type for the management task control block and an indicator for a neutral routing type for the neutral control block; routing the continuation control block to a same hardware engine that processed a previous control block; routing the neutral control block to any available hardware engine from among the plurality of hardware engines; routing the direct route control block to the specific hardware engine; routing the management task control block to the master hardware engine from among the plurality of hardware engines; and tracking a routing status of the plurality of control blocks by a second data structure, where the second data structure stores an indicator indicating a status for each routing type, hardware engine identifiers identifying hardware engines processing the control blocks and a count value for the continuation type control block.