KR100590150B1 - 메모리 관리 테이블 작성 방법 및 메모리 장치 - Google Patents

메모리 관리 테이블 작성 방법 및 메모리 장치 Download PDF

Info

Publication number
KR100590150B1
KR100590150B1 KR1020017003078A KR20017003078A KR100590150B1 KR 100590150 B1 KR100590150 B1 KR 100590150B1 KR 1020017003078 A KR1020017003078 A KR 1020017003078A KR 20017003078 A KR20017003078 A KR 20017003078A KR 100590150 B1 KR100590150 B1 KR 100590150B1
Authority
KR
South Korea
Prior art keywords
memory
management table
memory management
logical address
creation
Prior art date
Application number
KR1020017003078A
Other languages
English (en)
Other versions
KR20010086400A (ko
Inventor
소고 시바자끼
나가세다께시
Original Assignee
후지쯔 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후지쯔 가부시끼가이샤 filed Critical 후지쯔 가부시끼가이샤
Publication of KR20010086400A publication Critical patent/KR20010086400A/ko
Application granted granted Critical
Publication of KR100590150B1 publication Critical patent/KR100590150B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 전원 차단 시에도 데이터를 보유하는 기능을 갖는 메모리를 관리 대상으로 하여, 호스트가 발행하는 논리 어드레스가 가리키는 데이터의 저장처가 되는 메모리 영역의 식별자 정보를 관리하는 메모리 관리 테이블의 작성 처리를 담당하는 메모리 관리 테이블 작성 방법에 관한 것으로, 초기 설정을 행한 후, 메모리 관리 테이블을 작성하지 않고 즉시, 호스트 장치에 비지 해제를 통지하거나, 메모리 관리 테이블의 일부분만을 작성하여 호스트 장치에 비지 해제를 통지하고, 그 후, 호스트 장치가 처리 요구를 발행할 때까지의 동안 메모리 관리 테이블의 미작성 부분을 작성하거나, 호스트 장치가 처리 요구를 발행할 때 그 처리 요구로 지정되는 논리 어드레스가 가리키는 메모리 관리 테이블의 미작성 부분을 작성함으로써 메모리 관리 테이블을 작성하도록 구성한다.
메모리 관리 테이블, 논리 어드레스, 호스트 장치, CPU, 메모리 장치

Description

메모리 관리 테이블 작성 방법 및 메모리 장치{METHOD FOR MAKING MEMORY MANAGEMENT TABLE AND MEMORY DEVICE}
본 발명은 전원 차단 시에도 데이터를 보유하는 기능을 갖는 메모리를 관리 대상으로 하여, 호스트가 발행하는 논리 어드레스가 가리키는 데이터의 저장처가 되는 메모리 영역의 식별자 정보를 관리하는 메모리 관리 테이블의 작성 처리를 담당하는 메모리 관리 테이블 작성 방법과, 그 메모리 관리 테이블 작성 방법을 실장하는 메모리 장치에 관한 것으로, 특히 메모리 장치의 구동 시간의 단축을 실현함과 함께, 그에 따라 시스템이 확실하게 정상 동작으로 들어가는 것을 실현하는 메모리 관리 테이블 작성 방법과, 그 메모리 관리 테이블 작성 방법을 실장하는 메모리 장치에 관한 것이다.
플래시 메모리나 FRAM이나 EEPROM과 같은 불휘발성 메모리나 배터리로 백업된 RAM 등의 메모리를, 메모리 카드 등에 탑재하는 경우에는 호스트가 발행하는 액세스 요구를 처리하기 위해 어떤 논리 어드레스의 데이터가 어떤 물리 어드레스에 저장되어 있는 것인지를 관리하는 메모리 관리 테이블을 작성해 갈 필요가 있다.
플래시 메모리를 구체 예로 들어 설명하면, 플래시 메모리는 도 1에 도시한 바와 같이, 데이터 소거의 단위가 되는, 예를 들면 512개의 블록으로 분할되어 있 으며, 그리고 이들 각 블록은 데이터의 저장 단위가 되는, 예를 들면 8개의 섹터를 가지고 있다. 각 섹터에 저장되는 데이터(예를 들면 512 바이트로 구성됨)에는 도 2에 도시한 바와 같이, 호스트가 발행한 논리 어드레스가 부가되어 있으며, 1개의 블록에 저장되는 데이터에는 전부 동일한 논리 어드레스가 부가되어 있다.
메모리 관리 테이블은 이 논리 어드레스와 블록 번호와의 대응 관계를 관리함으로써 논리 어드레스에서 물리 어드레스로의 변환 처리를 실행하기 위해 준비되는 것으로, 플래시 메모리가 4개 탑재되는 경우를 구체 예로서 설명하면, 도 3이나 도 4에 도시한 바와 같은 데이터 구조를 갖는다.
도 3에 도시한 메모리 관리 테이블에 대하여 구체적으로 설명하면, 이 메모리 관리 테이블은 논리 어드레스 0, 4 …를 갖는 데이터는 칩 번호 0의 플래시 메모리에 저장되고, 논리 어드레스 1, 5 …를 갖는 데이터는 칩 번호 1의 플래시 메모리에 저장되며, 논리 어드레스 2, 6 …을 갖는 데이터는 칩 번호 2의 플래시 메모리에 저장되고, 논리 어드레스 3, 7 …을 갖는 데이터는 칩 번호 3의 플래시 메모리에 저장된다는 규약을 전제로 하여 작성되어 있으며, 칩 번호 0의 플래시 메모리에 대응되는 테이블 부분에서 논리 어드레스 0의 저장처 블록 번호, 논리 어드레스 4의 저장처 블록 번호 …를 관리하여, 칩 번호 1의 플래시 메모리에 대응되는 테이블 부분에서 논리 어드레스 1의 저장처 블록 번호, 논리 어드레스 5의 저장처 블록 번호 …를 관리하고, 칩 번호 2의 플래시 메모리에 대응되는 테이블 부분에서 논리 어드레스 2의 저장처 블록 번호, 논리 어드레스 6의 저장처 블록 번호, …를 관리하며, 칩 번호 3의 플래시 메모리에 대응되는 테이블 부분에서 논리 어드레스 3의 저장처 블록 번호, 논리 어드레스 7의 저장처 블록 번호 …를 관리한다고 하는 데이터 구조를 가지고 있다.
이러한 데이터 구조를 갖는 메모리 관리 테이블에 따라 호스트로부터 논리 어드레스를 지정하여 액세스 요구가 발행되면, 그 논리 어드레스가 가리키는 칩 번호 및 블록 번호를 특정함으로써 액세스처가 되는 물리 어드레스를 구할 수 있게 된다.
이 메모리 관리 테이블은 플래시 메모리의 블록에 순번대로 액세스하여, 데이터가 저장되어 있는 블록의 블록 번호를 검출함과 함께 그 데이터에 부가되어 있는 논리 어드레스를 검출하여, 그 논리 어드레스가 가리키는 메모리 관리 테이블의 엔트리에 검출된 블록 번호를 저장해감으로써 생성되게 된다.
종래의 메모리 카드 등에서는 불휘발성 메모리나 배터리로 백업된 메모리를 탑재하는 경우, 메모리에 전원을 투입함으로써 메모리를 상승시킬 때 내부 레지스터에 초기치를 설정함으로써 초기 설정을 행하면, 그것에 계속하여 메모리를 액세스함으로써 이 메모리 관리 테이블을 작성한다고 하는 구성을 채용하고 있다.
그리고, 이 메모리 관리 테이블의 작성을 완료한 시점에서 호스트로 비지 해제를 통지함으로써 호스트에 대하여 처리 요구를 허가해 간다고 하는 구성을 채용하고 있었다.
그러나, 종래 기술과 같이, 메모리를 상승시킬 때 메모리 관리 테이블의 작성을 완료시키고 나서 호스트로 비지 해제를 통지한다고 하는 구성을 채용하고 있으면, 메모리 관리 테이블이 완성되기까지 시간이 걸리기 때문에 호스트는 좀처럼 처리에 들어갈 수 없다는 문제점이 있었다.
그리고, 호스트는 액세스처의 메모리 카드 등이 좀처럼 구동되지 않음으로써 메모리 카드 등에 에러가 발생되었다고 오인식해버리는 문제점이 있었다.
〈발명의 개시〉
본 발명은 전원 차단 시에도 데이터를 보유하는 기능을 갖는 메모리를 관리 대상으로 하여, 호스트가 발행하는 논리 어드레스가 가리키는 데이터의 저장처가 되는 메모리 영역의 식별자 정보를 관리하는 메모리 관리 테이블의 작성 처리를 담당할 때에 있어서, 메모리 장치의 구동 시간의 단축을 실현함과 함께, 그에 따라 시스템이 확실하게 정상 동작에 들어가는 것을 실현하는 새로운 메모리 관리 테이블 작성 방법의 제공과, 그 메모리 관리 테이블 작성 방법을 실장하는 새로운 메모리 장치의 제공을 총괄적인 목적으로 한다.
이 목적을 달성하기 위해 본 발명은 전원 차단 시에도 데이터를 보유하는 기능을 갖는 1개 또는 복수의 메모리를 관리 대상으로 하여, 호스트가 발행하는 논리 어드레스가 가리키는 데이터의 저장처가 되는 메모리 영역의 식별자 정보를 관리하는 메모리 관리 테이블의 작성 처리를 담당하는 메모리 관리 테이블 작성 방법에 있어서,
호스트에 대하여 비지 해제를 통지한 후, 메모리 관리 테이블의 미작성 부분의 작성에 들어가고, 호스트로부터 처리 요구가 발행되기까지의 동안, 상기 메모리 영역을 단위로 하여 상기 메모리를 액세스함으로써 상기 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하며, 그 취득된 논리 어드레스와, 액세스한 상기 메모리 영역의 식별자 정보로부터 메모리 관리 테이블의 미작성 부분을 작성하여 처리하도록 구성된다.
이러한 메모리 관리 테이블 작성 방법에 따르면, 호스트 장치는 메모리 장치가 기동된 후, 신속하게 처리에 들어 갈 수 있어 메모리 장치의 구동 시간을 단축시킬 수 있다.
본 발명의 다른 목적, 특징 및 이점은 첨부의 도면을 참조하여 이하의 상세한 설명에 따라 한층 명료해질 것이다.
도 1은 플래시 메모리의 설명도이다.
도 2는 플래시 메모리의 설명도이다.
도 3은 메모리 관리 테이블의 설명도이다.
도 4는 메모리 관리 테이블의 설명도이다.
도 5는 본 발명의 원리 구성도이다.
도 6은 메모리 카드의 설명도이다.
도 7은 데이터 저장 관리 테이블의 설명도이다.
도 8은 메모리 관리 테이블의 설명도이다.
도 9는 메모리 관리 테이블의 작성 처리의 처리 플로우이다.
도 10은 메모리 관리 테이블의 작성 처리의 처리 플로우이다.
도 11은 메모리 관리 테이블의 작성 처리의 처리 플로우이다.
도 12는 메모리 관리 테이블의 작성 처리의 처리 플로우이다.
도 13A 및 13B는 메모리 관리 테이블의 작성 중단 처리의 설명도이다.
도 14는 메모리 관리 테이블의 작성 처리의 처리 플로우이다.
도 15는 메모리 관리 테이블의 작성 처리의 설명도이다.
도 16은 메모리 관리 테이블의 작성 처리의 처리 플로우이다.
도 17은 메모리 관리 테이블의 작성 처리의 처리 플로우이다.
도 18은 메모리 관리 테이블의 작성 처리의 설명도이다.
도 19는 메모리 관리 테이블의 작성 처리의 처리 플로우이다.
도 20은 메모리 관리 테이블의 작성 처리의 처리 플로우이다.
도 21은 메모리 관리 테이블의 작성 처리의 설명도이다.
도 22는 메모리 관리 테이블의 작성 처리의 처리 플로우이다.
도 23은 메모리 관리 테이블의 작성 처리의 처리 플로우이다.
도 24는 메모리 관리 테이블의 작성 처리의 처리 플로우이다.
도 25는 메모리 관리 테이블의 작성 처리의 처리 플로우이다.
도 26은 메모리 관리 테이블의 작성 처리의 설명도이다.
<발명을 실시하기 위한 최량의 형태>
이하, 본 발명의 실시예를 도면에 기초하여 설명한다.
도 5에 본 발명의 원리 구성을 나타낸다.
도 5 중 참조 번호(1)는 본 발명을 포함하는 메모리 장치로서, 전원 차단 시에도 데이터를 보유하는 기능을 갖는 1개 또는 복수의 메모리(10)와, 호스트 장치(2)가 발행하는 처리 요구를 수취하는 CPU(11)와, CPU(11)의 지시에 응답하여 메모리 제어의 커맨드를 발행함으로써 메모리(10)를 제어하는 컨트롤러(12)와, 메모리(10)와 CPU(11)와 컨트롤러(12) 사이를 접속하는 버스(13)를 구비하는 것, 참조 번호(2)는 호스트 장치로서, 메모리 장치(1)에 대하여 처리 요구를 발행하는 것이다.
참조 번호(14)는 메모리 관리 테이블로서, 예를 들면 CPU(11)에 전개되어 호스트 장치(2)가 발행하는 논리 어드레스가 가리키는 데이터의 저장처가 되는 메모리 영역의 식별자 정보를 관리하는 것, 참조 번호(15)는 작성 수단으로서, CPU(11) 상에서 동작하여 메모리 관리 테이블(14)을 작성하는 것, 참조 번호(16)는 검출 수단으로서, CPU(11) 상에서 동작하여 호스트 장치(2)로부터 처리 요구가 발행되었는지의 여부를 검출하는 것, 참조 번호(17)는 통지 수단으로서, 호스트 장치(2)에 대하여 비지 상태의 해제를 통지하는 것이다.
이와 같이 구성되는 본 발명의 메모리 장치(1)에서는 전원이 투입되어 초기 설정이 종료되면, 통지 수단(17)은 즉시, 호스트 장치(2)에 대하여 비지 상태의 해제를 통지하고, 그에 계속하여 작성 수단(15)은 메모리 관리 테이블(14)의 작성에 들어가 호스트 장치(2)로부터 처리 요구가 발행되기까지의 동안, 메모리 영역을 단위로 하여 메모리(10)를 액세스함으로써 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하며, 그 취득된 논리 어드레스와, 액세스한 메모리 영역의 식별자 정보로부터 메모리 관리 테이블(14)을 작성해 간다.
그리고, 메모리 관리 테이블(14)에 미작성 부분이 남아 있을 때는, 그 후 작성 수단(15)은 호스트 장치(2)가 발행하는 처리 요구에 대한 처리를 종료함으로써 호스트 장치(2)에 대하여 비지 해제를 통지한 후, 다음의 처리 요구가 발행되기까지의 동안, 메모리 관리 테이블(14)의 미작성 부분을 작성해가거나 호스트 장치(2)의 처리 요구가 발행될 때, 그 처리 요구로 지정되는 논리 어드레스가 할당된 메모리(10)를 액세스함으로써 메모리 관리 테이블(14)의 미작성 부분을 작성해 간다.
또한, 이와 같이 구성되는 본 발명의 메모리 장치(1)에서는 전원이 투입되어 초기 설정이 종료되면, 작성 수단(15)은 메모리 관리 테이블(14)의 일부분의 작성에 들어가 메모리 영역을 단위로 하여 메모리(10)를 액세스함으로써 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하며, 그 취득된 논리 어드레스와, 액세스한 메모리 영역의 식별자 정보로 메모리 관리 테이블(14)의 일부분을 작성한다. 이 때, 작성 수단(15)은 액세스하는 메모리 영역의 수에 제한을 가함으로써 작성하는 메모리 관리 테이블 부분을 결정하거나 액세스하는 시간에 제한을 가함으로써 작성하는 메모리 관리 테이블 부분을 결정해 간다.
작성 수단(15)이 메모리 관리 테이블(14)의 일부분을 작성하면, 통지 수단(17)은 호스트 장치(2)에 대하여 비지 상태의 해제를 통지하고, 그것에 계속하여 작성 수단(15)은 메모리 관리 테이블(14)의 남은 부분의 작성에 들어가, 호스트 장치(2)가 처리 요구를 발행하기까지의 동안, 메모리 영역을 단위로 하여 메모리(10)를 액세스함으로써 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하며, 그 취득된 논리 어드레스와, 액세스한 메모리 영역의 식별자 정보로부터 메모리 관리 테이블(14)을 작성해 간다.
그리고, 메모리 관리 테이블(14)에 미작성 부분이 남아 있을 때는 그 후, 작 성 수단(15)은 호스트 장치(2)가 발행하는 처리 요구에 대한 처리를 종료함으로써 호스트 장치(2)에 대하여 비지 해제를 통지한 후, 다음의 처리 요구가 발행되기까지의 동안, 메모리 관리 테이블(14)의 미작성 부분을 작성해 가거나 호스트 장치(2)의 처리 요구가 발행될 때 그 처리 요구로 지정되는 논리 어드레스가 할당된 메모리(10)를 액세스함으로써 메모리 관리 테이블(14)의 미작성 부분을 작성해 간다.
또한, 이와 같이 구성되는 본 발명의 메모리 장치(1)에서는 전원이 투입되어 초기 설정이 종료하면, 통지 수단(17)은 즉시 호스트 장치(2)에 대하여 비지 상태의 해제를 통지하고, 그 후 작성 수단(15)은 호스트 장치(2)로부터 처리 요구가 발행될 때 메모리 관리 테이블(14)의 미작성 부분의 작성에 들어가 메모리 영역을 단위로 하여, 그 처리 요구로 지정되는 논리 어드레스가 할당된 메모리(10)를 액세스함으로써 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하며, 그 취득된 논리 어드레스와, 액세스한 메모리 영역의 식별자 정보로부터 메모리 관리 테이블(14)의 미작성 부분을 작성해 간다.
이 때, 작성 수단(15)은 처리 요구로 지정되는 논리 어드레스가 할당된 메모리(10)가 갖는 모든 메모리 영역으로의 액세스를 종료할 때 메모리 관리 테이블(14)의 미작성 부분의 작성을 중단하거나 처리 요구로 지정되는 논리 어드레스를 갖는 메모리 영역으로의 액세스를 검출할 때 메모리 관리 테이블(14)의 미작성 부분의 작성을 중단하거나 처리 요구로 지정되는 논리 어드레스를 갖는 메모리 영역으로의 액세스를 검출한 후, 액세스하는 메모리 영역의 수에 제한을 가함으로 써 메모리 관리 테이블(14)의 미작성 부분의 작성을 중단하거나 처리 요구로 지정되는 논리 어드레스를 갖는 메모리 영역으로의 액세스를 검출한 후, 액세스하는 시간에 제한을 가함으로써 메모리 관리 테이블(14)의 미작성 부분의 작성을 중단해 간다.
또한, 이와 같이 구성되는 본 발명의 메모리 장치(1)에서는 전원이 투입되어 초기 설정이 종료되면, 작성 수단(15)은 메모리 관리 테이블(14)의 일부분의 작성에 들어가 메모리 영역을 단위로 하여 메모리(10)를 액세스함으로써 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하며, 그 취득된 논리 어드레스와, 액세스한 메모리 영역의 식별자 정보로부터 메모리 관리 테이블(14)의 일부분을 작성한다. 이 때, 작성 수단(15)은 액세스하는 메모리 영역의 수에 제한을 가함으로써 작성하는 메모리 관리 테이블 부분을 결정하거나 액세스하는 시간에 제한을 가함으로써 작성하는 메모리 관리 테이블 부분을 결정해 간다.
작성 수단(15)이 메모리 관리 테이블(14)의 일부분을 작성하면, 통지 수단(17)은 호스트 장치(2)에 대하여 비지 상태의 해제를 통지하고, 그 후, 작성 수단(15)은 호스트 장치(2)로부터 처리 요구가 발행될 때 메모리 관리 테이블(14)의 미작성 부분의 작성에 들어가 메모리 영역을 단위로 하여, 그 처리 요구로 지정되는 논리 어드레스가 할당된 메모리(10)를 액세스함으로써 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하며, 그 취득된 논리 어드레스와, 액세스한 메모리 영역의 식별자 정보로부터 메모리 관리 테이블(14)의 미작성 부분을 작성해 간다.
이 때, 작성 수단(15)은 처리 요구로 지정되는 논리 어드레스가 할당된 메모리(10)가 갖는 모든 메모리 영역으로의 액세스를 종료할 때, 메모리 관리 테이블(14)의 미작성 부분의 작성을 중단하거나 처리 요구로 지정되는 논리 어드레스를 갖는 메모리 영역으로의 액세스를 검출할 때 메모리 관리 테이블(14)의 미작성 부분의 작성을 중단하거나 처리 요구로 지정되는 논리 어드레스를 갖는 메모리 영역으로의 액세스를 검출한 후, 액세스하는 메모리 영역의 수에 제한을 가함으로써 메모리 관리 테이블(14)의 미작성 부분의 작성을 중단하거나 처리 요구로 지정되는 논리 어드레스를 갖는 메모리 영역으로의 액세스를 검출한 후, 액세스하는 시간에 제한을 가함으로써 메모리 관리 테이블(14)의 미작성 부분의 작성을 중단해 간다.
이와 같이, 본 발명의 메모리 장치(1)에서는 종래 기술과 같이, 초기 설정을 행한 후, 메모리 관리 테이블(14)을 완성시키고 나서 호스트 장치(2)에 비지 해제를 통지한다고 하는 구성을 채용하는 것이 아니라, 메모리 관리 테이블(14)을 작성하지 않고 즉시 호스트 장치(2)에 비지 해제를 통지하거나 메모리 관리 테이블(14)의 일부분만을 작성하여 호스트 장치(2)에 비지 해제를 통지하고, 그 후, 호스트 장치(2)가 처리 요구를 발행하기까지의 동안, 메모리 관리 테이블(14)의 미작성 부분을 작성하거나 호스트 장치(2)가 처리 요구가 발행할 때 그 처리 요구로 지정되는 논리 어드레스가 가리키는 메모리 관리 테이블(14)의 미작성 부분을 작성함으로써 메모리 관리 테이블(14)을 작성한다고 하는 구성을 채용하기 때문에 호스트 장치(2)는 메모리 장치(1)가 기동된 후, 신속하게 처리에 들어간다.
그리고, 호스트 장치(2)는 신속하게 메모리 장치(1)가 정상인 것을 인식할 수 있음으로써 메모리 장치(1)에 에러가 발생되었다고 하는 오인식을 일으키지 않고 처리에 들어가게 된다.
도 6에 본 발명이 적용되는 메모리 카드(1a)를 나타낸다.
이 메모리 카드(1a)는 퍼스널 컴퓨터(2a)가 갖는 슬롯에 착탈 가능하게 장착되고, 복수의 플래시 메모리(20: 1개밖에 탑재되지 않지 않은 경우도 있음)를 탑재하여 퍼스널 컴퓨터(2a)가 발행하는 액세스 요구에 응답하고, 이 플래시 메모리(20)로의 액세스 처리를 실행하는 것으로, 이 처리를 실현하기 위해 플래시 메모리(20) 외에, ROM(22) 및 SRAM 영역(23)을 갖는 CPU(21), 플래시 컨트롤러(24), 호스트 컨트롤러(25), 버퍼(26), RAM(27) 등을 구비함과 함께 이들을 접속하는 공통 버스(28)를 구비하고 있다.
이 ROM(22)에는 플래시 메모리(20)로의 액세스를 실현하는 프로그램이 저장되어 있고, CPU(21)는 퍼스널 컴퓨터(2a)가 액세스 요구를 발행할 때, 그 프로그램에 따라 플래시 컨트롤러(24)에 대하여 액세스 지시를 발행함으로써 플래시 메모리(20)로의 액세스를 실행하는 처리를 행한다.
더 상세하게 설명하면, 선두의 플래시 메모리(20)에는 탑재되는 플래시 메모리(20)의 갯수 등의 구성 정보가 저장되어 있으므로, CPU(21)는 메모리 카드(1a)의 기동 시에 ROM(22)에 저장되는 프로그램에 따라 플래시 메모리(20)에 기록되는 1칩당 메모리 용량과 그 구성 정보를 판독함으로써 모든 메모리 용량을 특정하여, 그것을 퍼스널 컴퓨터(2a)에 통지하거나, 통상의 동작 시에 퍼스널 컴퓨터(2a)가 어 드레스를 지정하여 액세스 요구를 발행하면, ROM(22)에 저장되는 프로그램에 따라 그 1칩 당 메모리 용량으로부터 액세스처가 되는 플래시 메모리(20)의 칩 번호를 특정하여, 그 칩 번호가 가리키는 플래시 메모리(20)를 인에이블화하면서 플래시 컨트롤러(24)에 대하여 액세스 지시를 발행함으로써 플래시 메모리(20)로의 액세스를 실행하는 등의 처리를 행한다.
플래시 컨트롤러(24)는 CPU(21)로부터 플래시 메모리(20)에의 액세스 지시가 발행될 때 플래시 메모리(20)에 커맨드를 발행함으로써, 플래시 메모리(20)로의 액세스를 실행한다. 호스트 컨트롤러(25)는 퍼스널 컴퓨터(2a) 간의 인터페이스 처리를 실행한다. 버퍼(26)는 플래시 메모리(20)에 기입하는 데이터나 플래시 메모리(20)로부터 판독한 데이터를 저장한다. RAM(27)은 CPU(21)의 작업용 메모리 등에 이용된다.
CPU(21)가 갖는 SRAM 영역(23)에는, 도 3에 도시한 바와 같은 데이터 구조를 갖는 메모리 관리 테이블[230: 도 5에 도시한 메모리 관리 테이블(14)에 상당함]이 전개됨과 함께 플래시 메모리(20)의 각 블록에 데이터가 저장되어 있는 것인지의 여부를 관리하는 도 7에 도시한 바와 같은 데이터 구조를 갖는 데이터 저장 관리 테이블(231)이 전개되어 있다.
이하 설명의 편의 상, 플래시 메모리(20)로서 도 1 및 도 2에 설명한 것을 상정함과 함께 메모리 관리 테이블(230)로서 도 3에 설명한 것을 상정한다.
즉, 메모리 카드(1a)가 구비하는 플래시 메모리(20)는 도 3에 도시한 바와 같이, 데이터 소거의 단위가 되는 512개의 블록으로 분할되어 있으며, 이들의 각 블록은 데이터의 저장 단위가 되는 8개의 섹터를 가지고 있다. 그리고, 각 섹터는 도 2에 도시한 바와 같이, 528 바이트의 영역을 갖고 있으며, 512 바이트의 데이터와, 그 데이터가 갖는 논리 어드레스를 저장한다.
또한, SRAM 영역(23)에 전개되는 메모리 관리 테이블(230)은 도 3에 도시한 바와 같이, 칩 번호 0의 플래시 메모리에 대응되는 테이블 부분에서 논리 어드레스 0의 저장처 블록 번호, 논리 어드레스 4의 저장처 블록 번호 …를 관리하고, 칩 번호 1의 플래시 메모리에 대응되는 테이블 부분에서 논리 어드레스 1의 저장처 블록 번호, 논리 어드레스 5의 저장처 블록 번호 …를 관리하며, 칩 번호 2의 플래시 메모리에 대응되는 테이블 부분에서 논리 어드레스 2의 저장처 블록 번호, 논리 어드레스 6의 저장처 블록 번호 …를 관리하고, 칩 번호 3의 플래시 메모리에 대응되는 테이블 부분에서 논리 어드레스 3의 저장처 블록 번호, 논리 어드레스 7의 저장처 블록 번호 …를 관리하고 있다.
이 메모리 관리 테이블(230)에 저장되어 있는 관리 데이터는 도 8에 도시한 바와 같이 2 바이트의 영역을 갖고 있으며, 15 비트로 표시되는 블록 번호와, 그 엔트리가 비어 있을 때 "1"을 표시하고, 그 엔트리가 사용 중 혹은 미작성일 때 "0"을 표시하는 최상위 비트(이하, p 비트라 칭함)를 저장한다.
여기서, 이 p 비트가 "0"이고, 그 엔트리가 사용 중일 때는 그 엔트리에 정규의 블록 번호가 등록되게 되지만, 그 엔트리가 미작성일 때는 그 엔트리에 있을 수 없는 비정규의 블록 번호가 등록되게 된다. 또, 이 메모리 관리 테이블(230)은 메모리 카드(1a)의 전원 투입 시에 미작성 상태로 초기화되게 된다.
도 5에서 설명한 바와 같이, 본 발명에서는 초기 설정을 행한 후, 메모리 관리 테이블(230)을 완성시키고 나서 퍼스널 컴퓨터(2a)에 비지 해제를 통지하는 것이 아니라, 메모리 관리 테이블(230)을 작성하지 않고 즉시, 퍼스널 컴퓨터(2a)에 비지 해제를 통지하거나 메모리 관리 테이블(230)의 일부분만을 작성하여, 퍼스널 컴퓨터(2a)에 비지 해제를 통지하고, 그 후 메모리 관리 테이블(230)의 미작성 부분을 작성하도록 처리하는 구성을 채용하고 있다.
이 메모리 관리 테이블(230)의 미작성 부분의 작성 처리는 퍼스널 컴퓨터(2a)로부터 처리 요구가 발행되지 않는 동안에 실행하거나, 퍼스널 컴퓨터(2a)가 액세스 요구가 발행할 때 그것과 동기하여 실행하는 구성을 채용하고 있다.
메모리 관리 테이블(230)의 전체적인 작성 처리의 실시예의 설명에 들어가기 전에, 도 9 내지 도 11에 도시한 처리 플로우에 따라 이 메모리 관리 테이블(230)의 미작성 부분의 작성 처리에 대하여 설명한다.
즉, 전자(前者)의 구성에 따라 메모리 관리 테이블(230)의 미작성 부분의 작성 처리를 행할 때는 초기화를 실행하여 퍼스널 컴퓨터(2a)에 비지 상태의 해제를 통지하거나 퍼스널 컴퓨터(2a)의 처리 요구에 응답하여 처리를 행하여, 그 처리의 종료에 동기하여 퍼스널 컴퓨터(2a)에 비지 상태의 해제를 통지하면, CPU(21)는 ROM(22)에 저장되는 프로그램에 따라 도 9의 처리 플로우에 도시한 바와 같이 우선 최초로 단계(ST) 1에서 미처리의 플래시 메모리(20)의 블록으로부터, 규정의 순번에 따라 블록을 1개 선택한다. 예를 들면, 빠른 칩 번호의 플래시 메모리(20)로부 터의 순번에 따르면서 선두 블록으로부터의 순번에 따라 미처리의 블록을 1개 선택하는 것이다.
계속해서, 단계(ST) 2에서 그 블록에 저장되는 논리 어드레스(단, 데이터가 없을 때는 논리 어드레스도 기입되어 있지 않음)를 취득하며, 그 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리에 그 블록의 블록 번호를 기입함과 함께 p 비트에 사용 중을 표시하는 "0"을 기입함(단, 초기치로서 미작성을 표시하는 "0"이 기입되어 있으므로, 실제로는 p 비트에 대한 기입 처리는 행하지 않음)으로써 그 엔트리 부분의 테이블을 작성한다.
계속해서, 단계(ST) 3에서 1개의 플래시 메모리(20)가 갖는 모든 블록의 선택을 종료했는지의 여부를 판단하여, 모든 블록의 선택을 종료하였다고 판단할 때는 단계(ST) 4로 진행하여 그 플래시 메모리(20)에 기입되어 있지 않은 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리의 p 비트에 빈 부분을 나타내는 "1"을 기입한다. 한편, 단계(ST) 3에서 1개의 플래시 메모리(20)가 갖는 모든 블록의 선택을 종료하지 않았다고 판단할 때는 이 단계(ST) 4의 처리는 행하지 않는다.
계속해서, 단계(ST) 5에서 모든 플래시 메모리(20)가 갖는 모든 블록의 선택을 종료했는지의 여부를 판단하여, 선택의 종료를 판단할 때는 처리를 종료하고, 선택의 종료를 판단하지 않을 때는, 단계(ST) 6으로 진행하여 퍼스널 컴퓨터(2a)에서 처리 요구가 발행되었는지의 여부를 판단하여, 처리 요구가 발행되어 있지 않은 것을 판단할 때는 단계(ST) 1로 되돌아가 테이블 작성 처리를 속행하고, 처리 요구가 발행되었는지를 판단할 때는 후의 처리를 위해 어디까지 테이블 작성 처리를 행하였는지를 기록하고 나서 처리를 종료한다.
이와 같이 하여, CPU(21)는 도 9의 처리 플로우를 실행함으로써 퍼스널 컴퓨터(2a)에서 처리 요구가 발행되지 않은 동안, 메모리 관리 테이블(230)의 미작성 부분을 작성하도록 처리하는 것이다.
또한, 후자(後者)의 구성에 따라 메모리 관리 테이블(230)의 미작성 부분의 작성 처리를 행할 때는 퍼스널 컴퓨터(2a)가 액세스 요구[플래시 메모리(20)에 대한 액세스를 지시하는 처리 요구이며, 논리 어드레스가 지정되게 됨]를 발행하면, CPU(21)는 ROM(22)에 저장되는 프로그램에 따라 도 10 및 도 11의 처리 플로우에 도시한 바와 같이, 우선 처음에, 단계(ST) 11에서 액세스 요구로 지정되는 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 관리 데이터(블록 번호/p 비트)를 판독한다. 예를 들면, 논리 어드레스(8)가 발행될 때는 도 3에 도시한 메모리 관리 테이블(230)에 따라 칩 번호 0 및 행 2가 가리키는 메모리 관리 테이블(230)의 엔트리에 저장되는 관리 데이터를 판독하는 것이다.
계속해서, 단계(ST) 12에서 판독된 관리 데이터의 p 비트가 "1"을 표시하고 있는지의 여부를 판단하여, "1"을 표시하고 있다고 판단할 때, 즉, 발행된 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리가 비어 있다고 판단할 때는 단계(ST) 13으로 진행하여 액세스 요구로 라이트 커맨드가 발행되었는지의 여부를 판단한다.
이 판단 처리에 따라 라이트 커맨드가 발행되었다고 판단할 때는 단계(ST) 14로 진행하여 데이터 저장 관리 테이블(231)을 참조함으로써, 발행된 논리 어드레스가 할당된 플래시 메모리(20)가 갖는 빈 블록을 찾아 내어, 그 블록에 라이트 데이터를 기입한다. 예를 들면, 논리 어드레스(8)가 발행될 때는 칩 번호 0의 플래시 메모리(20)가 갖는 빈 블록을 찾아 내어, 그 빈 블록에 라이트 데이터를 기입하는 것이다. 그리고, 계속되는 단계(ST) 15에서 발행된 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리에, 데이터 저장처의 블록 번호를 기입함과 함께 p 비트에 사용 중을 나타내는 "0"을 기입하여 처리를 종료한다.
한편, 단계(ST) 13의 판단 처리에 따라 발행된 커맨드가 라이트 커맨드가 아닌 것을 판단할 때는 단계(ST) 16으로 진행하여 그 커맨드에 따른 처리를 실행한다. 이 처리 루트를 경유하여 단계(ST) 16으로 들어가는 경우, 리드 커맨드가 발행될 때는 데이터가 없는 것을 나타내는 코드를 퍼스널 컴퓨터(2a)로 전송하는 처리를 행하고, 소거 커맨드가 발행될 때는 이미 소거되어 있으므로 처리 종료를 나타내는 코드를 퍼스널 컴퓨터(2a)로 전송하는 처리를 행한다.
한편, 단계(ST) 12에서 p 비트가 "1"를 표시하지 않았다고 판단할 때 즉, 발행된 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리가 사용 중이거나 미작성 중 어느 쪽인지를 판단할 때는 단계(ST) 17(도 11의 처리 플로우)로 진행하여 그 엔트리에 정규의 블록 번호가 등록되어 있는 것인지의 여부를 판단한다.
이 판단 처리에 따라 발행된 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리에 정규의 블록 번호가 등록되어 있다고 판단할 때, 즉, 그 엔트리가 사용 중이라고 판단할 때는 단계(ST) 3으로 진행하여 상술한 처리를 행한다. 여기서, 플래시 메모리(20)에는 재기록이 될 수 없으므로, 라이트 커맨드가 발행될 때는 발행된 논리 어드레스가 할당된 플래시 메모리(20)가 갖는 빈 블록을 찾아 내어, 그 빈 블록에 라이트 데이터를 기입함과 함께 그 라이트 데이터에 의해 갱신되는 오래된 데이터를 소거하는 처리를 행한다.
또, 이 처리 루트를 경유할 때는 p 비트는 이미 "0"을 표시하고 있으므로, 단계(ST) 15에서는 p 비트에 "0"을 기입하는 것은 행하지 않는다. 또한, 단계(ST) 16에서는 리드 커맨드가 발행될 때는 발행된 논리 어드레스가 할당된 플래시 메모리(20)로부터 단계(ST) 17에서 취득된 블록 번호가 가리키는 데이터를 판독하여 퍼스널 컴퓨터(2a)로 전송하는 처리를 행하고, 소거 커맨드가 발행될 때는 그 데이터를 소거함과 함께 p 비트에 "1"을 기입하는 처리를 행한다.
한편, 단계(ST) 17의 판단 처리에 따라 발행된 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리에 정규의 블록 번호가 등록되어 있지 않다고 판단할 때, 즉, 그 엔트리가 미작성이라고 판단할 때는 단계(ST) 18로 진행하여 발행된 논리 어드레스가 할당된 플래시 메모리(20)가 갖는 블록을 규정의 순번(예를 들면 선두로부터의 순번)에 따라 1개 선택한다.
계속해서, 단계(ST) 19에서 단계(ST) 18의 선택 처리에 따라 블록을 선택할 수 있는 것인지의 여부를 판단하여, 블록을 선택할 수 있다고 판단할 때는 단계(ST) 20으로 진행하여, 그 블록에 저장되는 논리 어드레스(단, 데이터가 없을 때는 논리 어드레스도 기입되어 있지 않음)를 취득하며, 그 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리에 그 블록의 블록 번호를 기입함과 함께 p 비트에 사용 중을 표시하는 "0"을 기입함(단, 초기치로서 미작성을 표시하는 "0"이 기입되어 있으므로, 실제로는 p 비트에 대한 기입 처리는 행하지 않음)으로써, 그 엔트리 부분의 테이블을 작성하고 나서 단계(ST) 18로 되돌아간다.
한편, 단계(ST) 19에서 단계(ST) 18의 선택 처리에 따라 블록을 선택할 수 없다고 판단할 때 즉, 발행된 논리 어드레스가 할당된 플래시 메모리(20)가 갖는 모든 블록을 선택하였다고 판단할 때는 단계(ST) 21로 진행하여, 그 플래시 메모리(20)에 기입되어 있지 않은 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리의 p 비트에, 빈 부분을 나타내는 "1"을 기입한다.
계속해서, 단계(ST) 22에서, 단계(ST) 20에서 취득된 논리 어드레스에 발행된 논리 어드레스가 있는 것인지의 여부를 판단하여 발행된 논리 어드레스가 있는 것을 판단할 때는 단계(ST) 13으로 진행하여 상술한 처리를 행한다. 이 때는 발행된 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리에 정규의 블록 번호가 저장된 상태가 되기 때문에, 단계(ST) 13 이후의 처리에서는 단계(ST) 17을 경유하여 단계(ST) 13의 처리로 들어갈 때와 동일 처리를 행하게 된다.
한편, 단계(ST) 22의 판단 처리에서 단계(ST) 20에서 취득된 논리 어드레스에 발행된 논리 어드레스가 없다고 판단할 때는 단계(ST) 13으로 진행하여, 상술한 처리를 행한다. 이 때는 발행된 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리가 비어 있게 되기 때문에, 단계(ST) 13 이후의 처리에서는 단계(ST) 12를 경유하여 단계(ST) 13의 처리에 들어 갈 때와 동일 처리를 행하게 된다.
이와 같이 하여, CPU(21)는 도 10 및 도 11의 처리 플로우를 실행함으로써 퍼스널 컴퓨터(2a)로부터 액세스 요구가 발행되면, 그 액세스 요구로 지정되는 논리 어드레스를 사용하여 메모리 관리 테이블(230)의 미작성 부분을 작성하도록 처리하는 것이다.
이 도 10 및 도 11의 처리 플로우에서는 퍼스널 컴퓨터(2a)가 액세스 요구를 발행할 때, 그 액세스 요구로 지정되는 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리가 미작성일 때는 그 논리 어드레스가 할당된 플래시 메모리(20)가 갖는 모든 블록을 검색하여, 메모리 관리 테이블(230)을 작성해 간다고 하는 구성을 채용하였지만, 도 11의 처리 플로우 대신에 도 12의 처리 플로우를 실행함으로써 그 논리 어드레스를 갖는 데이터가 검색된 시점에서, 그 검색을 중지하여 메모리 관리 테이블(230)의 작성을 중단해 간다고 하는 구성을 채용하는 것도 가능하다.
도 12에서는 단계(ST) 19에서 블록을 선택할 수 있다고 판단할 때는 단계(ST) 30으로 진행하여 발행된 논리 어드레스가 등록되어 있는지의 여부를 판단하여 등록되어 있는 것을 판단할 때는 단계(ST) 31로 진행하여 발행된 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리에 선택된 블록 번호를 기입하고 단계(ST) 13으로 진행하여 상술한 처리를 행한다. 한편, 등록되어 있지 않다고 판단할 때는 단계(ST) 32로 진행하여 그 블록에 저장되는 논리 어드레스를 취득하고, 그 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리에, 그 블록의 블록 번호를 기입함과 함께 p 비트에 사용 중을 표시하는 "0"을 기입함으로써 그 엔 트리 부분의 테이블을 작성하고 나서 단계(ST) 18로 되돌아간다.
또한, 이 때, 도 13A에 도시한 바와 같이, 그 논리 어드레스를 갖는 데이터가 검색된 시점부터, 규정 수의 블록까지 검색을 계속하여, 그것이 종료하는 시점에서 메모리 관리 테이블(230)의 작성을 중단해 간다는 구성을 채용하거나, 도 13B에 도시한 바와 같이, 그 논리 어드레스를 갖는 데이터가 검색된 시점부터 규정 시간 만큼 검색을 계속하여, 그것이 종료하는 시점에서 메모리 관리 테이블(230)의 작성을 중단해 간다고 하는 구성을 채용하는 것도 가능하다.
여기서, 액세스 요구로 지정되는 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리가 미작성일 때 그 논리 어드레스가 할당된 플래시 메모리(20)가 갖는 모든 블록을 검색한다고 하는 방법을 채용하면, 그 플래시 메모리(20)를 다시 검색할 필요가 없다고 하는 이점이 얻어진다. 한편, 액세스 요구로 지정되는 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리가 미작성일 때 그 논리 어드레스를 갖는 데이터가 검색된 시점에서 그 검색을 중단한다고 하는 방법을 채용하면, 액세스 요구에 대하여 신속하게 응답할 수 있다는 이점이 얻어진다.
다음에, 메모리 관리 테이블(230)의 전체적인 작성 처리의 실시예에 대하여 설명한다.
도 14에 메모리 관리 테이블(230)의 작성 처리의 처리 플로우의 일 실시예를 나타낸다.
이 처리 플로우에서는, 도 15에 도시한 바와 같이, 초기 설정을 종료하면 퍼스널 컴퓨터(2a)에 대하여 즉시 비지 해제를 통지하고 나서 메모리 관리 테이블(230)의 작성 처리에 들어가고, 퍼스널 컴퓨터(2a)로부터 구동에 필요한 처리 요구가 발행되면 그 작성 처리를 일시 정지하고, 그 처리 요구에 대한 처리를 행하여 퍼스널 컴퓨터(2a)에 대하여 비지 해제를 통지한 후, 메모리 관리 테이블(230)이 완성되어 있지 않을 때는 퍼스널 컴퓨터(2a)로부터 다음의 처리 요구가 발행될 때까지의 동안 메모리 관리 테이블(230)의 작성을 속행함으로써 메모리 관리 테이블(230)을 작성한다고 하는 구성을 채용하고 있다.
즉, CPU(21)는 메모리 카드(1a)에 전원이 투입됨으로써 구동되면 ROM(22)에 저장되는 프로그램에 따라, 도 14의 처리 플로우에 도시한 바와 같이, 우선 처음에, 단계(ST) 41에서 퍼스널 컴퓨터(2a)에 대해 비지를 통지하고, 계속되는 단계(ST) 42에서 내부의 각 레지스터에 초기치를 설정함으로써 초기화 처리를 행하고, 그 초기화 처리를 종료하면, 계속되는 단계(ST) 43에서 퍼스널 컴퓨터(2a)에 대하여 비지 해제를 통지한다.
계속해서, 단계(ST) 44에서 메모리 관리 테이블(230)의 작성에 들어가고, 도 9의 처리 플로우에서 설명한 바와 같이, 플래시 메모리(20)의 저장 데이터에 액세스함으로써 메모리 관리 테이블(230)을 작성하고, 계속되는 단계(ST) 45에서 퍼스널 컴퓨터(2a)로부터 커맨드나 인터럽트가 발행되는 것이 검출될 때까지의 동안 그 작성 처리를 계속한다.
계속해서, 단계(ST) 45에서 퍼스널 컴퓨터(2a)로부터 커맨드나 인터럽트가 발행[이 시점에서 발행되는 처리 요구는 구동에 관한 것으로, 메모리 관리 테이블(230)을 사용하는 액세스 요구가 아님]되는 것이 검출되면, 단계(ST) 46으로 진행하여 퍼스널 컴퓨터(2a)에 대하여 비지를 통지하고, 계속되는 단계(ST) 47에서 메모리 관리 테이블(230)이 작성 중인지의 여부를 판단하여, 작성 중이라고 판단할 때는 단계(ST) 48로 진행하여 메모리 관리 테이블(230)의 작성을 일시 정지한다.
계속해서, 단계(ST) 49에서 퍼스널 컴퓨터(2a)가 발행한 커맨드나 인터럽트에 대한 처리를 행하고, 그 처리를 종료하면, 계속되는 단계(ST) 50에서 퍼스널 컴퓨터(2a)에 대하여 비지 해제를 통지하고, 계속되는 단계(ST) 51에서 메모리 관리 테이블(230)이 작성 중인지의 여부를 판단하여, 작성 중이 아니라고 판단할 때는 즉시 단계(ST) 45로 되돌아가고, 작성 중인 것을 판단할 때는 단계(ST) 52로 진행하여 메모리 관리 테이블(230)의 작성을 재개하고 나서 단계(ST) 45로 되돌아간다.
이와 같이 하여, 도 14의 처리 플로우에서는 초기 설정을 종료하면, 메모리 관리 테이블(230)의 작성에 들어가지 않고, 퍼스널 컴퓨터(2a)에 대하여 즉시 비지 해제를 통지하고, 그 후, 퍼스널 컴퓨터(2a)가 처리 요구를 발행하지 않는 동안, 메모리 관리 테이블(230)을 작성하도록 처리하는 것이다.
도 16 및 도 17에 메모리 관리 테이블(230)의 작성 처리의 처리 플로우의 다른 실시예를 나타낸다.
이 처리 플로우에서는, 도 18에 도시한 바와 같이, 초기 설정을 종료하면 메모리 관리 테이블(230)을 일부 작성한 후, 퍼스널 컴퓨터(2a)에 대해 비지 해제를 통지하고, 그것에 계속하여, 메모리 관리 테이블(230)의 작성을 재개하여 퍼스널 컴퓨터(2a)로부터 기동에 필요한 처리 요구가 발행되면, 그 작성 처리를 일시 정지하고, 그 처리 요구에 대한 처리를 행하여 퍼스널 컴퓨터(2a)에 대하여 비지 해제 를 통지한 후, 메모리 관리 테이블(230)이 완성되어 있지 않을 때는 퍼스널 컴퓨터(2a)로부터 다음의 처리 요구가 발행될 때까지의 동안 메모리 관리 테이블(230)의 작성을 속행함으로써, 메모리 관리 테이블(230)을 작성한다고 하는 구성을 채용하고 있다.
즉, CPU(21)는 메모리 카드(1a)에 전원이 투입됨으로써 기동되면, ROM(22)에 저장되는 프로그램에 따라 도 16 및 도 17의 처리 플로우에 나타낸 바와 같이, 우선 처음에, 단계(ST) 61에서 퍼스널 컴퓨터(2a)에 대해 비지를 통지하고, 계속되는 단계(ST) 62에서 내부의 각 레지스터에 초기치를 설정함으로써 초기화 처리를 행하고, 그 초기화 처리를 종료하면, 계속해서, 단계(ST) 63에서 메모리 관리 테이블(230)의 작성을 개시하고, 계속되는 단계(ST) 64에서 그 작성을 일시 정지함으로써 메모리 관리 테이블(230)을 일부 작성한다.
계속해서, 단계(ST) 65에서 퍼스널 컴퓨터(2a)에 대해 비지 해제를 통지하고, 계속되는 단계(ST) 66에서 메모리 관리 테이블(230)의 작성을 재개하여, 계속되는 단계(ST) 67에서 퍼스널 컴퓨터(2a)로부터 커맨드나 인터럽트가 발행되는 것이 검출될 때까지의 동안 그 작성 처리를 계속한다.
계속해서, 단계(ST) 67에서 퍼스널 컴퓨터(2a)로부터 커맨드나 인터럽트가 발행[이 시점에서 발행되는 처리 요구는 구동에 관한 것으로, 메모리 관리 테이블(230)을 사용하는 액세스 요구가 아님]되는 것이 검출되면, 단계(ST) 68로 진행하여 퍼스널 컴퓨터(2a)에 대해 비지를 통지하고, 계속되는 단계(ST) 69에서 메모리 관리 테이블(230)이 작성 중인지의 여부를 판단하여 작성 중이라고 판단할 때는 단계(ST) 70으로 진행하여 메모리 관리 테이블(230)의 작성을 일시 정지한다.
계속해서, 단계(ST) 71에서 퍼스널 컴퓨터(2a)가 발행한 커맨드나 인터럽트에 대한 처리를 행하고, 그 처리가 종료되면, 계속되는 단계(ST) 72(도 17의 처리 플로우)에서 퍼스널 컴퓨터(2a)에 대하여 비지 해제를 통지하고, 계속되는 단계(ST) 73에서 메모리 관리 테이블(230)이 작성 중인지의 여부를 판단하여 작성 중이 아니라고 판단할 때는 즉시 단계(ST) 67로 되돌아가고, 작성 중이라고 판단할 때는 단계(ST) 74로 진행하여 메모리 관리 테이블(230)의 작성을 재개하고 나서 단계(ST) 67로 되돌아간다.
이와 같이 하여, 도 16 및 도 17의 처리 플로우에서는 초기 설정을 종료하면 메모리 관리 테이블(230)의 일부분을 작성한 후, 퍼스널 컴퓨터(2a)에 대하여 비지 해제를 통지하고, 그 후, 퍼스널 컴퓨터(2a)가 처리 요구를 발행하지 않는 동안, 메모리 관리 테이블(230)의 작성을 재개하여 메모리 관리 테이블(230)을 작성하도록 처리하는 것이다.
이 메모리 관리 테이블(230)의 일부분의 작성 처리는 도 19의 처리 플로우에 나타낸 바와 같이, 테이블의 작성 시에 액세스하는 플래시 메모리(20)의 블록 수에 제한을 가함으로써 실현하거나, 도 20의 처리 플로우에 나타낸 바와 같이, 테이블의 작성 시에 액세스하는 플래시 메모리(20)에의 액세스 시간에 제한을 가함으로써 실현하게 된다.
도 19에서는, 단계(ST) 81에서 변수 i를 0으로 리세트하고, 단계(ST) 82에서 변수 i가 가리키는 플래시 메모리(20)의 블록으로부터 데이터를 판독하여 메모리 관리 테이블(230)을 작성한다. 다음에 단계(ST) 83에서 변수 i가 소정치 n과 동일한지의 여부를 판단하여 동일하지 않다고 판단될 때는 단계(ST) 84에서 변수 i를 1만큼 증가시켜 단계(ST) 82로 진행한다. 한편, 동일하다고 판단될 때는 단계(ST) 85로 진행하여 메모리 관리 테이블(230)의 작성을 일시 정지하고, 단계(ST) 86에서 퍼스널 컴퓨터(2a)에 대하여 비지 해제를 통지한다.
도 20에서는, 도 19의 처리 외에 단계(ST) 91에서 타이머 시간을 0으로 리세트하고, 단계(ST) 83 대신에 단계(ST) 92에서 타이머 시간이 소정치 T를 초과하였는지의 여부를 판단하여 초과하였다고 판단될 때 단계(ST) 85로 진행한다.
도 16 및 도 17의 처리 플로우에서는 도 18에 도시한 바와 같이, 초기 설정이 종료되면 메모리 관리 테이블(230)의 일부분을 작성하고, 그것에 계속하여 퍼스널 컴퓨터(2a)에 대하여 비지 해제를 통지한 후, 퍼스널 컴퓨터(2a)가 처리 요구를 발행하지 않는 동안, 메모리 관리 테이블(230)의 작성을 재개하는 재개 구성을 채용하였지만, 도 21에 도시한 바와 같이, 퍼스널 컴퓨터(2a)가 논리 어드레스를 지정하여 액세스 요구[메모리 관리 테이블(230)을 참조할 필요가 있는 처리 요구]를 발행할 때, 도 10 및 도 11의 처리 플로우에서 설명한 바와 같이, 그것과 동기를 취하여 메모리 관리 테이블(230)의 작성을 재개하는 구성을 채용하는 것도 가능하다.
이 때 작성하는 메모리 관리 테이블(230)의 일부분은 퍼스널 컴퓨터(2a)가 처음에 발행하고 있는 액세스 요구로 지정되는 논리 어드레스(통상, 작은 논리 어드레스)에 대응되는 부분을 작성하는 것이 바람직하다. 그와 같이 하면, 퍼스널 컴퓨터(2a)가 처음에 발행하는 액세스 요구에 대하여 메모리 관리 테이블(230)이 준비되어 있기 때문이다.
도 22 내지 도 25에, 이 구성을 채용할 때 실행하는 처리 플로우의 일 실시예를 나타낸다.
이 도 22에 도시한 처리 플로우에 따르면 CPU(21)는 우선 처음에, 단계(ST) 101에서 액세스 요구로 지정된 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리에 데이터가 등록되어 있는지의 여부를 판단하여, 등록되어 있다고 판단할 때는, 도 10 및 도 11의 처리 플로우에서도 설명한 바와 같이, 메모리 관리 테이블(230)의 작성 처리를 행하지 않고 즉시, 단계(ST) 107로 진행하여 발행된 커맨드에 대한 처리를 실행한다.
도 3에 도시한 메모리 관리 테이블(230)을 구체예로서 설명하면, 예를 들면, 논리 어드레스 8이 발행될 때는 칩 번호 0 및 행 2가 가리키는 메모리 관리 테이블(230)의 엔트리에 데이터가 등록되어 있는지의 여부를 판단하여 등록되어 있다고 판단할 때는 즉시 단계(ST) 107로 진행하여 발행된 커맨드에 대한 처리를 실행하는 것이다.
한편, 단계(ST) 101에서 데이터가 등록되어 있지 않다고 판단할 때는, 단계(ST) 102로 진행하여 발행된 논리 어드레스가 할당된 플래시 메모리(20)를 특정한다. 도 3에 도시한 메모리 관리 테이블(230)을 구체 예로서 설명하면, 예를 들면, 논리 어드레스 8이 발행될 때는 칩 번호 0의 플래시 메모리(20)를 특정하는 것이다.
계속해서, 단계(ST) 103에서 변수 i에 "0"을 세트하고, 계속되는 단계(ST) 104에서 단계(ST) 2에서 특정한 플래시 메모리(20)가 갖는 변수 i가 가리키는 블록(예를 들면, 선두 블록으로부터의 순번에 따라 블록과 변수 i의 값과의 대응 관계가 취해짐)으로부터 데이터를 판독함으로써 블록 번호와 그 데이터가 갖는 논리 어드레스와의 대응 관계를 추출하여 메모리 관리 테이블(230)을 작성한다.
계속해서, 단계(ST) 105에서 단계(ST) 102에서 특정한 플래시 메모리(20)가 갖는 모든 블록의 데이터를 판독하였는지의 여부를 판단하여, 판독하고 있지 않다고 판단할 때는 단계(ST) 106으로 진행하여 변수 i의 값을 1씩 인크리먼트하고 나서 단계(ST) 104로 되돌아간다. 그리고, 단계(ST) 105에서 모든 블록의 데이터를 판독한 것을 판단할 때는 단계(ST) 107로 진행하여 발행된 커맨드에 대한 처리를 실행한다.
이와 같이 하여, 도 22의 처리 플로우에서는 액세스 요구로 지정된 논리 어드레스가 가리키는 메모리 관리 테이블(230)의 엔트리에 데이터가 등록되어 있지 않다고 판단할 때는, 그 논리 어드레스가 할당된 플래시 메모리(20)가 갖는 모든 블록의 데이터를 판독하고, 그것을 이용하여 메모리 관리 테이블(230)을 작성하는 것이다.
이 도 22의 처리 플로우에 따르면, 메모리 관리 테이블(230)의 작성을 위해 한번 액세스된 플래시 메모리(230)에 대해서는 메모리 관리 테이블(230)의 작성을 위해 재차 액세스되지 않는다고 하는 이점이 얻어지지만, 발행된 논리 어드레스가 검색되어도 플래시 메모리(20)가 갖는 모든 블록의 처리가 종료될 때까지의 동안 발행된 커맨드에 대한 처리에 들어갈 수 없게 된다.
그래서, 발행된 커맨드에 대한 처리의 응답을 우선하는 경우에는, 도 22의 처리 플로우 대신에 도 23의 처리 플로우를 실행함으로써, 발행된 논리 어드레스가 검색된 시점에서 메모리 관리 테이블(230)의 작성 처리를 중단하고 즉시, 발행된 커맨드에 대한 처리에 들어가는 구성을 채용하게 된다.
이 도 23의 처리 플로우에서는, 도 22의 처리 플로우의 단계(ST) 105에 상당하는 단계(ST) 115에서 발행된 논리 어드레스를 갖는 블록을 판독하였는지의 여부를 판단하여 판독되었다고 판단할 때는 즉시 단계(ST) 107로 진행하여 발행된 커맨드에 대한 처리를 실행함으로써, 발행된 논리 어드레스가 검색된 시점에 메모리 관리 테이블(230)의 작성 처리를 중단하고 즉시, 커맨드에 대한 처리에 들어가는 것을 실현하고 있다.
도 23의 처리 플로우에서는, 발행된 논리 어드레스가 검색된 시점에서 즉시 메모리 관리 테이블(230)의 작성 처리를 중단한다고 하는 구성을 채용하였지만, 그 후에도 어느 정도 메모리 관리 테이블(230)의 작성 처리를 속행한다고 하는 구성을 채용하는 것도 가능하다.
도 24 및 도 25에, 이 구성을 실현하기 위한 처리 플로우의 일 실시예를 나타낸다.
도 24의 처리 플로우에서는, 도 23의 처리 플로우의 단계(ST) 103에 상당하는 단계(ST) 123에서 변수 j에 "0"을 세트하는 구성을 채용하여, 도 23의 처리 플로우의 단계(ST) 115에 상당하는 단계(ST) 125에서 발행된 논리 어드레스를 갖는 블록을 판독하였다고 판단하면, 단계(ST) 127로 진행하여 변수 i, j의 값을 1씩 인크리먼트한다. 그리고, 계속되는 단계(ST) 128에서 변수 i가 가리키는 메모리 관리 테이블(230)을 작성한 후, 계속되는 단계(ST) 129에서 변수 j의 값이 규정치에 도달하였는지의 여부를 판단하여 도달하지 않았다고 판단할 때는 단계(ST) 127로 되돌아가고, 도달하였다고 판단할 때는 단계(ST) 130으로 진행하여 발행된 커맨드에 대한 처리에 들어감으로써, 발행된 논리 어드레스가 검색된 시점으로부터 어느 정도 메모리 관리 테이블(230)의 작성 처리를 속행하는 것을 실현하고 있다.
또한, 도 25의 처리 플로우에서는, 도 23의 처리 플로우의 단계(ST) 115에 상당하는 단계(ST) 135에서 발행된 논리 어드레스를 갖는 블록을 판독하였다고 판단하면 단계(ST) 137로 진행하여 타이머를 기동하고, 계속되는 단계(ST) 138에서 변수 i의 값을 1씩 인크리먼트한다. 그리고, 계속되는 단계(ST) 139에서 변수 i가 가리키는 메모리 관리 테이블(230)을 작성한 후, 계속되는 단계(ST) 140에서 타이머가 규정 시간을 타임 오버하였는지의 여부를 판단하여 타임 오버하지 않았다고 판단할 때는 단계(ST) 138로 되돌아가고, 타임 오버하였다고 판단할 때는 단계(ST) 141로 진행하여 발행된 커맨드에 대한 처리에 들어감으로써, 발행된 논리 어드레스가 검색된 시점으로부터 어느 정도 메모리 관리 테이블(230)의 작성 처리를 속행하는 것을 실현하고 있다.
도 22 내지 도 25의 처리 플로우에 대해서는, 도 21에 도시한 액세스 요구의 발행 시점에서 메모리 관리 테이블(230)의 미작성 부분의 작성 처리에 들어감으로써 설명하였다. 즉, 초기 설정을 종료한 후, 메모리 관리 테이블(230)의 일부분을 작성하여 퍼스널 컴퓨터(2a)에 비지 해제를 통지한 후, 액세스 요구가 발행될 때 도 22 내지 도 25의 처리 플로우를 실행함으로써 메모리 관리 테이블(230)을 작성함으로써 설명하였지만, 도 26에 도시한 액세스 요구의 발행 시점에서 실행하는 구성을 채용하는 것도 가능하다.
즉, 초기 설정을 종료한 후, 즉시, 퍼스널 컴퓨터(2a)에 비지 해제를 통지한 후, 액세스 요구가 발행될 때 메모리 관리 테이블(230)을 작성하도록 하여도 좋다.
상술한 실시예에 따라 본 발명을 설명하였지만, 본 발명은 이것에 한정되는 것은 아니다. 예를 들면, 실시예에서는 플래시 메모리(20)를 탑재하는 것을 구체예로서 본 발명을 설명하였지만, 본 발명은 플래시 메모리(20)에 그 적용이 한정되는 것이 아니라 그 밖의 불휘발성 메모리나 배터리 백업된 휘발성 메모리에 대해서도 동일하게 적용할 수 있다.
이상 설명한 바와 같이, 본 발명의 메모리 장치에서는 논리 어드레스와 물리 어드레스 사이의 변환 처리에 이용하는 메모리 관리 테이블을 작성할 때에 있어서, 종래 기술과 같이, 초기 설정을 행한 후, 메모리 관리 테이블을 완성시키고 나서 호스트 장치에 비지 해제를 통지한다고 하는 구성을 채용하는 것이 아니라, 메모리 관리 테이블을 작성하지 않고 즉시, 호스트 장치에 비지 해제를 통지하거나, 메모리 관리 테이블의 일부분만을 작성하여 호스트 장치에 비지 해제를 통지하고, 그 후, 호스트 장치가 처리 요구를 발행할 때까지의 동안 메모리 관리 테이블의 미작성 부분을 작성하거나, 호스트 장치의 처리 요구가 발행될 때 그 처리 요구로 지정되는 논리 어드레스가 가리키는 메모리 관리 테이블의 미작성 부분을 작성함으로 써, 메모리 관리 테이블을 작성한다고 하는 구성을 채용하기 때문에, 호스트 장치는 메모리 장치가 기동된 후, 신속하게 처리에 들어가게 된다.
그리고, 호스트 장치는 신속하게 메모리 장치가 정상인 것을 인식할 수 있음으로써 메모리 장치에 에러가 발생된다고 하는 오인식을 일으키지 않고 처리에 들어가게 된다.

Claims (21)

  1. 전원 차단 시에도 데이터를 보유하는 기능을 갖는 1개 또는 복수의 메모리를 관리 대상으로 하여, 호스트가 발행하는 논리 어드레스가 가리키는 데이터의 저장처가 되는 메모리 영역의 식별자 정보를 관리하는 메모리 관리 테이블의 작성 처리를 담당하는 메모리 관리 테이블 작성 방법에 있어서,
    통지 수단이 호스트에 대하여 비지 해제를 통지한 후, 작성 수단이 메모리 관리 테이블의 미작성 부분의 작성에 들어 가, 호스트로부터 처리 요구가 발행될 때까지의 동안 상기 메모리 영역을 단위로서 상기 메모리에 액세스함으로써 상기 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하여, 상기 취득된 논리 어드레스와, 액세스한 상기 메모리 영역의 식별자 정보로부터 메모리 관리 테이블의 미작성 부분을 작성하도록 처리하는 메모리 관리 테이블 작성 방법.
  2. 전원 차단 시에도 데이터를 보유하는 기능을 갖는 1개 또는 복수의 메모리를 관리 대상으로 하여, 호스트가 발행하는 논리 어드레스가 가리키는 데이터의 저장처가 되는 메모리 영역의 식별자 정보를 관리하는 메모리 관리 테이블의 작성 처리를 담당하는 메모리 관리 테이블 작성 방법에 있어서,
    호스트로부터 처리 요구가 발행될 때, 작성 수단이 메모리 관리 테이블의 미작성 부분의 작성에 들어 가, 상기 메모리 영역을 단위로서 상기 처리 요구로 지정되는 논리 어드레스가 할당된 상기 메모리를 액세스함으로써 상기 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하여, 상기 취득된 논리 어드레스와, 액세스한 상기 메모리 영역의 식별자 정보로부터 메모리 관리 테이블의 미작성 부분을 작성하도록 처리하고, 처리 요구로 지정되는 논리 어드레스를 갖는 메모리 영역으로의 액세스를 검출한 후, 액세스하는 메모리 영역의 수에 제한을 가함으로써, 메모리 관리 테이블의 미작성 부분의 작성을 중단하도록 처리하는 메모리 관리 테이블 작성 방법.
  3. 제2항에 있어서,
    처리 요구로 지정되는 논리 어드레스가 할당된 메모리가 갖는 모든 메모리 영역으로의 액세스를 종료할 때, 메모리 관리 테이블의 미작성 부분의 작성을 중단하여 가도록 처리하는 메모리 관리 테이블 작성 방법.
  4. 제2항에 있어서,
    처리 요구로 지정되는 논리 어드레스를 갖는 메모리 영역으로의 액세스를 검출할 때, 메모리 관리 테이블의 미작성 부분의 작성을 중단하여 가도록 처리하는 메모리 관리 테이블 작성 방법.
  5. 삭제
  6. 제2항에 있어서,
    처리 요구로 지정되는 논리 어드레스를 갖는 메모리 영역으로의 액세스를 검출한 후, 액세스하는 시간에 제한을 가함으로써, 메모리 관리 테이블의 미작성 부분의 작성을 중단하여 가도록 처리하는 메모리 관리 테이블 작성 방법.
  7. 전원 차단 시에도 데이터를 보유하는 기능을 갖는 1개 또는 복수의 메모리를 관리 대상으로 하여, 호스트가 발행하는 논리 어드레스가 가리키는 데이터의 저장처가 되는 메모리 영역의 식별자 정보를 관리하는 메모리 관리 테이블의 작성 처리를 담당하는 메모리 관리 테이블 작성 방법에 있어서,
    메모리의 기동 시에 초기 설정을 종료하면, 작성 수단이 메모리 관리 테이블을 작성하지 않고 즉시, 통지 수단이 호스트에 대하여 비지 상태의 해제를 통지하고,
    작성 수단이 메모리 관리 테이블의 작성에 들어 가, 호스트로부터 처리 요구가 발행될 때까지의 동안 상기 메모리 영역을 단위로서 상기 메모리를 액세스함으로써 상기 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하여, 상기 취득된 논리 어드레스와, 액세스한 상기 메모리 영역의 식별자 정보로부터 메모리 관리 테이블을 작성하도록 처리하는 메모리 관리 테이블 작성 방법.
  8. 전원 차단 시에도 데이터를 보유하는 기능을 갖는 1개 또는 복수의 메모리를 관리 대상으로 하여, 호스트가 발행하는 논리 어드레스가 가리키는 데이터의 저장처가 되는 메모리 영역의 식별자 정보를 관리하는 메모리 관리 테이블의 작성 처리를 담당하는 메모리 관리 테이블 작성 방법에 있어서,
    메모리의 기동 시에 초기 설정을 종료하면, 작성 수단이 메모리 관리 테이블의 일부분의 작성에 들어 가, 상기 메모리 영역을 단위로서 상기 메모리에 액세스함으로써 상기 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하여, 상기 취득된 논리 어드레스와, 액세스한 상기 메모리 영역의 식별자 정보로부터 메모리 관리 테이블의 일부분을 작성하고,
    통지 수단이 호스트에 대하여 비지 상태의 해제를 통지하도록 처리하고, 메모리의 기동 시에 액세스하는 시간에 제한을 가함으로써, 작성되어지는 메모리 관리 테이블 부분을 결정하는 메모리 관리 테이블 작성 방법.
  9. 전원 차단 시에도 데이터를 보유하는 기능을 갖는 1개 또는 복수의 메모리를 관리 대상으로 하여, 호스트가 발행하는 논리 어드레스가 가리키는 데이터의 저장처가 되는 메모리 영역의 식별자 정보를 관리하는 메모리 관리 테이블의 작성 처리를 담당하는 메모리 관리 테이블 작성 방법에 있어서,
    메모리의 기동 시에 초기 설정을 종료하면, 작성 수단이 메모리 관리 테이블의 일부분의 작성에 들어 가, 상기 메모리 영역을 단위로서 상기 메모리를 액세스함으로써 상기 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하여, 상기 취득된 논리 어드레스와, 액세스한 상기 메모리 영역의 식별자 정보로부터 메모리 관리 테이블의 일부분을 작성하고,
    통지 수단이 호스트에 대해 비지 상태의 해제를 통지하고,
    작성 수단이 메모리 관리 테이블의 미작성 부분의 작성에 들어 가, 호스트로부터 처리 요구가 발행될 때까지의 동안 상기 메모리 영역을 단위로서 상기 메모리를 액세스함으로써 상기 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하여, 상기 취득된 논리 어드레스와, 액세스한 상기 메모리 영역의 식별자 정보로부터 메모리 관리 테이블을 작성하도록 처리하고, 메모리의 기동 시에 액세스하는 시간에 제한을 가함으로써, 작성되어지는 메모리 관리 테이블 부분을 결정하는 메모리 관리 테이블 작성 방법.
  10. 제8항에 있어서,
    메모리의 기동시에, 액세스하는 메모리 영역의 수에 제한을 가함으로써, 작성되어지는 메모리 관리 테이블 부분을 결정하는 메모리 관리 테이블 작성 방법.
  11. 삭제
  12. 전원 차단 시에도 데이터를 보유하는 기능을 갖는 1개 또는 복수의 메모리를 관리 대상으로 하여, 호스트가 발행하는 논리 어드레스가 가리키는 데이터의 저장처가 되는 메모리 영역의 식별자 정보를 관리하는 메모리 관리 테이블의 작성 처리를 담당하는 메모리 관리 테이블 작성 방법에 있어서,
    메모리의 기동 시에 초기 설정을 종료하면, 작성 수단이 메모리 관리 테이블을 작성하지 않고 즉시, 통지 수단이 호스트에 대하여 비지 상태의 해제를 통지하고,
    그 후, 호스트로부터 처리 요구가 발행될 때, 작성 수단이 메모리 관리 테이블의 미작성 부분의 작성에 들어 가, 상기 메모리 영역을 단위로서 상기 처리 요구로 지정되는 논리 어드레스가 할당된 상기 메모리에 액세스함으로써 상기 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하여, 상기 취득된 논리 어드레스와, 액세스한 상기 메모리 영역의 식별자 정보로부터 메모리 관리 테이블의 미작성 부분을 작성하도록 처리하고, 처리 요구로 지정되는 논리 어드레스를 갖는 메모리 영역에의 액세스를 검출한 후, 액세스하는 메모리 영역의 수에 제한을 가함으로써, 상기 메모리 관리 테이블의 미작성 부분의 작성을 중단하도록 처리하는 메모리 관리 테이블 작성 방법.
  13. 전원 차단 시에도 데이터를 보유하는 기능을 갖는 1개 또는 복수의 메모리를 관리 대상으로 하여, 호스트가 발행하는 논리 어드레스가 가리키는 데이터의 저장처가 되는 메모리 영역의 식별자 정보를 관리하는 메모리 관리 테이블의 작성 처리를 담당하는 메모리 관리 테이블 작성 방법에 있어서,
    메모리의 기동 시에 초기 설정을 종료하면, 작성 수단이 메모리 관리 테이블의 일부분의 작성에 들어 가, 상기 메모리 영역을 단위로서 상기 메모리를 액세스함으로써 상기 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하여, 상기 취득된 논리 어드레스와, 액세스한 상기 메모리 영역의 식별자 정보로부터 메모리 관리 테이블의 일부분을 작성하고,
    그것에 계속해서, 통지 수단이 호스트에 대하여 비지 상태의 해제를 통지하고,
    그 후, 호스트로부터 처리 요구가 발행될 때, 작성 수단이 메모리 관리 테이블의 미작성 부분의 작성에 들어 가, 상기 메모리 영역을 단위로서 상기 처리 요구로 지정되는 논리 어드레스가 할당된 상기 메모리에 액세스함으로써 상기 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하여, 상기 취득된 논리 어드레스와, 액세스한 상기 메모리 영역의 식별자 정보로부터 메모리 관리 테이블의 미작성 부분을 작성하도록 처리하고, 메모리의 기동 시에 액세스하는 시간에 제한을 가함으로써, 작성되어지는 메모리 관리 테이블 부분을 결정하는 메모리 관리 테이블 작성 방법.
  14. 제13항에 있어서,
    메모리의 기동시에, 액세스하는 메모리 영역의 수에 제한을 가함으로써, 작성되어지는 메모리 관리 테이블 부분을 결정하는 메모리 관리 테이블 작성 방법.
  15. 삭제
  16. 제12항에 있어서,
    처리 요구로 지정되는 논리 어드레스가 할당되는 메모리가 갖는 모든 메모리영역에의 액세스를 종료할 때, 상기 메모리 관리 테이블의 미작성 부분의 작성을 중단하여 가도록 처리하는 메모리 관리 테이블 작성 방법.
  17. 제12항에 있어서,
    처리 요구로 지정되는 논리 어드레스를 갖는 메모리 영역으로의 액세스를 검출할 때, 상기 메모리 관리 테이블의 미작성 부분의 작성을 중단하여 가도록 처리하는 메모리 관리 테이블 작성 방법.
  18. 삭제
  19. 제12항에 있어서,
    처리 요구로 지정되는 논리 어드레스를 갖는 메모리 영역에의 액세스를 검출한 후, 액세스하는 시간에 제한을 가함으로써, 상기 메모리 관리 테이블의 미작성 부분의 작성을 중단하여 가도록 처리하는 메모리 관리 테이블 작성 방법.
  20. CPU와, 전원 차단시에도 데이터를 보유하는 기능을 갖는 1개 또는 복수의 메모리와, CPU의 지시에 응답하여 상기 메모리에 커맨드를 발행함으로써 상기 메모리를 제어하는 컨트롤러를 포함하는 메모리 장치에 있어서,
    호스트로부터 처리 요구가 발행되었는지의 여부를 검출하는 검출 수단과,
    호스트에 대하여 비지 해제를 통지한 후, 호스트가 발행하는 논리 어드레스가 가리키는 데이터의 저장처가 되는 메모리 영역의 식별자 정보를 관리하는 메모리 관리 테이블의 미작성 부분의 작성에 들어가고, 상기 검출 수단이 호스트로부터의 처리 요구를 검출할 때까지의 동안 상기 메모리 영역을 단위로하여 상기 메모리를 액세스함으로써 상기 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하며, 상기 취득된 논리 어드레스와, 액세스한 상기 메모리 영역의 식별자 정보로부터 메모리 관리 테이블의 미작성 부분을 작성하여 가는 작성 수단
    을 구비하는 메모리 장치.
  21. CPU와, 전원 차단 시에도 데이터를 보유하는 기능을 갖는 1개 또는 복수의 메모리와, CPU의 지시에 응답하여 상기 메모리에 커맨드를 발행함으로써 상기 메모리를 제어하는 컨트롤러를 포함하는 메모리 장치에 있어서,
    호스트로부터 처리 요구가 발행되었는지의 여부를 검출하는 검출 수단과,
    상기 검출 수단이 호스트로부터의 처리 요구를 검출할 때, 호스트가 발행하는 논리 어드레스가 가리키는 데이터의 저장처가 되는 메모리 영역의 식별자 정보를 관리하는 메모리 관리 테이블의 미작성 부분의 작성에 들어 가, 상기 메모리 영역을 단위로서 상기 처리 요구로 지정되는 논리 어드레스가 할당된 상기 메모리에 액세스함으로써 상기 메모리 영역에 저장되는 데이터가 갖는 논리 어드레스를 취득하여, 상기 취득된 논리 어드레스와, 액세스한 상기 메모리 영역의 식별자 정보로부터 메모리 관리 테이블의 미작성 부분을 작성하는 작성 수단
    을 포함하며,
    처리 요구로 지정되는 논리 어드레스를 갖는 메모리 영역으로의 액세스를 검출한 후, 액세스하는 메모리 영역의 수에 제한을 가함으로써, 메모리 관리 테이블의 미작성 부분의 작성을 중단하도록 처리하는 메모리 장치.
KR1020017003078A 1998-09-11 1999-05-13 메모리 관리 테이블 작성 방법 및 메모리 장치 KR100590150B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1998-258216 1998-09-11
JP25821698A JP3544476B2 (ja) 1998-09-11 1998-09-11 メモリ管理テーブル作成方法

Publications (2)

Publication Number Publication Date
KR20010086400A KR20010086400A (ko) 2001-09-10
KR100590150B1 true KR100590150B1 (ko) 2006-06-15

Family

ID=17317137

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017003078A KR100590150B1 (ko) 1998-09-11 1999-05-13 메모리 관리 테이블 작성 방법 및 메모리 장치

Country Status (4)

Country Link
US (1) US6625712B2 (ko)
JP (1) JP3544476B2 (ko)
KR (1) KR100590150B1 (ko)
WO (1) WO2000016199A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6565443B1 (en) 1999-09-14 2003-05-20 Innovative Gaming Corporation System and method for verifying the contents of a mass storage device before granting access to computer readable data stored on the device
JPWO2002069127A1 (ja) * 2001-02-26 2004-07-02 東京エレクトロンデバイス株式会社 記憶媒体制御方法、記憶媒体制御装置、および記憶媒体アダプタ
JP2003067244A (ja) 2001-08-24 2003-03-07 Matsushita Electric Ind Co Ltd 不揮発性記憶装置及びその制御方法
KR100439507B1 (ko) * 2002-03-18 2004-07-09 삼성전기주식회사 고 용량 플래시 메모리 카드 시스템에서의 데이터 운영 방법
JP2004318940A (ja) * 2003-04-14 2004-11-11 Renesas Technology Corp 記憶装置
JP4731325B2 (ja) * 2003-10-27 2011-07-20 パナソニック株式会社 記録媒体、データ処理装置及びデータ処理方法
JP4521245B2 (ja) * 2004-10-29 2010-08-11 富士フイルム株式会社 記憶デバイス制御装置及びプログラム
US7315917B2 (en) 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
JP2007034537A (ja) 2005-07-25 2007-02-08 Sony Corp 複合型記憶装置、データ書込方法及びプログラム
WO2008016081A1 (fr) * 2006-08-04 2008-02-07 Panasonic Corporation Contrôleur de mémoire, dispositif de mémoire non-volatile, dispositif d'accès et système de mémoire non-volatile
US20080091871A1 (en) * 2006-10-12 2008-04-17 Alan David Bennett Non-volatile memory with worst-case control data management
US20080091901A1 (en) * 2006-10-12 2008-04-17 Alan David Bennett Method for non-volatile memory with worst-case control data management
US8327040B2 (en) 2009-01-26 2012-12-04 Micron Technology, Inc. Host controller
TWI506422B (zh) * 2009-09-23 2015-11-01 Silicon Motion Inc 用來管理具有多通道、多途徑的記憶裝置之方法以及相關之記憶裝置及其控制器
JP5403160B2 (ja) * 2010-06-23 2014-01-29 富士通株式会社 通信装置、通信方法、および通信プログラム
US9253102B2 (en) * 2013-11-13 2016-02-02 Verizon Patent And Licensing Inc. Time weighted queuing scheduler for machine-to-machine communications

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282111A (ja) * 1996-04-15 1997-10-31 Internatl Business Mach Corp <Ibm> 半導体メモリ装置及びその制御方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113512A (en) * 1988-06-21 1992-05-12 Matsushita Electric Industrial Co., Ltd. System for managing a storage medium reducing physical space needed
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
JPH0546328A (ja) * 1991-08-13 1993-02-26 Fujitsu Ltd 半導体記憶装置のステージング方法
JP3328321B2 (ja) * 1992-06-22 2002-09-24 株式会社日立製作所 半導体記憶装置
US5822784A (en) * 1993-03-19 1998-10-13 Intel Corporation Mechanism supporting execute in place read only memory applications located on removable computer cards
JP3371044B2 (ja) * 1994-12-28 2003-01-27 株式会社日立製作所 ディスクアレイのための領域割り当て方法およびディスクアレイアクセス方法
JP3706167B2 (ja) * 1995-02-16 2005-10-12 株式会社ルネサステクノロジ 半導体ディスク装置
US5666560A (en) * 1995-08-03 1997-09-09 International Business Machines Corporation Storage method and hierarchical padding structure for direct access storage device (DASD) data compression
JP3604466B2 (ja) * 1995-09-13 2004-12-22 株式会社ルネサステクノロジ フラッシュディスクカード
JP4079506B2 (ja) 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
US6119226A (en) * 1998-01-06 2000-09-12 Macronix International Co., Ltd. Memory supporting multiple address protocols

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282111A (ja) * 1996-04-15 1997-10-31 Internatl Business Mach Corp <Ibm> 半導体メモリ装置及びその制御方法

Also Published As

Publication number Publication date
KR20010086400A (ko) 2001-09-10
JP3544476B2 (ja) 2004-07-21
JP2000090004A (ja) 2000-03-31
US20010014933A1 (en) 2001-08-16
WO2000016199A1 (fr) 2000-03-23
US6625712B2 (en) 2003-09-23

Similar Documents

Publication Publication Date Title
KR100590150B1 (ko) 메모리 관리 테이블 작성 방법 및 메모리 장치
US5860083A (en) Data storage system having flash memory and disk drive
JP2582487B2 (ja) 半導体メモリを用いた外部記憶システム及びその制御方法
EP0931289B1 (en) Nonvolatile writeable memory with program suspend command
JP5220747B2 (ja) 不揮発性記憶装置および不揮発性記憶システム
JP4536785B2 (ja) 情報処理装置、該情報処理装置で行われるデータ記憶を制御する制御部およびデータ記憶の制御方法
JP2549034B2 (ja) 記憶装置
JPH07146820A (ja) フラッシュメモリの制御方法及び、それを用いた情報処理装置
JPH1097353A (ja) コンピュータシステム及び同システムに適用するレジューム処理方法
US5940861A (en) Method and apparatus for preempting operations in a nonvolatile memory in order to read code from the nonvolatile memory
US5724544A (en) IC memory card utilizing dual eeproms for image and management data
JPH0728690A (ja) フラッシュメモリシステム
US7263580B2 (en) Cache flush based on checkpoint timer
EP0649095A2 (en) Nonvolatile storage with high speed data access
JP2003280979A (ja) 情報記憶装置
JPH06222985A (ja) メモリ制御装置
JP3450071B2 (ja) Pcカード
JP2007310447A (ja) データ記憶装置およびこの初期化方法
JP3427010B2 (ja) コンピュータシステム
JP2001084180A (ja) ファイル管理装置
JPH0764831A (ja) データ記憶装置
JP3313576B2 (ja) メモリアクセス制御方法及び装置
JPH10240633A (ja) メモリシステム及びメモリカード
JP2842252B2 (ja) 計算機システムにおけるフラッシュメモリカードへのデータ書き込み方式
TWI773371B (zh) 固態硬碟

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130524

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140530

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150515

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee