KR100816763B1 - 플래시 메모리 모듈을 주기억장치로 사용하는 전자 시스템및 그것의 부팅 방법 - Google Patents

플래시 메모리 모듈을 주기억장치로 사용하는 전자 시스템및 그것의 부팅 방법 Download PDF

Info

Publication number
KR100816763B1
KR100816763B1 KR1020070015009A KR20070015009A KR100816763B1 KR 100816763 B1 KR100816763 B1 KR 100816763B1 KR 1020070015009 A KR1020070015009 A KR 1020070015009A KR 20070015009 A KR20070015009 A KR 20070015009A KR 100816763 B1 KR100816763 B1 KR 100816763B1
Authority
KR
South Korea
Prior art keywords
flash memory
memory modules
information
slot
boot
Prior art date
Application number
KR1020070015009A
Other languages
English (en)
Inventor
최성업
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020070015009A priority Critical patent/KR100816763B1/ko
Priority to US11/954,411 priority patent/US7861074B2/en
Priority to CN2008100099026A priority patent/CN101246429B/zh
Application granted granted Critical
Publication of KR100816763B1 publication Critical patent/KR100816763B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04FFINISHING WORK ON BUILDINGS, e.g. STAIRS, FLOORS
    • E04F15/00Flooring
    • E04F15/02Flooring or floor layers composed of a number of similar elements
    • E04F15/04Flooring or floor layers composed of a number of similar elements only of wood or with a top layer of wood, e.g. with wooden or metal connecting members
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B7/00Layered products characterised by the relation between layers; Layered products characterised by the relative orientation of features between layers, or by the relative values of a measurable parameter between layers, i.e. products comprising layers having different physical, chemical or physicochemical properties; Layered products characterised by the interconnection of layers
    • B32B7/04Interconnection of layers
    • B32B7/12Interconnection of layers using interposed adhesives or interposed materials with bonding properties
    • 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
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2607/00Walls, panels

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Architecture (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Wood Science & Technology (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

적어도 하나의 플래시 메모리 모듈을 주기억 장치로 사용하는 전자 시스템의 부팅 방법은, 상기 전자 시스템에 연결된 상기 플래시 메모리 모듈의 수가 변경된 것으로 검출될 때 상기 전자 시스템과 연결된 모든 플래시 메모리 모듈들 각각의 FAT(file allocation table) 정보를 독출하고, 상기 모든 플래시 메모리 모듈들 각각의 FAT 정보를 포괄하는 수퍼-FAT 정보를 생성하며, 그리고 상기 수퍼-FAT 정보를 부트 플래시 메모리 모듈에 기입한다. 그러므로, 주기억장치로 사용되는 플래시 메모리 모듈이 삽입/제거될 때 전자 시스템 내 장치 정보가 자동으로 변경된다.

Description

플래시 메모리 모듈을 주기억장치로 사용하는 전자 시스템 및 그것의 부팅 방법{ELECTRONIC SYSTEM USING FLASH MEMORY MODULE BY A MAIN STORAGE AND BOOTING METHOD THEREOF}
도 1은 본 발명의 바람직한 실시예에 따른 컴퓨터 시스템의 구성을 보여주는 블록도;
도 2는 도 1에 도시된 사우스 브릿지의 구성을 구체적으로 보여는 도면;
도 3은 도 2에 도시된 플래시 메모리 모듈들 중 어느 하나가 제거되거나 새로운 플래시 메모리가 메모리 슬롯에 연결될 때 컴퓨터 시스템의 부팅 방법을 보여주는 도면; 그리고
도 4는 도 3에 도시된 SFAT 정정 단계를 상세히 보여주는 플로우차트이다.
본 발명은 전자 시스템에 관한 것으로, 좀 더 구체적으로는 플래시 메모리 모듈을 주기억장치로 사용하는 전자 시스템에 관한 것이다.
일반적으로 퍼스널 컴퓨터, 노트북 등과 같은 전자 시스템들은 하드디스크드라이브를 주기억 장치(main storage)로 사용하고 있다. 하드디스크는 값이 저렴하 고, 컴팩드 디스크, 플로피 디스켓 등에 비해 고용량이므로 오퍼레이팅 시스템을 비롯한 다양한 어플리게이션 프로그램들을 저장하기에 적합하다.
지금까지 전자 시스템의 동작 속도를 향상시키기 위하여 프로세서의 처리 속도, 캐쉬 메모리 크기 및 메모리 크기 증대 등을 위한 노력들이 계속되어 왔으나, 그러한 것들뿐만 아니라 주기억 장치의 성능도 전자 시스템의 동작 속도를 제한하는 요소 가운데 하나이다. 하드디스크는 자기디스크를 기계적으로 구동시켜 데이터를 읽고 쓰도록 구성되어 있으므로 속도 향상에 많은 제한이 따른다.
반도체 집적 기술의 발달로 플래시 메모리의 집적도가 향상되고 가격도 낮아지는 추세이다. 따라서 최근에는 플래시 메모리를 주기억장치로 사용하기도 한다. 플래시 메모리 모듈은 복수의 메모리 칩들로 구성되며, 컴퓨터 시스템의 메모리 슬롯에 삽입된다. 주기억 장치의 용량을 늘리기 위해서는 컴퓨터 시스템에 구비된 메모리 슬롯들에 플래시 메모리 모듈들을 더 삽입하여야만 한다. 또한 필요에 따라서 컴퓨터 시스템으로부터 일부 플래시 메모리 모듈이 제거될 수 있다. 이와 같이 컴퓨터 메모리 슬롯에 플래시 메모리 모듈이 삽입/제거되면 씨모스 램(CMOS RAM)에 저장되는 장치 정보 및 플래시 메모리 모듈들에 저장되는 FAT(file allocation table) 정보 등이 변경되어야만 한다.
따라서 본 발명의 목적은 주기억장치로 사용되는 플래시 메모리 모듈이 삽입/제거될 때 장치 정보를 자동으로 변경하는 전자 시스템 및 그것의 부팅 방법을 제공하는데 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 의하면, 적어도 하나의 플래시 메모리 모듈을 주기억 장치로 사용하는 전자 시스템의 부팅 방법은: POST(power on self test)를 수행하는 단계와, 상기 전자 시스템에 연결된 상기 플래시 메모리 모듈의 수가 변경되었는 지를 검출하는 단계와, 상기 플래시 메모리 모듈의 수가 변경된 것으로 검출될 때 상기 전자 시스템과 연결된 모든 플래시 메모리 모듈들 각각의 FAT(file allocation table) 정보를 독출하는 단계와, 상기 모든 플래시 메모리 모듈들 각각의 FAT 정보를 포괄하는 수퍼-FAT 정보를 생성하는 단계, 그리고 상기 수퍼-FAT 정보를 부트 플래시 메모리 모듈에 기입하는 단계를 포함한다.
이 실시예에 있어서, 상기 부트 플래시 메모리 모듈은 부트 파일을 포함함한다.
이 실시예에 있어서, 상기 검출 단계는, 씨모스 램에 저장된 플래시 메모리 정보와 상기 전자 시스템의 슬롯과 연결된 플래시 메모리 모듈의 수가 일치하는 지를 판별하는 단계를 포함한다.
이 실시예에 있어서, 상기 플래시 메모리 모듈들 각각은, 상기 FAT 정보가 저장되는 제1 영역과, 상기 전자 시스템으로부터 입력되는 논리적 어드레스를 물리적 어드레스로 변환하기 위한 매핑 정보가 저장되는 제2 영역, 그리고 사용자 데이터가 저장되는 제3 영역을 포함한다.
이 실시예에 있어서, 상기 독출 단계는, 상기 모든 플래시 메모리 모듈들 각 각의 상기 제1 영역에 저장된 상기 FAT 정보를 독출하는 단계를 포함한다.
이 실시예에 있어서, 상기 기입 단계는, 상기 수퍼-FAT 정보를 상기 제1 플래시 메모리 모듈의 상기 제1 영역에 기입하는 단계를 포함한다.
이 실시예에 있어서, 상기 부팅 방법은: 상기 모든 플래시 메모리 모듈들 각각의 새로운 매핑 정보를 생성하는 단계, 그리고 상기 새로운 매핑 정보를 상기 모든 플래시 메모리 모듈들 각각의 상기 제2 영역에 기입하는 단계를 더 포함한다.
본 발명의 다른 특징에 따른 전자 시스템은: 적어도 하나의 플래시 메모리 모듈이 삽입되는 메모리 슬롯과, 바이오스 코드를 저장하는 바이오스 롬과, 상기 바이오스 코드에 따라서 POST(power on self test)를 수행하고, 상기 메모리 슬롯에 연결된 상기 플래시 메모리 모듈의 수가 변경된 것으로 판단될 때 상기 메모리 슬롯에 삽입된 플래시 메모리 모듈들 각각의 FAT 정보를 포괄하는 수퍼-FAT 정보를 생성하고, 상기 플래시 메모리 모듈들 중 부트 플래시 메모리 모듈에 상기 수퍼-FAT 정보를 기입하는 프로세서를 포함한다.
이 실시예에 있어서, 사용자 장치 정보를 저장하는 씨모스 램을 더 포함하며, 상기 프로세서는 상기 씨모스 램에 저장된 장치 정보와 상기 메모리 슬롯에 삽입된 플래시 메모리 모듈의 수가 일치하지 않을 때 상기 메모리 슬롯에 연결된 상기 플래시 메모리 모듈의 수가 변경된 것으로 판단한다.
상기 플래시 메모리 모듈들 각각은, 상기 FAT 정보가 저장되는 제1 영역과, 상기 프로세서로부터 입력되는 논리적 어드레스를 물리적 어드레스로 변환하기 위한 매핑 정보가 저장되는 제2 영역, 그리고 사용자 데이터가 저장되는 제3 영역을 포함한다.
이 실시예에 있어서, 상기 전자 시스템은 컴퓨터 시스템을 포함한다.
이하 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 컴퓨터 시스템(100)의 구성을 보여주는 블록도이다. 컴퓨터 시스템(100)은 중앙 처리 장치인 프로세서(110), 그래픽 컨트롤러(120), 노스 브릿지(north bridge, 130), 메인 메모리(140), 바이오스 롬(150), 사우스 브릿지(south bridge, 160), 메모리 슬롯(170), 플래시 메모리 모듈(180) 그리고 하드디스크 드라이브(190)를 포함한다. 노스 브릿지(130)와 사우스 브릿지(160)는 하나의 칩으로 구성되거나 또는 별개의 칩으로 각각 구성될 수 있다. 또한, 캐쉬 메모리, 모뎀, 병렬 또는 직렬 인터페이스들, SCSI 인터페이스, 네트워크 인터페이스 카드 등과 같은 디바이스들, 여러가지 버스들/또는 서브 시스템들 그리고 키보드, 마우스 및 프린터와 같은 입출력 장치들이 필요에 따라서 컴퓨터 시스템(100)에 포함될 수 있다.
프로세서(110)는 노스 브릿지(104)에 연결된다. 노스 브릿지(130)는 프로세서(110), 그래픽 컨트롤러(160), 메인 메모리(140) 그리고 PCI 버스(132) 사이의 인터페이스를 제공한다. 사우스 브릿지(160)는 PCI 버스(132)와 주변 장치, 디바이스 및 서브 시스템들과 연결된 인터페이스들 사이에 인터페이스를 제공한다.
노스 브릿지(130)는 프로세서(110), 그래픽 컨트롤러(160), 메인 메모리(140) 그리고 PCI 버스(132)에 연결된 디바이스들과, 사우스 브릿지(160)에 연결 된 디바이스 및 서브 시스템들 사이에 통신 액세스를 제공한다. 메인 메모리(140)는 RAM(random access memory)으로 구성된다.
사우스 브릿지(160)는 PCI 버스(132)와 연결되고, 또 다른 버스(X-버스 나 ISA 버스, 미도시됨)를 통해 모뎀, 프린터, 키보드, 마우스 등과 같은 다양한 디바이스 및 서브 시스템 사이에 인터페이스를 제공한다. 사우스 브릿지(160)는 메모리 슬롯(170)을 통해 플래시 메모리 모듈(180)과 연결된다. 사우스 브릿지(160)는 하드디스크 드라이브(190) 또는 CD, DVD 드라이브들, 고용량 저장 장치들, 집(zip) 드라이브들, 및 CDRW 드라이브들과 연결될 수 있으며, 배터리(155)로부터 전원을 공급받는다.
메모리 슬롯(170)은 복수의 플래시 메모리 모듈들(180)이 삽입될 수 있는 구조를 갖는다. 메모리 슬롯(170)에 삽입되는 플래시 메모리 모듈들(180)의 수는 메모리 슬롯(170)이 허용하는 최대 범위 내에서 사용자의 편의에 따라서 다양하게 변경될 수 있다.
플래시 메모리 모듈(180)을 주기억 장치로 사용하는 컴퓨터 시스템(100)에서 부트 파일 및 오퍼레이팅 시스템(operating system)은 플래시 메모리 모듈(180)에 저장된다.
플래시 메모리는 하드디스크와 같이 비휘발성을 가지면서도 빠른 접근 속도를 가지고, 전력을 적게 소비하기 때문에 내장형(embedded system)이나 이동식 시스템(mobile system) 등의 응용에서 많이 사용되고 있다.
플래시 메모리는 전원 공급이 중단된 이후에도 영구적으로 데이터를 저장하 는 비휘발성 메모리이다. 또한 하드디스크와 달리 이미 데이터가 있는 섹터에 중첩해서 쓰기(overwrite)를 할 수 없는 특성을 가진다. 이 특성으로 인하여, 데이터를 쓰기 전에 해당 섹터가 포함된 전체 블록을 지워야하는(erase before write) 연산을 필요로 한다. 이러한 플래시 메모리의 쓰기전 지우기(erase before write) 연산을 위해서 논리 블록(logical block)과 물리 블록(physical block) 개념이 도입되었다. 논리 블록과 물리 블록 매핑 방법 및 매핑 테이블을 유지 및 관리하는 것은 플래시 메모리 성능뿐만 아니라 전원 공급이 끊어졌다가 다시 공급되었을 때 이전 연산에 대한 데이터의 무결성을 보장하는 차원에서도 중요하다.
플래시 메모리는 주로 대용량 저장소로 사용되기 때문에 전원이 끊어졌다가 다시 공급되었을 때 전원이 끊어지기 전에 수행된 연산에 대한 데이터를 온전하게 복구하는 작업이 중요하다. 이를 위해서는 연산이 수행될 때 해당 데이터의 논리 주소와 물리 주소, 연산의 종류, 에러 정정 코드(ECC: Error Correction Code), 블록의 마모도 및 데이터의 무결성을 보장하는 유효 마크와 같은 연산에 대한 정보를 유지하고 있어야만 한다. 이러한 상태 정보를 메타 데이터라고 하며 상기에서 기술한 매핑 테이블도 메타 데이터에 속한다. 메타 데이터는 현재 플래시 메모리의 연산 상태를 말해주는 지표라 할 수 있으므로, 그 접근 빈도가 매우 높다.
메타 데이터의 관리 방법은 플래시 메모리가 응용된 시스템에 따라 달라질 수 있는데, 전원이 꺼진 후에도 메타 데이터를 유지해야 하므로 플래시 메모리의 일부 영역을 할당하여 연산을 수행할 때마다 기록해 놓는 방법이 일반적이다.
플래시 메모리 모듈(180)은 상술한 바와 같은 메타 데이터를 포함하며, 새로 운 플래시 메모리 모듈(180)이 메모리 슬롯(170)에 삽입될 때 각각의 플래시 메모리 모듈(180)의 메타 데이터는 수정되어야만 한다.
도 2는 도 1에 도시된 사우스 브릿지(160)의 구성을 구체적으로 보여는 도면이다.
도 2를 참조하면, 사우스 브릿지(160)는 CMOS RAM(162)과 메모리 컨트롤러(164)를 포함한다. CMOS RAM(162)은 시스템 구성 데이터를 포함한다. 시스템 구성 데이터는 컴퓨터 시스템(100)을 구성하고 있는 장치들의 정보 및 컴퓨터 시스템(100)의 동작 환경 정보 예컨대, 현재 날짜, 시간, 플로피 디스크 드라이브 연결 여부, 부트 드라이브 정보, 하드디스크 정보, 전원 관리 정보 등을 저장한다. 특히 본 발명의 CMOS RAM(162)은 메모리 슬롯(170)과 연결된 플래시 메모리 모듈들의 수 정보를 저장한다. CMOS RAM(162)은 사우스 브릿지(160)와 연결된 배터리(155)로부터 공급되는 전원에 의해서 저장된 데이터를 유지한다. 사용자는 바이오스 셋업 메뉴를 통해 CMOS RAM(162)에 저장된 설정을 변경할 수 있다.
메모리 컨트롤러(164)는 메모리 슬롯(170)을 통해 연결되는 플래시 메모리 모듈들(181-184)에 대한 액세스를 제어한다. 메모리 컨트롤러(164)는 맵 테이블 관리 유닛(210) 그리고 SFAT 관리 유닛(220)을 포함한다.
메모리 슬롯(170)에는 플래시 메모리 모듈들(181-184)이 연결된다. 도 2에는 3 개의 메모리 모듈들(181-183)이 메모리 슬롯(170)에 연결되고, 새로운 메모리 모듈(184)이 삽입될 수 있음을 보여주고 있으나, 메모리 슬롯(170)이 허용하는 최대 갯수 이내에서 메모리 모듈의 수는 다양하게 변경될 수 있다.
플래시 메모리 모듈들(181-184) 각각은 FAT(file allocation table) 정보를 저장하는 영역, 맵 테이블을 저장하는 영역 그리고 사용자 데이터를 저장하는 사용자 데이터 영역을 포함한다. 맵 테이블은 앞서 설명한 메타 데이터 뿐만 아니라 프로세서로부터 입력되는 논리적 블록 어드레스를 물리적 블록 어드레스로 변환하기 위한 매핑 정보를 포함한다. 부트 파일을 포함하는 부트 플래시 메모리 모듈(181)는 플래시 메모리 모듈(181)의 FAT 정보뿐만 아니라 나머지 플래시 메모리 모듈들(182-184)의 FAT 정보를 포괄하는 수퍼-FAT(SFAT) 정보를 저장한다.
메모리 컨트롤러(164) 내 맵 테이블 관리 유닛(210)은 플래시 메모리 모듈들(181-184)의 맵 테이블을 관리한다. SFAT 관리 유닛(220)은 부트 메모리 모듈(181) 내 SFAT 정보를 관리한다. SFAT 정보는 플래시 메모리 모듈들(181-184) 각각의 SFAT 정보를 포괄한다. 메모리 슬롯(170)과 연결된 플래시 메모리 모듈들(181-183) 중 어느 하나가 제거되거나 또는 새로운 플래시 메모리 모듈(180)이 메모리 슬롯(170)에 삽입될 때 부트 플래시 메모리 모듈(181) 내 SFAT 정보는 정정되어야 한다. 또한 메모리 슬롯(170)과 연결된 플래시 메모리 모듈들(181-183) 중 어느 하나가 제거되거나 또는 새로운 플래시 메모리 모듈(180)이 메모리 슬롯(170)에 삽입될 때 메모리 모듈들 각각의 맵 테이블도 정정되어야만 한다.
도 1에 도시된 BIOS ROM(150)은 BIOS(basic input output system) 코드를 저장한다. BIOS 코드는 컴퓨터 시스템(100)을 제어하고 테스트하는 내장 소프트웨어이다.
본 발명의 실시예에 따른 컴퓨터 시스템(100)에서 BIOS 코드는 CMOS RAM(162)에 저장된 시스템 구성 정보 즉, 메모리 슬롯(170)과 연결된 플래시 메모리 모듈들의 수와 실제 메모리 슬롯(170)과 연결된 것으로 감지된 플래시 메모리 모듈들의 수를 비교하고, 그들이 일치하지 않을 때 감지된 플래시 메모리 모듈들의 수를 CMOS RAM(162)에 기입하고, SFAT 정보를 정정하기 위한 제어를 수행한다. 즉, 메모리 슬롯(170)으로부터 플래시 메모리 모듈이 제거되거나 새로운 플래시 메모리 모듈이 메모리 슬롯(170)에 삽입되었을 때 컴퓨터 시스템(100)이 자동으로 이를 감지하여 새로운 설정을 수행한다. 그러므로, 컴퓨터 시스템(100)은 정상적으로 부팅 및 동작될 수 있다.
도 3은 도 2에 도시된 플래시 메모리 모듈들(181-183) 중 어느 하나가 제거되거나 새로운 플래시 메모리(184)가 메모리 슬롯에 연결될 때 컴퓨터 시스템(100)의 부팅 방법을 보여주는 도면이다.
도 3을 참조하면, 단계 300에서, 파워-온 될 때 컴퓨터 시스템(100)내 모든 구성 요소들로 전원이 공급되고, 초기화된다. 단계 310에서, 프로세서(110)에 의해서 BIOS ROM(150)에 저장된 BIOS 코드 명령의 처리가 수행된다. 프로세서(110)에 의해서 처리되는 BIOS 코드는 POST(power on self test)를 실행한다.
단계 320에서, BIOS 코드는 CMOS RAM(162)에 저장된 플래시 메모리 모듈 정보와 감지된 플래시 메모리 모듈의 수가 일치하는 지의 여부를 판별한다. 두 정보가 일치하지 않으면, 새로운 플래시 메모리 모듈(184)이 메모리 슬롯(170)에 삽입되거나 또는 플래시 메모리 모듈들(181-183) 중 어느 하나가 제거된 것으로 판별하고, 제어는 단계 330으로 진행하여 SFAT 정정 제어가 수행된다. 반면, 두 정보가 일치하면 플래시 메모리 모듈의 수가 변화하지 않은 것으로 판별하여 제어는 단계 350으로 진행한다.
단계 350에서, BIOS 코드는 부팅 위치와 이에 대응하는 부팅 블록을 식별한다. 부팅 위치는 플로피 드라이브, 하드 드라이브, CD-ROM, 원격 장소일 수 있으나 이 실시예에서는 부트 플래시 메모리 모듈(181)이다. BIOS 코드는 컴퓨터 시스템(100)을 부팅하기 위해 부트 플래시 메모리 모듈(181)의 부팅 블록을 호출하는 것에 의해 운영 체제를 구동한다.
도 4는 도 3에 도시된 SFAT 정정 단계(340)를 상세히 보여주는 플로우차트이다.
본 발명은 메모리 슬롯(170)과 연결되는 모든 플래시 메모리 모듈들(181-184)은 동일한 FAT를 사용하는 것으로 가정한다. 또한 부트 플래시 메모리 모듈(181)은 자신의 FAT 뿐만 아니라 나머지 플래시 메모리 모듈들(182-184) 각각의 FAT를 포괄하는 수퍼-FAT(SFAT)를 저장한다. 도 4에 도시된 플로우차트는, CMOS RAM(162)에 저장된 플래시 메모리 모듈 정보는 3 개의 메모리 모듈들(181-183)이 메모리 슬롯(170)에 연결되었음을 나타내나, 실제 메모리 슬롯(170)에는 4 개의 플래시 메모리 모듈들(181-184)이 연결된 것으로 감지된 경우를 일 예로서 보여준다.
도 4를 참조하면, 단계 410에서, BIOS 코드는 사우스 브릿지(160)이 새로운 SFAT 정보를 생성하도록 제어한다. SFAT 관리 유닛(220)은 메모리 슬롯(170)에 연결된 플래시 메모리 모듈들(181-184) 각각의 FAT 정보를 읽어온다.
단계 420에서, 맵 테이블 관리 유닛(210)은 플래시 메모리 모듈들(181-184) 각각에 적합한 맵 테이블을 생성한다.
단계 430에서, 맵 테이블 관리 유닛(210)은 새로이 생성된 맵 테이블을 플래시 메모리 모듈들(181-184) 각각에 저장한다.
단계 440에서, SFAT 관리 유닛(220)은 플래시 메모리 모듈들(181-184) 각각의 FAT 정보로부터 SFAT 정보를 생성한다.
단계 440에서, SFAT 관리 유닛(220)은 새로이 생성된 SFAT 정보를 부트 플래시 메모리 모듈(181)에 기입한다.
BIOS 코드는 변경된 플래시 메모리 모듈들의 수를 CMOS RAM(162)에 저장한다.
이와 같은 SFAT 및 맵 테이블 정정에 의해서 컴퓨터 시스템(100)은 정상적으로 부팅되며, 안정적인 동작이 보장된다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이와 같은 본 발명에 의하면, 주기억장치로 사용되는 플래시 메모리 모듈이 삽입/제거될 때 전자 시스템 내 장치 정보가 자동으로 변경된다. 그러므로 컴퓨터 시스템은 정상적으로 부팅되며, 안정적인 동작이 보장된다.

Claims (12)

  1. 적어도 하나의 플래시 메모리 모듈을 주기억 장치로 사용하는 전자 시스템의 부팅 방법에 있어서:
    POST(power on self test)를 수행하는 단계와;
    상기 전자 시스템에 연결된 상기 플래시 메모리 모듈의 수가 변경되었는 지를 검출하는 단계와;
    상기 플래시 메모리 모듈의 수가 변경된 것으로 검출될 때 상기 전자 시스템과 연결된 모든 플래시 메모리 모듈들 각각의 FAT(file allocation table) 정보를 독출하는 단계와;
    상기 모든 플래시 메모리 모듈들 각각의 FAT 정보를 포괄하는 수퍼-FAT 정보를 생성하는 단계; 그리고
    상기 수퍼-FAT 정보를 부트 플래시 메모리 모듈에 기입하는 단계를 포함하는 것을 특징으로 하는 전자 시스템의 부팅 방법.
  2. 제 1 항에 있어서
    상기 부트 플래시 메모리 모듈은 부트 파일을 포함하는 것을 특징으로 하는 전자 시스템의 부팅 방법.
  3. 제 1 항에 있어서,
    상기 검출 단계는,
    씨모스 램에 저장된 플래시 메모리 정보와 상기 전자 시스템의 슬롯과 연결된 플래시 메모리 모듈의 수가 일치하는 지를 판별하는 단계를 포함하는 것을 특징으로 하는 전자 시스템의 부팅 방법.
  4. 제 1 항에 있어서,
    상기 플래시 메모리 모듈들 각각은,
    상기 FAT 정보가 저장되는 제1 영역과;
    상기 전자 시스템으로부터 입력되는 논리적 어드레스를 물리적 어드레스로 변환하기 위한 매핑 정보가 저장되는 제2 영역; 그리고
    사용자 데이터가 저장되는 제3 영역을 포함하는 것을 특징으로 하는 전자 시스템의 부팅 방법.
  5. 제 3 항에 있어서,
    상기 독출 단계는,
    상기 모든 플래시 메모리 모듈들 각각의 상기 제1 영역에 저장된 상기 FAT 정보를 독출하는 단계를 포함하는 것을 특징으로 하는 전자 시스템의 부팅 방법.
  6. 제 4 항에 있어서,
    상기 기입 단계는,
    상기 수퍼-FAT 정보를 상기 제1 플래시 메모리 모듈의 상기 제1 영역에 기입하는 단계를 포함하는 것을 특징으로 하는 전자 시스템의 부팅 방법.
  7. 제 3 항에 있어서,
    상기 모든 플래시 메모리 모듈들 각각의 새로운 매핑 정보를 생성하는 단계; 그리고
    상기 새로운 매핑 정보를 상기 모든 플래시 메모리 모듈들 각각의 상기 제2 영역에 기입하는 단계를 더 포함하는 것을 특징으로 하는 전자 시스템의 부팅 방법.
  8. 적어도 하나의 플래시 메모리 모듈이 삽입되는 메모리 슬롯과;
    바이오스 코드를 저장하는 바이오스 롬과;
    상기 바이오스 코드에 따라서 POST(power on self test)를 수행하고, 상기 메모리 슬롯에 연결된 상기 플래시 메모리 모듈의 수가 변경된 것으로 판단될 때 상기 메모리 슬롯에 삽입된 플래시 메모리 모듈들 각각의 FAT 정보를 포괄하는 수퍼-FAT 정보를 생성하고, 상기 플래시 메모리 모듈들 중 부트 플래시 메모리 모듈에 상기 수퍼-FAT 정보를 기입하는 프로세서를 포함하는 것을 특징으로 하는 전자 시스템.
  9. 제 8 항에 있어서,
    사용자 장치 정보를 저장하는 씨모스 램을 더 포함하며,
    상기 프로세서는 상기 씨모스 램에 저장된 장치 정보와 상기 메모리 슬롯에 삽입된 플래시 메모리 모듈의 수가 일치하지 않을 때 상기 상기 메모리 슬롯에 연결된 상기 플래시 메모리 모듈의 수가 변경된 것으로 판단하는 것을 특징으로 하는 전자 시스템.
  10. 제 9 항에 있어서,
    상기 바이오스 롬은 부트 파일 검색 프로그램을 더 포함하며;
    상기 프로세서는 상기 부트 파일 검색 프로그램에 따라서 상기 메모리 슬롯과 연결된 상기 플래시 메모리 모듈들 중 상기 부트 파일을 포함하는 부트 플래시 메모리 모듈을 검색하고, 상기 부트 플래시 메모리 모듈에 상기 수퍼-FAT 정보를 기입하는 것을 특징으로 하는 전자 시스템.
  11. 제 10 항에 있어서,
    상기 플래시 메모리 모듈들 각각은,
    상기 FAT 정보가 저장되는 제1 영역과;
    상기 프로세서로부터 입력되는 논리적 어드레스를 물리적 어드레스로 변환하기 위한 매핑 정보가 저장되는 제2 영역; 그리고
    사용자 데이터가 저장되는 제3 영역을 포함하는 것을 특징으로 하는 전자 시스템.
  12. 제 8 항에 있어서,
    상기 전자 시스템은 컴퓨터 시스템을 포함하는 것을 특징으로 하는 전자 시스템.
KR1020070015009A 2007-02-13 2007-02-13 플래시 메모리 모듈을 주기억장치로 사용하는 전자 시스템및 그것의 부팅 방법 KR100816763B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070015009A KR100816763B1 (ko) 2007-02-13 2007-02-13 플래시 메모리 모듈을 주기억장치로 사용하는 전자 시스템및 그것의 부팅 방법
US11/954,411 US7861074B2 (en) 2007-02-13 2007-12-12 Electronic systems using flash memory modules as main storage and related system booting methods
CN2008100099026A CN101246429B (zh) 2007-02-13 2008-02-13 将闪存模块用作主存储器的电子***和相关***引导方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070015009A KR100816763B1 (ko) 2007-02-13 2007-02-13 플래시 메모리 모듈을 주기억장치로 사용하는 전자 시스템및 그것의 부팅 방법

Publications (1)

Publication Number Publication Date
KR100816763B1 true KR100816763B1 (ko) 2008-03-25

Family

ID=39411674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070015009A KR100816763B1 (ko) 2007-02-13 2007-02-13 플래시 메모리 모듈을 주기억장치로 사용하는 전자 시스템및 그것의 부팅 방법

Country Status (3)

Country Link
US (1) US7861074B2 (ko)
KR (1) KR100816763B1 (ko)
CN (1) CN101246429B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080011627A (ko) * 2006-07-31 2008-02-05 윤동구 컴퓨터 시스템 및 이 시스템의 부팅 방법
CA2712015C (en) * 2008-01-16 2017-09-19 Bayalink Solutions Corp. Secured presentation layer virtualization for wireless handheld communication device having endpoint independence
US8099570B2 (en) * 2008-02-22 2012-01-17 International Business Machines Corporation Methods, systems, and computer program products for dynamic selective memory mirroring
TWI467369B (zh) * 2008-10-01 2015-01-01 A Data Technology Co Ltd 混合密度記憶體系統及其控制方法
JP2010140266A (ja) * 2008-12-11 2010-06-24 Toshiba Corp 電子デバイスシステムと電子デバイス
US8234487B2 (en) * 2010-04-30 2012-07-31 Kabushiki Kaisha Toshiba Server apparatus and startup control method
CN102830751A (zh) * 2011-06-15 2012-12-19 鸿富锦精密工业(深圳)有限公司 主机板
WO2016130114A1 (en) * 2015-02-10 2016-08-18 Hewlett Packard Enterprise Development Lp Chipset reconfiguration based on device detection

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000003162A (ko) * 1998-06-26 2000-01-15 윤종용 효율적인 플래시 메모리 운용 방법
KR20030028218A (ko) * 2001-09-27 2003-04-08 엘지전자 주식회사 통신 시스템의 롬 라이터 장치 및 그 제어방법
KR20030065223A (ko) * 2002-01-31 2003-08-06 삼성전자주식회사 플래시 메모리 안정화기능을 구비한 호스트 기기 및 그 방법
JP2004013477A (ja) 2002-06-06 2004-01-15 Nec Viewtechnology Ltd ブートプログラム選択及び更新方法並びにこれを用いたフラッシュメモリ
KR20070021849A (ko) * 2005-08-20 2007-02-23 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4135049B2 (ja) * 1999-03-25 2008-08-20 ソニー株式会社 不揮発性メモリ
MY122279A (en) 1999-03-03 2006-04-29 Sony Corp Nonvolatile memory and nonvolatile memory reproducing apparatus
KR100330164B1 (ko) * 1999-04-27 2002-03-28 윤종용 무효 블록들을 가지는 복수의 플래시 메모리들을 동시에 프로그램하는 방법
US20020191311A1 (en) 2001-01-29 2002-12-19 Ulrich Thomas R. Dynamically scalable disk array
CN1234130C (zh) * 2001-09-20 2005-12-28 台均科技(深圳)有限公司 基于闪存的***引导装置以及实现引导的方法
US7080245B2 (en) * 2002-05-23 2006-07-18 Hewlett-Packard Development Company, L.P. Method and system of switching between two or more images of firmware on a host device
AU2003291014A1 (en) 2002-11-14 2004-06-15 Isilon Systems, Inc. Systems and methods for restriping files in a distributed file system
US20060224817A1 (en) * 2005-03-31 2006-10-05 Atri Sunil R NOR flash file allocation
TW200743113A (en) * 2006-05-08 2007-11-16 Apacer Technology Inc Dynamic management method of portable data storage device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000003162A (ko) * 1998-06-26 2000-01-15 윤종용 효율적인 플래시 메모리 운용 방법
KR20030028218A (ko) * 2001-09-27 2003-04-08 엘지전자 주식회사 통신 시스템의 롬 라이터 장치 및 그 제어방법
KR20030065223A (ko) * 2002-01-31 2003-08-06 삼성전자주식회사 플래시 메모리 안정화기능을 구비한 호스트 기기 및 그 방법
JP2004013477A (ja) 2002-06-06 2004-01-15 Nec Viewtechnology Ltd ブートプログラム選択及び更新方法並びにこれを用いたフラッシュメモリ
KR20070021849A (ko) * 2005-08-20 2007-02-23 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템

Also Published As

Publication number Publication date
US7861074B2 (en) 2010-12-28
CN101246429B (zh) 2013-02-13
US20080195854A1 (en) 2008-08-14
CN101246429A (zh) 2008-08-20

Similar Documents

Publication Publication Date Title
KR100816763B1 (ko) 플래시 메모리 모듈을 주기억장치로 사용하는 전자 시스템및 그것의 부팅 방법
JP5162535B2 (ja) メモリシステムを利用する方法及びメモリシステム
US8230160B2 (en) Flash memory storage system and flash memory controller and data processing method thereof
US8645749B2 (en) Systems and methods for storing and recovering controller data in non-volatile memory devices
KR101395778B1 (ko) 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
KR101818599B1 (ko) 비휘발성 임시 데이터 핸들링
KR101900760B1 (ko) 비휘발성 메모리를 갖는 시스템에 대한 비정상 셧다운의 핸들링
US9176865B2 (en) Data writing method, memory controller, and memory storage device
US8275927B2 (en) Storage sub-system for a computer comprising write-once memory devices and write-many memory devices and related method
US8589619B2 (en) Data writing method, memory controller, and memory storage apparatus
WO2009117251A1 (en) Optimizing storage of common patterns in flash memory
TW201528284A (zh) 使用快閃記憶體及一限制功能的記憶體控制器而對一電子裝置開機
CN102053796A (zh) 闪存储存***、闪存控制器与数据处理方法
CN102890655A (zh) 存储器储存装置、其存储器控制器与有效数据识别方法
CN106325764B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
US20120191962A1 (en) System and method for simulating bios rom of computing device into virtual disk
US20130318394A1 (en) Embedded controller firmware management
CN104657083A (zh) 数据写入方法、存储器储存装置、存储器控制电路单元
CN112988069B (zh) 存储器管理方法、存储器存储装置及存储器控制器
CN103984635A (zh) 数据写入方法、存储器控制器与存储器储存装置
TWI559141B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN102467459B (zh) 数据写入方法、存储器控制器与存储器储存装置
CN102087632B (zh) 用于闪存的数据储存方法及其控制器与储存***
CN102043724B (zh) 用于闪存的区块管理方法、控制器与存储***
CN107229413B (zh) 存储器管理方法、存储器控制电路单元与存储器储存装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130228

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150302

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170228

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180228

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190228

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20200228

Year of fee payment: 13