KR101598727B1 - 메모리 타입들 간에 데이터를 이동하는 기술 - Google Patents

메모리 타입들 간에 데이터를 이동하는 기술 Download PDF

Info

Publication number
KR101598727B1
KR101598727B1 KR1020147002225A KR20147002225A KR101598727B1 KR 101598727 B1 KR101598727 B1 KR 101598727B1 KR 1020147002225 A KR1020147002225 A KR 1020147002225A KR 20147002225 A KR20147002225 A KR 20147002225A KR 101598727 B1 KR101598727 B1 KR 101598727B1
Authority
KR
South Korea
Prior art keywords
memory
volatile memory
data
locations
volatile
Prior art date
Application number
KR1020147002225A
Other languages
English (en)
Other versions
KR20140028123A (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 KR20140028123A publication Critical patent/KR20140028123A/ko
Application granted granted Critical
Publication of KR101598727B1 publication Critical patent/KR101598727B1/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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context

Abstract

2-레벨 페이징 메커니즘이 제공된다. 제1 레벨은 프로세스에 대해서 회수 가능한 메모리 로케이션들로부터 페이지들을 수집하고 데이터를 단일 컨테이너에 압축한다. 제2 레벨은 소형 컨테이너의 컨텐츠를 스왑 파일로 송신하여 타겟 메모리 디바이스에 대한 최적의 I/O 동작들을 사용할 수 있다. 주문형 페이징은, 제1 페이저가 소형 컨테이너 내의 요청된 데이터를 로케이팅하게 하고 나서 제2 페이저가 스왑 파일로부터 대응하는 데이터를 검색하게 함으로써 가능하게 된다.

Description

메모리 타입들 간에 데이터를 이동하는 기술{TECHNIQUES FOR MOVING DATA BETWEEN MEMORY TYPES}
본 발명의 실시예들은 메모리 타입들 간의 데이터의 전송에 관한 것이다. 보다 구체적으로는, 본 발명의 실시예들은 휘발성 메모리에서 비휘발성 메모리로 데이터를 이동하는 기술에 관한 것이다.
전자 디바이스들은 한정된 양의 메모리를 포함한다. 휘발성 메모리 타입은 일반적으로 비휘발성 메모리보다 빠르다. 따라서, 휘발성 메모리는 일반적으로 최소한의 메모리 대기 시간을 필요로 하는 애플리케이션에 이용된다. 그러나, 휘발성 메모리는 한정적이기 때문에, 다른 애플리케이션들 또는 프로세스들이 추가 메모리 로케이션들을 활용할 수 있도록 휘발성 메모리로부터 데이터를 제거하는 것이 요구되는 조건이 존재할 수 있다.
본 발명은 첨부 도면에서 제한이 아닌 예로서 예시되었으며, 동일한 참조 번호들은 유사한 구성요소들을 나타낸다.
도 1은 제1 메모리와 제2 메모리 간의 데이터 이동의 개념도이다.
도 2는 제1 메모리와 제2 메모리 간의 데이터 이동을 위한 기술의 일 실시예의 흐름도이다.
도 3은 제1 메모리에서 제2 메모리로 데이터를 전송하는 기술의 일 실시예의 흐름도이다.
도 4는 제1 메모리와 제2 메모리 간의 데이터 이동을 관리하는 에이전트의 일 실시예의 블록도이다.
도 5는 모바일 디바이스의 예시적인 구현의 블록도이다.
이하의 설명에서, 다수의 특정 상세들이 개시되었다. 그러나, 본 발명의 실시예들은 이러한 특정 상세들 없이 실시될 수 있다. 다른 경우에 있어서, 공지된 회로, 구조 및 기술들은 본 설명의 이해를 모호하게 하지 않기 위해서 상세하게 나타내지 않았다.
한정된 양의 휘발성 메모리(예를 들어, 랜덤 액세스 메모리(RAM))를 갖는 디바이스 상에서, 하나의 프로세스 또는 애플리케이션에 사용되는 메모리 로케이션들을 다른 프로세스 또는 애플리케이션에 할당하는 것이 바람직하거나 심지어 필요할 수 있다. 예를 들어, 더 중요한 애플리케이션은 덜 중요한 애플리케이션의 희생으로 더 많은 메모리 로케이션들을 필요로 할 수 있다.
일 실시예에서, 비휘발성 메모리가 고체 상태 메모리 디바이스인 경우, 디바이스 상의 마모를 최소화하고 읽기/수정/쓰기 상황을 피하는 것이 바람직할 수 있다. 일 실시예에서, 데이터가 휘발성 메모리로부터 제거되고 비휘발성 메모리로 이동한 후에, 프로세스 또는 애플리케이션은 데이터로의 액세스가 허용된다.
일 실시예에서, 2-레벨 페이징 메커니즘이 사용된다. 제1 레벨은 프로세스에 대해서 회수 가능한 메모리 로케이션들로부터 페이지들을 수집하고 페이지들을 단일 컨테이너에 압축(compact)한다. 제2 레벨은 소형 컨테이너(compact container)의 컨텐츠를 스왑 파일로 송신하고, 타겟 메모리 디바이스에 대한 최적의 I/O 동작들을 사용할 수 있다. 주문형 페이징은, 제1 페이저가 소형 컨테이너 내의 요청된 페이지들을 로케이팅(locate)하게 하고 나서 제2 페이저가 스왑 파일로부터 대응하는 페이지들을 검색하게 함으로써 가능하게 된다.
이 2-레벨 페이징 메커니즘은, 예를 들면 데스크톱 컴퓨터 또는 심지어 랩톱 컴퓨터와 같은 물리적으로 큰 디바이스들보다 일반적으로 적은 RAM을 갖는 모바일 디바이스에 유용할 수 있다. 예를 들면, 태블릿 디바이스, 또는 노트북 컴퓨터, 또는 스마트폰은 한정된 양의 RAM과 고체 상태 메모리 디바이스(예를 들어, 플래시 메모리)를 포함할 수 있다.
도 1은 제1 메모리와 제2 메모리 간의 데이터 이동의 개념도이다. 본 명세서에 설명된 기술들은 일반적으로 적용가능하지만, 일반적으로 메인 메모리(예를 들어, DRAM)와 더 큰 저장 디바이스(예를 들어, 플래시 메모리) 간의 페이지의 이동을 위해서 예시들이 제공된다.
어드레스 공간(110)은 주어진 프로세스 또는 애플리케이션에 의해서 사용될 수 있는 메모리를 나타낸다. 어드레스 공간(110)은 여러 메모리 영역을 포함할 수 있다. 메모리 영역은 여러 가상 페이지를 포함할 수 있다. 가상 페이지는 언제라도 할당되지 않음(Unallocated), 상주(Resident), 또는 페이지 아웃(Paged Out)의 세가지 상태 중 하나의 상태에 있을 수 있다.
주(RAM, 휘발성) 및 보조(SSD, 비휘발성) 메모리는 호스트 시스템에 의한 애플리케이션들의 실행 동안 다수의 애플리케이션에 의해서 사용된다. 일반적으로, 주 메모리는 애플리케이션들을 실행하는 프로세서(들)에 의해 액세스 가능한 랜덤 액세스 메모리이다. 어드레스 공간(110)은 호스트 시스템 내의 랜덤 액세스 메모리의 전부 또는 일부를 사용할 수 있다. 다른 어드레스 공간들은 시스템 내의 다른 프로세스들을 지원하기 위해 사용될 수 있으며 그것들 모두 주 메모리(RAM)의 한정된 리소스에 대하여 경쟁한다.
랜덤 액세스 메모리는 복수의 프로세스들을 지원하기 위해 사용될 수 있으며 각각의 프로세스는 활용하기 위한 자신의 어드레스 공간을 가질 수 있다. 어드레스 공간(110)은 데이터의 하나 이상의 페이지들을 저장하기 위해 프로세스에 의해 서 사용되는 하나 이상의 메모리 영역들(예를 들어, 112, 114, 116)을 갖는다.
도 1의 예시에서, 메모리 영역들(112, 114 및 116)은 프로세스에 할당될 수 있다. 일 실시예에서, 각각의 프로세스는, 예를 들면 리소스 충돌을 해결하기 위해 사용될 수 있는 관련된 우선순위를 갖는다. 예를 들면, 프로세스가 추가의 메모리 로케이션을 필요로 하고 메모리가 부족할 때, 메모리 영역들이 더 높은 우선순위 프로세스에 재할당될 수 있도록, 더 낮은 우선순위의 프로세스는 그의 페이지의 일부 또는 전부를 축출(evict)시킬 수 있다.
따라서, 동작 중에, 메모리 영역들(112, 114 및 116)은 축출을 위해 지정될 수 있다. 축출 프로세스는 메모리 영역들(112, 114 및 116)에서 비휘발성 메모리(150)로 페이지들을 이동시킨다. 일 실시예에서, 이 프로세스는 소형 컨테이너(130)의 활용을 포함한다. 소형 컨테이너(130)는 어드레스 공간(110) 외부의 시스템 RAM 내의 영역 또는 구조일 수 있으며, 또는 소형 컨테이너(130)는 시스템 RAM과 결합된 상이한 메모리 디바이스 내에 있을 수 있다. 일 실시예에서, 소형 컨테이너(130)는 운영 체제 커널 어드레스 공간 내에 있다.
일 실시예에서, 메모리 영역들(112, 114 및 116)로부터의 페이지들은 더 컴팩트하게(예를 들어, 연속적으로, 최소한의 페이지 수로, 등등) 소형 컨테이너(130) 내에 저장된다. 다른 실시예에서, 페이지들에 대한 포인터들은 소형 컨테이너(130)에 저장될 수 있다. 일 실시예에서, 메모리 영역들(112, 114 및 116)의 컨텐츠는 비휘발성 메모리(150)에 복사된다. 일 실시예에서, 페이지들은 단일 쓰기 동작으로, 또는 페이지 당 단일 쓰기 동작으로 비휘발성 메모리(150)에 복사된다.
비휘발성 메모리(150)로 이동한 페이지들이 필요한 경우, 비휘발성 메모리(150) 내의 데이터의 로케이션은 소형 컨테이너(130)를 통해 결정될 수 있다. 그러면 페이지들은 비휘발성 메모리(150)에서 어드레스 공간(110)으로 다시 전송될 수 있다. 동일한 메모리 영역이 사용될 수 있거나, 상이한 메모리 영역이 사용될 수 있다.
도 2는 제1 메모리와 제2 메모리 간에 데이터 이동을 위한 기술의 일 실시예의 흐름도이다. 도 2의 기술은 예를 들면 도 1에 도시된 바와 같은 메모리 타입들 간에 페이지들을 전송하기 위해 활용될 수 있다.
프로세스에 대한 페이지들이 축출을 위해 지정될 때, 프로세스에 대응하는 어드레스 공간은 프리즈(freeze)된다(예를 들어, 도 1의 112, 114, 116)(210). 어드레스 공간이 프리즈되면 프로세스가 메모리 로케이션에 쓰는 것과 메모리 로케이션의 컨텐츠를 변경하는 것이 방지된다. 따라서, 전송될 메모리의 컨텐츠는 프로세스와 일관될 것이다.
프로세스에 대한 어드레스 공간이 워크(walk)된다(220). 프로세스에 대한 어드레스 공간을 워크할 때, 프리즈되고 RAM의 외부로 전송될 메모리의 페이지들에 관한 정보가 수집된다. 일 실시예에서, RAM의 외부로 전송될 페이지들의 경우, 상주 페이지들에 대한 포인터들은 소형 컨테이너로 이동한다(230). 다른 실시예에서, 메모리 로케이션들의 컨텐츠는 소형 컨테이너로 복사되어 RAM의 외부로 전송될 수 있다. 일 실시예에서, 복수의 프로세스 간에 데이터를 공유하는 페이지들은 축출에 대한 후보가 아니다.
이어서 RAM에서 비휘발성 메모리(예를 들어, 플래시 메모리)로 페이지들이 복사된다(240). 일 실시예에서, 페이지들은 단일 I/O 동작으로 비휘발성 메모리에 기록되며, 이는 비휘발성 메모리의 마모가 감소되는 것을 도울 수 있다. 대안적 실시예들에서, 다수의 쓰기 동작들이 수행될 수 있다.
페이지들이 이동한 어드레스 공간 로케이션들이 회수된다(250). 이어서 회수된 메모리 로케이션들은 다른 프로세스들에 의해 사용될 수 있다. 도 2의 프로세스는 다른 프로세스들에 대해서도 반복될 수 있다.
도 3은 비휘발성 메모리에서 RAM으로 데이터를 전송하는 기술의 일 실시예의 흐름도이다. 도 3의 프로세스는, 예를 들면 도 2에 관해서 위에 설명된 바와 같이 프로세스가 이전에 프리즈됐고/됐거나 데이터가 축출되었을 때, 예를 들면 플래시 메모리로부터 페이지들을 검색하기 위해 사용될 수 있다.
축출된 페이지들에 대해서 요청이 수신된다(310). 요청은 이전에 프리즈된 프로세스의 재활성화 또는 해동(thawing)의 결과일 수 있다. 요청은 프로세스에 대해 이전에 축출된 페이지들의 일부에 대한 것일 수 있으며, 또는 요청은 프로세스에 대해 이전에 축출된 페이지들의 전부에 대한 것일 수 있다.
어드레스 공간 내(예를 들어, RAM 내)의 메모리 로케이션의 소형 컨테이너로의 링크가 팔로잉(follow)된다(320). 링크 및/또는 다른 정보는 소형 컨테이너의 데이터의 로케이션 및/또는 상태를 결정하는 데 활용될 수 있다. 페이지 로케이션이 결정된다(330).
이어서 비휘발성 메모리에서 RAM으로 페이지들이 복사된다(340). 일 실시예에서, 페이지들은 비휘발성 메모리에 대한 단일 읽기에 의해서 검색된다. 이어서 비휘발성 메모리 로케이션들이 다른 데이터를 위해 사용될 수 있다(350).
도 4는 제1 메모리와 제2 메모리 간의 데이터 이동을 관리하는 에이전트의 일 실시예의 블록도이다. 데이터 전송 에이전트(400)는 제어 로직(410)을 포함하며, 이는 데이터 전송 에이전트(400)에 동작을 지시하고/하거나 데이터 전송 에이전트(400)의 동작을 지시하는 것과 연관된 하드웨어에 동작을 지시하는 논리적 기능 제어를 구현한다. 로직은 하드웨어 로직 회로 및/또는 소프트웨어 루틴일 수 있다. 일 실시예에서, 데이터 전송 에이전트(400)는 하나 이상의 애플리케이션(412)을 포함하며, 이는 제어 로직(410)에 명령어를 제공하는 프로그램들 및/또는 코드 시퀀스를 나타낸다.
데이터 전송 에이전트(400)는 메모리(414)를 포함하며, 이는 데이터 및/또는 명령어들을 저장하는 메모리 리소스에 대한 액세스 및/또는 메모리 디바이스를 나타낸다. 메모리(414)는 데이터 전송 에이전트(400)에 국한된 메모리 뿐만 아니라, 또는 대안으로, 데이터 전송 에이전트(400)가 상주하는 호스트 시스템의 메모리를 포함할 수 있다. 데이터 전송 에이전트(400)는 또한 하나 이상의 인터페이스(416)를 포함하며, 이는 데이터 전송 에이전트(400) 외부의 엔티티들(전자 또는 사람)에 대한 데이터 전송 에이전트(400)로의/로부터의 액세스 인터페이스(예를 들어, 입력/출력 인터페이스, 애플리케이션 프로그래밍 인터페이스)를 나타낸다.
데이터 전송 에이전트(400)는 또한 데이터 전송 엔진(420)을 포함하며, 이는 데이터 전송 에이전트(400)가 본 명세서에 설명된 바와 같은 페이지에 줌 인 및/또는 줌 아웃을 제공할 수 있게 하는 하나 이상의 기능을 나타낸다. 데이터 전송 엔진(420)에 포함될 수 있는 예시 모듈들은 프로세스 메모리 모듈(430), 소형 컨테이너 관리자(440), 링크 관리자(450) 및 메모리 전송 모듈(460)을 포함한다. 본 명세서에 사용되는 바와 같이, 하드웨어, 소프트웨어, 펌웨어 또는 이들의 일부 조합에서 구현되든지, 모듈은 루틴, 서브시스템 등을 칭한다.
프로세스 메모리 모듈(430)은 각각의 프로세스에 대한 상태를 결정하도록 동작하고, 또한 다른 파라미터, 예를 들면 프로세스 또는 허용된 메모리 소비 등과 연관된 우선순위들을 관리할 수 있다. 프로세스 메모리 모듈(430)은 프로세스들의 상태도 제어할 수 있다. 프로세스 메모리 모듈(430)은 더 높은 우선순위 프로세스가 추가 메모리를 요구할 때 프로세스들을 프리즈하도록 동작할 수 있다.
소형 컨테이너 관리자(440)는 본 명세서에 설명된 바와 같은 소형 컨테이너의 동작 및 기능을 제어하도록 동작한다. 소형 컨테이너 관리자(440)는 소형 컨테이너 내의 데이터 구조들을 관리할 수 있을 뿐만 아니라 소형 컨테이너의 동작과 조직을 연결하여 본 명세서에 설명된 기능을 제공한다.
링크 관리자(450)는 데이터 구조와 메모리 로케이션 간, 예를 들면 소형 컨테이너와 비휘발성 메모리 간의 링크들을 팔로잉 및 유지하도록 동작한다. 링크 관리자(450)는 RAM에 다시 전송될 데이터에 대한 요청에 응답하여 비휘발성 메모리에서 데이터를 로케이팅하도록 동작할 수 있다.
메모리 전송 관리자(460)는 비휘발성 메모리로/로부터 읽기 및 쓰기를 제어하도록 동작한다. 일 실시예에서, 메모리 전송 관리자(460)는 데이터가 최소한의 쓰기 동작으로 비휘발성 메모리에 기록되게 한다. 마찬가지로, 메모리 전송 관리자(460)는 데이터가 최소한의 읽기로 비휘발성 메모리로부터 판독되게 한다. 이것은 비휘발성 메모리의 마모를 감소시킬 수 있다.
도 5는 모바일 디바이스의 예시적인 구현의 블록도(500)이다. 모바일 디바이스는 메모리 인터페이스(502), 하나 이상의 데이터 프로세서, 이미지 프로세서 및/또는 중앙 처리 장치(504), 및 주변장치 인터페이스(506)를 포함할 수 있다. 메모리 인터페이스(502), 하나 이상의 프로세서(504) 및/또는 주변장치 인터페이스(506)는 개별 구성요소일 수 있고 또는 하나 이상의 집적 회로에 통합될 수 있다. 모바일 디바이스 내의 다양한 구성요소들은 하나 이상의 통신 버스 또는 신호 라인에 의해서 결합될 수 있다.
센서들, 디바이스들, 및 서브시스템들은 주변장치 인터페이스(506)에 결합되어 다수의 기능을 용이하게 할 수 있다. 예를 들면, 모션 센서(510), 광 센서(512), 및 근접 센서(514)는 주변장치 인터페이스(506)에 결합되어 배향(orientation), 조명, 및 근접 기능을 용이하게 할 수 있다. 포지셔닝 시스템(예를 들어, GPS 수신기), 온도 센서, 생체인식 센서, 또는 다른 센싱 디바이스와 같은 기타 센서들(516)도 주변장치 인터페이스(506)에 접속되어 관련된 기능들을 용이하게 할 수 있다.
카메라 서브시스템(520) 및 광학 센서(522)(예를 들면, 전하 결합 소자(charged coupled device; CCD) 또는 상보성 금속 산화물 반도체(complementary metal-oxide semiconductor; CMOS) 광학 센서)가 활용되어 사진 및 비디오 클립을 기록하는 것과 같은 카메라 기능들을 용이하게 할 수 있다.
통신 기능은 하나 이상의 무선 통신 서브시스템(524)을 통해서 용이하게 될 수 있으며, 이는 라디오 주파수 수신기 및 송신기 및/또는 광학(예를 들면, 적외선) 수신기 및 송신기를 포함할 수 있다. 통신 서브시스템(524)의 특정 디자인 및 구현은 모바일 디바이스가 동작하도록 의도된 통신 네트워크(들)에 의존할 수 있다. 예를 들면, 모바일 디바이스는 GSM 네트워크, GPRS 네트워크, EDGE 네트워크, Wi-Fi 또는 WiMax 네트워크, 및 BluetoothTM 네트워크를 통해 동작하도록 설계된 통신 서브시스템(524)을 포함할 수 있다. 특히, 모바일 디바이스가 다른 무선 디바이스들을 위한 기지국으로서 구성될 수 있도록, 무선 통신 서브시스템(524)은 호스팅 프로토콜을 포함할 수 있다.
오디오 서브시스템(526)은 스피커(528) 및 마이크로폰(530)과 결합되어 음성 인식, 음성 복제, 디지털 레코딩, 및 전화 기능과 같은 음성 지원 기능들(voice-enabled functions)을 용이하게 할 수 있다.
I/O 서브시스템(540)은 터치 스크린 컨트롤러(542) 및/또는 기타 입력 컨트롤러(들)(544)를 포함할 수 있다. 터치 스크린 컨트롤러(542)는 터치 스크린(546)에 결합될 수 있다. 터치 스크린(546) 및 터치 스크린 컨트롤러(542)는, 예를 들면 용량성, 저항성, 적외선, 및 표면 탄성파 기술뿐만 아니라, 터치 스크린(546)과의 하나 이상의 접촉 포인트를 결정하기 위한 다른 구성요소 또는 다른 근접 센서 어레이를 포함하지만 이에 한정되지 않는 복수의 터치 감지 기술 중 임의의 것을 사용하여, 접촉 및 이동 또는 그것들의 중단(break)을 검출할 수 있다.
기타 입력 컨트롤러(들)(544)는 하나 이상의 버튼, 로커 스위치, 지동륜(thumb-wheel), 적외선 포트, USB 포트, 및/또는 스타일러스와 같은 포인터 디바이스와 같은 기타 입력/제어 디바이스(548)에 결합될 수 있다. 하나 이상의 버튼(도시되지 않음)은 스피커(528) 및/또는 마이크로폰(530)의 볼륨 제어를 위한 업/다운 버튼을 포함할 수 있다.
일 구현에서, 제1 지속기간 동안 버튼을 누르는 것은 터치 스크린(546)의 잠금을 풀 수 있고, 제1 지속기간보다 더 긴 제2 지속기간 동안 버튼을 누르는 것은 모바일 디바이스의 전원을 턴 온 또는 오프할 수 있다. 사용자는 하나 이상의 버튼의 기능을 커스터마이즈(customize)할 수 있다. 터치 스크린(546)은 예를 들면 가상 또는 소프트 버튼 및/또는 키보드를 구현하는 데 사용될 수도 있다.
일부 구현들에서, 모바일 디바이스는 MP3, AAC, 및 MPEG 파일들과 같은 기록된 오디오 및/또는 비디오 파일들을 나타낼 수 있다. 일부 구현들에서, 모바일 디바이스는 iPodTM과 같은 MP3 플레이어의 기능을 포함할 수 있다. 따라서, 모바일 디바이스는 iPodTM과 호환되는 32핀 커넥터를 포함할 수 있다. 다른 입력/출력 및 제어 디바이스들도 사용될 수 있다.
메모리 인터페이스(502)는 메모리(550)에 결합될 수 있다. 메모리(550)는 하나 이상의 자기 디스크 저장 디바이스, 하나 이상의 광학 저장 디바이스, 및/또는 플래시 메모리(예를 들어, NAND, NOR)와 같은 비휘발성 메모리 및/또는 고속 랜덤 액세스 메모리를 포함할 수 있다. 메모리(550)는 Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS와 같은 운영 체제(552) 또는 VxWorks와 같은 임베디드 운영 체제를 저장할 수 있다. 운영 체제(552)는 기본 시스템 서비스를 다루고 하드웨어 종속 작업들을 수행하는 명령어들을 포함할 수 있다. 일부 구현들에서, 운영 체제(552)는 커널(예를 들어, UNIX 커널)일 수 있다. 메모리 인터페이스(502)는 예를 들면 플래시 메모리일 수 있는 비휘발성 메모리(575)와도 결합될 수 있다.
메모리(550)는 또한 하나 이상의 추가 디바이스, 하나 이상의 컴퓨터 및/또는 하나 이상의 서버와의 통신을 용이하게 하는 통신 명령어(554)를 저장할 수 있다. 메모리(550)는 그래픽 유저 인터페이스 프로세싱을 용이하게 하는 그래픽 유저 인터페이스 명령어(556); 센서 관련 프로세싱 및 기능을 용이하게 하는 센서 프로세싱 명령어(558); 전화 관련 프로세스 및 기능을 용이하게 하는 전화 명령어(560); 전자 메시징 관련 프로세스 및 기능을 용이하게 하는 전자 메시징 명령어(562); 웹 브라우징 관련 프로세스 및 기능을 용이하게 하는 웹 브라우징 명령어(564); 미디어 프로세싱 관련 프로세스 및 기능을 용이하게 하는 미디어 프로세싱 명령어(566); GPS 및 내비게이션 관련 프로세스 및 기능을 용이하게 하는 GPS/내비게이션 명령어(568); 카메라 관련 프로세스 및 기능을 용이하게 하는 카메라 명령어(570); 및/또는 기타 프로세스 및 기능(예를 들어, 액세스 제어 관리 기능)을 용이하게 하는 기타 소프트웨어 명령어(572)를 포함할 수 있다.
메모리(550)는 웹 비디오 관련 프로세스 및 기능을 용이하게 하는 웹 비디오 명령어 및/또는 웹 쇼핑 관련 프로세스 및 기능을 용이하게 하는 웹 쇼핑 명령어와 같은 기타 소프트웨어 명령어(도시되지 않음)도 저장할 수 있다. 일부 구현들에서, 미디어 프로세싱 명령어(566)는, 예를 들면 오디오 프로세싱 관련 프로세스 및 기능과 비디오 프로세싱 관련 프로세스 및 기능을 각각 용이하게 하는 오디오 프로세싱 명령어와 비디오 프로세싱 명령어로 분할될 수 있다. 활성 레코드 및 IMEI(International Mobile Equipment Identity)(574) 또는 유사한 하드웨어 식별자도 메모리(550)에 저장될 수 있다.
본 명세서에 참조된 "일 실시예(one embodiment 또는 an embodiment)"는 실시예와 관련하여 설명된 특정 기능, 구조, 또는 특징이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 본 명세서의 여러 부분에서 나타나는 문구 "일 실시예에서"는 반드시 모두 동일한 실시예를 지칭하는 것은 아니다.
전술한 명세서에서, 본 발명이 그것의 특정 실시예를 참조하여 설명되었다. 그러나, 그에 대한 다양한 수정 및 변경들이 본 발명의 더 넓은 사상 및 범위에서 벗어나지 않고 만들어질 수 있음은 명백할 것이다. 따라서, 명세서 및 도면들은 제한적인 의미가 아닌 예시적인 것으로 간주되어야 한다.

Claims (27)

  1. 휘발성 메모리와 비휘발성 메모리 간의 데이터를 이동시키기 위한 방법으로서,
    상기 데이터를 상기 휘발성 메모리로부터 상기 비휘발성 메모리로 이동시키기 위한 요청을 수신하는 것에 응답하여 - 상기 데이터는 프로세스에 대응됨 - ,
    상기 휘발성 메모리의 제1 메모리 공간에서, 상기 데이터에 대응하는 제1 세트의 메모리 로케이션들을 결정하는 단계;
    상기 제1 세트의 메모리 로케이션들 각각에 대하여, 상기 휘발성 메모리 및 상기 비휘발성 메모리 각각과 상이한 별도의 보조 메모리에 상기 메모리 로케이션에 대한 포인터를 저장하는 단계;
    상기 보조 메모리에 저장된 각 포인터에 대하여, 상기 비휘발성 메모리의 제2 메모리 공간 내에서 하나 이상의 선택된 메모리 로케이션을 이용하여 상기 포인터에 의해 지시되는 상기 휘발성 메모리 상의 상기 데이터를 상기 비휘발성 메모리로 복사하는 단계; 및
    상기 하나 이상의 선택된 메모리 로케이션에 대한 정보를 상기 보조 메모리에 저장하는 단계
    를 포함하고,
    상기 비휘발성 메모리로부터 상기 휘발성 메모리로 상기 데이터를 이동시키기 위한 제2 요청을 수신하는 것에 응답하여,
    상기 보조 메모리에 저장된 상기 하나 이상의 선택된 메모리 로케이션에 대한 상기 정보에 기초하여, 상기 비휘발성 메모리로부터 상기 휘발성 메모리로 상기 데이터를 복사하는 단계
    를 더 포함하는 휘발성 메모리와 비휘발성 메모리 간의 데이터를 이동시키기 위한 방법.
  2. 삭제
  3. 제1항에 있어서,
    다른 프로세스에 또한 대응하는 상기 휘발성 메모리 내의 상기 제1 세트의 메모리 로케이션들에 대한 포인터들은 상기 보조 메모리에 저장되지 않는, 휘발성 메모리와 비휘발성 메모리 간의 데이터를 이동시키기 위한 방법.
  4. 제1항에 있어서,
    상기 프로세스에 대응하는 상기 제1 세트의 메모리 로케이션들을 회수(reclaim)하는 단계; 및
    상기 회수된 제1 세트의 메모리 로케이션들을 또 다른 프로세스에 할당하는 단계
    를 더 포함하는 휘발성 메모리와 비휘발성 메모리 간의 데이터를 이동시키기 위한 방법.
  5. 제1항에 있어서, 상기 데이터를 상기 비휘발성 메모리에 복사하는 단계는 단일 쓰기 동작으로 수행되는, 휘발성 메모리와 비휘발성 메모리 간의 데이터를 이동시키기 위한 방법.
  6. 제1항에 있어서,
    상기 비휘발성 메모리로부터 상기 휘발성 메모리로 상기 데이터를 복사하는 단계는,
    상기 데이터가 기입될 수 있는 상기 휘발성 메모리 상의 제2 세트의 메모리 로케이션들을 식별하는 단계; 및
    상기 비휘발성 메모리로부터 상기 휘발성 메모리 상의 상기 식별된 제2 세트의 메모리 로케이션들로 상기 데이터를 복사하는 단계를 포함하는, 휘발성 메모리와 비휘발성 메모리 간의 데이터를 이동시키기 위한 방법.
  7. 제6항에 있어서,
    상기 식별된 제2 세트의 메모리 로케이션들은 상기 보조 메모리에 저장된 상기 포인터들이 나타내는 상기 제1 세트의 메모리 로케이션들과 동일한, 휘발성 메모리와 비휘발성 메모리 간의 데이터를 이동시키기 위한 방법.
  8. 제6항에 있어서,
    상기 비휘발성 메모리로부터 상기 휘발성 메모리로 상기 데이터를 복사하는 단계는, 단일 읽기 동작으로 상기 비휘발성 메모리로부터 상기 데이터를 판독하는 단계를 포함하는, 휘발성 메모리와 비휘발성 메모리 간의 데이터를 이동시키기 위한 방법.
  9. 명령어들이 저장된 비일시적(non-transitory) 컴퓨터 판독가능한 매체로서,
    상기 명령어들은, 컴퓨팅 디바이스에 포함된 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금 휘발성 메모리와 비휘발성 메모리 간에 데이터를 이동시키기 위한 단계들을 수행하고,
    상기 단계들은,
    상기 휘발성 메모리로부터 상기 비휘발성 메모리로 상기 데이터를 이동시키기 위한 요청을 수신하는 것에 응답하여 - 상기 데이터는 프로세스에 대응됨 -,
    상기 휘발성 메모리의 제1 메모리 공간에서 상기 데이터에 대응되는 제1 세트의 메모리 로케이션들을 결정하는 단계 - 상기 데이터는 상기 휘발성 메모리로부터의 제거(eviction)를 위해 표시됨 - ,
    상기 제1 세트의 메모리 로케이션들의 각 메모리 로케이션에 대하여, 상기 휘발성 메모리 및 상기 비휘발성 메모리 각각과 상이한 별도의 보조 메모리로 상기 메모리 로케이션에 대하여 저장된 데이터를 복사하는 단계,
    상기 비휘발성 메모리의 제2 메모리 공간 내의 하나 이상의 선택된 메모리 로케이션을 이용하여 상기 보조 메모리 상의 상기 데이터를 상기 비휘발성 메모리로 복사하는 단계, 및
    상기 하나 이상의 선택된 메모리 로케이션에 관한 정보를 상기 보조 메모리에 저장하는 단계
    를 포함하고,
    상기 비휘발성 메모리로부터 상기 휘발성 메모리로 상기 데이터를 이동시키기 위한 제2 요청이 수신되는 경우,
    상기 보조 메모리에 저장되는 상기 하나 이상의 선택된 메모리 로케이션에 관한 상기 정보에 기초하여 상기 비휘발성 메모리로부터 상기 휘발성 메모리로 상기 데이터를 복사하는 단계
    를 더 포함하는, 비일시적 컴퓨터 판독가능한 매체.
  10. 삭제
  11. 제9항에 있어서,
    다른 프로세스와 또한 연관된 임의의 데이터는 상기 보조 메모리로 복사되지 않는, 비일시적 컴퓨터 판독가능한 매체.
  12. 제9항에 있어서,
    상기 단계들은,
    상기 프로세스에 대응하는 상기 제1 세트의 메모리 로케이션들을 회수하는 단계; 및
    상기 회수된 제1 세트의 메모리 로케이션들을 또 다른 프로세스에 할당하는 단계를 더 포함하는, 비일시적 컴퓨터 판독가능한 매체.
  13. 제9항에 있어서,
    상기 데이터를 상기 비휘발성 메모리에 복사하는 것은 단일 쓰기 동작으로 수행되는, 비일시적 컴퓨터 판독가능한 매체.
  14. 제9항에 있어서,
    상기 단계들은,
    상기 데이터가 기입될 수 있는 상기 휘발성 메모리 상의 제2 세트의 메모리 로케이션들을 식별하는 단계; 및
    상기 비휘발성 메모리로부터 상기 휘발성 메모리 상의 상기 식별된 제2 세트의 메모리 로케이션들로 상기 데이터를 복사하는 단계를 더 포함하는, 비일시적 컴퓨터 판독가능한 매체.
  15. 제14항에 있어서,
    상기 식별된 제2 세트의 메모리 로케이션들은 상기 제1 세트의 메모리 로케이션들과 동일한, 비일시적 컴퓨터 판독가능한 매체.
  16. 휘발성 메모리와 비휘발성 메모리 간에 데이터를 이동시키도록 구성된 장치로서,
    상기 휘발성 메모리;
    상기 비휘발성 메모리;
    보조 메모리; 및
    프로세서를 포함하고,
    상기 장치로 하여금,
    상기 휘발성 메모리로부터 상기 비휘발성 메모리로 데이터를 이동시키기 위한 요청을 수신하는 것에 응답하여 - 상기 데이터는 프로세스에 대응됨 -,
    상기 휘발성 메모리의 제1 메모리 공간에서, 상기 데이터에 대응하는 제1 세트의 메모리 로케이션들을 결정하고 - 상기 데이터는 상기 휘발성 메모리로부터의 제거를 위해 표시됨 -,
    상기 제1 세트의 메모리 로케이션들의 각 메모리 로케이션에 대하여, 상기 메모리 로케이션을 나타내는 포인터를 상기 보조 메모리에 저장하고,
    상기 보조 메모리에 저장된 각 포인터에 대하여, 상기 비휘발성 메모리의 제2 메모리 공간 내의 하나 이상의 선택된 메모리 로케이션을 이용하여 상기 포인터에 의해 지시되는 상기 휘발성 메모리 상의 상기 데이터를 상기 비휘발성 메모리로 복사하고,
    상기 하나 이상의 선택된 메모리 로케이션에 관한 정보를 상기 보조 메모리 상에 저장하며,
    상기 비휘발성 메모리로부터 상기 휘발성 메모리로 상기 데이터를 이동시키기 위한 제2 요청이 수신되는 경우,
    상기 보조 메모리에 저장되는 상기 하나 이상의 선택된 메모리 로케이션에 관한 상기 정보에 기초하여 상기 비휘발성 메모리로부터 상기 휘발성 메모리로 상기 데이터를 복사하도록,
    상기 프로세서가 구성되는, 휘발성 메모리와 비휘발성 메모리 간에 데이터를 이동시키도록 구성된 장치.
  17. 삭제
  18. 제16항에 있어서,
    상기 프로세서는 상기 장치로 하여금,
    상기 프로세스에 대응하는 상기 제1 세트의 메모리 로케이션들을 회수하고,
    상기 회수된 제1 세트의 메모리 로케이션들을 또 다른 프로세스에 할당하도록 더 구성되는, 휘발성 메모리와 비휘발성 메모리 간에 데이터를 이동시키도록 구성된 장치.
  19. 제16항에 있어서,
    상기 프로세서는 상기 장치로 하여금,
    상기 데이터가 기입될 수 있는 상기 휘발성 메모리 상의 제2 세트의 메모리 로케이션들을 식별하고,
    상기 비휘발성 메모리로부터 상기 휘발성 메모리 상의 상기 식별된 제2 세트의 메모리 로케이션들로 상기 데이터를 복사하도록 더 구성되는, 휘발성 메모리와 비휘발성 메모리 간에 데이터를 이동시키도록 구성된 장치.
  20. 제19항에 있어서,
    상기 식별된 제2 세트의 메모리 로케이션들은 상기 보조 메모리에 저장된 상기 포인터들이 지시하는 상기 제1 세트의 메모리 로케이션들과 동일한, 휘발성 메모리와 비휘발성 메모리 간에 데이터를 이동시키도록 구성된 장치.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
KR1020147002225A 2011-07-01 2012-06-27 메모리 타입들 간에 데이터를 이동하는 기술 KR101598727B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/175,303 2011-07-01
US13/175,303 US9195581B2 (en) 2011-07-01 2011-07-01 Techniques for moving data between memory types
PCT/US2012/044351 WO2013006326A1 (en) 2011-07-01 2012-06-27 Techniques for moving data between memory types

Publications (2)

Publication Number Publication Date
KR20140028123A KR20140028123A (ko) 2014-03-07
KR101598727B1 true KR101598727B1 (ko) 2016-02-29

Family

ID=46506627

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147002225A KR101598727B1 (ko) 2011-07-01 2012-06-27 메모리 타입들 간에 데이터를 이동하는 기술

Country Status (7)

Country Link
US (1) US9195581B2 (ko)
EP (1) EP2726990A1 (ko)
JP (1) JP5827403B2 (ko)
KR (1) KR101598727B1 (ko)
CN (1) CN103649927B (ko)
AU (1) AU2012279345B2 (ko)
WO (1) WO2013006326A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022173121A1 (ko) * 2021-02-15 2022-08-18 삼성전자 주식회사 이형 메모리들을 포함하는 전자 장치 및 그것의 이형 메모리들 간 압축 데이터 이동 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9354906B1 (en) * 2010-05-28 2016-05-31 Bromium, Inc. Managing the eviction process
JP2014127076A (ja) * 2012-12-27 2014-07-07 Nec Corp 情報記録再生装置及び記録再生方法
US10061532B2 (en) 2014-01-30 2018-08-28 Hewlett Packard Enterprise Development Lp Migrating data between memories
KR101592916B1 (ko) * 2014-04-03 2016-02-18 오픈스택 주식회사 사용자 스페이스와 커널 스페이스간의 콘텍스트 스위칭과 데이터 복사를 최소화하여 네트워크상의 복수의 목적지에 동일한 데이터를 전송하는 방법
KR102314138B1 (ko) 2015-03-05 2021-10-18 삼성전자 주식회사 모바일 장치 및 모바일 장치의 데이터 관리 방법
US10983931B2 (en) * 2015-04-30 2021-04-20 Microchip Technology Incorporated Central processing unit with enhanced instruction set
US9720617B2 (en) * 2015-06-02 2017-08-01 Apple Inc. System and method for compaction of compressed and uncompressed virtual memory
US10981576B2 (en) 2017-12-27 2021-04-20 Micron Technology, Inc. Determination of reliability of vehicle control commands via memory test
US11507175B2 (en) * 2018-11-02 2022-11-22 Micron Technology, Inc. Data link between volatile memory and non-volatile memory
CN113138941A (zh) 2020-01-20 2021-07-20 华为技术有限公司 内存交换的方法、装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086442A1 (en) * 2003-10-16 2005-04-21 International Business Machines Corporation Fast paging of a large memory block
US20100332693A1 (en) * 2009-06-30 2010-12-30 International Buisness Machines Corporation Direct memory access in a computing environment

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4577274A (en) * 1983-07-11 1986-03-18 At&T Bell Laboratories Demand paging scheme for a multi-ATB shared memory processing system
US5251303A (en) * 1989-01-13 1993-10-05 International Business Machines Corporation System for DMA block data transfer based on linked control blocks
GB2270780A (en) * 1992-09-21 1994-03-23 Ibm Scatter-gather in data processing systems.
US6038571A (en) * 1996-01-31 2000-03-14 Kabushiki Kaisha Toshiba Resource management method and apparatus for information processing system of multitasking facility
US6654428B1 (en) * 1998-01-13 2003-11-25 Massachusetts Institute Of Technology Systems and methods for wireless communications
US7089391B2 (en) * 2000-04-14 2006-08-08 Quickshift, Inc. Managing a codec engine for memory compression/decompression operations using a data movement engine
US6934755B1 (en) * 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
US6957237B1 (en) * 2000-06-02 2005-10-18 Sun Microsystems, Inc. Database store for a virtual heap
US6640285B1 (en) * 2000-10-26 2003-10-28 Emc Corporation Method and apparatus for improving the efficiency of cache memories using stored activity measures
JP2003076606A (ja) 2001-08-30 2003-03-14 Synthesis Corp プログラムの圧縮方法
US7426625B2 (en) * 2004-03-31 2008-09-16 International Business Machines Corporation Data processing system and computer program product for support of system memory addresses with holes
JP4550479B2 (ja) 2004-04-30 2010-09-22 ルネサスエレクトロニクス株式会社 電子制御装置及びデータ調整方法
US7231545B2 (en) * 2004-08-05 2007-06-12 International Business Machines Corporation Apparatus and method to convert data from a first sector format to a second sector format
EP1712985A1 (en) * 2005-04-15 2006-10-18 Deutsche Thomson-Brandt Gmbh Method and system for storing logical data blocks into flash-blocks in multiple non-volatile memories which are connected to at least one common data I/O bus
GB2426360A (en) 2005-05-18 2006-11-22 Symbian Software Ltd Reorganisation of memory for conserving power in a computing device
JP2007013481A (ja) 2005-06-29 2007-01-18 Sharp Corp 情報処理装置、情報処理方法、情報処理プログラム、情報処理プログラムを記録した記録媒体、および携帯電話機
JP2008217208A (ja) 2007-03-01 2008-09-18 Sony Corp 記憶装置およびコンピュータシステム、並びに記憶装置の管理方法
US20090158299A1 (en) * 2007-10-31 2009-06-18 Carter Ernst B System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed
JP2011028537A (ja) 2009-07-27 2011-02-10 Buffalo Inc 外部記憶装置へのアクセスを高速化する方法および外部記憶システム
US8176220B2 (en) * 2009-10-01 2012-05-08 Oracle America, Inc. Processor-bus-connected flash storage nodes with caching to support concurrent DMA accesses from multiple processors
US8589600B2 (en) * 2009-12-14 2013-11-19 Maxeler Technologies, Ltd. Method of transferring data with offsets
US8161241B2 (en) * 2010-01-12 2012-04-17 International Business Machines Corporation Temperature-aware buffered caching for solid state storage

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086442A1 (en) * 2003-10-16 2005-04-21 International Business Machines Corporation Fast paging of a large memory block
US20100332693A1 (en) * 2009-06-30 2010-12-30 International Buisness Machines Corporation Direct memory access in a computing environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022173121A1 (ko) * 2021-02-15 2022-08-18 삼성전자 주식회사 이형 메모리들을 포함하는 전자 장치 및 그것의 이형 메모리들 간 압축 데이터 이동 방법

Also Published As

Publication number Publication date
KR20140028123A (ko) 2014-03-07
AU2012279345A1 (en) 2014-01-09
CN103649927B (zh) 2016-12-07
EP2726990A1 (en) 2014-05-07
WO2013006326A1 (en) 2013-01-10
US20130007345A1 (en) 2013-01-03
JP2014522023A (ja) 2014-08-28
AU2012279345B2 (en) 2016-02-18
JP5827403B2 (ja) 2015-12-02
US9195581B2 (en) 2015-11-24
CN103649927A (zh) 2014-03-19

Similar Documents

Publication Publication Date Title
KR101598727B1 (ko) 메모리 타입들 간에 데이터를 이동하는 기술
CN113377283B (zh) 具有分区命名空间的存储器系统及其操作方法
KR102147993B1 (ko) 불휘발성 메모리 시스템 및 그것의 동작 방법
US9239780B2 (en) Selection of memory blocks for garbage collection based on variable block life threshold
KR20140006299A (ko) 낸드 플래시 메모리 기반의 저장부에 데이터 기록을 제어하는 방법 및 장치
US20140229657A1 (en) Readdressing memory for non-volatile storage devices
EP2665065A2 (en) Electronic device employing flash memory
US11392309B2 (en) Memory system for performing migration operation and operating method thereof
CN114442914B (zh) 存储器系统
CN114840450B (zh) 一种存储空间整理方法及电子设备
KR20190113479A (ko) 가상 스트림들과 물리 스트림들을 맵핑하기 위한 스토리지 장치 및 그것의 동작 방법
CN112445766A (zh) 一种终端碎片整理方法、装置以及终端
CN113805792A (zh) 存储器系统及其操作方法
CN111078587B (zh) 内存分配方法、装置、存储介质及电子设备
CN115080457A (zh) 控制器及其操作方法
CN116560587B (zh) 数据管理系统及终端设备
CN111324287A (zh) 一种存储器
US20220164119A1 (en) Controller, and memory system and data processing system including the same
US11941246B2 (en) Memory system, data processing system including the same, and operating method thereof
CN112732171B (zh) 控制器及其操作方法
CN114676092A (zh) 一种文件管理方法及相关设备
KR20220042673A (ko) 컨트롤러, 컨트롤러의 동작 방법, 및 이를 포함하는 메모리 시스템

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
FPAY Annual fee payment

Payment date: 20190129

Year of fee payment: 4