KR20040056347A - 메모리에 데이터 로딩 시간 단축 방법 - Google Patents

메모리에 데이터 로딩 시간 단축 방법 Download PDF

Info

Publication number
KR20040056347A
KR20040056347A KR1020020082954A KR20020082954A KR20040056347A KR 20040056347 A KR20040056347 A KR 20040056347A KR 1020020082954 A KR1020020082954 A KR 1020020082954A KR 20020082954 A KR20020082954 A KR 20020082954A KR 20040056347 A KR20040056347 A KR 20040056347A
Authority
KR
South Korea
Prior art keywords
memory
sector
data
flash rom
address
Prior art date
Application number
KR1020020082954A
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 엘지전자 주식회사
Priority to KR1020020082954A priority Critical patent/KR20040056347A/ko
Publication of KR20040056347A publication Critical patent/KR20040056347A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • 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/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

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

Abstract

본 발명은 메모리에 저장하려는 데이터와 기존에 저장된 데이터 사이의 변경된 부분 이후만을 라이팅(writing) 함으로써 프로그램 시간을 단축시키기 위한 메모리 프로그램 방법에 관한 것이다.
본 발명에 의한 메모리에 변경된 데이터를 로딩하는 방법은, 기존의 메모리 데이터와 새로운 데이터간 상이한 부분이 시작되는 메모리 섹터를 찾는 단계와, 상기 상이한 부분이 시작되는 메모리 섹터부터 상기 새로운 데이터를 로딩하는 단계를 포함하여 구성되는 것을 특징으로 한다. 상기와 같은 구성에 의하면, 변경된 부분 이후의 데이터만 라이팅함으로써 메모리 프로그램 시간을 단축하는 효과가 있다.

Description

메모리에 데이터 로딩 시간 단축 방법{THE METHOD FOR SHORTENING DATA LOADING TIME TO A MEMORY}
본 발명은 메모리 프로그램 방법에 관한 것으로, 특히 메모리에 저장하려는 데이터와 기존에 저장된 데이터 사이의 변경된 부분 이후만을 라이팅 함으로써 프로그램 시간을 단축시키기 위한 메모리 프로그램 시간을 단축하는 방법에 관한 것이다.
일반적으로, 반도체 메모리는 데이터를 일시적이나 영구적으로 기억하는 장치로서, 재 프로그램 가능한지 여부에 따라 램(random access memory)과 롬(read only memory)으로 나뉜다. 램에는 SRAM(Static RAM) 및 DRAM(Dynamic RAM) 등이 있고, 롬에는 공장에서 나올 때 미리 내용을 기록한 마스크 롬, 사용자가 프로그램 가능한 피롬(PROM) 및 전기적 처리에 의해 기억내용을 지우거나 다시 쓸 수 있는 이피롬(EPROM) 등이 있다.
상기 이피롬에는 전기적 소거가능 이피롬(Electrically EPROM) 및 플래쉬롬(FEPROM; flash erasable programmable read- only memory)이 있는데, 상기 플래쉬롬에 저장된 데이터는 롬 전체 또는 섹터 단위로 삭제해야 한다는 특징이 있다.
이하에서는, 종래 기술에 의한 메모리 프로그램(예를 들어, 플래쉬롬 프로그램)을 위한 구성에 대해 기술한다(도 1 참조).
먼저, 마이크로프로세서(180)가 마더보드(100) 외부에 마련된다. 상기 마이크로프로세서(180)는 마더보드(100)상의 플래쉬롬(120), 하드디스크(140) 및 램(160)의 동작을 제어하는 기능을 수행한다.
상기 마더보드(100)의 일측에는 플래쉬롬(120)이 마련된다. 예를 들어, 총 19 개의 섹터에 1 메가바이트의 저장용량을 가진 플래쉬롬이 마련된다. 상기 플래쉬롬(120)은 일종의 비휘발성 기억 장치이지만, 퓨징(fusing)에 의해 재프로그램이 가능하다.
상기 마더보드(100)의 일측에는 하드디스크(140)가 마련된다. 상기 플래쉬롬(120)에 저장하고자 하는 데이터는 상기 하드디스크(140)로부터 램(160)으로 로딩된다. 상기 마더보드(100)의 일측에는 램(160)이 마련된다. 상기 마이크로프로세서(180)의 제어하에 상기 램(160)으로 상기 플래쉬롬(120)에 저장된 기존의 데이터 및 상기 하드디스크(140)로부터의 데이터가 로딩된다.
다음은 상기와 같은 구성을 가지는 종래 기술에 의한 메모리 프로그래밍 루틴(routine)에 대하여 설명한다.
프로그램 루틴이 시작되면, 플래쉬롬(120)에 저장될 데이터는 램(160)으로 로딩(loading)된다(제 210 단계). 상기 데이터는 프로세서간 통신(IPC; Inter Processor Communication)(미도시)을 통해서 램(160)으로 로딩 되거나 또는 하드디스크(140)에서 곧바로 램(160)으로 로딩된다.
상기 제 210 단계를 수행한 후, 플래쉬롬(120)의 벤더 아이디(vender identification) 및 디바이스 아이디의 이상 유무를 확인한다(제 212 단계). 만일 이상이 없으면 칩(chip) 삭제나 섹터 삭제 단계로 들어가지만, 상기 아이디가 확인되지 않으면 다시 본 프로그램 루틴의 시작으로 되돌아간다.
상기 제 212 단계에서 벤더 아이디 및 디바이스 아이디가 일치되면 플래쉬롬(120)의 모든 섹터의 데이터를 삭제한다(제 214 단계). 만일 상기 제 214 단계에서 칩 전체를 삭제하지 않고 섹터 삭제방식에 의하는 경우에는, 먼저 플래쉬롬(120)에 저장된 데이터로부터 각 섹터의 시작주소를 수집한 후 그 주소를 이용하여 플래쉬롬(120)의 모든 섹터를 삭제하는 방식으로 수행된다.
상기 제 214 단계를 수행한 후에는 반드시 플래쉬롬(120)에 저장된 기존의 데이터가 완전히 삭제되었는지 여부를 확인해야 한다(제 216 단계). 만일 완전히 삭제되지 않은 경우에는 다시 상기 제 214 단계로 되돌아간다.
상기 제 216 단계를 수행한 결과 모든 섹터의 데이터가 삭제된 경우, 램(140)에 저장된 새로운 데이터 전부를 플래쉬롬(120)으로 라이팅 한다(제 218 단계). 상기 제 218 단계가 수행되면 본 프로그램 루틴은 종료된다.
그러나, 상기와 같은 구성과 동작과정을 가지는 종래 기술에 의한 메모리 프로그램 방법에 대해 다음과 같은 문제점이 제기된다.
종래의 메모리 프로그램 방법에 의한다면, 메모리{즉, 플래쉬롬(120)}에 저장된 기존의 데이터 중 변경을 요하는 부분(즉, 수정을 요하는 부분)이 적은 경우에도, 저장된 데이터 전부를 삭제하고 실제 변경된 소량의 데이터를 포함한 새로운 데이터 전부를 다시 라이팅해야만 한다. 따라서, 시간적으로 매우 비효율적이다.
상기와 같은 종래 기술의 문제점을 해결하기 위한 본 발명인 메모리 프로그램 시간을 단축하는 방법의 목적은, 메모리에 저장하려는 데이터와 기존에 저장된 데이터 사이의 변경된 부분 이후만을 라이팅 함으로써 프로그램 시간을 단축시키기 위한 메모리 프로그램 시간을 단축하는 방법을 제공하는 것이다.
도 1은, 종래 기술에 의한 메모리 프로그래밍을 위한 디바이스 구성도.
도 2는, 종래 기술에 의한 메모리 프로그래밍 루틴(routine)을 도시한 순서도.
도 3은, 본 발명에 의한 메모리 프로그래밍을 위한 디바이스 구성도.
도 4는, 본 발명에 의한 메모리 프로그래밍 루틴을 도시한 순서도.
<도면의 주요부분에 대한 부호의 설명>
300: 마더보드 320: 플래쉬롬
340: 하드디스크 360: 램
380: 마이크로프로세서
상기와 같은 목적을 달성하기 위한 본 발명에 의한 메모리에 데이터 로딩 시간 단축 방법은, 기존의 메모리 데이터와 새로운 데이터간 상이한 부분이 시작되는메모리 섹터를 찾는 단계와, 상기 상이한 부분이 시작되는 메모리 섹터부터 상기 새로운 데이터를 로딩하는 단계를 포함하여 구성된다.
또한 본 발명에 의한 메모리에 데이터를 로딩하는 방법에 의하면, 상기 상이한 부분이 시작되는 메모리 섹터를 찾는 단계는, 상기 기존의 데이터 및 상기 새로운 데이터를 다른 메모리로 로딩하는 단계와, 상기 새로운 데이터가 상기 기존의 데이터와 상이한 부분이 시작되는 메모리 주소를 구하는 단계와, 상기 상이한 부분이 시작되는 주소와 로딩 시작주소와의 차인 오프셋을 구하는 단계와, 상기 메모리 섹터크기를 합산한 누적섹터 값이 상기 오프셋보다 커질 때, 마지막에 합산된 섹터를 구하는 단계를 포함하여 구성되는 것을 특징으로 한다.
또한 본 발명에 의한 메모리에 데이터를 로딩하는 방법은, 상기 새로운 데이터를 로딩하기 시작하는 상기 다른 메모리의 주소는 상기 로딩 시작주소와 상기 마지막 섹터의 이전 섹터까지 누적섹터 값을 합한 값임을 특징으로 한다.
또한 본 발명에 의한 메모리에 데이터를 로딩하는 방법은, 상기 메모리는 자신의 섹터 개수 및 섹터크기를 저장하는 것을 특징으로 한다.
상기와 같은 구성에 의하면, 메모리에 저장된 기존의 데이터와 새로 저장하려는 데이터를 상호 비교한 후 변경된 부분 이후만을 라이팅 하도록 하여 메모리에 로딩 시간을 단축할 수 있는 이점이 있다.
다음은 본원 발명인 메모리에 데이터 로딩 시간 단축 방법에 의한 바람직한 일실시예를 첨부한 도면을 기초로 하여 상세하게 설명한다.
도 3은 본 발명에 의한 메모리 프로그래밍을 위한 디바이스 구성도이다.
먼저, 마이크로프로세서(380)가 마더보드(300) 외부에 마련된다. 상기 마이크로프로세서(380)는 마더보드(300)상의 플래쉬롬(320), 하드디스크(340) 및 램(360)의 동작을 제어하는 기능을 수행한다. 또한, 상기 마이크로프로세서(380)는 플래쉬롬(320)에 저장된 기존의 데이터와 새로 저장될 데이터를 상호 비교하는 기능, 램(360) 상에서 오프셋을 구하는 기능, 플래쉬롬(320)의 삭제 및 라이팅 시작 섹터를 구하는 기능 그리고 라이팅을 시작할 램(360)의 특정 주소를 구하는 기능을 수행한다.
상기 마더보드(300)의 일측에는 플래쉬롬(320)이 마련된다. 예를 들어, 총 19 개의 섹터에 1 메가바이트의 저장용량을 가진 플래쉬롬이 마련된다. 상기 플래쉬롬(320)은 일종의 비휘발성 기억 장치이지만, 퓨징(fusing)에 의해 재프로그램이 가능하다. 상기 마더보드(300)의 일측에는 하드디스크(340)가 마련된다. 상기 플래쉬롬(320)에 저장하고자 하는 데이터는 상기 하드디스크(340)로부터 램(360)으로 로딩된다. 상기 마더보드(300)의 일측에는 램(360)이 마련된다. 상기 마이크로프로세서(380)의 제어하에 상기 램(360)으로 상기 플래쉬롬(320)에 저장된 기존의 데이터 및 상기 하드디스크(340)로부터의 데이터가 로딩된다.
다음은 상기와 같은 구성을 가지는 본원 발명인 메모리에 데이터 로딩 시간을 단축하는 방법에 의한 동작 과정을 설명한다.
도 4는 본 발명에 의한 메모리 프로그래밍 루틴을 도시한 순서도이다.
메모리 프로그래밍 루틴이 시작되면, 새로 플래쉬롬(320)에 저장될 데이터는 하드디스크(340)로부터 램(360)으로 로딩된다(제 410 단계). 다만, 플래쉬롬(320)에 저장된 기존의 데이터는 별도의 로딩 절차 없이도 마더보드(300)가 최초로 동작할 때 램(360)으로 로딩된다.
상기 제 410 단계를 수행한 후, 마이크로프로세서(380)에 의해 플래쉬롬(320)의 벤더 아이디 및 디바이스 아이디를 확인한다(제 412 단계). 상기 제 410 단계는 플래쉬롬(320)의 제작회사 및 플래쉬롬(320)의 종류를 확인하는 절차로서, 만일 상기 벤더 및 디바이스 아이디가 확인되지 않으면 본 프로그램 루틴은 더 이상 실행할 수 없게 된다.
상기 제 412 단계를 수행한 후, 마이크로프로세서(380)의 제어하에 상기 하드디스크(340)로부터 로딩된 데이터를 기존에 플래쉬롬(320)에 저장된 데이터와 상호 비교한다(제 414 단계).
상기 제 414 단계를 수행한 결과, 최초로 상이한 부분이 발견되면 상기 제 412 단계를 중단하고, 최초로 변경된 부분을 저장한 램 주소와 상기 새로운 데이터가 최초로 로딩된 주소와의 차인 오프셋(offset)을 계산한다(제 416 단계).
상기 제 416 단계를 수행한 후, 상기 플래쉬롬(320)의 첫 번째 섹터부터 특정번호의 섹터까지 각각의 섹터크기를 연속적으로 합산한 누적 섹터값을 계산하고, 상기 누적 섹터값이 최초로 상기 제 416 단계에서 계산된 오프셋 값보다 커질 때, 마지막으로 합해진 섹터크기에 해당하는 섹터의 번호를 구한다(제 418 단계). 본 발명에 따른 실시예에서는 제 13 섹터가 상기 마지막으로 합해진 섹터에 해당된다(도 3 참조).
상기 제 418 단계를 수행한 후, 플래쉬롬(320)의 상기 마지막으로 합해진 섹터부터 이후의 모든 섹터에 저장된 데이터를 삭제한다(제 420 단계). 즉, 플래쉬롬(320)의 제 13 섹터부터 제 19섹터까지 모든 데이터를 삭제한다.
상기 제 420 단계를 수행한 후에는 반드시 플래쉬롬(320)에 저장된 기존의 데이터가 완전히 삭제되었는지 여부를 확인해야 한다(제 422 단계). 만일 완전히 삭제되지 않은 경우에는 다시 상기 제 420 단계로 되돌아간다.
상기 제 422 단계를 수행한 후, 플래쉬롬(320)에 라이팅을 위한 전 단계로서, 몇 번째 램 주소에 저장된 데이터부터 플래쉬롬(320)에 라이팅 할지를 계산한다(제 424 단계). 즉, 상기 제 424 단계는 라이팅을 시작할 램 주소를 구하는 것으로서, 상기 최초 램으로 로딩된 주소와 첫 번째 섹터부터 상기 제 418 단계에서 구한 마지막으로 합해진 섹터의 바로 전 섹터까지의 각각의 섹터크기를 합한 값에 해당되는 주소를 구하는 단계이다. 즉, 최초 램으로 로딩된 주소와 제 1 섹터부터 제 12 섹터까지의 각각의 섹터크기를 합한 값에 대응되는 램 주소를 말한다.
상기 제 424 단계를 수행한 후, 상기 제 424 단계에서 구한 라이팅 시작주소부터 저장된 데이터를 상기 마지막으로 합해진 섹터 및 이후의 섹터에 라이팅한다(제 426 단계). 즉, 상기 변경된 데이터를 제 13 섹터부터 제 19 섹터까지 라이팅한다. 상기 제 426 단계를 수행한 후 본 프로그램 루틴은 종료된다.
마지막으로, 플래쉬롬(320)에서 변경된 데이터가 시작되는 섹터번호나 라이팅을 시작할 램 주소를 계산하기 위하여, 플래쉬롬(320)은 벤더 아이디 및 디바이스 아이디 외에 플래쉬롬(320)의 종류별 섹터 개수 및 섹터 크기를 추가로 저장하고 있어야 한다. 특히 하나의 플래쉬롬(320) 내에 복수의 섹터가 있는 경우에도 섹터마다 그 크기가 다를 수 있으므로, 플래쉬롬 프로그램 루틴 시작 전에 해당 섹터번호에 대응하는 섹터크기를 배열 형태로 미리 저장하고 있어야 한다.
상기 본원 발명의 실시예에서는 플래쉬롬에 의한 구성으로 하고 있으나, 반도체 메모리라는 구성이라면, 본원 발명의 기술적 범위에 속함은 물론이다.
상기의 본 발명의 실시예는 본 발명의 기술적 사상의 일실시예에 불과하며, 동업계의 통상의 기술자에 있어서는, 본 발명의 기술적인 사상내에서 다른 변형된 실시가 가능함은 물론이다.
상기와 같은 구성과 동작 과정을 갖는 본원 발명인 메모리에 데이터 로딩 시간을 단축하는 방법에 의하면, 메모리에 저장된 기존의 데이터와 새로 저장하려는 데이터를 상호 비교한 후 변경된 부분 이후만을 라이팅 함으로써 데이터 로딩 시간을 단축할 수 있는 효과가 있다.

Claims (4)

  1. 기존의 메모리 데이터와 새로운 데이터간 상이한 부분이 시작되는 메모리 섹터를 찾는 단계와;
    상기 상이한 부분이 시작되는 메모리 섹터부터 상기 새로운 데이터를 로딩하는 단계를 포함하여 구성되는 것을 특징으로 하는 메모리에 데이터 로딩 시간 단축 방법.
  2. 제 1 항에 있어서, 상기 상이한 부분이 시작되는 메모리 섹터를 찾는 단계는,
    상기 기존의 데이터 및 상기 새로운 데이터를 다른 메모리로 로딩하는 단계와;
    상기 새로운 데이터가 상기 기존의 데이터와 상이한 부분이 시작되는 메모리 주소를 구하는 단계와;
    상기 상이한 부분이 시작되는 주소와 로딩 시작주소와의 차인 오프셋을 구하는 단계와;
    상기 메모리 섹터크기를 합산한 누적섹터 값이 상기 오프셋보다 커질 때, 마지막에 합산된 섹터를 구하는 단계를 포함하여 구성되는 것을 특징으로 하는 메모리에 데이터 로딩 시간 단축 방법.
  3. 제 2 항에 있어서, 상기 새로운 데이터를 로딩하기 시작하는 상기 다른 메모리의 주소는 상기 로딩 시작주소와 상기 마지막 섹터의 이전 섹터까지 누적섹터 값을 합한 값임을 특징으로 하는 메모리에 데이터 로딩 시간 단축 방법.
  4. 제 1 항에 있어서, 상기 메모리는 자신의 섹터 개수 및 섹터크기를 저장하는 것을 특징으로 하는 메모리에 데이터 로딩 시간 단축 방법.
KR1020020082954A 2002-12-23 2002-12-23 메모리에 데이터 로딩 시간 단축 방법 KR20040056347A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020082954A KR20040056347A (ko) 2002-12-23 2002-12-23 메모리에 데이터 로딩 시간 단축 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020082954A KR20040056347A (ko) 2002-12-23 2002-12-23 메모리에 데이터 로딩 시간 단축 방법

Publications (1)

Publication Number Publication Date
KR20040056347A true KR20040056347A (ko) 2004-06-30

Family

ID=37348743

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020082954A KR20040056347A (ko) 2002-12-23 2002-12-23 메모리에 데이터 로딩 시간 단축 방법

Country Status (1)

Country Link
KR (1) KR20040056347A (ko)

Similar Documents

Publication Publication Date Title
US7298649B2 (en) Nonvolatile memory card
US7920425B2 (en) Differential flash memory programming technique
US6804772B2 (en) Dynamic field patchable microarchitecture
JPH05198198A (ja) 半導体記憶装置
CN109240729B (zh) 一种修复固件代码的方法及系统
US20090070523A1 (en) Flash memory device storing data with multi-bit and single-bit forms and programming method thereof
US6510083B1 (en) Electrically erasable and programmable memory that allows data update without prior erasure of the memory
US20020059569A1 (en) Microcomputer and method for rewriting data on flash memory
JP2003512698A (ja) 集積回路の同定方法
US20060206674A1 (en) Optical disc drive and program code updating method thereof
US20050273589A1 (en) Method and system for reading instructions from NAND flash memory and writing them into SRAM for execution by a processing device
KR20040056347A (ko) 메모리에 데이터 로딩 시간 단축 방법
JP4826232B2 (ja) 情報処理装置およびブートプログラムの書き換え方法
JPS58208994A (ja) 不揮発性半導体記憶装置
US20060282626A1 (en) Memory device and method of controlling operation of the memory device
KR19980087183A (ko) 마이크로컴퓨터
JP4818453B1 (ja) 電子機器およびデータ読み出し方法
JP2001092713A (ja) データ書き込み装置とその書き込み方法
KR20010056423A (ko) 플레쉬 메모리를 이용한 비휘발성 데이터 영역 복구 방법
JP4146581B2 (ja) フラッシュメモリ
KR20000033437A (ko) 부트스트랩로더 기능 구현 장치
JP2008146343A (ja) Icカード、および、更新プログラムの呼出し方法
JP2018160018A (ja) データ処理装置
KR20210065273A (ko) 낸드 플래시 메모리의 배드 블록 처리 장치
JP5269020B2 (ja) 半導体集積回路装置およびメモリの管理方法

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination