A computer-implemented method of selecting an interleaving ratio and accessing a plurality of flash memories (106a, 106b, 106c, 106d) included in a data storage system, the method comprising: storing, by a processor in a non-volatile memory, a write interleaving policy and a read interleaving policy, wherein each interleaving policy includes an interleaving ratio indicating a number of flash memories (106a, 106b, 106c, 106d) to be accessed simultaneously; receiving, by the processor a request to access the plurality of flash memories (106a, 106b, 106c, 106d) included in the data storage system; determining, by the processor, the interleaving policies need to be updated dependent upon one or more current operating conditions; updating, by the processor, the interleaving policies responsive to the determination that the interleaving policies need to be updated; determining, by the processor, whether the requested memory access is a write operation or a read operation; sending (325, 330) by the processor, the write interleaving policy and the requested write access to the memory controller of the plurality of flash memories (106a-106d) responsive to a determination that the received request is a write request; sending (340, 345), by the processor, the read interleaving policy and the requested read access to the memory controller of the plurality of flash memories (106a-106d) responsive to a determination that the received request is a read request; wherein, updating the interleaving policies includes: determining a current operating temperature; selecting a minimum interleaving ratio for both the read and write interleaving policies responsive to a determination that the current operating temperature is greater than a pre-determined threshold temperature; storing the updated read and write interleaving policies including the minimum interleaving ratio for both the read and write interleaving policies in the non-volatile memory. storing, by a processor in a non-volatile memory, a write interleaving policy and a read interleaving policy, wherein each interleaving policy includes an interleaving ratio indicating a number of flash memories (106a, 106b, 106c, 106d) to be accessed simultaneously; receiving, by the processor a request to access the plurality of flash memories (106a, 106b, 106c, 106d) included in the data storage system; determining, by the processor, the interleaving policies need to be updated dependent upon one or more current operating conditions; updating, by the processor, the interleaving policies responsive to the determination that the interleaving policies need to be updated; determining, by the processor, whether the requested memory access is a write operation or a read operation; sending (325, 330) by the processor, the write interleaving policy and the requested write access to the memory controller of the plurality of flash memories (106a-106d) responsive to a determination that the received request is a write request; sending (340, 345), by the processor, the read interleaving policy and the requested read access to the memory controller of the plurality of flash memories (106a-106d) responsive to a determination that the received request is a read request; wherein, updating the interleaving policies includes: determining a current operating temperature; selecting a minimum interleaving ratio for both the read and write interleaving policies responsive to a determination that the current operating temperature is greater than a pre-determined threshold temperature; storing the updated read and write interleaving policies including the minimum interleaving ratio for both the read and write interleaving policies in the non-volatile memory. determining a current operating temperature; selecting a minimum interleaving ratio for both the read and write interleaving policies responsive to a determination that the current operating temperature is greater than a pre-determined threshold temperature; storing the updated read and write interleaving policies including the minimum interleaving ratio for both the read and write interleaving policies in the non-volatile memory.