낸드플러시란? 플래시 메모리란? NAND 플래시에 대한 주요 사실

NAND와 NOR: 그것들이 무엇이고 무엇과 함께 먹나요?

플래시 메모리에 관한 뉴스를 읽으면서 많은 사람들이 NOR 및 NAND와 같은 이상하고 욕설적인 약어를 접한 것 같습니다. 동시에, 원칙적으로 의미에 대한 해독은 제공되지 않았으며 이에 대한 설명을 찾지 못할 가능성이 큽니다. 이 문제에 대해 최소한 어느 정도 명확성을 갖도록 노력합시다.

따라서 약어 NOR 및 NAND는 특정 플래시 메모리 단위에 사용되는 논리 게이트 유형을 나타냅니다. NOR은 NOR 게이트를 나타내고 NAND는 NOT AND를 나타냅니다. 하지만 지금은 당신에게 강좌를 가르쳐줄 기분이 아니기 때문에 부울 대수학게다가 필요하지 않은 디지털 논리의 기본은 이러한 기술을 사용한 결과에만 집중하겠습니다.
플래시 드라이브의 주요 기능은 정보를 저장하는 것입니다. 여기에서 첫 번째 차이점이 나옵니다. 오늘날 NAND 기술로 달성한 기록 밀도는 NOR에서 달성한 기록 밀도를 초과하며 그 차이는 크기 단위로 측정됩니다. 그리고 대용량 저장과 소형화에 대한 요구 사항에 따라 사용되는 플래시 메모리 기술이 명확하게 결정됩니다. 그러나 이것이 유일한 기준은 아닙니다. 마찬가지로 중요한 것은 작성된 프로그램 코드를 메모리에 실행하는 능력입니다. 소위 XIP 기능(XIP - eXecute In Place)이 있습니다. 이러한 가능성은 NOR 기술에는 존재하지만 NAND에는 없습니다. NAND 기술을 사용하여 생산된 메모리의 주요 목적은 데이터를 저장하는 것이며 NOR 기술의 주요 목적은 실행 가능한 프로그램 코드와 데이터(사용 가능한 양이 적기 때문일 뿐만 아니라)를 저장하는 것임이 밝혀졌습니다. 이에 대해서는 잠시 후에 다시 설명하겠습니다.)

플래시 장치는 블록이라는 부분으로 구분됩니다. 이는 특정 물리적 한계를 극복하고 비용상의 이유로 수행되어야 합니다. 특정 블록은 해당 블록이 비어 있거나 지워진 경우에만 플래시 장치에 쓸 수 있습니다. 대부분의 경우 쓰기 작업보다 먼저 지우기 작업을 수행해야 합니다. 그리고 NAND 장치에서 블록 삭제 작업을 즉시 수행할 수 있는 경우 NOR 장치에서는 먼저 블록의 모든 바이트를 0으로 설정해야 합니다. 또한 NOR 장치의 일반적인 블록 크기는 64 또는 128KB(NAND의 경우 8~32KB)이며, 이는 이미 낮은 플래시 속도와 결합되어 쓰기 및 지우기 작업이 더 많은 시간을 차지할 수 있다는 사실로 이어집니다. 몇 초까지. 이는 NOR 플래시를 데이터 저장 매체로 사용하는 데 제한 요소입니다. 성능 측면에서 적합하다면 실행 가능한 코드를 저장하는 데 사용할 수 있습니다. 요구 사항이 높아서는 안됩니다. 시간 삭제 낸드 메모리밀리초 단위로 측정되며 1차입니다. 그리고 불리한 외부 조건에서도 작은 블록 크기는 최소한의 데이터 손실을 보장합니다. 따라서 이 단락을 요약하면 NOR 읽기 작업이 NAND보다 약간 빠릅니다. 반대로 쓰기 작업은 NAND의 경우 더 빠르고 훨씬 더 빠릅니다. 블록 크기가 작기 때문에 NAND는 단위 시간당 삭제 횟수가 더 적고(아래에서 볼 수 있듯이 장치의 수명도 연장할 수 있음) NOR보다 약 3배 빠른 속도로 수행됩니다.

NOR 플래시는 다음과 같은 메모리 장치입니다. 무작위 액세스. NOR 칩에는 각 개별 바이트에 대한 주소 지정 및 쉬운 액세스를 허용하는 인터페이스가 있습니다. NAND 메모리 장치의 I/O 인터페이스는 훨씬 더 복잡하며 장치마다, 개발자마다 다릅니다. 동일한 핀(종종 8개)이 제어 신호, 주소 및 데이터를 전송하는 데 사용됩니다. 또한 NAND 플래시에서는 512바이트 블록 단위로 액세스가 수행됩니다. 액세스당 512바이트를 읽거나 씁니다. 각 블록에 대한 액세스는 무작위이지만 별도의 바이트에 액세스할 수 있는 방법이 없기 때문에 메모리 낸드형어떤 의미에서는 랜덤 액세스 메모리가 아닙니다. 512바이트 블록의 각 바이트는 순차적으로 메모리 버스에 발행되므로 순차적 액세스에 관해 이야기하는 것이 적절합니다. 그것이 그들이 하는 일입니다. 또는 페이지 구성을 통한 메모리에 관한 것입니다. 이제 NOR이 프로그램 저장 및 실행에 더 적합한 이유와 NAND가 데이터 저장에 더 적합한 이유가 더욱 분명해졌습니다.
NAND 메모리 셀의 회로 설계는 더 간단합니다. NOR에 비해 크기가 작기 때문에 기록 밀도가 높아지고 전력 소비가 줄어들며 생산 비용이 절감됩니다.

하지만 어떤 기술도 긍정적인 측면. 이런 의미에서 NAND도 예외는 아닙니다. 모든 드라이브와 마찬가지로 가끔씩 판독 오류가 발생하고 드라이브 전체가 손상될 수 있습니다. 플래시 메모리 장치의 경우 오류 없는 읽기, 불량 블록 처리 및 읽기/쓰기 주기 수에 대해 설명하는 것이 중요합니다. 잘못된 비트 빼기 현상(비트 플리핑이라고 함)은 NOR 메모리보다 NAND 메모리에서 더 일반적입니다. 단일 오류 비트로 인한 손상은 해당 비트가 속한 데이터 유형에 따라 결정됩니다. 따라서 멀티미디어 데이터의 경우 이는 중요하지 않은 것으로 판명되지만 이러한 오류는 프로그램 코드또는 중요한 데이터가 매우 비극적인 결과를 초래할 수도 있습니다. 이미 말했듯이 이 현상은 NOR 메모리에서는 덜 일반적이며 NAND 기술 기반 메모리에는 추가적인 오류 감지 및 수정 메커니즘을 사용해야 합니다.

NAND 메모리 생산 기술은 아직 불완전하며 초기에 메모리에는 일정 수의 비기능적 요소가 포함되어 있습니다. NAND에서는 저장 셀 그룹이 블록으로 결합되므로 블록의 셀이 손상되면 블록 전체가 작동할 수 없게 됩니다. 불량 블록으로 판명되었습니다. 따라서 블록의 상태를 모니터링하고 작동하는 블록만 사용해야 합니다. 이는 불량 페이지가 전혀 포함되지 않은 메모리를 생성하는 것보다 훨씬 쉽습니다. 이러한 생성은 매우 비용이 많이 드는 것으로 나타났습니다. 한 번에 LCD 패널). 명백한 이유로 이러한 유형의 결함은 NOR에서는 일반적이지 않습니다.

플래시 칩의 작동 수명은 각 개별 블록에 대해 가능한 최소 및 최대 지우기 주기 수로 표현됩니다(그리고 각 블록 쓰기에는 반드시 예비 삭제가 수반된다는 것을 이미 알고 있습니다). NOR 기술 기반 메모리의 경우 NAND의 경우 각각 10,000 및 1,000,000주기입니다. 모든 것이 매우 간단하며 언급할 내용이 없습니다.
NOR 메모리를 사용하는 것은 비교적 간단합니다. 별도의 드라이버가 필요하지 않으며 간단하게 설치하여 사용할 수 있습니다. C NAND는 더 어렵습니다. 다른 제조업체다른 인터페이스를 사용하며 드라이버가 필요할 가능성이 높습니다. 그러나 NAND 메모리에는 많은 장점이 있음에도 불구하고 NOR이 어제오늘의 일이라고 생각해서는 안 됩니다. NOR 메모리는 오늘날 필요하지 않은 수많은 장치에 적용됩니다. 대용량성능이 중요하지 않습니다. NAND는 애플리케이션의 복잡성이 더 커짐에 따라 정당화되는 영역에서 애플리케이션을 찾습니다. 사용 가능한 볼륨그리고 생산성.

플래시 제조회사의 소재를 기반으로 함
엠시스템즈, 삼성 등

NAND 플래시 메모리는 NOT AND 게이트를 사용하며 다른 많은 유형의 메모리와 마찬가지로 각 셀에 하나 이상의 데이터 비트가 포함된 대규모 셀 배열에 데이터를 저장합니다.

모든 유형의 메모리는 마모, 물리적 손상, 하드웨어 오류 등 내부 및 외부 요인의 영향을 받을 수 있습니다. 이러한 경우 데이터가 완전히 손실될 위험이 있습니다. 그러한 상황에서는 어떻게 해야 합니까? 추가 하드웨어를 구입하거나, 최후의 수단으로, 손실된 문서 작업을 다시 시작하세요. 낸드플래시 메모리에 대해 좀 더 자세히 살펴보겠습니다.

일반적으로 NAND 어레이는 여러 블록으로 나누어집니다. 이러한 블록 중 하나의 각 바이트는 개별적으로 작성되고 프로그래밍될 수 있지만 한 블록은 어레이에서 지울 수 있는 가장 작은 부분을 나타냅니다. 이러한 블록에서 각 비트는 1이라는 이진 값을 갖습니다. 예를 들어 모놀리식 2GB NAND 플래시 메모리 장치는 일반적으로 2048B(128KB) 블록과 블록당 64개로 구성됩니다. 각 페이지는 2112바이트를 보유하며 2048바이트의 데이터와 64바이트의 추가 영역으로 구성됩니다. 예비 영역은 페이지의 나머지 부분과 물리적으로 다르지 않지만 일반적으로 ECC, 셀 마모 정보 및 기타 오버헤드 소프트웨어 기능에 사용됩니다. NAND 장치는 8비트 또는 16비트 인터페이스로 제공됩니다. 데이터 노드는 양방향 8비트 또는 16비트 데이터 버스를 통해 NAND 메모리에 연결됩니다. 16비트 모드에서는 명령어와 주소가 8비트를 사용하고 나머지 8비트는 데이터 전송 주기 동안 사용됩니다.

NAND 플래시 메모리의 종류

낸드 플래시 메모리는 앞서 언급한 것처럼 싱글 레벨(SLC)과 멀티 레벨(MLC)의 두 가지 유형으로 제공됩니다. 단일 레벨 플래시 메모리 - SLC NAND(단일 레벨 셀)는 고밀도 및 중간 밀도가 필요한 애플리케이션에 매우 적합합니다. 이것은 가장 사용하기 쉽고 편리한 기술입니다. 위에서 설명한 것처럼 SLC NAND는 각 메모리 셀에 1비트의 데이터를 저장합니다. SLC NAND는 상대적으로 높은 읽기 및 쓰기 속도를 제공합니다. 좋은 성능및 수정 알고리즘 단순한 실수. SLC NAND는 비트당 기준으로 다른 NAND 기술보다 비쌀 수 있습니다. 신청서에 필요한 경우 고속고성능 미디어 카드와 같은 판독 장치, 일부 하이브리드 드라이브, SSD(Solid State Device) 또는 기타 임베디드 애플리케이션에는 SLC NAND가 유일하게 적합한 선택일 수 있습니다.

멀티레벨 플래시 메모리 - MLC NAND(다중레벨 셀)는 애플리케이션용으로 설계되었습니다. 고밀도그리고 느린 주기로.

SLC NAND와 달리 다중 레벨 MLC NAND 셀은 메모리 셀당 2비트 이상을 저장합니다. 각 비트의 위치를 ​​결정하기 위해 전압과 전류가 적용됩니다. SLC 장치에는 하나의 전압 레벨만 필요합니다. 전류가 감지되면 비트 값은 1입니다. 전류가 감지되지 않으면 비트는 0으로 지정됩니다. MLC 장치의 경우 세 가지 다른 전압 레벨을 사용하여 비트 값을 결정합니다.

일반적으로 MLC NAND는 장치당 SLC NAND의 두 배 용량을 제공하며 가격도 저렴합니다. SLC NAND는 MLC NAND보다 3배 빠르며 10배 이상의 성능을 제공하기 때문입니다. 그러나 많은 애플리케이션에서 MLC NAND는 가격과 성능의 적절한 조합을 제공합니다. 실제로 MLC NAND는 전체 NAND 플래시 메모리 출하량의 거의 80%를 차지합니다. 그리고 MLC NAND 플래시 메모리는 성능이 자기 하드 드라이브보다 우수하기 때문에 SSD 클래스에서 소비자 선택을 지배합니다.

SSD의 수명은 NAND 플래시 메모리에 기록된 바이트 수에 따라 달라집니다. 대부분의 MLC 기반 장치에는 1~3년 보증이 제공됩니다. 그러나 디스크에 여러 번 다시 쓰기가 예상되는 경우 MLC 기반 SSD의 수명이 짧아질 수 있으므로 장치가 어떻게 사용되는지 정확히 이해하는 것이 중요합니다. 반면, SLC 기반 솔루션은 심각한 PE 사이클에서도 예상보다 3년 더 오래 지속됩니다.

낸드플래시의 역사

낸드플래시 메모리는 올해로 26년을 맞이한 데이터 스토리지 산업에 큰 변화를 가져온 비휘발성 SSD입니다. 플래시 메모리는 1980년경 도시바에서 근무하던 마스오카 후지오 박사가 발명했습니다. 도시바에 따르면 '플래시'라는 이름은 마스오카 박사의 동료인 아리이즈미 쇼지 씨가 제안한 것으로, 메모리 내용을 지우는 과정이 카메라 플래시를 연상시키기 때문이라고 한다.

Toshiba는 1987년에 NAND 플래시 메모리를 상용화했습니다. 그 이후로 많은 것이 바뀌었습니다. 낸드플래시 메모리 시장은 DRAM(Dynamic Random Access Memory) 판매량의 8배에 달하는 판매량을 기록하며 급성장했다. 동적 메모리무작위 접근으로). NAND 메모리는 내구성이 뛰어난 저장 장치이자 많은 사용자의 선택이 되었습니다. 이러한 메모리는 오늘날 다음에서 사용됩니다. 다양한 지도메모리 및 USB 드라이브, 클라우드 스토리지는 업계와 기업, 가정용 장치 등 많은 사용자들 사이에서 발견됩니다. Apple의 iPhone, iPod 및 iPad 장치는 물론 Android 휴대폰 및 태블릿도 NAND 플래시 메모리를 광범위하게 사용합니다. 그 이후로 이 혁신은 소비자가 언제 어디서나 비디오, 음악, 책, 문서 등 자신의 파일에 액세스할 수 있는 새로운 시대로 나아가게 되었습니다.

고품질 NAND는 작은 블록이나 페이지 단위로 정보를 읽도록 프로그래밍되어 있으며, NOR 플래시 메모리는 한 번에 1바이트씩 데이터를 읽고 씁니다. NOR 플래시 메모리는 일반적으로 소량으로 코드를 저장하고 실행하는 장치에 선호됩니다.

기존 마그네틱에 이어 솔리드 스테이트 NAND 플래시 메모리 및 저장 장치 출시 하드 드라이브기업에 서버를 실행하고 주요 비즈니스 애플리케이션을 저장하기 위한 새로운 옵션을 제공했습니다. 이러한 메모리에는 움직이는 부분이 없기 때문에 NAND 플래시는 뛰어난 읽기 및 쓰기 속도로 인해 한 곳에서 다른 곳으로 훨씬 빠르게 데이터를 처리하고 이동할 수 있습니다. 금융 서비스에 사용되는 애플리케이션 소매 업클라우드 웹 서비스는 낸드플래시 메모리를 탑재한 서버를 운영하는 경우가 많다.

플래시 메모리는 메모리 셀과 플로팅 게이트 트랜지스터로 구성된 어레이에 정보를 저장합니다. SLC(단일 계층 셀) 장치에서 각 셀은 1비트의 정보만 저장합니다. MLC(다중 레벨 셀) 장치로 알려진 일부 최신 유형의 플래시 메모리는 플로팅 게이트 트랜지스터와 해당 셀에 적용할 여러 레벨의 전하 중에서 선택하여 셀당 1비트 이상을 저장할 수 있습니다.

NAND 플래시에 대한 주요 사실

플래시 메모리 유형의 발전은 인상적입니다. 업계에서 존경받고 전국적으로 인정받는 일간 전자 뉴스 소스인 StorageNewsletter.com은 오랫동안 NAND 플래시 메모리의 개발을 지켜봐 왔으며, 전체 아카이브이 기술의 존재에 대한 데이터.

플래시 칩: 플래시 메모리와 솔리드 스테이트 드라이브의 생산량 증가와 가격 하락은 NAND 플래시 메모리 칩의 제조 공정과 직접적인 관련이 있습니다. SanDisk와 Toshiba는 이제 128GB MLC 라인과 각각 3비트 셀을 갖춘 칩을 제공합니다. 세계의 주요 플래시 메모리 제조업체 중에는 Intel, Samsung, Seagate, Nvidia, LSI, Micron 및 Western Digital과 같은 회사가 있습니다.

플래시 키(또는 플래시 드라이브): 최초의 USB 플래시 드라이브는 1990년대 후반 M-Systems에 의해 개발되었으며 나중에 SanDisk에 인수되었습니다. 2001년에 IBM은 "키 메모리"라고 불리는 8MB 버전의 메모리를 미국에서 생산하기 시작했습니다. 이제 이러한 메모리의 용량은 128GB에 이르고 가격이 크게 인하되었습니다.

같은 회사인 M-Systems는 1995년에 최초의 SSD 제조업체가 되었습니다. SN.com은 1999년부터 97개 회사가 출시한 590가지 모델을 기록했습니다. 그 중 BiTMICRO Networks는 1999년에 3.5인치 크기, 128MB~10GB의 용량, 액세스 시간 500ms, SCSI-2 인터페이스를 사용하여 읽기 및 쓰기 속도 4MB/s의 E-Disk SNX35 모델을 출시했습니다. . 다음 해에 M-Systems는 3GB FFD SCSI, 2.5인치 SSD를 생산했습니다. 최대 속도 4MB/s로 읽고 3MB/s로 씁니다.

현재 최대 4GB/s의 읽기 속도와 최대 3.8GB/s의 쓰기 속도를 갖춘 16TB 메모리(OCZ의 PCIe SSD)를 얻을 수 있습니다. OCZ는 또한 2012년에 정보 쓰기 및 읽기에 가능한 가장 빠른 시간(읽기 0.04ms, 쓰기 작업 0.02ms)을 발표했습니다.

시스템 오류나 인적 오류 등 다양한 오류로 인해 데이터가 삭제되거나 손상되는 상황을 자주 발견할 수 있습니다. 메모리 카드에서 데이터를 복구하는 방법을 알아볼 수 있습니다.

낸드플래시 탑재 기기 선택 기준

따라서 NAND 플래시 기술이 탑재된 장치(예: SSD)를 선택할 때 다음과 같은 몇 가지 선택 기준을 고려해야 합니다.

SSD 장치, 운영 체제 및 파일 시스템이 TRIM을 지원하는지 확인하십시오. 특히 카드가 하드 드라이브 컨트롤러를 사용하는 경우에는 "쓰레기", 불필요한 데이터 수집 프로세스가 복잡해집니다.

— 귀하의 OS가 모든 정보 소스에서 트림을 지원하는지 확인하십시오. — 지원되지 않는 OS에 대한 트림 기술을 추가하는 데 도움이 되는 응용 프로그램이 있습니다. 하지만 먼저 아프지 않을지 알아보세요 전반적인 성능장치. NAND 메모리를 탑재한 SSD는 고성능, 저소음, 내구성이 필요할 때 탁월한 선택입니다. 외부 요인영향 또는 낮은 에너지 소비: - 일관되지 않은 판독으로 인해 HDD에 비해 성능이 향상될 수 있습니다. — 한계를 초과하지 않도록 장치의 가능한 최대 성능을 알아봅니다. 더 나은 운영 성능과 24시간 운영을 위해서는 MLC보다 SLC를 선택하는 것이 좋습니다. - NAND 기반 SSD는 서버 속도를 높이는 데 적합하지만 "쓰레기" 및/또는 "쓰레기"를 위한 여유 공간도 필요하다는 점을 기억하십시오. 또는 다듬기. — SSD가 포함된 RAID 시스템은 높은 성능과 안정성을 제공하지만 SSD용으로 특별히 설계된 RAID 컨트롤러를 사용하십시오. 그렇지 않으면 너무 많은 "쓰레기"가 축적되어 트림 또는 수집 시스템으로도 처리할 수 없습니다. SSD 장치물론 내구성이 높을수록 더 오래 지속됩니다. - 예를 들어 128GB 대신 100GB, 256GB 대신 200GB 등의 용량을 가진 장치를 선택합니다. 그러면 28GB 또는 56GB 등의 메모리가 마모 계산, 파일 재구성 및 결함이 있는 메모리 셀을 위해 예약된 공간일 수 있음을 확실히 알게 될 것입니다. 산업, 생산 또는 사무실에서 사용하려면 다음과 같은 비즈니스 등급 장치를 선택하는 것이 좋습니다. PCI 익스프레스(PCIe) SSD 장치:

특별히 조정된 SSD 컨트롤러가 포함된 PCIe 카드는 매우 높은 I/O 성능과 우수한 내구성을 제공할 수 있습니다.

2017-05-25 최종 수정일: 2018-10-10

이 기사에서는 다음 내용을 설명합니다. 미세 회로 사용의 특징 낸드 플래시,페이지 레이아웃 및 불량 블록 관리 방법. 프로그래머를 사용한 프로그래밍에 대한 권장 사항.

내용물:

1. 이론

1.1. NAND FLASH 칩과 기존 칩의 차이점

기술의 복잡성을 탐구하지 않으면 미세 회로의 차이점 낸드다른 메모리 칩의 경우 다음과 같습니다.

  • 미세회로 낸드매우 있다 대용량.
  • 미세회로 낸드가질 수 있다 불량(불량) 블록.
  • 페이지 크기기록 2의 거듭제곱이 아니다 .
  • 칩에 쓰기수행 페이지만 , 삭제 부분 - 적어도 블록 단위로 .

몇 가지 차이점이 더 있지만 처음 두 기능이 핵심입니다. 가장 많은 문제를 일으킵니다 불량 블록 존재.

1.2. NAND FLASH 칩 구성

초소형 회로의 구성 및 구조에 대한 자세한 내용 낸드전문 문헌에서 읽을 수 있지만 다음 사항에 유의하십시오.

  • 미세회로 낸드에서 조직 페이지 (페이지), 페이지 블록 (블록), 블록 논리 모듈 ().
  • 페이지 크기 낸드 2의 배수는 아니다.
  • 페이지는 다음으로 구성됩니다. 기초적인그리고 여분의 (여분의) 지역.

개발자에 따르면 낸드 V핵심지역위치해야 합니다 데이터 그 자체, ㅏ 예비(예비) 구역에 - 불량 블록 마커, 체크섬 주요 지역, 기타 서비스 정보.

그들이 이야기한다면 페이지 크기낸드 칩 512 바이트 또는 2K바이트, 그럼 우리 얘기 중이야영형 주요 면적의 크기페이지, 제외 여분의.

1.3. 페이지 여유 영역을 사용하는 방법

NAND 칩 개발자에 따르면 다시 한 번 상기시켜 드리겠습니다. 여유 공간에 있어야위치: 불량 블록 마커, 체크섬메인 데이터 영역, 다른서비스 정보.

대부분의 개발자는 다음과 같이 설명합니다. 위치불량 블록 마커제공된 마이크로 회로에서. 여유 공간 사용의 다른 측면에 대해서는 다음과 같이 제공됩니다. 일반적인 권장 사항일반적으로 Haming에 따라 ECC를 계산하는 알고리즘이 있습니다. 삼성은 조금 더 나아가 " 예비 NAND 플래시 메모리 영역. 목적기준 " ("낸드 플래시예비 지역. 양도기준', 2005년 4월 27일, 삼성전자(주) 메모리사업부).

따라서 이 표준에서는 다음과 같은 예비 영역 사용을 제안합니다.

페이지 크기가 2048+64바이트인 칩의 경우 t 페이지의 기본 영역과 예비 영역은 각각 4개의 조각(섹터)으로 나뉩니다.

지역크기(바이트)파편
기본512 섹터 1
512 섹터 2
512 섹터 3
512 섹터 4
여분의16 섹터 1
16 섹터 2
16 섹터 3
16 섹터 4

각 조각그들의 주요 지역이 일치합니다 예비 영역 조각.

여유 영역 사용(4개의 조각 각각에 대해)
페이지 크기가 2048+64바이트인 칩의 경우:
편견
(바이트)
크기
(바이트)
목적설명
불량 블록 마커
예약된
논리 섹터 번호
섹터 번호용으로 예약됨
예약된
메인 페이지 영역의 ECC 코드
논리 섹터 번호에 대한 ECC 코드
예약된

그러나 이것이 페이지 메모리 할당에 대한 유일한 "표준"은 아닙니다. 예를 들면 다음과 같습니다.

  • "WinCE 5.0에서 NAND 플래시 관리 ", NXP;
  • "NX2LP를 사용한 NAND 플래시의 불량 블록 관리 ", 2006년 12월 15일, Cypress Semiconductor;
  • "OLPC NAND 불량 블록 관리 ", OLPC.

1.4. NAND 이미지 및 바이너리 이미지

당신은 발생할 수 있습니다 두 가지 옵션녹음용 이미지:

  1. 바이너리 파일 깨지지 않은페이지와 여유 공간 없이.
    이 옵션은 다음을 사용하는 장치 개발자인 경우 가능합니다. 낸드또는 개발자로부터 그러한 파일을 받았습니다. 이 이미지는 모든 크기의 페이지와 예비 영역의 분포가 있는 미세 회로에 작성하는 데 적합합니다. 예비 영역이 어떤 방법으로 형성되는지 알아야 합니다.
  2. 불량 블록 표시, 서비스 정보 및 제어 코드가 있는 예비 영역을 포함하는 다른 마이크로 회로(샘플)에서 읽은 이미지입니다.
    이 이미지는 쓸 수 있습니다 오직칩으로 정확히 같은 치수페이지와 블록.

다양한 장비를 수리하는 전문가들은 종종 두 번째 경우에 직면합니다. 이러한 경우에는 어떤 스페어 영역 할당 방식과 불량 블록 관리 방식을 결정하기 어려운 경우가 많다.

1.5. 불량 블록의 공장 표시

어느 정도 표준화된 유일한 것은 불량 블록의 공장 표시.

  • 불량 블록이 표시됨~에 0번째 또는 1번째 페이지페이지 크기가 4K 미만인 칩의 경우.
  • 을 위한 4K 페이지 그리고 더, 표시가 켜져 있을 수 있습니다. 마지막 페이지 차단하다.
  • 내 자신 불량 블록 마커작은 페이지(512바이트)의 경우 5번째 바이트, 큰 페이지(2K)의 경우 페이지의 여유 영역에 위치합니다.
  • 불량 블록 마커중요할 수도 있다 0x00또는 0xF0 작은 페이지의 경우그리고 0x00 이상엑스.
  • 좋은 블록항상 표시됨 0xFF.
  • 어쨌든 의미는 0xFF와 다름프로그래머는 다음과 같이 인식한다. 불량 블록 마커.
  • 일반적으로 현대에서는 낸드 불량 블록은 0x00 값으로 완전히 채워집니다..

한 가지 문제가 있습니다. 불량 블록을 지울 수 있음. 이러한 방식으로 불량 칩 블록에 대한 정보를 잃을 수 있습니다.

그러나 마이크로 회로가 장치에서 이미 작동한 경우 이 불량 블록 표시 방법이 항상 사용되는 것은 아닙니다. 때로는 불량 블록 정보도 NAND 메모리에 저장되지 않는 경우가 있습니다. 그러나 장치 소프트웨어 개발자가 불량 블록 관리를 위해 다른 방식을 사용하더라도 공장 표시를 지우지 않는 것을 선호하는 경우가 많습니다.

1.6. 불량 블록 관리

개발자 낸드마이크로 회로는 다음과 같은 불량 블록 제어 방식을 사용할 것을 제안합니다.

  • 통과하다불량 블록
  • 용법 여분의지역

또한 불량 블록을 관리하는 방법에는 때때로 다음이 포함됩니다. 오류 수정(ECC). 단일 오류 수정을 사용해도 여러 오류가 제거되지 않으며 여전히 위 구성표 중 하나를 사용해야 한다는 점에 유의해야 합니다. 이 외에도 대다수 낸드칩에는 불량 블록이 나타나지 않는 결함 없는 영역이 보장됩니다. 무고장 영역은 일반적으로 칩의 시작 부분에 위치합니다.

불량 블록을 관리하는 이러한 방법은 제조업체의 기술 문서에 잘 설명되어 있습니다. 낸드사용에 관한 문헌에서 널리 논의되고 있습니다. 낸드. 그러나 그 본질을 간략하게 기억해 보겠습니다.

불량 블록 건너뛰기:
현재 블록에 결함이 있는 것으로 판명되면 해당 블록을 건너뛰고 다음 빈 블록에 정보가 기록됩니다. 이 체계는 보편적이고 구현하기 쉽지만 작동 중에 불량 블록이 나타나는 경우에는 다소 문제가 있습니다. 이 체계가 완벽하게 작동하려면 논리적 블록 번호가 블록 내부에 저장되어야 합니다. 실제로 예비 영역 할당을 위한 Samsung 표준에서는 이를 가정합니다. 이 방식에 따라 작업할 때 컨트롤러는 블록의 논리적 개수와 숫자 간의 대응 테이블을 어딘가에 저장해야 합니다. 물리적인 숫자그렇지 않으면 메모리 액세스 속도가 크게 느려집니다.

그러므로 논리적 전개는 계획이다 여유 공간 활용:
이 방법에 따르면 전체 메모리 볼륨은 메인과 백업의 두 부분으로 나뉩니다. 주 메모리에 불량 블록이 나타나면 예비 메모리의 블록으로 교체되고 해당 항목이 블록 재할당 테이블에 작성됩니다. 재할당 테이블은 보장된 오류 방지 블록이나 여러 복사본에 저장됩니다. 테이블 형식이 다르며 다른 위치에 저장됩니다. 이번에도 삼성은 테이블의 형식과 레이아웃에 대한 표준을 설명하지만 이를 따르는 사람은 거의 없습니다.

2. 연습

2.1. NAND 칩의 불량 블록 스캔

프로그램 제작자 칩스타마이크로 회로를 빠르게 스캔할 수 있습니다. 낸드불량 블록의 공장 표시에 따라 불량 블록이 있는지 확인합니다.

메뉴 항목 선택 " 칩|불량 블록 찾기 "를 실행하면 칩에 불량 블록이 있는지 검사됩니다. 결과는 표 형식으로 표시됩니다.

이 작업은 불량 블록 목록만 보려는 경우에만 필요합니다. 다른 모든 경우에는 필요할 때 불량 블록 검색이 자동으로 수행됩니다.

2.2. NAND 이미지의 불량 블록

NAND 칩의 이미지를 읽을 때 프로그래머는 칩의 페이지 및 블록 크기에 대한 정보를 추가로 저장합니다. 정보는 다음 위치에 저장됩니다. 별도의 파일. 그래서 칩 이미지를 세어 파일로 저장해 놓으면 <имя_файла>.nbin 프로그램은 다른 파일을 생성합니다: <имя_файла>.cfs . 파일을 열 때 <имя_файла>.nbin 파일 <имя_файла>.cfs 똑같이 읽힐 것이다. 파일에 있음 <имя_файла>.cfs 칩의 페이지 및 블록 크기에 대한 정보가 기록됩니다. 칩을 읽거나 다음과 같은 파일을 연 후 .nbin , 페이지 및 블록 크기에 대한 정보를 기반으로 불량 블록이 있는지 확인하기 위해 이미지의 백그라운드 스캔이 수행됩니다.

옵션 낸드불량 블록에 대한 정보는 "탭"에서 확인할 수 있습니다. 낸드"프로그래머 편집자:

바이너리 이미지 낸드'탭'에서 확인 가능 메인 메모리 ":

편집기 모드에서 낸드페이지의 여유 공간이 할당됩니다 더 흐릿한 색상, 페이지, 블록 간 이동 및 현재 페이지의 여유 영역 시작 부분으로 빠르게 이동하는 버튼도 사용할 수 있습니다. 커서 주소 외에 편집기 상태 표시줄도 추가로 표시됩니다. 페이지 번호그리고 블록 번호커서가 위치한 곳. 이 모든 기능을 통해 초소형 회로의 내용을 더 편리하게 볼 수 있습니다.

2.3.NAND 지우기

기본 프로그래머 지워지지 않는다불량 블록이지만 옵션을 비활성화하면 " 불량 블록 확인 및 건너뛰기 " 불량 블록이 지워지고 불량 블록 표시가 손실될 수 있습니다. 필요한 경우에만 이 옵션을 비활성화하십시오.

공장 표시에 따라 표시된 불량 블록만 건너뜁니다. 장치가 불량 블록에 대해 다른 표시를 사용하는 경우 프로그래머 소프트웨어가 이를 볼 수 없기 때문에 삭제됩니다. 불량 블록의 비표준 표시 작업을 위해 프로그래머는 외부 플러그인을 사용할 수 있습니다.

2.4. 녹음 부족에 대한 마이크로 회로 테스트

기본적으로 프로그래머는 검사 시 모든 불량 블록을 무시하지만 옵션을 비활성화하면 " 불량 블록 스캔 및 건너뛰기 "불량 블록이 테스트되므로 자연스럽게 테스트 오류가 발생합니다.

2.5. 완성된 이미지를 칩에 쓰기

이미지 굽기 낸드마이크로 회로에서는 기존 회로와 약간 다릅니다. 플래시미세회로 우선, 서로 일치해야 합니다. 페이지 크기이미지 및 대상 칩. 제어가 사용되는 경우 불량 블록이 일치해야 합니다. 블록 크기이미지와 마이크로 회로.

모든 프로그래머를 위한 소프트웨어 칩스타지원하다 불량 블록을 관리하는 세 가지 방법내장 도구가 아닌 수량 한정플러그인을 사용합니다. 또한 칩 시작 부분에 쓰기 가능한 블록 수를 설정할 수 있는데, 이는 실제로 네번째불량 블록을 관리하는 방법.

방법 1: 불량 블록 무시

단순 복사, 불량 블록 무시(불량 블록은 일반 블록과 동일한 방식으로 기록됩니다).

원본 이미지
(초기 상태)

(결과)
블록 0
좋은
차단하다
깨끗한
블록 0
좋은
블록 1
나쁜
차단하다
깨끗한
블록 1
거짓
블록 2
좋은
차단하다
깨끗한
블록 2
좋은
블록 3
좋은
차단하다
나쁜
블록 3
불완전한
블록 4
좋은
차단하다
깨끗한
블록 4
좋은
기록 경계
블록 5
좋은
차단하다
깨끗한
차단하다
깨끗한

가장 적합 NAND 칩 복제용그것에 대해 깊이 파고들지 않고 내부 구조, 칩이 쓰여지고 있다면 불량 블록이 포함되어 있지 않습니다. . 원본 이미지의 경우 불량 블록이 있었어요 , 결국 형성 잘못된 불량 블록 . 잘못된 불량 블록의 출현은 장치 기능에 영향을 미치지 않습니다. 그러나 칩에 이미 불량 블록이 포함되어 있는 경우 해당 칩에 쓰기를 시도하면 불량 블록예측할 수 없는 결과를 초래합니다. 팁: 불량 블록을 포함하여 전체 칩을 지운 다음 복사할 수 있습니다. 불량 블록에 대한 쓰기가 성공적으로 완료되면(종종 발생함) 장치가 향후 올바르게 작동할 것이며 장치 소프트웨어는 작동 알고리즘에 따라 불량 블록을 식별하고 이를 양호한 블록으로 교체합니다.

방법 2: 불량 블록 우회

원본 이미지
(초기 상태)

(결과)
블록 0
좋은
차단하다
깨끗한
블록 0
좋은
블록 1
나쁜
차단하다
깨끗한
차단하다
깨끗한
블록 2
좋은
차단하다
깨끗한
블록 2
좋은
블록 3
좋은
차단하다
나쁜
차단하다
나쁜
블록 4
좋은
차단하다
깨끗한
블록 4
좋은
기록 경계
블록 5
좋은
차단하다
깨끗한
차단하다
깨끗한

불량 블록을 우회하는 경우 소스 이미지의 불량 블록은 기록되지 않습니다.그리고 불량 칩 블록에는 정보가 기록되지 않습니다.. 이것은 최상의 복사 정책은 아니지만 불량 칩 블록에 대해서는 안전합니다. 정보가 손실되지 않습니다불량 칩 블록에 대해 잘못된 불량 블록이 나타나지 않습니다. 어떤 경우에는 이러한 복사 정책이 알 수 없는 장치의 기능을 복원하는 데 도움이 될 수 있습니다.

방법 3: 불량 블록 건너뛰기

원본 이미지
(초기 상태)

(결과)
블록 0
좋은
차단하다
깨끗한
블록 0
좋은
블록 1
나쁜

차단하다
깨끗한
블록 2
좋은
블록 2
좋은
차단하다
깨끗한
블록 3
좋은
블록 3
좋은
차단하다
나쁜
차단하다
나쁜
블록 4
좋은
차단하다
깨끗한
블록 4
좋은
기록 경계
블록 5
좋은
차단하다
깨끗한
차단하다
깨끗한

불량 블록을 건너뛰어 쓰기장치가 정확히 이 불량 블록 관리 알고리즘을 사용하고 다른 알고리즘은 사용하지 않는다고 가정합니다. 이러한 조건에서는 정보의 올바른 복사가 보장됩니다.

방법 4: 무장애 보장 영역만 작성

원본 이미지
(초기 상태)

(결과)
블록 0
좋은
차단하다
깨끗한
블록 0
좋은
블록 2
좋은
차단하다
깨끗한
블록 1
좋은
기록 경계
차단하다
나쁜
차단하다
깨끗한
차단하다
깨끗한
블록 3
좋은
차단하다
나쁜
차단하다
나쁜
블록 4
좋은
차단하다
깨끗한
차단하다
깨끗한
블록 5
좋은

차단하다
깨끗한

차단하다
깨끗한

대부분의 현대에서는 낸드초소형 회로의 경우 첫 번째 블록(적어도 하나)에는 오류가 없음이 보장됩니다. 많은 장치에서 칩 시작 부분에는 장치의 부트로더 및 운영 체제에 대한 코드가 있습니다. 이러한 영역만 복사하는 것만으로도 충분한 경우가 많습니다.

녹화 모드 설정 대화 상자에서 녹화 크기를 블록 단위로 지정합니다.

불량 블록을 관리하는 다른 방법

소프트웨어 ChipStar 프로그래머모든 불량 블록 관리 알고리즘을 지원합니다. 낸드도움을 받아 외부 플러그인. 존재하는 경우 설치된 플러그인추가 방법에 대한 설명이 목록에 나타납니다. 불량 NAND 블록 관리 ". " 버튼을 클릭하여 선택한 방법의 매개변수를 구성할 수 있습니다. 외부 플러그인 ".

오류 수정 코드(ECC) 사용

오류 정정 코드를 사용하면 단일 오류 복구낸드 페이지에서

다양한 알고리즘을 사용하여 해당 섹터의 단일 오류를 복구할 수 있습니다. 알고리즘에 따라 ECC, 섹터당 다른 수의 오류(512+16바이트)를 복구할 수 있습니다. "라는 용어로 하나의 "이해된다 단 한 비트의 오류데이터. 페이지 크기가 512+16바이트인 NAND의 경우 " 부문" 그리고 " 페이지" 일치합니다. 페이지 크기가 큰 NAND의 경우 ChipStar 프로그래머는 설명된 대로 섹터 페이지 레이아웃 구성표를 사용합니다. 기록 또는 확인 설정에서 장치에 사용되는 알고리즘이 섹터당 수정할 수 있는 오류 수를 지정할 수 있습니다. 따라서 허용 가능한 오류 수를 가진 미세 회로는 거부되지 않으며 수정 가능한 오류 수에 대한 정보가 통계 창에 표시됩니다.

수량정보 허용 가능한 오류각 특정 칩에 대한 섹터당 내용은 다음에서 명확하게 확인할 수 있습니다. 선적 서류 비치칩당. 새로 추가된 모든 NAND 칩은 허용되는 오류 수를 고려하여 프로그래머 데이터베이스에 입력됩니다.

독립적으로 추가하는 경우미세회로:

  • 만약에 ONFI 지원, 섹터당 허용되는 오류 수 읽다미세 회로 매개변수 테이블에서 설치되어 있다원하는 값으로.
  • 마이크로 회로라면 ONFI를 지원하지 않습니다, 사용자 값을 직접 설정해야 합니다., 칩에 대한 문서를 사용합니다.

새로운 미세회로용 낸드생산 삼성섹터당 허용되는 오류 수의 값은 칩 식별자의 일부로 인코딩됩니다. 따라서 이러한 미세 회로의 경우 섹터당 허용되는 오류 수도 올바르게 설정됩니다.

추가로 저장하거나 복사할 목적으로 마이크로회로의 내용을 읽을 때, 단일 오류는 안정적으로 감지할 수 없습니다.. 결과 이미지는 외부 애플리케이션에 의해 ECC 검사 코드를 계산하여 별도로 오류를 분석할 수 있습니다. 사용된 알고리즘과 페이지 레이아웃이 알려져 있습니다. .

ChipStar 프로그래머 소프트웨어는 단일 오류를 식별하고 제거하기 위한 간접적인 통계 방법을 제공합니다. 이 방법을 사용하면 다음과 같은 정보만 식별할 수 있습니다. 불안정한오류 보장되지 않음신뢰할 수 있음. 오류 감지와 함께 읽기를 수행하려면 " 선택적 독서" 및 "NAND" 탭에서 " 확인란을 선택합니다. 오류 수정 모드 활성화"

비교를 위한 읽기 재시도 횟수와 오류 발생 시 총 읽기 재시도 횟수를 구성할 수 있습니다. 사용된다는 점을 염두에 두어야 합니다. 이 방법그 생물은 읽는 과정을 느리게 만듭니다.

통계적 오류 감지 알고리즘은 다음과 같이 작동합니다.

  1. NAND 페이지는 연속으로 여러 번(최소 3회) 읽혀집니다.
  2. 읽은 데이터는 바이트 단위로 비교됩니다.
  3. 비교 오류가 발견되지 않으면 페이지에 오류가 없는 것으로 간주됩니다.
  4. 비교 중에 오류가 감지되면 페이지를 여러 번 더 읽습니다.
  5. 각 오류에 대해 읽기 수가 계산됩니다. 단위그리고 0.
  6. 올바른 값("0" 또는 "1")은 그 중 더 많은 값으로 간주됩니다.

이 알고리즘은 마이크로 회로의 특정 비트에서 오류가 발생할 확률이 0.5 미만인 경우 잘 작동합니다. 마이크로 회로를 읽을 때 "수정된" 오류와 올바른 판독 확률이 계산됩니다.

2.6. 바이너리 이미지를 NAND 이미지로 변환

위에서 설명한 모든 내용은 복사에 관한 것입니다. 낸드초소형 회로 모델을 기반으로 한 녹음이지만 종종 필요한 경우가 있습니다. 프로그램의 원본 바이너리 이미지를 깨끗한 칩에 씁니다.. 쓰기 전에 각 페이지에 추가하여 바이너리 이미지를 NAND 이미지로 변환해야 합니다. 여유 공간그리고 올바르게 작성하세요. 이렇게 하려면 바이너리 파일, 메뉴 항목 "을 선택하십시오. ". 대화 상자가 나타납니다.

NAND 변환 모드 설정: " 바이너리 이미지... ", 페이지 및 NAND 블록 크기를 지정하거나 필요한 마이크로 회로. 여유 영역 형식을 선택합니다. 프로그래머는 내장 도구와 플러그인을 사용하는 기타 방법을 사용하여 FF 값으로 영역을 간단하게 채울 수 있도록 지원합니다. 삼성에서 권장하는 여유 영역 할당을 구현하는 플러그인이 프로그래머와 함께 제공됩니다.

구현해야 하는 경우 다른 배포 옵션 - 저희에게 알려주시면 적절한 플러그인을 준비해 드리거나, 필요한 플러그인을 직접 구현하실 수도 있습니다.

2.7. 다른 프로그래머가 읽은 NAND 이미지와 호환 가능

당신이 가지고 있다면 낸드 이미지, 다른 프로그래머가 읽거나 다른 소스에서 수신한 경우 전환하다녹음에 적합한 형식으로 칩스타 프로그래머.

이렇게 하려면 다음 단계를 따르세요.

  • 파일을 열고 메뉴 항목 "을 선택하십시오. 편집|NAND 편집기 모드 전환 ". 위와 같은 대화상자가 나타납니다.
  • 변환 모드를 형식으로 설정 낸드: "이미지는 이미 낸드인데... ", 나타내다 페이지 크기그리고 차단하다 낸드또는 필요한 칩을 선택하세요. "를 클릭하세요. 계속하다".
  • 편집기에 탭이 나타납니다." 낸드 "라고 입력하면 이미지에서 불량 블록 검색이 시작됩니다.
  • 결과 파일은 형식으로 저장할 수 있습니다 낸드, 파일은 확장자를 받게 됩니다 .nbin 기본.

SSD의 성능과 수명은 주로 NAND 플래시 메모리와 컨트롤러 펌웨어에 따라 달라집니다. 이는 드라이브 가격의 주요 구성 요소이므로 구매할 때 이러한 구성 요소에 주의를 기울이는 것이 논리적입니다. 오늘은 NAND에 대해 이야기해보겠습니다.

원하는 경우 전문 사이트에서 플래시 메모리 생산을 위한 기술 프로세스의 복잡성을 찾을 수 있습니다. SSD 리뷰. 내 기사는 더 넓은 범위의 독자를 대상으로 하며 두 가지 목표가 있습니다.

  1. 웹사이트에 게시된 모호한 사양의 베일을 벗기세요 SSD 제조업체그리고 상점.
  2. 공부하면서 생길 수 있는 궁금증을 해결해보세요 기술적 인 특성다양한 드라이브의 메모리와 하드웨어 매니아를 위한 리뷰 읽기.

우선 문제를 사진으로 설명하겠습니다.

SSD 사양은 무엇을 나타냅니까?

제조업체의 공식 웹사이트와 온라인 상점에 게시된 NAND 기술 사양에 항상 포함되는 것은 아닙니다. 자세한 정보. 게다가 용어도 매우 다양하므로 다섯 가지 드라이브에 대한 데이터를 정리했습니다.

이 사진이 당신에게 어떤 의미가 있나요?

좋아, Yandex.Market이 가장 신뢰할 수 있는 정보 소스가 아니라고 가정해 보겠습니다. 제조업체의 웹사이트를 살펴보겠습니다. 더 쉬워졌나요?

어쩌면 이렇게 하면 더 명확해질까요?

그렇다면?

아니면 이 방법이 더 나은가요?

한편, 이 모든 드라이브에는 동일한 메모리가 설치되어 있습니다! 특히 두 사람을 보면 믿기 어렵습니다. 최신 사진, 안 그래? 항목을 끝까지 읽으면 이에 대한 확신을 갖게 될 뿐만 아니라 그러한 특징도 펼쳐진 책처럼 읽게 될 것이다.

NAND 메모리 제조업체

자체 브랜드로 SSD를 판매하는 회사보다 플래시 메모리 제조업체가 훨씬 적습니다. 이제 대부분의 드라이브에는 다음의 메모리가 있습니다.

  • 인텔/미크론
  • 하이닉스
  • 삼성
  • 도시바/샌디스크

Intel과 Micron이 목록에서 같은 위치를 공유하는 것은 우연이 아닙니다. IMFT 합작회사에서 동일한 기술을 사용하여 NAND를 생산합니다.

미국 유타주에 있는 주요 공장에서는 이 두 회사의 브랜드로 동일한 메모리가 거의 동일한 비율로 생산됩니다. 현재 마이크론이 관리하고 있는 싱가포르 공장 조립 라인에서 메모리가 마이크론 브랜드로 포함될 수도 있습니다. 자회사 SpecTek.

모든 SSD 제조사는 위 업체로부터 NAND를 구매하므로 다른 드라이브브랜드가 달라도 사실상 동일한 메모리가 있을 수 있습니다.

기억력이 있는 상황에서는 모든 것이 단순해야 할 것 같습니다. 그러나 NAND에는 여러 유형이 있으며, 이는 다음과 같이 나뉩니다. 다른 매개변수, 혼란을 야기합니다.

NAND 메모리 유형: SLC, MLC 및 TLC

3개예요 다른 유형 NAND의 주요 기술적 차이점은 메모리 셀에 저장되는 비트 수입니다.

SLC는 세 가지 기술 중 가장 오래된 기술이므로 거의 찾아볼 수 없습니다. 최신 SSD그런 NAND로. 이제 대부분의 드라이브에는 MLC가 탑재되어 있으며 TLC는 솔리드 스테이트 드라이브용 메모리 시장의 새로운 단어입니다.

일반적으로 TLC는 메모리 내구성이 부족한 USB 플래시 드라이브에 오랫동안 사용되어 왔습니다. 실질적인 의미. 새로운 기술 프로세스 SSD용 TLC NAND의 1GB 비용을 절감하여 수용 가능한 성능과 서비스 수명을 제공하는 것이 가능합니다. 이는 모든 제조업체가 논리적으로 관심을 갖고 있는 사항입니다.

흥미로운 점은 일반 대중이 제한된 사이클 수에 대해 우려하고 있는 반면 SSD 재작성, NAND 기술이 발전함에 따라 이 매개변수는 점점 줄어들고 있습니다!

SSD의 특정 메모리 유형을 확인하는 방법

SSD를 구매하셨는지, 아니면 그냥 구매를 계획하고 계시는지에 관계없이, 이 게시물을 읽은 후 자막에 질문이 있을 수 있습니다.

어떤 프로그램도 메모리 유형을 표시하지 않습니다. 이 정보는 드라이브 리뷰에서 찾을 수 있지만 특히 여러 구매 후보를 비교해야 하는 경우 지름길이 있습니다.

전문 사이트에서는 SSD에 있는 데이터베이스를 찾을 수 있으며 여기에 그 예가 있습니다.

태블릿에 설치된 SanDisk P4(mSATA)를 제외하고는 내 드라이브의 메모리 특성을 찾는 데 아무런 문제가 없었습니다.

어떤 SSD가 최고의 메모리를 갖고 있나요?

먼저 기사의 주요 내용을 살펴보겠습니다.

  • NAND 제조업체는 한 손에 꼽힐 정도입니다.
  • 최신 솔리드 스테이트 드라이브는 두 가지 유형의 NAND, 즉 MLC와 TLC를 사용하며 이는 점점 더 탄력을 받고 있습니다.
  • MLC NAND는 인터페이스가 다릅니다: ONFi(Intel, Micron) 및 토글 모드(Samsung, Toshiba)
  • ONFi MLC NAND는 비동기식(저렴하고 느린)과 동기식(더 비싸고 빠름)으로 구분됩니다.
  • SSD 제조업체는 다양한 인터페이스와 유형의 메모리를 사용하여 다양한 제품을 만듭니다. 라인업어떤 지갑에도
  • 공식 사양에는 구체적인 정보가 거의 포함되어 있지 않지만 데이터베이스는 SSD 데이터 NAND 유형을 정확하게 결정할 수 있습니다.

물론 그러한 동물원에서는 자막이 제기하는 질문에 대한 명확한 답이 있을 수 없다. 드라이브 브랜드에 관계없이 NAND는 명시된 사양을 충족합니다. 그렇지 않으면 OEM 제조업체에서 구매할 의미가 없습니다(SSD에 대해 자체 보증을 제공합니다).

그러나... 그 여름이 다차에서 전례 없는 딸기 수확으로 당신을 기쁘게 했다고 상상해 보십시오!

모두 과즙이 많고 달콤한데, 너무 많이 먹을 수는 없어서, 수집한 베리 중 일부를 판매하기로 결정했습니다.

최고의 딸기를 직접 보관하시겠습니까, 아니면 판매용으로 내놓으시겠습니까? :)

NAND 제조업체가 가장 많이 설치한다고 가정할 수 있습니다. 더 나은 기억력귀하의 저장 장치에. NAND를 생산하는 회사 수가 제한되어 있기 때문에 SSD 제조업체 목록은 훨씬 더 짧습니다.

  • 크루셜(마이크론 계열사)
  • 인텔
  • 삼성

다시 한번 말씀드리지만, 이는 단지 추측일 뿐이며 확실한 사실에 의해 뒷받침되지는 않습니다. 하지만 만약 당신이 이 회사들이었다면 다르게 행동했을까요?

을 위한 성공적인 일미세회로 포함 낸드 플래시(낸드 플래시) 최소한 다음이 필요합니다.

    NAND FLASH의 구조, 이러한 메모리에 저장된 정보를 사용하는 기존 방법 및 알고리즘에 대한 아이디어를 가지고 있습니다.

    NAND 플래시 메모리 작업을 올바르게 지원하는 프로그래머가 있어야 합니다. 필요한 매개변수와 처리 알고리즘을 선택하고 구현할 수 있습니다.

NAND FLASH 프로그래머는 매우 빨라야 합니다.. 기존 프로그래머에서 수 Gbit 규모의 마이크로 회로를 프로그래밍하거나 읽는 데는 몇 시간이 걸립니다. 분명히, 어느 정도 규칙적인 NAND 프로그래밍 Flash에는 MS와 함께 작동하도록 조정된 전문적이고 빠른 프로그래머가 필요합니다. 고밀도. 현재 가장 빠른 플래시 NAND 프로그래머는 ChipProg-481입니다.

ChipProg 프로그래머의 NAND FLASH 프로그래밍

NAND 플래시로 작업할 때 프로그래머는 프로그래밍 방법과 매개변수를 선택/구성하기 위한 다양한 옵션을 제공합니다. 마이크로 회로를 사용하는 프로그래머의 작동 알고리즘에 영향을 미치는 모든 매개 변수는 "마이크로 회로 매개 변수 및 프로그래밍 알고리즘 편집기"창에 표시됩니다. 필요한 경우 선택한 작업(프로그래밍, 비교, 읽기, 삭제)이 알고리즘에 따라 수행되도록 이러한 매개변수 중 하나를 변경할 수 있습니다. 필요한 사용자에게프로그램 제작자

NAND 플래시를 프로그래밍할 때 프로그래머 인터페이스의 "칩 매개변수 및 프로그래밍 알고리즘 편집기" 창입니다.

NAND 플래시 프로그래머의 작동 알고리즘을 구성하는 수많은 사용자 정의 가능한 매개변수는 사용자가 NAND 플래시 구조에 내재된 모든 기능을 완전히 실현할 수 있는 범용 도구를 제공하려는 욕구에 따라 결정됩니다. 삶을 더 쉽게 만들기 위해 ChipProg-481 프로그래머는 NAND 플래시 칩을 선택할 때 다음 옵션을 제공합니다.

  • 모든 매개변수는 선택한 NAND 플래시의 이전 프로그래밍 세션(세션)에서 설정된 값을 사용합니다. (저장된 세션 수는 무제한입니다.)
  • 모든 매개변수는 "프로젝트" 내에서 특정 NAND 플래시에 대해 지정된 값을 갖습니다("프로젝트" 수는 무제한입니다).
  • 모든 매개변수는 "스크립트"를 실행한 후 자동으로 필요한 값을 갖습니다. "스크립트"는 프로그래머 셸에 내장된 C와 유사한 언어로 작성됩니다.
  • 모든(또는 선택된) 매개변수는 기본값을 사용합니다.
  • 모든 매개변수의 값은 다음에서 편집할 수 있습니다. 그래픽 인터페이스프로그램 제작자

프로그래머에 구현된 프로그래밍 모드와 매개변수를 살펴보겠습니다.

프로그래밍 모드.

  1. 유효하지 않은 블록 관리
  2. 여유 공간 활용
  3. 가드 솔리드 영역
  4. 관용적 검증 기능
  5. 잘못된 블록 표시 옵션

1. 불량 블록 처리.

NAND 플래시를 프로그래밍하기 전에 불량 블록 작업 방법 중 하나를 선택할 수 있으며 선택해야 합니다.

2. 예비 영역 사용.

사용하지 마세요

칩에서는 Spare Area를 사용하지 않습니다. 메모리 페이지는 예비 영역을 고려하지 않고 마이크로 회로에 프로그래밍됩니다.

사용자 데이터

Spare Area는 사용자 메모리로 사용됩니다. 이 경우 마이크로 회로를 프로그래밍할 때 버퍼의 정보는 먼저 마이크로 회로의 기본 페이지에 배치된 다음 추가 예비 영역에 배치됩니다. 이 경우 프로그래머 버퍼는 칩의 기본 페이지와 여기에 도킹된 예비 영역의 연속 스트림처럼 보입니다.

IB 정보가 강제된 사용자 데이터

Spare Area는 사용자 정보 대신 불량 블록 마커가 기록된다는 점을 제외하면 이전 사례와 유사하게 해석됩니다.

3. 가드 솔리드 영역

배드블록이 없는 특수 영역을 사용하기 위한 모드입니다. 일반적으로 이러한 영역은 마이크로프로세서 부트로더로 사용됩니다. 이 영역에서는 불량 블록 사용이 허용되지 않습니다.
이 옵션은 다음 매개변수와 함께 사용됩니다.

  • 단색 영역 - 시작 블록 - 불량 블록이 없는 영역의 초기 블록.
  • - 이 지역의 블록 수.

지정된 범위 내에 있는 경우 솔리드 영역불량 블록이 발생하면 프로그래머는 오류를 생성합니다.

4. 비교 오류에 민감하지 않습니다.

이 옵션을 사용하면 비교 오류에 민감하지 않은 모드를 활성화할 수 있습니다.
일반적으로 이 옵션은 사용자 장치가 ECC(오류 제어 및 수정) 알고리즘을 사용하는 경우 사용하는 것이 좋습니다. 이러한 경우에는 다음이 허용됩니다. 일정 금액특정 데이터 배열 크기에 대한 오류. 이러한 매개변수는 NAND 플래시 프로그래밍 알고리즘의 매개변수에 표시됩니다.

  • ECC 프레임 크기(바이트) - 데이터 배열의 크기.
  • 허용되는 오류 수 - 허용되는 1비트 오류 수.

5. 잘못된 차단 표시 옵션입니다.

불량 블록 마커로 사용되는 정보를 선택하는 옵션입니다. 00h 또는 0F0h 값을 선택할 수 있습니다.

  • IB 표시값~00 또는 F0

프로그래밍 옵션.

  1. 사용자 영역
  2. 솔리드 영역
  3. RBA 지역
  4. ECC 프레임 크기
  5. 허용되는 오류 수

ㅏ.사용자 영역.

사용자 영역은 프로그래밍, 읽기 및 비교 절차가 작동하는 칩 영역입니다.
삭제 및 청결도 제어 절차는 전체 칩 어레이에 적용됩니다.

사용자는 다음 매개변수를 설정해야 합니다.

  • 사용자 영역 - 시작 블록 - 사용자 영역의 초기 블록.
  • 사용자 영역 - 블록 수 - 사용자 영역의 블록 수.

비. 오류가 없는 영역.

Guard Solid Area 모드 매개변수.

  • 단색 영역 - 시작 블록 - 불량 블록이 없는 영역의 초기 블록.
  • 단색 영역 - 블록 수 - 이 지역의 블록 수.

씨. RBA 배치 영역.

  • RBA 영역 - 시작 블록 - RBA 테이블의 초기 블록.
  • RBA 영역 - 블록 수 - RBA 테이블의 블록 수.

디.ECC 프레임 크기 .

  • ECC 프레임 크기- 단일 비트 오류가 허용되는 데이터 배열의 크기를 결정하는 매개변수입니다.

이자형. 허용되는 오류 수.

  • 허용되는 오류 수 - 매개변수는 배열에서 허용되는 1비트 오류 수를 결정하며, 그 크기는 ECC 프레임 크기 매개변수에 의해 결정됩니다.

불량 블록 지도

잘못된 블록 맵은 잘못된 블록 맵 하위 레이어에 생성됩니다. 블록 맵은 연속적인 비트 배열로 표현됩니다. 양호한 블록은 값 0으로, 불량 블록은 값 1로 표시됩니다.

예를 들어 주소 0의 값 02h는 블록 0,2,3,4,5,6,7이 양호하고 블록 1이 불량함을 나타냅니다. 첫 번째 주소의 값 01h는 블록 8..15 그룹 중 8번째 블록만 불량임을 나타냅니다.

NAND 플래시 복사

프로그래머가 NAND 플래시를 프로그래밍할 때 모드와 매개변수를 "눈에 띄게" 선택하는 것의 중요성을 설명하기 위해 일부 프로그래머가 문제를 겪는 상황을 생각해 보십시오. 대부분의 경우 이는 작동이 중지된 "장치"의 NAND 플래시를 대체합니다. 표준 접근 방식은 기존 메모리 칩을 교체하는 것과 유사합니다.

  1. 작동하는 마이크로회로의 펌웨어를 얻으십시오. 일반적으로 이 목적을 위해 원본 마이크로회로의 내용을 읽습니다.
  2. 새로운 유사한 마이크로 회로를 플래싱합니다.
  3. 프로그래밍된 ms의 내용을 비교하십시오. "원래" 펌웨어로. 비교가 통과되면 마이크로 회로-사본이 준비됩니다.

NAND 플래시를 프로그래밍해야 하는 경우 모든 것이 그렇게 간단하고 모호하지 않습니다.

  1. 프로그래머가 "원본"에서 읽을 때 얻은 Nand 플래시 펌웨어는 프로그래머에 설치된 모드와 매개 변수에 따라 크게 달라집니다.
  2. 새로운 NAND 플래시를 올바르게 프로그래밍하고 전체 사본, 프로그래밍하기 전에 "원본" 펌웨어에 해당하는 프로그래머의 모드와 매개변수를 설정해야 합니다. 동시에 불량 블록이 존재할 가능성도 고려해야 합니다.

복사칩을 얻으려면 낸드 펌웨어플래시는 샘플과 동일하므로 다음과 같이 진행하셔야 합니다.

복사를 준비 중입니다.

복사하려면 원본 칩과 복사 칩(원본 이미지를 기록할 마이크로 회로)이 필요합니다. 필수 요구사항:

  1. 원본과 사본의 NAND 플래시 칩은 모두 동일한 유형이어야 합니다.
  2. 복사 칩에는 불량 블록이 없어야 합니다.

복사 칩에 불량 블록이 있는지 확인하려면 프로그래머에 칩을 설치하고 "칩 매개변수 편집기" 창에서 기본 칩 매개변수인 "All Default" 버튼을 설정해야 합니다.

삭제 제어 절차가 시작됩니다(시간을 절약하기 위해 이 절차를 즉시 취소할 수 있습니다. 불량 블록 맵은 맨 처음부터 읽혀집니다). 프로그래머 인터페이스의 "프로그래밍" 창에서 불량 블록에 대한 정보는 "작동 정보" 필드에 나타납니다.


사자.

NAND 플래시 칩을 프로그래머에 복사하기 전에 "칩 매개변수 편집기" 창에서 다음 매개변수 설정을 수행해야 합니다.

유효하지 않은 블록(IB) 관리

사용하지 마세요

여유 공간 활용

사용자 데이터

사용자 영역 – 블록 수

칩 내 블록의 최대값

NAND 플래시 샘플이 프로그래머에 설치되어 읽혀집니다. 그런 다음 프로그래머에 복사 칩이 설치되어 삭제되고 기록되고 비교됩니다. 세 가지 절차가 모두 성공적으로 완료되면 프로그래밍된 NAND 플래시는 원본의 완전한 복사본으로 판명됩니다.

NAND 플래시 메모리 구조.

NAND 플래시 메모리*는 메모리 블록으로 나누어지고, 메모리 블록은 다시 페이지로 나뉩니다. 페이지는 크거나(큰 페이지) 작을(작은 페이지) 수 있습니다. 페이지 크기는 전체 칩 크기에 따라 다릅니다. 작은 페이지의 경우 일반적으로 128Kbit~512Kbit 용량의 칩이 일반적입니다. 페이지 크기가 큰 초소형 회로의 용량은 256Kbit에서 32Gbit 이상입니다. 작은 페이지 크기는 바이트 기반 칩의 경우 512바이트, 워드 기반 칩의 경우 256워드입니다. 큰 페이지바이트 칩의 경우 2048바이트, 워드 칩의 경우 1024바이트의 크기를 갖습니다. 안에 최근에페이지 크기가 훨씬 더 큰 칩이 나타나고 있습니다. 바이트 칩의 경우 이미 4096바이트입니다.

STMicroelectronics의 작은 페이지 크기를 갖춘 NAND 플래시 마이크로 회로의 메모리 구조.

STMicroelectronics의 대형 페이지 크기를 갖춘 초소형 회로의 메모리 구조.

불량 NAND 플래시 블록

NAND 플래시 마이크로 회로의 특징은 새로운 마이크로 회로에 불량(결함) 블록(불량 블록)이 존재하고 작동 중에 이러한 블록이 나타나는 것입니다. 불량 블록을 표시하고 추가 서비스 정보 또는 수정 코드를 저장하기 위해 NAND 플래시 아키텍처는 각 데이터 메모리 페이지 외에 추가 예비 영역을 제공합니다. 작은 페이지 칩의 경우 이 영역은 16바이트/8워드입니다. 칩의 경우 큰 페이지- 64바이트 / 32워드.

일반적으로 칩 제조업체는 불량 블록 수가 특정 크기를 초과하지 않도록 보장합니다. 불량 블록에 대한 정보는 칩 제조업체에서 제공합니다. 특정 장소 추가 면적예비 지역.

불량 블록 표시 낸드 칩플래시는 일반적으로 Spare Area의 특정 주소에 0 값을 쓰면 수행됩니다. 제로 페이지불량 블록. 불량 블록 마커는 예비 영역의 특정 주소에 위치합니다.

기억 정리

예비 영역의 불량 블록 마커 주소

바이트 구성, 페이지 크기 - 512바이트.

단어 구성, 페이지 크기 - 256 단어.

바이트 구성, 페이지 크기 - 2048바이트 이상.

단어 구성, 페이지 크기 - 1024 단어 이상.

불량 블록 마커는 예비 영역의 일반 플래시 메모리 셀에 배치되며 전체 메모리 블록이 지워지면 지워진다는 점을 명심해야 합니다. 따라서 불량 블록에 대한 정보를 저장하기 위해서는 삭제 전 해당 정보를 저장하고, 삭제 후에는 복원하는 과정이 필요하다.
ChipProg 프로그래머에서 옵션을 설치할 때 잘못된 블록 관리다음을 제외한 모든 값으로 사용하지 마세요불량 블록에 대한 정보 저장 및 복원은 자동으로 수행됩니다.

불량 블록을 처리하는 가장 일반적인 세 ​​가지 방법은 다음과 같습니다.

  1. 불량 블록 건너뛰기(불량 블록 건너뛰기 . )
  2. 예약된 블록 영역(블록 예약)
  3. 오류 확인 및 수정(제어 및 오류 수정 . )

1. 불량 블록 건너뛰기.

불량 블록을 건너뛰는 알고리즘은 칩에 쓸 때 어떤 블록에 쓰여지고 있는지 분석하는 것입니다. 불량 블록이 있는 경우 이 블록에 쓰기가 수행되지 않고 불량 블록을 건너뛰고 불량 블록 다음 블록에 쓰기가 수행됩니다.

2. 블록 예약.

이 방법에서는 전체 마이크로 회로의 메모리가 세 가지 영역으로 나누어집니다. UBA(User Block Area) - 사용자 영역, Block Reservoir - 사용자 영역 바로 다음의 예비 영역, 불량 블록을 양호한 블록과 일치시키는 테이블( 예약된 블록 영역 - RBA).

이 방법의 불량 블록 교체 알고리즘은 다음과 같습니다. UBA 영역에서 불량 블록이 식별되면 해당 블록은 Block Reservoir 영역으로 이동되고 해당 블록 교체 항목이 RBA 테이블에 작성됩니다.

RBA 테이블 형식:

2바이트 RBA 영역에는 두 개의 블록에 두 개의 테이블이 포함되어 있습니다. 두 번째 블록의 테이블은 첫 번째 블록의 정보가 신뢰할 수 없는 것으로 판명될 경우 백업 테이블로 사용됩니다.

3. 오류 제어 및 수정.

데이터 신뢰성을 높이기 위해 ECC(오류 검사 및 수정) 알고리즘을 사용할 수 있습니다. 이 추가 정보는 예비 영역의 여유 공간에 배치될 수 있습니다.

*) 참고: NAND ~ 아니다 그리고 - 부울 수학에서 "AND"의 부정을 나타냅니다.



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: