KR20080017886A - 메모리 접근 제어 장치 및 방법 - Google Patents
메모리 접근 제어 장치 및 방법 Download PDFInfo
- Publication number
- KR20080017886A KR20080017886A KR1020060079674A KR20060079674A KR20080017886A KR 20080017886 A KR20080017886 A KR 20080017886A KR 1020060079674 A KR1020060079674 A KR 1020060079674A KR 20060079674 A KR20060079674 A KR 20060079674A KR 20080017886 A KR20080017886 A KR 20080017886A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- memory
- flash memory
- weight
- hdd
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
- G06F12/127—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning using additional replacement algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 메모리의 Access 제어에 관한 것으로, 데이터가 저장되며 구동시 전원 및/또는 동작성능에 영향이 되는 메모리의 Access를 최소화하도록, 구동전원등이 적은 플래시 메모리에 저장되어 있는 데이터에 가중치를 부여하여 삭제를 통해 저장된 데이터를 갱신함으로써 전원소비를 줄이고 및 시스템 성능을 향상 시킬 수 있다.
메모리, 가중치, 삭제, 갱신
Description
도 1은 제어부 및 메모리를 포함하는 일반적인 시스템 블럭도
도 2는 상기 도 1의 구성에서 컴퓨터 시스템 블럭도
도 3은 종래기술에서의 메모리 접근(Access) 제어 방법을 나타낸 흐름도
도 4는 제어부 및 메모리를 포함하는 본 발명의 일반적인 시스템 블럭도
도 5는 본 발명 도 4의 동작부분을 상세히 나타낸 도면
도 6은 본 발명에 의한 가중치 테이블 생성/갱신을 나타내는 흐름도
도 7은 플래시 메모리에 저장된 사용/동작될 데이터등에 대한 Access 빈도 및/또는 데이터 크기 (Size)에 의거 생성되는 가중치 테이블
도 8은 본 발명에 의한 메모리 접근(Access) 제어 방법을 나타낸 흐름도
본 발명은 메모리 Access를 제어하는데 있어서, 메모리에 저장된 데이터에 부여되는 가중치에 의거, 상기 메모리에 저장된 일부 데이터를 삭제하고 새로운 데이터를 로딩하여 동작할 수 있는 장치와 방법에 관한 것이다.
이하 종래 및 관련 기술에 대해 설명한다.
도 1은 제어부 및 메모리를 포함하는 일반적인 시스템 블럭도이다.
도면에서 보는 바와 같이, 중앙처리 장치 (CPU) (10)와, 상기 CPU와 접속되며 그래픽 (Graphic) (11) 및 메모리 (13)를 제어하는 그래픽/메모리 제어 허브 (GMCH)(Graphic Memory Control Hub) (12)와, 데이터, 예를 들어 각종 프로그램과 상기 프로그램등에 의거 동작/처리되는 자료등이 저장되어 있는 HDD (17) 및 상기 HDD에 저장된 데이터등이 로딩(Loading)되는 플래시 메모리 (Flash Memory) 및 제어 칩 (Control Chip)등이 탑재되는 메인보드 H/W (16)를 제어하는 ICH (Input/Output Control Hub) (15)를 포함하여 구성된다.
도 2는 상기 도 1의 구성에서 컴퓨터 시스템 블럭도이다.
도면에서 보는 바와 같이, HDD(26)로부터 Reading되어 플래시 메모리 (27)에 저장된 데이터를, DRAM RAM (23)으로 Loading하여 동작하게 하는 동작 프로그램인Driver를 저장하고 있는 레지스터(20a)를 포함하는 CPU(20)와; 상기 CPU와 접촉되어 메모리 bus 입출력 조절 기능을 담당하는 제 1 칩셋(North bridge)(MCH) (22)과; 주변장치인 키보드 제어부 (28) 및 전원 버튼 (29)등의 입출력 기능을 관리하는 제 2 칩셋(South bridge)(ICH)(25)을 포함하여 구성된다.
또한 상기 ICH (25)에는 입출력 제어부 (24)가 접속되어 있다.
도 3은 종래기술에서의 메모리 접근(Access) 제어 방법을 나타낸 흐름도이 다.
시스템을 동작시키고, 사용자 동작을 위한 명령을 입력한다. (S 301, S 303).
시스템에서 사용/동작될 데이터 (프로그램 포함)등이 플래시 메모리 (27)에 존재하는지를 판단한다. (S 305).
상기 판단 결과, 사용/동작될 데이터등이 플래시 메모리 (도 2의 27)에 존재하는 경우, RAM (도 2의 23)에 Loading 되어 동작이 수행된다. (S 307).
한편, 사용/동작될 데이터등이 플래시 메모리에 존재하지 않는 경우, HDD(도 2의 26)를 Reading하여(S 309), 플래시 메모리에 로딩과 함께 상기 플래시 메모리 영역이 Full인지를 확인한다. (S 311a, S 311b).
상기에서, 사용/동작될 데이터등이 플래시 메모리에 존재하지 않는 경우, 플래시 메모리 영역이 Full인지를 먼저 확인할 수도 있을 것이며, 이는 본 발명에서도 같다.
상기 확인 결과, 플래시 메모리 영역이 여유가 있는 경우, HDD로부터 Reading되는 데이터를 플래시 메모리에 저장하고 (S 315), Cache 드라이버를 이용하여 동작램(DRAM)에 로딩하여 동작을 수행한다. (S 307).
한편, 플래시 메모리 영역이 여유가 없는 경우, HDD에서 Reading한 데이터등을 Overwriting 하거나, 기존에 저장된 데이터/프로그램등을 Random하게 삭제후에 Reading한 데이터를 저장하여 (S 313), DRAM (도 2의 23)에 Loading하여 동작을 수행한다.
그러나 상기와 같은 메모리 접근 방식은 HDD에서 Reading하여 플래시 메모리에 로딩된 데이터등에 대한 미리 정한 삭제 방법이 제안되고 있지 않아, 만약 사용/동작될 데이터등이 플래시 메모리에 존재하지 않는 경우, 빈번하게 HDD를 Access 하여야만 한다.
부연하면, 일반적인 데이터 처리는 HDD에서 Flash로 많은 Data를 올린 후, 다시 Flash data를 Memory로 올려서 사용하는 단순한 Read-back 방식을 사용하고 있다.
Flash Memory에 DATA가 모두 채워졌을 경우, HDD Access를 최소화하기 위한 방법이 없으므로 HDD를 Access 해야만 한다.
이로 인해, 상기 HDD 구동에 의한 전원 소비(Power Consumption)가 증가하게 되고, 또한 상기 HDD Access에 의한 동작 지연이 발생하여 System Performance가 저하되는 문제점이 발생한다.
본 발명은 많은 구동 전원 필요 및 동작 지연이 발생하게 하는 메모리의 접근을 최소화하여, 전원 소비 (Power Consumption)를 최소화하면서, 시스템 성능 (System Performance)을 향상시키는 메모리 접근 제어를 제안한다.
본 발명은 데이터등이 저장된 메모리 수단인 HDD로의 Access를 최소화하기 위한 메모리 접근 제어를 목적으로 한다.
본 발명은 데이터를 플래시 메모리에 로딩하여 Cache 메모리처럼 사용함으로 써 HDD의 구동을 위한 Access를 줄이는 것을 목적으로 한다.
본 발명은 플래시 메모리에 로딩된 데이터에 대하여, Access된 시점(최근여부), 빈도(횟수) 및/또는 크기에 의거 가중치를 부여/갱신하며, 상기 합산 가중치 값에 의거 이미 저장된 데이터를 삭제하는 것을 목적으로 한다.
본 발명은 플래시 메모리에 저장되어 있는 데이터등을 상기 가중치에 의거 삭제후에, HDD로부터 로딩된 새로운 데이터등을 저장하는 것을 목적으로 한다.
본 발명에서 데이터등에 부여되는 가중치는, Access시점이 최근일수록 또한 빈도가 많은 것은 가중치가 증가되고, 크기(size)가 큰 것은 가중치 감소하도록 설정하여, 상기 각 가중치를 참고하여 가중치 테이블은 갱신되는 것을 목적으로 한다.
본 발명에서 상기 각 가중치 고려요소에 대한 각 가중치는 같거나, 일부만 같거나 모두 다르게 설정하는 것을 목적으로 한다.
상기한 바와 같은 목적을 달성하기 위하여 본 발명에 따른 메모리 접근 제어 장치는, 중앙 처리 장치; 상기 중앙 처리 장치, 메모리 및 시스템 주변장치와 적어도 하나 이상 접속되는 제어부; 상기 제어부와 접속된 미리 정한 메모리에서 Reading한 Data에 대해 가중치가 부여되어 저장되는 미리 정한 다른 메모리; 및 데이터가 저장 및 처리가 적어도 하나 이상 수행되는 RAM Memory;를 포함하여 동작한다.
또한 본 발명은 메모리 및 제어부를 포함하는 시스템에 메모리 액세스를 제어하는데 있어서, 시스템이 동작 되는 단계; 제 1 메모리에서 데이터를 적어도 하나 이상 읽는(Reading) 단계; 상기 Reading한 데이터를 제 2 메모리에 로딩하는 단계; 및 상기 제 2 메모리에 저장된 데이터에 대한 가중치 테이블을 생성 및 갱신을 적어도 하나 이상 수행하는 단계;를 포함하여 동작 된다.
또한 본 발명에서의 가중치 테이블은 플래시 메모리에 저장되며, 데이터로의 Access 시점, 빈도 및/또는 데이터 크기(Size)에 의거 설정된다.
또한 본 발명은 시스템이 동작 되는 단계; 사용/동작될 데이터가 메모리에 존재하는지를 판단하는 단계; 상기 판단 결과에 의거, 상기 메모리 영역이 Full인지를 판단하는 단계; 상기 판단 결과에 의거, 가중치 테이블을 이용하여 메모리에 저장된 데이터를 삭제하는 단계; 및 가중치 테이블을 이용하여 메모리에 저장된 데이터를 삭제후에 다른 메모리부터 데이터를 로딩하는 단계;를 포함하여 동작 된다.
이하에서는 도면을 참조하여 본 발명에 따른 메모리 접근 제어 장치 및 방법에 대하여 보다 상세히 설명하기로 한다.
먼저, 본 발명에서 언급되고 있는 데이터는, 메모리에 저장되는 프로그램, 상기 프로그램에 의거 동작되는 데이터등을 포함하는 것으로써, 메모리에 저장되는 모든 데이터를 나타내는 것이다.
또한 본 발명에서의 각 가중치 고려 요소들 (Access 시점, 빈도, 데이터의 크기)의 가중치 크기는 서로 같거나, 일부만 같거나 서로 모두 다른 것을 특징으로 하는 메모리 접근 제어 방법.
본 발명에서의 메모리 접근 제어 동작을 설명하는데 있어서, 하나의 실시예로써 HDD에서 데이터등을 Reading하여 플래시 메모리에 Loading하고 RAM으로 불러와 처리 동작하는데 있어서, 상기 플래시 메모리에 저장된 데이터등에 대한 Access 시점, 빈도(횟수) 및/또는 데이터 크기에 의한 가중치를 산출하여, 가중치 낮은 데이터등을 삭제하고, Reading되는 새로운 데이터등으로 갱신하는 것을 설명하였으나, 이 분야에서의 종사자에게는 데이터/프로그램등이 저장된 메모리 종류 변경이나 응용이 가능할 것이고, 또한 상기 메모리에 저장되어 Reading되는 종류, 예를 들어 데이터도 다른 것으로 변경이나 응용이 가능할 것이다.
또한 본 발명은 컴퓨터 시스템을 예를 들어 설명하였으나, 제어부 및 메모리가 탑재된 모든 기기에서도 동일 또는 응용되어 적용된다.
도 4는 제어부 및 메모리를 포함하는 본 발명의 일반적인 시스템 블럭도이다.
도면에서 보는 바와 같이, 중앙처리 장치 (CPU) (40)와, 상기 CPU와 접속되며 그래픽 (Graphic) (미도시) 및 메모리 (43)를 제어하는 그래픽/메모리 제어 허브 (GMCH, Graphic Memory Control Hub) (42)와, 데이터등이 저장되어 있는 HDD (47) 및 상기 HDD에 저장된 데이터등이 로딩(Loading)되는 플래시 메모리 (Flash Memory)(46a,46b) 및 제어 칩 (46c)등이 탑재되는 메인보드 (46)를 제어하는 ICH (Input/Output Control Hub) (45)를 포함하여 동작한다.
또한 상기 플래시 메모리에 저장된 데이터등을 Cache 데이터처럼 동작하게 하는 Cache Driver (40a)가 CPU의 Register에 저장되어 있다.
도 5는 본 발명 도 4의 동작부분을 상세히 나타낸 도면이다.
도면에서 보는 바와 같이, 데이터등이 저장되어 있는 HDD (57) 및 상기 HDD로부터 데이터등을 로딩하는 플래시 메모리등을 포함하는 H/W부분 (56)과, PCI 버스를 통해 상기 H/W와 접속되어 동작되는 S/W 부분 (53)을 포함하여 구성된다.
도 6은 본 발명에 의한 가중치 테이블 생성/갱신을 나타내는 흐름도이다.
먼저, 시스템을 동작 시킨다. (S 601).
사용자 명령 또는/및 시스템 동작에 따른 미리 정한 동작 루틴에 의거, 제어부에 의해 HDD로부터 데이터등을 Reading하여 플래시 메모리에 로딩한다. (S 603, 605, 607).
이후, 드라이버가 상기 플래시 메모리를 Access하여 사용/동작될 데이터등을 RAM에 로딩하여 동작을 처리한다. 이때 Access되는 시점, 빈도 및/또는 데이터 크기에 의거 가중치 테이블을 생성/갱신한다. (S 609).
가중치를 부여하는 하나의 예로써, 데이터에 대한 Access 시점이 1개월 이내면 1점 가산하고, 데이터에 1번 Access시 1점을 가산하고, 크기가 10Mbytes 단위로 1점을 감산한다.
또한 본 발명에서의 각 가중치 고려 요소들 (Access 시점, 빈도, 데이터의 크기)의 가중치 크기는 서로 같거나, 일부만 같거나 서로 모두 다르게 할 수 있다.
또한 상기 세가지 고려 요소를 모두 함께 고려할 수 있고, 미리 정한 요소만 이용할 수도 있으며, 상기 세가지 이외 사항, 예를 들어 시스템에서의 중요도등, 을 추가할 수도 있을 것이다.
도 7은 플래시 메모리에 저장된 사용/동작될 데이터등에 대한 Access 빈도 및/또는 데이터 크기 (Size)에 의거 생성되는 가중치 테이블이다.
도면에서, 가중치 테이블은 Access 횟수 (701) 및 데이터 크기 (702)에 의거, 계산된 가중치 (703)가 산출되며, 상기 계산된 가중치에 의거 플래시 메모리에서의 제거 순위 (704)가 결정된다.
먼저, Access 빈도에 의한 가중치는, 1회 Access시 가중치를 1점 가산하는 것으로 설정하며, 이는 하나의 예이며 다른 기준으로 나타낼 수 있음은 자명한 사실이다.
상기 기준에 의거, 1회 Access시 가중치가 1점이 가산됨을 (1)로 나타내었고, 5회 Access시 가중치가 5점이 가산됨을 (5)로 나타내었고, Access를 안한 경우의 가중치는 0점이 가산됨을 (0)으로 나타내었고, 2회 Access시 가중치가 2점이 가산됨을 (2)로 나타내었다.
또한 데이터 크기(size)에 의한 가중치는, 10M bytes 단위로 가중치를 1점 감산하는 것으로 설정하며, 이는 하나의 예이며 다른 기준으로 나타낼 수 있음은 자명한 사실이다.
상기 기준에 의거, 데이터의 크기가 10M bytes시 가중치가 0점이 감산됨을 (0)으로 나타내었고, 20M bytes 가중치가 1점이 감산됨을 (-1)로 나타내었고, 30M bytes 가중치가 2점이 감산됨을 (-2)로 나타내었고, 60M bytes 가중치가 5점이 감산됨을 (-5)로 나타내었다.
상기에서, DATA등의 Size에 따라서 가중치를 감산하는 이유는 DATA의 size가 작을 수록 Flash에 더 많은 다양한 종류의 DATA가 들어갈 수 있다.
따라서 이러한 작은 DATA들이 플래시에 저장되어 있는 경우, HDD가 깨어나는 것을 방지 할 수 있기 때문이다. 즉, HDD가 깨어나게 된다면, Power Consumption 측면에서는 데이터의 size와 거의 무관하게 Power Consumption이 발생하기 때문에 데이터의 크기가 작은 것에 높은 가중치를 설정하였다.
상기의 요소(데이터의 Access 빈도 및/또는 크기)와 같은 가중치 결과에 의거, 도면 번호 705의 가중치 고려요소에 의거 계산된 가중치 (Weight)는 1이고, 도면 번호 706의 가중치 고려요소에 의거 계산된 가중치 (Weight)는 4이고, 도면 번호 707의 가중치 고려요소에 의거 계산된 가중치 (Weight)는 -2이고, 도면 번호 708의 가중치 고려요소에 의거 계산된 가중치 (Weight)는 -3이다.
상기의 계산된 가중치 결과에 의거, 플래시 메모리가 Full 또는 삭제 필요성이 있는 경우, 삭제될 데이터의 순서는 도면번호 708,707,705,706으로 삭제될 것이다.
물론 상기 삭제될 순서는 정해져 있는 것이 아니고, 플래시 메모리의 사용 정도에 따라 계속 변동되다가, HDD에서 데이터등을 Reading할 필요가 있는 시점에서 가중치에 의거 삭제될 데이터등이 결정된다.
도 8은 본 발명에 의한 메모리 접근(Access) 제어 방법을 나타낸 흐름도이다.
시스템을 동작시키고, 사용자 동작을 위한 명령을 입력한다. (S 801, S 803).
시스템에서 사용/동작될 데이터등이 플래시 메모리에 존재하는지를 판단한다. (S 805).
상기 판단 결과, 사용/동작될 데이터등이 플래시 메모리에 존재하는 경우, RAM에 Loading 되어 동작이 수행된다. (S 807).
한편, 사용/동작될 데이터등이 플래시 메모리에 존재하지 않는 경우, HDD를 Reading하여 플래시 메모리에 로딩과 함께 상기 플래시 메모리 영역이 Full인지를 확인할 수도 있고, 상기 플래시 메모리 영역이 Full인지를 먼저 확인할 수 있다. (S 809).
상기 확인 결과, 플래시 메모리 영역이 여유가 있는 경우, HDD로 부터 Reading되는 데이터등을 플래시 메모리에 로딩을 시작한다 (S 813).
상기 로딩 동작이 완료되면 (S 815), Cache 드라이버를 이용하여 동작램(DRAM)에 로딩하여 동작을 수행하고(S 807), 사용/동작된 데이터등에 대한 가중치 테이블을 생성 또는/및 갱신한다. (S 817).
그러나 데이터등이 HDD에서 플래시 메모리로 로딩중에, 메모리 영역이 부족하여 로딩이 완료되지 못한 경우, 가중치 테이블을 참조하여, 가중치가 작은 데이터등을 먼저 삭제하도록 한다. (S 815, S 811)
한편, 플래시 메모리 영역이 여유가 없는 경우, 도 6 및 도 7과 같은 가중치 테이블을 참조하여, 가중치가 작은 데이터/프로그램을 삭제하도록 한다. (S 809, S 811).
상기에서 플래시 메모리 공간의 여유가 있는지 없는지의 판단은, 미리 정한 공간이하가 되는 경우 메모리에 여유가 없음으로 판단할 수 있도록 설정할 수 있다.
상기한 본 발명에 의한 메모리 접근 제어에 의거, HDD의 전원소비가 종전에는 플랫폼 전원의 8-10%에 점유하였으나 1-3%로 줄어들었다.
또한 빈번하게 HDD를 Access함에 따라 시스템 구동 Read time의 지연시간에 대한 영향률이 95% 였으나, 10-15%로 감소하였다.
즉 전원소비 및 시스템 성능이 향상되었다.
상기한 본 발명의 설명에서 언급된 데이터등은 일반적으로 사용되는 것을 나타내는 것으로, 상기 데이터 이외 다른 사항들도 본 발명을 통해 동작 될 것이다.
또한 본 발명에서는 HDD에서 플래시 메모리로 로딩/저장되어 RAM에서 동작되는 것을 실시예로써 설명하였으나, HDD가 아닌 다른 저장 매체에 저장된 데이터등을 미리 정한 메모리로 로딩/저장하여, 미리 정한 다른 메모리에서 처리하는 모든 장치 및 방법에 적용되어 동작 될 것이다.
또한 본 발명에서는 HDD에서 플래시 메모리로 로딩/저장되어 RAM에서 동작되는 것을 실시예로써 설명하였으나, HDD가 아닌 다른 저장 매체에 저장된 데이터등을 미리 정한 플래시 메모리로 로딩/저장하여, 미리 정한 상기 플래시 메모리에서 처리하는 모든 장치 및 방법에 적용되어 동작 될 것이다.
상기한 바와 같이, 본 발명의 실시 예에 따른 메모리 Access 제어 장치 및 방법은, 메모리 수단인 HDD에서 데이터등을 읽어, 메인보드에 탑재되는 플래시 메모리에 상기 데이터등을 Loading한후, 미리 정한 동작 프로그램으로 RAM에 로딩하 여 동작을 수행함으로써, 상기 플래시 메모리가 Cache 메모리처럼 사용됨으로써, HDD를 빈번하게 Access하지 않아도 된다.
또한 상기 플래시 메모리에 로딩 되어 저장되는 데이터를, Access 시점, 빈도 및/또는 데이터 크기에 의한 가중치에 의거 삭제후, HDD에서 Reading되는 데이터등으로 갱신하여 저장함으로써 효율적인 Access를 수행할 수 있다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면, 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 또 다른 다양한 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.
상기한 바와 같은 본 발명에 따른 메모리 Access 제어 장치 및 방법은, 메모리 수단인 HDD에서 데이터등을 플래시 메모리에 Loading하여 Cache 메모리처럼 사용함으로써, HDD를 빈번하게 Access하지 않아도 된다.
또한 상기 플래시 메모리에 로딩 되어 저장되는 데이터/프로그램등에 대해, Access 시점, 빈도 및/또는 데이터 크기에 의거 부여된 가중치에 의거 삭제후, HDD에서 Reading되는 데이터등으로 갱신하여 저장함으로써 효율적인 Access를 수행할 수 있다.
따라서 상기와 같은 동작으로 인해, HDD의 Access를 최소화하여 전력소비 (Power consumption)를 최소화하면서, 시스템의 성능 (System Performance)을 높일 수 있다.
Claims (25)
- 메모리 및 제어부를 포함하는 시스템에 있어서,중앙 처리 장치;상기 중앙 처리 장치, 메모리 및 시스템 주변장치와 적어도 하나 이상 접속되는 제어부; 및상기 제어부와 접속된 미리 정한 메모리에서 Reading한 Data에 대해 가중치가 부여되어 저장되는 미리 정한 다른 메모리;를 포함하는 것을 특징으로 하는 메모리 접근 제어 장치.
- 제 1항에 있어서, 데이터가 저장 및 처리가 적어도 하나 이상 수행되는 RAM Memory;를 더 포함하는 것을 특징으로 하는 메모리 접근 제어 장치.
- 제 1항에 있어서, 미리 정한 메모리인 HDD로부터 데이터를 Reading하는 것을 특징으로 하는 메모리 접근 제어 장치.
- 제 1항에 있어서, 미리 정한 다른 메모리는 플래시 메모리인 것을 특징으로 하는 메모리 접근 제어 장치.
- 제 1항에 있어서, 가중치는 Data에 Access되는 시점, 빈도 및 크기를 적어도 하나 이상 고려하여 설정되는 것을 특징으로 하는 메모리 접근 제어 장치.
- 제 5항에 있어서, 설정된 가중치는 Data에 Access되는 시점, 빈도 및 크기의 적어도 하나 이상을 이용하여 갱신되는 것을 특징으로 하는 메모리 접근 제어 장치.
- 제 1항에 있어서, HDD 메모리에서 Reading한 Data와, 상기 Data에 대한 가중치는 Flash memory에 저장되는 것을 특징으로 하는 메모리 접근 제어 장치.
- 제 1항에 있어서, HDD 메모리에서 Reading되는 Data는 프로그램, 상기 프로그램에 의거 동작 되는 데이터 및 메모리에 저장되는 모든 데이터를 포함하는 것을 특징으로 하는 메모리 접근 제어 장치.
- 중앙 처리 장치;상기 중앙 처리 장치 및 데이터가 처리되는 메모리와 접속되어 있는 제 1 제어부;상기 제 1 제어부 및 시스템 주변장치와 접속되어 있는 제 2 제어부; 및상기 제 2 제어부와 접속된 메모리에서 Reading한 Data 및 상기 Data에 대한 가중치가 저장되는 메모리;를 포함하는 것을 특징으로 하는 메모리 접근 제어 장치.
- 제 9항에 있어서, 제 1 제어부는 상기 CPU (Central Processing Unit)에 접속되어 있으며, 시스템 메모리 버스의 입출력을 제어하기 위해 구성된 North Bridge인 것을 특징으로 하는 메모리 접근 제어 장치.
- 제 9항에 있어서, 제 2 제어부는 입력 장치를 제어하고, HDD로부터 데이터를Reading하여 메모리에 저장하도록 제어하기 구성된 South Bridge인 것을 특징으로 하는 메모리 접근 제어 장치.
- 제 11항에 있어서, HDD로 부터 Reading한 데이터는 Flash Memory에 저장되는 것을 특징으로 하는 메모리 접근 제어 장치.
- 제 12항에 있어서, Flash Memory에 저장된 데이터에 대한 Access 시점, 빈도 및/또는 크기(Size)에 의거 생성 및 갱신되는 가중치 테이블이 저장되는 것을 특징으로 하는 메모리 접근 제어 장치.
- 메모리 및 제어부를 포함하는 시스템에 메모리 액세스를 제어하는데 있어서,시스템이 동작 되는 단계;제 1 메모리에서 데이터를 적어도 하나 이상 읽는(Reading) 단계;상기 Reading한 데이터를 제 2 메모리에 로딩하는 단계; 및상기 제 2 메모리에 저장된 데이터에 대한 가중치 테이블을 생성 및 갱신을 적어도 하나 이상 수행하는 단계;를 포함하는 것을 특징으로 하는 메모리 접근 제어 방법.
- 제 14항에 있어서, 가중치 테이블은 플래시 메모리에 저장되며, 데이터로의 Access 시점, 빈도 및/또는 크기(Size)에 의거 설정되는 것을 특징으로 하는 메모리 접근 제어 방법.
- 제 15항에 있어서, 상기 플래시 메모리에 저장된 데이터를 1회 Access 하는 경우, 상기 Access된 데이터에 대해 미리 정한 가중치를 가산하는 것을 특징으로 하는 메모리 접근 제어 방법.
- 제 15항에 있어서, 상기 플래시 메모리에 저장된 데이터를 Access 하는 경우, 상기 Access된 데이터의 미리 정한 크기(Size)별로 미리 정한 가중치를 감산하는 것을 특징으로 하는 메모리 접근 제어 방법.
- 제 15항에 있어서, 상기 플래시 메모리에 저장된 데이터를 Access 하는 경우, 상기 데이터에 대한 Access된 시점이 최근일수록 미리 정한 가중치를 가산하는 것을 특징으로 하는 메모리 접근 제어 방법.
- 제 15항에 있어서, 각 가중치 고려 요소들의 가중치 크기는 서로 같거나, 일부만 같거나 서로 모두 다른 것을 특징으로 하는 메모리 접근 제어 방법.
- 복수의 메모리 및 제어부를 포함하는 시스템에 있어서,시스템이 동작 되는 단계;사용/동작될 데이터가 메모리에 존재하는지를 판단하는 단계;상기 판단 결과에 의거, 상기 메모리 영역이 Full인지를 판단하는 단계; 및상기 판단 결과에 의거, 가중치 테이블을 이용하여 메모리에 저장된 데이터를 삭제하는 단계;를 포함하는 것을 특징으로 하는 메모리 접근 제어 방법.
- 제 20항에 있어서, 가중치 테이블을 이용하여 메모리에 저장된 데이터를 삭제후에 다른 메모리부터 데이터를 로딩하는 단계;를 더 포함하는 것을 특징으로 하는 메모리 접근 제어 방법.
- 복수의 메모리 및 제어부를 포함하는 시스템에 있어서,시스템이 동작 되는 단계;사용/동작될 데이터가 제 1 메모리인 Flash Memory에 존재하는지를 판단하는 단계;상기 판단 결과에 의거, 상기 메모리 영역이 Full인지를 판단하는 단계;상기 판단 결과에 의거, 제 2 메모리인 HDD로부터 데이터를 로딩하는 단계;상기 로딩이 완료되었는지를 판단하는 단계;상기 판단 결과에 의거, 가중치 테이블을 이용하여 제 1 메모리에 저장된 데이터를 삭제하는 단계; 및제 2 메모리부터 제 1 메모리로 데이터를 로딩하는 단계;를 포함하는 것을 특징으로 하는 메모리 접근 제어 방법.
- 제 22항에 있어서, 제 1 메모리는 Flash Memory인 것을 특징으로 하는 메모리 접근 제어 방법.
- 제 22항에 있어서, 제 2 메모리는 시스템의 동작을 위한 프로그램 및 상기 스템에서 동작 되는 데이터가 저장되어 있는 것을 특징으로 하는 메모리 접근 제어 방법.
- 제 24항에 있어서, 제 2 메모리는 HDD인 것을 특징으로 하는 메모리 접근 제어 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060079674A KR101128234B1 (ko) | 2006-08-23 | 2006-08-23 | 메모리 접근 제어 장치 및 방법 |
US11/559,298 US7853762B2 (en) | 2006-08-23 | 2006-11-13 | Controlling access to non-volatile memory |
CNA2006101689093A CN101131671A (zh) | 2006-08-23 | 2006-12-08 | 控制对非易失性存储器的访问 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060079674A KR101128234B1 (ko) | 2006-08-23 | 2006-08-23 | 메모리 접근 제어 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080017886A true KR20080017886A (ko) | 2008-02-27 |
KR101128234B1 KR101128234B1 (ko) | 2012-03-23 |
Family
ID=39128944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060079674A KR101128234B1 (ko) | 2006-08-23 | 2006-08-23 | 메모리 접근 제어 장치 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7853762B2 (ko) |
KR (1) | KR101128234B1 (ko) |
CN (1) | CN101131671A (ko) |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070152076A1 (en) * | 2004-12-13 | 2007-07-05 | Chiang Kuo C | Monitoring system with a wireless transmitting/receiving module |
US8935302B2 (en) | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
US20080140724A1 (en) | 2006-12-06 | 2008-06-12 | David Flynn | Apparatus, system, and method for servicing object requests within a storage controller |
TW200905545A (en) * | 2007-07-16 | 2009-02-01 | Prolific Technology Inc | External storage device |
US8930651B2 (en) * | 2007-10-05 | 2015-01-06 | Imation Corp. | Archiving system with partitions of individual archives |
US20090094423A1 (en) * | 2007-10-05 | 2009-04-09 | Prostor Systems, Inc. | Methods for implementation of an archiving system which uses removable disk storage system |
US8140787B2 (en) * | 2007-10-05 | 2012-03-20 | Imation Corp. | Methods for implementation of an active archive in an archiving system and managing the data in the active archive |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
CN101551779B (zh) * | 2008-04-02 | 2014-11-05 | 深圳市朗科科技股份有限公司 | 计算机及数据存储方法 |
US8234540B2 (en) | 2008-07-01 | 2012-07-31 | International Business Machines Corporation | Error correcting code protected quasi-static bit communication on a high-speed bus |
US20100005335A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Microprocessor interface with dynamic segment sparing and repair |
US8429436B2 (en) | 2009-09-09 | 2013-04-23 | Fusion-Io, Inc. | Apparatus, system, and method for power reduction in a storage device |
US9223514B2 (en) | 2009-09-09 | 2015-12-29 | SanDisk Technologies, Inc. | Erase suspend/resume for memory |
WO2011143628A2 (en) | 2010-05-13 | 2011-11-17 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
EP2598996B1 (en) | 2010-07-28 | 2019-07-10 | SanDisk Technologies LLC | Apparatus, system, and method for conditional and atomic storage operations |
US8725934B2 (en) | 2011-12-22 | 2014-05-13 | Fusion-Io, Inc. | Methods and appratuses for atomic storage operations |
US8984216B2 (en) | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
CN102487422B (zh) * | 2010-12-02 | 2015-04-29 | 北京市三希电子科技开发公司 | 语音提示文件的处理方法和装置 |
US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
US10817502B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
US9218278B2 (en) | 2010-12-13 | 2015-12-22 | SanDisk Technologies, Inc. | Auto-commit memory |
WO2012083308A2 (en) | 2010-12-17 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
TW201232400A (en) * | 2011-01-20 | 2012-08-01 | Acer Inc | Method for pre-loading frequently launched application and electronic device using the same |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
US9141527B2 (en) | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
WO2012129191A2 (en) | 2011-03-18 | 2012-09-27 | Fusion-Io, Inc. | Logical interfaces for contextual storage |
US8365023B2 (en) | 2011-04-29 | 2013-01-29 | International Business Machines Corporation | Runtime dynamic performance skew elimination |
JP5175953B2 (ja) * | 2011-06-02 | 2013-04-03 | 株式会社東芝 | 情報処理装置およびキャッシュ制御方法 |
US9697115B2 (en) | 2011-10-26 | 2017-07-04 | Hewlett-Packard Development Company, L.P. | Segmented caches |
EP2783290A4 (en) * | 2011-11-21 | 2016-06-08 | Hewlett Packard Development Co | MEMORY AMOUNT FOR PERFORMING AN APPLICATION |
US9274937B2 (en) | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US10114750B2 (en) | 2012-01-23 | 2018-10-30 | Qualcomm Incorporated | Preventing the displacement of high temporal locality of reference data fill buffers |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US10346095B2 (en) | 2012-08-31 | 2019-07-09 | Sandisk Technologies, Llc | Systems, methods, and interfaces for adaptive cache persistence |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
US10318495B2 (en) | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
US9852058B2 (en) | 2012-09-28 | 2017-12-26 | International Business Machines Corporation | NVS thresholding for efficient data management |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US10102144B2 (en) | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
US10558561B2 (en) | 2013-04-16 | 2020-02-11 | Sandisk Technologies Llc | Systems and methods for storage metadata management |
US9842128B2 (en) | 2013-08-01 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for atomic storage operations |
US10019320B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for distributed atomic storage operations |
US10073630B2 (en) | 2013-11-08 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for log coordination |
EP2903161B1 (en) * | 2014-01-31 | 2016-07-13 | U-blox AG | Reliable crystal oscillator start-up |
CN105824570B (zh) * | 2015-01-04 | 2018-11-23 | 致伸科技股份有限公司 | 可降低耗电的硬盘装置以及降低硬盘装置耗电的方法 |
US9946607B2 (en) | 2015-03-04 | 2018-04-17 | Sandisk Technologies Llc | Systems and methods for storage error management |
CN110413339A (zh) * | 2015-11-12 | 2019-11-05 | 华为技术有限公司 | 加载软件模块的方法和装置 |
KR102580820B1 (ko) * | 2016-03-10 | 2023-09-20 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10963425B2 (en) | 2018-08-17 | 2021-03-30 | Microsoft Technology Licensing, Llc | Data placement on magnetic data storage tape |
CN112117937B (zh) * | 2020-09-08 | 2021-12-31 | 绍兴文理学院元培学院 | 一种永磁同步电机控制系统及电机转速测量方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3568110B2 (ja) * | 1999-10-15 | 2004-09-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置 |
AU2001275147A1 (en) * | 2000-06-23 | 2002-01-08 | Intel Corporation | Non-volatile cache |
JP2002135857A (ja) * | 2000-10-20 | 2002-05-10 | Mitsubishi Heavy Ind Ltd | 遠隔監視装置および遠隔監視方法 |
JP2002140234A (ja) * | 2000-11-02 | 2002-05-17 | Hitachi Ltd | キャッシュ装置 |
US7275135B2 (en) * | 2001-08-31 | 2007-09-25 | Intel Corporation | Hardware updated metadata for non-volatile mass storage cache |
US20030110357A1 (en) * | 2001-11-14 | 2003-06-12 | Nguyen Phillip V. | Weight based disk cache replacement method |
US6910106B2 (en) * | 2002-10-04 | 2005-06-21 | Microsoft Corporation | Methods and mechanisms for proactive memory management |
US7076611B2 (en) * | 2003-08-01 | 2006-07-11 | Microsoft Corporation | System and method for managing objects stored in a cache |
US7380055B2 (en) * | 2004-06-21 | 2008-05-27 | Dot Hill Systems Corporation | Apparatus and method in a cached raid controller utilizing a solid state backup device for improving data availability time |
US20060282620A1 (en) * | 2005-06-14 | 2006-12-14 | Sujatha Kashyap | Weighted LRU for associative caches |
-
2006
- 2006-08-23 KR KR1020060079674A patent/KR101128234B1/ko active IP Right Grant
- 2006-11-13 US US11/559,298 patent/US7853762B2/en not_active Expired - Fee Related
- 2006-12-08 CN CNA2006101689093A patent/CN101131671A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20080052477A1 (en) | 2008-02-28 |
CN101131671A (zh) | 2008-02-27 |
KR101128234B1 (ko) | 2012-03-23 |
US7853762B2 (en) | 2010-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101128234B1 (ko) | 메모리 접근 제어 장치 및 방법 | |
US10503635B2 (en) | System and method for adaptive optimization for performance in solid state drives based on segment access frequency | |
US11675709B2 (en) | Reading sequential data from memory using a pivot table | |
US20050086551A1 (en) | Memory optimization for a computer system having a hibernation mode | |
US20190155740A1 (en) | Semiconductor device and cache memory control method for reducing power consumption | |
EP2771795B1 (en) | Segmented caches | |
KR20200040544A (ko) | 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 스토리지 장치, 및 상기 메모리 컨트롤러의 동작 방법 | |
US11907164B2 (en) | File loading method and apparatus, electronic device, and storage medium | |
US20020116578A1 (en) | Cache memory system | |
KR20030095985A (ko) | 캐시로부터의 부팅 | |
US10719247B2 (en) | Information processing device, information processing method, estimation device, estimation method, and computer program product | |
KR20160125887A (ko) | 메모리 관리 | |
US20070101098A1 (en) | Apparatus and method of reducing page fault rate in virtual memory system | |
US7526615B2 (en) | Compressed victim cache | |
US10678705B2 (en) | External paging and swapping for dynamic modules | |
JP6873942B2 (ja) | 推定装置、推定方法およびプログラム | |
JP6877381B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
US10592420B1 (en) | Dynamically redistribute cache space with min-max technique | |
US11132128B2 (en) | Systems and methods for data placement in container-based storage systems | |
US10635594B1 (en) | Dynamically redistribute cache space based on time savings | |
In et al. | SWL: a search-while-load demand paging scheme with NAND flash memory | |
CN115576863A (zh) | 一种数据读写方法、存储设备及存储介质 | |
JP6254986B2 (ja) | 情報処理装置、アクセスコントローラ、および情報処理方法 | |
CN108932111B (zh) | 一种数据读写性能的优化方法、介质及设备 | |
KR101618999B1 (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: 20150224 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160224 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170224 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180223 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20200224 Year of fee payment: 9 |