(57)【特許請求の範囲】
【請求項１】
データおよびデータ検出情報を格納するデータ格納部と、
メモリセルに格納される前記データのビット数および前記データ検出情報のビット数を決定するビット決定部と、
前記データおよび前記データ検出情報の各ビット数を格納する長さ情報格納部と、
前記データ検出情報に基づいて前記格納されたデータに対するビット誤り率を算出する誤り訂正復号化部と、
前記算出されたビット誤り率を予め記憶された所定の閾値誤り率と比較する制御部と、
前記比較結果に応じて、前記データのビット数または前記データ検出情報のビット数を再決定するビット決定部と、
を含み、
前記データ格納部は、前記再決定された前記データのビット数に基づいて前記データを再格納したり、または前記データ検出情報のビット数に基づいて前記データ検出情報を再格納し、
前記データ検出情報には、前記データが格納される前記メモリセルの温度情報が含まれ、前記制御部は、前記データを検出する時点の前記メモリセルの動作温度と前記データを格納する時点の前記メモリセルの動作温度とを比較し、前記比較結果に応じて前記データのビット数および前記データ検出情報のビット数を再決定することを特徴とするメモリデータ格納装置。
【請求項２】
前記決定されたデータのビット数に相応するデータを受信するデータ受信部と、
前記受信したデータに対する誤り訂正符号化を行って前記データ検出情報のビット数に相応するデータ検出情報を生成する誤り訂正符号化部と、
を含むことを特徴とする請求項１に記載のメモリデータ格納装置。
【請求項３】
前記データ受信部は前記データに対する格納状態維持情報を受信し、前記データ格納部は前記格納状態維持情報を前記メモリセルに格納することを特徴とする請求項２に記載のメモリデータ格納装置。
【請求項４】
前記データ受信部は前記格納されるデータに対する閾値誤り率を受信し、前記ビット決定部は前記受信された閾値誤り率に基づいて前記データのビット数または前記データ検出情報のビット数を決定することを特徴とする請求項２に記載のメモリデータ格納装置。
【請求項５】
前記ビット決定部は、前記格納されるデータのビット誤り率が最小になるように前記データのビット数または前記データ検出情報のビット数を決定することを特徴とする請求項２に記載のメモリデータ格納装置。
【請求項６】
前記ビット決定部は、前記メモリセルが有することのできる状態の数に基づいて前記データのビット数またはデータ検出情報のビット数を決定することを特徴とする請求項２に記載のメモリデータ格納装置。
【請求項７】
前記ビット決定部は前記受信したデータに対する誤り訂正符号化方式を決定し、前記誤り訂正符号化部は前記決定された誤り訂正符号化方式にしたがって前記データ検出情報を生成することを特徴とする請求項２に記載のメモリデータ格納装置。
【請求項８】
前記格納されたデータに対するビット誤り率を算出するビット誤り率算出部と、
前記算出されたビット誤り率を所定の閾値誤り率と比較する制御部と、
をさらに含み、
前記ビット決定部は、前記比較結果に応じて前記データのビット数または前記データ検出情報のビット数を再決定し、
前記データ格納部は、前記再決定されたデータのビット数に基づいて前記データを再格納したり、または前記データ検出情報のビット数に基づいて前記データ検出情報を再格納することを特徴とする請求項２に記載のメモリデータ格納装置。
【請求項９】
前記ビット決定部は、前記再格納されるデータのビット誤り率が最小になるように前記データのビット数または前記データ検出情報のビット数を決定することを特徴とする請求項1に記載のメモリデータ格納装置。
【請求項１０】
前記ビット決定部は、前記メモリセルが有することのできる状態の数に基づいて前記データのビット数またはデータ検出情報のビット数を決定することを特徴とする請求項1に記載のメモリデータ格納装置。
【請求項１１】
メモリセルに格納されるデータのビット数およびデータ検出情報のビット数を決定するステップと、
前記決定されたデータのビット数に相応するデータを受信するステップと、
前記受信したデータに対する誤り訂正符号化を行ってデータ検出情報を生成するステップと、
前記受信されたデータおよび前記生成されたデータ検出情報をメモリセルに格納するステップと、
前記データ検出情報に基づいて前記格納されたデータに対するビット誤り率を算出するステップと、
前記算出されたビット誤り率を予め記憶された所定の閾値誤り率と比較するステップと、
前記比較結果に応じて前記データのビット数および前記データ検出情報のビット数を再決定するステップと、
前記再決定されたデータのビット数およびデータ検出情報のビット数に基づいて前記データを前記メモリセルに再格納するステップを含み、
前記データ検出情報には、前記データが格納される前記メモリセルの温度情報が含まれ、前記データを検出する時点の前記メモリセルの動作温度と前記データを格納する時点の前記メモリセルの動作温度とを比較し、前記比較結果に応じて前記データのビット数および前記データ検出情報のビット数を再決定するステップをさらに含むことを特徴とするメモリデータ格納方法。
【請求項１２】
前記データ検出情報はメモリセルに格納されるデータに対する閾値誤り率を含み、前記データ検出情報を格納するステップは前記データに対する閾値誤り率を前記データ検出情報に含んで前記メモリセルに格納することを特徴とする請求項１１に記載のメモリデータ格納方法。
【請求項１３】
前記格納されるデータに対する閾値誤り率を受信するステップを含み、前記受信された閾値誤り率に基づいて前記データのビット数または前記データ検出情報のビット数を決定することを特徴とする請求項１１に記載のメモリデータ格納方法。
【請求項１４】
前記ビット数を決定するステップは、前記メモリセルに格納されるデータのビット誤り率が最小になるように前記データのビット数または前記データ検出情報のビット数を決定することを特徴とする請求項１１に記載のメモリデータ格納方法。
【請求項１５】
前記ビット数を決定するステップは、前記メモリセルが有することのできる状態の数に基づいて前記データのビット数またはデータ検出情報のビット数を決定することを特徴とする請求項１１に記載のメモリデータ格納方法。
【請求項１６】
前記受信したデータに対する誤り訂正符号化方式を決定するステップをさらに含み、前記データ検出情報を生成するステップは、前記決定された誤り訂正符号化方式にしたがって前記データ検出情報を生成することを特徴とする請求項１１に記載のメモリデータ格納方法。
【請求項１７】
メモリセルに格納されるデータのビット数およびデータ検出情報のビット数を決定するステップと、
前記決定されたデータのビット数に相応するデータを受信するステップと、
前記受信したデータに対する誤り訂正符号化を行ってデータ検出情報を生成するステップと、
前記受信されたデータおよび前記生成されたデータ検出情報をメモリセルに格納するステップと、
前記データ検出情報に基づいて前記格納されたデータに対するビット誤り率を算出するステップと、
前記算出されたビット誤り率を予め記憶された所定の閾値誤り率と比較するステップと、
前記比較結果に応じて前記データのビット数および前記データ検出情報のビット数を再決定するステップと、
前記再決定されたデータのビット数およびデータ検出情報のビット数に基づいて前記データを前記メモリセルに再格納するステップを含み、
前記データ検出情報には、前記データが格納される前記メモリセルの温度情報が含まれ、前記データを検出する時点の前記メモリセルの動作温度と前記データを格納する時点の前記メモリセルの動作温度とを比較し、前記比較結果に応じて前記データのビット数および前記データ検出情報のビット数を再決定するステップをさらに含むことを特徴とするメモリデータ格納方法を実行するためのプログラムが記録されたコンピュータ読み出し可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを格納するメモリ装置に関し、より詳しくは、メモリセルに格納されるデータの長さを決定し、決定された長さに基づいてメモリにデータを格納する装置に関する。
【背景技術】
【０００２】
シングルレベルセル（ＳＬＣ：ｓｉｎｇｌｅ−ｌｅｖｅｌ  ｃｅｌｌ）メモリは、１つのメモリセルに１ビットのデータを格納するメモリである。シングルレベルセルメモリは、シングルビットセル（ＳＢＣ：ｓｉｎｇｌｅ−ｂｉｔ  ｃｅｌｌ）メモリとも呼ばれる。シングルレベルセルメモリでは、１ビットのデータはメモリセルにプログラムされた閾値電圧によって区分される２つの分布（ｄｉｓｔｒｉｂｕｔｉｏｎ）に含まれる電圧で格納されるとともに読み出される。シングルレベルセルメモリの間の微細な電気的特性の差によってプログラムされた閾値電圧は、一定の範囲の分布を有するようになる。例えば、メモリセルから読み出された電圧が０．５〜１．５ボルトである場合には、前記メモリセルに格納されたデータは論理「１」であり、メモリセルから読み出された電圧が２．５〜３．５ボルトである場合には、前記メモリセルに格納されたデータは論理「０」と解釈される。メモリセルに格納されたデータは、読み出し動作時にセル電流／電圧の差によって区分される。
【０００３】
一方、メモリの高集積化の要求に応答して、１つのメモリセルに２ビット以上のデータを格納できるマルチレベルセル（ＭＬＣ：ｍｕｌｔｉ−ｌｅｖｅｌ  ｃｅｌｌ）メモリが提案されている。マルチレベルセルメモリは、マルチビットセル（ＭＢＣ：ｍｕｌｔｉ−ｂｉｔ  ｃｅｌｌ）メモリとも呼ばれる。しかし、１つのメモリセルに格納するビットの数が増加するほど信頼性は落ち、読み出し失敗率は増加することになる。１つのメモリセルにｍ個のビットを格納しようとすれば、２ｍ個の分布を形成しなければならない。しかし、メモリの電圧ウィンドウは制限されているため、ｍが増加することによって隣接したビットの間の閾値電圧の差は減少し、これによって読み出し失敗率が増加する。このような理由により、従来技術ではマルチレベルセル（ＭＬＣ：ｍｕｌｔｉ−ｌｅｖｅｌ  ｃｅｌｌ）メモリを用いた格納密度の向上は容易ではなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、メモリセルに格納されるデータの閾値誤り率に基づいて、メモリデータと同一のメモリセルに格納されるデータ検出情報のビット数を決定することにある。
【０００５】
本発明の目的は、メモリセルに格納されたデータのビット誤り率とメモリセルに格納されたデータの閾値誤り率とを比較し、その結果に応じてデータ検出情報のビット数を再決定することにある。
【課題を解決するための手段】
【０００６】
前記の目的を達成して従来技術の問題点を解決するために、本発明は、メモリセルに格納されるデータのビット数およびデータ検出情報のビット数を決定するビット決定部と、前記決定されたデータのビット数に相応するデータを受信するデータ受信部と、前記受信したデータに対する誤り訂正符号化を行って前記データ検出情報のビット数に相応するデータ検出情報を生成する誤り訂正符号化部と、前記受信されたデータおよび前記生成されたデータ検出情報を前記メモリセルに格納するデータ格納部とを含むことを特徴とするメモリデータ格納装置を提供する。
【０００７】
本発明の一側面によれば、データおよびデータ検出情報を格納するデータ格納部と、前記データおよび前記データ検出情報の各ビット数を格納する長さ情報格納部と、前記データ検出情報に基づいて前記格納されたデータに対するビット誤り率を算出する誤り訂正復号化部と、前記算出されたビット誤り率を所定の閾値誤り率と比較する制御部と、前記比較結果に応じて、前記データのビット数または前記データ検出情報のビット数を再決定するビット決定部とを含み、前記データ格納部は、前記再決定された前記データのビット数に基づいて前記データを再格納する、または前記データ検出情報のビット数に基づいて前記データ検出情報を再格納することを特徴とするメモリデータ検出装置が提供される。
【０００８】
本発明のほかの側面によれば、メモリセルに格納されるデータのビット数およびデータ検出情報のビット数を決定するステップと、前記決定されたデータのビット数に相応するデータを受信するステップと、前記受信したデータに対する誤り訂正符号化を行ってデータ検出情報を生成するステップと、前記受信されたデータおよび前記生成されたデータ検出情報をメモリセルに格納するステップとを含むことを特徴とするメモリデータ格納方法が提供される。
【発明の効果】
【０００９】
本発明によれば、メモリセルに格納されるデータの閾値誤り率に基づいてメモリデータと同一のメモリセルに格納されるデータ検出情報のビット数を決定することができる。
【００１０】
本発明によれば、メモリセルに格納されたデータのビット誤り率とメモリセルに格納されたデータの閾値誤り率とを比較し、その結果に応じて、データ検出情報のビット数を再決定することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明にしたがって、メモリセルに格納されるデータのビット数およびデータ検出情報のビット数を決定するメモリデータ格納装置の構造を示すブロック図である。
【図２】本発明の一実施形態にしたがって、所定の閾値誤り率よりも少ないビット誤り率を算出するようにメモリセルに格納されるデータのビット数およびデータ検出情報のビット数を決定する概念図である。
【図３】本発明の一実施形態にしたがって、メモリセルに格納されたデータに対するビット誤り率が最小になるようにメモリセルに格納されるデータのビット数およびデータ検出情報のビット数を決定する概念図である。
【図４】本発明の一実施形態にしたがって、メモリセルに格納されたデータに対するビット誤り率を算出し、算出されたビット誤り率に応じて前記データを再格納するメモリデータ検出装置の構造を示すブロック図である。
【図５】本発明の一実施形態にしたがって、メモリセルに格納されたデータに対するビット誤り率に基づいてデータのビット数およびデータ検出情報のビット数を再決定するメモリデータ検出装置の構成を示すブロック図である。
【図６】本発明の一実施形態にしたがって、データおよびデータ検出情報をメモリセルに格納する概念図である。
【図７】本発明の一実施形態にしたがって、メモリセルに格納されるデータに対するデータのビット数を決定する方法を段階的に説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下は、添付された図面を参照して本発明の実施形態を詳細に説明する。
【００１３】
図１は、本発明にしたがって、メモリセルに格納されるデータのビット数およびデータ検出情報のビット数を決定するメモリデータ格納装置の構造を示すブロック図である。以下、図１を参照して本発明に係るメモリデータ格納装置の動作を詳細に説明することにする。本発明に係るメモリデータ格納装置１００は、ビット決定部１１０、データ受信部１２０、誤り訂正符号化部１３０およびデータ格納部１４０を含む。
【００１４】
ビット決定部１１０は、メモリセルに格納されるデータのビット数またはデータ検出情報のビット数を決定する。
【００１５】
本発明の一実施形態によれば、メモリデータ格納装置がメモリセルに複数ビットの情報を格納する場合に、一部のビットはメモリセルに格納されるデータであり、一部のビットは格納されるデータに関連したデータ検出情報であってもよい。メモリデータ格納装置は、データ検出情報を用いてメモリセルに格納されたデータを検出してもよい。
【００１６】
本発明の一実施形態によれば、データ検出情報は、メモリセルに格納されるデータに対する誤り訂正情報またはメモリセルに格納されたデータを維持するための格納状態維持情報であってもよい。
【００１７】
本発明の一実施形態によれば、メモリデータ格納装置は、誤り訂正情報を用いてメモリセルに格納されたデータに誤りが発生したか否かを判断してもよい。また、メモリセルに格納されたデータに誤りが発生した場合に、誤りを除去してもよい。
【００１８】
本発明の一実施形態によれば、メモリデータ格納装置は、格納状態維持情報を参照してメモリセルに格納されたデータを維持、管理してもよい。格納状態維持情報は、データが格納されるメモリセルの温度情報、メモリセルに格納されたデータと関連する閾値誤り率情報を含んでもよい。
【００１９】
メモリセルに格納されたデータに対するビット誤り率は、メモリセルの動作温度にしたがって変化する。本発明の一実施形態に係るメモリデータ格納装置は、データをメモリセルに格納する時点のメモリセルの動作温度をデータと関連するデータ管理情報としてメモリセルに格納してもよい。メモリデータ格納装置は、データを検出する時点のメモリセルの動作温度とデータを格納する時点のメモリセルの動作温度とを比較し、比較結果に基づいてメモリセルに格納されたデータのビット数を再決定してもよい。
【００２０】
データ受信部１２０は、ビット決定部１１０が決めたデータビット数に相応するデータを受信する。本発明の一実施形態によれば、データ受信部１２０はデータ分割部からデータを受信してもよい。データ分割部は、メモリセルに格納されるデータをビット決定部１１０が決めたビット数に相応する長さで分割する。データ分割部は、分割された各々のデータをデータ受信部１２０に送信する。
【００２１】
誤り訂正符号化部１３０は、受信したデータに対する誤り訂正符号化を行ってデータ検出情報のビット数に相応するデータ検出情報を生成する。本発明の一実施形態によれば、誤り訂正符号化部１３０は、畳み込み（ｃｏｎｖｏｌｕｔｉｏｎａｌ）符号化方式、ＢＣＨ（Ｂｏｓｅ−Ｃｈａｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）符号化方式、ＴＣＭ符号化方式、ＢＣＭ符号化方式、リードソロモン（Ｒｅｅｄ−Ｓｏｌｏｍｏｎ）符号化方式、またはターボ符号化方式にしたがって、メモリセルに格納されるデータに対する誤り訂正情報を生成してもよい。
【００２２】
データ格納部１４０は、受信されたデータおよび生成されたデータ検出情報をメモリセルに格納する。本発明の一実施形態によれば、データ受信部１２０は、メモリセルに対する格納状態維持情報をデータと共に受信し、データ格納部１３０は、格納状態維持情報をデータ検出情報に含んでメモリセルに格納してもよい。
【００２３】
本発明の一実施形態によれば、データ受信部１２０は、格納されるデータに対する閾値誤り率を受信し、ビット決定部１１０は、受信された閾値誤り率に基づいてデータのビット数またはデータ検出情報のビット数を決定してもよい。
【００２４】
一般的に、誤り訂正情報の量が多くなれば、より強力な誤り訂正を行なってもよい。強力な誤り訂正方式を行なえば、誤り訂正前のビット誤り率が大きい値を有する場合であっても、誤り訂正後のビット誤り率は極めて小さい値を有してもよい。したがって、ビット決定部１１０は、メモリセルに格納されたデータのビット誤り率が受信された閾値誤り率以下になるようデータ検出情報のビット数を決定してもよい。
【００２５】
メモリセルに格納される情報のビット数が決定されていることにより状態数が決められていれば、データ検出情報のビット数を無限に増やすことはできない。したがって、メモリデータ格納装置１００は、メモリセルに格納できる情報のビット数内でメモリセルに格納するデータに対するビット数およびデータ検出情報のビット数を決定する。
【００２６】
メモリセルに格納できる情報は、メモリセルに格納されるデータだけでなく、データ検出情報を含む。メモリセルに格納できる情報の最大ビット数が決められているため、データ検出情報のビット数も制限される。したがって、データ検出情報を用いる誤り訂正性能も制限される。制限されたデータ検出情報のビット数に基づいてメモリセルに格納されたデータに対する誤り訂正性能を向上させるために誤り訂正符号化方式を変更してもよい。本発明の一実施形態によれば、前記ビット決定部１１０は受信したデータに対する誤り訂正符号化方式を決定し、前記誤り訂正符号化部１３０は、前記決定された誤り訂正符号化方式にしたがって前記データ検出情報を生成してもよい。
【００２７】
本発明の一実施形態によれば、ビット誤り率算出部は、メモリセルに格納されたデータに対するビット誤り率を算出してもよい。本発明の一実施形態によれば、ビット誤り率算出部は、データ検出情報に含まれた誤り訂正情報を用いてメモリセルに格納されたデータに誤りが発生したか否かを判断してもよい。
【００２８】
制御部は、ビット誤り率算出部が算出したビット誤り率を所定の閾値誤り率と比較する。本発明の一実施形態によれば、閾値誤り率をデータ検出情報に含んでもよい。本発明の一実施形態によれば、データ受信部１２０は閾値誤り率を受信してもよい。
【００２９】
ビット決定部１１０は、制御部の比較結果に応じて、データのビット数またはデータ検出情報のビット数を再決定してもよい。本発明の一実施形態によれば、メモリセルに格納されたデータのビット誤り率が閾値誤り率よりも高い場合に、ビット決定部１１０は、データのビット数またはデータ検出情報のビット数を再決定してもよい。データ格納部１４０は、再決定されたデータのビット数に基づいて、メモリセルに格納されたデータを再格納したり、データ検出情報のビット数に基づいてデータ検出情報を再格納したりしてもよい。
【００３０】
メモリセルに格納されたデータのビット誤り率が閾値誤り率よりも高い場合に、ビット決定部１１０は、従来のデータ検出情報のビット数よりも増加するように新しいデータ検出情報のビット数を決定してもよい。誤り訂正符号化部１３０は、再決定されたデータ検出情報のビット数に相応するようにデータ検出情報を再生成してもよい。再生成されたデータ検出情報は、既存データ検出情報の量よりも多いため、誤り訂正符号化部１３０は、既存誤り訂正符号化方式よりもさらに強力な誤り訂正符号化方式を用いてもよい。本発明の一実施形態によれば、ビット決定部１１０は、誤り訂正符号化部１３０が用いて誤り訂正符号化方式を決定してもよい。
【００３１】
図２は、本発明の一実施形態にしたがって、所定の閾値誤り率よりも少ないビット誤り率を算出するように、メモリセルに格納されるデータのビット数およびデータ検出情報のビット数を決定する概念図である。以下、図２を参照してメモリセルに格納されたデータのビット数を決定する概念を詳細に説明することにする。図２に示す横軸は、メモリセルに格納されたデータの誤り訂正前ビット誤り率を示す。
【００３２】
図２に示す縦軸は、メモリセルに格納されたデータに対し誤り訂正復号化を行って誤りを訂正した後のビット誤り率を示す。
【００３３】
メモリセルに格納されることができる情報の量は、メモリセルが有することのできる状態の数と関連する。本発明の一実施形態によれば、ビット決定部１１０は、メモリセルが有することのできる状態の数に基づいて前記データのビット数またはデータ検出情報のビット数を決定してもよい。例えば、メモリセルが１６種類の状態を有することができれば、メモリセルは最大４ビットの情報を格納することができる。
【００３４】
本発明の一実施形態によれば、メモリデータ格納装置１００は、メモリセルの状態数を考慮してデータ検出情報を決定してもよい。例えば、メモリセルが有することができる最大状態の数が１６である場合に、メモリセルは最大４ビットの情報を格納することができる。４ビットの情報はメモリセルに格納されるデータだけではなくデータ管理情報を含む。
【００３５】
本発明の一実施形態によれば、メモリデータ格納装置は４ビットの情報を格納できるメモリセルに３ビットの情報のみを格納するように決定してもよい。３ビットの情報は２ビットのデータおよび１ビットのデータ管理情報を含んでもよい。４ビットの情報を格納できるメモリセルに３ビットのみを格納すれば、各ビットに対するビット誤り率は減少する。
【００３６】
本発明の他の実施形態によれば、メモリデータ格納装置は、２ビットのデータと２ビットのデータ管理情報を格納するように決定してもよい。４ビットの情報を格納するため各ビットに対するビット誤り率を増加する。しかし、データ管理情報の量が増加するためより強力な誤り訂正符号化および誤り訂正復号化を行なってもよい。したがって、誤り訂正復号化の遂行後のビット誤り率は、３ビットの情報を格納した場合よりも減少する場合がある。
【００３７】
曲線２１０は、Ｎビットのデータ検出情報を格納する場合に誤り訂正符号化部の誤り訂正性能を示す。Ｎデータ検出情報を格納する場合に誤り訂正前のビット誤り率は２１１であり、誤り訂正後のビット誤り率は２１２である。
【００３８】
曲線２２０は、Ｎ＋ｋビットのデータ検出情報を格納する場合に、誤り訂正符号化部の誤り訂正性能を示す。同一のメモリセルにｋビットのデータ検出情報をさらに格納するために、誤り訂正前のビット誤り率２２１は、Ｎビットのデータ検出情報を格納する場合２１１よりも増加している。しかし、Ｎ＋ｋビットのデータ検出情報を格納する場合には、Ｎビットのデータ検出情報を格納する場合よりもさらに強力な誤り訂正符号化、誤り訂正復号化を行なってもよい。したがって、Ｎ＋ｋビットのデータ検出情報を格納する場合の誤り訂正後のビット誤り率２２２は、Ｎビットのデータ検出情報を格納する場合２１２よりも低くなることもある。
【００３９】
本発明の一実施形態によれば、メモリセルに格納されるデータに対する閾値誤り率が２２３である場合に、ビット決定部１１０は、誤り訂正後のビット誤り率２１２、２２２が閾値誤り率２２３よりも低くなるようにデータ検出情報のビット数をＮ＋ｋに決定してもよい。
【００４０】
図３は、本発明の一実施形態にしたがって、メモリセルに格納されたデータに対するビット誤り率が最小になるようにメモリセルに格納されるデータのビット数およびデータ検出情報のビット数を決定する概念図である。以下、図３を参照して本発明に係るデータ検出情報のビット数を決定する概念を詳細に説明することにする。
【００４１】
図３に示す横軸は、メモリセルが格納されたデータの誤り訂正前ビット誤り率を示す。図３に示す縦軸は、メモリセルに格納されたデータに対し誤り訂正復号化を行って誤りを訂正した後のビット誤り率を示す。
【００４２】
曲線３１０はＮビットのデータ検出情報を格納する場合、曲線３２０はＮ＋ｋ１ビットのデータ検出情報を格納する場合、曲線３３０はＮ＋ｋ２ビットのデータ検出情報を格納する場合に誤り訂正符号化部の誤り訂正性能を示す。
【００４３】
Ｎビット、Ｎ＋ｋ１ビット、Ｎ＋ｋ２ビットのデータ検出情報を格納する場合に、誤り訂正前のビット誤り率は、それぞれ３１１、３２１、３３１である。誤り訂正後のビット誤り率は各３１２、３２２、３３２である。
【００４４】
Ｎ＋ｋ１ビット、Ｎ＋ｋ２ビットのデータ検出情報を格納する場合の誤り訂正前ビット誤り率３１２、３１３は、Ｎビットのデータを格納する場合の誤り訂正前ビット誤り率３１１よりも増加する。しかし、より強力な誤り訂正符号化方式を用いてもよいため、Ｎ＋ｋ１ビット、Ｎ＋ｋ２ビットのデータ検出情報を格納する場合の誤り訂正後のビット誤り率３２２、３３２は、Ｎビットのデータ検出情報を格納する場合の誤り訂正後のビット誤り率３１２よりも低くなることもある。
【００４５】
本発明の一実施形態によれば、メモリデータ検出装置１００のビット決定部１１０は、メモリセルに格納されるデータの誤り訂正後のビット誤り率が最小になるようにデータ検出情報のビット数を決定してもよい。
【００４６】
メモリセルに格納できる情報の量は、メモリセルが有することのできる状態の数に応じて決定される。メモリセルに最大限の情報を格納すれば、メモリセルに格納できる情報の長さは、メモリセルが有することのできる状態の数に応じて決定される。メモリセルに格納される情報は、データおよびデータ検出情報を含む。したがって、データ検出情報のビット数を増加させれば、メモリセルに格納するデータのビット数は減少する。
【００４７】
本発明の一実施形態によれば、メモリデータ検出装置１００のビット決定部１１０は、メモリセルに格納されるデータの誤り訂正後のビット誤り率が最小になるようにメモリセルに格納されるデータのビット数を決定してもよい。
【００４８】
図４は、本発明の一実施形態に係る、メモリセルに格納されたデータに対するビット誤り率を算出して、算出されたビット誤り率に応じて前記データを再格納するメモリデータ検出装置の構造を示すブロック図である。以下、図４を参照して本発明に係るデータを再格納するメモリデータ検出装置の動作を詳細に説明する。本発明に係るメモリデータ検出装置４００は、ビット決定部４１０、データ受信部４２０、誤り訂正符号化部４３０、データ格納部４４０、ビット誤り率算出部４５０および制御部４６０を含む。
【００４９】
ビット決定部４１０は、メモリセルに格納されたデータのビット数またはデータ検出情報のビット数を決定する。本発明の一実施形態によれば、ビット決定部４１０は、メモリセルに格納されるデータの閾値誤り率に基づいて、データのビット数またはデータ検出情報のビット数を決定してもよい。
【００５０】
データ受信部４２０は、ビット決定部４１０が決めたメモリセルに格納されたデータのビット数に相応するデータを受信する。
【００５１】
誤り訂正符号化部４３０は、データ受信部４２０が受信したデータに対する誤り訂正符号化を行ってデータ検出情報を生成する。誤り訂正符号化部４３０は、ビット決定部４１０が決定したデータ検出情報のビット数に基づいて、データ検出情報を生成してもよい。本発明の一実施形態によれば、誤り訂正符号化部４３０は、畳み込み符号化方式、ＢＣＨ符号化方式、ＴＣＭ符号化方式、ＢＣＭ符号化方式、リードソロモン符号化方式、またはターボ符号化方式にしたがって、メモリセルに格納されるデータに対するデータ検出情報を生成してもよい。
【００５２】
データ格納部４４０は、データ受信部４２０が受信したデータ、および誤り訂正符号化部４３０が生成したデータ検出情報をメモリセルに格納する。
【００５３】
ビット誤り率算出部４５０は、メモリセルに格納されたデータに対するビット誤り率を算出する。本発明の一実施形態によれば、ビット誤り率算出部４５０は、データ検出情報を用いてメモリセルに格納されたデータに誤りが発生したか否かを判断してもよい。
【００５４】
制御部４６０は、メモリセルに格納されたデータに対するビット誤り率とメモリセルに格納されたデータに対する閾値誤り率とを比較する。本発明の一実施形態によれば、メモリセルに格納されたデータに対するビット誤り率が閾値誤り率よりも大きい値を有する場合に、ビット決定部４１０は、メモリセルに格納されたデータまたはデータ検出情報に対するビット数を再決定してもよい。
【００５５】
本発明の一実施形態によれば、ビット決定部４１０は、従来のデータ検出情報のビット数よりもさらに大きい値を有するようにデータ検出情報のビット数を再決定してもよい。誤り訂正符号化部４３０は、より強力な誤り訂正符号化方式を用いてもよい。したがって、誤り訂正復号化方式を用いて誤り訂正されたデータのビット誤り率は、閾値ビット誤り率よりも低い値を有してもよい。
【００５６】
図５は、本発明の一実施形態に係る、メモリセルに格納されたデータに対するビット誤り率に基づいて、データのビット数およびデータ検出情報のビット数を再決定するメモリデータ検出装置の構成を示すブロック図である。以下、図５を参照して本発明に係るデータ検出装置の動作を詳細に説明する。本発明に係るデータ検出装置５００は、データ受信部５１０、長さ情報格納部５２０、誤り訂正復号化部５３０、制御部５４０、ビット決定部５５０およびデータ格納部５６０を含む。
【００５７】
データ格納部５６０は、データおよびデータ検出情報をメモリセルに格納する。本発明の一実施形態によれば、メモリセルが有することのできる状態の数に応じて、メモリセルに格納される情報のビット数が決定される。メモリセルに格納される情報はデータおよびデータ検出情報を含む。
【００５８】
長さ情報格納部５２０は、メモリセルに格納されるデータのビット数およびデータ検出情報のビット数を格納する。
【００５９】
データ受信部５１０は、メモリセルに格納されるデータのビット数に相応する長さのデータを受信する。本発明の一実施形態によれば、データ受信部５１０は、データ分割部からデータを受信してもよい。データ分割部は、メモリセルに格納する全体データをメモリセルに格納されるデータのビット数に基づいて、複数のデータストリームに分割し、分割されたデータストリームをデータ受信部５１０に送信してもよい。データ受信部５１０が受信したデータを誤り訂正符号化する。データ格納部５６０は、誤り訂正符号化されたデータを格納してもよい。
【００６０】
誤り訂正復号化部５３０は、データ検出情報に基づいてメモリセルに格納されたデータに対するビット誤り率を算出する。本発明の一実施形態によれば、誤り訂正復号化部は、メモリセルに格納されたデータのビット数およびデータ検出情報のビット数を参照し、メモリセルに格納されたデータに対する誤り訂正復号化を行う。
【００６１】
制御部５４０は、誤り訂正復号化部５３０が算出したビット誤り率を所定の閾値誤り率と比較する。
【００６２】
ビット決定部５５０は、比較結果に応じてデータのビット数またはデータ検出情報のビット数を再決定してもよい。本発明の一実施形態によれば、誤り訂正復号化部５３０が算出したビット誤り率が所定の閾値誤り率よりも大きい場合に、ビット決定部５５０はデータ検出情報のビット数を従来のデータ検出情報のビット数よりも大きい値を有するように再決定してもよい。
【００６３】
本発明の一実施形態によれば、ビット決定部５５０は、再決定されたデータのビット数またはデータ検出情報のビット数に応じて、長さ情報格納部５２０をアップデートしてもよい。
【００６４】
本発明の一実施形態によれば、ビット決定部５５０は、メモリセルが有することのできる状態の数に基づいて、メモリセルに格納されるデータのビット数またはデータ検出情報のビット数を決定してもよい。メモリセルが有することのできる状態の数に基づいてメモリセルに格納できる情報の最大ビット数が決定される。メモリセルに格納できる情報は、メモリセルに格納されるデータおよびデータ検出情報を含む。したがって、メモリセルに格納できるデータのビット数またはデータ検出情報のビット数は、メモリセルが有することのできる状態の数を考慮して決定してもよい。
【００６５】
本発明の一実施形態によれば、誤り訂正符号化部は、増加したデータ検出情報のビット数を考慮してより強力な誤り訂正符号化を行なってもよく、データ格納部５６０は、再び誤り訂正符号化されたデータをメモリセルに格納したり、増加したビット数のデータ検出情報をメモリセルに格納したりしてもよい。
【００６６】
メモリセルに格納されるデータのビット数を固定してデータ検出情報のビット数を増加させる場合に、誤り訂正復号化されなかったデータのビット誤り率を増加する。しかし、増加したデータ検出情報に応じて、より強力な誤り訂正復号化を行なうことがあるため、誤り訂正復号化されて誤りが訂正されたデータのビット誤り率は減少することもある。本発明の一実施形態によれば、ビット決定部５５０は、再格納されるデータのビット誤り率が最小になるようにメモリセルに格納されるデータのビット数またはデータ検出情報のビット数を決定してもよい。
【００６７】
図６は、本発明の一実施形態に係るデータおよびデータ検出情報をメモリセルに格納する概念図である。以下、図６を参照してデータおよびデータ検出情報をメモリセルに格納する概念を詳細に説明する。本発明に係るデータ格納技術は、複数のメモリセル６１０、６２０、６３０、６４０に各データ６１１、６２１、６３１、６４１、またはデータ検出情報６１２、６２２、６３２、６４２を格納する。
【００６８】
各メモリセル６１０、６２０、６３０、６４０は、複数ビットの情報を格納してもよく、複数ビットの情報は、各データ６１１、６２１、６３１、６４１、またはデータ検出情報６１２、６２２、６３２、６４２を含む。
【００６９】
本発明の一実施形態によれば、各メモリセル６１０、６２０、６３０、６４０に格納されるデータのビット数６５１またはデータ検出情報のビット数６５２は、各メモリセルに応じて個別に決定してもよい。各メモリセル６１０、６２０、６３０、６４０の動作温度、各メモリセル６１０、６２０、６３０、６４０からデータ検出装置までのチャネル状態は、全て独立的であってもよい。したがって、各メモリセル６１０、６２０、６３０、６４０に格納されたデータに対するビット誤り率は、全て互いに異なってもよい。したがって、各メモリセル６１０、６２０、６３０、６４０に格納されたデータに対するビット誤り率が所定の閾値誤り率よりも小さい値を有するように、各データ検出情報のビット数６５２は個別に決定してもよい。
【００７０】
図６では各メモリセル６１０、６２０、６３０、６４０に格納されたデータ６１１、６２１、６３１、６４１およびデータ検出情報６１２、６２２、６３２、６４２が明確に区分された実施形態が示された。本発明の一実施形態によれば、誤り訂正符号化部が行う誤り訂正符号化方式にしたがって、データおよびデータ検出情報が明確に区分されないこともある。
【００７１】
本発明の一実施形態によれば、誤り訂正符号化部は、リードソロモン符号のようなシステム的符号（ｓｙｓｔｅｍａｔｉｃ  ｃｏｄｅ）を用いて誤り訂正符号化を行なってもよい。この場合に、データ６１１、６２１、６３１、６４１とデータ検出情報６１２、６２２、６３２、６４２は、明確に区分される。
【００７２】
本発明の一実施形態によれば、誤り訂正符号化部は、ターボコードのような非システム的符号（ｎｏｎ−ｓｙｓｔｅｍａｔｉｃ  ｃｏｄｅ）を用いて誤り訂正符号化を行なってもよい。この場合に、データ６１１、６２１、６３１、６４１とデータ検出情報６１２、６２２、６３２、６４２は、明確に区分されない。データとデータ検出情報が明確に区分されないだけであって、ビット決定部１１０が決定したデータのビット数およびデータ検出情報のビット数に応じて、誤り訂正符号化部１３０は誤り訂正情報を生成してもよい。
【００７３】
図７は、本発明の一実施形態に係る、メモリセルに格納されるデータに対するデータのビット数を決定する方法を段階的に説明するフローチャートである。以下、図７を参照してメモリセルに格納されるデータに対するデータビットの数を決定する方法を詳細に説明することにする。
【００７４】
ステップＳ７１０において、メモリセルに格納されるデータに対する格納状態維持情報を受信する。本発明の一実施形態によれば、格納状態維持情報はメモリセルに格納されるデータに対する閾値誤り率を含んでもよい。
【００７５】
ステップＳ７２０において、メモリセルに格納されるデータに対する誤り訂正符号化方式を決定する。本発明の一実施形態によれば、ステップＳ７２０では畳み込み符号化方式、ＢＣＨ符号化方式、ＴＣＭ符号化方式、ＢＣＭ符号化方式、リードソロモン符号化方式、またはターボ符号化方式の中のいずれか１つの符号化方式をメモリセルに格納されるデータに対する誤り訂正符号化方式として決定してもよい。
【００７６】
本発明の一実施形態によればステップＳ７２０では、ステップＳ７１０で受信した閾値誤り率を考慮して誤り訂正符号化方式を決定してもよい。
【００７７】
ステップＳ７３０において、メモリセルに格納されるデータのビット数およびデータと共に格納されるデータ検出情報のビット数を決定する。本発明の一実施形態によれば、ステップＳ７３０では、ステップＳ７１０で受信された閾値誤り率に基づいて、メモリセルに格納されるデータのビット数またはデータ検出情報のビット数を決定してもよい。本発明の一実施形態によれば、ステップＳ７３０では、メモリセルに格納されるデータのビット誤り率がステップＳ７１０で受信した閾値誤り率より低い値を有するように、データのビット数またはデータ検出情報のビット数を決定してもよい。
【００７８】
本発明の一実施形態によれば、ステップＳ７３０ではメモリセルに格納されるデータのビット誤り率が最小になるようにデータのビット数またはデータ検出情報のビット数を決定してもよい。
【００７９】
本発明の一実施形態によれば、ステップＳ７３０では、メモリセルが有することのできる状態の数に基づいて、データのビット数またはデータ検出情報のビット数を決定してもよい。メモリセルに格納できる情報のビット数は、メモリセルが有することのできる状態の数に基づいて決定される。メモリセルに格納できる情報は、メモリセルに格納されるデータおよびデータ検出情報を含む。したがって、データビットの数とデータ検出情報のビット数の和は、メモリセルに格納できる情報のビット数よりも大きくなってはいけない。
【００８０】
ステップＳ７４０において、ステップＳ７３０で決定されたデータのビット数に相応するデータを受信する。
【００８１】
ステップＳ７５０において、受信したデータに対する誤り訂正符号化を行ってデータ検出情報を生成する。本発明の一実施形態によれば、ステップＳ７５０では、ステップＳ７２０で決定した誤り訂正符号化方式に応じて誤り訂正符号化を行なってもよい。本発明の一実施形態によれば、ステップＳ７５０では、ステップＳ７３０で決定したデータ検出情報のビット数を考慮してデータ検出情報を生成してもよい。
【００８２】
本発明の一実施形態によれば、ステップＳ７６０では、データ検出情報をメモリセルに格納してもよい。本発明の一実施形態によれば、ステップＳ７６０では、ステップＳ７１０で受信した格納状態維持情報をデータ検出情報に含めてメモリセルに格納してもよい。
【００８３】
ステップＳ７７０において、メモリセルに格納されたデータに対するビット誤り率を算出する。本発明の一実施形態によれば、ステップＳ７７０では、ステップＳ７５０で生成されたデータ検出情報を参照してメモリセルに格納されたデータに対するビット誤り率を算出してもよい。
【００８４】
ステップＳ７８０において、ステップＳ７７０で算出されたビット誤り率を閾値誤り率と比較する。
【００８５】
もし、ステップＳ７７０において算出されたビット誤り率がステップＳ７８０で算出された閾値誤り率よりも大きい値を有する場合に、ステップＳ７９０ではデータのビット数またはデータ検出情報のビット数を再決定してもよい。本発明の一実施形態によれば、データのビット数またはデータ検出情報のビット数は、メモリセルに格納されたデータのビット誤り率が閾値誤り率よりも低い値を有するように決定されてもよい。
【００８６】
ステップＳ７５０において、ステップＳ７９０で再決定されたデータ検出情報のビット数を考慮してデータ検出情報を再生成してもよい。ステップＳ５６０において、再生成されたデータ検出情報またはデータをメモリセルに再格納してもよい。
【００８７】
本発明の多様な実施形態は、多様なコンピュータで具現される動作を行なうためのプログラム命令を含むコンピュータ読取可能な媒体に記録することができる。
【００８８】
当該記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせて含むこともできる。前記プログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、当業者にとって公知であり使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行され得る高級言語コードを含む。上述のハードウェア装置は、本発明の動作を行うために１つ以上のソフトウェア階層で作動するように構成され、その逆も同様である。
【００８９】
上述したように、本発明は、たとえ限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような基材から多様な修正および変形が可能である。
【００９０】
したがって、本発明の範囲は説明された実施形態に限定されて決められてはならず、後述する特許請求の範囲だけでなく、この特許請求の範囲と均等なものなどによって定められなければならない。
【符号の説明】
【００９１】
１００  メモリデータ格納装置
１１０  ビット決定部
１２０  データ受信部
１３０  誤り訂正符号化部
１４０  データ格納部
【図１】
0005524869.tif 000002
【図２】
0005524869.tif 000003
【図３】
0005524869.tif 000004
【図４】
0005524869.tif 000005
【図５】
0005524869.tif 000006
【図６】
0005524869.tif 000007
【図７】
0005524869.tif 000008