KR100313805B1 - 플래시 메모리를 리프로그래밍하는 방법 - Google Patents
플래시 메모리를 리프로그래밍하는 방법 Download PDFInfo
- Publication number
- KR100313805B1 KR100313805B1 KR1019990009621A KR19990009621A KR100313805B1 KR 100313805 B1 KR100313805 B1 KR 100313805B1 KR 1019990009621 A KR1019990009621 A KR 1019990009621A KR 19990009621 A KR19990009621 A KR 19990009621A KR 100313805 B1 KR100313805 B1 KR 100313805B1
- Authority
- KR
- South Korea
- Prior art keywords
- flash memory
- reprogramming
- data
- checksum
- signal
- Prior art date
Links
- 230000008672 reprogramming Effects 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims description 7
- 238000004891 communication Methods 0.000 claims abstract description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 2
- 101100393844 Caenorhabditis elegans gst-3 gene Proteins 0.000 description 1
- 101100449771 Musca domestica Gst3 gene Proteins 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
이 발명은 초기 구동 신호인가시 내부 메모리를 억세스하여 리프로그램된 플래시 메모리의 데이터 체크섬을 확인하는 제1 단계와; 데이터의 체크섬이 정확하면, 플래시 메모리를 억세스하는 제2 단계와; 상기 제2 단계후에 GST 통신여부에 따라 리프로그래밍을 수행하는 제3 단계와; 데이터의 체크섬이 정확하지 않으면, 내부 메모리에 상주하여 리프로그래밍을 기다리는 제4 단계와; 상기 제3 및 제4 단계를 통해 리프로그래밍된 데이터의 체크섬을 다시 한 번 확인하는 제5 단계와; 상기 제5 단계를 통해 확인한 체크섬의 정확성 여부에 따라 리프로그램 수행 여부를 판단하는 제6단계를 포함하여, 장비나 외부 요인 또는 갱신 데이터의 오류로 동작 오류를 방지할 수 있도록 한다.
Description
본 발명은 플래시 메모리(flash memory)에 관한 것으로서, 특히 플래시 메모리의 데이터를 갱신할 때 데이터의 체크섬(checksum)을 확인하여 정확한 데이터를 리프로그래밍(reprogramming)할 수 있도록 한 플래시 메모리를 리프로그래밍하는 방법에 관한 것이다.
도1은 종래의 플래시 메모리를 리프로그래밍하는 과정을 도시한 도면이다.
도1에 도시된 종래의 플래시 메모리를 리프로그래밍하는 방법은 초기 구동 신호(IG ON)를 인가받고(S1), 초기 구동 신호(IG ON)에 따라 마이컴이 플래시 메모리를 억세스하며(S2), 단계(S2)이후에 GST(generic scan tool) 통신 여부를 판단하고(S3), GST 통신이 수행되고자 한다는 것을 판단하면 내부 ROM(read only memory)으로 점프(jump)하여(S4), GST를 통해 입력되는 플래시 메모리를 프로그램하는 데이터를 플래시 메모리로 전달하여 플래시 메모리를 리프로그래밍한다(S5).
이하, 도1과 같은 방법을 도2a와 도2b를 참조로 설명한다. 도2a는 종래의 ECU(engine control unit)의 블록 구성도이다.
도2a에 도시되어 있듯이, 초기 구동 신호가 마이컴(1)에 인가되면, 마이컴(1)은 포트(port) 단자로 하이 신호를 출력한다. 그러면, 이 신호는 인버터(inv)에 의해 로우 신호로 반전되어 마이컴(1)의 EA(External address) 단자로 인가된다(경로①).
여기서, 마이컴(1)은 EA 단자로부터 인가되는 신호의 상태에 따라 억세스하는 경로를 달리한다. 즉, EA 단자로 로우 신호가 인가되면, 시작 지점을 도2b의 하위 메모리 번지(0000h)로하여 외부 메모리인 플래시 메모리(2)를 억세스하고, 하이 신호가 인가되면 시작 지점을 도2b의 상위 메모리 번지(8000h)로하여 내부 메모리인 내부 ROM(11)을 억세스한다.
도2b의 상위 메모리 어드레스 영역(A)은 플래시 메모리를 억세스하는 영역에 해당하고, 하위 메모리 어드레스 영역(B)은 내부 메모리 메모리를 억세스하는 영역에 해당한다.
따라서, 상기의 경우는 EA 단자로 로우 신호를 인가받음에 따라 플래시 메모리를 억세스한다. 이러한 초기 구동 신호 인가시 플래시 메모리(2)를 억세스하는 것은 ROM 내장형 마이컴의 일반적인 특징이다.
여기서, 플래시 메모리를 억세스하는 동안에 GST(3)로부터 플래시 메모리(2)로 프로그램을 전달하고자하는 통신 신호가 입력되면, 마이컴(1)은 포트 단자를 통해 로우 신호를 출력하고 EA 단자에 하이 신호를 인가받아 내부 ROM(11)로 점프하여 내부 ROM(11)을 억세스하고(경로② ), GST로부터 인가되는 프로그램 신호를 플래시 메모리(2)로 전달하여 플래시 메모리를 리프로그래밍한 후 플래시 메모리(2)로 점프한다.(경로 ③)
도2b를 참조로하여 상기 종래의 동작을 설명하면, 초기 구동 신호가 인가되면
그러나, 이상과 같은 종래의 플래시 메모리를 억세스하는 방법은 플래시 메모리를 리프로그래밍한 결과를 알 수 없는, 다시 말해 정확한 데이터가 플래시 메모리에 프로그램되었는지를 알 수 없는 문제점이 발생한다.
따라서, 이 발명은 종래의 문제점을 해결하기 위한 것으로, 리프로그래밍된 플래시 메모리로부터 리프로그램 데이터가 정확한지를 체크하고 보정함으로써 정확하게 플래시 메모리가 리프로그래밍되도록 한다.
도1은 종래의 플래시 메모리를 리프로그래밍할 때의 동작 상태도이다.
도2a와 도2b는 종래의 플래시 메모리를 리프로그래밍하는 장치의 블록 구성도 및 메모리 맵이다.
도3은 이 발명의 실시예에 따른 플래시 메모리를 리프로그래밍하는 장치의 블록 구성도이다.
도4는 이 발명의 실시예에 따른 플래시 메모리를 리프로그래밍하는 장치의 순서도이다.
상기의 목적을 달성하기 위한 플래시 메모리를 리프로그래밍하는 방법,
초기 구동 신호인가시 내부 메모리를 억세스하여 리프로그램된 플래시 메모리의 데이터 체크섬을 확인하는 제1 단계와; 데이터의 체크섬이 정확하면, 플래시 메모리를 억세스하는 제2 단계와; 상기 제2 단계후에 GST 통신여부에 따라 리프로그래밍을 수행하는 제3 단계와; 데이터의 체크섬이 정확하지 않으면, 내부 메모리에 상주하여 리프로그래밍을 기다리는 제4 단계와; 상기 제3 및 제4 단계를 통해 리프로그래밍된 데이터의 체크섬을 다시 한 번 확인하는 제5 단계와; 상기 제5 단계를 통해 확인한 체크섬의 정확성 여부에 따라 리프로그램 수행 여부를 판단하는 제6단계를 포함한다.
이하, 이 발명의 실시예를 첨부한 도3을 참조로하여 설명한다.
도3은 이 발명의 실시예에 따른 플래시 메모리를 리프로그래밍하는 장치의 블록 구성도이다. 도3에 도시되어 있듯이, 이 발명의 실시예에 따른 플래시 메모리를 리프로그래밍하는 장치는, 마이컴(100)과, 플래시 메모리(200)과, GST(300)으로 이루어진다.
여기서, 마이컴(100)은 내부 ROM(110)을 포함하며, 반전 리드 단자(/RD)와 PSEN(program store enable) 단자가 논리합 게이트(AND)의 입력단에 연결되고, 라이트(write) 단자(WR)가 플래시 메모리(200)의 라이트 단자(F-WR)에 연결되며, 포트 단자(PORT)와 EA 단자(EA)가 전기적으로 전압(VN)에 연결된 저항(R)에 연결되어 있다.
GST(300)는 플래시 메모리를 리프로그래밍하기 위해 사용자에 의해 조작되어 리프로그램이 입력되는 장치로서, 마이컴(100)과 전기적으로 연결되어 있다.
여기서, 논리합 게이트(AND)의 출력은 플래시 메모리(200)의 반전 출력 인에이블(F-/OE)에 연결된다.
여기서, 마이컴(100)은 도3에 도시된 경로 ①을 수행하여 내부 ROM(110)을 억세스하여 플래시 메모리(200)을 리프로그램한 다음, 경로 ②를 수행하여 리프로그램 데이터의 정확성 여부를 판단하고, 판단 여부에 따라 경로 ③을 수행하여 리프로그램 재 여부를 수행한다.
이상과 같이 구성된 이 발명의 실시예에 따른 플래시 메모리를 리프로그래밍하는 장치의 동작을 도4를 참조로 상세히 설명한다.
도4는 이 발명의 실시예에 따른 플래시 메모리를 리프로그래밍하는 장치의 순서도이다.
우선, 제작자는 플래시 메모리(200)의 데이터를 리프로그래밍한 후, 구동 스위치를 조작하여 구동 신호(IG ON)를 발생시키면, 구동 신호(IG ON)는 마이컴(100)에 인가된다(S100).
마이컴(100)은 구동 신호(IG ON)에 따라 포트 단자(PORT)로 하이 신호를 출력하여 EA 단자(EA)로 하이 신호를 인가받아(S200), 내부 ROM(110)을 억세스한다 (S200).
이때, 마이컴(100)은 내부 ROM(110)을 억세스하는 동안에 PSEN 단자로 하이 신호를 출력하고 있으므로, 리드 단자(/RD)로 로우 신호를 출력하여 플래시 메모리(200)의 반전 출력 인에이블 단자(F-/OE)에 로우 신호가 인가되도록 하다.
그러면, 플래시 메모리(200)는 도시하지 않은 출력 단자를 통해 체크섬을 포함한 플래시 데이터의 정보를 마이컴(100)으로 출력하다.
마이컴(100)은 입력되는 플래시 데이터의 체크섬을 확인하고, 확인한 체크섬의 값에 부합하는 플래시 데이터가 인가되었는지를 확인하고(S300), 확인 결과가 동일한지를 판단한다(S400).
이하, 단계(S400)의 판단 결과, 체크섬이 일치하지 않을 때의 이 발명의 동작을 설명한다.
확인한 결과가 일치하지 않으면, 마이컴(100)은 리프로그래밍이 정확하지 않다고 판단하여 내부 ROM(110)을 계속적으로 억세스하여 GST(300)로 리프로그래밍 데이터를 입력받을 준비를 한다(S500).
이러한 상태에서, GST(300)로부터 통신 신호가 입력되면, 마이컴(100)은 플래시 메모리의 리프로그래밍 데이터를 입력받아 플래시 메모리(200)를 리프로그래밍한다(S510, S520). 그런 다음, 마이컴(100)은 리프로그램밍한 데이터가 GST(300)로부터 정확히 전달되었는지를 확인하기 위해 상기 단계(S400)를 다시 반복하여 플래시 메모리로부터 리프로그래밍 데이터를 입력받아 체크섬을 다시 한 번 확인한다(S530).
그리고, 확인 단계(S530)의 결과, 체크섬이 일치하면 프로그램 완료 코드를 GST(300)로 송신하여 GST(300)로부터 리프로그래밍 데이터가 입력되지 않도록 하고(S560), 체크섬이 일치하지 않으면 GST(300)로 리프로그래밍 요구 신호를 출력하여(S550), 상기 단계(S520 - S540)가 수행되어지도록 GST(300)로 리프로그래밍 신호를 입력받는다.
이하, 단계(S400)의 확인 동작시 체크섬의 결과가 동일한 경우의 이 발명의 동작을 설명한다.
체크섬이 동일하면, 마이컴(100)은 마이컴(100)은 리프로그래밍된 플래시 데이터가 정확하다고 판단하고, 포트 단자(PORT)로 로우 신호를 출력하고 EA 단자(EA)로 로우 신호가 인가되도록하여 메모리 번지를 상위 어드레스 번지(8000h 이상)를 선택한 후 플래시 메모리를 억세스한다(S600).
그런 다음, 플래시 메모리를 리프로그래밍할 것인지를 판단하기 위해 GST(300)로부터 통신 신호가 입력되는지를 판단한다(S610).
상기 단계(S610)에서, GST(300)로부터 통신 신호가 입력되면 마이컴(100)은 내부 ROM(110)을 억세스하기 위해 포트 단자(PORT)의 신호를 반전시켜(S620) 리프로그래밍 데이터를 입력받아(S420), 단계(S530 - S560)를 수행한다.
반면에, GST(300)로부터 통신 신호가 입력되지 않으면 마이컴(100)은 시동 스위치를 오프시킨 후 ECU를 정상 동작시킨다.
이 발명은 플래시 메모리에 리프로그래밍된 데이터의 체크섬을 확인하여, 리프로그래밍이 정확히 이루어졌는지를 판단하는 과정을 가짐으로써, 장비나 외부 요인 또는 갱신 데이터의 오류로 동작 오류를 방지할 수 있도록 한다.
Claims (3)
- 초기 구동 신호인가시 내부 메모리를 억세스하여 리프로그램된 플래시 메모리의 데이터 체크섬을 확인하는 제1 단계와;데이터의 체크섬이 정확하면, 플래시 메모리를 억세스하는 제2 단계와;상기 제2 단계후에 GST 통신여부에 따라 리프로그래밍을 수행하는 제3 단계와;데이터의 체크섬이 정확하지 않으면, 내부 메모리에 상주하여 리프로그래밍을 기다리는 제4 단계와;상기 제3 및 제4 단계를 통해 리프로그래밍된 데이터의 체크섬을 다시 한 번 확인하는 제5 단계와;상기 제5 단계를 통해 확인한 체크섬의 정확성 여부에 따라 리프로그램 수행 여부를 판단하는 제6단계를 포함하는 플래시 메모리를 리프로그래밍하는 방법.
- 제1항에서, 상기 제2 단계는,플래시 메모리를 억세스하고 있는 상태에서, 리프로그래밍 데이터가 입력되기를 요구하는 신호가 입력되는지를 판단하는 단계와, 상기 판단에서 요구 신호가 입력되면 상기 내부 메모리를 억세스하여 리프로그래밍 데이터를 플래시 메모리에 입력시키는 단계와, 상기 판단에서 요구 신호가 없으면 리프로그래밍 동작을 완료하는 단계를 포함하는 것이 특징인 플래시 메모리를 리프로그래밍하는 방법.
- 제2항에서, 상기 제6 단계는,상기 체크섬이 정확하면, 리프로그래밍 동작을 완료하는 단계와, 체크섬이 정확하지 않으면 리프로그래밍 데이터를 요구하여 상기 제5, 제6 단계를 반복하는 단계를 포함하는 것이 특징인 플래시 메모리를 리프로그래밍하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990009621A KR100313805B1 (ko) | 1999-03-22 | 1999-03-22 | 플래시 메모리를 리프로그래밍하는 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990009621A KR100313805B1 (ko) | 1999-03-22 | 1999-03-22 | 플래시 메모리를 리프로그래밍하는 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000060928A KR20000060928A (ko) | 2000-10-16 |
KR100313805B1 true KR100313805B1 (ko) | 2001-11-15 |
Family
ID=19577241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990009621A KR100313805B1 (ko) | 1999-03-22 | 1999-03-22 | 플래시 메모리를 리프로그래밍하는 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100313805B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100473267B1 (ko) * | 2000-12-28 | 2005-03-07 | 엘지전자 주식회사 | 전송장비에서 소프트웨어 버젼 관리장치 및 그 방법 |
KR100393595B1 (ko) * | 2001-08-27 | 2003-08-02 | 엘지전자 주식회사 | 메모리 프로그래밍 시스템 및 그 방법 |
KR101197556B1 (ko) | 2006-01-09 | 2012-11-09 | 삼성전자주식회사 | 불 휘발성 메모리의 프로그램 동작을 검증하는 장치 및방법, 그리고 그 장치를 포함한 메모리 카드 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5278759A (en) * | 1991-05-07 | 1994-01-11 | Chrysler Corporation | System and method for reprogramming vehicle computers |
KR950033931A (ko) * | 1994-05-04 | 1995-12-26 | 윌리암 티. 엘리스 | 플러그 인 재프로그램가능 카트리지 |
JPH08211915A (ja) * | 1994-11-10 | 1996-08-20 | Robert Bosch Gmbh | 制御装置 |
US5787367A (en) * | 1996-07-03 | 1998-07-28 | Chrysler Corporation | Flash reprogramming security for vehicle computer |
KR19990059771A (ko) * | 1997-12-31 | 1999-07-26 | 정몽규 | 플래쉬 메모리 재 프로그램 방법 |
-
1999
- 1999-03-22 KR KR1019990009621A patent/KR100313805B1/ko not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5278759A (en) * | 1991-05-07 | 1994-01-11 | Chrysler Corporation | System and method for reprogramming vehicle computers |
KR950033931A (ko) * | 1994-05-04 | 1995-12-26 | 윌리암 티. 엘리스 | 플러그 인 재프로그램가능 카트리지 |
JPH08211915A (ja) * | 1994-11-10 | 1996-08-20 | Robert Bosch Gmbh | 制御装置 |
US5787367A (en) * | 1996-07-03 | 1998-07-28 | Chrysler Corporation | Flash reprogramming security for vehicle computer |
KR19990059771A (ko) * | 1997-12-31 | 1999-07-26 | 정몽규 | 플래쉬 메모리 재 프로그램 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20000060928A (ko) | 2000-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2142168C1 (ru) | Способ полного перепрограммирования стираемой энергонезависимой памяти | |
US7805562B2 (en) | Microcomputer with configurable communication interfacing | |
US5787381A (en) | Control apparatus for automobile engine including microcomputer which may be programmed after mounting on a circuit board | |
US8639467B2 (en) | Measuring system for determining a value of a physical or chemical, measured variable of a medium and method for operation of the measuring system | |
US20090187305A1 (en) | Method of detecting manipulation of a programmable memory device of a digital controller | |
US20090198770A1 (en) | System and method of updating codes in controller | |
JPH1136973A (ja) | 車両用制御装置 | |
JP2002278783A (ja) | ファームウェア書き換えシステム | |
JP4492025B2 (ja) | 電子制御装置のデータ格納方法 | |
KR100313805B1 (ko) | 플래시 메모리를 리프로그래밍하는 방법 | |
JPH1136974A (ja) | 車両用制御装置 | |
US6714040B1 (en) | Automated boundary-scan chain composition method using a device database and access mechanism for storing and retrieving situation-dependent operation options | |
US20210375377A1 (en) | Memory and method for writing thereto | |
US20040117541A1 (en) | System and method for updating firmware in a non-volatile memory without using a processor | |
CN108039984A (zh) | 一种汽车发动机通讯协议的自动化识别方法 | |
CN111857787B (zh) | 一种电压转换器固件烧录的方法、***、设备及介质 | |
CN113590153A (zh) | 一种cpld的固件升级方法、***、设备以及介质 | |
JP4543317B2 (ja) | 不揮発性メモリのデータ制御方法 | |
JP2004005152A (ja) | 不揮発性メモリの書き換え装置 | |
JPH11184725A (ja) | マイクロコンピュータの評価装置 | |
TWI327710B (en) | Method for burning bios online | |
JP3912447B2 (ja) | メモリシステムおよび外部不揮発メモリの使用方法 | |
CN114237377B (zh) | 一种显示面板的电源管理集成芯片的控制方法和*** | |
US20070050534A1 (en) | A method for supporting unrecognizable flash memory | |
JP2003050736A (ja) | 制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20061002 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |