A method comprising: receiving a set of write commands for a solid-state storage medium having storage regions; filtering out a subset of the set of write commands according to criteria that identifies those particular write commands that are good candidates for being aggregated; caching the subset of write commands in caches, wherein write commands that are not cached are executed as individual writes to the solid-state storage medium; and aggregating writing pursuant to the subset of filtered and cached write commands to a single write cycle, wherein the aggregating writing occurs within boundaries of one of the storage regions of the solid-state storage medium, wherein the caching of the subset of write commands includes, for each write command, determining a cache to which the write command should be assigned comprising: (i) determining a size of the data associated with the write command, (ii) tracking a total current size of data in each of the caches, and determining, for each cache, the hypothetical total data size if the write command were added to the cache, (iii) ordering the caches, from largest to smallest, based on the hypothetical new total data sizes, and (iv) beginning with the cache having the largest hypothetical new total data size, caching the write command to the cache if the hypothetical new total data size of the cache is greater than the first threshold and less than the second threshold, and otherwise determining (414, 420) in a loop whether the cache having the next largest hypothetical new total data size is greater than the first threshold and less than the second threshold, wherein the first threshold is a predetermined percentage of a total size of the storage region for which the aggregating writing would occur, and the second threshold is the total size of the storage region for which the aggregating writing would occur, and wherein the method further comprises transmitting the cached subset write commands to the solid-state storage medium for the aggregating writing. receiving a set of write commands for a solid-state storage medium having storage regions; filtering out a subset of the set of write commands according to criteria that identifies those particular write commands that are good candidates for being aggregated; caching the subset of write commands in caches, wherein write commands that are not cached are executed as individual writes to the solid-state storage medium; and aggregating writing pursuant to the subset of filtered and cached write commands to a single write cycle, wherein the aggregating writing occurs within boundaries of one of the storage regions of the solid-state storage medium, wherein the caching of the subset of write commands includes, for each write command, determining a cache to which the write command should be assigned comprising: (i) determining a size of the data associated with the write command, (ii) tracking a total current size of data in each of the caches, and determining, for each cache, the hypothetical total data size if the write command were added to the cache, (iii) ordering the caches, from largest to smallest, based on the hypothetical new total data sizes, and (iv) beginning with the cache having the largest hypothetical new total data size, caching the write command to the cache if the hypothetical new total data size of the cache is greater than the first threshold and less than the second threshold, and otherwise determining (414, 420) in a loop whether the cache having the next largest hypothetical new total data size is greater than the first threshold and less than the second threshold, wherein the first threshold is a predetermined percentage of a total size of the storage region for which the aggregating writing would occur, and the second threshold is the total size of the storage region for which the aggregating writing would occur, and wherein the method further comprises transmitting the cached subset write commands to the solid-state storage medium for the aggregating writing.