메모리 갱신

Memory refresh

메모리 리프레시란 컴퓨터 메모리 영역에서 정기적으로 정보를 읽고 [1]정보를 보존하기 위해 수정하지 않고 동일한 영역에 읽기 시작한 정보를 즉시 다시 쓰는 과정입니다.메모리 새로 고침은 가장 널리 사용되는 유형의 컴퓨터 메모리인 반도체 D램(Dynamic Random-Access Memory) 작동 중에 필요한 백그라운드 유지 관리 프로세스로,[2] 실제로 이 메모리 클래스의 결정적인 특성입니다.

메모리 데이터의 비트는 [2][3]칩상의 소형 콘덴서에 전하의 유무로서 기억된다.시간이 지남에 따라 메모리 셀의 전하가 누출되므로 새로 고치지 않으면 저장된 데이터가 손실됩니다.이를 방지하기 위해 외부 회로는 정기적으로 각 셀을 읽고 다시 쓰기 때문에 캐패시터의 전하가 원래 수준으로 복원됩니다.메모리 리프레시 사이클은 메모리 셀의 다음 영역을 리프레시하여 연속된 사이클로 모든 셀을 리프레시합니다.이 프로세스는 메모리 회로에 의해 백그라운드에서 자동으로 수행되며 사용자에게 [2]투명합니다.리프레시 사이클이 발생하고 있는 동안, 메모리는 통상의 읽기 및 쓰기 조작에는 사용할 수 없지만, 최신의 메모리에서는, 이 「오버헤드」시간이 길지 않기 때문에, 메모리 조작의 속도가 큰폭으로 저하하지 않습니다.

리프레시가 필요없는 전자메모리는 스태틱랜덤액세스메모리(SRAM)[2]라고 불립니다.SRAM 회로는 칩 상의 면적을 필요로 합니다.SRAM 메모리 셀은 단일 트랜지스터 및 DRAM용 캐패시터에 비해 4~6개의 트랜지스터를 필요로 하기 때문입니다.그 결과 데이터 밀도는 D램에 비해 훨씬 낮고 비트당 가격도 높다.따라서 D램은 컴퓨터, 비디오 게임 콘솔, 그래픽 카드 및 대용량과 [4]저비용 애플리케이션을 위한 메인 메모리로 사용됩니다.메모리 갱신이 필요하기 때문에 D램 타이밍과 회선은 SRAM 회로보다 훨씬 복잡하지만 D램의 밀도와 비용 이점이 이 복잡성을 정당화합니다.

DRAM 리프레시 구조

메모리가 동작하고 있는 동안은, 제조원이 지정한 최대 갱신 간격(통상은 밀리초 단위)내에, 각 메모리 셀을 반복해 갱신할 필요가 있습니다.리프레시에서는, 데이터에의 액세스에 사용되는 통상의 메모리 조작(읽기 및 쓰기 사이클)이 아니고, 메모리 회로내의 다른 카운터 회로에 의해서 생성되어 통상의 메모리 [5][6]액세스간에 인터럽트 되는 리프레시 사이클이라고 불리는 특수한 사이클이 사용됩니다.

메모리 칩 상의 스토리지 셀은 행과 열의 직사각형 배열로 배치됩니다.DRAM의 읽기 프로세스는 파괴적이며 메모리 셀 전체의 전하를 제거하기 위해 메모리 셀의 각 열에 하나씩 감지 증폭기라고 불리는 칩에 데이터를 임시로 보관하기 위한 특수 래치가 있습니다.통상적인 읽기 동작 중에는 데이터를 읽고 래치한 후 감지 증폭기가 액세스한[2][7] 행의 데이터를 다시 쓴 후 비트를 단일 컬럼에서 출력으로 송신한다.즉, 칩 상의 일반적인 읽기 전자제품은 메모리 열 전체를 병렬로 새로 고칠 수 있으므로 새로 고침 프로세스가 대폭 빨라집니다.통상적인 읽기 또는 쓰기 사이클은 메모리의 행을 갱신하지만, 통상적인 메모리액세스가 필요한 시간내에 모든 행에 도달하는 것은 신뢰할 수 없기 때문에, 개별의 갱신 프로세스가 필요합니다.새로 고침 프로세스에서 일반 읽기 주기를 사용하는 대신 새로 고침 주기라고 하는 단축 주기를 사용합니다.리프레시 사이클은 읽기 사이클과 비슷하지만 다음 두 가지 이유로 더 빨리 실행됩니다.

  • 새로 고침에는 행 주소만 필요하므로 열 주소를 칩 주소 회로에 적용할 필요가 없습니다.
  • 셀에서 읽은 데이터는 출력 버퍼 또는 데이터 버스에 공급하여 CPU로 전송할 필요가 없습니다.

리프레시 회로는 각 셀이 리프레시 되도록 리프레시 시간 간격 내에 칩 상의 각 행에 대해 리프레시 사이클을 실행해야 합니다.

리프레시 회선의 종류

일부 초기 시스템에서는 마이크로프로세서가 리프레시를 제어하고 타이머가 리프레시를 실행하는 서브루틴을 실행하는 정기적인 인터럽트를 트리거했지만, 이는 리프레시 프로세스를 중지하고 메모리 [6]내의 데이터를 손실하지 않으면 마이크로프로세서를 일시 정지하거나 싱글스텝 또는 에너지 절약 최대 절전 모드로 전환할 수 없음을 의미합니다.따라서 현대의 시스템 업데이트는 메모리 [2]컨트롤러의 회로에 의해 처리되거나 칩 자체에 의해 처리되는 경우가 증가하고 있습니다.의사 정적인 RAM(PSRAM) 등 일부 DRAM 칩은 칩에 모든 리프레시 회로를 갖추고 있어 컴퓨터의 나머지 부분에 관해서는 [8]스태틱 RAM과 같이 기능합니다.

보통 리프레시 회로는 칩의 행 주소 라인에 적용되는 리프레시 행의 주소를 포함하는 리프레시 카운터 및 카운터를 증가시켜 [5]행을 통과하는 타이머로 구성됩니다.이 카운터는 메모리 컨트롤러 회로의 일부이거나 메모리칩 자체의 일부일 수 있습니다.두 가지 스케줄링 전략이 [6]사용되었습니다.

  • 버스트 리프레시 - 모든 행이 리프레시 될 때까지 일련의 리프레시 사이클이 차례로 실행되며, 그 후 다음 리프레시가 필요할 때까지 일반 메모리 액세스가 이루어집니다.
  • 분산 리프레시 - 리프레시 사이클은 메모리액세스와 함께 정기적으로 실행됩니다.

버스트 리프레시에서는 메모리를 사용할 수 없는 시간이 길어지기 때문에 대부분의 최신 시스템,[5] 특히 실시간 시스템에서 분산 리프레시가 사용되고 있습니다.분산 새로 고침에서 새로 고침 주기 간격은 다음과 같습니다.

예를 들어 DDR SDRAM의 리프레시 타임은 64ms, 행은 8,192개이므로 리프레시 사이클 간격은 7.8μs입니다.[5][9]

최신 세대의 DRAM 칩에는 일체형 리프레시 카운터가 포함되어 있으며 메모리 제어 회로는 이 카운터를 사용하거나 외부 카운터로부터의 로우 주소를 제공할 수 있습니다.이러한 칩에는 "컬럼 선택"(CAS) 및 "행 선택"(RAS) [6]라인의 다양한 신호 패턴에 따라 선택되는 세 가지 표준 새로 고침 방법이 있습니다.

  • "RAS only refresh" - 이 모드에서는 새로 고칠 행의 주소가 주소 버스 회선에 의해 제공되므로 메모리 컨트롤러의 외부 카운터와 함께 사용됩니다.
  • "CAS before RAS refresh"(CBR) - 이 모드에서는 온칩카운터가 새로고침되는 행을 추적하고 외부회선은 새로고침 [5]사이클만 시작합니다.이 모드에서는 메모리주소 버스버퍼의 전원을 켤 필요가 없기 때문에 소비전력이 줄어듭니다.이것은 대부분의 현대 컴퓨터에서 사용됩니다.
  • "Hidden refresh" - 이전 읽기 또는 쓰기 [5]사이클과 조합할 수 있는 CBR 새로 고침 사이클의 대체 버전입니다.데이터 전송 중에 새로 고침이 병렬로 수행되므로 시간이 절약됩니다.

2012년 D램 칩 세대 이후 "RAS 전용" 모드가 없어지고 내부 카운터를 사용하여 리프레쉬를 생성합니다.칩에는 컴퓨터가 sleep 모드일 때 사용하는 sleep 모드가 추가되어 있습니다.이 모드에서는 온칩 발진기가 내부 리프레시 사이클을 생성하여 외부 클럭을 셧다운할 수 있습니다.

오버헤드 갱신

메모리가 새로 고침에 소비하는 시간의 비율(새로고침 오버헤드)은 시스템 [10]타이밍에서 계산할 수 있습니다.

예를 들어 SDRAM 칩에는 213 = 8,192 행, 64 ms의 새로 고침 간격이 있으며 메모리 버스는 133 MHz로 실행되며 새로 고침 사이클은 4 클럭 [10]사이클이 소요됩니다.리프레시 사이클[10] 시간은

따라서 업데이트 사이클에 걸리는 메모리 칩 시간은 0.4% 미만입니다.SDRAM 칩은 각 칩의 메모리를 뱅크별로 분할하여 병렬로 리프레시하여 시간을 절약합니다.따라서 필요한 업데이트 주기 수는 사양에 명시된 단일 뱅크의 행 수입니다. 2012년 세대 칩은 8,192개로 동결되었습니다.

새로 고침 간격

리프레시 동작간의 최대 시간 간격은 각 DRAM 테크놀로지에 대해 JEDEC에 의해 표준화되어 제조원의 칩 사양에 규정되어 있습니다.보통 DRAM의 경우 밀리초, eDRAM의 경우 마이크로초 범위입니다.DDR2 SDRAM 칩의 경우 64 [11]: 20 ms입니다.메모리 셀 캐패시터에 저장된 전하 대 누출 전류에 대한 비율에 따라 달라집니다.새로운 세대의 메모리 칩이 등장할 때마다 콘덴서의 형상이 축소되고 있기 때문에, 후세대 콘덴서는 충전을 억제하고 있습니다만, DRAM의 리프레시 시간은 1M 칩의 경우 8밀리초, 16M 칩의 경우 32밀리초, 256M 칩의 경우 64밀리초로 개선되고 있습니다.이러한 개선은 주로 누출을 크게 줄이는 트랜지스터를 개발함으로써 달성됩니다.리프레시 시간이 길수록 디바이스의 리프레시 시간이 단축되어 메모리 액세스에 필요한 시간이 늘어납니다.이전 D램에서는 교체 오버헤드가 칩 시간의 최대 10%를 차지했지만, 최신 칩에서는 이 비율이 1%[citation needed] 미만입니다.

반도체 내 누설전류는 온도에 따라 증가하므로 고온에서 리프레시 시간을 단축해야 한다.DDR2 SDRAM 칩은 온도 보정 리프레시 구조로 되어 있습니다.칩 케이스 온도가 85°C(185°F)[11]: 49 를 넘으면 리프레시 사이클 시간을 절반으로 단축해야 합니다.

대부분의 DRAM 메모리셀에서 판독 가능한 전하값과 데이터의 실제 지속성은 리프레시 시간보다 훨씬 길며, 최대 1~10초입니다.[12]그러나 트랜지스터 누출 전류는 프로세스 변화에 따라 동일한 칩 상의 서로 다른 메모리 셀 간에 크게 다릅니다.1비트가 손실되기 전에 모든 메모리셀이 새로고침되도록 제조원은 새로고침 시간을 비교적 [citation needed]짧게 설정해야 합니다.

이 DRAM 갱신 빈도는 스탠바이 모드에서의 저전력 전자기기 소비 전력의 3분의 1을 소비합니다.연구진은 리프레시 레이트를 줄임으로써 충전 간 배터리 실행 시간을 연장하기 위한 몇 가지 접근방식을 제안했습니다.예를 들어 온도 보상 리프레시(TCR) 및 DRAM에서의 유지 인식 배치(RAPID) 등이 있습니다.실험 결과 일반적인 시판 DRAM 칩에서는 소수의 약한 셀만이 실제로는 최악의 경우 64밀리초의 리프레시 [13]간격을 필요로 하며, 그 후에도 지정된 온도 범위의 상한에서만 리프레시 간격을 필요로 하는 것으로 나타났습니다.실온(예: 24°C(75°F))에서 동일한 약한 셀을 500ms마다 한 번씩 새로 고쳐야 올바른 작동이 가능합니다.시스템이 가장 약한 1% 페이지의 사용을 피할 수 있는 경우, 일반적인 DRAM은 70°C(158°F)에서도 1초에 1회만 갱신하면 나머지 99%의 페이지가 올바르게 동작합니다.일부 실험은 이 두 가지 보완 기술을 결합하여 10초 간격으로 [13]실온에서 올바른 작동을 제공합니다.

오류에 강한 애플리케이션(예를 들어 그래픽스 애플리케이션)의 경우 DRAM 또는 eDRAM에 저장된 중요하지 않은 데이터를 보존 기간보다 낮은 속도로 갱신하면 에너지 절약과 약간의 품질 저하가 발생합니다.이는 대략적[citation needed]컴퓨팅의 예입니다.

SRAM 및 DRAM 메모리 테크놀로지

SRAM

다른 종류의 반도체 메모리인 스태틱랜덤액세스메모리(SRAM)에서는 데이터가 캐패시터 상에 전하로 저장되지 않고 한 쌍의 크로스커플 인버터에 저장되므로 SRAM을 갱신할 필요가 없다.두 가지 기본적인 메모리 유형은 장점과 단점이 있습니다.정적 메모리는 전원이 켜져 있을 때 영구적인 것으로 간주할 수 있습니다.즉, 한번 쓴 메모리는 특별히 변경될 때까지 유지됩니다.따라서 시스템 설계 측면에서는 사용이 간단한 경향이 있습니다.그러나 각 SRAM 셀의 내부 구조는 D램 셀에 필요한 단일 트랜지스터에 비해 6개의 트랜지스터가 필요하기 때문에 SRAM의 밀도는 D램보다 훨씬 낮고 비트당 가격은 훨씬 높다.

CPU 기반의 갱신

일부 초기 마이크로프로세서(예: Zilog Z80)는 Row-Address Strobe(RAS)를 제공하여 동적 메모리 셀을 새로 고칠 수 있는 특별한 내부 레지스터를 제공했으며, 새로 고침 주기마다 레지스터가 증가합니다.이는 시스템에서 이미 사용되고 있는 다른 집적회로(Motorola 6845 등)에 의해서도 가능합니다.Z80 등의 CPU에서는 하드웨어 설계가 심플화되어 있기 때문에 RAS의 갱신이 큰 세일즈 포인트였습니다.여기서 RAS 리프레시는 운용상 용장 클럭 사이클(T-States) 중, 즉 버스가 필요하지 않은 명령 디코딩/실행 중에 주소와 제어선의 고유한 조합으로 신호된다.이러한 T-상태에서는 버스가 비활성화되는 대신 리프레시 레지스터가 제어선의 조합과 함께 주소 버스에 표시되며 리프레시 회로에 표시됩니다.

Z80의 초기 버전에서는 16kB RAM 칩(128줄)의 보급성과 선견지명이 부족하여 R 레지스터는 7비트 폭 범위(0~127줄, 128줄)에서만 증가했습니다. 8번째 비트는 사용자가 설정할 수 있었지만 내부 사이클링에 의해 변경되지 않았습니다.64kbit+D램 칩(8비트 RAS 포함)이 급속히 등장함에 따라 누락된8번째 비트를 합성하여 몇 밀리초 후에 메모리 블록이 손실되는 것을 방지하기 위해 리프레시 신호를 중심으로 추가 회로 또는 로직을 구축해야 했습니다.상황에 따라서는 인터럽트를 사용하여 적절한 시간에 8번째 비트를 플립할 수 있었고, 따라서 R 레지스터의 전체 범위(256행)를 커버할 수 있었습니다.하드웨어 측면에서는 더 보편적이지만 더 복잡한 다른 방법은 8비트 카운터 칩을 사용하는 것입니다.이 칩의 출력은 R 레지스터 대신 새로 고침 RAS 주소를 제공합니다.CPU로부터의 새로 고침 신호가 이 카운터의 클럭으로 사용되었기 때문에 새로 고침될 때마다 메모리 행이 증가합니다.cle. Z80 코어의 최신 버전과 라이선스가 부여된 "work-alikes"는 자동 사이클링에 8번째 비트가 포함되지 않는 문제를 해결했으며, 최신 CPU는 이러한 기본 프로비저닝을 크게 확장하여 DRAM 업데이트를 위한 풍부한 올인원 솔루션을 제공하고 있습니다.

유사 정전기 DRAM

의사 스태틱 RAM(PSRAM 또는 PSDRAM)은 스태틱 RAM(SRAM)과 동일하게 동작하도록 리프레시 및 주소 제어 회로가 내장된 다이내믹 RAM입니다.D램의 고밀도와 진정한 SRAM의 사용 편의성을 결합한 PSRAM(Numonyx제)은 애플 아이폰 등 임베디드 [14]시스템에 사용된다.

일부 DRAM 컴포넌트에는 '셀프 리프레쉬 모드'가 있어 의사 스태틱 동작에 필요한 로직과 거의 동일하지만 이 모드는 스탠바이 모드와 같은 경우가 많습니다.PSRAM의 경우와 같이 별도의 DRAM 컨트롤러 없이 동작하지 않고 DRAM 컨트롤러의 동작을 정지하여 DRAM에 저장된 데이터를 잃지 않고 전력을 절약할 수 있도록 하기 위해 주로 제공됩니다.PSRAM의 내장형은 1T-SRAM이라는 이름으로 MoSys에 의해 판매되고 있습니다.이것은 엄밀히 말하면 D램이지만 SRAM과 비슷하게 동작하며 닌텐도 게임큐브와 Wii 콘솔에 사용된다.

리프레쉬를 사용하는 기타 메모리 테크놀로지

또한 몇몇 초기 컴퓨터 메모리 기술에서는 메모리 새로 고침과 유사한 정기적인 프로세스가 필요했습니다.Williams 튜브는 DRAM과 마찬가지로 기본적으로 각 비트에 대해 저장된 값이 새로 고쳐지지 않으면 점차 감소하는 용량성 메모리이기 때문에 유사성이 가장 높습니다.

자기 코어 메모리에서 각 메모리 셀은 전원이 꺼진 상태에서도 데이터를 무기한 유지할 수 있지만 메모리 셀에서 데이터를 읽으면 내용이 지워집니다.그 결과, 메모리 컨트롤러는 통상, 비파괴 읽기 동작의 착각을 일으키기 위해서, 각 읽기 사이클 후에 리프레시 사이클을 추가한다.

데이터는 실제로 전송로에 신호로 저장되기 때문에 지연선 메모리는 지속적인 갱신이 필요합니다.이 경우 리프레시 레이트는 메모리액세스 시간과 동등합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ 에 있어서의 「시큐어 사이클」Laplante, Phillip A. (1999). Comprehensive Dictionary of Electrical Engineering. Springer. p. 540. ISBN 3540648356.
  2. ^ a b c d e f Ganssle, Jack Ganssle; Tammy Noergaard; Fred Eady; Lewin Edwards; David J. Katz (2007). Embedded Hardware. Newnes. p. 106. ISBN 978-0750685849.
  3. ^ Jacob, Bruce; Spencer Ng; David Wang (2007). Memory Systems: Cache, DRAM, Disk. Morgan Kaufmann. pp. 431–432. ISBN 978-0123797513.
  4. ^ Laasby, Gitte (March 10, 2014). "Consumers eligible for money under computer chip price-fixing settlement". Milwaukee Journal-Sentinel. Milwaukee, Wisconsin. Retrieved August 20, 2014.
  5. ^ a b c d e f Reinhardt, Steven K. (1999). "Memory, p.9-3" (PDF). EECS 373 Design of Microprocessor-based Systems, Lecture Notes, Fall 1999. Electrical Engineering Dept., Univ. of Michigan. Archived from the original (PDF) on January 2, 2014. Retrieved August 26, 2012.
  6. ^ a b c d Heath, Steve (2003). Embedded Systems Design, 2nd Ed. Newnes. pp. 88–89. ISBN 0750655461.
  7. ^ "Memory 1997" (PDF). Integrated Circuit Engineering. 1997. p. 7.4. Smithsonian 웹 사이트 칩 컬렉션
  8. ^ Kumar (2009). Fundamentals Of Digital Circuits, 2nd Ed. India: PHI Learning Pvt. Ltd. p. 819. ISBN 978-8120336797.
  9. ^ "JEDEC Double Data Rate (DDR) SDRAM Specification" (PDF). JESD79C. JEDEC Solid State Technology Assoc. March 2003. Retrieved August 27, 2012., 페이지 20, Baylor University의 공학 컴퓨터 과학 대학 웹사이트.
  10. ^ a b c Godse, D.A.; A.P.Godse (2008). Computer Organization. India: Technical Publications. p. 4.23. ISBN 978-8184313567.
  11. ^ a b "JEDEC DDR2 SDRAM Specification" (PDF). ECS.Baylor.edu. JESD79-2b. JEDEC Solid State Technology Assoc. January 2005. Retrieved August 27, 2012.
  12. ^ 제이콥, 2007, 페이지 356
  13. ^ a b 라비케이벤카테산, 스티븐 허, 에릭 로텐버그."RAPID(Retention-Aware Placement in DRAM: 준휘발성 DRAM용 소프트웨어 방법)". 2006.
  14. ^ EE Times, 아이폰 3G 해체