図面 (/)

技術 不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法

出願人 スパンションエルエルシー
発明者 笠靖
出願日 2007年6月15日 (13年5ヶ月経過) 出願番号 2007-158750
公開日 2008年12月25日 (11年11ヶ月経過) 公開番号 2008-310896
状態 拒絶査定
技術分野 リードオンリーメモリ エラーの検出訂正 半導体メモリの信頼性技術
主要キーワード プログラムバッファ 未書込み 書込み済み 追加書込み コード生成回路 外部入力データ 常時データ ECC領域
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2008年12月25日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (4)

課題

データ領域の効率的な使用を可能とし、かつ、読み出しデータ信頼性を高めることが可能な不揮発性記憶装置不揮発性記憶システムおよび不揮発性記憶装置の制御方法を提供すること。

解決手段

不揮発性記憶装置1は、データを保持する複数のデータ領域13と、データ領域13の各々に対応して備えられ、データ領域13に保持されるデータに関するエラー訂正コードECCを保持するECC領域14と、入力されるコード生成コマンドCMDに応じて、データ領域13に保持される全てのデータに関するエラー訂正コードECCを生成しECC領域14へ保持するエラー訂正コード生成部2と、エラー訂正コードECCが生成されていることを検知する検知回路15と、検知回路15で検知動作が行われることに応じて、データ領域13から読み出されるデータをエラー訂正コードECCを用いて訂正する読出し部3とを備える。

概要

背景

不揮発性記憶装置信頼性向上のために、エラー訂正コードが用いられている。エラー訂正コードは、所定のデータ領域に保持される全データを用いて生成される。生成されたエラー訂正コードは、各々のデータ領域に対応して備えられるECC領域に保持される。データ領域からデータを読み出す際には、ECC領域に保持されたエラー訂正コードを用いて、読み出されるデータのエラー検出およびエラー訂正が行われる。

尚、上記の関連技術として特許文献1および2が開示されている。
特開2004−220676号公報
特開2003−248631号公報

概要

データ領域の効率的な使用を可能とし、かつ、読み出しデータの信頼性を高めることが可能な不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法を提供すること。不揮発性記憶装置1は、データを保持する複数のデータ領域13と、データ領域13の各々に対応して備えられ、データ領域13に保持されるデータに関するエラー訂正コードECCを保持するECC領域14と、入力されるコード生成コマンドCMDに応じて、データ領域13に保持される全てのデータに関するエラー訂正コードECCを生成しECC領域14へ保持するエラー訂正コード生成部2と、エラー訂正コードECCが生成されていることを検知する検知回路15と、検知回路15で検知動作が行われることに応じて、データ領域13から読み出されるデータをエラー訂正コードECCを用いて訂正する読出し部3とを備える。

目的

本発明は前記背景技術に鑑みなされたものであり、データ領域の効率的な使用を可能とし、かつ、読み出しデータの信頼性を高めることが可能な不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法を提供することを目的とする。

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

データを保持する複数のデータ領域と、前記データ領域の各々に対応して備えられ、前記データ領域に保持される前記データに関するエラー訂正コードを保持するECC領域とを備える不揮発性記憶装置において、入力されるコード生成コマンドに応じて、前記データ領域に保持される全ての前記データに関する前記エラー訂正コードを生成し前記ECC領域へ保持するエラー訂正コード生成部と、前記エラー訂正コードが生成されていることを検知する検知回路と、前記検知回路で検知動作が行われることに応じて、前記データ領域から読み出される前記データを前記エラー訂正コードを用いて訂正する読出し部とを備えることを特徴とする不揮発性記憶装置。

請求項2

前記エラー訂正コード生成部は前記エラー訂正コードの生成に際してフラグ情報を生成し、前記検知回路は前記フラグ情報に応じて前記エラー訂正コードが生成されていることを検知することを特徴とする請求項1に記載の不揮発性記憶装置。

請求項3

前記ECC領域は前記フラグ情報を格納し、前記検知回路は前記ECC領域から前記フラグ情報が入力されることを特徴とする請求項2に記載の不揮発性記憶装置。

請求項4

前記検知回路は、前記ECC領域に保持される前記エラー訂正コードの全ビットが同一ビットである場合には前記エラー訂正コードが生成されていない旨の検知結果を出力し、前記ECC領域に保持される前記エラー訂正コードの全ビットのうち少なくとも1ビットが異なる場合には前記エラー訂正コードが生成されている旨の検知結果を出力することを特徴とする請求項1に記載の不揮発性記憶装置。

請求項5

前記エラー訂正コード生成部は、前記エラー訂正コードを生成するコード生成回路と、前記コード生成回路に入力される前記データを保持するバッファと、前記コード生成コマンドに応じて、前記データ領域に保持される全ての前記データを前記バッファへ入力する入力経路とを備えることを特徴とする請求項1に記載の不揮発性記憶装置。

請求項6

前記バッファは、前記コード生成コマンドの入力と同時期に外部から前記バッファへ入力される前記データと、前記入経路を介して前記バッファへ入力される前記データとを結合して前記コード生成回路へ出力することを特徴とする請求項5に記載の不揮発性記憶装置。

請求項7

前記読出し部は、前記データ領域から読み出される前記データを前記エラー訂正コードを用いて訂正する訂正回路と、前記訂正回路の出力と前記データ領域の出力とが入力され、前記検知回路から前記エラー訂正コードが生成されていない旨が報知される場合には前記データ領域の出力を選択して出力し、前記検知回路から前記エラー訂正コードが生成されている旨が報知される場合には前記訂正回路の出力を選択して出力するセレクタとを備えることを特徴とする請求項1に記載の不揮発性記憶装置。

請求項8

データを保持する複数のデータ領域と、前記データ領域の各々に対応して備えられ、前記データ領域に保持される前記データに関するエラー訂正コードを保持するECC領域とを備える不揮発性記憶システムにおいて、入力されるコード生成コマンドに応じて、前記データ領域に保持される全ての前記データに関する前記エラー訂正コードを生成し前記ECC領域へ保持するエラー訂正コード生成部と、前記エラー訂正コードが生成されていることを検知する検知回路と、前記検知回路で検知動作が行われることに応じて、前記データ領域から読み出される前記データを前記エラー訂正コードを用いて訂正する読出し部とを備えることを特徴とする不揮発性記憶システム。

請求項9

前記検知回路において検知動作が行われることに応じて、前記データ領域の前記データが書き込まれていない空き領域に対して新たな前記データの追加書き込み禁止することを特徴とする請求項8に記載の不揮発性記憶システム。

請求項10

データを保持する複数のデータ領域と、前記データ領域の各々に対応して備えられ、前記データ領域に保持される前記データに関するエラー訂正コードを保持するECC領域とを備える不揮発性記憶装置の制御方法において、前記データ領域へのデータの書き込みまたは読み出しを行うステップと、前記エラー訂正コードを生成する旨のコード生成コマンドの入力に応じて、前記データ領域に保持される全ての前記データから前記エラー訂正コードを生成し前記ECC領域に保持するステップと、前記エラー訂正コードが生成されることに応じて、前記データ領域から前記データを読み出す際に、前記エラー訂正コードを用いて前記データを訂正するステップとを備えることを特徴とする不揮発性記憶装置の制御方法。

請求項11

前記コード生成コマンドが入力されることに応じて、前記データ領域の前記データが書き込まれていない空き領域に対して新たな前記データの追加書き込みを禁止することを特徴とする請求項10に記載の不揮発性記憶装置の制御方法。

請求項12

前記エラー訂正コードを生成するステップは、前記データ領域に書き込まれた全ての前記データを読み出すステップと、読み出された前記データと、前記コード生成コマンドと同時期に外部から入力される外部入力データとを結合して結合データを生成するステップと、前記結合データから前記エラー訂正コードを生成するステップとを備えることを特徴とする請求項10に記載の不揮発性記憶装置の制御方法。

技術分野

0001

本発明は不揮発性記憶装置不揮発性記憶システムおよび不揮発性記憶装置の制御方法に関し、特に、データ領域の効率的な使用を可能とし、かつ、読み出しデータ信頼性を高めることが可能な技術に関するものである。

背景技術

0002

不揮発性記憶装置の信頼性向上のために、エラー訂正コードが用いられている。エラー訂正コードは、所定のデータ領域に保持される全データを用いて生成される。生成されたエラー訂正コードは、各々のデータ領域に対応して備えられるECC領域に保持される。データ領域からデータを読み出す際には、ECC領域に保持されたエラー訂正コードを用いて、読み出されるデータのエラー検出およびエラー訂正が行われる。

0003

尚、上記の関連技術として特許文献1および2が開示されている。
特開2004−220676号公報
特開2003−248631号公報

発明が解決しようとする課題

0004

データ領域にデータの追加書き込みをすることにより、エラー訂正コードは更新される。しかしエラー訂正コードを保持するECC領域は、上書きすることができない不揮発性記憶素子で構成されているため、エラー訂正コードの書込みは1回限りとされる。するとエラー訂正コードを生成し、ECC領域へ書込みを行った後においては、更新されたエラー訂正コードを上書きすることができないため、データ領域へのデータの追加書き込みが禁止される。すると、データ領域の効率的な使用ができないため問題である。

0005

本発明は前記背景技術に鑑みなされたものであり、データ領域の効率的な使用を可能とし、かつ、読み出しデータの信頼性を高めることが可能な不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法を提供することを目的とする。

課題を解決するための手段

0006

前記目的を達成するためになされた本発明に係る不揮発性記憶装置は、データを保持する複数のデータ領域と、前記データ領域の各々に対応して備えられ、前記データ領域に保持される前記データに関するエラー訂正コードを保持するECC領域とを備える不揮発性記憶装置において、入力されるコード生成コマンドに応じて、前記データ領域に保持される全ての前記データに関する前記エラー訂正コードを生成し前記ECC領域へ保持するエラー訂正コード生成部と、前記エラー訂正コードが生成されていることを検知する検知回路と、前記検知回路で検知動作が行われることに応じて、前記データ領域から読み出される前記データを前記エラー訂正コードを用いて訂正する読出し部とを備えることを特徴とする。

0007

また本発明に係る不揮発性記憶システムは、データを保持する複数のデータ領域と、前記データ領域の各々に対応して備えられ、前記データ領域に保持される前記データに関するエラー訂正コードを保持するECC領域とを備える不揮発性記憶システムにおいて、入力されるコード生成コマンドに応じて、前記データ領域に保持される全ての前記データに関する前記エラー訂正コードを生成し前記ECC領域へ保持するエラー訂正コード生成部と、前記エラー訂正コードが生成されていることを検知する検知回路と、前記検知回路で検知動作が行われることに応じて、前記データ領域から読み出される前記データを前記エラー訂正コードを用いて訂正する読出し部とを備えることを特徴とする。

0008

本発明に係る不揮発性記憶装置および不揮発性記憶システムでは、データを保持する複数のデータ領域と、データ領域の各々に対応して備えられるECC領域とが備えられる。データ領域にはデータが書き込まれる。データの書込みには、初回書込みと追加書込みとが存在する。初回書込みとはデータ領域に初めてデータを書き込む動作である。また追加書込みとは、初回書込みが行われたデータ領域の空き領域に対して、追加してデータを書き込む動作である。また追加書込みは、空き領域が存在する限り、複数回可能とされる。

0009

またECC領域には、対応するデータ領域に保持されているデータに関するエラー訂正コードが保持される。エラー訂正コードとは、データ領域から読み出されるデータの誤りを検出・訂正するための情報である。なお、データ領域およびECC領域へは、データの上書きをすることはできない。

0010

エラー訂正コード生成部には、コード生成コマンドが入力される。コード生成コマンドは不揮発性記憶装置の外部から入力される。またコード生成コマンドは任意のタイミングで入力することが可能とされる。よってコード生成コマンドの入力は、データ領域への初回書込みが行われた後でもよいし、データ領域への追加書込みが行われる際と同時でもよいし、追加書込みが行われた後でもよい。

0011

コード生成コマンドが入力されることに応じて、エラー訂正符号生成回路は、データ領域に保持される全てのデータを用いてエラー訂正コードを生成する。ここで全てのデータとは、データ領域に初回書込みデータと追加書込みデータとが保持されている場合には、それら全てのデータを指す。またコード生成コマンドと同時に入力される追加データがあれば、その追加データも含むデータを指す。すなわち、コード生成コマンドが入力された時点における、データ領域に保持されるべき全てのデータを指している。

0012

検知回路は、エラー訂正コードの生成の有無を検知する。読出し部は、検知回路で検知動作が行われることに応じて、データ領域から読み出されるデータをエラー訂正コードを用いて訂正する。

0013

動作を説明する。エラー訂正コードは、データ領域に保持される全てのデータを用いて生成されるため、データ領域にデータの追加書き込みが行われると、エラー訂正コードは更新される。しかしエラー訂正コードを保持するECC領域は、上書きすることができない不揮発性記憶素子で構成されているため、エラー訂正コードをECC領域に一度書き込んだ後においては、更新されたエラー訂正コードを上書きすることができない。よってエラー訂正コードをECC領域に一度書き込んだ後においては、データ領域へのデータの追加書き込みをすることができない。

0014

コード生成コマンドが入力される前の期間では、エラー訂正コードの生成・書込みはまだ行われていないため、データ領域に追加書込みをすることが可能とされる。また検知回路では、エラー訂正コードが生成されていないことが検知される。また読出し部では、エラー訂正コードが未生成のため、データ領域から読み出されるデータに対する訂正は行われない。

0015

そしてコード生成コマンドが入力されると、エラー訂正コード生成部では、エラー訂正コードが生成され、生成されたエラー訂正コードはECC領域に書き込まれる。

0016

コード生成コマンドが入力された後の期間においては、ECC領域へエラー訂正コードが書き込まれているため、データ領域に追加書込みをすることはできない。そして検知回路では、エラー訂正コードが生成されていることが検知される。また読出し部では、検知回路において検知動作が行われることに応じて、データ領域から読み出されるデータをエラー訂正コードを用いて訂正した上で出力する。

0017

また本発明に係る不揮発性記憶装置の制御方法は、データを保持する複数のデータ領域と、前記データ領域の各々に対応して備えられ、前記データ領域に保持される前記データに関するエラー訂正コードを保持するECC領域とを備える不揮発性記憶装置の制御方法において、前記データ領域へのデータの書き込みまたは読み出しを行うステップと、前記エラー訂正コードを生成する旨のコード生成コマンドの入力に応じて、前記データ領域に保持される全ての前記データから前記エラー訂正コードを生成し前記ECC領域に保持するステップと、前記エラー訂正コードが生成されることに応じて、前記データ領域から前記データを読み出す際に、前記エラー訂正コードを用いて前記データを訂正するステップとを備えることを特徴とする。

0018

コード生成コマンドの入力前においては、エラー訂正コードの生成・書込みはまだ行われていないため、データ領域に追加書込みをすることが可能とされる。またデータ領域から読み出されるデータに対する訂正は行われない。コード生成コマンドが入力されると、前記データ領域に保持される全ての前記データから前記エラー訂正コードが生成される。コード生成コマンドが入力された後の期間においては、ECC領域へエラー訂正コードが書き込まれているため、データ領域に追加書込みをすることはできない。そして前記データ領域から読み出される前記データはエラー訂正コードを用いて訂正される。

0019

上より、データ領域を、コード生成コマンド入力前の期間においては追加書き込みが可能なデータ領域として用い、コード生成コマンド入力後の期間においては高い読み出しの信頼性を有するデータ領域として用いることができる。すなわちコード生成コマンドによって、任意のタイミングで、データ領域の状態を追加書き込みが可能な状態から高い読み出しの信頼性を有する状態へ切り替えることができる。これにより、データ領域への上書きを可能とすることと、データ読み出しの高信頼性の得ることという、相反する2つの要望両立することができる。

発明の効果

0020

本発明によれば、データ領域の効率的な使用を可能とし、かつ、読み出しデータの信頼性を高めることが可能な不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法を提供することができる。

発明を実施するための最良の形態

0021

本発明の原理図を図1に示す。フラッシュメモリ1Gは、データ領域13、ECC領域14、検知回路15、エラー訂正コード生成部2、読出し部3を備える。なおデータ領域13およびECC領域14は、上書きすることができない不揮発性記憶素子で構成されている。

0022

データ領域13には、外部から第1データID1および第2データID2が順次入力される。まず第1データID1が入力されると、データ領域13に初回書込みされる。次に第2データID2が入力されると、データ領域13の空き領域に対して、追加書き込みされる。なお追加書込みは、空き領域が存在する限り複数回可能とされるため、第2データID2以降のデータが追加書き込みされるとしてもよい。またデータ領域13には、フラッシュメモリ1Gの外部に備えられる不図示のメモリコントローラ等から、コード生成コマンドCMDが入力される。なおコード生成コマンドCMDは、任意のタイミングで入力可能とされる。

0023

エラー訂正コード生成部2には、データ領域13から第1データID1および第2データID2が入力されると共に、外部からコード生成コマンドCMDが入力される。エラー訂正コード生成部2で生成されたエラー訂正コードECCおよびフラグ信号FSは、ECC領域14に入力・保持される。ECC領域14から出力されるエラー訂正コードECCは読出し部3へ入力され、ECC領域14から出力されるフラグ信号FSは検知回路15へ入力される。検知回路15からは検知信号DSが出力される。読出し部3には第1データID1および第2データID2、エラー訂正コードECCおよび検知信号DSが入力され、出力データODが出力される。

0024

フラッシュメモリ1Gの動作を説明する。エラー訂正コードECCは、データ領域13に保持される全てのデータを用いて生成されるため、データ領域13にデータの追加書き込みが行われると、エラー訂正コードECCは更新される。しかしエラー訂正コードECCを保持するECC領域14は、上書きすることができない不揮発性記憶素子で構成されているため、エラー訂正コードECCをECC領域14に一度書き込んだ後においては、その後に更新されたエラー訂正コードECCをECC領域14に上書きすることができない。よってECC領域14にエラー訂正コードECCを一度書き込んだ後においては、データ領域13へのデータの追加書き込みをすることができない。

0025

コード生成コマンドCMDが入力される前の期間では、エラー訂正コード生成部2は動作停止状態とされ、エラー訂正コードECCおよびフラグ信号FSの生成・書込みはまだ行われていないため、データ領域13にデータの初回書込みおよび追加書込みをすることが可能とされる。よって外部から第1データID1が入力されるとデータ領域13に初回書込みされ、その後第2データID2が入力されるとデータ領域13の空き領域に追加書込みされる。またこの期間では、検知回路15は、フラグ信号FSが生成されていないことを検知し、エラー訂正コードECCが生成されていない旨の検知信号DSを出力する。読出し部3は、検知信号DSに応じて、データ領域13から読み出される第1データID1および第2データID2を訂正せずに出力データODとして出力する。

0026

そしてコード生成コマンドCMDが入力されることに応じて、エラー訂正コードECCおよびフラグ信号FSの生成が開始される。まず、データ領域13に保持されている全データである第1データID1および第2データID2がコード生成コマンドCMDに応じて読み出され、エラー訂正コード生成部2へ入力される。エラー訂正コード生成部2では、第1データID1および第2データID2を元に、エラー訂正コードECCおよびフラグ信号FSを生成する。生成されたエラー訂正コードECCおよびフラグ信号FSは、ECC領域14に書き込まれる。

0027

コード生成コマンドCMDが入力された後の期間では、検知回路15において、フラグ信号FSによってエラー訂正コードECCが生成されていることが検知される。そして検知回路15からはその旨を報知する検知信号DSが出力される。読出し部3は、検知信号DSに応じて、データ領域13から読み出される第1データID1および第2データID2をエラー訂正コードECCを用いて訂正した上で、出力データODとして出力する。

0028

以上より、データ領域13を、コード生成コマンドCMD入力前の期間においては追加書き込みが可能なデータ領域として用い、コード生成コマンドCMD入力後の期間においては高い読み出しの信頼性を有するデータ領域として用いることができる。すなわちコード生成コマンドCMDによって、任意のタイミングで、データ領域13の状態を追加書き込みが可能な状態から高い読み出しの信頼性を有する状態へ切り替えることができる。これにより、データ領域へのデータ上書きの要請と、データ領域からのデータ読み出しの高信頼性の要望という、相反する2つの要望を両立することができるフラッシュメモリ1Gを構成できる。

0029

本発明の実施形態を図2に示す。フラッシュメモリ1は、エラー訂正コード生成部2、読出し部3、データ用プログラムバッファ12、データ領域13、ECC用プログラムバッファ19、ECC領域14、検知回路15、制御回路16、コマンドデコーダ22を備える。エラー訂正コード生成部2は、ライトバッファ10、ECC生成回路11、スイッチ20を備える。読出し部3は、シンドローム算出回路23、訂正回路24、セレクタ回路18を備える。

0030

コマンドデコーダ22には、フラッシュメモリ1の外部に備えられる不図示のメモリコントローラ等からコード生成コマンドCMDが入力され、コード生成指令GCが出力される。またコード生成コマンドCMDは任意のタイミングで入力することが可能とされる。ライトバッファ10には、外部から第1データID1および第2データID2が順次入力される。またライトバッファ10には、データ領域13から出力された第1データID1および第2データID2が、内部経路30およびスイッチ20を介して入力される。ライトバッファ10はユーザデータを蓄えるバッファであり、データ領域13よりも大きい記憶容量を備える。ライトバッファ10から出力される第1データID1および第2データID2は、ECC生成回路11およびデータ用プログラムバッファ12に入力される。またECC生成回路11には、制御回路16から制御信号S1が入力される。そしてECC生成回路11からは、エラー訂正コードECCおよびフラグ信号FSが出力される。

0031

データ用プログラムバッファ12には第1データID1および第2データID2、検知信号DSが入力される。データ用プログラムバッファ12は、実際にデータ領域13へ書き込まれるデータを蓄えるバッファである。またECC用プログラムバッファ19にはエラー訂正コードECC、フラグ信号FSが入力される。ECC用プログラムバッファ19は、実際にECC領域14へ書き込まれるデータを蓄えるバッファである。データ領域13には、第1データID1および第2データID2が入力・保持される。またデータ領域13にはコード生成指令GCが入力される。またECC領域14には、エラー訂正コードECCおよびフラグ信号FSが入力・保持される。検知回路15にはECC領域14から出力されるフラグ信号FSが入力され、検知回路15からは検知信号DSが出力される。制御回路16には、コード生成指令GCが入力され、制御信号S1が出力される。

0032

データ領域13からは、第1データID1および第2データID2が出力される。シンドローム算出回路23には、エラー訂正コードECC、第1データID1および第2データID2が入力され、シンドロームSDが出力される。訂正回路24には、シンドロームSD、第1データID1および第2データID2が入力され、訂正データCDが出力される。セレクタ回路18には、訂正データCD、第1データID1および第2データID2が入力され、出力データODが出力される。

0033

図3に、データ領域13およびECC領域14の詳細図を示す。データ領域13は複数のセクタ13aないし13cを備える。またECC領域14は、複数のセクタ13aないし13cの各々に対応して、セクタ14aないし14cを備える。ここでコード生成コマンドCMDおよびコード生成指令GCは、セクタナンバーの情報を有している。よってデータ領域13は、コード生成指令GCに含まれるセクタナンバーの情報に応じて、セクタ13aないし13cの何れかを指定し、保持されているデータを読出すことができる。またECC生成回路11は、指定されたセクタから読み出されたデータを用いて、エラー訂正コードECCおよびフラグ信号FSを生成する。また制御回路16は、コード生成指令GCに含まれるセクタナンバーの情報に応じて制御信号S1を出力する。制御信号S1に応じて、セクタ13aが指定された場合にはセクタ14aが選択され、セクタ13bが指定された場合にはセクタ14bが選択され、セクタ13cが指定された場合にはセクタ14cが選択される。そしてセクタ14aないし14cのうちから選択されたセクタに、ECC生成回路11から出力されるエラー訂正コードECCおよびフラグ信号FSが入力・保持される。以上より、セクタ13aないし13cの何れかを指定してECC生成回路11を活性化し、エラー訂正コードECCを生成した上で、対応するセクタ14aないし14cに生成したエラー訂正コードECCを書き込むことができる。

0034

なおデータ領域13のセクタ13aないし13c、およびECC領域14のセクタ14aないし14cは、セクタ内の全ビットを一斉に”0”から”1”へ書き換えをすることはできるが、ビット単位で”0”から”1”への書き換えをすることが出来ない。従って一度書き込まれた”0”状態を”1”に変えることができないため、セクタにデータの上書きをすることは不可とされる。

0035

フラッシュメモリ1の動作を説明する。例として、データ領域13のセクタ13aにアクセスする場合を説明する。フラッシュメモリ1では、コード生成コマンドCMDの入力タイミングに応じて3つの動作期間がある。第1にコード生成コマンドCMDが入力される前の期間、第2にコード生成コマンドCMDの入力時、第3にコード生成コマンドCMDが入力された後の期間である。

0036

まず第1に、コード生成コマンドCMDが入力される前の期間について説明する。この期間では、ECC領域14のセクタ14aにはまだエラー訂正コードECCおよびフラグ信号FSは書込まれていない。検知回路15では、フラグ信号FSが書き込まれていないことが検知され、その旨を報知するローレベルの検知信号DSが検知回路15から出力される。データ用プログラムバッファ12は、ローレベルの検知信号DSに応じて活性状態とされる。よってこの期間では、セクタ13aにデータ書込みをすることが可能とされる。またECC生成回路11は、制御信号S1が未入力のため不活性状態とされる。

0037

外部から第1データID1が入力されると、ライトバッファ10を介してデータ用プログラムバッファ12およびECC生成回路11に入力される。データ用プログラムバッファ12は、データ領域13のセクタ13aに、第1データID1の初回書き込みを行う(図3、領域A)。一方、ECC生成回路11は不活性状態であるため、ECC生成回路11では第1データID1に関するエラー訂正コードECCは生成されない。

0038

またコード生成コマンドCMDが入力される前の期間では、データ領域13のセクタ13aに追加書込みをすることが可能である。よって外部から第2データID2が入力されると、データ用プログラムバッファ12を介してセクタ13aの空き領域に追加書込みされる(図3、領域B)。

0039

また読出し部3では、ローレベルの検知信号DSに応じて、シンドローム算出回路23および訂正回路24は不活性状態にされると共に、セレクタ回路18は入力元としてデータ領域13を選択する。よってこの期間では、データ領域13のセクタ13aから読み出される第1データID1および第2データID2は、訂正回路24で訂正されることなく、セレクタ回路18から出力データODとして出力される。以上よりこの期間では、フラッシュメモリ1は、追加書き込みが可能なメモリとして使用可能とされる。

0040

第2に、セクタ13aに対するコード生成コマンドCMDが入力された時の動作について説明する。コマンドデコーダ22は、入力されるコード生成コマンドCMDをデコードし、セクタ13aに対するコード生成指令GCを出力する。制御回路16は、コード生成指令GCの入力に応じて制御信号S1を出力し、ECC生成回路11を不活性状態から活性状態へ遷移させる。コード生成指令GCの入力に応じて、データ領域13のセクタ13aに保持されている全データである第1データID1および第2データID2が読み出される。またスイッチ20は、コード生成指令GCの入力に応じて導通状態とされるため、データ領域13から読み出された第1データID1および第2データID2が、内部経路30を介してライトバッファ10へ保持される。

0041

ライトバッファ10に保持された第1データID1および第2データID2は、ECC生成回路11に入力される。ECC生成回路11は、第1データID1および第2データID2からエラー訂正コードECCおよびフラグ信号FSを生成する。生成されたエラー訂正コードECCおよびフラグ信号FSは、ECC用プログラムバッファ19を介してECC領域14のセクタ14aに書き込まれる(図3、領域C)。以上よりこの期間では、セクタ13aに保持される第1データID1および第2データID2についてのエラー訂正コードECCおよびフラグ信号FSが生成され、ECC領域14のセクタ14aに書き込まれる。

0042

第3に、コード生成コマンドCMDが入力された後の期間において、セクタ13aにアクセスする場合を説明する。このとき検知回路15では、フラグ信号FSがセクタ14aに書き込まれていることが検知され、その旨を報知するハイレベルの検知信号DSが検知回路15から出力される。検知信号DSはフラッシュメモリ1外部の不図示のメモリコントローラへ報知され、メモリコントローラはセクタ13aへのデータ書込みを禁止する。またデータ用プログラムバッファ12は、ハイレベルの検知信号DSに応じて不活性状態とされる。よってこの期間では、セクタ13aにデータ書込みをすることが不可とされる。

0043

また読出し部3では、ハイレベルの検知信号DSに応じて、シンドローム算出回路23および訂正回路24は活性状態にされると共に、セレクタ回路18は入力元として訂正回路24を選択する。セクタ13aから読み出された第1データID1および第2データID2は、シンドローム算出回路23、訂正回路24、セレクタ回路18に入力される。シンドローム算出回路23は、第1データID1および第2データID2とエラー訂正コードECCとからシンドロームSDを算出する。訂正回路24は、シンドロームSDに基づいて、誤りがあるときには誤り訂正処理を行い、訂正データCDを出力する。セレクタ回路18は、訂正データCDを出力データODとして出力する。以上よりコード生成コマンドCMDが入力された後の期間においては、セクタ13aから読み出される第1データID1および第2データID2が、エラー訂正コードECCを用いて訂正されるため、フラッシュメモリ1は高い読み出しの信頼性を有するメモリとして使用される。

0044

以上の説明から明らかなように、本実施形態によれば、データ領域13を、コード生成コマンドCMD入力前の期間においては追加書き込みが可能なデータ領域として用い、コード生成コマンドCMD入力後の期間においては高い読み出しの信頼性を有するデータ領域として用いることができる。すなわちコード生成コマンドCMDによって、任意のタイミングで、データ領域13の状態を追加書き込みが可能な状態から高い読み出しの信頼性を有する状態へ切り替えることができる。これにより、データ領域へのデータ上書きの要請と、データ領域からのデータ読み出しの高信頼性の要望という、相反する2つの要望を両立することができるフラッシュメモリ1を構成できる。

0045

尚、本発明は前記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良、変形が可能であることは言うまでもない。本実施形態では、コード生成コマンドCMDが単独でコマンドデコーダ22に入力される場合を説明したが、この形態に限られない。コード生成コマンドCMDの入力と同時に、第3データID3がライトバッファ10へ入力されるとしてもよい。ライトバッファ10は、新たに入力された第3データID3と、内部経路30を介して読み出された第1データID1および第2データID2とを結合された上で保持する。すなわちライトバッファ10には、コード生成指令GCが入力された時点においてデータ領域13に保持されるべき全データである、第1データID1ないし第3データID3が保持される。そしてライトバッファ10から出力された第1データID1ないし第3データID3を用いて、ECC生成回路11では、エラー訂正コードECCが生成される。またセクタ13aの空き領域には、ライトバッファ10およびデータ用プログラムバッファ12を介して第3データID3が追加書き込みされる。

0046

また本実施形態では、コード生成コマンドCMDを入力してフラッシュメモリ1を使用する場合を説明したが、この形態に限られず、コード生成コマンドCMDを入力せずにフラッシュメモリ1を使用することも可能であることは言うまでもない。すなわち、高い読み出しの信頼性が必要な場合には、コード生成コマンドCMDを入力してフラッシュメモリ1を使用する。また読出しデータのさらなる高信頼性は必要ないが、常時データの追加書き込みをする必要がある場合には、コード生成コマンドCMDを入力せずにフラッシュメモリ1を使用する。これにより、コード生成コマンドCMDの入力の有無で、フラッシュメモリ1の使い分けをすることができる。これにより、1種類のフラッシュメモリ1で、高い読み出しの信頼性を有するメモリと、常時データの追加書き込みが可能なメモリとの2種類のメモリを実現することができるため、種類ごとに不揮発性記憶装置を設計する必要がなく、コスト削減を図る事が可能となる。

0047

また本実施形態では、検知回路15は、ECC領域14に書き込まれたフラグ信号FSによって、エラー訂正コードECCが生成されているか否かを判定するとしたが、この形態に限られない。検知回路15は、ECC領域14に保持されているエラー訂正コードECCを直接監視することによって、エラー訂正コードECCが生成されているか否かを判定するとしてもよいことは言うまでもない。例えばECC領域14に保持されているエラー訂正コードECCのビットが全て”1”である場合にはエラー訂正コードECCが未生成・未書込みであると判定し、エラー訂正コードECCのビットの少なくとも1つが”0”である場合には、エラー訂正コードECCが生成・書込み済みであると判定することができる。これにより、フラグ信号FSを省略することができ、ECC領域14からフラグ信号FSを保持する領域を不要とすることができるため、ECC領域14の縮小化を図ることが可能となる。

0048

また本実施形態では、コード生成コマンドCMDおよびコード生成指令GCは、セクタナンバーの情報を有しており、任意のセクタを指定してエラー訂正コードECCを生成する事が出来るとしたが、この形態に限られない。コード生成コマンドCMDおよびコード生成指令GCはセクタナンバーの情報を有さず、全てのセクタに対して一括にエラー訂正コードECCを生成する形態としてもよいことは言うまでもない。

0049

なお、ECC生成回路11はコード生成回路の一例、ライトバッファ10はバッファの一例、内部経路30およびスイッチ20は入力経路のそれぞれ一例である。

図面の簡単な説明

0050

本発明の原理図である。
フラッシュメモリ1の回路図である。
データ領域13およびECC領域14の詳細図である。

符号の説明

0051

13 データ領域
14ECC領域
ECCエラー訂正コード
CMDコード生成コマンド
2 エラー訂正コード生成部
15検知回路
3読出し部
10ライトバッファ
30 内部経路
20 スイッチ
24訂正回路
18 セレクタ回路

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 東芝メモリ株式会社の「 メモリシステム及び不揮発性メモリ」が 公開されました。( 2020/09/24)

    【課題】リード動作の信頼性を向上できるメモリシステムを提供する。【解決手段】複数のメモリセルは、複数のワードラインとメモリーピラーとが交差する位置に形成される。複数のワードラインは、積層されている。メ... 詳細

  • 東芝メモリ株式会社の「 メモリシステム」が 公開されました。( 2020/09/24)

    【課題】誤り訂正をより高精度に実行可能とする。【解決手段】実施形態のメモリシステムは、不揮発性メモリと、メモリコントローラと、を備える。不揮発性メモリは、符号を構成するシンボルのうち少なくとも1つのシ... 詳細

  • 東芝メモリ株式会社の「 メモリシステム」が 公開されました。( 2020/09/24)

    【課題】 リード電圧を効率よく推定できるメモリシステムを提供する。【解決手段】 一実施形態のメモリシステムは、第1および第2ページでデータを保持する記憶装置と、メモリコントローラとを含む。メモリコ... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ