상기의 과제를 이루기 위하여 본 발명에 의한 멀티 비트 플래시 메모리의 프로그램 방법은, 선택된 메모리 셀들로부터 데이터를 독출하는 단계; 상기 독출된 데이터의 에러를 검출 및 정정하는 단계; 그리고 에러가 정정된 상기 데이터를 참 조하여 입력되는 프로그램 데이터를 상기 선택된 메모리 셀들로 프로그램하는 단계를 포함한다.
이 실시예에 있어서, 상기 복수의 메모리 셀들 각각은 순차적으로 입력되는 제1 내지 제4페이지에 대응하는 4비트의 데이터를 저장한다.
이 실시예에 있어서, 상기 독출하는 단계에서, 상기 데이터는 상기 4비트의 데이터 중 제1페이지 데이터 또는 LSB 데이터이다.
이 실시예에 있어서, 상기 독출하는 단계에서, 상기 데이터는 상기 4비트의 데이터 중 제1페이지 및 제2페이지를 포함하는 2비트 데이터이다.
이 실시예에 있어서, 상기 독출하는 단계에서, 상기 데이터는 상기 4비트의 데이터 중 제1페이지, 제2페이지 및 제3페이지를 포함하는 3비트 데이터이다.
이 실시예에 있어서, 상기 독출하는 단계에서, 상기 데이터는 에러 정정을 위한 데이터를 포함한다.
이 실시예에 있어서, 상기 독출하는 단계에서, 상기 데이터는 상기 프로그램 데이터의 이전까지 프로그램된 복수 비트의 페이지 데이터이다.
이 실시예에 있어서, 상기 프로그램 데이터는 상기 멀티 비트 데이터 중 어느 하나의 페이지 데이터이다.
이 실시예에 있어서, 상기 프로그램 데이터는 상기 멀티 비트 데이터 중 MSB 페이지 데이터이다.
상기의 과제를 이루기 위하여 본 발명에 다른 특징에 따른 멀티 비트 플래시 메모리의 프로그램 방법은, (a) 프로그램 페이지가 에러 정정 대상 페이지인지의 여부를 판단하는 단계; (b) 상기 프로그램 페이지가 에러 정정 대상 페이지인 경우, 선택된 메모리 셀들로부터 데이터를 독출하는 단계; (c) 상기 독출된 데이터의 에러를 검출 및 정정하는 단계; 그리고 (d) 에러가 정정된 상기 데이터를 참조하여 입력되는 상기 프로그램될 페이지 데이터를 상기 선택된 메모리 셀들로 프로그램하는 단계를 포함한다.
이 실시예에 있어서, 상기 (a) 단계에서, 상기 프로그램 페이지가 에러 정정 대상 페이지가 아닌 경우, (e) 상기 선택된 메모리 셀들로부터 상기 데이터를 독출하는 단계; 및 (f) 상기 데이터를 참조하여 상기 프로그램 페이지를 상기 선택된 메모리 셀들로 프로그램하는 단계를 포함한다.
이 실시예에 있어서, 상기 (a) 단계는 상기 프로그램 페이지의 페이지 어드레스를 검출하고 에러 정정 대상 페이지로 설정된 어드레스와 비교하는 동작을 포함한다.
이 실시예에 있어서, 상기 (a) 단계에서, 상기 에러 정정 대상 페이지는 상기 멀티 비트 데이터 중 어느 하나의 페이지에 대응한다.
이 실시예에 있어서, 상기 (a) 단계에서, 상기 에러 정정 대상 페이지는 상기 멀티 비트 데이터에 포함되는 페이지들 중 적어도 두 페이지 이상이다.
상기 목적을 달성하기 위한 본 발명의 멀티 비트 플래시 메모리 장치는, 에러 정정 회로; 각각이 멀티 비트 데이터를 저장하는 복수의 메모리 셀들을 갖는 셀 어레이; 선택된 메모리 셀들의 읽기 및 프로그램 동작을 수행하도록 구성된 페이지 버퍼 블록; 그리고 상기 제 1 데이터를 독출하여 상기 에러 정정 회로에 제공하도 록, 그리고 상기 에러 정정된 제 1 데이터를 참조하여 상기 제 2 데이터를 상기 선택된 메모리 셀들에 프로그램되도록 상기 페이지 버퍼 블록을 제어하는 프로그램 제어부를 포함한다.
이 실시예에 있어서, 상기 제 1 데이터는 에러의 검출 및 정정을 위한 에러 정보를 포함한다.
이 실시예에 있어서, 상기 셀 어레이는 상기 에러 정보를 저장하기 위한 영역을 포함한다.
이 실시예에 있어서, 상기 제 1 데이터는 상기 멀티 비트 데이터 중 상기 제 2 데이터의 프로그램 동작 이전까지 상기 선택된 메모리 셀들에 프로그램된 페이지 데이터이다.
이 실시예에 있어서, 상기 페이지 버퍼 블록은, 상기 복수의 메모리 셀들 각각에 대응하고, 상기 제 1 데이터 및 상기 제 2 데이터를 저장하는 복수의 래치들을 갖는 복수의 페이지 버퍼들을 포함한다.
이 실시예에 있어서, 상기 멀티 비트 데이터는 4비트 데이터이다.
이 실시예에 있어서, 상기 제 2 데이터는 상기 멀티 비트 데이터 중 어느 하나의 페이지 데이터이다.
이 실시예에 있어서, 상기 제 2 데이터는 상기 멀티 비트 데이터 중 최후에 프로그램되는 MSB 페이지 데이터이다.
이 실시예에 있어서, 상기 프로그램 제어부의 제어에 따라 상기 선택된 메모리 셀들의 워드 라인으로 상기 제 1 데이터를 독출하기 위한 독출 전압 및 상기 제 2 데이터를 프로그램하기 위한 프로그램 전압들 중 어느 하나를 선택적으로 제공하는 전압 발생부를 더 포함한다.
상기 목적을 달성하기 위한 본 발명의 메모리 시스템은, 멀티 비트 에러 정정 회로를 갖는 메모리 제어기; 및 상기 메모리 제어기에 전기적으로 연결되는 멀티 비트 플래시 메모리 장치를 포함하되, 상기 멀티 비트 플래시 메모리 장치는, 각각이 멀티 비트 데이터를 저장하는 복수의 메모리 셀들을 갖는 셀 어레이; 선택된 메모리 셀들의 읽기 및 프로그램 동작을 수행하도록 구성된 페이지 버퍼 블록; 그리고 상기 제 1 데이터를 독출하여 상기 에러 정정 회로에 제공하도록, 그리고 상기 에러 정정된 제 1 데이터를 참조하여 상기 제 2 데이터를 상기 선택된 메모리 셀들에 프로그램되도록 상기 페이지 버퍼 블록을 제어하는 프로그램 제어부를 포함한다.
이 실시예에 있어서, 상기 제 1 데이터는 에러의 검출 및 정정을 위한 에러 정보를 포함한다.
이 실시예에 있어서, 상기 셀 어레이는 상기 에러 정보를 저장하기 위한 영역을 포함한다.
이 실시예에 있어서, 상기 제 1 데이터는 상기 멀티 비트 데이터 중 상기 제 2 데이터의 프로그램 동작 이전까지 상기 선택된 메모리 셀들에 프로그램된 페이지 데이터이다.
이 실시예에 있어서, 상기 페이지 버퍼 블록은, 상기 복수의 메모리 셀들 각각에 대응하고, 상기 제 1 데이터 및 상기 제 2 데이터를 저장하는 복수의 래치들 을 갖는 복수의 페이지 버퍼들을 포함한다.
이 실시예에 있어서, 상기 멀티 비트 데이터는 4비트 데이터이다.
이 실시예에 있어서, 상기 제 2 데이터는 상기 멀티 비트 데이터 중 어느 하나의 페이지 데이터이다.
이 실시예에 있어서, 상기 제 2 데이터는 상기 멀티 비트 데이터 중 최후에 프로그램되는 MSB 페이지 데이터이다.
이 실시예에 있어서, 상기 멀티 비트 플래시 메모리 장치는 상기 프로그램 제어부의 제어에 따라 상기 선택된 메모리 셀들의 워드 라인으로 상기 제 1 데이터를 독출하기 위한 독출 전압 및 상기 제 2 데이터를 프로그램하기 위한 프로그램 전압들 중 어느 하나를 선택적으로 제공하는 전압 발생부를 더 포함한다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
이하에서는, 플래시 메모리 장치가 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않 고 관점 및 응용에 따라 수정되거나 변경될 수 있다.
이하, 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 4는 본 발명에 따른 멀티 비트 데이터의 프로그램 방법을 수행하기 위한 멀티 비트 플래시 메모리 장치의 일례를 개략적으로 도시한 블록도이다. 도 4를 참조하면, 본 발명의 멀티 비트 플래시 메모리 장치는 이니셜 리도 동작에 의해서 페이지 버퍼 블록(120)에 일시 저장되는 데이터에 대한 에러의 검출 및 정정 동작을 수행한다. 이러한 에러의 검출 및 정정을 위해서 본 발명의 멀티 비트 플래시 메모리 장치는 에러 정정 회로 블록(130)을 포함한다.
셀 어레이(110)는 상술한 도 1에서 설명한 바와 같이 m-비트 데이터(m은 2 이상의 정수)를 저장할 수 있는 멀티 비트 플래시 메모리 셀들을 포함한다. 예시적인 실시예의 경우, 셀 어레이(110)는 4-비트 데이터를 저장하는 메모리 셀들을 포함한다. 일반적으로 멀티 비트 플래시 메모리 셀들은 하나의 셀에 복수 비트들을 저장하기 위하여 다수의 문턱전압 상태들 중 어느 하나로 프로그램된다. 따라서, 보편화된 프로그램 방식과 회로 기술들에 의해서 문턱전압 상태들 간에 충분한 읽기 마진을 제공하는 것은 멀티 비트 플래시 메모리 장치에서 용이하지 못하다. 결국, 멀티 비트 플래시 메모리 셀은 제한된 문턱전압 범위 이내에서 저장되는 비트 수(k)에 대응하는 문턱전압 상태 수(2k)를 포함하기 위하여 조밀하게 프로그램되어야 한다. 또한, 멀티 비트 플래시 메모리 셀의 문턱전압 상태들 간의 간격(즉, 읽기 마진) 또한 감소될 수밖에 없다.
페이지 버퍼 블록(120)은 동작 모드에 따라 기입 드라이버로서 또는 감지 증폭기로서 동작한다. 예를 들면, 페이지 버퍼 블록(120)은 읽기 동작 모드에서 감지 증폭기로서 그리고 프로그램 동작 모드에서 기입 드라이버로서 동작한다. 페이지 버퍼 블록(120)은 프로그램 제어부(140)의 제어에 따라 메모리 셀의 프로그램된 상태를 독출하기 위한 이니셜 리드 동작을 수행한다(①). 페이지 버퍼 블록(120)은 메모리 셀의 프로그램 상태를 독출 전압(IRD1~IRD7)에 따라 순차적으로 이닌셜 리드 동작을 수행하여 독출된 1 내지 3비트 데이터를 래치한다. 이와 동시에, 에러 정정을 위하여 별도의 셀 어레이 영역에 프로그램된 에러 정정 코드(예를 들면 패리티 비트)도 페이지 버퍼 블록(120) 내에 래치될 것이다. 이후에 페이지 버퍼 블록(120)은 이니셜 리드 동작에 의해 독출된 데이터 및 에러 정정 코드를 에러 정정 회로 블록(130)으로 전달한다(②). 에러 정정 회로 블록(130)은 전달된 이니셜 리드 데이터(IRD data)에 포함되는 에러를 검출 및 정정한다. 에러가 정정된 이니셜 리드 데이터(Corrected IRD data)는 이후에 페이지 버퍼 블록(120)으로 반환된다(③). 페이지 버퍼 블록(120)은 에러가 정정되어 반환된 이닌셜 리드 데이터(Corrected IRD data)를 참조하여 프로그램을 위해 제공되는 페이지 데이터(Page n data)를 상술한 메모리 셀로 프로그램한다(④).
에러 정정 회로 블록(130)은 제공되는 이니셜 리드 데이터(IRD data)의 에러 비트의 수와 위치를 에러 정정 코드를 참조하여 검출한다. 에러 검출 동작에 의해서 발견된 에러 비트는 정정되어 다시 상술한 페이지 버퍼 블록(120)으로 전달된다. 여기서, 에러 정정 회로 블록(130)은 멀티 비트 플래시 메모리 장치의 내부에 포함될 수 있다. 또는, 에러 정정 회로 블록(130)은 멀티 비트 플래시 메모리 장치의 외부에 제공되는 메모리 제어기(Memory Controller)에서 제공될 수 있음은 이 분야에서 통상의 지식을 습득한 자들에게 자명하다.
프로그램 제어부(140)는 순차적으로 입력되는 프로그램 데이터를 상술한 셀 어레이(110)에 프로그램하기 위해서 페이지 버퍼 블록(120) 및 전압 발생부(150)를 제어한다. 프로그램 제어부(140)는 이니셜 리드 동작시 메모리 셀들의 워드 라인으로 이니셜 리드 동작을 위한 독출 전압(IRD1~IRD7)을 제공하도록 전압 발생부(150)를 제어한다. 그리고 프로그램 제어부(140)는 상술한 독출 전압(IRD1~IRD7)에 의해서 독출된 이니셜 리드 데이터 및 에러 정정 코드를 래치하도록 페이지 버퍼 블록(120)을 제어한다. 프로그램 제어부(140)는 프로그램 결과에 대한 검증 동작(Verify Operation)을 수행하도록 상술한 전압 발생부(150) 및 페이지 버퍼 블록(120)을 제어한다. 검증 동작시, 프로그램 제어부(140)는 검증 전압(VFY8~VFY15)에 응답하여 메모리 셀로부터 출력되는 신호를 감지하도록 페이지 버퍼 블록(120)을 제어한다. 그리고 감지된 검증 결과를 참조하여 프로그램 제어부(140)는 프로그램의 계속 진행 여부를 판단한다.
전압 발생부(150)는 프로그램 제어부(140)의 제어에 따라 프로그램을 위한 ISPP(Incremental Step Pulse Programming) 전압, 다양한 레벨의 이니셜 리드 전압(IRD1~IRD7) 및 검증 전압(VFY8~VFY15)들을 생성한다. 생성된 상술한 전압들은 프로그램 제어부(140)의 제어 동작에 따라, 셀 어레이(110)의 워드 라인으로 제공된다.
이상에서 설명한 본 발명에 따른 멀티 비트 플래시 메모리 장치는, 특정 페이지의 프로그램 동작에서 수행되는 이니셜 리드 동작과, 이니셜 리드 동작에 의해서 독출된 데이터에 대한 에러 검출 및 정정 동작을 수행한다. 본 발명의 멀티 비트 플래시 메모리 장치는 에러 정정된 이니셜 리드 데이터를 페이지 버퍼 블록(120)에 로드하여 입력되는 페이지 데이터를 프로그램하는 것으로 에러 누적 및 에러 전파를 차단할 수 있다.
도 5는 도 4의 페이지 버퍼 블록(120) 및 에러 정정 회로 블록(130)의 구성 및 그 구성의 동작 단계별 상세한 동작을 설명하는 도면이다. 도 5를 참조하면, 본 발명의 멀티 비트 플래시 메모리 장치는 프로그램 제어부(140)에 의해서 제어되며, 하나의 플래시 메모리 셀에 대응하는 복수의 래치(1211~1214)를 포함하는 페이지 버퍼(121, Page Buffer)를 포함한다. 여기서, 하나의 메모리 셀의 프로그램 동작에 대해서 설명하고 있지만, 이것은 간략한 설명을 위해서일 뿐 이러한 동작은 페이지 단위(예를 들면, 2K Byte)에 대응하는 복수의 페이지 버퍼들에서 동일한 프로그램 동작 구간에서 이루어진다. 본 발명의 프로그램 방법에 따라 각 단계에서 수행되는 동작들이 하나의 페이지 버퍼(121)를 기준으로 설명될 것이다.
이니셜 리드 동작(①)은 메모리 셀들의 현재 문턱전압 상태를 파악하는 동작이다. 상술한 이니셜 리드 동작을 위한 이니셜 리드 전압(IRD1~IRD7)에 따라, 메모리 셀들 각각의 문턱전압 상태에 대응하는 데이터가 독출된다. 그리고 독출된 이니셜 리드 데이터(IRD data)는 적어도 4개 이상의 래치들(1211~2124)을 포함하는 페이지 버퍼(121)에 저장된다. 만일 현재 프로그램 진행중인 페이지가 제2페이지 데 이터라면, 독출된 이니셜 리드 데이터(IRD data)는 1-비트의 데이터 크기를 갖는다. 이 경우, 1-비트 크기의 이니셜 리드 데이터(IRD data)는 페이지 버퍼(121)의 래치들 중 어느 하나(예를 들면, 1211)에 저장된다. 현재 프로그램 진행중인 페이지가 제3페이지 데이터라면, 독출된 이니셜 리드 데이터(IRD data)는 제2페이지의 프로그램 결과인 2-비트의 데이터 크기를 갖는다. 이 경우, 2-비트 크기의 이니셜 리드 데이터(IRD data)는 페이지 버퍼(121)의 래치들 중 두 개(예를 들면, 1211,1212)에 저장된다. 현재 제4페이지 데이터가 프로그램 진행중이라면, 독출된 이니셜 리드 데이터(IRD data)는 3-bit의 데이터 크기를 갖는다. 이 경우, 3-비트 크기의 이니셜 리드 데이터(IRD data)는 페이지 버퍼(121)의 래치들 중 세 개(예를 들면, 1211, 1212, 1213)에 저장될 것이다.
또한, 이니셜 리드 동작(①) 동안, 메모리 셀 어레이의 특정 영역(ex, 스페어 영역)에 저장된 에러 정정 데이터(ECC data)가 독출된다. 독출된 에러 정정 데이터(ECC data)는 에러 정정 데이터를 래치하는 페이지 버퍼(122)에 저장된다.
이니셜 리드 동작(①)에 따라 페이지 버퍼들(121, 122)에 저장된 이니셜 리드 데이터(IRD data) 및 에러 정정 데이터(ECC data)는 에러 정정 회로 블록(130)으로 전달된다(②). 에러 정정 회로 블록(130)은 에러 정정 데이터(ECC data)에 의거하여 전달된 이니셜 리드 데이터(IRD data)의 에러를 검출하며, 에러가 존재하는 경우에는 이니셜 리드 데이터(IRD data)의 에러를 정정한다. 에러가 정정되거나 에러가 검출되지 않은 이니셜 리드 데이터(CIRD data)는 다시 페이지 버퍼(121)의 래치들(1211~1213)로 저장된다(③). 이때, 페이지 버퍼(121)에 포함되는 적어도 4개 의 래치들 중 어느 하나(예를 들면 1214)에는 프로그램되는 페이지 데이터(Page n data)가 로드(Load)된다.
페이지 버퍼(121)로의 정정된 이니셜 리드 데이터(CIRD data)의 전송 및 프로그램 페이지 데이터(Page n data)의 로드가 완료되면, 프로그램 제어부(미도시됨)의 제어에 따라 메모리 셀의 프로그램 동작이 수행된다(④).
상술한 도면과 같은 이니셜 리드 동작과 에러 정정 동작이 포함되는 본 발명의 멀티 비트 플래시 메모리 장치의 프로그램 방식에 따라, 이니셜 리드 동작에서 발생할 수 있는 에러가 프로그램 동작시에는 제거될 수 있다.
도 6은 본 발명에 따른 프로그램 방법을 시간적 순서에 따라 단계적으로 설명하기 위한 흐름도이다. 여기서, 하나의 페이지 데이터의 프로그램 동작에 대해서 설명하고 있으나, 본 흐름도는 순차적으로 제공되는 복수의 페이지 데이터 중 어느 하나에 대해서만 보여준다. 따라서, 본 흐름도는 멀티 비트 데이터들 중 MSB페이지의 프로그램 동작에 국한되지 않는다. 이하 본 발명의 멀티 비트 플래시 메모리 장치의 프로그램 동작이 참조 도면들에 의거하여 상세히 설명될 것이다.
제n-1페이지 데이터의 제반 프로그램 동작이 완료되면, 멀티 비트 플래시 메모리 장치(100)는 제n페이지 데이터의 프로그램 동작을 시작한다. 프로그램 제어부(140)는 선택된 메모리 셀에 대한 이니셜 리드 동작을 수행하도록, 그리고 이니셜 리드 동작에 따라 출력되는 이니셜 리드 데이터(IRD data)에 대한 에러 정정 동작을 수행하도록 페이지 버퍼 블록(120) 및 에러 정정 회로 블록(130)을 제어한다. 좀 더 구체적으로 설명하면 다음과 같다.
프로그램 제어부(140)는 제n-1페이지의 프로그램 결과를 독출하는 이니셜 리드 동작을 수행하도록 페이지 버퍼 블록(120)을 제어한다. 이때 선택된 메모리 셀로부터 독출되는 이니셜 리드 데이터(IRD data)와 메모리 셀의 특정 영역에 저장된 에러 정정 데이터(ECC data)가 독출되어 페이지 버퍼 블록(120)에 래치된다(S10). 페이지 버퍼 블록(120)에 래치된 이니셜 리드 데이터(IRD data)와 에러 정정 데이터(ECC data)는 에러 정정 회로 블록(130)으로 전달된다. 그리고 에러 정정 회로 블록(130)은 프로그램 제어부(140)의 제어에 응답하여 이니셜 리드 데이터(IRD data)에 포함되는 에러를 검출 및 정정한다(S20). 에러 정정 회로 블록(130)에서 정정된 이니셜 리드 데이터(CIRD data)는 프로그램 제어부(140)의 제어에 따라 상술한 페이지 버퍼 블록(120)에 로드된다. 또한, 프로그램을 위해 제공되는 제n페이지 데이터도 에러 정정된 이니셜 리드 데이터(CIRD data)와 함께 선택된 메모리 셀에 대응하는 페이지 버퍼 블록(120)에 로드된다(S30). 페이지 버퍼 블록(120)으로의 프로그램 데이터(Page n data) 및 에러 정정된 이니셜 리드 데이터(CIRD data)의 로드가 종료되면, 프로그램 제어부(140)는 프로그램 동작을 시작한다. 프로그램 제어부(140)는 선택된 메모리 셀들의 비트 라인으로 제n페이지 데이터에 대응하는 전압이 제공되도록 페이지 버퍼 블록(120)을 제어한다. 동시에, 프로그램 제어부(140)는 선택된 메모리 셀들의 워드 라인으로 프로그램 전압이 공급되도록 전압 발생부(150)를 제어한다(S40). 선택된 메모리 셀들(예를 들면, 페이지 단위)에 대한 프로그램 동작이 완료되면, 프로그램 제어부(140)는 검증 전압(VFY8~VFY15)에 의한 검증 동작을 수행하도록 전압 발생부(150) 및 페이지 버퍼 블록(120)을 제어 한다(S50). 프로그램 제어부(140)는 검증 동작에 의해서 페이지 버퍼 블록(120)에 래치되는 데이터를 참조하여 프로그램의 완료 여부를 판단한다(S60). 이때, 모든 메모리 셀들의 문턱전압 상태가 타깃 상태로 프로그램된 것으로 판별되면, 프로그램 제어부(140)는 제n페이지 데이터에 대한 프로그램 동작을 종료한다. 그리나 검증 동작 결과 페일(Fail)로 판별되는 경우, 절차는 선택된 메모리 셀들에 대한 재프로그램을 위하여 프로그램 실행 단계(S40)로 궤환한다.
상술한 흐름도를 통해서 설명된 본 발명에 따른 멀티 비트 플래시 메모리 장치의 프로그램 방법에 따르면, 이니셜 리드 동작을 통해서 페이지 버퍼 블록(120)에 래치된 이니셜 리드 데이터(IRD data)에 대한 에러 검출 및 정정 동작이 포함된다. 그리고 에러가 정정된 이니셜 리드 데이터를 참조하여 순차적으로 제공되는 다음 페이지의 데이터가 메모리 셀로 프로그램된다. 따라서, 본 발명에 따른 멀티 비트 플래시 메모리 장치의 프로그램 방법은 이니셜 리드 데이터의 독출 동작에서 발생하는 에러를 차단하는 것으로 이후에 발생하는 에러 전파를 차단할 수 있다.
도 7은 도 6에 도시한 본 발명의 프로그램 동작을 선택된 페이지에 한정하여 수행할 수 있는 멀티 비트 플래시 메모리 장치의 프로그램 방법을 간략히 보여주는 흐름도이다. 도 7을 참조하면, 본 발명의 멀티 비트 플래시 메모리 장치는 멀티 비트 데이터 중 어느 하나의 페이지 데이터의 프로그램 동작시에만 이니셜 리드 데이터의 에러 검출 및 정정을 수행할 수 있다. 이러한 동작은 에러 검출 및 정정에 소요되는 시간을 최소화함으로써, 프로그램 동작의 신뢰성 및 속도 향상을 가능케 한다. 좀 더 구체적으로 설명하면 다음과 같다.
멀티 비트 데이터의 프로그램 동작이 시작되면, 프로그램 제어부(140, 도 4 참조)는 프로그램 데이터의 입력 이전에 제공되는 프로그램 명령어 및 어드레스를 검출한다(S100). 검출된 행 어드레스를 참조하여, 프로그램 제어부(140)는 미리 설정된 에러 검출 및 정정의 대상 페이지인지의 여부를 판단한다. 판단 결과에 따라. 도 6에서 설명된 프로그램 방식 또는 에러 검출 및 정정 동작이 없는 일반적인 멀티 비트 프로그램 동작을 선택한다(S110). 만일 ECC 대상 페이지가 제4페이지(Page 4)로 설정된 경우, 프로그램 제어부(140)는 제4페이지 데이터의 입력시에만 이니셜 리드 데이터에 대한 에러 검출 및 정정 동작을 수행한다(S120). 반면에, ECC 대상 페이지가 아닌 제1내지 제3페이지 데이터의 입력시, 프로그램 제어부(140)는 이니셜 리드 데이터에 대한 에러 검출 및 정정 동작을 배제하고 프로그램 동작을 수행한다(S130). 입력된 페이지 데이터의 프로그램 동작이 종료되면, 프로그램된 페이지 데이터가 멀티 비트 데이터 중 최종 페이지(또는 MSB 페이지)인지를 판단한다(S140). 만일 최종 페이지 데이터라면, 선택된 메모리 셀들에 대한 멀티 비트 데이터의 제반 프로그램 동작은 종료된다. 그러나, 최종 페이지 데이터가 아닌 경우, 프로그램 제어부(140)는 다음 페이지의 페이지 어드레스를 검출하는 단계(S100)로 환하도록 절차를 제어한다.
도 7은 멀티 비트 데이터를 프로그램하기 위해 입력되는 각 페이지 중에 어느 하나의 페이지 데이터에 대해서만 도 6의 절차를 진행한다. 이를 위하여, 복수의 페이지 중 6의 절차를 수행할 페이지가 미리 설정되어 있어야 한다.
도 8은 본 발명의 멀티 비트 플래시 메모리 장치를 구비하는 시스템의 일예 를 간략히 도시한 블록도이다. 도 8을 참조하면, 모바일 기기나 데스크 톱 컴퓨터와 같은 시스템에서 본 발명의 멀티 비트 플래시 메모리 장치(210)가 장착된다. 본 발명에 따른 시스템은 버스(270)에 전기적으로 연결된 중앙처리장치(230), 램(240), 유저 인터페이스(250), 전원(260), 메모리 컨트롤러(220), 그리고 플래시 메모리 장치(210)를 포함한다. 플래시 메모리 장치(210)는 앞서 언급된 멀티 비트플래시 메모리 장치와 실질적으로 동일하게 구성될 것이다. 멀티 비트 플래시 메모리 장치(210)에는 유저 인터페이스(250)를 통해서 제공되거나 또는, 중앙처리장치(230)에 의해서 처리된 데이터가 메모리 제어기(220)를 통해 저장된다. 여기서, 멀티 비트 플래시 메모리 장치(210)와 메모리 제어기(220)가 별도의 구성으로 도시되었으나, 메모리 제어기(220)는 멀티 칩 플래시 메모리 장치(210)의 내부에 포함될 수 있다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템에는 응용 칩셋(Application Chipset), 카메라 이미지 프로세서(Camera Image Processor) 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.