KR100475125B1 - 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및이에 대한 데이터 버스 폭 설정 방법 - Google Patents

데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및이에 대한 데이터 버스 폭 설정 방법 Download PDF

Info

Publication number
KR100475125B1
KR100475125B1 KR10-2003-0040482A KR20030040482A KR100475125B1 KR 100475125 B1 KR100475125 B1 KR 100475125B1 KR 20030040482 A KR20030040482 A KR 20030040482A KR 100475125 B1 KR100475125 B1 KR 100475125B1
Authority
KR
South Korea
Prior art keywords
data
command
bus width
data bus
bits
Prior art date
Application number
KR10-2003-0040482A
Other languages
English (en)
Other versions
KR20040110925A (ko
Inventor
임명균
이상길
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR10-2003-0040482A priority Critical patent/KR100475125B1/ko
Priority to TW093116637A priority patent/TWI261176B/zh
Priority to US10/866,602 priority patent/US7234031B2/en
Priority to JP2004182874A priority patent/JP4579589B2/ja
Publication of KR20040110925A publication Critical patent/KR20040110925A/ko
Application granted granted Critical
Publication of KR100475125B1 publication Critical patent/KR100475125B1/ko
Priority to US11/744,683 priority patent/US7363441B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및 이에 대한 데이터 버스 폭 설정 방법이 개시된다. 본 발명에 따른 데이터 버스 폭 변경이 자유로운 이동형 저장 장치는, 호스트에 접속되는 적어도 하나의 커맨드 라인과 복수의 데이터 라인들을 구비하는 이동형 저장 장치에 있어서, 비휘발성 메모리, 커맨드 패킷 디코더, 및 제어부를 구비하는 것을 특징으로 한다. 비휘발성 메모리는 데이터를 저장한다. 커맨드 패킷 디코더는 커맨드 라인을 통하여 커맨드 패킷들을 수신하고, 커맨드 패킷들을 디코딩하여 커맨드 정보들을 출력한다. 또, 커맨드 패킷 디코더는 커맨드 패킷들 중 데이터 송신 커맨드 패킷 또는 데이터 요청 커맨드 패킷을 수신하고, 기입 또는 독출 명령, 어드레스 정보, 및 데이터 버스 폭 정보를 출력한다. 제어부는 커맨드 정보들에 응답하여 해당 제어 동작을 수행한다. 또, 제어부는 데이터 버스 폭 정보에 응답하여 복수의 데이터 라인들 중 일부 또는 전체를 선택하고, 선택된 데이터 라인을 통하여 데이터를 수신 또는 송신하고, 기입 명령 또는 독출 명령과 어드레스 정보에 응답하여 비휘발성 메모리의 데이터 기입 또는 독출을 제어한다. 본 발명에 의한 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및 이에 대한 데이터 버스 폭 설정 방법은 데이터 버스 폭을 미리 설정하지 않고 필요에 따라 자유롭게 변경할 수 있는 장점이 있다.

Description

데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및 이에 대한 데이터 버스 폭 설정 방법{Movable storage apparatus capable of freely changing width of data bus and method for setting width of data bus of the same}
본 발명은 이동형 저장 장치에 관한 것으로서, 특히, 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및 이에 대한 데이터 버스 폭 설정 방법에 관한 것이다.
일반적으로, 이동형 저장 장치는 캠코더, 디지털 카메라, PDA(Personal Digital Assistance), MP3(MPEG-1 Layer3) 플레이어 등과 같은 디지털 장치에서 사용된다. 보편적으로 사용되는 이동형 저장 장치로는 MMC(MultiMediaCard), SD(Secure Digital) 메모리 카드, CF(CompactFlash) 카드, 메모리 스틱(Memory Stick) 등이 있다. 종래의 SD 메모리 카드의 일예가 미국 특허 출원 공개 제2003-56050호에 기재되어 있다.
이동형 저장 장치는 다중 데이터 버스 폭을 갖는다. 상기 이동형 저장 장치의 데이터 버스 폭은 서로 다른 데이터 버스 폭을 가지는 호스트들과의 데이터 통신을 지원하기 위해 접속되는 호스트에 따라 변경될 필요가 있다. 이를 위해, 종래의 이동형 저장 장치는 데이터 버스 폭에 대한 정보가 저장되는 소정의 레지스터를 구비한다. 상기 이동형 저장 장치의 데이터 버스 폭은 상기 이동형 저장 장치가 호스트와 접속될 때 호스트에 의해 미리 설정된다. 이러한 종래의 이동형 저장 장치를 도 1을 참고하여 좀 더 상세히 설명한다.
도 1은 종래 기술에 따른 이동형 저장 장치와 호스트를 나타내는 블록도이다. 도 1에서 참조되는 것과 같이, 이동형 저장 장치(2)는 커맨드 패킷을 수신하는 커맨드 핀(P1), 전원 핀들(P2, P3), 클럭 신호용 핀(P4), 및 복수의 데이터 핀들(D1∼DN)을 구비하고, 상기 핀들(P1∼P4, D1∼DN)은 각각 호스트(1)에 접속된다. 또, 상기 이동형 저장 장치(2)는 커맨드 패킷 디코더(30), 제어부(40), 제1 레지스터(50), 플레쉬 메모리(60), 데이터 버퍼(70), 제2 레지스터(80)를 더 구비한다. 상기 커맨드 패킷 디코더(30)는 패킷 수신부(31), 커맨드 필드(command field) 디코더(32), 및 아규먼트 필드(argument field) 디코더(33)를 포함한다. 상기 패킷 수신부(31)는 커맨드 라인(10)을 통하여 상기 커맨드 핀(P1)에 연결되고, 상기 제어부(40)는 복수의 데이터 라인들(20)을 통하여 상기 데이터 버퍼(70)에 연결된다.
상기와 같이 구성된 상기 이동형 저장 장치(2)의 데이터 버스 폭 설정 과정을 살펴보면 다음과 같다.
상기 이동형 저장 장치(2)가 상기 호스트(1)에 접속되면, 상기 호스트(1)는 데이터 버스 폭을 설정하기 위한 설정용 커맨드 패킷(CMD_PK)을 전송한다. 상기 커맨드 패킷 디코더(30)의 상기 패킷 수신부(31)는 상기 커맨드 라인(10)을 통하여 상기 설정용 커맨드 패킷(CMD_PK)을 수신한다. 상기 패킷 수신부(31)는 수신된 상기 설정용 커맨드 패킷(CMD_PK)을 커맨드 필드(CMD_FD)와 아규먼트 필드(ARG_FD)로 분리한다. 상기 커맨드 필드 디코더(32)는 상기 커맨드 필드(CMD_FD)를 디코딩하여 커맨드 정보(CMD_IF)를 출력한다. 상기 아규먼트 필드 디코더(33)는 상기 아규먼트 필드(ARG_FD)를 디코딩하여 데이터 버스 폭 정보(BUS_IF)를 출력한다. 상기 제어부(40)는 상기 커맨드 정보(CMD_IF)를 수신하고, 데이터 버스 폭 설정을 위한 커맨드임을 인식한다. 또, 상기 제어부(40)는 상기 데이터 버스 폭 정보(BUS_IF)를 수신하여 상기 제1 레지스터(50)에 저장한다. 이 후, 상기 제어부(40)는 상기 데이터 버스 폭 정보(BUS_IF)에 따라 상기 복수의 데이터 라인들(20) 중에서 일부 또는 전체를 선택하여 데이터를 송수신한다. 또, 일반 데이터 송수신 동작시 상기 커맨드 필드 디코더(32)는 상기 커맨드 필드(CMD_FD)를 디코딩하여 기입 명령 또는 독출 명령을 출력한다. 일반 데이터 송수신 동작시 상기 아규먼트 필드 디코더(33)는 상기 아규먼트 필드(ARG_FD)를 디코딩하여 어드레스 신호를 출력한다.
상기한 것과 같이, 종래의 이동형 저장 장치에서는 호스트와의 데이터 통신 동작에 앞서 데이터 버스 폭이 미리 설정되어야 한다. 이러한 종래의 방식은 오랫동안 데이터 버스 폭을 변경할 필요가 없는 경우, 즉, 상기 이동형 저장 장치가 하나의 호스트에서만 사용되는 경우에는 유용하다. 그러나, 데이터 버스 폭이 자주 변경되는 경우, 즉, 상기 이동형 저장 장치가 다양한 호스트들에서 사용되는 경우에는 호스트가 바뀔 때마다 데이터 버스 폭 설정을 변경하는 과정이 선행되어야 한다. 이를 위해, 상기 호스트는 데이터 버스 폭 설정을 위한 커맨드 패킷을 사전에 별도로 전송해야 하고, 상기 이동형 저장 장치는 상기 호스트가 바뀔 때마다 데이터 버스 폭을 재설정해야 하는 문제점이 있다.
본 발명이 이루고자하는 기술적 과제는, 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및 이에 대한 데이터 버스 폭 설정 방법을 제공하는데 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 일실시예에 따른 데이터 버스 폭 변경이 자유로운 이동형 저장 장치는, 호스트에 접속되는 적어도 하나의 커맨드 라인과 복수의 데이터 라인들을 구비하는 이동형 저장 장치에 있어서, 적어도 하나 이상의 비휘발성 메모리, 커맨드 패킷 디코더, 및 제어부를 구비하는 것을 특징으로 한다. 적어도 하나 이상의 비휘발성 메모리는 데이터를 저장한다. 커맨드 패킷 디코더는 커맨드 라인을 통하여 커맨드 패킷들을 수신하고, 커맨드 패킷들을 디코딩하여 커맨드 정보들을 출력한다. 또, 커맨드 패킷 디코더는 커맨드 패킷들 중 데이터 송신 커맨드 패킷 또는 데이터 요청 커맨드 패킷을 수신하고, 기입 또는 독출 명령, 어드레스 정보, 및 데이터 버스 폭 정보를 출력한다. 제어부는 커맨드 정보들에 응답하여 해당 제어 동작을 수행한다. 또, 제어부는 데이터 버스 폭 정보에 응답하여 복수의 데이터 라인들 중 일부 또는 전체를 선택하고, 선택된 데이터 라인을 통하여 데이터를 수신 또는 송신하고, 기입 명령 또는 독출 명령과 어드레스 정보에 응답하여 비휘발성 메모리의 데이터 기입 또는 독출을 제어한다.
상기 기술적 과제를 달성하기 위한 본 발명의 일실시예에 따른 데이터 버스 폭 변경이 자유로운 이동형 저장 장치의 데이터 버스 폭 설정 방법은, 호스트에 접속되는 커맨드 라인과 복수의 데이터 라인들, 상기 커맨드 라인을 통하여 데이터 송신 커맨드 패킷 또는 데이터 요청 커맨드 패킷을 수신하고, 기입 또는 독출 명령, 어드레스 정보, 및 데이터 버스 폭 정보를 출력하는 커맨드 패킷 디코더, 및 상기 데이터 버스 폭 정보에 응답하여 상기 복수의 데이터 라인들 중 일부 또는 전체를 선택하고, 선택된 데이터 라인을 통하여 데이터를 수신 또는 송신하는 제어부를 구비하는 이동형 저장 장치의 데이터 버스 폭 설정방법에 있어서,
(a) 상기 호스트에 상기 이동형 저장 장치가 접속되는 단계;
(b) 상기 호스트로부터 상기 데이터 버스 폭 정보를 포함하는 상기 데이터 송신 커맨드 패킷 또는 상기 데이터 요청 커맨드 패킷을 수신하는 단계;
(c) 수신된 상기 데이터 송신 커맨드 패킷 또는 상기 데이터 요청 커맨드 패킷을 커맨드 필드와 아규먼트 필드로 분리하는 단계;
(d) 상기 아규먼트 필드를 디코딩하여 상기 데이터 버스 폭 정보를 출력하는 단계;
(e) 상기 데이터 버스 폭 정보에 응답하여 상기 복수의 데이터 라인들 중 일부 또는 전체를 선택하고, 선택된 상기 데이터 라인을 통하여 데이터를 수신 또는 송신하는 단계;
(f) 추가의 데이터 송신 커맨드 패킷 또는 데이터 요청 커맨드 패킷이 수신되면, 상기 (c) 단계로 리턴하는 단계를 포함하는 것을 특징으로 한다.
상기 기술적 과제를 달성하기 위한 본 발명의 일실시예에 따른 데이터 버스 폭 변경이 자유로운 이동형 저장 장치의 데이터 버스 폭 설정 방법은, 호스트에 접속되는 커맨드 라인과 복수의 데이터 라인들, 상기 커맨드 라인을 통하여 데이터 송신 커맨드 패킷 또는 데이터 요청 커맨드 패킷을 수신하고, 기입 또는 독출 명령, 어드레스 정보, 및 데이터 버스 폭 정보를 출력하는 커맨드 패킷 디코더, 및 상기 데이터 버스 폭 정보에 응답하여 상기 복수의 데이터 라인들 중 일부 또는 전체를 선택하고, 선택된 데이터 라인을 통하여 데이터를 수신 또는 송신하는 제어부를 구비하는 이동형 저장 장치의 데이터 버스 폭 설정방법에 있어서,
(a) 상기 호스트에 상기 이동형 저장 장치가 접속되는 단계;
(b) 상기 호스트로부터 상기 데이터 버스 폭 정보를 포함하는 상기 데이터 송신 커맨드 패킷 또는 상기 데이터 요청 커맨드 패킷을 수신하는 단계;
(c) 수신된 상기 데이터 송신 커맨드 패킷 또는 상기 데이터 요청 커맨드 패킷을 커맨드 필드와 아규먼트 필드로 분리하는 단계;
(d) 상기 커맨드 필드를 디코딩하여 상기 데이터 버스 폭 정보를 출력하는 단계;
(e) 상기 데이터 버스 폭 정보에 응답하여 상기 복수의 데이터 라인들 중 일부 또는 전체를 선택하고, 선택된 데이터 라인을 통하여 데이터를 수신 또는 송신하는 단계;
(f) 추가의 데이터 송신 커맨드 패킷 또는 데이터 요청 커맨드 패킷이 수신되면, 상기 (c) 단계로 리턴하는 단계를 포함하는 것을 특징으로 한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 본 발명의 제1 실시예에 따른 데이터 버스 폭 변경이 자유로운 이동형 저장 장치와 호스트를 나타내는 블록도이다. 도 2를 참고하면, 이동형 저장 장치(200)는 커맨드 라인(210), 데이터 라인(220), 커맨드 패킷 디코더(230), 제어부(240), 플레쉬 메모리(250), 데이터 버퍼(260), 및 데이터 레지스터(270)를 구비한다. 또, 상기 이동형 저장 장치(200)는 커맨드 핀(P1), 전원 핀들(P2, P3), 클럭 핀(P4), 및 복수의 데이터 핀들(D1∼DN)(N은 2이상의 자연수)을 더 구비한다. 상기 커맨드 라인(210)은 상기 커맨드 핀(P1)에 연결된다.
상기 커맨드 패킷 디코더(230)는 패킷 수신부(231), 커맨드 필드 디코더(232), 및 아규먼트 및 버스 정보 디코더(233)를 포함한다. 상기 패킷 수신부(231)는 상기 커맨드 라인(210)을 통하여 호스트(100)로부터 데이터 송신 커맨드 패킷(CMD_PK1) 또는 데이터 요청 커맨드 패킷(CMD_PK2)을 수신하고, 이를 커맨드 필드(CMD_FD)와 아규먼트 필드(ARG_FD)로 분리한다. 상기 커맨드 필드 디코더(232)는 상기 커맨드 필드(CMD_FD)를 디코딩하여 독출 명령(READ) 또는 기입 명령(WRITE)을 출력한다. 상기 아규먼트 및 버스 정보 디코더(233)는 상기 아규먼트 필드(ARG_FD)를 디코딩하여 어드레스 정보(ADD)와 데이터 버스 폭 정보(BUS_IF)를 출력한다. 여기에서, 도 2에 도시되지는 않았지만, 상기 커맨드 패킷 디코더(230)는 상기 호스트(100)로부터 상기 데이터 송신 커맨드 패킷(CMD_PK1)과 상기 데이터 요청 커맨드 패킷(CMD_PK2) 이외에 다른 다양한 커맨드 패킷들을 더 수신한다. 상기 커맨드 패킷 디코더(230)는 수신된 다양한 커맨드 패킷들을 디코딩하여 커맨드 정보들을 출력한다.
한편, 상기 데이터 송신 커맨드 패킷의 일예가 도 3a에 도시된다. 도 3a는 상기 호스트(100)가 상기 이동형 저장 장치(200)로 전송하는 데이터 송신 커맨드 패킷의 일예를 나타내는 도면이다.
도 3a와 같이, 상기 데이터 송신 커맨드 패킷은 커맨드 필드(CMD), 아규먼트 필드들(ARG1∼ARG4), 및 순환 중복 검사(Cyclic Redundancy Checking) 필드(CRC)를 포함한다. 상기 커맨드 필드(CMD)와 상기 아규먼트 필드들(ARG1∼ARG4)은 소정의 비트들을 포함한다.
상기 아규먼트 필드들(ARG1∼ARG4) 각각은 도 3b에 도시된 것과 같이 B7∼B0의 8비트로 구성될 수 있다. 이 경우, 상기 아규먼트 필드들(ARG1∼ARG4)은 총 32비트로 된다. 32비트의 상기 아규먼트 필드들(ARG1∼ARG4) 중에서 일부 비트들은 상기 데이터 버스 폭 정보(BUS_IF)를 나타낸다. 예를 들어, 상기 아규먼트 필드들(ARG1∼ARG4) 중에서, 상기 아규먼트 필드(ARG1)가 상기 데이터 버스 폭 정보(BUS_IF)를 포함할 수 있다. 이를 좀 더 상세히 설명하면 다음과 같다.
먼저, 상기 아규먼트 필드(ARG1)의 상기 비트들(B7∼B0) 중에서 최상위 2비트(B7, B6)가 상기 데이터 버스 폭 정보(BUS_IF)를 나타내고, 상기 이동형 저장 장치(200)가 최대 8비트의 데이터 버스 폭을 갖는 것으로 가정하자. 상기 최상위 2비트(B7, B6)의 값이 "00", "01", "10"인 경우 각각 1비트, 4비트, 8비트의 데이터 버스 폭을 나타낼 수 있다. 여기에서, 상기 데이터 버스 폭 정보(BUS_IF)를 나타내는 상기 소정 비트들의 수는 필요에 따라 증가 또는 감소될 수 있다. 또, 도 3b에서는 상기 최상위 2비트(B7, B6)가 상기 데이터 버스 폭 정보(BUS_IF)를 나타내는 것으로 도시되었지만, 상기 비트들(B5∼B0) 중 일부가 상기 데이터 버스 폭 정보(BUS_IF)를 나타낼 수도 있다. 또, 도 3b에서는 상기 데이터 버스 폭 정보(BUS_IF)가 상기 아규먼트 필드(ARG1)에 포함되는 것으로 도시되었지만, 상기 아규먼트 필드들(ARG2∼ARG4) 중 어느 하나에 포함될 수도 있다.
또, 상기 이동형 저장 장치(200)의 최대 데이터 버스 폭은 필요에 따라 증가 또는 감소될 수 있고, 상기 데이터 버스 폭 정보(BUS_IF)는 다양한 비트의 데이터 버스 폭을 나타낼 수 있다.
다시 도 2를 참고하면, 상기 제어부(240)는 데이터 라인(220)을 통하여 상기 데이터 버퍼(260)에 연결된다. 상기 데이터 라인(220)은 복수의 데이터 라인들(DL1∼DLN)(N은 2이상의 자연수)을 포함한다.
상기 제어부(240)는 상기 데이터 버스 폭 정보(BUS_IF)에 응답하여 상기 복수의 데이터 라인들(DL1∼DLN) 중 일부 또는 전체를 선택하고, 그 선택된 데이터 라인을 통하여 데이터를 송신 또는 수신한다.
상기 제어부(240)는 상기 호스트(100)로부터 수신된 데이터를 상기 플레쉬 메모리(250)에 저장하거나 또는 상기 호스트(100)에서 요청된 데이터를 상기 플레쉬 메모리(250)로부터 독출한다.
상기 데이터 버퍼(260)는 상기 복수의 데이터 라인들(DL1∼DLN)을 통하여 상기 제어부(240)와 연결된다. 또, 상기 데이터 버퍼(260)는 상기 데이터 레지스터(270)에 연결되고, 상기 데이터 레지스터(270)는 상기 복수의 데이터 핀들(D1∼DN)에 연결된다. 상기 데이터 버퍼(260)는 상기 선택된 데이터 라인을 통하여 상기 제어부(240)로부터 독출 데이터를 수신하여 상기 데이터 레지스터(270)에 출력한다. 상기 데이터 레지스터(270)는 상기 독출 데이터를 상기 복수의 데이터 핀들(D1∼DN) 중 일부 또는 전체를 통하여 상기 호스트(100)에 전송한다.
또, 상기 데이터 레지스터(270)는 상기 호스트(100)로부터 상기 복수의 데이터 핀들(D1∼DN) 중 일부 또는 전체를 통하여 기입 데이터를 수신하여 상기 데이터 버퍼(260)에 출력한다. 상기 데이터 버퍼(260)는 상기 선택된 데이터 라인을 통하여 상기 기입 데이터를 상기 제어부(240)에 출력한다.
상기와 같이 구성된 이동형 저장 장치(200)의 데이터 버스 폭 설정 동작을 도 2 내지 도 4를 참고하여 설명한다. 도 4는 도 2에 도시된 이동형 저장 장치의 데이터 버스 폭 설정 과정을 나타내는 플로우차트이다.
도 4를 참고하면, 먼저, 이동형 저장 장치(200)가 호스트(100)에 접속된다(1001). 상기 호스트(100)는 데이터 버스 폭 정보(BUS_IF)를 포함하는 데이터 송신 커맨드 패킷(CMD_PK1) 또는 데이터 요청 커맨드 패킷(CMD_PK2)을 상기 이동형 저장 장치(200)에 전송한다. 상기 이동형 저장 장치(200)에서 커맨드 패킷 디코더(230)의 패킷 수신부(231)는 커맨드 라인(210)을 통하여 상기 데이터 송신 커맨드 패킷(CMD_PK1) 또는 상기 데이터 요청 커맨드 패킷(CMD_PK2)을 수신한다(1002). 이 후, 상기 패킷 수신부(231)는 수신된 상기 데이터 송신 커맨드 패킷(CMD_PK1) 또는 상기 데이터 요청 커맨드 패킷(CMD_PK2)을 커맨드 필드(CMD_FD)와 아규먼트 필드(ARG_FD)로 분리한다(1003).
상기 커맨드 패킷 디코더(230)의 커맨드 필드 디코더(232)는 상기 커맨드 필드(CMD_FD)를 디코딩하여 기입 명령(WRITE) 또는 독출 명령(READ)을 출력한다. 상기 커맨드 패킷 디코더(230)의 아규먼트 및 버스 정보 디코더(233)는 상기 아규먼트 필드(ARG_FD)를 디코딩하여 상기 데이터 버스 폭 정보(BUS_IF)와 어드레스 정보(ADD)를 출력한다(1004).
상기 이동형 저장 장치(200)의 제어부(240)는 상기 데이터 버스 폭 정보(BUS_IF)에 응답하여 복수의 데이터 라인들(DL1∼DLN) 중 일부 또는 전체를 선택한다(1005). 이 후, 상기 제어부(240)는 선택된 데이터 라인을 통하여 데이터를 수신 또는 송신한다(1006). 추가의 데이터 송신 또는 요청 커맨드 패킷(CMD_PK1 또는 CMD_PK2)이 존재하는지의 여부를 판단하고(1007), 추가의 데이터 송신 커맨드 패킷(CMD_PK1) 또는 데이터 요청 커맨드 패킷(CMD_PK2)이 있는 경우, 이를 수신하고 상기 단계(1003)로 리턴한다(1008).
도 5는 본 발명의 제2 실시예에 따른 데이터 버스 폭 변경이 자유로운 이동형 저장 장치와 호스트를 나타내는 블록도이다.
도 5를 참고하면, 이동형 저장 장치(400)는 커맨드 라인(410), 데이터 라인(420), 커맨드 패킷 디코더(430), 제어부(440), 플레쉬 메모리(450), 데이터 버퍼(460), 및 데이터 레지스터(470)를 구비한다. 또, 상기 이동형 저장 장치(400)는 커맨드 핀(P1), 전원 핀들(P2, P3), 클럭 핀(P4), 및 복수의 데이터 핀들(D1∼DN)(N은 2이상의 자연수)을 더 구비한다. 상기 커맨드 라인(410)은 상기 커맨드 핀(P1)에 연결된다.
상기 커맨드 패킷 디코더(430)는 패킷 수신부(431), 커맨드 및 버스 정보 디코더(432), 및 아규먼트 필드 디코더(433)를 포함한다. 상기 패킷 수신부(431)는 상기 커맨드 라인(410)을 통하여 호스트(300)로부터 데이터 송신 커맨드 패킷(CMD_PK1) 또는 데이터 요청 커맨드 패킷(CMD_PK2)을 수신하고, 이를 커맨드 필드(CMD_FD)와 아규먼트 필드(ARG_FD)로 분리한다. 상기 커맨드 및 버스 정보 디코더(432)는 상기 커맨드 필드(CMD_FD)를 디코딩하여 독출 명령(READ) 또는 기입 명령(WRITE)과 데이터 버스 폭 정보(BUS_IF)를 출력한다. 상기 아규먼트 필드 디코더(433)는 상기 아규먼트 필드(ARG_FD)를 디코딩하여 어드레스 정보(ADD)를 출력한다.
여기에서, 도 5에 도시되지는 않았지만, 상기 커맨드 패킷 디코더(430)는 상기 호스트(300)로부터 상기 데이터 송신 커맨드 패킷(CMD_PK1)과 상기 데이터 요청 커맨드 패킷(CMD_PK2) 이외에 다른 다양한 커맨드 패킷들을 더 수신한다. 상기 커맨드 패킷 디코더(430)는 수신된 상기 다양한 커맨드 패킷들을 디코딩하여 커맨드 정보들을 출력한다.
한편, 상기 호스트(300)가 상기 이동형 저장 장치(400)에 전송하는 상기 데이터 송신 커맨드 패킷(CMD_PK1)의 커맨드 필드와 상기 데이터 요청 커맨드 패킷(CMD_PK2)의 커맨드 필드의 일예가 도 6a 내지 도 6c에 도시된다.
도 6a는 상기 데이터 송신 커맨드 패킷(CMD_PK1)의 커맨드 필드의 일예를 나타낸다. 도 6a와 같이, 상기 데이터 송신 커맨드 패킷(CMD_PK1)의 커맨드 필드는 소정의 비트들을 포함한다. 도 6a에서는 상기 커맨드 필드가 B7∼B0의 8비트를 포함하는 것이 예로서 도시된다. 여기에서, 상기 커맨드 필드의 비트수는 필요에 따라 증가 또는 감소될 수 있다. 상기 커맨드 필드의 비트들(B7∼B0) 중에서 일부 비트들은 상기 데이터 버스 폭 정보(BUS_IF)를 나타낸다. 이를 좀 더 상세히 설명하면, 예를 들어, 상기 비트들(B7∼B0) 중에서 최하위 2비트(B1, B0)가 상기 데이터 버스 폭 정보(BUS_IF)를 나타낼 수 있다. 여기에서, 상기 데이터 버스 폭 정보(BUS_IF)를 나타내는 비트들은 상기 커맨드 필드에서 실질적으로 사용되지 않는 비트들이다. 또, 상기 비트들(B7, B6)은 시작 정보(START)를 나타내고, 상기 비트들(B5∼B2)은 기입 명령(WRITE)을 나타낸다.
여기에서, 상기 이동형 저장 장치(400)가 최대 8비트의 데이터 버스 폭을 갖는 것으로 가정하면, 상기 최하위 2비트(B1, B0)의 값이 "00", "01", "10"인 경우 각각 1비트, 4비트, 8비트의 데이터 버스 폭을 나타낼 수 있다. 여기에서, 상기 데이터 버스 폭 정보(BUS_IF)를 나타내는 상기 소정 비트들의 수는 필요에 따라 증가 또는 감소될 수 있다.
또, 상기 이동형 저장 장치(400)의 최대 데이터 버스 폭은 필요에 따라 증가 또는 감소될 수 있고, 상기 데이터 버스 폭 정보(BUS_IF)는 다양한 비트의 데이터 버스 폭을 나타낼 수 있다.
도 6b는 상기 데이터 요청 커맨드 패킷(CMD_PK2)의 커맨드 필드의 일예를 나타낸다. 도 6b와 같이, 상기 데이터 요청 커맨드 패킷(CMD_PK2)의 상기 커맨드 필드는 소정의 비트들을 포함한다. 도 6b에 도시된 커맨드 필드의 구성은 도 6a에 도시된 커맨드 필드의 구성과 동일하므로 이에 대한 상세한 설명은 생략하기로 한다. 다만, 도 6b에 도시된 커맨드 필드의 비트들(B5∼B2)이 독출 명령(READ)을 나타낸다는 점에서 도 6a에 도시된 커맨드 필드와 구별된다.
또, 도 6c는 커맨드 필드의 다른 일예를 나타낸다. 도 6c에서, 커맨드 필드는 소정의 비트들을 포함한다. 도 6c에서는 상기 커맨드 필드가 B7∼B0의 8비트를 포함하는 것이 예로서 도시된다. 여기에서, 상기 커맨드 필드의 비트수는 필요에 따라 증가 또는 감소될 수 있다. 상기 커맨드 필드의 비트들(B7, B6)은 시작 정보(START)를 나타내고, 상기 비트들(B5∼B0)은 상기 데이터 버스 폭 정보(BUS_IF)를 포함하는 기입 명령(WRITE) 또는 독출 명령(READ)을 나타낸다. 이를 좀 더 상세히 설명하면 다음과 같다. 먼저, 상기 이동형 저장 장치(400)가 최대 8비트의 데이터 버스 폭을 갖고, 상기 비트들(B5∼B0)의 값이 '010000'일 때, 기입 명령(WRITE)을 나타내는 것으로 가정하자.
이 경우, 상기 비트들(B5∼B0)의 값이 '010001'일 때, 기입 명령(WRITE)과 1비트의 데이터 버스 폭을 나타낼 수 있다. 또, 상기 비트들(B5∼B0)의 값이 '010010'일 때, 기입 명령(WRITE)과 4비트의 데이터 버스 폭을 나타낼 수 있다. 또, 상기 비트들(B5∼B0)의 값이 '011000'일 때, 기입 명령(WRITE)과 8비트의 데이터 버스 폭을 나타낼 수 있다. 이와 같이, 사용되지 않는 특정 커맨드 코드를 사용하여 기입 명령(WRITE) 또는 독출 명령(READ)과 함께 데이터 버스 폭이 표현될 수 있다.
또, 상기 이동형 저장 장치(400)의 최대 데이터 버스 폭은 필요에 따라 증가 또는 감소될 수 있고, 상기 데이터 버스 폭 정보(BUS_IF)는 다양한 비트의 데이터 버스 폭을 나타낼 수 있다.
다시 도 5를 참고하면, 상기 제어부(440)는 데이터 라인(420)을 통하여 상기 데이터 버퍼(460)에 연결된다. 상기 데이터 라인(420)은 복수의 데이터 라인들(DL1∼DLN)을 포함한다.
상기 제어부(440)는 상기 데이터 버스 폭 정보(BUS_IF)에 응답하여 상기 복수의 데이터 라인들(DL1∼DLN) 중 일부 또는 전체를 선택하고, 그 선택된 데이터 라인을 통하여 데이터를 송신 또는 수신한다.
상기 제어부(440)는 상기 호스트(300)로부터 수신된 데이터를 상기 플레쉬 메모리(450)에 저장하거나 또는 상기 호스트(300)에서 요청된 데이터를 상기 플레쉬 메모리(450)로부터 독출한다.
상기 데이터 버퍼(460)는 상기 복수의 데이터 라인들(DL1∼DLN)을 통하여 상기 제어부(440)와 연결된다. 또, 상기 데이터 버퍼(460)는 상기 데이터 레지스터(470)에 연결되고, 상기 데이터 레지스터(470)는 상기 복수의 데이터 핀들(D1∼DN)에 연결된다. 상기 데이터 버퍼(460)는 상기 선택된 데이터 라인을 통하여 상기 제어부(440)로부터 독출 데이터를 수신하여 상기 데이터 레지스터(470)에 출력한다. 상기 데이터 레지스터(470)는 상기 독출 데이터를 상기 복수의 데이터 핀들(D1∼DN) 중 일부 또는 전체를 통하여 상기 호스트(300)에 전송한다.
또, 상기 데이터 레지스터(470)는 상기 호스트(300)로부터 상기 복수의 데이터 핀들(D1∼DN) 중 일부 또는 전체를 통하여 기입 데이터를 수신하여 상기 데이터 버퍼(460)에 출력한다. 상기 데이터 버퍼(460)는 상기 선택된 데이터 라인을 통하여 상기 기입 데이터를 상기 제어부(440)에 출력한다.
상기와 같이 구성된 이동형 저장 장치(400)의 데이터 버스 폭 설정 동작을 도 5 내지 도 7을 참고하여 설명한다. 도 7은 도 5에 도시된 이동형 저장 장치의 데이터 버스 폭 설정 과정을 나타내는 플로우차트이다.
도 7을 참고하면, 먼저, 이동형 저장 장치(400)가 호스트(300)에 접속된다(2001). 상기 호스트(300)는 데이터 버스 폭 정보(BUS_IF)를 포함하는 데이터 송신 커맨드 패킷(CMD_PK1) 또는 데이터 요청 커맨드 패킷(CMD_PK2)을 상기 이동형 저장 장치(400)에 전송한다. 상기 이동형 저장 장치(400)에서 커맨드 패킷 디코더(430)의 패킷 수신부(431)는 커맨드 라인(410)을 통하여 상기 데이터 송신 커맨드 패킷(CMD_PK1) 또는 상기 데이터 요청 커맨드 패킷(CMD_PK2)을 수신한다(2002). 이 후, 상기 패킷 수신부(431)는 수신된 상기 데이터 송신 커맨드 패킷(CMD_PK1) 또는 상기 데이터 요청 커맨드 패킷(CMD_PK2)을 커맨드 필드(CMD_FD)와 아규먼트 필드(ARG_FD)로 분리한다(2003).
상기 커맨드 패킷 디코더(430)의 커맨드 및 버스 정보 디코더(432)는 상기 커맨드 필드(CMD_FD)를 디코딩하여 기입 명령(WRITE) 또는 독출 명령(READ)과 데이터 버스 폭 정보(BUS_IF)를 출력한다(2004). 또, 상기 커맨드 패킷 디코더(230)의 아규먼트 필드 디코더(233)는 상기 아규먼트 필드(ARG_FD)를 디코딩하여 어드레스 정보(ADD)를 출력한다.
상기 이동형 저장 장치(400)의 제어부(440)는 상기 데이터 버스 폭 정보(BUS_IF)에 응답하여 복수의 데이터 라인들(DL1∼DLN) 중 일부 또는 전체를 선택한다(2005). 이 후, 상기 제어부(440)는 선택된 데이터 라인을 통하여 데이터를 수신 또는 송신한다(2006). 추가의 데이터 송신 또는 요청 커맨드 패킷(CMD_PK1 또는 CMD_PK2)이 존재하는지의 여부를 판단하고(2007), 추가의 데이터 송신 커맨드 패킷(CMD_PK1) 또는 데이터 요청 커맨드 패킷(CMD_PK2)이 있는 경우, 이를 수신하고 상기 단계(2003)로 리턴한다(2008).
상기와 같이, 본 발명에 따른 이동형 저장 장치는 데이터의 수신 또는 송신 동작시 호스트로부터 데이터 버스 폭 정보를 함께 수신하므로, 데이터 버스 폭을 미리 설정하는 과정이 필요 없다. 또, 본 발명에 따른 이동형 저장 장치는 데이터 버스 폭을 미리 설정할 필요가 없기 때문에 데이터 버스 폭이 자유롭게 변경될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상기한 것과 같이, 본 발명의 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및 이에 대한 데이터 버스 폭 설정 방법에 의하면, 데이터 버스 폭을 미리 설정하지 않고 필요에 따라 자유롭게 변경할 수 있는 효과가 있다.
도 1은 종래 기술에 따른 이동형 저장 장치와 호스트를 나타내는 블록도이다.
도 2는 본 발명의 제1 실시예에 따른 데이터 버스 폭 변경이 자유로운 이동형 저장 장치와 호스트를 나타내는 블록도이다.
도 3a는 도 2에 도시된 호스트가 이동형 저장 장치로 전송하는 데이터 송신 커맨드 패킷의 일예를 나타내는 도면이다.
도 3b는 도 3a에 도시된 아규먼트 필드를 좀 더 상세히 나타내는 도면이다.
도 4는 도 2에 도시된 이동형 저장 장치의 데이터 버스 폭 설정 과정을 나타내는 플로우차트이다.
도 5는 본 발명의 제2 실시예에 따른 데이터 버스 폭 변경이 자유로운 이동형 저장 장치와 호스트를 나타내는 블록도이다.
도 6a 내지 도 6c는 도 5에 도시된 호스트가 이동형 저장 장치로 전송하는 데이터 송신 및 데이터 요청 커맨드 패킷에 포함되는 커맨드 필드의 일예를 나타내는 도면이다.
도 7은 도 5에 도시된 이동형 저장 장치의 데이터 버스 폭 설정 과정을 나타내는 플로우차트이다.

Claims (11)

  1. 호스트에 접속되는 적어도 하나의 커맨드 라인과 복수의 데이터 라인들을 구비하는 이동형 저장 장치에 있어서,
    데이터를 저장하는 적어도 하나 이상의 비휘발성 메모리;
    상기 커맨드 라인을 통하여 커맨드 패킷들을 수신하고, 상기 커맨드 패킷들을 디코딩하여 커맨드 정보들을 출력하는 커맨드 패킷 디코더; 및
    상기 커맨드 정보들에 응답하여 해당 제어 동작을 수행하는 제어부를 구비하고,
    상기 커맨드 패킷 디코더는 상기 커맨드 패킷들 중 데이터 송신 커맨드 패킷 또는 데이터 요청 커맨드 패킷을 수신하고, 기입 또는 독출 명령, 어드레스 정보, 및 데이터 버스 폭 정보를 출력하고,
    상기 제어부는 상기 데이터 버스 폭 정보에 응답하여 상기 복수의 데이터 라인들 중 일부 또는 전체를 선택하고, 선택된 상기 데이터 라인을 통하여 상기 데이터를 수신 또는 송신하고, 상기 기입 명령 또는 독출 명령과 상기 어드레스 정보에 응답하여 상기 비휘발성 메모리의 데이터 기입 또는 독출을 제어하는 것을 특징으로 하는 데이터 버스 폭 변경이 자유로운 이동형 저장 장치.
  2. 제1항에 있어서, 상기 커맨드 패킷 디코더는,
    상기 데이터 송신 커맨드 패킷 또는 상기 데이터 요청 커맨드 패킷을 수신하여, 커맨드 필드와 아규먼트 필드로 분리하는 패킷 수신부;
    상기 커맨드 필드를 디코딩하여 상기 기입 명령 또는 상기 독출 명령을 출력하는 커맨드 필드 디코더; 및
    상기 아규먼트 필드를 디코딩하여 상기 어드레스 정보와 상기 데이터 버스 폭 정보를 출력하는 아규먼트 및 버스 정보 디코더를 구비하는 것을 특징으로 하는 데이터 버스 폭 변경이 자유로운 이동형 저장 장치.
  3. 제2항에 있어서,
    상기 아규먼트 필드는 복수의 비트들을 포함하고,
    상기 복수의 비트들 중 일부 비트들은 상기 데이터 버스 폭 정보를 나타내고,
    상기 제어부는 상기 일부 비트들의 값이 변경될 때 선택되는 상기 데이터 라인의 수를 증가 또는 감소시키는 것을 특징으로 하는 데이터 버스 폭 변경이 자유로운 이동형 저장 장치.
  4. 제1항에 있어서, 상기 커맨드 패킷 디코더는,
    상기 데이터 송신 커맨드 패킷 또는 상기 데이터 요청 커맨드 패킷을 수신하여, 커맨드 필드와 아규먼트 필드로 분리하는 패킷 수신부;
    상기 커맨드 필드를 디코딩하여 상기 기입 명령 또는 상기 독출 명령과 상기 데이터 버스 폭 정보를 출력하는 커맨드 및 버스 정보 디코더; 및
    상기 아규먼트 필드를 디코딩하여 상기 어드레스 정보를 출력하는 아규먼트 필드 디코더를 구비하는 것을 특징으로 하는 데이터 버스 폭 변경이 자유로운 이동형 저장 장치.
  5. 제4항에 있어서,
    상기 커맨드 필드는 복수의 비트들을 포함하고,
    상기 복수의 비트들 중 일부 비트들은 상기 데이터 버스 폭 정보를 나타내고,
    상기 제어부는 상기 일부 비트들의 값이 변경될 때 선택되는 상기 데이터 라인의 수를 증가 또는 감소시키는 것을 특징으로 하는 데이터 버스 폭 변경이 자유로운 이동형 저장 장치.
  6. 제4항에 있어서,
    상기 커맨드 필드는 복수의 비트들을 포함하고,
    상기 복수의 비트들은 상기 데이터 버스 폭 정보를 포함하는 상기 기입 명령 또는 상기 독출 명령을 나타내고,
    상기 제어부는 상기 복수의 비트들의 값이 변경될 때 선택되는 상기 데이터 라인의 수를 증가 또는 감소시키는 것을 특징으로 하는 데이터 버스 폭 변경이 자유로운 이동형 저장 장치.
  7. 호스트에 접속되는 커맨드 라인과 복수의 데이터 라인들, 상기 커맨드 라인을 통하여 데이터 송신 커맨드 패킷 또는 데이터 요청 커맨드 패킷을 수신하고, 기입 또는 독출 명령, 어드레스 정보, 및 데이터 버스 폭 정보를 출력하는 커맨드 패킷 디코더, 및 상기 데이터 버스 폭 정보에 응답하여 상기 복수의 데이터 라인들 중 일부 또는 전체를 선택하고, 선택된 데이터 라인을 통하여 데이터를 수신 또는 송신하는 제어부를 구비하는 이동형 저장 장치의 데이터 버스 폭 설정방법에 있어서,
    (a) 상기 호스트에 상기 이동형 저장 장치가 접속되는 단계;
    (b) 상기 호스트로부터 상기 데이터 버스 폭 정보를 포함하는 상기 데이터 송신 커맨드 패킷 또는 상기 데이터 요청 커맨드 패킷을 수신하는 단계;
    (c) 수신된 상기 데이터 송신 커맨드 패킷 또는 상기 데이터 요청 커맨드 패킷을 커맨드 필드와 아규먼트 필드로 분리하는 단계;
    (d) 상기 아규먼트 필드를 디코딩하여 상기 데이터 버스 폭 정보를 출력하는 단계;
    (e) 상기 데이터 버스 폭 정보에 응답하여 상기 복수의 데이터 라인들 중 일부 또는 전체를 선택하고, 선택된 상기 데이터 라인을 통하여 데이터를 수신 또는 송신하는 단계;
    (f) 추가의 데이터 송신 커맨드 패킷 또는 데이터 요청 커맨드 패킷이 수신되면, 상기 (c) 단계로 리턴하는 단계를 포함하는 것을 특징으로 하는 데이터 버스 폭 변경이 자유로운 이동형 저장 장치의 데이터 버스 폭 설정방법.
  8. 제6항에 있어서,
    상기 아규먼트 필드는 복수의 비트들을 포함하고,
    상기 복수의 비트들 중 일부 비트들은 상기 데이터 버스 폭 정보를 나타내고,
    상기 일부 비트들의 값이 변경될 때, 상기 (e) 단계에서 선택되는 상기 데이터 라인의 수가 증가 또는 감소되는 것을 특징으로 하는 데이터 버스 폭 변경이 자유로운 이동형 저장 장치의 데이터 버스 폭 설정방법.
  9. 호스트에 접속되는 커맨드 라인과 복수의 데이터 라인들, 상기 커맨드 라인을 통하여 데이터 송신 커맨드 패킷 또는 데이터 요청 커맨드 패킷을 수신하고, 기입 또는 독출 명령, 어드레스 정보, 및 데이터 버스 폭 정보를 출력하는 커맨드 패킷 디코더, 및 상기 데이터 버스 폭 정보에 응답하여 상기 복수의 데이터 라인들 중 일부 또는 전체를 선택하고, 선택된 데이터 라인을 통하여 데이터를 수신 또는 송신하는 제어부를 구비하는 이동형 저장 장치의 데이터 버스 폭 설정방법에 있어서,
    (a) 상기 호스트에 상기 이동형 저장 장치가 접속되는 단계;
    (b) 상기 호스트로부터 상기 데이터 버스 폭 정보를 포함하는 상기 데이터 송신 커맨드 패킷 또는 상기 데이터 요청 커맨드 패킷을 수신하는 단계;
    (c) 수신된 상기 데이터 송신 커맨드 패킷 또는 상기 데이터 요청 커맨드 패킷을 커맨드 필드와 아규먼트 필드로 분리하는 단계;
    (d) 상기 커맨드 필드를 디코딩하여 상기 데이터 버스 폭 정보를 출력하는 단계;
    (e) 상기 데이터 버스 폭 정보에 응답하여 상기 복수의 데이터 라인들 중 일부 또는 전체를 선택하고, 선택된 데이터 라인을 통하여 데이터를 수신 또는 송신하는 단계;
    (f) 추가의 데이터 송신 커맨드 패킷 또는 데이터 요청 커맨드 패킷이 수신되면, 상기 (c) 단계로 리턴하는 단계를 포함하는 것을 특징으로 하는 데이터 버스 폭 변경이 자유로운 이동형 저장 장치의 데이터 버스 폭 설정방법.
  10. 제9항에 있어서,
    상기 커맨드 필드는 복수의 비트들을 포함하고,
    상기 복수의 비트들 중 일부 비트들은 상기 데이터 버스 폭 정보를 나타내고,
    상기 일부 비트들의 값이 변경될 때, 상기 (e) 단계에서 선택되는 상기 데이터 라인의 수가 증가 또는 감소되는 것을 특징으로 하는 데이터 버스 폭 변경이 자유로운 이동형 저장 장치의 데이터 버스 폭 설정방법.
  11. 제9항에 있어서,
    상기 커맨드 필드는 복수의 비트들을 포함하고,
    상기 복수의 비트들은 상기 데이터 버스 폭 정보를 포함하는 상기 기입 명령 또는 상기 독출 명령을 나타내고,
    상기 복수의 비트들의 값이 변경될 때, 상기 (e) 단계에서 선택되는 상기 데이터 라인의 수가 증가 또는 감소되는 것을 특징으로 하는 데이터 버스 폭 변경이 자유로운 이동형 저장 장치의 데이터 버스 폭 설정방법.
KR10-2003-0040482A 2003-06-21 2003-06-21 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및이에 대한 데이터 버스 폭 설정 방법 KR100475125B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR10-2003-0040482A KR100475125B1 (ko) 2003-06-21 2003-06-21 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및이에 대한 데이터 버스 폭 설정 방법
TW093116637A TWI261176B (en) 2003-06-21 2004-06-10 Portable storage apparatus and method for freely changing data BUS width
US10/866,602 US7234031B2 (en) 2003-06-21 2004-06-12 Portable storage apparatus and method for freely changing data bus width
JP2004182874A JP4579589B2 (ja) 2003-06-21 2004-06-21 データバス幅を自在に変更する携帯用保存装置及び方法
US11/744,683 US7363441B2 (en) 2003-06-21 2007-05-04 Portable storage apparatus and method for freely changing data bus width

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0040482A KR100475125B1 (ko) 2003-06-21 2003-06-21 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및이에 대한 데이터 버스 폭 설정 방법

Publications (2)

Publication Number Publication Date
KR20040110925A KR20040110925A (ko) 2004-12-31
KR100475125B1 true KR100475125B1 (ko) 2005-03-14

Family

ID=33562863

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0040482A KR100475125B1 (ko) 2003-06-21 2003-06-21 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및이에 대한 데이터 버스 폭 설정 방법

Country Status (4)

Country Link
US (2) US7234031B2 (ko)
JP (1) JP4579589B2 (ko)
KR (1) KR100475125B1 (ko)
TW (1) TWI261176B (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007034540A (ja) * 2005-07-26 2007-02-08 Renesas Technology Corp 情報処理システム
JP2007053691A (ja) * 2005-08-19 2007-03-01 Micron Technol Inc サブlsbを用いた拡張デジタルデータ路構造
KR100805836B1 (ko) * 2006-07-26 2008-02-21 삼성전자주식회사 버스 폭 설정 장치, 디스플레이 장치 그리고 버스 폭 설정방법
US7624211B2 (en) * 2007-06-27 2009-11-24 Micron Technology, Inc. Method for bus width negotiation of data storage devices
US9135168B2 (en) 2010-07-07 2015-09-15 Marvell World Trade Ltd. Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error
US9141538B2 (en) 2010-07-07 2015-09-22 Marvell World Trade Ltd. Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive
US8868852B2 (en) * 2010-07-07 2014-10-21 Marvell World Trade Ltd. Interface management control systems and methods for non-volatile semiconductor memory
TWI486965B (zh) * 2012-10-03 2015-06-01 Pixart Imaging Inc 使用於存取裝置與控制裝置之間之一傳輸埠的通訊方法以及存取裝置
US9513803B2 (en) * 2012-12-21 2016-12-06 Intel Corporation Tagging in a storage device
EP2973571B1 (en) 2013-03-15 2020-04-22 Intel Corporation A memory system
WO2014209399A1 (en) * 2013-06-28 2014-12-31 Hewlett-Packard Development Company, L.P. Memory component capable to communicate at multiple data widths
US10163508B2 (en) 2016-02-26 2018-12-25 Intel Corporation Supporting multiple memory types in a memory slot
KR101957159B1 (ko) * 2017-04-21 2019-03-13 코나아이 (주) 보안 요소를 이용한 통신 방법 및 이를 수행하는 장치
US10489056B2 (en) * 2017-11-09 2019-11-26 Nvidia Corporation Queue manager for streaming multiprocessor systems
US11132233B2 (en) * 2018-05-07 2021-09-28 Micron Technology, Inc. Thread priority management in a multi-threaded, self-scheduling processor
US11586383B2 (en) * 2018-10-16 2023-02-21 Micron Technology, Inc. Command block management

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6184763A (ja) * 1984-10-01 1986-04-30 Nippon Telegr & Teleph Corp <Ntt> バス幅切替え方式
JPH0769798B2 (ja) * 1987-07-15 1995-07-31 日本電気株式会社 キュー装置
JPH02163828A (ja) * 1988-12-16 1990-06-25 Mitsubishi Electric Corp データ処理装置
JPH02245978A (ja) * 1989-03-20 1990-10-01 Fujitsu Ltd 画像処理装置
JPH0311448A (ja) * 1989-06-09 1991-01-18 Hitachi Ltd ダイレクトメモリアクセス制御方式
JPH0365745A (ja) 1989-08-03 1991-03-20 Mitsubishi Electric Corp Icカード
JPH0398145A (ja) * 1989-09-11 1991-04-23 Hitachi Ltd マイクロプロセッサ
JPH03216776A (ja) * 1990-01-22 1991-09-24 Mitsubishi Electric Corp 集積回路装置及びそれにより構成されたマイクロプロセッサ
JP2505298B2 (ja) 1990-03-02 1996-06-05 富士通株式会社 スプリットバスにおける可変バス幅指定方式及び可変バス幅情報受信方式
JPH04194897A (ja) * 1990-11-22 1992-07-14 Tokyo Electric Co Ltd メモリ制御装置のデータ処理方式
JP2718292B2 (ja) * 1991-07-24 1998-02-25 日本電気株式会社 マイクロプロセッサ
JPH0619785A (ja) * 1992-03-27 1994-01-28 Matsushita Electric Ind Co Ltd 分散共有仮想メモリーとその構成方法
US5392422A (en) * 1992-06-26 1995-02-21 Sun Microsystems, Inc. Source synchronized metastable free bus
JPH06111010A (ja) * 1992-09-29 1994-04-22 Ricoh Co Ltd Dram及びコントローラ
JP3904244B2 (ja) * 1993-09-17 2007-04-11 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
JP3060812B2 (ja) * 1993-12-27 2000-07-10 日本電気株式会社 情報処理装置
US6226736B1 (en) * 1997-03-10 2001-05-01 Philips Semiconductors, Inc. Microprocessor configuration arrangement for selecting an external bus width
US6101567A (en) * 1998-06-03 2000-08-08 Lucent Technologies Inc. Parallel backplane physical layer interface with scalable data bandwidth
US6594698B1 (en) * 1998-09-25 2003-07-15 Ncr Corporation Protocol for dynamic binding of shared resources
JP2001067303A (ja) 1999-08-24 2001-03-16 Toshiba Corp カード利用装置及び同装置におけるカード利用方法
JP3736729B2 (ja) * 1999-12-07 2006-01-18 セイコーエプソン株式会社 プリンタおよびプリンタ内でのデータ通信方法
JP2001202326A (ja) * 2000-01-21 2001-07-27 Mitsubishi Electric Corp ダイナミックバスサイジングにおける高速ブロック転送回路
JP4649009B2 (ja) 2000-03-08 2011-03-09 株式会社東芝 カードインタフェースを備えた情報処理装置、同装置に装着可能なカード型電子機器、及び同装置におけ動作モード設定方法
US6820148B1 (en) * 2000-08-17 2004-11-16 Sandisk Corporation Multiple removable non-volatile memory cards serially communicating with a host
JP2003015968A (ja) * 2001-06-29 2003-01-17 Fujitsu Ltd バスシミュレータ
JP3813849B2 (ja) * 2001-09-14 2006-08-23 株式会社東芝 カード装置

Also Published As

Publication number Publication date
JP2005044343A (ja) 2005-02-17
TW200511028A (en) 2005-03-16
US7363441B2 (en) 2008-04-22
KR20040110925A (ko) 2004-12-31
TWI261176B (en) 2006-09-01
US7234031B2 (en) 2007-06-19
US20050010710A1 (en) 2005-01-13
JP4579589B2 (ja) 2010-11-10
US20070288703A1 (en) 2007-12-13

Similar Documents

Publication Publication Date Title
US7363441B2 (en) Portable storage apparatus and method for freely changing data bus width
US7374108B2 (en) Write protection and use of erase tags in a single host multiple cards system
US7711865B2 (en) Multi-standard protocol storage devices
US6851018B2 (en) Exchanging operation parameters between a data storage device and a controller
US7130958B2 (en) Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes
US9235546B2 (en) System and method for data read of a synchronous serial interface NAND
US20030145141A1 (en) Universal serial bus flash memory integrated circuit device
US11422717B2 (en) Memory addressing methods and associated controller, memory device and host
KR100866625B1 (ko) Mmc 또는 sd 프로토콜을 사용하는 다수의 메모리장치들을 인터페이스하는 방법 및 시스템
KR20160018987A (ko) 인터페이스 회로 및 그것의 패킷 전송 방법
US20140214434A1 (en) Method for processing sound data and circuit therefor
US6272570B1 (en) IC memory card
US7376810B2 (en) Integrated device with multiple reading and/or writing commands
JP2013175014A (ja) アドレスバイト数判定装置、アドレスバイト数判定方法、プログラムおよび半導体装置
US20110161750A1 (en) Pre-Code Device, and Pre-Code System and Pre-Coding Method Thereof
KR20020093523A (ko) 프로그램 다운로드 시스템 및 그 다운로드 방법

Legal Events

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

Payment date: 20080201

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee