KR20140073955A - 메모리 시스템 및 그 구동 방법 - Google Patents

메모리 시스템 및 그 구동 방법 Download PDF

Info

Publication number
KR20140073955A
KR20140073955A KR1020120142017A KR20120142017A KR20140073955A KR 20140073955 A KR20140073955 A KR 20140073955A KR 1020120142017 A KR1020120142017 A KR 1020120142017A KR 20120142017 A KR20120142017 A KR 20120142017A KR 20140073955 A KR20140073955 A KR 20140073955A
Authority
KR
South Korea
Prior art keywords
area
memory
storage
central processing
processing unit
Prior art date
Application number
KR1020120142017A
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 KR1020120142017A priority Critical patent/KR20140073955A/ko
Priority to US14/089,961 priority patent/US20140164688A1/en
Publication of KR20140073955A publication Critical patent/KR20140073955A/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
    • 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
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/17Embedded application
    • G06F2212/171Portable consumer electronics, e.g. mobile phone
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk

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

메모리 시스템 및 그 구동 방법이 제공된다. 메모리 시스템은, 중앙처리장치, 중앙처리장치로부터 가상 주소를 제공받고, 이를 물리 주소로 변환하는 메모리 관리 유닛, 휘발성 메모리로 구현되고, 메모리 관리 유닛에 의해 변환된 물리 주소로 직접 억세스되는 메인 메모리, 및 메인 메모리와 별도로 비휘발성 메모리를 이용하여 구현되고, 메모리 관리 유닛에 의해 변환된 물리 주소로 직접 억세스되는 제1 영역을 포함하는 스토리지를 포함한다.

Description

메모리 시스템 및 그 구동 방법{Memory system and method for operating the same}
본 발명은 메모리 시스템 및 그 구동 방법에 관한 것이다.
컴퓨터 핵심 구성 요소 중의 하나인 메인 메모리로 사용되고 있는 디램(DRAM)과 관련하여, 용량의 지속적인 증가에 따른 전력 소모(특별히 대기 전력) 증가, 휘발성인 DRAM에 저장된 정보의 손실을 방지하기 위한 스토리지로의 백업의 중요성 증가, 장기적으로 DRAM의 비트 성장 지속 가능성에 대한 의문 등 메모리 및 메모리 시스템 관련 다양한 논의가 진행되고 있다.
본 발명이 해결하고자 하는 기술적 과제는 별도의 메모리 로딩 시간이 필요없어 고속 동작이 가능한 메모리 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 별도의 메모리 로딩 시간이 필요없어 고속 동작이 가능한 메모리 시스템의 구동 방법을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 메모리 시스템은, 중앙처리장치, 중앙처리장치로부터 가상 주소를 제공받고, 이를 물리 주소로 변환하는 메모리 관리 유닛, 휘발성 메모리로 구현되고, 메모리 관리 유닛에 의해 변환된 물리 주소로 직접 억세스되는 메인 메모리, 및 메인 메모리와 별도로 비휘발성 메모리를 이용하여 구현되고, 메모리 관리 유닛에 의해 변환된 물리 주소로 직접 억세스되는 제1 영역을 포함하는 스토리지를 포함한다.
본 발명의 몇몇 실시예에서, 상기 비휘발성 메모리는 MRAM(Magnetic Random Access Memory)를 포함하고, 상기 휘발성 메모리는 DRAM(Dynamic Random Access Memory)를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 스토리지의 상기 제1 영역에는 실행 파일 중에서 미리 정한 특성을 갖는 특정 영역이 바이너리 파일 형태로 저장될 수 있다. 여기서, 상기 미리 정한 특성은 프로세스 동작에 필요한 리드-온리(read-only) 특성을 포함할 수 있고, 상기 특정 영역은 코드(code) 영역을 포함할 수 있다.
한편, 상기 스토리지는 제2 영역을 더 포함하고, 상기 스토리지의 제2 영역에는 상기 실행 파일의 데이터 영역 및 BSS 영역이 저장될 수 있다.
본 발명의 몇몇 실시예에서, 상기 메모리 시스템은 상기 메모리 관리 유닛이 상기 중앙처리장치로부터 제공받은 가상 주소를 상기 물리 주소로 변환하는데 참조하는 페이지 테이블을 더 포함하고, 상기 페이지 테이블은 상기 중앙처리장치가 상기 페이지 테이블을 통해 상기 스토리지의 제1 영역에 직접 억세스할 수 있도록 업데이트될 수 있다.
본 발명의 몇몇 실시예에서, 상기 메모리 시스템의 초기 구동 시, 상기 페이지 테이블은 상기 스토리지의 상기 제1 영역에 저장된 m(m은 자연수)개의 실행 파일 중, 미리 정한 n(n은 자연수) 개의 실행 파일의 코드 영역이 참조되도록 미리 업데이트될 수 있다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 메모리 시스템의 구동 방법은, 실행 파일 중에서 미리 정한 특성을 갖는 특정 영역을 바이너리 파일 형태로 비휘발성 메모리로 구현된 스토리지의 제1 영역에 저장하고, 실행 파일을 실행할 시, 스토리지의 제1 영역을 중앙처리장치가 직접 억세스할 수 있는 영역으로 할당한 후, 실행 파일을 실행하는 것을 포함한다.
본 발명의 몇몇 실시예에서, 상기 미리 정한 특성은 프로세스 동작에 필요한 리드-온리(read-only) 특성을 포함할 수 있다. 이 때, 상기 특정 영역은 코드(code) 영역을 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 비휘발성 메모리는 MRAM(Magnetic Random Access Memory)를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 실행 파일을 실행하는 것은, 상기 중앙처리장치가 메모리 관리 유닛을 통해 상기 스토리지의 제1 영역에 저장된 상기 실행 파일의 특정 영역을 직접 억세스하고 이를 실행하는 것을 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 스토리지의 제1 영역을 중앙처리장치가 직접 억세스할 수 있는 영역으로 할당하는 것은, 메모리 관리 유닛이 참조하는 페이지 테이블을 업데이트 하는 것을 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 메모리 시스템의 초기 구동 시, 상기 페이지 테이블은 상기 스토리지의 상기 제1 영역에 저장된 m(m은 자연수)개의 실행 파일 중, 미리 정한 n(n은 자연수) 개의 실행 파일의 코드 영역이 참조되도록 미리 업데이트될 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템의 구성을 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 메모리 시스템의 동작을 설명하기 위한 순서도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 메모리 시스템의 동작을 설명하기 위한 도면들이다.
도 5는 본 발명의 다른 실시예에 따른 메모리 시스템의 동작을 설명하기 위한 도면이다.
도 6은 본 발명의 다른 실시예에 따른 메모리 시스템의 구성을 도시한 블록도이다.
도 7은 본 발명의 실시예들에 따른 메모리 시스템이 채용될 수 있는 컴퓨팅 시스템의 구성을 도시한 블록도이다.
도 8은 본 발명의 실시예들에 따른 메모리 시스템이 채용될 수 있는 전자 시스템의 구성을 도시한 블록도이다.
도 9는 도 8의 전자 시스템이 스마트 폰에 적용되는 예를 도시한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 도면에서 표시된 구성요소의 크기 및 상대적인 크기는 설명의 명료성을 위해 과장된 것일 수 있다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭하며, "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
하나의 소자(elements)가 다른 소자와 "접속된(connected to)" 또는 "커플링된(coupled to)" 이라고 지칭되는 것은, 다른 소자와 직접 연결 또는 커플링된 경우 또는 중간에 다른 소자를 개재한 경우를 모두 포함한다. 반면, 하나의 소자가 다른 소자와 "직접 접속된(directly connected to)" 또는 "직접 커플링된(directly coupled to)"으로 지칭되는 것은 중간에 다른 소자를 개재하지 않은 것을 나타낸다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
비록 제1, 제2 등이 다양한 소자나 구성요소들을 서술하기 위해서 사용되나, 이들 소자나 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자나 구성요소를 다른 소자나 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자나 구성요소는 본 발명의 기술적 사상 내에서 제2 소자나 구성요소 일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 도 1을 참조하여, 본 발명의 일 실시예에 따른 메모리 시스템에 대해 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른 메모리 시스템의 구성을 도시한 블록도이다.
도 1을 참조하면, 메모리 시스템은 메인 메모리(10), 메모리 관리 유닛(40, MMU; Memory Management Unit), 중앙처리장치(60, CPU; Central Processing Unit), 및 스토리지(80)를 포함한다.
메인 메모리(10)는 중앙처리장치(60)의 연산에 이용되는 데이터를 저장하는 역할을 할 수 있다. 구체적으로, 프로세스(71)를 수행하기 위해 중앙처리장치(60)가 동작 시, 메인 메모리(10)는 스토리지(80) 등으로부터 연산에 필요한 데이터를 로딩하여 중앙처리장치(60)의 연산에 필요한 데이터를 제공할 수 있다.
본 발명의 몇몇 실시예에서, 이러한 메인 메모리(10)는 휘발성 메모리(volatile memory)로 구현될 수 있다. 구체적으로, 메인 메모리(10)는 예를 들어, DRAM(Random Access Memory), SRAM(Static Random Access Memory), Embedded RAM 등으로 구현될 수 있으나, 본 발명이 이에 제한되는 것은 아니다.
OS(70)는 스토리지(80) 등에 저장된 파일 데이터를 실행하기 위해 필요한 프로세스(71)를 생성할 수 있다. 그리고, OS(70)는 이렇게 생성된 프로세스(71)를 수행하기 위해 중앙처리장치(60)에 가상 주소(VA; Virtual Address)로 어드레싱된 데이터를 연산 및 처리하도록 명령할 수 있으며, 이에 따라 중앙처리장치(60)는 연산 및 처리에 필요한 데이터의 가상 주소를 메모리 관리 유닛(40)에 제공할 수 있다.
이렇게 중앙처리장치(60)로부터 가상 주소를 제공받은 메모리 관리 유닛(40)은 중앙처리장치(60)로부터 제공 받은 가상 주소를 페이지 테이블(미도시) 등을 참조하여 메인 메모리(10) 또는 스토리지(80)의 제1 영역(81) 상에서 직접 참조 할 수 있는 물리 주소(PA; Physical Address)로 변환하는 역할을 할 수 있다. 비록 도 1에서는, 페이지 테이블(미도시)이 생략되어 도시되어 있으나, 본 발명의 몇몇 실시예에서, 이러한 페이지 테이블(미도시)은 메인 메모리(10) 또는 스토리지(80)의 제1 영역(81) 내에 저장될 수 있다.
스토리지(80)는 메인 메모리(10)에 비해 대용량 저장 공간을 구비할 수 있으며, 예를 들어, 비휘발성 메모리(non-volatile memory)로 구현될 수 있다. 이러한 비휘발성 메모리의 예로는 MRAM(Magnetic Random Access Memory), PRAM(Phase-change random Access Memory), FRAM(Ferroelectric Random Access Memory) 등을 들 수 있으나, 본 발명이 이에 제한되는 것은 아니다.
한편, 본 실시예에 따른 스토리지(80)가 MRAM으로 구현될 경우, 자성체 소자를 이용한 MRAM은 전기적인 정보를 신속하게 꺼낼 수 있는 DRAM의 특징과 장기간 정보를 유지할 수 있는 자기기록의 특징을 겸비하고 있기 때문에, 본 실시예에 따른 메모리 시스템을 보다 고속으로 동작하게 할 수 있다. 이에 대한 보다 구체적은 설명은 후술하도록 한다.
이렇게 비휘발성 메모리(non-volatile memory)로 구현된 스토리지(80)의 예로는 SSD(Solid State Driver) 등을 들 수 있으나, 본 발명이 이에 제한되는 것은 아니며, 본 발명의 다른 몇몇 실시예에서, 스토리지(80)는 예를 들어, HDD(Hard Disk Drive)일 수 있다.
다시 도 1을 참조하면, 스토리지(80)는 제1 영역(81)과 제2 영역(82)을 포함할 수 있다. 스토리지(80)의 제1 영역(81)에는 실행 파일(execution file) 중에서 미리 정한 특성을 갖는 특정 영역이 바이너리(binary) 파일 형태로 로딩될 수 있다. 다시 말해, 스토리지(80)의 제1 영역(81)에는 외부로부터 데이터가 저장될 시, 일반적인 스토리지에 저장되는 것과 같이 데이터가 파일 구조(file structure)로 저장되는 것이 아니라, 메인 메모리(10)에 로딩되는 경우와 같이, 실행 파일의 소오스 코드가 컴파일(compiling) 및 링킹(linking)되어 바이너리 파일 형태로 저장될 수 있다.
본 발명의 몇몇 실시예에서, 이러한 미리 정한 특성은 예를 들어, 프로세스(71) 동작에 필요한 리드-온리(read-only) 특성일 수 있다. 즉, 스토리지(80)의 제1 영역(81)에는 실행 파일 중에서 프로세스(71) 동작에 필요한 리드-온리 특성을 갖는 특정 영역이 바이너리 파일 형태로 로딩될 수 있다.
또한, 본 발명의 몇몇 실시예에서, 이러한 실행 파일의 특정 영역은 예를 들어, 실행 파일의 코드(code) 영역일 수 있다. 즉, 스토리지(80)의 제1 영역(81)에는 실행 파일 중에서 리드-온리 특성을 갖는 코드 영역이 바이너리 파일 형태로 로딩될 수 있다.
이러한 스토리지(80)의 제1 영역(81)은, 실행 파일이 실행될 시, OS(70)에 의해 메모리 관리 유닛(40)이 직접 억세스할 수 있는 메인 메모리(10) 영역으로 할당될 수 있다. 즉, 본 실시예에 따른 메모리 관리 유닛(40)은, 실행 파일이 실행될 시, 스토리지(80)와 별도로 분리되어 구현되고 예를 들어, 휘발성 메모리로 이루어진 메인 메모리(10)와, 예를 들어, MRAM 등의 비휘발성 메모리로 이루어진 스토리지(80)의 제1 영역(81)을 직접 억세스할 수 있게 된다.
앞서 설명한 것과 같이, 스토리지(80)의 제1 영역(81)에는 리드-온리 특성을 갖는 코드 영역이 바이너리 파일 형태로 이미 로딩되어 있으므로, 메모리 관리 유닛(40)이 이를 참조하고 또 이를 중앙처리장치(60)에 제공하는 데에는 별도의 추가 작업이 필요하지 않아, 메인 메모리(10)와 스토리지(80)간 페이지 스왑(page swap) 등이 불필요하게 된다.
또한, 스토리지(80)의 제1 영역(81)에 저장된 코드 영역은 리드-온리 특성을 가지므로, 스토리지(80)의 제1 영역(81)에 추가적인 라이트 동작이 거의 발생하지 않아, 스토리지(80)가 예를 들어, MRAM 등으로 구현되어 있다고 하더라도 전체 시스템의 동작 성능이 저하되지 않을 수 있다. 이러한 본 시스템의 동작 특성에 대해서는 추후 보다 구체적으로 설명하도록 한다.
한편, 본 발명의 다른 몇몇 실시예에서, 스토리지(80)의 제1 영역(81)은 실행 파일 실행 시, 가상 메모리(virtual memory)로 사용될 수도 있다. 이러한 가상 메모리는 스토리지(80)의 저장 공간 중 일부 영역을 마치 메인 메모리(10)와 같이 사용하는 영역으로써, 멀티 미디어 환경 등으로 메모리 시스템에서 처리해야하는 프로세스의 양이 많아지면서 메인 메모리(10) 내에 필요한 데이터를 모두 수용할 수 없게 되는 경우 이러한 가상 메모리가 필요할 수 있다. 이렇게 스토리지(80)의 제1 영역(81)이 가상 메모리로 사용될 경우, 실행 파일 실행 시, 예를 들어, TLB(Transition Lookaside Buffer)가 스토리지(80)의 제1 영역(81)을 직접 억세스하도록 앞서 설명한 메모리 시스템의 구성이 변형될 수도 있다.
본 실시예에 따른 스토리지(80)의 제2 영역(82)은, 일반적인 메모리 시스템의 스토리지와 유사하게 이용될 수 있다. 구체적으로, 스토리지(80)의 제2 영역(82)에는 실행 파일 중에서 앞서 제1 영역(81)에 저장되지 않은 나머지 영역이 저장될 수 있다. 이러한 영역의 예로는 데이터(data) 영역, BSS 영역 등을 들 수 있으나, 본 발명이 이에 제한되는 것은 아니다. 이렇게 스토리지(80)의 제2 영역(82)에 저장되는 실행 파일의 데이터(data) 영역 및 BSS 영역은 앞서 스토리지(80)의 제1 영역(81)에 바이너리(binary) 파일 형태로 로드되는 코드(code) 영역과 달리 파일 구조 형태로 저장될 수 있다.
이하, 도 2 내지 도 4를 참조하여, 본 발명의 일 실시예에 따른 메모리 시스템의 동작에 대해 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 메모리 시스템의 동작을 설명하기 위한 순서도이다. 도 3 및 도 4는 본 발명의 일 실시예에 따른 메모리 시스템의 동작을 설명하기 위한 도면들이다.
먼저, 도 2를 참조하면, 스토리지의 제1 영역에 실행 파일의 코드 영역을 바이너리 파일 형태로 저장한다(S100). 구체적으로, 도 3을 참조하면, 실행 파일(1)은 헤더, 코드 영역, 데이터 영역, BSS 영역을 포함할 수 있다. 이러한 실행 파일(1)이 스토리지(80)에 저장될 시, 실행 파일(1) 중 코드 영역은 스토리지(80)의 제1 영역(81)에 바이너리 형태로 저장되며, 데이터 영역 및 BSS 영역은 스토리지(80)의 제2 영역(82)에 저장될 수 있다. 여기서, 실행 파일(1)의 코드 영역은 프로세스(71) 동작에 필요한 리드-온리 특성을 가질 수 있고, 실행 파일(1)의 데이터 영역 및 BSS 영역은 리드-라이트(read-write) 특성을 가질 수 있다.
다시, 도 2를 참조하면, 실행 파일을 실행하기 위한 프로세스를 생성한다 (S110). 구체적으로 도 1을 참조하면, OS(70, Operating Systmem)는 사용자 등으로부터 제공된 커맨드에 의해 앞서 스토리지(80)에 저장된 실행 파일(1)의 실행을 수행하는 프로세스(71)를 생성할 수 있다.
이어서, 도 2를 참조하면, 스토리지의 제1 영역을 메인 메모리 영역으로 할당한다(S120). 구체적으로, 도 1을 참조하면, OS(70)는 스토리지(70)의 제1 영역(81)을 메모리 관리 유닛(40)이 직접 억세스할 수 있는 메인 메모리(10) 영역으로 할당할 수 있다.
한편, 본 발명의 다른 몇몇 실시예에서, 스토리지(80)의 제1 영역(81)이 가상 메모리(virtual memory)로 사용될 경우, OS(70)는 스토리지(70)의 제1 영역(81)을 TLB(미도시)가 직접 억세스할 수 있는 가상 메모리 영역으로 할당할 수도 있다.
다시, 도 2를 참조하면, 생성된 프로세스에 의해 실행 파일을 실행한다(S130). 구체적으로, 도 4를 참조하면, 먼저 OS(70)가 프로세스(71) 실행에 필요한 연산 수행을 중앙처리장치(60)에 요청한다(S131). 이어서, 중앙처리장치(60)는 연산에 필요한 데이터의 가상 주소(VA)를 메모리 관리 유닛(40)에 전송한다(S132).
중앙처리장치(60)로부터 가상 주소(VA)를 제공받은 메모리 관리 유닛(40)은 제공받은 가상 주소(VA)로 페이지 테이블(50) 등을 참조하여(S133), 가상 주소(VA)에 대응되는 물리 주소(PA)를 얻는다(S134). 그 후, 메모리 관리 유닛(40)은 물리 주소(PA)로 메인 메모리(10)와 스토리지(80)의 제1 영역(81)을 검색하고(S135), 물리 주소(PA)로 어드레싱되는 데이터를 중앙처리장치(60)에 제공한다(S136). 그러면, 중앙처리장치(60)는 제공된 데이터로 연산을 수행한다.
이처럼 본 실시예에 따른 메모리 시스템에서는, 스토리지(80)의 제1 영역(81)에는 프로세스(71) 동작에 필요한 리드-온리 특성을 갖는 코드 영역이 바이너리 파일 형태로 이미 저장되어 있으므로, 메모리 관리 유닛(40)이 이를 참조하고 또 이를 중앙처리장치(60)에 제공하는 데에는 별도의 추가 작업이 필요하지 않게 된다. 따라서, 메인 메모리(10)에 중앙처리장치(60)의 연산에 필요한 데이터가 로드되어 있지 않을 경우 수행되어야하는 메인 메모리(10)와 스토리지(80)간 페이지 스왑 등이 불필요하게 되어, 메모리 시스템의 동작 속도가 개선될 수 있다.
한편, 스토리지(80)의 제1 영역(81)이 예를 들어, MRAM으로 구현될 경우, 리프레시(refresh)가 필요 없다는 장점은 있으나, 이러한 MRAM에 데이터를 라이트하는 데에는 많은 라이트 에너지와 라이트 시간이 필요하게 된다. 하지만, 본 실시예에 따른 메모리 시스템의 스토리지(80)의 제1 영역(81)에는 앞서 설명한 것과 같이, 리드-온리 특성을 갖는 코드 영역이 저장되므로, 스토리지(80)의 제1 영역(81)에 추가적인 라이트 동작이 거의 발생하지 않아, 스토리지(80)가 예를 들어, MRAM 등으로 구현되어 있다고 하더라도 전체 시스템의 동작 성능이 저하되지 않을 수 있다.
한편, 기존에 실행되지 않은 새로운 실행 파일이 스토리지(80)에 신규로 저장되어 메모리 관리 유닛(40)이 이를 참조할 수 없는 경우가 있게 된다. 이 경우에도, 본 실시예에 따른 메모리 시스템은 그 동작에 소요되는 실행 시간을 최소화함으로써 전체 메모리 시스템이 고속으로 동작되게 할 수 있다. 이하, 도 5를 참조하여, 이에 대해 보다 구체적으로 설명하도록 한다.
도 5는 본 발명의 다른 실시예에 따른 메모리 시스템의 동작을 설명하기 위한 도면이다.
도 5를 참조하면, 먼저, OS(70)가 중앙처리장치(60)에 신규 실행 파일과 관련된 프로세스(71)의 연산에 대한 연산 수행을 요청한다(S200). 이어서, 중앙처리장치(60)는 연산에 필요한 데이터의 가상 주소(VA)를 메모리 관리 유닛(40)에 전송한다(S201).
중앙처리장치(60)로부터 가상 주소(VA)를 제공받은 메모리 관리 유닛(40)은 제공받은 가상 주소(VA)로 페이지 테이블(50) 등을 참조한다(S202). 이 경우, 페이지 테이블(50)에는 제공받은 가상 주소(VA)로 어드레싱되는 데이터가 존재하지 않기 때문에, 제공받은 가상 주소(VA)에 대응하는 물리 주소(PA)를 리턴하지 못한다(S203).
따라서, 메모리 관리 유닛(40)은 제공받은 가상 주소(VA)에 대응하는 물리 주소(PA)를 찾을 수 없다는 메시지와 함께 컨트롤 권한을 OS(70)에 넘긴다(S204). 이렇게 컨트롤 권한을 넘겨받은 OS(70)는 연산에 필요한 데이터를 어드레싱하는 가상 주소(VA)를 바탕으로 스토리지(80)의 제1 영역(81)에서 신규로 로드된 실행 파일의 코드 영역을 찾고(S205), 이를 바탕으로 페이지 테이블(50)을 업데이트한다(S206).
이와 같이 페이지 테이블(50)이 업데이트되면, 메모리 관리 유닛(40)은 이제 신규로 추가된 실행 파일을 억세스할 수 있게된다. 즉 본 실시예에 따른 메모리 시스템에서는 별도의 메인 메모리(10)와 스토리지(80) 간의 페이지 스왑 동작이 필요하지 않게 된다. 이러한 동작에 의해, 본 실시예에 따른 메모리 시스템은 보다 고속으로 동작될 수 있다.
다음 도 6을 참조하여, 본 발명의 다른 실시예에 따른 메모리 시스템에 대해 설명하도록 한다.
도 6은 본 발명의 다른 실시예에 따른 메모리 시스템의 구성을 도시한 블록도이다.
도 6을 참조하면, 메모리 시스템은 메인 메모리(10), 메모리 관리 유닛(40, MMU; Memory Management Unit), 중앙처리장치(60, CPU; Central Processing Unit), 및 스토리지(90)를 포함한다.
메인 메모리(10)는 앞서 설명한 실시예와 마찬가지로, 중앙처리장치(60)의 연산에 이용되는 데이터를 저장하는 역할을 할 수 있다. 구체적으로, OS(70)에 의해 프로세스(71) 실행을 위해 중앙처리장치(60)가 동작 시, 메인 메모리(10)는 스토리지(80) 등으로부터 연산에 필요한 데이터를 로딩하여 중앙처리장치(60)의 연산에 필요한 데이터를 제공할 수 있다. 본 발명의 몇몇 실시예에서, 이러한 메인 메모리(10)는 예를 들어, DRAM(Random Access Memory), SRAM(Static Random Access Memory), Embedded RAM 등으로 구현될 수 있으나, 본 발명이 이에 제한되는 것은 아니다.
OS(70)는 스토리지(80) 등에 저장된 파일 데이터를 실행하기 위해 필요한 프로세스(71)를 생성할 수 있다. 이렇게 생성된 프로세스(71)는 중앙처리장치(60)에 가상 주소(VA; Virtual Address)로 어드레싱된 데이터를 연산 및 처리하도록 명령할 수 있으며, 이에 따라 중앙처리장치(60)는 연산 및 처리에 필요한 데이터의 가상 주소를 메모리 관리 유닛(40)에 제공할 수 있다.
이렇게 중앙처리장치(60)로부터 가상 주소를 제공받은 메모리 관리 유닛(40)은 중앙처리장치(60)로부터 제공 받은 가상 주소를 페이지 테이블(미도시) 등을 참조하여 메인 메모리(10) 또는 스토리지(90)의 제1 영역(91) 상에서 직접 참조 할 수 있는 물리 주소(PA; Physical Address)로 변환하는 역할을 할 수 있다.
스토리지(90)는 메인 메모리(10)에 비해 대용량 저장 공간을 구비할 수 있으며, 예를 들어, 전기적인 정보를 신속하게 꺼낼 수 있는 DRAM의 특징과 장기간 정보를 유지할 수 있는 자기기록의 특징을 겸비한 MRAM으로 구현될 수 있으나, 본 발명이 이에 제한되는 것은 아니다. 한편, 이렇게 예를 들어, MRAM으로 구현된 스토리지(90)의 예로는 SSD(Solid State Driver) 등을 들 수 있으나, 본 발명이 이에 제한되는 것은 아니다.
스토리지(90)는 제1 영역(91)과 제2 영역(92)을 포함할 수 있다. 스토리지(90)의 제1 영역(91)에는 실행 파일(execution file) 중에서 프로세스(71) 수행에 관련된 리드-온리(read-only) 특성을 갖는 m(m은 자연수)개의 코드(code) 영역이 바이너리(binary) 파일 형태로 저장될 수 있다. 그리고, 본 실시예에 따른 메모리 관리 유닛(40)이 참조하는 페이지 테이블(미도시)은, 메모리 시스템의 초기 구동 시, 중앙처리장치(60)가 이러한 m개의 실행 파일 중, 미리 정한 n(n은 자연수) 개의 실행 파일을 직접 억세스할 수 있도록 업데이트 되어 있을 수 있다.
즉, 메모리 시스템의 초기 구동 시, 스토리지(90)의 제1 영역(91)에 저장된 m개의 실행 파일에 관한 프로세스(71)가 생성되어 있는지와 무관하게, 중앙처리장치(60)가 미리 정한 n 개의 실행 파일의 코드 영역을 직접 억세스할 수 있도록 메모리 관리 유닛(40)이 참조하는 페이지 테이블(미도시)이 업데이트 될 수 있다.
여기서, n 개의 실행 파일은, 시스템의 초기 설정 등을 통해 사용자가 자주 사용하는 프로그램을 선택함으로써 이를 결정할 수도 있고, 시스템이 운용되는 상황을 반영하여 OS(70) 등이 이들을 결정할 수도 있다.
이처럼, 메모리 관리 유닛(40)이 참조하는 페이지 테이블(미도시)이 초기 구동 시에 업데이트 될 경우, 각 실행 파일을 신규로 수행할 시 수행되어야 하는 페이지 테이블(미도시) 업데이트가 줄어들 수 있어, 메모리 시스템의 동작 성능이 보다 향상될 수 있다.
한편, 본 실시예에 따른 스토리지(90)의 제2 영역(92)은, 앞서 설명한 실시예와 같이 일반적인 메모리 시스템의 스토리지와 유사하게 이용될 수 있다.
기타 다른 사항 들에 대해서는 앞서 충분히 설명한 바, 여기서는 중복된 설명은 생략하도록 한다.
다음, 도 7을 참조하여, 본 발명의 실시예들에 따른 메모리 시스템이 채용될 수 있는 컴퓨팅 시스템에 대해 설명하도록 한다.
도 7은 본 발명의 실시예들에 따른 메모리 시스템이 채용될 수 있는 컴퓨팅 시스템의 구성을 도시한 블록도이다.
도 7을 참조하면, 컴퓨팅 시스템(101)은 중앙처리장치(Central Processing Unit, 100), AGP 장치(Accelerated Graphics Port, 110), 메인 메모리(200), 스토리지(예컨대, SSD, HDD 등, 140), 노오스 브리지(120), 사우스 브리지(130), 키보드 컨트롤러(160), 및 프린터 컨트롤러(150) 등을 포함한다.
도 7에 도시된 컴퓨팅 시스템(101)은 개인용 컴퓨터 또는 노트북 컴퓨터의 블록도일 수 있다. 그러나 본 발명이 이에 제한되는 것은 아니며, 컴퓨팅 시스템(101)의 예시는 얼마든지 변형될 수 있다.
컴퓨팅 시스템(101)에서 중앙처리장치(100), AGP 장치(110), 및 메인 메모리(130) 등은 노오스 브리지(120)에 접속될 수 있다. 그러나, 본 발명이 이에 제한되는 것은 아니며, 노오스 브리지(120)는 중앙처리장치(100)에 포함된 형태로 변형될 수도 있다.
AGP(110)는 3차원 그래픽 표현을 빠르게 구현할 수 있게 해주는 버스 규격일 수 있으며, AGP 장치(110)에는 모니터 이미지를 재생하는 비디오 카드 등이 포함될 수 있다.
중앙처리장치(100))는 컴퓨팅 시스템(101)의 구동에 필요한 각종 연산을 수행하고, 또한 OS 및 응용 프로그램을 실행할 수 있다.
메인 메모리(200)는 스토리지(140)로부터 중앙처리장치(100)의 동작을 수행하는데 필요한 데이터를 로딩하여 저장할 수 있다. 이러한 메인 메모리(200)를 구현하는 메모리의 예시로는, DRAM(Random Access Memory)을 들 수 있으나, 본 발명이 이러한 예시에 제한되는 것은 아니다.
스토리지(140), 키보드 컨트롤러(160), 프린터 컨트롤러(150), 및 각종 주변 장치들(미도시) 등은 사우스 브리지(130)에 접속될 수 있다.
스토리지(140)는 파일 데이터 등을 저장하는 대용량 데이터 저장 장치로서, 예를 들어, HDD, SSD 등으로 구현될 수 있으나, 본 발명이 이러한 예시에 제한되는 것은 아니다. 특히, 본 실시예에 따른 스토리지(140)는 전기적인 정보를 신속하게 꺼낼 수 있는 DRAM의 특징과 장기간 정보를 유지할 수 있는 자기기록의 특징을 겸비한 MRAM으로 구현될 수 있으나, 역시 본 발명이 이에 제한되는 것은 아니다.
이러한 스토리지(140)는 실행 파일(execution file) 중에서 리드-온리(read-only) 특성을 갖는 코드(code) 영역이 바이너리(binary) 파일 형태로 로딩되는 제1 영역과, 실행 파일의 데이터(data) 영역과 BSS 영역이 파일 구조 형태로 저장되는 제2 영역을 포함할 수 있다. 즉, 본 실시예에 따른 컴퓨팅 시스템(101)에 포함되는 스토리지(140)로는 앞서 설명한 본 발명의 실시예들에 따른 메모리 시스템의 스토리지(도 1의 80, 도 6의 90)가 채용될 수 있다.
한편, 본 실시예에 따른 컴퓨팅 시스템(101)에서는 스토리지(140)가 사우스 브리지(130)에 접속되는 구조를 도시하고 있으나, 본 발명이 이에 제한되는 것은 아니며, 스토리지(140)가 노스 브리지(120)에 연결되거나, 중앙처리장치(100)에 직접 연결되는 구조로 변형될 수도 있다.
다음 도 8를 참조하여, 본 발명의 실시예들에 따른 메모리 시스템이 채용될 수 있는 전자 시스템에 대해 설명하도록 한다.
도 8은 본 발명의 실시예들에 따른 메모리 시스템이 채용될 수 있는 전자 시스템의 구성을 도시한 블록도이다.
도 8을 참조하면, 전자 시스템(900)은 앞서 설명한 본 발명의 실시예들에 따른 메모리 시스템을 채용할 수 있다. 구체적으로, 전자 시스템(900)은 메모리 시스템(912), 프로세서(914), 램(916), 및 유저인터페이스(918)를 포함할 수 있다.
이러한, 메모리 시스템(912), 프로세서(914), 램(916), 및 유저인터페이스(918)는 버스(Bus, 920)를 이용하여 서로 데이터 통신을 할 수 있다.
프로세서(914)는 프로그램을 실행하고 전자 시스템(900)을 제어하는 역할을 할 수 있으며, 램(916)은 프로세서(914)의 동작 메모리로서 사용될 수 있다. 여기서, 전자 시스템(900)이 앞서 설명한 본 발명의 실시예들에 따른 메모리 시스템을 채용했을 경우, 프로세서(914)는 앞서 설명한 중앙처리장치(도 1 및 도 6의 60)에 대응되고, 램(916)은 메인 메모리(도 1 및 도 6의 10)에 대응될 수 있다. 이러한, 프로세서(914) 및 램(916)은 하나의 반도체 소자 또는 반도체 패키지로 패키징되어 구현될 수 있다.
유저 인터페이스(918)는 전자 시스템(900)에 데이터를 입력 또는 출력하는데 이용될 수 있다. 메모리 시스템(912)은 프로세서(914)의 동작을 위한 코드, 프로세서(914)에 의해 처리된 데이터 또는 외부에서 입력된 데이터를 저장할 수 있다. 전자 시스템(900)이 앞서 설명한 본 발명의 실시예들에 따른 메모리 시스템을 채용했을 경우, 메모리 시스템(912)는 앞서 설명한 스토리지(도 1의 80, 도 6의 90)에 대응될 수 있다.
이러한 메모리 시스템(912)은 구동을 위한 별도의 컨트롤러를 포함할 수 있으며, 오류 정정 블록을 추가적으로 포함하도록 구성될 수도 있다. 오류 정정 블록은 오류 정정 코드(ECC)를 이용하여 메모리 시스템(912)에 저장된 데이터의 오류를 검출하고, 정정하도록 구성될 수 있다.
메모리 시스템(912)은 하나의 반도체 장치로 집적될 수 있다. 예시적으로, 메모리 시스템(912)은 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 메모리 시스템(912)은 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성할 수 있다.
도 8에 도시된 전자 시스템(900)은 다양한 전자기기들의 전자 제어 장치에 적용될 수 있다. 도 9은 도 8의 전자 시스템이 스마트 폰에 적용되는 예를 도시한 도면이다. 이처럼 전자 시스템(도 8의 900)이 스마트 폰(1000)에 적용되는 경우, 앞서 설명한 전자 시스템(도 8의 900)은 예를 들어, AP(Application Processor)일 수 있으나, 본 발명이 이에 제한되는 것은 아니다.
그 밖에, 전자 시스템(도 8의 900)은 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), 3차원 수상기(3-dimensional television), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 하나, RFID 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로 제공될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
10: 메인 메모리 40: 메모리 관리 유닛
50: 페이지 테이블 60: 중앙처리장치
70: OS 80, 90: 스토리지

Claims (10)

  1. 중앙처리장치;
    상기 중앙처리장치로부터 가상 주소를 제공받고, 이를 물리 주소로 변환하는 메모리 관리 유닛;
    휘발성 메모리로 구현되고, 상기 메모리 관리 유닛에 의해 변환된 물리 주소로 직접 억세스되는 메인 메모리; 및
    상기 메인 메모리와 별도로 비휘발성 메모리를 이용하여 구현되고, 상기 메모리 관리 유닛에 의해 변환된 물리 주소로 직접 억세스되는 제1 영역을 포함하는 스토리지를 포함하는 메모리 시스템.
  2. 제 1항에 있어서,
    상기 비휘발성 메모리는 MRAM(Magnetic Random Access Memory)를 포함하고,
    상기 휘발성 메모리는 DRAM(Dynamic Random Access Memory)를 포함하는 메모리 시스템.
  3. 제 1항에 있어서,
    상기 스토리지의 상기 제1 영역에는 실행 파일 중에서 미리 정한 특성을 갖는 특정 영역이 바이너리 파일 형태로 저장되는 메모리 시스템.
  4. 제 3항에 있어서,
    상기 미리 정한 특성은 프로세스 동작에 필요한 리드-온리(read-only) 특성을 포함하는 메모리 시스템.
  5. 제 4항에 있어서,
    상기 특정 영역은 코드(code) 영역을 포함하는 메모리 시스템.
  6. 제 1항에 있어서,
    상기 메모리 관리 유닛이 상기 중앙처리장치로부터 제공받은 가상 주소를 상기 물리 주소로 변환하는데 참조하는 페이지 테이블을 더 포함하고,
    상기 페이지 테이블은 상기 중앙처리장치가 상기 페이지 테이블을 통해 상기 스토리지의 제1 영역에 직접 억세스할 수 있도록 업데이트되는 메모리 시스템.
  7. 제 6항에 있어서,
    상기 메모리 시스템의 초기 구동 시, 상기 페이지 테이블은 상기 스토리지의 상기 제1 영역에 저장된 m(m은 자연수)개의 실행 파일 중, 미리 정한 n(n은 자연수) 개의 실행 파일의 코드 영역이 참조되도록 미리 업데이트되는 메모리 시스템.
  8. 실행 파일 중에서 미리 정한 특성을 갖는 특정 영역을 바이너리 파일 형태로 비휘발성 메모리로 구현된 스토리지의 제1 영역에 저장하고,
    상기 실행 파일을 실행할 시, 상기 스토리지의 제1 영역을 중앙처리장치가 직접 억세스할 수 있는 영역으로 할당한 후, 상기 실행 파일을 실행하는 것을 포함하는 메모리 시스템의 구동 방법.
  9. 제 8항에 있어서,
    상기 실행 파일을 실행하는 것은, 상기 중앙처리장치가 메모리 관리 유닛을 통해 상기 스토리지의 제1 영역에 저장된 상기 실행 파일의 특정 영역을 직접 억세스하고 이를 실행하는 것을 포함하는 메모리 시스템의 구동 방법.
  10. 제 8항에 있어서,
    상기 스토리지의 제1 영역을 중앙처리장치가 직접 억세스할 수 있는 영역으로 할당하는 것은, 메모리 관리 유닛이 참조하는 페이지 테이블을 업데이트 하는 것을 포함하고,
    상기 메모리 시스템의 초기 구동 시, 상기 페이지 테이블은 상기 스토리지의 상기 제1 영역에 저장된 m(m은 자연수)개의 실행 파일 중, 미리 정한 n(n은 자연수) 개의 실행 파일의 코드 영역이 참조되도록 미리 업데이트되는 메모리 시스템의 구동 방법.
KR1020120142017A 2012-12-07 2012-12-07 메모리 시스템 및 그 구동 방법 KR20140073955A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120142017A KR20140073955A (ko) 2012-12-07 2012-12-07 메모리 시스템 및 그 구동 방법
US14/089,961 US20140164688A1 (en) 2012-12-07 2013-11-26 Soc system and method for operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120142017A KR20140073955A (ko) 2012-12-07 2012-12-07 메모리 시스템 및 그 구동 방법

Publications (1)

Publication Number Publication Date
KR20140073955A true KR20140073955A (ko) 2014-06-17

Family

ID=50882300

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120142017A KR20140073955A (ko) 2012-12-07 2012-12-07 메모리 시스템 및 그 구동 방법

Country Status (2)

Country Link
US (1) US20140164688A1 (ko)
KR (1) KR20140073955A (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9626286B2 (en) * 2014-10-03 2017-04-18 Sandisk Technologies Llc Hardware and firmware paths for performing memory read processes
CN107241913B (zh) * 2015-02-25 2020-06-19 株式会社日立制作所 信息处理装置
CN105527889A (zh) * 2015-12-08 2016-04-27 中电海康集团有限公司 一种采用stt-mram作为单一存储器的微控制器
KR102353058B1 (ko) * 2016-02-02 2022-01-20 삼성전자주식회사 시스템 온 칩 및 그것의 동작 방법
KR102345542B1 (ko) 2017-06-02 2021-12-30 삼성전자주식회사 가변 저항 메모리 소자를 포함하는 반도체 소자

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930515B2 (en) * 2008-07-29 2011-04-19 International Business Machines Corporation Virtual memory management
JP5404798B2 (ja) * 2009-09-21 2014-02-05 株式会社東芝 仮想記憶管理装置及び記憶管理装置

Also Published As

Publication number Publication date
US20140164688A1 (en) 2014-06-12

Similar Documents

Publication Publication Date Title
KR102094393B1 (ko) 불휘발성 메모리 시스템 및 그것의 동작 방법
US20170228160A1 (en) Method and device to distribute code and data stores between volatile memory and non-volatile memory
CN103164342B (zh) 数据可用性的挂载时协调
US20190121732A1 (en) Persistent content in nonvolatile memory
US9058197B2 (en) Method for sharing memory of virtual machine and computer system using the same
US11151052B2 (en) Reading sequential data from memory using a pivot table
CN105393228B (zh) 读写闪存中数据的方法、装置及用户设备
US20130268725A1 (en) Nonvolatile memory wear management
CN110187832B (zh) 一种数据操作的方法、设备和系统
CN108694101B (zh) 存储器侧高速缓存内容的持久性高速缓存
KR20140073955A (ko) 메모리 시스템 및 그 구동 방법
KR102314138B1 (ko) 모바일 장치 및 모바일 장치의 데이터 관리 방법
KR20130034450A (ko) 저장 장치 및 그 구동 방법
US20190042415A1 (en) Storage model for a computer system having persistent system memory
CN103229150A (zh) 数据控制方法及系统
US8726101B2 (en) Apparatus and method for tracing memory access information
US20200042459A1 (en) Storage device providing a virtual memory region, electronic system including the same, and method of operating the same
US10782895B2 (en) Management method of metadata for preventing data loss and memory device using the same
US9934100B2 (en) Method of controlling memory swap operation and data processing system using same
US11467766B2 (en) Information processing method, apparatus, device, and system
KR20140065196A (ko) 메모리 시스템 및 그 구동 방법
US9792207B2 (en) Data storage in a mobile device with embedded mass storage device
US9471584B2 (en) Demand paging method for mobile terminal, controller and mobile terminal
KR20170019729A (ko) 전자 장치 및 이의 데이터 압축 방법
JP2022184735A (ja) プログラム起動方法及び機器、記憶媒体

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid