디스크와 컴퓨터까지의 전기적 전송속도
임의엑세스시간
탐색시간(해당 암이 앞뒤로 수직이동, 실린더로 들어오기)
회전시간(디스크가 회전하는 시간, 해당 섹터로 들어오기)
비싸다
페이지 단위로 읽고 쓸 수 있지만 overwrite은 불가능하다.
삭제는 블록단위로 이루어진다.
시간이 존내걸린다.
삭제 횟수가 넘으면 셀이 죽어버린다.
가비지 수집
빈 공간으로 유효한 메모리들을 복사한 뒤, 삭제를 박는다.
이거를 위해서, 한 20% 정도의 공간은 남겨 놓는다.
일부러, 삭제박는 블록을 이리저리 카운팅해가며 평균적으로 비슷하게 해서 마모를 막는다.
드라이브거 알아서 해 준다.
논리 블록주소는 순차적으로 유지되지만, 물리적 섹터 위치는 변경시킨다
각종 최적화를 위함이겠지
각종 최적화
베드섹터를 숨기기
트랙당 섹터수가 일정하지 않다.
안쪽은 작고 바깥쪽은 크다
디스크 제조업체가 이러한 논리블록주소와 실제주소를 알아서 매핑하기때문에 알 수 있는 일이 없다.
양쪽 끝에 있는 거는 서비스를 잘 못 받는다.
대기할 시간이 적다는 맥락이다.
기아가 적긴 하겠다.
FCFS사용
읽기는 그냥 하지만
쓰기같은 경우는 시간이 조금 걸리므로
인접한 요청 병합하도록 수정
쓰기 연산 시 개지랄을 다하므로 병목이 발생할 수 있다.
물리적 포맷팅 → 기본적으로, 물리블록주소를 논리블록주소로 바꿔줄 수 있는 최소한의 하드웨어 관리
섹터 크기 설정 등,,
파티션 → 그룹으로 나누고, 별도의 장치처럼 취급하는 일.
여러 파티션이 합쳐서 볼륨이 될 수도 있겠죠?
논리적 포매팅과 파일시스템 생성이 다음 단계입니다.
초기 자료구조를 올려놓고요,,
여기에는 가용공간이나 초기의 빈 디렉터리,,
사용자 공간에다가 그냥 생성
관리가 매우 편하다.
별도의 RAW 파티션 할당
속도효율성 최적화된 알고리즘 사용
관리가 좀 불편한다.
스왑공간을 늘리려면 새로 만들던가, 아니면 다른 장소에 또 만들어야 한다.
호스트 저장
그냥 컴퓨터에 박기
네트워크연결(NAS)
클라우드 저장장치
NAS와 차이점은, NAS는 실제로 마운트되지만
클라우드는 API를 통한 통신이다.
NAS는 LAN에서 사용할 거를 전제로 했기 때문에,
그냥 지연시간과 오류율이 되게 낮았다.
SAN
그냥, 저장장치 배열을 중간에서 관리하는, 네트워크 프로토콜이 아니라 저장장치 프로토콜을 사용하는 중간매개체가 있다.
이것들이, 그냥 일반 장치처럼 서로를 연결한다.
레이드1은 복구는 쉽다.
하나만 뺴면 되니까
레이드 5는 모든 디스크를 다 뒤져야 하므로 시간이 꽤나 오래 걸린다.
파일포인터같은 소프트웨어적인게 제대로 복구 안 되어 있을 수도 있따.
조금 한정적이다
만약, 디스크가 5개인데, 디스크 하나가 사실은 parity를 4개 밖에 못 담는 어이없는 상황이랄까..
그래서 ZFS
그냥 malloc, free같은 간편한 모델