Distance .lamda.m between a floating gate and a drain contact of a
floating gate transistor forming a memory cell is set to be greater than
a distance .lamda. determined based on a minimum design dimension between
a control gate and a contact of a peripheral transistor. Data retention
characteristics of a programmable memory which stores data in accordance
with the amount of accumulated charges in the floating gate can be
ensured without being affecting by mask misalignment or the like.