답변:
NAND는 N 형 AND를 나타냅니다 . 로직 게이트가 실리콘으로 만들어지는 방식 을 종종 언급한다 .
플래시 메모리는 또한 실리콘 칩으로 제작되며 NAND 게이트를 사용합니다. 이것은 NAND 플래시 라는 용어로 이어진다 . 나는 이것이 당신이 말하는 NAND라고 생각하지만, 완전성을 위해 배경을 언급하고 싶었습니다.
NAND 플래시를 사용하여 스토리지를 구축 할 수 있지만 액세스 할 수있는 방법이 필요합니다.
예를 들어 PCB에 NAND 플래시 칩을 넣고 컨트롤러 칩과 일부 USB 로직을 추가하면 USB 펜 드라이브를 얻을 수 있습니다. 또는 SD 컨트롤러를 추가 하여이 형식으로 넣으면 SD 카드를 얻을 수 있습니다.
둘 다 비교적 간단한 장치이며 정보를 저장할 때 고정 된 위치에 씁니다. NAND 플래시에 대한 쓰기 수가 제한되어 있기 때문에 이것은 나쁜 것입니다.
컴퓨터에 일관된 이미지를 제공하면서 모든 쓰기가 NAND에 고르게 분산되도록 컨트롤러를 장치에 추가 할 수 있습니다. 이를 위해서는 장치 부분에 훨씬 더 많은 지능이 필요하며 SSD 에서 수행됩니다 . (SSD는 기계식 하드 디스크를 대체해야하므로 많은 쓰기가 예상됩니다).
컨트롤러가 구현되는 방식의 차이점은 무엇입니까?
SD / USB pendive의 경우 : 다른 인터페이스와 거의 동일합니다.
SSD : 완전히 다른 컨트롤러.
아니면 기술이 서로 다릅니 까?
낸드 스토리지를 구현하는 방법에는 여러 가지가 있습니다. 주요 구현 차이점은 다음과 같습니다.
그것은 eMMC를 떠난다 .
전에는 들어 본 적이 없지만 Wikipedia에 따르면 플래시 메모리 메모리 카드 표준입니다.
Raw Flash는 자체 프로토콜을 사용하며이 프로토콜에는 페이지 읽기, 페이지 쓰기 및 블록 지우기가 포함됩니다. 디스크와 같이 작동하지 않습니다. 디스크는 블록을 읽고 블록을 쓸 수 있고, 플래시는 페이지를 읽고 쓸 수 있습니다. 그리고 새 데이터를 쓰려면 먼저 블록 이라는 페이지 세트를 지워야합니다. 블록이 마모되기 전에 제한된 횟수 만 지울 수 있으며 더 이상 완전히 지워지지 않습니다.
메모리 카드 형식입니다. SD 카드에는 소형 마이크로 컨트롤러와 NAND가 포함되어 있습니다. 마이크로 컨트롤러는 디스크와 같은 블록 액세스를 가져 와서웨어 레벨링 및 블록 스페어 링을 수행 할뿐만 아니라 의미있는 NAND 작업으로 변환하는 FTL (Flash Translation Layer)을 구현합니다. SD 카드는 "호스트"측에서 SPI 프로토콜을 사용합니다. USB SD 카드 리더는 USB 대용량 저장 명령에서 SPI SD 명령으로 변환합니다.
이것은 기본적으로 마더 보드에 내장 된 SD 카드로 생각할 수있는 것을 의미합니다 (SD 및 MMC 표준은 매우 유사합니다. SD 카드 리더가 일반적으로 MMC 카드를 읽을 수있을 정도로 충분합니다). 일반적으로 내부 SPI 버스를 통해 나머지 하드웨어에 연결됩니다. 휴대폰 및 ARM 하드웨어 및 기타 내장형 장치 (예 : 라우터)에이 기능이있을 수 있습니다. 업데이트 : 일부 최신 가격의 Windows 넷북에도 이러한 기능이 적용되기 시작했습니다. SPI 버스는 SATA 버스만큼 빠르지 않기 때문에 SD 카드 및 eMMC는 SSD보다 느립니다.
컨트롤러 + 하드 드라이브 케이스에 낸드 NAND. 컨트롤러는 디스크와 같은 블록 액세스를 가져 와서웨어 레벨링 및 블록 스페어 링을 수행 할뿐만 아니라 의미있는 NAND 작업으로 변환하는 FTL (Flash Translation Layer)을 구현합니다. "Sandforce"등과 같은 일부 컨트롤러 유형이 잘 알려져 있습니다. SSD는 "호스트"측의 SATA 프로토콜 및 커넥터를 사용합니다.
Guruplug와 같은 원시 NAND를 다루는 상황에서는 마모 레벨링 및 블록 스페어 링을 수행해야합니다. Linux 파일 시스템은 jffs2
이와 같은 작업을 수행하지만 대부분의 SD 카드, USB 카드 등에서 작동하는 FTL이 필요한 경우 필요하지 않습니다.