A method of programming a plurality of flash memory devices, each of said plurality of said flash memory devices having a plurality of memory word locations capable of storing data in response to a plurality of programming steps applied to each of said plurality of said flash memory devices, said programming steps including write command and write word, each of said flash memory devices having an internal state machine requiring a minimum predetermined time period to process said programming steps, said method comprising the steps of:
- dividing each of said plurality of said flash memory devices into one word column and a plurality of word rows;
- assigning each word row of each of said plurality of said flash memory devices a row address with corresponding word rows of said plurality of said flash memory devices having a same row address;
- providing said write command step to a first of said plurality of said flash memory devices;
- providing said write command step to a second of said plurality of said flash memory devices while said write command step provided to said first of said plurality of said flash memory devices is being processed;
- addressing a first of said word rows of said first of said plurality of said flash memory devices and providing a first data word for recording in said first word row of said first of said plurality of said flash memory devices while said write command step provided to said second of said plurality of said flash memory devices is being processed;
- and
- addressing a first of said word rows of said second of said plurality of said flash memory devices and providing a second data word for recording in said first word row of said second of said plurality of said flash memory devices while said first data word is being processed by said first of said plurality of said flash memory devices.