US20160216901A1 - Information processing apparatus and method for preserving data - Google Patents

Information processing apparatus and method for preserving data Download PDF

Info

Publication number
US20160216901A1
US20160216901A1 US14/812,404 US201514812404A US2016216901A1 US 20160216901 A1 US20160216901 A1 US 20160216901A1 US 201514812404 A US201514812404 A US 201514812404A US 2016216901 A1 US2016216901 A1 US 2016216901A1
Authority
US
United States
Prior art keywords
information
storage device
pieces
processing apparatus
memory
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
US14/812,404
Other versions
US10216457B2 (en
Inventor
Atsushi Takeshita
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Assigned to FUJI XEROX CO., LTD. reassignment FUJI XEROX CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TAKESHITA, ATSUSHI
Publication of US20160216901A1 publication Critical patent/US20160216901A1/en
Application granted granted Critical
Publication of US10216457B2 publication Critical patent/US10216457B2/en
Assigned to FUJIFILM BUSINESS INNOVATION CORP. reassignment FUJIFILM BUSINESS INNOVATION CORP. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: FUJI XEROX CO., LTD.
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/442Shutdown

Definitions

  • the present invention relates to an information processing apparatus and a method for preserving data.
  • Hibernation is a function of saving, upon power-down of an information processing apparatus, information indicating the operation state of the information processing apparatus, such as a memory image, stored in the main memory, on a nonvolatile storage device, and restoring, upon next startup, the operation state of the information processing apparatus to the state before power-down by using the information saved on the nonvolatile storage device.
  • a state where an information processing apparatus is powered down while using the hibernation function (state where information about the operation state of the information processing apparatus before power-down is saved so that, upon next startup, the operation state is restorable to the state before power-down) is called a hibernation state.
  • restoration information information about the operation state of the information processing apparatus before power-down
  • restoration information information about the operation state of the information processing apparatus before power-down
  • an information processing apparatus including a controller, a first storage unit, a second storage unit, and a classification unit.
  • the controller stores pieces of information retained in a memory on a nonvolatile storage device and, upon startup, makes the information processing apparatus return to a state before power-down by using the pieces of information stored on the nonvolatile storage device.
  • the first storage unit is part of the nonvolatile storage device and stores at least some pieces of information among the pieces of information retained in the memory.
  • the second storage unit is part of the nonvolatile storage device and stores pieces of information different from the pieces of information stored on the first storage unit among the pieces of information retained in the memory.
  • the classification unit classifies the pieces of information retained in the memory in accordance with a predetermined condition.
  • the controller stores the pieces of information retained in the memory on the first storage unit or on the second storage unit in accordance with classification performed by the classification unit.
  • FIG. 1 is a diagram illustrating an example of an overall configuration of an information processing apparatus to which this exemplary embodiment is applied.
  • FIG. 2 is a flowchart for describing operations of a classification unit and a save control unit.
  • FIG. 1 is a diagram illustrating an example of an overall configuration of an information processing apparatus to which this exemplary embodiment is applied.
  • the information processing apparatus has a hibernation function (function of transitioning to a hibernation state) in a case of not being used for an extended period.
  • This exemplary embodiment is applicable to personal computers, image forming apparatuses, such as printers and copying machines, and other various information processing apparatuses.
  • an information processing apparatus 100 to which this exemplary embodiment is applied includes a main memory 110 , a first nonvolatile storage device 120 , and a second nonvolatile storage device 130 as memories.
  • the information processing apparatus 100 further includes a processing device 140 as a controller.
  • the processing device 140 is implemented as a central processing unit (CPU), for example, and executes a program loaded into the main memory 110 to thereby implement various functions.
  • the processing device 140 functions as a classification unit 141 , a save control unit 142 , and a return control unit 143 .
  • information retained in the main memory 110 is classified as a first type of information or a second type of information and is saved on the first nonvolatile storage device 120 or on the second nonvolatile storage device 130 .
  • FIG. 1 illustrates a configuration of the information processing apparatus 100 which only includes components for implementing this exemplary embodiment. Practically, various configurations other than that illustrated in FIG. 1 are conceivable depending on the type of information processing apparatus 100 .
  • the information processing apparatus 100 is a personal computer
  • the information processing apparatus 100 includes an image display controller for displaying information, such as text and images, on a display device, an accepting unit for accepting input provided by using an input device, such as a keyboard or a mouse, and so on.
  • the information processing apparatus 100 is an image forming apparatus
  • the information processing apparatus 100 includes an image forming engine for forming an image on a medium, such as a sheet, a convey mechanism for conveying a medium within the apparatus, and so on.
  • the main memory 110 is a volatile memory, and content stored therein is lost upon power-down.
  • a random access memory (RAM) is used, for example.
  • a program (process) executed by the processing device 140 is retained.
  • the program is stored on an external storage device, such as a magnetic disk device, is copied from the external storage device to the main memory 110 , and is executed by the processing device 140 .
  • the main memory 110 is also used as a work memory that retains data temporarily generated in the course of an arithmetic process performed by the processing device 140 .
  • Information, such as the program code and data, retained in the main memory 110 is preserved on a nonvolatile storage device as restoration information (hibernation image) when the information processing apparatus 100 transitions to the hibernation state.
  • the first nonvolatile storage device 120 is a storage device on which restoration information obtained from the main memory 110 is saved when the information processing apparatus 100 transitions to the hibernation state, and functions as a first storage unit.
  • a nonvolatile storage device such as a magnetic disk device (hard disk drive (HDD)), a solid state drive (SSD), or a flash memory, is used, for example.
  • the external storage device that stores the program may be used as the first nonvolatile storage device 120 .
  • restoration information saved on the first nonvolatile storage device 120 is information (hereinafter also referred to as general information) that is determined not to be highly confidential in this exemplary embodiment.
  • the second nonvolatile storage device 130 is a storage device on which restoration information obtained from the main memory 110 is saved when the information processing apparatus 100 transitions to the hibernation state, and functions as a second storage unit.
  • a nonvolatile storage device such as a magnetic disk device (HDD), an SSD, or a flash memory, is used, for example.
  • the second nonvolatile storage device 130 is provided with a protective unit for maintaining the confidentiality of information stored thereon.
  • the second nonvolatile storage device 130 a nonvolatile storage device for which a measure for increasing security against unauthorized reading is taken, such as a storage device having an encryption function or a password locking function, or an on-board memory (memory directly mounted on a board), is used, for example.
  • a highly secure nonvolatile storage device as the second nonvolatile storage device 130 , even if the second nonvolatile storage device 130 is removed without authorization, information stored on the removed second nonvolatile storage device 130 is not read in an unauthorized manner. If the second nonvolatile storage device 130 is an on-board memory, it is difficult to remove the on-board memory.
  • restoration information saved on the second nonvolatile storage device 130 is information (hereinafter referred to as confidential information) that is determined to be highly confidential in this exemplary embodiment.
  • the classification unit 141 obtains, when the information processing apparatus 100 transitions to the hibernation state, the program code and data that are used as restoration information from the main memory 110 .
  • the classification unit 141 classifies each piece of restoration information (program code and data) that has been obtained as restoration information to be saved on the first nonvolatile storage device 120 or restoration information to be saved on the second nonvolatile storage device 130 .
  • the classification unit 141 saves restoration information that includes highly confidential data (confidential information) on the second nonvolatile storage device 130 , and saves other restoration information (general information) on the first nonvolatile storage device 120 .
  • the classification unit 141 determines whether restoration information obtained from the main memory 110 is confidential information or general information.
  • the classification unit 141 determines whether data included in the restoration information obtained from the main memory 110 is highly confidential data by determining whether a process (execution program) for processing the data satisfies any of the specific conditions described below, for example:
  • the condition “the process is locked to the memory” described in (1) corresponds to a function of locking a page in virtual address space allocated to the process to a physical memory (main memory 110 ).
  • This function is implemented by using a system call, such as “mlock”, that is available in various operating systems (OSs), such as Linux (registered trademark), for example.
  • OSs operating systems
  • Linux registered trademark
  • Data written to the page that is locked to the physical memory is not moved from the physical memory. Accordingly, the data is assumed to be data of high importance, and the classification unit 141 determines the data to be highly confidential data in this exemplary embodiment. This determination is based on a condition attached to the process. It is possible to determine whether the process is locked to the memory by referring to a flag of a management structure of the process or of a page management structure, for example.
  • the condition “the process reads a file for which a protective measure is taken” described in (2) corresponds to a state where data loaded into the main memory 110 in the process is a file for which some protective measure is taken.
  • a file in a file system that is encrypted (encrypted file system), a file read from an encrypted memory device, a file protected by a specific policy of Security-Enhanced Linux (SELinux) used in Linux, and the like are files for which some protective measure is taken.
  • the classification unit 141 determines theses files for which a protective measure is taken as highly confidential data. This determination is based on a location where the file is stored before the file is loaded into the main memory 110 . Note that the measures described above are merely examples of a protective measure.
  • a file determined to be highly confidential data in this exemplary embodiment is not limited to a file for which any of the above-described specific measures is taken. It is possible to determine whether a protective measure is taken for a file by making an inquiry to a process management module of the information processing apparatus, for example.
  • “specific privilege” is a privilege based on Portable Operating System Interface for Unix (POSIX) capabilities, such as Linux kernel capabilities, for example.
  • POSIX Portable Operating System Interface for Unix
  • the classification unit 141 determines data that is loaded into the main memory 110 in a process having such a specific privilege to be highly confidential data. This determination is based on a condition attached to the process. It is possible to determine whether the process has a specific privilege by referring to a flag of a management structure of the process or of a page management structure, for example.
  • data that is loaded into the main memory 110 in a process that satisfies a specific condition as described above is determined to be highly confidential data, and restoration information (confidential information) that includes the highly confidential data is saved on the second nonvolatile storage device 130 .
  • Other restoration information (general information) is saved on the first nonvolatile storage device 120 .
  • the save control unit 142 reads the program code and data from the main memory 110 when the information processing apparatus 100 transitions to the hibernation state, and stores (preserves) the program code and data on a nonvolatile storage device as restoration information.
  • the save control unit 142 that functions as the controller saves restoration information that is obtained from the main memory 110 and that is confidential information on the second nonvolatile storage device 130 in accordance with classification performed by the classification unit 141 . Further, the save control unit 142 saves restoration information that is obtained from the main memory 110 and that is not confidential information but general information on the first nonvolatile storage device 120 .
  • the return control unit 143 reads, when the information processing apparatus 100 is started up from the hibernation state, restoration information saved on the first nonvolatile storage device 120 and on the second nonvolatile storage device 130 , and writes the restoration information to the main memory 110 .
  • the return control unit 143 functioning as the controller, the information processing apparatus 100 returns to the state before a transition to the hibernation state.
  • FIG. 2 is a flowchart for describing operations of the classification unit 141 and the save control unit 142 (method for preserving data).
  • the processing device 140 of the information processing apparatus 100 reads the program code and data retained in the main memory 110 as restoration information (step S 202 ).
  • the transition condition for a transition to the hibernation state a condition that is used as a transition condition in an existing hibernation technique, such as a condition that no operation is performed on the information processing apparatus 100 for a predetermined period, may be applied.
  • the classification unit 141 of the processing device 140 determines whether the restoration information obtained in step 5202 is confidential information (step S 203 ). If the classification unit 141 determines that the restoration information is confidential information (Yes in step S 203 ), the save control unit 142 of the processing device 140 saves the restoration information (confidential information) on the second nonvolatile storage device 130 (step S 204 ). On the other hand, if the classification unit 141 determines that the restoration information is general information (No in step S 203 ), the save control unit 142 saves the restoration information (general information) on the first nonvolatile storage device 120 (step S 205 ).
  • the save control unit 142 saves restoration information that is determined by the classification unit 141 to be confidential information on the second nonvolatile storage device 130 .
  • the save control unit 142 may split confidential information and save part of the confidential information on the first nonvolatile storage device 120 and the remaining part of the confidential information on the second nonvolatile storage device 130 .
  • the save control unit 142 divides the part of the confidential information into sections so as to reduce information content and create an irreversible state. In doing so, it is not possible to restore the confidential information only from the part of the restoration information saved on the first nonvolatile storage device 120 . As a result, the confidential information is kept confidential.
  • a protective measure such as encryption or access control using a password, may be taken before the part of the confidential information is stored on the first nonvolatile storage device 120 .
  • Confidential information is split as described above in a case where the confidential information has a large amount of data that exceeds the storage capacity of the second nonvolatile storage device 130 or a predetermined threshold.
  • Part of confidential information may be divided into sections so as to reduce information content and create an irreversible state regardless of the amount of data of the confidential information, the part of the confidential information that becomes irreversible may be saved on the first nonvolatile storage device 120 , and the remaining part of the confidential information may be saved on the second nonvolatile storage device 130 .

Abstract

An information processing apparatus includes a controller, a first storage unit, a second storage unit, and a classification unit. The controller stores pieces of information retained in a memory on a nonvolatile storage device and, upon startup, makes the information processing apparatus return to a state before power-down. The first storage unit is part of the nonvolatile storage device and stores some pieces of information among the pieces of information retained in the memory. The second storage unit is part of the nonvolatile storage device and stores pieces of information different from those stored on the first storage unit among the pieces of information retained in the memory. The classification unit classifies the pieces of information retained in the memory. The controller stores the pieces of information retained in the memory on the first storage unit or the second storage unit in accordance with classification performed by the classification unit.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2015-013762 filed Jan. 27, 2015.
  • BACKGROUND
  • (i) Technical Field
  • The present invention relates to an information processing apparatus and a method for preserving data.
  • (ii) Related Art
  • Some information processing apparatuses have a function called hibernation. Hibernation is a function of saving, upon power-down of an information processing apparatus, information indicating the operation state of the information processing apparatus, such as a memory image, stored in the main memory, on a nonvolatile storage device, and restoring, upon next startup, the operation state of the information processing apparatus to the state before power-down by using the information saved on the nonvolatile storage device. A state where an information processing apparatus is powered down while using the hibernation function (state where information about the operation state of the information processing apparatus before power-down is saved so that, upon next startup, the operation state is restorable to the state before power-down) is called a hibernation state.
  • On an information processing apparatus that has transitioned to the hibernation state, information about the operation state of the information processing apparatus before power-down (hereinafter referred to as restoration information) is saved on a nonvolatile storage device. Accordingly, information processed by the information processing apparatus before power-down may be obtained from the restoration information saved on the nonvolatile storage device.
  • SUMMARY
  • According to an aspect of the invention, there is provided an information processing apparatus including a controller, a first storage unit, a second storage unit, and a classification unit. The controller stores pieces of information retained in a memory on a nonvolatile storage device and, upon startup, makes the information processing apparatus return to a state before power-down by using the pieces of information stored on the nonvolatile storage device. The first storage unit is part of the nonvolatile storage device and stores at least some pieces of information among the pieces of information retained in the memory. The second storage unit is part of the nonvolatile storage device and stores pieces of information different from the pieces of information stored on the first storage unit among the pieces of information retained in the memory. The classification unit classifies the pieces of information retained in the memory in accordance with a predetermined condition. In the information processing apparatus, the controller stores the pieces of information retained in the memory on the first storage unit or on the second storage unit in accordance with classification performed by the classification unit.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • An exemplary embodiment of the present invention will be described in detail based on the following figures, wherein:
  • FIG. 1 is a diagram illustrating an example of an overall configuration of an information processing apparatus to which this exemplary embodiment is applied; and
  • FIG. 2 is a flowchart for describing operations of a classification unit and a save control unit.
  • DETAILED DESCRIPTION
  • Hereinafter, an exemplary embodiment of the present invention will be described in detail with reference to the attached drawings.
  • System Configuration
  • FIG. 1 is a diagram illustrating an example of an overall configuration of an information processing apparatus to which this exemplary embodiment is applied.
  • The information processing apparatus according to this exemplary embodiment has a hibernation function (function of transitioning to a hibernation state) in a case of not being used for an extended period. This exemplary embodiment is applicable to personal computers, image forming apparatuses, such as printers and copying machines, and other various information processing apparatuses.
  • As illustrated in FIG. 1, an information processing apparatus 100 to which this exemplary embodiment is applied includes a main memory 110, a first nonvolatile storage device 120, and a second nonvolatile storage device 130 as memories. The information processing apparatus 100 further includes a processing device 140 as a controller. The processing device 140 is implemented as a central processing unit (CPU), for example, and executes a program loaded into the main memory 110 to thereby implement various functions. In this exemplary embodiment, the processing device 140 functions as a classification unit 141, a save control unit 142, and a return control unit 143. In this exemplary embodiment, when the information processing apparatus 100 transitions to the hibernation state, information retained in the main memory 110 is classified as a first type of information or a second type of information and is saved on the first nonvolatile storage device 120 or on the second nonvolatile storage device 130.
  • Note that FIG. 1 illustrates a configuration of the information processing apparatus 100 which only includes components for implementing this exemplary embodiment. Practically, various configurations other than that illustrated in FIG. 1 are conceivable depending on the type of information processing apparatus 100. In a case where the information processing apparatus 100 is a personal computer, for example, the information processing apparatus 100 includes an image display controller for displaying information, such as text and images, on a display device, an accepting unit for accepting input provided by using an input device, such as a keyboard or a mouse, and so on. In a case where the information processing apparatus 100 is an image forming apparatus, the information processing apparatus 100 includes an image forming engine for forming an image on a medium, such as a sheet, a convey mechanism for conveying a medium within the apparatus, and so on.
  • The main memory 110 is a volatile memory, and content stored therein is lost upon power-down. As the main memory 110, a random access memory (RAM) is used, for example. In the main memory 110, a program (process) executed by the processing device 140 is retained. The program is stored on an external storage device, such as a magnetic disk device, is copied from the external storage device to the main memory 110, and is executed by the processing device 140. The main memory 110 is also used as a work memory that retains data temporarily generated in the course of an arithmetic process performed by the processing device 140. Information, such as the program code and data, retained in the main memory 110 is preserved on a nonvolatile storage device as restoration information (hibernation image) when the information processing apparatus 100 transitions to the hibernation state.
  • The first nonvolatile storage device 120 is a storage device on which restoration information obtained from the main memory 110 is saved when the information processing apparatus 100 transitions to the hibernation state, and functions as a first storage unit. As the first nonvolatile storage device 120, a nonvolatile storage device, such as a magnetic disk device (hard disk drive (HDD)), a solid state drive (SSD), or a flash memory, is used, for example. The external storage device that stores the program may be used as the first nonvolatile storage device 120. As described below, restoration information saved on the first nonvolatile storage device 120 is information (hereinafter also referred to as general information) that is determined not to be highly confidential in this exemplary embodiment.
  • The second nonvolatile storage device 130 is a storage device on which restoration information obtained from the main memory 110 is saved when the information processing apparatus 100 transitions to the hibernation state, and functions as a second storage unit. As the second nonvolatile storage device 130, a nonvolatile storage device, such as a magnetic disk device (HDD), an SSD, or a flash memory, is used, for example. Unlike the first nonvolatile storage device 120, however, the second nonvolatile storage device 130 is provided with a protective unit for maintaining the confidentiality of information stored thereon. Specifically, as the second nonvolatile storage device 130, a nonvolatile storage device for which a measure for increasing security against unauthorized reading is taken, such as a storage device having an encryption function or a password locking function, or an on-board memory (memory directly mounted on a board), is used, for example. By using such a highly secure nonvolatile storage device as the second nonvolatile storage device 130, even if the second nonvolatile storage device 130 is removed without authorization, information stored on the removed second nonvolatile storage device 130 is not read in an unauthorized manner. If the second nonvolatile storage device 130 is an on-board memory, it is difficult to remove the on-board memory. As a matter of course, plural measures for increasing security may be combined and applied to a storage device that implements the second nonvolatile storage device 130. As described below, restoration information saved on the second nonvolatile storage device 130 is information (hereinafter referred to as confidential information) that is determined to be highly confidential in this exemplary embodiment.
  • The classification unit 141 obtains, when the information processing apparatus 100 transitions to the hibernation state, the program code and data that are used as restoration information from the main memory 110. The classification unit 141 classifies each piece of restoration information (program code and data) that has been obtained as restoration information to be saved on the first nonvolatile storage device 120 or restoration information to be saved on the second nonvolatile storage device 130. Here, the classification unit 141 saves restoration information that includes highly confidential data (confidential information) on the second nonvolatile storage device 130, and saves other restoration information (general information) on the first nonvolatile storage device 120. In other words, the classification unit 141 determines whether restoration information obtained from the main memory 110 is confidential information or general information.
  • The classification unit 141 determines whether data included in the restoration information obtained from the main memory 110 is highly confidential data by determining whether a process (execution program) for processing the data satisfies any of the specific conditions described below, for example:
  • (1) the process is locked to the memory;
  • (2) the process reads a file for which a protective measure is taken; and
  • (3) the process has a specific privilege relating to data protection.
  • The condition “the process is locked to the memory” described in (1) corresponds to a function of locking a page in virtual address space allocated to the process to a physical memory (main memory 110). This function is implemented by using a system call, such as “mlock”, that is available in various operating systems (OSs), such as Linux (registered trademark), for example. Data written to the page that is locked to the physical memory is not moved from the physical memory. Accordingly, the data is assumed to be data of high importance, and the classification unit 141 determines the data to be highly confidential data in this exemplary embodiment. This determination is based on a condition attached to the process. It is possible to determine whether the process is locked to the memory by referring to a flag of a management structure of the process or of a page management structure, for example.
  • The condition “the process reads a file for which a protective measure is taken” described in (2) corresponds to a state where data loaded into the main memory 110 in the process is a file for which some protective measure is taken. Specifically, a file in a file system that is encrypted (encrypted file system), a file read from an encrypted memory device, a file protected by a specific policy of Security-Enhanced Linux (SELinux) used in Linux, and the like are files for which some protective measure is taken. In this exemplary embodiment, the classification unit 141 determines theses files for which a protective measure is taken as highly confidential data. This determination is based on a location where the file is stored before the file is loaded into the main memory 110. Note that the measures described above are merely examples of a protective measure. A file determined to be highly confidential data in this exemplary embodiment is not limited to a file for which any of the above-described specific measures is taken. It is possible to determine whether a protective measure is taken for a file by making an inquiry to a process management module of the information processing apparatus, for example.
  • In the condition “the process has a specific privilege relating to data protection” described in (3), “specific privilege” is a privilege based on Portable Operating System Interface for Unix (POSIX) capabilities, such as Linux kernel capabilities, for example. In this exemplary embodiment, the classification unit 141 determines data that is loaded into the main memory 110 in a process having such a specific privilege to be highly confidential data. This determination is based on a condition attached to the process. It is possible to determine whether the process has a specific privilege by referring to a flag of a management structure of the process or of a page management structure, for example.
  • In this exemplary embodiment, data that is loaded into the main memory 110 in a process that satisfies a specific condition as described above is determined to be highly confidential data, and restoration information (confidential information) that includes the highly confidential data is saved on the second nonvolatile storage device 130. Other restoration information (general information) is saved on the first nonvolatile storage device 120. Although examples of the specific condition are listed above, concrete conditions that are applied as the specific condition are not limited to the above-described examples.
  • The save control unit 142 reads the program code and data from the main memory 110 when the information processing apparatus 100 transitions to the hibernation state, and stores (preserves) the program code and data on a nonvolatile storage device as restoration information. In this exemplary embodiment, the save control unit 142 that functions as the controller saves restoration information that is obtained from the main memory 110 and that is confidential information on the second nonvolatile storage device 130 in accordance with classification performed by the classification unit 141. Further, the save control unit 142 saves restoration information that is obtained from the main memory 110 and that is not confidential information but general information on the first nonvolatile storage device 120.
  • The return control unit 143 reads, when the information processing apparatus 100 is started up from the hibernation state, restoration information saved on the first nonvolatile storage device 120 and on the second nonvolatile storage device 130, and writes the restoration information to the main memory 110. By the return control unit 143 functioning as the controller, the information processing apparatus 100 returns to the state before a transition to the hibernation state.
  • Operations of Classification Unit and Save Control Unit
  • FIG. 2 is a flowchart for describing operations of the classification unit 141 and the save control unit 142 (method for preserving data).
  • As illustrated in FIG. 2, if a transition condition for transition to the hibernation state is satisfied (Yes in step S201), the processing device 140 of the information processing apparatus 100 reads the program code and data retained in the main memory 110 as restoration information (step S202). Note that, as the transition condition for a transition to the hibernation state, a condition that is used as a transition condition in an existing hibernation technique, such as a condition that no operation is performed on the information processing apparatus 100 for a predetermined period, may be applied.
  • Next, the classification unit 141 of the processing device 140 determines whether the restoration information obtained in step 5202 is confidential information (step S203). If the classification unit 141 determines that the restoration information is confidential information (Yes in step S203), the save control unit 142 of the processing device 140 saves the restoration information (confidential information) on the second nonvolatile storage device 130 (step S204). On the other hand, if the classification unit 141 determines that the restoration information is general information (No in step S203), the save control unit 142 saves the restoration information (general information) on the first nonvolatile storage device 120 (step S205).
  • Modification
  • Next, a modification of this exemplary embodiment will be described.
  • In the exemplary embodiment described above, the save control unit 142 saves restoration information that is determined by the classification unit 141 to be confidential information on the second nonvolatile storage device 130. Alternatively, the save control unit 142 may split confidential information and save part of the confidential information on the first nonvolatile storage device 120 and the remaining part of the confidential information on the second nonvolatile storage device 130.
  • In the case of splitting confidential information and saving part of the confidential information on the first nonvolatile storage device 120 and the remaining part of the confidential information on the second nonvolatile storage device 130, for at least the part of the confidential information that is to be saved on the first nonvolatile storage device 120, the save control unit 142 divides the part of the confidential information into sections so as to reduce information content and create an irreversible state. In doing so, it is not possible to restore the confidential information only from the part of the restoration information saved on the first nonvolatile storage device 120. As a result, the confidential information is kept confidential. Note that, for the part of the confidential information to be saved on the first nonvolatile storage device 120, a protective measure, such as encryption or access control using a password, may be taken before the part of the confidential information is stored on the first nonvolatile storage device 120.
  • Confidential information is split as described above in a case where the confidential information has a large amount of data that exceeds the storage capacity of the second nonvolatile storage device 130 or a predetermined threshold. Part of confidential information may be divided into sections so as to reduce information content and create an irreversible state regardless of the amount of data of the confidential information, the part of the confidential information that becomes irreversible may be saved on the first nonvolatile storage device 120, and the remaining part of the confidential information may be saved on the second nonvolatile storage device 130.
  • The foregoing description of the exemplary embodiment of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiment was chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.

Claims (11)

What is claimed is:
1. An information processing apparatus comprising:
a controller that stores pieces of information retained in a memory on a nonvolatile storage device and, upon startup, makes the information processing apparatus return to a state before power-down by using the pieces of information stored on the nonvolatile storage device;
a first storage unit that is part of the nonvolatile storage device and stores at least some pieces of information among the pieces of information retained in the memory;
a second storage unit that is part of the nonvolatile storage device and stores pieces of information different from the pieces of information stored on the first storage unit among the pieces of information retained in the memory; and
a classification unit that classifies the pieces of information retained in the memory in accordance with a predetermined condition, wherein
the controller stores the pieces of information retained in the memory on the first storage unit or on the second storage unit in accordance with classification performed by the classification unit.
2. The information processing apparatus according to claim 1, wherein
the classification unit classifies each piece of information among the pieces of information retained in the memory as confidential information or general information in accordance with the predetermined condition, and
the controller stores the general information on the first storage unit and stores the confidential information on the second storage unit.
3. The information processing apparatus according to claim 2, wherein
the classification unit classifies each piece of information among the pieces of information retained in the memory as confidential information or general information in accordance with a condition attached to an execution program for processing the piece of information.
4. The information processing apparatus according to claim 2, wherein
the classification unit determines a piece of information among the pieces of information retained in the memory to be confidential information in a case where the piece of information is information obtained by reading a file for which a protective measure is taken.
5. The information processing apparatus according to claim 3, wherein
the classification unit determines a piece of information among the pieces of information retained in the memory to be confidential information in a case where the piece of information is information obtained by reading a file for which a protective measure is taken.
6. The information processing apparatus according to claim 1, wherein
the classification unit classifies each piece of information among the pieces of information retained in the memory as confidential information or general information in accordance with the predetermined condition, and
the controller divides the confidential information into a plurality of sections, stores some of the sections of the confidential information and the general information on the first storage unit, and stores remaining sections of the confidential information on the second storage unit.
7. The information processing apparatus according to claim 1, wherein
the second storage unit is a storage device for which a protective measure for protecting stored information is taken.
8. The information processing apparatus according to claim 2, wherein
the second storage unit is a storage device for which a protective measure for protecting stored information is taken.
9. The information processing apparatus according to claim 6, wherein
the second storage unit is a storage device for which a protective measure for protecting stored information is taken.
10. An information processing apparatus comprising:
a first nonvolatile storage device;
a second nonvolatile storage device different from the first nonvolatile storage device; and
a processing device that stores, among pieces of information retained in a memory, a piece of information that is determined, in accordance with a predetermined condition, to be confidential information on the second nonvolatile storage device, and stores a piece of information that is determined not to be confidential information but to be general information on the first nonvolatile storage device.
11. A method for preserving data, the method comprising:
classifying, upon power-down, information retained in a memory as a first type of information or a second type of information different from the first type of information in accordance with a predetermined condition;
saving the first type of information on a first nonvolatile storage device in accordance with classification of the information; and
saving the second type of information on a second nonvolatile storage device provided separately from the first nonvolatile storage device, in accordance with classification of the information.
US14/812,404 2015-01-27 2015-07-29 Information processing apparatus and method for preserving data Active US10216457B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015013762A JP6547306B2 (en) 2015-01-27 2015-01-27 INFORMATION PROCESSING APPARATUS, DATA BACKUP METHOD, AND PROGRAM
JP2015-013762 2015-01-27

Publications (2)

Publication Number Publication Date
US20160216901A1 true US20160216901A1 (en) 2016-07-28
US10216457B2 US10216457B2 (en) 2019-02-26

Family

ID=56434095

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/812,404 Active US10216457B2 (en) 2015-01-27 2015-07-29 Information processing apparatus and method for preserving data

Country Status (3)

Country Link
US (1) US10216457B2 (en)
JP (1) JP6547306B2 (en)
CN (1) CN105825150B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180241945A1 (en) * 2017-02-21 2018-08-23 Canon Kabushiki Kaisha Electronic device and control method thereof
US10373694B2 (en) * 2017-08-31 2019-08-06 Micron Technology, Inc. Responding to power loss
US10388388B2 (en) 2017-08-31 2019-08-20 Micron Technology, Inc. Responding to power loss

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020135247A (en) * 2019-02-15 2020-08-31 株式会社リコー Image forming apparatus, information processing method, and program

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941219B2 (en) * 2003-09-30 2005-09-06 Detroit Diesel Corporation Method for recreating valid calibration data for an engine control module
US7103718B2 (en) * 2002-09-03 2006-09-05 Hewlett-Packard Development Company, L.P. Non-volatile memory module for use in a computer system
US7293173B2 (en) * 1999-07-13 2007-11-06 Microsoft Corporation Methods and systems for protecting information in paging operating systems
US20090165081A1 (en) * 2007-12-21 2009-06-25 Samsung Electronics Co., Ltd. Trusted multi-stakeholder environment
US7669026B2 (en) * 2005-07-05 2010-02-23 International Business Machines Corporation Systems and methods for memory migration
US7869453B2 (en) * 2004-12-17 2011-01-11 Lantiq Deutschland Gmbh Apparatus and method for data transfer
US20110225418A1 (en) * 2010-03-10 2011-09-15 Sprint Communications Company L.P. Secure storage of protected data in a wireless communication device
US20120110343A1 (en) * 2010-10-29 2012-05-03 Bandic Zvonimir Z Trustworthy timestamps on data storage devices
US8316102B2 (en) * 2005-01-21 2012-11-20 Panasonic Corporation Relay device
US8819446B2 (en) * 2009-06-26 2014-08-26 International Business Machines Corporation Support for secure objects in a computer system
US8904126B2 (en) * 2010-11-16 2014-12-02 Actifio, Inc. System and method for performing a plurality of prescribed data management functions in a manner that reduces redundant access operations to primary storage
US9086971B2 (en) * 2012-04-13 2015-07-21 Lapis Semiconductor Co., Ltd. Semiconductor device, confidential data control system, confidential data control method
US9152182B1 (en) * 2011-04-15 2015-10-06 Physical Optics Corporation Reconfigurable mass data recording method and system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3198947B2 (en) * 1996-09-30 2001-08-13 日本電気株式会社 Separable connection type personal computer
JP2005301576A (en) 2004-04-09 2005-10-27 Hitachi Ltd Method for controlling data communication system, data communication system and information processor
JP2006272674A (en) * 2005-03-28 2006-10-12 Fuji Xerox Co Ltd Image forming apparatus and image forming method
US7519808B2 (en) * 2006-04-25 2009-04-14 Apple Inc. Method and apparatus for quickly reanimating devices from hibernation
JP5493951B2 (en) 2009-04-17 2014-05-14 株式会社リコー Information processing apparatus, validity verification method, and program
US10360143B2 (en) * 2010-07-01 2019-07-23 Qualcomm Incorporated Parallel use of integrated non-volatile memory and main volatile memory within a mobile device
CN101916201B (en) * 2010-08-06 2015-05-27 中兴通讯股份有限公司 Android-based mobile terminal cold-boot method and device
US9158924B2 (en) * 2011-05-25 2015-10-13 Panasonic Intellectual Property Management Co., Ltd. Information processing apparatus and information processing method
JP6095289B2 (en) 2012-07-25 2017-03-15 キヤノン株式会社 Information processing apparatus, information processing apparatus control method, and program

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7293173B2 (en) * 1999-07-13 2007-11-06 Microsoft Corporation Methods and systems for protecting information in paging operating systems
US7103718B2 (en) * 2002-09-03 2006-09-05 Hewlett-Packard Development Company, L.P. Non-volatile memory module for use in a computer system
US6941219B2 (en) * 2003-09-30 2005-09-06 Detroit Diesel Corporation Method for recreating valid calibration data for an engine control module
US7869453B2 (en) * 2004-12-17 2011-01-11 Lantiq Deutschland Gmbh Apparatus and method for data transfer
US8316102B2 (en) * 2005-01-21 2012-11-20 Panasonic Corporation Relay device
US7669026B2 (en) * 2005-07-05 2010-02-23 International Business Machines Corporation Systems and methods for memory migration
US20090165081A1 (en) * 2007-12-21 2009-06-25 Samsung Electronics Co., Ltd. Trusted multi-stakeholder environment
US8819446B2 (en) * 2009-06-26 2014-08-26 International Business Machines Corporation Support for secure objects in a computer system
US20110225418A1 (en) * 2010-03-10 2011-09-15 Sprint Communications Company L.P. Secure storage of protected data in a wireless communication device
US20120110343A1 (en) * 2010-10-29 2012-05-03 Bandic Zvonimir Z Trustworthy timestamps on data storage devices
US8904126B2 (en) * 2010-11-16 2014-12-02 Actifio, Inc. System and method for performing a plurality of prescribed data management functions in a manner that reduces redundant access operations to primary storage
US9152182B1 (en) * 2011-04-15 2015-10-06 Physical Optics Corporation Reconfigurable mass data recording method and system
US9086971B2 (en) * 2012-04-13 2015-07-21 Lapis Semiconductor Co., Ltd. Semiconductor device, confidential data control system, confidential data control method

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180241945A1 (en) * 2017-02-21 2018-08-23 Canon Kabushiki Kaisha Electronic device and control method thereof
US10587802B2 (en) * 2017-02-21 2020-03-10 Canon Kabushiki Kaisha Electronic device and control method thereof
US10373694B2 (en) * 2017-08-31 2019-08-06 Micron Technology, Inc. Responding to power loss
US10388388B2 (en) 2017-08-31 2019-08-20 Micron Technology, Inc. Responding to power loss
US10762971B2 (en) 2017-08-31 2020-09-01 Micron Technology, Inc. Responding to power loss
US10803964B2 (en) 2017-08-31 2020-10-13 Micron Technology, Inc. Responding to power loss
US11017868B2 (en) 2017-08-31 2021-05-25 Micron Technology, Inc. Responding to power loss
US11322211B2 (en) 2017-08-31 2022-05-03 Micron Technology, Inc. Memory devices having a differential storage device

Also Published As

Publication number Publication date
US10216457B2 (en) 2019-02-26
JP2016139275A (en) 2016-08-04
CN105825150B (en) 2019-08-23
CN105825150A (en) 2016-08-03
JP6547306B2 (en) 2019-07-24

Similar Documents

Publication Publication Date Title
EP3374922B1 (en) Systems and methods for protecting backed-up data from ransomware attacks
US10262138B2 (en) Techniques for ransomware detection and mitigation
US9852289B1 (en) Systems and methods for protecting files from malicious encryption attempts
US10121003B1 (en) Detection of malware, such as ransomware
EP3166037B1 (en) System and method of secure execution of code in hypervisor mode
US8990934B2 (en) Automated protection against computer exploits
US8726404B2 (en) Regulating access to and protecting portions of applications of virtual machines
US10216457B2 (en) Information processing apparatus and method for preserving data
JP2017010531A (en) System and method for restoring modified data
Suzaki et al. Software side channel attack on memory deduplication
US20140233055A1 (en) Method, device and computer readable medium for managing print jobs
US9418232B1 (en) Providing data loss prevention for copying data to unauthorized media
US11601443B2 (en) System and method for generating and storing forensics-specific metadata
US20230084691A1 (en) Advanced ransomware detection
US20190347438A1 (en) System and Method to Manage Versioning and Modifications of Content in a Centralized Content Handling System
US8107337B2 (en) Image processing apparatus and data erasing method
JP4992109B2 (en) File protection system, file protection method, and computer program
EP3430524B1 (en) Print interface technology agnostic data loss prevention through print operations
US20220327211A1 (en) Data processing system and method capable of separating application processes
KR20200102796A (en) System for managing ransomware test using virtual machine technologies and method therefor
JP6107286B2 (en) Distributed storage system, node, data management method, and program
US20160357470A1 (en) Computer readable medium, information processing apparatus, and method
US11960617B2 (en) Hardware protection of files in an integrated-circuit device
US9141808B1 (en) Data loss prevention
US20240126882A1 (en) Instructions to process files in virtual machines

Legal Events

Date Code Title Description
AS Assignment

Owner name: FUJI XEROX CO., LTD., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TAKESHITA, ATSUSHI;REEL/FRAME:036210/0660

Effective date: 20150703

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: FUJIFILM BUSINESS INNOVATION CORP., JAPAN

Free format text: CHANGE OF NAME;ASSIGNOR:FUJI XEROX CO., LTD.;REEL/FRAME:058287/0056

Effective date: 20210401

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4