ssd.command_buffer

Attributes

BUFFER_FILE_PATH

Classes

CommandBuffer

CommandBuffer 클래스는 명령어를 버퍼에 저장하고 최적화하는 기능을 제공합니다.

Module Contents

ssd.command_buffer.BUFFER_FILE_PATH[source]
class ssd.command_buffer.CommandBuffer[source]

CommandBuffer 클래스는 명령어를 버퍼에 저장하고 최적화하는 기능을 제공합니다. 명령어는 buffer.txt 파일에 저장되며, 필요한 경우 버퍼를 비울 수 있습니다.

buffer_file_path[source]

버퍼 파일 경로

Type:

Path

buffer[source]

명령어를 저장하는 리스트

Type:

list

buffer_file_path: pathlib.Path[source]
buffer: List[ssd.command.Command] = [][source]
initialize()[source]

버퍼 파일을 초기화합니다. 만일 buffer.txt 파일이 없으면, 초기화된 파일을 생성합니다.

load_buffer()[source]

버퍼 파일에서 명령어를 읽어와 버퍼에 저장합니다.

save_buffer()[source]

버퍼 파일에 현재 버퍼의 명령어를 저장합니다.

get_saved_data() str[source]

버퍼에 저장된 명령어 데이터를 문자열 형식으로 반환합니다.

Returns:

버퍼에 저장된 명령어 문자열

Return type:

str

push_command(command: ssd.command.Command)[source]

명령어를 버퍼에 추가하고 최적화합니다.

Parameters:

command – 버퍼에 추가할 명령어

pop()[source]

버퍼에서 명령어를 제거하고 반환합니다.

Returns:

제거된 명령어

Return type:

명령어

is_able_to_fast_read(cmd: ssd.command.Command) bool[source]

빠른 읽기가 가능한지 확인합니다.

Parameters:

cmd – 확인할 명령어

Returns:

빠른 읽기가 가능한 경우 True, 그렇지 않으면 False

Return type:

bool

get_read_fast(cmd: ssd.command.ReadCommand) int[source]

버퍼에서 빠른 읽기 값을 반환합니다.

Parameters:

cmd – 읽기 명령어

Returns:

읽은 값

Return type:

int

flush() List[ssd.command.Command][source]

버퍼를 비우고 모든 명령어를 반환합니다.

Returns:

비워진 버퍼의 모든 명령어

Return type:

list

optimize()[source]

버퍼 내 명령어를 최적화합니다.

static merge_write_with_erase(erase_commands: Set[Tuple[str, int, int]], key: Tuple[str, int, int])[source]

쓰기 명령어와 삭제 명령어를 병합합니다.

Parameters:
  • erase_commands (set) – 삭제 명령어 집합

  • key (tuple) – 쓰기 명령어의 키

Returns:

병합 가능한 경우 True, 그렇지 않으면 False

Return type:

bool

need_flush() bool[source]

버퍼를 비울 필요가 있는지 확인합니다.

Returns:

버퍼를 비울 필요가 있는 경우 True, 그렇지 않으면 False

Return type:

bool