US20160216901A1 - Information processing apparatus and method for preserving data - Google Patents
Information processing apparatus and method for preserving data Download PDFInfo
- 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
Links
Images
Classifications
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- 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/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting 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
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
- 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/442—Shutdown
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
Description
- This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2015-013762 filed Jan. 27, 2015.
- (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.
- 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.
- 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. - Hereinafter, an exemplary embodiment of the present invention will be described in detail with reference to the attached drawings.
-
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 , aninformation processing apparatus 100 to which this exemplary embodiment is applied includes amain memory 110, a firstnonvolatile storage device 120, and a secondnonvolatile storage device 130 as memories. Theinformation processing apparatus 100 further includes aprocessing device 140 as a controller. Theprocessing device 140 is implemented as a central processing unit (CPU), for example, and executes a program loaded into themain memory 110 to thereby implement various functions. In this exemplary embodiment, theprocessing device 140 functions as aclassification unit 141, asave control unit 142, and areturn control unit 143. In this exemplary embodiment, when theinformation processing apparatus 100 transitions to the hibernation state, information retained in themain memory 110 is classified as a first type of information or a second type of information and is saved on the firstnonvolatile storage device 120 or on the secondnonvolatile storage device 130. - Note that
FIG. 1 illustrates a configuration of theinformation processing apparatus 100 which only includes components for implementing this exemplary embodiment. Practically, various configurations other than that illustrated inFIG. 1 are conceivable depending on the type ofinformation processing apparatus 100. In a case where theinformation processing apparatus 100 is a personal computer, for example, theinformation 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 theinformation processing apparatus 100 is an image forming apparatus, theinformation 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 themain memory 110, a random access memory (RAM) is used, for example. In themain memory 110, a program (process) executed by theprocessing 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 themain memory 110, and is executed by theprocessing device 140. Themain memory 110 is also used as a work memory that retains data temporarily generated in the course of an arithmetic process performed by theprocessing device 140. Information, such as the program code and data, retained in themain memory 110 is preserved on a nonvolatile storage device as restoration information (hibernation image) when theinformation processing apparatus 100 transitions to the hibernation state. - The first
nonvolatile storage device 120 is a storage device on which restoration information obtained from themain memory 110 is saved when theinformation processing apparatus 100 transitions to the hibernation state, and functions as a first storage unit. As the firstnonvolatile 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 firstnonvolatile storage device 120. As described below, restoration information saved on the firstnonvolatile 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 themain memory 110 is saved when theinformation processing apparatus 100 transitions to the hibernation state, and functions as a second storage unit. As the secondnonvolatile 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 firstnonvolatile storage device 120, however, the secondnonvolatile storage device 130 is provided with a protective unit for maintaining the confidentiality of information stored thereon. Specifically, as the secondnonvolatile 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 secondnonvolatile storage device 130, even if the secondnonvolatile storage device 130 is removed without authorization, information stored on the removed secondnonvolatile storage device 130 is not read in an unauthorized manner. If the secondnonvolatile 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 secondnonvolatile storage device 130. As described below, restoration information saved on the secondnonvolatile 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 theinformation processing apparatus 100 transitions to the hibernation state, the program code and data that are used as restoration information from themain memory 110. Theclassification unit 141 classifies each piece of restoration information (program code and data) that has been obtained as restoration information to be saved on the firstnonvolatile storage device 120 or restoration information to be saved on the secondnonvolatile storage device 130. Here, theclassification unit 141 saves restoration information that includes highly confidential data (confidential information) on the secondnonvolatile storage device 130, and saves other restoration information (general information) on the firstnonvolatile storage device 120. In other words, theclassification unit 141 determines whether restoration information obtained from themain memory 110 is confidential information or general information. - The
classification unit 141 determines whether data included in the restoration information obtained from themain 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, theclassification 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 themain 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 themain 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 secondnonvolatile storage device 130. Other restoration information (general information) is saved on the firstnonvolatile 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 themain memory 110 when theinformation 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 savecontrol unit 142 that functions as the controller saves restoration information that is obtained from themain memory 110 and that is confidential information on the secondnonvolatile storage device 130 in accordance with classification performed by theclassification unit 141. Further, the savecontrol unit 142 saves restoration information that is obtained from themain memory 110 and that is not confidential information but general information on the firstnonvolatile storage device 120. - The
return control unit 143 reads, when theinformation processing apparatus 100 is started up from the hibernation state, restoration information saved on the firstnonvolatile storage device 120 and on the secondnonvolatile storage device 130, and writes the restoration information to themain memory 110. By thereturn control unit 143 functioning as the controller, theinformation processing apparatus 100 returns to the state before a transition to the hibernation state. -
FIG. 2 is a flowchart for describing operations of theclassification 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), theprocessing device 140 of theinformation processing apparatus 100 reads the program code and data retained in themain 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 theinformation processing apparatus 100 for a predetermined period, may be applied. - Next, the
classification unit 141 of theprocessing device 140 determines whether the restoration information obtained in step 5202 is confidential information (step S203). If theclassification unit 141 determines that the restoration information is confidential information (Yes in step S203), the savecontrol unit 142 of theprocessing device 140 saves the restoration information (confidential information) on the second nonvolatile storage device 130 (step S204). On the other hand, if theclassification unit 141 determines that the restoration information is general information (No in step S203), the savecontrol unit 142 saves the restoration information (general information) on the first nonvolatile storage device 120 (step S205). - 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 theclassification unit 141 to be confidential information on the secondnonvolatile storage device 130. Alternatively, the savecontrol unit 142 may split confidential information and save part of the confidential information on the firstnonvolatile storage device 120 and the remaining part of the confidential information on the secondnonvolatile 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 secondnonvolatile storage device 130, for at least the part of the confidential information that is to be saved on the firstnonvolatile storage device 120, the savecontrol 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 firstnonvolatile 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 firstnonvolatile 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 firstnonvolatile 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 firstnonvolatile storage device 120, and the remaining part of the confidential information may be saved on the secondnonvolatile 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)
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)
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)
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)
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)
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 |
-
2015
- 2015-01-27 JP JP2015013762A patent/JP6547306B2/en active Active
- 2015-07-29 US US14/812,404 patent/US10216457B2/en active Active
- 2015-08-28 CN CN201510541754.2A patent/CN105825150B/en active Active
Patent Citations (13)
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)
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 |