KR100825535B1 - 다수의 메모리 장치들을 이용하는 휴대용 데이터 저장 장치 - Google Patents

다수의 메모리 장치들을 이용하는 휴대용 데이터 저장 장치 Download PDF

Info

Publication number
KR100825535B1
KR100825535B1 KR1020067015074A KR20067015074A KR100825535B1 KR 100825535 B1 KR100825535 B1 KR 100825535B1 KR 1020067015074 A KR1020067015074 A KR 1020067015074A KR 20067015074 A KR20067015074 A KR 20067015074A KR 100825535 B1 KR100825535 B1 KR 100825535B1
Authority
KR
South Korea
Prior art keywords
data
memory devices
flash memory
nand flash
interface
Prior art date
Application number
KR1020067015074A
Other languages
English (en)
Other versions
KR20060130141A (ko
Inventor
헨리 탄
레이 추안 림
텡 핀 푸
Original Assignee
트렉 2000 인터네셔널 엘티디.
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 트렉 2000 인터네셔널 엘티디. filed Critical 트렉 2000 인터네셔널 엘티디.
Priority to KR1020067015074A priority Critical patent/KR100825535B1/ko
Publication of KR20060130141A publication Critical patent/KR20060130141A/ko
Application granted granted Critical
Publication of KR100825535B1 publication Critical patent/KR100825535B1/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/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

휴대용 데이터 저장 장치는 USB 인터페이스(3), USB 제어기(2), 마스터 제어부(MCU; 7), 및 두 개 이상의 NAND 플래시 메모리 장치들(9, 19)을 포함한다. MCU(7)는 병렬의 개별적인 8-비트 버스들을 통해 NAND 플래시 메모리 장치들(9, 19)로 동시에 데이터를 전송할 수 있다. MCU(7)는 개별적인 제어 신호 라인들(6, 16)을 통해 그들에 대해 동일한 제어 데이터를 전송하는 것에 의해 메모리 장치들(9, 19)의 동작을 제어한다. 데이터가 저장될 때는, 그것은 부분들로 분할되어 개별적인 메모리 장치들(9, 19)로 전송되고, 메모리 장치들 모두는 동시에 데이터를 저장하도록 지시받는다. 데이터가 검색될 때는, 양자 모두는 동시에 MCU로 데이터를 다시 라이트하도록 지시받는다.
Figure R1020067015074
인터페이스, 데이터 패킷, NAND 플래시 메모리, 캐시 메모리

Description

다수의 메모리 장치들을 이용하는 휴대용 데이터 저장 장치 {PORTABLE DATA STORAGE DEVICE USING MULTIPLE MEMORY DEVICES}
본 발명은 휴대용 데이터 저장 장치들과, 그에 라이트된 데이터를 저장 및 검색하는 데에 그 장치들을 이용하는 방법에 관한 것이다.
지난 수 년 동안, 플래시 메모리 장치를 포함하고 컴퓨터의 직렬 버스(serial bus)에 접속될 수 있는 데이터 저장 장치를 제공하는 것이 많은 관심을 끌어왔다. 이 분야의 주요 문서는 WO01/61692 이고, 이것은 무역시장 "썸드라이브(Thumbdrive)" 하에서 그 후 거래되는 장치를 설명한다. 이 문서에서 설명된 실시형태들 중 하나에 있어서, 장치의 하우징에 필수적인 수USB(male USB) 플러그가 컴퓨터의 암USB(female USB) 소켓에 직접 접속되므로, USB 제어기의 제어 하에서 컴퓨터가 휴대용 저장 장치의 플래시 메모리 장치로 또는 그로부터 데이터를 송신할 수 있다. 이 장치에 대해 다양한 개선점들이 제안되어 왔다. 예를 들어, WO03/003282 에는 지문 센서를 구비하는 장치와, 그 장치 내에 저장된 데이터에 대한 액세스는 지문 센서가 사용자의 스캐닝된 지문을 미리 저장된 데이터와 비교하 는 것에 의해 사용자 신원을 확증하는 경우에만 허용된다는 것에 대해 개시되어 있다. 이러한 양 문서들의 개시내용은 이하에서 참조로서 포함한다.
그러한 휴대용 저장 장치의 구조가 도 1 에 도시되어 있다. 휴대용 저장 장치는 하우징 라벨(1) 내에 있다. 그것은 호스트 컴퓨터(5)의 직렬 버스(4; 즉, USB 소켓)에 직접 접속되는 USB 인터페이스(3; 즉, USB 플러그)을 제어하는 USB 제어기(2)를 포함한다. 호스트 컴퓨터(5)로부터 USB 인터페이스(3)로 전송된 데이터는 USB 제어기(2)를 통과하여 마스터 제어부(MCU; 7)로 전달된다. 데이터 패킷들은 512바이트의 배가 되는 크기를 갖는다. MCU(7)는 이러한 데이터 패킷들을 8-비트 버스(8)를 경유하여 NAND 플래시 메모리 장치(9)로 전달한다. MCU(7)는 (6)에서 개략적으로 보여지는 것와 같은 하나 이상의 라인들을 통해 전달되는 제어 신호에 의해 NAND 플래시 메모리 장치(9)를 제어한다. 일반적으로 이러한 라인들(6)은 커맨드(라이트 인에이블 신호 또는 리드 인에이블 커맨드) 버스(8)를 이용하여 플래시 메모리 장치(9)에 라이트되거나 또는 짧게 라이트될 "커맨드 래치 인에이블"(CLE) 신호를 전달하는 라인, 버스가 버스(8)를 경유하여 플래시 메모리 장치(9)로 메모리 장치(9) 내의 위치를 나타내는 물리적 어드레스 데이터를 현재 송신하거나 또는 짧게 송신할 것을 나타내는 어드레스 래치 인에이블(ALE) 신호를 전달하는 라인, 및 일단 작동하기 위해 플래시 메모리 장치에 대해 일정한 가치를 두어야 하는 칩 인에이블 신호를 전송하는 라인을 포함한다. NAND 플래시 메모리 장치(9)는 각각의 "윈도우"에 512바이트 구획의 데이터를 저장하도록 구성되고, 그 각각은 또한 정확한 저장을 확증하는 데이터를 저장하는 (예를 들어, 10바이트의) 섹터(즉, 섹터는 다소 체크-비트 처럼 작동한다)를 포함한다. 데이터가 장치로부터 전송되어 나올 때, 그것은 NAND 플래시 메모리 장치(9)로부터, 8-비트 버스(8)를 통과하여, MCU(7)로 512 바이트 패킷으로 전달된다. MCU(7)는 512 바이트 패킷을 USB 제어기(2)로 전송하고, 그것은 장치(1)로부터 나와서 USB 인터페이스(3)를 통과하여 호스트(5)로 전송된다.
도 2 는 공지된 메모리 장치의 두번째 가능한 형태를 나타낸다. 도 1에서와 동일한 의미를 갖는 요소들은 동일한 참조 번호로 분류되어 있다. 도 1의 장치와 대조적으로, 도 2의 장치는 동일한 버스(8)에 접속된 제 2 NAND 플래시 메모리 장치(19)를 포함한다. 마스터 제어부는 한 세트의 제어 라인(16)을 이용하여 제 2 메모리 장치(19)를 제어한다. 실제적으로, 제어 신호를 전송하는 MCU(7)의 핀(pin)들 중 몇몇이 라인들(6) 중 하나 및 라인들(16) 중 하나의 양자 모두에 접속될 수도 있으므로, 핀은 동시에 메모리 장치들(9, 19) 모두에 동일한 제어 신호를 전송하지만, 적어도 칩 인에이블 신호는 메모리 장치들 모두에 동시에 전송되지 않는다. 특히, 마스터 제어부에서 메모리 장치로 데이터를 라이트하려고 하는 경우, 칩 인에이블 신호를 전송하는 것에 의해 메모리 장치들(9, 19) 중 하나 만을 인에이블한다. 칩 인에이블 신호가 그 메모리 장치로 전달되는 동안, 우선 라인들(6) 중 적당한 것을 경유하여 메모리 장치로 CLE 신호를 전송하고, 동시에 버스(8) 상에서 라이트 인에이블 커맨드(칩 연산신호)를 전송한다. 그 후에, 칩 인에이블 신호가 여전히 그 메모리 장치로 전송되는 동안, 라인들(6) 중 적당한 것을 경유하여 ALE 신호를 전송하고, 동시에 버스(8)를 경유하여 어드레스 데이터를 전 송한다. 그리고 나서, 칩 인에이블 신호가 여전히 그 메모리 장치로 전송되는 동안, 마스터 제어부는 버스(8)를 이용하여 그곳에 저장될 데이터를 메모리 장치로 전송한다. 칩 모두 저장될 데이터를 수신하고, 선택적으로는 CLE 및 ALE 신호도 또한 수신할 수도 있다고 하더라도, 칩 인에이블 신호에 의해 인에이블되는 메모리 장치(9, 19)만이 어드레스 데이터에 의해 지시되는 위치에 데이터를 저장한다.
유사하게, 메모리 제어부가 데이터를 리드하려고 하는 경우, 라인들(6) 또는 라인들(16) 중 대응하는 것을 이용하여 메모리 장치들(9, 19) 중 하나 만을 인에이블 함으로써 그것에 칩 인에이블 신호를 전송한다. 칩 인에이블 신호가 전송되는 동안, 마스터 제어부는 라인들(6) 또는 라인들(16) 중 하나를 이용하여 그 메모리 장치로 CLE 신호를 전송하고, 동시에 버스(8)를 이용하여 그 메모리 장치로 리드 인에이블 명령(즉, 리드 연산신호)을 전송한다. 그 후에, 칩 인에이블 신호가 전송되는 동안, 마스터 제어부는 라인들(6) 또는 라인들(16) 중 적당한 것을 이용하여 그 메모리 장치로 ALE 신호를 전송하고, 동시에 버스(8)를 이용하여 그 메모리 장치로 어드레스 데이터를 전송한다. 이에 응하는 플래시 메모리 장치(19)는 버스(8)에 데이터를 라이트한다.
"리드 명령" 이라는 용어는 본 문서에서 메모리 장치가 데이터를 송신하도록 야기하는 칩 인에이블 신호와 동시에 마스터 제어부에 의해 메모리 장치로 전송된 데이터를 의미한다. 따라서, 전술한 바와 같이, "리드 명령"은 우선 제어 라인 상에 전송된 CLE 제어 신호이고, 버스 상에 전송된 동시 리드 인에이블 명령이며; 그리고 그 후에는 제어 라인 상에 전송된 ALE 제어 신호이고, 버스 상에 전송된 동 시 어드레스 데이터이다.
"라이트 명령" 이라는 용어는 본 문서에서 메모리 장치가 데이터를 수신하고 저장하도록 구성되게 하는 칩 인에이블 신호와 동시에 마스터 제어부에 의해 메모리 장치로 전송된 데이터를 의미한다. 따라서, 전술한 바와 같이, "라이트 명령"은 우선 제어 라인 상에 전송된 CLE 제어 신호이고, 버스 상에 전송된 동시 라이트 인에이블 명령이며; 그리고 그 후에는 제어 라인 상에 전송된 ALE 제어 신호이고, 버스 상에 전송된 동시 어드레스 데이터이다.
전술한 상품화된 버전의 장치들(1)은 데이터 전송률이 15Mbits/s(즉, 1.2Mbytes/s)로 제한된 USB1.1 규격을 채택하고 있으나, 그 대신에 데이터 전송률이 480Mbits/s(즉, 40Mbytes/s)인 USB2.0 규격을 사용하는 것으로 산업계가 변화하고 있다. 이러한 새로운 장치들은 전술한 리드/라이트 기술을 이용한다.
본 발명은 새롭고 유용한 휴대용 데이터 저장 장치를 제공하는 것, 특히, 전술한 바와 같은 공지된 장치들보다 더 높은 데이터 전송률을 가지는 장치를 제공하는 것을 목적으로 한다.
본 발명의 발명자들은 USB1.0 보다 더 빠른 통신 규격이 채택되는 경우, 데이터 전송에 관한 병목지점이 USB 인터페이스로부터 데이터 저장 장치의 다른 위치로 이동할 수도 있다는 것을 알게 되었다. 특히, 병목지점은 NAND 플래시 메모리 장치에 대한 8-비트 버스 접속일 수도 있다.
이러한 문제점을 처리하기 위한 한 가지 방법으로는 메모리 장치를 2 칩 세트로서 구현하는 것이고, 여기서 데이터는 16-비트 버스를 통해 두 개의 NAND 플래시 메모리 장치로 동시에 라이트된다. 그러나, 이러한 해결책은 복잡하다.
일반적으로, 본 발명은 마스터 제어부가 병렬 버스 경로들을 통해 동시에 작동할 수 있도록 한, 둘 이상의 NAND 플래시 메모리 장치들로 그리고 그들로부터 동시에 데이터를 전송하는 것을 제안한다.
일반적인 실시예에서, 제어 신호를 전송하는 마스터 제어부의 하나 이상의(바람직하게는 모든) 핀들은 각각 두 개의 메모리 장치들에 개별적으로 이르도록 하는 두 개의 전도성 경로에 연결된다.
이것은 메모리 장치들 각각이 동일한 양의 데이터를 수신할 것이라는 것을 의미한다. 예를 들어, 만약 두 개의 메모리 장치들이 있다며, 각각은 저장을 위해 전송된 데이터의 절반을 수신할 것이다.
특히, 본 발명의 제 1 실시형태는:
장치 내부로 그리고 장치로부터 외부로 데이터를 송신하는 데이터 인터페이스,
인터페이스 제어기,
마스터 제어부, 및
개별적인 버스들을 통해 마스터 제어부로 그리고 그로부터 데이터를 전송하기 위해 연결된 둘 이상의 NAND 플래시 메모리 장치를 포함하는 휴대용 데이터 저장 장치를 제안하며,
인터페이스 제어기는 인터페이스를 통해 마스터 제어부로 데이터를 전송하도록 배열되고,
마스터 제어부는:
인터페이스 제어기로부터 수신된 데이터를 데이터 부분들로 분할하고;
데이터 부분들 중 상이한 것들을 개별적인 데이터 버스들을 이용하여 NAND 플래시 메모리 장치로 동시에 전송하도록; 그리고
버스들을 이용하여 데이터 부분들을 전송하는 동안 메모리 제어 장치가 NAND 플래시 메모리 장치들 모두로 적어도 칩 인에이블 신호들을 송신하며, NAND 플래시 메모리 장치들 모두로 전송되는 제어 신호들을 이용하여 NAND 플래시 메모리 장치들을 제어하도록 배열된다.
바람직하게는 NAND 플래시 메모리 장치로 전송된 모든 제어 신호들은 동일하다. 물론, 그들은 바람직하게는 마스터 제어부의 동일한 핀들에 의해 발생되며, 그러한 핀들 각각은 NAND 메모리 장치들 모두의 개별적인 제어 신호 입력부에 연결된다.
인터페이스는 바람직하게는 USB 인터페이스이고, 보다 바람직하게는 USB2.0 또는 그 이상이다. 그러나, 본 발명은 이러한 사항으로 제한되지 않고, 인터페이스는 파이어와이어 인터페이스(예를 들어, 파이어와이어 플러그)와 같은 또 다른 유형의 인터페이스일 수도 있다.
본 발명의 바람직한 형태는 이제 설명의 목적을 위해서만, 이하의 도면들을 참조하여 기술될 것이다.
도 1 은 공지된 휴대용 데이터 저장 장치의 제 1 형태를 나타낸다.
도 2 는 공지된 휴대용 데이터 저장 장치의 제 2 형태를 나타낸다.
도 3 은 본 발명의 일 실시예에 따른 휴대용 데이터 저장 장치의 형태를 나타낸다.
도 4 및 도 5 는 도 3의 실시예에 관한 동작의 흐름도이다.
도 3을 참조하면, 본 발명의 실시예인 휴대용 데이터 저장 장치의 구조를 보여주고 있다. 도 1 및 2 의 공지된 장치들에 대응되는 그 실시예의 구성요소는 동일한 각각의 참조 번호들로 지시된다.
도 1 및 2 의 공지된 장치들에서와 같이, 도 3 의 데이터 저장 장치는 호스트 컴퓨터(5)의 USB 인터페이스(4)로의 접속을 위한 USB 인터페이스(3)를 포함하고 있는 하우징(1)을 포함한다. 일반적으로, USB 인터페이스(3)는 USB 소켓인 USB 인터페이스(4)와 직접적으로 접속된 수USB 플러그이다. 그러나, 다른 가능한 실시예에서는 인터페이스들(3, 4) 사이에 케이블이 제공될 수도 있다. 또한, 도 3 의 실시예의 USB 인터페이스들(3, 4)은 파이어와이어 인터페이스와 같은 다른 데이터 인터페이스들로 대체될 수도 있다.
USB 인터페이스(3)는 USB 제어기(2)에 의해 제어된다. 바람직하게는, USB 제어기(2) 및 인터페이스들(3, 4)은 USB2.0 과 같은 적어도 480Mbits/s의 데이터 전송률의 USB 규격에 따라 동작한다. 바람직하게는, 휴대용 데이터 저장 장치는 인터페이스들(3, 4)을 통해 호스트로부터 빼낸 전력에 의해 전력이 공급된다.
USB 제어기(2)는 인터페이스(3)로부터 수신된 데이터를 MCU(7)로 전달하고, 그것은 일반적으로 여기서 핀들로서 언급되는 전기적 콘택들을 갖는 단일 집적 회로 패키지에 의해 구현된다. MCU(7)는 16 출력 핀들을 통해 데이터를 출력한다. 출력 핀들 중 여덟은 첫 번째 8-비트 버스(8)에 접속된다. 버스들(8, 18)은 각각 두 개의 8-비트 NAND 플래시 메모리 장치들(9, 19)에 접속된다.
MCU(7)는 NAND 메모리 장치(9)의 제어 신호 입력 핀들에 접속된 제어 라인들(6) 및 NAND 메모리 장치(19)의 제어 신호 입력 핀들에 접속된 제어 라인들(16)을 통해 메모리 장치들(9, 19)을 제어한다.
마스터 제어부는 (ALE 제어 신호, 칩 인에이블 신호, 및 CLE 제어 신호와 같은) 제어 신호들을 생성하는 수 개의 핀들(11)을 가지며, 이러한 핀들은 라인들(6) 각각과 라인들(16) 각각에 접속된다. 따라서, 마스터 제어부는 두 개의 메모리 장치들(9, 19)과 동시에 동일한 제어 신호들을 송신한다.
USB 제어기(2) 는 일반적으로 인터페이스(3)를 통해 수신된 임의의 데이터를 512 바이트 크기의 패킷으로 MCU(7)에 전달한다. MCU(7)는 이 데이터를 256 바이트 크기의 데이터 패킷 부분들로 분할한다. 우선, MCU(7)의 제어 신호 핀들(11)은 CLE 및 칩 인에이블 제어 신호를 메모리 장치들 모두에 동시에 송신하고, 버스들(8, 18) 모두를 이용하여 라이트 인에이블 명령(즉, 라이트 연산 코드)을 메모리 장치들(9, 19) 모두에 전송한다. 그 후에, MCU(7)는 칩 인에이블 제어 신호 및 ALE 제어 신호를 두 개의 메모리 장치들(9, 19)에 동시에 송신하고, 버스(8, 18)를 이용하여 데이터가 라이트 되어야 할 메모리 장치들(9, 19) 내의 개별적인 물리적 어드레스들을 두 개의 메모리 장치들(9, 19)로 송신한다. 뒤이어, 그리고 MCU(7)가 여전히 칩 인에이블 제어 신호를 메모리 장치들(9, 19) 모두에 전송하고 있는 동안, MCU(7)는 버스(8, 18)를 이용하여 각각의 메모리 장치들(9, 19) 내의 어드레스에 라이트 될 데이터 패킷 부분들을 송신한다.
바람직하게는, MCU(7)가 USB 제어기(2)로부터 수신하는 패킷 내의 각 단어는 두 개의 바이트로 분할되고, 그 후 개별적인 버스들(8, 18)을 통해 두 개의 개별적인 메모리 장치들(9, 19)로 동시에 송신된다. 두 개의 바이트는 바람직하게는 개별적인 메모리 장치들(9, 19) 내에서 대응되는 어드레스에 저장된다. 이것은 메모리 장치들 모두가 바람직하게는 ALE 신호가 메모리 장치들(9, 19)이 그 어드레스 데이터를 인식하도록 구성되는 때에 버스들(8, 18)을 통해 MCU(7)로부터 동일한 어드레스 데이터를 전송받기 때문이다. 그러나, 물리적 어드레스들은 다를 수도 있어서, 예를 들어, 그들은 메모리 장치들의 동일한 "로우(row)"의 일부(플래시 전문용어로 "로우"(또는 "블록")은 "페이지들"의 한 세트인 바, 종래의 플래시 장치들에서는 주어진 로우의 모든 페이지들이 함께 삭제되어야 한다; 따라서, 메모리 장치 내의 물리적 어드레스는 종래에 로우를 가리키는 숫자로서, 뒤이어 "오프셋" 즉, 로우 내의 페이지들 중 특정한 하나를 가리키는 숫자로서 인코딩된다)이지만 그 로우 내에서의 동일한 "오프셋(offset)" 위치에 있다. 이러한 방식은 간단하 다는 이점이 있다. 그러나, 다른 실시예들에서, 512 바이트는 다른 방법들로 나누어질 수도 있다.
휴대용 저장 장치로부터 데이터를 검색하는 것이 바람직한 경우 (예를 들어, 인터페이스(3)를 통한 휴대용 저장 장치로의 제어 신호 입력에 응답하여), MCU(7)는 제어 신호 라인들(6) 중 적절한 하나 그리고 제어 신호 라인들(16) 중 적절한 하나를 이용하여 칩 인에이블 제어 신호들을 메모리 장치들 모두로 전송하고, 동시에 제어 신호 라인들(6) 중 적절한 하나 그리고 제어 신호 라인들(16) 중 적절한 하나를 이용하여 CLE 제어 신호들을 메모리 장치들 모두로 전송하며, 버스(8)를 이용하여 리드 인에이블 명령(즉, 리드 연산 코드)를 메모리 장치들 모두로 전송한다. 그 이후에, 그리고 칩 인에이블 코드가 여전히 두 개의 메모리 장치들로 전송되는 동안, MCU(7)는 제어 신호 라인들(6) 중 적절한 하나 그리고 제어 신호 라인들(16) 중 적절한 하나를 이용하여 ALE 제어 신호를 메모리 장치들(9, 19) 모두로 전송하고, 동시에 버스(8)를 이용하여 어드레스 데이터를 두 개의 메모리 장치들 모두로 전송한다. 이에 응답하여, 그리고 여전히 칩 인에이블 제어 신호들을 수신하는 동안, 메모리 장치들(9, 19)은 대응하는 데이터를 대응되는 버스(8, 18)로 송신한다. 따라서, MCU는 각 클록 사이클에서 16비트의 데이터를 수신한다. 그것은 이 데이터를 USB 제어기(2)를 통해 USB 인터페이스(3)로 송신하고, 그것은 이를 인터페이스(4) 상으로 송신한다.
도 3의 장치에 데이터를 저장하는 프로세스를 도 4에서 보여준다. 단계 1에서 인터페이스들(3, 4)은 데이터 패킷을 수신하고, 그것은 그들로부터 인터페이 스 제어기로 송신되며, 그 후 MCU(7)로 송신된다. 단계 2에서, MCU(7)는 워드-바이-워드(word-by-word)로 인터페이스 제어기로부터 수신된 데이터 패킷들을 각각이 저장될 단일 바이트의 데이터를 포함하는 데이터 패킷 부분들로 분할한다. 단계 3에서, MCU(7)는 칩 인에이블 제어 신호 및 라이트 지시를 동시에 (즉, 먼저 CLE 제어 신호 및 라이트 인에이블 명령을 동시에; 그 후 ALE 제어 신호 및 어드레스 데이터를 동시에) 메모리 장치들(9, 19) 모두로 송신한다. 단계 4에서, 칩 인에이블 제어 신호가 여전히 전송되는 동안, 그것은 데이터 패킷 부분들 중 상이한 것들을 각각의 NAND 플래시 메모리 장치(9, 19)로 동시에, 상이한 개별적인 버스들(8, 18)을 통해 동시에 송신하고, 단계 5에서 개별적인 플래시 메모리 장치들(9, 19)은 데이터 패킷 부분들을 저장한다.
도 3의 휴대용 데이터 저장 장치로부터 데이터를 검색하는 프로세스를 도 5에서 보여준다. 단계 11에서 MCU(7)는 (장치의 외부로부터 수신된 지시에 응답하여) 칩 인에이블 제어 신호 및 리드 명령을 동시에 (즉, 먼저 CLE 제어 신호 및 리드 인에이블 명령을 동시에; 그 후 ALE 제어 신호 및 어드레스 데이터를 동시에) 플래시 메모리 장치들(9, 19)로 동시에 송신한다. 단계 12에서, 칩 인에이블 제어 신호가 여전히 전송되는 동안, 플래시 메모리 장치는 리드 지시에 응답하여 개별적인 버스(8, 18)들을 통해 MCU(7)로 데이터를 동시에 송신한다. 단계 13에서 MCU(7)는 플래시 메모리 장치들(9, 19)로부터 수신된 데이터 각각의 바이트를 데이터 패킷들로 형성되는 워드로 결합하고, 데이터 패킷들을 인터페이스 제어기(2)로 송신한다. 단계 14에서, 인터페이스 제어기는 장치로부터 인터페이스(3)를 통하 여 데이터 패킷들을 전송한다.
단계 3 및 단계 11은 각각 이하의 6 서브-단계들에 의해 수행된다:
a) 메모리 칩들(9, 19) 모두를 인에이블한다 (메모리 칩들 모두는 라이팅 전체에 걸쳐서 인에이블 상태가 유지된다).
b) 칩들 모두에 커맨드 래치 인에이블 명령(제어 신호)을 전송한다.
c) 데이터 버스(8)를 통해 명령 연산 코드를 전송하며, 연산 코드는 메모리 칩들(9, 19)에 의해 명령으로 해석될 것이다.
d) 커맨드 래치 인에이블을 칩들 모두에 대해 디스에이블한다.
e) 어들레스 래치 인에이블 명령(제어 신호)를 인에이블한다.
f) 데이터 버스를 통해 어드레스 연산 코드를 전송하며, 연산 코드는 메모리 칩들(9, 19)에 의해 어드레스로 해석될 것이다.
g) 어드레스 래치 인에이블 명령을 디스에이블한다.
도 4 및 도 5의 프로세스들은 일반적으로 워드-바이-워드 기반에서 플라이 상에서 수행된다. 다시 말해서, 도 4 및 도 5는 단일 워드의 프로세싱을 보여준다. 따라서, 예를 들어, 장치가 특정한 워드와 관련하여 단계 2를 수행하는 동안, 인터페이스(3)는 뒤이은 워드와 관련하여 단계 1을 수행할 수도 있다.
다른 방법으로, 덜 바람직하지만, 본 발명의 다른 실시예에서 도 4 및 5는 완전한 데이터 패킷들과 관련하여 수행될 수도 있다. 따라서, 도 4의 경우에, 완전한 데이터 패킷은 MCU 내로 수신되어 MCU가 그것의 분할을 시작하기 이전에 데이터 캐시(cache)에 저장될 수도 있으며, 그 일부분들을 메모리 장치들(9, 19)로 전 송한다.
일 실시예에서 15 Mbytes/s 의 비율로 메모리 장치에 데이터를 라이트 할 수 있고, 20 Mytes/s 의 비율로 데이터를 리드할 수 있다. 이것은 MCU가 두 개의 메모리 장치들에 교대로 데이터를 라이트하는 다른 방법의 배합보다 더 간단하고 더 빠르다.
전술한 설명은 NAND 플래시 메모리 장치들의 요구사항들에 의해 실제로는 복잡할 수도 있다. 예를 들어, 전술한 바와 같이, 종래의 NAND 플래시 메모리 장치의 윈도우는 2차원 어레이의 윈도우로 간주될 수 있고, 메모리 장치의 전체 로우들 만이 동시에 삭제될 수 있다. 따라서, 도 1 및 2의 공지된 장치에서 (그들에 라이트될 다른 데이터들을 위해 그들을 놓아주기 위해) 메모리 장치(9)의 로우의 박스들 중 전부가 아닌 몇몇을 삭제하는 것이 바람직한 경우에, MCU(7)는 삭제되지 않아야 할 박스들 내의 데이터가 보존되어 있다는 것을 보증하기 위한 조치를 취해야 한다. 이것에 관한 몇 가지 전략들이 있다. 하나의 가능성은 MCU(7)가 메모리 장치(9)로 하여금 버스(8)로 복사되도록 보존되어야 할 것에 대해 데이터를 라이트하도록 지시하고, MCU(7)가 그것을 캐시 내에 저장하는 것이다. 그러면 메모리 장치(9)의 로우는 삭제될 수 있고, 데이터를 캐시로부터 메모리 장치로 다시 라이트된다. 또 다른 가능성은 MCU(7)가 메모리 장치(9)로 하여금 삭제될 로우로부터 메모리 장치(9)의 또 다른 로우로 데이터를 복사하도록 지시하는 것이다.
이러한 양자의 가능성들은 도 3의 실시예에서 또한 유사점들을 가진다. 특히, MCU(7)는 일반적으로 메모리 장치들(9, 19) 모두의 완전한 각각의 로우들을 동 시에 삭제하도록 배열될 것이고, 삭제가 일어나지 이전에 삭제되지 않아야 할 로우들 내의 임의의 데이터가 다른 곳에 저장되어 있다는 것을 보증하기 위해 메모리 장치들(9, 19)과 통신하도록 배열될 것이다. 전술한 바와 같이, 바람직하게는 USB 제어기(2)로부터 MCU(7)에 의해 수신된 각각의 개별 바이트는 두 개의 메모리 장치들(9, 19) 사이에서 분할되고 두 개의 부분들은 두 개의 메모리 장치들(9, 19) 내의 대응되는 메모리 어드레스들에 저장되기 때문에, 일반적으로 개별적인 장치들의 개별적인 로우들 내의 보존되어야 할 데이터는 개별적인 메모리 장치들(9, 19)의 로우들 내의 동일한 위치에 있을 것이다. 따라서, MCU는 동일한 제어 신호들을 두 개의 메모리 장치들(9, 19)로 전송하는 것에 의해 데이터를 보존할 수도 있다.
첫 번째 가능성은 그러한 제어 신호들이 메모리 장치들(9, 19)로 하여금 그러한 로우들 내의 삭제되지 않아야 할 임의의 데이터를 버스들(8, 18)로 전달하도록 지시함으로써, MCU(7)가 이 데이터를 수신하고 RAM(예를 들어, 데이터 캐시로서 동작하는 MCU(7)의 내부 RAM) 내에 그것을 저장할 수 있도록 하는 것이다. 그러면, 그것은 삭제될 개별적인 로우들에 관하여 필요한 제어 신호들을 메모리 장치(9, 19)들에 전송할 수도 있다. 그 후 그것은 개별적인 데이터 버스들(8, 18)을 통해 데이터를 동시에 RAM 으로부터 다시 받아 메모리 장치들(9, 19)로 송신하여, 메모리 장치들(9, 19)에 재-라이트할 수도 있다. MCU(7)는 라인들(6, 16)을 통해 ALE 신호들을 전송하고 버스들(8, 18)을 통해 어드레스 하여, 데이터가 저장되어야 할 메모리 장치들(9, 19)의 위치(아마도, 그것이 본래 저장되어 있던 메모 리 위치와는 다른 위치)를 지시한다.
다른 방법으로 (즉, 본 발명의 대체적인 실시예에서, 또는 동일한 실시예의 상이한 동작 모드에서), MCU는 라인들(6, 16)을 이용하여 삭제될 로우 내의 일부 데이터를 보존함으로써 메모리 장치들(9, 19)로 하여금 그 데이터를 다른 로우들로 복사(또는 이동)하도록 하는 동일한 명령을 전송할 수도 있다. 이것이 수행된 경우, MCU는 라인들(6, 16)을 이용하여 메모리 장치들(9, 19) 각각에 동일한 지시를 전송하며, 이것은 그들이 데이터를 삭제하도록 하게 한다.
비록 본 발명의 단일 실시예 만이 여기에 개시되어 있으나, 당업자에게 명확한 바대로 본 발명의 범위 내에서 많은 변형들이 가능하다. 예를 들어, 수 개의 NAND 플래시 메모리 장치들은 두 개로 제한되지 않고, 보다 더 큰 임의의 수일 수도 있다. 또한, USB 제어기에 의해 채택되는 USB 규격이 USB 2.0 버전인 것이 바람직하다 할지라도, 본 발명은 향후에 도입될 USB 규격의 임의의 버전으로도 구현될 수 있다.
또한 본 발명의 실시예들은 여기서 명백히 나타나 있지는 않으나, 암호 보호와 같은 다른 공공연히-이용가능한 휴대용 데이터 저장 장치들, 지문 확인과 같은 생물측정학 상의 확인에 의한 액세스 제어 등에서 공지된 많은 특성들을 가질 수도 있다. 그러한 특성들의 구현은 당업자에게 있어서 명백할 것이다.

Claims (14)

  1. 장치 내부로 그리고 상기 장치로부터 외부로 데이터를 전달하는 데이터 인터페이스;
    인터페이스 제어기;
    마스터 제어부(MCU); 및
    개별적인 버스들을 통해 상기 마스터 제어부 내부로 그리고 상기 마스터 제어부로부터 외부로 데이터를 전달하기 위해 접속된 두 개 이상의 NAND 플래시 메모리 장치들을 구비하는 휴대용 데이터 저장 장치로서,
    상기 인터페이스 제어기는 상기 인터페이스를 통해 상기 마스터 제어부로 데이터를 전송하도록 배열되어 있고,
    상기 마스터 제어부는:
    상기 인터페이스 제어기로부터 수신된 데이터 패킷들을 데이터 패킷 부분들로 분할하고;
    상기 데이터 패킷 부분들 중 상이한 것들을 상기 개별적인 데이터 버스들을 이용하여 상기 NAND 플래시 메모리 장치들 각각으로 동시에 송신하고;
    상기 버스들을 이용하여 상기 데이터 부분들을 송신하는 동안 상기 마스터 제어부가 상기 NAND 플래시 메모리 장치들 모두로 적어도 칩 인에이블 신호들을 송신하며, 상기 NAND 플래시 메모리 장치들 모두로 전송되는 제어 신호들을 이용하여 상기 NAND 플래시 메모리 장치들을 제어하도록 배열되며,
    상기 NAND 플래시 메모리 장치들의 각각의 메모리 공간의 구획을 삭제하기 위하여, 상기 NAND 플래시 메모리 장치들 각각으로 삭제 신호를 동시에 전송하도록 배열되는 것을 특징으로 하는 휴대용 데이터 저장 장치.
  2. 제 1 항에 있어서, 상기 NAND 플래시 메모리 장치들은 상기 마스터 제어부(MCU)로 데이터 패킷 부분들을 동시에 송신하도록 배열되고, 상기 마스터 제어부는 그들을 결합하여 데이터 패킷들을 형성하게 하며, 상기 데이터 패킷들을 상기 인터페이스를 통한 송신을 위해 상기 인터페이스 제어기로 송신하도록 배열되는 것을 특징으로 하는 휴대용 데이터 저장 장치.
  3. 제 1 항에 있어서, 두 개의 NAND 플래시 메모리 장치들이 있고, 상기 마스터 제어부(MCU)는 상기 데이터 패킷들을 데이터 패킷 부분들로 분할함으로써, 저장될 상기 데이터의 각 워드가, 상기 NAND 플래시 메모리 장치들 중 상이한 것들로서 데이터 패킷 부분들에 포함되는 두 개의 바이트로 분할되도록 하는 것을 특징으로 하는 휴대용 데이터 저장 장치.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 마스터 제어부(MCU)들은 제어 신호 라인에 각각 전기적으로 접속된 상기 마스터 제어부의 핀(pin)들을 통해 상기 NAND 플래시 메모리 장치들 모두에 동일한 제어 신호들을 동시에 전송하 고, 각 제어 신호 라인은 상기 NAND 플래시 메모리 장치들 각각의 개별적인 제어 신호 입력부들에 이르는 것을 특징으로 하는 휴대용 데이터 저장 장치.
  5. 제 4 항에 있어서, 상기 마스터 제어부는 상기 개별적인 NAND 플래시 메모리 장치들로 동일한 라이트, 리드, 인에이블 및 ALE 신호들을 송신하는 것을 특징으로 하는 휴대용 데이터 저장 장치.
  6. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 인터페이스는 USB 인터페이스이고, 상기 인터페이스 제어기는 USB 제어기인 것을 특징으로 하는 휴대용 데이터 저장 장치.
  7. 제 6 항에 있어서, 상기 인터페이스는 적어도 480 Mbits/s 의 데이터 전송률을 가지는 USB 규격에 따라 작동하는 것을 특징으로 하는 휴대용 데이터 저장 장치.
  8. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 개별적인 데이터 버스들은 8-비트 병렬 버스들인 것을 특징으로 하는 휴대용 데이터 저장 장치.
  9. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 각각의 데이터 패킷 크기는 512 바이트인 것을 특징으로 하는 휴대용 데이터 저장 장치.
  10. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 마스터 제어부는 그들의 개별적인 메모리 공간들의 구획을 삭제하도록 하게 하는 상기 NAND 플래시 메모리 장치들로의 신호 송신 이전에, 상기 마스터 제어부가 작동하여 각각의 NAND 플래시 메모리 장치로 하여금 상기 메모리 공간의 그 구획에 저장된 상기 데이터의 한 부분을 다른 위치로 전달하도록 지시하는 것을 특징으로 하는 휴대용 데이터 저장 장치.
  11. 제 10 항에 있어서, 상기 다른 위치는 RAM 메모리 내에 있는 것을 특징으로 하는 휴대용 데이터 저장 장치.
  12. 제 10 항에 있어서, 상기 다른 위치는 삭제될 상기 구획 외부의 상기 개별적인 메모리 공간들 내의 위치에 있는 것을 특징으로 하는 휴대용 데이터 저장 장치.
  13. 장치 내부로 그리고 상기 장치로부터 외부로 데이터를 전달하는 데이터 인터페이스, 인터페이스 제어기, 캐시 메모리(cache memory)를 가지는 마스터 제어부(MCU), 및 두 개 이상의 NAND 플래시 메모리 장치들을 구비하는 휴대용 데이터 저장 장치에 데이터를 저장하는 방법에 있어서,
    상기 인터페이스 제어기가 상기 인터페이스를 통해 수신된 데이터 패킷들을 상기 마스터 제어부로 전송하는 단계;
    상기 마스터 제어부가 상기 인터페이스 제어기로부터 수신된 데이터 패킷들을 데이터 패킷 부분들로 분할하고, 상이한 개별적인 버스들을 통해 동시에 상기 NAND 플래시 메모리 장치들 각각으로 상기 데이터 패킷 부분들 중 상이한 것들을 동시에 송신하고, 상기 NAND 플래시 메모리 장치들 모두에 전송된 제어 신호들을 이용하여 상기 NAND 플래시 메모리 장치들을 제어하며, 상기 마스터 제어부가 상기 NAND 플래시 메모리 장치들 모두에 라이트 지시들 및 칩 인에이블 제어 신호들을 송신하고, 그리고 그 이후에, 여전히 칩 인에이블 제어 신호들을 전송하는 동안, 상기 개별적인 버스들을 이용하여 상기 개별적인 NAND 플래시 메모리 장치들로 상기 데이터 패킷 부분들을 송신하는 단계;
    상기 개별적인 플래시 메모리 장치들이 상기 데이터 패킷 부분들을 저장하는 단계; 및
    상기 마스터 제어부가 상기 NAND 플래시 메모리 장치들의 각각의 메모리 공간의 구획을 삭제하기 위하여, 상기 각각의 NAND 플래시 메모리 장치로 삭제 신호를 동시에 전송하는 단계를 포함하는 것을 특징으로 하는 데이터 저장 방법.
  14. 제 13항에 있어서,
    상기 휴대용 데이터 저장 장치에 저장된 데이터를 검색하는 단계를 더 포함하며,
    상기 데이터를 검색하는 단계는,
    상기 마스터 제어부가 상기 플래시 메모리 장치들에 대해 개별적인 리드 지시들 및 칩 인에이블 신호들을 동시에 발생시키는 단계;
    상기 플래시 메모리 장치들이 상기 리드 지시들에 응답하여, 그리고 여전히 상기 칩 인에이블 제어 신호들을 수신하는 동안, 상이한 개별적인 버스들을 통해 상기 마스터 제어부로 상기 데이터를 동시에 송신하는 단계;
    상기 마스터 제어부가 데이터 패킷들을 형성하고 상기 데이터 패킷들을 상기 인터페이스 제어기로 송신하기 위해 상기 플래시 메모리 장치들로부터 수신된 상기 데이터를 결합하는 단계; 및
    상기 인터페이스 제어기가 상기 마스터 제어부로부터 수신된 데이터 패킷들을 상기 데이터 인터페이스를 통해 상기 장치로부터 외부로 전송하는 단계를 포함하는 것을 특징으로 하는 데이터 저장 방법.
KR1020067015074A 2006-07-26 2004-01-20 다수의 메모리 장치들을 이용하는 휴대용 데이터 저장 장치 KR100825535B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020067015074A KR100825535B1 (ko) 2006-07-26 2004-01-20 다수의 메모리 장치들을 이용하는 휴대용 데이터 저장 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020067015074A KR100825535B1 (ko) 2006-07-26 2004-01-20 다수의 메모리 장치들을 이용하는 휴대용 데이터 저장 장치

Publications (2)

Publication Number Publication Date
KR20060130141A KR20060130141A (ko) 2006-12-18
KR100825535B1 true KR100825535B1 (ko) 2008-04-25

Family

ID=37810711

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067015074A KR100825535B1 (ko) 2006-07-26 2004-01-20 다수의 메모리 장치들을 이용하는 휴대용 데이터 저장 장치

Country Status (1)

Country Link
KR (1) KR100825535B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081878A (en) * 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US20030145141A1 (en) 2002-01-31 2003-07-31 Chien-An Chen Universal serial bus flash memory integrated circuit device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081878A (en) * 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US20030145141A1 (en) 2002-01-31 2003-07-31 Chien-An Chen Universal serial bus flash memory integrated circuit device

Also Published As

Publication number Publication date
KR20060130141A (ko) 2006-12-18

Similar Documents

Publication Publication Date Title
US20080228996A1 (en) Portable Data Storage Device Using Multiple Memory Devices
US20100185808A1 (en) Methods and systems for storing and accessing data in uas based flash-memory device
US8437190B2 (en) Interleaved flash storage system and method
US7409473B2 (en) Off-chip data relocation
US7657692B2 (en) High-level bridge from PCIE to extended USB
US20060064537A1 (en) Memory card having a storage cell and method of controlling the same
US7707321B2 (en) Chained DMA for low-power extended USB flash device without polling
TWI418991B (zh) 針對智慧型儲存交換器所設計的快閃記憶體系統
WO2020226697A1 (en) Non-volatile storage system with hybrid command
CN110059032A (zh) 存储器接口及具有存储器接口的存储器控制器
CN109390019A (zh) 存储系统及其操作方法
US12008270B2 (en) System, device, and method for memory interface including reconfigurable channel
US20130086350A1 (en) Method and system for enhanced performance in serial peripheral interface
CN110431540B (zh) 用于在非托管闪存设备中复制数据页的方法和装置
KR20060129804A (ko) 엠엠씨 인터페이스를 갖는 플래시 메모리 장치 및 그것을포함한 메모리 시스템
US20090307427A1 (en) Memory card and method of writing data
JP4588427B2 (ja) メモリシステムおよびホストとメモリカードとの間のデータ伝送速度設定方法
CN106919343B (zh) 周边接口电路与周边存储器系统
US11347634B2 (en) Memory system performing write-same operation and operating method thereof
US11307798B2 (en) Storage device and method for performing macro command
KR20220117747A (ko) 데이터 프리페치 제어 기능을 갖는 스토리지 컨트롤러, 스토리지 컨트롤러의 동작 방법, 및 스토리지 장치의 동작 방법
CN113228181A (zh) 存储器器件及其异步多面独立读取操作
KR100825535B1 (ko) 다수의 메모리 장치들을 이용하는 휴대용 데이터 저장 장치
US20170075624A1 (en) Methods for moving data internally and apparatuses using the same
RU2325689C2 (ru) Портативное устройство хранения данных с использованием множества запоминающих устройств

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
LAPS Lapse due to unpaid annual fee