Write Back 정책 관련

찌록   
   조회 4253   추천 0    

안녕하십니까..

Write Back 에 대해 궁금중이 있습니다.(줄여서 W-B 으로 칭하겠습니다)


W-B 방식은 데이터가 캐시에 기록되자마자 OS단에 I/O 처리가 완료됨을 알리고 실제 디스크에 기록되는 작업은 내부적으로 수행된다

라고 알고있습니다.


그런데 저 "캐시" 라는 것은 CPU 캐시를 말하는건가요 아니면 RAID Controller의 Cache를 말하는 걸까요..?

보통 데이터는 CPU(L1/L2 Cache 등) - 주기억장치(Memory) - 보조기억장치 의 식으로 흘러가지 않습니까?

CPU에서 처리하면 cpu cache를 거쳐 memory에 올라가고 메모리에 올라간 데이터가 디스크에 기록되는 방식..


만약 W-B 방식이 레이드 캐시에 기록되는것이라면 메모리를 거쳐서 레이드캐시로 전달되는 것 아닌가요?


이 방식에 대한 궁금증을 가진 이유는 W-B 모드를 사용하면 BBU가 필요한데 그것은 raid controller의 캐시메모리에 저장된 데이터를 보호하는 역할로써 필요한건데.. 그렇게 생각하면 CPU 캐시메모리는 아닌거같고.. raid 캐시메모리라면 메모리를 거쳐서 전달받는 구조로 알고있는데 그게 아닌건지..


궁금한 것은 이것입니다..

- W-B에서 말하는 cache가 cpu 것인지 raid controller 것인지..

- 캐시가 enable 된 raid controller 로 구성되어있을 시 데이터 전달방식이 어떻게 되는건지..


항상 질문드리면 정성껏 답변해주셔서 모든 분들께 감사하고 또 죄송한 마음으로 질문드립니다.

감사합니다..!

so
짧은글 일수록 신중하게.
박문형 2021-07
캐쉬 (캐쉬 메모리 + 캐쉬 콘트롤러)는 어떤 속도 차이가 큰 장치 사이에서 그 속도 차이를 줄이고 좀 더 부드럽게 동작하도록 하게 만드는 장치 입니다..

CPU의 동작속도 (일처리 속도)는 아주 빨라서 그것과 똑같이 동작하는 메모리를 만들려면 제조단가가 아주 높아지던지 제조가 불가능할 수 있습니다..

그래서 그 중간에 캐쉬 장치를 두어서 콘트롤하는 것입니다..

그리고 캐쉬 장치에 흐르는 데이터를 콘트롤하는 방식 (캐슁 방식/방법) 중에 대표적인 것이 Write Through /Write Back 방식입니다..


Write Through 방식은

1234  -> 캐쉬 -->1234    (1234는 데이터)

이런식으로 데이터 가 들어간 순서대로 데이터가 나오는 방식이고

Write Back 방식은

1234 ->캐쉬 -->1432 (1234는 데이터)

이런 식으로 데이터가 순차적으로 들어가더라도 데이터를 받는쪽에서 요청하는 데이터를 먼저 빼내오는 방식입니다..

먼저 필요한 데이터를 먼저 불러내니까 성능이 증가하는 것이고요..

이것이 다 맞지는 않기에 그리고 나중에는 불러내지 않은 데이터는 계속 캐쉬메모리에 남아 있을수도 있기에 어떨 때는 Write Through 보다 성능이

떨어질 수 있습니다..

이런 성능을 캐슁 히트율이라고 말하는데 보통 캐쉬 히트율이 90% 이상 되어야 좋은 것이다라고 말하고 있습니다..


CPU에도 캐쉬 콘트롤러가 쓰이고 캐슁 방식이 존재합니다만 아마도 요즘 시스템은 CPU의 캐슁 방식을 사용자가 임의적으로 바꿀수는 없을 것입니다..

반일 그런 방법이 있다면 바이오스에서 셋팅 메뉴가 존재해야겠죠..


지금 질문도 어찌 보면 레이드 장비에 대해 이야기 하는데 CPU가 중간에 섞여 있습니다..

레이드 콘트롤러 안의 셋팅메뉴를 셋팅하는데 CPU 까지 콘트롤되지는 않습니다..


그리고 데이터의 흐름으로 보면

디스크 - 레이드 콘트롤러 -- 레이드 콘트롤러 케쉬 메모리 -- 레이드 콘트롤러 -- PCIe 라인 -- CPU - CPU 캐쉬 -- 시스템 메모리

-- CPU 캐쉬 --CPU -- PCIe 라인 -- 레이드 콘트롤러 - 레이드 콘트롤러 캐쉬 메모리 -- 레이드 콘트롤러 -- 디스크

이정도 입니다.. (시스템 종류에 따라 세부 사항은 바뀔수 있음)
     
치로기 2021-07
결국 쓰기정책에서 말하는 캐시는 레이드 컨트롤러의 캐시만을 말하는거군요?
데이터는 CPU로 부터 시작되는것이 아닌가요..?
윈도우에서 메모장에 어떠한 파일을 저장했다고 했을 때 데이터의 흐름이 CPU(캐시) - 메모리 - PCIe - 레이드 - 디스크 가 아닌건가요?
          
박문형 2021-07
윈도우에서 메모장에 어떠한 파일을 저장했다고 했을 때 데이터의 흐름



메모장이 데이터를 불러들여서 작업하고 수정되어 저장된다면 디스크에서 불려들인다라고 볼 수 있고

메모장에서 새로운 데이터를 만든다고 보면 캐쉬 메모리로부터 생성은 아니고 시스템 주메모리로부터라고 보는게 맞다라고 생각됩니다..
박문형 2021-07


QnA
제목Page 4315/5711
2014-05   5165026   정은준1
2015-12   1699257   백메가
2014-07   3771   박성만
2019-02   3770   남극펭귄
2017-06   3770   오며가며
2022-08   3770   해떨어짐
2021-02   3770   박종대
2023-04   3770   박현문
2014-11   3770   judeivan
2017-08   3770   라온제나
2014-02   3770   이지포토
2017-10   3770   BigData007
2014-01   3770   뮤노
2017-03   3770   Gleam
2017-07   3770   sffbig
2022-01   3770   미친감자
2014-12   3770   회로쟁이
2021-06   3770   허인구마틴
2018-05   3770   전설속의미…
2018-03   3770   황혼을향해
2019-07   3770   정은준1
2019-05   3770   구대의