KR100648292B1 - 오토 듀얼 버퍼링 방식의 메모리 장치 - Google Patents
오토 듀얼 버퍼링 방식의 메모리 장치 Download PDFInfo
- Publication number
- KR100648292B1 KR100648292B1 KR1020050069128A KR20050069128A KR100648292B1 KR 100648292 B1 KR100648292 B1 KR 100648292B1 KR 1020050069128 A KR1020050069128 A KR 1020050069128A KR 20050069128 A KR20050069128 A KR 20050069128A KR 100648292 B1 KR100648292 B1 KR 100648292B1
- Authority
- KR
- South Korea
- Prior art keywords
- buffer
- address
- data
- interface
- ram
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/106—Data output latches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1087—Data input latches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/06—Address interface arrangements, e.g. address buffers
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
본 발명은 메모리 장치에 관한 것으로 메모리 코어; 상기 메모리 코어와 인터페이싱 하는 제 1 인터페이스; 외부와 인터페이싱 하는 제 2 인터페이스; 상기 제 1 인터페이스와 상기 제 2 인터페이스에 의해서 액세스 되는 버퍼 메모리; 외부로부터의 추가적인 버퍼 어드레스의 입력 없이 최초 입력된 버퍼 섹터 어드레스를 참조하여 상기 제 1 인터페이스가 상기 버퍼 메모리를 액세스하는 제 1 어드레스와 상기 제 2 인터페이스가 상기 버퍼 메모리를 액세스하는 제 2 어드레스를 각각 생성하는 어드레스 생성기를 포함한다. 상술한 구성을 통해서 호스트에서 최초 한 번의 버퍼 섹터 어드레스의 입력만으로도 상기 제 1 어드레스와 상기 제 2 어드레스가 내부적으로 생성되는 오토 듀얼 버퍼링 동작이 이루어진다.
Description
도 1은 종래의 듀얼 버퍼링 동작을 설명하는 타이밍도.
도 2는 본 발명의 오토 듀얼 버퍼링 버퍼램 액세스를 설명하기 위한 블록도.
도 3은 본 발명의 어드레스 발생기를 설명하는 블록도.
도 4는 본 발명의 오토 듀얼 버퍼링 동작을 설명하는 타이밍도.
*도면의 주요부분에 대한 부호의 설명*
10 : 호스트 인터페이스 20 : 버퍼램
30 : 플래시 인터페이스 40 : 플래시 메모리 코어
50 : 선택회로 60 : 어드레스 생성회로
70 : 레지스터
본 발명은 반도체 메모리 장치에 관한 것으로, 더욱 상세하게는 낸드 플래시를 메모리 코어로 사용하는 원낸드 플래시(OneNAND Flash) 메모리에 관한 것이다.
일반적으로 낸드(NAND)형 비휘발성 메모리 장치는 전원의 공급 상태와는 관계없이 보존되어야 할 데이터를 기억하는 비휘발성 및 고집적도의 장점이 있다. 이러한 장점에 힘입어 모바일 시스템 및 각종 응용 시스템의 적용에서 급격히 그 이용이 증가되고 있다. 그러나 대용량화의 장점 이면에, 데이터의 읽기 및 쓰기 시간이 램에 비해 다소 길다는 단점이 있다. 이러한 단점은 플래시 메모리를 장착하는 시스템의 성능에도 영향을 미치게 된다. 이러한 단점을 보완하고 비휘발성의 장점을 살리기 위한 소위 퓨전 메모리 중의 한 형태가 원낸드(OneNAND)형 플래시 메모리 장치이다. 원낸드형 플래시 메모리 장치는 노어(NOR)형 플래시(혹은 SRAM)의 입출력 프로토콜을 가진다. 그러나 내부에는 고집적도에 적합한 낸드형 플래시 메모리 코어와 고속의 버퍼램 및 레지스터, 에러정정회로(ECC)등을 내장하여 고용량, 고속, 고안정성이라는 보다 진보된 메모리 성능을 구현하고 있다. 고속 버퍼램의 운용은 원낸드 플래시의 고속동작을 보장하기 위해서 두 개의 SRAM으로 구성된 듀얼 버퍼링 방식이 사용된다. 듀얼 버퍼링 방식은 버퍼 사이즈보다 큰 대용량의 데이터를 입출력할 때 호스트 측과 플래시 측의 버퍼점유가 동일한 어드레스로 지정되는 충돌을 피하기 위한 구성이다. 플래시 측에서 데이터를 하나의 버퍼램에 로드하는 동안 호스트 측에서는 이전에 로드된 다른 하나의 버퍼램으로부터 데이터를 읽어들일 수 있다. 이러한 액세스(Access) 방식을 통해 서로 다른 버퍼램을 점유하면서, 플래시 측으로부터 버퍼램으로의 로드와 버퍼램에서 호스트 측으로의 데이터 전송이 동시에 가능하여 고속동작이 보장된다.
일반적으로 호스트 인터페이스와 플래시 인터페이스(NAND 플래시 코어와의 인터페이싱을 담당)의 버퍼램으로의 액세스는 버퍼 어드레스에 의해서 지정된다. 호스트에서 버퍼램의 로드된 데이터를 읽기 위해서는 호스트에서 버퍼램의 어드레스를 지정해 주어야 한다. 지정된 버퍼 어드레스에 따라 호스트 인터페이스는 그 어드레스를 디코딩하여 버퍼램으로 액세스한다. 플래시 측에서 버퍼램으로 액세스할 경우에는 초기 호스트 측에서 설정한 레지스터의 BSA(Buffer Sector Address), BSC(Buffer Sector Count)값을 참조하여 시작 어드레스 및 종료 어드레스를 생성하여 이루어진다.
도 1은 일반적인 듀얼 버퍼링 방식에서의 호스트와 플래시 측의 액세스를 설명하는 타이밍도이다. 특히 플래시에 저장된 대용량의 데이터를 호스트에서 독출하는 동작의 타이밍도이다. 우선 듀얼 버퍼링을 위해서 호스트는 레지스터를 설정한다. 그 이후에는 스타트 어드레스 레지스터(Start Address Register)에 로드 대상이 되는 데이터의 플래시 메모리의 어드레스(DFS, FBA, FPA, FSA)를 쓰고, 데이터가 일시 로드되는 버퍼램의 스타트 어드레스(BSA, BSC)를 레지스터에 입력한다. 여기서 스타트 어드레스 레지스터에 입력되는 어드레스들은 플래시 메모리 어드레스인 DFS(Dual Flash Select), FBA(Flash Block Address), FPA(Flash Page Address), FSA(Flash Sector Address)와 버퍼램 어드레스 BSA(Buffer Sector Address), BSC(Buffer Sector Count)이다. 그 이후 데이터 로드(Data Load) 명령어를 입력하고 인터럽트(INT) 'LOW'를 입력하면 지정된 플래시에 저장된 데이터가 tR0동안 메모리 셀에서 페이지 버퍼에, tT0동안에는 페이지 버퍼에서 버퍼램으로 로드(Load)된다. 하나의 버퍼램에 데이터가 모두 로드되면, 나머지 버퍼램으로의 로드를 위해 또다시 연속되는 데이터의 플래시 메모리 어드레스(DFS, FBA, FPA, FSA)를 레지스터에 입력한다. 또한, 연속되는 데이터가 로드될 다른 하나의 버퍼램의 어드레스(BSA, BSC), 로드 명령어를 입력하여 로드 동작이 계속 진행된다. 셀 어레이로부터 페이지 버퍼로 그리고 페이지 버퍼에서 버퍼램으로 데이터가 로드되는 동안, 이미 버퍼램으로의 로드가 완료된 다른 버퍼램의 데이터는 호스트가 버퍼램 어드레스를 입력하여 호스트로 읽어 가게 된다. 이와 같은 방식으로 호스트와 플래시 측의 버퍼점유를 번갈아 수행하여 대용량의 데이터를 전송할 때에도 어드레스의 충돌이 없는 고속 버퍼링이 가능하다. 그러나 호스트 측에서 관찰해보면, 초기에 플래시 인터페이스가 액세스할 버퍼램의 어드레스가 이미 레지스터에 저장되어 있지만, 듀얼 버퍼링을 위해 버퍼램을 전환하도록 버퍼램 어드레스(BSA, BSC)를 매 로드시마다 일일이 입력해야 했다. 또한, 플래시 인터페이스와 상반되는 버퍼램으로 어드레스가 지정되는 호스트 인터페이스의 버퍼램 어드레스도 계속해서 호스트에서 매 액세스마다 입력해야 했다. 이러한 문제는 호스트의 어드레스 계산에 따르는 부담을 가중하고, 매번 호스트 측에서 액세스시의 버퍼램 어드레스, 플래시 측에서 액세스할 버퍼램 어드레스를 입력함에 따르는 전송속도의 지연이라는 문제가 발생하게 된다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 버퍼램의 용량보다 큰 대용량 데이터 로딩시, 호스트에서 버퍼램의 어드레스를 매 액세스마다 입력할 필요가 없는 듀얼 버퍼링 방법 및 장치를 제공하는 데 있다.
상술한 제반 목적을 달성하기 위한 본 발명의 일 특징에 따르면, 본 발명의 메모리 장치는 메모리 코어; 상기 메모리 코어와 인터페이싱 하는 제 1 인터페이스; 외부와 인터페이싱 하는 제 2 인터페이스; 상기 제 1 인터페이스와 상기 제 2 인터페이스에 액세스 되는 버퍼 메모리; 외부로부터의 추가적인 버퍼 어드레스의 입력 없이 최초 입력된 버퍼 섹터 어드레스를 참조하여 상기 제 1 인터페이스가 상기 버퍼 메모리를 액세스하는 제 1 어드레스와 상기 제 2 인터페이스가 상기 버퍼 메모리를 액세스하는 제 2 어드레스를 각각 생성하는 어드레스 생성기를 포함한다.
바람직한 실시예에 있어서, 상기 버퍼 메모리는 제 1 데이터램과 제 2 데이터램을 포함한다.
바람직한 실시예에 있어서, 상기 제 1 어드레스와 상기 제 2 어드레스는 각각 제 1 데이터램 혹은 제 2 데이터램을 번갈아 지정하도록 생성된다.
바람직한 실시예에 있어서, 상기 제 1 어드레스는 상기 제 1 인터페이스가 상기 제 1 데이터램과 상기 제 2 데이터램을 번갈아 액세스하도록 생성된다.
바람직한 실시예에 있어서, 상기 제 2 어드레스는 상기 제 2 인터페이스가 상기 제 1 데이터램과 상기 제 2 데이터램을 번갈아 액세스하되, 상기 제 1 어드레스와는 서로 다른 제 1 데이터램 또는 제 2 데이터램을 액세스하도록 생성된다.
바람직한 실시예에 있어서, 상기 메모리 장치는 플래시 메모리 장치이다.
바람직한 실시예에 있어서, 상기 메모리 장치는 원낸드 플래시 메모리 장치이다.
상술한 목적을 달성하기 위한 본 발명의 다른 특징에 따르면, 본 발명의 메모리 장치는 메모리 코어; 상기 메모리 코어와 인터페이싱 하는 제 1 인터페이스;
외부와 인터페이싱 하는 제 2 인터페이스; 상기 제 1 인터페이스와 상기 제 2 인터페이스에 액세스 되는 제 1 버퍼램; 상기 제 1 인터페이스와 상기 제 2 인터페이스에 액세스 되는 제 2 버퍼램; 외부로부터의 버퍼 어드레스를 입력받는 어드레스 레지스터; 추가적인 어드레스의 입력 없이 상기 어드레스 레지스터에 입력된 최초 버퍼 섹터 어드레스를 참조하여 상기 제 1 인터페이스가 상기 제 1 버퍼램과 상기 제 2 버퍼램을 액세스하는 제 1 어드레스를 생성하는 제 1 어드레스 생성기; 추가적인 어드레스의 입력 없이 상기 어드레스 레지스터에 입력된 최초 버퍼 섹터 어드레스를 참조하여 상기 제 2 인터페이스가 상기 제 1 버퍼램과 상기 제 2 버퍼램을 액세스하는 제 2 어드레스를 생성하는 제 2 어드레스 생성기를 포함한다.
바람직한 실시예에 있어서, 상기 제 1 어드레스와 상기 제 2 어드레스는 제 1 버퍼램 혹은 제 2 버퍼램을 번갈아 지정하도록 생성된다.
바람직한 실시예에 있어서, 상기 제 1 어드레스는 상기 제 1 인터페이스가 상기 제 1 버퍼램과 상기 제 2 버퍼램을 번갈아 액세스하도록 생성된다.
바람직한 실시예에 있어서, 상기 제 2 어드레스는 상기 제 2 인터페이스가 상기 제 1 버퍼램과 상기 제 2 버퍼램을 번갈아 액세스하되, 상기 제 1 어드레스와는 서로 다른 제 1 버퍼램 또는 제 2 버퍼램을 액세스하도록 생성된다.
바람직한 실시예에 있어서, 상기 메모리 장치는 플래시 메모리 장치인 것을 특징으로 한다.
바람직한 실시예에 있어서, 상기 메모리 장치는 원낸드 플래시 메모리 장치인 것을 특징으로 한다.
상기 제반 목적을 달성하기 위한 본 발명의 다른 특징에 따르면, 호스트 인터페이스와, 플래시 인터페이스와, 상기 호스트 인터페이스와 상기 플래시 인터페이스 간의 전송 데이터를 버퍼링하는 제 1 내지 제 2 버퍼를 포함하는 원낸드 플래시 메모리 장치의 대용량 데이터 독출 방법에 있어서, 상기 대용량 데이터가 로드되는 최초 버퍼 섹터 어드레스를 외부로부터 입력받는 단계와; 외부로부터 추가적인 버퍼 어드레스의 입력 없이 상기 대용량 데이터의 독출이 종료될 때까지 상기 최초 버퍼 섹터 어드레스를 참조하여, 상기 플래시 인터페이스가 액세스할 제 1 버퍼 어드레스와 상기 호스트 인터페이스가 액세스할 제 2 버퍼 어드레스를 지속적으로 생성하는 단계를 포함한다.
바람직한 실시예에 있어서, 상기 최초 버퍼 섹터 어드레스와 상기 제 1 내지 제 2 버퍼 어드레스는 상기 제 1 내지 제 2 버퍼를 지시하는 비트 값을 포함한다.
바람직한 실시예에 있어서, 상기 제 1 버퍼 어드레스는 상기 플래시 인터페이스가 상기 제 1 버퍼와 상기 제 2 버퍼를 번갈아 액세스하여 데이터를 로드하도록 생성된다.
바람직한 실시예에 있어서, 상기 제 2 버퍼 어드레스는 상기 호스트 인터페이스가 상기 제 1 버퍼와 상기 제 2 버퍼를 번갈아 액세스하여 로드된 상기 데이터를 전송받되, 상기 제 1 버퍼 어드레스와는 서로 다른 제 1 버퍼 또는 제 2 버퍼를 액세스하도록 생성된다.
바람직한 실시예에 있어서, 상기 제 1 버퍼 어드레스는 플래시 인터페이스로부터 상기 데이터의 로드 상태에 따라, 상기 제 2 버퍼 어드레스는 로드된 상기 데이터의 호스트 인터페이스로의 전송 상태에 따라 상기 제 1 버퍼와 제 2 버퍼를 지시하는 상기 비트 값이 전환된다.
바람직한 실시예에 있어서, 상기 대용량 데이터는 제 1 버퍼 혹은 제 2 버퍼의 용량보다 큰 데이터이다.
바람직한 실시예에 있어서, 상기 최초 버퍼 섹터 어드레스는 매 대용량 데이터 단위의 독출 시마다 외부로부터 입력받는다.
상술한 제반 목적을 달성하기 위한 본 발명의 또 다른 특징에 따르면, 호스트 인터페이스와, 플래시 인터페이스와, 상기 호스트 인터페이스와 상기 플래시 인터페이스 간의 전송 데이터를 버퍼링하는 제 1 내지 제 2 버퍼를 포함하는 원낸드 플래시 메모리 장치의 대용량 데이터의 프로그램 방법에 있어서, 상기 대용량 데이터가 로드되는 최초 버퍼 섹터 어드레스를 외부로부터 입력받는 단계와; 외부로부터 추가적인 버퍼 어드레스의 입력 없이 상기 대용량 데이터의 프로그램이 종료될 때까지 상기 최초 버퍼 섹터 어드레스를 참조하여, 상기 플래시 인터페이스가 액세스할 제 1 버퍼 어드레스와 상기 호스트 인터페이스가 액세스할 제 2 버퍼 어드레스를 지속적으로 생성하는 단계를 포함한다.
바람직한 실시예에 있어서, 상기 최초 버퍼 섹터 어드레스와 상기 제 1 내지 제 2 버퍼 어드레스는 상기 제 1 내지 제 2 버퍼를 지시하는 비트 값을 포함한다.
바람직한 실시예에 있어서, 상기 제 2 버퍼 어드레스는 상기 호스트 인터페 이스가 상기 제 1 버퍼와 상기 제 2 버퍼를 번갈아 액세스하여 데이터를 로드하도록 생성된다.
바람직한 실시예에 있어서, 상기 제 1 버퍼 어드레스는 상기 플래시 인터페이스가 상기 제 1 버퍼와 상기 제 2 버퍼를 번갈아 액세스하여 데이터를 전송받되, 상기 제 1 버퍼 어드레스와는 서로 다른 제 1 버퍼 또는 제 2 버퍼를 액세스하도록 생성된다.
바람직한 실시예에 있어서, 상기 제 1 버퍼 어드레스는 플래시 인터페이스로의 상기 데이터 전송 상태에 따라, 상기 제 2 버퍼 어드레스는 호스트 인터페이스로부터 제 1 버퍼 내지 제 2 버퍼로의 데이터 로드 상태에 따라 상기 제 1 버퍼와 제 2 버퍼를 지시하는 상기 비트 값이 전환된다.
바람직한 실시예에 있어서, 상기 대용량 데이터는 제 1 버퍼 혹은 제 2 버퍼의 용량보다 큰 데이터인 것을 특징으로 한다.
바람직한 실시예에 있어서, 상기 최초 버퍼 섹터 어드레스는 매 대용량 데이터 단위의 프로그램 시 외부로부터 입력받는 것을 특징으로 한다.
이상의 장치와 방법을 통해서 본 발명은 대용량 데이터의 로드나 프로그램 시 호스트가 최초 버퍼 섹터 어드레스만을 입력하는 것만으로도 내부에서 자체적으로 버퍼를 액세스하기 위한 어드레스가 생성되어 자동 듀얼 버퍼링 동작이 지원된다. 따라서 호스트는 매 버퍼링 액세스마다 버퍼램으로의 액세스 어드레스를 입력할 필요가 없다.
상술한 본 발명을 설명하기 위하여 이하 상세한 설명에서 사용되는 용어에 대해 간략히 설명하기로 한다.
대용량 데이터는 그 단위가 버퍼램의 크기보다 큰 용량의 데이터를 지칭하는 것이다. 따라서 한 번의 버퍼링으로는 완전한 하나의 데이터 단위를 모두 전송할 수 없다. 대용량 데이터의 독출과 프로그램은 버퍼램의 최대 용량에 해당하는 데이터 단위가 복수 번의 버퍼링에 의해서 완료될 수 있다.
듀얼 버퍼링 방식은 상술한 대용량 데이터의 전송에 있어서, 두 개의 버퍼를 채택하여 버퍼링하는 방식이다. 하나의 버퍼를 이용할 경우 호스트 인터페이스 측과 플래시 인터페이스 측이 동시에 액세스하지 못하기 때문에 속도의 제한이 따른다. 그러나 두 개의 버퍼를 호스트 인터페이스 측과 플래시 인터페이스 측이 번갈아 사용하면서, 양측의 액세스가 지속적으로 이루어져 고속의 데이터 전송이 가능한 버퍼링 방식이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
또한, 본 발명의 버퍼링 방식은 플래시 메모리 코어로부터 호스트로의 데이터 로드시와 호스트로부터 플래시 메모리 코어로의 데이터 프로그램 시 데이터의 방향과 어드레스 발생 순서만 다를 뿐 두 동작이 유사하므로 데이터 로드의 과정을 실시예로 설명하기로 한다.
도 2는 본 발명의 바람직한 일 실시예를 보여주는 회로도이다. 도 2를 참조하면, 본 발명의 오토 듀얼 버퍼링 방식을 채용한 원낸드 플래시 메모리 장치는 호 스트와 인터페이싱하는 호스트 인터페이스(10), 호스트 인터페이스(10) 측과 플래시 메모리 코어(40) 간의 전송 데이터가 일시 저장되는 버퍼램(20), 데이터 전송을 제어하는 플래시 인터페이스(30), 플래시 메모리 코어(40), 버퍼램의 어드레스가 선택되는 선택회로(50), 호스트 인터페이스(10)와 플래시 인터페이스(30) 각각이 버퍼램과 액세스하기 위한 어드레스를 생성하는 어드레스 생성회로(60), 그리고 호스트 측에서 각종 설정과 명령어와 어드레스들이 입력되는 레지스터(70)를 포함한다.
호스트 인터페이스(10)는 본 발명의 메모리 장치와 호스트(칩셋 혹은 CPU, 도시는 생략) 간의 인터페이싱 하는 장치이다. 호스트 인터페이스(10)는 특정한 프로토콜로 한정되지는 않으나, 일반적인 원낸드 플래시 메모리의 경우 에스램(혹은 NOR 플래시) 인터페이싱 방식으로 구현되고 있다. 본 발명의 호스트 인터페이스(10)는 플래시 메모리 코어(40)에 저장된 데이터를 버퍼램(20)으로 로드(load)하고, 버퍼램(20)의 로드된 데이터를 호스트 측으로 전송하기 위한 제반 동작들을 제어한다. 특히 대용량 데이터의 전송시 플래시 인터페이스(30)가 버퍼램(20)에 액세스하기 위한 어드레스와 호스트 인터페이스(10)가 버퍼램(20)에 액세스하기 위한 어드레스를 초기에 입력된 버퍼 섹터 어드레스(BSA)를 기초로 자동 생성하도록 구성될 것이다. 여기에서 개시되는 호스트 인터페이스(10)는 특히 후술하게 될 버퍼램으로부터 호스트로의 데이터(H_DATA1, H_DATA2) 전송을 감지하여 그 결과를 플래그 신호(HEND)로 생성한다. 또한, 플래시 인터페이스(30)로부터의 플래그 신호(TEND)를 입력받아 버퍼 섹터 어드레스(BSA)의 데이터램 지시 비트를 자동으로 전 환하여 레지스터로 출력한다.
버퍼램(20)은 호스트 인터페이스와 플래시 인터페이스(30) 간의 상호 전송되는 데이터를 일시 저장하는 고속의 양방향 랜덤 액세스 메모리이다. 특히 듀얼 버퍼링이 지원되기 위해서는 데이터램1과 데이터램2로 구성된 2개의 데이터램이 포함된다. 일반적으로 상술한 각 데이터램은 하나의 페이지 단위로 로드가 가능하도록 구성된다. 한 번의 액세스에서 로드되는 용량은 버퍼 섹터 카운터(BSC)에 따라서 그 크기가 결정된다. 각 데이터램은 또한 복수(예를 들면 4개)의 섹터들로 어드레스가 구성되어 있어 플래시 인터페이스(30)나 호스트 인터페이스(10)에서 섹터 단위로 액세스가 가능하다. 대용량의 데이터 로드 시에는 플래시 인터페이스(30)에서 페이지 단위의 데이터를 데이터램1과 데이터램2로 호스트에서 입력한 버퍼 섹터 어드레스(BSA, BSC)를 참조하여 번갈아 로드하도록 설정된다. 또한, 본 발명에서는 호스트에서 초기에 입력한 버퍼 섹터 어드레스(BSA, BSC)를 참조하여 호스트 인터페이스(10)가 데이터램1과 데이터램2를 번갈아 액세스하여 데이터를 호스트로 전송하도록 구성될 것이다. 이때, 호스트 인터페이스(10)와 플래시 인터페이스(30)가 점유하게 되는 데이터램의 어드레스는 초기에 입력된 버퍼 어드레스(BSA, BSC)를 참조하여 상호 충돌하지 않도록 생성되어야 할 것이다.
플래시 인터페이스(30)는 호스트 측에서 입력한 레지스터 설정값과, 플래시 시작 어드레스(DFS, FBA, FPA, FSA), 버퍼 섹터 어드레스(BSA, BSC)를 참조하여 버퍼램(20)과 플래시 메모리 코어(40) 간의 제반 데이터 전송을 제어한다. 플래시 인터페이스(30)는 대용량 데이터 교환시, 호스트 측에서 초기에 입력한 버퍼 섹터 어 드레스(BSA, BSC)를 참조하여 플래시 인터페이스(30)가 액세스할 버퍼 어드레스 등을 생성하도록 제어한다. 그리고 버퍼램(20)과 플래시 메모리 코어 간의 데이터 전송이 종료되면 호스트 인터페이스(10)로 전송이 종료되었음을 알리는 플래그 신호(TEND1, TEND2)를 출력한다. 데이터램1과 플래시 메모리 코어(40) 간의 데이터(F_DATA1)의 전송 종료시에는 TEND1이 'HIGH'로 천이되도록 제어한다. 데이터램2와 플래시 메모리 코어 간의 데이터(F_DATA2) 전송 완료시에는 TEND2가 'HIGH'로 천이되도록 제어한다. 이러한 플래그 신호(TEND1, TEND2)는 호스트에서 별도의 버퍼 섹터 어드레스(BSA)를 입력하지 않아도, 호스트 인터페이스(10)가 자동으로 버퍼 섹터 어드레스의 데이터램 지시 비트 값을 전환하는데 참조된다.
플래시 메모리 코어(40)는 데이터가 저장되는 비휘발성 메모리 셀들의 블록이다. 본 발명의 메모리 코어(40)는 메모리 셀과 페이지 버퍼 그리고 데이터 버스들을 포함하는 낸드 플래시 메모리를 통칭한다. 본 발명의 호스트에서 인가하는 플래시 어드레스는 플래시 블록 어드레스(FBA)와 플래시 페이지 어드레스(FPA)와 플래시 섹터 어드레스(FSA) 등을 포함한다. 만일 듀얼 플래시인 경우에는 플래시 선택 어드레스(DFS)도 추가될 수 있다. 상술한 플래시 어드레스로 플래시 인터페이스(30)가 액세스하여 입력되는 데이터가 프로그램되거나, 플래시 어드레스에 해당하는 저장 데이터가 버퍼램(20)으로 로드될 수 있다.
선택회로(50)는 어드레스 생성회로(60)로부터 출력되는 호스트 액세스 어드레스(ADD_0, ADD_1)와 플래시 액세스 어드레스(ADD_2)를 버퍼램으로 공급한다. 오토 듀얼 버퍼링 모드의 동작이 아닌 경우에는 호스트에서 직접 호스트 인터페이스 (10)가 액세스할 버퍼램의 어드레스인 ADD_0가 선택된다. 오토 듀얼 버퍼링 모드에서는 호스트가 액세스할 버퍼램(20)의 어드레스는 ADD_1이 선택된다. 플래시 인터페이스(30)가 데이터램으로 액세스할 경우에는 ADD_2가 선택되어 버퍼 어드레스(Buff_ADD)로 공급된다. 상술한 바와 같은 선택회로(50)의 버퍼 어드레스 선택은 호스트 인터페이스(10)로부터의 제어신호를 통해서 구현될 수 있다. 혹은 플래시 인터페이스(30)에서 각 데이터램의 로드 여부나 전송 여부에 따라 선택되어 질 수 있다. 선택회로(50)의 어드레스 선택동작은 멀티플렉서와 같은 논리 회로나 스위치 회로를 통해서 구현될 수 있음은 이 분야에서 통상의 지식을 습득한 자들에게는 자명하다.
어드레스 생성회로(60)는 호스트 인터페이스(10)의 버퍼램(20)으로의 액세스를 위한 ADD_0, ADD_1과 플래시 인터페이스(30)의 버퍼램(20)으로의 액세스를 위한 ADD_2를 각각 생성하는 회로이다. 오토 듀얼 버퍼링 동작이 아닌 일반 듀얼 버퍼링 모드에서는 호스트에서 입력되는 어드레스(HI_ADD)에 의해 호스트 인터페이스(10)의 버퍼램 액세스 어드레스(ADD_0)가 생성될 수 있다. 오토 듀얼 버퍼링 모드에서는 호스트 인터페이스(10)가 버퍼램(20)과의 데이터 전송상태를 감지하여 어드레스 생성회로(60)로 전달하는 호스트 플래그 신호(HEND1, HEND2)와 최초 입력된 버퍼 섹터 어드레스(BSA)를 참조하여 ADD_1이 생성된다. 마찬가지로 플래시 인터페이스(30)가 버퍼램(20)으로 액세스하기 위한 버퍼램 액세스 어드레스(ADD_2)는 레지스터에 저장된 버퍼 섹터 어드레스 값을 기초로 생성하게 된다. 본 발명의 어드레스 생성회로(60)는 본 발명의 사상을 현저히 표현하기 위해서 별도의 장치블록으로 표 현하였다. 그러나 그 구성요소는 호스트 인터페이스(10)나 플래시 인터페이스(30)에 포함되어도 무방하다. 어드레스 생성회로(60)에 대한 설명은 후술하게 되는 도 3에서 더욱 상세하게 설명하기로 한다.
레지스터(70)는 원낸드 플래시 메모리 장치로 입력되는 어드레스, 명령어, 설정(Configuration)정보, 인터럽트 상태 정보 등이 저장된다. 듀얼 버퍼링 동작을 위한 레지스터의 설정으로는 버퍼 섹터 어드레스(BSA, BSC)가 있다. 플래시 인터페이스(30)나 기타 제어부(도면에서 생략)가 이를 참조하여 메모리 장치의 내부 제어를 구현하도록 한다. 본 발명의 오토 듀얼 버퍼링을 지원하기 위한 제반 설정들은 부팅시에 주로 이루어진다. 또는 일반 모드로 사용중에 레지스터를 재설정하여 오토 듀얼 모드로 전환할 수 있다. 플래시 인터페이스(30)가 버퍼램(20)으로의 액세스시 필요한 버퍼램 어드레스를 생성하기 위한 버퍼 섹터 어드레스(BSA, BSC)가 호스트로부터 입력되어 저장된다. 표 1은 각 데이터램 당 4개의 섹터를 가진 버퍼램에 대한 버퍼 섹터 어드레스(BSA)의 일 예를 설명하기 위한 표이다.
데이터램 | 섹터(Sector) | BSA(Buffer Sector Address) |
DataRAM1 | DataRAM1_0 | 1000 |
DataRAM1_1 | 1001 | |
DataRAM1_2 | 1010 | |
DataRAM1_3 | 1011 | |
DataRAM2 | DataRAM2_0 | 1100 |
DataRAM2_1 | 1101 | |
DataRAM2_2 | 1110 | |
DataRAM2_3 | 1111 |
상술한 표 1을 참조하면, 버퍼 섹터 어드레스(이하 BSA)는 4비트로 구성되어 있음을 알 수 있다. BSA의 4비트 중 전반부 두 비트는 데이터램을 지정하는 어드레스이다. 데이터램1을 지정하는 어드레스는 [10], 데이터램2를 지정하는 어드레스는 [11]에 해당한다. BSA의 후반부 두 비트는 섹터를 지시하는 어드레스이다. 각 데이터램 당 4개의 섹터를 구비하고 있다. 레지스터에 지정된 BSA는 초기에 플래시 인터페이스가 액세스할 시작 어드레스를 의미한다.
표 2는 버퍼 섹터 카운터(이하 BSC)에 대해 설명하기 위한 간략한 표이다.
BSC | 섹터 개수 |
01 | 1 |
10 | 2 |
11 | 3 |
00 | 4 |
BSC는 플래시 인터페이스(30)가 액세스하는 버퍼램(20)의 섹터 수를 지시하는 레지스터 데이터이다. 다시 말해 한 번의 액세스에 허용되는 데이터 용량을 제한한다. 일반적으로 4개의 섹터가 모두 사용되도록 디폴트값이 [00]으로 설정되지만, 호스트에서 필요에 따라 크기를 한정할 수 있다. 본 발명에서는 하나의 데이터램에 포함된 모든 섹터들이 로드되도록 디폴트 상태로 BSC가 설정된 것으로 간주한다.
이상의 구성에서 본 발명은 레지스터(70)에 설정되는 BSA에 따라서 플래시 인터페이스(30)가 버퍼램(20)으로의 액세스하는 방식이 설명되었다. 본 발명은 최초 한 번의 BSA입력으로 호스트 인터페이스(10)가 버퍼램(20)의 로드 상태를 감지하여 BSA의 데이터램을 지시하는 어드레스(데이터램1인지 데이터램2인지)를 전환하도록 하였다. 호스트에서 매 명령어 입력시마다 BSA를 입력하지 않아도 내부적으로 호스트 인터페이스(10)가 플래시 인터페이스(30)로부터 플래시 플래그 신호(TEND1, TEND2)를 입력받아 최초 입력된 BSA의 데이터램 지시 비트만을 전환하도록 구성하였다. 더불어, 호스트 인터페이스(10)는 버퍼램(20)과 호스트 측으로의 데이터 전송상태를 감지하여 생성된 호스트 플래그 신호(HEND1, HEND2)와 레지스터에 설정된 BSA를 기초로 호스트 인터페이스(10)가 액세스할 버퍼 어드레스(ADD_1)를 생성하도록 하였다. 이러한 구성을 통해서 호스트에서는 최초로 한 번의 BSA, BSC입력만으로도 이후에는 매 로드 명령어에 동기되어 메모리 자체적으로 버퍼 어드레스가 생성되는 오토 듀얼 버퍼링 동작이 이루어지게 된다.
도 3은 도 2의 버퍼 어드레스 생성회로(60)의 구체적 구성을 설명하기 위한 블록도이다. 도 3을 참조하면, 본 발명의 어드레스 생성회로(60)는 호스트 인터페이스(10)가 버퍼램(20)에 액세스하기 위한 어드레스를 생성하는 제 1 어드레스 생성기(61) 및 제 2 어드레스 생성기(62)와, 플래시 인터페이스가 액세스할 버퍼램의 어드레스를 생성하는 제 3 어드레스 생성기(63)를 포함한다.
제 1 어드레스 생성기(61)는 일반 듀얼 버퍼링 모드에서 호스트에서 입력한 어드레스(HI_ADD)를 디코딩하여 호스트 인터페이스(10)가 버퍼램(20)으로의 액세스를 위한 어드레스(ADD_0)의 생성기이다. 일반 듀얼 버퍼링 모드에서는 버퍼램(20)에 로드된 데이터를 호스트로 전송하기 위해서는 매 액세스시 일일이 호스트에서 HI_ADD를 입력해야 한다.
제 2 어드레스 생성기(62)는 호스트 인터페이스(10)가 액세스하는 버퍼램(20)의 어드레스를 생성하는 어드레스(ADD_1)의 발생기이다. 본 발명의 제 2 어드레스 생성기는 특히 호스트 측에서 매 버퍼램(20)으로의 액세스시에 버퍼램(20)의 어드레스를 입력할 필요가 없이 호스트 인터페이스(10)의 제어하에 자체적으로 생성하도록 구성된다. 제 2 어드레스 생성기(62)는 레지스터(70)로부터 읽어들인 버퍼 섹터 어드레스(REG_BSA)를 참조하여 플래시 인터페이스(30)에서 액세스하는 버퍼 어드레스와의 충돌을 피하도록 어드레스가 생성된다. 또한, 데이터램1에 로드된 데이터가 모두 호스트로 전송되면, 호스트 인터페이스(10)는 데이터램1의 모든 데이터가 호스트 측으로 전송되었음을 알리는 호스트 플래그 신호(HEND1)을 출력하게 된다. 그러면 제 2 어드레스 생성기(62)는 호스트 인터페이스(10)가 이후에 액세스할 버퍼 어드레스를 데이터램2로 전환하여 공급한다. 데이터램2에 로드된 모든 데이터가 호스트 측으로 전송되면 호스트 인터페이스(10)는 데이터램2의 데이터가 모두 전송되었음을 알리는 호스트 플래그 신호(HEND2)를 이슈(Issue)하여 제 2 어드레스 생성기(62)로 출력한다. 그러면 제 2 어드레스 생성기(62)는 호스트 인터페이스(10)가 액세스할 버퍼램(20)의 어드레스를 데이터램1으로 전환하는 어드레스를 발생한다. 대용량 데이터의 전송의 경우 이러한 과정을 모든 데이터의 전송이 종료될 때까지 반복하여 호스트 측으로의 오토 듀얼 버퍼링 동작이 고속으로 수행된다.
제 3 어드레스 생성기(62)는 플래시 인터페이스(30)가 액세스하는 버퍼램(20)의 어드레스를 생성하는 어드레스(ADD_2)의 발생기이다. 일반적으로 플래시 인터페이스(30)에서 버퍼램으로의 액세스는 초기에 설정된 레지스터의 버퍼 어드레스(BSA, BSC)에 기초하여 생성된다. 제 3 어드레스 생성기(62)는 플래시 인터페이스(30)가 레지스터(70)로부터 읽은 버퍼 섹터 어드레스(REG_BSA)를 참조하여 버퍼 어드레스(ADD_2)를 생성하여 플래시 인터페이스가 액세스할 데이터램과 섹터를 지정해 준다. 레지스터에 설정되는 버퍼 섹터 어드레스(BSA)에 의해 플래시 인터페이스가 액세스하는 데이터램과 그 섹터가 결정된다.
본 발명의 오토 듀얼 버퍼링 모드에서는 상술한 제 2 어드레스 생성기(62)와 제 3 어드레스 생성기(63)를 호스트 인터페이스(10)에서 제어하는 방식으로 이루어진다. 호스트에서 최초 버퍼 섹터 어드레스(BSA, BSC)를 입력하면, 호스트 인터페이스(10)와 상술한 제 2 어드레스 생성기(62) 및 제 3 어드레스 생성기(63)에 의해 자동으로 듀얼 버퍼링을 위한 버퍼 어드레스가 발생하게 된다. 또한, 플래시 인터페이스(30)로부터 데이터 로드 상태를 알리는 플래시 플래그 신호(TEND1, TEND2)에 응답하여 호스트 인터페이스(10)는 레지스터(70)에 설정되는 버퍼 섹터 어드레스(BSA)를 데이터램1과 데이터램2로 번갈아 전환하여 대용량 데이터의 오토 듀얼 버퍼링이 수행된다.
또한, 본 발명에서는 본 발명의 사상을 현저히 설명하기 위해서 별도의 어드레스 생성회로(60)를 두었으나, 어드레스 생성회로(60)의 위치는 이에 국한되지 않음은 이 분야에서 통상의 지식을 습득한 자들에게는 자명하다. 즉 어드레스 생성회로(60)는 호스트 인터페이스(10)의 내부에 위치할 수도 있다. 또는 어드레스 생성회로(60)는 플래시 인터페이스(30)의 내부에 포함될 수도 있다. 혹은 제 1 어드레스 생성기(61) 및 제 2 어드레스 생성기(62)는 호스트 인터페이스(10)의 내부에, 제 3 어드레스 생성기(63)는 플래시 인터페이스(30)의 내부에 위치할 수도 있다.
도 4는 상술한 도 2의 구성을 통한 대용량 데이터를 로드하는 과정을 설명하기 위한 타이밍도이다. 도 4를 참조하면, 대용량 데이터의 로드과정이 시간 순서별로 도시되었다. 호스트가 호스트 인터페이스(10)로 입력하는 어드레스 및 명령어, 상술한 명령어에 반응하여 셀에서 페이지 버퍼의 데이터 전송시간(tR), 페이지 버퍼에서 버퍼램으로의 전송시간(tT), 버퍼램(20)에서 호스트 측으로의 전송시간(tH), 그리고 인터럽터(INT) 핀과 호스트 인터페이스(10)와 플래시 인터페이스(30)에서 데이터의 전송의 완료 여부에 의해 발생하는 플래그 신호들(HEND1, HEND2, TEND1, TEND2)이 도시되었다.
대용량 데이터를 플래시 메모리 코어(40)로부터 호스트 측으로 로딩하기 위해서는, 먼저 독출 대상이 되는 데이터의 낸드 플래시 메모리 코어(40)의 플래시 시작 어드레스(DFS, FBA, FPA, FSA)를 레지스터에 쓴다. 이후에는 플래시 메모리의 하나의 페이지 혹은 섹터에 해당하는 데이터가 일시 저장될 버퍼램(20)의 시작 어드레스(BSA, BSC)를 레지스터(70)에 입력한다. 이후에는 로드 명령어(Load CMD))와 인터럽트(INT) 'LOW'를 레지스터로 입력한다.
INT핀이 'LOW'로 천이 되면, 플래시 인터페이스(30)는 이에 반응하여 플래시 메모리 코어(40)로부터 플래시 시작 어드레스에 대응하는 데이터를 페이지 버퍼로 로드하게 된다(tR0). 이러한 동작은 플래시 시작 어드레스가 입력될 때마다 이루어진다. 또한, 페이지 버퍼에 이미 로드된 페이지 단위 데이터는 버퍼램(20)으로 전송된다. 도 4의 동작은 최초 BSA가 BSA_1로 입력되어 데이터램1으로 설정되었을 경우로 가정하였다. 따라서, 첫 번째 데이터 로드는 페이지 버퍼로부터 데이터램1(S1)로 tT0 시간 동안 이루어진다. 페이지 버퍼로부터 데이터램1으로 모든 데이터가 전송되면 인터럽트 신호(INT)는 'HIGH'로 천이 된다.
페이지 버퍼로부터 데이터램1(S1)으로의 데이터 로드가 완료되면, 호스트는 INT핀의 상태를 감지하여 연속되는 데이터의 로드를 위해 플래시 시작 어드레스(DFS, FBA, FPA, FSA)와 로드 명령어(Load CMD)를 입력한다. 그러나 이번에는 플래시 인터페이스(30)가 액세스할 버퍼 어드레스를 입력하지 않는다. 또한, 데이터램1(S1)에 로드된 데이터를 호스트로 전송하기 위한 스타트 어드레스(Start Address)도 입력하지 않는다. 플래시 인터페이스(30)가 페이지 버퍼로부터의 데이터를 로드하게 되는 버퍼 어드레스(BSA_2)는 최초 호스트에서 입력한 버퍼 어드레스 BSA_1의 데이터램 지시 비트만을 전환하는 방식으로 상술한 제 3 어드레스 생성기(63)가 공급하게 된다. 또한 tT0(S1) 시간 동안 이미 데이터 로드가 완료된 데이터램1(S1)으로의 호스트 액세스를 위한 스타트 어드레스(Start Address)는 제 2 어드레스 생성기에서 이미 입력된 BSA_1을 참조하여 생성된다. 그러면 호스트 측으로 데이터램1의 로드된 데이터가 tH0(S1)시간동안 전송된다.
플래시 메모리 코어(40)의 페이지 버퍼로부터 버퍼램으로의 데이터 로드가 종료되면(tT1), 플래시 인터페이스는 데이터램2로의 로드 종료를 알리는 플래시 플래그 신호(TEND2)를 생성하여 호스트 인터페이스(10)로 전송한다. 호스트 인터페이스(10)는 플래시 플래그 신호(TEND2)에 응답하여 이후에 플래시 인터페이스(30)가 액세스할 데이터램이 데이터램1이 되도록 BSA_1을 자체적으로 생성하여 레지스터에 입력한다. BSA_1은 마찬가지로 BSA_2 중에서 데이터램 지시비트만을 전환한 버퍼 섹터 어드레스이다. 또한 버퍼램(20)으로부터 호스트로의 로드된 데이터의 전송이 종료되면(tH0), 호스트 인터페이스(10)는 호스트 플래그 신호(HEND1)을 생성하여 어드레스 생성회로(60)로 전송한다. 어드레스 생성회로(60) 내의 제 2 어드레스 생성기는 호스트 플래그 신호를 참조하여 호스트 인터페이스(10)가 액세스할 버퍼램의 주소가 이후에는 데이터램2가 되도록 스타트 어드레스(Start Address)를 생성한다. 이러한 동작의 반복을 통해서 대용량 데이터가 플래시 메모리 코어로부터 버퍼램으로 지속적으로 로드되며, 로드된 버퍼램의 데이터는 또한 지속적으로 호스트 측으로 전송이 가능하다.
상술한 동작들에 의해 플래시 인터페이스(30)의 버퍼램으로의 액세스를 위한 버퍼 어드레스(BSA_1,BSA_2) 및 호스트 인터페이스(10)가 버퍼램으로의 액세스를 위한 스타트 어드레스(Start Address)는 최초의 버퍼 섹터 어드레스(BSA_1)를 참조하여 생성될 수 있음을 알 수 있다. 따라서 호스트는 하나의 대용량 데이터에 대해 최초 한 번의 버퍼 섹터 어드레스(BSA)의 입력만으로도 자체적인 버퍼램으로의 액세스 어드레스가 자동 생성되어, 오토 듀얼 버퍼링 동작이 이루어질 수 있다. 이러한 동작은 대용량 데이터의 독출이나 프로그램이 완료될 때까지 반복된다.
이상에서 데이터의 로드에 관련하여 본 발명의 오토 듀얼 버퍼링 동작을 설명하였으나 본 발명은 로드 동작뿐 아니라 프로그램 동작에서도 동일하게 적용 가능하다. 단지 데이터의 이동 방향에 차이가 있을 수 있으나, 이는 이 분야에서 통상의 지식을 습득한 자라면 용이하게 적용할 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명은 호스트에서 매 액세스마다 버퍼 섹터 어드레스를 입력할 필요가 없기 때문에 칩셋의 부담을 줄이고, 버퍼 섹터 어드레스의 입력에 소요되는 시간의 감소에 따라 데이터 전송속도를 향상할 수 있다.
Claims (27)
- 메모리 코어;상기 메모리 코어와 인터페이싱 하는 제 1 인터페이스;외부와 인터페이싱 하는 제 2 인터페이스;상기 제 1 인터페이스와 상기 제 2 인터페이스에 의해서 액세스 되는 버퍼 메모리;외부로부터의 추가적인 버퍼 어드레스의 입력 없이 최초 입력된 버퍼 섹터 어드레스를 참조하여 상기 제 1 인터페이스가 상기 버퍼 메모리를 액세스하는 제 1 어드레스와 상기 제 2 인터페이스가 상기 버퍼 메모리를 액세스하는 제 2 어드레스를 각각 생성하는 어드레스 생성기를 포함하는 것을 특징으로 하는 메모리 장치.
- 제 1 항에 있어서,상기 버퍼 메모리는 제 1 데이터램과 제 2 데이터램을 포함하는 것을 특징으로 하는 메모리 장치.
- 제 2 항에 있어서,상기 제 1 어드레스와 상기 제 2 어드레스는 각각 제 1 데이터램 혹은 제 2 데이터램을 번갈아 지정하는 것을 특징으로 하는 메모리 장치.
- 제 3 항에 있어서,상기 제 1 어드레스는 상기 제 1 인터페이스가 상기 제 1 데이터램과 상기 제 2 데이터램을 번갈아 액세스하도록 생성되는 것을 특징으로 하는 메모리 장치.
- 제 4 항에 있어서,상기 제 2 어드레스는 상기 제 2 인터페이스가 상기 제 1 데이터램과 상기 제 2 데이터램을 번갈아 액세스하되, 상기 제 1 어드레스와는 서로 다른 제 1 데이터램 또는 제 2 데이터램을 액세스하도록 생성되는 것을 특징으로 하는 메모리 장치.
- 제 1 항에 있어서,상기 메모리 장치는 플래시 메모리 장치인 것을 특징으로 하는 메모리 장치.
- 제 1 항에 있어서,상기 메모리 장치는 원낸드 플래시 메모리 장치인 것을 특징으로 하는 메모리 장치.
- 메모리 코어;상기 메모리 코어와 인터페이싱 하는 제 1 인터페이스;외부와 인터페이싱 하는 제 2 인터페이스;상기 제 1 인터페이스와 상기 제 2 인터페이스에 의해서 액세스 되는 버퍼램;외부로부터의 버퍼 어드레스를 입력받는 레지스터;상기 레지스터에 입력된 최초 버퍼 섹터 어드레스를 참조하여 상기 제 1 인터페이스가 상기 버퍼램을 액세스하기 위한 제 1 어드레스를 생성하는 제 1 어드레스 생성기;상기 레지스터에 입력된 최초 버퍼 섹터 어드레스를 참조하여 상기 제 2 인터페이스가 상기 버퍼램을 액세스하기 위한 제 2 어드레스를 생성하는 제 2 어드레스 생성기; 그리고상기 제 1 어드레스와 상기 제 2 어드레스 중 하나를 선택하여 상기 버퍼램으로 공급하는 어드레스 선택회로를 포함하는 것을 특징으로 하는 메모리 장치.
- 제 8 항에 있어서,상기 버퍼램은 제 1 데이터램과 제 2 데이터램을 포함하는 것을 특징으로 하는 메모리 장치.
- 제 9 항에 있어서,상기 제 1 어드레스는 시간 경과에 따라 상기 제 1 인터페이스가 상기 제 1 데이터램과 상기 제 2 데이터램을 번갈아 액세스하도록 생성되는 것을 특징으로 하는 메모리 장치.
- 제 10 항에 있어서,상기 제 2 어드레스는 상기 제 2 인터페이스가 상기 제 1 데이터램과 상기 제 2 데이터램을 번갈아 액세스하되, 상기 제 1 어드레스와는 서로 다른 제 1 데이터램 또는 제 2 데이터램을 액세스하도록 생성되는 것을 특징으로 하는 메모리 장치.
- 제 8 항에 있어서,상기 어드레스 선택회로는 상기 제 1 인터페이스가 상기 버퍼램으로 액세스하는 경우에는 제 1 어드레스를, 상기 제 2 인터페이스가 상기 버퍼램으로 액세스하는 경우에는 제 2 어드레스를 각각 상기 버퍼램으로 공급하는 것을 특징으로 하는 메모리 장치.
- 제 8 항에 있어서,상기 메모리 장치는 원낸드 플래시 메모리 장치인 것을 특징으로 하는 메모리 장치.
- 호스트 인터페이스와, 플래시 인터페이스와, 상기 호스트 인터페이스와 상기 플래시 인터페이스 간의 전송 데이터를 버퍼링하는 제 1 내지 제 2 버퍼를 포함하는 원낸드 플래시 메모리 장치의 대용량 데이터 독출 방법에 있어서,상기 대용량 데이터가 로드되는 최초 버퍼 섹터 어드레스를 외부로부터 입력받는 단계와;외부로부터 추가적인 버퍼 어드레스의 입력 없이 상기 대용량 데이터의 독출이 종료될 때까지 상기 최초 버퍼 섹터 어드레스(BSA)를 참조하여, 상기 플래시 인터페이스가 액세스할 제 1 버퍼 어드레스와 상기 호스트 인터페이스가 액세스할 제 2 버퍼 어드레스를 지속적으로 생성하는 단계를 포함하는 것을 특징으로 하는 독출 방법.
- 제 14 항에 있어서,상기 최초 버퍼 섹터 어드레스와 상기 제 1 내지 제 2 버퍼 어드레스는 상기 제 1 내지 제 2 버퍼를 지시하는 비트 값을 포함하는 것을 특징으로 하는 독출 방법.
- 제 15 항에 있어서,상기 제 1 버퍼 어드레스는 상기 플래시 인터페이스가 상기 제 1 버퍼와 상기 제 2 버퍼를 번갈아 액세스하여 데이터를 로드하도록 생성되는 것을 특징으로 하는 독출 방법.
- 제 16 항에 있어서,상기 제 2 버퍼 어드레스는 상기 호스트 인터페이스가 상기 제 1 버퍼와 상 기 제 2 버퍼를 번갈아 액세스하여 로드된 상기 데이터를 전송받되, 상기 제 1 버퍼 어드레스와는 서로 다른 제 1 버퍼 또는 제 2 버퍼를 액세스하도록 생성되는 것을 특징으로 하는 독출 방법.
- 제 17 항에 있어서,상기 제 1 버퍼 어드레스는 플래시 인터페이스로부터 상기 데이터의 로드 상태에 따라, 상기 제 2 버퍼 어드레스는 로드된 상기 데이터의 호스트 인터페이스로의 전송 상태에 따라 상기 제 1 버퍼와 제 2 버퍼를 지시하는 상기 비트 값이 전환되는 것을 특징으로 하는 독출 방법.
- 제 14 항에 있어서,상기 대용량 데이터는 제 1 버퍼 혹은 제 2 버퍼의 용량보다 큰 데이터인 것을 특징으로 하는 독출 방법.
- 제 19 항에 있어서,상기 최초 버퍼 섹터 어드레스는 매 대용량 데이터 단위의 독출 시마다 외부로부터 입력받는 것을 특징으로 하는 독출 방법.
- 호스트 인터페이스와, 플래시 인터페이스와, 상기 호스트 인터페이스와 상기 플래시 인터페이스 간의 전송 데이터를 버퍼링하는 제 1 내지 제 2 버퍼를 포함하 는 원낸드 플래시 메모리 장치의 대용량 데이터의 프로그램 방법에 있어서,상기 대용량 데이터가 로드되는 최초 버퍼 섹터 어드레스를 외부로부터 입력받는 단계와;외부로부터 추가적인 버퍼 어드레스의 입력 없이 상기 대용량 데이터의 프로그램이 종료될 때까지 상기 최초 버퍼 섹터 어드레스를 참조하여, 상기 플래시 인터페이스가 액세스할 제 1 버퍼 어드레스와 상기 호스트 인터페이스가 액세스할 제 2 버퍼 어드레스를 지속적으로 생성하는 단계를 포함하는 것을 특징으로 하는 프로그램 방법.
- 제 21 항에 있어서,상기 최초 버퍼 섹터 어드레스와 상기 제 1 내지 제 2 버퍼 어드레스는 상기 제 1 내지 제 2 버퍼를 지시하는 비트 값을 포함하는 것을 특징으로 하는 프로그램 방법.
- 제 22 항에 있어서,상기 제 2 버퍼 어드레스는 상기 호스트 인터페이스가 상기 제 1 버퍼와 상기 제 2 버퍼를 번갈아 액세스하여 데이터를 로드하도록 생성되는 것을 특징으로 하는 프로그램 방법.
- 제 23 항에 있어서,상기 제 1 버퍼 어드레스는 상기 플래시 인터페이스가 상기 제 1 버퍼와 상기 제 2 버퍼를 번갈아 액세스하여 데이터를 전송받되, 상기 제 1 버퍼 어드레스와는 서로 다른 제 1 버퍼 또는 제 2 버퍼를 액세스하도록 생성되는 것을 특징으로 하는 프로그램 방법.
- 제 24 항에 있어서,상기 제 1 버퍼 어드레스는 플래시 인터페이스로의 상기 데이터 전송 상태에 따라, 상기 제 2 버퍼 어드레스는 호스트 인터페이스로부터 제 1 버퍼 내지 제 2 버퍼로의 데이터 로드 상태에 따라 상기 제 1 버퍼와 제 2 버퍼를 지시하는 상기 비트 값이 전환되는 것을 특징으로 하는 프로그램 방법.
- 제 21 항에 있어서,상기 대용량 데이터는 제 1 버퍼 혹은 제 2 버퍼의 용량보다 큰 데이터인 것을 특징으로 하는 프로그램 방법.
- 제 21 항에 있어서,상기 최초 버퍼 섹터 어드레스는 매 대용량 데이터 단위의 프로그램 시 외부로부터 입력받는 것을 특징으로 하는 프로그램 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050069128A KR100648292B1 (ko) | 2005-07-28 | 2005-07-28 | 오토 듀얼 버퍼링 방식의 메모리 장치 |
US11/383,162 US20070028037A1 (en) | 2005-07-28 | 2006-05-12 | Memory system with automatic dual-buffering |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050069128A KR100648292B1 (ko) | 2005-07-28 | 2005-07-28 | 오토 듀얼 버퍼링 방식의 메모리 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100648292B1 true KR100648292B1 (ko) | 2006-11-23 |
Family
ID=37695699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050069128A KR100648292B1 (ko) | 2005-07-28 | 2005-07-28 | 오토 듀얼 버퍼링 방식의 메모리 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070028037A1 (ko) |
KR (1) | KR100648292B1 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100849212B1 (ko) * | 2006-10-12 | 2008-07-31 | 삼성전자주식회사 | 메모리 카드 및 메모리 카드의 구동 프로그램 업데이트방법 |
JP5186112B2 (ja) * | 2007-02-01 | 2013-04-17 | マーベル ワールド トレード リミテッド | 磁気ディスクコントローラおよび方法 |
KR101542878B1 (ko) * | 2009-02-13 | 2015-08-07 | 삼성전자주식회사 | 버퍼램을 포함하는 불휘발성 메모리 장치 및 그것의 부트 코드 관리 방법 |
JP5801158B2 (ja) * | 2011-10-21 | 2015-10-28 | ラピスセミコンダクタ株式会社 | Ram記憶装置 |
RU2475817C1 (ru) * | 2011-12-08 | 2013-02-20 | Учреждение Российской академии наук Научно-исследовательский институт системных исследований РАН (НИИСИ РАН) | Устройство буферизации потоков данных, считываемых из озу |
WO2015199734A1 (en) * | 2014-06-27 | 2015-12-30 | Hewlett-Packard Development Company, Lp | Buffer-based update of state data |
RU185002U1 (ru) * | 2018-06-18 | 2018-11-16 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Тульский государственный университет" | Устройство буферизации потока данных |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4711531B2 (ja) * | 2001-03-23 | 2011-06-29 | ルネサスエレクトロニクス株式会社 | 半導体記憶装置 |
KR100498508B1 (ko) * | 2003-09-16 | 2005-07-01 | 삼성전자주식회사 | 데이터 전송시간을 감소시키는 듀얼 버퍼링(Dualbuffering) 메모리 시스템 및 이에 대한 제어방법 |
-
2005
- 2005-07-28 KR KR1020050069128A patent/KR100648292B1/ko not_active IP Right Cessation
-
2006
- 2006-05-12 US US11/383,162 patent/US20070028037A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20070028037A1 (en) | 2007-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11886754B2 (en) | Apparatuses and methods for configuring I/Os of memory for hybrid memory modules | |
US7411859B2 (en) | Multi-port memory device for buffering between hosts | |
US7212457B2 (en) | Method and apparatus for implementing high speed memory | |
JP4593575B2 (ja) | 埋め込み型コンピュータシステムの各構成部材のための共通化インターフェース | |
JP5430484B2 (ja) | 半導体記憶装置、及びその制御方法 | |
KR100673013B1 (ko) | 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템 | |
KR100758301B1 (ko) | 메모리 카드 및 그것의 데이터 저장 방법 | |
KR100295046B1 (ko) | 개선된싱크로너스디램과로직이하나의칩에병합된반도체장치 | |
US8086767B2 (en) | Pin multiplexing | |
US7725621B2 (en) | Semiconductor device and data transfer method | |
US20070028037A1 (en) | Memory system with automatic dual-buffering | |
JP7576449B2 (ja) | メモリシステム | |
KR20140146469A (ko) | 메모리 제어 시스템 및 이를 이용한 메모리 인터페이스 방법 | |
US6469940B1 (en) | Memory access method and system for writing and reading SDRAM | |
JPH05134973A (ja) | データ転送装置 | |
US11720513B2 (en) | Semiconductor device and method for controlling plural chips | |
KR20080067506A (ko) | 공유 어드레스 포트를 이용하여 메모리 어레이를 액세스할수 있는 메모리 시스템 및 그것의 액세스 방법 | |
US7835218B2 (en) | Semiconductor integrated circuit including bank selection control block | |
US11308010B2 (en) | Memory system having memories of different capacities | |
US11742004B2 (en) | Memory supporting multiple types of operations | |
US12001354B2 (en) | Semiconductor device and method | |
US9128511B2 (en) | Semiconductor device and operation method thereof | |
JP2001229076A (ja) | 半導体装置、半導体装置の設計方法及び半導体装置の動作方法。 | |
JPH0512182A (ja) | ダイレクトメモリアクセス制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20091016 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |