Hash tables
Analysis engines or Kibitzers use “hash tables” to store positions that have already been examined, in case they turn up again in the search tree. This speed things up tremendously, especially in the endgame.
You can set the size of the hash tables in the Add Kibitzer dialog. ChessBase will give you a plausible value for the hash tables. You should try to use the maximum, since that speeds up the engine tremendously. But if you go too high then Windows will start "swapping" on your hard drive, which will slow down the program to a snail's pace. So if your hard disk is being accessed constantly during analysis it means that the hash table size is too large. Reduce it until there is no hard disk activity during analysis.
The programs Deep Fritz and many others "learn" with their hash tables. If you are analyzing a very complex position and go down certain lines these programs remember them, especially winning and losing variations. When you return to the position they suddenly understand it much better. It is then that they come up with new and interesting ideas.