An image forming apparatus, comprising: an operation unit to perform a printing operation; a main memory to store a program for driving the operation unit; a main controller coupled to the main memory to control the operation unit by executing the program accessed from the main memory; a main power supply unit to supply power to the main controller the main memory; a communication interface to receive data from an external source; and characterised in that: a sub-controller is coupled between the communication interface and the main controller, the sub-controller comprising a memory controller; and in that the image forming apparatus comprises a sub-memory operable to store a program to drive the sub-controller, a wakeup condition for waking up the main controller from a power-off state, and data received from the communication interface during the power-off state of the main controller;wherein, when the operation unit is in an idle state for a predetermined time, the main controller is operable to be transitioned to the power-off state, wherein the main memory is operable to be operated in a self-refresh mode during the power-off state of the main controller, and wherein, during the power-off state of the main controller, the sub-controller is operable to: receive data via the communication interface, determine whether the received data is to be processed by the sub-controller or by the main controller by using the received data and the wakeup condition stored in the sub-memory, and wake up the main controller if it is determined that the received data is to be processed by the main controller, wherein the memory controller, when the image forming apparatus is powered on, is operable to receive the wakeup condition from an external memory and is operable to store the wakeup condition in the sub-memory, wherein the wakeup condition comprises a cover open detection signal related to the image forming apparatus or a tray open detection signal related to a tray of the image forming apparatus. an operation unit to perform a printing operation; a main memory to store a program for driving the operation unit; a main controller coupled to the main memory to control the operation unit by executing the program accessed from the main memory; a main power supply unit to supply power to the main controller the main memory; a communication interface to receive data from an external source; and characterised in that: a sub-controller is coupled between the communication interface and the main controller, the sub-controller comprising a memory controller; and in that the image forming apparatus comprises a sub-memory operable to store a program to drive the sub-controller, a wakeup condition for waking up the main controller from a power-off state, and data received from the communication interface during the power-off state of the main controller;wherein, when the operation unit is in an idle state for a predetermined time, the main controller is operable to be transitioned to the power-off state, wherein the main memory is operable to be operated in a self-refresh mode during the power-off state of the main controller, and wherein, during the power-off state of the main controller, the sub-controller is operable to: a sub-controller is coupled between the communication interface and the main controller, the sub-controller comprising a memory controller; and in that the image forming apparatus comprises a sub-memory operable to store a program to drive the sub-controller, a wakeup condition for waking up the main controller from a power-off state, and data received from the communication interface during the power-off state of the main controller;wherein, when the operation unit is in an idle state for a predetermined time, the main controller is operable to be transitioned to the power-off state, wherein the main memory is operable to be operated in a self-refresh mode during the power-off state of the main controller, and wherein, during the power-off state of the main controller, the sub-controller is operable to: receive data via the communication interface, determine whether the received data is to be processed by the sub-controller or by the main controller by using the received data and the wakeup condition stored in the sub-memory, and wake up the main controller if it is determined that the received data is to be processed by the main controller, wherein the memory controller, when the image forming apparatus is powered on, is operable to receive the wakeup condition from an external memory and is operable to store the wakeup condition in the sub-memory, wherein the wakeup condition comprises a cover open detection signal related to the image forming apparatus or a tray open detection signal related to a tray of the image forming apparatus.