콘텐츠로 이동

PSRAM과 다른 임베디드 메모리 유형 비교

PSRAM—pseudo-static RAM—은 많은 임베디드 제품에서 부족한 온칩 SRAM과 비휘발성 저장소 사이의 실용적인 용량 계층입니다. 프레임버퍼, 대용량 그래픽 에셋, 오디오 버퍼, 모델 데이터, 또는 내부 SRAM에 들어가지 않는 애플리케이션 작업 집합에 사용합니다. 웨어러블 같은 일부 저전력 제품에서는 PSRAM이 별도의 DRAM 서브시스템보다 시스템 수준의 전력 측면에서 더 적합할 수 있지만, 결과는 메모리 디바이스, 컨트롤러, 동작 상태, 워크로드에 따라 달라집니다. PSRAM은 여전히 휘발성 작업 메모리이므로 플래시를 대체하지 않으며, 지연 시간이 중요한 데이터를 두기에 자동으로 적합한 위치도 아닙니다.

이 페이지를 통해 어떤 데이터를 SRAM, PSRAM, 영구 저장소 중 어디에 둘지 결정한 다음, SF32 제품군과 해당 칩, 모듈, 보드 문서에서 선택한 SKU에 실제로 탑재된 메모리를 확인하십시오.

한 문장으로 보는 모델

PSRAM은 내부적으로 DRAM과 유사한 동적 저장 방식을 사용하지만 리프레시를 메모리 디바이스 내부에서 관리하므로, 호스트는 정적 RAM에 가깝게 사용할 수 있습니다.

실용적인 원칙은 간단합니다. 용량이 필요하면 PSRAM을 사용하고, 결정적인 저지연 작업에는 SRAM을 남겨 두며, 외부 메모리 인터페이스를 공유되는 성능 및 전력 예산으로 취급하십시오.

정적 방식과 동적 방식: "Pseudo"라는 이름의 유래

여기서 정적과 동적은 전원이 인가된 동안 RAM 셀이 비트를 유지하는 방식을 가리킵니다. 전원이 꺼졌을 때 데이터가 남는지는 나타내지 않습니다. SRAM과 DRAM은 모두 휘발성입니다.

  • SRAM 비트는 정적 래치에 저장됩니다. 한 번 기록되면 디바이스에 전원이 공급되고 사양 범위 내에서 동작하는 동안에는 주기적인 리프레시 없이 유효하게 유지됩니다. 대신 메모리 셀이 커서 용량이 제한되고 비트당 실리콘 면적과 비용이 늘어납니다.
  • DRAM 비트는 커패시터의 전하로 저장됩니다. 이 전하는 시간이 지나면서 누설되므로 전하가 너무 줄어들기 전에 비트를 주기적으로 읽고 복원해야 하며, 이를 리프레시 동작이라고 합니다. 셀이 작아 DRAM은 밀도 면에서 유리하지만, 일반적으로 리프레시를 스케줄링하고 타이밍 규칙을 지키는 DRAM 전용 컨트롤러가 필요합니다.

PSRAM은 내부적으로 흔히 동적인 DRAM과 유사한 셀 어레이를 사용합니다. PSRAM 디바이스가 리프레시를 직접 수행하며, DRAM 특유의 제어 동작 상당 부분을 패키지 내부에 숨깁니다. 따라서 호스트 모델은 SRAM에 더 가깝습니다. 호스트는 눈에 보이는 주기적 리프레시 스케줄을 관리하지 않고 주소 지정 가능한 메모리 공간을 읽고 씁니다. 그렇다고 모든 PSRAM이 SRAM과 같은 전기적 인터페이스나 타이밍을 가진다는 뜻은 아닙니다. PSRAM이 pseudo-static인 이유는 저장 셀 자체가 정적으로 바뀌었기 때문이 아니라, 동적 RAM이 정적 RAM의 외부 동작을 흉내 내기 때문입니다.

이 단순화는 인터페이스 수준에서 이루어질 뿐, 물리적인 트레이드오프가 사라지는 것은 아닙니다. PSRAM에도 디바이스별 명령 지연 시간, 버스트 동작, 클럭 한계, 슬립 모드, 접근 제약, 소비 전력이 여전히 존재합니다. 모든 PSRAM 부품을 서로 바꿔 쓸 수 있다고 보지 말고, 선택한 PSRAM의 데이터시트를 읽으십시오.

PSRAM이 아닌 것

PSRAM은 비휘발성 저장소가 아니며, 내부 SRAM의 지연 시간을 그대로 보장하는 대체품도 아니고, 충분한 시스템 대역폭을 보장하지도 않습니다. PSRAM은 용량 문제를 해결하며, 지연 시간, 전력, 대역폭 비용은 선택한 디바이스와 워크로드가 결정합니다.

메모리 유형 비교

표: 임베디드 메모리 유형 비교
메모리 유형 전원 없이 데이터 유지 핵심 특성 대표적인 강점 주요 설계 트레이드오프 대표적인 임베디드 역할
SRAM 아니요 정적 래치, 리프레시 없음 내부 SRAM은 일반적으로 지연 시간이 짧고 예측 가능하며, 실제 타이밍은 SoC 메모리 경로와 경합에 따라 달라집니다 면적 효율이 낮아 온칩 용량이 제한되며, 상시 동작 설계에서는 누설 전류가 중요합니다 스택, 자주 쓰는 코드/데이터, DMA 디스크립터, 인터럽트에 민감한 버퍼, 밀결합 메모리
DRAM 아니요 커패시터 기반 저장, 외부에서 관리하는 리프레시와 DRAM 컨트롤러 대용량에서 높은 밀도와 낮은 비트당 비용 리프레시, 컨트롤러 복잡도, 로우/뱅크 타이밍, 전력 관리 작업 애플리케이션 프로세서 시스템과 대용량 임베디드 시스템의 메인 메모리
PSRAM 아니요 리프레시와 제어를 메모리 디바이스 내부에 숨긴 DRAM 유사 저장 방식, SRAM과 유사한 호스트 모델 내부 SRAM을 넘어 작업 메모리 용량을 확장하며, 일부 저대역폭~중대역폭 설계에서는 통합을 단순화하고 별도의 DRAM 서브시스템 대비 시스템 전력을 줄일 수 있습니다 내부 SRAM보다 지연 시간이 길고 예측하기 어려우며, 다른 사용자와 공유하는 인터페이스 대역폭이 한정됩니다 프레임버퍼, 대용량 UI/오디오/AI 버퍼, 압축 해제된 에셋, 애플리케이션 작업 집합
RRAM / ReRAM 예 셀의 저항을 변화시켜 데이터를 표현 소형 비휘발성 임베디드 메모리가 될 가능성과 낮은 대기 전력 쓰기 동작, 내구성, 데이터 보존 특성, 편차, 공급 가능 여부가 공정과 제품에 크게 좌우됨 지원되는 기술을 사용할 수 있는 경우의 비휘발성 설정, 코드/데이터 저장 또는 특수한 임베디드 메모리 용도
MRAM 예 자기 상태로 데이터를 표현 빠른 비휘발성 접근, 높은 내구성, 리프레시 불필요 비용, 밀도, 쓰기 에너지, 사용 가능한 용량이 MRAM 세대와 제품에 따라 다름 지원되는 디바이스에서의 영구 상태, 코드/데이터 저장 또는 빠른 비휘발성 작업 데이터

이 표는 정성적인 비교입니다. "더 빠름", "더 조밀함", "더 낮은 전력"은 유용한 방향일 뿐 부품 선택의 결과는 아닙니다. 공정 노드, 인터페이스, 온도, 접근 패턴, 대기 모드, 패키지, 컨트롤러 구성에 따라 겉보기에 명백한 비교가 뒤집힐 수 있습니다.

PSRAM이 저전력 제품에 적합한 이유

PSRAM은 일반적인 별도 DRAM과 다른 동작 지점을 목표로 하는 경우가 많습니다. 중간 수준의 용량과 대역폭, 더 단순한 인터페이스, 적은 컨트롤러 오버헤드, 저전력 디바이스 상태가 그 특징입니다. DRAM급 대역폭이 필요하지 않은 일부 웨어러블, 휴대용, 배터리 구동 설계에서는 시스템 수준의 전력을 줄일 수 있습니다. 이것이 일반적으로 보장되는 것은 아닙니다. 선택한 메모리, 컨트롤러, 활성 및 슬립 상태, 대표 워크로드를 대상 시스템에서 비교하십시오.

바이트당 또는 접근당 전력에 대한 보편적인 약속도 아닙니다. 공격적으로 클럭을 올린 PSRAM 인터페이스, 지속적으로 스캔되는 프레임버퍼, 디스플레이/오디오/AI 트래픽이 많은 경우에는 여전히 메모리 전력 예산을 좌우할 수 있습니다. 실제 클럭, 전압, 온도, 접근 패턴에서 선택한 디바이스의 활성, 대기, 데이터 유지, 웨이크업 전류를 비교하고, 지원되고 유익한 경우에는 Half-Sleep 같은 모드를 사용하십시오.

시스템에서 각 메모리가 맞는 위치

데이터의 수명과 접근의 긴급도를 기준으로 생각하십시오.

  1. 인터럽트에 민감하고 자주 접근하며 지연 시간이 중요한 코드나 데이터는 내부 SRAM 또는 문서화된 다른 저지연 메모리에 두십시오.
  2. 크고 활발하게 사용되는 작업 집합은 용량 이점이 지연 시간과 대역폭 비용보다 클 때 PSRAM에 두십시오.
  3. 전원이 꺼져도 유지되어야 하는 데이터는 비휘발성 기술에 두십시오. 일반적으로 NOR 플래시, NAND 플래시, eMMC이며, 제공되는 시스템에서는 RRAM이나 MRAM도 해당됩니다.
  4. 자주 쓰이지 않는 에셋은 비휘발성 저장소에 두고, 현재 동작에 필요한 부분만 옮기거나 디코딩하십시오.

따라서 일반적인 임베디드 배치는 다음과 같습니다.

다이어그램: 일반적인 임베디드 메모리 배치
Persistent firmware image, assets, settings -> Non-volatile storage
Active large buffers and framebuffers -> PSRAM
Hot stacks, control state, DMA data  -> Internal SRAM

이는 배치 정책일 뿐, 모든 버퍼가 따라야 하는 규칙은 아닙니다. 자주 재사용되는 작은 이미지는 SRAM에 두는 것이 맞을 수 있고, 큰 모델은 플래시나 PSRAM에 남겨 둘 수 있으며, 디스플레이 시스템은 전체 프레임버퍼가 내부에 들어가지 않는다는 이유만으로 PSRAM이 필요할 수 있습니다.

PSRAM 성능은 인터페이스 예산입니다

PSRAM 용량이 크다고 해서 대역폭이 무제한이 되지는 않습니다. 호스트는 지원되는 SF32 구성에서 OPI나 HPI 같은 인터페이스로 PSRAM에 접근하며, 이 경로는 CPU 접근, 캐시, DMA, 그래픽, 디스플레이 스캔아웃, 오디오, 무선, 저장소 활동이 공유할 수 있습니다. PSRAM 용량이 충분한 제품이라도 여러 클라이언트가 동시에 인터페이스를 요구하면 끊김이나 언더런이 발생할 수 있습니다.

인터페이스 폭과 전송 속도

원시 페이로드 속도는 데이터 라인 폭, 클럭당 전송 횟수, 선택한 인터페이스 클럭으로 결정됩니다.

payload rate (MB/s) = data lines × transfers per clock × interface clock (MHz) ÷ 8

아래 DTR/DDR 행은 클럭당 두 번의 전송을 가정하고, 듀얼 채널 행은 두 채널이 표시된 클럭으로 동시에 동작할 수 있다고 가정합니다. 이는 계산상의 가정이며, 모든 칩, 패키지, 메모리 디바이스, SDK 구성이 표시된 모드나 주파수를 지원한다는 확인이 아닙니다.

표: 이론적인 시리얼 메모리 페이로드 속도
인터페이스 및 전송 모드 페이로드 데이터 라인 클럭당 전송 횟수 MHz당 페이로드 속도 비교용 대표 클럭 이론적인 페이로드 속도
QSPI / STR 4 1 0.5 MB/s 72 MHz 36 MB/s
QSPI / DTR 4 2 1 MB/s 72 MHz 72 MB/s
OPI / DDR 8 2 2 MB/s 144 MHz 288 MB/s
듀얼 채널 OPI / DDR 2 × 8 = 16 2 4 MB/s 144 MHz 576 MB/s
HPI / DDR 16 2 4 MB/s 144 MHz 576 MB/s
듀얼 채널 HPI / DDR 2 × 16 = 32 2 8 MB/s 144 MHz 1,152 MB/s

데이터 라인 열은 클럭, 칩 셀렉트 등의 제어 핀이 아니라 페이로드 신호만 셉니다. 이 클럭 값은 문서화된 예시이며 제품군 전체의 한계가 아닙니다. SF32LB52-DevKit-LCD 가이드에는 144 MHz OPI-PSRAM과 STR 모드의 72 MHz QSPI-NOR가 기재되어 있고, SF32LB58-DevKit-LCD 가이드에는 144 MHz HPI-PSRAM과 72 MHz 외부 플래시를 사용하는 보드 변형이 기재되어 있습니다. QSPI/DTR 행이 72 MHz를 사용하는 것은 더블 데이터 레이트 전송의 효과만 분리해서 보여 주기 위해서입니다. 듀얼 채널 행은 두 채널을 동시에 사용할 수 있다고 가정하며, 합산된 버스 폭을 보여 줄 뿐 하나의 CPU 스트림이 두 배의 유효 속도를 얻는다는 보장은 아닙니다. 이 값은 버스 페이로드 상한이지 측정된 애플리케이션 처리량이 아닙니다. 명령/주소 사이클, 더미 사이클, 리프레시, 읽기/쓰기 전환, 컨트롤러 한계, 캐시 미스, DMA 중재, PCB 신호 무결성, 동시 클라이언트가 사용 가능한 속도를 낮춥니다. 무엇이 유효한지는 선택한 칩, 패키지, 메모리 디바이스, SDK 구성이 결정합니다.

SiFli 칩 모델 가이드에는 대표적인 듀얼 채널 구성이 기재되어 있습니다. SF32LB566VCB36은 MPI1에 8 MB OPI-PSRAM, MPI2에 4 MB를 탑재하고, SF32LB586VDD36은 각 인터페이스에 16 MB HPI-PSRAM을 탑재하며, SF32LB587VEE56은 각 인터페이스에 32 MB HPI-PSRAM을 탑재합니다. 이 부품 번호 예시는 메모리 토폴로지를 설명할 뿐, 두 채널이 표의 합산 페이로드 속도를 하나의 클라이언트에 제공한다는 보장이 아닙니다. 대역폭이 중요한 설계의 규모를 정하기 전에 정확한 주문 가능 부품과 SDK 메모리 맵을 확인하십시오. 같은 제품군의 다른 패키지나 SKU는 다른 구성을 사용할 수 있습니다.

두 개의 메모리 채널이 중요한 이유

듀얼 채널 구성의 가장 큰 이점은 단순히 합산 수치가 커진다는 데 있지 않습니다. 선택한 SF32 메모리 맵과 디스플레이/컨트롤러 구성에서 독립적인 배치가 가능하다면, 한 채널은 대역폭이 중요한 클라이언트에 할당하고 다른 채널은 나머지 시스템이 사용하도록 할 수 있습니다.

RGB/DPI 디스플레이가 대표적인 예입니다. 디스플레이 컨트롤러는 픽셀 클럭 속도로 프레임버퍼를 지속적으로 읽어야 하며, 읽기가 지연되면 언더런, 시각적 아티팩트, 불안정한 화면 갱신이 발생할 수 있습니다. 그 프레임버퍼는 한 PSRAM 채널이 담당하는 메모리에 두고, CPU, ePicasso, DMA가 접근하는 UI 에셋, 오디오 버퍼 등의 작업 데이터는 다른 채널이 담당하는 메모리에 두면 디스플레이 읽기 경로에서 피할 수 있는 경합을 줄일 수 있습니다.

이를 자동으로 보장되는 기능으로 여기지 말고 대역폭 할당 전략으로 사용하십시오. 선택한 디바이스가 필요한 채널 매핑을 제공하는지, 프레임버퍼 기준 주소가 의도한 채널에 위치하는지, 디스플레이 컨트롤러와 다른 버스 마스터가 채널을 독립적으로 사용할 수 있는지 확인하십시오. 스캔아웃 안정성, 프레임 시간, 오디오/Bluetooth/CPU 동시 부하를 측정하십시오. 인터리빙, 공유 패브릭, 부적절한 버퍼 레이아웃은 기대한 이점을 줄일 수 있습니다.

캐시와 외부 메모리 실행

코드나 데이터가 외부 DRAM/PSRAM에 있을 때, I-cache와 D-cache는 해당 영역을 캐시 가능으로 구현, 활성화, 매핑한 SF32 디바이스에서 반복되는 느린 접근을 크게 줄일 수 있습니다.

  • I-cache는 최근에 가져온 명령어 라인을 CPU 가까이에 보관합니다. 루프, 재사용되는 함수, RTOS 경로, UI 코드처럼 지역성이 있는 코드는 캐시가 채워진 뒤 반복적인 PSRAM 또는 NOR 페치를 피할 수 있습니다.
  • D-cache는 최근에 읽은 데이터 라인을 CPU 가까이에 보관합니다. 테이블, 에셋, 작업 데이터를 CPU가 반복해서 읽을 때 도움이 되지만, 한 번만 지나가는 스트림이 사용하는 대역폭을 없애 주지는 않습니다.
  • 비일관성(non-coherent) DMA에는 명시적인 버퍼 소유권과 캐시 관리가 필요합니다. 하드웨어가 일관성을 유지하지 않는 캐시 가능 버퍼의 경우, DMA 엔진이나 주변 장치가 읽기 전에 CPU가 기록한 데이터를 클린(clean)하십시오. DMA 쓰기 전에는 더티 캐시 라인이 나중에 들어오는 데이터를 덮어쓰지 못하도록 플랫폼의 수신 버퍼 준비 절차를 따르십시오. 전송이 완료된 후에는 CPU가 결과를 읽기 전에 오래된 라인을 무효화(invalidate)하십시오. DMA가 버퍼를 소유하는 동안 CPU는 그 버퍼에 접근해서는 안 됩니다.

DMA 버퍼는 관련 없는 데이터와 라인을 공유하지 않도록 캐시 라인 전체 경계에 맞춰 할당하십시오. 공유된 더티 라인을 무효화하면 다른 변수의 변경 사항이 사라질 수 있고, DMA 쓰기 후에 클린하면 새 데이터를 덮어쓸 수 있습니다. 선택한 SDK 또는 RTOS API, 해당 캐시 라인 크기, 완료 확인, 필요한 메모리 배리어를 사용하십시오. 다른 프로세서의 캐시 API나 정렬 값을 그대로 복사하지 마십시오. 캐시 불가 버퍼나 하드웨어 일관성 버퍼는 대신 해당 플랫폼 고유의 동기화 규칙을 따릅니다.

따라서 캐시는 지역성 최적화이지 대역폭 예산을 대체하는 수단이 아닙니다. 스트리밍 프레임버퍼 스캔아웃이나 일회성 버퍼 전송은 여전히 필요한 데이터 속도에 가깝게 PSRAM 인터페이스를 소비할 수 있습니다.

부팅 시 PSRAM으로 복사 (Non-XIP)

SiFli의 부팅 흐름 가이드는 SF32LB52x와 SF32LB58x 모두에 대해, 외부 NAND 플래시에 저장된 애플리케이션을 PSRAM으로 복사해 실행하는 구성을 문서화하고 있으며, 두 가이드 모두 SDIO를 통한 외부 SD 플래시 부팅 옵션도 설명합니다. SiFli는 이를 non-XIP라고 부릅니다. XIP는 NOR 플래시 주소에서 코드를 직접 실행하므로 저장 주소와 실행 주소가 같고, non-XIP는 코드를 플래시에서 RAM으로 복사하므로 두 주소가 다릅니다. SF32LB52x 부팅 흐름 가이드와 SF32LB58x 부팅 흐름 가이드(중국어)를 참고하십시오. 이는 문서화된 구성이며 모든 SKU나 보드에 대한 보장이 아닙니다. 대상 제품이 지원하는 부팅 매체, 메모리 맵, 링커/파티션 구성, SDK를 확인하십시오. 선택한 코드를 PSRAM으로 옮기면 부족한 온칩 SRAM을 다른 용도로 남겨 둘 수 있지만 실행이 더 빨라진다는 보장은 없으므로, 실제 캐시 설정과 메모리 경합 조건에서 대표 워크로드를 측정하십시오.

대표적인 SiFli 구성에서 72 MHz QSPI/STR NOR의 원시 페이로드 상한은 36 MB/s이고, 144 MHz OPI/DDR 및 HPI/DDR PSRAM은 각각 288 MB/s와 576 MB/s에 도달하며, 듀얼 채널 변형은 합산 기준으로 각각 576 MB/s와 1,152 MB/s에 도달합니다. 이 수치는 인터페이스 페이로드 상한이지 애플리케이션 성능 결과가 아닙니다. 지원되는 구성에서는 PSRAM 인터페이스의 상한이 더 높기 때문에 QSPI NOR보다 명령어 페치 대역폭이 더 클 수 있지만, 그것만으로 PSRAM에서 실행하는 쪽이 더 빠르다는 점이 입증되지는 않습니다. 결과는 메모리 디바이스 지연 시간, 코드 지역성, 캐시 구성, PSRAM 경합, 애플리케이션이 CPU, 캐시, 대역폭 중 어디에 제약을 받는지에 따라 달라집니다. 원시 버스 속도 비율로 애플리케이션의 속도 향상을 추정하지 말고 부팅 시간, 캐시 미스 동작, 대표 워크로드를 측정하십시오.

PSRAM 비중이 큰 설계에서는 대상 하드웨어에서 다음 질문을 검증하십시오.

  • 피크 사용자 시나리오에서 PSRAM을 동시에 읽고 쓰는 것은 무엇입니까?
  • 버퍼를 순차적으로, 버스트로, 무작위로, 또는 CPU가 반복해서 읽습니까?
  • 캐시 동작이 반복 접근을 줄여 주며, DMA 전후의 캐시 관리 단계가 올바릅니까?
  • 더 큰 전체 프레임버퍼를 할당하는 대신 프레임버퍼에 부분 갱신, 더 작은 드로우 버퍼, 압축을 사용할 수 있습니까?
  • 디스플레이 갱신, Bluetooth 오디오, 애플리케이션 작업이 동시에 일어나면 어떻게 됩니까?
  • 선택한 PSRAM의 대기 또는 슬립 동작이 데이터 유지 및 배터리 수명 요구 사항을 충족합니까?

프레임 시간, 버퍼 언더런, CPU 스톨, 전류, 복구 동작을 측정하십시오. PSRAM 용량이나 인터페이스 폭만으로 시스템 성능을 추정하지 마십시오.

해당되는 AP Memory PSRAM의 Half-Sleep

일부 AP Memory PSRAM 부품은 저장된 데이터를 유지하는 초저전력 상태인 Half-Sleep 모드를 제공합니다. 시스템이 PSRAM 활동을 멈추는 동안 대용량 버퍼가 유효해야 하지만, 유휴 구간이 지날 때마다 플래시에서 버퍼를 다시 채우거나 다시 계산할 여력이 제품에 없을 때 유용합니다.

Half-Sleep은 일반적인 PSRAM 기능이 아니라 디바이스별 전력 모드입니다. AP Memory APS6408L-OBMx DDR OPI Xccela PSRAM datasheet에 한 가지 구현이 문서화되어 있습니다. 진입 및 종료 타이밍, 모드 레지스터 인코딩, 허용되는 클럭 동작, 전류, 온도 한계, 데이터 유지 보장은 PSRAM 제품군이나 리비전 간에 이식할 수 없습니다. 실제 탑재된 부품의 정확한 데이터시트와 SDK 지원을 사용하십시오.

상대적인 전력 절감

아래 비교는 제조사에서 제공하는 AP Memory Rev. 3.7 데이터시트를 사용합니다. 한계값을 사용하기 전에 리비전과 탑재된 부품을 확인하십시오.

전체 어레이 데이터 유지 상태의 동일한 APS6408L-OBMx 기준 부품에 대해, AP Memory는 다음과 같은 일반적인 평균 대기 전류와 Half-Sleep 전류를 게시합니다. 공급 전압이 같을 때 상대적인 전류 감소는 곧 상대적인 PSRAM 전력 감소입니다.

표: APS6408L-OBMx 전체 어레이 Half-Sleep 절감
온도 표준 대기 전류 Half-Sleep 전류 상대적 감소
25 °C 66 µA 20 µA 약 70%
85 °C 190 µA 120 µA 약 37%

따라서 25 °C에서 Half-Sleep은 전체 어레이를 유지하면서 기준 부품의 **표준 대기 전류의 약 30%**를 사용합니다. 데이터 유지 전류는 온도에 따라 증가하므로 85 °C에서는 절감 폭이 더 작습니다. 이 수치는 활성 읽기/쓰기 전류와 Half-Sleep을 비교한 것이 아니라 두 가지 유휴/데이터 유지 상태를 비교한 것이며, 설계 보장값이 아닌 일반적인 값입니다. 부분 어레이 리프레시 설정은 전류를 더 바꿀 수 있지만 모든 메모리 영역을 유지하지 못할 수 있으므로, 데이터 유지 정책이 허용하는 경우에만 사용하십시오.

Half-Sleep 설계 규칙

150 ms 전류 보증 조건을 이 리비전에서 표 30에 기재된 최소 Half-Sleep 지속 시간 150 µs 및 종료 타이밍 150 µs와 혼동하지 마십시오. 평균 전류가 낮더라도 리프레시 전류 피크가 포함될 수 있으므로 레귤레이터와 디커플링 응답을 검증하십시오. Half-Sleep과 달리 Deep Power Down에서는 메모리 내용이 사라지고 종료 시 모드 레지스터가 리셋됩니다.

기준 데이터시트의 전류 표 주석은 클럭 토글이 없는 64 Mb 디바이스를 기준으로 하며, 25 °C의 슬로 리프레시 수치를 얻으려면 Slow Refresh Frequency를 활성화해야 합니다. VDD와 VDDQ는 1.62~1.98 V로 규정되어 있습니다. 규정된 Half-Sleep 전류는 해당 모드에 150 ms 동안 머문 후에만 보장되며, 이것이 표의 일반적인 값을 보장 한계값으로 바꾸지는 않습니다. 더 짧은 유휴 구간에서는 안정된 전류를 전체 구간에 적용하지 말고 진입, 데이터 유지, 종료의 전체 파형을 측정하십시오.

  • 모든 CPU, DMA, 디스플레이, 오디오, 무선, 저장소 클라이언트가 해당 PSRAM 영역에 대한 접근을 멈춘 뒤에만 Half-Sleep에 진입하십시오. 진입 중이나 슬립 중의 트랜잭션은 전송을 손상시키거나 디바이스를 예기치 않게 깨울 수 있습니다.
  • 종료를 예정된 웨이크업 비용으로 취급하십시오. 코드, DMA, 주변 장치 컨트롤러가 다시 PSRAM에 접근하기 전에 펌웨어는 규정된 종료 타이밍을 확보해야 합니다.
  • PSRAM 전원과 선택한 디바이스에 필요한 신호를 데이터 유지 사양 범위 안에 두십시오. Half-Sleep은 문서화된 전원 조건이 충족되는 동안에만 데이터를 유지하며, 비휘발성 저장소를 대체하지 않습니다.
  • PSRAM 전류만이 아니라 전체 시스템 상태를 측정하십시오. CPU, 디스플레이, 인터페이스 클럭, 다른 서브시스템이 계속 활성 상태이면 절감 효과가 사라질 수 있습니다.

유휴 구간이 짧으면 진입/종료 오버헤드가 절감분보다 클 수 있습니다. 정지 시간이 길면 프레임버퍼, 디코딩된 에셋, 모델 버퍼를 Half-Sleep에서 유지하여 비용이 큰 재로드나 재구성 작업을 피할 수 있습니다. 대상 보드에서 측정한 활성, Half-Sleep, 웨이크업 에너지로 손익분기 시간을 정의하십시오.

SF32 설계의 PSRAM

SF32 메모리 구성은 SKU, 패키지, 모듈에 따라 다릅니다. SiFli 모듈 문서에는 SF32LB5x 모듈 전반에 걸쳐 OPI-PSRAM과 HPI-PSRAM 옵션이 기재되어 있으며, 용량과 토폴로지도 모듈 코드에 따라 다르다는 점이 나와 있습니다. 일부 구성은 PSRAM을 같은 패키지에 넣고, 다른 제품은 외부 메모리 인터페이스를 제공합니다. SF32 제품군 이름이 있다는 사실이나 외부 메모리 인터페이스가 있다는 사실만으로 모든 변형에 PSRAM이 포함되어 있다는 점이 입증되지는 않습니다.

용량, 인터페이스, 패키지 제약, 라우팅 요구 사항, 주변 장치를 동시에 사용할 때의 제약은 정확한 제품 페이지와 설계 가이드에서 확인하십시오. 애플리케이션 설계에서의 활용 방식은 다음과 같습니다.

  • 그래픽: SRAM이 부족할 때 대형 프레임버퍼, 드로우 버퍼, 이미지, 폰트에 PSRAM을 사용하십시오. 그래픽 개요에서 렌더링에서 디스플레이까지의 흐름과 PSRAM 대역폭에 따른 영향을 설명합니다.
  • 오디오 및 Bluetooth: 동시 트래픽을 테스트한 후에만 더 큰 큐나 에셋에 사용하십시오. 지연 시간에 민감한 제어 구조는 적절한 저지연 메모리에 두는 것이 좋습니다.
  • AI: 필요할 때 대형 모델 가중치나 텐서에 사용하고, 자주 쓰이거나 지연 시간이 중요한 버퍼는 문서화된 최적의 메모리 영역에 두십시오.
  • 압축: eZip은 디코딩 전에 저장되는 에셋 크기와 트래픽을 줄일 수 있습니다. 지원되는 SF32LB55x, SF32LB56x, SF32LB58x 디바이스에서 TurboPixel은 고정된 손실 압축률로 최종 프레임버퍼에 필요한 PSRAM 저장 공간과 대역폭을 줄이며, 에셋 저장 형식이 아닙니다.

실용적인 선택 규칙

문제가 용량이고 워크로드가 선택한 메모리 경로의 지연 시간과 대역폭 한계를 감당할 수 있다면 PSRAM을 선택하십시오. 문제가 결정적 지연 시간, 잦은 소규모 무작위 접근, 시간이 중요한 DMA/제어 경로라면 내부 SRAM을 늘리거나 버퍼링을 다시 설계하는 쪽을 선택하십시오. 전원이 꺼져도 데이터가 유지되어야 하면 비휘발성 메모리를 선택하고, RRAM이나 MRAM은 정확한 SoC 또는 메모리 제품이 공급 가능 여부와 동작 한계를 문서화한 경우에만 선택하십시오.

가장 견고한 아키텍처는 여러 계층을 의도적으로 사용합니다. 영속성에는 비휘발성 저장소, 큰 실시간 데이터에는 PSRAM, 신속하고 예측 가능하게 처리해야 하는 작업에는 SRAM을 사용하는 것입니다.

최종 업데이트: