WO2015044999A1 - Memory control device, information processing device, and memory control method - Google Patents
Memory control device, information processing device, and memory control method Download PDFInfo
- Publication number
- WO2015044999A1 WO2015044999A1 PCT/JP2013/075684 JP2013075684W WO2015044999A1 WO 2015044999 A1 WO2015044999 A1 WO 2015044999A1 JP 2013075684 W JP2013075684 W JP 2013075684W WO 2015044999 A1 WO2015044999 A1 WO 2015044999A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- storage device
- data
- stored
- access history
- dimm
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
Definitions
- the present invention relates to a memory control device, an information processing device, and a memory control method.
- FIG. 10 is a diagram schematically illustrating a hardware configuration of a conventional information processing apparatus 101.
- the information processing apparatus 101 is, for example, an information processing apparatus having a server function, and includes a central processing unit (CPU) 110, a memory control LSI 102, an SSD 103, and a DIMM 104.
- the information processing apparatus 101 is, for example, a core server, and once it is written, such as customer information (for example, the customer's name and date of birth), information that is hardly updated thereafter is stored in the DIMM 104. Read and write to it.
- the CPU 110 is a processing device that performs various controls and operations, and implements various functions by executing an operating system (OS) and programs stored in the DIMM 104.
- the DIMM 104 temporarily stores programs executed by the CPU 110, various data (hereinafter also referred to as user data), data obtained by the operation of the CPU 110, and the like.
- the SSD 103 is a non-volatile storage device for backup of data stored in the DIMM 104.
- the memory control LSI 102 is an LSI that controls the DIMM 104. Further, the memory control LSI 102 backs up the data by copying the data stored in the DIMM 104 to the SSD 103 via a control intellectual property (IP) core 105 and a user logic control 106 described later. Then, the memory control LSI 102 writes back (restores) the data backed up in the SSD 103 to the DIMM 104 via the control IP core 105 and the user logic control 106.
- IP intellectual property
- the memory control LSI 102 includes a control IP core 105, a user logic control 106, a memory controller 109, and management information 111.
- the memory controller 109 controls reading of user data from the DIMM 104 (Read) and writing of user data to the DIMM 104 (Write).
- the control IP core 105 and the user logical control 106 are interfaces that control communication between the SSD 103 and the DIMM 104. Specifically, the control IP core 105 communicates with the SSD 103, and the user logic control 106 communicates with the memory controller 109.
- the IP core is a block of frequently used circuits to improve the reusability of design assets in the development of Field Programmable Gate Array (FPGA) and Application-Specific Integrated Circuit (ASIC). It is a circuit block and there are various IP cores. Use of the IP core facilitates FPGA and ASIC design and debugging. In other words, the IP core corresponds to a library in software development.
- the control IP core 105 is an SSD control IP core.
- the user logical control 106 is an interface that controls communication between the SSD 103 and the DIMM 104 in accordance with the format of user data.
- the management information 111 is information used for managing the memory control LSI 102 and is stored in, for example, a non-illustrated nonvolatile memory in the memory control LSI 102.
- the management information 111 stores information indicating whether a data unit stored in the DIMM 104 (hereinafter, this unit is referred to as a data set) is backed up.
- FIG. 11 is a flowchart (steps S101 to S105) showing the operation of the memory control LSI 102 shown in FIG.
- step S ⁇ b> 101 the memory control LSI 102 reads the management information 111 for each data set in the DIMM 104.
- step S102 the memory control LSI 102 determines whether data in the DIMM 104 is backed up based on the management information 111 read in step S101.
- step S104 When the data in the DIMM 104 is not backed up (see NO route in step S102), in step S104, the memory control LSI 102 backs up all data sets in the DIMM 104 to the SSD 103. Thereafter, the processing moves to step S105.
- step S103 when the data in the DIMM 104 is backed up (see YES route in step S102), in step S103, the memory control LSI 102 updates the data in the DIMM 104 after the previous backup is performed based on the management information 111. Determine whether or not.
- step S104 When the data in the DIMM 104 has been updated after the previous backup (see YES route in step S103), in step S104, the memory control LSI 102 backs up the updated data set in the DIMM 104 to the SSD 103. Thereafter, the processing moves to step S105. On the other hand, if the data in the DIMM 104 has not been updated since the previous backup (see NO route in step S103), the process returns to step S101 described above.
- step S105 it is determined whether the operation of the information processing apparatus 101 is continued. When the operation of the information processing apparatus 101 is continued (see YES route in step S105), the process returns to step S101. If the operation of the information processing apparatus 101 has ended (see NO route in step S105), the process ends.
- the information processing apparatus 101 is a backbone server or the like, there may be a lot of data that is updated only once in the DIMM 104. In such a case, there is a considerable amount of frequently updated data in the DIMM 104 and data that has been updated only once (that is, data that has been written once and has not been updated since then).
- the backup method shown in FIG. 11 if the data in the DIMM 104 has been updated, the data is backed up to the SSD 103. For this reason, when there is a considerable amount of data that has been updated only once (that is, data that has been written once and has not been updated since then) and data that is frequently updated, the data in the DIMM 104 is immediately after backup to the SSD 103. It is often updated. For this reason, the backup time is wasted.
- the present invention aims to shorten the backup time of memory data.
- the present invention is not limited to the above-described object, and other effects of the present invention can be achieved by the functions and effects derived from the respective configurations shown in the embodiments for carrying out the invention which will be described later. It can be positioned as one of
- the memory control device stores an access history in the access history storage unit that stores an access history to the first storage device, and in the access history storage unit every time the first storage device is accessed.
- the information processing apparatus accesses the first storage device, the second storage device, an access history storage unit that stores an access history to the first storage device, and the first storage device. Each time the access history is stored in the access history storage unit, and based on the access history stored in the access history storage unit, of the data in the first storage device, the number of accesses is a predetermined value or less. And a control unit for storing the information in the second storage device.
- the memory control method records an access history to the access every time the first storage device is accessed in the access history storage unit, and based on the access history stored in the access history storage unit.
- data having the number of accesses equal to or smaller than a predetermined value is stored in the second storage device.
- the backup time of memory data can be shortened.
- FIG. 6 is a flowchart illustrating an operation of a memory control LSI as an example of an embodiment.
- FIG. 1 is a diagram schematically illustrating a hardware configuration of an information processing apparatus 1 as an example of an embodiment.
- the information processing device 1 is, for example, an information processing device having a server function, and includes a CPU 10, a memory control LSI (memory control device) 2, an SSD (second storage device) 3, and a DIMM (first storage device). 4 is provided.
- the information processing apparatus 1 as an example of the present embodiment is, for example, a backbone server, and once customer information (for example, customer name, date of birth, etc.) is written once, it is almost updated thereafter. No information is read from or written to the DIMM 4.
- the CPU 10 is a processing device that performs various controls and operations, and implements various functions by executing an OS and programs stored in the DIMM 4.
- a known CPU can be used as the CPU 10.
- the DIMM 4 temporarily stores programs executed by the CPU 10, various data (hereinafter also referred to as user data), data obtained by the operation of the CPU 10, and the like.
- a known memory such as a RAM can be used as the DIMM 4.
- the SSD 3 is a non-volatile storage device for backup of data stored in the DIMM 4.
- a known SSD can be used as SSD3.
- the memory control LSI 2 is an LSI that controls the DIMM 4. Further, the memory control LSI 2 backs up the data by copying the data stored in the DIMM 4 to the SSD 3 via the control IP core 5 and the user logic control 6 described later. Then, the memory control LSI 2 writes back (restores) the data backed up in the SSD 3 to the DIMM 4 via the control IP core 5 and the user logic control 6.
- the memory control LSI 2 as an example of this embodiment does not back up frequently updated data stored in the DIMM 4 during normal operation, but backs up the DIMM 4 when the information processing apparatus 1 is powered off. Back up only when an instruction is issued. On the other hand, the memory control LSI 2 backs up the data stored in the DIMM 4 that has been updated only once within a predetermined time (that is, not updated after being written once) in the background during normal operation. To do.
- advance saving the process of backing up data updated only once within a predetermined time is referred to as “advance saving”.
- the memory control LSI 2 monitors the update state of the DIMM 4 in block units in the background of the normal operation of the information processing apparatus 1 and only blocks that have passed the reference time after being updated once. Are saved in advance in the SSD 3.
- the block is a unit when the memory control LSI 2 accesses the SSD 3, and for example, one block is 4 kilobytes (KB). Since the memory control LSI 2 performs backup (copy) of data from the DIMM 4 to the SSD 3 in units of blocks, the access of the DIMM 4 is also monitored in units of blocks.
- the normal operation of the information processing apparatus 1 refers to a state in which the information processing apparatus 1 is used for a target job by the user after the information processing apparatus 1 is turned on and completely activated.
- the memory control LSI 2 includes a control IP core 5, a user logic control 6, a preceding saving unit (control unit) 7, a reference time extraction unit (extraction unit) 8, and a memory controller 9.
- the memory controller 9 controls reading of user data from the DIMM 4 (Read) and writing of user data to the DIMM 4 (Write).
- the control IP core 5 and the user logical control 6 are interfaces that control communication between the SSD 3 and the DIMM 4. Specifically, the control IP core 5 communicates with the SSD 3, and the user logic control 6 communicates with the memory controller 9.
- the user logic control 6 is an interface that controls communication between the SSD 3 and the DIMM 4 in accordance with the format of user data.
- a known memory interface can be used as the control IP core 5 and the user logic control 6.
- the advance saving unit 7 monitors the update of data in the DIMM 4 every predetermined time, and identifies a block in which data is saved in advance in the SSD 3 among all the blocks of the DIMM 4.
- FIG. 2 is a schematic diagram illustrating a circuit configuration example of the advance saving unit 7 in the information processing apparatus 1 as an example of the embodiment.
- the advance save unit 7 executes advance save processing, which will be described later with reference to FIG. 8, and is updated only once within a predetermined time out of the data stored in the DIMM 4 (that is, updated after being written once). No) Back up data in the background during normal operation.
- the advance saving unit 7 executes the advance saving process at predetermined time intervals during normal operation. The execution interval of this advance saving process can be appropriately set by a system administrator or the like according to the operation of the information processing apparatus 1.
- the advance save unit 7 includes a block management table 15 and a advance save determination unit 16.
- the block management table 15 is a table for managing the update status (access history) of data to the DIMM 4 as an update flag for each block of the DIMM 4.
- the block management table 15 is stored in a volatile memory such as a static RAM (SRAM) (not shown) in the memory control LSI 2, for example.
- SRAM static RAM
- the advance save determination unit 16 reads an update flag from a block management table 15 to be described later, and determines whether to save data to the SSD 3 for each block in the DIMM 4 based on the read update flag. In other words, the advance save determination unit 16 keeps the state of each block updated once (that is, only written once) in the DIMM 4 (that is, the block data is not updated thereafter), and the reference time Determine if it has passed.
- the detailed configuration and function of the advance retraction determining unit 16 will be described later with reference to FIG.
- FIG. 3 is a diagram illustrating a block management table 15 as an example of the embodiment.
- the block management table 15 stores an update flag indicating the update status of data of all blocks of the DIMM 4.
- the block management table 15 sets the update flag of the blocks 1 and 2 of the DIMM 4 to the address ADRS_1, the update flag of the blocks 3 and 4 to the address ADRS_2, the update flag of the blocks 5 and 6 to the address ADRS_3, and so on. , Each storing. That is, for each address in the block management table 15, an update flag for two blocks of the DIMM 4 is stored.
- the block management table 15 is updated by the advance saving determination unit 16.
- the data length of the update flag of each block is, for example, 2 bits. For example, for each block of DIMM 4, “00” is displayed if the block has not been updated, “01” if the block has been updated only once, and “11” if the block has been updated more than once. Are stored in the block management table 15 as update flags for the block.
- FIG. 4 is a schematic diagram illustrating a circuit configuration example of the advance evacuation determination unit 16 as an example of the embodiment.
- the advance save determination unit 16 includes a reference time register 17, a comparison unit 18, a counter 19, a register 20, and logical operation units 21 and 22.
- the reference time register 17 is a register that stores the reference time extracted by the reference time extraction unit 8 described above with reference to FIG.
- the comparison unit 18 compares the value of the reference time register 17 and the value of the counter 19, for example, LOW (for example, “0”) when the two do not match, and HIGH (for example, “1”) when the two match. Is output to a register 20 to be described later.
- the counter 19 is a counter that counts an elapsed time since the block of the DIMM 4 was first updated. Specifically, when the value of the 2-bit update flag in the block update table 15 indicates “01”, the counter 19 receives HIGH from a logic operation unit 21 described later and starts counting up. Thereafter, the counter 19 counts up, for example, every hour. That is, the counter 19 starts counting up when the first write to the DIMM 4 occurs, and is incremented by 1 every hour.
- the counter 19 is cleared by inputting LOW when the counter value reaches the reference time value.
- FIG. 5 illustrates the operation logic of the counter 19 in a tabular form. When LOW is input to the counter 19, the counter 19 is reset and the counter value is set to "000" as shown in the diagram of FIG.
- the register 20 in FIG. 4 is a register that holds the update flag (2 bits) read from the block update table 15 and the comparison result (1 bit) of the comparison unit 18.
- the logic operation unit 21 is an AND circuit in the example of FIG.
- the logical operation unit 21 outputs LOW to the counter 19 when the 2-bit value of the update flag value of the register 20 is other than “01”.
- the logical operation unit 21 outputs HIGH to the counter 19 to start counting up.
- the logic operation unit 22 is an AND circuit in the example of FIG. When the logical operation unit 22 detects the passage of the reference time, it outputs HIGH.
- the circuit of FIG. 4 determines whether the block in the DIMM 4 has not been updated (that is, updated only once) until the reference time has elapsed after the block is first written. If the block has never been updated by the lapse of the reference time after the first writing (that is, updated only once), the logical operation unit 22 outputs HIGH, for example, and precedes the block with the SSD 3. It instructs the preceding saving unit 7 that it is a target to be saved.
- FIG. 6 is a schematic diagram illustrating a circuit configuration example of the reference time extraction unit 8 as an example of the embodiment.
- the reference time extraction unit 8 measures the time required for writing to the DIMM 4 a predetermined number of times, and determines (extracts) the measured time as the reference time. This reference time is used when the advance saving unit 7 determines whether the data in the DIMM 4 has been updated only once within a predetermined time.
- the reference time extraction unit 8 includes a relative clock 11, a comparison unit 12, a threshold register 13, and a WRITE_ENABLE (WE) counter 14.
- the relative clock 11 is a timer used for the reference time extraction process.
- the relative clock 11 starts counting up when the information processing apparatus 1 is powered on or reset (power-on reset), and is stopped by the comparison unit 12. Then, the relative clock 11 extracts the counter value of the relative clock 11 at the time when it is stopped by the comparison unit 12 as the reference time, performs conversion as necessary, and then, for example, the reference time register 17 (see FIG. 4). ).
- the comparison unit 12 compares the value of a threshold register 13 described later with the value of the WE counter 14. When both match, the comparison unit 12 outputs HIGH, for example, and stops the countdown of the relative timepiece 11.
- the threshold register 13 is a register that holds a threshold to be compared with the value of the WE counter 14.
- the threshold set in the threshold register 13 is set to any appropriate value by the threshold of the number of times of writing to the DIMM 4, for example, by a system administrator or the like.
- the WE counter 14 is a counter that counts the number of times the data of the block of the DIMM 4 is updated. When the WE counter 14 receives a WRITE_ENABLE signal that permits writing to the DIMM 4, for example, the WE counter 14 increments the counter by one. (B) Operation Next, the operation of the memory control LSI 2 as an example of the embodiment will be described.
- FIG. 7 is a flowchart (steps S1 to S14) showing the operation of the memory control LSI 2 as an example of the embodiment.
- step S1 the information processing apparatus 1 is turned on, and normal operation of the information processing apparatus 1 is started.
- step S2 the advance saving unit 7 clears the block management table 15, and resets the update flags of all blocks of the DIMM 4 to “00”.
- step S3 the advance save determination unit 16 waits for an access command to the DIMM 4 and determines whether the command has been received. If no command has been received (see NO route in step S3), the process returns to step S3. On the other hand, when an instruction is received (see YES route in step S3), in step S4, the advance save determination unit 16 determines whether the received instruction is a backup instruction.
- step S5 since the command received in step S3 is a backup command at the time of power-off, in step S5, the advance saving unit 7 reads all blocks of DIMM 4 from the block management table 15. Read the update flag. In step S6, the advance saving unit 7 saves (backs up) the data of the block of the DIMM 4 whose update flag value in the block management table 15 is other than “00” to the SSD 3.
- step S7 the advance saving unit 7 sets the value of the corresponding update flag in the block management table 15 to “00” for all the blocks saved in the SSD 3 in step S6. Thereafter, the power source of the information processing apparatus 1 is turned off, and the normal operation ends.
- step S8 the advance save determination unit 16 determines whether the command received in step S3 is a memory write command.
- step S9 the memory controller 9 executes a memory read command for the DIMM 4, and then returns to step S3 to wait for the next command.
- the instruction received in step S3 is a memory write instruction (see YES route in step S8)
- step S10 the memory controller 9 executes memory write to the DIMM 4.
- step S10 After executing the memory write in step S10, the process returns to step S3 and the normal operation is continued.
- the advance saving unit 7 starts the flag update processing of steps S11 to S14 in the background of normal operation.
- step S11 the advance saving determination unit 16 reads the value of the update flag in the block management table 15 corresponding to the block written to the DIMM 4 in step S10.
- step S12 the advance save determination unit 16 determines whether or not the value of the update flag read into the register 20 is “00”. As described above, “00” is the initial value of the update flag, and the block in which this value is set in the update flag has not been updated yet after the information processing apparatus 1 is started (data is not written). ) When the value of the update flag is “00” (see YES route in step S12), in step S13, the advance save determination unit 16 sets the value of the corresponding update flag in the block management table 15 only once for the corresponding block. It is set to “01” indicating that it has been updated, and the flag update process is terminated (normal operation is continued).
- step S14 the advance evacuation determination unit 16 sets the value of the corresponding update flag in the block management table 15 twice for the corresponding block. The value is set to “11”, which indicates that data has been written, and the flag update process is terminated (normal operation is continued).
- FIG. 8 is a flowchart (steps S21 to S24) showing the advance saving process by the advance saving unit 7 as an example of the embodiment.
- step S ⁇ b> 21 the advance saving unit 7 determines whether or not the information processing apparatus 1 is powered off. When the information processing apparatus 1 is powered off (see YES route in step S21), the preceding saving unit 7 ends the preceding saving process.
- the advance saving unit 7 reads the all update flag from the block management table 15 in step S22. Then, it is determined whether or not there is a block in which the reference time extracted by the reference time extraction unit 8 has elapsed since the value of the read update flag is “01” and the update flag is set to the value “01”. judge.
- step S22 If there is no block that satisfies the condition in step S22 (that is, data that has not been updated since it was written once) (see NO route in step S22), the advance save unit 7 returns to step S21 and performs the advance save process. repeat. On the other hand, if there is a block that satisfies the condition in step S22 (see YES route in step S22), in step S23, the advance saving unit 7 has the update flag value “01” and the update flag value “01”. The data of all the blocks whose reference time has elapsed since being set to “” are copied to the SSD 3.
- step S24 the advance saving unit 7 clears the update flag of the block update table 15 corresponding to the block copied to the SSD 3 in step S23 (that is, sets “00”). Thereafter, the preceding saving unit 7 returns to step S21 and repeats the preceding saving process.
- FIG. 9 is a flowchart (steps S31 to S37) showing a reference time extraction process by the reference time extraction unit 8 as an example of the embodiment.
- the reference time extraction unit 8 executes the reference time extraction process whenever the information processing apparatus 1 is powered on. Then, the latest reference time extracted by the reference time extraction unit 8 is used in step S22 of FIG. In step S31, the reference time extraction unit 8 resets the relative clock 11. Next, in step S32, the relative clock 11 starts a timer operation (timekeeping).
- step S33 the reference time extraction unit 8 monitors the write access (such as WRITE_ENABLE) of the DIMM 4, and counts up the WE counter 14 when the write access is observed.
- step S ⁇ b> 34 the comparison unit 12 determines whether or not the counter value of the WE counter 14 has reached the access count threshold value of the DIMM 4 stored in the threshold value register 13.
- step S34 If the counter value of the WE counter 14 has not reached the threshold value (see NO route in step S34), the process returns to step S33, and the reference time extraction unit 8 continues to monitor access to the DIMM 4. On the other hand, when the counter value of the WE counter 14 reaches the threshold value (see YES route in step S34), the reference time extraction unit 8 clears the WE counter 14 in step S35.
- step S36 the comparison unit 12 stops the relative clock 11, and the reference time extraction unit 8 extracts the timer value of the relative clock 11 as the reference time.
- step S37 the relative clock 11 applies the timer value extracted in step S36 as a reference time (for example, after converting the unit of time as necessary, stores it in the reference time register 17 in FIG. 4).
- the advance saving unit 7 monitors the update state of the data in the DIMM 4 and records the update state in the block management table 15 in units of blocks of the DIMM 4. . Based on the block management table 15, the advance save unit 7 saves only the data of the block that has been updated only once (that is, has not been updated since being written once) to the SSD 3. To do.
- the actual use area of the DIMM 4 is about 32 GB in total, and data that is updated only once accounts for about 60% of the entire DIMM 4. Percent of data is saved in advance during normal operation.
- the DIMM 4 is backed up in the event of a failure of the information processing apparatus 1 and the like, data that is updated only once is first copied to the SSD 3 first, so the remaining capacity to be backed up is 12.8 GB. For this reason, the backup time of the DIMM 4 can be greatly shortened.
- the advance save unit 7 performs this advance save in the background of the normal operation, the normal operation is not hindered by the advance save. Further, since the memory space of the DIMM 4 is divided into blocks, the access management efficiency of the DIMM 4 is improved. Further, useless saving to the SSD 3 can be reduced, and the backup time is shortened at the time of backup such as when the information processing apparatus 1 is powered off due to an error.
- the reference time extraction unit 8 always executes the reference time extraction process, and obtains the reference time used for the determination of the advance evacuation to the SSD 3 according to the data access status to the DIMM 4. For this reason, the frequency of advance evacuation can be optimized according to the data access status to the DIMM 4. By monitoring the data update frequency of the DIMM 4 and specifying the block to be backed up in advance, the number of writes to the SSD 3 can be suppressed, and the life of the SSD 3 can be extended.
- the disclosed technique is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present embodiment.
- the SSD 3 is used as a memory backup medium.
- another nonvolatile storage device may be used as the backup medium.
- the contents of the DIMM 4 are backed up to the SSD 3, but the contents of other memories of the information processing apparatus 1 may be backed up to the SSD 3.
- the block data of the DIMM 4 that has passed for one hour after the first update is preliminarily saved in the SSD 3, but the system management is performed according to the operation status of the information processing apparatus 1 or the like. Any other waiting time may be set by a person or the like.
- the counter 19 is incremented by 1 every hour, but the counter 19 may be incremented by 1 every 7 hours.
- the structure of the block management table 15 shown in FIG. 3 is merely an example, and another data structure may be adopted for the block management table 15.
- the advance save unit 7, the reference time extraction unit 8, and the advance save determination unit 16 are implemented by hardware, but at least one of these is implemented by software and / or firmware. May be implemented.
- a program for realizing the functions of the advance save unit 7, the reference time extraction unit 8, and the advance save determination unit 16 when the advance save unit 7, the reference time extraction unit 8, and the advance save determination unit 16 are implemented by software.
- flexible disk CD (CD-ROM, CD-R, CD-RW, etc.), DVD (DVD-ROM, DVD-RAM, DVD-R, DVD + R, DVD-RW, DVD + RW, HD DVD, etc.), Blu-ray
- the recording medium is provided in a form recorded on a computer-readable recording medium such as a disk, a magnetic disk, an optical disk, or a magneto-optical disk.
- the information processing apparatus 1 reads the program from the recording medium via a drive device (not shown), transfers the program to an internal recording device or an external recording device, and uses it.
- the program may be recorded in a storage device (recording medium) such as a magnetic disk, an optical disk, or a magneto-optical disk, and provided from the storage device to the information processing apparatus 1 via a communication path.
- a program stored in a recording medium (not shown) is executed by a microprocessor (CPU 10 or the like) of the information processing apparatus 1. Executed. At this time, the information processing apparatus 1 may read and execute the program recorded on the recording medium.
Abstract
A memory control device (2) is provided with: an access history storage unit (15) in which a history of access to a first storage device (4) is stored; and a control unit (7) which updates the access history stored in the access history storage unit (15) each time the first storage device (4) is accessed, and which stores, in a second storage device (3), data that is stored in the first storage device (4) and that has an access count equal to or less than a predetermined value, on the basis of the access history stored in the access history storage unit (15).
Description
本発明は、メモリ制御装置、情報処理装置、及びメモリ制御方法に関する。
The present invention relates to a memory control device, an information processing device, and a memory control method.
情報処理装置においては、一時記憶装置としてDual Inline Memory Module(DIMM)が使用されている。そして、このDIMMのデータを、Solid State Drive(SSD)等の他の記憶装置にバックアップするために、メモリコントロールLarge Scale Integration(LSI)が使用されることがある。
図10は、従来の情報処理装置101のハードウェア構成を模式的に示す図である。 In the information processing apparatus, a dual inline memory module (DIMM) is used as a temporary storage device. A memory control large scale integration (LSI) may be used to back up the DIMM data to another storage device such as a solid state drive (SSD).
FIG. 10 is a diagram schematically illustrating a hardware configuration of a conventionalinformation processing apparatus 101.
図10は、従来の情報処理装置101のハードウェア構成を模式的に示す図である。 In the information processing apparatus, a dual inline memory module (DIMM) is used as a temporary storage device. A memory control large scale integration (LSI) may be used to back up the DIMM data to another storage device such as a solid state drive (SSD).
FIG. 10 is a diagram schematically illustrating a hardware configuration of a conventional
情報処理装置101は、例えば、サーバ機能をそなえた情報処理装置であり、Central Processing Unit(CPU)110、メモリコントロールLSI102、SSD103、及びDIMM104をそなえる。
この情報処理装置101は、例えば、基幹系サーバであり、顧客情報(例えば、顧客の氏名や生年月日等)など、一度書き込まれると、その後は殆ど更新されることがない情報を、DIMM104に対して読み書きを行なう。 Theinformation processing apparatus 101 is, for example, an information processing apparatus having a server function, and includes a central processing unit (CPU) 110, a memory control LSI 102, an SSD 103, and a DIMM 104.
Theinformation processing apparatus 101 is, for example, a core server, and once it is written, such as customer information (for example, the customer's name and date of birth), information that is hardly updated thereafter is stored in the DIMM 104. Read and write to it.
この情報処理装置101は、例えば、基幹系サーバであり、顧客情報(例えば、顧客の氏名や生年月日等)など、一度書き込まれると、その後は殆ど更新されることがない情報を、DIMM104に対して読み書きを行なう。 The
The
CPU110は、種々の制御や演算を行なう処理装置であり、DIMM104に格納されたOperating System(OS)やプログラムを実行することにより、種々の機能を実現する。
DIMM104は、CPU110が実行するプログラムや種々のデータ(以下、ユーザデータとも呼ぶ)や、CPU110の動作により得られたデータ等を一時的に格納する。 TheCPU 110 is a processing device that performs various controls and operations, and implements various functions by executing an operating system (OS) and programs stored in the DIMM 104.
The DIMM 104 temporarily stores programs executed by theCPU 110, various data (hereinafter also referred to as user data), data obtained by the operation of the CPU 110, and the like.
DIMM104は、CPU110が実行するプログラムや種々のデータ(以下、ユーザデータとも呼ぶ)や、CPU110の動作により得られたデータ等を一時的に格納する。 The
The DIMM 104 temporarily stores programs executed by the
SSD103は、DIMM104に記憶されているデータのバックアップ用の不揮発性記憶装置である。
メモリコントロールLSI102は、DIMM104の制御を行なうLSIである。又、メモリコントロールLSI102は、後述するコントロールIntellectual property(IP)コア105及びユーザ論理コントロール106経由で、DIMM104に記憶されているデータをSSD103にコピーして当該データをバックアップする。そして、メモリコントロールLSI102は、コントロールIPコア105及びユーザ論理コントロール106経由で、SSD103にバックアップしたデータをDIMM104に書き戻す(リストアする)。 The SSD 103 is a non-volatile storage device for backup of data stored in the DIMM 104.
Thememory control LSI 102 is an LSI that controls the DIMM 104. Further, the memory control LSI 102 backs up the data by copying the data stored in the DIMM 104 to the SSD 103 via a control intellectual property (IP) core 105 and a user logic control 106 described later. Then, the memory control LSI 102 writes back (restores) the data backed up in the SSD 103 to the DIMM 104 via the control IP core 105 and the user logic control 106.
メモリコントロールLSI102は、DIMM104の制御を行なうLSIである。又、メモリコントロールLSI102は、後述するコントロールIntellectual property(IP)コア105及びユーザ論理コントロール106経由で、DIMM104に記憶されているデータをSSD103にコピーして当該データをバックアップする。そして、メモリコントロールLSI102は、コントロールIPコア105及びユーザ論理コントロール106経由で、SSD103にバックアップしたデータをDIMM104に書き戻す(リストアする)。 The SSD 103 is a non-volatile storage device for backup of data stored in the DIMM 104.
The
メモリコントロールLSI102は、コントロールIPコア105、ユーザ論理コントロール106、メモリコントローラ109、及び管理情報111をそなえる。
メモリコントローラ109は、DIMM104からのユーザデータの読み出し(Read)、及びDIMM104へのユーザデータの書き込み(Write)を制御する。
コントロールIPコア105及びユーザ論理コントロール106は、SSD103とDIMM104との間の通信を制御するインタフェースである。詳細には、コントロールIPコア105はSSD103と、ユーザ論理コントロール106はメモリコントローラ109とそれぞれ通信を行なう。 Thememory control LSI 102 includes a control IP core 105, a user logic control 106, a memory controller 109, and management information 111.
Thememory controller 109 controls reading of user data from the DIMM 104 (Read) and writing of user data to the DIMM 104 (Write).
Thecontrol IP core 105 and the user logical control 106 are interfaces that control communication between the SSD 103 and the DIMM 104. Specifically, the control IP core 105 communicates with the SSD 103, and the user logic control 106 communicates with the memory controller 109.
メモリコントローラ109は、DIMM104からのユーザデータの読み出し(Read)、及びDIMM104へのユーザデータの書き込み(Write)を制御する。
コントロールIPコア105及びユーザ論理コントロール106は、SSD103とDIMM104との間の通信を制御するインタフェースである。詳細には、コントロールIPコア105はSSD103と、ユーザ論理コントロール106はメモリコントローラ109とそれぞれ通信を行なう。 The
The
The
ここで、IPコアとは、Field Programmable Gate Array(FPGA)やApplication-Specific Integrated Circuit(ASIC)等の開発において、設計資産の再利用性を高めるために、頻繁に使用される回路をブロック化した回路ブロックのことであり、各種のIPコアが存在する。IPコアを使用することにより、FPGAやASIC設計やデバッグが容易となる。つまり、IPコアはソフトウェア開発におけるライブラリに相当する。ここでは、コントロールIPコア105は、SSD制御用IPコアである。
Here, the IP core is a block of frequently used circuits to improve the reusability of design assets in the development of Field Programmable Gate Array (FPGA) and Application-Specific Integrated Circuit (ASIC). It is a circuit block and there are various IP cores. Use of the IP core facilitates FPGA and ASIC design and debugging. In other words, the IP core corresponds to a library in software development. Here, the control IP core 105 is an SSD control IP core.
ユーザ論理コントロール106は、ユーザデータのフォーマットに応じて、SSD103とDIMM104との間の通信を制御するインタフェースである。
管理情報111は、メモリコントロールLSI102の管理に使用される情報であり、例えば、メモリコントロールLSI102内の不図示の不揮発性メモリに格納される。管理情報111には、DIMM104に記憶されるデータ単位(以下、この単位をデータセットと呼ぶ)がバックアップされているか否かを示す情報が記憶されている。 The userlogical control 106 is an interface that controls communication between the SSD 103 and the DIMM 104 in accordance with the format of user data.
Themanagement information 111 is information used for managing the memory control LSI 102 and is stored in, for example, a non-illustrated nonvolatile memory in the memory control LSI 102. The management information 111 stores information indicating whether a data unit stored in the DIMM 104 (hereinafter, this unit is referred to as a data set) is backed up.
管理情報111は、メモリコントロールLSI102の管理に使用される情報であり、例えば、メモリコントロールLSI102内の不図示の不揮発性メモリに格納される。管理情報111には、DIMM104に記憶されるデータ単位(以下、この単位をデータセットと呼ぶ)がバックアップされているか否かを示す情報が記憶されている。 The user
The
ここで、例えば、メモリコントローラ109は、バックアップ時間を短縮するために、DIMM104からSSD103にバックアップされていない部分を特定し、その部分をSSD103にバックアップする手法を採用している。
図11は、図10に示したメモリコントロールLSI102の動作を示すフローチャート(ステップS101~S105)である。 Here, for example, in order to shorten the backup time, thememory controller 109 employs a method of identifying a part that is not backed up from the DIMM 104 to the SSD 103 and backing up the part to the SSD 103.
FIG. 11 is a flowchart (steps S101 to S105) showing the operation of thememory control LSI 102 shown in FIG.
図11は、図10に示したメモリコントロールLSI102の動作を示すフローチャート(ステップS101~S105)である。 Here, for example, in order to shorten the backup time, the
FIG. 11 is a flowchart (steps S101 to S105) showing the operation of the
ステップS101において、メモリコントロールLSI102は、DIMM104内のデータセット毎の管理情報111を読み出す。
ステップS102において、メモリコントロールLSI102は、ステップS101で読み出した管理情報111に基づいて、DIMM104内のデータをバックアップしているかどうかを判定する。 In step S <b> 101, thememory control LSI 102 reads the management information 111 for each data set in the DIMM 104.
In step S102, thememory control LSI 102 determines whether data in the DIMM 104 is backed up based on the management information 111 read in step S101.
ステップS102において、メモリコントロールLSI102は、ステップS101で読み出した管理情報111に基づいて、DIMM104内のデータをバックアップしているかどうかを判定する。 In step S <b> 101, the
In step S102, the
DIMM104内のデータがバックアップされていない場合(ステップS102のNOルート参照)、ステップS104において、メモリコントロールLSI102は、DIMM104内の全データセットをSSD103にバックアップする。その後、処理はステップS105に移動する。
一方、DIMM104内のデータがバックアップされている場合(ステップS102のYESルート参照)、ステップS103において、メモリコントロールLSI102は、管理情報111に基づいて、DIMM104内のデータが前回のバックアップ実施後に更新されているかどうかを判定する。 When the data in the DIMM 104 is not backed up (see NO route in step S102), in step S104, thememory control LSI 102 backs up all data sets in the DIMM 104 to the SSD 103. Thereafter, the processing moves to step S105.
On the other hand, when the data in the DIMM 104 is backed up (see YES route in step S102), in step S103, thememory control LSI 102 updates the data in the DIMM 104 after the previous backup is performed based on the management information 111. Determine whether or not.
一方、DIMM104内のデータがバックアップされている場合(ステップS102のYESルート参照)、ステップS103において、メモリコントロールLSI102は、管理情報111に基づいて、DIMM104内のデータが前回のバックアップ実施後に更新されているかどうかを判定する。 When the data in the DIMM 104 is not backed up (see NO route in step S102), in step S104, the
On the other hand, when the data in the DIMM 104 is backed up (see YES route in step S102), in step S103, the
DIMM104内のデータが前回のバックアップ実施後に更新されている場合(ステップS103のYESルート参照)、ステップS104において、メモリコントロールLSI102は、DIMM104内の更新されているデータセットをSSD103にバックアップする。その後、処理はステップS105に移動する。
一方、DIMM104内のデータが前回のバックアップから更新されていない場合(ステップS103のNOルート参照)、処理が前述のステップS101に戻る。 When the data in the DIMM 104 has been updated after the previous backup (see YES route in step S103), in step S104, thememory control LSI 102 backs up the updated data set in the DIMM 104 to the SSD 103. Thereafter, the processing moves to step S105.
On the other hand, if the data in the DIMM 104 has not been updated since the previous backup (see NO route in step S103), the process returns to step S101 described above.
一方、DIMM104内のデータが前回のバックアップから更新されていない場合(ステップS103のNOルート参照)、処理が前述のステップS101に戻る。 When the data in the DIMM 104 has been updated after the previous backup (see YES route in step S103), in step S104, the
On the other hand, if the data in the DIMM 104 has not been updated since the previous backup (see NO route in step S103), the process returns to step S101 described above.
ステップS105において、情報処理装置101の運用が継続しているかどうかが判定される。
情報処理装置101の運用が継続している場合(ステップS105のYESルート参照)、処理はステップS101に戻る。
情報処理装置101の運用が終了している場合(ステップS105のNOルート参照)、処理が終了する。 In step S105, it is determined whether the operation of theinformation processing apparatus 101 is continued.
When the operation of theinformation processing apparatus 101 is continued (see YES route in step S105), the process returns to step S101.
If the operation of theinformation processing apparatus 101 has ended (see NO route in step S105), the process ends.
情報処理装置101の運用が継続している場合(ステップS105のYESルート参照)、処理はステップS101に戻る。
情報処理装置101の運用が終了している場合(ステップS105のNOルート参照)、処理が終了する。 In step S105, it is determined whether the operation of the
When the operation of the
If the operation of the
なお、情報処理装置101が基幹サーバなどである場合、DIMM104に一度しか更新されないデータが多く存在する場合がある。
このような場合、DIMM104に内には、頻繁に更新されるデータと、一度だけ更新された(すなわち、一度書き込まれて以降更新されていない)データとが相当量存在する。 When theinformation processing apparatus 101 is a backbone server or the like, there may be a lot of data that is updated only once in the DIMM 104.
In such a case, there is a considerable amount of frequently updated data in the DIMM 104 and data that has been updated only once (that is, data that has been written once and has not been updated since then).
このような場合、DIMM104に内には、頻繁に更新されるデータと、一度だけ更新された(すなわち、一度書き込まれて以降更新されていない)データとが相当量存在する。 When the
In such a case, there is a considerable amount of frequently updated data in the DIMM 104 and data that has been updated only once (that is, data that has been written once and has not been updated since then).
ここで、図11に示したバックアップ方式においては、DIMM104のデータが更新されていれば、データがSSD103にバックアップされる。このため、一度だけ更新された(すなわち、一度書き込まれて以降更新されていない)データと頻繁に更新されるデータとがそれぞれ相当量存在する場合、SSD103へのバックアップの直後にDIMM104内のデータが更新されることが多くなる。このため、バックアップ時間の無駄が生じてしまう。
Here, in the backup method shown in FIG. 11, if the data in the DIMM 104 has been updated, the data is backed up to the SSD 103. For this reason, when there is a considerable amount of data that has been updated only once (that is, data that has been written once and has not been updated since then) and data that is frequently updated, the data in the DIMM 104 is immediately after backup to the SSD 103. It is often updated. For this reason, the backup time is wasted.
さらに、SSD103の書き込み可能回数には制限があるため、頻繁にバックアップを実施するとSSD103の寿命が短くなってしまう。
上記課題に鑑みて、1つの側面では、本発明は、メモリデータのバックアップ時間を短縮することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。 Furthermore, since the number of writable times of the SSD 103 is limited, if the backup is frequently performed, the life of the SSD 103 is shortened.
In view of the above problems, in one aspect, the present invention aims to shorten the backup time of memory data.
In addition, the present invention is not limited to the above-described object, and other effects of the present invention can be achieved by the functions and effects derived from the respective configurations shown in the embodiments for carrying out the invention which will be described later. It can be positioned as one of
上記課題に鑑みて、1つの側面では、本発明は、メモリデータのバックアップ時間を短縮することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。 Furthermore, since the number of writable times of the SSD 103 is limited, if the backup is frequently performed, the life of the SSD 103 is shortened.
In view of the above problems, in one aspect, the present invention aims to shorten the backup time of memory data.
In addition, the present invention is not limited to the above-described object, and other effects of the present invention can be achieved by the functions and effects derived from the respective configurations shown in the embodiments for carrying out the invention which will be described later. It can be positioned as one of
このため、メモリ制御装置は、第1の記憶装置へのアクセス履歴を記憶するアクセス履歴記憶部と、前記第1の記憶装置にアクセスが行なわれるたびに前記アクセス履歴記憶部にアクセス履歴を記憶し、前記アクセス履歴記憶部に記憶された前記アクセス履歴に基づいて、前記第1の記憶装置のデータのうち、アクセス回数が所定値以下のデータを第2の記憶装置に記憶する制御部と、をそなえる。
For this reason, the memory control device stores an access history in the access history storage unit that stores an access history to the first storage device, and in the access history storage unit every time the first storage device is accessed. A control unit that stores, in the second storage device, data having a number of accesses equal to or less than a predetermined value among the data in the first storage device based on the access history stored in the access history storage unit; I have it.
又、情報処理装置は、第1の記憶装置と、第2の記憶装置と、前記第1の記憶装置へのアクセス履歴を記憶するアクセス履歴記憶部と、前記第1の記憶装置にアクセスが行なわれるたびに前記アクセス履歴記憶部にアクセス履歴を記憶し、前記アクセス履歴記憶部に記憶された前記アクセス履歴に基づいて、前記第1の記憶装置のデータのうち、アクセス回数が所定値以下のデータを前記第2の記憶装置に記憶する制御部と、をそなえる。
The information processing apparatus accesses the first storage device, the second storage device, an access history storage unit that stores an access history to the first storage device, and the first storage device. Each time the access history is stored in the access history storage unit, and based on the access history stored in the access history storage unit, of the data in the first storage device, the number of accesses is a predetermined value or less. And a control unit for storing the information in the second storage device.
さらに、メモリ制御方法は、第1の記憶装置にアクセスが行なわれるたびに、当該アクセスへのアクセス履歴をアクセス履歴記憶部に記録し、前記アクセス履歴記憶部に記憶された前記アクセス履歴に基づいて、前記第1の記憶装置のデータのうち、アクセス回数が所定値以下のデータを第2の記憶装置に記憶する。
Further, the memory control method records an access history to the access every time the first storage device is accessed in the access history storage unit, and based on the access history stored in the access history storage unit. Of the data stored in the first storage device, data having the number of accesses equal to or smaller than a predetermined value is stored in the second storage device.
開示の技術によれば、メモリデータのバックアップ時間を短縮することができる。
According to the disclosed technology, the backup time of memory data can be shortened.
(A)ハードウェア構成
以下、図面を参照して本実施形態の一例としてのメモリ制御装置、情報処理装置及びメモリ制御方法を説明する。
最初に、情報処理装置1の構成について説明する。
図1は、実施形態の一例としての情報処理装置1のハードウェア構成を模式的に示す図である。 (A) Hardware Configuration Hereinafter, a memory control device, an information processing device, and a memory control method as examples of the present embodiment will be described with reference to the drawings.
First, the configuration of the information processing apparatus 1 will be described.
FIG. 1 is a diagram schematically illustrating a hardware configuration of an information processing apparatus 1 as an example of an embodiment.
以下、図面を参照して本実施形態の一例としてのメモリ制御装置、情報処理装置及びメモリ制御方法を説明する。
最初に、情報処理装置1の構成について説明する。
図1は、実施形態の一例としての情報処理装置1のハードウェア構成を模式的に示す図である。 (A) Hardware Configuration Hereinafter, a memory control device, an information processing device, and a memory control method as examples of the present embodiment will be described with reference to the drawings.
First, the configuration of the information processing apparatus 1 will be described.
FIG. 1 is a diagram schematically illustrating a hardware configuration of an information processing apparatus 1 as an example of an embodiment.
情報処理装置1は、例えば、サーバ機能をそなえた情報処理装置であり、CPU10、メモリコントロールLSI(メモリ制御装置)2、SSD(第2の記憶装置)3、及びDIMM(第1の記憶装置)4をそなえる。
本実施形態の一例としての情報処理装置1は、例えば、基幹系サーバであり、顧客情報(例えば、顧客の氏名や生年月日等)など、一度書き込まれると、その後は殆ど更新されることがない情報を、DIMM4に対して読み書きを行なう。 The information processing device 1 is, for example, an information processing device having a server function, and includes aCPU 10, a memory control LSI (memory control device) 2, an SSD (second storage device) 3, and a DIMM (first storage device). 4 is provided.
The information processing apparatus 1 as an example of the present embodiment is, for example, a backbone server, and once customer information (for example, customer name, date of birth, etc.) is written once, it is almost updated thereafter. No information is read from or written to theDIMM 4.
本実施形態の一例としての情報処理装置1は、例えば、基幹系サーバであり、顧客情報(例えば、顧客の氏名や生年月日等)など、一度書き込まれると、その後は殆ど更新されることがない情報を、DIMM4に対して読み書きを行なう。 The information processing device 1 is, for example, an information processing device having a server function, and includes a
The information processing apparatus 1 as an example of the present embodiment is, for example, a backbone server, and once customer information (for example, customer name, date of birth, etc.) is written once, it is almost updated thereafter. No information is read from or written to the
CPU10は、種々の制御や演算を行なう処理装置であり、DIMM4に格納されたOSやプログラムを実行することにより、種々の機能を実現する。CPU10としては、例えば、公知のCPUを用いることができる。
DIMM4は、CPU10が実行するプログラムや種々のデータ(以下、ユーザデータとも呼ぶ)や、CPU10の動作により得られたデータ等を一時的に格納する。DIMM4としては、例えば、RAMなどの公知のメモリを用いることができる。 TheCPU 10 is a processing device that performs various controls and operations, and implements various functions by executing an OS and programs stored in the DIMM 4. For example, a known CPU can be used as the CPU 10.
TheDIMM 4 temporarily stores programs executed by the CPU 10, various data (hereinafter also referred to as user data), data obtained by the operation of the CPU 10, and the like. For example, a known memory such as a RAM can be used as the DIMM 4.
DIMM4は、CPU10が実行するプログラムや種々のデータ(以下、ユーザデータとも呼ぶ)や、CPU10の動作により得られたデータ等を一時的に格納する。DIMM4としては、例えば、RAMなどの公知のメモリを用いることができる。 The
The
SSD3は、DIMM4に記憶されているデータのバックアップ用の不揮発性記憶装置である。SSD3としては、公知のSSDを使用することができる。
メモリコントロールLSI2は、DIMM4の制御を行なうLSIである。又、メモリコントロールLSI2は、後述するコントロールIPコア5及びユーザ論理コントロール6経由で、DIMM4に記憶されているデータをSSD3にコピーして当該データをバックアップする。そして、メモリコントロールLSI2は、コントロールIPコア5及びユーザ論理コントロール6経由で、SSD3にバックアップしたデータをDIMM4に書き戻す(リストアする)。 TheSSD 3 is a non-volatile storage device for backup of data stored in the DIMM 4. A known SSD can be used as SSD3.
Thememory control LSI 2 is an LSI that controls the DIMM 4. Further, the memory control LSI 2 backs up the data by copying the data stored in the DIMM 4 to the SSD 3 via the control IP core 5 and the user logic control 6 described later. Then, the memory control LSI 2 writes back (restores) the data backed up in the SSD 3 to the DIMM 4 via the control IP core 5 and the user logic control 6.
メモリコントロールLSI2は、DIMM4の制御を行なうLSIである。又、メモリコントロールLSI2は、後述するコントロールIPコア5及びユーザ論理コントロール6経由で、DIMM4に記憶されているデータをSSD3にコピーして当該データをバックアップする。そして、メモリコントロールLSI2は、コントロールIPコア5及びユーザ論理コントロール6経由で、SSD3にバックアップしたデータをDIMM4に書き戻す(リストアする)。 The
The
本実施形態の一例としてのメモリコントロールLSI2は、DIMM4に記憶されているデータのうち、頻繁に更新されるデータは通常運用中はバックアップせず、情報処理装置1の電源断時など、DIMM4のバックアップ命令が発行された時にのみバックアップする。
一方、メモリコントロールLSI2は、DIMM4に記憶されているデータのうち、所定時間内に一度だけ更新された(すなわち、一度書き込まれて以降更新されていない)データを、通常運用中にバックグラウンドでバックアップする。以降、所定時間内に一度だけ更新されたデータをバックアップする処理を「先行退避」と呼ぶ。 Thememory control LSI 2 as an example of this embodiment does not back up frequently updated data stored in the DIMM 4 during normal operation, but backs up the DIMM 4 when the information processing apparatus 1 is powered off. Back up only when an instruction is issued.
On the other hand, thememory control LSI 2 backs up the data stored in the DIMM 4 that has been updated only once within a predetermined time (that is, not updated after being written once) in the background during normal operation. To do. Hereinafter, the process of backing up data updated only once within a predetermined time is referred to as “advance saving”.
一方、メモリコントロールLSI2は、DIMM4に記憶されているデータのうち、所定時間内に一度だけ更新された(すなわち、一度書き込まれて以降更新されていない)データを、通常運用中にバックグラウンドでバックアップする。以降、所定時間内に一度だけ更新されたデータをバックアップする処理を「先行退避」と呼ぶ。 The
On the other hand, the
このため、本実施形態の一例としてのメモリコントロールLSI2は、情報処理装置1の通常運用のバックグラウンドで、DIMM4の更新状態をブロック単位で監視し、1回更新されてから基準時間経過したブロックのみを、SSD3に先行退避する。
ここで、ブロックとは、メモリコントロールLSI2がSSD3に対してアクセスを行なう際の単位であり、例えば1ブロックは4キロバイト(KB)である。メモリコントロールLSI2は、DIMM4からSSD3へのデータのバックアップ(コピー)をブロック単位で行なうので、DIMM4のアクセスも、このブロック単位で監視している。 For this reason, thememory control LSI 2 as an example of the present embodiment monitors the update state of the DIMM 4 in block units in the background of the normal operation of the information processing apparatus 1 and only blocks that have passed the reference time after being updated once. Are saved in advance in the SSD 3.
Here, the block is a unit when thememory control LSI 2 accesses the SSD 3, and for example, one block is 4 kilobytes (KB). Since the memory control LSI 2 performs backup (copy) of data from the DIMM 4 to the SSD 3 in units of blocks, the access of the DIMM 4 is also monitored in units of blocks.
ここで、ブロックとは、メモリコントロールLSI2がSSD3に対してアクセスを行なう際の単位であり、例えば1ブロックは4キロバイト(KB)である。メモリコントロールLSI2は、DIMM4からSSD3へのデータのバックアップ(コピー)をブロック単位で行なうので、DIMM4のアクセスも、このブロック単位で監視している。 For this reason, the
Here, the block is a unit when the
又、情報処理装置1の通常運用とは、情報処理装置1が電源投入されて完全に起動された後に、情報処理装置1がユーザにより目的の業務に使用されている状態を指す。
メモリコントロールLSI2は、コントロールIPコア5、ユーザ論理コントロール6、先行退避部(制御部)7、基準時間抽出部(抽出部)8、及びメモリコントローラ9をそなえる。 The normal operation of the information processing apparatus 1 refers to a state in which the information processing apparatus 1 is used for a target job by the user after the information processing apparatus 1 is turned on and completely activated.
Thememory control LSI 2 includes a control IP core 5, a user logic control 6, a preceding saving unit (control unit) 7, a reference time extraction unit (extraction unit) 8, and a memory controller 9.
メモリコントロールLSI2は、コントロールIPコア5、ユーザ論理コントロール6、先行退避部(制御部)7、基準時間抽出部(抽出部)8、及びメモリコントローラ9をそなえる。 The normal operation of the information processing apparatus 1 refers to a state in which the information processing apparatus 1 is used for a target job by the user after the information processing apparatus 1 is turned on and completely activated.
The
メモリコントローラ9は、DIMM4からのユーザデータの読み出し(Read)、及びDIMM4へのユーザデータの書き込み(Write)を制御する。
コントロールIPコア5及びユーザ論理コントロール6は、SSD3とDIMM4との間の通信を制御するインタフェースである。詳細には、コントロールIPコア5はSSD3と、ユーザ論理コントロール6はメモリコントローラ9とそれぞれ通信を行なう。 Thememory controller 9 controls reading of user data from the DIMM 4 (Read) and writing of user data to the DIMM 4 (Write).
Thecontrol IP core 5 and the user logical control 6 are interfaces that control communication between the SSD 3 and the DIMM 4. Specifically, the control IP core 5 communicates with the SSD 3, and the user logic control 6 communicates with the memory controller 9.
コントロールIPコア5及びユーザ論理コントロール6は、SSD3とDIMM4との間の通信を制御するインタフェースである。詳細には、コントロールIPコア5はSSD3と、ユーザ論理コントロール6はメモリコントローラ9とそれぞれ通信を行なう。 The
The
ユーザ論理コントロール6は、ユーザデータのフォーマットに応じて、SSD3とDIMM4との間の通信を制御するインタフェースである。
コントロールIPコア5及びユーザ論理コントロール6としては、公知のメモリインタフェースを使用することができる。
先行退避部7は、所定時間毎に、DIMM4内のデータの更新を監視し、DIMM4の全ブロックのうち、SSD3にデータを先行退避するブロックを特定する。 Theuser logic control 6 is an interface that controls communication between the SSD 3 and the DIMM 4 in accordance with the format of user data.
A known memory interface can be used as thecontrol IP core 5 and the user logic control 6.
Theadvance saving unit 7 monitors the update of data in the DIMM 4 every predetermined time, and identifies a block in which data is saved in advance in the SSD 3 among all the blocks of the DIMM 4.
コントロールIPコア5及びユーザ論理コントロール6としては、公知のメモリインタフェースを使用することができる。
先行退避部7は、所定時間毎に、DIMM4内のデータの更新を監視し、DIMM4の全ブロックのうち、SSD3にデータを先行退避するブロックを特定する。 The
A known memory interface can be used as the
The
図2は、実施形態の一例としての情報処理装置1における先行退避部7の回路構成例を示す模式図である。
先行退避部7は、図8を用いて後述する先行退避処理を実行し、DIMM4に記憶されているデータのうち、所定時間内に一度だけ更新された(すなわち、一度書き込まれて以降更新されていない)データを、通常運用中にバックグラウンドでバックアップする。先行退避部7は、通常運用中に、先行退避処理を所定の時間間隔おきに実行する。この先行退避処理の実行間隔は、システム管理者等が、情報処理装置1の運用に応じて適宜設定することができる。 FIG. 2 is a schematic diagram illustrating a circuit configuration example of theadvance saving unit 7 in the information processing apparatus 1 as an example of the embodiment.
The advance saveunit 7 executes advance save processing, which will be described later with reference to FIG. 8, and is updated only once within a predetermined time out of the data stored in the DIMM 4 (that is, updated after being written once). No) Back up data in the background during normal operation. The advance saving unit 7 executes the advance saving process at predetermined time intervals during normal operation. The execution interval of this advance saving process can be appropriately set by a system administrator or the like according to the operation of the information processing apparatus 1.
先行退避部7は、図8を用いて後述する先行退避処理を実行し、DIMM4に記憶されているデータのうち、所定時間内に一度だけ更新された(すなわち、一度書き込まれて以降更新されていない)データを、通常運用中にバックグラウンドでバックアップする。先行退避部7は、通常運用中に、先行退避処理を所定の時間間隔おきに実行する。この先行退避処理の実行間隔は、システム管理者等が、情報処理装置1の運用に応じて適宜設定することができる。 FIG. 2 is a schematic diagram illustrating a circuit configuration example of the
The advance save
先行退避部7は、ブロック管理テーブル15と、先行退避判定部16とをそなえる。
ブロック管理テーブル15は、DIMM4へのデータの更新状況(アクセス履歴)を、DIMM4のブロック毎に更新フラグとして管理するテーブルである。ブロック管理テーブル15は、例えば、メモリコントロールLSI2内の不図示のStatic RAM(SRAM)などの揮発性メモリに記憶される。ブロック管理テーブル15のデータ構造例については、図3を用いて後述する。 The advance saveunit 7 includes a block management table 15 and a advance save determination unit 16.
The block management table 15 is a table for managing the update status (access history) of data to theDIMM 4 as an update flag for each block of the DIMM 4. The block management table 15 is stored in a volatile memory such as a static RAM (SRAM) (not shown) in the memory control LSI 2, for example. An example of the data structure of the block management table 15 will be described later with reference to FIG.
ブロック管理テーブル15は、DIMM4へのデータの更新状況(アクセス履歴)を、DIMM4のブロック毎に更新フラグとして管理するテーブルである。ブロック管理テーブル15は、例えば、メモリコントロールLSI2内の不図示のStatic RAM(SRAM)などの揮発性メモリに記憶される。ブロック管理テーブル15のデータ構造例については、図3を用いて後述する。 The advance save
The block management table 15 is a table for managing the update status (access history) of data to the
先行退避判定部16は、後述するブロック管理テーブル15から更新フラグを読み出し、読み出した更新フラグに基づいて、DIMM4内の各ブロックについて、SSD3にデータを先行退避すべきかどうかの判定を行なう。つまり、先行退避判定部16は、DIMM4内の一度だけ更新された(つまり1回の書き込みのみの)各ブロックについて、その状態のまま(すなわち、ブロックのデータがその後更新されず)、基準時間が経過したかどうかを判定する。先行退避判定部16の詳細な構成及び機能については、図4を用いて後述する。
The advance save determination unit 16 reads an update flag from a block management table 15 to be described later, and determines whether to save data to the SSD 3 for each block in the DIMM 4 based on the read update flag. In other words, the advance save determination unit 16 keeps the state of each block updated once (that is, only written once) in the DIMM 4 (that is, the block data is not updated thereafter), and the reference time Determine if it has passed. The detailed configuration and function of the advance retraction determining unit 16 will be described later with reference to FIG.
図3は、実施形態の一例としてのブロック管理テーブル15を例示する図である。
ブロック管理テーブル15は、DIMM4の全ブロックについて、そのブロックのデータの更新状況を示す更新フラグを格納している。
図3の例では、ブロック管理テーブル15は、アドレスADRS_1にDIMM4のブロック1,2の更新フラグを、アドレスADRS_2にブロック3,4の更新フラグを、アドレスADRS_3にブロック5,6の更新フラグ…を、それぞれ格納している。つまり、ブロック管理テーブル15のアドレス毎に、DIMM4の2ブロック分の更新フラグが格納される。 FIG. 3 is a diagram illustrating a block management table 15 as an example of the embodiment.
The block management table 15 stores an update flag indicating the update status of data of all blocks of theDIMM 4.
In the example of FIG. 3, the block management table 15 sets the update flag of theblocks 1 and 2 of the DIMM 4 to the address ADRS_1, the update flag of the blocks 3 and 4 to the address ADRS_2, the update flag of the blocks 5 and 6 to the address ADRS_3, and so on. , Each storing. That is, for each address in the block management table 15, an update flag for two blocks of the DIMM 4 is stored.
ブロック管理テーブル15は、DIMM4の全ブロックについて、そのブロックのデータの更新状況を示す更新フラグを格納している。
図3の例では、ブロック管理テーブル15は、アドレスADRS_1にDIMM4のブロック1,2の更新フラグを、アドレスADRS_2にブロック3,4の更新フラグを、アドレスADRS_3にブロック5,6の更新フラグ…を、それぞれ格納している。つまり、ブロック管理テーブル15のアドレス毎に、DIMM4の2ブロック分の更新フラグが格納される。 FIG. 3 is a diagram illustrating a block management table 15 as an example of the embodiment.
The block management table 15 stores an update flag indicating the update status of data of all blocks of the
In the example of FIG. 3, the block management table 15 sets the update flag of the
なお、ブロック管理テーブル15は、先行退避判定部16によって更新される。
各ブロックの更新フラグのデータ長は、例えば2ビットである。例えば、DIMM4の各ブロックについて、そのブロックが未更新の場合は“00”が、ブロックの更新が1回のみの場合は“01”が、ブロックが2回以上更新されている場合は“11”が、当該ブロックの更新フラグとして、それぞれブロック管理テーブル15に格納される。 The block management table 15 is updated by the advance savingdetermination unit 16.
The data length of the update flag of each block is, for example, 2 bits. For example, for each block ofDIMM 4, “00” is displayed if the block has not been updated, “01” if the block has been updated only once, and “11” if the block has been updated more than once. Are stored in the block management table 15 as update flags for the block.
各ブロックの更新フラグのデータ長は、例えば2ビットである。例えば、DIMM4の各ブロックについて、そのブロックが未更新の場合は“00”が、ブロックの更新が1回のみの場合は“01”が、ブロックが2回以上更新されている場合は“11”が、当該ブロックの更新フラグとして、それぞれブロック管理テーブル15に格納される。 The block management table 15 is updated by the advance saving
The data length of the update flag of each block is, for example, 2 bits. For example, for each block of
図4は、実施形態の一例としての先行退避判定部16の回路構成例を示す模式図である。
先行退避判定部16は、基準時間レジスタ17、比較部18、カウンタ19、レジスタ20、及び論理演算部21,22をそなえる。
基準時間レジスタ17は、図3を用いて前述した基準時間抽出部8が抽出した基準時間を格納しているレジスタである。 FIG. 4 is a schematic diagram illustrating a circuit configuration example of the advanceevacuation determination unit 16 as an example of the embodiment.
The advance savedetermination unit 16 includes a reference time register 17, a comparison unit 18, a counter 19, a register 20, and logical operation units 21 and 22.
Thereference time register 17 is a register that stores the reference time extracted by the reference time extraction unit 8 described above with reference to FIG.
先行退避判定部16は、基準時間レジスタ17、比較部18、カウンタ19、レジスタ20、及び論理演算部21,22をそなえる。
基準時間レジスタ17は、図3を用いて前述した基準時間抽出部8が抽出した基準時間を格納しているレジスタである。 FIG. 4 is a schematic diagram illustrating a circuit configuration example of the advance
The advance save
The
比較部18は、基準時間レジスタ17の値とカウンタ19の値とを比較し、例えば両者が不一致の場合はLOW(例えば“0”)を、両者が一致する場合はHIGH(例えば“1”)を、後述するレジスタ20に出力する。
カウンタ19は、DIMM4のブロックが最初に更新されてからの経過時間をカウントするカウンタである。詳細には、カウンタ19は、ブロック更新テーブル15の2ビットの更新フラグの値が“01”を示したときに、後述する論理演算部21によってHIGHを入力され、カウントアップを開始する。その後、カウンタ19は、例えば、1時間毎に1カウントアップする。つまり、カウンタ19は、DIMM4への最初の書き込みが発生するとカウントアップが開始され、1時間毎に1カウントアップされる。 Thecomparison unit 18 compares the value of the reference time register 17 and the value of the counter 19, for example, LOW (for example, “0”) when the two do not match, and HIGH (for example, “1”) when the two match. Is output to a register 20 to be described later.
Thecounter 19 is a counter that counts an elapsed time since the block of the DIMM 4 was first updated. Specifically, when the value of the 2-bit update flag in the block update table 15 indicates “01”, the counter 19 receives HIGH from a logic operation unit 21 described later and starts counting up. Thereafter, the counter 19 counts up, for example, every hour. That is, the counter 19 starts counting up when the first write to the DIMM 4 occurs, and is incremented by 1 every hour.
カウンタ19は、DIMM4のブロックが最初に更新されてからの経過時間をカウントするカウンタである。詳細には、カウンタ19は、ブロック更新テーブル15の2ビットの更新フラグの値が“01”を示したときに、後述する論理演算部21によってHIGHを入力され、カウントアップを開始する。その後、カウンタ19は、例えば、1時間毎に1カウントアップする。つまり、カウンタ19は、DIMM4への最初の書き込みが発生するとカウントアップが開始され、1時間毎に1カウントアップされる。 The
The
又、カウンタ19は、カウンタ値が基準時間値に達するとLOWが入力されてクリアされる。
図5に、カウンタ19の動作論理を表形式で例示する。
カウンタ19にLOWが入力されると、カウンタ19がリセットされ、図5の図に示すようにカウンタ値が“000”にセットされる。 Thecounter 19 is cleared by inputting LOW when the counter value reaches the reference time value.
FIG. 5 illustrates the operation logic of thecounter 19 in a tabular form.
When LOW is input to thecounter 19, the counter 19 is reset and the counter value is set to "000" as shown in the diagram of FIG.
図5に、カウンタ19の動作論理を表形式で例示する。
カウンタ19にLOWが入力されると、カウンタ19がリセットされ、図5の図に示すようにカウンタ値が“000”にセットされる。 The
FIG. 5 illustrates the operation logic of the
When LOW is input to the
そして、ブロック管理テーブル15の当該ブロックの更新フラグの値が“01”になると、カウンタ19のカウントアップが開始されて、例えば1時間毎にカウンタ値が1カウントアップされる。
図4のレジスタ20は、ブロック更新テーブル15から読み出された更新フラグ(2ビット)と、比較部18の比較結果(1ビット)とを保持するレジスタである。 Then, when the value of the update flag of the block in the block management table 15 becomes “01”, thecounter 19 starts counting up, for example, the counter value is incremented by 1 every hour.
Theregister 20 in FIG. 4 is a register that holds the update flag (2 bits) read from the block update table 15 and the comparison result (1 bit) of the comparison unit 18.
図4のレジスタ20は、ブロック更新テーブル15から読み出された更新フラグ(2ビット)と、比較部18の比較結果(1ビット)とを保持するレジスタである。 Then, when the value of the update flag of the block in the block management table 15 becomes “01”, the
The
論理演算部21は、図4の例ではAND回路である。論理演算部21は、レジスタ20の更新フラグ値の2ビット値が“01”以外のときはカウンタ19にLOWを出力する。論理演算部21は、レジスタ20の更新フラグ値の2ビット値が“01”のときはカウンタ19にHIGHを出力して、カウントアップを開始させる。
論理演算部22は、図4の例ではAND回路である。論理演算部22は、基準時間の経過を検知すると、HIGHを出力する。 Thelogic operation unit 21 is an AND circuit in the example of FIG. The logical operation unit 21 outputs LOW to the counter 19 when the 2-bit value of the update flag value of the register 20 is other than “01”. When the 2-bit value of the update flag value of the register 20 is “01”, the logical operation unit 21 outputs HIGH to the counter 19 to start counting up.
Thelogic operation unit 22 is an AND circuit in the example of FIG. When the logical operation unit 22 detects the passage of the reference time, it outputs HIGH.
論理演算部22は、図4の例ではAND回路である。論理演算部22は、基準時間の経過を検知すると、HIGHを出力する。 The
The
つまり、図4の回路は、DIMM4内のブロックが、最初に書き込まれた後、基準時間が経過するまで、一度も更新されなかった(すなわち、一度だけ更新された)かどうかを判定する。ブロックが、最初の書き込み後、基準時間の経過までに一度も更新されなかった(つまり、一度だけ更新された)場合、論理演算部22は、例えばHIGHを出力して、当該ブロックをSSD3に先行退避させる対象である旨を先行退避部7に指示する。
That is, the circuit of FIG. 4 determines whether the block in the DIMM 4 has not been updated (that is, updated only once) until the reference time has elapsed after the block is first written. If the block has never been updated by the lapse of the reference time after the first writing (that is, updated only once), the logical operation unit 22 outputs HIGH, for example, and precedes the block with the SSD 3. It instructs the preceding saving unit 7 that it is a target to be saved.
図1を再度参照すると、基準時間抽出部8は、先行退避部7が、DIMM4内のデータが所定時間内に一度だけ更新されたかどうかを判定する際に用いる基準時間を抽出する。
図6は、実施形態の一例としての基準時間抽出部8の回路構成例を示す模式図である。
基準時間抽出部8は、DIMM4への書き込みが所定回数行なわれるのに要する時間を測定し、測定した時間を基準時間として決定(抽出)する。この基準時間は、先行退避部7によって、DIMM4内のデータが所定時間内に一度だけ更新されたかどうかを判定する際に用いられる。基準時間抽出部8は、相対時計11、比較部12、閾値レジスタ13、及びWRITE_ENABLE(WE)カウンタ14をそなえる。 Referring to FIG. 1 again, the referencetime extraction unit 8 extracts a reference time used when the preceding saving unit 7 determines whether or not the data in the DIMM 4 has been updated only once within a predetermined time.
FIG. 6 is a schematic diagram illustrating a circuit configuration example of the referencetime extraction unit 8 as an example of the embodiment.
The referencetime extraction unit 8 measures the time required for writing to the DIMM 4 a predetermined number of times, and determines (extracts) the measured time as the reference time. This reference time is used when the advance saving unit 7 determines whether the data in the DIMM 4 has been updated only once within a predetermined time. The reference time extraction unit 8 includes a relative clock 11, a comparison unit 12, a threshold register 13, and a WRITE_ENABLE (WE) counter 14.
図6は、実施形態の一例としての基準時間抽出部8の回路構成例を示す模式図である。
基準時間抽出部8は、DIMM4への書き込みが所定回数行なわれるのに要する時間を測定し、測定した時間を基準時間として決定(抽出)する。この基準時間は、先行退避部7によって、DIMM4内のデータが所定時間内に一度だけ更新されたかどうかを判定する際に用いられる。基準時間抽出部8は、相対時計11、比較部12、閾値レジスタ13、及びWRITE_ENABLE(WE)カウンタ14をそなえる。 Referring to FIG. 1 again, the reference
FIG. 6 is a schematic diagram illustrating a circuit configuration example of the reference
The reference
相対時計11は、基準時間抽出処理に使用されるタイマである。相対時計11は、情報処理装置1の電源起動又はリセット(パワーオンリセット)時にカウントアップが開始され、比較部12によって停止される。そして、相対時計11は、比較部12によって停止された時点の相対時計11のカウンタ値を、基準時間として抽出して、必要に応じて変換を行なったのち、例えば基準時間レジスタ17(図4参照)に記憶する。
The relative clock 11 is a timer used for the reference time extraction process. The relative clock 11 starts counting up when the information processing apparatus 1 is powered on or reset (power-on reset), and is stopped by the comparison unit 12. Then, the relative clock 11 extracts the counter value of the relative clock 11 at the time when it is stopped by the comparison unit 12 as the reference time, performs conversion as necessary, and then, for example, the reference time register 17 (see FIG. 4). ).
比較部12は、後述する閾値レジスタ13の値とWEカウンタ14の値とを比較する。両者が一致した場合、比較部12は、例えばHIGHを出力して、相対時計11のカウントダウンを停止させる。
閾値レジスタ13は、WEカウンタ14の値と比較される閾値を保持しているレジスタである。閾値レジスタ13に設定される閾値は、DIMM4への書き込み回数の閾値例えばシステム管理者等によって任意の適切な値に設定される。 Thecomparison unit 12 compares the value of a threshold register 13 described later with the value of the WE counter 14. When both match, the comparison unit 12 outputs HIGH, for example, and stops the countdown of the relative timepiece 11.
Thethreshold register 13 is a register that holds a threshold to be compared with the value of the WE counter 14. The threshold set in the threshold register 13 is set to any appropriate value by the threshold of the number of times of writing to the DIMM 4, for example, by a system administrator or the like.
閾値レジスタ13は、WEカウンタ14の値と比較される閾値を保持しているレジスタである。閾値レジスタ13に設定される閾値は、DIMM4への書き込み回数の閾値例えばシステム管理者等によって任意の適切な値に設定される。 The
The
WEカウンタ14は、DIMM4のブロックのデータの更新回数をカウントするカウンタである。WEカウンタ14は、DIMM4の書き込みを許可するWRITE_ENABLE信号を受信すると、例えばカウンタを1カウントアップする。
(B)動作
次に、実施形態の一例としてのメモリコントロールLSI2の動作を説明する。 The WE counter 14 is a counter that counts the number of times the data of the block of theDIMM 4 is updated. When the WE counter 14 receives a WRITE_ENABLE signal that permits writing to the DIMM 4, for example, the WE counter 14 increments the counter by one.
(B) Operation Next, the operation of thememory control LSI 2 as an example of the embodiment will be described.
(B)動作
次に、実施形態の一例としてのメモリコントロールLSI2の動作を説明する。 The WE counter 14 is a counter that counts the number of times the data of the block of the
(B) Operation Next, the operation of the
図7は、実施形態の一例としてのメモリコントロールLSI2の動作を示すフローチャート(ステップS1~S14)である。
ステップS1において、情報処理装置1の電源が投入されて、情報処理装置1の通常運用が開始される。
ステップS2において、先行退避部7がブロック管理テーブル15をクリアし、DIMM4の全ブロックの更新フラグを“00”にリセットする。 FIG. 7 is a flowchart (steps S1 to S14) showing the operation of thememory control LSI 2 as an example of the embodiment.
In step S1, the information processing apparatus 1 is turned on, and normal operation of the information processing apparatus 1 is started.
In step S2, theadvance saving unit 7 clears the block management table 15, and resets the update flags of all blocks of the DIMM 4 to “00”.
ステップS1において、情報処理装置1の電源が投入されて、情報処理装置1の通常運用が開始される。
ステップS2において、先行退避部7がブロック管理テーブル15をクリアし、DIMM4の全ブロックの更新フラグを“00”にリセットする。 FIG. 7 is a flowchart (steps S1 to S14) showing the operation of the
In step S1, the information processing apparatus 1 is turned on, and normal operation of the information processing apparatus 1 is started.
In step S2, the
ステップS3において、先行退避判定部16が、DIMM4に対するアクセス命令を待機し、命令を受信したかどうかを判定する。
命令を受信していない場合(ステップS3のNOルート参照)、処理がステップS3に戻る。
一方、命令を受信した場合(ステップS3のYESルート参照)、ステップS4において、先行退避判定部16は、受信した命令がバックアップ命令かどうかを判定する。 In step S3, the advance savedetermination unit 16 waits for an access command to the DIMM 4 and determines whether the command has been received.
If no command has been received (see NO route in step S3), the process returns to step S3.
On the other hand, when an instruction is received (see YES route in step S3), in step S4, the advance savedetermination unit 16 determines whether the received instruction is a backup instruction.
命令を受信していない場合(ステップS3のNOルート参照)、処理がステップS3に戻る。
一方、命令を受信した場合(ステップS3のYESルート参照)、ステップS4において、先行退避判定部16は、受信した命令がバックアップ命令かどうかを判定する。 In step S3, the advance save
If no command has been received (see NO route in step S3), the process returns to step S3.
On the other hand, when an instruction is received (see YES route in step S3), in step S4, the advance save
バックアップ命令の場合(ステップS4のYESルート参照)、ステップS3で受信した命令が電源切断時のバックアップ命令であるので、ステップS5において、先行退避部7は、ブロック管理テーブル15から、DIMM4の全ブロックの更新フラグを読み出す。
ステップS6において、先行退避部7は、ブロック管理テーブル15の更新フラグの値が“00”以外のDIMM4のブロックのデータを、SSD3に退避(バックアップ)する。 In the case of a backup command (see YES route in step S4), since the command received in step S3 is a backup command at the time of power-off, in step S5, theadvance saving unit 7 reads all blocks of DIMM 4 from the block management table 15. Read the update flag.
In step S6, theadvance saving unit 7 saves (backs up) the data of the block of the DIMM 4 whose update flag value in the block management table 15 is other than “00” to the SSD 3.
ステップS6において、先行退避部7は、ブロック管理テーブル15の更新フラグの値が“00”以外のDIMM4のブロックのデータを、SSD3に退避(バックアップ)する。 In the case of a backup command (see YES route in step S4), since the command received in step S3 is a backup command at the time of power-off, in step S5, the
In step S6, the
ステップS7において、先行退避部7は、ステップS6でSSD3に退避した全ブロックについて、ブロック管理テーブル15の対応する更新フラグの値を“00”にセットする。その後、情報処理装置1の電源が切断されて通常運用が終了する。
一方、ステップS3で受信した命令がバックアップ命令ではない場合(ステップS4のNOルート参照)、ステップS8において、先行退避判定部16は、ステップS3で受信した命令がメモリライト命令かどうかを判定する。 In step S7, theadvance saving unit 7 sets the value of the corresponding update flag in the block management table 15 to “00” for all the blocks saved in the SSD 3 in step S6. Thereafter, the power source of the information processing apparatus 1 is turned off, and the normal operation ends.
On the other hand, when the command received in step S3 is not a backup command (see NO route in step S4), in step S8, the advance savedetermination unit 16 determines whether the command received in step S3 is a memory write command.
一方、ステップS3で受信した命令がバックアップ命令ではない場合(ステップS4のNOルート参照)、ステップS8において、先行退避判定部16は、ステップS3で受信した命令がメモリライト命令かどうかを判定する。 In step S7, the
On the other hand, when the command received in step S3 is not a backup command (see NO route in step S4), in step S8, the advance save
ステップS3で受信した命令がメモリライト命令ではない場合(ステップS8のNOルート参照)、命令はメモリリード命令である。このため、ステップS9において、メモリコントローラ9はDIMM4に対するメモリリード命令を実行し、その後ステップS3に戻り、次の命令を待機する。
一方、ステップS3で受信した命令がメモリライト命令の場合(ステップS8のYESルート参照)、ステップS10において、メモリコントローラ9はDIMM4に対するメモリライトを実行する。 If the command received in step S3 is not a memory write command (see NO route in step S8), the command is a memory read command. Therefore, in step S9, thememory controller 9 executes a memory read command for the DIMM 4, and then returns to step S3 to wait for the next command.
On the other hand, when the instruction received in step S3 is a memory write instruction (see YES route in step S8), in step S10, thememory controller 9 executes memory write to the DIMM 4.
一方、ステップS3で受信した命令がメモリライト命令の場合(ステップS8のYESルート参照)、ステップS10において、メモリコントローラ9はDIMM4に対するメモリライトを実行する。 If the command received in step S3 is not a memory write command (see NO route in step S8), the command is a memory read command. Therefore, in step S9, the
On the other hand, when the instruction received in step S3 is a memory write instruction (see YES route in step S8), in step S10, the
ステップS10でメモリライトを実行した後、ステップS3に戻って通常運用が継続される。これと並行して、先行退避部7は、ステップS11~S14のフラグ更新処理を、通常運用のバックグラウンドで開始する。
ステップS11において、先行退避判定部16は、ステップS10でDIMM4にライトしたブロックに対応する、ブロック管理テーブル15の更新フラグの値を読み込む。 After executing the memory write in step S10, the process returns to step S3 and the normal operation is continued. In parallel with this, theadvance saving unit 7 starts the flag update processing of steps S11 to S14 in the background of normal operation.
In step S11, the advance savingdetermination unit 16 reads the value of the update flag in the block management table 15 corresponding to the block written to the DIMM 4 in step S10.
ステップS11において、先行退避判定部16は、ステップS10でDIMM4にライトしたブロックに対応する、ブロック管理テーブル15の更新フラグの値を読み込む。 After executing the memory write in step S10, the process returns to step S3 and the normal operation is continued. In parallel with this, the
In step S11, the advance saving
ステップS12において、先行退避判定部16は、レジスタ20に読み込んだ更新フラグの値が“00”であるかどうかを判定する。前述のように、“00”は更新フラグの初期値であり、更新フラグにこの値が設定されているブロックは、情報処理装置1の起動後、未だ更新されていない(データが書き込まれていない)ことを示す。
更新フラグの値が“00”の場合(ステップS12のYESルート参照)、ステップS13において、先行退避判定部16は、ブロック管理テーブル15の対応する更新フラグの値を、対応するブロックが1回のみ更新されていることを示す“01”にセットして、フラグ更新処理を終了する(通常運用は継続される)。 In step S12, the advance savedetermination unit 16 determines whether or not the value of the update flag read into the register 20 is “00”. As described above, “00” is the initial value of the update flag, and the block in which this value is set in the update flag has not been updated yet after the information processing apparatus 1 is started (data is not written). )
When the value of the update flag is “00” (see YES route in step S12), in step S13, the advance savedetermination unit 16 sets the value of the corresponding update flag in the block management table 15 only once for the corresponding block. It is set to “01” indicating that it has been updated, and the flag update process is terminated (normal operation is continued).
更新フラグの値が“00”の場合(ステップS12のYESルート参照)、ステップS13において、先行退避判定部16は、ブロック管理テーブル15の対応する更新フラグの値を、対応するブロックが1回のみ更新されていることを示す“01”にセットして、フラグ更新処理を終了する(通常運用は継続される)。 In step S12, the advance save
When the value of the update flag is “00” (see YES route in step S12), in step S13, the advance save
更新フラグの値が“00”以外の場合(ステップS12のNOルート参照)、ステップS14において、先行退避判定部16は、ブロック管理テーブル15の対応する更新フラグの値を、対応するブロックが2回以上書き込まれていることを示す値である“11”にセットして、フラグ更新処理を終了する(通常運用は継続される)。
図8は、実施形態の一例としての先行退避部7による先行退避処理を示すフローチャート(ステップS21~S24)である。 When the value of the update flag is other than “00” (refer to the NO route in step S12), in step S14, the advanceevacuation determination unit 16 sets the value of the corresponding update flag in the block management table 15 twice for the corresponding block. The value is set to “11”, which indicates that data has been written, and the flag update process is terminated (normal operation is continued).
FIG. 8 is a flowchart (steps S21 to S24) showing the advance saving process by theadvance saving unit 7 as an example of the embodiment.
図8は、実施形態の一例としての先行退避部7による先行退避処理を示すフローチャート(ステップS21~S24)である。 When the value of the update flag is other than “00” (refer to the NO route in step S12), in step S14, the advance
FIG. 8 is a flowchart (steps S21 to S24) showing the advance saving process by the
この先行退避処理は、通常運用中に、通常運用の処理と並行してバックグラウンドで実行される。
ステップS21において、先行退避部7は、情報処理装置1の電源が切断されたかどうかを判定する。
情報処理装置1の電源が切断された場合(ステップS21のYESルート参照)、先行退避部7は先行退避処理を終了する。 The advance saving process is executed in the background in parallel with the normal operation process during the normal operation.
In step S <b> 21, theadvance saving unit 7 determines whether or not the information processing apparatus 1 is powered off.
When the information processing apparatus 1 is powered off (see YES route in step S21), the preceding savingunit 7 ends the preceding saving process.
ステップS21において、先行退避部7は、情報処理装置1の電源が切断されたかどうかを判定する。
情報処理装置1の電源が切断された場合(ステップS21のYESルート参照)、先行退避部7は先行退避処理を終了する。 The advance saving process is executed in the background in parallel with the normal operation process during the normal operation.
In step S <b> 21, the
When the information processing apparatus 1 is powered off (see YES route in step S21), the preceding saving
情報処理装置1の電源が切断されていない場合(ステップS21のNOルート参照)、ステップS22において、先行退避部7は、ブロック管理テーブル15から、全更新フラグを読み出す。そして、読み出した更新フラグの値が“01”であり、かつ更新フラグが値“01”にセットされてから、基準時間抽出部8によって抽出された基準時間が経過したブロックが存在するかどうかを判定する。
If the information processing apparatus 1 is not powered off (see NO route in step S21), the advance saving unit 7 reads the all update flag from the block management table 15 in step S22. Then, it is determined whether or not there is a block in which the reference time extracted by the reference time extraction unit 8 has elapsed since the value of the read update flag is “01” and the update flag is set to the value “01”. judge.
ステップS22で条件を満たすブロック(すなわち、1回書き込まれてから更新されていないデータ)が存在しない場合(ステップS22のNOルート参照)、先行退避部7はステップS21に戻って、先行退避処理を繰り返す。
一方、ステップS22で条件を満たすブロックが存在する場合(ステップS22のYESルート参照)、ステップS23において、先行退避部7は、更新フラグの値が“01”であり、かつ更新フラグが値“01”にセットされてから基準時間が経過した全てのブロックのデータを、SSD3にコピーする。 If there is no block that satisfies the condition in step S22 (that is, data that has not been updated since it was written once) (see NO route in step S22), the advance saveunit 7 returns to step S21 and performs the advance save process. repeat.
On the other hand, if there is a block that satisfies the condition in step S22 (see YES route in step S22), in step S23, theadvance saving unit 7 has the update flag value “01” and the update flag value “01”. The data of all the blocks whose reference time has elapsed since being set to “” are copied to the SSD 3.
一方、ステップS22で条件を満たすブロックが存在する場合(ステップS22のYESルート参照)、ステップS23において、先行退避部7は、更新フラグの値が“01”であり、かつ更新フラグが値“01”にセットされてから基準時間が経過した全てのブロックのデータを、SSD3にコピーする。 If there is no block that satisfies the condition in step S22 (that is, data that has not been updated since it was written once) (see NO route in step S22), the advance save
On the other hand, if there is a block that satisfies the condition in step S22 (see YES route in step S22), in step S23, the
次にステップS24において、先行退避部7は、ステップS23でSSD3にコピーしたブロックに対応する、ブロック更新テーブル15の更新フラグをクリア(すなわち“00”をセット)する。その後、先行退避部7はステップS21に戻って、先行退避処理を繰り返す。
図9は、実施形態の一例としての基準時間抽出部8による基準時間抽出処理を示すフローチャート(ステップS31~S37)である。 Next, in step S24, theadvance saving unit 7 clears the update flag of the block update table 15 corresponding to the block copied to the SSD 3 in step S23 (that is, sets “00”). Thereafter, the preceding saving unit 7 returns to step S21 and repeats the preceding saving process.
FIG. 9 is a flowchart (steps S31 to S37) showing a reference time extraction process by the referencetime extraction unit 8 as an example of the embodiment.
図9は、実施形態の一例としての基準時間抽出部8による基準時間抽出処理を示すフローチャート(ステップS31~S37)である。 Next, in step S24, the
FIG. 9 is a flowchart (steps S31 to S37) showing a reference time extraction process by the reference
基準時間抽出部8は、情報処理装置1の電源が投入されている間は常に、基準時間抽出処理を実行する。そして基準時間抽出部8が抽出した最新の基準時間が、先行退避部7によって、図8のステップS22で用いられる。
ステップS31において、基準時間抽出部8は、相対時計11をリセットする。
次に、ステップS32において、相対時計11はタイマ動作(計時)を開始する。 The referencetime extraction unit 8 executes the reference time extraction process whenever the information processing apparatus 1 is powered on. Then, the latest reference time extracted by the reference time extraction unit 8 is used in step S22 of FIG.
In step S31, the referencetime extraction unit 8 resets the relative clock 11.
Next, in step S32, therelative clock 11 starts a timer operation (timekeeping).
ステップS31において、基準時間抽出部8は、相対時計11をリセットする。
次に、ステップS32において、相対時計11はタイマ動作(計時)を開始する。 The reference
In step S31, the reference
Next, in step S32, the
ステップS33において、基準時間抽出部8は、DIMM4のライトアクセス(WRITE_ENABLE等)を監視し、ライトアクセスを観測したらWEカウンタ14をカウントアップする。
ステップS34において、比較部12は、WEカウンタ14のカウンタ値が閾値レジスタ13に格納されている、DIMM4のアクセス回数閾値に達したかどうかを判定する。 In step S33, the referencetime extraction unit 8 monitors the write access (such as WRITE_ENABLE) of the DIMM 4, and counts up the WE counter 14 when the write access is observed.
In step S <b> 34, thecomparison unit 12 determines whether or not the counter value of the WE counter 14 has reached the access count threshold value of the DIMM 4 stored in the threshold value register 13.
ステップS34において、比較部12は、WEカウンタ14のカウンタ値が閾値レジスタ13に格納されている、DIMM4のアクセス回数閾値に達したかどうかを判定する。 In step S33, the reference
In step S <b> 34, the
WEカウンタ14のカウンタ値が閾値に達していない場合(ステップS34のNOルート参照)、処理はステップS33に戻り、基準時間抽出部8はDIMM4のアクセスの監視を続ける。
一方、WEカウンタ14のカウンタ値が閾値に達した場合(ステップS34のYESルート参照)、ステップS35において、基準時間抽出部8はWEカウンタ14をクリアする。 If the counter value of theWE counter 14 has not reached the threshold value (see NO route in step S34), the process returns to step S33, and the reference time extraction unit 8 continues to monitor access to the DIMM 4.
On the other hand, when the counter value of theWE counter 14 reaches the threshold value (see YES route in step S34), the reference time extraction unit 8 clears the WE counter 14 in step S35.
一方、WEカウンタ14のカウンタ値が閾値に達した場合(ステップS34のYESルート参照)、ステップS35において、基準時間抽出部8はWEカウンタ14をクリアする。 If the counter value of the
On the other hand, when the counter value of the
ステップS36において、比較部12は、相対時計11を停止させ、基準時間抽出部8は、相対時計11のタイマ値を、基準時間として抽出する。
ステップS37において、相対時計11は、ステップS36で抽出したタイマ値を、基準時間として適用する(例えば、必要に応じて時間の単位を変換した後、図4の基準時間レジスタ17に格納する)。 In step S36, thecomparison unit 12 stops the relative clock 11, and the reference time extraction unit 8 extracts the timer value of the relative clock 11 as the reference time.
In step S37, therelative clock 11 applies the timer value extracted in step S36 as a reference time (for example, after converting the unit of time as necessary, stores it in the reference time register 17 in FIG. 4).
ステップS37において、相対時計11は、ステップS36で抽出したタイマ値を、基準時間として適用する(例えば、必要に応じて時間の単位を変換した後、図4の基準時間レジスタ17に格納する)。 In step S36, the
In step S37, the
その後処理がステップS31に戻り、基準時間抽出部8は上記の基準時間抽出処理を繰り返す。
(C)効果
前述の如く、上記の実施形態の一例によれば、先行退避部7が、DIMM4のデータの更新状況を監視し、更新状況を、DIMM4のブロック単位でブロック管理テーブル15に記録する。そして、先行退避部7は、ブロック管理テーブル15に基づいて、DIMM4の全ブロックのうち、一度だけ更新された(すなわち、一度書き込まれて以降更新されていない)ブロックのデータのみをSSD3に先行退避する。 Thereafter, the process returns to step S31, and the referencetime extraction unit 8 repeats the above-described reference time extraction process.
(C) Effect As described above, according to the example of the above-described embodiment, theadvance saving unit 7 monitors the update state of the data in the DIMM 4 and records the update state in the block management table 15 in units of blocks of the DIMM 4. . Based on the block management table 15, the advance save unit 7 saves only the data of the block that has been updated only once (that is, has not been updated since being written once) to the SSD 3. To do.
(C)効果
前述の如く、上記の実施形態の一例によれば、先行退避部7が、DIMM4のデータの更新状況を監視し、更新状況を、DIMM4のブロック単位でブロック管理テーブル15に記録する。そして、先行退避部7は、ブロック管理テーブル15に基づいて、DIMM4の全ブロックのうち、一度だけ更新された(すなわち、一度書き込まれて以降更新されていない)ブロックのデータのみをSSD3に先行退避する。 Thereafter, the process returns to step S31, and the reference
(C) Effect As described above, according to the example of the above-described embodiment, the
つまり、頻繁に更新されるデータは通常運用時には退避せず、情報処理装置1の電源断時など、DIMM4のバックアップ命令が発行された時にのみ退避する。一方、所定時間内に一度だけ更新された(すなわち、一度書き込まれて以降更新されていない)データは、通常運用中のバックグラウンドで先行退避を実施する。
これにより、情報処理装置1の電源切断時など、DIMM4に対してバックアップ命令が発行されたときに、ブロック管理テーブル15の更新フラグに、例えば“00”以外の値が設定されているブロックのみをSSD3にバックアップするだけで済む。このため、DIMM4のデータのバックアップが高速化される。例えば、従来は10分要していたバックアップが、本実施形態の一例においては1分程度で終了する。 That is, frequently updated data is not saved during normal operation, but is saved only when a backup command for theDIMM 4 is issued, such as when the information processing apparatus 1 is powered off. On the other hand, data that has been updated only once within a predetermined time (that is, data that has been written once and has not been updated since then) is subjected to advance evacuation in the background during normal operation.
As a result, when a backup command is issued to theDIMM 4 such as when the information processing apparatus 1 is powered off, only the blocks for which a value other than “00”, for example, is set in the update flag of the block management table 15 are displayed. Just backup to SSD3. For this reason, backup of data of the DIMM 4 is accelerated. For example, a backup that conventionally took 10 minutes is completed in about one minute in the example of this embodiment.
これにより、情報処理装置1の電源切断時など、DIMM4に対してバックアップ命令が発行されたときに、ブロック管理テーブル15の更新フラグに、例えば“00”以外の値が設定されているブロックのみをSSD3にバックアップするだけで済む。このため、DIMM4のデータのバックアップが高速化される。例えば、従来は10分要していたバックアップが、本実施形態の一例においては1分程度で終了する。 That is, frequently updated data is not saved during normal operation, but is saved only when a backup command for the
As a result, when a backup command is issued to the
一例を挙げると、DIMM4全体のメモリ空間が128GBの情報処理装置1において、DIMM4の実使用エリアが合計32GB程度であり、1回しか更新されないデータがDIMM4全体の6割程度を占める場合、この6割のデータが通常運用中に先行退避される。情報処理装置1の故障の際等に、DIMM4のバックアップを行なう場合、1回しか更新されないデータは先にSSD3に先にコピーされているので、バックアップすべき残りの容量は12.8GBである。このため、DIMM4のバックアップ時間を大幅に短縮できる。
For example, in the information processing apparatus 1 having a memory space of 128 GB for the entire DIMM 4, the actual use area of the DIMM 4 is about 32 GB in total, and data that is updated only once accounts for about 60% of the entire DIMM 4. Percent of data is saved in advance during normal operation. When the DIMM 4 is backed up in the event of a failure of the information processing apparatus 1 and the like, data that is updated only once is first copied to the SSD 3 first, so the remaining capacity to be backed up is 12.8 GB. For this reason, the backup time of the DIMM 4 can be greatly shortened.
又、先行退避部7は、この先行退避を、通常運用のバックグラウンドで実行するため、先行退避によって通常運用が妨害されることはない。
さらに、DIMM4のメモリ空間がブロックに分割されるので、DIMM4のアクセス管理の効率が向上する。又、SSD3への無駄な退避を減少でき、エラーによる情報処理装置1の電源断時など、バックアップ時にバックアップ時間が短縮される。 In addition, since the advance saveunit 7 performs this advance save in the background of the normal operation, the normal operation is not hindered by the advance save.
Further, since the memory space of theDIMM 4 is divided into blocks, the access management efficiency of the DIMM 4 is improved. Further, useless saving to the SSD 3 can be reduced, and the backup time is shortened at the time of backup such as when the information processing apparatus 1 is powered off due to an error.
さらに、DIMM4のメモリ空間がブロックに分割されるので、DIMM4のアクセス管理の効率が向上する。又、SSD3への無駄な退避を減少でき、エラーによる情報処理装置1の電源断時など、バックアップ時にバックアップ時間が短縮される。 In addition, since the advance save
Further, since the memory space of the
さらに、基準時間抽出部8が、常時、基準時間抽出処理を実行し、DIMM4へのデータアクセス状況に応じて、SSD3への先行退避の判定に用いる基準時間を求める。このため、DIMM4へのデータアクセス状況に応じて、先行退避の頻度を最適化することができる。
DIMM4のデータの更新頻度を監視して、バックアップ対象のブロックを事前に特定することで、SSD3への書き込み回数を抑えることができ、SSD3の長寿命化を図ることができる。 Further, the referencetime extraction unit 8 always executes the reference time extraction process, and obtains the reference time used for the determination of the advance evacuation to the SSD 3 according to the data access status to the DIMM 4. For this reason, the frequency of advance evacuation can be optimized according to the data access status to the DIMM 4.
By monitoring the data update frequency of theDIMM 4 and specifying the block to be backed up in advance, the number of writes to the SSD 3 can be suppressed, and the life of the SSD 3 can be extended.
DIMM4のデータの更新頻度を監視して、バックアップ対象のブロックを事前に特定することで、SSD3への書き込み回数を抑えることができ、SSD3の長寿命化を図ることができる。 Further, the reference
By monitoring the data update frequency of the
(D)その他
なお、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上記の実施形態の一例においては、メモリのバックアップ媒体としてSSD3を使用したが、バックアップ媒体として他の不揮発性記憶装置を使用してもよい。 (D) Others The disclosed technique is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present embodiment.
For example, in the example of the above-described embodiment, theSSD 3 is used as a memory backup medium. However, another nonvolatile storage device may be used as the backup medium.
なお、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上記の実施形態の一例においては、メモリのバックアップ媒体としてSSD3を使用したが、バックアップ媒体として他の不揮発性記憶装置を使用してもよい。 (D) Others The disclosed technique is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present embodiment.
For example, in the example of the above-described embodiment, the
又は、上記の実施形態においては、DIMM4の内容をSSD3にバックアップしたが、情報処理装置1の他のメモリの内容をSSD3にバックアップしてもよい。
或いは、上記の実施形態の一例においては、最初に更新されてから1時間経過したDIMM4のブロックのデータをSSD3に先行退避させていたが、情報処理装置1の運用状況等に応じて、システム管理者等によって、ほかの任意の待機時間が設定されてもよい。例えば、上記の実施形態の一例においては、カウンタ19が1時間毎に1カウントアップしていたが、カウンタ19が7時間毎に1カウントアップしてもよい。 Alternatively, in the above embodiment, the contents of theDIMM 4 are backed up to the SSD 3, but the contents of other memories of the information processing apparatus 1 may be backed up to the SSD 3.
Alternatively, in the example of the above-described embodiment, the block data of theDIMM 4 that has passed for one hour after the first update is preliminarily saved in the SSD 3, but the system management is performed according to the operation status of the information processing apparatus 1 or the like. Any other waiting time may be set by a person or the like. For example, in the example of the above embodiment, the counter 19 is incremented by 1 every hour, but the counter 19 may be incremented by 1 every 7 hours.
或いは、上記の実施形態の一例においては、最初に更新されてから1時間経過したDIMM4のブロックのデータをSSD3に先行退避させていたが、情報処理装置1の運用状況等に応じて、システム管理者等によって、ほかの任意の待機時間が設定されてもよい。例えば、上記の実施形態の一例においては、カウンタ19が1時間毎に1カウントアップしていたが、カウンタ19が7時間毎に1カウントアップしてもよい。 Alternatively, in the above embodiment, the contents of the
Alternatively, in the example of the above-described embodiment, the block data of the
又は、図3に示したブロック管理テーブル15の構造は例示に過ぎず、ブロック管理テーブル15にほかのデータ構造を採用してもよい。
さらに、上記の実施形態の一例においては、先行退避部7、基準時間抽出部8及び先行退避判定部16をハードウェアによって実装していたが、これらの少なくとも1つを、ソフトウェア及び/又はファームウェアによって実装してもよい。 Alternatively, the structure of the block management table 15 shown in FIG. 3 is merely an example, and another data structure may be adopted for the block management table 15.
Furthermore, in the example of the above-described embodiment, the advance saveunit 7, the reference time extraction unit 8, and the advance save determination unit 16 are implemented by hardware, but at least one of these is implemented by software and / or firmware. May be implemented.
さらに、上記の実施形態の一例においては、先行退避部7、基準時間抽出部8及び先行退避判定部16をハードウェアによって実装していたが、これらの少なくとも1つを、ソフトウェア及び/又はファームウェアによって実装してもよい。 Alternatively, the structure of the block management table 15 shown in FIG. 3 is merely an example, and another data structure may be adopted for the block management table 15.
Furthermore, in the example of the above-described embodiment, the advance save
先行退避部7、基準時間抽出部8、及び先行退避判定部16をソフトウェアによって実装する場合、先行退避部7、基準時間抽出部8、及び先行退避判定部16としての機能を実現するためのプログラムは、例えばフレキシブルディスク,CD(CD-ROM,CD-R,CD-RW等),DVD(DVD-ROM,DVD-RAM,DVD-R,DVD+R,DVD-RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、情報処理装置1はその記録媒体から図示しないドライブ装置を介してプログラムを読み取って内部記録装置又は外部記録装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介して情報処理装置1に提供してもよい。
A program for realizing the functions of the advance save unit 7, the reference time extraction unit 8, and the advance save determination unit 16 when the advance save unit 7, the reference time extraction unit 8, and the advance save determination unit 16 are implemented by software. For example, flexible disk, CD (CD-ROM, CD-R, CD-RW, etc.), DVD (DVD-ROM, DVD-RAM, DVD-R, DVD + R, DVD-RW, DVD + RW, HD DVD, etc.), Blu-ray The recording medium is provided in a form recorded on a computer-readable recording medium such as a disk, a magnetic disk, an optical disk, or a magneto-optical disk. The information processing apparatus 1 reads the program from the recording medium via a drive device (not shown), transfers the program to an internal recording device or an external recording device, and uses it. Alternatively, the program may be recorded in a storage device (recording medium) such as a magnetic disk, an optical disk, or a magneto-optical disk, and provided from the storage device to the information processing apparatus 1 via a communication path.
先行退避部7、基準時間抽出部8、及び先行退避判定部16としての機能を実現する際には、不図示の記録媒体に格納されたプログラムが情報処理装置1のマイクロプロセッサ(CPU10など)によって実行される。このとき、記録媒体に記録されたプログラムを情報処理装置1が読み取って実行してもよい。
When realizing the functions as the advance saving unit 7, the reference time extraction unit 8, and the advance saving determination unit 16, a program stored in a recording medium (not shown) is executed by a microprocessor (CPU 10 or the like) of the information processing apparatus 1. Executed. At this time, the information processing apparatus 1 may read and execute the program recorded on the recording medium.
1 情報処理装置
2 メモリコントロールLSI(メモリ制御装置)
3 SSD(第2の記憶装置)
4 DIMM(第1の記憶装置)
5 コントロールIPコア
6 ユーザ論理コントロール
7 先行退避部(制御部)
8 基準時間抽出部(抽出部)
9 メモリコントローラ
10 CPU
11 相対時計
12 比較部
13 閾値レジスタ
14 WEカウンタ
15 ブロック管理テーブル
16 先行退避判定部
17 基準時間レジスタ
18 比較部
19 カウンタ
20 レジスタ
21,22 論理演算部 DESCRIPTION OF SYMBOLS 1Information processing apparatus 2 Memory control LSI (memory control apparatus)
3 SSD (second storage device)
4 DIMM (first storage device)
5Control IP core 6 User logic control 7 Advance save unit (control unit)
8 reference time extraction unit (extraction unit)
9Memory controller 10 CPU
DESCRIPTION OFSYMBOLS 11 Relative clock 12 Comparison part 13 Threshold register 14 WE counter 15 Block management table 16 Advance save determination part 17 Reference time register 18 Comparison part 19 Counter 20 Register 21, 22 Logic operation part
2 メモリコントロールLSI(メモリ制御装置)
3 SSD(第2の記憶装置)
4 DIMM(第1の記憶装置)
5 コントロールIPコア
6 ユーザ論理コントロール
7 先行退避部(制御部)
8 基準時間抽出部(抽出部)
9 メモリコントローラ
10 CPU
11 相対時計
12 比較部
13 閾値レジスタ
14 WEカウンタ
15 ブロック管理テーブル
16 先行退避判定部
17 基準時間レジスタ
18 比較部
19 カウンタ
20 レジスタ
21,22 論理演算部 DESCRIPTION OF SYMBOLS 1
3 SSD (second storage device)
4 DIMM (first storage device)
5
8 reference time extraction unit (extraction unit)
9
DESCRIPTION OF
Claims (15)
- 第1の記憶装置へのアクセス履歴を記憶するアクセス履歴記憶部と、
前記第1の記憶装置にアクセスが行なわれるたびに前記アクセス履歴記憶部にアクセス履歴を記憶し、前記アクセス履歴記憶部に記憶された前記アクセス履歴に基づいて、前記第1の記憶装置のデータのうち、アクセス回数が所定値以下のデータを第2の記憶装置に記憶する制御部と、
をそなえることを特徴とするメモリ制御装置。 An access history storage unit for storing an access history to the first storage device;
Each time access to the first storage device is performed, an access history is stored in the access history storage unit, and based on the access history stored in the access history storage unit, data of the first storage device is stored. Among them, a control unit that stores data in which the number of accesses is a predetermined value or less in the second storage device;
A memory control device characterized by comprising: - 前記制御部は、前記アクセス履歴に基づいて、前記第1の記憶装置への書き込みが1回のみのデータを前記第2の記憶装置に記憶することを特徴とする請求項1記載のメモリ制御装置。 2. The memory control device according to claim 1, wherein the control unit stores, in the second storage device, data that is written only once in the first storage device based on the access history. .
- 前記制御部は、前記アクセス履歴に基づいて、前記第1の記憶装置への書き込みが1回のみであり、かつ前記第1の記憶装置への前記1回の書き込みが行なわれてから、基準時間が経過したデータのみを前記第2の記憶装置に記憶することを特徴とする請求項2記載のメモリ制御装置。 Based on the access history, the control unit writes only one time to the first storage device and performs a reference time after the one write to the first storage device is performed. 3. The memory control device according to claim 2, wherein only data that has passed is stored in the second storage device.
- 前記第1の記憶装置への書き込みが所定回数行なわれるのに要する時間を測定し、測定した当該時間を前記基準時間として決定する抽出部をさらにそなえることを特徴とする請求項3記載のメモリ制御装置。 4. The memory control according to claim 3, further comprising an extraction unit that measures a time required for the writing to the first storage device a predetermined number of times and determines the measured time as the reference time. apparatus.
- 前記制御部は、前記第1の記憶装置のデータのバックアップ指示が行なわれると、前記第1の記憶装置の前記データのうち、前記第2の記憶装置に記憶したデータ以外の全データを、前記第2の記憶装置に記憶することを特徴とする請求項1~4のいずれか1項に記載のメモリ制御装置。 When the backup instruction of the data in the first storage device is performed, the control unit stores all the data other than the data stored in the second storage device among the data in the first storage device. The memory control device according to any one of claims 1 to 4, wherein the memory control device is stored in a second storage device.
- 第1の記憶装置と、
第2の記憶装置と、
前記第1の記憶装置へのアクセス履歴を記憶するアクセス履歴記憶部と、
前記第1の記憶装置にアクセスが行なわれるたびに前記アクセス履歴記憶部にアクセス履歴を記憶し、前記アクセス履歴記憶部に記憶された前記アクセス履歴に基づいて、前記第1の記憶装置のデータのうち、アクセス回数が所定値以下のデータを前記第2の記憶装置に記憶する制御部と、
をそなえることを特徴とする情報処理装置。 A first storage device;
A second storage device;
An access history storage unit for storing an access history to the first storage device;
Each time access to the first storage device is performed, an access history is stored in the access history storage unit, and based on the access history stored in the access history storage unit, data of the first storage device is stored. Among them, a control unit that stores data in which the number of accesses is a predetermined value or less in the second storage device;
An information processing apparatus characterized by comprising: - 前記制御部は、前記アクセス履歴に基づいて、前記第1の記憶装置への書き込みが1回のみのデータを前記第2の記憶装置に記憶することを特徴とする請求項6記載の情報処理装置。 The information processing apparatus according to claim 6, wherein the control unit stores, in the second storage device, data that is written only once in the first storage device based on the access history. .
- 前記制御部は、前記アクセス履歴に基づいて、前記第1の記憶装置への書き込みが1回のみであり、かつ前記第1の記憶装置への前記1回の書き込みが行なわれてから、基準時間が経過したデータのみを前記第2の記憶装置に記憶することを特徴とする請求項7記載の情報処理装置。 Based on the access history, the control unit writes only one time to the first storage device and performs a reference time after the one write to the first storage device is performed. 8. The information processing apparatus according to claim 7, wherein only the data that has passed is stored in the second storage device.
- 前記第1の記憶装置への書き込みが所定回数行なわれるのに要する時間を測定し、測定した当該時間を前記基準時間として決定する抽出部をさらにそなえることを特徴とする請求項8記載の情報処理装置。 9. The information processing apparatus according to claim 8, further comprising an extraction unit that measures a time required for the writing to the first storage device to be performed a predetermined number of times and determines the measured time as the reference time. apparatus.
- 前記制御部は、前記第1の記憶装置のデータのバックアップ指示が行なわれると、前記第1の記憶装置の前記データのうち、前記第2の記憶装置に記憶したデータ以外の全データを、前記第2の記憶装置に記憶することを特徴とする請求項6~9のいずれか1項に記載の情報処理装置。 When the backup instruction of the data in the first storage device is performed, the control unit stores all the data other than the data stored in the second storage device among the data in the first storage device. 10. The information processing apparatus according to claim 6, wherein the information processing apparatus is stored in a second storage device.
- 第1の記憶装置にアクセスが行なわれるたびに、当該アクセスへのアクセス履歴をアクセス履歴記憶部に記録し、
前記アクセス履歴記憶部に記憶された前記アクセス履歴に基づいて、前記第1の記憶装置のデータのうち、アクセス回数が所定値以下のデータを第2の記憶装置に記憶する
ことを特徴とするメモリ制御方法。 Each time the first storage device is accessed, the access history for the access is recorded in the access history storage unit,
Based on the access history stored in the access history storage unit, among the data stored in the first storage device, data having a number of accesses equal to or less than a predetermined value is stored in the second storage device. Control method. - 前記アクセス履歴に基づいて、前記第1の記憶装置への書き込みが1回のみのデータを前記第2の記憶装置に記憶することを特徴とする請求項11記載のメモリ制御方法。 12. The memory control method according to claim 11, wherein data that is written only once in the first storage device is stored in the second storage device based on the access history.
- 前記アクセス履歴に基づいて、前記第1の記憶装置への書き込みが1回のみであり、かつ前記第1の記憶装置への前記1回の書き込みが行なわれてから、基準時間が経過したデータのみを前記第2の記憶装置に記憶することを特徴とする請求項12記載のメモリ制御方法。 Based on the access history, only data that has been written to the first storage device only once and a reference time has elapsed since the first write to the first storage device was performed. The memory control method according to claim 12, wherein the memory is stored in the second storage device.
- 前記第1の記憶装置への書き込みが所定回数行なわれるのに要する時間を測定し、測定した当該時間を前記基準時間として決定することを特徴とする請求項13記載のメモリ制御方法。 14. The memory control method according to claim 13, wherein a time required for the writing to the first storage device to be performed a predetermined number of times is measured, and the measured time is determined as the reference time.
- 前記第1の記憶装置のデータのバックアップ指示が行なわれると、前記第1の記憶装置の前記データのうち、前記第2の記憶装置に記憶したデータ以外の全データを、前記第2の記憶装置に記憶することを特徴とする請求項11~14のいずれか1項に記載のメモリ制御方法。 When a backup instruction for data in the first storage device is performed, all data other than data stored in the second storage device among the data in the first storage device is stored in the second storage device. 15. The memory control method according to claim 11, wherein the memory control method is stored in the memory.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/075684 WO2015044999A1 (en) | 2013-09-24 | 2013-09-24 | Memory control device, information processing device, and memory control method |
JP2015538652A JP6004115B2 (en) | 2013-09-24 | 2013-09-24 | MEMORY CONTROL DEVICE, INFORMATION PROCESSING DEVICE, AND MEMORY CONTROL METHOD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2013/075684 WO2015044999A1 (en) | 2013-09-24 | 2013-09-24 | Memory control device, information processing device, and memory control method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015044999A1 true WO2015044999A1 (en) | 2015-04-02 |
Family
ID=52742213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/075684 WO2015044999A1 (en) | 2013-09-24 | 2013-09-24 | Memory control device, information processing device, and memory control method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6004115B2 (en) |
WO (1) | WO2015044999A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021039656A (en) * | 2019-09-05 | 2021-03-11 | 富士通株式会社 | File data management device, file data management program and file data management method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0457131A (en) * | 1990-06-26 | 1992-02-24 | Nec Corp | Data saving system |
JP2007233961A (en) * | 2006-03-03 | 2007-09-13 | Internatl Business Mach Corp <Ibm> | Device, method and program for data backup |
JP2009276820A (en) * | 2008-05-12 | 2009-11-26 | Denso Corp | Electronic apparatus and program |
-
2013
- 2013-09-24 JP JP2015538652A patent/JP6004115B2/en active Active
- 2013-09-24 WO PCT/JP2013/075684 patent/WO2015044999A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0457131A (en) * | 1990-06-26 | 1992-02-24 | Nec Corp | Data saving system |
JP2007233961A (en) * | 2006-03-03 | 2007-09-13 | Internatl Business Mach Corp <Ibm> | Device, method and program for data backup |
JP2009276820A (en) * | 2008-05-12 | 2009-11-26 | Denso Corp | Electronic apparatus and program |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021039656A (en) * | 2019-09-05 | 2021-03-11 | 富士通株式会社 | File data management device, file data management program and file data management method |
JP7302392B2 (en) | 2019-09-05 | 2023-07-04 | 富士通株式会社 | File data management device, file data management program and file data management method |
Also Published As
Publication number | Publication date |
---|---|
JP6004115B2 (en) | 2016-10-05 |
JPWO2015044999A1 (en) | 2017-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8793532B1 (en) | Hard-disk drive work load profiling and capturing systems and methods | |
TWI353536B (en) | Virtualized storage computer system and method of | |
JP6064608B2 (en) | Storage device, backup program, and backup method | |
TW201528281A (en) | Data storage device and flash memory control method | |
JP2014048679A (en) | Ssd (solid state drive) device | |
US20140317444A1 (en) | Storage control device and storage device | |
US9785438B1 (en) | Media cache cleaning based on workload | |
JP2006323751A (en) | Information processing apparatus, life monitoring method and program | |
CN105224891A (en) | Magnetic disc optic disc fused data method for secure storing, system and device | |
JP2019133633A (en) | Electronic computer device and method | |
TW201321978A (en) | Electronic system and memory managing method thereof | |
JP6069962B2 (en) | Information processing apparatus, area release control program, and area release control method | |
JP6004115B2 (en) | MEMORY CONTROL DEVICE, INFORMATION PROCESSING DEVICE, AND MEMORY CONTROL METHOD | |
JP2006343923A (en) | Disk recording device | |
JP2016103304A (en) | Data archive system | |
JP6264012B2 (en) | Control device and control program | |
US20130321944A1 (en) | Server and method for preventing the server from vibration damage | |
JP2009104369A (en) | Disk sub-system | |
JP5217452B2 (en) | Information processing apparatus and system, and storage area management method and program | |
JP6142608B2 (en) | Storage system, control device, and control method | |
US9286936B1 (en) | Zone based band mapping | |
US20170357545A1 (en) | Information processing apparatus and information processing method | |
JP2007328438A (en) | Information processor, its data backup, and restoration method | |
JP2008059007A (en) | Semiconductor storage device | |
JP2006227923A (en) | Disk management apparatus and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13894126 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2015538652 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13894126 Country of ref document: EP Kind code of ref document: A1 |