Serial interface flash memory device designed for use in a wide variety of high-volume, consumer-based applications in which program code is shadowed from flash into embedded or external RAM for execution. Flexible erase architecture makes this memory ideal for data storage, with erase block sizes optimized to meet the needs of today's code and data storage applications. Increased memory space efficiency allows adding additional code routines and data storage segments while maintaining overall device density. The device incorporates global protect and unprotect features which allow the entire memory array to be either protected or unprotected at once.