We should try to use the nodata mask from raster.io.DatarsetReader
By using the mask, we would only update the mask for each band, and the band would be read only at the time of being written down to disk.
By using the mask, we would only update the mask for each band, and the band would be read only at the time of being written down to disk.