What I believe can cause CRC errors in smart.
Bad drive.
Bad cable
Bad ports/motherboard.
I would not expect a ram or cpu issue to cause this but it does depend on how the drive is connected.
So e.g. if the controller is onboard, and the sata port directly connects to the controller, then the data signal doesnt go via the cpu or system ram so defective ram wouldnt be the cause of the problem. Of course bad ram can corrupt data, but it would be past the point of the SMART check and not accumulate that counter.
I recently had to diagnose an issue with my SSD, initially it had different symptoms but after samsung returned the drive I discovered spiralling CRC errors, and in my case I found out I was using a bad cable "and" have a faulty port on my motherboard.
My newer generation SSD however on both the bad cable and port wasnt generating CRC errors but both my older gen SSD's were, the reason is because the newer SSD has a better ECC controller. So modern SSDs with enhanced ECC can provide mitigation to faulty cables and ports.
However a word of warning.
When a SSD reports a CRC error what it means is that the controller has failed to correctly read the data from the drive, and has to retry or fail completely. This typically is associated with a read error. It can occur either with bad nand flash or with bad sata signal integrity across a cable, or a board trace.
The danger from all this is that it can also cause silent data corruption on the drive, so e.g. if you use a drive with strong ECC to correct read errors on the fly over a bad cable, it wont correct flipped bits from write requests and just report success. Typically the protection from this is to verify your written data, some filesystems such as ZFS do this automatically. As well as tools like teracopy which offer to do this automatically as well.
Also I have observed differences between different drivers.
So e.g. the msahci driver will just carry on when CRC errors occur at attempted full speed and often more errors occur as its a hardware problem.
However the intel rapid storage driver, will auto fallback to a slower SATA speed and when it does this it tends to prevent further errors as damaged signal integrity often only causes problems at the highest speeds, so in other words slowing down the speed will often nullify the errors. This will be preferable to having to retry failed reads and silent data corruption on writes. The slowdown is temporary until a reboot, and also on a per port basis so if e.g. ssd on port 0 falls back to sata 300 from sata 600 due to SMART crc errors, the ssd on port 1 if no crc errors will stay at sata 600 speeds.
Issues on cables dont seem that uncommon, I tested all 8 of my cables, after diagnosing this recent problem and 3 out of 8 were not error free on the SSD. They cannot tolerate sharp twists and bends very well, also had to swap a cable in another machine about a month ago as well. In terms of damaged ports and motherboards causing sata errors on ssd's this seems much less common but does happen from time to time.