이러한 본 발명의 제 1 목적을 달성하기 위한 본 발명에 따른 데이터 복사 방법은, 외부의 비휘발성 메모리에 저장된 데이터를 데이터 패키지 단위로 지정하는 단계와; 상기 지정된 데이터 패키지 중 어느 하나를 임시 저장 메모리에 오토로딩시켜 상기 임시 저장 메모리에 저장하는 단계; 및 상기 임시 저장 메모리에 저장된 데이터 패키지를 다이렉트 메모리 액세스를 통하여 외부의 휘발성 메모리로 전송하는 동작 및 상기 비휘발성 메모리로부터 다음 데이터 패키지를 오토로딩시켜 상기 임시 저장 메모리에 자동 저장하는 동작을 동시 수행하는 단계를 포함하며, 상기 오토로딩 동작은 레지스터의 설정에 의하여 자동 수행된다.
이때, 상기 동시 수행 단계는 비휘발성 메모리에 지정된 데이터 패키지의 복사가 완료될 때까지 반복 수행된다. 또한, 상기 비휘발성 메모리에 지정된 데이터 패키지 중 마지막 데이터 패키지가 임시 저장 메모리에 저장되면, 상기 마지막 데이터 패키지를 다이렉트 메모리 액세스를 통하여 외부의 휘발성 메모리로 전송한다.
상기 비휘발성 메모리는 낸드 플래시 메모리로 구현된다. 상기 휘발성 메모리는 에스디램으로 구현된다. 또한, 상기 임시 저장 메모리는 에스램으로 구현된다. 상기 데이터 패키지는 상기 임시 저장 메모리의 저장 용량의 1/2 크기를 갖도록 함으로써 상술한 동시 수행 단계가 용이하도록 한다.
삭제
삭제
한편, 본 발명의 제 2 목적을 달성하기 위한 본 발명에 따른 어플리케이션 프로세서는, 임시 저장 메모리와; 외부의 비휘발성 메모리에 저장된 데이터를 데이터 패키지 단위로 리드하여 상기 임시 저장 메모리에 저장하는 오토로딩 동작을 반복 수행하는 비휘발성 메모리 컨트롤러; 및 상기 임시 저장 메모리 및 외부의 휘발성 메모리와 메모리 버스를 통해서 연결되며, 상기 비휘발성 메모리 컨트롤러에 의해서 상기 임시 저장 메모리에 저장된 데이터 패키지가 다이렉트 메모리 액세스를 통해서 상기 외부의 휘발성 메모리로 전송되도록 제어하는 다이렉트 메모리 액세스 제어부를 포함하며, 상기 오토로딩 동작은, 상기 임시 저장 메모리에 저정된 데이터 패키지가 다이렉트 메모리 액세스를 통해서 상기 외부의 휘발성 메모리로 전송되는 동작과 동시에 수행되며, 레지스터의 설정에 의하여 자동 수행된다.
이때, 상기 레지스터에는 상기 데이터 패키지의 크기 설정값, 상기 데이터 패키지의 어드레스 및 상기 오토로딩을 수행하기 위한 일련의 동작 명령 데이터가 저장된다.
상기 비휘발성 메모리 컨트롤러는, 상기 비휘발성 메모리에 상기 데이터 패키지의 리드를 요청하는 데이터 패키지 요청 신호를 인가하고, 상기 데이터 패키지 요청 신호에 응답하여 상기 비휘발성 메모리로부터 전송되는 데이터 패키지를 상기 임시 저장 메모리에 저장한다.
상기 비휘발성 메모리는 낸드 플래시 메모리로 구현된다. 상기 휘발성 메모 리는 에스디램으로 구현된다. 또한, 상기 임시 저장 메모리는 에스램으로 구현된다.
이때, 상기 임시 저장 메모리는 상기 데이터 패키지가 저장된 상태에서 적어도 하나의 다른 데이터 패키지가 저장될 수 있을 만큼의 여유 저장 공간을 갖는다. 바람직하기로는, 상기 임시 저장 메모리는 상기 데이터 패키지의 크기의 2배의 저장 용량을 갖도록 한다.
한편, 상기 비휘발성 메모리 컨트롤러에 의해서 수행되는 오토로딩 동작과 상기 다이렉트 메모리 엑세스를 통한 상기 휘발성 메모리로의 데이터 전송 동작은 상기 임시 저장 메모리에서 동시에 수행된다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다.
도 2는 본 발명의 바람직한 실시예에 따른 데이터 복사 방법을 구현하기 위한 장치의 구성을 나타내는 블록도이다.
도 2를 참조하면, 본 발명의 바람직한 실시예에 따른 데이터 복사 방법을 위해서는, 데이터를 저장하고 있는 비휘발성 메모리인 낸드 플래시 메모리(200)와, 낸드 플래시 메모리(200)의 데이터를 리드하여 고속으로 전송하기 위한 어플리케이션 프로세서(100) 및 어플리케이션 프로세서(100)로부터 출력되는 데이터를 저장하기 위한 휘발성 메모리인 에스디램(300)이 필요하다.
이때, 칩 구성은, 낸드 플래시 메모리(200)를 외장형 메모리로 구성하고, 어 플리케이션 프로세서(100) 및 에스디램(300)은 각각 별도의 칩으로 구성하거나 또는 원(One) 칩으로 구성할 수 있다.
상기 어플리케이션 프로세서(100)는 낸드 플래시 메모리(200)의 데이터를 복사하는 기능 외에도 중앙처리장치(CPU : Central Processing Unit)가 가지는 각종 데이터 변환, 메모리 제어, 버스 제어 등과 같은 다양한 기능을 수행하는 통합컨트롤 칩으로 구성할 수 있는데, 본 실시예에서는 본 발명의 요지인 데이터 복사에 관련된 부분만을 설명하기로 한다.
도 3은 도 2에 도시되어 있는 어플리케이션 프로세서(100)의 구성 및 연결을 도시하는 블록도이다.
도 3을 참조하면, 어플리케이션 프로세서(100)는 낸드 플래시 컨트롤러(NAND Flash Controller)(110)와, 에스램(120), 다이렉트 메모리 액세스 컨트롤러(DMA Controller)(130)로 구성된다. 이때, 에스램(120)과 다이렉트 메모리 액세스 컨트롤러(130) 및 에스디램(300)은 메모리 버스(400)에 접속된다.
낸드 플래시 컨트롤러(110)는 레지스터(111) 세팅에 따라 낸드 플래시 메모리(200)에 저장된 데이터를 데이터 패키지 단위로 읽어들여 에스램(120)에 반복 저장하는 오토로딩 기능을 수행한다.
즉, 낸드 플래시 메모리(200)로 데이터 패키지의 리드를 요청하는 데이터 패키지 리드 요청 신호를 인가하고, 그 신호에 응답하여 낸드 플래시 메모리(200)로부터 전송되는 데이터 패키지를 에스램(120)으로 자동 전송하는 기능을 반복 수행하는 것이다.
이때, 상기 낸드 플래시 컨트롤러(110)의 레지스터(111)에는 데이터 패키지의 크기 설정값, 복사할 데이터 패키지의 어드레스 및 오토로딩를 수행하기 위한 일련의 동작 명령 데이터 등이 저장되며, 상기 오토로딩 기능은 외부의 중앙처리장치(미도시)로부터 데이터 복사 요청 신호가 입력되면 상기 레지스터(111)의 설정에 의해서 자동 수행되게 된다.
에스램(120)은 임시 저장 메모리로서, 낸드 플래시 메모리(200)로부터 전송되는 데이터 패키지를 저장한 뒤, 저장된 데이터 패키지를 다이렉트 메모리 액세스를 통하여 에스디램(300)으로 전송하는 동시에 다음 데이터 패키지를 저장하는 기능을 반복 수행한다.
한편, 상기 데이터 패키지는 다수의 페이지로 이루어지며, 그 크기는 에스램(120)의 저장 용량의 1/2 크기를 갖도록 레지스터(111)에 의해서 설정된다. 본 실시예에서는 에스램(120)의 저장 용량을 4킬로바이트(KByte)로 하고, 데이터 패키지의 크기는 에스램(120) 용량의 1/2인 2킬로바이트로 설정하였다.
이렇게, 데이터 패키지의 크기를 에스램(120)의 크기보다 작게 설정하는 이유는 낸드 플래시 메모리(200)로부터 로딩된 데이터 패키지가 저장된 상태에서 다음 데이터 패키지를 저장하기 위한 여유 공간을 확보함으로써, 저장 및 전송을 동시에 수행할 수 있도록 하기 위함이다.
즉, 에스램(120)에 여유 공간이 존재하면, 저장된 데이터 패키지가 에스디램(300)으로 전송되고 있는 상태에서, 상기 여유 공간을 통하여 다음의 데이터 패키지가 저장될 수 있기 때문이다. 따라서, 데이터 패키지의 저장과 전송이 동시에 수 행된다.
한편, 다이렉트 메모리 액세스 컨트롤러(130)는 데이터 전송 요청 유닛, 즉 에스램(102)으로부터 에스디램(300)으로의 데이터 전송 요청이 들어오면, 에스램(120)에 저장된 데이터 패키지가 에스디램(300)의 해당 번지들에 저장되도록 다이렉트 메모리 액세스 동작을 제어하는 기능을 수행한다. 이때, 상기 데이터 패키지의 각 데이터가 에스디램(300)의 해당 어드레스에 전달될 수 있도록 하기 위해서 단일 명령으로 복수의 어드레스에 데이터를 전송할 수 있는 버스트(Burst) 전송이 수행된다.
이상과 같은 어플리케이션 프로세서(100)를 이용하면, 낸드 플래시 컨트롤러(110)의 레지스터(111) 설정에 의하여 낸드 플래시 메모리(110)에 저장된 데이터가 다수의 페이지로 이루어진 데이터 패키지 단위로 에스램(120)에 오토로딩되고, 다이렉트 메모리 액세스 동작 시에는 데이터 패키지의 저장과 전송이 에스램(120) 내에서 동시에 수행되므로, 데이터의 복사 속도가 향상되고 다이렉트 메모리 액세스에 의한 메모리 버스(400)의 점유가 대폭 줄어들게 된다.
도 4는 본 발명의 바람직한 실시예에 따른 데이터 복사 방법의 흐름을 도시하는 순서도이다.
먼저, 중앙처리장치로부터 데이터 복사 명령 요청이 접수되면, 낸드 플래시 컨트롤러(110)의 레지스터(111)에 설정되어 있는 설정값에 따라 낸드 플래시 메모리(200)에 저장된 데이터들을 데이터 패키지 단위로 지정한다(단계:S1).
이어서, 지정된 데이터 패키지를 하나씩 리드하여 에스램(120)에 저장한다( 단계:S2). 에스램(120)에 저장된 데이터 패키지는 다이렉트 메모리 액세스를 이용하여 에스디램(300)으로 전송하는 동시에, 에스램(120)에 존재하는 여유 저장 공간을 통하여 다음 데이터 패키지를 에스램(120)에 저장한다(단계:S3).
상기 저장 및 전송 과정을 마지막 데이터 패키지가 저장될 때까지 반복하고(단계:S4), 마지막 데이터 패키지가 에스램(120)에 저장되면, 저장된 마지막 데이터 패키지를 다이렉트 메모리 액세스를 통해서 에스디램(300)에 저장함으로써 데이터의 복사는 완료되게 된다(단계:S5).
이와 같은 과정은 이하 설명할 도 5 내지 도 8에 도시된 내용을 토대로 더욱 명확해질 것이다.
도 5는 낸드 플래시 메모리(200)에 저장된 데이터 패키지 중 첫 번째 데이터 패키지가 에스램(120)에 저장되는 첫 번째 오토로딩 과정을 도시하고 있다.
도 5를 참조하면, 먼저 데이터의 복사를 위해서, 낸드 플래시 메모리(200), 낸드 플래시 컨트롤러(110), 에스램(120) 및 에스디램(300)이 구비되어 있고, 낸드 플래시 컨트롤러(110)에는 오토로딩을 위해서 2킬로바이트 단위로 다수의 데이터 패키지가 지정되어 있음을 알 수 있다.
상기 지정된 다수의 데이터 패키지 중 첫 번째 데이터 패키지는 낸드 플래시 컨트롤러(110)의 오토로딩 명령에 의하여, 낸드 플래시 메모리(200)로부터 리드되어 에스램(120)에 저장된다. 이때, 에스램(120)은 그 저장 용량이 4킬로바이트이므로 다음 데이터 패키지를 저장할 수 있는 2킬로바이트의 저장 공간이 존재한다.
도 6은 도 5에서 저장된 첫 번째 데이트 패키지의 다이렉트 메모리 액세스 동작 및 두 번째 데이터 패키지의 오토로딩 과정을 도시하고 있다.
도 6을 참조하면, 앞선 도 5에서 에스램(120)에 저장된 데이터 패키지가 다이렉트 메모리 액세스를 통하여 에스디램(300)으로 저장되고 있으며, 동시에 낸드 플래시 메모리(200)에 저장된 두 번째 데이터 패키지가 에스램(120)에 존재하는 2킬로바이트의 여유 저장 공간에 저장되는 것을 알 수 있다.
따라서, 오토로딩 동작과 다이렉트 메모리 액세스 동작이 동시에 수행되는 도 6에 도시된 과정의 반복 즉, 낸드 플래시 컨트롤러(110)의 레지스터(111)에 설정된 오토로딩 명령에 따라 에스램(120)의 여유 공간에 지속적으로 데이터 패키지가 채워지고, 채워지는 데이터 패키지들은 다이렉트 메모리 액세스 동작을 통해서 에스디램(300)으로 지속적으로 전송되는 과정을 통해서 데이터의 복사가 수행된다.
이는, 커맨드를 인가하여 특정 어드레스의 데이터를 불러들이고 그 불러들인 데이터를 다이렉트 메모리 액세스를 통해서 에스디램에 저장하고, 다시 커맨드를 인가하여 다음 데이터를 불러들이고, 그 불러들인 데이터를 위해서 다시 다이렉트 메모리 액세스를 수행하던 종래에 데이터 복사 방법에 비하여 다이렉트 메모리 액세스를 위한 대기 시간이 대폭 감소된다.
도 7은 낸드 플래시 메모리(200)에 저장된 마지막 데이터 패키지의 오토로딩이 수행되는 과정을 도시하고 있다.
도 7을 참조하면, 지정된 마지막 데이터 패키지가 낸드 플래시 컨트롤러(110)에 의하여 에스램(120)의 여유 공간에 저장되며, 동시에 직전 데이터 패키지가 에스디램(300)으로 전송되고 있음을 알 수 있다. 따라서, 에스디램(300)에 할당 되어 있는 낸드 플래시 데이터의 복사 영역에는 하나의 데이터 패키지에 해당하는 공간이 비워져 있다.
도 8은 에스램(120)에 저장된 마지막 데이터 패키지가 다이렉트 메모리 액세스 동작에 의해서 에스디램(300)으로 전송됨으로써 데이터 복사가 완료되는 과정을 도시하고 있다.
도 8을 참조하면, 도 7에 도시된 오토로딩 동작을 통해서 에스램(120)에 저장된 마지막 데이터 패키지가 다이렉트 메모리 액세스에 의해서 에스디램(300)에 저장되고 있는 것을 알 수 있다.
표 1은 본 발명에 따른 데이터 복사 방법을 종래의 폴링 방법 및 종래의 다이렉트 메모리 액세스를 이용한 방법과 비교한 도표로서, K9S1208(64MB, ×8)의 사양을 갖는 낸드 플래시 메모리에 저장된 29.98메가바이트(MByte)의 파일을 135메가헤르쯔(MHz)의 시스템 사양을 가지고 데이터 복사를 수행하였을 경우의 소요 시간을 각각 나타내고 있다.
전송방식 |
폴링(S/W) |
DMA(종래) |
Autoloading & DMA |
시간 |
14,4 sec |
5.3 sec |
2.96 sec |
표 1에 나타내었듯이, 파일의 복사를 위해서 종래의 폴링 방식은 14.4초가 소요되었으며, 종래의 다이렉트 메모리 액세스를 통한 방법은 5.3초가 소요되었다. 이에 비해서, 본 발명에 따라 오토로딩과 다이렉트 메모리 액세스를 병행한 경우에 는 2.96초로 그 처리 시간이 단축되었다.
이러한 데이터 복사 시간의 단축뿐만 아니라, 다이렉트 메모리 액세스 시의 대기 시간이 해소되기 때문에, 대기 시간 동안 사용하지 못하던 메모리 버스를 다른 회로의 동작에 사용할 수 있게 된다.
이상 본 발명에 대하여 그 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시켜 실시할 수 있음을 이해할 수 있을 것이다.
특히, 상술한 실시예에서는 데이터를 제공하는 비휘발성 메모리를 낸드 플래시 메모리(200)로, 임시 저장 메모리를 에스램(120)으로, 데이터가 복사되어 저장되는 휘발성 메모리를 에스디램(300)으로 설명하였으나, 실시 환경에 따라 상기 기술된 낸드 플래시 메모리(200), 에스램(120), 에스디램(300) 등은 이들과 균등한 요소로 대체할 수 있음은 자명한 사항일 것이다.
따라서, 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.