2K 페이지 크기 NAND 플래시에 쓸 때 RAM 메모리 저장


10

Samsung K9WAG08U1D NAND flash칩용 드라이버를 작성 중 입니다. 메모리 칩 사양에 따르면 페이지 크기는 2048 바이트 (2kB)입니다. 내가 사용하고 TI MSP430F2619RAM의 4096 바이트 (4kB의)을 가지고있는합니다. 즉, 플래시에 쓰려면 2k 메모리 버퍼를 할당해야합니다. 내 응용 프로그램은 프로토콜 변환기이므로 전송 처리 및 처리를 위해 추가 버퍼가 필요합니다. 플래시 페이지 크기로 인해 RAM 요구 사항을 줄이는 더 나은 방법을 제안하십시오.

답변:


7

한 번에 페이지 레지스터를 모두 채울 필요는 없습니다.

직렬 데이터 입력 명령 ( 0x80), 열 주소 및 행 주소 를 작성하여 페이지 쓰기 (예 : "페이지 프로그램"작업)를 시작 합니다. 그런 다음 데이터를 페이지 레지스터로 전송합니다 (최대 2112 바이트). 이 전송은 필요한 청크 사이의 지연으로 청크로 나눌 수 있습니다.

페이지 레지스터를 채운 후에는 페이지 프로그램 확인 명령 ( 0x10) 을 사용하여 페이지 레지스터에서 어레이로 전송을 시작합니다 .


NAND의 flashs는 일반적으로 페이지 당 4 부분 쓰기로 제한되어 있음을 유의하시기 바랍니다

1
@Jacen 나는 페이지 당 부분 쓰기를 말하는 것이 아니다. 이는 파트 당 별도의 명령 / 주소 / 데이터 / 명령 시퀀스에 의해 수행됩니다. 필자는 필요한 경우 바이트 당 하나의 "청크"가 될 수있는 페이지 레지스터로의 전송을 분리하는 것을 말합니다.
Patrick

기본적으로 현재의 드라이버 로직은 RAM의 2K 버퍼가 가득 찰 때까지 기다렸다가 플래시에 쓰는 것입니다. 그러나 이제 최소 1 바이트 RAM 버퍼도 가질 수 있습니다.

그래, 맞아 패트릭, 난이 옵션을 잊었 어
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.