하드웨어적 입장에서 보면, NAND flash의 경우, 블럭보다는 Page단위로
읽고 쓰기를 합니다.

대체로 1블럭은 32Page로 구성되어 있구요.
그래서, 블럭넘버 * 32 (블럭당 페이지수) = 블럭넘버<<32 = 페이지넘버를
계산해서 이값을 NAND 읽기쓰기 동작에서 사용합니다.
참고하세요.



철이 wrote..
: BOOL NAND_EraseBlock(TNandInfo *NandDev, int BlockNumber)에서
: BlockAddr = BlockNumber << 5 ; 부분이 도무지 이해가 되지 않습니다.
: 만약에 BlockNumber가 998이라면 왜 이걸 왼쪽으로 5bit 쉬프트 하면
: 주소가 되는 건가요?
: 질문의 요점은 다음과 같습니다.
: 1. 왜 BlockNumber를 쉬프트하면 주소가 되나요?
: 2. 64MB 이상 플래시의 블럭주소로 볼때 오른쪽으로 5bit 쉬프트해야 하는 건
: 아닌가요?
:
: 많이 바쁘시겠지만 도움 부탁드립니다.
: 수고하세요...