WO2014155593A1 - Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール - Google Patents

Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール Download PDF

Info

Publication number
WO2014155593A1
WO2014155593A1 PCT/JP2013/059155 JP2013059155W WO2014155593A1 WO 2014155593 A1 WO2014155593 A1 WO 2014155593A1 JP 2013059155 W JP2013059155 W JP 2013059155W WO 2014155593 A1 WO2014155593 A1 WO 2014155593A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
sdram
memory module
data
memory controller
Prior art date
Application number
PCT/JP2013/059155
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 JP2015507793A priority Critical patent/JP5996781B2/ja
Priority to US14/763,019 priority patent/US9569144B2/en
Priority to PCT/JP2013/059155 priority patent/WO2014155593A1/ja
Priority to CN201380069806.XA priority patent/CN105027092B/zh
Publication of WO2014155593A1 publication Critical patent/WO2014155593A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • 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/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • 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

Definitions

  • the present disclosure relates to a memory module, and is applicable to, for example, a memory module in which a nonvolatile memory and a volatile memory are mixedly mounted.
  • the SAS is a DRAM and an auxiliary storage device SSD in (Serial Attached SCSI) connection (Solid State Drive), or HDD (Hard Disk Drive) and throughput (latency) there is a difference of about 10 6.
  • PCI-SSD Peripheral Component Interconnect Express
  • SAS-SSD SAS-SSD
  • Patent Document 1 was extracted as relevant.
  • flash memory and DRAM are mounted in separate DIMMs (Dual Inline Memory Modules), and they are connected in a serial transmission system daisy chain via the serial transmission buffer elements mounted in each module.
  • FBDIMM Full Buffered DIMM
  • the memory controller transmits the serialized control signal, address signal, and write data signal to the DIMM according to the FBDIMM signal transmission protocol, and receives the serialized read data signal from the DIMM.
  • Throughput PCI-SSD is said to be improved than the throughput of the SAS-SSD, the throughput of the DRAM and PCI-SSD is a difference of 10 3.
  • Data reading throughput is a bottleneck in the computing power of information processing devices such as servers that handle big data.
  • it was considered to install an inexpensive large-capacity memory on the CPU memory bus having the largest throughput bandwidth.
  • the present inventors have found that there are the following problems.
  • a plurality of memory controllers are arranged on the surface close to the DIMM socket terminal, and a plurality of high-speed memories are arranged on the back surface thereof.
  • the plurality of nonvolatile memories are arranged on the side far from the DIMM socket terminal.
  • the CPU memory bus throughput can be improved.
  • FIG. 3 is a block diagram of an address memory controller according to an embodiment.
  • FIG. 3 is a block diagram of a data memory controller according to an embodiment.
  • FIG. 3 is a block diagram of a data memory controller according to an embodiment.
  • FIG. 3 is a block diagram of an input / output buffer unit of the data memory controller according to the embodiment.
  • FIG. It is a block diagram which shows a part of mixed memory module which concerns on an Example. It is a figure which shows the address space of the embedded memory module which concerns on an Example. It is a figure which shows components arrangement
  • FIG. It is a block diagram which shows a part of mixed memory module which concerns on an Example. It is a figure which shows the address space of the embedded memory module which concerns on an Example. It is a figure which shows components arrangement
  • FIG. 10 is a diagram illustrating a component arrangement of a mixed memory module according to Modification Example 1; It is a figure which shows components arrangement
  • FIG. It is a figure which shows the components arrangement
  • FIG. It is a figure which shows the dimension of the memory module and memory which were examined prior to this indication. It is a figure which shows the structure of the memory module which concerns on embodiment.
  • DRAM is a memory used for a main storage device, and is a clock synchronous type such as SDRAM (Synchronous DRAM), DDR-SDRAM (Double Data Rate SDRAM), DDR2-SDRAM, DDR3-SDRAM, DDR4-SDRAM, and the like. It includes DRAM (hereinafter collectively referred to as SDRAM).
  • SDRAM Synchronous DRAM
  • DDR-SDRAM Double Data Rate SDRAM
  • DDR2-SDRAM DDR3-SDRAM
  • DDR4-SDRAM DDR4-SDRAM
  • the DIMM is a memory module having a plurality of packaged memories, and is used for a main storage device (primary storage device).
  • the function, size, pin arrangement, etc. comply with the JDEC standard.
  • the memory bus is a bus connecting the CPU and the main storage device, and the data bus width is relatively wide, for example, 64 bits.
  • the I / O bus is a bus that connects a CPU to an input / output device or an auxiliary storage device (secondary storage device), and has a data bus width that is relatively narrow, for example, 8 bits.
  • the CPU includes an arithmetic unit (CPU core), a cache controller, a memory controller that controls an external memory, and the like. 1. Technologies studied prior to the present disclosure The inventors examined the mounting of SDRAM, which is a high-speed memory, and a flash memory, which is a non-volatile memory that can be increased in capacity, at a lower speed than SDRAM. There is a size restriction on the DIMM mounted on the standard 1U server. As shown in FIG.
  • the DIMM has a width of 133.35 mm and a height of 31.25 mm.
  • the size of the 64 GB NAND flash memory is 14 mm ⁇ 18 mm.
  • the size of the SDRAM is 13 ⁇ 9.3 mm. All of at least nine flash memories, nine SDRAMs, and a memory controller that controls them must be mounted on the DIMM (this DIMM is referred to as a mixed memory DIMM). Also, the bus throughput of the embedded memory DIMM needs to be approximately the same as that of a conventional SDRAM DIMM.
  • FIG. 14 is a diagram illustrating a configuration of a memory module according to an embodiment.
  • the memory module 60 includes a substrate 61, socket terminals 62, a plurality of high-speed memories 63, a plurality of nonvolatile memories 64 that are large-capacity memories having a larger storage capacity than the high-speed memories, and a plurality of controllers 65.
  • a controller 65 is mounted on the socket terminal 62 side of the first surface of the substrate 61, and a high-speed memory 63 is mounted on the second surface of the substrate 61.
  • the nonvolatile memory 64 is mounted far from the socket terminal 62. In other words, the nonvolatile memory 64 is mounted on the opposite side of the socket terminal 62 with respect to the controller 65.
  • the nonvolatile memory 64 is mounted on the opposite side of the socket terminal 62 with respect to the high-speed memory 63.
  • a server will be described as an example of an information processing apparatus.
  • a memory module with ECC will be described as an example of the memory module, but the present invention can also be applied to a memory module without ECC.
  • an SDRAM DRAM
  • the high-speed memory may be an MRAM (Magnetic Random Access Memory), an STT (Spin Transfer Torque) -RAM, a phase change memory, or the like.
  • the SDRAM is also an example of a volatile semiconductor memory that cannot retain data when the power is cut off.
  • a flash memory will be described as an example of a non-volatile memory.
  • FIG. 1 is a diagram illustrating a configuration of a server according to the embodiment.
  • the server 10 includes two CPUs 11, 12, a plurality of memory modules 13, an IOH (Input Output Hub) 14, a PCI-SSD 15, a SAS (Serial Attached SCSI) bridge 16, and a SAS-SSD / HDD 17.
  • the CPUs 11 and 12 are connected to each other via two QPI buses (QuickPath Interconnect) 19Q.
  • the CPUs 11 and 12 are each connected to a 4-channel memory bus 19M.
  • the data width of the 1-channel memory bus 19M is 8B (bytes), and ECC data is assigned to 1B (bytes).
  • Three memory modules 13 can be connected to each one-channel memory bus 19M.
  • the CPUs 11 and 12 are connected to the IOH 15 and the QPI bus 19Q, respectively.
  • the IOH 15 is connected to the PCI-SSD 15 via the PCIe bus 19P.
  • the IOH 15 is connected to the SAS bridge 16 via the PCIe bus 19P.
  • the SAS bridge 16 is connected to the SAS-SSD / HDD 17 via the SAS bus 19S. Note that the CPU 12 and the memory module connected thereto may not be provided.
  • the memory module 13 includes a memory module (SDRAM memory module) 13D in which SDRAM is mounted, and a memory module (mixed memory module) 13FD in which flash memory and SDRAM are mounted.
  • SDRAM memory module SDRAM memory module
  • a memory module mixed memory module
  • eleven memory modules 13D and one memory module 13FD are connected to the memory buses 19M of the CPUs 11 and 12, respectively.
  • the memory module 13FD is connected to the memory bus 19M, a location closest to the CPUs 11 and 12 is preferable.
  • FIG. 2 is a diagram illustrating a partial configuration of the server according to the embodiment.
  • FIG. 2A is a side view of a substrate on which a CPU and a memory module are mounted.
  • the CPU 11 is mounted on a socket 27 attached on a substrate (motherboard) 26.
  • the memory modules 13D and 13FD are mounted on a socket 28 attached on the substrate 26.
  • the CPU 12 and the memory modules 13D and 13FD are similarly mounted.
  • the CPU 11 will be described, but the description is omitted because the same applies to the CPU 12 side.
  • FIG. 2B is a block diagram of the CPU and the embedded memory module.
  • the CPU 11 includes a memory controller 24 that controls the memory modules 13D and 13FD, and the memory controller 24 is controlled by the hypervisor 25.
  • the CPU 11 includes a cache memory (not shown), and data read from the memory modules 13D and 13FD by the memory controller 24 is stored in the cache memory.
  • the embedded memory module 13FD includes a memory controller (MC) 21, an SDRAM 22, and a flash memory (FLASH) 23.
  • the capacity of the SDRAM 22 is 8 GB, for example, and the capacity of the flash memory 23 is 1 TB.
  • the memory controller 21 interfaces the memory bus 19M with the SDRAM 22 and the flash memory 23. ⁇ Outline of operation> When reading data from the flash memory 23 of the embedded memory module 13FD, first, the memory controller 21 reads data from the flash memory 23 and writes it to the SDRAM 22, and then the memory controller 21 reads data from the SDRAM 22.
  • the memory controller 21 When writing data to the flash memory 23 of the embedded memory module 13FD, first, the memory controller 21 writes data to the SDRAM 22, and then the memory controller 21 reads data from the SDRAM 22 and writes it to the flash memory 23.
  • FIG. 3A is a diagram showing a configuration of the SDRAM memory module.
  • 3A (a) is a drawing showing the front surface
  • FIG. 3A (b) is a drawing showing the back surface.
  • FIG. 3B is a diagram showing a terminal arrangement on the surface of the SDRAM memory module.
  • FIG. 3C is a diagram showing a terminal arrangement on the back surface of the SDRAM memory module.
  • FIG. 3D is a diagram showing terminal functions and the like of the SDRAM memory module.
  • the SDRAM memory module 13D uses a 240-pin RDIMM (Registered DIMM) composed of DDR3-SDRAM conforming to the JEDEC standard.
  • the RDIMM is a DIMM that receives an address signal and a control signal by an IC (Integrated Circuit) called a Registered buffer ⁇ ⁇ on the DIMM substrate, shapes and amplifies the signal, and distributes the amplified signal to each SDRAM.
  • 18 SDRAMs 24, 1 registered buffer IC 43F, and 1 SPD (Serial Presence Detect) 44 are mounted on the surface of the substrate 41 of the SDRAM memory module 13D. Further, 18 SDRAMs 24 and one registered buffer IC 43R are mounted on the back surface of the substrate 41.
  • the two SDRAMs 24 on the front surface and the two SDRAMs 24 on the back surface are for ECC data.
  • the SDRAM memory module 13D is a 32 GB RDIMM with ECC.
  • the data is 4 Gb ⁇ 64 and the ECC is 4 Gb ⁇ 8.
  • the SDRAM 24 is an 8 Gb (1 Gb ⁇ 8) DDR3-SDRAM, and is configured by mounting two 4 Gb (1 Gb ⁇ 8) DDR3-SDRAM chips in a BGA package.
  • the memory module 13D may be an LRDIMM (Load-Reduced DIMM) in which data signals are also buffered.
  • the terminal arrangement and terminal functions of the LRDIMM are the same as the terminal arrangement and terminal functions of the RDIMM.
  • FIGS. 3B and 3C the terminals 42F and 42R each have 120 terminals.
  • the function of each terminal is as shown in FIG. 3D.
  • the lowercase “x” after the uppercase symbol indicates that there are a plurality of terminals having the same function
  • “x” is a number. ing.
  • “#” indicates an active low signal.
  • FIG. 4A is a diagram illustrating an overall configuration of the embedded memory module according to the embodiment.
  • FIG. 4B is a block diagram of the address memory controller.
  • FIG. 4C is a block diagram of the data memory controller.
  • FIG. 4D shows a flash memory input / output buffer circuit.
  • FIG. 4E is a block diagram illustrating a part of the memory module according to the embodiment.
  • the embedded memory module 13FD includes an address memory controller (MCA) 21A, a data memory controller (MCD) 21D, an SDRAM 22S, and a flash memory 23F.
  • the memory controller 21 is composed of the address memory controller 21A and the data memory controller 21D.
  • Data memory controllers 21D corresponding to the number of SDRAMs 22S to be mounted are mounted on the embedded memory module 13FD, and one address memory controller 21A is mounted on the embedded memory module 13FD.
  • the number of flash memories 23F that is twice the number of SDRAMs 22S is mounted on the memory module 13FD.
  • the mixed memory module 13FD 18 flash memories 23F having a capacity of 64 GB and 9 SDRAMs 22S having a capacity of 1 GB are mounted.
  • the capacity of the flash memory 23F is 64 times the capacity of the SDRAM 22S, and is 10 times or more and less than 100 times.
  • Two of the flash memories 23F and one of the SDRAMs 22S are for storing ECC data.
  • an 8 GB SDRAM 22 and a 1 TB flash memory 23 are configured.
  • the memory module 13FD is mounted with nine data memory controllers 21D and one address memory controller 21A. Each of the data memory controller 21D and the address memory controller 21A is formed of a semiconductor chip and mounted on a BGA type package.
  • the flash memory 23F having a capacity of 64 GB is formed by stacking eight 8 GB NAND flash memory chips (NAND Flash) in one BGA type package.
  • the flash memory 23F has an interface equivalent to DDR2 (ONFI (Open NAND Flash Interface) or Toggle DDR) and has a throughput of 400 Mbps.
  • DDR2 ONFI (Open NAND Flash Interface) or Toggle DDR
  • one data memory controller 21D controls one SDRAM 22S and two flash memories 23F.
  • As the SDRAM 22S one GB or more DDR3-SDRAM chips are mounted in one BGA type package.
  • the interface of the SDRAM 22S has a throughput of 1600 Mbps.
  • the SDRAM 22S may use a DDR4-SDRAM chip instead of the DDR3-SDRAM chip.
  • the read time of the flash memory 23F is longer than the read time of the SDRAM 22S.
  • the read time of the flash memory 23F is on the order of 10 ⁇ s.
  • the read time of the SDRAM 22S is on the order of 10 ns.
  • the read time is the time from the read request (issue of the read command) to the first data read.
  • the embedded memory module 13FD includes an SPD (Serial Presence Detect) 31 and a DC-DC converter 33.
  • Each of the SPD 31 and the SPD 44 is configured by an EEPROM, and stores information related to the memory module itself (for example, information such as the type and configuration of the memory chip, the memory capacity, ECC (error correction code), and the presence / absence of parity).
  • VDDFlash 1.8V
  • the reserve pin (NC pin) of the memory module can be assigned to the power supply terminal of VDDFlash, the DC-DC converter 33 is not necessary.
  • the embedded memory module 13FD has a socket terminal for connecting to the memory bus 19M.
  • the socket terminals have the same number of terminals, the same terminal arrangement, and the same functions as the terminals 42F and 42R of the SDRAM memory module 13D (see FIGS. 3B, 3C, and 3D).
  • a circle represents a socket terminal.
  • the socket terminal includes a clock signal (Clock), an address signal (ADDR), a control signal (CTRL), a data signal (DQ, CB), a data control signal (DQS, DQS #, DM), and a power supply (VDD, VSS, VDDQ). , VREFDQ, VREFCA, VDDSPD, VDDFlash), SPD signal and the like are applied.
  • the clock signal (Clock) includes clock signals (CK, CK #) for the SDRAM 22S.
  • the address signal (ADDR) includes an address signal (A15-A0) and a bank address signal (BA2-BA0) for the SDRAM 22S.
  • the control signal (CTRL) includes a command signal (RAS #, CAS #, WE #) and a control signal (CKE, S #).
  • RAS # is a row address strobe signal
  • CAS # is a column address strobe signal
  • WE # is a write enable signal.
  • the address memory controller 21A includes a PLL 3B1, a buffer register ABF, and a selector ASLT.
  • a clock signal (Clock) on the signal line ILS1 is input to the PLL (Phase Loop Lock) circuit 3B1 via the input buffer circuit IB1.
  • the PLL circuit 3B1 outputs the clock signal (CKF) for the flash memory 23F to the signal line OSL1 via the output buffer circuit OB1, and the clock signal (CKMD) for the data memory controller 21D via the output buffer circuit OB2.
  • the clock signal (CK, CK #) for the SDRAM 22S is output to the signal line ODL3 via the output buffer circuit OB3.
  • the clock signal (Clock), the clock signals (CK, CK #), and the clock signal (CKMD) are signals having the same frequency.
  • the clock signals (CKF, CKF #) are signals having a frequency 1 ⁇ 4 that of the clock signal (Clock), the clock signal (CK, CK #), and the clock signal (CKMD).
  • a clock signal having a frequency of 1/4 is generated by a frequency divider in the PLL 3B1.
  • the address signal (ADDR) and the control signal (CTRL) on the signal line ISL2 are input to the selector ASLT via the input buffer circuit IB2, and to the address signal (ADDR) for the SDRAM 22 via the output buffer circuit OB4.
  • a control signal (CTRL) is output to the signal line OSL4.
  • a part of the address signal (ADDR) and the control signal (CTRL) are output to the signal line OSL5 via the output buffer circuit OB5 and a control signal (FCRC) of the control register FMCR described later.
  • the address signal (ADDR) and control signal (CTRL) output from the flash memory control register FMCR on the signal line ISL3 are stored in the buffer register ABF via the input buffer circuit IB3.
  • the address signal (ADDR) and control signal (CTRL) stored in the buffer register ABF are input to the selector ASLT and output to the signal line OSL4 via the output buffer circuit OB4.
  • Power supplies (VDD, VDDQ, VREFDQ, VSS) on the power supply line PL are input.
  • a circle between the signal line and the input buffer circuit or the output buffer circuit represents an external terminal of the address memory controller 21A.
  • the external terminals have the same number as the signal lines connected thereto.
  • the data memory controller 21D includes selectors DSLT1, DSLT2, and DSLT3, and a control register FMCR.
  • Data system signals (DQ (7-0) / CB (7-0), DQS, DQS #, DM) to the SDRAM 22S pass through the signal line IOSL1, the input buffer circuit IOIB1, the selector DSLT1, and the output buffer circuit IOOB2. Are output to the signal line IOSL2.
  • the signal line IOSL2 is connected to the SDRAM 22S.
  • a data signal from the SDRAM 22S is output to the signal line IOSL1 via the signal line IOSL2, the input buffer circuit IOIB2, the signal line ODSL, the selector DSLT3, and the output buffer IOOB1.
  • Information necessary for the flash memory 23F is input from a signal line transmitting the DQ (7-0) signal in the signal line IOSL1, and stored in the buffer register DBF of the control register FMCR.
  • Information necessary for the flash memory 23S includes an operation code FMOPC of the flash memory, an address FMADDR of the flash memory, an address signal (ADDR) for accessing the SDRAM 22S, and a control signal (CTRL).
  • the control register FMCR is accessed by the memory interface of the SDRAM.
  • Each of the input / output buffer units (IOB) 3C1, 3C2, 3C3, 3C4 is connected to the flash memory 23F and the signal lines IOSL3, IOSL4, IOSL5, IOSL6.
  • Each of the signal lines IOSL3, IOSL4, IOSL5, IOSL6 has 35 sets of 8 addresses / data, 2 data strobes, and 1 data mask.
  • each of the IOBs 3C3, 3C4, 3C5, and 3C6 includes output buffer registers ODBCi and OBDDi, an input buffer register IDBFi, a selector FDSLTi, an output buffer circuit IOOBi, and an input buffer circuit IOIBi.
  • i 3 to 6.
  • the output buffer registers ODBCi and OBDDi are connected to signal lines OCSL and ODSL, respectively.
  • the signal line OCSL is connected to the data buffer register DBF.
  • the signal line ODSL is connected to the input buffer circuit IOIB2.
  • the address memory controller 21A is located near the center of the memory module 13FD. It is good to arrange.
  • a portion DSF in which one data memory controller 21D, one SDRAM 22S, and two flash memories 23F are surrounded by a broken line is shown only one above and below the address memory controller 21A in FIG. 4E. For example, five are arranged above and four below. (Operation)
  • the embedded memory module 13FD operates by a so-called SDRAM interface.
  • the address memory controller 21A selects the control register FMCR provided in the data memory controller 21D or the SDRAM 22S according to the value of the address signal (ADDR) input from the outside. Any access is performed by the SDRAM interface method. By accessing the control register FMCR and writing the operation code (FMOPC) and address (FMADDR), the data in the flash memory 23F can be loaded into the SDRAM 22S, or the data in the SDRAM 22S can be stored in the flash memory 23F.
  • (1) Reading from the embedded memory module (a) Reading from the flash memory
  • the memory controller 24 inputs an address for accessing the control register FMCR to the address signal (ADDR). In addition, a write command is input to the control signals (CKE, CS #, RAS #, CAS #, WE #).
  • a load instruction code as FMOPC an address to start loading from the flash memory 23F, and a write address for writing to the SDRAM 22S are input to the data signals (DQ7 to DQ0).
  • the address memory controller 21A inputs the control signal (FCRC) to the control register FMCR via the signal line OSL5 and the input buffer circuit IB5.
  • FCRC control signal
  • the load instruction code and the load start address are read out by a control circuit (not shown) and transmitted to the output buffer register OBCCI of the input / output buffer unit (IOB) via the signal line OCSL.
  • a load instruction code and a load start address are sent to the flash memory 23F together with control signals (AL, CL, E #, R, W, RP #, DQS) generated by a control circuit (not shown). Data is read out. The read data is stored in the input buffer register IDBFi of the input / output buffer unit (IOB).
  • B) Writing from the input buffer register to the SDRAM The SDRAM write address stored in the buffer register DBF and the control signal (CTRL) generated by the control circuit (not shown) pass through the output buffer circuit OB6 to the signal line.
  • the data is output to the ISL 3 and sent to the SDRAM 22S via the address memory controller 21A as described above.
  • the data stored in the input buffer register IDBFi is output to the signal line IOSL2 via the selector DSLT2, the selector DSLT1, and the output buffer circuit IOOB2.
  • the data read from the flash memory 23F is written into the SDRAM 22S.
  • C Reading from SDRAM
  • an address for the memory controller 24 to access the SDRAM 22S to the address signal (ADDR) (the same address as the SDRAM write address) Are input to the control signals (CKE, CS #, RAS #, CAS #, WE #).
  • the address memory controller 21A accesses the SDRAM 22S and reads the data.
  • Data read from the SDRAM 22S is sent to the signal line IOSL1 via the signal line IOSL2, the input buffer circuit IOIB1, the selector DSLT3, and the output buffer circuit IOOB1.
  • (2) Writing to Embedded Memory Module (a) Writing to SDRAM The memory controller 24 inputs an address for accessing the SDRAM 22S to the address signal (ADDR). In addition, a write command is input to the control signals (CKE, CS #, RAS #, CAS #, WE #). Further, data to be written to the data signals (DQ7 to DQ0) is input.
  • the address memory controller 21A accesses the SDRAM 22S, and writes the data input to the data memory controller 21D to the SDRAM 22S via the input buffer circuit IOIB1, the selector DSLT1, and the output buffer circuit IOOB1.
  • the memory controller 24 inputs an address for accessing the control register FMCR to the address signal (ADDR).
  • a write command is input to the control signals (CKE, CS #, RAS #, CAS #, WE #).
  • an erase instruction and an erase address, a store instruction code, an address for starting storage in the flash memory 23F, and a read address for reading from the SDRAM 22S are input to the data signals (DQ7 to DQ0).
  • the address memory controller 21A inputs the control signal (FCRC) to the control register FMCR via the signal line OSL5 and the input buffer circuit IB5. Then, the erase instruction, erase address, store instruction code, store start address, and SDRAM read address are written in control register FMCR.
  • FCRC control signal
  • the SDRAM read address stored in the buffer register DBF and the control signal (CTRL) generated by the control circuit (not shown) are output to the signal line ISL3 via the output buffer circuit OB6, and the address is as described above.
  • data is read from the SDRAM 22S and stored in the output buffer register OBDDi of the input / output buffer unit (IOB) via the signal line IOSL2 and the input buffer circuit IOIB1.
  • C Writing from the output buffer register to the flash memory After that, an erase instruction code and an erase address are read by a control circuit (not shown) and input / output buffer (IOB) via the signal line OCSL. Are transmitted to the output buffer register OBCi. An erase command code and an erase address are sent to the flash memory 23F together with control signals (AL, CL, E #, R, W, RP #, DQS) generated by a control circuit (not shown) and erased. Is done.
  • FIG. 5 is a diagram showing the address space of the server 10.
  • FIG. 5 shows an application process address, an operating system (OS) page table, a physical address of a virtual machine (VM), and an address space of the physical address.
  • the hypervisor operates directly on the hardware, and all OSs operate on the hypervisor.
  • the application runs on the OS.
  • the VM is realized by the hypervisor.
  • the buffer cache address reserved by the application is assigned to an arbitrary address by the OS.
  • the flash memory in the embedded memory module 13FD is in the I / O space. Therefore, it is necessary to assign the address of data read from the flash memory in the I / O space on the physical address in the memory address space. Therefore, the buffer cache address reserved by the application is allocated to the SDRAM in the embedded memory module (DIMM) by conversion by the hypervisor. As a result, only the data transmission inside the embedded memory module is achieved, and extra data transmission to the memory bus can be prevented.
  • DIMM embedded memory module
  • the memory controller 24 initializes the SDRAM 22S by setting it in the mode register of the SDRAM 22S in addition to the above control. Further, the following control is also performed.
  • the memory controller 24 reads data from the embedded memory module 13FD, it detects and corrects an error in the read data. Based on the data from the two flash memories 23F and one SDRAM 22S storing the ECC data, the error correction circuit in the memory controller 24 detects and corrects the error.
  • the memory controller 24 checks whether the data has been correctly written. If the data has not been correctly written, the data is written to an address different from the current address. A so-called substitution process (wear leveling) is performed. Address management is also performed in which the substitute processing is performed for the defective address and the defective address.
  • FIG. 6 is a diagram illustrating a component arrangement of the memory module according to the embodiment.
  • 6A shows the front surface of the memory module
  • FIG. 6B shows the back surface of the memory module.
  • FIG. 6C shows the external dimensions of the flash memory
  • FIG. 6D shows the external dimensions of the SDRAM.
  • the DIMM 50 which is one configuration example of the mixed memory module 13FD, includes a board 51, socket terminals 52 on both sides of the board 51, one address memory controller (MCA) 21A, and 18 data memory controllers (MCD) 21D.
  • the substrate 51 has a width of 133.35 mm and a height of 31.25 mm.
  • the address memory controller 21A is arranged vertically, the data memory controller 21D is arranged horizontally, the SDRAM 22S is arranged horizontally, and the flash memory 23F is arranged vertically.
  • the external dimensions of the flash memory 23F are 14 mm ⁇ 18 mm, and the external dimensions of the SDRAM 22S are 13 mm ⁇ 9.3 mm.
  • the external dimensions of the SDRAM vary depending on the semiconductor manufacturer (semiconductor chip size, etc.), and are 12 mm ⁇ 10.5 mm, 10.5 mm ⁇ 9.0 mm, 11 ⁇ 9.9 mm, 10.6 ⁇ 9.0 mm. There is something. However, the positions where the balls are arranged are the same.
  • the external dimensions of the data memory controller 21D are the same as those of the SDRAM 22S.
  • the data memory controller 21D is disposed on the front surface of the substrate 51 on the side close to the socket terminal 52, and the SDRAM 22S is disposed on the rear surface.
  • the flash memory 23F is arranged farther from the socket terminal 52 than the data memory controller 21D and the SDRAM 22S.
  • the data memory controller 21D is disposed on the surface of the substrate 51 and between the socket terminal 52 and the flash memory 23F.
  • the SDRAM 22S is disposed on the back surface of the substrate 51 and between the socket terminal 52 and the flash memory 23F.
  • the address memory controller 21A is disposed between the data memory controller 21D.
  • FIG. 6A four data memory controllers 21D are arranged on the right side of the address memory controller 21A, and five data memory controllers 21D are arranged on the left side.
  • FIG. 6B five SDRAMs 22S are arranged on the right side and four SDRAMs 22S are arranged on the left side with reference to the back side where the address memory controller 21A is arranged.
  • the SPD 31 is disposed near the right end of the back surface of the substrate 52.
  • the mounting positions of the data memory controller 21D and the SDRAM 22S should be overlapped on the front and back.
  • the data memory controller 21D and the SDRAM 22S can be connected at a short distance, and the socket terminal 52 and the data memory controller 21D can be connected at a short distance.
  • FIG. 7 is a diagram showing a ball arrangement of the memory controller package according to the embodiment.
  • FIG. 7 is a bottom (back) view.
  • the data memory controller 21D and the SDRAM 22S are mounted in the BGA type package.
  • External terminals (bump electrodes) of the BGA type package are formed of solder balls (balls).
  • the ball pitch of the data memory controller 21D is 1 ⁇ 2 of the ball pitch of the SDRAM 22S.
  • balls 61-1 and 61-2 represented by white circles (white circles) are arranged at the same positions as the balls of the SDRAM 22S.
  • Balls 62-1 and 62-2 represented by black circles (black circles) are for connection to external terminals of the flash memory 23F, and are arranged between the white circles.
  • Balls 63-1 and 63-2 represented by circles (gray circles) hatched inside are for connection to the socket terminal 52, and are arranged between the white circles.
  • the balls represented by the white circles of the data memory controller 21D are not necessarily connected to the balls of the SDRAM 22S, but may be connected to the external terminal or the socket terminal 52 of the flash memory 23F.
  • the ball connected to the external terminal of the flash memory 23F is arranged on the upper side, and the ball connected to the socket terminal 52 is arranged on the lower side.
  • FIG. 8A is a diagram showing the ball arrangement of the SDRAM package.
  • FIG. 8A is a top (surface) view.
  • the ball is located on the back side of the page.
  • Symbols attached to the bottom of the ball represented by a white broken line are abbreviations (symbols) such as signal names inputted to and outputted from the terminals of the SDRAM 22S, and there are 78 balls.
  • FIG. 8B is a diagram showing functions of terminals of the SDRAM.
  • the column labeled “Connection CNT” indicates whether the terminal of the SDRAM 22S is connected to the address memory controller (MCA) 21A or the data memory controller (MCD) 21D.
  • MCA address memory controller
  • MCD data memory controller
  • FIG. 8A 6 balls are arranged horizontally and 13 balls are arranged vertically. Between the three rows on the left and the three rows on the right, three rows of balls are not arranged at the pitch of the balls of the SDRAM 22S. If balls are also arranged between the balls of the SDRAM 22S including three vacant rows, 17 balls in the vertical direction and 25 balls in the horizontal direction can be arranged in FIG. Since the SDRAM 22S has 78 balls, 347 balls can be allocated to the connection of the external terminal of the flash memory 23F and the socket terminal 52. However, since all 78 balls of the SDRAM 22S do not need to be connected to the data memory controller 21D, more than 347 balls can be assigned to the connection of the external terminal and the socket terminal 52 of the flash memory 23F.
  • 49 socket terminals 52 can be allocated and 298 external terminals of the flash memory 23F can be allocated.
  • the number of terminals it is not necessary to assign all of them, and for example, the terminal near the center in FIG.
  • the ball When the surface of the data memory controller 21D and the surface of the SDRAM 22S are combined, the ball is disposed at the same position, and the ball at the same position serves as a signal terminal to be connected. They are a data signal (DQ [7: 0]) and a data control signal (DQS, DQS # (/ DQS), DM). If the mounting positions of the data memory controller 21D and the SDRAM 22S are overlapped with each other, they can be connected at a short distance.
  • FIG. 9 is a diagram illustrating a signal transmission path of the embedded memory module according to the embodiment.
  • FIG. 9 is a side view of the embedded memory module 13FD.
  • double-directional arrows represent signal paths.
  • the signal path 71 is a signal path between the socket terminal 52 and the data memory controller 21D.
  • the signal path 72 is a signal path between the data memory controller 21D and the SDRAM 22S.
  • the signal paths 71 and 72 each have a short distance.
  • the signal path 73 is a signal path between the data memory controller 21D and the flash memory 23F.
  • the signal path 73 does not require high-speed transmission as compared with the signal paths 71 and 72, but requires a large number of signal lines. Therefore, it is possible to route the inside of the substrate 51 constituted by about 10 layers of multilayer wiring to some extent.
  • FIG. 10 is a diagram illustrating a component arrangement of the embedded memory module according to the first modification.
  • FIG. 10A shows the front surface of the memory module
  • FIG. 10B shows the back surface of the embedded memory module.
  • a data memory controller (MCD) 21D and an SDRAM (DRAM) 22S are alternately arranged on the front and back of the substrate 51.
  • the arrangement of the address memory controller (MCA) 21A, the flash memory (Flash) 23F, the SPD 31 and the socket terminal 52 is the same as the arrangement of the memory module 50 according to the embodiment. Since there are many wirings between the data memory controller (MCD) 21D and the flash memory (Flash) 23F, a wiring margin is created by alternating the data memory controller (MCD) 21D and the SDRAM (DRAM) 22S. Can do.
  • FIG. 11 is a diagram illustrating the component arrangement of the embedded memory module according to the second modification.
  • FIG. 11A shows the front surface of the embedded memory module
  • FIG. 11B shows the back surface of the embedded memory module.
  • the DIMM 50B according to the second modification includes five data memory controllers (MCD) 21D on the left side of the address memory controller (MCA) 21A, and four SDRAMs (DRAM) on the right side of the address memory controller (MCA) 21A. 22S is arranged.
  • An SDRAM (DRAM) 22S is arranged on the back side of each of the five data memory controllers (MCD) 21D, and a data memory controller (MCD) 21D is arranged on the back side of each of the four SDRAM (DRAM) 22S.
  • the arrangement of the address memory controller (MCA) 21A, the flash memory (Flash) 23F, the SPD 31 and the socket terminal 52 is the same as the arrangement of the memory module 50 according to the embodiment.
  • the data memory controller (MCD) 21D is not prepared without changing the terminal position of the data memory controller (MCD) 21D. And the address memory controller (MCA) 21A can be easily wired.
  • FIG. 12 is a diagram illustrating a component arrangement of the embedded memory module according to the third modification. 12A shows the front surface of the embedded memory module, and FIG. 12B shows the back surface of the embedded memory module. The DIMM 50C according to the modification 3 halves the number of mounted flash memories 23F (the storage capacity of the flash memory) with respect to the embedded memory module 50 according to the embodiment.
  • the number of SDRAMs 22S mounted (SDRAM storage capacity) can be increased. Further, when the flash memory 23F is disposed only on the back side of the substrate 51, heat from the CPU, which is a source of high heat, can be reduced with respect to the flash memory 23F.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Dram (AREA)

Abstract

 高速メモリであるDRAMとDRAMよりは低速であるが大容量化が可能な不揮発性メモリであるフラッシュメモリをDIMMに搭載する場合、CPUメモリバススループットを最大化するためには部品配置が問題である。そこで、本開示のメモリモジュール(DIMM)は、ソケット端子に近い側にメモリコントローラを、その裏面に高速メモリであるDRAMを配置する。大容量メモリであるフラッシュメモリはソケット端子から遠い側に配置する。

Description

[規則37.2に基づきISAが決定した発明の名称] SDRAMインターフェイスを有するDRAM、フラッシュメモリ混載メモリモジュール
 本開示は、メモリモジュールに関し、例えば、不揮発性メモリと揮発性メモリを混載したメモリモジュールに適用可能である。
 サーバ等の分野では、ビッグデータ時代に向け、データベース(DB)のように大容量データを高速にアクセスするニーズが増加している。DRAM(Dynamic Random Access Memory)で構成される主記憶装置の大容量化トレンドは、3次元メモリ実装技術(TSV)の遅れもあり、上記ニーズに追随できていない。また、DRAMと補助記憶装置であるSAS(Serial Attached SCSI)接続のSSD(Solid State Drive)またはHDD(Hard Disk Drive)とのスループット(レイテンシ)には10程度の差がある。
 そこで、DRAMとSAS接続のSSD(SAS-SSD)との間の応答速度を有するPCI(Peripheral Component Interconnect Express)接続のSSD(PCI-SSD)が製品化され、その市場が増加すると予想されている。
 本発明がなされた後に先行技術調査を行った結果、関連するものとして特許文献1を抽出した。特許文献1には、フラッシュメモリとDRAMを別々のDIMM(Dual Inline Memory Module)に搭載し、それらを各モジュールに搭載されたシリアル伝送用のバッファ素子を介してシリアル伝送系のデイジーチェーン様式で接続したFBDIMM(Fully Buffered DIMM)が開示されている。メモリコントローラは、FBDIMM信号伝送プロトコルに従って、シリアル化された制御信号、アドレス信号および書き込みデータ信号をDIMMに送信し、シリアル化された読み出しデータ信号をDIMMから受信する。
特表2010-524059号公報
 PCI-SSDのスループットはSAS-SSDのスループットより向上したとはいえ、DRAMとPCI-SSDとのスループットには10の差がある。ビッグデータを扱うサーバ等の情報処理装置の演算能力は、データの読み込みスループットがネックである。より性能を向上するには、最もスループット帯域が大きいCPUメモリバスに、安価な大容量メモリを搭載することを検討した。その結果、本発明者らは以下の問題があることを見出した。
 すなわち、高速メモリであるDRAMとDRAMよりは低速であるが大容量メモリであるフラッシュメモリをDIMMに搭載する場合、CPUメモリバススループットを最大化するためには搭載部品の配置が問題である。
 本開示のうち、代表的なものの概要を簡単に説明すれば、下記のとおりである。
 すなわち、メモリモジュールは、DIMM用ソケット端子に近い側の表面に複数のメモリコントローラを、その裏面に複数の高速メモリを配置する。複数の不揮発性メモリはDIMM用ソケット端子に遠い側に配置する。
 上記メモリモジュールによれば、CPUメモリバススループットを向上することができる。
実施例に係るサーバの構成を示す図である。 実施例に係るメモリモジュールのブロック図である。 SDRAMメモリモジュールの構成を示す図である。 SDRAMメモリモジュールの表面の端子配置を示す図である。 SDRAMメモリモジュールの裏面の端子配置を示す図である。 SDRAMメモリモジュールの端子の機能等を示す図である。 実施例に係る混載メモリモジュールの詳細ブロック図である。 実施例に係るアドレス用メモリコントローラのブロック図である。 実施例に係るデータ用メモリコントローラのブロック図である。 実施例に係るデータ用メモリコントローラの入出力バッファ部のブロック図である。 実施例に係る混載メモリモジュールの一部を示すブロック図である。 実施例に係る混載メモリモジュールのアドレス空間を示す図である。 実施例に係る混載メモリモジュールの部品配置を示す図である。 実施例に係る混載メモリモジュールに搭載するメモリコントローラのボール配置を示す図である。 SDRAMの端子配置を示す図である。 SDRAMの端子の機能等を示す図である。 実施例に係る混載メモリモジュールの信号伝送経路を示す図である。 変形例1に係る混載メモリモジュールの部品配置を示す図である。 変形例2に係る混載メモリモジュールの部品配置を示す図である。 変形例3に係る混載メモリモジュールの部品配置を示す図である。 本開示に先立って検討したメモリモジュールおよびメモリの寸法を示す図である。 実施の形態に係るメモリモジュールの構成を示す図である。
 以下、図面を参照して実施の形態、実施例および変形例を説明する。なお、実施の形態、実施例および変形例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
 本開示において、DRAMとは、主記憶装置に使用されるメモリで、SDRAM(Synchronous DRAM)、DDR-SDRAM(Double Data Rate SDRAM)、DDR2-SDRAM、DDR3-SDRAM、DDR4-SDRAM等のクロック同期型DRAM(以下、SDRAMと総称する。)を含むものである。DIMMとは、複数個のパッケージされたメモリを有するメモリモジュールであって、主記憶装置(1次記憶装置)に用いられるもので、機能・大きさ・ピン配置等がJDEC規格に準拠したものをいう。メモリバスとは、CPUと主記憶装置を接続するバスで、データバス幅は、例えば64ビットと比較的広いものをいう。なお、メモリバスにはCPUと主記憶装置以外の装置は接続されていない。I/Oバスとは、CPUと入出力装置や補助記憶装置(2次記憶装置)を接続するバスで、データバス幅は、例えば8ビットと比較的狭いものをいう。CPUとは、演算装置(CPUコア)とキャッシュメモリと外部メモリを制御するメモリコントローラ等を含むものである。
1.本開示に先立って検討した技術
 高速メモリであるSDRAMとSDRAMよりは低速であるが大容量化が可能な不揮発性メモリであるフラッシュメモリをDIMMに搭載することを、発明者らは検討した。標準の1Uサーバに搭載するDIMMには大きさの制約がある。図13(a)に示すように、DIMMの大きさは、幅133.35mm、高さ31.25mmである。図13(b)に示すように、64GBのNAND型フラッシュメモリの大きさは14mm×18mmである。図13(c)に示すように、SDRAMの大きさは13×9.3mmである。少なくとも9個のフラッシュメモリと9個のSDRAMとそれらを制御するメモリコントローラとの全てをDIMMに搭載する必要がある(このDIMMを混載メモリDIMMという。)。また、混載メモリDIMMのバススループットは、従来のSDRAMのDIMMと同程度にすることが必要である。
 すなわち、SDRAMのインタフェース(I/F)のスループットを最大に活用するためには、低速なフラッシュメモリのI/Fをインターリリーブにより帯域を確保する必要がある。したがって、フラッシュメモリを多数搭載する必要がある。また、SDRAMのI/Fの高速性を保つために、DIMMのソケット端子とメモリコントローラとの間の配線長、メモリコントローラとSDRAMとの間の配線長を極力短くする必要がある。
 RDIMM(Registered DIMM)、FBDIMM(Fully Buffered DIMM)、LRDIMM(Load Reduced DIMM)のように、メモリモジュールの中央に1つのバッファICや制御ICを配置する方式では、ICから離れた位置に配置されるSDRAMとICとの間のデータ線等の配線長が長くなってしまう。また、ICと多数のフラッシュメモリとの間の多くの配線をDIMM基板上引き回す必要があり配線レイアウトが困難である。
2.実施の形態
 図14は実施の形態に係るメモリモジュールの構成を示す図である。メモリモジュール60は、基板61と、ソケット端子62と、複数の高速メモリ63と、高速メモリよりも記憶容量が大きい大容量メモリである複数の不揮発性メモリ64と、複数のコントローラ65とを有する。基板61の第1面のソケット端子62側にコントローラ65を、基板61の第2面に高速メモリ63を搭載する。不揮発性メモリ64は、ソケット端子62から遠方に搭載する。言い換えると、不揮発性メモリ64は、コントローラ65に対して、ソケット端子62とは反対側に搭載する。また、不揮発性メモリ64は、高速メモリ63に対して、ソケット端子62とは反対側に搭載する。
 上記の構成により、高速伝送が必要なコントローラ65と高速メモリ63との間を短い距離で接続し、高速伝送が必要なソケット端子62とコントローラ65との間を短い距離で接続することが可能となる。
 本実施例においては、情報処理装置の一例としてサーバについて説明するが、サーバ以外の情報処理装置、例えばPC(Personal Computer)にも適用できる。また、メモリモジュールの一例としてECC付のメモリモジュールについて説明するが、ECCが付いていないメモリモジュールにも適用できる。また、高速メモリとしてSDRAM(DRAM)を例にとって説明するが、例えば、高速メモリは、MRAM(Magnetic Random Access Memory)、STT(Spin Transfer Torque)-RAM、相変化メモリ等であってもよい。なお、SDRAMは、電源が遮断したときはデータが保持できない揮発性の半導体メモリの1例でもある。不揮発性メモリとしてフラッシュメモリを例にとって説明するが、それに限定されるものではなく、電源が遮断してもデータを保持することができ、高速メモリよりも大容量なデータを格納できる半導体メモリであればよい。
<全体構成>
 図1は実施例に係るサーバの構成を示す図である。サーバ10は、2つのCPU11、12と、複数のメモリモジュール13と、IOH(Input Output Hub)14と、PCI-SSD15と、SAS(Serial Attached SCSI)ブリッジ16と、SAS-SSD/HDD17とを有する。CPU11、12は、2つのQPIバス(QuickPath Interconnect)19Qを介してお互いに接続されている。CPU11,12はそれぞれ4チャネルのメモリバス19Mと接続されている。1チャネルのメモリバス19Mのデータ幅は8B(バイト)で、それにECCデータが1B(バイト)付与されている。1チャネルのメモリバス19Mは、それぞれ3個のメモリモジュール13が接続可能とされている。CPU11,12はそれぞれIOH15とQPIバス19Qを介して接続されている。IOH15はPCIeバス19Pを介してPCI-SSD15と接続されている。また、IOH15はPCIeバス19Pを介しSASブリッジ16と接続されている。SASブリッジ16はSASバス19Sを介してSAS-SSD/HDD17と接続されている。なお、CPU12およびそれに接続されるメモリモジュールはなくてもよい。
 メモリモジュール13は、SDRAMが搭載されたメモリモジュール(SDRAMメモリモジュール)13Dと、フラシュメモリとSDRAMが搭載されたメモリモジュール(混載メモリモジュール)13FDとがある。例えば、CPU11、12のそれぞれのメモリバス19Mに11個のメモリモジュール13Dと1個のメモリモジュール13FDが接続されている。メモリモジュール13FDをメモリバス19Mに接続するときは、CPU11,12に一番近い箇所が好ましい。また、複数のメモリモジュール13FDをメモリバス19Mに接続するときは、同じチャネルのメモリバス19Mに接続しないで、お互いに異なるチャネルのメモリバス19Mに接続するのが好ましい。なお、メモリモジュール13Dおよびメモリモジュール13FDは、いずれもCPU11,12によってSDRAMのメモリインタフェースでアクセスされる。
 図2は実施例に係るサーバの一部の構成を示す図である。図2(a)はCPUとメモリモジュールが実装された基板の側面図である。CPU11は、基板(マザーボード)26上に取り付けてあるソケット27に実装されている。メモリモジュール13D,13FDは、基板26上に取り付けてあるソケット28に実装されている。CPU12とメモリモジュール13D,13FDも同様に実装されている。以下、CPU11について説明するが、CPU12側も同様であるので説明は省略する。
 図2(b)はCPUと混載メモリモジュールのブロック図である。CPU11には、メモリモジュール13D,13FDを制御するメモリコントローラ24が内蔵されており、ハイパーバイザ25によってメモリコントローラ24は制御されている。なお、CPU11には、図示していないキャッシュメモリが内蔵されており、メモリコントローラ24によって、メモリモジュール13D,13FDから読み出されたデータはキャッシュメモリに格納される。混載メモリモジュール13FDは、メモリコントローラ(MC)21とSDRAM22とフラッシュメモリ(FLASH)23とを有する。SDRAM22の容量は例えば8GBで、フラッシュメモリ23の容量は1TBである。メモリコントローラ21は、メモリバス19MとSDRAM22およびフラッシュメモリ23とのインタフェースを行う。
<動作概略>
 混載メモリモジュール13FDのフラッシュメモリ23からデータを読み出す場合は、まず、メモリコントローラ21がフラッシュメモリ23からデータを読み出してSDRAM22に書き込み、その後メモリコントローラ21がSDRAM22からデータを読み出す。
 混載メモリモジュール13FDのフラッシュメモリ23にデータを書き込む場合は、まず、メモリコントローラ21がSDRAM22にデータを書き込み、その後メモリコントローラ21がSDRAM22からデータを読み出してフラッシュメモリ23に書き込む。
 フラッシュメモリ23からデータを読出してSDRAM22に書込む経路(i)を、メモリバス19Mを介さず、SDRAM22からデータを読出す経路(ii)のみメモリバス19Mを介することで、データスループットをメモリバスの限界まで最大化することができる。
<SDRAMメモリモジュールの構成>
 図3AはSDRAMメモリモジュールの構成を示す図である。図3A(a)は表面、図3A(b)は裏面を示す図面である。図3BはSDRAMメモリモジュールの表面の端子配置を示す図である。図3CはSDRAMメモリモジュールの裏面の端子配置を示す図である。図3DはSDRAMメモリモジュールの端子機能等を示す図である。
 SDRAMメモリモジュール13Dは、JEDEC標準に準拠した、DDR3-SDRAMで構成される240ピンのRDIMM(Registered DIMM)を使用している。RDIMMは、アドレス信号と制御信号を、DIMM基板上のレジスタード・バッファ (Registered buffer) と呼ばれるIC(Integrated Circuit)で一旦受けて整形増幅してから、各SDRAMに分配するDIMMである。図3Aに示すように、SDRAMメモリモジュール13Dの基板41の表面にSDRAM24が18個、レジスタード・バッファIC43Fが1個、SPD(Serial Presence Detect)44が1個搭載されている。また、基板41の裏面にSDRAM24が18個、レジスタード・バッファIC43Rが1個搭載されている。そのうち、表面の2個のSDRAM24および裏面の2個のSDRAM24は、ECCデータ用である。すなわち、SDRAMメモリモジュール13Dは、ECC付の32GBのRDIMMである。データは4Gb×64、ECCは4Gb×8である。SDRAM24は、8Gb(1Gb×8)のDDR3-SDRAMであり、4Gb(1Gb×8)のDDR3-SDRAMのチップ2枚をBGAパッケージに実装して構成されている。メモリモジュール13Dは、データ信号もバッファされるLRDIMM(Load-Reduced DIMM)であってもよい。この場合、LRDIMMの端子配置および端子機能は、RDIMMの端子配置および端子機能と同じである。
 図3Bおよび図3Cに示すように、端子42F、42Rにはそれぞれ120個の端子がある。それぞれの端子の機能等は図3Dに示されるとおりである。ここで、図3Dにおいて、大文字の記号の後の小文字の「x」は、同一の機能の端子が複数あることを示しており、図3Bおよび図3Cでは、「x」には数字が記載されている。また、「#」はアクティブローの信号であることを示している。
<混載メモリモジュールの構成>
(全体構成)
 図4Aは実施例に係る混載メモリモジュールの全体構成を示す図である。図4Bはアドレス用メモリコントローラのブロック図である。図4Cはデータ用メモリコントローラのブロック図である。図4Dはフラシュメモリ入出力バッファ回路を示す図である。図4Eは実施例に係るメモリモジュールの一部を示すブロック図である。
 図4Aに示すように混載メモリモジュール13FDは、アドレス用メモリコントローラ(MCA)21Aとデータ用メモリコントローラ(MCD)21DとSDRAM22Sとフラッシュメモリ23Fとを有する。アドレス用メモリコントローラ21Aとデータ用メモリコントローラ21Dとでメモリコントローラ21を構成している。搭載するSDRAM22Sの個数分のデータ用メモリコントローラ21Dが混載メモリモジュール13FDに実装され、アドレス用メモリコントローラ21Aは混載メモリモジュール13FDに1つ実装される。SDRAM22Sの個数の2倍の個数のフラッシュメモリ23Fがメモリモジュール13FDに実装される。
 より具体的には、混載メモリモジュール13FDには、64GBの容量のフラッシュメモリ23Fが18個と1GBの容量のSDRAM22Sが9個実装される。フラシュメモリ23Fの容量はSDRAM22Sの容量の64倍であり、10倍以上100倍未満である。フラッシュメモリ23Fの2個およびSDRAM22Sの1個はECC用のデータを格納するためのものである。これにより、8GBのSDRAM22と1TBのフラッシュメモリ23を構成している。また、メモリモジュール13FDには、データ用メモリコントローラ21Dが9個、アドレス用メモリコントローラ21Aが1個実装される。データ用メモリコントローラ21Dとアドレス用メモリコントローラ21Aのそれぞれは、半導体チップで形成され、BGA型パッケージに実装されている。64GBの容量のフラッシュメモリ23Fは8GBのNAND型フラッシュメモリチップ(NAND Flash)が8枚積層されて1つのBGA型パッケージに実装されている。フラッシュメモリ23FはDDR2相当のインタフェース(ONFI(Open NAND Flash Interface)またはToggle DDR)で400Mbpsのスループットである。図4Aおよび図4Eに示すように、1個のデータ用メモリコントローラ21Dは、1個のSDRAM22Sと2個のフラッシュメモリ23Fを制御している。SDRAM22Sとしては、1GBの1つまたは複数のDDR3-SDRAMチップが1つのBGA型パッケージに実装されている。SDRAM22Sのインタフェースは1600Mbpsのスループットである。SDRAM22Sは、DDR3-SDRAMチップの替わりにDDR4-SDRAMチップを用いてもよい。なお、フラッシュメモリ23Fの読み出し時間は、SDRAM22Sの読み出し時間よりも大きい。フラッシュメモリ23Fの読み出し時間は10μsのオーダーである。一方、SDRAM22Sの読み出し時間は10nsのオーダーである。ここで、読み出し時間とは、読み出し要求(リードコマンドを発行して)から最初のデータが読み出されまでの時間である。
 また、混載メモリモジュール13FDは、SPD(Serial Presence Detect)31とDC-DCコンバータ33とを有する。SPD31およびSPD44は、EEPROMで構成されており、メモリモジュール自身に関する情報(例えば、メモリチップの種類や構成、メモリ容量、ECC(誤り訂正符号)やパリティの有無などの情報)が格納されている。メモリモジュールを取り付けて電源を入れると、自動的にSPD31、44内の情報を読み出して、メモリモジュールを利用するための設定が行われる。DC-DCコンバータ32はSPD31用の電源電圧(VDDSPD=3.3V)からフラッシュメモリ23F用の電源線圧(VDDFlash=1.8V)を生成する。ただし、メモリモジュールのリザーブピン(NCピン)をVDDFlashの電源端子にアサインできるときはDC-DCコンバータ33は不要となる。
 また、混載メモリモジュール13FDは、メモリバス19Mと接続するためのソケット端子を有する。ソケット端子は、SDRAMメモリモジュール13Dの端子42F、42Rと同じ端子数、同じ端子配置、同じ機能である(図3B、3C、3D参照)。図4Aにおいて○印がソケット端子を表している。ソケット端子には、クロック信号(Clock)、アドレス信号(ADDR)、制御信号(CTRL)、データ信号(DQ、CB)、データ制御信号(DQS、DQS#、DM)、電源(VDD、VSS、VDDQ,VREFDQ、VREFCA、VDDSPD、VDDFlash)、SPD信号等が印加される。クロック信号(Clock)には、SDRAM22S用のクロック信号(CK、CK#)が含まれている。アドレス信号(ADDR)には、SDRAM22S用のアドレス信号(A15―A0)およびバンクアドレス信号(BA2-BA0)が含まれている。制御信号(CTRL)には、コマンド信号(RAS#、CAS#、WE#)および制御信号(CKE、S#)が含まれている。ここで、RAS#はロウアドレスストローブ信号、CAS#はカラムアドレスストローブ信号、WE#はライトイネーブル信号である。ソケット端子からのSDRAM22Sおよびフラッシュメモリ23Fのアクセスに必要な信号は、一旦アドレス用メモリコントローラ21Aまたはデータ用メモリコントローラ21Dに入力される。
(アドレス用メモリコントローラ)
 図4Bに示すように、アドレス用メモリコントローラ21Aには、PLL3B1とバッファレジスタABFとセレクタASLTとを有する。信号線ILS1上のクロック信号(Clock)が入力バッファ回路IB1を経由してPLL(Phase Loop Lock)回路3B1に入力される。PLL回路3B1は、出力バッファ回路OB1を経由してフラッシュメモリ23F用のクロック信号(CKF)を信号線OSL1に出力し、出力バッファ回路OB2を経由してデータ用メモリコントローラ21D用のクロック信号(CKMD)を信号線OSL2に出力し、出力バッファ回路OB3を経由してSDRAM22S用のクロック信号(CK、CK#)を信号線ODL3に出力する。クロック信号(Clock)とクロック信号(CK,CK#)とクロック信号(CKMD)とは同じ周波数の信号である。クロック信号(CKF,CKF#)は、クロック信号(Clock)、クロック信号(CK,CK#)およびクロック信号(CKMD)の1/4の周波数の信号である。1/4の周波数のクロック信号は、PLL3B1内の分周器によって生成される。
 信号線ISL2上のアドレス信号(ADDR)および制御信号(CTRL)は入力バッファ回路IB2を経由して、セレクタASLTに入力され、出力バッファ回路OB4を経由して、SDRAM22用のアドレス信号(ADDR)および制御信号(CTRL)を信号線OSL4に出力する。また、アドレス信号(ADDR)および制御信号(CTRL)の一部の信号は出力バッファ回路OB5を経由して、後述する制御レジスタFMCRの制御信号(FCRC)を信号線OSL5に出力する。信号線ISL3上のフラッシュメモリ制御レジスタFMCRから出力されたアドレス信号(ADDR)および制御信号(CTRL)が入力バッファ回路IB3を経由して、バッファレジスタABFに格納される。フラッシュメモリ23FのデータをSDRAM22Sに書き込む場合やSDRAM22Sのデータをフラッシュメモリ23Fに書き込む場合に使用される。バッファレジスタABFに格納されたアドレス信号(ADDR)および制御信号(CTRL)は、セレクタASLTに入力され、出力バッファ回路OB4を経由して、信号線OSL4に出力される。
 電源線PL上の電源(VDD、VDDQ、VREFDQ、VSS)が入力される。なお、図4Bにおいて、信号線と入力バッファ回路または出力バッファ回路との間の○印はアドレス用メモリコントローラ21Aの外部端子を表している。外部端子はこれに接続される信号線と同じ個数を有している。
(データ用メモリコントローラ)
 図4Cに示すように、データ用メモリコントローラ21Dは、セレクタDSLT1,DSLT2,DSLT3と制御レジスタFMCRとを有する。SDRAM22Sへのデータ系の信号(DQ(7-0)/CB(7-0)、DQS、DQS#、DM)は信号線IOSL1、入力バッファ回路IOIB1、セレクタDSLT1、出力バッファ回路IOOB2を経由して、信号線IOSL2に出力される。信号線IOSL2はSDRAM22Sに接続されている。SDRAM22Sからのデータ系の信号は信号線IOSL2、入力バッファ回路IOIB2、信号線ODSL、セレクタDSLT3、出力バッファIOOB1を経由して、信号線IOSL1に出力される。
 フラッシュメモリ23Fに必要な情報は信号線IOSL1のうちDQ(7-0)信号を伝達する信号線から入力されて、制御レジスタFMCRのバッファレジスタDBFに格納される。フラッシュメモリ23Sに必要な情報には、フラッシュメモリのオペレーションコードFMOPC、フラッシュメモリのアドレスFMADDR、SDRAM22Sにアクセスするためのアドレス信号(ADDR)および制御信号(CTRL)が含まれる。制御レジスタFMCRはSDRAMのメモリインタフェースでアクセスされる。
 入出力バッファ部(IOB)3C1,3C2,3C3,3C4のそれぞれは、フラッシュメモリ23Fと信号線IOSL3,IOSL4,IOSL5,IOSL6と接続される。信号線IOSL3,IOSL4,IOSL5,IOSL6それぞれは、8本のアドレス/データが4組と、データストローブが2本と、データマスクが1本の計35本ある。図4Dに示すように、IOB3C3,3C4,3C5,3C6のそれぞれは、出力バッファレジスタODBCi、ODBDiと入力バッファレジスタIDBFiとセレクタFDSLTiと出力バッファ回路IOOBiと入力バッファ回路IOIBiを有する。ここで、i=3~6であれる。出力バッファレジスタODBCi、ODBDiはそれぞれ信号線OCSL,ODSLと接続されている。信号線OCSLはデータバッファレジスタDBFに接続されている。信号線ODSLは入力バッファ回路IOIB2に接続されている。
 DIMMでは中央付近にアドレス信号(ADDR)、制御信号(CTRL)およびクロック信号(Clock)のソケット端子があるので、図4Eに示すように、アドレス用メモリコントローラ21Aは、メモリモジュール13FDの中央付近に配置するのがよい。1個のデータ用メモリコントローラ21Dと1個のSDRAM22Sと2個のフラッシュメモリ23Fを破線で囲った部分DSFは、図4Eでは、アドレス用メモリコントローラ21Aの上下に1つずつしか示していないが、例えば、上に5つ、下に4つ配置される。
(動作)
 混載メモリモジュール13FDは、いわゆるSDRAMインタフェースによって動作する。アドレス用メモリコントローラ21Aは、外部から入力されたアドレス信号(ADDR)の値によって、データ用メモリコントローラ21Dに設けられた制御レジスタFMCRか、SDRAM22Sかを選択する。いずれのアクセスもSDRAMインタフェース方式によって行われる。制御レジスタFMCRにアクセスしオペレーションコード(FMOPC)およびアドレス(FMADDR)を書き込むことで、フラッシュメモリ23FのデータをSDRAM22Sにロードしたり、SDRAM22S内のデータをフラッシュメモリ23Fにストアしたりすることができる。
(1)混載メモリモジュールからの読み出し
(a)フラッシュメモリからの読み出し
 メモリコントローラ24は、アドレス信号(ADDR)に制御レジスタFMCRにアクセスするためのアドレスを入力する。また、制御信号(CKE、CS#、RAS#、CAS#、WE#)にライト命令を入力する。さらに、データ信号(DQ7-DQ0)に、FMOPCとしてロード命令コードと、フラッシュメモリ23Fからロードを開始するアドレスと、SDRAM22Sに書き込むためのライトアドレスとを入力する。そうすると、アドレス用メモリコントローラ21Aが制御信号(FCRC)を信号線OSL5、入力バッファ回路IB5を経由して、制御レジスタFMCRに入力する。そうすると、制御レジスタFMCRにはロード命令コードとロード開始アドレスとSDRAMライトアドレスが書き込まれる。
 その後、図示していない制御回路によって、ロード命令コードとロード開始アドレスとが読み出されて、信号線OCSLを経由して、入出力バッファ部(IOB)の出力バッファレジスタODBCiに伝達される。図示していない制御回路によって発生されたフラッシュメモリ23Fの制御信号(AL,CL,E#、R,W,RP#、DQS)と共にロード命令コードとロード開始アドレスとがフラッシュメモリ23Fに送られてデータが読み出される。読み出されたデータは入出力バッファ部(IOB)の入力バッファレジスタIDBFiに格納される。
(b)入力バッファレジスタからSDRAMへの書き込み
 バッファレジスタDBFに格納されているSDRAMライトアドレスおよび図示していない制御回路で発生された制御信号(CTRL)が出力バッファ回路OB6を経由して、信号線ISL3に出力され、前述のとおりアドレス用メモリコントローラ21Aを経由してSDRAM22Sに送られる。また、入力バッファレジスタIDBFiに格納されているデータがセレクタDSLT2,セレクタDSLT1および出力バッファ回路IOOB2を経由して信号線IOSL2に出力される。これによって、SDRAM22Sにフラッシュメモリ23Fから読み出されたデータが書き込まれる。
(c)SDRAMからの読み出し
 SDRAM22Sに格納された、フラッシュメモリ23Fからのデータにアクセスする場合は、メモリコントローラ24がアドレス信号(ADDR)にSDRAM22Sをアクセスするためのアドレス(SDRAMライトアドレスと同じアドレス)を、制御信号(CKE、CS#、RAS#、CAS#、WE#)にリード命令を入力する。そうすると、アドレス用メモリコントローラ21Aは、SDRAM22Sへアクセスし、データを読み出す。SDRAM22Sから読み出されたデータは信号線IOSL2、入力バッファ回路IOIB1、セレクタDSLT3、出力バッファ回路IOOB1を経由して信号線IOSL1に送られる。
(2)混載メモリモジュールへの書き込み
(a)SDRAMへの書き込み
 メモリコントローラ24は、アドレス信号(ADDR)にSDRAM22Sをアクセスするためのアドレスを入力する。また、制御信号(CKE、CS#、RAS#、CAS#、WE#)にライト命令を入力する。さらに、データ信号(DQ7-DQ0)に書き込むデータを入力する。そうすると、アドレス用メモリコントローラ21Aは、SDRAM22Sへアクセスし、データ用メモリコントローラ21Dに入力されたデータを入力バッファ回路IOIB1、セレクタDSLT1、出力バッファ回路IOOB1を経由してSDRAM22Sに書き込む。
(b)SDRAMからの読み出し
 メモリコントローラ24は、アドレス信号(ADDR)に制御レジスタFMCRにアクセスするためのアドレスを入力する。また、制御信号(CKE、CS#、RAS#、CAS#、WE#)にライト命令を入力する。さらに、データ信号(DQ7-DQ0)に、FMOPCとして消去命令および消去アドレスと、ストア命令コードおよびフラッシュメモリ23Fへストアを開始するアドレスと、SDRAM22Sから読み出すためのリードアドレスとを入力する。そうすると、アドレス用メモリコントローラ21Aが制御信号(FCRC)を信号線OSL5、入力バッファ回路IB5を経由して、制御レジスタFMCRに入力する。そうすると、制御レジスタFMCRには、消去命令および消去アドレスと、ストア命令コードおよびストア開始アドレスと、SDRAMリードアドレスが書き込まれる。
 その後、バッファレジスタDBFに格納されているSDRAMリードアドレスおよび図示していない制御回路で発生された制御信号(CTRL)が出力バッファ回路OB6を経由して、信号線ISL3に出力され、前述のとおりアドレス用メモリコントローラ21Aを経由してSDRAM22Sに送られる。そうすると、SDRAM22Sからデータが読み出され、信号線IOSL2、入力バッファ回路IOIB1を経由して、入出力バッファ部(IOB)の出力バッファレジスタODBDiに格納される。
(c)出力バッファレジスタからフラッシュメモリへの書き込み
 その後、図示していない制御回路によって、消去命令コードと消去アドレスとが読み出されて、信号線OCSLを経由して、入出力バッファ部(IOB)の出力バッファレジスタODBCiに伝達される。図示していない制御回路によって発生されたフラッシュメモリ23Fの制御信号(AL,CL,E#、R,W,RP#、DQS)と共に消去命令コードと消去アドレスとがフラッシュメモリ23Fに送られて消去される。
 その後、図示していない制御回路によって、ストア命令コードとストア開始アドレスとが読み出されて、信号線OCSLを経由して、入出力バッファ部(IOB)の出力バッファレジスタODBCiに伝達される。図示していない制御回路によって発生されたフラッシュメモリ23Fの制御信号(AL,CL,E#、R,W,RP#、DQS)と共にストア命令コードとストア開始アドレスと出力バッファレジスタODBDiに格納されているデータがフラッシュメモリ23Fに送られてデータが書き込まれる。
<CPUによる制御>
 図5は、サーバ10のアドレス空間を示した図である。アプリケーションプロセスアドレス、オペレーティングシステム(OS)ページテーブル(Page Table)、仮想機械(VM)の物理アドレス、物理アドレスのアドレス空間が図5に示されている。ハイパーバイザはハードウェア上で直接動作し、すべてのOSはそのハイパーバイザ上で動作する。アプリケーションはOS上で動作する。ハイパーバイザによってVMが実現される。アプリケーションが確保するバッファキャッシュのアドレスは、OSにより任意のアドレスに割り当てられる。
 混載メモリモジュール13FD内のフラッシュメモリはI/O空間にある。したがって、I/O空間にあるフラッシュメモリから読み出すデータのアドレスをメモリアドレス空間の物理アドレス上に割り当てる必要がある。そこで、ハイパーバイザによる変換によって、アプリケーションが確保するバッファキャッシュのアドレスを、混載メモリモジュール(DIMM)内部のSDRAMに割り付ける。これによって、混載メモリモジュール内部のデータ伝送のみとなり、メモリバスへの余分なデータ伝送を防止することができる。
 メモリコントローラ24は、上記の制御の他にSDRAM22Sのモードレジスタに設定することによるSDRAM22Sの初期化を行う。さらに、以下の制御も行う。
 フラッシュメモリ23Fは、書き換えを繰り返すことによって、信頼性が低下し、書き換え時に書いたデータが、読み出し時には異なるデータとなったり、書き換え時にデータが書き込まれなかったりすることが稀にある。メモリコントローラ24は混載メモリモジュール13FDからデータを読み出す時,読み出しデータのエラーを検出・訂正を行う。ECCデータを格納している2個のフラッシュメモリ23Fおよび1個のSDRAM22Sからのデータに基づいて、メモリコントローラ24内のエラー訂正回路でエラーの検出・訂正を行う。
 フラッシュメモリ23Fへのデータの書き換え時には、メモリコントローラ24は正しく書き込まれたかをチェックし、正しく書き込まれなかった場合は、現在のアドレスとは異なるアドレスに書き込みを行う。いわゆる、代替え処理(ウエアレベリング)を行う。不良アドレスと、不良アドレスに対して、どのアドレスに代替え処理を行ったというアドレス管理も行う。
 CPU11が混載メモリモジュール3FD内のメモリ管理を行っているので、メモリコントローラ21での遅延を最小限にすることができる。
<メモリモジュールの部品配置>
 図6は実施例に係るメモリモジュールの部品配置を示す図である。図6(a)はメモリモジュールの表面を、図6(b)はメモリモジュールの裏面を示している。図6(c)はフラッシュメモリの外形寸法、図6(d)はSDRAMの外形寸法を示している。混載メモリモジュール13FDの一構成例であるDIMM50は、基板51と基板51の両面にあるソケット端子52と1個のアドレス用メモリコントローラ(MCA)21Aと18個のデータ用メモリコントローラ(MCD)21Dと18個のSDRAM(DRAM)22Sと18個のフラシュメモリ(Flash)23Fと1個のSPD31とを有する。メモリモジュール13FDがソケット28に挿入されたとき、CPU11に近い側(面している側)を表面、遠い側(反対側)を裏面とする(以下、同じ)。ただし、表面と裏面が逆であってよい。なお、基板51の大きさは、幅133.35mm、高さ31.25mmである。
 アドレス用メモリコントローラ21Aは縦長に、データ用メモリコントローラ21Dは横長に、SDRAM22Sは横長に、フラッシュメモリ23Fは縦長に配置されている。なお、図6(c)(d)に示すとおり、フラッシュメモリ23Fの外形寸法は14mm×18mm、SDRAM22Sの外形寸法は13mm×9.3mmである。なお、SDRAMの外形寸法は、半導体メーカ(半導体チップのサイズ等)によって異なっており、12mm×10.5mm、10.5mm×9.0mm、11×9.9mm、10.6×9.0mmのものがある。ただし、ボールが配置される位置は同じである。データ用メモリコントローラ21Dの外形寸法はSDRAM22Sと同じである。
 ソケット端子52に近い側の基板51の表面にデータ用メモリコントローラ21Dを、裏面にSDRAM22Sを配置している。フラシュメモリ23Fは、データ用メモリコントローラ21DおよびSDRAM22Sよりもソケット端子52から遠方に配置している。言い換えると、データ用メモリコントローラ21Dは、基板51の表面であって、ソケット端子52とフラッシュメモリ23Fとの間に配置されている。また、SDRAM22Sは、基板51の裏面であって、ソケット端子52とフラッシュメモリ23Fとの間に配置されている。アドレス用メモリコントローラ21Aはデータ用メモリコントローラ21Dの間に配置される。
 図6(a)に示すように、アドレス用メモリコントローラ21Aの右側には4個のデータ用メモリコントローラ21Dが、左側には5個のデータ用メモリコントローラ21Dが配置されている。図6(b)に示すように、アドレス用メモリコントローラ21Aが配置されている箇所の裏面側を基準として、右側には5個のSDRAM22Sが、左側には4個のSDRAM22Sが配置されている。また、SPD31は基板52の裏面の右側端付近に配置されている。
 好ましくは、データ用メモリコントローラ21DとSDRAM22Sの実装位置は表裏で重ねるのがよい。
 上記の構成により、データ用メモリコントローラ21DとSDRAM22Sとの間を短い距離で接続し、ソケット端子52とデータ用メモリコントローラ21Dとの間を短い距離で接続することが可能となる。
 図7は実施例に係るメモリコントローラのパッケージのボール配置を示す図である。図7は下面(裏面)図である。前述したように、データ用メモリコントローラ21DおよびSDRAM22SはBGA型パッケージに実装されている。BGA型パッケージの外部端子(バンプ電極)は半田ボール(ボール)で形成されている。データ用メモリコントローラ21DのボールピッチはSDRAM22Sのボールピッチの1/2である。図7において中が白色の丸(白丸)で表されたボール61-1、61-2は、SDRAM22Sのボールと同じ位置に配置されている。また、中が黒色の丸(黒丸)で表されたボール62-1、62-2は、フラシュメモリ23Fの外部端子と接続するためのものであり、白丸のボールの間に配置されている。中がハッチングされている丸(灰丸)で表されたボール63-1,63-2はソケット端子52と接続するためのものであり、白丸のボールの間に配置されている。なお、データ用メモリコントローラ21Dの白丸で表されたボールは、必ずしもSDRAM22Sのボールと接続されず、フラシュメモリ23Fの外部端子またはソケット端子52と接続されるものもある。図7において、上側にフラシュメモリ23Fの外部端子と接続するボールを、下側にソケット端子52と接続するボールを配置している。
 図8AはSDRAMのパッケージのボール配置を示す図である。図8Aは上面(表面)図である。図8Aにおいては、ボールは紙面の裏側に位置している。白丸破線で表されたボールの下に付された記号は、SDRAM22Sの端子に入出力される信号名等の略号(記号)であり、ボールは78個ある。図8BはSDRAMの端子の機能等を示す図である。「接続CNT」と記された欄は、SDRAM22Sの端子がアドレス用メモリコントローラ(MCA)21Aとデータ用メモリコントローラ(MCD)21Dのいずれが接続されるかを示している。
 図8Aにおいて、横に6個、縦に13個のボールが配置されている。左の3列と右の3列の間には、SDRAM22Sのボールのピッチで3列のボールが配置されていない。空いている3列を含めてSDRAM22Sのボールの間にもボールを配置すると、図7において、縦に17個、横に25個、合計425個のボールを配置することができる。SDRAM22Sのボールは78個であるので、347個のボールをフラシュメモリ23Fの外部端子およびソケット端子52の接続に割り当てることができる。ただし、SDRAM22Sの78個のボールすべてが、データ用メモリコントローラ21Dと接続する必要がないので、347個よりも多くのボールをフラシュメモリ23Fの外部端子およびソケット端子52の接続に割り当てることができる。例えば、図7に示すように、ソケット端子52用に49個、フラシュメモリ23Fの外部端子用に298個、割り当てることができる。ただし、端子数によっては、すべて割り当てる必要がなく、例えば、図7において中央付近の端子を配置しなくしてもよい。
 データ用メモリコントローラ21Dのボールがある面とSDRAM22Sのボールがある面とを合わせると同じ位置にボールが配置されており、同じ位置のボールは接続されるべき信号端子となっているものがある。それらはデータ信号(DQ[7:0])およびデータ制御信号(DQS、DQS#(/DQS)、DM)である。データ用メモリコントローラ21DとSDRAM22Sの実装位置は表裏で重ねると、短い距離で接続することが可能である。
 図9は実施例に係る混載メモリモジュールの信号伝送経路を示す図である。図9は混載メモリモジュール13FDの側面図である。図9において両方向矢印は信号経路を表している。信号経路71はソケット端子52とデータ用メモリコントローラ21Dとの間の信号経路である。信号経路72はデータ用メモリコントローラ21DとSDRAM22Sとの間の信号経路である。信号経路71、72はそれぞれ短い距離となっている。
 また、信号経路73はデータ用メモリコントローラ21Dとフラシュメモリ23Fとの間の信号経路である。信号経路73は、信号経路71、72に比べて高速伝送が必要でないが信号線が多数必要である。したがって、10層程度の多層配線で構成されている基板51内をある程度引き回すことが可能である。
<変形例1>
 図10は変形例1に係る混載メモリモジュールの部品配置を示す図である。図10(a)はメモリモジュールの表面を、図10(b)は混載メモリモジュールの裏面を示している。変形例1に係るDIMM50Aは、データ用メモリコントローラ(MCD)21DとSDRAM(DRAM)22Sとを交互に基板51の表と裏に配置している。アドレス用メモリコントローラ(MCA)21Aとフラッシュメモリ(Flash)23FとSPD31とソケット端子52の配置は、実施例に係るメモリモジュール50の配置と同じである。データ用メモリコントローラ(MCD)21Dとフラッシュメモリ(Flash)23Fとの間の配線が多いので、データ用メモリコントローラ(MCD)21DとSDRAM(DRAM)22Sとを交互にすることによって配線余裕を生むことができる。
 なお、図10では、基板の表面に5個のデータ用メモリコントローラ(MCD)21Dと4個のSDRAM(DRAM)22Sが配置されているが、基板の表面に4個のデータ用メモリコントローラ(MCD)21Dと5個のSDRAM(DRAM)22Sが配置されるようにしてもよい。
<変形例2>
 図11は変形例2に係る混載メモリモジュールの部品配置を示す図である。図11(a)は混載メモリモジュールの表面を、図11(b)は混載メモリモジュールの裏面を示している。変形例2に係るDIMM50Bは、アドレス用メモリコントローラ(MCA)21Aの左側に5個のデータ用メモリコントローラ(MCD)21Dを、アドレス用メモリコントローラ(MCA)21Aの右側に4個のSDRAM(DRAM)22Sを配置している。5個のデータ用メモリコントローラ(MCD)21Dのそれぞれの裏側にはSDRAM(DRAM)22Sが、4個のSDRAM(DRAM)22Sのそれぞれの裏側にデータ用メモリコントローラ(MCD)21Dが配置されている。アドレス用メモリコントローラ(MCA)21Aとフラッシュメモリ(Flash)23FとSPD31とソケット端子52の配置は、実施例に係るメモリモジュール50の配置と同じである。データ用メモリコントローラ(MCD)21Dのアドレス端子が右側または左側に偏在しても、データ用メモリコントローラ(MCD)21Dの端子位置を変更したものを用意することなく、データ用メモリコントローラ(MCD)21Dとアドレス用メモリコントローラ(MCA)21Aとの間を容易に配線することができる。
 なお、図11では、基板の表面に5個のデータ用メモリコントローラ(MCD)21Dと4個のSDRAM(DRAM)22Sが配置されているが、基板の表面に4個のデータ用メモリコントローラ(MCD)21Dと5個のSDRAM(DRAM)22Sが配置されるようにしてもよい。
<変形例3>
 図12は変形例3に係る混載メモリモジュールの部品配置を示す図である。図12(a)は混載メモリモジュールの表面を、図12(b)は混載メモリモジュールの裏面を示している。変形例3に係るDIMM50Cは実施例に係る混載メモリモジュール50に対してフラッシュメモリ23Fの搭載個数(フラッシュメモリの記憶容量)を半分にしている。フラッシュメモリの搭載個数を半分にすることによりSDRAM22Sの搭載個数(SDRAMの記憶容量)を増やすことができる。また、フラシュメモリ23Fを基板51の裏側にのみ配置したときは、フラシュメモリ23Fに対して、高熱の発生源であるCPUからの熱を軽減することができる。
 以上、本発明者によってなされた発明を実施の形態、実施例および変形例に基づき具体的に説明したが、本発明は、上記実施の形態、実施例および変形例に限定されるものではなく、種々変更可能であることはいうまでもない。
60…メモリモジュール
61…基板
62…ソケット端子
63…高速メモリ
64…不揮発性メモリ
65…コントローラ

Claims (15)

  1.  第1辺と第1辺に対向する第2辺とを有する基板と、
     前記基板の前記第1辺側の表面および裏面に配置される複数の外部端子と、
     第1のメモリコントローラと、
     高速メモリと、
     不揮発性メモリと、
    を有し、
     前記第1のコントローラと前記高速メモリとは、前記基板に対してそれぞれ反対側に配置され、
     前記不揮発性メモリは、前記第1のメモリコントローラまたは前記高速メモリよりも前記第2辺に近い位置に配置されるメモリモジュール。
  2.  請求項1のメモリモジュールにおいて、
     前記第1のメモリコントローラの真裏に前記高速メモリが配置される。
  3.  請求項2のメモリモジュールにおいて、
     前記第1のメモリコントローラと前記高速メモリとのそれぞれの裏面に複数の端子を有し、前記第1のメモリコントローラの裏面と前記高速メモリの裏面とを合わせると同じ位置に前記複数の端子が配置されており、同じ位置の端子は同じ機能の端子となっているものがある。
  4.  請求項3のメモリモジュールにおいて、
     前記第1のメモリコントローラの端子ピッチは前記高速メモリの端子ピッチの半分になっている。
  5.  請求項4のメモリモジュールにおいて、
     前記複数の端子のそれぞれはボールである。
  6.  請求項5のメモリモジュールにおいて、
     前記不揮発性メモリは、前記基板の両面に配置されている。
  7.  請求項1のメモリモジュールにおいて、
     前記第1のメモリコントローラと前記高速メモリと前記不揮発性メモリとは、それぞれ複数有し、前記第1のメモリコントローラの個数と前記高速メモリの個数とは同じである。
  8.  請求項7のメモリモジュールにおいて、
     前記高速メモリおよび前記第1のコントローラの個数はそれぞれ9個である。
  9.  請求項8のメモリモジュールは、さらに
     第2のメモリコントローラを有し、
     前記第1のコントローラの5個が前記第1の辺に沿って配置される第1群と、前記第1のコントローラの4個が前記第1の辺に沿って配置される第2群とを有し、
    前記第2のメモリコントローラは前記第1群と前記第2群との間に配置される。
  10. 請求項9のメモリモジュールにおいて、
     前記不揮発性メモリは、前記基板の両面に配置されている。
  11.  第1面と第1面とは反対の面である第2面とを有する基板と、
     前記基板の一端に配置され、前記基板の前記第1面および第2面に配置される外部接続端子と、
     前記基板の前記第1面に配置される複数の第1のメモリコントローラと、
     前記基板の前記第2面に配置される複数の高速メモリと、
     複数の不揮発性メモリと、
    を有し、
     前記複数の不揮発性メモリは、前記端子に対し前記複数の第1のメモリコントローラまたは前記複数の高速メモリよりも遠い位置に配置されるメモリモジュール。
  12.  請求項11のメモリモジュールにおいて、
     前記複数の第1のメモリコントローラの真裏に前記複数の高速メモリが配置される。
  13.  請求項12のメモリモジュールにおいて、
     前記第1のメモリコントローラと前記高速メモリとのそれぞれの裏面に複数の端子を有し、前記第1のメモリコントローラの裏面と前記高速メモリの裏面とを合わせると同じ位置に前記複数の端子が配置されており、同じ位置の端子は同じ機能の端子となっているものがある。
  14.  請求項13のメモリモジュールにおいて、
     前記第1のメモリコントローラの端子ピッチは前記高速メモリの端子ピッチの半分になっている。
  15.  請求項14のメモリモジュールにおいて、
     前記不揮発性メモリは、前記基板の両面に配置されている。
PCT/JP2013/059155 2013-03-27 2013-03-27 Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール WO2014155593A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015507793A JP5996781B2 (ja) 2013-03-27 2013-03-27 Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール
US14/763,019 US9569144B2 (en) 2013-03-27 2013-03-27 DRAM with SDRAM interface, and hybrid flash memory module
PCT/JP2013/059155 WO2014155593A1 (ja) 2013-03-27 2013-03-27 Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール
CN201380069806.XA CN105027092B (zh) 2013-03-27 2013-03-27 具有sdram接口的dram、混合闪存存储器模块

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/059155 WO2014155593A1 (ja) 2013-03-27 2013-03-27 Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール

Publications (1)

Publication Number Publication Date
WO2014155593A1 true WO2014155593A1 (ja) 2014-10-02

Family

ID=51622669

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/059155 WO2014155593A1 (ja) 2013-03-27 2013-03-27 Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール

Country Status (4)

Country Link
US (1) US9569144B2 (ja)
JP (1) JP5996781B2 (ja)
CN (1) CN105027092B (ja)
WO (1) WO2014155593A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016170696A (ja) * 2015-03-13 2016-09-23 株式会社東芝 メモリコントローラ、記憶装置、データ転送システム、データ転送方法、及びデータ転送プログラム
JP2017157217A (ja) * 2016-03-03 2017-09-07 三星電子株式会社Samsung Electronics Co.,Ltd. メモリモジュール、メモリシステム、及びその方法
JP2017220237A (ja) * 2016-06-08 2017-12-14 三星電子株式会社Samsung Electronics Co.,Ltd. メモリモジュール、これを含むシステム及びその動作方法
JP2019153118A (ja) * 2018-03-05 2019-09-12 東芝情報システム株式会社 評価解析対象メモリ装置及びメモリ評価解析システム
US11294571B2 (en) 2016-03-03 2022-04-05 Samsung Electronics Co., Ltd. Coordinated in-module RAS features for synchronous DDR compatible memory
US12032828B2 (en) 2022-04-04 2024-07-09 Samsung Electronics Co., Ltd. Coordinated in-module RAS features for synchronous DDR compatible memory

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150261446A1 (en) * 2014-03-12 2015-09-17 Futurewei Technologies, Inc. Ddr4-onfi ssd 1-to-n bus adaptation and expansion controller
US9832876B2 (en) * 2014-12-18 2017-11-28 Intel Corporation CPU package substrates with removable memory mechanical interfaces
US9904490B2 (en) * 2015-06-26 2018-02-27 Toshiba Memory Corporation Solid-state mass storage device and method for persisting volatile data to non-volatile media
JP6543129B2 (ja) * 2015-07-29 2019-07-10 ルネサスエレクトロニクス株式会社 電子装置
KR102430561B1 (ko) * 2015-09-11 2022-08-09 삼성전자주식회사 듀얼 포트 디램을 포함하는 메모리 모듈
KR20180078512A (ko) * 2016-12-30 2018-07-10 삼성전자주식회사 반도체 장치
US10949117B2 (en) * 2018-09-24 2021-03-16 Micron Technology, Inc. Direct data transfer in memory and between devices of a memory module
US11069391B2 (en) 2018-11-30 2021-07-20 Hefei Reliance Memory Limited Dual-precision analog memory cell and array
CN109634785A (zh) * 2018-12-29 2019-04-16 西安紫光国芯半导体有限公司 一种兼容nvdimm-p的nvdimm-n装置和方法
US11983059B2 (en) * 2020-12-03 2024-05-14 Micron Technology, Inc. Memory expansion card

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366429A (ja) * 2001-06-11 2002-12-20 Hitachi Ltd 半導体記憶装置
JP2009526323A (ja) * 2006-02-09 2009-07-16 メタラム インコーポレイテッド メモリ回路システム及び方法
JP2009540431A (ja) * 2006-06-07 2009-11-19 マイクロソフト コーポレーション 1つのインターフェースを有するハイブリッド・メモリ・デバイス
US20100095048A1 (en) * 2008-10-10 2010-04-15 Andreas Bechtolsheim Self-contained densely packed solid-state storage subsystem
US20100142243A1 (en) * 2008-12-08 2010-06-10 Xilinx, Inc. Data storage system with removable memory module having parallel channels of dram memory and flash memory

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006041A (ja) * 2001-06-20 2003-01-10 Hitachi Ltd 半導体装置
JP2005322109A (ja) * 2004-05-11 2005-11-17 Renesas Technology Corp Icカードモジュール
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US20060294295A1 (en) * 2005-06-24 2006-12-28 Yukio Fukuzo DRAM chip device well-communicated with flash memory chip and multi-chip package comprising such a device
EP2132635B1 (en) 2007-03-30 2017-08-16 Rambus Inc. System including hierarchical memory modules having different types of integrated circuit memory devices
KR20100105147A (ko) * 2009-03-20 2010-09-29 삼성전자주식회사 멀티 칩 패키지 및 관련된 장치
CN102053886A (zh) * 2009-10-30 2011-05-11 英业达股份有限公司 非统一存储器存取环境下的存储器检测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002366429A (ja) * 2001-06-11 2002-12-20 Hitachi Ltd 半導体記憶装置
JP2009526323A (ja) * 2006-02-09 2009-07-16 メタラム インコーポレイテッド メモリ回路システム及び方法
JP2009540431A (ja) * 2006-06-07 2009-11-19 マイクロソフト コーポレーション 1つのインターフェースを有するハイブリッド・メモリ・デバイス
US20100095048A1 (en) * 2008-10-10 2010-04-15 Andreas Bechtolsheim Self-contained densely packed solid-state storage subsystem
US20100142243A1 (en) * 2008-12-08 2010-06-10 Xilinx, Inc. Data storage system with removable memory module having parallel channels of dram memory and flash memory

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016170696A (ja) * 2015-03-13 2016-09-23 株式会社東芝 メモリコントローラ、記憶装置、データ転送システム、データ転送方法、及びデータ転送プログラム
JP2017157217A (ja) * 2016-03-03 2017-09-07 三星電子株式会社Samsung Electronics Co.,Ltd. メモリモジュール、メモリシステム、及びその方法
US11294571B2 (en) 2016-03-03 2022-04-05 Samsung Electronics Co., Ltd. Coordinated in-module RAS features for synchronous DDR compatible memory
US11397698B2 (en) 2016-03-03 2022-07-26 Samsung Electronics Co., Ltd. Asynchronous communication protocol compatible with synchronous DDR protocol
JP2017220237A (ja) * 2016-06-08 2017-12-14 三星電子株式会社Samsung Electronics Co.,Ltd. メモリモジュール、これを含むシステム及びその動作方法
JP2019153118A (ja) * 2018-03-05 2019-09-12 東芝情報システム株式会社 評価解析対象メモリ装置及びメモリ評価解析システム
US12032828B2 (en) 2022-04-04 2024-07-09 Samsung Electronics Co., Ltd. Coordinated in-module RAS features for synchronous DDR compatible memory

Also Published As

Publication number Publication date
US9569144B2 (en) 2017-02-14
JPWO2014155593A1 (ja) 2017-02-16
CN105027092B (zh) 2018-01-30
CN105027092A (zh) 2015-11-04
JP5996781B2 (ja) 2016-09-21
US20150355846A1 (en) 2015-12-10

Similar Documents

Publication Publication Date Title
JP5996781B2 (ja) Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール
US12014078B2 (en) Apparatus and architecture of non-volatile memory module in parallel configuration
US8566556B2 (en) Memory module with memory stack and interface with enhanced capabilities
JP5205280B2 (ja) メモリ回路システム及び方法
US8335894B1 (en) Configurable memory system with interface circuit
US10592445B2 (en) Techniques to access or operate a dual in-line memory module via multiple data channels
US8817549B2 (en) Integrated circuit memory device
US9858181B2 (en) Memory module having different types of memory mounted together thereon, and information processing device having memory module mounted therein
US20100321973A1 (en) Memory module, system and method of making same
US20060129755A1 (en) Memory rank decoder for a Multi-Rank Dual Inline Memory Module (DIMM)
JP5430880B2 (ja) メモリモジュール及びその使用方法、並びにメモリシステム
US20180285252A1 (en) Optimized memory access bandwidth devices, systems, and methods for processing low spatial locality data
JP2011081883A (ja) 半導体装置及びこれを備える情報処理システム
WO2014155592A1 (ja) Sdramインターフェイスを有するdram、フラッシュメモリ混載メモリモジュール
US11928363B2 (en) Operating method of host device and storage device and storage device
JP2018120589A (ja) 揮発性メモリキャッシュのデータを代替する方法及びそのためのキャッシュ管理部
US9336834B2 (en) Offsetting clock package pins in a clamshell topology to improve signal integrity
US20170147230A1 (en) Memory device and memory system having heterogeneous memories
US20220012126A1 (en) Translation cache and configurable ecc memory for reducing ecc memory overhead
CN114610665A (zh) 存储器扩展卡
KR20210089804A (ko) 메모리 모듈 및 이를 포함하는 메모리 시스템
JP2010123203A (ja) 半導体装置及びモジュールデバイス
US20230215493A1 (en) Cross dram dimm sub-channel pairing
US20230013181A1 (en) Method to implement half width modes in dram and doubling of bank resources

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201380069806.X

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13880664

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015507793

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14763019

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13880664

Country of ref document: EP

Kind code of ref document: A1