1
읽기 요구가 호스트 시스템으로부터 도착한 후 읽기 캐쉬를 검사하는 단계와, 읽기 캐쉬에 요구하는 블록이 존재하면, 관련블록을 읽기 캐쉬로부터 되돌려주고, 읽기 캐쉬에 요구하는 블록이 없으면 디스크로부터 읽기 캐쉬로 읽어온 후 되돌려주는 단계와, 쓰기 요구가 들어오면 먼저 쓰기캐쉬와 디스테이징 캐쉬를 검사한 후 캐쉬 내에 존재하면 그 블록에 호스트로 받은 데이터를 쓰고, 상기 캐쉬에 없으면 쓰기캐쉬에 할당할 블록이 있는지 검사한 후 할당할 블록이 있으면 그 블록에 호스트로부터 받은 데이터를 쓰는 단계와, 쓰기캐쉬에 할당할 블록이 없으면 쓰기캐쉬의 한 블록의 디스테이징 캐쉬로 옮겨서 쓰기캐쉬의 한 블록을 비우는 단계와, 디스테이징 캐쉬에 옮겨진 블록은 디스테이징 될 대상이므로 이전 데이터와 이전 패리티를 읽어와서 중간 패리티를 계산하는 단계와, 상기 디스테이징 캐쉬에 더 이상 할당할 공간이 없으면 디스테이징이 일어나며, 한 번의 패리티 연산과 두 번의 쓰기가 일어나고, 새로운 패리티를 계산하는 단계와, 갱신된 새 데이터와 새 패리티 블록을 각 데이터 디스크와 패리티 디스크에 쓰는 단계를 포함하여 이루어지는 것을 특징으로 하는 패리티 엔진을 이용한 고속 디스테이징 방법
|