The total almanac data is transmitted in 25 navigation messages. Each navigation message takes at least 30 seconds to transmit. So, receiving the almanac data from the satellites takes at least 12.5 minutes, not taking Assisted GPS into account for the moment. If the signal was lost while receiving the message, the entire message has to be received again. This could double the time it takes to download the almanac data, depending on which navigation message is missing.
However, all the almanac data really does is give you a clue which satellites to look for. This information is not really worth the time and energy it needs when designing a low-power system. It requires you to keep track of the time, rough/last known location and almanac data.
Most GPS receivers nowadays include a lot of
channels correlators, up to 256 from what I've seen. A satellite signal is repeated every millisecond and could be shifted by 1023 bits. Using a single channel per satellite, determining whether the satellite is in view or not could take one second, before it moves on to the next satellite. With 256 channels, determining whether the satellite is in view or not could only take 4 milliseconds.
Performing a sky search means that the receiver will process all the satellites and check if they are in view. This sounds more logical to me than downloading the almanac data to determine which satellite to look for.
With as many as 256 channels, it would theoretically only take 100 milliseconds to know which satellites are in view and needs their ephemeris data downloaded from.
So the question here is: is downloading the almanac really necessary? Would it be better to skip downloading the almanac data when the amount of available energy is low? Especially when you want to avoid the need of having a RTC etc.
I made a wrong assumption about the satellite signal decoding attempts, as pointed out by Dmitry.
However, the question remains if it would be feasible to ignore the almanac data. For instance, the datasheet of the Maestro A2035-H GPS module states that it has over 400,000 correlators. It consumes 40 mA while searching for visible satellites and 29 mA while tracking (getting the ephemeris data and calculating the position). It only takes 35 seconds to acquire a fix with a cold start, without a recent almanac or time and position estimate.
To me, it seems like it ignores the almanac like I suggested. Has the almanac still any use?