A storage array packs multiple non-full-size front-end tracks into slices that contain multiple back-end tracks. A greedy first fit packing algorithm is used to find packing solutions that are cached and ranked. The cached, ranked packing solutions are used by attempting to find matches with bucketed front-end tracks to be relocated. New packing solutions are generated and cached when matches cannot be found. Packing solutions may be shared outside the domain in which they are discovered.