JP2006209371A - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP2006209371A
JP2006209371A JP2005019056A JP2005019056A JP2006209371A JP 2006209371 A JP2006209371 A JP 2006209371A JP 2005019056 A JP2005019056 A JP 2005019056A JP 2005019056 A JP2005019056 A JP 2005019056A JP 2006209371 A JP2006209371 A JP 2006209371A
Authority
JP
Japan
Prior art keywords
signal
data
sdram
writing
ram
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.)
Withdrawn
Application number
JP2005019056A
Other languages
English (en)
Inventor
Eiji Otsuka
英治 大塚
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005019056A priority Critical patent/JP2006209371A/ja
Priority to CNB2006100030483A priority patent/CN100390761C/zh
Priority to US11/339,524 priority patent/US20060190675A1/en
Priority to GB0601637A priority patent/GB2422695B/en
Priority to CA002534255A priority patent/CA2534255A1/en
Publication of JP2006209371A publication Critical patent/JP2006209371A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4078Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】 RAM内の動作プログラムの書き換えによるCPUの誤動作を防ぐと共に、RAMを制御するコマンドの入力を抑制しない制御機器を提供する。
【解決手段】 比較回路51で、アドレス信号、制御信号からSDRAM40に対する書込保護を行うか否かを判断する。比較回路51により書込保護を行うと判断された場合には、その結果をWPACC信号414としてゲート回路52に出力する。WPACC信号414がアクティブであれば、ゲート回路52はDQMB信号412を強制的にアクティブとする。これにより、SDRAM40へのデータ書き込みを防ぐことができると同時に、SDRAM40を制御するコマンドの入力は可能となる。
【選択図】 図4

Description

本発明は、RAM(Random Access Memory)を有する制御機器に関する。
DRAM(Dynamic Random Access Memory)は一般に、ROM(Read Only Memory)と比較して高速にアクセス可能であると同時にビット当たりの単価が安価であるため、CPU(Central Processing Unit)が実行する動作プログラムを圧縮してROMに格納しておき、これを伸張してDRAMに転送した上で、DRAM内の動作プログラムを実行する手法が広まっている。しかし、DRAMは書換可能なメモリであるため、動作プログラムが格納された領域を誤って書き換えてしまい、CPUを暴走させる可能性がある。
そこで、CPUがDRAMに書き込みを行うアドレスからプログラム領域か否かを判断し、プログラム領域である場合には、データ書き込みを行うか否かを定めるライト信号を非アクティブとすることにより、プログラム領域へのデータ書き込みを抑制する手法が提案されている(例えば、特許文献1参照)。
特開平11−096075号公報
しかしながら、例えばSDRAM(Synckronous DRAM)等は、ライト信号を他の信号(RAS信号、CAS信号等)と組み合わせて入力されるコマンドによって制御される。つまり、ライト信号がアクティブであっても、当該SDRAMにデータが書き込まれる場合と、データの書き込みを伴わない他のコマンド(例えば、定期的にSDRAMの記憶素子に対して再充電を行うリフレッシュ等)がSDRAMに入力される場合とがある。特許文献1記載の手法のようにライト信号を強制的に非アクティブとすると、データの書き込みを抑制することはできるが、いくつかのコマンドはSDRAMに入力することができなくなる。
そこで本発明は、RAM内の動作プログラムの書き換えによるCPUの誤動作を防ぐと共に、RAMを制御するコマンドの入力を抑制しない制御機器を提供することを目的とする。
上記目的を達成するために、本発明の制御機器は、データの書き換えが可能なRAMと、前記RAMのアドレスを指定するアドレス信号、及び前記RAMに出力する所定長のデータのうち前記RAMへの書き込みを有効とする領域を指定する有効領域指定信号に基づいて前記RAMの任意の領域に前記所定長のデータを書き込むデータ書込手段と、前記データ書込手段による前記RAMへの前記所定長のデータの書き込みを抑制するか否かを判断する判断手段と、前記判断手段により書き込みを抑制すると判断された場合に、前記有効領域指定信号を前記所定長のデータ全体に対して書き込みを無効とするものに変換する書換抑制手段とを備えることを特徴とする。
本発明によれば、RAM内の動作プログラムの書き換えによるCPUの誤動作を防ぐと共に、RAMを制御するコマンドの入力を抑制しない制御機器を提供することができる。
以下、本発明の制御機器について、図面を参照しながら説明する。
図1は、本発明の情報処理装置の実施例である電話交換機の構成を示す図である。電話交換機10は、トランクユニット11と、ラインカード12と、タイムスイッチ部(TSW)13と、制御部14と、DTMF(Dial Tone Multi Frequency)信号受信部15とを備え、これらは音声バス及び制御バスを介して相互に接続されている。
トランクユニット11は、外部通信ネットワーク16に接続され、外部通信ネットワーク16との間のインタフェース機能を有する。ラインカード12は複数の内線端末17a乃至17nを接続しており、これら内線端末17a乃至17nとの間のインタフェース機能を有する。なお、内線端末17a乃至17nとして使用されるものには、例えば標準電話機、ボタン電話機等がある。
TSW13は、制御部14の指示に従い、トランクユニット11とラインカード12とを交換接続する。同様に、トランクユニット11及びラインカード12とDTMF信号受信部15とを交換接続する。
制御部14は、CPU(Central Processing Unit)やメモリ等から構成され、電話交換機10全体の動作を統括制御する。この制御部14に内包されるCPUやメモリ等は、1つの基板上に実装される。この詳細については後述する。
DTMF信号受信部15は、デジタル信号をDFT(Discrete Fourier Transform)変換等のデジタルフィルタ処理により、DTMF信号を検出して識別する。尚、DTMF信号とは、内線端末17a乃至17nから出力される、ダイヤルキーに応じた信号である。
図2は、電話交換機10の制御部14の概略構成を示す図である。尚この図では、後述する比較回路やプロテクションレジスタ等の記載は省略している。制御部14は、CPU20(データ書込手段)と、圧縮された動作プログラムが格納されるフラッシュメモリ30と、汎用のメモリであるSRAM(Static Random Access Memory)31と、LAN(Local Area Network)用のインタフェースであるPHY32と、音声バス及び制御バスに対するインタフェースの役割を果たす交換処理部33と、フラッシュメモリ30に格納された動作プログラムを伸張して記憶し、またデータを書き込むことのできるSDRAM40(RAM)とから構成される。
CPU20は、SDRAM40に格納される動作プログラムを実行し、電話交換機10全体の動作を統括制御する。尚CPU20は、32ビット(データ幅)でデータを処理する。CPU20は、SDRAM40からフェッチした命令に基づく処理を実行するCPUコア21と、フラッシュメモリ30、SRAM31、交換処理部33に対するインタフェースである外部バスインタフェース22、SDRAM40を制御するDRAMコントローラ23、フラッシュメモリ30を制御するROMコントローラ24、PHY32に対するインタフェースであるLAN MAC(LAN Media Access Controler)25とを備える。CPUコア21、外部バスインタフェース22、DRAMコントローラ23、ROMコントローラ24、LAN MAC25は、それぞれ内部バス26に接続されている。
外部バスインタフェース22は、フラッシュメモリ30、SRAM31、交換処理部33に対するインタフェースである。外部バスインタフェース22は、アドレスバス及びデータバスに接続されている。アドレスバスからアドレスを指定し、アクセスするデータの位置を指定する。また、データバスにより、フラッシュメモリ30、SRAM31、交換処理部33とのデータのやりとりを行う。また、SRAM31、交換処理部33に対する制御信号も、外部バスインタフェース22から出力される。ここで制御信号とは、データを読み込むためのリード信号、データを書き込むためのライト信号、チップを選択するチップセレクト等の信号を指す。
DRAMコントローラ23は、制御信号を出力することで、SDRAM40を制御する。またこれと共に、SDRAM40にアクセスするためのアドレス信号もSDRAMに対して出力し、データバスを通じてSDRAM40とのデータの入出力を行うインタフェースの役割も果たす。
ROMコントローラ24は、フラッシュメモリ30に対して制御信号を出力することで、フラッシュメモリ30を制御する。
LAN MAC25は、通信に係る波形の生成や衝突検出等を行うLAN通信用のインタフェースであるPHY32に対するインタフェースの役割を果たす。LAN MAC25では、LAN通信にかかる送受信方法の決定や誤り検出等を行う。
フラッシュメモリ30には、CPUコア21でフェッチする動作プログラムが圧縮されて記憶されている。CPU20が圧縮された動作プログラムを読み込む際には、CPU20の起動と同時に、CPU20の外部バスインタフェース22からアドレスバスを通じてプログラムの格納されたアドレスの指定を受け、同じく外部バスインタフェース22に接続されるデータバスを通じてプログラムの出力を行う。またこの動作にかかる制御を行うための制御信号は、ROMコントローラ24から受けつける。
交換処理部33は、制御部14から音声バス及び制御バスに対するインタフェースの役割を果たす。トランクユニット11、ラインカード12、TSW13、DTMF信号受信部15は、音声バス及び制御バスを介して交換処理部33に接続される。さらに、交換処理部は、アドレスバス及びデータバスを介してCPU20の外部バスインタフェース22に接続される。また、交換処理部33は、外部バスインタフェース22から制御信号も受け付ける。
SDRAM40は、プログラムを格納することができると共に、一般のデータを書き込むことができる。図3は、SDRAM40の構成を示す図である。図3に示すように、SDRAM40はプログラムエリア41(書換禁止領域)とデータエリア42とを持つ。プログラムエリア41には、フラッシュメモリ30に格納された、圧縮された動作プログラムがCPU20により伸張されて格納される。データエリア42は、CPU20が動作プログラムを実行する際のワークメモリとして使用される領域である。このプログラムエリア41及びデータエリア42のアドレスは、後に説明する比較回路(判断手段)が予め記憶している。
図4は、図2の制御部14中のSDRAM40に係る具体的な回路例を示す図である。この回路は、CPU20と、SDRAM40と、SDRAM40のプログラムエリア41への書込み保護を行うか否かを制御するプロテクションレジスタ50(書込保護設定手段)と、SDRAM40へ書き込むアドレス等の比較を行う比較回路51(判断手段)と、比較回路による結果に応じて書き込みを抑制するゲート回路52(書換抑制手段)とから構成されている。尚、図4において、制御部14中で図2のCPU20内のROMコントローラ24及びLAN MAC25、フラッシュメモリ30、SRAM31、PHY32、交換処理部33については、記載を省略している。
CPU20内のDRAMコントローラ23は、SDRAMアクセス用ステートマシン23a及びリフレッシュカウンタ23bから構成される。SDRAMアクセス用ステートマシン23aは、SDRAM40に対して制御を行い、データの入出力を行うインタフェースである。リフレッシュカウンタ23bは、SDRAM40のバンクを指定し、特定時間(例えば16μs)毎にリフレッシュを行うためのカウンタである。
CPUコア21とSDRAMアクセス用ステートマシン23aは、内部バス26を介して接続されている。この内部バス26には、SDRAM40にアクセスするアドレスを指定するためのアドレスバス、及びSDRAM40に入出力されるデータをやり取りするデータバスが含まれる。またこの他に、CPUコア21は、SDRAM40に対する制御信号もSDRAMアクセス用ステートマシン23aに対して出力する。以下に、制御信号の詳細について説明する。
図4の例において、制御信号はCS信号401、RD信号402、WE信号403、及びBE信号404からなる。CS信号401は、SDRAM40を選択しているか否かを決定する信号であり、CPU20からSDRAM40にアクセスする際には、CS信号401がアクティブとなる。RD信号402は、SDRAM40からデータを読み込む際にアクティブとなり、WE信号403はSDRAM40にデータを書き込む際にアクティブとなる。
BE信号404は、処理単位である32ビットの内、どのバイトを有効とするかを選択するための信号である。BE信号404は32ビットバスをバイト(8ビット)毎に区切った信号であるので、即ち32÷8=4ビットの情報量を持つ。例えば上位1バイトのみを有効とする場合には、上位1バイトに対応する1ビットのBE信号404がアクティブ、残り3バイトに対応する3ビットのBE信号404が非アクティブとなる。
SDRAMアクセス用ステートマシン23aは、CPUコア21からの信号を受けて、SDRAM40に対して信号を出力する。SDRAM40及びSDRAMアクセスステートマシン23aは、アクセスするアドレスを指定するアドレス信号をやり取りするためのアドレスバス、及びデータのやり取りを行うためのデータバスで接続されている。また、これと共に、SDRAMアクセスステートマシン23aは、SDRAM40を制御するための制御信号も出力する。図4の例においてこの制御信号は、CAS信号405、RAS信号406、WE信号407、MCS信号408、BA信号409、CLK信号410、CKE信号411、及びDQMB信号412(有効領域指定信号)から構成される。
CLK信号410は、SDRAM40を動作させるためのクロックである。SDRAM40の全ての入力信号及びデータの入出力信号は、CLK信号410の立ち上がりエッジに同期する。CKE信号411は、CLK信号410が有効か否かを決定する信号である。あるCLK信号410の立ち上がりエッジで、CKE信号411がハイレベルのとき、次のCLK信号410の立ち上がりエッジが有効となる。
BA信号409は、アクセスするSDRAM40のバンクを指定するための信号である。例えば、SDRAM40がバンクを4つ持つ場合には、BA信号409は2ビットの情報量を持つ。
MCS信号408は、SDRAM40を選択しているか否かを決定する信号である。MCS信号408がアクティブのときに、SDRAM40に対してコマンドを入力することができる。
DQMB信号412は、例えば32ビットのデータを出力する際に、有効とする領域を指定することができる。DQMB信号412が2ビットの情報量を持つ場合には、扱う32ビットのうち、上位16ビット、下位16ビットをそれぞれ有効とするか否かをDQMB信号412により定めることができる。たとえば上位16ビットに対応するDQMB信号412がアクティブであれば、上位16ビットは無効となる。尚、このDQMB信号412は、CPUコア21からSDRAMアクセス用ステートマシン23aに対して入力されるBE信号404を受けた信号となる。DQMB信号412が例えば4ビットの情報量を持てば、BE信号404と同じ情報量となるので、BE信号404をそのままDQMB信号412とすることも可能である。以下、DQMB信号412は2ビットであるものとして説明を行う。
CAS信号405、RAS信号406、WE信号407は、コマンドを入力するために使用される。図5は、CAS信号405、RAS信号406、及びWE信号407を使用してSDRAM40に入力されるコマンドの例である。尚、この例において、CKE信号411はロウレベル(アクティブ)、MCS信号408はロウレベル(アクティブ)とする。
CBRリフレッシュコマンドは、リフレッシュカウンタ23bのタイミングに従って、一定時間毎に記憶素子の再充電を行うためのコマンドである。CBRリフレッシュコマンド入力後は、一定時間が経過するまで、全てのコマンドは受付不能となる。CBRリフレッシュコマンドは、RAS信号406及びCAS信号405をロウレベル、WE信号407をハイレベルとしてSDRAM40に入力される。
プリチャージコマンドは、SDRAM40の選択したバンクのプリチャージ動作を開始するコマンドである。尚プリチャージとは、データ読み出しの際に、記憶素子に対して電荷の補充を行う動作である。プリチャージコマンドは、RAS信号406及びWE信号407をロウレベル、CAS信号405をハイレベルとすることでSDRAM40に入力される。
アクティブコマンドは、BA信号で選択したバンクの行アドレスをラッチするためのコマンドである。アクティブコマンドが入力されている際のアドレス信号により、行アドレスが選択される。アクティブコマンドは、RAS信号406をロウレベル、CAS信号405及びWE信号407をハイレベルとすることでSDRAM40に入力される。
リードコマンドは、リード動作の開始と、列アドレスのラッチを行うコマンドである。列アドレスは、リードコマンドが入力されている際のアドレス信号により選択される。つまり、アクティブコマンド入力後にリードコマンドをSDRAM40に入力することにより、SDRAMアクセス用ステートマシン23aは、選択したアドレスのデータをデータバスを通じて読み込むことができる。リードコマンドは、RAS信号406及びWE信号407をハイレベル、CAS信号405をロウレベルとすることでSDRAM40に入力される。
ライトコマンドは、ライト動作の開始と、列アドレスのラッチを行うコマンドである。列アドレスは、ライトコマンドが入力されている際のアドレス信号により選択される。つまり、アクティブコマンド入力後にライトコマンドをSDRAM40に入力することにより、SDRAMアクセス用ステートマシン23aは、選択したアドレスのデータをデータバスを通じて書き込むことができる。ライトコマンドは、RAS信号406をハイレベル、CAS信号405及びWE信号407をロウレベルとすることでSDRAM40に入力される。
以上のような制御信号をSDRAM40に出力することで、SDRAMアクセス用ステートマシン23aは、SDRAM40に対する制御を行う。
再び図4の説明に戻ると、プロテクションレジスタ50は、SDRAM40に対する書込保護を行うか否かを設定するレジスタである。例えば、フラッシュメモリ30に格納された圧縮された動作プログラムを、CPU20が伸張したものをSDRAM40に対して書き込む際には、書込保護を行う必要は無い。しかしながら、プログラムをSDRAM40に書き込んだ後は、これを上書きしてプログラムが暴走してしまう可能性があるため、書込保護を行う必要がある。プロテクションレジスタ50は、この動作の切り替えを書込保護信号413(WP信号)の比較回路51への出力により行う。
比較回路51は、プロテクションレジスタ50の制御により書込保護を行うと判断されたとき、即ちWP信号413がアクティブなときに、アドレス信号、CAS信号405、RAS信号406、WE信号407、MCS信号408、及びBA信号409を参照し、データのSDRAM40への書き込みを行うか否かを判断し、この結果をWPACC信号414としてゲート回路に出力する。また、書き込みを行うか否かの判断結果は、NMI信号415(通知信号)として、CPU20の外部バスインタフェース22にも出力される。このNMI信号415は、プログラムエリア41への書込み、即ちプログラムの欠陥をデバッグするための履歴情報を保持したり、ソフトウェア異常のリカバリ等を目的として利用され、書き込み保護をかけない、SDRAM40へのプログラム転送時等の書込みにはNMI信号415を発生させないようにプロテクションレジスタ50と連動させる。ゲート回路52は、比較回路で判断された書込保護を行うか否かに基づいて、DQMB信号412を制御する。比較回路51及びゲート回路52の動作については、後に詳述する。
次に、SDRAMアクセス用ステートマシン23aによる、SDRAM40への通常の書込動作について説明を行う。以下の説明において、書込保護は行わないものとする。図6は、ライトサイクルの動作のタイミングチャートである。時刻T1において、MCS信号408がロウレベル(アクティブ)であり、また、RAS信号406がロウレベル、CAS信号405及びWE信号407がハイレベルであることから、図5の表に示したように、アクティブコマンドが入力されている。これにより、アドレス信号から、行アドレスがBA信号409からバンクが定められる。
次にT1に続く時刻T2において、MCS信号408がロウレベル(アクティブ)であり、RAS信号406がハイレベル、CAS信号405及びWE信号407がロウレベルであることから、図5の表に示したように、ライトコマンドが入力されている。これにより、アドレス信号から列アドレスが、BA信号409からバンクが取得される。
このT1及びT2で得られたバンク、行アドレス、列アドレスにより、書き込むべきアドレスが定められ、データバスを通じてSDRAMアクセス用ステートマシン23aから入力されるデータを書き込むことになる。図6の例では、データのバースト長は4であり、それぞれ32ビットの情報量を持つ。この32ビット中、例えば上位16ビットを無効とする場合には、SDRAMアクセス用ステートマシン23aは、上位16ビットに対応するDQMB信号412をロウレベル(アクティブ)とすれば良い。
続いて、比較回路51の動作について図7を参照しながら説明を行う。図7は、比較回路51の処理の流れを示すフローチャートである。まず比較回路51は、プロテクションレジスタ50から入力されるWP信号413がロウレベル(アクティブ)か否かを判断する(ステップ71)。WP信号413がハイレベル(非アクティブ)であれば、書き込みを保護する必要が無いと判断し、ゲート回路に出力するWPACC信号414をハイレベル(非アクティブ)とする(ステップ72)。これと共に、CPU20の外部バスインタフェース22へ出力するNMI信号415もハイレベル(非アクティブ)とする。
次に、アクティブコマンドがSDRAM40に入力されるか否かを判断する(ステップ73、図6における時刻T1)。この判断は、MCS信号408がロウレベル、RAS信号406がロウレベル、CAS信号405がハイレベル、WE信号407がハイレベルであれば、アクティブコマンドがSDRAM40に入力されると判断することが可能である。これが、アクティブコマンドでなければ(ステップ73のNo)、特に書込保護を行う必要が無いので、WPACC信号414をハイレベル(非アクティブ)としてゲート回路に、NMI信号415をハイレベル(非アクティブ)として外部バスインタフェース22に出力する(ステップ72)。ステップ73においてアクティブコマンドであれば(ステップ73のYes)、BA信号409、アドレス信号から、バンク及び行アドレスを取得する(ステップ74)。
さらに、アクティブコマンドの次に入力されるコマンドがライトコマンドであるか否かを判断する(ステップ75)。この判断は、図6の例であれば、時刻T2直前のCLK信号410の立下り時刻(T2’)から時刻T2までの間に行う。ライトコマンドでなければ(ステップ75のNo)、即ち、MCS信号408がロウレベル、RAS信号406がハイレベル、CAS信号405及びWE信号407がロウレベルでなければ、書き込みを保護する必要が無いと判断し、WPACC信号414をハイレベル(非アクティブ)としてゲート回路52に、NMI信号415をハイレベル(非アクティブ)として外部バスインタフェース22に出力する。
ライトコマンドであれば(ステップ75のYes)、BA信号409、アドレス信号からバンク及び列アドレスを取得する(ステップ76)。この結果、ステップ74及びステップ76で取得したアドレスが、書き込みを保護すべきエリア、即ち図3に示すプログラムエリア41にあるか否かを判断し(ステップ77)、プログラムエリア41内のアドレスであれば(ステップ77のYes)、書き込みを保護する必要があるものと判断してゲート回路52に出力するWPACC信号414、及び外部バスインタフェース22に出力するNMI信号415をそれぞれロウレベル(アクティブ)とする。プログラムエリア41内のアドレスでなければ、即ちデータエリア42内のアドレスであれば(ステップ77のNo)保護する必要が無いものと判断し、ゲート回路52に出力するWPACC信号414、及び外部バスインタフェース22に出力するNMI信号415をそれぞれハイレベル(非アクティブ)とする。
続いて、ゲート回路52の処理について図8を参照して説明する。ゲート回路52は、DQMB信号412をSDRAMアクセス用ステートマシン23aから、WPACC信号414を比較回路から入力し、SDRAM40にDQMB信号412を出力する。以下の説明において、ゲート回路52にSDRAMアクセス用ステートマシン23aから入力されるDQMB信号412をDQMBin信号、ゲート回路52からSDRAM40に出力するDQMB信号412をDQMBout信号と呼ぶ。尚、このDQMBin信号及びDQMBout信号は、上位16ビットに対するものでも、下位16ビットに対するものでも同一の動作をする。
図8は、ゲート回路52に入力されるDQMBin信号及びWPACC信号414と、ゲート回路52から出力するDQMBout信号との関係を示す図である。
DQMBin信号がロウレベル(アクティブ)である場合には、書き込みを保護する必要があるため、DQMBout信号を強制的にロウレベル(アクティブ)とする。DQMBin信号がハイレベル(非アクティブ)である場合には、書き込みを保護する必要が無いため、SDRAMアクセス用ステートマシン23aからの制御に従い、DQMBin信号がロウレベル(アクティブ)の場合にはDQMBout信号もロウレベル(アクティブ)に、DQMBin信号がハイレベル(非アクティブ)の場合にはDQMBout信号もハイレベル(非アクティブ)とする。
図9は、ゲート回路52により書込みが保護される場合に、ライトサイクルにおいてSDRAM40に入力される信号のタイミングチャートの例である。尚この図では、ライトコマンドが入力される時刻T2の直前のCLK信号410の立下り時刻T2’において比較回路にて書込保護を行うか否かを判断し、ゲート回路はこれを受けてDQMB信号412を制御している。
この図に示すように、時刻T2のライトコマンド入力時に、ゲート回路52によってDQMB信号412がロウレベル(アクティブ)となっているため、入力されるデータは、SDRAM40に書き込まれることは無い。
以上説明したように、本実施例によれば、書き込みを行うアドレスがプログラムエリア41のものか否かを比較回路51で判断し、書き込みを抑制すべきだと判断されれば、ゲート回路52のDQMB信号412をアクティブとすることで、プログラムエリア41への書き込みを抑制することができる。これにより、CPU20を制御する動作プログラムが上書きされることを抑制することができる。
さらに、WE信号407ではなく、DQMB信号412によりSDRAM40への書き込みを抑制しているので、WE信号407、CAS信号405、及びRAS信号406を用いるSDRAM40へのコマンドの入力を妨げることも無い。
また、プログラムエリア41への書込みが行われようとする際には、NMI信号415によりこれをCPUへ通知するので、プログラム異常のデバッグ等を行うことが可能となる。
本実施例によれば、プロテクションレジスタ50により、比較回路51及びゲート回路52による書込保護を行うか否かを制御するので、動作プログラムをプログラムエリア41に書き込む際には正常に処理した上で、後のプログラムエリア41へのデータの書き込みを禁止するといった制御を行うことができる。
尚、本実施例では、電話交換機10を例に説明を行っているがこの実施形態に限定されるものではなく、例えばCPU及びRAMを搭載する一般のコンピュータなどであっても良く、あるいは制御部14を実装した制御基板等であってもよい。
また、本実施例では、DRAMコントローラ23はCPU20の内部に設けられていたが、制御部14はこれを外部に備えても良い。DRAMコントローラ23を外部に設けた場合も、本実施例のように、SDRAMアクセスコントローラ23bとSDRAM40の間で同様に制御を行っても良いが、CPU20とSDRAMアクセス用ステートマシンとの間で処理を行うことも可能である。図10は、SDRAMアクセス用ステートマシン23a及びリフレッシュカウンタ23bをCPU20の外部に設けた場合であって、CPU20とSDRAMアクセス用ステートマシン23間で書込保護を行う場合の、SDRAM40に係る具体的な回路例を示した図である。
図10の例では、CPU20から出力されるアドレス信号、CS信号401、WE信号403が比較回路51に入力されるようになっている。この場合は、CS信号401及びWE信号403がアクティブであり、かつ、アドレス信号がSDRAM40のプログラムエリア41のアドレスを指していれば、WPACC信号414をアクティブとする。ゲート回路52はBE信号404に挟まれており、WPACC信号414がアクティブであれば、出力するBE信号404を全て(CPU20が32ビットでデータを処理する場合には4ビット全て)アクティブとする。WPACC信号が非アクティブである場合には、CPU20から出力されるBE信号404をそのままSDRAMアクセス用ステートマシン23aに出力する。これにより、本実施例と同様の効果を得ることが可能である。
本発明の実施例1に係る電話交換機の構成を示すブロック図。 本発明の実施例1に係る制御部の構成を示すブロック図。 本発明の実施例1に係るSDRAMの構成を示すブロック図。 本発明の実施例1に係る制御部中のSDRAMに係る具体的な回路例を示す図。 本発明の実施例1に係る制御部のSDRAMに入力されるコマンドの例を示す図。 本発明の実施例1に係る制御部のライトサイクルの動作にかかる信号のタイミングチャートの例を示す図。 本発明の実施例1に係る制御部の比較回路の処理の流れを示すフローチャート。 本発明の実施例1に係る制御部のゲート回路に係る信号の関係を示す図。 本発明の実施例1に係る制御部のゲート回路により書込みが保護される場合に、ライトサイクルにおいてSDRAMに入力される信号のタイミングチャートの例を示す図。 本発明の他の実施例に係る制御部のSDRAMに係る具体的な回路例を示す図。
符号の説明
10・・・電話交換機
11・・・トランクユニット
12・・・ラインカード
13・・・タイムスイッチ部
14・・・制御部
15・・・DTMF信号受信部
16・・・外部ネットワーク
17a、17n・・・内線端末
20・・・CPU
21・・・CPUコア
22・・・外部バスインタフェース
23・・・DRAMコントローラ
24・・・ROMコントローラ
25・・・LAN MAC
26・・・内部バス
30・・・フラッシュメモリ
31・・・SRAM
32・・・PHY
33・・・交換処理部
40・・・SDRAM
41・・・プログラムエリア
42・・・データエリア
50・・・プロテクションレジスタ
51・・・比較回路
52・・・ゲート回路
401・・・CS信号
402・・・RD信号
403・・・WE信号
404・・・BE信号
405・・・CAS信号
406・・・RAS信号
407・・・WE信号
408・・・MCS信号
409・・・BA信号
410・・・CLK信号
411・・・CKE信号
412・・・DQMB信号
413・・・WP信号
414・・・WPACC信号
415・・・NMI信号

Claims (5)

  1. データの書き換えが可能なRAMと、
    前記RAMのアドレスを指定するアドレス信号、及び前記RAMに出力する所定長のデータのうち前記RAMへの書き込みを有効とする領域を指定する有効領域指定信号に基づいて前記RAMの任意の領域に前記所定長のデータを書き込むデータ書込手段と、
    前記データ書込手段による前記RAMへの前記所定長のデータの書き込みを抑制するか否かを判断する判断手段と、
    前記判断手段により書き込みを抑制すると判断された場合に、前記有効領域指定信号を前記所定長のデータ全体に対して書き込みを無効とするものに変換する書換抑制手段と
    を備えることを特徴とする制御機器。
  2. 前記判断手段は、前記アドレスが前記RAMの書換禁止領域のものである場合に、前記データ書込手段による前記RAMへの前記所定長のデータの書き込みを抑制すると判断すること
    を特徴とする請求項1記載の制御機器。
  3. 前記書換禁止領域には、前記データ書込手段が実行するプログラムが格納されることを特徴とする請求項2記載の制御機器。
  4. 請求項1乃至請求項3記載の制御機器において、
    前記判断手段は、前記RAMへの前記所定長のデータの書き込みを抑制すると判断した場合に、前記所定長のデータの書き込みを抑制することを通知する通知信号を前記データ書込手段に出力すること
    を特徴とする制御機器。
  5. 請求項1乃至請求項3記載の制御機器において、
    前記判断手段による判断を行うか否かを切り換える書込保護設定手段をさらに備えることを特徴とする制御機器。
JP2005019056A 2005-01-27 2005-01-27 制御装置 Withdrawn JP2006209371A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005019056A JP2006209371A (ja) 2005-01-27 2005-01-27 制御装置
CNB2006100030483A CN100390761C (zh) 2005-01-27 2006-01-26 控制装置
US11/339,524 US20060190675A1 (en) 2005-01-27 2006-01-26 Control apparatus
GB0601637A GB2422695B (en) 2005-01-27 2006-01-26 Control apparatus for protecting an area of memory against rewriting
CA002534255A CA2534255A1 (en) 2005-01-27 2006-01-27 Control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005019056A JP2006209371A (ja) 2005-01-27 2005-01-27 制御装置

Publications (1)

Publication Number Publication Date
JP2006209371A true JP2006209371A (ja) 2006-08-10

Family

ID=36060953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005019056A Withdrawn JP2006209371A (ja) 2005-01-27 2005-01-27 制御装置

Country Status (5)

Country Link
US (1) US20060190675A1 (ja)
JP (1) JP2006209371A (ja)
CN (1) CN100390761C (ja)
CA (1) CA2534255A1 (ja)
GB (1) GB2422695B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007104092A1 (en) * 2006-03-15 2007-09-20 Stargames Corporation Pty Limited A method and arrangement for providing write protection for a storage device
US20150363333A1 (en) * 2014-06-16 2015-12-17 Texas Instruments Incorporated High performance autonomous hardware engine for inline cryptographic processing

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01213733A (ja) * 1988-02-22 1989-08-28 Fujitsu Ltd メモリ書込制御回路
JPH0259842A (ja) * 1988-08-25 1990-02-28 Fujitsu Ltd メモリプロテクト方式
JPH02178865A (ja) * 1988-12-29 1990-07-11 Nec Corp Iplプログラム破壊防止回路
JPH03192447A (ja) * 1989-12-22 1991-08-22 Casio Comput Co Ltd 可変長データ処理装置
JPH04268934A (ja) * 1991-02-25 1992-09-24 Matsushita Electric Ind Co Ltd メモリ誤書込み保護装置
US5467367A (en) * 1991-06-07 1995-11-14 Canon Kabushiki Kaisha Spread spectrum communication apparatus and telephone exchange system
JPH05173886A (ja) * 1991-12-19 1993-07-13 Nec Corp 書込み装置
JPH0675861A (ja) * 1992-08-25 1994-03-18 Fujitsu Ltd メモリアクセス保護装置
CN1109609A (zh) * 1994-03-28 1995-10-04 吴成峰 高速辅助存储器选择性禁止/允许读/写装置
JPH11110294A (ja) * 1997-10-01 1999-04-23 Toshiba Corp マイクロコンピュータ及び情報処理装置
JP2004039170A (ja) * 2002-07-05 2004-02-05 Renesas Technology Corp 半導体記憶装置
JP2004287541A (ja) * 2003-03-19 2004-10-14 Matsushita Electric Ind Co Ltd 不揮発性メモリのアクセス制御システム
TWI261757B (en) * 2003-04-30 2006-09-11 Hagiwara Sys Com Co Ltd USB storage device

Also Published As

Publication number Publication date
GB0601637D0 (en) 2006-03-08
US20060190675A1 (en) 2006-08-24
CA2534255A1 (en) 2006-07-27
CN1811736A (zh) 2006-08-02
GB2422695A (en) 2006-08-02
CN100390761C (zh) 2008-05-28
GB2422695B (en) 2007-04-18

Similar Documents

Publication Publication Date Title
JP5098391B2 (ja) 半導体メモリ、システムおよび半導体メモリの動作方法
KR100532448B1 (ko) 메모리의 리프레시 주기를 제어하는 메모리 컨트롤러 및리프레시 주기 제어 방법
JP5908375B2 (ja) 半導体記憶装置
JP2004280790A (ja) Ecc制御装置
CN101281494A (zh) 使用动态随机存取存储器和闪存的系统和方法
US6523755B2 (en) Semiconductor memory device
JP4111789B2 (ja) 半導体記憶装置の制御方法及び半導体記憶装置
KR100212142B1 (ko) 매크로 명령기능을 가진 동기식 반도체 메모리장치와 매크로 명령의 저장 및 실행방법
JP2008210088A (ja) メモリコントローラ、半導体メモリのアクセス制御方法およびシステム
US20060044912A1 (en) Method and apparatus for refreshing memory device
US7152150B2 (en) DRAM having SRAM equivalent interface
US7315928B2 (en) Apparatus and related method for accessing page mode flash memory
JP2006209371A (ja) 制御装置
US8218389B2 (en) Semiconductor storage device and control method of the same
JP4280239B2 (ja) 半導体記憶装置
US20050223157A1 (en) Fast non-volatile random access memory in electronic devices
JP2005322390A (ja) 書込み動作時にメモリセルアレイの一部領域に書込まれるデータをマスキングする半導体メモリ装置及びそのマスキング方法
US7395399B2 (en) Control circuit to enable high data rate access to a DRAM with a plurality of areas
JP2004087048A (ja) 半導体記憶装置
JP6133386B2 (ja) 半導体メモリ装置
KR20000009381A (ko) 컴퓨터 시스템의 메모리 쓰기 보호 장치
CN117851274A (zh) Dram行管理方法、设备及计算机可读存储介质
JPH02130792A (ja) メモリアクセス制御回路
JP2009193310A (ja) メモリアクセス制御方法
JPS58149540A (ja) 制御記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071108

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071108

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20081031