"라이트스루, 라이트백"의 두 판 사이의 차이

 
(같은 사용자의 중간 판 2개는 보이지 않습니다)
21번째 줄: 21번째 줄:
* 캐시와 하위저장소에 동시에 쓰는 방식
* 캐시와 하위저장소에 동시에 쓰는 방식
* 시간은 걸리지만 데이터를 확실히 변경해두는 방식
* 시간은 걸리지만 데이터를 확실히 변경해두는 방식
* 유실되면 곤란한 데이터인 경우에 주로 사용
* 유실되면 곤란한 데이터인 경우에 주로 사용한다.
* 쓰기 동작시 항상 정식 데이터를 기록하므로 '라이트백'에 비해 느림
* 쓰기 동작시 항상 정식 데이터를 기록하므로 '라이트백'에 비해 느리다.


[[파일:Write-through_with_no-write-allocation.svg|500px]]
[[파일:Write-through_with_no-write-allocation.svg|500px]]
30번째 줄: 30번째 줄:
* 캐시에만 썼다가, 어쩔 수 없이 캐시영역에서 밀러날 때 하위저장소에 저장하는 방식
* 캐시에만 썼다가, 어쩔 수 없이 캐시영역에서 밀러날 때 하위저장소에 저장하는 방식
* 데이터를 갱신할 때, 정식 데이터는 갱신하지 않고 캐시 데이터만 갱신했다가 나중에 정식 데이터를 갱신하는 방식
* 데이터를 갱신할 때, 정식 데이터는 갱신하지 않고 캐시 데이터만 갱신했다가 나중에 정식 데이터를 갱신하는 방식
* 캐시에 쓰면서 dirty(불일치) 기록해둠 + 다른 데이터에게 자리를 내어줄 때 dirty하면 하위저장소에 기록함
* 캐시에 쓰면서 dirty(불일치) 기록해둠 + 다른 데이터에게 자리를 내어줄 때 dirty하면 하위저장소에 기록한다.
* 캐시 데이터만 갱신하므로 매우 빠름
* 캐시 데이터만 갱신하므로 매우 빠르다.
* 캐시 데이터가 유실되면 그 변경분이 정식 데이터에 반영될 수 없음<ref>비휘발성 메모리를 사용하는 방법도 있으나 매우 비쌈</ref>
* 캐시 데이터가 유실되면 그 변경분이 정식 데이터에 반영될 수 없다.
:비휘발성 메모리를 사용하는 방법도 있으나 비용이 많이 든다.
* 사용예시: [[CPU 캐시]]
* 사용예시: [[CPU 캐시]]


https://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/Write-back_with_write-allocation.svg/700px-Write-back_with_write-allocation.svg.png
[[파일:Write-back_with_write-allocation.svg|700px]]


==같이 보기==
==같이 보기==
43번째 줄: 44번째 줄:


==참고==
==참고==
* https://en.wikipedia.org/wiki/Cache_(computing)
* {{영어위키백과|Cache (computing)}}


[[분류: 캐시]]
[[분류: 캐시]]
[[분류: 반의어 2 표제어]]
[[분류: 반의어 2 표제어]]

2022년 4월 11일 (월) 20:54 기준 최신판

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 }}