블록 그룹화 방법에는 다음 단계가 포함된다. 먼저 링크 목록이 설정된다. 링크 리스트에서 복수의 블록은 각 블록의 유효 데이터 개수에 따라 복수의 그룹으로 분류된다. 호스트가 솔리드 스테이트 드라이브의 플래시 메모리에 저장된 데이터를 리프레시하거나 플래시 메모리에 새로운 데이터를 추가하면 리프레시된 데이터 또는 새로운 데이터에 해당하는 블록의 유효 데이터 수가 변경되고 링크 리스트는 블록의 변경된 유효 데이터 수에 따라 업데이트된다. 솔리드 스테이트 드라이브에 의해 가비지 수집이 시작된 후 링크 목록에 따라 가비지 수집 대상 블록이 선택되고 가비지 수집이 수행된다.
A block grouping method includes the following steps. Firstly, a link list is established. In the link list, plural blocks are classified into plural groups according to valid data counts of respective blocks. If a host refreshes a stored data of a flash memory of the solid state drive or adds a new data into the flash memory, the valid data count of the block corresponding to the refreshed data or the new data is changed, and the link list is updated according to the changed valid data count of the block. After the garbage collection is started by the solid state drive, the block to be subject to the garbage collection is selected according to the link list, and the garbage collection is performed.