Time to wake up from deep sleep and write/read to permanent memory

I’m using an Heltec Wifi Kit 32 V3 board, with Arduino 2.0 programming environment
I would like to read an incremental encoder with A-B signal, whose maximum operating frequency is 500 Hz, to do this I connect the two A-B signals coming encoder to two pin of the Heltec board, the GPIO46 and GPIO45
The first of the two, GPIO46, is configured to generate an interrupt on the rising edge, and within the interrupt routine the reading of the second pin, GPIO45, is managed to know the direction of rotation of the encoder read by the card

If the board is in ‘deep sleep’, how to make the board ‘wake up’ when the next rising edge of GPIO46 arrives?

How long does it take for the CPU to wake up and enter the normal operating state?

Furthermore, how to permanently store values to recover them even after a power cycle of the card?

Use external wake-up ,It can be stored in flash to prevent data from being cleared.