For a sparse parallel solver, it's your own responsibility to provide a matrix vector product and a suitable preconditioner. The data for the vector itself should fit into main memory in any case. If the matrix has at most a fixed small number of non-zero elements (<20) per column or row, then the same is also true for the matrix itself. In this case, an incomplete LU preconditioner would not need out-of-core capabilities either, and otherwise it would be quite slow anyway.
In any case, I don't think that the iterative solver itself needs to take care of out of core capabilities, even for problems that need such capabilities.