A method of managing a storage system having a plurality of storage devices, the method characterized by: at a host system that is distinct from the plurality of storage devices, performing a host-based garbage collection operation, identifying, in accordance with data storage information stored at the host system, one or more logical stripes (402, 404, 406), wherein each logical stripe (402, 404, 406) of the one or more logical stripes (402, 404, 406) corresponding to a contiguous sequence of logical addresses in a logical address space of the host system, wherein the respective contiguous sequence of logical addresses for each logical stripe (402, 404, 406) corresponds to one or more contiguous sequences of physical addresses in a physical address space of the plurality of storage devices; wherein the logical stripe (402, 404, 406) is sized such that it is composed of one or more erase blocks per storage device, wherein an erase block is the minimum size erasable unit in the storage device, and in accordance with the identifying, coalescing valid data in the one or more logical stripes (402, 404, 406), including: for each contiguous sequence of valid logical addresses in the one or more logical stripes (402, 404, 406), sending instructions from the host system to one or more storage devices of the plurality of storage devices to move data corresponding to the respective contiguous sequence of valid logical addresses from a first physical location in the physical address space to a second physical location in the physical address space; and for each respective logical stripe (402, 404, 406) of the one or more logical stripes (402, 404, 406), repacking valid logical addresses in the respective logical stripe (402, 404, 406) to a contiguous portion of a target logical stripe (402, 404, 406), the target logical stripe (402, 404, 406) comprising the respective logical stripe (402, 404, 406) or another logical stripe (402, 404, 406) distinct from the respective logical stripe (402, 404, 406), wherein the instructions to move data comprise copy instructions that copy data corresponding to valid logical addresses in the one or more logical stripes (402, 404, 406) from initial memory portions in the plurality of storage devices to different memory portions in the plurality of storage devices corresponding to new logical addresses in the one or more logical stripes (402, 404, 406). at a host system that is distinct from the plurality of storage devices, performing a host-based garbage collection operation, identifying, in accordance with data storage information stored at the host system, one or more logical stripes (402, 404, 406), wherein each logical stripe (402, 404, 406) of the one or more logical stripes (402, 404, 406) corresponding to a contiguous sequence of logical addresses in a logical address space of the host system, wherein the respective contiguous sequence of logical addresses for each logical stripe (402, 404, 406) corresponds to one or more contiguous sequences of physical addresses in a physical address space of the plurality of storage devices; wherein the logical stripe (402, 404, 406) is sized such that it is composed of one or more erase blocks per storage device, wherein an erase block is the minimum size erasable unit in the storage device, and in accordance with the identifying, coalescing valid data in the one or more logical stripes (402, 404, 406), including: for each contiguous sequence of valid logical addresses in the one or more logical stripes (402, 404, 406), sending instructions from the host system to one or more storage devices of the plurality of storage devices to move data corresponding to the respective contiguous sequence of valid logical addresses from a first physical location in the physical address space to a second physical location in the physical address space; and for each respective logical stripe (402, 404, 406) of the one or more logical stripes (402, 404, 406), repacking valid logical addresses in the respective logical stripe (402, 404, 406) to a contiguous portion of a target logical stripe (402, 404, 406), the target logical stripe (402, 404, 406) comprising the respective logical stripe (402, 404, 406) or another logical stripe (402, 404, 406) distinct from the respective logical stripe (402, 404, 406), for each contiguous sequence of valid logical addresses in the one or more logical stripes (402, 404, 406), sending instructions from the host system to one or more storage devices of the plurality of storage devices to move data corresponding to the respective contiguous sequence of valid logical addresses from a first physical location in the physical address space to a second physical location in the physical address space; and for each respective logical stripe (402, 404, 406) of the one or more logical stripes (402, 404, 406), repacking valid logical addresses in the respective logical stripe (402, 404, 406) to a contiguous portion of a target logical stripe (402, 404, 406), the target logical stripe (402, 404, 406) comprising the respective logical stripe (402, 404, 406) or another logical stripe (402, 404, 406) distinct from the respective logical stripe (402, 404, 406), wherein the instructions to move data comprise copy instructions that copy data corresponding to valid logical addresses in the one or more logical stripes (402, 404, 406) from initial memory portions in the plurality of storage devices to different memory portions in the plurality of storage devices corresponding to new logical addresses in the one or more logical stripes (402, 404, 406).