KR101165429B1 - 반도체 기억장치 및 그 액세스 방법 및 메모리 제어 시스템 - Google Patents

반도체 기억장치 및 그 액세스 방법 및 메모리 제어 시스템 Download PDF

Info

Publication number
KR101165429B1
KR101165429B1 KR1020050077501A KR20050077501A KR101165429B1 KR 101165429 B1 KR101165429 B1 KR 101165429B1 KR 1020050077501 A KR1020050077501 A KR 1020050077501A KR 20050077501 A KR20050077501 A KR 20050077501A KR 101165429 B1 KR101165429 B1 KR 101165429B1
Authority
KR
South Korea
Prior art keywords
semiconductor memory
memory
area
address
address area
Prior art date
Application number
KR1020050077501A
Other languages
English (en)
Other versions
KR20060050585A (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 KR20060050585A publication Critical patent/KR20060050585A/ko
Application granted granted Critical
Publication of KR101165429B1 publication Critical patent/KR101165429B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Read Only Memory (AREA)

Abstract

제 1반도체 메모리와 제 2반도체 메모리를 포함하고, 제 2반도체 메모리는 상기 제 1반도체 메모리의 캐시이고, 제 1반도체 메모리는 제 2반도체 메모리를 통해서 액세스 되고, 외부로부터 액세스된 논리 메모리 어드레스상에 제 1주소영역과 제 2주소영역이 있고, 제 1주소영역에 제 2 반도체 메모리의 적어도 일부가 맵핑되어 있고, 제 2주소영역을 액세스함으로써, 제 1반도체 메모리와 제 2반도체 메모리간의 데이터 전송을 제어하는 기능을 제공하는 염가의 블록 액세스 반도체 메모리를 기억 매체에 이용하여, 그것을 랜덤 액세스가 가능한 통상의 시스템 메모리와 같이 취급할 수 있는 반도체 기억장치 및 그 액세스 방법 및 메모리 제어 시스템을 제공한다.

Description

반도체 기억장치 및 그 액세스 방법 및 메모리 제어 시스템{Semiconductor memory device and access method and memory control system for same}
도 1은 블록 액세스형 메모리의 일례로서 NAND형 플래시 메모리의
내부 구성예를 나타내는 도면이다.
도 2는 플래시 메모리를 사용자용의 파일 기억장치로서 사용하는 경우에 시스템 구성을 개념적으로 나타내는 블록도이다.
도 3은 도 2의 시스템의 메모리 맵의 예를 나타내는 도면이다.
도 4는 본 발명의 실시예에 따른 반도체 기억장치를 채용한 메모리 제어 시스템의 블록도이다.
도 5는 본 발명의 실시 형태에서 기억장치의 논리 주소와 그 내부를 구성하는 SRAM캐시 및 NAND형 플래시 메모리의 논리 주소의 제 1맵핑예를 나타내는 도면이다.
도 6은 호스트 제어기가 메모리에 액세스할 때 실행하는 관리 프로그램의 일례를 나타내는 플로차트이다.
도 7은 본 실시 형태에서 기억장치의 논리 주소와 그 내부를 구성하는 SRAM캐시 및 NAND형 플래시 메모리의 논리 주소의 제 2맵핑예를 나타내는 도면이다.
도 8은 본 발명의 실시 형태에서 기억장치의 논리 주소와 그 내부를 구성하 는 SRAM캐시 및 NAND형 플래시 메모리의 논리 주소의 제 3맵핑예를 나타내는 도면이다.
도 9는 본 발명의 실시 형태에서 기억장치의 논리 주소와 그 내부를 구성하는 SRAM캐시 및 NAND형 플래시 메모리의 논리 주소의 제 4맵핑예를 나타내는 도면이다.
도 10은 본 발명의 실시 형태에서 기억장치의 논리 주소와 그 내부를 구성하는 SRAM캐시 및 NAND형 플래시 메모리의 논리 주소의 제 5맵핑예를 나타내는 도면이다.
본 발명은 반도체 기억장치에 관한 것이며, 더욱 자세하게, 내장 캐시메모리를 형성하는 반도체 기억장치 및 그 액세스 방법 및 메모리 제어시스템에 관한 것이다.
최근에, NAND형 플래시 메모리와 다른 블록 액세스형 반도체 메모리에 대한 수요가 급증하고 있다.
도 1은, 블록 액세스형 메모리의 일례로서 NAND형 플래시 메모리의 내부
구성예를 나타내는 도면이다. 도 1의 NAND형 플래시 메모리는, 비트선(BL1~BLn)에 접속된 복수의 메모리 유니트(1-1~1-n)를 가지고 있고, 어레이에(종횡으로) 배열되어 있다. 메모리 유니트1(-1~-n)는 선택 트랜지스터(2 및 3)사이에 끼워져 있고, 예를 들면, 직렬로 접속되어 있는 16개의 메모리셀(N0~N15)을 포함한다. 예를 들면, 홀수열의 선택 트랜지스터(2 및 3)의 게이트가 선택 게이트선(SL1 및 SL2)에 접속되어있고, 짝수열의 선택 트랜지스터(2 및 3)의 게이트가 선택 게이트선(SL3 및 SL4)에 접속되어 있다. 또한, 각 메모리 셀(N0~N15)의 게이트가 워드선(wordline)(WL0~WL15)에 접속되어 있다.
메모리 셀(N0~N15)은 다층 게이트 구조를 가지고, 부유 게이트에의 전하 축적량에 따라서 데이터를 기억한다. 즉, 부유 게이트에 많은 전자가 축적될 때, 트랜지스터의 임계값이 올라가고, 따라서, 충전된 비트선(BL1~BLn)으로부터 메모리유니트1(-1~-n)를 통해 어느 전류 관통을, 센스 증폭기등을 포함하는 액세스 회로(4)에서 검출하고, 그 데이터를 판정한다.
이러한 NAND형 플래시 메모리는, 메모리 셀 마다 비트선에 접속이
필요하지 않고, 따라서, 실효 셀 크기를 작게할 수 있다. 이것은 비용저감에도 유리하다. 그러나 다수의 트랜지스터가 직렬로 접속되어있고, 따라서 각 유니트의 독출 전류가 매우 작다. 또한, 주변 회로를 감소하기 위해서 어레이가 매우 커지게 된다. 워드선 및 비트선의 부하용량이 크고, 구동을 위해 장시간이 요구된다.
따라서 바이트 또는 워드 단위의 랜덤 억세스에는 적합하지 않다. 이러한 사양이 제공되지 않거나, 혹은 수십 ㎲의 액세스 시간을 필요로 한다. 즉, 이러한 메모리를 염가에 제조하기 위해서 셀 레벨의 액세스 성능은 희생이 되어 있다.
그러나 , 어레이내에 선택된 워드선(word line)상에 접속된 다수 셀의 데이 터는 동시에 센스 증폭기에 병렬로 독출된다. 따라서 수개의 kB의 블록 단위에서 속도의 증가가 가능하다. 즉, 일단 헤더 데이터가 독출되면, 연속한 데이터가 고속으로 독출될 수 있다.
또한, 기입조작의 속도는 같은 병렬처리로서 비슷하게 증가될 수 있다. 예를 들면, NAND형 플래시 메모리, Fowler-Nordheim(F-N)주입에 의한 저전류 기입조작이 가능해진다. 따라서 블록 단위의 전송 속도는 NOR형 플래시 메모리의 속도 보다 두 자리수 가깝게 빠르다.
이러한 메모리는 주로 휴대 전화나 디지털 카메라 등을 위한 사용자 파
일 기억장치로서 사용된다.
도 2는 플래시 메모리를 사용자 파일 기억장치용으로 사용할 때 시스템 구성을 개념적으로 나타내는 블록도이다.
이 시스템(10)은 중앙처리장치(CPU)(11), NOR형 플래시 메모리(13)와 시스템 버스(12)를 거쳐서 접속된 다이나믹 랜덤 액세스 메모리(DRAM)(14)로 구성된다.
두개의 메모리는 시스템메모리에 영역이 매핑되어 있다. NOR형 플래시 메모리(13)는 부트코드, 운영체제(OS)와 어플리케이션을 기억한다. 또한, DRAM(14)는 실행용 어플리케이션의 일부와 함께 로드되고 OS의 워크 에리어를 형성한다.
시스템 버스(12)에는, 또한, 외부 기억장치에 액세스하기 위한 인터페이스회로(IF)(15)에 접속되고 있고, 인터페이스회로(IF)(15)는 NAND형 플래시 메모리(17)를 제어하기 위한 제어회로(16)에 접속되어있다. 제어회로(16)는 ATA 규격 등으로 정해진 인터페이스 회로(15)의 사양에 맞추어 NAND형 플래시 메모리 (17)의 데이터를 입출력하고 전송한다. 또한, 외부로부터 지정된 논리 주소를 메모리(17)의 물리 주소로 변환하는 기능과, ECC 회로에서 메모리(17)로부터 독출한 데이터의 에러를 인코드 및 보정하는 기능 등을 가지고 있다.
도 3은, 도 2의 시스템의 메모리 맵의 예를 나타내는 도면이다. 도 3의 21은 NOR형 플래시 메모리(13)의 메모리 영역을 나타내고, 22는 DRAM(14)의 메모리 영역을 나타낸다.
시스템이 기동하면, CPU(11)는 우선 NOR형 플래시 메모리 영역(21)에 액세스하고 그 부트 코드(23)를 실행한다. 그 과정에서 실행용 NOR형 플래시 메모리 영역(21)으로부터 여러 종류의 프로그램이 DRAM 영역(22)으로 로드된다. 예를 들어 인터페이스 회로(15)를 조작하기 위한 드라이버 소프트웨어(24)가 로드되고
실행된다. 그 시점에서 NAND형 플래시 메모리(17)의 액세스가 가능하게 된다. NAND형 플래시메모리(17)는 시스템 메모리에 매핑되어있지 않다. IO맵 공간이 별도로 제공되어 있고, 거기에 매핑된 레지스터를 거쳐서 인터페이스 회로(15) 및 드라이버 소프트웨어(24)가 규정하는 특정의 프로토콜을 이용하여, 데이터가 전송된다.
블록형 데이터의 소망 개소를 추출하기 위해 장시간이 걸리므로, 블록 장치 관리 소프트웨어(25)가 로드, 실행되고, 블록 데이터의 캐시 영역(26)이 확보되고 관리된다.
이와 같이 NAND형 플래시 메모리(17)가 사용가능하게 될 때, 주로 사용자 데 이터를 파일로서 보존(기억)하기 위해 사용된다. 또, 어플리케이션의 일부가 파일로서 보존(기억)된다. 이들은 DRAM(14)내의 빈 영역에 로드되고, 전개되고, 실행되는 경우가 있다.
상술한 것처럼, 종래의 시스템 구성은 2종류의 플래시 메모리를 다른 역할을 할당하거나 선택적으로 사용하고 있다. 그러나 이러한 메모리에는 이하의 불리점이 있다.
먼저, 상술한 같이, NAND형 플래시 메모리는 염가의 불휘발성 메모리이고, 램덤 액세스용으로 부적합하다. 또한, 초기 데이터를 취득하기 위해 정신간이 요구된다. 따라서 통상의 시스템메모리와 같이 액세스될 수 없고, 하드 디스크와 같은 방식의 블록 액세스의 외부 기억장치와 같이 취급하게 된다. 그 결과, 외부 기억장치 전용의 인터페이스 회로(15)가 필요하게 되어, 기억장치의 안착이나 시스템의 회로 구성은 더욱 복잡하게 된다. 또한, 상술과 같은 인터페이스 회로 (15)의 조작용으로 드라이버 소프트웨어(24)가 필요하고, 메모리의 전송 성능도 그 프로토콜에 의해 제한된다.
또한, 호스트 제어기는 시스템메모리내에 별도로 캐시 메로리영역(26)이 제공되고, 관리 소프트웨어(25)에 의해 관리를 실시하지 않으면, 효율적으로 데이터의 전송을 할 수 없다. 이 때, 관리 소프트웨어는 데이터 갱신을 감시하거나 어떤경우는 전원순간차단을 위한 백업기구가 제공되는 등, 다양한 처리를 실행하는 것이 필요하다. 따라서, 호스트 제어기는 에게 있어서, 블록 데이터를 취급할 때 많은 부가 작업을 처리해야함으로, 좋은 처리 성능을 내기 어렵다.
한편, NOR형 플래시 메모리(13)는 워드 단위의 랜덤 독출조작를 실행할 수 있고, 시스템메모리로서 취급될 수 있지만, 고가이다. 또한, 독출 전용 메모리 (ROM)로서만 액세스될 수 있고, 램덤 액세스 메모리(RAM)로서 취급될 수 없다. 오버라이팅(overwriting)에는 통상 액세스와는 다른 예외적 조작이 필요하고 게다가 매우 시간이 오래 걸린다.
최근에, 가전기기는 다기능화되어 있고, 통신 기능이 주어져있다. 다수의 경우에 이들의 프로그램은 온라인상에서 종종 업데이트된다. 상기 NOR형 플래시 메모리의 결점은, 이러한 경우에서는 특히 심각하다.
본 발명은, 그러므로 NAND형 플래시메모리와 같은 염가의 블록 액세스 반도체 메모리를 기억 매체용으로 이용하고, 그것을 랜덤 액세스가 가능한 통상의 시스템 메모리와 같이 취급될 수 있는 반도체 기억장치, 액세스 방법 및 메모리 제어 시스템을 제공하기 위해 바람직하다.
이들과 본 발명의 다른 목적 및 특징들은 첨부된 도면을 참조한 바람직한 실시예의 이하 설명으로부터 명확해질 것이다.
본 발명의 제 1실시예에 따르면, 제 1 반도체 메모리와 제 2반도체 메모리를 포함하는 반도체 기억장치를 제공하는 것이며, 상기 제 2반도체 메모리는 상기 제 1반도체 메모리의 캐시이고, 상기 제 1반도체 메모리는 상기 제 2반도체 메모리를 통해서 액세스 되고, 외부로부터 액세스된 논리 메모리 어드레스상에 제 1주소영역과 제 2주소영역이 있고, 상기 제 1주소영역에 상기 제 2반도체 메모리의 적어도 일부가 맵핑되어있고, 상기 제 2주소영역을 액세스함으로써, 상기 제 1반도체 메모리와 상기 제 2반도체 메모리간의 데이터 전송을 제어하는 기능을 제공하고 있다.
바람직하게, 이 장치는 외부로부터의 상기 제 2주소 영역으로 기입되는 소정의 정보에 따라서, 상기 제 1반도체 메모리내의 소망한 블록 영역 데이터를 상기 제 2의 반도체 메모리로 전송하는 기능을 가지고 있다.
바람직하게, 이 장치는 상기 제 2주소 영역으로부터 소정 데이터를 독출함으로서, 상기 제 1반도체 메모리내의 소망한 블록 영역이 상기 제 2반도체 메모리로 전송되고 있는지 아닌지를 판정하는 기능을 가지고 있다.
바람직하게, 상기 제 1반도체 메모리는 블록 액세스형의 대용량 메모리이고, 상기 제 2 반도체 메모리는 랜덤 액세스형의 소용량 메모리이고, 상기 제 1반도체 메모리와 상기 제 2반도체 메모리간의 데이터 전송은 블록 단위로 실행된다.
바람직하게, 이 장치는 외부로부터의 상기 제 2주소 영역으로 기입되는 소정의 정보의 따라서, 상기 제 1반도체 메모리내의 소망한 블록 영역을 상기 제 2반도체 메모리의 캐시 영역으로 전송하고, 전송이 완료될 때 외부에 전송의 완료를 통지하는 기능을 가지고 있다.
바람직하게, 상기 제 1반도체 메모리는 불휘발성 메모리이고, 전원 투입 혹은 리셋트 입력을 검출하고, 상기 제 1반도체 메모리의 소정의 영역 데이터를 자동적으로 상기 제 2반도체 메모리에 전송 및 기억하는 기능을 가지고 있다.
바람직하게, 상기 제 1주소 영역은, 상기 제 1반도체 메모리의 논리 주소 영 역에 일대일로 대응하게 설정되고, 상기 제 1주소 영역이 액세스될 때, 제 1반도체 메모리내의 대응 영역이 제 2반도체 메모리를 거쳐서 액세스된다.
바람직하게, 상기 제 1반도체 메모리의 어느 영역이 상기 제 2반도체 메모리의 어느 영역에 기억되어 있는지를 나타내는 대응 정보가 기억되고,
외부로부터 상기 제 1주소 영역에 액세스가 있을 때, 입력 주소와 상기 대응 정보로부터 변환생성된 내부 주소에 따라서 상기 제 2반도체 메모리가 액세스된다.
본 발명의 제 2실시예에 따르면, 반도체 기억장치와, 적어도 관리 프로그램을 실행하여 상기 반도체 기억장치에 액세스하기 위한 호스트 장치를 갖는 메모리 제어 시스템을 제공하는 것이며, 상기 반도체 기억장치는, 제 1반도체 메모리와, 제 2반도체 메모리를 포함하고, 상기 제 2반도체 메모리는 상기 제 1반도체 메모리의 캐시이고, 상기 제 1반도체 메모리는 상기 제 2반도체 메모리를 거쳐서 액세스되고, 상기 호스트 장치로부터 액세스된 논리 메모리 어드레스상에 제 1주소 영역과 제 2주소 영역이 있고, 상기 제 1주소 영역에 상기 제 2반도체 메모리의 적어도 일부가 맵핑되어 있고, 상기 제 2주소 영역을 액세스함으로써, 상기 제 1반도체 메모리와 상기 제 2반도체 메모리간의 데이터 전송을 제어하고, 상기 호스트 장치로부터 상기 제 2주소 영역으로 기입되는 소정의 정보에 따라서, 상기 제 1반도체 메모리내의 소망한 블록 영역을 상기 제 2반도체 메모리로 전송하는 기능이 제공되어있고, 상기 호스트 장치는 상기 반도체 기억장치에 액세스할 때, 필요에 따라서, 상기 반도체 기억장치의 제 2주소 영역에 소정의 정보를 기입하는 호스트 제어기를 형성하고, 상기 반도체 기억장치는 소망한 블록영역을 캐시 영역에 전송하고, 전송이 완료될 때, 전송의 완료를 상기 호스트 제어기로 통지시키는 관리 프로그램을 실행한다.
본 발명의 제 3실시예에 따르면, 제 1반도체 메모리와 제 2반도체 메모리를 포함하는 반도체 기억 장치의 액세스 방법을 제공하는 것으로, 상기 제 2반도체 메모리를 상기 제 1반도체 메모리의 캐시로서 사용하여 상기 제 2의 반도체 메모리를 거쳐서 제 1반도체 메모리를 액세스하는 단계와,
외부로부터 액세스된 논리 메모리 어드레스상에 제 1주소 영역과 제 2주소 영역을 형성하는 단계와, 상기 제 1주소 영역에 상기 제 2반도체 메모리의 적어도 일부가 맵핑되는 단계와, 상기 제 2주소 영역을 액세스함으로써, 상기 제 1반도체 메모리와 상기 제 2반도체 메모리간에 데이터를 전송하는 단계를 포함한다.
즉, 본 발명의 실시예에 따른 반도체 기억장치는 제 1반도체 메모리와 제 2반도체 메모리로 구성되어 있으며, 상기 제 2반도체 메모리는 상기 제 1반도체 메모리의 캐시이고,상기 제 1반도체 메모리는 상기 제 2반도체 메모리를 통해서 액세스 된다.
이 장치는 램덤하게 접속가능한 캐시 영역과 논리 메모리 어드레스상의 캐시제어영역을 가지고 있다. 제 2반도체 메모리의 적어도 일부는 이 캐시 영역에 맵핑되어있다. 외부로부터 캐시제어영역을 액세스함으로써, 제 1반도체 메모리와 제 2반도체 메모리간에(사이에) 데이터 전송이 제어된다.
또한, 바람직하게, 미스 히트시의 처리로서 외부로부터 캐시 제어 영역에 기입되는 소정정보에 따라서, 제 1반도체 메모리내의 소망한 블록 영역을 캐시 영역 으로 전송한다.
또, 메모리 제어 시스템에서 호스트 장치는 반도체 기억장치에 액세스할 때 필요에 따라서 이하의 관리 프로그램을 실행한다. 즉, 관리 프로그램은 반도체 기억장치의 캐시 제어 영역에 소망 영역의 어드레스 정보를 기입하고, 기억장치가 대응 영역을 캐시 영역에 전송시키고, 전송이 완료될 때 호스트 제어기로 완료를 통지한다.
이하, 본 발명의 실시 형태를 도면을 참조하여 설명한다.
도 4는 본 발명의 일실시 형태에 따른 반도체 기억장치를 채용한 메모리 제어 시스템의 블록도이다.
시스템(10A)은 도 4에 나타낸 바와 같이, 예를 들어 호스트 장치는 CPU("호스트CPU"라고 한다)(11a), 시스템 버스(12a), DRAM(14a) 및 제 1반도체 메모리 및 제 2반도체 메모리를 포함한 반도체 기억장치(이하, "기억장치"라고 한다)(19a)를 주요 요소로 구성되어있다.
시스템(10A)에서, DRAM(14a)과 기억장치(19a)는 시스템 버스(12a)를 거쳐 CPU(11a)에 접속되고 있다. 기억장치(19a)는 NOR형 플래시 메모리와 핀(pin)으로 호환가능하고, 일반적인 보드에 그대로 장착될 수 있다.
기억장치(19a)는 용량이 2Mb의 정적(static)랜덤 액세스 메모리(SRAM)(18a)로 구성된 제 2반도체 메모리, 제어회로(16a) 및 용량이 1Gb의 NAND형 플래시 메모리(17a)로 구성되는 제 1반도체 메모리가 동일 패키지내에 구성되어 있다.
SRAM(18a)는 NAND형 플래시 메모리(17a)의 캐시로서 사용된다. 따라서, 이하의 설명에서, SRAM은 "SRAM 캐시"라고 하는 경우가 있다. NAND형 플래시 메모리(17a)의 내부는 복수 뱅크로 분할되어 있다. 그것들을 병렬 동작시키는 것으로, 블록 데이터의 고속의 전송이 가능하다.
제어회로(16a)는 후술하는 바와 같이, SRAM(18a)과 NAND형 플래시 메모리(1
7a)의 사이의 전송을 실행 및 제어하고, 본 발명의 실시예는 SRAM(18a)과 같은 동일칩상에 창작된다.
제어회로(16a)는 NAND형 플래시 메모리(17a)의 논리 주소를 물리 주소로 변환하고, 에러 블록의 액세스를 금지하는 기능이나, ECC 회로로 NAND형 플래시 메모리(17a)로부터 독출한 데이터의 에러를 인코딩 및 보정하는 기능을 가지고 있다.
덧붙여, 이와 같이 기억장치(19a)측에 캐시 메모리(18a)(SRAM 캐시)를 제공하는 구성을 채용할 때, 메인 메모리로서 NAND형 플래시 메모리(17a)와 캐시 메모리로서의 SRAM(18a)사이의 버스폭이나 전송 주파수는 기억장치(19a)내에서 독특하게 설정될 수 있다.
특히, 최근에 패키지 기술은 현저하게 향상되어있다. 따라서 양자 사이의 버스에 부하를 저감하기 위해 두개의 메모리(17a와 18a)를 근접시켜 배치하고, 그것들을 시스템 버스(12a)보다 넓게 만들거나, 전송 성능의 대폭적인 향상을 달성할 수 있도록 주파수를 상승하는 것이 가능하다.
도 5는 본 발명의 실시 형태에서 기억장치(19a)의 논리 주소와 그 내부를 구성하는 SRAM 캐시(18a) 및 NAND형 플래시 메모리(17a)의 논리 주소의 제 1매핑예를 나타내는 도면이다.
도 5에서 31은 이 기억장치(19a)의 논리 주소를 나타내고, 32는 SRAM 캐시(18a)의 논리 주소를 나타내고, 33은 NAND형 플래시 메모리(17a)의 논리 주소를 나타내고 있다. 또한, 34~36은 기억장치(19a)의 주소 영역을 나타내고, 37, 38은 SRAM 캐시(18a)의 주소 영역을 나타내고 있다.
본 발명의 실시 형태에서 기억장치(19a)와 SRAM 캐시(18a)의 논리 주소(31 및 32)는 기억장치의 입출력폭에 맞춘 32비트로 이루어지는 워드 단위로 할당되고,고 내려 NAND형 플래시 메모리(17a)의 어드레스(33)는 1M비트의 소거 블록단위로 할당된다.
기억장치(19a)의 주소 영역(34)은 SRAM(18a)의 주소 영역(37)으로 직접 맵핑되어 있다. 외부로부터 이 주소 영역이 액세스 됐을 때는, 즉시 SRAM(18a)이액세스 된다. 한편, 기억장치(19a)의 주소 영역(35)는, 여기에서는 사용 금지되어있고, 어디에도 맵핑되어 있지 않다. 또한, 기억장치(19a)의 주소 영역(36)에제어회로(16a)내의 레지스터(39)가 맵핑되고 있다. 이 부분을 액세스하는 것으로, SRAM(18a)의 내부 상태를 판정하고 SRAM(18a)와 NAND형 플래시 메모리(17a)간의 데이터 전송을 제어하는 것이 가능하다.
또한, SRAM(18a)의 주소 영역(37)은 NAND형 플래시 메모리(17a)의 논리 주소(33) 전체에 대한 캐시로서 역활을 한다. 즉, 1블록은 논리 주소(33)의 영역으로부터 선택된다. 그 데이터군은 기억장치(19a)내부에서 고속으로 전송되고, SRAM(18a)내의 주소 영역(37)에 기억된다. 예를 들면, 블록 주소"001"는 외부에서 레지스터(39)내의 태그(TAG)부(42)에 기입되고, 제어회로(16a)는 그것을 검지하고, 기억장치(storage)용 주소 영역(37)으로 블록(40_001)을 전송한다.
SRAM(18a)의 나머지 반의 주소 영역(38)은 통상은 기억장치(19a)의 어떤 주소영역에 매핑되지 않고, 사용자에게는 안보이지만, 이하의 경우에 대처하기 위해 데이터 기입시의 버퍼 혹은 예비 영역으로서 사용된다.
즉, SRAM(18a)의 주소 영역(37)에 기억된 블록이 외부에서부터 갱신될 때 그것은 NAND형 플래시 메모리(17a)내의 논리 주소 영역(33)의 원블록에 회신(재기입)되어야만 한다.
NAND형 플래시 메모리(17a)의 데이터 기입시간은 판독시간보다 두 자리수 (two orders)에 가깝게 늦기 때문에, 외부로부터 새로운 블록을 판독하려고 할 때와, 구블록이 갱신될 때, 구블록이 기입을 완료하고, 주소 영역(37)이 개방될 때 까지 기다리고 있으면, 매우 오랜시간이 걸리게 되어 그 시간동안 호스트 제어기의 동작이 정지해 버린다.
따라서, 예를 들어 NAND형 플래시 메모리(17a)의 블록(40_002)의 판독이 새롭게 요구되고, SRAM(18a)의 주소 영역(37)에 기억된 구블록(40_001)의 데이터가 갱신될때는, 이하와 같은 처리가 행해진다.
우선, SRAM(18a)의 주소 영역(37)의 갱신된 블록 데이터는 버퍼로서
주소 영역(38)에 고속으로 전송된다. 다음, 새로운 독출 블록의 데이터가 NAND형 플래시 메모리(17a)의 블록(40_002)으로부터 SRAM(18a)의 주소 영역(37)에 즉시 로드된다. 그 후에, NAND형 플래시 메모리(17a)의 논리 주소(33)내의 구블록(40_001)의 데이터는 소거되고, 갱신된 데이터는 SRAM(18a)의 버퍼(38)로부터 전송된다. 이것에 의해서, 소거나 기입을 기다리지 않고서도, 사용자는 캐시 영역(37)의 새로운 독출 블록의 데이터에 자유롭게 액세스할 수 있게 된다.
선택적으로, 기억장치(19a)의 캐시 영역(주소 영역)(34)에 매핑되는 영역을 SRAM(18a)의 영역(37)로부터 영역(38)까지 변경하고, NAND형 플래시 메모리(17a)의 새로운 독출 블록(40_002)의 데이터를 영역(38)에 저장하는 것이 가능하다. 잠시 후에 NAND형 플래시 메모리(17a)의 논리 주소(33)내의 구블록(40_001)의 데이터가 소거되고, SRAM(18a)의 주소 영역(37)으로부터 갱신데이터가 전송된다. 그 후, SRAM(18a)의 주소 영역(37)이 예비 영역이 된다.
기억장치(19a)는 외부로부터 주소 영역(36)에 메모리액세스하고, 그 결과 캐시로의 히트의 확인이나, 소망 블록의 내부 전송과 같은 각종 제어를 실시할 수있다. 이것과 캐시 영역(34)으로의 액세스를 조합함으로써, 범용의 메모리 인터페이스를 가지면서, NAND형 플래시 메모리(17a)의 논리 주소(33)에 자유롭게 액세스하는 것이 가능하다.
예를 들어, 기억장치(19a)의 주소 영역(36)에 매핑된 내부 레지스터(39)내
의 태그부(42)의 데이터를 참조하는 것으로, 소망한 블록이 캐시에 기억되는지 아닌지를 확인할 수 있다.
만약 없는 경우는, 예를 들어 태그부(42)는 소망한 블록 주소에 재기입된다.
기억장치(19a)내의 제어회로(16a)는 이것을 검출하고 소망한 블록의 데이터군을 NAND형 플래시 메모리(17a)내의 영역(33)으로부터 기억장치용 SRAM(18a)내의 영역(37)까지 전송한다. 전송이 완료될 때, 내부 레지스터(39)의 일부에 제공된 상태 표시부(43)에, 외부로부터 액세스가 가능한 취지가 통지된다.
호스트 제어기로서 CPU(이하, "호스트 CPU"라고 한다)(11a)는 이 메모리에 액세스할 때, 예를 들어 도 6과 같은 관리 프로그램을 필요에 따라서 실행한다.
이 프로그램은 우선 태그부(42)를 판독한다(ST1). 소망한 블록 주소와 일치하고 있으면(ST2), 호스트 CPU(11a)에 액세스 허가를 통지한다(ST3). 반대로 불일치이면(ST2), 블록 주소를 태그부(42)로 기입한다(ST4). 그 후 주기적으로 상태 표시부(43)을 체크한다(ST5~ST7). 상태 표시부(43)가 내부 전송의 완료를 표시하면, 호스트 제어기에게 액세스 허가를 통지한다(ST3). 이와 같이, 관리 프로그램으로부터 기억장치(19a)까지 제어는, 모두 기억장치(19a)의 주소 영역(36)로의 통상의 메모리 액세스에 의해서 실행되어 외부 기억장치용의 특수한 인터페이스가 불필요하다.
호스트 CPU(11a)는 관리 프로그램으로부터 액세스 허가의 통지를 대기하고, 기억장치(19a)의 캐시 영역(34)에 액세스를 개시한다. 이 부분은 통상의 범용 메모리와 같이 고속의 랜덤 액세스가 될 수 있다.  덧붙여 호스트측이 이미 캐시에 전송된 블록을 알고 있을 때는 관리프로그램은 호스트 제어기의 요청에 따라 전송과 완료 통지의 부분만을 실행해도 좋다.
도 7은, 본 발명의 실시 형태에 있어서의 기억장치(19a)의 논리 주소와 그 내부를 구성하는 SRAM 캐시(18a) 및 NAND형 플래시 메모리(17a)의 논리 주소와의 제 2매핑예를 나타내는 도면이다.
제 2매핑예에서, SRAM(18a)의 영역(37b)이 기억장치(19a)의 논리 주소 영역(34b_000)~(34 b_3 FF)에 다중으로 매핑되어있다. 즉, 기억장치(19a)의 상기 영역이 액세스됐을 때, 같은 SRAM(18a)의 영역(37b)에 액세스 되게 된다.
한편, 기억장치(19a)의 주소 영역(36b)에 제어회로(16a)내의 레지스터(39b)가 매핑되어 있다. 이 부분을 액세스 하는 것으로, SRAM(18a)의 내부 상태가 판정될 수 있고, SRAM(18a)와 NAND형 플래시 메모리(17a)간의 데이터 전송이 제어될 수 있다.
이 구성에서 기억장치(19a)의 논리 주소 영역이 SRAM(18a)의 영역(37b)을 거쳐서 NAND형 플래시 메모리(17a)의 블록 영역에 일대일로 대응하여 설정되어있다. 플래시 메모리내의 데이터를 마치 시스템메모리에 매핑되어있는 것 같이 취급할 수 있다. 예를 들어, NAND형 플래시 메모리(17a)의 블록(40b_001)에 기억된 프로그램과 데이터는 기억장치(19a)의 영역(34b_001)에 대응한 고유의 논리 주소를 이용하여 액세스될 수 있다.
이러한 기억장치(19a)에 액세스할 때 호스트 CPU(11a)는 도 6의 관리 프로그램에 액세스되기 위한 시스템 메모리 맵상의 논리 주소를 그대로 전송하고 액세스 허가를 얻을 수 있다. 예를 들어 시스템 메모리맵상에 논리주소가 기억장치(19a)상의 고유의 논리 주소"07 FFF"에 대응할 때, 대응 블록 어드레스"1"은 상위 비트( upper significant bit)로부터 추출되고 태그부(42b)에 기억된 값과의 일치가 체크된다. 차이가 나면 태그가 재기입되고, 소망블록이 SRAM(18a)에 로드된다.
액세스 허가가 확인되면, 호스트 CPU(112)는 기억장치의 논리 주소"07 FFF”에 액세스하고, 소망한 데이터를 자유롭게 판독 및 기입할 수 있다.
극단적인 예에서 기억장치(19a)에 액세스할 때마다 관리 프로그램이 실행되면, 호스트 CPU(11a)는 그것을 완전히 랜덤 액세스가 가능한 통상의 범용 메모리로서 사용할 수 있다. 단, 그 경우는 캐시의 히트 검출이 매회 오버헤드(overhead)가 된다. 그 결과 바람직하게, 호스트측은 어떤 범위로 캐시내로 이미 전송된 블록을 알거나 예측하고 관리 프로그램의 실행은 필요 최소한으로 유지한다.
자연히, 캐시 메모리에의 히트율은 가능한 높은 것이 좋다. 상기 설명한 메모리 구성예는 가장 단순한 것이지만, 캐시의 라인에 상당하는 블록의 전송단위, 내부의 캐시와 메모리간의 매핑 방법, 태그의 구성 방법에는, 통상의 캐시 메모리와 같게 많은 변경이 있다. 또, 목적에 따라 그 최적방법은 변경될 수 있다.
도 8은 본 발명의 실시 형태에 있어서의 기억장치(19a)의 논리 주소와 그 내부를 구성하는 SRAM 캐시(18a) 및 NAND형 플래시 메모리(17a)의 논리 주소와의 제 3매핑예를 나타내는 도면이다. 도 8에서 제 3매핑예로서 전송 블록의 크기를 1/4로 줄이고, 4개의 SRAM 캐시 영역이 제공되고 이 영역들이 플래시 메모리내의 영역에 직접 매핑으로 연결된 예를 나타낸다.
도 8의 예에서 NAND형 플래시 메모리(17a)의 논리 주소(33c)에 대해서는, 1M비트(64 페이지)로 형성된 각 소거 블록을 4 분할하였고, 256비트(16 페이지)를 내부 전송 블록 단위로 정의되었고, 예를 들어, 주소 0의 소거 블록은 4개의 내부 전송 블록(40c_000)~(40c_003)으로 분할되어 있다.
SRAM(18a)의 전체 주소 영역(32c)은 5개의 영역에 분할되고 있어(37c_0)~(37c_3)에는 NAND형 플래시 메모리(17a)로부터 전송된 4개의 전송 블록이 기억된다. 이들 4개의 캐시 영역은 NAND형 플래시 메모리(17a)의 소거 블록 영역을 4개로 분할한 섹션으로 독특하게 대응한다. 즉, 이 예에서는, 예를 들어 SRAM(18a)의 영역(37c_0)에 연결되는 것은, 각 소거 블록을 분할함으로써 얻어진 헤더 영역이다. 블록(40c_000), (40c_004),????(40c_FFC)의 블록군에서 하나의 블록이 선택되고, 기억장치로 전송된다.
또, SRAM(18a)의 주소 영역(38c)는 기입 시에 버퍼 혹은 예비 영역로서 사용된다.
제어회로(16a)내의 레지스터(39c)에 대해서, 태그 영역(42c)에는 SRAM내의 4개의 영역에 각각 대응한 4개의 전송 블록 주소가 기억되어 있다. 또, 상태 레지스터 영역(43c)에는 각 블록에 대한 전송 완료 플래그가 표시된다.
덧붙여 여기서의 전송 블록 주소는 각각 어느 소거 블록으로부터 전송되었는지를 판별가능할 필요가 있고, 소거 블록의 주소가 될 수 있다.
기억장치(19a)의 논리 주소(31c)에서 메모리 영역(34c_000)~(34c_003), (34c_004)~(34c_007),???과(34c_FFC)~(34c_FFF)의 4개의 영역마다, SRAM(18a)의 영역(37c_0)~(37c_3)이 중복하여 매핑되어 있다. 캐시 제어 영역(36c)에는 제어회로(16a)내의 레지스터(39c)가 매핑된다.
또한, 4개의 캐시 영역을 플래시 메모리내의 임의의 영역에 랜덤으로 연결되 는 구성을 취하는 것도 가능하다.
도 9는 본 발명의 실시 형태에서 기억장치(19a)의 논리 주소와 그 내부를 구성하는 SRAM 캐시(18a) 및 NAND형 플래시 메모리(17a)의 논리 주소의 제 4매핑예를 나타내는 도면이다.
이 예에서, SRAM(18a)내의 4개의 캐시 영역(37d_0)~(37d_3)은 각각 NAND형플래시 메모리(17a)내의 전송 블록 영역(40d_000)~(40d_FFF)으로부터 자유롭게 선택된 어느 데이터를 기억한다.
이 경우, 기억장치(19a)의 논리 주소(31d)와 SRAM(18a)의 논리 주소(32d)간의 매핑의 연결(link)은 캐시 영역(37d_0)~(37d_3)에 기억된 블록의 주소에 따라서 동적으로 변화한다.
예를 들어 여기에서는 SRAM의 논리 주소(32d)의 주소 영역(37d_0), (37d_1), (37d_2), (37d_3)는, NAND형 플래시 메모리(17a)의 논리 주소(33d)의 블록(40d_000), (40d_005), (40d_003), (40d_FFD)의 데이터가 전송된다. 이에 따라 SRAM(18a)의 영역이 기억장치(19a)의 주소 영역(31d_000), (31d_005), (31d_003), (31d_FFD)에 매핑되어 있다.
이러한 동적인 매핑변경은 이하와 같이 실시하면 좋다. 예를 들어, 영역(34d_003)내의 주소”0030 FF”가 외부로부터 액세스되었다고 가정한다. 기억장치(19a)에 입력되는 주소의 상위 비트”003”로부터 대응하는 전송 블록 어드레스를 생성한다. 이것을 태그 영역(42d)내의 각 캐시 영역에 전송 블록 주소와 비교한다. 일치하는 캐시 영역이 있으면, SRAM(18a)내의 해당 영역에 액세 스 하도록 입력 주소가 내부에서 변환된다.
여기서, 블록”003”은 SRAM(18a)의 캐시 영역(37d_2)에 기억되고 있고, 그 SRAM(18a)의 논리 주소(32d)에서의 헤더 워드의 논리 어드레스는 2000이다.
 따라서, 입력된”0030 FF”는 내부에서”0020 FF"로 변환되고 그 후에 SRAM(18a)에의 액세스가 실행된다.
덧붙여 소망한 데이터가 캐시에 존재하는 확률은, 일반적으로 제 4 매핑예>제 3매핑예>제 2매핑예의 순서로 높다. 그러나, 제 4매핑예에서 상기 기술한 바와 같이 동적인 매핑 갱신 등이 필요하고, 구성이 약간 복잡하다
상기 기술한 바와 같이, 본 발명의 반도체 기억장치는 범용의 SRAM, DRAM, NOR형 플래시 메모리와 같은 방식으로 시스템메모리로서 간편하게 취급될 수 있고, 랜덤 액세스도 할 수 있으므로, 종래의NAND형 플래시 메모리와 같이 파일 기억장치로의 용도에 한정되지 않고, 어플리케이션의 실행용으로도 적합하다. 또한, 시스템이 메모리로부터 부트될 수 있다면, NOR형 플래시 메모리를 조합하여, 염가로 사용하기에 편리한 메모리시스템을 구축할 수 있다.
그러나, 본 발명의 실시예와 같은 기억장치를 시스템 부트에 사용하는 경우, 그 최대의 문제는, 시스템 부트의 초기에서, 단순한 메모리 액세스만이 가능하다는 점이다. 일반적으로는 시스템메모리상의 주소 0으로부터 순차적으로 부트 코드가 실행된다. 따라서, 도 6에 나타낸 관리 프로그램조차 실행될 수 없고, 빌트인(built-in)캐시를 가지는 기억장치를 사용했을 때, 캐시 히트가 판정되거나 전송 지시 등이 관리될 수 없다.
도 10은 본 발명의 실시 형태에서 기억장치(19a)의 논리 주소와 그 내부를 구성하는 SRAM 캐시(18a) 및 NAND형 플래시 메모리(17a)의 논리 주소의 제 5매핑예를 나타내는 도면이다.
이 제 5매핑예는 제 2매핑예의 구성에 시스템 부트에 대응한 기능을 설치한 예이다.
기억장치(19a)의 논리 주소(31e)에는 SRAM(18a)의 주소 영역이 이하의 방식으로 매핑되어 있다. 즉, 영역(34e_000) 및 (34e_001)에는 (37e)와 (38e)가 매핑되어있다. 이 부분은 시스템 부트에 사용된다. 그 다음(34e_002)~(34e_3 FF)블록에는 영역(37e)가 중복하게 매핑되어 있다.
한편, 기억장치(19a)의 주소 영역(36e)에는 제어회로(16a)내의 레지스터(39 e)가매핑되어 있다. 이 부분을 액세스하는 것으로, SRAM(18a)의 내부 상태가 판정될 수 있고, SRAM(18a)와 NAND형 플래시 메모리(17a)간의 데이터 전송이 제어될 수 있다.
기억장치(19a)는 전원의 ON를 검출하거나 외부로부터 리셋트 신호를 수신할 때, 시스템 부트에 대응하는 부트 코드가 기억된 NAND형 플래시 메모리(17a)상의 논리 어드레스 영역(40e_000) 및 (40e_001)을 SRAM(18a)의 캐시영역(37e 및 38e)에 자동적으로 전송한다. 이것에 의해서, 부트 영역(34e_000) 및 (34e_001)에 액세스할 때, 호스트 CPU(11a)에 캐시에의 히트가 보증되고, 이들 영역은 관리 프로그램 없이도 액세스될 수 있다.
또, 이때, NAND형 플래시 메모리(17a)의 부트(boot) 사용 영역(40e_000) 또 는(40e_001)에 상기 도 6에 나타낸 관리 프로그램과 이 관리 프로그램을 DRAM 등의 시스템메모리에 전송하는 코드가 기억되면, 이전의 전송 코드를 실행하는 것으로, 관리 프로그램을 DRAM상에 전개해하고 상주시킬 수 있다. 이것에 의해서, 이후, 기억장치(19a)의 영역(34e_002)~(34e_3 FF)에 자유롭게 액세스하는 것이 가능하게 된다.
즉, 필요에 따라서 관리 프로그램을 실행하는 것으로, 관리 프로그램은 캐시
제어용 주소 영역(36e)을 액세스하고, 플래시 메모리 영역(40e_002)~(40e_3 FF)으로부터 소망한 블록을 SRAM 캐시 영역(37e)에 전송하고, 데이터로의 액세스를 가능하게 한다.
이와 같이 함으로써, 본 발명의 실시예의 기억장치는 시스템의 부트용으로도 사용할 수 있고, 한편 운영체제(operating system), 어플리케이션 및 사용자 데이터의 보관에도 사용할 수 있다. 캐시상에서의 실행에 적합하지 않는 대형의 프로그램은 필요에 따라서 시스템메모리의 DRAM에 전송하고, 거기서부터 실행해도 좋다.
또, 도 6과 같은 관리 프로그램은 매우 단순한 것이며 그 크기는 지극히 소
형이다. 따라서, SRAM(18a)의 논리 주소(32e)내에 특정의 미소 구획을 제공할
때 그 영역에 부트시에 독출한 관리 프로그램을 상주하면서, 그것을 기억장치(19a)상에 논리 주소(31e)의 특정의 논리 주소에 상시 매핑하고, 저성능의 로엔드 용도(low end applications)이면 시스템에는 DRAM조차 필요 없게 된다.
플래시 메모리의 경우에 재기입이 늦고, 재기입회수도 10만회 정도로 재한되어있어 상기 케이스에서 이것이 성능상의 애로(bottleneck)가 되지만, 최근에 강유전체 메모리나 OUM등, 강한 재기입내성을 가지고 플래시 메모리보다 고속으로 데이터를 기입할 수 있는, 다양한 불휘발성 메모리가 출현하고 있다. 이것들을 도 4에서 NAND형 플래시 메모리(17a) 대신에 매체로서 이들중의 하나를 사용하면, SRAM(18a)에 대한 데이터 전송은 쌍방향으로 고속이 된다. 이러한 메모리는 시스템으로부터 DRAM(14a)를 삭제하고, 하나의 기억장치만으로 염가의(저비용의) 시스템을 구축하기 위해 이용할 때 특히 적합한 것이다.
덧붙여 본 발명의 실시 형태에서, 기억 매체의 예로서 NAND형 플래시 메모리를 이용했지만, 본 발명의 실시예는 적용 범위에 한정되는 것은 아니다. NAND형 플래시 메모리에 부가하여 셀 레벨로의 액세스 시간을 희생함으로써 드라이버 회로를 소형화하거나 기능을 블록 액세스로 한정하는 것으로 디코더, 제어 회로 등을 삭감되어, 비용이 감소되도록하는 다른 예는 많다. 본 발명의 실시예는 이러한 메모리들에 효과적으로 적용될 수 있다.
또, 실시 형태에서, 캐시 기억 장치로서 SRAM를 이용했지만, 이 실시예는 SRAM에 한정되지 않는다. 랜덤 억세스가 가능한 메모리이면, 용도에 따라 여러가지 반도체 메모리를 사용할 수 있다. 예를 들어, 전원순간차단시의 데이터 손실을 막을 수 있도록 강유전체 메모리를 사용하거나 염가로 대용량인 캐시를 설치할 수 있도록 DRAM를 사용하여 적용할 수 있다.
첨부된 청구항 또는 청구항에 상당하는 범위내에서 설계 조건과 다른 인자들에 의존하여 다양한 수정, 조합, 부분조합 및 변경이 이 기술분야에서 기술을 가진 사람들에 의해 이해될 것이다.
본 발명의 실시예의 효과를 요약하면, 본 발명에 따라서, 외부 기억장치 전용의 블록 액세스 밖에 할 수 없는 NAND형 플래시 메모리와 같은 대용량의 매체를 염가로 사용하고, DRAM나 SRAM, NOR형 플래시 메모리 혹은 다른 범용 반도체 메모리와 동일하게 취급하는 것이 가능하고, 핀 구성도 호환으로 할 수 있다. 따라서, 시스템 구성이 단순하고 염가로 될 뿐만 아니라 고성능의 시스템 버스에 직접 접속할 수 있으므로, 인터페이스 회로에 수반하는 제약도 거의 없고, 메모리의 전송성능을 최소의 오버헤드로 활용하는 것이 가능하게 된다.
또한, 호스트 제어기측에서, 번잡하고 고도의 관리를 필요로 하는 블록 디바이스 드라이버가 불필요해져 거의 직접적으로 기억장치에 액세스할 수 있다.
또한, 간단한 관리 프로그램을 적당하게 실행하는 것만으로, 어플리케이션은 본 메모리를 랜덤 액세스가 가능한 시스템메모리의 일부로서 취급할 수 있다. 이것에 의해 어플리케이션측의 부담을 경감할 수 있다. 또한, 본 메모리는 시스템 부트에도 채용할 수 있어 일반적으로 요구된 2종류의 플래시메모리 부분을 1종류로 감소될 수 있다. 또, CPU와 본 반도체 기억장치만으로 시스템을 구성하는 것도 가능하다.

Claims (15)

  1. 제 1반도체 메모리와 제 2반도체 메모리를 포함하고,
    상기 제 2반도체 메모리는 상기 제 1반도체 메모리의 캐시이고,
    상기 제 1반도체 메모리는 상기 제 2반도체 메모리를 거쳐서 액세스되며,
    외부로부터 액세스된 논리 메모리 어드레스상에 제 1주소 영역과 제 2주소 영역을 가지고,
    상기 제 1주소 영역에 상기 제 2반도체 메모리의 적어도 일부가 맵핑되고,
    상기 제 2주소 영역을 메모리 액세스함으로써, 상기 제 1반도체 메모리와 상기 제 2반도체 메모리간의 데이터 전송을 제어하는 기능을 포함하며,
    상기 제 2주소 영역으로부터 소정 데이터를 독출함으로서, 상기 제 1반도체 메모리내의 소망한 블록 영역이 상기 제 2반도체 메모리로 전송되고 있는지 아닌지를 판정하는 기능을 더 포함하는 것을 특징으로 하는 반도체 기억장치.
  2. 제 1항에 있어서,
    외부로부터의 상기 제 2주소 영역으로 기입되는 소정의 정보에 따라서, 상기 제 1반도체 메모리내의 소망한 블록 영역을 상기 제 2의 반도체 메모리로 전송하는 기능을 더 포함하는 것을 특징으로 하는 반도체 기억장치.
  3. 삭제
  4. 제 1항에 있어서,
    상기 제 1반도체 메모리는 블록 액세스형의 대용량 메모리이고, 상기 제 2 반도체 메모리는 랜덤 액세스형의 소용량 메모리이고, 상기 제 1반도체 메모리와 상기 제 2반도체 메모리간의 데이터 전송은 블록 단위로 실행되는 것을 특징으로 하는 반도체 기억장치.
  5. 제 2항에 있어서,
    외부로부터의 상기 제 2주소 영역으로 기입되는 소정의 정보의 따라서, 상기 제 1반도체 메모리내의 소망한 블록 영역을 상기 제 2반도체 메모리의 캐시 영역으로 전송하고, 전송이 완료될 때 외부에 전송의 완료를 통지하는 기능을 더 포함하는 것을 특징으로 하는 반도체 기억장치.
  6. 제 1항에 있어서,
    상기 제 1반도체 메모리는 불휘발성 메모리이고, 전원 투입 혹은 리셋트 입력을 검출하고, 상기 제 1반도체 메모리의 소정의 영역 데이터를 자동적으로 상기 제 2반도체 메모리에 전송 및 기억하는 기능을 포함하는 것을 특징으로 하는 반도체 기억장치.
  7. 제 1항에 있어서,
    상기 제 1주소 영역은 상기 제 1반도체 메모리의 논리 주소 영역에 일대일로 대응하게 설정되고, 상기 제 1주소 영역이 액세스될 때, 제 1반도체 메모리내의 대응 영역이 제 2반도체 메모리를 거쳐서 액세스되는 것을 특징으로 하는 반도체 기억장치.
  8. 제 7항에 있어서,
    상기 제 1반도체 메모리의 어느 영역이 상기 제 2반도체 메모리의 어느 영역에 기억되어 있는지를 나타내는 대응 정보가 기억되고,
    외부로부터 상기 제 1주소 영역에 액세스가 있을 때, 입력 주소와 상기 대응 정보로부터 변환 생성된 내부 주소에 따라서 상기 제 2반도체 메모리가 액세스되는 것을 특징으로 하는 반도체 기억장치.
  9. 반도체 기억장치와,
    적어도 관리 프로그램을 실행하여 상기 반도체 기억장치에 액세스하기 위한 호스트 장치와,
    상기 반도체 기억장치는,
    제 1반도체 메모리와,
    제 2반도체 메모리를 포함하고,
    상기 제 2반도체 메모리는 상기 제 1반도체 메모리의 캐시이고, 상기 제 1반도체 메모리는 상기 제 2반도체 메모리를 거쳐서 액세스되고,
    상기 호스트 장치로부터 액세스된 논리 메모리 어드레스상에 제 1주소 영역과 제 2주소 영역이 있고, 상기 제 1주소 영역에 상기 제 2반도체 메모리의 적어도 일부가 맵핑되어 있고,
    상기 제 2주소 영역을 액세스함으로써, 상기 제 1반도체 메모리와 상기 제 2반도체 메모리간의 데이터 전송을 제어하고, 상기 호스트 장치로부터 상기 제 2주소 영역으로 기입되는 소정의 정보에 따라서, 상기 제 1반도체 메모리내의 소망한 블록 영역 데이터를 상기 제 2반도체 메모리로 전송하는 기능을 더 포함하고,
    상기 호스트 장치는 상기 반도체 기억장치에 액세스할 때, 상기 반도체 기억장치의 제 2주소 영역에 소정의 정보를 기입하는 호스트 제어기를 형성하고, 상기 반도체 기억장치는 소망한 블록 영역 데이터를 캐시 영역에 전송하고, 전송이 완료될 때, 전송의 완료를 상기 호스트 제어기로 통지시키는 관리 프로그램을 실행하며,
    상기 제 2주소 영역으로부터 독출되는 소정 데이터에 의해 상기 제 1반도체 메모리내의 소망한 블록 영역 데이터가 상기 제 2반도체 메모리로 전송되고 있는지 아닌지를 판정하는 기능을 더 포함하여 구성된 것을 특징으로 하는 메모리 제어 시스템.
  10. 삭제
  11. 제 9항에 있어서,
    상기 제 1반도체 메모리는 블록 액세스형의 대용량 메모리이고, 상기 제 2반도체 메모리는 랜덤 액세스형의 소용량 메모리이고, 상기 제 1반도체 메모리와 상기 제 2반도체 메모리간의 데이터 전송은 블록 단위로 실시되는 것을 특징으로 하는 메모리 제어 시스템.
  12. 제 9항에 있어서.
    상기 제 1반도체 메모리는 불휘발성 메모리이고, 전원 투입 혹은 리셋트 입력을 검출하고, 상기 제 1반도체 메모리의 소정의 영역을 자동적으로 상기 제 2반도체 메모리로 전송 및 기억하는 기능을 포함하는 것을 특징으로 하는 메모리 제어 시스템.
  13. 제 12항에 있어서,
    전원 투입 혹은 리셋트 입력을 검출하고, 적어도 상기 관리 프로그램이 기억된 영역을 자동적으로 상기 제 2반도체 메모리에 전송 및 기억하는 기능을 포함하는 것을 특징으로 하는 메모리 제어 시스템.
  14. 제 9항에 있어서,
    상기 제 1주소 영역은 상기 제 1반도체 메모리의 논리 주소 영역에 일대일로 대응하여 설정되고, 제 1주소 영역이 액세스될 때, 제 1반도체 메모리의 대응 영역 이 제 2반도체 메모리를 거쳐서 액세스되는 것을 특징으로 하는 메모리 제어 시스템.
  15. 제 1반도체 메모리와 제 2반도체 메모리를 포함하는 반도체 기억장치의 액세스 방법에 있어서,
    상기 제 2반도체 메모리를 상기 제 1반도체 메모리의 캐시로서 사용하여 상기 제 2의 반도체 메모리를 거쳐서 제 1반도체 메모리를 액세스하는 단계와,
    외부로부터 액세스된 논리 메모리 어드레스상에 제 1주소 영역과 제 2주소 영역을 형성하는 단계와,
    상기 제 1주소 영역에 상기 제 2반도체 메모리의 적어도 일부가 맵핑되는 단계와,
    상기 제 2주소 영역을 액세스함으로써, 상기 제 1반도체 메모리와 상기 제 2반도체 메모리간에 데이터 전송을 제어하는 단계와,
    상기 제 2주소 영역으로부터 소정 데이터를 독출함으로서, 상기 제 1반도체 메모리내의 소망한 블록 영역이 상기 제 2반도체 메모리로 전송되고 있는지 아닌지를 판정하는 단계를 포함하는 것을 특징으로 하는 반도체 기억장치의 액세스 방법.
KR1020050077501A 2004-08-26 2005-08-23 반도체 기억장치 및 그 액세스 방법 및 메모리 제어 시스템 KR101165429B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004246249A JP5007485B2 (ja) 2004-08-26 2004-08-26 半導体記憶装置およびそのアクセス方法、並びにメモリ制御システム
JPJP-P-2004-00246249 2004-08-26

Publications (2)

Publication Number Publication Date
KR20060050585A KR20060050585A (ko) 2006-05-19
KR101165429B1 true KR101165429B1 (ko) 2012-07-12

Family

ID=35427767

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050077501A KR101165429B1 (ko) 2004-08-26 2005-08-23 반도체 기억장치 및 그 액세스 방법 및 메모리 제어 시스템

Country Status (4)

Country Link
US (1) US7193923B2 (ko)
EP (1) EP1632858B1 (ko)
JP (1) JP5007485B2 (ko)
KR (1) KR101165429B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10964392B2 (en) 2018-08-27 2021-03-30 SK Hynix Inc. Memory system performing cache program and operating method thereof

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338370A (ja) * 2005-06-02 2006-12-14 Toshiba Corp メモリシステム
JP2007080325A (ja) * 2005-09-12 2007-03-29 Matsushita Electric Ind Co Ltd 半導体記憶装置
JP2007220168A (ja) * 2006-02-14 2007-08-30 Matsushita Electric Ind Co Ltd 半導体記憶装置
CN101288055B (zh) * 2006-11-07 2010-10-13 日立软件工程株式会社 数据处理控制方法,信息处理设备和数据处理控制系统
KR100816761B1 (ko) 2006-12-04 2008-03-25 삼성전자주식회사 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법
KR100833512B1 (ko) * 2006-12-08 2008-05-29 한국전자통신연구원 태그의 센싱 데이터 저장 장치 및 그 방법
KR100875293B1 (ko) 2007-02-08 2008-12-23 삼성전자주식회사 시스템 성능을 향상시킬 수 있는 플래시 메모리 시스템
JP4561783B2 (ja) 2007-06-21 2010-10-13 ソニー株式会社 半導体メモリ装置、半導体メモリ装置の動作方法
JP4561782B2 (ja) 2007-06-21 2010-10-13 ソニー株式会社 半導体メモリ装置、半導体メモリ装置の動作方法
JP4922860B2 (ja) * 2007-08-01 2012-04-25 株式会社日立製作所 半導体装置
US7966456B2 (en) * 2007-09-28 2011-06-21 Intel Corporation Method for reducing number of writes in a cache memory
JP2009181666A (ja) * 2008-01-31 2009-08-13 Sony Corp 半導体メモリ装置およびその動作方法
JP2009181669A (ja) * 2008-01-31 2009-08-13 Sony Corp 半導体メモリ装置およびその動作方法
US8194492B2 (en) * 2008-04-08 2012-06-05 Samsung Electronics Co., Ltd. Variable resistance memory device and system
US8271737B2 (en) * 2009-05-27 2012-09-18 Spansion Llc Cache auto-flush in a solid state memory device
JP2012033001A (ja) 2010-07-30 2012-02-16 Toshiba Corp 情報処理装置および情報処理方法
GB2493340A (en) * 2011-07-28 2013-02-06 St Microelectronics Res & Dev Address mapping of boot transactions between dies in a system in package
JP5714681B2 (ja) 2013-10-25 2015-05-07 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US9558124B2 (en) * 2013-11-08 2017-01-31 Seagate Technology Llc Data storage system with passive partitioning in a secondary memory
KR102218712B1 (ko) 2014-02-11 2021-02-22 삼성전자주식회사 저장 장치의 어드레스 맵핑 방법 및 저장 장치의 데이터 독출 방법
US20150262696A1 (en) * 2014-03-12 2015-09-17 Kabushiki Kaisha Toshiba Memory system and control method of memory system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4710868A (en) * 1984-06-29 1987-12-01 International Business Machines Corporation Interconnect scheme for shared memory local networks
JPH04268296A (ja) * 1991-02-25 1992-09-24 Nec Corp 消去可能形読出し専用メモリ
JPH04324194A (ja) * 1991-04-25 1992-11-13 Nec Corp Rom回路
JP2549034B2 (ja) * 1991-07-22 1996-10-30 株式会社メルコ 記憶装置
US5359569A (en) * 1991-10-29 1994-10-25 Hitachi Ltd. Semiconductor memory
JPH07146820A (ja) * 1993-04-08 1995-06-06 Hitachi Ltd フラッシュメモリの制御方法及び、それを用いた情報処理装置
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
JPH07114499A (ja) * 1993-10-19 1995-05-02 Hitachi Ltd フラッシュメモリ仮想メモリシステム
JPH07153257A (ja) * 1993-11-29 1995-06-16 Sony Corp 半導体メモリ
JPH08129509A (ja) * 1994-11-01 1996-05-21 Canon Inc メモリ制御装置及び方法
JPH1185609A (ja) * 1997-09-09 1999-03-30 Mitsubishi Electric Corp 半導体記憶装置及びそのデータ管理方法
JP2000137983A (ja) * 1998-08-26 2000-05-16 Toshiba Corp 半導体記憶装置
JP2002222120A (ja) * 2001-01-26 2002-08-09 Sony Corp メモリ・アクセス管理装置並びに管理方法
US20020138702A1 (en) * 2001-03-26 2002-09-26 Moshe Gefen Using non-executable memory as executable memory
JP2002358495A (ja) * 2001-06-04 2002-12-13 Mitsubishi Electric Corp Cf/ataカード
JP4049297B2 (ja) * 2001-06-11 2008-02-20 株式会社ルネサステクノロジ 半導体記憶装置
JP5138869B2 (ja) * 2002-11-28 2013-02-06 ルネサスエレクトロニクス株式会社 メモリモジュール及びメモリシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10964392B2 (en) 2018-08-27 2021-03-30 SK Hynix Inc. Memory system performing cache program and operating method thereof

Also Published As

Publication number Publication date
US20060047888A1 (en) 2006-03-02
JP2006065533A (ja) 2006-03-09
KR20060050585A (ko) 2006-05-19
US7193923B2 (en) 2007-03-20
JP5007485B2 (ja) 2012-08-22
EP1632858A2 (en) 2006-03-08
EP1632858A3 (en) 2007-08-01
EP1632858B1 (en) 2017-03-01

Similar Documents

Publication Publication Date Title
KR101165429B1 (ko) 반도체 기억장치 및 그 액세스 방법 및 메모리 제어 시스템
US10997065B2 (en) Memory system and operating method thereof
KR100884429B1 (ko) 불휘발성 반도체 메모리를 구비하는 메모리 시스템
US7373452B2 (en) Controller for controlling nonvolatile memory
CN106294215B (zh) 存储装置和操作存储装置的方法
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
JP4834676B2 (ja) オンチップ不揮発性メモリ書き込みキャッシュを使用するシステムおよび方法
US8904092B2 (en) Identifying a location containing invalid data in a storage media
JP4910360B2 (ja) 記憶装置、コンピュータシステム、およびデータ書き込み方法
KR20190082584A (ko) 메모리 시스템 및 그것의 동작 방법
JP4373943B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
KR101666987B1 (ko) 메모리 시스템 및 그것의 동작 방법
US8037236B2 (en) Flash memory writing method and storage system and controller using the same
KR20190044968A (ko) 메모리 시스템 및 그것의 동작 방법
KR20150112075A (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
JP2004295865A (ja) 自動ブーティングシステム及び自動ブーティング方法
TWI821151B (zh) 快閃記憶體控制器的控制方法、快閃記憶體控制器以及儲存裝置
KR20210108208A (ko) 저장 장치 및 그 동작 방법
KR20200113990A (ko) 메모리 시스템 내 메모리 장치의 동작 상태를 확인하는 방법 및 장치
TWI823649B (zh) 快閃記憶體控制器的控制方法、快閃記憶體控制器以及電子裝置
KR20230018799A (ko) 생략된 주소를 이용하여 메모리 장치를 제어하는 컨트롤러 및 이를 포함하는 메모리 시스템
TW202334820A (zh) 快閃記憶體控制器的控制方法、快閃記憶體控制器以及儲存裝置
JP2023127937A (ja) メモリシステム

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: 20150623

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160624

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170628

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180627

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190703

Year of fee payment: 8