1. A method for error correction coding of data arranged in a matrix form, comprising: encoding first dimension vectors of the data into encoded first dimension vectors, further including: assigning, by a controller, at least two first dimension vectors to corresponding SNR domains based on a first dimension signal-to-noise ratio (SNR) profile; and assigning, by the controller, corresponding levels of error correction for the assigned first dimension vectors based on SNR magnitudes of the corresponding SNR domains; and encoding second dimension vectors of the data into encoded second dimension vectors.