A storage system, comprising a first controller, a second controller, and a solid state disk, wherein the solid state disk is connected to the first controller, the solid state disk is connected to the second controller, and the first controller or the second controller manages storage space of the solid state disk in a unit of a segment, wherein the first controller is external to the solid state disk, wherein the second controller is external to the solid state disk, wherein the solid state disk includes a solid state disk controller and a storage medium, wherein: the first controller is configured to allocate multiple segments within a time period, each of the multiple segments is a set of multiple logical addresses, and the multiple logical addresses of each segment are contiguous; the second controller is configured to allocate other multiple segments within the time period; the first controller is further configured to perform system garbage collection on the multiple segments allocated by the first controller; and the second controller is further configured to: when the first controller performs system garbage collection, perform system garbage collection on the multiple segments allocated by the second controller; wherein the multiple segments allocated by the first controller and the multiple segments allocated by the second controller belong to a same segment group, and a size of invalid data comprised in the segment group is larger than a size of invalid data comprised in any other segment group; wherein the first controller is further configured to send a group identifier of the segment group to the second controller; and the second controller is further configured to determine the multiple segments allocated by the second controller, according to a pre-stored correspondence between the group identifier and an identifier of each of the multiple segments allocated by the second controller; wherein the first controller is configured to: send, to the solid state disk, a source logical address of valid data comprised in each of the multiple segments of the segments managed by the first controller; allocate a destination logical address to the valid data; send the destination logical address to the solid state disk to instruct the solid state disk to copy the valid data from the source logical address into the destination logical address; and send an unmap command to the solid state disk to instruct the solid state disk to delete a correspondence between a logical address and an actual address of each segment, wherein the correspondence is stored by the solid state disk, and wherein the unmap command comprises a logical address range of each of the multiple segments of the segments managed by the first controller. the first controller is configured to allocate multiple segments within a time period, each of the multiple segments is a set of multiple logical addresses, and the multiple logical addresses of each segment are contiguous; the second controller is configured to allocate other multiple segments within the time period; the first controller is further configured to perform system garbage collection on the multiple segments allocated by the first controller; and the second controller is further configured to: when the first controller performs system garbage collection, perform system garbage collection on the multiple segments allocated by the second controller; wherein the multiple segments allocated by the first controller and the multiple segments allocated by the second controller belong to a same segment group, and a size of invalid data comprised in the segment group is larger than a size of invalid data comprised in any other segment group; wherein the first controller is further configured to send a group identifier of the segment group to the second controller; and the second controller is further configured to determine the multiple segments allocated by the second controller, according to a pre-stored correspondence between the group identifier and an identifier of each of the multiple segments allocated by the second controller; wherein the first controller is configured to: send, to the solid state disk, a source logical address of valid data comprised in each of the multiple segments of the segments managed by the first controller; allocate a destination logical address to the valid data; send the destination logical address to the solid state disk to instruct the solid state disk to copy the valid data from the source logical address into the destination logical address; and send an unmap command to the solid state disk to instruct the solid state disk to delete a correspondence between a logical address and an actual address of each segment, wherein the correspondence is stored by the solid state disk, and wherein the unmap command comprises a logical address range of each of the multiple segments of the segments managed by the first controller.