JP2012068814A - 半導体記憶装置およびメモリ制御装置 - Google Patents
半導体記憶装置およびメモリ制御装置 Download PDFInfo
- Publication number
- JP2012068814A JP2012068814A JP2010212173A JP2010212173A JP2012068814A JP 2012068814 A JP2012068814 A JP 2012068814A JP 2010212173 A JP2010212173 A JP 2010212173A JP 2010212173 A JP2010212173 A JP 2010212173A JP 2012068814 A JP2012068814 A JP 2012068814A
- Authority
- JP
- Japan
- Prior art keywords
- column
- unit
- error correction
- semiconductor memory
- data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Read Only Memory (AREA)
Abstract
【課題】符号化率の低下を防ぐことができる半導体記憶装置を得ること。
【解決手段】2つ以上のセル周辺回路と、前記セル周辺回路ごとに、前記セル周辺回路により読み出し、書き込みのうち少なくとも一方を制御される2つ以上の記憶セルと、を備える半導体メモリ、を備える。さらに、同一の前記セル周辺回路により制御される前記記憶セルに保持されるデータで、誤り訂正符号を生成する単位である1シンボルを形成するよう指示する制御部と、前記制御部の指示に基づいて形成したシンボルに対する誤り訂正符号を生成する符号化部と、を備えるメモリ制御部、を備える。
【選択図】図1
【解決手段】2つ以上のセル周辺回路と、前記セル周辺回路ごとに、前記セル周辺回路により読み出し、書き込みのうち少なくとも一方を制御される2つ以上の記憶セルと、を備える半導体メモリ、を備える。さらに、同一の前記セル周辺回路により制御される前記記憶セルに保持されるデータで、誤り訂正符号を生成する単位である1シンボルを形成するよう指示する制御部と、前記制御部の指示に基づいて形成したシンボルに対する誤り訂正符号を生成する符号化部と、を備えるメモリ制御部、を備える。
【選択図】図1
Description
本発明の実施形態は、半導体記憶装置およびメモリ制御装置に関する。
不揮発性の半導体メモリを用いて情報を記憶する半導体記憶装置では、経年劣化等によりデータに誤りが生じる可能性がある。このような半導体記憶装置では、データ誤りが生じた場合にも、誤りを訂正できるように、誤り訂正符号化処理を実施している。
誤り訂正符号には、様々な種類があるが、連続して起こるビット誤り(バースト誤り)に対応するためには、RS(Reed−Solomon)符号が用いられることが多い。RS符号は、誤り訂正能力が高く、特にバースト誤りに強いという特性を有する。
不揮発性の半導体メモリとしてNAND型メモリを用いる場合、バースト誤りが発生するデータ誤りモードは幾つかあるが、その一つに記憶セル読み出し周辺回路(以下、周辺回路という)の経年劣化等に起因するデータ誤りモードがある。
NAND型メモリでは、同一ビット線に記憶セルが直列に接続される。そして、このような記憶セルが接続された複数のビット線を、ビット線の伸展する方向(列方向)に直交する方向(行方向)に並べることにより、記憶セルをマトリクス状に配置している。記憶セルは、行方向にワード線により接続されている。
また、NAND型メモリでは、集積度を上げるために、N本(Nは、例えば8)のビット線をカラムと言われる1つのグループとし、カラムごとに1セットの周辺回路を設置する。したがって、周辺回路が経年劣化等により正常に機能しなくなると、同一カラム内の複数のデータが読み出し不能となる可能性がある。
一方、Nを8とし、NAND型メモリの1Byteごとにカラムアドレスを割当てる場合、同一カラム内の行方向に並ぶ8ビットごとに、カラムアドレスが割当てられることになる。このカラムアドレスは、ワード線で接続される同一行のデータ(1Byte)に例えば、0,1,2,…というように割当て、次の行(次のページ)の最初の1Byteのデータにカラムアドレスが割当てられる。例えば、32個のカラムで構成される場合、各行(各ページ)の1Byteのデータに0から31までのアドレスがそれぞれ割当てられる。
NAND型メモリを用いた従来の半導体装置では、2Byteを1シンボルとしてRS符号化を行なう際に、同一ページ内のアドレスが連続する2つのデータを1シンボルとして符号化を行なっている。したがって、上述のカラム誤りが発生すると、当該カラムのデータで構成される多数のシンボルに分散して誤りが発生する。このため、RS符号化の差異に、カラム誤り発生時の誤りに対応するために、訂正可能なシンボル数を大きな値として設定することになり、符号化率が低下する。
本願発明の一態様によれば、2つ以上のセル周辺回路と、前記セル周辺回路ごとに、前記セル周辺回路により読み出し書き込みのうち少なくとも一方を制御される2つ以上の記憶セルと、を備える半導体メモリ、を備える。さらに、同一の前記セル周辺回路により制御される前記記憶セルに保持されるデータで、誤り訂正符号を生成する単位である1シンボルを形成するよう指示する制御部と、前記制御部の指示に基づいて形成したシンボルに対する誤り訂正符号を生成する符号化部と、を備えるメモリ制御部、を備える。
以下に添付図面を参照して、実施形態にかかる半導体記憶装置およびメモリ制御装置を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
(第1の実施の形態)
図1は、第1の実施の形態にかかる半導体記憶装置の構成例を示す図である。本実施の形態の半導体記憶装置1は、メモリコントローラ(メモリ制御装置)2と、NAND型記憶セルを備える半導体メモリ部3と、で構成される。半導体記憶装置1は、通信媒体を介してホスト4に接続され、ホスト4に対する外部記憶媒体として機能する。ホスト4の例としては、パーソナルコンピュータやCPU(Central Processing Unit)コア等があげられる。
図1は、第1の実施の形態にかかる半導体記憶装置の構成例を示す図である。本実施の形態の半導体記憶装置1は、メモリコントローラ(メモリ制御装置)2と、NAND型記憶セルを備える半導体メモリ部3と、で構成される。半導体記憶装置1は、通信媒体を介してホスト4に接続され、ホスト4に対する外部記憶媒体として機能する。ホスト4の例としては、パーソナルコンピュータやCPU(Central Processing Unit)コア等があげられる。
メモリコントローラ2は、内部バス20と、HostI/F(Interface)21と、NANDI/F(Interface)22と、CPUユニット(図1ではCPUと略す)23と、誤り訂正処理部24と、で構成される。誤り訂正処理部24は、符号化部25と、復号化部26と、で構成される。
HostI/F21は、ホスト4から受信した命令、データなどを内部バス20に出力する。また、HostI/F21は、内部バス20経由で入力されたデータ、CPUユニット23からの応答通知(命令の実行完了を示す通知など)などをホスト4へ送信する。
CPUユニット23は、半導体記憶装置1の各構成要素を統括的に制御する制御部であり、CPUコア、RAM(Random Access Memory)、ROM(Read Only Memory)、DMA(Direct Memory Access)コントローラなどで構成される。CPUユニット23は、ホスト4からHostI/F21および内部バス20経由で命令を受けた場合に、その命令に従った制御を行う。例えば、CPUユニット23は、ホスト4からの命令に従って、半導体メモリ部3へのデータの書き込み、半導体メモリ部3からのデータの読み出しなどをNANDI/F22へ指示する。また、CPUユニット23は、誤り訂正処理部24へ誤り訂正符号化処理または復号化処理の実施を指示する。
誤り訂正処理部24は、CPUユニット23の指示に基づいて、ホスト4から受信したデータに対して誤り訂正符号化処理を行い、NANDI/F22へ出力し、NANDI/F22から入力されるデータに対して復号化処理を行う。NANDI/F22は、CPUユニット23の指示に基づいて半導体メモリ部3の読み書き等を行なう。
なお、図1に示した半導体記憶装置1の構成は一例であり、半導体メモリとその半導体メモリの読み書きを制御するコントローラを備え、ホスト4と通信が可能な構成であれば、図1に示した構成に限らずどのような構成でもよい。
図2は、本実施の形態の半導体メモリ部3の構成例を示す図である。図2に示すように、本実施の形態の半導体メモリ部3は、複数のSLC(Single−Level Cell)で構成される記憶セル部31と、カラム回路(セル周辺回路)32−1〜32−i(iは1以上の整数)と、バッファ部33と、で構成される。カラム回路32−1〜32−iは、記憶セル部31の読み書きを制御する周辺回路である。カラム回路32−1〜32−iは、それぞれ、センスアンプ回路兼ラッチ回路で構成されるページバッファ回路34−1〜34−7と、カラムゲート回路35−1〜35−7と、カラム電圧制御回路36と、で構成される。なお、図2では、ページバッファ回路34−1〜34−7として、カラムjのビットkに対応するページバッファ回路(P/B)をP/B(j−1)kと表記している。ページバッファ回路34−1〜34−7は、読み出しデータまたは書き込みデータを保持し読み出し時にはビット線の読み出しデータの増幅を行う。カラムゲート回路35−1〜35−7は、カラム選択信号CSLjに基づいて読み出しまたは書き込むビットを選択するためのゲート回路である。カラム電圧制御回路36は、ビット線とデータバッファを接続制御するための信号を生成する。
記憶セル部31は、共通ソース線CELSRCを備え、直列接続された電気的書き換え可能な不揮発性の記憶セルM0〜M15を有し、記憶セルM0〜M15の両端はそれぞれ、選択セルS1と選択セルS2を解してビット線BLjk(j番目のカラムのk番目のビット線)および共通ソース線CELSRCに接続されている。
記憶セル部31は、8本のビット線で構成されるi個のグループ(カラム)に分割されており、これらのグループをCol.0,Col.1,…,Col.iと呼ぶ。1本のビット線には、選択セルS1と選択セルS2に挟まれた16個の記憶セル(M0〜M15)を1組とするブロックが複数接続されている。カラム回路32−j(j=1,2,…,i)は、Col.(j−1)に接続されている。また、ビット線と直交する方向にワード線(WL0〜WL15)が接続されており、データの読み出しはワード線ごとに行なわれる。なお、ここでは、選択セルS1と選択セルS2に挟まれた記憶セルを16個としたが、16個に限らず何個としてもよい。
以下の説明では、iを32とし、選択セルS1と選択セルS2に挟まれたセルを8個として説明するが、これらの数は一例であり、これらの数に限定されない。
つぎに、本実施の形態の半導体メモリ部3への書き込み動作、および半導体メモリ部3からの読み出し動作について説明する。半導体メモリ部3への書き込みおよび読み出しは、ページ単位(ワード線単位)で読み出しで行なわれる。なお、ここでは、k=8とするが、kは8に限定されない。また、iを32としているため、ここでは、1ページは32Byteとする。なお、この1ページのデータ量は一例であり、1ページのデータ量に制約は無い。
まず、CPUユニット23は、ホスト4からデータの書き込みを指示されると、誤り訂正処理部24に符号化の実施を指示するとともに、NANDI/F22へ半導体メモリ部3への書き込みを指示する。ホスト4から送信される書き込み対象のデータは、半導体記憶装置1内の図示しないバッファメモリに書き込まれる。誤り訂正処理部24の符号化部25は、バッファメモリから入力されるデータに対して誤り訂正符号を生成し、NANDI/F22へ出力する。NANDI/F22は、バッファメモリから入力されるデータと、符号化部25が生成した誤り訂正符号と、を半導体メモリ部3へ書き込む。
また、CPUユニット23は、ホスト4からデータの読み出しを指示されると、誤り訂正処理部24に復号化の実施を指示するとともに、NANDI/F22へ半導体メモリ部3からの読み出しを指示する。NANDI/F22は、CPUユニット23からの指示に基づいて半導体メモリ部3からデータと対応する誤り訂正符号とを読み出し、読み出した誤り訂正符号を誤り訂正処理部24へ出力し、読み出したデータをバッファメモリに書き込む。誤り訂正処理部24の復号化部26は、誤り訂正符号に基づいて復号処理を行い、復号処理により誤りが有ると判断された場合には、バッファメモリに書き込まれたデータを誤り訂正符号に基づいて訂正する。Host I/F21は、バッファメモリに書き込まれたデータをホスト4に送信する。
つぎに、本実施の形態の誤り訂正符号の生成処理について説明する。ここでは、誤り訂正符号としてRS符号を生成する場合を説明する。なお、ここではRS符号を用いる場合を説明するが、シンボル単位で誤り訂正符号を生成する符号であれば、RS符号に限らずどのような誤り訂正符号を用いてもよい。
ここでは、同一カラム内の行方向(ワード線の方向)に並ぶ1Byte(8ビット)ごとに、カラムアドレス(論理アドレス)を割当てるとする。読み出し、書き込みはワード線ごとに行なわれるため、カラムアドレスは、ワード線で接続される同一行のデータ(1Byte)に連続するカラムアドレスを割当てる。例えば、図2に示すように、WL0に接続するページP0のCol.0内の記憶セルM0を含む1ByteにカラムアドレスCA0を割当て、WL0に接続するページP0のCol.1内の記憶セルM0を含む1ByteにカラムアドレスCA1を割当てる。また、ワード線WL1に接続するページP1のCol.0内の記憶セルM1を含む1ByteにカラムアドレスCA0を割当てる。
図3は、カラムアドレスとカラム回路との関係を示す図である。図3では、ブロック内の各ページ(ページP0〜ページP15)のカラムアドレスCA0,CA1,…を0,1,…とし、カラム回路32−1が制御する記憶セルに対応するカラムアドレス(Col.0内のカラムアドレス)をG1とし、カラム回路32−2が制御する記憶セルに対応するカラムアドレス(Col.1内のカラムアドレス)をG2としている。このように、隣接するカラムアドレスに対応する記憶セルは、互いに異なるカラム回路により制御されている。
従来の半導体記憶装置では、このような構造の半導体メモリ部3に書き込むデータのRS符号を生成する際には、連続するカラムアドレスに対応するデータでシンボルを構成している。例えば、2Byteを1シンボルとするとき、同一ページ内の、CA1とCA0に対応するデータで1シンボルを形成し、CA3とCA2で1シンボルを形成する。例えば、ページP1内の1シンボルを構成するデータのカラムアドレスを{}内に示すと、
{CA1,CA0}、{CA3,CA2}、…{CA31,CA30}
と16個のシンボルが生成されることになる。このように、ページ毎に16個のシンボルが形成される。
{CA1,CA0}、{CA3,CA2}、…{CA31,CA30}
と16個のシンボルが生成されることになる。このように、ページ毎に16個のシンボルが形成される。
上記のような従来の半導体記憶装置では、例えば、カラム回路32−1が機能停止した場合、カラム回路32−1が制御するCol.0内の全ての記憶セルが読み出し不能になる。このようなカラム単位の誤り(カラム誤り)が生じると、従来のRS符号化では、ページP0の{CA1,CA0}やページP1の{CA1,CA0}などのように、Col.0に対応するカラムアドレスを1つでも含むシンボルに誤りが発生することになる。例えば、カラム回路32−1が機能停止した場合、1つのブロック(図2で示したように、1ブロックが16本のワード線で構成されるとする)あたり、16シンボルに誤りが発生する。したがって、カラム誤りが発生した場合にも誤り訂正を可能とするには、1ブロックごとに誤り訂正処理を行う場合、1ブロックあたりの訂正可能なシンボル数t(誤り訂正能力)を16以上にする必要がある。
これに対し、本実施の形態では、同一カラムに従属するカラムアドレスに対応するデータで1つのシンボルを構成する。図4は、本実施の形態のシンボル構成の一例を示す図である。本実施の形態では、図4に示すように、Col.0(G1)に従属するページP0
のCA0(P0,0)のアドレスのデータとページP1のCA0(P1,0)のデータで1シンボルを形成する、等というように、同一のカラムに従属する2つのカラムアドレスで構成される2Byteのデータで1シンボルを構成する。
のCA0(P0,0)のアドレスのデータとページP1のCA0(P1,0)のデータで1シンボルを形成する、等というように、同一のカラムに従属する2つのカラムアドレスで構成される2Byteのデータで1シンボルを構成する。
そして、例えば、ガロア拡大体はGF(2^16)で符号化を行うとする。1ブロックあたりの同一のカラムに従属するシンボルの数は、16/2=8となるため、1つのカラムにカラム誤りが生じた場合に、影響を受けるシンボルの数は8である。従って、1つのカラム誤りが発生した場合に誤り訂正を可能とするには、1ブロックあたりの訂正可能なシンボル数tを8以上としてRS符号化を実施すればよい。上述のように、同一のカラムに従属する2つのカラムアドレスに対応する2Byteのデータで1シンボルを構成することにより、カラム誤りに対して効率的に誤り訂正を行なうことができる。
例えば、図4に示すように、Col.0には、1ブロック内に
{P0のCA0,P1のCA0}、{P3のCA96,P2のCA64}、…
{P15のCA0,P14のCA0}
の8ペアのカラムアドレスに対応する8シンボルが従属する。
{P0のCA0,P1のCA0}、{P3のCA96,P2のCA64}、…
{P15のCA0,P14のCA0}
の8ペアのカラムアドレスに対応する8シンボルが従属する。
カラム回路32−1が機能停止した場合、カラム回路32−1が制御するCol.0の全シンボルが、すなわち、1ブロックあたり上述の8シンボルが読み出し誤りとなるが、誤り訂正可能なシンボル数が8以上のため、Col.0の全シンボルを訂正することができる。
上述のカラムアドレスの割当て方法は、一例であり、カラムの構成やカラムアドレスの割当て方法は、半導体メモリ部3として用いるデバイスによって異なる。本実施の形態のシンボルの構成方法は、どのような割当て方法が採用されている場合でも適用でき、同一カラム(同一の周辺回路を用いる単位)に従属するカラムアドレスのデータで1シンボルを構成するようにすればよい。
本実施の形態では、CPUユニット23が、同一カラムに従属するカラムアドレスのデータで1シンボルを構成するよう制御するためのデバイス情報、すなわち半導体メモリ部3として用いるデバイスのカラムの構成やカラムアドレスの割当て方法、を予め把握しているとする。そして、CPUユニット23が、デバイスのカラムの構成やカラムアドレスに基づいて、符号化部25に対して、1シンボルが同一のカラムに従属するカラムアドレスのデータで構成されるよう、符号化対象のカラムアドレスの順序を指示することとする。
なお、CPUユニット23が、初期化ルーチンで、制御対象の(半導体メモリ部3として用いる)デバイスのカラムの構成やカラムアドレスの割当て方法を取得するようにしてもよい。また、メモリコントローラ2が、あらかじめ複数のデバイスについて、デバイスの種別の識別情報とカラムの構成やカラムアドレスの割当て方法との対応をアドレス情報として保持しておき、CPUユニット23が、初期化ルーチンで、制御対象のデバイスから当該デバイスの種別の識別情報を取得し、取得した識別情報と保持しているアドレス情報とに基づいて、カラムの構成やカラムアドレスの割当て方法を把握してもよい。
なお、本実施の形態では、{P1のCA0,P0のCA0}、{P3のCA0,P2のCA0}…というように、ページアドレスの若い順に、1シンボルを構成するカラムアドレスの組を定めたが、これに限らず、例えば、{P3のCA0,P0のCA0}、{P4のCA0,P1のCA0}、…等としてもよく、同一カラム内のカラムアドレスで1シンボルを構成すれば、どのような組み合わせとしてもよい。
また、本実施の形態では、2Byteで1シンボル、すなわち2つのカラムアドレスに対応するデータで1シンボルを構成することとしたが、3つ以上のカラムアドレスに対応するデータで1シンボルを構成する場合にも、同様に、同一のカラムに従属するカラムアドレスで(カラムアドレスに対応するデータで)1シンボルを構成するようにすればよい。
また、本実施の形態では、ブロック単位で誤り訂正符号化処理を行う場合について説明したが、これに限らず、誤り訂正符号化処理を行う処理単位は、どのような単位としてもよく、処理単位ごとに、1シンボルが同一のカラムに従属するカラムアドレスのデータで構成されるようにシンボルを構成すればよい。
なお、本実施の形態では、1つのカラム回路に1つのカラム(Col.0等)の記憶セルが接続されるようにしたが、これに限らず、例えば、Col.0,Col.32,Col.64、…を1つのカラム回路32−1が制御する等、複数のカラムを1つのカラム回路32−1〜32−iが制御するようにしてもよい。その場合にも、誤り訂正符号化対象の1シンボルが同一のカラムに従属するカラムアドレスのデータで構成されるようにすればよい。
図5は、1つのカラム回路に2つ以上のカラムの記憶セルが接続される場合の半導体記憶装置の構成例を示す図である。図5では、カラム回路を32個備える例を示しているが、カラム回路の数はこれに限らずいくつとしてもよい。図5の構成例は、記憶セル部31の構成が異なる以外は、図1の構成例と同様である。以下、図1の構成例と異なる点を説明する。
図5の構成例では、最下行のCol.0に属する記憶セルM0の上に配置された記憶セルM1はCol.32に属する。同様に、最下行のCol.1に属する記憶セルの上に配置された記憶セルはCol.33に属し、…、最下行のCol.31に属する記憶セルの上に配置された記憶セルはCol.63に属する。そして、Col.0〜Co.31に属する最下行の記憶セルを接続するワード線は、Col.32〜Co.63に属する下から2行目の記憶セルを接続するワード線と接続され、…というように、同一ページを構成する記憶セルを接続するワード線は、互いに接続され、全体として1つのワード線(WL0)として機能する。記憶セル部31は、このように1つのワード線として機能する互いに接続された複数のワード線の組を、1つ以上備える。
図5の構成例の場合、Col.0に属する記憶セルM0の上に配置された記憶セルM1はCol.32は、のカラムアドレスはページP0のCA32となる。したがって、例えば、ページ単位で誤り訂正符号の生成処理を行い、2Byteで1シンボルを形成する場合には、各ページの{CA0,CA32}、{CA96,CA64}…のようにカラム回路32−1により制御されるカラムアドレスのデータで1シンボルを形成する。同様に、{CA1,CA33}、{CA97,CA65}…のようにカラム回路32−2により制御されるカラムアドレスのデータで1シンボルを生成する等、同一のカラム回路により制御されるカラムアドレスのデータで1シンボルが構成されるようにすればよい。なお、複数ページ単位で誤り訂正符号の生成処理を行う場合にも、同様に同一のカラム回路により制御されるカラムアドレスのデータで1シンボルが構成されるようにすればよい。
なお、本実施の形態では、カラム回路32−1〜32−iが、対応するカラムの記憶セルの読み出しと書き込みの両方を制御するようにしたが、読み出しと書き込みとがそれぞれ異なる回路で実現されるときには、読み出しの回路または書き込みの回路のいずれか一方について同一回路で制御されるカラムアドレスのデータで1シンボルを構成するようにしてもよい。
以上のように、本実施の形態では、誤り訂正符号化の際に、誤り訂正符号化対象の1シンボルが同一のカラムに従属するカラムアドレスのデータで構成されるようにした。そのため、カラム誤りを考慮した場合でも効率的に符号化処理を行うことができ、符号化率の低下を防ぐことができる。
(第2の実施の形態)
次に、第2の実施の形態にかかる半導体記憶装置1について説明する。本実施の形態の半導体記憶装置1の構成は、半導体メモリ部3がMCL(Multi−Level Cell:多値)NANDメモリであることを除き、第1の実施の形態の半導体装置1と同様である。第1の実施の形態と同一の機能を有する構成要素は、第1の実施の形態と同一の符号を付して、重複する説明を省略する。
次に、第2の実施の形態にかかる半導体記憶装置1について説明する。本実施の形態の半導体記憶装置1の構成は、半導体メモリ部3がMCL(Multi−Level Cell:多値)NANDメモリであることを除き、第1の実施の形態の半導体装置1と同様である。第1の実施の形態と同一の機能を有する構成要素は、第1の実施の形態と同一の符号を付して、重複する説明を省略する。
第1の実施の形態では、1つの記憶セルに1ビットのデータを保持する場合を説明したが、MCL NANDの場合は、1つの記憶セルでLビット(Lは2以上の整数)のデータを保持する。1つの記憶セルが保持するLビットは、通常互いに異なるページとなる。
このような場合にも、1つの記憶セルが不良となった場合、当該記憶セルのLビットに対応する複数ページに渡った連続しないシンボルに誤りが発生することになる。また、第1の実施の形態と同様に、カラム誤りが生じると、同一カラムに従属する記憶セルのLビットに対応する複数ページに渡った連続しない多数のシンボルに誤りが発生する。
本実施の形態では、同一カラムに従属するカラムアドレスが含まれる複数ページでRS符号化を行なうこととし、MCLセルを用いる場合にも、同一カラムに従属するカラムアドレスに対応するデータの組み合わせにより1シンボルを構成する。この場合、同一の記憶セルが保持するデータで1シンボルを形成してもよいし、異なる記憶セルが保持するデータで1シンボルを形成してもよい。これにより、カラム誤りを考慮した場合にも、第1の実施の形態と同様に効率的に符号化を行なうことができる。
例えば、第1の実施の形態と同様に、8本のビット線でカラムを形成し、1つのワード線に32個のカラムが接続し、16本のワード線で1ブロックを構成するとする。この場合に、Lを2とすると、従来の連続するカラムアドレスで1シンボルを構成するRS符号化方法では、カラム誤りが生じると、ブロックあたり16×2=32シンボルに誤りが生じることになる。これに対し、本実施の形態では、カラム誤りが生じると、ブロックあたり16シンボルの誤りとなる。従って、ブロックあたり16シンボル以上の訂正能力を有するようにRS符号化を実施すれば、カラム誤りに対応できる。以上述べた以外の本実施の形態の動作は、第1の実施の形態と同様である。
以上のように、本実施の形態では、半導体メモリ部3がMCL NANDメモリの場合に、同一カラムに従属するカラムアドレスが含まれる複数ページでRS符号化を行なうこととし、同一カラムに従属するカラムアドレスに対応するデータの組み合わせにより1シンボルを構成するようにした。そのため、カラム誤りを考慮した場合でも効率的に符号化処理を行うことができ、符号化率の低下を防ぐことができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 半導体記憶装置、2 メモリコントローラ、3 半導体メモリ部、31 記憶セル部、32−1〜32−i カラム回路。
Claims (7)
- 2つ以上のセル周辺回路と、
前記セル周辺回路ごとに、前記セル周辺回路により読み出し書き込みのうち少なくとも一方を制御される2つ以上の記憶セルと、
を備える半導体メモリと、
同一の前記セル周辺回路により制御される前記記憶セルに保持されるデータで、誤り訂正符号を生成する単位である1シンボルを形成するよう指示する制御部と、
前記制御部の指示に基づいて形成したシンボルに対する誤り訂正符号を生成する符号化部と、
を備えるメモリ制御部と、
を備えることを特徴とする半導体記憶装置。 - 前記符号化部は、前記半導体メモリに記憶されるデータを読み出すデータ単位である読み出し単位ごとに、前記誤り訂正符号の生成処理を行うこととし、前記読み出し単位内での誤り訂正可能なシンボルの数を前記読み出し単位内での同一の前記セル周辺回路により制御される前記記憶セルに保持されるデータで生成されるシンボルの数以上とするよう前記誤り訂正符号を生成する、
ことを特徴とする請求項1に記載の半導体記憶装置。 - 前記記憶セルを単一ビット記憶セルとする、
ことを特徴とする請求項2に記載の半導体記憶装置。 - 前記符号化部は、前記半導体メモリに記憶されるデータを読み出すデータ単位を読み出し単位とし、前記誤り訂正符号の生成処理を複数の読み出し単位ごとに行なうこととし、前記複数の読み出し単位内での誤り訂正可能なシンボルの数を前記複数の読み出し単位内での同一の前記セル周辺回路により制御される前記記憶セルに保持されるデータで生成されるシンボルの数以上とするよう前記誤り訂正符号を生成する、
ことを特徴とする請求項1に記載の半導体記憶装置。 - 前記記憶セルを多値記憶セルとする、
ことを特徴とする請求項4に記載の半導体記憶装置。 - 前記誤り訂正符号をリード・ソロモン符号とする、
ことを特徴とする請求項1〜5のいずれか1つに記載の半導体記憶装置。 - 2つ以上のセル周辺回路と、前記セル周辺回路ごとに、前記セル周辺回路により読み出し書き込みのうち少なくとも一方を制御される2つ以上の記憶セルと、を備える半導体メモリの書き込みおよび読み出しを制御するメモリ制御装置であって、
同一の前記セル周辺回路により制御される前記記憶セルに保持されるデータで、誤り訂正符号を生成する単位である1シンボルを形成するよう指示する制御部と、
前記制御部の指示に基づいて形成したシンボルに対する誤り訂正符号を生成する符号化部と、
を備えることを特徴とするメモリ制御装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010212173A JP2012068814A (ja) | 2010-09-22 | 2010-09-22 | 半導体記憶装置およびメモリ制御装置 |
| US13/051,645 US8856613B2 (en) | 2010-09-22 | 2011-03-18 | Semiconductor storage device, memory control device, and control method of semiconductor memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010212173A JP2012068814A (ja) | 2010-09-22 | 2010-09-22 | 半導体記憶装置およびメモリ制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2012068814A true JP2012068814A (ja) | 2012-04-05 |
Family
ID=45818846
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010212173A Pending JP2012068814A (ja) | 2010-09-22 | 2010-09-22 | 半導体記憶装置およびメモリ制御装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8856613B2 (ja) |
| JP (1) | JP2012068814A (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8914706B2 (en) | 2011-12-30 | 2014-12-16 | Streamscale, Inc. | Using parity data for concurrent data authentication, correction, compression, and encryption |
| US8683296B2 (en) | 2011-12-30 | 2014-03-25 | Streamscale, Inc. | Accelerated erasure coding system and method |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH071789A (ja) | 1993-06-15 | 1995-01-06 | Fuji Photo Film Co Ltd | 出力装置のモード切換装置 |
| US5682346A (en) * | 1995-03-29 | 1997-10-28 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device having suitable writing efficiency |
| CN100543667C (zh) * | 1996-04-11 | 2009-09-23 | 株式会社日立制作所 | 盘驱动器 |
| JPH11259373A (ja) | 1998-03-13 | 1999-09-24 | Hitachi Ltd | 誤り検出能力を越えた誤りの検出率向上回路 |
| JP2000173289A (ja) | 1998-12-10 | 2000-06-23 | Toshiba Corp | エラー訂正可能なフラッシュメモリシステム |
| KR100374328B1 (ko) * | 2000-06-03 | 2003-03-03 | 박현숙 | 칩 설계 검증 및 테스트 장치 및 방법 |
| US7231585B2 (en) | 2002-12-11 | 2007-06-12 | Nvidia Corporation | Error correction for flash memory |
| US20070247918A1 (en) * | 2004-08-30 | 2007-10-25 | Renesas Technology Corp. | Semiconductor Integrated Circuit |
| JP4802515B2 (ja) * | 2005-03-01 | 2011-10-26 | 株式会社日立製作所 | 半導体装置 |
| JP4071789B2 (ja) | 2005-09-26 | 2008-04-02 | 株式会社東芝 | メモリアドレス発生装置及び方法 |
| WO2007046349A1 (ja) * | 2005-10-18 | 2007-04-26 | Nec Corporation | Mram、及びその動作方法 |
| US8281221B2 (en) * | 2005-10-18 | 2012-10-02 | Nec Corporation | Operation method of MRAM including correcting data for single-bit error and multi-bit error |
| JP2009259113A (ja) | 2008-04-18 | 2009-11-05 | Toshiba Corp | 不揮発性メモリ管理装置 |
| JP4802257B2 (ja) | 2009-03-16 | 2011-10-26 | 株式会社東芝 | 半導体記憶装置 |
-
2010
- 2010-09-22 JP JP2010212173A patent/JP2012068814A/ja active Pending
-
2011
- 2011-03-18 US US13/051,645 patent/US8856613B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US20120072803A1 (en) | 2012-03-22 |
| US8856613B2 (en) | 2014-10-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5166074B2 (ja) | 半導体記憶装置、その制御方法、および誤り訂正システム | |
| CN105340022B (zh) | 用于校正数据错误的电路、设备及方法 | |
| EP2218003B1 (en) | Correction of errors in a memory array | |
| US20120250411A1 (en) | Nonvolatile semiconductor memory | |
| JP2015018451A (ja) | メモリコントローラ、記憶装置およびメモリ制御方法 | |
| US9424126B2 (en) | Memory controller | |
| JP2020155167A (ja) | 不揮発性メモリ | |
| CN106469099B (zh) | 在应用wom码的情况下的错误纠正 | |
| JP7343709B2 (ja) | 誤り訂正システム | |
| US9230684B2 (en) | Memory controller, storage device, and memory control method | |
| US20200241957A1 (en) | Memory apparatus having hierarchical error correction code layer | |
| JP2019168897A (ja) | メモリシステム | |
| KR102504178B1 (ko) | 반도체장치 | |
| CN112017724B (zh) | 存储系统和在存储系统中纠正错误的方法 | |
| JP2009157515A (ja) | 半導体メモリコントローラおよび半導体メモリ | |
| JP2012068814A (ja) | 半導体記憶装置およびメモリ制御装置 | |
| KR102024033B1 (ko) | 이동 통신 시스템에서 메모리 제어 방법 및 장치 | |
| US11003528B2 (en) | Memory system including an error correction function | |
| US11815997B2 (en) | Memory controllers, memory systems, and memory modules | |
| JP2017107390A (ja) | ビデオサーバ装置およびデータ書き込み/読み出し方法 | |
| JP6411282B2 (ja) | 半導体メモリ及びデータ書込方法 | |
| US10951238B1 (en) | Memory system and method for controlling non-volatile memory | |
| JP4582078B2 (ja) | メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
| JP2014134843A (ja) | メモリシステム | |
| JP4692843B2 (ja) | メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |