A string of nonvolatile memory cells are formed with control gates
extending between floating gates, control gates and floating gates
separated by tunnel dielectric layers. Electron tunneling between control
gates and floating gates is used for programming. A process for forming a
memory array forms odd numbered floating gates from a first layer and
even numbered floating gates from a second layer.