[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR101101867B1 - Mobile storage control device - Google Patents

Mobile storage control device Download PDF

Info

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
Application number
KR1020100011123A
Other languages
Korean (ko)
Other versions
KR20110091337A (en
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 KR1020100011123A priority Critical patent/KR101101867B1/en
Publication of KR20110091337A publication Critical patent/KR20110091337A/en
Application granted granted Critical
Publication of KR101101867B1 publication Critical patent/KR101101867B1/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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]

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)를 제어하는 모바일 스토리지 제어 장치에 있어서, 스토리지에 접근하여 스토리지에 데이터를 저장하거나, 스토리지에 저장된 데이터를 읽어오며, 호스트 프로세서의 명령어 및 데이터가 듀얼 포트 메모리에 임시 저장된 경우 발생하는 인터럽트를 수신하는 스토리지 제어 블록 및 스토리지 제어 블록이 인터럽트를 수신하면, 스토리지 제어 블록을 통해 듀얼 포트 메모리의 명령어를 수신하고, 명령어에 상응하는 수행 결과를 듀얼 포트 메모리로 전송하는 모바일 스토리지 프로세서를 포함한다. 본 발명에 따르면, 모바일 스토리지 제어 장치에 의해 호스트 프로세서가 모바일 스토리지를 저전력 및 고속 제어가 가능하게 되므로, 모바일 성능이 향상되는 효과가 있다.The present invention relates to a mobile storage control device. In the mobile storage control device for controlling the storage of the mobile according to the present invention, access to the storage to store data in the storage, or read data stored in the storage, the command and data of the host processor to the dual port memory When the storage control block and the storage control block receiving an interrupt that occur when temporarily stored receive the interrupt, the storage control block receives a command of the dual port memory and transmits the result corresponding to the command to the dual port memory. Storage processor. According to the present invention, since the host processor enables low power and high speed control of the mobile storage by the mobile storage control device, the mobile performance is improved.

Description

모바일 스토리지 제어 장치{MOBILE STORAGE CONTROL DEVICE}MOBILE STORAGE CONTROL DEVICE}

본 발명은 모바일 스토리지 제어 장치에 관한 것이다. 더욱 상세하게는 모바일 스토리지를 저전력 및 고속으로 제어가 가능하게 하는 모바일 스토리지 제어 장치에 관한 것이다.
The present invention relates to a mobile storage control device. More particularly, the present invention relates to a mobile storage control device that enables low power and high speed control of mobile storage.

모바일 기기를 이용한 영화, 게임 및 인터넷 등과 같은 멀티미디어 서비스가 보편화 되고 멀티미디어 기능이 증대되고 있다. 반면에 모바일 기기는 점점 더 소형화되고 있다. 따라서 대용량의 정보를 보다 적은 전력으로 빠르게 처리하기 위한 모바일 스토리지 프로세서 제어 시스템이 요구되고 있다.Multimedia services such as movies, games, and the Internet using mobile devices are becoming more common and multimedia functions are increasing. Mobile devices, on the other hand, are becoming smaller and smaller. Therefore, there is a demand for a mobile storage processor control system for processing a large amount of information quickly with less power.

종래 기술은 크게 두 가지로 나눌 수 있다. 우선, 제1 세대 기술로 호스트 프로세서에 DRAM(Dynamic-Random-Access-Memory) 및 NAND(NAND 구조의 비휘발성 메모리)를 직접 붙여서 사용하는 구조이다. 이 구조에서 프로세서가 직접 NAND 메모리 운용을 위해 NFC(NAND-Flash-Controller; 이하, "NFC"라 함) 및 FTL(Flash-Translation-Layer; 이하, "FTL"이라 함) 등을 운용하는 것이다. 이는 호스트 프로세서에 부담이 되어 성능이 저하되는 단점이 있다. 또한, 새로운 공정의 NAND 메모리가 사용될 때마다 NFC 또는 FTL이 수정되어야 하므로 생산 효율이 저하된다.The prior art can be largely divided into two. First, a first generation technology is a structure in which DRAM (Dynamic-Random-Access-Memory) and NAND (NAND structured nonvolatile memory) are directly attached to a host processor. In this structure, the processor directly operates NFC (NAND-Flash-Controller; hereinafter referred to as "NFC") and FTL (Flash-Translation-Layer; hereinafter referred to as "FTL") for NAND memory operation. This is a burden on the host processor has a disadvantage in that performance is reduced. In addition, each time a new process NAND memory is used, the NFC or FTL must be modified, resulting in reduced production efficiency.

다른 기술은 제2 세대 기술로 호스트 프로세서에 모바일 DRAM과 NAND 메모리 전용 제어기가 붙여진 형태이다. 이는 제1 세대 기술과 달리 NAND 메모리가 호스트 프로세서와 직접 붙지 않는다. 이와 같은 구조에서 제1 세대 기술에 비해 호스트 프로세서가 NAND 메모리를 처리하는 부담이 줄어들었다 할 수 있다. 그러나, NAND 전용 제어기의 적은 버퍼의 특성상 대용량 데이터를 송수신 할 경우 성능이 저하된다는 단점이 있다. 또한, 하드웨어 접속에 있어서도 DRAM 연결을 위한 DDR(Double-Data-Rate) 인터페이스와 NAND 메모리 제어기 연결을 위한 인터페이스, 즉 두 종류의 인터페이스 연결이 필요하기 때문에 회로가 복잡하게 된다.
Another technology is the second generation, in which the host processor is equipped with a dedicated controller for mobile DRAM and NAND memory. This is unlike the first generation technology, where NAND memory does not attach directly to the host processor. In this structure, compared to the first generation technology, the burden of processing the NAND memory by the host processor may be reduced. However, due to the nature of the small buffer of the NAND dedicated controller, there is a disadvantage in that performance is degraded when transmitting and receiving large data. In addition, even in a hardware connection, a circuit is complicated because a double-data-rate (DDR) interface for DRAM connection and an interface for NAND memory controller connection are required, that is, two types of interface connection.

본 발명은 모바일 기능 수행 시, 호스트 프로세서가 매번 저속 저장매체에 접속하지 않고 고속으로 모바일 기능이 처리되는 모바일 스토리지 제어 장치를 제공하는 것이다.The present invention provides a mobile storage control device in which a mobile processor processes a mobile function at a high speed without accessing a low-speed storage medium every time a mobile function is performed.

또한, 본 발명은 모바일 기능 수행 시, 호스트 프로세서의 CPU 사용 점유율을 감소시켜 성능을 향상시키는 모바일 스토리지 제어 장치를 제공하는 것이다.In addition, the present invention provides a mobile storage control device that improves performance by reducing the CPU usage of the host processor when performing the mobile function.

또한, 본 발명은 전력 소모를 줄일 수 있는 모바일 스토리지 제어 장치를 제공하는 것이다.
In addition, the present invention is to provide a mobile storage control device that can reduce power consumption.

본 발명의 일 측면에 의하면, 모바일의 스토리지(Storage)를 제어하는 모바일 스토리지 제어 장치에 있어서, 스토리지에 접근하여 스토리지에 데이터를 저장하거나, 스토리지에 저장된 데이터를 읽어오며, 호스트 프로세서의 명령어 및 데이터가 듀얼 포트 메모리에 임시 저장된 경우 발생하는 인터럽트를 수신하는 스토리지 제어 블록 및 스토리지 제어 블록이 인터럽트를 수신하면, 스토리지 제어 블록을 통해 듀얼 포트 메모리의 명령어를 수신하고, 명령어에 상응하는 수행 결과를 듀얼 포트 메모리로 전송하는 모바일 스토리지 프로세서를 포함하는 모바일 스토리지 제어 장치가 제공된다.According to an aspect of the present invention, in a mobile storage control device for controlling a storage of a mobile, the storage device to access the data stored in the storage, or read data stored in the storage, and instructions and data of the host processor When the storage control block and the storage control block that receive an interrupt that occur when temporarily stored in the dual port memory receive an interrupt, the storage control block receives a command of the dual port memory and outputs the corresponding execution result corresponding to the command. A mobile storage control device is provided that includes a mobile storage processor for transmitting to the server.

모바일 스토리지 프로세서는 스토리지 제어 블록이 인터럽트를 수신하면, 듀얼 포트 메모리의 소유권을 확인하고, 소유권을 갖는다면, 듀얼 포트 메모리에 저장된 명령을 수행할 수 있다.The mobile storage processor may verify ownership of the dual port memory when the storage control block receives an interrupt, and execute instructions stored in the dual port memory if the storage control block has ownership.

모바일 스토리지 프로세서는 명령어에 상응하는 수행 결과를 듀얼 포트 메모리로 전송 시 듀얼 포트 메모리의 소유권을 호스트 프로세서로 이전할 수 있다.The mobile storage processor may transfer ownership of the dual port memory to the host processor when transferring a result corresponding to the instruction to the dual port memory.

스토리지는 호스트 프로세서와 모바일 스토리지 프로세서 간의 명령 및 데이터 전송을 위한 휘발성 메모리 및 모바일 스토리지 프로세서에 의해 데이터가 저장되는 비휘발성 메모리를 포함할 수 있다.The storage may include volatile memory for transferring commands and data between the host processor and the mobile storage processor, and nonvolatile memory in which data is stored by the mobile storage processor.

스토리지 제어 블록은 EMI, USB, SD/MMC, DDR 컨트롤러, 플래시 컨트롤러 중 어느 하나 이상을 포함할 수 있다.The storage control block may include one or more of EMI, USB, SD / MMC, DDR controller, and flash controller.

모바일 스토리지 제어 장치는 모바일 스토리지 제어 장치의 전력 모드 전환을 위한 전력 모드 전환 블록을 더 포함할 수 있다.The mobile storage control device may further include a power mode switching block for power mode switching of the mobile storage control device.

스토리지는 호스트 프로세서와 모바일 스토리지 프로세서 간의 명령 및 데이터 전송을 위한 휘발성 메모리 및 모바일 스토리지 프로세서에 의해 데이터가 저장되는 비휘발성 메모리를 포함할 수 있다.The storage may include volatile memory for transferring commands and data between the host processor and the mobile storage processor, and nonvolatile memory in which data is stored by the mobile storage processor.

스토리지 제어 블록은 EMI, USB, SD/MMC, DDR 컨트롤러, 플래시 컨트롤러 중 어느 하나 이상을 포함할 수 있다.The storage control block may include one or more of EMI, USB, SD / MMC, DDR controller, and flash controller.

모바일 스토리지 제어 장치는 모바일 스토리지 제어 장치의 전력 모드 전환을 위한 전력 모드 전환 블록을 포함할 수 있다.The mobile storage control device may include a power mode switching block for power mode switching of the mobile storage control device.

전력 모드 전환 블록은 모바일 스토리지 제어 장치가 슬립 모드에서 활동 모드로, 활동 모드에서 슬립 모드로 또는 슬립 모드 및 활동 모드에서 딥 슬립 모드로 전환되도록 동작할 수 있다.The power mode switching block may operate to cause the mobile storage control device to transition from sleep mode to active mode, from active mode to sleep mode, or from sleep mode and active mode to deep sleep mode.

슬립 모드는 전력 모드 전환 블록을 제외한 모바일 스토리지 제어 장치의 블록의 전원이 꺼지는(OFF) 저전력 동작 상태일 수 있다.The sleep mode may be a low power operation state in which blocks of the mobile storage control device except the power mode switching block are turned off.

딥 슬립 모드는 슬립 모드 상태에서 전력 모드 전환 블록의 전원이 꺼지는(OFF) 초저전력 동작 상태일 수 있다.The deep sleep mode may be an ultra low power operation state in which the power mode switching block is turned off in the sleep mode state.

모바일 스토리지 프로세서는 RISC(Reduced Instruction Set Computer) 구조의 마이크로 프로세서로 구성될 수 있다.The mobile storage processor may be configured as a microprocessor having a reduced instruction set computer (RISC) structure.

모바일 스토리지 프로세서는 DDR 인터페이스을 통하여 호스트 프로세서와 데이터 송수신을 할 수 있다.The mobile storage processor can exchange data with the host processor via a DDR interface.

스토리지로부터 수신한 명령 및 데이터를 모바일 스토리지 프로세서에 고속으로 전송하기 위한 신호 처리를 수행하는 고속 주변 블록, 모바일 스토리지 프로세서에 의해 고속 주변 블록을 통해 수신한 명령을 수행하기 위한 데이터가 임시 저장되는 내부 스토리지, 내부 스토리지, 스토리지 제어 블록 및 고속 주변 블록이 모바일 스토리지 프로세서와 명령 및 데이터를 고속으로 송수신하기 위한 고속 버스 및 고속 주변 블록과 모바일 스토리지 프로세서 간의 송수신 되는 데이터 양의 증가로 고속 버스에 로딩(Loading)되는 데이터 양이 증가한 경우, 모바일 스토리지 프로세서에 의해 선택되어 사용되는 다수개의 버스로 구성된 다중 버스 채널 블록을 더 포함할 수 있다.High-speed peripheral block for performing signal processing for high-speed transfer of commands and data received from the storage to the mobile storage processor, Internal storage that temporarily stores data for performing commands received through the high-speed peripheral block by the mobile storage processor , Internal storage, storage control blocks, and high-speed peripheral blocks for high-speed buses for sending and receiving commands and data to and from the mobile storage processor at high speeds, and with the increase in the amount of data sent and received between the high-speed peripheral blocks and mobile storage processors. When the amount of data to be increased, the apparatus may further include a multi-bus channel block including a plurality of buses selected and used by the mobile storage processor.

다중 버스 채널은, 데이터 송수신을 위한 다수개의 버스 및 모바일 스토리지 프로세서에 의해 제어되어, 다수개의 버스 중에서 하나의 버스와 고속 버스가 연결 되도록 하는 스위치를 더 포함할 수 있다.The multi-bus channel may further include a switch controlled by a plurality of buses and a mobile storage processor for data transmission and reception, so that one of the plurality of buses and a high-speed bus are connected.

내부 스토리지는 ROM, SRAM 중 어느 하나 이상을 포함할 수 있다.The internal storage may include one or more of ROM and SRAM.

고속 주변 블록은 인터럽트 컨트롤러, FTL 패턴 서치, DMA 컨트롤러 중 어느 하나 이상을 포함할 수 있다.The fast peripheral block may include any one or more of an interrupt controller, an FTL pattern search, and a DMA controller.

모바일의 저속의 외부 장치와 연결되며, 모바일 스토리지 프로세서와 저속의 외부 장치 간에 데이터를 송수신을 위한 인터페이스를 수행하는 저속 주변 블록, 저속 주변 블록과 브리지 간의 데이터 송수신을 위한 저속 버스 및 고속 버스와 저속 버스 간의 데이터 송수신을 위한 인터페이스를 수행하는 브리지를 더 포함할 수 있다.It is connected to the mobile's low-speed external device, and is a low-speed peripheral block that provides an interface for transmitting and receiving data between the mobile storage processor and the low-speed external device, a low-speed bus and a high-speed bus and a low-speed bus for data transmission and reception between low-speed peripheral blocks and bridges. It may further include a bridge for performing an interface for data transmission and reception between.

저속 주변 블록은 시스템 레지스터, 타이머, I2S, GPIO 및 UART 중 어느 하나 이상을 포함할 수 있다.
The low speed peripheral block may include any one or more of system registers, timers, I2S, GPIOs, and UARTs.

본 발명의 일 실시예에 의하면, 모바일 스토리지 제어 장치에 의해 호스트 프로세서가 매번 저속 저장 매체에 접속하지 않아도 되므로 호스트 프로세서의 CPU 사용 점유율을 감소시킬 수 있다.According to an embodiment of the present invention, since the host processor does not need to access the slow storage medium every time by the mobile storage control device, the CPU usage of the host processor may be reduced.

본 발명의 일 실시예에 의하면, 모바일 스토리지 제어 장치가 프로그램 실행 후 슬립 또는 딥 슬립 모드로 진입 가능하므로 모바일 스토리지 제어 장치 및 모바일 전체 시스템의 전력 소모를 줄일 수 있다.According to an embodiment of the present invention, since the mobile storage control device may enter a sleep or deep sleep mode after executing a program, power consumption of the mobile storage control device and the entire mobile system may be reduced.

본 발명의 일 실시예에 의하면, 모바일 스토리지 제어 장치가 비휘발성 메모리 쓰기 횟수를 줄여 비휘발성 메모리의 수명을 연장할 수 있다.According to an embodiment of the present invention, the mobile storage control device can reduce the number of nonvolatile memory writes to extend the life of the nonvolatile memory.

본 발명의 일 실시예에 의하면, 모바일 시스템의 호스트 프로세서에서 전송된 데이터가 모바일 스토리지 제어 장치를 통하여 스토리지에 저장되므로, 보안이 강화된 모바일 시스템을 제공할 수 있다.
According to an embodiment of the present invention, since the data transmitted from the host processor of the mobile system is stored in the storage through the mobile storage control device, it is possible to provide a security-enhanced mobile system.

도1은 본 발명의 일 실시예에 따른 모바일 스토리지 시스템의 블록도이다.
도2는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치를 나타낸 블록도이다.
도3은 본 발명의 실시 예에 따른 모바일 스토리지 제어 장치의 스토리지 제어 블록을 나타낸 블록도이다.
도4는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 다중 버스 채널 블록을 나타낸 블록도이다.
도5는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 고속 주변 블록을 나타낸 블록도이다.
도6는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 저속 주변 블록을 나타낸 블록도이다.
도7는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 기타 블록을 나타낸 블록도이다.
도8은 본 발명의 일 실시예에 따른 모바일 스토리지 시스템을 구체적으로 나타낸 예시도이다.
1 is a block diagram of a mobile storage system according to an embodiment of the present invention.
2 is a block diagram showing a mobile storage control device according to an embodiment of the present invention.
3 is a block diagram illustrating a storage control block of a mobile storage control apparatus according to an exemplary embodiment of the present invention.
4 is a block diagram illustrating a multi-bus channel block of a mobile storage control apparatus according to an embodiment of the present invention.
5 is a block diagram illustrating a fast neighboring block of the mobile storage control apparatus according to an embodiment of the present invention.
6 is a block diagram illustrating a low speed peripheral block of the mobile storage control apparatus according to an embodiment of the present invention.
Figure 7 is a block diagram showing other blocks of the mobile storage control device according to an embodiment of the present invention.
8 is an exemplary view showing in detail a mobile storage system according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description.

이하, 본 발명에 따른 모바일 스토리지 제어 장치의 실시예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
Hereinafter, an embodiment of a mobile storage control device according to the present invention will be described in detail with reference to the accompanying drawings, in the description with reference to the accompanying drawings, the same or corresponding components are given the same reference numerals and duplicated thereto The description will be omitted.

도1은 본 발명의 일 실시예에 따른 모바일 스토리지 시스템의 블록도이다.1 is a block diagram of a mobile storage system according to an embodiment of the present invention.

도1을 참조하면, 모바일 스토리지 시스템은 호스트 프로세서(300), 스토리지(200) 및 모바일 스토리지 제어 장치(100)를 포함할 수 있다.Referring to FIG. 1, a mobile storage system may include a host processor 300, a storage 200, and a mobile storage control device 100.

호스트 프로세서(300)는 모바일의 통신, 응용 및 멀티미디어 기능을 실행한다. 호스트 프로세서(300)는 스토리지(200)의 휘발성 메모리와의 데이터 송수신을 위한 인터페이스를 갖는다. The host processor 300 executes mobile communication, application, and multimedia functions. The host processor 300 has an interface for transmitting and receiving data with the volatile memory of the storage 200.

모바일 스토리지 제어 장치(100)는 모바일의 내부 스토리지(도8의 113)를 포함하며, 모바일의 스토리지를 통합적으로 제어하는 장치이다. 내부 스토리지(도8의 113)는 모바일 스토리지 제어 장치(100)가 동작하기 위해 필요한 부팅 프로그램 및 데이터를 임시로 저장할 수 있다.The mobile storage control device 100 includes an internal storage of the mobile (113 of FIG. 8), and is a device that collectively controls the storage of the mobile. The internal storage 113 of FIG. 8 may temporarily store booting programs and data necessary for the mobile storage control apparatus 100 to operate.

모바일 스토리지 제어 장치(100)는 모바일 스토리지 시스템에 포함된 스토리지(200)를 제어할 수 있다. 모바일 스토리지 제어 장치(100)는 호스트 프로세서로부터 수신된 명령에 따라 스토리지(200)의 데이터를 읽기 및 삭제 하거나, 스토리지(200)에 데이터를 쓰기와 같은 스토리지(200) 제어를 수행한다.The mobile storage control device 100 may control the storage 200 included in the mobile storage system. The mobile storage control device 100 controls the storage 200 such as reading and deleting data of the storage 200 or writing data to the storage 200 according to a command received from a host processor.

스토리지(200)는 모바일의 프로그램 및 데이터를 저장할 수 있다. 스토리지(200)는 비휘발성 메모리와 휘발성 메모리를 포함할 수 있다. 비휘발성 메모리는 호스트 프로세서(300) 또는 모바일 스토리지 제어 장치(100)에서 사용되는 프로그램 또는 데이터를 저장할 수 있다. 휘발성 메모리는 데이터 및 프로그램을 임시 저장하는 캐시 메모리 기능을 포함할 수 있다. 또한 스토리지(200)의 휘발성 메모리는 호스트 프로세서(300)와 모바일 스토리지 제어 장치(100) 간의 명령을 포함한 데이터 전송을 위한 듀얼포트(Dual-Port) 메모리를 포함할 수 있다.The storage 200 may store a program and data of a mobile. The storage 200 may include a nonvolatile memory and a volatile memory. The nonvolatile memory may store a program or data used in the host processor 300 or the mobile storage control device 100. Volatile memory can include a cache memory function that temporarily stores data and programs. In addition, the volatile memory of the storage 200 may include a dual-port memory for data transmission including a command between the host processor 300 and the mobile storage control device 100.

본 발명의 일 실시예에 의하면, 모바일 스토리지 제어 장치에 의해 호스트 프로세서가 매번 저속 저장 매체인 비휘발성 메모리에 접속하지 않아도 되므로 호스트 프로세서의 CPU 사용 점유율을 감소시킬 수 있다.
According to an embodiment of the present invention, since the host processor does not need to access the nonvolatile memory, which is a low-speed storage medium, by the mobile storage control device, the CPU usage of the host processor may be reduced.

도2는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치를 나타낸 블록도이다.2 is a block diagram showing a mobile storage control device according to an embodiment of the present invention.

도2를 참조하면, 모바일 스토리지 제어 장치(100)는 모바일 스토리지 프로세서(110), 브리지(Bridge, 120), 스토리지 제어 블록(130), 다중 버스 채널 블록(140), 고속 주변 블록(150), 저속 주변 블록(160) 및 기타 블록(170)를 포함할 수 있다.Referring to FIG. 2, the mobile storage control device 100 includes a mobile storage processor 110, a bridge 120, a storage control block 130, a multi-bus channel block 140, a fast peripheral block 150, Slow peripheral block 160 and other blocks 170.

스토리지 제어 블록(130)은 스토리지(도1의 200) 제어를 위해 모바일 스토리지 프로세서(110)와 스토리지(도1의 200) 간의 데이터 송수신을 위한 인터페이스를 수행한다. 스토리지 제어 블록(130)은 스토리지(도1의 200)으로부터 수신한 인터럽트를 모바일 스토리지 프로세서(110)으로 전송한다. 인터럽트는 스토리지(도1의 200)가 호스트 프로세서로부터 명령 및 데이터를 수신하였을 경우, 발생하는 신호이다.The storage control block 130 performs an interface for data transmission and reception between the mobile storage processor 110 and the storage (200 of FIG. 1) to control the storage (200 of FIG. 1). The storage control block 130 transmits the interrupt received from the storage (200 of FIG. 1) to the mobile storage processor 110. An interrupt is a signal that occurs when storage (200 in FIG. 1) receives instructions and data from a host processor.

스토리지 제어 블록(130)은 EMI(External Memory Interface), USB, SD/MMC, DDR 컨트롤러, 플래시 컨트롤러를 포함할 수 있다. 스토리지 제어 블록(130)에 연결되는 저장매체는 DRAM, 플래시 메모리, DP 메모리, USB 메모리, SD/MMC 메모리 등과 같은 휘발성 메모리 및 비휘발성 메모리 중에서 어느 하나의 메모리일 수 있다. The storage control block 130 may include an external memory interface (EMI), a USB, an SD / MMC, a DDR controller, and a flash controller. The storage medium connected to the storage control block 130 may be any one of volatile memory and nonvolatile memory such as DRAM, flash memory, DP memory, USB memory, SD / MMC memory, and the like.

스토리지 제어 블록(130)에 연결되는 저장매체는 이에 한정되지 않는다. 예를 들어, 스토리지 제어 블록(130)은 SRAM, PSRAM, SDRAM 또는 DPRAM 중 어느 하나 이상을 더 포함할 수 있다. 즉, 스토리지 제어 블록(130)에 연결되는 저장매체의 종류 및 개수는 당업자에 의해서 용의하게 변경 가능하다.The storage medium connected to the storage control block 130 is not limited thereto. For example, the storage control block 130 may further include any one or more of SRAM, PSRAM, SDRAM, or DPRAM. That is, the type and number of storage media connected to the storage control block 130 may be easily changed by those skilled in the art.

모바일 스토리지 프로세서(110)는 호스트 프로세서(도1의 300)의 명령에 의한 기능 수행 및 모바일의 스토리지를 제어할 수 있다. 모바일 스토리지 프로세서(110)는 호스트 프로세서(도1의 300)의 명령에 의해 스토리지(도1의 200)의 데이터를 읽기 및 삭제 하거나, 스토리지(도1의 200)에 데이터 쓰기를 수행할 수 있다. The mobile storage processor 110 may control the performance of a function by a command of the host processor 300 of FIG. 1 and the storage of the mobile. The mobile storage processor 110 may read and delete data of the storage (200 of FIG. 1) or write data to the storage (200 of FIG. 1) by a command of the host processor (300 of FIG. 1).

모바일 스토리지 프로세서(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 표준 규격을 가질 수 있다.The mobile storage processor 110 may use a microprocessor of an ARM series (ARM7, ARM9, ARM10, ARM11, Cotex-A8 / 9, etc.). The mobile storage processor 110 may be configured as a microprocessor having a reduced instruction set computer (RISC) structure. That is, the mobile storage processor 110 may use a command processing method of RISC. RISC's command processing method is suitable for mobile devices with low power consumption and small chip size. However, the instruction processing method of the mobile storage processor 110 is not limited to RISC, and can be easily changed by those skilled in the art. The mobile storage processor 110 can accommodate the high speed bus 112 and the multi-bus channel block 140 for smooth data reading and writing to and from peripheral storage. The high speed bus 112 and the low speed bus 111 for controlling each block may have an AMBA standard specification.

브리지(120)는 저속 버스(111)와 고속 버스(112) 간의 데이터 송수신을 위한 것이다. 브리지(120)는 저속 버스(111)에 연결된 블록과 고속 버스(112)에 연결된 블록을 연결할 수 있다. 예를 들어, 저속 동작을 하는 GPIO 블록은 저속 버스(111)와 연결된다. 저속 버스(111)와 연결된 GPIO블록은 브리지(120)에 의해서 고속 동작을 하는 모바일 스토리지 프로세서(110)와 연결된다. The bridge 120 is for data transmission and reception between the low speed bus 111 and the high speed bus 112. The bridge 120 may connect a block connected to the low speed bus 111 and a block connected to the high speed bus 112. For example, a GPIO block that operates at low speed is connected to the low speed bus 111. The GPIO block connected to the low speed bus 111 is connected to the mobile storage processor 110 that operates at a high speed by the bridge 120.

브리지(120)는 저속 버스(111)와 고속 버스(112)사이에 위치한다. 즉, 브리지(120)에 의하여 고속 버스(112)에 연결된 모바일 스토리지 프로세서(110)과 저속 버스(111)에 연결된 저속 주변 블록 간의 데이터 송수신이 가능하게 된다.The bridge 120 is located between the low speed bus 111 and the high speed bus 112. That is, data may be transmitted and received between the mobile storage processor 110 connected to the high speed bus 112 and the low speed peripheral block connected to the low speed bus 111 by the bridge 120.

다중 버스 채널 블록(140)은 스토리지(도1의 200)의 데이터를 고속으로 송수신하기 위한 다수개의 버스를 갖는 멀티 버스 채널이다. 다중 버스 채널 블록(140)에 의해서 모바일 스토리지 제어 장치(도1의 100)의 데이터 송수신 속도를 증가시킬 수 있다. The multi-bus channel block 140 is a multi-bus channel having a plurality of buses for transmitting and receiving data of the storage (200 in FIG. 1) at high speed. The multi-bus channel block 140 may increase the data transmission / reception rate of the mobile storage control device 100 in FIG. 1.

고속 주변 블록(150)은 고속 버스(112)와 연결되어, 모바일 스토리지 프로세서(110)와 고속으로 데이터 및 제어 신호를 주고 받는다. 제어 신호는 데이터가 고속 주변 블록(150)에 수신된 순서대로 모바일 스토리지 프로세서(110) 또는 호스트 프로세서(도1의 300)로 전송되도록 수신된 데이터를 제어하는 신호이다. 고속 주변 블록(150)은 인터럽트 컨트롤러, FTL 패턴 서치(FTL Pattern Search), DMA(Direct Memory Access) 컨트롤러 등과 같은 고속의 데이터 송수신이 필요한 장치를 포함할 수 있다. The high speed peripheral block 150 is connected to the high speed bus 112 to exchange data and control signals with the mobile storage processor 110 at high speed. The control signal is a signal for controlling the received data such that the data is transmitted to the mobile storage processor 110 or the host processor (300 of FIG. 1) in the order in which the data is received by the fast peripheral block 150. The high speed peripheral block 150 may include a device that requires high speed data transmission / reception, such as an interrupt controller, an FTL pattern search, a direct memory access (DMA) controller, or the like.

저속 주변 블록(160)은 저속 버스(111)와 연결되어, 모바일 스토리지 프로세서(110)가 외부 장치와 데이터를 저속으로 송수신하는 인터페이스를 수행한다. 저속 주변 블록(160)은 저속으로 동작하는 시스템 레지스터, 타이머, GPIO, I2S 및 UART 등을 포함할 수 있다. The low speed peripheral block 160 is connected to the low speed bus 111 so that the mobile storage processor 110 performs an interface for transmitting and receiving data at low speed with an external device. The low speed peripheral block 160 may include a system register, a timer, a GPIO, an I2S, a UART, and the like operating at a low speed.

고속 주변 블록(150) 및 저속 주변 블록(160)에 포함되는 장치의 종류 및 개수는 당업자에 의해서 용이하게 변경이 가능하다.The type and number of devices included in the fast peripheral block 150 and the slow peripheral block 160 can be easily changed by those skilled in the art.

기타 블록(170)은 모바일 스토리지 프로세서(110)의 전력 모드 전환, 외부 및 내부 주파수를 이용하여 주파수를 합성, 스토리지 제어 장치 내부에서 사용되는 클럭 신호 또는 리셋 신호 발생 기능 등을 수행할 수 있다. The other block 170 may perform power mode switching of the mobile storage processor 110, synthesize a frequency using external and internal frequencies, and generate a clock signal or a reset signal used in the storage control device.

전력 모드 전환은 모바일 스토리지 프로세서(110)가 슬립 모드(Sleep Mode)에서 활동 모드(Active Mode)로, 활동 모드에서 슬립 모드로 또는 슬립 모드 및 활동 모드에서 딥 슬립 모드(Deep Sleep Mode)로 전환되는 것이다. 전력 모드 전환에 의해서, 모바일 스토리지 제어 장치가 프로그램 실행 후 슬립 또는 딥 슬립 모드로 진입 가능하므로 모바일 스토리지 제어 장치 및 모바일 전체 시스템의 전력 소모를 줄일 수 있다.
The power mode switch is performed by the mobile storage processor 110 from sleep mode to active mode, from active mode to sleep mode, or from sleep mode and deep sleep mode to deep sleep mode. will be. By switching the power mode, the mobile storage control device may enter a sleep or deep sleep mode after executing a program, thereby reducing power consumption of the mobile storage control device and the entire mobile system.

도3은 본 발명의 실시 예에 따른 모바일 스토리지 제어 장치의 스토리지 제어 블록을 나타낸 블록도이다.3 is a block diagram illustrating a storage control block of a mobile storage control apparatus according to an exemplary embodiment of the present invention.

도3을 참조하면, 스토리지 제어 블록(130)은 스토리지(200)와 모바일 스토리지 제어 장치(100)의 통신 및 데이터 송수신을 위한 인터페이스 블록이다. 여기서, 스토리지(200)는 모바일 스토리지 제어 장치(100) 외부에 위치하며, 호스트 프로세서(300) 및 모바일 스토리지 프로세서(110)가 사용하는 프로그램 및 데이터가 저장될 수 있다.Referring to FIG. 3, the storage control block 130 is an interface block for communication and data transmission and reception between the storage 200 and the mobile storage control device 100. Here, the storage 200 may be located outside the mobile storage control device 100 and store programs and data used by the host processor 300 and the mobile storage processor 110.

스토리지 제어 블록(130)은 EMI(External Memory Interface, 131), USB(132), SD/MMC(133), DDR 컨트롤러(134) 및 플래시 메모리 제어를 위한 플래시 컨트롤러(135)를 포함할 수 있다.The storage control block 130 may include an external memory interface (EMI) 131, a USB 132, an SD / MMC 133, a DDR controller 134, and a flash controller 135 for flash memory control.

EMI(131)는 휘발성 메모리 인터페이스 블록으로, SRAM, PSRAM, SDRAM 메모리와 연결된다. EMI(131)는 필요에 따라 외부로부터 프로그램을 내부 SRAM에 다운로드 하여 스토리지 프로세서와 연결된 블록의 기능을 점검하기 위한 디버깅 기능을 수행할 수 있다.The EMI 131 is a volatile memory interface block and is connected to SRAM, PSRAM, and SDRAM memory. The EMI 131 may perform a debugging function to check a function of a block connected to the storage processor by downloading a program from the outside to the internal SRAM as needed.

USB(132)는 휴대기기, 통신기기 및 PC 등을 포함한 전자기기 장치에 폭넓게 사용되는 인터페이스 기술이다. USB(132)는 유니버셜 시리얼 인터페이스를 통하여 외부 저장매체를 연결한다. USB를 사용하면 플러그 앤 플레이(Plug & Play) 방식으로 저장매체를 간단히 연결 및 추가할 수 있다. USB 132 is an interface technology widely used in electronic devices, including mobile devices, communication devices, and personal computers. The USB 132 connects an external storage medium through a universal serial interface. With USB, you can simply connect and add storage media using Plug & Play.

SD/MMC(133)은 Secure Digital과 Multimedia Card 포맷을 지원하는 플래시 카드 인터페이스이다. SD/MMC(133)는 디지털 카메라, PDA, 미디어 플레이어, 모바일 폰, GPS 리시버 및 비디오 게임 등의 장치에 사용되며, 데이터 송수신이 가능하다.The SD / MMC 133 is a flash card interface that supports Secure Digital and Multimedia Card formats. The SD / MMC 133 is used in devices such as digital cameras, PDAs, media players, mobile phones, GPS receivers, and video games, and can transmit and receive data.

DDR 컨트롤러(134)는 고속 버스(112)에 연결되며, 저전력의 DDR 메모리를 제어하는 인터페이스 블록이다. DDR 컨트롤러(134)는 메모리의 데이터 송수신을 고속으로 수행할 수 있다. DDR 컨트롤러(134)는 패드인터페이스, 메모리 인터페이스, 고속 버스 인터페이스 블록을 포함할 수 있다. DDR 컨트롤러(134)에 의해서 DRAM 및 DP메모리를 통한 호스트 프로세서(도1의 300) 및 모바일 스토리지 프로세서(도2의 110)의 데이터 송수신이 고속으로 이루어진다.The DDR controller 134 is connected to the high speed bus 112 and is an interface block that controls the low power DDR memory. The DDR controller 134 may perform data transmission and reception of a memory at high speed. The DDR controller 134 may include a pad interface, a memory interface, and a high speed bus interface block. By the DDR controller 134, data transmission and reception between the host processor (300 of FIG. 1) and the mobile storage processor (110 of FIG. 2) through the DRAM and the DP memory are performed at high speed.

플래시 컨트롤러(135)는 플래시 메모리를 제어한다. 플래시 메모리는 낸드(NAND) 플래시 일 수 있다. 플래시 컨트롤러(135)는 낸드 메모리 인터페이스, 고속 버스 인터페이스, 메모리 매니저 및 에러 코드 제어기를 포함할 수 있다. 플래시 컨트롤러(135)는 FTL 및 플래시 디바이스 드라이버 프로그램에 의해 동작된다. 플래시 컨트롤러(135)의 주요 동작은 메모리에 데이터 쓰기, 읽기, 삭제 및 모바일의 기능 수행을 위한 프로그램의 저장 등과 같은 기능을 수행할 수 있다.The flash controller 135 controls the flash memory. The flash memory may be NAND flash. The flash controller 135 may include a NAND memory interface, a high speed bus interface, a memory manager, and an error code controller. The flash controller 135 is operated by the FTL and flash device driver program. The main operations of the flash controller 135 may perform functions such as writing data to the memory, reading and deleting data, and storing a program for performing a mobile function.

본 발명의 실시예에 따른 스토리지 제어 블록(130)에 의하면 DRAM 및 DP 메모리와 같은 고속 메모리 뿐만 아니라 플래시 메모리와 같은 저속 메모리도 모바일 스토리지 프로세서(도2의 110)와 데이터를 고속으로 송수신 할 수 있다.
According to the storage control block 130 according to an embodiment of the present invention, not only high-speed memory such as DRAM and DP memory, but also low-speed memory such as flash memory may transmit and receive data at high speed with the mobile storage processor (110 of FIG. 2). .

도4는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 다중 버스 채널 블록을 나타낸 블록도이다.4 is a block diagram illustrating a multi-bus channel block of a mobile storage control apparatus according to an embodiment of the present invention.

도4를 참조하면, 다중 버스 채널 블록(140)은 스토리지의 데이터 송수신을 고속으로 처리하기 위한 다중 데이터 버스 구조이다. 또한 다중 버스 채널 블록(140)은 고속 버스의 데이터 버스 로딩(loading)에 대한 부담을 줄이기 위해 별도의 데이터 버스를 이중 또는 삼중으로 확대하여 사용될 수 있다.Referring to FIG. 4, the multiple bus channel block 140 is a multiple data bus structure for processing data transmission and reception of storage at high speed. In addition, the multi-bus channel block 140 may be used to double or triple the separate data bus to reduce the burden on the data bus loading of the high-speed bus.

다중 버스 채널 블록(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)가 제어될 수 있다. The multi-bus channel block 140 may include a switch 141 for bus selection for data transmission and reception. The first switch 141 and the second switch 142 of the multi-bus channel block 140 may be controlled by the mobile storage processor 110 (see FIG. 2) to select any one or more of the buses. Control of the first switch 141 and the second switch 142 may be controlled by other components of the mobile storage control device (100 in FIG. 1) for transmitting and receiving data through the multi-bus channel block 140. Referring to FIG. 8, for example, if data received from the DDR controller 134 of FIG. 8 is transmitted to the flash controller 135 (FIG. 8), the DDR controller 134 of FIG. The first switch 141 and the second switch 142 may be controlled. On the contrary, if the data received from the flash controller (135 in FIG. 8) is transferred to the DDR controller (134 in FIG. 8), the first switch 141 and the second switch ( 142 may be controlled.

이와 같이, 다중 버스 채널 블록(140)의 제1 스위치(141) 및 제2 스위치(142)는 모바일 스토리지 프로세서(도2의 110)뿐만 아니라 다중 버스 채널 블록(140)을 통해서 데이터를 송수신하는 모바일 스토리지 제어 장치(도1의 100)의 구성부에 의해서 제어될 수 있다.As such, the first switch 141 and the second switch 142 of the multi-bus channel block 140 may transmit and receive data through the multi-bus channel block 140 as well as the mobile storage processor (110 of FIG. 2). It can be controlled by a component of the storage control device (100 in FIG. 1).

버스 선택에 이용되는 제1 스위치(141) 및 제2 스위치(142)로 ICM(Inter-Connection Matrix)가 이용될 수 있다.An inter-connection matrix (ICM) may be used as the first switch 141 and the second switch 142 used for bus selection.

다중 버스 채널 블록(140)은 다수개의 버스 중에서 모바일 스토리지 프로세서(도2의 110)에 의해 버스가 선택됨으로써 데이터 송수신이 이루어진다. 다중 버스 채널 블록은 고속 버스로 많은 양의 데이터가 로딩(Loading)될 때, 모바일 스토리지 프로세서(도2의 110)에 의해서 선택된 별도의 버스로 일부 데이터를 로딩함으로써, 데이터 전송 속도를 높일 수 있다.In the multiple bus channel block 140, data is transmitted and received by selecting a bus from a plurality of buses by a mobile storage processor (110 of FIG. 2). When a large amount of data is loaded onto the high-speed bus, the multi-bus channel block may increase data transfer speed by loading some data onto a separate bus selected by the mobile storage processor 110 (see FIG. 2).

이와 같은 다중 버스 채널(140)에 의해 모바일 스토리지 제어 장치(도1의 200)는 고속의 데이터 송수신할 수 있다. 모바일 스토리지 제어 장치(도2의 100)는 다중 버스 채널(140)에 의해 데이터 버스를 확대하여 사용할 수 있으므로, 대용량의 데이터가 송수신될 경우에도, 대용량의 데이터를 고속으로 처리할 수 있다.
By such a multiple bus channel 140, the mobile storage control device (200 of FIG. 1) can transmit and receive data at high speed. Since the mobile storage control device (100 in FIG. 2) can expand and use the data bus by the multi-bus channel 140, even when a large amount of data is transmitted and received, the large capacity data can be processed at high speed.

도5는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 고속 주변 블록을 나타낸 블록도이다.5 is a block diagram illustrating a fast neighboring block of the mobile storage control apparatus according to an embodiment of the present invention.

도5를 참조하면, 고속 주변 블록(150)은 인터럽트 컨트롤러(151), FTL(FTL Pattern Search) 패턴 서치(152), 그리고 DMA(Direct Memory Access) 컨트롤러(153)를 포함할 수 있다.Referring to FIG. 5, the fast peripheral block 150 may include an interrupt controller 151, an FTL pattern search (FTL) pattern search 152, and a direct memory access (DMA) controller 153.

인터럽트 컨트롤러(151)는 모바일 스토리지 제어 장치(100)의 외부 주변 블록에서 발생하는 인터럽트 신호를 모바일 스토리지 프로세서(110)가 인지할 수 있도록 할 수 있다. 인터럽트 컨트롤러(151)는 인터럽트를 점검하고 인지하여 해당 루틴을 실행하도록 하는 레지스터를 포함할 수 있다. 또한, 인터럽트 컨트롤러(151)는 다수의 인터럽트 입력에 대한 우선 순위를 정하고 처리하는 기능을 포함할 수 있다. The interrupt controller 151 may enable the mobile storage processor 110 to recognize an interrupt signal generated in an external peripheral block of the mobile storage control device 100. The interrupt controller 151 may include a register for checking and recognizing an interrupt and executing a corresponding routine. In addition, the interrupt controller 151 may include a function of prioritizing and processing a plurality of interrupt inputs.

FTL 패턴 서치(152)는 플래시 컨트롤러가 어드레스 맵핑, 불량 블록 관리, 쓰레기 수집 및 소거 블록 평준화 기법 등의 기능을 수행하는데 필요한 패턴을 찾는 블록이다.The FTL pattern search 152 is a block that finds patterns required for the flash controller to perform functions such as address mapping, bad block management, garbage collection, and erasure block leveling techniques.

DMA 컨트롤러(153)는 고속 버스에 연결되어 직접 메모리 접근 방식으로 기능을 수행하는 블록이다. DMA 컨트롤러(153)는 다수개의 DMA 채널과 DMA 리퀘스트 라인(Request Line)을 제공한다. DMA 컨트롤러(153)는 다수개의 채널로부터 발생하는 명령을 우선 순위에 따라 처리한다. DMA 컨트롤러(153)의 각 채널에는 FIFO가 위치한다. 또한 DMA 컨트롤러(153)의 임시 버퍼 사이즈는 조정이 가능하다. DMA 컨트롤러(153)는 DMA 에러 발생 및 DMA 카운터가 '0'에 도달하였을 때, DMA 인터럽트를 모바일 스토리지 프로세서에 알리고, 인터럽트를 통하여 데이터 transfer가 완료 혹은 에러가 있음을 알린다.The DMA controller 153 is a block connected to a high speed bus to perform a function in a direct memory approach. The DMA controller 153 provides a plurality of DMA channels and DMA request lines. The DMA controller 153 processes commands generated from a plurality of channels in order of priority. A FIFO is located in each channel of the DMA controller 153. In addition, the temporary buffer size of the DMA controller 153 can be adjusted. When the DMA error occurs and the DMA counter reaches '0', the DMA controller 153 notifies the mobile storage processor of the DMA interrupt and notifies that the data transfer is completed or has an error through the interrupt.

본 발명의 실시 예에 의한 고속 주변 블록(150)에 의하면, 수십 ~ 수백 MHz 대의 고속 데이터를 처리하는 경우에도, 속도의 저하 없이 빠르게 처리될 수 있다.
According to the high-speed peripheral block 150 according to an embodiment of the present invention, even when processing high-speed data in the tens to hundreds of MHz band, it can be processed quickly without deterioration in speed.

도6는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 저속 주변 블록을 나타낸 블록도이다.6 is a block diagram illustrating a low speed peripheral block of the mobile storage control apparatus according to an embodiment of the present invention.

도6를 참조하면, 저속 주변 블록(160)은 시스템 레지스터(161), 타이머(Timer, 162), I2S(Inter-IC Sound, 163), GPIO(General Purpose Input/Output, 164) 및 UART(Universal Asynchronous Receiver/Transmitter, 165) 등을 포함할 수 있다.Referring to FIG. 6, the low speed peripheral block 160 includes a system register 161, a timer 162, an inter-IC sound 163, a general purpose input / output GPIO, and a universal UART. Asynchronous Receiver / Transmitter 165).

시스템 레지스터(161)는 모바일 스토리지 프로세서(110)에 의해 사용되는 내부 시스템 레지스터 블록이다. 시스템 레지스터(161)는 모바일 스토리지 프로세서(110)의 현재 상태 값 등을 임시로 저장할 수 있다. 즉, 시스템 레지스터(161)는 모바일 스토리지 프로세서(110)가 동작하면서 필요한 정보 및 동작 결과를 일시적으로 저장함으로써 현재의 상태 값을 기억하기 위한 저장장치이다. 시스템 레지스터(161)는 사용되는 용도에 따라 각각의 기능을 하며, 시스템 레지스터(161) 내의 각각의 비트는 설계 시 미리 정의될 수 있다. 시스템 레지스터(161)는 시작 및 끝 어드레스(address)를 가지며 메모리 맵 상에 정의된다.System register 161 is an internal system register block used by mobile storage processor 110. The system register 161 may temporarily store a current state value of the mobile storage processor 110, and the like. That is, the system register 161 is a storage device for storing a current state value by temporarily storing necessary information and operation results while the mobile storage processor 110 operates. The system register 161 functions in accordance with the intended use, and each bit in the system register 161 may be predefined at design time. System register 161 has start and end addresses and is defined on a memory map.

타이머(162)는 다운 카운터(Down Counter) 동작을 한다. 타이머(162)는 동작 시, 카운트가 0(Zero)가 되면, 인터럽트 신호를 발생한다. 타이머(162)는 Free-running, Periodic, One-short timer 모드로 설정되어 사용되며, 예를 들면, 전치 분주기(Prescaler Divider) 등이 있다. 타이머(162)의 인터럽트 발생을 위해 파라미터(parameter)를 설정할 수 있다, 반대로, 타이머(162)의 인터럽트 발생을 막기 위한 인터럽트 마스킹(masking)도 할 수 있다.The timer 162 performs a down counter operation. In operation, the timer 162 generates an interrupt signal when the count reaches zero. The timer 162 is set and used in Free-running, Periodic, and One-short timer modes. For example, the timer 162 may be a prescaler divider. A parameter may be set to generate an interrupt of the timer 162, and conversely, an interrupt masking may be performed to prevent the interrupt of the timer 162.

I2S(163)는 디지털 오디오 신호를 송수신을 위한 인터페이스이다. I2S(163)는 CD 플레이어, DSP, 디지털 TV 음향 및 디지털 오디오 장치 등을 위한 직렬 버스 설계이다. I2S(163)는 클럭과 오디오 데이터 신호를 분리하여 처리함으로써, 매우 낮은 지터(Jitter)를 갖는다. 지터는 디지털 아날로그 신호 변환에서 신호가 왜곡되는 정도를 나타낸다. 따라서 I2S(163)는 지터 방지 장치 등이 필요 없게 된다. I2S(163)의 I2S 버스는 클럭 회선을 위한 비트 클럭 라인(Bit Clock Line), 워드 선택용의 워드 클럭 라인(Word Clock Line) 및 데이터 채널을 위한 회선인 데이터 라인(Data Line)의 세 개의 라인으로 구성된다.I2S 163 is an interface for transmitting and receiving digital audio signals. I2S 163 is a serial bus design for CD players, DSPs, digital TV sound and digital audio devices, and the like. The I2S 163 has a very low jitter by separating and processing a clock and an audio data signal. Jitter refers to the amount of distortion in a signal in digital analog signal conversion. Therefore, the I2S 163 does not need a jitter prevention device or the like. The I2S bus of the I2S 163 has three lines: a bit clock line for a clock line, a word clock line for word selection, and a data line, a line for a data channel. It consists of.

GPIO(164)는 외부 장치 또는 주변 장치와의 인터페이스를 위한 범용 입출력 인터페이스 핀 이다. GPIO(164)의 각 핀은 입력 또는 출력으로 설정 될 수 있다. 또한 GIPO(164)의 각 핀을 그룹화 하여 사용할 수 있다. GPIO(164)는 모바일 스토리지 프로세서(110)의 인터럽트 신호를 생성하거나 다량의 데이터를 외부로 송신 또는 수신할 때 사용된다. 또한, GPIO(164)는 핀의 풀-업(Pull-Up) 또는 풀-다운(Pull-Down) 기능과 드라이버를 이용하여 다른 전압의 신호를 수신하거나 출력할 수 있는 기능을 수행할 수 있다.GPIO 164 is a general purpose input / output interface pin for interfacing with an external device or peripheral device. Each pin of GPIO 164 may be configured as an input or an output. In addition, each pin of the GIPO 164 may be grouped and used. The GPIO 164 is used to generate an interrupt signal of the mobile storage processor 110 or to transmit or receive a large amount of data to the outside. In addition, the GPIO 164 may perform a function of receiving or outputting signals of different voltages using a pull-up or pull-down function of a pin and a driver.

UART(165)는 모바일 스토리지 프로세서(110)와 외부 장치 간의 직렬 통신 및 데이터 송수신을 위한 인터페이스를 제어하는 제어기이다. 특히, UART(165)는 모바일 스토리지를 포함하는 모바일 스토리지 시스템의 초기 부팅 시 호스트 프로세서(300)의 부팅 코드를 모바일 스토리지 프로세서(110)로 전송한다. UART(165)는 바이트(Byte) 데이터를 각각의 비트(Bit) 데이터로 변환하여 순차적으로 전송할 수 있다. UART(165)는 병렬 형태의 데이터를 직렬 형태의 데이터로 변환하여 전송할 수 있다. 또한, UART(165)는 모바일 스토리지 프로세서(110)와 직렬 통신하는 외부 장치의 속도 차이를 완충하기 위한 버퍼(Buffer)를 내장할 수 있다.
The UART 165 is a controller that controls an interface for serial communication and data transmission and reception between the mobile storage processor 110 and an external device. In particular, the UART 165 transmits the boot code of the host processor 300 to the mobile storage processor 110 during initial booting of the mobile storage system including the mobile storage. The UART 165 may convert byte data into respective bit data and sequentially transmit the bit data. The UART 165 may convert parallel data into serial data and transmit the data. In addition, the UART 165 may include a buffer for buffering a speed difference of an external device in serial communication with the mobile storage processor 110.

도7는 본 발명의 일 실시예에 따른 모바일 스토리지 제어 장치의 기타 블록을 나타낸 블록도이다.Figure 7 is a block diagram showing other blocks of the mobile storage control device according to an embodiment of the present invention.

도7를 참조하면, 기타 블록(170)은 모드 전환 블록(171), PLL(Phase Locked Loop) 블록(172) 및 클럭 & 리셋(Clock & Reset) 블록(173)을 포함할 수 있다.Referring to FIG. 7, the other block 170 may include a mode switching block 171, a phase locked loop (PLL) block 172, and a clock & reset block 173.

모드 전환 블록(171)은 모바일 스토리지 제어 장치의 전력 모드 전환을 수행한다. 모드 전환은 모바일 스토리지 제어 장치가 슬립 모드(Sleep Mode)에서 활동 모드(Active Mode)로, 활동 모드에서 슬립 모드로 또는 슬립 모드 및 활동 모드에서 딥 슬립 모드(Deep Sleep Mode)로 전환되는 것이다. 슬립 모드는 모드 전환 블록을 제외한 모바일 스토리지 제어 장치의 블록의 전원이 꺼지는 저전력 상태이다. 딥 슬립 모드는 슬립 모드 상태에서 모드 전환 블록의 전원이 꺼진다. 즉, 딥 슬립 모드는 모바일 스토리지 제어 장치의 모든 블록의 전원이 꺼지는 초저전력 상태이다. 이와 같은 모드 전환 블록(171)에 의해서, 모바일 스토리지 제어 장치(도1의 300)의 동작 상태에 따라서 저전력 또는 초저전력 상태로 모드 변환이 가능하므로 전력 소모가 감소 된다. The mode switching block 171 performs power mode switching of the mobile storage control device. Mode switching is a mobile storage control device to switch from the sleep mode (Active Mode) to the active mode (Active Mode), from the active mode to the sleep mode or from the sleep mode and the active mode to Deep Sleep Mode (Deep Sleep Mode). The sleep mode is a low power state in which blocks of the mobile storage control device are turned off except for the mode switching block. In deep sleep mode, the mode switching block is powered off in the sleep mode. In other words, deep sleep mode is an ultra low power state in which all blocks of the mobile storage control device are powered off. By the mode switching block 171 as described above, the mode can be switched to a low power or ultra low power state according to the operating state of the mobile storage control device 300 of FIG. 1, thereby reducing power consumption.

PLL 블록(172)은 외부 및 내부 주파수를 이용하여 주파수를 합성 기능을 수행한다.The PLL block 172 performs frequency synthesizing using external and internal frequencies.

클럭 & 리셋 블록(173)은 모바일 스토리지 제어 장치 내부에서 사용되는 클럭 신호 또는 리셋 신호를 발생시킨다.
The clock & reset block 173 generates a clock signal or a reset signal used inside the mobile storage control device.

도8은 본 발명의 일 실시예에 따른 모바일 스토리지 시스템을 구체적으로 나타낸 예시도이다.8 is an exemplary view showing in detail a mobile storage system according to an embodiment of the present invention.

도8을 참조하면, 모바일 스토리지 시스템은 호스트 프로세서(300), 스토리지(200) 및 모바일 스토리지 제어 장치(100)를 포함할 수 있다.Referring to FIG. 8, the mobile storage system may include a host processor 300, a storage 200, and a mobile storage control device 100.

호스트 프로세서(300)는 모바일의 송수신 통신 신호 처리, 신호 압축 처리, 에러 정정 및 통신 시스템 제어 등의 베이스밴드 프로세서를 포함할 수 있다. 호스트 프로세서(300)는 모바일의 응용 및 멀티미디어 기능을 수행하는 프로세서인 AP/MP(Application Processor/Multimedia Processer)를 포함할 수 있다. 호스트 프로세서(300)는 베이스 밴드 프로세서 또는 AP/AP 중 어느 하나의 프로세서로 구성되거나 두 개의 프로세서가 하나의 통합된 단일 구조로 구성될 수 있다.The host processor 300 may include a baseband processor such as mobile communication signal processing, signal compression processing, error correction, and communication system control. The host processor 300 may include an application processor / multimedia processor (AP / MP) which is a processor that performs application and multimedia functions of a mobile. The host processor 300 may be configured of any one of a baseband processor and an AP / AP, or may be configured in a single structure in which two processors are integrated.

스토리지(200)는 모바일의 프로그램 및 데이터가 저장된다. 스토리지(200)는 휘발성 메모리와 비휘발성 메모리를 포함할 수 있다. 비휘발성 메모리 중에서 모바일에 포함된 플래시 메모리는 호스트 프로세서(300) 및 모바일 스토리지 제어 장치(200)에서 사용되는 프로그램 및 데이터가 저장될 수 있다. The storage 200 stores mobile programs and data. The storage 200 may include a volatile memory and a nonvolatile memory. Among the nonvolatile memories, the flash memory included in the mobile may store programs and data used in the host processor 300 and the mobile storage control device 200.

휘발성 메모리는 DP 메모리 및 DRAM을 포함할 수 있다. DP 메모리는 호스트 프로세서(300)와 모바일 스토리지 프로세서(110) 간의 명령 및 데이터 송수신을 위한 메모리이다. DRAM은 모바일 스토리지 프로세서(110)가 호스트 프로세서(300)의 명령에 따라 데이터 처리를 하기 위해서, 스토리지(200)의 제어를 위한 소프트웨어가 임시 저장되어 실행되는 메모리이다.Volatile memory can include DP memory and DRAM. The DP memory is a memory for transmitting and receiving commands and data between the host processor 300 and the mobile storage processor 110. The DRAM is a memory in which software for controlling the storage 200 is temporarily stored and executed in order for the mobile storage processor 110 to process data according to a command of the host processor 300.

스토리지(200)는 모바일에 포함된 플래시 메모리, DP 메모리 및 DRAM 뿐만 아니라, 모바일과 연결되는 외부 장치의 스토리지를 포함할 수 있다.The storage 200 may include flash memory, DP memory, and DRAM included in the mobile, as well as storage of an external device connected to the mobile.

비휘발성 메모리는 모바일에 포함된 플래시 메모리뿐만 아니라 모바일과 연결된 외부장치의 스토리지를 포함할 수 있다. 외부 장치의 스토리지는 USB 스틱(Stick), SD/MMC 카드, 기타 외장형 플래시 메모리 등을 포함할 수 있다The nonvolatile memory may include not only flash memory included in the mobile but also storage of an external device connected to the mobile. Storage of external devices may include USB sticks, SD / MMC cards, and other external flash memory.

모바일 스토리지 제어 장치(100)는 모바일의 스토리지를 통합적으로 제어하는 장치이다. 모바일 스토리지 제어 장치(100)는 모바일 스토리지 프로세서(110), 브리지(120), 내부 스토리지(113), 저속 주변 블록(160), 스토리지 제어 블록(130), 고속 주변 블록(150), 모드 전환 블록(171), PLL 블록(172), 클럭 & 리셋 블록(173), 고속 버스(112), 저속 버스(111) 및 다중 버스 채널 블록(140)을 포함할 수 있다.The mobile storage control device 100 is a device for integrally controlling the storage of the mobile. The mobile storage control device 100 includes a mobile storage processor 110, a bridge 120, an internal storage 113, a low speed peripheral block 160, a storage control block 130, a high speed peripheral block 150, a mode switching block. 171, a PLL block 172, a clock & reset block 173, a high speed bus 112, a low speed bus 111, and a multi-bus channel block 140.

모바일 스토리지 프로세서(110)는 모바일 스토리지를 제어하는 기능을 수행한다. 모바일 스토리지 프로세서(110)는 스토리지(200)의 데이터 및 프로그램에 대해 읽기 및 쓰기 기능을 수행한다. The mobile storage processor 110 performs a function of controlling mobile storage. The mobile storage processor 110 reads and writes data and programs of the storage 200.

브리지(120)는 고속 버스(112)와 저속 버스(111) 간의 데이터 송수신이 가능하도록 한다.The bridge 120 enables data transmission and reception between the high speed bus 112 and the low speed bus 111.

내부 스토리지(113)는 모바일 스토리지 프로세서(110)의 동작 수행을 위한 프로그램 및 임시 데이터를 저장할 수 있다. 내부 스토리지(113)는 모바일 스토리지 프로세서(110)의 부팅 시 필요한 프로그램이 저장된 ROM과 모바일 스토리지 프로세서(110)의 프로그램 수행 시 필요한 프로그램 및 데이터를 임시로 저장하는 SRAM을 포함할 수 있다. The internal storage 113 may store a program and temporary data for performing an operation of the mobile storage processor 110. The internal storage 113 may include a ROM that stores a program necessary for booting the mobile storage processor 110 and an SRAM that temporarily stores a program and data necessary for performing a program of the mobile storage processor 110.

저속 주변 블록(160)은 저속으로 동작하는 장치들을 나타낸다. 예를 들면, 저속 주변 블록(160)은 시스템 레지스터, 타이머, I2S, GPIO 및 UART 등을 포함할 수 있다. Low speed peripheral block 160 represents devices operating at low speed. For example, the low speed peripheral block 160 may include system registers, timers, I2S, GPIOs, and UARTs.

스토리지 제어 블록(130)은 스토리지(200)와 모바일 스토리지 제어 장치(100)의 통신 및 데이터 송수신을 위한 인터페이스 블록이다. 스토리지 제어 블록(130)은 EMI(External Memory Interface, 131), USB(132), SD/MMC(Secure Digital/Multimedia Card, 133), DDR 컨트롤러(134) 및 플래시 컨트롤러(135)를 포함할 수 있다.The storage control block 130 is an interface block for communication and data transmission and reception between the storage 200 and the mobile storage control device 100. The storage control block 130 may include an external memory interface (EMI) 131, a USB 132, a secure digital / multimedia card 133 (SD / MMC), a DDR controller 134, and a flash controller 135. .

EMI(131)는 외부에 추가적인 스토리지를 둘 때 사용된다. EMI(131)는 모바일 스토리지 프로세서(110)의 디버깅 기능을 수행할 수 있도록 한다. 예를 들면, EMI(131)는 필요에 따라서 외부 프로그램을 내부 스토리지(113)의 SRAM에 다운로드 하여 모바일 스토리지 프로세서(110)의 각 부분의 기능을 점검하는데 사용될 수 있다.  EMI 131 is used to put additional storage outside. The EMI 131 enables the debugging function of the mobile storage processor 110 to be performed. For example, the EMI 131 may be used to check the function of each part of the mobile storage processor 110 by downloading an external program into the SRAM of the internal storage 113 as needed.

USB(132)는 플러그 앤 플레이(Plug & Play) 방식으로 외부 스토리지를 간단히 연결 및 추가 할 수 있도록 한다. The USB 132 allows plug and play to easily connect and add external storage.

SD/MMC(133)는 디지털 카메라, PDA, 미디어 플레이어, 모바일 폰, GPS 리시버 및 비디오 게임 등의 장치에 사용되며, 데이터 송수신이 가능하다. The SD / MMC 133 is used in devices such as digital cameras, PDAs, media players, mobile phones, GPS receivers, and video games, and can transmit and receive data.

DDR 컨트롤러(134)는 스토리지(200)의 DRAM을 제어한다. DDR 컨트롤러(134)는 호스트 프로세서(300)와 고속으로 데이터 송수신이 가능하게 한다. DDR 컨트롤러(134)에 DDR ICM(Inter Connection Matrix)가 포함될 수 있다. DDR ICM은 DDR 컨트롤러(134)에 연결된 버스 중에서 데이터를 송수신 하기 위해 사용될 버스를 선택 할 수 있다.The DDR controller 134 controls the DRAM of the storage 200. The DDR controller 134 enables data transmission and reception at high speed with the host processor 300. The DDR controller 134 may include a DDR Inter Connection Matrix (ICM). The DDR ICM may select a bus to be used for transmitting and receiving data among buses connected to the DDR controller 134.

플래시 컨트롤러(135)는 스토리지(200)의 플래시 메모리를 제어한다. 플래시 컨트롤러(135)는 플래시 메모리의 어드레스 맵핑(Address Mapping), 불량 블록 관리, 쓰레기 수집(Garbage Collection) 및 소거 블록 평준화 기법(Wear-Leveling)등의 기능을 포함한다. 플래시 컨트롤러(135)는 플래시 ICM(Inter Connection Matrix)를 포함할 수 있다. 플래시 ICM에 의해서 플래시 컨트롤러에 연결된 버스 중에서 데이터 및 프로그램을 송수신 하기 위해 사용될 버스가 선택될 수 있다.The flash controller 135 controls the flash memory of the storage 200. The flash controller 135 includes functions such as address mapping of the flash memory, bad block management, garbage collection, and erase-leveling techniques. The flash controller 135 may include a flash ICM (Inter Connection Matrix). The bus to be used for transmitting and receiving data and programs among the buses connected to the flash controller by the flash ICM may be selected.

고속 주변 블록(150)은 인터럽트 컨트롤러(151), FTL 패턴 서치(FTL Pattern Search, 152), DMA(Direct Memory Access) 컨트롤러(153)를 포함할 수 있다. The fast peripheral block 150 may include an interrupt controller 151, an FTL pattern search 152, and a direct memory access (DMA) controller 153.

인터럽트 컨트롤러(151)는 모바일 스토리지 제어 장치(100)의 외부 주변 블록에서 발생하는 인터럽트 신호를 모바일 스토리지 프로세서(110)가 인지할 수 있도록 할 수 있다. 인터럽트 컨트롤러(151)는 다수의 입력 인터럽트에 대해서 우선 순위를 정하고 처리하는 기능을 포함할 수 있다. The interrupt controller 151 may enable the mobile storage processor 110 to recognize an interrupt signal generated in an external peripheral block of the mobile storage control device 100. The interrupt controller 151 may include a function of prioritizing and processing a plurality of input interrupts.

FTL 패턴 서치(152)는 플래시 컨트롤러(135)가 어드레스 맵핑, 불량 블록 관리, 쓰레기 수집 및 소거 블록 평준화 기법 등의 기능을 수행하는데 필요한 패턴을 찾을 수 있다.The FTL pattern search 152 may find a pattern required for the flash controller 135 to perform functions such as address mapping, bad block management, garbage collection, and erasure block leveling techniques.

DMA 컨트롤러(153)는 고속 버스에 연결되어 직접 메모리 접근 방식으로 기능을 수행할 수 있다. DMA 컨트롤러(153)는 다수개의 DMA 채널과 DMA 리퀘스트 라인(Request Line)을 제공할 수 있다. DMA 컨트롤러(153)는 다수개의 채널로부터 발생하는 명령을 우선 순위에 따라 처리할 수 있다. DMA 컨트롤러(153)는 DMA 에러 발생 및 DMA 카운터'0'에 도달하였을 때, DMA 인터럽트를 모바일 스토리지 프로세서(110)에 알리고, DMA 인터럽트를 통하여 데이터 전송 완료 혹은 에러가 있음 알린다.The DMA controller 153 may be connected to a high speed bus to perform a function in a direct memory approach. The DMA controller 153 may provide a plurality of DMA channels and DMA request lines. The DMA controller 153 may process commands generated from a plurality of channels in order of priority. The DMA controller 153 notifies the mobile storage processor 110 of the DMA interrupt when the DMA error occurs and the DMA counter '0' is reached, and notifies that the data transfer is completed or there is an error through the DMA interrupt.

모드 전환 블록(171)은 모바일 스토리지 제어 장치(100)의 전력 모드 전환을 수행할 수 있다.The mode switching block 171 may perform power mode switching of the mobile storage control device 100.

PLL 블록(172)은 외부 및 내부 주파수를 이용하여 주파수를 합성하는 기능을 수행한다.The PLL block 172 performs a function of synthesizing frequencies using external and internal frequencies.

클럭 & 리셋 블록(173)은 모바일 스토리지 제어 장치의 내부에서 사용되는 클럭 신호 또는 리셋 신호를 발생한다.The clock & reset block 173 generates a clock signal or a reset signal used inside the mobile storage control device.

다중 버스 채널 블록(140)은 다수개의 버스와 제1 스위치(141) 및 제2 스위치(142)를 포함할 수 있다. 다중 버스 채널 블록(140)은 고속 버스(112)로 로딩되는 데이터 양이 많은 경우, 모바일 스토리지 프로세서(110)에 의해서 하나 이상의 버스에 일부 데이터를 로딩한다. 또한 다중 버스 채널 블록(140)은 DDR 컨트롤러(134)를 통해 수신된 데이터를 Flash 컨트롤러(135)로 전송할 때 사용될 수 있다.
The multiple bus channel block 140 may include a plurality of buses, a first switch 141, and a second switch 142. The multi-bus channel block 140 loads some data on one or more buses by the mobile storage processor 110 when the amount of data loaded onto the high speed bus 112 is large. In addition, the multi-bus channel block 140 may be used when transmitting data received through the DDR controller 134 to the flash controller 135.

본 발명의 실시예에 의한 스토리지 제어 장치(100)는 스토리지(200)를 이용하여 호스트 프로세서(300)와 데이터를 송수신한다. 특히, 스토리지(200)제어를 위해 호스트 프로세서(300)와 모바일 스토리지 프로세서(110)간의 데이터 송수신이 스토리지(200)의 DRAM 및 DP메모리를 통해서 이루어진다. The storage control apparatus 100 according to an exemplary embodiment of the present invention transmits and receives data with the host processor 300 using the storage 200. In particular, data transmission and reception between the host processor 300 and the mobile storage processor 110 is performed through the DRAM and the DP memory of the storage 200 to control the storage 200.

따라서, 저속의 스토리지(200)인 플래시 메모리를 호스트 프로세서(300)가 직접 제어할 때보다 모바일 스토리지 프로세서(110)로 제어할 때, 호스트 프로세서(300)의 점유율을 감소 시킬 수 있다. Therefore, when controlling the flash memory, which is the low-speed storage 200, by the mobile storage processor 110 rather than directly controlling the host memory 300, the occupancy of the host processor 300 may be reduced.

또한, 스토리지(200)의 제어를 위해 모바일 스토리지 프로세서(110)와의 송수신을 고속의 DRAM 및 DP 메모리를 이용함으로써, 고속의 스토리지(200)제어가 가능하다. In addition, the high speed storage 200 may be controlled by using the high speed DRAM and the DP memory to transmit / receive the mobile storage processor 110 to control the storage 200.

또한, DRAM 및 DP 메모리의 활용으로 플래시 메모리의 접근 횟수가 감소되어 플래시 메모리의 수명을 향상시킬 수 있다.In addition, utilization of DRAM and DP memory may reduce the number of accesses of the flash memory, thereby improving the life of the flash memory.

또한, 다중 버스 채널(140)에 의해 모바일 스토리지 제어 장치(200)가 고속 버스에 로딩되는 데이터 양이 증가하는 경우에도 다중 버스 채널에서 선택한 별개의 버스를 사용함으로써, 데이터를 고속으로 처리할 수 있다.
In addition, even when the amount of data that the mobile storage control device 200 is loaded on the high-speed bus by the multi-bus channel 140 increases, data can be processed at high speed by using a separate bus selected from the multi-bus channel. .

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention as defined in the appended claims. It will be understood that the invention may be varied and varied without departing from the scope of the invention.

100 : 모바일 스토리지 제어 장치 110 : 모바일 스토리지 프로세서
111 : 저속 버스 112 : 고속 버스
113 : 내부 스토리지 130 : 스토리지 제어 블록
140 : 다중 버스 채널 블록 150 : 고속 주변 블록
160 : 저속 주변 블록 171 : 모드 전환 블록
172 : PLL 블록 173 : 클럭 & 리셋 블록
200 : 스토리지 300 : 호스트 프로세서
100: mobile storage control device 110: mobile storage processor
111: low speed bus 112: high speed bus
113: internal storage 130: storage control block
140: multi-bus channel block 150: high-speed peripheral block
160: low speed peripheral block 171: mode switching block
172: PLL Block 173: Clock & Reset Block
200: storage 300: host processor

Claims (17)

모바일의 스토리지(Storage)를 제어하는 모바일 스토리지 제어 장치에 있어서,
스토리지에 접근하여 상기 스토리지에 데이터를 저장하거나, 상기 스토리지에 저장된 데이터를 읽어오며, 호스트 프로세서의 명령어 및 데이터가 듀얼 포트 메모리에 임시 저장된 경우 발생하는 인터럽트를 수신하는 스토리지 제어 블록; 및
상기 스토리지 제어 블록이 인터럽트를 수신하면, 상기 스토리지 제어 블록을 통해 상기 듀얼 포트 메모리의 명령어를 수신하고, 상기 명령어에 상응하는 수행 결과를 상기 듀얼 포트 메모리로 전송하는 모바일 스토리지 프로세서를 포함하며, 상기 모바일 스토리지 프로세서는
상기 스토리지 제어 블록이 상기 인터럽트를 수신하면, 상기 듀얼 포트 메모리의 소유권을 확인하고,
상기 소유권을 갖는다면, 상기 듀얼 포트 메모리에 저장된 명령을 수행하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
In the mobile storage control device for controlling the storage of the mobile (Storage),
A storage control block accessing storage to store data in the storage, reading data stored in the storage, and receiving an interrupt generated when a command and data of a host processor are temporarily stored in a dual port memory; And
And a mobile storage processor configured to receive an instruction of the dual port memory through the storage control block and to transmit an execution result corresponding to the instruction to the dual port memory when the storage control block receives an interrupt. Storage processor
When the storage control block receives the interrupt, verify ownership of the dual port memory,
And if the ownership is present, executing the command stored in the dual port memory.
삭제delete 제1항에 있어서,
상기 모바일 스토리지 프로세서는
상기 명령어에 상응하는 수행 결과를 상기 듀얼 포트 메모리로 전송 시 상기 듀얼 포트 메모리의 소유권을 상기 호스트 프로세서로 이전하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
The method of claim 1,
The mobile storage processor
And transferring ownership of the dual port memory to the host processor when transmitting a result corresponding to the command to the dual port memory.
제1항에 있어서,
상기 스토리지는
상기 호스트 프로세서와 상기 모바일 스토리지 프로세서 간의 명령 및 데이터 전송을 위한 휘발성 메모리; 및
상기 모바일 스토리지 프로세서에 의해 데이터가 저장되는 비휘발성 메모리를 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
The method of claim 1,
The storage is
Volatile memory for transmitting commands and data between the host processor and the mobile storage processor; And
And a nonvolatile memory in which data is stored by the mobile storage processor.
제1항에 있어서,
상기 스토리지 제어 블록은
EMI, USB, SD/MMC, DDR 컨트롤러, 플래시 컨트롤러 중 어느 하나 이상을 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
The method of claim 1,
The storage control block is
Mobile storage control device comprising any one or more of: EMI, USB, SD / MMC, DDR controller, flash controller.
제1항에 있어서,
상기 모바일 스토리지 제어 장치는
상기 모바일 스토리지 제어 장치의 전력 모드 전환을 위한 전력 모드 전환 블록을 더 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
The method of claim 1,
The mobile storage control device
The mobile storage control device further comprises a power mode switching block for switching the power mode of the mobile storage control device.
제6항에 있어서,
상기 전력 모드 전환 블록은
상기 모바일 스토리지 제어 장치가 슬립 모드에서 활동 모드로, 활동 모드에서 슬립 모드로 또는 슬립 모드 및 활동 모드에서 딥 슬립 모드로 전환되도록 동작하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
The method of claim 6,
The power mode switching block is
And operate the mobile storage control device to switch from sleep mode to active mode, from active mode to sleep mode, or from sleep mode and active mode to deep sleep mode.
제7항에 있어서,
상기 슬립 모드는
상기 전력 모드 전환 블록을 제외한 모바일 스토리지 제어 장치의 블록의 전원이 꺼지는(OFF) 저전력 동작 상태인 것을 특징으로 하는 모바일 스토리지 제어 장치.
The method of claim 7, wherein
The sleep mode is
And a low power operation state in which blocks of the mobile storage control device except for the power mode switching block are turned off.
제7항에 있어서,
상기 딥 슬립 모드는
상기 슬립 모드 상태에서 상기 전력 모드 전환 블록의 전원이 꺼지는(OFF) 초저전력 동작 상태인 것을 특징으로 하는 모바일 스토리지 제어 장치.
The method of claim 7, wherein
The deep sleep mode is
And an ultra low power operation state in which the power mode switching block is turned off in the sleep mode state.
제1항에 있어서,
상기 모바일 스토리지 프로세서는
RISC(Reduced Instruction Set Computer) 구조의 마이크로 프로세서로 구성되는 것을 특징으로 하는 모바일 스토리지 제어 장치.
The method of claim 1,
The mobile storage processor
Mobile storage control device comprising a microprocessor of the RISC (Reduced Instruction Set Computer) structure.
제1항에 있어서,
상기 모바일 스토리지 프로세서는 DDR 인터페이스을 통하여 호스트 프로세서와 데이터 송수신을 하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
The method of claim 1,
The mobile storage processor is a mobile storage control device, characterized in that for transmitting and receiving data with a host processor through a DDR interface.
제1항에 있어서,
상기 스토리지로부터 수신한 명령 및 데이터를 상기 모바일 스토리지 프로세서에 고속으로 전송하기 위한 신호 처리를 수행하는 고속 주변 블록;
상기 모바일 스토리지 프로세서에 의해 상기 고속 주변 블록을 통해 수신한 상기 명령을 수행하기 위한 데이터가 임시 저장되는 내부 스토리지;
상기 내부 스토리지, 상기 스토리지 제어 블록 및 상기 고속 주변 블록이 상기 모바일 스토리지 프로세서와 상기 명령 및 상기 데이터를 고속으로 송수신하기 위한 고속 버스; 및
상기 고속 주변 블록과 상기 모바일 스토리지 프로세서 간의 송수신 되는 데이터 양의 증가로 상기 고속 버스에 로딩(Loading)되는 데이터 양이 증가한 경우, 상기 모바일 스토리지 프로세서에 의해 선택되어 사용되는 다수개의 버스로 구성된 다중 버스 채널 블록을 더 포함하는 모바일 스토리지 제어 장치.
The method of claim 1,
A high speed peripheral block which performs signal processing for transmitting a command and data received from the storage to the mobile storage processor at high speed;
Internal storage for temporarily storing data for performing the command received by the mobile storage processor through the fast peripheral block;
A high speed bus through which the internal storage, the storage control block and the high speed peripheral block transmit and receive the command and the data at high speed with the mobile storage processor; And
When the amount of data loaded on the high-speed bus increases due to an increase in the amount of data transmitted and received between the high-speed peripheral block and the mobile storage processor, a multi-bus channel composed of a plurality of buses selected and used by the mobile storage processor Mobile storage control device further comprising a block.
제12항에 있어서,
상기 다중 버스 채널은,
데이터 송수신을 위한 다수개의 버스; 및
상기 모바일 스토리지 프로세서에 의해 제어되어, 상기 다수개의 버스 중에서 하나의 버스와 상기 고속 버스가 연결 되도록 하는 스위치를 더 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
The method of claim 12,
The multi-bus channel,
A plurality of buses for transmitting and receiving data; And
And a switch controlled by the mobile storage processor to connect one of the plurality of buses with the high-speed bus.
제12항에 있어서,
상기 내부 스토리지는 ROM, SRAM 중 어느 하나 이상을 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
The method of claim 12,
And the internal storage includes at least one of a ROM and an SRAM.
제12항에 있어서,
상기 고속 주변 블록은 인터럽트 컨트롤러, FTL 패턴 서치, DMA 컨트롤러 중 어느 하나 이상을 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
The method of claim 12,
The high speed peripheral block includes at least one of an interrupt controller, an FTL pattern search, and a DMA controller.
제12항에 있어서,
상기 모바일의 저속의 외부 장치와 연결되며, 상기 모바일 스토리지 프로세서와 상기 저속의 외부 장치 간에 데이터를 송수신을 위한 인터페이스를 수행하는 저속 주변 블록;
상기 저속 주변 블록과 브리지 간의 데이터 송수신을 위한 저속 버스; 및
상기 브리지는 상기 고속 버스와 상기 저속 버스 간의 데이터 송수신을 위한 인터페이스를 수행하는 것을 더 포함하는 모바일 스토리지 제어 장치.
The method of claim 12,
A low speed peripheral block connected to the low speed external device of the mobile and performing an interface for transmitting and receiving data between the mobile storage processor and the low speed external device;
A low speed bus for transmitting and receiving data between the low speed neighboring block and a bridge; And
The bridge further comprises performing an interface for transmitting and receiving data between the high speed bus and the low speed bus.
제16항에 있어서,
상기 저속 주변 블록은 시스템 레지스터, 타이머, I2S, GPIO 및 UART 중 어느 하나 이상을 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
The method of claim 16,
And the low speed peripheral block includes any one or more of a system register, a timer, an I2S, a GPIO, and a UART.
KR1020100011123A 2010-02-05 2010-02-05 Mobile storage control device KR101101867B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100011123A KR101101867B1 (en) 2010-02-05 2010-02-05 Mobile storage control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100011123A KR101101867B1 (en) 2010-02-05 2010-02-05 Mobile storage control device

Publications (2)

Publication Number Publication Date
KR20110091337A KR20110091337A (en) 2011-08-11
KR101101867B1 true KR101101867B1 (en) 2012-01-05

Family

ID=44928792

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100011123A KR101101867B1 (en) 2010-02-05 2010-02-05 Mobile storage control device

Country Status (1)

Country Link
KR (1) KR101101867B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100619720B1 (en) * 2005-05-16 2006-09-06 엘지전자 주식회사 Communication apparatus for multi processor and method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100619720B1 (en) * 2005-05-16 2006-09-06 엘지전자 주식회사 Communication apparatus for multi processor and method thereof

Also Published As

Publication number Publication date
KR20110091337A (en) 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 (en) Electronic device performing training on memory device by rank unit and training method thereof
US11526440B2 (en) Providing multiple memory modes for a processor including internal memory
KR100708128B1 (en) An apparatus and method for controlling nand flash memory
US9164804B2 (en) Virtual memory module
JPWO2004077306A1 (en) SDIO controller
US10255218B1 (en) Systems and methods for maintaining specific ordering in bus traffic
CN115033520A (en) IIC data transmission method and device, single chip microcomputer equipment and storage medium
CN116185907A (en) Bridging device and data storage system
KR20140080948A (en) Operating method for data storage device
WO2009115058A1 (en) Mainboard for providing flash storage function and storage method thereof
KR101101867B1 (en) Mobile storage control device
CN112306558A (en) Processing unit, processor, processing system, electronic device, and processing method
US20180336147A1 (en) Application processor including command controller and integrated circuit including the same
KR20100116934A (en) Data storage device and data processing system having the same
CN115878021A (en) Computer readable storage medium, method and device for writing data into flash memory
KR20090095842A (en) Memory copy method and computer system for using the method

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