본 발명의 목적은 전자 장치 시스템에서 플래쉬 메모리 장치를 장착하고 파일 시스템을 탑재하여 부팅시킬 때 랜덤 액세스가 불가능한 플래쉬 메모리 장치의 한계를 극복하고, 리드 또는 라이트 버퍼로 사용되는 비휘발성 메모리 장치를 집적한 플래쉬 메모리 장치를 제공하는데 있다.
본 발명의 다른 목적은 상기 목적을 달성하기 위한 플래쉬 메모리 시스템을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 플래쉬 메모리 장치는 복수개의 페이지 데이터 셀들로 구성되어 페이지 데이터를 저장한 후에 외부로부터 리드 명령 인가시 저장된 페이지 데이터를 리드하여 데이터를 출력하는 제1 비휘발성 메모리, 복수개의 페이지 데이터 셀들 각각과 인접하는 복수개의 스페어 데이터 셀들로 구성되어 스페어 데이터를 저장한 후에 파일 시스템 탑재시 스페어 데이터를 스캔하여 해당 정보를 자체적으로 임시 저장하고, 리드 명령 인가시 저장된 스페어 데이터를 리드하여 출력하는 제2 비휘발성 메모리를 구비하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 플래쉬 메모리 장치의 제2 비휘발성 메모리는 전자 장치 시스템의 부트 로더를 제2 비휘발성 메모리 상에 로드하여 그 대로 부팅 동작을 수행하는 동시에 데이터 라이트 및 리드 버퍼로 사용되는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 플래쉬 메모리 장치의 복수개의 페이지 데이터 셀들 각각 및 복수개의 스페어 데이터 셀들 각각이 병합되어 한 개의 페이지를 구성하고, 페이지는 적어도 하나 이상의 섹터들로 구성되며, 섹터들 각각은 복수개의 메모리 셀들로 구성되는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 플래쉬 메모리 장치의 제2 비휘발성 메모리는 제2 비휘발성 메모리 영역에 제1 비휘발성 메모리의 라이트 동작시 필요한 데이터 균등 저장 및 가비지 수집을 제어하고 제1 비휘발성 메모리 셀의 제거 횟수와 지워져야 할 제1 비휘발성 메모리 셀 블록 설정을 제어하는 로직부를 구비할 수 있는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 플래쉬 메모리 장치의 제1 비휘발성 메모리는 NAND 플래쉬 메모리이고, 제2 비휘발성 메모리는 FRAM, PRAM, MRAM, RRAM이 포함 될 수 있는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 플래쉬 메모리 장치의 로직부는 별개의 칩으로 구현하여 원 칩화한 제1 비휘발성 메모리 및 제2 비휘발성 메모리의 집적된 회로의 상부에 다층 칩 패키지 형식으로 구성될 수 있는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 플래쉬 메모리 장치의 페이지 데이터는 외부로부터 라이트되는 데이터와 파일의 크기, 데이터의 리드 또는 라이트의 가부의 정보를 가지는 데이터이고, 스페어 데이터는 부트 로더, 에러 정정 코드, 불 량 블록 정보, 삭제 횟수의 정보를 가지는 데이터인 것을 특징으로 한다.
상기 다른 목적을 달성하기 위한 본 발명의 플래쉬 메모리 시스템은 복수개의 페이지 데이터 셀들 및 복수개의 스페어 데이터 셀들에 각각 페이지 데이터 및 스페어 데이터를 저장한 후에 외부로부터 리드 명령 인가시 저장된 페이지 데이터 및 스페어 데이터를 리드하고 외부로부터 인가되는 어드레스 정보에 따라 복수개의 제1 또는 제2 페이지 버퍼들을 순차적으로 선택하여 데이터를 출력하는 플래쉬 메모리 장치, 스페어 데이터를 인가받아 내장된 부팅 프로그램을 실행하여 전자 장치 시스템의 운영 체제를 부팅시키는 중앙 처리 장치, 플래쉬 메모리 장치에 어드레스 정보 및 명령어를 제공하고 플래쉬 메모리 장치의 전반적인 동작을 제어하는 메모리 컨트롤러, 플래쉬 메모리 장치와 메모리 컨트롤러 사이에 데이터 및 어드레스 정보와 명령어 전송을 매개하는 메모리 버스를 구비하는 것을 특징으로 한다.
상기 다른 목적을 달성하기 위한 본 발명의 플래쉬 메모리 시스템은 외부로부터 어드레스 정보 및 명령어를 인가받아 래칭하고 디코딩하여 저장하는 래칭 및 디코딩부, 복수개의 페이지 데이터 셀들 및 복수개의 제1 페이지 버퍼들로 구성되어 복수개의 페이지 데이터 셀들에 페이지 데이터를 저장한 후에 외부로부터 리드 명령 인가시 어드레스 정보에 따라 복수개의 제1 페이지 버퍼들을 순차적으로 선택하여 데이터를 출력하는 제1 비휘발성 메모리, 복수개의 페이지 데이터 셀들 각각과 인접하는 복수개의 스페어 데이터 셀들 및 복수개의 제2 페이지 버퍼들로 구성되어 복수개의 스페어 데이터 셀들에 스페어 데이터를 저장한 후에 파일 시스템 탑 재시 스페어 데이터를 스캔하여 해당 정보를 자체적으로 임시 저장하고, 리드 명령 인가시 어드레스 정보에 따라 복수개의 제2 페이지 버퍼들을 순차적으로 선택하여 데이터를 출력하는 제2 비휘발성 메모리, 디코딩된 어드레스 정보와 디코딩된 명령어에 응답하여 제1 비휘발성 메모리 및 제2 비휘발성 메모리의 전반적인 동작들을 제어하는 제어 로직을 구비하는 것을 특징으로 한다.
상기 다른 목적을 달성하기 위한 본 발명의 플래쉬 메모리 시스템의 제1 비휘발성 메모리는 복수개의 페이지 데이터 셀들로 구성되어 페이지 데이터를 저장하는 제1 비휘발성 메모리 셀 어레이, 제1 비휘발성 메모리 셀 어레이의 컬럼들에 각각 대응하는 복수개의 제1 페이지 버퍼들로 구성되어 리드 명령 인가시 제어 로직의 제어에 응답하여 제1 비휘발성 메모리 셀 어레이로부터 데이터를 리드하여 임시적으로 저장하는 제1 페이지 버퍼 부, 제어 로직의 제어에 응답하여 디코딩된 어드레스 정보에 따라 복수개의 제1 페이지 버퍼들을 순차적으로 선택한 후에 선택된 제1 페이지 버퍼들에 임시 저장된 페이지 데이터를 출력하는 NAND 플래쉬 컬럼 선택 부를 구비하는 것을 특징으로 한다.
상기 다른 목적을 달성하기 위한 본 발명의 플래쉬 메모리 시스템의 제2 비휘발성 메모리는 복수개의 페이지 데이터 셀들 각각과 동일한 로우 어드레스를 가지고 인접하는 복수개의 스페어 데이터 셀들로 구성되어 스페어 데이터를 저장하는 제2 비휘발성 메모리 셀 어레이, 제2 비휘발성 메모리 셀 어레이의 컬럼들에 각각 대응하는 복수개의 제2 페이지 버퍼들로 구성되어 리드 명령 인가시 제어 로직의 제어에 응답하여 제2 비휘발성 메모리 셀 어레이로부터 스페어 데이터를 리드하여 임시적으로 저장하는 제2 페이지 버퍼 부, 제어 로직의 제어에 응답하여 디코딩된 어드레스 정보에 따라 복수개의 제2 페이지 버퍼들을 순차적으로 선택한 후에 선택된 페이지 버퍼들에 임시 저장된 스페어 데이터를 출력하는 제2 비휘발성 메모리 셀 컬럼 선택 부, 제어 로직으로부터 디코딩된 명령어를 인가받아 제2 비휘발성 메모리 제어 신호를 출력하여 제2 비휘발성 메모리의 리드 및 라이트 동작 전반을 제어하는 제2 비휘발성 메모리 제어부, 래칭된 어드레스 정보를 인가받아 페이지 데이터 셀에서 페이지를 선택하는 로우 어드레스와 동일한 어드레스를 가지도록 제2 비휘발성 메모리의 로우 어드레스를 디코딩하는 제2 비휘발성 메모리 로우 디코더를 구비하는 것을 특징으로 한다.
상기 다른 목적을 달성하기 위한 본 발명의 플래쉬 메모리 시스템의 플래쉬 메모리 장치는 전자 장치 시스템으로부터 제1 비휘발성 메모리 셀 어레이에 프로그램될 데이터를 인가받아 임시 저장한 후에 제어 로직의 제어에 응답하여 제1 페이지 버퍼 부로 전달하고, 선택된 제1 페이지 버퍼들의 페이지 데이터 및 선택된 제2 페이지 버퍼들의 스페어 데이터를 인가받아 임시 저장한 후에 제어 로직의 제어에 응답하여 임시 저장된 페이지 데이터 및 스페어 데이터를 외부로 출력하는 버퍼 부를 더 구비하는 것을 특징으로 한다.
상기 다른 목적을 달성하기 위한 본 발명의 플래쉬 메모리 시스템의 제2 비휘발성 메모리는 전자 장치 시스템의 부트 로더를 별도의 랜덤 액세스가 가능한 반도체 메모리 장치에 로드하지 않고 제2 비휘발성 메모리 상에서 그대로 부팅 동작을 수행하는 동시에 데이터 라이트 및 리드 버퍼로 사용되는 것을 특징으로 한다.
상기 다른 목적을 달성하기 위한 본 발명의 플래쉬 메모리 시스템의 제1 비휘발성 메모리는 NAND 플래쉬 메모리이고, 제2 비휘발성 메모리는 FRAM, PRAM, MRAM, RRAM이 포함될 수 있는 것을 특징으로 한다.
상기 다른 목적을 달성하기 위한 본 발명의 플래쉬 메모리 시스템의 복수개의 페이지 데이터 셀들 각각 및 복수개의 스페어 데이터 셀들 각각이 병합되어 한 개의 페이지를 구성하고, 페이지는 적어도 하나 이상의 섹터들로 구성되며, 섹터들 각각은 복수개의 메모리 셀들로 구성되는 것을 특징으로 한다.
상기 다른 목적을 달성하기 위한 본 발명의 플래쉬 메모리 시스템의 어드레스 정보는 로우 어드레스, 컬럼 어드레스, 섹터 어드레스, 섹터 개수 정보, 페이지 어드레스를 포함하고, 명령어는 리드 명령, 프로그램 명령, 소거 명령을 포함하는 것을 특징으로 한다.
상기 다른 목적을 달성하기 위한 본 발명의 플래쉬 메모리 시스템의 페이지 데이터는 외부로부터 라이트되는 데이터와 파일의 크기, 데이터의 리드 또는 라이트의 가부의 정보를 가지는 데이터이고, 스페어 데이터는 부트 로더, 에러 정정 코드, 불량 블록 정보, 삭제 횟수의 정보를 가지는 데이터인 것을 특징으로 한다.
이하, 첨부한 도면을 참고로 하여 본 발명의 플래쉬 메모리 장치를 설명하면 다음과 같다.
도 4는 본 발명의 플래쉬 메모리 장치를 장착하여 파일 시스템을 탑재하는 개략적인 블록도로서, 플래쉬 메모리 장치(100)와 DRAM(20)을 구비하고, 플래쉬 메모리 장치(100)는 페이지 데이터를 저장하는 NAND 플래쉬 메모리(120)와 스페어 데이터를 저장하는 FRAM(140)로 구성된다.
플래쉬 메모리 장치(100)의 NAND 플래쉬 메모리(120)에 저장되는 복수개의 페이지 데이터로 구성된 목표 헤더(Object header)는 FRAM(140) 셀에 저장되는 복수개의 태그들과 각각 일대일 매칭되어 복수개의 페이지들을 형성한다.
도 1의 종래의 플래쉬 메모리 장치와 비교할 때 데이터 영역에 저장되는 외부로부터 라이트되는 데이터와 파일의 크기, 데이터의 리드 또는 라이트의 가부 등의 정보를 가지는 페이지 데이터가 NAND 플래쉬 메모리(120)에 저장되는 것은 동일하나, 부트 로더, 에러 정정 코드, 불량 블록 정보, 삭제 횟수 정보를 가지는 스페어 데이터를 NAND 플래쉬 메모리(120)의 복수개의 스페어 데이터 셀들에 저장되는 대신에 별도의 FRAM(140) 셀에 저장되는 차이점이 있다.
도 4를 참조하여 본 발명의 플래쉬 메모리 장치를 장착하여 파일 시스템을 탑재하는 각 블록들의 기능을 설명하면 다음과 같다.
NAND 플래쉬 메모리(120)는 복수개의 페이지 데이터 셀들로 구성되어 페이지 데이터를 저장한 후에 외부로부터 리드 명령 인가시 저장된 페이지 데이터를 리드하여 데이터를 출력한다.
FRAM(140)은 복수개의 페이지 데이터 셀들 각각과 동일한 로우 어드레스를 가지고 인접하는 복수개의 스페어 데이터 셀들로 구성되어 스페어 데이터를 저장한 후에 파일 시스템 탑재시 스페어 데이터를 스캔하여 해당 정보를 자체적으로 임시 저장하고, 리드 명령 인가시 저장된 스페어 데이터를 리드하여 출력한다.
따라서, 플래쉬 메모리 장치를 전자 장치에 장착하여 파일 시스템을 탑재할 때 랜덤 액세스가 불가능한 플래쉬 메모리 장치의 한계로 인해 NAND 플래쉬 메모리(120) 영역의 데이터를 스캔하는 종래의 플래쉬 메모리 장치보다 리드 및 라이트 시간이 빠른 비휘발성 RAM인 FRAM(140)의 스페어 데이터 셀 영역의 정보를 스캔함으로써 탑재 시간을 획기적으로 단축할 수 있다.
일반적으로 FRAM(Ferroelectric RAM) 은 데이터를 랜덤하게 액세스하여 리드하고 데이터의 지우기 없이 바로 데이터를 라이트하기 때문에 데이터 액세스 속도가 NAND 플래쉬 메모리에 비하여 1000배 정도 빠르다.
도 5는 NAND 플래쉬 메모리와 FRAM을 원 칩화한 본 발명의 플래쉬 메모리 장치의 부팅 동작을 수행하는 개략적인 블록도로서, NAND 플래쉬 메모리(120), FRAM(140), 메모리 컨트롤러(200)를 구비한다.
도 5를 참조하여 본 발명의 플래쉬 메모리 장치의 부팅 동작을 수행하는 각 블록들의 기능을 설명하면 다음과 같다.
NAND 플래쉬 메모리(120)는 복수개의 페이지 데이터 셀들로 구성되어 외부로부터 라이트되는 데이터와 파일의 크기, 데이터의 리드 또는 라이트의 가부 등의 정보를 가지는 페이지 데이터를 저장한 후에 외부로부터 리드 명령 인가시 저장된 페이지 데이터를 리드하여 데이터를 출력한다.
FRAM(140)은 복수개의 스페어 데이터 셀들에 부트 로더, 에러 정정 코드, 불 량 블록 정보, 삭제 횟수 정보 등의 스태어 데이터를 저장함과 동시에 데이터 라이트 및 리드 버퍼로서의 역할을 수행한다.
메모리 컨트롤러(200)는 NAND 플래쉬 메모리(120) 및 FRAM(140)에 어드레스 정보 및 명령어를 제공하는 등 플래쉬 메모리 장치(100)의 전반적인 동작을 제어한다.
이로 인하여 비휘발성 RAM에 부팅을 위한 부트 로더를 저장하여 PC, 휴대용 멀티미디어 장치에 사용함으로써 부팅용 프로그램인 부트 로더를 SRAM 에 로드하지 않고 비휘발성 RAM 상에서 그대로 부팅을 수행하는 XIP( eXecute In Place) 기능을 구현하여 부팅 시간 또한 획기적으로 감소 시킬 수 있고, 비휘발성 RAM을 데이터의 리드/라이트 버퍼로 사용함으로써 전원 오프 시에 데이터를 상실할 우려가 없어 NAND 플래쉬 메모리(120)의 동작 성능도 획기적으로 향상시킬 수 있다.
즉, 본 발명의 플래쉬 메모리 장치는 플래쉬 메모리 장치의 랜덤 액세스가 불가능한 제한 때문에 이를 시스템에 장착하여 부팅을 실행할 때 부팅 코드를 종래에 랜덤 액세스가 가능한 SRAM으로 일단 복사한 후 CPU가 SRAM을 액세스 하면서 프로그램을 수행하게 할 필요 없이 CPU가 바로 본 발명의 플래쉬 메모리 장치 내 FRAM(140)에 저장되어 있던 부팅 코드를 이용하여 부팅 프로그램을 실행할 수 있게 된다.
또한, NAND 플래쉬 메모리(120)와 FRAM(140)이 원 칩으로 구성되어 있어 NAND 플래쉬 메모리(120) 셀의 에러 정정 코드 정보나 기타 불량 블록 정보를 메모리 테스트 과정에서 직접 FRAM(140)에 저장할 수 있기 때문에 NAND 플래쉬 메모 리(120)에 별도의 복수개의 스페어 데이터 셀들 영역이 따로 없어도 된다.
도 4 및 도 5를 참조하여 본 발명의 플래쉬 메모리 장치의 파일 시스템 탑재 및 부팅 동작을 설명하면 다음과 같다.
이하에서는 이해의 편의를 위하여 플래쉬 메모리 장치(100)를 개인용 컴퓨터나 휴대용 멀티미디어 장치와 같은 전자 장치 시스템에 부착하여 파일 시스템을 탑재한 후에 전자 장치 시스템 고유의 운영 체제를 부팅한다고 가정한다.
NAND 플래쉬 메모리(120)는 복수개의 페이지 데이터 셀들에 외부로부터 라이트되는 데이터와 파일의 크기, 데이터의 리드 또는 라이트의 가부 등의 정보를 가지는 페이지 데이터를 저장하고, FRAM(140)은 복수개의 스페어 데이터 셀들에 부트 로더, 에러 정정 코드, 불량 블록 정보, 삭제 횟수 정보를 가지는 스페어 데이터를 저장한다.
플래쉬 메모리 장치(100)의 파일 시스템을 탑재 할 때 FRAM(140)은 NAND 플래쉬 메모리(120) 내 복수개의 페이지 데이터 셀들에 저장된 목표 헤더 데이터와 자체 내부의 복수개의 스페어 데이터 셀들에 있는 태그 데이터를 스캔하여 저장된 정보를 인가받아 트리 구조로 어드레스 매핑 작업을 수행한다.
FRAM(140)은 자체 내부의 복수개의 스페어 데이터 셀들에 저장된 부트 로더를 통하여 부팅 코드를 이용하여 그 정보를 임시 저장하면 제어 로직부는 메모리 컨트롤러(200)에서 제공되는 어드레스 및 명령어를 저장하고 리드할 데이터의 초기 어드레스를 인가받아 다음 어드레스들을 자동적으로 생성하여 FRAM(140)에 재저장시킨다.
메모리 컨트롤러(200)는 NAND 플래쉬 메모리(120) 및 FRAM(140)에 어드레스 정보 및 명령어를 제공하는 등 플래쉬 메모리 장치(100)의 전반적인 동작을 제어한다.
도 6은 본 발명에 따른 일 실시예의 플래쉬 메모리 장치의 개략적인 블록도로서, NAND 플래쉬 메모리(120)와 FRAM(140)을 구비하고, NAND 플래쉬 메모리(120)는 복수개의 페이지 데이터 셀들(122)로 구성되고 FRAM(140)은 복수개의 스페어 데이터 셀들(142) 및 로직부(144)로 구성된다.
도 6을 참조하여 본 발명의 플래쉬 메모리 장치의 일 실시예의 각 블록들의 기능을 설명하면 다음과 같다.
NAND 플래쉬 메모리(120)와 FRAM(140)의 기능은 도 5에 나타낸 본 발명의 NAND 플래쉬 메모리(120)와 FRAM(140)을 원 칩화한 플래쉬 메모리 장치와 동일하므로 여기에서는 상세한 설명을 생략한다.
로직부(144)는 NAND 플래쉬 메모리(120)의 라이트 동작시 필요한 데이터 균등 저장 및 가비지 수집을 제어하는데, 복수개의 스페어 데이터 셀들(142) 정보를 저장하고 있는 FRAM(140)을 이용하거나 FRAM(140)의 다른 저장 영역을 사용하여 NAND 플래쉬 메모리(120)의 제거횟수와 지워져야 할 NAND 플래쉬 메모리(120) 셀 블록 설정 등을 제어한다.
여기에서 로직부(144)를 별개의 칩으로 구현하여 NAND 플래쉬 메모리(120)와 FRAM(140)을 원 칩화한 플래쉬 메모리 장치(100)의 상부에 MCP(Multi-Chip Package) 형식으로 구성하는 것도 가능하다.
도 7은 본 발명의 플래쉬 메모리 장치를 이용한 플래쉬 메모리 시스템의 전체 블록도로서, NAND 플래쉬 메모리 셀 어레이(35), NAND 플래쉬 페이지 버퍼 부(45), NAND 플래쉬 컬럼 선택 부(55), 버퍼 부(650), 래칭 및 디코딩부(150), 제어 로직(250), FRAM 셀 어레이(350), FRAM 페이지 버퍼 부(450), FRAM 컬럼 선택 부(550), FRAM 제어부(750), FRAM 로우 디코더(850), 메모리 버스(60), 메모리 컨트롤러(200), CPU(80)를 구비한다.
NAND 플래쉬 메모리 셀 어레이(35)는 복수개의 페이지 데이터 셀들(122)로 구성된 복수개의 페이지들로 구분되고 FRAM 셀 어레이(350)는 복수개의 스페어 데이터 셀들(142)로 구성된 복수개의 페이지들로 구분되며, 각 페이지는 하나 이상의 섹터들로 구성되고, 각 섹터는 복수 바이트의 메모리 셀들로 구성된다.
도 7을 참조하여 본 발명의 플래쉬 메모리 시스템 각 블록들의 기능을 설명하면 다음과 같다.
NAND 플래쉬 메모리 셀 어레이(35)는 외부로부터 라이트되는 데이터와 파일의 크기, 데이터의 리드 또는 라이트의 가부 등의 정보를 가지는 데이터를 저장하고, FRAM 셀 어레이(350)는 종래의 NAND 플래쉬 메모리 내 복수개의 스페어 데이터 셀들의 대체로서, 부트 로더, 에러 정정 코드, 불량 블록 정보, 삭제 횟수 정보 등을 저장하는 기능은 동일하나 리드 속도가 더 빠르고 이전 데이터의 지우기 없이 바로 데이터를 라이트하는 차이점이 있다.
NAND 플래쉬 페이지 버퍼 부(45) 및 FRAM 페이지 버퍼 부(450)는 각각 NAND 플래쉬 메모리 셀 어레이(35) 또는 FRAM 셀 어레이(350)의 칼럼들에 각각 대응하는 페이지 버퍼들로 구성되어, 리드 동작시 제어 로직(250)의 제어에 따라 NAND 플래쉬 메모리 셀 어레이(35) 또는 FRAM 셀 어레이(350)로부터 데이터를 읽고, 읽혀진 데이터를 임시적으로 저장한다.
NAND 플래쉬 컬럼 선택 부(55) 및 FRAM 컬럼 선택 부(550)는 각각 제어 로직(700)의 제어에 응답하여 래칭 및 디코딩부(150)로부터의 컬럼 어드레스 정보(ADD)에 따라 NAND 플래쉬 페이지 버퍼 부(45) 또는 FRAM 페이지 버퍼 부(450)의 페이지 버퍼들을 일정 단위로 순차적으로 선택한 후에 선택된 페이지 버퍼들의 데이터 비트들을 출력한다.
버퍼 부(650)는 NAND 플래쉬 컬럼 선택 부(55) 및 FRAM 컬럼 선택 부(550)를 통해 전달되는 데이터 비트들을 임시저장하고 NAND 플래쉬 페이지 버퍼 부(45) 및 FRAM 페이지 버퍼 부(450)에 저장된 한 페이지의 데이터가 입력될 때 제어 로직(700)의 제어에 따라 저장된 데이터를 외부로 출력한다. 또한, 전자 장치 시스템으로부터 NAND 플래쉬 메모리 셀 어레이(35)에 프로그램될 데이터를 임시 저장한 후에 NAND 플래쉬 컬럼 선택 부(55)를 통해 NAND 플래쉬 페이지 버퍼 부(45)로 전달한다.
래칭 및 디코딩부(150)는 전자 장치 시스템으로부터 어드레스 정보(ADD) 및 명령어(COM)를 인가받아 래칭하고 디코딩하여 저장하는데, 어드레스 정보(ADD)는 로우 어드레스, 칼럼 어드레스, 섹터 어드레스, 섹터 개수 정보, 페이지 어드레스 등을 포함하고 명령어(COM)는 리드 또는 라이트 명령, 프로그램 명령, 소거 명령 등을 포함한다.
제어 로직(700)은 래칭 및 디코딩부(150)에 저장된 명령어(COM)가 읽기, 프로그램, 그리고 소거 명령들 중 어느 명령을 나타내는지의 여부에 따라 플래쉬 메모리 장치(100)의 전반적인 동작들을 제어하고, 래칭 및 디코딩부(150)로부터 제공되는 섹터 어드레스 및 섹터 개수 정보에 따라 NAND 플래쉬 페이지 버퍼 부(45) 및 FRAM 페이지 버퍼 부(450)를 제어한다.
예를 들어 하나의 섹터에 대응하는 데이터만을 읽고자 하는 경우, 선택된 섹터에 속하는 페이지 버퍼들만이 리드 동작을 수행하도록 NAND 플래쉬 페이지 버퍼 부(45) 및 FRAM 페이지 버퍼 부(450)를 제어한다.
FRAM 제어부(750)는 FRAM(140)의 리드 및 라이트 동작이 NAND 플래쉬 메모리와 상이하기 때문에 제어 로직으로부터 별개의 비휘발성 메모리 제어 신호를 인가받아 FRAM(140)의 리드 및 라이트 동작 전반을 제어한다.
FRAM 로우 디코더(850)는 복수개의 페이지 데이터 셀들(122)에서 페이지를 선택하는 로우 어드레스와 동일한 어드레스를 가지도록 FRAM 셀의 로우 어드레스를 디코딩한다.
FRAM 컬럼 선택 부(550)는 FRAM의 리드 및 라이트 속도가 NAND 플래쉬 메모리보다 훨씬 빠르기 때문에 제어 로직으로부터 별개의 비휘발성 메모리 제어 신호를 인가받아 FRAM 셀의 컬럼 어드레스를 디코딩한다.
CPU(80)는 랜덤 액세스가 가능한 FRAM 셀 어레이(350)에 저장되어 있던 부팅 코드를 이용하여 부팅 프로그램을 실행하여 전자 장치 시스템의 해당 운영 체제를 부팅시킨다.
메모리 컨트롤러(200)는 NAND 플래쉬 메모리 및 FRAM에 어드레스 정보 및 명령어를 제공하는 등 플래쉬 메모리 장치의 전반적인 동작을 제어한다.
메모리 버스(60)는 NAND 플래쉬 메모리 및 FRAM과 메모리 컨트롤러 사이에 데이터 및 어드레스 정보와 명령어 등을 상호 전송한다.
도 7을 참조하여 본 발명의 플래쉬 메모리 시스템의 동작을 설명하면 다음과 같다.
대부분의 동작은 도 3에 나타낸 종래 기술의 ONE NAND 플래쉬 메모리 시스템과 동일하므로 여기에서는 상이한 동작만 설명하기로 한다.
래칭 및 디코딩부(150)가 전자 장치 시스템으로부터 인가받는 섹터 어드레스, 섹터 개수 정보, 페이지 어드레스 정보에는 NAND 플래쉬 메모리 셀 어레이(35)의 어드레스 정보 뿐 아니라 FRAM 셀 어레이(350)의 어드레스 정보도 포함한다.
제어 로직(250)은 래칭 및 디코딩부(150)로부터 제공되는 어드레스 정보(ADD) 및 명령어(COM)에 따라 NAND 플래쉬 페이지 버퍼 부(45) 뿐 아니라 FRAM 페이지 버퍼 부(450)를 제어하여 리드 명령 인가시 NAND 플래쉬 메모리 셀 어레이(35) 및 FRAM 셀 어레이(350)로부터 데이터를 읽어 임시적으로 저장시킨다.
FRAM 컬럼 선택 부(550)는 FRAM의 리드 및 라이트 속도가 NAND 플래쉬 메모리보다 훨씬 빠르기 때문에 NAND 플래쉬 컬럼 선택 부(55)와는 독립적으로 제어 로직으로부터 별개의 비휘발성 메모리 제어 신호를 인가받아 FRAM 페이지 버퍼 부(450)의 페이지 버퍼들을 일정 단위로 순차적으로 선택한 후에 선택된 페이지 버퍼들의 데이터 비트들을 출력한다.
버퍼 부(650)는 NAND 플래쉬 컬럼 선택 부(55)로부터 페이지 데이터 뿐 아니라 FRAM 컬럼 선택 부(550)를 통해 전달되는 스페어 데이터를 임시 저장하고 FRAM 페이지 버퍼 부(450)에 저장된 한 페이지의 데이터가 입력될 때 제어 로직(700)의 제어에 따라 저장된 데이터(DO)를 출력한다.
이때 NAND 플래쉬 메모리 셀 어레이(35)와 FRAM 셀 어레이(350)의 데이터 액세스 속도의 차이로 FRAM 셀 어레이(350)는 NAND 플래쉬 메모리 셀 어레이(35)의 데이터 라이트 및 리드 중간 버퍼로서 동작을 수행하는 동시에 내부의 스페어 데이터 셀들에 저장된 부트 로더를 이용하여 부팅 코드 정보를 임시 저장한다.
CPU(80)는 랜덤 액세스가 가능한 FRAM 셀 어레이(350)에 액세스하여 저장되어 있던 부팅 코드를 인가받아 부팅 프로그램을 실행하여 전자 장치 시스템의 해당 운영 체제를 부팅시킨다.
이때, 메모리 컨트롤러(200)는 메모리 버스(60)를 매개로 하여 NAND 플래쉬 메모리 및 FRAM에 어드레스 정보 및 명령어를 제공하는 등 플래쉬 메모리 장치의 전반적인 동작을 제어한다.
이와 같이 본 발명의 플래쉬 메모리 장치 및 플래쉬 메모리 시스템은 NAND 플래쉬 메모리 셀 어레이(35)에는 페이지 데이터만을 저장하고, 이 페이지 데이터와 동일한 로우 어드레스를 갖는 스페어 데이터는 FRAM 셀 어레이(350)에 저장하여 종래의 플래쉬 메모리 장치의 기능을 그대로 가지면서 데이터 리드 속도가 빠르고 데이터 라이트가 이전 데이터의 지우기 없이 바로 이루어질 수 있게 된다.
상기에서는 이해의 편의를 위하여 비휘발성 메모리를 FRAM에 한정하여 기술하였으나, 비휘발성 메모리에 PRAM, MRAM, RRAM 등이 포함 될 수 있음은 당연하다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.