WO2015155906A1 - メモリの温度上昇を抑制するための装置およびプログラム - Google Patents

メモリの温度上昇を抑制するための装置およびプログラム Download PDF

Info

Publication number
WO2015155906A1
WO2015155906A1 PCT/JP2014/079823 JP2014079823W WO2015155906A1 WO 2015155906 A1 WO2015155906 A1 WO 2015155906A1 JP 2014079823 W JP2014079823 W JP 2014079823W WO 2015155906 A1 WO2015155906 A1 WO 2015155906A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
memory
memory modules
memory module
selection
Prior art date
Application number
PCT/JP2014/079823
Other languages
English (en)
French (fr)
Inventor
米谷 聡
了士 土山
正名 村瀬
紀行 二木
Original Assignee
株式会社フィックスターズ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社フィックスターズ filed Critical 株式会社フィックスターズ
Priority to US15/302,092 priority Critical patent/US20170194040A1/en
Priority to JP2016512569A priority patent/JPWO2015155906A1/ja
Publication of WO2015155906A1 publication Critical patent/WO2015155906A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction

Definitions

  • the present invention relates to a technique for suppressing a temperature rise of a memory that generates heat as data is read and written.
  • Patent Document 1 As a technique for suppressing thermal runaway of a semiconductor memory, for example, in Patent Document 1, when a temperature measured in a semiconductor device reaches a threshold in a semiconductor device having a static memory cell, it is applied to a memory module. A technique has been proposed in which the semiconductor device is prevented from becoming too hot by reducing the voltage.
  • a highly integrated memory can be realized by stacking a plurality of memory modules. As described above, when a plurality of memory modules are stacked, heat dissipation from the heat generated by each memory module when reading and writing data is hindered by adjacent objects, and therefore, the temperature tends to be locally high.
  • an object of the present invention is to prevent a memory including a plurality of stacked memory modules from becoming high temperature as data is read and written.
  • the present invention provides a request acquisition unit for acquiring a data write request and a plurality of memory modules stacked in response to the write request within a predetermined time.
  • a selection unit that selects a write destination memory module so that two or more memory modules that write data are not adjacent to each other, and in response to the write request, instructs to write data to the memory module selected by the selection unit
  • a device including a writing instruction unit is proposed as a first embodiment.
  • the selection unit includes a memory module that is a write destination so that two or more memory modules that simultaneously write data are not adjacent to each other from the plurality of memory modules.
  • the configuration of selecting is proposed as the second embodiment.
  • the selection unit selects a first memory module to which data is to be written at a first write timing from the plurality of memory modules.
  • a memory module that is not adjacent to the first memory module is selected as a second memory module to which data is to be written at a second write timing that is a write timing next to the first write timing.
  • the configuration of selecting is proposed as a third embodiment.
  • a plurality of pieces of data for identifying one or more memory modules selected from the plurality of memory modules are arranged in time series.
  • a configuration is proposed as a fourth embodiment in which a selection data acquisition unit that acquires selection data is provided, and the selection unit selects the memory module of the writing destination according to the selection data.
  • the present invention provides an identification data acquisition unit for acquiring identification data for identifying a usable memory module among the plurality of memory modules, and an identification data output for outputting the identification data.
  • the selection data acquisition unit proposes a configuration in which the selection data input as a response to the output of the identification data is acquired as a fifth embodiment.
  • the present invention further includes a temperature data acquisition unit that acquires temperature data indicating temperatures measured at representative points of the plurality of memory modules, and the selection
  • the section proposes, as a sixth embodiment, a configuration in which the number of two or more memory modules to which data is written within the predetermined time is changed according to the temperature indicated by the temperature data.
  • the present invention proposes, as a seventh embodiment, a configuration in which any one of the first to sixth embodiments includes the plurality of memory modules.
  • the process of selecting one or more memory modules that simultaneously write data from a plurality of stacked memory modules and the process of writing data to the selected one or more memory modules are repeatedly executed.
  • a temperature estimation unit that calculates an estimated value of each of the plurality of memory modules, and one or more memory modules that simultaneously write data based on the estimated temperature value calculated by the temperature estimation unit.
  • a memory module is selected such that a representative value of the estimated temperatures of the plurality of memory modules is lower than when a memory module is selected at random, and the selected one or more memory modules are identified.
  • Select data that is arranged in time series in the order of selection. It proposes a device and a selection data generator for a eighth embodiment.
  • the present invention further includes an identification data acquisition unit that acquires identification data for identifying a usable memory module among the plurality of memory modules, and the selection data generation unit includes: A configuration of generating selection data for identifying a memory module selected from among usable memory modules identified by the identification data is proposed as a ninth embodiment.
  • an identification data acquisition unit for acquiring identification data for identifying a usable memory module among a plurality of stacked memory modules, and a usable memory module for identifying the identification data.
  • the estimated value of the temperature of each of the usable memory modules when the process of selecting one or more memory modules to which data is simultaneously written and the process of writing data to the selected one or more memory modules is repeatedly executed.
  • a program for selecting a memory module and functioning as a selection data generation unit that generates a plurality of pieces of data for identifying the selected one or more memory modules, and selection data that is data arranged in time series according to the selection order This is proposed as a tenth embodiment.
  • the probability that data is read / written from / to two memory modules adjacent to each other at the same time or close to each other decreases, local high-temperature spots are unlikely to occur in the memory.
  • FIG. 1 is an external view of a data storage system according to an embodiment.
  • storage device concerning one Embodiment is provided.
  • storage device concerning one Embodiment is provided.
  • the figure which illustrated arrangement of a memory module selected as a data writing place in a storage device concerning one embodiment The figure which illustrated the composition of selection data which the storage concerning a modification is used.
  • storage device concerning one modification is provided.
  • FIG. 1 is a diagram showing the appearance of the data storage system 1.
  • the data storage system 1 includes a data processing device 11 serving as a host such as a CPU provided in a computer, and a storage device 12 that reads and writes data in response to a request from the data processing device 11.
  • FIG. 2 is a diagram showing a physical configuration of the storage device 12.
  • the storage device 12 includes three memory boards, a memory board 121, a memory board 122, and a memory board 123, an interface 124 that exchanges data between the three memory boards and the data processing device 11, and these A housing 125 that accommodates the three memory boards and the interface 124.
  • power required for the operation of the storage device 12 is supplied from a power supply device (not shown) via the interface 124.
  • the number of memory boards included in the storage device 12 is not limited to three, and may be any number as long as the storage device 12 includes a plurality of memory modules 1201 stacked.
  • Each of the memory board 121, the memory board 122, and the memory board 123 performs control such as reading / writing of data with respect to the plurality of memory modules 1201 and the memory modules 1201 included in each memory board, and identification of the defective memory module 1201 2.
  • Data processing devices 1202 are provided.
  • the memory module 1201 is a flash memory, for example.
  • the memory module 1201 may be any type of memory as long as the memory module 1201 generates heat as data is read and written.
  • the data processing device 1202 is configured by, for example, a CPLD.
  • the data processing device 1202 may be any type of data processing device as long as it is a data processing device that controls the memory module 1201 provided in the same memory board.
  • the two data processing devices 1202 included in each of the memory board 121, the memory board 122, and the memory board 123 include a memory module 1201 disposed on one surface of these memory boards and a memory module 1201 on the other surface. Each of the memory modules 1201 disposed in the memory is controlled. Note that the number of data processing devices 1202 provided in one memory board is not limited to two. For example, one data processing device 1202 controls all the memory modules 1201 arranged on either side of the memory board. Also good.
  • the memory board 122 includes a data processing device 1203 that controls reading and writing of data with respect to the plurality of memory modules 1201 included in the memory board 121, the memory board 122, and the memory board 123, and a memory that stores data used by the data processing device 1203. 1204.
  • the data processing device 1203 instructs the data processing device 1202 of the memory board 121, the memory board 122, or the memory board 123 to read / write data. Any one of the data processing devices 1202 reads and writes data in accordance with an instruction from the data processing device 1203.
  • the data processing device 1203 is configured by, for example, an FPGA. However, the data processing device 1203 may be any type of data processing device as long as it is a data processing device that instructs reading / writing of data to / from the plurality of memory modules 1201 provided in the plurality of memory boards.
  • the memory 1204 is an EPROM. However, the memory 1204 may be any type of memory as long as it stores data used by the data processing device 1203.
  • FIG. 3 is a diagram showing an arrangement of the memory module 1201 and the data processing device 1202 provided in each of the memory board 121, the memory board 122, and the memory board 123, and the data processing device 1203 provided in the memory board 122.
  • the memory board 121, the memory board 122, and the memory board 123 an upper surface in FIG.
  • the upper three indicate the A side of the memory board 121, the A side of the memory board 122, and the A side of the memory board 123 from the left.
  • the lower three indicate the B surface of the memory board 121, the B surface of the memory board 122, and the B surface of the memory board 123 from the left.
  • the number of memory modules 1201 shown in FIG. 3 is an example, and other numbers may be adopted. Further, the arrangement of the memory module 1201, the data processing device 1202, and the data processing device 1203 illustrated in FIG. 3 is an example, and other arrangements may be adopted. In FIG. 3, the number assigned to each of the memory modules 1201 is a number for identifying each of the plurality of memory modules 1201 on the A side or the B side of each memory board.
  • FIG. 4 is a view showing a cross section of the storage device 12 in a state where the memory board 121, the memory board 122, the memory board 123, and the interface 124 are accommodated in the housing 125.
  • a gap of 0.5 mm is left.
  • a gap of, for example, 0.5 mm is provided between the memory module 1201 on the B surface of the memory board 122 and the memory module 1201 on the A surface of the memory board 123.
  • the size of these gaps is not limited to 0.5 mm.
  • a heat transfer cushion material serving both as a role of promoting heat conduction to the housing 125 and as a cushioning material may be disposed.
  • a heat transfer cushion material (not shown) that serves as both a role for promoting heat and a role as a cushioning material is disposed.
  • FIG. 5 is a diagram illustrating a connection state between the components included in the storage device 12.
  • the interface 124 is connected to the data processing device 11.
  • the interface 124 receives a data read / write request from the data processing device 11, and receives the requested data from the data processing device 1203 when it receives a data read request, and delivers it to the data processing device 11.
  • the data processing device 1203 is connected to each of the interface 124, the memory 1204, and the data processing device 1202.
  • the data processing device 1203 selects the data write destination memory module 1201 according to the request and selects the selected write destination memory.
  • the data processor 1202 that controls the module 1201 is instructed to write data.
  • the data processing device 1203 receives a data read request from the data processing device 11 via the interface 124, the data processing device 1203 identifies the memory module 1201 in which data corresponding to the request is written, and identifies the identified memory module 1201.
  • the data processor 1202 to be controlled is instructed to read data.
  • the data processing device 1203 outputs data delivered from the data processing device 1202 to the data processing device 11 via the interface 124.
  • the memory 1204 stores various data used by the data processing device 1203.
  • the various data used by the data processing device 1203 include, for example, selection data (to be described later) indicating rules for selecting a memory module 1201 to which data is written, and an available memory module 1201 among the memory modules 1201 Identification data (to be described later).
  • the storage device 12 includes a total of six data processing devices 1202 arranged on the A and B surfaces of the memory board 121, the memory board 122, and the memory board 123, respectively. Each of these six data processing devices 1202 is connected to a memory module 1201 arranged on the same surface of the same memory board, and controls these memory modules 1201.
  • the data processing device 1202 and the memory module 1201 controlled by the data processing device 1202 are collectively referred to as a “memory unit”. Accordingly, the storage device 12 includes six memory units. However, the number of memory units included in the storage device 12 is not limited to six.
  • FIG. 6 is a diagram illustrating a functional configuration of the data processing device 1203.
  • the data processing device 1203 includes a selection data acquisition unit 20 that reads and acquires selection data stored in the memory 1204.
  • FIG. 7 is a diagram showing a configuration example of selection data used by the storage device 12.
  • the selection data is a list having a sequence number column and a write destination memory module identifier column.
  • the selection data is stored in the write destination memory module identifier column in the order corresponding to the sequence number stored in the sequence number column. Indicates that data should be written to the memory module 1201 identified by each of the destination memory module identifiers.
  • a format such as “1A-2” is adopted as the format of the write destination memory module identifier.
  • the first digit of the write destination memory module identifier indicates the last digit of the codes of the memory board 121, the memory board 122, and the memory board 123, and indicates which memory board is the memory module 1201 arranged on the memory board. Identify.
  • the second digit alphabetic character of the write destination memory module identifier identifies whether the memory module 1201 is located on the A side or B side of the memory board.
  • the number following the “ ⁇ ” in the write destination memory module identifier indicates the identifier of the memory module 1201 in each memory unit (the number assigned to each memory module 1201 in FIG. 3).
  • the format of the selection data is not limited to the format illustrated in FIG. 7, and any format may be adopted as long as the memory module 1201 can be identified.
  • the selection data is simultaneously transmitted to the plurality of memory modules 1201 identified by these write destination memory module identifiers. Indicates that writing should be done.
  • the data processing device 1203 further includes a write request acquisition unit 21 (an example of a request acquisition unit) that acquires a data write request from the data processing device 11, and a plurality of memories according to the selection data acquired by the selection data acquisition unit 20.
  • a memory module selection unit 22 (an example of a selection unit) that selects a data write destination according to a write request acquired by the write request acquisition unit 21 from among the modules 1201 and the memory module selection unit 22
  • a write instruction unit 23 that instructs the data processor 1202 that controls the memory module 1201 to write data is provided.
  • the data processing device 1202 writes data to the designated memory module 1201 in accordance with an instruction from the write instruction unit 23.
  • the write instruction unit 23 causes the memory 1204 to store mapping data in which the identifier of the data is associated with the identifier of the memory module 1201 to which the data is written for each piece of data for which the write instruction has been issued.
  • the data processing device 1203 responds to the read request acquisition unit 24 that acquires a data read request from the data processing device 11 and the read request acquired by the read request acquisition unit 24 according to the mapping data stored in the memory 1204.
  • a read instruction unit 25 that instructs the data processing device 1202 that controls the memory module 1201 in which data is written to read data, and the data processing device 1202 reads from the memory module 1201 in response to an instruction from the read instruction unit 25
  • a read data acquisition unit 26 that acquires data and a read data output unit 27 that outputs the data acquired by the read data acquisition unit 26 to the data processing device 11 as a response to the read request acquired by the read request acquisition unit 24 are provided.
  • the data processing device 1203 acquires usable memory module identification data for identifying usable memory modules 1201 among the memory modules 1201 controlled by the data processing device 1202 from each of the data processing devices 1202.
  • Module identification data acquisition unit 28 an example of an identification data acquisition unit
  • an available memory module identification data output unit that outputs usable memory module identification data acquired by the usable memory module identification data acquisition unit 28 to the data processing device 11 29 (an example of an identification data output unit).
  • the format of the usable memory module identification data is not limited as long as it is data that identifies which of the plurality of memory modules 1201 included in the storage device 12 is usable. That is, the usable memory module identification data is not limited to directly identifying the usable memory module 1201.
  • the usable memory module 1201 can be identified by identifying the unusable memory module 1201. It may be data.
  • the data processing device 11 outputs the updated selection data to the storage device 12 as a response to the usable memory module identification data output from the usable memory module identification data output unit 29.
  • the selection data output from the data processing device 11 is acquired by the selection data acquisition unit 20 and stored in the memory 1204. Thereafter, the selection data acquisition unit 20 reads and acquires the updated selection data from the memory 1204.
  • the data processing device 11 is a device that generates selection data by performing processing according to a program stored in a data storage device (not shown in FIG. 1) such as an SSD (hereinafter referred to as “selection data generation device”). Function as.
  • FIG. 8 is a diagram illustrating a functional configuration of the data processing device 11 that functions as a selection data generation device.
  • the data processing device 11 includes a usable memory module identification data acquisition unit 111 that acquires usable memory module identification data output from the usable memory module identification data output unit 29 of the data processing device 1203, and usable memory module identification data.
  • a temperature estimation unit that calculates an estimated value of each temperature (for example, a convergence value) of the memory module 1201 when data is continuously written to the memory module 1201 identified by the usable memory module identification data acquired by the acquisition unit 111.
  • a selection data generating unit 113 for generating selection data indicating, a selection data output section 114 for outputting selection data is selection data generating unit 113 has generated for the data processing apparatus 1203.
  • the temperature estimation unit 112 includes, for example, a casing 125 that constitutes the storage device 12, a substrate of each memory board, a memory module 1201 disposed on each memory board, a data processing device 1202, a data processing device 1203, a memory 1204, an interface 124, heat transfer cushion material, air inside casing 125, air outside casing 125, etc., thermal conductivity, heat capacity, contact area with other components in contact, direction of heat conduction
  • the parameters such as the amount of heat generated by the memory module 1201, the data processing device 1202, the data processing device 1203, etc. in accordance with the writing of one unit amount of data are obtained, and various writing sequences (for the usable memory modules 1201) are obtained. Select the memory module 1201 as the write destination from among them, and arrange them in time series The heat distribution in the storage device 12 when the writing had data has been repeated, estimated by simulation or the like using a known thermal conduction equations.
  • the selection data generation unit 113 Based on the thermal distribution of the storage device 12 estimated by the temperature estimation unit 112 for each of various writing sequences, the selection data generation unit 113 has, for example, the lowest estimated temperature value of each of the memory modules 1201 being the lowest.
  • the selection data indicating the write sequence is generated as selection data desirable from the viewpoint of reducing the temperature rise.
  • As the selection data generated by the selection data generation unit 113 at least a memory module 1201 as a writing destination is randomly selected from the usable memory modules 1201, and sequentially compared with a writing sequence arranged in time series. A write sequence in which a representative value (for example, maximum value) of the estimated temperature of the memory module 1201 is lowered is shown.
  • FIG. 9 is a diagram exemplifying the memory module 1201 to which data is written according to the selection data generated by the data processing device 11 as described above.
  • the upper two stages of FIG. 9 show the memory module 1201 identified by the write destination memory module identifier corresponding to the sequence number “1” of the selection data (FIG. 7). That is, the memory module 1201 shown in the upper two stages of FIG. 9 receives data (each of a plurality of data blocks obtained by dividing the target of the write request) at the first write timing corresponding to the sequence number “1”. A memory module 1201 to be written is shown.
  • the lower two rows in FIG. 9 show the memory module 1201 identified by the write destination memory module identifier corresponding to the sequence number “2” of the selected data. That is, in the memory module 1201 shown in the lower two stages of FIG. 9, data is written at the second write timing (write timing next to the first write timing) corresponding to the sequence number “2”. A memory module 1201 is shown.
  • the memory modules 1201 to be written to be selected according to the selected data are selected so that the memory modules 1201 to which data are simultaneously written are not adjacent to each other.
  • the memory module 1201 that is selected according to the selected data is the memory module 1201 to which data is written at the subsequent write timing, and the memory module 1201 to which data is written at the preceding write timing. Selected not to be adjacent. This is because the selected data indicates a write sequence that reduces local high temperature in the storage device 12.
  • the memory modules 1201 As described above, according to the data storage system 1, as a result of sequentially writing data to the memory modules 1201 appropriately selected from the plurality of stacked memory modules 1201 included in the storage device 12, the memory modules The high temperature of 1201 is reduced. Further, since data is read in the order in which a series of data is written, according to the data storage system 1, the increase in the temperature of the memory module 1201 due to the heat generated when the data is read is also reduced.
  • the memory module 1201 to be written is selected from the usable memory modules 1201. Selection data is generated and used for subsequent processing. Therefore, even when some of the memory modules 1201 become unusable due to the deterioration of the storage device 12 over time, the temperature of the memory modules 1201 is unlikely to increase.
  • the storage device 12 is provided with a temperature sensor that measures the temperature at the representative point of the plurality of memory modules 1201, and selection data indicating a different writing sequence is selectively used according to the temperature measured by the temperature sensor. May be adopted.
  • first modified example a plurality of selection data as shown in FIG. 10 is stored in the memory 1204.
  • first selection data the number of memory modules 1201 to which data is simultaneously written is six
  • second selection data the number of memory modules 1201 to which data is simultaneously written is three.
  • the first selection data is used while the temperature measured by the temperature sensor is equal to or lower than the threshold value
  • the second selection data is used while the temperature measured by the temperature sensor exceeds the threshold value.
  • FIG. 11 is a diagram illustrating a functional configuration of the data processing device 1203 according to the first modification.
  • the data processing device 1203 according to the first modification includes a temperature data acquisition unit 30 that acquires temperature data indicating the temperature measured by the temperature sensor 126 (the temperature of the representative point of the memory module 1201).
  • the selection data acquisition unit 20 reads the first selection data from the memory 1204 while the temperature indicated by the temperature data acquired by the temperature data acquisition unit 30 is equal to or lower than a predetermined threshold, and the temperature data is While the indicated temperature exceeds a predetermined threshold, the second selection data is read from the memory 1204.
  • the memory module selection unit 22 sequentially selects the write destination memory modules 1201 in accordance with the selection data read by the selection data acquisition unit 20. As a result, the number of memory modules 1201 to which data is written within a predetermined time is changed according to the temperature indicated by the temperature data.
  • the number of selection data used selectively is not limited to two, but three or more selection data (the number of write destination memory modules 1201 to which data is simultaneously written is different) is used. May be.
  • FIG. 12 illustrates a memory board in which an arrangement different from the arrangement of the memory module 1201 and the like illustrated in FIG. 3 is employed.
  • the stacked memory modules 1201 face each other at positions shifted in the direction along the substrate.
  • heat generated when data is read from or written to a certain memory module 1201 is conducted to more adjacent memory modules 1201 than in the case of the arrangement shown in FIG.
  • the amount of heat received by each memory module 1201 is smaller than in the case of the arrangement shown in FIG.
  • the heat distribution in the storage device 12 may be different between the arrangement shown in FIG. 3 and the arrangement shown in FIG.
  • the selection data is generated based on the heat distribution in the memory module 1201 estimated by simulation. Instead, selection data generated based on the actually measured heat distribution may be used.
  • the selection data is generated by the data processing apparatus 11 that is a request source for reading and writing data.
  • the storage device 12 includes a data processing device such as a CPU and the data processing device generates selection data may be employed.
  • the data processing device 1203 may have the function of the data processing device 1202. Further, the data processing device 11 may have the function of the data processing device 1203.
  • the memory module selection unit 22 of the data processing device 1203 selects the write destination memory module 1201 according to the selection data.
  • the method by which the data processing device 1203 realizes selection of the write destination memory module 1201 is not limited to this.
  • the memory module is constructed by constructing a logic circuit or the like included in the data processing device 1203 to calculate a logic circuit that calculates the sequence of the memory module 1201 as the write destination according to a predetermined algorithm.
  • the selection unit 22 may be realized.
  • the selected data is read from the memory 1204 to the block RAM in the FPGA when the FPGA is started, and the FPGA configuration (logic operation of the logic cell according to the program stored in the memory 1204 is performed).
  • the memory module selection unit 22 realized by the logic cell group selects the memory module 1201 with reference to the selection data stored in the block RAM.
  • the memory module selection unit 22 may select the write destination memory module 1201 according to a predetermined algorithm in the FPGA configuration without using selection data (an example of the above-described embodiment).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

 本発明の課題は、積層された複数のメモリモジュールを備えるメモリが、データの読み書きに伴い高温となることを抑制することである。本発明の一実施形態にかかる記憶装置は積層された複数のメモリモジュールを備える。メモリコントローラとしての役割を果たすデータ処理装置は、データの書込要求を受けると、同時にデータが書き込まれるメモリモジュールが互いに隣接せず、また、一連の書込シーケンスにおいて、後続の書込タイミングでデータが書き込まれるメモリモジュールが、先行する書込タイミングでデータが書き込まれるメモリモジュールと隣接しないように、書込先のメモリモジュールを順次選択する。その結果、積層された複数のメモリモジュールにおける発熱箇所が分散され、高温化が低減される。

Description

メモリの温度上昇を抑制するための装置およびプログラム
 本発明は、データの読み書きに伴い発熱するメモリの温度上昇を抑制するための技術に関する。
 半導体メモリ等の多くのメモリは、データの読み書きに伴い発熱する。メモリが高温になり過ぎると、正常なデータの読み書きの処理が行われなくなる、いわゆる熱暴走が生じる場合がある。
 半導体メモリの熱暴走を抑制するための技術として、例えば特許文献1には、スタティック型メモリセルを有する半導体装置において、半導体装置内で計測された温度が閾値に達すると、メモリモジュールに印加される電圧を低下させることにより、半導体装置が高温となり過ぎないようにする、という技術が提案されている。
特開2010-009674号公報
 複数のメモリモジュールを積層することで、集積度の高いメモリを実現することができる。このように、複数のメモリモジュールを積層すると、各々のメモリモジュールがデータの読み書きにおいて発する熱の放熱が隣接物により妨げられるため、局所的に高温となり易い。
 上記の事情に鑑み、本発明は、積層された複数のメモリモジュールを備えるメモリが、データの読み書きに伴い高温となることを抑制することを目的とする。
 上述した課題を解決するために、本発明は、データの書込要求を取得する要求取得部と、前記書込要求に応じて、積層された複数のメモリモジュールの中から、所定の時間内にデータを書き込む2以上のメモリモジュールが互いに隣接しないように書込先のメモリモジュールを選択する選択部と、前記書込要求に応じて、前記選択部により選択されたメモリモジュールに対するデータの書き込みを指示する書込指示部とを備える装置を第1の実施態様として提案する。
 また、本発明は、上記の第1の実施態様において、前記選択部は、前記複数のメモリモジュールの中から、同時にデータを書き込む2以上のメモリモジュールが互いに隣接しないように書込先のメモリモジュールを選択する、という構成を第2の実施態様として提案する。
 また、本発明は、上記の第1または第2の実施態様において、前記選択部は、前記複数のメモリモジュールの中から、第1の書込タイミングでデータが書き込まれるべき第1のメモリモジュールを選択した場合、前記第1の書込タイミングの次の書込タイミングである第2の書込タイミングでデータが書き込まれるべき第2のメモリモジュールとして、前記第1のメモリモジュールに隣接しないメモリモジュールを選択する、という構成を第3の実施態様として提案する。
 また、本発明は、上記の第1乃至第3のいずれかの実施態様において、前記複数のメモリモジュールの中から選択された1以上のメモリモジュールを識別するデータを複数、時系列に並べたデータである選択データを取得する選択データ取得部を備え、前記選択部は前記選択データに従い、前記書込先のメモリモジュールの選択を行う、という構成を第4の実施態様として提案する。
 また、本発明は、上記の第4の実施態様において、前記複数のメモリモジュールのうち使用可能なメモリモジュールを識別する識別データを取得する識別データ取得部と、前記識別データを出力する識別データ出力部とを備え、前記選択データ取得部は、前記識別データの出力に対する応答として入力される前記選択データを取得する、という構成を第5の実施態様として提案する。
 また、本発明は、上記の第1乃至第5のいずれかの実施態様において、前記複数のメモリモジュールの代表点において計測された温度を示す温度データを取得する温度データ取得部を備え、前記選択部は、前記温度データが示す温度に応じて、前記所定の時間内にデータを書き込む2以上のメモリモジュールの数を変更する、という構成を第6の実施態様として提案する。
 また、本発明は、上記の第1乃至第6のいずれかの実施態様において、前記複数のメモリモジュールを備える、という構成を第7の実施態様として提案する。
 また、本発明は、積層された複数のメモリモジュールの中から同時にデータを書き込む1以上のメモリモジュールを選択する処理と、当該選択した1以上のメモリモジュールにデータを書き込む処理とを繰り返し実行した場合の、前記複数のメモリモジュールの各々の温度の推定値を算出する温度推定部と、前記温度推定部により算出される温度の推定値に基づき、前記同時にデータを書き込む1以上のメモリモジュールを選択する処理において、ランダムにメモリモジュールを選択する場合と比較し、前記複数のメモリモジュールの推定された温度の代表値が低くなるようなメモリモジュールの選択を行い、当該選択した1以上のメモリモジュールを識別するデータを複数、選択の順序に従い時系列に並べたデータである選択データを生成する選択データ生成部とを備える装置を第8の実施態様として提案する。
 また、本発明は、上記の第8の実施態様において、前記複数のメモリモジュールのうち使用可能なメモリモジュールを識別する識別データを取得する識別データ取得部を備え、前記選択データ生成部は、前記識別データが識別する使用可能なメモリモジュールの中から選択されたメモリモジュールを識別する選択データを生成する、という構成を第9の実施態様として提案する。
 また、本発明は、コンピュータを、積層された複数のメモリモジュールのうち使用可能なメモリモジュールを識別する識別データを取得する識別データ取得部と、前記識別データが識別する使用可能なメモリモジュールの中から同時にデータを書き込む1以上のメモリモジュールを選択する処理と、当該選択した1以上のメモリモジュールにデータを書き込む処理とを繰り返し実行した場合の、前記使用可能なメモリモジュールの各々の温度の推定値を算出する温度推定部と、前記温度推定部により推定される温度に基づき、前記同時にデータを書き込む1以上のメモリモジュールを選択する処理において、ランダムにメモリモジュールを選択する場合と比較し、前記使用可能なメモリモジュールの推定された温度の代表値が低くなるようなメモリモジュールの選択を行い、当該選択した1以上のメモリモジュールを識別するデータを複数、選択の順序に従い時系列に並べたデータである選択データを生成する選択データ生成部として機能させるためのプログラムを第10の実施態様として提案する。
 本発明によれば、同時または近いタイミングで互いに隣接している2つのメモリモジュールにデータの読み書きが行われる確率が下がるため、メモリに局所的な高温箇所が発生しにくい。
一実施形態にかかるデータ記憶システムの外観図。 一実施形態にかかる記憶装置の物理的な構成を示した図。 一実施形態にかかる記憶装置が備えるメモリモジュール等の構成部の配置を示した図。 一実施形態にかかる記憶装置の断面を示した図。 一実施形態にかかる記憶装置が備える構成部間の接続状態を示した図。 一実施形態にかかるデータ処理装置の機能構成を示した図。 一実施形態にかかる記憶装置が使用する選択データの構成を例示した図。 一実施形態にかかる選択データ生成装置の機能構成を示した図。 一実施形態にかかる記憶装置においてデータの書込先として選択されるメモリモジュールの配置を例示した図。 一変形例にかかる記憶装置が使用する選択データの構成を例示した図。 一変形例にかかるデータ処理装置の機能構成を示した図。 一変形例にかかる記憶装置が備えるメモリモジュール等の構成部の配置を示した図。 一変形例にかかる記憶装置の断面を示した図。
[第1実施形態]
 以下に本発明の一実施形態にかかるデータ記憶システム1を説明する。図1は、データ記憶システム1の外観を示した図である。データ記憶システム1は、例えばコンピュータが備えるCPU等のホストとなるデータ処理装置11と、データ処理装置11からの要求に応じて、データの読み書きを行う記憶装置12を備える。
 図2は、記憶装置12の物理的な構成を示した図である。記憶装置12は、メモリボード121、メモリボード122、およびメモリボード123の3枚のメモリボードと、これら3枚のメモリボードとデータ処理装置11との間のデータの受け渡しを行うインタフェース124と、これらの3枚のメモリボードおよびインタフェース124を収容する筐体125を備える。なお、記憶装置12が動作するために要する電力は、インタフェース124を介して図示せぬ電源装置から供給される。また、記憶装置12が備えるメモリボードの数は3枚に限れず、記憶装置12が積層された複数のメモリモジュール1201を備える限り、何枚であってもよい。
 メモリボード121、メモリボード122、およびメモリボード123の各々は、複数のメモリモジュール1201と、各々のメモリボードが有するメモリモジュール1201に対するデータの読み書きや不良のメモリモジュール1201の特定等の制御を行う2個のデータ処理装置1202を備えている。メモリモジュール1201は、例えばフラッシュメモリである。ただし、データの読み書きに伴い発熱するメモリであれば、メモリモジュール1201はいずれの方式のメモリであってもよい。また、データ処理装置1202は、例えばCPLDにより構成される。ただし、同じメモリボードが備えるメモリモジュール1201の制御を行うデータ処理装置であれば、データ処理装置1202はいずれの方式のデータ処理装置であってもよい。
 メモリボード121、メモリボード122、およびメモリボード123の各々が備える2個のデータ処理装置1202は、各々、これらのメモリボードの一方の面上に配置されているメモリモジュール1201と、他方の面上に配置されているメモリモジュール1201とを各々、制御する。なお、1枚のメモリボードが備えるデータ処理装置1202の数は2つに限られず、例えば1つのデータ処理装置1202がメモリボードのいずれかの面に配置された全てのメモリモジュール1201を制御してもよい。
 また、メモリボード122は、メモリボード121、メモリボード122、およびメモリボード123が備える複数のメモリモジュール1201に対するデータの読み書きを制御するデータ処理装置1203と、データ処理装置1203が用いるデータを記憶するメモリ1204を備える。データ処理装置1203は、データ処理装置11からの要求に応じて、メモリボード121、メモリボード122、またはメモリボード123のいずれかのデータ処理装置1202に対しデータの読み書きを指示する。いずれかのデータ処理装置1202は、データ処理装置1203の指示に従い、データの読み書きを行う。データ処理装置1203は、例えばFPGAにより構成される。ただし、複数のメモリボードが備える複数のメモリモジュール1201に対するデータの読み書きを指示するデータ処理装置であれば、データ処理装置1203はいずれの方式のデータ処理装置であってもよい。
 また、メモリ1204はEPROMである。ただし、データ処理装置1203が用いるデータを記憶するメモリであれば、メモリ1204はいずれの方式のメモリであってもよい。
 図3は、メモリボード121、メモリボード122、およびメモリボード123の各々が備えるメモリモジュール1201およびデータ処理装置1202と、メモリボード122が備えるデータ処理装置1203の配置を示した図である。以下、メモリボード121、メモリボード122、およびメモリボード123に関し、図2における上側の面をA面、下側の面をB面とする。図3に示す6つの図のうち、上段の3つは左から、メモリボード121のA面、メモリボード122のA面、メモリボード123のA面を示す。また、図3に示す6つの図のうち、下段の3つは左から、メモリボード121のB面、メモリボード122のB面、メモリボード123のB面を示す。なお、図3に示すメモリモジュール1201の数は例示であって、他の数が採用されてもよい。また、図3に示すメモリモジュール1201、データ処理装置1202、およびデータ処理装置1203の配置は例示であって、他の配置が採用されてもよい。また、図3において、メモリモジュール1201の各々に付されている番号は、各メモリボードのA面またはB面において、複数のメモリモジュール1201の各々を識別する番号である。
 図4は、筐体125内にメモリボード121、メモリボード122、メモリボード123、およびインタフェース124が収容された状態における記憶装置12の断面を示した図である。メモリボード121のB面のメモリモジュール1201とメモリボード122のA面のメモリモジュール1201との間は、例えば0.5ミリメートルの隙間が空いている。同様に、メモリボード122のB面のメモリモジュール1201とメモリボード123のA面のメモリモジュール1201との間は、例えば0.5ミリメートルの隙間が空いている。ただし、これらの隙間の大きさは0.5ミリメートルに限られない。また、これらの互いに対向するメモリモジュール1201の間に、筐体125への熱の伝導を促進する役割と緩衝材の役割を兼ねる伝熱クッション材が配置されてもよい。
 また、メモリボード121のA面のメモリモジュール1201と筐体125との間、および、メモリボード123のB面のメモリモジュール1201と筐体125との間には、筐体125への熱の伝導を促進する役割と緩衝材の役割を兼ねる伝熱クッション材(図示略)が配置されている。
 図5は、記憶装置12が備える構成部間の接続の状態を示した図である。インタフェース124は、データ処理装置11と接続されている。インタフェース124は、データ処理装置11からデータの読み書きの要求を受け取り、データの読み出しの要求を受けた場合、データ処理装置1203から要求したデータを受け取り、データ処理装置11に引き渡す。
 データ処理装置1203は、インタフェース124、メモリ1204、およびデータ処理装置1202の各々と接続されている。データ処理装置1203は、インタフェース124を介してデータ処理装置11からデータの書き込みの要求を受け取ると、当該要求に応じたデータの書込先のメモリモジュール1201を選択し、選択した書込先のメモリモジュール1201を制御するデータ処理装置1202に対し、データの書き込みを指示する。また、データ処理装置1203はインタフェース124を介してデータ処理装置11からデータの読み出しの要求を受け取ると、当該要求に応じたデータが書き込まれているメモリモジュール1201を特定し、特定したメモリモジュール1201を制御するデータ処理装置1202に対し、データの読出を指示する。データ処理装置1203は当該指示に応じてデータ処理装置1202から引き渡されるデータを、インタフェース124を介してデータ処理装置11に出力する。
 メモリ1204は、データ処理装置1203が使用する各種データを記憶する。データ処理装置1203が使用する各種データには、例えば、データの書込先のメモリモジュール1201を選択する際の規則を示す選択データ(後述)、メモリモジュール1201のうち使用可能なメモリモジュール1201を識別する識別データ(後述)等が含まれる。
 記憶装置12は、メモリボード121、メモリボード122、およびメモリボード123の各々のA面およびB面に配置される計6個のデータ処理装置1202を備える。これらの6個のデータ処理装置1202の各々は同じメモリボードの同じ面に配置されるメモリモジュール1201と接続されており、これらのメモリモジュール1201を制御する。以下、データ処理装置1202と、当該データ処理装置1202が制御するメモリモジュール1201を総称して「メモリユニット」という。従って、記憶装置12は、6個のメモリユニットを備える。ただし、記憶装置12が備えるメモリユニットの数は6個に限られない。
 図6は、データ処理装置1203の機能構成を示した図である。データ処理装置1203は、まず、メモリ1204に記憶されている選択データを読み出して取得する選択データ取得部20を備える。
 図7は、記憶装置12が使用する選択データの構成例を示した図である。選択データは、シーケンス番号欄と、書込先メモリモジュール識別子欄とを持つリストであり、シーケンス番号欄に格納されるシーケンス番号に応じた順序で、書込先メモリモジュール識別子欄に格納される書込先メモリモジュール識別子の各々により識別されるメモリモジュール1201にデータが書き込まれるべきであることを示す。
 図7の例では、書込先メモリモジュール識別子のフォーマットとして「1A-2」のようなフォーマットが採用されている。書込先メモリモジュール識別子の1桁目の数字はメモリボード121、メモリボード122、およびメモリボード123の符号の末尾1桁を示し、いずれのメモリボードに配置されているメモリモジュール1201であるかを識別する。また、書込先メモリモジュール識別子の2桁目の英字は、メモリボードのA面およびB面のいずれの面に配置されているメモリモジュール1201であるかを識別する。また、書込先メモリモジュール識別子の「-」の後に続く数字は、各メモリユニットにおけるメモリモジュール1201の識別子(図3においてメモリモジュール1201の各々に付された番号)を示す。ただし、選択データのフォーマットは図7に例示のものに限られず、メモリモジュール1201を識別可能なフォーマットであればいずれのフォーマットが採用されてもよい。
 なお、書込先メモリモジュール識別子欄に複数の書込先メモリモジュール識別子が格納されている場合、選択データは、これらの書込先メモリモジュール識別子により識別される複数のメモリモジュール1201に対し同時にデータの書き込みが行われるべきであることを示す。
 図6に戻り、データ処理装置1203の機能構成の説明を続ける。データ処理装置1203は、さらに、データ処理装置11からデータの書込要求を取得する書込要求取得部21(要求取得部の一例)と、選択データ取得部20が取得した選択データに従って複数のメモリモジュール1201の中から書込要求取得部21が取得した書込要求に応じたデータの書込先を選択するメモリモジュール選択部22(選択部の一例)と、メモリモジュール選択部22により選択されたメモリモジュール1201を制御するデータ処理装置1202に対しデータの書き込みを指示する書込指示部23を備える。データ処理装置1202は、書込指示部23からの指示に従い、データを指定されたメモリモジュール1201に書き込む。また、書込指示部23は、書込指示を行ったデータの各々に関し、データの識別子と当該データの書込先のメモリモジュール1201の識別子とを対応付けたマッピングデータをメモリ1204に記憶させる。
 また、データ処理装置1203は、データ処理装置11からデータの読出要求を取得する読出要求取得部24と、メモリ1204に記憶されているマッピングデータに従って読出要求取得部24が取得した読出要求に応じたデータが書き込まれているメモリモジュール1201を制御するデータ処理装置1202に対しデータの読出を指示する読出指示部25と、読出指示部25の指示に応じてデータ処理装置1202がメモリモジュール1201から読み出したデータを取得する読出データ取得部26と、読出データ取得部26が取得したデータを読出要求取得部24が取得した読出要求に対する応答としてデータ処理装置11に出力する読出データ出力部27を備える。
 また、データ処理装置1203は、データ処理装置1202の各々から、当該データ処理装置1202が制御するメモリモジュール1201のうち使用可能なメモリモジュール1201を識別する使用可能メモリモジュール識別データを取得する使用可能メモリモジュール識別データ取得部28(識別データ取得部の一例)と、使用可能メモリモジュール識別データ取得部28が取得した使用可能メモリモジュール識別データをデータ処理装置11に出力する使用可能メモリモジュール識別データ出力部29(識別データ出力部の一例)を備える。なお、使用可能メモリモジュール識別データは、記憶装置12が備える複数のメモリモジュール1201のいずれのメモリモジュール1201が使用可能であるかを識別するデータであればその形式は限定されない。すなわち、使用可能メモリモジュール識別データは、使用可能なメモリモジュール1201を直接識別するものに限られず、例えば、使用不可能なメモリモジュール1201を識別することにより、使用可能なメモリモジュール1201を識別可能とするデータであってもよい。
 データ処理装置11は、使用可能メモリモジュール識別データ出力部29から出力される使用可能メモリモジュール識別データに対する応答として、更新された選択データを記憶装置12に対し出力する。データ処理装置11から出力された選択データは、選択データ取得部20により取得され、メモリ1204に記憶される。その後、選択データ取得部20は更新後の選択データをメモリ1204から読み出し取得する。
 データ処理装置11は、SSD等のデータ記憶装置(図1において図示略)に記憶されているプログラムに従う処理を行うことにより、選択データの生成を行う装置(以下、「選択データ生成装置」という)として機能する。
 図8は、選択データ生成装置として機能するデータ処理装置11の機能構成を示した図である。データ処理装置11は、データ処理装置1203の使用可能メモリモジュール識別データ出力部29から出力される使用可能メモリモジュール識別データを取得する使用可能メモリモジュール識別データ取得部111と、使用可能メモリモジュール識別データ取得部111が取得した使用可能メモリモジュール識別データが識別するメモリモジュール1201に対し順次データを書き込み続けた場合におけるメモリモジュール1201の各々の温度(例えば、収束値)の推定値を算出する温度推定部112と、温度推定部112により算出されたメモリモジュール1201の各々の温度の推定値に基づきメモリモジュール1201の推定された温度の代表値(例えば、最高値)が低くなるような書込先のメモリモジュール1201のシーケンスを示す選択データを生成する選択データ生成部113と、選択データ生成部113が生成した選択データをデータ処理装置1203に対し出力する選択データ出力部114を備える。
 温度推定部112は、例えば、記憶装置12を構成する筐体125、各メモリボードの基板、各メモリボードに配置されるメモリモジュール1201、データ処理装置1202、データ処理装置1203、およびメモリ1204、インタフェース124、伝熱クッション材、筐体125の内側の空気、筐体125の外側の空気等の各々に関し、熱伝導率、熱容量、接触する他の構成部との間の接触面積、熱伝導の方向における厚さ、1単位量のデータの書き込みに伴いメモリモジュール1201、データ処理装置1202、データ処理装置1203等が発する熱量等のパラメータを取得し、様々な書込シーケンス(使用可能なメモリモジュール1201の中から書込先のメモリモジュール1201を選択し、順次、時系列に並べたもの)に従いデータの書き込みが繰り返し行われた場合の記憶装置12における熱分布を、既知の熱伝導方程式を用いたシミュレーション等により推定する。
 選択データ生成部113は、温度推定部112により様々な書込シーケンスの各々に関し推定された記憶装置12の熱分布に基づき、例えば、メモリモジュール1201の各々の温度の推定値の最高値が最も低くなる書込シーケンスを示す選択データを、高温化の低減の観点から望ましい選択データとして生成する。選択データ生成部113により生成される選択データは、少なくとも、使用可能なメモリモジュール1201の中から書込先のメモリモジュール1201をランダムに選択し、順次、時系列に並べた書込シーケンスと比較し、推定されるメモリモジュール1201の温度の代表値(例えば最高値)が低くなるような書込シーケンスを示す。
 図9は、上記のようにデータ処理装置11により生成された選択データに従うデータの書込先のメモリモジュール1201を例示した図である。図9の上の2段は、選択データ(図7)のシーケンス番号「1」に応じた書込先メモリモジュール識別子により識別されるメモリモジュール1201を示している。すなわち、図9の上の2段に示されるメモリモジュール1201は、シーケンス番号「1」に応じた第1の書込タイミングにデータ(書込要求の対象を分割した複数のデータブロックの各々)が書き込まれるべきメモリモジュール1201を示している。
 また、図9の下の2段は、選択データのシーケンス番号「2」に応じた書込先メモリモジュール識別子により識別されるメモリモジュール1201を示している。すなわち、図9の下の2段に示されるメモリモジュール1201は、シーケンス番号「2」に応じた第2の書込タイミング(第1の書込タイミングの次の書込タイミング)にデータが書き込まれるべきメモリモジュール1201を示している。
 図9に示されるように、選択データに従い選択される書込先のメモリモジュール1201は、多くの場合、同時にデータが書き込まれるメモリモジュール1201が互いに隣接しないように選択されている。また、選択データに従い選択される書込先のメモリモジュール1201は、多くの場合、後続の書込タイミングでデータが書き込まれるメモリモジュール1201は、先行する書込タイミングでデータが書き込まれるメモリモジュール1201と隣接しないように選択されている。これは、選択データが、記憶装置12において局所的な高温化を低減するような書込シーケンスを示すためである。
 上記のように、データ記憶システム1によれば、記憶装置12が備える積層された複数のメモリモジュール1201の中から適切に選択されたメモリモジュール1201に対しデータの書き込みが順次行われる結果、メモリモジュール1201の高温化が低減される。また、データの読出においては、一連のデータが書き込まれた順に読み出されるため、データ記憶システム1によれば、データの読出に伴い発生する熱によるメモリモジュール1201の高温化も低減される。
 また、データ記憶システム1によれば、いずれかのメモリモジュール1201に不良が発生し、使用不可となったような場合、使用可能なメモリモジュール1201の中から書込先のメモリモジュール1201を選択して示す選択データが生成され、その後の処理に用いられる。従って、記憶装置12の経年劣化等に伴い一部のメモリモジュール1201が使用不可となった場合でも、メモリモジュール1201の高温化が生じにくい。
[変形例]
 上述した実施形態は本発明の技術的思想の範囲内において様々に変形可能である。以下にそれらの変形の例を示す。なお、上述した実施形態および以下に示す変形例のうちの2以上が適宜組み合わせられてもよい。
(1)記憶装置12に、複数のメモリモジュール1201の代表点における温度を計測する温度センサを設け、温度センサにより計測された温度に応じて、異なる書込シーケンスを示す選択データが選択的に用いられる構成が採用されてもよい。
 この変形例(以下、「第1変形例」という)においては、メモリ1204に、図10に示すような複数の選択データを記憶させておく。図10の上側の選択データ(以下、「第1の選択データ」という)に従う場合、同時にデータが書き込まれるメモリモジュール1201の数は6個であり、図10の下側の選択データ(以下、「第2の選択データ」という)に従う場合、同時にデータが書き込まれるメモリモジュール1201の数は3個である。
 従って、例えば温度センサにより計測された温度が閾値以下である間は、第1の選択データを用い、温度センサにより計測された温度が閾値を超える間は、第2の選択データを用いるようにメモリモジュール選択部22を構成することで、メモリモジュール1201の高温化を低減することができる。
 図11は、第1変形例にかかるデータ処理装置1203の機能構成を示した図である。第1変形例にかかるデータ処理装置1203は、温度センサ126が計測した温度(メモリモジュール1201の代表点の温度)を示す温度データを取得する温度データ取得部30を備える。第1変形例において、選択データ取得部20は、温度データ取得部30が取得した温度データが示す温度が所定の閾値以下である間は、メモリ1204から第1の選択データを読み出し、温度データが示す温度が所定の閾値を超える間は、メモリ1204から第2の選択データを読み出す。メモリモジュール選択部22は、選択データ取得部20により読み出された選択データに従い書込先のメモリモジュール1201を順次、選択する。その結果、温度データが示す温度に応じて、所定の時間内にデータが書き込こまれる書込先のメモリモジュール1201の数が変更されることになる。
 なお、第1変形例において、選択的に使用される選択データの数は2つに限られず、3以上の選択データ(同時にデータを書き込む書込先のメモリモジュール1201の数が異なるもの)が用いられてもよい。
(2)記憶装置12におけるメモリモジュール1201等の構成部の配置が、熱分布のシミュレーションや実測等により、メモリモジュール1201の高熱化を低減するように設計されてもよい。例えば、図12は、図3に示したメモリモジュール1201等の配置とは異なる配置が採用されたメモリボードを例示している。図12に示した配置が採用された場合、図13に示すように、積層されるメモリモジュール1201は、互いに基板に沿った方向にずれた位置で対向することになる。その結果、あるメモリモジュール1201にデータの読み書きが行われた場合に発生する熱は、図3に示される配置による場合と比較し、より多くの隣接するメモリモジュール1201に伝導することになるが、各々のメモリモジュール1201が受ける熱量は図3に示される配置による場合と比較し少なくなる。その結果、図3に示される配置と図12に示される配置では、記憶装置12における熱分布が異なり得る。ある選択データに従いデータの書き込みが繰り返し行われた場合、より高温化が低減される配置が選択されることが望ましい。
(3)上述した実施形態において、選択データはシミュレーションにより推定されたメモリモジュール1201における熱分布に基づき生成される。これに代えて、実測された熱分布に基づき生成された選択データが用いられてもよい。
(4)上述した実施形態においては、選択データはデータの読み書きの要求元であるデータ処理装置11により生成される。これに代えて、記憶装置12がCPU等のデータ処理装置を備え、当該データ処理装置が選択データの生成を行う構成が採用されてもよい。
(5)データ処理装置1203がデータ処理装置1202の機能を兼ね備えてもよい。また、データ処理装置11がデータ処理装置1203の機能を兼ね備えてもよい。
(6)上述した実施形態においては、データ処理装置1203のメモリモジュール選択部22は、選択データに従い書込先のメモリモジュール1201の選択を行う。データ処理装置1203が書込先のメモリモジュール1201の選択を実現する方法はこれに限られない。例えば、データ処理装置1203が論理集積回路を備える場合、書込先のメモリモジュール1201のシーケンスを所定のアルゴリズムに従い算出する論理回路をデータ処理装置1203が備えるロジックセル等により構築することにより、メモリモジュール選択部22が実現されてもよい。
 従って、例えばデータ処理装置1203がFPGAである場合、選択データをFPGAの起動時にメモリ1204からFPGA内のブロックRAMに読み込み、FPGAのコンフィギュレーション(メモリ1204に記憶されているプログラムに従うロジックセルの論理演算の設定および内部配線の結線によるロジックセル間の接続)においてロジックセル群により実現されるメモリモジュール選択部22がブロックRAMに記憶されている選択データを参照してメモリモジュール1201の選択を行う構成が採用されてもよいし(上述の実施形態の一例)、選択データを用いることなく、FPGAのコンフィギュレーションにおいて所定のアルゴリズムに従い書込先のメモリモジュール1201を選択するメモリモジュール選択部22がロジックセル群により構築される構成が採用されてもよい(本変形例の一例)。
(7)上述した実施形態及び変形例において示したデータ記憶システム1の構成部の数、配置、データ等はあくまで例示であって、本発明はこれらにより限定されない。
1…データ記憶システム、11…データ処理装置、12…記憶装置、20…選択データ取得部、21…書込要求取得部、22…メモリモジュール選択部、23…書込指示部、24…読出要求取得部、25…読出指示部、26…読出データ取得部、27…読出データ出力部、28…使用可能メモリモジュール識別データ取得部、29…使用可能メモリモジュール識別データ出力部、30…温度データ取得部、111…使用可能メモリモジュール識別データ取得部、112…温度推定部、113…選択データ生成部、114…選択データ出力部、121…メモリボード、122…メモリボード、123…メモリボード、124…インタフェース、125…筐体、126…温度センサ、1201…メモリモジュール、1202…データ処理装置、1203…データ処理装置、1204…メモリ

Claims (10)

  1.  データの書込要求を取得する要求取得部と、
     前記書込要求に応じて、積層された複数のメモリモジュールの中から、所定の時間内にデータを書き込む2以上のメモリモジュールが互いに隣接しないように書込先のメモリモジュールを選択する選択部と、
     前記書込要求に応じて、前記選択部により選択されたメモリモジュールに対するデータの書き込みを指示する書込指示部と
     を備える装置。
  2.  前記選択部は、前記複数のメモリモジュールの中から、同時にデータを書き込む2以上のメモリモジュールが互いに隣接しないように書込先のメモリモジュールを選択する
     請求項1に記載の装置。
  3.  前記選択部は、前記複数のメモリモジュールの中から、第1の書込タイミングでデータが書き込まれるべき第1のメモリモジュールを選択した場合、前記第1の書込タイミングの次の書込タイミングである第2の書込タイミングでデータが書き込まれるべき第2のメモリモジュールとして、前記第1のメモリモジュールに隣接しないメモリモジュールを選択する
     請求項1または2に記載の装置。
  4.  前記複数のメモリモジュールの中から選択された1以上のメモリモジュールを識別するデータを複数、時系列に並べたデータである選択データを取得する選択データ取得部を備え、
     前記選択部は前記選択データに従い、前記書込先のメモリモジュールの選択を行う
     請求項1乃至3のいずれか1項に記載の装置。
  5.  前記複数のメモリモジュールのうち使用可能なメモリモジュールを識別する識別データを取得する識別データ取得部と、
     前記識別データを出力する識別データ出力部と
     を備え、
     前記選択データ取得部は、前記識別データの出力に対する応答として入力される前記選択データを取得する
     請求項4に記載の装置。
  6.  前記複数のメモリモジュールの代表点において計測された温度を示す温度データを取得する温度データ取得部を備え、
     前記選択部は、前記温度データが示す温度に応じて、前記所定の時間内にデータを書き込む2以上のメモリモジュールの数を変更する
     請求項1乃至5のいずれか1項に記載の装置。
  7.  前記複数のメモリモジュールを備える
     請求項1乃至6のいずれか1項に記載の装置。
  8.  積層された複数のメモリモジュールの中から同時にデータを書き込む1以上のメモリモジュールを選択する処理と、当該選択した1以上のメモリモジュールにデータを書き込む処理とを繰り返し実行した場合の、前記複数のメモリモジュールの各々の温度の推定値を算出する温度推定部と、
     前記温度推定部により算出される温度の推定値に基づき、前記同時にデータを書き込む1以上のメモリモジュールを選択する処理において、ランダムにメモリモジュールを選択する場合と比較し、前記複数のメモリモジュールの推定された温度の代表値が低くなるようなメモリモジュールの選択を行い、当該選択した1以上のメモリモジュールを識別するデータを複数、選択の順序に従い時系列に並べたデータである選択データを生成する選択データ生成部と
     を備える装置。
  9.  前記複数のメモリモジュールのうち使用可能なメモリモジュールを識別する識別データを取得する識別データ取得部を備え、
     前記選択データ生成部は、前記識別データが識別する使用可能なメモリモジュールの中から選択されたメモリモジュールを識別する選択データを生成する
     請求項8に記載の装置。
  10.  コンピュータを、
     積層された複数のメモリモジュールのうち使用可能なメモリモジュールを識別する識別データを取得する識別データ取得部と、
     前記識別データが識別する使用可能なメモリモジュールの中から同時にデータを書き込む1以上のメモリモジュールを選択する処理と、当該選択した1以上のメモリモジュールにデータを書き込む処理とを繰り返し実行した場合の、前記使用可能なメモリモジュールの各々の温度の推定値を算出する温度推定部と、
     前記温度推定部により推定される温度に基づき、前記同時にデータを書き込む1以上のメモリモジュールを選択する処理において、ランダムにメモリモジュールを選択する場合と比較し、前記使用可能なメモリモジュールの推定された温度の代表値が低くなるようなメモリモジュールの選択を行い、当該選択した1以上のメモリモジュールを識別するデータを複数、選択の順序に従い時系列に並べたデータである選択データを生成する選択データ生成部
     として機能させるためのプログラム。
PCT/JP2014/079823 2014-04-07 2014-11-11 メモリの温度上昇を抑制するための装置およびプログラム WO2015155906A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/302,092 US20170194040A1 (en) 2014-04-07 2014-11-11 Program and device for suppressing temperature rise of memory
JP2016512569A JPWO2015155906A1 (ja) 2014-04-07 2014-11-11 メモリの温度上昇を抑制するための装置およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014078713 2014-04-07
JP2014-078713 2014-04-07

Publications (1)

Publication Number Publication Date
WO2015155906A1 true WO2015155906A1 (ja) 2015-10-15

Family

ID=54287503

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/079823 WO2015155906A1 (ja) 2014-04-07 2014-11-11 メモリの温度上昇を抑制するための装置およびプログラム

Country Status (3)

Country Link
US (1) US20170194040A1 (ja)
JP (1) JPWO2015155906A1 (ja)
WO (1) WO2015155906A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10534545B2 (en) 2017-12-20 2020-01-14 International Business Machines Corporation Three-dimensional stacked memory optimizations for latency and power

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005141829A (ja) * 2003-11-06 2005-06-02 Elpida Memory Inc 積層メモリ、メモリモジュール及びメモリシステム
WO2013048518A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Dynamic operations for 3d stacked memory using thermal data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005141829A (ja) * 2003-11-06 2005-06-02 Elpida Memory Inc 積層メモリ、メモリモジュール及びメモリシステム
WO2013048518A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Dynamic operations for 3d stacked memory using thermal data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10534545B2 (en) 2017-12-20 2020-01-14 International Business Machines Corporation Three-dimensional stacked memory optimizations for latency and power

Also Published As

Publication number Publication date
US20170194040A1 (en) 2017-07-06
JPWO2015155906A1 (ja) 2017-04-13

Similar Documents

Publication Publication Date Title
Qiu et al. Low-power low-latency data allocation for hybrid scratch-pad memory
US8260928B2 (en) Methods to optimally allocating the computer server load based on the suitability of environmental conditions
US7904734B1 (en) Increasing mean time between failures for power supplies
US20120136489A1 (en) Rack server system
US11556250B2 (en) Method and apparatus for temperature-gradient aware data-placement for 3D stacked DRAMs
JP4575484B2 (ja) 記憶装置及び記憶装置の制御方法
JP6515752B2 (ja) ストレージ制御装置、制御方法、および制御プログラム
JP2010237854A (ja) 記憶装置
US20150355706A1 (en) Electronic device and method for controlling electronic device
WO2015155906A1 (ja) メモリの温度上昇を抑制するための装置およびプログラム
EP2889751B1 (en) Method and apparatus for determining redundant array of independent disks
JP2016038767A (ja) ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
KR102664765B1 (ko) 복수의 채널들의 세미-네트워크(semi-network) 토폴로지(topology)를 포함하는 메모리 시스템
JP2014059831A (ja) メモリリフレッシュ装置、情報処理システム、メモリリフレッシュ方法、および、コンピュータ・プログラム
JP6046750B2 (ja) ストレージ装置およびストレージ装置制御方法
US9940260B1 (en) System and method for controlling optimized access to memory device having three-dimensional stacked structure
CN103914401A (zh) 具有多处理器的存储设备
US11360444B2 (en) Automated power controls for cooling management
JP6237202B2 (ja) 半導体記憶装置およびその制御方法
US20140122799A1 (en) Storage device and power saving method thereof
TWI621014B (zh) 資料儲存裝置、存取系統、以及存取方法
CN103914409A (zh) 用于具有多处理器的存储设备的方法
CN203102262U (zh) 具有多处理器的存储设备
TWI332623B (en) Data processing systems and methods
TW201344413A (zh) 伺服器系統

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: 14888734

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016512569

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15302092

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 14888734

Country of ref document: EP

Kind code of ref document: A1