`지연된 쓰기 실패` 로 인한 하드 강제 PIO모드 해결방법 - DMA로 설정하기

Posted on 2010.03.25 03:22
Filed Under IT/과학/PC활용팁


PIO 모드 고정, DMA설정안되고 `지연된 쓰기 실패' 로 인한 문제 해결방법

사용자 삽입 이미지


가끔 이런 경우있지요
나는 분명 PIO가 아니라 DMA로 설정했는데 PIO로 고정되서 컴퓨터가 지질라게 버벅거리는 현상..
이경우 무슨짓거리를 해도 PIO가 DMA로 바뀌지 않아 짜증내면서 윈도우 재포맷을 하는 분들도 있지요..
(3년전 저도 그랬습니다;;)

/*추가설명
PIO - Programmed Input/Output의 약자로 입출력의 약자로 하드디스크에서  읽어들이는 정보를
        CPU를 거쳐서 처리됩니다. 덕분에 하드디스크를 읽을때면 엄청난 CPU 점유율을 불러와
        대박 버벅거림..
DMA- Direct Acess Controller의 약자로 데이터의 입출력을 CPU가 간섭을 하지 않고
         DMA컨트롤러가 알아서 전송합니다. 이 방식을 쓸경우 cpu 점유율이 현저하게 떨어지죠
         요즘 시스템의 경우 일반적으로 이 모드가 기본 적용되어있음.
/*자세한 이야기는 네이년 검색즐 이용



우선 이 문제를 해결하기전에 가장먼저 해야할 작업이 있습니다.
시스템이 DMA가 아닌 PIO를 선택했다는것은 하드디스크 데이터 전송에 있어서
"DMA 모드 전송.. 니네 못믿겠다. CPU가 직접 관장해라" 라고 시스템이 질올한 것으로
여러번 데이터 전송에 문제가 있었다 라는뜻이 됩니다. 그래서 시스템은 하드디스크 입출력을 PIO로
고정 시킨것입니다.

그렇기 때문에 해당 하드디스크의 물리적인 오류가 없다는 가정과
오류검사 혹은 포맷작업이 완료 되어 하드디스크의 오류가 없다는 전제하에 시작해야합니다.

또한 하드디스크에 문제가 없더라 하더라도
케이블 불량 혹은 하드디스크에 공급하는 전력이 불안할경우
흔히말하는 흔히 말하는 지연된 쓰기 실패(XP에서는 6회이상 타임아웃, CRC에러 발생)가 일어나
DMA5모드에서 전송속력이 낮아지는 DMA4, DMA3, DMA2, DMA1, 끝내는 PIO 모드로 가는것이니
케이블과 전력공급에 이상이 없는지도 확인해야 합니다.




그럼 아래는 해결방법입니다.

1.  제어판 -> 시스템 -> 장치관리자 로 들어갑니다.



2. 위 사진이 빨간 표시 되어있는 IDE채널들을 딜리트하여 모두 삭제해 줍니다.
    이때 재부팅 경고 메세지가 나오는데 재부팅하지 마시고 모두 삭제후에 재부팅해 줍니다.
    하드웨어 에 따라서 채널이 4개일수도 있고 더 많을 수도 있습니다. 아무튼 다 지웁니다.
    (문제가 되는것만 지워도 상관없습니다.)

3. 재부팅후 윈도우가 IDE 채널을 알아서 다시 잡는 작업을 할껍니다. 모두 끝나면 다시한번 재부팅..

4. 재부팅후 확인해보면 PIO모드 였던 IDE채널들이 DMA모드로 돌아와 있음을 확인하실 수 있을 것입니다.






■ 추가 - PIO 모드로 변경되는것을 방지하기

DMA 모드가 단계적으로 낮아져 PIO모드로 변하는것을 레지스트리 변경으로 방지가 가능합니다.

1. HKEY_LOCAL_MACHINE - SYSTEM - CurrentControlSet - Control - Class -
   {4D36E96A-E325-11CE-BFC1-08002BE10318} - 0001(프라이머리)을 찾아갑니다.

2. 오른쪽 창에서 새로 만들기 - DWORD값 하고 이름은 ResetErrorCountersOnSuccess 로 하고
    값의 데이터를 1로 합니다.

3. 그리고 0002(세컨더리)에서도 마찬가지로 해줍니다. (IDE채널갯수대로)




 

댓글을 달아 주세요

  1. Favicon of http://junan.kr BlogIcon 주난군 2010.03.25 07:13 신고  댓글주소  수정/삭제  댓글쓰기

    저 같은 컴맹도 잘알수 있는 설명이네여..

  2. Favicon of http://dalyong.com BlogIcon 달룡.. 2010.03.28 20:33 신고  댓글주소  수정/삭제  댓글쓰기

    오홋..좋은 정보네요..^^ ㅎㅎ 바로 ..확인 해보니..제컴은 다행스럽게.. DMA 모드로 되어있네요..^^

  3. 화재 2010.03.29 17:21 신고  댓글주소  수정/삭제  댓글쓰기

    이렇게 간단하다니....그동안 전자공학같은 해결책 보느라 스트레스만 받았는데..ㅜㅜ
    정말 식사라도 대접해드리고 싶을만큼.... 감사합니다....꾸벅

    • Favicon of http://narue.kr BlogIcon 나루에 2010.03.29 18:09 신고  댓글주소  수정/삭제

      ㅎㅎ 오는 밥 막지않고 가는밥 따라가 먹습니다..
      주고받는 밥속에 피어나는 우정(?)
      암튼 ~ 도움 되셨으니 다행이네요~~ -^

  4. 다롱이 2010.03.31 12:11 신고  댓글주소  수정/삭제  댓글쓰기

    좋은거 알아갑니다.
    집에 가서 해보니..
    하나는 DMA5 하나는 DMA2로 되어있네요..
    강제로 5단계로 바꿔버렷더니 속도가 조금은 나아진듯한?? ㅎㅎ

  5. 켁켁 2010.04.16 15:56 신고  댓글주소  수정/삭제  댓글쓰기

    정보 정말 감사합니다 근데 레지스트리변경은 어떻게 하나여;

  6. 나컴맹 2010.04.28 12:19 신고  댓글주소  수정/삭제  댓글쓰기

    기본 ide채널정보는 어케보져 -_-?

    • Favicon of http://narue.kr BlogIcon 나루에 2010.04.29 02:30 신고  댓글주소  수정/삭제

      그냥 "기본IDE채널"을 더블클릭 하시면 속성창이 뜹니다. ^^;
      거기에 고급설정 탭에 가면 DMA적용여부와 현재 전송모드를 볼 수 있지요

  7. 나두컴맹 2010.05.12 21:30 신고  댓글주소  수정/삭제  댓글쓰기

    이거 보조ide똑같이 값을1로 해서 만드나요
    ???

  8. 컴맹 2010.06.17 12:05 신고  댓글주소  수정/삭제  댓글쓰기

    삭제하고 dma 했는데

    지연된쓰기실패가 자꾸 뜨네요?

    • Favicon of http://narue.kr BlogIcon 나루에 2010.07.21 17:48 신고  댓글주소  수정/삭제

      이 팁은 지연된 쓰기 실패를 방지하는 팁이 아닙니다.
      지연된 쓰기 실패로 인한 PIO 모드 로 강제 설정된걸
      DMA로 다시 돌려주는 팁입니다.

      지연된 쓰기 실패는 주로
      케이블의 불량, 파워서플라이의 전력부족 혹은 고장
      하드디스크 컨트롤러의 이상(확률낮음)
      등으로 일어납니다.

  9. 지나가던잉여 2010.07.21 13:11 신고  댓글주소  수정/삭제  댓글쓰기

    DMA Ultra 5 로 교체됬는데도 또 지연된 쓰기가 나오는..

    • Favicon of http://narue.kr BlogIcon 나루에 2010.07.21 17:53 신고  댓글주소  수정/삭제

      흐음 계속 DMA에서 PIO로 변한다는거는 제가 보기엔
      지금 시스템에 뭔가 문제가 있는듯 싶습니다.
      위의 팁은 지연된 쓰기 실패를 해결하는 팁이 아닌
      지연된 쓰기 실패로 PIO로 강제 고정된것을
      풀어주는 팁입니다.

      지연된 쓰기실패의 원인을 잡아주는게 중요합니다.
      지연된 쓰기 실패의 주된 원인으로는
      케이블의 불량, 파워서플라이의 전력부족 혹은 고장
      하드디스크 컨트롤러의 이상(확률낮음) 등이 있습니다.

      PIO고정 수법은 임시방편에 불과합니다.
      근본적인 원인을 잡아야 할듯 싶습니다.
      (물론 시스템이 병진이 되서 그러는경우도있습니다)

  10. 지나가던잉여 2010.07.21 13:14 신고  댓글주소  수정/삭제  댓글쓰기

    - 추가 PIO 모드 변화 방지 -

    3. 그리고 0002(세컨더리)에서도 마찬가지로 해줍니다. (IDE채널갯수대로)

    이건 무슨뜻인지.. 만약 네개가 있다면 0001 , 0002 ,0003 ,0004 이 네곳에 똑같이 만들어놓으라는뜻인지좀.
    제가 IDE 네개가있어서 0001/2/3/4 에다가 해놨는데 맞는건지..좀

    • Favicon of http://narue.kr BlogIcon narue 2010.07.21 17:54 신고  댓글주소  수정/삭제

      네~ 맞아요..
      HKEY_LOCAL_MACHINE - SYSTEM - CurrentControlSet - Control - Class -
      {4D36E96A-E325-11CE-BFC1-08002BE10318} - 0001

      HKEY_LOCAL_MACHINE - SYSTEM - CurrentControlSet - Control - Class -
      {4D36E96A-E325-11CE-BFC1-08002BE10318} - 0002

      HKEY_LOCAL_MACHINE - SYSTEM - CurrentControlSet - Control - Class -
      {4D36E96A-E325-11CE-BFC1-08002BE10318} - 0003

      HKEY_LOCAL_MACHINE - SYSTEM - CurrentControlSet - Control - Class -
      {4D36E96A-E325-11CE-BFC1-08002BE10318} - 0004

      이렇게 4개를 손보시면 될거 같아요...

  11. 지나가던잉여 2010.07.23 17:59 신고  댓글주소  수정/삭제  댓글쓰기

    위의 적절한 답변에 감복하고있습니다

    제 컴퓨터의 근본적인 원인은. 아마 후자(시스템의 볍씨화)라고 생각 되네요.

    사람불러서 해결을 시켜야 겠군요..

  12. 2011.01.28 12:13  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  13. 선비 2011.01.28 12:13 신고  댓글주소  수정/삭제  댓글쓰기

    컴맹도 모르긋다.ㅋㅋ

  14. 윤상필 2011.03.14 09:53 신고  댓글주소  수정/삭제  댓글쓰기

    먼저 감사합니다.
    지연쓰기 이것때문에 오만 가지 다 해봐도 안돼던 것이 주인장님 말씀되로 하니 바로 해결이 되었습니다. 묵은때가 씻겨 가는느낌이에요.

    • Favicon of http://narue.kr BlogIcon 나루에 2011.03.15 22:29 신고  댓글주소  수정/삭제

      오.. 다행이네요...
      pio 문제가 은근히 짜증이 많이나죠..
      그것때문에 포맷을 할수도 없고....
      윈도우 미는거 귀찮자나요 ㅎ
      좋은하루되세요..

  15. 순례자 2012.05.29 14:33 신고  댓글주소  수정/삭제  댓글쓰기

    덕분에 포맷 시키지않고 쓰고있어요^^

    감사합니다

  16. 조군 2013.02.27 12:47 신고  댓글주소  수정/삭제  댓글쓰기

    pio모드 되있는 IDE채널 제거후..
    디워드값에서 ResetErrorCountersOnSucces값의 데이터 값을 1해주고나서..
    재부팅하고나서 어느정도 시간은 Ultra DMA모드로 되있는데..
    쫌 지나면 다시 PIO모드가 됩니다.
    인터넷에 나오는거 웬만한것은 다해봐도..계속 뜹니다..
    하드디스크도 새로 산것인데......윈도우 XP거든여?
    왜 이런것일까요?
    왜 계속 PIO모드가 되는겁니까?ㅠㅠㅠ

  17. 냥꾼 2013.03.27 05:21 신고  댓글주소  수정/삭제  댓글쓰기

    저기 질문이있는데
    PIO모드인상태로 인터넷 영상이나 파일같은거 받으면 그 자료가 깨질수도있나요?

  18. Playing 2016.05.16 01:24 신고  댓글주소  수정/삭제  댓글쓰기

    안녕하세요
    오래된 XP 컴퓨터를 쓰다가 갑자기 CPU 가 높아져서 검색 검색하다가 오게 됐습니다

    보니까 어쩌면 DMA PIO 와 관련된 거 같더라구요
    하도 느려서 프로그램 Process explorer 에서 살펴보니 interrupts 수치가 50 정도로 많이 올라갈때가 있고 너무 느려집니다
    CMOS 에서 살펴보니 'PIO 모드' 'DMA 모드'가 나와있길래 찾아봤드랬죠

    아무튼 잘 모르지만 잘 읽고 갑니다!

    휴~ 제가 하드디스크 3개를 쓰는데 하나만 PIO로 바꾸고 그것이 부팅 관련 메뉴가 있는 주력 하드디스크라서 느려진 거 아닐까 고민 중입니다(1번-구형 hdd, 2번-구형 sdd, 3번-신형 hdd)

    아무튼 관련 내용을 공유해주셔서 고맙습니다!(어제부터 갑자기 그러더군요;;)

  19. Playing 2016.05.16 02:01 신고  댓글주소  수정/삭제  댓글쓰기

    고맙습니다!!
    IDE PIO 로 나온 것을 삭제 후 알려주신 것처럼 두번 재부팅하니 고맙습니다!!
    IDE PIO 로 나온 것을 삭제 후 알려주신 것처럼 두번 재부팅하니 잘 됩니다^^잘 됩니다^^

About

by 나루에

공지사항

블로그에 낚인 물고기

· Total
: 963,703
· Today
: 9
· Yesterday
: 168

FTP개인서버