라이트스루, 라이트백

(라이트백에서 넘어옴)
cache writing policies
캐시 쓰기 정책
write-through
라이트스루, 바로 쓰기
write-back, write-behind
라이트백, 나중에 쓰기, 라이트비하인드

1 캐시 쓰기 정책[ | ]

  • 캐시에서 데이터 갱신 방식
정책 설명
write-through 바로 쓰기. 캐시와 하위저장소에 동시에 쓰는 방식
write-back 나중에 쓰기. 캐시에만 썼다가, 어쩔 수 없이 캐시영역에서 밀러날 때 하위저장소에 저장하는 방식

2 라이트스루[ | ]

  • 캐시와 하위저장소에 동시에 쓰는 방식
  • 시간은 걸리지만 데이터를 확실히 변경해두는 방식
  • 유실되면 곤란한 데이터인 경우에 주로 사용한다.
  • 쓰기 동작시 항상 정식 데이터를 기록하므로 '라이트백'에 비해 느리다.

Write-through with no-write-allocation.svg

3 라이트백[ | ]

  • 더티 비트 사용하여 지연된 쓰기를 하는 방식
  • 캐시에만 썼다가, 어쩔 수 없이 캐시영역에서 밀러날 때 하위저장소에 저장하는 방식
  • 데이터를 갱신할 때, 정식 데이터는 갱신하지 않고 캐시 데이터만 갱신했다가 나중에 정식 데이터를 갱신하는 방식
  • 캐시에 쓰면서 dirty(불일치) 기록해둠 + 다른 데이터에게 자리를 내어줄 때 dirty하면 하위저장소에 기록한다.
  • 캐시 데이터만 갱신하므로 매우 빠르다.
  • 캐시 데이터가 유실되면 그 변경분이 정식 데이터에 반영될 수 없다.
비휘발성 메모리를 사용하는 방법도 있으나 비용이 많이 든다.

Write-back with write-allocation.svg

4 같이 보기[ | ]

5 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}