A method of selecting an interleaving policy and accessing a plurality of flash memories (106a to 106d) by a processor, whereby the plurality of flash memories are configured to store interleaved data, the method comprising: receiving a request to write to the plurality of flash memories (106a to 106d), characterised in that the method further comprises: identifying a current set of operating conditions relating to the plurality of flash memories, wherein the current set of operating conditions includes temperature; identifying a write interleaving ratio for writing to the plurality of flash memories (106a to 106d) based on a first set of criteria for the current set of operating conditions; writing to the plurality of flash memories using the identified write interleaving ratio; receiving a request to read from the plurality of flash memories (106a to 106d); and identifying a read interleaving ratio for reading from the plurality of flash memories (106a to 106d) based on a second set of criteria for the current set of operating conditions, wherein the identified read and write interleaving ratios determine a number of simultaneous accesses to the plurality of flash memories (106a to 106d), reading from the plurality of flash memories using the identified read interleaving ratio, wherein the write interleaving ratio and the read interleaving ratio are identified independently of each other, wherein the read and write interleaving ratios are identified at least according to the temperature included in the current set of operating conditions. receiving a request to write to the plurality of flash memories (106a to 106d), characterised in that the method further comprises: identifying a current set of operating conditions relating to the plurality of flash memories, wherein the current set of operating conditions includes temperature; identifying a write interleaving ratio for writing to the plurality of flash memories (106a to 106d) based on a first set of criteria for the current set of operating conditions; writing to the plurality of flash memories using the identified write interleaving ratio; receiving a request to read from the plurality of flash memories (106a to 106d); and identifying a read interleaving ratio for reading from the plurality of flash memories (106a to 106d) based on a second set of criteria for the current set of operating conditions, wherein the identified read and write interleaving ratios determine a number of simultaneous accesses to the plurality of flash memories (106a to 106d), reading from the plurality of flash memories using the identified read interleaving ratio, wherein the write interleaving ratio and the read interleaving ratio are identified independently of each other, wherein the read and write interleaving ratios are identified at least according to the temperature included in the current set of operating conditions. identifying a current set of operating conditions relating to the plurality of flash memories, wherein the current set of operating conditions includes temperature; identifying a write interleaving ratio for writing to the plurality of flash memories (106a to 106d) based on a first set of criteria for the current set of operating conditions; writing to the plurality of flash memories using the identified write interleaving ratio; receiving a request to read from the plurality of flash memories (106a to 106d); and identifying a read interleaving ratio for reading from the plurality of flash memories (106a to 106d) based on a second set of criteria for the current set of operating conditions, wherein the identified read and write interleaving ratios determine a number of simultaneous accesses to the plurality of flash memories (106a to 106d), reading from the plurality of flash memories using the identified read interleaving ratio, wherein the write interleaving ratio and the read interleaving ratio are identified independently of each other,