KR101101867B1 - Mobile storage control device - Google Patents
Mobile storage control device 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)를 제어하는 모바일 스토리지 제어 장치에 있어서, 스토리지에 접근하여 스토리지에 데이터를 저장하거나, 스토리지에 저장된 데이터를 읽어오며, 호스트 프로세서의 명령어 및 데이터가 듀얼 포트 메모리에 임시 저장된 경우 발생하는 인터럽트를 수신하는 스토리지 제어 블록 및 스토리지 제어 블록이 인터럽트를 수신하면, 스토리지 제어 블록을 통해 듀얼 포트 메모리의 명령어를 수신하고, 명령어에 상응하는 수행 결과를 듀얼 포트 메모리로 전송하는 모바일 스토리지 프로세서를 포함한다. 본 발명에 따르면, 모바일 스토리지 제어 장치에 의해 호스트 프로세서가 모바일 스토리지를 저전력 및 고속 제어가 가능하게 되므로, 모바일 성능이 향상되는 효과가 있다.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
본 발명은 모바일 스토리지 제어 장치에 관한 것이다. 더욱 상세하게는 모바일 스토리지를 저전력 및 고속으로 제어가 가능하게 하는 모바일 스토리지 제어 장치에 관한 것이다.
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
호스트 프로세서(300)는 모바일의 통신, 응용 및 멀티미디어 기능을 실행한다. 호스트 프로세서(300)는 스토리지(200)의 휘발성 메모리와의 데이터 송수신을 위한 인터페이스를 갖는다. The
모바일 스토리지 제어 장치(100)는 모바일의 내부 스토리지(도8의 113)를 포함하며, 모바일의 스토리지를 통합적으로 제어하는 장치이다. 내부 스토리지(도8의 113)는 모바일 스토리지 제어 장치(100)가 동작하기 위해 필요한 부팅 프로그램 및 데이터를 임시로 저장할 수 있다.The mobile
모바일 스토리지 제어 장치(100)는 모바일 스토리지 시스템에 포함된 스토리지(200)를 제어할 수 있다. 모바일 스토리지 제어 장치(100)는 호스트 프로세서로부터 수신된 명령에 따라 스토리지(200)의 데이터를 읽기 및 삭제 하거나, 스토리지(200)에 데이터를 쓰기와 같은 스토리지(200) 제어를 수행한다.The mobile
스토리지(200)는 모바일의 프로그램 및 데이터를 저장할 수 있다. 스토리지(200)는 비휘발성 메모리와 휘발성 메모리를 포함할 수 있다. 비휘발성 메모리는 호스트 프로세서(300) 또는 모바일 스토리지 제어 장치(100)에서 사용되는 프로그램 또는 데이터를 저장할 수 있다. 휘발성 메모리는 데이터 및 프로그램을 임시 저장하는 캐시 메모리 기능을 포함할 수 있다. 또한 스토리지(200)의 휘발성 메모리는 호스트 프로세서(300)와 모바일 스토리지 제어 장치(100) 간의 명령을 포함한 데이터 전송을 위한 듀얼포트(Dual-Port) 메모리를 포함할 수 있다.The
본 발명의 일 실시예에 의하면, 모바일 스토리지 제어 장치에 의해 호스트 프로세서가 매번 저속 저장 매체인 비휘발성 메모리에 접속하지 않아도 되므로 호스트 프로세서의 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
스토리지 제어 블록(130)은 스토리지(도1의 200) 제어를 위해 모바일 스토리지 프로세서(110)와 스토리지(도1의 200) 간의 데이터 송수신을 위한 인터페이스를 수행한다. 스토리지 제어 블록(130)은 스토리지(도1의 200)으로부터 수신한 인터럽트를 모바일 스토리지 프로세서(110)으로 전송한다. 인터럽트는 스토리지(도1의 200)가 호스트 프로세서로부터 명령 및 데이터를 수신하였을 경우, 발생하는 신호이다.The
스토리지 제어 블록(130)은 EMI(External Memory Interface), USB, SD/MMC, DDR 컨트롤러, 플래시 컨트롤러를 포함할 수 있다. 스토리지 제어 블록(130)에 연결되는 저장매체는 DRAM, 플래시 메모리, DP 메모리, USB 메모리, SD/MMC 메모리 등과 같은 휘발성 메모리 및 비휘발성 메모리 중에서 어느 하나의 메모리일 수 있다. The
스토리지 제어 블록(130)에 연결되는 저장매체는 이에 한정되지 않는다. 예를 들어, 스토리지 제어 블록(130)은 SRAM, PSRAM, SDRAM 또는 DPRAM 중 어느 하나 이상을 더 포함할 수 있다. 즉, 스토리지 제어 블록(130)에 연결되는 저장매체의 종류 및 개수는 당업자에 의해서 용의하게 변경 가능하다.The storage medium connected to the
모바일 스토리지 프로세서(110)는 호스트 프로세서(도1의 300)의 명령에 의한 기능 수행 및 모바일의 스토리지를 제어할 수 있다. 모바일 스토리지 프로세서(110)는 호스트 프로세서(도1의 300)의 명령에 의해 스토리지(도1의 200)의 데이터를 읽기 및 삭제 하거나, 스토리지(도1의 200)에 데이터 쓰기를 수행할 수 있다. The
모바일 스토리지 프로세서(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
브리지(120)는 저속 버스(111)와 고속 버스(112) 간의 데이터 송수신을 위한 것이다. 브리지(120)는 저속 버스(111)에 연결된 블록과 고속 버스(112)에 연결된 블록을 연결할 수 있다. 예를 들어, 저속 동작을 하는 GPIO 블록은 저속 버스(111)와 연결된다. 저속 버스(111)와 연결된 GPIO블록은 브리지(120)에 의해서 고속 동작을 하는 모바일 스토리지 프로세서(110)와 연결된다. The
브리지(120)는 저속 버스(111)와 고속 버스(112)사이에 위치한다. 즉, 브리지(120)에 의하여 고속 버스(112)에 연결된 모바일 스토리지 프로세서(110)과 저속 버스(111)에 연결된 저속 주변 블록 간의 데이터 송수신이 가능하게 된다.The
다중 버스 채널 블록(140)은 스토리지(도1의 200)의 데이터를 고속으로 송수신하기 위한 다수개의 버스를 갖는 멀티 버스 채널이다. 다중 버스 채널 블록(140)에 의해서 모바일 스토리지 제어 장치(도1의 100)의 데이터 송수신 속도를 증가시킬 수 있다. The
고속 주변 블록(150)은 고속 버스(112)와 연결되어, 모바일 스토리지 프로세서(110)와 고속으로 데이터 및 제어 신호를 주고 받는다. 제어 신호는 데이터가 고속 주변 블록(150)에 수신된 순서대로 모바일 스토리지 프로세서(110) 또는 호스트 프로세서(도1의 300)로 전송되도록 수신된 데이터를 제어하는 신호이다. 고속 주변 블록(150)은 인터럽트 컨트롤러, FTL 패턴 서치(FTL Pattern Search), DMA(Direct Memory Access) 컨트롤러 등과 같은 고속의 데이터 송수신이 필요한 장치를 포함할 수 있다. The high speed
저속 주변 블록(160)은 저속 버스(111)와 연결되어, 모바일 스토리지 프로세서(110)가 외부 장치와 데이터를 저속으로 송수신하는 인터페이스를 수행한다. 저속 주변 블록(160)은 저속으로 동작하는 시스템 레지스터, 타이머, GPIO, I2S 및 UART 등을 포함할 수 있다. The low speed
고속 주변 블록(150) 및 저속 주변 블록(160)에 포함되는 장치의 종류 및 개수는 당업자에 의해서 용이하게 변경이 가능하다.The type and number of devices included in the fast
기타 블록(170)은 모바일 스토리지 프로세서(110)의 전력 모드 전환, 외부 및 내부 주파수를 이용하여 주파수를 합성, 스토리지 제어 장치 내부에서 사용되는 클럭 신호 또는 리셋 신호 발생 기능 등을 수행할 수 있다. The
전력 모드 전환은 모바일 스토리지 프로세서(110)가 슬립 모드(Sleep Mode)에서 활동 모드(Active Mode)로, 활동 모드에서 슬립 모드로 또는 슬립 모드 및 활동 모드에서 딥 슬립 모드(Deep Sleep Mode)로 전환되는 것이다. 전력 모드 전환에 의해서, 모바일 스토리지 제어 장치가 프로그램 실행 후 슬립 또는 딥 슬립 모드로 진입 가능하므로 모바일 스토리지 제어 장치 및 모바일 전체 시스템의 전력 소모를 줄일 수 있다.
The power mode switch is performed by the
도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
스토리지 제어 블록(130)은 EMI(External Memory Interface, 131), USB(132), SD/MMC(133), DDR 컨트롤러(134) 및 플래시 메모리 제어를 위한 플래시 컨트롤러(135)를 포함할 수 있다.The
EMI(131)는 휘발성 메모리 인터페이스 블록으로, SRAM, PSRAM, SDRAM 메모리와 연결된다. EMI(131)는 필요에 따라 외부로부터 프로그램을 내부 SRAM에 다운로드 하여 스토리지 프로세서와 연결된 블록의 기능을 점검하기 위한 디버깅 기능을 수행할 수 있다.The
USB(132)는 휴대기기, 통신기기 및 PC 등을 포함한 전자기기 장치에 폭넓게 사용되는 인터페이스 기술이다. USB(132)는 유니버셜 시리얼 인터페이스를 통하여 외부 저장매체를 연결한다. USB를 사용하면 플러그 앤 플레이(Plug & Play) 방식으로 저장매체를 간단히 연결 및 추가할 수 있다.
SD/MMC(133)은 Secure Digital과 Multimedia Card 포맷을 지원하는 플래시 카드 인터페이스이다. SD/MMC(133)는 디지털 카메라, PDA, 미디어 플레이어, 모바일 폰, GPS 리시버 및 비디오 게임 등의 장치에 사용되며, 데이터 송수신이 가능하다.The SD /
DDR 컨트롤러(134)는 고속 버스(112)에 연결되며, 저전력의 DDR 메모리를 제어하는 인터페이스 블록이다. DDR 컨트롤러(134)는 메모리의 데이터 송수신을 고속으로 수행할 수 있다. DDR 컨트롤러(134)는 패드인터페이스, 메모리 인터페이스, 고속 버스 인터페이스 블록을 포함할 수 있다. DDR 컨트롤러(134)에 의해서 DRAM 및 DP메모리를 통한 호스트 프로세서(도1의 300) 및 모바일 스토리지 프로세서(도2의 110)의 데이터 송수신이 고속으로 이루어진다.The
플래시 컨트롤러(135)는 플래시 메모리를 제어한다. 플래시 메모리는 낸드(NAND) 플래시 일 수 있다. 플래시 컨트롤러(135)는 낸드 메모리 인터페이스, 고속 버스 인터페이스, 메모리 매니저 및 에러 코드 제어기를 포함할 수 있다. 플래시 컨트롤러(135)는 FTL 및 플래시 디바이스 드라이버 프로그램에 의해 동작된다. 플래시 컨트롤러(135)의 주요 동작은 메모리에 데이터 쓰기, 읽기, 삭제 및 모바일의 기능 수행을 위한 프로그램의 저장 등과 같은 기능을 수행할 수 있다.The
본 발명의 실시예에 따른 스토리지 제어 블록(130)에 의하면 DRAM 및 DP 메모리와 같은 고속 메모리 뿐만 아니라 플래시 메모리와 같은 저속 메모리도 모바일 스토리지 프로세서(도2의 110)와 데이터를 고속으로 송수신 할 수 있다.
According to the
도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
다중 버스 채널 블록(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
이와 같이, 다중 버스 채널 블록(140)의 제1 스위치(141) 및 제2 스위치(142)는 모바일 스토리지 프로세서(도2의 110)뿐만 아니라 다중 버스 채널 블록(140)을 통해서 데이터를 송수신하는 모바일 스토리지 제어 장치(도1의 100)의 구성부에 의해서 제어될 수 있다.As such, the
버스 선택에 이용되는 제1 스위치(141) 및 제2 스위치(142)로 ICM(Inter-Connection Matrix)가 이용될 수 있다.An inter-connection matrix (ICM) may be used as the
다중 버스 채널 블록(140)은 다수개의 버스 중에서 모바일 스토리지 프로세서(도2의 110)에 의해 버스가 선택됨으로써 데이터 송수신이 이루어진다. 다중 버스 채널 블록은 고속 버스로 많은 양의 데이터가 로딩(Loading)될 때, 모바일 스토리지 프로세서(도2의 110)에 의해서 선택된 별도의 버스로 일부 데이터를 로딩함으로써, 데이터 전송 속도를 높일 수 있다.In the multiple
이와 같은 다중 버스 채널(140)에 의해 모바일 스토리지 제어 장치(도1의 200)는 고속의 데이터 송수신할 수 있다. 모바일 스토리지 제어 장치(도2의 100)는 다중 버스 채널(140)에 의해 데이터 버스를 확대하여 사용할 수 있으므로, 대용량의 데이터가 송수신될 경우에도, 대용량의 데이터를 고속으로 처리할 수 있다.
By such a
도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
인터럽트 컨트롤러(151)는 모바일 스토리지 제어 장치(100)의 외부 주변 블록에서 발생하는 인터럽트 신호를 모바일 스토리지 프로세서(110)가 인지할 수 있도록 할 수 있다. 인터럽트 컨트롤러(151)는 인터럽트를 점검하고 인지하여 해당 루틴을 실행하도록 하는 레지스터를 포함할 수 있다. 또한, 인터럽트 컨트롤러(151)는 다수의 인터럽트 입력에 대한 우선 순위를 정하고 처리하는 기능을 포함할 수 있다. The interrupt
FTL 패턴 서치(152)는 플래시 컨트롤러가 어드레스 맵핑, 불량 블록 관리, 쓰레기 수집 및 소거 블록 평준화 기법 등의 기능을 수행하는데 필요한 패턴을 찾는 블록이다.The
DMA 컨트롤러(153)는 고속 버스에 연결되어 직접 메모리 접근 방식으로 기능을 수행하는 블록이다. DMA 컨트롤러(153)는 다수개의 DMA 채널과 DMA 리퀘스트 라인(Request Line)을 제공한다. DMA 컨트롤러(153)는 다수개의 채널로부터 발생하는 명령을 우선 순위에 따라 처리한다. DMA 컨트롤러(153)의 각 채널에는 FIFO가 위치한다. 또한 DMA 컨트롤러(153)의 임시 버퍼 사이즈는 조정이 가능하다. DMA 컨트롤러(153)는 DMA 에러 발생 및 DMA 카운터가 '0'에 도달하였을 때, DMA 인터럽트를 모바일 스토리지 프로세서에 알리고, 인터럽트를 통하여 데이터 transfer가 완료 혹은 에러가 있음을 알린다.The
본 발명의 실시 예에 의한 고속 주변 블록(150)에 의하면, 수십 ~ 수백 MHz 대의 고속 데이터를 처리하는 경우에도, 속도의 저하 없이 빠르게 처리될 수 있다.
According to the high-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
시스템 레지스터(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)도 할 수 있다.The
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)를 내장할 수 있다.
The
도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
모드 전환 블록(171)은 모바일 스토리지 제어 장치의 전력 모드 전환을 수행한다. 모드 전환은 모바일 스토리지 제어 장치가 슬립 모드(Sleep Mode)에서 활동 모드(Active Mode)로, 활동 모드에서 슬립 모드로 또는 슬립 모드 및 활동 모드에서 딥 슬립 모드(Deep Sleep Mode)로 전환되는 것이다. 슬립 모드는 모드 전환 블록을 제외한 모바일 스토리지 제어 장치의 블록의 전원이 꺼지는 저전력 상태이다. 딥 슬립 모드는 슬립 모드 상태에서 모드 전환 블록의 전원이 꺼진다. 즉, 딥 슬립 모드는 모바일 스토리지 제어 장치의 모든 블록의 전원이 꺼지는 초저전력 상태이다. 이와 같은 모드 전환 블록(171)에 의해서, 모바일 스토리지 제어 장치(도1의 300)의 동작 상태에 따라서 저전력 또는 초저전력 상태로 모드 변환이 가능하므로 전력 소모가 감소 된다. The
PLL 블록(172)은 외부 및 내부 주파수를 이용하여 주파수를 합성 기능을 수행한다.The
클럭 & 리셋 블록(173)은 모바일 스토리지 제어 장치 내부에서 사용되는 클럭 신호 또는 리셋 신호를 발생시킨다.
The clock & reset
도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
호스트 프로세서(300)는 모바일의 송수신 통신 신호 처리, 신호 압축 처리, 에러 정정 및 통신 시스템 제어 등의 베이스밴드 프로세서를 포함할 수 있다. 호스트 프로세서(300)는 모바일의 응용 및 멀티미디어 기능을 수행하는 프로세서인 AP/MP(Application Processor/Multimedia Processer)를 포함할 수 있다. 호스트 프로세서(300)는 베이스 밴드 프로세서 또는 AP/AP 중 어느 하나의 프로세서로 구성되거나 두 개의 프로세서가 하나의 통합된 단일 구조로 구성될 수 있다.The
스토리지(200)는 모바일의 프로그램 및 데이터가 저장된다. 스토리지(200)는 휘발성 메모리와 비휘발성 메모리를 포함할 수 있다. 비휘발성 메모리 중에서 모바일에 포함된 플래시 메모리는 호스트 프로세서(300) 및 모바일 스토리지 제어 장치(200)에서 사용되는 프로그램 및 데이터가 저장될 수 있다. The
휘발성 메모리는 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
스토리지(200)는 모바일에 포함된 플래시 메모리, DP 메모리 및 DRAM 뿐만 아니라, 모바일과 연결되는 외부 장치의 스토리지를 포함할 수 있다.The
비휘발성 메모리는 모바일에 포함된 플래시 메모리뿐만 아니라 모바일과 연결된 외부장치의 스토리지를 포함할 수 있다. 외부 장치의 스토리지는 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
모바일 스토리지 프로세서(110)는 모바일 스토리지를 제어하는 기능을 수행한다. 모바일 스토리지 프로세서(110)는 스토리지(200)의 데이터 및 프로그램에 대해 읽기 및 쓰기 기능을 수행한다. The
브리지(120)는 고속 버스(112)와 저속 버스(111) 간의 데이터 송수신이 가능하도록 한다.The
내부 스토리지(113)는 모바일 스토리지 프로세서(110)의 동작 수행을 위한 프로그램 및 임시 데이터를 저장할 수 있다. 내부 스토리지(113)는 모바일 스토리지 프로세서(110)의 부팅 시 필요한 프로그램이 저장된 ROM과 모바일 스토리지 프로세서(110)의 프로그램 수행 시 필요한 프로그램 및 데이터를 임시로 저장하는 SRAM을 포함할 수 있다. The
저속 주변 블록(160)은 저속으로 동작하는 장치들을 나타낸다. 예를 들면, 저속 주변 블록(160)은 시스템 레지스터, 타이머, I2S, GPIO 및 UART 등을 포함할 수 있다. Low speed
스토리지 제어 블록(130)은 스토리지(200)와 모바일 스토리지 제어 장치(100)의 통신 및 데이터 송수신을 위한 인터페이스 블록이다. 스토리지 제어 블록(130)은 EMI(External Memory Interface, 131), USB(132), SD/MMC(Secure Digital/Multimedia Card, 133), DDR 컨트롤러(134) 및 플래시 컨트롤러(135)를 포함할 수 있다.The
EMI(131)는 외부에 추가적인 스토리지를 둘 때 사용된다. EMI(131)는 모바일 스토리지 프로세서(110)의 디버깅 기능을 수행할 수 있도록 한다. 예를 들면, EMI(131)는 필요에 따라서 외부 프로그램을 내부 스토리지(113)의 SRAM에 다운로드 하여 모바일 스토리지 프로세서(110)의 각 부분의 기능을 점검하는데 사용될 수 있다.
USB(132)는 플러그 앤 플레이(Plug & Play) 방식으로 외부 스토리지를 간단히 연결 및 추가 할 수 있도록 한다. The
SD/MMC(133)는 디지털 카메라, PDA, 미디어 플레이어, 모바일 폰, GPS 리시버 및 비디오 게임 등의 장치에 사용되며, 데이터 송수신이 가능하다. The SD /
DDR 컨트롤러(134)는 스토리지(200)의 DRAM을 제어한다. DDR 컨트롤러(134)는 호스트 프로세서(300)와 고속으로 데이터 송수신이 가능하게 한다. DDR 컨트롤러(134)에 DDR ICM(Inter Connection Matrix)가 포함될 수 있다. DDR ICM은 DDR 컨트롤러(134)에 연결된 버스 중에서 데이터를 송수신 하기 위해 사용될 버스를 선택 할 수 있다.The
플래시 컨트롤러(135)는 스토리지(200)의 플래시 메모리를 제어한다. 플래시 컨트롤러(135)는 플래시 메모리의 어드레스 맵핑(Address Mapping), 불량 블록 관리, 쓰레기 수집(Garbage Collection) 및 소거 블록 평준화 기법(Wear-Leveling)등의 기능을 포함한다. 플래시 컨트롤러(135)는 플래시 ICM(Inter Connection Matrix)를 포함할 수 있다. 플래시 ICM에 의해서 플래시 컨트롤러에 연결된 버스 중에서 데이터 및 프로그램을 송수신 하기 위해 사용될 버스가 선택될 수 있다.The
고속 주변 블록(150)은 인터럽트 컨트롤러(151), FTL 패턴 서치(FTL Pattern Search, 152), DMA(Direct Memory Access) 컨트롤러(153)를 포함할 수 있다. The fast
인터럽트 컨트롤러(151)는 모바일 스토리지 제어 장치(100)의 외부 주변 블록에서 발생하는 인터럽트 신호를 모바일 스토리지 프로세서(110)가 인지할 수 있도록 할 수 있다. 인터럽트 컨트롤러(151)는 다수의 입력 인터럽트에 대해서 우선 순위를 정하고 처리하는 기능을 포함할 수 있다. The interrupt
FTL 패턴 서치(152)는 플래시 컨트롤러(135)가 어드레스 맵핑, 불량 블록 관리, 쓰레기 수집 및 소거 블록 평준화 기법 등의 기능을 수행하는데 필요한 패턴을 찾을 수 있다.The
DMA 컨트롤러(153)는 고속 버스에 연결되어 직접 메모리 접근 방식으로 기능을 수행할 수 있다. DMA 컨트롤러(153)는 다수개의 DMA 채널과 DMA 리퀘스트 라인(Request Line)을 제공할 수 있다. DMA 컨트롤러(153)는 다수개의 채널로부터 발생하는 명령을 우선 순위에 따라 처리할 수 있다. DMA 컨트롤러(153)는 DMA 에러 발생 및 DMA 카운터'0'에 도달하였을 때, DMA 인터럽트를 모바일 스토리지 프로세서(110)에 알리고, DMA 인터럽트를 통하여 데이터 전송 완료 혹은 에러가 있음 알린다.The
모드 전환 블록(171)은 모바일 스토리지 제어 장치(100)의 전력 모드 전환을 수행할 수 있다.The
PLL 블록(172)은 외부 및 내부 주파수를 이용하여 주파수를 합성하는 기능을 수행한다.The
클럭 & 리셋 블록(173)은 모바일 스토리지 제어 장치의 내부에서 사용되는 클럭 신호 또는 리셋 신호를 발생한다.The clock & reset
다중 버스 채널 블록(140)은 다수개의 버스와 제1 스위치(141) 및 제2 스위치(142)를 포함할 수 있다. 다중 버스 채널 블록(140)은 고속 버스(112)로 로딩되는 데이터 양이 많은 경우, 모바일 스토리지 프로세서(110)에 의해서 하나 이상의 버스에 일부 데이터를 로딩한다. 또한 다중 버스 채널 블록(140)은 DDR 컨트롤러(134)를 통해 수신된 데이터를 Flash 컨트롤러(135)로 전송할 때 사용될 수 있다.
The multiple
본 발명의 실시예에 의한 스토리지 제어 장치(100)는 스토리지(200)를 이용하여 호스트 프로세서(300)와 데이터를 송수신한다. 특히, 스토리지(200)제어를 위해 호스트 프로세서(300)와 모바일 스토리지 프로세서(110)간의 데이터 송수신이 스토리지(200)의 DRAM 및 DP메모리를 통해서 이루어진다. The
따라서, 저속의 스토리지(200)인 플래시 메모리를 호스트 프로세서(300)가 직접 제어할 때보다 모바일 스토리지 프로세서(110)로 제어할 때, 호스트 프로세서(300)의 점유율을 감소 시킬 수 있다. Therefore, when controlling the flash memory, which is the low-
또한, 스토리지(200)의 제어를 위해 모바일 스토리지 프로세서(110)와의 송수신을 고속의 DRAM 및 DP 메모리를 이용함으로써, 고속의 스토리지(200)제어가 가능하다. In addition, the
또한, 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
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.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)
스토리지에 접근하여 상기 스토리지에 데이터를 저장하거나, 상기 스토리지에 저장된 데이터를 읽어오며, 호스트 프로세서의 명령어 및 데이터가 듀얼 포트 메모리에 임시 저장된 경우 발생하는 인터럽트를 수신하는 스토리지 제어 블록; 및
상기 스토리지 제어 블록이 인터럽트를 수신하면, 상기 스토리지 제어 블록을 통해 상기 듀얼 포트 메모리의 명령어를 수신하고, 상기 명령어에 상응하는 수행 결과를 상기 듀얼 포트 메모리로 전송하는 모바일 스토리지 프로세서를 포함하며, 상기 모바일 스토리지 프로세서는
상기 스토리지 제어 블록이 상기 인터럽트를 수신하면, 상기 듀얼 포트 메모리의 소유권을 확인하고,
상기 소유권을 갖는다면, 상기 듀얼 포트 메모리에 저장된 명령을 수행하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
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.
상기 모바일 스토리지 프로세서는
상기 명령어에 상응하는 수행 결과를 상기 듀얼 포트 메모리로 전송 시 상기 듀얼 포트 메모리의 소유권을 상기 호스트 프로세서로 이전하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
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.
상기 스토리지는
상기 호스트 프로세서와 상기 모바일 스토리지 프로세서 간의 명령 및 데이터 전송을 위한 휘발성 메모리; 및
상기 모바일 스토리지 프로세서에 의해 데이터가 저장되는 비휘발성 메모리를 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
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.
상기 스토리지 제어 블록은
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.
상기 모바일 스토리지 제어 장치는
상기 모바일 스토리지 제어 장치의 전력 모드 전환을 위한 전력 모드 전환 블록을 더 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
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.
상기 전력 모드 전환 블록은
상기 모바일 스토리지 제어 장치가 슬립 모드에서 활동 모드로, 활동 모드에서 슬립 모드로 또는 슬립 모드 및 활동 모드에서 딥 슬립 모드로 전환되도록 동작하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
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.
상기 슬립 모드는
상기 전력 모드 전환 블록을 제외한 모바일 스토리지 제어 장치의 블록의 전원이 꺼지는(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.
상기 딥 슬립 모드는
상기 슬립 모드 상태에서 상기 전력 모드 전환 블록의 전원이 꺼지는(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.
상기 모바일 스토리지 프로세서는
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.
상기 모바일 스토리지 프로세서는 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.
상기 스토리지로부터 수신한 명령 및 데이터를 상기 모바일 스토리지 프로세서에 고속으로 전송하기 위한 신호 처리를 수행하는 고속 주변 블록;
상기 모바일 스토리지 프로세서에 의해 상기 고속 주변 블록을 통해 수신한 상기 명령을 수행하기 위한 데이터가 임시 저장되는 내부 스토리지;
상기 내부 스토리지, 상기 스토리지 제어 블록 및 상기 고속 주변 블록이 상기 모바일 스토리지 프로세서와 상기 명령 및 상기 데이터를 고속으로 송수신하기 위한 고속 버스; 및
상기 고속 주변 블록과 상기 모바일 스토리지 프로세서 간의 송수신 되는 데이터 양의 증가로 상기 고속 버스에 로딩(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.
상기 다중 버스 채널은,
데이터 송수신을 위한 다수개의 버스; 및
상기 모바일 스토리지 프로세서에 의해 제어되어, 상기 다수개의 버스 중에서 하나의 버스와 상기 고속 버스가 연결 되도록 하는 스위치를 더 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
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.
상기 내부 스토리지는 ROM, SRAM 중 어느 하나 이상을 포함하는 것을 특징으로 하는 모바일 스토리지 제어 장치.
The method of claim 12,
And the internal storage includes at least one of a ROM and an SRAM.
상기 고속 주변 블록은 인터럽트 컨트롤러, 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.
상기 모바일의 저속의 외부 장치와 연결되며, 상기 모바일 스토리지 프로세서와 상기 저속의 외부 장치 간에 데이터를 송수신을 위한 인터페이스를 수행하는 저속 주변 블록;
상기 저속 주변 블록과 브리지 간의 데이터 송수신을 위한 저속 버스; 및
상기 브리지는 상기 고속 버스와 상기 저속 버스 간의 데이터 송수신을 위한 인터페이스를 수행하는 것을 더 포함하는 모바일 스토리지 제어 장치.
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.
상기 저속 주변 블록은 시스템 레지스터, 타이머, 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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100619720B1 (en) * | 2005-05-16 | 2006-09-06 | 엘지전자 주식회사 | Communication apparatus for multi processor and method thereof |
-
2010
- 2010-02-05 KR KR1020100011123A patent/KR101101867B1/en active IP Right Grant
Patent Citations (1)
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 |