KR20030004419A - 비휘발성 메모리를 버퍼링하기 위한 휘발성 메모리의 사용 - Google Patents

비휘발성 메모리를 버퍼링하기 위한 휘발성 메모리의 사용 Download PDF

Info

Publication number
KR20030004419A
KR20030004419A KR1020027015941A KR20027015941A KR20030004419A KR 20030004419 A KR20030004419 A KR 20030004419A KR 1020027015941 A KR1020027015941 A KR 1020027015941A KR 20027015941 A KR20027015941 A KR 20027015941A KR 20030004419 A KR20030004419 A KR 20030004419A
Authority
KR
South Korea
Prior art keywords
executable
memory
executable memory
code
component
Prior art date
Application number
KR1020027015941A
Other languages
English (en)
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 KR20030004419A publication Critical patent/KR20030004419A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44573Execute-in-place [XIP]
    • 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

Landscapes

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

Abstract

본 발명은 코드가 CPU와 같은 실행 엔티티(12)에 의해 실행될 수 있도록, 플래쉬, EEPROM 또는 NAND어레이 같은 비휘발성 메모리(14)로 부터 코드 전송을 이네이블하기 위한 시스템을 제공한다. 본 발명은 주로 비교적 저가의 비휘발성 구성요소로 구성되어, 고효율 실행가능 코드 저장 시스템을 이네이블하도록, SRAM같은 소량의 휘발성 메모리(10)를 다량의 비휘발성 메모리에 연결한다.

Description

비휘발성 메모리를 버퍼링하기 위한 휘발성 메모리의 사용{USING VOLATILE MEMORY TO BUFFER NON-VOLATILE MEMORY}
상이한 타입의 메모리를 분류하는 방식중의 하나는 코드를 직접 실행하는 기능에 의한다. 메모리 디바이스로 부터 직접 코드를 실행하는 기능은 대개 메모리 디바이스로 부터 아래의 특성을 요구한다:
1. 주소 버스, 데이터 버스 및 다소 많은 제어 신호(판독 및 기록 가능 등)를 포함하는 표준 메모리 인터페이스. 실행 엔티티(CPU, 컨트롤러 등)는 (주소 버스의 신호를 제공함으로써)요구된 코드의 주소를 결정하고, (요구된 제어 신호를 제공함으로써)주어진 사이클을 실행하고, 요구된 코드가 짧은 주기의 시간(몇 ns에서 몇백 ns까지의 범위)후에 데이터 버스에 나타날 것을 예상한다.
2. 메모리 디바이스의 전체 메모리 공간의 완전 가시성. 이것은 실행 엔티티가 주소값을(디바이스의 메모리 공간 내의) 임의의 유효한 상태로 변경할 수 있고 동일한 주기의 딜레이후에 요구된 코드를 획득함을 의미한다. 이러한 행동은 또한 랜덤 액세스 기능으로 알려져 있다.
상기 특성을 가지고 있지 않은 메모리 디바이스는 실행가능 메모리로서 사용될 수 없다. 전체 메모리 공간의 완전 가시성에 대한 요구조건은 실제로 메모리 디바이스의 내부 구조를 지시하고 각각의 메모리 셀이 임의의 딜레이 없이 직접 호스트 시스템에 접속될 것을 요구한다.
상기 구조는 디바이스 내부에 다량의 라우팅 신호를 요구한다. 이러한 라우팅 신호는 실리콘 공간을 채우고 따라서 디바이스를 보다 고가화하게 한다. 산업계에서 채택되는 견해는 메모리 디바이스의 랜덤 액세스의 요구조건이 보다 고가의 디바이스로 유도된다는 것이다.
비실행 메모리의 예가 NAND플래시 메모리이다. 이러한 디바이스는 코드 실행외에 데이터 저장 애플리케이션같은 용도로 개발되었다. NAND플래시가 직접 코드를 실행하도록 요구하지 않는다는 사실은 상이한 타입의 내부 구조를 사용할 수 있다는 것이다. NAND플래시 구조는 각각의 위치에 직접 접근(랜덤 액세스)을 허용 하지 않는 대신에, 메모리셀에 더 복잡한 인터페이스를 제공한다. 이러한 구조는 (실행가능 메모리에서 요구되는 양보다)적은 라우팅 리소스를 요구하고 (비트당)저비용으로서 이점이 있다. 그러나 언급된 바와 같이 주된 한계는 그것이 비실행가능하다라는 것이다.
따라서 실행가능 메모리로서 사용되도록, NAND플래시 같은 비실행가능 메모리를 이네이블할 수 있는 시스템에 대한 요구가 널리 인식되어 있고 그러한 시스템을 가지는 것이 크게 유리할 수 있다.
본 발명은 (NAND플래시 메모리 같은) 비실행가능 메모리로 부터 코드 실행을이네이블하는 시스템 및 방법을 제공한다. 본 발명의 구현은 보다 고비용 솔루션(실행가능 메모리)이 일반적으로 요구되는 애플리케이션에서 저가의 메모리 구성요소의 사용을 가능하도록 한다.
본 발명은 비실행가능 메모리를 실행가능 메모리로서 사용하기 위한 시스템에 관한 것이다.
본 발명은 첨부된 도면을 참조하여, 단지 예로써만 기술된다.
도 1은 본 발명에 따른 메모리 시스템의 구성요소를 도시한 도면,
도 2는 본 발명에 따라 하나 이상의 실행가능 메모리 버퍼가 제공되는 절차 및 실행가능 버퍼에서 요구된 데이터의 가용성을 보증하기 위하여 통화중 음을 도시한 도면.
본 발명에 따라, 비실행가능 메모리로 부터 코드 실행을 이네이블하는 시스템이 제공된다. 본 발명은 고효율적인 실행가능 데이터 저장 시스템을 이네이블하기 위하여, 소량의 실행가능 메모리와 비교적 저가의 비실행가능 메모리 구성요소로 구성된 다량의 비실행가능 메모리를 조합한다.
예컨대, 시스템의 구현에는 8MB NAND플래시(비실행가능) 및 1KB의 SRAM(실행가능)을 포함할 수 있다. 부가적인 SRAM은 (비용 측면에서)무시할 수 있으나 보다 상세하게는 모든 8MB NAND플래시로 부터 실행을 이네이블한다. 이러한 숫자들은 단지 예시일 뿐이고 본 명세서를 통하여 사용될 수 있다. 임의의 다른 조합이 정확한 요구조건에 기초하여 고려되고 구현될 수 있다.
본 발명은 구성요소가 저가이고(비실행가능 메모리), 그리고 대개 훨씬 고가인 구성요소(실행가능 메모리)에 의하여 향유되는 고기능을 가지는 메모리 시스템 제작을 위하여 제공한다. 본 발명의 메커니즘은 하기된 사항을 요구한다:
1. 디바이스는 호스트 시스템(실행 엔티티)에 완전 가시성을 가진 소량의 완전 매핑된 메모리(랜덤 액세스)를 지원하여야 한다.
2. 디바이스는 실행가능 버퍼/버퍼들에서 요구된 정보의 가용성을 보증하기 위하여 알고리즘을 관리하여야 한다.
3. 디바이스는 정보가 아직 이용될 수 없을때 통화중 음(busy signal)을 공급하여야 한다.
본 발명의 바람직한 실시예에 따라, 임의의 주어진 시간에 랜덤 액세스 메모리(예컨대, 1KB의 SRAM)는 비실행가능 어레이(예컨대, 8MB같은 전체 NAND용량의 소부분)로 부터 동일 크기의 메모리 용량(예컨대, 1KB)을 포함한다. 이 예에따라, 1KB의 SRAM(이것은 1KB의 NAND를 반영한다)은 실행가능으로서 작동하고 실행가능 메모리(랜덤 액세스 및 표준 메모리 인터페이스)의 요구조건을 만족한다. CPU는 SRAM 콘텐츠의 범위내에 임의의 위치를 실행할 수 있다.
본 발명의 또다른 바람직한 실시예에 따라, 비실행가능 메모리로 부터 실행가능 메모리까지의 데이터의 동시 다운로딩, 및 보다 많은 데이터 또는 코드 요구의 처리를 이네이블하기 위하여, 복수개의 메모리 버퍼가 제공된다.
본 발명은 실행가능 메모리 시스템에 있어서의 처리 개선에 관한 것이다. 보다 명확하게는, 본 발명은 비실행가능 메모리로 부터 코드의 실행을 이네이블하는 시스템 및 방법을 제공한다.
이하의 설명은 특정 애플리케이션 및 그 요구조건에 관하여 제공된 바와 같이 당해분야의 통상의 기술자가 발명을 제작하고 이용할 수 있도록 나타내었다. 바람직한 실시예의 다양한 변형은 관련분야 당업자에게 명백하고 여기에 정의된 일반적인 원리는 다른 실시예에서 적용될 수 있다. 따라서 본 발명은 도시되고 기술된 특정 실시예로 한정되도록 의도되지 않고 여기에서 개시된 원리 및 신규의 특징과 일치하는 최광의의 범위까지 적용된다.
본 발명은 실행가능 메모리로서 기능하도록 비실행가능 메모리의 이네이블을 위해 제공된 시스템 및 방법이다. 이러한 시스템은 보다 많은량의 비실행가능 메모리가 실행가능 메모리로서 기능할 수 있도록 보다 많은량의 비실행가능 메모리에 더하여 소량의 실행가능 메모리의 사용을 필요로한다.
예컨대, 본 발명에 따른 메모리 시스템의 구현은 8MB NAND플래쉬(비실행가능) 구성요소 및 1KB SRAM(실행가능) 구성요소를 포함할 수 있다. 부가적인 SRAM은 (비용면에서)무시할 수 있으나 보다 상세히는, 모든 8MB NAND플래쉬로 부터 실행을 이네이블한다. 이러한 숫자들은 단지 예에 불과하나 일관성을 위하여 본 명세서를 통하여 사용될 것이다. 정확한 요구조건에 기초하여 임의의 다른 조합이 고려되고 구현될 수 있다.
따라서 본 발명은 저비용, 비실행가능 구성요소 및 고기능 실행가능 메모리의 이용에 기초하여 시스템을 제작할 수 있도록 한다.
본 발명에 따른 시스템 및 방법의 원리 및 동작은 도면 및 이하 기술된 설명을 참조하여 보다 더 잘 이해될 수 있으나 이러한 도면은 설명의 목적으로만 제공되었고 제한하도록 의도되지는 않았다.
본 발명은 아래의 구성요소를 포함한다:
1. 코드를 실행하기 위한 CPU, 컨트롤러등과 같은 실행 엔티티;
2. 시스템 코드 및 데이터를 저장하기 위한 비실행가능 메모리 구성요소;
3. 실행가능 메모리 구성요소가 그 내부에 비실행가능 메모리 구성요소 콘텐츠의 일부분을 포함하도록 코드 실행을 위한 메모리 버퍼로서 동작하고, 실행가능 메모리 구성요소를 에뮬레이팅 및 비실행가능 메모리 구성요소로 부터 실행가능 메모리 구성요소까지 요구된 데이터의 다운로딩을 이네이블하기 위한 실행가능 메모리 구성요소.
도 1은 본 발명의 기본 체계 구성요소 및 작업흐름의 예를 도시한다. 도 1에 따라, 코드 실행 및 데이터 처리를 위한 CPU, 컨트롤러 등과 같은 실행 엔티티(12)가 제공된다. 또한 시스템 코드 및 데이터의 저장을 위하여 비실행가능 메모리 구성요소(14)가 제공된다. 이러한 비실행가능 메모리 구성요소의 예는 NAND플래시 메모리, 시리얼 EEPROM AND플래쉬 메모리 등이다. 마지막으로 본 발명의 가장 중요한 구성요소는 소량의 완전 매핑된 실행가능 메모리(10)(랜덤 액세스)이다. 이러한 실행가능 메모리는 코드 실행을 위하여 버퍼역할을 하고 호스트 시스템(실행 엔티티(12))의 완전 가시성을 가지도록 구성된다. 이러한 타입의 메모리의 예는 SRAM, NOR플래시등을 포함한다. 이러한 실행가능 메모리 구성요소(10)는 내부에 크기가 실행가능 메모리 구성요소와 같거나 작은 비실행가능 메모리 구성요소 콘텐츠(14)의 일부분을 포함하여 실행가능 메모리 구성요소를 에뮬레이팅하고 비실행가능 메모리 구성요소(14)로 부터 실행가능 메모리 구성요소(10)까지 요구된 데이터의 다운로딩을 이네이블한다.
본 발명의 바람직한 실시예에 따라, 상기 예에서 기술한 바와 같이 아래의 요구조건이 만족되어야만 한다:
1. 1KB의 SRAM은 실행가능하고 그리고 실행가능 메모리의 요구조건(랜덤 액세스 및 표준 메모리 인터페이스)을 만족한다. 따라서 CPU 또는 실행 엔티티(12)는 SRAM(10)의 범위내의 임의의 위치에서 실행할 수 있다.
본 발명에 따라, 임의의 주어진 시간에, 1KB의 SRAM(10)은 NAND플래시 어레이(14)로 부터(8MB의 전체 NAND용량으로 부터)의 1KB까지 포함한다. NAND플래시 어레이(14)로 부터의 데이터는 SRAM(10)으로 다운로딩되므로 SRAM(10)내부의 데이터는 NAND플래시(14) 콘텐츠의 일부분의 복사본이다. 이러한 방식으로, SRAM(10)기능은 NAND(12)콘텐츠에 대하여 에뮬레이팅하여 SRAM(10)내부에서 NAND(12)콘텐츠가 실행가능 "되도록"이네이블한다.
2. 이 단계까지, 단지 NAND플래시의 소 부분(1KB)만이 실행가능할 수 있다. 따라서 실행 엔티티(12)의 요구조건에 따라 임의의 NAND플래시(14)콘텐츠를 포함할 수 있는 방식으로 1KB SRAM 버퍼의 제어를 이네이블하는 메커니즘을 제공하는 것이 요구된다.
3. SRAM버퍼(10)콘텐츠상에서 적당한 제어를 이네이블하도록, NAND플래시로 부터 SRAM버퍼까지 데이터의 신속한 다운로딩을 이네이블 할 뿐만 아니라 실행가능버퍼/버퍼들에서 요구된 정보의 가용성을 보증하기 위하여 구현은 다운로드 온라인 알고리즘을 포함한다. 다수 타입의 다운로드 알고리즘이 사용될 수 있다. 매우 기초적이고 단순한 예가 아래에서 기술된다.
ⅰ. 요구된 데이터/주소의 위치에 관하여, 실행가능 메모리에 질의하기
ⅱ. 요구된 주소(실행 엔티티(12)에 의해 요구된)가 현재의 SRAM버퍼 콘텐츠에 포함되는 한, 디바이스는 버퍼로 부터 직접 요구된 코드를 만족할 것이고 임의의 콘텐츠 변경을 요구하지는 않을 것이다.
ⅲ. 요구된 주소가 현재의 SRAM버퍼 콘텐츠내에 포함되지 않는다면, 다운로드 알고리즘은 NAND플래시(14)의 요구된 위치로 부터 SRAM버퍼(10)까지 다운로드 동작을 초기화 한다. 다운로드 동작의 완료시, 요구된 정보는 SRAM버퍼(10)내부에서 실행가능 방식으로 이용될 수 있다.
ⅳ. 본 발명의 디바이스는 실행가능 버퍼/버퍼들에서 요구된 정보의 가용성을 보증하기 위하여 적어도 하나의 알고리즘을 관리한다. 디바이스는 정보가 아직 이용될 수 없을때 통화중 음을 공급한다. 예컨대, (데이터 주소에 따라)요구된 데이터가 SRAM 현재(current) 범위내에 있지 않으면, 데이터는 NAND로 부터 SRAM으로 다운로드 되어야만 한다. 이러한 동작은 시간(다운로드 지연)이 걸리고 그 동안 요구된 주소는 요구된 코드(요구된 콘텐츠)를 복귀할 수 없다. 따라서 제공된 통화중 음은 호스트 시스템이 데이터 다운로딩의 완료시까지 데이터 요청을 멈추도록 상기 호스트 시스템에 경고를 보낸다.
상기 다운로드 알고리즘 또는 명령이 실행가능 방식으로 NAND플래시 콘텐츠의 완전한 가시성에 대한 요구조건을 만족시킬 수 있다는 것을 보여질 수 있다. 다운로드 과정 동안 메모리는 전혀 실행에 이용될 수 없기 때문에 모든 시간에 있어서 진정한 완전 가시성은 아니다라는 사실에 주목하여야 한다.
본 발명의 또다른 바람직한 실시예에 따라, 제안된 다운로드 알고리즘, 또는 명령어 세트, 및 시스템 구조는 쉽게 보다 나은 기능을 가지도록 확장될 수 있다. 예컨대, 도 2에서 도시될 수 있는 바와 같이, 제안된 구조는 메모리가 요구된 코드와 함께 실행에 이용될 수 없을때의 타임슬롯을 포함한다. 이러한 경우에 메모리 디바이스가 실행을 위하여 요구된 코드를 다운로딩을 처리하고 있는 동안, 요구된 코드가 아직 이용될 수 없다는 것을 알리기 위하여 실행 엔티티(30)에 "통화중 음"(26)을 공급하는 것이 요구된다. 실행 엔티티(30)는 메모리 디바이스가 요구된 코드를 준비하고 공급할 수 있을때 까지 실행 시도를 막기 위하여 "통화중 음"을 사용해야만 한다. 실행 시도를 막는 많은 선행 기술의 플랫폼 종속 방법이 있다.
본 발명의 또다른 바람직한 실시예는 이중 또는 삼중 SRAM버퍼(20)를 기술하고 있다. 도 2에 도시된 이러한 버퍼 또는 버퍼 세트는 메모리가 다운로드 동작 동안 접근이 로크되는 것을 방지하기 위하여 사용될 수 있다. 이러한 경우에 하나의 SRAM버퍼(20)가 접근가능하고 실행가능한 상태로 유지되는 동안, 다운로드 동작은 요구된 콘텐츠를 다운로드 로직(22)으로 칭한 다른 SRAM버퍼로 로딩할 것이다. 실행가능 버퍼(20)는 2개이상의 실행가능 버퍼를 포함하도록 확장될 수 있다. 이러한 경우에 적당한 다운로드 상태 기계의 지원으로, 하나 이상의 다른 버퍼의 콘텐츠를 동시에 변경하는 동안, 하나 이상의 버퍼로 부터 코드 실행을 지원할 수 있다. 이러한 애플리케이션은 사용중(busy) 지연을 줄이고 실질적으로 판독/기록 성능을 향상시킨다. 이러한 버퍼는 또한 (두개의 버퍼의 경우에)이중 버퍼 또는 삼중 버퍼로 칭할 수 있다.
본 발명의 상기 실시예는 예시 및 설명의 목적으로 제공되었다. 그것은 본 발명을 개시된 명확한 형태로 제한 또는 완전하도록 의도되지는 않았다. 상기 교시에 비추어 많은 수정 및 변경이 가능할 수 있다는 것을 이해하여야 한다. 본 발명의 범위는 이러한 상세한 설명에 의해 제한되지 않고 첨부된 청구항에 의해 제한되도록 의도되었다.

Claims (9)

  1. 비실행가능 메모리로 부터 코드 실행을 이네이블하기 위한 시스템에 있어서,
    ⅰ. 호스트 시스템을 위하여 코드를 실행하기 위한 실행 엔티티;
    ⅱ. 시스템 코드 및 데이터를 저장하기 위한 비실행가능 메모리 구성요소; 및
    ⅲ. 상기 비실행가능 메모리 구성요소의 콘텐츠의 일부분이 상기 실행가능 메모리 구성요소내에 위치하고 상기 비실행가능 메모리 구성요소의 콘텐츠의 상기 부분이 상기 실행가능 메모리 구성요소의 실행가능 기능을 에뮬레이팅하도록, 상기 코드를 실행하기 위한 메모리 버퍼로서 작동하기 위한 실행가능 메모리 구성요소를 포함하는 것을 특징으로 하는 시스템.
  2. 제 1 항에 있어서, 상기 실행가능 메모리 구성요소는, 상기 실행 엔티티에 의하여 요구된 데이터 주소가 상기 실행가능 메모리 구성요소에 다운로드되도록, 상기 비실행가능 메모리 구성요소로 부터 상기 실행가능 메모리 구성요소까지 요구된 데이터를 다운로딩하기 위한 다운로딩 메커니즘을 채용하는 것을 특징으로 하는 시스템.
  3. 제 1 항에 있어서, 상기 비실행가능 메모리 구성요소는, 실행가능 메모리로서 기능하도록, NAND플래시 구성요소, 시리얼 EEPROM 및 플래시 메모리 구성요소로구성되는 그룹으로 부터 선택되는 것을 특징으로 하는 시스템.
  4. 비실행가능 메모리를 사용하여 코드를 실행하기 위한 시스템에 있어서,
    ⅰ. 코드를 실행하기 위한 실행 엔티티;
    ⅱ. 상기 코드 및 데이터를 저장하기 위한 비실행가능 메모리 구성요소; 및
    ⅲ. 상기 코드의 다운로딩 동작동안 상기 데이터로의 접근에 대한 메모리 로크를 방지하기 위한 다중 메모리 버퍼로서 동작하는 복수개의 실행가능 메모리 구성요소를 포함하는 것을 특징으로 하는 시스템.
  5. 제 4 항에 있어서, 각각의 상기 복수개의 메모리 버퍼는 다운로드 로직 및 메모리 버퍼 스페이스를 포함하는 것을 특징으로 하는 시스템.
  6. 비실행가능 메모리를 사용하여 코드를 실행하기 위한 방법에 있어서,
    ⅰ. 실행 엔티티로 부터 적어도 하나의 코드 요구를 버퍼링하기 위하여 실행가능 메모리를 제공하는 단계;
    ⅱ. 실행가능 코드를 저장하기 위하여 비실행가능 메모리를 제공하는 단계;
    ⅲ. 상기 실행가능 메모리의 실행가능 기능을 에뮬레이팅하기 위하여 상기 실행가능 코드의 적어도 일부분을 상기 실행가능 메모리로 다운로딩하는 단계;
    ⅳ. 상기 실행가능 메모리로 부터 적어도 하나의 상기 코드 요구를 실행하는 단계; 및
    ⅴ. 상기 실행가능 메모리에서 상기 비실행가능 메모리의 콘텐츠의 실행을 버퍼링하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제 6 항에 있어서,
    a) 실행가능 버퍼에서 상기 콘텐츠의 가용성을 보장하기 위하여 적어도 한 세트의 명령어를 관리하는 단계; 및
    b) 상기 콘텐츠가 이용될 수 있을때까지 상기 실행가능 엔티티가 판독 사이클을 딜레이하도록, 상기 콘텐츠가 이행될 수 없는 경우에 통화중 음을 공급하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제 6 항에 있어서, 상기 실행가능 코드의 적어도 일부분을 상기 다운로딩하는 단계는,
    (a) 데이터에 대하여 상기 실행가능 메모리에 질의하는 단계; 및
    (b) 상기 데이터의 질의된 주소가 비실행가능 메모리에서 단지 이용가능할때, 상기 비실행가능 메모리의 요청된 위치로 부터 상기 실행가능 메모리의 버퍼 영역에 까지 다운로드 동작을 초기화하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제 6 항에 있어서, 단계 ⅳ는,
    Ⅰ. 상기 비실행가능 메모리의 상기 부분이 상기 다운로딩 동작 동안 접근에대하여 로크되는 것을 방지하기 위하여 복수개의 실행가능 메모리 버퍼를 제공하는 단계;
    Ⅱ. 상기 실행가능 코드를 상기 복수개의 실행가능 메모리 버퍼중의 하나에 로딩하는 단계; 및
    Ⅲ. 상기 호스트 시스템으로 접근가능하고 상기 호스트 시스템에 의해 실행가능하도록, 적어도 하나의 부가적인 상기 실행가능 메모리 버퍼를 유지하는 단계를 더 포함하는 것을 특징으로 하는 방법.
KR1020027015941A 2001-03-26 2002-03-05 비휘발성 메모리를 버퍼링하기 위한 휘발성 메모리의 사용 KR20030004419A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/816,459 US20020138702A1 (en) 2001-03-26 2001-03-26 Using non-executable memory as executable memory
US09/816,459 2001-03-26

Publications (1)

Publication Number Publication Date
KR20030004419A true KR20030004419A (ko) 2003-01-14

Family

ID=25220683

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027015941A KR20030004419A (ko) 2001-03-26 2002-03-05 비휘발성 메모리를 버퍼링하기 위한 휘발성 메모리의 사용

Country Status (4)

Country Link
US (1) US20020138702A1 (ko)
JP (1) JP2004527040A (ko)
KR (1) KR20030004419A (ko)
WO (1) WO2002077824A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100651370B1 (ko) * 2003-12-30 2006-11-29 삼성전자주식회사 휴대단말기에서 보조메모리의 파일을 처리하는 방법
US8301829B2 (en) 2003-12-15 2012-10-30 Samsung Electronics Co., Ltd. Flash memory device and flash memory system including buffer memory

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7386653B2 (en) * 2001-08-06 2008-06-10 Sandisk Il Ltd Flash memory arrangement
US7165137B2 (en) 2001-08-06 2007-01-16 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
US7082525B2 (en) * 2002-10-02 2006-07-25 Sandisk Corporation Booting from non-linear memory
CN1295603C (zh) * 2003-01-28 2007-01-17 华为技术有限公司 加载升级单板启动程序的方法
US8108588B2 (en) * 2003-04-16 2012-01-31 Sandisk Il Ltd. Monolithic read-while-write flash memory device
GB2404748B (en) * 2003-08-01 2006-10-04 Symbian Ltd Computing device and method
US7073016B2 (en) * 2003-10-09 2006-07-04 Micron Technology, Inc. Random access interface in a serial memory device
TWI232406B (en) * 2003-12-30 2005-05-11 Mediatek Inc Memory management method for simultaneously loading and executing program codes
JP5007485B2 (ja) * 2004-08-26 2012-08-22 ソニー株式会社 半導体記憶装置およびそのアクセス方法、並びにメモリ制御システム
US7243856B2 (en) * 2005-03-24 2007-07-17 Sandisk Il Ltd.. Loading internal applications on a smartcard
US7519754B2 (en) * 2005-12-28 2009-04-14 Silicon Storage Technology, Inc. Hard disk drive cache memory and playback device
JP2007280140A (ja) * 2006-04-07 2007-10-25 Sony Corp 半導体記憶装置および信号処理システム
EP1944686B1 (en) * 2007-01-11 2019-03-13 Barco Ltd. Removable apparatus with a plug-and-show function
EP2015561A1 (fr) * 2007-07-10 2009-01-14 Nagracard S.A. Procédé d'envoi d'un code exécutable à un dispositif de réception et procédé d'exécution de ce code
JP2012027929A (ja) * 2011-08-31 2012-02-09 Sandisk Il Ltd スマートカード上の内部アプリケーションのローディング
DE102014203062A1 (de) 2014-02-20 2015-08-20 Bayerische Motoren Werke Aktiengesellschaft Vergrößern des verfügbaren FLASH-Speichers eines Micro-Controllers

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07153286A (ja) * 1993-11-30 1995-06-16 Sony Corp 半導体不揮発性記憶装置
KR960039006A (ko) * 1995-04-26 1996-11-21 김광호 디램버스에 접속가능한 불휘발성 반도체 메모리장치
US5673417A (en) * 1995-07-20 1997-09-30 Inventec Corporation Electronic organizer with a flash memory and associated data archiving
KR980013092A (ko) * 1996-07-29 1998-04-30 김광호 교환시스템의 화일관리장치 및 방법
US5987536A (en) * 1997-05-22 1999-11-16 International Business Machines Corporation Computer system having flash memory bios which can be accessed while protected mode operating system is running
US6263398B1 (en) * 1998-02-10 2001-07-17 Ramtron International Corporation Integrated circuit memory device incorporating a non-volatile memory array and a relatively faster access time memory cache
US6263399B1 (en) * 1998-06-01 2001-07-17 Sun Microsystems, Inc. Microprocessor to NAND flash interface
US6246634B1 (en) * 2000-05-01 2001-06-12 Silicon Storage Technology, Inc. Integrated memory circuit having a flash memory array and at least one SRAM memory array with internal address and data bus for transfer of signals therebetween

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8301829B2 (en) 2003-12-15 2012-10-30 Samsung Electronics Co., Ltd. Flash memory device and flash memory system including buffer memory
KR100651370B1 (ko) * 2003-12-30 2006-11-29 삼성전자주식회사 휴대단말기에서 보조메모리의 파일을 처리하는 방법

Also Published As

Publication number Publication date
WO2002077824A1 (en) 2002-10-03
US20020138702A1 (en) 2002-09-26
JP2004527040A (ja) 2004-09-02

Similar Documents

Publication Publication Date Title
KR20030004419A (ko) 비휘발성 메모리를 버퍼링하기 위한 휘발성 메모리의 사용
US7782683B2 (en) Multi-port memory device for buffering between hosts and non-volatile memory devices
US8185728B2 (en) System boot using NAND flash memory and method thereof
CN1307532C (zh) 利用与非闪速存储器的引导系统及其方法
US7814264B2 (en) Memory card, semiconductor device, and method of controlling semiconductor memory
US7188217B2 (en) Embedded DRAM cache memory and method having reduced latency
US6782454B1 (en) System and method for pre-fetching for pointer linked data structures
US20010018724A1 (en) Nonvolatile semiconductor memory device
KR20020029760A (ko) 집적 회로 시스템
US20040193864A1 (en) System and method for actively booting a computer system
WO2004059499A2 (en) Memory controller and method for writing to a memory
US7882327B2 (en) Communicating between partitions in a statically partitioned multiprocessing system
EP1605360A1 (en) Cache coherency maintenance for DMA, task termination and synchronisation operations
WO2007090432A1 (en) An electronic device having a memory element and method of operation therefor
US6173365B1 (en) Cache memory system and method of a computer
US20080177930A1 (en) Fully associative banking for memory
JP2001075866A (ja) 記憶装置を動作する方法および記憶装置
US5895496A (en) System for an method of efficiently controlling memory accesses in a multiprocessor computer system
US7299467B2 (en) Method and system for minimizing memory access latency in a computer system
US6684290B2 (en) Memory rewriting apparatus and method for memory mapping rewriting program to same address space
CN113535392A (zh) 基于cma实现支持大内存连续分配的内存管理方法及系统
US7418566B2 (en) Memory arrangement and method for reading from a memory arrangement
US7363428B2 (en) Microprocessor with hot routine memory and method of operation
US6029210A (en) Memory initialization system selectively outputting a data between a normal data stored in the memory and a fixed value according to a registered access state
US6625697B1 (en) Cache-storage device with a buffer storing prefetch data

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application