KR20000011227A - 칩인에이블신호생성회로및메모리장치 - Google Patents

칩인에이블신호생성회로및메모리장치 Download PDF

Info

Publication number
KR20000011227A
KR20000011227A KR1019990011112A KR19990011112A KR20000011227A KR 20000011227 A KR20000011227 A KR 20000011227A KR 1019990011112 A KR1019990011112 A KR 1019990011112A KR 19990011112 A KR19990011112 A KR 19990011112A KR 20000011227 A KR20000011227 A KR 20000011227A
Authority
KR
South Korea
Prior art keywords
chip
signal
chip enable
enable signal
memory
Prior art date
Application number
KR1019990011112A
Other languages
English (en)
Other versions
KR100312888B1 (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 KR20000011227A publication Critical patent/KR20000011227A/ko
Application granted granted Critical
Publication of KR100312888B1 publication Critical patent/KR100312888B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

본 발명은 m개의 칩을 탑재하는 장치와 2m개의 칩을 탑재하는 장치에 공통으로 사용되고, 칩 정보가 외부에서 부여되지 않아도 칩 인에이블 신호를 생성할 수 있는 칩 인에이블 신호 회로의 제공을 목적으로 한다. 본 발명은 칩 번호가 발행될 때에 칩 번호를 가리키는 칩의 인에이블을 지시하는 m비트의 칩 인에이블 신호를 생성하는 제1 생성 수단과, 칩 번호가 발행 될 때에 칩 번호로부터 특정 칩 번호에 대하여 제1 생성 수단이 생성하는 칩 인에이블 신호와 동일한 비트 패턴을 나타내는 m비트의 칩 인에이블 생성용 신호를 생성하는 제2 생성 수단과, 최대 m개의 칩을 탑재하는 장치에 이용될 때에는 제1 생성 수단이 생성하는 신호를 선택 출력하고, 최대 2m개의 칩을 탑재하는 장치에 이용될 때에는 제2 생성 수단이 생성하는 신호를 선택 출력하는 선택 수단을 구비하도록 구성한다.

Description

칩 인에이블 신호 생성 회로 및 메모리 장치{CIRCUIT OF GENERATING CHIP ENABLE SIGNAL AND MEMORY DEVICE}
본 발명은 최대 m개의 칩을 탑재하는 장치와 최대 2m개의 칩을 탑재하는 장치에 공통으로 사용되거나 최대 m개의 칩을 탑재하는 장치와 최대 2m+n개의 칩을 탑재하는 장치에 공통으로 사용되며, 이들 칩에 대한 칩 인에이블 신호를 생성하는 칩 인에이블 신호 생성 회로와, 이 칩 인에이블 신호 생성 회로의 탑재에 적합한 메모리 장치에 관한 것이며, 특히 장치가 갖는 칩 정보가 외부로부터 부여되지 않아도 이들 칩에 대한 칩 인에이블 신호를 생성할 수 있도록 하는 칩 인에이블 신호 생성 회로와, 이 칩 인에이블 신호 생성 회로의 탑재에 적합한 메모리 장치에 관한 것이다.
최근, 플래시 메모리가 보급되고 있는데, 이 플래시 메모리는 메모리 내용을 일괄해서 소거할 수 있는 기능을 갖는 EEPROM이고, 집적도를 높여서 소형인 사이즈를 실현할 수 있다는 특징도 가지므로, 여러가지 전자 기기에 탑재되는 것이 예상된다.
따라서, 이 플래시 메모리를 탑재하는 메모리 카드에 대해서도 탑재 지점의 전자 기기에 맞추어, 다수개의 플래시 메모리를 탑재하는 것부터 수십개의 플래시 메모리를 탑재하는 것까지 몇개의 종류를 준비해 갈 필요가 있다. 이러한 메모리 카드에 대하여, 플래시 메모리 수에 따른 콘트롤러를 준비하는 것은 매우 곤란한 일이기 때문에, 공통으로 사용할 수 있는 콘트롤러를 마련할 필요가 있지만, 이를 실현함에 있어서 단자수 등의 증가를 초래하는 일 없이 그것이 실현되도록 할 필요가 있다.
플래시 메모리등의 칩에 부여하는 칩 인에이블 신호의 생성 방법으로서는 바이너리 코드의 각 비트에 직접 칩 인에이블 신호를 할당함으로써 생성하는 방법과, 바이너리 코드를 디코드함으로써 생성하는 방법이 있다.
즉, 전자의 방법에서는 m개의 칩에 대한 칩 인에이블 신호를 생성하는 경우, m비트의 바이너리 코드의 각 비트에 쌍이 되는 칩에 대하여 칩 인에이블 신호를 할당함으로써 어느 것이나 1개의 칩의 인에이블을 지시하는 칩 인에이블 신호를 생성한다.
예컨대, 4개 있는 칩의 제1 번째의 칩을 인에이블화하는 경우에는 [0001]이라는 칩 인에이블 신호를 생성하고, 제2 번째의 칩을 인에이블화하는 경우에는 [0010]이라는 칩 인에이블 신호를 생성하며, 제3 번째의 칩을 인에이블화 하는 경우에는 [0100]이라는 칩 인에이블 신호를 생성하며, 제4 번째의 칩을 인에이블화하는 경우에는 [1000]이라는 칩 인에이블 신호를 생성하게 된다.
한편, 후자의 방법에서는 2m개의 칩에 대한 칩 인에이블 신호를 생성하는 경우, m비트의 바이너리 코드를 디코드함으로써 어느 것인가 1개의 칩의 인에이블을 지시하는 칩 인에이블 신호를 생성한다.
예컨대, l6개 있는 칩의 제1번째의 칩을 인에이블화 하는 경우에는 [0001]이라는 바이너리 코드를 디코드함으로써 [0000000000000001]이라는 칩 인에이블 신호를 생성하고, 제2번째의 칩을 인에이블화하는 경우에는 [0010]이라는 바이너리 코드를 디코드함으로써 [0000000000000010]이라는 칩 인에이블 신호를 생성하며, 제3번째의 칩을 인에이블화하는 경우에는 [0011]이라는 바이너리 코드를 디코드함으로써 [0000000000000100]이라는 칩 인에이블 신호를 생성하게 된다.
전자의 칩 인에이블 신호의 생성 방법은 m비트로 m개의 칩에 대한 칩 인에이블 신호를 생성하기 때문에 칩의 수가 적을 때에 사용하고, 후자의 칩 인에이블 신호의 생성 방법은 m비트로 2m개의 칩에 대한 칩 인에이블 신호를 생성하기 때문에 칩의 수가 많을 때에 사용된다.
따라서, 플래시 메모리 등의 칩에 대하여 칩 인에이블 신호를 송출할 때에는 칩 인에이블 신호를 생성하는 콘트롤러는 칩의 수가 적은 때에는 전자의 방법으로 칩 인에이블 신호를 생성하고, 칩의 수가 많을 때에는 후자의 방법으로 칩 인에이블 신호를 생성하는 구성을 채용하고 있다.
따라서, 칩의 수가 적은 장치에 사용되는 콘트롤러와, 칩수가 많은 장치에 사용되는 콘트롤러를 공용화하는 경우, 칩 인에이블 신호의 생성 방법이 다르므로 콘트롤러에 대하여 칩수가 적은 장치에 탑재되어 있는지, 칩수가 많은 장치에 탑재되어 있는지를 알릴 필요가 있다.
이것을 실현하기 위해서, 종래 기술에서는 외부와 주고 받기 위해서 설치되는 콘트롤러의 단자에 전용 단자를 마련하는 구성을 채용하고, 그 전용의 단자를 사용하여, 외부로부터 탑재되어 있는 칩의 수나 칩 인에이블 신호의 생성 방법 등을 통지한다는 구성을 채용하고 있다.
그렇지만, 이러한 종래 기술에 따르면, 외부와 주고 받기 위해서 설치되는 콘트롤러의 단자에, 통상의 동작시에는 사용하지 않는 전용의 단자를 설치하지 않으면 안된다고 하는 문제점이 있다.
이 단자수의 증가는 콘트롤러의 소형화를 실현함에 있어서 큰 장해가 되고 있기 때문에, 종래 기술에 의하면 콘트롤러를 실장(實裝)하는 장치의 소형화를 도모할 수 없다고 하는 문제점이 있다.
특히, 플래시 메모리를 탑재하는 장치는 플래시 메모리가 소형인 사이즈인 것을 이용하고 있기 때문에 소형화가 많이 요구되고 따라서, 종래 기술에 의하면 이 소형화의 요구에 대응할 수 없다고 하는 문제점이 있었다.
본 발명은 이러한 사정에 비추어 이루어진 것으로서, 최대 m개의 칩을 탑재하는 장치와 최대 2m개의 칩을 탑재하는 장치에 공통으로 사용되거나, 최대 m개의 칩을 탑재하는 장치와 최대 2m+n개의 칩을 탑재하는 장치에 공통으로 사용되는 구성을 채용하는 경우에 있어서, 장치가 갖는 칩 정보가 외부에서 부여되지 않더라도, 이들 칩에 대한 칩 인에이블 신호를 생성할 수 있도록 하는 새로운 칩 인에이블 신호 생성 회로의 제공과, 이 칩 인에이블 신호 생성 회로의 탑재에 적합한 새로운 메모리 장치의 제공을 목적으로 한다.
도 1은 본 발명의 원리 구성도.
도 2의 (a) 및 (b)는 본 발명의 적용되는 메모리 카드의 설명도.
도 3은 메모리 카드의 장치 구성도.
도 4는 칩 인에이블 신호 생성 회로의 실시예.
도 5는 바이너리 코드 변환 처리의 설명도.
도 6은 디코드 처리의 설명도.
도 7은 CPU가 실행하는 처리 플로우.
도 8은 바이너리 코드 변환 처리의 설명도.
도 9는 디코드 처리의 설명도.
도 10은 바이너리 코드 변환 처리의 설명도.
도 11은 디코드 처리의 설명도.
도 12는 바이너리 코드 변환 처리의 설명도.
도 13은 디코드 처리의 설명도이다.
도 14는 칩 인에이블 신호 생성 회로의 실시예.
도 15의 (a) 및 (b)는 콘트롤러와 메모리의 사이의 결선(結線)의 설명도.
도 16은 연산 회로가 산출하는 나머지 및 몫의 설명도.
도 17은 바이너리 코드 변환 처리의 설명도.
도 18은 디코드 처리의 설명도.
도 19는 바이너리 코드 변환 처리의 설명도.
도 20은 디코드 처리의 설명도.
도 21은 연산 회로가 산출하는 나머지 및 몫의 설명도.
도 22는 바이너리 코드 변환 처리의 설명도.
도 23은 디코드 처리의 설명도.
도 24는 바이너리 변환 처리의 설명도.
도 25는 디코드 처리의 설명도.
도 26은 선두의 플래시 메모리에 저장되는 설정 정보를 나타내는 도면.
도 27은 설정 장치가 실행하는 처리 플로우.
도 28은 CPU의 실행하는 처리 플로우.
도 29는 본 발명의 설명도.
도 30은 플래시 메모리의 설명도.
도 31은 내부 테이블의 설명도.
도 32는 본 발명의 설명도.
도 33은 본 발명의 설명도.
도 34는 CPU가 실행하는 처리 플로우.
〈도면의 주요 부분에 대한 부호의 설명〉
la : 제1 칩 보드
1b : 제2 칩 보드
2 : 콘트롤러
10a, 10b : 메모리 칩
11 : 디코더
20 : 제1 생성 수단
21 : 제2 생성 수단
22 : 선택 수단
23 : 유지 수단
24 : 취득 수단
25 : 설정 수단
도 1에 본 발명의 원리 구성을 도시한다.
도 1에 있어서, 참조 부호 la는 제1 칩 보드이고 1b는 제2 칩 보드이며, 참조 부호 2는 본 발명을 구비하는 콘트롤러이다.
이 제1 칩 보드(1a)는 최대 m개의 메모리 칩(10a)을 탑재한다. 제2 칩 보드(1b)는 최대 2m개의 메모리 칩(10b)을 탑재하거나, 최대 2m+n개의 메모리 칩(10b)을 탑재한다.
제2 칩 보드(1b)는 디코더(11)를 더 구비한다. 이 디코더(11)는 제2 칩 보드(1b)가 최대 2m개의 메모리 칩(10b)을 탑재하는 겨우에 있어서, m비트의 칩 인에이블 생성용 신호가 부여될 때에 이들 신호를 디코드함으로써 2m개로 구성되는 칩 인에이블 신호를 생성한다. 또한 제2 칩 보드(1b)가 최대 2m+n개의 메모리 칩(10b)을 탑재하는 경우에는, (m+n)비트의 칩 인에이블 생성용 신호가 부여될 때에 이들 신호를 디코드함으로써 2m+n개로 구성되는 칩 인에이블 신호를 생성한다.
콘트롤러(2)는 제1 칩 보드(1a)와 제2 칩 보드(1b)에 공통으로 마련되어 제1 칩 보드(la)가 사용될 때에는 제1 칩 보드(la)에 대하여 칩 인에이블 신호를 출력하고, 제2 칩 보드(1b)가 사용될 때에는 제2 칩 보드(1b)에 대하여 칩 인에이블 생성용 신호를 출력한다.
콘트롤러(2)는 이 출력 처리를 실현하기 위해서 제1 생성 수단(20), 제2 생성 수단(21), 선택 수단(22), 유지 수단(23), 취득 수단(24) 및 설정 수단(25)을 구비한다.
제1 생성 수단(20)은 제2 칩 보드(1b)가 최대 2m개의 메모리 칩(10b)을 탑재할 때에는 콘트롤러(2)가 구비하는 CPU에서 칩 번호가 발행될 때에 이 칩 번호가 가리키는 메모리 칩(10a)의 인에이블을 지시하는 m비트의 칩 인에이블 신호를 생성한다.
또한 제1 생성 수단(20)은 제2 칩 보드(1b)가 최대 2m+n개의 메모리 칩(10b)을 탑재할 때에는 콘트롤러(2)가 구비하는 CPU에서 칩 번호가 발행될 때 이 칩 번호가 가리키는 메모리 칩(10a)의 인에이블을 지시하는 m비트의 신호를 구하고, 이 신호를 하위 m비트로 하는 (m+n)비트의 칩 인에이블 신호를 생성한다.
제2 생성 수단(21)은 제2 칩 보드(1b)가 최대 2m개의 메모리 칩(10b)을 탑재하는 때에는 콘트롤러(2)가 구비하는 CPU에서 칩 번호가 발행될 때 이 칩 번호로부터 특정 칩 번호에 관해서 제1 생성 수단(20)이 생성하는 칩 인에이블 신호와 동일한 비트 패턴을 나타내는 m비트의 칩 인에이블 생성용 신호를 생성한다.
또한 제2 생성 수단(21)은 제2 칩 보드(1b)가 최대 2m+n개의 메모리 칩(10b)을 탑재하는 때에는 콘트롤러(2)가 구비하는 CPU에서 칩 번호가 발행될 때, 이 칩 번호를 2m으로 나눗셈하여 구해지는 나머지 또는 이 칩 번호로부터 1을 감산한 값을 2m으로 나눗셈하여 구해지는 나머지로부터 특정 칩 번호에 관해서 제1 생성 수단(20)이 생성하는 칩 인에이블 신호의 하위 m비트와 동일한 비트 패턴을 나타내는 신호를 구함과 동시에, 몫으로부터 특정 칩 번호에 관해서 제1 생성 수단(20)이 생성하는 칩 인에이블 신호의 상위 n비트와 동일한 비트 패턴을 나타내는 신호를 구하고, 전자의 신호를 하위 m비트로 하고, 후자의 신호를 상위 n비트로 하는 (m+n)비트의 칩 인에이블 생성용 신호를 생성한다.
선택 수단(22)은 제1 칩 보드(1a)가 이용될 때에는 제1 생성 수단(20)이 생성하는 칩 인에이블 신호를 선택하여 출력하고, 제2 칩 보드(1b)가 이용될 때에는 제2 생성 수단(21)이 생성하는 칩 인에이블 생성용 신호를 선택하여 출력한다. 유지 수단(23)은 선택 수단(22)에 부여하는 선택 지시 신호를 유지한다.
취득 수단(24)은 특정 칩 번호를 발행함으로써 이 특정 칩 번호가 가리키는 메모리 칩(10a, 10b)으로부터 제1 칩 보드(1a)가 사용되고 있기 때문에 제2 칩 보드(lb)가 사용되고 있는 것인지를 나타내는 정보를 취득한다. 설정 수단(25)은 취득 수단(24)이 취득하는 정보에 의해 규정되는 선택 지시 신호를 유지 수단(23)에 설정한다.
이와 같이 구성되는 본 발명에서는 콘트롤러(2)가 최대 m개의 메모리 칩(10a)을 탑재하는 제1 칩 보드(1a)와, 최대 2m개의 메모리 칩(1b)을 탑재하는 제2 칩 보드(1b)에 대하여 공통으로 이용될 때에는 취득 수단(24)은 처리의 개시에 앞서, 전술한 특정 칩 번호를 지정하여 메모리 칩(10a, 10b)으로의 액세스를 실행한다.
이 특정 칩 번호의 발행을 받아, 제1 생성 수단(20)은 이 특정 칩 번호가 가리키는 메모리 칩(10a)의 인에이블을 지시하는 m비트의 칩 인에이블 신호를 생성한다. 예컨대 m이 "4"로, 특정 칩 번호가 "0"일 때에는 0번 메모리 칩(10a)의 인에이블을 지시하는 [0001]이라는 칩 인에이블 신호를 생성한다.
한편, 이 특정 칩 번호의 발행을 받아, 제2 생성 수단(21)은 특정 칩 번호에 관해서 제1 생성 수단(20)이 생성하는 칩 인에이블 신호와 동일한 비트 패턴을 나타내는 m비트의 칩 인에이블 생성용 신호를 생성한다. 예컨대 특정 칩번호의 발행을 받아, 제1 생성 수단(20)이 [0001]이라는 칩 인에이블 신호를 생성할 때에는 [0001]이라는 칩 인에이블 생성용 신호를 생성한다.
이렇게 하여, 취득 수단(24)이 특정 칩 번호를 발행하는 때에는 제1 생성 수단(20)이 출력하는 m비트의 칩 인에이블 신호와, 제2 생성 수단(21)이 출력하는 m비트의 칩 인에이블 생성용 신호는 동일한 비트 패턴을 나타내게 된다.
이 때, 유지 수단(23)에는 예컨대 디폴트의 선택 지시 신호가 유지되어 있고, 선택 수단(22)은 이 디폴트의 선택 지시 신호에 따라서, 제1 생성 수단(20)이 생성하는 칩 인에이블 신호나, 제2 생성 수단(21)이 생성하는 칩 인에이블 생성용 신호를 선택하게 되지만 이 제1 및 제2 생성 수단(20, 21)이 출력하는 동일한 비트 패턴의 신호를 받아, 어느 쪽이 선택되어도 선택 수단(22)에서는 동일한 비트 패턴을 갖는 신호가 출력되게 된다.
이 선택 수단(22)이 출력하는 신호를 받아, 제1 칩 보드(1a)가 사용되는 경우에는 특정 칩 번호가 가리키는 메모리 칩(10a)이 인에이블화된다. 예컨대 선택 수단(22)이 출력하는 [0001]이라는 칩 인에이블 신호에 의해 특정 칩 번호인 0번 메모리 칩(10a)이 인에이블화된다.
한편, 이 선택 수단(22)이 출력하는 신호를 받아, 제2 칩 보드(1b)가 구비하는 디코더(11)는 선택 수단(22)으로부터 출력되는 칩 인에이블 생성용 신호를 디코드함으로써 특정 칩 번호가 가리키는 메모리 칩(10b)의 인에이블화를 지시하는 칩 인에이블 신호를 생성하고, 이것에 의해 제2 칩 보드(1b)가 사용되는 경우에는 특정 칩 번호가 가리키는 메모리 칩(10b)이 인에이블화된다. 예컨대 선택 수단(22)이 출력하는 [0001]이라는 칩 인에이블 생성용 신호에 의해 특정칩 번호인 0번 메모리 칩(10b)이 인에이블화된다.
이와 같이, 특정 칩 번호가 발행될 때에는 제1 칩 보드(1a)가 사용되는 경우에도, 제2 칩 보드(1b)가 사용되는 경우에도, 특정 칩 번호가 가리키는 메모리 칩(10a, 10b)이 인에이블화 된다.
따라서, 이 특정 칩 번호가 가리키는 메모리 칩(10a, 10b)에 제1 칩 보드(1a)가 사용되고 있는지, 제2 칩 보드(1b)가 사용되고 있는지를 나타내는 관리 정보를 저장해 두면 취득 수단(24)은 특정 칩 번호를 발행함으로써 그 관리 정보를 취득할 수 있고, 이것에 의해 제1 칩 보드(1a)가 사용되고 있는지, 제2 칩 보드(1b)가 사용하고 있는지를 취득할 수 있게 된다.
이 취득 수단(24)의 취득 처리를 받아, 설정 수단(25)은 취득된 정보에 의해 규정되는 선택 지시 신호를 유지 수단(23)에 설정하고, 이것을 받아, 유지 수단(23)은 제1 칩 보드(1a)가 사용되고 있는 때에는 선택 수단(22)이 제1 생성 수단(20)이 생성하는 칩 인에이블 신호를 선택하여 출력하도록 제어하고, 제2 칩 보드(1b)가 사용되고 있는 때에는 선택 수단(22)이 제2 생성 수단(21)이 생성하는 칩 인에이블 생성용 신호를 선택하여 출력하도록 제어하는 처리에 들어간다.
또한 이와 같이 구성되는 본 발명에서는 콘트롤러(2)가 최대 m개의 메모리 칩(10a)을 탑재하는 제1 칩 보드(1a)와, 최대 2m+n개의 메모리 칩(10b)을 탑재하는 제2 칩 보드(1b)에 대하여 공통으로 이용될 때에는 취득 수단(24)은 처리의 개시에 앞서, 전술한 특정 칩 번호를 지정하여 메모리 칩(10a, 10b)으로의 액세스를 실행한다.
이 특정 칩 번호의 발행을 받아, 제1 생성 수단(20)은 이 특정 칩 번호가 가리키는 메모리 칩(10a)의 인에이블을 지시하는 m비트의 신호를 구하고, 이 신호를 하위 m비트로 하는 (m+n)비트의 칩 인에이블 신호를 생성한다. 예컨대 m이 "4"이고, n이 "2"이며, 특정 칩 번호가 "0"인 때에는 0번 메모리 칩(10a)의 인에이블을 지시하는 [0001]이라는 신호를 하위 4비트로 하고, 예컨대 [00]이라는 신호를 상위 2비트로 하는 [00,0001]이라는 칩 인에이블 신호를 생성한다.
한편, 이 특정 칩 번호의 발행을 받아, 제2 생성 수단(21)은 특정 칩 번호를 2m으로 나눗셈하여 구해지는 나머지 또는 특정 칩 번호로부터 1을 감산한 값을 2m으로 나눗셈하여 구해지는 나머지로부터 특정 칩 번호에 관해서 제1 생성 수단(20)이 생성하는 칩 인에이블 신호의 하위 m비트와 동일한 비트 패턴을 나타내는 신호를 구함과 동시에, 몫으로부터 특정 칩 번호에 관해서 제1 생성 수단(20)이 생성하는 칩 인에이블 신호의 상위 n비트와 동일한 비트 패턴을 나타내는 신호를 구하고, 전자의 신호를 하위 m비트로 하고, 후자의 신호를 상위 n비트로 하는 (m+n)비트의 칩 인에이블 생성용 신호를 생성하다. 예컨대 특정 칩 번호의 발행을 받아, 제1 생성 수단(20)이 [00,0001]이라는 칩 인에이블 신호를 생성할 때에는 [00, 0001]이이라는 칩 인에이블 생성용 신호를 생성한다.
이렇게 하여, 취득 수단(24)이 특정 칩 번호를 발행하는 때에는 1 생성 수단(20)이 출력하는 (m+n)비트의 칩 인에이블 신호와, 제2 생성 수단(21)이 출력하는 (m+n)비트의 칩 인에이블 생성용 신호는 동일한 비트 패턴을 나타내게 된다.
이 때, 유지 수단(23)에는 예컨대 디폴트의 선택 지시 신호가 유지되어 있고, 선택 수단(22)은 이 디폴트의 선택 지시 신호에 따라서 제1 생성 수단(20)이 생성하는 칩 인에이블 신호나, 제2 생성 수단(21)이 생성하는 칩 인에이블 생성용 신호를 선택하게 되지만, 이 제1 및 제2 생성 수단(20, 21)이 출력하는 동일 비트 패턴의 신호를 받아, 어느 쪽이 선택되던지 선택 수단(22)으로부터 동일 비트 패턴을 갖는 신호가 출력된다.
이 선택 수단(22)이 출력하는 신호를 받아, 제1 칩 보드(1a)는 상위 n비트를 수취하지 않기 때문에, 제1 칩 보드(1a)가 사용되는 경우에는 선택 수단(22)이 출력하는 신호의 하위 m비트에 의해 지정되는 특정 칩 번호가 가리키는 메모리 칩(10a)이 인에이블화된다. 예컨대 선택 수단(22)이 출력하는 [00,0001]이라는 칩 인에이블 신호에 의해 특정 칩 번호인 0번 메모리 칩(10a)가 인에이블화된다.
한편, 이 선택 수단(22)이 출력하는 신호를 받아, 제2 칩 보드(1b)가 구비하는 디코더(11)는 선택 수단(22)으로부터 출력되는 칩 인에이블 생성용 신호를 디코드함으로써 특정 칩 번호가 가리키는 메모리 칩(10b)의 인에이블화를 지시하는 칩 인에이블 신호를 생성하고, 이것에 의해 제2 칩 보드(1b)가 이용되는 경우에는 특정 칩 번호가 가리키는 메모리 칩(10b)이 인에이블화된다. 예컨대 선택 수단(22)이 출력하는 [00,0001]이라는 칩 인에이블 생성용 신호에 의해 특정 칩 번호인 0번 메모리 칩(10b)이 인에이블화된다.
이와 같이, 특정 칩 번호가 발행될 때에는 제1 칩 보드(1a)가 사용되는 경우에도, 제2 칩 보드(1b)가 사용되는 경우에도, 특정 칩 번호가 가리키는 메모리 칩(10a, 10b)이 인에이블화된다.
따라서, 이 특정 칩 번호가 가리키는 메모리 칩(10a, 10b)에, 제1 칩 보드(la)가 사용되고 있는지, 제2 칩 보드(1b)가 사용되고 있는지를 나타내는 관리 정보를 저장해 두면 취득 수단(24)은 특정 칩 번호를 발행함으로써 이 관리 정보를 취득할 수 있고, 이것에 의해 제1 칩 보드(1a)가 사용되고 있는지 제2 칩 보드(1b)가 사용되고 있는지를 취득할 수 있게 된다.
이 취득 수단(24)의 취득 처리를 받아, 설정 수단(25)은 취득된 정보에 의해 규정되는 선택 지시 신호를 유지 수단(23)에 설정하고, 이것을 받아 유지 수단(23)은 제1 칩 보드(1a)가 사용되고 있을 때에는 선택 수단(22)이 제1 생성 수단(20)이 생성하는 칩 인에이블 신호를 선택하여 출력하도록 제어하고, 제2 칩 보드(lb)가 사용되고 있는 때에는 선택 수단(22)이 제2 생성 수단(21)이 생성하는 칩 인에이블 생성용 신호를 선택하여 출력하도록 제어하는 처리에 들어간다.
이렇게 하여, 본 발명에 의하면 최대 m개의 칩을 탑재하는 장치와 최대 2m개의 칩을 탑재하는 장치에 공통으로 사용되거나, 최대 m개의 칩을 탑재하는 장치와 최대 2m+n개의 칩을 탑재하는 장치에 공통으로 사용되는 구성을 채용하는 경우에 있어서, 장치가 갖는 칩 정보가 외부에서 부여되지 않아도 이들 칩에 대한 칩 인에이블 신호를 생성할 수 있게 된다.
본 발명을 구비하는 콘트롤러(2)에 따르면, 특정 칩 번호가 발행될 때에는 제1 칩 보드(la)가 사용되는 경우에도 제2 칩 보드(lb)가 사용되는 경우에도, 특정 칩 번호가 가리키는 메모리 칩(10a, 10b)이 인에이블화되고, 이 때문에 특정 칩 번호가 가리키는 메모리 칩(10a, 10b)에 제1 칩 보드(la)가 사용되고 있는지, 제2 칩 보드(1b)가 사용되고 있는 지를 나타내는 관리 정보를 저장해 두면, 취득 수단(24)은 특정 칩 번호를 발행함으로써 제1 칩 보드(la)가 사용되고 있는 것인지, 제2 칩 보드(lb)가 사용되고 있는 것인지를 취득할 수 있게 된다.
이 구성의 특징을 이용하여, 본 발명을 구비하는 메모리 장치에서는 CPU와, 전원 차단시에도 데이터를 유지하는 기능을 갖는 복수의 메모리(1개의 메모리인 경우도 있다)와, CPU의 지시에 응답하여 이들 메모리에 커맨드를 발행함으로써 이들 메모리를 제어하는 콘트롤러를 구비하는 구성을 채용하는 때에 있어서, 바람직하게는 특정 칩 번호가 가리키는 메모리인 선두의 메모리에, 메모리 장치로서의 동작에 필요한 정보를 저장함과 동시에, 장치의 기동시에 그 선두의 메모리로부터 메모리 장치로서의 동작에 필요한 정보를 독출하고, CPU상에서 주행하는 프로그램이 참조하는 레지스터에 저장하는 구성을 채용한다.
이 메모리 장치로서의 동작에 필요한 정보와, 외부에서 메모리 장치로서의 동작에 필요한 정보의 설정 요구가 발행될 때에, 이 정보를 취득하는 취득 수단과, 취득 수단이 취득하는 메모리 장치로서의 동작에 필요한 정보를 선두의 메모리에 기입하는 기입 수단을 구비함으로써 선두의 메모리에 저장된다.
예컨대, 기입 수단은 취득 수단의 취득 처리를 받아, 메모리 장치로서의 동작에 필요한 정보로서, 바람직하게는 선두의 메모리에 메모리의 접속수 정보를 기입하거나, 액세스 요구의 데이터가 소거되어 있을 때에 돌려주는 코드의 설정 정보를 기입하거나, 메모리 장치의 규격의 식별 정보를 기입하거나, 내부 레지스터의 규정 범위의 비트를 유효로 할 것인지, 무효로 할 것인지를 나타내는 설정 정보를 기록하거나, 내부 테이블의 작성 방법의 식별 정보를 기입하거나, 저소비 전력 모드에 들어 가는 시간의 설정 정보를 기입한다.
이 본 발명의 구성에 따라서, 메모리 장치로서의 동작에 필요한 정보를 커넥터의 단자 등을 사용하지 않고 취득할 수 있고 메모리 장치로서 동작할 수 있게 된다. 그리고, 이 본 발명의 구성에 따라서 액세스 요구를 발행하는 호스트등에 맞추어 처리 내용을 변경시킬 수 있게 된다.
예컨대, 제1 칩 보드(1a)가 사용되고 있는 것이 규정되어 있더라도, 그 칩수를 모르면 액세스 요구를 발행하는 호스트에 대하여 메모리 공간의 크기를 통지할 수 없지만, 본 본 발명의 구성에 따르면 CPU상에서 주행하는 프로그램은 커넥터의 단자 등을 사용하지 않고 메모리의 접속수 정보를 취득할 수 있고, 이것에 의해 호스트에 대하여 메모리 공간의 크기를 통지할 수 있게 된다.
또한 예컨대 메모리 장치의 규격을 변경함으로써 CPU상에서 주행하는 프로그램은 커넥터의 단자등을 사용하지 않고 액세스 요구를 발행하는 호스트에 맞춘 처리를 실행할 수 있게 된다.
이하, 실시의 형태에 따라서 본 발명을 상세히 설명한다.
도 2의 (a) 및 (b)는 본 발명이 적용되는 메모리 카드(30)를 도시한다. 이 메모리 카드(30)는 커넥터를 구비하고 있고, 호스트에 설치되는 슬롯에 착탈 자유롭게 접속되어 사용된다. 이 때, 메모리 카드(30)에 대한 급전(給電)은 접속 지점의 호스트로부터 커넥터를 통해 행해지게 된다.
도 2의 (a)는 플래시 메모리(100)를 탑재하는 메모리 카드(30)가 디지털 카메라(60)에 실장될 때의 장치를 나타내고 있고, 도 2의 (b)는 플래시 메모리(100)를 탑재하는 메모리 카드(30)가 퍼스널 컴퓨터(70)에 실장될 때의 장치를 나타내고 있다.
플래시 메모리(100)를 탑재하는 메모리 카드(30)가 디지털 카메라(60)에 실장되는 경우에는 소형화의 요구에 의해 플래시 메모리(100)의 수는 통상 수개로 주문되는데에 비하여, 퍼스널 컴퓨터(70)에 실장되는 경우에는 대규모인 메모리 용량의 요구에 의해 플래시 메모리(100)의 수는 통상 수십개로 주문된다.
도면에 도시된 플래시 콘트롤러(40)는 메모리 카드(30)에 실장되어, 메모리 카드(30)에 탑재되는 플래시 메모리(100)로의 액세스 제어를 실행함으로써 디지털 카메라(60)나 퍼스널 컴퓨터(70)가 어드레스를 지정하여 플래시 메모리(100)로의 액세스를 요구할 때에, 이 어드레스가 가리키는 플래시 메모리(100)로의 액세스를 실행하는 것이다.
이 실행에 있어서, 플래시 콘트롤러(40)는 적은 수의 플래시 메모리(100)를 탑재하는 메모리 카드(30)와 많은 수의 플래시 메모리(100)를 탑재하는 메모리 카드(30)에 대하여 공통으로 사용 가능한 구성을 채용하고 있다. 이 구성을 실현하기 위해서, 도 2의 (b)에 도시한 바와 같이, 많은 수의 플래시 메모리(100)를 탑재하는 메모리 카드(30)에는 디코더(50)가 구비된다.
도 3에, 본 발명을 구비하는 메모리 카드(30)의 장치 구성의 일례를 도시한다.
도 3에 도시된 바와 같이, 본 발명을 구비하는 메모리 카드(30)는 전술한 플래시 메모리(100)/플래시 콘트롤러(40) 외에 ROM(42)을 갖는 CPU(41), 칩 인에이블 신호 생성 회로(43), 버퍼(44), 호스트 콘트롤러(45), CPU 버스(46), 칩 인에이블 신호 선(47)등을 구비하고 있다.
이 ROM(42)에는 플래시 메모리(100)로의 액세스를 실현하는 프로그램이 저장되어 있고, CPU(41)은 디지털 카메라(60)나 퍼스널 컴퓨터(70)가 액세스 요구를 발행할 때에, DL 프로그램에 따라서 플래시 콘트롤러(40)에 대하여 액세스 지시를 발행함으로써 플래시 메모리(100)로의 액세스를 실행하는 처리를 행한다.
더욱 상세히 설명하면, 후술한 바와 같이 선두의 플래시 메모리(100)에는 탑재되는 플래시 메모리(100)의 개수 등의 구성 정보가 저장되어 있기 때문에, CPU(41)는 메모리 카드(30)의 기동시에 ROM(42)에 저장되는 프로그램에 따라서, 플래시 메모리(100)에 기록되는 1칩당의 메모리 용량과 구성 정보를 독출함으로써 모든 메모리 용량을 특정하여 이것을 디지털 카메라(60)나 퍼스널 컴퓨터(70)에 통지하는 등의 처리를 한다
그리고, 통상의 동작시에 디지털 카메라(60)나 퍼스널 컴퓨터(70)가 어드레스를 지정하고 액세스 요구를 발행하면, ROM(42)에 저장되는 프로그램에 따라서, 이 1칩당의 메모리 용량으로부터 액세스 지점이 되는 플래시 메모리(100)의 칩 번호를 특정하고, 이 칩 번호가 가리키는 플래시 메모리(100)를 인에이블화 하면서, 플래시 콘트롤러(40)에 대하여 액세스 지시를 발행함으로써 플래시 메모리(100)로의 액세스를 실행하는 등의 처리를 한다.
플래시 콘트롤러(40)는 CPU(41)로부터 플래시 메모리(100)로의 액세스 지시가 발행될 때에, CPU 버스(46)의 버스 사용권을 획득하고, 플래시 메모리(100)에 플래시 커맨드를 발행함으로써 플래시 메모리(100)로의 액세스를 실행한다.
칩 인에이블 신호 생성 회로(43)는 CPU(41)가 발행하는 칩 번호에 응답하여 칩 인에이블 신호를 생성하고, 이것을 칩 인에이블 신호 선(47)을 통해 플래시 메모리(100)에 부여함으로써 플래시 메모리(100)를 인에이블화한다. 버퍼(44)는 플래시 메모리(100)에 기입하는 데이터와, 플래시 메모리(100)에서 독출한 데이터를 저장한다.
호스트 콘트롤러(45)는 디지털 카메라(60)와 퍼스널 컴퓨터(70) 사이의 인터페이스 처리를 실행한다. CPU 버스(46)는 플래시 콘트롤러(40)와 CPU(41)와 버퍼(44)와 호스트 콘트롤러(45)의 사이를 접속한다.
도 4에, 칩 인에이블 신호 생성 회로(43)의 일실시예를 도시한다. 이 실시예에서는 디지털 카메라(60) 등에 실장되는 메모리 카드(30)에 탑재되는 m개의 플래시 메모리(100)에 대한 칩 인에이블 신호를 생성하는 기능과, 퍼스널 컴퓨터(70) 등에 실장되는 메모리 카드(30)에 탑재되는 2m개의 플래시 메모리(100)에 대한 칩 인에이블 신호를 생성하는 기능을 실현한다.
이 실시예에 따른 칩 인에이블 신호 생성 회로(43)는 플래시 콘트롤러(40)가 갖는 칩 번호 레지스터(400)에 저장되는 m비트의 칩 번호에 코드 변환 처리를 행하는 것으로서, m개의 플래시 메모리(100)에 대한 m비트의 칩 인에이블 신호를 생성하는 제1 바이너리 코드 변환 회로(401)와 플래시 콘트롤러(40)가 갖는 칩 번호 레지스터(400)에 저장된 m비트의 칩 번호에 코드 변환 처리를 실시함으로써 2m개의 플래시 메모리(100)에 대한 m비트의 칩 인에이블 생성용 신호를 생성하는 제2 바이너리 코드 변환 회로(402)와 제1 바이너리 코드 변환 회로(401)가 생성하는 칩 인에이블 생성용 신호나, 제2의 바이너리 코드 변환 회로(402)가 생성하는 칩 인에이블 생성용 신호의 어느 한편을 선택하여 플래시 메모리(100)에 출력하는 멀티플렉서(403)와, 멀티플렉서(403)에 부여하는 선택 지시 신호를 유지하는 선택 지시 신호 레지스터(404)를 구비한다.
플래시 콘트롤러(40)가 갖는 칩 번호 레지스터(400)에는 CPU(41)가 발행하는 칩 번호가 저장된다. 이 때 저장되는 칩 번호가 0부터 시작하고 플래시 메모리(100)에 부여하는 칩 인에이블 신호가 정(正)논리인 경우, 「m=4」를 구체예로 하여 설명하면, 제1 바이너리 코드 변환 회로(401)는 도 5의 좌측에 나타내는 코드 변환 처리를 실행하고 제2의 바이너리 코드 변환 회로(402)는 도 5의 우측에 나타내는 코드 변환 처리를 실행한다.
즉, 제1 바이너리 코드 변환 회로(401)는 0부터 시작하는 4비트의 칩 번호가 부여되면, 도 5의 좌측에 도시한 바와 같이, 「0000」의 칩 번호가 부여될 때에는 0번 플래시 메모리(100)의 인에이블화를 지시하는 「0001」이라는 칩 인에이블 신호를 생성하고, 「0001」의 칩 번호가 부여될 때에는 1번 플래시 메모리(100)의 인에이블화를 지시하는 「0010」이라는 칩 인에이블 신호를 생성하고, 「0010」의 칩 번호가 부여될 때에는 2번 플래시 메모리(100)의 인에이블화를 지시하는 「0100」이라는 칩 인에이블 신호를 생성하고, 「001l」의 칩 번호가 부여될 때에는 3번 플래시 메모리(100)의 인에이블화를 지시하는 「1000」이라는칩 인에이블 신호를 생성한다.
또, 후술하는 바와 같이, CPU(41)가 m이상의 칩 번호를 발행할 때에는 멀티플렉서(403)가 제2 바이너리 코드 변환 회로(402)가 생성하는 칩 인에이블 생성용 신호를 선택하게 되기 때문에, 제1 바이너리 코드 변환 회로(401)는 그 칩 번호를 어떻게 변환하더라도 상관없다.
한편, 제2 바이너리 코드 변환 회로(402)는 0부터 시작하는 4비트의 칩 번호가 부여되면, 도 5의 우측에 도시된 바와 같이, 그 칩 번호의 2치화값에 1을 가산한 값을 갖는 칩 인에이블 생성용 신호를 생성한다. 예컨대 「0000」의 칩 번호가 부여될 때에는 「0001」이라는 칩 인에이블 생성용 신호를 생성하고, 「0001」의 칩 번호가 부여될 때에는 「0010」이라는 칩 인에이블 생성용 신호를 생성하고, 「0010」의 칩 번호가 부여될 때에는 「0011」이라는 칩 인에이블생성용 신호를 생성하며, 「0011」의 칩 번호가 부여될 때에는 「0100」이라는 칩 인에이블 생성용 신호를 생성한다.
이 때, 2m개의 플래시 메모리(100)를 탑재하는 메모리 카드(30)에 설치되는 디코더(50)(도 2의 (b)에 도시됨)로서, 도 6에 도시된 바와 같이, 칩 인에이블 생성용 신호를 디코함으로써 이 칩 인에이블 생성용 신호의 생성원이 된 CPU(41)가 발행하는 칩 번호가 가리키는 플래시 메모리(100)의 인에이블화를 지시하는 칩 인에이블 신호를 생성하는 것을 준비한다.
즉, 디코더(50)는 제2 바이너리 코드 변환 회로(402)로부터 「0001」이라는 칩 인에이블 생성용 신호가 입력될 때에는 0번 플래시 메모리(100)의 인에이블화를 지시하는 「0∼01」이라는 칩 인에이블 신호를 생성하고, 「0010」이라는 칩 인에이블 생성용 신호가 입력될 때에는 1번 플래시 메모리(100)의 인에이블화를 지시하는 「0∼010」이라는 칩 인에이블 신호를 생성하고, 「001l」이라는 칩 인에이블 생성용 신호가 입력될 때에는 2번 플래시 메모리(100)의 인에이블화를 지시하는 「0∼0100」이라는 칩 인에이블 신호를 생성한다.
도 5에서 알 수 있는 바와 같이, 「0000」의 칩 번호가 부여될 때와, 「0001」의 칩 번호가 부여될 때에는 제1의 바이너리 코드 변환 회로(401)와 제2 바이너리 코드 변환 회로(402)는 동일한 비트 패턴을 나타내는 신호를 생성한다. 즉, 「0000」의 칩 번호가 부여될 때에는 함께 「0001」이라는 신호를 생성하고 또한 「0001」의 칩 번호가 부여될 때에는 함께 「0010」이라는 신호를 생성한다.
이 때, 도 6으로부터 알 수 있는 바와 같이, 디코더(50)는 제2 바이너리 코드 변환 회로(402)가 생성하는 「0001」이라는 칩 인에이블 생성용 신호를 받아, 0번 플래시 메모리(100)의 인에이블화를 지시하는 「0∼01」이라는 칩 인에이블 신호를 출력하고, 또한 제2 바이너리 코드 변환 회로(402)가 생성하는 「0010」이라는 칩 인에이블 생성용 신호를 받아, 1번 플래시 메모리(100)의 인에이블화를 지시하는 「0∼010」이라는 칩 인에이블 신호를 출력한다.
따라서, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 수가 m개인 경우에도 2m개인 경우에도, CPU(41)는 「0000」이라는 칩 번호를 발행하면, 0번 플래시 메모리(100)를 인에이블화할 수 있고, 「0001」이라는 칩 번호를 발행하면, 1번 플래시 메모리(100)를 인에이블화할 수 있게 된다.
따라서, 예컨대 선두에 위치하는 0번 플래시 메모리(100)에, 탑재되어 있는 플래시 메모리(100)가 제1 바이너리 코드 변환 회로(401)를 이용하는 방식(이하, 방식 ①로 칭한다)에 따를 것인지, 제2 바이너리 코드 변환 회로(402)를 이용하는 방식(이하, 방식 ②로 칭한다)에 따를 것인지의 정보와, 탑재되어 있는 플래시 메모리(100)의 칩수의 정보를 저장(플래시 메모리(100)의 메모리 용량의 정보에 관하여는 원래 저장되어 있다)해 두도록 하면, CPU(41)는 전용의 단자 등에 의존하지 않고, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 탑재 형태를 알 수 있으므로, 플래시 메모리(100)로의 액세스 제어를 실행할 수 있게 된다.
즉, CPU(41)(정확히는 CPU(41)로 주행하는 프로그램이지만, 설명의 편의상, 이하에서는 CPU(41)로 기재하기로 한다)는 메모리 카드(30)의 기동시에, 이렇게 하여 취득하는 플래시 메모리(100)의 칩수 및 메모리 용량에서, 플래시 메모리(100)에 할당되는 어드레스의 최대값을 구하고, 이것을 디지털 카메라(60)나 퍼스널 컴퓨터(70)등의 호스트에게 통지함으로써 호스트가 발행하는 어드레스가 플래시 메모리(100)로 할당되는 어드레스에 들어가도록 제어할 수 있게 되는 동시에, 호스트가 액세스 요구를 발행할 때에 호스트가 발행하는 어드레스가 가리키는 플래시 메모리(100)의 칩 번호를 특정할 수 있으므로, 이 플래시 메모리(100)를 인에이블화할 수 있게 된다.
그리고, CPU(41)는 도 7의 처리 플로우에 도시된 바와 같이, 메모리 카드(30)의 기동시에, 이렇게 하여 취득하는 방식 ①에 따르는 것인지, 방식 ②에 따르는 것인지의 정보에 따라서, 선택 지시 신호 레지스터(404)에 선택 지시 신호를 세트함으로써 제1 바이너리 코드 변환 회로(401)가 생성하는 칩 인에이블 신호를 선택하여 플래시 메모리(100)에 출력할 것인지, 제2 바이너리 코드 변환 회로(402)가 생성하는 칩 인에이블 생성용 신호를 선택하여 플래시 메모리(100)에 출력할 것인지를 제어함으로써 플래시 메모리(100)으로의 액세스를 제어할 수 있게 되는 것이다.
다음에, 도 4의 실시예에 따르면, CPU(41)가 발행하는 칩 번호가 0부터 시작하고, 플래시 메모리(100)에 부여하는 칩 인에이블 신호가 부(負)논리인 경우에 대해서 설명한다.
이 경우에는 제1 바이너리 코드 변환 회로(401)는 도 8의 좌측에 나타내는 코드 변환 처리를 실행하고, 제2 바이너리 코드 변환 회로(402)는 도 8의 우측에 나타내는 코드 변환 처리를 실행한다.
즉, 제1 바이너리 코드 변환 회로(401)는 0부터 시작하는 4비트의 칩번호가 부여되면, 도 8의 좌측에 도시된 바와 같이, 「0000」의 칩 번호가 부여될 때에는 0번 플래시 메모리(100)의 인에이블화를 지시하는 「11l0」이라는 칩 인에이블 신호를 생성하고, 「0001」의 칩 번호가 부여될 때에는 1번 플래시 메모리(100)의 인에이블화를 지시하는 「ll01」이라는 칩 인에이블 신호를 생성하고, 「0010」의 칩 번호가 부여될 때에는 2번 플래시 메모리(100)의 인에이블화를 지시하는 「1011」이라는 칩 인에이블 신호를 생성하고, 「0011」의 칩 번호가 부여될 때에는 3번 플래시 메모리(100)의 인에이블화를 지시하는 「0111」이라는 칩 인에이블 신호를 생성한다.
한편, 제2 바이너리 코드 변환 회로(402)는 0부터 시작하는 4비트의 칩 번호가 부여되면, 도 8의 우측에 도시된 바와 같이, 이 칩 번호의 2치화값의 비트 반전값으로부터 1을 감산한 값을 갖는 칩 인에이블 생성용 신호를 생성한다. 예컨대 「0000」의 칩 번호가 부여될 때에는 「lll0」이라는 칩 인에이블 생성용신호를 생성하고, 「0001」의 칩 번호가 부여될 때에는 「1101」이라는 칩 인에이블 생성용 신호를 생성하고, 「0010」의 칩 번호가 부여될 때에는 「ll00」이라는 칩 인에이블 생성용 신호를 생성하고, 「001l」의 칩 번호가 부여될 때에는 「1011」이라는 칩 인에이블 생성용 신호를 생성한다.
이 때, 2m개의 플래시 메모리(100)를 탑재하는 메모리 카드(30)에 설치되는 디코더(50)로서, 도 9에 도시된 바와 같이, 칩 인에이블 생성용 신호를 디코드함으로써 이 칩 인에이블 생성용 신호의 생성원이 된 CPU(41)가 발행하는 칩 번호가 가리키는 플래시 메모리(100)의 인에이블화를 지시하는 칩 인에이블 신호(부논리)를 생성하는 것을 준비한다.
이 경우에도, 도 8에서 알 수 있는 바와 같이, 「0000」의 칩 번호가 부여될 때와, 「0001」의 칩 번호가 부여될 때에는 제1 바이너리 코드 변환 회로(401)와 제2 바이너리 코드 변환 회로(402)는 동일한 비트 패턴을 나타내는 신호를 생성한다. 즉, 「0000」의 칩 번호가 부여될 때에는 공동으로 「lll0」이라는 신호를 생성하고 또한 「0001」의 칩 번호가 부여될 때에는 공동으로 「1101」이라는 신호를 생성한다.
그리고, 이 때 도 9에서 알 수 있는 바와 같이, 디코더(50)는 제2 바이너리 코드 변환 회로(402)가 생성하는 「ll10」이라는 칩 인에이블 생성용 신호를 받아, 0번 플래시 메모리(100)의 인에이블화를 지시하는 「1∼10」이라는 칩 인에이블 신호를 출력하고 또한 제2 바이너리 코드 변환 회로(402)가 생성하는 「1101」이라는 칩 인에이블 생성용 신호를 받아, 1번 플래시 메모리(100)의 인에이블화를 지시하는 「1 ∼101」이라는 칩 인에이블 신호를 출력한다.
따라서, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 수가 m개인 경우에도, 2m인 경우에도, CPU(41)는 「0000」이라는 칩 번호를 발행하면 0번 플래시 메모리(100)를 인에이블화할 수 있고, 「0001」이라는 칩 번호를 발행하면 1번 플래시의 메모리(100)를 인에이블화할 수 있게 된다.
이 때문에 예컨대 선두에 위치하는 0번 플래시 메모리(100)에, 탑재되어 있는 플래시 메모리(100)가 방식 ①에 따를 것인지, 방식 ②에 따를 것인지의 정보와, 탑재되어 있는 플래시 메모리(100)의 칩수의 정보를 저장(플래시 메모리(100)의 메모리 용량의 정보에 대해서는 원래 저장되어 있다)하여 두도록 하면, CPU(41)는 전용의 단자 등에 의존하지 않고, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 탑재 형태를 알 수 있으므로, 플래시 메모리(100)로의 액세스 제어를 실행할 수 있게 된다.
다음에, 도 4의 실시예에 따르면, CPU(41)가 발행하는 칩 번호가 1부터 시작하고, 플래시 메모리(100)에 부여하는 칩 인에이블 신호가 정논리인 경우에 대하여 설명한다. 또, 이 때 예컨대 「m=4」의 예로 설명하면, 16번 칩 번호에 관해서는 4비트로 나타낼 수 없기 때문에, CPU(41)는 16번 칩 번호를 발행하는 때에는 「0000」으로 발행하도록 처리하게 된다.
이 경우에는 제1 바이너리 코드 변환 회로(401)는 도 10의 좌측에 나타내는 코드 변환 처리를 실행하고, 제2 바이너리 코드 변환 회로(402)는 도 10의 우측에 나타내는 코드 변환 처리를 실행한다.
즉, 제1 바이너리 코드 변환 회로(401)는 1부터 시작하는 4비트의 칩 번호가 부여되면, 도 10의 좌측에 도시된 바와 같이, 「0001」의 칩 번호가 부여될 때에는 1번 플래시 메모리(100)의 인에이블화를 지시하는 「0001」이라는 칩 인에이블 신호를 생성하고, 「0010」의 칩 번호가 부여될 때에는 2번 플래시 메모리(100)의 인에이블화를 지시하는 「0010」이라는 칩 인에이블 신호를 생성하고, 「0011」의 칩 번호가 부여될 때에는 3번 플래시 메모리(100)의 인에이블화를 지시하는 「0100」이라는 칩 인에이블 신호를 생성하며, 「0100」의 칩 번호가 부여될 때에는 4번 플래시 메모리(100)의 인에이블화를 지시하는 「1000」이라는 칩 인에이블 신호를 생성한다.
또, 후술한 바와 같이, CPU(41)가 이 (m+1) 이상의 칩 번호를 발행할 때에는, 멀티플렉서(403)가 제2 바이너리 코드 변환 회로(402)가 생성하는 칩 인에이블 생성용 신호를 선택하게 되기 때문에, 제1 바이너리 코드 변환 회로(401)는 이 칩 번호를 어떻게 변환하더라도 상관없다.
한편, 제2 바이너리 코드 변환 회로(402)는 1부터 시작하는 4비트의 칩번호가 부여되면, 도 10의 우측에 도시된 바와 같이, 그 칩 번호의 2치화값을 갖는 칩 인에이블 생성용 신호를 생성한다. 예컨대 「0001」의 칩 번호가 부여될 때에는 「0001」이라는 칩 인에이블 생성용 신호를 생성하고, 「0010」의 칩 번호가 부여될 때에는 「0010」이라는 칩 인에이블 생성용 신호를 생성하며, 「001l」의 칩 번호가 부여될 때에는 「001l」이라는 칩 인에이블 생성용 신호를 생성하고, 「0100」의 칩 번호가 부여될 때에는 「0100」이라는 칩 인에이블 생성용 신호를 생성한다.
이 때, 2m개의 플래시 메모리(100)를 탑재하는 메모리 카드(30)에 설치되는 디코더(50)로서, 도 11에 도시된 바와 같이 칩 인에이블 생성용 신호를 디코드함으로써 이 칩 인에이블 생성용 신호의 생성원이 된 CPU(41)가 발행하는 칩 번호가 가리키는 플래시 메모리(100)의 인에이블화를 지시하는 칩 인에이블 신호를 생성하는 것을 준비한다.
이 경우에도, 도 10에서 알 수 있는 바와 같이 「0001」의 칩 번호가 부여될 때와, 「0010」의 칩 번호가 부여될 때에는 제1 바이너리 코드 변환 회로(401)와 제2 바이너리 코드 변환 회로(402)는 동일한 비트 패턴을 나타내는 신호를 생성한다. 즉, 「0001」의 칩 번호가 부여될 때에는 공동으로 「0001」이라는 신호를 생성하고, 또한 「0010」의 칩 번호가 부여될 때에는 공동으로 「0010」이라는 신호를 생성한다.
그리고, 이 때 도 11에서 알 수 있는 바와 같이 디코더(50)는 제2 바이너리 코드 변환 회로(402)가 생성하는 「0001」이라는 칩 인에이블 생성용 신호를 받아, 1번 플래시 메모리(100)의 인에이블화를 지시하는 「0∼01」이라는 칩 인에이블 신호를 출력하고, 또한 제2 바이너리 코드 변환 회로(402)가 생성하는 「0010」이라는 칩 인에이블 생성용 신호를 받고, 2번 플래시 메모리(100)의 인에이블화를 지시하는 「0∼010」이라는 칩 인에이블 신호를 출력한다.
따라서, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 수가 m개인 경우에도, 2m개인 경우에도, CPU(41)는 「0001」이라는 칩 번호를 발행하면 1번 플래시 메모리(100)를 인에이블화할 수 있고, 「0010」이라는 칩 번호를 발행하면, 2번 플래시 메모리(100)를 인에이블화할 수 있게 된다.
따라서, 예컨대 선두에 위치하는 1번 플래시 메모리(100)에, 탑재되어 있는 플래시 메모리(100)가 방식 ①에 따르는 것인지, 방식 ②에 따르는 것인지의 정보와, 탑재되어 있는 플래시 메모리(100)의 칩수의 정보를 저장(플래시 메모리(100)의 메모리 용량의 정보에 관하여는 원래 저장되어 있다)하여 두도록 하면, CPU(41)는 전용의 단자등에 의존하지 않고, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 탑재 형태를 알 수 있으므로 플래시 메모리(100)로의 액세스 제어를 실행할 수 있게 된다.
다음에, 도 4의 실시예에 따르면, CPU(41)가 발행하는 칩 번호가 1부터 시작하고, 플래시 메모리(100)에 부여하는 칩 인에이블 신호가 부논리인 경우에 관해서 설명한다.
이 경우에는 제1 바이너리 코드 변환 회로(401)는 도 12의 좌측에 나타내는 코드 변환 처리를 실행하고, 제2 바이너리 코드 변환 회로(402)는 도 12의 우측에 나타내는 코드 변환 처리를 실행한다.
즉, 제1 바이너리 코드 변환 회로(401)는 1부터 시작하는 4비트 칩 번호가 부여되면, 도 12의 좌측에 도시된 바와 같이, 「0001」의 칩 번호가 부여될 때에는 1번 플래시 메모리(100)의 인에이블화를 지시하는 「lll0」이라는 칩 인에이블 신호를 생성하고, 「0010」의 칩 번호가 부여될 때에는 2번 플래시 메모리(100)의 인에이블화를 지시하는 「ll01」이라는 칩 인에이블 신호를 생성하고, 「001l」의 칩 번호가 부여될 때에는 3번 플래시 메모리(100)의 인에이블화를 지시하는 「101l」이라는 칩 인에이블 신호를 생성하며 「0100」의 칩 번호가 부여될 때에는 4번 플래시 메모리(100)의 인에이블화를 지시하는 「0111」이라는 칩 인에이블 신호를 생성한다.
한편, 제2 바이너리 코드 변환 회로(402)는 1부터 시작하는 4비트의 칩 번호가 부여되면, 도 12의 우측에 도시된 바와 같이, 그 칩 번호의 2치화값의 비트 반전값을 갖는 칩 인에이블 생성용 신호를 생성한다. 예컨대 「0001」의 칩 번호가 부여될 때에는 「lll0」이라는 칩 인에이블 생성용 신호를 생성하고, 「0010」의 칩 번호가 부여될 때에는 「1l01」이라는 칩 인에이블 생성용 신호를 생성하며, 「0011」의 칩 번호가 부여될 때에는 「ll00」이라는 칩 인에이블 생성용 신호를 생성하고, 「0100」의 칩 번호가 부여될 때에는 「1011」이라는 칩 인에이블 생성용 신호를 생성한다. 단지, 16번 칩 번호에 관하여는 4비트로 나타낼 수 없기 때문에, 「0000」으로 생성하도록 정의한다.
이 때, 2m개의 플래시 메모리(100)를 탑재하는 메모리 카드(30)에 설치되는 디코더(50)로서, 도 13에 도시된 바와 같이, 칩 인에이블 생성용 신호를 디코드함으로써 이 칩 인에이블 생성용 신호의 생성원이 된 CPU(41)가 발행하는 칩 번호가 가리키는 플래시 메모리(100)의 인에이블화를 지시하는 칩 인에이블 신호(부논리)를 생성하는 것을 준비한다.
이 경우에도, 도 12에서 알 수 있는 바와 같이, 「0001」의 칩 번호가 부여될 때와, 「0010」의 칩 번호가 부여될 때에는 제1 바이너리 코드 변환 회로(401)와 제2 바이너리 코드 변환 회로(402)는 동일한 비트 패턴을 나타내는 신호를 생성한다. 즉, 「0001」의 칩 번호가 부여될 때에는 공동으로 「lll0」이라는 신호를 생성하고, 또한 「0010」의 칩 번호가 부여될 때에는 공동으로 「1101」이라는 신호를 생성한다.
그리고, 이 때, 도 13에서 알 수 있는 바와 같이, 디코더(50)는 제2 바이너리 코드 변환 회로(402)가 생성하는 「1110」이라는 칩 인에이블 생성용 신호를 받아, 1번 플래시 메모리(100)의 인에이블화를 지시하는 「1∼10」이라는 칩 인에이블 신호를 출력하고 또한 제2 바이너리 코드 변환 회로(402)를 생성하는 「1101」이라는 칩 인에이블 생성용 신호를 받아, 2번 플래시 메모리(100)의 인에이블화를 지시하는 「1∼101」이라는 칩 인에이블 신호를 출력한다.
따라서, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 수가 m개인 경우에도 2m개인 경우에도, CPU(41)는 「0001」이라는 칩 번호를 발행하면 1번 플래시 메모리(100)를 인에이블화할 수 있고, 「0010」이라는 칩 번호를 발행하면 2번 플래시 메모리(100)를 인에이블화할 수 있게 된다.
이 때문에, 예컨대 선두에 위치하는 1번 플래시 메모리(100)에 탑재되어 있는 플래시 메모리(100)가 방식 ①에 따를 것인지 방식 ②에 따를 것인지의 정보와, 탑재되어 있는 플래시 메모리(100)의 칩수의 정보를 저장(플래시 메모리(100)의 메모리 용량의 정보에 관하여는 원래 저장되어 있다)하여 두도록 하면, CPU(41)는 전용의 단자등에 의존하지 않고, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 탑재 형태를 알 수 있으므로, 플래시 메모리(100)로의 액세스 제어를 실행할 수 있게 된다.
도 14에, 칩 인에이블 신호 생성 회로(43)의 다른 실시예를 도시한다. 이 실시예에서는 디지털 카메라(60) 등에 실장되는 메모리 카드(30)에 탑재되는 m개의 플래시 메모리(100)에 대한 칩 인에이블 신호를 생성하는 기능과, 퍼스널 컴퓨터(70)등에 실장되는 메모리 카드(30)에 탑재되는 2m+n개의 플래시 메모리(100)에 대한 칩 인에이블 신호를 생성하는 기능을 실현한다.
이 실시예에 따르는 칩 인에이블 신호 생성 회로(43)는 플래시 콘트롤러(40)가 갖는 칩 번호 레지스터(400)에 저장되는 (m+n)비트의 칩 번호를 입력으로서, 이 칩 번호를 2m으로 나눗셈한 나머지(m비트)/몫(n비트)을 산출하는 연산 회로(500)와, 연산 회로(500)가 산출하는 나머지 및 몫에 코드 변환 처리를 행함으로써, m개의 플래시 메모리(100)에 대한 (m+n)비트의 칩 인에이블 신호를 생성하는 제1 바이너리 코드 변환 회로(501)와, 연산 회로(500)가 산출하는 나머지 및 몫에 코드 변환 처리를 행함으로써, 2m+n개의 플래시 메모리(100)에 대한 (m+n)비트의 칩 인에이블 생성용 신호를 생성하는 제2 바이너리 코드 변환 회로(502)와, 제1 바이너리 코드 변환 회로(501)가 생성하는 칩 인에이블 신호의 하위 m비트나, 제2 바이너리 코드 변환 회로(502)가 생성하는 칩 인에이블 생성용 신호의 하위 m비트중 어느 한편을 선택하여 플래시 메모리(100)에 출력하는 하위 비트용 멀티플렉서(503)와, 하위 비트용 멀티플렉서(503)와 동기를 취하면서, 제1 바이너리 코드 변환 회로(501)가 생성하는 칩 인에이블 신호의 상위 n비트나, 제2 바이너리 코드 변환 회로(502)가 생성하는 칩 인에이블 생성용 신호의 상위 n비트의 어느 한편을 선택하여 플래시 메모리(100)에 출력하는 상위 비트용 멀티플렉서(504)와, 멀티플렉서(503, 504)에 부여하는 선택 지시 신호를 유지하는 선택 지시 신호 레지스터(505)를 구비한다.
여기서, 도 15에 도시된 바와 같이, m개의 플래시 메모리(100)가 탑재될 때에는 실제로 상위 비트용 멀티플렉서(504)가 출력하는 n비트의 신호는 사용되지 않는다.
플래시 콘트롤러(40)가 갖는 칩 번호 레지스터(400)에 저장되는 칩 번호가 0부터 시작하는 경우, 「m=4, n=2」를 구체예로서 설명하면, 연산 회로(500)는 도 16에 도시한 것과 같은 형식으로 나머지 및 몫을 산출하고, 이것을 받아, 플래시 메모리(100)에 부여하는 칩 인에이블 신호가 정논리인 경우, 제1 바이너리 코드 변환 회로(501)는 도 17의 좌측에 나타내는 코드 변환 처리를 실행하고, 제2 바이너리 코드 변환 회로(502)는 도 17의 우측에 나타내는 코드 변환처리를 실행한다.
즉, 제1 바이너리 코드 변환 회로(501)는 칩 번호 레지스터(40)에 칩 번호 0이 저장될 때에, 이것에 응답하여 연산 회로(500)가 출력하는 나머지 「0000」/몫 「00」을 받아, 0번 플래시 메모리(100)의 인에이블화를 지시하는 「0001」을 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다. 또한 칩 번호 1이 저장될 때에, 이것에 응답하여 연산 회로(500)가 출력하는 나머지 「0001」/몫 「00」을 받아, 1번 플래시 메모리(100)의 인에이블화를 지시하는 「0010」를 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다.
또한 칩 번호 2가 저장될 때에, 그것에 응답하여 연산 회로(500)가 출력하는 나머지 「0010」/몫 「00」을 받아, 2번 플래시 메모리(100)의 인에이블화를 지시하는 「0100」을 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다. 또한 칩 번호 3이 저장될 때에, 이것에 응답하여 연산 회로(500)가 출력하는 나머지 「001l」/몫 「00」을 받아, 3번플래시 메모리(100)의 인에이블화를 지시하는 「1000」을 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다.
한편, 제2 바이너리 코드 변환 회로(502)는 칩 번호 레지스터(400)에 0부터 시작하는 칩 번호가 저장되면, 이것에 응답하여 연산 회로(500)가 출력하는 나머지/ 몫을 받아, 도 17의 우측에 도시된 바와 같이, 이 나머지의 2치화값에 1을 가산한 값을 하위 4비트로 하고, 몫을 그대로 상위 2비트로 하는 칩 인에이블 생성용 신호를 생성한다. 예컨대 칩 번호 0이 저장될 때에는 「00,0001」이라는 칩 인에이블 생성용 신호를 생성하고, 칩 번호 1이 저장될 때에는 「00,0010」이라는 칩 인에이블 생성용 신호를 생성하고, 칩 번호 2가 저장될 때에는 「00,001l」이라는 칩 인에이블 생성용 신호를 생성하고, 칩 번호 3이 저장될 때에는 「00,0100」이라는 칩 인에이블 생성용 신호를 생성한다.
이 때, 2m+n개의 플래시 메모리(100)를 탑재하는 메모리 카드(30)에 설치되는 디코더(50)로서, 도 18에 도시된 바와 같이, 칩 인에이블 생성용 신호를 디코드함으로써 이 칩 인에이블 생성용 신호의 생성원이 된 CPU(41)가 발행하는 칩 번호가 가리키는 플래시 메모리(100)의 인에이블화를 지시하는 칩 인에이블 신호를 생성하는 것을 준비한다.
이 경우에도, 도 17에서 알 수 있는 바와 같이, 칩 번호 0이 부여될 때와, 칩 번호 1이 부여될 때에는 제1 바이너리 코드 변환 회로(501)와 제2 바이너리 코드 변환 회로(502)는 동일한 비트 패턴을 나타내는 신호를 생성한다. 즉, 칩 번호 0이 부여될 때에는 공동으로 「00,0001」이라는신호를 생성하고, 칩 번호 1이 부여될 때에는 공동으로 「00,0010」이라는 신호를 생성한다.
그리고, 이 때 도 18에서 알 수 있는 바와 같이, 디코더(50)는 제2 바이너리 코드 변환 회로(502)가 생성하는 「00,0001」이라는 칩 인에이블 생성용 신호를 받아, 0번 플래시 메모리(100)의 인에이블화를 지시하는 「0∼01」이라는 칩 인에이블 신호를 출력하고, 또한 제2 바이너리 코드 변환 회로(502)가 생성하는 「00,0010」이라는 칩 인에이블 생성용 신호를 받아, 1번 플래시 메모리(100)의 인에이블화를 지시하는 「0∼010」이라는 칩 인에이블 신호를 출력한다.
따라서, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 수가 m개인 경우에도 2m+n개인 경우에도, CPU(41)는 칩 번호 0을 발행하면, 0번 플래시 메모리(100)를 인에이블화할 수 있고, 칩 번호 1을 발행하면, 1번 플래시 메모리(100)를 인에이블화 할 수 있게 된다.
따라서, 예컨대 선두에 위치하는 0번 플래시 메모리(100)에, 탑재되어 있는 플래시 메모리(100)가 방식 ①(제1 바이너리 코드 변환 회로(501)를 이용하는 방식)에 따를 것인지, 방식 ②(제2 바이너리 코드 변환 회로(502)를 이용하는 방식)에 따를 것인지의 정보와, 탑재되어 있는 플래시 메모리(100)의 칩수의 정보를 저장(플래시 메모리(100)의 메모리 용량의 정보에 대해서는 원래 저장되어 있다) 하여 두도록 하면, CPU(41)는 전용의 단자등에 의존하지 않고, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 탑재 형태를 알 수 있으므로, 플래시 메모리(100)로의 액세스 제어를 실행할 수 있게 된다.
다음에, 도 14의 실시예에 따르면, CPU(41)가 발행하는 칩 번호가 0부터 시작하고, 플래시 메모리(100)에 부여하는 칩 인에이블 신호가 부논리인 경우에 관해서 설명한다.
이 경우에는 제1 바이너리 코드 변환 회로(501)는 도 19의 좌측에 나타내는 코드 변환 처리를 실행하고, 제2 바이너리 코드 변환 회로(502)는 도 19의 우측에 나타내는 코드 변환 처리를 실행한다.
즉, 제1 바이너리 코드 변환 회로(501)는 칩 번호 레지스터(400)에 칩 번호 0이 저장될 때에, 이것에 응답하여 연산 회로(500)가 출력하는 나머지 「0000」/몫 「00」을 받아, 0번 플래시 메모리(100)의 인에이블화를 지시하는 「1110」을 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다. 또한 칩 번호 l이 저장될 때에, 그것에 응답하여 연산 회로(500)가 출력하는 나머지 「0001」/몫 「00」을 받아, 1번 플래시 메모리(100)의 인에이블화를 지시하는 「ll01」를 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다.
또한 칩 번호 2가 저장될 때에, 그것에 응답하여 연산 회로(500)가 출력하는 나머지 「0010」/몫 「00」을 받아, 2번 플래시 메모리(100)의 인에이블화를 지시하는 「1011」을 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다. 또한 칩 번호 3이 저장될 때에, 그것에 응답하여 연산 회로(500)가 출력하는 나머지 「0011」/몫 「00」을 받아, 3번 플래시 메모리(100)의 인에이블화를 지시하는 「0111」을 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다.
한편, 제2 바이너리 코드 변환 회로(502)는 칩 번호 레지스터(400)에 0부터 시작하는 칩 번호가 저장되면, 그것에 응답하여 연산 회로(500)가 출력하는 나머지/몫을 받아, 도 19의 우측에 도시된 바와 같이, 그 나머지의 2치화값의 비트 반전값으로부터 1을 감산한 값을 하위 4비트로 하고, 몫을 그대로 상위 2비트로 하는 칩 인에이블 생성용 신호를 생성한다. 예컨대 칩 번호 0이 저장될 때에는 「00,lll0」이라는 칩 인에이블 생성용 신호를 생성하고, 칩 번호 l이 저장될 때에는 「00,1101」이라는 칩 인에이블 생성용 신호를 생성하며, 칩 번호 2가 저장될 때에는 「00,ll00」이라는 칩 인에이블 생성용 신호를 생성하며, 칩 번호 3이 저장될 때에는 「00,1011」이라는 칩 인에이블 생성용 신호를 생성한다.
이 때, 2m+n개의 플래시 메모리(100)를 탑재하는 메모리 카드(30)에 설치되는 디코더(50)로서, 도 20에 도시된 바와 같이, 칩 인에이블 생성용 신호를 디코드함으로써 이 칩 인에이블 생성용 신호의 생성원이 된 CPU(41)가 발행하는 칩 번호가 가리키는 플래시 메모리(100)의 인에이블화를 지시하는 칩 인에이블 신호를 생성하는 것을 준비한다.
이 경우에도, 도 19에서 알 수 있는 바와 같이, 칩 번호 0이 부여될 때와, 칩 번호 1이 부여될 때에는 제1 바이너리 코드 변환 회로(501)와 제2 바이너리 코드변환 회로(502)는 동일한 비트 패턴을 나타내는 신호를 생성한다. 즉, 칩 번호 0이 부여될 때에는 공동으로 「00,ll10」이라는 신호를 생성하고, 칩 번호 1이 부여될 때에는 공동으로 「00,1101」이라는 신호를 생성한다.
그리고, 이 때 도 20에서 알 수 있는 바와 같이, 디코더(50)는 제2 바이너리 코드 변환 회로(502)가 생성하는 「00,1110」이라는 칩 인에이블 생성용 신호를 받아, 0번 플래시 메모리(100)의 인에이블화를 지시하는 「1∼10」이라는 칩 인에이블 신호를 출력하고, 또한 제2 바이너리 코드 변환 회로(502)가 생성하는 「00. 1101」이라는 칩 인에이블 생성용 신호를 받아, 1번 플래시 메모리(100)의 인에이블화를 지시하는 「1∼101」이라는 칩 인에이블 신호를 출력한다.
따라서, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 수가 m개인 경우에도, 2m+n개인 경우에도, CPU(41)는 칩 번호 0을 발행하면, 0번 플래시 메모리(100)를 인에이블화할 수 있고, 칩 번호 1을 발행하면, 1번 플래시 메모리(100)를 인에이블화할 수 있게 된다.
이 때문에, 예컨대 선두에 위치하는 0번 플래시 메모리(100)에, 탑재되어 있는 플래시 메모리(100)가 방식 ①에 따를 것인지, 방식 ②에 따를 것인지의 정보와, 탑재되어 있는 플래시 메모리(100)의 칩수의 정보를 저장(플래시 메모리(100)의 메모리 용량의 정보에 관하여는 원래 저장되어 있다)하여 두도록 하면, CPU(41)는 전용의 단자등에 의존하지 않고, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 탑재 형태를 알 수 있으므로, 플래시 메모리(100)로의 액세스 제어를 실행할 수 있게 된다.
다음에, 도 14의 실시예에 따르면, CPU(41)가 발행하는 칩 번호가 1부터 시작하고, 플래시 메모리(100)에 부여하는 칩 인에이블 신호가 정논리인 경우에 관해서 설명한다. 또, 이 때 예컨대 「m=4, n=2」의 예로 설명하면, 64번 칩 번호에 대해서는 6비트로 나타낼 수 없기 때문에, CPU(41)는 64번 칩 번호를 발행하는 때에는 「000000」이라고 발행하도록 처리하게 된다.
CPU(41)가 발행하는 칩 번호가 1로부터 시작하는 경우에는 연산 회로(500)는 칩 번호로부터 1을 감산한 값을 2m으로 나눗셈한 나머지 (m비트)/몫(n비트)을 산출한다. 즉, 도 21에 나타내는 것 같은 형식으로 나머지 및 몫을 산출한다.
이 경우에는 제1 바이너리 코드 변환 회로(501)는 도 22의 좌측에 나타내는 코드 변환 처리를 실행하고, 제2 바이너리 코드 변환 회로(502)는 도 22의 우측에 나타내는 코드 변환 처리를 실행한다.
즉, 제1 바이너리 코드 변환 회로(501)는 칩 번호 레지스터(400)에 칩 번호 1이 저장될 때에, 그것에 응답하여 연산 회로(500)가 출력하는 나머지 「0000」/몫 「00」을 받아, 1번 플래시 메모리(100)의 인에이블화를 지시하는 「0001」을 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다. 또한 칩 번호 2가 저장될 때에, 그것에 응답하여 연산 회로(500)가 출력하는 나머지 「0001」/몫 「00」을 받아, 2번 플래시 메모리(100)의 인에이블화를 지시하는 「0010」을 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다.
또한 칩 번호 3이 저장될 때에, 그것에 응답하여 연산 회로(500)가 출력하는 나머지 「0010」/몫 「00」을 받아, 3번 플래시 메모리(100)의 인에이블화를 지시하는 「0100」을 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다. 또한 칩 번호 4가 저장될 때에 , 그것에 응답하여 연산 회로(500)가 출력하는 나머지 「001l」/몫 「00」을 받아, 4번 플래시 메모리(100)의 인에이블화를 지시하는 「1000」을 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다.
한편, 제2 바이너리 코드 변환 회로(502)는 칩 번호 레지스터(400)에 1부터 시작하는 칩 번호가 저장되면, 그것에 응답하여 연산 회로(500)가 출력하는 나머지/몫을 받아, 도 22의 우측에 도시된 바와 같이, 그 나머지의 2치화값에 1을 가산한 값을 하위 4비트로 하고, 몫을 그대로 상위 2비트로 하는 칩 인에이블 생성용 신호를 생성한다. 예컨대 칩 번호 1이 저장될 때에는 「00,0001」이라는 칩 인에이블 생성용 신호를 생성하고, 칩 번호 2가 저장될 때에는 「00.0010」이라는 칩 인에이블 생성용 신호를 생성하고, 칩 번호 3이 저장될 때에는 「00.001l」이라는 칩 인에이블 생성용 신호를 생성하고, 칩 번호 4가 저장될 때에는 「00,0100」이라는 칩 인에이블 생성용 신호를 생성한다.
이 때, 2m+n개의 플래시 메모리(100)를 탑재하는 메모리 카드(30)에 설치되는 디코더(50)로서, 도 23에 도시된 바와 같이, 칩 인에이블 생성용 신호를 디코드함으로써 이 칩 인에이블 생성용 신호의 생성원이 된 CPU(41)가 발행하는 칩 번호가 가리키는 플래시 메모리(100)의 인에이블화를 지시하는 칩 인에이블 신호를 생성하는 것을 준비한다.
이 경우에도, 도 22에서 알 수 있는 바와 같이, 칩 번호 1이 부여될 때와, 칩 번호 2가 부여될 때에는 제1 바이너리 코드 변환 회로(501)와 제2 바이너리 코드변환 회로(502)는 동일한 비트 패턴을 나타내는 신호를 생성한다. 즉, 칩 번호 1이 부여될 때에는 공동으로 「00,0001」이라는 신호를 생성하고, 또한 칩 번호 2가 부여될 때에는 공동으로 「00,0010」이라는 신호를 생성한다.
그리고, 이 때 도 23에서 알 수 있는 바와 같이, 디코더(50)는 제2 바이너리 코드 변환 회로(502)가 생성하는 「00,0001」이라는 칩 인에이블 생성용 신호를 받아, 1번 플래시 메모리(100)의 인에이블화를 지시하는 「0∼01」이라는 칩 인에이블 신호를 출력하고, 또한 제2 바이너리 코드 변환 회로(502)가 생성하는 「00, 0010」이라는 칩 인에이블 생성용 신호를 받아, 2번 플래시 메모리(100)의 인에이블화를 지시하는 「0∼010」이라는 칩 인에이블 신호를 출력한다.
따라서, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 수가 m개인 경우에도 2m+n개인 경우에도, CPU(41)는 칩 번호 1을 발행하면 1번 플래시 메모리(100)를 인에이블화할 수 있고, 칩 번호 2를 발행하면 2번 플래시 메모리(100)를 인에이블화할 수 있게 된다.
이 때문에, 예컨대 선두에 위치하는 1번 플래시 메모리(100)에, 탑재되어 있는 플래시 메모리(100)가 방식 ①에 따를 것인지, 방식 ②에 따를 것인지의 정보와, 탑재되어 있는 플래시 메모리(100)의 칩수의 정보를 저장(플래시 메모리(100)의 메모리 용량의 정보에 관하여는 원래 저장되어 있다) 하여 두도록 하면, CPU(41)는 전용의 단자 등에 의존하지 않고, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 탑재 형태를 알 수 있으므로, 플래시 메모리(100)로의 액세스 제어를 실행할 수 있게 된다.
다음으로, 도 14의 실시예에 따르면, CPU(41)가 발행하는 칩 번호가 1에서 시작, 플래시 메모리(100)에 부여하는 칩 인에이블 신호가 부논리인 경우에 대하여 설명한다.
이 경우에도, 연산 회로(500)는 칩 번호로부터 1을 감산한 값을 2m으로 나눗셈한 나머지 (m비트)/몫(n비트)을 산출한다. 즉, 도 21에 나타내는 것 같은 형식으로 나머지 및 몫을 산출한다.
이 경우에는 제1 바이너리 코드 변환 회로(501)는 도 24의 좌측에 나타내는 코드 변환 처리를 실행하고, 제2 바이너리 코드 변환 회로(502)는 도 24의 우측에 나타내는 코드 변환 처리를 실행한다.
즉, 제1 바이너리 코드 변환 회로(501)는 칩 번호 레지스터(40)에 칩 번호 1이 저장될 때에, 그것에 응답하여 연산 회로(500)가 출력하는 나머지 「0000」/몫 「00」을 받아, 1번 플래시 메모리(100)의 인에이블화를 지시하는 「1110」을 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다. 또한 칩 번호 2가 저장될 때에, 그것에 응답하여 연산 회로(500)가 출력하는 나머지 「0001」/몫 「00」을 받아, 2번 플래시 메모리(100)의 인에이블화를 지시하는 「1101」을 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다.
또한 칩 번호 3이 저장될 때에 , 그것에 응답하여 연산 회로(500)가 출력하는 나머지 「0010」/몫 「00」을 받아, 3번 플래시 메모리(100)의 인에이블화를 지시하는 「1011」을 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다. 또한 칩 번호 4가 저장될 때에, 그것에 응답하여 연산 회로(500)가 출력하는 나머지 「0011」/몫 「00」을 받아, 4번 플래시 메모리(100)의 인에이블화를 지시하는 「1000」을 하위 4비트로 하고, 몫 「00」을 그대로 상위 2비트로 하는 칩 인에이블 신호를 생성한다.
한편, 제2 바이너리 코드 변환 회로(502)는 칩 번호 레지스터(400)에 1부터 시작하는 칩 번호가 저장되면, 그것에 응답하여 연산 회로(500)가 출력하는 나머지/몫을 받아, 도 24의 우측에 도시된 바와 같이, 그 나머지의 2치화값의 비트 반전값으로부터 1을 감산한 값을 하위 4비트로 하고, 몫을 그대로 상위 2비트로 하는 칩 인에이블 생성용 신호를 생성한다. 예컨대 칩 번호 1이 저장될 때에는 「00,lll0」이라는 칩 인에이블 생성용 신호를 생성하고, 칩 번호 2가 저장될 때에는 「00,ll01」이라는 칩 인에이블 생성용 신호를 생성하고, 칩 번호 3이 저장될 때에는 「00,ll00」이라는 칩 인에이블 생성용 신호를 생성하고, 칩 번호 4가 저장될 때에는 「00,1011」이라는 칩 인에이블 생성용 신호를 생성한다.
이 때, 2m+n개의 플래시 메모리(100)를 탑재하는 메모리 카드(30)에 설치되는 디코더(50)로서, 도 25에 도시된 바와 같이, 칩 인에이블 생성용 신호를 디코드함으로써 이 칩 인에이블 생성용 신호의 생성원이 된 CPU(41)가 발행하는 칩 번호가 가리키는 플래시 메모리(100)의 인에이블화를 지시하는 칩 인에이블 신호를 생성하는 것을 준비한다.
이 경우에도, 도 24에서 알 수 있는 바와 같이, 칩 번호 1이 부여될 때와, 칩 번호 2가 부여될 때에는 제1 바이너리 코드 변환 회로(501)와 제2 바이너리 코드변환 회로(502)는 동일한 비트 패턴을 나타내는 신호를 생성한다. 즉, 칩 번호 1이 부여될 때에는 공동으로 「00,1110」이라는 신호를 생성하고, 칩 번호 2가 부여될 때에는 공동으로 「00,1101」이라고 하는 신호를 생성한다.
그리고, 이 때 도 25에서 알 수 있는 바와 같이, 디코더(50)는 제2 바이너리 코드 변환 회로(502)가 생성하는 「00,1110」이라는 칩 인에이블 생성용 신호를 받아, 1번 플래시 메모리(100)의 인에이블화를 지시하는 「1∼10」이라는 칩 인에이블 신호를 출력하고, 또한 제2 바이너리 코드 변환 회로(502)가 생성하는 「00,1101」이라는 칩 인에이블 생성용 신호를 받아, 2번 플래시 메모리(100)의 인에이블화를 지시하는 「1∼101」이라는 칩 인에이블 신호를 출력한다.
따라서, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 수가 m개인 경우에도, 2m+n개인 경우에도, CPU(41)는 칩 번호 1을 발행하면 1번 플래시 메모리(100)를 인에이블화할 수 있고, 칩 번호 2를 발행하면 2번 플래시 메모리(100)를 인에이블화할 수 있게 된다.
따라서, 예컨대 선두에 위치하는 1번 플래시 메모리(100)에 탑재되어 있는 플래시 메모리(100)가 방식 ①에 따를 것인지, 방식 ②에 따를 것인지의 정보와, 탑재되어 있는 플래시 메모리(l00)의 칩수의 정보를 저장(플래시 메모리(100)의 메모리 용량의 정보에 관해서는 원래 저장되어 있다)하여 두도록 하면, CPU(41)는 전용의 단자등에 의존하지 않고, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 탑재 형태를 알 수 있으므로, 플래시 메모리(100)로의 액세스 제어를 실행할 수 있게 된다.
이상 설명한 바와 같이, 본 발명을 구비하는 메모리 카드(30)에 의하면, m개의 플래시 메모리(100)나, 2m개의 플래시 메모리(100)중 어느 하나가 탑재되고, m개의 플래시 메모리(100)가 탑재될 때에는 m비트의 칩 인에이블 신호를 이용하여 인에이블이 실행되고, 2m개의 플래시 메모리(100)가 탑재될 때에는 m비트의 칩 인에이블 생성용 신호를 디코드함으로써 얻어지는 2m비트의 칩 인에이블 신호를 이용하여 인에이블이 실행될 때에 있어서, 칩 번호로서 0 또는 l(칩 번호가 1부터 시작하는 경우에는 l 또는 2)을 발행하는 것에 의해, 어느 쪽의 칩 탑재 형식에 따를 경우라도, 이 칩 번호가 가리키는 플래시 메모리(100)에 액세스할 수 있기 때문에, 이 칩 번호의 플래시 메모리(100)에 칩 탑재 형식 정보를 저장하여 둠으로써 어느 쪽의 칩 탑재 형식에 따를 것인가를 알 수 있게 된다.
그리고, 본 발명을 구비하는 메모리 카드(30)에 의하면, m개의 플래시 메모리(100)나, 2m+n개의 플래시 메모리(100)중 어느 하나가 탑재되고, m개의 플래시 메모리(100)가 탑재될 때에는 m비트의 칩 인에이블 신호를 이용하여 인에이블이 실행되고 2m+n개의 플래시 메모리(100)가 탑재될 때에는 (m+n)비트의 칩 인에이블 생성용 신호를 디코드함으로써 얻어지는 2m+n비트의 칩 인에이블 신호를 이용하여 인에이블이 실행되는 경우에 있어서, 칩 번호로서 0 또는 l(칩 번호가 1부터 시작하는 경우에는 l 또는 2)을 발행함으로써, 어느 쪽의 칩 탑재 형식에 따르는 경우에도, 이 칩 번호가 가리키는 플래시 메모리(100)에 액세스할 수 있기 때문에, 그 칩 번호의 플래시 메모리(100)에 칩 탑재 형식 정보를 저장하여 둠으로써 어느 쪽의 칩 탑재 형식에 따를 것인지를 알 수 있게 된다.
이상 설명한 실시예는 어디까지나 실시예에 지나지 않으며, 본 발명은 이것에 한정되지 않는다. 예컨대 도 14의 실시예에서는 연산 회로(500)가 출력하는 몫을 사용하고, 모든 칩 번호에 관해서 제1 바이너리 코드 변환 회로(501)와 제2 바이너리 코드 변환 회로(502)는 동일 상위 n비트를 갖는 신호를 생성하는 구성을 채용하였지만, 동일한 상위 n비트를 가질 필요가 있는 것은 도 14의 실시예로 설명하면, 칩 번호 0 또는 l(칩 번호가 1부터 시작하는 경우에는 l 또는 2)에 관해서만이며, 본 발명은 이 실시예에 한정되는 것은 아니다.
또한 도 4와 도 14의 실시예에서는 플래시 메모리(100)에 대한 칩 인에이블 신호의 생성 처리에 따라서 본 발명을 설명하였지만, 그 외의 메모리나 메모리 이외의 칩에 대해서도 그대로 적용할 수 있다.
전술한 바와 같이, 도 4의 실시예에 따르면, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 수가 m개인 경우에도, 2m개인 경우에도, CPU(41)는 칩 번호 0을 발행하면, 선두에 위치하는 0번 플래시 메모리(100)를 인에이블화할 수 있게 된다. 그리고, 도 14의 실시예에 따르면, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 수가 m개인 경우에도, 2m+n개인 경우에도, CPU(41)는 칩 번호 0을 발행하면, 선두에 위치하는 0번 플래시 메모리(100)를 인에이블화할 수 있게 된다.
따라서 전술한 바와 같이, 선두에 위치하는 0번 플래시 메모리(100)에, 탑재되어 있는 플래시 메모리(100)가 방식 ①(제1 바이너리 코드 변환 회로(401, 501)를 사용하는 방식)에 따를 것인지, 방식 ②(제2 바이너리 코드 변환 회로(402, 502)를 사용하는 방식)에 따른 것인지의 정보와, 탑재되어 있는 플래시 메모리(100)의 칩수의 정보를 저장(플래시 메모리(100)의 메모리 용량의 정보에 관해서는 원래 저장되어 있다)하여 두도록 하면, CPU(41)는 전용의 단자 등에 의존하지 않고, 메모리 카드(30)에 탑재되는 플래시 메모리(100)의 탑재 형태를 알 수 있으므로, 플래시 메모리(100)로의 액세스 제어를 실행할 수 있게 된다.
즉, CPU(41)는 이렇게 하여 취득하는 플래시 메모리(100)의 칩수 및 메모리 용량으로부터 플래시 메모리(100)에 할당되는 어드레스의 최대값을 구하고, 이것을 디지털 카메라(60)나 퍼스널 컴퓨터(70) 등의 호스트에게 통지함으로써, 호스트가 발행하는 어드레스가 플래시 메모리(100)에 할당되는 어드레스로 들어가도록 제어할 수 있게 되는 동시에, 호스트가 발행하는 어드레스가 가리키는 플래시 메모리(100)의 칩 번호를 특정할 수 있으므로, 이 플래시 메모리(100)를 인에이블화할 수 있게 된다.
그리고, CPU(41)는 이렇게 하여 취득하는 방식 ①에 따를 것인지 방식 ②에 따를 것인지의 정보에 따라서, 선택 지시 신호 레지스터(404, 505)에 선택 지시 신호를 세트함으로써 제1 바이너리 코드 변환 회로(401, 501)가 생성하는 칩 인에이블 신호를 선택하여 플래시 메모리(100)에 출력할 것인지 제2 바이너리 코드 변환 회로(402, 502)가 생성하는 칩 인에이블 생성용 신호를 선택하여 플래시 메모리(100)(디코더(50))에 출력할 것인지를 제어함으로써 플래시 메모리(100)로의 액세스를 제어할 수 있게 된다.
이 구성의 특징에 착안하여, 메모리 카드(30)는 선두에 위치하는 0번 플래시 메모리(100)에, 탑재되어 있는 플래시 메모리(100)가 방식 ①이나 방식 ②의 어느 쪽인가에 따르는 정보와, 탑재되어 있는 플래시 메모리(100)의 칩수를 저장하는 것에 추가하여 도 26에 도시된 바와 같이, 저소비 전력 모드로 들어가는 시간의 설정 정보나, 액세스 요구의 데이터가 소거되어 있는 것을 호스트에 통지하는 때에 이용하는 코드의 설정 정보라든지, 내부 레지스터의 규정 범위의 비트를 유효로 할 것인지 무효로 할 것인지를 나타내는 설정 정보와, 카드 규격의 식별 정보, 내부 테이블 작성 방법의 식별 정보를 저장한다.
또, 통상의 경우 탑재되어 있는 플래시 메모리(100)의 칩수가 적은 때에는 방식 ①에 따르고, 많은 때에는 방식 ②에 따르게 되기 때문에, 탑재되어 있는 플래시 메모리(100)의 칩수를 사용하여, 플래시 메모리(100)가 방식 ①에 따를 것인지, 방식 ②에 따를 것인지를 판단하는 구성을 채용할 수도 있다. 이 경우에는 플래시 메모리(100)가 방식 ①이나 방식 ②의 어느 쪽에 따를 것인지의 정보에 대해서는 저장되지 않게 된다.
이 선두에 위치하는 0번 플래시 메모리(100)에 저장되는 각종 정보는 예컨대 메모리 카드(30)를 출하할 때에 외부의 설정 장치로부터 기입됨으로써 저장된다.
도 27에, 이 설정 장치가 실행하는 처리 플로우의 일 실시예이고, 도 28에 이 처리 플로우에 동기하여 CPU(41)가 실행하는 처리 플로우의 일 실시예를 도시한다.
즉, 설정 장치는 오퍼레이터 등으로부터 0번 플래시 메모리(100)에 저장되는 각종 정보의 기입 요구가 발행되면, 도 27의 처리 플로우에 도시된 바와 같이, 먼저 최초에 메모리 카드(30)에 대하여, 벤더 고유 커맨드(판독 커맨드 등의 Standard 커맨드 이외에 설정되는 커맨드)를 허가받아 커맨드를 발행하고, 그것이 접수되면 계속해서 메모리 카드(30)에 대하여, 0번 플래시 메모리(100)에 저장되는 각종 정보의 설정 변경을 지시하는 설정 변경 커맨드를 발행한다. 그리고, 그것이 접수되면 최후에 메모리 카드(30)에 대하여, 오퍼레이터 등으로부터 입력되는 설정 데이터를 전송함으로써 그 설정 데이터를 메모리 카드(30)에 기입한다.
이 설정 장치의 처리를 받아, CPU(41)는 도 28의 처리 플로우에 도시된 바와 같이, 설정 장치에서 보내온 설정 데이터를 선두에 위치하는 0번 플래시 메모리(100)의 빈 블록에 기입하고, 계속해서 설정 장치에서 보내온 설정데이터에 의해 무효가 되는 오래된 설정 데이터에 데이터 무효의 플래그를 설정함으로써 무효화한다. 그리고, 최후에 기입한 설정 데이터를 CPU(41)가 갖는 SRAM 영역의 레지스터에 저장함으로써 새로운 설정 데이터에 의한 카드 의 설정 처리를 종료한다.
이렇게 하여, 선두에 위치하는 0번 플래시 메모리(100)에 저장되는 각종의 정보는 예컨대 메모리 카드(30)가 출하할 때에 외부의 설정 장치로부터 기입됨으로써 저장된다.
이 선두에 위치하는 0번 플래시 메모리(100)에 저장되는 각종의 정보는 메모리 카드(30)가 기동되면, 도 29에 도시된 바와 같이, CPU(41)가 갖는 SRAM 영역(600)의 레지스터에 저장되도록 구성된다. 이 레지스터에는 SRAM 영역(600)상에서의 특정한 어드레스가 할당되어 있고, CPU(41)는 이 특정 어드레스의 가리키는 레지스터로 액세스함으로써 선두에 위치하는 0번 플래시 메모리(100)에 저장되는 각종의 정보를 취득할 수 있게 된다.
다음으로, SRAM 영역(600)의 레지스터에 저장되는 각종 정보(선두에 위치하는 0번 플래시 메모리(100)에 저장되는 각종 정보)가 어떻게 사용되는 것인가에 관해서 설명한다.
(1) 플래시 메모리(100)의 방식 정보
전술한 바와 같이, CPU(41)는 메모리 카드(30)의 기동시에, 탑재되어 있는 플래시 메모리(100)가 방식 ① 또는 방식 ②의 어느 쪽에 따를지의 정보를 얻고, 그것에 따라서 방식 ①에 따를 때에는 제1 바이너리 코드 변환 회로(401, 501)가 생성하는 칩 인에이블 신호를 선택하여 출력하도록 선택 지시 신호 레지스터(404, 505)에 선택 지시 신호를 세트하고, 방식 ②에 따를 때에는 제2 바이너리 코드 변환 회로(402, 502)가 생성하는 칩 인에이블 생성용 신호를 선택하여 출력하도록, 선택 지시 신호 레지스터(404, 505)에 선택 지시 신호를 세트하는 처리를 한다. 이것에 의해 플래시 메모리(100)로의 액세스가 실행할 수 있게 된다.
(2) 플래시 메모리(100)의 칩수
전술한 바와 같이, CPU(41)는 메모리 카드(30)의 기동시에, 탑재되어 있는 플래시 메모리(100)의 칩수를 얻을 수 있는 동시에, 플래시 메모리(100)에 기록되는 1칩당의 메모리 용량(원래 기록되어 있다)을 얻고, 이 칩수 및 메모리 용량으로부터 플래시 메모리(100)에 할당되는 어드레스의 최대값을 구하고, 이것을 디지털 카메라(60)나 퍼스널 컴퓨터(70) 등의 호스트에게 통지하기도 하고, 호스트가 어드레스를 지정하여 액세스 요구를 발행하는 때에, 호스트가 발행하는 어드레스가 가리키는 플래시 메모리(100)의 칩 번호를 특정함으로써 이것을 인에이블화하는 등의 처리를 행한다.
(3) 저소비 전력 모드로 들어가는 시간의 설정 정보
CPU(41)는 디지털 카메라(60)나 퍼스널 컴퓨터(70) 등의 호스트로부터의 처리 요구에 응답하여 처리를 행하여 그것을 종료하면, 시간의 계시 처리로 들어가서, 다음 처리 요구가 발행되면 이 시계 시간을 리셋하는 동시에, 이 계시 시간이 규정 시간을 초과하는 때에는 저소비 전력 모드로 이행하는 처리를 한다.
이 때, CPU(41)는 SRAM 영역(600)의 레지스터에 저장되는 시간의 설정 정보를 판단값으로서 사용함으로써, 저소비 전력 모드로 이행할지의 여부를 판단하는 처리를 행한다. 이 구성에 따라서, 저소비 전력 모드로 이행할 때까지의 시간을 간단히 변경할 수 있게 된다.
즉, 저소비 전력 모드로 이행할 때까지의 시간을 프로그램에 삽입하는 것은 아니고, 그것을 SRAM 영역(600)의 레지스터에 저장하는 구성을 채용하고, 프로 그램이 그것을 참조하는 구성을 채용함으로써, 저소비 전력 모드로 이행할 때까지의 시간을 간단히 변경할 수 있는 실현한다.
(4) 액세스 요구의 데이터가 소거되어 있는 것을 호스트에게 통지하는 때에 이용하는 코드의 설정 정보
액세스 요구의 데이터가 소거되어 있는 때에는 CPU(41)는 통상, 액세스 요구 발행원의 호스트에 대하여, "FFh"를 전송하게 되지만, 호스트의 메이커에 의해서는 "00h"라고 하는 별도의 코드값의 전송을 요구하는 경우가 있다.
그래서, CPU(41)는 액세스 요구의 데이터가 소거되어 있는 것을 호스트에게 통지하는 때에, SRAM 영역(600)의 레지스터에 저장되는 소거 상태의 통지 데이터의 설정 정보를 참조하고, 그것에 따라서 호스트에 대하여, "FFh"를 전송하거나 "00h"를 전송하는 처리를 행한다.
즉, 소거 상태의 통지 데이터를 프로그램에 삽입하는 것은 아니고, 그것을 SRAM 영역(600)의 레지스터에 저장하는 구성을 채용하고, 프로그램이 그것을 참조하는 구성을 채용함으로써 호스트에 통지하는 소거 상태의 통지 데이터를 간단히 변경할 수 있는 것을 실현한다.
(5) 내부 레지스터의 규정 범위의 비트를 유효로 할지 무효로 할지를 나타내는 설정 정보
메모리 카드(30)가 PCMC1A의 인터페이스 규격( PC카드 등의 인터페이스 규격)으로 동작할 때에는 PCMCIA 규격으로 정의되는 메모리 모드, 독립 I/O모드, 1/O 1차 모드, 1/O 2차 모드라는 4개의 동작 모드중 어느 하나의 동작 모드로 동작하게 된다.
이 동작 모드는 도 29에 나타내는 CPU(41)의 내부 레지스터(601)에 저장되지만, 4개의 동작 모드를 식별하기 위해서는 2비트이면 충분하고, 내부 레지스터(601)가 갖는 그것 이외의 비트는 용장 비트가 된다.
내부 레지스터(내부 레지스터(601))의 규정 범위의 비트를 유효로 할 것인지 무효로 할 것인지를 나타내는 설정 정보는 이 용장 비트를 마스크하는지의 여부를 지정하기 위해서 마련되는 것이고, 이 설정 정보에 따라서 마스크의 지정이 있는 경우에는 CPU(41)는 용장 비트를 무시하는 것과 같은 방식으로 전술의 2 비트를 추출함으로써 동작 모드를 판단하는 처리를 행한다.
(6) 카드 규격의 식별 정보
메모리 카드(30)는 PC카드로서 사용되기도 하고, Conpact Flash(미국 SanDisk 사의 상표)로서 이용된다. SRAM 영역(600)의 레지스터에 저장되는 카드 규격의 식별 정보는 PC카드로서 사용되고 있는지 Compact Flash로서 사용하고 있는지를 표시하는 것이다.
이 PC 카드는 PCMCIA의 인타페이스 규격에 준거하고, Compact Flash는 PCMCIA와 1DE(하드디스크의 인터페이스 규격)의 쌍방의 인터뷰 규격에 준거하고 있고, Compact Flash는 PC 카드에서는 서포트 되지 않는 커맨드(섹터의 내용을 소거하는 커맨드 등)을 서포트하고 있다. 따라서, CPU(41)는 메모리 카드(30)가 PC 카드로서 이용될 때에, 호스트로부터 PC 카드에서는 서포트되지 않은 Compact Flash의 커맨드를 수취하는 때에는 이 커맨드를 접수하지 않는 처리를 실행할 필요가 있다.
그래서, CPU(41)는 호스트에서 커맨드을 수취하면, SRAM 영역(600)의 레지스터에 저장되는 카드 규격의 식별 정보에 따라서 PC 카드로서 사용하고 있는지, Comact F1ash로서 사용하고 있는지를 판단하고 그 판단 결과에 따라서, 호스트로부터의 커맨드를 접수할지의 여부를 결정하는 처리 등을 행한다.
(7) 내부 테이블 작성 방법의 식별 정보
플래시 메모리(100)는 도 30에 도시된 바와 같이 데이터 소거의 단위가되는 예컨대 512개의 블록으로 분할되어 있고, 그리고 이것들의 각 블록은 데이터의 저장 단위가 되는 예컨대 8개의 섹터를 가지고 있다. 각 섹터에 저장되는 데이터에는 호스트가 발행한 논리 어드레스가 부가되어 있고, 1개의 블록에 저장되는 데이터에는 모두 동일한 논리 어드레스가 부가되어 있다.
내부 테이블은 CPU(41)의 SRAM 영역(600)에 전개되고, 이 논리 어드레스와 블록 번호의 대응 관계를 관리함으로써 논리 어드레스로부터 물리 어드레스로의 변환 처리를 실행하기 위해서 마련된 것으로, 예컨대 플래시 메모리(100)가 4개 탑재되는 경우를 구체예로 설명하면 내부 테이블은 도 31에 나타내는 구조를 가진다.
즉, 칩 번호 0의 플래시 메모리(100)에 대응되는 테이블 부분에서는 엔트리 순으로, 논리 어드레스 0의 저장 지점 블록 번호, 논리 어드레스 4의 저장 지점 블록번호...를 관리하고, 칩 번호 1의 플래시 메모리(100)에 대응되는 테이블 부분에서는 엔트리 순으로, 논리 어드레스 1의 저장 지점 블록 번호, 논리 어드레스(5)의 저장 지점 블록 번호를 관리하고, 칩 번호 2의 플래시 메모리(100)에 대응되는 테이블 부분에서는 엔트리 순으로 논리 어드레스 2의 저장 지점 블록 번호, 논리 어드레스(6)의 저장 지점 블록 번호,...를 관리하고, 칩 번호 3의 플래시 메모리(100)에 대응되는 테이블 부분에서는 엔트리 순으로 논리 어드레스 3의 저장처 블록 번호, 논리 어드레스(7)의 저장처 블록 번호를 관리하는 데이터 구조를 가진다.
이 내부 테이블의 데이터 구조에 따라서, CPU(41)는 디지털 카메라(60)나 퍼스널 컴퓨터(70) 등의 호스트로부터 논리 어드레스를 지정하여 액세스 요구가 발행되면, 이 논리 어드레스가 가리키는 칩 번호 및 블록 번호를 특정함으로써 액세스 지점이 되는 물리 어드레스를 구할 수 있게 된다.
이러한 구조를 갖는 내부 테이블은 플래시 메모리(100)의 블록에 순서대로 액세스하고, 데이터가 저장되어 있는 블록 번호를 검출하는 동시에, 이 데이터에 부가되어 있는 논리 어드레스를 검출하고, 이 논리 어드레스가 가리키는 내부 테이블의 엔트리에 그 블록 번호를 저장함으로써 생성된다.
이 내부 테이블의 생성 방법으로서는 호스트가 액세스 요구를 발행하기 전에 모두를 생성하고, 그 생성이 완료하고 나서 호스트에게 액세스 요구를 허가함으로써 생성하기도 하고, 호스트가 액세스 요구를 발행하기 전에 일부분만 생성하고, 그 후는 호스트의 액세스 요구가 있는 때에 그것을 계기로 액세스요구로 지정된 논리 어드레스가 가리키는 칩 번호에 관한 부분을 생성하는 것으로 생성하기도 하고, 호스트가 액세스 요구를 발행하기 전에 일부분만 생성하고, 그 후는 호스트의 액세스 요구가 있는 때에, 그것을 계기로서 액세스 요구로 지정된 논리 어드레스가 가리키는 칩 번호에 관한 부분을 생성하는 동시에, 호스트가 액세스 요구를 발행하지 않은 사이에도 생성을 계속함으로써 생성하는 것과 같이 여러가지 생성 방법이 있다.
그래서, CPU(41)는 메모리 카드(30)가 기동될 때에, SRAM 영역(600)의 레지스터에 저장되는 내부 테이블 작성 방법의 식별 정보를 참조하고, 그것이 지시하는 생성 방법에 따라서, 내부 테이블을 생성하는 처리를 한다. 이것에 의해 내부 테이블의 생성 방법을 간단히 변경할 수 있게 된다.
이와 같이, 본 발명을 구비하는 메모리 카드(30)는 메모리 카드(30)로서의 동작에 필요한 정보를 플래시 메모리(100)에 저장하는 구성을 채용하고, 메모리 카드(30)의 기동시에, 이들 동작 정보를 CPU(41)에서 주행하는 프로그램이 참조하는 레지스터에 저장함으로써 메모리 카드(30)를 동작시키는 구성을 채용하기 때문에, 외부에서 단자를 사용하여 메모리 카드(30)에 동작 정보를 통지할 필요가 없으므로 커넥터 단자의 증가를 방지할 수 있는 동시에, 플래시 메모리(100)에 저장되는 동작 정보를 재기입 하는 것만으로, 간단히 메모리 카드(30)의 동작 내용을 변경할 수 있게 된다.
도 26∼도 29에서 설명한 실시예는 어디까지나 실시예에 지나지 않고, 본 발명은 이것에 한정되지 않는다. 예컨대 도 26∼도 29에서 설명한 본 발명을 구비하는 메모리 카드(30)로서는 플래시 메모리(100)를 탑재하는 것을 상정(想定)하였지만, 전원 차단시에도 데이터를 유지하는 기능을 갖는 그 외의 메모리를 탑재하는 때에도, 그대로 통용할 수 있다.
다음에, 방식 ①에 따르는 플래시 메모리(100)가 탑재되어 있는 것인지, 방식 ②에 따르는 플래시 메모리(100)가 탑재되어 있는지를 검출하는 본 발명의 별도의 실시예에 대해서 설명한다.
도 4에서는 생략하였지만, 실제로는 도 32에 도시된 바와 같이, 방식 ①에 따르는 플래시 메모리(100)에 대한 칩 인에이블 신호를 생성하는 제1 바이너리 코드 변환 회로(401)와, 방식 ②에 따르는 플래시 메모리(100)에 대한 칩 인에이블 생성용 신호를 생성하는 제2 바이너리 코드 변환 회로(402)에 대하여, 동일한 신호선을 사용하고, 바이너리 코드로의 변환을 지시하는 인에이블 신호를 부여하는 구성을 채용한다.
이것에 대하여, 도 33에 도시된 바와 같이, 방식 ①의 기동을 지시하는 인에이블 신호와, 방식 ②의 기동을 지시하는 인에이블 신호를 구분하여, 방식 ①의기동을 지시하는 인에이블 신호에 관해서는 제1 바이너리 코드 변환 회로(401)에 부여하고, 방식 ②의 기동을 지시하는 인에이블 신호에 관하여는 디코더(50)에 부여하는 동시에 이 때, 제2 바이너리 코드 변환 회로(402)에 대하여 항상 인에이블 신호를 부여한다고 하는 구성을 채용하는 것도 가능하다.
이 구성을 채용하는 때에는 CPU(41)는 메모리 카드(30)의 기동시에, 도 34에 나타내는 처리 플로우를 실행함으로써 선택 지시 신호 레지스터(404)에 대하여 선택 지시 신호를 설정하는 처리를 행한다.
즉, CPU(41)는 메모리 카드(30)가 기동되면, 도 34의 처리 플로우에 도시된 바와 같이, 먼저 최초로 단계 1에서, 멀티플렉서(403)가 제1 바이너리 코드 변환 회로(401)의 출력 신호를 선택하도록 선택 지시 신호 레지스터(404)에 대하여 선택 지시 신호를 설정한다.
계속해서, 단계 2에서 선두에 위치하는 칩 번호 0의 플래시 메모리(100)에 대한 액세스를 실행함으로써 선두에 위치하는 칩 번호 0의 플래시 메모리(100)에 저장되는 전술의 각종 정보를 판독한다.
이 때, 단계 1의 처리에 따라서, 멀티플렉서(403)가 제1 바이너리 코드 변환 회로(401)의 출력 신호를 선택하도록 선택 지시 신호가 설정되어 있고, 따라서 방식 ①의 기동을 지시하는 인에이블 신호는 인에이블 지시를 표시하는데 반하여, 방식 ②의 기동을 지시하는 인에이블 신호는 인에이블 지시를 표시하고 있지 않다. 따라서, 방식 ②에 따르는 플래시 메모리(100)가 탑재되어 있는 때에는 디코더(50)가 기동되지 않으므로, 플래시 메모리(100)에 대한 액세스를 실현할 수 없다.
따라서, 계속해서 단계 3에서 단계 2의 액세스 처리에 의해 플래시 메모리(100)에 액세스할 수 있는 지의 여부를 체크하고, 플래시 메모리(100)에 액세스할 수 있다는 것을 판단할 때, 즉, 방식 ①에 따르는 플래시 메모리(100)가 탑재되어 있는 것을 판단하는 때에는 선택 지시 신호 레지스터(404)에 설정되는 선택 지시 신호가 올바른 것을 판단하여 그대로 처리를 종료한다.
한편, 단계 3의 체크 처리에 따라서, 단계2의 액세스 처리에 의하여 플래시 메모리(100)에 액세스할 수 없다는 것을 판단할 때, 즉, 방식 ②에 따른 플래시 메모리(100)가 탑재되어 있는 것을 판단할 때에는 단계 4로 진행하고, 멀티플렉서(403)가 제2 바이너리 코드 변환 회로(402)의 출력 신호를 선택하도록 선택 지시 신호 레지스터(404)에 대하여 선택 지시 신호를 설정한다.
계속해서, 단계5에서 선두에 위치하는 칩 번호 0의 플래시 메모리(100)에 대한 액세스를 실행함으로써 선두에 위치하는 칩 번호 0의 플래시 메모리(100)에 저장되는 전술의 각종 정보를 판독하여 처리를 종료한다.
이렇게 하여, 도 33에 나타내는 것 같은 구성을 채용하는 때에는 CPU(41) 는 34의 처리 플로우를 실행함으로써 선택 지시 신호 레지스터(404)에 대하여, 간단히 선택 지시 신호를 설정할 수 있게 된다.
도 34의 처리 플로우에서는 단계 1의 처리에서 멀티플렉서(403)가 제1 바이너리 코드 변환 회로(401)의 출력 신호를 선택하도록 선택 지시 신호를 설정하는 구성을 채용하였지만, 멀티플렉서(403)가 제2 바이너리 코드 변환 회로(402)의 출력 신호를 선택하도록 선택 지시 신호를 설정하는 구성을 채용하는 것도 가능하다. 이 구성을 채용할 때에는 단계 3의 처리에서 선두에 위치하는 칩 번호 0의 플래시 메모리(100)에 액세스할 수 없다는 것을 판단할 때에는 단계 4의 처리에서 멀티플렉서(403)가 제1 바이너리 코드 변환 회로(401)의 출력 신호를 선택하도록 선택 지시 신호 레지스터(404)에 설정하는 선택 지시 신호를 변경하게 된다.
또한 도 34의 처리 플로우에서는 m개의 플래시 메모리(100)를 탑재하거나 2m개의 플래시 메모리(100)를 탑재한다고 하는 도 4의 실시예를 상정하였지만, m개의 플래시 메모리(100)를 탑재하거나 2m+n개의 플래시 메모리(100)를 탑재한다고 하는 도 14의 실시예에 대해서도 그대로 적용할 수 있다.
이상 설명한 바와 같이, 본 발명에 의하면, 최대 m개의 칩을 탑재하는 장치와 최대 2m개의 칩을 탑재하는 장치에 공통으로 사용되기도 하고, 최대 m개의 칩을 탑재하는 장치와 최대 2m+n개의 칩을 탑재하는 장치에 공통으로 이용되는 구성을 채용하는 경우에 있어서 장치가 갖는 칩 정보가 외부에서 부여되지 않아도, 이들 칩에 대한 칩 인에이블 신호를 생성할 수 있게 된다.
그리고, 본 발명에 의하면, 전원 차단시에도 데이터를 유지하는 기능을 갖는 메모리를 탑재하는 경우에 있어서 메모리 장치로서의 동작에 필요한 정보를 메모리에 저장하는 구성을 채용하고, 메모리 장치의 기동시에 이들 동작 정보를 프로그램이 참조하는 레지스터에 저장함으로써 메모리 장치를 동작시키는 구성을 채용하기 때문에, 외부로부터 단자를 사용하여 메모리 장치에 동작 정보를 통지할 필요가 없으므로 커넥터 단자의 증가를 방지할 수 있는 동시에, 메모리에 저장되는 동작 정보를 재기입 하는 것만으로 간단히, 메모리 장치의 동작 내용을 변경할 수 있게 된다.
그리고, 본 발명에 의하면, 메모리에 부여하는 칩 인에이블 신호와, 디코더에 의해 디코드됨으로써 메모리에 부여하는 칩 인에이블 신호를 생성하게 되는 칩 인에이블 생성용 신호를 생성하고, 디코더가 구비되지 않은 때에는 칩 인에이블 신호를 선택하여 메모리에 부여하고, 디코더가 구비될 때에는 칩 인에이블 생성용 신호를 선택하여 디코더에 부여하는 구성을 채용하는 경우에 있어서, 간단히 칩 인에이블 신호를 출력할 것인지, 칩 인에이블 생성용 신호를 출력할 것인지를 설정할 수 있게 된다.

Claims (25)

  1. 최대 m개의 칩을 탑재하는 장치와 최대 2m개의 칩을 탑재하는 장치에 공통으로 사용되는 칩 인에이블 신호 생성 회로에 있어서,
    칩 번호가 발행될 때에 이 칩 번호가 가리키는 칩의 인에이블을 지시하는 m비트의 칩 인에이블 신호를 생성하는 제1 생성 수단과;
    칩 번호가 발행될 때에 이 칩 번호로부터 특정 칩 번호에 대하여 상기 제1 생성 수단이 생성하는 칩 인에이블 신호와 동일한 비트 패턴을 나타내는 m비트의 칩 인에이블 생성용 신호를 생성하는 제2 생성 수단과;
    최대 m개의 칩을 탑재하는 장치에 이용될 때에는 상기 제1 생성 수단이 생성하는 칩 인에이블 신호를 선택하여 출력하고, 최대 2m개의 칩을 탑재하는 장치에 이용될 때에는 상기 제2 생성 수단이 생성하는 칩 인에이블 생성용 신호를 선택하여 출력하는 선택 수단을 구비하는 것을 특징으로 하는 칩 인에이블 신호 생성 회로.
  2. 최대 m개의 칩을 탑재하는 장치와 최대 2m+n개의 칩을 탑재하는 장치에 공통으로 사용되는 칩 인에이블 신호 생성 회로에 있어서,
    칩 번호가 발행될 때에 이 칩 번호가 가리키는 칩의 인에이블을 지시하는 m비트의 신호를 구하고, 이 신호를 하위 m비트로 하는 (m+n)비트의 칩 인에이블 신호를 생성하는 제1 생성 수단과;
    칩 번호가 발행될 때에 상기 칩 번호를 2m로 나눗셈하여 구해지는 나머지 또는 상기 칩 번호로부터 1을 감산한 값을 2m으로 나눗셈하여 구해진 나머지로부터 특정 칩 번호에 대하여 상기 제1 생성 수단이 생성하는 칩 인에이블 신호의 하위 m비트와 동일한 비트 패턴을 나타내는 신호를 구함과 동시에, 몫으로부터 상기 특정 칩 번호에 대하여 상기 제1 생성 수단이 생성하는 칩 인에이블 신호의 상위 n비트와 동일한 비트 패턴을 나타내는 신호를 구하여, 전자의 신호를 하위 m비트로 하고, 후자의 신호를 상위 n비트로 하는 (m+n)비트의 칩 인에이블 생성용 신호를 생성하는 제2 생성 수단과;
    최대 m개의 칩을 탑재하는 장치에 이용될 때에는 상기 제1 생성 수단이 생성하는 칩 인에이블 신호를 선택하여 출력하고, 최대 2m+n개의 칩을 탑재하는 장치에 이용할 때에는 상기 제2 생성 수단이 생성하는 칩 인에이블 생성용 신호를 선택하여 출력하는 선택 수단을 구비하는 것을 특징으로 하는 칩 인에이블 신호 생성 회로.
  3. 제2항에 있어서, 상기 제1 생성 수단은 제2 생성 수단이 몫에서 생성되는 n비트를 상위 n비트로 하는 칩 인에이블 신호를 생성하는 것을 특징으로 하는 칩 인에이블 신호 생성 회로.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 특정 칩 번호를 발행함으로써 상기 특정 칩 번호가 가리키는 메모리 칩으로부터 어느 쪽의 장치에 있는 것인지를 나타내는 정보를 취득하는 취득 수단과,
    상기 선택 수단에 부여하는 선택 지시 신호를 유지하는 유지 수단을 설정 지점으로서 상기 취득 수단이 취득하는 정보에 의해 규정되는 선택 지시 신호를 상기 유지 수단으로 설정하는 설정 수단을 구비하는 것을 특징으로 하는 칩 인에이블 신호 생성 회로.
  5. 제1항에 있어서, 상기 제1 생성 수단은 0부터 시작하는 칩 번호가 발행될 때에 이 칩 번호에 따라서 m비트 중 어느 하나의 비트에 1을 설정함으로써 칩 인에이블 신호를 생성하고,
    상기 제2 생성 수단은 0부터 시작하는 칩 번호가 발행될 때에 이 칩 번호의 2치화값에 1을 가산한 신호를 생성함으로써 칩 인에이블 생성용 신호를 생성하는 것을 특징으로 하는 칩 인에이블 신호 생성 회로.
  6. 제1항에 있어서, 상기 제1 생성 수단은 0부터 시작하는 칩 번호가 발행될 때에 이 칩 번호에 따라서 m비트 중 어느 하나의 비트에 0을 설정함으로써 칩 인에이블 신호를 생성하고,
    상기 제2 생성 수단은 0부터 시작하는 칩 번호가 발행될 때에, 이 칩 번호의 2치화값의 비트 반전값으로부터 1을 감산한 신호를 생성하는 것을 특징으로 하는 칩 인에이블 신호 생성 회로.
  7. 제2항에 있어서, 제1 생성 수단은 0부터 시작하는 칩 번호가 발행될 때에 이 칩 번호에 따라서 하위 m비트중 어느 하나의 비트에 1을 설정함으로써 칩 인에이블 신호를 생성하고,
    상기 제2 생성 수단은 0부터 시작하는 칩 번호가 발행될 때에 이 칩 번호를 2m으로 나눗셈하여 구해지는 나머지의 2치화값에 1을 가산한 신호를 하위 m비트로 하는 칩 인에이블 생성용 신호를 생성하는 것을 특징으로 하는 칩 인에이블 신호 생성 회로.
  8. 제2항에 있어서, 상기 제1 생성 수단은 0부터 시작하는 칩 번호가 발행될 때에 이 칩 번호에 따라서 하위 m비트 중 어느 하나의 비트에 0을 설정함으로써 칩 인에이블 신호를 생성하고,
    상기 제2 생성 수단은 0부터 시작하는 칩 번호가 발행될 때에 이 칩 번호를 2m으로 나눗셈하여 구해지는 나머지의 2치화값의 비트 반전값으로부터 1을 감산한 신호를 하위 m비트로 하는 칩 인에이블 생성용 신호를 생성하는 것을 특징으로 하는 칩 인에이블 신호 생성 회로.
  9. 제5항 내지 제8항 중 어느 한 항에 있어서, 칩 번호 0 또는 1을 발행함으로써 상기 칩 번호가 가리키는 메모리 칩으로부터 어느 쪽의 장치인지를 나타내는 정보를 취득하는 취득 수단과,
    상기 선택 수단에 부여하는 선택 지시 신호를 유지하는 유지 수단을 설정 지점으로서 상기 취득 수단이 취득하는 정보에 의해 규정되는 선택 지시 신호를 상기 유지 수단에 설정하는 설정 수단을 구비하는 것을 특징으로 하는 칩 인에이블 신호생성 회로.
  10. 제1항에 있어서, 상기 제1 생성 수단은 1부터 시작하는 칩 번호가 발행될 때에 이 칩 번호에 따라 m비트중 어느 하나의 비트에 1을 설정함으로써 칩 인에이블 신호를 생성하고,
    상기 제2 생성 수단은 1부터 시작하는 칩 번호가 발행될 때에 이 칩 번호의 2치화값을 칩 인에이블 생성용 신호로서 이용하는 것을 특징으로 하는 칩 인에이블 신호 생성 회로.
  11. 제1항에 있어서, 상기 제1 생성 수단은 1부터 시작하는 칩 번호가 발행될 때에 이 칩 번호에 따라서 m비트중 어느 하나의 비트에 0을 설정함으로써 칩 인에이블 신호를 생성하고,
    상기 제2 생성 수단은 1부터 시작하는 칩 번호가 발행될 때에 이 칩 번호의 2치화값의 비트 반전값을 생성함으로써 칩 인에이블 생성용 신호를 생성하는 것을 특징으로 하는 칩 인에이블 신호 생성 회로.
  12. 제2항에 있어서, 상기 제1 생성 수단은 1부터 시작하는 칩 번호가 발행될 때에 이 칩 번호에 따라서 하위 m비트중 어느 하나의 비트에 1을 설정함으로써 칩 인에이블 신호를 생성하고,
    상기 제2 생성 수단은 1부터 시작하는 칩 번호가 발행될 때에 이 칩 번호로부터 1을 감산한 값을 2m으로 나눗셈하여 구해지는 나머지의 2치화값에 1을 가산한 신호를 하위 m비트로 하는 칩 인에이블 생성용 신호를 생성하는 것을 특징으로 하는 칩 인에이블 신호 생성 회로.
  13. 제2항에 있어서, 상기 제1 생성 수단은 1부터 시작하는 칩 번호가 발행될 때에 이 칩 번호에 따라서 하위 m비트중 어느 하나의 비트에 0을 설정함으로써 칩 인에이블 신호를 생성하고,
    상기 제2 생성 수단은 1부터 시작하는 칩 번호가 발행될 때에 이 칩 번호로부터 1을 감산한 신호를 2m으로 나눗셈하여 구해지는 나머지의 2치화값의 비트 반전값으로부터 1을 감산한 신호를 하위 m비트로 하는 칩 인에이블 생성용 신호를 생성하는 것을 특징으로 하는 칩 인에이블 신호 생성 회로.
  14. 제10항 내지 제13항 중 어느 한 항에 있어서, 칩 번호 1 또는 2를 발행함으로써 상기 칩 번호가 가리키는 메모리 칩으로부터 어느 쪽의 장치인지를 나타내는 정보를 취득하는 취득 수단과,
    상기 선택 수단에 부여하는 선택 지시 신호를 유지하는 유지 수단을 설정 지점으로서 상기 취득 수단이 취득하는 정보에 의해 규정되는 선택 지시 신호를 상기 유지 수단에 설정하는 설정 수단을 구비하는 것을 특징으로 하는 칩 인에이블 신호 생성 회로.
  15. CPU와, 전원 차단시에도 데이터를 유지하는 기능을 갖는 1개 또는 복수 개의 메모리와, CPU의 지시에 응답하여 상기 메모리에 커맨드를 발행함으로써 상기 메모리를 제어하는 콘트롤러를 구비한 메모리 장치에 있어서,
    상기 메모리에 메모리 장치로서 동작에 필요한 정보를 저장하도록 구성되고,
    장치의 기동시에 상기 메모리로부터 메모리 장치로서 동작에 필요한 정보를 독출하여, 상기 CPU 상에서 주행하는 프로그램이 참조하는 레지스터에 저장하도록 구성되는 것을 특징으로 하는 메모리 장치.
  16. 제15항에 있어서, 복수의 메모리가 탑재될 때에 선두의 메모리에 메모리 장치로서 동작에 필요한 정보를 저장하도록 구성되는 것을 특징으로 하는 메모리 장치.
  17. 제15항 또는 제16항에 있어서, 외부로부터 메모리 장치로서 동작에 필요한 정보의 설정 요구가 발행될 때에 상기 정보를 취득하는 취득 수단과,
    상기 취득 수단이 취득하는 메모리 장치로서 동작에 필요한 정보를 메모리에 기입하는 기입 수단을 구비하는 것을 특징으로 하는 메모리 장치.
  18. 제15항 내지 제17항 중 어느 한 항에 있어서, 상기 메모리 장치로서 동작에 필요한 정보로서, 메모리의 접속수 정보를 저장하는 것을 특징으로 하는 메모리 장치.
  19. 제15항 내지 제17항 중 어느 한 항에 있어서, 상기 메모리 장치로서 동작에 필요한 정보로서, 액세스 요구의 데이터가 소거되어 있을 때에 되돌려 주는 코드의 설정 정보를 저장하는 것을 특징으로 하는 메모리 장치.
  20. 제15항 내지 제l7항 중 어느 한 항에 있어서, 상기 메모리 장치로서 동작에 필요한 정보로서, 메모리 장치의 규격의 식별 정보를 저장하는 것을 특징으로 하는 메모리 장치.
  21. 제15항 내지 제17항 중 어느 한 항에 있어서, 상기 메모리 장치로서 동작에 필요한 정보로서, 내부 레지스터의 규정 범위의 비트를 유효로 할 것인지 무효로 할 것인지를 나타내는 설정 정보를 저장하는 것을 특징으로 하는 메모리 장치.
  22. 제15항 내지 제l7항 중 어느 한 항에 있어서, 상기 메모리 장치로서 동작에 필요한 정보로서, 내부 테이블의 작성 방법의 식별 정보를 저장하는 것을 특징으로 하는 메모리 장치.
  23. 제15항 내지 제17항 중 어느 한 항에 있어서, 상기 메모리 장치로서 동작에 필요한 정보로서, 저소비 전력 모드로 들어가는 시간의 설정 정보를 저장하는 것을 특징으로 하는 메모리 장치.
  24. 메모리에 부여하는 칩 인에이블 신호와, 디코더에 의해 디코드됨으로써 메모리에 부여하는 칩 인에이블 신호를 생성하게 되는 칩 인에이블 생성용 신호를 생성하고, 디코더가 구비되지 않을 때에는 상기 칩 인에이블 신호를 선택하여 메모리에 부여하고, 디코더가 구비될 때에는 상기 칩 인에이블 생성용 신호를 선택하여 상기 디코더에 부여하는 메모리 장치에 있어서,
    칩 인에이블 신호가 생성될 때에 디코더가 기능하지 않는 구성이 채용되는 경우에는 칩 인에이블 신호를 선택하면서 특정 칩 번호를 발행함으로써 이 특정 칩 번호가 가리키는 메모리에 액세스하는 액세스 실행 수단과;
    상기 실행 수단이 발행하는 특정 칩 번호가 가리키는 메모리가 액세스 가능한지의 여부를 검출하는 검출 수단과;
    상기 검출 수단의 검출 결과에 따라서 칩 인에이블 신호를 선택할 것인지 칩 인에이블 생성용 신호를 선택할 것인지를 결정하는 결정 수단을 구비하는 것을 특징으로 하는 메모리 장치.
  25. 메모리에 부여하는 칩 인에이블 신호와, 디코더에 의해 디코더함으로써 메모리에 부여하는 칩 인에이블 신호를 생성하게 되는 칩 인에이블 생성용 신호를 생성하고, 디코더가 구비되지 않은 때에는 상기 칩 인에이블 신호를 선택하여 메모리에 부여하고, 디코더가 구비될 때에는 상기 칩 인에이블 생성용 신호를 선택하여 상기 디코더에 부여하는 메모리 장치에 있어서,
    칩 인에이블 생성용 신호가 생성될 때 칩 인에이블 신호가 생성되지 않는 구성이 채용되는 경우에는 칩 인에이블 생성용 신호를 선택하면서 특정 칩 번호를 발행함으로써 이 특정 칩 번호가 가리키는 메모리에 액세스하는 액세스 실행 수단과;상기 실행 수단이 발행하는 특정 칩 번호가 가리키는 메모리가 액세스 가능한지의 여부를 검출하는 검출 수단과;
    상기 검출 수단의 검출 결과에 따라서 칩 인에이블 신호를 선택하는 것인지 칩 인에이블 생성용 신호를 선택할 것인지를 결정하는 결정 수단을 구비하는 것을 특징으로 하는 메모리 장치.
KR1019990011112A 1998-07-30 1999-03-31 칩 인에이블 신호 생성 회로 및 메모리 장치 KR100312888B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP98-215274 1998-07-30
JP21527498 1998-07-30
JP98-258215 1998-09-11
JP25821598A JP3519954B2 (ja) 1998-07-30 1998-09-11 チップイネーブル信号生成回路及びメモリ装置

Publications (2)

Publication Number Publication Date
KR20000011227A true KR20000011227A (ko) 2000-02-25
KR100312888B1 KR100312888B1 (ko) 2001-11-03

Family

ID=26520782

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990011112A KR100312888B1 (ko) 1998-07-30 1999-03-31 칩 인에이블 신호 생성 회로 및 메모리 장치

Country Status (3)

Country Link
US (2) US6289411B1 (ko)
JP (1) JP3519954B2 (ko)
KR (1) KR100312888B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150111107A (ko) * 2014-03-25 2015-10-05 (주)풍전티.티 내외장재용 사의 제조방법 및 그 사를 이용한 내외장재용 포

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020016430A (ko) * 2000-08-25 2002-03-04 윤종용 멀티미디어 모듈러 카드와 모듈러 카드 운영장치 및통합형 멀티미디어 시스템
JP2002342256A (ja) * 2001-05-14 2002-11-29 Hitachi Ltd データプロセッサ及びデータテーブルの更新方法
US7549011B2 (en) * 2001-08-30 2009-06-16 Micron Technology, Inc. Bit inversion in memory devices
KR20030055668A (ko) * 2001-12-27 2003-07-04 엘지전자 주식회사 멀티 서비스 시스템의 단위별 하드웨어 아이디 처리 장치및 그 방법
US7085879B2 (en) * 2002-02-27 2006-08-01 Microsoft Corporation Dynamic data structures for tracking data stored in a flash memory device
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US6901499B2 (en) * 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
US7010662B2 (en) * 2002-02-27 2006-03-07 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
JP3963744B2 (ja) * 2002-03-15 2007-08-22 富士通株式会社 チップセレクト信号による制御を変更可能なメモリ装置
US7082512B2 (en) * 2002-11-21 2006-07-25 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
JP4615241B2 (ja) * 2003-04-08 2011-01-19 三星電子株式会社 マルチチップでマルチセクタ消去動作モードを実行する半導体メモリチップ及びマルチチップパッケージ、及びマルチセクタ消去方法
DE102004058528B3 (de) * 2004-12-04 2006-05-04 Hyperstone Ag Speichersystem mit Sektorbuffern
WO2008038372A1 (fr) * 2006-09-28 2008-04-03 Fujitsu Microelectronics Limited Circuit de mémoire partagée et procédé de contrôle d'accès
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives
JP6067541B2 (ja) * 2013-11-08 2017-01-25 株式会社東芝 メモリシステムおよびメモリシステムのアセンブリ方法
JP6418419B2 (ja) * 2014-04-30 2018-11-07 華為技術有限公司Huawei Technologies Co.,Ltd. ハードディスクがアプリケーションコードを実行するための方法および装置
KR20190076241A (ko) 2017-12-22 2019-07-02 윤의실 염색패드 및 그 염색패드를 이용한 염색방법
KR20210146512A (ko) 2020-05-27 2021-12-06 윤의실 염색패드 및 그 염색패드를 이용한 염색방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5799168A (en) * 1996-01-05 1998-08-25 M-Systems Flash Disk Pioneers Ltd. Standardized flash controller
US6092146A (en) * 1997-07-31 2000-07-18 Ibm Dynamically configurable memory adapter using electronic presence detects

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150111107A (ko) * 2014-03-25 2015-10-05 (주)풍전티.티 내외장재용 사의 제조방법 및 그 사를 이용한 내외장재용 포

Also Published As

Publication number Publication date
US6289411B1 (en) 2001-09-11
KR100312888B1 (ko) 2001-11-03
JP2000105725A (ja) 2000-04-11
JP3519954B2 (ja) 2004-04-19
US20020026555A1 (en) 2002-02-28
US6643730B2 (en) 2003-11-04

Similar Documents

Publication Publication Date Title
KR100312888B1 (ko) 칩 인에이블 신호 생성 회로 및 메모리 장치
US7676640B2 (en) Flash memory controller controlling various flash memory cells
KR100209853B1 (ko) 플래시메모리카드
KR100545458B1 (ko) 외부기억장치와그제어장치,및데이타송수신장치
US5812814A (en) Alternative flash EEPROM semiconductor memory system
US20020147882A1 (en) Universal serial bus flash memory storage device
JPH06290106A (ja) 作動可能/使用中マスク・レジスタと作動可能/使用中モード・レジスタを有するフラッシュ・メモリカード
JPH10334206A (ja) 外部記憶装置
JP4218522B2 (ja) 電子装置、情報処理装置、アダプタ装置及び情報交換システム
EP0483978A2 (en) I.C. card
JPH05233901A (ja) Icカード、icカード搭載用メモリic及びicカードのメモリ容量の確認方法
KR920006615B1 (ko) 다이렉트 맵핑 방식과 뱅크 맵핑 방식으로 동작이 가능한 정보처리장치 및 맵핑 전환방법
CN100412893C (zh) 存储卡
US5761719A (en) On-chip memory map for processor cache macro
US11237954B2 (en) Controller and data storage system having the same
US20040030830A1 (en) Storage medium control method, storage medium control device, and storage medium adaptor
JPH07141479A (ja) Icメモリカードおよびそのicメモリカードを使用したファイル管理システム
JP2002196977A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
US5561813A (en) Circuit for resolving I/O port address conflicts
JPH07191905A (ja) 情報処理装置
CN110162493A (zh) 存储器管理方法及使用所述方法的储存控制器
WO1997046967A1 (fr) Carte a memoire en circuit integre
CN114296767A (zh) 固件更新方法及系统
JP2006065505A (ja) メモリーカード及び再生装置
TWI408553B (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: 20101012

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee