NAND or NOR
Well...; it depends the way you want to use this memories...
in a simple way, NOR is a good choice for program memories
NAND is a good way for data memories...
NOR : random read, page read or burst read, but it is more difficult to write (you have to respect a spécial protocol.... and you also need to erase the entire page before write in it..
good for instructions fetching because of the read access... when jumping to an instruction, just change the adress and it's ok
NAND : page managing mempories with buffer... you work with buffers (like cache memories) and manipulate them... good choice to put and read big chunk of data (images, video, songs and so on...) but because of its pages access, it's difficult to use it as a program memories because of jump.... when jumping to a new instruction, you can point to an another page which involved the complete reloading of the new page, while discarding the old one and that takes a lot of time in terms of instruction processing...
nevertheless, you can use RAM cache memories like RAM, PSRAM or SDRAM to prefetch a chunk of program...
BTW, in terms of cost, NAND is cheaper than NOR... but NOR is more reliable than NOR in terms data reliablity retention... it is why NAND users often use algorythm for error detection..
bye