hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
플래시 메모리 역사
NAND 플래시는 지우기 및 쓰기 시간이 단축되었으며, 셀당 칩 영역이 적게 필요하여 NOR 플래시보다 더 높은 저장 밀도와 비트당 저렴한 비용을 제공한다. 그러나 NAND 플래시의 I/O 인터페이스는 임의 접근 외부 주소 버스를 제공하지 않는다. 오히려 데이터는 블록 단위로 읽어야 하며, 일반적인 블록 크기는 수백에서 수천 비트이다. 이로 인해 NAND 플래시는 대부분의 마이크로프로세서와 마이크로컨트롤러가 바이트 수준의 임의 접근을 요구하기 때문에 프로그램 ROM을 대체하는 데 부적합하다. 이러한 점에서 NAND 플래시는 하드 디스크 및 광학 미디어와 같은 다른 보조 데이터 저장 장치와 유사하며, 따라서 메모리 카드 및 솔리드 스테이트 드라이브(SSD)와 같은 대량 저장 장치에 사용하기에 매우 적합하다. 예를 들어, SSD는 여러 NAND 플래시 메모리 칩을 사용하여 데이터를 저장한다.
최초의 NAND 기반 이동식 메모리 카드 형식은 1995년에 출시된 스마트미디어였다. 이후 멀티미디어카드, 시큐어 디지털, 메모리 스틱, XD 픽처 카드 등 많은 형식들이 출시되었다.
플래시 메모리 역사
RS-MMC, miniSD 및 마이크로SD를 포함한 새로운 세대의 메모리 카드 형식은 매우 작은 폼 팩터를 특징으로 한다. 예를 들어, microSD 카드는 면적이 1.5 cm2가 약간 넘고 두께가 1 mm 미만이다.
NAND 플래시는 2000년대 후반부터 2010년대 초반까지 상용화된 여러 주요 기술의 결과로 상당한 수준의 메모리 밀도를 달성했다.
NOR 플래시는 2005년까지 가장 흔한 플래시 메모리 유형이었으나, 그 이후로는 NAND 플래시가 NOR 플래시의 판매량을 추월했다.
플래시 메모리 역사
멀티 레벨 셀 (MLC) 기술은 각 메모리 셀에 하나 이상의 비트를 저장한다. NEC는 1998년 멀티 레벨 셀 (MLC) 기술을 시연했으며, 셀당 2비트를 저장하는 80 Mb 플래시 메모리 칩을 개발했다. ST마이크로일렉트로닉스도 2000년에 MLC를 시연했으며, 64 MB NOR 플래시 메모리 칩을 사용했다. 2009년에는 도시바와 샌디스크가 셀당 4비트를 저장하고 64 Gb 용량을 가진 QLC 기술의 NAND 플래시 칩을 도입했다. 삼성전자는 셀당 3비트를 저장하는 트리플 레벨 셀 (TLC) 기술을 도입했으며, 2010년부터 TLC 기술을 적용한 NAND 칩을 양산하기 시작했다.
전하 트랩 플래시 (CTF) 기술은 상단에 차단 게이트 산화물, 하단에 터널링 산화물 사이에 끼어 있는 폴리실리콘 플로팅 게이트를 전기적으로 절연된 질화 규소 층으로 대체한다. 질화 규소 층은 전자를 가둔다. 이론적으로 CTF는 전자 누설에 덜 취약하여 데이터 보존을 향상시킨다.
플래시 메모리 역사
CTF는 폴리실리콘을 전기적으로 절연되는 질화물로 대체하므로 더 작은 셀과 더 높은 내구성(낮은 성능 저하 또는 마모)을 제공한다. 그러나 전자가 질화물에 갇혀 축적되어 성능 저하를 초래할 수 있다. 온도가 증가하면 전자가 더 흥분되므로 누설이 심화된다. 그러나 CTF 기술은 여전히 터널링 산화물과 차단층을 사용하는데, 이는 기술의 약점이다. 왜냐하면 극도로 높은 전기장으로 인해 터널 산화물이 손상될 수 있고, 양극 고온 정공 주입(AHHI)으로 인해 차단층이 손상될 수 있기 때문이다.
산화물의 성능 저하나 마모는 플래시 메모리의 내구성이 제한되는 이유이다. 성능 저하가 증가함에 따라 데이터 보존이 감소(데이터 손실 가능성 증가)하는데, 이는 산화물이 성능 저하됨에 따라 전기 절연 특성을 잃기 때문이다. 산화물은 전자가 누설되는 것을 방지하기 위해 전자를 절연해야 하며, 이는 데이터 손실을 유발한다.
플래시 메모리 역사
1991년에 N. 고다마, K. 오야마, 히로키 시라이를 포함한 NEC 연구원들은 전하 트랩 방식을 사용하는 플래시 메모리 유형을 설명했다. 1998년에는 스팬션이 나중에 인수한 사이푼 세미컨덕터의 보아즈 에이탄이 기존 플래시 메모리 설계에 사용되는 기존의 플로팅 게이트를 대체하기 위해 전하 트래핑 층을 활용하는 NROM이라는 플래시 메모리 기술을 특허했다. 2000년에는 리처드 M. 패스토가 이끄는 AMD 연구팀과 이집트 엔지니어 칼레드 Z. 아흐메드, 요르단 엔지니어 사미르 하다드(이후 스팬션에 합류)가 NOR 플래시 메모리 셀에 대한 전하 트래핑 메커니즘을 시연했다. CTF는 2002년에 AMD와 후지쯔에 의해 상용화되었다. 3D V-NAND(수직 NAND) 기술은 3D 전하 트랩 플래시(CTP) 기술을 사용하여 NAND 플래시 메모리 셀을 칩 내부에 수직으로 쌓는다. 3D V-NAND 기술은 2007년 도시바에 의해 처음 발표되었고, 24층의 첫 번째 장치는 2013년 삼성전자에 의해 상용화되었다.
플래시 메모리 역사
3D 집적 회로(3D IC) 기술은 집적 회로(IC) 칩을 단일 3D IC 패키지에 수직으로 쌓는 기술이다. 도시바는 2007년 4월에 NAND 플래시 메모리에 3D IC 기술을 도입했다. 이 기술은 16 GB eMMC 규격(제품 번호 THGAM0G7D8DBAI6, 소비자 웹사이트에서는 종종 THGAM으로 약칭) 임베디드 NAND 플래시 메모리 패키지를 출시하면서 선보였다. 이 패키지는 8개의 2 GB NAND 플래시 칩을 쌓아 제조되었다. 2007년 9월, 하이닉스반도체(현 SK하이닉스)는 웨이퍼 본딩 공정을 사용하여 24개의 NAND 플래시 칩을 쌓아 제조된 16 GB 플래시 메모리 패키지로 24층 3D IC 기술을 도입했다. 도시바는 또한 32 GB THGBM 플래시 패키지에 8층 3D IC를 사용했으며, 2008년에도 사용했다. 2010년, 도시바는 16개의 8 GB 칩을 쌓아 제조된 128 GB THGBM2 플래시 패키지에 16층 3D IC를 사용했다. 2010년대에는 3D IC가 모바일 장치의 NAND 플래시 메모리에 광범위하게 상용화되었다.
2016년에 마이크론과 인텔은 CMOS 언더 어레이/CMOS 언더 어레이(CUA), 코어 오버 주변(COP), 주변 언더 셀(PUA) 또는 엑스태킹(Xtacking)으로 알려진 기술을 도입했다. 이 기술은 플래시 메모리 제어 회로를 플래시 메모리 셀 어레이 아래 또는 위에 배치한다. 이로 인해 플래시 메모리 칩의 플레인 또는 섹션 수가 2개에서 4개로 증가할 수 있었으며, 제어 또는 주변 회로 전용 영역을 늘리지 않았다. 이는 플래시 칩 또는 다이당 IO 작업을 증가시키지만, 플래시 메모리에 쓰는 데 사용되는 전하 펌프용 커패시터를 구축할 때도 문제를 일으킨다. 일부 플래시 다이에는 최대 6개의 플레인이 있다.
2017년 8월년 기준, 최대 400 GB(4천억 바이트) 용량의 microSD 카드를 사용할 수 있었다. 삼성은 3D IC 칩 스태킹과 3D V-NAND 및 TLC 기술을 결합하여 8개의 64층 V-NAND 칩이 적층된 512 GB KLUFG8R1EM 플래시 메모리 패키지를 제조했다. 2019년, 삼성은 8개의 96층 V-NAND 패키지와 QLC 기술이 적용된 1024 GB 플래시 패키지를 생산했다.
2025년에 연구원들은 400피코초의 쓰기 시간을 가진 장치로 실험적인 성공을 발표했다.
플래시 메모리 작동 원리
플래시 메모리는 플로팅 게이트 트랜지스터로 만들어진 메모리 셀의 배열에 정보를 저장한다. 단일 레벨 셀(SLC) 장치에서는 각 셀이 하나의 비트 정보만 저장한다. 멀티 레벨 셀(MLC) 장치는 트리플 레벨 셀(TLC) 장치를 포함하여 셀당 하나 이상의 비트를 저장할 수 있다.
플로팅 게이트는 전도성(대부분의 플래시 메모리 유형에서는 일반적으로 폴리실리콘)이거나 비전도성(예: SONOS 플래시 메모리)일 수 있다.
플래시 메모리 작동 원리
플래시 메모리에서 각 메모리 셀은 표준 MOSFET와 유사하지만, 트랜지스터가 하나의 게이트 대신 두 개의 게이트를 가지고 있다는 점이 다르다. 이 셀은 두 단자(소스와 드레인) 사이로 전류가 흐르고, 플로팅 게이트(FG)와 제어 게이트(CG)에 의해 제어되는 전기 스위치로 볼 수 있다. CG는 다른 MOS 트랜지스터의 게이트와 유사하지만, 그 아래에는 산화물 층에 의해 완전히 절연된 FG가 있다. FG는 CG와 MOSFET 채널 사이에 삽입된다. FG는 절연층에 의해 전기적으로 격리되어 있으므로, 그 위에 놓인 전자는 갇히게 된다. FG에 전자가 충전되면, 이 전하는 전기장을 CG로부터 차단하여 셀의 문턱 전압(VT)을 증가시킨다. 이는 FG 전하를 변경함으로써 셀의 VT를 비충전 FG 문턱 전압(VT1)과 더 높은 충전 FG 문턱 전압(VT2) 사이에서 변경할 수 있다는 것을 의미한다. 셀에서 값을 읽기 위해 VT1과 VT2 사이의 중간 전압(VI)이 CG에 적용된다. VI에서 채널이 전도되면, FG는 비충전 상태여야 한다(만약 충전되어 있었다면 VI가 VT2보다 작으므로 전도가 없을 것이다). VI에서 채널이 전도되지 않으면, FG가 충전되어 있음을 나타낸다. 셀의 이진 값은 VI가 CG에 인가될 때 트랜지스터를 통해 전류가 흐르는지 여부를 확인함으로써 감지된다. 셀당 하나 이상의 비트를 저장하는 멀티 레벨 셀 장치에서는 FG의 전하 수준을 더 정확하게 결정하기 위해 전류량(단순히 존재 여부가 아님)이 감지된다.
플래시 메모리 작동 원리
부유 게이트 MOSFET은 부유 게이트와 실리콘 사이에 전기적으로 절연되는 터널 산화물 층이 있어 게이트가 실리콘 위에 "떠 있다"고 하여 붙여진 이름이다. 산화물은 전자를 부유 게이트에 가두어 둔다. 성능 저하 또는 마모(및 부유 게이트 플래시 메모리의 제한된 내구성)는 산화물이 겪는 극히 높은 전기장(센티미터당 1천만 볼트)으로 인해 발생한다. 이러한 높은 전압 밀도는 상대적으로 얇은 산화물 내에서 시간이 지남에 따라 원자 결합을 끊을 수 있으며, 이는 전기 절연 특성을 점진적으로 저하시켜 전자가 부유 게이트에서 산화물로 자유롭게 갇히고 통과(누설)할 수 있도록 하여 데이터 손실 가능성을 높인다. 이는 일반적으로 전자가 부유 게이트에 있기 때문에 (MLC 플래시에서 다른 비트 조합에 할당된 다른 전하 레벨을 나타내는 데 사용되는 양) 데이터 보존이 감소하고 성능 저하가 증가함에 따라 데이터 손실 위험이 증가하는 이유이다. 셀 내의 실리콘 산화물은 모든 소거 작업에서 성능이 저하된다. 이 성능 저하는 산화물 내에 갇힌 전자로 인해 시간이 지남에 따라 셀 내의 음전하 양을 증가시키고, 제어 게이트 전압의 일부를 무효화시킨다. 시간이 지남에 따라 이는 셀을 소거하는 것을 더 느리게 만들기도 한다. NAND 칩의 성능과 신뢰성을 유지하기 위해 셀은 사용 중단되어야 한다. 내구성은 또한 셀 내 비트 수에 따라 감소한다. 셀 내 비트 수가 많아질수록 셀 내 가능한 상태(각각 다른 전압 레벨로 표현됨) 수가 증가하고, 프로그래밍에 사용되는 전압에 더 민감해진다. 실리콘 산화물의 성능 저하를 보상하기 위해 전압을 조정할 수 있으며, 비트 수가 증가함에 따라 가능한 상태 수도 증가하므로 셀 내 각 상태를 정의하는 전압 레벨 간의 간격이 줄어들어 프로그래밍 전압 조정에 대한 허용 오차가 줄어든다.
플래시 메모리 작동 원리
제어 게이트에서 부동 게이트로 전자를 이동시키는 과정을 파울러-노르트하임 터널링이라고 하며, 이는 MOSFET의 문턱 전압을 증가시켜 셀의 특성을 근본적으로 변화시킨다. 이는 특정 게이트 전압에 대해 트랜지스터를 통해 흐르는 드레인-소스 전류를 변화시키며, 궁극적으로 이진 값을 인코딩하는 데 사용된다. 파울러-노르트하임 터널링 효과는 가역적이므로, 전자를 부동 게이트에 추가하거나 제거할 수 있으며, 이러한 과정은 전통적으로 쓰기 및 지우기로 알려져 있다.
상대적으로 높은 프로그래밍 및 소거 전압이 필요함에도 불구하고, 오늘날 거의 모든 플래시 칩은 단일 공급 전압만 필요하며 온칩 전하 펌프를 사용하여 필요한 고전압을 생성한다.
1.8V NAND 플래시 칩에서 사용되는 에너지의 절반 이상이 전하 펌프 자체에서 손실된다. 부스트 컨버터가 전하 펌프보다 본질적으로 더 효율적이기 때문에, 저전력 SSD를 개발하는 연구원들은 모든 초기 플래시 칩에서 사용되던 듀얼 Vcc/Vpp 공급 전압으로 돌아가 SSD의 모든 플래시 칩에 단일 공유 외부 부스트 컨버터로 높은 Vpp 전압을 공급할 것을 제안했다.
플래시 메모리 작동 원리
우주선 및 기타 고방사선 환경에서는 온칩 충전 펌프가 플래시 칩에서 가장 먼저 고장나는 부분이지만, 플래시 메모리는 훨씬 더 높은 방사선 수준에서도 읽기 전용 모드로 계속 작동한다.
NOR 플래시에서 각 셀은 한쪽 끝이 직접 접지에 연결되고 다른 쪽 끝은 비트 라인에 직접 연결된다. 이 배열을 "NOR 플래시"라고 부르는데, 이는 NOR 게이트처럼 작동하기 때문이다. 워드 라인(셀의 CG에 연결됨) 중 하나가 높아지면 해당 저장 트랜지스터가 출력 비트 라인을 낮춘다. NOR 플래시는 이산 비휘발성 메모리 장치를 요구하는 임베디드 애플리케이션에서 여전히 선호되는 기술이다. NOR 장치의 낮은 읽기 지연 시간은 단일 메모리 제품에서 직접 코드 실행과 데이터 저장을 모두 가능하게 한다.
단일 레벨 NOR 플래시 셀은 기본 상태에서 이진 "1" 값과 논리적으로 동등하다. 이는 제어 게이트에 적절한 전압을 인가하면 채널을 통해 전류가 흐르므로 비트라인 전압이 낮아지기 때문이다. NOR 플래시 셀은 다음 절차에 따라 프로그래밍하거나 이진 "0" 값으로 설정할 수 있다.
플래시 메모리 작동 원리
NOR 플래시 셀을 지우려면("1" 상태로 재설정) CG와 소스 단자 사이에 반대 극성의 큰 전압을 가하여 파울러-노르트하임 터널링(FN 터널링)을 통해 FG에서 전자를 끌어낸다. 이를 음극 게이트 소스 소거라고 한다. 최신 NOR 메모리는 음극 게이트 채널 소거를 사용하여 NOR 메모리 셀 블록의 워드라인과 메모리 셀 블록의 P-웰에 바이어스를 가하여 FN 터널링을 수행하고 셀 블록을 소거할 수 있다. 구형 메모리는 소스 소거를 사용했는데, 이는 소스에 고전압을 가하고 FG에서 전자를 소스로 이동시키는 방식이었다. 현대 NOR 플래시 메모리 칩은 소거 세그먼트(종종 블록 또는 섹터라고도 함)로 나뉜다. 소거 작업은 블록 단위로만 수행할 수 있다. 소거 세그먼트의 모든 셀은 함께 소거되어야 한다. 그러나 NOR 셀의 프로그래밍은 일반적으로 한 번에 한 바이트 또는 한 워드 단위로 수행할 수 있다.
플래시 메모리 작동 원리
NAND 플래시도 부동 게이트 트랜지스터를 사용하지만, NAND 게이트와 유사하게 연결되어 있다. 여러 트랜지스터가 직렬로 연결되어 있으며, 모든 워드 라인이 높게 당겨져야(트랜지스터의 VT 이상) 비트 라인이 낮게 당겨진다. 이러한 그룹은 NOR 플래시에서 단일 트랜지스터가 연결되는 방식과 동일하게 추가 트랜지스터를 통해 NOR 스타일 비트 라인 배열에 연결된다.
NOR 플래시와 비교하여 단일 트랜지스터를 직렬 연결된 그룹으로 교체하면 주소 지정 수준이 추가된다. NOR 플래시가 페이지 다음에 워드로 메모리를 주소 지정할 수 있다면, NAND 플래시는 페이지, 워드 및 비트 단위로 주소 지정할 수 있다. 비트 수준 주소 지정은 하드 디스크 에뮬레이션과 같이 한 번에 하나의 비트만 접근하는 비트 직렬 애플리케이션에 적합하다. 반면에 Execute-in-place 애플리케이션은 워드의 모든 비트가 동시에 접근되어야 한다. 이는 워드 수준 주소 지정이 필요하다. 어떤 경우든, NOR 또는 NAND 플래시 모두 비트 및 워드 주소 지정 모드를 사용할 수 있다.
플래시 메모리 작동 원리
데이터를 읽으려면 먼저 원하는 그룹을 선택한다(단일 트랜지스터를 NOR 배열에서 선택하는 방식과 동일). 다음으로, 대부분의 워드 라인은 VT2 위로 당겨지고, 그중 하나는 VI로 당겨진다. 선택된 비트가 프로그래밍되지 않았다면 직렬 그룹은 전도할 것이다(그리고 비트 라인을 낮출 것이다).
추가 트랜지스터에도 불구하고 접지선과 비트 라인의 감소는 더 조밀한 레이아웃과 칩당 더 큰 저장 용량을 가능하게 한다. (접지선과 비트 라인은 실제로 다이어그램의 선보다 훨씬 넓다.) 또한 NAND 플래시는 일반적으로 일정 수의 오류를 포함할 수 있도록 허용된다(바이오스 ROM에 사용되는 NOR 플래시는 오류가 없어야 한다). 제조업체는 트랜지스터 또는 셀의 크기를 줄여 사용 가능한 저장 공간을 최대화하려고 노력하지만, 3D NAND를 사용하여 셀을 서로 쌓아 올리면 이 문제를 피하고 다이당 더 높은 저장 밀도를 달성할 수 있다.
NAND 플래시 셀은 다양한 전압에 대한 반응을 분석하여 읽는다.
플래시 메모리 작동 원리
NAND 플래시는 쓰기에 터널 주입을 사용하고 지우기에 터널 방출을 사용한다. NAND 플래시 메모리는 USB USB 플래시 드라이브와 같은 이동식 저장 장치와 오늘날 사용 가능한 대부분의 메모리 카드 형식 및 솔리드 스테이트 드라이브의 핵심을 이룬다.
NAND 플래시의 계층적 구조는 셀 수준에서 시작하여 스트링, 페이지, 블록, 플레인, 최종적으로 다이를 형성한다. 스트링은 서로 연결된 NAND 셀의 연속체이며, 한 셀의 소스는 다음 셀의 드레인에 연결된다. NAND 기술에 따라 스트링은 일반적으로 32개에서 128개의 NAND 셀로 구성된다. 스트링은 페이지로 구성되고, 페이지는 다시 블록으로 구성되며, 각 스트링은 비트라인이라는 별도의 라인에 연결된다. 스트링에서 동일한 위치에 있는 모든 셀은 워드라인을 통해 제어 게이트에 연결된다. 플레인은 동일한 비트라인을 통해 연결된 일정 수의 블록을 포함한다. 플래시 다이는 하나 이상의 플레인과 모든 읽기, 쓰기 및 지우기 작업을 수행하는 데 필요한 주변 회로로 구성된다.
플래시 메모리 작동 원리
NAND 플래시의 아키텍처는 데이터가 페이지 단위로 읽고 프로그램(기록)될 수 있음을 의미하며, 일반적으로 4 KiB에서 16 KiB 크기이지만, 여러 페이지로 구성된 전체 블록 수준에서만 지울 수 있다. 블록이 지워지면 모든 셀은 논리적으로 1로 설정된다. 데이터는 지워진 블록의 페이지에 한 번만 프로그램할 수 있다. 프로그래밍 프로세스는 하나 이상의 셀을 1에서 0으로 설정한다. 프로그래밍에 의해 0으로 설정된 셀은 전체 블록을 지워야만 1로 재설정할 수 있다. 즉, 이미 데이터가 포함된 페이지에 새 데이터를 프로그램하기 전에 페이지의 현재 내용과 새 데이터를 모두 새롭고 지워진 페이지로 복사해야 한다. 적합한 지워진 페이지를 사용할 수 있는 경우 데이터는 즉시 기록될 수 있다. 지워진 페이지를 사용할 수 없는 경우, 데이터를 해당 블록의 페이지로 복사하기 전에 블록을 지워야 한다. 그런 다음 이전 페이지는 유효하지 않은 것으로 표시되고 지우기 및 재사용을 위해 사용할 수 있게 된다. 이는 운영 체제 LBA 보기와 다르다. 예를 들어, 운영 체제가 플래시 저장 장치(SSD 등)에 1100 0011을 쓰면 플래시 메모리에 실제로 쓰여지는 데이터는 0011 1100일 수 있다.
플래시 메모리 작동 원리
수직 NAND(V-NAND) 또는 3D NAND 메모리는 메모리 셀을 수직으로 쌓고 전하 트랩 플래시 아키텍처를 사용한다. 수직 레이어는 개별 셀의 크기를 줄일 필요 없이 더 큰 면적 비트 밀도를 허용한다. 또한 Kioxia Corporation(이전 도시바 메모리 코퍼레이션)의 상표인 BiCS Flash라는 상표로 판매된다. 3D NAND는 2007년 도시바에 의해 처음 발표되었다. V-NAND는 2013년 삼성전자에 의해 처음 상업적으로 제조되었다.
플래시 메모리 작동 원리
V-NAND는 내장된 질화 규소 필름에 전하를 저장하는 전하 트랩 플래시 기하학 구조(2002년 AMD와 후지쯔에 의해 상용화됨)를 사용한다. 이러한 필름은 점 결함에 더 강하고, 더 많은 수의 전자를 저장하기 위해 더 두껍게 만들 수 있다. V-NAND는 평면 전하 트랩 셀을 원통형으로 감싼다. 2020년년 기준, 마이크론과 인텔의 3D NAND 플래시 메모리는 부동 게이트를 사용하지만, 마이크론 128층 이상 3D NAND 메모리는 마이크론과 인텔의 파트너십 해체로 인해 기존의 전하 트랩 구조를 사용한다. 전하 트랩 3D NAND 플래시는 부동 게이트 3D NAND보다 얇다. 부동 게이트 3D NAND에서는 메모리 셀이 서로 완전히 분리되어 있지만, 전하 트랩 3D NAND에서는 메모리 셀의 수직 그룹이 동일한 질화 규소 재료를 공유한다.
플래시 메모리 작동 원리
개별 메모리 셀은 구멍이 있는 평면 폴리실리콘 층으로 구성되며, 이 구멍은 여러 개의 동심원 수직 실린더로 채워져 있다. 구멍의 폴리실리콘 표면은 게이트 전극 역할을 한다. 가장 바깥쪽 실리콘 이산화물 실린더는 게이트 유전체 역할을 하여 전하를 저장하는 질화 실리콘 실린더를 감싸고 있으며, 이 질화 실리콘 실린더는 중앙의 전도성 폴리실리콘 막대(전도성 채널 역할을 함)를 감싸는 터널 유전체 역할을 하는 실리콘 이산화물 실린더를 감싸고 있다.
다른 수직 레이어의 메모리 셀은 서로 간섭하지 않는다. 왜냐하면 전하가 질화 실리콘 저장 매체를 통해 수직으로 이동할 수 없고, 게이트와 관련된 전기장이 각 레이어 내에 밀접하게 한정되어 있기 때문이다. 수직 집합은 기존 NAND 플래시 메모리가 구성되는 직렬 연결된 그룹과 전기적으로 동일하다. 또한 스트링 스태킹도 있는데, 이는 여러 3D NAND 메모리 어레이 또는 "플러그"를 개별적으로 구축하지만, 단일 다이에서 더 많은 수의 3D NAND 레이어를 만들기 위해 함께 적층된다. 종종 두세 개의 어레이가 적층된다. 플러그 간의 정렬 불량은 30에서 10nm 정도이다.
V-NAND 셀 그룹의 성장은 전도성(도핑된) 폴리실리콘 층과 절연 실리콘 이산화물 층을 번갈아 쌓는 것으로 시작한다.
다음 단계는 이 층들을 통해 원통형 구멍을 형성하는 것이다. 실제로는 24개 메모리 셀 층을 가진 128 Gbit V-NAND 칩에 약 29억 개의 구멍이 필요하다. 다음으로, 구멍의 내부 표면에는 여러 코팅이 입혀진다. 첫째는 실리콘 이산화물, 다음은 질화 실리콘, 그 다음은 두 번째 실리콘 이산화물 층이다. 마지막으로, 구멍은 전도성(도핑된) 폴리실리콘으로 채워진다.
2013년년 기준, V-NAND 플래시 아키텍처는 기존 NAND보다 두 배 빠른 읽기 및 쓰기 작업을 허용하며 최대 10배 더 오래 지속될 수 있고, 전력 소모는 50% 적다. 10nm 리소그래피를 사용하여 비슷한 물리적 비트 밀도를 제공하지만, V-NAND는 수백 개의 레이어를 사용할 수 있으므로 비트 밀도를 최대 두 배까지 늘릴 수 있다. 2020년년 기준, 삼성은 160층 V-NAND 칩을 개발 중이다. 레이어 수가 증가함에 따라 플래시 메모리의 용량과 내구성이 향상될 수 있다.
3D NAND의 웨이퍼 비용은 축소된(32 nm 이하) 평면 NAND 플래시와 비슷하다. 그러나 평면 NAND의 스케일링이 16 nm에서 멈추면서 비트당 비용 절감은 16개 레이어로 시작하는 3D NAND를 통해 계속될 수 있다. 그러나 레이어에 새겨진 구멍의 비수직 측벽 때문에 약간의 편차라도 최소 비트 비용, 즉 주어진 레이어 수에 대한 최소 등가 설계 규칙(또는 최대 밀도)으로 이어진다. 이 최소 비트 비용 레이어 수는 구멍 직경이 작을수록 감소한다.
플래시 메모리 제한 사항
플래시 메모리의 한계 중 하나는 한 번에 하나의 블록만 지울 수 있다는 것이다. 이 경우 일반적으로 블록의 모든 비트가 1로 설정된다. 새로 지워진 블록에서 해당 블록 내의 어느 위치든 프로그래밍할 수 있다. 그러나 일단 비트가 0으로 설정되면 전체 블록을 지워야만 다시 1로 변경할 수 있다. 다시 말해, 플래시 메모리(특히 NOR 플래시)는 임의 접근 읽기 및 프로그래밍 작업을 제공하지만, 임의 접근 재기록 또는 지우기 작업은 제공하지 않는다. 그러나 새 값의 0 비트가 덮어쓴 값의 상위 집합인 한 위치를 다시 쓸 수 있다. 예를 들어, 니블 값은 1111로 지워진 다음 1110으로 쓸 수 있다. 이 니블에 대한 연속 쓰기는 1010, 다음에는 0010, 마지막으로 0000으로 변경할 수 있다. 기본적으로 지우기는 모든 비트를 1로 설정하고, 프로그래밍은 비트를 0으로만 지울 수 있다.
플래시 메모리 제한 사항
플래시 장치용으로 설계된 일부 파일 시스템은 이 재기록 기능을 활용하는데, 예를 들어 YAFFS1은 섹터 메타데이터를 나타내는 데 사용한다. YAFFS2와 같은 다른 플래시 파일 시스템은 이 "재기록" 기능을 사용하지 않는다. 그들은 "한 번 쓰기 규칙"을 충족하기 위해 많은 추가 작업을 수행한다.
플래시 메모리의 데이터 구조는 완전히 일반적인 방식으로 업데이트될 수 없지만, 이는 멤버를 유효하지 않은 것으로 표시하여 "제거"할 수 있도록 한다. 이 기술은 하나의 메모리 셀이 하나 이상의 비트를 저장하는 멀티 레벨 셀 장치의 경우 수정해야 할 수 있다.
USB 플래시 드라이브 및 메모리 카드와 같은 일반적인 플래시 장치는 블록 수준 인터페이스 또는 플래시 변환 계층(FTL)만 제공하며, 이는 장치의 웨어 레벨링을 위해 매번 다른 셀에 쓴다. 이는 블록 내에서 점진적으로 쓰는 것을 방지하지만, 장치가 집중적인 쓰기 패턴으로 조기에 마모되는 것을 방지하는 데 도움이 된다.
플래시 메모리 제한 사항
플래시 셀에 저장된 데이터는 전자 역트래핑으로 인해 시간이 지남에 따라 꾸준히 손실된다. 데이터 역트래핑은 일반적인 위키백과 독자에게 익숙한 개념이 아니다. 손실 속도는 절대 온도가 증가함에 따라 지수적으로 증가한다. 예를 들어, 45 nm NOR 플래시의 경우 1000시간에서 25°C의 문턱 전압(Vt) 손실은 90°C의 절반 정도이다.
또 다른 제한 사항은 플래시 메모리가 유한한 수의 프로그램-소거 주기(일반적으로 P/E 주기라고 표기됨)를 가진다는 것이다. 마이크론 테크놀로지와 썬 마이크로시스템즈는 2008년 12월 17일에 1,000,000 P/E 주기 등급의 SLC NAND 플래시 메모리 칩을 발표했다.
플래시 메모리 제한 사항
보증된 주기 횟수는 블록 0에만 적용되거나(TSOP NAND 장치의 경우) 모든 블록에 적용될 수 있다(NOR의 경우). 이러한 효과는 일부 칩 펌웨어 또는 파일 시스템 드라이버에서 쓰기 횟수를 세고 블록을 동적으로 재매핑하여 쓰기 작업을 섹터 간에 분산시키는 웨어 레벨링이라는 기술로 완화된다. 또 다른 접근 방식은 쓰기 실패 시 쓰기 검증 및 여유 섹터로의 재매핑을 수행하는 불량 블록 관리(BBM)라는 기술이다. 휴대용 소비자 장치의 경우 이러한 마모 관리 기술은 일반적으로 플래시 메모리의 수명을 장치 자체의 수명보다 연장하며, 이러한 응용 프로그램에서는 일부 데이터 손실이 허용될 수 있다. 그러나 고신뢰성 데이터 저장의 경우 많은 수의 프로그래밍 주기를 거쳐야 하는 플래시 메모리를 사용하는 것은 바람직하지 않다. 이 제한은 씬 클라이언트 및 라우터와 같은 "읽기 전용" 응용 프로그램에도 존재한다. 이들은 수명 동안 한두 번만 프로그래밍되지만, 읽기 방해(아래 참조)로 인해 문제가 발생할 수 있다.
플래시 메모리 제한 사항
2012년 12월, 타이완의 Macronix 엔지니어들은 2012년 IEEE 국제 전자 소자 회의에서 "자체 복구" 프로세스를 사용하여 10,000회에서 1억 회로 NAND 플래시 저장 장치의 읽기/쓰기 주기를 개선하는 방법을 발표할 의사를 밝혔다. 이 프로세스는 "온보드 히터를 사용하여 작은 메모리 셀 그룹을 어닐링할 수 있는" 플래시 칩을 사용했다. 내장된 열 어닐링은 일반적인 소거 주기를 국부적인 고온 프로세스로 대체하여 저장된 전하를 지울 뿐만 아니라 칩 내의 전자 유도 스트레스를 복구하여 최소 1억 회의 쓰기 주기를 가능하게 했다. 그 결과 이론적으로는 고장 나야 할 때에도 계속해서 지우고 다시 쓸 수 있는 칩이 탄생할 예정이었다. 그러나 Macronix의 돌파구가 모바일 산업에 아무리 유망했더라도, 가까운 미래에 이러한 기능을 갖춘 상업용 제품이 출시될 계획은 없었다.
NAND 플래시 메모리를 읽는 데 사용되는 방법은 시간이 지남에 따라 동일한 메모리 블록 내의 인근 셀이 변경(프로그래밍됨)될 수 있다. 이를 읽기 방해라고 한다. 임계 읽기 횟수는 일반적으로 중간 소거 작업 사이에 수십만 회이다. 한 셀에서 계속 읽으면 해당 셀은 고장나지 않지만, 오히려 주변 셀 중 하나가 다음 읽기에서 고장난다. 읽기 방해 문제를 피하기 위해 플래시 컨트롤러는 일반적으로 마지막 소거 이후 블록에 대한 총 읽기 횟수를 계산한다. 횟수가 목표 한도를 초과하면 해당 블록은 새 블록으로 복사되고, 소거된 다음 블록 풀로 해제된다. 원래 블록은 소거 후 새것과 다름없다. 그러나 플래시 컨트롤러가 제때 개입하지 않으면 오류 정정 코드로 오류를 수정하기에는 너무 많은 오류가 발생할 경우 읽기 방해 오류가 발생하여 데이터 손실이 발생할 수 있다.
대부분의 플래시 IC는 볼 그리드 배열(BGA) 패키지로 제공되며, 그렇지 않은 경우에도 종종 다른 BGA 패키지 옆의 PCB에 장착된다. PCB 조립 후 BGA 패키지가 있는 보드는 볼이 적절한 패드에 제대로 연결되어 있는지 또는 BGA에 재작업이 필요한지 확인하기 위해 X선 촬영을 하는 경우가 많다. 이 X선은 플래시 칩에 프로그래밍된 비트를 지울 수 있다(프로그래밍된 "0" 비트를 지워진 "1" 비트로 변환). 지워진 비트("1" 비트)는 X선에 영향을 받지 않는다.
일부 제조업체는 이제 X선 방지 SD 및 USB 메모리 장치를 만들고 있다.
플래시 메모리 저수준 접근
플래시 메모리 칩의 저수준 인터페이스는 비트 변경 가능성(0에서 1 또는 1에서 0으로 모두)과 외부에서 접근 가능한 주소 버스를 통한 임의 접근을 지원하는 DRAM, ROM, EEPROM과 같은 다른 메모리 유형과 다르다.
NOR 메모리는 읽기 및 프로그래밍을 위한 외부 주소 버스를 가지고 있다. NOR 메모리의 경우 읽기 및 프로그래밍은 임의 접근 방식이며, 잠금 해제 및 지우기는 블록 단위이다. NAND 메모리의 경우 읽기 및 프로그래밍은 페이지 단위이며, 잠금 해제 및 지우기는 블록 단위이다.
플래시 메모리 저수준 접근
NOR 플래시에서 읽는 것은 주소 및 데이터 버스가 올바르게 매핑되어 있다면 랜덤 액세스 메모리에서 읽는 것과 유사하다. 이 때문에 대부분의 마이크로프로세서는 NOR 플래시 메모리를 엑시큐트 인 플레이스(XIP) 메모리로 사용할 수 있다. 즉, NOR 플래시에 저장된 프로그램은 먼저 RAM에 복사할 필요 없이 NOR 플래시에서 직접 실행될 수 있다. NOR 플래시는 읽기 방식과 유사하게 임의 접근 방식으로 프로그래밍될 수 있다. 프로그래밍은 비트를 논리적 1에서 0으로 변경한다. 이미 0인 비트는 변경되지 않는다. 지우기는 한 번에 한 블록씩 이루어져야 하며, 지워진 블록의 모든 비트를 다시 1로 재설정한다. 일반적인 블록 크기는 64, 128 또는 256 KiB이다.
불량 블록 관리는 NOR 칩의 비교적 새로운 기능이다. 불량 블록 관리를 지원하지 않는 구형 NOR 장치에서는 메모리 칩을 제어하는 소프트웨어 또는 장치 드라이버가 마모된 블록을 수정해야 하며, 그렇지 않으면 장치가 안정적으로 작동하지 않게 된다.
플래시 메모리 저수준 접근
NOR 메모리를 잠금, 잠금 해제, 프로그래밍 또는 지우는 데 사용되는 특정 명령은 각 제조업체마다 다르다. 모든 장치에 대해 고유한 드라이버 소프트웨어가 필요하지 않도록 특별한 커먼 플래시 메모리 인터페이스(CFI) 명령을 통해 장치 자체와 중요한 작동 매개 변수를 식별할 수 있다.
NOR 플래시는 랜덤 액세스 ROM으로 사용되는 것 외에도, 랜덤 액세스 프로그래밍을 활용하여 저장 장치로도 사용할 수 있다. 일부 장치는 읽기-쓰기 기능을 제공하여 프로그램 또는 지우기 작업이 백그라운드에서 진행되는 동안에도 코드가 계속 실행될 수 있도록 한다. 순차적 데이터 쓰기의 경우, NOR 플래시 칩은 일반적으로 NAND 플래시보다 쓰기 속도가 느리다.
일반적인 NOR 플래시는 오류 검출 정정이 필요하지 않다.
플래시 메모리 저수준 접근
NAND 플래시 아키텍처는 1989년에 도시바에서 도입되었다. 이 메모리들은 블록 장치처럼 접근된다. 하드 디스크와 마찬가지로 각 블록은 여러 페이지로 구성된다. 페이지는 일반적으로 512, 2,048 또는 4,096바이트 크기이다. 각 페이지에는 오류 정정 코드(ECC) 체크섬을 저장하는 데 사용할 수 있는 몇 바이트(일반적으로 데이터 크기의 1/32)가 연결되어 있다.
일반적인 블록 크기는 다음과 같다.
현대 NAND 플래시는 1 MiB에서 128 MiB 사이의 소거 블록 크기를 가질 수 있다. 읽기 및 프로그래밍은 페이지 단위로 수행되지만, 소거는 블록 단위로만 수행할 수 있다. 셀을 0에서 1로 변경하려면 일부 페이지만 수정하는 것이 아니라 전체 블록을 지워야 하므로, 블록의 데이터를 변경하는 것은 실제로는 읽기-소거-쓰기 프로세스가 될 수 있으며, 새 데이터는 실제로 다른 블록으로 이동된다. 또한 NVM 익스프레스 Zoned Namespaces SSD에서는 일반적으로 플래시 블록 크기를 존 크기로 사용한다.
플래시 메모리 저수준 접근
NAND 장치는 또한 장치 드라이버 소프트웨어 또는 플래시 메모리 컨트롤러 칩에 의한 불량 블록 관리가 필요하다. 예를 들어, 일부 SD 카드에는 불량 블록 관리 및 웨어 레벨링을 수행하는 컨트롤러 회로가 포함되어 있다. 고수준 소프트웨어에 의해 논리 블록에 접근하면, 장치 드라이버 또는 컨트롤러에 의해 물리적 블록에 매핑된다. 플래시 칩의 여러 블록은 불량 블록을 처리하기 위한 매핑 테이블을 저장하는 데 따로 할당될 수 있으며, 시스템은 단순히 전원 켜기 시 각 블록을 검사하여 RAM에 불량 블록 맵을 생성할 수 있다. 전반적인 메모리 용량은 더 많은 블록이 불량으로 표시됨에 따라 점차 감소한다.
플래시 메모리 저수준 접근
NAND는 정상적인 장치 작동 중에 자발적으로 고장날 수 있는 비트를 보상하기 위해 ECC에 의존한다. 일반적인 ECC는 각 2048 비트(256 바이트)에서 22 비트 ECC를 사용하여 1비트 오류를 수정하거나, 각 4096 비트(512 바이트)에서 24 비트 ECC를 사용하여 1비트 오류를 수정한다. ECC가 읽기 중에 오류를 수정할 수 없더라도 오류를 감지할 수는 있다. 소거 또는 프로그램 작업을 수행할 때 장치는 프로그램 또는 소거에 실패한 블록을 감지하고 불량으로 표시할 수 있다. 그런 다음 데이터는 다른 양호한 블록에 기록되고 불량 블록 맵이 업데이트된다.
해밍 부호는 SLC NAND 플래시용으로 가장 일반적으로 사용되는 ECC이다. 리드 솔로몬 부호 및 BCH 부호 (보스-차우두리-호크햄 부호)는 MLC NAND 플래시용으로 일반적으로 사용되는 ECC이다. 일부 MLC NAND 플래시 칩은 내부적으로 적절한 BCH 오류 정정 코드를 생성한다.
플래시 메모리 저수준 접근
대부분의 NAND 장치는 공장에서 일부 불량 블록과 함께 출하된다. 이들은 일반적으로 지정된 불량 블록 표시 전략에 따라 표시된다. 일부 불량 블록을 허용함으로써 제조업체는 모든 블록이 양호하다는 것을 검증해야 하는 경우보다 훨씬 높은 수율을 달성할 수 있다. 이는 NAND 플래시 비용을 크게 절감하고 부품의 저장 용량을 약간만 감소시킨다.
NAND 메모리에서 소프트웨어를 실행할 때 가상 메모리 전략이 자주 사용된다. 메모리 내용은 먼저 페이징되거나 메모리 맵핑된 RAM으로 복사되어 거기서 실행되어야 한다(일반적인 NAND + RAM 조합으로 이어진다). 시스템의 MMU가 도움이 되지만, 이는 오버레이로도 달성할 수 있다. 이러한 이유로 일부 시스템은 NOR 및 NAND 메모리를 혼합하여 사용하는데, 작은 NOR 메모리는 소프트웨어 ROM으로 사용되고 더 큰 NAND 메모리는 비휘발성 데이터 저장 영역으로 사용하기 위해 파일 시스템으로 분할된다.
NAND는 NOR의 임의 접근 및 실행 중 실행(execute-in-place) 이점을 희생한다. NAND는 고용량 데이터 저장이 필요한 시스템에 가장 적합하다. 더 높은 밀도, 더 큰 용량 및 더 낮은 비용을 제공한다. 지우기, 순차 쓰기 및 순차 읽기가 더 빠르다.
ONFI(Open NAND Flash Interface Working Group)라는 그룹은 NAND 플래시 칩을 위한 표준화된 저수준 인터페이스를 개발했다. 이를 통해 서로 다른 공급업체의 규격 NAND 장치 간 상호 운용성이 가능해진다. ONFI 사양 버전 1.0은 2006년 12월 28일에 출시되었다. 이 사양은 다음을 명시한다.
ONFI 그룹은 하이닉스, 인텔, 마이크론 테크놀로지 및 누모닉스를 포함한 주요 NAND 플래시 제조업체뿐만 아니라 NAND 플래시 칩을 통합하는 주요 장치 제조업체에서도 지원하고 있다.
두 주요 플래시 장치 제조업체인 도시바와 삼성은 토글 모드(현재 토글)로 알려진 자체 설계 인터페이스를 사용하기로 결정했다. 이 인터페이스는 ONFI 사양과 핀 투 핀 호환되지 않는다. 결과적으로 한 공급업체의 장치용으로 설계된 제품은 다른 공급업체의 장치를 사용할 수 없을 수 있다.
인텔, 델, 마이크로소프트를 포함한 공급업체 그룹은 비휘발성 메모리 호스트 컨트롤러 인터페이스(NVMHCI) 워킹 그룹을 결성했다. 이 그룹의 목표는 PCI 익스프레스 버스에 연결된 "플래시 캐시" 장치를 포함하여 비휘발성 메모리 서브시스템을 위한 표준 소프트웨어 및 하드웨어 프로그래밍 인터페이스를 제공하는 것이다.
플래시 메모리 NOR 및 NAND 플래시의 차이점
NOR과 NAND 플래시는 두 가지 중요한 방식으로 다르다.
NOR와 NAND 플래시는 메모리 셀 간의 상호 연결 구조에서 이름을 따왔다. NOR 플래시에서는 셀이 비트 라인에 병렬로 연결되어 셀을 개별적으로 읽고 프로그래밍할 수 있다. 셀의 병렬 연결은 CMOS NOR 게이트의 트랜지스터 병렬 연결과 유사하다. NAND 플래시에서는 셀이 직렬로 연결되어 있으며, CMOS NAND 게이트와 유사하다. 직렬 연결은 병렬 연결보다 공간을 덜 차지하여 NAND 플래시의 비용을 절감한다. 그 자체로 NAND 셀이 개별적으로 읽히고 프로그래밍되는 것을 방지하지는 않는다.
각 NOR 플래시 셀은 NAND 플래시 셀보다 크다. 10 F2 대 4 F2. 같은 반도체 제조와 정확히 같은 트랜지스터, 접촉 등이 같은 크기일 때도 말이다. 이는 NOR 플래시 셀이 각 셀마다 별도의 금속 접촉을 필요로 하기 때문이다.
플래시 메모리 NOR 및 NAND 플래시의 차이점
직렬 연결과 워드라인 접점 제거 덕분에 NAND 플래시 메모리 셀의 대규모 그리드는 동일한 NOR 셀 영역의 약 60%만 차지할 수 있다(예를 들어 130 nm, 90 nm, 또는 65 nm의 동일한 CMOS 공정 해상도를 가정할 때). NAND 플래시의 설계자들은 NAND 칩의 영역, 즉 비용을 외부 주소 및 데이터 버스 회로를 제거함으로써 더욱 줄일 수 있다는 것을 깨달았다. 대신, 외부 장치는 명령 및 데이터 레지스터에 순차적으로 접근하여 NAND 플래시와 통신할 수 있으며, 이는 내부적으로 필요한 데이터를 검색하고 출력할 것이다. 이러한 설계 선택으로 NAND 플래시 메모리의 임의 접근은 불가능해졌지만, NAND 플래시의 목표는 하드 디스크를 대체하는 것이지 ROM을 대체하는 것이 아니었다.
초기 GSM 전화기와 많은 피처폰은 NOR 플래시 메모리를 사용했는데, 프로세서 명령을 실행 위치 아키텍처에서 직접 실행할 수 있어 부팅 시간이 짧았다. 스마트폰의 경우 NAND 플래시 메모리는 저장 용량이 크고 비용이 저렴하기 때문에 채택되었지만, 명령을 직접 실행할 수 없고 먼저 RAM 메모리로 복사해야 하므로 부팅 시간이 길어진다.
플래시 메모리 NOR 및 NAND 플래시의 차이점
SLC 플로팅 게이트 NOR 플래시의 쓰기 내구성은 일반적으로 NAND 플래시와 같거나 그 이상이며, MLC NOR 및 NAND 플래시는 유사한 내구성 기능을 가지고 있다. NAND 및 NOR 플래시의 데이터시트와 플래시 메모리를 사용하는 저장 장치에 나열된 내구성 주기 등급의 예가 제공된다.
그러나 웨어 레벨링 및 메모리 오버 프로비저닝과 같은 특정 알고리즘 및 설계 패러다임을 적용함으로써 저장 시스템의 내구성을 특정 요구 사항에 맞게 조정할 수 있다.
NAND 플래시의 수명을 계산하려면 메모리 칩의 크기, 메모리 유형(예: SLC/MLC/TLC) 및 사용 패턴을 고려해야 한다. 산업용 NAND 및 서버 NAND는 용량, 긴 내구성 및 민감한 환경에서의 신뢰성으로 인해 수요가 높다.
셀당 비트 수가 증가함에 따라 NAND 플래시의 성능과 수명이 저하될 수 있으며, 임의 읽기 시간이 TLC NAND의 경우 100μs로 늘어나는데, 이는 SLC NAND의 4배, MLC NAND의 2배에 해당한다.
플래시 메모리 플래시 파일 시스템
플래시 메모리의 특성상, 웨어 레벨링 및 오류 수정을 수행하는 컨트롤러와 함께 사용하거나, 쓰기를 미디어 전체에 분산하고 NOR 플래시 블록의 긴 소거 시간을 처리하도록 특별히 설계된 플래시 파일 시스템과 함께 사용하는 것이 가장 좋다. 플래시 파일 시스템의 기본 개념은 다음과 같다. 플래시 저장소가 업데이트될 때 파일 시스템은 변경된 데이터의 새 복사본을 새 블록에 쓰고, 파일 포인터를 다시 매핑한 다음, 나중에 시간이 있을 때 이전 블록을 지운다.
실제로는 플래시 파일 시스템은 컨트롤러가 없는 임베디드 플래시 메모리인 메모리 기술 장치(MTD)에만 사용된다. 이동식 플래시 메모리 카드, SSD, eMMC/eUFS 칩 및 USB 플래시 드라이브에는 플래시 메모리 컨트롤러가 내장되어 있어 웨어 레벨링 및 오류 수정을 수행하므로 특정 플래시 파일 시스템을 사용해도 추가적인 이점이 없을 수 있다.
플래시 메모리 용량
멀티미디어 플레이어 또는 GPS와 같은 소비자 전자 장치에 사용되는 더 높은 용량을 달성하기 위해 여러 칩이 종종 배열되거나 다이 스택된다. 플래시 칩의 용량 확장(증가)은 이들이 많은 동일한 집적 회로 기술 및 장비로 제조되기 때문에 무어의 법칙을 따랐다. 3D NAND가 도입된 이후로는 더 작은 트랜지스터(셀)가 더 이상 사용되지 않으므로 확장이 반드시 무어의 법칙과 연관되지는 않는다.
소비자용 플래시 저장 장치는 일반적으로 2의 작은 정수 제곱(2, 4, 8 등)과 메가바이트(MB) 또는 기가바이트(GB)의 재래식 명칭으로 사용 가능한 크기가 광고된다. 예를 들어, 512 MB, 8 GB이다. 여기에는 전통적인 하드 디스크와 마찬가지로 십진 접두어를 사용하는 하드 드라이브 대체품으로 판매되는 SSD가 포함된다. 따라서 "64 GB"로 표시된 SSD는 최소 64 × 10003 바이트(64 GB)이다. 대부분의 사용자는 파일 시스템 메타데이터가 차지하는 공간과 일부 운영 체제가 이진 접두어를 사용하여 SSD 용량을 보고하기 때문에 이보다 약간 적은 용량을 사용할 수 있다.
플래시 메모리 용량
내부 플래시 메모리 칩은 엄격한 이진 배수로 크기가 정해지지만, 칩의 실제 총 용량은 드라이브 인터페이스에서 사용할 수 없다. 웨어 레벨링을 위한 쓰기 분산, 예비 공간, 오류 정정 코드, 그리고 장치의 내부 펌웨어에 필요한 기타 메타데이터를 허용하기 위해 광고된 용량보다 훨씬 크다.
2005년, 도시바와 샌디스크는 멀티 레벨 셀 (MLC) 기술을 사용하여 셀당 2비트의 데이터를 저장할 수 있는 1 GB 플래시 칩을 개발했다. 2005년 9월, 삼성전자는 세계 최초로 2 GB 칩을 개발했다고 발표했다.
2006년 3월, 삼성은 4 GB 용량의 플래시 하드 드라이브를 발표했는데, 이는 소형 노트북 하드 드라이브와 거의 같은 규모였으며, 2006년 9월에는 40 nm 제조 공정을 사용하여 8 GB 칩을 발표했다.
2008년 1월, 샌디스크는 16 GB MicroSDHC 및 32 GB SDHC Plus 카드의 출시를 발표했다.
플래시 메모리 용량
최근 플래시 드라이브(2012년 기준)는 64, 128, 256 GB의 훨씬 더 큰 용량을 가지고 있다.
인텔과 마이크론의 공동 개발로 32층 3.5 테라바이트(TB) NAND 플래시 스틱과 10 TB 표준 크기 SSD를 생산할 수 있게 되었다. 이 장치는 플로팅 게이트 셀 설계를 사용하여 16 x 48 GB TLC 다이 5개 패키지를 포함한다.
플래시 칩은 1MB 이하 또는 그 정도의 용량(예: BIOS-ROM 및 임베디드 애플리케이션용)으로 계속 제조된다.
2016년 7월, 삼성은 256 Gbit 48층 TLC 3D V-NAND를 활용한 4 TB 삼성 850 EVO를 발표했다. 2016년 8월, 삼성은 512 Gbit 64층 TLC 3D V-NAND를 기반으로 한 32 TB 2.5인치 SAS SSD를 발표했다. 또한 삼성은 2020년까지 최대 100 TB의 저장 공간을 갖춘 SSD를 선보일 것으로 예상한다.
플래시 메모리 전송 속도
플래시 메모리 장치는 일반적으로 쓰기보다 읽기가 훨씬 빠르다. 성능은 저장 컨트롤러의 품질에 따라 달라지며, 장치가 부분적으로 채워져 있을 때 더욱 중요해진다. 제조 방식이 다이 축소만 변경되더라도 적절한 컨트롤러가 없으면 속도가 저하될 수 있다.
플래시 메모리 응용 분야
시리얼 플래시는 소형 저전력 플래시 메모리로, 개별 바이트를 주소 지정하는 대신 주소 공간의 대규모 연속 바이트 그룹을 직렬로 읽거나 쓰는 직렬 접근만 제공한다. 직렬 주변기기 인터페이스 버스(SPI)는 장치에 접근하기 위한 일반적인 프로토콜이다.
임베디드 시스템에 통합될 때, 시리얼 플래시는 병렬 플래시 메모리보다 PCB에 더 적은 와이어를 필요로 한다. 이는 데이터를 한 번에 한 비트씩 전송하고 수신하기 때문이다. 이로 인해 보드 공간, 전력 소비량 및 전체 시스템 비용을 줄일 수 있다.
시리얼 장치가 병렬 장치보다 외부 핀 수가 적음에도 불구하고 전체 비용을 크게 절감할 수 있는 몇 가지 이유가 있다.
플래시 메모리 응용 분야
SPI 플래시에는 두 가지 주요 유형이 있다. 첫 번째 유형은 작은 블록과 하나의 내부 SRAM 블록 버퍼가 특징이며, 전체 블록을 버퍼로 읽고, 부분적으로 수정한 다음 다시 쓸 수 있다(예: Atmel AT45 DataFlash 또는 마이크론 테크놀로지 페이지 소거 NOR 플래시). 두 번째 유형은 더 큰 섹터를 가지며, 이 유형의 SPI 플래시에서 가장 작은 섹터는 일반적으로 4 KB이지만, 64 KB까지 클 수 있다. 이 유형의 SPI 플래시는 내부 SRAM 버퍼가 없으므로 전체 블록을 읽고 수정한 다음 다시 써야 하므로 관리가 느리다. 그러나 두 번째 유형은 첫 번째 유형보다 저렴하며, 따라서 응용 프로그램이 코드 섀도잉인 경우 좋은 선택이다.
두 유형은 핀아웃이 동일하지 않고 명령 집합이 호환되지 않으므로 쉽게 교환할 수 없다.
대부분의 FPGA는 SRAM 구성 셀을 기반으로 하며, 매 전원 주기마다 구성 비트스트림을 다시 로드하기 위해 외부 구성 장치(종종 직렬 플래시 칩)가 필요하다.
플래시 메모리 응용 분야
현대 CPU의 속도가 증가함에 따라 병렬 플래시 장치는 연결된 컴퓨터의 메모리 버스보다 훨씬 느린 경우가 많다. 반대로 현대 SRAM은 10 ns 미만의 접근 시간을 제공하며, DDR2 SDRAM은 20 ns 미만의 접근 시간을 제공한다. 이 때문에 플래시에 저장된 코드를 RAM으로 섀도잉하는 것이 바람직한 경우가 많다. 즉, 코드는 실행 전에 플래시에서 RAM으로 복사되어 CPU가 전체 속도로 접근할 수 있도록 한다. 장치 펌웨어는 직렬 플래시 칩에 저장된 다음 장치 전원이 켜질 때 SDRAM 또는 SRAM으로 복사될 수 있다. 온칩 플래시 대신 외부 직렬 플래시 장치를 사용하면 상당한 공정 타협(고속 로직에 적합한 제조 공정은 일반적으로 플래시에 적합하지 않으며 그 반대도 마찬가지)이 필요 없어진다. 펌웨어를 하나의 큰 블록으로 읽어오기로 결정하면 더 작은 플래시 칩을 사용할 수 있도록 압축을 추가하는 것이 일반적이다. 2005년 이후 많은 장치에서 펌웨어 저장을 위해 병렬 NOR 플래시를 대체하여 직렬 NOR 플래시를 사용한다. 직렬 NOR 플래시의 일반적인 응용 분야에는 하드 디스크 드라이브, 바이오스, 확장 카드의 옵션 ROM, DSL 모뎀 등의 펌웨어 저장이 포함된다.
플래시 메모리 응용 분야
플래시 메모리의 최근 응용 분야 중 하나는 하드 디스크의 대체품이다. 플래시 메모리는 하드 드라이브의 기계적 한계와 지연 시간이 없으므로 솔리드 스테이트 드라이브(SSD)는 속도, 소음, 전력 소비 및 신뢰성 측면에서 매력적이다. 플래시 드라이브는 모바일 장치의 보조 저장 장치로 인기를 얻고 있으며, 고성능 데스크톱 컴퓨터와 RAID 및 SAN 아키텍처를 갖춘 일부 서버에서 하드 드라이브를 대체하는 용도로도 사용된다.
플래시 메모리 응용 분야
플래시 기반 SSD에는 매력적이지 않은 몇 가지 측면이 남아 있다. 플래시 메모리의 기가바이트당 비용은 하드 디스크보다 여전히 상당히 높다. 또한 플래시 메모리는 유한한 P/E(프로그램/소거) 주기를 가지고 있지만, 플래시 기반 SSD의 보증 기간이 현재 하드 드라이브와 비슷해지고 있기 때문에 현재로서는 통제 가능한 것으로 보인다. 또한, SSD에서 삭제된 파일은 새로운 데이터로 덮어쓰기되기 전에 무기한으로 남아 있을 수 있다. 자기 하드 디스크 드라이브에서 잘 작동하는 삭제 또는 파쇄 기술이나 소프트웨어는 SSD에 영향을 미치지 않아 보안 및 포렌식 조사에 문제가 된다. 그러나 대부분의 솔리드 스테이트 드라이브에서 사용하는 소위 TRIM 명령으로 인해 삭제된 파일이 차지하는 논리 블록 주소를 사용하지 않음으로 표시하여 가비지 컬렉션을 활성화하기 때문에 데이터 복구 소프트웨어는 삭제된 파일을 복원할 수 없다.
ACID 트랜잭션을 요구하는 관계형 데이터베이스 또는 기타 시스템의 경우, 적당한 양의 플래시 저장 장치도 디스크 드라이브 배열에 비해 엄청난 속도 향상을 제공할 수 있다.