KR101766833B1 - 화상형성장치 및 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법 - Google Patents

화상형성장치 및 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법 Download PDF

Info

Publication number
KR101766833B1
KR101766833B1 KR1020100078820A KR20100078820A KR101766833B1 KR 101766833 B1 KR101766833 B1 KR 101766833B1 KR 1020100078820 A KR1020100078820 A KR 1020100078820A KR 20100078820 A KR20100078820 A KR 20100078820A KR 101766833 B1 KR101766833 B1 KR 101766833B1
Authority
KR
South Korea
Prior art keywords
memory address
virtual memory
address
image forming
forming apparatus
Prior art date
Application number
KR1020100078820A
Other languages
English (en)
Other versions
KR20120016452A (ko
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 KR1020100078820A priority Critical patent/KR101766833B1/ko
Priority to EP11177401.4A priority patent/EP2420934B1/en
Priority to US13/209,712 priority patent/US8711418B2/en
Publication of KR20120016452A publication Critical patent/KR20120016452A/ko
Priority to US14/200,164 priority patent/US20140189193A1/en
Application granted granted Critical
Publication of KR101766833B1 publication Critical patent/KR101766833B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1279Controller construction, e.g. aspects of the interface hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/654Look-ahead translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Facsimiles In General (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

화상형성장치가 개시된다. 본 화상형성장치는, 화상형성장치의 기능을 수행하는 기능부, 및, 화상형성장치의 기능이 수행되도록 기능부를 제어하는 제어부를 포함하고, 제어부는, 가상 메모리 주소로 동작하는 프로세스 코어, 물리 메모리 주소로 동작하며, 화상형성장치의 기능에 이용되는 데이터를 저장하는 메인 메모리, 및, 가상 메모리 주소로 동작하며, 화상형성장치가 수행하는 기능 중 적어도 하나의 기능을 제어하는 복수의 I/O 로직을 포함하며, 복수의 I/O 로직 각각은 가상 메모리 주소를 가상 메모리 주소에 대응하는 물리 메모리 주소로 변환하여 메인 메모리를 액세스한다.

Description

화상형성장치 및 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법{IMAGE FORMING APPARATUS AND METHOD FOR TRANSFORMATION VIRTUAL MEMORY ADDRESS TO PHYSICAL MEMORY ADDRESS THEREOF}
본 발명은 화상형성장치 및 가상 메모리 주소를 물리 주소로 변환하는 방법에 관한 것으로, 보다 상세하게는 가상 메모리 주소를 물리 메모리 주소로 변환하는 과정에서 발생하는 지연을 개선할 수 있는 화상형성장치 및 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법에 관한 것이다.
화상형성장치는 컴퓨터와 같은 단말장치에서 생성된 인쇄 데이터를 기록 용지에 인쇄하는 장치를 의미한다. 이러한 화상형성장치의 예로는 복사기, 프린터, 팩시밀리 또는 이들의 기능을 하나의 장치를 통해 복합적으로 구현하는 복합기(Multi Function Peripheral: MFP) 등을 들 수 있다.
일반적으로 물리 주소 공간만으로는 메인 메모리의 크기보다 용량이 큰 프로그램은 메모리에 적재할 수 없으므로, 용량이 큰 프로그램의 실행이 불가능하다. 그러나 프로그램은 프로세서에서 순차적으로 실행이 되므로, 프로세서가 필요로 하는 프로그램의 코드는 한 시점에 일부만 메모리에 존재하면 충분하다. 이러한 점에서, 상술한 제약을 극복하기 위하여 가상메모리가 제안되었다.
가상주소를 사용하는 기존의 시스템은 가상주소와 물리주소가 서로 다르기 때문에 가상주소 상에서 연속적인 데이터 공간에 데이터가 있는 것이 반드시 물리주소로 연속적인 공간에 연결되어 있지는 않다. 예를 들어 가상주소를 사용하고 있는 시스템에서 malloc와 같은 함수를 이용해 10MB의 공간을 할당받는 경우, 10MB의 공간은 가상주소로 연속적으로 배열되어 있지만, 물리주소로는 페이지 단위로 연속 혹은 불연속적으로 나뉘어 서로 흩어져 메모리 상에 위치하게 된다.
만약 이 주소에 쓰인 데이터, 즉 가상주소의 10MB 공간에 위치한 데이터를 하드웨어 IP를 통해 다른 물리적인 메모리 공간으로 복사하는 경우, 하드웨어 IP는 연속적으로 데이터를 처리할 수 없다. DMA를 통해 데이터를 복사하는 경우 물리주소의 연속적인 흐름 내에서만 복사할 수 있는데, 이 데이터 공간은 가상주소로는 연속적이지만 물리주소로는 페이지단위로 서로 흩어져 있기 때문이다. 구체적으로, SoC 내의 IP와 같은 하드웨어에서는 물리주소를 사용하기 때문에, 하드웨어 IP를 동작하는 경우 이를 물리주소로 변환해야만 사용이 가능하기 때문이다.
따라서 하드웨어를 구동하는 경우 물리적으로 연속적인 공간을 할당받아 해당 영역으로 데이터를 복사하여 하드웨어를 구동하거나, 혹은 페이지별로 흩어져있는 불연속적인 공간단위로 하드웨어를 시작하고 구동(Scatter/Gather DMA)하는 것을 반복해야 한다.
그러나 물리적으로 연속적인 공간을 할당받아 해당 영역으로 데이터를 복사하는 것은 데이터의 이중복사로 인해 비효율적이며, 해당 영역만큼의 물리적인 연속 공간을 확보하는 것도 운영체제의 메모리 관리자의 상황에 따라 불가능할 수 있으며 이 경우 해당 자원을 확보할 때까지 대기상태로 기다리고 있어야 하는 문제가 있었다.
따라서, 본 발명의 목적은 가상 메모리 주소를 물리 메모리 주소로 변환하는 과정에서 발생하는 지연을 개선할 수 있는 화상형성장치 및 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법을 제공하는 데 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 화상형성장치는, 화상형성장치의 기능을 수행하는 기능부, 및, 화상형성장치의 기능이 수행되도록 상기 기능부를 제어하는 제어부를 포함하고, 상기 제어부는, 가상 메모리 주소로 동작하는 프로세스 코어, 물리 메모리 주소로 동작하며, 상기 화상형성장치의 기능에 이용되는 데이터를 저장하는 메인 메모리, 및, 가상 메모리 주소로 동작하며, 상기 화상형성장치가 수행하는 기능 중 적어도 하나의 기능을 제어하는 복수의 I/O 로직을 포함하며, 상기 복수의 I/O 로직 각각은 가상 메모리 주소를 가상 메모리 주소에 대응하는 물리 메모리 주소로 변환하여 상기 메인 메모리를 액세스한다.
이 경우, 상기 복수의 I/O 로직 각각은, 상기 화상형성장치가 수행하는 기능 중 적어도 하나의 기능을 제어하는 기능 코어, 변환 참조 버퍼를 이용하여 상기 기능 코어가 요청한 가상 메모리 주소를 물리 메모리 주소로 변환하는 주소 변환부, 및, 상기 변환된 물리 메모리 주소를 이용하여 접근을 수행하는 DMA를 포함할 수 있다.
이 경우, 상기 주소 변환부는, 상기 변환 참조 버퍼에 요청된 가상 메모리 주소가 있는 경우, 상기 변환 참조 버퍼 내의 상기 요청된 가상 메모리 주소에 대응되는 물리 메모리 주소를 반환하는 것이 바람직하다.
한편, 상기 주소 변환부는, 상기 변환 참조 버퍼에 요청된 가상 메모리 주소가 없는 경우, 상기 메모리 내의 변환 테이블을 탐색하고, 상기 탐색 결과에 따라 상기 변환 참조 버퍼를 갱신하여, 상기 갱신된 변환 참조 버퍼 내의 상기 요청된 가상 메모리 주소에 대응되는 물리 메모리 주소를 반환하는 것이 바람직하다.
한편, 상기 복수의 I/O 로직 각각은, 상기 화상형성장치의 이미지 데이터에 대한 액세스 패턴에 따라 상기 기능 코어가 다음에 변환 요청할 가상 메모리 주소를 예측하여 상기 변환 참조 버퍼를 갱신하는 주소 예측부를 더 포함할 수 있다.
이 경우, 상기 주소 예측부는, 기결정된 액세스 패턴이 존재하는 경우, 상기 기결정된 액세스 패턴을 이용하여 다음 요청될 가상 메모리 주소를 예측하고, 상기 예측된 가상 메모리 주소에 대응하는 물리 메모리 주소가 상기 변환 테이블에 존재하는지를 탐색하는 것이 바람직하다,
한편, 상기 주소 예측부는, 이전 예측이 정확하였는지 판단하여, 이전 예측이 정확하지 않은 경우 상기 기결정된 액세스 패턴을 변경하는 것이 바람직하다.
한편, 상기 변환 참조 테이블은, 저장 순서에 따라 가상 메모리 주소 및 가상 메모리 주소에 대응되는 물리 메모리 주소에 관한 주소 정보를 갱신하는 것이 바람직하다.
한편, 상기 변환 참조 버퍼는, 캐시 메모리인 것이 바람직하다.
한편, 상기 I/O 코어는, 이미지 확대/축소 기능, 이미지 회전 기능, 이미지 변환 기능 스캔 기능 제어, 팩스 기능 제어, 인쇄 기능 제어 중 적어도 하나의 기능을 수행하는 기능 코어인 것이 바람직하다.
한편, 상기 프로세스 코어는, 가상 메모리 주소를 가상 메모리 주소에 대응하는 물리 메모리 주소로 변환하여 상기 메인 메모리를 액세스하는 것이 바람직하다.
한편, 상기 제어부는, 상기 프로세스 코어, 상기 복수의 I/O 로직 및 제어부 내의 각 로직을 연결하는 버스 인터페이스를 포함하는 시스템 온 칩(SoC)인 것이 바람직하다.
한편, 본 발명의 일 실시 예에 따른, 화상형성장치에서의 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법은, 상기 화상형성장치가 수행하는 기능 중 적어도 하나의 기능을 제어하는 I/O 코어가 가상 메모리 주소를 이용하여 메인 메모리의 액세스를 요청하는 단계, 변환 참조 버퍼를 이용하여 상기 I/O 코어가 요청한 가상 메모리 주소를 물리 메모리 주소로 변환하는 단계, 및, 상기 변환된 물리 메모리 주소를 이용하여 접근을 수행하는 단계를 포함한다.
이 경우, 상기 변환하는 단계는, 상기 변환 참조 버퍼에 요청된 가상 메모리 주소가 있는 경우, 상기 변환 참조 버퍼 내의 상기 요청된 가상 메모리 주소에 대응되는 물리 메모리 주소를 반환하는 것이 바람직하다.
한편, 상기 변환하는 단계는, 상기 변환 참조 버퍼에 요청된 가상 메모리 주소가 없는 경우, 상기 메인 메모리 내의 변환 테이블을 탐색하고, 상기 탐색 결과에 따라 상기 변환 참조 버퍼를 갱신하여, 상기 갱신된 변환 참조 버퍼를 이용하여 상기 요청된 가상 메모리 주소에 대응되는 물리 메모리 주소를 반환하는 것이 바람직하다.
한편, 본 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법은, 상기 화상형성장치의 이미지 데이터에 대한 액세스 패턴에 따라 상기 기능 코어가 다음에 요청할 가상 메모리 주소를 예측하는 단계를 더 포함할 수 있다.
이 경우, 상기 예측하는 단계는, 기결정된 액세스 패턴이 존재하는 경우, 상기 기결정된 액세스 패턴을 이용하여 다음 요청될 가상 메모리 주소를 예측하고, 상기 예측된 가상 메모리 주소에 대응하는 물리 메모리 주소가 상기 변환 테이블에 존재하는지를 탐색하는 것이 바람직하다.
한편, 상기 예측하는 단계는, 상기 예측된 가상 메모리 주소가 상기 변환 참조 버퍼 내에 없는 경우, 상기 메인 메모리 내의 변환 테이블을 탐색하고, 상기 탐색 결과에 따라 상기 변환 참조 버퍼를 갱신하는 것이 바람직하다.
한편, 상기 예측하는 단계는, 이전 예측이 정확하였는지 판단하고, 이전 예측이 정확하지 않은 경우 상기 기결정된 액세스 패턴을 변경하는 것이 바람직하다.
한편, 상기 변환 참조 테이블은, 저장 순서에 따라 가상 메모리 주소 및 가상 메모리 주소에 대응되는 물리 메모리 주소에 관한 주소 정보를 갱신하는 것이 바람직하다.
한편, 상기 접근을 수행하는 단계는, DMA(Direct Memory Access)를 통해 상기 변환된 물리 메모리 주소로 접근하는 것이 바람직하다.
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
삭제
도 1은 본 발명의 일 실시예에 의한 화상형성장치를 도시한 블록도,
도 2는 도 1의 제어부의 구성을 구체적으로 도시한 도면,
도 3은 도 2의 주소변환장치를 구체적으로 도시한 도면,
도 4는 본 실시예에 따른 변환 참조 테이블의 형태를 도시한 도면,
도 5는 본 실시예에 따른 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법을 설명하기 위한 흐름도이다.
도 6은 도 5의 변환하는 단계를 구체적으로 설명하기 위한 흐름도, 그리고,
도 7은 도 5의 예측하는 단계를 구체적으로 설명하기 위한 흐름도이다.
이하 첨부된 도면들을 참조하여 본 발명의 일 실시 예를 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 의한 화상형성장치(100)를 도시한 블록도이다.
도 1을 참고하면, 화상형성장치(100)는 통신 인터페이스부(110), 메모리(120), 사용자 인터페이스부(130), 기능부(140) 및 제어부(150)를 포함한다.
통신 인터페이스부(110)는 화상형성장치(100)를 인쇄제어 단말장치(미도시)와 연결하기 위해 형성되며, 근거리 통신망(LAN: Local Area Network) 및 인터넷망을 통해 접속되는 형태뿐만 아니라, USB(Universal Serial Bus) 포트를 통하여 접속되는 형태도 가능하다. 그리고 통신 인터페이스부(110)는 인쇄제어 단말장치(미도시)로부터 잡 데이터를 수신할 수 있으며, 화상형성장치(100)에서 생성한 잡 데이터를 인쇄제어 단말장치에 전송할 수도 있다.
메인 메모리(120)는 화상형성장치의 기능에 이용되는 데이터를 저장한다. 구체적으로, 메인 메모리(120)는 후술할 기능부(140)의 기능 수행 과정 중에서 이용된 잡 데이터를 저장할 수 있다. 그리고 메인 메모리(120)는 가상 메모리 주소와 물리 메모리 주소에 대한 변환 테이블(121)을 포함할 수 있다. 그리고 메인 메모리(120)는 휘발성을 갖는 RAM(구체적으로, DDR)으로 구현될 수 있다.
사용자 인터페이스부(130)는 화상형성장치에서 지원하는 각종 기능을 사용자가 설정 또는 선택할 수 있는 다수의 기능키를 구비하며, 화상형성장치(100)에서 제공되는 각종 정보를 표시할 수 있다. 사용자 인터페이스부(130)는 모니터 및 마우스를 결합하여 구현할 수 있으며, 터치패드 등과 같이 입력과 출력이 동시에 구현되는 장치로도 구현할 수도 있다.
기능부(140)는 복사, 인쇄, 스캔, 팩스 전송, 팩스 수신 등과 같은 화상형성장치(100)에서의 기능을 수행한다. 구체적으로, 기능부(140)는 복사 기능을 수행하는 복사 처리부, 인쇄 기능을 수행하는 인쇄 처리부, 스캔 기능을 수행하는 스캔 처리부, 팩스 전송 및 팩스 기능을 수행하는 팩스 처리부, 이미지를 변환하는 이미지 처리부를 포함할 수 있다.
제어부(150, 200)는 화상형성장치(100) 내의 각 구성에 대한 제어를 수행한다. 구체적으로, 화상형성장치가 지원하는 기능을 분할하여 제어하는 복수의 I/O 로직(Input/Output Logic 또는 IP(Intellectual Property)), 프로세스 코어 및 제어부 내의 로직 각각을 연결하는 버스 인터페이스를 포함하는 시스템 온 칩(SoC)일 수 있다. 제어부(150)의 구체적인 구성 및 동작에 대해서는 도 2를 참고하여 설명한다. 여기서 시스템 온 칩이란, 반도체 다이, 수동 소자, 필터 및 안테나, 배터리 등 이미 하드웨어 반도체 설계 자산(IP:intellectual property, 또는 I/O 로직)으로 개발되어 있는 기존 부품들을 3차원 패키지 내에 집적한 것이다
도 1을 설명함에 있어서, 메인 메모리(120) 및 제어부(150)가 각각 별도의 구성인 것으로 설명하였으나, 제어부(150)내에 메인 메모리가 구비되도록 구현할 수도 있다.
도 2는 도 1의 제어부의 구성을 구체적으로 도시한 도면이다.
도 2를 참고하면, 제어부(200, 도 1의 150에 대응됨)는 프로세서 코어(210), 복수의 I/O 로직(220) 및 버스 인터페이스(230)를 포함한다.
프로세서 코어(210)는 복수의 I/O 로직(220)에 대한 제어를 수행한다. 구체적으로, 프로세서 코어(210)는 메인 메모리(120)에 저장된 명령어에 대응한 동작을 수행한다. 메인 메모리(120)에 저장된 명령어는 가상 메모리 주소로 되어 있기 때문에 프로세서 코어(210)는 가상 메모리 주소로 동작하며, 메인 메모리를 액세스 하거나, 복수의 I/O 로직을 액세스하는 경우에는 내장된 메모리 관리 유닛을 통하여 가상 메모리 주소를 물리 메모리 주소로 변환하여 액세스할 수 있다. 여기서 메모리 관리 유닛은, 프로세서 코어(210)에서 이용하는 가상 메모리 주소를 물리 메모리 주소로 변환하며, 프로세서 코어(210)와 메인 메모리(120) 또는 주변장치로의 접근을 관리할 수 있다.
I/O 로직(220)은 화상형성장치가 지원하는 기능 중 적어도 하나의 기능을 제어하는 프로세서이다. 구체적으로, I/O 로직(220)은 상술한 기능부(140) 중 하나를 제어할 수 있다. 예를 들어, I/O 로직(220)에는, 인쇄 처리부를 제어하는 출력 I/O 로직(220-1), 이미지 처리부를 제어하는 화상 코덱 I/O 로직(220-2), 팩스 처리부를 제어하는 스캔 I/O 로직(220-3) 등이 있을 수 있다. 본 실시 예에서는 3개의 I/O 로직만을 도시하였으나, 상술한 기능 외의 동작을 수행하는 I/O 로직이 추가되는 형태로도 구현될 수 있다. 한편, I/O 로직(220)은 기능 코어(221, 또는 IP 코어), 주소변환장치(223) 및 DMA(227)를 포함할 수 있다.
기능 코어(221)는 화상형성장치가 지원하는 기능 중 적어도 하나의 특별한 기능을 제어하는 프로세서 코어로, 메인 메모리(120)에 저장된 데이터를 가공, 처리하는 역할을 수행한다. 구체적으로, 본 실시 예에 따른 기능 코어(221)는 주소변환장치(223)에서 가상 메모리 주소를 물리 메모리 주소로 자동 변환하는바, 기능 코어(221)는 가상 메모리 주소를 기반으로 동작할 수 있다.
주소변환장치(223)는 기능 코어(221)에서 요청한 가상 메모리 주소를 물리 메모리 주소로 변환하고, 기능 코어(221)에서 다음에 요청할 가상 메모리 주소를 예측한다. 주소변환장치(223)의 구체적인 구성 및 동작에 대해서는 도 3을 참고하여 후술한다. 본 실시 예에서는 주소변환장치(223)가 가상 메모리 주소를 물리 메모리 주소로 변환하는 동작에 대해서만 설명하였지만, 주소변환장치(223)는 물리 메모리 주소를 가상 메모리 주소로 변환하는 동작 역시 수행할 수 있다.
DMA(227)는 메인 메모리(120)와 데이터를 주고 받는다. 구체적으로, DMA(227)는 주소변환장치(223)에서 변환된 물리 메모리 주소를 기초로 메인 메모리(120)와 데이터를 주고 받을 수 있다.
버스 인터페이스(230)는 제어부(200)의 내부의 I/O 로직, 프로세스 코어 및 메인 메모리(120) 간의 연결을 위한 통로이며, 연결된 모든 장치 간의 통신은 물리 메모리 주소를 기반으로 동작한다.
도 3은 본 실시예에 따른 주소변환장치(223)의 구성을 도시한 도면이다.
도 3을 참고하면 주소변환장치(223)는 변환 참조 버퍼(224), 주소 변환부(225) 및 주소 예측부(226)를 포함한다.
변환 참조 버퍼(Translate Look-aside Buffer(TLB), 224)는 가상 메모리 주소 및 가상 메모리 주소에 대응하는 물리 메모리 주소에 관한 주소 정보를 룩업 테이블 형태로 저장한다. 그리고 변환 참조 버퍼(224)는 저장 순서에 따라 주소 정보를 갱신할 수 있다. 한편, 변환 참조 버퍼(224)는 가상 메모리 주소와 물리 메모리 주소 사이의 변환을 빨리 수행할 수 있도록 캐시 메모리로 구현될 수 있다.
주소 변환부(225)는 가상 메모리 주소를 물리 메모리 주소로 변환한다. 구체적으로, 주소 변환부(225)는 변환 참조 버퍼(224)에 기능 코어(221)가 요청한 가상 메모리 주소가 있는지를 판단할 수 있다.
판단 결과, 변환 참조 버퍼(224)에 기능 코어(221)가 요청한 가상 메모리 주소가 있는 경우, 주소 변환부(225)는 변환 참조 버퍼(224) 내의 요청된 가상 메모리 주소에 대응되는 물리 메모리 주소를 반환할 수 있다.
반면에 요청된 메모리 주소가 변환 참조 버퍼(224)에 없는 경우, 주소 변환부(225)는 메인 메모리(120) 내의 변환 테이블(121)을 탐색하여, 변환 테이블(121) 내에서 요청된 가상 메모리 주소에 대응되는 물리 메모리 주소 등의 주소 정보를 추출하고, 추출된 주소 정보를 변환 참조 버퍼(224)에 기록하여 변환 참조 버퍼(224)를 갱신할 수 있다.
그리고 주소 변환부(225)는 갱신된 변환 참조 버퍼(224)를 이용하여 요청된 가상 메모리 주소에 대응되는 물리 메모리 주소를 반환할 수 있다. 한편, 요청된 가상 메모리 주소가 물리 메모리에 있는 변환 테이블(121)을 통해 변환되지 못하거나 접근할 수 없는 경우에 주소 변환부(225)는 주소 변환 실패로 간주하고 예외 처리를 발생시킬 수 있다.
주소 예측부(226)는 기결정된 패턴에 따라 다음 요청될 가상 메모리 주소를 예측한다. 구체적으로, 주소 예측부(226)는 변환 참조 버퍼(224)의 적중률을 높이기 위하여, 다음 요청될 가상 메모리 주소를 예측하고, 예측된 가상 메모리 주소에 대한 주소 정보를 사전에 변환 참조 버퍼(224)에 저장한다.
보다 구체적으로, 주소 예측부(226)는 이전에 주소 변환이 있었는지를 판단한다. 판단 결과, 이전에 주소 변환이 없었던 경우(즉, 최초 주소 변환인 경우) 패턴을 예측하기 어려운 바, 주소 예측부(226)는 별도의 예측 없이 현재 요청된 가상 메모리 주소 정보를 저장한다.
반면에 이전에 주소 변환이 있었던 경우, 주소 예측부(226)는 이전에 예측 작업이 수행된 이력이 있었는지 및 수행된 이력이 있었던 경우에 수행된 예측이 정확했었는지를 판단한다. 이전에 예측이 수행된 적 있으며, 이전의 예측이 정확했던 경우에, 주소 예측부(226)는 이전 예측시 이용한 패턴을 이용하여 다음 요청될 가상 메모리 주소를 계산할 수 있다.
반면에 이전에 예측이 수행된 적 없으며, 이전의 예측이 정확하지 않았던 경우에, 주소 예측부(226)는 새로운 패턴을 결정하고, 새로 결정된 패턴을 이용하여 다음 요청될 가상 메모리 주소를 계산할 수 있다.
본 실시예에 이용되는 패턴은 화상형성장치(100)의 데이터 접근 특성과 관련된다. 구체적으로, 일반적인 화상형성장치는 화상형성 과정에서 순차적인 데이터 접근 또는 역순차적인 데이터 접근 특성이 있으며, 무작위 접근하는 경우가 자주 발생하지 않는다. 이와 같은 화상형성 과정에서의 순차적인 데이터 접근 또는 역순차적인 접근 형태의 패턴을 이용하여 다음 요청될 가상 메모리 주소를 계산할 수 있다. 이러한 패턴은 주소 예측부(226)에 복수개 저장되어 있을 수 있으며, 주소 예측부(226)는 기능 코어(221)의 요청 패턴에 따라 기저장된 패턴 중 하나를 선택하여 이용할 수 있다.
한편, 이전에 요청된 가상 메모리 주소와 현재 요청된 가상 메모리 주소 사이의 패턴이 일정하지 않다면, 다음 요청될 가상 메모리 주소에 대한 예측이 불가능할 수 있다. 즉, 복잡한 주소 패턴에 대해 예측하는 것은 오히려 예측 시간이 길어져 성능 저하를 유발하고, 패턴 저장에 따른 메모리 공간 낭비를 유발할 수 있다. 따라서, 본 실시예에 따른 주소 예측부(226)는 특정 블록 또는 이미지 라인 단위의 증가 또는 감소로 인한 순차적인 접근 방식의 패턴을 이용하여 다음 요청될 가상 메모리 주소를 예측할 수 있다.
그리고 다음 요청될 가상 메모리 주소가 계산되면, 주소 예측부(226)는 계산된 가상 메모리 주소 및 계산된 메모리 주소에 대응되는 물리 메모리 주소를 변환 참조 버퍼(224)에 기록한다. 구체적으로, 계산된 가상 메모리 주소가 변환 참조 버퍼(224)에 없는 경우, 주소 예측부(226)는 메인 메모리(120) 내의 변환 테이블(121)을 탐색하여, 변환 테이블(121) 내의 요청된 가상 메모리 주소 및 가상 메모리 주소에 대응되는 물리 메모리 주소 등의 주소 정보를 추출하고, 추출된 주소 정보를 변환 참조 버퍼(224)에 기록할 수 있다.
이상과 같이 본 실시예에 따른 주소변환장치(223)는 I/O 로직이 요청하는 가상 메모리 주소를 물리 메모리 주소로 자동으로 변환할 수 있게 된다. 그리고 주소변환장치(223)는 다음 요청될 가상 메모리 주소를 예측하여 미리 그에 대응하는 주소 정보를 변환 참조 버퍼에 저장하는바, 가상 메모리 주소를 물리 메모리 주소로 변환하는 시간을 단축할 수 있다.
도 4는 본 실시예에 따른 변환 참조 테이블의 형태를 도시한 도면이다.
도 4를 참고하면, 변환 참조 테이블(400)은 인덱스(410), 가상 메모리 주소(420) 및 물리 메모리 주소(420)를 룩업 테이블 형태를 가질 수 있다. 본 실시 예에서는 인덱스가 포함된 형태의 실시예에 대해서만 도시하였지만, 구현시에는 인덱스 항목은 삭제된 형태로 구현될 수 있으며, 다른 구성이 추가된 형태로도 구현될 수 있다. 이러한 변환 참조 테이블은 캐시 메모리로 구현될 수 있다.
도 5는 본 실시예에 따른 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법을 설명하기 위한 흐름도이다.
먼저, 상기 화상형성장치가 수행하는 기능 중 적어도 하나의 기능을 제어하는 기능 코어가 가상 메모리 주소로의 액세스를 요청한다(S510).
액세스 요청에 대응하여, 요청된 가상 메모리 주소를 변환 참조 버퍼를 이용하여 물리 메모리 주소로 변환한다(S520). 변환 참조 버퍼를 이용하여 가상 메모리 주소를 물리 메모리 주소로 변환하는 구체적인 동작은 도 6을 참고하여 후술한다.
그리고 기결정된 패턴에 따라 다음 요청될 가상 메모리 주소를 예측한다(S530). 다음 요청될 가상 메모리 주소를 예측하는 구체적인 동작은 도 7을 참고하여 후술한다.
마지막으로, 변환된 물리 메모리 주소로 접근한다(S540). 구체적으로, DMA(Direct Memory Access)를 통해 변환된 물리 메모리 주소로 접근할 수 있다.
도 6은 도 5의 변환하는 단계를 구체적으로 설명하기 위한 흐름도이다.
먼저, 기능 코어로부터 주소 변환 요청이 수신되면(S610), 요청된 가상 메모리 주소가 변환 참조 버퍼에 있는지를 판단한다(S620).
판단 결과, 요청된 가상 메모리 주소가 변환 참조 버퍼(TLB, 224)에 있는 경우, 변환 참조 버퍼(224) 내의 요청된 가상 메모리 주소에 대응되는 물리 메모리 주소를 반환한다(S630).
반면에, 요청된 가상 메모리 주소가 변환 참조 버퍼(224)에 없는 경우, 메인 메모리(120) 내의 변환 테이블(121)을 탐색한다(S650). 그리고 변환 테이블(121)에 요청된 가상 메모리 주소의 정보가 존재하는 경우, 탐색된 변환 테이블(121)의 주소 정보를 이용하여 변환 참조 버퍼를 갱신한다(S670). 그리고 갱신된 참조 버퍼를 이용하여 요청된 가상 메모리 주소에 대응되는 물리 메모리 주소를 반환할 수 있다.
도 7은 도 5의 예측하는 단계를 구체적으로 설명하기 위한 흐름도이다.
도 7을 참고하면, 먼저 이전에 요청한 주소가 있는지 판단한다(S710). 판단 결과, 이전에 주소 변환이 없었던 경우(즉, 최초 주소 변환인 경우) 패턴을 예측하기 어려운 바, 별도의 예측 없이 현재 요청된 가상 메모리 주소 정보를 저장할 수 있다(S720).
반면에 이전에 주소 변환이 있었던 경우, 이전에 예측이 있었는지를 판단하고(S730), 예전의 예측이 정확했었는지를 판단한다(S740). 구체적으로, 이전에 이용된 패턴을 이용하여 예측할 수 있는지를 파악하기 위하여, 패턴이 존재하였는지 및 기결정된 패턴이 정확하였는지를 판단할 수 있다.
판단 결과, 이전의 예측이 존재하였으며, 이전의 예측이 정확했던 경우, 이전의 예측시 이용한 패턴을 이용하여 다음 요청될 가상 메모리 주소를 계산한다(S750). 다음 요청될 가상 메모리 주소를 계산하는 구체적인 동작에 대해서는 도 3의 주소 예측부(226)와 관련하여 설명하였는바, 중복 설명은 생략한다.
반면에, 이전 예측이 없었던 경우나 이전 예측이 정확하지 않았던 경우에는, 새로운 패턴을 결정하고(S760), 새로 결정된 패턴을 이용하여 다음 요청될 가상 메모리 주소를 계산할 수 있다.
그리고 계산된 가상 메모리 주소에 대한 정보가 변환 참조 버퍼(224)에 있는지를 판단한다(S770). 판단 결과, 계산된 가상 메모리 주소가 변환 참조 버퍼(224)에 없는 경우(S770), 메인 메모리(120) 내의 변환 테이블(121)을 탐색하여, 변환 테이블(121) 내의 요청된 가상 메모리 주소 및 가상 메모리 주소에 대응되는 물리 메모리 주소 등의 주소 정보를 추출하고, 추출된 주소 정보를 변환 참조 버퍼(224)에 기록할 수 있다.
따라서, 본 실시예에 따른 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법은, 다음 요청될 가상 메모리 주소를 예측하여 미리 그에 대응하는 주소 정보를 변환 참조 버퍼에 저장하는바, 가상 메모리 주소를 물리 메모리 주소로 변환하는 시간을 단축할 수 있다. 도 5 내지 도 7과 같은 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법은, 도 1의 구성을 가지는 화상형성장치 상에서 실행될 수 있으며, 그 밖의 다른 구성을 가지는 화상형성장치 상에서도 실행될 수 있다.
이상에서는 본 발명의 바람직한 실시예에 대해서 도시하고, 설명하였으나, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
100: 화상형성장치 110: 통신 인터페이스부
120: 메인 메모리 130: 사용자 인터페이스부
140: 기능부 150, 200: 제어부
210: 프로세스 코어 220: I/O 로직
230: 버스 인터페이스

Claims (22)

  1. 화상형성장치에 있어서,
    화상형성장치의 기능을 수행하는 기능부; 및
    화상형성장치의 기능이 수행되도록 상기 기능부를 제어하는 제어부;를 포함하고,
    상기 제어부는,
    가상 메모리 주소로 동작하는 프로세스 코어;
    물리 메모리 주소로 동작하며, 상기 화상형성장치의 기능에 이용되는 데이터를 저장하는 메인 메모리; 및
    가상 메모리 주소로 동작하며, 상기 화상형성장치가 수행하는 기능 중 적어도 하나의 기능을 제어하는 복수의 I/O 로직;을 포함하며,
    상기 복수의 I/O 로직 각각은 가상 메모리 주소를 가상 메모리 주소에 대응하는 물리 메모리 주소로 변환하여 상기 메인 메모리를 액세스하고,
    상기 복수의 I/O 로직은,
    변환 참조 버퍼를 이용하여 가상 메모리 주소를 물리 메모리 주소로 변환하는 주소 변환부; 및
    상기 화상형성장치의 이미지 데이터에 대한 액세스 패턴에 따라 다음에 변환 요청할 가상 메모리 주소를 예측하여 상기 변환 참조 버퍼를 갱신하는 주소 예측부;를 더 포함하고,
    상기 주소 예측부는,
    기결정된 액세스 패턴을 이용하여 다음 요청될 가상 메모리 주소를 예측하고, 상기 예측된 가상 메모리 주소가 상기 변환 참조 버퍼에 존재하는지를 탐색하며, 상기 예측된 가상 메모리 주소가 상기 변환 참조 버퍼 내에 없는 경우, 상기 메인 메모리 내의 변환 테이블을 탐색하여 상기 변환 참조 버퍼를 갱신하는 것을 특징으로 하는 화상형성장치.
  2. 제1항에 있어서,
    상기 복수의 I/O 로직은,
    상기 화상형성장치가 수행하는 기능 중 적어도 하나의 기능을 제어하는 기능 코어; 및
    상기 변환된 물리 메모리 주소를 이용하여 접근을 수행하는 DMA;를 포함하고,
    상기 주소 변환부는,
    상기 기능 코어가 요청한 가상 메모리 주소를 물리 메모리 주소로 변환하는 것을 특징으로 하는 화상형성장치.
  3. 제1항에 있어서,
    상기 주소 변환부는,
    상기 변환 참조 버퍼에 요청된 가상 메모리 주소가 있는 경우, 상기 변환 참조 버퍼 내의 상기 요청된 가상 메모리 주소에 대응되는 물리 메모리 주소를 반환하는 것을 특징으로 하는 화상형성장치.
  4. 제1항에 있어서,
    상기 주소 변환부는,
    상기 변환 참조 버퍼에 요청된 가상 메모리 주소가 없는 경우, 상기 메모리 내의 변환 테이블을 탐색하여 상기 변환 참조 버퍼를 갱신하고, 상기 갱신된 변환 참조 버퍼 내의 상기 요청된 가상 메모리 주소에 대응되는 물리 메모리 주소를 반환하는 것을 특징으로 하는 화상형성장치.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제1항에 있어서,
    상기 주소 예측부는,
    이전 예측이 정확하였는지 판단하여, 이전 예측이 정확하지 않은 경우 상기 기결정된 액세스 패턴을 변경하는 것을 특징으로 하는 화상형성장치.
  9. 제2항에 있어서,
    상기 변환 참조 버퍼는,
    저장 순서에 따라 가상 메모리 주소 및 가상 메모리 주소에 대응되는 물리 메모리 주소에 관한 주소 정보를 갱신하는 것을 특징으로 하는 화상형성장치.
  10. 제2항에 있어서,
    상기 변환 참조 버퍼는,
    캐시 메모리인 것을 특징으로 하는 화상형성장치.
  11. 제2항에 있어서,
    상기 기능 코어는,
    이미지 확대/축소 기능, 이미지 회전 기능, 이미지 변환 기능 스캔 기능 제어, 팩스 기능 제어, 인쇄 기능 제어 중 적어도 하나의 기능을 수행하는 것을 특징으로 하는 화상형성장치.
  12. 제1항에 있어서,
    상기 프로세스 코어는,
    가상 메모리 주소를 가상 메모리 주소에 대응하는 물리 메모리 주소로 변환하여 상기 메인 메모리를 액세스하는 것을 특징으로 하는 화상형성장치.
  13. 제1항에 있어서,
    상기 제어부는,
    상기 프로세스 코어, 상기 복수의 I/O 로직 및 제어부 내의 각 로직을 연결하는 버스 인터페이스를 포함하는 시스템 온 칩(SoC)인 것을 특징으로 하는 화상형성장치.
  14. 화상형성장치에서의 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법에 있어서,
    상기 화상형성장치가 수행하는 기능 중 적어도 하나의 기능을 제어하는 I/O 코어가 가상 메모리 주소를 이용하여 메인 메모리의 액세스를 요청하는 단계;
    변환 참조 버퍼를 이용하여 상기 I/O 코어가 요청한 가상 메모리 주소를 물리 메모리 주소로 변환하는 단계;
    상기 변환된 물리 메모리 주소를 이용하여 접근을 수행하는 단계; 및
    상기 화상형성장치의 이미지 데이터에 대한 액세스 패턴에 따라 다음에 요청할 가상 메모리 주소를 예측하는 단계;를 포함하고,
    상기 예측하는 단계는,
    기결정된 액세스 패턴을 이용하여 다음 요청될 가상 메모리 주소를 예측하고, 상기 예측된 가상 메모리 주소가 상기 변환 참조 버퍼에 존재하는지를 탐색하며, 상기 예측된 가상 메모리 주소가 상기 변환 참조 버퍼 내에 없는 경우, 상기 메인 메모리 내의 변환 테이블을 탐색하여 상기 변환 참조 버퍼를 갱신하는 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법.
  15. 제14항에 있어서,
    상기 변환하는 단계는,
    상기 변환 참조 버퍼에 요청된 가상 메모리 주소가 있는 경우, 상기 변환 참조 버퍼 내의 상기 요청된 가상 메모리 주소에 대응되는 물리 메모리 주소를 반환하는 것을 특징으로 하는 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법.
  16. 제14항에 있어서,
    상기 변환하는 단계는,
    상기 변환 참조 버퍼에 요청된 가상 메모리 주소가 없는 경우, 상기 메인 메모리 내의 변환 테이블을 탐색하여 상기 변환 참조 버퍼를 갱신하고, 상기 갱신된 변환 참조 버퍼를 이용하여 상기 요청된 가상 메모리 주소에 대응되는 물리 메모리 주소를 반환하는 것을 특징으로 하는 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 제14항에 있어서,
    상기 예측하는 단계는,
    이전 예측이 정확하였는지 판단하고, 이전 예측이 정확하지 않은 경우 상기 기결정된 액세스 패턴을 변경하는 것을 특징으로 하는 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법.
  21. 제14항에 있어서,
    상기 변환 참조 버퍼는,
    저장 순서에 따라 가상 메모리 주소 및 가상 메모리 주소에 대응되는 물리 메모리 주소에 관한 주소 정보를 갱신하는 것을 특징으로 하는 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법.
  22. 제14항에 있어서,
    상기 접근을 수행하는 단계는,
    DMA(Direct Memory Access)를 통해 상기 변환된 물리 메모리 주소로 접근하는 것을 특징으로 하는 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법.
KR1020100078820A 2010-08-16 2010-08-16 화상형성장치 및 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법 KR101766833B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020100078820A KR101766833B1 (ko) 2010-08-16 2010-08-16 화상형성장치 및 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법
EP11177401.4A EP2420934B1 (en) 2010-08-16 2011-08-12 Image forming apparatus and method of translating virtual memory address into physical memory address
US13/209,712 US8711418B2 (en) 2010-08-16 2011-08-15 Image forming apparatus and method of translating virtual memory address into physical memory address
US14/200,164 US20140189193A1 (en) 2010-08-16 2014-03-07 Image forming apparatus and method of translating virtual memory address into physical memory address

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100078820A KR101766833B1 (ko) 2010-08-16 2010-08-16 화상형성장치 및 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법

Publications (2)

Publication Number Publication Date
KR20120016452A KR20120016452A (ko) 2012-02-24
KR101766833B1 true KR101766833B1 (ko) 2017-08-09

Family

ID=44913175

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100078820A KR101766833B1 (ko) 2010-08-16 2010-08-16 화상형성장치 및 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법

Country Status (3)

Country Link
US (2) US8711418B2 (ko)
EP (1) EP2420934B1 (ko)
KR (1) KR101766833B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9639464B2 (en) * 2012-09-27 2017-05-02 Mellanox Technologies, Ltd. Application-assisted handling of page faults in I/O operations
KR102002900B1 (ko) * 2013-01-07 2019-07-23 삼성전자 주식회사 메모리 관리 유닛을 포함하는 시스템 온 칩 및 그 메모리 주소 변환 방법
KR102069857B1 (ko) 2013-02-28 2020-01-23 삼성전자주식회사 자체-학습을 통해 원래 이미지를 회전하는 방법과 상기 방법을 수행할 수 있는 장치들
US10031857B2 (en) 2014-05-27 2018-07-24 Mellanox Technologies, Ltd. Address translation services for direct accessing of local memory over a network fabric
US10120832B2 (en) 2014-05-27 2018-11-06 Mellanox Technologies, Ltd. Direct access to local memory in a PCI-E device
US9755821B2 (en) 2015-04-02 2017-09-05 Samsung Electronics Co., Ltd. Device including single wire interface and data processing system including the same
KR102328014B1 (ko) 2015-08-24 2021-11-18 삼성전자주식회사 싱글 와이어 인터페이스를 포함하는 장치와 이를 포함하는 데이터 처리 시스템
CN107203359B (zh) * 2017-05-25 2020-07-31 杭州旗捷科技有限公司 耗材芯片的通信方法、耗材芯片
KR102540964B1 (ko) 2018-02-12 2023-06-07 삼성전자주식회사 입출력 장치의 활용도 및 성능을 조절하는 메모리 컨트롤러, 애플리케이션 프로세서 및 메모리 컨트롤러의 동작
US11860782B2 (en) * 2019-08-13 2024-01-02 Neuroblade Ltd. Compensating for DRAM activation penalties
US11734187B2 (en) * 2021-12-14 2023-08-22 International Business Machines Corporation Validating memory access patterns of static program code

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090144508A1 (en) * 2007-12-03 2009-06-04 Freimuth Douglas M PCI Express Address Translation Services Invalidation Synchronization with TCE Invalidation
GB2466981A (en) * 2009-01-16 2010-07-21 Advanced Risc Mach Ltd Memory management unit with a dedicated cache memory for storing management data used to fetch requested data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW376491B (en) * 1991-06-22 1999-12-11 Fuji Xerox Co Ltd Image processing system with a buffer memory
US6856420B1 (en) * 2000-07-31 2005-02-15 Hewlett-Packard Development Company, L.P. System and method for transferring data within a printer
US7355739B2 (en) * 2001-09-14 2008-04-08 Ricoh Company, Ltd. Image forming device having a memory assignment unit
US6976148B2 (en) * 2003-01-09 2005-12-13 International Business Machines Corporation Acceleration of input/output (I/O) communication through improved address translation
US7793067B2 (en) * 2005-08-12 2010-09-07 Globalfoundries Inc. Translation data prefetch in an IOMMU
US8024547B2 (en) * 2007-05-01 2011-09-20 Vivante Corporation Virtual memory translation with pre-fetch prediction
KR20100078820A (ko) 2008-12-30 2010-07-08 (주)이에프케미칼 부분유화 시스템을 구비한 유중 수적형 에멀션 연료의 제조및 공급 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090144508A1 (en) * 2007-12-03 2009-06-04 Freimuth Douglas M PCI Express Address Translation Services Invalidation Synchronization with TCE Invalidation
GB2466981A (en) * 2009-01-16 2010-07-21 Advanced Risc Mach Ltd Memory management unit with a dedicated cache memory for storing management data used to fetch requested data

Also Published As

Publication number Publication date
KR20120016452A (ko) 2012-02-24
US8711418B2 (en) 2014-04-29
EP2420934A1 (en) 2012-02-22
US20140189193A1 (en) 2014-07-03
EP2420934B1 (en) 2013-10-02
US20120038952A1 (en) 2012-02-16

Similar Documents

Publication Publication Date Title
KR101766833B1 (ko) 화상형성장치 및 가상 메모리 주소를 물리 메모리 주소로 변환하는 방법
KR101612922B1 (ko) 메모리 시스템 및 메모리 시스템 관리 방법
US8627040B2 (en) Processor-bus-connected flash storage paging device using a virtual memory mapping table and page faults
US11797436B2 (en) Memory system and method for controlling nonvolatile memory
US7721023B2 (en) I/O address translation method for specifying a relaxed ordering for I/O accesses
JP2019079463A (ja) メモリシステムおよび制御方法
JP7340326B2 (ja) メンテナンス動作の実行
JPH1125033A (ja) バスブリッジ
US8473691B2 (en) Memory management device, image forming apparatus, and image forming method
US7911639B2 (en) Image forming device
US7249241B1 (en) Method and apparatus for direct virtual memory address caching
JP2021028762A (ja) 情報処理装置および制御方法
JP5322978B2 (ja) 情報処理装置及び方法
JP2011186554A (ja) メモリ管理装置及び方法
JP7490714B2 (ja) メモリシステムおよび制御方法
JP7167295B2 (ja) メモリシステムおよび制御方法
KR102650571B1 (ko) 역가상화 환경용 혼성 메모리 관리 장치 및 방법
JP2022179798A (ja) メモリシステムおよび制御方法
JP2023021450A (ja) メモリシステム
CN117311591A (zh) 访问存储设备的方法及相关产品
JP2018067748A (ja) 画像処理装置、画像処理装置の制御方法、およびプログラム
JPH11296432A (ja) 情報処理装置とメモリ管理方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
N231 Notification of change of applicant
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant