Hello,
in a semi-direct run, dscf saves the 'two electron four-centre' integral files to disk which are needed for the Coulomb and the exchange part of the Fock matrix. ridft uses RI-J for the Coulomb part and does not need those types of integrals. It computes 'two electron three-centre' integrals instead and stores as many of them as possible in the RAM (the amount of memory used for storage is controlled by the $ricore keyword). Writing them to disk would not speed up the calculation, because the I/O for reading and/or writing would be slower than the calculation itself.
Hence, ridft does semi-direct calculations, but it uses RAM rather than disk space.
By the way, it is always a good idea to switch on $marij by default (just add the keyword to the control file or use the last menu in define). The multipole expansion of the RI integrals is very efficient, saves a lot of time for large systems, and, if you are using the default settings, has an error that is much smaller than the RI error itself.
For the HF-exchange part things are more complicated, but for non-hybrid functionals, the HF-exchange is not needed at all.
Currently the exact HF-exchange in ridft as well as the RI-JK approximation are not parallelized at all, so you will not be able to use a hybrid functional (BH-LPY, B3-LYP, TPSSh, PBE0) for parallel ridft calculations - there you will have to use dscf.
Regards,
Uwe