KR20120094855A - 정보 처리장치 및 정보 처리장치를 제어하는 제어방법 - Google Patents
정보 처리장치 및 정보 처리장치를 제어하는 제어방법 Download PDFInfo
- Publication number
- KR20120094855A KR20120094855A KR1020120015658A KR20120015658A KR20120094855A KR 20120094855 A KR20120094855 A KR 20120094855A KR 1020120015658 A KR1020120015658 A KR 1020120015658A KR 20120015658 A KR20120015658 A KR 20120015658A KR 20120094855 A KR20120094855 A KR 20120094855A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- continuous
- nonvolatile
- access
- storage
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- 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
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- 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
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Power Sources (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
제1 불휘발성 기억장치는 랜덤 액세스보다 연속 액세스에서 더 빠른 액세스 속도를 갖고, 제2 불휘발성 기억장치는 연속 액세스보다 랜덤 액세스에서 더 빠른 액세스 속도를 갖는다. 정보 처리장치는, 휘발성 기억장치에 기억된 데이터를 제1 불휘발성 기억장치에 보존하는 경우에 랜덤 데이터의 양보다 연속 데이터의 양이 많은 제1 기억방식을 선택하고, 휘발성 기억장치에 기억된 데이터를 제2 불휘발성 기억장치에 보존하는 경우에 연속 데이터의 양보다 랜덤 데이터의 양이 많은 제2 기억방식을 선택하고, 소정의 조건이 만족된 경우에, 선택된 기억방식을 사용하여, 휘발성 기억장치에 기억된 데이터를 특정된 불휘발성 기억장치에 보존한다.
Description
본 발명은, 하이버네이션 기능을 구비한 정보 처리장치 및 정보 처리장치를 제어하는 방법에 관한 것이다.
시스템을 구성하는 소프트웨어 규모의 증가에 따라, 전원 스위치를 온하고나서 시스템의 기동이 완료할 때까지의 시간(기동 시간)이 늘고 있다. 이 기동 시간의 증대에 기인한 문제에 대한 해결책의 한가지로서, 하이버네이션 기술이 존재한다.
하이버네이션에서는, 전원을 셧다운하기 전에, 시스템의 휘발성 메모리(RAM)에 기억되어 있는 정보가 하드 디스크(HDD), SSD(Solid State Drive) 또는 USB(Universal Serial Bus) 메모리 등의 불휘발성 기억장치에 보존한다. 다음번의 시스템 기동시에, 그 보존해 둔 정보를 휘발성 메모리에 재기록하여, 셧다운하기 전의 시스템의 상태를 복원한다. 최근의 오퍼레이팅 시스템(OS)에서는, 하이버네이션을 소프트웨어에 의해 실현하여, 예를 들어, 기동시에 불필요한 정보의 보존 및 복원을 생략함으로써, 복원 시간을 단축한다. 이 하이버네이션에서는, 휘발성 메모리와 불휘발성 기억장치 사이에서 정보의 교환이 행해지므로, 액세스 속도가 저속인 디바이스(일반적으로, 불휘발성 기억장치)의 액세스 속도가 하이버네이션의 처리 시간에 영향을 미친다.
통상의 시스템 기동 처리에 필요한 시간과 하이버네이션시의 시스템의 복원 시간을 비교하여, 후자의 시간이 더 짧으면, 시스템을 기동할 때에 하이버네이션을 사용하는 것이 유리하다. 일본국 특개 2009-146061호 공보에서는, 하이버네이션을 사용하는 것이 유리한지 여부에 대한 판정을, 정보의 보존처로서의 역항을 하는 불휘발 기억장치의 성능을 측정하고, 그 측정된 정보에 따라, 하이버네이션시의 복원 시간을 예측함으로써 행하고 있다. 이 예측한 복원 시간에 근거하여, 다음번의 시스템의 기동 동작을 하이버네이션에 의해 행할 것인지 아닌지를 결정하고 있다.
그렇지만, 종래에는, 하이버네이션용 데이터의 보존처로서의 역할을 하는 불휘발성 기억장치의 성능에 상관없이, 소정의 절차에 따라 하이버네이션 처리가 행해지고 있었다. 이와 같은 구성은, 불휘발성 기억장치를 위해 특화된 처리가 행해지고 있지 않다고 하는 문제를 일으킨다. 예를 들면, HDD는, 기기 내부의 헤드가 기계적으로 동작함으로써, 자기디스크에 보존된 정보에 액세스한다. 따라서, 액세스 대상의 정보가 자기디스크 위에 점재할수록 기계적인 동작의 회수가 증가하고, 정보에의 액세스 속도가 저하한다고 하는 구조상의 특성을 갖고 있다. 한편, SSD는, 전기적 처리에 의해 보존되어 있는 정보를 액세스하므로, 정보의 점재 정도에 상관없이, 일정한 액세스 속도로 정보에 액세스할 수 있다.
상기한 불휘발성 기억장치의 특징을 감안하여, 예를 들면, 하이버네이션 데이터의 보존처로서 HDD를 사용하는 경우에는, 액세스 속도를 저하하지 않도록 하이버네이션 데이터의 점재를 억제하는 것이 바람직하다. 예를 들면, Linux의 경우에는, 일부의 하이버네이션 데이터는 사용되지 않는 메모리 영역에 보존해 두고 필요하게 되었을 때 메모리 상에 복원하는 스왑 화일의 메카니즘을 채용하고 있다. 스왑 화일의 복원처리는 메모리 관리면에서 최소 사이즈 단위로 행해지기 때문에, 복원 대상 영역을 최소 사이즈로 나누어 얻어진 값과 같은 회수만큼 랜덤 액세스가 발생한다. 따라서, HDD를 사용하는 경우에는, 스왑 파일을 사용하는 복원처리를 가능한한 행하지 않는 것이 바람직하다.
본 발명의 목적은 상기한 종래기술의 문제점을 해소하는 것에 있다.
본 발명의 특징은, 하이버네이션용 데이터를 보존하는 불휘발성 메모리의 특징에 대응하는 하이버네이션 처리를 행하는 것에 있다.
본 발명의 일면에 따르면, 휘발성 기억수단과, 랜덤 액세스보다 연속 액세스에서 더 빠른 액세스 속도를 갖는 제1 불휘발성 기억수단과, 연속 액세스보다 랜덤 액세스에서 더 빠른 액세스 속도를 갖는 제2 불휘발성 기억수단에 액세스가능한 정보 처리장치로서, 상기 휘발성 기억수단에 기억된 데이터를 보존해야 할 불휘발성 기억수단을 특정하는 특정수단과, 상기 특정수단이 상기 제1 불휘발성 기억수단을 특정한 경우에, 랜덤 데이터의 양보다 연속 데이터의 양이 많은 제1 기억방식을 선택하고, 상기 특정수단이 상기 제2 불휘발성 기억수단을 특정한 경우에, 연속 데이터의 양보다 랜덤 데이터의 양이 많은 제2 기억방식을 선택하는 선택수단과, 소정의 조건이 만족된 경우에, 상기 선택수단에 의해 선택된 제 1 또는 제 2 기억방식을 사용하여, 상기 휘발성 기억수단에 기억된 데이터를 상기 특정수단에 의해 특정된 불휘발성 기억수단에 보존하도록 제어하고, 상기 휘발성 기억수단에의 전력공급을 정지하는 제어수단을 구비한 정보 처리장치가 제공된다.
본 발명의 일면에 따르면, 휘발성 기억장치와, 랜덤 액세스보다 연속 액세스에서 더 빠른 액세스 속도를 갖는 제1 불휘발성 기억장치와, 연속 액세스보다 랜덤 액세스에서 더 빠른 액세스 속도를 갖는 제2 불휘발성 기억장치에 액세스가능한 정보 처리장치의 제어방법으로서, 상기 휘발성 기억장치에 기억된 데이터를 보존해야 할 불휘발성 기억장치를 특정하는 특정단계와, 상기 특정단계가 상기 제1 불휘발성 기억장치를 특정한 경우에, 랜덤 데이터의 양보다 연속 데이터의 양이 많은 제1 기억방식을 선택하고, 상기 특정단계가 상기 제2 불휘발성 기억장치를 특정한 경우에, 연속 데이터의 양보다 랜덤 데이터의 양이 많은 제2 기억방식을 선택하는 선택단계와, 소정의 조건이 만족된 경우에, 상기 선택단계에서 선택된 제 1 또는 제 2 기억방식을 사용하여, 상기 휘발성 기억장치에 기억된 데이터를 상기 특정단계에서 특정된 불휘발성 기억장치에 보존하도록 제어하고, 상기 휘발성 기억장치에의 전력공급을 정지하는 제어단계를 포함하는 정보 처리장치의 제어방법이 제공된다.
본 발명의 또 다른 특징은 첨부된 도면을 참조하여 주어지는 이하의 실시예의 상세한 설명으로부터 명백해질 것이다.
명세서에 포함되고 명세서의 일부를 구성하는 다음의 첨부도면은, 본 발명의 예시적인 실시예, 특징 및 국면을 예시하며, 상세한 설명과 함께, 본 발명의 원리를 설명하는 역할을 한다.
도 1은, 일 실시예에 따른 화상 형성장치(복합기)의 구성을 나타낸 블록도이다.
도 2는, 본 실시예에 따른 기본동작을 설명하는 흐름도이다.
도 3은, 도 2의 스텝 S201에서 불휘발성 기억장치의 판독/기록 성능을 측정하는 처리를 설명하는 흐름도이다.
도 4는, 관리 정보의 데이터 구조를 설명하는 표의 일례를 나타낸 도면이다.
도 5는, 본 실시예에 따른 화상 형성장치에 의한 하이버네이션 데이터의 복원처리를 설명하는 흐름도이다.
도 6은, 도 5의 스텝 S506의 연속 판독용의 관리 정보의 작성 처리를 설명하는 흐름도이다.
도 7은, 도 5의 스텝 S507의 랜덤 판독용의 관리 정보의 작성 처리를 설명하는 흐름도이다.
도 8은, 본 실시예에 따른 하이버네이션용 데이터의 복원처리를 설명하는 흐름도이다.
도 9는, 도 8의 스텝 S803의 연속 판독 데이터의 복원처리를 설명하는 흐름도이다.
도 10은, 도 8의 스텝 S805의 랜덤 판독 데이터의 복원처리를 설명하는 흐름도이다.
도 1은, 일 실시예에 따른 화상 형성장치(복합기)의 구성을 나타낸 블록도이다.
도 2는, 본 실시예에 따른 기본동작을 설명하는 흐름도이다.
도 3은, 도 2의 스텝 S201에서 불휘발성 기억장치의 판독/기록 성능을 측정하는 처리를 설명하는 흐름도이다.
도 4는, 관리 정보의 데이터 구조를 설명하는 표의 일례를 나타낸 도면이다.
도 5는, 본 실시예에 따른 화상 형성장치에 의한 하이버네이션 데이터의 복원처리를 설명하는 흐름도이다.
도 6은, 도 5의 스텝 S506의 연속 판독용의 관리 정보의 작성 처리를 설명하는 흐름도이다.
도 7은, 도 5의 스텝 S507의 랜덤 판독용의 관리 정보의 작성 처리를 설명하는 흐름도이다.
도 8은, 본 실시예에 따른 하이버네이션용 데이터의 복원처리를 설명하는 흐름도이다.
도 9는, 도 8의 스텝 S803의 연속 판독 데이터의 복원처리를 설명하는 흐름도이다.
도 10은, 도 8의 스텝 S805의 랜덤 판독 데이터의 복원처리를 설명하는 흐름도이다.
이하, 첨부도면을 참조해서 본 발명의 바람직한 실시예를 상세히 설명한다. 이때, 이하의 실시예는 본 발명의 특허청구범위를 한정하는 것은 아니고, 또한 본 실시예에서 설명되고 있는 특징의 조합의 모두가 본 발명에 따른 과제를 해결하는 해결수단에 대해 필수적인 것은 아니다.
도 1은, 본 발명의 실시예에 따른 하이버네이션 기능을 구비한 정보 처리장치의 일례인 화상 형성장치(복합기)의 구성을 나타낸 블록도이다. 이때, 본 실시예에서는, 프린터 기능, 스캐너 기능, 팩시밀리 기능 및 스토리지 기능 등을 갖는 다기능장치(복합기)의 경우를 설명한다. 그러나, 본 발명에 따른 정보 처리장치는 이것에 한정되는 것은 아니며, 예를 들면, PC 등의 정보 처리장치, 게임기기 및 각종 모바일 기기 등에도 적용할 수 있다. 이때, 이하에서는 불휘발성 기억장치(불휘발성 메모리)로서 HDD를 사용한 실시예를 기재하지만, SSD나 USB 메모리 등의 다른 불휘발성 기억장치를 사용해도 된다.
도 1을 참조하면, 화상 형성장치(100)는, HDD(102)에 인스톨되어 있는 프로그램이 RAM(103)에 로드된 후 처리를 실행하는 CPU(101)을 구비하고 있다. CPU(101)은, RAM(103)에 로드된 프로그램에 따라 시스템 버스(113)에 접속되는 각 디바이스를 총괄적으로 제어한다. RAM(103)(휘발성 메모리)은, 예를 들어, CPU(101)의 메인 메모리 및 워크 에어리어로서 기능한다. 조작부 콘트롤러(PANELC)(105)는, 예를 들어, 조작 패널(106)에 구비된 터치패널이나 각종 버튼을 통해 지시의 입력을 제어한다. 표시 제어부(DISPC)(107)는, 예를 들면, 액정 디스플레이를 사용하는 표시부(108)에의 표시를 제어한다. 이때, 이 표시부(108)는 조작 패널(106)에 설치되어 있다. 네트워크 인터페이스 카드(NIC)(104)는, LAN 인터페이스(LANIF)(110)에 LAN 케이블을 접속하여, 예를 들어, 다른 네트워크 기기 또는 파일 서버와 양방향으로 데이터를 교환한다. USB-HOSTC(109)은 USB 커넥터로t, USB 메모리(미도시)나 USB 대응 디바이스를 접속한다. 프린터부(111)는, 예를 들면, 전자사진 방식 또는 잉크젯 방식 등의 프린터 엔진을 갖고, 종이 등의 기록매체에 화상을 기록(인쇄)한다. 스캐너부(112)는, 원고의 화상을 읽어내어 그 화상을 표시하는 화상신호를 생성한다. 많은 경우, 스캐너부(112)에는, 옵션으로서 오토 도큐먼트 피더(미도시)가 장착되어 있어, 복수매의 원고를 반송하고, 그것들을 자동적으로 판독할 수 있다. EEPROM(Eiectrically Erasable Programmable Read-Only Memory)(114)는, 고쳐쓰기가능한 소용량의 불휘발성 메모리로서, 예를 들어, 화상 형성장치(100)의 설정 정보를 기억하고 있다. 타이머(115)는, CPU(101)로부터의 지시에 따라, 경과 시간의 측정 등의 시간측정을 행한다.
화상 형성장치(100)의 전원이 투입된 후, 조작 패널(106)의 터치패널이나 각 버튼으로부터의 지시가 입력 가능하게 된 시점으로서 시스템의 기동 완료를 정의한다. 기동 완료의 정의를, 표시부(108)가 점등한 시점이나, 표시부(108)가 점등해서 소정의 화상이 표시부에 표시된 시점으로 해도 된다. 또는, 기동 완료의 정의를, 표시부(108)의 LED 라이트의 점멸 상태나 점등색이 변화된 시점으로 해도 된다.
도 2는, 본 실시예에 따른 특징인, 불휘발성 기억장치(하이버네이션 데이터의 보존처)의 성능에 따라, 하이버네이션의 처리를 변경하는 기본 동작을 간이적으로 설명하는 흐름도이다. 각 처리부의 상세한 처리 내용에 대해서는 나중에 도면을 참조해서 서술하지만, 이 흐름도를 참조해서 본 실시예의 특징인 개략적인 기본동작에 대해 설명한다. 본 실시예에서는, 불휘발성 기억장치의 연속 판독 속도와 랜덤 판독 속도에 근거하여 하이버네이션처리를 행하는 경우를 설명한다. 이때, 이 처리는, HDD(102)에 인스톨되어 있고 이 처리를 실행하는데 사용되는 프로그램을 RAM(103)에 로드하고, 그 프로그램을 CPU(101이)에 의해 실행함으로써 실현된다.
예를 들면, Linux의 경우, 하이버네이션에 있어서의 메모리의 복원처리는, 메모리 전체를 대략 복원하는 제1처리와, 나머지의 미복원 영역을 그 영역이 사용되었을 때에 복원하는 제2처리에 의해 행해진다. 제1처리에서는, 시스템은 다른 작업을 행하지 않고, 연속하는 큰 영역의 데이터를 복원한다. 따라서, 제1처리는 연속 판독 속도에 의존한다. 나머지인 제2처리는, 복원 요구에 응답하여, 요구처로서의 역항을 하는 영역을 최소 메모리 사이즈와 동일한 양만큼 복원하는 처리이므로, 랜덤 판독 속도에 의존한다. 이들 2종류의 처리 중에서, 불휘발성 기억장치와 호환되는 처리만을 사용해서 복원처리를 행한 경우에는, 양쪽 처리를 사용해서 복원을 행하는 경우에 비교하여, 단시간에 복원처리가 완료되는 것이 기대된다.
제2처리는, 프로그램이 미복원 영역에 액세스했을 때의 예외처리이므로, 복원이 완료한 후에만 프로그램이 실행할 수 있다. 따라서, 제2처리에서는, 복원처리는 최소 메모리 사이즈 단위로 던 짧은 시간에 행해진다. 더구나, 제2처리에서는, 복원 영역이 예상하기 어렵기 때문에, 랜덤 판독(랜덤 액세스)처리에 의해서만 이 처리를 행할 수 있다. 이 제2처리는, 시스템을 외관상 멈추지 않고 복원처리를 행하는 점에서 중요하며, 다른 오퍼레이팅 시스템에서도 구현된다(디맨드 페이징(demand paging) 처리).
우선, 스텝 S201에서, 화상 형성장치(100)가 기동된 후의 임의의 시점에서 HDD(102)의 성능 측정을 행한다. 이 처리를 행하는 타이밍의 예로는, HDD(102)의 스왑이 검지된 시점과, 화상 형성장치(100)가 하이버네이션 처리 요구를 받은 시점과, 화상 형성장치(100)가 아이들 상태를 취하는 시점을 들 수 있다. 스텝 S202에서 하이버네이션 처리 요구를 수신하면, 스텝 S201에서 얻어진 성능 측정 결과에 근거하여, 스텝 S203에서 하이버네이션 데이터의 복원처리를 행한다.
도 3은, 도 2의 스텝 S201의 불휘발성 기억장치의 판독/기록 성능을 측정하는 처리를 설명하는 흐름도이다. 이 흐름도로 나타낸 처리를 실행함으로써, 이 화상 형성장치(100)는, 불휘발성 기억장치의 연속 판독/기록 성능 및 랜덤 판독/기록 성능의 측정값을 얻고, 이들 측정값에 근거하여 하이버네이션 처리를 행한다.
우선, 스텝 S301에서, HDD(102)에 소정의 데이터를 기록하고, 이 소정의 데이터를 기록하는데 필요한 시간을 타이머(115)를 사용해서 측정한다. 이 경우, 소정의 데이터란, 연속 판독/기록 성능 및 랜덤 판독/기록 성능을 측정가능한 데이터 사이즈 및 데이터 형식을 갖는 데이터이다. 스텝 S302로 처리를 진행하여, 스텝 S301에서 기록한 소정의 데이터를 HDD(102)로부터 판독하여, 그 소정의 데이터의 판독 처리에 필요한 시간을 타이머(115)를 사용해서 측정한다. 마찬가지로, 이 경우에, 소정의 데이터는, 연속 판독/기록 성능 및 랜덤 판독/기록 성능을 측정가능한 데이터 사이즈 및 데이터 형식을 갖는 데이터이다.
스텝 S303으로 처리를 진행하여, 스텝 S301에서 기록한 데이터는 불필요하므로 삭제한다. 스텝 S304로 처리를 진행하여, 스텝 S301 및 S302에서 각각 기록 및 판독한 데이터의 사이즈와, 기록 및 판독에 필요한 시간으로부터, 불휘발성 기억장치의 액세스 성능을 산출한다. 액세스 성능을 산출하는 한가지 방법으로서, 판독/기록된 데이터의 사이즈를 그 판독 및 기록에 필요한 시간의 평균값으로 나눔으로써, 대략적인 성능값을 구할 수 있다. 스텝 S305로 처리를 진행하여, 스텝 S304에서 산출한 성능값을 HDD(102)에 보존한다.
이때, 이 도 3의 흐름도는 불휘발성 기억장치의 판독/기록 성능을 측정하는 한가지 방법을 예시한 것으로, 다른 방법을 사용하여 이 불휘발성 기억장치의 액세스 성능을 측정해도 된다.
도 4는, 본 실시예에 따른 하이버네이션용 관리 정보(이하, 관리 정보라고 간단히 부른다)의 데이터 구조를 설명하는 표의 일례를 설명하는 도면이다. 이들 데이터는, 하이버네이션용 데이터의 보존 처리시 및 복원처리시에 사용한다.
이 관리 정보는, 메모리 영역 식별 데이터(401), 메모리 영역의 개시 어드레스(402), 메모리 영역의 사이즈(403), 하이버네이션시의 복원처리(404)와, 보존처 어드레스(하이버네이션 데이터의 불휘발성 기억장치 상의 어드레스)(405)를 구비하고 있다.
메모리 영역의 개시 어드레스(402)는 RAM(103)의 보존된 데이터의 선두 어드레스를 나타내고, 메모리 영역 사이즈(403)는, 이 데이터의 길이(이 데이터의 가변 길이)를 나타내고 있다. 따라서, 예를 들면, 메모리 영역 식별 데이터(401)가 "1"인 관리 정보는, RAM(103)의 어드레스 "0x01000000"으로부터 32MB의 데이터가 불휘발성 기억장치의 어드레스 "0xE1000000"으로부터 연속해서 기억되어 있는 것을 나타내고 있다. 또한, 메모리 영역 식별 데이터(401)가 "3"인 경우에서와 같이, 복원처리(404)가 "랜덤"인 경우에는, 최소 메모리 관리 사이즈에 대응하는 4KB(킬로바이트)의 데이터의 단위(소정 길이)로 판독/기록이 행해진다. 이때, 이 관리 정보는 HDD(102)에 기억된다.
도 5는, 본 실시예에 따른 화상 형성장치에 의한 하이버네이션 데이터의 보존 처리를 설명하는 흐름도이다. 이때, 이 처리는 도 2의 스텝 S203의 처리에 대응하고 있다. 이 흐름도의 스텝 S506 및 S507의 관리 정보의 작성처리에 대해서는 나중에 상세히 설명한다. 이 흐름도에 따라, RAM(103) 상의 보존 대상인 데이터가 보존처로서의 역할을 하는 불휘발성 기억장치와 호환되는 판독 형식으로 변환되어, 보존된다.
우선, 스텝 S501에서, 관리 정보의 유무를 확인한다. 이 관리 정보의 상세에 대해서는 후술한다. 관리 정보가 없다고 판단하면, 스텝 S502로 처리를 진행하여, 도 3의 스텝 S305에서 HDD(102)에 보존한 성능값을 읽어낸다. 이하의 설명에서는, 이 성능값으로서, 연속 판독 속도와 랜덤 판독 속도를 각각 사용한다. 스텝 S503에서, S502에서 판독한 연속 판독 속도와 랜덤 판독 속도, 즉, 성능값들을 서로 비교한다. 이 경우에, 속도가 큰 쪽을 고속 판독 속도 Vf로 정의하고, 속도가 느린 쪽을 저속 판독 속도 Vs로 정의한다. 스텝 S504로 처리를 진행하여, 이들 2개의 속도 Vf와 Vs의 비 Vs/Vf을 계산한다. 이 속도의 비와, 소정의 임계값 Y를 비교한다. 이 경우에 참고값으로서 임게값 Y를 "0.67"로 설정하고 있지만, "0(초과)" 내지 "1(이하)"의 범위에 속하면, 임의의 값을 설정해도 된다. 스텝 S504에서, 속도의 비가 임계값 Y보다도 작다고 판정하면, 이들 두 개의 판독 속도의 차이가 현저하다고 간주하여, 스텝 S505로 처리를 진행한다. 스텝 S505에서는, 고속 판독 처리가 연속 판독 처리에 대응하고 있는지 아닌지를 판정한다. 스텝 S505에서 YES로 판정되면, 스텝 S506으로 처리를 진행하여, 연속 판독 처리용의 관리 정보를 작성한다.
한편, 스텝 S505에서, 고속 판독 처리가 랜덤 판독 처리에 대응하고 있다고 판정되면(스텝 S505에서 NO), 스텝 S507로 처리를 진행하여, 랜덤 판독 처리용의 관리 정보를 작성한다. 스텝 S504에서, 속도 비가 Y 이상이라고 판정된 경우에도, 스텝 S507로 처리를 진행하여, 랜덤 판독 처리만을 사용하여 하이버네이션 처리를 행하도록, 관리 정보를 작성한다.
이와 같이 해서, 스텝 S506 또는 스텝 S507을 실행한 후, 또는 스텝 S501에서 관리 정보가 존재한다고 판단되었을 때에는, 스텝 S508로 처리를 진행하여, 그 관리 정보에 근거하여, RAM(103)의 보존 대상의 데이터를 HDD(102)의 소정 영역에 보존한다. 이 경우에, 연속 판독 처리 대상의 메모리 영역의 데이터를, 메모리 영역 식별 데이터(401)의 올림순으로 DMA 전송을 허용하는 사이즈 단위로, HDD(102)의 미리 정해진 DMA 전송용의 영역에 보존한다. 한편, 랜덤 판독 처리 대상의 메모리 영역의 데이터는, 최소 메모리 관리 단위 사이즈마다 RAM(103)의 어드레스 정보를 부가하여, HDD(102)의 미래 정해진 디맨드 페이징용 영역에 보존한다. 스텝 S509로 처리를 진행하여, 메모리 영역의 보존처로서의 역할을 하는 HDD(102) 상의 어드레스 정보를 하이버네이션용 메모리 관리 영역에 보존처 어드레스(405)로서 보존한다.
이와 같이, 도 5에 나타낸 처리에서는, 연속 판독 속도와 랜덤 판독 속도의 차이가 작으면, 랜덤 판독 처리에 의해 RAM(103)의 데이터를 HDD 등의 불휘발성 메모리에 보존한다. 이것은, 연속 판독 처리에서는, 이 처리에서 데이터 전송에 필요한 대기 시간의 연장으로 인해 조작성이 저하하는 반면, 랜덤 판독처리에서는, 백그라운드에서의 실행이 가능하므로, 조작성의 저하를 억제할 수 있기 때문이다.
도 6은, 도 5의 스텝 S506의 연속 판독용의 관리 정보의 작성처리를 설명하는 흐름도이다. 본 실시예에서는 최소 메모리 관리 사이즈가 4KB(킬로바이트)로 설정되어 있지만, 본 발명은 이것에 한정되지 않고, 메모리 관리 시스템 상의 최소 관리 사이즈를 사용해도 된다.
우선, 스텝 S601에서, 도 6에 도시된 처리에서 사용하는 변수 ID를 "1"로 초기화하고, 어드레스를 표시하는 변수 AD를 "0"으로 초기화한다. 이때, 이들 변수 ID 및 변수 AD는, RAM(103)의 워크 에어리어에 기억된다. 이 경우, 변수 ID의 값은 메모리 영역 식별 데이터(401)(도 4)에 대응하고 있고, 변수 AD의 값은 메모리 영역의 개시 어드레스(402)(도 4)에 대응하고 있다. 이들 값은 관리 정보의 작성시에 사용된다. 스텝 S602로 처리를 진행하여, 변수 AD가 가리키는 어드레스에 메모리 영역(RAM 영역)이 존재하는지 아닌지를 판정한다.
우선, RAM(103) 상의 보존 대상인 데이터의 메모리 영역의 개시 어드레스(402)를 결정하는 처리에 대해 설명한다. 스텝 S602에서, 변수 AD(어드레스)가 가리키는 영역이 RAM(103)에 존재하는 것으로 판정된 경우에는, 스텝 S603으로 처리를 진행하여, 변수 AD가 가리키는 어드레스가 보존 대상 데이터를 갖는 영역에 대응하는지 아닌지를 판정한다. 스텝 S603에서 YES로 판정된 경우에는 스텝 S604로 처리를 진행하여, 변수 ID가 표시하는 ID번째의 관리 정보가 존재하는지 아닌지를 판정한다. 스텝 S604에서 YES로 판정된 경우에는, 스텝 S607로 처리를 진행하지만, 그렇지 않을 때에는, 스텝 S605로 처리를 진행하여, 메모리 영역 식별 데이터(401)의 값을 변수 ID의 값으로 정의한 관리 정보를 신규로 작성한다. 스텝 S606으로 처리를 진행하여, 현재의 변수 AD의 값을 ID번째의 관리 정보의 메모리 영역의 개시 어드레스(402)로서 기록하고, 스텝 S607로 처리를 진행한다. 이 시점에서, ID번째의 관리 정보에는, 메모리 영역 식별 데이터(401)와 메모리 영역의 개시 어드레스(402)가 기록되어 있고, 다른 값은 비어 있다.
다음에, 메모리 영역 사이즈(403)를 결정하는 처리에 대해 설명한다. 스텝 S607에서는, 메모리 영역의 개시 어드레스(402)에 최소 메모리 관리 사이즈(여기에서는 4KB)에 대응하는 어드레스를 가산하고, 스텝 S602로 처리를 되돌린다. 스텝 S603에서, 변수 AD가 가리키는 어드레스가 보존 대상 데이터를 갖는 영역에 대응하지 않는 것으로 판정되면, 스텝 S608로 처리를 진행하여, ID번째의 관리 정보에 메모리 영역 사이즈(403)의 값이 등록되어 있는지 아닌지를 판정한다. 스텝 S608에서 YES로 판정되면, 스텝 S607로 처리를 직접 진행한다. 한편, 스텝 S608에서 NO로 판정되면, 스텝 S609로 처리를 진행하여, 현재의 판독을 진행하는 어드레스 AD와, 스텝 S606에서 격납한 ID번째의 데이터의 개시 어드레스의 차이(SIZE)를 계산한다. 스텝 S610에서는, 이 SIZE값을 ID번째의 관리 정보의 메모리 영역 사이즈(403)로서 기록한다. 또한, 복원처리(404)로서 "연속"을 기록한다. 스텝 S611로 처리를 진행하여, 변수 ID의 값을 1 증분하여 다음의 관리 정보를 작성하기 위한 준비를 행하고, 스텝 S607로 처리를 진행한다.
이와 같이 해서, 메모리(RAM(103))의 판독을 진행한다. 스텝 S602에서 변수 AD가 가리키는 영역이 RAM(103)의 관리 외의 메모리 영역에 도달하면, 스텝 S612로 처리를 진행한다. 스텝 S612에서는, 최후의 메모리 영역 식별 데이터(401)로서의 역할을 하는 ID번째의 관리 정보에 메모리 영역 사이즈(403)가 등록되어 있는지 아닌지를 판정한다. 스텝 S612에서 YES로 판정되면, 처리를 종료하지만, 그렇지 않으면, 스텝 S613으로 처리를 진행하여, 스텝 S609에서와 동일한 방법으로 영역 사이즈 SIZE 값을 계산한다. 스텝 S614로 처리를 진행하여, 스텝 S610에서와 마찬가지로, ID번째의 관리 정보의 메모리 영역 사이즈(403)로서 SIZE 값을 기록하고, 복원처리(404)로서 "연속"을 기록하여, 이 처리를 종료한다.
이와 같이 하여, RAM(103) 상의 보존 대상인 연속된 데이터를 보존처 어드레스로 표시되는 HDD(102)의 가변 길이 영역에 연속해서 격납할 수 있다.
도 7은, 도 5의 스텝 S507의 랜덤 판독용의 관리 정보의 작성처리를 설명하는 흐름도이다. 본 실시예에서는 최소 메모리 관리 사이즈가 4KB(킬로바이트)로 설정되어 있지만, 본 발명은 이것에 한정되지 않고, 메모리 관리 시스템 상의 최소 관리 사이즈를 사용해도 된다.
우선, 스텝 S701에서, 변수 ID를 "1"로 초기화하고, 변수 AD를 "0"으로 초기화한다. 이때, 이들 변수 ID 및 변수 AD는 RAM(103)의 워크 에어리어에 기억된다. 이 경우에, 변수 ID의 값은 메모리 영역 식별 데이터(401)에 대응하고, 변수 AD의 값은 메모리 영역의 개시 어드레스(402)에 대응하고 있다. 이들 값은 관리 정보의 작성시에 사용된다. 스텝 S702로 처리를 진행하여, ID번째의 관리 정보를 작성한다. 이 시점에서, 이 관리 정보에는 메모리 영역 식별 데이터(401)만 기록되고, 다른 값은 비어 있다. 스텝 S703으로 처리를 진행하여, 변수 AD가 가리키는 어드레스의 메모리 영역(RAM(103))이 존재하는지 아닌지를 판정한다. 스텝 S703에서 YES로 판정되면, 스텝 S704로 처리를 진행하여, 다시 그 영역에 있는 데이터가 보존 대상인지 아닌지를 판정한다. 스텝 S704에서 YES로 판정되면, 스텝 S705로 처리를 진행하여, ID번째의 관리 정보의 메모리 영역의 개시 어드레스(402)로서 변수 AD의 값을 기록하고, 메모리 영역 사이즈(403)로서 최소 메모리 관리 사이즈를 기록하고, 복원처리(404)로서 "랜덤"을 기록한다. 스텝 S706에서는, 변수 ID의 값을 1 증분한다. 스텝 S707에서, 변수 ID의 값으로서 정의된 ID번째의 관리 정보를 새롭게 작성한다. 이 시점에서, 이 관리 정보에는 메모리 영역 식별 데이터(401)만 기록되어 있고, 다른 값은 비어 있다. 스텝 S708로 처리를 진행하여, 변수 AD의 값을 최소 메모리 관리 사이즈와 동일한 양만큼 증가시키고, 스텝 S703으로 처리를 되돌려, 다음의 메모리 영역을 판독한다. 스텝 S703에서, RAM(103)에 변수 AD가 가리키는 메모리 영역이 남아 있지 않다고 판정된 경우에는, 스텝 S709로 처리를 진행하여, 최후에 작성한 불필요한 ID번째의 관리 정보를 삭제하고, 이 처리를 종료한다.
이와 같이 하여, RAM(103) 상의 보존 대상 데이터를, 최소 메모리 관리 사이즈(4KB)의 단위로, 보존처 어드레스로 표시되는 HDD(102)의 영역(소정의 사이즈)에 격납할 수 있다.
이하, 도 8에 나타낸 흐름도를 참조하여 하이버네이션용 데이터의 복원처리의 절차를 설명한다.
도 8은, 본 실시예에 따른 하이버네이션용 데이터의 복원처리를 간이적으로 설명하는 흐름도이다. 이때, 이 처리는, HDD(102)에 인스톨되어 있으며 이 처리를 실행하는데 사용되는 프로그램을 RAM(103)에 로드하고, 그 프로그램을 CPU(101)에 의해 실행함으로써 실현된다.
우선, 스텝 S801에서, 전원 투입후, HDD(102)에 보존된 기동 선택 프로그램을 RAM(103)에 전개한다. 스텝 S802에서, 기동 선택 프로그램을 사용하여 관리 정보의 유무를 판정한다. 스텝 S802에서 NO로 판정되면, 스텝 S806으로 처리를 진행하여, 하이버네이션을 행하지 않고, 통상의 기동 처리를 실행한다. 이 통상의 기동 처리란, 예를 들면, HDD(102)에 보존된 오퍼레이팅 시스템의 판독 및 초기화 처리, 디바이스 드라이버의 판독 및 초기화 처리와, 다른 종류의 소프트웨어의 판독 및 초기화 처리를 의미한다.
한편, 스텝 S802에서 YES로 판정되면, 스텝 S803으로 처리를 진행하여, 보존 데이터를 연속해서 판독하는 복원처리를 행한다. 이 데이터를 연속해서 판독하는 복원처리가 완료한 후, 스텝 S804에서 보존 데이터를 랜덤의 어드레스로부터 판독하는 데이터의 복원 요구가 발생하면, 스텝 S805로 처리를 진행하여, 최소 메모리 관리 사이즈 단위에서 보존 데이터의 복원처리를 행한다. 이 데이터의 복원 요구는, 복원되어 있지 않은 메모리 영역을 CPU(101)가 액세스할 때 순차 발생한다.
도 9는, 도 8의 스텝 S803의 연속 판독 데이터의 복원처리를 설명하는 흐름도이다. 이 처리에서는, 관리 정보에 기재되어 있는 복원처리(404)가 "연속"으로 특정된 보존 데이터를, HDD(102)로부터 RAM(103)에 복원한다.
우선, 스텝 S901에서, 변수 ID를 "1"로 초기화한다. 이 경우에, 변수 ID는 메모리 영역 식별 데이터(401)에 대응하고 있고, 관리 정보로부터 복원 대상의 메모리 영역(RAM(103)의 영역)을 특정하기 위해 사용한다. 스텝 S902로 처리를 진행하여, 관리 정보 중에, 메모리 영역 식별 데이터(401)가 변수 ID의 값에 일치하는 관리 정보가 존재하는지 아닌지를 판정한다. 스텝 S902에서 YES로 판정되면, 스텝 S903으로 처리를 진행하여, 이 관리 정보의 복원처리(404)를 조사한다. 스텝 S903에서 복원처리(404)가 "연속"이라고 판정되면, 대상의 복원처리를 실행해야 하므로, 스텝 S904로 처리를 진행한다. 스텝 S904에서는, 이 관리 정보로부터 메모리 영역의 개시 어드레스(402), 메모리 영역 사이즈(403)와 보존처 어드레스(405)를 판독한다. 스텝 S905로 처리를 진행하여, 스텝 S904에서 판독한 값에 근거하여, HDD(102)의 보존처 어드레스(405)로부터 메모리 영역 사이즈(403)의 데이터만을 판독하고, RAM(103)의 메모리 영역의 개시 어드레스(402)로부터, 메모리 영역 사이즈(403)에 대응하는 데이터를 재기록한다. 이와 같이 해서 ID번째의 데이터를 읽어낸 후, 스텝 S906으로 처리를 진행하여, 다음의 관리 정보를 판독하기 위해, 변수 ID값을 1만큼 증분하고, 스텝 S902로 처리를 진행한다. 스텝 S902에서, 관리 정보의 판독시에 ID번째의 관리 정보가 남아 있지 않다고 판정되면, 이 연속 판독 데이터의 복원처리를 종료한다.
도 9에 도시된 처리에 의해, 보존처 어드레스(405)로부터 연속해서 기억되어 있는 영역 사이즈에 대응하는 보존 데이터를 HDD(102)로부터 판독하고, 개시 어드레스로 표시되는 RAM(103)의 어드레스로부터 연속해서 재기록함으로써, RAM(103)의 데이터를 복원한다.
도 10은, 도 8의 S805의 랜덤 판독 데이터의 복원처리를 설명하는 흐름도이다. 이 처리에 있어서, 관리 정보에 기재되어 있는 복원처리(404)가 "랜덤"으로 특정된 데이터 중에서, 복원 요구가 발생되고 최소 메모리 관리 사이즈 이하의 크기를 갖는 데이터를 HDD(102)로부터 RAM(103)에 복원한다. 이것은, 복원 요구가 발생한 영역이 처음으로 액세스되었을 때, 복원처리가 최소 메모리 사이즈 단위로 행해지는 온디맨드 처리이기 때문이다.
우선, 스텝 S1001에서, 복원 요구가 발생한 영역의 어드레스를 변수 AD에 보존한다. 스텝 S1002로 처리를 진행하여, 관리 정보 각각의 메모리 영역의 개시 어드레스(402)를 순차 조사하여, 변수 AD의 어드레스가 그 안에 포함되는지 아닌지를 판정한다. 스텝 S1002에서, 변수 AD의 어드레스와, 어느 한 개의 관리 정보의 메모리 영역의 개시 어드레스(402)가 일치한다고 판정되면, 스텝 S1003으로 처리를 진행하여, 이 관리 정보로부터 보존처 어드레스(405)를 판독한다. 스텝 S1004로 처리를 진행하여, 스텝 S1003에서 판독한 보존처 어드레스(405)를 사용하여, 최소 메모리 관리 사이즈에 대응하는 보존 데이터를 HDD(102)로부터 판독하고, 메모리 영역의 개시 어드레스(402)로부터 최소 메모리 관리 사이즈에 대응하는 데이터를 RAM(103)에 재기록한다.
한편, 스텝 S1002에서, 관리 정보의 전체에, 해당하는 메모리 영역의 개시 어드레스(402)가 존재하지 않는 것으로 판정된 경우에는, 보존 데이터가 존재하지 않으므로, 스텝 S1005로 처리를 진행하여, 이상처리를 행한다. 이 이상처리는, 변수 AD의 어드레스를 디버그 로그에 출력하는 처리를 포함한다.
이상에서 설명한 것과 같이, 본 실시예에 따르면, 하이버네이션용으로 데이터를 보존하는 불휘발성 메모리의 성능에 특화된 하이버네이션 처리를 행함으로써, 정보 처리장치를 고속으로 기동할 수 있다.
본 발명의 국면은, 전술한 실시예들의 기능을 수행하기 위해 기억장치에 기록된 프로그램을 판독하여 실행하는 시스템 또는 장치(또는 CPU 또는 MPU 등의 소자)의 컴퓨터나, 예를 들면, 전술한 실시예들의 기능을 수행하기 위해 기억장치에 기록된 프로그램을 판독하여 실행함으로써, 시스템 또는 장치의 컴퓨터에 의해 수행되는 단계들을 갖는 방법에 의해 구현될 수도 있다. 이와 같은 목적을 위해, 예를 들어, 네트워크를 거쳐, 또는 기억장치로서의 역할을 하는 다양한 종류의 기록매체(예를 들어, 컴퓨터 판독가능한 매체)로부터 이 프로그램이 컴퓨터로 주어진다.
예시적인 실시예들을 참조하여 본 발명을 설명하였지만, 본 발명이 이러한 실시예에 한정되지 않는다는 것은 자명하다. 이하의 청구범위의 보호범위는 가장 넓게 해석되어 모든 변형, 동등물 구조 및 기능을 포괄하여야 한다.
Claims (5)
- 휘발성 기억수단과, 랜덤 액세스보다 연속 액세스에서 더 빠른 액세스 속도를 갖는 제1 불휘발성 기억수단과, 연속 액세스보다 랜덤 액세스에서 더 빠른 액세스 속도를 갖는 제2 불휘발성 기억수단에 액세스가능한 정보 처리장치로서,
상기 휘발성 기억수단에 기억된 데이터를 보존해야 할 불휘발성 기억수단을 특정하는 특정수단과,
상기 특정수단이 상기 제1 불휘발성 기억수단을 특정한 경우에, 랜덤 데이터의 양보다 연속 데이터의 양이 많은 제1 기억방식을 선택하고, 상기 특정수단이 상기 제2 불휘발성 기억수단을 특정한 경우에, 연속 데이터의 양보다 랜덤 데이터의 양이 많은 제2 기억방식을 선택하는 선택수단과,
소정의 조건이 만족된 경우에, 상기 선택수단에 의해 선택된 제 1 또는 제 2 기억방식을 사용하여, 상기 휘발성 기억수단에 기억된 데이터를 상기 특정수단에 의해 특정된 불휘발성 기억수단에 보존하도록 제어하고, 상기 휘발성 기억수단에의 전력공급을 정지하는 제어수단을 구비한 정보 처리장치.
- 제 1항에 있어서,
상기 정보 처리장치에 의한 액세스 대상으로 되는 불휘발성 기억수단의 연속 액세스의 액세스 속도 및 랜덤 액세스의 액세스 속도를 측정하는 측정수단을 더 구비하고,
상기 특정수단은, 상기 측정수단에 의한 측정 결과에 근거하여, 상기 휘발성 기억수단에 기억된 데이터를 보존해야 할 불휘발성 기억수단을 특정하는 정보 처리장치.
- 제 1항에 있어서,
상기 휘발성 기억수단에 기억된 데이터가 하이버네이션 이미지로서 보존되는 정보 처리장치.
- 휘발성 기억장치와, 랜덤 액세스보다 연속 액세스에서 더 빠른 액세스 속도를 갖는 제1 불휘발성 기억장치와, 연속 액세스보다 랜덤 액세스에서 더 빠른 액세스 속도를 갖는 제2 불휘발성 기억장치에 액세스가능한 정보 처리장치의 제어방법으로서,
상기 휘발성 기억장치에 기억된 데이터를 보존해야 할 불휘발성 기억장치를 특정하는 특정단계와,
상기 특정단계가 상기 제1 불휘발성 기억장치를 특정한 경우에, 랜덤 데이터의 양보다 연속 데이터의 양이 많은 제1 기억방식을 선택하고, 상기 특정단계가 상기 제2 불휘발성 기억장치를 특정한 경우에, 연속 데이터의 양보다 랜덤 데이터의 양이 많은 제2 기억방식을 선택하는 선택단계와,
소정의 조건이 만족된 경우에, 상기 선택단계에서 선택된 제 1 또는 제 2 기억방식을 사용하여, 상기 휘발성 기억장치에 기억된 데이터를 상기 특정단계에서 특정된 불휘발성 기억장치에 보존하도록 제어하고, 상기 휘발성 기억장치에의 전력공급을 정지하는 제어단계를 포함하는 정보 처리장치의 제어방법.
- 휘발성 기억장치와, 랜덤 액세스보다 연속 액세스에서 더 빠른 액세스 속도를 갖는 제1 불휘발성 기억장치와, 연속 액세스보다 랜덤 액세스에서 더 빠른 액세스 속도를 갖는 제2 불휘발성 기억장치에 액세스가능한 정보 처리장치의 제어방법으로서,
상기 휘발성 기억장치에 기억된 데이터를 보존해야 할 불휘발성 기억장치를 특정하는 특정단계와,
상기 특정단계가 상기 제1 불휘발성 기억장치를 특정한 경우에, 랜덤 데이터의 양보다 연속 데이터의 양이 많은 제1 기억방식을 선택하고, 상기 특정단계가 상기 제2 불휘발성 기억장치를 특정한 경우에, 연속 데이터의 양보다 랜덤 데이터의 양이 많은 제2 기억방식을 선택하는 선택단계와,
소정의 조건이 만족된 경우에, 상기 선택단계에서 선택된 제 1 또는 제 2 기억방식을 사용하여, 상기 휘발성 기억장치에 기억된 데이터를 상기 특정단계에서 특정된 불휘발성 기억장치에 보존하도록 제어하고, 상기 휘발성 기억장치에의 전력공급을 정지하는 제어단계를 포함하는 정보 처리장치의 제어방법을 컴퓨터에 실행시키기 위한 프로그램을 기록한 비일시적인 컴퓨터 판독가능한 기억매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2011-032630 | 2011-02-17 | ||
JP2011032630A JP2012173814A (ja) | 2011-02-17 | 2011-02-17 | 情報処理装置及び情報処理装置を制御する制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120094855A true KR20120094855A (ko) | 2012-08-27 |
Family
ID=46653720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120015658A KR20120094855A (ko) | 2011-02-17 | 2012-02-16 | 정보 처리장치 및 정보 처리장치를 제어하는 제어방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8775768B2 (ko) |
JP (1) | JP2012173814A (ko) |
KR (1) | KR20120094855A (ko) |
CN (1) | CN102692992A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105988718A (zh) * | 2014-10-13 | 2016-10-05 | 慧荣科技股份有限公司 | 非挥发性储存装置与控制器进行的控制方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10528116B2 (en) * | 2013-03-14 | 2020-01-07 | Seagate Technology Llc | Fast resume from hibernate |
US9785365B1 (en) * | 2015-12-08 | 2017-10-10 | Rambus Inc. | Persistent memory descriptor |
US10394304B2 (en) * | 2016-12-07 | 2019-08-27 | Microsoft Technology Licensing, Llc | Optimized power transitions based on user or platform conditions |
US10739836B2 (en) * | 2018-03-27 | 2020-08-11 | Intel Corporation | System, apparatus and method for handshaking protocol for low power state transitions |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2914367B2 (ja) * | 1997-12-05 | 1999-06-28 | 日本電気株式会社 | ディスクアレイ装置 |
JP3266560B2 (ja) * | 1998-01-07 | 2002-03-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理システム及びその制御方法 |
JP3204251B2 (ja) * | 1999-06-30 | 2001-09-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ハイバネーション装置及び方法、それを格納した記録媒体並びにそれを適用したコンピュータ |
CN100422956C (zh) * | 2003-08-06 | 2008-10-01 | 松下电器产业株式会社 | 半导体存储卡、存取装置和存取方法 |
WO2006025091A1 (ja) | 2004-08-30 | 2006-03-09 | Renesas Technology Corp. | 半導体集積回路 |
CN100349127C (zh) | 2004-12-03 | 2007-11-14 | 华为技术有限公司 | 嵌入式***数据备份装置及方法 |
US7757060B2 (en) * | 2006-09-11 | 2010-07-13 | Dell Products L.P. | Reducing wake latency time for power conserving state transition |
JP2009146061A (ja) | 2007-12-12 | 2009-07-02 | Canon Inc | 情報処理装置及び前記装置の起動方法 |
JP5207792B2 (ja) * | 2008-02-19 | 2013-06-12 | キヤノン株式会社 | 情報処理装置及び情報処理方法 |
CN102272734B (zh) * | 2009-01-05 | 2014-09-10 | 马维尔国际贸易有限公司 | 使用非易失性存储器设备用于休眠或挂起的方法和*** |
JP5493951B2 (ja) * | 2009-04-17 | 2014-05-14 | 株式会社リコー | 情報処理装置、正当性検証方法及びプログラム |
US8209501B2 (en) * | 2009-05-05 | 2012-06-26 | Microsoft Corporation | Capturing and loading operating system states |
US9665442B2 (en) * | 2010-03-29 | 2017-05-30 | Kaminario Technologies Ltd. | Smart flushing of data to backup storage |
-
2011
- 2011-02-17 JP JP2011032630A patent/JP2012173814A/ja not_active Withdrawn
-
2012
- 2012-01-25 US US13/358,275 patent/US8775768B2/en not_active Expired - Fee Related
- 2012-02-16 CN CN2012100351494A patent/CN102692992A/zh active Pending
- 2012-02-16 KR KR1020120015658A patent/KR20120094855A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105988718A (zh) * | 2014-10-13 | 2016-10-05 | 慧荣科技股份有限公司 | 非挥发性储存装置与控制器进行的控制方法 |
CN105988718B (zh) * | 2014-10-13 | 2019-03-22 | 慧荣科技股份有限公司 | 非挥发性储存装置与控制器进行的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102692992A (zh) | 2012-09-26 |
US20120215993A1 (en) | 2012-08-23 |
US8775768B2 (en) | 2014-07-08 |
JP2012173814A (ja) | 2012-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10222982B2 (en) | Lifetime management device and lifetime management method | |
JP5746100B2 (ja) | 画像形成装置 | |
US9274788B2 (en) | Information processing apparatus, method for controlling the same, and storage medium | |
KR20150024800A (ko) | 절전 기능을 갖는 화상형성장치 및 그 제어 방법, 및 기억매체 | |
CN103917924B (zh) | 图像形成装置及其控制方法 | |
KR20120094855A (ko) | 정보 처리장치 및 정보 처리장치를 제어하는 제어방법 | |
US9332147B2 (en) | Image forming apparatus and method of booting image forming apparatus having hibernation function | |
JP2012059024A (ja) | 情報処理装置、起動制御方法、起動制御プログラム及び記録媒体 | |
KR101430296B1 (ko) | 인쇄 장치 및 그 제어 방법 | |
KR102288563B1 (ko) | 정보 처리장치 및 그 제어방법 | |
US9317281B2 (en) | Information processing apparatus, program update method for information processing apparatus, and storage medium | |
CN104219409A (zh) | 具有休眠功能的图像形成装置及其控制方法 | |
JP6881330B2 (ja) | 電子機器及びメモリー制御プログラム | |
JP2017228010A (ja) | ストレージ制御手段、ストレージ制御手段を有する情報処理装置、ストレージ制御方法及びそのプログラム | |
US9442843B2 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
KR101623625B1 (ko) | 덮어쓰기 기능을 가진 정보 처리 장치, 그 제어 방법 및 기억 매체 | |
JP2012155488A (ja) | データ処理装置及びその制御方法 | |
KR20150076094A (ko) | 인쇄장치, 인쇄장치의 제어방법 및 기억매체 | |
JP6579324B2 (ja) | 画像形成装置およびデータ処理プログラム | |
US10437488B2 (en) | Electronic device and non-transitory computer readable storage medium | |
JP2013009227A (ja) | 情報処理装置、データ消去管理方法およびコンピュータプログラム | |
JP2021192491A (ja) | 情報処理システム、画像形成装置、情報処理システムの制御方法、画像形成装置の制御方法、及びプログラム | |
JP6234885B2 (ja) | 画像処理装置 | |
JP2014138265A (ja) | 画像形成装置 | |
CN111107240B (zh) | 信息处理设备及其控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |