There's an old joke: What do you get someone who has everything? Somewhere to put it. For some reason, it seems like more often than not any embedded system I develop turns into a data logger even when I think it won't. But that means I need somewhere to store data.
In the "old days" this was easy. Most of my devices were "full blown" CPUs with address and data busses and they weren't connected to any external computers. So you'd wire some battery backed up RAM to the board and you were good to go.
These days, I mostly use single chip CPUs that don't have external busses per se. You can chew up I/O pins and interface anything, of course, but on a 28 pin CPU, you hate to build your own multiplexed memory bus. I've used serial EEPROMs, of course, but they have their own problems (mainly speed and write wear).
However, I noticed the other day that Microchip now has 64 and 256 KBit serial RAM chips. RAM isn't always the best choice for a standalone data logger (depends on the situation) but if your logger is connected then you really just need a fast place to store data until you pass it along and this looks like it fits the bill.
If you really want non volatile storage, I've used SD cards (which have the same problems as EEPROMs) or check out Ramtron's F-RAM devices. F-RAM offer fast writes, low power, and no write wearing by using a novel technology.