JP2007220211A - 半導体メモリ - Google Patents

半導体メモリ Download PDF

Info

Publication number
JP2007220211A
JP2007220211A JP2006039854A JP2006039854A JP2007220211A JP 2007220211 A JP2007220211 A JP 2007220211A JP 2006039854 A JP2006039854 A JP 2006039854A JP 2006039854 A JP2006039854 A JP 2006039854A JP 2007220211 A JP2007220211 A JP 2007220211A
Authority
JP
Japan
Prior art keywords
data
semiconductor memory
conversion unit
read
conversion
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.)
Granted
Application number
JP2006039854A
Other languages
English (en)
Other versions
JP4762752B2 (ja
Inventor
Toshio Ogawa
敏男 小川
Yoshihiro Takemae
義博 竹前
Yoshinori Okajima
義憲 岡島
Tetsuhiko Endo
哲彦 遠藤
Yasuro Matsuzaki
康郎 松崎
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006039854A priority Critical patent/JP4762752B2/ja
Priority to US11/443,109 priority patent/US7937645B2/en
Publication of JP2007220211A publication Critical patent/JP2007220211A/ja
Application granted granted Critical
Publication of JP4762752B2 publication Critical patent/JP4762752B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

Landscapes

  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Dram (AREA)

Abstract

【課題】 システムのパフォーマンスを向上し、半導体メモリに書き込まれたデータのセキュリティを守る。
【解決手段】 変換制御部は、書き込みデータ変換部または読み出しデータ変換部の変換機能を、コントローラ毎に有効または無効に設定する。したがって、元の外部データが必要なコントローラに対しては外部データを入出力でき、変換された内部データが必要なコントローラに対しては内部データを入出力できる。従来のコントローラが持っていたデータ変換機能を半導体メモリ内で実現できるため、コントローラの負荷を軽減できる。この結果、システムのパフォーマンスを向上できる。アクセス権のない無効なコントローラは、正しいデータ(変換前の元のデータ)を読み出すことができない。したがって、半導体メモリに書き込まれたデータのセキュリティを守ることができる。
【選択図】 図1

Description

本発明は、外部から供給されるデータを別のデータに変換する機能を有する半導体メモリに関する。
暗号化等により元のデータを別のデータに変換することは、データの不正なアクセスを防止するために重要である。データの暗号化が必要なセキュリティシステムでは、暗号化され半導体メモリに格納されたデータは、復号することにより読み出される。一般に、暗号化および復号化は、半導体メモリをアクセスするコントローラにより実行される。具体的には、暗号化および復号化は、ソフトウエアあるいはコントローラに形成されたハードウエアにより実行される(例えば、特許文献1参照)。
特開2005−78459号公報
従来のセキュリティシステムでは、暗号化および復号化は、CPU等のコントローラにより実行される。コントローラは、データを暗号化し、暗号化したデータを半導体メモリに書き込む。また、コントローラは、暗号化されたデータを半導体メモリから読み出し、読み出したデータを元のデータに復号する。あるいは、コントローラは、半導体メモリに格納されている暗号化されたデータを、復号することなくハードディスク装置等に転送する。このように、半導体メモリには、暗号化されたデータのみが入出力される。
一般に、コントローラが持つ機能を外部デバイスに移行することにより、コントローラの負荷は軽減され、システムのパフォーマンスは向上する。しかしながら、暗号機能および復号機能を持つ半導体メモリは提案されていない。
暗号機能および復号機能を半導体メモリ内で実現する場合、半導体メモリは、暗号化されていないデータと暗号化されたデータの両方を入出力する必要がある。具体的には、コントローラから半導体メモリに供給されるデータは、暗号化されていない。一方、半導体メモリ内の暗号化されたデータがハードディスク装置等に転送される場合、半導体メモリから出力されるデータは、暗号化されている。しかしながら、暗号化されたデータと暗号化されていないデータとが入出力される場合の半導体メモリMEMの動作手法および回路技術は、検討されていない。さらに、半導体メモリは、システム内の複数のコントローラによりアクセスされる可能性がある。このため、暗号機能および復号機能を有する半導体メモリでは、アクセス権の制御手法を新たに検討する必要がある。
本発明の目的は、データの変換機能を持つ半導体メモリを提供することにより、システムのパフォーマンスを向上することにある。特に、変換機能を有効または無効に設定可能な半導体メモリを提供することにより、半導体メモリに書き込まれたデータのセキュリティを守ることにある。
本発明の一形態では、変換制御部は、書き込みデータ変換部または読み出しデータ変換部の変換機能を、メモリセルアレイにデータを入力または出力するコントローラ毎に有効または無効に設定する。書き込みデータ変換部は、有効に設定されているときに、外部から供給される外部データを内部データに変換する。内部データは、メモリセルアレイに記憶される。読み出しデータ変換部は、有効に設定されているときに、メモリセルアレイか
ら読み出される内部データを元の外部データに変換する。例えば、書き込みデータ変換部または読み出しデータ変換部は、キーレジスタに格納されている変換キーを用いて変換動作を実行する。
書き込みデータ変換部および読み出しデータ変換部の変換機能を無効にできるため、外部から供給される既に内部データに変換されたデータをメモリセルアレイに書き込むことができる。また、メモリセルアレイに書き込まれた内部データを外部に直接出力できる。したがって、元の外部データが必要なコントローラに対しては外部データを入出力でき、内部データが必要なコントローラに対しては内部データを入出力できる。すなわち、コントローラ毎に必要なデータを入出力できる。したがって、従来のコントローラが持っていたデータ変換機能を半導体メモリ内で実現できるため、コントローラの負荷を軽減できる。この結果、システムのパフォーマンスを向上できる。
また、例えば、半導体メモリに対するアクセス権のない無効なコントローラは、正しいデータ(変換前の元のデータ)を読み出すことができない。したがって、半導体メモリに書き込まれたデータのセキュリティを守ることができる。
本発明の一形態における好ましい例では、書き込みデータ変換部および読み出しデータ変換部は、変換レジスタに格納されている変換情報に対応する変換方法を用いて変換動作を実行する。複数の変換方法を選択的に使用できるため、半導体メモリに書き込まれたデータのセキュリティを向上できる。また、半導体メモリが搭載されるシステムに応じて変換方法を最適に設定できる。
本発明の一形態における好ましい例では、内部データを記憶するためにメモリセルアレイに割り当てられる記憶領域の大きさは、領域レジスタの設定値に応じて変更される。このため、システムの仕様に応じた最適な容量の記憶領域を有する半導体メモリを、1つのチップで実現できる。
本発明の一形態における好ましい例では、イネーブルレジスタは、書き込みデータ変換部および読み出しデータ変換部の有効/無効を示す有効情報を、コントローラにそれぞれ対応して記憶する。変換制御部は、書き込みデータ変換部または読み出しデータ変換部を、イネーブルレジスタに保持されている有効情報に応じてそれぞれ有効または無効に設定する。これにより、アクセス権のないコントローラによる半導体メモリのアクセス時に、変換動作を禁止できる。したがって、半導体メモリに保持されたデータのセキュリティを守ることができる。
本発明の一形態における好ましい例では、コード生成部は、内部データのエラーを訂正するためのエラー訂正コードを生成する。エラー訂正部は、エラー訂正コードを用いて内部データのエラーを検出し、エラー訂正可能なエラーを訂正する。メモリセルアレイは、エラーコード領域にエラー訂正コードを記憶する。エラー訂正機能を付加することにより、データの信頼性を向上できる。
本発明の一形態における好ましい例では、書き込みデータ変換部および読み出しデータ変換部は、論理をプログラム可能なフィールドプログラマブル部に形成される。不揮発性のプログラム領域は、フィールドプログラマブル部の論理を構成するためのプログラムが格納される。これにより、データの変換機能をシステムの仕様に合わせてシステム上で変更できる。
従来のコントローラが持っていたデータ変換機能を半導体メモリ内で実現できるため、
コントローラの負荷を軽減できる。この結果、システムのパフォーマンスを向上できる。また、半導体メモリに書き込まれたデータのセキュリティを守ることができる。
以下、本発明の実施形態を図面を用いて説明する。図中の二重丸は、外部信号を受ける外部端子を示している。太線で示した信号線は、複数本で構成されている。また、太線が接続されているブロックの一部は、複数の回路で構成されている。信号が伝達される信号線には、信号名と同じ符号を使用する。
図1は、本発明の第1の実施形態を示している。半導体メモリMEMは、例えば、DRAMのメモリセル(ダイナミックメモリセル)を有し、SRAMのインタフェースを有するFCRAM(Fast Cycle RAM)チップとして形成されている。FCRAMは、擬似SRAMの一種であり、外部からリフレッシュコマンドを受けることなく、チップ内部で定期的にリフレッシュ動作を実行し、メモリセルに書き込まれたデータを保持する。半導体メモリMEMは、システム基板上で、システムバスSBUSを介してマイクロコントローラCPU)、DMAC(Direct Memory Access Controller)およびハードディスクドライブ装置HDDに接続されている。メモリMEM、CPU、DMACおよびHDDによりシステムSYSが構成されている。なお、システムSYSをSIP(System In Package)技術を用いて構成してもよい。
CPUは、システムSYS全体の動作を制御し、メモリMEMにデータを読み書きする。DMACは、CPUからの転送要求に応答して、メモリMEMとHDDとの間でデータを転送する。システムバスSBUSは、アドレス線AD、データ線DTおよび制御線CNTで構成されている。制御信号CNTは、例えば、チップセレクト信号およびライトイネーブル信号であり、CPUおよびDMACからメモリMEMおよびHDDに出力される。
この実施形態では、メモリMEMおよびHDDには、暗号化された内部データが書き込まれる。CPUとメモリMEM間で入出力されるデータは、暗号化されていない外部データである。DMACの動作によりメモリMEMとHDD間で入出力されるデータは、暗号化された内部データである。すなわち、暗号化されたデータと暗号化されていないデータの両方が、データ線DT上に伝達される。したがって、メモリMEMは、受けたデータが暗号化されているか否かを、アクセスされるコントローラ(この例ではCPUまたはDMAC)に応じて識別する必要がある。また、メモリMEMは、暗号化されたデータを出力するか、復号されたデータを出力するかを、データを転送するコントローラ(この例ではCPUまたはHDD)に応じて判断する必要がある。
メモリMEMは、エンコーダENC(書き込みデータ変換部)、デコーダDEC(読み出しデータ変換部)、イネーブルレジスタENRを含む変換制御部CNVC、キーレジスタKEYR、動作制御回路OPC、メモリセルアレイARYおよびアドレスデコーダADECを有している。
エンコーダENCは、エンコードイネーブル信号ENCENが高レベルに活性化されているときに、外部データ端子DTで受けたデータを暗号化し、暗号化したデータをメモリセルアレイARYに出力する。エンコーダENCは、エンコードイネーブル信号ENCENが低レベルに非活性化されているときに、暗号機能を無効にする。このため、外部データ端子DTで受けたデータは、エンコーダENCを通ってメモリセルアレイARYに出力される。
デコーダDECは、デコードイネーブル信号DECENが高レベルに活性化されているときに、メモリセルアレイARYから読み出された暗号化されたデータを復号し、復号し
たデータを外部データ端子DTに出力する。デコーダDECは、デコードイネーブル信号DECENが低レベルに非活性化されているときに、復号機能を無効にする。このため、メモリセルアレイARYから読み出された暗号化されたデータは、復号されることなくデコーダDECを通って外部データ端子DTに出力される。
イネーブルレジスタENRは、エンコーダENCの有効/無効を示す有効情報を記憶する書き込みフラグWFと、デコーダDECの有効/無効を示す有効情報を記憶する読み出しフラグRFとを有している。イネーブルレジスタENRは、メモリMEMの外部から書き替え可能である。例えば、イネーブルレジスタENRは、CPUのI/O空間に割り当てられている。
変換制御部CNVCは、書き込みフラグWFが有効に設定されているときにエンコードイネーブル信号ENCENを高レベルに活性化し、書き込みフラグWFが無効に設定されているときにエンコードイネーブル信号ENCENを低レベルに非活性化する。また、変換制御部CNVCは、読み出しフラグRFが有効に設定されているときにデコードイネーブル信号DECENを高レベルに活性化し、読み出しフラグRFが無効に設定されているときにデコードイネーブル信号DECENを低レベルに非活性化する。
イネーブルレジスタENRの設定状態に応じて、暗号化されていないデータのメモリMEMへの入出力と、暗号化されたデータのメモリMEMへの入出力とを容易に切り替えることができる。これにより、暗号機能および復号機能をメモリMEM内で実現でき、CPUの負荷を軽くできる。この結果、システムSYSのパフォーマンスを向上できる。
キーレジスタKEYRは、圧縮および復号に使用する変換キーを記憶している。変換キーのキーレジスタKEYRへの書き込みは、メモリMEMの製造工程で実施される。例えば、変換キーの情報は、配線層を形成するためのフォトマスクのパターンとして形成されている。なお、キーレジスタKEYRを、読み書き可能にするためにRAMまたはラッチを用いて形成してもよい。また、圧縮/復号方式によっては、キーレジスタKEYRに、圧縮用の変換キーと復号用の変換キーをそれぞれ格納してもよい。
動作制御回路OPCは、外部制御端子CNTを介して供給されるコマンド信号に応じて、メモリセルアレイARYをアクセスするためのアクセス制御信号を出力する。また、動作制御回路OPCは、エンコーダENCおよびデコーダDECの動作タイミングを制御する。アドレスデコーダADECは、外部アドレス端子ADを介して供給されるアドレス信号ADをデコードし、アクセスされるメモリセルを選択するデコード信号を出力する。メモリセルアレイARYは、マトリックス状に配置されたメモリセルを有している。
この実施形態では、CPUは、システムSYSの外部から受けたデータあるいはシステムSYS内で生成されたデータをメモリMEMに書き込む。CPUは、データをメモリMEMに書き込む前に、イネーブルレジスタENRをアクセスし、書き込みフラグWFを有効に設定する。これにより、エンコーダENCの暗号機能が有効になる。CPUから転送されるデータは、デコーダDECにより暗号化された後にメモリセルアレイARYに書き込まれる。
また、CPUは、メモリMEMに保持されているデータを読み出す前に、イネーブルレジスタENRをアクセスし、読み出しフラグRFを有効に設定する。これにより、デコーダDECの復号機能が有効になる。デコーダDECは、元のデータを復元するために、メモリセルアレイARYから読み出されたデータを復号し、復号したデータを外部データ端子DTに出力する。
一方、CPUは、メモリMEMに保持されているデータをHDDに転送する場合、DMACにシステムバスSBUSの使用権を渡す前にイネーブルレジスタENRをアクセスし、読み出しフラグRFを無効に設定する。これにより、デコーダDECの復号機能が無効になる。この後、CPUがDMACに転送開始要求を発行することにより、DMACの動作が開始される。例えば、DMACは、メモリMEMへの読み出しアクセスとHDDへの書き込みアクセスを交互に実行する。デコーダDECは、メモリセルアレイARYから読み出されたデータを復号することなく、外部データ端子DTにそのまま出力する。すなわち、暗号化されたデータがHDDに書き込まれる。
また、CPUは、HDDに保持されているデータをメモリMEMに転送する場合、DMACにシステムバスSBUSの使用権を渡す前にイネーブルレジスタENRをアクセスし、書き込みフラグWFを無効に設定する。これにより、エンコーダENCの暗号機能が無効になる。この後、CPUがDMACに転送開始要求を発行することにより、暗号化されたデータはHDDからメモリMEMに転送される。エンコーダENCは、HDDから供給されたデータを暗号化することなく、メモリセルアレイARYにそのまま書き込む。すなわち、暗号化されたデータがHDDからメモリMEMに転送される。このように、メモリMEMに書き込まれたデータ(暗号データ)は、CPUによる読み出しアクセスによってのみ復号される。このため、メモリMEMに書き込まれたデータのセキュリティを守ることができる。
なお、CPUは、メモリセルアレイARYの動作をテストするテストモード中に、書き込みフラグWFおよび読み出しフラグRFを無効にしてもよい。この場合、CPUは、データを暗号化することなくメモリセルに書き込むことができ、データを復号することなくメモリセルから読み出すことができる。この結果、メモリセルアレイARYの動作を容易に試験できる。
以上、第1の実施形態では、暗号機能および復号機能をメモリMEM内で実現できるため、CPUの負荷を軽くでき、システムSYSのパフォーマンスを向上できる。CPU以外のコントローラ(DMAC)がメモリMEMをアクセスするときに、暗号機能および復号機能が無効なるため、メモリMEMに書き込まれたデータのセキュリティを守ることができる。
図2は、本発明の第2の実施形態を示している。第1の実施形態で説明した要素と同種の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、メモリセルアレイARYおよびハードディスクドライブ装置HDDは、暗号データではなく、圧縮データを保持する。このため、半導体メモリMEMは、第1の実施形態のエンコーダENCおよびデコーダDECの代わりに、圧縮器CMP(書き込みデータ変換部)および解凍器DECMP(読み出しデータ変換部)を有する。圧縮器CMPは、データの圧縮機能を有する。解凍器DECMPは、データの解凍機能を有する。
また、半導体メモリMEMは、第1の実施形態のキーレジスタKEYRの代わりに変換レジスタCNVRを有している。また、半導体メモリMEMは、アドレス端子ADで受けるアドレスADを、圧縮、解凍のアルゴリズムに応じて変換するためのアドレス変換部ADCを有している。その他の構成は、第1の実施形態とほぼ同じである。すなわち、半導体メモリMEMは、FCRAMとして形成されている。圧縮されていないデータは、CPUとメモリMEM間で転送される。圧縮されたデータは、DMACを用いてメモリMEMとHDD間で転送される。
変換レジスタCNVRは、データを圧縮または解凍するためのアルゴリズム(変換方法)を示す変換情報を記憶する。変換レジスタCNVRは、データ線DTに接続されており
、メモリMEMの外部から書き替え可能である。例えば、変換レジスタCNVRは、CPUのI/O空間に割り当てられている。
圧縮器CMPは、圧縮イネーブル信号CMPENが活性化されているときに、変換レジスタCNVRに格納されている情報に基づいて、複数種のアルゴリズムの1つを選択する。圧縮器CMPは、選択したアルゴリズムを用いて外部データ端子DTで受けたデータを圧縮し、圧縮したデータをメモリセルアレイARYに書き込む。メモリセルアレイARYに書き込まれるデータ量は、圧縮により減少する。このため、アドレス変換部ADCは、アドレスデコーダADECに供給されるアドレスADを、圧縮量(アルゴリズム)に応じて変換する。また、動作制御回路OPCも、メモリセルアレイARYに出力するアクセス制御信号の出力回数等を、データの圧縮量に応じて変更する。圧縮器CMPは、圧縮イネーブル信号CMPENが非活性化されているときに、外部データ端子DTで受けたデータを圧縮せずにメモリセルアレイARYに書き込む。
解凍器DECMPは、解凍イネーブル信号DECMPENが活性化されているときに、変換レジスタCNVRに格納されている情報に基づいて、複数種のアルゴリズムの1つを選択する。解凍器DECMPは、選択したアルゴリズムを用いてメモリセルアレイARYから読み出されたデータを解凍し、解凍したデータを外部データ端子DTに出力する。データを解凍する場合にも、アドレス変換部ADCは、アドレスデコーダADECに供給されるアドレスADを変換し、動作制御回路OPCは、アクセス制御信号の出力回数等を変更する。解凍器DECMPは、解凍イネーブル信号DECMPENが非活性化されているときに、メモリセルアレイARYから読み出されたデータを解凍せずに外部データ端子DTに出力する。
この実施形態では、第1の実施形態と同様に、CPUによるメモリMEMの書き込み動作時に、CPUから出力されたデータは、圧縮された後にメモリセルアレイARYに書き込まれる。CPUによるメモリMEMの読み出し動作時に、メモリセルアレイARYから読み出された圧縮データは、解凍された後にメモリMEMからCPU出力される。DMACによるHDDからメモリMEMへのデータ転送時に、HDDから出力された圧縮データは、メモリセルアレイARYにそのまま書き込まれる。DMACによるメモリMEMからHDDへのデータ転送時に、メモリセルアレイARYから読み出された圧縮データは、解凍されることなくHDDにそのまま出力される。
CPUは、メモリMEMの書き込み動作および読み出し動作を実行するときに、書き込みフラグWFおよび読み出しフラグRFをそれぞれ有効に設定する。CPUは、DMACによりメモリMEMとHDD間でデータを転送するときに、書き込みフラグWFおよび読み出しフラグRFをそれぞれ無効に設定する。このように、イネーブルレジスタENRの設定方法および変換制御部CNVCの動作は、第1の実施形態と同じである。
以上、第2の実施形態においても第1の実施形態と同様の効果を得ることができる。すなわち、圧縮機能および解凍機能をメモリMEM内で実現できるため、CPUの負荷を軽くでき、システムSYSのパフォーマンスを向上できる。CPU以外のコントローラがメモリMEMをアクセスするときに、圧縮機能および解凍機能が無効なるため、メモリMEMに書き込まれたデータのセキュリティを守ることができる。
図3は、本発明の第3の実施形態を示している。第1および第2の実施形態で説明した要素と同種の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、半導体メモリMEMは、変換レジスタCNVRおよびキーレジスタKEYRを有している。キーレジスタKEYRは、3種類の変換キーKEY1−KEY3を記憶するキー領域を有している。キー領域は、例えばROMで構成されている。そ
の他の構成は、第1の実施形態と同じである。すなわち、半導体メモリMEMは、FCRAMである。暗号化されていないデータは、CPUとメモリMEM間で転送される。暗号化されたデータは、DMACを用いてメモリMEMとHDD間で転送される。
この実施形態では、エンコーダENCは、変換レジスタCNVRに格納されている変換情報に対応する変換キーKEY(KEY1−3のいずれか)を用いてデータを暗号化する。同様に、デコーダDECは、変換レジスタCNVRに格納されている変換情報に対応する変換キーKEY(KEY1−3のいずれか)を用いてデータを復号する。
以上、第3の実施形態においても第1の実施形態と同様の効果を得ることができる。さらに、暗号化および復号化に使用する変換キーKEYを選択できる。このため、半導体メモリMEMが搭載されるシステムSYSに応じて暗号化および復号化の規則を最適に設定できる。
図4は、本発明のメモリシステムの第4の実施形態を示している。第1の実施形態で説明した要素と同種の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、メモリセルアレイARYは、暗号化されたデータを記憶する暗号領域CODEの大きさを変更可能である。このために、領域レジスタARRが新たに形成されている。その他の構成は、エンコーダENCおよびデコーダDECにマスク信号MSKが供給されることを除き、第1の実施形態と同じである。すなわち、半導体メモリMEMは、FCRAMである。暗号化されていないデータは、CPUとメモリMEM間で転送される。暗号化されたデータは、DMACを用いてメモリMEMとHDD間で転送される。
領域レジスタARRは、CPUにより書き替え可能であり、暗号化されたデータが格納される暗号領域CODEの開始アドレスと終了アドレスを記憶している。例えば、領域レジスタARRは、CPUのI/O空間に割り当てられている。領域レジスタARRは、暗号領域CODEを示すアドレスADが供給されたときにマスク信号MSKを低レベルに非活性化する。領域レジスタARRは、暗号化されない通常のデータ領域DATA(暗号領域CODEを除く領域)を示すアドレスADが供給されたときにマスク信号MSKを高レベルに非活性化する。
エンコーダENCは、非活性化されたマスク信号MSKを受けたとき、フラグWFの値に応じて暗号機能を有効/無効にする。具体的には、暗号機能は、CPUによる書き込み動作時に有効になり、DMACによる書き込み動作時のみ無効になる。すなわち、CPUは、暗号領域CODEに対するアクセス権を持ち、DMACは、暗号領域CODEに対するアクセス権を持たない。エンコーダENCは、活性化されたマスク信号MSKを受けたとき、フラグWFの値にかかわらず暗号機能を無効にする。
同様に、デコーダDECは、非活性化されたマスク信号MSKを受けたとき、フラグRFの値に応じて復号機能を有効/無効にする。具体的には、復号機能は、CPUによる読み出し動作時に有効になり、DMACによる読み出し動作時のみ無効になる。すなわち、CPUは、暗号領域CODEに対するアクセス権を持ち、DMACは、暗号領域CODEに対するアクセス権を持たない。このように、イネーブルレジスタENRは、メモリセルアレイARYに対するアクセス権をコントローラ(CPU、DMAC)毎に設定可能なアクセスレジスタとして機能する。デコーダDECは、活性化されたマスク信号MSKを受けたとき、フラグRFの値にかかわらず復号機能を無効にする。これにより、暗号領域CODEには、暗号化されたデータのみが入出力され、通常データ領域DATAには、暗号化されない通常のデータのみが入出力される。
以上、第4の実施形態においても第1の実施形態と同様の効果を得ることができる。さらに、メモリセルアレイARYが暗号領域CODEと通常データ領域DATAとに区分されている場合にも、暗号化されたデータのみを暗号領域CODEに入出力できる。また、暗号領域CODEの大きさを変更できるため、システムSYSの仕様(暗号化されるデータ量)に応じた最適な半導体メモリを、1つのチップで実現できる。
図5は、本発明の第5の実施形態を示している。第1の実施形態で説明した要素と同種の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、第1の実施形態の半導体メモリMEMに、暗号化されたデータのエラーを訂正するためのエラー訂正コードを生成するコード生成部WECCと、エラー訂正コードを用いてデータのエラーを訂正するエラー訂正部RECCとを加えて構成されている。メモリセルアレイARYは、暗号化されたデータを記憶するデータ領域DATAと、エラー訂正コードを記憶するエラーコード領域ECCとを有している。その他の構成は、第1の実施形態と同じである。すなわち、半導体メモリMEMは、FCRAMである。暗号化されていないデータは、CPUとメモリMEM間で転送される。暗号化されたデータは、DMACを用いてメモリMEMとHDD間で転送される。
コード生成部WECCは、エンコーダENCから出力される暗号化されたデータのエラー訂正コードを生成し、暗号化されたデータとともにエラー訂正コードをメモリセルアレイARYに書き込む。エラー訂正コード、デコードイネーブル信号DECENの論理にかかわらず、常に生成される。エラー訂正部RECCは、メモリセルアレイARYから読み出される暗号化されたデータのエラーをエラー訂正コードを用いて検出し、訂正可能なエラーを訂正する。エラーは、エンコードイネーブル信号ENCENの論理にかかわらず、常に訂正される。
以上、第5の実施形態においても第1の実施形態と同様の効果を得ることができる。さらに、エラー訂正機能を付加することにより、データの信頼性を向上できる。
図6は、本発明の第6の実施形態を示している。第1の実施形態で説明した要素と同種の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態では、半導体メモリMEMは、フラッシュメモリ等の不揮発性メモリである。エンコーダENC、デコーダDECおよびキーレジスタKEYRは、論理をプログラム可能なフィールドプログラマブル部FPに形成されている。メモリセルアレイARYは、暗号化されたデータを記憶するデータ領域DATAと、フィールドプログラマブル部FPの論理をプログラムするためのプログラムを格納するプログラム領域PRGとを有している。その他の構成は、第1の実施形態と同じである。すなわち、暗号化されていないデータは、CPUとメモリMEM間で転送される。暗号化されたデータは、DMACを用いてメモリMEMとHDD間で転送される。
フィールドプログラマブル部FPは、例えば、多数の論理素子と、論理素子間を接続するための多数のスイッチング素子とで構成されている。スイッチング素子は、揮発性のメモリセル(例えば、SRAMのメモリセル)を用いて形成されている。この実施形態では、プログラムを書き替えることにより、エンコーダENCおよびデコーダDECの機能と、変換キーKEYが変更可能である。プログラム領域PRGがメモリセルアレイARY内に形成されるため、プログラムは、CPUによりメモリMEMを書き込みアクセスすることにより書き替えられる。データ端子DTは、プログラムをプログラム領域に格納するためのプログラム入力端子として機能する。
以上、第6の実施形態においても第1の実施形態と同様の効果を得ることができる。さらに、エンコーダENC、デコーダDECおよびキーレジスタKEYRの論理をプログラ
ムできるため、暗号化、復号化のアルゴリズムをシステムSYSの仕様に合わせてシステムSYS上で変更できる。換言すれば、1つの半導体メモリMEMを開発することにより、複数の暗号化、復号化のアルゴリズムに対応することができる。
図7は、本発明の第7の実施形態を示している。第1の実施形態で説明した要素と同種の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態は、システムバスSBUSを介してCPU等の複数のコントローラCNT1−2に接続される半導体メモリMEMに適用される。但し、例えば、コントローラCNT1は、半導体メモリMEMのアクセス権を有する。コントローラCNT2は、半導体メモリMEMのアクセス権を有さない。半導体メモリMEMのイネーブルレジスタENRは、コントローラCNT1−2にそれぞれ対応して、書き込みフラグWF1、WF2および読み出しフラグRF1、RF2を有している。半導体メモリMEMのその他の構成は、第1の実施形態とほぼ同じである。なお、半導体メモリMEMのアクセス権を有するコントローラが2つ以上ある場合、これ等コントローラのアクセス権を調停するアービタが必要である。
イネーブルレジスタENRのフラグWF1−2、RF1−2の値は、システムSYSのパワーオン時にコントローラCNT1により設定される。このため、イネーブルレジスタENRは、コントローラCNT1のI/O空間に割り当てられている。なお、フラグWF1−2、RF1−2を、ヒューズ回路等のROMにより形成し、フラグWF1−2、RF1−2の値をメモリMEMの製造工程で設定してもよい。
制御信号CNTは、コントローラCNT1−2から出力されるチップセレクト信号CS1、CS2を含む。例えば、コントローラCNT1がメモリMEMをアクセスするためにチップセレクト信号CS1を活性化するとき、変換制御部CNVCは、チップセレクト信号CS1の活性化に応答して、フラグWF1、RF1の値を示すエンコードイネーブル信号ENCENおよびデコードイネーブル信号DECENを出力する。
同様に、コントローラCNT2がメモリMEMを不正にアクセスするためにチップセレクト信号CS2を活性化するとき、変換制御部CNVCは、チップセレクト信号CS2の活性化に応答して、フラグWF2、RF2の値を示すエンコードイネーブル信号ENCENおよびデコードイネーブル信号DECENを出力する。エンコーダENCおよびデコーダDECの動作は、第1の実施形態と同じである。
この実施形態では、アクセス権を有するコントローラCNT1がメモリMEMをアクセスする場合、メモリMEMは、第1の実施形態のCPUによるアクセス時と同様に動作する。アクセス権を有さないコントローラCNT2がメモリMEMを書き込みアクセスする場合、変換制御部CNVCは、書き込みアクセスが無効であることを示すエンコードイネーブル信号ENCENを出力する。このため、エンコーダENCによる暗号機能は無効になる。また、動作制御回路OPCは、書き込み動作を禁止するために、メモリセルアレイARYを動作させる書き込み制御信号を出力しない。
アクセス権を有さないコントローラCNT2がメモリMEMを読み出しアクセスする場合、変換制御部CNVCは、読み出しアクセスが無効であることを示すデコードイネーブル信号DECENを出力する。デコーダDECの復号機能は無効になり、メモリセルアレイARYから読み出された暗号化されたデータは、データ端子DTに直接出力される。なお、デコーダDECは、復号機能を無効にしたときに、値が固定されたデータ(オール0データあるいはオール1データ等)をデータ端子DTに出力してもよい。あるいは、アクセス権を有さないコントローラCNT2がメモリMEMを読み出しアクセスする場合、動作制御回路OPCは、メモリセルアレイARYを動作させる読み出し制御信号の出力を禁
止してもよい。この場合、メモリセルアレイARYから無効なデータが読み出される。
以上、第7の実施形態においても第1の実施形態と同様の効果を得ることができる。さらに、メモリMEMは、アクセス権のないコントローラCNT2からのアクセス要求を受けたときに、書き込み動作を禁止でき、あるいは正常な読み出し動作を禁止できる。したがって、メモリMEMに保持されたデータのセキュリティを守ることができる。
図8は、本発明の第8の実施形態を示している。第1、第5、第7の実施形態で説明した要素と同種の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態は、システムバスSBUSを介してCPU等の複数のコントローラCNT1−2に接続される半導体メモリMEMに適用される。但し、例えば、コントローラCNT1は、半導体メモリMEMのアクセス権を有する。コントローラCNT2は、半導体メモリMEMのアクセス権を有さない。半導体メモリMEMのイネーブルレジスタENRは、第7の実施形態と同じである。半導体メモリMEMのその他の構成は、第5の実施形態(図5)とほぼ同じである。すなわち、半導体メモリMEMは、データのエラー訂正機能を有している。
この実施形態では、アクセス権を有するコントローラCNT1がメモリMEMをアクセスする場合、メモリMEMは、第5の実施形態のCPUによるアクセス時と同じ動作をする。アクセス権を有さないコントローラCNT2がメモリMEMを書き込みアクセスする場合、メモリMEMは、第7の実施形態と同じ動作をする。すなわち、書き込み動作は実行されない。
アクセス権を有さないコントローラCNT2がメモリMEMを読み出しアクセスする場合、変換制御部CNVCは、読み出しアクセスが無効であることを示すデコードイネーブル信号DECENをデコーダDECおよびエラー訂正部RECCに出力する。エラー訂正部RECCは、エラー訂正機能を無効にし、エラーを訂正していないデータをデコーダDECに出力する。デコーダDECは、復号機能を無効にし、メモリセルアレイARYから読み出された暗号化されたデータをデータ端子DTに出力する。すなわち、メモリMEMから無効な読み出しデータが出力される。以上、第8の実施形態においても第1、第5および第7の実施形態と同様の効果を得ることができる。
図9は、本発明の第9の実施形態を示している。第1、第5、第7、第8の実施形態で説明した要素と同種の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の半導体メモリMEMは、第8の実施形態に、訂正レジスタCRRを追加して形成されている。例えば、コントローラCNT1は、半導体メモリMEMのアクセス権を有する。コントローラCNT2は、半導体メモリMEMのアクセス権を有さない。半導体メモリMEMのその他の構成は、第8の実施形態(図8)とほぼ同じである。訂正レジスタCRRは、コントローラCNT1のI/O空間に割り当てられており、コントローラCNT1により書き替え可能である。
アクセス権を有さないコントローラCNT2がメモリMEMを読み出しアクセスする場合、変換制御部CNVCは、読み出しアクセスが無効であることを示すデコードイネーブル信号DECENをデコーダDECおよびエラー訂正部RECCに出力する。エラー訂正部RECCは、訂正フラグCRRの値が無効を示すときに、エラー訂正機能を無効にし、エラーを訂正しないデータをデコーダDECに出力する。また、エラー訂正部RECCは、訂正フラグCRRの値が有効を示すときに、エラー訂正機能を有効にし、エラーを訂正したデータをデコーダDECに出力する。デコーダDECは、復号機能を無効にし、メモリセルアレイARYから読み出された暗号化されたデータ(エラー訂正されている場合と、エラー訂正されていない場合がある)をデータ端子DTに出力する。すなわち、訂正レ
ジスタCRRの値に応じて、メモリMEMから読み出される無効なデータの値は相違する。
以上、第9の実施形態においても第1、第5および第7の実施形態と同様の効果を得ることができる。さらに、訂正レジスタCRRの値に応じて無効なデータの値を相違できる。したがって、メモリMEMに保持されたデータのセキュリティを確実に守ることができる。
図10は、本発明の第10の実施形態を示している。第1の実施形態で説明した要素と同種の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の半導体メモリMEMは、変換制御部CNVC、イネーブルレジスタENR、動作制御回路OPC、メモリセルアレイARY、アドレススクランブル部ADSおよびアドレスデコーダADECを有している。
変換制御部CNVCは、イネーブルレジスタENRがセットされているときにスクランブルイネーブル信号SENを高レベルに活性化し、イネーブルレジスタENRがリセットされているときにスクランブルイネーブル信号SENを低レベルに非活性化する。イネーブルレジスタENRは、アドレススクランブル部ADSの有効/無効を示す有効情報を記憶する。イネーブルレジスタENRは、メモリMEMの外部から書き替え可能である。例えば、イネーブルレジスタENRは、CPUのI/O空間に割り当てられている。
アドレススクランブル部ADSは、スクランブルイネーブル信号SENが活性化されているときに、外部アドレス端子ADで受けたアドレスADのビットを所定の規則にしたがって入れ替え(アドレスのスクランブル)、入れ替えたアドレスADをアドレスデコーダADECに出力する。アドレススクランブル部ADSは、スクランブルイネーブル信号SENが非活性化されているときに、外部アドレス端子ADで受けたアドレスADをそのままアドレスデコーダADECに出力する。
例えば、アドレスADのスクランブルは、アドレスADの各ビットと、予め決められた値とのEOR演算により実行される。ここで、予め決められた値は、アドレスADと同じビット数を有している。
この実施形態では、CPUは、メモリMEMを書き込みアクセスおよび読み出しアクセスするときに、アドレススクランブル機能を有効にするために、イネーブルレジスタENRをセットする。CPUは、DMACを用いてメモリMEMとHDD間でデータを転送するときに、アドレススクランブル機能を無効にするために、イネーブルレジスタENRをリセットする。これにより、HDDには、アドレスADがスクランブルされたデータが転送される。換言すれば、アドレスADがスクランブルされていないデータは、CPUのみによって読み出し可能である。このため、メモリMEMに書き込まれたデータのセキュリティを守ることができる。以上、第9の実施形態においても第1の実施形態と同様の効果を得ることができる。
アドレススクランブル部ADSは、外部から供給される書き込みデータの格納先を示すアドレスADをスクランブルアドレスに変換する書き込みデータ変換部として機能する。また、アドレススクランブル部ADSは、メモリMEMからデータを読み出すために外部から供給されるアドレスADをスクランブルアドレスに変換する読み出しデータ変換部として機能する。外部から供給される書き込みデータ(外部データ)は、スクランブルアドレスにより示されるメモリセルに書き込まれる。このため、CPU以外のコントローラが元のアドレスをメモリMEMに供給しても、外部データを読み出すことができない。すなわち、外部データは、アドレススクランブル部ADSにより内部データに変換される。同
様に、メモリセルアレイARYに格納されたデータ(内部データ)は、スクランブルアドレスにより示されるメモリセルから読み出されたときのみ、元のデータ(外部データ)として読み出される。
図11は、本発明の第11の実施形態を示している。第1および第10の実施形態で説明した要素と同種の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態は、システムバスSBUSを介してCPU等の複数のコントローラCNT1−2に接続される半導体メモリMEMに適用される。例えば、コントローラCNT1は、半導体メモリMEMのアクセス権を有する。コントローラCNT2は、半導体メモリMEMのアクセス権を有さない。半導体メモリMEMは、イネーブルレジスタENRを除き、第10の実施形態と同じである。
イネーブルレジスタENRは、コントローラCNT1−2にそれぞれ対応するスクランブルフラグSF1、SF2を有している。スクランブルフラグSF1、SF2の値は、システムSYSのパワーオン時にコントローラCNT1により設定される。このため、イネーブルレジスタENRは、コントローラCNT1のI/O空間に割り当てられている。この例では、スクランブルフラグSF1−2は、それぞれセットおよびリセットされている。このように、コントローラ(CNT1またはCNT2)にアクセス権がある場合に、スクランブルフラグ(SF1またはSF2)はセットされる。コントローラ(CNT1またはCNT2)にアクセス権がなる場合に、スクランブルフラグ(SF1またはSF2)はリセットされる。
制御信号CNTは、コントローラCNT1−2から出力されるチップセレクト信号CS1、CS2を含む。例えば、コントローラCNT1がメモリMEMをアクセスするためにチップセレクト信号CS1を活性化するとき、変換制御部CNVCは、チップセレクト信号CS1の活性化に応答して、スクランブルフラグSF1の値を示すスクランブルイネーブル信号SENを出力する。変換制御部CNVCは、チップセレクト信号CS2の活性化に応答して、スクランブルフラグSF2の値を示すスクランブルイネーブル信号SENを出力する。
この実施形態では、アクセス権のあるコントローラCNT1がメモリMEMをアクセスする場合、アドレススクランブル機能は有効になる。このため、コントローラCNT1は、メモリMEMを正常にアクセスできる。一方、アクセス権のないコントローラCNT2がメモリMEMを不正にアクセスする場合、アドレススクランブル機能は無効になる。同時に、書き込み書き込みアクセスの場合、動作制御回路OPCは、スクランブルイネーブル信号SENの非活性化に応答して、書き込み制御信号の出力を禁止する。このため、コントローラCNT2は、書き込みアクセスでは、メモリMEMにデータを書き込むことができず、読み出しアクセスでは、メモリMEMから正常なデータを読み出すことができない。以上、第11の実施形態においても第1および第10の実施形態と同様の効果を得ることができる。
なお、上述した第1−7の実施形態では、HDDをシステムバスSBUSに接続する例を述べた。しかし、HDDは、システムバスSBUSとは別の独立バスに接続してもよい。この場合、メモリMEMとHDD間でデータを転送するDMACが、独立バスに接続される。
上述した第1−5、7の実施形態では、イネーブルレジスタENRに設定される値に応じて、イネーブル信号DECEN、ENCENの論理を変更する例を述べた。しかし、イネーブルレジスタENRを形成せず、メモリMEMの外部から変換制御部CNVCのラッチ情報等を直接書き替えることにより、イネーブル信号DECEN、ENCENの論理を
変更してもよい。
上述した第8の実施形態では、アクセス権を有さないコントローラCNT2が読み出しアクセスを要求する場合、エラー訂正部RECCによるエラー訂正を行わない例を述べた。しかし、この場合、デコーダDECの機能が無効にされるため、エラー訂正部RECCによるエラー訂正を行ってもよい。
上述した第3−第9の実施形態は、第2の実施形態のデータの圧縮機能、解凍機能を有する半導体メモリMEMに適用可能である。
第10−第11の実施形態(アドレススクランブル機能)に、第5、第8、第9の実施形態のエラー訂正機能を付加してもよい。あるいは、第10−第11の実施形態のアドレススクランブル部ADSを、第6の実施形態のフィールドプログラマブル部FP上に形成してもよい。
第10−第11の実施形態において、プログラム領域PRGにプログラムを書き込むための専用のプログラム入力端子を形成してもよい。
本発明が適用される半導体メモリは、FCRAMやフラッシュメモリに限らず、DRAM、SDRAM、擬似SRAM、SRAM、EEPROMでもよい。また、本発明を、3つ以上のコントローラに接続される半導体メモリに適用してもよい。
以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1)
外部から供給される外部データを内部データに変換する書き込みデータ変換部と、
前記内部データを記憶するメモリセルを有するメモリセルアレイと、
前記メモリセルアレイから読み出される前記内部データを元の外部データに変換する読み出しデータ変換部と、
前記各書き込みデータ変換部または読み出しデータ変換部の機能を、前記メモリセルアレイにデータを入力または出力するコントローラ毎に有効/無効に設定する変換制御部とを備えていることを特徴とする半導体メモリ。
(付記2)
付記1記載の半導体メモリにおいて、
変換キーが格納されるキーレジスタを備え、
前記書き込みデータ変換部または前記読み出しデータ変換部は、前記キーレジスタに格納されている前記変換キーを用いて変換動作を実行することを特徴とする半導体メモリ。(付記3)
付記1記載の半導体メモリにおいて、
複数種の変換情報のいずれかが格納される変換レジスタを備え、
前記書き込みデータ変換部および読み出しデータ変換部は、前記変換レジスタに格納されている変換情報に対応する変換方法を用いて変換動作を実行することを特著とする半導体メモリ。
(付記4)
付記3記載の半導体メモリにおいて、
複数種の変換キーが格納されるキーレジスタを備え、
前記書き込みデータ変換部および読み出しデータ変換部は、前記変換レジスタに格納されている変換情報に対応する変換キーを前記キーレジスタから選択し、選択した変換キーを用いて変換動作を実行することを特著とする半導体メモリ。
(付記5)
付記1記載の半導体メモリにおいて、
前記内部データを記憶するために前記メモリセルアレイに割り当てられる記憶領域の大きさを変更するための領域レジスタを備えていることを特徴とする半導体メモリ。
(付記6)
付記5記載の半導体メモリにおいて、
前記メモリセルアレイに対するアクセス権を前記コントローラ毎に設定可能なアクセスレジスタを備えていることを特徴とする半導体メモリ。
(付記7)
付記1記載の半導体メモリにおいて、
前記コントローラにそれぞれ対応して形成され、前記書き込みデータ変換部および前記読み出しデータ変換部の有効/無効を示す有効情報をそれぞれ記憶するイネーブルレジスタを備え、
前記変換制御部は、前記書き込みデータ変換部または読み出しデータ変換部を、前記イネーブルレジスタに保持されている前記有効情報に応じてそれぞれ有効/無効に設定することを特徴とする半導体メモリ。
(付記8)
付記1記載の半導体メモリにおいて、
前記内部データのエラーを訂正するためのエラー訂正コードを生成するコード生成部と、
前記エラー訂正コードを用いて前記内部データのエラーを検出し、エラー訂正可能なエラーを訂正するエラー訂正部とを備え、
前記メモリセルアレイは、エラー訂正コードを記憶するエラーコード領域を備えていることを特徴とする半導体メモリ。
(付記9)
付記8記載の半導体メモリにおいて、
前記エラー訂正部は、前記メモリセルアレイから読み出された前記内部データに訂正可能なエラーがあることを検出した場合、前記読み出しデータ変換部が有効に設定されているときのみ前記内部データのエラーを訂正することを特徴とする半導体メモリ。
(付記10)
付記9記載の半導体メモリにおいて、
前記エラー訂正部は、前記メモリセルアレイから読み出された前記内部データに訂正可能なエラーがあることを検出した場合、前記読み出しデータ変換部が無効に設定されているときに前記内部データのエラーを訂正しないことを特徴とする半導体メモリ。
(付記11)
付記9記載の半導体メモリにおいて、
前記エラー訂正部は、前記メモリセルアレイから読み出された前記内部データに訂正可能なエラーがあることを検出した場合、前記読み出しデータ変換部が無効に設定されているときに前記内部データのエラーを訂正することを特徴とする半導体メモリ。
(付記12)
付記9記載の半導体メモリにおいて、
訂正フラグが格納される訂正レジスタを備え、
前記エラー訂正部は、前記読み出しデータ変換部が無効に設定されている場合、前記メモリセルアレイから読み出された前記内部データに訂正可能なエラーがあることを検出したときに、訂正フラグの値に応じて前記内部データのエラーを訂正するか否かを決定することを特徴とする半導体メモリ。
(付記13)
付記1記載の半導体メモリにおいて、
前記書き込みデータ変換部は、外部データを暗号化することで前記内部データに変換し、
前記読み出しデータ変換部は、前記内部データを復号化することで元の外部データに変換することを特徴とする半導体メモリ。
(付記14)
付記1記載の半導体メモリにおいて、
前記書き込みデータ変換部は、外部データを圧縮することで前記内部データに変換し、
前記読み出しデータ変換部は、前記内部データを解凍することで元の外部データに変換することを特徴とする半導体メモリ。
(付記15)
付記1記載の半導体メモリにおいて、
前記書き込みデータ変換部は、外部から供給され、外部データの格納先を示すアドレスをスクランブルアドレスに変換し、
前記読み出しデータ変換部は、前記外部データを読み出すための前記アドレスを前記スクランブルアドレスに変換し、
前記外部データは、前記スクランブルアドレスにより示されるメモリセルに書き込まれることで、前記内部データに変換され、
前記内部データは、前記スクランブルアドレスにより示されるメモリセルから読み出されることで、元の外部データに変換されることを特徴とする半導体メモリ。
(付記16)
付記1記載の半導体メモリにおいて、
論理をプログラム可能なフィールドプログラマブル部と、
前記フィールドプログラマブル部の論理を構成するためのプログラムが格納される不揮発性のプログラム領域とを備え、
前記書き込みデータ変換部および前記読み出しデータ変換部は、前記フィールドプログラマブル部に形成されることを特徴とする半導体メモリ。
(付記17)
付記16記載の半導体メモリにおいて、
前記メモリセルアレイは、不揮発性の前記メモリセルで構成され、
前記プログラム領域は、前記メモリセルアレイの一部を使用して形成されていることを特徴とする半導体メモリ。
(付記18)
付記16記載の半導体メモリにおいて、
前記プログラム領域にプログラムを格納するためのプログラム入力端子を備えていることを特徴とする半導体メモリ。
以上、本発明について詳細に説明してきたが、上記の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
本発明は、システムバスを介して複数のコントローラに接続される半導体メモリに適用できる。
本発明の第1の実施形態を示すブロック図である。 本発明の第2の実施形態を示すブロック図である。 本発明の第3の実施形態を示すブロック図である。 本発明の第4の実施形態を示すブロック図である。 本発明の第5の実施形態を示すブロック図である。 本発明の第6の実施形態を示すブロック図である。 本発明の第7の実施形態を示すブロック図である。 本発明の第8の実施形態を示すブロック図である。 本発明の第9の実施形態を示すブロック図である。 本発明の第10の実施形態を示すブロック図である。 本発明の第11の実施形態を示すブロック図である。
符号の説明
AD‥アドレス線;ADC‥アドレス変換部;ADEC‥アドレスデコーダ;ADS‥アドレススクランブル部;ARR‥領域レジスタ;ARY‥メモリセルアレイ;CMP‥圧縮器;CMPEN‥圧縮イネーブル信号;CNT‥制御線;CNVC‥変換制御部;CNVR‥変換レジスタ;DEC‥デコーダ;DECEN‥デコードイネーブル信号;DECMP‥解凍器;DECMPEN‥解凍イネーブル信号;DT‥データ線;ENC‥エンコーダ;ENCEN‥エンコードイネーブル信号;ENR‥イネーブルレジスタ;KEYR‥キーレジスタ;OPC‥動作制御回路;RECC‥エラー訂正部;RF‥読み出しフラグ;SEN‥スクランブルイネーブル信号;WECC‥コード生成部;WF‥書き込みフラグ

Claims (10)

  1. 外部から供給される外部データを内部データに変換する書き込みデータ変換部と、
    前記内部データを記憶するメモリセルを有するメモリセルアレイと、
    前記メモリセルアレイから読み出される前記内部データを元の外部データに変換する読み出しデータ変換部と、
    前記各書き込みデータ変換部または読み出しデータ変換部の機能を、前記メモリセルアレイにデータを入力または出力するコントローラ毎に有効/無効に設定する変換制御部とを備えていることを特徴とする半導体メモリ。
  2. 請求項1記載の半導体メモリにおいて、
    変換キーが格納されるキーレジスタを備え、
    前記書き込みデータ変換部または前記読み出しデータ変換部は、前記キーレジスタに格納されている前記変換キーを用いて変換動作を実行することを特徴とする半導体メモリ。
  3. 請求項1記載の半導体メモリにおいて、
    複数種の変換情報のいずれかが格納される変換レジスタを備え、
    前記書き込みデータ変換部および読み出しデータ変換部は、前記変換レジスタに格納されている変換情報に対応する変換方法を用いて変換動作を実行することを特著とする半導体メモリ。
  4. 請求項1記載の半導体メモリにおいて、
    前記内部データを記憶するために前記メモリセルアレイに割り当てられる記憶領域の大きさを変更するための領域レジスタを備えていることを特徴とする半導体メモリ。
  5. 請求項1記載の半導体メモリにおいて、
    前記コントローラにそれぞれ対応して形成され、前記書き込みデータ変換部および前記読み出しデータ変換部の有効/無効を示す有効情報をそれぞれ記憶するイネーブルレジスタを備え、
    前記変換制御部は、前記書き込みデータ変換部または読み出しデータ変換部を、前記イネーブルレジスタに保持されている前記有効情報に応じてそれぞれ有効/無効に設定することを特徴とする半導体メモリ。
  6. 請求項1記載の半導体メモリにおいて、
    前記内部データのエラーを訂正するためのエラー訂正コードを生成するコード生成部と、
    前記エラー訂正コードを用いて前記内部データのエラーを検出し、エラー訂正可能なエラーを訂正するエラー訂正部とを備え、
    前記メモリセルアレイは、エラー訂正コードを記憶するエラーコード領域を備えていることを特徴とする半導体メモリ。
  7. 請求項1記載の半導体メモリにおいて、
    前記書き込みデータ変換部は、外部データを暗号化することで前記内部データに変換し、
    前記読み出しデータ変換部は、前記内部データを復号化することで元の外部データに変換することを特徴とする半導体メモリ。
  8. 請求項1記載の半導体メモリにおいて、
    前記書き込みデータ変換部は、外部データを圧縮することで前記内部データに変換し、
    前記読み出しデータ変換部は、前記内部データを解凍することで元の外部データに変換
    することを特徴とする半導体メモリ。
  9. 請求項1記載の半導体メモリにおいて、
    前記書き込みデータ変換部は、外部から供給され、外部データの格納先を示すアドレスをスクランブルアドレスに変換し、
    前記読み出しデータ変換部は、前記外部データを読み出すための前記アドレスを前記スクランブルアドレスに変換し、
    前記外部データは、前記スクランブルアドレスにより示されるメモリセルに書き込まれることで、前記内部データに変換され、
    前記内部データは、前記スクランブルアドレスにより示されるメモリセルから読み出されることで、元の外部データに変換されることを特徴とする半導体メモリ。
  10. 請求項1記載の半導体メモリにおいて、
    論理をプログラム可能なフィールドプログラマブル部と、
    前記フィールドプログラマブル部の論理を構成するためのプログラムが格納される不揮発性のプログラム領域とを備え、
    前記書き込みデータ変換部および前記読み出しデータ変換部は、前記フィールドプログラマブル部に形成されることを特徴とする半導体メモリ。
JP2006039854A 2006-02-16 2006-02-16 半導体メモリ Expired - Fee Related JP4762752B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006039854A JP4762752B2 (ja) 2006-02-16 2006-02-16 半導体メモリ
US11/443,109 US7937645B2 (en) 2006-02-16 2006-05-31 Semiconductor memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006039854A JP4762752B2 (ja) 2006-02-16 2006-02-16 半導体メモリ

Publications (2)

Publication Number Publication Date
JP2007220211A true JP2007220211A (ja) 2007-08-30
JP4762752B2 JP4762752B2 (ja) 2011-08-31

Family

ID=38370181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006039854A Expired - Fee Related JP4762752B2 (ja) 2006-02-16 2006-02-16 半導体メモリ

Country Status (2)

Country Link
US (1) US7937645B2 (ja)
JP (1) JP4762752B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011003235A (ja) * 2009-06-18 2011-01-06 Toshiba Corp 不揮発性半導体記憶装置
WO2011064883A1 (ja) * 2009-11-27 2011-06-03 株式会社東芝 メモリチップ
JP2012084220A (ja) * 2011-10-25 2012-04-26 Fujitsu Semiconductor Ltd メモリシステム
US9190103B2 (en) 2009-10-21 2015-11-17 Samsung Electronics Co., Ltd. Data storage medium having security function and output apparatus therefor
JP2016525839A (ja) * 2013-07-24 2016-08-25 マーベル ワールド トレード リミテッド メモリコントローラのためのキー循環

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008139908A (ja) * 2006-11-29 2008-06-19 Matsushita Electric Ind Co Ltd メモリ制御装置、コンピュータシステム及びデータ再生記録装置
US8750176B2 (en) 2010-12-22 2014-06-10 Apple Inc. Methods and apparatus for the intelligent association of control symbols
US8897398B2 (en) 2012-01-27 2014-11-25 Apple Inc. Methods and apparatus for error rate estimation
US9838226B2 (en) 2012-01-27 2017-12-05 Apple Inc. Methods and apparatus for the intelligent scrambling of control symbols
US9450790B2 (en) * 2013-01-31 2016-09-20 Apple Inc. Methods and apparatus for enabling and disabling scrambling of control symbols
US8917194B2 (en) 2013-03-15 2014-12-23 Apple, Inc. Methods and apparatus for context based line coding
US9210010B2 (en) 2013-03-15 2015-12-08 Apple, Inc. Methods and apparatus for scrambling symbols over multi-lane serial interfaces
JP6527054B2 (ja) 2015-08-28 2019-06-05 東芝メモリ株式会社 メモリシステム
US11990198B2 (en) * 2020-12-22 2024-05-21 SK Hynix Inc. Memory system and operation method of memory system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3740212B2 (ja) * 1996-05-01 2006-02-01 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US6320785B1 (en) * 1996-07-10 2001-11-20 Hitachi, Ltd. Nonvolatile semiconductor memory device and data writing method therefor
US6199177B1 (en) * 1998-08-28 2001-03-06 Micron Technology, Inc. Device and method for repairing a semiconductor memory
JP3734408B2 (ja) * 2000-07-03 2006-01-11 シャープ株式会社 半導体記憶装置
JP3972089B2 (ja) * 2000-11-30 2007-09-05 株式会社ルネサステクノロジ 半導体メモリのテスト用ボードおよびテスト方法並びに製造方法
JP2004110906A (ja) * 2002-09-17 2004-04-08 Renesas Technology Corp 半導体記憶装置
US6961269B2 (en) * 2003-06-24 2005-11-01 Micron Technology, Inc. Memory device having data paths with multiple speeds
JP4309726B2 (ja) 2003-09-01 2009-08-05 株式会社東芝 マイクロプロセッサ
KR100611775B1 (ko) * 2003-12-29 2006-08-10 주식회사 하이닉스반도체 온도변화에 따라 최적의 리프레쉬 주기를 가지는 반도체메모리 장치

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011003235A (ja) * 2009-06-18 2011-01-06 Toshiba Corp 不揮発性半導体記憶装置
US9190103B2 (en) 2009-10-21 2015-11-17 Samsung Electronics Co., Ltd. Data storage medium having security function and output apparatus therefor
WO2011064883A1 (ja) * 2009-11-27 2011-06-03 株式会社東芝 メモリチップ
US8473810B2 (en) 2009-11-27 2013-06-25 Kabushiki Kaisha Toshiba Memory chip having a security function and for which reading and writing of data is controlled by an authenticated controller
US8788907B2 (en) 2009-11-27 2014-07-22 Kabushiki Kaisha Toshiba Memory chip for converting data received from controller controlling reading and writing of data
US9053062B2 (en) 2009-11-27 2015-06-09 Kabushiki Kaisha Toshiba Memory chip for converting data received from controller controlling reading and writing of data
US9355045B2 (en) 2009-11-27 2016-05-31 Kabushiki Kaisha Toshiba Memory device for converting data received from controller controlling reading and writing of data
JP2012084220A (ja) * 2011-10-25 2012-04-26 Fujitsu Semiconductor Ltd メモリシステム
JP2016525839A (ja) * 2013-07-24 2016-08-25 マーベル ワールド トレード リミテッド メモリコントローラのためのキー循環

Also Published As

Publication number Publication date
US20070192664A1 (en) 2007-08-16
JP4762752B2 (ja) 2011-08-31
US7937645B2 (en) 2011-05-03

Similar Documents

Publication Publication Date Title
JP4762752B2 (ja) 半導体メモリ
US9013921B2 (en) Semiconductor memory device
US7876894B2 (en) Method and system to provide security implementation for storage devices
US10303622B2 (en) Data write to subset of memory devices
JP4865694B2 (ja) プロセッサ装置
JP4611027B2 (ja) 不揮発性メモリモジュールを有する回路構成および不揮発性メモリモジュールにおけるデータの暗号化/暗号解読の方法
US20070067644A1 (en) Memory control unit implementing a rotating-key encryption algorithm
US20070050642A1 (en) Memory control unit with configurable memory encryption
US20210157675A1 (en) Controller and memory system
JP2008257476A (ja) 誤り検出制御システム
US8171378B2 (en) Flash memory system having encrypted error correction code and encryption method for flash memory system
JP2011181000A (ja) コントローラ、半導体記憶装置および半導体記憶装置の制御方法
JP7446923B2 (ja) 半導体装置及び半導体記憶装置
JP4574994B2 (ja) メモリ外付けマイコン
CN108877859B (zh) 半导体存储装置、存储器控制器及存储器的监视方法
US9373377B2 (en) Apparatuses, integrated circuits, and methods for testmode security systems
JP4323527B2 (ja) 半導体記憶装置
JP2000181802A (ja) 半導体記憶装置
JP6054753B2 (ja) 半導体装置及びデータアクセス方法
JP2000132995A (ja) 半導体装置
JP2006254099A (ja) マイクロプロセッサ
JP2000029790A (ja) データセキュリティシステム
JP2013222272A (ja) 半導体装置、機密データ管理システム、及び機密データ管理方法
US12124618B2 (en) SoC architecture and data protection method thereof
US20230351055A1 (en) SoC ARCHITECTURE AND DATA PROTECTION METHOD THEREOF

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110603

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110608

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140617

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4762752

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees