KR20030067494A - 메모리 시스템 - Google Patents

메모리 시스템 Download PDF

Info

Publication number
KR20030067494A
KR20030067494A KR10-2003-0004693A KR20030004693A KR20030067494A KR 20030067494 A KR20030067494 A KR 20030067494A KR 20030004693 A KR20030004693 A KR 20030004693A KR 20030067494 A KR20030067494 A KR 20030067494A
Authority
KR
South Korea
Prior art keywords
data
transfer
memory
buffer
controller
Prior art date
Application number
KR10-2003-0004693A
Other languages
English (en)
Other versions
KR101021840B1 (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 KR20030067494A publication Critical patent/KR20030067494A/ko
Application granted granted Critical
Publication of KR101021840B1 publication Critical patent/KR101021840B1/ko

Links

Classifications

    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • 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
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • 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
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Information Transfer Systems (AREA)
  • Read Only Memory (AREA)

Abstract

메모리 액세스를 수반하는 데이터 처리 효율의 향상에 기여하는 메모리 시스템을 제공한다.
메모리 시스템(1)은 재기록 가능한 불휘발성 메모리(2)와, 버퍼 메모리(5)와, 컨트롤러(4)를 가진다. 컨트롤러는 외부장치로부터의 액세스 요구에 응답하여, 상기 컨트롤러와 상기 외부장치와의 사이의 제1 데이터 전송, 상기 컨트롤러와 상기 불휘발성 메모리와의 사이의 제2 데이터 전송 및 상기 컨트롤러와 상기 버퍼 메모리와의 사이의 제3 데이터 전송을 제어하고, 상기 제3 데이터 전송에서의 상기 컨트롤러에서 상기 버퍼 메모리로의 전송과 상기 버퍼 메모리에서 상기 컨트롤러로의 전송을 시분할로 제어하며, 이 시분할에 의한 전송에 병행하여 상기 제1 데이터 전송 또는 상기 제2 데이터 전송을 가능하게 한다.

Description

메모리 시스템{MEMORY SYSTEM}
본 발명은, 외부로부터의 액세스 요구에 응답하여 외부 인터페이스와 불휘발성 메모리의 액세스 제어를 행하는 메모리 시스템에 대한 액세스 데이터의 버퍼링 기술에 관한 것으로, 예컨대 플래쉬 메모리 카드에 적용하는 유용한 기술에 관한 것이다.
플래쉬 메모리 카드는 플래쉬 메모리와 컨트롤러를 구비하며, 플래쉬 메모리 카드에 접속하는 호스트 장치의 동작속도에 비해 플래쉬 메모리의 동작속도, 특히 기록 혹은 재기록 동작속도가 느리므로, 그 동작속도의 차이를 흡수하기 위해 컨트롤러는 버퍼 메모리를 구비한다. 상기 컨트롤러는 외부로부터의 기록 요구에 응답하여, 외부로부터의 기록 데이터를 버퍼 메모리에 입력하고, 입력한 데이터를 플래쉬 메모리에 기록 제어한다. 또, 컨트롤러는 외부로부터의 판독 요구에 응답하여, 플래쉬 메모리에서 판독한 데이터를 버퍼 메모리에 일시적으로 축적하고, 축적한 데이터를 외부에 출력한다. 종래의 버퍼 메모리로는 비교적 소용량의 SRAM(Static Random Access Memory) 혹은 스태틱 래치(static latch) 등을 채용하는 경우가 많다.
그러나, 소용량의 SRAM을 채용한 것은, 외부에서 버퍼 메모리에 입력한 데이터를 플래쉬 메모리에 기록이 완료할 때까지 호스트 장치에서 메모리 카드로의 데이터 전송을 기다리게 하지 않으면 안된다. 또, 플래쉬 메모리에서 버퍼 메모리에 축적한 판독 데이터를 외부에 출력할 때까지 플래쉬 메모리의 새로운 판독동작을 기다리게 하지 않으면 안된다. 특히, 플래쉬 메모리로의 기록을 실패한 경우, 예컨대 당초의 기록동작을 행한 섹터의 불량에 의해 대체섹터에 재기록을 행하지 않으면 안될 때, 호스트 장치에서 다음의 기록 데이터를 버퍼 메모리에 수취할 수 없다. 즉, 플래쉬 메모리와 컨트롤러와의 사이의 문제에 의해 호스트 장치와 컨트롤러 사이의 데이터 전송을 기다리게 하지 않으면 안된다. 이것에 의해, 호스트 장치의 부담 및 처리시간이 증가하여, 데이터 처리 효율이 저하하는 문제가 생긴다.
본 발명자는 상기 문제점을 검토하는 과정에 있어서, 공지는 아니지만, 본 출원인에 의한 특허출원의 존재를 확인했다. 특원 2001-174978, 특원 2001-177924, 특원 2001-213639, 특원 2001-213640 이다. 이들 출원은 불휘발성 메모리로서의 SDRAM의 기억정보를 백업하는데 불휘발성 메모리로서의 플래쉬 메모리를 이용하는기술을 제공한다. SDRAM은 버퍼 메모리로서 위치 정해져 있지 않다.
본 발명의 목적은, 메모리 액세스를 수반하는 데이터 처리 효율의 향상에 기여하는 메모리 시스템을 제공하는데 있다.
본 발명의 다른 목적은, 외부로부터의 액세스 요구에 응답하여 외부 인터페이스와 불휘발성 메모리의 액세스 제어를 행하는 메모리 시스템에 있어서, 호스트 장치와의 사이의 데이터 전송에 관한 호스트 장치의 대기시간 단축, 처리부담 저감, 처리시간 저감에 기여할 수 있는 메모리 시스템을 제공하는데 있다.
본 발명의 상기 및 그 이외의 목적과 신규한 특징은 본 명세서의 기술 및 첨부도면에서 명백하게 될 것이다.
도1은 본 발명에 관한 메모리 시스템의 일예인 플래쉬 메모리 카드의 블록도,
도2는 파일 메모리로서 기능되는 플래쉬 메모리의 로컬 메모리 어드레스 맵핑도,
도3은 컨트롤러의 호스트 인터페이스 부분의 어드레스 맵핑을 전체적으로 나타내는 설명도,
도4는 SDRAM의 FIFO형식을 예시하는 설명도,
도5는 전송 조정부에 의한 제어동작을 예시하는 흐름도,
도6은 기록전송 요구시에 대한 CPU의 제어동작을 예시하는 흐름도,
도7은 판독 액세스 요구시에 대한 CPU의 제어동작을 예시하는 흐름도,
도8은 기록 액세스 요구가 있을 때의 호스트 장치, SDRAM 및 플래쉬 메모리의 데이터 전송동작을 상관적으로 나타내는 타이밍 차트,
도9는 판독 액세스 요구가 있을 때의 호스트 장치, SDRAM 및 플래쉬 메모리의 데이터 전송동작을 상관적으로 나타내는 타이밍 차트,
도10은 SDRAM의 기록 사이클(Tdw)의 일예를 나타내는 타이밍 차트,
도11은 SDRAM의 판독 사이클(Tdr)의 일예를 나타내는 타이밍 차트,
도12는 플래쉬 메모리에 대한 기록 사이클(Tfw)의 일예를 나타내는 타이밍 차트,
도13은 플래쉬 메모리에 대한 판독 사이클(Tfr)의 일예를 나타내는 타이밍 차트,
도14는 기록 액세스 요구에 응답하는 데이터 전송 처리흐름으로서 플래쉬 메모리에 대한 기록에러가 없는 경우를 나타낸 흐름도,
도15는 기록 액세스 요구에 응답하는 다른 데이터 전송 처리흐름으로서 플래쉬 메모리에 대한 기록에러가 있는 경우를 나타낸 흐름도,
도16은 판독 액세스 요구에 응답하는 데이터 전송 처리흐름을 예시하는 흐름도이다.
(부호의 설명)
1플래쉬 메모리 카드
2플래쉬 메모리
3호스트 장치
4컨트롤러
5버퍼 메모리(SDRAM)
11호스트 데이터 전송 제어부
12플래쉬 데이터 전송 제어부
13전송 조정부
14CPU
15제어 레지스터(명령 레지스터, 어드레스 레지스터, 상태 레지스터)
20데이터 버퍼
21전송요구회로
22데이터 버퍼
23전송요구회로
31호스트 전송 어드레스 카운터
32플래쉬 전송 어드레스 카운터
33전송허가회로
본원에서 개시되는 발명 중 대표적인 것의 개요를 간단하게 설명하면 이하와 같다.
[1] 메모리 시스템은, 재기록 가능한 불휘발성 메모리와, 버퍼 메모리와, 컨트롤러를 가진다. 상기 컨트롤러는, 외부장치로부터의 액세스 요구에 응답하여, 상기 컨트롤러와 상기 외부장치와의 사이의 제1 데이터 전송, 상기 컨트롤러와 상기 불휘발성 메모리와의 사이의 제2 데이터 전송 및 상기 컨트롤러와 상기 버퍼 메모리와의 사이의 제3 데이터 전송을 제어하고, 상기 제3 데이터 전송에서의 상기 컨트롤러에서 상기 버퍼 메모리로의 전송과 상기 버퍼 메모리에서 상기 컨트롤러로의 전송을 시분할로 제어하며, 이 시분할에 의한 전송에 병행하여 상기 제1 데이터 전송 또는 상기 제2 데이터 전송을 가능하게 한다.
상기에서, 외부로부터의 기록 액세스 요구에 응답할 때 컨트롤러는, 버퍼 메모리로의 기록 데이터의 축적과 버퍼 메모리에 축적한 기록 데이터의 출력을 시분할로 행하며, 그 기록 데이터 축적처리에 병행하여 제2 데이터 전송에 의한 불휘발성 메모리로의 기록 데이터의 전송을 행할 수 있고, 또, 그 기록 데이터 출력처리에 병행하여 제1 데이터 전송에 의한 외부장치로부터의 다음 기록 데이터의 입력을 행할 수 있다. 외부로부터의 판독 액세스 요구에 응답할 때 컨트롤러는, 버퍼 메모리로의 판독 데이터의 축적과 버퍼 메모리에 축적한 판독 데이터의 출력을 시분할로 행하며, 그 판독 데이터 축적처리에 병행하여 제1 데이터 전송에 의한 외부장치로의 판독 데이터의 전송을 행할 수 있고, 또, 그 판독 데이터 출력처리에 병행하여 제2 데이터 전송에 의한 불휘발성 메모리로부터의 다음 판독 데이터의 입력을 행할 수 있다.
상기 버퍼 메모리의 버퍼링 기능에 의해, 외부장치 예컨대 호스트 장치에 의한 복수의 기록 데이터의 공급 타이밍에 많은 대기시간을 필요로 하지 않으며, 또, 호스트 장치에 의한 복수의 판독 데이터의 취득 타이밍에 많은 대기시간을 필요로 하지 않는다. 따라서, 호스트 장치와 컨트롤러와의 사이의 데이터 전송에 관한 호스트 장치의 대기시간 단축, 처리부담 저감, 처리시간 저감에 기여할 수 있다. 이것은 메모리 액세스를 수반하는 데이터 처리 효율의 향상에 기여한다.
본 발명이 바라는 하나의 태양으로서, 상기 버퍼링 기능을 최대한 발휘하기 위해서는 상기 제3 데이터 전송의 동작속도를 상기 제1 데이터 전송속도의 대략 2배보다도 빠르게 하는 것이 바람직하다. 이론상 호스트 장치의 대기시간이 없어진다.
본 발명이 바라는 하나의 태양으로서, 상기 버퍼 메모리를 싱글포트 클록 동기형의 불휘발성 메모리로 하며, FIFO 동작시키는 것이 좋다. 버퍼 메모리의 고속화와 액세스 제어의 용이를 실현할 수 있다. 불휘발성 메모리는 예컨대 플래쉬 메모리이다.
제1 전송과 제3 전송과의 사이의 버퍼링, 제2 전송과 제3 전송과의 사이의 버퍼링을 실현하는 하나의 태양으로서, 상기 컨트롤러는 상기 외부장치와 버퍼 메모리와의 사이에 배치되는 듀얼포트 데이터 버퍼와, 상기 버퍼 메모리와 상기 불휘발성 메모리와의 사이에 배치되는 듀얼포트 데이터 버퍼를 가지는 것이 바람직하다. 제1 데이터 전송과 제3 데이터 전송의 병렬화, 제2 데이터 전송과 제3 데이터 전송의 병렬화를 위한 제어가 더욱 용이하게 된다.
[2] 본 발명의 다른 관점에 의한 메모리 시스템은, 재기록 가능한 불휘발성 메모리와, 버퍼 메모리와, 컨트롤러를 가진다. 상기 컨트롤러는, 외부장치에 접속되는 제1 데이터 전송 제어부와, 상기 불휘발성 메모리에 접속되는 제2 데이터 전송 제어부와, 상기 버퍼 메모리에 접속되어 상기 제1 데이터 전송 제어부로부터의 전송요구 및 제2 데이터 전송 제어부로부터의 전송요구에 응답하여 버퍼 메모리와의 사이의 데이터 전송을 제어하는 전송 조정부를 가진다. 상기 제1 데이터 전송 제어부는, 듀얼포트 데이터 버퍼를 통해 외부장치와 전송 조정부에 접속되며, 전송 조정부에 전송 요구를 출력한다. 상기 제2 데이터 전송 제어부는, 듀얼포트 데이터 버퍼를 통해 불휘발성 메모리와 전송 조정부에 접속되며, 전송 조정부에 전송 요구를 출력한다. 전송 조정부는, 제1 데이터 전송 제어부로부터의 전송 요구와 제2 데이터 전송 제어부로부터의 전송 요구에 대해, 상기 버퍼 메모리에 대한 기록방향의 전송과 상기 버퍼 메모리에 대한 판독방향의 전송을 시분할로 제어한다.
상기에서, 외부장치와 컨트롤러와의 사이의 데이터 전송은 제1 데이터 전송제어부에서의 데이터 버퍼에서 버퍼링되고, 불휘발성 메모리와 컨트롤러와의 사이의 데이터 전송은 제2 데이터 전송 제어부에서의 데이터 버퍼에서 버퍼링되며, 쌍방의 데이터 버퍼와 버퍼 메모리와의 사이의 데이터 전송을 시분할로 행할 수 있다. 따라서, 외부로부터의 기록 액세스 요구에 응답할 때 컨트롤러는, 버퍼 메모리로의 기록 데이터의 축적과 버퍼 메모리에 축적한 기록 데이터의 출력을 시분할로 행하며, 그 기록 데이터 축적처리에 병행하여 제2 전송 제어부의 데이터 버퍼에서 불휘발성 메모리로 기록 데이터 전송을 행할 수 있고, 또, 그 기록 데이터 출력처리에 병행하여 제1 전송 제어부의 데이터 버퍼에 외부로부터의 다음 기록 데이터를 취입할 수 있다. 외부장치로부터의 판독 액세스 요구에 응답할 때 컨트롤러는, 버퍼 메모리로의 판독 데이터의 축적과 버퍼 메모리에 축적한 판독 데이터의 출력을 시분할로 행하며, 그 판독 데이터 축적처리에 병행하여 제1 전송 제어부의 데이터 버퍼에서 외부장치로 판독 데이터의 전송을 행할 수 있고, 또, 그 판독 데이터 출력처리에 병행하여 제2 전송 제어부에 데이터 버퍼에 불휘발성 메모리로부터의 다음 판독 데이터의 취입을 행할 수 있다.
상기 버퍼링 기능에 의해, 외부장치 예컨대 호스트 장치에 의한 복수의 기록 데이터의 공급 타이밍에 많은 대기시간을 필요로 하지 않으며, 또, 호스트 장치에의한 복수의 판독 데이터의 취득 타이밍에 많은 대기시간을 필요로 하지 않는다. 따라서, 호스트 장치와 컨트롤러 사이의 데이터 전송에 관한 호스트 장치의 대기시간 단축, 처리부담 저감, 처리시간 저감에 기여할 수 있다. 이것은, 메모리 액세스를 수반하는 데이터 처리 효율의 향상에 기여한다.
본 발명의 구체적인 태양으로서, 외부로부터의 기록 액세스 요구에 응답할 때, 상기 제1 데이터 전송 제어부는 외부장치에서 데이터 버퍼에 소정량의 데이터가 축적되었을 때 전송 조정부에 버퍼 메모리에 대한 기록을 위한 전송 요구를 출력하며, 상기 제2 데이터 전송 제어부는 데이터 버퍼에 소정량의 데이터가 없을 때 전송 조정부에 버퍼 메모리에서 데이터 버퍼에 대한 판독을 위한 전송 요구를 출력한다. 또, 외부로부터의 판독 액세스 요구에 응답할 때, 상기 제2 데이터 전송 제어부는 버퍼 메모리에서 데이터 버퍼에 소정량의 데이터가 축적되었을 때 전송 조정부에 버퍼 메모리에 대한 기록을 위한 전송 요구를 출력하며, 상기 제1 데이터 전송 제어부는 데이터 버퍼에 소정량의 데이터가 없을 때 전송 조정부에 버퍼 메모리에 대한 판독을 위한 전송 요구를 출력한다.
본 발명이 바라는 하나의 태양으로서, 상기 버퍼링 기능을 최대한 발휘시키기 위해서는, 상기 조정부에 의한 버퍼 메모리와의 사이의 데이터 전송의 동작속도를 상기 제1 전송 제어부에 의한 외부와의 사이의 데이터 전송의 동작속도에 대해 대략 2배보다도 빠르게 하는 것이 바람직하다. 이론상 호스트 장치의 대기시간이 없어진다.
본 발명이 바라는 하나의 태양으로서, 상기 버퍼 메모리를 싱글포트 클록 동기형의 휘발성 메모리로 구성하며, FIFO 동작시키는 것이 좋다. 버퍼 메모리의 고속화와 액세스 제어가 용이하다. 불휘발성 메모리는 예컨대 플래쉬 메모리이다.
(발명의 실시형태)
도1에는 본 발명에 관한 메모리 시스템의 일예인 플래쉬 메모리 카드가 예시된다. 동도에 나타내는 플래쉬 메모리 카드(1)는, 소정의 섹터 어드레스(물리 어드레스) 단위로 데이터 기억영역과 그 관리영역을 가지는 플래쉬 메모리(불휘발성 메모리)(2)와, 메모리 시스템의 외부에 접속되는 외부 정보처리장치 예컨대 호스트 장치(3)로부터의 요구에 응답하여 상기 플래쉬 메모리(2)에 대한 액세스 제어를 행하는 컨트롤러(4), 상기 컨트롤러(4)에 접속된 버퍼 메모리(5)를 가진다.
상기 플래쉬 메모리(2)는, 특히 도시는 하지 않지만, 전기적으로 소거 및 기록 가능한 플래쉬 메모리셀을 매트릭스 배치한 메모리셀 어레이를 가진다. 플래쉬 메모리셀은, 특히 제한되지 않지만, 채널영역 상에 절연막으로 분리된 플로팅 게이트와 컨트롤 게이트를 가지며, 예컨대 전자(電子)를 플로팅 게이트에 핫 일렉트론 주입함으로써 메모리셀의 문턱치전압을 올리고(예컨대 기록이라고 한다), 또 플로팅 게이트에 주입되어 있는 전자를 게이트 절연막을 통해서 터널전류로 방출시키는 것에 의해 메모리셀의 문턱치전압을 낮게 한다(소거라고 한다). 플래쉬 메모리셀의 드레인은 비트선에, 소스는 소스선에, 컨트롤 게이트는 워드선에 접속된다. 예컨대, 워드선에 할당된 어드레스가 상기 섹터 어드레스이다. 섹터 어드레스 신호에 의한 워드선 선택은 워드선 선택회로에서 행해진다. 섹터 어드레스에서 지정된 복수의 플래쉬 메모리셀의 일부에 대한 선택은 컬럼 어드레스를 기점으로 컬럼 어드레스 카운터에서 생성되는 컬럼 어드레스 신호에 의거하여 행해진다. 또한, 플래쉬 메모리로서 예컨대 일본 특개 2001-23383 공보에 기재의 구성을 채용할 수 있다.
상기 플래쉬 메모리(2)는 예컨대 파일 메모리로서 기능되며, 로컬 메모리 어드레스 맵핑은 도2에 예시되는 바와 같이, 섹터 어드레스(1 ~ n)의 각 어드레스에 관리영역과 유저 데이터 기억영역이 할당되며, 관리영역에는 각 섹터의 좋고 나쁨(유효성) 또한 대체처의 유무 등의 정보가 기억된다.
상기 버퍼 메모리(5)는 예컨대 클록 동기형의 휘발성 메모리인 싱글포트의 SDRAM(Synchronous Dynamic Random Access Memory)에 의해 구성된다. 이하 버퍼 메모리(5)를 단순하게 SDRAM(5)이라고도 기록한다. 상기 SDRAM(5)은 예컨대 다이나믹형 메모리셀을 매트릭스 배치한 메모리셀 어레이를 가지며, 클록동기로 명령 및 어드레스 등을 입력하고, 명령으로 지정되는 기록 액세스 또는 판독 액세스 등을 클록신호에 동기하여 고속으로 행할 수 있다. 예컨대 호스트 장치(3)와 컨트롤러(4)와의 사이의 버스를 통하는 데이터 전송(제1 데이터 전송)의 속도를 100MB(메가 바이트)/s(초)라 하면, SDRAM(5)과 컨트롤러(4)와의 사이의 버스를 통하는 데이터 전송(제3 데이터 전송)의 속도는 그 2배 이상인 266MB/s가 된다. 플래쉬 메모리(2)와 컨트롤러(4)와의 사이의 버스를 통하는 데이터 전송(제2 데이터 전송)의 속도는 플래쉬 메모리(2) 자체의 액세스 속도가 느리므로 그것에 맞추어 20MB/s 정도이다.
상기 컨트롤러(4)는 호스트 데이터 전송 제어부(제1 데이터 전송 제어부)(11), 플래쉬 데이터 전송 제어부(제2 데이터 전송 제어부)(12), 전송 조정부(13), CPU(14) 및 제어 레지스터(15)로 이루어진다.
상기 제어 레지스터(15)는 명령 레지스터(15C), 어드레스 레지스터(15A) 및 상태 레지스터(15S)를 가진다. 호스트 장치(3)는 플래쉬 메모리 카드(1)를 액세스할 때 명령 레지스터(15C)에 판독 또는 기록 등의 명령을 셋트하여, 액세스 어드레스를 어드레스 레지스터(15A)에 셋트한다. 호스트 장치(3)와 플래쉬 메모리 카드(1)와의 상태는 상태 레지스터(15S)를 통해서 상호 인식 가능하게 된다.
CPU(14)는 플래쉬 메모리 카드(1)를 전체적으로 제어한다. 명령 레지스터(15C)에 명령이 셋트되면, CPU(14)는 그 명령을 해석하고, 플래쉬 메모리(2)에 대한 메모리 인터페이스 제어와, 호스트 장치(3)와의 사이의 데이터 인터페이스 제어, 그리고, 인터페이스 제어되는 데이터에 대한 버퍼제어 등을 행함으로써, 어드레스 레지스터(15A)에 셋트된 어드레스에 대응하는 플래쉬 메모리(2)의 섹터에 대한 액세스를 완료한다.
상기 호스트 데이터 전송 제어부(11)는 듀얼포트 데이터 버퍼(20)를 통해서 호스트 장치(3)와 전송 조정부(13)를 접속한다. 전송요구회로(21)는 전송 조정부(13)에 대해 신호 HDRQ로 전송 요구를 전송하고, 신호 HDACK로 액크놀리지를 수신하는 것에 의해 전송 조정부(13)와의 사이에서 데이터 버퍼(20)가 데이터의 입력 또는 출력 동작된다. 이 입력 또는 출력은, 호스트 데이터 전송 제어부(11)가 신호 HDIR를 사용하여 전송 조정부(13)에 지시한다. 이 HDIR신호는 CPU(14)가 전송동작 개시전에, 호스트 데이터 전송 제어부(11)에 설정한다. 호스트 데이터 전송 제어부(11)는 신호 HDACK에 의한 액크놀리지에 응답하여 개시한 데이터 버퍼(20)의 전송 조정부(13)에 대한 입력 또는 출력 동작량이 규정량에 도달했을 때 신호HEND_IRQ를 CPU에 어서트(asserts)하여 전송동작을 종료한다. 이것에 의해 CPU(14)는 전송 조정부(13)에 새로운 전송요구를 접수 가능하게 한다. 호스트 데이터 전송 제어부(11)는 호스트 장치(3)에 웨이트 신호 HWAIT를 출력하고, 이것을 어서트함으로서 호스트 장치(3)에 동작의 중지를 지시할 수 있다.
또한, 도시는 하지 않지만, 데이터 버퍼(20)와 호스트 장치(3)측과의 사이의 전송 동작의 여부에 대해서는 상태 레지스터(15S)를 통하는 상태의 교환에 의해 판단한다. 호스트 장치(3)에서 보면 데이터 버퍼(21)는 그 어드레스 공간에 맵핑되어 있다. 컨트롤러(4)의 호스트 인터페이스 부분의 어드레스 맵핑을 전체적으로 나타내면 도3과 같이 된다.
상기 플래쉬 데이터 전송 제어부(12)는 듀얼포트 데이터 버퍼(22)를 통해서 플래쉬 메모리(2)와 전송 조정부(13)를 접속한다. 데이터 버퍼(22)는 듀얼포트 FIFO 버퍼에 의해 구성된다. 전송요구회로(23)는 전송 조정부(13)에 대해 신호 FDRQ로 전송 요구를 전송하고, 신호 FDACK로 액크놀리지를 수신하는 것에 의해 전송 조정부(13)와의 사이에서 데이터 버퍼(22)가 데이터의 입력 또는 출력 동작된다. 이 입력 또는 출력은, 플래쉬 데이터 전송 제어부(12)가 신호 FDIR을 사용하여 전송 조정부(13)에 지시한다. 이 신호 FDIR은 CPU(14)가 전송동작 개시전에, 플래쉬 데이터 전송 제어부(12)에 설정한다. 플래쉬 데이터 전송 제어부(12)는 신호 FDACK에 의한 액크놀리지에 응답하여 개시한 데이터 버퍼(22)의 전송 조정부(13)에 대한 입력 또는 출력 동작량이 규정량에 도달했을 때 신호 FEND_IRQ를 CPU에 어서트하여 전송동작을 종료한다. 이것에 의해 CPU(14)는 전송 조정부(13)에 새로운 전송 요구를 접수 가능하게 한다. 또한, 도시는 하지 않지만, 데이터 버퍼(22)와 플래쉬 메모리(2)측과의 사이의 전송 동작의 여부에 대해서는 플래쉬 데이터 전송 제어부(12)가 플래쉬 메모리(2)의 상태 레지스터를 통하는 상태의 교환에 의해 판단한다.
전송 조정부(13)는 전송허가회로(30), 호스트 전송용 어드레스 카운터(31) 및 플래쉬 전송용 어드레스 카운터(32)로 이루어진다. 상기 호스트 전송용 어드레스 카운터(31)는 데이터 버퍼(20)와 버퍼 메모리(5)와의 사이의 데이터 전송에서의 SDRAM(5)의 액세스 어드레스를 생성한다. 상기 플래쉬 전송용 어드레스 카운터(32)는 데이터 버퍼(22)와 플래쉬 메모리(2)와의 사이의 데이터 전송에서의 SDRAM(5)의 액세스 어드레스를 생성한다. 상기 어드레스 카운터(31, 32)에 대한 어드레스 프리셋트는 호스트 장치(3)로부터의 액세스 요구마다 CPU(14)가 행한다. 여기서는 SDRAM(5)은 도4에 예시되는 바와 같이 FIFO 형식으로 액세스 제어된다. 상기 호스트 전송용 어드레스 카운터(31)는 데이터 버퍼(20)에서 SDRAM(5)으로의 기록에 있어서는 기록 어드레스 포인터로서 기능되고, SDRAM(5)에서 데이터 버퍼(20)로의 판독에 있어서는 판독 어드레스 포인터로서 기능된다. 상기 플래쉬 전송용 어드레스 카운터(32)는 데이터 버퍼(22)에서 SDRAM(5)으로의 기록에 있어서는 기록 어드레스 포인터로서 기능되고, SDRAM(5)에서 데이터 버퍼(22)로의 판독에 있어서는 판독 어드레스 포인터로서 기능된다. 전송허가회로(30)는 전송요구신호 HDRQ와 FDRQ와의 경합을 조정하여, 조정결과를 신호 HDACK, FDACK에 의해 전송요구회로(21, 23)에 반환한다.
도5에는 전송 조정부(13)에 의한 제어동작이 예시된다. 전송 조정부(13)는 신호 HDRQ에 의해 호스트 전송 요구가 있는지(S1), 신호 FDRQ에 의해 플래쉬 전송 요구가 있는지(S2), 리플래쉬할 필요가 있는지(S3)를 순차 사이클릭으로 판정하고 있다. 신호 HDRQ에 의해 호스트 전송 요구가 있는 경우, 호스트 장치(3)로부터의 기록 액세스 요구에 응답하는 처리에서는 어드레스 카운터(31)가 나타내는 SDRAM(5)의 어드레스로 기록을 행하고, 호스트 장치(3)로부터의 판독 액세스 요구에 응답하는 처리에서는 어드레스 카운터(31)가 나타내는 SDRAM(5)의 어드레스에 대한 판독을 행하여(S1A), 어드레스 카운터(31)를 인크리먼트한다(S1B). 신호 FDRQ에 의해 플래쉬 전송 요구가 있는 경우, 호스트 장치(3)로부터의 기록 액세스 요구에 응답하는 처리에서는 어드레스 카운터(32)가 나타내는 SDRAM(5)의 어드레스에 대한 판독, 호스트 장치(3)로부터의 판독 액세스 요구에 응답하는 처리에서는 어드레스 카운터(32)가 나타내는 SDRAM(5)의 어드레스에 대한 기록을 행하여, 어드레스 카운터(32)를 인크리먼트한다. 리플래쉬를 필요하다고 판단되면 SDRAM(5)에 대한 기억정보의 리플래쉬를 행한다. 리플래쉬 어드레스는 전송 조정부(13)가 보유하는 도시하지 않은 리플래쉬 어드레스 카운터를 이용하여 생성된다.
도5에서 명백한 바와 같이, 호스트 장치(3)로부터의 기록 액세스 요구에 응답하는 처리에서는, 어드레스 카운터(31)가 나타내는 SDRAM(5)의 어드레스로의 기록과, 어드레스 카운터(32)가 나타내는 SDRAM(5)의 어드레스에 대한 판독을 8바이트 단위 등으로 시분할 즉 번갈아 행할 수 있다. 호스트 장치(3)로부터의 판독 액세스 요구에 응답하는 처리에서는, 어드레스 카운터(31)가 나타내는 SDRAM(5)의 어드레스에 대한 판독과, 어드레스 카운터(32)가 나타내는 SDRAM(5)의 어드레스에 대한 기록을 8바이트 단위 등으로 시분할 즉 번갈아 행할 수 있다.
도6은 기록전송 요구시에 대한 CPU의 제어동작이 예시된다. CPU(14)는 호스트 장치(3)로부터의 기록 액세스 요구를 검출하면(S10), 호스트 전송용 어드레스 카운터(31)의 셋트, 즉, 초기화 혹은 초기치의 프리셋트를 행한다(S11). 또한 CPU(14)는 호스트 데이터 전송 제어부(11)에 호스트 장치(3)에서 데이터 버퍼(20)에 입력되는 데이터를 전송 조정부(13)에 전송제어하는 지시를 부여한다(S12). 그후, CPU(14)는 상태 레지스터(15S)에 전송 가능상태를 셋트하여 호스트 장치(3)에 기록 데이터의 데이터 버퍼(20)로 전송 개시를 통지한다(S13). 이것에 의해 전송 조정부(13)는 도5에서 설명한 상기 호스트 전송 요구(S1)가 있을 때의 처리를 행하는 것에 의해, 호스트 장치(3)에서 데이터 버퍼(20)에 8바이트의 데이터가 입력될 때마다 그 데이터를 어드레스 카운터(31)로 지정되는 SDRAM(5)에 저장 가능하게 된다. 또한 CPU(14)는, 어드레스 레지스터(15A)에 입력된 액세스 어드레스에서 플래쉬 메모리(2)의 물리 어드레스 즉 섹터 어드레스를 산출하고(S14), 산출한 섹터 어드레스에의 기록명령을 플래쉬 데이터 전송 제어부(12)를 통해서 플래쉬 메모리(2)에 설정한다(S15). 그후, CPU(14)는 플래쉬 전송용 어드레스 카운터(32)의 셋트, 즉, 초기화 혹은 초기치의 프리셋트를 행한다(S16), 그리고 CPU(14)는 플래쉬 데이터 전송 제어부(12)에 SDRAM(5)에서 데이터 버퍼(22)에 8바이트의 데이터가 입력될 때마다 그 데이터를 플래쉬 메모리(2)에 전송 가능하게 하는 지시를 부여한다(S17). 이 사이에 전송 조정부(13)는 도5에서 설명한 상기 플래쉬 전송 요구(S2)가 있을 때의 처리를 행하는 것에 의해, 데이터 버퍼(22)의 유지 데이터가 8바이트가 되도록, SDRAM(5)의 기억데이터를 어드레스 카운터(32)의 값에 따라 데이터 버퍼(22)로 전송한다.
CPU(14)는 도5의 호스트 전송 요구에 따른 처리와 플래쉬 전송 요구에 따른 처리가 시분할로 반복되어 갈 때, 상기 신호 HEND_IRQ 및 FEND_IRQ가 함께 액티브가 되는 상태를 검출하여(S18), 기록 액세스 요구 대기상태로 들어간다. 즉, 호스트 장치(3)에서 지시된 기록 액세스 요구에 응답하여 실행해야 할 기록 데이터 수에 따른 데이터가 SDRAM(5)에 저장되었을 때 HEND_IRQ가 액티브로 되고, 상기 실행해야 할 기록 데이터 수에 따른 데이터가 SDRAM(5)에서 판독되었을 때 신호 FEND_IRQ가 액티브로 된다.
도7에는 판독 액세스 요구시에 대한 CPU의 제어동작이 예시된다. CPU(14)는 호스트 장치(3)로부터의 판독 액세스 요구를 검출하면(S20), 어드레스 레지스터(15A)에 입력된 액세스 어드레스에서 플래쉬 메모리(2)의 물리 어드레스 즉, 섹터 어드레스를 산출하고(S21), 산출한 섹터 어드레스로 판독명령을 플래쉬 데이터 전송 제어부(12)를 통해서 플래쉬 메모리(2)에 설정한다(S22). 그리고 CPU(14)는 플래쉬 전송용 어드레스 카운터(32)의 셋트, 즉, 초기화 혹은 초기치의 프리셋트를 행한다(S23). 또한 CPU(14)는 플래쉬 데이터 전송 제어부(12)에 플래쉬 메모리(2)에서 데이터 버퍼(22)에 입력되는 데이터를 전송 조정부(13)에 전송 제어하는 지시를 부여한다(S24). 이것에 의해 전송 조정부(13)는 도5에서 설명한 상기 플래쉬 전송 요구(S2)가 있을 때의 처리를 행하는 것에 의해, 플래쉬 메모리(2)에서 데이터 버퍼(22)에 예컨대 8바이트의 데이터가 입력될 때마다, 그 데이터를 어드레스 카운터(32)에서 지정되는 SDRAM(5)에 저장 가능하게 한다. 이후, CPU(14)는 호스트 전송용 어드레스 카운터(31)의 셋트, 즉, 초기화 혹은 초기치의 프리셋트를 행한다(S25). 그리고 CPU(14)는 호스트 데이터 전송 제어부(11)에 SDRAM(5)에서 데이터를 판독하여 데이터 버퍼(20)에 공급하는 지시를 부여한다(S26). CPU(14)는 상태 레지스터(15S)에 전송 가능상태를 셋트하여 호스트 장치(3)에 판독 데이터의 취입이 가능한 것을 통지하고(S13), 전송 조정부(13)는 도5에서 설명한 상기 호스트 전송 요구(S1)가 있을 때의 처리를 행하여, 데이터 버퍼(20)의 유지 데이터가 8바이트가 되도록 SDRAM(5)의 기억 데이터를 어드레스 카운터(31)의 값에 따라 데이터 버퍼(20)로 전송한다.
CPU(14)는 도5의 호스트 전송 요구에 따른 처리와 플래쉬 전송 요구에 따른 처리가 시분할로 반복되어 갈 때, 상기 신호 HEND_IRQ 및 FEND_IRQ가 함께 액티브가 되는 상태를 검출하여(S28), 판독 액세스 요구 대기상태로 들어간다(S20). 즉, 호스트 장치(3)에서 지시된 판독 액세스 요구에 응답하여 실행해야 할 판독 데이터 수에 따른 데이터가 SDRAM(5)에 저장되었을 때 FEND_IRQ가 액티브로되고, 상기 실행해야 할 판독 데이터 수에 따른 데이터가 SDRAM(5)에서 판독되었을 때 신호 HEND_IRQ가 액티브로 된다.
도8에는 기록 액세스 요구가 있을 때의 호스트 장치(3), SDRAM(5) 및 플래쉬 메모리(2)의 데이터 전송동작을 상관적으로 나타낸다. (A)는 호스트 장치(3)의 동작상태, (B)는 SDRAM(5)의 동작상태, (C)는 플래쉬 메모리(2)의 동작상태를 나타낸다. H_ADR은 호스트 장치(3)에서 컨트롤러(4)에 접속하는 어드레스 버스, H_DAT는 호스트 장치(3)와 컨트롤러(4)를 접속하는 데이터 버스, H_WE는 호스트 장치(3)가 출력하는 기록 이네이블 신호, H_OE는 호스트 장치(3)가 출력하는 아웃풋 이네이블 신호이다. D_CLK는 SDRAM(5)에 공급되는 동기클록신호, D_WE는 컨트롤러(4)에서 SDRAM(5)에 공급되는 기록 이네이블 신호, D_DAT는 컨트롤러(4)와 SDRAM(5)을 접속하는 데이터 버스이다. F_OE는 컨트롤러(4)가 플래쉬 메모리(2)에 출력하는 아웃풋 이네이블 신호, F_WE는 컨트롤러(4)에서 플래쉬 메모리(2)에 공급되는 기록 이네이블 신호, F_CS는 컨트롤러(4)에서 플래쉬 메모리(2)에 출력되는 시리얼 클록신호, F_DAT는 컨트롤러(4)와 플래쉬 메모리(2)를 접속하는 데이터 버스이다.
호스트 장치(3)는 컨트롤러(4)를 향해, 어드레스 레지스터(15A)에 어드레스 값, 명령 레지스터(15C)에 기록전송명령을 출력하고, 컨트롤러(4)의 상태 레지스터(15S)를 판독한다. 전송 가능을 나타내는 상태를 판독한 후, 데이터 버퍼(20)의 데이터 레지스터에 데이터를 전송해 간다. 데이터 전송은 블록단위이며, 각 블록은 예컨대 8바이트이다. 컨트롤러(4)는 플래쉬 메모리(2)에 기록의 섹터 어드레스 값, 기록전송명령을 부여해 둔다. 컨트롤러(4)는 데이터 블록1의 데이터를 입력하면, 그 데이터를 SDRAM(5)에 기록한다. 이때의 기록 사이클은 Tdw로 나타낸다. 이것에 의해 기록된 데이터 블록1의 데이터는 이번은 SDRAM(5)에서 컨트롤러(4)에 판독된다. 이때의 판독 사이클은 Tdr로 나타낸다. 컨트롤러(4)에 판독된 데이터 블록1의 데이터는 플래쉬 메모리(2)에 전송된다. SDRAM(5)이 데이터 블록1의 데이터에 대해 기록 사이클(Tdw)과 판독 사이클을 행하고 있는 도중에, 호스트장치(3)는 다음 데이터 블록2의 데이터를 컨트롤러(4)의 버퍼(20)를 향해 출력하고 있다. 플래쉬 메모리(2)에 데이터 블록1의 데이터를 전송하고 있을 때 SDRAM(5)에는 데이터 블록2의 데이터에 대한 기록 사이클과 판독 사이클이 시분할로 행해진다. 데이터 블록4까지의 데이터에 대해 상기와 같은 처리가 행해진다.
이 예에 따르면, 컨트롤러(4)가 예컨대 데이터 버퍼(20)의 전송 조정부(13)측 포트에서 데이터 블록3의 데이터를 판독하여 SDRAM(5)에 저장하고(Ti ~ Tj), 이것에 계속해서 SDRAM(5)에 저장한 데이터를 데이터 버퍼(22)에 그 전송 조정부(13)측 포트에서 저장하고 있을 때(Tj ~ Tk), 데이터 버퍼(20)의 호스트 장치(3)측 포트에서 다음 데이터 블록4의 데이터가 데이터 버퍼(20)에 입력됨과 동시에, 데이터 버퍼(22)의 플래쉬 메모리(2)측 포트에서 그 전의 데이터 블록2의 데이터가 플래쉬 메모리(2)에 전송된다. 요컨대, 호스트 장치(3)로부터의 기록 액세스 요구에 응답할 때 컨트롤러(4)는, SDRAM(5)으로의 기록 데이터의 축적과 SDRAM(5)에 축적한 기록 데이터의 출력을 시분할로 행하고, 상기 SDRAM(5)으로의 기록 데이터 축적처리에 병행하여 플래쉬 메모리(2)로의 기록 데이터의 전송을 행할 수 있고, 또 SDRAM(5)으로부터의 상기 기록 데이터 출력처리에 병행하여 호스트 장치(3)로부터의 다음 기록 데이터의 입력을 행할 수 있다.
도8의 예에서는, 플래쉬 메모리(2)에 대한 기록명령 열(列)은, 어드레스 값(섹터 어드레스 값), 기록전송명령, 기록 데이터(데이터 블록1 ~ 데이터 블록4) 및 기록시작명령이 되며, 플래쉬 메모리(2)는 기록시작명령이 입력되는 조건으로, 그 직전까지에 입력된 정보를 한 묶음의 명령 열로 해석하고, 그 결과에 따라 플래쉬메모리(2)의 내부에서 기록동작을 개시한다. 도8에서 어드레스 값 입력부터 기록시작명령 입력까지의 명령 열 공급 사이클은 Tfw로서 도시된다.
도9에는 판독 어드레스 요구가 있을 때의 호스트 장치, SDRAM 및 플래쉬 메모리의 데이터 전송동작을 상관적으로 나타낸다. (A)는 호스트 장치(3)의 동작상태, (B)는 SDRAM(5)의 동작상태, (C)는 플래쉬 메모리(2)의 동작상태를 나타낸다.
호스트 장치(3)는 컨트롤러(4)를 향해, 어드레스 레지스터(15A)에 어드레스 값, 명령 레지스터(15C)에 판독 전송명령을 출력한다. 컨트롤러(4)는 그 어드레스 값과 플래쉬 판독 전송명령을 플래쉬 메모리(2)에 부여한다. 이것에 의해, 플래쉬 메모리(2)는 클록신호 F_CS에 동기하여 데이터 블록1 ~ 데이터 블록4의 데이터를 순차 판독한다. 도9에서 그 판독 사이클은 Tfr로서 도시된다. 최초로 판독된 데이터 블록1의 데이터는 데이터 버퍼(22)를 통해서 SDRAM(5)에 기록된다. 이 기록 사이클은 Tdw로서 도시된다. 또한 기록된 데이터 블록1의 데이터는 SDRAM(5)에서 판독되어 데이터 버퍼(20)에 공급된다. 이 판독 사이클은 Tdr로서 도시된다. 데이터 버퍼(20)에 데이터 블록1의 데이터가 갖추어진 후에, 상태 레지스터(15S)가 전송 가능하게 된다. 호스트 장치(3)는 그 상태를 인식하는 것에 의해 데이터 블록1의 데이터를 취입한다. 데이터 블록2 ~ 데이터 블록4에 대해서도 상기와 같은 처리가 행해진다.
이 예에 따르면, 컨트롤러(4)가 예컨대 데이터 버퍼(22)의 전송 조정부(13)측 포트에서 데이터 블록3의 데이터를 판독하여 SDRAM(5)에 저장하고(Tp ~ Tq), 이것에 계속해서 SDRAM(5)에 저장한 데이터를 데이터 버퍼(20)에 저장하고 있을때(Tq ~ Tr), 데이터 버퍼(22)의 플래쉬 메모리(2)측 포트에서 다음 데이터 블록4의 데이터가 데이터 버퍼(22)에 입력됨과 동시에, 데이터 버퍼(20)의 호스트 장치(3)측 포트에서 그 전의 데이터 블록2의 데이터가 호스트 장치(3)에 취입된다. 요컨대, 호스트 장치(3)로부터의 판독 액세스 요구에 응답할 때 컨트롤러(4)는, SDRAM(5)에 대한 판독 데이터의 축적과 SDRAM(5)에 축적한 판독 데이터의 출력을 시분할로 행하며, 상기 SDRAM(5)에 대한 판독 데이터 축적처리에 병행하여 호스트 장치(3)가 버퍼 메모리(20)에서 판독 데이터를 취입할 수 있고, 또, SDRAM(5)에서 상기 판독 데이터를 출력하는 처리에 병행하여 플래쉬 메모리(2)로부터의 다음 판독 데이터를 버퍼 메모리(22)에 입력하는 처리를 행할 수 있다.
도10에는 상기 SDRAM(5)의 기록 사이클(Tdw)의 일예가 나타난다. CLK는 상기 D_CLK에 대응하는 클록신호, CKE는 클록 이네이블 신호, CS_N은 칩선택신호, RAS_N은 로어드레스 스트로브신호, CAS_N은 컬럼 어드레스 스트로브신호, WE_N은 상기 D_WE에 대응하는 기록 이네이블 신호, A14 ~ A0은 어드레스 신호, D15 ~ D0은 데이터이다.
도11에는 상기 SDRAM의 판독 사이클(Tdr)의 일예가 나타난다.
도12에는 플래쉬 메모리(2)에 대한 기록 사이클(Tfw)의 일예가 나타난다. 1FH는 기록전송명령, SA(1), SA(2)는 어드레스 값, 40H는 기록시작명령을 의미한다. 기록 데이터(Din)는 시리얼 클록(SC)에 동기하여 입력된다.
도13에는 플래쉬 메모리(2)에 대한 판독 사이클(Tfr)의 일예가 나타난다. 00H/F0H는 판독전송명령, SA(1), SA(2)는 어드레스 값을 의미한다. 판독데이터(Dout)는 시리얼 클록(SC)에 동기하여 출력된다.
도14에 기록 액세스 요구에 응답하는 데이터 전송 처리흐름이 나타난다. 동도의 처리흐름은 플래쉬 메모리(2)에 대한 기록에러가 없는 경우를 상정한다. 호스트 장치(3)에서 기록 액세스 요구가 발행되면, 컨트롤러(4)는 호스트 장치(3)에 기록 전송준비 가능을 통지하고, 플래쉬 메모리(2)에 기록전송 요구를 전송한다. 이것을 수신한 호스트 장치(3)는 컨트롤러(4)에 기록 데이터의 기록전송을 행하고, 컨트롤러(4)는 플래쉬 메모리(2)에 기록 데이터를 기록전송한다. 플래쉬 메모리(2)는 기록동작을 행하며, 여기서는 컨트롤러(4)에 정상종료를 반환한다. 데이터 버퍼(20)에 새로운 블록의 기록 데이터를 축적할 여유가 없는 경우에 컨트롤러(4)는 신호 HWAIT를 어서트하여 기록전송 일시 중단요구를 호스트 장치(3)에 전송한다. 컨트롤러(4)는 새로운 블록의 기록 데이터를 축적 가능하게 되면, 신호 HWAIT를 니게이트(negate)하여 기록전송 재개를 호스트 장치(3)에 부여한다. 이것에 의해, 호스트 장치(3)는 컨트롤러(4)에 기록전송을 재개하고, 컨트롤러(4)는 플래쉬 메모리(2)에 기록 데이터의 전송을 재개한다. 기록 액세스 요구에 응답하는 모든 처리를 마치면 컨트롤러(4)는 호스트 장치(3)에 기록전송 종료통지를 부여한다.
도15에는 기록 액세스 요구에 응답하는 다른 데이터 전송 처리흐름이 예시된다. 동도의 처리흐름은 플래쉬 메모리(2)에 대한 기록에러가 있는 경우를 상정한다. 호스트 장치(3)에서 기록 액세스 요구가 발행되면, 컨트롤러(4)는 호스트 장치(3)에 기록 전송준비 가능을 통지하고, 플래쉬 메모리(2)에 기록전송 요구를 전송한다. 이것을 수신한 호스트 장치(3)는 컨트롤러(4)에 기록 데이터의 기록전송을 행하고, 컨트롤러(4)는 플래쉬 메모리(2)에 기록 데이터를 기록전송한다. 플래쉬 메모리(2)는 기록동작을 행하며, 여기서는 기록에러를 발생시켜, 컨트롤러(4)에 기록실패 종료를 통지한다. 이것을 수신한 컨트롤러(4)는 신호 HWAIT를 어서트하여 기록전송 일시중단 요구를 호스트 장치(3)에 전송한다. 그후, 컨트롤러(4)는 신호 bWAIT를 니게이트하여 호스트 장치(3)에 기록전송 재개를 통지하고, 플래쉬 메모리(2)에 대체 블록 기록전송 요구를 전송한다. 그리고, 호스트 장치(3)가 기록 데이터를 컨트롤러(4)에 기록전송하고, 컨트롤러(4)는 그 기록 데이터를 플래쉬 메모리(2)에 기록전송한다. 여기서는 플래쉬 메모리(2)는 또 기록실패하여, 기록실패 종료를 컨트롤러(4)에 통지한다. 그후도 컨트롤러(4)는 실패에 관한 기록처리를 플래쉬 메모리(2)에 요구한다. 이 사이에, 호스트 장치(3)는 후속의 기록 데이터를 컨트롤러(4)에 미리 전송하여 둘 수 있다. 마지막으로 기록 액세스 요구에 응답하는 모든 처리를 마치면 컨트롤러(4)는 호스트 장치(3)에 기록전송 종료 통지를 부여한다.
도16에는 판독 액세스 요구에 응답하는 데이터 전송 처리흐름이 예시된다. 호스트 장치(3)에서 판독 액세스 요구가 발생되면, 컨트롤러(4)는 호스트 장치(3)에 판독전송 준비 가능을 통지하고, 플래쉬 메모리(2)에 판독전송 요구를 전송한다. 이것을 수신한 플래쉬 메모리(2)는 판독 데이터를 컨트롤러(4)에 판독 전송하고, 컨트롤러(4)는 그 판독 데이터를 호스트 장치(3)에 판독 전송한다. 여기서는, 플래쉬 메모리(2)는 컨트롤러(4)에 정상종료를 반환한다. 데이터 버퍼(20)에 새로운 블록의 판독 데이터를 축적할 여유가 없는 경우에 컨트롤러(4)는 신호 HWAIT를어서트하여 판독전송 일시중단 요구를 호스트 장치(3)에 전송한다. 컨트롤러(4)는 새로운 블록의 판독 데이터를 축적 가능하게 되면, 신호 HWAIT를 니게이트하여 판독전송 재개를 호스트 장치(3)에 요구하고, 플래쉬 메모리(2)에 판독전송 요구를 전송한다. 이것에 의해 상기와 마찬가지로, 플래쉬 메모리(2)는 판독 데이터를 컨트롤러(4)에 판독 전송하고, 컨트롤러(4)는 그 판독 데이터를 호스트 장치(3)에 판독 전송한다. 판독 액세스 요구에 응답하는 모든 처리를 마치면 컨트롤러(4)는 호스트 장치(3)에 판독전송 종료통지를 부여한다.
컨트롤러(4)에 의한 SDRAM(5)을 이용한 상기 버퍼링 기능에 의해, 호스트 장치(3)에 의한 복수의 기록 데이터의 공급 타이밍에 많은 대기시간을 필요로 하지 않으며, 또 호스트 장치(3)에 의한 복수의 판독 데이터의 취득 타이밍에 많은 대기시간을 필요로 하지 않는다. 따라서, 호스트 장치(3)와 컨트롤러(4) 사이의 데이터 전송에 관한 호스트 장치(3)의 대기시간 단축, 처리부담 저감, 처리시간 저감에 기여할 수 있다. 이것은 플래쉬 메모리 카드(1)에 대한 액세스를 수반하는 데이터 처리 효율을 향상시킬 수 있다.
이상 본 발명자에 의해 이루어진 발명을 실시형태에 의거하여 구체적으로 설명했으나, 본 발명은 그것에 한정되는 것이 아니라, 그 요지를 이탈하지 않는 범위에서 여러가지 변경 가능한 것은 말할 필요도 없다.
예컨대, 불휘발성 메모리는 플래쉬 메모리에 한정되지 않고, 고유전체 메모리 등 그 이외의 기억형식을 채용하는 재기록 가능한 불휘발성 메모리라도 좋다. 또, 1개의 메모리셀에 대한 정보기억 비트수도 1비트에 한정되지 않고, 2비트 이상이라도 좋다. 또, 메모리 시스템은 PC카드와 같은 플래쉬 메모리 카드에 한정되지 않고, 데이터 프로세서를 실장한 프로세서 보드상에서 구성하는 것도 가능하다. 또, 컨트롤러에서 호스트 인터페이스 부분의 데이터 버퍼, 불휘발성 메모리 인터페이스 부분의 데이터 버퍼는 듀얼포트에 한정되지 않으며, 싱글포트 메모리 혹은 레지스터 또는 래치회로라도 좋다. 요컨대, 버퍼 메모리에 대한 상기 시분할에 의한 데이터 전송에 병행하여 호스트 인터페이스 또는 플래쉬 인터페이스 부분에서 데이터 입출력이 가능하면 좋다.
본원에서 개시되는 발명 중 대표적인 것에 의해 얻어지는 효과를 간단하게 설명하면 하기와 같다.
즉, 외부로부터의 기록 액세스 요구에 응답할 때 컨트롤러는, 버퍼 메모리로의 기록 데이터의 축적과 버퍼 메모리에 축적한 기록 데이터의 출력을 시분할로 행할 수 있다. 데이터 버퍼를 듀얼포트화하면, 그 기록 데이터 축적처리에 병행하여 제2 데이터 전송에 의한 불휘발성 메모리로의 기록 데이터의 전송을 행할 수 있으며, 또, 그 기록 데이터 출력처리에 병행하여 제1 데이터 전송에 의한 외부장치로부터의 다음 기록 데이터의 입력을 행할 수 있다.
외부로부터의 판독 액세스 요구에 응답할 때 컨트롤러는, 버퍼 메모리로의 판독 데이터의 축적과 버퍼 메모리에 축적한 판독 데이터의 출력을 시분할로 행한다. 데이터 버퍼의 듀얼포트화에 의해, 그 판독 데이터 축적처리에 병행하여 제1 데이터 전송에 의한 외부장치로의 판독 데이터의 전송을 행할 수 있으며, 또, 그판독 데이터 출력처리에 병행하여 제2 데이터 전송에 의한 불휘발성 메모리로부터의 다음 판독 데이터의 입력을 행할 수 있다.
이것에 의해, 외부장치 예컨대 호스트 장치에 의한 복수의 기록 데이터의 공급 타이밍에 많은 대기시간을 필요로 하지 않으며, 또, 호스트 장치에 의한 복수의 판독 데이터의 취득 타이밍에 많은 대기시간을 필요로 하지 않는다. 따라서, 호스트 장치와 컨트롤러 사이의 데이터 전송에 관한 호스트 장치의 대기시간 단축, 처리부담 저감, 처리시간 저감에 기여할 수 있다. 메모리 액세스를 수반하는 데이터 처리 효율을 향상시킬 수 있다.

Claims (22)

  1. 재기록 가능한 불휘발성 메모리와, 버퍼 메모리와, 컨트롤러를 가지며,
    상기 컨트롤러는 외부장치로부터의 액세스 요구에 응답하여, 상기 컨트롤러와 상기 외부장치와의 제1 데이터 전송, 상기 컨트롤러와 상기 불휘발성 메모리와의 사이의 제2 데이터 전송 및 상기 컨트롤러와 상기 버퍼 메모리와의 사이의 제3 데이터 전송을 제어하고,
    상기 제3 데이터 전송에서의 상기 컨트롤러에서 상기 버퍼 메모리로의 전송과 상기 버퍼 메모리에서 상기 컨트롤러로의 전송을 시분할로 제어하며,
    이 시분할에 의한 전송에 병행하여 상기 제1 데이터 전송 또는 상기 제2 데이터 전송을 가능하게 하는 것을 특징으로 하는 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 제3 데이터 전송의 동작속도는, 상기 제1 데이터 전송의 데이터 전송속도에 비해 대략 2배보다도 빠른 것을 특징으로 하는 메모리 시스템.
  3. 제 2 항에 있어서,
    버퍼 메모리는 싱글포트 클록 동기형의 휘발성 메모리이며, FIFO 동작되는 것을 특징으로 하는 메모리 시스템.
  4. 제 3 항에 있어서,
    상기 컨트롤러는, 상기 외부장치와 버퍼 메모리와의 사이에 배치되는 듀얼포트 데이터 버퍼와, 상기 버퍼 메모리와 상기 불휘발성 메모리와의 사이에 배치되는 듀얼포트 데이터 버퍼를 가지고 이루어지는 것을 특징으로 하는 메모리 시스템.
  5. 제 4 항에 있어서,
    불휘발성 메모리는 플래쉬 메모리인 것을 특징으로 하는 메모리 시스템.
  6. 재기록 가능한 불휘발성 메모리와, 버퍼 메모리와, 컨트롤러를 가지며,
    상기 컨트롤러는, 외부장치에 접속되는 제1 데이터 전송 제어부와,
    상기 불휘발성 메모리에 접속되는 제2 데이터 전송 제어부와,
    상기 버퍼 메모리에 접속되어 상기 제1 데이터 전송 제어부로부터의 전송요구 및 제2 데이터 전송 제어부로부터의 전송요구에 응답하여 버퍼 베모리와의 사이의 데이터 전송을 제어하는 전송 조정부를 가지고,
    상기 제1 데이터 전송 제어부는, 데이터 버퍼를 통해서 외부장치와 전송 조정부에 접속되며, 전송 조정부에 전송 요구를 출력하고,
    상기 제2 데이터 전송 제어부는, 데이터 버퍼를 통해서 불휘발성 메모리와 전송 조정부에 접속되며, 전송 조정부에 전송 요구를 출력하고,
    전송 조정부는, 제1 데이터 전송 제어부로부터의 전송 요구와 제2 데이터 전송 제어부로부터의 전송 요구에 대해, 상기 버퍼 메모리에 대한 기록방향의 전송과상기 버퍼 메모리에 대한 판독방향의 전송을 시분할로 제어하는 것을 특징으로 하는 메모리 시스템.
  7. 제 6 항에 있어서,
    상기 데이터 버퍼는 듀얼포트를 가지는 것을 특징으로 하는 메모리 시스템.
  8. 제 6 항에 있어서,
    외부로부터의 기록 액세스 요구에 응답할 때, 상기 제1 데이터 전송 제어부는 외부장치에서 데이터 버퍼에 소정량의 데이터가 축적되었을 때 전송 조정부에 버퍼 메모리에 대한 기록을 위한 전송 요구를 출력하며,
    상기 제2 데이터 전송 제어부는 데이터 버퍼에 소정량의 데이터가 없을 때 전송 조정부에 버퍼 메모리에서 데이터 버퍼에 대한 판독을 위한 전송 요구를 출력하는 것을 특징으로 하는 메모리 시스템.
  9. 제 6 항에 있어서,
    외부로부터의 판독 액세스 요구에 응답할 때, 상기 제2 데이터 전송 제어부는 버퍼 메모리에서 데이터 버퍼에 소정량의 데이터가 축적되었을 때 전송 조정부에 버퍼 메모리에 대한 기록을 위한 전송 요구를 출력하며,
    상기 제1 데이터 전송 제어부는 데이터 버퍼에 소정량의 데이터가 없을 때 전송 조정부에 버퍼 메모리에 대한 판독을 위한 전송 요구를 출력하는 것을 특징으로 하는 메모리 시스템.
  10. 제 6 항에 있어서,
    상기 조정부에 의한 버퍼 메모리와의 사이의 데이터 전송의 동작속도는, 상기 제1 전송 제어부에 의한 외부와의 데이터 전송의 동작속도에 비해 대략 2배보다도 빠른 것을 특징으로 하는 메모리 시스템.
  11. 제 9 항에 있어서,
    버퍼 메모리는 싱글포트 클록 동기형의 DRAM이며, FIFO 동작되는 것을 특징으로 하는 메모리 시스템.
  12. 제 10 항에 있어서,
    불휘발성 메모리는 플래쉬 메모리인 것을 특징으로 하는 메모리 시스템.
  13. 컨트롤러와, 버퍼 메모리와, 불휘발성 메모리와,
    외부와의 사이에서의 데이터 전송을 행하며 컨트롤러에 접속되는 제1 신호선과,
    컨트롤러와 버퍼 메모리를 접속하는 제2 신호선과,
    컨트롤러와 불휘발성 메모리를 접속하는 제3 신호선을 가지고,
    상기 제2 신호선의 데이터 전송 레이트는, 상기 제1 신호선의 데이터 전송레이트와 상기 제3 신호선의 데이터 전송 레이트와의 합계와 동등 또는 보다 높은 것을 특징으로 하는 불휘발성 메모리 시스템.
  14. 제 13 항에 있어서,
    상기 제1 신호선의 데이터 전송 레이트는 상기 제3 신호선의 데이터 전송 레이트와 동등 또는 보다 높은 것을 특징으로 하는 불휘발성 메모리 시스템.
  15. 제 14 항에 있어서,
    상기 제2 신호선에는 클록 신호선이 포함되며, 상기 버퍼 메모리는 클록신호에 동기하여 입출력을 행하는 메모리인 것을 특징으로 하는 불휘발성 메모리 시스템.
  16. 제 15 항에 있어서,
    외부에서 공급되는 데이터를 상기 불휘발성 메모리에 저장하는 경우에 있어서, 상기 제2 신호선에는 외부에서 공급되어 버퍼 메모리에 일시적으로 저장되는 데이터의 전송과, 버퍼 메모리에 일시적으로 저장되어 상기 불휘발성 메모리에 저장하기 위한 데이터의 전송이 시분할로 행해지는 것을 특징으로 하는 불휘발성 메모리 시스템.
  17. 제 15 항에 있어서,
    상기 불휘발성 메모리에 저장된 데이터를 외부에 공급하는 경우에 있어서, 상기 제2 신호선에는 상기 불휘발성 메모리에서 판독되어 버퍼 메모리에 일시적으로 저장되는 데이터의 전송과, 버퍼 메모리에 일시적으로 저장되어 외부에 공급되는 데이터의 전송이 시분할로 행해지는 것을 특징으로 하는 불휘발성 메모리 시스템.
  18. 제 13 항에 있어서,
    상기 불휘발성 메모리를 복수개 가지며, 상기 제3 신호선의 데이터 전송 레이트는 상기 복수의 불휘발성 메모리의 각각과의 사이에서의 데이터 전송 레이트의 총합인 것을 특징으로 하는 불휘발성 메모리 시스템.
  19. 제 18 항에 있어서,
    상기 제1 신호선의 데이터 전송 레이트는 상기 제3 신호선의 데이터 전송 레이트와 동등 또는 보다 높은 것을 특징으로 하는 불휘발성 메모리 시스템.
  20. 제 19 항에 있어서,
    상기 제2 신호선에는 클록신호가 포함되고, 상기 버퍼 메모리는 클록에 동기하여 입출력을 행하는 메모리인 것을 특징으로 하는 불휘발성 메모리 시스템.
  21. 제 20 항에 있어서,
    외부에서 공급되는 데이터를 상기 불휘발성 메모리에 저장하는 경우에 있어서, 상기 제2 신호선에는 외부에서 공급되어 버퍼 메모리에 일시적으로 저장되는 데이터의 전송과, 버퍼 메모리에 일시적으로 저장되어 상기 복수의 불휘발성 메모리의 어느 하나에 저장하기 위한 데이터의 전송이 시분할로 행해지는 것을 특징으로 하는 불휘발성 메모리 시스템.
  22. 제 20 항에 있어서,
    상기 불휘발성 메모리에 저장된 데이터를 외부에 공급하는 경우에 있어서, 상기 제2 신호선에는 상기 복수의 불휘발성 메모리의 어느 하나에서 판독되어 버퍼 메모리에 일시적으로 저장되는 데이터 전송과, 버퍼 메모리에 일시적으로 저장되어 외부에 공급되는 데이터의 전송이 시분할로 행해지는 것을 특징으로 하는 불휘발성 메모리 시스템.
KR1020030004693A 2002-02-07 2003-01-24 메모리 시스템 KR101021840B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00030191 2002-02-07
JP2002030191A JP4082913B2 (ja) 2002-02-07 2002-02-07 メモリシステム

Publications (2)

Publication Number Publication Date
KR20030067494A true KR20030067494A (ko) 2003-08-14
KR101021840B1 KR101021840B1 (ko) 2011-03-17

Family

ID=27654730

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030004693A KR101021840B1 (ko) 2002-02-07 2003-01-24 메모리 시스템

Country Status (4)

Country Link
US (7) US6744692B2 (ko)
JP (1) JP4082913B2 (ko)
KR (1) KR101021840B1 (ko)
TW (1) TW200302965A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7532521B2 (en) 2005-10-18 2009-05-12 Samsung Electronics Co., Ltd. NOR-NAND flash memory device with interleaved mat access
US7571276B2 (en) 2005-10-04 2009-08-04 Samsung Electronics Co., Ltd. Read operation for semiconductor memory devices
KR101521995B1 (ko) * 2008-06-13 2015-05-22 삼성전자주식회사 불휘발성 메모리 시스템 및 불휘발성 메모리 장치의 액세스방법

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100516693B1 (ko) * 2003-04-02 2005-09-22 주식회사 하이닉스반도체 불휘발성 프로그래머블 로직 회로
US7779165B2 (en) * 2002-01-11 2010-08-17 Oracle America, Inc. Scalable method for producer and consumer elimination
US7062619B2 (en) * 2002-01-31 2006-06-13 Saifun Semiconductor Ltd. Mass storage device architecture and operation
US6928527B2 (en) * 2002-01-31 2005-08-09 Saifun Semiconductors Ltd. Look ahead methods and apparatus
JP4082913B2 (ja) 2002-02-07 2008-04-30 株式会社ルネサステクノロジ メモリシステム
US6917544B2 (en) 2002-07-10 2005-07-12 Saifun Semiconductors Ltd. Multiple use memory chip
US7136304B2 (en) 2002-10-29 2006-11-14 Saifun Semiconductor Ltd Method, system and circuit for programming a non-volatile memory array
US7178004B2 (en) 2003-01-31 2007-02-13 Yan Polansky Memory array programming circuit and a method for using the circuit
US7526598B2 (en) * 2003-03-03 2009-04-28 Sandisk Il, Ltd. Efficient flash memory device driver
JP4653960B2 (ja) * 2003-08-07 2011-03-16 ルネサスエレクトロニクス株式会社 メモリカードおよび不揮発性メモリ混載マイコン
KR100703357B1 (ko) * 2003-08-16 2007-04-03 삼성전자주식회사 보조제어부를 구비하는 휴대용 단말기의 캐시메모리구현장치 및 방법
US7171526B2 (en) * 2003-11-07 2007-01-30 Freescale Semiconductor, Inc. Memory controller useable in a data processing system
US20050132128A1 (en) 2003-12-15 2005-06-16 Jin-Yub Lee Flash memory device and flash memory system including buffer memory
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
KR100606242B1 (ko) * 2004-01-30 2006-07-31 삼성전자주식회사 불휘발성 메모리와 호스트간에 버퍼링 동작을 수행하는멀티 포트 휘발성 메모리 장치, 이를 이용한 멀티-칩패키지 반도체 장치 및 이를 이용한 데이터 처리장치
KR100541642B1 (ko) * 2004-03-11 2006-01-10 삼성전자주식회사 플래시 메모리의 데이터 관리 장치 및 방법
JP4005576B2 (ja) * 2004-03-12 2007-11-07 松下電器産業株式会社 半導体集積回路装置
KR100626371B1 (ko) * 2004-03-30 2006-09-20 삼성전자주식회사 캐쉬 읽기 동작을 수행하는 비휘발성 메모리 장치, 그것을포함한 메모리 시스템, 그리고 캐쉬 읽기 방법
US8234421B2 (en) * 2004-04-21 2012-07-31 Stmicroelectronics, Inc. Smart card with selectively allocatable data buffers and associated methods
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
DE102004032402B4 (de) * 2004-07-03 2007-12-27 Infineon Technologies Ag Speichercontroller mit mehreren parallelen Transferblöcken
US7258100B2 (en) * 2004-08-03 2007-08-21 Bruce Pinkston Internal combustion engine control
US20060036803A1 (en) * 2004-08-16 2006-02-16 Mori Edan Non-volatile memory device controlled by a micro-controller
JP4862255B2 (ja) * 2004-09-30 2012-01-25 カシオ計算機株式会社 フラッシュrom制御装置、フラッシュrom制御方法及びプログラム
US7638850B2 (en) 2004-10-14 2009-12-29 Saifun Semiconductors Ltd. Non-volatile memory structure and method of fabrication
JP2008021335A (ja) * 2004-10-18 2008-01-31 Matsushita Electric Ind Co Ltd 不揮発性記憶装置、不揮発性記憶装置の書込み方法およびコントローラ
DE102004058528B3 (de) * 2004-12-04 2006-05-04 Hyperstone Ag Speichersystem mit Sektorbuffern
KR100666169B1 (ko) * 2004-12-17 2007-01-09 삼성전자주식회사 플래쉬 메모리 데이터 저장장치
US7849381B2 (en) 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US8122193B2 (en) 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
KR100578143B1 (ko) 2004-12-21 2006-05-10 삼성전자주식회사 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템
EP1684164A1 (en) * 2005-01-13 2006-07-26 Thomson Licensing Data transfer system
EP1684165A3 (en) * 2005-01-13 2006-08-02 THOMSON Licensing Data transfer system
US8053812B2 (en) 2005-03-17 2011-11-08 Spansion Israel Ltd Contact in planar NROM technology
KR100626392B1 (ko) 2005-04-01 2006-09-20 삼성전자주식회사 읽기 속도를 향상시킬 수 있는 플래시 메모리 장치
US7786512B2 (en) 2005-07-18 2010-08-31 Saifun Semiconductors Ltd. Dense non-volatile memory array and method of fabrication
US7668017B2 (en) 2005-08-17 2010-02-23 Saifun Semiconductors Ltd. Method of erasing non-volatile memory cells
JP2007058518A (ja) * 2005-08-24 2007-03-08 Renesas Technology Corp メモリカード
US7587655B2 (en) * 2005-10-26 2009-09-08 Infineon Technologies Ag Method of transferring signals between a memory device and a memory controller
US7457928B2 (en) * 2005-10-28 2008-11-25 International Business Machines Corporation Mirroring system memory in non-volatile random access memory (NVRAM) for fast power on/off cycling
US7808818B2 (en) 2006-01-12 2010-10-05 Saifun Semiconductors Ltd. Secondary injection for NROM
KR100699893B1 (ko) * 2006-01-23 2007-03-28 삼성전자주식회사 하이브리드 디스크 드라이브 및 하이브리드 디스크드라이브의 데이터 제어방법
US7692961B2 (en) 2006-02-21 2010-04-06 Saifun Semiconductors Ltd. Method, circuit and device for disturb-control of programming nonvolatile memory cells by hot-hole injection (HHI) and by channel hot-electron (CHE) injection
US7760554B2 (en) 2006-02-21 2010-07-20 Saifun Semiconductors Ltd. NROM non-volatile memory and mode of operation
US8253452B2 (en) 2006-02-21 2012-08-28 Spansion Israel Ltd Circuit and method for powering up an integrated circuit and an integrated circuit utilizing same
US7525855B2 (en) * 2006-04-24 2009-04-28 Sandisk Corporation Method of high-performance flash memory data transfer
US7499369B2 (en) * 2006-07-19 2009-03-03 Sandisk Corporation Method of high-performance flash memory data transfer
US7499339B2 (en) * 2006-07-19 2009-03-03 Sandisk Corporation High-performance flash memory data transfer
US7701779B2 (en) 2006-04-27 2010-04-20 Sajfun Semiconductors Ltd. Method for programming a reference cell
US7876613B2 (en) 2006-05-18 2011-01-25 Samsung Electronics Co., Ltd. Multi-bit flash memory devices having a single latch structure and related programming methods, systems and memory cards
KR100778082B1 (ko) 2006-05-18 2007-11-21 삼성전자주식회사 단일의 래치 구조를 갖는 멀티-비트 플래시 메모리 장치,그것의 프로그램 방법, 그리고 그것을 포함하는 메모리카드
JP2008024411A (ja) * 2006-07-20 2008-02-07 Toshiba Elevator Co Ltd エレベータ制御装置
US7730268B2 (en) * 2006-08-18 2010-06-01 Cypress Semiconductor Corporation Multiprocessor system having an input/output (I/O) bridge circuit for transferring data between volatile and non-volatile memory
JP4955340B2 (ja) * 2006-08-22 2012-06-20 ルネサスエレクトロニクス株式会社 半導体記憶装置
KR100919156B1 (ko) 2006-08-24 2009-09-28 삼성전자주식회사 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 방법
KR100843209B1 (ko) * 2006-11-02 2008-07-02 삼성전자주식회사 버퍼 메모리를 포함하는 저항형 메모리 장치, 저항형메모리 장치를 포함하는 메모리 시스템, 및 저항형 메모리장치의 데이터 기입/독출 방법
DE102007050463A1 (de) * 2006-11-16 2008-05-21 Giesecke & Devrient Gmbh Verfahren zum Zugriff auf einen tragbaren Speicherdatenträger mit Zusatzmodul und tragbarer Speicherdatenträger
KR100816761B1 (ko) * 2006-12-04 2008-03-25 삼성전자주식회사 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법
JP2008146335A (ja) * 2006-12-08 2008-06-26 Fujitsu Ltd データ転送制御装置、データ転送制御プログラムおよびデータ転送制御方法
KR100851545B1 (ko) * 2006-12-29 2008-08-11 삼성전자주식회사 커맨드 및 어드레스 핀을 갖는 낸드 플래시 메모리 및그것을 포함한 플래시 메모리 시스템
JP4697146B2 (ja) * 2007-01-19 2011-06-08 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR100849224B1 (ko) * 2007-02-01 2008-07-31 삼성전자주식회사 메모리 카드 시스템의 메모리 카드에 전원을 공급하는 방법및 메모리 카드 시스템
US8086785B2 (en) * 2007-02-22 2011-12-27 Mosaid Technologies Incorporated System and method of page buffer operation for memory devices
US8046527B2 (en) 2007-02-22 2011-10-25 Mosaid Technologies Incorporated Apparatus and method for using a page buffer of a memory device as a temporary cache
US8874831B2 (en) 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
KR101456593B1 (ko) * 2007-06-22 2014-11-03 삼성전자주식회사 플래시 메모리 장치를 포함하는 메모리 시스템
US9201790B2 (en) * 2007-10-09 2015-12-01 Seagate Technology Llc System and method of matching data rates
US7916544B2 (en) * 2008-01-25 2011-03-29 Micron Technology, Inc. Random telegraph signal noise reduction scheme for semiconductor memories
US20090327535A1 (en) * 2008-06-30 2009-12-31 Liu Tz-Yi Adjustable read latency for memory device in page-mode access
JP4632180B2 (ja) 2008-10-15 2011-02-16 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8214579B2 (en) 2008-09-30 2012-07-03 Tdk Corporation Memory controller, flash memory system with memory controller, and method of controlling flash memory
JP4582232B2 (ja) 2008-09-30 2010-11-17 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US9201824B2 (en) * 2009-01-22 2015-12-01 Intel Deutschland Gmbh Method and apparatus for adaptive data chunk transfer
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8977805B2 (en) * 2009-03-25 2015-03-10 Apple Inc. Host-assisted compaction of memory blocks
KR20110024147A (ko) * 2009-09-01 2011-03-09 삼성전자주식회사 저항성 메모리 장치의 저항 드리프트를 보상할 수 있는 메모리 시스템 및 메모리 시스템의 데이터 처리 방법
KR101626084B1 (ko) * 2009-11-25 2016-06-01 삼성전자주식회사 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법
TWI417889B (zh) * 2009-12-30 2013-12-01 Silicon Motion Inc 快閃記憶體之寫入逾時控制方法及其記憶裝置
WO2011096046A1 (ja) * 2010-02-02 2011-08-11 株式会社 東芝 ストレージ機能を持つ通信装置
US8248883B1 (en) * 2010-08-31 2012-08-21 Xilinx, Inc. Non-volatile I/O device based memory
US9183045B2 (en) 2010-12-21 2015-11-10 Mo-Dv, Inc. System and method for data collection and exchange with protected memory devices
TWI442383B (zh) * 2011-03-24 2014-06-21 Novatek Microelectronics Corp 顯示裝置之記憶體架構及其控制方法
CN102708061B (zh) * 2011-03-28 2015-04-08 联咏科技股份有限公司 显示装置的内存架构及其控制方法
JP2013061795A (ja) * 2011-09-13 2013-04-04 Toshiba Corp 記憶装置、コントローラ、およびリードコマンド実行方法
CN103092743A (zh) * 2011-11-02 2013-05-08 联芯科技有限公司 片外存储器带宽检测方法及装置
US8949510B2 (en) * 2012-01-09 2015-02-03 Skymedi Corporation Buffer managing method and buffer controller thereof
CN102799392B (zh) * 2012-06-16 2015-12-16 北京忆恒创源科技有限公司 存储设备及其中断控制方法
KR20150032659A (ko) * 2012-06-28 2015-03-27 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 이중 포트 버퍼를 구비한 메모리 모듈
JP5607118B2 (ja) * 2012-07-30 2014-10-15 ソリッド ステート ストレージ ソリューションズ インク メモリシステム
KR101988260B1 (ko) * 2012-09-14 2019-06-12 삼성전자주식회사 임베디드 멀티미디어 카드, 및 이의 동작 방법
KR101919903B1 (ko) * 2012-09-14 2018-11-19 삼성전자 주식회사 임베디드 멀티미디어 카드, 이를 제어하는 호스트, 및 이들의 동작 방법
US8938561B2 (en) * 2013-01-10 2015-01-20 Skymedi Corporation Time-sharing buffer access system
US9064562B2 (en) 2013-04-03 2015-06-23 Hewlett-Packard Development Company, L.P. Memory module having multiple memory banks selectively connectable to a local memory controller and an external memory controller
TWI511478B (zh) * 2013-10-04 2015-12-01 Genesys Logic Inc 超音波資料擷取系統、方法及超音波接收裝置
KR20150061393A (ko) 2013-11-27 2015-06-04 삼성전자주식회사 메모리 장치로부터 읽은 데이터를 고속으로 전송하는 메모리 컨트롤러 및 그것의 데이터 전송 방법.
US9690489B2 (en) * 2014-03-08 2017-06-27 Storart Technology Co. Ltd. Method for improving access performance of a non-volatile storage device
US9177654B2 (en) * 2014-03-26 2015-11-03 Burst Corporation Solid-state memory device with plurality of memory cards
KR102285994B1 (ko) * 2014-05-13 2021-08-06 삼성전자주식회사 불휘발성 메모리 시스템 및 메모리 컨트롤러의 동작 방법
JP6467636B2 (ja) 2014-08-28 2019-02-13 パナソニックIpマネジメント株式会社 メモリカード
CN104598408B (zh) * 2015-02-05 2018-10-26 深圳芯邦科技股份有限公司 一种一次性可编程只读存储器数据烧录方法
KR102336033B1 (ko) 2015-04-22 2021-12-08 에스케이하이닉스 주식회사 매립금속게이트구조를 구비한 반도체장치 및 그 제조 방법, 그를 구비한 메모리셀, 그를 구비한 전자장치
US20170123991A1 (en) * 2015-10-28 2017-05-04 Sandisk Technologies Inc. System and method for utilization of a data buffer in a storage device
KR102565918B1 (ko) * 2016-02-24 2023-08-11 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작방법
US9824767B1 (en) * 2016-06-29 2017-11-21 Intel Corporation Methods and apparatus to reduce threshold voltage drift
KR20190059633A (ko) * 2017-11-23 2019-05-31 에스케이하이닉스 주식회사 데이터 저장 장치, 그것의 동작 방법 및 비휘발성 메모리 장치의 동작 방법
JP7155028B2 (ja) 2019-01-29 2022-10-18 キオクシア株式会社 メモリシステムおよび制御方法
JP7143232B2 (ja) 2019-01-29 2022-09-28 キオクシア株式会社 メモリシステムおよび制御方法
US11422939B2 (en) * 2019-12-26 2022-08-23 Intel Corporation Shared read—using a request tracker as a temporary read cache
JP7456010B2 (ja) 2020-12-28 2024-03-26 キオクシア株式会社 メモリシステム

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5198380A (en) 1988-06-08 1993-03-30 Sundisk Corporation Method of highly compact EPROM and flash EEPROM devices
DE69033438T2 (de) 1989-04-13 2000-07-06 Sandisk Corp., Santa Clara Austausch von fehlerhaften Speicherzellen einer EEprommatritze
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
EP0440243A3 (en) * 1990-01-31 1993-12-15 Nec Corp Memory controller for sub-memory unit such as disk drives
US5218569A (en) 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
US5396468A (en) 1991-03-15 1995-03-07 Sundisk Corporation Streamlined write operation for EEPROM system
US5270979A (en) 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US5504760A (en) 1991-03-15 1996-04-02 Sandisk Corporation Mixed data encoding EEPROM system
JP2703668B2 (ja) * 1991-03-18 1998-01-26 株式会社日立製作所 データ転送制御装置および磁気ディスク制御装置
US5663901A (en) 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
US5291584A (en) * 1991-07-23 1994-03-01 Nexcom Technology, Inc. Methods and apparatus for hard disk emulation
US5430859A (en) 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US5438573A (en) 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5778418A (en) 1991-09-27 1998-07-07 Sandisk Corporation Mass computer storage system having both solid state and rotating disk types of memory
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
US5297029A (en) 1991-12-19 1994-03-22 Kabushiki Kaisha Toshiba Semiconductor memory device
JPH05265939A (ja) 1992-03-23 1993-10-15 Toshiba Corp データ転送装置
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
EP0587115B1 (en) 1992-09-07 1999-02-10 Denso Corporation Communication system
JPH06103026A (ja) 1992-09-18 1994-04-15 Tokyo Electron Ltd メモリシステム
US5428621A (en) 1992-09-21 1995-06-27 Sundisk Corporation Latent defect handling in EEPROM devices
JPH06149482A (ja) * 1992-11-11 1994-05-27 Hitachi Ltd 外部記憶装置
US5519843A (en) 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
US5422842A (en) 1993-07-08 1995-06-06 Sundisk Corporation Method and circuit for simultaneously programming and verifying the programming of selected EEPROM cells
US5644787A (en) * 1993-08-03 1997-07-01 Seiko Epson Corporation Apparatus for controlling data transfer between external interfaces through buffer memory using table data having transfer start address transfer count and unit selection parameter
US5508971A (en) 1994-10-17 1996-04-16 Sandisk Corporation Programmable power generation circuit for flash EEPROM memory systems
JP3188840B2 (ja) * 1996-06-14 2001-07-16 インターナショナル・ビジネス・マシーンズ・コーポレ−ション コンピュータ・システムに用いられる周辺装置及びその制御方法
JP3550293B2 (ja) 1997-12-26 2004-08-04 株式会社ルネサステクノロジ 不揮発性メモリを用いた高速書換可能な記憶装置および該記憶装置のデータ書換方法
KR100285063B1 (ko) * 1998-08-13 2001-03-15 윤종용 동기형 램 장치와 시스템 버스를 공유하는 동기형 플래시 메모리 장치의 소거 및 쓰기 방법
JP3506024B2 (ja) * 1998-12-10 2004-03-15 日本電気株式会社 情報処理装置
JP4141581B2 (ja) * 1999-04-05 2008-08-27 株式会社ルネサステクノロジ フラッシュメモリを搭載する記憶装置
JP3389186B2 (ja) 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
US6401149B1 (en) * 1999-05-05 2002-06-04 Qlogic Corporation Methods for context switching within a disk controller
JP3353751B2 (ja) 1999-08-06 2002-12-03 松下電器産業株式会社 メモリカード
KR100591872B1 (ko) 1999-08-24 2006-06-22 마쯔시다덴기산교 가부시키가이샤 메모리 카드
RU2257609C2 (ru) 1999-10-21 2005-07-27 Мацусита Электрик Индастриал Ко., Лтд. Устройство доступа к полупроводниковой карте памяти, компьютерно-считываемый носитель записи, способ инициализации и полупроводниковая карта памяти
EP1164492A1 (en) * 1999-12-17 2001-12-19 Sony Corporation Device and method for processing information and recorded medium
JP4649009B2 (ja) 2000-03-08 2011-03-09 株式会社東芝 カードインタフェースを備えた情報処理装置、同装置に装着可能なカード型電子機器、及び同装置におけ動作モード設定方法
JP3871184B2 (ja) * 2000-06-12 2007-01-24 シャープ株式会社 半導体記憶装置
JP2002024081A (ja) 2000-07-10 2002-01-25 Hitachi Ltd 半導体集積回路装置
US6820148B1 (en) 2000-08-17 2004-11-16 Sandisk Corporation Multiple removable non-volatile memory cards serially communicating with a host
US7020739B2 (en) * 2000-12-06 2006-03-28 Tdk Corporation Memory controller, flash memory system having memory controller and method for controlling flash memory device
JP4711531B2 (ja) * 2001-03-23 2011-06-29 ルネサスエレクトロニクス株式会社 半導体記憶装置
US6625716B2 (en) * 2001-06-28 2003-09-23 Intel Corporation Method apparatus, and system for efficient address and data protocol for a memory
JP4082913B2 (ja) 2002-02-07 2008-04-30 株式会社ルネサステクノロジ メモリシステム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571276B2 (en) 2005-10-04 2009-08-04 Samsung Electronics Co., Ltd. Read operation for semiconductor memory devices
US7532521B2 (en) 2005-10-18 2009-05-12 Samsung Electronics Co., Ltd. NOR-NAND flash memory device with interleaved mat access
KR101521995B1 (ko) * 2008-06-13 2015-05-22 삼성전자주식회사 불휘발성 메모리 시스템 및 불휘발성 메모리 장치의 액세스방법

Also Published As

Publication number Publication date
US7450457B2 (en) 2008-11-11
US20120176842A1 (en) 2012-07-12
US20140365712A1 (en) 2014-12-11
US20030147297A1 (en) 2003-08-07
JP4082913B2 (ja) 2008-04-30
US20070285997A1 (en) 2007-12-13
US9904619B2 (en) 2018-02-27
US6744692B2 (en) 2004-06-01
US7206233B2 (en) 2007-04-17
JP2003233529A (ja) 2003-08-22
TW200302965A (en) 2003-08-16
US20050162929A1 (en) 2005-07-28
US6882568B2 (en) 2005-04-19
US8036040B2 (en) 2011-10-11
US20030202383A1 (en) 2003-10-30
KR101021840B1 (ko) 2011-03-17
US20100054069A1 (en) 2010-03-04

Similar Documents

Publication Publication Date Title
KR101021840B1 (ko) 메모리 시스템
US6795899B2 (en) Memory system with burst length shorter than prefetch length
US5822251A (en) Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers
KR100281432B1 (ko) 플래쉬 메모리에 기초한 주메모리
US7441070B2 (en) Method for accessing a non-volatile memory via a volatile memory interface
US6952745B1 (en) Device and method for maximizing performance on a memory interface with a variable number of channels
US20080010420A1 (en) Method for Accessing Control Registers via a Memory Device
US20080010419A1 (en) System and Method for Issuing Commands
WO1996032674A2 (en) Semiconductor memory device for mass storage block access applications
CN107257964B (zh) Dram电路、计算机系统和访问dram电路的方法
US20080007569A1 (en) Control protocol and signaling in a new memory architecture
US6622222B2 (en) Sequencing data on a shared data bus via a memory buffer to prevent data overlap during multiple memory read operations
JP4447636B2 (ja) メモリシステム
JP5095649B2 (ja) メモリシステム
JP4598025B2 (ja) メモリシステム
JP5607118B2 (ja) メモリシステム
US6675270B2 (en) Dram with memory independent burst lengths for reads versus writes
JP4772975B2 (ja) 半導体記憶装置
US20070073961A1 (en) Memory controller
JPH08212126A (ja) Dramコントローラ
JPH05250256A (ja) メモリアクセス方法
KR19990031016A (ko) 데이터 처리 시스템의 데이터 연속 전송 제어 장치

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140305

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150304

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee