Just like in the 300's, M memory can be made retentive in a configurable range, MB0 to whatever you configure. By default, no tags are retentive. To make some memory retentive, use the Retain icon on the tag table toolbar. It's the one with a wrench on the right side.
That said, I agree with LD. DBs are simpler and more flexible. The best practice I generally hear is to use M memory as little as possible, besides things like the clock bits. I find that M memory is great for tags created for testing. It's easy to then go back and look, if there are any PLC tags, you still have some testing code left.