KR100583626B1 - 다기능 반도체 저장장치 - Google Patents

다기능 반도체 저장장치 Download PDF

Info

Publication number
KR100583626B1
KR100583626B1 KR1020020024755A KR20020024755A KR100583626B1 KR 100583626 B1 KR100583626 B1 KR 100583626B1 KR 1020020024755 A KR1020020024755 A KR 1020020024755A KR 20020024755 A KR20020024755 A KR 20020024755A KR 100583626 B1 KR100583626 B1 KR 100583626B1
Authority
KR
South Korea
Prior art keywords
data
main body
semiconductor storage
protocol
body system
Prior art date
Application number
KR1020020024755A
Other languages
English (en)
Other versions
KR20030004022A (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 네탁 테크놀로지 컴퍼니 리미티드
Publication of KR20030004022A publication Critical patent/KR20030004022A/ko
Application granted granted Critical
Publication of KR100583626B1 publication Critical patent/KR100583626B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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

Abstract

유니버설 인터페이스를 통하여 본체 시스템과 연결되는 다기능 반도체 저장장치로서, 반도체 저장부(1)와 제어부(2)를 포함하며, 상기 제어부(2)는 유니버설 인터페이스 제어모듈(21)과 마이크로프로세서(22)를 포함하고, 반도체 저장장치의 인터페이스 어플리케이션층은 여러 가지 장치 유형의 프로토콜을 실현하고, 여러 가지 유형의 메모리 디스크의 저장기능을 가상적으로 실현한다. 반도체 저장매체에 하나 또는 여러 개의 메모리 공간(space)을 설치하여 한 장치에서 하나 또는 여러 가지 유형의 메모리 디스크를 지원한다. 그리고 핫 도킹/언도킹(hot dock/undock)할 수 있으며 또 이동할 수도 있다.
다기능 반도체 저장장치, 유니버설 인터페이스, 프로토콜.

Description

다기능 반도체 저장장치{MULTIFUNCTION SEMICONDUCTOR STRORAGE DEVICE}
도 1은 본 발명에 의한 다기능 반도체 저장장치의 구성을 개념적으로 나타낸 블록도이고,
도 2는 본 발명에 따라 USB 인터페이스와 플래시메모리를 이용한 다기능 반도체 저장장치의 구성을 개념적으로 나타낸 블록도이며,
도 3은 본 발명에 따라 IEEE1394 인터페이스와 플래시메모리를 이용한 다기능 반도체 저장장치의 구성을 개념적으로 나타낸 블록도이고,
도 4는 본 발명에서의 반도체 저장부에서의 메모리 스페이스의 분배도이고,
도 5는 도 2에 나타낸 다기능 반도체 저장장치의 동작흐름을 나타내는 흐름도이고,
도 6a, 6b, 6c, 6d는 도 2에 나타낸 실시예의 회로도이다.
본 발명은 반도체 저장매체를 이용한 다기능 반도체 저장장치에 관한 것으로, 구체적으로는 유니버설 인터페이스를 통하여 본체와 연결되는 다기능 반도체 저장장치에 관한 것이다.
반도체 저장매체는 데이터를 저장 할 수 있는 일종의 반도체 칩으로서, 이와 같은 칩은 외부에서 기록명령과 데이터를 수신하면 그 칩에 데이터를 기록하고 저장할 수 있는 메모리 칩이다. 또한 이와 같은 칩은 또 외부에서의 독출명령을 수신하면 칩에 저장된 데이터를 독출하여 외부에 데이터를 송출할 수 있으며, 기타 명령(command), 예컨대 소거(clearing), 리셋(Reset) 등의 명령(command)을 지원한다. 이와 같은 반도체 저장매체에는 플래시메모리(Flash Memory), EEPROM, FRAM, DRAM, SRAM, SDRAM, 및 MRAM 등이 포함되며 반드시 이들에 한정되는 것은 아니다. 종래의 자기(magnetic) 디스크, 광(optical) 디스크 등의 저장매체에 비하면 반도체 저장매체는 부피가 작고 가벼우며 용량이 크고 신뢰성이 높으며 전력 소모량이 적은 우월한 특성을 구비하고 있을 뿐만 아니라 그 구동을 위해 별도의 기계 장치가 필요하지 않은 이점이 있다. 그 일례로서 ZL 00114081.7 <전(全) 전자식 플래시 외부 메모리 방법 및 장치>에서는 일종의 플래시메모리를 이용한 외부 저장장치를 개시하고 있는데, 신형 반도체 저장매체와 유니버설 루트 인터페이스(universal route interface)를 이용하여 드라이버(driver)가 없고 별도의 외부 접속 전원이 없는 외부 메모리를 실현하였고 핫 도킹/언도킹(hot dock/undock)이 가능하고, 플러그앤플레이(plug and play)가 가능하며, 전원을 끊을 필요가 없고, 액세스(Access) 속도가 빠르며 용량이 플로피 디스크를 크게 초과하고, 부피가 작고 휴대가 간편할 뿐 아니라 쉽게 파손되지 않으며, 유니버설 루트, 예컨대 USB(universal seril bus)와 IEEE1394를 지원하는 임의의 데이터 처리시스템에 이용될 수 있다.
이로써, 종래의 플로피 디스크 드라이버와 플로피 디스크의 역활은 더욱 작아지고 있고, 특히 외부 플래시 저장장치가 발명된 이후, 데이터의 교류는 모두 플로피 디스크 드라이버와 플로피 디스크에 의존하지 않아도 되었다. 그러나 지금 컴퓨터 사용자는 여전히 플로피 디스크 드라이버와 플로피 디스크를 떠날 수 없는데, 그 이유 중 하나는 외부 플래시 저장장치가 컴퓨터의 시동(starting)을 지원하지 않고, 컴퓨터 시스템이 바이러스에 의하여 파손되었거나 감염되었을 때 한장의 시동 플로피 디스크로 다시 컴퓨터를 시동시킬 필요가 있기 때문이다. 일반적으로 데스크톱 컴퓨터에는 내치식 플로피 디스크 드라이버가 설치되어 플로피 디스크로 시스템을 시동할 수 있도록 하였다. 그러나, 이 경우 본체 시스템의 부피와 무게가 증가하고 비용(cost)도 높아진다. 더욱이 플로피 디스크 드라이버는 그 부피와 무게 때문에 종래의 주류적인 초박형 노트북 컴퓨터에는 내치식 플로피 디스크 드라이버가 설치되지 않고 있다. 따라서, 플로피 디스크 드라이버가 설치되지 않은 노트북 컴퓨터의 사용자들은 시스템의 시동을 위해 가격이 상당히 비싼 USB 외치식 플로피 디스크 드라이버를 마련하여야 하고, 이로써 사용자는 그 비용(cost)을 부담하여야 할 뿐 아니라 사용상의 불편을 떠안게 되었다.
종래의 플래시 저장장치, 예컨대 디스크 온 칩(Disk On Chip)은 컴퓨터의 시동을 지원하지만, 본체 시스템의 내부에 설치하므로 핫 도킹/언도킹(hot dock/undock)과 이동이 불가능하여 본체 시스템이 바이러스에 감염되어 파괴되었을 경우, 디스크 온 칩(Disk On Chip)을 통하여 시동시킬 수 없으므로 그의 응용 범위는 매우 제한된다.
종래의 이동식 반도체 저장장치는 오직 본체 시스템의 운영시스템의 구동프 로그램에 의해 구동되기 때문에 본체 시스템의 바이오스(BIOS)에 의하여 인식, 제어될 수 없으므로 본체 시스템의 부팅수단으로 될 수 없다.
종래 주류의 바이오스(BIOS) 제작회사(maker)는 이미 USB를 지원하는 외치식 플로피 디스크 드라이버의 시동기능, 예컨대 어워드 바이오스(Award BIOS)를 제공하고 있고, 또 대부분의 메인 보드(mainboard) 제작회사(maker, 예컨대, ASUS(메인보드 제조사명)의 메인보드)는 상기 바이오스(BIOS)를 채택하고 있다. 이는 본 발명의 광범위한 응용을 가능하게 한다.
본 발명의 목적은, 종래 기술의 문제점을 극복하여 여러 종류의 메모리 디스크의 기능을 가상적으로 실현하고, 본체 시스템의 이동식 시동장치로 이용할 수 있는 다기능 반도체 저장장치를 제공함에 있다.
본 발명에 의한 다기능 반도체 저장장치는, 유니버설 인터페이스를 이용하여 본체 시스템과 연결되는 반도체 저장장치로서, 반도체 저장부와 제어부를 포함하고, 상기 제어부는 유니버설 인터페이스 제어모듈과 마이크로프로세서를 포함하여 이루어져, 플로피 디스크 드라이버에 대한 프로토콜에 따라 동작함으로써 플로피 디스크가 플로피 디스크 드라이버 내에서 동작할 때의 저장기능을 가상적으로 실현할 수 있고, 또 광 디스크 드라이버에 대한 프로토콜에 따라 동작함으로써 광 디스크가 광 디스크 드라이버 중에서 동작할 때의 저장 기능을 가상적으로 실현할 수 있으며, 또 하드 디스크 드라이버에 대한 프로토콜에 따라 동작함으로써 하드 디스크의 저장기능을 가상적으로 실현할 수 있고, 또 ZIP 디스크 드라이버에 대한 프로토콜에 따라 동작함으로써 ZIP 디스크의 저장기능을 가상적으로 실현할 수 있고, 또 MO 디스크 드라이버의 프로토콜에 따라 동작함으로써 MO 디스크의 저장기능을 가상적으로 실현할 수 있고, 또 핫 도킹/언도킹(hot dock/undock)할 수 있고 이동할 수 있다.
본 발명에 의한 다기능 반도체 저장장치가 지원하는 프로토콜은 UFI 프로토콜, SFF8020I 프로토콜, SFF8070I 프로토콜, SCSI Transparent Command Set 프로토콜, Reduced Block Commands (RBC) TIO Project 1240-D 프로토콜, ZIP 디스크 프로토콜, 및 MO 디스크 프로토콜을 포함한다.
반도체 저장부은 하나 이상의 메모리 스페이스으로 나뉘어 질 수 있고, 각 메모리 공간(space)은 하나의 메모리 디스크에 대응한다. 각 메모리 디스크의 메모리 공간(space)은 다시 데이터 영역과 전용정보 영역으로 나뉘어 질 수 있으며, 상기 전용정보 영역에 저장되는 전용정보는 메모리 디스크에 관련된 정보, 암호, 사용자의 디지털서명 등을 포함한다. 상기 전용정보 영역은 반드시 설치하여야 하는 것은 아니다.
본 발명에 의한 다기능 반도체 저장장치는 본체 시스템의 바이오스(BIOS)에 의하여 인식, 제어, 독출 및 기록이 가능하며, 상기 반도체 저장부에 시스템의 부팅 프로그램과 운영 프로그램을 저장해 둠으로써, 본체 시스템이 켜졌을 때, 본체 시스템의 바이오스(BIOS)가 상기 반도체 저장부로부터 부팅 프로그램과 운영 프로그램을 로딩(loading)하여 본체 시스템을 시동시키도록 할 수 있다.
본 발명에 의한 다기능 반도체 저장장치는 상기 반도체 저장부에 상기 반도체 저장장치의 구동프로그램을 저장하여 자체가 지니고 있는 구동프로그램에 의해 구동되도록 할 수 있다.
본 발명에 의한 다기능 반도체 저장장치는 마이크로프로세서와 연결된 기록방지 스위치를 더 포함할 수 있고, 상기 기록방지 스위치에 의해 상기 반도체 저장부에 물리적 보호를 제공하여 새로운 데이터가 다시 기록되거나 기존에 저장된 데이터가 소거되지 않도록 할 수 있다.
본 발명에 의한 반도체 저장장치는 마이크로프로세서와 연결된 LED 표시등을 더 포함할 수 있고, 상기 LED 표시등은 하나 또는 여러 개의 상기 반도체 저장장치의 작업상태를 표시하도록 할 수 있다. LED 표시등을 반드시 설치하여야 하는 것은 아니다.
본 발명에 의한 반도체 저장장치의 제어부는 마이크로프로세서와 연결된 스태택형 램인 캐시메모리를 더 구비할 수 있다. 캐시메모리를 반드시 설치하여야 하는 것은 아니다.
본 발명에 의한 반도체 저장장치의 상기 반도체 저장부에는 캐시메모리 영역이 형성될 수 있다. 물론, 캐시메모리 영역을 반드시 설치하여야 하는 것은 아니다.
본 발명에 의한 반도체 저장장치의 상기 반도체 저장부에는 하나의 전용정보 영역을 형성할 수 있고, 상기 전용정보 영역에는 장치와 관련된 정보, 암호 및 사용자의 디지털서명 등이 저장된다. 전용정보 영역을 반드시 설치하여야 하는 것은 아니다.
본 발명의 반도체 저장장치는 메모리 디스크 선택스위치를 더 포함할 수 있 고, 상기 선택스위치에 의해 복수의 메모리 디스크 중 적어도 하나의 메모리 디스크를 선택하면 선택된 메모리 디스크를 본체가 인식, 제어, 독출 및 기록의 동작을 행할 수 있도록 한다. 메모리 디스크 선택스위치를 반드시 설치하여야 하는 것은 아니다.
본 발명은 반도체 저장장치에서의 인터페이스의 어플리케이션 레이어(application layer)로 하여금 각종 유형의 저장장치의 프로토콜을 실현하도록 하여 여러 종류의 메모리 디스크의 저장기능을 가상적으로 실현한다. 또, 반도체 저장매체에 하나 이상의 메모리 공간(space)을 설치하여 하나의 장치로서 하나 또는 복수의 저장기능을 지원하도록 한다. 본 발명은 유니버설 인터페이스 외치식 플로피 디스크 드라이버와 플로피 디스크의 저장기능을 완벽히 실현하여 컴퓨터 시스템 중 플로피 디스크 드라이버와 플로피 디스크의 저장기능을 철저히 대치할 수 있도록 한다. 본 발명의 반도체 저장장치는 부피가 작고 가벼우며 성능이 우수하고 신뢰성이 좋으며 핫 도킹/언도킹(hot dock/undock)할 수 있고 이동 할 수 있어 본체 시스템이 소형화, 경량화되어도 컴퓨터의 비용(cost)를 효과적으로 저감할 수 있다.
이하에서는 첨부된 도면을 참조하여 본 발명을 더욱 상세히 설명한다.
도 1은 본 발명에 의한 다기능 반도체 저장장치의 구성을 개념적으로 나타낸 블록도로서, 본 예에서의 다기능 반도체 저장장치는 유니버설 인터페이스를 통하여 케이블, 소켓(socket) 또는 무선으로 본체와 연결되고, 반도체 저장부(1), 제어부(2), 기록방지 스위치(3), 메모리 디스크 선택스위치(4) 및 LED 표시등(5)을 포함하여 이루어진다. 그 중 제어부는 유니버설 인터페이스 제어모듈(21), 마이크로프로세서(22) 및 캐시메모리(23)를 포함한다.
반도체 저장부(1)는 하나 이상의 반도체 저장매체로서의 메모리 칩으로 구성되고, 구체적으로는 플래시메모리, EEPROM, FRAM, SRAM, DRAM, SDRAM 또는 MRAM일 수 있으나, 반드시 이들에 한정되는 것은 아니며, 현재 사용되는 어드레스 방식으로 연결되고 데이터를 저장할 수 있는 것이면 가능하다. 반도체 저장부(1)는 하나 또는 둘 이상으로 나뉘어진 메모리 공간(space)으로 구성된다. 또 상기 반도체 저장부(1)에 상기 반도체 저장장치의 구동프로그램을 저장함으로써 자체가 가지고 있는 구동프로그램으로 구동될 수 있다.
제어부(2)는 장치의 초기화, 장치의 제어, 유니버설 인터페이스의 초기화와 제어를 실현하고, 본체에서 발송해 오는 명령(command), 데이터를 접수하며, 본체에서 발송해 오는 명령(command), 데이터를 해석, 실행하여 데이터를 반도체 저장부(1)에 저장하거나 또는 반도체 저장부(1)로부터 데이터를 독출하여 그 실행 결과를 유니버설 인터페이스를 통하여 본체 시스템에 전달한다.
제어부(2)의 유니버설 인터페이스 제어모듈(21)은 본체 시스템과의 연결을 실현하며 유니버설 인터페이스 프로토콜을 해석, 전환, 제어, 전송한다. 유니버설 인터페이스가 유선 유니버설 인터페이스인 경우에는 USB 인터페이스, IEEE1394 인터페이스를 포함하고, 유니버설 인터페이스가 무선 인터페이스인 경우에는 블루투스 인터페이스(Bluetooth Interface), IrDA 적외선 인터페이스, 홈 RF 인터페이스(Home RF Interface), IEEE802.11a 인터페이스 및 IEEE802.11b 인터페이스를 포함한다. 그러나, 반드시 이에 한정되는 것은 아니다.
마이크로프로세서(22)는 유니버설 인터페이스 제어모듈(21)을 초기화하고 메모리 디스크 선택스위치(4)의 상태를 검출하여 상기 선택스위치(4)의 상태에 근거하여 각 종류의 메모리 디스크(플로피 디스크, 광 디스크, 하드 디스크, ZIP 디스크, MO 디스크 등)의 유형에 대한 프로토콜에 따라 저장기능을 가상적으로 실현한다. 또 핫 도킹/언도킹(hot dock/undock)하고 이동할 수 있다. 상기 메모리 디스크가 지원하는 프로토콜의 종류로는 UFI 프로토콜, SFF8020I 프로토콜, SFF8070I 프로토콜, SCSI Transparent Command Set 프로토콜, Reduced Block Commands(RBC) T10 Project 1240-D 프로토콜, ZIP 프로토콜 및 MO 디스크 프로토콜이 있을 수 있다. 메모리 디스크 선택스위치(4)는 하나 또는 복수의 메모리 디스크를 선택할 수 있다. 선택스위치(4)를 반드시 설치하여야 하는 것은 아니다.
상기 메모리 디스크 중 적어도 어느 하나는 본 발명에서의 장치 중 기타 메모리 디스크의 구동프로그램을 저장하여 자체가 가진 구동프로그램에 의해 구동될 수 있다.
마이크로프로세서(22)의 기능을 설명하자면 다음과 같다.
a, 반도체 저장부를 초기화하고 반도체 저장부의 메모리 칩의 용량, 제조기업 및 수량을 검출한다.
b, 유니버설 인터페이스 프로토콜의 제어명령을 접수하고 제어명령을 해석, 실행하며 그 실행결과를 유니버설 인터페이스를 통하여 본체 시스템에 리턴한다.
c, 가상의 메모리 디스크 유형에 대한 프로토콜을 접수하면 관련 명령(command)을 해석, 실행한 다음 그 결과를 유니버설 인터페이스를 통하여 본체 시스템에 반송(Return)한다. 관련 명령(command)이라 함은 데이터 독출, 데이터 기록, 장치 정보 독출, 장치 용량 독출 등을 포함하지만, 반드시 이에 한정되는 것은 아니다.
삭제
d, 사용자정의 메모리 디스크에 대한 프로토콜을 접수하면 관련 명령(command)을 해석, 실행한 다음 그 결과를 유니버설 인터페이스를 통하여 본체 시스템에 반송(Return)한다. 여기서의 관련 명령(command)이라 함은 데이터 독출, 데이터 기록, 장치 정보 독출, 장치 용량 독출 등을 포함하지만, 반드시 이에 한정되는 것은 아니다.
e, 데이터를 반도체 저장장치에 기록하거나 또는 반도체 저장장치에 저장된 데이터를 독출하며 데이터를 기록/독출할 때 LED 표시등이 그 상태를 표시하도록 점등되고, 기록동작을 실행할 때 기록방지 스위치를 검측하여 만약 그 스위치가 기록방지의 상태에 있으면 기록요청을 거절하고 본체 시스템에 기록동작의 실패를 보고한다.
f, 본체 시스템에서 정의된 저장장치의 논리 어드레스를 실제적인 메모리 칩의 식별부호로 전환시키며 그 메모리 칩의 물리적 어드레스로 전환시킨다.
g, 본체 시스템과 연결되면 마이크로프로세서(22)가 LED 표시등을 점등하여 그 상태를 표시한다.
반도체 저장매체의 저장방식에 따라서는 캐시메모리(23)가 필요하지 않는 경우도 있다. 캐시메모리는 반도체 저장부의 데이터가 소거되기 전에 그 데이터를 저장하는 데에 사용되고, 다음에 기록하려는 데이터를 캐시메모리에 저장하여 최후에 캐시메모리에 저장된 데이터를 반도체 저장부에 기록한다. 캐시메모리는 SRAM일 수 도 있고 반도체 저장부의 일부분일 수도 있다. 저장매체에 따라서는 소거동작이 필요하지 않을 수도 있다.
상기 제어부(2)의 기능은 하나 또는 복수의 집적회로 칩에 의해 실현되고, 그 집적회로 칩에는 전용 칩(ASIC), 시스템 집적 칩(SOC) 및 펌웨어(firmware)를 탑재한 단말기(SCM)가 포함될 수 있다.
도 2는 본 발명에 의한 다기능 반도체 저장장치의 일실시예이다. USB 인터페이스와 플래시메모리를 이용한 반도체 저장장치의 구성을 개념적으로 나타낸 블록도이다.
본 실시예에서 유니버설 인터페이스는 USB 인터페이스를 이용하고 반도체 저장매체로는 플래시메모리를 이용하였다. 이것은 플래시메모리(11), 제어부(20), 기록방지 스위치(3), 메모리 디스크 선택스위치(4) 및 LED 표시등(5)을 포함한다. 그 중 제어부는 USB(Universal Serial Bus) 인터페이스 제어모듈(201), 마이크로프로세서(202), SRAM 캐시메모리(203)를 포함한다.
플래시메모리(11)는 하나 또는 복수의 반도체 플래시메모리 칩으로 구성되고, 종전의 어드레스 방식으로 연결되고 데이터를 저장하는 기능을 가진다.
제어부(20)는 장치의 초기화, 장치의 제어, USB 인터페이스 초기화를 실현하고 본체 시스템에서 발송되어 오는 명령(command)과 데이터를 접수하여 본체에서 발송해온 명령(command)을 해석, 실행하며 데이터를 플래시메모리(11)에 저장하거나 또는 플래시메모리에서 데이터를 독출하고 그 집행 결과를 USB 인터페이스를 통하여 본체 시스템에 반송(Return)한다.
제어부 중의 USB 인터페이스 제어모듈(201)은 본체 시스템의 USB와의 연결을 건립하고 USB 프로토콜을 해석, 전환, 제어, 전송한다.
마이크로프로세서(202)는 USB 인터페이스 제어모듈(201)을 초기화하고 메모리 디스크 선택스위치(4)의 상태를 검출하여 그 선택스위치(4)의 상태에 따라 어떠한 유형의 디스크 드라이버에 대한 프로토콜을 지원할 것인지를 결정한다. 이 프로토콜에는 UFI, SFF8080I 프로토콜이 포함되지만 반드시 이에 한정되는 것은 아니다. 즉, 대용량 메모리 디스크에 대한 프로토콜을 지원할 수도 있으며, 이때 그 프로토콜은 SFF8070I, SCSI Transparent Command Set 및 Reduced Block Commands (RBC) T10 Project 1240-D 프로토콜을 포함하지만, 이 또한 반드시 이에 한정되는 것은 아니다.
마이크로프로세서(202)의 기능은 상기 마이크로프로세서(22)의 기능과 유사하다. 예컨대 플래시메모리를 초기화하고 플래시메모리의 플래시 칩의 용량, 제조기업 및 수량을 검측한다. 마이크로프로세서(202)는 USB 인터페이스 프로토콜의 표준 제어명령을 접수하며 이 제어명령을 해석, 실행하고 그 결과를 USB 인터페이스를 통하여 본체 시스템에 반송(Return)한다. 이때의 USB 표준 프로토콜은 GET-STATUS, CLEAR-FEATURE, SET-FEATURE, SET-ADDRESS, GET-DESCRIPTOR, SET -DESCRIPTOR, GET-CONFIGURATION, SET-CONFIGURATION, GET-INTERFACE, SET-INTERFACE, SYNCH-FRAME 등을 포함하며, 반드시 이에 한정되는 것은 아니다.
도 2에 나타낸 실시예는 두가지 형태의 작업 상태가 있을 수 있다.
1, 가상의 플로피 디스크 드라이버와 플로피 디스크를 실현하는 상태
본 실시예에서의 다기능 반도체 저장장치는 가상의 플로피 디스크 드라이버와 플로피 디스크를 실현하기 위해, 플로피 디스크 드라이버에 대한 UFI 프로토콜을 지원하고 마이크로프로세서(202)는 CBI 전송프로토콜에 따라 본체 시스템과 USB 인터페이스를 통하여 통신하며, 또 마이크로프로세서(202)는 CBI 프로토콜을 준수하여 USB 인터페이스로부터 접수한 데이터 전송 패킷(data dispel packet) 중에서 플로피 디스크 드라이버의 UFI 명령(command)을 추출한 다음 관련 장치의 명령(command)을 실행하고 그 실행결과 또는 상태정보를 CBI 프로토콜 방식으로 패킹(packing)하여 USB 인터페이스를 통하여 본체 시스템에 반송(Return)한다.
플로피 디스크 드라이버의 관련 명령(command)으로는 Format Unit, Inquiry, Start/Stop, Mode Select, Mode Sense, Prevent/Allow Medium Removal, Read(10), Read(12), Read Capacity, Read Format Capacity, Request Sense, Rezero Track, Seek (10), Send Diagnostic, Test Unit Ready, Verify, Write(10), Write(12), Write and Verify 등이 있으나, 반드시 이에 한정되는 것은 아니다.
아래에 본 실시예의 몇가지 주요 명령(command)에 대해 설명한다.
Inquiry 명령은 장치의 관련 파라미터(Parameter)와 구성정보를 요구하고, 장치에 전력을 공급하거나 리셋(Reset)할 때, 본체 시스템 또는 바이오스(BIOS)의 구동프로그램은 이 정보에 따라 장치를 구성한다. 제어부는 UIF 프로토콜에 따라 장치의 정보를 본체에 반송(Return)하고, 구성정보에서의 주변장치류에 대한 데이터 비트를 직접 접근 장치로 설정한다.
Mode Sense 명령은 장치가 저장매체의 유형과 장치의 파라미터를 본체에 보 고하는 것을 허가하고 본체에 보고한 정보 중 하나의 정보비트가 Medium Type Codes인 경우 이 코드가 장치의 유형과 용량을 결정하는 바, 가상의 플로리 디스크의 용량이 1.44MB 이므로 설정 코드는 0x96(16진수)이다.
Read Capacity는 장치가 메모리 디스크의 용량을 보고할 것을 요청하고 장치가 반송(Return)한 데이터는 총 용량이 1.44MB임을 표시한다.
Read Format Capacity는 본체가 메모리 디스크에 포맷 가능한 용량을 요청하는 것을 허가하고 장치의 회답은 오직 하나, 즉 1.44 MB뿐이다.
Test Unit Ready는 본체로 하여금 장치의 준비가 잘 되었는가를 검측하게 하고 준비가 잘된 상태에서 장치는 준비가 되었다고 회답한다.
Read 10은 장치가 메모리 디스크의 어느 논리 어드레스의 데이터를 독출할 것을 요구하고 독출된 데이터를 본체 시스템에 반송(Return)하며 제어부는 논리 어드레스와 메모리 칩의 용량에 근거하여 논리 어드레스가 위치한 칩번호 및 그 칩의 물리적 어드레스를 산출한 다음 그 플래시 칩에 데이터 독출명령과 어드레스를 발송하고 플래시 칩의 데이터선으로부터 데이터를 독출하여 그 데이터를 본체 시스템에 반송(Return)한다. 제어부가 데이터를 읽고 전송할 때 LED 표시등(5)이 그 상태를 표시하도록 한다.
Write 10은 장치에 본체로부터 데이터를 수신할 것을 요구하며 또 수신한 데이터를 메모리 디스크의 어느 한 논리 어드레스에 기록하도록 한다. 제어부는 먼저 기록방지 스위치를 검측하여 만약 장치가 기록동작을 거절하면 기록동작의 실패를 보고한다. 만약 보호 상태가 아니면 제어부는 논리 어드레스와 메모리 칩의 용량에 의거하여 그 논리 어드레스 칩이 위치한 칩번호, 그 칩 중의 물리적 어드레스 및 블록의 어드레스를 산출한다. 플래시 칩의 어느 한 어드레스에 데이터를 기록할 때 반드시 먼저 그 어드레스에 위치한 블록을 소거하여야 하므로 원래의 데이터가 파손된다. 때문에 반드시 먼저 그 어드레스 블록의 메모리 데이터를 독출하여 SRAM 캐시메모리에 저장한 다음 기록할 데이터를 블록의 상대 어드레스에 따라 SRAM 캐시메모리에 기록하고, 그 다음에 플래시메모리의 상응한 블록을 소거하고 SRAM 캐시메모리 중의 데이터를 플래시메모리의 상응한 블록에 기록함으로써 기록동작을 완수한다. 제어부는 데이터를 수신하고 기록할 때, LED 표시등(5)을 점등하여 그 상태를 표시한다.
2, 대용량 메모리 디스크의 상태
대용량 메모리는 가상의 하드 디스크, 가상의 광 디스크 (optical disk), 가상의 ZIP 디스크 또는 가상의 MO 디스크 등이다.
본 발명에 의한 반도체 저장장치의 본 실시예는 대용량 메모리 디스크의 동작상태에 관한 것으로 장치는 SFF8070I 장치의 프로토콜을 지원하고 마이크로프로세서(202)는 벌크온리(BulkOnly) 전송 프로토콜에 따라 본체 시스템과 USB 인터페이스를 통하여 통신하고 제어부(202)는 벌크온리(BulkOnly) 프로토콜를 준수하여 USB 인터페이스로부터 수신한 데이터 언팩크트(data unpacked) 중에서 SFF8070I 유형의 명령을 추출하여 관련된 명령을 실행하고 그 실행결과 또는 상태정보를 벌크온리(BulkOnly) 전송 프로토콜 방식으로 패킹(packing)하여 USB 인터페이스를 통하여 그 결과를 본체 시스템에 반송(Return)한다. SFF8070I 유형의 관련 명령(command)으로는 Format Unit, Inquiry, Mode Select, Mode Sense Prevent/Allow Medium Removal, Read(10), Read(12), Read Capacity, Read Format Capacities, Request Sense, Seek, Start Stop Unit,Test Unit Ready, Verify, Write(10), Write(12), Write and Verify 등이 있으나, 반드시 이에 한정되는 것은 아니다.
아래에 본 발명의 상기 실시예의 몇가지 주요 명령(command)에 대해 설명한다.
Read Capacity 명령은 본체 시스템으로 하여금 장치의 메모리 디스크 용량을 얻게하고 제어부는 검측한 플래시메모리 칩의 모델과 수량에 의하여 저장 블록의 총 용량을 얻어내고 그 총 용량에서 1.44MB 및 기타 전용정보가 점유하는 스페이스를 감하여 대용량 메모리 디스크의 용량을 얻으며 그 용량을 본체 시스템에 반송(Return)한다.
Read 10은 장치가 메모리 디스크의 어느 한 논리 어드레스에서의 데이터를 독출하여 본체 시스템에 반송(Return)할 것을 요구한다. 제어부는 우선 논리 어드레스에 1.44MB의 플로피 디스크의 어드레스 스페이스를 가하고 새로운 논리 어드레스와 메모리 칩의 용량에 의하여 그 논리 어드레스가 위치할 칩번호와 그 칩의 물리적 어드레스를 산출한 다음 그 플래시메모리 칩에 데이터 독출명령과 어드레스를 발송하여 플래시메모리 칩의 데이터선으로부터 데이터를 독출하며 또 그 데이터를 본체 시스템에 반송(Return)한다. 제어부가 데이터를 독출하고 전송할 때 LED 표시등을 점등하여 그 상태를 나타낸다.
Write 10은 장치가 본체로부터 데이터를 접수하고 그 접수한 데이터를 메모리 디스크의 어느 한 논리 어드레스에 기록할 것을 요청한다. 제어부는 우선 기록방지 스위치를 검측하고 만약 보호상태에 있으면 본체의 기록동작을 거절하고 기록동작의 실패를 보고한다. 만약 스위치가 보호상태가 아니면 제어부는 먼저 논리 어드레스에 1.44MB 플로피 디스크의 어드레스 스페이스를 가하여 새로운 논리 어드레스와 메모리 칩의 용량에 의하여 그 논리 어드레스가 위치한 칩의 번호, 그 칩 중의 물리적 어드레스와 블록 어드레스를 산출한다. 플래시메모리 칩의 어느 한 어드레스에 데이터를 기록할 때 반드시 먼저 그 어드레스가 위치한 블록을 소거하여야 하는데 이러면 원래의 데이터가 파손되기 때문에, 반드시 먼저 그 블록 어드레스의 원래 데이터를 독출하여 SRAM 캐시메모리에 보존하고 그 다음에 기록해야 할 데이터를 블록 중의 상대 어드레스에 의하여 SRAM 캐시메모리에 기록하고 그 다음에 플래시메모리의 상응한 블록을 소거한 후 SRAM 캐시메모리의 데이터를 플래시메모리의 상응한 블록에 기록하여 기록동작을 완수한다. 제어부가 데이터를 접수하고 기록할 때 LED지시등을 점등하여 그 상태를 표시한다.
마이크로프로세서(22)가 본체 시스템과 연결되면 LED 표시등이 켜진다.
도 3은 본 발명의 반도체 저장장치의 다른 실시예로서, IEEE1394 인터페이스와 플래시메모리를 이용한 경우의 구성을 개념적으로 나타낸 블록도이다. 본 실시예 중 유니버설 인터페이스는 IEEE1394 인터페이스를 이용하고 반도체 저장매체로는 플래시메모리를 이용하였다. 이것은 플래시메모리(11), 제어부(200), 기록방지 스위치(3), 메모리디스크 선택스위치(4), LED 표시등(5)을 포함한다. 그 중 제어부(200)은 IEEE1394 인터페이스 제어모듈(211), 마이크로프로세서(212), SRAM 캐시메모리(213)를 포함한다.
플래시메모리(11)는 하나 또는 복수의 반도체 플래시메모리 칩으로 구성되고, 데이터 저장을 위해 일반적인 어드레싱 모드로 연결된다.
제어부(200)은 장치의 초기화, 장치의 제어, IEEE1394 인터페이스의 초기화를 수행하고, 본체에서 전송해 오는 명령과 데이터를 제어, 접수하고, 또 본체에서 발송해 오는 명령을 해석, 실행하고 데이터를 플래시메모리(11)에 저장한다. 또는 플래시메모리로부터 데이터를 독출하여 그 실행 결과를 IEEE1394 인터페이스를 통하여 본체 시스템에 반송(Return)한다.
제어부 중의 IEEE1394 인터페이스(211)는 본체 시스템의 IEEE1394과의 연결을 건립하고 IEEE1394 프로토콜의 해석, 전환, 제어 전송 등을 수행한다.
마이크로프로세서(212)는 IEEE1394 인터페이스 제어모듈(211)의 초기화를 수행하고, 메모리 디스크 선택스위치(4)의 상태를 검측하여 플로피 디스크 드라이버 장치 유형의 프로토콜를 지원하는지 여부를 결정한다. 이때의 프로토콜은 UFI, SFFF8070I 프로토콜을 포함하지만 반드시 이에 한정되는 것은 아니고, SFFF8070I, SCSI Transparent Command Set 및 Reduced Block Commands(RBC) T10 Project 1240-D 프로토콜를 포함할 수 있다.
마이크로프로세서(212)는 플래시메모리를 초기화하고 또 플래시메모리 중의 플래시메모리 칩의 용량, 제작회사(maker) 및 수량을 검측한다. 마이크로프로세서(212)는 또 IEEE1394 인터페이스 프로토콜의 표준 제어 명령을 수신하고 또 이런 제어명령을 해석, 실행하며 실행결과를 IEEE1394 이터페이스를 통하여 본체 시스템에 반송(Return)한다
도 3에서 표시한 실시예는 두가지 동작상태를 가진다.
1. 가상의 플로피 디스크 드라이버와 플로피 디스크의 실현 상태
장치가 플로피 드라이버와 플로피 디스크를 가상적으로 실현하는 경우, 장치는 플로피 디스크 드라이버에 대한 UFI 프로토콜를 지원하고, 마이크로프로세서(212)는 IEEE1394 인터페이스 데이터로부터 플로피 디스크 드라이버 유형의 UFI 명령(command)을 추출한 후 관련되는 장치 유형의 명령(command)을 실행하고 IEEE1394 인터페이스를 통하여 그 결과를 본체 시스템에 반송(Return)한다. 플로피 디스크 드라이버 유형에 관한 명령(command)으로는 Format Unit, Inquiry, Start/Stop, Mode Select , Mode Sense, Prevent/Allow Medium Removal, Read(10), Read(12), Read Capacity, Read Format Capacity, Request Sense, Rezero Track, Seek(10), Send Diagnostic, Test Unit Ready, Verify, Write(10), Write(12), Write and Verify 등이 포함되지만 반드시 이에 한정되는 것은 아니다.
아래에서 상기 실시예의 몇가지 주요 명령(command)에 대해 설명한다.
Inquiry 명령은 장치의 관련 파라미터와 구성정보를 요구하고, 장치의 전원이 켜지거나 리셋(reset)할 때 본체 시스템 또는 바이오스(BIOS) 중의 구동프로그램은 이 정보에 따라 장치를 구성한다. 제어부는 UFI 프로토콜에 따라서 장치의 구성정보를 본체에 반송(Return)하고, 이 구성정보에서 주변장치류에 대한 데이터 비트를 직접 접근 장치로 설정한다.
Mode Sense 명령은 장치가 저장매체 유형과 장치의 파라미터를 본체에 보고하는 것을 허가한다. 본체에 보고한 정보 중에서 Medium Type Codes라는 정보 자리 가 한 개 있으며 이 코드(Code)는 장치의 용량과 유형을 정한다. 가상의 디스크 용량은 1.44MB이므로 코드를 0x96으로 설정한다.
Read Capacity는 장치가 메모리 디스크의 용량을 보고할 것을 요청하며 장치가 반송(Return)하는 데이터는 총 용량이 1.44 MB라는 것을 표시한다.
Read Format Capacity 명령은 본체가 메모리 디스크의 포맷할 수 있는 용량을 요청하는 것을 허가하고. 장치는 포맷할 수 있는 용량은 1.44 MB 하나 뿐이라고 회답한다.
Test Unit Ready는 본체로 하여금 장치의 준비 여부를 검측하고 장치는 준비가 되었다고 회답한다.
Read 10은 장치가 메모리 디스크의 어느 한 논리 어드레스의 데이트를 독출할 것을 요구하며, 이에 따라 독출한 데이터를 본체 시스템에 반송(Return)한다. 제어부는 논리 어드레스와 각 메모리 칩의 용량에 근거하여 그 논리 어드레스가 위치할 칩 번호 및 이 칩에서의 물리적 어드레스를 산출해 낸 다음, 이를 플래시메모리 칩에 데이터 기록명령과 어드레스를 발송한다. 그리고 플래시메모리 칩의 데이터선에서 데이터를 독출하여 그 데이터를 본체 시스템에 반송(Return)한다. 제어부가 데이터를 읽고 전송할 때 LED 지시등을 점등하여 그 상태를 표시한다.
Write 10은 장치가 본체에서 데이터를 수신할 것을 요구하며 수신한 데이터를 메모리 디스크의 어느 한 논리 이드레스에 기록한다. 제어부는 우선 기록방지 스위치를 검측하고 만일 기록방지의 상태에 있다면 본체의 기록동작을 거절하고 기록동작의 실패를 보고한다. 만약 스위치가 기록방지의 상태에 있지 않을 때 제어부는 먼저 논리 어드레스와 메모리 칩의 용량에 근거하여 그 논리 어드레스가 위치 해야 할 칩번호, 그 칩 중의 물리적 어드레스 및 블록 어드레스를 산출해 낸다. 플래시메모리의 어느 한 어드레스에 데이터를 기록할 때 반드시 먼저 그 어드레스의 블록을 소거하여야 하는데 이러면 원래의 데이터가 파손된다. 때문에 반드시 먼저 그 어드레스에 저장된 데이터를 SRAM 캐시메모리 모듈에 저장하고 그 다음 기록하려는 데이터를 블록 중의 상대 어드레스에 의하여 SRAM 캐시메모리에 기록하고 플래시메모리의 상응한 블록을 소거한다. 그 다음에 SRAM 캐시메모리 중의 데이터 블록을 플래시메모리의 상응한 블록에 기록하여 전부의 기록동작을 완성한다. 제어부 블록이 데이터를 접수하고 기록할 때 LED 표시등(5)을 점등하여 그 상태를 표시한다.
2. 대용량 메모리 디스크의 상태
장치가 대용량 메모리 디스크의 상태인 경우, 장치는 SFF8070I 장치 유형의 프로토콜을 지원하고 마이크로프로세서(212)는 IEEE1394 인터페이스로부터 수신한 데이터 중에서 SFFF8070I 유형의 프로토콜를 추출한 다음 관련된 명령(command)을 실행하며 또 그 실행결과 또는 상태정보를 IEEE1394 인터페이스를 통하여 본체 시스템에 반송(Return)한다. SFF8070I 유형의 장치와 관련된 명령(command)으로는 Format Unit, Inquiry, Mode Select, Mode Sense, Prevent/Allow Medium Removal, Read(10), Read(12), Read Capacity, Read Format Capacities, Request Sense, Seek, Start Stop Unit, Test Unit Ready, Verify, Write(10), Write(12), Write and Verify 등이 포함되지만 반드시 이에 한정되는 것은 아니다.
아래에 몇 가지 주요명령에 대해 설명한다.
Read Capacity 명령은 본체로 하여금 장치의 메모리 디스크의 용량을 얻게 하고 제어부는 검측해 낸 플래시메모리 칩의 모델과 수량에 근거하여 메모리 모듈의 총 용량을 얻어내고 그 총량에서 1.44MB 및 기타 전용정보가 점유하는 스페이스를 감하여 대용량 메모리 디스크의 용량을 얻고 그 용량을 본체 시스템에 반송(Return)한다.
Read 10은 장치가 메모리 디스크 중의 어느 한 논리 어드레스의 데이터를 독출하여 본체 시스템에 반송(Return)해 줄 것을 요구한다. 제어부가 먼저 논리 어드레스에 1.44MB 플로피 디스크의 스페이스를 가하고 새로운 논리 어드레스와 메모리 칩의 용량에 근거하여 그 논리 어드레스가 위치할 칩번호 및 그 칩의 물리적 어드레스를 산출해 낸 다음에 플래시메모리에 데이터 독출명령과 어드레스를 발송하여 플래시메모리의 데이터선으로부터 데이터를 독출하여 그 데이터를 본체 시스템에 반송(Return)한다. 제어부가 데이터를 독출할 때 LED 표시등(5)을 점등하여 그 상태를 표시한다.
Write10은 장치가 본체로부터 데이터를 수신하며 또 접수한 데이터를 메모리 디스크의 어느 한 논리 어드레스에 저장한다. 제어부는 먼저 기록방지 스위치를 검측하여 만일 기록방지의 상태에 있으면 본체의 기록동작을 거절하고 기록동작 실패를 보고한다. 만일 스위치가 기록방지의 상태가 아니면 제어부는 논리 어드레스에 1.44MB 플로피 디스크의 어드레스 스페이스를 가하고 새로운 논리 어드레스와 각 메모리 칩의 용량에 근거하여 그 논리 어드레스가 위치한 칩번호 ,그 칩의 물리적 어드레스 및 블록 어드레스를 산출한다. 플래시메모리 칩의 어느 한 어드레스에 데이터를 기록할 때 반드시 우선 그 어드레스에 있는 블록을 소거하여야 한다. 그러나, 이러면 원래 데이터가 파손되기 때문에 반드시 그 블록 어드레스에 저장된 원래의 데이터를 독출하여 SRAM 캐시메모리에 저장한 후, 기록해야 할 데이터를 블록 중의 상응한 어드레스에 의하여 SRAM 캐시메모리에 기록한 다음 플래시메모리 중의 상응된 블록을 소거하고, 그후 SRAM 캐시메모리 모듈 중의 데이터 블록을 플래시메모리에 상응한 블록에 기록하여 기록동작을 완수한다. 제어부가 데이터를 수신하고 기록할 때 LED 표시등(5)을 점등하여 그 상태를 표시한다.
마이크로프로세서(212)는 본체 시스템과 연결하면 LED 표시등(5)을 점등한다.
도 4는 반도체 저장부의 메모리 공간(space) 분배도이다. 전체 저장부는 N개 메모리 공간(space)을 포함하며, 각 메모리 공간(space)은 하나의 메모리 디스크에 대응하고, 반도체 저장부는 데이터 캐시메모리 영역을 포함할 수도 있고 포함하지 않아도 되며, 반도체 저장부는 또 전체 저장장치의 전용정보 영역을 포함해도 되고 포함하지 않아도 된다. 각 메모리 공간(space)은 또 데이터 영역과 전용정보 영역을 포함하며 전용정보 영역은 없어도 된다. 데이터 캐시메모리 영역을 캐시메모리(23)로 이용될 수 있다(도 1 참조). 전체 저장장치의 전용정보 영역은 장치의 정보를 저장하는 데 쓰이며 플래시메모리의 파손된 블록의 기록, 비밀번호, 사용자의 디지털서명 등을 포함하지만 반드시 이에 한정되는 것은 아니다.
도 5는 도 2에서 나타낸 실시예의 동작흐름도이다.
제1 단계에서, 본체 시스템의 USB 인터페이스와 연결하고 USB 인터페이스에 서 전력을 제공받아 장치에 전력을 제공한다. 이때 마이크로프로세서(202)는 우선 마이크로프로세서(202)를 초기화하며 각종 레지스터(register) 설정과 동작주파수 설정도 행한다.
제2 단계에서, 마이크로프로세서(202)는 이어서 플래시메모리를 점검하여 각 메모리 칩의 타입, 용량, 제작회사 및 칩의 총 수량을 얻어 이 점검한 결과를 저장한다.
제3 단계에서, 마이크로프로세서(202)는 그 저장장치의 전용정보를 독출하는데, 그 전용정보에는 파손된 블록 기록표도 포함되지만 반드시 이에 한정되는 것은 아니다.
제4 단계에서, 마이크로프로세서(202)는 USB 인터페이스의 제어모듈에 대해 초기화를 행한다.
제5 단계로, 마이크로프로세서(202)는 본체 시스템에서 발송해 오는 USB 제어명령을 수신하여 상응한 명령을 실행하며 실행결과를 반송(Return)한다. 장치의 복사요청명령을 실행할 때 제어부는 "플로피 디스크 드라이버"와 "대용량 메모리 디스크"의 선택스위치를 검측하여 장치가 어떤 상태가 될 것인지를 결정한다. 즉 장치가 어떠한 장치 유형의 프로토콜과 전송 프로토콜을 지원하는가를 결정한다. 제어부는 장치가 지원하고 있는 장치 유형의 프로토콜과 전송 프로토콜 정보를 본체에 통지한다. "플로피 디스크 드라이버"상태에서 장치는 UFI 장치 유형의 프로토콜과 CBI 전송 유형의 프로토콜를 지원하고, "대 용량 메모리 디스크"상태에서 장치는 SFF80701 장치 유형의 프로토콜과 벌크온리(BulkOnly) 전송 유형의 프로토콜를 지원한다.
제6 단계에서, 본체는 장치가 반송(Return)한 장치 유형의 프로토콜과 전송 프로토콜에 근거하여 저장장치가 "플로피 디스크 드라이버" 또는 "대용량 메모리 디스크"인가를 판단한다. 만약 장치가 "플로피 디스크 드라이버"상태이면 본체는 CBI 전송 프로토콜에 의하여 장치에 UFI 장치 유형의 명령을 발송한다. 만약 장치가 "대용량 메모리 디스크"상태이면 본체는 벌크온리(BulkOnly) 전송 프로토콜에 의하여 장치에 SFF80701유형의 명령을 발송한다. 만약 장치가 "플로피 디스크 드라이버"상태이면 제어부는 CBI 전송 프로토콜에 의하여 본체 시스템에서 보낸 UFI 유형의 명령(command)을 수신하고 제어부는 상응한 명령을 해석, 실행한 다음 그 실행결과 또는 상태정보를 CBI 전송 프로토콜의 규격에 의하여 본체 시스템에 반송(Return)한다. 만약 장치가 "대용량 메모리 디스크"상태라면 제어부는 벌크온리(BulkOnly) 전송 프로토콜에 의하여 본체 시스템에서 보내오는 SFF80701유형의 명령을 접수하고 제어부는 상응한 명령을 해석, 실행한 다음 그 실행결과 또는 상태정보를 벌크온리(BulkOnly) 전송 프로토콜에 의하여 본체 시스템에 반송(Return)한다.
일단 본체의 스위치를 끄거나 본체 시스템에서 장치를 뽑으면 장치는 작업을 정지한다.
도 2에서 나타낸 실시예는 시스템의 시동디스크로 이용하는 방법이다.
아래에 Windows 98/Me/2000/XP에서 USB 인터페이스와 플래시메모리 저장장치를 이용하여 시스템의 시동디스크로 되는 예를 설명한다. 여기서, 이 장치가 Windows 98/Me/2000/XP 에서 시스템의 시동디스크로 이용될 뿐만 아니라 기타 운영시스템에서도 시스템의 시동디스크로 이용될 수 있다.
만약 이 장치를 시스템의 시동디스크로 이용하려면 우선 운영시스템의 시스템 프로그램과 부팅 프로그램을 이 장치 내에 저장 시켜야 한다. 아래에 시스템의 시동디스크의 제작방법을 설명한다.
시스템의 시동디스크의 제작법
1. Windows 98/Me/2000/XP 운영시스템을 시동한다.
2. 장치의 메모리 디스크 선택스위치를 "플로피 디스크 드라이버" 상태로 한다.
3. 장치를 본체의 USB 인터페이스에 연결한다.
4. 운영시스템의 관련 구동프로그램은 그 메모리 디스크를 인식하고 또 조작 할 수 있으며 "나의 컴퓨터"안에 "플로피 디스크 드라이버"의 디스크 심볼(disk symbol)이 새로 나타난다. 주의할 점: Windows 98에서 업체들이 제공한 시동프로그램을 이용하여야 하고 Windows Me/2000/XP 에서는 운영시스템 자체가 지닌 시동프로그램을 이용할 수 있다.
5. 그 플로피 디스크를 시스템의 시동디스크로 포맷하고 상응한 시스템의 파일을 디스크에 복사하면 시스템의 시동디스크가 완성된다.
시스템의 시동디스크를 제작한 후 그 장치를 시스템의 시동디스크로 이용할 수 있다. 아래에 어떻게 사용하는가를 소개한다.
시스템 시동 디스크의 사용법
1. 본체의 전원 스위치를 켠다.
2. 시스템의 바이오스(BIOS) 설치에 들어가서 그 중의 시스템 시동 장치의 설치를 알아본다. 만약 USB 플로피 디스크 드라이버(USB Floppy Disk Driver) 설치가 아니라면 즉 USB 외부 플로피 디스크 드라이버(시스템의 처음 설치가 가능하게 레거시 플로피(Legacy Floppy)일 것이다.)라면 그를 USB 플로피 디스크 드라이버(USB Floppy Disk Driver)로 개정해야 하며, 개정 후 이 개정한 설정을 저장하고 바이오스(BIOS) 설정을 종료한 다음 다시 본체를 시동한다.
3. 동시에 장치의 메모리 디스크 선택스위치를 "플로피 디스크 드라이버 "상태로 놓는다. 그리고 장치를 본체의 USB인터페이스에 연결한다.
4. 본체 시스템의 바이오스(BIOS)를 시동하는 과정에서 바이오스(BIOS)는 그 메모리 디스크를 인식하고 또 그안에 이미 저장된 운영시스템의 부팅 프로그램 및 시스템 프로그램을 읽어낸다. 그 다음 상응한 프로그램을 실행하고 운영시스템에 로드(load)한다.
5. 시스템의 시동이 완성된다.
도 2에서 나타낸 대용량 메모리 디스크의 이용방법
Windows 98/Me/2000/XP에서 USB 인터페이스를 이용하여 플래시메모리 저장장치를 대용량 메모리 디스크로 하는 것을 예를 들어 설명한다. 제출할 점은 다음과 같다. 이 장치는 Windows 98/Me/2000/XP에서만 아니라 기타의 운영시스템에서도 대용량 메모리 디스크로 이용할 수 있다.
1. Windows 98/Me/2000/XP 운영체제를 시동한다.
2. 장치상의 메모리 디스크 선택스위치를 "대용량 메모리 디스크"로 놓는다.
3. 장치를 본체의 USB 인터페이스에 연결한다.
4. 운영시스템의 상응한 구동프로그램은 그 메모리 디스크를 인식하고 또 동작시켜 "나의 컴퓨터"안에는 "이동가능한 디스크"라는 디스크 심볼이 새로 나타난 다. 주의할 점은 Windows 98일 때는 제작업체가 제공한 구동프로그램을 이용하여야 하고 Windows Me/2000/XP일 때에는 운영시스템 자체가 지니고 있는 구동프로그램을 이용할 수 있다..
5. 그 다음에 대용량 메모리 디스크에서 파일을 읽고 쓰는 동작을 할 수 있다.
이상에서 설명한 바와 같이, 본 발명에 의한 다기능 반도체 저장장치를 사용하면 다음과 같은 효과를 얻을 수 있다.
첫째, 본체 시스템에 내장되지 않고 유니버설 인터페이스에 의해 연결되므로, 본체 시스템의 소형화 경량화를 달성할 수 있다.
둘째, 반도체 메모리를 사용함으로써, 부피와 중량이 작으면서 용량은 크고 신뢰성이 높으며, 별도의 전원공급수단이 불필요하여 그 사용이 편리하다.
세째, 각종 유형의 메모리 디스크에 해당되는 프로토콜을 실현함으로써, 여러가지 유형의 메모리 디스크로서 동작할 수 있고, 또한 시동디스크로서의 사용도 가능하기 때문에, 종래의 외장형 저장장치의 문제점을 해결하였다.

Claims (22)

  1. 본체 시스템과의 상호연결에 사용되는 유니버설 인터페이스, 데이터를 저장하는 반도체 저장부(1), 및 유니버설 인터페이스 제어모듈(21)과, 마이크로프로세서(22)를 포함하는 제어부(2)를 포함하여 이루어지는 다기능 반도체 저장장치로서,
    상기 제어부(2)가: 상기 유니버설 인터페이스를 통하여 수신한 데이터에 대하여 CBI 프로토콜에 따른 언팩(unpack)을 진행하는 장치, 언팩된(unpacked) 데이터 중에서 플로피 디스크 장치류 UFI 명령(command)을 획득하는 장치, 획득한 명령(command)을 실행하고 CBI 프로토콜 방식에 근거하여 실행결과 또는 상태정보에 대한 패킹(packing)을 진행하는 장치, 및 유니버설 인터페이스를 통하여 결과를 본체 시스템에 반송(Return)하는 장치를 더 포함하는 것을 특징으로 하는 다기능 반도체 저장장치.
  2. 제 1 항에 있어서,
    상기 유니버설 인터페이스는 USB 인터페이스인 것을 특징으로 하는 다기능 반도체 저장장치.
  3. 제 1 항에 있어서,
    상기 유니버설 인터페이스는 IEEE1394 인터페이스인 것을 특징으로 하는 다기능 반도체 저장장치.
  4. 본체 시스템과의 상호연결에 사용되는 유니버설 인터페이스, 데이터를 저장하는 반도체 저장부(1), 및 유니버설 인터페이스 제어모듈(21)과, 마이크로프로세서(22)를 포함하는 제어부(2)를 포함하여 이루어지는 다기능 반도체 저장장치로서,
    상기 제어부(2)가: 상기 유니버설 인터페이스를 통하여 수신한 데이터에 대하여 벌크온리(BulkOnly) 프로토콜에 따른 언팩(unpack)을 진행하는 장치, 언팩된(unpacked) 데이터 중에서 SCSI Transparent Command Set 또는 SFF8070I 또는 Reduced Block Commands(RBC) T10 Project 1240-D 류 명령(command)을 획득하는 장치, 획득한 관련된 장치류 명령(command)을 실행하고 벌크온리(BulkOnly) 프로토콜 방식에 근거하여 실행결과 또는 상태정보에 대한 패킹(packing)을 진행하는 장치 및 유니버설 인터페이스를 통하여 결과를 본체 시스템에 반송(Return)하는 장치를 더 포함하는 것을 특징으로 하는 다기능 반도체 저장장치.
  5. 제 4 항에 있어서,
    상기 유니버설 인터페이스는 USB 인터페이스인 것을 특징으로 하는 다기능 반도체 저장장치.
  6. 제 4 항에 있어서,
    상기 유니버설 인터페이스는 IEEE1394 인터페이스인 것을 특징으로 하는 다기능 반도체 저장장치.
  7. 상기 청구항 2의 다기능 반도체 저장장치의 데이터 액세스방법에 있어서,
    상기 반도체 저장장치는 USB 인터페이스를 통하여 상기 본체 시스템에 상호연결하고, 상기 마이크로 프로세서 및 제어모듈(202)은 상기 USB 인터페이스를 통하여 수신한 데이터에 대하여 CBI 프로토콜에 근거한 언팩(unpack)을 진행하며, 언팩된(unpacked) 데이터 중에서 플로피 디스크 장치류 UFI 명령(command)을 획득한 후, 관련된 장치류 명령(command)을 실행하며, CBI 프로토콜 방식에 근거하여 실행결과 또는 상태정보에 대한 패킹(packing)을 진행하고, USB 인터페이스를 통하여 결과를 본체 시스템에 반송(Return)하는, 이상의 절차를 포함하는 것을 특징으로 하는 다기능 반도체 저장장치의 데이터 액세스방법.
  8. 상기 청구항 5의 다기능 반도체 저장장치의 데이터 액세스방법에 있어서,
    상기 마이크로 프로세서 및 제어모듈(202)은 상기 USB 인터페이스를 통하여 수신한 데이터에 대하여 벌크온리(BulkOnly) 전송 프로토콜에 근거한 언팩(unpack)을 진행하고, 언팩된(unpacked) 데이터 중에서 SCSI Transparent Command Set 또는 SFF8070I 또는 Reduced Block Commands (RBC) T10 Project 1240-D 류 명령(command)을 획득하며, 관련된 명령(command)을 실행한 후, 벌크온리(BulkOnly) 프로토콜 방식에 근거하여 실행결과 또는 상태정보에 대한 패킹(packing)을 진행하며, USB 인터페이스를 통하여 결과를 본체 시스템에 반송(Return)하는, 이상의 절차를 포함하는 것을 특징으로 하는 다기능 반도체 저장장치의 데이터 액세스방법.
  9. 제 7 항에 있어서,
    상기 마이크로 프로세서 및 제어모듈(202)은 상기 USB 인터페이스를 통하여 수신한 데이터에 대하여 벌크온리(BulkOnly) 전송 프로토콜에 근거한 언팩(unpack)을 진행하고, 언팩된(unpacked) 데이터 중에서 SCSI Transparent Command Set 또는 SFF8070I 또는 Reduced Block Commands (RBC) T10 Project 1240-D 류 명령(command)을 획득하며, 관련된 명령(command)을 실행한 후, 벌크온리(BulkOnly) 프로토콜 방식에 따라서 실행결과 또는 상태정보에 대한 패킹(packing)을 진행하며, USB 인터페이스를 통하여 결과를 본체 시스템에 반송(Return)하는, 이상의 절차를 포함하는 것을 특징으로 하는 다기능 반도체 저장장치의 데이터 액세스방법.
  10. 제 7 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 다기능 반도체 저장장치가 본체 시스템에 연결된 후, 본체 시스템은 연결된 장치의 관련 파라미터와 배치정보를 탐색하고,
    상기 본체 시스템은 연결된 장치에 대하여 적어도 하나의 장치코드를 설치하는 동시에 저장용량을 설치하며,
    상기 본체 시스템이 상기 다기능 반도체 저장장치로부터 데이터를 판독하는 시, 상기 마이크로 프로세서 및 제어모듈(202)이 저장 디스크 중의 논리 어드레스 데이터를 판독하고, 상기 판독한 데이터를 본체 시스템에 송출하며, 또 상기 마이크로 프로세서 및 제어모듈(202)이 상기 저장 디스크에 향해 데이터 판독 명령(command)을 발송하고 또한 판독한 데이터를 본체 시스템에 송출하고,
    상기 본체 시스템이 상기 다기능 반도체 저장장치에 데이터를 기록하는 시, 상기 마이크로 프로세서 및 제어모듈(202)이 우선 본체 시스템의 지시에 근거하여 기록하려는 데이터가 처한 블록 어드레스를 계산한 후, 우선 상기 블록 어드레스 중 이미 존재한 데이터를 버퍼 메모리 모듈(203)에 기록하고, 그 후 다시 상기 블록 어드레스에 필요되는 데이터를 기록하는, 상기한 절차를 더 포함하는 것을 특징으로 하는 다기능 반도체 저장장치의 데이터 액세스방법.
  11. 상기 청구항 3의 다기능 반도체 저장장치의 데이터 액세스방법에 있어서,
    상기 반도체 저장장치는 IEEE1394 인터페이스를 통하여 상기 본체 시스템에 상호연결하고, 상기 마이크로 프로세서 및 제어모듈(212)은 상기 IEEE1394 인터페이스를 통하여 수신한 데이터에 대하여 CBI 프로토콜에 근거한 언팩(unpack)을 진행하며, 언팩된(unpacked) 데이터 중에서 플로피 디스크 장치류 UFI 명령(command)을 획득한 후, 관련된 장치류 명령(command)을 실행하며, CBI 프로토콜 방식에 근거하여 실행결과 또는 상태정보에 대한 패킹(packing)을 진행하고, IEEE1394 인터페이스를 통하여 결과를 본체 시스템에 반송(Return)하는, 상기한 절차를 포함하는 것을 특징으로 하는 다기능 반도체 저장장치의 데이터 액세스방법.
  12. 상기 청구항 6의 다기능 반도체 저장장치의 데이터 액세스방법에 있어서,
    상기 마이크로 프로세서 및 제어모듈(212)은 상기 IEEE1394 인터페이스를 통하여 수신한 데이터에 대하여 벌크온리(BulkOnly) 전송 프로토콜에 근거한 언팩(unpack)을 진행하고, 언팩된(unpacked) 데이터 중에서 SCSI Transparent Command Set 또는 SFF8070I 또는 Reduced Block Commands (RBC) T10 Project 1240-D 류 명령(command)을 획득하며, 관련된 명령(command)을 실행한 후, 벌크온리(BulkOnly) 프로토콜 방식에 근거하여 실행결과 또는 상태정보에 대한 패킹(packing)을 진행하며, IEEE1394 인터페이스를 통하여 결과를 본체 시스템에 반송(Return)하는, 이상의 절차를 포함하는 것을 특징으로 하는 다기능 반도체 저장장치의 데이터 액세스방법.
  13. 제 11 항에 있어서,
    상기 마이크로 프로세서 및 제어모듈(212)은 상기 IEEE1394 인터페이스를 통하여 수신한 데이터에 대하여 벌크온리(BulkOnly) 전송 프로토콜에 근거한 언팩(unpack)을 진행하고, 언팩된(unpacked) 데이터 중에서 SCSI Transparent Command Set 또는 SFF8070I 또는 Reduced Block Commands (RBC) T10 Project 1240-D 류 명령(command)을 획득하며, 관련된 명령(command)을 실행한 후, 벌크온리(BulkOnly) 프로토콜 방식에 근거하여 실행결과 또는 상태정보에 대한 패킹(packing)을 진행하며, IEEE1394 인터페이스를 통하여 결과를 본체 시스템에 반송(Return)하는, 이상의 절차를 더 포함하는 것을 특징으로 하는 데이터 액세스방법.
  14. 제 11 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 다기능 반도체 저장장치가 본체 시스템에 연결된 후, 본체 시스템은 연결된 장치의 관련 파라미터와 배치정보를 탐색하고,
    상기 본체는 연결된 장치에 대하여 적어도 하나의 장치코드를 설치하는 동시에 저장용량을 설치하며,
    상기 본체가 상기 다기능 반도체 저장장치로부터 데이터를 판독하는 시, 상기 마이크로 프로세서 및 제어모듈(212)이 저장 디스크 중의 논리 어드레스 데이터를 판독하고, 상기 판독한 데이터를 본체 시스템에 보내며, 동시에 상기 마이크로 프로세서 및 제어모듈(212)이 상기 저장 디스크에 향해 데이터 판독 명령(command)을 발송하고 또한 판독한 데이터를 본체 시스템에 송출하며,
    상기 본체 시스템이 상기 다기능 반도체 저장장치에 데이터를 기록하는 시, 상기 마이크로 프로세서 및 제어모듈(212)이 우선 본체 시스템의 지시에 근거하여 기록하려는 데이터가 처한 블록 어드레스를 계산한 후, 우선 상기 블록 어드레스 중 이미 존재한 데이터를 버퍼 메모리 모듈(213)에 기록하고, 그 후 상기 블록 어드레스에 필요되는 데이터를 기록하는, 상기한 절차를 더 포함하는 것을 특징으로 하는 다기능 반도체 저장장치의 데이터 액세스방법.
  15. 하기의 다기능 반도체 저장장치를 설치하는 절차, 즉 본체 시스템과의 상호연결에 사용되는 유니버설 인터페이스, 데이터를 저장하는 반도체 저장부(1) 및 유니버설 인터페이스 제어모듈(21)과 마이크로 프로세서(22)를 포함하는 제어부(2)를 포함하여 이루어지는 다기능 반도체 저장장치를 설치하는 절차를 포함하는 다기능 반도체 저장장치의 실현방법에 있어서,
    상기 반도체 저장부(1)를 적어도 두개의 저장공간으로 구분하여, 그 중 하나의 저장공간은 상기 반도체 저장장치와 관련한 전용정보를 저장하고, 나머지 저장공간은 적어도 하나의 메모리 디스크에 대응되며, 상기 메모리 디스크는 장치류 UFI 프로토콜, SFF8020I 프로토콜, SFF8070I 프로토콜, SCSI Transparent Command Set 프로토콜, Reduced Block Commands (RBC) T10 Project1240-D 프로토콜, ZIP 디스크 프로토콜 또는 MO 디스크 프로토콜 중의 하나 또는 몇개 프로토콜을 지원하는, 절차를 더 포함하는 것을 특징으로 하는 다기능 반도체 저장장치의 실현방법.
  16. 제 15 항에 있어서,
    상기 반도체 저장부(1)가 구분한 그 중 하나의 저장공간에, 전기공급 시 본체 시스템 바이오스(BIOS)가 식별 및 로드 가능한 오퍼레이팅 시스템 부트스트랩 프로그램 및 오퍼레이팅 시스템 부트스트랩 프로그램을 저장하는 것을 특징으로 하는 다기능 반도체 저장장치의 실현방법.
  17. 제 15 항에 있어서,
    모든 메모리 디스크 중 적어도 하나의 메모리 디스크를 선택하여 본체 시스템이 식별, 제어 및 판독기록하도록 저장 선택 스위치(4)를 설치하는 절차를 더 포함하는 것을 특징으로 하는 다기능 반도체 저장장치의 실현방법.
  18. 제 15 항에 있어서,
    쓰기 보호 스위치(3)를 설치하는 절차를 더 포함하는 것을 특징으로 하는 다기능 반도체 저장장치의 실현방법.
  19. 제 15 항에 있어서,
    상기 반도체 저장장치의 작업상태를 지시하는 적어도 하나의 LED 표시램프(5)를 설치하는 절차를 더 포함하는 것을 특징으로 하는 다기능 반도체 저장장치의 실현방법.
  20. 제 15 항에 있어서,
    상기 메모리 디스크가 장치류 UFI 프로토콜을 지지하는 경우, 상기 메모리 디스크가 시뮬레이션 플로피 디스크 드라이버 또는 플로피 디스크인 것을 특징으로 하는 다기능 반도체 저장장치의 실현방법.
  21. 제 15 항에 있어서,
    상기 메모리 디스크가 장치류 SFF8070I 프로토콜을 지지하는 경우, 상기 메모리 디스크가 시뮬레이션 대용량 저장 디스크인 것을 특징으로 하는 다기능 반도체 저장장치의 실현방법.
  22. 제 15 항에 있어서,
    상기 각각의 저장공간은 데이터 구역 및 전용 정보 구역으로 구분될 수 있는 것을 특징으로 하는 다기능 반도체 저장장치의 실현방법.
KR1020020024755A 2001-06-30 2002-05-06 다기능 반도체 저장장치 KR100583626B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN01114883.7 2001-06-30
CN01114883A CN1122281C (zh) 2001-06-30 2001-06-30 一种多功能半导体存储装置

Publications (2)

Publication Number Publication Date
KR20030004022A KR20030004022A (ko) 2003-01-14
KR100583626B1 true KR100583626B1 (ko) 2006-05-26

Family

ID=4661489

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020024755A KR100583626B1 (ko) 2001-06-30 2002-05-06 다기능 반도체 저장장치

Country Status (8)

Country Link
US (3) US7136951B2 (ko)
EP (2) EP2363810A1 (ko)
JP (2) JP4510359B2 (ko)
KR (1) KR100583626B1 (ko)
CN (1) CN1122281C (ko)
HK (1) HK1044848B (ko)
MY (1) MY135140A (ko)
WO (1) WO2003005370A1 (ko)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6344750B1 (en) * 1999-01-08 2002-02-05 Schlumberger Technologies, Inc. Voltage contrast method for semiconductor inspection using low voltage particle beam
IL148834A (en) * 2000-09-10 2007-03-08 Sandisk Il Ltd Removable, active, personal storage device, system and method
CN1122281C (zh) 2001-06-30 2003-09-24 深圳市朗科科技有限公司 一种多功能半导体存储装置
AU2003211154A1 (en) * 2002-02-22 2003-09-09 Lexar Media, Inc. Removable memory media with integral indicator light
EP1347373A3 (en) * 2002-03-20 2005-02-02 Seiko Epson Corporation Apparatus for processing instructions of different instruction set architectures
US20040039871A1 (en) * 2002-08-26 2004-02-26 Colin Stobbs Replacement memory device
CN100383766C (zh) * 2003-01-01 2008-04-23 深圳市朗科科技有限公司 一种借助半导体存储装置实现网络连接的方法
US7069370B2 (en) * 2003-01-31 2006-06-27 Toshiba Corporation USB memory storage apparatus with integrated circuit in a connector
FI117489B (fi) * 2003-02-07 2006-10-31 Nokia Corp Menetelmä muistikortin osoittamiseksi, muistikorttia käyttävä järjestelmä, ja muistikortti
KR20040074432A (ko) * 2003-02-18 2004-08-25 주식회사 디지탈웨이 이동형 데이터 저장 장치
JP4554598B2 (ja) * 2003-03-27 2010-09-29 サンディスク アイエル リミテッド すべてのユーザによる完全なアクセスが可能なデータ記憶デバイス
SG138439A1 (en) * 2003-04-02 2008-01-28 Trek 2000 Int Ltd Portable operating system and method to load the same
KR20050002103A (ko) * 2003-06-30 2005-01-07 (주)파인칩스 암호 프로세서를 내장한 휴대용 저장장치
CN100383756C (zh) * 2003-07-22 2008-04-23 深圳市朗科科技有限公司 利用半导体存储装置实现自动执行的方法
DE10337856A1 (de) 2003-08-18 2005-03-17 Fujitsu Siemens Computers Gmbh Verfahren zum Starten eines Computersystems mit einem Speichermedium
US7539909B2 (en) * 2003-09-30 2009-05-26 Intel Corporation Distributed memory initialization and test methods and apparatus
US7321980B2 (en) * 2004-01-13 2008-01-22 Texas Instruments Incorporated Software power control of circuit modules in a shared and distributed DMA system
WO2005078592A1 (fr) * 2004-02-09 2005-08-25 Lenovo (Beijing) Limited Equipement et procede de stockage de donnees polyvalents
US7237103B2 (en) 2004-02-18 2007-06-26 Wyse Technology, Inc. Computing device deployment using mass storage device
US7555568B2 (en) * 2004-02-28 2009-06-30 Huang Evan S Method and apparatus for operating a host computer from a portable apparatus
US7293166B2 (en) 2004-03-05 2007-11-06 Hewlett-Packard Development Company, L.P. Method of indicating a format of accessing an operating system contained on a USB memory device
CN1313941C (zh) * 2004-03-10 2007-05-02 台均科技(深圳)有限公司 数据处理装置与操作系统进行数据交换的方法
CN100590594C (zh) 2004-07-30 2010-02-17 深圳市朗科科技股份有限公司 一种利用半导体存储装置实现自动执行及启动主机的方法
US8626971B1 (en) * 2004-10-08 2014-01-07 Seagate Technology Llc Flash memory method and apparatus with single-press button response
US7308570B2 (en) * 2004-10-20 2007-12-11 Digi International Inc. System and method for booting embedded systems using removable storage
US7624452B2 (en) * 2004-10-20 2009-11-24 Digi International Automatic device configuration using removable storage
CN1324431C (zh) * 2004-10-25 2007-07-04 联想(北京)有限公司 一种实现低功耗家电应用的计算机及方法
US8059835B2 (en) * 2004-12-27 2011-11-15 Emmanuel Thibaudeau Impulsive communication activated computer control device and method
US7631173B2 (en) * 2005-03-09 2009-12-08 Wyse Technology Inc. Method and system for performing pre-boot operations from an external memory including memory address and geometry
US7464219B2 (en) * 2005-08-01 2008-12-09 International Business Machines Corporation Apparatus, system, and storage medium for data protection by a storage device
US7533216B2 (en) * 2005-09-16 2009-05-12 Giga-Byte Technology Co., Ltd. Device and method for simulating a hard disk
TWI278779B (en) * 2005-09-22 2007-04-11 Ours Technology Inc Method for a controlling device commanding another controlling device
US7640424B2 (en) * 2005-10-13 2009-12-29 Sandisk Corporation Initialization of flash storage via an embedded controller
US20070130454A1 (en) * 2005-12-05 2007-06-07 Bentley Carl M Hardware identification utility
US8078788B2 (en) 2005-12-08 2011-12-13 Sandisk Technologies Inc. Media card command pass through methods
TWI308722B (en) * 2005-12-09 2009-04-11 Wistron Corp Method for making a bootable usb storage device
SE531992C2 (sv) * 2006-02-24 2009-09-22 Oniteo Ab Metod och system för säker programvaruprovisionering
US20070204089A1 (en) * 2006-02-27 2007-08-30 Microsoft Corporation Multi-protocol removable storage device
US8931063B2 (en) 2008-07-28 2015-01-06 Evan S. Huang Methods and apparatuses for securely operating shared host computers with portable apparatuses
US7953967B2 (en) * 2007-01-12 2011-05-31 Konica Minolta Business Technologies, Inc. Information processing apparatus and program
US20080172555A1 (en) * 2007-01-17 2008-07-17 Erink Technologies, Llc Bootable thin client personal initialization device
TW200834338A (en) * 2007-02-05 2008-08-16 Power Quotient Internat Company Computer system architecture and the corresponding method for its operating system thereof
JP2009059253A (ja) * 2007-08-31 2009-03-19 Sony Corp カード型周辺装置
CN101378614B (zh) * 2007-08-31 2012-03-14 鸿富锦精密工业(深圳)有限公司 Led发光型态控制系统及方法
JP4438846B2 (ja) * 2007-09-14 2010-03-24 ソニー株式会社 カード型周辺装置
US9208118B2 (en) * 2008-06-10 2015-12-08 Lg Electronics Inc. Communication device, a method of processing signal in the communication device and a system having the communication device
US8335931B2 (en) * 2008-06-20 2012-12-18 Imation Corp. Interconnectable personal computer architectures that provide secure, portable, and persistent computing environments
US8166220B2 (en) 2008-08-04 2012-04-24 Sandisk Il Ltd. Device for connection with a storage device and a host
US8250247B2 (en) 2008-08-06 2012-08-21 Sandisk Il Ltd. Storage device for mounting to a host
US20110225654A1 (en) * 2008-08-25 2011-09-15 Mao-Huai Weng Write-Proof Protection Method of a Storage Device
US8812769B2 (en) 2008-10-30 2014-08-19 Sandisk Il Ltd. Data storage devices
US8694750B2 (en) 2008-12-19 2014-04-08 Nvidia Corporation Method and system for data structure management
US9208108B2 (en) 2008-12-19 2015-12-08 Nvidia Corporation Method and system for improved flash controller commands selection
KR101023877B1 (ko) * 2009-04-17 2011-03-22 (주)인디링스 캐시 및 디스크 관리 방법 및 상기 방법을 이용한 컨트롤러
US8321630B1 (en) * 2010-01-28 2012-11-27 Microsoft Corporation Application-transparent hybridized caching for high-performance storage
WO2011018677A1 (en) 2009-08-14 2011-02-17 Sandisk Il Ltd. Dual interface card with backward and forward compatibility
CN101739274A (zh) * 2009-12-18 2010-06-16 清华大学深圳研究生院 一种便携式固态存储器
US9594675B2 (en) 2009-12-31 2017-03-14 Nvidia Corporation Virtualization of chip enables
WO2011105998A1 (en) 2010-02-24 2011-09-01 Hewlett-Packard Development Company, L.P. Device driver for a device
JP2012063884A (ja) * 2010-09-14 2012-03-29 Toshiba Corp 記憶装置、電子機器、および記憶装置の制御方法
CN101976227B (zh) * 2010-10-25 2012-06-06 浪潮电子信息产业股份有限公司 一种通过usb接口快速添加驱动程序加载设备
US9465728B2 (en) 2010-11-03 2016-10-11 Nvidia Corporation Memory controller adaptable to multiple memory devices
EP2618255A1 (de) * 2012-01-20 2013-07-24 Siemens Aktiengesellschaft Elektronisches Gerät zur Installation von Abbildern
CN103037405A (zh) * 2012-12-17 2013-04-10 深圳国人通信有限公司 直放站设备及其升级方法
US9454443B1 (en) * 2013-01-24 2016-09-27 Seagate Technology Llc Managed reliability of data storage
WO2016033539A1 (en) 2014-08-29 2016-03-03 Memory Technologies Llc Control for authenticated accesses to a memory device
CN106779025B (zh) * 2016-12-09 2024-04-19 杭州佩安科技有限公司 一种新型非易失防改写存储器
CN108170382B (zh) * 2018-02-05 2023-12-12 力瑞信(深圳)科技有限公司 一种固态硬盘及数据读取系统
US11237838B2 (en) 2020-01-02 2022-02-01 Western Digital Technologies, Inc. Storage system and method for enabling a direct accessible boot block in a memory die
CN113448489A (zh) * 2020-03-25 2021-09-28 慧荣科技股份有限公司 控制闪存卡存取的计算机可读取存储介质、方法及装置
US11301151B2 (en) * 2020-05-08 2022-04-12 Macronix International Co., Ltd. Multi-die memory apparatus and identification method thereof
US20220066945A1 (en) * 2020-08-28 2022-03-03 Micron Technology, Inc. Techniques for managed nand translation with embedded memory systems
CN113220616B (zh) * 2021-05-31 2022-11-15 北京航空航天大学 一种基于fpga的从sdram到mram的接口转换系统及方法
TWI787027B (zh) * 2021-12-30 2022-12-11 技嘉科技股份有限公司 電腦裝置、記憶體模組的設定方法以及主機板

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541019A (en) * 1982-11-26 1985-09-10 Cipher Data Products, Inc. Recording system for recording data on tape in a disk-recording format
US5070474A (en) * 1988-07-26 1991-12-03 Disk Emulation Systems, Inc. Disk emulation system
US5226168A (en) * 1989-04-25 1993-07-06 Seiko Epson Corporation Semiconductor memory configured to emulate floppy and hard disk magnetic storage based upon a determined storage capacity of the semiconductor memory
US5018095A (en) * 1990-02-15 1991-05-21 Seagate Technology, Inc. Universal disk drive type emulation for IBM PC-AT computers
US5261104A (en) * 1990-03-22 1993-11-09 International Business Machines Flexible computer initialization
JP2761289B2 (ja) * 1990-11-30 1998-06-04 富士通株式会社 ディスクトラックエミュレーション方法
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
US5663901A (en) * 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
US5319751A (en) * 1991-12-27 1994-06-07 Intel Corporation Device driver configuration in a computer system
US5471674A (en) * 1992-02-07 1995-11-28 Dell Usa, L.P. Computer system with plug-in override of system ROM
US5590306A (en) * 1992-09-08 1996-12-31 Fuji Photo Film Co., Ltd. Memory card management system for writing data with usage and recording codes made significant
EP0592079A2 (en) * 1992-09-20 1994-04-13 Sun Microsystems, Inc. Automated software installation and operating environment configuration on a computer system
US5404527A (en) * 1992-12-31 1995-04-04 Unisys Corporation System and method for remote program load
US5459850A (en) * 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
US5537654A (en) * 1993-05-20 1996-07-16 At&T Corp. System for PCMCIA peripheral to execute instructions from shared memory where the system reset signal causes switching between modes of operation by alerting the starting address
FR2718262B1 (fr) * 1994-03-31 1996-05-24 Sgs Thomson Microelectronics Mémoire tampon à adressage modulo.
EP0686945B1 (en) * 1994-05-26 2001-12-19 Canon Kabushiki Kaisha Image processing apparatus and method
US5822184A (en) * 1994-07-28 1998-10-13 Rabinovitz; Josef Modular disk drive assembly operatively mountable in industry standard expansion bays of personal desktop computers
US5640592A (en) * 1994-09-30 1997-06-17 Mitsubishi Kasei America, Inc. System for transferring utility algorithm stored within a peripheral device to a host computer in a format compatible with the type of the host computer
DE69534910T2 (de) * 1994-11-04 2007-01-18 Intel Corp., Santa Clara Pc-karte zur pcmcia-selbstkonfiguration
JPH08137634A (ja) * 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
JP2734391B2 (ja) * 1995-01-18 1998-03-30 日本電気株式会社 不揮発性メモリのファイル管理装置
JPH08328762A (ja) * 1995-06-06 1996-12-13 Mitsubishi Electric Corp 半導体ディスク装置及びそのメモリ管理方法
JPH08335190A (ja) * 1995-06-06 1996-12-17 Fuji Film Micro Device Kk メモリカード制御装置
KR20000067864A (ko) * 1996-07-19 2000-11-25 히가시 데쓰로 플래시 메모리 카드
JPH10307714A (ja) * 1997-05-06 1998-11-17 Mitsubishi Electric Corp Pc/at互換パーソナルコンピュータ
US5887164A (en) * 1997-06-06 1999-03-23 National Instruments Corporation System and method for enabling a target computer to use storage resources of a host computer
US6012103A (en) * 1997-07-02 2000-01-04 Cypress Semiconductor Corp. Bus interface system and method
US5978862A (en) * 1997-08-08 1999-11-02 Toshiba America Information Systems, Inc. PCMCIA card dynamically configured in first mode to program FPGA controlling application specific circuit and in second mode to operate as an I/O device
JP2914360B2 (ja) * 1997-09-30 1999-06-28 ソニー株式会社 外部記憶装置及びデータ処理方法
US6055631A (en) * 1997-12-18 2000-04-25 Intel Corporation Method and apparatus for booting a portable computing device
KR20000009369A (ko) * 1998-07-23 2000-02-15 윤종용 피씨카드를장착가능한컴퓨터시스템및그것의부팅방법
JP3685931B2 (ja) * 1998-07-31 2005-08-24 株式会社ソニー・コンピュータエンタテインメント 情報処理装置の立ち上げ方法、記憶媒体、及び情報処理装置
US6430635B1 (en) * 1998-10-10 2002-08-06 Lg Electronics Inc Protocol interfacing method
US6145053A (en) * 1998-12-03 2000-11-07 International Business Machines Corporation Data security method using head disk stiction
US6148354A (en) * 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
JP3330569B2 (ja) * 1999-09-28 2002-09-30 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータの制御方法、コンピュータ及び記録媒体
JP4464497B2 (ja) * 1999-10-04 2010-05-19 株式会社アイ・オー・データ機器 外部記憶装置のインターフェイス装置および同装置を内蔵した外部記憶装置
CN1088218C (zh) * 1999-11-14 2002-07-24 邓国顺 用于数据处理系统的快闪电子式外存储方法及其装置
CN1152307C (zh) * 2000-02-23 2004-06-02 邓国顺 全电子式快闪外存储方法及装置
US6681310B1 (en) * 1999-11-29 2004-01-20 Microsoft Corporation Storage management system having common volume manager
US6813725B1 (en) * 2000-01-26 2004-11-02 Hewlett-Packard Development Company, L.P. Method for restoring an operating system utilizing a storage device on a USB bus
JP2001250092A (ja) * 2000-03-03 2001-09-14 Toshiba Corp カード型電子機器、及びカード型電子機器に適用されるコンテンツ管理方法
US6920553B1 (en) * 2000-04-28 2005-07-19 Intel Corporation Method and apparatus for reading initial boot instructions from a bootable device connected to the USB port of a computer system
US6839864B2 (en) * 2000-07-06 2005-01-04 Onspec Electronic Inc. Field-operable, stand-alone apparatus for media recovery and regeneration
US6438638B1 (en) * 2000-07-06 2002-08-20 Onspec Electronic, Inc. Flashtoaster for reading several types of flash-memory cards with or without a PC
US20020078339A1 (en) * 2000-12-15 2002-06-20 Shen Hung-Ju Booting system and booting method for an assistant operation system
CN1299096A (zh) * 2001-01-12 2001-06-13 常促宇 通用串行总线接口的大容量移动存储器及其实现方法
US6816982B2 (en) * 2001-03-13 2004-11-09 Gonen Ravid Method of and apparatus for computer hard disk drive protection and recovery
JP2003085054A (ja) * 2001-06-27 2003-03-20 Mitsubishi Electric Corp フラッシュメモリを搭載した半導体記憶装置における装置寿命警告発生システムとその方法
CN1122281C (zh) 2001-06-30 2003-09-24 深圳市朗科科技有限公司 一种多功能半导体存储装置
US20030018836A1 (en) * 2001-07-19 2003-01-23 Steven Bress System and method for retrieving identification and capabilities information from computer long-term memory devices
GB0123412D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
KR100450080B1 (ko) * 2001-11-13 2004-10-06 (주)지에스텔레텍 유에스비기반의 이동형 저장장치 및 그 제어방법
US7627464B2 (en) * 2002-04-18 2009-12-01 Standard Microsystems Corporation Bootable solid state floppy disk drive

Also Published As

Publication number Publication date
EP2363810A1 (en) 2011-09-07
US20070011385A1 (en) 2007-01-11
JP2010160809A (ja) 2010-07-22
US7644218B2 (en) 2010-01-05
US20030005278A1 (en) 2003-01-02
CN1341942A (zh) 2002-03-27
EP1271332A3 (en) 2005-10-05
US20080109567A1 (en) 2008-05-08
US7136951B2 (en) 2006-11-14
JP4510359B2 (ja) 2010-07-21
CN1122281C (zh) 2003-09-24
EP1271332B1 (en) 2012-07-11
JP5140100B2 (ja) 2013-02-06
HK1044848A1 (en) 2002-11-01
EP1271332A2 (en) 2003-01-02
MY135140A (en) 2008-02-29
WO2003005370A1 (fr) 2003-01-16
HK1044848B (zh) 2004-06-18
JP2003150383A (ja) 2003-05-23
KR20030004022A (ko) 2003-01-14

Similar Documents

Publication Publication Date Title
KR100583626B1 (ko) 다기능 반도체 저장장치
KR100450080B1 (ko) 유에스비기반의 이동형 저장장치 및 그 제어방법
US8433882B2 (en) Disk array control device and storage device
JP4209820B2 (ja) メモリカードシステム及び該メモリカードシステムで使用されるライトワンス型メモリカード、ホストシステムと半導体記憶デバイスとからなるシステム
KR101395778B1 (ko) 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
US8255656B2 (en) Storage device, memory controller, and data protection method
KR100864814B1 (ko) 광 저장 장치 또는/및 이동식 디스크로 구현된 컴퓨터 확장장치 및 그 구현 방법
US20100180080A1 (en) External storage device having a self-contained security function
US20050066129A1 (en) Portable data storage device allowing dynamic setting of disk type and the method of dynamically setting disk type thereof
US20120210059A1 (en) Cascaded raid controller
US20090019211A1 (en) Establishing A Redundant Array Of Inexpensive Drives
US20160217099A1 (en) Data storage device and method for integrated bridge firmware to be retrieved from a storage system on chip (soc)
TWI454908B (zh) 記憶體組態方法、記憶體控制器與記憶體儲存裝置
WO2007132931A1 (ja) データ記憶装置およびこの初期化方法
KR100692958B1 (ko) 에물레이터를 갖는 휴대용 반도체 메모리 저장 장치
TWI451250B (zh) 記憶體組態方法、記憶體控制器與記憶體儲存裝置
TWI390399B (zh) 具有虛擬儲存裝置之外接裝置
KR20060095133A (ko) 비휘발성 메모리에 저장된 시스템 프로그램을 구동시키는방법
JP2011108244A (ja) マルチメディア装置として仮想化する機能を有する非マルチメディア装置及びその仮想化方法
TWI237264B (en) A multi-function semi-conductor storage device and method for booting a computer using thereof
JP2010108497A (ja) ディスクアレイ制御装置および記憶装置
JPH04330665A (ja) パソコン用外部記憶装置

Legal Events

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

Payment date: 20130513

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140509

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150512

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160509

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170512

Year of fee payment: 12