|ECC is Error Correcting Code. There's some info here:|
but it basically works the same as parity memory in the old SIMM sticks. The byte has an extra bit that tells the detection circuitry if it's correct or has an error in it. Most systems use non-ECC.
For 256 SDRAM sticks ECC memory will be labeled 32 x 72. The way to read that is to take the second number and divide it by the byte length. Then take the result and multiply it by the first number. That gives you the capacity. The byte length of ECC memory is 9 bits. 72 divided by 9 is 8. 8 times 32 is 256.
Non ECC will be labeled 32 x 64. The byte length for those is 8 bits. 64 divided by 8 is 8. And again, 8 times 32 is 256.
Sometimes people selling memory will give a confusing description. For example. If they have 4 sticks of 64 meg they may call it 4 x 64. That of course isn't the same as the above description and if you have any questions it's best to check with them before buying.
SIMM parity memory could be used in place of non-parity memory as the extra bit would just be ignored. I'm not positive but I think it works the same way with ECC and non-ECC SDRAM memory.
Low/high density is just a way to describe the capacity of the chips on the memory stick. Some older systems can't properly read higher capacity chips. In those a 256 meg stick may only be read as 128 or not at all. The fewer chips a memory stick has, the higher the capacity those chips are. A low density non ECC stick will have 8 chips on each side. A high capacity stick may have as few as 4 chips on one side and none on the other.
You can go to sites such as crucial.com and get an idea of what your system can use but you should be safe with low density non-ECC memory.