KR101039397B1 - Mla의 독출 동작 속도를 증가시키기 위한 멀티 포트 메모리 장치의 공유 영역 관리 방법 및 그를 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체 - Google Patents

Mla의 독출 동작 속도를 증가시키기 위한 멀티 포트 메모리 장치의 공유 영역 관리 방법 및 그를 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체 Download PDF

Info

Publication number
KR101039397B1
KR101039397B1 KR1020100049988A KR20100049988A KR101039397B1 KR 101039397 B1 KR101039397 B1 KR 101039397B1 KR 1020100049988 A KR1020100049988 A KR 1020100049988A KR 20100049988 A KR20100049988 A KR 20100049988A KR 101039397 B1 KR101039397 B1 KR 101039397B1
Authority
KR
South Korea
Prior art keywords
command
data
address
read
area
Prior art date
Application number
KR1020100049988A
Other languages
English (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 KR1020100049988A priority Critical patent/KR101039397B1/ko
Application granted granted Critical
Publication of KR101039397B1 publication Critical patent/KR101039397B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes

Abstract

본 발명은 MLA의 독출 동작 속도를 증가시키기 위한 멀티 포트 메모리 장치의 공유 영역 관리 방법 및 그를 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체에 관한 것으로서, 본 발명에 따른 멀티 포트 메모리 장치의 공유 영역 관리 방법 및 그를 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체는, 멀티 포트 메모리 장치의 공유 영역에 기록 명령 또는 독출 명령과 데이터를, 순환(rotation) 방식으로 순차적으로 기록하여 이전에 기록된 내용을 남겨두고, MLA의 독출 동작 시, 멀티 포트 메모리 장치의 공유 영역을 캐시(cache) 메모리로 사용하므로, MLA의 독출 동작 속도를 증가시킬 수 있다.

Description

MLA의 독출 동작 속도를 증가시키기 위한 멀티 포트 메모리 장치의 공유 영역 관리 방법 및 그를 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체{Method for managing the shared area of a multi-port memory device to raise read operation speed of a memory link architecture and computer readable recording medium storing the program for the method}
본 발명은 MLA(memory link architecture)에 관한 것으로서, 더욱 상세하게는, MLA에 포함된 멀티 포트 메모리 장치의 공유 영역 관리 방법 및 그를 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체에 관한 것이다.
일반적으로, 플래시 메모리는 다른 메모리 장치에 비하여 가격이 저렴하다는 이점이 있기 때문에, 다양한 멀티미디어 장치에서 저장 장치로서 사용되고 있다.
한편, 사용자의 다양한 욕구를 충족시키기 위해, 멀티미디어 장치의 기능은 점점 더 복잡하고 다양하게 변화하고 있다. 멀티미디어 장치가 다양한 기능을 실행하기 위해서는, 각각의 기능을 실행할 수 있는 복수의 프로세서(processor)가 필요하다. 예를 들어, 휴대폰에는, 통신 기능을 실행하는 통신 프로세서와, 통신 기능을 제외한 어플리케이션(application) 기능을 실행하는 어플리케이션 프로세서가 설치될 수 있다. 이처럼 복수의 프로세서가 설치된 멀티미디어 장치에서, 각각의 프로세서에 의해 발생되는 처리 데이터를 동시에 저장하기 위해서는, 복수의 데이터 입출력 포트(port)를 가지는 멀티 포트(multi-port) 타입(type)의 반도체 메모리 장치가 필요하다.
도 1에 도시된 MLA(10)는 멀티 포트 메모리 장치(11)를 포함하는 장치의 대표적인 예이다. MLA(10)는 멀티 포트 메모리 장치(11), 메모리 컨트롤러(12), 및 플래시 메모리(13)를 포함한다. 멀티 포트 메모리 장치(11)의 일례로서 원디램(OneDRAM)(등록상표)이 있다.
멀티 포트 메모리 장치(11)는 호스트 CPU(20)와 메모리 컨트롤러(12)에 각각 연결되는 이중의(dual) 데이터 입출력 포트를 포함한다. 멀티 포트 메모리 장치(11)의 저장 공간은 호스트 CPU 영역(11a), 메모리 컨트롤러 영역(11b), 및 공유(shared) 영역(11c)을 포함한다. 호스트 CPU 영역(11a)은 호스트 CPU(20)에 의해 사용되고, 메모리 컨트롤러 영역(11b)은 메모리 컨트롤러(12)에 의해 사용된다. 공유(shared) 영역(11c)은 호스트 CPU(20) 및 메모리 컨트롤러(12)에 의해 공유된다.
호스트 CPU(20)는 플래시 메모리(13)로부터 특정 데이터를 독출(read)하기 위해, 멀티 포트 메모리 장치(11)의 공유 영역(11c)에 해당 데이터의 독출을 위한 독출 명령(read command)(예를 들어, C0)을 기록(write)한다. 또, 호스트 CPU(20)는 플래시 메모리(13)에 특정 데이터를 기록하기 위해, 멀티 포트 메모리 장치(11)의 공유 영역(11c)에 해당 데이터(예를 들어, D1)의 기록을 위한 기록 명령(write command)(예를 들어, C1)을 기록한다. 도 1에서, C0 ∼ C5 각각은 독출 명령일 수도 있고, 기록 명령일 수도 있다. 또, D0 ∼ D5 각각은 플래시 메모리(13)로부터 독출된 데이터일 수도 있고, 플래시 메모리(13)에 기록될 데이터일 수도 있다.
공유 영역(11c)에 독출 명령(예를 들어, C0), 또는 기록 명령(예를 들어, C1)이 저장되면, 멀티 포트 메모리 장치(11)는 메모리 컨트롤러(12)에 인터럽트(interrupt) 신호를 발생하여 이를 알린다. 그 결과, 메모리 컨트롤러(12)가 인터럽트 신호에 응답하여, 공유 영역(11c)에 저장된 독출 명령(예를 들어, C0), 또는 기록 명령(예를 들어, C1)을 해석하고, 그 해석 결과에 따라, 플래시 메모리(13)의 독출 또는 기록 동작을 제어한다.
그런데 종래의 호스트 CPU(20)는 도 1에 도시된 것과 같이, 공유 영역(11c)에 특정 명령을 기록할 때마다 0번지부터 기록한다. 이를 좀 더 상세히 설명하면, 첫 번째 기록 동작(WRITE 1) 시, 호스트 CPU(20)가 독출 명령(C0 ∼ C2)을 공유 영역(11c)의 0번지부터 기록하고, 두 번째 기록 동작(WRITE 2) 시, 독출 명령(C3 ∼ C5)을 공유 영역(11c)의 0번지부터 다시 기록(즉, 덮어쓰기) 한다. 또, 첫 번째 기록 동작(WRITE 1) 시, 메모리 컨트롤러(12)가 독출 명령(C0 ∼ C2)에 응답하여 플래시 메모리(13)로부터 독출된 데이터(D0 ∼ D2)를 공유 영역(11c)의 0번지부터 기록하고, 두 번째 기록 동작(WRITE 2) 시, 독출 명령(C3 ∼ C5)에 응답하여 플래시 메모리(13)로부터 독출된 데이터(D3 ∼ D5)를 공유 영역(11c)의 0번지부터 다시 기록(즉, 덮어쓰기) 한다.
이처럼 호스트 CPU(20)가 공유 영역(11c)에 특정 명령을 기록하고, 이 명령에 응답하여 메모리 컨트롤러(12)가 공유 영역(11c)에 해당 데이터를 기록할 때마다, 특정 명령과 데이터가 공유 영역(11c)의 0번지부터 다시 기록되기 때문에, 멀티 포트 메모리 장치(11)에 저장되어 있는 데이터가 충분히 활용될 수 없다.
예를 들어, 상술한 두 번째 기록 동작(WRITE 2) 이 후, 호스트 CPU(20)가 플래시 메모리(13)로부터 데이터(D1)를 독출하기 위해, 독출 명령(C1)을 공유 영역(11c)에 기록하는 경우가 존재할 수 있다. 이 경우, 상술한 첫 번째 기록 동작(WRITE 1) 시, 데이터(D1)가 공유 영역(11c)에 저장되어 있었음에도 불구하고, 상술한 두 번째 기록 동작(WRITE 2)에 의해, 데이터(D1)가 데이터(D4)로 변경되어 버린 상태이므로, 메모리 컨트롤러(12)는 플래시 메모리(13)로부터 데이터(D1)를 다시 독출해야 한다. 따라서, 종래의 MLA(10)에 대한 데이터의 독출 또는 기록 과정에 따르면, MLA(10)의 독출 동작 속도를 증가시키는 데에 한계가 있다. 또한, 메모리 컨트롤러(12)에 의한 플래시 메모리(13)의 액세스(access) 횟수가 증가함에 따라, 플래시 메모리(13)의 수명이 단축되는 결과가 초래된다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 멀티 포트 메모리 장치의 공유 영역에 기록 명령 또는 독출 명령과 데이터를, 순환(rotation) 방식으로 순차적으로 기록하여 이전에 기록된 내용을 남겨두고, MLA의 독출 동작 시, 멀티 포트 메모리 장치의 공유 영역을 캐시(cache) 메모리로 사용함으로써, MLA의 독출 동작 속도를 증가시키고, 플래시 메모리의 액세스 횟수를 감소킬 수 있는 멀티 포트 메모리 장치의 공유 영역 관리 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 멀티 포트 메모리 장치의 공유 영역에 기록 명령 또는 독출 명령과 데이터를, 순환(rotation) 방식으로 순차적으로 기록하여 이전에 기록된 내용을 남겨두고, MLA의 독출 동작 시, 멀티 포트 메모리 장치의 공유 영역을 캐시(cache) 메모리로 사용함으로써, MLA의 독출 동작 속도를 증가시키고, 플래시 메모리의 액세스 횟수를 감소킬 수 있는 멀티 포트 메모리 장치의 공유 영역을 관리하기 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체를 제공하는 데 있다.
상기한 기술적 과제를 달성하기 위한 본 발명에 따른 멀티 포트 메모리 장치의 공유 영역 관리 방법은, 멀티 포트(multi-port) 메모리 장치, 메모리 컨트롤러, 및 플래시(flash) 메모리를 포함하는 MLA(memory link architecture)에서, 상기 멀티 포트 메모리 장치의 공유 영역을 관리하는 방법으로서, 상기 멀티 포트 메모리 장치에 연결된 호스트(host) CPU(central processing unit)에 의해, 기록 명령이 발생할 때, 상기 멀티 포트 메모리 장치의 공유 영역에 포함된 컨트롤 영역에서, 이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지인지의 여부를 판단하는 제1 판단 단계; 이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지일 때, 상기 호스트 CPU에 의해, 상기 공유 영역에 포함된 데이터 영역의 첫 번째 번지를 나타내는 제1 데이터 주소 정보를 상기 기록 명령에 포함시키는 제1 포함 단계; 상기 호스트 CPU에 의해, 상기 제1 데이터 주소 정보를 포함하는 기록 명령을 상기 컨트롤 영역의 첫 번째 번지에 저장하고, 해당 기록 데이터를 상기 데이터 영역의 첫 번째 번지에 저장하는 제1 저장 단계; 이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지가 아닐 때, 상기 호스트 CPU에 의해, 상기 데이터 영역에서 이전의 데이터가 저장된 번지의 다음 번지를 나타내는 제2 데이터 주소 정보를 상기 기록 명령에 포함시키는 제2 포함 단계; 및 상기 호스트 CPU에 의해, 상기 제2 데이터 주소 정보를 포함하는 기록 명령을 상기 컨트롤 영역의 이전의 명령이 저장된 번지의 다음 번지에 저장하고, 상기 데이터 영역의 이전의 데이터가 저장된 번지의 다음 번지에 해당 기록 데이터를 저장하는 제2 저장 단계를 포함한다. 상기 기록 명령은, 상기 메모리 컨트롤러가 상기 기록 데이터를 상기 멀티 포트 메모리 장치로부터 독출하여 상기 플래시 메모리에 기록하도록 제어하기 위한 명령이다.
상기한 다른 기술적 과제를 달성하기 위한 본 발명에 따른 멀티 포트 메모리 장치의 공유 영역을 관리하기 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체는, 멀티 포트(multi-port) 메모리 장치, 메모리 컨트롤러, 및 플래시(flash) 메모리를 포함하는 MLA(memory link architecture)에서, 상기 멀티 포트 메모리 장치의 공유 영역을 관리하는 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체이다. 상기 프로그램에 의해, 상기 멀티 포트 메모리 장치에 연결된 호스트(host) CPU(central processing unit)가, 기록 명령이 발생할 때, 상기 멀티 포트 메모리 장치의 공유 영역에 포함된 컨트롤 영역에서, 이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지인지의 여부를 판단하는 제1 판단 단계; 이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지일 때, 상기 공유 영역에 포함된 데이터 영역의 첫 번째 번지를 나타내는 제1 데이터 주소 정보를 상기 기록 명령에 포함시키는 제1 포함 단계; 상기 제1 데이터 주소 정보를 포함하는 기록 명령을 상기 컨트롤 영역의 첫 번째 번지에 저장하고, 해당 기록 데이터를 상기 데이터 영역의 첫 번째 번지에 저장하는 제1 저장 단계; 이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지가 아닐 때, 상기 데이터 영역에서 이전의 데이터가 저장된 번지의 다음 번지를 나타내는 제2 데이터 주소 정보를 상기 기록 명령에 포함시키는 제2 포함 단계; 및 상기 제2 데이터 주소 정보를 포함하는 기록 명령을 상기 컨트롤 영역의 이전의 명령이 저장된 번지의 다음 번지에 저장하고, 상기 데이터 영역의 이전의 데이터가 저장된 번지의 다음 번지에 해당 기록 데이터를 저장하는 제2 저장 단계를 실행한다. 상기 기록 명령은, 상기 메모리 컨트롤러가 상기 기록 데이터를 상기 멀티 포트 메모리 장치로부터 독출하여 상기 플래시 메모리에 기록하도록 제어하기 위한 명령이다.
상술한 것과 같이, 본 발명에 따른 멀티 포트 메모리 장치의 공유 영역 관리 방법 및 그를 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체는, 멀티 포트 메모리 장치의 공유 영역에 기록 명령 또는 독출 명령과 데이터를, 순환(rotation) 방식으로 순차적으로 기록하여 이전에 기록된 내용을 남겨두고, MLA의 독출 동작 시, 멀티 포트 메모리 장치의 공유 영역을 캐시(cache) 메모리로 사용하므로, MLA의 독출 동작 속도를 증가시킬 수 있다. 결국, 멀티 포트 메모리 장치의 공유 영역에 저장된 데이터가 충분히 활용될 수 있다. 또한, 멀티 포트 메모리 장치의 공유 영역이 캐시 메모리로 사용되므로, 메모리 컨트롤러에 의한 플래시 메모리의 액세스 횟수가 감소하여, 플래시 메모리의 수명이 연장될 수 있다.
도 1은 종래의 호스트 CPU와 MLA를 개략적으로 나타내는 블록 구성도이다.
도 2는 본 발명의 일실시예에 따른 멀티 포트 메모리 장치의 공유 영역 관리 방법이 적용되는 호스트 CPU와 MLA를 개략적으로 나타내는 블록 구성도이다.
도 3은 도 2에 도시된 멀티 포트 메모리 장치의 공유 영역에 특정 명령 또는 데이터가 기록되는 과정을 설명하기 위한 개념도이다.
도 4는 도 2에 도시된 MLA의 독출 동작 과정을 설명하기 위한 개념도이다.
도 5는 도 2에 도시된 멀티 포트 메모리 장치의 공유 영역을 관리하는 과정의 일례를 나타내는 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 2는 본 발명의 일실시예에 따른 멀티 포트 메모리 장치의 공유 영역 관리 방법이 적용되는 호스트 CPU와 MLA를 개략적으로 나타내는 블록 구성도이다. 도면의 간략화를 위해, 도 1에는 본 발명과 관련된 부분들만이 도시되고, 각 구성 요소들 간의 송수신 신호의 도시가 생략된다.
휴대폰, PMP(portable media player), PDA(personal digital assistant), 전자 사전 등의 다양한 멀티미디어 장치와 같은 전자 장치(미도시)에는 MLA(memory link architecture)(100)와 호스트(host) CPU(central processing unit)(200)가 포함될 수 있다. MLA(100)는 멀티 포트(multi-port) 메모리 장치(예를 들어, 원디램(OneDRAM))(110), 메모리 컨트롤러(120), 및 플래시(flash) 메모리(130)를 포함한다. 멀티 포트 메모리 장치(110)는 호스트 CPU(200)와 메모리 컨트롤러(120)에 각각 연결되는 이중의(dual) 데이터 입출력 포트를 포함한다.
멀티 포트 메모리 장치(110)의 저장 공간은 호스트 CPU 영역(111), 메모리 컨트롤러 영역(112), 및 공유(shared) 영역(113)을 포함한다. 또, 공유 영역(113)은 명령(command)이 저장되는 컨트롤 영역(113a)과, 데이터가 저장되는 데이터 영역(113b)을 포함한다.
호스트 CPU 영역(111)은 호스트 CPU(200)에 의해 사용되고, 메모리 컨트롤러 영역(112)은 메모리 컨트롤러(120)에 의해 사용된다. 공유 영역(113)은 호스트 CPU(200) 및 메모리 컨트롤러(120)에 의해 공유된다. 호스트 CPU(200)는 컨트롤 영역(113a)에 기록 명령 또는 독출 명령 또는 소거 명령을 저장하고, 메모리 컨트롤러(120)는 컨트롤 영역(113a)에 저장된 해당 명령에 응답하여, 플래시 메모리(130)의 독출(read) 동작, 기록(write) 동작, 및 소거(erase) 동작을 제어한다.
다음으로, 도 3 내지 도 5를 참고하여, 본 발명의 일실시예에 따른 멀티 포트 메모리 장치의 공유 영역을 관리하는 과정을 상세히 설명한다.
먼저, 도 5를 참고하면, 호스트 CPU(200)는 파일 시스템(201)(도 4 참고)으로부터 기록 명령이 발생하는지의 여부를 판단한다(단계 100). 파일 시스템(201)은 호스트 CPU(200)에서 실행되는 OS(operating system)와 같은 소프트웨어(software)에 해당한다.
호스트 CPU(200)는 파일 시스템(201)으로부터 기록 명령이 발생할 때, 멀티 포트 메모리 장치(110)의 공유 영역(113)에 포함된 컨트롤 영역(113a)에서, 이전의 명령이 저장된 번지(address)가 컨트롤 영역(113a)의 마지막 번지인지의 여부를 판단한다(단계 1002).
이전의 명령이 저장된 번지가 컨트롤 영역(113a)의 마지막 번지일 때, 호스트 CPU(200)는 공유 영역(113)에 포함된 데이터 영역(113b)의 첫 번째 번지를 나타내는 제1 데이터 주소 정보(DADD1)를 기록 명령에 포함시킨다(단계 1003). 이 후, 호스트 CPU(200)는 제1 데이터 주소 정보(DADD1)를 포함하는 기록 명령을 컨트롤 영역(113a)의 첫 번째 번지에 저장한다(단계 1004). 또, 호스트 CPU(200)는 파일 시스템(201)으로부터 발생된 해당 기록 데이터를 데이터 영역(113b)의 첫 번째 번지에 저장한다(단계 1005).
예를 들어, 도 3에서 참고되는 것과 같이, 이전에 컨트롤 영역(113a)에 저장된 명령이 "CN"이고, 그 다음에 컨트롤 영역(113a)에 저장될 기록 명령이 "C(N+1)"인 경우가 존재할 수 있다. 이 경우, 호스트 CPU(200)는 기록 명령(C(N+1))에 제1 데이터 주소 정보(DADD1)를 포함시킨 후, 제1 데이터 주소 정보(DADD1)를 포함하는 기록 명령(C(N+1))을 명령(C0)이 저장되어 있던 첫 번째 번지에 저장(즉, 덮어쓰기)한다. 또, 호스트 CPU(200)는 기록 명령(C(N+1))에 대응하는 기록 데이터(D(N+1))를 데이터(D0)가 저장되어 있던 첫 번째 번지에 저장(즉, 덮어쓰기)한다.
멀티 포트 메모리 장치(110)는 컨트롤 영역(113a)에 기록 명령(C(N+1))이 저장됨에 따라, 인터럽트 신호(INT1)를 메모리 컨트롤러(120)에 출력한다. 메모리 컨트롤러(120)는 인터럽트 신호(INT1)에 응답하여, 컨트롤 영역(113a)에 저장된 기록 명령(C(N+1))을 독출하여 해석한다. 메모리 컨트롤러(120)는 기록 명령(C(N+1))에 포함된 제1 데이터 주소 정보(DADD1)에 기초하여, 데이터 영역(113b)으로부터 기록 데이터(D(N+1))를 독출하여, 플래시 메모리(130)에 기록한다.
한편, 단계 1002의 판단 결과, 이전의 명령이 저장된 번지가 컨트롤 영역(113a)의 마지막 번지가 아닐 때, 호스트 CPU(200)는 데이터 영역(113b)에서 이전의 데이터가 저장된 번지의 다음 번지를 나타내는 제2 데이터 주소 정보(DADD2)를 기록 명령에 포함시킨다(단계 1006). 이 후, 호스트 CPU(200)는 제2 데이터 주소 정보(DADD2)를 포함하는 기록 명령을 컨트롤 영역(113a)의 이전의 명령이 저장된 번지의 다음 번지에 저장한다(단계 1007). 또, 호스트 CPU(200)는 데이터 영역(113b)의 이전의 데이터가 저장된 번지의 다음 번지에 해당 기록 데이터를 저장한다(단계 1008).
예를 들어, 도 3에서 참고되는 것과 같이, 이전에 컨트롤 영역(113a)에 저장된 명령이 "C3"이고, 그 다음에 컨트롤 영역(113a)에 저장될 기록 명령이 "C4"인 경우가 존재할 수 있다. 이 경우, 호스트 CPU(200)는 기록 명령(C4)에 제2 데이터 주소 정보(DADD2)를 포함시킨 후, 제2 데이터 주소 정보(DADD2)를 포함하는 기록 명령(C4)을 명령(C3)이 저장된 번지의 다음 번지에 저장하고, 기록 명령(C4)에 대응하는 기록 데이터(C4)를 데이터(D3)가 저장된 번지의 다음 번지에 저장한다.
멀티 포트 메모리 장치(110)는 컨트롤 영역(113a)에 기록 명령(C4)이 저장됨에 따라, 인터럽트 신호(INT1)를 메모리 컨트롤러(120)에 출력한다. 메모리 컨트롤러(120)는 인터럽트 신호(INT1)에 응답하여, 컨트롤 영역(113a)에 저장된 기록 명령(C4)을 독출하여 해석한다. 메모리 컨트롤러(120)는 기록 명령(C4)에 포함된 제2 데이터 주소 정보(DADD2)에 기초하여, 데이터 영역(113b)으로부터 기록 데이터(C4)를 독출하여, 플래시 메모리(130)에 기록한다.
기록 명령(예를 들어, C(N+1) 또는 C4)은, 메모리 컨트롤러(120)가 기록 데이터(예를 들어, D(N+1) 또는 D4)를 멀티 포트 메모리 장치(110)로부터 독출하여 플래시 메모리(130)에 기록하도록 제어하기 위한 명령이다.
한편, 단계 1001의 판단 결과, 파일 시스템(201)으로부터 발생된 명령이 기록 명령이 아닐 때, 호스트 CPU(200)는 독출 명령이 발생되었는지의 여부를 판단한다(단계 1009).
독출 명령이 발생할 때, 호스트 CPU(200)는 독출 명령에 대한 기록 정보가 커맨드 큐(command queue)(도 4 참고)에 저장된 커맨드 목록(command list)에 존재하는지의 여부를 판단한다(단계 1010).
멀티 포트 메모리 장치(110)를 구동하기 위해 호스트 CPU(200)에서 실행되는 프로그램인 멀티 포트 메모리 장치 드라이버(driver)(202)(도 4 참고)는 커맨드 큐를 포함하고 있다. 커맨드 큐에는, 멀티 포트 메모리 장치(110)의 컨트롤 영역(113a)에 저장되어 있는 명령(독출 명령 또는 기록 명령)에 대한 기록 정보(C0'∼CN')(N은 자연수)를 나타내는 커맨드 목록과, 각각의 명령이 저장되어 있는 컨트롤 영역(113a)의 주소를 나타내는 커맨드 주소 정보가 저장된다. 커맨드 목록에 있는 기록 정보(C0'∼CN') 각각은 해당 명령에 포함된 전체 내용이 아니고, 어떤 명령인지를 나타내는 식별정보에 해당한다.
독출 명령에 대한 기록 정보가 커맨드 목록에 존재하지 않을 때, 호스트 CPU(200)는 캐시 미스(cache miss)인(즉, 멀티 포트 메모리 장치(110)에 해당 데이터가 존재하지 않는) 것으로 인식한다. 또, 독출 명령에 대한 기록 정보가 커맨드 목록에 존재할 때, 호스트 CPU(200)는 캐시 히트(cache hit)인(즉, 멀티 포트 메모리 장치(110)에 해당 데이터가 존재하는) 것으로 인식한다.
캐시 미스로 인식될 때, 호스트 CPU(200)는 이전의 명령이 저장된 번지가 컨트롤 영역(113a)의 마지막 번지인지의 여부를 판단한다(단계 1011). 이전의 명령이 저장된 번지가 컨트롤 영역(113a)의 마지막 번지일 때, 호스트 CPU(200)는 데이터 영역(113b)의 첫 번째 번지를 나타내는 제1 데이터 주소 정보(DADD1)를 독출 명령에 포함시킨다(단계 1012). 호스트 CPU(200)는 제1 데이터 주소 정보(DADD1)를 포함하는 독출 명령을 컨트롤 영역(113a)의 첫 번째 번지에 저장한다(단계 1013).
예를 들어, 도 4에서 참고되는 것과 같이, 이전에 컨트롤 영역(113a)에 저장된 명령이 "CN"이고, 그 다음에 컨트롤 영역(113a)에 저장될 독출 명령이 "CJ"인 경우가 존재할 수 있다. 이 경우, 호스트 CPU(200)는 독출 명령(CJ)에 제1 데이터 주소 정보(DADD1)를 포함시킨 후, 제1 데이터 주소 정보(DADD1)를 포함하는 독출 명령(CJ)을 명령(C0)이 저장되어 있던 첫 번째 번지에 저장(즉, 덮어쓰기)한다.
멀티 포트 메모리 장치(110)는 컨트롤 영역(113a)에 독출 명령(CJ)이 저장됨에 따라, 인터럽트 신호(INT1)를 메모리 컨트롤러(120)에 출력한다. 메모리 컨트롤러(120)는 인터럽트 신호(INT1)에 응답하여, 컨트롤 영역(113a)에 저장된 독출 명령(CJ)을 독출하여 해석한다. 이때, 인터럽트 신호(INT1)에는 독출 명령(CJ)에 대한 커맨드 주소 정보가 포함될 수 있다. 따라서 메모리 컨트롤러(120)는 인터럽트 신호(INT1)에 포함된 커맨드 주소 정보에 기초하여, 컨트롤 영역(113a)으로부터 독출 명령(CJ)을 독출할 수 있다.
메모리 컨트롤러(120)는 독출 명령(CJ)에 응답하여, 플래시 메모리(130)로부터 해당 독출 데이터(DJ)를 독출한다. 메모리 컨트롤러(120)는 독출 명령(CJ)에 포함된 제1 데이터 주소 정보(DADD1)에 기초하여, 독출 데이터(DJ)를 데이터(D0)가 저장되어 있던 첫 번째 번지에 저장(즉, 덮어쓰기)한다.
이전의 명령이 저장된 번지가 컨트롤 영역(113a)의 마지막 번지가 아닐 때, 호스트 CPU(200)는 데이터 영역(113b)에서 이전의 데이터가 저장된 번지의 다음 번지를 나타내는 제2 데이터 주소 정보(DADD2)를 독출 명령에 포함시킨다(단계 1014). 이 후, 호스트 CPU(200)는 제2 데이터 주소 정보(DADD2)를 포함하는 독출 명령을 컨트롤 영역(113b)의 이전의 명령이 저장된 번지의 다음 번지에 저장한다(단계 1015).
예를 들어, 도 4에서 참고되는 것과 같이, 이전에 컨트롤 영역(113a)에 저장된 명령이 "C3"이고, 그 다음에 컨트롤 영역(113a)에 저장될 독출 명령이 "C4"인 경우가 존재할 수 있다. 이 경우, 호스트 CPU(200)는 독출 명령(C4)에 제1 데이터 주소 정보(DADD1)를 포함시킨 후, 제1 데이터 주소 정보(DADD1)를 포함하는 독출 명령(C4)을 이전의 명령(C3)이 저장된 번지의 다음 번지에 저장한다.
멀티 포트 메모리 장치(110)는 컨트롤 영역(113a)에 독출 명령(C4)이 저장됨에 따라, 인터럽트 신호(INT1)를 메모리 컨트롤러(120)에 출력한다. 메모리 컨트롤러(120)는 인터럽트 신호(INT1)에 응답하여, 컨트롤 영역(113a)에 저장된 독출 명령(C4)을 독출하여 해석한다. 메모리 컨트롤러(120)는 독출 명령(C4)에 응답하여, 플래시 메모리(130)로부터 해당 독출 데이터(D4)를 독출한다. 메모리 컨트롤러(120)는 독출 명령(C4)에 포함된 제1 데이터 주소 정보(DADD1)에 기초하여, 독출 데이터(D4)를 이전의 데이터(D3)가 저장된 번지의 다음 번지에 저장한다.
멀티 포트 메모리 장치(110)는 데이터 영역(113b)에 독출 데이터(DJ 또는 D4)가 저장됨에 따라, 인터럽트 신호(INT2)를 호스트 CPU(200)에 출력한다.
단계 1013 또는 단계 1015 이 후, 호스트 CPU(200)는 멀티 포트 메모리 장치(110)로부터 인터럽트 신호(INT2)가 수신되는지의 여부를 판단한다(단계 1016).
멀티 포트 메모리 장치(110)로부터 인터럽트 신호(INT2)를 수신할 때, 호스트 CPU(200)는 데이터 영역(113b)으로부터 해당 독출 데이터(DJ 또는 D4)를 독출한다(단계 1017). 이때, 인터럽트 신호(INT2)에는 제1 또는 제2 데이터 주소 정보(DADD1 또는 DADD2)가 포함될 수 있다. 따라서 호스트 CPU(200)는 인터럽트 신호(INT2)에 포함된 제1 또는 제2 데이터 주소 정보(DADD1 또는 DADD2)에 기초하여, 데이터 영역(113b)으로부터 해당 독출 데이터(DJ 또는 D4)를 독출할 수 있다.
독출 명령(예를 들어, CJ 또는 C4)은, 메모리 컨트롤러(120)가 독출 데이터(예를 들어, DJ 또는 D4)를 플래시 메모리(130)로부터 독출하여 멀티 포트 메모리 장치(110)에 기록하도록 제어하기 위한 명령이다.
한편, 단계 1010의 판단 결과, 캐시 히트로 인식될 때(즉, 독출 명령에 대한 기록 정보가 커맨드 목록에 존재할 때), 호스트 CPU(200)는 커맨드 큐에 저장된 커맨드 주소 정보(예를 들어, ADD4)에 기초하여, 컨트롤 영역(113a)으로부터 해당 독출 명령(예를 들어, C4)(도 4 참고)을 독출한다(단계 1018). 이 후, 호스트 CPU(200)는 컨트롤 영역(113a)으로부터 독출한 해당 독출 명령(C4)에 포함된 제1 또는 제2 데이터 주소 정보(DADD1 또는 DADD2)에 기초하여, 데이터 영역(113b)으로부터 해당 독출 데이터(예를 들어, D4)를 독출한다(단계 1019).
단계 1005, 단계 1008, 단계 1017, 단계 1019 중 어느 하나 이 후, 호스트 CPU(200)는 추가의 명령이 발생하는지의 여부를 판단한다(단계 1020). 추가의 명령이 발생할 때, 호스트 CPU(200)는 단계 1001 내지 단계 1020의 동작을 반복한다.
상술한 단계 1001 내지 단계 1020은 호스트 CPU(200)에서 실행되는 프로그램인 멀티 포트 메모리 장치 드라이버(202)에 의해 실행된다.
상술한 것과 같이, 본 발명의 일실시예에 따른 멀티 포트 메모리 장치의 공유 영역 관리 방법에 따르면, 호스트 CPU(200)가 멀티 포트 메모리 장치(110)의 공유 영역(113)을 캐시 메모리처럼 사용하므로, 메모리 컨트롤러(120)가 플래시 메모리(130)를 액세스하는 횟수가 대폭적으로 감소할 수 있다. 또한, 메모리 컨트롤러(120)에 의한 플래시 메모리(130)의 액세스 횟수가 감소함에 따라, 플래시 메모리(130)의 머지(merge) 동작(즉, 조각난 저장 공간을 정리하는 동작)의 횟수도 감소할 수 있다.
플래시 메모리(130)의 특성상, 메모리 컨트롤러(120)에 의한 플래시 메모리(130)의 액세스 횟수 증가할수록, 또한, 플래시 메모리(130)의 머지 동작 횟수가 증가할수록, 플래시 메모리(130)의 수명이 단축된다. 따라서, 플래시 메모리(130)의 수명을 연장하기 위해서는, 플래시 메모리(130)의 액세스 횟수와 머지 동작 횟수를 최소한으로 감소시키는 것이 매우 중요하다.
상기한 실시 예들은 본 발명을 설명하기 위한 것으로서 본 발명이 이들 실시 예에 국한되는 것은 아니며, 본 발명의 범위 내에서 다양한 실시예가 가능하다. 또한, 설명되지는 않았으나, 균등한 수단도 또한 본 발명에 그대로 결합되는 것이라 할 것이다. 따라서 본 발명의 진정한 보호범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.
100: MLA 110: 멀티 포트 메모리 장치
111: 호스트 CPU 영역 112: 메모리 컨트롤러 영역
113: 공유 영역 113a: 컨트롤 영역
113b: 데이터 영역 120: 메모리 컨트롤러
130: 플래시 메모리 200: 호스트 CPU
201: 파일 시스템
202: 멀티 포트 메모리 장치 드라이버

Claims (7)

  1. 멀티 포트(multi-port) 메모리 장치, 메모리 컨트롤러, 및 플래시(flash) 메모리를 포함하는 MLA(memory link architecture)에서, 상기 멀티 포트 메모리 장치의 공유 영역을 관리하는 방법으로서,
    상기 멀티 포트 메모리 장치에 연결된 호스트(host) CPU(central processing unit)에 의해, 기록 명령이 발생할 때, 상기 멀티 포트 메모리 장치의 공유 영역에 포함된 컨트롤 영역에서, 이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지인지의 여부를 판단하는 제1 판단 단계;
    이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지일 때, 상기 호스트 CPU에 의해, 상기 공유 영역에 포함된 데이터 영역의 첫 번째 번지를 나타내는 제1 데이터 주소 정보를 상기 기록 명령에 포함시키는 제1 포함 단계;
    상기 호스트 CPU에 의해, 상기 제1 데이터 주소 정보를 포함하는 기록 명령을 상기 컨트롤 영역의 첫 번째 번지에 저장하고, 해당 기록 데이터를 상기 데이터 영역의 첫 번째 번지에 저장하는 제1 저장 단계;
    이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지가 아닐 때, 상기 호스트 CPU에 의해, 상기 데이터 영역에서 이전의 데이터가 저장된 번지의 다음 번지를 나타내는 제2 데이터 주소 정보를 상기 기록 명령에 포함시키는 제2 포함 단계; 및
    상기 호스트 CPU에 의해, 상기 제2 데이터 주소 정보를 포함하는 기록 명령을 상기 컨트롤 영역의 이전의 명령이 저장된 번지의 다음 번지에 저장하고, 상기 데이터 영역의 이전의 데이터가 저장된 번지의 다음 번지에 해당 기록 데이터를 저장하는 제2 저장 단계를 포함하고,
    상기 기록 명령은, 상기 메모리 컨트롤러가 상기 기록 데이터를 상기 멀티 포트 메모리 장치로부터 독출하여 상기 플래시 메모리에 기록하도록 제어하기 위한 명령인 멀티 포트 메모리 장치의 공유 영역 관리 방법.
  2. 제1항에 있어서,
    상기 호스트 CPU에 의해, 독출 명령이 발생할 때, 상기 독출 명령에 대한 기록 정보가 커맨드 큐(command queue)에 저장된 커맨드 목록(command list)에 존재하는지의 여부를 판단하는 제2 판단 단계;
    상기 독출 명령에 대한 기록 정보가 상기 커맨드 목록에 존재하지 않을 때, 상기 호스트 CPU에 의해, 이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지인지의 여부를 판단하는 제3 판단 단계;
    이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지일 때, 상기 호스트 CPU에 의해, 상기 데이터 영역의 첫 번째 번지를 나타내는 제1 데이터 주소 정보를 상기 독출 명령에 포함시키는 제3 포함 단계;
    상기 호스트 CPU에 의해, 상기 제1 데이터 주소 정보를 포함하는 독출 명령을 상기 컨트롤 영역의 첫 번째 번지에 저장하는 제3 저장 단계;
    이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지가 아닐 때, 상기 호스트 CPU에 의해, 상기 데이터 영역에서 이전의 데이터가 저장된 번지의 다음 번지를 나타내는 제2 데이터 주소 정보를 상기 독출 명령에 포함시키는 제4 포함 단계;
    상기 호스트 CPU에 의해, 상기 제2 데이터 주소 정보를 포함하는 독출 명령을 컨트롤 영역의 이전의 명령이 저장된 번지의 다음 번지에 저장하는 제4 저장 단계;
    상기 호스트 CPU에 의해, 상기 멀티 포트 메모리 장치로부터 인터럽트(interrupt) 신호를 수신할 때, 상기 데이터 영역으로부터 해당 독출 데이터를 독출하는 제1 독출 단계;
    상기 독출 명령에 대한 기록 정보가 상기 커맨드 목록에 존재할 때, 상기 호스트 CPU에 의해, 상기 커맨드 큐에 저장된 커맨드 주소 정보에 기초하여, 상기 컨트롤 영역으로부터 해당 독출 명령을 독출하는 제2 독출 단계; 및
    상기 호스트 CPU에 의해, 상기 컨트롤 영역으로부터 독출한 해당 독출 명령에 포함된 상기 제1 또는 제2 데이터 주소 정보에 기초하여, 상기 데이터 영역으로부터 해당 독출 데이터를 독출하는 제3 독출 단계를 더 포함하고,
    상기 독출 명령은, 상기 메모리 컨트롤러가 상기 독출 데이터를 상기 플래시 메모리로부터 독출하여 상기 멀티 포트 메모리 장치에 기록하도록 제어하기 위한 명령인 멀티 포트 메모리 장치의 공유 영역 관리 방법.
  3. 제2항에 있어서,
    상기 호스트 CPU에 의해, 추가의 명령이 발생할 때마다, 상기 제1 판단 단계 내지 상기 제3 독출 단계를 반복하는 단계를 더 포함하는 멀티 포트 메모리 장치의 공유 영역 관리 방법.
  4. 멀티 포트(multi-port) 메모리 장치, 메모리 컨트롤러, 및 플래시(flash) 메모리를 포함하는 MLA(memory link architecture)에서, 상기 멀티 포트 메모리 장치의 공유 영역을 관리하는 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체로서,
    상기 프로그램에 의해, 상기 멀티 포트 메모리 장치에 연결된 호스트(host) CPU(central processing unit)가,
    기록 명령이 발생할 때, 상기 멀티 포트 메모리 장치의 공유 영역에 포함된 컨트롤 영역에서, 이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지인지의 여부를 판단하는 제1 판단 단계;
    이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지일 때, 상기 공유 영역에 포함된 데이터 영역의 첫 번째 번지를 나타내는 제1 데이터 주소 정보를 상기 기록 명령에 포함시키는 제1 포함 단계;
    상기 제1 데이터 주소 정보를 포함하는 기록 명령을 상기 컨트롤 영역의 첫 번째 번지에 저장하고, 해당 기록 데이터를 상기 데이터 영역의 첫 번째 번지에 저장하는 제1 저장 단계;
    이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지가 아닐 때, 상기 데이터 영역에서 이전의 데이터가 저장된 번지의 다음 번지를 나타내는 제2 데이터 주소 정보를 상기 기록 명령에 포함시키는 제2 포함 단계; 및
    상기 제2 데이터 주소 정보를 포함하는 기록 명령을 상기 컨트롤 영역의 이전의 명령이 저장된 번지의 다음 번지에 저장하고, 상기 데이터 영역의 이전의 데이터가 저장된 번지의 다음 번지에 해당 기록 데이터를 저장하는 제2 저장 단계를 실행하고,
    상기 기록 명령은, 상기 메모리 컨트롤러가 상기 기록 데이터를 상기 멀티 포트 메모리 장치로부터 독출하여 상기 플래시 메모리에 기록하도록 제어하기 위한 명령인 멀티 포트 메모리 장치의 공유 영역을 관리하는 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체.
  5. 제4항에 있어서,
    상기 프로그램에 의해, 상기 호스트 CPU가,
    독출 명령이 발생할 때, 상기 독출 명령에 대한 기록 정보가 커맨드 큐(command queue)에 저장된 커맨드 목록(command list)에 존재하는지의 여부를 판단하는 제2 판단 단계;
    상기 독출 명령에 대한 기록 정보가 상기 커맨드 목록에 존재하지 않을 때, 이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지인지의 여부를 판단하는 제3 판단 단계;
    이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지일 때, 상기 데이터 영역의 첫 번째 번지를 나타내는 제1 데이터 주소 정보를 상기 독출 명령에 포함시키는 제3 포함 단계;
    상기 제1 데이터 주소 정보를 포함하는 독출 명령을 상기 컨트롤 영역의 첫 번째 번지에 저장하는 제3 저장 단계;
    이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지가 아닐 때, 상기 데이터 영역에서 이전의 데이터가 저장된 번지의 다음 번지를 나타내는 제2 데이터 주소 정보를 상기 독출 명령에 포함시키는 제4 포함 단계;
    상기 제2 데이터 주소 정보를 포함하는 독출 명령을 컨트롤 영역의 이전의 명령이 저장된 번지의 다음 번지에 저장하는 제4 저장 단계;
    상기 멀티 포트 메모리 장치로부터 인터럽트(interrupt) 신호를 수신할 때, 상기 데이터 영역으로부터 해당 독출 데이터를 독출하는 제1 독출 단계;
    상기 독출 명령에 대한 기록 정보가 상기 커맨드 목록에 존재할 때, 상기 커맨드 큐에 저장된 커맨드 주소 정보에 기초하여, 상기 컨트롤 영역으로부터 해당 독출 명령을 독출하는 제2 독출 단계; 및
    상기 컨트롤 영역으로부터 독출한 해당 독출 명령에 포함된 상기 제1 또는 제2 데이터 주소 정보에 기초하여, 상기 데이터 영역으로부터 해당 독출 데이터를 독출하는 제3 독출 단계를 더 실행하고,
    상기 독출 명령은, 상기 메모리 컨트롤러가 상기 독출 데이터를 상기 플래시 메모리로부터 독출하여 상기 멀티 포트 메모리 장치에 기록하도록 제어하기 위한 명령인 멀티 포트 메모리 장치의 공유 영역을 관리하는 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체.
  6. 제5항에 있어서,
    상기 프로그램에 의해, 상기 호스트 CPU가,
    추가의 명령이 발생할 때마다, 상기 제1 판단 단계 내지 상기 제3 독출 단계를 반복하는 단계를 더 실행하는 멀티 포트 메모리 장치의 공유 영역을 관리하는 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체.
  7. 제4항에 있어서,
    상기 프로그램은, 상기 멀티 포트 메모리 장치를 구동하기 위해 상기 호스트 CPU에서 실행되는 프로그램인 멀티 포트 메모리 장치 드라이버(driver)인 멀티 포트 메모리 장치의 공유 영역을 관리하는 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체.
KR1020100049988A 2010-05-28 2010-05-28 Mla의 독출 동작 속도를 증가시키기 위한 멀티 포트 메모리 장치의 공유 영역 관리 방법 및 그를 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체 KR101039397B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100049988A KR101039397B1 (ko) 2010-05-28 2010-05-28 Mla의 독출 동작 속도를 증가시키기 위한 멀티 포트 메모리 장치의 공유 영역 관리 방법 및 그를 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100049988A KR101039397B1 (ko) 2010-05-28 2010-05-28 Mla의 독출 동작 속도를 증가시키기 위한 멀티 포트 메모리 장치의 공유 영역 관리 방법 및 그를 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체

Publications (1)

Publication Number Publication Date
KR101039397B1 true KR101039397B1 (ko) 2011-06-07

Family

ID=44405100

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100049988A KR101039397B1 (ko) 2010-05-28 2010-05-28 Mla의 독출 동작 속도를 증가시키기 위한 멀티 포트 메모리 장치의 공유 영역 관리 방법 및 그를 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체

Country Status (1)

Country Link
KR (1) KR101039397B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769319B2 (en) 2010-12-08 2014-07-01 Samsung Electronics Co., Ltd. Reducing power consumption in memory line architecture

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020058322A (ko) * 2000-12-29 2002-07-12 엘지전자 주식회사 듀얼 포트 메모리를 이용한 프로세서의 제어코드 운용방법
KR20080111745A (ko) * 2007-06-19 2008-12-24 엠텍비젼 주식회사 다중 포트 메모리를 이용한 다중 프로세서의 부팅 방법,다중 포트 메모리 및 다중 포트 메모리를 가지는 다중프로세서 시스템
KR20090027983A (ko) * 2007-09-13 2009-03-18 엠텍비젼 주식회사 다중 포트 메모리를 이용한 다중 프로세서의 데이터 전송방법, 패킷의 구조가 기록된 기록매체, 다중 포트 메모리를이용한 다중 프로세서의 데이터 전송 프로토콜 및 다중포트 메모리를 가지는 다중 프로세서 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020058322A (ko) * 2000-12-29 2002-07-12 엘지전자 주식회사 듀얼 포트 메모리를 이용한 프로세서의 제어코드 운용방법
KR20080111745A (ko) * 2007-06-19 2008-12-24 엠텍비젼 주식회사 다중 포트 메모리를 이용한 다중 프로세서의 부팅 방법,다중 포트 메모리 및 다중 포트 메모리를 가지는 다중프로세서 시스템
KR20090027983A (ko) * 2007-09-13 2009-03-18 엠텍비젼 주식회사 다중 포트 메모리를 이용한 다중 프로세서의 데이터 전송방법, 패킷의 구조가 기록된 기록매체, 다중 포트 메모리를이용한 다중 프로세서의 데이터 전송 프로토콜 및 다중포트 메모리를 가지는 다중 프로세서 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769319B2 (en) 2010-12-08 2014-07-01 Samsung Electronics Co., Ltd. Reducing power consumption in memory line architecture

Similar Documents

Publication Publication Date Title
US9928167B2 (en) Information processing system and nonvolatile storage unit
KR101246982B1 (ko) 시스템 성능을 향상시키기 위한 외장형 메모리 장치의 이용
JP4422652B2 (ja) 漸進的マージ方法及びそれを利用したメモリシステム
KR100823171B1 (ko) 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
JP4836647B2 (ja) 不揮発性キャッシュメモリを用いる記憶装置とその制御方法
US8825946B2 (en) Memory system and data writing method
US8677051B2 (en) Memory system, control method thereof, and information processing apparatus
US20160253093A1 (en) A new USB protocol based computer acceleration device using multi I/O channel SLC NAND and DRAM cache
US20140229657A1 (en) Readdressing memory for non-volatile storage devices
KR102649131B1 (ko) 메모리 시스템 내 대용량 데이터 저장이 가능한 블록에서의 유효 데이터 체크 방법 및 장치
KR101842321B1 (ko) 세그먼트화된 캐시
US8112589B2 (en) System for caching data from a main memory with a plurality of cache states
KR20200040544A (ko) 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 스토리지 장치, 및 상기 메모리 컨트롤러의 동작 방법
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
KR20130112210A (ko) 메모리 시스템 및 그것의 페이지 교체 방법
KR20200016075A (ko) 메모리 시스템에서의 유효 데이터 탐색 방법 및 장치
US11210226B2 (en) Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof
US20130086307A1 (en) Information processing apparatus, hybrid storage apparatus, and cache method
CN111399750B (zh) 闪存数据写入方法及计算机可读取存储介质
JP2011070365A (ja) メモリシステム
CN104461607A (zh) 缓存引导数据的固态驱动器
US20230273878A1 (en) Storage device for classifying data based on stream class number, storage system, and operating method thereof
KR101039397B1 (ko) Mla의 독출 동작 속도를 증가시키기 위한 멀티 포트 메모리 장치의 공유 영역 관리 방법 및 그를 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체
US20130318302A1 (en) Cache controller based on quality of service and method of operating the same
US8117427B2 (en) Motherboard, storage device and controller thereof, and booting method

Legal Events

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

Payment date: 20140530

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150630

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170103

Year of fee payment: 6

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20170525

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180430

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 9