A storage controller for a host device comprises a control module that
receives data storing and data retrieving requests from the host device.
A disk drive that is controlled by the control module and that
selectively stores user data received from the control module and
selectively retrieves the user data for the control module. Non-volatile
semiconductor memory is controlled by the control module and selectively
stores user data received from the control module and selectively
retrieves the user data for the control module. The control module
selects at least one of the disk drive and the non-volatile semiconductor
memory for storage and retrieval of the user data.