JP2010140132A - メモリシステム及びメモリコントローラ - Google Patents

メモリシステム及びメモリコントローラ Download PDF

Info

Publication number
JP2010140132A
JP2010140132A JP2008313948A JP2008313948A JP2010140132A JP 2010140132 A JP2010140132 A JP 2010140132A JP 2008313948 A JP2008313948 A JP 2008313948A JP 2008313948 A JP2008313948 A JP 2008313948A JP 2010140132 A JP2010140132 A JP 2010140132A
Authority
JP
Japan
Prior art keywords
data
correction
main data
read
error
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.)
Withdrawn
Application number
JP2008313948A
Other languages
English (en)
Inventor
Shigero Oyama
茂郎 大山
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP2008313948A priority Critical patent/JP2010140132A/ja
Publication of JP2010140132A publication Critical patent/JP2010140132A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

【課題】 読み出し要求から読み出しデータを出力するまでの遅延時間の短縮化が可能な誤り検出訂正処理を利用したメモリシステムを提供する。
【解決手段】 記憶装置10とメモリコントローラ20と演算処理装置31を備え、メモリコントローラ20が、演算処理装置31から主データの読み出し要求を受け付けると、記憶装置10から主データ及び検査データからなる符号化データを読み出し、主データを演算処理装置31に出力する出力処理と並行して或いはその後に、誤り検出訂正処理の内、符号化データを用いて主データの誤りを検出すると共に、訂正用データを生成して演算処理装置31に出力する訂正予備処理を実行し、演算処理装置31が、誤りが検出された主データについて、誤り検出訂正処理の内の訂正処理を実行するか否かを判定し、訂正処理を実行すると判定した主データに対し対応する訂正用データを用いて訂正処理を実行する。
【選択図】 図1

Description

本発明は、不揮発性メモリのアクセス動作を制御するメモリコントローラを備えるメモリシステム、及び、そのメモリコントローラに関する。
不揮発性メモリには、例えば、比較的高速で大容量のNANDフラッシュメモリがある。しかし、NANDフラッシュメモリは、特性上、データを書き込む書き込み処理時の書き込みエラーや、データを読み出す読み出し処理を同じアドレスに対して繰り返し実行した場合に発生するデータ化け(リードディスターブ)等の発生頻度が比較的高い。
このような書き込みエラーやリードディスターブに対応するため、従来は、例えば、データの誤りを検出して訂正する誤り検出訂正処理が行われている。誤り検出訂正処理には、例えば、ハミング符号やBCH(BOSE−Chaudhuri−Hocquenghem)符号等が利用されている。
ここで、例えば、ハミング符号による誤り検出訂正処理は、複数ビットで構成された主データと、主データの誤りを検出し訂正する誤り検出訂正処理の実行に用いる検査データと、からなる符号化データを用いて行われる。特に、ハミング符号により1主データ当たり1ビットの誤り検出訂正を行う誤り検出訂正処理では、例えば、読み出した主データのデータ長が4ビットの場合、データ長が4ビットの主データとデータ長が3ビットの検査データからなる符号化データを復号化する。復号化により、読み出した符号化データの誤りを検出すると共に、誤りが検出された場合は、符号化データ中における誤りビットの位置を特定する。復号化で特定された位置のビットを反転させることで、読み出した符号化データの誤りを訂正することができる。
ここで、誤り検出訂正処理を、NANDフラッシュメモリ等の不揮発性メモリを搭載したホストコンピュータのCPU(Central Processing Unit)で行うと、CPUの負荷が非常に大きくなることから、不揮発性メモリの読み出し処理を制御するメモリコントローラには、誤り検出訂正処理を行う機能を備えたものがある(例えば、特許文献1参照)。
ここで、図8は、上記特許文献1に記載のメモリコントローラ120を備えたメモリシステム100の概略部分の構成例を示している。
メモリシステム100は、図8に示すように、不揮発性メモリ110、メモリコントローラ120、ホストコンピュータ130を備えて構成されている。
不揮発性メモリ110は、主データを格納するユーザ領域と、ハミング符号等、誤り検出訂正処理に用いる検査データまたは検査データに相当するデータを格納可能な冗長領域とからなるメモリセルアレイ111を備えて構成されている。
メモリコントローラ120は、主データを記憶するバッファ121、誤り検出訂正処理を行う誤り訂正符号・復号器124、訂正符号・復号器124が生成した検査データに対し所定の可逆処理を施し、データECC−Mを生成するマスク回路125、データECC−Mを記憶するECCレジスタ122、管理データを記憶する管理データレジスタ123を備えている。
以下、メモリコントローラ120の処理動作について、簡単に説明する。
メモリコントローラ120は、ホストコンピュータ130から不揮発性メモリ110に対する主データの書き込み処理の実行を指示する書き込み要求を受け付けると、誤り訂正符号・復号器124が、バッファ121に入力された4096ビット(512バイト)の書き込みデータに4ビットのダミービットを付加して不揮発性メモリ110のユーザ領域に書き込むと共に、書き込みデータに基づいて検査データを生成し、検査データをマスク回路125に出力する。マスク回路125は、検査データに所定の可逆処理を施して生成した80ビットのデータECC−Mを不揮発性メモリ110の冗長領域に書き込む。
メモリコントローラ120は、ホストコンピュータ130から不揮発性メモリ110に対する主データの読み出し処理の実行を指示する読み出し要求を受け付けると、不揮発性メモリ110のユーザ領域から、4096ビットの主データ及び4ビットのダミービットを読み出すと共に、冗長領域から80ビットのデータECC−Mを読み出す。メモリコントローラ120は、バッファ121に主データを記憶する。マスク回路125は、データECC−Mから元の検査データを復元する処理を行い、誤り訂正符号・復号器124に出力する。誤り訂正符号・復号器124は、4096ビットの主データ、4ビットのダミービット、マスク回路125が復元した検査データに基づいて、誤り検出訂正処理の内の復号化処理を実行する。誤り訂正符号・復号器124は、復号化処理において誤りが検出された場合、復号化処理で特定された位置の誤りビットの論理を反転させることにより、バッファ121の主データを訂正する。
特開2006−221334号公報
しかしながら、誤り検出訂正処理を行うメモリコントローラでは、特に、複数の主データをまとめて読み出すページ読み出し処理を実行する場合には、誤り検出訂正処理のために、不揮発性メモリから1ページ分の主データと、当該主データに対応する検査データを読み出して内部レジスタに記憶し、誤り検出訂正処理を実行した後に、訂正後の主データをホストコンピュータに対して出力する。このため、ホストコンピュータから読み出し処理の実行を指示する読み出し要求を受け付けてから主データが出力されるまでの遅延時間(レイテンシ)が長くなるという問題があった。
本発明は上記の問題に鑑みてなされたものであり、その目的は、読み出し要求から読み出しデータを出力するまでの遅延時間を短縮化し、且つ、高い信頼性を必要とする主データの信頼性を損なうことのない誤り検出訂正処理を利用したメモリシステムを提供する点にある。読み出し要求から読み出しデータを出力するまでの遅延時間を短縮化できるメモリコントローラを提供する。
上記目的を達成するための本発明に係るメモリシステムは、複数ビットで構成された主データと前記主データの誤りを検出し訂正する誤り検出訂正処理の実行に用いる検査データとからなる符号化データを記憶するための記憶装置と、メモリコントローラと、演算処理装置を備えたメモリシステムであって、前記メモリコントローラが、前記演算処理装置から前記主データの読み出し処理の実行を指示する読み出し要求を受け付けると、前記記憶装置から前記符号化データを読み出す読み出し処理を実行し、読み出された前記主データを前記演算処理装置に出力する出力処理を実行し、前記出力処理と並行して或いはその後に、前記誤り検出訂正処理の内、前記符号化データを用いて前記主データの誤りを検出すると共に、前記主データの誤りを訂正するための訂正用データを生成し、前記訂正用データを前記演算処理装置に出力する訂正予備処理を実行し、前記演算処理装置が、所定の誤り訂正条件に基づき、誤りが検出された前記主データについて、前記誤り検出訂正処理の内、前記主データの誤りを訂正する訂正処理を実行するか否かを判定し、前記訂正処理を実行すると判定した前記主データに対し、対応する前記訂正用データを用いて前記訂正処理を実行することを第1の特徴とする。
上記特徴の本発明に係るメモリシステムは、前記記憶装置は、前記主データを記憶する主データ記憶領域と、前記検査データを記憶可能な冗長領域とからなるページ記憶領域を複数備えるNAND型不揮発性メモリであることを第2の特徴とする。
上記何れかの特徴の本発明に係るメモリシステムは、前記メモリコントローラが、前記ページ記憶領域毎に、前記主データ、前記検査データの順に前記符号化データを直接読み出す読み出し処理を実行し、前記符号化データから前記主データを抽出しながら前記出力処理を実行し、前記符号化データを順次読み出しながら前記訂正予備処理を実行することを第3の特徴とする。
上記目的を達成するための本発明に係るメモリコントローラは、所定の演算処理装置から複数ビットで構成された主データの読み出し処理の実行を指示する読み出し要求を受け付けると、前記主データと前記主データの誤りを検出し訂正する誤り検出訂正処理の実行に用いる検査データとからなる符号化データを記憶した記憶装置から前記符号化データを読み出す読み出し処理を実行し、読み出された前記主データを前記演算処理装置に出力する出力処理を実行し、前記出力処理と並行して或いはその後に、前記誤り検出訂正処理の内、前記符号化データを用いて前記主データの誤りを検出すると共に、前記主データの誤りを訂正するための訂正用データを生成し、前記訂正用データを前記演算処理装置に出力する訂正予備処理を実行することを第1の特徴とする。
上記特徴の本発明に係るメモリコントローラは、前記符号化データを構成する各ビットのビットデータのビット単位での入力毎に、入力された前記ビットデータを用いて逐次処理し、前記主データの誤り検出及び前記訂正用データの生成を行うことを第2の特徴とする。
上記特徴のメモリシステムによれば、メモリコントローラが、主データの出力処理と並行して、符号化データから主データの誤りを検出して訂正用データを生成する訂正予備処理を行うので、演算処理装置による読み出し要求から主データの出力までの遅延時間を短くすることが可能になる。
尚、主データには、プログラムデータのように、1ビットの誤りも許されず、応答速度より信頼性が重要視される主データや、映像や音楽等のストリーミングデータのように、誤りがあっても問題となる可能性が低く、信頼性より応答速度が重要視される主データがある。このような場合、上記特徴のメモリシステムにおいて、演算処理装置を、例えば、信頼性が重要視される主データについては誤り訂正処理を行い、応答速度が最重要視される主データについては誤り訂正処理を行わないように構成することにより、信頼性が重要視される主データの信頼性を損なうことなく、応答速度が最重要視される主データの遅延時間を短くすることができる。
更に、上記特徴のメモリシステムによれば、演算処理装置が、訂正処理が必要な主データに対してのみ訂正処理を行うように構成されているので、演算処理装置の負荷の増大を抑制することが可能になる。
上記特徴のメモリコントローラによれば、主データの出力処理と並行して、符号化データから主データの誤りを検出して訂正用データを生成する訂正予備処理を行うので、演算処理装置による読み出し要求から主データの出力までの遅延時間を短くすることが可能になる。
上記第2の特徴のメモリコントローラによれば、符号化データを構成する各ビットのビットデータのビット単位での入力毎に、入力されたビットデータを用いて逐次処理し、主データの誤り検出及び訂正用データの生成を行うので、誤り検出訂正処理の実行のために、主データや検査データを記憶するバッファを設ける必要がなくなる。
尚、従来技術のように、誤り検出訂正処理のために主データをバッファに記憶する構成の場合には、特に、複数の主データで構成されるページを一括して読み出すページ読み出し処理では、主データの容量が相当大きくなるため、相当容量のバッファが必要とされる。更に、誤り検出訂正処理のために主データをバッファに記憶する構成の場合には、相当容量のページを一度バッファに記憶してから演算処理装置に出力することから、バッファに記憶する書き込み時間分、読み出し要求から主データが出力されるまでの遅延時間が長くなる。
これに対し、上記第2の特徴のメモリコントローラは、上述したように、バッファを設けることなく誤り検出訂正処理を実行可能であることから、バッファを設けることによる回路面積の増大や製造コストの増大を抑制することが可能になる。また、上記第2の特徴のメモリコントローラは、主データの出力処理と誤り検出訂正処理の内の訂正予備処理を並行して行うので、ページ読み出しの場合でも、遅延時間が長くなるのを抑制できる。上記第2の特徴のメモリコントローラは、近年の主データ及びページ容量の増加に伴う遅延時間の増大を効果的に抑制できる。
以下、本発明に係るメモリシステム(以下、適宜「本発明システム」と称する)及びメモリコントローラの実施形態を図面に基づいて説明する。
〈第1実施形態〉
本発明システム及び本発明に係るメモリコントローラの第1実施形態について、図1〜図5を基に説明する。
本発明システム1は、本実施形態では、図1に示すように、複数ビットで構成された主データと主データの誤りを検出し訂正する誤り検出訂正処理の実行に用いる検査データとからなる符号化データを記憶するための不揮発性メモリ10(記憶装置に相当)と、メモリコントローラ20と、ホストコンピュータ30の各機能を制御するCPU31(演算処理装置に相当)及びRAM32(Random Access Memory)を備えて構成されるホストコンピュータ30と、を備えて構成されている。本実施形態では、ホストコンピュータ30のCPU31は、メモリコントローラ20を介して不揮発性メモリ10に対する読み出し処理、書き込み処理及び消去処理を含むアクセス処理を実行可能に構成されている。
ここで、本実施形態では、誤り検出訂正処理として、ハミング符号を用いて1主データ当たり1ビットの誤り検出訂正を行う場合を想定して説明する。尚、誤り検出訂正処理としては、BCH符号や拡張ハミング符号等、他の誤り検出訂正処理を利用しても良い。
不揮発性メモリ10は、本実施形態では、NAND型不揮発性メモリであり、メモリセルアレイ11を備えて構成されている。ここで、図2は、不揮発性メモリ10の記憶領域の概略構成例を示している。図2に示すように、本実施形態では、不揮発性メモリ10は、主データを記憶するユーザ領域(主データ記憶領域に相当)と検査データを記憶可能な冗長領域とからなるページ記憶領域を複数備えて構成されている。
本実施形態のメモリセルアレイ11には、ユーザ領域及び冗長領域が、夫々、(x+1)ページ分構成されている。また、ユーザ領域には2048バイトが、冗長領域には64バイトが割り当てられている。
尚、本実施形態では、2048バイトのユーザ領域及び64バイトの冗長領域が夫々(x+1)ページ分構成されている場合について説明したが、これに限るものではない。ページ数、即ち、ユーザ領域及び冗長領域の数、ユーザ領域及び冗長領域の1ページ当たりのデータ量は、不揮発性メモリ10の用途等に応じて適切に設定する。また、冗長領域には、誤り検出訂正処理の実行に用いる検査データ以外の他のデータを記憶可能に構成しても良い。即ち、本実施形態の場合には、検査データのデータ量は、64バイト以下であれば良く、利用する誤り訂正検出処理に応じて設定する。
メモリコントローラ20は、本実施形態では、図1に示すように、不揮発性メモリ10とアクセスするためのメモリインタフェース21と、誤り検出訂正処理の内、符号化データを用いて、不揮発性メモリ10から読み出した主データ(読み出しデータ)の誤りを検出すると共に、主データの誤りを訂正するための訂正用データを生成し、訂正用データをCPU31に出力する訂正予備処理を実行する誤り検出・訂正用データ生成処理部23と、ホストコンピュータ30とデータ通信を行うためのホストインタフェース22と、を備えて構成されている。
誤り検出・訂正用データ生成処理部23は、本実施形態では、符号化データを構成する各ビットのビットデータのビット単位での入力毎に、入力されたビットデータを用いて逐次処理し、主データの誤り検出及び訂正用データの生成を行うように構成されている。
ここで、図3は、誤り検出・訂正用データ生成処理部23の概略構成例を示している。図3では、説明のために、4ビットの主データと3ビットの検査データからなる巡回符号であるハミング符号(符号化データに相当)を用いる場合について説明する。図3に示す誤り検出・訂正用データ生成処理部23は、3つのDフリップフロップ回路F0〜F2と、入力データDINとDフリップフロップ回路F2の出力データの排他的論理和を演算するEXOR回路EX1と、Dフリップフロップ回路F2の出力データとDフリップフロップ回路F0の出力データの排他的論理和を演算するEXOR回路EX2と、を備えた割り算回路として構成されている。図3では、符号化データのMSB(Most Significant Bit)から順に1ビットずつビットデータDINが入力される。
ホストコンピュータ30は、本実施形態では、CPU31が、ホストコンピュータ30の所定の機能を実現するプログラムの実行において、不揮発性メモリ10に記憶された主データを読み出すために、メモリコントローラ20に対し、主データの読み出し処理の実行を指示する読み出し要求を実行可能に構成されている。
CPU31は、本実施形態では、所定の誤り訂正条件に基づき、誤りが検出された主データについて、誤り検出訂正処理の内、主データの誤りを訂正する訂正処理を実行するか否かを判定し、訂正処理を実行すると判定した主データに対し、対応する訂正用データを用いて訂正処理を実行する。
本実施形態では、CPU31は、プログラム等、高い信頼性が必要とされるデータについては訂正処理を実行し、音楽や映像等のストリーミングデータ等、遅延時間の短縮が重要視されるデータについては訂正処理を実行しないように構成されている。
以下、本発明システム1の処理動作について、図4〜図7を基に説明する。ここで、図4は、本発明システム1の処理動作を示している。
尚、本実施形態では、本発明システム1が、ページ単位でデータを読み出すページ読み出しを行う場合を想定して説明するが、主データ単位でデータを読み出すデータ読み出し処理に適用しても良い。
メモリコントローラ20は、ホストインタフェース22がCPU31から所定のページ(主データ)の読み出し要求を受け付けると(ステップ#101)、メモリインタフェース21が、不揮発性メモリ10から読み出し対象のページ(符号化データ)を、主データ、冗長テータの順に直接読み出す読み出し処理を実行する(ステップ#102)。メモリコントローラ20は、メモリインタフェース21により、読み出した主データをホストインタフェース22と誤り検出・訂正用データ生成処理部23に出力し、検査データを誤り検出・訂正用データ生成処理部23に出力する。
メモリコントローラ20は、メモリインタフェース21が読み出した主データを、順次、ホストインタフェース22を介してCPU31に出力する出力処理を実行する(ステップ#103)。
更に、メモリコントローラ20は、メモリインタフェース21により符号化データを順次読み出しながら、ホストインタフェース22による出力処理と並行して、誤り検出・訂正用データ生成処理部23により誤り検出訂正処理の内の訂正予備処理を実行する(ステップ#104)。訂正予備処理では、誤り検出・訂正用データ生成処理部23が、符号化データを用いて主データの誤りを検出すると共に、訂正用データを生成し、生成した訂正用データを、ホストインタフェース22を介してCPU31に出力する。
ここで、図5及び図6は、図3に示す誤り検出・訂正用データ生成処理部23の訂正予備処理における動作を示している。
より詳細には、図5は、誤り検出・訂正用データ生成処理部23における入力データDINとDフリップフロップ回路F0〜F2のデータD0〜D2と出力データDOUTの値を夫々示している。図5では、符号化データが、主データ“0010”と検査データ“110”で構成されている場合を想定している。図5の出力データDOUTは“000”であり、これは、主データに誤りがないことを示している。
図6は、図5における主データの1ビット目に誤りがある場合の入力データDINとDフリップフロップ回路F0〜F2のデータD0〜D2と出力データDOUTの値を夫々示している。図6では、符号化データが、読み出しデータ(主データ)“1010”と検査データ“110”で構成されている場合を想定している。図6の出力データDOUTは“101”であり、これは、符号化データに誤りがあることを示している。メモリコントローラ20は、誤り検出・訂正用データ生成処理部23が生成した出力データDOUT“101”を訂正用データとして、ホストインタフェース22を介してCPU31に出力する。
CPU31は、メモリコントローラ20から読み出しデータを受け付けると、受け付けた読み出しデータをRAM32に記憶すると共に、読み出しデータに対応する訂正用データを取得する。読み出しデータが、訂正用データにより誤りが検出され、且つ、読み出しデータがプログラム等の高い信頼性の必要とされるデータ等、訂正処理が必要なデータであると判定された場合(ステップ#105でYES分岐)、訂正用データを用いて訂正処理を行う(ステップ#106)。
CPU31は、訂正用データの値と誤りビットの位置の関係を示す誤り訂正テーブルを用い、メモリコントローラ20から出力された訂正用データから誤りビットの位置を特定する。具体的には、例えば、図6では、訂正用データ“101”であり、図示しないが、当該訂正用データの値は1ビット目が誤りビットであることを示している。CPU31は、読み出しデータ“1010”の1ビット目を反転させて訂正し、誤りのない主データ“0010”を得ることができる。
CPU31は、不揮発性メモリ10から読み出した読み出しデータが、訂正用データにより誤りが検出されず(訂正用データが“000”の場合)、或いは、読み出しデータが遅延時間の短縮が重要視されるデータ等、訂正処理が必要でないデータであると判定した場合(ステップ#105でNO分岐)、訂正処理は行わずに読み出し処理を終了する。
本発明システム1と従来技術に係るメモリシステムの遅延時間について、図7を基に説明する。
ここで、図7(a)は、本発明システム1における遅延時間を、図7(b)は、従来技術に係るメモリシステムにおける遅延時間を夫々示している。尚、図7では、説明のために、ページ単位で読み出し処理を行うページ読み出し処理の場合について示している。また、図7では、各ページが、主データD0〜Dnと検査データDR0〜DRmで構成されている場合を想定している。
先ず、本発明システム1における遅延時間について説明する。
図7(a)に示すように、本発明システム1では、先ず、時間t0において、CPU31が、メモリコントローラ20に対し主データの読み出し要求Cを行う。メモリコントローラ20は、CPU31から主データの読み出し要求Cを受け付けると、時間t1において、不揮発性メモリ10に対し符号化データの読み出し処理C’を実行する。不揮発性メモリ10は、メモリコントローラ20から符号化データの読み出し処理C’を受け付けると、時間t3から、ページを構成する読み出しデータD0〜Dnと検査データDR0〜DRmを順次出力する。
メモリコントローラ20は、不揮発性メモリ10から読み出しデータDi(i=0〜n)を受け付けると、次のサイクルでCPU31に対し読み出しデータDiを出力する。メモリコントローラ20は、符号化データを全て受け付けると、即ち、検査データDRmを受け付けた後、時間t6において、訂正予備処理を実行し、時間t7において、訂正用データDEを出力する。
図7(a)では、最初の読み出しデータD0は、時間t5で出力される。従って、遅延時間(レイテンシ)は、読み出しデータD0〜Dn及び検査データDR0〜DRmのデータ容量に拘わらず、4サイクルとなる。
次に、従来技術に係るメモリシステムの遅延時間について説明する。
図7(b)に示すように、従来技術に係るメモリシステムでは、先ず、本発明システム1と同様に、時間t0において、CPU31が、メモリコントローラに対し主データの読み出し要求Cを行う。メモリコントローラは、CPU31から主データの読み出し要求Cを受け付けると、時間t1において、不揮発性メモリ10に対し符号化データの読み出し処理C’を実行する。不揮発性メモリ10は、メモリコントローラから符号化データの読み出し処理C’を受け付けると、時間t3から、ページを構成する読み出しデータD0〜Dnと検査データDR0〜DRmを順次出力する。
メモリコントローラは、不揮発性メモリ10から符号化データを全て受け付けた後、即ち、検査データDRmを受け付けた後、時間t6において、誤り検出訂正処理を実行し、時間t7から、CPU31に対し読み出しデータD0〜Dnを順次出力する。
図7(b)では、最初の読み出しデータD0は、時間t7で出力される。従って、遅延時間(レイテンシ)は、読み出しデータD0がメモリコントローラに出力されるまでの3サイクル、読み出しデータD0〜Dnをメモリコントローラに出力するために必要な(n+1)サイクル、検査データDR0〜DRmをメモリコントローラに出力するために必要な(m+1)サイクル、誤り検出訂正処理に係るサイクルの和となる。
図7に示すように、本発明システム1は、従来技術に係るメモリシステムに比べ、時間t5〜時間t7までの時間、遅延時間を短縮できることになる。
〈別実施形態〉
上記第1実施形態では、巡回符号を用いた割り算回路によって、訂正予備処理を出力処理と並行して行う場合について説明したが、これに限るものではない。検査データのビット毎にパリティチェックを行うように構成しても良い。
本発明に係るメモリシステム及びメモリコントローラの概略部分構成例を示す概略部分ブロック図 本発明に係るメモリシステムに搭載された記憶装置の記憶領域の構成例を示す概略ブロック図 本発明に係るメモリシステム及びメモリコントローラを構成する誤り検出・訂正用データ生成処理部の概略構成例を示す概略回路図 本発明に係るメモリシステム及びメモリコントローラの処理動作を示すフローチャート 本発明に係るメモリシステム及びメモリコントローラにおける訂正予備処理の処理動作を説明する概略ブロック図 本発明に係るメモリシステム及びメモリコントローラにおける訂正予備処理の処理動作を説明する概略ブロック図 本発明に係るメモリシステムと従来技術に係るメモリシステムの夫々における遅延時間を説明するタイミングチャート 従来技術に係るメモリシステムの概略部分構成例を示す概略部分ブロック図
符号の説明
1 本発明に係るメモリシステム
10 不揮発性メモリ(記憶装置)
11 メモリセルアレイ
20 本発明に係るメモリコントローラ
21 メモリインタフェース
22 ホストインタフェース
23 誤り検出・訂正用データ生成処理部
30 ホストコンピュータ
31 CPU(演算処理装置)
32 RAM
100 従来技術に係るメモリシステム
110 不揮発性メモリ
111 メモリセルアレイ
120 従来技術に係るメモリコントローラ
121 バッファ
122 ECCレジスタ
123 管理データレジスタ
124 誤り訂正符号・復号器
125 マスク回路
130 ホストコンピュータ
F1 Dフリップフロップ回路
F2 Dフリップフロップ回路
F3 Dフリップフロップ回路
EX1 排他的論理和回路
EX2 排他的論理和回路

Claims (5)

  1. 複数ビットで構成された主データと前記主データの誤りを検出し訂正する誤り検出訂正処理の実行に用いる検査データとからなる符号化データを記憶するための記憶装置と、メモリコントローラと、演算処理装置を備えたメモリシステムであって、
    前記メモリコントローラが、前記演算処理装置から前記主データの読み出し処理の実行を指示する読み出し要求を受け付けると、前記記憶装置から前記符号化データを読み出す読み出し処理を実行し、読み出された前記主データを前記演算処理装置に出力する出力処理を実行し、前記出力処理と並行して或いはその後に、前記誤り検出訂正処理の内、前記符号化データを用いて前記主データの誤りを検出すると共に、前記主データの誤りを訂正するための訂正用データを生成し、前記訂正用データを前記演算処理装置に出力する訂正予備処理を実行し、
    前記演算処理装置が、所定の誤り訂正条件に基づき、誤りが検出された前記主データについて、前記誤り検出訂正処理の内、前記主データの誤りを訂正する訂正処理を実行するか否かを判定し、前記訂正処理を実行すると判定した前記主データに対し、対応する前記訂正用データを用いて前記訂正処理を実行することを特徴とするメモリシステム。
  2. 前記記憶装置は、前記主データを記憶する主データ記憶領域と、前記検査データを記憶可能な冗長領域とからなるページ記憶領域を複数備えるNAND型不揮発性メモリであることを特徴とする請求項1に記載のメモリシステム。
  3. 前記メモリコントローラが、前記ページ記憶領域毎に、前記主データ、前記検査データの順に前記符号化データを直接読み出す読み出し処理を実行し、前記符号化データから前記主データを抽出しながら前記出力処理を実行し、前記符号化データを順次読み出しながら前記訂正予備処理を実行することを特徴とする請求項2に記載のメモリシステム。
  4. 所定の演算処理装置から複数ビットで構成された主データの読み出し処理の実行を指示する読み出し要求を受け付けると、前記主データと前記主データの誤りを検出し訂正する誤り検出訂正処理の実行に用いる検査データとからなる符号化データを記憶した記憶装置から前記符号化データを読み出す読み出し処理を実行し、
    読み出された前記主データを前記演算処理装置に出力する出力処理を実行し、
    前記出力処理と並行して或いはその後に、前記誤り検出訂正処理の内、前記符号化データを用いて前記主データの誤りを検出すると共に、前記主データの誤りを訂正するための訂正用データを生成し、前記訂正用データを前記演算処理装置に出力する訂正予備処理を実行することを特徴とするメモリコントローラ。
  5. 前記符号化データを構成する各ビットのビットデータのビット単位での入力毎に、入力された前記ビットデータを用いて逐次処理し、前記主データの誤り検出及び前記訂正用データの生成を行うことを特徴とする請求項4に記載のメモリコントローラ。
JP2008313948A 2008-12-10 2008-12-10 メモリシステム及びメモリコントローラ Withdrawn JP2010140132A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008313948A JP2010140132A (ja) 2008-12-10 2008-12-10 メモリシステム及びメモリコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008313948A JP2010140132A (ja) 2008-12-10 2008-12-10 メモリシステム及びメモリコントローラ

Publications (1)

Publication Number Publication Date
JP2010140132A true JP2010140132A (ja) 2010-06-24

Family

ID=42350242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008313948A Withdrawn JP2010140132A (ja) 2008-12-10 2008-12-10 メモリシステム及びメモリコントローラ

Country Status (1)

Country Link
JP (1) JP2010140132A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9355701B2 (en) 2013-03-15 2016-05-31 Samsung Electronics Co., Ltd. Nonvolatile memory device and data write method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9355701B2 (en) 2013-03-15 2016-05-31 Samsung Electronics Co., Ltd. Nonvolatile memory device and data write method

Similar Documents

Publication Publication Date Title
US8924820B2 (en) Memory controller, semiconductor memory system, and memory control method
KR101750662B1 (ko) 데이터 에러 교정용 회로, 장치, 및 방법
US9619324B2 (en) Error correction in non—volatile memory
US9424126B2 (en) Memory controller
US9513992B2 (en) Method and apparatus to perform concurrent read and write memory operations
JP4901334B2 (ja) メモリコントローラ
US9208021B2 (en) Data writing method, memory storage device, and memory controller
JP5541792B2 (ja) 半導体メモリ装置及びそれのデータ処理方法
JP2012137994A (ja) メモリシステムおよびその制御方法
US9577671B2 (en) Parity check circuit and memory device including the same
US7689895B2 (en) On-the fly error checking and correction CODEC system and method for supporting non-volatile memory
US9043672B2 (en) Memory controller, storage device, and memory control method
JP2009301194A (ja) 半導体記憶装置の制御システム
US9189327B2 (en) Error-correcting code distribution for memory systems
TW202019100A (zh) 快閃記憶體控制器及其中的編碼電路與解碼電路
TWI536749B (zh) 解碼方法、記憶體儲存裝置與記憶體控制電路單元
JP2013214212A (ja) メモリコントローラ、半導体記憶装置および復号方法
JP2009259113A (ja) 不揮発性メモリ管理装置
JP6054753B2 (ja) 半導体装置及びデータアクセス方法
KR100949471B1 (ko) 소프트웨어(s/w) 에러정정코드(ecc)를 이용한낸드 플래시에서의 데이터 입출력 방법 및 그 방법을이용한 임베디드 시스템
JP2010140132A (ja) メモリシステム及びメモリコントローラ
JP4742553B2 (ja) 記憶装置
US20140245101A1 (en) Semiconductor memory
JP2013134595A (ja) 半導体記憶装置
JP2019028952A (ja) 記憶装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120306