[go: up one dir, main page]

KR100448905B1 - 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치 - Google Patents

낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치 Download PDF

Info

Publication number
KR100448905B1
KR100448905B1 KR10-2002-0044638A KR20020044638A KR100448905B1 KR 100448905 B1 KR100448905 B1 KR 100448905B1 KR 20020044638 A KR20020044638 A KR 20020044638A KR 100448905 B1 KR100448905 B1 KR 100448905B1
Authority
KR
South Korea
Prior art keywords
nand flash
flash memory
data
interface
buffer
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR10-2002-0044638A
Other languages
English (en)
Other versions
KR20040011657A (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 KR10-2002-0044638A priority Critical patent/KR100448905B1/ko
Priority to EP03016977A priority patent/EP1387284A3/en
Priority to US10/629,049 priority patent/US7234049B2/en
Priority to JP2003281302A priority patent/JP4554900B2/ja
Publication of KR20040011657A publication Critical patent/KR20040011657A/ko
Application granted granted Critical
Publication of KR100448905B1 publication Critical patent/KR100448905B1/ko
Priority to US11/747,795 priority patent/US20070211559A1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Detection And Correction Of Errors (AREA)
  • Memory System (AREA)

Abstract

본 발명에 따른 컴퓨터시스템은: 중앙처리장치와 메모리버스컨트롤러를 포함하며 제1인터페이스 방식으로 동작하는 시스템컨트롤러와; 시스템버스를 통하여 상기 시스템컨트롤러와 연결된 시스템메모리와; 상기 컴퓨터시스템을 위한 시스템구동코드 및 운영체제 프로그램과 사용자데이타를 저장하는 낸드플래쉬메모리와; 상기 시스템컨트롤러와는 상기 시스템버스를 통하여 상기 제1인터페이스 방식으로 통신하고 상기 낸드플래쉬메모리와는 제2인터페이스 방식으로 통신하며 소정의 명령정보에 응답하여 내부에서 발생된 클럭신호에 동기되어 동작하는 인터페이스장치를 포함한다. 본 발명에 의하면, 상기 낸드플래쉬메모리를 시스템구동용으로 사용할 수 있으며, 독출 또는 프로그램시에 상기 시스템컨트롤러에 대한 데이타전송이 연속적으로 진행되어 독출시의 레이턴시 시간 및 프로그램시의 데이타 로딩시간을 줄인다.

Description

낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는 장치{COMPUTER SYSTEM WITH NAND FLASH MEMORY FOR BOOTING AND STORAGEMENT}
본 발명은 낸드플래쉬메모리를 시스템구동용(booting) 및 저장용으로 사용하는 시스템에 관한 것이다.
통상적인 개인정보단말기(PDA), 이동전화기(Mobile phone) 또는 위성채널장치(set top box) 등의 시스템에서는, 시스템구동용메모리로서 롬(ROM) 또는 노아플래쉬메모리를 주로 사용하며, 데이타 저장 메모리로서 노아(NOR)플래쉬메모리를 많이 사용하여 왔다. 플래쉬메모리는 데이타를 전기적으로 쓰고 지울 수 있으면서 재충전(refresh)이 필요없는 비휘발성을 가지기 때문에 데이타 저장용으로 적당하며, 특히 노아플래쉬메모리는 고속 인더페이스가 아닌 시스템에서 구동 및 저장용으로 많이 사용되고 있다.
그러나, 최근에는 시스템시장의 성장과 더불어 시스템에서의 서비스 다양화, 고기능화, 고용량화로 인하여 고속 엑세스와 대용량을 지원하는 것음 물론 비교적 저가(cost-effective)의 메모리가 요구되고 있는데, 노아플래쉬메모리로는 그러한 요구에 한계가 있다. 현재, 그러한 요구를 충족시킬 수 있는 메모리로는 디램(DRAM)이 있지만, 디램은 휘발성메모리로서 데이타저장용으로는 적합하지 않다.
한편, 낸드플래쉬메모리는 메모리 구조상 대용량 구현이 용이하고 노아플래쉬메모리에 비하여 저가로 제조될 수 있기 때문에 대용량 메모리로서 많이 사용되고 있다. 또한, 낸드플래쉬 메모리는 노아플래쉬메모리에 비해 제작이 용이하고 집적도가 좋기 때문에, 시스템의 구동메모리로 사용되는 것이 제안된 바 있다.
낸드플래쉬메모리를 시스템구동용으로 사용하는 예는 미합중국특허 등록번호 5,535,357(Dov Moral et al.; "Flash memory system providing both BIOS and user storage capability")에 개시되어 있다. 도 1을 참조하면, 낸드플래쉬메모리를 시스템 구동용으로 사용하기 위하여, 플래쉬콘트롤러 8이 낸드플래쉬메모리 9와 시스템버스 2사이의 인터페이스를 수행한다. 여기서 낸드플래쉬메모리 9는 별도의 에뮬레이션(emulation) 수단을 저장하여야 한다. 에뮬레이션 수단이란 낸드플래쉬메모리의 일부 영역을 하드디스크로 사용하기 위한 수단을 말한다. 플래쉬컨트롤러 9는 바이오스(BIOS) 구동 프로세스를 가로채고(intercept) 시스템메모리 3에 에뮬레이션 수단을 설치한다. 도 1의 구성에서 시스템 구동은 다음과 같이 이루어 진다. 먼저, 낸드플래쉬메모리 4의 파일시스템영역 FS(블럭 0에 위치함)에 바이오스영역 BS(블럭 1에 위치함)을 위한 점프어드레스(jump address)를 저장한다. 플래쉬컨트롤러 8내에 있는 메모리 맵핑(mapping)용 회로(또는 윈도우회로)를 이용하여 바이오스블럭 BS으로의 메모리 맵핑을 실행하고, 이를 통하여 운영체제(operating system) 영역 OS를 시스템메모리 3으로 옮김으로써 시스템구동을 행한다.
그러나, 이와 같은 종래의 방싱으로 낸드플래쉬메모리를 시스템구동용 메모리로 사용하기 위해서는, 도 1에 보인 바와 같이, 낸드플래쉬메모리 4를 파일시스템영역 FS, 바이오스영역 BS, 운영체제영역 OS 및 사용자데이타영역 UD으로 구분하여야 한다. 또한, 낸드플래쉬메모리 4는 낸드플래쉬메모리 4를 하드디스크로 인식할 수 있도록 하는 에뮬레이션 수단을 가지고 있어야 한다. 이와 아울러, 플래쉬컨트롤러 8은 바이오스 구동 프로세스를 가로채기(intercept) 위한 기능과 바이오스영역 BS로 어드레스맵핑을 하는 수단을 가져야 한다.
따라서, 전술한 종래의 방식에서는, 낸드플래쉬메모리 및 플래쉬컨트롤러에 대한 준비와 그에 따른 동작단계가 복잡하기 때문에 일반적인 컴퓨터 시스템에 적용하기가 쉽지 않은 단점이 있다.
따라서, 본 발명의 목적은 일반적인 컴퓨터시스템에서 낸드플래쉬메모리를 시스템구동 및 저장용으로 보다 용이하게 사용할 수 있도록 하는 장치를 제공함에 있다.
또한, 본 발명의 목적은 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는 컴퓨터시스템에서 보다 용이하고 효율적으로 인터페이스기능을 수행할 수 있는 장치를 제공함에 있다.
또한, 본 발명의 목적은 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는 컴퓨터시스템에서 낸드플래쉬메모리에 대한 독출 및 프로그램동작을 수행하는 인터페이스 장치를 제공함에 있다.
도 1은 종래의 컴퓨터 시스템의 구성을 보여 주는 블럭도.
도 2는 본 발명에 따른 컴퓨터 시스템의 구성을 보여 주는 블럭도.
도 3A 및 3B는 노아플래쉬메모리와 낸드플래쉬메모리에 대한 독출동작들을 각각 보여 주는 타이밍도들.
도 4는 도 2의 인터페이스장치의 내부구성을 보여 주는 블럭도.
도 5는 도 4의 상태 제어 유닛의 기능별 구성을 보여주는 블럭도.
도 6은 도 2의 컴퓨터 시스템이 구동되는 과정을 보여 주는 순서도.
도 7은 낸드플래쉬메모리를 시스템구동용으로 사용하는 경우에 도 2의 컴퓨터시스템이 구동되는 과정을 보여 주는 순서도.
도 8 및 9는 도 4의 인터페이스장치를 이용하여 낸드플래쉬메모리로부터 데이타를 독출하는 과정을 보여 주는 순서도 및 타이밍도.
도 10 및 11은 도 4의 인터페이스장치를 이용하여 낸드플래쉬메모리에 데이타를 프로그램하는 과정을 보여 주는 순서도 및 타이밍도.
본 발명에 따른 도면들에서 실질적으로 동일한 구성과 기능을 가진 구송요소들에 대하여는 동일한 참조부호를 사용한다.
전술한 목적들을 달성하기 위한 본 발명의 특징들은 다음과 같다.
먼저, 본 발명에 따른 컴퓨터시스템은: 중앙처리장치와 메모리버스컨트롤러를 포함하며 제1인터페이스 방식으로 동작하는 시스템컨트롤러와; 시스템버스를 통하여 상기 시스템컨트롤러와 연결된 시스템메모리와; 상기 컴퓨터시스템을 위한 시스템구동코드 및 운영체제 프로그램과 사용자데이타를 저장하는 낸드플래쉬메모리와; 상기 시스템컨트롤러와는 상기 시스템버스를 통하여 상기 제1인터페이스 방식으로 통신하고 상기 낸드플래쉬메모리와는 제2인터페이스 방식으로 통신하며 소정의 명령정보에 응답하여 내부에서 발생된 클럭신호에 동기되어 동작하는 인터페이스장치를 구비한다.
상기 인터페이스장치는: 상기 시스템버스를 통하여 상기 시스템컨트롤러와 상기 제1인터페이스방식으로 통신하는 호스트 인터페이스 유닛과; 상기 컴퓨터시스템 및 상기 낸드플래쉬메모리에 관한 편성정보와 상기 낸드플래쉬메모리에 관한 상기 명령정보를 저장하는 레지스터 유닛과; 상기 낸드플래쉬메모리의 데이타를 저장하는 버퍼 유닛과; 상기 명령정보에 응답하여 상기 클럭신호를 발생하는 오실레이터와; 상기 클럭신호에 동기되며, 상기 명령정보에 응답하여 상기 인터페이스장치의 내부동작을 제어하는 상태 제어 유닛과; 상기 클럭신호에 동기되며, 상기 상태 제어 유닛에 의해 상기 낸드플래쉬메모리와 상기 제2인터페이스방식으로 통신하는 낸드플래쉬 인터페이스 유닛을 가진다.
상기 인터페이스장치에는 전원이 인가된 때에 전원감지신호를 상기 상태 제어 유닛으로 인가하는 파워엎 감지회로와, 상기 클럭신호에 동기되어 상기 낸드플래쉬메모리의 데이타에 대한 에러검사 및 정정을 행하는 에러정정회로가 상기 이터페이스장치의 내부 또는 외부에 더 구비된다.
상기 상태 제어 유닛은: 상기 버퍼 유닛에 저장된 데이타와 미리 정해진 에러정정 패리티비트들을 상기 낸드플래쉬메모리에 프로그램하는 동작들을 제어하는 제1블럭과; 상기 낸드플래쉬메모리로부터 독출된 데이타를 상기 버퍼 유닛에 저장하는 동작을 제어하는 제2블럭과; 상기 낸드플래쉬메모리에 저장된 상기 시스템구동코드를 이용하여 상기 컴퓨터시스템을 구동하는 동작을 제어하는 제3블럭과; 상기 낸드플래쉬메모리의 상기 프로그램동작 중에 상기 에어정정 패리티비트들을 발생하는 동작을 제어하며, 상기 낸드플래쉬메모리의 독출동작 중에 상기 낸드플래쉬메모리에 저장된 상기 패리티비트들과 새로운 패리티비트들을 비교하여 에러정정하는 동작을 제어하는 제4블럭과; 상기 낸드플래쉬메모리에 저장된 데이타를 소거하는 동작을 제어하는 제5블럭과; 상기 낸드플래쉬메모리에 인가되는 리셋명령과 상기 인터페이스장치내의 레지스터들의 리셋을 제어하는 제5블럭으로 이루어진다.
본 발명의 다른 측면에 의하면, 상기 인터페이스 장치는: 상기 시스템버스를 통하여 상기 시스템컨트롤러와 상기 제1인터페이스 방식으로 통신하는 제1인터페이스 유닛과; 상기 클럭신호에 동기되어 상기 낸드플래쉬메모리와 상기 제2인터페이스 방식으로 통신하는 제2인터페이스 유닛과; 상기 제1 및 제2 인터페이스 유닛들간에 교환되는 정보 및 데이타를 저장하는 저장 유닛과; 상기 클럭신호에 동기되어 상기 제1 및 제2인터페이스 유닛들간의 상기 정보 및 데이타의 전송을 통제하는 제어 유닛을 구비한다. 상기 저장 유닛은: 상기 컴퓨터시스템 및 상기 낸드플래쉬메모리에 관한 편성정보와 상기 낸드플래쉬메모리에 관한 상기 명령정보를 저장하는 레지스터 유닛과; 상기 낸드플래쉬메모리의 데이타를 저장하는 버퍼 유닛으로 구분된다.
한편, 낸드플래쉬메모리를 가진 컴퓨터시스템을 구동하는 방법에 있어서는: 전원인가 감지상태에 응답하여 상기 낸드플래쉬메모리로부터 시스템구동코드를 소정의 버퍼로 복사하는 제1단계와; 상기 버퍼에 저장된 상기 시스템구동코드에 따라, 상기 컴퓨터시스템을 토기화하고 상기 낸드플래쉬메모리로부터 운영체제코드를 소정의 프로그램메모리로 복사하는 제2단계와; 상기 운영체제코드를 실행하는 제3단계를 구비한다.
또한, 본 발명의 시스템에서는 컨트롤러가 낸드플래쉬메모리로부터 데이타를 읽거나 낸드플래쉬메모리에 데이타를 프로그램할 때 낸드플래쉬메모리를 고성능으로 읽고 프로그램하는 장치 및 방법이 제시된다.
시스템컨트롤러 및 버퍼와 낸드플래쉬메모리를 가진 컴퓨터시스템에서 상기 낸드플래쉬메모리로부터 데이타를 독출하는 방법에 있어서는: 상기 낸드플래쉬메모리에 대한 명령들 및 어드레스들과 독출될 페이지들을 설정하는 제1단계와; 상기 페이지들 중 첫번째 페이지의 데이타를 상기 버퍼로 복사하는 제2단계와; 상기 첫번째 페이지의 데이타를 상기 버퍼로부터 상기 시스템컨트롤러로 전송하는 동안 상기 페이지들 중 두번째 페이지의 데이타 상기 낸드플래쉬메모리로부터 상기 버퍼로 복사하는 제3단계를 구비한다. 상기 설정된 페이지들에 대한 데이타 복사가 모두 완료될 때까지 상기 제3단계가 반복된다. 상기 시스템컨트롤러로 상기 설정된 페이지들의 데이타가 연속적으로 전송된다.
시스템컨트롤러 및 버퍼와 낸드플래쉬메모리를 가진 컴퓨터시스템에서 상기 낸드플래쉬메모리에 데이타를 프로그램하는 방법에 있어서는: 상기 낸드플래쉬메모리에 대한 명령들 및 어드레스들과 프로그램될 페이지들을 설정하는 제1단계와; 상기 시스템컨트롤러로부터 상기 버퍼로 상기 프로그램될 페이지들에 필요한 데이타를 연속적으로 로딩하는 제2단계와; 상기 버퍼에 로딩된 데이타를 이용하여 상기 페이지들에 대한 프로그램을 순차적으로 진행하는 제3단계를 구비한다. 상기 페이지들 중 한 페이지에 대한 데이타가 상기 버퍼에 로딩되는 동안 다른 하나의 페이지에 대한 프로그램이 진행된다.
이하, 본 발명에 따른 컴퓨터시스템에 관하여 첨부된 도면들을 참조하여 상세하게 설명한다. 본 발명에 따른 도면들에서 전술한 도 1의 구성요소들과 실질적으로 동일한 구성요소들에 대하여는 동일한 참조부호들을 사용한다.
도 2는 본 발명에 따른 컴퓨터시스템의 구성을 보여 준다. 도 2를 참조하면, 본 발명에 따른 컴퓨터시스템은 중앙처리장치(CPU) 등과 같은 시스템컨트롤러 11과, 시스템버스 2와, 디램(DRAM) 등과 같은 시스템메모리 3과, 본 발명에 따라 영역들이 구분된 낸드플래쉬메모리 10과, 시스템버스 2와 낸드플래쉬메모리 10사이에서 데이타 또는 신호들의 교환을 수행하는 인터페이스장치 20으로 이루어 진다.
시스템버스 2는 시스템컨트롤러 11과 시스템메모리 3 및 인터페이스장치 20을 서로 연결한다. 낸드플래쉬메모리 10는 데이타 저장용으로 뿐만 아니라 시스템구동용으로 사용되며, 그 내부의 데이타영역은 시스템구동 코드들(bootstrap codes)을 저장하는 영역 BC와, 운용체제(oerating system)에 관한 정보를 저장하는 영역 OS과, 통상의 사용자데이타를 저장하는 영역 UD로 나뉘어 진다. 낸드플래쉬메모리 10의 저장 영역들 BC, OS 및 UD는 저장되는 데이타의 종류에 따라 구분된것으로서, 각 저장영역은 복수개의 페이지들로 구성된다. 인터페이스장치 20은 종래의 낸드플래쉬컨트롤러(도 1의 4)를 지원하지 않는 시스템컨트롤러 11을 위하여 제공된다. 시스템컨트롤러 11은 코어블럭(core block) 15와 주변장치 16 및 메모리버스컨트롤러 17로 구성된다. 메모리버스컨트롤러 17은 낸드플래쉬메모리를 위한 인터페이스 방식을 지원하지 않고 프로그램메모리컨트롤러와 노아플래쉬메모리컨트롤러를 지원한다.
인터페이스장치 20은 시스템버스 2를 통하여 메모리버스컨트롤러 17과는 노아플래쉬인터페이스 방식으로 동작하고 낸드플래쉬메모리 10과는 낸드플래쉬인터페이스 방식으로 동작한다. 도 3A 및 3B는 노아플래쉬인터페이스 방식과 낸드플래쉬인터페이스 방식에서의 독출동작들을 각각 보여 준다. 노아플래쉬메모리는 랜덤억세스 독출이 가능하며, 낸드플래쉬메모리는 랜덤억세스 독출보다는 페이지 단위로 독출동작을 수행하며 최대 10㎲정도의 레이턴시 시간을 필요로 한다. 이와 같이, 노아플래쉬 인터페이스 방식과 낸드플래쉬 인터페이스 방식간의 차이로 인해, 낸드플래쉬 인터페이스 방식을 지원하지 않는 시스템 컨트롤러를 사용하는 컴퓨터시스템에서 낸드플래쉬메모리를 사용하기 위해서는 도 2와 같은 인터페이스장치 20이 필요하다.
인터페이스장치 20은, 도4에 도시된 바와 같이, 호스트 인터페이스 유닛 21과, 레지스터 유닛 22와, 버퍼 유닛 23과, 오실레이터 24와, 상태 제어 유닛(state machine) 25와, 파워엎(power-up) 감지회로 26과, 에러정정회로 27과, 낸드플래쉬 인터페이스 유닛 28으로 이루어 진다.
호스트 인터페이스 유닛 21은, 인터페이스장치 20과 시스템컨트롤러 11 사이에서 노아플래쉬 인터페이스 기능을 수행하기 위하여, 시스템컨트롤러 11에 연결된 시스템버스 2와 어드레스신호들 AD, 데이타입출력신호들 DIO 및 제어신호들 CRH을 교환한다. 어드레스신호들 AD에는 에스램(SRAM)으로 구성된 레지스터 유닛 22 및 버퍼 유닛 23과 낸드플래쉬메모리 10에 데이타를 저장하기 위한 어드레스신호들이 포함된다. 데이타신호들 DIO는 낸드플래쉬메모리 10에 프로그램되거나 앤드플래쉬메모리 10으로부터 독출되는 데이타가 전송된다. 제어신호들 CRH는 인터페이스장치 20를 동작시키기 위한 제어신호들을 포함한다. 레지스터 유닛 22는 호스트 인터페이스 유닛 21을 통하여 제공되는 제어신호들 CRW1 및 어드레스신호들 ADR1에 응답하여 도 2에 보인 컴퓨터시스템의 편성(configuration)과 명령(command)에 관한 정보를 저장한다. 호스트 인터페이스 유닛 21과 레지스터 유닛 22사이에서 교환되는 데이타신호들 DIO1은 그러한 시스템 편성과 명령들에 관한 정보이다. 버퍼 유닛 23은 호스트 인터페이스 유닛 21을 통하여 제공되는 제어신호들 CRW2 및 어드레스신호들 ADB1에 응답하여 낸드플래쉬메모리 10로부터 독출되거나 낸드플래쉬메모리 10에 프로그램되는 데이타를 임시로 저장한다. 호스트 인터페이스 유닛 21과 버퍼 유닛 23사이에서 교환되는 데이타신호들 DIO2는 낸드플래쉬메모리 10으로부터 독출되어 시스템컨트롤러 11로 전송될 데이타신호들이거나 시스템컨트롤러 11로부터 제공되어 낸드플래쉬메모리 10에 프로그램될 데이타신호들이다.
레지스터 유닛 22와 버퍼 유닛 23은 에스램(SRAM)으로 구성된다. 레지스터 유닛 22는 편성레지스터들과 명령레지스터들을 포함하고 있다. 예컨대, 편성레지스터들에는 인터페이스장치 20이 제어하고 있는 낸드플래쉬메모리 10의 특성들, 즉 입출력 확장도(IO depth; ×8 또는 ×16), 페이지 크기(page size), 기록밀도(bit density) 및 에러정정 여부 등의 정보가 저장된다. 명령레지스터들에서는 예컨대 해당하는 어드레스에 쓰기 명령이 입력되면 쓰기 명령이 수행되며, 명령레지스터로부터 명령 개시 신호 CS가 상태 제어 유닛 25로 인가된다. 레지스터 유닛 22는 인터페이스장치 20의 내부동작을 위하여 상태제어 유닛 25로부터 인가되는 제어신호들 CRW3 및 어드레스신호들 ADR2에 응답하여 상태 제어 유닛 25와 시스템 편성과 명령에 관한 데이타신호들을 교환한다. 버퍼 유닛 23은 상태 제어 유닛 25호부처 제공되는 제어신호들 CRW4 및 어드레스신호들 ADB2에 응답하여 낸드플래쉬 인터페이스 유닛 28을 통하여 낸드플래쉬메모리 10와 데이타신호들(시스템구동코드, 독출데이타 또는 프로그램 데이타) DIO4를 교환한다.
오실레이터 24는 상태 제어 유닛 25로부터 제공되는 활성화 신호 OCE에 응답하여 인터페이스장치 20의 내부동작을 동기화시키는 클럭신호 CLK를 발생한다. 클럭신호 CLK는 또한 에러정정회로 27과 낸드플래쉬 인터페이스 유닛 28로 공급된다. 클럭신호를 인터페이스장치 20의 외부(예를 들면, 도 2의 시스템 컨트롤러 11 등)에서 발생시킨 다음 호스트 인터페이스 유닛 21을 통하여 공급받을 수도 있지만, 인터페이스장치 20의 내부에서 발생시키는 것은 전류소모를 줄이기 위함이다. 즉, 클럭신호가 항상 인터페이스장치 20의 외부로부터 인터페이스장치 20으로 인가되는 것이 아니라, 인터페이스장치 20의 외부로부터 인가되는 명령이 레지스터 유닛 22내의 명령레지스터에 설정되면 오실레이터 24가 동작하고 그에 따라 상태 제어 유닛 25가 정해진 동작을 수행한다. 모든 동작이 완료되면, 오실레이터 24는 정지한다.
상태 제어 유닛(state machine) 25는 인터페이스장치 20의 동작을 관리하고 제어하는 중앙처리장치로서의 기능을 수행한다. 상태 제어 유닛 25는, 도 5에 보인 바와 같이, 기능별로 프로그램 제어 블럭(program state machine) PSM, 독출 제어 블럭(read state machine) RSM, 소거 제어 블럭(erasure state machine) ESM, 차단 제어 블럭(interrupt state machine) ISM, 시스템구동 제어 블럭(bootstrap loading state machine) BLM 및 에러정정 제어 블럭(ECC state machine) ECM으로 구분되어 있다.
프로그램 제어 블럭 PSM은 버퍼 유닛 23에 저장된 데이타를 낸드플래쉬메모리 10에 미리 지정된 어드레스에 프로그램하는 동작을 제어하며, 에러정정 제어 블럭 ECM에 의해 발생된 패리티 비트들을 낸드플래쉬메모리 10의 미리 지정된 스패어 어드레스에 저장하는 동작을 제어한다. 독출 제어 블럭 RSM은 낸드플래쉬메모리 10으로부터 독출한 데이타를 미리 지정된 버퍼 유닛 23의 어드레스 위치에 저장하는 동작을 제어한다. 소거 제어 블럭 ESM은 낸드플래쉬메모리 10의 지정된 어드레스의 데이타를 소거하는 동작을 제어한다. 차단 제어 블럭 ISM은 낸드플래쉬메모리 10에 대한 리셋 동작과 인터페이스장치 20내의 레지스터들에 대한 리셋 동작을 제어한다. 시스템구동 제어 블럭 BLM은, 시스템 구동회로를 포함하고 있으며, 파워엎 감지회로 26의 출력인 전원감지신호 PWR에 응답하여 낸드플래쉬메모리 10에 저장된 시스템구동코드(bootstrap code)를 버퍼 유닛 23에 전송하는 동작을 제어하며, 독출 제어 블럭 RSM과 공유하여 사용될 수 있다. 시스템구동 제어 블럭 BLM은 통상의 독출동작과 동일하며, 미리 정해진 시스템구동 코드에 따라 페이지 독출동작을 연속적으로 수행하도록 한다. 예컨대, 낸드플래쉬메모리 10의 시스템구동 코드 영역 BC가 8개 페이지에 할당되어 있고 인터페이스장치 10의 버퍼 유닛 23의 크기가 8개 페이지보다 같거나 크다고 가정하면, 8개 페이지분의 데이타가 낸드플래쉬메모리 10의 영역 BS로부터 버퍼 유닛 23으로 연속적으로 읽혀져 전송된다. 에러정정 제어 블럭 ECM은 낸드플래쉬메모리 10의 프로그램동작 중에 패리티비트들을 발생하는 동작을 제어하며, 독출동작 중에 저장된 패리티비트들과 새로운 패리티비트들을 비교하여 해당하는 어드레스의 데이타를 보정하는 동작을 수행한다.
파워엎 감지회로 26은 도 2의 컴퓨터시스템에 전원이 인가되었을 때 전원감지신호 PWR을 발생하여 내부의 레지스터들을 초기화하고 상대 제어 유닛 25의 시스템구동 제어 블럭 BLM을 활성화시킨다. 에러정정회로 27은, 상태 제어 유닛 25로부터 제공되는 에러검사신호 ECP에 응답하여 낸드플래쉬메모리 10에 대한 데이타 독출 및 프로그램동안에 생성된 패리티비트들을 이용한 데이타 에러 감지 및 보정을 행한다. 에러정정회로 27은 낸드플래쉬 인터페이스 유닛 28과 버퍼 유닛 23의 사이에서 전송되는 데이타를 동시에 받아 들인 다음 에러정정코드들을 생성하고 단일 비트 에러가 있는 경우 이를 보정하고 그에 따른 에러정보신호 EI를 상태 제어 유닛 25로 제공한다. 낸드플래쉬 인터페이스 유닛 28은 상태 제어 유닛 25로부터 제공되는 낸드플래쉬메모리용의 명령 및 제어신호들 CRN과 어드레스신호들 ADF를 낸드플래쉬메모리 10으로 낸드플래쉬인터페이스 방식으로 전송하고, 낸드플래쉬메모리 10과 인터페이스장치 10사이의 데이타 교환을 중계한다. 그리하여, 낸드플래쉬메모리 10은 낸드플래쉬 인터페이스 유닛 28을 통하여 동작에 필요한 제어신호들, 즉 칩 인에이블신호 nCE, 독출 인에이블신호 nRE, 서입 인에이블신호 nWE, 쓰기 방지신호 nWP, 어드레스 래치 인에이블신호 ALE 및 명령 래치 인에이블신호 CLE와 어드레스신호들 ADF를 제공하고, 레이디/비지 신호 R/nB를 받아들이며, 데이타신호들(시스템구동코드, 독출 또는 프로그램데이타) DIOF를 낸드플래쉬메모리 10과 교환한다.
도 4의 인터페이스장치 20내에 구성된 파워엎 감지회로 26과 에러정정회로 27은 인터페이스장치 20의 외부에 설치될 수 있다. 예를 들면, 파워엎 감지회로 26으로부터 출력되는 전원감지신호 PWR을 사용하지 않고, 인터페이스장치 20의 외부로부터 인가되는 시스템 리셋신호 등을 이용하여 시스템 구동을 시작할 수 있다.
이하, 전술한 낸드플래쉬메모리 10을 시스템구동 및 저장용으로 사용함에 있어서 인터페이스장치 20를 이용하는 컴퓨터시스템에서 본 발명에 따른 동작들을 상세하게 설명한다. 본 발명에 따른 동작들은 낸드플래쉬메모리 10을 이용한 시스템구동(bootstraping)과, 낸드플래쉬메모리 10에 대한 독출(read) 및 프로그램(program)으로 구분되어 설명된다. 그 외의 낸드플래쉬메모리의 동작들, 예컨대 소거, 또는 소거/프로그램 검증 등에 관하여는 기본적으로 포함되는 것으로 이해하여야 하며, 본 실시예에서는 그것들에 관한 설명은 생략한다.
먼저, 도 6은 도 2의 컴퓨터시스템에서 전체적인 시스템구동을 위한 기본과정을 보여 준다. 도 6을 참조하면, 일단의 전원이 공급되면(단계 S11), 바이오스의 처리 수순(BIOS routine)에 따라 시스템컨트롤러 11가 주변장치들 16, 예컨대 메모리장치들 또는 하드디스크 등이 정상적으로 동작하는지를 파악하기 위하여 각 하드웨어 장치들을 초기화하고 검사하는 포스트(POST; power-on self test)과정을 수행한다(단계 S12). 포스트과정에서 시스템에 연결된 하드웨어 장치들의 동작에 이상이 없으면 시스템구동용 메모리(즉, 낸드플래쉬메모리 10)로부터의 시스템구동 로딩 과정을 수행한다(단계 S13). 그 다음, 낸드플래쉬메모리 10에 저장된 운영체제(OS) 프로그램을 주메모리(즉, 시스템메모리 3)에 로딩한다(단계 S14). 운영체제 프로그램은 컴퓨터시스템의 하드웨어 및 소프트웨어에 대하여 설정된 정보를 검색하여 컴퓨터시스템이 정상적으로 동작되도록 실행된다(단계 S15).
보다 구체적으로, 낸드플래쉬메모리 10을 시스템구동용으로 사용하여 도 2의 컴퓨터시스템을 구동하는 과정에 관하여 설명한다. 도 7을 참조하면, 먼저 시스템에 전원이 인가되면(단계 S21), 파워엎 감지회로 26이 전원감지신호 PWR을 발생하고 상태 제어 유닛 25의 시스템구동 제어 블럭 BLM에 이를 알린다. 여기서, 파워엎 감지회로 26를 이용하여 전원인가상태를 감지하는 방법을 사용하지 않고 시스템 리셋 신호에 응답하여 시스템 제어 블럭 BLM에 전원이 인가되었음을 알리는 방법을 채용할 수 있다.
전원인가상태가 확인되면, 단계 S22에서, 시스템구동 제어 블럭 BLM은 낸드플래쉬메모리 10에 저장된 시스템구동 코드를 버퍼 유닛 23에 복사한다. 시스템컨트롤러 11은 버퍼 유닛 23으로부터 저장된 시스템구동 코드를 읽는다(단계 S23). 또한, 시스템컨트롤러 11은, 단계 S24에서, 시스템의 하드웨어 장치들을 초기화하고 낸드플래쉬메모리 10에 저장된 운영체제 프로그램을 시스템메모리 3으로 복사한다(도 6의 단계 S14에 해당함). 그 다음, 단계 S25에서, 시스템컨트롤러 11은 시스템메모리 3에 저장된 운영체제 프로그램에 따라 시스템을 동작시킨다(도 6의 단계 S15에 해당함).
본 발명에서 이용되는 시스템구동 코드는, 시스템의 하드웨어 장치들을 초기화하고 운영체제 프로그램을 시스템메모리 3으로 로딩(loading)하기 위한 것으로서, 시스템 하드웨어 장치들을 초기화시키는 코드와, 운영체제 프로그램을 복사하기 위한 코드로 구성된다. 또한, 시스템구동 코드는 필요한 경우에 시스템에 차단명령이 인가될 때 수행되는 차단 벡터 등을 포함할 수 있다.
낸드플래쉬메모리 10은 전술한 바와 같이 시스템구동용 뿐만 아니라 고유의 동작들 즉 소거, 프로그램 및 독출 기능들을 가지기 때문에, 시스템컨트롤러 11이 낸드플래쉬 인터페이스 기능을 지원하지 않은 경우(기존의 대부분의 시스템컨트롤러들은 노아플래쉬 인터페이스 기능을 지원해 왔음)에 인터페이스장치 20이 시스템컨트롤러 11과 낸드플래쉬메모리 10사이의 인터페이스 환경을 지원할 수 있도록 한다. 즉, 도 2 또는 도 3에 보인 바와 같이, 인터페이스장치 20은 시스템컨트롤러 11와는 호스트 인터페이스 유닛 21을 통하여 노아플래쉬 인터페이스를 수행하고, 낸드플래쉬메모리 10과는 낸드플래쉬 인터페이스 유닛 28을 통하여 낸드플래쉬 인터페이스를 수행한다. 낸드플래쉬메모리 10을 데이타 저장용으로서 운용하기 위하여 인터페이스장치 20은 2가지의 처리방식, 즉 인터리브 독출(interleave read)과 인터리브 프로그램(interleave program)을 수행한다.
도 8 및 9는 인터리브 독출에 관한 과정을 보여 주며, 도 10 및 11은 인토리브 프로그램에 관한 과정을 보여 준다.
먼저, 도 8 및 9를 참조하여 인터리브 독출에 관한 동작과정을 설명한다. 앞서 도 3A 및 3B와 관련하여 언급한 바와 같이, 노아플래쉬메모리는 워드(word) 또는 바이트(byte)단위로 랜덤 억세스가 가능한 반면, 낸드플래쉬메모리는 페이지단위로 억세스 하기 때문에 데이타가 독출되기까지(시스템컨트롤러 11이 낸드플래쉬메모리 10으로부터 독출된 데이타를 접수하기까지) 기본적으로 최대 10 ㎲ 정도의 레이턴시(latency) 시간동안 기다려야 한다. 본 발명에 따른 인터리브 독출동작에서는 그러한 레이턴시 타임을 줄여 동작성능을 향상시킨다.
시스템컨트롤러 11이 인터페이스장치 20에게 낸드플래쉬메모리 10에 대한 어드레스 및 독출할 페이지 수에 관한 정보와 함께 낸드플래쉬메모리 10로부터 데이타 독출을 명령하면(단계 S31), 인터페이스장치 20은 낸드플래쉬메모리 10으로부터 버퍼 유닛 23에 지정된 어드레스에 해당하는 페이지의 데이타를 복사한다(단계 S32). 단계 S31에서는, 도 9에 보인 바와 같이, 독출동작이 초기화되고 독출될 페이지들에 대한 어드레스들과 데이타량을 설정하기 위한 구간 RCS가 포함된다. 현재의 지정된 페이지에 대한 데이타 복사가 완료되면(단계 S33), 시스템컨트롤러 11은 현재 페이지의 데이타를 버퍼 유닛 23으로부터 읽어 들이는 한편 인터페이스장치 20은 다음 페이지의 데이타를 버퍼 유닛 23으로 복사한다(단계 S35). 다음 페이지에 대한 데이타 복사가 완료되면(단계 S36), 시스템컨트롤러 11이 인터페이스장치 20에 설정하였던 페이지 수만큼 독출 및 복사가 완료되었는지 검사한다(단계S38). 단계 S38에서 지정된 모든 페이지들에 대한 데이타 복사가 완료되지 않으면 단계 S35로 되돌아가서 다음 페이지에 대한 데이타 독출 및 복사 동작을 반복한다. 낸드플래쉬메모리 10으로부터 각 페이지(예컨대, 페이지 N)에 대한 데이타를 읽어 내는 과정은, 각 페이지에 대한 독출명령과 어드레스를 도입하는 구간 RCAn과, 독출에 필요한 레이턴시 시간이 소요되는 구간 LATn과 해당 페이지에 대한 데이타의 독출/복사가 진행되는 구간 Rn으로 이루어 진다.
특히, 도 9를 참조하면, 첫번째 페이지(N; 임의의 페이지 번호)에 대한 데이타가 낸드플래쉬메모리 10으로부터 버퍼 유닛 23으로 복사되고 난후(Rn), 두번째 페이지(N+1)의 데이타가 낸드플래쉬메모리 10으로부터 버퍼 유닛 23으로 복사되고 있는 동안(단계 S35의 구간 Rn+1) 첫번째 페이지(N+1)의 데이타가 버퍼 유닛 23으로부터 시스템컨트롤러 11로 전송되고 있음(구간 CRn)을 볼 수 있다. 즉, 최초의 페이지 데이타가 버퍼 유닛 23에 복사된 후(단계 S32)부터는 시스템컨트롤러 11로의 전송과 페이지 독출/복사가 동시에 진행된다(단계 S35). 마찬가지로, 두번째 페이지(N+1)의 데이타가 버퍼 유닛 23으로부터 시스템컨트롤러 11로 전송되는 동안(CRn+1) 세번째 페이지(N+2)의 데이타가 낸드플래쉬메모리 10으로부터 버퍼 유닛 23으로 복사(Rn+2)된다. 정해진 페이지들(예컨대, N, N+1 및 N+1)만큼 이러한 과정은 도 8에 보인 수순에 따라 반복될 것이다.
각각의 페이지가 낸드플래쉬메모리 10으로부터 버퍼 유닛 23으로 복사되는 때에는 각 페이지 독출에 소요되는 레이턴시 시간들 LATn, LATn+1 및 LATn+2가 소요되지만, 시스템컨트롤러 11의 입장에서는 낸드플래쉬메모리 10으로부터의 독출데이타를 전술한 레이턴시 시간(약 10㎲; 즉, LATn, LATn+1 또는 LATn+2)을 거치지 않고 페이지 단위로 연속적으로(pipelined) 받아 들일 수 있다.
다음으로, 도 10 및 11을 참조하여 인터리브 프로그램에 관한 동작과정을 설명한다. 낸드플래쉬메모리 10을 프로그램하기 위해서는, 프로그램할 데이타를 낸드플래쉬메모리 10의 페이지버퍼들에 로딩(loading)하는 동작이 필요하다. 본 발명에 따른 인터리브 프로그램에서는 그러한 데이타 로딩 시간을 줄인다.
먼저, 단계 S41에서, 시스템컨트롤러 11이 인터페이스장치 20에게 낸드플래쉬메모리 10에 대한 어드레스 및 프로그램할 페이지 수에 관한 정보와 함께 낸드플래쉬메모리 10에 대한 프로그램을 명령하면 프로그램될 페이지들에 해당하는 데이타가 버퍼 유닛 23에 로딩된다. 즉, 단계 S41에서는, 프로그램 편성(configuration) 정보가 인터페이스장치 20의 레지스터 유닛 22에 제공되고(PCS) 프로그램될 페이지들에 해당하는 데이타가 버퍼 유닛 23에 순차적으로 로딩된다(LPn, LPn+1 및 LPn+2). 그러면, 단계 S42에서, 버퍼 유닛 23에 로딩된 순서에 따라 우선적으로 첫번째 페이지(N)에 대하여 프로그램 명령 및 어드레스가 제공되고(PCAn) 버퍼 유닛 23으로부터의 해당하는 데이타가 로딩된 다음(Ln), 지정된 페이지에 대한 프로그램이 진행된다(Pn). 여기서, 도 9의 타이밍상태로부터 알 수 있듯이, 현재 한 페이지(예컨대, N)에 대한 프로그램이 진행되는 동안 다음 페이지(예컨대, N+1)의 데이타가 버퍼 유닛 23으로 로딩되고 있음에 주목하여야 한다. 현재의 지정된 페이지에 대한 프로그램이 완료된 것으로 확인되면(단계 S43), 단계 S45에서, 인터페이스장치 20은 이미 버퍼 유닛 23에 저장된 다음 페이지(N+1)에 대한 프로그램을 전술한 첫번째 페이지에 대하여 진행한 것과 마찬가지로 프로그램동작을 진행한다(PCAn+1 -> Ln+1 -> Pn+1). 다음 페이지(즉, 두번째 페이지)에 대한 프로그램이 완료된 것으로 확인되면(단계 S46), 시스템컨트롤러 11이 인터페이스장치 20에 설정하였던 페이지 수(예컨대, 3개 페이지들 N~N+2)만큼 프로그램이 완료되었는지 검사한다(단계 S48). 단계 S48에서 지정된 모든 페이지들에 대한 프로그램이 완료되지 않은 것으로 확인되면 단계 S45로 되돌아가서 다음 페이지에 대한 프로그램 동작을 반복한다.
이와 같이, 본 발명에 의한 컴퓨터시스템에서의 낸드플래쉬메모리에 대한 프로그램에서는 프로그램될 페이지들에 해당하는 데이타를 미리 버퍼 유닛 23에 로딩한 다음 각 페이지에 대한 프로그램을 진행하기 때문에, 하나의 페이지에 대한 데이타 로딩이 진행되는 동안(예컨대, LPn+1) 다른 페이지에 대한 프로그램(예컨대, Pn)을 실시할 수 있다. 결과적으로, 낸드플래쉬메모리에 대한 전체적인 프로그램 데이타 로딩시간이 줄어듦에 따라, 전체적인 프로그램시간을 단축할 수 있다.
상술한 실시예에서 보인 본 발명의 수단과 방법에 준하여 본 발명의 기술분야에서 통상의 지식을 가진 자는 본 발명의 범위내에서 본 발명의 변형 및 응용이 가능하다.
상술한 바에 의하면 본 발명은 컴퓨터시스템에서 낸드플래쉬메모리를 시스템구동용으로 사용할 수 있도록 함에 있어 보다 간단하고 효율적인 방식을 제공한다. 특히, 본 발명에 따른 인터페이스장치를 이용함에 따라 낸드플래쉬메모리에 대한독출동작에 있어서 레이턴시 시간을 줄이는 한편 프로그램동작에 있어서 전체적인 프로그랜 데이타 로딩 시간을 단축하는 이점이 있다. 또한, 노아플래쉬 인터페이스 방식을 가진 시스템컨트롤러에 대하여도 낸드플래쉬메모리를 시스템구동용 및 저장용으로서 이용할 수 있도록 한다. 결과적으로, 본 발명은 낸드플래쉬메모리를 시스템구동 및 데이타 저장용으로 사용함에 있어서 보다 용이하고 효율적인 방식을 제안함으로써, 시스템 구성에 필요한 비용을 줄이는 효과가 있다.

Claims (18)

  1. 컴퓨터시스템에 있어서:
    중앙처리장치와 메모리버스컨트롤러를 포함하며 제1인터페이스 방식으로 동작하는 시스템컨트롤러와;
    시스템버스를 통하여 상기 시스템컨트롤러와 연결된 시스템메모리와;
    상기 컴퓨터시스템을 위한 시스템구동코드 및 운영체제 프로그램과 사용자데이타를 저장하는 낸드플래쉬메모리와;
    상기 시스템컨트롤러와는 상기 시스템버스를 통하여 상기 제1인터페이스 방식으로 통신하고 상기 낸드플래쉬메모리와는 제2인터페이스 방식으로 통신하며 소정의 명령정보에 응답하여 내부에서 발생된 클럭신호에 동기되어 동작하는 인터페이스장치를 구비함을 특징으로 하는 컴퓨터시스템.
  2. 제1항에 있어서,
    상기 인터페이스장치가:
    상기 시스템버스를 통하여 상기 시스템컨트롤러와 상기 제1인터페이스방식으로 통신하는 호스트 인터페이스 유닛과;
    상기 컴퓨터시스템 및 상기 낸드플래쉬메모리에 관한 편성정보와 상기 낸드플래쉬메모리에 관한 상기 명령정보를 저장하는 레지스터 유닛과;
    상기 낸드플래쉬메모리의 데이타를 저장하는 버퍼 유닛과;
    상기 명령정보에 응답하여 상기 클럭신호를 발생하는 오실레이터와;
    상기 클럭신호에 동기되며, 상기 명령정보에 응답하여 상기 인터페이스장치의 내부동작을 제어하는 상태 제어 유닛과;
    상기 클럭신호에 동기되며, 상기 상태 제어 유닛에 의해 상기 낸드플래쉬메모리와 상기 제2인터페이스방식으로 통신하는 낸드플래쉬 인터페이스 유닛을 구비함을 특징으로 하는 컴퓨터시스템.
  3. 제2항에 있어서,
    상기 인터페이스장치가 전원이 인가된 때에 전원감지신호를 상기 상태 제어 유닛으로 인가하는 파워엎 감지회로를 더 구비함을 특징으로 하는 컴퓨터시스템.
  4. 제2항 또는 제3항에 있어서,
    상기 인터페이스장치가 상기 클럭신호에 동기되어 상기 낸드플래쉬메모리의 데이타에 대한 에러검사 및 정정을 행하는 에러정정회로를 더 구비함을 특징으로 하는 컴퓨터시스템.
  5. 제4항에 있어서,
    상기 상태 제어 유닛이:
    상기 버퍼 유닛에 저장된 데이타와 미리 정해진 에러정정 패리티비트들을 상기 낸드플래쉬메모리에 프로그램하는 동작들을 제어하는 제1블럭과;
    상기 낸드플래쉬메모리로부터 독출된 데이타를 상기 버퍼 유닛에 저장하는 동작을 제어하는 제2블럭과;
    상기 낸드플래쉬메모리에 저장된 상기 시스템구동코드를 이용하여 상기 컴퓨터시스템을 구동하는 동작을 제어하는 제3블럭과;
    상기 낸드플래쉬메모리의 상기 프로그램동작 중에 상기 에어정정 패리티비트들을 발생하는 동작을 제어하며, 상기 낸드플래쉬메모리의 독출동작 중에 상기 낸드플래쉬메모리에 저장된 상기 패리티비트들과 새로운 패리티비트들을 비교하여 에러정정하는 동작을 제어하는 제4블럭을 구비함을 특징으로 하는 컴퓨터시스템.
  6. 제5항에 있어서, 상기 상태 제어 유닛이:
    상기 낸드플래쉬메모리에 저장된 데이타를 소거하는 동작을 제어하는 제5블럭과;
    상기 낸드플래쉬메모리에 인가되는 리셋명령과 상기 인터페이스장치내의 레지스터들의 리셋을 제어하는 제5블럭을 더 구비함을 특징으로 하는 컴퓨터 시스템.
  7. 제1항에 있어서,
    상기 인터페이스 장치가:
    상기 시스템버스를 통하여 상기 시스템컨트롤러와 상기 제1인터페이스 방식으로 통신하는 제1인터페이스 유닛과;
    상기 클럭신호에 동기되어 상기 낸드플래쉬메모리와 상기 제2인터페이스 방식으로 통신하는 제2인터페이스 유닛과;
    상기 제1 및 제2 인터페이스 유닛들간에 교환되는 정보 및 데이타를 저장하는 저장 유닛과;
    상기 클럭신호에 동기되어 상기 제1 및 제2인터페이스 유닛들간의 상기 정보 및 데이타의 전송을 통제하는 제어 유닛을 구비함을 특징으로 하는 컴퓨터시스템.
  8. 제7항에 있어서,
    상기 저장 유닛이:
    상기 컴퓨터시스템 및 상기 낸드플래쉬메모리에 관한 편성정보와 상기 낸드플래쉬메모리에 관한 상기 명령정보를 저장하는 레지스터 유닛과;
    상기 낸드플래쉬메모리의 데이타를 저장하는 버퍼 유닛을 구비함을 특징으로 하는 컴퓨터시스템.
  9. 제7항에 있어서,
    상기 인터페이스장치가 전원이 인가된 때에 전원감지신호를 상기 상태 제어 유닛으로 인가하는 파워엎 감지회로를 더 구비함을 특징으로 하는 컴퓨터시스템.
  10. 제7항 또는 제9항에 있어서,
    상기 인터페이스장치가 상기 클럭신호에 동기되어 상기 낸드플래쉬메모리의 데이타에 대한 에러검사 및 정정을 행하는 에러정정회로를 더 구비함을 특징으로하는 컴퓨터시스템.
  11. 제7항에 있어서,
    상기 제어 유닛이:
    상기 버퍼 유닛에 저장된 데이타와 미리 정해진 에러정정 패리티비트들을 상기 낸드플래쉬메모리에 프로그램하는 동작들을 제어하는 제1블럭과;
    상기 낸드플래쉬메모리로부터 독출된 데이타를 상기 버퍼 유닛에 저장하는 동작을 제어하는 제2블럭과;
    상기 낸드플래쉬메모리에 저장된 상기 시스템구동코드를 이용하여 상기 컴퓨터시스템을 구동하는 동작을 제어하는 제3블럭과;
    상기 낸드플래쉬메모리의 상기 프로그램동작 중에 상기 에어정정 패리티비트들을 발생하는 동작을 제어하며, 상기 낸드플래쉬메모리의 독출동작 중에 상기 낸드플래쉬메모리에 저장된 상기 패리티비트들과 새로운 패리티비트들을 비교하여 에러정정하는 동작을 제어하는 제4블럭을 구비함을 특징으로 하는 컴퓨터시스템.
  12. 제11항에 있어서,
    상기 제어 유닛이:
    상기 낸드플래쉬메모리에 저장된 데이타를 소거하는 동작을 제어하는 제5블럭과;
    상기 낸드플래쉬메모리에 인가되는 리셋명령과 상기 인터페이스장치내의 레지스터들의 리셋을 제어하는 제5블럭을 더 구비함을 특징으로 하는 컴퓨터 시스템.
  13. 낸드플래쉬메모리를 가진 컴퓨터시스템을 구동하는 방법에 있어서:
    전원인가 감지상태에 응답하여 상기 낸드플래쉬메모리로부터 시스템구동코드를 소정의 버퍼로 복사하는 제1단계와;
    상기 버퍼에 저장된 상기 시스템구동코드에 따라, 상기 컴퓨터시스템을 초기화하고 상기 낸드플래쉬메모리로부터 운영체제코드를 소정의 프로그램메모리로 복사하는 제2단계와;
    상기 운영체제코드를 실행하는 제3단계를 구비함을 특징으로 하는 방법.
  14. 시스템컨트롤러 및 버퍼와 낸드플래쉬메모리를 가진 컴퓨터시스템에서 상기 낸드플래쉬메모리로부터 데이타를 독출하는 방법에 있어서:
    상기 낸드플래쉬메모리에 대한 명령들 및 어드레스들과 독출될 페이지들을 설정하는 제1단계와;
    상기 페이지들 중 첫번째 페이지의 데이타를 상기 버퍼로 복사하는 제2단계와;
    상기 첫번째 페이지의 데이타를 상기 버퍼로부터 상기 시스템컨트롤러로 전송하는 동안 상기 페이지들 중 두번째 페이지의 데이타 상기 낸드플래쉬메모리로부터 상기 버퍼로 복사하는 제3단계를 구비함을 특징으로 하는 방법.
  15. 제14항에 있어서,
    상기 설정된 페이지들에 대한 데이타 복사가 모두 완료될 때까지 상기 제3단계를 반복함을 특징으로 하는 방법.
  16. 제14항에 있어서,
    상기 시스템컨트롤러로 상기 설정된 페이지들의 데이타가 연속적으로 전송됨을 특징으로 하는 방법.
  17. 시스템컨트롤러 및 버퍼와 낸드플래쉬메모리를 가진 컴퓨터시스템에서 상기 낸드플래쉬메모리에 데이타를 프로그램하는 방법에 있어서:
    상기 낸드플래쉬메모리에 대한 명령들 및 어드레스들과 프로그램될 페이지들을 설정하는 제1단계와;
    상기 시스템컨트롤러로부터 상기 버퍼로 상기 프로그램될 페이지들에 필요한 데이타를 연속적으로 로딩하는 제2단계와;
    상기 버퍼에 로딩된 데이타를 이용하여 상기 페이지들에 대한 프로그램을 순차적으로 진행하는 제3단계를 구비함을 특징으로 하는 방법.
  18. 제17항에 있어서,
    상기 페이지들 중 한 페이지에 대한 데이타가 상기 버퍼에 로딩되는 동안 다른 하나의 페이지에 대한 프로그램이 진행됨을 특징으로 하는 방법.
KR10-2002-0044638A 2002-07-29 2002-07-29 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치 Expired - Fee Related KR100448905B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR10-2002-0044638A KR100448905B1 (ko) 2002-07-29 2002-07-29 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치
EP03016977A EP1387284A3 (en) 2002-07-29 2003-07-25 Computer system with nand flash memory for booting and data storage
US10/629,049 US7234049B2 (en) 2002-07-29 2003-07-28 Computer system with NAND flash memory for booting and storage
JP2003281302A JP4554900B2 (ja) 2002-07-29 2003-07-28 Nandフラッシュメモリをシステム駆動用及びデータ貯蔵用として使用する装置
US11/747,795 US20070211559A1 (en) 2002-07-29 2007-05-11 Computer system with nand flash memory for booting and storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0044638A KR100448905B1 (ko) 2002-07-29 2002-07-29 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치

Publications (2)

Publication Number Publication Date
KR20040011657A KR20040011657A (ko) 2004-02-11
KR100448905B1 true KR100448905B1 (ko) 2004-09-16

Family

ID=30113205

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0044638A Expired - Fee Related KR100448905B1 (ko) 2002-07-29 2002-07-29 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치

Country Status (4)

Country Link
US (2) US7234049B2 (ko)
EP (1) EP1387284A3 (ko)
JP (1) JP4554900B2 (ko)
KR (1) KR100448905B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7499322B2 (en) 2007-02-08 2009-03-03 Samsung Electronics Co., Ltd. Integrated circuit memory system with high speed non-volatile memory data transfer capability

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI103329B (fi) * 1997-12-22 1999-06-15 Metso Minerals Tampere Oy Tapa leukamurskaimen kulutusleuan kiinnittämiseksi ja leukamurskain
US20080256352A1 (en) * 2000-01-06 2008-10-16 Super Talent Electronics, Inc. Methods and systems of booting of an intelligent non-volatile memory microcontroller from various sources
KR100441608B1 (ko) 2002-05-31 2004-07-23 삼성전자주식회사 낸드 플래시 메모리 인터페이스 장치
US7073016B2 (en) * 2003-10-09 2006-07-04 Micron Technology, Inc. Random access interface in a serial memory device
US7257703B2 (en) * 2003-11-18 2007-08-14 Toshiba America Electronic Components, Inc. Bootable NAND flash memory architecture
JP4404625B2 (ja) * 2003-12-25 2010-01-27 パナソニック株式会社 情報処理装置および該装置用のromイメージ生成装置
JP4357331B2 (ja) * 2004-03-24 2009-11-04 東芝メモリシステムズ株式会社 マイクロプロセッサブートアップ制御装置、及び情報処理システム
KR100678047B1 (ko) * 2004-05-06 2007-02-02 삼성전자주식회사 낸드 플래시 메모리를 구비한 이동 통신 단말기 및 그의부팅 방법
US7788427B1 (en) 2005-05-05 2010-08-31 Marvell International Ltd. Flash memory interface for disk drive
JP2006146485A (ja) * 2004-11-18 2006-06-08 Toshiba Corp 携帯端末
KR100588199B1 (ko) * 2004-12-07 2006-06-08 주식회사 팬택 휴대 단말기에서 프로그램 다운로드 실패시 이의 복구방법 및 이를 적용한 휴대 단말기
WO2006069492A1 (en) * 2004-12-31 2006-07-06 Intel Corporation Manageability extension mechanism for system firmware
US7657696B2 (en) * 2005-02-25 2010-02-02 Lsi Corporation Method to detect NAND-flash parameters by hardware automatically
KR100708128B1 (ko) * 2005-04-30 2007-04-17 삼성전자주식회사 낸드 플래시 메모리 제어 장치 및 방법
US8429326B2 (en) * 2005-09-12 2013-04-23 Mediatek Inc. Method and system for NAND-flash identification without reading device ID table
US8171192B2 (en) * 2005-09-20 2012-05-01 Qualcomm Incorporated Hardware-assisted device configuration detection
US8291295B2 (en) * 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US7631245B2 (en) * 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US20070118334A1 (en) * 2005-10-05 2007-05-24 Klaus Guenter Data logger for a measuring device
KR100667822B1 (ko) 2005-10-10 2007-01-11 삼성전자주식회사 낸드 플래시 메모리를 이용한 화상형성장치의 초기화제어장치 및 방법
KR100804647B1 (ko) * 2005-11-15 2008-02-20 삼성전자주식회사 병렬형 플래시 인터페이스를 지원하는 직렬형 플래시메모리 장치를 이용한 시스템 부팅 방법 및 장치
CN100349108C (zh) * 2005-11-21 2007-11-14 北京中星微电子有限公司 与非门快闪存储器的物理接口、接口方法和管理设备
KR101398403B1 (ko) * 2005-11-22 2014-05-26 샌디스크 테크놀로지스, 인코포레이티드 레거시 호스트들을 위한 방법 및 메모리 시스템
JP2007159000A (ja) * 2005-12-08 2007-06-21 Seiko Instruments Inc 半導体装置
US20070169084A1 (en) * 2005-12-12 2007-07-19 Frank Davis W Persistent maintenance of customization data on computing devices
US7831854B2 (en) * 2006-03-21 2010-11-09 Mediatek, Inc. Embedded system for compensating setup time violation and method thereof
US7849302B2 (en) * 2006-04-10 2010-12-07 Apple Inc. Direct boot arrangement using a NAND flash memory
JP4945186B2 (ja) * 2006-07-28 2012-06-06 株式会社東芝 記憶装置およびこれを含むメモリシステム
US20080263324A1 (en) 2006-08-10 2008-10-23 Sehat Sutardja Dynamic core switching
EP2054800A2 (en) * 2006-08-15 2009-05-06 Koninklijke Philips Electronics N.V. Flash memory access circuit
US20080046641A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20080046630A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
KR100799687B1 (ko) 2006-09-19 2008-02-01 삼성전자주식회사 비휘발성 메모리를 공유하는 두 개 이상의 콘트롤러를내장한 시스템
JP2008134736A (ja) * 2006-11-27 2008-06-12 Fujifilm Corp 電子機器
US20080147940A1 (en) * 2006-12-18 2008-06-19 Rom-Shen Kao Method and apparatus for controlling a shared bus
KR100896181B1 (ko) * 2007-01-26 2009-05-12 삼성전자주식회사 임베디드 낸드 플래시 메모리 제어 장치 및 방법
JPWO2008117520A1 (ja) * 2007-03-28 2010-07-15 パナソニック株式会社 メモリコントローラ、不揮発性メモリシステムおよびホスト装置
US8185685B2 (en) 2007-12-14 2012-05-22 Hitachi Global Storage Technologies Netherlands B.V. NAND flash module replacement for DRAM module
JP5228472B2 (ja) * 2007-12-19 2013-07-03 富士通セミコンダクター株式会社 半導体メモリおよびシステム
JP4858720B2 (ja) * 2008-03-05 2012-01-18 日本電気株式会社 エミュレータ、エミュレーション方法、プログラム、及び、記録媒体
US8243516B2 (en) * 2008-03-20 2012-08-14 Qimonda Ag Interface for NAND-type flash memory
JP2010009642A (ja) * 2008-06-24 2010-01-14 Toshiba Corp 半導体記憶装置およびそのテスト方法
TWI383319B (zh) * 2008-11-26 2013-01-21 Via Tech Inc 電腦系統及其開機方法
US8316201B2 (en) * 2008-12-18 2012-11-20 Sandisk Il Ltd. Methods for executing a command to write data from a source location to a destination location in a memory device
JP2010182349A (ja) * 2009-02-03 2010-08-19 Toshiba Corp 半導体記憶装置及びその自己テスト方法
EP2228718A1 (en) * 2009-03-11 2010-09-15 Harman Becker Automotive Systems GmbH Computing device and start-up method therefor
CN101515221A (zh) * 2009-03-17 2009-08-26 成都市华为赛门铁克科技有限公司 一种读数据的方法、装置和系统
KR20100111990A (ko) * 2009-04-08 2010-10-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 데이터 랜덤화 방법
US20110040924A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code
US20110041039A1 (en) * 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
US8131889B2 (en) 2009-11-10 2012-03-06 Apple Inc. Command queue for peripheral component
US8464020B2 (en) 2009-12-07 2013-06-11 Panasonic Corporation Non-volatile storage device, host device, storage system, data communication method and program
US8595411B2 (en) * 2009-12-30 2013-11-26 Sandisk Technologies Inc. Method and controller for performing a sequence of commands
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
TWI587125B (zh) 2010-08-04 2017-06-11 華碩電腦股份有限公司 具省電功能的電腦系統
US8589730B2 (en) * 2010-08-31 2013-11-19 Apple Inc. Handling errors during device bootup from a non-volatile memory
US8533447B2 (en) * 2010-09-08 2013-09-10 Wind River Systems, Inc. Method and device for modular configuration deployment at run time
US9021146B2 (en) 2011-08-30 2015-04-28 Apple Inc. High priority command queue for peripheral component
CN102279763A (zh) * 2011-08-30 2011-12-14 福州瑞芯微电子有限公司 一种bootrom的优化方法
US8990549B2 (en) 2012-07-12 2015-03-24 Freescale Semiconductor, Inc. Method and system for booting electronic device from NAND flash memory
KR102069708B1 (ko) * 2012-08-27 2020-01-23 삼성전자 주식회사 계층적 연결을 지원하는 액세서리 장치와 시스템 및 지원 방법
WO2014204331A1 (en) * 2013-06-17 2014-12-24 Llc "Topcon Positioning Systems" Nand flash memory interface controller with gnss receiver firmware booting capability
CN103744700A (zh) * 2013-12-23 2014-04-23 乐视致新电子科技(天津)有限公司 一种系统启动方法及电子设备
WO2016033539A1 (en) 2014-08-29 2016-03-03 Memory Technologies Llc Control for authenticated accesses to a memory device
KR102501753B1 (ko) * 2015-10-30 2023-02-21 삼성전자주식회사 고속 부팅을 제공하는 비휘발성 메모리 장치 및 이를 포함하는 시스템
US10331586B2 (en) * 2015-10-30 2019-06-25 Samsung Electronics Co., Ltd. Nonvolatile memory device for providing fast booting and system including the same
KR102535243B1 (ko) * 2017-12-18 2023-05-23 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20240076525A (ko) * 2022-11-22 2024-05-30 삼성전자주식회사 메모리 컨트롤러 및 메모리 장치를 포함하는 메모리 시스템 및 그것의 오류 복구 방법
US12248381B2 (en) * 2023-03-07 2025-03-11 Dell Products L.P. Data retention event preparation/recovery system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889987A (en) * 1996-09-30 1999-03-30 Intel Corporation Flexible non-volatile memory controller with boot block emulation
KR20000016908A (ko) * 1998-08-11 2000-03-25 윤종용 컴퓨터시스템내에서부트-업메모리로사용되는플래시메모리장치및그것의데이터읽기방법
US6182187B1 (en) * 1993-04-07 2001-01-30 Compaq Computer Corporation System ROM including a flash EPROM and a ROM for storing primary boot code replacing a block flash EPROM
JP2001344148A (ja) * 2000-05-30 2001-12-14 Sharp Corp ブートブロックフラッシュメモリ制御回路、およびそれを備えたicメモリカードと半導体記憶装置、並びにブートブロックフラッシュメモリの消去方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519843A (en) * 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
JP3566319B2 (ja) * 1993-06-20 2004-09-15 株式会社リコー 情報記憶装置
US5878280A (en) * 1993-09-23 1999-03-02 Philips Electronics North America Corp. Data buffering system for plural data memory arrays
US5603001A (en) * 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
KR0144818B1 (ko) * 1994-07-25 1998-08-17 김광호 낸드형 플래쉬메모리 아이씨카드
US6279069B1 (en) * 1996-12-26 2001-08-21 Intel Corporation Interface for flash EEPROM memory arrays
JPH10260912A (ja) * 1997-03-17 1998-09-29 Mitsubishi Electric Corp メモリカード
JP3072722B2 (ja) * 1997-06-20 2000-08-07 ソニー株式会社 フラッシュメモリを用いるデータ管理装置及びデータ管理方法並びにフラッシュメモリを用いる記憶媒体
US6601167B1 (en) * 2000-01-14 2003-07-29 Advanced Micro Devices, Inc. Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program
KR100383774B1 (ko) * 2000-01-26 2003-05-12 삼성전자주식회사 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템
JP3923715B2 (ja) * 2000-09-29 2007-06-06 株式会社東芝 メモリカード
US6546461B1 (en) * 2000-11-22 2003-04-08 Integrated Device Technology, Inc. Multi-port cache memory devices and FIFO memory devices having multi-port cache memory devices therein
JP2002207715A (ja) * 2001-01-11 2002-07-26 Mitsubishi Electric Corp マイクロコンピュータ及びそれに用いるメモリ制御方法
KR100441601B1 (ko) * 2001-10-19 2004-07-23 삼성전자주식회사 메모리 카드, 디지털 기기 및 메모리 카드와 디지털 기기사이의 데이터 인터페이스 방법
KR100466980B1 (ko) * 2002-01-15 2005-01-24 삼성전자주식회사 낸드 플래시 메모리 장치
US7234052B2 (en) * 2002-03-08 2007-06-19 Samsung Electronics Co., Ltd System boot using NAND flash memory and method thereof
US20030206442A1 (en) * 2002-05-02 2003-11-06 Jerry Tang Flash memory bridiging device, method and application system
US6775184B1 (en) * 2003-01-21 2004-08-10 Nexflash Technologies, Inc. Nonvolatile memory integrated circuit having volatile utility and buffer memories, and method of operation thereof
KR20080007430A (ko) * 2005-02-11 2008-01-21 샌디스크 아이엘 엘티디 Nand 플래시 메모리 시스템 체계

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182187B1 (en) * 1993-04-07 2001-01-30 Compaq Computer Corporation System ROM including a flash EPROM and a ROM for storing primary boot code replacing a block flash EPROM
US5889987A (en) * 1996-09-30 1999-03-30 Intel Corporation Flexible non-volatile memory controller with boot block emulation
KR20000016908A (ko) * 1998-08-11 2000-03-25 윤종용 컴퓨터시스템내에서부트-업메모리로사용되는플래시메모리장치및그것의데이터읽기방법
JP2001344148A (ja) * 2000-05-30 2001-12-14 Sharp Corp ブートブロックフラッシュメモリ制御回路、およびそれを備えたicメモリカードと半導体記憶装置、並びにブートブロックフラッシュメモリの消去方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7499322B2 (en) 2007-02-08 2009-03-03 Samsung Electronics Co., Ltd. Integrated circuit memory system with high speed non-volatile memory data transfer capability

Also Published As

Publication number Publication date
US7234049B2 (en) 2007-06-19
US20040017708A1 (en) 2004-01-29
JP4554900B2 (ja) 2010-09-29
JP2004062913A (ja) 2004-02-26
EP1387284A2 (en) 2004-02-04
EP1387284A3 (en) 2005-09-07
KR20040011657A (ko) 2004-02-11
US20070211559A1 (en) 2007-09-13

Similar Documents

Publication Publication Date Title
KR100448905B1 (ko) 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치
US9678761B2 (en) Technology for selectively updating memory-resident images
US7234052B2 (en) System boot using NAND flash memory and method thereof
US6754765B1 (en) Flash memory controller with updateable microcode
US6401198B1 (en) Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use
US5787493A (en) Control method and apparatus for direct execution of a program on an external apparatus using a randomly accessible and rewritable memory
US7761653B2 (en) Flash micro-controller with shadow boot-loader SRAM for dual-device booting of micro-controller and host
KR101146059B1 (ko) 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템을 위한데이터 판독/기입 방법
US7519754B2 (en) Hard disk drive cache memory and playback device
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
US7302517B2 (en) Apparatus and method for controlling execute-in-place (XIP) in serial flash memory, and flash memory chip using the same
EP1343082A2 (en) System boot using nand flash memory and method thereof
KR20070077463A (ko) 컴퓨터 시스템 초기화 방법과 초기화 코드 로딩 방법 및dram 디바이스와 이를 포함하는 내장형 시스템
US20040143696A1 (en) Data storage system for fast booting of computer
JP2010500682A (ja) フラッシュメモリアクセス回路
JP4373943B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US20130060990A1 (en) Data moving method for flash memory module, and memory controller and memory storage apparatus using the same
JPH0714392A (ja) 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置
CN116185299A (zh) 闪存控制器及相关装置和方法
US6898680B2 (en) Minimization of overhead of non-volatile memory operation
JP2006178909A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20020729

PA0201 Request for examination
PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20040630

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20040906

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20040907

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20070903

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20080904

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20090814

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20100830

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20110830

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20120831

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20120831

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20130902

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20130902

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20140901

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20140901

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20150831

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20150831

Start annual number: 12

End annual number: 12

FPAY Annual fee payment

Payment date: 20180831

Year of fee payment: 15

PR1001 Payment of annual fee

Payment date: 20180831

Start annual number: 15

End annual number: 15

FPAY Annual fee payment

Payment date: 20190830

Year of fee payment: 16

PR1001 Payment of annual fee

Payment date: 20190830

Start annual number: 16

End annual number: 16

PR1001 Payment of annual fee

Payment date: 20200831

Start annual number: 17

End annual number: 17

PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20220617