KR950012220A - 다중 페이지 크기를 지원하는 가상메모리 컴퓨터 시스템의 주소변환기구 - Google Patents

다중 페이지 크기를 지원하는 가상메모리 컴퓨터 시스템의 주소변환기구 Download PDF

Info

Publication number
KR950012220A
KR950012220A KR1019940026838A KR19940026838A KR950012220A KR 950012220 A KR950012220 A KR 950012220A KR 1019940026838 A KR1019940026838 A KR 1019940026838A KR 19940026838 A KR19940026838 A KR 19940026838A KR 950012220 A KR950012220 A KR 950012220A
Authority
KR
South Korea
Prior art keywords
translation
entry
transform
pointer
block
Prior art date
Application number
KR1019940026838A
Other languages
English (en)
Other versions
KR100343027B1 (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 리 패츠
Publication of KR950012220A publication Critical patent/KR950012220A/ko
Application granted granted Critical
Publication of KR100343027B1 publication Critical patent/KR100343027B1/ko

Links

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
    • 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/1009Address translation using page tables, e.g. page table structures
    • G06F12/1018Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
    • 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/652Page size control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

실제 메모리상에 매핑되는 가상메모리를 가진 컴퓨터 시스템에 대해 주소변환을 제공하는 방법 및 장치에 관한 것이다. 본 장치는 실제메모리의 인접부를 기술하는 하나 이상의 페이지 프레임 서술자(PED), 가상메모리의 인접부를 기술하는 하나 이상의 변환블록(TB) 및 해리시리스트를 가진다. 각 PED는 베이스 실제주소(PA), 베이스 PA에서 시작하는 PA범위 및 변환 엔트리포인터를 가진다. 각 TB는 베이스 가상주소(VA), 베이스 VA에서 시작하는 VA범위 및 TB의 VA범위를 매핑하기 위해 사용된 페이지 크기를 가진다. 각 TB는 또한 헤더 및 하나 이상의 변환에트리를 가진다. 각 헤더는 TB포인터를 가지고, 각 변환엔트리는 벡워드 포인터를 가진다. TB의 각 변환엔트리는 TB의 UA 범위의 다른 동일 크기변환 범위와 대응한다. 만약 변환엔트리의 변환범위가 실제 메모리 페이지 프레임에 의해 뒤로 돌려지면, 변환 엔트리의 백워드 포인터는 대응 페이지 프레임을 기술하는 기술 PFD를 포인팅하고 기술 PFD의 변환엔트리 포인터는 변한엔트리를 포인팅한다. 해시리스트는 다수의 해시엔트리를 가진다. 각 해시엔트리는 변환 헤더 포인터와 해시엔트리에 유일한 연환 해시인덱스를 가진다. 만약 하나 이상의 TB의 UA변환체인이 존재하며, VA변환체인의 각 TB는 VA변환체인의 TB의 UA범위의 각 VA가 동일해시 엔트리에 해시인덱스를 제공하기 위해 해시될 수 있도록 하는 UA범위를 가진다. 획득된 해시인덱스를 가지는 해시 엔트리의 변환헤더 포인터는 VA변환체인 제1TB를 포인팅할 것이다. 만약 하나 이상의 TB가 VA변환체인에 있으면, 제1TB의 TB포인터는 UA 변환체인에서 제2TB를 포인팅할 것이며 제1TB를 제외한 VA변환체인의 모든 TB는 UA변환체인의 다른 TB포인터에 의해 포인팅 될 것이다.

Description

다중 페이지 크기를 지원하는 가상메모리 컴퓨터 시스템의 주소변환기구
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 주소변환하기 위해 본 발명의 실시예를 이용하는 컴퓨터 시스템을 도시하고,
제2도는 가상주소를 실제 주소로 변환하기 위한 다중-레벨 접근법을 도시하고,
제3도는 실제주소와 가상주소와의 관계와 해시 인덱스가 가상주소로부터 어떻게 전달되는지를 도시한다.

Claims (14)

  1. 실제 주소상으로 매핑되는 가상메모리를 갖는 컴퓨터 시스템에 있어 주소변환을 제공하는 장치에 있어서, 그 각각이 베이스 실제주소, 베이스 실제주소에서 시작되는 실제주소 범위, 그리고 변환엔트리 포인터를 구비하는 실제 메모리의 인접부를 기술하는 적어도 하나의 페이지 프레임 서술자; 그 각각이 베이스 가상주소, 이 베이스 가상주소에서 시작하는 가상주소 범위, 그 가상주소 범위를 매핑하는데 이용되는 페이지 사이즈, 각각 변환블록 포인터를 가지는 헤더, 그리고 각각 백워드 포인터를 가지는 적어도 하나의 변환엔트리를 구비하며, 가상 메모리의 인접부를 기술하는 적어도 하나의 변환블록, - 여기서, 변환블록의 각 변환엔트리는 변환블록의 가상주소 범위의 다른 동일 크기 변환 범위와 대응하고, 만약 변환 엔트리의 변환 범위가 실제 메모리 페이지 프레임에 의해서 뒤로 돌려진다면 그후 변환엔트리의 백워드 포인터는 대응 페이지 프레임을 기술하는 기술페이지 프레임 서술자를 포인팅하며, 기술 페이지 프레임 서술자의 변환 엔트리 포인터는 변환엔트리를 포인팅한다; 및 그 각각이 유일한 관련 해시인덱스와 변환헤더 포인터를 가지는 다수의 해시엔트리를 갖는 해시리스트로 구성되며, 여기서, 가상주소 변환체인의 변환블록의 가상주소 범위의 각 가상주소가 동일 해시엔트리의 해시인덱스를 제공하기 위해 해싱될 수 있도록 가상주소 범위를 갖는 가상주소변환 체인의 각 변환블록의 적어도 하나의 가상주소 변환체인이 존재한다면, 그후 획득한 해시인덱스를 갖는 해시엔트리의 변환헤더 포인터는 가상주소 변환체인의 제1 변환블록을 포인팅할 것이며, 만약 하나 이상의 변환블록이 가상주소 변환체인에 있다면 제1 변환블록의 변환블록 포인터는 가상주소 변환체인에서 제2 변환블록을 포인팅할 것이며, 제1 변환블록을 제외한 가상주소 변환 체인의 모든 변환블록은 가상주소변환 체인의 다른 변환블록의 변환블록 포인터에 의해서 포인팅되는 것을 특징으로 하는 장치.
  2. 제1항에 있어서, 특정된 실제 페이지는 하나 이상의 가상 페이지에 의해서 매핑될 수 있으며, 변환블록의 변환엔트리는 포워드 포인터를 추가로 가지며, 만약 실제 페이지가 하나 이상의 가상 페이지에 의해서 매핑된다면 그후 적어도 2개의 변환엔트리를 갖는 실제 주소변환 체인이 존재하며, 이때 실제 주소변환체인의 각 변환엔트리는 페이지 프레임 서술자에 의해서 기술된 실제 페이지의 실제주소 범위의 적어도 일부와 대응하는 가상주소 범위를 가지며, 기술페이지 프레임 서술자의 변환엔트리 포인터는 실제주소 변환체인의 제1 변환 엔트리를 포인팅하여, 제1변환 엔트리의 포워드 포인트는 실제주소 변환체인에서 제2 변환 엔트리를 포인팅하며, 제1 변환 엔트리를 제외한 실제주소 변환체인의 모든 변환 엔트리는 실제주소 변환체인의 다른 변환엔트리의 변환엔트리 포인터에 의해서 포인팅되는 것을 특징으로 하는 장치.
  3. 제1항에 있어서, 각 변환엔트리는 하나 이상의 특정 속성을 추가로 포함하며, 이 특정 속성은 변환엔트리의 동일크기 변환범위와 관련되는 것을 특징으로 하는 장치.
  4. 제1항에 있어서, 각 변환블록 헤더는 하나 이상의 일반속성을 추가로 포함하며, 이 일반속성은 변환블록의 가상주소 범위와 관련되는 것을 특징으로 하는 장치.
  5. 실제 메모리상에서 매핑된 가상메모리를 갖는 컴퓨터 시스템에 대해 주소변환을 제공하는 방법에 있어서, (a) 베이스 실제주소, 이 베이스 실제주소에서 시작되는 실제주소 범위 및 변환 엔트리 포인터를 가지며 실제 메모리의 인접부를 기술하는 하나 이상의 페이지 프레임 서술자를 제공하는 단계; (b) 가상 메모리의 인접부를 기술하는 하나 이상의 변환블록을 제공하는 단계, 여기서 각 변환블록이 베이스 가상주소, 이 베이스 가상주소에서 시작되는 가상주소 범위, 변환블록의 가상주소범위를 매핑하는데 이용된 페이지 크기. 헤더 및 하나 이상의 변환 엔트리를 가지며, 각 헤더는 변환블록 포인터를 가지며 각 변환엔트리는 백워드포인터를 가지며 변환블록의 각 변환 엔트리는 변환블록의 가상주소 범위의 다른 동일크기 변환범위와 대응하고, 만약 변환엔트리의 변환범위가 실제 메모리 페이지 프레임에 의해 뒤로 돌려지면 그후 변환엔트리의 백워드 포인터는 대응 페이지 프레임을 기술하는 기술 페이지 프레임 서술자를 포인팅하며, 기술 페이지 프레임 서술자의 변환엔트리 포인터는 변환엔트리를 포인팅 한다; (c) 다수의 해시엔트리를 갖는 해시리스트를 제공하는 단계, - 여기서 각 해시엔트리는 변환해더 포인터 및 그 해시엔트리에 유일한 연관된 해시인덱스를 가지며, 만약 하나 이상의 변환블록의 가상주소 변환체인이 존재하면 -여기에서 가상주소 변환체인의 각 변환블록은 가상주소 변환체인의 변환블록의 가상주소 범위의 각 가상주소가 동일 해시엔트리의 해시인덱스를 제공하기 위해 해시될 수 있도록 하는 가상주소 범위를 가짐 -그후 획득한 해시인덱스를 갖는 해시엔트리의 변환헤더 포인트는 가상주소 변환체인의 제1 변환블록을 포인팅할 것이며, 만약 하나 이상의 변환블록이 가상주소 변환 체인에 있으면, 제1 변환블록의 변환블록 포인터는 가상주소 변환체인내의 제2의 변환블록을 포인팅할 것이며, 제1변환블록을 제외한 가상주소 변환체인의 모든 변환블록은 가상주소 변환체인의 다른 변환블록의 변환블록 포인터에 의해 포인팅된다; (d) 변환될 가상주소를 수신하는 단계; (e) 변환될 가상주소로 부터 제1의 변환해시 인덱스를 추출하는 단계; (f) 만약 제1 변환 해시 인덱스와 대응하는 해시 엔트리가 비어있지 않다면, 그후 변환 블록이 제1 변환 해시 인덱스에 대응하는 해시 엔트리의 변환헤더 포인터에 의해 포인팅되게 하며, 변환블록이 검토되며, 변환될 가상주소가 검토된 변환블록의 가상주소 범위내에 포함되는지를 결정하도록 검토된 변환블록의 가상주소범위를 검토하는 단계; (g) 만약 변환될 가상주소가 검토된 변환블록의 가상주소 범위내에 포함된다면, 변환엔트리가 유효인지를 결정하도록 변환될 가상주소를 포함하는 변환범위를 갖는 검토된 변환블록의 변환엔트리를 검토하며, 만약 변환엔트리가 유효이면, 변환엔트리에 의해 뒤로 돌려진 페이지 프레임을 기술하는 페이지 프레임 서술자를 위치시키기 위해 변환엔트리의 백워드 포인터를 사용하는 단계; 및 (h) 만약 변환될 가상주소가 검토된 변환블록의 가상주소 범위내에 포함되지 않는다면, 검토된 변환블록의 변환블록 포인터를 검토하고, 만약 변환블록 포인터가 비어있지 않다면, 검토된 변환블록의 변환블록 포인터에 의해 변환블록이 포인팅되게 하고, 변환블록이 검토되고, (g) 및 (h) 단계를 반복하는 단계로 구성되는 것을 특징으로 하는 방법.
  6. 제5항에 있어서, (i) 변환될 실제주소를 수신하는 단계; (j) 변환될 실제주소를 포함하는 실제주소 범위를 갖는 페이지프레임 서술자가 존재하는지를 결정하는 단계; (k) 만약 변환될 실제주소를 포함하는 실제주소 범위를 갖는 페이지 프레임 서술자가 존재한다면, 변환엔트리 포인터가 변환엔트리를 포인팅하는지를 알기 위해 페이지 프레임 서술자의 변환엔트리 포이터를 검토하는 단계; (l) 만약 변환엔트리 포인터가 변환엔트리를 포인팅하면, 변환 엔트리가 변환엔트리 포인터에 의해 포인팅되게 하며, 변환엔트리가 검토되는 단계; (m) 변환된 실제주소에 대응하는 가상주소를 식별하기 위해 검토된 변환엔트리를 포함하는 변환블록의 헤더 및 검토된 변환엔트리를 이용하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서, 특정 실제 페이지는 하나 이상의 가상페이지에 의해 매핑될 수 있으며, 변환블록의 변환엔트리는 포워드 포인터를 더 가지며, 만약 실제 페이지가 하나 이상의 가상페이지에 의해 매핑되면, 둘 이상의 변환엔트리를 갖는 실제 주소 변환 체인이 존재하며, 여기서 실제주소 변환체인의 각 변환 엔트리는 페이지 프레임 서술자에 의해 기술된 실제 페이지의 실제주소 범위의 적어도 일부에 대응하는 가상주소 범위를 가지며, 기술페이지 프레임 서술자의 변환엔트리 포인터는 실제주소 변환체인의 제1변환 엔트리를 포인팅하며, 제1변환 엔트리의 포워드 포인터는 실제 주소변환체인에서 제2의 변환엔트리를 포인팅하며, 그리고 제1 변환 엔트리를 제외한 실제주소 변환체인의 모든 엔트리는 실제주소 변환체인의 다른 변환엔트리의 변환엔트리 포인터에 의해 포인팅하며, (n) 단계(1)에서 식별된 변환 엔트리를 포함하는 실제주소 체인에서 모든 변환엔트리를 연속적으로 만들고 변환엔트리가 검사되며 단계 (m)을 반복하는 단계로 추가로 구성되는 것을 특징으로 하는 방법.
  8. 제5항에 있어서, 각 변환엔트리는 하나 이상의 특정 속성을 추가로 포함하고, 이 특정속성은 변환엔트리의 동일크기 변환범위에 관련되는 것을 특징으로 하는 방법.
  9. 제5항에 있어서, 각 변환블록 헤더는 하나 이상의 일반속성을 추가로 포함하고, 이 일반속성은 변환블록의 가상주소 범위에 관련되는 것을 특징으로 하는 방법.
  10. 실제 메모리상에서 매핑된 가상메모리를 갖는 컴퓨터 시스템에 있어 주소변환을 제공하는 방법에 있어서, (a) 베이스 실제주소, 베이스 실제주소에서 시작되는 실제주소 범위 및 변환엔트리 포인터를 가지며 실제 메모리의 인접부를 기술하는 하나 이상의 페이지 프레임 서술자를 제공하는 단계; (b) 가상 메모리의 인접부를 기술하는 하나 이상의 변환블록을 제공하는 단계, -여기서 각 변환블록이 베이스 가상주소, 베이스 가상주소에서 시작되는 가상주소 범위, 변환블록의 가상주소 범위를 매핑하는데 사용된 페이지 크기, 헤더 및 하나 이상의 변환 엔트리를 가지며, 각 헤더는 변환블록 포인터를 가지며 각 변환엔트리는 백워드 포인터를 가지며, 변환블록의 각 변환엔트리는 변환블록의 가상주소 범위의 다른 동일크기 변환범위와 대응하고, 만약 변환엔트리의 변환범위가 실제 메모리 페이지 프레임에 의해 뒤로 돌려지면 변환엔트리의 백워드 포인터는 대응 페이지 프레임을 기술하는 기술페이지 프레임 서술자를 포인팅하며, 기술 페이지 프레임 서술자의 변환엔트리 포인터는 변환엔트리를 포인팅한다; (c) 다수의 해시엔트리를 갖는 해시리스트를 제공하는 단계, -여기서 각 해시엔트리는 변환해더 포인터 및 해시엔트리에 유일한 연관된 해시인덱스를 가지며, 만약 하나 이상의 변환블록의 가상주소 변환체인이 존재하면 -여기에서 가상주소 변환체인의 각 변환블록은 가상주소 변환체인의 변환블록의 가상주소 범위의 각 가상주소가 동일 해시 엔트리의 해시인덱스를 제공하기 위해 해시될 수 있도록 하는 가상주소범위를 가짐 - 획득된 해시인덱스를 갖는 해시엔트리의 변환헤더 포인터는 가상주소 변환체인의 제1 변환블록을 포인팅하며, 만약 하나 이상의 변환블록이 가상주소 변환체인에 있으면, 제1 변환블록의 변환블록 포인터는 가상주소 변환체인내의 제2의 변환블록을 포인팅하며 제1 변환블록을 제외한 가상주소 변환체인의 모든 변환블록은 가상주소 변환체인의 다른 변환블록의 변환블록 포인터에 의해 포인팅된다; (d) 변환될 가상주소가 수신된 경우 단계 (e) 내지 (h) 를 수행하는 단계; (e) 변환될 가상주소로부터 제1의 변환해시인덱스를 추출하는 단계; (f) 만약 제1 변환 해시 인덱스와 대응하는 해시 엔트리가 비어있지 않다면, 변환블록이 제1 변환 해시 인덱스에 대응하는 해시 엔트리의 변환헤더 포인터에 의해 포인팅되게 하며, 변환블록이 검토되며, 변환될 가상주소가 검토된 변환블록의 가상주소 범위내에 포함되는지를 결정하도록 검토된 변환블록의 가상주소범위를 검토하는 단계; (g) 만약 변환될 가상주소가 검토된 변환블록의 가상주소 범위내에 포함된다면, 변환엔트리가 유효인지를 결정하도록 변환될 가상주소를 포함하는 변환범위를 갖는 검토된 변환블록의 변환엔트리를 검토하며, 만약 변환엔트리가 유효이면, 변환엔트리에 의해 뒤로 돌려진 페이지 프레임을 기술하는 페이지 프레임 서술자를 위치시키기 위해 변환엔트리의 백워드 포인터를 사용하는 단계; (h) 만약 변환될 가상주소가 검토된 변환블록의 가상주소 범위내에 포함되지 않는 다면, 검토된 변환블록의 변환블록 포인터를 검토하고 만약 변환블록 포인터가 비어있지 않다면, 검토된 변환블록의 변환블록 포인터에 의해 변환블록이 포인팅되게 하고, 변환블록이 검토되고, (g) 및 (h) 단계를 반복하는 단계; (i) 변환될 실제주소가 수신된 경우 단계 (i) 내지 (m)을 수행하는 단계; (j) 변환될 실제주소를 포함하는 실제주소 범위를 갖는 페이지프레임 서술자가 존재하는지를 결정하는 단계; (k) 만약 변환될 실제주소를 포함하는 실제주소 범위를 갖는 페이지 프레임 서술자가 존재한다면, 변환엔트리 포인터가 변환엔트리를 포인팅하는지를 알기 위해 페이지 프레임 서술자의 변환엔트리 포인터를 검토하는 단계; (l) 만약 변환엔트리를 포인팅하면, 변환엔트리가 변환엔트리 포인터가 변환엔트리 포인터에 의해 포인팅되게 하며, 변환엔트리가 검토되는 단계; (m) 변환된 실제주소에 대응하는 가상주소를 식별하기 위해 검토된 변환엔트리를 포함하는 변환블록의 헤더 및 검토된 변환엔트리를 사용하는 단계로 구성되는 것을 특징으로 하는 방법.
  11. 제6항에 있어서, 특정 실제 페이지는 하나 이상의 가상페이지에 의해 매핑될 수 있으며, 변환블록의 변환엔트리는 포워드 포인터를 더 가지며, 만약 실제 페이지가 하나 이상의 가상페이지에 의해 매핑되면, 둘 이상의 변환 엔트리를 갖는 실제 주소변환 체인이 존재할 것이며, 여기서 실제주소 변환체인의 각 변환엔트리는 페이지 프레임 서술자에 의해 기술된 실제 페이지의 실제주소 범위에 대응하는 가상주소 범위를 가질 것이며, 기술페이지 프레임 서술자의 변환엔트리 포인터는 실제주소 변환체인의 제1 변환 엔트리를 포인팅할 것이며, 제1 변환 엔트리의 포워드 포인터는 실제 주소 변환체인에서 제2의 변환엔트리를 포인팅 할 것이며, 그리고 제1 변환엔트리를 제외한 실제주소 변환체인의 모든 엔트리는 실제주소 변환체인의 다른 변환엔트리의 변환엔트리 포인터에 의해 포인팅될 것이며, (n) 단계 (l)에서 식별된 변환엔트리를 포함하는 실제주소 체인에서 모든 변환엔트리를 연속적으로 만들고 변환엔트리가 검사되며 단계(m)을 반복하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  12. 제10항에 있어서, 각 변환엔트리는 하나 이상의 특정 속성을 추가로 포함하고, 이 특정속성은 변환엔트리의 동일크기 변환범위에 관련되는 것을 특징으로 하는 방법.
  13. 제10항에 있어서, 각 변환블록 헤더는 하나 이상의 일반속성을 추가로 포함하고 이 일반속성은 변환블록의 가상주소 범위에 관련되는 것을 특징으로 하는 방법.
  14. 제10항에 있어서, 변환될 가상주소가 단계(d)에서 수신되고 단계(e) 내지 (h)가 수행되면 제1 해시인덱스와 다른 하나 이상의 부가해시 인덱스가 변환될 가상주소로부터 형성되고, 제1해시 인덱스 대신에 하나 이상의 부가해시 인덱스를 사용하여 단계(e) 내지 (h)가 반복되는 것을 특징으로 하는 방법.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019940026838A 1993-10-20 1994-10-20 다중페이지크기를지원하는가상메모리컴퓨터시스템의주소변환기구 KR100343027B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/139.549 1993-10-20
US08/139,549 US5446854A (en) 1993-10-20 1993-10-20 Virtual memory computer apparatus and address translation mechanism employing hashing scheme and page frame descriptor that support multiple page sizes
US08/139,549 1993-10-20

Publications (2)

Publication Number Publication Date
KR950012220A true KR950012220A (ko) 1995-05-16
KR100343027B1 KR100343027B1 (ko) 2002-11-23

Family

ID=22487216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940026838A KR100343027B1 (ko) 1993-10-20 1994-10-20 다중페이지크기를지원하는가상메모리컴퓨터시스템의주소변환기구

Country Status (5)

Country Link
US (1) US5446854A (ko)
EP (1) EP0650124B1 (ko)
JP (1) JP3577575B2 (ko)
KR (1) KR100343027B1 (ko)
DE (1) DE69427625T2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100705171B1 (ko) * 1999-03-05 2007-04-06 썬 마이크로시스템즈, 인코포레이티드 어드레스 변환 장치 및 방법

Families Citing this family (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336180B1 (en) 1997-04-30 2002-01-01 Canon Kabushiki Kaisha Method, apparatus and system for managing virtual memory with virtual-physical mapping
US5555387A (en) * 1995-06-06 1996-09-10 International Business Machines Corporation Method and apparatus for implementing virtual memory having multiple selected page sizes
SG45399A1 (en) * 1994-01-12 1998-01-16 Sun Microsystems Inc Logically addressable physical memory for a virtual memory computer system that support multiple page sizes
JP3604176B2 (ja) * 1994-09-14 2004-12-22 株式会社東芝 仮想空間管理方法及び分散処理システム
US5887190A (en) * 1995-05-15 1999-03-23 Nvidia Corporation System for determining from a command storing in a storage circuit an application program which has initiated the command to determine an input/output device address
US7577782B2 (en) * 1996-02-02 2009-08-18 Sony Corporation Application programming interface for data transfer and bus management over a bus structure
US6519268B1 (en) 1996-03-07 2003-02-11 Sony Corporation Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
US5873123A (en) * 1996-06-25 1999-02-16 International Business Machines Corporation Processor and method for translating a nonphysical address into a physical address utilizing a selectively nonsequential search of page table entries
US5855013A (en) * 1996-07-01 1998-12-29 Sun Microsystems, Inc. Method and apparatus for creating and maintaining a computer database utilizing a multi-purpose data format
US5930827A (en) * 1996-12-02 1999-07-27 Intel Corporation Method and apparatus for dynamic memory management by association of free memory blocks using a binary tree organized in an address and size dependent manner
AUPO648397A0 (en) 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Improvements in multiprocessor architecture operation
US6088780A (en) * 1997-03-31 2000-07-11 Institute For The Development Of Emerging Architecture, L.L.C. Page table walker that uses at least one of a default page size and a page size selected for a virtual address space to position a sliding field in a virtual address
US6012132A (en) * 1997-03-31 2000-01-04 Intel Corporation Method and apparatus for implementing a page table walker that uses a sliding field in the virtual addresses to identify entries in a page table
US6182201B1 (en) * 1997-04-14 2001-01-30 International Business Machines Corporation Demand-based issuance of cache operations to a system bus
US6272257B1 (en) 1997-04-30 2001-08-07 Canon Kabushiki Kaisha Decoder of variable length codes
AUPO647997A0 (en) 1997-04-30 1997-05-22 Canon Information Systems Research Australia Pty Ltd Memory controller architecture
US6289138B1 (en) 1997-04-30 2001-09-11 Canon Kabushiki Kaisha General image processor
US6414687B1 (en) 1997-04-30 2002-07-02 Canon Kabushiki Kaisha Register setting-micro programming system
US6061749A (en) 1997-04-30 2000-05-09 Canon Kabushiki Kaisha Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword
US6707463B1 (en) 1997-04-30 2004-03-16 Canon Kabushiki Kaisha Data normalization technique
US6249853B1 (en) 1997-06-25 2001-06-19 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6282625B1 (en) 1997-06-25 2001-08-28 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6069638A (en) * 1997-06-25 2000-05-30 Micron Electronics, Inc. System for accelerated graphics port address remapping interface to main memory
US6112285A (en) * 1997-09-23 2000-08-29 Silicon Graphics, Inc. Method, system and computer program product for virtual memory support for managing translation look aside buffers with multiple page size support
US6182089B1 (en) 1997-09-23 2001-01-30 Silicon Graphics, Inc. Method, system and computer program product for dynamically allocating large memory pages of different sizes
US7071946B2 (en) * 1997-12-30 2006-07-04 Micron Technology, Inc. Accelerated graphics port for a multiple memory controller computer system
US6157398A (en) 1997-12-30 2000-12-05 Micron Technology, Inc. Method of implementing an accelerated graphics port for a multiple memory controller computer system
US6252612B1 (en) 1997-12-30 2001-06-26 Micron Electronics, Inc. Accelerated graphics port for multiple memory controller computer system
US6108733A (en) * 1998-01-20 2000-08-22 Micron Technology, Inc. Method for extending the available number of configuration registers
US6243775B1 (en) 1998-01-20 2001-06-05 Micron Technology, Inc. System for extending the available number of configuration registers
US6272576B1 (en) 1998-01-20 2001-08-07 Micron Technology, Inc. Method for extending the available number of configuration registers
US6185655B1 (en) * 1998-01-22 2001-02-06 Bull, S.A. Computer system with distributed data storing
US6594701B1 (en) 1998-08-04 2003-07-15 Microsoft Corporation Credit-based methods and systems for controlling data flow between a sender and a receiver with reduced copying of data
US6321276B1 (en) * 1998-08-04 2001-11-20 Microsoft Corporation Recoverable methods and systems for processing input/output requests including virtual memory addresses
US6535867B1 (en) * 1999-09-29 2003-03-18 Christopher J. F. Waters System and method for accessing external memory using hash functions in a resource limited device
US6625715B1 (en) * 1999-12-30 2003-09-23 Intel Corporation System and method for translation buffer accommodating multiple page sizes
US6480950B1 (en) * 2000-01-24 2002-11-12 Oracle International Corporation Software paging system
US6549997B2 (en) * 2001-03-16 2003-04-15 Fujitsu Limited Dynamic variable page size translation of addresses
US6938144B2 (en) * 2001-03-22 2005-08-30 Matsushita Electric Industrial Co., Ltd. Address conversion unit for memory device
US7007152B2 (en) * 2001-12-28 2006-02-28 Storage Technology Corporation Volume translation apparatus and method
US20040024729A1 (en) * 2002-07-30 2004-02-05 Worley John S. Method and system for storing sparse data in memory and accessing stored sparse data
US7617249B2 (en) * 2003-09-06 2009-11-10 Oracle International Corporation Method and system of handling document operation requests on documents having large collections with constrained memory
US7076632B2 (en) * 2003-10-16 2006-07-11 International Business Machines Corporation Fast paging of a large memory block
US7296139B1 (en) 2004-01-30 2007-11-13 Nvidia Corporation In-memory table structure for virtual address translation system with translation units of variable range size
US7334108B1 (en) 2004-01-30 2008-02-19 Nvidia Corporation Multi-client virtual address translation system with translation units of variable-range size
US7278008B1 (en) 2004-01-30 2007-10-02 Nvidia Corporation Virtual address translation system with caching of variable-range translation clusters
US7418582B1 (en) 2004-05-13 2008-08-26 Sun Microsystems, Inc. Versatile register file design for a multi-threaded processor utilizing different modes and register windows
US7739577B2 (en) * 2004-06-03 2010-06-15 Inphase Technologies Data protection system
US7937525B2 (en) * 2004-06-25 2011-05-03 Intel Corporation Method and apparatus for decoding a virtual machine control structure identification
US7509484B1 (en) 2004-06-30 2009-03-24 Sun Microsystems, Inc. Handling cache misses by selectively flushing the pipeline
US7290116B1 (en) * 2004-06-30 2007-10-30 Sun Microsystems, Inc. Level 2 cache index hashing to avoid hot spots
US7571284B1 (en) 2004-06-30 2009-08-04 Sun Microsystems, Inc. Out-of-order memory transactions in a fine-grain multithreaded/multi-core processor
US7543132B1 (en) 2004-06-30 2009-06-02 Sun Microsystems, Inc. Optimizing hardware TLB reload performance in a highly-threaded processor with multiple page sizes
US7519796B1 (en) 2004-06-30 2009-04-14 Sun Microsystems, Inc. Efficient utilization of a store buffer using counters
US7366829B1 (en) 2004-06-30 2008-04-29 Sun Microsystems, Inc. TLB tag parity checking without CAM read
KR100706242B1 (ko) * 2005-02-07 2007-04-11 삼성전자주식회사 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법
US7616218B1 (en) * 2005-12-05 2009-11-10 Nvidia Corporation Apparatus, system, and method for clipping graphics primitives
US7610464B2 (en) * 2006-02-22 2009-10-27 Sony Computer Entertainment Inc. Methods and apparatus for providing independent logical address space and access management
WO2007132453A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
US20080028181A1 (en) * 2006-07-31 2008-01-31 Nvidia Corporation Dedicated mechanism for page mapping in a gpu
US8352709B1 (en) 2006-09-19 2013-01-08 Nvidia Corporation Direct memory access techniques that include caching segmentation data
US8347064B1 (en) 2006-09-19 2013-01-01 Nvidia Corporation Memory access techniques in an aperture mapped memory space
US8543792B1 (en) 2006-09-19 2013-09-24 Nvidia Corporation Memory access techniques including coalesing page table entries
US8601223B1 (en) 2006-09-19 2013-12-03 Nvidia Corporation Techniques for servicing fetch requests utilizing coalesing page table entries
US7546439B1 (en) * 2006-09-22 2009-06-09 Sun Microsystems, Inc. System and method for managing copy-on-write faults and change-protection
US7549035B1 (en) * 2006-09-22 2009-06-16 Sun Microsystems, Inc. System and method for reference and modification tracking
US7472253B1 (en) * 2006-09-22 2008-12-30 Sun Microsystems, Inc. System and method for managing table lookaside buffer performance
US8700883B1 (en) 2006-10-24 2014-04-15 Nvidia Corporation Memory access techniques providing for override of a page table
US8707011B1 (en) * 2006-10-24 2014-04-22 Nvidia Corporation Memory access techniques utilizing a set-associative translation lookaside buffer
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US8533425B1 (en) 2006-11-01 2013-09-10 Nvidia Corporation Age based miss replay system and method
US8706975B1 (en) 2006-11-01 2014-04-22 Nvidia Corporation Memory access management block bind system and method
US8504794B1 (en) 2006-11-01 2013-08-06 Nvidia Corporation Override system and method for memory access management
US8607008B1 (en) 2006-11-01 2013-12-10 Nvidia Corporation System and method for independent invalidation on a per engine basis
US8347065B1 (en) 2006-11-01 2013-01-01 Glasco David B System and method for concurrently managing memory access requests
US8700865B1 (en) 2006-11-02 2014-04-15 Nvidia Corporation Compressed data access system and method
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US8369141B2 (en) 2007-03-12 2013-02-05 Apple Inc. Adaptive estimation of memory cell read thresholds
US7957951B2 (en) * 2007-03-16 2011-06-07 Robert Bosch Gmbh Address translation system for use in a simulation environment
US8429493B2 (en) * 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US20090006804A1 (en) * 2007-06-29 2009-01-01 Seagate Technology Llc Bi-level map structure for sparse allocation of virtual storage
US8259497B2 (en) * 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
KR101509836B1 (ko) 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8225181B2 (en) * 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) * 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US7930515B2 (en) * 2008-07-29 2011-04-19 International Business Machines Corporation Virtual memory management
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) * 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8862859B2 (en) * 2010-05-07 2014-10-14 International Business Machines Corporation Efficient support of multiple page size segments
US8745307B2 (en) 2010-05-13 2014-06-03 International Business Machines Corporation Multiple page size segment encoding
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8493781B1 (en) 2010-08-12 2013-07-23 Apple Inc. Interference mitigation using individual word line erasure operations
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
KR20130014943A (ko) * 2011-08-01 2013-02-12 삼성전자주식회사 임의의 메모리 집합을 지원하는 메모리 구성 장치 및 방법
US10146545B2 (en) 2012-03-13 2018-12-04 Nvidia Corporation Translation address cache for a microprocessor
US9880846B2 (en) 2012-04-11 2018-01-30 Nvidia Corporation Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries
US10241810B2 (en) 2012-05-18 2019-03-26 Nvidia Corporation Instruction-optimizing processor with branch-count table in hardware
US9058268B1 (en) 2012-09-20 2015-06-16 Matrox Graphics Inc. Apparatus, system and method for memory management
US20140189310A1 (en) 2012-12-27 2014-07-03 Nvidia Corporation Fault detection in instruction translations
US10108424B2 (en) 2013-03-14 2018-10-23 Nvidia Corporation Profiling code portions to generate translations
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60204048A (ja) * 1984-03-28 1985-10-15 Hitachi Ltd 仮想記憶方式
US4648033A (en) * 1984-09-07 1987-03-03 International Business Machines Corporation Look-aside buffer LRU marker controller
JPS6184754A (ja) * 1984-10-03 1986-04-30 Hitachi Ltd 拡張アドレス変換装置
US5247632A (en) * 1989-01-23 1993-09-21 Eastman Kodak Company Virtual memory management arrangement for addressing multi-dimensional arrays in a digital data processing system
JP2858795B2 (ja) * 1989-07-14 1999-02-17 株式会社日立製作所 実記憶割り当て方法
US5077826A (en) * 1989-08-09 1991-12-31 International Business Machines Corporation Cache performance in an information handling system employing page searching
US5319761A (en) * 1991-08-12 1994-06-07 International Business Machines Corporation Directory look-aside table for a virtual storage system including means for minimizing synonym entries

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100705171B1 (ko) * 1999-03-05 2007-04-06 썬 마이크로시스템즈, 인코포레이티드 어드레스 변환 장치 및 방법

Also Published As

Publication number Publication date
JPH07182240A (ja) 1995-07-21
EP0650124B1 (en) 2001-07-04
DE69427625T2 (de) 2002-05-08
US5446854A (en) 1995-08-29
DE69427625D1 (de) 2001-08-09
JP3577575B2 (ja) 2004-10-13
EP0650124A1 (en) 1995-04-26
KR100343027B1 (ko) 2002-11-23

Similar Documents

Publication Publication Date Title
KR950012220A (ko) 다중 페이지 크기를 지원하는 가상메모리 컴퓨터 시스템의 주소변환기구
US5897637A (en) System and method for rapidly identifying the existence and location of an item in a file
US5991862A (en) Modified indirect addressing for file system
US6055526A (en) Data indexing technique
Christodoulakis et al. Design considerations for a message file server
US6434662B1 (en) System and method for searching an associative memory utilizing first and second hash functions
US7739288B2 (en) Systems and methods of directory entry encodings
US7730058B2 (en) Searching for information utilizing a probabilistic detector
US20020073068A1 (en) System and method for rapidly identifying the existence and location of an item in a file
US20020178341A1 (en) System and method for indexing and retriving cached objects
EP3086246A3 (en) System and method for locating pages on the world wide web and for locating documents from a network of computers
US5293552A (en) Method for storing bibliometric information on items from a finite source of text, and in particular document postings for use in a full-text document retrieval system
KR20130062889A (ko) 데이터 압축 방법 및 시스템
JPH09506195A (ja) 拡張属性ファイルシステム
KR940024591A (ko) 컴퓨터 장치
US20020055915A1 (en) System and method for high speed string matching
WO2003091909A1 (en) System and method for determining a character encoding scheme
US7437367B2 (en) Pack URI scheme to identify and reference parts of a package
CN111198880A (zh) 一种基于redis的数据存储方法、装置及电子设备
US20230138113A1 (en) System for retrieval of large datasets in cloud environments
CN115080684A (zh) 网盘文档索引方法、装置、网盘及存储介质
JPH06500656A (ja) 拡張テーブルを使用するページングシステム
EP0508519B1 (en) A method for storing bibliometric information on items from a finite source of text, and in particular document postings for use in a full-text document retrieval system
KR100256678B1 (ko) 분할 시그너춰 파일을 위한 디렉토리 관리 방법
CN114168652A (zh) 一种智能合约交互方法、装置、设备以及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee