KR101039397B1 - Mla의 독출 동작 속도를 증가시키기 위한 멀티 포트 메모리 장치의 공유 영역 관리 방법 및 그를 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체 - Google Patents
Mla의 독출 동작 속도를 증가시키기 위한 멀티 포트 메모리 장치의 공유 영역 관리 방법 및 그를 위한 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체 Download PDFInfo
- 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
Links
Images
Classifications
-
- 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
Abstract
Description
도 2는 본 발명의 일실시예에 따른 멀티 포트 메모리 장치의 공유 영역 관리 방법이 적용되는 호스트 CPU와 MLA를 개략적으로 나타내는 블록 구성도이다.
도 3은 도 2에 도시된 멀티 포트 메모리 장치의 공유 영역에 특정 명령 또는 데이터가 기록되는 과정을 설명하기 위한 개념도이다.
도 4는 도 2에 도시된 MLA의 독출 동작 과정을 설명하기 위한 개념도이다.
도 5는 도 2에 도시된 멀티 포트 메모리 장치의 공유 영역을 관리하는 과정의 일례를 나타내는 흐름도이다.
111: 호스트 CPU 영역 112: 메모리 컨트롤러 영역
113: 공유 영역 113a: 컨트롤 영역
113b: 데이터 영역 120: 메모리 컨트롤러
130: 플래시 메모리 200: 호스트 CPU
201: 파일 시스템
202: 멀티 포트 메모리 장치 드라이버
Claims (7)
- 멀티 포트(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 저장 단계를 포함하고,
상기 기록 명령은, 상기 메모리 컨트롤러가 상기 기록 데이터를 상기 멀티 포트 메모리 장치로부터 독출하여 상기 플래시 메모리에 기록하도록 제어하기 위한 명령인 멀티 포트 메모리 장치의 공유 영역 관리 방법. - 제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 독출 단계를 더 포함하고,
상기 독출 명령은, 상기 메모리 컨트롤러가 상기 독출 데이터를 상기 플래시 메모리로부터 독출하여 상기 멀티 포트 메모리 장치에 기록하도록 제어하기 위한 명령인 멀티 포트 메모리 장치의 공유 영역 관리 방법. - 제2항에 있어서,
상기 호스트 CPU에 의해, 추가의 명령이 발생할 때마다, 상기 제1 판단 단계 내지 상기 제3 독출 단계를 반복하는 단계를 더 포함하는 멀티 포트 메모리 장치의 공유 영역 관리 방법. - 멀티 포트(multi-port) 메모리 장치, 메모리 컨트롤러, 및 플래시(flash) 메모리를 포함하는 MLA(memory link architecture)에서, 상기 멀티 포트 메모리 장치의 공유 영역을 관리하는 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체로서,
상기 프로그램에 의해, 상기 멀티 포트 메모리 장치에 연결된 호스트(host) CPU(central processing unit)가,
기록 명령이 발생할 때, 상기 멀티 포트 메모리 장치의 공유 영역에 포함된 컨트롤 영역에서, 이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지인지의 여부를 판단하는 제1 판단 단계;
이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지일 때, 상기 공유 영역에 포함된 데이터 영역의 첫 번째 번지를 나타내는 제1 데이터 주소 정보를 상기 기록 명령에 포함시키는 제1 포함 단계;
상기 제1 데이터 주소 정보를 포함하는 기록 명령을 상기 컨트롤 영역의 첫 번째 번지에 저장하고, 해당 기록 데이터를 상기 데이터 영역의 첫 번째 번지에 저장하는 제1 저장 단계;
이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지가 아닐 때, 상기 데이터 영역에서 이전의 데이터가 저장된 번지의 다음 번지를 나타내는 제2 데이터 주소 정보를 상기 기록 명령에 포함시키는 제2 포함 단계; 및
상기 제2 데이터 주소 정보를 포함하는 기록 명령을 상기 컨트롤 영역의 이전의 명령이 저장된 번지의 다음 번지에 저장하고, 상기 데이터 영역의 이전의 데이터가 저장된 번지의 다음 번지에 해당 기록 데이터를 저장하는 제2 저장 단계를 실행하고,
상기 기록 명령은, 상기 메모리 컨트롤러가 상기 기록 데이터를 상기 멀티 포트 메모리 장치로부터 독출하여 상기 플래시 메모리에 기록하도록 제어하기 위한 명령인 멀티 포트 메모리 장치의 공유 영역을 관리하는 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체. - 제4항에 있어서,
상기 프로그램에 의해, 상기 호스트 CPU가,
독출 명령이 발생할 때, 상기 독출 명령에 대한 기록 정보가 커맨드 큐(command queue)에 저장된 커맨드 목록(command list)에 존재하는지의 여부를 판단하는 제2 판단 단계;
상기 독출 명령에 대한 기록 정보가 상기 커맨드 목록에 존재하지 않을 때, 이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지인지의 여부를 판단하는 제3 판단 단계;
이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지일 때, 상기 데이터 영역의 첫 번째 번지를 나타내는 제1 데이터 주소 정보를 상기 독출 명령에 포함시키는 제3 포함 단계;
상기 제1 데이터 주소 정보를 포함하는 독출 명령을 상기 컨트롤 영역의 첫 번째 번지에 저장하는 제3 저장 단계;
이전의 명령이 저장된 번지가 상기 컨트롤 영역의 마지막 번지가 아닐 때, 상기 데이터 영역에서 이전의 데이터가 저장된 번지의 다음 번지를 나타내는 제2 데이터 주소 정보를 상기 독출 명령에 포함시키는 제4 포함 단계;
상기 제2 데이터 주소 정보를 포함하는 독출 명령을 컨트롤 영역의 이전의 명령이 저장된 번지의 다음 번지에 저장하는 제4 저장 단계;
상기 멀티 포트 메모리 장치로부터 인터럽트(interrupt) 신호를 수신할 때, 상기 데이터 영역으로부터 해당 독출 데이터를 독출하는 제1 독출 단계;
상기 독출 명령에 대한 기록 정보가 상기 커맨드 목록에 존재할 때, 상기 커맨드 큐에 저장된 커맨드 주소 정보에 기초하여, 상기 컨트롤 영역으로부터 해당 독출 명령을 독출하는 제2 독출 단계; 및
상기 컨트롤 영역으로부터 독출한 해당 독출 명령에 포함된 상기 제1 또는 제2 데이터 주소 정보에 기초하여, 상기 데이터 영역으로부터 해당 독출 데이터를 독출하는 제3 독출 단계를 더 실행하고,
상기 독출 명령은, 상기 메모리 컨트롤러가 상기 독출 데이터를 상기 플래시 메모리로부터 독출하여 상기 멀티 포트 메모리 장치에 기록하도록 제어하기 위한 명령인 멀티 포트 메모리 장치의 공유 영역을 관리하는 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체. - 제5항에 있어서,
상기 프로그램에 의해, 상기 호스트 CPU가,
추가의 명령이 발생할 때마다, 상기 제1 판단 단계 내지 상기 제3 독출 단계를 반복하는 단계를 더 실행하는 멀티 포트 메모리 장치의 공유 영역을 관리하는 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체. - 제4항에 있어서,
상기 프로그램은, 상기 멀티 포트 메모리 장치를 구동하기 위해 상기 호스트 CPU에서 실행되는 프로그램인 멀티 포트 메모리 장치 드라이버(driver)인 멀티 포트 메모리 장치의 공유 영역을 관리하는 프로그램을 기록한 컴퓨터로 독출 가능한 기록매체.
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)
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)
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 | 엠텍비젼 주식회사 | 다중 포트 메모리를 이용한 다중 프로세서의 데이터 전송방법, 패킷의 구조가 기록된 기록매체, 다중 포트 메모리를이용한 다중 프로세서의 데이터 전송 프로토콜 및 다중포트 메모리를 가지는 다중 프로세서 시스템 |
-
2010
- 2010-05-28 KR KR1020100049988A patent/KR101039397B1/ko active IP Right Grant
Patent Citations (3)
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)
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 |