KR100891333B1 - 파일 시스템에 무관하게 데이터를 기입/독출할 수 있는하드 디스크 드라이브 및 이를 이용한 데이터 기입/독출방법 - Google Patents

파일 시스템에 무관하게 데이터를 기입/독출할 수 있는하드 디스크 드라이브 및 이를 이용한 데이터 기입/독출방법 Download PDF

Info

Publication number
KR100891333B1
KR100891333B1 KR1020070035727A KR20070035727A KR100891333B1 KR 100891333 B1 KR100891333 B1 KR 100891333B1 KR 1020070035727 A KR1020070035727 A KR 1020070035727A KR 20070035727 A KR20070035727 A KR 20070035727A KR 100891333 B1 KR100891333 B1 KR 100891333B1
Authority
KR
South Korea
Prior art keywords
file
hard disk
data
disk drive
command
Prior art date
Application number
KR1020070035727A
Other languages
English (en)
Other versions
KR20080092181A (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 KR1020070035727A priority Critical patent/KR100891333B1/ko
Priority to US12/100,633 priority patent/US20080256289A1/en
Priority to EP08154429A priority patent/EP1980940A3/en
Priority to JP2008103730A priority patent/JP2008262565A/ja
Publication of KR20080092181A publication Critical patent/KR20080092181A/ko
Application granted granted Critical
Publication of KR100891333B1 publication Critical patent/KR100891333B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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
    • 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/0643Management of files
    • 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]

Abstract

파일 시스템에 무관하게 데이터를 기입/독출할 수 있는 하드 디스크 드라이브 및 이를 이용한 데이터 기입/독출 방법이 개시된다. 본 발명의 실시예에 따른 하드 디스크 드라이브(Hard Disk Drive)에서의 데이터(data) 기입/독출 방법은 호스트(host)로부터 파일(file) 정보 및/또는 파일 데이터(file data)를 수신하는 단계, 상기 파일 정보를 이용하여 파일에 대응되는 논리 주소(LBA : Logical Block Address)를 생성하는 단계 및 상기 논리 주소에 해당하는 영역에 상기 파일 데이터를 기입하거나, 기입된 파일 데이터를 독출하는 단계를 구비한다. 본 발명에 따른 하드 디스크 드라이브 및 데이터 기입/독출 방법은 파일 시스템에 무관하게 데이터를 기입/독출할 수 있는 장점이 있다.

Description

파일 시스템에 무관하게 데이터를 기입/독출할 수 있는 하드 디스크 드라이브 및 이를 이용한 데이터 기입/독출 방법{Hard disk drive capable of data writing/reading regardless of file system and method thereof}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 종래 기술에 따른 하드 디스크 드라이브와 호스트 간의 데이터 전송을 개념적으로 나타내는 블럭도이다.
도 2는 도 1의 하드 디스크 드라이브를 보다 자세히 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 하드 디스크 드라이브를 개략적으로 나타내는 블럭도이다.
도 4는 도 3의 파일-논리 주소 변환부를 개략적으로 나타내는 블럭도이다.
도 5는 본 발명의 실시예에 따른 하드 디스크 드라이브에서의 데이터 기입 방법을 나타내는 순서도이다.
도 6은 본 발명의 실시예에 따른 하드 디스크 드라이브에서의 데이터 독출 방법을 나타내는 순서도이다.
도 7은 도 5 및 도 6의 논리 주소를 생성하는 방법을 보다 자세히 나타내는 순서도이다.
도 8은 라이트 로그 커맨드 및 리드 로그 커맨드의 실행 동작을 개념적으로 나타내는 도면이다.
도 9는 SCT 커맨드를 이용한 본 발명의 실시예에 따른 데이터 기입/독출 동작을 개념적으로 나타내는 도면이다.
도 10은 도 9의 데이터 기입/독출 동작을 나타내는 순서도이다.
본 발명은 반도체 장치에 관한 것으로서, 특히 파일 시스템에 무관하게 데이터를 기입/독출할 수 있는 하드 디스크 드라이브 및 이를 이용한 데이터 기입/독출 방법에 관한 것이다.
파일 시스템이란 간단히, 파일 시스템은 파일에 명칭을 부여하고, 파일의 저장 또는 검색을 위한 논리적 위치를 결정하는 운영 체계의 일부분이라 할 수 있다. 이러한 파일 시스템의 예로서, 윈도우 XP의 NTFS(NT File System), 윈도우 비스타(vista)의 라이브 파일 시스템(Live File System) 및 리눅스의 ext3 등이 있다.
도 1은 종래 기술에 따른 하드 디스크 드라이브와 호스트 간의 데이터 전송을 개념적으로 나타내는 블럭도이다.
도 1을 참조하면, 종래 기술에 따른 호스트(10)는 데이터에 대한 파일 경로 및 파일 이름 등의 정보를 이용하여 클러스터(cluster) 단위로 변환하는 파일 시스템을 구비한다. 하드 디스크 드라이브(20)는 호스트(10)로부터 기입/독출하고자 하 는 데이터의 LBA(Logical Block Address)를 수신하여, 그 위치에 대한 데이터 기입/독출 동작을 수행한다. 이때, 하드 디스크 드라이브(20)와 호스트(10) 간의 데이터 전송에 대한 인터페이스는 ATA 프로토콜(Advanced Technology Attachment protocol)이 담당한다.
도 2는 도 1의 하드 디스크 드라이브를 보다 자세히 나타내는 도면이다.
도 1 및 도 2를 참조하면, 하드 디스크 드라이브(20)는 ATA 인터페이스(21), 제어부(22), 독출부(23), 및 버퍼(24)로 구성된다. ATA 인터페이스(21)는 ATA 규격에 따라 호스트(10)의 운영 체계 또는 파일 시스템과 하드 디스크 드라이브(20) 간의 데이터 전송에 대한 인터페이싱을 수행한다.
제어부(22)는 ATA 인터페이스(21)를 경유하여 호스트(10)로부터 독출 섹터 커맨드(read sector command)를 수신하고, 수신된 독출 섹터 커맨드를 해석함으로써 독출하고자 하는 데이터의 시작 LBA 및 크기를 파악한다. 또한, 제어부(22)는 이와 같이 파악된 시작 LBA 및 크기를 갖는 데이터가 버퍼(27)에 저장되어 있는 지를 확인한다. 만일 버퍼(227)에 해당 데이터가 저장되어 있는 것으로 확인된 경우, 제어부(22)는 ATA 인터페이스(21)를 경유하여 호스트(20)로 버퍼(27)에 저장된 데이터를 전송한다.
독출부(26)는 제어부(22)의 지시에 따라 제어부(22)에 의해 파악된 시작 LBA 및 크기에 해당하는 독출을 수행하고, 이와 같이 독출된 데이터를 버퍼(24)에 저장한다. 버퍼(27)는 디스크로부터 독출된 데이터를 임시적으로 저장한다.
그런데, 종래 기술에 따른 하드 디스크 드라이브는, 포맷(format)할 때 사용 된 파일 시스템과 다른 파일 시스템에서 사용되지 못한다. 즉, 하드 디스크 드라이브를 포맷할 때 사용한 파일 시스템을 지원하지 아니하는 호스트에서는 하드 디스크 드라이브에 저장된 파일에 접근하지 못하거나 파일을 저장할 수 없는 문제가 발생한다.
본 발명이 이루고자하는 기술적 과제는 하드 디스크 드라이브에서 파일 시스템에 무관하게 데이터를 기입/독출할 수 있는 방법을 제공하는데 있다.
본 발명이 이루고자하는 다른 기술적 과제는 파일 시스템에 무관하게 데이터를 기입/독출할 수 있는 하드 디스크 드라이브를 제공하는데 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 하드 디스크 드라이브(Hard Disk Drive)에서의 데이터(data) 기입/독출 방법은 호스트(host)로부터 파일(file) 정보 및/또는 파일 데이터(file data)를 수신하는 단계, 상기 파일 정보를 이용하여 파일에 대응되는 논리 주소(LBA : Logical Block Address)를 생성하는 단계 및 상기 논리 주소에 해당하는 영역에 상기 파일 데이터를 기입하거나, 기입된 파일 데이터를 독출하는 단계를 구비한다.
상기 파일 정보는 파일 이름 및 파일 경로를 포함할 수 있다.
상기 하드 디스크 드라이브와 상기 호스트는 ATA 프로토콜(Advanced Technology Attachment protocol)에 의해 인터페이싱(interfacing)될 수 있다. 이때, 상기 파일 정보는 상기 ATA 스펙(spec) 상의 SCT(Smart Command Transport) 커 맨드를 통하여 상기 하드 디스크 드라이브로 전송될 수 있다.
상기 파일 정보는 상기 SCT 커맨드 중 라이트 로그 커맨드(Write Log command)를 통하여 전송될 수 있다. 상기 기입하고자 하는 파일 데이터는 상기 SCT 커맨드 중 라이트 로그 커맨드를 통하여 상기 하드 디스크 드라이브로 전송될 수 있다.
상기 데이터 기입/독출 방법은 상기 SCT 커맨드 중 리드 로그 커맨드(Read Log Command)를 통하여, 상기 독출된 파일 데이터를 상기 호스트로 전송하는 단계를 더 구비할 수 있다.
상기 데이터 기입/독출 방법은 상기 호스트로부터 수신된 SCT 커맨드를 실행한 후의 상기 하드 디스크 드라이브의 상태 정보를 상기 호스트로 전송하는 단계를 더 구비할 수 있다. 상기 상태 정보는 상기 SCT 커맨드 중 리드 로그 커맨드를 통하여 상기 호스트로 전송될 수 있다.
상기 논리 주소를 생성하는 단계는 상기 파일 정보로부터 클러스터(cluster)를 생성하는 단계 및 상기 클러스터를 상기 논리 주소로 변환하는 단계를 구비할 수 있다.
상기 다른 기술적 과제를 해결하기 위한 본 발명의 실시예에 따른 하드 디스크 드라이브는 파일-논리 주소 변환부 및 제어부를 구비한다.
파일-논리 주소 변환부는 호스트(host)로부터 수신된 파일(file) 정보를 대응되는 논리 주소(LBA : Logical Block Address)로 변환한다. 제어부는 상기 논리 주소에 해당하는 영역에 파일 데이터(file data)를 기입하거나, 기입된 파일 데이 터를 독출한다.
상기 하드 디스크 드라이브는 ATA 프로토콜(Advanced Technology Attachment protocol)에 의해 상기 호스트와의 인터페이싱(interfacing)을 수행하는 인터페이싱부를 더 구비할 수 있다.
상기 인터페이싱부는 상기 SCT 커맨드 중 라이트 로그 커맨드를 통하여 디스크에 기입하고자 하는 파일 데이터를 수신할 수 있다. 상기 인터페이싱부는 상기 SCT 커맨드 중 리드 로그 커맨드(Read Log Command)를 통하여 상기 독출된 파일 데이터를 상기 호스트로 전송할 수 있다.
상기 인터페이싱부는 상기 SCT 커맨드 중 리드 로그 커맨드를 통하여 상기 호스트로부터 수신된 SCT 커맨드를 실행한 후의 상기 하드 디스크 드라이브의 상태 정보를 상기 호스트로 전송할 수 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명이 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 3은 본 발명의 실시예에 따른 하드 디스크 드라이브를 개략적으로 나타내는 블럭도이다. 도 3을 참조하면, 본 발명의 실시예에 따른 하드 디스크 드라이브(300)는 파일-논리 주소 변환부(320) 및 제어부(340)를 구비한다.
파일-논리 주소 변환부(320)는 호스트(HOST)로부터 수신된 파일 정보(FINF)를 대응되는 논리 주소(LBA)로 변환한다. 제어부(340)는 논리 주소(LBA)에 해당하는 영역에 파일 데이터(FDAT)를 기입하거나, 기입된 파일 데이터(FDAT)를 독출한다.
본 발명의 실시예에 따른 하드 디스크 드라이브(300)는 인터페이싱부(360)를 더 구비할 수 있다. 인터페이싱부(360)는 ATA 프로토콜(Advanced Technology Attachment protocol)에 의해 호스트(HOST)와의 인터페이싱(interfacing)을 수행한다.
도 5는 본 발명의 실시예에 따른 하드 디스크 드라이브에서의 데이터 기입 방법을 나타내는 순서도이다. 도 6은 본 발명의 실시예에 따른 하드 디스크 드라이브에서의 데이터 독출 방법을 나타내는 순서도이다.
도 5 및 도 6을 참조하면, 본 발명의 실시예에 따른 하드 디스크 드라이브에서의 데이터 기입/독출 방법(500, 600)은 호스트로부터 파일 정보 및/또는 파일 데이터를 수신하는 S510 또는 S610 단계, 상기 파일 정보를 이용하여 파일에 대응되는 논리 주소를 생성하는 S520 또는 S620 단계 및 상기 논리 주소에 해당하는 영역에 상기 파일 데이터를 기입하는 S530 단계 또는 기입된 파일 데이터를 독출하는 S630 단계를 구비한다.
이하에서는 도 3, 도 5 및 도 6을 참조하여, 본 발명의 실시예에 따른 하드 디스크 드라이브 및 데이터 기입/독출 방법을 보다 자세히 설명한다.
도 3, 도 5 및 도 6을 참조하면, 하드 디스크 드라이브(300)는 ATA 스 펙(spec) 상의 SCT(Smart Command Transport) 커맨드(SCT)를 통하여, 호스트(HOST)로부터 파일 정보(FINF)를 수신한다(S510, S520). 파일-논리 주소 변환부(320)는 파일 정보(FINF)를 대응되는 논리 주소(LBA)로 변환한다(S520, S620).
이때, 파일 정보(FINF)란, 유저(user)가 파일을 저장 또는 검색할 때, 유저와 시스템(예를 들어, 데이터 저장 시스템) 사이에 인터페이스를 제공하는 정보를 말한다. 파일 정보(FINF)는 파일 이름 및 파일 경로를 포함할 수 있다.
전술한 바와 같이, 호스트(HOST)와 하드 디스크 드라이브(300)는 ATA 프로토콜에 의해 인터페이싱된다. 특히, 본 발명의 실시예에 따른 하드 디스크 드라이브(300) 및 데이터 기입/독출 방법(500, 600)은 SCT 커맨드(SCT)를 통하여 파일 정보(FINF)를 전송함으로써, 하드 디스크 드라이브(300)는 파일-논리 주소 변환에 필요한 파일 이름 및 파일 경로를 수신할 수 있다.
SCT 커맨드란 ATA 스펙 상에 규정된 커맨드에 소정 비트(bit)의 태그(tag)를 추가하여 유저가 실행하고자 하는 명령으로 정의될 수 있는 커맨드이다. 즉, SCT 커맨드(SCT)는 파일 정보(FINF)를 포함할 수 있다.
본 발명의 실시예에 따른 하드 디스크 드라이브(300) 및 데이터 기입/독출 방법(500, 600)은 특히, 라이트 로그 커맨드(write log command)(WLC) 및 리드 로그 커맨드(read log command)(RLC)를 이용하여, 호스트(HOST)와 하드 디스크 드라이브(300) 사이에 파일 정보(FINF) 및 파일 데이터(FDAT)를 송수신한다.
도 8은 라이트 로그 커맨드 및 리드 로그 커맨드의 실행 동작을 개념적으로 나타내는 도면이다.
도 8을 참조하면, 호스트(HOST)는 라이트 로그 커맨드(WLC) 또는 리드 로그 커맨드(RLC)를 이용하여 먼저 해당 명령(COMMAND)을 하드 디스크 드라이브(HDD)로 인가한다. 이때, 해당 명령(COMMAND)의 수행에 필요한 데이터(DATA)도 함께 전송된다. 하드 디스크 드라이브(HDD)는 해당 명령(COMMAND)을 수행하면, 그 결과(하드 디스크 드라이브의 상태 정보)(STATUS)를 호스트(HOST)로 전송한다.
상기와 같은 과정을 통해, 하나의 라이트 로그 커맨드(WLC) 또는 리드 로그 커맨드(RLC)가 실행된다. 이하에서는, 도 9 및 도 10을 참조하여, SCT 커맨드를 통한 파일 정보 및 파일 데이터의 전송 동작을 보다 자세히 설명한다.
도 9는 SCT 커맨드를 이용한 본 발명의 실시예에 따른 데이터 기입/독출 동작을 개념적으로 나타내는 도면이다. 도 10은 도 9의 데이터 기입/독출 동작을 나타내는 순서도이다.
도 9 및 도 10을 참조하면, 먼저, 라이트 로그 커맨드(WLC)를 이용하여, 호스트(HOST)가 하드 디스크 드라이브(HDD)로 맵핑(mapping) 커맨드(WLCc)를 넘겨준다(S1110). 이때, 파일 정보(FINF)를 포함한 데이터(DATc)도 함께 전송된다(S1110). 데이터(DATc)의 일 단에 도시된 화살표는 데이터(DATc)가 전송되는 방향을 나타낸다. 이하 동일하다. 하드 디스크 드라이브(HDD)는 맵핑(mapping) 커맨드(WLCc)를 수신한 후, 그 결과(STAc)를 호스트(HOST)로 전송한다.
다음으로, 파일 데이터(FDAT)를 하드 디스크 드라이브(HDD)에 기입하고자 하는 경우, 호스트(HOST)는 라이트 로그 커맨드(WLC)를 이용하여, 기입 커맨드(WLC1, …, WLCn)를 하드 디스크 드라이브(HDD)로 전송한다(S1120). 이때, 기입하고자 하 는 파일 데이터(DTA1, …, DTAn)도 함께 전송된다(S1120). 하드 디스크 드라이브(HDD)는 파일 데이터(DTA1, …, DTAn)를 디스크에 기입한 후, 대응되는 파일 데이터(DTA1, …, DTAn)에 대한 기입 결과(STA1, …, STAn)를 호스트(HOST)로 전송한다.
반면, 파일 데이터(FDAT)를 하드 디스크 드라이브(HDD)로부터 독출하고자 하는 경우, 호스트(HOST)는 리드 로그 커맨드(RLC)를 이용하여 독출 커맨드(RLC1, …, RLCn)를 하드 디스크 드라이브(HDD)로 전송한다(S1120). 하드 디스크 드라이브(HDD)는 독출된 파일 데이터(DTA1, …, DTAn)를 호스트(HOST)로 전송한다(S1120). 또한, 하드 디스크 드라이브(HDD)는 대응되는 파일 데이터(DTA1, …, DTAn)에 대한 독출 결과(STA1, …, STAn)를 호스트(HOST)로 전송한다.
끝으로, 호스트(HOST)는 데이터 기입/독출 동작을 하고자 하는 경우, 리드 로그 커맨드(RLC)를 이용하여 상태 정보 요청 명령(RLCs)을 하드 디스크 드라이브(HDD)로 전송한다(S1130). 하드 디스크 드라이브(HDD)는 상태 정보 요청 명령(RLCs)을 수신하면, 상태 정보(DATs)를 전송한다(S1130). 하드 디스크 드라이브(HDD)는 또한, 상태 정보 요청 명령(RLCs)의 수행 결과(STAs)를 호스트(HOST)로 전송한다.
상기와 같은 과정을 통해, SCT 커맨드를 이용한 본 발명의 실시예에 따른 데이터 기입/독출 동작이 수행된다. 이때, 파일 정보를 논리 주소로 변환하는 동작은 전술한 바와 같이, 하드 디스크 드라이브에서 수행한다. 도 4 및 도 7을 참조하여, 파일 정보를 논리 주소로 변환하는 동작을 보다 자세히 설명한다.
도 4는 도 3의 파일-논리 주소 변환부를 개략적으로 나타내는 블럭도이다. 도 7은 도 5 및 도 6의 논리 주소를 생성하는 방법을 보다 자세히 나타내는 순서도이다.
도 4 및 도 7을 참조하면, 도 3의 파일-논리 주소 변환부(340)는 파일-클러스터 변환 수단(322) 및 클러스터-논리 주소 변환 수단(324)을 구비한다. 파일-클러스터 변환 수단(322)은 파일 정보(FINF)를 대응되는 클러스터(cluster)(CLUS)로 변환한다(S712). 즉, 파일-클러스터 변환 수단(322)은 일종의 파일 시스템이라 할 수 있다.
클러스터(CLUS)는 클러스터-논리 주소 변환 수단(324)에 의해, 다시 논리 주소(LBA)로 변환된다(S714). 이때, 클러스터(CLUS)는 단순히 복수개의 논리 주소(LBA)의 집합인 바, 클러스터-논리 주소 변환 수단(324)은 간단한 맴핑 테이블로 구현될 수 있을 것이다.
이렇듯, 본 발명의 실시예에 따른 하드 디스크 드라이브(300) 및 데이터 기입/독출 방법(500, 600)은 파일 정보(FINF)로부터 논리 주소(LBA)를 생성하는 파일 시스템의 역할을 하드 디스크 드라이브(HDD)에서 수행한다. 따라서, 도 1의 종래 기술에 따른 하드 디스크 드라이브(10)와 같이 하드 디스크 드라이브가 지원하지 못하는 파일 시스템으로 동작하는 호스트로부터의 파일 저장 및 검색이 불가능한 문제를 해결할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 하드 디스크 드라이브 및 데이터 기입/독출 방법은 파일 시스템에 무관하게 데이터를 기입/독출할 수 있는 장점이 있다.

Claims (20)

  1. 하드 디스크 드라이브(Hard Disk Drive)에서의 데이터(data) 기입/독출 방법에 있어서,
    호스트(host)로부터 파일(file) 정보 및/또는 파일 데이터(file data)를 수신하는 단계;
    상기 파일 정보를 이용하여 파일에 대응되는 논리 주소(LBA : Logical Block Address)를 생성하는 단계; 및
    상기 논리 주소에 해당하는 영역에 상기 파일 데이터를 기입하거나, 기입된 파일 데이터를 독출하는 단계를 구비하는 것을 특징으로 하는 데이터 기입/독출 방법.
  2. 제 1 항에 있어서, 상기 파일 정보는,
    파일 이름 및 파일 경로를 포함하는 것을 특징으로 하는 데이터 기입/독출 방법.
  3. 제 1 항에 있어서, 상기 하드 디스크 드라이브와 상기 호스트는,
    ATA 프로토콜(Advanced Technology Attachment protocol)에 의해 인터페이싱(interfacing)되는 것을 특징으로 하는 데이터 기입/독출 방법.
  4. 제 3 항에 있어서, 상기 파일 정보는,
    상기 ATA 스펙(spec) 상의 SCT(Smart Command Transport) 커맨드를 통하여,
    상기 하드 디스크 드라이브로 전송되는 것을 특징으로 하는 데이터 기입/독출 방법.
  5. 제 4 항에 있어서, 상기 파일 정보는,
    상기 SCT 커맨드 중 라이트 로그 커맨드(Write Log command)를 통하여 전송되는 것을 특징으로 하는 데이터 기입/독출 방법.
  6. 제 4 항에 있어서, 상기 기입하고자 하는 파일 데이터는,
    상기 SCT 커맨드 중 라이트 로그 커맨드를 통하여,
    상기 호스트로부터 상기 하드 디스크 드라이브로 전송되는 것을 특징으로 하는 데이터 기입/독출 방법.
  7. 제 4 항에 있어서, 상기 데이터 기입/독출 방법은,
    상기 SCT 커맨드 중 리드 로그 커맨드(Read Log Command)를 통하여,
    상기 독출된 파일 데이터를 상기 호스트로 전송하는 단계를 더 구비하는 것을 특징으로 하는 데이터 기입/독출 방법.
  8. 제 4 항에 있어서, 상기 데이터 기입/독출 방법은,
    상기 호스트로부터 수신된 SCT 커맨드를 실행한 후의 상기 하드 디스크 드라이브의 상태 정보를 상기 호스트로 전송하는 단계를 더 구비하는 것을 특징으로 하는 데이터 기입/독출 방법.
  9. 제 8 항에 있어서, 상기 상태 정보는,
    상기 SCT 커맨드 중 리드 로그 커맨드를 통하여 상기 호스트로 전송하는 것을 특징으로 하는 데이터 기입/독출 방법.
  10. 제 1 항에 있어서, 상기 논리 주소를 생성하는 단계는,
    상기 파일 정보를 대응되는 클러스터(cluster)로 변환하는 단계; 및
    상기 클러스터를 상기 논리 주소로 변환하는 단계를 구비하는 것을 특징으로 하는 데이터 기입/독출 방법.
  11. 청구항 11은(는) 설정등록료 납부시 포기되었습니다.
    하드 디스크 드라이브에 있어서,
    호스트(host)로부터 수신된 파일(file) 정보를 대응되는 논리 주소(LBA : Logical Block Address)로 변환하는 파일-논리 주소 변환부; 및
    상기 논리 주소에 해당하는 영역에 파일 데이터(file data)를 기입하거나, 기입된 파일 데이터를 독출하는 제어부를 구비하는 것을 특징으로 하는 하드 디스크 드라이브(Hard Disk Drive).
  12. 청구항 12은(는) 설정등록료 납부시 포기되었습니다.
    파일 이름 및 파일 경로를 포함하는 것을 특징으로 하는 하드 디스크 드라이브.
  13. 청구항 13은(는) 설정등록료 납부시 포기되었습니다.
    제 11 항에 있어서, 상기 하드 디스크 드라이브는
    ATA 프로토콜(Advanced Technology Attachment protocol)에 의해,
    상기 호스트와의 인터페이싱(interfacing)을 수행하는 인터페이싱부를 더 구비하는 것을 특징으로 하는 하드 디스크 드라이브.
  14. 청구항 14은(는) 설정등록료 납부시 포기되었습니다.
    제 13 항에 있어서, 상기 파일 정보는,
    상기 ATA 스펙(spec) 상의 SCT(Smart Command Transport) 커맨드를 통하여,
    상기 하드 디스크 드라이브로 전송되는 것을 특징으로 하는 하드 디스크 드라이브.
  15. 청구항 15은(는) 설정등록료 납부시 포기되었습니다.
    제 14 항에 있어서, 상기 파일 정보는,
    상기 SCT 커맨드 중 라이트 로그 커맨드(Write Log command)를 통하여 전송되는 것을 특징으로 하는 하드 디스크 드라이브.
  16. 청구항 16은(는) 설정등록료 납부시 포기되었습니다.
    제 14 항에 있어서, 상기 인터페이싱부는,
    상기 SCT 커맨드 중 라이트 로그 커맨드를 통하여 디스크에 기입하고자 하는 파일 데이터를 수신하는 것을 특징으로 하는 하드 디스크 드라이브.
  17. 청구항 17은(는) 설정등록료 납부시 포기되었습니다.
    제 14 항에 있어서, 상기 인터페이싱부는,
    상기 SCT 커맨드 중 리드 로그 커맨드(Read Log Command)를 통하여,
    상기 독출된 파일 데이터를 상기 호스트로 전송하는 것을 특징으로 하는 하드 디스크 드라이브.
  18. 청구항 18은(는) 설정등록료 납부시 포기되었습니다.
    제 14 항에 있어서, 상기 인터페이싱부는,
    상기 SCT 커맨드 중 리드 로그 커맨드를 통하여,
    상기 호스트로부터 수신된 SCT 커맨드를 실행한 후의 상기 하드 디스크 드라이브의 상태 정보를 상기 호스트로 전송하는 것을 특징으로 하는 하드 디스크 드라이브.
  19. 청구항 19은(는) 설정등록료 납부시 포기되었습니다.
    제 11 항에 있어서, 상기 파일-논리 주소 변환부는,
    상기 파일 정보를 대응되는 클러스터(cluster)로 변환하는 파일-클러스터 변환 수단; 및
    상기 클러스터를 상기 논리 주소로 변환하는 클러스터-논리 주소 변환 수단을 구비하는 것을 특징으로 하는 하드 디스크 드라이브.
  20. 청구항 20은(는) 설정등록료 납부시 포기되었습니다.
    제 11 항의 하드 디스크 드라이브(Hard Disk Drive) 및 호스트(Host)를 구비 하는 데이터 저장 시스템.
KR1020070035727A 2007-04-11 2007-04-11 파일 시스템에 무관하게 데이터를 기입/독출할 수 있는하드 디스크 드라이브 및 이를 이용한 데이터 기입/독출방법 KR100891333B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020070035727A KR100891333B1 (ko) 2007-04-11 2007-04-11 파일 시스템에 무관하게 데이터를 기입/독출할 수 있는하드 디스크 드라이브 및 이를 이용한 데이터 기입/독출방법
US12/100,633 US20080256289A1 (en) 2007-04-11 2008-04-10 Memory apparatus to write and read data, and method thereof
EP08154429A EP1980940A3 (en) 2007-04-11 2008-04-11 Memory apparatus to write and read data, and method thereof
JP2008103730A JP2008262565A (ja) 2007-04-11 2008-04-11 データを書き込み及び読み取りするシステム、メモリ装置、方法、およびコンピュータで読み取り可能な媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070035727A KR100891333B1 (ko) 2007-04-11 2007-04-11 파일 시스템에 무관하게 데이터를 기입/독출할 수 있는하드 디스크 드라이브 및 이를 이용한 데이터 기입/독출방법

Publications (2)

Publication Number Publication Date
KR20080092181A KR20080092181A (ko) 2008-10-15
KR100891333B1 true KR100891333B1 (ko) 2009-03-31

Family

ID=39854797

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070035727A KR100891333B1 (ko) 2007-04-11 2007-04-11 파일 시스템에 무관하게 데이터를 기입/독출할 수 있는하드 디스크 드라이브 및 이를 이용한 데이터 기입/독출방법

Country Status (3)

Country Link
US (1) US20080256289A1 (ko)
JP (1) JP2008262565A (ko)
KR (1) KR100891333B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022203238A1 (ko) * 2021-03-24 2022-09-29 삼성전자 주식회사 스토리지를 포함하는 전자 장치 및 그 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102399490B1 (ko) * 2017-06-20 2022-05-19 에스케이하이닉스 주식회사 다양한 동작 모드를 수행하는 반도체 메모리 장치, 이를 포함하는 메모리 모듈 및 시스템
US20210181990A1 (en) * 2019-12-16 2021-06-17 Micron Technology, Inc. Interrupt signaling for a memory device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004334419A (ja) 2003-05-06 2004-11-25 Internatl Business Mach Corp <Ibm> 磁気ディスク装置、ファイル管理システム及びその方法
JP2006054008A (ja) 2004-08-12 2006-02-23 Sony Corp データ記録装置及び方法、データ記録システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137634A (ja) * 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
JP2000122814A (ja) * 1998-10-15 2000-04-28 Hitachi Ltd 拡張型ネットワーク接続二次記憶方法及び装置
US6408357B1 (en) * 1999-01-15 2002-06-18 Western Digital Technologies, Inc. Disk drive having a cache portion for storing write data segments of a predetermined length
CN1459105A (zh) * 2000-08-23 2003-11-26 西加特技术有限责任公司 智能数据存储设备
US6735650B1 (en) * 2002-08-30 2004-05-11 Western Digital Technologies, Inc. Disk drive and method for data transfer initiated by nonstandard disk-drive commands on a serial ATA interface that only supports standard ATA disk-drive commands
JP2004318940A (ja) * 2003-04-14 2004-11-11 Renesas Technology Corp 記憶装置
US7353242B2 (en) * 2004-07-09 2008-04-01 Hitachi, Ltd. File server for long term data archive
JP2006227856A (ja) * 2005-02-17 2006-08-31 Hitachi Ltd アクセス制御装置及びそれに搭載されるインターフェース
JP2007018049A (ja) * 2005-07-05 2007-01-25 Hitachi Ltd 記憶制御システム
US7480766B2 (en) * 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004334419A (ja) 2003-05-06 2004-11-25 Internatl Business Mach Corp <Ibm> 磁気ディスク装置、ファイル管理システム及びその方法
JP2006054008A (ja) 2004-08-12 2006-02-23 Sony Corp データ記録装置及び方法、データ記録システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022203238A1 (ko) * 2021-03-24 2022-09-29 삼성전자 주식회사 스토리지를 포함하는 전자 장치 및 그 방법

Also Published As

Publication number Publication date
KR20080092181A (ko) 2008-10-15
JP2008262565A (ja) 2008-10-30
US20080256289A1 (en) 2008-10-16

Similar Documents

Publication Publication Date Title
KR101486987B1 (ko) 불휘발성 메모리를 포함하는 반도체 메모리 장치 및 불휘발성 메모리를 위한 커맨드 스케줄링 방법
US8255661B2 (en) Data storage system comprising a mapping bridge for aligning host block size with physical block size of a data storage device
CN101853254B (zh) 挂载文件或目录到本地或远程主机的方法和装置
US11630766B2 (en) Memory system and operating method thereof
CN103150256B (zh) 提高usb闪存写入性能的方法和器件
US20050091455A1 (en) Automated on-line capacity expansion method for storage device
EP1548600B1 (en) Data management device and method for flash memory
CN101297276A (zh) 具有本地执行功能和存储功能的大容量存储设备
US6934769B2 (en) Methods and structure for SCSI/IDE translation in a storage subsystem
TWI514142B (zh) 儲存系統及其控制方法
US8489852B2 (en) Method and system for manipulating data
US10019398B2 (en) System with solid state drive and control method thereof
JP2008547068A (ja) 複数個のdmaチャンネルを有するusb−sd保存装置及びその保存方法と記録媒体
US20100325384A1 (en) Data storage medium accessing method, data storage device and recording medium to perform the data storage medium accessing method
US7418570B2 (en) Logical unit number increasing device, and logical unit number increasing method
CN112765055B (zh) 存储设备的控制部件
KR100891333B1 (ko) 파일 시스템에 무관하게 데이터를 기입/독출할 수 있는하드 디스크 드라이브 및 이를 이용한 데이터 기입/독출방법
US8631166B2 (en) Storage devices with bi-directional communication techniques and method of forming bi-directional communication layer between them
US10528360B2 (en) Storage device, information processing system, method of activating storage device and program
US20210011869A1 (en) Semiconductor devices including command priority policy management and related systems
US7831741B2 (en) Indexing device and method for data storage system
JP2014211801A (ja) インターフェース制御装置、データ記憶装置及びインターフェース制御方法
US8209452B2 (en) External device having a virtual storage device
US10713171B2 (en) Computer system
US20120131236A1 (en) Communication between a computer and a data 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: 20130311

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140311

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170223

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee