JP2013242694A - 半導体装置、電子装置、電子システム及び電子装置の制御方法 - Google Patents

半導体装置、電子装置、電子システム及び電子装置の制御方法 Download PDF

Info

Publication number
JP2013242694A
JP2013242694A JP2012115364A JP2012115364A JP2013242694A JP 2013242694 A JP2013242694 A JP 2013242694A JP 2012115364 A JP2012115364 A JP 2012115364A JP 2012115364 A JP2012115364 A JP 2012115364A JP 2013242694 A JP2013242694 A JP 2013242694A
Authority
JP
Japan
Prior art keywords
data
error correction
area
lookup table
processing unit
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.)
Ceased
Application number
JP2012115364A
Other languages
English (en)
Inventor
Kosuke Miyachi
浩輔 宮地
Kenichiro Omura
賢一郎 大村
Daisuke Kawakami
大輔 川上
Hiroshi Morita
浩史 森田
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.)
Renesas Electronics Corp
Original Assignee
Renesas Mobile 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 Renesas Mobile Corp filed Critical Renesas Mobile Corp
Priority to JP2012115364A priority Critical patent/JP2013242694A/ja
Priority to US13/898,548 priority patent/US20130311849A1/en
Publication of JP2013242694A publication Critical patent/JP2013242694A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

【課題】良質な記憶装置、記憶装置を搭載した電子装置、記憶装置を制御する半導体装置、記憶装置を搭載した電子システム、及び電子装置の制御方法を提供すること
【解決手段】記憶装置140は、データ及び誤り訂正符号を保持する。LUT72は、メモリアドレスと、誤り訂正レベルと、の関係を格納する。エラー検出レベル処理部70は、記憶装置140へのアクセス命令に含まれるアクセスアドレスと、LUT72と、に基づき、当該アクセスアドレスに対応する誤り訂正レベルを算出する。書き込み制御部60は、算出した誤り訂正レベルを基に誤り訂正符号を算出して、データと共に記憶装置140に書き込む。読み出し制御部50は、算出した誤り訂正レベルを基に誤り訂正符号を用いた誤り訂正処理を行い、誤り訂正後のデータを供給する。
【選択図】図3

Description

本発明は半導体装置、電子装置、電子システム及び電子装置の制御方法に関し、例えば誤り訂正符号を付与可能なメモリ装置及びメモリ制御方法に好適に利用できるものである。
近年、車載システム等で用いられる半導体装置は、高品質かつ高信頼であることが求められている。詳細には車載システム等で用いられる半導体装置に対して、シングルppm(Parts-Per-Million)以上の品質が求められている。半導体装置内におけるデータ転送についても求められる品質は同様である。そのため、当該半導体装置内では、RAM(Random Access Memory)をはじめとするメモリへのアクセスにおいて、ビット反転によるエラーの検出及び訂正等の機能が実装されている。
特許文献1及び特許文献2には、不揮発性メモリの管理装置、及び誤り訂正機能を持つデータ転送システムに関する技術が開示されている。
特開2009−259113号公報 特開平10−285147号公報
本願の発明者等は、例えば、車載システム等で用いられる半導体装置及びそれらを制御するコントローラの開発を行う際にさまざまな課題を見出した。本願で開示される各実施の形態は、例えば車載システム等に好適な電子装置及び半導体装置を提供する。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本明細書に開示される一つの態様は電子装置を含み、当該電子装置はメモリ(記憶装置)及びメモリコントローラを有する。
前記一実施の態様によれば、良質な半導体装置、及び電子装置、電子装置を搭載した各種電子システム、及び電子装置の制御方法を提供することができる。
実施の形態1にかかる電子装置10を搭載した車載システムの構成を示すブロック図である。 実施の形態1にかかる電子装置10の構成を示すブロック図である。 実施の形態1にかかるメモリコントローラ30の構成を示すブロック図である。 実施の形態1にかかる読み出し制御部50の構成を示すブロック図である。 実施の形態1にかかる読み出し制御部50の構成を示すブロック図である。 実施の形態1にかかる書き込み制御部60の構成を示すブロック図である。 実施の形態1にかかる書き込み制御部60の構成を示すブロック図である。 実施の形態1にかかる記憶装置140の管理データ領域の内部構成を示す概念図である。 実施の形態1にかかる記憶装置140のデータ保持領域の内部構成を示す概念図である。 実施の形態1にかかるルックアップテーブル72の内部構成を示す概念図である。 実施の形態1にかかるリクエストアドレスと、ルックアップテーブル72と、の関係を示す概念図である。 実施の形態1にかかるハッシュ処理部71によるルックアップテーブル72の探索処理を示す概念図である。
<実施の形態1>
以下、図面を参照して本発明の実施の形態について説明する。はじめに、本実施の形態にかかる電子装置が搭載され得る電子システムの一例である車載システムの一態様について説明する。
<車載システム100(電子システム)の構成>
図1は、本実施の形態にかかる電子装置10を搭載した車載システムの全体構成を示すブロック図である。車載システム100は、前方カメラ110と、後方カメラ120と、電子装置10と、エンジンシステム制御マイコン150(エンジン制御装置)とを備える。車載システム100は、一般乗用車、業務用乗用車(トラック等)、自動二輪車(いわゆるオートバイ等)などに搭載され得る情報処理システムである。当該車載システム100は、車両のダッシュボード等を制御するシステムの総称である。
前方カメラ110は、車載システム100を搭載する車両の前方を撮像するカメラ(撮像装置)である。前方カメラ110は、後述するイメージキャプチャ部133からの指示に応じて車両の前方方向を撮像する。撮像対象として、図示するように、歩行者、信号、前方車両、標識等が挙げられる。前方カメラ110は、撮像した画像(静止画、動画を含む)をイメージキャプチャ部133に供給する。
後方カメラ120は、車載システム100を搭載する車両の後方を撮像するカメラ(撮像装置)である。後方カメラ120は、後述するイメージキャプチャ部133からの指示に応じて車両の後方方向を撮像する。撮像対象として、図示するように、歩行者、信号、後方車両、標識等が挙げられる。後方カメラ120は、撮像した画像(静止画、動画を含む)をイメージキャプチャ部133に供給する。
半導体装置130は、車載システム100の各アプリケーションを動作させるための各種機能を有するアプリケーションSoC(System-on-a-chip)である。半導体装置130は、は、画像処理エンジン131と、CPU(Central Processing Unit)132と、イメージキャプチャ部133とを有する。半導体装置130は、記憶装置140に対して各種データを書き込む、または記憶装置140から各種データを読み出すことにより車載システム100の制御を行う。
画像処理エンジン131は、イメージキャプチャ部133が取得した画像を用いた各種画像処理を行う処理部である。画像処理エンジン131は、記憶装置140から画像データ、及び画像処理プログラムを適宜読み出し、読み出した画像データを対象とした各種の画像処理を行う。画像処理エンジン131は、処理結果のデータを記憶装置140に適宜書き込む。ここで、画像処理エンジン131の処理の一部(または全部)は、コンピュータにプログラムを実行させるソフトウェアとして実現しても良いことは勿論である。
CPU132は、任意のプログラムに基づいて、この車載システム100内の各種処理を実行する中央演算装置である。CPU132は、内部に高速アクセスが可能な一時的な情報記憶手段であるL1キャッシュを有する。CPU132は、記憶装置140から画像処理プログラム、OS(Operating System)プログラム(図示せず)を適宜読み出して実行する。また、CPU132は、任意のデータを記憶装置140に書き込む。
イメージキャプチャ部133は、他の処理部(画像処理エンジン131、CPU132)からの制御に応じて、前方カメラ110及び後方カメラ120の撮像処理の制御を行う。イメージキャプチャ部133は、前方カメラ110及び後方カメラ120の撮像した画像データを記憶装置140に書き込む。
記憶装置140は、各種データを記憶するメモリ装置である。記憶装置140は、例えばDRAM等のメモリである。記憶装置140の詳細な構成は、図9等を参照して後述する。記憶装置140は、図示するように、処理データ141、画像処理プログラム142、画像データ143、OSプログラム(図示せず)等の様々なデータを記憶する。ここで処理データ141には、エンジン制御にかかる各種の情報(エンジン回転数等)が含まれる。これらのデータは、それぞれ性質、すなわち重要度が異なる。ここで性質(重要度)とは、読み出しまたは書き込みを行った場合にデータ内の誤りをどの程度許容するかの指標を指す。換言すると、データの性質に応じて保護レベル、すなわち誤り訂正を行う精度が異なる。例えば、処理データ141や画像処理プログラム142は保護レベルが高い、すなわちエラー訂正符号(ECC、Error Correcting Code)を付与するデータ単位が小さい(たとえば16ビット毎にECCを付与する。詳細は後述する。)。一方、画像データ143は保護レベルが低く、エラー訂正符号を付与する必要が無い(または大きなデータ単位に対してエラー訂正符号を付与すればよい)。
エンジンシステム制御マイコン150(エンジン制御装置)は、主に車両のエンジンを制御するためのマイコン(マイクロコンピュータ)である。エンジンシステム制御マイコン150は、内部にECU(Engine Control Unit)151を備える。
ECU151は、車両のエンジンの制御を行う処理部である。詳細には、ECU151は、加速や減速及びブレーキ等に関するエンジン制御を行う。さらに、ECU151は、いわゆるステアリング制御を行っても良い。ECU151は、これらの制御の際に記憶装置140内に記憶された処理データ141をアプリケーションSoC130を介して適宜読み出す。そして、ECU151は、読み出した処理データ141の値に応じて制御を行う。ECU151は、例えば位置情報等を読み出し、当該位置情報を用いてエンジン制御を行う。
車両内ネットワーク160は、アプリケーションSoC130と、エンジンシステム制御マイコン150と、の間の情報伝達を行うためのネットワークである。車両内ネットワーク160は、例えばCAN(Controller Area Network)、FlexRayといった技術により実現される。
<電子装置10の構成>
次に、本実施の形態にかかる電子装置10について説明する。
図2は、実施の形態1にかかる電子装置10を示すブロック図である。電子装置10は半導体装置130記憶装置140を含んでいる。特に限定されるわけではないが、半導体装置130と記憶装置140は、それぞれ第1の半導体チップおよび第2の半導体チップ内に形成され、同一の配線基板上に実装されている。また、第1の半導体チップおよび第2の半導体チップは同一のパッケージ内に配置されていてもよい。
CPU132は、電子装置10内の記憶装置140から必要なデータやプログラムを読み出して処理を行う中央演算装置である。CPU132は、記憶装置140の読み出しを行う場合、読み出しアドレスを含む読み出しリクエストを後述の読み出し制御部50に発行する。さらに、CPU132は、演算結果データを電子装置10内の記憶装置140に書き込む。CPU132は、記憶装置140に対する書き込みを行う場合、書き込みアドレス及び書き込みデータを含む書き込みリクエストを後述の書き込み制御部60に発行する。記憶装置140からのデータ読み出し、及び記憶装置140へのデータ書き込みの詳細は適宜後述する。
システムバス90は、CPU132と、メモリコントローラ30との間のデータ伝達を行うための情報伝達経路である。またシステムバス90は、車内ネットワークを介して入力された各種データをメモリコントローラ30やCPU132等に転送する。
記憶装置140は、CPU132により利用されるプログラムやデータを記憶する記憶装置である。記憶装置140は、上述の車載システム100の電源が遮断された場合に記憶したデータがクリアされる揮発性メモリであり、例えばDRAM(Dynamic Random Access Memory)である。本実施の形態にかかる記憶装置140のデータの記憶方法等は、図8及び図9を参照して後述する。
<メモリコントローラ30の構成>
図3を参照してメモリコントローラ30の構成を説明する。なお、図3では半導体装置130におけるメモリコントローラ130以外の処理部の記載を適宜省略している。メモリコントローラ30は、CPU132から記憶装置140への読み出しリクエスト、及びCPU132から記憶装置140への書き込みリクエストを制御する処理部である。メモリコントローラ30は、アクセス制御部40と、読み出し制御部50と、書き込み制御部60と、エラー検出レベル処理部70とを備える。
アクセス制御部40は、後述する読み出し制御部50の読み出し制御に応じて、記憶装置140からデータを読み出し、読み出し制御部50に読み出したデータを供給する。さらに、アクセス制御部40は、後述する書き込み制御部60の書き込み制御に応じて、書き込み対象のデータを記憶装置140に書き込む。
<読み出し制御部50の構成>
読み出し制御部50は、CPU132からの読み出しリクエスト(図示せず)を受信する。読み出し制御部50は、読み出しリクエストを用いて記憶装置140からデータを読み出す。この際、読み出し制御部50は、読み出したデータに対応する誤り訂正符号(ECC)も併せて読み出す。さらに、後述するエラー検出レベル処理部70から供給されるエラー検出レベルに応じて、読み出したデータの誤り訂正処理を行う。
読み出し制御部50の構成を図4を参照して詳細に説明する。図4は、本実施の形態にかかる読み出し制御部50の詳細構成を示すブロック図である。読み出し制御部50は、データ比較部51と、セレクタ52と、データコレクタ53とを備える。
データ比較部51は、図示するように複数(図4では4つ)のデータ経路P1〜P4を有する。データ経路P1は、記憶装置140から読み出したデータに対して、16ビット毎に誤り検出処理を行うための経路である。ECC_16(ECC生成部)51−1は、記憶装置140から読み出したデータの16ビット毎にECCを生成する。比較器51−2は、記憶装置140から読み出したECCと、ECC_16(ECC生成部)51−1が生成したECCと、が一致するか否かを比較し、比較結果をセレクタ52に供給する。その他のECC_16(ECC生成部)51−3、51−5、51−7、及び比較器51−4、51−6、51−8も同様の処理を行う。
データ経路P2は、読み出したデータに対して、32ビット毎に誤り検出処理を行うための経路である。ECC_32(ECC生成部)51−9は、記憶装置140から読み出したデータの32ビット毎にECCを生成する。比較器51−10は、記憶装置140から読み出したECCと、ECC_32(ECC生成部)51−9が生成したECCと、が一致するか否かを比較し、比較結果をセレクタ52に供給する。ECC_32(ECC生成部)51−11及び比較器51−12も同様の処理を行う。
データ経路P3は、読み出したデータに対して、64ビット毎に誤り検出処理を行うための経路である。ECC_64(ECC生成部)51−13は、記憶装置140から読み出したデータの64ビット毎にECCを生成する。比較器51−14は、記憶装置140から読み出したECCと、ECC_64(ECC生成部)51−13が生成したECCと、が一致するか否かを比較し、比較結果をセレクタ52に供給する。
データ経路P4は、記憶装置140から読み出したデータに対する誤り検出処理を行わずに、そのまま供給するための経路である。
セレクタ52には、エラー検出レベル処理部70からエラー検出レベルが入力される。セレクタ52は、エラー検出レベルに応じて選択処理を行う。すなわち、セレクタ52は、データ経路P1〜P4のいずれかから読み出しデータ及びECCを選択してデータコレクタ53に供給する。
データコレクタ53は、データ経路P1〜P3を介して受信したデータに対して、ECCを用いた誤り訂正処理を行い、誤り訂正後のデータをリクエスト元のCPU132に供給する。なお、データコレクタ53は、既知の技術を用いてECCを用いた誤り訂正処理を行えばよい。データコレクタ53は、データ経路P4を介して受信したデータが選択された場合については、誤り訂正処理を行うことなく、そのままCPU132に供給する。
<読み出し制御部50の変形例>
なお、読み出し制御部50は、図5に示すように構成しても良い。セレクタ52には、エラー検出レベル、及び記憶装置140から読み出したデータ及びECCが入力される。セレクタ52は、エラー検出レベルに対応するデータ経路を一つ選択し、選択したデータ経路にのみ読み出しデータ及びECCを供給する。データ比較部51及びデータコレクタ53の構成及び動作は、図4と同様であるため、詳細な説明は省略する。
<書き込み制御部60の構成>
再び図3を参照する。書き込み制御部60には、CPU132から書き込みリクエスト(書き込みデータ、及び書き込み先のアドレスに関する情報を含む)が入力される。さらに、書き込み制御部60には、エラー検出レベル処理部70から供給されるエラー検出レベルが供給される。書き込み制御部60は、供給されたエラー検出レベルに応じたECCをデータと共に記憶装置140に書き込むように制御を行う。
書き込み制御部60の構成を、図6を参照して詳細に説明する。図6は、本実施の形態にかかる書き込み制御部60の詳細構成を示すブロック図である。書き込み制御部60は、ECC処理部61と、セレクタ62とを備える。
ECC処理部61は、図示するように複数(図6では4つ)のデータ経路P5〜P8を有する。データ経路P5は、書き込み対象のデータの16ビット毎にECCを生成するための経路である。ECC_16(ECC生成部)61−1は、書き込み対象のデータの16ビット毎にECCを生成する。ECC_16(ECC生成部)61−1は、例えば一般的なハミング符号、巡回符号、疎グラフ符号等の任意の誤り訂正符号の生成技術を用いてECCを生成すればよい。
ECC_16(ECC生成部)61−1は、生成したECCと16ビットのデータをセレクタ62に供給する。ECC_16(ECC生成部)61−2〜4は、ECC_16(ECC生成部)61−1と同様の処理を行う。
データ経路P6は、書き込み対象のデータの32ビット毎にECCを生成するための経路である。ECC_32(ECC生成部)61−5は、書き込み対象のデータの32ビット毎にECCを生成する。ECC_32(ECC生成部)61−5は、生成したECCと32ビットのデータをセレクタ62に供給する。ECC_32(ECC生成部)61−6は、ECC_32(ECC生成部)61−5と同様の処理を行う。
データ経路P7は、書き込み対象のデータの64ビット毎にECCを生成するための経路である。ECC_64(ECC生成部)61−7は、書き込み対象のデータの64ビット毎にECCを生成する。ECC_64(ECC生成部)61−7は、生成したECCと64ビットのデータをセレクタ62に供給する。
データ経路P8は、書き込み対象のデータに対するECCを生成せず、データのみを記憶装置140に書き込むための経路である。
セレクタ62には、エラー検出レベル処理部70からエラー検出レベルが入力される。セレクタ62は、エラー検出レベルに応じて選択処理を行う。すなわち、セレクタ62は、データ経路P1〜P4のいずれか1つを選択して、書き込みデータ及びECCを選択してアクセス制御部40に供給し、記憶装置140に書き込みを行う。
<書き込み制御部60の変形例>
なお、書き込み制御部60は、図7に示す構成にしても良い。セレクタ62には、エラー検出レベル及び書き込み対象のデータが供給される。セレクタ62は、エラー検出レベルに対応するデータ経路を経路P5〜P8から一つ選択する。セレクタ62は、選択したデータ経路にのみ書き込み対象のデータを供給する。これにより、経路P5〜P8のいずれかのみから書き込み対象のデータ及びECCが出力される。ECC処理部61の構成は、図6と同様であるため、詳細な説明は省略する。
<記憶装置140のデータ管理手法>
ここで、記憶装置140のデータ管理手法について、図8及び図9を参照して説明する。記憶装置140は、データそのもの(以下、実データとも記載する。)及び当該実データのECCを管理する領域(以下、データ保持領域(第1領域)とも記載する。)と、当該データ保持領域へアクセスするための各種情報(以下、管理データとも記載する。)を保持する領域(以下、管理データ領域(第2領域)とも記載する。)と、を有する。
図8は、記憶装置140の管理データ領域の内部構成を示す概念図である。記憶装置140の管理データ領域は、CPU132が実行するオペレーティングシステム(OS:Operating System)の管理に応じたサイズで領域が分けられる。本例では、4KB単位で各モジュールの管理データが格納されるものとする。すなわち、モジュールAにかかる管理データがアドレス0x8000_0000〜0x8000_0fffに格納されている。同様に、モジュールBにかかる管理データがアドレス0x8000_1000〜0x8000_2fffに格納されている。モジュールCにかかる管理データがアドレス0x8300_1000〜0x8000_5fffに格納されている。モジュールDにかかる管理データがアドレス0x8000_6000〜0x8000_6fffに格納されている。
各管理データ(例えばモジュールAにかかる管理データ)には、データ保持領域(モジュールAの実データ及びECCを保持する領域)に対するアドレス(後述する図10のアドレス(32'h0000_0000))等が格納される。CPU132等が発行する読み出しリクエストのアドレス、及び書き込みリクエストのアドレスは、この管理データのアドレス(ex.0x8000_0000)を指定するものである。しかしながら、上述のように4KB単位でデータが管理されているため、当該アドレスのうち、上位20ビット(ex.0x8000_0,0x8000_1)のみが分かればどの領域にアクセスすべきかを把握することができる。
図9は、記憶装置140のデータ保持領域を示す概念図である。記憶装置140は、実データを所定の単位である8バイトに分割して保持する。そして、8バイトの実データ毎に、当該実データのECCの1バイトを対応付けて保持する。すなわち、実データとECCが所定のビット割合で対応付けられている。当該実データの開始位置を示すアドレスオフセットの情報は、管理データ内に含まれている。
図9のようにデータを割り当てる(所定のビット割合で実データとECCを対応付ける)ことにより、固定データ単位での読み出し、及び書き込みを行うことができる。これにより、データアクセスの高速化を図ることができる。
<エラー検出レベル処理部70の構成>
再び、図3を参照する。エラー検出レベル処理部70は、読み出しリクエストまたは書き込みリクエストをCPU132から受信し、受信したリクエスト(に含まれるアドレス)に応じて前述のエラー検出レベルを生成する。ここでエラー検出レベルとは、読み出し/書き込みデータに対してどのビット数のECC処理を行うか(何ビット毎にECCによる誤り訂正処理を行うか/何ビット毎にECCを付与するか)、またはECC処理を行わないか、を指定する情報である。図4〜図7に示す例では、エラー検出レベルは、(1)ECC処理を行わない、(2)16ビット毎にECC処理を行う、(3)32ビット毎にECC処理を行う、(4)64ビット毎にECC処理を行う、という4つのレベルになり得る。本例では、エラー検出レベルは、順に"0b00"(1)、"0b01"(2)、"0b10"(3)、"0b11"(4)、とする。エラー検出レベル処理部70は、生成したエラー検出レベルを読み出し制御部50内のセレクタ52、及び書き込み制御部60内のセレクタ62に供給する。以下、詳細を説明する。
エラー検出レベル処理部70は、ハッシュ処理部71と、ルックアップテーブル72とを備える。はじめに、図10を参照してエラー検出レベル処理部70内のルックアップテーブル72の構成を説明する。
<ルックアップテーブル72の構成>
ルックアップテーブル72は、バリッドフラグと、上位20ビットと、エラー検出レベルとを属性とするデータテーブルである。ルックアップテーブル72には、データ列を識別するためのインデックス(図10では1〜)が付与されている。
バリッドフラグは、当該データ列が有効であるか否かを示す情報である。バリッドフラグに1が設定された場合には有効であることを示し、0が設定された場合には無効であることを示す。0(無効)が設定された場合、エラー検出レベルにECCを生成しないことを示すデータ("0b00")が設定されたものと取り扱う。上位20ビットは、読み出しリクエストまたは書き込みリクエストのアドレスの上位20ビットの値を示す。エラー検出レベルは、誤り訂正のレベル(64ビット単位でECCを生成、32ビット単位でECCを生成、16ビット単位でECCを生成)を示す情報である。ここで、エラー検出レベルには、ECCを生成しないことを示すデータ("0b00")が含まれないようにする。これにより、ルックアップテーブル72の容量を削減することができる。
<ハッシュ処理>
ハッシュ処理部71は、ルックアップテーブル72にアクセスするためのインデックスを算出し、ルックアップテーブル72にアクセスすることにより読み出し制御部50及び書き込み制御部60に供給するエラー検出レベルを決定する。以下、ハッシュ処理部71の処理概要を図11及び図12を参照して説明する。
図11は、読み出しリクエストまたは書き込みリクエストのアドレスと、ルックアップテーブル72と、の関係を示す概念図である。図11を参照して、ハッシュ処理部71の概略的な処理を説明する。
ハッシュ処理部71は、読み出しリクエストまたは書き込みリクエストのアドレスのうち、上位20ビットを読み出す。そして、ハッシュ処理部71は、後述するハッシュ関数に当該上位20ビットを代入することによりルックアップテーブル72の探索位置となるインデックスを決定する。ハッシュ処理部71は、決定したインデックスに同一の上位20ビット値が設定されているかを判定する。
同一の上位20ビット値が設定されている場合、ハッシュ処理部71は、当該インデックスの当該テーブル列からエラー検出レベルを取得する。そして、ハッシュ処理部71は、取得したエラー検出レベルを読み出し制御部50または書き込み制御部60に供給する。
一方、探索位置のインデックスに同一の上位20ビット値が設定されていない場合、ハッシュ処理部71は、ハッシュ関数を用いて別の探索位置を示すインデックスを算出して再度の判定を行う。ハッシュ処理部71は、一定回数だけコンフリクト(入力されたアドレスの上位20ビットと同一の上位20ビット値を持つデータ列が見つからない状態)が続いた場合、探索を終了する。コンフリクトのまま探索を終了した場合、ハッシュ処理部71は、ECC処理を行わないことを示すエラー検出レベル"0b00" を読み出し制御部50または書き込み制御部60に供給する。
続いて、図12を参照して、ハッシュ処理部71によるルックアップテーブル72の探索処理の詳細について説明する。図12は、ルックアップテーブル72の探索概念を示す概念図である。本例では、ハッシュの処理論理として、オープンアドレス法ダブルハッシュを用いる。なお、ハッシュの処理論理は、オープンアドレス法ダブルハッシュに限られる必要はなく、他の論理を用いても良い。
ハッシュ処理部71は、以下の(数1)を用いて探索位置を決定する。
Figure 2013242694
以下、詳細な探索手順を説明する。
(1)ハッシュ処理部71は、上述の(数1)に含まれる(数2)により1回目にアクセスするインデックスを算出する。
Figure 2013242694
(2)ハッシュ処理部71は、(数2)で算出したインデックスを探索位置として、ルックアップテーブル72からデータを取得し、取得した上位20ビットとリクエストに含まれるアドレスの上位20ビットが一致するか否かを判定する。一致する場合、ハッシュ処理部71は、当該探索はヒットであると判定する。ヒットである場合、ハッシュ処理部71は、ルックアップテーブル72の当該インデックスからエラー検出レベルを取得する。
(3)ヒットでは無かった場合、すなわちコンフリクトであった場合、ハッシュ処理部71は、上述の(数1)に含まれる(数3)により、次の探索位置を算出する。
Figure 2013242694
(4)ハッシュ処理部71は、(数3)で算出したインデックスを探索位置として、ルックアップテーブル72からデータを取得し、取得した上位20ビットとリクエストに含まれるアドレスの上位20ビットが一致するか否かを判定する。一致する場合、ハッシュ処理部71は、当該探索はヒットであると判定する。ヒットである場合、ハッシュ処理部71は、ルックアップテーブル72の当該インデックスからエラー検出レベルを取得する。
(5)ヒットでは無かった場合、すなわちコンフリクトであった場合、ハッシュ処理部71は、上述の(数1)に含まれる(数4)により、次の探索位置を算出する。ハッシュ処理部71は、(5)の工程をヒットとなるまで所定回数繰り返し行う。所定回数繰り返し行ってもヒットとならなかった場合、ハッシュ処理部71は、エラー検出レベル"0b00"(ECC処理を行わないことを示す値) を読み出し制御部50または書き込み制御部60に供給する。
Figure 2013242694
続いて、ハッシュ処理を具体的なデータ例を用いて説明する。以下の説明では、各データを以下の(数5)に示すように定める。
Figure 2013242694
ハッシュ処理部71は、アドレス上位20ビットが0x04E20(0d20000)である場合、以下の(数6)に示す算出処理を行い、探索位置となるインデックスを決定する。
Figure 2013242694
本例では、ルックアップテーブル72のインデックス753に上位20ビットアドレス"0x04E20"が格納されているものとする。ハッシュ処理部71は、ルックアップテーブル72のインデックス753からエラー検出レベルを読み出し、当該エラー検出レベルを読み出し制御部50または書き込み制御部60に供給する。
続いて、アドレス上位20ビットが0x0560A(0d22026)であるリクエストを処理することを考える。ハッシュ処理部71は、以下の(数7)に示す算出処理を行い、探索位置となるインデックスを決定する。
Figure 2013242694
しかし、ルックアップテーブル72のインデックス753には、上位20ビットアドレス"0x04E20"が格納されている。そのため、ハッシュ処理部71は、当該探索はコンフリクトであると判定する。ハッシュ処理部71は、以下の(数8)に示す算出処理を行い、再探索位置となるインデックスを決定する。
Figure 2013242694
本例では、ルックアップテーブル72のインデックス845に上位20ビットアドレス"0x0560A"が格納されているものとする。ハッシュ処理部71は、ルックアップテーブル72のインデックス845からエラー検出レベルを読み出し、当該エラー検出レベルを読み出し制御部50または書き込み制御部60に供給する。
続いて、アドレス上位20ビットが0xFBF33(0d1031987)であるリクエストを処理することを考える。ハッシュ処理部71は、以下の(数9)に示す算出処理を行い、探索位置となるインデックスを決定する。
Figure 2013242694
しかし、ルックアップテーブル72のインデックス753には、上位20ビットアドレス"0x04E20"が格納されている。そのため、ハッシュ処理部71は、当該探索はコンフリクトであると判定する。ハッシュ処理部71は、以下の(数10)に示す算出処理を行い、再探索位置となるインデックスを決定する。
Figure 2013242694
しかし、ルックアップテーブル72のインデックス845には、上位20ビットアドレス"0x0560A"が格納されている。そのため、ハッシュ処理部71は、当該探索はコンフリクトであると判定する。ハッシュ処理部71は、以下の(数11)に示す算出処理を行い、再探索位置となるインデックスを再度決定する。
Figure 2013242694
ハッシュ処理部71は、ルックアップテーブル72のインデックス525を探索し、ヒットである場合にはエラー検出レベルを取得する。ヒットではない場合(コンフリクトである場合)、ハッシュ処理部71は、規定回数を上限として引き続き再探索を行う。
なお、ルックアップテーブル72の探索に必要な回数は、ルックアップテーブルの深さ(上述のB)の大きさに応じて定まる。ルックアップテーブルの深さを深くする場合、探索回数を少なくすることができる。例えば、上述のようにルックアップテーブルの深さ(B)が1013の場合には多くて3回の探索が必要となるが、ルックアップテーブルの深さ(B)が2026の場合には多くて2回の探索が必要となる。このルックアップテーブル72の深さとの関係を参照して、ハッシュ処理部71は、探索の条件回数を定めればよい。
<効果>
続いて、本実施の形態にかかる電子装置10の効果について説明する。はじめに、本実施の形態にかかる電子装置10の比較対象として、特許文献1に記載の不揮発性メモリ装置を説明する。当該不揮発性メモリ装置は、メモリへのアドレスに応じて不揮発性メモリとの間で入出力するデータ長を変更している。しかしながら、当該不揮発性メモリ装置では、制御装置(厳密にはメモリに読み書きを行うCPUが動作するOS)の管理単位に応じたデータの管理を行っていない。さらに、当該不揮発性メモリ装置では、誤り訂正符号を付与しないことについては何らの考慮もしていない。
一方、本実施の形態にかかる電子装置10は、図8に示すように、OSの管理単位毎に各データを管理している。これにより、OSからのデータアクセスが容易、詳細にはアクセス速度の向上を実現することができる。さらに、本実施の形態にかかる電子装置10は、図4P4や図6P8に示すように誤り訂正符号(ECC)を扱わない構成も考慮している。これにより、重要性の低いデータに関しては、素早く記憶装置140との読み書きを実行できるとともに、記憶装置140の記憶するデータサイズを削減することができる。
さらに、本実施の形態にかかる電子リ装置10は、ルックアップテーブル72を用いることにより、各データの誤り検出レベルを簡単に設定することができる。すなわち、データの重要度を簡単に設定することができ、この重要度(誤り検出レベル)に応じてデータを保護することができる。さらに、ルックアップテーブル72内にバリッドビットを設けることにより、電子装置10の運用中に、任意のタイミングで誤り検出レベルを変更することも可能となる。
ルックアップテーブル72は、前述のように、ECCを生成しないことを示すデータ("0b00")が含まれないようにする。これにより、ルックアップテーブル72は、最小限のデータのみを記憶することになる。すなわち、ルックアップテーブル72のサイズを削減することができる。
また、ハッシュ処理部71は、一定回数の探索を行ってもヒットしない場合、ECCを生成しないことを示すデータ("0b00")が設定されているものとみなす。これにより、ハッシュ処理部71によるルックアップテーブル72の全探索を回避することができ、処理速度を向上することができる。
さらに、記憶装置140は、図9に示すようにデータを格納する領域と、ECC(誤り訂正符号)を格納する領域と、を一定のビット比率(図9の例では8バイト−1バイト)で対応付けている。これにより、データの対応関係がシンプルになり、記憶装置140への読み書きの速度を向上することができる。
また、上述のように、ハッシュ論理として例えばオープンアドレス法のダブルハッシュを用いる。このような簡素な構成にすることにより、回路の簡素化及び処理速度の増大を防ぐことができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上述の説明では、RAMを想定して説明したが、必ずしもこれに限られない。記憶装置140は、DRAM(Dynamic Random Access Memory)をはじめとするRAMに限られず、また揮発性のメモリでなくても良く、電源が遮断されても記憶したデータを保持し続ける不揮発性メモリであってもよい。すなわち、電子装置内に配置されるメモリは、読み出し及び書き込みを行うことができる任意の記憶装置であればよい。
上述の説明では、本発明にかかるメモリ装置が車載システムに搭載されることを説明したが、本発明にかかるメモリ装置は、他の任意の情報処理システムに搭載されても良い。例えば、本実施の形態にかかるメモリ装置は、産業用ロボットの制御システム等に用いられても良いことは勿論である。
10 電子装置
30 メモリコントローラ
40 アクセス制御部
50 読み出し制御部
51 ECC生成部
52 セレクタ
53 データコレクタ
60 書き込み制御部
61 ECC生成部
62 セレクタ
70 エラー検出レベル処理部
71 ハッシュ処理部
72 ルックアップテーブル
90 システムバス
100 車載システム(電子システム)
110 前方カメラ(撮像装置)
120 後方カメラ(撮像装置)
130 半導体装置
131 画像処理エンジン
132 CPU
133 イメージキャプチャ部
140 記憶装置
141 処理データ
142 画像処理プログラム
143 画像データ
150 エンジンシステム制御マイコン(エンジン制御装置)
151 ECU
160 車両内ネットワーク

Claims (17)

  1. 以下を含む電子装置:
    (a)記憶装置と;
    ここで前記記憶装置は以下を含む:
    (i)データ及び当該データの誤り訂正符号を記憶する第1領域と;
    (ii)前記第1領域を管理する管理データを演算装置の制御単位毎に記憶する第2領域
    (b)前記記憶装置を制御する半導体装置、
    ここで前記半導体装置は以下を含む:
    (i)メモリアドレスと誤り訂正レベルとの関係を格納したルックアップテーブルを有し、メモリへのアクセス命令に含まれるアクセスアドレスと前記ルックアップテーブルとに基づき、当該アクセスアドレスに対応する誤り訂正レベルを算出するエラー検出レベル処理部と;
    (ii)前記エラー検出レベル処理部が算出した前記誤り訂正レベルに基づき、書き込みデータの単位サイズ毎に誤り訂正符号を付与するか否か、及び前記誤り訂正符号を付与する場合の前記単位サイズを決定し、前記書込みデータ及び当該データに対応する誤り訂正符号を前記第1領域内の前記管理データに従って前記第2領域に書き込む書き込み制御部と;
    (iii)前記第1領域内の前記管理データに基づき、前記第2領域からデータ及び誤り訂正符号を取得し、前記エラー検出レベル処理部が算出した前記誤り訂正レベルに基づき、取得したデータの誤り訂正の実施する読み出し制御部。
  2. 前記エラー検出レベル処理部は、
    前記アクセス命令に含まれるアクセスアドレスを所定のハッシュ関数に代入することにより前記ルックアップテーブルの探索位置を算出し、当該探索位置のデータ列に含まれるメモリアドレスと、前記ハッシュ関数に代入したアクセスアドレスとが一致するヒット状態の場合に当該データ列にある誤り訂正レベルを読み出すハッシュ処理部を備える、請求項1に記載の電子装置。
  3. 前記ルックアップテーブルは、前記誤り訂正レベルとして誤り訂正を行わないことを示す訂正レベルを示す値を保持しない、請求項1に記載の電子装置。
  4. 前記ハッシュ処理部は、前記ハッシュ関数を用いて前記ルックアップテーブルの所定回数の探索を行ってヒット状態に至らなかった場合、前記誤り訂正レベルとして誤り訂正を行わないことを示す訂正レベルが設定されていたとみなす、請求項3に記載の電子装置。
  5. 前記記憶装置は、
    前記第1領域において、データを記憶するデータ記憶領域と前記誤り訂正符号を記憶する符号記憶領域を有し、
    前記データ記憶領域と、前記符号記憶領域と、が所定のビット比率で対応付けられている、請求項1に記載の電子装置。
  6. 前記ルックアップテーブルは、テーブル内の各データ列の有効性を示すバリッドフラグの情報を更に有する、請求項1に記載の電子装置。
  7. 前記エラー検出レベル処理部は、前記ハッシュ関数を用いた演算として、オープンアドレス法ダブルハッシュ形式の演算を行う、請求項2に記載の電子装置。
  8. データ及び当該データの誤り訂正符号を記憶する第1領域と、前記第1領域を管理する管理データを演算装置の制御単位毎に記憶する第2領域とを有する記憶装置を内蔵する電子装置の制御方法であって、
    (a)メモリアドレスと誤り訂正レベルとの関係を格納したルックアップテーブルを有し、メモリへのアクセス命令に含まれるアクセスアドレスと前記ルックアップテーブルとに基づき、当該アクセスアドレスに対応する誤り訂正レベルを算出し、
    (b)前記算出した前記誤り訂正レベルに基づき、書き込みデータの単位サイズ毎に誤り訂正符号を付与するか否か、及び前記誤り訂正符号を付与する場合の前記単位サイズを決定し、前記書込みデータ及び当該データに対応する誤り訂正符号を前記第1領域内の前記管理データに従って前記第2領域に書き込み、
    (c)前記第1領域内の前記管理データに基づき、前記第2領域からデータ及び誤り訂正符号を取得し、前記エラー検出レベル処理部が算出した前記誤り訂正レベルに基づき、取得したデータの誤り訂正の実施する、
    電子装置の制御方法。
  9. 前記アクセス命令に含まれるアクセスアドレスを所定のハッシュ関数に代入することにより前記ルックアップテーブルの探索位置を算出し、当該探索位置のデータ列に含まれるメモリアドレスと、前記ハッシュ関数に代入したアクセスアドレスとが一致するヒット状態の場合に当該データ列にある誤り訂正レベルを読み出す、請求項8に記載の電子装置の制御方法。
  10. 前記ルックアップテーブルは、前記誤り訂正レベルとして誤り訂正を行わないことを示す訂正レベルを示す値を保持しない、請求項8に記載の電子装置の制御方法。
  11. 前記ハッシュ関数を用いて前記ルックアップテーブルの所定回数の探索を行ってヒット状態に至らなかった場合、前記誤り訂正レベルとして誤り訂正を行わないことを示す訂正レベルが設定されていたとみなす、請求項10に記載の電子装置の制御方法。
  12. 前記記憶装置は、
    前記第1領域において、データを記憶するデータ記憶領域と前記誤り訂正符号を記憶する符号記憶領域を有し、
    前記データ記憶領域と、前記符号記憶領域とが所定のビット比率で対応付けられている、請求項8に記載の電子装置の制御方法。
  13. 前記ルックアップテーブルは、テーブル内の各データ列の有効性を示すバリッドフラグの情報を更に有する、請求項8に記載の電子装置の制御方法。
  14. 前記ハッシュ関数を用いた演算として、オープンアドレス法ダブルハッシュ形式の演算を行う、請求項9に記載の電子装置の制御方法。
  15. データ及び当該データの誤り訂正符号を記憶する第1領域と、前記第1領域を管理する管理データを演算装置の制御単位毎に記憶する第2領域を含む記憶装置を制御する半導体装置であって、
    (a)メモリアドレスと誤り訂正レベルとの関係を格納したルックアップテーブルを有し、メモリへのアクセス命令に含まれるアクセスアドレスと前記ルックアップテーブルとに基づき、当該アクセスアドレスに対応する誤り訂正レベルを算出するエラー検出レベル処理部と;
    (b)前記エラー検出レベル処理部が算出した前記誤り訂正レベルに基づき、書き込みデータの単位サイズ毎に誤り訂正符号を付与するか否か、及び前記誤り訂正符号を付与する場合の前記単位サイズを決定し、前記書込みデータ及び当該データに対応する誤り訂正符号を前記第1領域内の前記管理データに従って前記第2領域に書き込む書き込み制御部と;
    (c)前記第1領域内の前記管理データに基づき、前記第2領域からデータ及び誤り訂正符号を取得し、前記エラー検出レベル処理部が算出した前記誤り訂正レベルに基づき、取得したデータの誤り訂正の実施する読み出し制御部
    を含む半導体装置。
  16. 以下を含む電子システム:
    (a)撮像装置と;
    (b)前記撮像装置によって取得された画像データを記憶する記憶装置と;
    ここで前記記憶装置は以下を含む:
    (i)データ及び当該データの誤り訂正符号を記憶する第1領域と;
    (ii)前記第1領域を管理する管理データを演算装置の制御単位毎に記憶する第2領域;
    (c)前記記憶装置を制御する半導体装置と;
    ここで前記半導体装置は以下を含む:
    (i)メモリアドレスと誤り訂正レベルとの関係を格納したルックアップテーブルを有し、メモリへのアクセス命令に含まれるアクセスアドレスと前記ルックアップテーブルとに基づき、当該アクセスアドレスに対応する誤り訂正レベルを算出するエラー検出レベル処理部と;
    (ii)前記エラー検出レベル処理部が算出した前記誤り訂正レベルに基づき、書き込みデータの単位サイズ毎に誤り訂正符号を付与するか否か、及び前記誤り訂正符号を付与する場合の前記単位サイズを決定し、前記書込みデータ及び当該データに対応する誤り訂正符号を前記第1領域内の前記管理データに従って前記第2領域に書き込む書き込み制御部と;
    (iii)前記第1領域内の前記管理データに基づき、前記第2領域からデータ及び誤り訂正符号を取得し、前記エラー検出レベル処理部が算出した前記誤り訂正レベルに基づき、取得したデータの誤り訂正の実施する読み出し制御部。
  17. 前記電子システムは車載用に使用され、
    さらに
    (d)エンジン制御装置
    を含み、
    前記エンジン制御装置は、前記記憶装置中のデータを基にエンジンを制御する請求項16記載の電子システム。
JP2012115364A 2012-05-21 2012-05-21 半導体装置、電子装置、電子システム及び電子装置の制御方法 Ceased JP2013242694A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012115364A JP2013242694A (ja) 2012-05-21 2012-05-21 半導体装置、電子装置、電子システム及び電子装置の制御方法
US13/898,548 US20130311849A1 (en) 2012-05-21 2013-05-21 Semiconductor device, electronic device, electronic system, and method of controlling electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012115364A JP2013242694A (ja) 2012-05-21 2012-05-21 半導体装置、電子装置、電子システム及び電子装置の制御方法

Publications (1)

Publication Number Publication Date
JP2013242694A true JP2013242694A (ja) 2013-12-05

Family

ID=49582334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012115364A Ceased JP2013242694A (ja) 2012-05-21 2012-05-21 半導体装置、電子装置、電子システム及び電子装置の制御方法

Country Status (2)

Country Link
US (1) US20130311849A1 (ja)
JP (1) JP2013242694A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015169988A (ja) * 2014-03-05 2015-09-28 ルネサスエレクトロニクス株式会社 半導体装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10063263B2 (en) * 2015-05-20 2018-08-28 International Business Machines Corporation Extended error correction coding data storage
US10284232B2 (en) 2015-10-28 2019-05-07 Pure Storage, Inc. Dynamic error processing in a storage device
JP7367359B2 (ja) * 2018-08-10 2023-10-24 株式会社デンソー 車両用電子制御システム、ファイルの転送制御方法、ファイルの転送制御プログラム及び装置
US11914860B2 (en) * 2018-08-20 2024-02-27 Macronix International Co., Ltd. Data storage for artificial intelligence-based applications
KR102557993B1 (ko) * 2018-10-02 2023-07-20 삼성전자주식회사 메모리 이용 효율을 향상한 보안 처리기를 포함하는 시스템 온 칩, 메모리 시스템 및 시스템 온 칩의 동작방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010237822A (ja) * 2009-03-30 2010-10-21 Toshiba Corp メモリコントローラおよび半導体記憶装置
JP2010262640A (ja) * 2009-04-30 2010-11-18 Internatl Business Mach Corp <Ibm> 不揮発性メモリの適応型エンデュランス・コーディング方法及びシステム
JP2011039585A (ja) * 2009-08-06 2011-02-24 Sony Corp 不揮発性ランダムアクセスメモリおよび不揮発性メモリシステム
JP2012084127A (ja) * 2010-09-15 2012-04-26 Toshiba Corp 半導体装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033438T2 (de) * 1989-04-13 2000-07-06 Sandisk Corp., Santa Clara Austausch von fehlerhaften Speicherzellen einer EEprommatritze
US6104417A (en) * 1996-09-13 2000-08-15 Silicon Graphics, Inc. Unified memory computer architecture with dynamic graphics memory allocation
JP2000243062A (ja) * 1999-02-17 2000-09-08 Sony Corp 映像記録装置および映像記録方法、ならびに集中監視記録システム。
WO2000052690A1 (fr) * 1999-02-26 2000-09-08 Hitachi, Ltd. Enregistreur, lecteur et support d'enregistrement de signal numerique
US7113432B2 (en) * 2000-09-14 2006-09-26 Sandisk Corporation Compressed event counting technique and application to a flash memory system
JP2002165175A (ja) * 2000-11-24 2002-06-07 Sony Corp 画像記録装置、画像再生装置及び画像記録再生装置
US7444579B2 (en) * 2005-04-28 2008-10-28 Micron Technology, Inc. Non-systematic coded error correction
JP5010271B2 (ja) * 2006-12-27 2012-08-29 富士通株式会社 エラー訂正コード生成方法、およびメモリ制御装置
US8135900B2 (en) * 2007-03-28 2012-03-13 Kabushiki Kaisha Toshiba Integrated memory management and memory management method
US8095851B2 (en) * 2007-09-06 2012-01-10 Siliconsystems, Inc. Storage subsystem capable of adjusting ECC settings based on monitored conditions
US8832408B2 (en) * 2007-10-30 2014-09-09 Spansion Llc Non-volatile memory array partitioning architecture and method to utilize single level cells and multi-level cells within the same memory
US8443032B2 (en) * 2008-03-27 2013-05-14 National Tsing Hua University Multiplication circuit and de/encryption circuit utilizing the same
US8223796B2 (en) * 2008-06-18 2012-07-17 Ati Technologies Ulc Graphics multi-media IC and method of its operation
WO2010035124A1 (en) * 2008-09-29 2010-04-01 Sandisk Il Ltd. File system for storage device which uses different cluster sizes
JP5682282B2 (ja) * 2010-12-15 2015-03-11 富士通株式会社 弧検出装置、弧検出プログラム及び携帯端末装置
JP5708216B2 (ja) * 2011-05-09 2015-04-30 ソニー株式会社 フラッシュメモリ装置、メモリ制御装置、メモリ制御方法、ストレージシステム
JP2012252558A (ja) * 2011-06-03 2012-12-20 Sony Corp 不揮発性メモリ、メモリコントローラ、不揮発性メモリのアクセス方法、およびプログラム
US9069551B2 (en) * 2011-12-22 2015-06-30 Sandisk Technologies Inc. Systems and methods of exiting hibernation in response to a triggering event
US9417998B2 (en) * 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9311226B2 (en) * 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010237822A (ja) * 2009-03-30 2010-10-21 Toshiba Corp メモリコントローラおよび半導体記憶装置
JP2010262640A (ja) * 2009-04-30 2010-11-18 Internatl Business Mach Corp <Ibm> 不揮発性メモリの適応型エンデュランス・コーディング方法及びシステム
JP2011039585A (ja) * 2009-08-06 2011-02-24 Sony Corp 不揮発性ランダムアクセスメモリおよび不揮発性メモリシステム
JP2012084127A (ja) * 2010-09-15 2012-04-26 Toshiba Corp 半導体装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015169988A (ja) * 2014-03-05 2015-09-28 ルネサスエレクトロニクス株式会社 半導体装置
US9990154B2 (en) 2014-03-05 2018-06-05 Renesas Electronics Corporation Semiconductor device
US10558379B2 (en) 2014-03-05 2020-02-11 Renesas Electronics Corporation Semiconductor device

Also Published As

Publication number Publication date
US20130311849A1 (en) 2013-11-21

Similar Documents

Publication Publication Date Title
JP2013242694A (ja) 半導体装置、電子装置、電子システム及び電子装置の制御方法
CN110990186B (zh) 片上系统、操作片上系统的方法和存储系统
US8281218B1 (en) Data manipulation engine
US9189329B1 (en) Generating error correcting code (ECC) data using an ECC corresponding to an identified ECC protection level
JP2017182803A (ja) メモリの重複除去方法及び重複除去dramメモリモジュール
US11409557B2 (en) Buffer checker for task processing fault detection
US20130007574A1 (en) Partial-Writes to ECC (Error Check Code) Enabled Memories
US20180157848A1 (en) Memory management
US9990305B2 (en) Memory management component having multiple memory management modules and method therefor
US11568062B2 (en) Methods to protect neural network models
US20160217082A1 (en) Store merge processing device, store merge processing system, store merge processing method, and storage medium
US20150220393A1 (en) Method and apparatus for storing trace data
US11221789B2 (en) Semiconductor device, memory controller, and memory accessing method
US8751898B2 (en) Utilizing error correcting code data associated with a region of memory
CN112445644A (zh) 用于检验片上系统的存储单元中的数据的方法和检验单元
US10558379B2 (en) Semiconductor device
JP2013171467A (ja) 情報処理装置、車両用電子制御装置、データ読み書き方法
JP2005276113A (ja) 擬似乱数生成方法、セキュリティチェック方法および制御装置
JP2008009702A (ja) 演算処理システム
CN107977282B (zh) 一种SPI-Nand读取数据页的方法及装置
JP4260805B2 (ja) Cam装置およびcam制御方法
US8904076B2 (en) Coder with snoop mode
KR20140136665A (ko) 캘리브레이션 장치 및 그 방법
JP6515602B2 (ja) データ処理装置及びデータ処理方法
CN111813722B (zh) 基于共享内存的数据读写方法,系统及可读存储介质

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20150219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160412

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160510

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20160927