프리모캐시 설정 순서

프리모캐시는 기본 Level-1(L1) 설정으로 램(Ram) 공간의 일정 부분을 디스크 캐시로 사용해 엑세스 속도를 높이는 기술로 CPU와 바로 통신을 하는 부품인 만큼 가장 속도가 빠르기 때문에 캐시 적중률(hit)이 높다면 성능 체감을 확실하게 할 수 있습니다.

이전 포스트에서 프리모캐시(PrimoCache)의 기본적인 설정 방법에 대해 알아봤는데요. Cache Task를 생성할 때 여러 옵션에 대해서 설명했지만 그중 Level-2(L2) 설정은 그냥 넘어간 이유는 별도로 원리와 함께 설명하기 위함으로 이번 포스트에서 프리모캐시 L2 설정과 함께 사용자 환경에 맞게 프리모캐시를 최적화 하는 방법에 대해 알아보겠습니다.

프리모캐시 L2 개념과 이론

CPU 다이 이미지

프리모캐시에서 L1과 L2는 CPU의 캐시 메모리와 동일한 원리를 가지고 있습니다.

CPU 캐시 메모리 같은 경우 간단하게 설명하자면 아시다시피 L1, L2, L3로 나뉘어 있는데 레벨이 낮을수록 더욱 빠른 속도의 휘발성 메모리(Ram)를 사용하며 코어와 가깝게 위치하고 있고 레벨이 높아 질수록 다른 코어와 함께 캐시를 나눠 공유해 사용하는 방식인데요.

프리모캐시 또한 마찬가지로 L1에서 램(Ram)을 기반으로 캐시를 한다면 L2에서는 빠른 디스크인 SSD를 2차 캐시로 설정해 L1과 하드디스크의 중간에 위치하며 디스크 버퍼(Buffer) 역할을 하게 되는 것입니다.

이전편에서 프리모캐시가 레이드 컨트롤러와 100% 개념이 같다고 한 이유가 여기서도 설명 되는게 아답텍의 MaxCache, LSI의 CacheCade에서 SSD를 디스크 버퍼로 사용해 디스크의 퍼포먼스를 높이는 것과 프리모캐시의 L2 역할과 똑같기 때문입니다.

디스크 캐시가 아닌 버퍼로 설명하는 이유는 캐시 같은 경우 자주 사용하는 파일을 캐시에 올린 후 또다시 해당 파일을 불러올 때 디스크에 엑세스하지 않고 메모리에서 불러와 속도를 높이는 반면, 버퍼의 역할은 디스크와 메모리 사이의 임시저장소 같은 역할로 상대적으로 읽기/쓰기가 느린 디스크를 대신해 일정 공간 동안 데이터를 채워주고 디스크의 입출력에 여유가 있을 때 데이터를 옮기고 작성하는 역할을 하기 때문입니다.

이미지 : todoespacoonline.com

프리모캐시의 L2는 버퍼 역할로 SSD에 L2 캐시를 적용하는 것 보다 하드디스크에 적용하는 것이 보다 효과적이며 SSD를 버퍼로 사용하는 만큼 읽기 및 쓰기를 빈번하게 할수 있는데 이때 SSD의 셀 내구성에도 영향을 주니 되도록이면 메인 SSD의 파티션을 나눠 설정하는 것 보다는 여분의 SSD를 이용해 L2를 설정하는 편이 좋습니다.

통상 버퍼와 캐시를 모호하게 구분하는 경우가 있는데 이 개념을 잘 알고 넘어가야 프리모캐시 뿐만 아니라 나중에 하드디스크 레이드를 할때, 레이드 컨트롤러를 사용할 때 도움이 됩니다.

프리모캐시 L2 설정

이전 포스트와 위 이론으로 프리모캐시가 하는 역할에 대해 모두 알아봤습니다. 이제 실제 적용을 해야 하는데요. 앞서 얘기한 것처럼 C드라이브로 사용하는 SSD의 파티션을 나눠 L2 캐시로 사용하는 것은 효율적으로 좋지 못하며 디스크 엑세스 빈도가 높다면 업그레이드 이후 집에 굴러다니는 소용량의 SSD를 사용하는 것이 좋습니다.

프리모캐시 L2 설정을 위해 프로그램 상단의 Manage Level-2 Storage 버튼을 클릭합니다.

Create Level-2 Storage 버튼을 클릭합니다.

①하드디스크 버퍼로 사용할 SSD를 선택한 다음 ②아래의 Format 버튼을 클릭합니다.

포맷시 디스크 자료가 삭제된다는 안내 메시지의 예 버튼을 클릭해서 포맷을 시작합니다.

L2 스토리지가 설정이 끝난 다음 리스트에 등록되었다면 창을 닫습니다.

이제 캐시 공간을 만들 차례입니다. 상단 메뉴의 Create a new cache task 아이콘을 클릭합니다.

캐시 공간에 포함할 하드디스크를 선택하구요.

Read & Write로 무난하게 설정할 수 있는데 이전편에서 얘기했던 것처럼 3D 작업이나 홈레코딩등 소스 파일을 불러오는 작업을 더 많이 하는 경우에는 Read만 설정해도 무관합니다.

Read를 선택할때 하드디스크에 대한 캐시 공간을 설정하는 것이기 때문에 Read(SSD Cache Only)를 선택하지 않고 제일 첫번째 Read를 선택해야 합니다.

다른 옵션은 이전편에서 언급했기 때문에 생략하고 Level-2 Cache 부분에서 앞서 지정했던 스토리지를 선택한 다음 버퍼 사이즈를 지정하면 되는데 다른 캐시 공간과 병행하는 것이 아니라면 MAX를 선택해 SSD 용량을 최대로 사용할수 있습니다. 램(Ram)이건 SSD 공간이건 클수록 효과가 좋습니다.

프리모캐시 L2 설정 후 벤치마크

도시바 2.5인치 5400rpm 노트북용 하드디스크에 적용한 다음 크리스탈디스크마크 결과 입니다. L2 캐시 용량이 128GB로 설정되어 있는 만큼 지속적인 효과를 기대할 수 있으며 L1 메모리 캐시 또한 적용되어 빠르게 사용할 수 있습니다.

17 Comments

  1. Avatar

    너무잘봤습니다 님 글대로 설정해서 잘쓰구있구요. 가상악기 미디작업용컴을쓰고이습니다. 블럭사이즈가 4부터 512kb까지있는데 어떤차이인가요? 저는 쓰기보다 악기파일을 불러오는 읽기를 많이 쓰거든요. 어떻게설정하는게읽기 위주시스탬에좋을까요??

  2. Avatar

    잘 보고 있습니다. 많은 걸 배워갑니다. 삼성 SSD 850 EVO 500GB를 C드라이브로, PLEXTOR PX-128M6PRO를 D드라이브로 사용하고있습니다. 램은 16기가이구요.
    프리모캐시 L1설정(8000MB, 512KB로 설정)하고 MMORPG게임(검은사막)을 돌렸더니 메모리부족으로 팅기더라구요. 그러고 나서 완전 비어있는 D를 L2로 설정을 했습니다.
    질문: 1. L2설정은 할 필요가 없는 것인가요? 그렇다면 L2설정 내역을 삭제하고 싶어요.
    2. L1설정 후 게임실행하면 사람많은 곳에서 메모리 부족으로 팅기는데 어떤 걸 손대야 하나요?

    • Avatar
      PG

      프리모캐시는 PC를 사용하면서 ‘남는 램’ 을 활용하는 것이 주된 목적으로 게임시 메모리 부족으로 튕긴다면 L1 용량을 줄여야 합니다.

      질문 1 답변 : L2 캐시는 본문에 설명했던것 처럼 램캐시와 물리디스크(SSD,HDD) 사이의 버퍼역할을 하는 것으로 설정하지 않아도 되지만 질문하신분의 하드웨어 구성을 보아 128GB의 잉여 SSD를 활용하는 것으로 보이니 다른 사용처가 없다면 설정하면 조금이나마 성능향상에 도움이 됩니다.

      L2 설정을 삭제하는 방법은 상단 메뉴의 manage level-2 storage > 삭제할 L2 스토리지 선택 후 오른쪽의 Delete Partition 버튼을 클릭 입니다.

      질문 2 답변 : 가장 쉽게, 프리모캐시 설정을 전부 해제한 다음 평소에 PC를 사용하는 패턴대로 프로그램을 실행합니다. 예로 검은 사막을 진행하면서 메모리 사용 피크 용량을 확인한 다음, 2GB의 메모리 여유를 둔 나머지 용량을 프리모캐시 L1으로 설정하는 것이 이상적인 용량 설정입니다.

      2GB 정도의 여유를 두는 것은 게임을 하면서 플레이어 실행, 인터넷등 다른 프로그램에서 램을 점유할수도 있기 때문에 여유를 두는 것입니다.

  3. Avatar

    님의 설정법 정말 잘봤습니다. 자료 정리 세밀하게 잘 정리 정돈 되어 있어 보기가 편하네요. 저역시 이프로그램 test결과 램이 8~12기가인 상태에서는 그렇게 효과가 없더군요. 님말씀처러 램16기가 이상 되어야 효과가 있다고 생각합니다.

  4. Avatar

    HDD일정 용량당 적절한 L2캐시 SSD크기는 어느정도인지 궁금하군요 6TB면 128기가 SSD로도 커버가 가능한가요?

    • Avatar
      PG

      6TB 디스크로 어떤 작업을 하는지 명시해 주시면 답변하기 수월합니다만 6TB 용량을 전부 다 사용한다면 512GB 정도의 SSD와 16GB 정도의 램이 프리모 캐시에 할당되어야 체감이 될듯 합니다.

  5. Avatar

    아아 그걸 말씀을 드릴걸 그랬군요;; 주로 사진,음악,동영상,문서를 저장해놓고 끄집어내서 보거나 편집용도로 쓰고 나머지 용량은 C드라이브의 일부 파일들을 백업하는 용도로 활용합니다. 총 4~5TB정도 사용하겠네요

    • Avatar
      PG

      동작 구조로 보면 사진, 음악, 동영상, 문서 같이 한번 디스크에서 로드하면 메모리에 올라가는 특성상 램디스크나 프리모 L2 같은 설정은 사실 큰 의미가 없습니다.

      또한 디스크에서 디스크로 데이터를 옮기는 백업 작업 역시 디스크에서 읽어 들인 내용을 우선적으로 램에 할당해 상대 하드에 복사하는 1회성 동작이므로 주기적으로 같은 파일을 읽을 때 효과가 있는 램디스크의 Hit도 써먹지 못합니다.

      고용량 게임, 3D 프로그램이나 DAW 같이 자잘한 소스를 몇십 몇백개씩 디스크에서 주기적으로 로딩할때 의미가 있으며 kirara 님께서 사용하는 용도에서는 세팅을 해도 체감하긴 어렵습니다.

      굳이 세팅을 하신다면 램디스크 보다 순수 메모리(RAM)를 늘리는게 유의미 합니다.

    • Avatar
      kirara

      그렇군요 그럼 어차피 램도 64GB라 많이 남아도니 L1캐시로 한 32GB쯤 SSD랑 잡아줘야되겠네요

  6. Avatar

    안녕하세요, PG님
    자세한 설명 감사합니다. 질문이 있습니다.
    울트라램디스크에서 20기가 새로운 드라이브를 만든후 프리모캐시에서 L2캐시로 설정에서 하드디스크들을 L2 캐시에 배당하여 사용해도 될까요, 이론상은 문제가 없을 것 같은데요.
    감사합니다.

    • Avatar
      PG

      아시겠지만 프리모캐시는 RAM의 일정 공간을 ‘캐시’로 사용하는 것이고 울트라램디스크는 RAM의 일정 공간을 ‘디스크’로 사용하는 구조입니다.

      고로 메모리 속도의 디스크에 L2 설정(버퍼)을 하면 오히려 속도가 떨어집니다.

      물론 이론적으로는 설정에 문제가 없습니다.

  7. Avatar

    PG님 자세한 답변 감사합니다.
    설정을 다시해야겠네요,
    늘 건강하세요^^;;

  8. Avatar

    ㅎ 좋은 자료 감사합니다~ 잚보았씁니다~!! ㅎ

    프리모 캐시 사용시 질문있습니당

    만약

    메인보드에 64기가 메모리를 설치하고

    2테라 짜리 sata ssd를 윈도우 설치용 40기가(C드라이브) + 스팀게임설치용1960기가 (D드라이브) 로

    분할 해서 사용하는 환경이라면

    질문1) L1 캐시를 40기가로 잡아놓고

    그냥 C드라이브를 통째로 L1캐시에 상주 시켜서 사용할수 있는지요?

    질문2) 그와 동시에 고속 nvme방식의 280기가짜리 ssd를

    스팀 설치용 D드라이브의 L2캐시로 잡아서 사용이 가능한지요?

    ;;;ㅠ
    질문1은 설치한 윈도우를 통째로 메모리에 올려서 사용가능한지를 여쭈는것이라능;;;

    • Avatar
      오덕이

      음..

      만약 질문1)이 가능하다면

      컴터 키고 윈도 진입시 자동으로 상주시키는 기능도 있는지 궁금합니다;;;

      ;글쓰고 보니 예전에 이런 역할을 하는

      램드라이브?(램디스크와는 약간 개념이다른) 프로그램이 있었던것같은데

      어느순간 ;;안보이더군요;;

    • Avatar
      PG

      결론만 말하자면 질문하신 세팅은 소프트웨어로 구현 불가능합니다.

      윈도우 안의 소프트웨어는 윈도우가 ‘우선’ 실행된 다음 동작하는 구조로 말씀하신것 처럼 운영체제를 메모리에 올리려면 하드웨어로 처리해야됩니다.

      그리고 캐시(버퍼) 기능은 디스크(저장)이 아닙니다.

  9. Avatar

    안녕하세요~ 저는 캐쉬메모리에 대해 검색하다가 들어 오게되었습니다. 목적은 ROON 또는 다른 음악 실행 앱 을 하는데 있어서 음악이 8TB HDD에 6TB정도 있습니다. 라이브러리를 작성하는 시간과 음악을 검색했을때의 속도를 향상시키고자 ram 또는 ssd 캐쉬를 사용하려 합니다. 지금은 16g 단일 램이 있으며 필요하다면 16g를 추가할 생각이고 이번 블프때 nvme ssd를 구입하려 하는데 용량을 맞춰서 구입해야 할거 같아 질문드립니다. 윈도우는 sata ssd 128g에 설치 되어 있습니다. 그리고 음악 실행할 ssd(nvme) 를 추가 하고 음악은 HDD에서 불러올생각입니다. (원래 나스에 보관했었는데 중복작업시 느려져서 디스크로 옮겼습니다.) 지금 제가 구상한것은 윈도우는 그대로 두고 음악을 실행할 240g 정도의 ssd를 추가 하고 필요한 만큼의 캐쉬로 사용할 ssd를(용량은 얼마가 좋을까요?) 추가 할 생각입니다. 그리고 램은 16g 추가 하여 8g 정도 캐쉬로 할당할 생각입니다. 이렇게 하는 것이 의미가 있을까요?

    • Avatar
      PG

      안녕하세요.

      순종님께서는 ROON으로 미디어 관리를 하고 싶은 것으로 이해했는데, 이 같은 경우 하드디스크에 프리모캐시를 적용해도 투자대비 체감 효과가 미미합니다. 위에도 비슷한 질문이 있는데 다시 붙여보자면…

      동작 구조로 보면 사진, 음악, 동영상, 문서 같이 한번 디스크에서 로드하면 메모리에 올라가는 특성상 램디스크나 프리모 L2 같은 설정은 사실 큰 의미가 없습니다.

      또한 디스크에서 디스크로 데이터를 옮기는 백업 작업 역시 디스크에서 읽어 들인 내용을 우선적으로 램에 할당해 상대 하드에 복사하는 1회성 동작이므로 주기적으로 같은 파일을 읽을 때 효과가 있는 램디스크의 Hit도 써먹지 못합니다.

      고용량 게임, 3D 프로그램이나 DAW 같이 자잘한 소스를 몇십 몇백개씩 디스크에서 주기적으로 로딩할때 의미가 있으며 kirara 님께서 사용하는 용도에서는 세팅을 해도 체감하긴 어렵습니다.

      램이 남아 돌면 해도 그만 안해도 그만이라는 생각으로 할당해도 되지만 굳이 금액을 들여 세팅할 필요는 없어보이구요.

      오히려 윈도우와 음악이 실행되는 프로그램이 설치되어 있는 디스크를 NVME SSD로 교체하면 라이브러리 색인(Index) 처리가 기존 보다 빨라 체감이 있을 것으로 생각됩니다.

Write A Comment