Building images dataset and storing on disk

I have 500,000 images of size [224,224,3]. How should I proceed to store these images in disk such that it can be later used in vision model ? Will be helpful if someone can bifurcate these findings by IO operations time. (Writing time to disk and reading time using data loader from disk).

I tried to use HDF5, but iterating on data loader takes much time.