(57)【要約】【課題】容量の少ないＲＡＭをＲＯＭデータ訂正用のＲＡＭとして用いても、マスクＲＯＭの全アドレスのデータの変更を行うことのできる半導体記憶装置を提供する。【解決手段】マスクＲＯＭ１と同一のアドレス領域を有するＲＡＭ２には、マスクＲＯＭ１のデータの変更情報がコード化されて格納され、データ変更部３は、ＲＡＭ２から読み出された変更情報にもとづいて、マスクＲＯＭ１から読み出されたデータを変更する。【選択図】図１
2010182274.tif 000002
【特許請求の範囲】
【請求項１】
マスクＲＯＭと、
前記マスクＲＯＭと同一のアドレス領域を有し、前記マスクＲＯＭのデータの変更情報がコード化されて格納されたＲＡＭと、
前記ＲＡＭから読み出された前記変更情報にもとづいて、前記マスクＲＯＭから読み出されたデータを変更するデータ変更手段と
を備えることを特徴とする半導体記憶装置。
【請求項２】
前記ＲＡＭに格納される前記変更情報が、
前記マスクＲＯＭのデータの変更ビット位置を示すバイナリコードである
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記変更手段が、
前記ＲＡＭから読み出された前記バイナリコードをデコードし、前記マスクＲＯＭから読み出されたデータの前記変更ビット位置の値を反転させる
ことを特徴とする請求項２に記載の半導体記憶装置。
【請求項４】
前記ＲＡＭに格納される前記変更情報が、
前記マスクＲＯＭのデータの変更後のデータに対する誤り訂正符号である
ことを特徴とする請求項１に記載の半導体記憶装置。
【請求項５】
前記変更手段が、
前記マスクＲＯＭから読み出されたデータに前記ＲＡＭから読み出された前記誤り訂正符号を付加して前記マスクＲＯＭから読み出されたデータ対する誤り訂正演算を行う
ことを特徴とする請求項４に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関する。
【背景技術】
【０００２】
一般に、マスクＲＯＭのデータの修正あるいは変更には、マスクの作り直しが必要となる。しかし、マスクの作り直しには時間がかかるため、製品開発の遅れを招く。
【０００３】
この開発期間の増大を防ぐため、従来、マスクＲＯＭとともにＲＡＭを搭載し、マスクＲＯＭのデータの修正が必要な場合には、そのアドレス情報と修正データをＲＡＭに格納し、ＲＯＭデータの代わりにＲＡＭから読み出した修正データを使用することが行われている（例えば、特許文献１参照。）。
【０００４】
しかし、上述の方法では、ＲＡＭの容量をどの程度にすればよいかの判断が難しい。ＲＡＭのチップ上の面積は同じ容量のマスクＲＯＭの面積に比べて格段に大きいので、通常、修正の範囲を一定領域に限定して、ＲＡＭの容量が決定されている。そのため、その領域以外の修正が必要になった場合、その修正に対応できない、という問題があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平２−２０８７２５号公報  （第２−３ページ、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
そこで、本発明の目的は、容量の少ないＲＡＭをＲＯＭデータ訂正用のＲＡＭとして用いても、マスクＲＯＭの全アドレスのデータの変更を行うことのできる半導体記憶装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、マスクＲＯＭと、前記マスクＲＯＭと同一のアドレス領域を有し、前記マスクＲＯＭのデータの変更情報がコード化されて格納されたＲＡＭと、前記ＲＡＭから読み出された前記変更情報にもとづいて、前記マスクＲＯＭから読み出されたデータを変更するデータ変更手段とを備えることを特徴とする半導体記憶装置が提供される。
【発明の効果】
【０００８】
本発明によれば、少ないＲＡＭ容量で、マスクＲＯＭの全アドレスのデータの変更を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る半導体記憶装置の構成の例を示すブロック図。
【図２】本発明の実施例１に係る半導体記憶装置の構成の例を示すブロック図。
【図３】実施例１の半導体記憶装置のデコーダの入出力関係の例を示す真理値表。
【図４】実施例１の半導体記憶装置の指定ビットデータ反転部の構成の例を示す回路図。
【図５】本発明の実施例２に係る半導体記憶装置の構成の例を示すブロック図。
【図６】実施例２の半導体記憶装置におけるＲＯＭデータ変更処理の流れを示すフロー図。
【発明を実施するための形態】
【００１０】
図１は、本発明の実施の形態に係る半導体記憶装置の構成の例を示すブロック図である。
【００１１】
本実施の形態の半導体記憶装置は、マスクＲＯＭ１と、マスクＲＯＭ１と同一のアドレス領域を有し、マスクＲＯＭ１のデータの変更情報がコード化されて格納されたＲＡＭ２と、ＲＡＭ２から読み出された変更情報にもとづいて、マスクＲＯＭ１から読み出されたデータを変更するデータ変更部３と、を備える。
【００１２】
ここで、マスクＲＯＭ１は、マイクロコンピュータで実行されるマイクロコードが格納されるものとする。マスクＲＯＭ１に格納されるデータがマイクロコードである場合、そのデータの１ビットのデータを変更することで、マイクロコンピュータの主メモリにプログラムの実行を移すことが容易に行える。そこで、本実施の形態では、マスクＲＯＭ１のデータの１ビットのみ変更するものとし、その変更情報をＲＡＭ２に格納するものとする。
【００１３】
その際、ＲＡＭ２には、変更データをそのまま格納するのではなく、マスクＲＯＭ１のデータの変更ビット位置を示す情報をコード化して格納する。これにより、ＲＡＭ２に格納する情報量が圧縮される。
【００１４】
データ変更部３は、ＲＡＭ２から読み出された変更情報のコードを解読し、その変更情報で指定されたビット位置のデータを変更する。
【００１５】
このような本実施の形態によれば、ＲＡＭ２のアドレス領域をマスクＲＯＭ１と同じにして、マスクＲＯＭ１の全アドレスのデータの変更を可能にしても、マスクＲＯＭ１のデータの変更情報がコード化されてＲＡＭ２に格納されるので、ＲＡＭ２の記憶容量を少なくすることができる。
【００１６】
以下、本発明の実施例について図面を参照して説明する。なお、図中、同一または相当部分には同一の符号を付して、その説明は繰り返さない。
【実施例１】
【００１７】
図２は、本発明の実施例１に係る半導体記憶装置の構成の例を示すブロック図である。本実施例では、マスクＲＯＭ１の変更ビット位置を示す情報をバイナリコード化してＲＡＭ２に格納する例を示す。
【００１８】
本実施例の半導体記憶装置は、マスクＲＯＭ１と、ＲＡＭ２と、データ変更部３１と、を備える。
【００１９】
ここで、マスクＲＯＭ１は、ビット数が２ｎビットであるものとする。したがって、このマスクＲＯＭ１の変更ビット位置を示す情報は、２ｎビットのデータの中のいずれか１ビットのビット位置を示す情報となる。ここでは、その情報を変更ビット位置指定情報と称する。
【００２０】
ＲＡＭ２には、その変更ビット位置指定情報をバイナリコード化した変更ビット位置指定情報バイナリコードを格納するものとする。この変更ビット位置指定情報バイナリコードのビット数はｎビットである。したがって、ＲＡＭ２のビット数はｎビットとなる。
【００２１】
例えば、マスクＲＯＭ１のビット数が８（＝２３）ビットのときは、ＲＡＭ２のビット数は３ビット、マスクＲＯＭ１のビット数が１６（＝２４）ビットのときは、ＲＡＭ２のビット数は４ビット、マスクＲＯＭ１のビット数が３２（＝２５）ビットのときは、ＲＡＭ２のビット数は５ビット、となる。
【００２２】
データ変更部３１は、ＲＡＭ２から読み出された変更ビット位置指定情報バイナリコードをデコードするデコーダ３１１と、マスクＲＯＭ１から読み出されたＲＯＭデータに対して、デコーダ３１１から出力された変更ビット位置指定データで指定されたビット位置のデータを反転させる指定ビットデータ反転部３１２と、を有する。
【００２３】
図３に、デコーダ３１１の変更ビット位置指定情報バイナリコード入力と、変更ビット位置指定データ出力との関係の例を、変更ビット位置指定情報バイナリコードが３ビットの場合を例にとって示す。
【００２４】
この例では、入力の変更ビット位置指定情報バイナリコードＢ２〜Ｂ０の値に対して、出力の変更ビット位置指定データＳ７〜Ｓ０のいずれか１ビットの値が‘１’となる。
【００２５】
なお、ＲＯＭデータの変更を行わない場合は、そのデータが格納されているアドレスのアドレス信号が入力されたときに、”無変更”信号を入力する。これにより、変更ビット位置指定データＳ７〜Ｓ０の値は、総て‘０’となる。
【００２６】
ＲＯＭデータの変更とは指定ビットのデータを反転させることであるから、指定ビットデータ反転部３１２は、マスクＲＯＭ１から読み出されたＲＯＭデータに対して、デコーダ３１１から出力された変更ビット位置指定データで指定されたビット位置のデータを反転させる。
【００２７】
図４に、指定ビットデータ反転部３１２の具体的な回路の構成例を示す。ここでは、変更ビット位置指定データとして図３の例のＳ７〜Ｓ０が入力される例を示す。
【００２８】
この場合、指定ビットデータ反転部３１２は、マスクＲＯＭ１から読み出されたＲＯＭデータＤ７〜Ｄ０と変更ビット位置指定データＳ７〜Ｓ０がビットごとに入力される８個のＥＸ−ＯＲゲートＥＸ７〜ＥＸ０で構成される。
【００２９】
ＥＸ−ＯＲゲートＥＸ７〜ＥＸ０の出力は、変更ビット位置指定データＳ７〜Ｓ０が‘０’のときはＲＯＭデータＤ７〜Ｄ０の値と同じ値となるが、変更ビット位置指定データＳ７〜Ｓ０が‘１’のときはＲＯＭデータＤ７〜Ｄ０の値を反転した値となる。
【００３０】
ＥＸ−ＯＲゲートＥＸ７〜ＥＸ０の出力を変更後データＭ７〜Ｍ０とすると、この変更後データＭ７〜Ｍ０は、変更ビット位置指定データＳ７〜Ｓ０が‘１’のビットのみＲＯＭデータＤ７〜Ｄ０の値を反転したデータとなる。
【００３１】
このような本実施例によれば、２ｎビットのマスクＲＯＭ１のデータをｎビットのＲＡＭ２を用いて変更することができる。
【実施例２】
【００３２】
本実施例では、誤り訂正演算を行うことによりマスクＲＯＭ１のデータを変更する例を示す。
【００３３】
通常、メモリデータに対する誤り訂正処理は、メモリに書き込むデータに対して誤り訂正符号を付加し、メモリから読み出したデータに誤りがあった場合はその誤りを訂正し、メモリに書き込んだデータが得られるようにするために行われる。
【００３４】
それに対して、本実施例では、マスクＲＯＭ１の変更後のデータに対する誤り訂正符号を生成し、その誤り訂正符号をマスクＲＯＭ１のデータに付加し、マスクＲＯＭ１のデータに対する誤り訂正演算を行うようにする。このような誤り訂正演算を行うと、マスクＲＯＭ１のデータは、変更後のデータに対しては誤りデータとみなされる。したがって、マスクＲＯＭ１のデータに対する誤り訂正が行われる。その誤り訂正演算の結果として、所望の変更後のデータが出力される。
【００３５】
図５は、本発明の実施例２に係る半導体記憶装置の構成の例を示すブロック図である。
【００３６】
本実施例の半導体記憶装置は、マスクＲＯＭ１と、ＲＡＭ２と、データ変更部３２と、を備える。
【００３７】
本実施例では、ＲＡＭ２に、マスクＲＯＭ１の変更後のデータに対する誤り訂正符号が格納される。例えば、マスクＲＯＭ１のビット数が３２ビットの場合は６ビット、６４ビットの場合は８ビットの誤り訂正符号が格納される。この誤り訂正符号より、マスクＲＯＭ１の１ビットのデータを変更することができる。
【００３８】
データ変更部３２は、マスクＲＯＭ１から読み出されたＲＯＭデータにＲＡＭ２から読み出された誤り訂正符号を付加するデータ結合部３２１と、データ結合部３２１から出力されたデータに対して誤り訂正演算を行う誤り訂正演算部３２２と、を有する。
【００３９】
図６に、本実施例におけるＲＯＭデータ変更処理の流れをフロー図により示す。
【００４０】
本フローによる処理では、まず、変更後のデータに対する誤り訂正符号の算出を行い（ステップＳ０１）、その誤り訂正符号をＲＡＭ２へ格納する（ステップＳ０２）。
【００４１】
その後、ＲＯＭ１からＲＯＭデータの読み出しが行われると、同時にＲＡＭ２から誤り訂正符号の読み出しが行われる（ステップＳ０３）。
【００４２】
このＲＯＭ１から読み出されたＲＯＭデータに対して、データ結合部３２１が、ＲＡＭ２から読み出された誤り訂正符号を付加する（ステップＳ０４）。
【００４３】
この誤り訂正符号が付加されたＲＯＭデータに対して、誤り訂正演算部３２２が、誤り訂正演算を行う（ステップＳ０５）。この誤り訂正演算の結果、誤り訂正演算部３２２から所望の変更後データが出力される。
【００４４】
なお、データの変更を行わないアドレスのデータに対しては、現在のＲＯＭデータに対する誤り訂正符号を生成し、ＲＡＭ２に格納する。これにより、誤り訂正演算部３２２から出力されるデータは、現在のＲＯＭデータのままとなる。
【００４５】
このような本実施例によれば、変更後のデータに対する誤り訂正符号の算出を行い、その誤り訂正符号をＲＡＭ２へ格納することにより、ＲＯＭ１のデータを所望のデータへ変更することができる。
【符号の説明】
【００４６】
１  マスクＲＯＭ
２  ＲＡＭ
３、３１、３２  データ変更部
３１１  デコーダ
３１２  指定ビットデータ反転部
３２１  データ結合部
３２２  誤り訂正演算部
ＥＸ７〜ＥＸ０  ＥＸ−ＯＲゲート
【図１】
2010182274.tif 000003
【図２】
2010182274.tif 000004
【図３】
2010182274.tif 000005
【図４】
2010182274.tif 000006
【図５】
2010182274.tif 000007
【図６】
2010182274.tif 000008