Memory (at least in the context of having bad memory) has little to do with learning algs. There's really no rote memorization involved, and any instance of using your brain for it is only in the early stages of learning the alg. Here is what I do to memorize algs:
1. Look at the alg, and if it isn't broken up with brackets or parentheses, do that. Write the alg down in terms of common moves, so if R U R' U' is within the alg, put that in parentheses. An example for the Sune algorithm: (R U R') U (R U2 R').
2. Start executing the alg over and over, and notice patterns in the alg. Noticing visual, auditory, and tactile (mainly muscle memory) patterns in the alg can really speed up memorization. For example, for R U R' U R U2 R', notice that R U R' takes out a pair of a corner and edge from the front right position, U moves that pair to a different spot in the top layer, and R U2 R' puts the pair back in a different way. Doing this along with executing the alg a ton of times really helps.
3. Once you feel like you have utilized the techniques above and have sort of gotten the alg into your muscle memory, stop looking at the notation and look at the cube. Try to turn faster while doing the alg, and allow yourself to notice more patterns in how the pieces move. Once you do this, just keep on practicing and practicing the alg. It will take a while at first, but once you get more practiced at it, it gets much easier. Using this system has allowed me to learn algs in a very short amount of time.