The end entities (phones, PCs, etc.) doesn't store the CRL files. I mean doesn't store permanently. :)
In the Certificate there's a field called CRL Distribution Points where the CRL file could be downloaded. These files are issued by the CA and contains the list of revoked certificates. While the validation process this file is downloaded and checked against the certificate Serial#.
If the list doesn't contain the Serial# that means it isn't revoked. That doesn't mean it is valid, but not revoked.
Since these files could grow extremely large, downloading every certificate validation is not the best practice because it causes huge network load. That's why CRL cache is used where the validator can cache the downloaded CRL file and checked there periodically. BUT it could give false-negative result if the certificate was revoked and new CRL file is issued in the cached timeframe.