JP5703967B2 - メモリシステム、メモリ制御方法及びメモリ制御プログラム - Google Patents

メモリシステム、メモリ制御方法及びメモリ制御プログラム Download PDF

Info

Publication number
JP5703967B2
JP5703967B2 JP2011121340A JP2011121340A JP5703967B2 JP 5703967 B2 JP5703967 B2 JP 5703967B2 JP 2011121340 A JP2011121340 A JP 2011121340A JP 2011121340 A JP2011121340 A JP 2011121340A JP 5703967 B2 JP5703967 B2 JP 5703967B2
Authority
JP
Japan
Prior art keywords
dimm
memory
jedec
spd
compliant
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011121340A
Other languages
English (en)
Other versions
JP2012248134A (ja
Inventor
大輔 小屋
大輔 小屋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2011121340A priority Critical patent/JP5703967B2/ja
Priority to US13/467,306 priority patent/US8938600B2/en
Publication of JP2012248134A publication Critical patent/JP2012248134A/ja
Application granted granted Critical
Publication of JP5703967B2 publication Critical patent/JP5703967B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Description

本発明は、メモリシステム、メモリ制御方法及びメモリ制御プログラムに関し、詳細には、高速メモリを制御するメモリシステム、メモリ制御方法及びメモリ制御プログラムに関する。
近年、プリンタ装置、複合装置、スキャナ装置等の画像処理装置及びコンピュータ等の情報処理装置においては、処理の高速化及びメモリの大容量化が進み、高速で大容量の揮発性メモリとして、DDR3−SDRAM(Double-Data-Rate3 Synchronous Dynamic Random Access Memory)が用いられることが多くなってきている。DDR3−SDRAMは、DDR−SDRAMから派生して、低電圧・高クロック動作化されることで、DDR2−SDRAM、DDR3−SDRAMへと進化してきたものであり、SDRAMは、システムバスに同期して動作するDRAM(Dynamic Random Access Memory)である。
DDR3−SDRAMは、現在、主に、1Gbと2Gbが販売されているが、DIMM(Dual Inline Memory Module)として搭載されており、DIMM規格は、JEDEC(Joint Electron Device Engineering Council)で標準化が行われていて、搭載されるSRAMチップの種類毎に多種の規格が存在する。DRAMの種類としては、例えば、SDR−SRAM(Single Data Rate SDRAM)、DDR1−SRAM、DDR2−SRAM及びDDR3−SRAM等があり、JEDECで規定されているDDR3のDIMMに対してより小さなサイズでモジュールを提供するための規格であるSO−DIMM(small outline dual in-line memory module)としては、以下のようなものがある。これらは、全て64bit用のDIMMとして定義されており、基本的に、DIMMインターフェイスは、アドレス、データ、制御信号からなっている。
Rawcard-A(2Rank ×16 SRAM)
Rawcard-B(1Rank ×8 SRAM)
Rawcard-C(1Rank ×16 SRAM)
Rawcard-D(2Rank ×8 stacked SRAM)
Rawcard-F(2Rank ×8 SRAM)
したがって、DDR3−SRAMの容量が1チップ毎に、1Gbまたは2Gb(1Gb/2Gb)であるものとすると、実現可能な1DIMMでの容量は、
Rawcard-A(2Rank ×16 SRAM)→1GB/2GB(デバイス8個)
Rawcard-B(1Rank ×8 SRAM)→512MB/1GB(デバイス8個)
Rawcard-C(1Rank ×16 SRAM)→512MB/1GB(デバイス4個)
Rawcard-D(2Rank ×8 stacked SRAM)→1GB/2GB(デバイス8個)
Rawcard-F(2Rank ×8 SRAM)→1GB/2GB(デバイス16個)
となる。なお、現在、32bitでのDDR3−SRAMのSO−DIMMの規定は存在していない。
すなわち、SO−DIMMにおいて、1DIMMでの容量のバリエーションは、デバイスを8個使用した場合には、512MB、1GB、2GBとなり、デバイスを4個使用した場合には、512MB、1GBとなる。JEDEC Rawcard-Aまたは、JEDEC Rawcard-Bである必要がある。
すなわち、64bitのバス幅で、1GBから2GBの間の容量で足りているシステムにおいては、2GBを使用し、低容量の512MBを使用する場合であっても、最低4つのデバイスを必要として、512MB未満の容量に対しては、512MBを使用するしか選択方法がないという状況となっている。その結果、コストの観点から非常に無駄なシステムとなってしまっている。
また、メモリコントローラだけでなく、メモリ自体も、DDR1→DDR2→DDR3へと変遷しており、古いデバイスであるDDR1等は、利用することが困難になってきている。
そして、従来、高周波動作に対応するとともに、プリント基板のパターン設計を容易にすることを目的として、SRAM−DIMMモジュール外部で、CS(Chip Select)0とCS2、CS1とCS3を接続し、外部から接続するDQM(Data Mask)信号を近い2グループとすることで、データ信号の信号配線の差を少なくして、信号の遅延や反射を抑えることが開示されている(特許文献1参照)。
すなわち、この従来技術は、例えば、SDR−SRAMの64bit用DIMMを32bitで使用する場合、データ信号(Data信号)のグループとDQM信号(データマスク信号)をそれぞれ分岐させて接続し、64bitのデータバスを半分の32bitのデータバス幅として使用することを可能にしている。
しかしながら、JEDECの規定では、DDR3−SRAM等の64bit対応のDIMMは、1Gb、2Gb等の大容量のメモリであり、このようなDIMMの挿入されるインターフェイスとして、SO−DIMM等の小サイズモジュール用のインターフェイスを用いる場合であっても、上記公報記載の従来技術の64bitを32bitの変換方法を用いると、バス幅は32bitになるが、DIMMに搭載されるDRAMデバイス等のメモリチップ自体の個数は変わらないため、メモリシステムとして必要とするメモリ容量が低容量であるときに、メモリ容量をメモリシステムとして必要なメモリ容量に抑えることができず、コストを抑制する上で、改良の必要があった。
そこで、本発明は、JEDEC準拠とJEDEC非準拠の双方のDIMMを、適切に判別して、安価にかつ適切にメモリアクセスすることを目的としている。
本発明は、上記目的を達成するために、DIMMコネクタ手段に着脱可能に装着されているDIMMがJEDEC準拠DIMMとJEDEC非準拠DIMMのいずれであるかのDIMMの種別を判別し、該DIMMに搭載され該DIMMの構成情報及び搭載メモリチップの情報を格納するSPDに格納されている情報を読み取って、該SPDの情報及び該DIMM種別判別の判別結果に基づいて該DIMMのアクセス制御を行い、前記DIMM種別判断手段による判別結果に応じて、前記SPDの設定値に不正があるかを判断し、前記判断結果に応じて前記DIMMのアクセス制御を行うことを特徴としている。
本発明によれば、JEDEC準拠とJEDEC非準拠の双方のDIMMを、適切に判別して、安価にかつ適切にメモリアクセスすることができる。
本発明の一実施例を適用したメモリシステムの平面図。 JEDECに準拠したRawcard-AのDIMMを示す図。 JEDECに準拠したRawcard-CのDIMMを示す図。 Rawcard-Aの搭載するDRAMを変更したJEDEC非準拠DIMMの一例を示す図。 Rawcard-Cの搭載するDRAMを2つに変更したJEDEC非準拠DIMMの一例を示す図。 JEDECのSPDのアドレスマップを示す図。 図6のJEDECのSPDのアドレスマップの続きを示す図。 メモリ制御処理を示すフローチャート。 装着されたDIMMがJEDECオリジナルか否かをハードウェアで判断する場合の説明図。
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
図1〜図9は、本発明のメモリシステム、メモリ制御方法及びメモリ制御プログラムの一実施例を示す図であり、図1は、本発明のメモリシステム、メモリ制御方法及びメモリ制御プログラムの一実施例を適用したメモリシステム1の概略構成図である。
図1において、メモリシステム1は、プリント基板2上にメモリコントローラ3、DIMMコネクタ4及びDIMMコネクタ4とメモリコントローラ3を接続するメモリ配線5が配設されている。
DIMMコネクタ(DIMMコネクタ手段)4は、DIMM10が着脱可能に装着されるSO−DIMMである。DIMMコネクタ4は、図1の右側に示すように、JEDECに準拠したRawcard-AとRawcard-C、固有(JEDEC非準拠)のDIMMとして、例えば、1.5GBの1.5Gb−DIMM、512MB/256MBの32bit−DIMM等が選択的に装着可能となっており、JEDEC準拠のRawcard-Aは、上述のように、2GBか1GB、Rawcard-Cは、1GBか512MBである。
DIMMコネクタ4は、DIMM10が、Rawcard-A、Rawcard-Cであるときには、JEDECで規定されているため、標準的なメモリであればそのまま使用することができる。
すなわち、DIMM10が、JEDEC規定のDDR3 SO−DIMM:Rawcard-Aの場合、図2に示すように、x16のデバイス(DRAM)を8個搭載する2RankのDIMMとなり、DIMM10には、そのDIMM10の特性を記録するためのEEPROM(Electrically Erasable Programmable Read Only Memory )からなるSPD(Serial Presence Detect)を搭載していて、SPDには、DIMM10の構成や搭載されているチップの情報、特に、Rank毎の容量が規定されているため、基本的に、それぞれのRankは同容量、すなわち、搭載されるデバイスの容量は全て同じになる。したがって、Rawcard-Aの場合、搭載されるx16のデバイス(メモリチップ)は、1Gbのデバイスであれば、全体容量が1GB、2Gbのデバイスであれば、全体容量が2GBとなる。
また、DIMM10が、JEDEC規定のDDR3 SO−DIMM:Rawcard-Cの場合、図3に示すように、通常、x16のデバイス(DRAM)を4個搭載する1RankのDIMMとなり、204PinのSO−DIMMインターフェイス(DIMMコネクタ)4に搭載されるJEDEC規定のDIMMの中では最小構成のDIMMであって、搭載される全容量は、搭載されるx16のデバイスが、1Gbのデバイスであると、512MBの容量、2Gbのデバイスであると、1GBの容量となる。
そして、メモリシステム1は、DIMM10としては、上述のように、JEDEC準拠のDIMM以外に、例えば、Rawcard-Aの場合、図4に示すように、DRAMを、Rank毎に異なる容量のデバイスとし、Rand0には、1GbのDRAMを4つ搭載するDIMM10a、Rank1には、2GbのDRAMを4つ搭載するDIMM10bを用いることで、合計で、1.5GBのDIMM10(以下、適宜、1.5GB−DIMMという。)とすることができる。
すなわち、JEDECに準拠しているRawcard-A(DDR3のSO−DIMM)の場合、図2に示したように、x16のデバイスを8個搭載する2RankのDIMMとなっており、DIMM10は、そのDIMM10の特性を記録するためのEEPROMからなるSPD11を搭載していて、SPD11には、DIMMの構成や搭載されているメモリチップ(デバイス)の情報、特に、Rank毎の容量が規定されているため、基本的に、それぞれのRankは同容量、すなわち、搭載されるデバイスの容量は全て同じになる。したがって、搭載されるx16のデバイスは、1Gbのデバイスであれば、全体容量が1GB、2Gbのデバイスであれば、全体容量が2GBとなる。このSPD11の規定によるメモリシステム1の処理については後述する。
また、メモリシステム1は、JEDEC規定のDDR3 SO−DIMM:Rawcard-Cの場合、図3に示したように、通常、x16のデバイス(DRAM)を4個搭載する1RankのDIMMとなり、204PinのSO−DIMMインターフェイスに搭載されるJEDEC規定のDIMMの中では最小構成のDIMMであって、搭載される全容量は、搭載されるx16のデバイスが、1Gbのデバイスであると、512MBの容量、2Gbのデバイスであると、1GBの容量となる。
そして、本実施例のメモリシステム1は、DIMM10としては、上述のように、JEDECに準拠する場合だけでなく、図5に示すように、DIMM10cとして、2つのデバイス(DRAM)のみを搭載し、残りの2つは搭載せずに、終端抵抗21を接続することで、2つのDIMM10cで32bitのDIMM10を構成している。
したがって、x16のデバイス(DRAM)を2つ搭載して、合計32bitのバス幅を実現したDIMM(以下、適宜、32bit−DIMMという。)10として、1Gbのデバイスであると、最低256MBの容量のDIMM10を構成することができる。すなわち、256MBという低容量のメモリを低価格で実現することができるとともに、204PinのDIMMコネクタ4は、64bit、32bitでアサインが変わらないため、共通のインターフェイスであるDIMMコネクタ4を使用することができる。
そして、メモリシステム1は、メモリコントローラ(DIMM種別識別手段、メモリ制御手段)3が、DIMMコネクタ4に装着されたDIMM10を、DIMM10のSPD11、22に基づいて、DIMM10の情報、特に、1.5GB−DIMMや32bit−DIMMが挿入されたことを認識して、挿入されたDIMM10に対応した使用を行う。例えば、32bitのDIMM10が装着されたときには、バス幅を32bitに切り替えて使用する。
ところが、1.5GB−DIMM、32bit−DIMMは、JEDECで規定されている範囲外となるため、DIMM10のSPD11、22に、1.5GB−DIMMまたは32bit−DIMMであることを示す情報を付加する。
すなわち、JEDECで規定されているSPDは、図6及び図7に示すようなアドレスマップとなっており、上述のように、DIMM10の構成や搭載されているメモリチップの情報等が格納されている。標準的なメモリシステムでは、電源ON時に、SPDの情報を読み出すことで、そのメモリシステムに搭載されているメモリの情報を認識して、該メモリ情報に合った設定をメモリコントローラ3に行う。
図6及び図7に示すSPD11、22において、Byte Number 3:Module Type、Byte Number 4:SDRAM Density and Banks、Byte Number 7:Module Organization、Byte Number 8:Module Memory Bus Widthがあり、本実施例のDIMM10は、これらのByte Numberの情報に特別な情報を記録する。
すなわち、Byte Number 3:Module Typeは、搭載されているDIMM10の種類を示す情報が格納され、DIMM10には、形状も構成も異なる、RDIMM、UDIMM、SO−DIMM、Micro−DIMM等種々あるため、このByte Number 3:Module Typeで搭載しているDIMMの種類を特定している。本実施例では、SO−DIMMを用いたメモリシステム1を取り上げているため、Byte Number 3:Module Typeには、搭載しているDIMMとして、SO−DIMMが記録される。
Byte Number 4:SDRAM Density and Banksは、DIMM10に搭載されているチップ毎のメモリの容量情報が格納されており、JEDECのSPDでは、DIMMに搭載されている全てのDRAM容量が同一容量であるとして設定されているため、Byte Number 4:SDRAM Density and Banksで設定されている値が、DIMM10に搭載されているチップ全てが同じ容量であるとして取り扱うことになる。
Byte Number 7:Module Organizationは、DIMM10のRankと各チップのbit幅の情報が格納される。例えば、Rawcard-Aの場合、Rank数は2、搭載されるチップはx16のbit幅のチップであるので、Byte Number 7:Module Organizationに格納される情報は、2Rank/x16となる。
Byte Number 8:Module Memory Bus Widthは、DIMM10のバス幅の情報が格納され、64bitか、32bitの情報が格納される。例えば、Rawcard-Aであれば、Byte Number 8:Module Memory Bus Widthには、64bitが格納される。
メモリシステム1は、メモリコントローラ3が、SPD11、22の情報に基づいて、DIMM10を読み取ったときに、正常に使用できるか否かのチェックも行う。例えば、メモリコントローラ3は、SPD11、22が、正確、かつ、確実に記載されていない場合には、立ち上げを行うことなく、エラー(ERROR)処理を行う場合がある。
そして、DIMM10が、1.5GB−DIMMであると、1.5GB−DIMMは、図3に示したように、2RankのRawcard-Aを基礎として、搭載するDRAMがRank毎に容量が異なるDIMMである。ところが、チップ毎の容量を記載するByte Number 4:SDRAM Density and BanksはDIMM10に搭載されている全てのDRAMが対象となるため、例えば、1GbをSPD11、22に記載した場合、メモリシステム1は、1GBとしてしか認識しないことになり、問題である。
また、DIMM10が、32bit−DIMMであると、32bit−DIMMは、図4に示したように、JEDECのSO−DIMMでは、全く規定されていないDIMMとなる。すなわち、JEDECでは、SO−DIMMの32bit自体が存在しないこととなっているため、Byte Number 3:Module Typeで、SO−DIMMが記録されていながら、Byte Number 8:Module Memory Bus Widthで、32bitが記録されていると、エラー(ERROR)として取り扱うことがある。
そこで、本実施例のメモリシステム1は、メモリコントローラ3が、後述するように、DIMM10がJEDEC準拠のDIMMであるか、図3に示した1.5G.B−DIMMや図5に示した32bit−DIMM等のJEDEC非準拠のDIMMであるかを判別して、それぞれに適したメモリ情報をメモリコントローラ3に設定してメモリ制御処理を行う。
メモリコントローラ3は、CPU(Central Processing Unit )、ROM(Read Only Memory)、RAM(Random Access Memory)等を備えており、CPUが、ROM内のプログラムに基づいてRAMをワークメモリとして利用しつつ、メモリアクセスを制御する。
すなわち、メモリシステム1は、ROM、EEPROM(Electrically Erasable and Programmable Read Only Memory )、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory )、CD−RW(Compact Disc Rewritable )、DVD(Digital Versatile Disk)、SD(Secure Digital)カード、MO(Magneto-Optical Disc)等のコンピュータが読み取り可能な記録媒体に記録されている本発明のメモリ制御方法を実行するメモリ制御プログラムを読み込んでROM等に導入することで、後述するDIMM10の種別を正確に判断して、DIMM10の種別に適切なメモリアクセスを制御するメモリ制御方法を実行するメモリ制御装置として構築されている。このメモリ制御プログラムは、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
次に、本実施例の作用について説明する。本実施例のメモリシステム1は、DIMMコネクタ4に装着されたSO−DIMMのピン形式のDIMM10がJEDEC準拠(JEDECオリジナル)のDIMMであるか、上記1.5G.B−DIMMや32bit−DIMM等の特有(JEDEC非準拠)のDIMMであるかを判別して装着されたDIMM10に適したメモリ情報の設定を行なって、メモリ制御処理を行う。
すなわち、メモリシステム1は、通常、システムの電源がON(オン)されると、DIMM10のアクセスを許可する前に、メモリコントローラ3が、SPD11、22を読み取ってSPD11、22の設定に不正があると、SPD11、22の情報のメモリコントローラ3への設定を行うことなく、エラー(ERROR)処理を行っている。このSPD11、22の設定の不正には、SO−DIMMのDIMMコネクタ4の場合、JEDECでは、上述のように、Rawcard-Aにおいては、x16のデバイス8個搭載する2RankのDIMMとなっていて、それに反するSPDの情報は、不正となり、また、各Rank毎の容量が規定されていて、それぞれのRanは同容量、すなわち、搭載されるメモリチップの容量は全て同容量となる。また、Rawcard-Cの場合、x16のメモリチップ(デバイス)を4個搭載する1RankのDIMMであり、x16のメモリチップが1Gbであれば、512MB、2Gbのメモリチップであれば、1GBが、全体の容量となる。
ところが、メモリシステム1は、例えば、その必要とするメモリ容量が、2GBであれば、2GBのRawcard-Aを1枚使用するか、1GBのRawcard-Cを2枚使用することで構成することができるが、必要とするメモリ容量が、1.5GBであると、1GBのRawcard-Aを1枚に、512MBのRawcard-Cを1枚足すか、1GBのRawcard-Cを1枚に、512MBのRawcard-Cを1枚足す等の2枚のDIMMを用いて構成する必要があり、2GBを構成するRawcard-Aを1枚用いる場合に比較して、コストが高くつくとともに、レイアウトも大きくなり、1.5GBを必要とする場合にも、従来では、2GBを構成するRawcard-Aを1枚用いることとなって、不必要なメモリチップを搭載するだけでなく、コストが高くつくという問題があった。
そこで、本実施例のメモリシステム1は、DIMM10として、JEDEC準拠のDIMM10だけでなく、1.5GB−DIMM、32bit−DIMM等のJEDEC非準拠のDIMM10の装着をも可能とし、装着されたDIMM10がJEDECオリジナル(JEDEC準拠)のDIMM10であるか、固有(JEDEC非準拠)のDIMM10であるかを、判断し、JEDECオリジナルのDIMM10であるときには、SPD11、22の情報に応じた設定をメモリコントローラ3に行ってメモリであるDIMM10及びメモリコントローラ3の初期設定を行なった後に、メモリアクセスを開始する。
そして、本実施例のメモリシステム1は、DIMM10が固有のDIMM10であると、固有のDIMM10のSPD11、22に設定されている情報に不正がないか判断して、不正がないときには、SPD11、22の情報に応じた設定をメモリコントローラ3に行ってメモリであるDIMM10及びメモリコントローラ3の初期設定を行なった後に、メモリアクセスを開始する。
すなわち、メモリシステム1は、図8に示すように、DIMM10がDIMMコネクタ4に装着されている状態で、電源がオン(ON)されると、メモリコントローラ3が、シリアル通信によって、DIMM10のSPD11、22の内容を読み込み(ステップS101)、DIMM10がオリジナルのDIMM10であるかチェックする(ステップS102)。
このJEDECオリジナルDIMMであるか否かの判断は、例えば、図6に示したSPD11、22のByte Number 3:Module Typeで、JEDEC上においてRESERVEになっているbitをオリジナルDIMMに割り当てておいて、メモリコントローラ3が、この値を読み出してJEDECオリジナルDIMMであるか否かを判断してもよいし、あるいは、SPDのJEDEC規定上、完全にRESERVEとなっているByte Number、例えば、Byte Number 13等に特定の値を登録しておいて、メモリコントローラ3が、このByte Numberの値を読み出すことで、オリジナルDIMMであるか否かの判断を行ってもよい。
また、上記方法にあっては、SPD11、22の1箇所のみを調べて、JEDECオリジナルDIMMであるかどうかを判別しているため、市中に出回っているDIMMが同様のSPDのByteを書き換えていた場合、そのDIMMがDIMMコネクタ4にDIMM10として装着された場合、JEDECオリジナルDIMMとして誤認識する可能性がある。
そこで、上記2つのJEDECオリジナルDIMM有無の判断方法を合わせて用いたり、Byte Number 3とByte Number 117−119の製造者情報で判断する等のように、SPD11、22の複数の値で判断することにより、JEDECオリジナルDIMMの判断の正確性をより一層向上させてもよい。
そして、ステップS102で、装着されているDIMM10がJEDECオリジナルDIMMの場合、メモリコントローラ3は、該オリジナルDIMM10の設定値をSPD11、22から読み出して(ステップS103)、メモリコントローラ3に該オリジナルDIMM10に合った設定を行い(ステップS104)、DIMM10及びメモリコントローラ3の初期化を行って(ステップS105)、初期化が完了すると、メモリアクセスの開始を可能な状態として処理を終了する(ステップS106)。
ステップS102で、装着されているDIMM10がJEDECのオリジナルDIMMでないときには、メモリコントローラ3は、SPD11、22の設定データに不正がないか判断する(ステップS107)。すなわち、メモリコントローラ3は、JEDECで規定されていない値がSPD11、22に書き込まれていないか確認し、例えば、JEDECの規定には、Byte7のBit3-5、2-0は共に「111」設定は無い(Reserve)こととなっているが、SPD11、22のByte7のBit3-5、2-0を読み込んだときに、「111」であると、SPD11、22の設定データに不正があると判断する。
ステップS107で、SPD11の設定データに不正がないときには、メモリコントローラ3は、該DIMM10の設定値をSPD11、22から読み出してメモリコントローラ3内に設定し(ステップS108)、メモリであるDIMM10及びメモリコントローラ3の初期化を行って(ステップS109)、初期化が完了すると、メモリアクセスの開始を可能な状態として処理を終了する(ステップS110)。
ステップS107で、SPD11、22の設定データに不正があると、メモリコントローラ3は、メモリシステム1の適用されている装置、例えば、複合装置の操作表示部にエラー通知表示するエラー(ERROR)処理を行ったり、デバッグ処理を行い(ステップS111)、DIMM10、すなわち、メモリのアクセスを禁止して、処理を終了する(ステップS112)。
また、上記DIMM10がJEDECオリジナルDIMMであるか否かの判断において、上述のように、DIMM10がオリジナルのDIMMであるか否かの判断を、SPD11、22の内容に基づいて行うと、判断基準をメモリコントローラ3のROM等に格納されている内容に照らし合わせて判断することとなるため、ROM等の内容に左右されることとなり、市中に出回っているDIMMが同様のSPDのByteを書き換えていた場合、そのDIMMがDIMMコネクタ4にDIMM10として装着されると、JEDECオリジナルDIMMとして誤認識する可能性がある。
そこで、DIMM10がオリジナルのDIMMであるか否かの判断を、図9に示すように、ハードウェア的に行うようにしてもよい。
すなわち、図9において、JEDECで規定されているPinのうち、122Pinの未接続(Non Connection)であるN.C端子を、オリジナルDIMM判別用のPinとして割り当て、このPinを所定の状態、例えば、図9の右側下に図示するように、例えば、DIMM10の内部でPull−Up(プルアップ)状態とし、メモリコントローラ3が、この端子がHigh(ハイ)かLow(ロー)かを検知することで、DIMM10がオリジナルDIMMであるか否かを判別するようにしてもよい。
または、ユーザが専用に使用する外部からアクセス可能なスイッチ等によって、オリジナルDIMMであるか否かを切り替えて判別制御するようにしてもよいが、この場合には、ユーザに作業を促すことになり、ユーザに手間が発生するだけでなく、ユーザが、スイッチの切り替えを忘れると、オリジナルDIMMと認識されないおそれがある。
このように、本実施例のメモリシステム1は、DIMMコネクタ(DIMMコネクタ手段)4に着脱可能に装着されているDIMM10がJEDEC準拠DIMMとJEDEC非準拠DIMMのいずれであるかのDIMMの種別をメモリコントローラ3が判別し、メモリコントローラ3が、該DIMM10に搭載され該DIMM10の構成情報及び搭載メモリチップ(DRAM等)の情報等を格納するSPDに格納されている情報を読み取って、該SPDの情報及び該DIMM種別判別の判別結果に基づいて該DIMM10のアクセス制御を行っている。
したがって、DIMMコネクタ4にJEDEC準拠とJEDEC非準拠の双方のDIMM10を装着可能とすることができるとともに、装着されたDIMM10がJEDEC準拠とJEDEC非準拠のいずれであるかを適切に判別することができ、DIMM10として必要なメモリ容量のメモリのみを搭載したDIMMを用いて、安価にかつ適切にメモリアクセスすることができる。
また、本実施例のメモリシステム1は、JEDEC準拠DIMM及びJEDEC非準拠DIMMが、SO−DIMMであり、DIMMコネクタ4が、該SO−DIMMであるJEDEC準拠DIMM及びJEDEC非準拠DIMMに対応したコネクタである。
したがって、JEDECで規定されているDDR3のDIMMに対してより小さなサイズでモジュールを提供するための規格に対応したSO−DIMMを利用することができ、JEDEC準拠とJEDEC非準拠の双方のDIMMを、適切に判別して、より一層小型で安価にメモリアクセスすることができる。
さらに、本実施例のメモリシステム1は、前記JEDEC非準拠DIMMが、少なくとも複数のRankを有しRank毎に容量の異なるメモリチップが搭載されているDIMMと、2つのメモリチップと終端抵抗を搭載して32bitで1RankとなるDIMMと、を含んでいる。
したがって、JEDEC準拠のDIMMでは実現することのできない1.5GBや32bitで1RankのDIMMを用いることができ、より一層適切なメモリ容量のDIMMを、安価にかつ適切にメモリアクセスすることができる。
また、本実施例のメモリシステム1は、メモリコントローラ(DIMM種別判別手段)3が、DIMM10のSPD情報に基づいて該DIMMの種別を判別している。
したがって、新たに特別な構成を用いることなく、安価かつ適切にDIMMの種別を判別することができ、より一層小型で安価にメモリアクセスすることができる。
さらに、本実施例のメモリシステム1は、メモリコントローラ(DIMM種別判別手段)3が、DIMM10の所定のピン(図9では、NCの122Pin)に対して設定されている特定のピン状態(図9では、Pull−Up状態)に基づいて該DIMM10の種別を判別している。
したがって、JEDEC準拠とJEDEC非準拠の双方のDIMMを、適切に判別して、より一層小型で安価にメモリアクセスすることができる。
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
1 メモリシステム
2 プリント基板
3 メモリコントローラ
4 DIMMコネクタ
5 メモリ配線
10 DIMM
10a、10b、10c DIMM
11、22 SPD
特開2001−243114号公報

Claims (7)

  1. JEDEC準拠DIMM及びJEDEC非準拠DIMMが着脱可能に装着されるDIMMコネクタ手段と、
    前記DIMMコネクタ手段に装着されているDIMMがJEDEC準拠DIMMとJEDEC非準拠DIMMのいずれであるかのDIMMの種別を判別するDIMM種別判別手段と、
    前記DIMMに搭載され該DIMMの構成情報及び搭載メモリチップの情報を格納するSPDに格納されている情報を読み取って、該SPDの情報及び前記DIMM種別判別手段の判別結果に基づいて該DIMMのアクセス制御を行うメモリ制御手段と、を備え、
    前記メモリ制御手段は、前記DIMM種別判断手段による判別結果に応じて、前記SPDの設定値に不正があるかを判断し、その判断結果に応じて前記DIMMのアクセス制御を行うことを特徴とするメモリシステム。
  2. 前記メモリ制御手段は、前記DIMMがJEDEC非準拠DIMMであると判別された場合にのみ、前記SPDの設定値に不正があるかを判断することを特徴とする請求項1記載のメモリシステム。
  3. 前記JEDEC非準拠DIMMは、
    少なくとも複数のRankを有しRank毎に容量の異なるメモリチップが搭載されているDIMMと、2つのメモリチップと終端抵抗を搭載して32bitで1RankとなるDIMMと、を含んでいることを特徴とする請求項1または請求項2記載のメモリシステム。
  4. 前記DIMM種別判別手段は、
    前記SPD情報に基づいて前記DIMMの種別を判別することを特徴とする請求項1から請求項3のいずれかに記載のメモリシステム。
  5. 前記DIMM種別判別手段は、
    前記DIMMの所定のピンに対して設定されている特定のピン状態に基づいて前記DIMMの種別を判別することを特徴とする請求項1から請求項4のいずれかに記載のメモリシステム。
  6. DIMMコネクタ手段に着脱可能に装着されているDIMMがJEDEC準拠DIMMとJEDEC非準拠DIMMのいずれであるかのDIMMの種別を判別するDIMM種別判別処理ステップと、
    前記DIMMに搭載され該DIMMの構成情報及び搭載メモリチップの情報を格納するSPDに格納されている情報を読み取って、該SPDの情報及び前記DIMM種別判別処理ステップでの判別結果に基づいて該DIMMのアクセス制御を行うメモリ制御処理ステップと、を有し、
    前記メモリ制御処理ステップにおいて、前記DIMM種別判断処理ステップでの判別結果に応じて、前記SPDの設定値に不正があるかを判断し、その判断結果に応じて前記DIMMのアクセス制御を行うことを特徴とするメモリ制御方法。
  7. コンピュータに、
    DIMMコネクタ手段に着脱可能に装着されているDIMMがJEDEC準拠DIMMとJEDEC非準拠DIMMのいずれであるかのDIMMの種別を判別するDIMM種別判別処理と、
    前記DIMMに搭載され該DIMMの構成情報及び搭載メモリチップの情報を格納するSPDに格納されている情報を読み取って、該SPDの情報及び前記DIMM種別判別処理での判別結果に基づいて該DIMMのアクセス制御を行うメモリ制御処理と、を実行させ、
    前記メモリ制御処理において、前記DIMM種別判断処理での判別結果に応じて、前記SPDの設定値に不正があるかを判断し、その判断結果に応じて前記DIMMのアクセス制御を行うことを特徴とするメモリ制御プログラム。
JP2011121340A 2011-05-31 2011-05-31 メモリシステム、メモリ制御方法及びメモリ制御プログラム Expired - Fee Related JP5703967B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011121340A JP5703967B2 (ja) 2011-05-31 2011-05-31 メモリシステム、メモリ制御方法及びメモリ制御プログラム
US13/467,306 US8938600B2 (en) 2011-05-31 2012-05-09 Memory system, memory control method, and recording medium storing memory control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011121340A JP5703967B2 (ja) 2011-05-31 2011-05-31 メモリシステム、メモリ制御方法及びメモリ制御プログラム

Publications (2)

Publication Number Publication Date
JP2012248134A JP2012248134A (ja) 2012-12-13
JP5703967B2 true JP5703967B2 (ja) 2015-04-22

Family

ID=47262593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011121340A Expired - Fee Related JP5703967B2 (ja) 2011-05-31 2011-05-31 メモリシステム、メモリ制御方法及びメモリ制御プログラム

Country Status (2)

Country Link
US (1) US8938600B2 (ja)
JP (1) JP5703967B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9196314B2 (en) 2011-06-24 2015-11-24 Inphi Corporation Extended-height DIMM
US10181124B2 (en) 2013-05-30 2019-01-15 Dell Products, L.P. Verifying OEM components within an information handling system using original equipment manufacturer (OEM) identifier
US9230137B2 (en) * 2013-05-30 2016-01-05 Dell Products, L.P. Secure original equipment manufacturer (OEM) identifier for OEM devices
JP6524618B2 (ja) * 2013-09-09 2019-06-05 株式会社リコー 電子機器、制御方法およびプログラム
US10402324B2 (en) 2013-10-31 2019-09-03 Hewlett Packard Enterprise Development Lp Memory access for busy memory by receiving data from cache during said busy period and verifying said data utilizing cache hit bit or cache miss bit
US10620859B2 (en) * 2016-09-30 2020-04-14 Hewlett Packard Enterprise Development Lp NVDIMM metadata

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253357A (en) * 1991-06-13 1993-10-12 Hewlett-Packard Company System for determining pluggable memory characteristics employing a status register to provide information in response to a preset field of an address
JP3719633B2 (ja) 1998-12-21 2005-11-24 株式会社リコー メモリ装置
JP2001243114A (ja) 2000-02-28 2001-09-07 Nec Corp メモリコントローラ回路
US6701418B2 (en) * 2000-12-15 2004-03-02 Texas Instruments Incorporated Automatic detection and correction of relatively rearranged and/or inverted data and address signals to shared memory
WO2002058069A2 (en) * 2001-01-17 2002-07-25 Honeywell International Inc. Enhanced memory module architecture
US7464225B2 (en) * 2005-09-26 2008-12-09 Rambus Inc. Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology
EP2003568B1 (en) * 2006-03-31 2012-02-22 Fujitsu Limited Memory device, control method for the same, control program for the same, memory card, circuit board and electronic equipment
US8054676B2 (en) * 2008-08-18 2011-11-08 Advanced Micro Devices, Inc. Memory system such as a dual-inline memory module (DIMM) and computer system using the memory system
US8423724B2 (en) * 2010-09-08 2013-04-16 Smart Modular Technologies, Inc. Dynamic back-up storage system with rapid restore and method of operation thereof

Also Published As

Publication number Publication date
JP2012248134A (ja) 2012-12-13
US20120311249A1 (en) 2012-12-06
US8938600B2 (en) 2015-01-20

Similar Documents

Publication Publication Date Title
JP5703967B2 (ja) メモリシステム、メモリ制御方法及びメモリ制御プログラム
US7263019B2 (en) Serial presence detect functionality on memory component
US9064560B2 (en) Interface for storage device access over memory bus
US6683372B1 (en) Memory expansion module with stacked memory packages and a serial storage unit
US8116144B2 (en) Memory module having a memory device configurable to different data pin configurations
US6981089B2 (en) Memory bus termination with memory unit having termination control
US7433992B2 (en) Command controlling different operations in different chips
EP2579159B1 (en) Memory system, memory device, and memory interface device
US9569144B2 (en) DRAM with SDRAM interface, and hybrid flash memory module
US7864604B2 (en) Multiple address outputs for programming the memory register set differently for different DRAM devices
US6446184B2 (en) Address re-mapping for memory module using presence detect data
US20050044302A1 (en) Non-standard dual in-line memory modules with more than two ranks of memory per module and multiple serial-presence-detect devices to simulate multiple modules
US20050036397A1 (en) Detecting device and method for determining type and insertion of flash memory card
US20160139807A1 (en) Write flow control for memory modules that include or interface with non-compliant memory technologies
CN104951412A (zh) 一种通过内存总线访问的存储装置
US20090040861A1 (en) Method of Operating a Memory Apparatus, Memory Device and Memory Apparatus
US8159886B2 (en) Memory device, control method for the same, control program for the same, memory card, circuit board and electronic equipment
US7197675B2 (en) Method and apparatus for determining the write delay time of a memory utilizing the north bridge chipset as in charge of the works for checking the write delay time of the memory
JP5043360B2 (ja) 所定のピン配列を有するメモリモジュール
CN112103265B (zh) 主控芯片、pcb板以及电子设备
US8639879B2 (en) Sorting movable memory hierarchies in a computer system
KR100585158B1 (ko) Ecc 메모리 모듈
JPH1173764A (ja) D−ramの種別判定方法
US20220107908A1 (en) Methods, devices and systems for high speed transactions with nonvolatile memory on a double data rate memory bus
KR100321840B1 (ko) 메모리 모듈, 컴퓨터 시스템, 컴퓨터 시스템에서의 뱅크 메모리소자 사용 방법 및 지능형 메모리 모듈의 시스템 제어 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140423

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140430

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150209

R151 Written notification of patent or utility model registration

Ref document number: 5703967

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees