A method comprising: periodically acquiring access information of a plurality of data blocks stored in a plurality ofstorage devices, the plurality of storage devices comprising one or more hard disk drive (HDD)-type storage devices (202 , 202(M)) and one or more solid state drive (SSD)-type storage devices (204 , 204(N)), a respective HDD-type storage device of the one or more HDD-type storage devices comprising a first control unit , and a respective SSD-type storage device of the one or more SSD-type storage devices comprising a second control unit ; and adjusting one or more storage locations of one or more data blocks of the plurality of data blocks according to the acquired access information of the plurality of data blocks, wherein adjusting the one or more storage locations of the one or more data blocks comprises: migrating, by the first control unit, a first data block, whose number of accesses exceeds a first predetermined number of times, stored in the respective HDD-type storage device to a randomly selected SSD-type storage device; and/or migrating, by the second control unit, a second data block, whose number of accesses is less than a second predetermined number of times, stored in the respective SSD-type storage device to a randomly selected HDD-type storage device; wherein the first and second control units are different. periodically acquiring access information of a plurality of data blocks stored in a plurality ofstorage devices, the plurality of storage devices comprising one or more hard disk drive (HDD)-type storage devices (202 , 202(M)) and one or more solid state drive (SSD)-type storage devices (204 , 204(N)), a respective HDD-type storage device of the one or more HDD-type storage devices comprising a first control unit , and a respective SSD-type storage device of the one or more SSD-type storage devices comprising a second control unit ; and adjusting one or more storage locations of one or more data blocks of the plurality of data blocks according to the acquired access information of the plurality of data blocks, wherein adjusting the one or more storage locations of the one or more data blocks comprises: migrating, by the first control unit, a first data block, whose number of accesses exceeds a first predetermined number of times, stored in the respective HDD-type storage device to a randomly selected SSD-type storage device; and/or migrating, by the second control unit, a second data block, whose number of accesses is less than a second predetermined number of times, stored in the respective SSD-type storage device to a randomly selected HDD-type storage device; wherein the first and second control units are different. migrating, by the first control unit, a first data block, whose number of accesses exceeds a first predetermined number of times, stored in the respective HDD-type storage device to a randomly selected SSD-type storage device; and/or migrating, by the second control unit, a second data block, whose number of accesses is less than a second predetermined number of times, stored in the respective SSD-type storage device to a randomly selected HDD-type storage device; wherein the first and second control units are different. <EOS>