KR100950936B1 - 다수의 드라이브가 구현될 수 있는 솔리드 스테이트드라이브 - Google Patents

다수의 드라이브가 구현될 수 있는 솔리드 스테이트드라이브 Download PDF

Info

Publication number
KR100950936B1
KR100950936B1 KR1020080049867A KR20080049867A KR100950936B1 KR 100950936 B1 KR100950936 B1 KR 100950936B1 KR 1020080049867 A KR1020080049867 A KR 1020080049867A KR 20080049867 A KR20080049867 A KR 20080049867A KR 100950936 B1 KR100950936 B1 KR 100950936B1
Authority
KR
South Korea
Prior art keywords
area
data
flash memory
stored
drive
Prior art date
Application number
KR1020080049867A
Other languages
English (en)
Other versions
KR20090123674A (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 KR1020080049867A priority Critical patent/KR100950936B1/ko
Publication of KR20090123674A publication Critical patent/KR20090123674A/ko
Application granted granted Critical
Publication of KR100950936B1 publication Critical patent/KR100950936B1/ko

Links

Images

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
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

본 문서는 솔리드 스테이트 드라이브에 관한 것으로 하나의 솔리드 스테이트 드라이브를 다수의 드라이브가 장착된 것과 같이 사용할 수 있는 방법을 제공한다.
본 문서에서 개시되는 솔리드 스테이트 드라이브는, 다수개의 호스트 인터페이스를 구비하여 다수의 드라이브에 대한 데이터 입출력이 가능함을 특징으로 한다. 그리고, 솔리드 스테이트 드라이브를 사용하는 모드를 단일 모드와 다중 모드로 설정하여 간단한 모드 변환으로 솔리드 스테이트 드라이브가 다수의 드라이브로 이용될 수 있음을 특징으로 한다.
솔리드 스테이트 드라이브, 솔리드 스테이트 디스크, SSD

Description

다수의 드라이브가 구현될 수 있는 솔리드 스테이트 드라이브{SOILD STATE DRIVE USABLE FOR A PLURALITY OF DRIVE}
본 발명은 솔리드 스테이트 드라이브에 관한 것으로, 보다 상세하게는 다수의 드라이브가 구현될 수 있는 솔리드 스테이트 드라이브에 관한 것이다.
하드 디스크(hard disk) 또는 고정 디스크(fixed disk)는 컴퓨터의 보조 기억 장치 가운데 하나이다. ‘하드(hard)’라는 이름 붙여진 이유는 필름 등의 무른 재질로 되어 있는 플로피 디스크와는 다르게 딱딱한 플래터로 되어 있기 때문이다. 일반적으로 개인용 컴퓨터의 운영 체제를 담는, 없어서는 안 될 기억 장치로 많이 쓰이고 있다.
최근 들어서, 컴퓨터 또는 노트북 등의 데이터 처리 장치에 있어서 데이터 입출력시 병목 현상으로 인한 성능 저하를 해결할 수 있는 기술로 솔리드 스테이트 드라이브(Solid State Drive, SSD) 방식이 제안되고 있다.
솔리드 스테이트 드라이브는 플래시 메모리를 기반으로 한 데이터 저장 장치로서, 기존의 하드 디스크 드라이브(Hard Disk Drive, HDD)에 필수적으로 사용되는 모터와 기계적 구동 장치를 제거하여, 작동시 열과 소음이 거의 발생하지 않으며, 외부 충격에 강할 뿐 아니라, 데이터 전송 속도에 있어서 기존의 하드 디스크에 비해 수십 배 향상된 성능을 보여 기존의 하드 디스크를 대체할 차세대 저장 장치로써 널리 사용되고 있다.
이러한 솔리드 스테이트 드라이브는 데스크탑 컴퓨터에는 1개 이상 예컨대, 2개가 장착될 수 있으며, 한 개의 솔리드 스테이트 드라이브는 프로그램 탑재용 하드 디스크로 사용될 수 있으며, 다른 솔리드 스테이트 드라이브는 저장용 하드 디스크로 사용되어 데이터의 관리 효율을 높일 수 있는 효과가 있다.
하지만, 노트북과 같은 소형의 데이터 처리 장치에서는 내부 공간이 매우 협소하여 다수의 솔리드 스테이트 드라이브가 장착될 수 없어 데이터의 관리의 효율성이 떨어지는 문제점을 발생시킨다.
또한, 최근에는 노트북의 크기 및 무게가 소형화되는 추세지만, 하드 디스크 드라이브 외에 플로피 디스크 드라이브(Flopy Disk Drive, FDD) 등의 부가 장치가 더해져 노트북의 크기를 줄이는 데 한계점을 야기시킨다.
상술한 배경 기술에 있어서, 본 발명은 하나의 솔리드 스테이트 드라이브를 사용하여 하드 디스크 드라이브뿐만 아니라 다수의 드라이브를 구현하여 데이터의 관리 효율을 향상시킬 수 있는 솔리드 스테이트 드라이브를 제공하는 것을 그 목적으로 한다.
상술한 과제를 해결하기 위한 본 발명의 일 실시 양태에 따른 솔리드 스테이트 드라이브는, 호스트(10)와 연결되는 제1 호스트 인터페이스부(110), 상기 호스트(10)와 연결되는 제2 호스트 인터페이스부(120), 상기 제1 호스트 인터페이스부(110)를 통해 전송되는 데이터와 상기 제2 호스트 인터페이스부(120)를 통해 전송되는 데이터를 독립적으로 처리하는 중앙 제어부(100) 및 상기 중앙 제어부(100)에서 처리되는 데이터를 저장하는 플래시 메모리부(130)를 포함하되, 설정에 따라 상기 플래시 메모리부(130)의 전체 영역을 이용하는 단일 모드와 상기 플래시 메모리부(130)를 둘 이상의 영역으로 구분하여 이용하는 다중 모드로 사용되는 것을 특징으로 하여 이루어진다.
상기 단일 모드인 경우 상기 솔리드 스테이트 드라이브는 하드 디스크 드라이브로 이용되고, 상기 다중 모드인 경우 상기 솔리드 스테이트 드라이브는 플로피 디스크 드라이브, 집 드라이브 및 슈퍼 드라이브 중 적어도 하나를 더 포함하여 둘 이상의 드라이브로 이용될 수 있다.
상기 제1 호스트 인터페이스부(110)는, ATA 프로토콜, PATA 프로토콜 및 SATA 프로토콜 중 적어도 하나를 지원하고, 상기 제2 호스트 인터페이스부(120)는, USB 프로토콜, IDE 프로토콜 및 SCSI 프로토콜 중 적어도 하나를 지원할 수 있다.
상기 제2 호스트 인터페이스부(120)가 둘 이상의 인터페이스 프로토콜을 지원하는 경우, 에뮬레이션 모듈이 더 포함될 수 있다.
상기 다중 모드인 경우, 상기 제1 호스트 인터페이스부(110)를 통해 전송되는 데이터는 상기 플래시 메모리부(130)의 제1 영역에 저장되고, 상기 제2 호스트 인터페이스부(120)를 통해 전송되는 데이터는 상기 플래시 메모리부(130)의 제2 영역에 저장될 수 있다.
시스템 시작시, 상기 플래시 메모리부(130)의 상기 제1 영역에 저장된 데이터 이미지 중 특정 형식의 데이터 이미지는 상기 제2 영역으로 복사되고, 상기 플래시 메모리부(130)의 상기 제2 영역에 저장된 데이터 이미지 중 특정 형식의 데이터 이미지는 상기 제1 영역으로 복사될 수 있다.
상기 플래시 메모리부(130)의 상기 제1 영역에 저장된 데이터 이미지 중 호스트 프로그램을 통해 사용자에 의해 선택된 데이터 이미지는 상기 제2 영역으로 복사되고, 상기 플래시 메모리부(130)의 상기 제2 영역에 저장된 데이터 이미지 중 호스트 프로그램을 통해 사용자에 의해 선택된 데이터 이미지는 상기 제1 영역으로 복사될 수 있다.
시스템 시작시, 상기 플래시 메모리부(130)의 제1 영역에 저장된 데이터 이미지 중 특정 형식의 데이터 이미지는, 제2 영역에 대한 주소값이 제1 영역에 대한 주소값으로 변환됨으로써 상기 제2 영역에 저장된 데이터로 출력되고, 상기 플래시 메모리부(130)의 제2 영역에 저장된 데이터 이미지 중 특정 형식의 데이터 이미지는, 제1 영역에 대한 주소값이 제2 영역에 대한 주소값으로 변환됨으로써 상기 제1 영역에 저장된 데이터로 출력될 수 있다.
상기 플래시 메모리부(130)의 상기 제1 영역에 저장된 데이터 이미지 중 호스트 프로그램을 통해 사용자에 의해 선택된 데이터 이미지는, 제2 영역의 주소값이 상기 제1 영역의 주소값으로 변환됨으로써 상기 제2 영역에 저장된 데이터로 출력되고, 상기 플래시 메모리부(130)의 상기 제2 영역에 저장된 데이터 이미지 중 호스트 프로그램을 통해 사용자에 의해 선택된 데이터 이미지는, 제1 영역의 주소값이 상기 제2 영역의 주소값으로 변환됨으로써 상기 제1 영역에 저장된 데이터로 출력될 수 있다.
본 발명에 따르면, 하나의 솔리드 스테이트 드라이브로 둘 이상의 드라이브가 탑재된 것처럼 사용할 수 있어, 다양한 형태의 저장 장치로 구현할 수 있다. 따라서, 본 발명에 따른 솔리드 스테이트 드라이브는 데이터의 관리 효율을 높일 수 있는 효과가 있다.
또한, 프로그램의 복구, 컴퓨터 OS(Operating System) 변경을 위한 부팅, BIOS(Basic Input/Output System) SETUP, F/W(FirmWare) UPGRADE 등을 수행할 때 사용되는 별도의 내장 또는 외장 드라이브를 대체할 수 있다.
또한, 본 발명은 하나의 솔리드 스테이트 드라이브가 하드 디스크 드라이브 뿐만 아니라 다른 다양한 드라이브의 기능을 동시에 구현할 수 있기 때문에 개인용 컴퓨터, 노트북 등의 크기를 줄일 수 있는 효과가 있다.
아울러, 추가 드라이브가 다수개로 설정될 수 있기 때문에 디스크 전환 또한 가능하다. 예를 들어, 프로그램 인스톨을 위해 다수의 플로피 디스크를 사용하도록 설정된 프로그램에 있어서, 인스톨 중 추가 플로피 디스크를 삽입이 요구되는 경우에도 사용자는 장치의 장착/해제 없이 디스크 교체가 가능하다.
또한, 모드 전환을 통해 다중 모드인 경우에는 별도의 프로그램이나 키 조작없이도 하드 디스크 드라이브와 다른 드라이브를 동시에 사용할 수 있어 사용자의 편이를 최대화시킬 수 있다.
또한, 호스트 인터페이스를 다수개 사용하고 필요에 따라 에뮬레이팅 기능을 추가함으로써 지원 가능한 드라이브를 확장시켜 드라이브 추가를 위한 별도의 비용 및 번거로움을 줄일 수 있다.
또한, 플래시 메모리상에서 추가 드라이브에 대한 메모리 용량이 한가지 값으로 고정되지 아니하고 추가 드라이브의 종류 및 개수 등에 따라 다양하게 변경할 수 있다. 이로써 다중 모드에 있어서 추가될 수 있는 드라이브가 제한되지 아니하고 보다 다양하게 제공될 수 있을 것이다.
이하 도면을 참조하여 다수의 드라이브를 인식할 수 있는 솔리드 스테이트 드라이브의 구성 및 구현 방법을 보다 구체적으로 설명하도록 한다. 이상 및 이하의 설명에서 솔리드 스테이트 드라이브는, 솔리드 스테이트 디스크(Solid State Disk, SSD)로 대체될 수도 있을 것이다.
도 1은 본 발명의 일 실시예에 따라 다수의 드라이브로 인식 가능한 솔리드 스테이트 드라이브의 구성을 나타내는 블록도이다.
본 실시예에 따른 솔리드 스테이트 드라이브는, 중앙 제어부(100), 제1 호스트 인터페이스부(110), 제2 호스트 인터페이스부(120) 및 플래시 메모리부(130)를 포함하여 이루어진다.
중앙 제어부(100)는 데이터 입출력을 위한 논리적 주소를 할당하고, 논리-물리 주소 매핑 알고리즘을 통해 플래시 메모리부(130)와 호스트 인터페이스부(110, 120)의 데이터 입출력을 제어한다.
제1 호스트 인터페이스부(110) 및 제2 호스트 인터페이스부(120)는 외부 호스트(10)와 버스를 통해 연결되어 호스트(10)로부터 데이터 신호를 입력받으며, 소정의 프로토콜에 따라 호스트(10)와 인터페이스를 행하게 된다. 본 실시예에 따라 하나의 솔리드 스테이트 드라이브에 다수의 호스트 인터페이스가 구현되는 경우, 각 호스트 인터페이스는 서로 다른 포트를 통해 호스트와 연결될 수 있다.
이러한 제1 호스트 인터페이스부(110) 및 제2 호스트 인터페이스부(120)는 ATA 프로토콜, PATA 프로토콜, SATA 프로토콜, ATAPI 프로토콜, USB 프로토콜, IDE 프로토콜 및 SCSI 프로토콜 등을 통해 외부 호스트와 인터페이스를 행할 수 있다.
그리고, 각 호스트 인터페이스는 서로 다른 인터페이스 프로토콜이 지원되도록 구현할 수 있다. 예를 들어, 제1 호스트 인터페이스부(110)는 ATA 프로토콜, PATA 프로토콜, SATA 프로토콜 및 ATAPI 프로토콜 중 하나 또는 둘 이상을 지원하 고, 제2 호스트 인터페이스부(120)는 USB 프로토콜, IDE 프로토콜 및 SCSI 프로토콜 중 하나 또는 둘 이상을 지원하도록 구현할 수 있다.
하나의 호스트 인터페이스에서 둘 이상의 프로토콜을 지원하도록 구현되는 경우에는, 본 실시예에 따른 솔리드 스테이트 드라이브는, 중앙 제어부(100) 또는 별도로 구현되는 인터페이스 로직부(미도시) 내에 에뮬레이션 모듈을 더 포함하도록 구성될 수 있다.
이 에뮬레이션 모듈은 각 프로토콜에 대한 데이터를 식별하여 프로토콜별로 독립적으로 처리하고, 처리된 데이터가 플래시 메모리 내에 저장될 수 있도록 동작한다. 예를 들어, 이 에뮬레이션 모듈은 데이터 처리 명령을 저장하는 둘 이상의 레지스터를 포함하여 구성되고, 각 레지스터에는 서로 다른 데이터 처리 명령이 저장된다. 중앙 제어부(100)는 이러한 에뮬레이션 모듈의 레지스터별의 처리 명령에 의해 프로토콜별로 독립적인 데이터 입출력을 수행할 수 있다.
본 실시예에 따라 하나의 솔리드 스테이트 드라이브가 다수의 드라이브로 인식될 수 있는 경우, 하드 디스크 드라이브와 다른 형식의 데이터 취급이 필요한 경우에는 별도의 설정 없이도, 다중 모드로 동작할 수 있다. 또는, 사용자 설정에 따라 단일 모드와 다중 모드 중 하나로 동작하도록 할 수 있다. 여기서 단일 모드는, 솔리드 스테이트 드라이브가 하나의 드라이브, 예를 들어 하드 디스크 드라이브로 인식되는 모드를 나타내고, 다중 모드는, 솔리드 스테이트 드라이브가 다수의 드라이브, 예를 들어 하드 디스크 드라이브 및 플로피 디스크 드라이브로 인식되는 모드를 나타낸다.
단일 모드와 다중 모드 사이의 모드 전환은, 솔리드 스테이트 드라이브 구동 시작시 호스트 프로그램을 실행하여 사용자로부터 선택 정보를 입력받아 이루어질 수 있다. 이미 솔리드 스테이트 드라이브가 동작 중인 경우에도, 필요한 경우 호스트 프로그램을 실행시켜 모드를 전환할 수 있을 것이다. 물론, 별도의 사용자 인터페이스(140), 예를 들어 솔리드 스테이트 드라이브 외부에 장착된 스위치를 통해 모드를 전환할 수도 있을 것이다.
모드 전환을 통해 다중 모드로 설정되는 경우, 상술한 호스트 프로그램을 통해, 사용자로부터 추가 드라이브 정보를 입력받을 수 있다. 여기서, 추가될 수 있는 드라이브의 종류로는 예를 들어, 플로피 디스크 드라이브, 집 드라이브, 슈퍼 드라이브 등이 될 수 있다. 이때 상술한 제2 호스트 인터페이스부(120)에서 지원하는 프로토콜은 추가 드라이브 종류에 따라 결정될 수 있다.
플래시 메모리부(130)는, 데이터를 저장하는 비휘발성 메모리 소자의 하나인 플래시 메모리를 하나 이상 포함하여 이루어지며, 중앙 제어부(100)에서 처리된 신호는 플래시 메모리의 지정된 주소에 대한 메모리 영역에 저장된다.
본 실시예에 따른 플래시 메모리부(130)는, 다중 모드로 설정되면 다중 모드에 따른 다수 드라이브 데이터를 구분하여 저장할 수 있도록 중앙 제어부(100) 등에 의해 둘 이상의 영역으로 구분될 수 있다. 이와 같은 영역 구분을 통해 사용자 인터페이스(140) 예를 들어, 모니터상에 다수의 드라이브가 표시되어 사용자가 다수의 드라이브가 장착된 것으로 인식하게 할 수 있을 것이다.
그리고, 중앙 제어부(100)에 각 호스트 인터페이스별로 독립적으로 처리된 데이터는 서로 다른 영역에 저장된다. 예를 들어, 플래시 메모리부(130)가 제1 영역과 제2 영역으로 구분된다고 가정한다. 그러면, 제1 호스트 인터페이스부(110)를 통해 송수신되는 데이터와 제2 호스트 인터페이스부(120)를 통해 송수신되는 데이터는, 독립적으로 처리되어 각각 플래시 메모리부(130)의 제1 영역 및 제2 영역, 즉 서로 다른 영역에 저장될 수 있다.
이때 각 영역의 메모리 용량은, 상술한 모드 전환 방법과 유사하게 호스트 프로그램을 실행하여 사용자로부터 입력받는 값을 이용하여 설정될 수 있다. 예를 들어, 메모리 용량은, 추가 드라이브 종류 및 용량에 따라 1.44MB, 2.88MB부터 100MB, 120MB, 200MB, 260MB, 750MB 등까지 다양하게 설정될 수 있다.
도 2는 본 발명의 일 실시예에 따라 다수의 드라이브로 인식 가능한 솔리드 스테이트 드라이브의 구현 방법을 나타내는 흐름도이다.
본 실시예에서 단일 모드 솔리드 스테이트 드라이브는 하드 디스크 드라이브로 이용되는 것으로 가정한다.
먼저, 단계 S200에서 솔리드 스테이트 드라이브는 제1 호스트 인터페이스부(110) 및 제2 호스트 인터페이스부(120) 중 하나 이상을 통해 호스트로부터 제어 정보 및 데이터를 수신한다. 그리고, 수신된 제어 정보 및 데이터를 확인한다. 여기서 제어 정보에는 호스트 프로그램을 통해 사용자가 설정한 정보가 포함될 수 있다.
그리고, 단계 S210에서 솔리드 스테이트 드라이브가 단일 모드로 설정되었는지 다중 모드로 설정되었는지 여부를 확인한다. 단계 S210의 확인결과 단일 모드로 설정된 경우에는 단계 S220에서 하드 디스크 드라이브로 동작한다.
하지만, 단계 S210의 확인결과 다중 모드로 설정된 경우에는 단계 S230에서 사용자에 의해 설정된 드라이브 종류 및 드라이브별 할당 메모리 용량을 확인하여 드라이브별 변수를 설정하고, 단계 S240에서 해당 메모리 영역을 할당하여 드라이브별 영역을 결정한다. 그리고, 단계 S260에서 하드 디스크 드라이브와 추가 드라이브 예를 들어, 플로피 디스크 드라이브로 동작한다.
도 3은 본 발명의 일 실시예에 따라 다수의 드라이브로 인식 가능한 솔리드 스테이트 드라이브에 포함되는 플래시 메모리의 논리적 구조 및 구현 방법을 나타내는 도면이다.
도 3은 솔리드 스테이트 드라이브가 다중 모드로 설정되어 솔리드 스테이트 드라이브에 포함되는 플래시 메모리가 둘 이상의 영역으로 구분된 예를 나타낸 것이다. 도 3에 따르면, 솔리드 스테이트 드라이브가 크게 제1 영역(30)과 제2 영역(31)의 두 개의 영역으로 구분된다. 그리고, 제1 영역(30)은 하드 디스크 드라이브용으로 사용되고, 제2 영역(31)은 플로피 디스크 드라이브용으로 사용된다. 또한, 제2 영역(31)은, 하나의 플로피 디스크 드라이브 크기별로 구분되어 다수의 플로피 디스크 드라이브가 구비된 것으로 인식될 수도 있을 것이다.
도 3에 도시된 바와 같이 플래시 메모리 영역이 구분되는 경우, 제1 호스트 인터페이스부(110)를 통해 수신되는 데이터와 제2 호스트 인터페이스부(120)를 통해 수신되는 데이터는 서로 독립적으로 처리되어, 제1 호스트 인터페이스부(110)를 통해 수신되는 데이터는 플래시 메모리의 제1 영역(30)으로 저장되고, 제2 호스트 인터페이스부(120)를 통해 수신되는 데이터는 플래시 메모리의 제2 영역(31)으로 저장된다.
도 4는 본 발명의 다른 실시예에 따라 다수의 드라이브로 인식 가능한 솔리드 스테이트 드라이브의 구현 방법을 나타내는 흐름도이다.
이하 도 4를 참조하여 솔리드 스테이트 드라이브를 다중 모드로 전환하여 사용하기 이전에 이미 플래시 메모리의 임의의 영역에 특정 형식의 데이터 이미지가 저장되어 있는 경우, 이 데이터 이미지에 대한 처리 방법을 설명한다.
여기서 데이터 이미지란, 하드 디스크 드라이브에 원래의 형식대로 저장된 일련의 데이터를 의미한다. 위 일련의 데이터는 특정 기능을 수행할 수도 있으며, 하드 디스크 드라이브와 다른 드라이브 형식의 데이터인 경우 다른 드라이브 형식으로 저장될 수 있다. 예를 들어 데이터 이미지는, 부팅용 플로피 디스크의 내용이 순차적으로 읽히어 플로피 디스크 드라이브 형식으로 하드 디스크 드라이브에 저장되는 부팅 이미지 등이 될 수 있다.
도 4에 도시된 방법에서 단계 S200 내지 단계 S240에 대한 설명은 도 2에서 해당 단계에 대한 설명과 동일하므로 생략하도록 한다. 다만, 본 실시예에서 단계 S200에서 수신되는 제어 정보는, 특정 형식의 데이터 이미지 처리와 관련되는 정보를 더 포함할 수 있다. 이 정보는, 특정 형식의 데이터 이미지의 유/무 정보, 데이터 이미지에 대한 처리 방법 정보 및/또는 다수의 데이터 이미지 중 일부를 선택하는 정보 등을 포함할 수 있으며, 상술한 호스트 프로그램을 통해 사용자에 의해 결정될 수 있다.
여기서, 데이터 이미지에 대한 처리는, 특정 형식의 데이터 이미지를 위 특정 형식을 지원하는 드라이브 영역으로 복사 또는 이동시키는 것으로 구현될 수 있다. 여기서 복사는, 원래 저장되어 있던 데이터 이미지를 유지하고, 다중 모드 전환으로 생성된 영역에 그 데이터 이미지를 그대로 추가시키는 처리를 의미한다. 그리고 이동은, 원래 저장되어 있던 데이터 이미지는 삭제하고, 다중 모드 전환으로 생성된 영역에 그 데이터 이미지를 그대로 추가시키는 처리를 의미한다.
한편, 사용자 인터페이스 등을 통해 솔리드 스테이트 드라이브가 다중 모드로 사용되는 것으로 결정되어 이미 드라이브별 메모리 영역이 할당되어 있는 경우에는 단계 S200 내지 단계 S240에 대한 동작은 생략될 수도 있을 것이다.
단계 S260에서는 본 실시예에 따라 특정 형식의 데이터 이미지가 저장되어 있는지 여부를 확인한다. 이는 저장된 데이터에 대한 형식 정보를 통해 확인할 수 있으며, 호스트로부터 전송되는 제어 정보를 통해 확인할 수도 있다. 제어 정보를 통해 확인하는 경우, 데이터 이미지 처리와 관련되는 정보를 추가로 확인할 수 있다.
단계 S260의 확인 결과 저장된 데이터 이미지가 없거나, 데이터 이미지가 있더라도 복사 또는 이동을 부정하는 응답인 경우에는 별도의 추가 동작없이 단계 S270에서 하드 디스크 드라이브와 추가된 드라이브 예를 들어, 플로피 디스크 드라이브로 동작한다. 이때 초기 플로피 디스크 드라이브 영역은 비어있는 것이다.
단계 S260의 확인 결과 저장된 데이터 이미지가 있거나, 복사 또는 이동을 긍정하는 응답인 경우에는 단계 S280에서 하드 디스크 드라이브 영역에 저장되어 있던 데이터 이미지를 추가된 드라이브로 할당된 영역으로 복사하거나 이동시킬 수 있다.
단계 S260에서 특정 형식의 데이터 이미지가 있으면 시스템 시작시나 프로그램 시작시에 하드 디스크 드라이브 영역에 저장된 특정 형식의 데이터 이미지를 인식하여 단계 S280에서 자동적으로 데이터 이미지에 대한 처리가 수행되도록 할 수 있다.
이러한 방법은 하드 디스크 드라이브가 파손되어 하드 디스크를 이용한 부팅이 불가능하고 플로피 디스크를 이용한 긴급 복구가 요구되는 경우에 보다 효과적이다. 즉, 다중 모드로 전환된 솔리드 스테이트 드라이브의 하드 디스크 드라이브 영역에서, 미리 저장되어 있는 플로피 디스크 드라이브 형식의 데이터 이미지를 인식하여, 이를 자동적으로 플로피 디스크 드라이브 영역으로 복사 또는 이동시켜, 긴급 복구용 플로피 디스크를 대체할 수 있을 것이다.
플로피 디스크를 이용한 긴급 복구가 요구되는 경우에 본 실시예에 따른 솔리드 스테이트 드라이브를 하드 디스크 드라이브로 사용함으로써, 플로피 디스크 드라이브 등의 별도의 보조 기억장치 추가 없이 프로그램을 복구할 수 있다.
한편, 상술한 호스트 프로그램을 통해 사용자가 입력한 특정 형식의 데이터 이미지 처리와 관련되는 정보가 있는 경우 이를 통해 사용자의 선택에 따라 복사 또는 이동에 대한 처리가 수행될 수 있다. 예를 들어, 다수의 데이터 이미지가 저장되어 있는 경우에는 데이터 이미지 처리와 관련되는 정보로써 일부 선택된 데이터 이미지에 대한 정보를 수신하여 단계 S280에서 선택된 데이터 이미지에 대해서 만 복사 또는 이동시킬 수도 있다.
단계 S290에서 하드 디스크 드라이브와 추가된 드라이브 예를 들어, 플로피 디스크 드라이브로 동작한다. 이때 초기 플로피 디스크 드라이브 영역에는 단계 S280에서 복사 또는 이동 처리로 저장된 데이터 이미지가 포함되어 있을 것이다.
도 5 및 도 6은 본 발명의 다른 실시예에 따라 다수의 드라이브로 인식 가능한 솔리드 스테이트 드라이브에 포함되는 플래시 메모리의 논리적 구조 및 구현 방법을 나타내는 도면이다.
먼저, 도 5는 도 3에서 나타낸 플래시 메모리 구조를 기반으로 하여 도 4를 통해 설명한 방법에 따라 구현하는 예를 나타낸다. 즉, 도 5는 하드 디스크 드라이브 영역(50)에 저장되어 있는 플로피 디스크 드라이브에 대한 데이터 이미지(51)를 다중 모드 전환으로 생성된 플로피 디스크 드라이브 영역(52)으로 복사 또는 이동시키는 방법을 나타낸다. 이와 같은 동작은 시스템 시작시 또는 호스트 프로그램 시작시에 수행될 수 있다.
그리고, 도 6은 도 3에서 나타낸 플래시 메모리 구조를 기반으로 하되, 도 4를 통해 설명한 방법과 다른 방법에 따라 구현하는 예를 나타낸다. 즉, 직접 데이터 이미지를 추가 드라이브로 할당된 영역에 복사 또는 이동시키는 것이 아니라, 플로피 디스크 드라이브에 대한 데이터 입출력 명령이 있으면, 이를 해당 데이터와 관련된 데이터 이미지(61)가 저장된 하드 디스크 드라이브 영역(60)의 주소로 변환하여 변환된 주소값을 통해 하드 디스크 드라이브 영역(60)에서 데이터 이미지를 읽어 출력하는 방법을 나타낸다.
이 방법은, 플로피 디스크 드라이브로 할당된 영역에 저장된 데이터를 읽어오는 것은 아니지만, 이와 같은 동작을 통해서도 사용자는 플로피 디스크 드라이브 영역에서 데이터를 읽어오는 동작으로 인식할 수 있을 것이다.
상술한 설명에서는 하드 디스크 드라이브 영역에 플로피 디스크 드라이브에 대한 데이터 이미지가 있는 경우로 설명하였지만, 플로피 디스크 드라이브 영역에 하드 디스크 드라이브에 대한 데이터가 있는 경우에도 동일한 방법으로 적용할 수 있을 것이다. 그리고, 다중모드에서의 솔리드 스테이트 드라이브 사용에 있어서 사용자는 실제 다수의 드라이브가 구비되었을 때와 동일한 방법으로 다수의 드라이브간 데이터 이동을 수행할 수 있을 것이다.
상술한 바와 같이 본 발명에 따르면, 하나의 솔리드 스테이트 드라이브로 둘 이상의 드라이브가 탑재된 것처럼 사용할 수 있어, 다양한 형태의 저장 장치로 구현할 수 있다. 따라서, 본 발명에 따른 솔리드 스테이트 드라이브는 데이터의 관리 효율을 높일 수 있는 효과가 있다.
상기에서는 도면 및 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 기술적 사상으로부터 벗어나지 않는 범위 내에서 본 발명은 다양하게 수정 및 변경시킬 수 있음은 이해할 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따라 다수의 드라이브로 인식 가능한 솔리드 스테이트 드라이브의 구성을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따라 다수의 드라이브로 인식 가능한 솔리드 스테이트 드라이브의 구현 방법을 나타내는 흐름도이다.
도 3은 본 발명의 일 실시예에 따라 다수의 드라이브로 인식 가능한 솔리드 스테이트 드라이브에 포함되는 플래시 메모리의 논리적 구조 및 구현 방법을 나타내는 도면이다.
도 4는 본 발명의 다른 실시예에 따라 다수의 드라이브로 인식 가능한 솔리드 스테이트 드라이브의 구현 방법을 나타내는 흐름도이다.
도 5 및 도 6은 본 발명의 다른 실시예에 따라 다수의 드라이브로 인식 가능한 솔리드 스테이트 드라이브에 포함되는 플래시 메모리의 논리적 구조 및 구현 방법을 나타내는 도면이다.
< 도면 주요 부분에 대한 부호의 설명 >
10: 호스트 100: 중앙 제어부
110: 제1 호스트 인터페이스부 120: 제2 호스트 인터페이스부
130: 플래시 메모리부

Claims (9)

  1. 호스트(10)와 연결되는 제1 호스트 인터페이스부(110)와, 상기 호스트(10)와 연결되는 제2 호스트 인터페이스부(120)와, 상기 제1 호스트 인터페이스부(110)를 통해 전송되는 데이터와 상기 제2 호스트 인터페이스부(120)를 통해 전송되는 데이터를 독립적으로 처리하는 중앙 제어부(100)와, 상기 중앙 제어부(100)에서 처리되는 데이터를 저장하는 플래시 메모리부(130)를 포함하되,
    상기 플래시 메모리부(130)의 전체 영역을 이용하는 단일 모드와 상기 플래시 메모리부(130)를 둘 이상의 영역으로 구분하여 이용하는 다중 모드로 사용되며, 상기 다중 모드인 경우, 상기 제1 호스트 인터페이스부(110)를 통해 전송되는 데이터는 상기 플래시 메모리부(130)의 제1 영역에 저장되고, 상기 제2 호스트 인터페이스부(120)를 통해 전송되는 데이터는 상기 플래시 메모리부(130)의 제2 영역에 저장되며, 시스템 시작시, 상기 플래시 메모리부(130)의 상기 제1 영역에 저장된 데이터 이미지 중 특정 형식의 데이터 이미지는 상기 제2 영역으로 복사되고, 상기 플래시 메모리부(130)의 상기 제2 영역에 저장된 데이터 이미지 중 특정 형식의 데이터 이미지는 상기 제1 영역으로 복사되는 것을 특징으로 하는, 솔리드 스테이트 드라이브.
  2. 청구항 1에 있어서,
    상기 단일 모드인 경우 하드 디스크 드라이브로 이용되고, 상기 다중 모드인 경우 플로피 디스크 드라이브, 집 드라이브 및 슈퍼 드라이브 중 적어도 하나를 더 포함하여 둘 이상의 드라이브로 이용되는 것을 특징으로 하는, 솔리드 스테이트 드라이브.
  3. 청구항 2에 있어서,
    상기 제1 호스트 인터페이스부(110)는, ATA 프로토콜, PATA 프로토콜, SATA 프로토콜 및 ATAPI 프로토콜 중 적어도 하나를 지원하고, 상기 제2 호스트 인터페이스부(120)는, USB 프로토콜, IDE 프로토콜 및 SCSI 프로토콜 중 적어도 하나를 지원하는 것을 특징으로 하는, 솔리드 스테이트 드라이브.
  4. 청구항 3에 있어서,
    상기 제2 호스트 인터페이스부(120)가 둘 이상의 인터페이스 프로토콜을 지원하는 경우, 에뮬레이션 모듈이 더 포함되는 것을 특징으로 하는, 솔리드 스테이트 드라이브.
  5. 삭제
  6. 삭제
  7. 청구항 1에 있어서,
    상기 플래시 메모리부(130)의 상기 제1 영역에 저장된 데이터 이미지 중 호스트 프로그램을 통해 사용자에 의해 선택된 데이터 이미지는 상기 제2 영역으로 복사되고, 상기 플래시 메모리부(130)의 상기 제2 영역에 저장된 데이터 이미지 중 호스트 프로그램을 통해 사용자에 의해 선택된 데이터 이미지는 상기 제1 영역으로 복사되는 것을 특징으로 하는, 솔리드 스테이트 드라이브.
  8. 청구항 1에 있어서,
    시스템 시작시, 상기 플래시 메모리부(130)의 제1 영역에 저장된 데이터 이미지 중 특정 형식의 데이터 이미지는, 제2 영역에 대한 주소값이 제1 영역에 대한 주소값으로 변환됨으로써 상기 제2 영역에 저장된 데이터로 출력되고, 상기 플래시 메모리부(130)의 제2 영역에 저장된 데이터 이미지 중 특정 형식의 데이터 이미지는, 제1 영역에 대한 주소값이 제2 영역에 대한 주소값으로 변환됨으로써 상기 제1 영역에 저장된 데이터로 출력되는 것을 특징으로 하는, 솔리드 스테이트 드라이브.
  9. 청구항 1에 있어서,
    상기 플래시 메모리부(130)의 상기 제1 영역에 저장된 데이터 이미지 중 호스트 프로그램을 통해 사용자에 의해 선택된 데이터 이미지는, 제2 영역의 주소값이 상기 제1 영역의 주소값으로 변환됨으로써 상기 제2 영역에 저장된 데이터로 출력되고, 상기 플래시 메모리부(130)의 상기 제2 영역에 저장된 데이터 이미지 중 호스트 프로그램을 통해 사용자에 의해 선택된 데이터 이미지는, 제1 영역의 주소값이 상기 제2 영역의 주소값으로 변환됨으로써 상기 제1 영역에 저장된 데이터로 출력되는 것을 특징으로 하는, 솔리드 스테이트 드라이브.
KR1020080049867A 2008-05-28 2008-05-28 다수의 드라이브가 구현될 수 있는 솔리드 스테이트드라이브 KR100950936B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080049867A KR100950936B1 (ko) 2008-05-28 2008-05-28 다수의 드라이브가 구현될 수 있는 솔리드 스테이트드라이브

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080049867A KR100950936B1 (ko) 2008-05-28 2008-05-28 다수의 드라이브가 구현될 수 있는 솔리드 스테이트드라이브

Publications (2)

Publication Number Publication Date
KR20090123674A KR20090123674A (ko) 2009-12-02
KR100950936B1 true KR100950936B1 (ko) 2010-04-01

Family

ID=41685880

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080049867A KR100950936B1 (ko) 2008-05-28 2008-05-28 다수의 드라이브가 구현될 수 있는 솔리드 스테이트드라이브

Country Status (1)

Country Link
KR (1) KR100950936B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101352084B1 (ko) 2010-11-11 2014-01-15 도시바삼성스토리지테크놀러지코리아 주식회사 복합 저장 장치 및 이를 적용하는 전자 시스템
KR101309492B1 (ko) * 2012-02-20 2013-09-16 주식회사 윈터치 유연하고 투명한 감지 영역을 갖는 타블렛
KR102664665B1 (ko) * 2016-08-22 2024-05-16 에스케이하이닉스 주식회사 메모리 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190370A (ja) * 2005-01-05 2006-07-20 Renesas Technology Corp 半導体装置
KR20060119391A (ko) * 2005-05-20 2006-11-24 주식회사 엠피오 복수개의 dma 채널을 갖는 usb-sd 저장 장치 및 그저장 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190370A (ja) * 2005-01-05 2006-07-20 Renesas Technology Corp 半導体装置
KR20060119391A (ko) * 2005-05-20 2006-11-24 주식회사 엠피오 복수개의 dma 채널을 갖는 usb-sd 저장 장치 및 그저장 방법

Also Published As

Publication number Publication date
KR20090123674A (ko) 2009-12-02

Similar Documents

Publication Publication Date Title
EP3764237B1 (en) System startup method and apparatus, electronic device and storage medium
US9128618B2 (en) Non-volatile memory controller processing new request before completing current operation, system including same, and method
JP6253614B2 (ja) 格納デバイスの仮想化
KR101086857B1 (ko) 데이터 머지를 수행하는 반도체 스토리지 시스템의 제어 방법
JP5220747B2 (ja) 不揮発性記憶装置および不揮発性記憶システム
JP4422652B2 (ja) 漸進的マージ方法及びそれを利用したメモリシステム
KR20120112965A (ko) 비휘발성 메모리 장치, 이를 스왑 메모리로 이용하는 데이터 처리 장치, 및 이를 이용한 스왑 방법
JP2012252576A (ja) 情報処理装置、起動方法およびプログラム
KR100950936B1 (ko) 다수의 드라이브가 구현될 수 있는 솔리드 스테이트드라이브
JP5059493B2 (ja) アクセス制御装置、アクセス制御方法、アクセス制御プログラムおよび記録媒体
US7849300B2 (en) Method for changing booting sources of a computer system and a related backup/restore method thereof
JP5683186B2 (ja) 起動高速化方法、情報処理装置及びプログラム
CN111522690B (zh) 数据储存装置及维持数据储存装置正常开机运作的方法
KR20170064703A (ko) 모바일 장치를 이용한 호스트 장치의 부팅 방법
JP4567966B2 (ja) エミュレーションシステムおよびエミュレーション方法
KR20170037017A (ko) 메모리 업그레이드 시스템 및 방법
US11256435B2 (en) Method and apparatus for performing data-accessing management in a storage server
JP2021047806A (ja) 情報処理システム、情報処理装置および情報処理プログラム
KR100692958B1 (ko) 에물레이터를 갖는 휴대용 반도체 메모리 저장 장치
US11966609B1 (en) Zoned namespace storage device system
US20240231650A9 (en) Microservice storage device system
US20240231677A9 (en) Reconfigurable microservice storage device system
JP5218024B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム
CN102566935A (zh) 应用于bios的虚拟磁盘实现方法
US20100161691A1 (en) Method for providing a portable software computing environment for a low-speed portable storage device, and portable storage device

Legal Events

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

Payment date: 20130326

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140403

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160302

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180223

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190318

Year of fee payment: 10