Registered memory has a specific slot designed to fit it. The alternative which is what is in most desktop computers is Unbuffered. Registered/Buffered memory means that there is a buffer between the memory module and the MCH. (Memory Controller Hub) The buffer allows for a delay between the memory modules and the MCH as to not overload the controller. Servers us this because they normally have more DIMMs or RIMMs occupied. The buffer allows for a decreased chance of addressing conflicts.
CAS is a latency timing setting. It stands for Column Access Strobe. It is calculated as such.
CL >= tCAC / tCLK
CL is the CAS Latency.
tCAC is Column Access Time.
tCLK is Length of Clock Cycle.
So say for CL2, it means that the strobe value is set a ratio of 2:1. In example say the memory is PC133. PC133 runs at 133MHz, which equates to approximately 7.5188ns. (ns = nanoseconds) For a setting of CL=2 means that the Column Access Time is twice as long as the clock length of time.
CL >= tCAC / tCLK
2 >= tCAC / 7.5188
So the tCAC value, or Column Access Time length, equals 15.038ns.
ECC means Error Correction Code or Error Correcting Code. ECC verifies the correctness of each word, "packet of data." ECC uses 7 bits to verify a packet of 32 bits and 8 bits for 64 bit packets. (Hence there is better accuracy.) It can find a single mistake and correct it based on the idea of looking for a change in the stream the data. But it also cannot fix more than a single error in a word. If there are 2 or more errors it can only report an error. Multiple errors in a word/packet are rare but they do happen whereas single bit errors are more common.
<b>"The events of my life are quite inconsequential.." - Dr. Evil</b>