1. A garbage collection method comprising: applying a weight to each of at least two or more factors to calculate garbage collection costs; configuring a hash table using the calculated garbage collection costs; searching a block having the lowest garbage collection cost from the hash table; and performing garbage collection on the searched block.