KR20060120501A - 메모리 모듈, 메모리 시스템,및 정보기기 - Google Patents

메모리 모듈, 메모리 시스템,및 정보기기 Download PDF

Info

Publication number
KR20060120501A
KR20060120501A KR1020060045364A KR20060045364A KR20060120501A KR 20060120501 A KR20060120501 A KR 20060120501A KR 1020060045364 A KR1020060045364 A KR 1020060045364A KR 20060045364 A KR20060045364 A KR 20060045364A KR 20060120501 A KR20060120501 A KR 20060120501A
Authority
KR
South Korea
Prior art keywords
memory
cache
data
address
area
Prior art date
Application number
KR1020060045364A
Other languages
English (en)
Other versions
KR101269317B1 (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 KR20060120501A publication Critical patent/KR20060120501A/ko
Application granted granted Critical
Publication of KR101269317B1 publication Critical patent/KR101269317B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • 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
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • 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
    • 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
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L2224/16Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
    • H01L2224/161Disposition
    • H01L2224/16151Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
    • H01L2224/16221Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
    • H01L2224/16225Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/26Layer connectors, e.g. plate connectors, solder or adhesive layers; Manufacturing methods related thereto
    • H01L2224/31Structure, shape, material or disposition of the layer connectors after the connecting process
    • H01L2224/32Structure, shape, material or disposition of the layer connectors after the connecting process of an individual layer connector
    • H01L2224/321Disposition
    • H01L2224/32135Disposition the layer connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
    • H01L2224/32145Disposition the layer connector connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/4805Shape
    • H01L2224/4809Loop shape
    • H01L2224/48091Arched
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/481Disposition
    • H01L2224/48135Connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
    • H01L2224/48137Connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being arranged next to each other, e.g. on a common substrate
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/481Disposition
    • H01L2224/48135Connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip
    • H01L2224/48145Connecting between different semiconductor or solid-state bodies, i.e. chip-to-chip the bodies being stacked
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/481Disposition
    • H01L2224/48151Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
    • H01L2224/48221Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
    • H01L2224/48225Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation
    • H01L2224/48227Connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation connecting the wire to a bond pad of the item
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/49Structure, shape, material or disposition of the wire connectors after the connecting process of a plurality of wire connectors
    • H01L2224/491Disposition
    • H01L2224/4912Layout
    • H01L2224/49175Parallel arrangements
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/73Means for bonding being of different types provided for in two or more of groups H01L2224/10, H01L2224/18, H01L2224/26, H01L2224/34, H01L2224/42, H01L2224/50, H01L2224/63, H01L2224/71
    • H01L2224/732Location after the connecting process
    • H01L2224/73251Location after the connecting process on different surfaces
    • H01L2224/73253Bump and layer connectors
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/73Means for bonding being of different types provided for in two or more of groups H01L2224/10, H01L2224/18, H01L2224/26, H01L2224/34, H01L2224/42, H01L2224/50, H01L2224/63, H01L2224/71
    • H01L2224/732Location after the connecting process
    • H01L2224/73251Location after the connecting process on different surfaces
    • H01L2224/73265Layer and wire connectors
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/153Connection portion
    • H01L2924/1531Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface
    • H01L2924/15311Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface being a ball array, e.g. BGA
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/181Encapsulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

사용 편리성이 좋은 대기억 용량의 ROM과 RAM을 포함하는 메모리 시스템을 제공한다.
불휘발성 메모리, 캐시 메모리, 제어 회로, 정보처리 장치를 포함하는 메모리 시스템을 구성한다. 불휘발성 메모리의 데이터를 캐시 메모리에 전송시켜, 유지함으로써 고속화를 꾀한다. 불휘발성 메모리의 데이터를 캐시 메모리에 전송시킬 때는, 에러 정정을 하고, 신뢰성의 향상을 꾀한다. 정보처리장치로부터, 독립적으로캐시 메모리와 불휘발성 메모리에의 액세스를 행할 수 있음으로써, 사용 편리성의 향상을 꾀한다. 이것들 복수의 칩으로 이루어지는 메모리 시스템을, 각 칩이 서로 적층해서 배치되고, 볼 그리드 어레이(BGA)나 칩간의 본딩에 의해 배선된 메모리 시스템 모듈로서 구성한다.
불휘발성 메모리, 캐시 메모리, 제어 회로

Description

메모리 모듈, 메모리 시스템,및 정보기기{MEMORY MODULE, MEMORY SYSTEM, AND INFORMATION DEVICE}
도 1은 본 발명을 적용한 메모리 시스템의 구성도,
도 2는 본 발명을 적용한 메모리 시스템의 어드레스 맵의 일예를 나타내는 설명도,
도 3은 본 발명을 적용한 메모리 시스템의레지스터 블록의 일예를 나타내는 설명도,
도 4는 본 발명을 적용한 메모리 시스템의 전원투입시의 동작의 일예를 나타내는 도면,
도 5는 본 발명을 적용한 메모리 시스템의 어드레스 변환 및 캐시 메모리의 일예를 나타내는 도면,
도 6은 본 발명을 적용한 메모리 시스템의 어드레스 변환 및 캐시 메모리의 일예를 나타내는 도면,
도 7은 본 발명을 적용한 메모리 시스템의 어드레스 변환의 일예를 나타내는 도면,
도 8은 본 발명을 적용한 메모리 시스템의캐시 메모리의 일예를 나타내는 도면,
도 9는 본 발명을 적용한 메모리 시스템의 캐시 메모리의 데이터 갱신의 일예를 나타내는 도면,
도 10은 본 발명을 적용한 메모리 시스템의 캐시 메모리의 데이터 갱신의 일예를 나타내는 도면,
도 11은 본 발명을 적용한 메모리 시스템의 레지스터 블록에의 설정 방법의 일예를 나타내는 도면,
도 12는 본 발명을 적용한 메모리 시스템의 레지스터 블록에의 설정 방법의 일예를 나타내는 도면,
도 13은 본 발명을 적용한 메모리 시스템의 레지스터 블록에의 설정 방법의 일예를 나타내는 도면,
도 14는 본 발명을 적용한 메모리 시스템의 데이터 판독 동작의 흐름의 일예를 나타내는 플로우 챠트,
도 15는 본 발명을 적용한 메모리 시스템의 데이터 써넣기 동작의 흐름의 일예를 나타내는 플로우 챠트,
도 16은 본 발명을 적용한 메모리 시스템의 데이터 소거 동작의 흐름의 일예를 나타내는 플로우 챠트,
도 17은 본 발명을 적용한 메모리 시스템의 판독 동작의 흐름의 일예를 나타내는 플로우 챠트,
도 18은 본 발명을 적용한 메모리 시스템의 캐시 메모리의 일예를 나타내는 도면,
도 19는 본 발명을 적용한 메모리 시스템의 캐시 록 해제 방법의 일예를 나타내는 도면,
도 20은 본 발명을 적용한 메모리 시스템의 데이터 판독 동작의 흐름의 일예를 나타내는 플로우 챠트,
도 21은 본 발명을 적용한 메모리 시스템의 데이터 판독 동작의 흐름의 일예를 나타내는 플로우 챠트,
도 22는 본 발명을 적용한 메모리 시스템의 구성도면,
도 23은 본 발명을 적용한 메모리 시스템의 구성도면,
도 24는 본 발명을 적용한 메모리 시스템의 구성도면,
도 25는 본 발명을 적용한 메모리 시스템의 구성도면,
도 26은 본 발명에 의한 메모리 시스템의 실장 형태의 일예를 나타내는 도면,
도 27은 본 발명에 의한 메모리 시스템의 실장 형태의 일예를 나타내는 도면,
도 28은 본 발명에 의한 메모리 시스템의 실장 형태의 일예를 나타내는 도면,
도 29는 본 발명에 의한 메모리 시스템의 실장 형태의 일예를 나타내는 도면,
도 30은 본 발명에 의한 메모리 시스템의 실장 형태의 일예를 나타내는 도면,
도 31은 본 발명에 의한 메모리 시스템을 이용한 휴대전화의 구성 예를 나타내는 블록도,
도 32는 본 발명에 의한 메모리 시스템을 이용한 휴대전화의 구성 예를 나타내는 블록도,
도 33은 휴대전화에 이용되고 있는 종래의 메모리 구성 예를 나타내는 블록 도,
< 도면의 주요부분에 대한 부호의 설명 >
CPU _CHIP:정보처리장치, CPU:정보연산장치, MSM: 메모리 모듈, NRC : NOR플래시 콘트롤러(controller), NDC:NAND플래시 콘트롤러(controller), SDC:DRAM콘트롤러(controller), NOR IF:NOR 인터페이스, NAND IF1, NAND_IF2:NAND 인터페이스, SDRAM_IF:SDRAM인터페이스, NRIF:NOR 인터페이스 회로, NDIF:NAND 인터페이스 회로, CT_CHIP:제어회로, REG:레지스터 블록DSTR:어드레스 변환회로, L2Cache:캐시 메모리, PL2A:캐시 메모리, PL2B:캐시 메모리, PREF:프리페치제어회로, PL2Hit:히트 판정회로, L3Hit:히트 판정회로, PRECT:먼저읽기 지시 회로, FLCT:플래시 제어회로, OSC :클록 제어회로, MMG:메모리 어드레스(메모리 어드레스) 관리 회로, ARB:액세스 조정회로, RWCL:제어회로, FLSP:플래시 에러 제어회로, ECC:에러 검출 정정 회로, BUF:버퍼 회로, REF:대체 처리 회로, WLV:기록회수 평균화회로, FLASH_CHIP:플래시 메모리, FCNT:제어회로, DREG:데이터 버퍼(data buffer), MARY:메모리 셀(memory cell) 어레이, DRAM_CHIP:다이내믹 랜덤 액세스 메모리, CLK:클록 신호, Wait: 웨이트 신호, PCMP:초기동작 완료 신호, MSM22: 메모리 모듈, FLASH_CHIP22:플래시 메모리, FCNT22:제어회로, DREGO, 1, 2, 3:데이터 버퍼(data buffer), BANKO, 1, 2, 3:메모리 밴, NAND IF22 :NAND 인터페이스, MSM23: 메모리 모듈, CT_CHlP23:제어회로, FLCTP:플래시 제어회로, L2CacheP, PL2AP, PL2BP:캐시 메모리, MSM24: 메모리 모듈, MSM25: 메모리 모듈, FLCT25:플래시 제어회로, CT_CHIP25:제어회로, HRWCL:제어회로, HDisk:하드 디스크, MAIN:메인 영역, REPAREA:대체 영역, NONCAREA:비캐시 영역, CAREA:캐시 영역, WLVL:기록회수 평균화 처리 영역, NONWLVL:비기록회수 평균화 처리 영역, CALOCK:캐시 록 영역, UNCALOCK:비캐시 록 영역, WPRO:라이트 프로텍션 영역, NONWPRO:비라이트 프로텍션 영역, WPRO :라이트 프로텍션 영역, NONWPRO:비라이트 프로텍션 영역, InitProg:초기프로그램 영역, AREA-A:메인 영역내 영역, AREA-B:메인 영역내 영역, AREA-C:메인 영역내 영역, AREA-D:메인 영역내 영역, RModeReg:판독 모드 설정 레지스터, CAreaReg:캐시 영역설정 레지스터, CaLockReg:캐시 록 영역설정 레지스터, WproReg:라이트 프로텍션 영역설정 레지스터, WlvlReg:기록회수 평균화 처리 영역설정 레지스터, PWON:전원투입 기간, RESET:리셋 기간, InitLoad:초기 로드 기간, AutoLoad:초기 프로그램 전송 기간, IDLE:아이들 기간, NRAD:NOR 인터페이스로부터의 어드레스 신호, Tag2:태그 어드레스, Index2 :인덱스 어드레스, Line2:라인 사이즈, vld:데이터바릿드비트신호, dt:더티비트 신호, lck:캐시 록 비트신호, LRU:캐시 데이터 갱신 순서지정 신호, AddressArray:캐시태그어드레스어레이, DataArray:캐시·데이터 어레이, COMP:비교 회로, SEL:선택 회로, CHIPM1, CHIPM2, CHIP3M, CHIP4M:반도체 칩, PCB:프린트 회로기판, COVER:모듈의 밀봉 커버, PATH1 ∼PATH5:본딩 배선, ANT:안테나, RF:무선 블록, BB:베이스 밴드 블록, SP:음성 코덱 블록, SK:스피커, MK:마이크로폰, CPU:프로세서, DRAM :다이내믹 랜덤 액세스 메모리, LCD:액정표시부, KEY:키보드, MSM: 메모리 모듈, SLP:프로세서CPU와 메모리 모듈(MSM)과, 다이내믹 랜덤 액세스 메모리DRAM을 1개의 밀봉체에 집적한 모듈, PRC:정보처리장치, MCM: 메모리 모듈, CPU ·중앙연산장치, SRC:메모리 콘트롤러(controller), NOR FLASH:NOR형 플래시 메모리, SRAM:스태틱 랜덤 액세스 메모리.
본 발명은, 불휘발성 메모리를 포함하는 메모리 시스템 및 메모리 시스템의 제어 방법에 관한 것이다.
종래, 플래시 메모리(32M bit용량)과 스태틱 랜덤 액세스 메모리(NOR(4M bit용량))이가 스태그(stack) 칩에서 FBGA(Fine pitchBall GridArray)형 패키지에 일체 밀봉된 복합형 반도체 메모리가 있다. 플래시 메모리와 NOR와는, FBGA형 패키지의 입출력 전극에 대하여 어드레스 입력 단자와 데이터 입출력 단자가 공통화되어 있다. 단지 각각의 제어 단자는 각각 독립으로 되어 있다 (예컨대, 비특허문헌1참조. ).
또한, 플래시 메모리 칩과 DRAM칩이 리드 프레임형 패키지에 일체 밀봉 된 복합형 반도체 메모리도 있다. 이 복합형 반도체 메모리는 플래시 메모리와 DRAM과는 패키지의 입출력 전극에 대하여 어드레스 입력 단자, 데이터 입출력 단자,및 제어 단자가 공통화되어서 입출력된다 (예컨대, 특허문헌1의 도1 및 도15, 특허문헌2참조. ).
또한, 주기억장치로서 취급되는 플래시 메모리와 캐시 메모리와 콘트롤러(controller)와 CPU로 구성되는 시스템도 있다 (예컨대, 특허문헌3의 도1참조. ).
또한, 플래시 메모리와 DRAM과 전송 제어회로로 이루어지는 반도체 메모리도 있다 (예컨대, 특허문헌4의 도2, 특허문헌5참조. ).
[비특허문헌1]"복합 메모리(스태그드(stacked)CSP)플래시 메모리+RAM data sheet”, 형명LRS1380, [online], 평성13년 12월10일, 샤프 주식회사, [평성14년 8월21일 검색], 인터넷 <URL:http 2//www. sharp.co.jp/products/device/flash/cml ist. html >
[특허문헌1]특개평05-299616호 공보
[특허문헌2]유럽특허출원 공개 제0566306호 명세서
[특허문헌3]특개평07-146820호 공보
[특허문헌4]특개2001-5723호 공보
[특허문헌5]특개2002-366429호 공보
본원발명자 등은, 본원에 앞서 휴대전화 및 그것에 사용되는 프로세서와, 플 래시 메모리와, 랜덤 액세스 메모리로 구성된 메모리 시스템과 그 동작에 대해서 검토를 하였다.
도33에 도시한 바와 같이, 휴대전화에는 정보처리장치(PRC)와 메모리 모듈( MCM)이 사용되어 있다.
정보처리장치(PRC)는 중앙연산장치(CPU)와 SRAM콘트롤러(controller)로 구성된다. 메모리 모듈(MCM)은 NOR형 플래시 메모리(NOR FLASH)와 SRAM으로 구성된다. 정보처리장치(PRC)는 메모리 모듈(MCM)에 액세스를 하고, 데이터의 판독 및 기록을 한다.
전원 투입후, 정보처리장치(PRC)는, NOR형 플래시 메모리(NOR FLASH)에 격납되어 있는 부트(boot) 데이터를 판독하고, 스스로를 일으킨다. 그 후, 정보처리장치(PRC)는 NOR형 플래시 메모리(NOR FLASH)로부터 필요에 따라서 애플리케이션 프로그램을 판독하고, 중앙연산장치(CPU)에서 실행한다. SRAM 은 워크 메모리로서 기능하고, 중앙연산장치(CPU)에서의 연산 결과등이 보존된다.
최근, 휴대전화가 취급하는 애플리케이션, 데이터, 워크 에어리어(work 에어리어(AREA))는 휴대전화에 부가되는 기능(음악이나 게임 등 배신 등)이 불어남에 따라서 커지고, 보다 큰 기억 용량의 플래시 메모리 및 랜덤 액세스 메모리가 필요하다고 예상된다. 더욱이 최근의 휴대전화는 고기능화가 놀랍고, 고속 또한 대용량 메모리의 수요가 높아지고 있다.
현재, 휴대전화에 이용되고 있는 NOR형 플래시 메모리는, NOR구성이라고 불리우는 메모리 어레이 방식을 이용한 NOR형 플래시 메모리이다. NOR 형은, 메모리 셀(memory cell) 어레이의 기생 저항을 작게 억제한 어레이 구성이며, 병렬 접속한 메모리 셀(memory cell)2개에 대해서 1개의 비율로 메탈 비트 선 콘태그트를 실장함으로써 저저항화를 꾀하고 있다. 이것 때문에, 판독 시간은 약80ns로 NOR의 판독 시간과 거의 동등하게 할 수가 있다. 그러나, 그 반면, 셀2개에 대해서 1개의 콘태그트를 실장하는 필요가 있기 때문에, 콘태그트부의 칩 면적에 차지하는 비율이 높고, 1 비트의 메모리 셀(memory cell)당의 면적이 커져서, 대용량화에는 대응할 수 없다고 하는 과제가 있다.
또한, 대표적인 대용량 플래시 메모리에는, 메모리 어레이에 AND구성을 이용하고 있는 AND형 플래시 메모리와 NAND 구성을 이용하고 있는 NAND형 플래시 메모리가 있다. 이것들의 플래시 메모리는, 16∼128개의 셀에 대하여 1개의 비트선 콘태그트를 실장하기 때문에, 고밀도의 메모리 어레이를 실현할 수 있다. 따라서, 1비트의 메모리 셀(memory cell)당의 면적을 NOR형 플래시 메모리보다 작게 할 수 있고, 대용량화에 대응할 수 있다. 그러나, 그 반면, 최초의 데이터를 출력할때까지의 판독 시간이, 약25μs로부터 100μs로 늦고, NOR형 플래시 메모리와의 정합성을 취할 수 없다는 것이 판명되었다.
플래시 메모리는 기록을 반복함으로써, 신뢰성이 저하하고, 기록시에 기록한 데이터가, 판독 시에는 다른 데이터가 되거나, 고쳐 쓸 때에 데이터가 기록되지 않거나 하는 것이 드물게 있는 것이 판명되었다.
또한, 반도체 밀봉재중의 우라늄등의 방사성물질로부터 방출되는 α선이 랜덤 액세스 메모리 RAM의 메모리 어레이에 입사함으로써, 이 메모리 어레이에 유지 되어 있는 기억 데이터가 파괴되는 일이 드물게 있고, 랜덤 액세스 메모리RAM의 신뢰성을 열화시키는 요인으로 되어 있는 것이 판명되었다.
그래서, 본 발명의 목적의 하나는, 기억 용량이 크고 또한 저코스트이며, 사용하기 좋은 ROM과 RAM을 포함하는 메모리 시스템을 제공하는 것이다.
본 발명의 대표적인 수단을 나타내면 아래와 같다. 정보처리 장치와, 플래시 메모리와, 캐시 메모리와, 메모리 콘트롤러(memory controller)를 하나의 밀봉체에 실장하고, 밀봉체에 반도체 칩과의 배선을 하기 위한 전극과, 밀봉체와 밀봉체외부와의 접속을 하기 위한 전극을 실장한다.
이 때에, 정보처리 장치로부터의 플래시 메모리내의 데이터의 판독 요구에 대한 판독 시간을 고속화하기 위해서, 캐시 메모리와 플래시메모리에 메모리콘트롤러를 접속하고, 메모리 콘트롤러에 의해 플래시 메모리로부터 캐시메모리에데이터전송을 한다.
전원투입후는, 플래시 메모리의 데이터의 적어도 일부를 캐시 메모리에 전송하는 제어를 하면 좋다.
정보처리 장치로부터 입력한 어드레스를 캐시 메모리의 인덱스어드레스에 분산되도록 제어하면 좋다.
상기 메모리 콘트롤러는 미리, 정보처치 장치가 이용하는 데이터를 캐시메모리에전송하도록 제어하면 좋다.
또한, 플래시 메모리내의 버퍼를 캐시 메모리로서 이용하면 좋다.
상기 메모리 콘트롤러는 플래시 메모리로부터 데이터를 판독시는, 에러 검출과 정정을 하고, 기록시는, 기록이 정확하게 행하여지지 않은 불량 어드레스에 대하여 대체 처리를 하면 좋다. 또한, 플래시 메모리내의 메모리셀에의 기록 회수를 평균화하는 제어를 하면 좋다. 더욱이, 캐시 메모리로부터 데이터도 판독한 후 에러 검출을 하면 좋다.
정보처리 장치가 요구한 데이터의 도착을 알 수 있는 신호선을 실장하면 좋다.
상기 메모리 콘트롤러는, 캐시 메모리로부터 데이터를 판독하고 있는 사이에서도, 상기 정보처치 장치로부터 플래시메모리에의 판독 및 기록의 액세스를 접수하고, 데이터의 판독 및 기록이 행하여지도록 같이 제어해도 좋다.
이하, 본 발명의 실시예에 대해서 첨부 도면을 참조하면서 상세히 설명한다.
실시예에 있어서 각 블록 을 구성하는 회로소자는, 특별히 제한되지 않지만, 공지의 CMOS(상보형 MOS트랜지스터)등의 집적회로기술에 의해, 단결창 실리콘과 같은 1개의 반도체기판위로 형성된다.
[실시예 1]
도 1은 본 발명을 적용한 제1의 실시예인 정보처리장치(CPU_CHIP)와 메모리 모듈(MSM)으로 구성되는 메모리 시스템을 나타낸 것이다. 이하에 각각에 대해서 설 명한다.
메모리 모듈(MSM)은 FLASH_CHIP와 CT_CHIP로 구성된다. FLASH_CHIP는 불휘발성 메모리이다. 불휘발성 메모리에는 ROM(read-only memory), EEPROM(electrically erasable and programmable ROM), 플래시 메모리 등을 이용할 수 있다. 본 실시예에서는 플래시 메모리를 예로 설명한다.
대표적인 대용량 플래시 메모리에는, 메모리 어레이에 AND구성을 이용하고 있는 AND형 플래시 메모리와 NAND 구성을 이용하고 있는 NAND형 플래시 메모리가 있고, 본 발명에는 쌍방의 플래시 메모리를 이용할 수가 있다. 또한, NAND 인터페이스를 장비하고 있는 대용량 플래시 메모리와, AND 인터페이스를 장비하고 있는 대용량 플래시 메모리가 있고, 본 발명에는 쌍방의 플래시 메모리를 이용할 수가 있다. 본 실시예에서는 NAND 인터페이스를 장비하고 있는 대용량 플래시 메모리를 예로 설명한다.
특별히 한정하지 않지만, FLASH_CHIP 로서 이용할 수 있는 전형적인 플래시 메모리는 NAND 인터페이스를 장비하고 있는 대용량 플래시 메모리이며, 약 2Gbit의 큰 기억 용량을 가지며, 판독 시간(판독 요구로부터 데이터가 출력될때 까지의 시간)은 약 25μs로부터 100μs로 비교적 느리다.
DRAM_CHIP 은 다이내믹 랜덤 액세스 메모리에서 내부 구성이나 인터페이스의 다름 때문에, EDO(Extended Data Out), SDRAM(Synchronous DRAM), DDR(Double Data Rate)등 여러가지 종류가 있다. 메모리 모듈(MSM)에는 어느쪽의 DRAM에서도 이용할 수 있다. 본 실시예에서는 SDRAM을 예로 설명한다. 다이내믹 랜덤 액세스 메모 리(DRAM_CHIP)는 정보처리장치(CPU_CHIP)에서 애플리케이션 프로그램을 실행하기 위해서 일시적인 워크 메모리로서 이용된다.
특별히 한정하지 않지만, DRAM_CHIP 로서 이용할 수 있는 전형적인 SDRAM은 약 256 Mbit의 큰 기억 용량을 가지고 있다.
제어회로(CT_CHIP)는, FLASH_CHIP와 정보처리장치(CPU_CHIP)와의 데이터 전송을 제어하는 제어회로이며, 특별히 한정하지 않지만 기억 용량이 1M 바이트인 캐시 메모리 L2 캐시를 내장하고 있으며, 판독 시간은 30ns로부터 90ns정도이며, 종래의 NOR형 플래시보다 단시간 혹은 동등하다.
캐시 메모리(L2Cache)는, 불휘발성 메모리인 마그네틱 랜덤 액세스 메모리(MRAM )및 상변화 메모리PRAM이나, 휘발성 메모리인 스태틱 랜덤 액세스 메모리(SRAM)에서 실현되고, 메모리 모듈(MSM)에는 어느쪽의 랜덤 액세스 메모리에서도 이용할 수 있다. 본 실시예에서는, 캐시 메모리 L2Cache에 휘발성 메모리인 스태틱 랜덤 액세스 메모리(SRAM)을 이용한 예로 설명한다.
플래시 메모리(FLASH_CHIP)와 제어회로(CT_CHIP) 사이의 데이터 전송은 NAND 인터페이스NAND IF2에서 행하여지고, 정보처리장치(CPU_CHIP)와 다이너믹랜덤액세스메모리DRAM_CHIP과의 데이터 전송은 SDRAM인터페이스SDRAM IF에서 행하여진다.
정보처리장치(CPU_CHIP)는 중앙연산장치(CPU)와, NOR플래시 콘트롤러(contro -ller)NRC과, NAND플래시 콘트롤러(controller)NDC와, DRAM콘트롤러(controller) S -DC 로 구성된다.
NOR 콘트롤러(controller)NRC는 NOR 인터페이스에서 메모리 모듈(MSM)에 액 세스를 하고, 데이터의 판독을 한다. DRAM 콘트롤러(controller)SDC는 SDRAM인터페이스(SDRAM IF)에서 DRAM_CHIP에 액세스를 하여 데이터의 판독을 한다.
NAND 플래시 콘트롤러(controller)NDC은, NAND 인터페이스(NAND IF1)에서 메모리 모듈(MSM)에 액세스를 하고, 데이터의 판독을 한다.
플래시 메모리(FLASH_CHIP)는, 제어회로(FCNT)와, 데이터 버퍼(data buffer) DREG와, 메모리 셀(memory cell) 어레이MARY로 구성된다. 제어회로(FCNT)는, 제어회로(CT_CHIP)의 NAND 인터페이스NAND IF2로부터의 판독 및 기록 명령에 의해 동작하는 회로이다.
판독 요구가 제어회로(FCNT)에 입력되면, 메모리 셀(memory cell) 어레이MARY로부터 데이터 버퍼(data buffer)DREG에, 특별히 한정하지 않지만, 데이터 사이즈가 2KB 정도의 데이터가 전송되어, NAND 인터페이스NAND IF2로부터 제어회로(CT_CHIP)에 전송된다.
또한, 데이터 버퍼(data buffer)DREG에 전송된 데이터는 그대로 유지된다.
기록 요구 및 기록 데이터가 제어회로(FCNT)에 입력되면, 특별히 한정하지 않지만, 데이터 사이즈가 2KB 정도의 데이터가 데이터 버퍼(data buffer)DREG에 입력되어, 최종적으로 메모리 셀(memory cell) 어레이MARY에 기록된다. 또한, 데이터 버퍼(data buffer)DREG에 입력된 데이터는 그대로 유지된다.
플래시 메모리(FLASH_CHIP)는, 특별히 제한은 없지만, 메인 데이터 영역과 대체 영역REP에어리어(AREA)로 나뉘어져 있다.
메인 데이터 영역에는 초기 프로그램 영역이 포함되고 있으며, 초기 프로그 램 영역내에는, 전원투입 직후에, 정보처리장치(CPU_CHIP)을 일으키기 위한 부트 프로그램(boot program)과, 플래시 메모리(FLASH_CHIP)로부터 캐시 메모리(L2Cache)에 자동 전송하기 위한 캐시 영역내의 데이터 범위를 나타내는 자동전송 영역지정 데이터가 격납되어져 있다.
<제어회로(CT_CHIP)의 구성>
제어회로(CT_CHIP)는, NOR 인터페이스(NOR IF)부터의 판독 및 기록 요구를 받는 NOR 인터페이스 회로(NRIF), NAND 인터페이스(NAND IF)부터의 판독 및 기록 요구를 받는 NAND 인터페이스 회로(NDIF), 레지스터 블록(REG), 어드레스 변환회로(DSTR), 캐시 메모리L2 Cache, PL2A, PL2B, 프리페치 제어회로(PREF), 플래시 제어회로(FLCT), 버퍼 회로(BFBK), 플래시 에러 제어회로(FLSP)로 구성된다.
캐시 메모리(L2Cache)는, 특별히 한정하지 않지만, 1M 바이트 정도의 용량을 가진다.
또한, 캐시 메모리PL2A 및 PL2B은, 특별히 한정하지 않지만, 각각 512바이트의 용량을 가진다.
프리페치 제어회로(PREF)는, 히트 판정회로PL2Hit, L3Hit, 앞서읽기 제어회로로 구성된다. 버퍼 회로(BFBK)은, 리드 버퍼(RBUF), 기록 버퍼(WBUF)로 구성된다.
플래시 제어회로(FLCT)는, 클록 제어회로(OSC), 메모리 어드레스 관리회로MMG, 액세스 조정회로(ARB), 제어회로(RWCL)로 구성된다.
플래시 에러 제어회로(FLSP)는, 에러검출 정정회로(ECC), 버퍼 회로(BUF), 대체 처리회로(REP), 기록회수 평균화회로(WLV)로 구성된다.
이하에 본 메모리 시스템의 동작을 설명한다. 우선, 전원투입 직후의 동작에 대해서 설명한다.
<전원투입 직후의 동작 설명>
정보처리장치(CPU_CHIP), 다이내믹랜덤 액세스 메모리(DRAM_CHIP), 제어회로(CT_CHIP) 및 플래시 메모리(FLASH_CHIP)에 전원투입을 하면, 플래시 제어회로(FLCT)는, FLASH_CHIP의 초기 프로그램 영역의 데이터를 버퍼 회로(BUF)에 판독하고, 에러검출 정정회로(ECC)에서, 에러가 있는지 아닌지를 체크한다. 에러가 없으면, 초기 프로그램 영역내의 부트 프로그램(boot program)을 캐시 메모리PL2A에 전송하고, 에러가 있으면 정정을 하고, 초기 프로그램 영역내의 부트 프로그램(boot program)을 캐시 메모리PL2A에 전송한다. 이와 같이, 전원투입 직후에 부트 프로그램(boot program)을 FLASH_CHIP로부터 캐시 메모리PL2A에 자동 전송함으로써, 정보처리장치(CPU_CHIP)는 이 부트 프로그램(boot program)을 판독하고, 재빠르게 스스로를 일으키고, 더욱 다이내믹 랜덤 액세스 메모리(DRAM_CHIP)의 초기 설정을 할 수 있다.
정보처리장치(CPU_CHIP)가 일으키기를 하고 있는 사이에 플래시 제어회로(FLCT)는 자동전송 영역지정 데이터를 버퍼 회로(BUF)보다 판독하고, 이 데이터에 나타내져 있는 범위의 플래시 메모리(FLASH_CHIP)내의 데이터를 버퍼 회로(BUF)에 순차로 판독하여, 에러검출 정정회로(ECC)에서 에러가 있는지 아닌지를 체크한다. 에러가 없으면, 캐시 메모리(PL2B)를 경유하여 캐시 메모리(L2Cache)에 전송하 고, 에러가 있으면 정정을 하고, 캐시 메모리(PL2B)를 경유하여, 캐시 메모리(L2Cache)에 전송한다. 이 자동 데이터 전송이 종료한 시점에서, 메모리 모듈(MSM)은, 일련의 초기동작이 종료한 것을 나타내는 초기동작 완료신호(PCMP)을 High로 한다.
또한, 액세스 조정회로(ARB)는, 레지스터 블록(REG)에 대하여 데이터 전송의 완료를 나타내는 전송 완료 flag을 기록 구성으로 하여도 좋다. 이 경우, 초기동작 완료신호(PCMP)는 필요 없기 때문에 신호 핀을 줄일 수 있다.
정보처리장치(CPU_CHIP)는, 메모리 모듈(MSM)의 초기동작 완료신호(PCMP)를 체크함으로써 전원투입 직후의 데이터 전송이 완료한 것을 알 수 있기 때문에, 곧 캐시 메모리(L2Cahce) 액세스할 수가 있다.
이와 같이, 전원투입 직후에 부트 프로그램(boot program)을 FLASH_CHIP로부터 캐시 메모리(L2Cache)에 자동 전송함으로써, 정보처리장치(CPU_CHIP)는, 이 boot 데이터를 판독하고, 재빠르게 스스로를 상승시킬 수가 있다. 더욱이, 정보처리장치(CPU_CHIP)가 일으키기를 하고 있는 사이에, FLASH_CHIP의 데이터를 캐시 메모리(L2Cache)에 자동전송함으로써, 정보처리장치(CPU_CHIP)가 일어선 시점에서, 곧 메모리 모듈(MSM)에 액세스할 수가 있기 때문에 고성능화를 꾀할 수 있다.
<레지스터 블록의 설명>
다음에, 레지스터 블록(REG)에 대해서 설명한다. 레지스터 블록(REG)에는, 특별히 한정하지 않지만, 판독모드 설정 레지스터(RModeReg), 캐시 영역설정레지스터C에어리어(AREA)Reg, 캐시 록 영역 설정레지스터(CaLockReg), 라이트 프로텍션 영역설정 레지스터(WproReg), 기록회수 평균화 처리 영역설정 레지스터(WlvlReg)이 있다.
캐시 영역 및 비캐시 영역을 변경할 경우는, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터 캐시 영역설정 레지스터C에어리어(AREA)Reg의 값을 고쳐씀으로써 캐시 영역 및 비캐시 영역을 변경할 수가 있다. 특별히 한정하지 않지만, 전원투입 직후에는, 플래시 메모리(FLASH_CHIP)의 전 영역이 캐시 영역으로 되어 있다.
캐시 영역내 데이터는 캐시 메모리(L2Cache), PL2A, PL2B에 전송되고, 비캐시 영역내 데이터는 캐시 메모리(L2Cache), PL2A, PL2B에 전송되지 않는다.
캐시 록 영역, 비캐시 록 영역을 변경할 경우는, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터 캐시 영역설정 레지스터C에어리어(AREA)Reg의 값을 고쳐씀으로써 캐시 록 영역, 비캐시 록 영역을 변경할 수가 있다. 특별히 한정하지 않지만, 전원투입 직후에는, 플래시 메모리(FLASH_CHIP)의 전 영역이 비캐시 록 영역이 되어 있다.
캐시 록 영역내의 데이터는, 일단 캐시 메모리(L2Cache)에 전송되면, 캐시 록 해제 명령에 의해 캐시 영역설정레지스터가 고쳐 쓸때까지, 캐시 메모리(L2Cache)에 존 할 수가 있다. 또한, 비캐시 록 영역내 데이터는, 캐시 메모리(L2Cache)로부터 추출될 가능성이 있다.
기록회수 평균화 처리 영역, 비기록회수 평균화 처리 영역을 변경할 경우는, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터 기록회수 평균화 처리 영 역설정 레지스터(WlvlReg)의 값을 고쳐씀으로써 기록회수 평균화 처리 영역, 비기록회수 평균화 처리 영역을 변경할 수가 있다. 특별히 한정하지 않지만, 전원투입 직후에는, 플래시 메모리(FLASH_CHIP)의 절반의 영역이 기록회수 평균화 처리 영역으로 되어 있다.
기록회수 평균화 처리 영역내 데이터에는, 기록회수 평균화회로(WLV)가, 고쳐 쓰기가 집중하고 있었다고 판단했을 경우는, 기록회수 평균화 처리가 행하여진다.
비기록회수 평균화 처리 영역내 데이터에는 기록회수 평균화 처리가 행하여지지 않는다.
라이트 프로텍션 영역, 비라이트 프로텍션 영역을 변경할 경우는, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터 라이트 프로텍션 영역설정 레지스터(WproReg)의 값을 고쳐씀으로써 라이트 프로텍션 영역, 비라이트 프로텍션 영역을 변경할 수가 있다. 특별히 한정하지 않지만, 전원투입 직후에는, 플래시 메모리(FLASH_CHIP)의 전 영역이 비라이트 프로텍션 영역으로 되어 있다.
라이트 프로텍션 영역에는 기록이 행하여지지 않고, 비라이트 프로텍션 영역에는, 기록이 가능하다.
메모리 모듈(MSM)이 장비하는 NOR 인터페이스는, 클록 신호(CLK)에 동기해서 동작하는 동기형 NOR 인터페이스와, 클록 신호(CLK)에는 동기하지 않는 비동기형 NOR 인터페이스이며, 어느쪽인가의 NOR 인터페이스에서 동작한다. 특별히 한정하지 않지만, 메모리 모듈(MSM)은, 전원투입 직후에는 비동기NOR 인터페이스에서 동작 한다.
어드레스 변환회로(DSTR)는, 특별히 한정하지 않지만, 복수의 어드레스 변환 방식(간이 인덱스 변환 방식, 인덱스 비트 시프트 변환 방식, 인덱스 연산 방식)을 실현할수 있고, 어느쪽인가의 어드레스 변환 방식으로 동작한다. 특별히 한정하지 않지만 전원투입 직후에는, 어드레스 변환회로(DSTR)는 인덱스 연산 방식으로 동작한다.
특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터 판독모드 설정 레지스터(RModeReg)의 값을 고쳐씀으로써 메모리 모듈(MSM)이 장비하는 NOR 인터페이스나 어드레스 변환 방식을 변경할 수가 있다.
이상 설명한 것과 같이, 동기형 NOR 인터페이스나 비동기형 NOR 인터페이스, 어드레스 변환 방식, 캐시 영역 및 비캐시 영역, 캐시 록 영역 및 비캐시 록 영역, 기록회수 평균화 처리 영역 및 비기록회수 평균화 처리 영역, 라이트 프로텍션 영역 및 비라이트 프로텍션 영역은, 각각 독립으로 설정할 수가 있고, 시스템에 맞추어서 이용자측에서 자유롭게 선택할 수 있다.
<통상 동작의 설명>
전원투입시의 power on 시퀸스가 종료한 후의 플래시 메모리(FLASH_CHIP)와 정보처리장치(CPU_CHIP)사이의 데이터 전송에 대해서 설명한다.
우선, 정보처리장치(CPU_CHIP)가 NOR 인터페이스(NOR IF)로부터 판독 요구를 입력했을 경우의 동작에 대해서 설명한다.
정보처리장치(CPU_CHIP)가 NOR 인터페이스(NOR IF)로부터 판독 명령 및 어드 레스RADD를 제어회로(CT_CHIP)에 입력하면, 제어회로(CT_CHIP)내의 NOR 인터페이스 회로(NRIF)는, 이것들의 판독 명령 및 어드레스를 유지한다.
NOR 인터페이스 회로(NRIF)에 유지된 판독 명령 및 어드레스RADD는 메모리 어드레스 관리회로(MMG), 액세스 조정회로(ARB) 및 어드레스 변환회로(DSTR)에 입력된다.
메모리 어드레스 관리회로(MMG)은 레지스터 블록(REG)에 유지되어 있는 캐시 영역을 나타내는 어드레스 정보와 어드레스RADD를 비교한다.
어드레스RADD가 캐시 영역의 범위외이면, 캐시 영역범위외 정보가 메모리 어드레스 관리회로(MMG)으로부터 NOR 인터페이스 회로(NRIF)를 통해서 NOR 인터페이스(NOR IF)로부터 정보처리장치(CPU_CHIP)에 통달된다.
액세스 조정회로는, NOR 인터페이스 회로(NRIF)로부터 입력된 판독 요구와, NAND 인터페이스 회로(NDIF)로부터의 판독이나 기록 요구와의 조정을 한다.
우선, 액세스 조정회로에 NOR 인터페이스 회로(NRIF)로부터 판독 요구가 입력되면, 액세스 조정회로는, NAND 인터페이스 회로(NDIF)로부터의 판독이나 기록 요구가 있는지 아닌지, 더욱이, NAND 인터페이스 회로(NDIF)로부터의 판독이나 기록 요구에 대한 동작을 하고 있는지를 체크한다.
NAND 인터페이스 회로(NDIF)로부터의 판독이나 기록 요구가 있어, 이 요구에 대한 동작이 아직 행하여지지 않고 있을 경우는, NAND 인터페이스 회로(NDIF)로부터의 판독이나 기록 요구를 뒤로 미루고, NOR 인터페이스 회로(NRIF)로부터의 판독 요구를 우선적으로 허가한다.
NAND 인터페이스 회로(NDIF)로부터의 판독이나 기록 요구에 대한 동작이 실행중의 경우는, 이 실행중의 동작을 일단 중단하고, NOR 인터페이스 회로(NRIF)로부터의 판독 요구를 우선적으로 허가한다.
액세스 조정회로에 NAND 인터페이스 회로(NDIF)로부터 판독 및 기록 요구가 입력되면, 액세스 조정회로는, NOR 인터페이스 회로(NRIF)로부터의 판독이나 기록 요구가 있는지 없는지, 더욱이, NOR 인터페이스 회로(NRIF)로부터의 판독이나 기록 요구에 대한 동작을 행하고 있는지 아닌지를 체크한다.
NOR 인터페이스 회로(NRIF)로부터의 판독이나 기록 요구에 대한 동작이 실행중의 경우는, 이 동작이 완료한 후에, NAND 인터페이스 회로(NDIF)로부터의 판독 및 기록 요구를 허가한다.
NOR 인터페이스 회로(NRIF)로부터의 판독이나 기록 요구가 없고, 이 요구에 대한 동작이 행하여지지 않고 있는 경우는, NAND 인터페이스 회로(NDIF)로부터 판독 및 기록 요구를 허가한다.
어드레스 변환회로는, 캐시 메모리(L2Cache), PL2A,PL2B의 이용율이나 히트율을 높일 목적으로, 어드레스RADD를 어드레스 MRADD로 변환한다.
어드레스 변환회로에 의해 변환된 어드레스 MRADD는, 캐시 메모리(L2Cache) 및 프리페치 제어회로(PREF)에 입력된다.
캐시 메모리(L2Cache)에서는, 우선, 어드레스 MRADD에서 지정된 데이터가 캐시 메모리(L2Cache)내에 존재하는지 아닌지의 히트 판정을 한다. 어드레스 MRADD에서 지정된 데이터가 캐시 메모리(L2Cache)내에 존재했을 경우는 L2Cache히트가 되 고, 존재하지 않을 경우는 L2Cache미스가 된다.
프리페치 제어회로(PREF)내의 히트 판정회로PL2Hit에서는, 어드레스 MRADD에서 지정된 데이터가 캐시 메모리PLA2 및 PL2B의 어느것인가에 존재할 것인가 아닌가의 히트 판정을 한다.
어드레스 MRADD에서 지정된 데이터가 캐시 메모리PL2A 및 PL2B의 어느것인가에 존재했을 경우는 PL2히트가 되고, 존재하지 않을 경우는 PL2미스가 된다.
또한, 프리페치 제어회로(PREF)내의 히트 판정회로L3Hit에서는, 어드레스 MRADD에서 지정된 데이터가 플래시 메모리(FLASH_CHIP)내의 데이터 레지스터(DREG)에 존재하는지아닌지의 히트 판정을 한다.
어드레스 MRADD에서 지정된 데이터가 플래시 메모리(FLASH_CHIP)내의 데이터 레지스터(DREG)에 존재했을 경우는 L3히트가 되고, 존재하지 않을 경우는 L3미스가 된다.
<L2Cache히트의 동작 설명>
L2Cache 히트의 경우는, 직접 캐시 메모리(L2Cache)로부터 데이터가 출력되고, NOR 인터페이스 회로(NRIF)를 통해서 NOR 인터페이스(NOR IF)로부터 정보처리장치(CPU_CHIP)에 출력된다.
대기(wait) 신호가 Low가 되면 정보처리장치(CPU_CHIP)는, 요구한 데이터가 도착 한 것을 알고, 이 요구 데이터를 받아들인다.
즉 L2Cache히트 경우는, 플래시 메모리(FLASH_CHIP)로부터캐시 메모리(L2Cache)에의 데이터 전송을 할 필요가 없고, 직접 캐시 메모리(L2Cache)로부터 데이터를 판독할 수 있고, 데이터 전송을 고속으로 할 수 있다.
<PL2히트의 동작 설명>
L2Cache 미스에서, PL2히트의 경우는, 직접 캐시 메모리PL2A 및 PL2B의 어느쪽인가로부터 데이터가 출력되어, NOR 인터페이스 회로(NRIF)를 통해서 NOR 인터페이스(NOR IF)로부터 정보처리장치(CPU_CHIP)에 출력된다. 이때의 판독 시간은 L2Cache로부터의 판독 시간과 동등하게 된다.
즉, PL2히트의 경우는, 플래시 메모리(FLASH_CHIP)로부터 캐시 메모리PL2A 및 PL2B에의 데이터 전송을 할 필요가 없고, 직접 캐시 메모리PL2A 혹은 PL2B로부터 데이터를 판독할 수 있고, 데이터 전송을 고속으로 할 수 있다.
이와 같이, 캐시 메모리(L2Cache), PL2A 및 PL2B에 히트했을 경우는, 캐시 메모리(L2Cache), PL2A, PL2B으로부터 직접 데이터를 출력할 수 있고, 정보처리장치(CPU_CHIP)와 메모리 모듈(MSM)사이의 데이터 전송을 고속으로 할 수 있다.
<L2Cache미스, PL2미스, L3히트의 동작 설명>
다음에, L2Cache미스에서, PL2미스 또한 L3히트의 경우의 데이터 전송에 대해서 설명한다.
L2Cache 미스에서, PL2미스 또한 L3히트의 경우는 우선, 액세스 조정회로에서 NOR 인터페이스 회로(NRIF)로부터의 판독 요구가 허가되면, 제어회로(RWCL)가 제어회로(FCNT)에, N페이지째 데이터의 판독 요구를 입력하고, 데이터 레지스터(DREG)내의 N페이지째 데이터를 버퍼 회로(BUF)에 전송한다.
데이터 레지스터(DREG)내의 N페이지째 데이터를 버퍼 회로(BUF)에 전송하고 있는 시간을 이용하여, 현재, 캐시 메모리PL2A 및 PL2B에 유지되어 있는 데이터를 캐시 메모리(L2Cache)에 전송하고, 캐시 메모리(L2Cache)를 갱신한다.
버퍼 회로(BUF)에 전송된 N페이지째 데이터는 에러검출 정정회로(ECC)에서, 에러 검출이 행하여진다. 버퍼 회로(BUF)에 전송된 N페이지째 데이터에 에러가 없으면, 이 N페이지째 데이터는 제어회로(RWCL)에 의해 캐시 메모리PL2A에 전송되고, 에러가 있으면 에러검출 정정회로(ECC)에서 에러 정정을 한 후, N페이지째 데이터는 제어회로(RWCL)에 의해 캐시 메모리PL2A에 전송된다. 캐시 메모리PL2A에 전송된 N페이지째 데이터 중의 정보처리장치(CPU_CHIP)에 요구된 데이터는 NOR 인터페이스 회로(NRIF)를 통해서 NOR 인터페이스(NOR IF)로부터 정보처리장치(CPU_CHIP)로 출력된다.
특별히 한정하지 않지만, 데이터가 출력될때 까지는 Wait신호는 High가 되고, 정보처리장치(CPU_CHIP)는 데이터의 도착을 기다린다. Wait 신호가 Low가 되면 정보처리장치(CPU_CHIP)는, 요구한 데이터가 도착한 것을 알고, 이 요구 데이터를 받아들인다.
더욱이, 먼저읽기 지시회로(PRECT)가 제어회로(RWCL)에 데이터의 먼저 읽기를 지시하고, 제어회로(RWCL)가 제어회로(FCNT)에 판독 요구를 입력하고, 데이터 레지스터(DREG)내의 다음 페이지째의 데이터, 즉 N+1번째의 데이터를 버퍼 회로(BUF)에 전송한다.
버퍼 회로(BUF)에 전송된 N+1페이지째 데이터는 에러검출 정정회로(ECC)에서, 특별히 한정하지 않지만 512B 마다 에러 검출을 한다. 버퍼 회로(BUF)에 전송 된 N+1페이지째 데이터에 에러가 없으면, 이 N+1페이지째 데이터는 제어회로(RWCL)에 의해 캐시 메모리PL2A에 전송되고, 에러가 있으면 에러검출 정정회로(ECC)에서 에러 정정을 한 후, N+1페이지째 데이터는 제어회로(RWCL)에 의해 캐시 메모리(PL2B)에 전송된다. 플래시 메모리(FLASH_CHIP)의 데이터 레지스터(DREG)에 히트한 경우는, 메모리 셀(memory cell) 어레이MARY로부터 데이터 레지스터(DREG)에의 데이터 전송을 할 필요가 없고, 직접 데이터 레지스터(DREG)으로부터 데이터를 판독할 수 있고, 데이터를 고속에 전송 할 수가 있다.
이와 같이, 플래시 메모리(FLASH_CHIP)의 데이터 레지스터(DREG)을 캐시 메모리로서 이용함으로써 캐시 메모리의 용량을 실효적으로 늘리는 것으로 히트율을 향상할 수 있고, 정보처리장치(CPU_CHIP)와 메모리 모듈(MSM)사이의 데이터 전송을 고속으로 할 수 있다.
더욱이, 데이터의 먼저읽기 기능에 의해, 정보처리장치(CPU_CHIP)가 요구한 데이터의, 다음 페이지째의 데이터를 미리 캐시 메모리(PL2B)에 전송함으로써, 히트율을 향상시킬 수 있어 데이터 전송을 고속화할 수 있다.
<L2Cache미스, PL2미스, L3미스의 동작 설명>
L2Cache 미스에서, PL2미스 또한 L3미스가 생겼을 경우의 데이터 전송 동작을 설명한다.
액세스 조정회로에서 NOR 인터페이스 회로(NRIF)로부터의 판독 요구가 허가되면, 우선, 제어회로(RWCL)가 제어회로(FCNT)에, N페이지째 데이터의 판독 요구를 입력한다. 제어회로(FCNT)는, 메모리 셀(memory cell) 어레이MARY내의 N페이지째 데이터를 데이터 레지스터(DREG)에 전송한다. 다음에 데이터 레지스터(DREG)N페이지째 데이터를 제어회로(RWCL)에 출력한다. 제어회로(RWCL)는, 이 데이터를 버퍼 회로(BUF)에 전송한다.
데이터 레지스터(DREG)로부터 버퍼 회로(BUF)에의 데이터 전송중에, 현재, 캐시 메모리PL2A 및 PL2B에 유지되어 있는 데이터를 캐시 메모리(L2Cache)에 전송하고, 캐시 메모리(L2Cache)를 갱신한다.
버퍼 회로(BUF)에 전송된 N페이지째 데이터는 에러검출 정정회로(ECC)에서, 특별히 한정하지 않지만 512B 마다 에러 검출을 한다. 버퍼 회로(BUF)에 전송된 N페이지째 데이터에 에러가 없으면, 이 N페이지째 데이터는 제어회로(RWCL)에 의해 캐시 메모리PL2A에 전송되고, 에러가 있으면 에러검출 정정회로(ECC)에서 에러 정정을 한 후, N페이지째 데이터는 제어회로(RWCL)에 의해 캐시 메모리PL2A에 전송된다. 캐시 메모리PL2A에 전송된 N페이지째 데이터 중의 정보처리장치(CPU_CHIP)에 요구된 데이터는 NOR 인터페이스 회로(NRIF)를 통해서 NOR 인터페이스(NOR IF)로부터 정보처리장치(CPU_CHIP)에 출력된다.
특별히 한정하지 않지만, 데이터가 출력될때까지는, Wait신호는 High가 되고, 정보처리장치(CPU_CHIP)는 데이터의 도착을 기다린다.
더욱이, 먼저읽기 지시회로(PRECT)가 제어회로(RWCL)에 데이터의 먼저 읽기를 지지하면, 제어회로(RWCL)가 제어회로(FCNT)에 판독 요구를 입력하고, 데이터 레지스터(DREG)내의 다음 페이지째의 데이터, 즉 N+1번째의 데이터를 버퍼 회로(BUF)에 전송한다.
버퍼 회로(BUF)에 전송된 N+1페이지째 데이터는 에러검출 정정회로(ECC)에서, 특별히 한정하지 않지만 512B 마다 에러 검출을 한다. 버퍼 회로(BUF)에 전송된 N+1페이지째 데이터에 에러가 없으면, 이 N+1페이지째 데이터는 제어회로(RWCL)에 의해 캐시 메모리PL2A에 전송되어, 에러가 있으면 에러검출 정정회로(ECC)에서 에러 정정을 한 후, N+1페이지째 데이터는 제어회로(RWCL)에 의해 캐시 메모리(PL2B)에 전송된다.
또한, 데이터 레지스터(DREG)에 전송된 데이터는 그대로 유지되어, 데이터 레지스터(DREG)는 캐시 메모리로서 이용된다.
더욱이, 먼저읽기 기능에 의해, 정보처리장치(CPU_CHIP)가 요구한 데이터가 N페이지째 데이터의, 다음 N+1페이지째의 데이터를 캐시 메모리(PL2B)에 전송함으로써, 히트율을 향상시킬 수 있어 고속으로 데이터 전송을 할 수 있다.
이와 같이, 플래시 메모리(FLASH_CHIP)의 데이터 버퍼(data buffer)DREG를 캐시 메모리로서 취급하고, 이 데이터 버퍼(data buffer)DREG에 히트함으로써 직접 메모리 셀(memory cell) 어레이MARY로부터 데이터 버퍼(data buffer)DREG에의 데이터 전송을 할 필요가 없기 때문에 고속의 데이터 전송을 실현할 수 있다.
더욱이, 데이터의 먼저읽기 기능에 의해, 정보처리장치(CPU_CHIP)가 요구한 데이터의, 다음 페이지째의 데이터를 미리 캐시 메모리(PL2B)에 전송함으로써, 히트율을 향상시킬 수 있어 데이터 전송을 고속화할 수 있다.
또한, 캐시 메모리PL2A 및 PL2B로부터 캐시 메모리(L2Cache)에의 데이터 갱신은, L2Cache미스 또한 PL2미스 시에 행하여지는 데이터 레지스터(DREG)로부터 버 퍼 회로(BUF)에의 데이터 전송과 동시에 하기 때문에, 캐시 메모리(L2Cache)에의 데이터 갱신 시간을 은폐하고, 낭비가 없는 데이터 전송을 실현할 수 있다.
<NAND 인터페이스NAND IF1로부터의 판독 동작의 설명>
다음에, 정보처리장치(CPU_CHIP)가 NAND 인터페이스NAND IF1로부터 판독 요구를 입력했을 경우의 동작에 대해서 설명한다.
액세스 조정회로(ARB)에서 NAND 인터페이스 회로(NDIF)로부터 판독 요구가 허가되면, 우선, 제어회로(RWCL)가 제어회로(FCNT)에 데이터의 판독 요구를 입력한다. 제어회로(FCNT)는, 메모리 셀(memory cell) 어레이MARY내의 데이터를 데이터 레지스터(DREG)에 전송한다. 다음에 데이터 레지스터(DREG)의 데이터를 제어회로(RWCL)에 출력한다. 제어회로(RWCL)는, 이 데이터를 버퍼 회로(BUF)에 전송한다.
버퍼 회로(BUF)에 전송된 데이터는 에러검출 정정회로(ECC)에서 에러 검출을 한다. 버퍼 회로(BUF)에 전송된 데이터에 에러가 없으면, 제어회로(RWCL)에 의해 리드 버퍼(RBUF)에 전송되고, 에러가 있으면 에러검출 정정회로(ECC)에서 에러 정정을 한 후, 제어회로(RWCL)에 의해 리드 버퍼(RBUF)에 전송된다.
리드 버퍼(RBUF)에 전송된 데이터 중에서, 정보처리장치(CPU_CHIP)에 요구된 데이터는 NAND 인터페이스 회로(NDIF)를 통해서 NAND 인터페이스NAND IF1로부터 정보처리장치(CPU_CHIP)에 출력된다.
<NAND 인터페이스NAND IF1로부터의 기록 동작의 설명>
다음에, 정보처리장치(CPU_CHIP)가 NAND 인터페이스NAND IF1로부터 기록 요구를 입력했을 경우의 동작에 대해서 설명한다.
NAND 인터페이스 회로(NDIF)에 기록 요구. 기록 어드레스(NWADD) 및 기록 데이터NWDATA가 입력되면, 기록 데이터NWDATA는 라이트 bufferWBUF에 전송되어. 기록 어드레스(NWADD)는 어드레스 조정회로(ARB)에 전송된다.
어드레스 조정회로(ARB)는, 기록 어드레스(NWADD)를 어드레스 변환회로(DSTR)에 전송한다. 어드레스 변환회로(DSTR)는 어드레스NWADD에 연산을 시행하고, 어드레스MNWADD에 변환하여 캐시 메모리L2캐시히트 판정회로PL2Hit에 입력한다.
이후. 캐시 메모리L2캐시는 및 히트 판정회로PL2Hit는, 어드레스MNWADD를 이용하여 캐시 메모리L2캐시. PL2A. PL2B와의 데이터의 일관성을 유지하기 위한 처리를 한다. 구체적으로는, 캐시 메모리L2캐시는 어드레스MNWADD의 데이터가 존재할 것인가 아닌가를 체크하고, 존재하면, 그 데이터를 무효로 한다. 또한, 히트 판정회로PL2mt는 캐시 메모리PL2A 및 PL2B에 어드레스MNWADD의 데이터가 존재할 것인가 아닌가를 체크하고, 존재하면 그 데이터를 무효로 한다. 캐시 메모리L2캐시. PL2A. PL2B내 데이터의 무효화가 종료하면, 히트 판정회로L3Hit에 의해 data bufferDREG의 데이터를 무효로 한다.
모든 캐시 메모리의 무효화가 완료하면, 액세스 조정회로(ARB)이 NAND 인터페이스 회로(NDIF)로부터의 기록 요구를 허가한다.
액세스 조정회로(ARB)에서 NAND 인터페이스 회로(NDIF)로부터의 기록 요구가 허가되면, 우선, 제어회로(RWCL)가 제어회로(FCNT)에 데이터의 기록 요구 및 기록, 데이터WData를 입력한다. 제어회로(FCNT)는 기록 데이터Wdata를 data 레지스터DREG 에 전송하고, 더욱이 data 레지스터DREG에 전송한 데이터를 memory cell 어레이MARY에 기록한다.
대체 처리회로(REP)은 memory cell 어레이MARY에의 기록이 성공한 것인가 아닌가를 체크하고, 성공하면 처리를 종료한다. 기록이 실패하였을 시에는, 플래시 메모리(FLASH_CHIP)에 미리 준비되어 있는 대체용의 새로운 어드레스에 대하여 기록을 한다. 대체 처리를 하였을 때는, 불량 어드레스와, 불량 어드레스에 대하여, 어느 어드레스에 대체 처리를 하였는지 라고 하는 어드레스 정보를 유지해 관리한다.
또한, 메모리 어드레스 관리 회로MMG는 기록 어드레스(NWADD)가 기록 회수 평균화 처리 영역내의 어드레스인가 아닌가를 체크한다.
기록 어드레스(NWADD)가 기록 회수 평균화 처리 영역내의 어드레스였을 경우는, memory cell 어레이MARY에 데이터WDATA가 더 기록된 후에, 기록회수 평균화회로(WLV)가 관리하고 있는 기록 회수와 소거 회수의 총 합계를 1개 늘린다. 더욱이, 이 기록 회수와 소거 회수의 총합계가 기록회수 평균화회로(WLV)가 유지하고 있는 기록 회수와 소거 회수의 총합계 문턱치에 도달했을 경우는, 기록회수 평균화회로(WLV)는 고쳐 쓰기가 집중되고 있다고 판단하고, 특별히 한정하지 않지만, 64 페이지 단위의 데이터마다 물리 어드레스와 논리 어드레스의 대응을 변경하고, 이 물리 어드레스와 논리 어드레스의 대응정보를 유지한다. 이와 같이, 기록회수 평균화회로(WLV)에 의해 메모리 어레이의 고쳐 쓰기 회수를 평균화 할 수가 있고, 신뢰성을 향상시킬 수 있다.
<NAND 인터페이스NAND IF1로부터의 소거 동작의 설명>
다음에. 정보처리장치(CPU_CHIP)가 NAND 인터페이스NAND IF1로부터 소거 요구를 입력했을 경우의 동작에 대해서 설명한다.
NAND 인터페이스 회로(NDIF)에 소거 요구 소거 어드레스NEADD가 입력되면, 소거 요구 및 소거 어드레스NEADD어드레스가 조정 회로ARB에 전송된다.
어드레스 조정회로(ARB)는 소거 어드레스NEADD를 어드레스 변환회로(DSTR)에 전송한다. 어드레스 변환회로(DSTR)는 어드레스NEADD에 연산을 시행하고, 어드레스MNEADD에 변환하고, 캐시 메모리L2캐시히트 판정회로PL2Hit에 입력한다.
이후, 캐시 메모리L2캐시 및 히트 판정회로PL2Hit는 어드레스MNEADD를 이용하여 캐시 메모리L2캐시, PL2A, PL2B와의 데이터의 일관성을 유지하기 위한 처리를 한다. 구체적으로는, 캐시 메모리L2캐시는 어드레스MNEADD의 데이터가 존재하는가 아닌가를 체크하고, 존재하면, 그 데이터를 무효로 한다. 또한, 히트 판정회로PL2Hit는 캐시 메모리PL2A 및 PL2B에 어드레스MNEADD의 데이터가 존재할 것인가 아닌가를 체크하고, 존재하면, 그 데이터를 무효로 한다. 캐시 메모리L2캐시 PL2APL2B내 데이터의 무효화가 종료하면, 히트 판정회로L3Hit에 의해 data bufferDREG의 데이터를 무효로 한다.
모든 캐시 메모리의 무효화가 완료하면, 액세스 조정회로(ARB)가 NAND 인터페이스 회로(NDIF)로부터의 소거 요구를 허가한다.
액세스 조정회로(ARB)에서 NAND 인터페이스 회로(NDIF)로부터의 소거 요구가 허가되면, 우선, 제어회로(RWCL)가 제어회로(FCNT)에 데이터의 소거 요구 및 소거 어드레스MNEADD를 입력한다. 제어회로(FCNT)는 소거 요구 및 소거 어드레스MNEADD에 따라서 memory cell 어레이MARY의 데이터를 소거한다.
또한, 메모리 어드레스 관리 회로MMG은 소거 어드레스NEADD가 기록 회수 평균화 처리 영역내의 어드레스인가 아닌가를 체크한다.
소거 어드레스NEADD가 기록 회수 평균화 처리 영역내의 어드레스이었을 경우는, memory cell 어레이MARY의 데이터가 소거된 후에, 기록회수 평균화회로(WLV)가 관리하고 있는 기록 회수와 소거 회수의 총합계를 1개 늘린다. 더욱이, 이 기록 회수와 소거 회수의 총합계가 기록회수 평균화회로(WLV)가 유지하고 있는 기록 회수와 소거 회수의 총합계 문턱치에 도달했을 경우는, 기록회수 평균화회로(WLV)는 고쳐 쓰기가 집중되고 있다고 판단하고, 특별히 한정하지 않지만 64페이지 단위의 데이터 마다 물리 어드레스와 논리 어드레스의 대응을 변경하고, 이 물리 어드레스와 논리 어드레스의 대응정보를 유지한다. 이와 같이, 기록회수 평균화회로(WLV)에 의해 메모리 어레이의 고쳐 쓰기 회수를 평균화 할 수가 있고, 신뢰성을 향상시킬 수 있다.
또한, 도 1에서는 에러검출 정정회로(ECC)와 대체 처리회로(REP) 및 기록회수 평균화회로(WLV)는 제어회로(CT_CHIP)에 실장했지만, 물론 플래시 메모리(FLASH_CHIP) 에 실장하고, 플래시 메모리(FLASH_CHIP)측에서 에러 검출, 에러 정정, 어드레스 대체 처리 및 기록회수 평균화 처리를 구성으로 하여도 좋다.
<NOR 인터페이스(NOR IF)로부터의 써넣기 동작의 설명>
다음에, 정보처리장치(CPU_CHIP)가 NOR 인터페이스(NOR IF)로부터 기록 요구 를 입력했을 경우의 동작에 대해서 설명한다.
특별히 한정하지 않지만, NOR 인터페이스 회로(NRIF)에 기록 요구, 기록 어드레스NORWADD 및 기록 데이터NORWDATA가 입력되면, 기록 데이터NWDATA는 플래시 제어회로(FLCT)를 통해서 라이트 bufferWBUF에 전송되고, 기록 어드레스NORWADD는 NAND 인터페이스 회로(NDIF)를 통해서 조정 회로ARB에 전송된다. 이후, 메모리 모듈(memory module) MSM은 NAND 인터페이스NAND IF1에 기록 요구가 입력되었을 경우와 같은 동작을 한다.
이와 같이, NOR 인터페이스(NOR IF)로부터의 기록 어드레스NORWADD 및 기록 데이터NORWDATA를 NAND 인터페이스 회로(NDIF)에 인도함으로써 NOR 인터페이스(NOR IF)로부터의 기록 동작을 실현할 수 있다.
<NOR 인터페이스(NOR IF)로부터의 소거 동작의 설명>
다음에, 정보처리장치(CPU_CHIP)가 NOR 인터페이스(NOR IF)로부터 소거 요구를 입력했을 경우의 동작에 대해서 설명한다.
특별히 한정하지 않지만, NOR 인터페이스 회로(NRIF)에 소거 요구, 소거 어드레스NOREADD가 입력되면, 소거 어드레스NOREADD는 NAND 인터페이스 회로(NDIF)를 통해서 조정 회로ARB에 전송된다.
후의 메모리 모듈(memory module) MSM은 상술한 NAND 인터페이스NAND IF1에 소거 요구가 입력되었을 경우와 같은 것 동작을 한다.
이와 같이, NOR 인터페이스NORIF로부터의 소거 어드레스NOREADD를 NAND 인터페이스 회로(NDIF)에 인도함으로써 NOR 인터페이스(NOR IF)로부터의 소거 동작을 실현할 수 있다.
클록 제어회로(OSC)는 특별히 한정하지 않지만, 전원투입 직후의 메모리 모듈(memory module) MSM에서의 데이터 전송, NOR 인터페이스(NOR IF) 및 NAND 인터페이스로부터 메모리 모듈(memory module) MSM에의 액세스가 발생했을 때의 데이터 전송 시작에 클록 동작을 시작하고, 데이터 전송이 종료한 시점에서 록 동작을 멈춘다.
이와 같이, 클록 제어회로(OSC)는 데이터 전송에 필요할 경우만 동작하여 저전력화를 꾀할 수 있다.
<실시예 1의 효과>
이상 설명한 바와 같이, NOR 인터페이스 및 NAND 인터페이스 방식을 답습하고, 전원투입 직후에 플래시 메모리(FLASH_CHIP)내의 부트 프로그램(boot program)을 캐시 메모리L2캐시에 자동전송함으로써, 정보처리장치(CPU_CHIP)는 이 부트 프로그램(boot program)에서 재빠르게 스스로를 일으킬 수 있다. 더욱이, 정보처리장치(CPU_CHIP)가 일으키기를 하고 있는 사이에, 플래시 메모리(FLASH_CHIP)의 데이터를 캐시 메모리L2캐시에 자동전송함으로써, 정보처리장치(CPU_CHIP)가 일어선 시점에서, 곧 메모리 모듈(memory module) MSM에 엑세스할 수가 있기 때문에 고성능화를 꾀할 수 있다. 플래시 메모리내의 어드레스 맵을 설정할 수 있다. 또한, 동기형 NOR 인터페이스나 비동기형 NOR 인터페이스, 어드레스 변환 방식, 캐시 영역 및 비캐시 영역, 캐시 록 영역 및 비캐시 록 영역, 기록회수 평균화 처리 영역 및 비기록 회수 평균화 처리 영역, 라이트 프로텍션(write protection) 영역 및 비라이 트 프로텍션(write protection) 영역은 각각 독립적으로 설정할 수가 있고, 시스템에 맞추어서 이용자측에서 자유롭게 선택할 수 있다.
< 캐시 메모리>
정보처리장치(CPU_CHIP)는 메모리 모듈(memory module) MSM이 내장하고 있는 캐시 메모리La캐시, PL2A, PL2B으로부터 직접 데이터를 출력할 수가 있으므로, 정보처리장치(CPU_CHIP)와 메모리 모듈(memory module) MSM사이의 데이터 전송을 고속으로 할 수 있다.
어드레스 변환회로 및 어드레스 변환을 선택할 수 있다. 어드레스 변환회로는 정보처리장치(CPU_CHIP)으로부터 입력한 판독 어드레스가 캐시 메모리L2캐시의 인덱스 어드레스에 분산되도록 어드레스 변환을 하기 때문에, 캐시 메모리L2캐시, PL2A, PL2B의 이용율이 향상하고, 히트율이 향상하여 데이터 전송을 고속화할 수 있다.
<먼저읽기>
더욱이, 데이터의 먼저읽기 기능에 의해 현재 정보처리장치(CPU_CHIP)가 요구한 데이터의 다음 페이지째의 데이터를 미리 캐시 메모리에 전송함으로써, 캐시 메모리에 히트율을 상승시키고, 전송을 고속화할 수 있다.
<L3캐시>
플래시 메모리(FLASH_CHIP)의 data 레지스터DREG를 캐시 메모리로서 이용함으로써 캐시 메모리의 용량을 실효적으로 늘리는 것으로 히트율을 향상시킬 수 있고, 정보처리장치(CPU_CHIP)와 메모리 모듈(memory module) MSM사이의 데이터 전송 을 고속으로 할 수 있다.
<캐시 데이터의 갱신>
또한, 캐시 메모리PL2A 및 PL2B으로부터 캐시 메모리L2캐시에의 데이터 갱신은 L2캐시미스 또한 PL2미스 때에 행하여지는 data 레지스터DREG으로부터 buffer 회로BUF에의 데이터 전송과 동시에 하기 때문에, 캐시 메모리L2캐시에의 데이터 갱신 시간을 은폐할 수 있고,데이터 전송 시간의 낭비를 생략할 수 있다.
<에러 검출 정정. 어드레스 대체 처리>
메모리 모듈(memory module)MM의 내부에서, FALSH로부터의 판독 시는 에러 검출과 정정을 하고, 기록 시는 기록이 정확하게 행하여지지 않은 불량 어드레스에 대하여 대체 처리를 하기 때문에, 처리가 고속에 할 수 있고, 또한, 신뢰성을 유지할 수 있다.
<기록 회수의 평균화>
기록회수 평균화회로(WLV)에 의해 메모리 어레이의 고쳐 쓰기 회수를 평균화 할 수가 있고, 더욱이 신뢰성을 향상시킬 수 있다.
<Wait신호>
Wait 신호에 의해 정보처리장치(CPU_CHIP)은 요구 데이터의 도착을 알 수가 있어 캐시 메모리L2캐시의 히트 판정, 히트 판정회로PL2Hit 및 L3Hit에서의 히트 판정 결과에 의해 데이터의 판독 시간이 다른 경우라도 확실하게 요구 데이터를 받아들일 수 있다.
또한, 본 실시예에서는 메모리 모듈(memory module) MSM에는 하나의 플래시 메모리가 포함되어 있는 예에 대해서 설명하고 있지만, 메모리 모듈(memory module) MSM에 복수개의 플래시 메모리가 포함될 경우라 본 발명을 실현할 수 있는 것은 말할 필요도 없다.
<메모리 맵의 설명>
도 2는 레지스터 블록(REG)내의 각 레지스터(모드 설정 레지스터RModeReg. 캐시 영역설정레지스터C에어리어Reg, 캐시 록 영역 설정레지스터(CaLockReg), 라이트 프로텍션(write protection) 영역설정 레지스터WproReg, 기록회수 평균화처리영역설정 레지스터WlvlReg)에 설정된 값을 기초로 메모리 어드레스 관리 회로MMG가 관리하는 플래시 메모리(FLASH_CHIP)에 대하는 메모리 맵의 일예를 나타낸 것이다. 본 실시 형태예에서는 특별히 한정되지 않지만, 플래시 메모리(FLASH_CHIP)의 기억 영역이 1Gbit+32Mbit(32Mbit는 대체 영역)인 메모리 모듈(memory module)을 예로 대표적인 메모리 맵(memory map)을 설명한다.
특별히 제한은 없지만, 플래시 메모리(FLASH_CHIP)은 메인 영역MAIN과 대체 영역REP에어리어에 나뉘어져 있다. 또한, 메인 영역MAIN은 영역에어리어-A, 영역에어리어-B, 영역에어리어-C, 영역에어리어-D, 초기 프로그램 영역lnitProg로 나뉘어져 있다.
영역에어리어-A는 비캐시 영역NONC에어리어, 또한, 기록회수 평균화 처리 영역WLV, 또한, 비라이트 프로텍션(write protection) 영역NONWPRO로서 관리되어 있다.
영역에어리어-B는 캐시 영역C에어리어, 또한, 캐시 록 영역CALOCK, 또한, 기 록회수 평균화 처리 영역WLVL, 또한, 비라이트 프로텍션(write protection) 영역NONWPRO로서 관리되어 있다.
영역에어리어-C는 캐시 영역C에어리어, 또한, 비캐시 록 영역UNCALOCK, 또한, 비기록 회수 평균화 처리 영역NONWLV, 또한, 비라이트 프로텍션(write protection) 영역NONWRPRO로서 관리되어 있다.
영역에어리어-D는 캐시 영역C에어리어, 또한, 비캐시 록 영역UNCALOCK, 또한 비기록 회수 평균화 처리 영역NONWLV, 또한, 라이트 프로텍션(write protection) 영역WPRO로서 관리되어 있다.
초기 프로그램 영역InitProg은 캐시 영역C에어리어, 또한, 비캐시 록 영역UNCALOCK, 또한, 비기록 회수 평균화 처리 영역NONWLV, 또한, 라이트 프로텍션(write protection) 영역WPRO로서 관리되어 있다.
초기 프로그램 영역lnitProg에는 특별히 한정하지 않지만, 부트 프로그램(boot program)이나 자동전송 영역지정 데이터가 격납된다.
영역에어리어-D에는 특별히 한정하지 않지만, 오퍼레이팅 시스템등이 격납된다.
영역에어리어-B 및 영역에어리어-C에는 특별히 한정하지 않지만, 애플리케이션 프로그램이 격납된다.
영역에어리어-A에는 특별히 한정하지 않지만, 음악 데이터, 음성 데이터, 동화 데이터, 정지 획(화) 데이터등의 데이터가 격납된다.
또한, FLASH는 고쳐 쓰기를 반복함으로써, 신뢰성이 저하하고, 기록시에 쓴 데이터가 판독 시에는 다른 데이터로 되거나, 고쳐 쓰기 시에 데이터가 기록지지 않거나 하는 것이 드물게 있다. 대체 영역REP에어리어는 이와 같이 불량이 된 프로그램이나 데이터를 새롭은 영역에 바꿔 놓기 위해서 실장되어 있다. 대체 영역REP에어리어의 크기는 특별히 한정하지 않지만, 플래시 메모리(FLASH_CHIP)이 보증하는 신뢰성이 확보할 수 있도록 정하면 좋다.
캐시 영역C에어리어, 비캐시 영역NONC에어리어, 라이트 프로텍션(write protection) 영역WRPRO, 비라이트 프로텍션(write protection) 영역NONWRPRO, 기록회수 평균화 처리 영역WLVL 및 비기록 회수 평균화 처리 영역NONWLVL은 캐시 록 영역CALOCK. 비캐시 록 영역UNCALOCK. NOR 인터페이스(NOR IF)로부터 레지스터 블록(REG)내의 각 레지스터에 프로그램함으로써 제 각기 독립적으로 설정할 수가 있고, 시스템에 맞추어서 이용자측에서 자유롭게 선택할 수 있다.
<전원투입 직후의 동작>
전원투입시의 플래시 메모리(FLASH_CHIP)으로부터 캐시 메모리L2캐시, PL2A 및 PL2B에의 데이터 전송에 대해서 설명한다.
전원 투입후, 플래시 제어회로(FLCT)는 플래시 메모리(FLASH_CHIP)의 초기 프로그램 영역lnitProg내의 데이터를 회로BUF에 판독하여, 에러검출 정정회로(ECC)에서 에러가 있는지 아닌지를 체크한다. 에러가 없으면, 초기 프로그램 영역내의 부트 프로그램(boot program)을 캐시 메모리PL2A에 전송하고, 에러가 있으면 정정을 하고, 초기 프로그램 영역내의 부트 프로그램(boot program)을 캐시 메모리PL2A에 전송한다. 다음에 제어회로FLCT는 자동전송 영역지정 데이터를 buffer 회로 BUF로부터 판독하여 이 데이터에 나타내져 있는 범위의 플래시 메모리(FLASH_CHIP)내의 데이터를 buffer 회로BUF에 순차로 판독하고, 에러검출 정정회로(ECC)에서 에러가 있는지 아닌지를 체크한다. 에러가 없으면, 캐시 메모리(PL2B)를 경유하여 캐시 메모리L2캐시에 전송하고, 에러가 있으면 정정을 하고, 캐시 메모리(PL2B)를 경유하여 캐시 메모리L2캐시에 전송한다.
이와 같이, 전원투입 직후에 필요한 데이터를 미리 캐시 메모리에 전송함으로써, 정보처리장치(CPU_CHIP)은 스스로가 일어선 후, 캐시 메모리로부터 이 부트 프로그램(boot program)을 판독하고, 재빠르게 스스로를 일으키고, 더욱이 다이내믹 랜덤 액세스 메모리(random access memory)DRAMCHIP의 초기 설정을 할 수 있다.
<판독 동작의 설명>
캐시 메모리(L2캐시. PL2A 및 PL2B)에는 캐시 영역C에어리어내의 데이터가 유지되어 있고, 캐시 메모리(L2캐시. PL2A 및 PL2B)에 히트한 경우는 직접 캐시 메모리(L2캐시. PL2A 및 PL2B)로부터 데이터가 출력되고, NOR 인터페이스 회로(NRIF)를 통해서 NOR 인터페이스(NOR IF)로부터 정보처리장치(CPU_CHIP)에 출력된다.
캐시 메모리(L2캐시. PL2A 및 PL2B)를 미스했을 경우는 플래시 메모리(FLASH_CHIP)으로부터 캐시 메모리(L2캐시. PL2A 및 PL2B에 데이터가 전송된다. 다음에, 플래시 메모리(FLASH_CHIP)의 데이터를 캐시 메모리L2캐시. PL2A. PL2B에 전송하는 동작을 설명한다.
NOR 인터페이스(NOR IF)로부터의 판독 요구가 L2캐시미스, 또한 PL2미스 또한 L3히트의 경우 혹은, L2캐시미스 또한 PL2미스 또한 L3미스의 경우에, 플래시 메모리(FLASH_CHIP)으로부터 캐시 메모리L2캐시, PL2A, PL2B에의 데이터 전송이 생긴다.
우선, NOR 인터페이스(NOR IF)로부터의 판독 요구가 L2캐시미스 또한 PL2미스 또한 L3히트가 되었을 경우의 데이터 전송에 대해서 설명한다.
요구 데이터는 캐시 영역내의 데이터이면, 플래시 메모리(FLASH_CHIP)의 데이터 레지스터(DREG)내의 N페이지째 데이터를 버퍼(buffer) 회로BUF에 전송한다.
data 레지스터DREG내의 1페이지 분의 데이터를 buffer 회로BUF에 전송하고 있는 사이에, 현재, 캐시 메모리PI, 2A 및 PL2B에 유지되어 있는 데이터를 캐시 메모리L2캐시에 전송하고, 캐시 메모리L2캐시를 갱신한다.
buffer 회로BUF에 전송된 N페이지째의 데이터는 에러검출 정정회로(ECC)에 의해서 에러가 있는지 아닌지가 체크되어, 에러가 없으면, 직접, 캐시 메모리PL2A에 전송된다. 에러가 있으면, 에러 정정된 데이터가 캐시 메모리PL2A에 전송된다.
더욱이, 먼저읽기 기능에 의해 data 레지스터DREG내의 다음 페이지째의 데이터, 즉, N+1번째의 데이터가 buffer 회로BUF에 전송된다.
buffer 회로BUF에 전송된 N+1페이지째의 데이터는 에러검출 정정회로(ECC)에 의해서 에러가 있는지 아닌지를 체크되어, 에러가 없으면, 직접, 캐시 메모리(PL2B)에 전송된다. 에러가 있으면, 에러 정정된 데이터가 캐시 메모리(PL2B)에 전송된다.
다음에, NOR 인터페이스(NOR IF)로부터의 판독 요구가 L2캐시미스 또한 PL2미스 또한 L3미스로 되었을 경우의 데이터 전송에 대해서 설명한다.
판독 요구의 어드레스가 캐시 영역내이면, 플래시 메모리(FLASH_CHIP)의 memory cell 어레이MARY내의 N페이지째 데이터는 data 레지스터DREG에 전송된다. 그 후, data 레지스터DREG내의 N페이지째 데이터는 buffer 회로BUF에 전송된다.
data 레지스터DREG내의 데이터를 buffer 회로BUF에 전송하고 있는 사이에, 현재, 캐시 메모리PL2A 및 PL2B에 유지되어 있는 데이터를 캐시 메모리L2캐시에 전송하고, 캐시 메모리L2캐시를 갱신한다.
buffer 회로BUF에 전송된 N페이지째의 데이터는 에러검출 정정회로(ECC)에 의해서. 에러가 있는지 아닌지를 체크되고, 에러가 없으면, 직접, 캐시 메모리PL2A에 전송된다. 에러가 있으면, 에러 정정된 데이터가 캐시 메모리PL2A에 전송된다.
더욱이, 먼저읽기 기능에 의해 data 레지스터DREG내의 다음 페이지째의 데이터, 즉, N+1번째의 데이터가 buffer 회로BUF에 전송된다.
buffer 회로BUF에 전송된 N+1페이지째의 데이터는 에러검출 정정회로(ECC)에 의해서 에러가 있는지 아닌지가 체크되고, 에러가 없으면, 직접, 캐시 메모리(PL2B)에 전송된다. 에러가 있으면, 에러 정정된 데이터가 캐시 메모리(PL2B)에 전송된다.
NOR 인터페이스(NOR IF)로부터의 판독 요구가 L2캐시히트로 되었을 경우는, 캐시 메모리L2캐시로부터 직접 데이터를 판독한다. 또한, NOR 인터페이스(NOR IF)로부터의 판독 요구가 PL2히트로 되었을 경우는, 캐시 메모리PL2 혹은 PL2B로부터 직접 데이터를 판독한다.
<효과의 설명>
< 캐시 메모리>
캐시 영역내의 데이터는 캐시 메모리(L2캐시. PL2A. PL2B)에 전송되어 정보처리장치(CPU_CHIP)으로부터 판독 요구가 캐시 메모리(L2캐시. PL2A. PL2B)에 히트했을 경우는, 캐시 메모리(L2캐시, PL2A, PL2B)부터 직접 데이터를 출력할 수가 있으므로, 정보처리장치(CPU_CHIP)와 메모리 모듈(memory module) MSM사이의 데이터 전송을 고속으로 할 수 있다.
<먼저 읽기>
데이터의 먼저읽기 기능에 의해 현재정보처리장치(CPU_CHIP)가 요구한 데이터의 차 페이지째의 데이터를 미리 캐시 메모리에 전송함으로써 캐시 메모리에 히트율을 상승시키고, 데이터 전송을 고속화할 수 있다.
<L3캐시>
플래시 메모리(FLASH_CHIP)의 data 레지스터DREG를 캐시 메모리로서 이용함으로써 캐시 메모리의 용량을 실효적으로 늘리는 것으로 히트율을 향상시킬 수 있고, 정보처리장치(CPU_CHIP)와 메모리 모듈(memory module) MSM사이의 데이터 전송을 고속으로 할 수 있다.
<어드레스 대체 처리>
플래시 메모리(FLASH_CHIP)에의 데이터 기록 시는, 기록이 정확하게 행하여지지 않은 불량 어드레스에 대하여 대체 처리 영역REP에어리어에 대체 처리를 할 수 있어 신뢰성을 유지할 수 있다.
<레지스터 블록의 설명>
도 3은 레지스터 블록(REG)을 구성하는 복수의 레지스터를 나타내는 일례이다.
레지스터 블록(REG)은 특별히 한정하지 않지만 판독모드 설정 레지스터(RModeReg), 캐시 영역설정 레지스터C에어리어Reg, 캐시 록 영역설정 레지스터CaLockReg, 라이트 프로텍션(write protection) 영역설정 레지스터WproReg, 기록회수 평균화 처리 영역설정레지스터WlvlReg으로 구성된다.
캐시 영역 및 비캐시 영역을 변경할 경우는 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터 캐시 영역설정 레지스터C에어리어Reg의 값을 고쳐씀으로써 캐시 영역 및 비캐시 영역을 변경 할 수가 있다. 특별히 한정하지 않지만, 전원투입 직후에는 플래시 메모리(FLASH_CHIP)의 전 영역이 캐시 영역이 되어 있다.
캐시 영역내 데이터는 캐시 메모리L2캐시, PL2A, PL2B에 전송되어, 비캐시 영역내 데이터는 캐시 메모리L2캐시, PL2APL2B에 전송되지 않는다.
캐시 록 영역, 비캐시 록 영역을 변경할 경우는, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터 캐시 영역설정 레지스터C에어리어Reg의 값을 고쳐씀으로써 캐시 록 영역, 비캐시 록 영역을 변경 할 수가 있다. 특별히 한정하지 않지만, 전원투입 직후에는, 플래시 메모리(FLASH_CHIP)의 전 영역이 비캐시 록 영역이 되어 있다.
캐시 록 영역내의 데이터는 일단 캐시 메모리L2캐시에 전송되면, 캐시 록 해제 명령에 의해 캐시 영역설정레지스터를 고쳐 쓸 수 있을 때까지, 캐시 메모리L2캐시에 존재 할 수가 있다. 또한, 비캐시 록 영역내 데이터는 캐시 메모리L2캐시로 부터 추출될 가능성이 있다.
기록회수 평균화 처리 영역. 비기록 회수 평균화 처리 영역을 변경할 경우는, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터 기록 회수 평균화 처리 영역설정 레지스터WlvlReg의 값을 고쳐씀으로써 기록회수 평균화 처리 영역, 비기록 회수 평균화 처리 영역을 변경할 수가 있다. 특별히 한정하지 않지만, 전원투입 직후에는, 플래시 메모리(FLASH_CHIP)의 반의 영역이 기록 회수 평균화 처리 영역이 되어 있다.
기록회수 평균화 처리 영역내 데이터에는 기록회수 평균화회로(WLV)가 고쳐 쓰기가 집중하고 있었다고 판단했을 경우는 기록회수 평균화 처리가 행하여진다. 비기록 회수 평균화 처리 영역내 데이터에는 기록 회수 평균화 처리가 행하여지지 않는다.
라이트 프로텍션(write protection) 영역, 비라이트 프로텍션(write protect -ion) 영역을 변경할 경우는, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터 라이트 프로텍션(write protection) 영역설정 레지스터WproReg의 값을 고쳐씀으로써 라이트 프로텍션(write protection) 영역, 비라이트 프로텍션(write protection) 영역을 변경할 수가 있다. 특별히 한정하지 않지만, 전원투입 직후에는, 플래시 메모리(FLASH_CHIP)의 전 영역이 비라이트 프로텍션(write protection) 영역으로 되어 있다.
라이트 프로텍션(write protection) 영역에는 기록이 행하여지지 않고, 비라이트 프로텍션(write protection) 영역에는 기록이 가능하다.
메모리 모듈(memory module) MSM이 장비하는 NOR 인터페이스는 클록 신호(CLK)에 동기해서 동작하는 동기형 NOR 인터페이스와, 클록 신호(CLK)에는 동기하지 않는 비동기형 NOR 인터페이스가 있고, 어느쪽인가의 NOR 인터페이스에서 동작한다. 특별히 한정하지 않지만, 메모리 모듈(memory module) MSM은, 전원투입 직후에는 비동기NOR 인터페이스에서 동작한다. 또한, 메모리 모듈(memory module) MSM이 장비하는 NOR 인터페이스를 변경할 경우는 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터 판독모드 설정 레지스터(RModeReg)의 값을 고쳐씀으로써 동기형 NOR 인터페이스나 비동기형NOR 인터페이스에 변경할 수가 있다.
어드레스 변환회로(DSTR)에서는, 특별히 한정하지 않지만, 복수의 어드레스 변환 방식(간이 인덱스 변환 방식, 인덱스 비트시프트(bit shift) 변환 방식, 인덱스 연산 방식)을 실현할 수 있고, 어느쪽인가의 어드레스 변환 방식으로 동작한다. 특별히 한정하지 않지만 전원투입 직후에는, 어드레스 변환회로(DSTR)는 인덱스 연산 방식으로 동작한다.
특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터 판독모드 설정 레지스터(RModeReg)의 값을 고쳐씀으로써 메모리 모듈(memory module) MSM이 장비하는 NOR 인터페이스나 어드레스 변환 방식을 변경할 수가 있다.
이상 설명한 것 같이, 동기형 NOR 인터페이스나 비동기형 NOR 인터페이스, 어드레스 변환 방식, 캐시 영역 및 비캐시 영역, 캐시 록 영역 및 비캐시 록 영역, 기록회수 평균화 처리 영역 및 비기록 회수 평균화 처리 영역, 라이트 프로텍션(write protection) 영역 및 비라이트 프로텍션(write protection) 영역은 각각 독립적으로 설정할 수가 있고, 시스템에 맞추어서 이용자측에서 자유롭게 선택할 수 있다.
<전원투입시의 초기 시퀸스>
도 4는 메모리 모듈(memory module) MSM의 전원투입시의 초기 시퀸스를 나타낸다.
T1 의 기간(PWON)에서 제어회로(CT_CHIP), 플래시 메모리(FLASH_CHIP) 및 다이내믹 랜덤 액세스 메모리(random access memory)DRAM_CHIP에 전원투입을 하고, T2의 기간(RESET)에서 리셋을 한다. 리셋이 해제된 다음 T3의 기간(lnitload)에서 FLASH_CHIP의 초기 프로그램 영역lnitProg내의 데이터는 제어회로(CT_CHIP)에 전송된다. T4의 기간(AutoLoad)초기 프로그램 영역내의 자동전송 영역지정 데이터에 지정된 범위의 데이터가 플래시 메모리(FLASH_CHIP)으로부터 제어회로(CT_CHIP)에 전송된다. 동전송영역 지정 데이터에 지정된 범위의 데이터의 전송이 종료하면 초기동작 완료신호(PCMP)을 High로 한다. T5 의 기간(IDLE)이후, 메모리 모듈(memory module) MSM은 아이들 상태로 되고, 정보처리장치CPU_CHP으로부터의 요구를 기다리는 상태가 된다.
<어드레스 변환 스트레이트>
도 5로부터 도 7은 어드레스 변환회로(DSTR)에 의해 행하여지는 NOR 인터페이스(NOR IF)로부터의 어드레스와 캐시 메모리L2캐시어드레스와의 어드레스 변환의 일예를 나타내고 있다.
우선, 도 5를 설명한다. 도 5(a)에는 NOR 인터페이스(NOR IF)로부터의 어드 레스와 캐시 메모리L2캐시어드레스와의 어드레스 변환 방법의 일예를 나타내고 있으며, 도 5(b)에는, 캐시 메모리L2캐시의 구성의 일예를 나타내고 있다.
캐시 메모리L2캐시의 구성은, 특별히 한정하지 않지만, 용량은 1M바이트·라인 사이즈는 512바이트, 인덱스 어드레스는 0으로부터 511까지 있고, 세트아소시아티부는 4웨이세트아소시아티부다.
NOR 인터페이스(NOR IF)로부터의 어드레스NRAD는 0부터 31의 32비트 있고, 최대 4G바이트의 어드레스 공간에 대응 가능하다.
본 예에서는, 플래시 메모리(FLASH_CHIP)의 용량이 256M바이트의 경우에 대해서 설명한다.
어드레스NRAD의 0∼8비트째의 어드레스AddO는 캐시 메모리L2캐시의 라인 사이즈에 대응하고 있으며, 9 ∼17비트째의 어드레스Add1은 캐시 메모리L2캐시의 인덱스 어드레스lndex2에 대응하고 있으며, 18 ∼27비트째의 어드레스Add2는 캐시 메모리L2캐시의 태그 어드레스Tag2에 대응하고 있다.
다음에, 어드레스Add1의 값이 511이고, 어드레스ADD2의 값이 Add2-511일 경우의 캐시 메모리L2캐시의 동작에 대해서 설명한다.
어드레스Add1에서 캐시 메모리L2캐시의 인덱스 어드레스lndex2가 검색되어, 4 웨이세트아소시아티부이므로 4종류의 태그 어드레스가 선택된다.
비교 회로(COMP)은 어드레스Add2와 선택된 태그 어드레스를 비교한다. 어드레스Add2는 Add2-511에서 태그 어드레스와 일치, 즉, 히트했으므로, 데이터 어레이로부터 데이터Data511이 선택된다.
최후에, 어드레스AddO가 선택 회로SEL에 입력하고, 512 바이트의 데이터Data1중의 1바이트를 출력한다.
<어드레스 변환 비트시프트(bit shift)>
다음에, 도 6을 설명한다. 도 6(a)에는 NOR 인터페이스(NOR IF)로부터의 어드레스와 캐시 메모리L2캐시어드레스와의 어드레스 변환 방법의 일예를 나타내고 있으며, 도 6(b)에는, 캐시 메모리L2캐시의 구성의 일예를 나타내고 있다.
캐시 메모리L2캐시의 구성은, 특별히 한정하지 않지만, 도 5와 같다.
NOR 인터페이스(NOR IF)로부터의 어드레스NRAD는 0부터 31의 32비트 있고, 최대 4G바이트의 어드레스 공간에 대응 가능하다.
본 예에서는, 플래시 메모리(FLASH_CHIP)의 용량이 256M바이트의 경우에 대해서 설명한다.
어드레스NRAD의 0∼8비트째의 어드레스AddO는 캐시 메모리L2캐시의 라인 사이즈Line2에 대응하고 있다.
어드레스NRAD의 9∼11비트째 및 13∼18비트째는 어드레스Add3의 0∼2비트째 및 3∼8비트째에. 각각 대응하고, 캐시 메모리L2캐시의 인덱스 어드레스lndex2에 대응하고 있다.
어드레스NRAD의 12비트째 및 19∼27비트째는 어드레스Add4의 0비트째 및 1∼8비트째에 각각 대응하고, 캐시 메모리L2캐시의 태그 어드레스Tag2에 대응하고 있다.
다음에, 어드레스Add3의 값이 1이며, 어드레스Add4의 값이 Add5-1일 경우의 캐시 메모리L2캐시의 동작에 대해서 설명한다.
어드레스Add3에서 캐시 메모리L2캐시의 인덱스 어드레스lndx2의 1이 검색되어 4 웨이세트아소시아티부이므로, 4종류의 태그 어드레스가 선택된다.
비교 회로(COMP)는 어드레스Add4와 선택된 태그 어드레스를 비교한다. 어드레스Add4는 Add5-1이며 태그 어드레스와 일치, 즉, 히트했으므로, 데이터 어레이로부터 데이터DataO가 선택된다.
최후로, 어드레스Add0이 선택 회로SEL에 입력하고, 512 바이트의 데이터DataO 중의 1바이트를 출력한다.
<어드레스 변환 확산>
다음에, 도 7을 설명한다. 도 7(a)에는 NOR 인터페이스(NOR IF)로부터의 어드레스와 캐시 메모리L2캐시어드레스와의 어드레스 변환 방법의 일예를 나타내고 있으며, 도 7(b)에는 캐시 메모리L2캐시의 구성의 일예를 나타내고 있다.
캐시 메모리L2캐시의 구성은 특별히 한정하지 않지만, 도 4와 같다. NOR 인터페이스(NOR IF)로부터의 어드레스NRAD는 0부터 31의 32비트 있고, 최대 4G바이트의 어드레스 공간에 대응 가능하다.
본 예에서는, 플래시 메모리(FLASH_CHIP)의 용량이 256M바이트의 경우에 대해서 설명한다.
어드레스NRAD의 0∼8비트째의 어드레스AddO는 캐시 메모리L2캐시의 라인 사이즈Line2에 대응하고 있다. 어드레스NRAD의 9∼17비트째의 어드레스Add1 과. 18∼26비트째의 어드레스Add5는, 어드레스 변환회로(DSTR)에 의해 어드레스Add6으로 변 환된다. 어드레스Add6은 캐시 메모리L2캐시의 인덱스 어드레스lndex2에 대응하고 있다.
어드레스NRAD의 18∼27비트째의 어드레스Add2는 캐시 메모리L2캐시의 태그 어드레스Tag2에 대응하고 있다.
어드레스Add1과 어드레스Add5의 비트 폭은 캐시 메모리의 인덱스 어드레스와 같고, 어드레스 변환회로(DSTR)에서는, 어드레스Add1 [8:0]과 어드레스Add5 [8:0]과의 계를 구하고, 더욱이, 그 합계의 8비트째로부터 0비트째를 어드레스Add6 [8:0]로 변환하고, 인덱스 어드레스Index2에 할당한다.
캐시 메모리의 기억 용량이나 구성에 의해 라인 사이즈, 인덱스 어드레스, 태그 어드레스는 변하므로, 일반화해서 설명한다.
캐시 메모리L2캐시의 기억 용량이, 2N바이트에서의 라인 사이즈Line2가 L비트, 인덱스 어드레스lndex2의 사이즈가 1비트, 태그 어드레스Tag2의 사이즈가 (N-I-L)비트일 경우.
어드레스NRAD는, 하위 비트로부터, AddO [L-1:0], Add1 [I-1:0], Add2 [N-L-I-1:0]으로 분리된다.
어드레스AddO [L-1:0]은, 캐시 메모리L2캐시의 라인 사이즈Line2 [ L-1:0]에 대응하고, 어드레스Add2 [N-L-I-1:0]은 캐시 메모리L2캐시의 태그 어드레스Tag2 [N-I-1:Ol에 대응한다. 또한, Addl [I-1:0]은, 인덱스 어드레스Index2와 같은 사이즈로 된다.
태그 어드레스Tag2사이즈가 인덱스 어드레스Index2의 사이즈이상이면, 어드레스Add2 [N-L-I-1:0]의 하위 비트로부터, 인덱스 어드레스Index2와 같은 사이즈에 어드레스Add5 [I-1:0]가 할당된다.
태그 어드레스Tag2사이즈가 인덱스 어드레스Index2의 사이즈보다 작으면, 어드레스Add2 [N-L-I-1:0]은 Add5 [N-L-I-1:0]로 된다.
태그 어드레스Tag2사이즈가 인덱스 어드레스lndex2의 사이즈이상이면, 어드레스 변환회로(DSTR)에서는, 어드레스Addl [I-1:0]과 어드레스Add5 [I-1:0]의 합계를 구하고, 더욱이, 그 합계의 (I-1)비트째로부터 0비트째를 어드레스Add6 [I-1:0]에 변환하고, 인덱스 어드레스lndex2 [I-1:0]에 할당한다.
태그 어드레스Tag2사이즈가 인덱스 어드레스lndex2의 사이즈보다 작으면, 어드레스 변환회로(DSTR)에서는, 어드레스Add1 [I-1:0]과 어드레스Add5 [N-L-I-1:0]의 합계를 구하고, 더욱이, 그 합계의 (I-1)비트째로부터 0비트째를 어드레스Add6 [I-1:0]로 변환하고, 인덱스 어드레스Index2 [I-1:0]에 할당한다.
도8은 어드레스Add6의 값이 0이며, 어드레스ADD2의 값이 Add2-0일 경우의 캐시 메모리L2캐시의 동작에 대해서 설명한다.
어드레스Add6 에서 캐시 메모리L2캐시의 인덱스 어드레스lndx2가 검색되어, 4 웨이세트아소시아티부이므로, 4종류의 태그 어드레스가 선택된다.
비교 회로(COMP)는 어드레스Add2로 선택된 태그 어드레스를 비교한다. 어드레스Add2는 Add2-0에서 태그 어드레스와 일치, 즉 히트 했으므로, 데이터 어레이로부터 데이터DataO가 선택된다.
최후로, 어드레스AddO이 선택 회로SEL에 입력하고, 512 바이트의 데이터DataO 중의 1바이트를 출력한다.
<어드레스 변환 효과>
도 9 및 도 10은 도 5 및 도 7에서 설명한 어드레스 변환을 하였을 때에, 캐시 메모리L2캐시의 갱신이 발생하는 것을 나타내는 일례이다.
정보처리장치(CPU_CHIP)에서 어프리케이션을 실행하고 있는 중에, 정보처리장치(CPU_CHIP)으로부터 메모리 모듈(memory module) MSM에 입력하는 판독 요구에는 특징이 있는 것을 발견하였다.
첫번째의 특징은 어드레스Add1은 분산되어서 생기고, 어드레스Add2은. 그중에서, 특정한 어드레스 범위를 반복하는 판독 요구가 연속하는 것이다.
두번째의 특징은 어드레스Add2는 분산되어서 생기고, 어드레스Add1은. 그중에서 특정한 어드레스 범위를 반복하는 판독 요구가 연속하는 것이다.
도 9(a)는, 상기 첫번째의 특징을 가지는 판독 요구가 메모리모듈에 입력했을 때에, 도 7로 나타낸 인덱스 연산 방식에 의한 어드레스 변환에 의해 생기는 캐시 메모리L2캐시의 데이터 갱신리플레이스(replace)를 나타내고 있다.
도 9(b)는, 상기 첫번째의 특징을 가지는 판독 요구가 메모리모듈에 입력했을 때에, 도 5에서 나타낸 간이 인덱스 변환 방식에 의한 어드레스 변환에 의해 생기는 캐시 메모리L2캐시의 데이터 갱신리플레이스(replace)를 나타내고 있다.
도 10(a)는, 상기 두번째의 특징을 가지는 판독 요구가 메모리모듈에 입력했 을 때에, 도 7에서 나타낸 인덱스 연산 방식에 의한 어드레스 변환에 의해 생기는 캐시 메모리L2캐시의 데이터 갱신리플레이스(replace)를 나타내고 있다.
도10(b)는, 상기 두번째의 특징을 가지는 판독 요구가 메모리모듈에 입력했을 때에, 도 5에서 나타낸 간이 인덱스 변환 방식에 의한 어드레스 변환에 의해 생기는 캐시 메모리L2캐시의 데이터 갱신리플레이스(replace)를 나타내고 있다.
도9(b)에 나타낸 바와 같이, 도 5에서 설명한 간이 인덱스 변환 방식에 의한 어드레스 변환 방법에서는 어드레스Add1을 캐시 메모리L2캐시의 인덱스 어드레스lndex2에 어드레스Add2를 태그 어드레스Tag2에 대응시켜 있다. 그 때문에, 첫번째의 특징을 가지는 판독 요구가 메모리모듈에 입력했을 때는, 인덱스 어드레스Index는 분산되기 때문에, 인덱스 어드레스Index가 분산되어지기 때문에 캐시 메모리L2캐시의 리플레이스(replace)는 생기지 않는다.
도 9(a)에 나타낸 바와 같이, 도 7의 인덱스 연산 방식에 의한 어드레스 변환 방법에서는 어드레스Add1과 어드레스Add2를 연산하고, 분산하도록 어드레스Add10을 생성시켜, 이 어드레스Add10을 캐시 메모리L2캐시의 인덱스 어드레스Index2에 대응시키고 있다. 이 때문에, 첫번째의 특징을 가지는 판독 요구가 L2캐시에 입력했을 경우, 인덱스 어드레스Index가 분산되기 때문에 캐시 메모리L2캐시의 리플레이스(replace)는 생기지 않는다. 즉, 도 7에서 설명한 인덱스 연산 방식에 의한 어드레스 변환 방법에 의해 캐시 메모리L2캐시를 유효적으로 이용할 수 있어 히트율이 향상한다.
도 10(b)에 나타낸 바와 같이, 도 5에서 설명한 간이 인덱스 변환 방식에 의 한 어드레스 변환 방법에서는 어드레스Addl을 캐시 메모리L2캐시의 인덱스 어드레스lndex2에 어드레스Add2를 태그 어드레스Tag2에 대응시켜 있다. 그 때문에, 두번째의 특징을 가지는 판독 요구가 L2캐시에 입력했을 경우는, 특정한 인덱스 어드레스lndex에의 검색이 빈번하게 발생하고, 그 위에 또, 태그 어드레스Tag2가 분산되고 있기 때문에 미스가 발생하여 캐시 메모리L2캐시의 리플레이스(replace)가 빈번하게 발생한다. 즉, 캐시 메모리L2캐시의 일부분밖에 이용할 수 없고, 캐시 메모리L2캐시의 리플레이스(replace)가 빈번하게 발생한다.
도 10(a)에 나타낸 바와 같이, 도 7의 인덱스 연산 방식에 의한 어드레스 변환 방법에서는, 어드레스Add1과 어드레스Add2를 연산하고, 분산되도록 어드레스Add10을 생성시키고, 이 어드레스Add10을 캐시 메모리L2캐시의 인덱스 어드레스Index2에 대응시키고 있다. 이 때문에, 두번째의 특징을 가지는 판독 요구가 L2캐시에 입력했을 경우에 있어서도, 인덱스 어드레스Index가 분산되기 때문에 캐시 메모리L2캐시의 리플레이스(replace)는 발생하지 않는다.
즉, 도 7에서 설명한 인덱스 연산 방식에 의한 어드레스 변환 방법에 의해 캐시 메모리(L2Cache)를 유효적으로 이용할 수 있어 히트율이 오른다.
이와 같이, 도 5의 간이 인덱스 변환 방식에 의한 어드레스 변환 방법에서는 1번째의 특징을 가지는 판독 요구에 대하여는 인덱스를 분산시킬 수 있지만, 2번째의 특징을 가지는 판독 요구에 대하여는 인덱스를 분산시킬 수가 없고, 캐시 메모리(L2Cache)의 리플레이스(replace)가 빈번하게 생긴다.
도 7에서 나타낸 인덱스 연산 방식에서는, 상기, 1번째의 특징을 가지는 판 독 요구 및 2번째의 특징을 가지는 판독 요구의 쌍방에 대응하고, 인덱스를 분산시킬 수 있고, 캐시 메모리(L2Cache)를 유효적으로 이용할 수 있어 히트율을 향상시킬 수 있다.
또한, 도 5에서 나타낸 간이 인덱스 변환 방식, 도 6에서 나타낸 인덱스 비트 시프트 변환 방식 및, 도 7에서 나타낸 인덱스 연산 방식은, NOR 인터페이스(NOR IF)로부터 판독모드 설정 레지스터(RModeReg)의 값을 고쳐씀으로써 선태그할 수 있다. 이와 같이, 어드레스 변환 방식은, 시스템에 맞추어서 이용자측에서 자유롭게 선태그할 수 있다.
<레지스터에의 설정>
도11(a), (b) 및 (c)는, 동기형 NOR 인터페이스 및 비동기형 NOR 인터페이스의 선태그, 버스트길이의 선태그, 어드레스 변환회로(DSTR)에서 하는 어드레스 변환 방법의 선태그을 하기 위한 일예를 나타내는 플로우 챠트이다.
동기형 NOR 인터페이스 및 비동기형 NOR 인터페이스의 선태그, 버스트길이의 선태그, 어드레스 변환회로(DSTR)에서 하는 어드레스 변환 방법의 선태그은, 판독모드 설정 레지스터(RModeReg)에 설정 값을 기록함으로써 동시에 선태그할 수 있다.
동기형 NOR 인터페이스 및 비동기형 NOR 인터페이스의 어느쪽인가의 선태그, 버스트길이의 선태그, 어드레스 변환회로(DSTR)에서 하는 어드레스 변환 방법의 선태그을 할 경우, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터, 판독모드 설정 레지스터(RModeReg)의 값을 설정하는 명령RModeSet를 입력하고 (Stepl), 다음에 판독모드 설정 레지스터(RModeReg)에 설정치를 기록한다 (Step2).
도11(a)은, NOR 인터페이스를 동기형 NOR 인터페이스에, 버스트길이를 4에, 어드레스 변환 방법을 인덱스 연산 방식에, 선태그하는 일례이다.
도11(b)은, NOR 인터페이스를 동기형 NOR 인터페이스에, 버스트길이를 8에, 어드레스 변환 방법을 인덱스 비트 시프트 변환 방식에, 선태그하는 일례이다.
도11(b)은, NOR 인터페이스를 비동기형 NOR 인터페이스에, 버스트길이를 4에, 어드레스 변환 방법을 간이 인덱스 변환 방식에, 선태그하는 일례이다.
도11(d)은, 판독모드 설정 레지스터(RModeReg)내의 설정치를 판독하기 위한 일예를 나타내는 플로우 챠트이다.
판독모드 설정 레지스터(RModeReg)내의 설정치를 판독하기 위해서는, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터, 판독 모드 설정 레지스터 리드 명령RmodeRead를 입력하면 (Step1), NOR 인터페이스(NOR IF)를 통하여, 판독모드 설정 레지스터(RModeReg)내의 설정치가 출력된다 (Step2).
도12(a)는 캐시영역 및 비캐시 영역의 범위를 설정하기 위한 일예를 나타내는 플로우 챠트이다.
캐시영역 및 비캐시 영역의 설정을 할 경우, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터, 캐시 영역을 설정하기 위한 명령C에어리어(AREA)Set를 입력하고 (Step1), 다음에 캐시 영역설정 레지스터C에어리어(AREA)Reg에, 캐시영역의 시작 어드레스 값을 기록한다 (Step2), 다음에 캐시 영역설정 레지스터C에어리어(AREA)Reg에, 캐시영역의 종료 어드레스 값을 기록한다 (Step3). 캐시영역의 시 작 어드레스 값과 종료 어드레스 값의 사이가 캐시 영역이 되고, 그 이외는 비캐시 영역이 된다.
도12(c)는 캐시 영역설정레지스터C에어리어(AREA)Reg내의 설정치를 판독하기 위한 일예를 나타내는 플로우 챠트이다.
캐시 영역설정레지스터C에어리어(AREA)Reg내의 설정치를 판독하기 위해서는, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터, 캐시 영역설정 레지스터C에어리어(AREA)Reg리드 명령C에어리어(AREA)Read를 입력하면 (Stepl), NOR 인터페이스(NOR IF)를 통하여, 캐시 영역설정 레지스터C에어리어(AREA)Reg내의 설정치가 출력된다 (Step2).
도12(b)는 캐시 록영역 및 비캐시 록 영역의 범위를 설정하기 위한 일예를 나타내는 플로우 챠트이다.
캐시 록영역 및 비캐시 록 영역의 설정을 할 경우, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터, 캐시 록 영역설정을 설정하기 위한 명령CaLOckSet를 입력하고 (Step1), 다음에 캐시 록 영역설정 레지스터CaLockReg에, 캐시 록영역의 시작 어드레스 값을 기록한다 (Step2), 다음에 캐시 록 영역설정 레지스터CaLockReg에, 캐시 록영역의 종료 어드레스 값을 기록한다 (Step3). 캐시 록영역의 시작 어드레스 값과 종료 어드레스 값의 사이가 캐시 록 영역으로 되고, 그 이외는 비캐시 록 영역으로 된다. 또한, 캐시 록 영역은, 캐시 영역내에 설정하면 좋다.
도12(d)는 캐시 록 영역 설정레지스터(CaLockReg)내의 설정치를 판독하기 위한 일예를 나타내는 플로우 챠트이다.
캐시 록 영역 설정레지스터(CaLockReg)내의 설정치를 판독하기 위해서는, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터, 캐시 록 영역설정 레지스터CaLockReg리드 명령CaLockRead를 입력하면 (Step1), NOR 인터페이스(NOR IF)를 통하여, 캐시 록 영역설정 레지스터CaLockReg내의 설정치가 출력된다 (Step2).
도13(a)은 기록회수 평균화 처리 영역 및 비기록회수 평균화 처리 영역을 설정하기 위한 일예를 나타내는 플로우 챠트이다.
기록회수 평균화 처리 영역 및 비기록회수 평균화 처리 영역의 설정을 할 경우, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터, 기록회수 평균화 처리 영역을 설정하기 위한 명령WlvlSet를 입력하고 (Step1), 다음에 기록회수 평균화 처리 영역설정 레지스터(WlvlReg)에, 기록회수 평균화 처리 영역의 시작 어드레스 값을 기록한다 (Step2), 다음에 기록회수 평균화 처리 영역설정 레지스터(WlvlReg)에, 기록회수 평균화 처리 영역의 종료 어드레스 값을 기록한다 (Step3). 기록회수 평균화 처리 영역의 시작 어드레스 값과 종료 어드레스 값의 사이가 기록회수 평균화 처리 영역이 되고, 그 이외는 비기록회수 평균화 처리 영역이 된다.
도13(c)은 기록회수 평균화 처리 영역설정 레지스터(WlvlReg)내의 설정치를 판독하기 위한 일예를 나타내는 플로우 챠트이다.
기록회수 평균화 처리 영역설정 레지스터(WlvlReg)내의 설정치를 판독하기 위해서는, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터, 기록회수 평균화 처리 영역설정 레지스터(WlvlReg)리드 명령WlvlRead를 입력하면 (Step1), NOR 인터페이스(NOR IF)를 통하여, 기록회수 평균화 처리 영역설정 레지스터(WlvlReg)내의 설정치가 출력된다 (Step2).
도13(b)는 라이트 프로텍션 영역 및 비라이트 프로텍션 영역을 설정하기 위한 일예를 나타내는 플로우 챠트이다.
라이트 프로텍션 영역 및 비라이트 프로텍션 영역의 설정을 할 경우, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터, 라이트 프로텍션 영역을 설정하기 위한 명령WproSet를 입력하고 (Step1), 다음에 라이트 프로텍션 영역설정 레지스터(WproReg)에, 라이트 프로텍션 영역의 시작 어드레스 값을 기록한다 (Step2), 다음에 라이트 프로텍션 영역설정 레지스터(WproReg)에, 라이트 프로텍션 영역의 종료 어드레스 값을 기록한다 (Step3). 라이트 프로텍션 영역의 시작 어드레스 값과 종료 어드레스 값의 사이가 기록회수 평균화 처리 영역이 되고, 그 이외는 비라이트 프로텍션 영역이 된다.
도13(d)은 라이트 프로텍션 영역설정레지스터WproReg내의 설정치를 판독하기 위한 일예를 나타내는 플로우 챠트이다.
라이트 프로텍션 영역설정 레지스터(WproReg)내의 설정치를 판독하기 위해서는, 특별히 한정하지 않지만, NOR 인터페이스(NOR IF)로부터, 라이트 프로텍션 영역설정 레지스터 리드 명령WproRead를 입력하면 (Step1), NOR 인터페이스(NOR IF)를 통하여, 라이트 프로텍션 영역설정 레지스터(WproReg)내의 설정치가 출력된다 (Step2).
이상 설명한 것과 같이, 동기형 NOR 인터페이스나 비동기형 NOR 인터페이스, 캐시 영역 및 비캐시 영역, 캐시 록 영역 및 비캐시 록 영역, 기록회수 평균화 처리 영역 및 비기록회수 평균화 처리 영역, 라이트 프로텍션 영역 및 비라이트 프로텍션 영역은, 각각 독립적으로 설정 할 수가 있고, 시스템에 맞추어서 이용자측에서 자유롭게 선택할 수 있다.
<판독 플로>
도14는, NOR 인터페이스(NOR IF)로부터, 판독 요구가 입력했을 경우의, 메모리 모듈(MSM)의 판독 동작의 일예를 나타내는 플로우 챠트이다.
NOR 인터페이스(NOR IF)로부터, 메모리 모듈(MSM)에 판독 요구와 판독 어드레스RAdd가 입력하면 (Step1), NAND 인터페이스NAND IF1로부터의 기록 혹은 소거 요구가 발생하고, 기록 혹은 소거 어드레스WorEAd가 판독 어드레스Radd와 일치하고 있는지를 체크하여 (Step2), 기록 혹은 소거 어드레스WorEAdd가 판독 어드레스Radd와 일치하고 있으면, 메모리 모듈(MSM)은 에러를 NOR 인터페이스(NOR IF)를 통해서 출력한다 (Step3).
기록 혹은 소거 어드레스WorEAdd가 판독 어드레스Radd와 일치하지 않으면, 메모리 어드레스 관리회로(MMG)이 어드레스Radd가 캐시 어드레스 범위내인지를 체크하여 (Step4), 어드레스Radd가 캐시 어드레스 범위외이면, 메모리 모듈(MSM)은 에러를 NOR 인터페이스(NOR IF)를 통해서 출력한다 (Step3).
어드레스Radd가 캐시 어드레스 범위내이면, 액세스 조정회로(ARB)는, NAND 인터페이스 회로(NDIF)로부터의 판독이나 기록 요구가 있는지 아닌지, 더욱이, NAND 인터페이스 회로(NDIF)로부터의 판독이나 기록 요구에 대한 동작을 하고 있는 지 아닌지를 체크한다. NAND 인터페이스 회로(NDIF)로부터의 판독이나 기록 요구가 있고, 이 요구에 대한 동작이 아직 행하여지지 않고 있을 경우는, 일단 NAND 인터페이스 회로(NDIF)로부터의 판독이나 기록 요구를 뒤로 돌리고, NOR 인터페이스(NOR IF)로부터의 판독 요구를 우선적으로 허가한다 (Step4). 또한, NAND 인터페이스 회로(NDIF)로부터의 판독이나 기록 요구에 대한 동작이 실행중의 경우는, 이 실행중의 동작을 일단 중단하고, NOR 인터페이스(NOR IF)로부터의 판독 요구를 우선적으로 허가한다 (Step5).
다음에, 어드레스 변환회로(DSTR)가 어드레스Radd를 어드레스 MRADD에 변환한다(Step6). 다음에 어드레스 MRADD가, 캐시 메모리(L2Cache)와, 히트 판정회로PL2Hit 및 L3Hit에 입력되고, 캐시 메모리(L2Cache)에서히트 판정(Step7), 히트 판정회로PL2Hit에서의 히트 판정(Step8), 히트 판정회로L3Hit에서의 히트 판정(Step9)이 행하여진다. 캐시 메모리(L2Cache)가 히트했을 경우, 캐시 메모리(L2Cache)로부터 데이터가 출력되고 (Step10), NOR 인터페이스(NOR IF)를 통해서 판독된다 (Step11). 캐시 메모리(L2Cache)가 미스 하고, 히트 판정회로PL2mt가 히트했을 경우는, 캐시 메모리PL2A 및 PL2B의 어느쪽인가로부터 데이터가 출력되고 (Step12), NOR 인터페이스(NOR IF)를 통해서 판독된다 (Step11).
캐시 메모리(L2Cache)가 미스 하고, 히트 판정회로PL2Hit가 미스 하고, 히트 판정회로L3Hit가 히트했을 경우, 플래시 메모리(FLASH_CHIP)내의 데이터 레지스터(DREG)내의 N페이지째 데이터는 버퍼 회로(BUF)에 전송된다 (Step13).
다음에, N페이지째 데이터는 버퍼 회로(BUF)에 전송되면서 에러검출 정정회 로(ECC)에서, 에러 검출이 행하여진다 (Step14). 다음에, 에러검출 정정회로(ECC)에러가 있었는지 없었는지를 체크하고 (Step15), 에러가 없으면, 버퍼 회로(BUF)에 전송된 N페이지째 데이터는 제어회로(RWCL)에 의해 캐시 메모리PL2A에 전송된다. 에러가 있으면 에러검출 정정회로(ECC)에서 에러 정정을 한 (Step16)후, N페이지째 데이터는 제어회로(RWCL)에 의해 캐시 메모리PL2A에 전송된다 (Step17).
캐시 메모리PL2A에 전송된 N페이지째 데이터 중의 정보처리장치(CPU_CHIP)에 요구된 데이터는 NOR 인터페이스 회로(NRIF)를 통해서 NOR 인터페이스(NOR IF)로부터 판독된다.
더욱이, 먼저읽기 지시회로(PRECT)가 제어회로(RWCL)에 데이터의 먼저 읽기를 지지하고, 제어회로(RWCL)가 제어회로(FCNT)에 판독 요구를 입력하고, 데이터 레지스터(DREG)내의 차 페이지째의 데이터, 즉 N+1번째의 데이터를 버퍼 회로(BUF)에 전송한다.
다음에, N+1페이지째 데이터는 버퍼 회로(BUF)에 전송되면서 에러검출 정정회로(ECC)에서, 에러 검출이 행하여진다 (Step19). 다음에, 에러검출 정정회로(ECC)에러가 있었는지 없었는지를 체크하고 (Step20), 에러가 없으면, 버퍼 회로(BUF)에 전송된 N+1페이지째 데이터는 제어회로(RWCL)에 의해서 캐시 메모리(PL2B)에 전송된다. 에러가 있으면 에러검출 정정회로(ECC)에서 에러 정정을 한 (Stepl2)후, N페이지째 데이터는 제어회로(RWCL)에 의해 캐시 메모리PL2A에 전송된다 (Step22).
캐시 메모리(L2Cache)가 미스하고, 히트 판정회로PL2Hit가 미스 하여, 히트 판정회로L3Hit가 미스 했을 경우, 우선, 제어회로(RWCL)가 제어회로(FCNT)에, N페이지째 데이터의 판독 요구를 입력한다. 제어회로(FCNT)는, 메모리 셀(memory cell) 어레이MARY내의 N페이지째 데이터를 데이터 레지스터(DREG)에 전송한다(Step23). 다음에, 데이터 레지스터(DREG)내의 N페이지째 데이터는 버퍼 회로(BUF)에 전송된다(Step13).
다음에, N페이지째 데이터는버퍼 회로(BUF)에 전송되면서 에러검출 정정회로(ECC)에서, 에러 검출이 행하여진다 (Step14). 다음에, 에러검출 정정회로(ECC)에러가 있었는지 없었는지를 체크하고 (Step15), 에러가 없으면, 버퍼 회로(BUF)에 전송된 N페이지째 데이터는 제어회로(RWCL)에 의해 캐시 메모리PL2A에 전송된다. 에러가 있으면 에러검출 정정회로(ECC)에서 에러 정정을 한 후(Stepl6), N페이지째 데이터는 제어회로(RWCL)에 의해 캐시 메모리PL2A에 전송된다(Stepl7).
캐시 메모리PL2A에 전송된 N페이지째 데이터 중의 정보처리장치(CPU_CHIP)에 요구된 데이터는 NOR 인터페이스 회로(NRIF)를 통해서 NOR 인터페이스(NOR IF)로부터 판독된다.
더욱이, 먼저읽기 지시회로(PRECT)가 제어회로(RWCL)에 데이터의 먼저 읽기를 지지하고, 제어회로(RWCL)가 제어회로(FCNT)에 판독 요구를 입력하고, 데이터 레지스터(DREG)내의 차 페이지째의 데이터, 즉 N+1번째의 데이터를 버퍼 회로(BUF)에 전송한다.
다음에, N+1페이지째 데이터는버퍼 회로(BUF)에 전송되면서 에러검출 정정회로(ECC)에서, 에러 검출이 행하여진다 (Step19). 다음에, 에러검출 정정회로(ECC) 에러가 있었는지 없었는지를 체크하여 (Step20), 에러가 없으면, 버퍼 회로(BUF)에 전송된 N+1페이지째 데이터는 제어회로(RWCL)에 의해 캐시 메모리(PL2B)에 전송된다. 에러가 있으면 에러검출 정정회로(ECC)에서 에러 정정을 한 (Step12)후, N페이지째 데이터는 제어회로(RWCL)에 의해 캐시 메모리PL2A에 전송된다(Step22).
<기록 동작>
도15는, NAND 인터페이스NAND IF1보다 기록 요구가 발생하고, NOR 인터페이스로부터 판독 요구가 발생했을 경우의, 메모리 모듈(MSM)의 액세스 조정 및 기록 동작의 일예를 나타내는 플로우 챠트이다.
NAND 인터페이스NAND IF1로부터 기록 어드레스(NWADD) 및 기록 데이터NWDATA가 입력되며 (Step1), 기록 어드레스(NWADD)는 메모리 어드레스 관리회로(MMG)에 전송되어, 기록 데이터NWDATA는 라이트 버퍼WBUF에 전송된다 (Step2).
다음에, 액세스 조정회로(ARB)는 NOR 인터페이스(NOR IF)로부터 판독 요구가 입력했는지를 체크하여 (Step3), 판독 요구가 입력했을 경우는, NAND 인터페이스NAND IF1로부터의 기록 요구에 의한 동작을 일시정지하고, 우선적으로 도20에서 나타낸 판독 동작을 한다 (Step4). 이 판독 동작이 완료하면, NAND 인터페이스NAND IF1로부터의 기록 요구에 의한 동작으로 되돌아가고, 기록 어드레스(NWADD)가 캐시 어드레스 영역내에 존재하는지를 체크하고 (Step5), 어드레스 변환회로(DSTR)에서 어드레스NWADD를 어드레스MNWADD에 변환한다(Step6).
어드레스MNWADD와 캐시 메모리(L2Cache)의 태그 어드레스를 비교하여 (Step7), 일치한 태그 어드레스를 무효로 한다 (Step8).
다음에, 액세스 조정회로(ARB)는 NOR 인터페이스(NOR IF)로부터 판독 요구가 입력했는지를 체크하여 (Step9), 판독 요구가 입력했을 경우는, NAND 인터페이스NAND IF1로부터의 기록 요구에 의한 동작을 일시정지하고, 우선적으로 도20에서 나타낸 판독 동작을 한다 (Step10). 이 판독 동작이 완료하면, NAND 인터페이스NAND IF1로부터의 기록 요구에 의한 동작으로 되돌아가고, 라이트 버퍼WBUF에 유지되어 있는 기록 데이터NWDATA를 데이터 레지스터(DREG)에 데이터를 전송한다 (Stepll).
다음에, 액세스 조정회로(ARB)는 NOR 인터페이스(NOR IF)로부터 판독 요구가 입력했는지를 체크하고 (Step12), 판독 요구가 입력했을 경우는, NAND 인터페이스NAND IF1로부터의 기록 요구에 의한 동작을 일시정지하고, 우선적으로 도20에서 나타낸 판독 동작을 한다 (Stepl3). 이 판독 동작이 완료하면, NAND 인터페이스NAND IF1로부터의 기록 요구에 의한 동작으로 되돌아가고, 데이터 레지스터(DREG)에 유지되어 있는 기록 데이터NWDATA를 메모리 셀(memory cell) 어레이MARY에 기록한다 (Step14).
대체 처리회로(REP)는, 메모리 셀(memory cell) 어레이MARY에의 기록이 성공한 것인가 아닌가를 체크하여 (Step15), 기록이 실패한 시에는, 플래시 메모리(FLASH_CHIP)에 미리 준비되어 있는 대체용의 새로운 어드레스를 준비하고 (Stepl6), 이 어드레스에 대하여 기록을 한다 (Step14). 기록이 성공한 후, 액세스 조정회로(ARB)는 NOR 인터페이스(NOR IF)로부터 판독 요구가 입력했는지를 체크하여 (Stepl7), 판독 요구가 입력했을 경우는, NAND 인터페이스NAND IF1로부터의 기록 요구에 의한 동작을 일시정지하고, 우선적으로 도20에서 나타낸 판독 동작을 한 다 (Stepl8). 이 판독 동작이 완료하면, 최후로, 기록 어드레스(NWADD)를 클리어한다.
<NAND IF1로부터 소거 동작>
도16은, NAND 인터페이스NAND IF1로부터 소거 요구가 발생하고, NOR 인터페이스로부터 판독 요구가 발생했을 경우의, 메모리 모듈(MSM)의 액세스조정 및 소거 동작의 일예를 나타내는 플로우 챠트이다.
NAND 인터페이스NAND IF1로부터 소거 명령과 소거 어드레스NEADD가 입력되고, 소거 어드레스NEADD는 메모리 어드레스 관리회로(MMG)에 전송된다 (Step1).
다음에, 액세스 조정회로(ARB)는 NOR 인터페이스(NOR IF)로부터 판독 요구가 입력했는지를 체크하고 (Step2), 판독 요구가 입력했을 경우는, NAND 인터페이스NAND IF1로부터의 소거 요구에 의한 동작을 일시정지하고, 우선적으로 도20에서 나타낸 판독 동작을 한다 (Step3). 이 판독 동작이 완료하면, NAND 인터페이스NAND IF1로부터의 소거 요구에 의한 동작으로 되돌아가고, 소거 어드레스NWADD가 캐시 어드레스 영역내에 존재하는지를 체크하여 (Step4), 어드레스 변환회로(DSTR)에서 어드레스NEADD를 어드레스MNEADD에 변환한다 (Step5).
어드레스MNEADD와 캐시 메모리(L2Cache)의 태그 어드레스를 비교하여 (Step6), 일치한 태그 어드레스를 무효로 한다 (Step7).
다음에, 액세스 조정회로(ARB)는 NOR 인터페이스(NOR IF)로부터 판독 요구가 입력했는지를 체크하여 (Step8), 판독 요구가 입력했을 경우는, NAND 인터페이스NAND IF1로부터의 소거 요구에 의한 동작을 일시정지하고, 우선적으로 도20에서 나 타낸 판독 동작을 한다 (Step9). 이 판독 동작이 완료하면, NAND 인터페이스NAND IF1로부터의 소거 요구에 의한 동작으로 되돌아가고, 메모리 셀(memory cell) 어레이MARY를 소거한다 (Stepll).
다음에, 액세스 조정회로(ARB)는 NOR 인터페이스(NOR IF)로부터 판독 요구가 입력했는지를 체크하고 (Step11), 판독 요구가 입력했을 경우는, NAND 인터페이스NAND IFl로부터의 기록 요구에 의한 동작을 일시정지하고, 우선적으로 도20에서 나타낸 판독 동작을 한다 (Step12). 이 판독 동작이 완료하면, NAND 인터페이스NAND IF1로부터의 소거 요구에 의한 동작으로 되돌아가고, 어드레스NEADD가 기록 회수평균화영역내에 존재하고 있는지를 체크한다 (Step13). 어드레스NEADD가 기록 회수평균화영역내에 존재하고 있을 경우는, 기록 회수와 소거 회수의 총합계, 기록회수 평균화회로(WLV)가 유지하고 있는 기록 회수와 소거 회수의 총합계 문턱치에 도달하고 있는지를 체크하고 (Step14), 그 총합계 문턱치에 도달하면 기록회수 평균화회로(WLV)는, 고쳐 쓰기가 집중하고 있다고 판단하고, 기록회수 평균화 처리를 한다 (Step15). 이 기록회수 평균화 처리는 블록(64 페이지)마다에 물리 어드레스와 논리 어드레스의 대응을 변경하고, 이 물리 어드레스와 논리 어드레스의 대응정보를 유지하는 것이다.
어드레스NEADD가 기록 회수평균화영역내에 존재하지 않을 경우 혹은, 기록회수 평균화 처리가 종료한 후, 액세스 조정회로(ARB)는 NOR 인터페이스(NOR IF)로부터 판독 요구가 입력했는지를 체크하고 (Step16), 판독 요구가 입력했을 경우는, NAND 인터페이스NAND IF1로부터의 소거 요구에 의한 동작을 일시정지하고, 우선적 으로 도20에서 나타낸 판독 동작을 한다 (Step17). 이 판독 동작이 완료하면, 최후에, 소거 어드레스NEADD를 클리어한다 (Step18).
<NAND IF1로부터 리드 명령>
도17은, NAND 인터페이스NAND IF1로부터 판독 요구가 발생하고, 더욱이 NOR 인터페이스로부터 판독 요구가 발생했을 경우의, 메모리 모듈(MSM)의 액세스 조정 및 판독 동작의 일예를 나타내는 플로우 챠트이다.
NAND 인터페이스NAND IF1로부터 판독 명령과 판독 어드레스NRADD가 입력되면 (Step1), 다음에, 액세스 조정회로(ARB)는 NOR 인터페이스(NOR IF)로부터 판독 요구가 입력했는지를 체크하여 (Step2), 판독 요구가 입력했을 경우는, NAND 인터페이스NAND IF1로부터의 판독 요구에 의한 동작을 일시정지하고, 우선적으로 도20에서 나타낸 판독 동작을 한다 (Step3). 이 판독 동작이 완료하면, NAND 인터페이스NAND IF1로부터의 판독 요구에 의한 동작으로 되돌아가고, 메모리 셀(memory cell) 어레이MARY로부터 데이터 판독 데이터 버퍼(data buffer)DREG전송한다 (Step4).
다음에, 액세스 조정회로(ARB)는 NOR 인터페이스(NOR IF)로부터 판독 요구가 입력했는지를 체크하여 (Step5), 판독 요구가 입력했을 경우는, NAND 인터페이스NAND IF1로부터의 판독 요구에 의한 동작을 일시정지하고, 우선적으로 도20에서 나타낸 판독 동작을 한다 (Step6). 이 판독 동작이 완료하면, NAND 인터페이스NAND IF1로부터의 판독 요구에 의한 동작으로 되돌아가고, 데이터 버퍼(data buffer)DREG에 유지되어 있는 데이터를버퍼 회로(BUF)에 전송한다(step7).
데이터는 버퍼 회로(BUF)에 전송되면서 에러검출 정정회로(ECC)에서, 에러 검출이 행하여진다 (Step8). 다음에, 에러검출 정정회로(ECC)에러가 있었는지 없었는지를 체크하여 (Step9), 에러가 없으면, 버퍼 회로(BUF)에 전송된 데이터는 리드 버퍼(RBUF)에 전송된다 (Step11). 에러가 있으면 에러검출 정정회로(ECC)에서 에러 정정을 한 (Step10)후, 리드 버퍼(RBUF)에 전송된다 (Step11). 최후로, 리드 버퍼(RBUF)에 유지되어 있는 데이터는 NOR 인터페이스(NOR IF)에 판독된다 (Stepl2).
<캐시 록용L2Cache구성>
도18은, 캐시 록 동작을 하기 위해서 필요한 캐시 메모리(L2Cache)의 구성을 나타내는 일례이다.
어드레스Add6, 어드레스Add2 및 어드레스AddO는 도8에서 설명한 어드레스와 동등하다.
캐시 메모리(L2Cache)의 구성은, 특별히 한정하지 않지만, 어드레스 어레이(AddressArray)와 데이터 어레이(DataArray)로 구성되어 있고, 데이터 어레이(DataArray)의 용량은 256M바이트, 라인 사이즈는 512바이트, 인덱스 어드레스lndex2는 0부터 511까지 있고, 세트아소시아티브는 4웨이세트아소시아티브이다. 또한, 어드레스 어레이(AddressArray)는 태그 어드레스Tag2과 유효 비트vld, 더티비트dt, 캐시록플러그lck으로 구성되고, 데이터 어레이(DataArray)는 하나의 인덱스 어드레스에 대하여 512바이트의 데이터가 유지된다.
캐시록어드레스범위내에 존재하는 태그 어드레스의 캐시록플러그lck의 값은 1이 되고, 캐시록어드레스 범위외에 존재하는 태그 어드레스의 캐시록플러그lck의 값은 0이 된다.
캐시록플러그lck의 값이 1인 데이터는 데이터 갱신의 대상외의 데이터이며, 캐시록플러그lck이 0으로 되지 않는 한 캐시 메모리(L2Cache)로부터 추출되는 일은 없다.
캐시록플러그lck이 0인 데이터는 데이터 갱신의 대상으로 되는 데이터이며, 캐시 메모리(L2Cache)로부터 추출될 가능성이 있다.
<캐시록플러그해제>
도21은, 캐시 록 해제의 일예를 나타내는 플로우 챠트이다. NOR 인터페이스(NOR IF)로부터, 캐시 록 영역설정 레지스터CaLockReg에 캐시록해제 명령을 기록하면 (Stepl), 캐시 메모리(L2Cache)는 스스로의 모든 캐시록플러그lck을 0(Low)로 하고 (Step2), 캐시 록 영역설정 레지스터CaLockReg에 설정된 캐시 록 범위 어드레스를 무효로 하고 (Step3), 최후로 캐시 메모리(L2Cache)캐시 록 해제가 완료한 것을 나타내는 캐시 록 해제 완료 신호를 High로 한다 (Step4). 이상의 수속에 의해, 캐시 록을 하는 어드레스 범위가 무효로 된 것이, 메모리 어드레스 관리회로(MMG)에 입력된다.
<캐시 록어의 판독 동작>
도20은, 캐시 록이 설정되었을 경우의, 캐시 메모리(L2Cache), PL2A, PL2B의 동작의 일례에 대해서 설명하는 플로우 챠트이다.
NOR 인터페이스(NOR IF)로부터 메모리 모듈(MSM)에 리드요구와 어드레스RADD가 입력되면 (Stepl), 메모리 어드레스 관리회로(MMG)는 어드레스RADD가, 캐시 록을 하는 어드레스 범위내인지를 체크한다 (Step2). 어드레스RADD가, 캐시 록을 하 는 어드레스 범위외이면 Step26으로 진행한다.
Step26 로부터의 동작의 상세한 것은, 도21에 나타내져 있다.
또한, 어드레스RADD가, 캐시 록을 하는 어드레스 범위내이면, 캐시 메모리(L2Cache)에서 히트 판정을 한다 (Step3).
캐시 메모리(L2Cache)에 히트했을 경우는, 히트 한 태그 어드레스에 대응한 캐시록플러그가 High로 되어 있는지 아닌지를 체크하여 (Step4), 캐시록플러그가 High의 경우에는, 캐시 메모리(L2Cache)로부터 데이터를 출력한다(Step24). 캐시록플러그가 Low의 경우에는, 이 캐시록플러그를 High로 하고 (Step5), 캐시 메모리(L2Cache)로부터 데이터를 출력한다 (Step24).
캐시 메모리(L2Cache)에 미스했을 경우는, 캐시 메모리PL2A 및 PL2B에의 히트 판정을 하고 (Step6), 히트 했을 경우, 캐시 메모리PL2A 및 PL2B의 데이터를캐시 메모리(L2Cache)에 전송하고, 갱신한다(Step12). 데이터를 갱신할 때는, 캐시록플러그가 Low인 데이터에 대하여, LRU방식으로 갱신을 한다. 다음에, 캐시록플러그를 High로 하고 (Step13), 캐시 메모리PL2A 및 PL2B을 무효화하고 (Step14), 캐시 메모리PL2A 및 PL2B으로부터 데이터를 출력한다(Step24).
캐시 메모리PL2A 및 PL2B에서 미스의 경우, 캐시 메모리PL2A 및 PL2B가 유효한지를 체크하고 (Step7), 유효하면, 현재, 캐시 메모리PL2A 및 PL2B에 존재하는 데이터를 캐시 메모리(L2Cache)에 전송하고, 갱신한다 (Step8). 데이터를 갱신할 때는, 캐시록플러그가 Low인 데이터에 대하여, LRU방식으로 갱신을 한다.
다음에, 캐시록플러그를 High로 하고 (Step9), 캐시 메모리PL2A 및 PL2B을 무효화한다 (Step10). 다음에, 요구 데이터를 플래시 메모리(FLASH_CHIP)로부터 캐시 메모리PL2A에 전송하고 (Step11), 캐시 메모리PL2A의 데이터를 캐시 메모리(L2Cache)에 전송하고, 갱신한다 (Step15).
데이터를 갱신할 때는, 캐시록플러그가 Low인 데이터에 대하여, LRU방식으로 갱신을 한다. 다음에, 캐시록플러그를 High로 하고 (Step16), 캐시 메모리PL2A를 무효화하고(Step17), 캐시 메모리PL2A로부터 데이터를 출력한다 (Step24). 이것과 동시에, 먼저읽기 기능에 의해, 다음 페이지의 데이터를 플래시 메모리(FLASH_CHIP)로부터 캐시 메모리(PL2B)에 전송하고 (Step18), 다음에 캐시 록을 하는 어드레스 범위내인지를 체크한다 (Stepl9). 캐시 록을 하는 어드레스 범위내이면, 캐시 메모리(PL2B)의 데이터를 캐시 메모리(L2Cache)에 전송하고, 갱신한다 (Step20). 데이터를 갱신할 때는, 캐시록플러그가 Low인 데이터에 대하여, LRU방식으로 갱신을 한다.
다음에, 캐시록플러그를 High로 하고 (Step21), 캐시 메모리(PL2B)을 무효화한다 (Step22). 캐시 록을 하는 어드레스 범위외이면, 캐시 메모리(PL2B)을 유효로 한다 (Step23).
<캐시 록의 판독 동작>
도21은, 캐시 록이 설정되고, NOR 인터페이스(NOR IF)로부터 메모리 모듈(MSM)에 입력된 리드 요구와 어드레스RADD가 캐시 록을 하는 어드레스 범위외일 경우의 캐시 메모리(L2Cache), PL2A, PL2B의 동작의 일례에 대해서 설명하는 플로우 챠트이다.
어드레스RADD가, 캐시 록을 하는 어드레스 범위외 (Step25)이면, 캐시 메모리(L2Cache)에서 히트 판정을 한다 (Step26).
캐시 메모리(L2Cache)에 히트했을 경우는, 히트 한 태그 어드레스에 대응한 캐시록플러그가 Low로 되어 있는지 아닌지를 체크하고 (Step27), 캐시록플러그가 Low의 경우에는, 캐시 메모리(L2Cache)로부터 데이터를 출력한다 (Step41). 캐시록플러그가 High의 경우에는, 에러를 출력한다 (Step28).
캐시 메모리(L2Cache)를 미스 했을 경우는, 캐시 메모리PL2A 및 PL2B에의 히트 판정을 하고 (Step29), 히트 했을 경우, 캐시 메모리PL2A 혹은 PL2B로부터 데이터를 출력한다 (Step41).
캐시 메모리PL2A 및 PL2B에서 미스의 경우, 캐시 메모리PL2A 및 PL2B가 유효한지를 체크하고 (Step30), 유효하면, 현재, 캐시 메모리PL2A 및 PL2B에 존재하는 데이터를 캐시 메모리(L2Cache)에 전송하고, 갱신한다 (Step31). 데이터를 갱신할 때는, 캐시록플러그가 Low인 데이터에 대하여, LRU방식으로 갱신을 한다.
다음에, 캐시 메모리PL2A 및 PL2B을 무효화한다 (Step32). 다음에, 요구 데이터를 플래시 메모리(FLASH_CHIP)로부터 캐시 메모리PL2A에 전송하고(Step33), 캐시 메모리PL2A의 데이터를 유효로 한다 (Step34). 다음에 캐시 메모리PL2A로부터 데이터를 출력한다 (Step41).
Step41 과 동시에, 먼저읽기 기능에 의해, 다음 페이지의 데이터를 플래시 메모리(FLASH_CHIP)로부터 캐시 메모리(PL2B)에 전송하고(Step35), 다음에 캐시 록을 하는 어드레스 범위내인지를 체크한다 (Step36). 캐시 록을 하는 어드레스 범위 내이면, 캐시 메모리(PL2B)의 데이터를 캐시 메모리(L2Cache)에 전송하고, 갱신한다 (Step37). 데이터를 갱신할 때는, 캐시록플러그가 Low인 데이터에 대하여, LRU방식으로 갱신을 한다. 다음에, 캐시록플러그를 High로 하고 (Step38), 캐시 메모리(PL2B)을 무효화한다 (Step39). 또한, 캐시 록을 하는 어드레스 범위외이면, 캐시 메모리(PL2B)을 유효로 한다 (Step40),
[실시 예2]
<복수의 메모리 뱅크를 가지는 FLASH>
도22는, 본 발명에, 복수의 메모리 뱅크를 가지는 플래시 메모리(FLASH_CHIP)22를 적용한 제2의 실시 형태이다.
정보처리장치(CPU_CHIP)와, 메모리 모듈(MSM)22와, 다이내믹 랜덤 액세스 메모리(DRAM_CHIP)로 구성되는 메모리 시스템을 나타낸 것이다.
메모리 모듈(MSM)22는 플래시 메모리(FLASH_CHIP)22와 제어회로(CT_CHIP)으로 구성된다.
정보처리장치(CPU_CHIP)와, 제어회로(CT_CHIP)와, 다이내믹랜덤 액세스 메모리(DRAM_CHIP)는, 각각 도1에서 나타낸 것과 동등하다.
제어회로(CT_CHIP)는, NOR 인터페이스(NOR IF)로부터의 판독 및 기록 요구를 받는 NOR 인터페이스 회로(NRIF), NAND 인터페이스(NAND IF)부터의 판독 및 기록 요구를 받는 NAND 인터페이스 회로(NDIF), 레지스터 블록(REG), 어드레스 변환회로(DSTR), 캐시 메모리(L2Cache), PL2A, PL2B, 프리페치 제어회로(PREF), 플래시 제어회로(FLCT), 버퍼 회로(BFBK), 플래시 에러 제어회로(FLSP)로 구성된다.
이들 NOR 인터페이스(NOR IF), NOR 인터페이스 회로(NRIF), NAND 인터페이스(NAND IF), NAND 인터페이스 회로(NDIF), SDRAM 인터페이스(SDRAM_IF), 레지스터 블록(REG), 어드레스 변환회로(DSTR), 캐시 메모리(L2Cache), PL2A, PL2B, 프리페치 제어회로(PREF), 플래시 제어회로(FLCT)P, 플래시 제어회로(FLCT), 버퍼 회로(BFBK), 플래시 에러 제어회로(FLSP)는, 각각 도1에서 나타낸 것과 동등하다.
플래시 메모리(FLASH_CHIP)22는 제어회로(FCNT)22와, 데이터 버퍼(data buffer)DREGO로부터 DREG3과, 메모리 뱅크BANKO로부터 BANK3로 구성된다.
특별히 한정하지 않지만, 데이터 버퍼(data buffer)와 메모리 뱅크간의 데이터 전송에 관해서, 메모리 뱅크BANKO와데이터 버퍼(data buffer)DREGO사이의 데이터 전송과, 메모리 뱅크BANK1과 데이터 버퍼(data buffer)DREG1사이의 데이터 전송과, 메모리 뱅크BANK2와 데이터 버퍼(data buffer)DREG2사이의 데이터 전송과, 메모리 뱅크BANK3과 데이터 버퍼(data buffer)DREG3사이의 데이터 전송은, 각각 독립적으로 할 수 있다.
특별히 한정하지 않지만, 하나의 메모리 뱅크의 기억 용량은 64M바이트 있고, 4 개의 메모리 뱅크의 기억 용량의 총합계는 256M바이트가 된다.
또한, 특별히 한정하지 않지만, 하나의 데이터 버퍼(data buffer)의 데이터 사이즈는 2k바이트 있고, 4 개의 데이터 버퍼(data buffer)의 데이터 사이즈의 총합계는 8k바이트가 된다.
제어회로(FCNT)22는, 제어회로(CT_CHIP)로부터의 판독 및 기록 명령에 의해, 데이터 버퍼(data buffer)DREGO로부터 DREG3과 메모리 뱅크BANKO로부터 BANK3사이 의 데이터 전송을 제어하는 회로이다.
플래시 메모리 FLASH_CHIP22는, AND 인터페이스 및 NAND 인터페이스의 어느쪽이라도 동작가능하며, 여기서는 NAND 인터페이스의 경우를 예로, 플래시 메모리(FLASH_CHIP)22의 동작을 설명한다.
제어회로(FCNT)22는, 제어회로(CT_CHIP)의 NAND 인터페이스NAND IF3으로부터의 판독 및 기록 명령에 의해, 데이터 버퍼(data buffer)DREGO로부터 DREG3과 메모리 뱅크BANKO로부터 BANK3사이의 데이터 전송을 제어하는 회로이다.
제어회로(CT_CHIP)로부터의 NAND 인터페이스NAND IF22를 통해서 판독 요구 및 판독 어드레스가 제어회로(FCNT)22에 입력되면, 판독 어드레스가 지정한 메모리 뱅크의 데이터는, 이 메모리 뱅크로부터의 데이터 전송에 대응하고 있는 데이터 버퍼에 전송된다. 다음에, NAND 인터페이스NAND IF3을 통해서 제어회로(CT_CHIP)에 전송된다.
판독 어드레스에서는, 메모리 뱅크의 지정에 관해서, 한번에 전뱅크를 지정하거나, 2개의 뱅크를 지정하거나, 한 개씩 독립적으로 지정하거나 할 수 있으므로, 예를들면, 데이터 버퍼(data buffer)DREGO로부터 데이터를 판독하고 있을 때에, 백그라운드에서 메모리 뱅크BANK1로부터 데이터 버퍼(data buffer)DREG1에의 데이터 전송을 함으로써 메모리 뱅크로부터 데이터 버퍼에의 데이터 전송 시간을 은폐하고, 데이터 전송의 고속화를 꾀할 수 있다.
또한, 데이터 버퍼에 전송된 데이터는 그대로 유지되기 때문에, 8k바이트의 L3캐시로서 이용할 수 있고, 더욱이 데이터 전송의 고속화를 꾀할 수 있다.
이와 같이, 복수의 메모리 뱅크를 가지는 플래시 메모리(FLASH_CHIP)22를 적용했을 경우라도 본 발명은 실현된다.
[실시 예3]
본원발명자 등은, 본원에 앞서 휴대전화 및 그것에 사용되는 스태틱 랜덤 액세스 메모리(SRAM)과 플래시 메모리가 1패키지에 실장된 메모리 모듈의 신뢰성에 대해서 검토를 하였다.
소프트 에러는 반도체밀봉재중의 우라늄등의 방사성물질로부터 방출되는 α선이 스태틱 랜덤 액세스 메모리SR납의 메모리 어레이에 입사 함으로써, 이 메모리 어레이에 유지되어 있는 기억 데이터가 파괴되는 현상이며, 스태틱 랜덤 액세스 메모리(SRAM)의 신뢰성을 열화시키는 요인이 되어 있다. 또한, 스태틱 랜덤 액세스 메모리(SRAM)의 기억 용량이 클수록 면적도 커지므로, α선이 스태틱 랜덤 액세스 메모리(SRAM)에 입사하는 확립이 증가하고, 더욱이 신뢰성을 열화시켜버린다.
다이내믹랜덤 액세스 메모리DRAM이나 스태틱 랜덤 액세스 메모리(SRAM)등의 휘발성 메모리는 α선에 의해 신뢰성을 열화시켜 버리지만, 플래시 메모리등의 불휘발성 메모리에서는, 그 메모리 어레이 구조로부터 α선의 영향을 받지 않는 다는것이 판명되었다.
그래서, 본 발명의 목적의 하나는, 신뢰성이 높은 ROM과 RAM을 포함하는 메모리 시스템을 제공하는 것이다.
도23은, 본 발명의 제3의 실시 형태이다. 정보처리장치(CPU_CHIP)23과 메모리 모듈(MSM)23과, 다이내믹랜덤 액세스 메모리(DRAM_CHIP)로 구성되는 메모리 시 스템을 나타낸 실시예이다.
메모리 모듈(MSM)23은 플래시 메모리(FLASH_CHIP)와 제어회로(CT_CHIP)23으로 구성된다.
정보처리장치(CPU_CHIP)와, 플래시 메모리(FLASH_CHIP)와, 다이내믹랜덤 액세스 메모리(DRAM_CHIP)는, 각각 도1에서 나타낸 것과 동등하다.
제어회로(CT_CHIP)23은, NOR 인터페이스(NOR IF)부터의 판독 및 기록 요구를 받는 NOR 인터페이스 회로(NRIF), NAND 인터페이스(NAND IF)부터의 판독 및 기록 요구를 받는 NAND 인터페이스 회로(NDIF), 레지스터 블록(REG), 어드레스 변환회로(DSTR), 패리티 체크(parity check) 회로PRCH, 캐시 메모리(L2Cache)P, PL2AP, PL2BP, 프리페치 제어회로(PREF), 플래시 제어회로(FLCT)P, 버퍼 회로(BFBK), 플래시 에러 제어회로(FLSP)로 구성된다.
NOR 인터페이스(NOR IF), NOR 인터페이스 회로(NRIF), NAND 인터페이스(NAND IF), NAND 인터페이스 회로(NDIF), SDRAM인터페이스(SDRAM_IF), 레지스터 블록(REG), 어드레스 변환회로(DSTR), 프리페치 제어회로(PREF), 플래시 제어회로(FLCT)P, 버퍼 회로(BFBK), 플래시 에러 제어회로(FLSP)는, 각각 도1에서 나타낸 것과 동등하다.
패리티 체크(parity check) 회로PRCH는, 캐시 메모리(L2Cache)P로부터 판독한 데이터와 패리티 데이터를 바탕으로 패리티 체크(parity check)를 하는 회로이다.
패리티 체크(parity check)는 짝수 패리티 체크(parity check)과 홀수 패리 티 체크(parity check)이 있고, 패리티 체크(parity check) 회로PRCH는 어느쪽의 패리티 체크(parity check)도 할 수 있지만, 여기에서는 짝수 패리티 체크(parity check)를 예로 설명한다.
캐시 메모리(L2Cache)P, PL2AP 및 PL2BP는, 패리티 데이터를 가지는 캐시 메모리이며, 그 이외의 구성 및 동작은 도1에서 설명한 것과 동등하다.
플래시 제어회로(FLCT)P는, 패리티 데이터 생성 회로를 가지는 제어회로이며, 이 이외의 구성 및 동작은 도1에서 설명한 것과 동등하다.
<L2CacheP의 동작 설명>
캐시 메모리(L2Cahce)로부터 데이터를 판독할 경우의 동작의 일례에 대해서 설명한다.
캐시 메모리(L2Cache)에 히트했을 경우는, 직접, 캐시 메모리(L2Cahce)P로부터 데이터와 패리티 데이터를 판독하고, 패리티 체크(parity check) 회로PRCH에서 패리티 체크(parity check)를 한다.
특별히 한정하지 않지만, 짝수 패리티 체크(parity check)에서는, 8비트의 데이터와, 이것에 대응하는 패리티 비트의 High의 수가 짝수개인가 아닌가를 체크하고, 짝수개인 경우는, 데이터는 정확하게 판독되었다고 판단하고, 홀수개의 경우는 판독된 데이터에 에러가 생겼다고 판단된다.
패리티 체크(parity check) 회로PRCH에서 데이터가 정확하게 판독되었다고 판단되면, NOR 인터페이스 회로(NRIF)를 통해서 NOR 인터페이스(NOR IF)로부터 정보처리장치(CPU_CHIP)에 출력된다.
소프트 에러에 의해 캐시 메모리(L2Cache)의 데이터가 파괴되어, 판독된 데이터에 에러가 생겼다고 판단되었을 경우는, 플래시 제어회로(FLCT)P가, 에러가 생긴 데이터의 바탕 데이터를 플래시 메모리(FLASH_CHIP)로부터 판독하고, 플래시 에러 제어회로(FLSP)에 전송한다.
프리페치 제어회로(PREF)는, 플래시 메모리(FLASH_CHIP)내의 데이터 버퍼(data buffer)DREG내에 플래시 제어회로FLSP에의 데이터 전송이 생기고 있는 사이에, 캐시 메모리PL2AP 및 PL2PB에 유지되어 있는 데이터를 캐시 메모리(L2Cache)P에 전송하고, 캐시 메모리(L2Cache)를 갱신한다. 이 갱신에서는, 데이터와 동시에 패리티 데이터의 갱신을 한다.
플래시 에러 제어회로(FLSP)는, 플래시 메모리(FLASH_CHIP)로부터 전송된 데이터에 대하여 에러 검출 정정을 하고, 회로ECC에서, 에러가 없으면, 이 데이터를캐시 메모리PL2AP에 전송하고, 에러가 있으면 에러 정정을 한 후, 캐시 메모리PL2AP에 전송한다. 또한, 플래시 에러 제어회로(FLSP)는, 이 캐시 메모리PL2AP에의 데이터 전송할 때에는, 특별히 한정하지 않지만, 8 비트의 데이터에 대하여 1비트의 패리티 데이터를 생성하고, 패리티 데이터도 동시에, 캐시 메모리PL2AP에 전송한다. 특별히 한정하지 않지만, 짝수 패리티에서는, 8비트의 데이터 중, High의 비트가 홀수개존재했을 경우, 패리티 데이터는 High가 되고, High 의 비트를 짝수개로 한다. 또한, 8비트의 데이터 중, High의 비트가 짝수개 존재한 경우, 패리티 데이터는 Low가 되고, High 의 비트를 짝수개로 한다.
캐시 메모리PL2AP에 전송된 데이터는, 패리티 체크(parity check) 회로PRCH 에서 패리티 체크(parity check)가 행하여진다. 특별히 한정하지 않지만, 짝수 패리티 체크(parity check)에서는, 8비트의 데이터와, 이것에 대응하는 패리티 비트의 High의 수가 짝수개인가 아닌가를 체크하고, 짝수개이었을 경우는, 데이터는 정확하게 판독되었다고 판단하고, 홀수개의 경우는 판독된 데이터에 에러가 생겼다고 판단된다.
패리티 체크(parity check) 회로PRCH에서 데이터가 정확하게 판독되었다고 판단되면, NOR 인터페이스 회로(NRIF)를 통해서 NOR 인터페이스(NOR IF)로부터 정보처리장치(CPU_CHIP)에 출력된다.
판독된 데이터에 에러가 생겼다고 판단된 경우는, 재차 플래시 메모리로부터 데이터를 판독한다.
이와 같이, 소프트 에러에 의해서 캐시 메모리(L2Cache)의 데이터가 파괴되고, 패리티 체크(parity check) 회로PRCH에 의해 판독된 데이터에 에러가 생겼다고 판단된 경우는, 플래시 메모리 FLASH_CHIP로부터 데이터를 판독함으로써, 소프트 에러에 의한 신뢰성의 열화를 방지할 수 있다.
[실시 예4]
<DRAM이 MCP내>
도24는 본 발명을 적용한 별도의 실시예이다. 정보처리장치(CPU_CHIP)와 메모리 모듈(MSM)24로 구성되는 메모리 시스템을 나타낸 것이다.
메모리 모듈(MSM)24는, 플래시 메모리(FLASH_CHIP)와 제어회로(CT_CHIP)와, 다이내믹 랜덤 액세스 메모리(DRAM_CHIP)로 구성된다.
특별히 한정하지 않지만, 플래시 메모리(FLASH_CHIP)으로서 이용되는 전형적인 플래시 메모리는 NAND 인터페이스를 장비하고 있는 대용량 플래시 메모리이며, 본 실시예에서는 AND 인터페이스를 장비하고 있는 대용량 플래시 메모리를 적용하고 있는 예이다.
다이내믹랜덤 액세스 메모리(DRAM_CHIP)는내부구성이나 인터페이스의 다름때문에, EDO(ExtendedDataOut), SDRAM(SynchronousDRAM), DDR(DoubleDataRate)등 여러가지 종류가 있다. 메모리 모듈(MSM)24에는, 어느쪽의 DRAM에서도 이용할 수 있다. 본 실시예에서는 SDRAM을 예로 설명한다.
제어회로(CT_CHIP)는, NOR 인터페이스(NOR IF)와, NAND 인터페이스NAND IF를 장비하고 있어, 플래시 메모리(FLASH_CHIP)와 정보처리CPU_CHIP와의 사이의 데이터 전송을 제어하는 회로이며, 각각, 도1에서 나타낸 것과 동등하다.
또한, 다이내믹랜덤 액세스 메모리(DRAM_CHIP)는, 메모리 모듈(MSM)24에 탑재되어 있고, SDRAM 인터페이스SDRAM_IF에서 정보처리장치(CPU_CHIP)와 직접, 데이터 전송을 하는 구성으로 되어 있기 때문에, NOR 인터페이스, NAND 인터페이스 및 SDRAM인터페이스를 장비한 메모리 모듈(MSM)24는, 도1에 나타낸 본 발명을 실현 할 수가 있다.
이와 같이, 다이내믹랜덤 액세스 메모리(DRAM_CHIP)을 메모리 모듈에 내장 함으로써, 장치의 소형화를 가능하게 하고, 본 발명을 실현할 수 있다.
[실시 예5]
<하드 디스크>
도25는 본 발명을 적용한 제5의 형태예이다.
정보처리장치(CPU_CHIP)와 메모리 모듈(MSM)25와, 다이내믹 랜덤 액세스 메모리(DRAM_CHIP)로부터 구성되는 메모리 시스템을 나타낸 것이다.
메모리 모듈(MSM)25는 하드 디스크(HDisk)와 제어회로(CT_CHIP)25로 구성된다.
정보처리장치(CPU_CHIP)와, 다이내믹랜덤 액세스 메모리(DRAM_CHIP)는, 각각 도1에서 나타낸 것과 동등하다.
본 실시예는, 플래시 메모리 대신에 하드 디스크(HDisk)을 적용한 일례이다.
하드 디스크(HDisk)는, 플래시 메모리(FLASH_CHIP)보다 대용량이고 또한 저코스트를 실현할 수 있는 메모리이다. 하드 디스크(HDisk)으로부터 데이터를 판독하기 위한 인터페이스에는, IDE, ATA 및 UltraATA등이 있으나, 본 실시예에서는 UltraATA를 일례로 들고 있지만 IDE, ATA등을 적용할 수 있는 것은 말할 필요도 없다.
데이터의 판독 단위나, 어드레스 관리 방법이나, 에러 검출 정정 방법에 관해서 말하면, 원래 하드 디스크에서 실현하고 있었던 데이터의 판독 단위나, 어드레스 관리 방법이나, 에러 검출 정정 방법등을 플래시 메모리가 이어받고 있고, 플래시 메모리 대신에 하드 디스크(HDisk)를 이용할 수 있다.
제어회로(CT_CHIP)25는, NOR 인터페이스(NOR IF)로부터의 판독 및 기록 요구를 받는 NOR 인터페이스 회로(NRIF), NAND 인터페이스(NAND IF)로부터의 판독 및 기록 요구를 받는 NAND 인터페이스 회로(NDIF), 레지스터 블록(REG), 어드레스 변 환회로(DSTR), 캐시 메모리(L2Cache), PL2A, PL2B, 프리페치 제어회로(PREF), 하드 디스크 제어회로FLCT25, 버퍼 회로(BFBK), 플래시 에러 제어회로(FLSP)로 구성된다.
NOR 인터페이스(NOR IF), NOR 인터페이스 회로(NRIF), NAND 인터페이스(NAND IF), NAND 인터페이스 회로(NDIF), SDRAM 인터페이스(SDRAM_IF), 레지스터 블록(REG), 어드레스 변환회로(DSTR), 캐시 메모리(L2Cache), PL2A 및 PL2B, 프리페치 제어회로(PREF), 버퍼 회로(BFBK), 플래시 에러 제어회로(FLSP)는, 각각 도1에서 나타낸 것과 구성 및 동작은 동등하다.
하드 디스크 제어회로FLCT25는, 클록 제어회로(OSC), 메모리 어드레스 관리회로(MMG), 액세스 조정회로(ARB), 제어회로HRWCL로 구성된다.
클록 제어회로(OSC), 메모리 어드레스 관리회로(MMG), 액세스 조정회로(ARB)는, 각각 도1에서 나타낸 것과 구성 및 동작은 동등하다. 또한, 제어회로HRWCL은, 도1에서 나타낸 제어회로(RWCL)에, U하드 디스크(HDisk)으로부터 데이터를 판독하기 위하여, UltraATA인터페이스를 장비한 제어회로이며, 하드 디스크(HDisk)로부터 데이터를 판독한 후의 동작은 도1에서 나타낸 제어회로(RWCL)과 동등하다. 따라서, 하드 디스크(HDisk)을 적용하고, 본 발명이 실현되는 것을 안다.
이상 설명한 바와 같이, 하드 디스크(HDisk)을 이용함으로써, 보다 대 용량이고 또한 저코스트의 메모리 시스템을 실현할 수가 있다.
[실시 예6]
도26은 본 발명에 있어서의 제6의 실시형태 예를 나타낸 것이다. 도26(a)은 상면도이며, 도26(b)은 상면도에 나타낸 A-A'선에 따른 부분의 단면도이다.
본 실시형태의 멀티 칩·모듈은, 볼 그리드 어레이(BGA)에 의해 장치에 실장하는 기반 (예컨대 유리 에폭시 기판으로 된 프린트 회로 보드)PCB위에, CHIPM1, CHIPM2가 탑재되어 있다. CHIPM1 은 불휘발성 메모리이며, CHIPM2은 DRAM이다.
본 멀티 칩·모듈에 의해, 도1에서 나타내는 메모리 모듈(MSM) 및, 도22에서 나타내는 메모리 모듈(MSM)22를 1개의 밀봉체에 집적할 수 있다.
CHIPM1 과 기반PCB상의 본딩 패드는 본딩와이어(PATH2)로 접속되고, CHIPM2 과 기반PCB상의 본딩 패드는 본딩와이어(PATH1)로 접속되어 있다. CHIPMl 과 CHIPM2는 본딩와이어(PATH3)로 접속된다.
칩의 탑재된 기반PCB의 상면은 수지 몰드가 행하여져서 각 칩과 접속 배선을 보호한다. 또, 더욱이 그 위에서 금속, 세라믹,혹은 수지의 커버(COVER)를 사용해도 좋다.
본 실시예에서는 프린트 회로 보드PCB위에 베어 칩을 직접 탑재하기 때문에,
실장 면적의 작은 메모리 모듈을 구성할 수가 있다.
또한, 각 칩을 적층할 수가 있기 때문에, 칩과 기반PCB사이의 배선길이를 짧게 할 수가 있고, 실장 면적을 작게 할 수가 있다. 칩간의 배선 및 각 칩과 기반간의 배선을 본딩와이어 방식으로 통일함으로써 적은 공정수로 메모리 모듈을 제조 할 수가 있다.
더욱이, 칩 간을 본딩와이어로 직접 배선함으로써 기반상의 bonding pad수와 본딩와이어의 개수를 삭감해서 적은 공정수로 메모리 모듈을 제조할 수가 있다. 수 지의 커버를 사용한 경우에는, 보다 강인한 메모리 모듈을 구성 할 수가 있다. 세라믹이나 금속의 커버를 사용한 경우에는, 강도외에. 방열성이나 실드 효과에 뛰어 난 메모리 모듈을 구성할 수가 있다.
[실시 예7]
도27은 본 발명에 있어서의 제6의 실시형태 예를 나타낸 것이다. 도27(a)는 상면도이며, 도27(b)는 상면도에 나타낸 A-A'선에 따른 부분의 단면도이다.
본 실시형태의 멀티 칩·모듈은. 볼그리드어레이(BGA)에 의해 장치에 실장하는 기반 (예컨대 유리 에폭시 기판으로 된 프린트 회로 보드)PCB위에. CHIPM1. CHIPM2. CHIPM3이 탑재되어 있다. CHIPM1 은 불휘발성 메모리. CHIP2M은 DRAM이다. CHIP3M 은. 중앙연산장치(CPU)와 NOR컨트롤러NRC와 DRAM컨트롤러SDC로 구성되는 정보처리장치.혹은 CHIPIM과 CHIP2M의 데이터 전송을 제어하는 제어회로이다.
본 멀티 칩·모듈에 의해 도24에서 나타내는 메모리 모듈(memory module) MSM24를 1개의 밀봉체에 집적할 수 있다.
CHIPM1 과 기반PCB상의 bonding pad는 본딩와이어(PATH2)로 접속되어. CHIPM2 와 기반PCB상의 bonding pad는 본딩와이어(PATH1)로 접속되어 있다. CHIPM1 과 CHIPM2는 본딩와이어(PATH3)로 접속된다.
또한, CHIP3M의 실장 및 배선에 볼그리드어레이가 이용되어 있다.
본 실장 방법에서는 3칩을 적층 할 수가 있으므로 실장 면적을 작게 유지할 수 있다. 더욱이, CHIPM3과 기반간과의 본딩은 불필요하게 되어 본딩배선의 개수를 삭감 할 수가 있기 때문에 조립 공수를 삭감할 수 있는 동시에, 보다 신뢰성이 높 은 멀티칩 모듈이 실현된다.
도27은 본 발명에 관계하는 멀티 칩·모듈의 제8의 실시형태 예를 나타낸 것이다. 도27(a)은 상면도이며, 도27(b)은 상면도에 나타낸 A-A'선에 따른 부분의 단면도이다.
[실시 예8]
도28은 본 발명에 관계하는 멀티 칩·모듈의 제7의 실시형태 예를 나타낸 것이다. 도28(a)는 상면도이며, 도28(b)는 상면도에 나타낸 A-A'선에 따른 부분의 단면도다.
본 실시형태의 메모리모듈은. 볼그리드어레이(BGA)에 의해 장치에 실장하는 기반 (예컨대 유리 에폭시 기판으로 된 프린트 회로 보드)PCB위에. CHIPM1. CHIPM2. CHIPM3. CHIPM4가 탑재되어 있다. CHIPM1은 불휘발성 메모리. CHIPM3은 DRAM이다. CHIPM2 는 CHIPMl과 CHIPM2의 데이터 전송을 제어하는 제어회로이며, CHIPM4는 중앙연산장치(CPU)와 NOR컨트롤러NRC과 DRAM컨트롤러SDC과로부터 구성되는 정보처리장치이다.
본 실장 방법에서는, 도1에서 나타내는 메모리 시스템, 도22에서 나타내는 메모리 system module, 도23에서 나타내는 메모리 시스템 및 도24에서 나타내는 메모리 시스템을 1개의 밀봉체에 집적할 수 있다.
CHIPM1 과 기반PCB상의 bonding pad는 본딩와이어(PATH2)로 접속되고, CHIPM2와 기반PCB상의 bonding pad는 본딩와이어(PATH4)에서 접속되어. CHIPM3 과 기반PCB상의 bonding pad는 본딩와이어(PATH1)로 접속되어 있다.
CHIPM1 과 CHIPM3은 본딩와이어(PATH3)로 접속되고, CHIPM2와 CHIPM3은 본딩와이어(PATH5)로 접속된다.
CHIPM4 의 실장 및 배선에 볼그리드어레이(BGA)가 이용되어 있다.
본 실장 방법에서는 프린트 회로 보드PCB위로 베어 칩을 직접 탑재하기 때문에, 실장 면적의 작은 메모리 모듈(memory module)을 구성 할 수가 있다. 또한, 각 칩을 근접해서 배치할 수가 있기 때문에, 칩간 배선길이를 짧게 할 수가 있다.
칩간을 본딩와이어로 직접 배선함으로써 기반상의 본딩패드수와 본딩와이어의 개수를 삭감해서 적은 공정수로 메모리 모듈(memory module)을 제조할 수가 있다.
더욱이, CHIPM4와 기반간과의 본딩은 불필요하게 되어 본딩 배선의 개수를 삭감할 수가 있기 때문에 조립 공수를 삭감할 수 있는 동시에, 보다 신뢰성이 높은 멀티칩 모듈이 실현된다.
[실시예9]
도29는 본 발명에 관계하는 메모리 시스템의 제9의 실시형태 예를 나타낸 것이다. 도29(a)는 상면도이며, 도29(b)는 상면도에 나타낸 A-A'선에 따른 부분의 단면도이다.
본 실시형태의 메모리 모듈(memory module)은 볼그리드어레이(BGA)에 의해 장치에 실장하는 기반 (예컨대, 유리 에폭시 기판에서 된 프린트 회로 보드)PCB위로 CHIPM1. CHIPM2. CHIPM3이 탑재되어 있다. CHIPM1 은 불휘발성 메모리, CHIPM2 및 CHIPM3은 DRAM이다. 칩간의 배선 및 각 칩과 기반간의 배선을 본딩와이어 방식 으로 통일함으로써 적은 공정수로 메모리 모듈(memory module)을 제조할 수가 있다. 본 실장 방법에서는, 도24에서 나타내는 모듈MSM24을 1개의 밀봉체에 집적할 수 있다.
CHIPM1과 기반PCB상의 bonding pad는 본딩와이어(PATH2)로 접속되고, CHIPM2 와 기반PCB상의 bonding pad는 본딩와이어(PATH1)로 접속되고, CHIPM3 과 기반PCB상의 bonding pad는 본딩와이어(PATH3)로 접속되어 있다.
본 실시예에서는 프린트 회로 보드PCB위에 베어 칩을 직접 탑재하기 때문에, 실장 면적이 작은 메모리 모듈(memory module)을 구성할 수가 있다. 또한, 각 칩을 근접해서 배치할 수가 있기 때문에, 칩간 배선길이를 짧게 할 수가 있다.
각 칩과 기반간의 배선을 본딩와이어 방식으로 통일함으로써 적은 공정수로 메모리 모듈(memory module)을 제조할 수가 있다.
[실시예 10]
도30은 본 발명에 관계되는 메모리 시스템의 제9의 실시형태 예를 나타낸 것이다. 도30(a)은 상면도이며, 도30(b)은 상면도에 나타낸 A-A'선에 따른 부분의 단면도이다.
본 실시형태의 메모리 모듈(memory module)은. 볼그리드어레이(BGA)에 의해 장치에 실장하는 기반 (예컨대 유리 에폭시 기판으로 된 프린트 회로 보드)PCB위에. CHIPM1. C논PM2. CHIPM3. CHIPM4이 탑재되어 있다. CHIPMl 은 불휘발성 메모리. CHIPM2 및 CHIPM3은 DRAM이다. CHlPM4는 중앙연산장치(CPU)와 NOR컨트롤러NRC와 DRAM컨트롤러SDC로 구성되는 정보처리장치이다.
본 실장 방법에서는, 도1에서 나타내는 메모리 시스템. 도22에서 나타내는 메모리 시스템. 도23에서 나타내는 메모리 시스템 및 도24에서 나타내는 메모리 시스템을 도1에서 나타내는 메모리 시스템을 1개의 밀봉체에 집적할 수 있다.
CHIPM1 과 기반PCB상의 bonding pad는 본딩와이어(PATH2)로 접속되고, CHIPM2와 기반PCB상의 bonding pad는 본딩와이어(PATH1)로 접속되고, CHIPM3 과 기반PCB상의 bonding pad는 본딩와이어(PATH3)로 접속되어 있다. CHIPM4 의 실장 및 배선에 볼그리드어레이(BGA)가 이용되어 있다.
본 실시예에서는 프린트 회로 보드PCB위에 베어 칩을 직접 탑재하기 때문에, 실장 면적이 작은 메모리 모듈(memory module)을 구성할 수가 있다. 또한, 각 칩을 근접해서 배치할 수가 있기 때문에, 칩간 배선길이를 짧게 할 수가 있다. CHIPM4 와 기반간과의 본딩은 불필요하게 되어 본딩 배선의 개수를 삭감할 수가 있기 때문에 조립 공수를 삭감할 수 있는 동시에, 보다 신뢰성의 높은 멀티칩 모듈이 실현된다.
[실시예 11]
도31에. 본 발명에 관계되는 메모리 모듈(memory module)을 이용한 휴대전화기의 제10의 실시형태 예를 나타낸다. 휴대전화는, 안테나ANT. 무선 블록RF. 베이스밴드(baseband) 블록BB. 음성 코덱(CODEC) 블록SP. 스피커SK. 마이크로폰MK. 프로세서CPU. 다이내믹 랜덤 액세스 메모리(random access memory)DRAM. 액정표시부LCD. 키보드KEY 및 본 발명의 메모리 모듈(memory module) MSM로 구성된다.
통화시의 동작을 설명한다.
안테나ANT를 통하여 수신된 음성은 무선 블록RF에서 증폭되어. 베이스밴드(baseband) 블록BB에 입력된다. 베이스밴드(baseband) 블록BB에서는, 음성의 아날로그 신호를 디지털 신호로 변환하고, 에러 정정과 복호처리를 하고, 음성 코덱(CODEC) 블록SP에 출력한다. 음성 코덱 블록이 디지털 신호를 아날로그 신호로 변환하여 스피커SK에 출력하면, 스피커로부터 상대의 소리가 들린다.
휴대전화기로부터, 인터넷의 홈 페이지에 액세스하고, 음악 데이터를 다운로드하여, 재생해서 듣고, 최후에 다운로드한 음악 데이터를 보존한다고 하는 일련의 작업을 할 때의 동작을 설명한다.
메모리 모듈(MSM)에는, 기본 프로그램, 애플리케이션 프로그램(메일, Web브라우저, 음악재생 프로그램, 동작 재생 프로그램, 게임 프로그램등), 음악 데이터, 정지 획 데이터, 동화 데이터등이 격납되어 있다.
키보드로부터, Web브라우저의 기동을 지시하면, 메모리 모듈(MSM)내의 FLASH에 격납되어 있는 Web브라우저의 프로그램이, 같은 메모리 모듈내의 캐시 메모리에로 전송된다. 캐시에의 전송이 종료하면 프로세서CPU는 DRAM내의 Web브라우저의 프로그램을 실행하고, 액정표시LCD에 Web브라우저가 표시된다. 원하는 홈 페이지에 액세스하고, 마음에 든 음악 데이터의 다운로드를 키보드KEY로부터 지시하면, 음악 데이터는, 안테나ANT를 통하여 수신되고, 무선 블록RF에서 증폭되어, 베이스 밴드 블록BB에 입력된다. 베이스 밴드 블록BB에서는, 아날로그 신호인 음악 데이터를 디지털 신호로 변환하고, 에러 정정과 복호처리를 한다. 디지털 신호화된 음악 데이터는 DRAM에 일단, 유지되고, 최종적으로, 메모리 모듈(MSM)의 FLASH에로 전송되 어 격납된다.
다음에, 키보드KEY로부터, 음악재생 프로그램의 기동을 지시하면 메모리 모듈(MSM)내의 FLASH에 격납되어 있는 음악재생 프로그램이, 같은 메모리 모듈내의 캐시 메모리에로 전송된다. 캐시 메모리에의 전송이 종료하면 프로세서CPU는 캐시 메모리내의 음성재생 프로그램을 실행하고, 액정표시LCD에 음악재생 프로그램이 표시된다.
키보드KEY로부터, FLASH에 다운로드한 음악 데이터를 듣기 위한 지시를 하면, 프로세서CPU는 음악재생 프로그램을 실행하고, FLASH 에 유지하고 있는 음악 데이터를 처리하고, 최종적으로 스피커SK로부터 음악이 들려온다.
이때. 본 발명의 메모리 모듈(memory module)은 대용량의 캐시 메모리를 이용하고 있기 때문에, 웹 브라우저(web browser)와 음악재생 프로그램은 캐시 메모리에 유지되고 있어. 어느쪽의 프로그램도 CPU에 의해 동시에 실행되고 있다. 더욱이, 전자 메일 프로그램을 기동하고, 전자 메일 프로그램. 메일의 송수신도 동시에 할 수 있다.
웹 브라우저를 정지했을 경우라도, 메모리 모듈(memory module)내의 캐시 메모리에는 유지하고 있기 때문에, 재기동시는 바로 기동할 수가 있다.
키보드로부터 전원차단의 지시가 입력되면, 메모리 모듈(memory module)은. 캐시 메모리만 동작시켜. 최저한의 데이터 시만 유지를 하고, 소비 전력을 극단적으로 작게 할 수 있다.
이와 같이, 본 발명에 관계되는메모리 모듈(memory module)을 이용함으로써. 대량의 메일, 음악재생, 애플리케이션 프로그램이나 음악 데이터, 정지 화상 데이터, 동화 데이터등을 격납할 수 있고, 더욱이 복수의 프로그램을 동시에 실행할 수 있다.
[실시예 12]
도32에 본 발명에 관계되는 메모리 시스템을 이용한 휴대전화기의 제12의 실시형태 예를 나타낸다. 휴대전화는, 안테나AM. 무선 블록RF. 베이스밴드(baseband) 블록BB, 음성 코덱(CODEC) 블록SP, 스피커SK, 마이크로폰MK, 프로세서CPU, 액정표시부LCD, 키보드KEY 및, 프로세서CPU와, 다이내믹 랜덤 액세스 메모리(random access memory)DRAM과, 메모리 모듈(memory module) MSM을 1개의 밀봉체에 집적한 본 발명의 메모리 시스템SLP로 구성된다.
본 발명의 메모리 시스템SL를 이용하는 것에 따라. 부품점수를 삭감할 수 있기 때문에, 저코스트화를 할 수 있고, 휴대전화의 신뢰성이 향상된다. 휴대전화기를 구성하는 부품의 실장 면적을 작게 할 수 있고, 휴대전화 소형화를 할 수 있다.
본 발명은 고기능한 메모리를 실현할수 있다.
이상 설명한 바와 같이 본 명세서에 개시되는 발명에 의해 얻어지는 주요 효과는 아래와 같다.
제1로, 전원투입시에 부트 프로그램(boot program)을 FLASH로부터 캐시 메모리에 자동전송함으로써 휴대 기기는, 캐시 메모리의 부트프로그램을 판독하고, 재 빠르게 일어설 수 있다.
제2로, 전원투입시에 필요한 프로그램을 FLASH로부터 캐시 메모리에 자동전송함으로써 휴대 기기가 일어선 시점에서 곧 본 메모리모듈에 엑세스 할 수가 있기 때문에 휴대 기기의 고성능화를 꾀할 수 있다.
제3에, 본 발명에 관계하는 메모리 시스템을 적용한 메모리 모듈(memory module)에서는 FLASH의 데이터는 캐시 메모리내에 전송 및 유지되어. 휴대 기기는, 직접 캐시 메모리모듈에 엑세스할 수 있고, 고속 데이터 전송을 실현할 수 있다.
제4로, 본 발명에 관계되는 메모리 시스템을 적용한 메모리 모듈(memory module)에서는 데이터의 먼저읽기 기능을 가지며, 다음에 이용되는 데이터를. 미리 캐시 메모리에 전송함으로써 캐시 메모리에 히트율을 향상시켜. 데이터 전송을 고속화할 수 있다.
제5로, 본 발명에 관계되는 메모리 시스템을 적용한 메모리 모듈(memory module)에서는, 플래시 메모리내의 데이터 레지스터를 캐시 메모리로서 이용 할 수가 있고, 캐시 메모리의 용량을 실효적으로 늘림으로써 히트율을 향상시켜. 데이터 전송을 고속으로 할 수 있다.
제6으로, 본 발명에 관계하는 메모리 시스템을 적용한 메모리 모듈(memory module)에서는, 어드레스 변환을 하여 캐시 메모리의 인덱스 어드레스를 분산시켜. 캐시 메모리의 이용율을 높임으로써 히트율을 향상시켜. 데이터 전송을 고속화할 수 있다.
제7로, 플래시메모리에의 기록이 행하여지고 있는 경우라도, 캐시 메모리로부터 데이터를 판독할 수가 있기 때문에 휴대 기기의 고속화를 꾀할 수 있다.
제8에, 동기형 및 비동기형 인터페이스나 어드레스 변환 방식, 캐시 영역 및 비캐시 영역, 캐시 록 영역 및 비캐시 록 영역, 기록회수 평균화 처리 영역 및 비기록 회수 평균화 처리 영역, 라이트 프로텍션(write protection) 영역 및 비라이트 프로텍션(write protection) 영역은 각각 독립적으로 설정 할 수가 있고, 시스템에 맞추어서 이용자측에서 자유롭게 선택할 수 있다.
제9로, 본 메모리 모듈(memory module)의 내부에서 FALSH로부터의 판독 시는, 에러 검출과 정정을 하고, 기록시는, 기록이 정확하게 행하여지지 않은 불량 어드레스에 대하여 대체 처리를 하기 때문에, 처리가 고속으로 할 수 있고, 또한 신뢰성을 유지할 수 있다.
제10에, 본 메모리 모듈(memory module)의 내부에서 캐시 메모리의 판독 시는, 에러 검출을 하고, 에러의 경우는, 플래시 메모리로부터 데이터 판독을 하기 때문에, 처리가 고속으로 할 수 있고, 또한 신뢰성을 유지할 수 있다.
제11로, 본 메모리 모듈(memory module)의 내부에서 플래시 메모리의 기록 평균화 처리를 하기 때문에, 처리가 고속으로 할 수 있고, 또한 신뢰성을 유지할 수 있다.
제12로, 일반적인 인터페이스인 NOR 인터페이스나. NAND 인터페이스 및 AND 인터페이스를 통해서 부트 프로그램(boot program)이나 자동전송 영역지정 데이터를 FLASH의 초기 프로그램 영역에 기록하고, 전원투입 직후의 부트(boot) 방법이나 데이터 전송 영역을 바꿀 수 있기 때문에, 휴대 기기의 요구에 따라 유연하게 대응할 수 있고, 고기능화를 꾀할 수 있다.
제13에, 복수의 반도체 칩을 하나의 밀봉체에 실장함으로써 실장 면적의 작은 시스템 메모리모듈을 제공할 수 있다.

Claims (36)

  1. 불휘발성 메모리와, 캐시 메모리(cache memory)와, 상기 불휘발성 메모리와 상기 캐시 메모리와의 사이에서 액세스를 하는 제어회로를 포함하는 메모리 모듈(memory module)이며, 상기 메모리 모듈의 외부로부터 캐시 메모리에 액세스하기 위한 제1의 불휘발성 메모리 인터페이스와, 상기 불휘발성 메모리에 액세스하기 위한 제2의 불휘발성 메모리 인터페이스를 갖는 것을 특징으로 하는 메모리모듈.
  2. 제1항에 있어서,
    전원투입 직후, 상기 불휘발성 메모리의 소정의 어드레스 영역의 데이터를 캐시 메모리에 전송하는 것을 특징으로 하는 메모리 모듈.
  3. 제1항에 있어서,
    상기 제1의 불휘발성 메모리 인터페이스로부터 불휘발성 메모리에의 판독 액세스는, 상기 캐시 메모리를 경유해서 행하고, 상기 제2의 불휘발성 메모리 인터페이스로부터의 액세스는 상기 캐시 메모리를 경유하지 않고, 불휘발성 메모리에 액세스하는 것을 특징으로 하는 메모리 모듈.
  4. 제1항에 있어서,
    상기 불휘발성 메모리로부터 상기 캐시 메모리에의 사이의 데이터 전송은, 상기 제1의 불휘발성 메모리 인터페이스로부터의 액세스에 의해 행하여지는 것을 특징으로 하는 메모리 모듈.
  5. 제1항에 있어서,
    상기 불휘발성 메모리로부터 상기 캐시 메모리에의 데이터 전송 및 상기 불휘발성 메모리로부터 상기 제2의 불휘발성 메모리 인터페이스에의 데이터 전송은, 에러 정정된 데이터를 전송하는 것을 특징으로 하는 메모리 모듈.
  6. 제1항에 있어서,
    상기 불휘발성 메모리에의 데이터 전송은, 어드레스 대체 처리가 행하여지는 것을 특징으로 하는 메모리 모듈.
  7. 제1항에 있어서,
    상기 불휘발성 메모리에는, 부트 프로그램(boot program)을 유지하는 것을 특징으로 하는 메모리 모듈.
  8. 제1항에 있어서,
    상기 불휘발성 메모리로부터 상기 캐시 메모리에 동작 전원이 투입된 초기에 전송되는 데이터의 범위를 나타내는 전송 범위 데이터가, 상기 불휘발성 메모리에 유지되어 있는 것을 특징으로 하는 메모리 모듈.
  9. 제2항에 있어서,
    상기 불휘발성 메모리의 소정의 어드레스 영역의 범위를 나타내는 전송 범위 데이터를 상기 불휘발성 메모리가 유지하는 것을 특징으로 하는 메모리 모듈.
  10. 제1항에 있어서,
    상기 제1의 불휘발성 메모리 인터페이스로부터의 캐시 메모리에의 판독 액세스와, 상기 제2의 불휘발성 메모리 인터페이스로부터의 불휘발성 메모리에 액세스와, 상
    기 다이내믹 랜덤 액세스 메모리 인터페이스로부터의 다이내믹 랜덤 액세스 메모리에의 액세스는 동시에 할 수 있는 것을 특징으로 하는 메모리 시스템.
  11. 제1항에 있어서,
    상기 메모리 모듈의 상기 제1불휘발성 인터페이스로부터의 판독 액세스에 의한, 상기 플래시 메모리로부터 상기 캐시 메모리에의 데이터 전송을 제1우선, 상기 제2불휘발성 인터페이스로부터의 액세스에 의한 상기 플래시 메모리와 상기 제2불휘발성 인터페이스간의 데이터 전송을 제2우선, 상기 제1불휘발성 인터페이스로부터의 기록 액세스에 의한 데이터 전송을 제3우선으로 하는 메모리 모듈.
  12. 제5항에 있어서,
    상기 캐시 메모리로부터의 데이터 전송은, 에러 체크(error check)을 하는 것을 특징으로 하는 메모리 모듈.
  13. 제12항에 있어서,
    상기 에러 체크(error check)에서 에러를 발견했을 경우는, 상기 불휘발성 메모리로부터, 전캐시 메모리에 데이터를 전송하는 것을 특징으로 하는 메모리 모듈.
  14. 제1항에 있어서,
    상기 제어회로는 어드레스 변환회로를 포함하고, 상기 어드레스 변환회로는 제1불휘발성 메모리 인터페이스로부터 입력한 어드레스를 변환하고, 상기 캐시 메모리의 데이터 검색에 이용하는 것을 특징으로 하는 메모리 모듈.
  15. 제1항에 있어서,
    다이내믹 랜덤 액세스 메모리를 더욱 포함하고,
    다이내믹 랜덤 액세스 메모리에 액세스하기 위한 다이내믹 랜덤 액세스 메모리 인터페이스를 더욱 갖는 것을 특징으로 하는 메모리모듈.
  16. 제15항에 있어서,
    상기 다이내믹 랜덤 액세스 메모리 인터페이스로부터의 액세스는 상기 캐시 메모리를 경유하지 않고, 다이내믹 랜덤 액세스 메모리에 액세스하는 것을 특징으로 하는 메모리 모듈.
  17. 캐시 메모리와 불휘발성 메모리를 포함하는 캐시 시스템이며, 불휘발성 메모리로부터 캐시 메모리에의 데이터 전송은, 복수 페이지 분의 데이터를 전송하는 것을 특징으로 하는 캐시 시스템.
  18. 제17항에 있어서,
    상기 불휘발성 메모리로부터 상기 캐시 메모리에 전송하는 복수 페이지 데이터는, N페이지째의 데이터와 N+1페이지째의 데이터를 전송하는 것을 특징으로 하는 캐시 시스템.
  19. 불휘발성 메모리와, 캐시 메모리를 포함하는 캐시 시스템이며,
    상기 캐시 메모리는, 어드레스 변환된 후에, 상기 캐시 메모리의 데이터 검색에 이용하는 것을 특징으로 하는 캐시 시스템.
  20. 제19항에 있어서,
    상기 어드레스 변환에 의한 어드레스 변환 방법을 프로그램할 수 있는 것을 특징으로 하는 메모리 모듈.
  21. 캐시 메모리의 기억 용량이, 2N바이트에서, 라인사이즈어드레스가 Line [L-1:0]에서, 인덱스 어드레스는 lndex [I-1:0]에서, 태그 어드레스가 Tag [N-I-L-1:0]로 표시될 때, 상기 캐시 메모리에 입력하는 어드레스를 ADD [N-1:0]로 하면, ADD [L-1:0]을 Line [L-1:0]에 대응시켜, ADD[N-1:I+L]을 Tag [N-I-L-1:0]에 대응시켜, ADD[I+L-1:L]을 어드레스INDXO [I-1:0]에 대응시켜, ADD [I+I+L-1:I+L]을 어드레스INDX1 [I-1:0]에 대응시켜, INDXO [I-1:0]과 INDX1 [I-1:0]을 가산한 결과 SUM [I-1:0]을 Index [I-1:0]에 대응시키는 것을 특징으로 하는 어드레스 변환 방식.
  22. 캐시 메모리를 장비하고 있는 정보처리장치이며, 상기 캐시 메모리는, 청구의 범위 제62항에 기재의 어드레스 변환 방식에 의해 변환된 어드레스를 이용해 데이터 검색되는 캐시 메모리인 것을 특징으로 하는 정보처리장치.
  23. 캐시 메모리를 장비하고 있는 메모리 모듈이며, 상기 캐시 메모리는 청구의 범위 제62항에 기재의 어드레스 변환 방식에 의해 변환된 어드레스를 이용해 데이터 검색되는 캐시 메모리인 것을 특징으로 하는 메모리 모듈.
  24. 제19항에 있어서,
    상기 어드레스 변환에 의한 어드레스 변환 방법은, 청구의 범위 제19항 기재 의 어드레스 변환 방법인 것을 특징으로 하는 메모리 모듈.
  25. 정보처리장치와, 캐시 메모리와, 불휘발성 메모리를 포함하는 캐시 시스템이며, 상기 정보처리장치는 캐시 메모리를 장비하고 있으며, 상기 불휘발성 메모리는 버퍼(buffer)를 장비하고 있으며, 상기 정보처리장치의 캐시 메모리는 레벨1캐시 메모리이며, 상기 캐시 메모리는 레벨2캐시 메모리이며, 상기 불휘발성 메모리의 버퍼는 레벨3캐시 메모리인 것을 특징으로 하는 메모리 시스템.
  26. 불휘발성 메모리와, 캐시 메모리를 포함하는 캐시 시스템이며, 상기 불휘발성 메모리는 캐시 영역을 가지며, 상기 불휘발성 메모리로부터 캐시 메모리에의 전송은, 상기 캐시 영역내의 데이터가 전송되는 것을 특징으로 하는 캐시 시스템.
  27. 제26항에 있어서,
    상기 불휘발성 메모리의 캐시 영역을 프로그램할 수 있는 것을 특징으로 하는 캐시 시스템.
  28. 불휘발성 메모리와, 캐시 메모리를 포함하는 캐시 시스템이며, 상기 불휘발성 메모리는 캐시 록 영역을 가지며, 상기 불휘발성 메모리의 캐시 록 영역으로부터 캐시 메모리에 전송되고, 유지된 데이터는, 상기 캐시 메모리의 데이터 갱신의 대상외로 되는 것을 특징으로 하는 캐시 시스템.
  29. 제28항에 있어서,
    상기 불휘발성 메모리의 캐시 록 영역을 프로그램할 수 있는 것을 특징으로 하는 캐시 시스템.
  30. 제28항에 있어서,
    상기 불휘발성 메모리의 캐시 록 영역을 해제할 수 있는 것을 특징으로 하는 캐시 시스템.
  31. 불휘발성 메모리와, 캐시 메모리를 포함하는 메모리 모듈이며, 상기 불휘발성 메모리는 라이트 프로텍션(write protection) 영역을 가지며, 상기 불휘발성 메모리의 라이트 프로텍션 영역은 기록을 금지하는 것을 특징으로 하는 메모리 모듈.
  32. 제31항에 있어서,
    상기 불휘발성 메모리의 라이트 프로텍션 영역은 프로그램가능한 것을 특징으로 하는 메모리 모듈.
  33. 불휘발성 메모리와, 캐시 메모리를 포함하는 메모리 모듈이며, 상기 불휘발성 메모리는 기록회수 평균화 처리 영역을 가지며, 상기 불휘발성 메모리의 기록회수 평균화 처리 영역은, 기록회수 평균화 처리가 행하여지는 것을 특징으로 하는 메모리 모듈.
  34. 제33항에 있어서,
    상기 불휘발성 메모리의 기록회수 평균화 처리 영역은 프로그램가능한 것을 특징으로 하는 메모리 모듈.
  35. 제1항에 있어서,
    상기 불휘발성 메모리는 제1반도체 칩에, 상기 제어회로는 캐시 메모리를 포함하여 제2반도체 칩에, 각각 형성되고, 또한 상기 제1∼제2의 반도체 칩은 회로기판위로 탑재되어서 밀봉된 멀티칩 메모리 모듈인 것을 특징으로 하는 메모리 시스템.
  36. 제15항에 있어서,
    상기 불휘발성 메모리는 제1반도체 칩에, 상기 제어회로는 캐시 메모리를 포함하여 제2반도체 칩에, 상기 다이내믹 랜덤 액세스 메모리는 제3반도체 칩에, 각각 형성되고, 또한 상기 제1∼제3의 반도체 칩은 회로기판위로 탑재되어서 밀봉 된 멀티칩 메모리 모듈인 것을 특징으로 하는 메모리 시스템.
KR1020060045364A 2005-05-20 2006-05-19 메모리 모듈, 메모리 시스템,및 정보기기 KR101269317B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005147957A JP2006323739A (ja) 2005-05-20 2005-05-20 メモリモジュール、メモリシステム、及び情報機器
JPJP-P-2005-00147957 2005-05-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020120110696A Division KR101310481B1 (ko) 2005-05-20 2012-10-05 메모리 모듈, 메모리 시스템,및 정보기기

Publications (2)

Publication Number Publication Date
KR20060120501A true KR20060120501A (ko) 2006-11-27
KR101269317B1 KR101269317B1 (ko) 2013-05-29

Family

ID=37425248

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020060045364A KR101269317B1 (ko) 2005-05-20 2006-05-19 메모리 모듈, 메모리 시스템,및 정보기기
KR1020120110696A KR101310481B1 (ko) 2005-05-20 2012-10-05 메모리 모듈, 메모리 시스템,및 정보기기

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020120110696A KR101310481B1 (ko) 2005-05-20 2012-10-05 메모리 모듈, 메모리 시스템,및 정보기기

Country Status (5)

Country Link
US (3) US8028119B2 (ko)
JP (1) JP2006323739A (ko)
KR (2) KR101269317B1 (ko)
CN (1) CN1866223A (ko)
TW (1) TWI418981B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101056560B1 (ko) * 2009-02-11 2011-08-11 (주)인디링스 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법및 장치
US10078448B2 (en) 2015-07-08 2018-09-18 Samsung Electronics Co., Ltd. Electronic devices and memory management methods thereof

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291295B2 (en) 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US7631245B2 (en) * 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
JP5065618B2 (ja) * 2006-05-16 2012-11-07 株式会社日立製作所 メモリモジュール
US8003972B2 (en) * 2006-08-30 2011-08-23 Micron Technology, Inc. Bottom electrode geometry for phase change memory
WO2008057557A2 (en) * 2006-11-06 2008-05-15 Rambus Inc. Memory system supporting nonvolatile physical memory
CN100474271C (zh) * 2006-12-15 2009-04-01 华为技术有限公司 一种多级缓冲的存储系统和方法
JP5137002B2 (ja) 2007-01-25 2013-02-06 株式会社メガチップス メモリコントローラ
US7861014B2 (en) 2007-08-31 2010-12-28 International Business Machines Corporation System for supporting partial cache line read operations to a memory module to reduce read data traffic on a memory channel
US7584308B2 (en) * 2007-08-31 2009-09-01 International Business Machines Corporation System for supporting partial cache line write operations to a memory module to reduce write data traffic on a memory channel
US7840748B2 (en) 2007-08-31 2010-11-23 International Business Machines Corporation Buffered memory module with multiple memory device data interface ports supporting double the memory capacity
US7865674B2 (en) 2007-08-31 2011-01-04 International Business Machines Corporation System for enhancing the memory bandwidth available through a memory module
US7818497B2 (en) 2007-08-31 2010-10-19 International Business Machines Corporation Buffered memory module supporting two independent memory channels
US7899983B2 (en) 2007-08-31 2011-03-01 International Business Machines Corporation Buffered memory module supporting double the memory device data width in the same physical space as a conventional memory module
US8082482B2 (en) 2007-08-31 2011-12-20 International Business Machines Corporation System for performing error correction operations in a memory hub device of a memory module
US8086936B2 (en) 2007-08-31 2011-12-27 International Business Machines Corporation Performing error correction at a memory device level that is transparent to a memory channel
US8019919B2 (en) 2007-09-05 2011-09-13 International Business Machines Corporation Method for enhancing the memory bandwidth available through a memory module
US7558887B2 (en) * 2007-09-05 2009-07-07 International Business Machines Corporation Method for supporting partial cache line read and write operations to a memory module to reduce read and write data traffic on a memory channel
JP4315461B2 (ja) 2007-10-30 2009-08-19 株式会社ハギワラシスコム ソリッドステートドライブ及びデータ書き込み方法
US8209465B2 (en) 2007-10-30 2012-06-26 Hagiwara Sys-Com Co., Ltd. Data writing method
TW200921384A (en) * 2007-11-15 2009-05-16 Genesys Logic Inc NOR interface flash memory device and access method thereof
US7925825B2 (en) 2008-01-24 2011-04-12 International Business Machines Corporation System to support a full asynchronous interface within a memory hub device
US7925824B2 (en) 2008-01-24 2011-04-12 International Business Machines Corporation System to reduce latency by running a memory channel frequency fully asynchronous from a memory device frequency
US7930469B2 (en) 2008-01-24 2011-04-19 International Business Machines Corporation System to provide memory system power reduction without reducing overall memory system performance
US8140936B2 (en) 2008-01-24 2012-03-20 International Business Machines Corporation System for a combined error correction code and cyclic redundancy check code for a memory channel
US7925826B2 (en) 2008-01-24 2011-04-12 International Business Machines Corporation System to increase the overall bandwidth of a memory channel by allowing the memory channel to operate at a frequency independent from a memory device frequency
US7770077B2 (en) 2008-01-24 2010-08-03 International Business Machines Corporation Using cache that is embedded in a memory hub to replace failed memory cells in a memory subsystem
US7930470B2 (en) 2008-01-24 2011-04-19 International Business Machines Corporation System to enable a memory hub device to manage thermal conditions at a memory device level transparent to a memory controller
JP4643667B2 (ja) * 2008-03-01 2011-03-02 株式会社東芝 メモリシステム
US9594679B2 (en) * 2008-05-01 2017-03-14 Sandisk Il Ltd. Flash cache flushing method and system
CN102714061A (zh) 2009-11-20 2012-10-03 拉姆伯斯公司 用于dram故障校正的位替代技术
JP4936088B2 (ja) * 2010-03-15 2012-05-23 日本電気株式会社 ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法
US8694737B2 (en) 2010-06-09 2014-04-08 Micron Technology, Inc. Persistent memory for processor main memory
US9448938B2 (en) 2010-06-09 2016-09-20 Micron Technology, Inc. Cache coherence protocol for persistent memories
JP2012022479A (ja) * 2010-07-13 2012-02-02 Panasonic Corp マイクロコントローラ及びその制御方法
US8613074B2 (en) 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
JP2012133416A (ja) 2010-12-17 2012-07-12 Toshiba Corp メモリシステム
JP5598337B2 (ja) * 2011-01-12 2014-10-01 ソニー株式会社 メモリアクセス制御回路、プリフェッチ回路、メモリ装置および情報処理システム
US8954948B2 (en) 2011-06-17 2015-02-10 Bae Systems Controls Inc. Obsolescence tolerant flash memory architecture and physical building block (PBB) implementation
US9411678B1 (en) 2012-08-01 2016-08-09 Rambus Inc. DRAM retention monitoring method for dynamic error correction
US9135172B2 (en) * 2012-08-02 2015-09-15 Qualcomm Incorporated Cache data migration in a multicore processing system
US9734921B2 (en) 2012-11-06 2017-08-15 Rambus Inc. Memory repair using external tags
US9378793B2 (en) * 2012-12-20 2016-06-28 Qualcomm Incorporated Integrated MRAM module
US8929146B1 (en) * 2013-07-26 2015-01-06 Avalanche Technology, Inc. Controller management of memory array of storage device using magnetic random access memory (MRAM)
US9252131B2 (en) * 2013-10-10 2016-02-02 Globalfoundries Inc. Chip stack cache extension with coherency
KR102149768B1 (ko) 2014-04-29 2020-08-31 삼성전자주식회사 불휘발성 메모리 시스템
US9678864B2 (en) * 2014-12-03 2017-06-13 Seagate Technology Llc Data reallocation upon detection of errors
JP2016167523A (ja) 2015-03-09 2016-09-15 株式会社東芝 半導体装置および電子機器
JP2016184306A (ja) * 2015-03-26 2016-10-20 ルネサスエレクトロニクス株式会社 保護支援システム、保護支援サーバー及び保護端末
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US10163479B2 (en) 2015-08-14 2018-12-25 Spin Transfer Technologies, Inc. Method and apparatus for bipolar memory write-verify
JP6424330B2 (ja) * 2015-10-13 2018-11-21 株式会社アクセル 情報処理装置、及び情報処理方法
KR102407437B1 (ko) 2015-12-30 2022-06-10 삼성전자주식회사 불휘발성 메모리 모듈을 포함하는 메모리 시스템 및 전자 장치
US9760147B2 (en) 2016-01-22 2017-09-12 Microsoft Technology Licensing, Llc Power control for use of volatile memory as non-volatile memory
US9746895B2 (en) * 2016-01-22 2017-08-29 Microsoft Technology Licensing, Llc Use of volatile memory as non-volatile memory
JP2018032256A (ja) 2016-08-25 2018-03-01 東芝メモリ株式会社 メモリシステムおよびプロセッサシステム
US10818331B2 (en) 2016-09-27 2020-10-27 Spin Memory, Inc. Multi-chip module for MRAM devices with levels of dynamic redundancy registers
US10360964B2 (en) * 2016-09-27 2019-07-23 Spin Memory, Inc. Method of writing contents in memory during a power up sequence using a dynamic redundancy register in a memory device
US10546625B2 (en) 2016-09-27 2020-01-28 Spin Memory, Inc. Method of optimizing write voltage based on error buffer occupancy
US10192601B2 (en) 2016-09-27 2019-01-29 Spin Transfer Technologies, Inc. Memory instruction pipeline with an additional write stage in a memory device that uses dynamic redundancy registers
US10366774B2 (en) 2016-09-27 2019-07-30 Spin Memory, Inc. Device with dynamic redundancy registers
US10628316B2 (en) 2016-09-27 2020-04-21 Spin Memory, Inc. Memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register
US10446210B2 (en) 2016-09-27 2019-10-15 Spin Memory, Inc. Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers
US10437491B2 (en) * 2016-09-27 2019-10-08 Spin Memory, Inc. Method of processing incomplete memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register
US10437723B2 (en) 2016-09-27 2019-10-08 Spin Memory, Inc. Method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device
US10460781B2 (en) 2016-09-27 2019-10-29 Spin Memory, Inc. Memory device with a dual Y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank
US10192602B2 (en) 2016-09-27 2019-01-29 Spin Transfer Technologies, Inc. Smart cache design to prevent overflow for a memory device with a dynamic redundancy register
JP6709180B2 (ja) * 2017-02-28 2020-06-10 キオクシア株式会社 メモリシステムおよび制御方法
KR20190043043A (ko) * 2017-10-17 2019-04-25 에스케이하이닉스 주식회사 전자장치
US10656994B2 (en) 2017-10-24 2020-05-19 Spin Memory, Inc. Over-voltage write operation of tunnel magnet-resistance (“TMR”) memory device and correcting failure bits therefrom by using on-the-fly bit failure detection and bit redundancy remapping techniques
US10481976B2 (en) 2017-10-24 2019-11-19 Spin Memory, Inc. Forcing bits as bad to widen the window between the distributions of acceptable high and low resistive bits thereby lowering the margin and increasing the speed of the sense amplifiers
US10529439B2 (en) 2017-10-24 2020-01-07 Spin Memory, Inc. On-the-fly bit failure detection and bit redundancy remapping techniques to correct for fixed bit defects
US10489245B2 (en) 2017-10-24 2019-11-26 Spin Memory, Inc. Forcing stuck bits, waterfall bits, shunt bits and low TMR bits to short during testing and using on-the-fly bit failure detection and bit redundancy remapping techniques to correct them
CN107832016A (zh) * 2017-11-13 2018-03-23 郑州云海信息技术有限公司 一种读干扰优化方法及装置
WO2019133213A1 (en) * 2017-12-27 2019-07-04 Spin Transfer Technologies, Inc. A method of processing incompleted memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register
US10424726B2 (en) 2017-12-28 2019-09-24 Spin Memory, Inc. Process for improving photoresist pillar adhesion during MRAM fabrication
US10811594B2 (en) 2017-12-28 2020-10-20 Spin Memory, Inc. Process for hard mask development for MRAM pillar formation using photolithography
US10395712B2 (en) 2017-12-28 2019-08-27 Spin Memory, Inc. Memory array with horizontal source line and sacrificial bitline per virtual source
US10891997B2 (en) 2017-12-28 2021-01-12 Spin Memory, Inc. Memory array with horizontal source line and a virtual source line
US10395711B2 (en) 2017-12-28 2019-08-27 Spin Memory, Inc. Perpendicular source and bit lines for an MRAM array
US10360962B1 (en) 2017-12-28 2019-07-23 Spin Memory, Inc. Memory array with individually trimmable sense amplifiers
US10367139B2 (en) 2017-12-29 2019-07-30 Spin Memory, Inc. Methods of manufacturing magnetic tunnel junction devices
US10840439B2 (en) 2017-12-29 2020-11-17 Spin Memory, Inc. Magnetic tunnel junction (MTJ) fabrication methods and systems
US10840436B2 (en) 2017-12-29 2020-11-17 Spin Memory, Inc. Perpendicular magnetic anisotropy interface tunnel junction devices and methods of manufacture
US10424723B2 (en) 2017-12-29 2019-09-24 Spin Memory, Inc. Magnetic tunnel junction devices including an optimization layer
US10546624B2 (en) 2017-12-29 2020-01-28 Spin Memory, Inc. Multi-port random access memory
US10886330B2 (en) 2017-12-29 2021-01-05 Spin Memory, Inc. Memory device having overlapping magnetic tunnel junctions in compliance with a reference pitch
US10784439B2 (en) 2017-12-29 2020-09-22 Spin Memory, Inc. Precessional spin current magnetic tunnel junction devices and methods of manufacture
US10438995B2 (en) 2018-01-08 2019-10-08 Spin Memory, Inc. Devices including magnetic tunnel junctions integrated with selectors
US10438996B2 (en) 2018-01-08 2019-10-08 Spin Memory, Inc. Methods of fabricating magnetic tunnel junctions integrated with selectors
US10446744B2 (en) 2018-03-08 2019-10-15 Spin Memory, Inc. Magnetic tunnel junction wafer adaptor used in magnetic annealing furnace and method of using the same
US11107978B2 (en) 2018-03-23 2021-08-31 Spin Memory, Inc. Methods of manufacturing three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer
US10529915B2 (en) 2018-03-23 2020-01-07 Spin Memory, Inc. Bit line structures for three-dimensional arrays with magnetic tunnel junction devices including an annular free magnetic layer and a planar reference magnetic layer
US10784437B2 (en) 2018-03-23 2020-09-22 Spin Memory, Inc. Three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer
US11107974B2 (en) 2018-03-23 2021-08-31 Spin Memory, Inc. Magnetic tunnel junction devices including a free magnetic trench layer and a planar reference magnetic layer
US10411185B1 (en) 2018-05-30 2019-09-10 Spin Memory, Inc. Process for creating a high density magnetic tunnel junction array test platform
US11151006B2 (en) * 2018-07-02 2021-10-19 Samsung Electronics Co., Ltd. HBM RAS cache architecture
US10600478B2 (en) 2018-07-06 2020-03-24 Spin Memory, Inc. Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations
US10559338B2 (en) 2018-07-06 2020-02-11 Spin Memory, Inc. Multi-bit cell read-out techniques
US10593396B2 (en) 2018-07-06 2020-03-17 Spin Memory, Inc. Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations
US10692569B2 (en) 2018-07-06 2020-06-23 Spin Memory, Inc. Read-out techniques for multi-bit cells
US10650875B2 (en) 2018-08-21 2020-05-12 Spin Memory, Inc. System for a wide temperature range nonvolatile memory
US10699761B2 (en) 2018-09-18 2020-06-30 Spin Memory, Inc. Word line decoder memory architecture
US11621293B2 (en) 2018-10-01 2023-04-04 Integrated Silicon Solution, (Cayman) Inc. Multi terminal device stack systems and methods
US10971680B2 (en) 2018-10-01 2021-04-06 Spin Memory, Inc. Multi terminal device stack formation methods
US11107979B2 (en) 2018-12-28 2021-08-31 Spin Memory, Inc. Patterned silicide structures and methods of manufacture
CN111045960B (zh) * 2019-11-21 2023-06-13 中国航空工业集团公司西安航空计算技术研究所 一种多像素格式存储的Cache电路
TWI765282B (zh) * 2020-06-19 2022-05-21 大陸商北京集創北方科技股份有限公司 觸控顯示晶片及資訊處理裝置
JP7096938B1 (ja) 2021-08-27 2022-07-06 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
WO2024043267A1 (ja) * 2022-08-25 2024-02-29 日東電工株式会社 データ処理装置および生体センサ

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05299616A (ja) 1992-04-16 1993-11-12 Hitachi Ltd 半導体記憶装置
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
JPH07146820A (ja) * 1993-04-08 1995-06-06 Hitachi Ltd フラッシュメモリの制御方法及び、それを用いた情報処理装置
US5617557A (en) * 1994-11-14 1997-04-01 Compaq Computer Corporation Using an address pin as a snoop invalidate signal during snoop cycles
KR20000046167A (ko) * 1998-12-31 2000-07-25 구자홍 메모리 제어장치 및 방법
CN100359601C (zh) * 1999-02-01 2008-01-02 株式会社日立制作所 半导体集成电路和非易失性存储器元件
JP3807582B2 (ja) * 1999-02-18 2006-08-09 株式会社ルネサステクノロジ 情報処理装置及び半導体装置
JP2001005723A (ja) 1999-06-21 2001-01-12 Mitsubishi Electric Corp 半導体記憶装置およびそれを用いたメモリシステム
US6815329B2 (en) * 2000-02-08 2004-11-09 International Business Machines Corporation Multilayer interconnect structure containing air gaps and method for making
JP4049297B2 (ja) 2001-06-11 2008-02-20 株式会社ルネサステクノロジ 半導体記憶装置
JP4059002B2 (ja) * 2001-06-13 2008-03-12 株式会社日立製作所 メモリ装置
US7234052B2 (en) * 2002-03-08 2007-06-19 Samsung Electronics Co., Ltd System boot using NAND flash memory and method thereof
EP1499961A2 (en) * 2002-04-30 2005-01-26 Koninklijke Philips Electronics N.V. Apparatus and method for fetching data from memory
US20030206442A1 (en) * 2002-05-02 2003-11-06 Jerry Tang Flash memory bridiging device, method and application system
JP2004348677A (ja) * 2003-05-26 2004-12-09 Sony Corp プログラムおよび情報処理方法
US7870342B2 (en) * 2003-07-24 2011-01-11 Marvell International Ltd. Line cache controller with lookahead
KR100498508B1 (ko) * 2003-09-16 2005-07-01 삼성전자주식회사 데이터 전송시간을 감소시키는 듀얼 버퍼링(Dualbuffering) 메모리 시스템 및 이에 대한 제어방법
US7660945B1 (en) * 2004-03-09 2010-02-09 Seagate Technology, Llc Methods and structure for limiting storage device write caching
JP2008276646A (ja) * 2007-05-02 2008-11-13 Hitachi Ltd ストレージ装置及びストレージ装置におけるデータの管理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101056560B1 (ko) * 2009-02-11 2011-08-11 (주)인디링스 고체 상태 디스크 시스템에서 버퍼 캐시의 프로그래밍 방법및 장치
US10078448B2 (en) 2015-07-08 2018-09-18 Samsung Electronics Co., Ltd. Electronic devices and memory management methods thereof

Also Published As

Publication number Publication date
CN1866223A (zh) 2006-11-22
US8028119B2 (en) 2011-09-27
KR101310481B1 (ko) 2013-09-24
TW200710655A (en) 2007-03-16
TWI418981B (zh) 2013-12-11
KR20120127368A (ko) 2012-11-21
US20120030403A1 (en) 2012-02-02
US20060271755A1 (en) 2006-11-30
JP2006323739A (ja) 2006-11-30
KR101269317B1 (ko) 2013-05-29
US20130124790A1 (en) 2013-05-16

Similar Documents

Publication Publication Date Title
KR101269317B1 (ko) 메모리 모듈, 메모리 시스템,및 정보기기
KR101151085B1 (ko) 반도체 기억 장치
JP5138869B2 (ja) メモリモジュール及びメモリシステム
JP4499982B2 (ja) メモリシステム
JP2005038454A (ja) メモリモジュール及びメモリシステム
JP5391370B2 (ja) メモリモジュールとコントローラ
KR100958767B1 (ko) 메모리 모듈
JP2013137841A (ja) メモリシステム
JP2010225161A (ja) 半導体記憶装置
JP4766526B2 (ja) メモリモジュール

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
A107 Divisional application of patent
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee