You cannot erase/program on sector and read from another sector at the same time using the device S29GL256M. If you start an erase or program operation in the flash device, it will be giving polling data to check completion of the embedded operation (erase/program) when you perform a read operation right after erase or program. Please refer the polling information given in the datasheet for more information.
So, you have to finish erase/program operation before performing a read operation.
Thanks and Regards,
You have to run some special flash access functions from ram for example: polling function. If you don't want to wait the whole erase time then you may make use of the erase suspend/resume feature. You can monitor your interrupt events to decide whether to suspend the erase. So after the erase is suspended, you can read from other sectors. Please refer to AN99127 for Simultaneous Read/Write versus Erase Suspend/Resume. http://www.cypress.com/file/206221/download