답변:
그것에 많은 상충 관계가 있습니다.
위키 백과도 :
추가 트랜지스터에도 불구하고 접지선과 비트 라인의 감소는 칩당 더 조밀 한 레이아웃과 더 큰 저장 용량을 허용합니다. 또한 NAND 플래시는 일반적으로 특정 수의 결함을 포함 할 수 있습니다 (BIOS ROM에 사용되는 NOR 플래시는 결함이 없을 것으로 예상 됨). 제조업체는 트랜지스터의 크기를 안정적으로 만들 수있는 크기 이하로 축소하여 사용 가능한 스토리지 양을 최대화하려고합니다. 추가 축소를 통해 사용 가능한 총 스토리지를 늘리는 것보다 오류 수가 더 빨리 증가 할 수 있습니다.
따라서 NOR 플래시는 더 쉽게 해결할 수 있지만 밀도가 높지 않습니다.
꽤 괜찮은 비교 PDF를 살펴보십시오 .
NOR은 대기 전력이 낮고 코드 실행이 쉽고 읽기 속도가 높습니다.
NAND는 훨씬 낮은 유효 전력 (쓰기 비트가 더 빠르고 저렴함), 더 높은 쓰기 속도 (많은 것으로), 훨씬 더 높은 용량, 비트 당 훨씬 더 낮은 비용을 가지며 파일 스토리지 사용이 매우 쉽습니다. 코드 실행에 사용할 때 읽기 속도가 느리기 때문에 실제로 고스트해야합니다.
위의 멋진 테이블이있는 작은 섹션을 인용하려면 ...
NAND 플래시는 저렴하므로 가능하면 사용하고 싶습니다. 단점은 신뢰할 수 없다는 것입니다. NAND 플래시는 대부분의 작업에서 더 빠르며 작은 예외 액세스 읽기는 예외입니다. 메모리의 임의 주소에서 몇 바이트를 읽으려면 NOR이 더 빠릅니다. 큰 메모리 읽기의 경우 NAND는 합리적으로 잘 수행되며 실제로 큰 청크에 대해 NOR보다 우선합니다.
대부분의 임베디드 운영 체제에는 NAND 플래시의 오류를 수정하는 코드가 포함되어 있습니다. 하드웨어 오류 수정 기능이있는 마이크로 컨트롤러도 있습니다. 실제 문제는 부팅시 발생합니다. 1 단계 부트 로더에는 오류 수정 코드가 없으며 아직 하드웨어 ECC를 실행하도록 메모리 컨트롤러를 구성하지 않았습니다. 그것은 약간의 닭과 계란 문제입니다 .ECC 코드를 아직로드하지 않았기 때문에 오류없이 ECC 코드를로드 할 수 없습니다.
이 문제를 해결하기 위해 일부 메모리 제조업체는 오류가없는 것으로 보장되는 칩의 특정 영역 (처음 4kB 등)을 지정합니다. 소프트웨어 ECC가있는 부트 로더 (예 : U-boot )를 넣고 오류없이 읽은 다음 OS 커널을 읽고 오류를 수정합니다. 부트 로더를 직렬 플래시에 저장할 수도 있고 OS 커널이나 파일 시스템과 같은 큰 것들에 NAND 플래시를 사용할 수도 있습니다.
이 Atmel 애플리케이션 노트가 유용하다는 것을 알았습니다 : http://www.atmel.com/dyn/resources/prod_documents/doc6255.pdf
NOR은 임의 액세스를 허용하지만 NAND는 허용하지 않습니다 (페이지 액세스 전용).
에서 위키 백과 :
NOR 및 NAND 플래시는 메모리 셀 간의 상호 연결 구조에서 이름을 얻습니다. NOR 플래시에서는 셀이 비트 라인에 병렬로 연결되어 셀을 개별적으로 읽고 프로그래밍 할 수 있습니다. 셀의 병렬 연결은 CMOS NOR 게이트에서 트랜지스터의 병렬 연결과 유사합니다. NAND 플래시에서는 셀이 직렬로 연결되어 NAND 게이트와 유사합니다. 직렬 연결은 병렬 연결보다 적은 공간을 사용하므로 NAND 플래시 비용이 줄어 듭니다. 자체적으로 NAND 셀이 개별적으로 읽히고 프로그래밍되는 것을 막지는 않습니다.