1. A non-volatile semiconductor memory comprising: a memory device comprising a memory array including a plurality of blocks, each block comprising a plurality of memory segments; and control circuitry operable to: define a plurality of logical block address (LBA) ranges each identifying a plurality of LBA addresses, wherein at least one block is assigned to each LBA range; receive a plurality of write commands from a host, wherein each write command identifies at least one LBA; write data for each write command to the memory device; during a garbage collection operation, identify a memory segment storing valid sequential write data to be relocated and valid random write data to be relocated; relocate the valid sequential write data to a memory segment in a block of the corresponding LBA range; and relocate the valid random write data to a memory segment in a block unassigned to the LBA ranges.