Generalized Data Placement Strategies for Racetrack Memories