KR101101867B1 - 모바일 스토리지 제어 장치 - Google Patents
모바일 스토리지 제어 장치 Download PDFInfo
- Publication number
- KR101101867B1 KR101101867B1 KR1020100011123A KR20100011123A KR101101867B1 KR 101101867 B1 KR101101867 B1 KR 101101867B1 KR 1020100011123 A KR1020100011123 A KR 1020100011123A KR 20100011123 A KR20100011123 A KR 20100011123A KR 101101867 B1 KR101101867 B1 KR 101101867B1
- Authority
- KR
- South Korea
- Prior art keywords
- mobile storage
- mobile
- storage
- block
- storage control
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Power Sources (AREA)
Abstract
본 발명은 모바일 스토리지 제어 장치에 관한 것이다. 본 발명에 따른 모바일의 스토리지(Storage)를 제어하는 모바일 스토리지 제어 장치에 있어서, 스토리지에 접근하여 스토리지에 데이터를 저장하거나, 스토리지에 저장된 데이터를 읽어오며, 호스트 프로세서의 명령어 및 데이터가 듀얼 포트 메모리에 임시 저장된 경우 발생하는 인터럽트를 수신하는 스토리지 제어 블록 및 스토리지 제어 블록이 인터럽트를 수신하면, 스토리지 제어 블록을 통해 듀얼 포트 메모리의 명령어를 수신하고, 명령어에 상응하는 수행 결과를 듀얼 포트 메모리로 전송하는 모바일 스토리지 프로세서를 포함한다. 본 발명에 따르면, 모바일 스토리지 제어 장치에 의해 호스트 프로세서가 모바일 스토리지를 저전력 및 고속 제어가 가능하게 되므로, 모바일 성능이 향상되는 효과가 있다.
Description
본 발명은 모바일 스토리지 제어 장치에 관한 것이다. 더욱 상세하게는 모바일 스토리지를 저전력 및 고속으로 제어가 가능하게 하는 모바일 스토리지 제어 장치에 관한 것이다.
모바일 기기를 이용한 영화, 게임 및 인터넷 등과 같은 멀티미디어 서비스가 보편화 되고 멀티미디어 기능이 증대되고 있다. 반면에 모바일 기기는 점점 더 소형화되고 있다. 따라서 대용량의 정보를 보다 적은 전력으로 빠르게 처리하기 위한 모바일 스토리지 프로세서 제어 시스템이 요구되고 있다.
종래 기술은 크게 두 가지로 나눌 수 있다. 우선, 제1 세대 기술로 호스트 프로세서에 DRAM(Dynamic-Random-Access-Memory) 및 NAND(NAND 구조의 비휘발성 메모리)를 직접 붙여서 사용하는 구조이다. 이 구조에서 프로세서가 직접 NAND 메모리 운용을 위해 NFC(NAND-Flash-Controller; 이하, "NFC"라 함) 및 FTL(Flash-Translation-Layer; 이하, "FTL"이라 함) 등을 운용하는 것이다. 이는 호스트 프로세서에 부담이 되어 성능이 저하되는 단점이 있다. 또한, 새로운 공정의 NAND 메모리가 사용될 때마다 NFC 또는 FTL이 수정되어야 하므로 생산 효율이 저하된다.
다른 기술은 제2 세대 기술로 호스트 프로세서에 모바일 DRAM과 NAND 메모리 전용 제어기가 붙여진 형태이다. 이는 제1 세대 기술과 달리 NAND 메모리가 호스트 프로세서와 직접 붙지 않는다. 이와 같은 구조에서 제1 세대 기술에 비해 호스트 프로세서가 NAND 메모리를 처리하는 부담이 줄어들었다 할 수 있다. 그러나, NAND 전용 제어기의 적은 버퍼의 특성상 대용량 데이터를 송수신 할 경우 성능이 저하된다는 단점이 있다. 또한, 하드웨어 접속에 있어서도 DRAM 연결을 위한 DDR(Double-Data-Rate) 인터페이스와 NAND 메모리 제어기 연결을 위한 인터페이스, 즉 두 종류의 인터페이스 연결이 필요하기 때문에 회로가 복잡하게 된다.
본 발명은 모바일 기능 수행 시, 호스트 프로세서가 매번 저속 저장매체에 접속하지 않고 고속으로 모바일 기능이 처리되는 모바일 스토리지 제어 장치를 제공하는 것이다.
또한, 본 발명은 모바일 기능 수행 시, 호스트 프로세서의 CPU 사용 점유율을 감소시켜 성능을 향상시키는 모바일 스토리지 제어 장치를 제공하는 것이다.
또한, 본 발명은 전력 소모를 줄일 수 있는 모바일 스토리지 제어 장치를 제공하는 것이다.
본 발명의 일 측면에 의하면, 모바일의 스토리지(Storage)를 제어하는 모바일 스토리지 제어 장치에 있어서, 스토리지에 접근하여 스토리지에 데이터를 저장하거나, 스토리지에 저장된 데이터를 읽어오며, 호스트 프로세서의 명령어 및 데이터가 듀얼 포트 메모리에 임시 저장된 경우 발생하는 인터럽트를 수신하는 스토리지 제어 블록 및 스토리지 제어 블록이 인터럽트를 수신하면, 스토리지 제어 블록을 통해 듀얼 포트 메모리의 명령어를 수신하고, 명령어에 상응하는 수행 결과를 듀얼 포트 메모리로 전송하는 모바일 스토리지 프로세서를 포함하는 모바일 스토리지 제어 장치가 제공된다.
모바일 스토리지 프로세서는 스토리지 제어 블록이 인터럽트를 수신하면, 듀얼 포트 메모리의 소유권을 확인하고, 소유권을 갖는다면, 듀얼 포트 메모리에 저장된 명령을 수행할 수 있다.
모바일 스토리지 프로세서는 명령어에 상응하는 수행 결과를 듀얼 포트 메모리로 전송 시 듀얼 포트 메모리의 소유권을 호스트 프로세서로 이전할 수 있다.
스토리지는 호스트 프로세서와 모바일 스토리지 프로세서 간의 명령 및 데이터 전송을 위한 휘발성 메모리 및 모바일 스토리지 프로세서에 의해 데이터가 저장되는 비휘발성 메모리를 포함할 수 있다.
스토리지 제어 블록은 EMI, USB, SD/MMC, DDR 컨트롤러, 플래시 컨트롤러 중 어느 하나 이상을 포함할 수 있다.
모바일 스토리지 제어 장치는 모바일 스토리지 제어 장치의 전력 모드 전환을 위한 전력 모드 전환 블록을 더 포함할 수 있다.
스토리지는 호스트 프로세서와 모바일 스토리지 프로세서 간의 명령 및 데이터 전송을 위한 휘발성 메모리 및 모바일 스토리지 프로세서에 의해 데이터가 저장되는 비휘발성 메모리를 포함할 수 있다.
스토리지 제어 블록은 EMI, USB, SD/MMC, DDR 컨트롤러, 플래시 컨트롤러 중 어느 하나 이상을 포함할 수 있다.
모바일 스토리지 제어 장치는 모바일 스토리지 제어 장치의 전력 모드 전환을 위한 전력 모드 전환 블록을 포함할 수 있다.
전력 모드 전환 블록은 모바일 스토리지 제어 장치가 슬립 모드에서 활동 모드로, 활동 모드에서 슬립 모드로 또는 슬립 모드 및 활동 모드에서 딥 슬립 모드로 전환되도록 동작할 수 있다.
슬립 모드는 전력 모드 전환 블록을 제외한 모바일 스토리지 제어 장치의 블록의 전원이 꺼지는(OFF) 저전력 동작 상태일 수 있다.
딥 슬립 모드는 슬립 모드 상태에서 전력 모드 전환 블록의 전원이 꺼지는(OFF) 초저전력 동작 상태일 수 있다.
모바일 스토리지 프로세서는 RISC(Reduced Instruction Set Computer) 구조의 마이크로 프로세서로 구성될 수 있다.
모바일 스토리지 프로세서는 DDR 인터페이스을 통하여 호스트 프로세서와 데이터 송수신을 할 수 있다.
스토리지로부터 수신한 명령 및 데이터를 모바일 스토리지 프로세서에 고속으로 전송하기 위한 신호 처리를 수행하는 고속 주변 블록, 모바일 스토리지 프로세서에 의해 고속 주변 블록을 통해 수신한 명령을 수행하기 위한 데이터가 임시 저장되는 내부 스토리지, 내부 스토리지, 스토리지 제어 블록 및 고속 주변 블록이 모바일 스토리지 프로세서와 명령 및 데이터를 고속으로 송수신하기 위한 고속 버스 및 고속 주변 블록과 모바일 스토리지 프로세서 간의 송수신 되는 데이터 양의 증가로 고속 버스에 로딩(Loading)되는 데이터 양이 증가한 경우, 모바일 스토리지 프로세서에 의해 선택되어 사용되는 다수개의 버스로 구성된 다중 버스 채널 블록을 더 포함할 수 있다.
다중 버스 채널은, 데이터 송수신을 위한 다수개의 버스 및 모바일 스토리지 프로세서에 의해 제어되어, 다수개의 버스 중에서 하나의 버스와 고속 버스가 연결 되도록 하는 스위치를 더 포함할 수 있다.
내부 스토리지는 ROM, SRAM 중 어느 하나 이상을 포함할 수 있다.
고속 주변 블록은 인터럽트 컨트롤러, FTL 패턴 서치, DMA 컨트롤러 중 어느 하나 이상을 포함할 수 있다.
모바일의 저속의 외부 장치와 연결되며, 모바일 스토리지 프로세서와 저속의 외부 장치 간에 데이터를 송수신을 위한 인터페이스를 수행하는 저속 주변 블록, 저속 주변 블록과 브리지 간의 데이터 송수신을 위한 저속 버스 및 고속 버스와 저속 버스 간의 데이터 송수신을 위한 인터페이스를 수행하는 브리지를 더 포함할 수 있다.
저속 주변 블록은 시스템 레지스터, 타이머, I2S, GPIO 및 UART 중 어느 하나 이상을 포함할 수 있다.
본 발명의 일 실시예에 의하면, 모바일 스토리지 제어 장치에 의해 호스트 프로세서가 매번 저속 저장 매체에 접속하지 않아도 되므로 호스트 프로세서의 CPU 사용 점유율을 감소시킬 수 있다.
본 발명의 일 실시예에 의하면, 모바일 스토리지 제어 장치가 프로그램 실행 후 슬립 또는 딥 슬립 모드로 진입 가능하므로 모바일 스토리지 제어 장치 및 모바일 전체 시스템의 전력 소모를 줄일 수 있다.
본 발명의 일 실시예에 의하면, 모바일 스토리지 제어 장치가 비휘발성 메모리 쓰기 횟수를 줄여 비휘발성 메모리의 수명을 연장할 수 있다.
본 발명의 일 실시예에 의하면, 모바일 시스템의 호스트 프로세서에서 전송된 데이터가 모바일 스토리지 제어 장치를 통하여 스토리지에 저장되므로, 보안이 강화된 모바일 시스템을 제공할 수 있다.
도1은 본 발명의 일 실시예에 따른 모바일 스토리지 시스템의 블록도이다.
도2는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치를 나타낸 블록도이다.
도3은 본 발명의 실시 예에 따른 모바일 스토리지 제어 장치의 스토리지 제어 블록을 나타낸 블록도이다.
도4는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 다중 버스 채널 블록을 나타낸 블록도이다.
도5는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 고속 주변 블록을 나타낸 블록도이다.
도6는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 저속 주변 블록을 나타낸 블록도이다.
도7는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 기타 블록을 나타낸 블록도이다.
도8은 본 발명의 일 실시예에 따른 모바일 스토리지 시스템을 구체적으로 나타낸 예시도이다.
도2는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치를 나타낸 블록도이다.
도3은 본 발명의 실시 예에 따른 모바일 스토리지 제어 장치의 스토리지 제어 블록을 나타낸 블록도이다.
도4는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 다중 버스 채널 블록을 나타낸 블록도이다.
도5는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 고속 주변 블록을 나타낸 블록도이다.
도6는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 저속 주변 블록을 나타낸 블록도이다.
도7는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 기타 블록을 나타낸 블록도이다.
도8은 본 발명의 일 실시예에 따른 모바일 스토리지 시스템을 구체적으로 나타낸 예시도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
이하, 본 발명에 따른 모바일 스토리지 제어 장치의 실시예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도1은 본 발명의 일 실시예에 따른 모바일 스토리지 시스템의 블록도이다.
도1을 참조하면, 모바일 스토리지 시스템은 호스트 프로세서(300), 스토리지(200) 및 모바일 스토리지 제어 장치(100)를 포함할 수 있다.
호스트 프로세서(300)는 모바일의 통신, 응용 및 멀티미디어 기능을 실행한다. 호스트 프로세서(300)는 스토리지(200)의 휘발성 메모리와의 데이터 송수신을 위한 인터페이스를 갖는다.
모바일 스토리지 제어 장치(100)는 모바일의 내부 스토리지(도8의 113)를 포함하며, 모바일의 스토리지를 통합적으로 제어하는 장치이다. 내부 스토리지(도8의 113)는 모바일 스토리지 제어 장치(100)가 동작하기 위해 필요한 부팅 프로그램 및 데이터를 임시로 저장할 수 있다.
모바일 스토리지 제어 장치(100)는 모바일 스토리지 시스템에 포함된 스토리지(200)를 제어할 수 있다. 모바일 스토리지 제어 장치(100)는 호스트 프로세서로부터 수신된 명령에 따라 스토리지(200)의 데이터를 읽기 및 삭제 하거나, 스토리지(200)에 데이터를 쓰기와 같은 스토리지(200) 제어를 수행한다.
스토리지(200)는 모바일의 프로그램 및 데이터를 저장할 수 있다. 스토리지(200)는 비휘발성 메모리와 휘발성 메모리를 포함할 수 있다. 비휘발성 메모리는 호스트 프로세서(300) 또는 모바일 스토리지 제어 장치(100)에서 사용되는 프로그램 또는 데이터를 저장할 수 있다. 휘발성 메모리는 데이터 및 프로그램을 임시 저장하는 캐시 메모리 기능을 포함할 수 있다. 또한 스토리지(200)의 휘발성 메모리는 호스트 프로세서(300)와 모바일 스토리지 제어 장치(100) 간의 명령을 포함한 데이터 전송을 위한 듀얼포트(Dual-Port) 메모리를 포함할 수 있다.
본 발명의 일 실시예에 의하면, 모바일 스토리지 제어 장치에 의해 호스트 프로세서가 매번 저속 저장 매체인 비휘발성 메모리에 접속하지 않아도 되므로 호스트 프로세서의 CPU 사용 점유율을 감소시킬 수 있다.
도2는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치를 나타낸 블록도이다.
도2를 참조하면, 모바일 스토리지 제어 장치(100)는 모바일 스토리지 프로세서(110), 브리지(Bridge, 120), 스토리지 제어 블록(130), 다중 버스 채널 블록(140), 고속 주변 블록(150), 저속 주변 블록(160) 및 기타 블록(170)를 포함할 수 있다.
스토리지 제어 블록(130)은 스토리지(도1의 200) 제어를 위해 모바일 스토리지 프로세서(110)와 스토리지(도1의 200) 간의 데이터 송수신을 위한 인터페이스를 수행한다. 스토리지 제어 블록(130)은 스토리지(도1의 200)으로부터 수신한 인터럽트를 모바일 스토리지 프로세서(110)으로 전송한다. 인터럽트는 스토리지(도1의 200)가 호스트 프로세서로부터 명령 및 데이터를 수신하였을 경우, 발생하는 신호이다.
스토리지 제어 블록(130)은 EMI(External Memory Interface), USB, SD/MMC, DDR 컨트롤러, 플래시 컨트롤러를 포함할 수 있다. 스토리지 제어 블록(130)에 연결되는 저장매체는 DRAM, 플래시 메모리, DP 메모리, USB 메모리, SD/MMC 메모리 등과 같은 휘발성 메모리 및 비휘발성 메모리 중에서 어느 하나의 메모리일 수 있다.
스토리지 제어 블록(130)에 연결되는 저장매체는 이에 한정되지 않는다. 예를 들어, 스토리지 제어 블록(130)은 SRAM, PSRAM, SDRAM 또는 DPRAM 중 어느 하나 이상을 더 포함할 수 있다. 즉, 스토리지 제어 블록(130)에 연결되는 저장매체의 종류 및 개수는 당업자에 의해서 용의하게 변경 가능하다.
모바일 스토리지 프로세서(110)는 호스트 프로세서(도1의 300)의 명령에 의한 기능 수행 및 모바일의 스토리지를 제어할 수 있다. 모바일 스토리지 프로세서(110)는 호스트 프로세서(도1의 300)의 명령에 의해 스토리지(도1의 200)의 데이터를 읽기 및 삭제 하거나, 스토리지(도1의 200)에 데이터 쓰기를 수행할 수 있다.
모바일 스토리지 프로세서(110)는 ARM 계열(ARM7, ARM9, ARM10, ARM11, Cotex-A8/9 등)의 마이크로프로세서가 사용될 수 있다. 모바일 스토리지 프로세서(110)는 RISC(Reduced Instruction Set Computer) 구조의 마이크로 프로세서로 구성될 수 있다. 즉, 모바일 스토리지 프로세서(110)는 RISC의 명령어 처리 방식이 사용될 수 있다. RISC의 명령어 처리 방식은 전력소모가 낮고 칩 사이즈가 작은 모바일 기기에 적합하다. 그러나 모바일 스토리지 프로세서(110)의 명령어 처리 방식은 RISC로 한정되지 않으며, 당업자에 의해서 용이하게 변경이 가능하다. 모바일 스토리지 프로세서(110)는 주변 스토리지와의 원활한 데이터 읽기 및 쓰기를 위해 고속 버스(112) 및 다중 버스 채널 블록(140)을 수용할 수 있다. 각 블록의 제어를 위한 고속 버스(112) 및 저속 버스(111)는 AMBA 표준 규격을 가질 수 있다.
브리지(120)는 저속 버스(111)와 고속 버스(112) 간의 데이터 송수신을 위한 것이다. 브리지(120)는 저속 버스(111)에 연결된 블록과 고속 버스(112)에 연결된 블록을 연결할 수 있다. 예를 들어, 저속 동작을 하는 GPIO 블록은 저속 버스(111)와 연결된다. 저속 버스(111)와 연결된 GPIO블록은 브리지(120)에 의해서 고속 동작을 하는 모바일 스토리지 프로세서(110)와 연결된다.
브리지(120)는 저속 버스(111)와 고속 버스(112)사이에 위치한다. 즉, 브리지(120)에 의하여 고속 버스(112)에 연결된 모바일 스토리지 프로세서(110)과 저속 버스(111)에 연결된 저속 주변 블록 간의 데이터 송수신이 가능하게 된다.
다중 버스 채널 블록(140)은 스토리지(도1의 200)의 데이터를 고속으로 송수신하기 위한 다수개의 버스를 갖는 멀티 버스 채널이다. 다중 버스 채널 블록(140)에 의해서 모바일 스토리지 제어 장치(도1의 100)의 데이터 송수신 속도를 증가시킬 수 있다.
고속 주변 블록(150)은 고속 버스(112)와 연결되어, 모바일 스토리지 프로세서(110)와 고속으로 데이터 및 제어 신호를 주고 받는다. 제어 신호는 데이터가 고속 주변 블록(150)에 수신된 순서대로 모바일 스토리지 프로세서(110) 또는 호스트 프로세서(도1의 300)로 전송되도록 수신된 데이터를 제어하는 신호이다. 고속 주변 블록(150)은 인터럽트 컨트롤러, FTL 패턴 서치(FTL Pattern Search), DMA(Direct Memory Access) 컨트롤러 등과 같은 고속의 데이터 송수신이 필요한 장치를 포함할 수 있다.
저속 주변 블록(160)은 저속 버스(111)와 연결되어, 모바일 스토리지 프로세서(110)가 외부 장치와 데이터를 저속으로 송수신하는 인터페이스를 수행한다. 저속 주변 블록(160)은 저속으로 동작하는 시스템 레지스터, 타이머, GPIO, I2S 및 UART 등을 포함할 수 있다.
고속 주변 블록(150) 및 저속 주변 블록(160)에 포함되는 장치의 종류 및 개수는 당업자에 의해서 용이하게 변경이 가능하다.
기타 블록(170)은 모바일 스토리지 프로세서(110)의 전력 모드 전환, 외부 및 내부 주파수를 이용하여 주파수를 합성, 스토리지 제어 장치 내부에서 사용되는 클럭 신호 또는 리셋 신호 발생 기능 등을 수행할 수 있다.
전력 모드 전환은 모바일 스토리지 프로세서(110)가 슬립 모드(Sleep Mode)에서 활동 모드(Active Mode)로, 활동 모드에서 슬립 모드로 또는 슬립 모드 및 활동 모드에서 딥 슬립 모드(Deep Sleep Mode)로 전환되는 것이다. 전력 모드 전환에 의해서, 모바일 스토리지 제어 장치가 프로그램 실행 후 슬립 또는 딥 슬립 모드로 진입 가능하므로 모바일 스토리지 제어 장치 및 모바일 전체 시스템의 전력 소모를 줄일 수 있다.
도3은 본 발명의 실시 예에 따른 모바일 스토리지 제어 장치의 스토리지 제어 블록을 나타낸 블록도이다.
도3을 참조하면, 스토리지 제어 블록(130)은 스토리지(200)와 모바일 스토리지 제어 장치(100)의 통신 및 데이터 송수신을 위한 인터페이스 블록이다. 여기서, 스토리지(200)는 모바일 스토리지 제어 장치(100) 외부에 위치하며, 호스트 프로세서(300) 및 모바일 스토리지 프로세서(110)가 사용하는 프로그램 및 데이터가 저장될 수 있다.
스토리지 제어 블록(130)은 EMI(External Memory Interface, 131), USB(132), SD/MMC(133), DDR 컨트롤러(134) 및 플래시 메모리 제어를 위한 플래시 컨트롤러(135)를 포함할 수 있다.
EMI(131)는 휘발성 메모리 인터페이스 블록으로, SRAM, PSRAM, SDRAM 메모리와 연결된다. EMI(131)는 필요에 따라 외부로부터 프로그램을 내부 SRAM에 다운로드 하여 스토리지 프로세서와 연결된 블록의 기능을 점검하기 위한 디버깅 기능을 수행할 수 있다.
USB(132)는 휴대기기, 통신기기 및 PC 등을 포함한 전자기기 장치에 폭넓게 사용되는 인터페이스 기술이다. USB(132)는 유니버셜 시리얼 인터페이스를 통하여 외부 저장매체를 연결한다. USB를 사용하면 플러그 앤 플레이(Plug & Play) 방식으로 저장매체를 간단히 연결 및 추가할 수 있다.
SD/MMC(133)은 Secure Digital과 Multimedia Card 포맷을 지원하는 플래시 카드 인터페이스이다. SD/MMC(133)는 디지털 카메라, PDA, 미디어 플레이어, 모바일 폰, GPS 리시버 및 비디오 게임 등의 장치에 사용되며, 데이터 송수신이 가능하다.
DDR 컨트롤러(134)는 고속 버스(112)에 연결되며, 저전력의 DDR 메모리를 제어하는 인터페이스 블록이다. DDR 컨트롤러(134)는 메모리의 데이터 송수신을 고속으로 수행할 수 있다. DDR 컨트롤러(134)는 패드인터페이스, 메모리 인터페이스, 고속 버스 인터페이스 블록을 포함할 수 있다. DDR 컨트롤러(134)에 의해서 DRAM 및 DP메모리를 통한 호스트 프로세서(도1의 300) 및 모바일 스토리지 프로세서(도2의 110)의 데이터 송수신이 고속으로 이루어진다.
플래시 컨트롤러(135)는 플래시 메모리를 제어한다. 플래시 메모리는 낸드(NAND) 플래시 일 수 있다. 플래시 컨트롤러(135)는 낸드 메모리 인터페이스, 고속 버스 인터페이스, 메모리 매니저 및 에러 코드 제어기를 포함할 수 있다. 플래시 컨트롤러(135)는 FTL 및 플래시 디바이스 드라이버 프로그램에 의해 동작된다. 플래시 컨트롤러(135)의 주요 동작은 메모리에 데이터 쓰기, 읽기, 삭제 및 모바일의 기능 수행을 위한 프로그램의 저장 등과 같은 기능을 수행할 수 있다.
본 발명의 실시예에 따른 스토리지 제어 블록(130)에 의하면 DRAM 및 DP 메모리와 같은 고속 메모리 뿐만 아니라 플래시 메모리와 같은 저속 메모리도 모바일 스토리지 프로세서(도2의 110)와 데이터를 고속으로 송수신 할 수 있다.
도4는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 다중 버스 채널 블록을 나타낸 블록도이다.
도4를 참조하면, 다중 버스 채널 블록(140)은 스토리지의 데이터 송수신을 고속으로 처리하기 위한 다중 데이터 버스 구조이다. 또한 다중 버스 채널 블록(140)은 고속 버스의 데이터 버스 로딩(loading)에 대한 부담을 줄이기 위해 별도의 데이터 버스를 이중 또는 삼중으로 확대하여 사용될 수 있다.
다중 버스 채널 블록(140)은 데이터 송수신을 위한 버스 선택을 위한 스위치(141)를 포함할 수 있다. 다중 버스 채널 블록(140)의 제1 스위치(141) 및 제2 스위치(142)는 모바일 스토리지 프로세서(도2의 110)에 의해 제어되어, 다수개의 버스 중에서 어느 하나 이상의 버스를 선택할 수 있다. 제1 스위치(141) 및 제2 스위치(142)의 제어는 다중 버스 채널 블록(140)을 통해서 데이터를 송수신하는 모바일 스토리지 제어 장치(도1의 100)의 다른 구성부에 의해서 제어 될 수 있다. 이에 대해 도8을 참조하여 설명하면, 예를 들어, DDR 컨트롤러(도8의 134)로부터 수신된 데이터를 Flash 컨트롤러(도8의 135)로 전송 한다면, DDR 컨트롤러(도8의 134)에 의해서 제1 스위치(141) 및 제2 스위치(142)가 제어될 수 있다. 반대의 경우, Flash 컨트롤러(도8의 135)로부터 수신된 데이터를 DDR 컨트롤러(도8의 134)로 전송 한다면, Flash 컨트롤러(도8의 135)에 의해서 제1 스위치(141) 및 제2 스위치(142)가 제어될 수 있다.
이와 같이, 다중 버스 채널 블록(140)의 제1 스위치(141) 및 제2 스위치(142)는 모바일 스토리지 프로세서(도2의 110)뿐만 아니라 다중 버스 채널 블록(140)을 통해서 데이터를 송수신하는 모바일 스토리지 제어 장치(도1의 100)의 구성부에 의해서 제어될 수 있다.
버스 선택에 이용되는 제1 스위치(141) 및 제2 스위치(142)로 ICM(Inter-Connection Matrix)가 이용될 수 있다.
다중 버스 채널 블록(140)은 다수개의 버스 중에서 모바일 스토리지 프로세서(도2의 110)에 의해 버스가 선택됨으로써 데이터 송수신이 이루어진다. 다중 버스 채널 블록은 고속 버스로 많은 양의 데이터가 로딩(Loading)될 때, 모바일 스토리지 프로세서(도2의 110)에 의해서 선택된 별도의 버스로 일부 데이터를 로딩함으로써, 데이터 전송 속도를 높일 수 있다.
이와 같은 다중 버스 채널(140)에 의해 모바일 스토리지 제어 장치(도1의 200)는 고속의 데이터 송수신할 수 있다. 모바일 스토리지 제어 장치(도2의 100)는 다중 버스 채널(140)에 의해 데이터 버스를 확대하여 사용할 수 있으므로, 대용량의 데이터가 송수신될 경우에도, 대용량의 데이터를 고속으로 처리할 수 있다.
도5는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 고속 주변 블록을 나타낸 블록도이다.
도5를 참조하면, 고속 주변 블록(150)은 인터럽트 컨트롤러(151), FTL(FTL Pattern Search) 패턴 서치(152), 그리고 DMA(Direct Memory Access) 컨트롤러(153)를 포함할 수 있다.
인터럽트 컨트롤러(151)는 모바일 스토리지 제어 장치(100)의 외부 주변 블록에서 발생하는 인터럽트 신호를 모바일 스토리지 프로세서(110)가 인지할 수 있도록 할 수 있다. 인터럽트 컨트롤러(151)는 인터럽트를 점검하고 인지하여 해당 루틴을 실행하도록 하는 레지스터를 포함할 수 있다. 또한, 인터럽트 컨트롤러(151)는 다수의 인터럽트 입력에 대한 우선 순위를 정하고 처리하는 기능을 포함할 수 있다.
FTL 패턴 서치(152)는 플래시 컨트롤러가 어드레스 맵핑, 불량 블록 관리, 쓰레기 수집 및 소거 블록 평준화 기법 등의 기능을 수행하는데 필요한 패턴을 찾는 블록이다.
DMA 컨트롤러(153)는 고속 버스에 연결되어 직접 메모리 접근 방식으로 기능을 수행하는 블록이다. DMA 컨트롤러(153)는 다수개의 DMA 채널과 DMA 리퀘스트 라인(Request Line)을 제공한다. DMA 컨트롤러(153)는 다수개의 채널로부터 발생하는 명령을 우선 순위에 따라 처리한다. DMA 컨트롤러(153)의 각 채널에는 FIFO가 위치한다. 또한 DMA 컨트롤러(153)의 임시 버퍼 사이즈는 조정이 가능하다. DMA 컨트롤러(153)는 DMA 에러 발생 및 DMA 카운터가 '0'에 도달하였을 때, DMA 인터럽트를 모바일 스토리지 프로세서에 알리고, 인터럽트를 통하여 데이터 transfer가 완료 혹은 에러가 있음을 알린다.
본 발명의 실시 예에 의한 고속 주변 블록(150)에 의하면, 수십 ~ 수백 MHz 대의 고속 데이터를 처리하는 경우에도, 속도의 저하 없이 빠르게 처리될 수 있다.
도6는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 저속 주변 블록을 나타낸 블록도이다.
도6를 참조하면, 저속 주변 블록(160)은 시스템 레지스터(161), 타이머(Timer, 162), I2S(Inter-IC Sound, 163), GPIO(General Purpose Input/Output, 164) 및 UART(Universal Asynchronous Receiver/Transmitter, 165) 등을 포함할 수 있다.
시스템 레지스터(161)는 모바일 스토리지 프로세서(110)에 의해 사용되는 내부 시스템 레지스터 블록이다. 시스템 레지스터(161)는 모바일 스토리지 프로세서(110)의 현재 상태 값 등을 임시로 저장할 수 있다. 즉, 시스템 레지스터(161)는 모바일 스토리지 프로세서(110)가 동작하면서 필요한 정보 및 동작 결과를 일시적으로 저장함으로써 현재의 상태 값을 기억하기 위한 저장장치이다. 시스템 레지스터(161)는 사용되는 용도에 따라 각각의 기능을 하며, 시스템 레지스터(161) 내의 각각의 비트는 설계 시 미리 정의될 수 있다. 시스템 레지스터(161)는 시작 및 끝 어드레스(address)를 가지며 메모리 맵 상에 정의된다.
타이머(162)는 다운 카운터(Down Counter) 동작을 한다. 타이머(162)는 동작 시, 카운트가 0(Zero)가 되면, 인터럽트 신호를 발생한다. 타이머(162)는 Free-running, Periodic, One-short timer 모드로 설정되어 사용되며, 예를 들면, 전치 분주기(Prescaler Divider) 등이 있다. 타이머(162)의 인터럽트 발생을 위해 파라미터(parameter)를 설정할 수 있다, 반대로, 타이머(162)의 인터럽트 발생을 막기 위한 인터럽트 마스킹(masking)도 할 수 있다.
I2S(163)는 디지털 오디오 신호를 송수신을 위한 인터페이스이다. I2S(163)는 CD 플레이어, DSP, 디지털 TV 음향 및 디지털 오디오 장치 등을 위한 직렬 버스 설계이다. I2S(163)는 클럭과 오디오 데이터 신호를 분리하여 처리함으로써, 매우 낮은 지터(Jitter)를 갖는다. 지터는 디지털 아날로그 신호 변환에서 신호가 왜곡되는 정도를 나타낸다. 따라서 I2S(163)는 지터 방지 장치 등이 필요 없게 된다. I2S(163)의 I2S 버스는 클럭 회선을 위한 비트 클럭 라인(Bit Clock Line), 워드 선택용의 워드 클럭 라인(Word Clock Line) 및 데이터 채널을 위한 회선인 데이터 라인(Data Line)의 세 개의 라인으로 구성된다.
GPIO(164)는 외부 장치 또는 주변 장치와의 인터페이스를 위한 범용 입출력 인터페이스 핀 이다. GPIO(164)의 각 핀은 입력 또는 출력으로 설정 될 수 있다. 또한 GIPO(164)의 각 핀을 그룹화 하여 사용할 수 있다. GPIO(164)는 모바일 스토리지 프로세서(110)의 인터럽트 신호를 생성하거나 다량의 데이터를 외부로 송신 또는 수신할 때 사용된다. 또한, GPIO(164)는 핀의 풀-업(Pull-Up) 또는 풀-다운(Pull-Down) 기능과 드라이버를 이용하여 다른 전압의 신호를 수신하거나 출력할 수 있는 기능을 수행할 수 있다.
UART(165)는 모바일 스토리지 프로세서(110)와 외부 장치 간의 직렬 통신 및 데이터 송수신을 위한 인터페이스를 제어하는 제어기이다. 특히, UART(165)는 모바일 스토리지를 포함하는 모바일 스토리지 시스템의 초기 부팅 시 호스트 프로세서(300)의 부팅 코드를 모바일 스토리지 프로세서(110)로 전송한다. UART(165)는 바이트(Byte) 데이터를 각각의 비트(Bit) 데이터로 변환하여 순차적으로 전송할 수 있다. UART(165)는 병렬 형태의 데이터를 직렬 형태의 데이터로 변환하여 전송할 수 있다. 또한, UART(165)는 모바일 스토리지 프로세서(110)와 직렬 통신하는 외부 장치의 속도 차이를 완충하기 위한 버퍼(Buffer)를 내장할 수 있다.
도7는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 기타 블록을 나타낸 블록도이다.
도7를 참조하면, 기타 블록(170)은 모드 전환 블록(171), PLL(Phase Locked Loop) 블록(172) 및 클럭 & 리셋(Clock & Reset) 블록(173)을 포함할 수 있다.
모드 전환 블록(171)은 모바일 스토리지 제어 장치의 전력 모드 전환을 수행한다. 모드 전환은 모바일 스토리지 제어 장치가 슬립 모드(Sleep Mode)에서 활동 모드(Active Mode)로, 활동 모드에서 슬립 모드로 또는 슬립 모드 및 활동 모드에서 딥 슬립 모드(Deep Sleep Mode)로 전환되는 것이다. 슬립 모드는 모드 전환 블록을 제외한 모바일 스토리지 제어 장치의 블록의 전원이 꺼지는 저전력 상태이다. 딥 슬립 모드는 슬립 모드 상태에서 모드 전환 블록의 전원이 꺼진다. 즉, 딥 슬립 모드는 모바일 스토리지 제어 장치의 모든 블록의 전원이 꺼지는 초저전력 상태이다. 이와 같은 모드 전환 블록(171)에 의해서, 모바일 스토리지 제어 장치(도1의 300)의 동작 상태에 따라서 저전력 또는 초저전력 상태로 모드 변환이 가능하므로 전력 소모가 감소 된다.
PLL 블록(172)은 외부 및 내부 주파수를 이용하여 주파수를 합성 기능을 수행한다.
클럭 & 리셋 블록(173)은 모바일 스토리지 제어 장치 내부에서 사용되는 클럭 신호 또는 리셋 신호를 발생시킨다.
도8은 본 발명의 일 실시예에 따른 모바일 스토리지 시스템을 구체적으로 나타낸 예시도이다.
도8을 참조하면, 모바일 스토리지 시스템은 호스트 프로세서(300), 스토리지(200) 및 모바일 스토리지 제어 장치(100)를 포함할 수 있다.
호스트 프로세서(300)는 모바일의 송수신 통신 신호 처리, 신호 압축 처리, 에러 정정 및 통신 시스템 제어 등의 베이스밴드 프로세서를 포함할 수 있다. 호스트 프로세서(300)는 모바일의 응용 및 멀티미디어 기능을 수행하는 프로세서인 AP/MP(Application Processor/Multimedia Processer)를 포함할 수 있다. 호스트 프로세서(300)는 베이스 밴드 프로세서 또는 AP/AP 중 어느 하나의 프로세서로 구성되거나 두 개의 프로세서가 하나의 통합된 단일 구조로 구성될 수 있다.
스토리지(200)는 모바일의 프로그램 및 데이터가 저장된다. 스토리지(200)는 휘발성 메모리와 비휘발성 메모리를 포함할 수 있다. 비휘발성 메모리 중에서 모바일에 포함된 플래시 메모리는 호스트 프로세서(300) 및 모바일 스토리지 제어 장치(200)에서 사용되는 프로그램 및 데이터가 저장될 수 있다.
휘발성 메모리는 DP 메모리 및 DRAM을 포함할 수 있다. DP 메모리는 호스트 프로세서(300)와 모바일 스토리지 프로세서(110) 간의 명령 및 데이터 송수신을 위한 메모리이다. DRAM은 모바일 스토리지 프로세서(110)가 호스트 프로세서(300)의 명령에 따라 데이터 처리를 하기 위해서, 스토리지(200)의 제어를 위한 소프트웨어가 임시 저장되어 실행되는 메모리이다.
스토리지(200)는 모바일에 포함된 플래시 메모리, DP 메모리 및 DRAM 뿐만 아니라, 모바일과 연결되는 외부 장치의 스토리지를 포함할 수 있다.
비휘발성 메모리는 모바일에 포함된 플래시 메모리뿐만 아니라 모바일과 연결된 외부장치의 스토리지를 포함할 수 있다. 외부 장치의 스토리지는 USB 스틱(Stick), SD/MMC 카드, 기타 외장형 플래시 메모리 등을 포함할 수 있다
모바일 스토리지 제어 장치(100)는 모바일의 스토리지를 통합적으로 제어하는 장치이다. 모바일 스토리지 제어 장치(100)는 모바일 스토리지 프로세서(110), 브리지(120), 내부 스토리지(113), 저속 주변 블록(160), 스토리지 제어 블록(130), 고속 주변 블록(150), 모드 전환 블록(171), PLL 블록(172), 클럭 & 리셋 블록(173), 고속 버스(112), 저속 버스(111) 및 다중 버스 채널 블록(140)을 포함할 수 있다.
모바일 스토리지 프로세서(110)는 모바일 스토리지를 제어하는 기능을 수행한다. 모바일 스토리지 프로세서(110)는 스토리지(200)의 데이터 및 프로그램에 대해 읽기 및 쓰기 기능을 수행한다.
브리지(120)는 고속 버스(112)와 저속 버스(111) 간의 데이터 송수신이 가능하도록 한다.
내부 스토리지(113)는 모바일 스토리지 프로세서(110)의 동작 수행을 위한 프로그램 및 임시 데이터를 저장할 수 있다. 내부 스토리지(113)는 모바일 스토리지 프로세서(110)의 부팅 시 필요한 프로그램이 저장된 ROM과 모바일 스토리지 프로세서(110)의 프로그램 수행 시 필요한 프로그램 및 데이터를 임시로 저장하는 SRAM을 포함할 수 있다.
저속 주변 블록(160)은 저속으로 동작하는 장치들을 나타낸다. 예를 들면, 저속 주변 블록(160)은 시스템 레지스터, 타이머, I2S, GPIO 및 UART 등을 포함할 수 있다.
스토리지 제어 블록(130)은 스토리지(200)와 모바일 스토리지 제어 장치(100)의 통신 및 데이터 송수신을 위한 인터페이스 블록이다. 스토리지 제어 블록(130)은 EMI(External Memory Interface, 131), USB(132), SD/MMC(Secure Digital/Multimedia Card, 133), DDR 컨트롤러(134) 및 플래시 컨트롤러(135)를 포함할 수 있다.
EMI(131)는 외부에 추가적인 스토리지를 둘 때 사용된다. EMI(131)는 모바일 스토리지 프로세서(110)의 디버깅 기능을 수행할 수 있도록 한다. 예를 들면, EMI(131)는 필요에 따라서 외부 프로그램을 내부 스토리지(113)의 SRAM에 다운로드 하여 모바일 스토리지 프로세서(110)의 각 부분의 기능을 점검하는데 사용될 수 있다.
USB(132)는 플러그 앤 플레이(Plug & Play) 방식으로 외부 스토리지를 간단히 연결 및 추가 할 수 있도록 한다.
SD/MMC(133)는 디지털 카메라, PDA, 미디어 플레이어, 모바일 폰, GPS 리시버 및 비디오 게임 등의 장치에 사용되며, 데이터 송수신이 가능하다.
DDR 컨트롤러(134)는 스토리지(200)의 DRAM을 제어한다. DDR 컨트롤러(134)는 호스트 프로세서(300)와 고속으로 데이터 송수신이 가능하게 한다. DDR 컨트롤러(134)에 DDR ICM(Inter Connection Matrix)가 포함될 수 있다. DDR ICM은 DDR 컨트롤러(134)에 연결된 버스 중에서 데이터를 송수신 하기 위해 사용될 버스를 선택 할 수 있다.
플래시 컨트롤러(135)는 스토리지(200)의 플래시 메모리를 제어한다. 플래시 컨트롤러(135)는 플래시 메모리의 어드레스 맵핑(Address Mapping), 불량 블록 관리, 쓰레기 수집(Garbage Collection) 및 소거 블록 평준화 기법(Wear-Leveling)등의 기능을 포함한다. 플래시 컨트롤러(135)는 플래시 ICM(Inter Connection Matrix)를 포함할 수 있다. 플래시 ICM에 의해서 플래시 컨트롤러에 연결된 버스 중에서 데이터 및 프로그램을 송수신 하기 위해 사용될 버스가 선택될 수 있다.
고속 주변 블록(150)은 인터럽트 컨트롤러(151), FTL 패턴 서치(FTL Pattern Search, 152), DMA(Direct Memory Access) 컨트롤러(153)를 포함할 수 있다.
인터럽트 컨트롤러(151)는 모바일 스토리지 제어 장치(100)의 외부 주변 블록에서 발생하는 인터럽트 신호를 모바일 스토리지 프로세서(110)가 인지할 수 있도록 할 수 있다. 인터럽트 컨트롤러(151)는 다수의 입력 인터럽트에 대해서 우선 순위를 정하고 처리하는 기능을 포함할 수 있다.
FTL 패턴 서치(152)는 플래시 컨트롤러(135)가 어드레스 맵핑, 불량 블록 관리, 쓰레기 수집 및 소거 블록 평준화 기법 등의 기능을 수행하는데 필요한 패턴을 찾을 수 있다.
DMA 컨트롤러(153)는 고속 버스에 연결되어 직접 메모리 접근 방식으로 기능을 수행할 수 있다. DMA 컨트롤러(153)는 다수개의 DMA 채널과 DMA 리퀘스트 라인(Request Line)을 제공할 수 있다. DMA 컨트롤러(153)는 다수개의 채널로부터 발생하는 명령을 우선 순위에 따라 처리할 수 있다. DMA 컨트롤러(153)는 DMA 에러 발생 및 DMA 카운터'0'에 도달하였을 때, DMA 인터럽트를 모바일 스토리지 프로세서(110)에 알리고, DMA 인터럽트를 통하여 데이터 전송 완료 혹은 에러가 있음 알린다.
모드 전환 블록(171)은 모바일 스토리지 제어 장치(100)의 전력 모드 전환을 수행할 수 있다.
PLL 블록(172)은 외부 및 내부 주파수를 이용하여 주파수를 합성하는 기능을 수행한다.
클럭 & 리셋 블록(173)은 모바일 스토리지 제어 장치의 내부에서 사용되는 클럭 신호 또는 리셋 신호를 발생한다.
다중 버스 채널 블록(140)은 다수개의 버스와 제1 스위치(141) 및 제2 스위치(142)를 포함할 수 있다. 다중 버스 채널 블록(140)은 고속 버스(112)로 로딩되는 데이터 양이 많은 경우, 모바일 스토리지 프로세서(110)에 의해서 하나 이상의 버스에 일부 데이터를 로딩한다. 또한 다중 버스 채널 블록(140)은 DDR 컨트롤러(134)를 통해 수신된 데이터를 Flash 컨트롤러(135)로 전송할 때 사용될 수 있다.
본 발명의 실시예에 의한 스토리지 제어 장치(100)는 스토리지(200)를 이용하여 호스트 프로세서(300)와 데이터를 송수신한다. 특히, 스토리지(200)제어를 위해 호스트 프로세서(300)와 모바일 스토리지 프로세서(110)간의 데이터 송수신이 스토리지(200)의 DRAM 및 DP메모리를 통해서 이루어진다.
따라서, 저속의 스토리지(200)인 플래시 메모리를 호스트 프로세서(300)가 직접 제어할 때보다 모바일 스토리지 프로세서(110)로 제어할 때, 호스트 프로세서(300)의 점유율을 감소 시킬 수 있다.
또한, 스토리지(200)의 제어를 위해 모바일 스토리지 프로세서(110)와의 송수신을 고속의 DRAM 및 DP 메모리를 이용함으로써, 고속의 스토리지(200)제어가 가능하다.
또한, DRAM 및 DP 메모리의 활용으로 플래시 메모리의 접근 횟수가 감소되어 플래시 메모리의 수명을 향상시킬 수 있다.
또한, 다중 버스 채널(140)에 의해 모바일 스토리지 제어 장치(200)가 고속 버스에 로딩되는 데이터 양이 증가하는 경우에도 다중 버스 채널에서 선택한 별개의 버스를 사용함으로써, 데이터를 고속으로 처리할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100 : 모바일 스토리지 제어 장치 110 : 모바일 스토리지 프로세서
111 : 저속 버스 112 : 고속 버스
113 : 내부 스토리지 130 : 스토리지 제어 블록
140 : 다중 버스 채널 블록 150 : 고속 주변 블록
160 : 저속 주변 블록 171 : 모드 전환 블록
172 : PLL 블록 173 : 클럭 & 리셋 블록
200 : 스토리지 300 : 호스트 프로세서
111 : 저속 버스 112 : 고속 버스
113 : 내부 스토리지 130 : 스토리지 제어 블록
140 : 다중 버스 채널 블록 150 : 고속 주변 블록
160 : 저속 주변 블록 171 : 모드 전환 블록
172 : PLL 블록 173 : 클럭 & 리셋 블록
200 : 스토리지 300 : 호스트 프로세서
Claims (17)
- 모바일의 스토리지(Storage)를 제어하는 모바일 스토리지 제어 장치에 있어서,
스토리지에 접근하여 상기 스토리지에 데이터를 저장하거나, 상기 스토리지에 저장된 데이터를 읽어오며, 호스트 프로세서의 명령어 및 데이터가 듀얼 포트 메모리에 임시 저장된 경우 발생하는 인터럽트를 수신하는 스토리지 제어 블록; 및
상기 스토리지 제어 블록이 인터럽트를 수신하면, 상기 스토리지 제어 블록을 통해 상기 듀얼 포트 메모리의 명령어를 수신하고, 상기 명령어에 상응하는 수행 결과를 상기 듀얼 포트 메모리로 전송하는 모바일 스토리지 프로세서를 포함하며, 상기 모바일 스토리지 프로세서는
상기 스토리지 제어 블록이 상기 인터럽트를 수신하면, 상기 듀얼 포트 메모리의 소유권을 확인하고,
상기 소유권을 갖는다면, 상기 듀얼 포트 메모리에 저장된 명령을 수행하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
- 삭제
- 제1항에 있어서,
상기 모바일 스토리지 프로세서는
상기 명령어에 상응하는 수행 결과를 상기 듀얼 포트 메모리로 전송 시 상기 듀얼 포트 메모리의 소유권을 상기 호스트 프로세서로 이전하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
- 제1항에 있어서,
상기 스토리지는
상기 호스트 프로세서와 상기 모바일 스토리지 프로세서 간의 명령 및 데이터 전송을 위한 휘발성 메모리; 및
상기 모바일 스토리지 프로세서에 의해 데이터가 저장되는 비휘발성 메모리를 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
- 제1항에 있어서,
상기 스토리지 제어 블록은
EMI, USB, SD/MMC, DDR 컨트롤러, 플래시 컨트롤러 중 어느 하나 이상을 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
- 제1항에 있어서,
상기 모바일 스토리지 제어 장치는
상기 모바일 스토리지 제어 장치의 전력 모드 전환을 위한 전력 모드 전환 블록을 더 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
- 제6항에 있어서,
상기 전력 모드 전환 블록은
상기 모바일 스토리지 제어 장치가 슬립 모드에서 활동 모드로, 활동 모드에서 슬립 모드로 또는 슬립 모드 및 활동 모드에서 딥 슬립 모드로 전환되도록 동작하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
- 제7항에 있어서,
상기 슬립 모드는
상기 전력 모드 전환 블록을 제외한 모바일 스토리지 제어 장치의 블록의 전원이 꺼지는(OFF) 저전력 동작 상태인 것을 특징으로 하는 모바일 스토리지 제어 장치.
- 제7항에 있어서,
상기 딥 슬립 모드는
상기 슬립 모드 상태에서 상기 전력 모드 전환 블록의 전원이 꺼지는(OFF) 초저전력 동작 상태인 것을 특징으로 하는 모바일 스토리지 제어 장치.
- 제1항에 있어서,
상기 모바일 스토리지 프로세서는
RISC(Reduced Instruction Set Computer) 구조의 마이크로 프로세서로 구성되는 것을 특징으로 하는 모바일 스토리지 제어 장치.
- 제1항에 있어서,
상기 모바일 스토리지 프로세서는 DDR 인터페이스을 통하여 호스트 프로세서와 데이터 송수신을 하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
- 제1항에 있어서,
상기 스토리지로부터 수신한 명령 및 데이터를 상기 모바일 스토리지 프로세서에 고속으로 전송하기 위한 신호 처리를 수행하는 고속 주변 블록;
상기 모바일 스토리지 프로세서에 의해 상기 고속 주변 블록을 통해 수신한 상기 명령을 수행하기 위한 데이터가 임시 저장되는 내부 스토리지;
상기 내부 스토리지, 상기 스토리지 제어 블록 및 상기 고속 주변 블록이 상기 모바일 스토리지 프로세서와 상기 명령 및 상기 데이터를 고속으로 송수신하기 위한 고속 버스; 및
상기 고속 주변 블록과 상기 모바일 스토리지 프로세서 간의 송수신 되는 데이터 양의 증가로 상기 고속 버스에 로딩(Loading)되는 데이터 양이 증가한 경우, 상기 모바일 스토리지 프로세서에 의해 선택되어 사용되는 다수개의 버스로 구성된 다중 버스 채널 블록을 더 포함하는 모바일 스토리지 제어 장치.
- 제12항에 있어서,
상기 다중 버스 채널은,
데이터 송수신을 위한 다수개의 버스; 및
상기 모바일 스토리지 프로세서에 의해 제어되어, 상기 다수개의 버스 중에서 하나의 버스와 상기 고속 버스가 연결 되도록 하는 스위치를 더 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
- 제12항에 있어서,
상기 내부 스토리지는 ROM, SRAM 중 어느 하나 이상을 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
- 제12항에 있어서,
상기 고속 주변 블록은 인터럽트 컨트롤러, FTL 패턴 서치, DMA 컨트롤러 중 어느 하나 이상을 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
- 제12항에 있어서,
상기 모바일의 저속의 외부 장치와 연결되며, 상기 모바일 스토리지 프로세서와 상기 저속의 외부 장치 간에 데이터를 송수신을 위한 인터페이스를 수행하는 저속 주변 블록;
상기 저속 주변 블록과 브리지 간의 데이터 송수신을 위한 저속 버스; 및
상기 브리지는 상기 고속 버스와 상기 저속 버스 간의 데이터 송수신을 위한 인터페이스를 수행하는 것을 더 포함하는 모바일 스토리지 제어 장치.
- 제16항에 있어서,
상기 저속 주변 블록은 시스템 레지스터, 타이머, I2S, GPIO 및 UART 중 어느 하나 이상을 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100011123A KR101101867B1 (ko) | 2010-02-05 | 2010-02-05 | 모바일 스토리지 제어 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100011123A KR101101867B1 (ko) | 2010-02-05 | 2010-02-05 | 모바일 스토리지 제어 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110091337A KR20110091337A (ko) | 2011-08-11 |
KR101101867B1 true KR101101867B1 (ko) | 2012-01-05 |
Family
ID=44928792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100011123A KR101101867B1 (ko) | 2010-02-05 | 2010-02-05 | 모바일 스토리지 제어 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101101867B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100619720B1 (ko) * | 2005-05-16 | 2006-09-06 | 엘지전자 주식회사 | 다중 프로세서간 통신 장치 및 방법 |
-
2010
- 2010-02-05 KR KR1020100011123A patent/KR101101867B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100619720B1 (ko) * | 2005-05-16 | 2006-09-06 | 엘지전자 주식회사 | 다중 프로세서간 통신 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20110091337A (ko) | 2011-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11782647B2 (en) | Managing operational state data in memory module | |
US20240020008A1 (en) | Apparatus and method to share host system ram with mass storage memory ram | |
US20210191618A1 (en) | Apparatus and Method to Provide Cache Move with Non-Volatile Mass Memory System | |
US9619175B2 (en) | Embedded multimedia card (eMMC), host for controlling the eMMC, and methods of operating the eMMC and the host | |
KR102447493B1 (ko) | 랭크 단위로 메모리 장치를 트레이닝하는 전자 장치 및 그것의 메모리 트레이닝 방법 | |
US11526440B2 (en) | Providing multiple memory modes for a processor including internal memory | |
KR100708128B1 (ko) | 낸드 플래시 메모리 제어 장치 및 방법 | |
US9164804B2 (en) | Virtual memory module | |
JPWO2004077306A1 (ja) | Sdioコントローラ | |
US10255218B1 (en) | Systems and methods for maintaining specific ordering in bus traffic | |
CN115033520A (zh) | Iic数据传输方法、装置、单片机设备及存储介质 | |
CN116185907A (zh) | 桥接装置与数据储存系统 | |
KR20140080948A (ko) | 데이터 저장 장치의 동작 방법 | |
WO2009115058A1 (zh) | 提供闪存存储功能的主板及其存储方法 | |
KR101101867B1 (ko) | 모바일 스토리지 제어 장치 | |
CN112306558A (zh) | 处理单元、处理器、处理系统、电子设备和处理方法 | |
US20180336147A1 (en) | Application processor including command controller and integrated circuit including the same | |
KR20100116934A (ko) | 데이터 저장 장치 및 그것을 포함하는 정보 처리 시스템 | |
CN115878021A (zh) | 计算机可读取存储介质、写入数据到闪存存储器的方法及装置 | |
KR20090095842A (ko) | 메모리 복사 방법 및 그 방법을 이용하는 컴퓨터 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20141224 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151224 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20161227 Year of fee payment: 6 |