Source code for ssd.solidstatedrive

from ssd.common import convert_hex_to_str
from ssd.nand_driver import NandDriver
from ssd.result_manager import ResultManager


[docs] class SolidStateDrive: """ SolidStateDrive 클래스는 가상 SSD의 읽기, 쓰기, 삭제 기능을 제공합니다. Attributes: nand_driver (NandDriver): NAND 드라이버 객체 result_manager (ResultManager): 결과 관리 객체 """ def __init__(self):
[docs] self.nand_driver = NandDriver()
[docs] self.result_manager = ResultManager()
[docs] def write(self, lba: int, value): """ 주어진 LBA에 값을 씁니다. Args: lba (int): 논리 블록 주소 value (str): 쓸 값 (16진수 문자열 형식) """ self.nand_driver.write(lba, value)
[docs] def read(self, lba: int): """ 주어진 LBA에서 값을 읽고 결과를 기록합니다. Args: lba (int): 논리 블록 주소 """ result = self.nand_driver.read(lba) self.result_manager.write(convert_hex_to_str(result))
[docs] def read_fast(self, value: int): """ 값을 빠르게 읽고 결과를 기록합니다. Args: value (int): 읽을 값 (16진수) """ self.result_manager.write(convert_hex_to_str(value))
[docs] def erase(self, lba: int, n_value: int): """ 주어진 LBA부터 n_value 개의 블록을 삭제합니다. Args: lba (int): 논리 블록 주소 n_value (int): 삭제할 블록 수 """ self.nand_driver.erase(lba, n_value)