KR20060095133A - Method for operating system program stored in non-volatile memory - Google Patents

Method for operating system program stored in non-volatile memory Download PDF

Info

Publication number
KR20060095133A
KR20060095133A KR1020050016549A KR20050016549A KR20060095133A KR 20060095133 A KR20060095133 A KR 20060095133A KR 1020050016549 A KR1020050016549 A KR 1020050016549A KR 20050016549 A KR20050016549 A KR 20050016549A KR 20060095133 A KR20060095133 A KR 20060095133A
Authority
KR
South Korea
Prior art keywords
system program
header information
boot
volatile memory
valid
Prior art date
Application number
KR1020050016549A
Other languages
Korean (ko)
Inventor
박종주
Original Assignee
(주)엠씨에스로직
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)엠씨에스로직 filed Critical (주)엠씨에스로직
Priority to KR1020050016549A priority Critical patent/KR20060095133A/en
Publication of KR20060095133A publication Critical patent/KR20060095133A/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B18/00Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body
    • A61B18/04Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by heating
    • A61B18/06Surgical instruments, devices or methods for transferring non-mechanical forms of energy to or from the body by heating caused by chemical reaction, e.g. moxaburners
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H39/00Devices for locating or stimulating specific reflex points of the body for physical therapy, e.g. acupuncture
    • A61H39/06Devices for heating or cooling such points within cell-life limits
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/01Constructive details
    • A61H2201/0119Support for the device
    • A61H2201/0138Support for the device incorporated in furniture
    • A61H2201/0142Beds
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/01Constructive details
    • A61H2201/0173Means for preventing injuries
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2203/00Additional characteristics concerning the patient
    • A61H2203/04Position of the patient
    • A61H2203/0443Position of the patient substantially horizontal
    • A61H2203/0456Supine

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Veterinary Medicine (AREA)
  • Surgery (AREA)
  • Rehabilitation Therapy (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Engineering & Computer Science (AREA)
  • Otolaryngology (AREA)
  • General Chemical & Material Sciences (AREA)
  • Biomedical Technology (AREA)
  • Stored Programmes (AREA)
  • Physics & Mathematics (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Molecular Biology (AREA)
  • Plasma & Fusion (AREA)
  • Chemical & Material Sciences (AREA)
  • Medical Informatics (AREA)
  • Epidemiology (AREA)
  • Pain & Pain Management (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Heart & Thoracic Surgery (AREA)

Abstract

본 발명은 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법에 관한 것이다.The present invention relates to a method for running a system program stored in a nonvolatile memory.

본 발명은, 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법에 있어서, (a) 컨트롤러에서 부트 헤더 정보가 유효한지 여부를 확인하는 단계; (b) 부트 헤더 정보가 유효하면, 부트 헤더 정보를 이용하여 컨트롤러의 내부 레지스터를 초기화시키고, 시스템 초기화를 위한 시작 프로그램을 실행시키는 단계; (c) 비휘발성 메모리의 'Not Used Sectors' 영역에 저장된 시스템 프로그램이 유효한지 여부를 확인하는 단계; (d) 시스템 프로그램이 유효하면, 시스템 프로그램을 부트 헤더 정보에 포함된 휘발성 메모리의 주소로 이동시키는 단계; 및 (e) 컨트롤러에서 휘발성 메모리에 옮겨진 시스템 프로그램을 실행시켜 시스템을 구동시키는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법을 제공한다.The present invention provides a method of driving a system program stored in a nonvolatile memory, comprising: (a) checking whether boot header information is valid in a controller; (b) if the boot header information is valid, initializing an internal register of the controller using the boot header information, and executing a startup program for system initialization; (c) checking whether a system program stored in a 'Not Used Sectors' area of the nonvolatile memory is valid; (d) if the system program is valid, moving the system program to an address of the volatile memory included in the boot header information; And (e) running the system program transferred to the volatile memory in the controller to drive the system.

본 발명에 의하면, 부트 헤더 정보를 이용하여 비휘발성 메모리의 'Not Used Sectors' 영역에 저장된 시스템 프로그램을 휘발성 메모리로 옮겨서 구동시킬 수 있는 효과가 있다.According to the present invention, the system program stored in the 'Not Used Sectors' area of the nonvolatile memory can be moved to the volatile memory using the boot header information to be driven.

비휘발성 메모리, 휘발성 메모리, 컨트롤러, 시스템 프로그램, 부트 헤더 정보  Nonvolatile Memory, Volatile Memory, Controllers, System Programs, Boot Header Information

Description

비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법{Method for Operating System Program Stored in Non-Volatile Memory}Method for Operating System Program Stored in Non-Volatile Memory

도 1은 일반적인 FAT의 구조를 나타낸 도면,1 is a view showing the structure of a general FAT,

도 2는 본 발명의 바람직한 실시예에 따른 FAT의 구조를 나타낸 도면,2 is a view showing the structure of a FAT according to a preferred embodiment of the present invention;

도 3은 본 발명의 바람직한 실시예에 따른 시스템 프로그램을 구동시키기 위한 부트 헤더 정보를 나타낸 도면,3 is a diagram showing boot header information for driving a system program according to an embodiment of the present invention;

도 4는 본 발명의 바람직한 실시예에 따른 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법을 나타낸 순서도이다.4 is a flowchart illustrating a method of driving a system program stored in a nonvolatile memory according to an exemplary embodiment of the present invention.

본 발명은 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법에 관한 것이다. 더욱 상세하게는, 메모리를 제어하는 컨트롤러에서 부트 헤더 정보가 유효한지 여부를 확인하여, 부트 헤더 정보가 유효하면 컨트롤러의 내부 레지스터를 초기화시키고 시스템 초기화를 위한 시작 프로그램을 실행시키며, 비휘발성 메모리의 'Not Used Sectors' 영역에 저장된 시스템 프로그램이 유효한지 여부를 확인하여, 시스템 프로그램이 유효하면 부트 헤더 정보에 포함된 휘발성 메모리의 주 소로 시스템 프로그램을 이동시키며, 컨트롤러에서 휘발성 메모리로 옮겨진 시스템 프로그램을 실행시켜 시스템을 구동시키는 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법에 관한 것이다.The present invention relates to a method for running a system program stored in a nonvolatile memory. More specifically, the controller controlling the memory checks whether the boot header information is valid, and if the boot header information is valid, initializes an internal register of the controller and executes a startup program for system initialization. Check whether the system program stored in 'Not Used Sectors' area is valid.If the system program is valid, move the system program to the address of volatile memory included in the boot header information, and execute the system program moved from the controller to volatile memory. A method of driving a system program stored in a nonvolatile memory for driving a system.

전기 및 전자 기술이 비약적으로 발전함에 따라 MP3 플레이어, 전자 사전, PDA(Personal Digital Assistant) 등과 같이 데이터 입출력부, 메모리, 데이터 및 제어 신호를 처리하는 중앙처리장치 등을 구비하여 특정 기능을 제공하는 다양한 전자 제품들이 일상 생활에서 사용되고 있다. 이러한 전자 제품들은 컴퓨터와 같은 외부 기기와 연결하여 데이터를 교환할 수 있으며, 메모리에 접근하여 읽기/쓰기(Read/Write) 작업을 수행하고 메모리에 저장된 프로그램을 구동시키는 컨트롤러(Controller)를 가지고 있다. 컨트롤러가 동작하기 위해서는 초기화 프로그램이 비휘발성(Non-Volatile) 메모리에 저장되어 있어야 한다. 휘발성(Volatile) 메모리는 전원이 오프되면 저장된 정보를 잃어버리기 때문에, 일반적으로 휘발성 메모리만으로는 컨트롤러를 동작시킬 수 없다.As electrical and electronic technologies are rapidly evolving, various functions that provide specific functions are provided with data input / output units, memory, data processing and control signals such as MP3 players, electronic dictionaries, and personal digital assistants (PDAs). Electronic products are used in everyday life. These electronic products can exchange data by connecting to an external device such as a computer, and have a controller that accesses the memory to perform read / write operations and drives a program stored in the memory. In order for the controller to operate, the initialization program must be stored in non-volatile memory. Since volatile memory loses its stored information when the power is turned off, volatile memory usually cannot operate the controller alone.

NOR-FLASH 또는 ROM과 같은 비휘발성 메모리에 프로그램을 저장하는 경우에는 컨트롤러에서 비휘발성 메모리에 저장된 프로그램을 직접 실행할 수 있다. 그러나, NAND-FLASH, Serial-FLASH, 하드 디스크(HDD)와 같은 비휘발성 메모리에 프로그램이 저장되어 있는 경우에는 컨트롤러에서 직접 저장된 프로그램을 실행시킬 수 없으며, 비휘발성 메모리에 저장된 프로그램을 RAM, SRAM, SDRAM과 같은 휘발성 메모리로 옮긴 후에 실행시켜야 한다.If you store a program in nonvolatile memory, such as NOR-FLASH or ROM, you can run the program stored in nonvolatile memory directly on the controller. However, if a program is stored in nonvolatile memory such as NAND-FLASH, Serial-FLASH, or HDD, the stored program cannot be executed directly from the controller. It must be run after moving to volatile memory such as SDRAM.

예컨대, 전자 제품이 NAND-FLASH 메모리와 휘발성 메모리를 가지고 있는 경 우에는, 컨트롤러 내부의 ROM에 초기화 프로그램이 저장되어 있어야 하며, ROM 코드(Code)에 따라 NAND-FLASH에 저장된 프로그램을 휘발성 메모리로 옮긴 후에 해당 프로그램을 실행시키게 된다.For example, if an electronic product has NAND-FLASH memory and volatile memory, the initialization program should be stored in ROM inside the controller, and the program stored in NAND-FLASH is moved to volatile memory according to the ROM code. The program will run later.

여기서, 휘발성 메모리는 종류에 따라 컨트롤러에서 제어하는 방식이 다르게 때문에, 비휘발성 메모리에 저장된 프로그램을 휘발성 메모리로 옮긴 후에 해당 프로그램을 실행하기 위해서는, 컨트롤러에서 휘발성 메모리의 종류를 알고 있어야 한다. 종래에는 컨트롤러에서 휘발성 메모리의 종류를 확인하기 위해, 컨트롤러의 외부 핀 옵션(Pin Option)을 이용하는 방식, 비트 Configuration을 통해 휘발성 메모리의 종류를 체크하는 방식, 컨트롤러 내부의 ROM에서 특정 종류의 휘발성 메모리를 제어할 휘발성 메모리로 정하는 방식 등을 이용하였다. 그러나, 전술한 방식들은 컨트롤러에서 다양한 종류의 휘발성 메모리를 모두 제어할 수 없다는 문제점이 있다.Here, the volatile memory is controlled by the controller according to the type, so in order to execute the program after moving the program stored in the nonvolatile memory to the volatile memory, the controller must know the type of the volatile memory. Conventionally, in order to check the type of volatile memory in the controller, a method using an external pin option of the controller, a method of checking the type of volatile memory through a bit configuration, and a specific type of volatile memory in a ROM inside the controller A method of determining a volatile memory to be controlled is used. However, the above-described schemes have a problem in that they cannot control all kinds of volatile memories.

한편, 전자 제품의 비휘발성 메모리에는 컨트롤러에서 전체 시스템을 구동하기 위한 시스템 프로그램을 저장할 수 있으며, 비휘발성 메모리의 저장 영역 중에서 어느 위치에 시스템 프로그램을 저장할 것인지 여부를 고려할 필요가 있다.Meanwhile, the nonvolatile memory of the electronic product may store a system program for driving the entire system in the controller, and it is necessary to consider in which position of the nonvolatile memory storage area the system program is to be stored.

비휘발성 메모리가 탑재된 전자 제품은 컴퓨터와 연결될 수 있으므로, 비휘발성 메모리는 FAT(File Allocation Table)과 같이 컴퓨터가 처리 가능한 형식으로 데이터를 저장해야 하며, 이로 인해 부트 영역에 시스템 코드를 저장해서는 안된다. 컴퓨터는 하드 디스크에 저장된 부팅 프로그램을 실행하여 컴퓨터를 부팅시키게 되는데, 이러한 부팅 과정은 FAT에 있는 부트 영역의 정보에 따라 약속한 절차 로 수행하게 된다. 비휘발성 메모리의 부트 영역에 시스템 코드를 저장시키면, 컴퓨터는 컨트롤러가 실행시키는 시스템 프로그램을 컴퓨터의 부트 프로그램으로 인식하여 오동작을 일으킬 수 있다.Because electronics with nonvolatile memory can be connected to a computer, nonvolatile memory must store data in a format that can be processed by a computer, such as a file allocation table (FAT), so that system code must not be stored in the boot area. . The computer will boot the computer by executing a boot program stored on the hard disk. The booting process is performed according to the promised procedure according to the information of the boot area in the FAT. If the system code is stored in the boot area of the nonvolatile memory, the computer may recognize a system program executed by the controller as the boot program of the computer and cause a malfunction.

따라서, 종래에는 비휘발성 메모리에 저장된 시스템 프로그램이 컴퓨터에 영향을 주지 않도록 시스템 프로그램이 저장된 영역을 'Bad Block'으로 처리하여 컨트롤러만 접근하도록 하거나, 전체 메모리 용량에서 시스템 프로그램이 차지하는 용량을 제외한 사이즈를 컴퓨터로 알려주는 방법 등을 사용하고 있다. 그러나, 전술한 방법들을 적용하면, 외부의 컴퓨터에서 시스템 프로그램을 저장한 영역을 인식할 수 없게 되어, 시스템 프로그램의 업그레이드가 필요한 경우에도 시스템 프로그램에 접근할 수 없게 되는 문제점이 발생한다. 이 경우, 컨트롤러는 컴퓨터가 접근할 수 있는 영역을 관리하는 프로그램과 그 외의 영역을 관리하는 프로그램을 구비하고 있어야 하는 불편함이 있다.Therefore, in order to prevent the system program stored in the nonvolatile memory from affecting the computer, the area in which the system program is stored is treated as a 'Bad Block' so that only the controller can access it, or the size of the total memory capacity excluding the system program occupies I'm using a computer to tell me. However, if the above-described methods are applied, the area in which the system program is stored in the external computer cannot be recognized, and thus, the system program becomes inaccessible even when the system program needs to be upgraded. In this case, the controller is inconvenient to have a program for managing an area accessible by the computer and a program for managing other areas.

상기한 문제점을 해결하기 위해 본 발명은, 메모리를 제어하는 컨트롤러에서 부트 헤더 정보가 유효한지 여부를 확인하여, 부트 헤더 정보가 유효하면 컨트롤러의 내부 레지스터를 초기화시키고 시스템 초기화를 위한 시작 프로그램을 실행시키며, 비휘발성 메모리의 'Not Used Sectors' 영역에 저장된 시스템 프로그램이 유효한지 여부를 확인하여, 시스템 프로그램이 유효하면 부트 헤더 정보에 포함된 휘발성 메모리의 주소로 시스템 프로그램을 이동시키며, 컨트롤러에서 휘발성 메모리로 옮겨진 시스템 프로그램을 실행시켜 시스템을 구동시키는 비휘발성 메모리에 저장 된 시스템 프로그램을 구동시키는 방법을 제공하는 것을 목적으로 한다.In order to solve the above problems, the present invention checks whether the boot header information is valid in the controller controlling the memory, and if the boot header information is valid, initializes an internal register of the controller and executes a startup program for system initialization. The system checks whether the system program stored in the 'Not Used Sectors' area of the nonvolatile memory is valid.If the system program is valid, the system program is moved to the address of the volatile memory included in the boot header information. It is an object of the present invention to provide a method of driving a system program stored in a nonvolatile memory that drives a system by executing a transferred system program.

본 발명의 목적에 의하면, 비휘발성 메모리(Non-Volatile), 휘발성(Volatile) 메모리 및 상기 비휘발성 메모리와 상기 휘발성 메모리를 제어하는 컨트롤러를 포함하는 시스템에서 상기 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법에 있어서, (a) 상기 컨트롤러에서 부트 헤더 정보가 유효한지 여부를 확인하는 단계; (b) 상기 부트 헤더 정보가 유효하면, 상기 부트 헤더 정보를 이용하여 상기 컨트롤러의 내부 레지스터를 초기화시키고, 시스템 초기화를 위한 시작 프로그램을 실행시키는 단계; (c) 상기 비휘발성 메모리의 'Not Used Sectors' 영역에 저장된 상기 시스템 프로그램이 유효한지 여부를 확인하는 단계; (d) 상기 시스템 프로그램이 유효하면, 상기 시스템 프로그램을 상기 부트 헤더 정보에 포함된 상기 휘발성 메모리의 주소로 이동시키는 단계; 및 (e) 상기 컨트롤러에서 상기 휘발성 메모리에 옮겨진 상기 시스템 프로그램을 실행시켜 상기 시스템을 구동시키는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법을 제공한다.According to an object of the present invention, a system program stored in the non-volatile memory in a system including a non-volatile memory (Volatile), a volatile memory (Volatile) and a controller for controlling the non-volatile memory and the volatile memory A method comprising: (a) checking at a controller whether boot header information is valid; (b) if the boot header information is valid, initializing an internal register of the controller using the boot header information, and executing a startup program for system initialization; (c) checking whether the system program stored in the 'Not Used Sectors' area of the nonvolatile memory is valid; (d) if the system program is valid, moving the system program to an address of the volatile memory included in the boot header information; And (e) running the system program transferred to the volatile memory in the controller to drive the system.

이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경 우에는 그 상세한 설명은 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. First of all, in adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are used as much as possible even if displayed on different drawings. In addition, in describing the present invention, when it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.

도 1은 일반적인 FAT의 구조를 나타낸 도면이다.1 is a view showing the structure of a general FAT.

메모리와 같은 저장 장치에 저장된 데이터를 액세스하기 위해서는 파일의 명칭 부여, 저장, 편성 등을 총괄적으로 유지 관리하기 위한 파일 시스템이 필요하다. FAT 화일 시스템은 저장 장치에 저장된 파일을 찾기 위해 FAT이라는 파일 배치표를 조회하여 해당 데이터가 있는 위치로 찾아 데이터에 접근하게 된다. FAT 화일 시스템에 따라 데이터를 저장하는 비휘발성 메모리와 같은 저장 장치에는 데이터 저장 영역 이외에 데이터를 관리하기 위한 영역이 존재한다.In order to access data stored in a storage device such as a memory, a file system for collectively maintaining file naming, storage, organization, and the like is required. The FAT file system searches a file arrangement table called FAT to find a file stored in a storage device and finds a location where the data exists and accesses the data. In a storage device such as a nonvolatile memory that stores data according to the FAT file system, an area for managing data exists in addition to the data storage area.

데이터를 관리하기 위한 영역은 도 1에 도시된 FAT 구조와 같이, MBR(Master Boot Record), 'Not Used Sectors', 'Reserved Sectors', FAT1, FAT2 등의 영역으로 구성되어 있다.The area for managing data is composed of areas such as MBR (Master Boot Record), 'Not Used Sectors', 'Reserved Sectors', FAT1, FAT2 and the like as shown in the FAT structure shown in FIG.

MBR은 비휘발성 메모리의 첫번째 섹터이며, 전원이 인가되면 부팅 과정 수행을 위해 가장 먼저 읽게 되는 섹터이다. MBR은 메모리의 각 파티션의 위치에 관한 정보를 포함한 파티션 테이블(Partition Table)을 가지고 있으며, 파티션의 부트 섹터(Boot Sector)를 읽을 수 있는 프로그램을 포함하고 있다.The MBR is the first sector of nonvolatile memory, and is the first sector to be read when power is applied to perform the boot process. The MBR has a partition table that contains information about the location of each partition in memory, and contains a program that can read the boot sector of a partition.

'Not Used Sectors' 영역은 MBR과 'Reserved Sectors' 영역 사이에 위치하며, 데이터를 관리하기 위한 영역 중 사용되지 않고 남아있는 영역으로서 일반적으로 수십 섹터 정도의 용량을 가진다. 'Not Used Sectors' 영역은 MBR과 'Reserved Sectors' 영역을 보호하기 위한 할당하거나 FAT1과 FAT2의 위치를 정하기 위해 할당할 수 있다.The 'Not Used Sectors' area is located between the MBR and the 'Reserved Sectors' area. The area used for data management remains unused and generally has a capacity of several tens of sectors. The 'Not Used Sectors' area can be allocated to protect the MBR and 'Reserved Sectors' areas, or can be allocated to locate FAT1 and FAT2.

'Reserved Sectors' 영역은 부트 레코드, FAT32 정보 섹터 및 다수의 Reserved 섹터로 구성되어 있다. 부트 레코드는 FAT의 BPB(Bios Parameter Block) 정보, 메모리 용량 등의 메모리의 물리적 구조에 대한 정보를 가지고 있으며, OS(Operating System) 구동 프로그램을 저장한다. 따라서, 부트 레코드를 읽어 저장된 OS 구동 프로그램을 실행시켜 부팅 과정을 수행하게 된다. FAT32 정보 섹터는 FAT32 파일 시스템에서 존재하는 섹터이며, FAT의 개수, 하나의 섹터를 구성하는 바이트 수, 하나의 클러스터(Cluster)를 구성하는 섹터 수, Reserved 섹터의 개수 등의 정보를 포함하고 있다.The 'Reserved Sectors' area consists of a boot record, a FAT32 information sector and a number of reserved sectors. The boot record has information on the physical structure of the memory, such as FAT parameter (PBB) information, memory capacity, and stores an operating system (OS) driving program. Therefore, the boot process is performed by reading a boot record and executing a stored OS driving program. The FAT32 information sector is a sector existing in the FAT32 file system and includes information such as the number of FATs, the number of bytes constituting one sector, the number of sectors constituting one cluster, and the number of reserved sectors.

FAT1은 파일 정보 할당 영역으로서 메모리에서 파일이 저장되는 위치, 파일의 크기, 속성 등에 대한 정보를 가지고 있다. FAT1은 클러스터 단위로 메모리를 관리하므로, 비어있는 클러스터와 사용중인 클러스터를 기록하고 하나의 파일이 여러 개의 클러스터에 저장되는 경우에는 파일을 저장한 각 클러스터의 위치와 순서를 기록하여 관리하게 된다. FAT2는 FAT1의 백업본으로서 FAT1과 동일한 정보를 가지고 있으며, FAT1이 손상된 경우에 FAT2에 저장된 정보를 이용하여 FAT1의 손상된 정보를 복구할 수 있다.FAT1 is a file information allocation area and contains information on a location where a file is stored in memory, a file size, an attribute, and the like. Since FAT1 manages memory in cluster units, it records the empty clusters and the clusters in use. When a file is stored in multiple clusters, FAT1 records and manages the location and order of each cluster that stores the files. FAT2 has the same information as FAT1 as a backup copy of FAT1. When FAT1 is damaged, the damaged information of FAT1 can be recovered by using the information stored in FAT2.

도 2는 본 발명의 바람직한 실시예에 따른 FAT의 구조를 나타낸 도면이다.2 is a view showing the structure of a FAT according to a preferred embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명에서는 데이터를 관리하기 위한 영역 중 사용되지 않고 남아있는 영역을 활용하여 비휘발성 메모리를 내장한 시스템을 구동시키기 위한 시스템 프로그램을 'Not Used Sectors' 영역에 저장하여 관리하도록 한다.As shown in FIG. 2, in the present invention, a system program for driving a system incorporating a nonvolatile memory using an unused area remaining in data management area is stored in a 'Not Used Sectors' area. Manage it.

'Not Used Sectors' 영역에 시스템 프로그램을 저장시키면, 외부의 컴퓨터에서 시스템 프로그램이 저장된 영역을 인식할 수 있되, 비휘발성 메모리의 부트 영역에 시스템 프로그램이 저장된 것이 아니므로 시스템 프로그램이 외부의 컴퓨터의 동작에 영향을 미치지 않게 된다. 또한, 시스템 프로그램이 저장된 영역에 접근하기 위한 별도의 드라이버 프로그램을 구비할 필요가 없게 된다.If the system program is stored in the 'Not Used Sectors' area, the external computer can recognize the area where the system program is stored, but since the system program is not stored in the boot area of the non-volatile memory, the system program operates in the external computer. Will not affect. In addition, it is not necessary to have a separate driver program for accessing the area where the system program is stored.

도 3은 본 발명의 바람직한 실시예에 따른 시스템 프로그램을 구동시키기 위한 부트 헤더 정보를 나타낸 도면이다.3 is a diagram illustrating boot header information for driving a system program according to an exemplary embodiment of the present invention.

부트 헤더 정보는 컨트롤러에서 비휘발성 메모리에 저장된 시스템 프로그램을 운용하기 위한 정보를 가지고 있으며, 부트 헤더 정보의 각 항목에 대한 설명은 아래와 같다.The boot header information includes information for operating a system program stored in nonvolatile memory in the controller. A description of each item of the boot header information is as follows.

도 3에 도시된 바와 같이, 부트 헤더 정보는 기본적으로 워드(Word) 크기인 32 비트 단위로 각 항목을 구분하나 항목에 따라 더 적은 비트를 할당할 수 있다. 부트 헤더 정보의 첫번째 줄의 'Startup Code Size' 항목은 시스템 초기화를 위한 시작 프로그램의 스타트업 코드의 크기를 표시하고, 'Header Size' 항목은 부트 헤더 정보의 크기를 표시한다. 첫번째 줄의 20, 21, 22 비트는 각각 C, T, S 항목으로 설정되어 있으며, 이들의 역할은 아래와 같다.As illustrated in FIG. 3, the boot header information may distinguish each item in units of 32 bits, which is basically a word size, but may allocate fewer bits according to the item. The 'Startup Code Size' item in the first line of the boot header information indicates the size of the startup code of the startup program for system initialization, and the 'Header Size' item indicates the size of the boot header information. Bits 20, 21, and 22 of the first line are set to C, T, and S items, respectively, and their roles are as follows.

S 항목은 스타드업 코드의 실행 여부를 설정하기 위한 비트로서, S 항목이 '1'로 설정되어 있는 경우에 컨트롤러에서 스타트업 코드를 실행시키게 된다. L 항목은 시스템 코드를 비휘발성 메모리에서 휘발성 메모리로 옮길 것인지 여부를 설정하기 위한 비트로서, L 항목이 '1'로 설정되어 있는 경우에 비휘발성 메모리에 저장된 시스템 코드를 휘발성 메모리로 옮기게 된다. 따라서, 시스템 코드가 저장된 비휘발성 메모리가 NAND-FLASH, Serial-FLASH, 하드 디스크 등과 같이 컨트롤러에서 비휘발성 메모리에 저장된 프로그램을 직접 실행시킬 수 없는 종류인 경우에는 L 항목을 '1'로 설정해야 한다. L 항목이 '1'로 설정되어 있는 경우에는 시스템 코드를 메인 코드 시작 주소(Main Code Start Address)로 다운로드시킨다. C 항목은 코드 영역의 유효성을 검증하기 위한 체크섬(Checksum)을 수행할 것인지 여부를 설정하기 위한 비트로서, C 항목이 '1'로 설정되어 있는 경우에 컨트롤러에서 코드 영역에 대한 체크섬을 수행하게 된다.The S item is a bit to set whether to execute the startup code. When the S item is set to '1', the controller executes the startup code. The L item is a bit for setting whether to transfer the system code from the nonvolatile memory to the volatile memory. When the L item is set to '1', the system code stored in the nonvolatile memory is transferred to the volatile memory. Therefore, L type should be set to '1' if nonvolatile memory where system code is stored is the kind that NAND-FLASH, Serial-FLASH, hard disk, etc. can't directly execute the program stored in nonvolatile memory. . If the L item is set to '1', the system code is downloaded to the main code start address. The C item is a bit to set whether to perform a checksum for validating the code area. When the C item is set to '1', the controller performs a checksum for the code area. .

부트 헤더 정보의 두번째 줄의 'Register Number' 항목에는 컨트롤러에서 사용할 레지스터의 개수를 표시한다. 도 3에 도시된 바와 같이, 부트 헤더 정보는 'Register Number' 항목에서 설정한 레지스터의 개수(N)만큼 각 레지스터의 주소(Address) 및 레지스터 값(Value)을 가지고 있으며, 컨트롤러는 부트 헤더 정보에 기록된 각 레지스터 값을 대응하는 레지스터의 주소에 할당하여 컨트롤러의 내부 레지스터들을 초기화시켜 이용하게 된다. 'R/B GPIO Number' 항목은 Ready/Busy 신호를 탐지하기 위해 할당된 GPIO(General Purpose Input Output) 핀 넘버를 설정하며, 비휘발성 메모리가 NAND-FLASH인 경우에 유효한 항목이다. 부트 헤더 정보의 세번째 줄 부터는 전술한 N 개의 레지스터 주소와 레지스터 값을 차례대로 표시하게 된다.The 'Register Number' item on the second line of the boot header information indicates the number of registers to be used by the controller. As shown in FIG. 3, the boot header information has an address and a register value of each register as many as the number N of registers set in the 'Register Number' item. Each register value is assigned to the address of the corresponding register to initialize and use the internal registers of the controller. The 'R / B GPIO Number' item sets the General Purpose Input Output (GPIO) pin number assigned to detect the Ready / Busy signal and is valid when the nonvolatile memory is NAND-FLASH. From the third line of the boot header information, the aforementioned N register addresses and register values are displayed in order.

'Serial Number' 항목은 시스템의 시리얼 넘버를 표시하고, 'Startup Code Load Address' 항목과 'Main Code Start Address' 항목은 각각 스타트업 코드 구동 주소와 메인 코드 시작 주소를 표시한다. 스타트업 코드는 스타트업 코드 구동 주소로 복사된 후에 실행되며, 메인 코드(즉, 시스템 코드)는 메인 코드 시작 주소로 복사된 후에 실행된다. 비휘발성 메모리에 저장된 시스템 코드는 휘발성 메모리로 옮겨진 후에 컨트롤러에 의해 실행되어야 하므로, 메인 코드 시작 주소는 시스템 코드를 옮기기 위한 휘발성 메모리의 특정 위치를 가리키도록 설정할 수 있다.The 'Serial Number' item displays the serial number of the system. The 'Startup Code Load Address' and 'Main Code Start Address' items respectively indicate the startup code drive address and the main code start address. The startup code is executed after it is copied to the startup code drive address, and the main code (ie system code) is executed after it is copied to the main code start address. Since the system code stored in the nonvolatile memory must be executed by the controller after being transferred to the volatile memory, the main code start address can be set to point to a specific location of the volatile memory for moving the system code.

'Main Code Size' 항목은 시스템 코드의 크기를 표시하고, 'Code Area Checksum' 항목과 'Header Area Checksum' 항목은 각각 코드 영역 체크섬 결과값과 헤더 영역 체크섬 결과값을 기록하며, 'Header Signature' 항목은 헤더 서명을 기록한다. 여기서, 코드 영역 체크섬은 시스템 프로그램이 유효한지 여부를 검증하기 위해 수행하며, 헤더 영역 체크섬은 부트 헤더에 기록된 정보가 유효한지 여부를 검증하기 위해 수행한다.The 'Main Code Size' item indicates the size of the system code, the 'Code Area Checksum' item and the 'Header Area Checksum' item respectively record the code area checksum and header area checksum result, and the 'Header Signature' item. Records the header signature. Here, the code region checksum is performed to verify whether the system program is valid, and the header region checksum is performed to verify whether the information recorded in the boot header is valid.

한편, 부트 헤더 정보의 구성 순서가 전술한 구성에 한정되는 것은 아니며, 컨트롤러에서 부트 헤더 정보를 분석하는 방식에 맞추어 각 항목의 위치를 바꾸어 부트 헤더 정보를 구성할 수도 있다.On the other hand, the configuration order of the boot header information is not limited to the above-described configuration, and the boot header information may be configured by changing the position of each item in accordance with the manner in which the controller analyzes the boot header information.

도 4는 본 발명의 바람직한 실시예에 따른 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법을 나타낸 순서도이다.4 is a flowchart illustrating a method of driving a system program stored in a nonvolatile memory according to an exemplary embodiment of the present invention.

도 2에 대한 설명에서 전술한 대로, 시스템 프로그램은 비휘발성 메모리의 MBR과 'Reserved Sectors' 영역 사이에 위치한 'Not Used Sectors' 영역에 저장하게 되며, 시스템 프로그램을 구동시키는 과정은 아래와 같다.As described above with reference to FIG. 2, the system program is stored in the 'Not Used Sectors' region located between the MBR of the nonvolatile memory and the 'Reserved Sectors' region, and the process of driving the system program is as follows.

비휘발성 메모리, 휘발성 메모리 및 메모리를 제어하는 컨트롤러를 포함한 시스템으로 전원이 인가되면 컨트롤러에서 부팅 과정을 수행하게 된다(S400). 컨트롤러는 부팅 과정을 수행하기 위해 부트 헤더 정보가 유효한지 여부를 확인한다(S402). 이를 위해, 부트 헤더 정보의 'Header Area Checksum' 항목의 헤더 영역 체크섬 결과값을 확인하여 부트 헤더에 기록된 정보가 유효한지 여부를 검증할 수 있다.When power is applied to a system including a nonvolatile memory, a volatile memory, and a controller that controls the memory, the controller performs a booting process (S400). The controller checks whether the boot header information is valid to perform a booting process (S402). To this end, the header area checksum result value of the 'Header Area Checksum' item of the boot header information may be checked to verify whether the information recorded in the boot header is valid.

부트 헤더 정보가 유효하면, 부트 헤더 정보에 기록된 레지스터 세팅 정보를 이용하여 컨트롤러의 내부 레지스터를 초기화시키고(S404), 시스템 초기화를 위한 시작 프로그램을 실행시킨다(S406). 여기서, 시작 프로그램의 스타트업 코드는 부트 헤더 정보의 'Startup Code Load Address' 항목에 기록된 스타트업 코드 구동 주소에 복사된 후에 실행된다.If the boot header information is valid, the internal register of the controller is initialized using the register setting information recorded in the boot header information (S404), and a startup program for system initialization is executed (S406). Here, the startup code of the startup program is executed after being copied to the startup code driving address recorded in the 'Startup Code Load Address' item of the boot header information.

S404 단계 및 S406 단계를 실행한 후에는, 비휘발성 메모리에 저장된 시스템 프로그램이 유효한지 여부를 확인한다(S408). 이를 위해, 부트 헤더 정보의 'Code Area Checksum' 항목의 코드 영역 체크섬 결과값을 확인하여 시스템 프로그램이 유효한지 여부를 검증할 수 있다.After executing steps S404 and S406, it is checked whether the system program stored in the nonvolatile memory is valid (S408). To this end, it is possible to verify whether the system program is valid by checking the code area checksum result value of the 'Code Area Checksum' item of the boot header information.

시스템 프로그램이 유효하면, 컨트롤러는 비휘발성 메모리에 저장된 시스템 프로그램을 부트 헤더 정보에 포함된 휘발성 메모리의 주소로 이동시킨다(S410). 즉, 컨트롤러는 부트 헤더 정보의 'Main Code Start Address' 항목에 기록된 휘발성 메모리의 주소로 시스템 프로그램을 복사하게 된다. 시스템 프로그램이 휘발성 메모리로 옮겨지면, 컨트롤러는 휘발성 메모리에 저장된 시스템 프로그램을 실행시키게 되며, 실행된 시스템 프로그램에 의해 시스템을 구동시키게 된다(S412).If the system program is valid, the controller moves the system program stored in the nonvolatile memory to the address of the volatile memory included in the boot header information (S410). That is, the controller copies the system program to the address of the volatile memory recorded in the 'Main Code Start Address' item of the boot header information. When the system program is transferred to the volatile memory, the controller executes the system program stored in the volatile memory, and drives the system by the executed system program (S412).

이상의 설명은 본 발명을 예시적으로 설명한 것에 불과한 것으로, 본 발명이 속하는 기술분야에서 통상의 지식을 가지는 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 변형이 가능할 것이다. 따라서, 본 명세서에 개시된 실시예들은 본 발명을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 사상과 범위가 한정되는 것은 아니다. 본 발명의 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the present invention, and those skilled in the art to which the present invention pertains may various modifications without departing from the essential characteristics of the present invention. Accordingly, the embodiments disclosed herein are not intended to limit the present invention but to describe the present invention, and the spirit and scope of the present invention are not limited by these embodiments. It is intended that the scope of the invention be interpreted by the following claims, and that all descriptions within the scope equivalent thereto shall be construed as being included in the scope of the present invention.

이상에서 설명한 바와 같이 본 발명은, 부트 헤더 정보를 이용하여 비휘발성 메모리에 저장된 시스템 프로그램을 휘발성 메모리로 옮긴 후에 실행시킬 수 있으며, 컨트롤러에서 제어하고자 하는 휘발성 메모리의 종류에 따라 컨트롤러의 하드웨어를 변경할 필요없이 부트 헤더 정보를 수정하여 시스템 프로그램을 구동시킬 수 있다는 효과가 있다.As described above, the present invention can be executed after the system program stored in the nonvolatile memory is transferred to the volatile memory using boot header information, and the hardware of the controller needs to be changed according to the type of volatile memory to be controlled by the controller. The effect is that the system program can be run by modifying the boot header information without

또한, 본 발명은 비휘발성 메모리의 'Not Used Sectors' 영역에 시스템 프로그램을 저장하여 시스템 프로그램이 컴퓨터와 같은 외부 기기에 영향을 미치지 않으며, 시스템 프로그램이 저장된 영역에 접근하기 위한 별도의 프로그램을 구비할 필요가 없다는 장점이 있다.In addition, the present invention is to store a system program in the 'Not Used Sectors' area of the non-volatile memory so that the system program does not affect the external device, such as a computer, and have a separate program for accessing the area where the system program is stored. There is no need to do this.

Claims (7)

비휘발성 메모리(Non-Volatile), 휘발성(Volatile) 메모리 및 상기 비휘발성 메모리와 상기 휘발성 메모리를 제어하는 컨트롤러를 포함하는 시스템에서 상기 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법에 있어서,A method of driving a system program stored in the nonvolatile memory in a system including a non-volatile memory, a volatile memory, and a controller controlling the nonvolatile memory and the volatile memory. (a) 상기 컨트롤러에서 부트 헤더 정보가 유효한지 여부를 확인하는 단계;(a) checking whether boot header information is valid in the controller; (b) 상기 부트 헤더 정보가 유효하면, 상기 부트 헤더 정보를 이용하여 상기 컨트롤러의 내부 레지스터를 초기화시키고, 시스템 초기화를 위한 시작 프로그램을 실행시키는 단계;(b) if the boot header information is valid, initializing an internal register of the controller using the boot header information, and executing a startup program for system initialization; (c) 상기 비휘발성 메모리의 'Not Used Sectors' 영역에 저장된 상기 시스템 프로그램이 유효한지 여부를 확인하는 단계;(c) checking whether the system program stored in the 'Not Used Sectors' area of the nonvolatile memory is valid; (d) 상기 시스템 프로그램이 유효하면, 상기 시스템 프로그램을 상기 부트 헤더 정보에 포함된 상기 휘발성 메모리의 주소로 이동시키는 단계; 및(d) if the system program is valid, moving the system program to an address of the volatile memory included in the boot header information; And (e) 상기 컨트롤러에서 상기 휘발성 메모리에 옮겨진 상기 시스템 프로그램을 실행시켜 상기 시스템을 구동시키는 단계(e) driving the system by executing the system program transferred to the volatile memory in the controller; 를 포함하는 것을 특징으로 하는 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법.And a system program stored in the nonvolatile memory. 제 1 항에 있어서,The method of claim 1, 상기 'Not Used Sectors' 영역은 상기 비휘발성 메모리의 MBR(Master Boot Record)과 'Reserved Sectors' 영역 사이에 위치한 영역인 것을 특징으로 하는 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법.The 'Not Used Sectors' region is a region located between the Master Boot Record (MBR) and the 'Reserved Sectors' region of the nonvolatile memory. 제 1 항에 있어서,The method of claim 1, 상기 (a) 단계는,In step (a), 상기 부트 헤더 정보의 'Header Area Checksum' 항목에 기록된 헤더 영역 체크섬 결과값을 확인하여 상기 부트 헤더 정보가 유효한지 여부를 검증하는 것을 특징으로 하는 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법.And verifying whether the boot header information is valid by checking a header area checksum result value recorded in a 'header area checksum' item of the boot header information. 제 1 항에 있어서,The method of claim 1, 상기 (c) 단계는,In step (c), 상기 부트 헤더 정보의 'Code Area Checksum' 항목에 기록된 코드 영역 체크섬 결과값을 확인하여 상기 시스템 프로그램이 유효한지 여부를 검증하는 것을 특징으로 하는 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법.And verifying whether the system program is valid by checking a code area checksum result value recorded in the 'Code Area Checksum' item of the boot header information. 제 1 항에 있어서,The method of claim 1, 상기 부트 헤더 정보는 상기 (c) 단계를 수행하도록 C 항목의 비트를 '1'로 설정하고, 상기 (d) 단계를 수행하도록 L 항목의 비트를 '1'로 설정하는 것을 특징으로 하는 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법.The boot header information is nonvolatile, characterized in that the bit of item C is set to '1' to perform step (c), and the bit of item L is set to '1' to perform step (d). A method of running a system program stored in memory. 제 1 항에 있어서,The method of claim 1, 상기 (d) 단계는,In step (d), 상기 부트 헤더 정보의 'Main Code Start Address' 항목에 기록된 상기 휘발성 메모리의 주소로 상기 시스템 프로그램을 이동시키는 것을 특징으로 하는 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법.And moving the system program to an address of the volatile memory recorded in the 'Main Code Start Address' item of the boot header information. 제 1 항에 있어서,The method of claim 1, 상기 비휘발성 메모리는 NAND-FLASH, Serial-FLASH 및 하드 디스크 중 하나 이상을 포함하는 것을 특징으로 하는 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는 방법.And wherein the nonvolatile memory includes one or more of NAND-FLASH, Serial-FLASH, and a hard disk.
KR1020050016549A 2005-02-28 2005-02-28 Method for operating system program stored in non-volatile memory KR20060095133A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050016549A KR20060095133A (en) 2005-02-28 2005-02-28 Method for operating system program stored in non-volatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050016549A KR20060095133A (en) 2005-02-28 2005-02-28 Method for operating system program stored in non-volatile memory

Publications (1)

Publication Number Publication Date
KR20060095133A true KR20060095133A (en) 2006-08-31

Family

ID=37624877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050016549A KR20060095133A (en) 2005-02-28 2005-02-28 Method for operating system program stored in non-volatile memory

Country Status (1)

Country Link
KR (1) KR20060095133A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100867395B1 (en) * 2007-01-04 2008-11-06 (주)엠씨에스로직 Method and Apparatus for Providing Composite Function by Using USB
KR101130051B1 (en) * 2010-03-22 2012-03-28 한국과학기술원 A system, method and comuputer readable media for managing main memory
KR101602158B1 (en) * 2015-06-05 2016-03-10 한국항공우주산업 주식회사 Device status management method and apparatus through memory improvement

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100867395B1 (en) * 2007-01-04 2008-11-06 (주)엠씨에스로직 Method and Apparatus for Providing Composite Function by Using USB
KR101130051B1 (en) * 2010-03-22 2012-03-28 한국과학기술원 A system, method and comuputer readable media for managing main memory
KR101602158B1 (en) * 2015-06-05 2016-03-10 한국항공우주산업 주식회사 Device status management method and apparatus through memory improvement

Similar Documents

Publication Publication Date Title
US9164895B2 (en) Virtualization of solid state drive and mass storage drive devices with hot and cold application monitoring
US8296467B2 (en) Single-chip flash device with boot code transfer capability
US8135901B2 (en) Solid state memory (SSM), computer system including an SSM, and method of operating an SSM
US9928167B2 (en) Information processing system and nonvolatile storage unit
US8312554B2 (en) Method of hiding file at data protecting mode for non-volatile memory module, memory controller and portable memory storage apparatus
KR100975178B1 (en) Data storage device
US8930671B2 (en) Logical address offset in response to detecting a memory formatting operation
JP4206688B2 (en) Data processing apparatus and data processing method
US9063848B2 (en) NAND flash memory system architecture
US8429358B2 (en) Method and data storage device for processing commands
US7277978B2 (en) Runtime flash device detection and configuration for flash data management software
EP1920317B1 (en) Mass data storage system
KR101395778B1 (en) Memory card and memory system including the same and operating method thereof
US20100146256A1 (en) Mixed-Mode ROM/RAM Booting Using an Integrated Flash Controller with NAND-Flash, RAM, and SD Interfaces
CN106681932B (en) Memory management method, memory control circuit unit and memory storage device
US8255656B2 (en) Storage device, memory controller, and data protection method
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
US11210226B2 (en) Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof
CN111984441B (en) Instant power-off recovery processing method and device and computer readable storage medium
KR20060117899A (en) Storage device and storage system
US20120089765A1 (en) Method for performing automatic boundary alignment and related non-volatile memory device
KR20200017664A (en) Method of accessing data in storage device, method of managing data in storage device and storage device performing the same
US20210034298A1 (en) Memory device including plurality of buffer areas for supporting fast write and fast read and storage device including the same
KR20060095133A (en) Method for operating system program stored in non-volatile memory

Legal Events

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