A dual-mode network storage controller integrated on a chip is connected
to a first set of hosts over a block-level storage area network (SAN),
and to a second set of hosts over a metadata Ethernet/IP network. The
dual-mode storage controller is also connected to one or more storage
devices, such as a Redundant Array of Independent Disks (RAID). The
storage controller comprises dedicated-hardware metadata translation
logic for translating metadata (e.g. file-level) storage commands into
block-level storage commands. The storage controller can also include
block translation logic for translating logical block-level storage
commands into physical block-level storage commands. The storage
controller further comprises multiplexing logic for sequentially
transmitting to the storage device(s) block level storage commands
derived from the commands received from the first set of hosts and the
second set of hosts. The storage controller allows the first set of hosts
and the second set of hosts to share a single storage device.