from testapp.ssd_driver import SsdDriver
[docs]
MAXIMUM_ERASE_SIZE_AT_ONCE = 10 
[docs]
def request_erase(driver: SsdDriver, start_lba: int, end_lba: int):
    """
    지정된 범위의 LBA를 최대 삭제 크기 단위로 나누어 삭제 요청을 보냅니다.
    Args:
        driver (SsdDriver): SSD 드라이버 객체
        start_lba (int): 삭제를 시작할 LBA
        end_lba (int): 삭제를 종료할 LBA (포함되지 않음)
    """
    remain_erase_size = end_lba - start_lba
    for lba in range(start_lba, end_lba, MAXIMUM_ERASE_SIZE_AT_ONCE):
        if remain_erase_size > MAXIMUM_ERASE_SIZE_AT_ONCE:
            size = MAXIMUM_ERASE_SIZE_AT_ONCE
            remain_erase_size -= size
        else:
            size = remain_erase_size
            remain_erase_size = 0
        driver.erase(lba, size)