A storage controller which uses the same buffer to store data elements
retrieved from different secondary storage units. In an embodiment, the
controller retrieves location descriptors ahead of when data is available
for storing in a target memory. Each location descriptor indicates the
memory locations at which data received from a secondary storage is to be
stored. Only a subset of the location descriptors may be retrieved and
stored ahead when processing each request. Due to such retrieval and
storing of limited number of location descriptors, the size of a buffer
used by the storage controller may be reduced. Due to retrieval of the
location descriptors ahead, unneeded buffering of the data elements
within the storage controller is avoided, reducing the latency in writing
the data into the main memory, thus improving performance.