1. A method of operating a memory system, the method comprising: performing garbage collection on a plurality of blocks for securing a free block; calculating a workload level for the performing garbage collection; changing a command schedule based on the calculated workload level; and executing a plurality of commands based on a priority order; and wherein the changing the command schedule includes changing the priority order when the workload level is equal to or higher than a reference level.