1. A data processing module comprising: a first interface configured to connect to (i) a host via a second interface and (ii) a plurality of storage arrays, wherein the second interface is separate from the data processing module, and wherein the first interface is configured to receive, from the host via the second interface, a plurality of blocks of data for storage in one or more of the plurality of storage arrays; a memory configured to store the plurality of blocks of data received by the first interface; and a processor configured to (i) determine error checking and correcting processing to be applied to each block of data of the plurality of blocks of data, and (ii) for each block of data, (a) transfer the block of data from the memory to a selected storage array of the plurality of storage arrays, and (b) assign, to the selected storage array, the error checking and correcting processing to be applied to the block of data, wherein the memory is further configured to store a map, wherein the map indicates storage of the plurality of blocks of data among the plurality of storage arrays.