More specifically, as described above, a memory cell array of M words???N bits can be formed of M/n rows and n???N columns, and the number of write ports, the number of read ports and the number of write read ports can be a, b and c, respectively, where n???2, M/n is an integer, and c may be c=0.