1. A memory module, comprising: one or more memory devices; a memory-module controller in communication with the one or more memory devices; and a plurality of input/output ports; wherein the memory-module controller is configured to configure each of the input/output ports of the memory module as at least one of an input and an output in response to a first command from a particular host controller of a plurality of host controllers coupled in parallel to the memory module; wherein the memory module is configured to partition itself into memory partitions in response to a second command from the particular host controller of the plurality of host controllers so that each memory partition corresponds to a respective one of the host controllers of the plurality of host controllers; and wherein each of a plurality of data input/output ports of the plurality of host controllers is configurable as at least one of an input and an output to correspond to a respective one of the input/output ports of the memory module.