Memory logic array blocks VS M20K
Basically, the M20K blocks are dedicated 20Kb RAMs that you can use for making memories on the scale of KB.  The memory logic array blocks are logic resources which can be used either for logic or for small (less than 1 KB) memories.  Basically, the memory logic array blocks are how you use LUTs as RAM.