KR20040080928A - 정보 처리 장치, 메모리 관리 장치, 메모리 관리 방법, 및정보 처리 방법 - Google Patents

정보 처리 장치, 메모리 관리 장치, 메모리 관리 방법, 및정보 처리 방법 Download PDF

Info

Publication number
KR20040080928A
KR20040080928A KR10-2003-7012880A KR20037012880A KR20040080928A KR 20040080928 A KR20040080928 A KR 20040080928A KR 20037012880 A KR20037012880 A KR 20037012880A KR 20040080928 A KR20040080928 A KR 20040080928A
Authority
KR
South Korea
Prior art keywords
file
management information
information
storage means
block
Prior art date
Application number
KR10-2003-7012880A
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 KR20040080928A publication Critical patent/KR20040080928A/ko

Links

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
    • 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/4401Bootstrapping
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

시리얼 플래시 메모리에 대하여, 신뢰성이 높은 기입이나 판독을 행함과 동시에, 전원 투입 시의 부트 처리에 의해 CPU의 실행 시간을 단축할 수 있는 정보 처리 장치 및 메모리 관리 방법을 제공하는 것을 목적으로 한다.
정보 처리 장치(100)를, 파일을 유지하는 메모리 관리 장치(10)와, 메모리 관리 장치(10)로부터 제공되는 프로그램 파일에 근거해서 처리를 행하는 정보 처리부(30)를 갖는 것으로 하여, 메모리 관리 장치(10)를, 파일을 저장하는 파일 플래시(11)와, 파일 플래시(11)에 저장되어 있는 파일을 관리하는 파일 관리부(13)와, 정보 처리부(30)의 작업 영역인 워크 메모리(14)와, 파일 관리부(13)로부터 파일 플래시(11)에 액세스하기 위한 플래시 I/F(12)와, 부트 프로그램을 저장하는 부트 플래시(15)를 갖는 것으로 했다.

Description

정보 처리 장치, 메모리 관리 장치, 메모리 관리 방법, 및 정보 처리 방법{INFORMATION PROCESSING APPARATUS, MEMORY MANAGEMENT APPARATUS, MEMORY MANAGEMENT METHOD, AND INFORMATION PROCESSING METHOD}
DVD 등의 디지털 가전 기기에서는, 기기를 동작시키는 프로그램의 유지나, 처리한 데이터의 기억 등을 위해서, 플래시 메모리를 이용한 기억 장치를 갖고 있다.
플래시 메모리는, 그 기억 소자의 구성으로부터, NAND형 플래시 메모리, AND형 플래시 메모리와 같은 시리얼 플래시 메모리나, NOR형 플래시 메모리 등으로 분류할 수 있다.
이 중, NOR형의 것은, 기입이나 판독 동작에서 불량이 발생할 확률이 낮고, 신뢰성이 높은 메모리이다. 또한, CPU가 직접 액세스할 수 있기 때문에, 판독 속도가 빠르고, 랜덤 액세스에 적합하며, 프로그램을 저장하기 위한 메모리로서 이용되고 있다.
한편, 시리얼 플래시 메모리는, 메모리 셀의 사이즈가 NOR형 플래시 메모리의 약 3분의 1로 작고, 고집적화가 진행되고 있는데다가, 소거 및 기입 속도가 빠르고, 소거 시간이 NOR형 플래시 메모리의 약 100분의 1, 기입 시간이 약 20분의 1이다. 그런데, CPU로부터 직접 액세스할 수가 없는데다가, 기입이나 판독 동작에 불량이 발생할 확률이 상대적으로 높다는 결점이 있다. 이 때문에, 동 화상 데이터, 오디오 데이터 등, 시간적 연속성이 있는 스트림 데이터와 같이, 고밀도의 판독 및 기입이 요구되지 않는 데이터를 저장하는 경우에 이용되고 있다. 이러한 기능 및 특성으로부터, 종래의 디지털 가전 기기의 동작을 제어하는 정보 처리 장치에서는, 프로그램을 저장하는 메모리로서 NOR형 플래시 메모리을 이용하고 있었다. NOR형 플래시 메모리를 갖는 정보 처리 장치로서는, 도 28에 도시한 바와 같은 구성이 일반적이다. 이하, 그 구성 및 동작에 대하여 도면을 참조하면서 설명한다.
도 28에 도시된 바와 같이, 종래의 정보 처리 장치(100d)는, 정보 처리부(30)와, 변수를 유지하는 워크 메모리(14)와, 프로그램을 저장하는 NOR형 플래시(21)와, 전원 차단 시에 정보를 대피시키는 정보 퇴피부(退避部)(22)를 갖는다.
워크 메모리(14)는, SDRAM(Synchronous Dynamic Random Access Memory)가 이용된다.
NOR형 플래시(21)는, 정보 처리부(30)로부터의 액세스에 의해, 저장되어 있는 데이터를 정보 처리부(30)에 공급한다. 또한, 정보 처리부(30)로부터의 액세스에 의해, 저장되어 있는 데이터의 소거, 및 공급되는 데이터의 저장을 행한다.
정보 퇴피부(22)는, 정보 처리부(30)로부터 공급되는 동작 상황이나 디스크의 기입 어드레스 등의 관리 정보를 저장하는 SRAM(Static Random Access Memory)이다. SRAM은 소비 전력이 작기 때문, 전원을 절단하더라도 백업 전지를 사용하여, 유지하고 있는 데이터가 소거되지 않는 메모리이며, 정보 퇴피부(22)는, 정보 처리부(30)로부터 소거 및 재기입이 명령될 때까지, 데이터를 변경하지 않고 유지한다.
다음에, 이와 같이 구성되는 정보 처리 장치(100d)의 동작에 대하여 설명한다. 정보 처리 장치(100d)에 전원이 투입되면, 정보 처리부(30)는 정보 퇴피부(22)에 저장되어 있는 변수를 판독하여 워크 메모리(14)에 전송한다. 그리고, NOR형 플래시(21)에 저장되어 있는 프로그램을 1단계마다 판독하여, 기술되어 있는 프로그램의 명령에 따라서 순차적으로 처리를 실행한다. 변수에 변화가 발생한 경우, 정보 처리부(30)는 워크 메모리(14)의 변수를 재기입한다. 또한, 정보 처리부(30)는, 처리를 실행하면서 정기적으로 정보 퇴피부(22)에 변수를 백업한다. 그리고, 전원 절단 시에, 정보 처리부(30)는 전원 절단 직전의 상태를 정보 퇴피부(22)에 기입한다.
그러나, NOR형 플래시의 메모리 용량은 최대 32 Mbit 정도이므로, 디지털 가전 기기의 프로그램이 커짐에 따라서, 단일 메모리에 프로그램을 저장할 수가 없게 되고 있다. 그런데, 복수의 NOR형 플래시를 배치하면, 부품의 수가 증가하기 때문에, 기판의 실장 면적이나 제조 비용을 증대시킨다는 문제가 있다.
또한, SRAM은 전원 절단 후에도 관리 정보나 전원 절단 직전의 데이터를 유지하기 위해서 백업 전원이 필요하다. 이 때문에, 종래의 디지털 가전은, 시판되어 있는 코인형의 리튬 전지나, 통전 시에 충전하는 충전 전지 등에 의해서, 상시 SRAM에 전원을 공급하는 회로도 갖고 있어, 기판의 실장 면적을 더욱 증대시키고 있다. 더욱이, SRAM 자체도 비싸기 때문에, SRAM에 의하지 않는 관리 정보의 백업이 요구되고 있다.
또한, 종래의 정보 처리 장치(100d)는, 정보 처리부(30)가 프로그램을 1 단계마다 NOR형 플래시(21)로부터 판독하여 처리를 실행하고 있기 때문에, 실행 시간이 걸린다고 하는 문제도 있다.
본 발명은, 상기 한 바와 같은 문제점을 해결하기 위한 것이며, 메모리 용량이 큰 시리얼 플래시 메모리에 대하여, 불량을 발생시키지 않고 기입이나 판독을 행함과 동시에, 전원 투입 시에 부트 처리를 행하여 CPU의 실행 시간을 단축할 수 있는 정보 처리 장치, 메모리 관리 장치, 메모리 관리 방법, 및 정보 처리 방법을 제공하는 것을 목적으로 한다.
발명의 개시
상기 과제를 해결하기 위해서, 본 발명의 청구의 범위 제 1 항에 따른 정보 처리 장치는, 파일을 관리하는 메모리 관리 장치와, 메모리 관리 장치로부터 공급되는 프로그램 파일에 근거해서 해당 프로그램의 처리를 실행하는 처리 장치를 갖는 정보 처리 장치로서, 상기 메모리 관리 장치는, 프로그램 파일이나 여러 가지 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 해당 제 1 관리 정보를 백업하는 제 2 관리 정보를 저장하는 주 기억 수단과, 기동 시에 이용하는 부트 프로그램을 저장하는 부트 프로그램 기억 수단과, 공급되는 파일을 저장하는 보조 기억 수단과, 상기 주 기억 수단, 상기 부트 프로그램 기억 수단, 및 상기 보조 기억 수단에 대한 액세스를 행하는 파일 관리 수단을 구비하되, 상기 파일 관리 수단은, 기동 시에, 상기 부트 프로그램 기억 수단으로부터 판독한 상기 부트 프로그램에 근거해서 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 상기 보조 기억 수단에 전송하고, 상기 전송된 제 1 관리 정보에 근거해서 상기 주 기억 수단의 파일을 상기 보조 기억 수단에 전송하며, 상기 처리 장치는, 상기 보조 기억 수단에 전송된 프로그램 파일을 판독하여, 해당 프로그램의 처리를 실행하는 것으로 한 것이다.
본 발명의 청구의 범위 제 2 항에 따른 정보 처리 장치는, 파일을 관리하는 메모리 관리 장치와, 메모리 관리 장치로부터 공급되는 프로그램 파일에 근거해서 해당 프로그램의 처리를 실행하는 처리 장치를 갖는 정보 처리 장치로서, 상기 메모리 관리 장치는, 제 1 프로그램 파일이나 여러 가지 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 해당 제 1 관리 정보를 백업하는 제 2 관리 정보를 저장하는 주 기억 수단과, 장치 외부로부터 제 2 프로그램 파일을 취득하는 통신 수단과, 공급되는 파일을 저장하는 보조 기억 수단과, 기동 시에 이용하는 부트 프로그램을 저장하는 부트 프로그램 기억 수단과, 상기 주 기억 수단 및상기 보조 기억 수단에 대한 액세스를 행하는 파일 관리 수단과, 기동 시의 처리를 설정하는 설정 수단과, 상기 부트 프로그램 기억 수단으로부터 판독한 상기 부트 프로그램에 근거해서 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 상기 보조 기억 수단에 전송하고, 상기 주 기억 수단에 저장되어 있는 상기 제 1 프로그램 파일을 상기 보조 기억 수단에 전송하는 제 1 전송 수단과, 상기 부트 프로그램 기억 수단으로부터 판독한 상기 부트 프로그램에 근거해서 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 상기 보조 기억 수단에 전송하고, 상기 통신 수단을 거쳐서 취득한 상기 제 2 프로그램 파일을 상기 보조 기억 수단에 전송하는 제 2 전송 수단을 구비하되, 기동 시에, 상기 메모리 관리 장치는, 상기 설정 수단의 설정에 근거해서 상기 제 1 전송 수단과 상기 제 2 전송 수단을 전환하여, 상기 보조 기억 장치로의 프로그램 파일의 전송 처리를 행하고, 상기 처리 장치는, 상기 보조 기억 수단에 전송된 프로그램 파일을 판독하여, 해당 프로그램의 처리를 실행하는 것으로 한 것이다.
본 발명의 청구의 범위 제 3 항에 따른 정보 처리 장치는, 청구의 범위 제 2 항에 기재된 정보 처리 장치에 있어서, 상기 메모리 관리 장치는, 제 3 프로그램 파일, 및 공급되는 데이터를 축적하여 저장하는 데이터 축적 장치와, 상기 부트 프로그램 기억 수단으로부터 판독한 상기 부트 프로그램에 근거해서 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 상기 보조 기억 수단에 전송하고, 상기 데이터 축적 장치에 저장되어 있는 상기 제 3 프로그램 파일을 상기 보조 기억 수단에 전송하는 제 3 전송 수단을 더 구비하되, 기동 시에, 상기 설정 수단의 설정에 근거해서, 상기 제 1 전송 수단과 상기 제 2 전송 수단과 상기 제 3 전송 수단을 전환하여, 상기 보조 기억 장치로의 프로그램 파일의 전송 처리를 행하는 것으로 한 것이다.
본 발명의 청구의 범위 제 4 항에 따른 정보 처리 장치는, 청구의 범위 제 2 항 또는 제 3 항에 기재된 정보 처리 장치에 있어서, 상기 처리 장치는, 상기 통신 수단을 거쳐서 장치 외부로부터 파일을 취득하는 것으로 한 것이다.
본 발명의 청구의 범위 제 5 항에 따른 정보 처리 장치는, 청구의 범위 제 3 항에 기재된 정보 처리 장치에 있어서, 상기 파일 관리 수단은, 상기 처리 장치에서 생성한 파일을 상기 데이터 축적 장치에 저장하는 것으로 한 것이다.
본 발명의 청구의 범위 제 6 항에 따른 정보 처리 장치는, 청구의 범위 제 2 항 내지 제 5 항 중 어느 한 항에 기재된 정보 처리 장치에 있어서, 상기 파일 관리 수단은, 상기 처리 장치에서 생성한 파일을 상기 통신 수단을 거쳐서 외부에 출력하는 것으로 한 것이다.
본 발명의 청구의 범위 제 7 항에 따른 정보 처리 장치는, 청구의 범위 제 1 항 내지 제 6 항 중 어느 한 항에 기재된 정보 처리 장치에 있어서, 상기 파일 관리 수단은, 상기 처리 장치에서 생성한 파일을 상기 주 기억 수단에 저장하는 것으로 한 것이다.
본 발명의 청구의 범위 제 8 항에 따른 정보 처리 장치는, 청구의 범위 제 1 항 내지 제 7 항 중 어느 한 항에 기재된 정보 처리 장치에 있어서, 상기 주 기억 수단은 시리얼 플래시 메모리인 것으로 한 것이다.
본 발명의 청구의 범위 제 9 항에 따른 정보 처리 장치는, 청구의 범위 제 8 항에 기재된 정보 처리 장치에 있어서, 상기 주 기억 수단은, 상기 관리 정보와 여러 가지 파일을 저장하는 1개의 시리얼 플래시 메모리와, 여러 가지 파일을 저장하는 1개 이상의 시리얼 플래시 메모리로 이루어지는 것으로 한 것이다.
본 발명의 청구의 범위 제 10 항에 따른 정보 처리 장치는, 청구의 범위 제 8 항에 기재된 정보 처리 장치에 있어서, 상기 주 기억 수단은, 상기 관리 정보를 저장하는 1개의 시리얼 플래시 메모리와, 여러 가지 파일을 저장하는 1개 이상의 시리얼 플래시 메모리로 이루어지는 것으로 한 것이다.
본 발명의 청구의 범위 제 11 항에 따른 정보 처리 장치는, 청구의 범위 제 8 항에 기재된 정보 처리 장치에 있어서, 상기 주 기억 수단은, 각각이 상기 관리 정보와 여러 가지 파일을 저장하는 복수개의 시리얼 플래시 메모리로 이루어지는 것으로 한 것이다.
본 발명의 청구의 범위 제 12 항에 따른 메모리 관리 장치는, 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 제 2 관리 정보를 저장하는 주 기억 수단과, 상기 주 기억 수단에 대하여 소거나 기입을 행하기 위한 신 관리 정보를 생성하는 관리 정보 생성 수단과, 상기 주 기억 수단이 갖는 상기 제 1 관리 정보의 내용을, 상기 신 관리 정보의 내용에 의해 갱신하는 제 1 관리 정보 갱신 수단과, 상기 신 관리 정보에 근거해서, 상기 주 기억 수단에 대하여 소거, 기입을 행하는 기억 처리 수단과, 상기 주 기억 수단이 갖는 상기 제 2 관리 정보의 내용을, 상기 신 관리 정보의 내용에 의해 갱신하는 제 2 관리 정보 갱신 수단을 구비한 것으로 한 것이다.
본 발명의 청구의 범위 제 13 항에 따른 메모리 관리 장치는, 청구의 범위 제 12 항에 기재된 메모리 관리 장치에 있어서, 상기 관리 정보 생성 수단이 생성하는 상기 신 관리 정보는, 상기 주 기억 수단의 파일을 갱신할 때에는, 추가하는 신 파일의 정보와 소거하는 구 파일의 정보를 포함하는 것이고, 상기 주 기억 수단의 블록을 갱신할 때에는, 추가하는 신 데이터를 기입하는 블록의 정보와 소거하는 구 데이터가 저장되어 있는 블록의 정보를 포함하는 것이고, 상기 주 기억 수단에 새로운 파일을 추가할 때에는, 추가하는 파일의 정보를 포함하는 것이며, 상기 주 기억 수단의 파일을 소거할 때에는, 소거하는 파일의 정보를 포함하는 것으로 한 것이다.
본 발명의 청구의 범위 제 14 항에 따른 메모리 관리 장치는, 청구의 범위 제 12 항 또는 제 13 항에 기재된 메모리 관리 장치에 있어서, 상기 주 기억 수단은, 처리 상태를 표시하는 처리 상태 표시 영역을 갖는 것으로 한 것이다.
본 발명의 청구의 범위 제 15 항에 따른 메모리 관리 장치는, 청구의 범위 제 14 항에 기재된 메모리 관리 장치에 있어서, 상기 처리 상태 표시 영역은, 소정의 영역에 대한 기입이 종료된 것을 표시하는 기입 종료 표시 영역과, 소정의 영역에 대한 소거, 기입 처리에서 발생하는 각종 상태를 표시하는 동작 상태 표시 영역과, 소정의 영역이 사용 가능할 수 없는 것을 표시하는 사용 금지 표시 영역을 갖는 것으로 한 것이다.
본 발명의 청구의 범위 제 16 항에 따른 메모리 관리 장치는, 청구의 범위제 15 항에 기재된 메모리 관리 장치에 있어서, 상기 주 기억 수단은, 각각이 일정 수의 페이지로 이루어지는 복수의 블록으로 이루어지는 것이고, 상기 기입 종료 표시 영역은, 각 페이지에 마련되어, 해당 페이지에 대한 기입이 종료된 것을 표시하는 페이지 기입 종료 표시 영역과, 각 블록의 소정 페이지, 또는 소정 페이지로부터 복수 페이지에 마련되어, 해당 블록에 대한 기입이 종료된 것을 표시하는 블록 기입 종료 표시 영역을 갖는 것으로 한 것이다.
본 발명의 청구의 범위 제 17 항에 따른 메모리 관리 장치는, 청구의 범위 제 16 항에 기재된 메모리 관리 장치에 있어서, 상기 기억 처리 수단은, 페이지에 대한 기입이 종료된 때에는 상기 페이지 기입 종료 표시 영역에 블록에 대한 기입이 종료된 때에는 블록 기입 종료 표시 영역에, 기입 종료 표시를 오버라이트하는 것으로 한 것이다.
본 발명의 청구의 범위 제 18 항에 따른 메모리 관리 장치는, 청구의 범위 제 15 항에 기재된 메모리 관리 장치에 있어서, 상기 주 기억 수단은, 각각이 일정 수의 페이지로 이루어지는 복수의 블록으로 이루어지는 것이며, 상기 기억 처리 수단은, 어느 하나의 영역에 대하여 소거나 기입을 행할 때마다, 그 상태를 나타내는 상태 표시를 소정 블록의, 소정 페이지 또는 소정 페이지로부터 복수 페이지의 상기 동작 상태 표시 영역에 오버라이트 하는 것으로 한 것이다.
본 발명의 청구의 범위 제 19 항에 따른 메모리 관리 장치는, 청구의 범위 제 18 항에 기재된 메모리 관리 장치에 있어서, 상기 상태 표시는, 상기 제 1 관리 정보가 소거중인 것을 표시하는 제 1 상태 표시와, 상기 제 1 관리 정보가 갱신중인 것을 표시하는 제 2 상태 표시와, 새로운 파일이 기입중인 것을 표시하는 제 3 상태 표시와, 옛 파일이 소거중인 것을 표시하는 제 4 상태 표시와, 상기 제 2 관리 정보가 소거중인 것을 표시하는 제 5 상태 표시와, 상기 제 2 관리 정보가 갱신중인 것을 표시하는 제 6 상태 표시와, 모든 처리가 종료된 것을 표시하는 제 7 상태 표시를 갖는 것으로 한 것이다.
본 발명의 청구의 범위 제 20 항에 따른 메모리 관리 장치는, 청구의 범위 제 15 항에 기재된 메모리 관리 장치에 있어서, 상기 동작 상태 표시 영역은, 상기 제 1 관리 정보가 소거중인 것을 표시하는 제 1 상태 표시 영역과, 상기 제 1 관리 정보가 갱신중인 것을 표시하는 제 2 상태 표시 영역과, 새로운 파일이 기입중인 것을 표시하는 제 3 상태 표시 영역과, 옛 파일이 소거중인 것을 표시하는 제 4 상태 표시 영역과, 상기 제 2 관리 정보가 소거중인 것을 표시하는 제 5 상태 표시 영역과, 상기 제 2 관리 정보가 갱신중인 것을 표시하는 제 6 상태 표시 영역과, 모든 처리가 종료된 것을 표시하는 제 7 상태 표시 영역을 갖는 것으로 한 것이다.
본 발명의 청구의 범위 제 21 항에 따른 메모리 관리 장치는, 청구의 범위 제 15 항에 기재된 메모리 관리 장치에 있어서, 상기 주 기억 수단은, 각각이 일정 수의 페이지로 이루어지는 복수의 블록으로 이루어지는 것이며, 상기 기억 처리 수단은, 블록이 사용할 수 없는 상태가 되면, 사용 금지 표시를 해당 블록의 소정 페이지, 또는 소정 페이지로부터 복수 페이지의 블록 사용 금지 표시 영역에 오버라이트하는 것으로 한 것이다.
본 발명의 청구의 범위 제 22 항에 따른 메모리 관리 장치는, 청구의 범위제 14 항 내지 제 21 항 중 어느 한 항에 기재된 메모리 관리 장치에 있어서, 상기 메모리 관리 장치는, 상기 처리 상태 표시 영역의 각 영역에 표시되어 있는 값을 일정 비트마다 구분하여, 다수결 판정에 의해 2치(2値)로 할당하여, 각 영역의 표시값을 취득하는 표시값 취득 수단을 구비한 것으로 한 것이다.
본 발명의 청구의 범위 제 23 항에 따른 메모리 관리 장치는, 청구의 범위 제 14 항 내지 제 21 항 중 어느 한 항에 기재된 메모리 관리 장치에 있어서, 상기 메모리 관리 장치는, 상기 처리 상태 표시 영역의 각 영역에 표시되어 있는 값을 일정 비트마다 구분하여, 모든 비트가 소정의 상태인지에 의해 2치로 할당하여, 각 영역의 표시값을 취득하는 표시값 취득 수단을 구비한 것으로 한 것이다.
본 발명의 청구의 범위 제 24 항에 따른 메모리 관리 장치는, 청구의 범위 제 16 항, 제 18 항, 제 21 항 중 어느 한 항에 기재된 메모리 관리 장치에 있어서, 상기 메모리 관리 장치는, 각 페이지에 표시되어 있는 값을 일정 비트마다 구분해서 2치로 할당하여 취득한 각 페이지의 표시값을, 다수결 판정하여, 다수의 표시값을 해당 블록의 표시값으로 결정하는 블록 표시값 취득 수단을 구비한 것으로 한 것이다.
본 발명의 청구의 범위 제 25 항에 따른 메모리 관리 장치는, 청구의 범위 제 12 항 내지 제 24 항 중 어느 한 항에 기재된 메모리 관리 장치에 있어서, 상기 주 기억 수단은 시리얼 플래시 메모리인 것으로 한 것이다.
본 발명의 청구의 범위 제 26 항에 따른 메모리 관리 방법은, 데이터를 저장하는 복수의 블록을 갖고, 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1관리 정보 및 제 2 관리 정보를 저장하는 주 기억 수단에 대한 소거 및 기입을 행하는 메모리 관리 방법으로서, 신 데이터를 기입하는 블록의 정보와, 구 데이터를 소거하는 블록의 정보를 포함하는 신 관리 정보를 생성하는 관리 정보 생성 단계와, 상기 신 관리 정보에 근거해서 상기 신 데이터를 기입하는 블록 기입 단계와, 상기 주 기억 수단이 갖는 상기 제 1 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 1 관리 정보 갱신 단계와, 상기 주 기억 수단이 갖는 상기 제 2 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 2 관리 정보 갱신 단계와, 상기 신 관리 정보에 근거해서 상기 구 데이터를 소거하는 블록 소거 단계를 구비한 것으로 한 것이다.
본 발명의 청구의 범위 제 27 항에 따른 메모리 관리 방법은, 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 제 2 관리 정보를 저장하는 주 기억 수단에 대한 파일의 소거 및 기입을 관리하는 메모리 관리 방법으로서, 추가하는 신 파일의 정보와, 소거하는 구 파일의 정보를 포함하는 신 관리 정보를 생성하는 관리 정보 생성 단계와, 상기 주 기억 수단이 갖는 상기 제 1 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 1 관리 정보 갱신 단계와, 상기 신 관리 정보에 근거해서 상기 신 파일을 기입, 상기 신 관리 정보에 근거해서 상기 구 파일을 소거하는 파일 갱신 단계와, 상기 주 기억 수단이 갖는 상기 제 2 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 2 관리 정보 갱신 단계를 구비한 것으로 한 것이다.
본 발명의 청구의 범위 제 28 항에 따른 메모리 관리 방법은, 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 제 2 관리 정보를 저장하는 주 기억 수단에 대한 파일의 기입을 관리하는 메모리 관리 방법으로서, 추가하는 파일의 정보를 포함하는 신 관리 정보를 생성하는 관리 정보 생성 단계와, 상기 주 기억 수단이 갖는 상기 제 1 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 1 관리 정보 갱신 단계와, 상기 신 관리 정보에 근거해서, 파일을 기입하는 파일 기입 단계와, 상기 주 기억 수단이 갖는 상기 제 2 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 2 관리 정보 갱신 단계를 구비한 것으로 한 것이다.
본 발명의 청구의 범위 제 29 항에 따른 메모리 관리 방법은, 청구의 범위 제 26 항 내지 제 28 항 중 어느 한 항에 기재된 메모리 관리 방법에 있어서, 상기 주 기억 수단은, 데이터를 저장하는 복수의 블록으로 이루어져, 파일을 저장하는 데이터 기억 영역을 갖는 것이며, 상기 블록 기입 단계 또는 상기 파일 갱신 단계 또는 상기 파일 기입 단계에 있어서 블록이 사용할 수 없는 상태가 되었을 때에, 사용할 수 없게 된 블록의 소정의 영역에, 사용 금지 블록인 것을 나타내는 금지 표시를 오버라이트하는 사용 금지 표시 단계와, 상기 데이터 기억 영역 내의 사용 가능한 대체 블록에, 사용할 수 없게 된 블록에 기입하는 내용을 재기입하는 재기입 단계와, 상기 주 기억 수단이 갖는 상기 제 1 관리 정보와 상기 제 2 관리 정보를, 상기 사용 금지 블록 및 상기 대체 블록의 정보를 포함하는 시정 관리 정보의 내용에 의해 갱신하는 시정 관리 정보 갱신 단계를 구비한 것으로 한 것이다.
본 발명의 청구의 범위 제 30 항에 따른 메모리 관리 방법은, 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 제 2 관리 정보를 저장하는 주 기억 수단에 대한 파일의 소거를 관리하는 메모리 관리 방법으로서, 소거하는 파일의 정보를 포함하는 신 관리 정보를 생성하는 관리 정보 생성 단계와, 상기 주 기억 수단이 갖는 상기 제 1 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 1 관리 정보 갱신 단계와, 상기 신 관리 정보에 근거해서, 파일을 소거하는 파일 소거 단계와, 상기 주 기억 수단이 갖는 상기 제 2 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 2 관리 정보 갱신 단계를 구비한 것으로 한 것이다.
본 발명의 청구의 범위 제 31 항에 따른 메모리 관리 방법은, 청구의 범위 제 30 항에 기재된 메모리 관리 방법에 있어서, 상기 주 기억 수단은, 데이터를 저장하는 복수의 블록으로 이루어지는 것이며, 상기 파일 소거 단계에 있어서 블록이 사용할 수 없는 상태가 되었을 때에, 사용할 수 없게 된 블록의 소정의 영역에, 사용 금지 블록인 것을 나타내는 금지 표시를 오버라이트하는 사용 금지 표시 단계와, 상기 주 기억 수단이 갖는 상기 제 1 관리 정보와 상기 제 2 관리 정보를, 상기 사용 금지 블록의 정보를 포함하는 시정 관리 정보의 내용에 의해 갱신하는 시정 관리 정보 갱신 단계를 구비한 것으로 한 것이다.
본 발명의 청구의 범위 제 32 항에 따른 메모리 관리 방법은, 청구의 범위 제 26 항 내지 제 28 항, 제 30 항 중 어느 한 항에 기재된 메모리 관리 방법에 있어서, 상기 주 기억 수단은, 데이터를 저장하는 복수의 블록으로 이루어져, 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 저장하는 관리 정보 기억 영역을 갖는것이며, 상기 제 1 관리 정보 갱신 단계 및 제 2 관리 정보 갱신 단계에 있어서 블록이 사용할 수 없는 상태가 되었을 때에, 사용할 수 없게 된 블록의 소정의 영역에, 사용 금지인 것을 나타내는 금지 표시를 오버라이트하는 사용 금지 표시 단계와, 상기 관리 정보 기억 영역 내의 사용 가능한 대체 블록에, 상기 신 관리 정보를 재기입하는 관리 정보 재기입 단계를 구비한 것으로 한 것이다.
본 발명의 청구의 범위 제 33 항에 따른 정보 처리 방법은, 파일을 관리하는 메모리 관리 장치와, 메모리 관리 장치로부터 공급되는 프로그램 파일에 근거해서 해당 프로그램의 처리를 실행하는 처리 장치를 갖는 정보 처리 장치에 의한 정보 처리 방법으로서, 상기 메모리 관리 장치는, 프로그램 파일이나 여러 가지 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 해당 제 1 관리 정보를 백업하는 제 2 관리 정보를 저장하는 주 기억 수단과, 기동 시에 이용하는 부트 프로그램을 저장하는 부트 프로그램 기억 수단과, 공급되는 파일을 저장하는 보조 기억 수단과, 상기 주 기억 수단, 상기 부트 프로그램 기억 수단, 및 상기 보조 기억 수단에 대한 액세스를 행하는 파일 관리 수단을 구비한 것이며, 해당 정보 처리 장치는, 기동 시에, 상기 파일 관리 수단에 의해, 상기 부트 프로그램 기억 수단으로부터 판독한 상기 부트 프로그램에 근거해서, 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 상기 보조 기억 수단에 전송하고, 상기 전송된 제 1 관리 정보에 근거해서, 상기 주 기억 수단의 파일을 상기 보조 기억 수단에 전송하고, 상기 처리 장치에 의해, 상기 보조 기억 수단에 전송된 프로그램 파일을 판독하고, 해당 프로그램의 처리를 실행하는 것으로 한 것이다.
이상 설명한 바와 같이, 본 발명의 청구의 범위 제 1 항에 따른 정보 처리 장치에 따르면, 파일을 관리하는 메모리 관리 장치와, 메모리 관리 장치로부터 공급되는 프로그램 파일에 근거해서 해당 프로그램의 처리를 실행하는 처리 장치를 갖는 정보 처리 장치로서, 상기 메모리 관리 장치는, 프로그램 파일이나 여러 가지 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 해당 제 1 관리 정보를 백업하는 제 2 관리 정보를 저장하는 주 기억 수단과, 기동 시에 이용하는 부트 프로그램을 저장하는 부트 프로그램 기억 수단과, 공급되는 파일을 저장하는 보조 기억 수단과, 상기 주 기억 수단, 상기 부트 프로그램 기억 수단, 및 상기 보조 기억 수단에 대한 액세스를 행하는 파일 관리 수단을 구비하되, 상기 파일 관리 수단은, 기동 시에, 상기 부트 프로그램 기억 수단으로부터 판독한 상기 부트 프로그램에 근거해서 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 상기 보조 기억 수단에 전송하고, 상기 전송된 제 1 관리 정보에 근거해서 상기 주 기억 수단의 파일을 상기 보조 기억 수단에 전송하며, 상기 처리 장치는, 상기 보조 기억 수단에 전송된 프로그램 파일을 판독하여, 해당 프로그램의 처리를 실행하는 것으로 했기 때문에, 상기 처리 장치는, 처리를 실행할 때에 프로그램을 1단계마다 상기 주 기억 장치로부터 판독할 필요가 없어진다. 이 때문에, 상기 처리 장치의 처리 속도가 고속화되어, 실행 시간을 대폭 삭감할 수 있다.
본 발명의 청구의 범위 제 2 항에 따른 정보 처리 장치에 따르면, 파일을 관리하는 메모리 관리 장치와, 메모리 관리 장치로부터 공급되는 프로그램 파일에 근거해서 해당 프로그램의 처리를 실행하는 처리 장치를 갖는 정보 처리 장치로서,상기 메모리 관리 장치는, 제 1 프로그램 파일이나 여러 가지 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 해당 제 1 관리 정보를 백업하는 제 2 관리 정보를 저장하는 주 기억 수단과, 장치 외부로부터 제 2 프로그램 파일을 취득하는 통신 수단과, 공급되는 파일을 저장하는 보조 기억 수단과, 기동 시에 이용하는 부트 프로그램을 저장하는 부트 프로그램 기억 수단과, 상기 주 기억 수단 및 상기 보조 기억 수단에 대한 액세스를 행하는 파일 관리 수단과, 기동 시의 처리를 설정하는 설정 수단과, 상기 부트 프로그램 기억 수단으로부터 판독한 상기 부트 프로그램에 근거해서 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 상기 보조 기억 수단에 전송하고, 상기 주 기억 수단에 저장되어 있는 상기 제 1 프로그램 파일을 상기 보조 기억 수단에 전송하는 제 1 전송 수단과, 상기 부트 프로그램 기억 수단으로부터 판독한 상기 부트 프로그램에 근거해서 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 상기 보조 기억 수단에 전송하고, 상기 통신 수단을 거쳐서 취득한 상기 제 2 프로그램 파일을 상기 보조 기억 수단에 전송하는 제 2 전송 수단을 구비하되, 기동 시에, 상기 메모리 관리 장치는, 상기 설정 수단의 설정에 근거해서 상기 제 1 전송 수단과 상기 제 2 전송 수단을 전환하여, 상기 보조 기억 장치로의 프로그램 파일의 전송 처리를 행하고, 상기 처리 장치는, 상기 보조 기억 수단에 전송된 프로그램 파일을 판독하여, 해당 프로그램의 처리를 실행하는 것으로 했기 때문에, 자기 진단 프로그램이나 메인 프로그램 등의 여러 가지 프로그램을 선택하여 실행할 수 있다. 또한, 상기 정보 처리 장치에 있어서 자기 진단을 행할 수 있게 되기 때문에, 종래, 진단을 위해서 필요했던 각종 지그가 불필요해져, 보수, 점검을 위해 지그를 장기간 유지할 필요가 없어진다.
본 발명의 청구의 범위 제 3 항에 따른 정보 처리 장치에 따르면, 청구의 범위 제 2 항에 기재된 정보 처리 장치에 있어서, 상기 메모리 관리 장치는, 제 3 프로그램 파일, 및 공급되는 데이터를 축적하여 저장하는 데이터 축적 장치와, 상기 부트 프로그램 기억 수단으로부터 판독한 상기 부트 프로그램에 근거해서 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 상기 보조 기억 수단에 전송하고, 상기 데이터 축적 장치에 저장되어 있는 상기 제 3 프로그램 파일을 상기 보조 기억 수단에 전송하는 제 3 전송 수단을 더 구비하되, 기동 시에, 상기 설정 수단의 설정에 근거해서, 상기 제 1 전송 수단과 상기 제 2 전송 수단과 상기 제 3 전송 수단을 전환하여, 상기 보조 기억 장치로의 프로그램 파일의 전송 처리를 행하는 것으로 했기 때문에, 자기 진단 프로그램이나 메인 프로그램 등의 여러 가지 프로그램을 선택하여 실행할 수 있음과 동시에, 각종 프로그램을 상기 데이터 축적 장치로부터 취득할 수 있다. 또한, 상기 정보 처리 장치에 있어서 자기 진단을 행할 수 있게 되기 때문에, 진단을 위한 각종 지그가 불필요해져, 보수 서비스를 위해 지그를 장기간 유지할 필요가 없어진다.
본 발명의 청구의 범위 제 4 항에 따른 정보 처리 장치에 따르면, 청구의 범위 제 2 항 또는 제 3 항에 기재된 정보 처리 장치에 있어서, 상기 처리 장치는, 상기 통신 수단을 거쳐서 장치 외부로부터 파일을 취득하는 것으로 했기 때문에, 새로운 프로그램 파일을 취득하고, 소프트웨어의 버전업이나, 새로운 기능의 추가를 용이하게 실행할 수 있다. 또한, 외부로부터 용이하게 파일을 취득할 수 있기때문에, 상기 주 기억 수단에 저장하는 파일의 수를 삭감할 수 있는 동시에, 보다 소 용량의 상기 주 기억 수단을 이용하여 제조 비용의 저감할 수 있다.
본 발명의 청구의 범위 제 5 항에 따른 정보 처리 장치에 따르면, 청구의 범위 제 3 항에 기재된 정보 처리 장치에 있어서, 상기 파일 관리 수단은, 상기 처리 장치에서 생성한 파일을 상기 데이터 축적 장치에 저장하는 것으로 했기 때문에, 자기 진단 프로그램의 실행에 의해 생성한 자기 진단 결과 파일이나, 상기 정보 처리 장치의 사용 이력 및 고장 이력 등을 상기 데이터 축적 장치에 저장할 수 있다. 또한, 이 자기 진단 결과 파일을 이용하여, 상기 정보 처리 장치나, 상기 정보 처리 장치에 접속되어 있는 기기의 열화 등을 모니터링할 수 있다.
본 발명의 청구의 범위 제 6 항에 따른 정보 처리 장치에 따르면, 청구의 범위 제 2 항 내지 제 5 항 중 어느 한 항에 기재된 정보 처리 장치에 있어서, 상기 파일 관리 수단은, 상기 처리 장치에서 생성한 파일을 상기 통신 수단을 거쳐서 외부에 출력하는 것으로 했기 때문에, 자기 진단의 결과 등의 각종 동작 결과를 외부로부터 모니터링할 수 있다.
본 발명의 청구의 범위 제 7 항에 따른 정보 처리 장치에 따르면, 청구의 범위 제 1 항 내지 제 6 항 중 어느 한 항에 기재된 정보 처리 장치에 있어서, 상기 파일 관리 수단은, 상기 처리 장치에서 생성한 파일을 상기 주 기억 수단에 저장하는 것으로 했기 때문에, 자기 진단의 결과 등의, 각종 동작 결과를 보존할 수 있다. 또한, 이 자기 진단 결과 파일을 이용하여, 상기 정보 처리 장치나, 상기 정보 처리 장치에 접속되어 있는 기기의 열화 등을 모니터링할 수 있다.
본 발명의 청구의 범위 제 8 항에 따른 정보 처리 장치에 따르면, 청구의 범위 제 1 항 내지 제 7 항 중 어느 한 항에 기재된 정보 처리 장치에 있어서, 상기 주 기억 수단은 시리얼 플래시 메모리인 것으로 했기 때문에, 상기 주 기억 수단에 대하여 고속으로 소거나 기입을 행할 수 있는 데다가, 데이터 사이즈가 큰 프로그램 파일이나 데이터 파일을 저장할 수 있다.
본 발명의 청구의 범위 제 9 항에 따른 정보 처리 장치에 따르면, 청구의 범위 제 8 항에 기재된 정보 처리 장치에 있어서, 상기 주 기억 수단은, 상기 관리 정보와 여러 가지 파일을 저장하는 1개의 시리얼 플래시 메모리와, 여러 가지 파일을 저장하는 1개 이상의 시리얼 플래시 메모리로 이루어지는 것으로 했기 때문에, 프로그램 파일이나 각종 파일의 사이즈의 증가에 대응할 수 있다. 또한, 각 시리얼 플래시 메모리의 용량을 다르게 할 수 있으므로, 프로그램 파일이나 각종 파일의 사이즈에 대하여, 최적 용량의 시리얼 플래시를 이용함으로써, 기판의 탑재 면적의 삭감, 및 제조 비용을 저감할 수 있다.
본 발명의 청구의 범위 제 10 항에 따른 정보 처리 장치에 따르면, 청구의 범위 제 8 항에 기재된 정보 처리 장치에 있어서, 상기 주 기억 수단은, 상기 관리 정보를 저장하는 1개의 시리얼 플래시 메모리와, 여러 가지 파일을 저장하는 1개 이상의 시리얼 플래시 메모리로 이루어지는 것으로 했기 때문에, 프로그램 파일이나 각종 파일의 사이즈의 증가에 대응할 수 있다. 또한, 각 시리얼 플래시 메모리의 용량을 다르게 할 수 있으므로, 프로그램 파일이나 각종 파일의 사이즈에 대하여, 최적 용량의 시리얼 플래시를 이용함으로써, 기판의 탑재 면적의 삭감, 및 제조 비용을 저감할 수 있다.
본 발명의 청구의 범위 제 11 항에 따른 정보 처리 장치에 따르면, 청구의 범위 제 8 항에 기재된 정보 처리 장치에 있어서, 상기 주 기억 수단은, 각각이 상기 관리 정보와 여러 가지 파일을 저장하는 복수개의 시리얼 플래시 메모리로 이루어지는 것으로 했기 때문에, 시리얼 플래시의 교환이 가능해진다.
본 발명의 청구의 범위 제 12 항에 따른 메모리 관리 장치에 따르면, 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 제 2 관리 정보를 저장하는 주 기억 수단과, 상기 주 기억 수단에 대하여 소거나 기입을 행하기 위한 신 관리 정보를 생성하는 관리 정보 생성 수단과, 상기 주 기억 수단이 갖는 상기 제 1 관리 정보의 내용을, 상기 신 관리 정보의 내용에 의해 갱신하는 제 1 관리 정보 갱신 수단과, 상기 신 관리 정보에 근거해서, 상기 주 기억 수단에 대하여 소거, 기입을 행하는 기억 처리 수단과, 상기 주 기억 수단이 갖는 상기 제 2 관리 정보의 내용을, 상기 신 관리 정보의 내용에 의해 갱신하는 제 2 관리 정보 갱신 수단을 구비한 것으로 했기 때문에, 상기 메모리 관리 장치에 의해, 기입 대상이나 소거 대상으로 되는 상기 주 기억 수단의 영역을 결정할 수 있다. 또한, 상기 제 1 관리 정보를 상기 주 기억 수단에 기입한 후, 상기 기억 처리 수단에 의해 파일의 기입이나 소거를 행하기 때문에, 기억 처리 수단이 모든 처리를 완료하기 전에 처리를 중단한 경우에, 상기 메모리 관리 장치에 의해 기입이나 소거 도중의 파일을 검출하여, 소거할 수 있다. 또한, 상기 제 1 관리 정보를 기입한 후, 상기 제 2 관리 정보를 기입하기 때문에, 상기 제 2 관리 정보의 기입이나 소거가도중에서 중단된 경우에, 상기 제 1 관리 정보를 이용하여 복구할 수 있다.
본 발명의 청구의 범위 제 13 항에 따른 메모리 관리 장치에 따르면, 청구의 범위 제 12 항에 기재된 메모리 관리 장치에 있어서, 상기 관리 정보 생성 수단이 생성하는 상기 신 관리 정보는, 상기 주 기억 수단의 파일을 갱신할 때에는, 추가하는 신 파일의 정보와 소거하는 구 파일의 정보를 포함하는 것이고, 상기 주 기억 수단의 블록을 갱신할 때에는, 추가하는 신 데이터를 기입하는 블록의 정보와 소거하는 구 데이터가 저장되어 있는 블록의 정보를 포함하는 것이고, 상기 주 기억 수단에 새로운 파일을 추가할 때에는, 추가하는 파일의 정보를 포함하는 것이며, 상기 주 기억 수단의 파일을 소거할 때에는, 소거하는 파일의 정보를 포함하는 것으로 했기 때문에, 상기 메모리 관리 장치에 의해, 기입 대상이나 소거 대상으로 되는 블록을 결정하여, 그 블록에 대한 소거나 기입을 행할 수 있다.
본 발명의 청구의 범위 제 14 항에 따른 메모리 관리 장치에 따르면, 청구의 범위 제 12 항 또는 제 13 항에 기재된 메모리 관리 장치에 있어서, 상기 주 기억 수단은, 처리 상태를 표시하는 처리 상태 표시 영역을 갖는 것으로 했기 때문에, 상기 메모리 관리 장치에 의해, 상기 주 기억 수단의 여러 가지 상태를 파악할 수 있다.
본 발명의 청구의 범위 제 15 항에 따른 메모리 관리 장치에 따르면, 청구의 범위 제 14 항에 기재된 메모리 관리 장치에 있어서, 상기 처리 상태 표시 영역은, 소정의 영역에 대한 기입이 종료된 것을 표시하는 기입 종료 표시 영역과, 소정의 영역에 대한 소거, 기입 처리에서 발생하는 각종 상태를 표시하는 동작 상태 표시영역과, 소정의 영역이 사용 가능할 수 없는 것을 표시하는 사용 금지 표시 영역을 갖는 것으로 했기 때문에, 상기 메모리 관리 장치에 의해 상기 주 기억 수단의 여러 가지 상태를 파악하고, 파일 또는 블록에 대한 처리가 중단되어 있는 경우에는, 그 파일이나 블록을 복구시킬 수 있다.
본 발명의 청구의 범위 제 16 항에 따른 메모리 관리 장치에 따르면, 청구의 범위 제 15 항에 기재된 메모리 관리 장치에 있어서, 상기 주 기억 수단은, 각각이 일정 수의 페이지로 이루어지는 복수의 블록으로 이루어지는 것이고, 상기 기입 종료 표시 영역은, 각 페이지에 마련되어, 해당 페이지에 대한 기입이 종료된 것을 표시하는 페이지 기입 종료 표시 영역과, 각 블록의 소정 페이지, 또는 소정 페이지로부터 복수 페이지에 마련되어, 해당 블록에 대한 기입이 종료된 것을 표시하는 블록 기입 종료 표시 영역을 갖는 것으로 했기 때문에, 그 영역에 대한 기입이 종료하고 있는지의 여부를 파악할 수 있다.
본 발명의 청구의 범위 제 17 항에 따른 메모리 관리 장치에 따르면, 청구의 범위 제 16 항에 기재된 메모리 관리 장치에 있어서, 상기 기억 처리 수단은, 페이지에 대한 기입이 종료된 때에는 상기 페이지 기입 종료 표시 영역에 블록에 대한 기입이 종료된 때에는 블록 기입 종료 표시 영역에, 기입 종료 표시를 오버라이트하는 것으로 했기 때문에, 그 영역에 대한 기입이 종료하고 있는지의 여부를 파악하여, 다음 기입 시에는, 기입되어 있지 않은 블록을 기입 대상의 블록으로서 선택할 수 있다.
본 발명의 청구의 범위 제 18 항에 따른 메모리 관리 장치에 따르면, 청구의범위 제 15 항에 기재된 메모리 관리 장치에 있어서, 상기 주 기억 수단은, 각각이 일정 수의 페이지로 이루어지는 복수의 블록으로 이루어지는 것이며, 상기 기억 처리 수단은, 어느 하나의 영역에 대하여 소거나 기입을 행할 때마다, 그 상태를 나타내는 상태 표시를 소정 블록의, 소정 페이지 또는 소정 페이지로부터 복수 페이지의 상기 동작 상태 표시 영역에 오버라이트 하는 것으로 했기 때문에, 상기 메모리 관리 장치에 의해, 그 영역에 대한 처리 상태를 파악할 수 있다.
본 발명의 청구의 범위 제 19 항에 따른 메모리 관리 장치에 따르면, 청구의 범위 제 18 항에 기재된 메모리 관리 장치에 있어서, 상기 상태 표시는, 상기 제 1 관리 정보가 소거중인 것을 표시하는 제 1 상태 표시와, 상기 제 1 관리 정보가 갱신중인 것을 표시하는 제 2 상태 표시와, 새로운 파일이 기입중인 것을 표시하는 제 3 상태 표시와, 옛 파일이 소거중인 것을 표시하는 제 4 상태 표시와, 상기 제 2 관리 정보가 소거중인 것을 표시하는 제 5 상태 표시와, 상기 제 2 관리 정보가 갱신중인 것을 표시하는 제 6 상태 표시와, 모든 처리가 종료된 것을 표시하는 제 7 상태 표시를 갖는 것으로 했기 때문에, 그 영역에 대한 처리 상태를 파악함으로써, 상기 제 1 관리 정보에 대한 처리가 중단되어 있는 경우에는 상기 제 1 관리 정보의 내용을 상기 제 2 관리 정보의 내용에 의해 갱신하고, 상기 제 2 관리 정보에 대한 처리가 중단되지 않은 경우에는 상기 제 2 관리 정보의 내용을 상기 제 1 관리 정보의 내용에 의해 갱신하여, 처리 중단 전의 내용으로 복구시킬 수 있다.
본 발명의 청구의 범위 제 20 항에 따른 메모리 관리 장치에 따르면, 청구의 범위 제 15 항에 기재된 메모리 관리 장치에 있어서, 상기 동작 상태 표시 영역은,상기 제 1 관리 정보가 소거중인 것을 표시하는 제 1 상태 표시 영역과, 상기 제 1 관리 정보가 갱신중인 것을 표시하는 제 2 상태 표시 영역과, 새로운 파일이 기입중인 것을 표시하는 제 3 상태 표시 영역과, 옛 파일이 소거중인 것을 표시하는 제 4 상태 표시 영역과, 상기 제 2 관리 정보가 소거중인 것을 표시하는 제 5 상태 표시 영역과, 상기 제 2 관리 정보가 갱신중인 것을 표시하는 제 6 상태 표시 영역과, 모든 처리가 종료된 것을 표시하는 제 7 상태 표시 영역을 갖는 것으로 했기 때문에, 그 영역에 대한 처리 상태를 파악함으로써, 상기 제 1 관리 정보에 대한 처리가 중단되어 있는 경우에는 상기 제 1 관리 정보의 내용을 상기 제 2 관리 정보의 내용에 의해 갱신하고, 상기 제 2 관리 정보에 대한 처리가 중단되어 있는 경우에는 상기 제 2 관리 정보의 내용을 상기 제 1 관리 정보의 내용에 의해 갱신하여, 처리 중단 전의 내용으로 복구시킬 수 있다. 또한, 각종의 처리 상태를 표시하는 영역을, 각각 다른 영역으로 함으로써, 동일한 영역에 대한 기입 회수를 감소시키는 수 있어, 상기 주 기억부의 내구성을 유지할 수 있다.
본 발명의 청구의 범위 제 21 항에 따른 메모리 관리 장치에 따르면, 청구의 범위 제 15 항에 기재된 메모리 관리 장치에 있어서, 상기 주 기억 수단은, 각각이 일정 수의 페이지로 이루어지는 복수의 블록으로 이루어지는 것이며, 상기 기억 처리 수단은, 블록이 사용할 수 없는 상태가 되면, 사용 금지 표시를 해당 블록의 소정 페이지, 또는 소정 페이지로부터 복수 페이지의 블록 사용 금지 표시 영역에 오버라이트하는 것으로 했기 때문에, 블록이 사용할 수 있는지의 여부를 파악하여, 다음 기입 시에는, 사용할 수 있는 블록을 기입 대상의 블록으로서 선택할 수 있다.
본 발명의 청구의 범위 제 22 항에 따른 메모리 관리 장치에 따르면, 청구의 범위 제 14 항 내지 제 21 항 중 어느 한 항에 기재된 메모리 관리 장치에 있어서, 상기 메모리 관리 장치는, 상기 처리 상태 표시 영역의 각 영역에 표시되어 있는 값을 일정 비트마다 구분하여, 다수결 판정에 의해 2치(2値)로 할당하여, 각 영역의 표시값을 취득하는 표시값 취득 수단을 구비한 것으로 했기 때문에, 상기 처리 상태 표시 영역에 잘못 기입되어 있는 경우에도, 표시되어 있는 값이 나타내는 상태를 파악할 수 있다.
본 발명의 청구의 범위 제 23 항에 따른 메모리 관리 장치에 따르면, 청구의 범위 제 14 항 내지 제 21 항 중 어느 한 항에 기재된 메모리 관리 장치에 있어서, 상기 메모리 관리 장치는, 상기 처리 상태 표시 영역의 각 영역에 표시되어 있는 값을 일정 비트마다 구분하여, 모든 비트가 소정의 상태인지에 의해 2치로 할당하여, 각 영역의 표시값을 취득하는 표시값 취득 수단을 구비한 것으로 했기 때문에, 상기 처리 상태 표시 영역에 오기나 비트화가 발생되지 않은 경우에만, 표시되어 있는 값이 나타내는 상태를 파악할 수 있다.
본 발명의 청구의 범위 제 24 항에 따른 메모리 관리 장치에 따르면, 청구의 범위 제 16 항, 제 18 항, 제 21 항 중 어느 한 항에 기재된 메모리 관리 장치에 있어서, 상기 메모리 관리 장치는, 각 페이지에 표시되어 있는 값을 일정 비트마다 구분해서 2치로 할당하여 취득한 각 페이지의 표시값을, 다수결 판정하여, 다수의 표시값을 해당 블록의 표시값으로 결정하는 블록 표시값 취득 수단을 구비한 것으로 했기 때문에, 상기 처리 상태 표시 영역에 잘못 기입된 경우에도, 표시되어 있는 값이 나타내는 상태를 파악할 수 있다.
본 발명의 청구의 범위 제 25 항에 따른 메모리 관리 장치에 따르면, 청구의 범위 제 12 항 내지 제 24 항 중 어느 한 항에 기재된 메모리 관리 장치에 있어서, 상기 주 기억 수단은 시리얼 플래시 메모리인 것으로 했기 때문에, 상기 주 기억 수단에 대하여 고속으로 소거나 기입을 행할 수 있는 데다가, 데이터 사이즈가 큰 프로그램 파일이나 데이터 파일을 저장할 수 있다.
본 발명의 청구의 범위 제 26 항에 따른 메모리 관리 방법에 따르면, 데이터를 저장하는 복수의 블록을 갖고, 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 제 2 관리 정보를 저장하는 주 기억 수단에 대한 소거 및 기입을 행하는 메모리 관리 방법으로서, 신 데이터를 기입하는 블록의 정보와, 구 데이터를 소거하는 블록의 정보를 포함하는 신 관리 정보를 생성하는 관리 정보 생성 단계와, 상기 신 관리 정보에 근거해서 상기 신 데이터를 기입하는 블록 기입 단계와, 상기 주 기억 수단이 갖는 상기 제 1 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 1 관리 정보 갱신 단계와, 상기 주 기억 수단이 갖는 상기 제 2 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 2 관리 정보 갱신 단계와, 상기 신 관리 정보에 근거해서 상기 구 데이터를 소거하는 블록 소거 단계를 구비한 것으로 했기 때문에, 기입 대상이나 소거 대상으로 되는 상기 주 기억 수단의 영역을 결정하여, 그 영역에 대한 처리를 할 수 있다.
본 발명의 청구의 범위 제 27 항에 따른 메모리 관리 방법에 따르면, 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 제 2 관리 정보를 저장하는 주 기억 수단에 대한 파일의 소거 및 기입을 관리하는 메모리 관리 방법으로서, 추가하는 신 파일의 정보와, 소거하는 구 파일의 정보를 포함하는 신 관리 정보를 생성하는 관리 정보 생성 단계와, 상기 주 기억 수단이 갖는 상기 제 1 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 1 관리 정보 갱신 단계와, 상기 신 관리 정보에 근거해서 상기 신 파일을 기입, 상기 신 관리 정보에 근거해서 상기 구 파일을 소거하는 파일 갱신 단계와, 상기 주 기억 수단이 갖는 상기 제 2 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 2 관리 정보 갱신 단계를 구비한 것으로 했기 때문에, 모든 처리를 완료하기 전에 처리를 중단한 경우에, 기입이나 소거 도중의 파일을 검출하여, 소거할 수 있다. 또한, 상기 제 1 관리 정보를 기입한 후, 상기 제 2 관리 정보를 기입하기 때문에, 상기 제 2 관리 정보의 기입이나 소거가 도중에서 중단된 경우에, 상기 제 1 관리 정보를 이용하여 복구할 수 있다.
본 발명의 청구의 범위 제 28 항에 따른 메모리 관리 방법에 따르면, 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 제 2 관리 정보를 저장하는 주 기억 수단에 대한 파일의 기입을 관리하는 메모리 관리 방법으로서, 추가하는 파일의 정보를 포함하는 신 관리 정보를 생성하는 관리 정보 생성 단계와, 상기 주 기억 수단이 갖는 상기 제 1 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 1 관리 정보 갱신 단계와, 상기 신 관리 정보에 근거해서, 파일을 기입하는 파일 기입 단계와, 상기 주 기억 수단이 갖는 상기 제 2 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 2 관리 정보 갱신 단계를 구비한 것으로 했기 때문에, 기입 대상 대상으로 되는 상기 주 기억 수단의 영역을 결정하여, 그 영역에 대하여 기입을 행할 수 있다. 또한, 상기 제 1 관리 정보를 상기 주 기억 수단에 기입한 후, 파일의 기입을 행하기 때문에, 모든 처리를 완료하기 전에 처리를 중단한 경우에, 기입 도중의 파일을 검출하여, 소거할 수 있다. 또한, 상기 제 1 관리 정보를 기입한 후, 상기 제 2 관리 정보를 기입하기 때문에, 상기 제 2 관리 정보의 기입이나 소거가 도중에 중단된 경우에, 상기 제 1 관리 정보를 이용하여 복구할 수 있다.
본 발명의 청구의 범위 제 29 항에 따른 메모리 관리 방법에 따르면, 청구의 범위 제 26 항 내지 제 28 항 중 어느 한 항에 기재된 메모리 관리 방법에 있어서, 상기 주 기억 수단은, 데이터를 저장하는 복수의 블록으로 이루어져, 파일을 저장하는 데이터 기억 영역을 갖는 것이며, 상기 블록 기입 단계 또는 상기 파일 갱신 단계 또는 상기 파일 기입 단계에 있어서 블록이 사용할 수 없는 상태가 되었을 때에, 사용할 수 없게 된 블록의 소정의 영역에, 사용 금지 블록인 것을 나타내는 금지 표시를 오버라이트하는 사용 금지 표시 단계와, 상기 데이터 기억 영역 내의 사용 가능한 대체 블록에, 사용할 수 없게 된 블록에 기입하는 내용을 재기입하는 재기입 단계와, 상기 주 기억 수단이 갖는 상기 제 1 관리 정보와 상기 제 2 관리 정보를, 상기 사용 금지 블록 및 상기 대체 블록의 정보를 포함하는 시정 관리 정보의 내용에 의해 갱신하는 시정 관리 정보 갱신 단계를 구비한 것으로 했기 때문에, 갱신 대상으로 되는 블록에 불량이 발생한 경우에도, 대체 영역을 이용하여 갱신처리를 할 수 있다. 또한, 상기 제 1 관리 정보 및 상기 제 2 관리 정보에 사용 금지 블록의 위치의 정보를 기술하기 때문에, 사용 금지 블록이외의 블록을 기입 대상의 블록으로 할 수 있다.
본 발명의 청구의 범위 제 30 항에 따른 메모리 관리 방법에 따르면, 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 제 2 관리 정보를 저장하는 주 기억 수단에 대한 파일의 소거를 관리하는 메모리 관리 방법으로서, 소거하는 파일의 정보를 포함하는 신 관리 정보를 생성하는 관리 정보 생성 단계와, 상기 주 기억 수단이 갖는 상기 제 1 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 1 관리 정보 갱신 단계와, 상기 신 관리 정보에 근거해서, 파일을 소거하는 파일 소거 단계와, 상기 주 기억 수단이 갖는 상기 제 2 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 2 관리 정보 갱신 단계를 구비한 것으로 했기 때문에, 모든 처리를 완료하기 전에 처리를 중단한 경우에, 소거 도중의 파일을 검출하여, 소거할 수 있다. 또한, 상기 제 1 관리 정보를 기입한 후, 상기 제 2 관리 정보를 기입하기 때문에, 상기 제 2 관리 정보의 기입이나 소거가 도중에서 중단된 경우에, 상기 제 1 관리 정보를 이용하여 복구할 수 있다.
본 발명의 청구의 범위 제 31 항에 따른 메모리 관리 방법에 따르면, 청구의 범위 제 30 항에 기재된 메모리 관리 방법에 있어서, 상기 주 기억 수단은, 데이터를 저장하는 복수의 블록으로 이루어지는 것이며, 상기 파일 소거 단계에 있어서 블록이 사용할 수 없는 상태가 되었을 때에, 사용할 수 없게 된 블록의 소정의 영역에, 사용 금지 블록인 것을 나타내는 금지 표시를 오버라이트하는 사용 금지 표시 단계와, 상기 주 기억 수단이 갖는 상기 제 1 관리 정보와 상기 제 2 관리 정보를, 상기 사용 금지 블록의 정보를 포함하는 시정 관리 정보의 내용에 의해 갱신하는 시정 관리 정보 갱신 단계를 구비한 것으로 했기 때문에, 소거 대상으로 되는 블록에 불량이 발생한 경우에도, 상기 제 1 관리 정보 및 상기 제 2 관리 정보에 사용 금지 블록의 위치의 정보를 기술할 수 있어, 다음 기입 시에는, 사용 금지 블록이외의 블록을 기입 대상의 블록으로 할 수 있다.
본 발명의 청구의 범위 제 32 항에 따른 메모리 관리 방법에 따르면, 청구의 범위 제 26 항 내지 제 28 항, 제 30 항 중 어느 한 항에 기재된 메모리 관리 방법에 있어서, 상기 주 기억 수단은, 데이터를 저장하는 복수의 블록으로 이루어져, 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 저장하는 관리 정보 기억 영역을 갖는 것이며, 상기 제 1 관리 정보 갱신 단계 및 제 2 관리 정보 갱신 단계에 있어서 블록이 사용할 수 없는 상태가 되었을 때에, 사용할 수 없게 된 블록의 소정의 영역에, 사용 금지인 것을 나타내는 금지 표시를 오버라이트하는 사용 금지 표시 단계와, 상기 관리 정보 기억 영역 내의 사용 가능한 대체 블록에, 상기 신 관리 정보를 재기입하는 관리 정보 재기입 단계를 구비한 것으로 했기 때문에, 갱신 대상으로 되는 블록에 불량이 발생한 경우에, 대체 영역을 이용하여 상기 제 1 관리 정보 및 상기 제 2 관리 정보의 갱신 처리를 할 수 있다. 또한, 상기 제 1 관리 정보 및 상기 제 2 관리 정보에 사용 금지 블록의 위치 정보를 기술하기 때문에, 다음 기입 시에는, 사용 금지 블록이외의 블록을 기입 대상의 블록으로 할 수 있다.
본 발명의 청구의 범위 제 33 항에 따른 정보 처리 방법에 따르면, 파일을 관리하는 메모리 관리 장치와, 메모리 관리 장치로부터 공급되는 프로그램 파일에 근거해서 해당 프로그램의 처리를 실행하는 처리 장치를 갖는 정보 처리 장치에 의한 정보 처리 방법으로서, 상기 메모리 관리 장치는, 프로그램 파일이나 여러 가지 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 해당 제 1 관리 정보를 백업하는 제 2 관리 정보를 저장하는 주 기억 수단과, 기동 시에 이용하는 부트 프로그램을 저장하는 부트 프로그램 기억 수단과, 공급되는 파일을 저장하는 보조 기억 수단과, 상기 주 기억 수단, 상기 부트 프로그램 기억 수단, 및 상기 보조 기억 수단에 대한 액세스를 행하는 파일 관리 수단을 구비한 것이며, 해당 정보 처리 장치에 따르면, 기동 시에, 상기 파일 관리 수단에 의해, 상기 부트 프로그램 기억 수단으로부터 판독한 상기 부트 프로그램에 근거해서, 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 상기 보조 기억 수단에 전송하고, 상기 전송된 제 1 관리 정보에 근거해서, 상기 주 기억 수단의 파일을 상기 보조 기억 수단에 전송하고, 상기 처리 장치에 의해, 상기 보조 기억 수단에 전송된 프로그램 파일을 판독하고, 해당 프로그램의 처리를 실행하는 것으로 했기 때문에, 상기 처리 장치는, 처리를 실행할 때에 프로그램을 1단계마다 상기 주 기억 장치로부터 판독할 필요가 없어진다. 이 때문에, 상기 처리 장치의 처리 속도가 고속화되어, 실행 시간을 대폭 삭감할 수 있다.
본 발명은, 기억 수단에 저장된 파일의 데이터의 신뢰성을 저하시키지 않고 관리하는 정보 처리 장치, 및 메모리 관리 장치, 및 메모리 관리 방법, 및 정보 처리 방법에 관한 것이다.
도 1은 본 발명의 실시예 1에 따른 정보 처리 장치의 구성을 나타내는 블록도,
도 2는 본 발명의 실시예 1에 따른 정보 처리 장치의 파일 플래시의 기억 영역의 구조를 설명하는 모식도,
도 3은 본 발명의 실시예 1에 따른 정보 처리 장치의 파일 플래시의 구성을 설명하는 모식도,
도 4는 본 발명의 실시예 1에 따른 정보 처리 장치의 파일 플래시의 용장 영역의 구성을 설명하는 모식도,
도 5는 본 발명의 실시예 1에 따른 정보 처리 장치에서의 용장 영역의 모드를 판정하는 방법을 설명하는 도면,
도 6은 본 발명의 실시예 1에 따른 정보 처리 장치에 의한 파일 2를 파일 3으로 갱신하는 순서를 설명하는 도면,
도 7은 본 발명의 실시예 1에 따른 메모리 관리 장치의 파일 플래시에서의 블록 소거 방법을 설명하는 흐름도,
도 8은 본 발명의 실시예 1에 따른 메모리 관리 장치의 파일 플래시로부터 파일을 소거하는 방법을 설명하는 흐름도,
도 9는 본 발명의 실시예 1에 따른 메모리 관리 장치의 파일 플래시에서의 페이지 기입 방법을 설명하는 흐름도,
도 10은 본 발명의 실시예 1에 따른 메모리 관리 장치의 파일 플래시에 파일을 기입하는 방법을 설명하는 흐름도,
도 11은 본 발명의 실시예 1에 따른 메모리 관리 장치의 파일 플래시에서의 페이지 판독 방법을 설명하는 흐름도,
도 12는 본 발명의 실시예 1에 따른 메모리 관리 장치의 파일 플래시로부터 파일을 판독하는 방법을 설명하는 흐름도,
도 13은 본 발명의 실시예 1에 따른 정보 처리 장치의 부트 처리를 설명하는 흐름도,
도 14는 본 발명의 실시예 1에 따른 메모리 관리 장치에 의한 기입 또는 소거 도중 파일을 파일 플래시로부터 소거하는 방법을 설명하는 흐름도,
도 15는 본 발명의 실시예 1에 따른 메모리 관리 장치에 의한 파일 플래시의 오리지널 관리 정보 및 백업 관리 정보를 갱신하는 방법을 설명하는 흐름도,
도 16은 본 발명의 실시예 1에 따른 메모리 관리 장치에 의한 파일 플래시의 오리지널 관리 정보 및 백업 관리 정보를 새로운 블록에 기입하는 방법을 설명하는 흐름도,
도 17은 본 발명의 실시예 1에 따른 메모리 관리 장치에 의한, 파일 플래시의 파일 2를 파일3으로 갱신하는 방법을 설명하는 흐름도,
도 18은 본 발명의 실시예 1에 따른 메모리 관리 장치에 의해 새로운 파일을 추가할 수 있는 가를 판단하는 방법을 설명하는 도면,
도 19는 본 발명의 실시예 1에 따른 메모리 관리 장치에 의한, 파일 플래시로부터 파일을 소거하는 방법을 설명하는 흐름도,
도 20은 본 발명의 실시예 1에 따른 메모리 관리 장치에 의한, 파일 플래시에 파일을 추가하는 방법을 설명하는 흐름도,
도 21은 본 발명의 실시예 1에 따른 정보 처리 장치의 구성의 다른 일례를 나타내는 블록도,
도 22는 본 발명의 실시예 1에 따른 정보 처리 장치의 파일 플래시의 구성의 다른 일례를 나타내는 모식도,
도 23은 본 발명의 실시예 1에 따른 정보 처리 장치의 파일 플래시의 구성의 다른 일례를 나타내는 모식도,
도 24는 본 발명의 실시예 1에 따른 정보 처리 장치의 파일 플래시의 구성의 다른 일례를 나타내는 모식도,
도 25는 도 24에 나타낸 파일 플래시에서 시리얼 플래시를 선택하는 방법을 설명하는 흐름도,
도 26은 본 발명의 실시예 2에 따른 정보 처리 장치의 구성을 나타내는 블록도,
도 27은 본 발명의 실시예 3에 따른 정보 처리 장치의 구성을 나타내는 블록도,
도 28은 종래의 정보 처리 장치의 구성을 나타내는 블록도이다.
발명을 실시하기 위한 최선의 형태
이하, 본 발명의 실시예에 대하여 도면을 참조하면서 설명한다. 또, 여기서나타내는 실시예는 어디까지나 일례로서, 반드시 이 실시예로 한정하는 것은 아니다. 또한, 명세서 및 도면에 있어서, 숫자의 말미에 부여한 "h"는 그 숫자가 16진수로 표기된 것이라는 것을 나타내고 있다.
(실시예 1)
우선, 본 발명의 청구의 범위 제1항, 청구의 범위 제 7항 내지 청구의 범위 제 11 항에 기재된 정보 처리 장치, 청구의 범위 제 12 항 내지 청구의 범위 제 25 항에 기재된 메모리 관리 장치, 청구의 범위 제 26 항 내지 청구의 범위 제 32 항에 기재된 메모리 관리 방법, 및 청구의 범위 제 33 항에 기재된 정보 처리 방법을 실시예 1로서, 도면을 참조하면서 설명한다.
도 1은 본 실시예 1에 따른 정보 처리 장치의 구성을 나타내는 블록도이다. 도 1에 도시된 바와 같이 본 실시예 1에 따른 정보 처리 장치(100)는, 프로그램 파일이나 데이터 파일을 유지하는 메모리 관리 장치(10)와, 메모리 관리 장치(10)로부터 제공되는 프로그램 파일이나 데이터 파일에 근거해서 처리를 행하는 정보 처리부(30)를 갖는다.
메모리 관리 장치(10)는, 프로그램 파일과 데이터 파일을 저장하는 파일 플래시(11)와, 파일 플래시(11)에 저장되어 있는 파일을 관리하는 파일 관리부(13)와, 정보 처리부(30)의 작업 영역인 워크 메모리(14)와, 파일 관리부(13)로부터 파일 플래시(11)에 액세스할 수 있도록 하는 플래시 인터페이스(이하, 플래시 I/F라 칭함)(12)와, 부트 프로그램을 저장하는 부트 플래시(15)를 갖는다. 그리고,버스(16)를 거쳐서 부트 플래시(15)와 플래시 I/F(12)가 파일 관리부(13)에 접속되어 있다.
파일 플래시(11)는, NAND형 플래시 메모리, AND형 플래시 메모리와 같은 시리얼 플래시 메모리로 이루어진다. 이 파일 플래시(11)는 플래시 I/F(12)를 거쳐서 이루어지는 파일 관리부(13)로부터의 액세스에 응답하여, 저장되어 있는 데이터를 파일 관리부(13)에 공급한다. 또한, 파일 관리부(13)로부터의 명령에 의해, 저장되어 있는 데이터를 소거하여, 파일 관리부(13)로부터 데이터가 공급되면, 해당 데이터를 저장한다.
이하, 파일 플래시(11)의 구조를 8Mbyte의 용량을 갖는 것을 예로 들어 설명한다.
도 2에, 파일 플래시(11)의 기억 영역의 구조를 나타낸다.
파일 플래시(11)의 기억 영역은 1024개의 블록으로 구성되고, 선두의 블록을 1로 하여 이후1024까지 순서대로 블록 번호가 부여되어 있다. 이 블록은 소거를 할 때에 소거 단위가 된다. 또한, 각 블록은, 8kbyte의 기억 용량을 갖고, 528byte마다 16개의 페이지로 구분되어 있다. 그리고, 각 페이지는 선두를 1로 하여 이후 16까지 순서대로 페이지 번호가 부여되어 있다. 이 페이지는, 파일 관리부(13)로부터 기입을 행할 때에 기입 단위가 된다. 또한, 각 페이지는 선두로부터 512byte까지 배치되어, 파일을 저장하는 데이터 영역과, 데이터 영역에 이어서 해당 페이지의 말미까지의 16byte로 배치되어, 파일 관리부(13)로부터 데이터 영역을 갱신할 때에, 그 처리 결과 등의 정보가 부가되는 용장 영역으로 구성되어 있다.또, 본 발명은 파일 플래시(11)의 용량 및 블록 수를 한정하는 것이 아니라, 임의의 용량으로 할 수 있다. 파일 플래시(11)의 용량은 저장하는 파일의 사이즈 등에 근거해서 결정하는 것이 바람직하다.
또한, 도 3에 도시된 바와 같이 파일 플래시(11)의 선두로부터, 해당 파일 플래시(11)에 유지하고 있는 파일의 관리 정보를 저장하는 정보 관리 영역(11I)이 배치되어 있고, 데이터 파일 영역(11D)의 다음에, 정보 처리 장치(100)를 동작시키는 프로그램 등의 각종 실행 파일이나, 기기의 동작 중에 발생하는 각종의 데이터 파일을 저장하는 데이터 파일 영역(11D)이 배치되어 있다. 여기서, 정보 관리 영역(11I) 및 데이터 파일 영역(11D)이 갖는 각 블록의 각 페이지는, 각각 512byte의 데이터 영역과, 16byte의 용장 영역으로 구성되어 있고, 프로그램 파일이나 데이터 파일은 데이터 영역에 저장되는 것이다.
파일 플래시(11)에 저장되어 있는 파일에는, 각 파일을 식별하는 파일 ID가 부여되어 있다. 이 파일 ID는 4자리수의 16진 표기의 숫자로 이루어져 해당 숫자에 의해 파일의 속성을 규정한 것이라도 좋고, 예컨대, 최상위로부터 3자리수째까지가 0인 것은, 정보 관리 영역(11I)에 저장되는 관리 정보의 파일인 것을 나타내며, 최상위로부터 3자리수째까지가 0이 아닌 것은, 데이터 파일 영역(11D)에 저장되는 프로그램 파일이나 데이터 파일인 것을 도시된 바와 같이 하더라도 좋다. 이 경우, 관리 정보의 파일 ID는, 0000h에서 000Fh까지이며, 오리지널 관리 정보 Io에 파일 ID=0000h가 부여되고, 백업 관리 정보 Ib에 파일 ID=0001h가 부여된다. 그리고, 프로그램 파일 및 데이터 파일의 파일 ID는, 0010h보다 큰 숫자이며, 파일 1∼파일 3의 3개의 파일을 갖는 경우, 파일 1에 파일 ID=0010h가 부여되고, 파일 2에 파일 lD=0011h가 부여되며, 파일 3에 파일 ID=0012h가 부여된다.
정보 관리 영역(11I)은, 블록 1에 데이터 파일 영역(11D)에 저장되어 있는 파일에 관한 관리 정보를 기술한 오리지널 관리 정보 Io(제 1 관리 정보)가 배치되고, 블록 2에 오리지널 관리 정보 Io에 불량이 발생했을 때를 위한 백업이며, 오리지널 관리 정보 Io와 동일한 데이터를 갖는 백업 관리 정보 Ib(제 2 관리 정보)가 배치되어 있다. 그리고, 정보 관리 영역(11I)으로서 3 블록 이상의 블록이 할당되고 있는 경우, 블록 3으로부터 최종 블록까지는, 데이터를 저장하지 않는 빈 블록이 된다. 이 빈 블록은, 블록 1 및 블록 2에 불량이 발생한 때에, 오리지널 관리 정보 Io나 백업 관리 정보 Ib를 저장하기 위해서 이용한다.
오리지널 관리 정보 Io 및 백업 관리 정보 Ib는, 선두로부터 데이터 파일 영역(11D)에 저장되어 있는 파일수에 관한 파일수 정보 Icnt가 배치되고, 이것에 이어서, 데이터 파일 영역(11D)에 저장되어 있는 각 파일의 파일명이나 파일 크기 등의 정보를 갖는 파일 관리 정보 If가 배치되며, 이것에 이어서, 복수의 블록으로 분할하여 저장되어 있는 파일의 일련의 흐름을 복원 가능하게 하는 블록맵 Imap이 배치되어 있다.
여기서, 파일 관리 정보 If는, 파일 플래시(11)에 저장되어 있는 각 파일의 정보를 기술한 것이며, n(n은 1 이상의 정수)개의 각 파일에 대하여 일정 용량씩 할당된 파일 정보 If1∼Ifn을 갖는다. 이 파일 관리 정보 If는, 데이터 파일 영역(11D)에 저장 가능한 파일수만큼의 데이터 용량을 확보하고 있고, 데이터 파일영역(11D)에 저장되어 있는 파일수가 저장 가능한 파일수 이하인 경우, 잉여 영역은 데이터가 저장되어 있지 않은 빈 영역이 된다.
또한, 각 파일 정보 If1∼Ifn은, 대응하는 파일의 ID와, 스타트 블록 번호와, 파일 size와, 파일명과,를 나타내는 정보를 갖는다. ID는, 예컨대「ID=XXXXh」의 형식으로 기술된 파일 ID이며, 스타트 블록 번호는 그 파일의 선두가 저장되어 있는 블록의 블록 번호이다. 그 ID에 파일이 할당되어 있지 않은 경우, 스타트 블록 번호를「FFFFh」라고 하여, 파일명을 공백으로 하도록 규정하더라도 좋다. 이 경우, 재기입 시 등에 해당 ID에 파일이 할당하면, 스타트 블록 번호, 및 파일명이 기술된다.
이 파일 플래시(11)에서는, 파일을 블록 단위로 관리하고 있기 때문에, 하나의 파일을 분할하여, 앞뒤가 접하지 않는 복수의 블록으로 저장하는 것도 있다. 블록맵 Imap은, 이러한 경우에도, 분할된 파일의 소재를 명확히 하여, 파일의 일련의 흐름을 복원할 수 있게 하기 위한 것이며, 파일 플래시(11)가 갖는 1024개의 각 블록에 대하여 일정 용량씩 할당된 블록 정보 Imap1∼블록 정보 Imap1024를 갖는다.
그리고, 블록 정보 Imap1∼블록 정보 Imap1024는, 해당 블록에 저장되어 있는 파일의 ID와, 그 파일의 앞 부분이 저장되어 있는 앞 블록 번호와, 그 파일의 뒷 부분이 저장되어 있는 다음 블록 번호를 나타내는 정보를 갖는다. ID에는, 해당 블록에 파일이 저장되어 있는 경우에, 그 파일의 파일 ID가 기술된다. 해당 블록에 파일이 저장되어 있지 않은 경우에는, 그 블록의 상태가 플래그에 의해 표시된다.예컨대, 불량이 있는 블록의 ID를 「FEEEh」라고 하고, 기입되어 있지 않은 미사용 블록의 ID를 「FFFFh」라고 하더라도 좋다. 앞 블록 번호에는, 해당 블록이 파일의 도중부(途中部)를 저장하고 있는 경우, 그 앞 부분을 저장하고 있는 블록 번호를 기술한다. 또한, 파일의 선두부를 저장하는 블록 및 미사용 블록의, 앞 블록 번호를, 「FFFFh」라고 하더라도 좋다. 한편, 다음 블록 번호에는, 해당 블록이 파일의 도중부를 저장하고 있는 경우, 그 다음 부분을 저장하고 있는 블록 번호를 기술한다. 또한, 파일의 최후부를 저장하는 블록 및 미사용 블록의 다음 블록 번호를, 「FFFFh」라고 하더라도 좋다.
도 4에 도시된 바와 같이, 용장 영역은 각 페이지의 선두로부터 512byte를 차지하는 데이터 영역에 이어서 배치되어, 데이터 영역에 대하여 소거나 기입을 행할 때에, 그 처리 결과 등의 정보를 부가하는 16byte의 영역이다. 이 용장 영역에는, 데이터 영역의 갱신 처리 상태를 표시하는 모드 RBmod와, 해당 블록의 데이터 영역의 갱신 처리에 있어서 불량이 발생했는지 여부를 표시하는 유효성 정보 RBval과, 해당 블록이 사용되고 있는지 아닌지를 표시하는 블록 기입 상태 RBwr과, 해당 블록이 불량이 있는 불량 블록인지의 여부를 표시하는 블록 양호 불량 정보 RBbd와, 해당 페이지가 사용되고 있는지의 여부를 표시하는 페이지 기입 상태 RPwr과, 해당 페이지의 데이터 영역의 ECC(Error Correction Code : 에러 정정 부호(ECC)) 데이터를 저장하는 ECC 정보 RPecc가 할당되어 있다. 또한 용장 영역은 데이터를 저장하지 않은 빈 영역을 갖는다. 여기서, 블록 기입 상태 RBwr 및 페이지 기입 상태 RPwr는, 청구의 범위에 기술한 기입 종료 표시 영역에 상당하는 것이다.
모드 RBmod는, 해당 블록의 데이터 영역의 내용을 갱신할 때에, 그 블록에 대한 소거 및 기입 처리 상태를 나타내는 플래그이며, 오리지널 관리 정보 Io 또는 백업 관리 정보 Ib가 소거중인 상태를「FFFFh」, 오리지널 관리 정보 Io 또는 백업 관리 정보 Ib가 갱신 중(신 파일 작성 중)인 상태를「FFF0h」, 데이터 파일 영역(11D)에 새로운 파일이 기입중인 상태를「FF00h」, 데이터 파일 영역(11D)의 옛 파일이 소거중인 상태를「F000h」, 데이터 갱신이 정상적으로 종료된 상태나 갱신이 발생하지 않는 상태를 「0000h」로서 정의하고 있다. 이 모드 RBmod는, 각 블록의 1 페이지∼3 페이지, 또는 1 페이지의 용장 영역에 부가된다.
유효성 정보 RBva1은, 해당 블록의 데이터 영역에서의 소거, 기입 시에, 불량 블록(사용할 수 없는 블록)이 발생했는지 여부를 나타내는 플래그이며, 불량 블록이 발생하지 않는 상태를「FFh」, 새로운 파일의 소거나 기입 처리 시에 불량 블록이 발생한 상태를「F0h」,옛 파일의 소거나 기입 처리 시에 불량 블록이 발생한 상태를「0Fh」로서 정의하고 있다. 이 유효성 정보 RBva1은, 각 블록의 1 페이지∼3 페이지의 용장 영역에 부가된다.
블록 기입 상태 RBwr는, 해당 블록이 사용되고 있는지의 여부를 나타내는 플래그이며, 해당 블록이 미사용인 상태를「FFh」, 해당 블록이 사용되고 있는 상태(기입이 종료되어 있는 상태)를「0 0h」로서 정의하고 있다. 이 블록 기입 상태 RBwr는, 각 블록의 1 페이지∼3 페이지, 또는 1 페이지의 용장 영역에 부가된다.
블록 양호 불량 정보 RBbd는, 해당 블록이 불량 블록(사용할 수 없는 블록)인지 여부를 나타내는 플래그이며, 불량 블록이 아닌 상태를「FFh」, 불량 블록인상태를「00h」로서 정의하고 있다. 이 블록 양호 불량 정보 RBbd는, 각 블록의 1 페이지∼3 페이지, 또는 1 페이지의 용장 영역에 부가된다.
페이지 기입 상태 RPwr는, 해당 페이지가 사용되고 있는지의 여부를 나타내는 플래그이며, 해당 페이지가 미사용인 상태를「FFh」, 해당 페이지가 사용되고 있는 상태(기입이 종료되어 있는 상태)를「00h」로서 정의하고 있다. 이 페이지 기입 상태 RPwr는, 각 페이지의 용장 영역에 부가된다.
또, 본 발명은, 용장 영역의 각 영역에 부가되는 플래그를 한정하는 것이 아니라, 각 상태를 임의의 플래그로 정의할 수 있다.
파일 관리부(13)는, 기동 시에, 부트 플래시(15)를 판독하여, 부트 프로그램에 근거해서 파일 플래시(11)에 저장되어 있는 파일을 워크 메모리(14)에 저장한다. 워크 메모리(14)의 파일이 갱신되면, 파일 관리부(13)는 파일 플래시(11)의 파일을 갱신하기 위한 신 관리 정보를 생성하여, 해당 신 관리 정보에 근거해서 갱신된 파일을 파일 플래시(11)에 기입하고, 구 파일을 소거하여, 신 관리 정보의 내용에 따라 파일 플래시(11)의 오리지널 관리 정보 Io 및 백업 관리 정보 Ib를 갱신한다. 또한, 정보 처리부(30)의 명령에 따라서, 파일을 파일 플래시(11)로부터 소거하기 위한 신 관리 정보를 생성하고, 해당 신 관리 정보에 근거해서 파일 플래시(11)의 파일을 소거하여, 신 관리 정보의 내용에 따라 파일 플래시(11)의 오리지널 관리 정보 Io 및 백업 관리 정보 Ib를 갱신한다. 또한, 워크 메모리(14)에 신 파일이 생성되면, 그 파일을 파일 플래시(11)에 기입하기 위한 신 관리 정보를 생성하고, 해당 신 관리 정보에 근거해서 파일을 파일 플래시(11)에 기입하여, 신관리 정보의 내용에 따라 파일 플래시(11)의 오리지널 관리 정보 Io 및 백업 관리 정보 Ib를 갱신한다. 또한 파일 관리부(13)는, 파일 플래시(11)의 파일이나 블록, 페이지의 상태를, 용장 영역에 표시되어 있는 값에 근거해서 판정한다. 이 파일 관리부(13)는, 청구의 범위에 기술한 파일 관리 수단, 관리 정보 생성 수단, 제 1 관리 정보 갱신 수단, 기억 처리 수단, 제 2 관리 정보 갱신 수단, 및 표시값 취득 수단을 포함하는 것이다.
워크 메모리(14)는, SDRAM(Synchronous Dynamic Random Access Memory)으로 이루어져, 기동 시에 파일 관리부(13)로부터 공급되는 오리지널 관리 정보 Io 및 백업 관리 정보 Ib 등의 파일을 저장한다. 이하, 워크 메모리(14)에 저장되어 있는 오리지널 관리 정보 Io를, 관리 정보 Iw로서 설명한다. 또한, 파일 관리부(13) 및 정보 처리부(30)는, 워크 메모리(14)을 거쳐서 데이터의 주고받는다.
부트 플래시(15)는, 기동 시의 정보 처리 장치(100)의 처리를 정한 부트 프로그램을 저장하고 있다. 여기서, 부트 프로그램은 기동 시, 파일 관리부(13)가 파일 플래시(11)를 이용할 수 있도록 하는 순서와, 파일 관리부(13)가 정보 관리 영역(11I)의 데이터를 워크 메모리(14)에 판독하는 순서와, 관리 정보 Iw의 기술에 따라서, 데이터 파일 영역(11D)에 저장되어 있는 모든 파일을 워크 메모리(14)에 판독하는 순서와, 전송된 프로그램을 정보 처리부(30)가 선두로부터 판독하는 순서를 정한 것이다.
다음에, 이와 같이 구성되는 메모리 관리 장치(10)에서의 파일 플래시(11)에 대한 파일의 소거, 기입, 판독 방법을 설명한다.
우선, 파일 플래시(11)에 기입되어 있는 파일을 소거하는 방법을 설명한다.
파일 플래시(11)의 소거 단위는 블록이며, 소거 시에는 1 블록마다 그 내용을 소거하는 블록 소거를 한다. 이러한 블록 소거 방법을 설명한다. 도 7은 블록 소거 방법을 설명하는 흐름도이다.
블록 소거를 할 때, 파일 관리부(13)는 소거하는 블록의 블록 번호를 지정하여, 블록 소거 명령을 발행한다(단계 S11).
그러면, 파일 플래시(11)는 파일 관리부(13)로부터 지정된 블록의 내용을 소거한다(단계 S12).
다음에, 파일 관리부(13)는 파일 플래시(11)로부터 반환되는 오류 코드에 의해, 소거가 정상으로 종료했는지 여부를 판단한다(단계 S13).
소거가 성공한 경우에는, 그 블록의 용장 영역에 정상 블록인 것을 등록한다. 또, 소거된 비트는「1」로 되어 있기 때문에, 소거한 블록이 정보 관리 영역(11I)의 블록인 경우, 모드 RBmod는 블록의 소거가 정상 종료된 것을 표시하는 것으로 되어 있다. 마찬가지로, 유효성 RBva1은 정상 블록인 것을 표시하고, 블록 불량 정보 RBbd는 그 블록이 불량 블록이 아닌 것을 표시하고, 페이지 기입 상태 RPwr는 그 블록이 미사용인 것을 표시하고 있기 때문에, 이 단계에서는 특별한 기입은 실행하지 않는다(단계 S14).
한편, 소거에 실패한 경우에는 그 블록의 용장 영역에 불량 블록인 것을 등록한다. 즉, 유효성 정보 Rval에, 옛 파일의 소거 처리 시에 블량 블록이 발생된 것을 나타내는 「0Fh」를 기술하고, 블록 불량 정보 RBbd에 불량 불록인 것을 나타내는 정보를 기술한다(단계 S15).
다음에, 이와 같은 블록 소거에 의해서 파일 플래시(11)의 파일을 소거하는 방법을 설명한다. 도 8은 파일 소거 방법을 설명하는 흐름도이다.
파일을 소거할 때, 파일 관리부(13)는 소거 대상으로 되는 블록의 블록 번호 또는 소거하는 파일의 파일 ID를 인식하고 있기 때문에, 우선 파일 관리부(13)는, 소거할 블록 번호를 인식하고 있는지의 여부, 즉, 소거 대상의 블록 번호를 파일 플래시(11)에 대해서 지정 가능한지의 여부를 판단한다. 소거 대상의 블록 번호를 인식하고 있는 경우, 단계 S23으로 이행한다(단계 S21).
소거 대상의 블록 번호를 인식하고 있지 않은 경우, 파일 관리부(13)는 워크 메모리(14)에 갖는 관리 정보 Iw의 파일 관리 정보 If를 검색하여, 소거할 파일의 파일 ID를 갖는 파일 정보로부터, 그 파일의 선두가 저장되어 있는 스타트 블록 번호를 취득한다(단계 S22).
소거 대상의 블록 번호를 얻으면, 해당하는 블록에 대한 블록 소거를 행한다. 이 블록 소거는, 상술한 단계 S11∼S15에 의해서 행해진다(단계 S23).
다음에, 파일 관리부(13)는 블록 소거가 정상적으로 종료되었지 여부를 판단하여, 정상적으로 종료된 경우에는, 단계 S26으로 이행한다(단계 S24). 블록 소거에 실패한 경우, 파일 관리부(13)는 워크 메모리(14)에 갖는 관리 정보 Iw의 블록맵 Imap에, 불량 블록, 즉 사용할 수 없게 된 사용 금지 블록인 것을 등록한다. 예컨대, 블록 BN의 소거에 실패한 경우, 블록 정보 ImapBN의 ID에 「FEEEh」가 기술된다. 이 때, 관리 정보 Iw는 사용 금지 블록이 등록된 시정용 관리 정보로 되어있다(단계 S25).
단계 S24에서, 블록 소거가 정상적으로 종료되어 있다고 판단된 경우, 파일 관리부(13)는 블록맵 Imap으로부터, 소거하고 있는 파일의 다음 부분이 저장되어 있는 블록 번호를 취득한다. 예컨대, 블록 BN을 소거한 경우, 블록 정보 ImapBN으로부터, 다음 블록 번호를 취득한다(단계 S26).
그리고, 파일 관리부(13)는, 취득한 다음 블록 번호에 의해, 단계 S23에서 소거한 블록이 파일 종단의 블록 또는 미사용 블록인지 판단하여, 종단의 블록 또는 미사용 블록인 경우 처리를 종료한다. 한편, 종단의 블록 또는 미사용 블록이 아닌 경우 단계 S23으로 되돌아가, 블록을 소거한다(단계 S27).
이하, 이 단계 S21∼단계 S27을 파일 소거 흐름 F1라 칭한다.
다음에, 파일 플래시(11)에 파일을 기입하는 방법을 설명한다.
파일 플래시(11)의 기입 단위는 페이지이며, 기입 시에는 데이터를 1 페이지마다 기입 페이지를 기입한다. 이와 같은 페이지 기입 방법을 설명한다. 도 9는 페이지 기입 방법을 설명하는 흐름도이다.
페이지 기입을 행할 때, 파일 관리부(13)는 기입하는 블록과 페이지를 지정한 페이지 기입 명령을 플래시 I/F(12)에 발행한다. 그리고, 워크 메모리(14)에 갖는 파일의 데이터나 파일 ID를 출력한다(단계 S31).
페이지 기입을 명령받으면, 플래시 I/F(12)는 파일 플래시(11)의 지정된 페이지를 기입 가능한 상태로 하고, 계속해서 파일 관리부(13)로부터 입력되는 기입 데이터를 시리얼로 파일 플래시(11)에 출력한다. 그러면, 파일 플래시(11)는 플래시 I/F(12)로부터 입력되는 데이터를 파일 관리부(13)로부터 지정된 페이지에 기입한다(단계 S32).
다음에, 파일 관리부(13)는 파일 플래시(11)로부터 반환되는 에러 코드에 의해, 기입이 정상적으로 종료되었는지의 여부를 판단한다(단계 S33).
기입에 성공한 경우에는, 그 블록의 용장 영역에 블록과 페이지가 사용중인 것을 등록한다. 즉, 블록 기입 정보 RBwr와 페이지 기입 상태 RPwr에, 기입이 이루어져 있는 것을 나타내는 「00h」를 기술한다(단계 S34).
한편, 기입에 실패한 경우에는, 그 블록의 용장 영역에 불량 블록인 것을 등록한다. 즉, 유효성 정보 RBval에 파일 기입 시에 불량 블록이 발생된 것을 나타내는 「F0h」또는 「0Fh」를 기술하여, 블록 양호 불량 정보 RBbd에, 불량 블록인 것을 나타내는 정보를 기술한다(단계 S35).
다음에, 이와 같은 페이지 기입에 의해, 파일을 파일 플래시(11D)에 기입하는 방법을 설명한다. 도 10은 파일의 기입 방법을 설명하는 흐름도이다.
파일을 기입할 때, 파일 관리부(13)는 워크 메모리(14)에 갖는 관리 정보 Iw의 파일 관리 정보 If를 검색하여, 기입할 파일의 파일 ID를 갖는 파일 정보로부터, 그 파일의 선두부의 기입 대상으로 되는 스타트 블록 번호를 취득한다(단계 S41).
다음에 파일 관리부(13)는 기입 대상의 페이지 번호를 저장하는 변수에 0을 대입한다(단계 S42).
기입 대상의 블록 번호와 페이지 번호를 얻으면, 해당하는 페이지에 대한 페이지 기입을 실행한다. 이 페이지 기입은 상술한 단계 S31∼S35에 의해서 실행한다(단계 S43).
다음에, 파일 관리부(13)는 페이지 기입이 정상적으로 종료되었는지 판단하여, 기입에 실패한 경우에는 단계 S49로 이행한다(단계 S44).
페이지 기입에 성공한 경우, 다음 페이지의 기입을 위한 페이지 번호 변수를 1 가산한다(단계 S45).
그리고, 파일 관리부(13)는 모든 데이터의 기입이 종료되었는지 판단하여, 데이터가 종료된 경우에는 처리를 종료한다(단계 S46).
데이터가 종료되지 않은 경우, 파일 관리부(13)는 페이지 번호 변수에 근거해서, 그 블록은 최종 페이지까지 기입되었는지 판단한다. 최종 페이지까지 기입되어 있지 않은 경우에는 단계 S43으로 되돌아가, 다음 페이지에 대한 기입을 행한다(단계 S47).
최종 페이지까지 기입한 경우, 파일 관리부(13)는, 블록맵 Imap으로부터, 기입을 하고 있는 파일의 다음 부분을 저장할 블록 번호를 취득한다. 예컨대, 블록 BN에 기입한 경우, 블록 정보 ImapBN으로부터 다음 블록 번호를 취득한다. 그리고 단계 S42으로 되돌아가, 다음 블록에 대한 기입을 행한다(단계 S48).
한편, 단계 S44에서 페이지 기입에 실패했다고 판단한 경우, 그 블록에 대한 기입을 정지하고, 파일 관리부(13)는 워크 메모리(14)에 갖는 관리 정보 Iw의 블록맵 Imap에 불량 블록인 것을 등록한다. 예컨대, 블록 BN의 기입에 실패한 경우, 블록 정보 ImapBN의 ID에 「FEEEh」가 기술된다(단계 S49).
여기서, 파일 관리부(13)는, 기입에 실패한 파일이 오리지널 관리 정보 Io 또는 백업 관리 정보 Ib인지 판단하여, 오리지널 관리 정보 Io 또는 백업 관리 정보 Ib의 기입에 실패한 경우, 처리를 종료한다. 또, 오리지널 관리 정보 Io 및 백업 관리 정보 Ib의 기입에 실패한 경우의 복구 처리에 대해서는 후술한다(단계 S50).
기입에 실패한 파일이 오리지널 관리 정보 Io 또는 백업 관리 정보 Ib가 아닌 경우, 대체 블록에 대한 기입을 행하기 위해서, 기입이 이루어지지 않은 빈 블록을 검색한다. 파일 관리부(13)는 워크 메모리(14)에 갖는 관리 정보 Iw의 블록맵 Imap을 검색하여, 파일 ID가 미사용(FFFFh)으로 되어있는 블록 정보를 취득한다. 그리고, 취득한 블록 정보에 기입하고 있는 파일의 파일 ID를 등록하여, 그 블록을 기입에 실패한 파일을 기입할 대체 블록으로서 확보한다(단계 S51).
그리고, 기입한 페이지수만큼 파일의 데이터 위치를 되돌려, 단계 S42로 되돌아가, 단계 S51에서 확보한 블록의 선두 페이지로부터 기입을 다시 행한다(단계 S52).
이하, 이 단계 S41∼단계 S52를 파일 기입 흐름 F2라 칭한다.
다음에, 파일 플래시(11)로부터 파일을 판독하는 방법을 설명한다.
파일 플래시(11)의 판독 단위는 페이지이며, 파일 관리부(13)는 데이터를 1 페이지마다 판독하는 페이지 판독을 행한다. 이와 같은 페이지 판독 방법을 설명한다. 도 11은 페이지 판독 방법을 설명하는 흐름도이다.
페이지 판독을 행할 때, 파일 관리부(13)는 판독을 행하는 블록과 페이지를지정하여, 그 페이지를 판독하는 명령을 버스(16)를 거쳐서 플래시 I/F(12)에 출력한다(단계 S61).
그러면, 플래시 I/F(12)는 파일 플래시(11)의 지정된 페이지에 저장되어 있는 데이터를 시리얼로 판독하여, 버스(16)를 거쳐서 파일 관리부(13)에 출력한다(단계 S62).
판독한 데이터에 오류가 있는 경우, ECC에 의해 오류 정정을 행한다(단계 S63).
다음에, 이와 같은 페이지 판독에 의해, 파일 플래시(11)로부터 파일을 판독하는 방법을 설명한다. 도 12는 파일 판독 방법을 설명하는 흐름도이다.
파일을 판독할 때, 파일 관리부(13)는 워크 메모리(14)에 갖는 관리 정보 Iw의 파일 관리 정보 If를 검색하여, 판독할 파일의 파일 ID를 갖는 파일 정보로부터, 그 파일의 선두가 저장되어 있는 스타트 블록 번호를 취득한다(단계 S71).
다음에, 파일 관리부(13)는 판독 대상의 페이지 번호를 저장하는 변수에 0을 대입한다(단계 S72).
판독 대상의 블록 번호와 페이지 번호를 얻으면, 해당하는 페이지에 대한 페이지 판독을 실행한다. 이 페이지 판독은 상술한 단계 S61∼S63에 의해서 실행한다(단계 S73).
페이지의 판독이 종료되면 다음 페이지의 판독을 위해 페이지 번호 변수를 1 가산한다(단계 S74).
그리고, 파일 관리부(13)는 판독 파일의 파일 정보 Ifn의 파일 관리 정보에근거해서, 모든 데이터의 판독이 종료되었는 지를 판단한다. 그리고, 데이터가 종료된 경우에는 처리를 종료한다(단계 S75).
데이터가 종료되지 않는 경우, 파일 관리부(13)는 페이지 번호 변수에 근거해서, 그 블록의 최종 페이지까지의 데이터를 판독했는지 판단한다. 최종 페이지까지 판독되지 않은 경우에는 단계 S73으로 되돌아가, 다음 페이지에 대한 판독을 행한다(단계 S76).
최종 페이지까지 판독한 경우, 파일 관리부(13)는 판독한 데이터에 ECC 오류가 있는지 판정하여, ECC 오류가 없는 경우 단계 S79로 이행한다(단계 S77).
판독한 데이터에 ECC 오류가 있는 경우, 오류가 발생하고 있는 블록의 데이터를 소거하고, 다른 블록에 기입하기 위해서, 파일 관리부(13)는, 우선, 파일 플래시(11)의 오리지널 관리 정보 Io가 저장되어 있는 블록의 모드 RBmod에 「FFF0h」를 기입하고, 오리지널 관리 정보 Io가 갱신중인 것을 표시한다(단계 S78-l).
다음에, 워크 메모리(14)에 갖는 관리 정보 Iw의 블록맵 Imap을 검색하여, ID가 미사용으로 되어있는 빈 블록의 블록 정보를 취득한다. 그리고, 취득한 블록 정보의 ID에 파일 ID를 등록하고, 이 블록 정보에 의해서 관리되어 있는 블록을 ECC 오류가 발생하고 있는 블록의 데이터를 저장하는 블록으로서 확보한다. 또한, 이 블록에 저장하는 것이 파일의 일 부분인 경우, 앞 블록 번호나 다음 블록 번호를 기술한다. 또한, 파일 관리부(13)는 ECC 오류가 발생하고 있는 블록, 즉 데이터를 소거하는 블록의 블록맵으로부터, ID와, 앞 블록 번호와, 뒤 블록 번호를 소거한다. 이 때, 관리 정보 Iw는, 오류를 갖는 블록의 정보가 소거되고, 새로운 데이터를 기입할 블록의 정보가 추가된 신 관리 정보 Iw'로 되어 있다(단계 S78-2).
빈 블록을 확보하면, 파일 관리부(13)는 해당 확보한 블록에 판독한 블록의 데이터를 기입한다. 이 기입은 상술한 단계 S42∼S47, 단계 S49∼52에 의해 실행한다(단계 S78-3).
다음에 파일 관리부(13)는 오리지널 관리 정보 Io 및 백업 관리 정보 Ib를 갱신한다. 즉, 오리지널 관리 정보 Io를 소거하고, 소거한 블록에 신 관리 정보 Iw'를 기입한 후, 백업 관리 정보 Ib를 소거하여, 소거한 블록에 신 관리 정보 Iw'를 기입한다. 이 오리지널 관리 정보 Io 및 백업 관리 정보 Ib를 갱신하는 방법은 후에 상술한다(단계 S78-4).
그리고, 파일 관리부(13)는 ECC 오류가 발생하고 있는 블록의 데이터를 소거한다. 이 블록 소거는 상술한 단계 S11∼단계 S15에 의해 실행한다(단계 S78-5).
이렇게 하여, 하나의 블록을 판독하면, 파일 관리부(13)는 블록맵 Imap으로부터, 파일의 다음 부분이 저장되어 있는 블록의 블록 번호를 취득한다. 예컨대, 블록 BN을 판독한 경우, 블록 정보 ImapBN으로부터 다음 블록 번호를 취득한다. 그리고 단계 S72로 되돌아가, 다음 블록에 대한 판독을 행한다(단계 S79).
이하, 이 단계 S71∼단계 S79를 파일 판독 흐름 F3이라 칭한다.
다음에, 정보 처리 장치(100)에 의한 정보 처리 방법, 및 메모리 관리 장치(10)에 의한 메모리 관리 방법을 설명한다.
우선, 정보 처리 장치(100)의 기동 시의 동작에 대하여 도면을 참조하면서 설명한다.
정보 처리 장치(100)에 전원이 투입되면, 정보 처리부(30)는 메모리 관리 장치(10)에 대하여 부트 플래시(15)의 판독을 지시한다. 그러면, 파일 관리부(13)는 부트 플래시(15)에 저장되어 있는 부트 프로그램을 판독하여, 부트 처리를 실행한다. 도 13은 메모리 관리 장치(10)에 의한 부트 처리를 설명하는 흐름도이다.
우선 파일 관리부(13)는, 파일 판독 흐름 F3에 의해 파일 플래시(11)의 오리지널 관리 정보 Io를 워크 메모리(14)에 판독한다(단계 S1001).
다음에, 파일 관리부(13)는, 워크 메모리(14) 상에 판독한 관리 정보 Iw의 용장 영역의 모드 RBmod에 근거해서, 전회(前回) 파일 플래시(11)에 파일을 기입했을 때에, 그 처리가 정상적으로 종료되었는지 판단한다.
우선, 모드 RBmod에 기입되고 있는 16비트의 값을 4비트마다 구분하고, 각 4비트에 「0」이 기입되어 있는지 판단한다. 그리고, 4비트 중, 3비트 이상에 「0」이 기입되어 있는 경우, 그 4비트의 값을 「0h」로 하고, 3비트 이상에 「0」이 기입되어 있지 않은 경우, 그 4비트의 값을「Fh」로 하여, 모드 RBmod의 4치(値)를 판정한다. 또한, 모드 RBmod가 블록의 선두 페이지로부터 3 페이지까지의 소정의 비트 위치에 부가되어 있는 경우, 파일 관리부(13)는 각 페이지의 값을 판정한 뒤에, 이것들의 값을 다수결 판단한다. 예컨대, 도 5에 도시된 바와 같이 페이지 1의 값이「FF00h」, 페이지 2의 값이「FF0Fh」, 페이지 3의 값이「FF00h」인 경우, 각 페이지의 상위 4비트(R1)의 값은 전부 동일하며, R1의 값은「Fh」로 판정된다. 마찬가지로, 5비트째∼12비트째(R2, R3)도, 각 페이지의 값이 동일하기 때문에, R2의 값은「Fh」, R3의 값은「0h」로 판정된다. 하위의 4비트는, 페이지 1의 값이페이지 0 및 페이지 2와는 달라져 있기 때문에, 다수결 판단에 의해 R4의 값은 「0h」로 판정된다.
이러한 다수결 판단에 의해, 그 값이 판정된 모드 RBmod가 「0000h」인 경우, 파일 관리부(13)는, 데이터 갱신 처리가 정상적으로 종료되어 있다고 판단하여, 처리를 단계 S1008로 이행한다(단계 S1002).
전회(前回)의 데이터 갱신 처리가 정상적으로 종료하지 않은 경우, 파일 관리부(13)는, 오리지널 관리 정보 Io를 저장하고 있는 블록의 모드 RBmod에 근거해서, 오리지널 관리 정보 Io는 소거 도중 또는 갱신 도중인지, 또는, 데이터 파일 영역(11D)의 파일이 기입중인지 판단한다. 파일 관리부(13)는, 단계 S1002와 동일한 방법으로 다수결 판정하여 취득한 모드 RBmod의 값이「FFFFh」, 「FFF0h」, 「FF00h」 중 어느 것도 아닌 경우, 단계 S1006으로 이행한다(단계 S1003).
오리지널 관리 정보 Io는 소거 또는 갱신 도중, 또는, 데이터 파일 영역(11D)의 파일이 기입 중(신 파일 작성 중)인 경우, 백업 관리 정보 Ib를 오리지널 관리 정보로서 이용하기 위해서, 파일 플래시(11)로부터 워크 메모리(14)에 판독한다. 이 백업 관리 정보 Ib의 판독은, 파일 판독 흐름 F3에 의해서 실행한다(단계 S1004).
다음에, 파일 플래시(11)의 오리지널 관리 정보 Io가 저장되어 있는 블록에 단계 S1004에서 판독한 워크 메모리(14) 상의 백업 관리 정보 Ib(이하, 신 관리 정보 Iw')의 내용을 기입한다(단계 S1005).
파일 플래시(11)의 오리지널 관리 정보 Io를 갱신하는 방법을 도 15를 참조하면서 설명한다.
우선, 파일 관리부(13)는, 파일 플래시(11)의 오리지널 관리 정보 Io가 저장되어 있는 블록의 모드 RBmod를, 「FFFFh」로 하여, 오리지널 관리 정보 Io가 소거중인 것을 표시한다(단계 S81).
파일 관리부(13)는, 파일 소거 흐름 F1에 의해, 파일 플래시(11)의 오리지널 관리 정보 Io를 소거한다(단계 S82).
여기에서, 파일 플래시(11)의 오리지널 관리 정보 Io가 저장되어 있는 블록의 모드 RBmod에, 「FFF0h」를 기입하여, 오리지널 관리 정보가 갱신중인 것을 표시한다(단계 S83).
다음에, 파일 관리부(13)는 신 관리 정보 Iw'를 플래시 I/F(12)에 출력하여, 단계 S82에서 소거한 블록에 기입한다. 이 기입은, 파일 기입 흐름 F2에 의해서 실행한다(단계 S84).
파일을 기입하면, 파일 관리부(13)는 기입에 성공했는지 판단하여, 기입에 성공한 경우에는 관리 정보의 갱신 처리를 종료한다(단계 S85).
한편, 기입에 실패한 경우, 도 16에 나타낸 방법으로, 새로운 블록에 오리지널 관리 정보 Io를 기입한다(오리지널 관리 정보 치환)(단계 S86).
오리지널 관리 정보 Io를 치환할 때에는, 우선, 신 관리 정보 Iw'의 블록맵 Imap으로부터 빈 블록을 검색한다. 즉, 정보 관리 영역(11I)의 블록에 관한 블록 정보 Imap1∼Ima16중 ID가 미사용으로 되어있는 블록 정보를 취득한다. 이하, 빈 블록으로서, 블록 3이 검출되어, 블록 정보 Imap3을 취득한 것으로 하여 설명한다(단계 S91).
취득한 블록 정보 Imap3에 오리지널 관리 정보 Io의 파일 ID 「0000h」를 등록하여, 해당하는 블록 정보에 의해서 관리되고 있는 블록을 신 파일을 저장하는 블록으로서 확보한다(단계 S92).
여기에서, 오리지널 관리 정보 Io의 기입 대상으로 되는 파일 플래시(11)의 블록 3의 모드 RBmod에, 「FFF0h」를 기입하여, 오리지널 관리 정보가 갱신중인 것을 표시한다(단계 S93).
그리고, 블록 3에 워크 메모리 상의 신 관리 정보 Iw를 기입한다. 이 기입은, 파일 기입 흐름 F2에 의해서 실행한다(단계 S94).
블록 3에 대한 기입이 종료되면, 옛 오리지널 관리 정보 Io를 파일 소거 흐름 F1에 의해서 소거한다(단계 S95).
이하, 이 단계 S81∼단계 S86을 관리 정보 갱신 흐름 F4라 칭한다.
또, 여기서는, 오리지널 관리 정보 Io의 내용을 신 파일의 내용에 의해 갱신하는 방법을 설명했지만, 백업 관리 정보 Ib의 갱신도 이 관리 정보 갱신 흐름 F4에 의해서 실행한다. 또한, 파일 플래시(11)의 오리지널 관리 정보 Io와, 백업 관리 정보 Ib는 동일한 내용의 파일이며, 단계 S1007에서 오리지널 관리 정보 Io를 파일 플래시(11)로부터 판독한 백업 관리 정보 Ib에 의해 갱신한 경우에도, 갱신 전후에 파일의 내용은 변화되지 않는다.
단계 S1003에서, 오리지널 관리 정보 Io는 소거 및 갱신 도중이 아니라, 데이터 파일 영역(11D)의 파일이 기입중이 아니라고 판단된 경우, 전회(前回)의 오리지널 관리 정보 Io의 갱신은 정상적으로 종료하고 있는 것으로 되기 때문에, 파일 관리부(13)는 모드 RBmod에 근거해서 데이터 파일 영역(11D)의 파일이 기입 또는 소거 도중이 아닌지 판단한다. 파일 관리부(13)는, 단계 S1002와 동일한 방법으로 다수결 판정하여 취득한 모드 RBmod의 값이「F000h」또는「FF00h」인 경우, 데이터 파일 영역(11D)의 파일이 기입 또는 소거 도중이라고 판단한다. 여기서, 기입 또는 소거 도중이 아닌 경우, 단계 S1008로 이행한다(단계 S1006).
데이터 파일 영역(11D)의 파일이 기입 또는 소거 도중인 경우, 도 14에 나타내는 방법으로, 기입 또는 소거 도중의 파일을 파일 플래시(11)로부터 소거한다(단계 S1007).
기입 또는 소거 도중의 파일을 소거하는 경우, 파일 관리부(13)는, 관리 정보 Iw의 파일 정보 If1∼Ifn에 기술되어 있는 ID와 블록 정보 Imap1∼Imap1024에 등록되어 있는 ID를 비교하여, 파일 정보 If1∼Ifn에 등록되어 있지 않은 ID를 갖는 블록 정보를 검색한다(단계 S101).
다음에, 파일 관리부(13)는, 취득한 블록 정보에 기술되어 있는 앞 블록 번호에 근거해서, 그 블록 정보가 파일의 스타트 블록에 관한 것인지 판단한다. 앞 블록 번호에는, 스타트 블록인 경우「FFFFh」가 기술되고, 선두 블록이 아닌 경우 그 파일의 앞의 부분을 저장하고 있는 블록의 번호가 기술되어 있다. 단계 S101에서 블록 BN에 관한 블록 정보 ImapBN을 취득한 경우, 블록 정보 ImapBN의 앞 블록 번호가「FFFFh」이면, 블록 BN은 스타트 블록이다(단계 S102).
앞 블록 번호에 블록 번호가 기술되어 있던 경우, 그 블록의 블록 정보를 취득한다. 예컨대, 앞 블록 번호에 「BN-1」이 기술되어 있던 경우, 블록 정보 ImapBN-1을 취득하여, 단계 S102로 되돌아간다(단계 S103).
단계 S102에서 스타트 블록 번호를 취득하면, 파일 관리부(13)는 파일 소거 흐름 F1을 실행하여, 파일을 소거한다(단계 S104).
여기서, 모든 블록의 블록 정보에 등록되어 있는 ID에 대하여 검색한 경우, 처리를 종료한다. 미검색의 블록 정보가 남아 있는 경우, 단계 S101로 되돌아간다(단계 S105).
이렇게 하여 기입 또는 소거 도중의 파일을 소거하면, 단계 S1008로 이행한다.
오리지널 관리 정보 Io를 워크 메모리(14)에 판독하면, 파일 관리부(13)는 파일 판독 흐름 F3을 실행하여, 백업 관리 정보 Ib를 워크 메모리(14)에 판독한다(단계 S1008).
다음에, 파일 관리부(13)는, 백업 관리 정보 Ib를 저장하고 있는 블록의 모드 RBmod에 근거해서, 전회(前回) 파일 플래시(11)에 파일을 기입했을 때에, 그 처리가 정상적으로 종료했는지 판단한다. 파일 관리부(13)는, 단계 S1002와 동일한 방법으로 다수결 판정하여 취득한 모드 RBmod의 값이「0000h」인 경우, 데이터 갱신 처리가 정상적으로 종료되어 있다고 판단하여, 처리를 종료한다(단계 S1009).
한편, 단계 S1009에서 데이터 갱신 처리가 정상적으로 종료하지 않았다고 판단된 경우, 파일 관리부(13)는, 파일 플래시(11)의 백업 관리 정보 Ib가 저장되어 있는 블록에, 단계 S1001에서 판독한 워크 메모리(14) 상의 관리 정보 Iw의 내용을기입한다. 이 백업 관리 정보 Ib의 갱신은, 관리 정보 갱신 흐름 F4에 의해 실행한다(단계 S1010).
이렇게 하여 파일 플래시(11)의 오리지널 관리 정보 Io와 백업 관리 정보 Ib를 워크 메모리(14)에 판독하면, 파일 관리부(13)는, 관리 정보 Iw의 파일 관리 정보 If 및 블록맵 Imap의 기술에 따라서, 파일 플래시(11)의 데이터 파일 영역(11D)에 저장되어 있는 프로그램 파일이나 데이터 파일을 워크 메모리(14)에 전송한다. 즉, 파일 관리부(13)는, 파일 정보 If17∼파일 정보 Ifn에 기술되어 있는 각 파일에 대하여 판독 흐름 F2를 실행한다.
이 부트 처리가 종료되면, 정보 처리부(30)는 워크 메모리(14)에 전송된 프로그램을 선두로부터 판독하여, 프로그램의 처리를 실행한다.
정보 처리부(30)는, 프로그램의 실행에 따라 파일이 필요없게 되면, 파일 관리부(13)에 대하여, 파일 플래시(11) 상의 파일의 소거를 지시한다. 또한, 신 파일을 생성하면, 그 파일을 워크 메모리(14)에 출력하여, 파일 관리부(13)에 대하여 신 파일의 기입을 지시한다.
다음에, 정보 처리부(30)로부터 파일의 소거, 기입, 판독이 지시된 경우의 메모리 관리 장치(10)의 동작을 설명한다.
여기서는, 파일 플래시(11)의 데이터 파일 영역 llD에 저장되어 있는 파일 2를 파일 3으로 갱신하는 경우를 예로 들어 설명한다. 도 6은 파일 2를 파일 3으로 갱신하는 순서를 파일 플래시(11)의 상태마다 나타낸 도면이고, 도 17은 파일 2를 파일 3으로 갱신하는 방법을 설명하는 흐름도이다.
파일 갱신을 행하기 전(상태 1)의 파일 플래시(11)에는, 정보 관리 영역(11I)에 오리지널 관리 정보 Io와 백업 관리 정보 Ib가 저장되고, 데이터 파일 영역(11D)에 파일 1과 파일 2가 저장되어 있다. 또한, 워크 메모리(14)에는, 파일 플래시(11)에 저장되어 있는 오리지널 관리 정보 Io나 백업 관리 정보 Ib와 동일한 내용의 관리 정보 Iw가 저장되어 있다.
상태 2에서는, 워크 메모리(14) 상의 관리 정보 Iw가 갱신된다.
우선, 파일 관리부(13)는, 관리 정보 Iw를 복제하여, 워크 메모리(14)의 데이터를 갖고 있지 않은 영역에, 복제한 관리 정보 Iw를 퇴피시킨다(단계 S2001).
그리고, 도 18에 나타내는 방법으로, 파일 플래시(11)에 신 파일을 추가할 수 있는지 판단하여, 관리 정보 Iw에 신 파일의 파일 ID를 등록한다(단계 S2002).
신 파일의 추가가 가능한지 판단하기 위해서는, 우선, 관리 정보 Iw의 파일 관리 정보 If를 검색하여, ID가 미사용으로 되어 있는 파일 정보를 취득한다(단계 S111).
그리고, 취득한 파일 정보의 ID에, 추가하는 신 파일의 파일 ID를 등록하여, 이 파일 정보를 신 파일에 할당한다(단계 S112).
다음에, 관리 정보 Iw의 블록맵 Imap을 검색하여, ID가 미사용으로 되어 있는 빈 블록의 블록 정보를 취득한다(단계 S113).
그리고, 취득한 블록 정보의 ID에 신 파일의 파일 ID를 등록하여, 이 블록 정보에 의해서 관리되고 있는 블록을, 신 파일을 저장하는 블록으로서 확보한다. 또한, 이 블록에 저장하는 것이 파일의 일부분인 경우, 앞 블록 번호나 다음 블록번호를 기술한다(단계 S114).
여기서, 파일 관리부(13)는, 신 파일을 받아들이기 위해서 필요해지는 블록수의 블록을 확보했는지 판단하여, 필요한 수의 블록을 확보하지 못한 경우에는 단계 S113으로 되돌아간다. 한편, 필요한 수의 블록에 ID를 등록하면, 처리를 종료한다. 또한, 필요한 수의 블록을 확보하지 못했지만, 파일 플래시의 데이터 파일 영역(11D)에 빈 영역이 없고, 블록 정보 Imap1∼ 블록 정보 Imap1024의 모든 ID에 파일 ID가 등록되어 있는 경우도, 처리를 종료한다(단계 S115).
이렇게 하여, 신 파일을 추가할 수 있는 것을 판단하면 단계 S2004로 이행하고, 파일 플래시(11)에 신 파일을 추가할 수 없는 경우 처리를 종료한다(단계 S2003).
다음에, 관리 정보 Iw의, 소거하는 파일 2의 파일 정보 If2를 삭제한다. 또한, 기존의 파일에 새로운 파일을 오버라이트하는 경우에도, 오버라이트되는 파일의 파일 정보를 삭제한다.
파일 정보를 삭제하기 위해서는, 우선, 파일 관리부(13)는 파일 정보 If를 검색하여, 소거할 파일 2의 파일 ID를 갖는 파일 정보 If2를 취득한다. 그리고, 파일 정보 If2의 파일 ID와, 스타트 블록 번호와, 파일 사이즈와, 파일명을 소거한다. 다음에, 파일 관리부(13)는, 블록맵 Imap을 검색하여, 파일 2의 파일 ID가 기술되어 있는 블록의 블록 정보를 취득하면, ID를 미사용으로 설정한다. 예컨대, 블록 BN에 파일 2의 파일 ID가 기술되어 있는 경우, 블록 정보 ImapBN의 ID를 「FFFFh」로 한다. 파일은 복수의 블록에 걸쳐 저장되어 있는 경우도 있기 때문에, 블록맵 Imap이 갖는 모든 블록 정보로부터 파일 2의 파일 ID가 기술되어 있는 블록 정보를 검색하여, ID를 미사용으로 설정한다. 이 때, 관리 정보 Iw는, 파일 2에 관한 정보가 소거되고, 파일 3에 관한 정보가 추가된 신 관리 정보 Iw'로 되어있다. 이 상태가 도 6의「상태 2」이다(단계 S2004).
상태 3에서는, 오리지널 관리 정보 Io가 갱신된다. 즉, 파일 관리부(13)는 파일 플래지(11)의 오리지널 관리 정보 Io를 소거하고, 소거한 블록에 신 관리 정보 Iw'를 기입한다(도 6에는 갱신 후의 오리지널 관리 정보를 신 오리지널 관리 정보라 표기). 이 오리지널 관리 정보 Io의 갱신은 관리 정보 갱신 흐름 F4에 의해서 실행되고, 신 관리 정보 Iw'의 기입에 실패한 경우에는 별도의 블록에 대한 기입을 행한다(단계 S2005).
다음에, 워크 메모리(14)에 단계 S2002에서 등록한 파일 ID를 갖는 파일 3이 생성된다. 이 파일 3은 정보 처리부(30)가 생성하더라도 좋고, 정보 처리 장치(100)에 접속되어 있는 다른 기기(도시하지 않음)가 생성하더라도 좋다. 또한, 파일 3은 이 단계보다 앞 단계에서 생성되어도 좋다(단계 S2006).
상태 4에서는, 단계 S2006에서 생성된 파일 3이 파일 플래시(11)에 기입된다.
파일 관리부(13)는 파일 플래시(11)의 오리지널 관리 정보 Io를 저장하고 있는 블록의 모드 RBmod에 「FF00h」를 기입하여, 데이터 파일 영역(11D)에 파일을 기입중인 것을 나타낸다(단계 S2007).
모드 RBmod를 설정하면, 파일 관리부(13)은 파일 기입 흐름 F2를 실행하여,단계 S2002에서 등록된 블록에 근거해서 파일 3을 기입한다(단계 S2008).
다음에, 파일 관리부(13)는, 워크 메모리 상의 신 관리 정보 Iw'의 블록맵 Imap이 갱신되어 있는지 판단하여, 갱신되어 있지 않은 경우에는 단계 S2011로 이행한다. 블록맵 Imap이 변경되는 것은, 단계 S2008에서 기입에 실패하여, 불량 블록이 등록된 경우이다(단계 S2009).
블록맵 Imap이 갱신되어 있는 경우, 파일 관리부(13)는 파일 플래시(11)의 오리지널 관리 정보 Io를 소거하고, 소거한 블록에 갱신된 신 관리 정보 Iw'를 기입한다. 이 오리지널 관리 정보 Io의 갱신은 관리 정보 갱신 흐름 F4에 의해서 실행하고, 기입에 실패한 경우에는 별도의 블록에 대한 기입을 행한다(단계 S2010).
상태 5에서는, 파일 2가 소거된다.
파일 관리부(13)는, 파일 플래시(11)의 오리지널 관리 정보 Io를 저장하고 있는 블록의 모드 RBmod에 「F000h」를 기입하여, 데이터 파일 영역(11D)의 옛 파일이 소거중인 것을 표시한다(단계 S2011).
모드 RBmod를 설정하면, 파일 관리부(13)는 단계 S2001에서 퇴피시킨 관리 정보 Iw에 근거해서, 파일 2의 ID 또는 스타트 블록 번호를 취득하여 파일 2를 소거한다. 이 소거는, 파일 소거 흐름 F1에 의해 실행한다(단계 S2012).
다음에, 파일 관리부(13)는, 워크 메모리 상의 신 관리 정보 Iw'의 블록맵 Imap이 갱신되어 있는지 판단하여, 갱신되어 있지 않은 경우에는 단계 S2015로 이행한다. 여기서, 블록맵 Imap이 변경되는 것은 단계 S2012에서 소거에 실패하여, 불량 블록이 등록된 경우이다(단계 S2013).
블록맵 Imap이 갱신되어 있는 경우, 파일 관리부(13)는 파일 플래시(11)의 오리지널 관리 정보 Io를 소거하고, 소거한 블록에 갱신된 신 관리 정보 Iw' (단계 S25에서의 시정용 관리 정보)를 기입한다. 이 오리지널 관리 정보 Io의 갱신은, 관리 정보 갱신 흐름 F4에 의해서 실행하고, 기입에 실패한 경우에는 별도의 블록에 대한 기입을 행한다(단계 S2014).
상태 6에서는, 백업 관리 정보 Ib가 갱신된다. 즉, 파일 관리부(13)는 파일 플래시(11)의 백업 관리 정보 Ib를 소거하고, 소거한 블록에 신 관리 정보 Iw'를 기입한다(도 6에는 갱신 후의 백업 관리 정보를 신 백업 관리 정보로 표기). 이 백업 관리 정보 Ib의 갱신은, 관리 정보 갱신 흐름 F4에 의해서 실행하고, 신 관리 정보 Iw'의 기입에 실패한 경우에는 별도의 블록에 대한 기입을 행한다(단계 S2015).
백업 관리 정보 Ib의 갱신이 종료하면 단계 S2017로 이행하고, 갱신에 실패하면 처리를 종료한다(단계 S2016).
파일 2를 파일 3으로 갱신하는 처리가 모두 종료하면, 파일 관리부(13)는 오리지널 관리 정보 Io 및 백업 관리 정보 Ib를 저장하고 있는 블록의 모드 RBmod에 「0000h」를 기술하여, 데이터 갱신이 정상적으로 종료된 것을 표시한다(단계 S2017).
다음에, 파일 플래시(11)의 데이터 파일 영역(11D)에 저장되어 있는 파일을 소거하는 방법을, 파일 2를 소거하는 경우를 예로 들어 설명한다. 도 19는 파일을 소거하는 방법을 설명하는 흐름도이다.
파일 플래시(11)에 저장되어 있는 파일 2를 소거할 때에는, 우선, 파일 관리부(13)는 관리 정보 Iw를 복제하고, 워크 메모리(14)의 데이터를 갖고 있지 않은 영역에 복제한 관리 정보 Iw를 퇴피시킨다(단계 S2101).
다음에, 관리 정보 Iw의 소거할 파일 2의 파일 정보 If2를 삭제한다. 파일 관리부(13)는 소거할 파일 2의 파일 ID를 갖는 파일 정보 If2로부터, 파일 ID와, 스타트 블록 번호와, 파일 사이즈와, 파일명을 소거한다. 또한, 블록맵 Imap을 검색하여 파일 2의 파일 ID가 기술되어 있는 블록 정보를 취득하여, 그 블록맵의 ID를 미사용으로 설정한다. 이 때, 관리 정보 Iw는 파일 2에 관한 정보가 소거된 신 관리 정보 Iw'로 되어있다(단계 S2102).
파일 관리부(13)는 파일 플래시(11)의 오리지널 관리 정보 Io를 소거하고, 소거한 블록에 신 관리 정보 Iw'을 기입한다. 이 오리지널 관리 정보 Io의 갱신은, 관리 정보 갱신 흐름 F4에 의해서 실행하고, 신 관리 정보 Iw'의 기입에 실패한 경우에는 별도의 블록에 대한 기입을 행한다(단계 S2103).
그리고, 파일 관리부(13)는, 파일 플래시(11)의, 오리지널 관리 정보 Io를 저장하고 있는 블록의 모드 RBmod에 「F000h」를 기입하여, 데이터 파일 영역(11D)의 옛 파일이 소거중인 것을 표시한다(단계 S2104).
모드 RBmod를 설정하면, 파일 관리부(13)는 단계 S2101에서 퇴피시킨 관리 정보 Iw에 근거해서, 파일 2의 ID 또는 스타트 블록 번호를 취득하여, 파일 2를 소거한다. 이 소거는 파일 소거 흐름 F1에 의해 실행한다(단계 S2105).
다음에, 파일 관리부(13)는 워크 메모리 상의 신 관리 정보 Iw'의 블록맵Imap이 갱신되어 있는지 판단하여, 갱신되어 있지 않은 경우에는 단계 S2108로 이행한다. 여기서, 블록맵 Imap이 변경되는 것은 단계 S2105에서 소거에 실패하여 불량 블록이 등록된 경우이다(단계 S2106).
블록맵 Imap이 갱신되어 있는 경우, 파일 관리부(13)는 파일 플래시(11)의 오리지널 관리 정보 Io를 소거하고, 소거한 블록에 갱신된 신 관리 정보 Iw'(단계 S25에서의 시정용 관리 정보)를 기입한다. 이 오리지널 관리 정보 Io의 갱신은 관리 정보 갱신 흐름 F4에 의해서 실행하고, 기입에 실패한 경우에는 별도의 블록에 대한 기입을 행한다(단계 S2107).
다음에, 백업 관리 정보 Ib를 갱신한다. 즉, 파일 관리부(13)는 파일 플래시(11)의 백업 관리 정보 Ib를 소거하고, 소거한 블록에 신 관리 정보 Iw'를 기입한다. 이 백업 관리 정보 Ib의 갱신은, 관리 정보 갱신 흐름 F4에 의해서 실행하고, 신 관리 정보 Iw'의 기입에 실패한 경우에는 별도의 블록에 대한 기입을 행한다(단계 S2108).
백업 관리 정보 Ib의 갱신이 종료되면 단계 S2110으로 이행하고, 갱신에 실패하면 처리를 종료한다(단계 S2109).
파일 2를 소거하는 처리가 전부 종료하면, 파일 관리부(13)는, 오리지널 관리 정보 Io 및 백업 관리 정보 Ib를 저장되어 있는 블록의 모드 RBmod에, 「0000h」를 기술하여, 데이터 갱신이 정상적으로 종료된 것을 표시한다(단계 S2110).
다음에, 파일 플래시(11)의 데이터 파일 영역(11D)에 신 파일을 추가하는 방법을, 파일 2를 추가하는 경우를 예로 들어 설명한다. 도 20은 파일을 추가하는방법을 설명하는 흐름도이다.
파일 플래시(11)에 파일 2를 추가할 때에는, 우선, 워크 메모리(14) 상의 관리 정보 Iw에 신 파일의 파일 ID를 등록하고, 파일 플래시(11)에 신 파일을 추가할 수 있는지를 판단한다. 파일 관리부(13)는 관리 정보 Iw의 파일 관리 정보 If를 검색하여, ID가 미사용으로 되어있는 파일 정보를 취득한다. 그리고, 취득한 파일 정보의 ID에, 추가하는 신 파일의 파일 ID를 등록하여, 이 파일 정보를 신 파일에 할당한다. 또한, 블록맵 Imap을 검색하여, ID가 미사용으로 되어있는 빈 블록의 블록 정보를 취득한다. 그리고, 취득한 블록 정보의 ID에 신 파일의 파일 ID를 등록하여, 이 블록 정보에 의해서 관리되고 있는 블록을 신 파일을 저장하는 블록으로서 확보한다. 또한, 이 블록에 저장하는 것이 파일의 일 부분인 경우, 앞 블록 번호나 다음 블록 번호를 기술한다. 이 때, 관리 정보 Iw는, 추가하는 파일 2에 관한 정보가 기술된 신 관리 정보 Iw'로 되어 있다(단계 S2201).
이렇게 하여, 신 파일을 추가할 수 있는 것을 판단하면 단계 S2203으로 이행하고, 파일 플래시(11)에 신 파일을 추가할 수 없는 경우 처리를 종료한다(단계 S2202).
파일 관리부(13)는, 파일 플래시(11)의 오리지널 관리 정보 Io를 소거하고, 소거한 블록에 신 관리 정보 Iw'를 기입한다. 이 오리지널 관리 정보 Io의 갱신은, 관리 정보 갱신 흐름 F4에 의해서 실행하고, 신 관리 정보 Iw'의 기입에 실패한 경우에는, 별도의 블록에 대한 기입을 행한다(단계 S2203).
다음에, 워크 메모리(14)에 단계 S2001에서 등록한 파일 ID를 갖는 파일 2가생성된다. 이 파일 2는, 정보 처리부(30)가 생성하더라도 좋고, 정보 처리 장치(100)에 접속되어 있는 다른 기기(도시하지 않음)가 생성하더라도 좋다. 또한, 파일 2는 이 단계보다 앞의 단계에서 생성되더라도 좋다(단계 S2204).
파일 관리부(13)는, 파일 플래시(11)의 오리지널 관리 정보 Io를 저장하고 있는 블록의 모드 RBmod에 「FF00h」를 기입하여, 데이터 파일 영역(11D)에 파일을 기입중인 것을 표시한다(단계 S2205).
모드 RBmod를 설정하면, 파일 관리부(13)는 파일 기입 흐름 F2를 실행하여, 단계 S2201에서 등록한 블록맵에 근거해서 파일 2를 기입한다(단계 S2206).
다음에, 파일 관리부(13)는 워크 메모리 상의 신 관리 정보 Iw'의 블록맵 Imap이 갱신되어 있는지 판단하여, 갱신되어 있지 않은 경우에는 단계 S2209로 이행한다. 블록맵 Imap이 변경되는 것은, 단계 S2206에서 기입에 실패하여 불량 블록이 등록된 경우이다(단계 S2207).
블록맵 Imap이 갱신되어 있는 경우, 파일 관리부(13)는 파일 플래시(11)의 오리지널 관리 정보 Io를 소거하고, 소거한 블록에, 갱신된 신 관리 정보 Iw'를 기입한다. 이 오리지널 관리 정보 Io의 갱신은 관리 정보 갱신 흐름 F4에 의해서 실행하고, 기입에 실패한 경우에는 별도의 블록에 대한 기입을 행한다(단계 S2208).
다음에, 백업 관리 정보 Ib를 갱신한다. 즉, 파일 관리부(13)는 파일 플래시(11)의 백업 관리 정보 Ib를 소거하고, 소거한 블록에 신 관리 정보 Iw'를 기입한다. 이 백업 관리 정보 Ib의 갱신은 관리 정보 갱신 흐름 F4에 의해서 실행하고, 신 관리 정보 Iw'의 기입에 실패한 경우에는 별도의 블록에 대한 기입을 행한다(단계 S2209).
백업 관리 정보 Ib의 갱신이 종료하면 단계 S2211로 이행하고, 갱신에 실패하면 처리를 종료한다(단계 S2210).
파일 2를 추가하는 처리가 전부 종료하면, 파일 관리부(13)는 오리지널 관리 정보 Io 및 백업 관리 정보 Ib를 저장하고 있는 블록의 모드 RBmod에 「0000h」를 기술하여, 데이터 갱신이 정상적으로 종료된 것을 표시한다(단계 S2211).
이상과 같이, 본 실시예 1에 따른 정보 처리 장치에서는, 정보 처리 장치(100)를, 프로그램 파일이나 데이터 파일을 유지하는 메모리 관리 장치(10)와, 메모리 관리 장치(10)로부터 제공되는 프로그램 파일이나 데이터 파일에 근거해서 처리를 행하는 정보 처리부(30)를 갖는 것으로 하여, 메모리 관리 장치(10)를, 프로그램 파일과 데이터 파일을 저장하는 파일 플래시(11)와, 파일 플래시(11)에 저장되어 있는 파일을 관리하는 파일 관리부(13)와, 정보 처리부(30)의 작업 영역인 워크 메모리(14)와, 파일 관리부(13)로부터 파일 플래시(11)에 액세스할 수 있도록 하는 플래시 I/F(12)와, 부트 프로그램을 저장하는 부트 플래시(15)를 갖는 것으로 하기 때문에, 정보 처리부(30)는 워크 메모리(14) 상에 전송된 프로그램을 실행할 수 있어, 처리를 실행할 때에 파일 플래시(11)로부터 1단계마다 판독할 필요가 없어진다. 이 때문에, 정보 처리부(30)의 처리 속도가 고속화되어, 실행 시간을 대폭 삭감할 수 있다.
또한, 파일 관리부(13)는 워크 메모리(14)에 전송된 관리 정보 Iw를 갱신함으로써, 파일 플래시(11)에 대하여 소거나 기입을 행하기 위한 신 관리 정보 Iw'를생성하고, 파일 플래시(11)의 오리지널 관리 정보 Io의 내용을 신 관리 정보 Iw'의 내용에 의해 갱신하여, 신 관리 정보 Iw'의 기술에 근거해서 파일 플래시(11)의 파일이나 블록의 소거, 기입을 행하여, 파일 플래시(11)의 백업 관리 정보 Ib의 내용을 신 관리 정보 Iw의 내용으로 갱신하기 때문에, 파일 관리부(13)에 의해, 파일 플래시(11)의 기입 대상이나 소거 대상으로 되는 블록을 결정할 수 있다. 또한, 파일 플래시(11)에 오리지널 관리 정보 Io를 기입한 후에, 파일이나 블록에 대한 소거, 기입을 행하기 때문에, 모든 처리를 완료하기 전에 처리를 중단한 경우에, 파일 관리부(13)에 의해, 소거 도중이나 기입 도중의 파일을 검출하여, 해당 파일을 소거할 수 있다. 또한, 오리지널 관리 정보 Io를 기입한 후에, 백업 관리 정보 Ib를 기입하기 때문에, 백업 관리 정보 Ib의 소거나 기입이 도중에서 중단된 경우에, 오리지널 관리 정보 Io을 이용하여 백업 관리 정보 Ib를 복구할 수 있다.
또한, 각 페이지의 용장 영역에, 데이터 영역의 갱신 처리 상태를 표시하는 모드 RBmod와, 블록의 데이터의 갱신 처리에 있어서 불량이 발생했는지의 여부를 표시하는 유효성 정보 RBval과, 해당 블록이 사용되고 있는지의 여부를 표시하는 페이지 기입 상태 RBwr와, 해당 블록이 불량을 갖는 불량 블록인지의 여부를 표시하는 블록 양호 불량 정보 RBbd와, 해당 페이지가 사용되었는지의 여부를 표시하는 페이지 기입 상태 RPwr와, 데이터 영역의 ECC 데이터를 저장하는 ECC 정보 RPecc를 할당했기 때문에, 메모리 관리부(13)에 의해, 파일 플래시(11)의 여러 가지 상태를 파악하여, 그 상태에 따른 처리를 할 수 있다.
또한, 메모리 관리부(13)는, 용장 영역의 각 영역의 표시값을 4비트마다 다수결 판단함으로써2치로 할당하기 때문에, 용장 영역에 오기입이 되어 있는 경우에도, 표시값이 나타내고 있는 상태를 파악할 수 있다.
또한, 메모리 관리부(13)는, 블록의 복수 페이지에 걸쳐 표시되어 있는 표시값을 다수결 판정하여, 다수의 표시값을 그 블록의 값으로 하기 때문에, 용장 영역에 오기입되어 있는 경우에도, 표시값이 나타내고 있는 상태를 파악할 수 있다.
또한, 파일 플래시(11)를 NAND형 플래시 메모리나 AND형 플래시 메모리와 같은 시리얼 플래시 메모리로 했기 때문에, NOR형 플래시 메모리의 약 100분의 1의 시간으로 소거를 행하고, 약 20분의 1 시간으로 기입을 행할 수 있다. 또한, 시리얼 플래시 메모리는 기억 용량이 크고 더욱이 고집적화가 진행되고 있기 때문에, 정보 처리 장치(100)의 실장 면적을 삭감할 수 있다.
또, 본 실시예 1에서는, 모드 RBmod의, 구분한 4비트 중 3비트 이상에 「0」이 기입되어 있는지의 여부에 의해, 그 값을 판정하는 방법을 설명했지만, 4비트 중 모든 비트에 「0」이 기입되어 있는지의 여부에 의해, 그 값을 판정하더라도 좋다. 모든 비트에 「0」이 기입되어 있는 경우, 그 4비트의 값을「0h」라고 하고, 「0」이 기입되어 있지 않는 비트가 있는 경우 그 4비트의 값을「Fh」라고 하여, 모드 RBmod의 4치를 판정한다.
이와 같이, 4비트 중 모든 비트에 「0」이 기입되어 있는지의 여부에 의해 그 값을 판정함으로써, 용장 영역에 오기입이나 비트화가 발생하지 않은 경우에만, 표시값이 나타내고 있는 상태를 파악할 수 있기 때문에, 보다 엄밀한 판정이 되어, 워크 메모리(14)에 판독하는 데이터의 신뢰성을 향상시킬 수 있다.
또한, 본 실시예 1에서는, 모드 RBmod를 각 블록의 선두로부터 3 페이지에 마련하여 처리 상태가 진행하는 것에 따라서, 플래그를 동일한 영역에 오버라이트하도록 했지만, 각 상태를 소정 페이지의 모드 RBmod로 할당하여, 처리 상태가 진행하는 것에 따라서 할당된 페이지의 모드 RBmod에 플래그를 기입하더라도 좋다.
예컨대, 모드 RBmod는, 처리 전의 상태를「FFFFh」, 여러 가지 처리가 끝난 상태를 「0000h」로 정의하고, 페이지 4의 모드 RBmod4에 「관리 정보의 갱신」을 할당하고, 페이지 3의 모드 RBmod3에 「파일의 추가」를 할당하고, 페이지 2의 모드 RBmod2에 「파일 소거」를 할당하며, 페이지 1의 모드 RBmod 1에 「데이터의 갱신이 정상적으로 종료된 상태」를 할당하더라도 좋다.
이 경우, 파일 관리부(13)는 파일 플래시(11)의 오리지널 관리 정보 Io나 백업 관리 정보 Ib의 갱신 시에, 페이지 4의 모드 RBmod4에 「0000h」를 기입한다. 또한, 파일 관리부(13)는, 파일 플래시(11)에 파일을 기입할 때에 페이지 3의 모드 RBmod3에 「0000h」를 기입하고, 파일을 소거할 때에 페이지 2의 모드 RBmod2에 「0000h」를 기입한다. 그리고, 모든 처리가 종료하면, 페이지 1의 모드 RBmod1에 「0000h」를 기입한다. 여기서, 파일의 추가나 소거 등의 처리는, 반드시 오리지널 관리 정보 Io를 갱신한 후에 실행하기 때문에, 페이지 3이나 페이지 2, 페이지 1의 모드 RBmod3∼RBmod1에 「0000h」를 기입할 때에는, 페이지 4의 모드 RBmod4에도 「0000h」가 기술되어 있다. 그런데, 파일을 소거하기 전에 파일을 추가하지 않는 경우도 있기 때문에, 페이지 2의 모드 RBmod2에 「0000h」를 기입할 때에, 페이지 3의 모드 RBmod3는 「0000h」 또는 「FFFFh」 중 어느 쪽이더라도 좋다. 또한, 처리가, 관리 정보의 갱신만인 경우도 있기 때문에, 페이지 1의 모드 RBmod1에 「0000h」를 기입할 때에, 페이지 2나 페이지 3의 모드 RBmod2, RBmod3도, 「0000h」또는「FFFFh」중 어느 쪽이더라도 좋다.
이렇게 하여 기술한 모드 RBmod의 값은, 예컨대, 단계 S1002나 단계 S1004에서, 파일 플래시(11)의 블록이나 오리지널 관리 정보 Io, 백업 관리 정보 Ib에 대한 처리 상태를 판정할 때에 이용된다. 즉, 파일 관리부(13)는, 우선, 구분된 4비트 중 3비트 이상에 「0」이 기입되어 있는지의 여부 또는 모든 비트에 「0」이 기입되어 있는지의 여부에 근거해서, 해당 4비트를 「0h」또는 「Fh」로 할당하여, 각 페이지의 값을 판정한다. 다음에, 어느 페이지에 「0000h」가 기술되어 있는지 판단하여, 처리 상태를 판정한다.
이와 같이, 처리의 각 상태를 소정 페이지에 할당하여, 처리가 진행하는 것에 따라서, 할당된 페이지에 「0000h」를 기입함으로써, 동일한 페이지의 모드 RBmod에 대한 기입 회수를 감소시킬 수 있어, 파일 플래시(11)의 내구성을 유지할 수 있다.
또한, 본 실시예 1에서는, 메모리 관리 장치(10)를 각각 1 칩의 부트 플래시(16)와, 플래시 I/F(12)를 이용한 것으로 했지만, 도 21에 도시된 바와 같이, 1 칩에 플래시 I/F와 부트 플래시의 기능을 갖는 인터페이스부(12a)를 이용하여도 좋다.
플래시 I/F와 부트 플래시의 기능을 갖는 인터페이스부(12a)를 이용함으로써, 메모리 관리 장치(10a)의 실장 면적이나, 칩 단가, 제조 공정을 삭감할 수 있어, 비용의 합리화를 이룰 수 있다. 또한, 파일 관리부(13)에 있어서는, 플래시 I/F와 부트 플래시를 동일한 어드레스 공간으로서 처리할 수 있게 되기 때문에, 양자를 구별하지 않는 프로그램의 개발이 가능해진다.
또한, 본 실시예 1에서는, 파일 플래시(11)를 1 칩 구성의 시리얼 플래시 메모리를 이용한 것으로 하고 있지만, 복수개의 시리얼 플래시 메모리을 이용하여도 좋다.
즉, 도 22에 도시된 바와 같이, 파일 플래시(11a)를 3개의 시리얼 플래시 Fa-1∼Fa-3으로 구성하여, 시리얼 플래시 Fa-1에 모든 파일 플래시(11a)의 파일 관리 정보를 저장하는 정보 관리 영역(11I)을 할당하고, 나머지의 시리얼 플래시 Fa-2∼Fa-3에 의해 일련의 데이터 파일 영역(11D)을 구성하도록 하더라도 좋다. 여기서는, 3개의 시리얼 플래시에 의해 구성된 파일 플래시(11a)의 예를 나타내었지만, 구성하는 시리얼 플래시의 수를 한정하지 않고, 임의의 수(N 개)로 할 수 있다. 시리얼 플래시 Fa-1∼Fa-N의 블록 번호를 일련의 번호로 함으로써 파일 관리부(13)는 각 시리얼 플래시를 구별하지 않고 처리를 행할 수 있다.
이에 따라, 프로그램 파일이나 데이터 파일의 사이즈의 증가에 대응할 수 있다. 또한, 각 시리얼 플래시의 용량을 다르게 할 수 있으므로, 프로그램 파일이나 데이터 파일의 사이즈에 대하여, 최적 용량의 시리얼 플래시를 이용함으로써, 기판의 탑재 면적의 삭감, 및 제조 비용을 저감할 수 있다.
또한, 도 23에 도시된 바와 같이, 파일 플래시(11b)를 3개의 시리얼 플래시 Fb-1∼Fb-3으로 구성하여, 시리얼 플래시 Fb-1의 선두로부터, 모든 파일플래시(11b)의 파일 관리 정보를 저장하는 정보 관리 영역(11I)을 할당하고, 시리얼 플래시 Fb-1의 정보 관리 영역(11I) 뒤에서 시리얼 플래시 Fb-3에 의해, 일련의 데이터 파일 영역(11D)을 형성하도록 하더라도 좋다. 여기서는, 3개의 실리얼 플래시에 의해 구성된 파일 플래시(11b)의 예를 나타내었지만, 구성하는 시리얼 플래시의 수를 한정하지 않고, 임의의 수(N 개)로 할 수 있다. 시리얼 플래시 Fb-1∼시리얼 플래시 Fb-N의 블록 번호를, 일련의 번호로 함으로써 파일 관리부(13)는 각 시리얼 플래시를 구별하지 않고 처리를 행할 수 있다.
이에 따라, 프로그램 파일이나 데이터 파일의 사이즈의 증가에 대응할 수 있다. 또한, 각 시리얼 플래시의 용량을 다르게 할 수 있으므로, 프로그램 파일이나 데이터 파일의 사이즈에 대하여, 최적 용량의 시리얼 플래시를 이용함으로써, 기판의 탑재 면적의 삭감, 및 제조 비용을 저감할 수 있다.
또한, 파일 플래시(11c)를 복수개의 시리얼 플래시로 구성하고, 각 시리얼 플래시에 플래시 번호 및 어드레스를 부여하여, 각각에, 해당 시리얼 플래시의 파일의 관리 정보를 저장하는 정보 관리 영역과 데이터 파일 영역을 할당하도록 하더라도 좋다. 도 24에 3개의 시리얼 플래시 #0∼#2(#0∼#2는 플래시 번호)로 구성되는 파일 플래시(11c)의 예를 나타낸다. 각 시리얼 플래시 #0∼#2에는, 어드레스 A0∼A2가 부여되고, 각각, 관리 정보 #0∼#2를 저장하는 정보 관리 영역(11I-1∼11I-3)과, 데이터 파일 영역(11D-1∼11D-3)이 할당되어 있다. 각 관리 정보 #0∼#2는 파일 플래시(11)의 정보 관리 영역(11I)에 저장되는 오리지널 관리 정보 Io 및 백업 관리 정보 Ib에 상당하는 것이다. 여기서는, 3개의 시리얼 플래시에 의해 구성된 파일 플래시(11c)의 예를 나타내었지만, 구성하는 시리얼 플래시의 수를 한정하지 않고 임의의 수(N 개)로 할 수 있다.
이러한 파일 플래시(11c)를 이용한 경우, 부트 처리를 행하기 전에, 이용하는 시리얼 플래시를 선택해야 한다. 도 25는 시리얼 플래시 선택 처리를 설명하는 흐름도이다.
시리얼 플래시를 선택할 때, 우선, 파일 관리부(13)는 선택하는 플래시 번호가 지정된 애플리케이션에 따라서, 시리얼 플래시 #0이 선택되어 있는지 판단하여 (단계 S121), 시리얼 플래시 #0이 선택되어 있는 경우에는 선택 대상인 시리얼 플래시의 어드레스를 어드레스 A0으로 설정한다(단계 S122). 시리얼 플래시 #0이 선택되지 않은 경우 시리얼 플래시 #1이 선택되어 있는지 판단하여(단계 S123), 시리얼 플래시 #1이 선택되어 있는 경우에는 선택 대상인 시리얼`플래시의 어드레스를 어드레스 A1로 설정한다(단계 S124). 시리얼 플래시 #1이 선택되지 않은 경우, 시리얼 플래시 #2가 선택되어 있는지 판단하여(단계 S125), 시리얼 플래시 #2가 선택되어 있는 경우 선택 대상인 시리얼 플래시의 어드레스를 어드레스 A2로 설정한다(단계 S126). 파일 플래시(11c)가 N개의 시리얼 플래시로 구성되어 있는 경우, 동일한 순서로, 선택하는 플래시 번호를 순서대로 판단하여, 시리얼 플래시의 선택을 한다.
이렇게 하여 시리얼 플래시를 선택한 후, 파일 관리부(13)는 선택한 파일 플래시를 이용하여 처리를 행한다.
이와 같이, 파일 플래시(11c)를 복수개의 시리얼 플래시로 구성하여, 각각,해당 시리얼 플래시의 파일의 관리 정보를 저장하는 정보 관리 영역과 데이터 파일 영역을 할당하도록 했기 때문에, 파일 플래시의 교환이 가능해진다.
(실시예 2)
다음에, 본 발명의 청구의 범위 제 2 항, 청구의 범위 제 4 항, 청구의 범위 제 6 항 내지 청구의 범위 제 8 항에 기재된 정보 처리 장치를 실시예 2로 하여 도면을 참조하면서 설명한다.
도 26은 본 실시예 2에 따른 정보 처리 장치의 구성을 나타내는 블록도이다. 또, 도 2에 있어서, 도 1에 나타내는 것과 동일 또는 상당하는 부분에는 동일한 부호를 부여하고, 자세한 설명을 생략한다.
도 26에 도시된 바와 같이, 본 실시예 2에 따른 정보 처리 장치(100b)의 메모리 관리 장치(10b)는, 실시예 1의 정보 처리 장치(100)의 메모리 관리 장치(10)에, 기동 시의 동작을 설정하는 설정 수단(17)과, 외부에 접속된 외부 제어 장치(200)와의 통신을 행하는 통신 수단(18)을 더 구비하고, 파일 플래시(11)에 정보 처리 장치(100b)의 자기 진단을 행하기 위한 자기 진단 프로그램과, 정보 처리 장치(100b)를 동작시키는 메인 프로그램을 저장하고, 부트 플래시(15)에 파일 플래시(11)에 저장되어 있는 자기 진단 프로그램을 워크 메모리(14)에 판독하는 순서를 정한 부트 프로그램 PG1과, 파일 플래시(11)에 저장되어 있는 메인 프로그램을 워크 메모리(14)에 판독하는 순서를 정한 부트 프로그램 PG2와, 외부 제어 장치(200)로부터 전송되는 메인 프로그램 또는 자기 진단 프로그램을 워크 메모리(14)에 판독하는 순서를 정한 부트 프로그램 PG3을 저장한 것이다.
외부 제어 장치(200)는, 퍼스널 컴퓨터나 휴대 전화 등의, 메인 프로그램 또는 자기 진단 프로그램을 정보 처리 장치(100b)에 대하여 전송 가능한 장치이다.
설정 수단(17)에는 기동 시에 파일 관리부(13)가 실행하는 부트 프로그램의 종류가 설정된다. 예컨대, 상태 1일 때 파일 관리부(13)는 부트 프로그램 PG1을 실행하고, 상태 2일 때 부트 프로그램 PG2를 실행하며, 상태 3일 때 부트 프로그램 PG3을 실행한다.
또한, 각 부트 프로그램 PG1∼PG3은, 메인 프로그램이나 자기 진단 프로그램을 워크 메모리(14)에 판독하는 순서의 앞에, 실시예 1에서 설명한 오리지널 관리 정보 Io와 백업 관리 정보 Ib를 워크 메모리(14)에 판독하는 순서를 갖는다.
다음에, 이와 같이 구성되는 정보 처리 장치(100b)에서의 동작을 설명한다. 정보 처리 장치(100b)가 기동되면, 파일 관리부(13)는 설정 수단(17)의 설정에 따라서, 제 1 부트 프로그램, 또는 제 2 부트 프로그램, 또는 제 3 부트 프로그램을 실행한다.
설정 수단(17)의 설정이 상태 1인 경우, 파일 관리부(13)는 부트 프로그램 PG1을 실행한다. 즉, 실시예 1에서 설명한 단계 S1001∼단계 S1010에 의해 오리지널 관리 정보 Io와 백업 관리 정보 Ib를 워크 메모리(14)에 판독한 후, 파일 플래시(11)에 저장되어 있는 자기 진단 프로그램을 워크 메모리(14)에 판독한다.
또한, 설정 수단(17)의 설정이 상태 2인 경우, 파일 관리부(13)는 부트 프로그램 PG2을 실행한다. 부트 프로그램 PG1과 마찬가지로 실시예 1에서 설명한 단계S1001∼단계 S1010에 의해 오리지널 관리 정보 Io와 백업 관리 정보 Ib를 워크 메모리(14)에 판독한 후, 파일 플래시(11)에 저장되어 있는 메인 프로그램을 워크 메모리(14)에 판독한다.
또한, 설정 수단(17)의 설정이 상태 3인 경우, 파일 관리부(13)는 부트 프로그램 PG3을 실행한다. 부트 프로그램 PG1과 마찬가지로 실시예 1에서 설명한 단계 S1001∼단계 S1010에 의해 오리지널 관리 정보 Io와 백업 관리 정보 Ib를 워크 메모리(14)에 판독한 후, 통신 수단(18)을 거쳐서 외부 제어 장치(200)로부터 전송되는 메인 프로그램 또는 자기 진단 프로그램을 워크 메모리(14)에 판독한다.
그러면, 정보 처리부(30)는 워크 메모리(14) 상의 프로그램의 처리를 실행한다.
여기서, 정보 처리부(30)가 처리를 행하여 워크 메모리(14) 상에 새롭게 파일(4)을 생성한 경우, 파일 관리부(13)는 파일 4를 통신 수단(18)을 거쳐서 외부 제어 장치(200)에 전송한다.
또한, 파일 관리부(13)는 정보 처리부(30)의 명령에 근거하여, 파일 4를 파일 플래시(11)에 기입한다. 이 기입은, 실시예 1에서 설명한 단계 S2201∼단계 S2211에 의해 실행하고, 파일 플래시(11)의 오리지널 관리 정보 Io의 내용을 파일 4의 정보를 기술한 관리 정보 Iw의 내용에 의해 갱신하여, 파일 플래시(11)에 파일 4를 기입한다. 그리고, 백업 관리 정보 Ib의 내용을 관리 정보 Iw의 내용에 의해 갱신하여, 파일 4의 기입을 종료한다.
또한, 파일 관리부(13)는, 외부 제어 장치(200) 또는 정보 처리부(30)의 요구에 따라서, 워크 메모리(14) 상의 프로그램 파일이나 데이터 파일을 통신 수단(18)을 거쳐서 외부 제어 장치(200)에 송신한다.
또한, 워크 메모리(14) 상의 프로그램이 외부 제어 장치(200)로부터 프로그램을 취득하는 순서를 정한 것인 경우나, 외부 제어 장치(200)로부터 프로그램의 취득을 명령받은 경우, 정보 처리부(30)는 통신 수단(18)을 거쳐서 프로그램 파일이나 데이터 파일을 외부 제어 장치(200)로부터 취득한다.
이상과 같이, 본 실시예 2에 따른 정보 처리 장치(100b)에서는, 정보 처리 장치(100b)에, 기동 시의 동작을 설정하는 설정 수단(17)과, 외부에 접속된 외부 제어 장치(200)와의 통신을 행하는 통신 수단(18)을 구비했기 때문에, 자기 진단 프로그램, 또는 메인 프로그램을 선택하여 실행할 수 있다. 또한, 정보 처리 장치(100b)에서 자기 진단을 행할 수 있게 되기 때문에, 종래, 진단을 위해서 필요했던 각종 지그가 불필요해져, 보수 서비스를 위해 지그를 장기간 유지할 필요가 없어진다.
또한, 통신 수단(18)을 거쳐서 외부 제어 장치(200)와 접속했기 때문에, 새로운 프로그램 파일을 취득하여, 소프트웨어의 버전업이나, 새로운 기능의 추가를 용이하게 실행할 수 있다. 또한, 외부로부터 용이하게 파일을 취득할 수 있기 때문에, 파일 플래시(11)에 저장하는 파일의 수를 삭감할 수 있는 동시에, 보다 염가의 소용량 파일 플래시를 이용할 수 있다.
또한, 정보 처리 장치(100b)를 동작시키는 프로그램의 개발 시에, 개발중인 프로그램을 파일 플래시(11)에 기입하지 않고 동작시킬 수 있기 때문에, 프로그램의 디버그도 용이하게 실행할 수 있다.
또한, 외부 제어 장치(200)로부터의 요구에 따라서, 프로그램 파일이나 데이터 파일을 통신 수단(18)을 거쳐서 외부 제어 장치(200)에 송신하기 때문에, 정보 처리 장치(100b)의 외부로부터 자기 진단의 결과나 동작 결과 등을 모니터링할 수 있다.
또, 본 실시예 2에서는, 통신 수단(18)을 거쳐서 외부 제어 장치(200)에 접속한 정보 처리 장치(100b)에 대하여 설명했지만, 보다 많은 종류의 프로그램 파일이나 데이터 파일을 취득하기 위해서, 정보 처리 장치(100b)를 통신 수단(18)을 거쳐서 직접 인터넷 등에 접속하더라도 좋다. 또한, 정보 처리 장치(100b)를 통신 수단(18) 및 외부 제어 장치(200)를 경유하여 인터넷 등에 접속하더라도 좋다.
(실시예 3)
다음에, 본 발명의 청구의 범위 제 3 항 내지 청구의 범위 제 8 항에 기재된 정보 처리 장치를 실시예 3으로 하여 도면을 참조하면서 설명한다.
도 27은 본 실시예 3에 따른 정보 처리 장치의 구성을 나타내는 블록도이다. 또, 도 27에 있어서, 도 26에 나타내는 것과 동일 또는 상당하는 부분에는 동일한 부호를 부여하고, 자세한 설명을 생략한다.
도 27에 도시된 바와 같이, 본 실시예 3에 따른 정보 처리 장치(100c)의 메모리 관리 장치(10c)는, 실시예 2의 정보 처리 장치(100b)의 메모리 관리 장치(10b)에, 메인 프로그램이나 자기 진단 프로그램 등의 프로그램 파일, 및 데이터 파일을 축적하여 저장하는 데이터 저장 수단(19)을 더 구비한 것이다. 또한, 부트 플래시(15)에는 실시예 2에서 설명한 부트 프로그램 PG1∼PG3에 더하여, 오리지널 관리 정보 Io와 백업 관리 정보 Ib를 워크 메모리(14)에 판독한 후에, 데이터 저장 수단(19)에 저장되어 있는 메인 프로그램 또는 자기 진단 프로그램을 워크 메모리(14)에 판독하는 순서를 정한 부트 프로그램 PG4가 저장되고, 설정 수단(17)에는 실시예 2에서 설명한 상태 1∼ 상태 3에 더하여, 파일 관리부(13)가 부트 프로그램 PG4를 실행하는 상태 4가 할당되어 있다.
데이터 저장 수단(19)은, DVD(Digital Versatile Disk)나, 하드 디스크, CD(Compact Disc), CD-R(Compact Disc-Recordable), 반도체 메모리 장치 등의, 전원 절단 후에도 데이터를 유지하는 기록 매체이다.
다음에, 이와 같이 구성되는 정보 처리 장치(100c)에서의 동작을 설명한다. 정보 처리 장치(100c)가 기동되면, 파일 관리부(13)는 설정 수단(17)의 설정에 따라서 제 1 부트 프로그램, 또는 제 2 부트 프로그램, 또는 제 3 부트 프로그램, 또는 제 4 부트 프로그램을 실행한다.
설정 수단(17)의 설정이 상태 1인 경우 파일 관리부(13)는 부트 프로그램 PG1을, 상태 2인 경우 부트 프로그램 PG2를, 상태 3인 경우 부트 프로그램 PG3을 실행한다. 또한, 설정 수단(17)의 설정이 상태 4인 경우, 파일 관리부(13)는 부트 프로그램 PG4를 실행하여, 오리지널 관리 정보 Io와 백업 관리 정보 Ib를 워크 메모리(14)에 판독한 후, 데이터 저장 수단(19)에 저장되어 있는 메인 프로그램 또는 자기 진단 프로그램을 워크 메모리(14)에 판독한다.
그러면, 정보 처리부(30)는 워크 메모리(14) 상의 프로그램의 처리를 실행한다.
정보 처리부(30)에 의한 처리의 결과, 새롭게 파일(5)이 생성된 경우, 파일 관리부(13)는 정보 처리부(30)로부터의 명령에 근거해서 파일 5를 파일 플래시(11)에 기입한다. 이 기입은, 실시예 1에서 설명한 단계 S2201∼단계 S2211에 의해 실행하고, 파일 플래시(11)의 오리지널 관리 정보 Io의 내용을 파일 5의 정보를 기술한 관리 정보 Iw의 내용에 의해 갱신하여, 파일 플래시(11)에 파일 5를 기입한다. 그리고, 백업 관리 정보 Ib의 내용을 관리 정보 Iw의 내용에 의해 갱신하여, 파일 5의 기입을 종료한다.
또한, 파일 관리부(13)는, 외부 제어 장치(200) 또는 정보 처리 수단(30)의 요구에 따라서, 파일 5를 통신 수단(18)을 거쳐서 외부 제어 장치(200)에 송신한다.
또한, 파일 관리부(13)는 정보 처리 수단(30)의 명령에 근거해서, 파일 5를 데이터 저장 수단(19)에 저장한다.
또한, 워크 메모리(14) 상의 프로그램이 외부 제어 장치(200)로부터 프로그램을 취득하는 순서를 정한 것인 경우나, 외부 제어 장치(200)로부터 프로그램의 취득을 명령받은 경우, 정보 처리부(30)는 통신 수단(18)을 거쳐서 프로그램 파일이나 데이터 파일을 외부 제어 장치(200)로부터 취득한다. 이상과 같이, 본 발명의 실시예 3에 따른 정보 처리 장치(100c)에서는, 정보 처리 장치(100c)에, 데이터를 축적하여 저장하는 데이터 저장 수단(19)을 구비하였기 때문에, 자기 진단 프로그램의 실행에 의해 생성한 자기 진단 결과 파일이나, 정보 처리 장치(100c)의 사용 이력 및 고장 이력 등을 데이터 저장 수단(19)에 저장할 수 있는 동시에, 해당 정보를 저장한 기록 매체를 분리하여 사용할 수 있다. 또한, 이 자기 진단 결과 파일을 이용하여, 정보 처리 장치(100c)나, 정보 처리 장치(100c)에 접속되어 있는 다른 기기의 열화 등을 모니터링할 수 있다. 또한, 데이터 저장 수단(19)을 거쳐서, 외부로부터의 각종 파일의 취득이나, 메인 프로그램 및 자기 진단 프로그램의 실행이 가능해진다.
본 발명의 정보 처리 장치, 메모리 관리 장치, 메모리 관리 방법, 및 정보 처리 방법은, 메모리 용량이 큰 시리얼 플래시 메모리에 대하여, 불량을 발생시키지 않고 기입이나 판독을 행함과 동시에 전원 투입 시에 부트 처리를 행하여 CPU의 실행 시간을 단축하기 때문에, 유용하다.

Claims (33)

  1. 파일을 관리하는 메모리 관리 장치와, 메모리 관리 장치로부터 공급되는 프로그램 파일에 근거해서 해당 프로그램의 처리를 실행하는 처리 장치를 갖는 정보 처리 장치로서,
    상기 메모리 관리 장치는,
    프로그램 파일이나 여러 가지 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 해당 제 1 관리 정보를 백업하는 제 2 관리 정보를 저장하는 주 기억 수단과,
    기동 시에 이용하는 부트 프로그램을 저장하는 부트 프로그램 기억 수단과,
    공급되는 파일을 저장하는 보조 기억 수단과,
    상기 주 기억 수단, 상기 부트 프로그램 기억 수단, 및 상기 보조 기억 수단에 대한 액세스를 행하는 파일 관리 수단을 구비하되,
    상기 파일 관리 수단은, 기동 시에, 상기 부트 프로그램 기억 수단으로부터 판독한 상기 부트 프로그램에 근거해서 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 상기 보조 기억 수단에 전송하고, 상기 전송된 제 1 관리 정보에 근거해서 상기 주 기억 수단의 파일을 상기 보조 기억 수단에 전송하며,
    상기 처리 장치는, 상기 보조 기억 수단에 전송된 프로그램 파일을 판독하여, 해당 프로그램의 처리를 실행하는 것을 특징으로 하는 정보 처리 장치.
  2. 파일을 관리하는 메모리 관리 장치와, 메모리 관리 장치로부터 공급되는 프로그램 파일에 근거해서 해당 프로그램의 처리를 실행하는 처리 장치를 갖는 정보 처리 장치로서,
    상기 메모리 관리 장치는,
    제 1 프로그램 파일이나 여러 가지 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 해당 제 1 관리 정보를 백업하는 제 2 관리 정보를 저장하는 주 기억 수단과,
    장치 외부로부터 제 2 프로그램 파일을 취득하는 통신 수단과,
    공급되는 파일을 저장하는 보조 기억 수단과,
    기동 시에 이용하는 부트 프로그램을 저장하는 부트 프로그램 기억 수단과,
    상기 주 기억 수단 및 상기 보조 기억 수단에 대한 액세스를 행하는 파일 관리 수단과,
    기동 시의 처리를 설정하는 설정 수단과,
    상기 부트 프로그램 기억 수단으로부터 판독한 상기 부트 프로그램에 근거해서 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 상기 보조 기억 수단에 전송하고, 상기 주 기억 수단에 저장되어 있는 상기 제 1 프로그램 파일을 상기 보조 기억 수단에 전송하는 제 1 전송 수단과,
    상기 부트 프로그램 기억 수단으로부터 판독한 상기 부트 프로그램에 근거해서 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 상기 보조 기억 수단에 전송하고, 상기 통신 수단을 거쳐서 취득한 상기 제 2 프로그램 파일을 상기 보조 기억 수단에 전송하는 제 2 전송 수단을 구비하되,
    기동 시에, 상기 메모리 관리 장치는, 상기 설정 수단의 설정에 근거해서 상기 제 1 전송 수단과 상기 제 2 전송 수단을 전환하여, 상기 보조 기억 장치로의 프로그램 파일의 전송 처리를 행하고,
    상기 처리 장치는, 상기 보조 기억 수단에 전송된 프로그램 파일을 판독하여, 해당 프로그램의 처리를 실행하는 것을 특징으로 하는 정보 처리 장치.
  3. 제 2 항에 있어서,
    상기 메모리 관리 장치는,
    제 3 프로그램 파일, 및 공급되는 데이터를 축적하여 저장하는 데이터 축적 장치와,
    상기 부트 프로그램 기억 수단으로부터 판독한 상기 부트 프로그램에 근거해서 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 상기 보조 기억 수단에 전송하고, 상기 데이터 축적 장치에 저장되어 있는 상기 제 3 프로그램 파일을 상기 보조 기억 수단에 전송하는 제 3 전송 수단을 더 구비하되,
    기동 시에, 상기 설정 수단의 설정에 근거해서, 상기 제 1 전송 수단과 상기 제 2 전송 수단과 상기 제 3 전송 수단을 전환하여, 상기 보조 기억 장치로의 프로그램 파일의 전송 처리를 행하는 것을 특징으로 하는 정보 처리 장치.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 처리 장치는, 상기 통신 수단을 거쳐서 장치 외부로부터 파일을 취득하는 것을 특징으로 하는 정보 처리 장치.
  5. 제 3 항에 있어서,
    상기 파일 관리 수단은, 상기 처리 장치에서 생성한 파일을 상기 데이터 축적 장치에 저장하는 것을 특징으로 하는 정보 처리 장치.
  6. 제 2 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 파일 관리 수단은, 상기 처리 장치에서 생성한 파일을 상기 통신 수단을 거쳐서 외부에 출력하는 것을 특징으로 하는 정보 처리 장치.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 파일 관리 수단은, 상기 처리 장치에서 생성한 파일을 상기 주 기억 수단에 저장하는 것을 특징으로 하는 정보 처리 장치.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 주 기억 수단은 시리얼 플래시 메모리인 것을 특징으로 하는 정보 처리 장치.
  9. 제 8 항에 있어서,
    상기 주 기억 수단은, 상기 관리 정보와 여러 가지 파일을 저장하는 1개의 시리얼 플래시 메모리와, 여러 가지 파일을 저장하는 1개 이상의 시리얼 플래시 메모리로 이루어지는 것을 특징으로 하는 정보 처리 장치.
  10. 제 8 항에 있어서,
    상기 주 기억 수단은, 상기 관리 정보를 저장하는 1개의 시리얼 플래시 메모리와, 여러 가지 파일을 저장하는 1개 이상의 시리얼 플래시 메모리로 이루어지는 것을 특징으로 하는 정보 처리 장치.
  11. 제 8 항에 있어서,
    상기 주 기억 수단은, 각각이 상기 관리 정보와 여러 가지 파일을 저장하는복수개의 시리얼 플래시 메모리로 이루어지는 것을 특징으로 하는 정보 처리 장치.
  12. 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 제 2 관리 정보를 저장하는 주 기억 수단과,
    상기 주 기억 수단에 대하여 소거나 기입을 행하기 위한 신 관리 정보를 생성하는 관리 정보 생성 수단과,
    상기 주 기억 수단이 갖는 상기 제 1 관리 정보의 내용을, 상기 신 관리 정보의 내용에 의해 갱신하는 제 1 관리 정보 갱신 수단과,
    상기 신 관리 정보에 근거해서, 상기 주 기억 수단에 대하여 소거, 기입을 행하는 기억 처리 수단과,
    상기 주 기억 수단이 갖는 상기 제 2 관리 정보의 내용을, 상기 신 관리 정보의 내용에 의해 갱신하는 제 2 관리 정보 갱신 수단을 구비한 것을 특징으로 하는 메모리 관리 장치.
  13. 제 12 항에 있어서,
    상기 관리 정보 생성 수단이 생성하는 상기 신 관리 정보는, 상기 주 기억 수단의 파일을 갱신할 때에는, 추가하는 신 파일의 정보와 소거하는 구 파일의 정보를 포함하는 것이고,
    상기 주 기억 수단의 블록을 갱신할 때에는, 추가하는 신 데이터를 기입하는 블록의 정보와 소거하는 구 데이터가 저장되어 있는 블록의 정보를 포함하는 것이고,
    상기 주 기억 수단에 새로운 파일을 추가할 때에는, 추가하는 파일의 정보를 포함하는 것이며,
    상기 주 기억 수단의 파일을 소거할 때에는, 소거하는 파일의 정보를 포함하는 것인 것을 특징으로 하는 메모리 관리 장치.
  14. 제 12 항 또는 제 13 항에 있어서,
    상기 주 기억 수단은, 처리 상태를 표시하는 처리 상태 표시 영역을 갖는 것을 특징으로 하는 메모리 관리 장치.
  15. 제 14 항에 있어서,
    상기 처리 상태 표시 영역은,
    소정의 영역에 대한 기입이 종료된 것을 표시하는 기입 종료 표시 영역과,
    소정의 영역에 대한 소거, 기입 처리에서 발생하는 각종 상태를 표시하는 동작 상태 표시 영역과,
    소정의 영역이 사용 가능할 수 없는 것을 표시하는 사용 금지 표시 영역을갖는 것을 특징으로 하는 메모리 관리 장치.
  16. 제 15 항에 있어서,
    상기 주 기억 수단은, 각각이 일정 수의 페이지로 이루어지는 복수의 블록으로 이루어지는 것이고,
    상기 기입 종료 표시 영역은,
    각 페이지에 마련되어, 해당 페이지에 대한 기입이 종료된 것을 표시하는 페이지 기입 종료 표시 영역과,
    각 블록의 소정 페이지, 또는 소정 페이지로부터 복수 페이지에 마련되어, 해당 블록에 대한 기입이 종료된 것을 표시하는 블록 기입 종료 표시 영역을 갖는 것을 특징으로 하는 메모리 관리 장치.
  17. 제 16 항에 있어서,
    상기 기억 처리 수단은, 페이지에 대한 기입이 종료했을 때에는 상기 페이지 종료 표시 영역에, 블록에 대한 기입이 종료했을 때에는 블록 기입 종료 표시 영역에, 기입 종료 표시를 오버라이트하는 것을 특징으로 하는 메모리 관리 장치.
  18. 제 15 항에 있어서,
    상기 주 기억 수단은, 각각이 일정 수의 페이지로 이루어지는 복수의 블록으로 이루어지는 것이며,
    상기 기억 처리 수단은, 어느 하나의 영역에 대하여 소거나 기입을 행할 때마다, 그 상태를 나타내는 상태 표시를 소정 블록의, 소정 페이지 또는 소정 페이지로부터 복수 페이지의 상기 동작 상태 표시 영역에 오버라이트 하는 것을 특징으로 하는 메모리 관리 장치.
  19. 제 18 항에 있어서,
    상기 상태 표시는,
    상기 제 1 관리 정보가 소거중인 것을 표시하는 제 1 상태 표시와,
    상기 제 1 관리 정보가 갱신중인 것을 표시하는 제 2 상태 표시와,
    새로운 파일이 기입중인 것을 표시하는 제 3 상태 표시와,
    옛 파일이 소거중인 것을 표시하는 제 4 상태 표시와,
    상기 제 2 관리 정보가 소거중인 것을 표시하는 제 5 상태 표시와,
    상기 제 2 관리 정보가 갱신중인 것을 표시하는 제 6 상태 표시와,
    모든 처리가 종료된 것을 표시하는 제 7 상태 표시를 갖는 것을 특징으로 하는 메모리 관리 장치.
  20. 제 15 항 또는 제 18 항에 있어서,
    상기 동작 상태 표시 영역은,
    상기 제 1 관리 정보가 소거중인 것을 표시하는 제 1 상태 표시 영역과,
    상기 제 1 관리 정보가 갱신중인 것을 표시하는 제 2 상태 표시 영역과,
    새로운 파일이 기입중인 것을 표시하는 제 3 상태 표시 영역과,
    옛 파일이 소거중인 것을 표시하는 제 4 상태 표시 영역과,
    상기 제 2 관리 정보가 소거중인 것을 표시하는 제 5 상태 표시 영역과,
    상기 제 2 관리 정보가 갱신중인 것을 표시하는 제 6 상태 표시 영역과,
    모든 처리가 종료된 것을 표시하는 제 7 상태 표시 영역을 갖는 것을 특징으로 하는 메모리 관리 장치.
  21. 제 15 항에 있어서,
    상기 주 기억 수단은, 각각이 일정 수의 페이지로 이루어지는 복수의 블록으로 이루어지는 것이며,
    상기 기억 처리 수단은, 블록이 사용할 수 없는 상태가 되면, 사용 금지 표시를 해당 블록의 소정 페이지, 또는 소정 페이지로부터 복수 페이지의 블록 사용 금지 표시 영역에 오버라이트하는 것을 특징으로 하는 메모리 관리 장치.
  22. 제 14 항 내지 제 21 항 중 어느 한 항에 있어서,
    상기 메모리 관리 장치는, 상기 처리 상태 표시 영역의 각 영역에 표시되어 있는 값을 일정 비트마다 구분하여, 다수결 판정에 의해 2치(2値)로 할당하여, 각 영역의 표시값을 취득하는 표시값 취득 수단을 구비한 것을 특징으로 하는 메모리 관리 장치.
  23. 제 14 항 내지 제 21 항 중 어느 한 항에 있어서,
    상기 메모리 관리 장치는, 상기 처리 상태 표시 영역의 각 영역에 표시되어 있는 값을 일정 비트마다 구분하여, 모든 비트가 소정의 상태인지에 의해 2치로 할당하여, 각 영역의 표시값을 취득하는 표시값 취득 수단을 구비한 것을 특징으로 하는 메모리 관리 장치.
  24. 제 16 항, 제 18 항, 제 21 항 중 어느 한 항에 있어서,
    상기 메모리 관리 장치는, 각 페이지에 표시되어 있는 값을 일정 비트마다 구분해서 2치로 할당하여 취득한 각 페이지의 표시값을, 다수결 판정하여, 다수의 표시값을 해당 블록의 표시값으로 결정하는 블록 표시값 취득 수단을 구비한 것을 특징으로 하는 메모리 관리 장치.
  25. 제 12 항 내지 제 24 항 중 어느 한 항에 있어서,
    상기 주 기억 수단은, 시리얼 플래시 메모리인 것을 특징으로 하는 메모리 관리 장치.
  26. 데이터를 저장하는 복수의 블록을 갖고, 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 제 2 관리 정보를 저장하는 주 기억 수단에 대한 소거 및 기입을 행하는 메모리 관리 방법으로서,
    신 데이터를 기입하는 블록의 정보와, 구 데이터를 소거하는 블록의 정보를 포함하는 신 관리 정보를 생성하는 관리 정보 생성 단계와,
    상기 신 관리 정보에 근거해서 상기 신 데이터를 기입하는 블록 기입 단계와,
    상기 주 기억 수단이 갖는 상기 제 1 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 1 관리 정보 갱신 단계와,
    상기 주 기억 수단이 갖는 상기 제 2 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 2 관리 정보 갱신 단계와,
    상기 신 관리 정보에 근거해서 상기 구 데이터를 소거하는 블록 소거 단계를 구비한 것을 특징으로 하는 메모리 관리 방법.
  27. 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 제 2 관리 정보를 저장하는 주 기억 수단에 대한 파일의 소거 및 기입을 관리하는 메모리 관리 방법으로서,
    추가하는 신 파일의 정보와, 소거하는 구 파일의 정보를 포함하는 신 관리 정보를 생성하는 관리 정보 생성 단계와,
    상기 주 기억 수단이 갖는 상기 제 1 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 1 관리 정보 갱신 단계와,
    상기 신 관리 정보에 근거해서 상기 신 파일을 기입하고, 상기 신 관리 정보에 근거해서 상기 구 파일을 소거하는 파일 갱신 단계와,
    상기 주 기억 수단이 갖는 상기 제 2 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 2 관리 정보 갱신 단계를 구비한 것을 특징으로 하는 메모리 관리 방법.
  28. 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 제 2 관리 정보를 저장하는 주 기억 수단에 대한 파일의 기입을 관리하는 메모리 관리 방법으로서,
    추가하는 파일의 정보를 포함하는 신 관리 정보를 생성하는 관리 정보 생성 단계와, 상기 주 기억 수단이 갖는 상기 제 1 관리 정보를, 상기 신 관리 정보의내용에 의해 갱신하는 제 1 관리 정보 갱신 단계와,
    상기 신 관리 정보에 근거해서, 파일을 기입하는 파일 기입 단계와, 상기 주 기억 수단이 갖는 상기 제 2 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 2 관리 정보 갱신 단계를 구비한 것을 특징으로 하는 메모리 관리 방법.
  29. 제 26 항 내지 제 28 항 중 어느 한 항에 있어서,
    상기 주 기억 수단은, 데이터를 저장하는 복수의 블록으로 이루어져, 파일을 저장하는 데이터 기억 영역을 갖는 것이며,
    상기 블록 기입 단계 또는 상기 파일 갱신 단계 또는 상기 파일 기입 단계에 있어서 블록이 사용할 수 없는 상태가 되었을 때에, 사용할 수 없게 된 블록의 소정의 영역에, 사용 금지 블록인 것을 나타내는 금지 표시를 오버라이트하는 사용 금지 표시 단계와,
    상기 데이터 기억 영역 내의 사용 가능한 대체 블록에, 사용할 수 없게 된 블록에 기입하는 내용을 재기입하는 재기입 단계와,
    상기 주 기억 수단이 갖는 상기 제 1 관리 정보와 상기 제 2 관리 정보를, 상기 사용 금지 블록 및 상기 대체 블록의 정보를 포함하는 시정 관리 정보의 내용에 의해 갱신하는 시정 관리 정보 갱신 단계를 구비한 것을 특징으로 하는 메모리 관리 방법.
  30. 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 제 2 관리 정보를 저장하는 주 기억 수단에 대한 파일의 소거를 관리하는 메모리 관리 방법으로서,
    소거하는 파일의 정보를 포함하는 신 관리 정보를 생성하는 관리 정보 생성 단계와,
    상기 주 기억 수단이 갖는 상기 제 1 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 1 관리 정보 갱신 단계와,
    상기 신 관리 정보에 근거해서, 파일을 소거하는 파일 소거 단계와,
    상기 주 기억 수단이 갖는 상기 제 2 관리 정보를, 상기 신 관리 정보의 내용에 의해 갱신하는 제 2 관리 정보 갱신 단계를 구비한 것을 특징으로 하는 메모리 관리 방법.
  31. 제 30 항에 있어서,
    상기 주 기억 수단은, 데이터를 저장하는 복수의 블록으로 이루어지는 것이며,
    상기 파일 소거 단계에 있어서 블록이 사용할 수 없는 상태가 되었을 때에, 사용할 수 없게 된 블록의 소정의 영역에, 사용 금지 블록인 것을 나타내는 금지 표시를 오버라이트하는 사용 금지 표시 단계와,
    상기 주 기억 수단이 갖는 상기 제 1 관리 정보와 상기 제 2 관리 정보를, 상기 사용 금지 블록의 정보를 포함하는 시정 관리 정보의 내용에 의해 갱신하는 시정 관리 정보 갱신 단계를 구비한 것을 특징으로 하는 메모리 관리 방법.
  32. 제 26 항 내지 제 28 항, 제 30 항 중 어느 한 항에 있어서,
    상기 주 기억 수단은, 데이터를 저장하는 복수의 블록으로 이루어져, 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 저장하는 관리 정보 기억 영역을 갖는 것이며,
    상기 제 1 관리 정보 갱신 단계 및 제 2 관리 정보 갱신 단계에 있어서 블록이 사용할 수 없는 상태가 되었을 때에, 사용할 수 없게 된 블록의 소정의 영역에, 사용 금지인 것을 나타내는 금지 표시를 오버라이트하는 사용 금지 표시 단계와,
    상기 관리 정보 기억 영역 내의 사용 가능한 대체 블록에, 상기 신 관리 정보를 재기입하는 관리 정보 재기입 단계를 구비한 것을 특징으로 하는 메모리 관리 방법.
  33. 파일을 관리하는 메모리 관리 장치와, 메모리 관리 장치로부터 공급되는 프로그램 파일에 근거해서 해당 프로그램의 처리를 실행하는 처리 장치를 갖는 정보 처리 장치에 의한 정보 처리 방법으로서,
    상기 메모리 관리 장치는,
    프로그램 파일이나 여러 가지 파일과, 저장되어 있는 모든 파일의 정보를 기술한 제 1 관리 정보 및 해당 제 1 관리 정보를 백업하는 제 2 관리 정보를 저장하는 주 기억 수단과,
    기동 시에 이용하는 부트 프로그램을 저장하는 부트 프로그램 기억 수단과, 공급되는 파일을 저장하는 보조 기억 수단과,
    상기 주 기억 수단, 상기 부트 프로그램 기억 수단, 및 상기 보조 기억 수단에 대한 액세스를 행하는 파일 관리 수단을 구비한 것이며,
    해당 정보 처리 장치는,
    기동 시에, 상기 파일 관리 수단에 의해, 상기 부트 프로그램 기억 수단으로부터 판독한 상기 부트 프로그램에 근거해서, 상기 제 1 관리 정보 및 상기 제 2 관리 정보를 상기 보조 기억 수단에 전송하고,
    상기 전송된 제 1 관리 정보에 근거해서, 상기 주 기억 수단의 파일을 상기 보조 기억 수단에 전송하고,
    상기 처리 장치에 의해, 상기 보조 기억 수단에 전송된 프로그램 파일을 판독하고, 해당 프로그램의 처리를 실행하는 것을 특징으로 하는 정보 처리 방법.
KR10-2003-7012880A 2002-01-31 2003-01-31 정보 처리 장치, 메모리 관리 장치, 메모리 관리 방법, 및정보 처리 방법 KR20040080928A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002024497 2002-01-31
JPJP-P-2002-00024497 2002-01-31
PCT/JP2003/000991 WO2003065210A1 (fr) 2002-01-31 2003-01-31 Appareil de traitement d'informations, appareil de gestion de memoire, procede de gestion de memoire et procede de traitement d'informations

Publications (1)

Publication Number Publication Date
KR20040080928A true KR20040080928A (ko) 2004-09-20

Family

ID=27654489

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7012880A KR20040080928A (ko) 2002-01-31 2003-01-31 정보 처리 장치, 메모리 관리 장치, 메모리 관리 방법, 및정보 처리 방법

Country Status (7)

Country Link
US (1) US7418436B2 (ko)
EP (1) EP1473628B1 (ko)
JP (1) JP4480064B2 (ko)
KR (1) KR20040080928A (ko)
CN (1) CN100533378C (ko)
DE (1) DE60332091D1 (ko)
WO (1) WO2003065210A1 (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4218406B2 (ja) * 2003-04-25 2009-02-04 富士フイルム株式会社 情報記録再生方法
EP1503570A3 (en) * 2003-07-29 2005-07-27 Ricoh Company, Ltd. Image forming apparatus as client of a distributed file system, image processing method, image processing program and recording medium
US7594135B2 (en) * 2003-12-31 2009-09-22 Sandisk Corporation Flash memory system startup operation
DE102004013493B4 (de) * 2004-03-18 2009-11-05 Infineon Technologies Ag Zugriffs-Verfahren für einen NAND-Flash-Speicherbaustein und ein entsprechender NAND-Flash-Speicherbaustein
JP4595409B2 (ja) * 2004-07-08 2010-12-08 ソニー株式会社 情報記録装置および方法、記録媒体、プログラム記録媒体、並びにプログラム
US20060007738A1 (en) * 2004-07-09 2006-01-12 Shinji Inoue Area management type memory system, area management type memory unit and area management type memory controller
WO2006026645A2 (en) * 2004-08-30 2006-03-09 Silicon Storage Technology, Inc. Systems and methods for providing nonvolatile memory management in wireless phones
CN100538668C (zh) * 2004-12-17 2009-09-09 深圳市广道高新技术有限公司 集成式多媒体中间件装置
JP2006277395A (ja) * 2005-03-29 2006-10-12 Matsushita Electric Ind Co Ltd 情報処理装置及び情報処理方法
US9459960B2 (en) 2005-06-03 2016-10-04 Rambus Inc. Controller device for use with electrically erasable programmable memory chip with error detection and retry modes of operation
US7831882B2 (en) 2005-06-03 2010-11-09 Rambus Inc. Memory system with error detection and retry modes of operation
US20070147115A1 (en) * 2005-12-28 2007-06-28 Fong-Long Lin Unified memory and controller
US7519754B2 (en) * 2005-12-28 2009-04-14 Silicon Storage Technology, Inc. Hard disk drive cache memory and playback device
US7562285B2 (en) 2006-01-11 2009-07-14 Rambus Inc. Unidirectional error code transfer for a bidirectional data link
US20070271495A1 (en) * 2006-05-18 2007-11-22 Ian Shaeffer System to detect and identify errors in control information, read data and/or write data
US8352805B2 (en) 2006-05-18 2013-01-08 Rambus Inc. Memory error detection
US20100017557A1 (en) * 2006-07-26 2010-01-21 Panasonic Corporation Memory controller, nonvolatile memory device,access device, and nonvolatile memory system
KR100802059B1 (ko) * 2006-09-06 2008-02-12 삼성전자주식회사 읽기 디스터브로 인한 배드 블록의 생성을 억제할 수 있는메모리 시스템 및 그것의 동작 방법
CN101206577B (zh) * 2006-12-18 2010-05-19 瑞昱半导体股份有限公司 闪速存储器装置及其更新方法与程序搜寻方法
JP5220747B2 (ja) * 2007-07-31 2013-06-26 パナソニック株式会社 不揮発性記憶装置および不揮発性記憶システム
US8060685B2 (en) * 2007-07-31 2011-11-15 Hewlett-Packard Development Company, L.P. Electronic device data access system and method
US8164656B2 (en) * 2007-08-31 2012-04-24 Unity Semiconductor Corporation Memory emulation in an image capture device
JP5458507B2 (ja) * 2008-05-27 2014-04-02 株式会社リコー 画像処理装置、画像形成装置及びデータ保護方法
DE102008041683A1 (de) 2008-08-29 2010-03-04 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Rechners mit einem Speicher, Computerprogramm, Computerprogrammprodukt
JP2011192239A (ja) * 2010-03-17 2011-09-29 Sony Corp 記憶装置および記憶システム
CN102375748A (zh) * 2010-08-25 2012-03-14 深圳Tcl新技术有限公司 一种电视机闪存恢复方法
JP2012059024A (ja) * 2010-09-09 2012-03-22 Ricoh Co Ltd 情報処理装置、起動制御方法、起動制御プログラム及び記録媒体
US8756361B1 (en) * 2010-10-01 2014-06-17 Western Digital Technologies, Inc. Disk drive modifying metadata cached in a circular buffer when a write operation is aborted
US8954664B1 (en) 2010-10-01 2015-02-10 Western Digital Technologies, Inc. Writing metadata files on a disk
US8756382B1 (en) 2011-06-30 2014-06-17 Western Digital Technologies, Inc. Method for file based shingled data storage utilizing multiple media types
JP5984500B2 (ja) * 2011-11-30 2016-09-06 三菱電機株式会社 情報処理装置、放送受信装置及びソフトウェア起動方法
US8612706B1 (en) 2011-12-21 2013-12-17 Western Digital Technologies, Inc. Metadata recovery in a disk drive
US9098302B2 (en) * 2012-06-28 2015-08-04 Intel Corporation System and apparatus to improve boot speed in serial peripheral interface system using a baseboard management controller
US9703697B2 (en) 2012-12-27 2017-07-11 Intel Corporation Sharing serial peripheral interface flash memory in a multi-node server system on chip platform environment
CN103631591B (zh) * 2013-11-29 2016-08-17 中国航空无线电电子研究所 符合民用飞机不同软件等级要求的软件运行控制***与方法
CN105204901A (zh) * 2015-09-23 2015-12-30 浪潮(北京)电子信息产业有限公司 一种热加方法及装置
JP6720049B2 (ja) * 2016-10-26 2020-07-08 株式会社マキタ バッテリパック及び充電システム
WO2018083857A1 (ja) * 2016-11-07 2018-05-11 京セラドキュメントソリューションズ株式会社 情報処理装置及び情報処理方法
WO2019190866A1 (en) 2018-03-26 2019-10-03 Rambus Inc. Command/address channel error detection

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US210587A (en) * 1878-12-03 Improvement in sewing-machine casters
US199714A (en) * 1878-01-29 Improvement in machines for crimping seamless foxings for boots and shoes
US162900A (en) * 1875-05-04 Improvement in cultivators
US85416A (en) * 1868-12-29 Improvement in horse hay-porks
US162902A (en) * 1875-05-04 Improvement in paper cans
US29564A (en) * 1860-08-14 Improvement in plows
US30890A (en) * 1860-12-11 Improvement in seeding-machines
US117586A (en) * 1871-08-01 Improvement in molding-machines
US169045A (en) * 1875-10-19 Improvement in machines for forging nails
US208060A (en) * 1878-09-17 Improvement in signs
US55497A (en) * 1866-06-12 Improvement in saw-mills
US162901A (en) * 1875-05-04 Improvement in cartridges
US166088A (en) * 1875-07-27 Improvement in devices for bending metal timber-hangers
US162899A (en) * 1875-05-04 Improvement in grain-binders
JPS6013494B2 (ja) 1979-07-28 1985-04-08 富士通株式会社 自己診断方式
JPS58107976A (ja) 1981-12-22 1983-06-27 Fujitsu Ltd ボリユウム管理情報の保護方法
JPS6172321A (ja) 1984-09-14 1986-04-14 Nec Corp コンピユ−タシステムの立上げ方式
JP2633614B2 (ja) 1988-03-29 1997-07-23 株式会社日立製作所 フアイル保護装置
JPH0381842A (ja) 1989-08-25 1991-04-08 Toshiba Corp 二重ファイルシステムのファイルチェック装置
EP0528280B1 (en) * 1991-08-09 1997-11-12 Kabushiki Kaisha Toshiba Memory card apparatus
JPH0546490A (ja) 1991-08-09 1993-02-26 Toshiba Corp メモリカード装置
US6347051B2 (en) 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
TW261687B (ko) 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
JP3485938B2 (ja) * 1992-03-31 2004-01-13 株式会社東芝 不揮発性半導体メモリ装置
JPH0778231A (ja) 1993-09-07 1995-03-20 Toshiba Corp メモリカード
JPH07281951A (ja) 1994-04-15 1995-10-27 Sansei Denshi Japan Kk 拡張可能な記憶装置の制御方法とその装置
US5813009A (en) * 1995-07-28 1998-09-22 Univirtual Corp. Computer based records management system method
US6757800B1 (en) 1995-07-31 2004-06-29 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5907856A (en) 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5930815A (en) 1995-07-31 1999-07-27 Lexar Media, Inc. Moving sequential sectors within a block of information in a flash memory mass storage architecture
US6801979B1 (en) 1995-07-31 2004-10-05 Lexar Media, Inc. Method and apparatus for memory control circuit
US6081878A (en) 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5838614A (en) 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
US6125435A (en) 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5701492A (en) 1996-03-29 1997-12-23 Canon Kabushiki Kaisha Fail-safe flashing of EPROM
US6122195A (en) 1997-03-31 2000-09-19 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
US5953737A (en) 1997-03-31 1999-09-14 Lexar Media, Inc. Method and apparatus for performing erase operations transparent to a solid state storage system
US6411546B1 (en) 1997-03-31 2002-06-25 Lexar Media, Inc. Nonvolatile memory using flexible erasing methods and method and system for using same
JPH11282765A (ja) 1998-03-27 1999-10-15 Hitachi Ltd フラッシュメモリを使用した外部記憶装置
JP4842417B2 (ja) * 1999-12-16 2011-12-21 ソニー株式会社 記録装置
JP2001249855A (ja) 2000-03-07 2001-09-14 Hitachi Ltd 不揮発性メモリのデータ書き替え方法及び加入者回路
JP2002007179A (ja) 2000-06-26 2002-01-11 Sony Corp 情報処理装置、ファイルシステム
US6687687B1 (en) * 2000-07-26 2004-02-03 Zix Scm, Inc. Dynamic indexing information retrieval or filtering system
JP2002175211A (ja) * 2000-12-07 2002-06-21 Sharp Corp データ管理システムおよびデータ管理方法
US6948026B2 (en) * 2001-08-24 2005-09-20 Micron Technology, Inc. Erase block management
US6838614B2 (en) * 2002-09-10 2005-01-04 Ast Services, Llc Hydraulic and electric umbilical connection for an inspection vehicle for inspecting a liquid-filled tank

Also Published As

Publication number Publication date
JP4480064B2 (ja) 2010-06-16
DE60332091D1 (de) 2010-05-27
EP1473628B1 (en) 2010-04-14
JPWO2003065210A1 (ja) 2005-05-26
US7418436B2 (en) 2008-08-26
EP1473628A4 (en) 2005-11-09
CN100533378C (zh) 2009-08-26
US20040139310A1 (en) 2004-07-15
CN1498367A (zh) 2004-05-19
WO2003065210A1 (fr) 2003-08-07
EP1473628A1 (en) 2004-11-03

Similar Documents

Publication Publication Date Title
KR20040080928A (ko) 정보 처리 장치, 메모리 관리 장치, 메모리 관리 방법, 및정보 처리 방법
US8028120B2 (en) System with flash memory device and data recovery method thereof
US6381176B1 (en) Method of driving remapping in flash memory and flash memory architecture suitable therefor
US6170066B1 (en) Power-off recovery management for sector based flash media managers
JP3708047B2 (ja) フラッシュメモリの管理方法
CN100419714C (zh) 闪存存取方法、闪存文件***的块替换方法及其管理装置
RU2243588C2 (ru) Энергонезависимое устройство памяти, устройство записи и способ записи
US7533378B2 (en) File-update apparatus for updating a file recorded on a recording medium
JP3178909B2 (ja) 半導体メモリ装置
JP3906825B2 (ja) 計算機システム、計算機システム起動方法およびプログラム
EP2096546B1 (en) Write once recording device
CN101763309B (zh) 非易失性存储装置、信息记录***及信息记录方法
US20080276036A1 (en) Memory with Block-Erasable Location
KR20010086352A (ko) 플래시 마이크로컴퓨터의 프로그램 재기록 방법
US20100077135A1 (en) Memory wear leveling method, system and device
JP2006294061A (ja) メモリ管理
KR20050065632A (ko) 비휘발성 저장 시스템의 소거 카운트 유지 방법 및 장치
JP2004152299A (ja) 不揮発性メモリシステム内での使用不可能なブロック管理
KR20050067203A (ko) 비휘발성 저장 시스템의 평균 소거 카운트 유지 방법 및장치
KR100370893B1 (ko) 일괄 소거형 비휘발성 메모리 장치
KR20050070091A (ko) 소거 카운트 블록을 유지하는 방법 및 장치
JP2010267290A (ja) 共通論理ブロックに関連付けられている物理ブロックを解決するための方法および装置
US20070005929A1 (en) Method, system, and article of manufacture for sector mapping in a flash device
KR100622113B1 (ko) 데이터베이스 시스템을 위한 플래쉬 메모리 저장 시스템 및그 방법
US8068363B2 (en) Flash memory apparatus and read operation control method therefor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee