JP4287631B2 - 記憶装置 - Google Patents

記憶装置 Download PDF

Info

Publication number
JP4287631B2
JP4287631B2 JP2002261987A JP2002261987A JP4287631B2 JP 4287631 B2 JP4287631 B2 JP 4287631B2 JP 2002261987 A JP2002261987 A JP 2002261987A JP 2002261987 A JP2002261987 A JP 2002261987A JP 4287631 B2 JP4287631 B2 JP 4287631B2
Authority
JP
Japan
Prior art keywords
data
memory
processing unit
host device
flash memory
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.)
Expired - Fee Related
Application number
JP2002261987A
Other languages
English (en)
Other versions
JP2004102539A (ja
Inventor
祐吉 森
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.)
Hitachi Communication Technologies Ltd
Original Assignee
Hitachi Communication Technologies Ltd
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 Hitachi Communication Technologies Ltd filed Critical Hitachi Communication Technologies Ltd
Priority to JP2002261987A priority Critical patent/JP4287631B2/ja
Publication of JP2004102539A publication Critical patent/JP2004102539A/ja
Application granted granted Critical
Publication of JP4287631B2 publication Critical patent/JP4287631B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、制御システムにおける上位装置からの命令に従って上位装置から転送されてくるデータをフラッシュメモリに記憶したり、フラッシュメモリへ記憶したデータを読み出して上位装置に転送する外部億装置に関する。
【0002】
【従来の技術】
データの記憶媒体としての不揮発性メモリとして、フラッシュタイプのフローティングゲートトランジスタを含む電気的消去可能なプログラマブルメモリが使われている。このフラッシュメモリは、メーカ出荷時に既に不良セクタとして存在している初期欠陥セクタ、書替えにより発生する不良セクタである後発不良セクタを有しており、さらに、書替を繰り返すことによるアクセス時間の増加に対応する書替回数寿命を有している。このため、フラッシュメモリの使用に当たっては、初期欠陥セクタ、後発不良セクタ、書替寿命となったセクタに対して、代替セクタへの再割付け処理が必要となる。
【0003】
したがって、フラッシュメモリを使用して外部記憶装置を構成する場合には、書替回数が書替許容回数に達した場合を検出して、代替セクタに再割付けすることにより対処していた(例えば、特許文献1参照)。
【0004】
【特許文献1】
特開平5‐234391号公報(図1、図2)
【0005】
【発明が解決しようとする課題】
しかしながら、フラッシュメモリは、書替回数が増加するにつれにアクセス時間が増加する特性をもっていることから、上記のような従来の方式では、チップの書替回数の規格値を超えて同一セクタを使用していると、アクセス時間(セクタの消去時間および書き込み時間)が大きくなる。したがって、フラッシュメモリの書き込み処理性能が劣るという問題点があった。
【0006】
本発明は、フラッシュメモリを用いた外部記憶装置において、書き込み処理性能を落とさずに、書き込みセクタを管理することを課題とする。
【0007】
【課題を解決するための手段】
上記課題を解決するために、本発明は、フラッシュメモリを用いた記憶装置において、代替セクタへの再割付け処理を効率よく実施するために、以下のような対応を取る。
【0008】
A.各チップ内で発生した不良セクタなどの再割付け先を同一チップ内に設定すると共に管理テーブルも同一チップ内に設けることによって、管理テーブルの容量を小さくして、欠陥セクタ情報、不良セクタ情報および書替回数情報を管理する管理テーブルの検索を高速にする。
【0009】
B.欠陥セクタと交替先アドレスを同一の管理テーブルで監視すると、検索論理が複雑となるので、欠陥セクタテーブルと交替先アドレステーブルを別々に設け、欠陥セクタに対応する交替先セクタを欠陥セクタテーブルに記述されたオフセット値で検索できるようにすることによって、交替先セクタの管理を単純化することができる。
【0010】
C.管理テーブルにも欠陥セクタが発生するおそれがある。この場合、さらに上位の管理テーブルを設けて管理すると処理が複雑となる。このため、フラッシュメモリ常に同一の管理テーブルを4多重書きしておき、仮に4つのうち3つが欠陥セクタ発生により使用不可となったとしても、残り1つの管理テーブルにより動作継続できるようにすることによって、管理テーブルの欠陥発生に対処できるようにする。
【0011】
D.通常の動作で参照する管理テーブルは、RAM上に置き、電源投入時にフラッシュメモリの管理情報を読み出しRAM上に格納する。また、交替処理が発生した場合に、RAM上の管理情報を書きかえるにあたって、4多重に書き込むようにする。このようにすることによって、通常のリード/ライトコマンドで、フラッシュメモリからその都度管理テーブルをリードして動作するときに要する処理時間を短縮することができる。
【0012】
E.フラッシュメモリを書き替える場合には、当該セクタの書替回数を管理し、設定回数を超えた場合に交替セクタへ再書込みする。すなわち、電源投入時にフラッシュメモリの各セクタのコントロール領域に書き込んである当該セクタの書替回数を読み出し、RAMの書替回数情報テーブルに格納する。フラッシュメモリのデータと共にコントロール領域に更新した書替回数を書き込む。
【0013】
上記課題を解決するために、この出願の第1の発明にかかる記憶装置は、上位装置からの命令に基づいて、上位装置から転送されるデータを記憶し、かつ、記憶したデータを読み出して上位装置に転送する記憶装置において、前記記憶装置の制御部は、前記上位装置からの命令を受信し前記データの送受信を行う上位装置処理部と、前記データを一時的に蓄積するバッファメモリと、前記バッファメモリと記憶手段としての消去可能なメモリの間で所定の転送指示によってデータ転送を行うメモリ処理部と、前記上位装置処理部が受信した前記命令を解読し転送指示を与える中央処理装置と、前記中央処理装置のプログラムを格納する第1のメモリと、前記中央処理装置が前記プログラムを実行するときにワークエリアとしてデータを格納する第2のメモリと前記消去可能なメモリによって管理し、前記消去可能なメモリ内の代替セクタに再割付することを特徴とする。
【0014】
本発明によれば、消去可能なメモリの書替回数を管理し、メモリの書替回数の規格値を超える場合に代替エリアに再割付することによって消去可能なメモリのアクセス時間が大きくなる前に代替エリアに再割付することが可能となる。このことにより、消去可能なメモリの書き込み処理性能が劣ることを防止できる。
【0015】
こ出願の第2の発明にかかる記憶装置は、第1の発明において、前記記憶装置の制御部における前記バッファメモリは、第1のバッファメモリと第2のバッファメモリの2つのメモリから構成されると共に、前記第1のバッファメモリと第2のバッファメモリに一時的に蓄積されたデータを比較するデータ比較処理部を備え、前記上位装置から転送されたデータを消去可能なメモリに記憶する動作においては、前記データを一時的に蓄積する前記第1のバッファメモリに記憶された前記データと、前記消去可能なメモリに記憶された後読み出され前記第2のバッファメモリに一時的に蓄積されたデータを、前記データ比較処理部で比較し、前記消去可能なメモリに記憶されたデータを前記上位装置へ転送する動作においては、消去可能なメモリに記憶されたデータとエラーコレクションコードによって、前記メモリ処理部においてデータ誤りを訂正したり、データ誤りを検出することを特徴とする。
【0016】
本発明によれば、2つのバッファメモリに蓄積されたデータを比較し、またエラーコレクションコードによって、データ誤りを訂正したり、データ誤りを検出することによって、データの信頼性を向上することができる。
【0017】
この出願の第3の発明にかかる記憶装置は、第2の発明において、上位装置のインタフェースとしてスモールコンピューターシステムインタフェースを採用し、下位装置としてフラッシュメモリを採用したことを特徴とする。
【0018】
本発明によれば、上位装置に対してはスモールコンピュータシステムインタフェースをもった、フラッシュメモリによる記憶装置を得ることができる。
【0019】
この出願の第4の発明にかかる記憶装置は、第2の発明において、上位装置のインタフェースとしてスモールコンピュータシステムインタフェースを採用し、下位装置としてフラッシュメモリを採用し、前記フラッシュメモリに書き込むデータのエラーコレクションコードと前記フラッシュメモリに書き込む書替回数データのエラーコレクションコードを分離したことを特徴とする。
【0020】
本発明によれば、上位装置に対してはスモールコンピュータシステムインタフェースをもち、記憶装置の電源投入時に第2のメモリに書替回数データのテーブルを制作するため、フラッシュメモリより書替回数データを読み出す必要があるが、フラッシュメモリに書き込むデータのエラーコレクションコードと前記フラッシュメモリに書き込む書替回数データのエラーコレクションコードを分離したことにより高速に読み出すことができる。
【0021】
この出願の第5の発明にかかる記憶装置は、第2の発明において、上位装置のインタフェースとしてスモールコンピュータシステムインタフェースを採用し、下位装置としてフラッシュメモリを採用し、前記フラッシュメモリの同一アクセス単位に書替回数データを含めたことを特徴とする。
【0022】
本発明によれば、上位装置に対してはスモールコンピュータシステムインタフェースをもち、同一アクセス単位に書替回数を含めることにより、データおよびそのセクタの書替回数データの書替回数を同一にできる。
【0023】
【発明の実施の形態】
以下、図を用いて、本発明にかかる記憶装置の構成の概要を説明する。図1は、本発明の実施形態を示すシステムの構成図である。図示するように、本実施形態にかかる外部記憶装置1は、システム7配下の外部記憶装置として上位装置6とスモールコンピュータシステムインタフェース(以下SCSIと表記する)バス8で接続されている。この外部記憶装置1の内部には、SCSIバス8に接続している制御手段である制御部10と、メモリバス5を介して接続される記憶部(フラッシュメモリ部)3を備えて構成される。
【0024】
ここで、外部記憶装置1として、セル構造がNAND形およびAND形のフラッシュメモリを使用することによって、ハードディスクや光磁気ディスクと同様な機能を持たせることができる。
【0025】
このNAND形およびAND形のフラッシュメモリは、ハードディスクまたは光磁気ディスクに比較して、読み取り誤り率が低いという特性を有しているので、書き込み時に、データの他に誤り訂正符号(以下ECCと表記する)を付加して、フラッシュメモリのセクタに書き込むことができる。また、読み出し時には、データとECCを読み出し、演算して、データの誤りの有無を確認することができる。データが誤っていた場合には、データを訂正する機能が必須となる。
【0026】
本発明においては、制御部10が、読み出しデータの誤り検出機能および誤り訂正機能を構成している。さらに、制御部10は、フラッシュメモリの各セクタの書替回数を管理し、書替回数が規定値を超えたときに、代替セクタへ書き替える機能を有している。
【0027】
図2は、本発明の実施の形態にかかる記憶装置1の内部構成を示すブロック図である。図2を用いて、記憶装置1のより詳細な構成を説明する。
【0028】
記憶装置1の制御部10は、SCSIバス8を介して上位装置6へ接続され、さらに記憶装置1の内部では、下位装置である記憶部3がメモリバス5を介して制御部10へ接続されている。
【0029】
制御部10は、中央処理装置(以下CPUと略称する)11と、SCSI処理部(上位装置処理部)12と、メモリ処理部(下位装置処理部)13と、ダイレクトメモリアクセス(以下DMAと略称する)処理部14と、データ比較処理部15と、バッファメモリA16と,バッファメモリB17と、第1のメモリ18と、第2のメモリ19と、ファーストインファーストアウト(以下FIFOと略称する)メモリ部20とから構成される。
【0030】
PU11と、SCSI処理部12と、メモリ処理部13と、DMA処理部14と、データ比較処理部15と、第1のメモリ18と、第2のメモリ19は、CPUバスB11を介して互いに接続される。また、SCSI処理部12と、メモリ処理部13と、DMA処理部14と、データ比較処理部15と、バッファメモリA16と,バッファメモリB17とは、DMAバスB12を介して互いに接続される。
【0031】
CPU11は、記憶装置1を制御する手段であり、各種処理部によって後述する各種処理を実行する。
【0032】
SCSI処理部12は、CPUバスB11を介してCPU11と接続され、上位装置6からの命令を受信すると共に、上位装置6との間でデータの送受信を行う手段である。
【0033】
メモリ処理部13は、下位装置である記憶部3に対する命令を送信すると共に、記憶部3との間でデータの送受信を行う手段である。また、メモリ処理部13は、記憶部3へのデータ書き込みをする際のECCデータ作成のための符号器と記憶部3からデータを読み出しする際のECCデータの復号器を有する。
【0034】
DMA処理部14は、SCSI処理部12とバッファメモリA16またはバッファメモリB17との間、あるいはメモリ処理部13とバッファメモリA16またはバッファメモリB17との間で、DMAバスB12を介してCPU11の転送指示によりデータのDMA転送を行う手段である。
【0035】
データ比較処理部15は、バッファメモリA16に蓄積されたデータとバッファメモリB17に蓄積されたデータを比較し、両データの一致を見る手段である。
【0036】
バッファメモリA16またはバッファメモリB17は、上位装置6と下位装置である記憶部3の間の転送データを一時的に蓄積する手段である。
【0037】
第1のメモリ18は、リードオンリーメモリ(以下ROMと略称する)から構成され、CPU11のプログラムや、フラッシュメモリのセクタの書替回数の限度を示す規格値などを格納する手段である。
【0038】
第2のメモリ19は、ランダムアクセスメモリ(以下RAMと略称する)から構成され、ワークエリア、記憶部3の欠陥(初期欠陥および、後発欠陥)情報テーブル、交替先セクタ情報テーブル、書替回数情報テーブルとして使用する。
【0039】
FIFOメモリ部20は、ECCによる誤り訂正をする場合に訂正前のデータを一時格納する手段である。
【0040】
図3は、記憶部3へデータを書き込む際のライトデータにECC付加するライトデータ書込機能を説明する図であり、メモリ処理部13の内部構成のデータ書込機能の一部を説明するブロック図である。
【0041】
メモリ処理部13のライトデータを処理するための機能は、書替回数を格納するレジスタW131と、データ/書替回数切替信号生成回路W132と、セレクタW133と、ECC符号器W134と、ECCタイミング信号生成回路W135と、セレクタW136とを有して構成される。
【0042】
書替回数を格納するレジスタW131は、フラッシュメモリ3におけるライトしようとするセクタの書替回数を格納する手段である。
【0043】
データ/書替回数切替信号生成回路W132は、セレクタW133がライトデータまたは書替回数データを選択するデータ/書替回数切替信号SW132を生成する手段である。
【0044】
セレクタW133は、ライトデータ(入力)D16または書替回数レジスタW131からの書替回数データDW131を、データ/書替回数切替信号SW132によって選択して出力する手段である。
【0045】
ECC符号器W134は、ライトデータD16または書替回数データDW131をECC符号化する手段である。
【0046】
ECCタイミング信号生成回路W135は、セレクタW136を制御するECCタイミング信号SW135を生成する手段である。
【0047】
セレクタW136は、ECC符号器W134またはセレクタW133からの出力データをECCタイミングSW135によって切り替え、フラッシュメモリ3へのライトデータ(出力)D31として出力する手段である。
【0048】
この構成により、ライトデータまたは書替回数データは、ECC符号化され、フラッシュメモリ3の所定のセクタに書き込まれる。
【0049】
ここで、図3は、1ビットのみのライト機能構成を示しており、本実施例の場合には、8ビットのメモリバス5であるため、実際には8回路構成となる。
【0050】
図4を用いて、ECC符号器W134の構成の一例を説明する。本実施例におけるECC符号器W134は、符号誤り訂正方式として、単一誤り訂正2重誤り検出(以下SEC−DEDと略称する)ハミング符号を用いており、生成多項式は、下記(1)式を使用している。
【0051】
【数1】
Figure 0004287631
【0052】
ECC符号器W134は、データのレジスタW1341−1〜W1341−13と、エクスクルーシブオアW1342−1〜W1342‐7とを図示のように接続して構成される。
【0053】
データ入力端子W1344からデータI(X)を入力することにより、エクスクルーシブオアW1342−7から、入力データに続きECCデータが出力される。
【0054】
図5を用いて、メモリ処理部13内部の記憶部3からデータを読み出す際にECCにより誤り訂正または誤り検出をするための機能構成を説明する。
【0055】
メモリ処理部13のリードデータを処理するための機能は、ECCタイミング生成回路R130と、AND回路R131と、FIFOメモリ部20と、ECC復号器R132と、パリティ演算回路R133と、パターン検出回路R134と、エクスクルーシブオア回路R135と、セレクタR136と、AND回路R137‐1,R137‐2R137‐3とラッチ回路138‐1,138‐2,138‐3によって構成される。
【0056】
ECCタイミング生成回路R130は、AND回路R131を制御するECCタイミング信号SR130を生成する手段である。
【0057】
AND回路R131は、フラッシュメモリ3からのリードデータ(入力)D32をECCタイミング信号SR130で有効にするか無効にするかを切り替える手段である。
【0058】
FIFOメモリ部20は、ECCによる誤り訂正をする場合に訂正前のデータを一時格納する手段である。
【0059】
ECC復号器R132は、フラッシュメモリからのリードデータ(入力)D32を復号化して出力する手段であり、ゼロ検出信号SR132を出力する手段である。
【0060】
パリティ演算回路R133は、パリティエラーの検出を行う手段であり、ゼロ検出信号SR133を出力する手段である。
【0061】
パターン検出回路R134は、データを訂正するための位置検出を行う手段である。
【0062】
エクスクルーシブオア回路R135は、パターン検出回路R134の出力に基づいてFIFO20に格納されたデータの誤り訂正を行う手段である。
【0063】
セレクタR136は、リードデータ(入力)D32または、エクスクルーシブオア回路R135の出力データをエラー訂正指示SR136によって切り替え、リードデータ(出力)D136としてバッファメモリA16またはバッファメモリB17へ出力する手段である。
【0064】
AND回路R137‐1およびラッチ回路138‐1は、ECC復号器R132のゼロ検出有り信号[SR132]とパリティ演算回路R133のゼロ検出有り信号[SR133]のAND条件により、ラッチ回路R138−1へECCエンドタイミングS138−1によりラッチし、エラー発生有無の判定を行い、エラー発生信号SE138−1を出力する手段である。
【0065】
AND回路R137‐2およびラッチ回路R138−2は、ECC復号器R132のゼロ検出無し信号SR132とパリティ演算回路R133のゼロ検出無し信号SR133のAND条件により、ラッチ回路R138−2へECCエンドタイミングS138−2によりラッチし、1ビットエラー発生有無の判定を行い、1ビットエラー発生信号SE138‐2を出力する手段である。
【0066】
AND回路R137‐3およびラッチ回路138−3は、ECC復号器R132のゼロ検出無し信号SR132とパリティ演算回路R133のゼロ検出有り信号[SR133]のAND条件により、ラッチ回路138−3へECCエンドタイミングS138−3によりラッチし、2ビットエラー発生有無の判定を行い、2ビットエラー発生信号SE138‐3を出力する手段である。
【0067】
なお、図5は1ビットのみの構成を示しており、本実施例の場合には、8ビットのメモリバス5であるため、8回路構成となる。
【0068】
図6を用いて、ECC復号器R132に関連するECC復号手段の構成の一例を説明する。ECC復号器R132は、符号誤り訂正方式として、ECC符号器W134と同様にSEC−DEDハミング符号を用いている。ECC復号手段は、シンドローム計算レジスタR132と、シンドロームパターン検出回路R134と、バッファレジスタ(FIFO)20と、誤り訂正回路R135とを有して構成される。
【0069】
メモリバス5からのデータY(X)は、ECC復号器(シンドローム計算レジスタ)R132で演算され、バッファレジスタ(FIFO)20に一時蓄積されたリードデータ(入力)(Y(X))D32に対し、シンドロームパターン検出回路R134によってデータの誤り位置が検出され、誤り訂正回路R135にて訂正され、データC(X)が出力される。
【0070】
図7を用いて、フラッシュメモリ3の物理フォーマットの例を説明する。フラッシュメモリ3は、チップアドレス単位に、第1の管理領域35、ユーザ領域36、交替領域37、第2の管理領域38が設けられる。第1の管理領域35は、欠陥情報テーブルおよび交替先セクタ情報テーブルが格納される。ユーザー領域36は、図8に示すデータ割付けでライトデータ、ライトデータのECCデータ、書替回数データ、書替回数データのECCデータが格納される。交替領域37は、欠陥セクタに対応して設定される交替セクタ領域である。管理領域38は、管理領域35と同じテーブルが格納され、管理領域の二重化を図っているものである。管理領域35に障害があった場合、管理領域38を利用する。
【0071】
図8を用いて、記憶部3に使用するフラッシュメモリチップのデータ割付構成の一例を説明する。図8は、フラッシュメモリチップ3のチップ構成30は、1セクタあたり2048バイトのデータ領域31と64バイトのコントロール領域32に分かれており、セクタアドレス0000Hから3FFFHまでの16384セクタのチップ容量がある。
【0072】
また、コントロール領域62は、カラムアドレス800H〜83FHを分割することによって、データ領域31の2048バイトのECCデータ321(13バイト)、空き322(34バイト)、該当セクタの書替回数323(4バイト)、および書き換え回数323のECCデータ324(13バイト)で構成される。
【0073】
データ領域31のECCデータ321と書替回数のECCデータ324を分離させているのは、本実施例における記憶装置の電源投入時に、RAM19上に書き換え回数情報テーブルを作り直す必要があり、そのためには、記憶部3の全フラッシュメモリチップの全セクタアドレスの書替回数を読み出さなければならないからである。
【0074】
すなわち、ECCデータ数がデータ領域と書替回数の双方を
含んで1個で記述されることを想定した場合、データ領域の2048バイトおよび書替回数の4バイトならびにECCデータの13バイトの合計2065バイトを読み出す必要がある。
【0075】
一方、ECCデータを、データ領域31に格納されるライトデータとコントロール領域32に格納される書替回数に対応して分離することにより、ライトデータのECCデータ324の13バイトと書替回数323の4バイトとの合計17バイトを読み出すだけでよく、17/2065=1/121となり、電源投入時の処理時間の大幅な短縮になる。また、同一セクタのコントロール領域32に書替回数を含めることにより、データ領域31とコントロール領域32の書替回数323の書替回数を同一にできる。
【0076】
しかしながら、フラッシュメモリ内に専用の管理テーブルを設けこの管理テーブルによる書替回数を管理する場合には、データ領域31の書替回数に対し、管理テーブルの書替回数が非常に多くなり、管理テーブルの書き替えによる寿命が極端に早くなってしまう。本発明によればこのような問題を回避できる。
【0077】
上記のようにフラッシュメモリの書替回数を管理し、チップの書替回数の規格値を超える場合には、代替セクタに再割付することによって、フラッシュメモリのアクセス時間が大きくなる前に代替セクタに再割付が可能となる。このことにより、フラッシュメモリの書き込み処理性能が時間を経るにしたがって劣化することを防止できる。
【0078】
上位装置6とSCSI処理部12とを接続しているSCSIバス8のインタフェースは、8ビットのデータ線と1ビットのパリティビットおよび、BSY、ATN等の制御線を持ち、動作フェーズとしては、バスフリー、セレクション、メッセージアウト、コマンド、データインまたはデータアウト、ステータス、メッセージイン、バスフリーの7段階で遷移する。
【0079】
図9と図10は、リード転送処理のシーケンスチャートであり、図9と図10に従って、フラッシュメモリ部3から上位装置6へデータを読み出す、リード転送処理を説明する。
【0080】
上位装置6には複数の記憶装置1が接続されている場合があるので、セレクション動作が必要になる。即ち、上位装置6は、バスフリーフェーズにおいて所望の記憶装置1と接続するために上位装置6のSCSI−ID番号(例えば2の7乗ビット=1)と記憶装置1のSCSI−ID番号(例えば2の0乗ビット=1)をSCSIバス8に乗せ、セレクション動作を実行する(ステップS1)。
【0081】
これに対し、SCSI処理部12は、SCSIバス8の制御線のうち、BSY=1として応答するとともに、割込信号としてCPU11に通知する(ステップS2)。
【0082】
CPU11は、SCSI処理部12に対し、メッセージアウト行動を行う(ステップS3)。SCSI処理部12は、上位装置6へメッセージアウトを通知する(ステップS4)。
【0083】
上位装置6は、上記のセレクションフェーズ完了後に記憶装置1のロジカルユニット番号0と接続を設定するため、ステップS1において、SCSIバス8の制御線のうち、ATN=1としてSCSI処理部12に対しメッセージアウトフェーズへの遷移を要求する。
【0084】
SCSI処理部12が、メッセージアウトフェーズに遷移する(ステップS4)と、上位装置6は、SCSIバス8にメッセージを乗せて送信する(ステップS5)。SCSI処理部12は、メッセージを受信すると、割込信号としてCPU11に知らせる(ステップS6)。送信したメッセージデータをSCSI処理部12で受信し、CPU11はメッセージを受け取る。
【0085】
CPU11は、SCSI処理部12に対し、コマンド起動を行う(ステップS7)。メッセージアウトフェーズは終了し、SCSI処理部12は次のコマンドフェーズに遷移させる(ステップS8)。
【0086】
コマンドフェーズになると、上位装置6は、フラッシュメモリ部3からデータを読み出すために、オペレーションコードとしてRead Extendedコマンドを含むコマンドバイトをSCSI処理部12に送信する(ステップS9)。
【0087】
SCSI処理部12でのコマンドバイトの受信完了を、割込信号でCPU11へ知らせ(ステップS10)、CPU11は、SCSI処理部12からコマンドを読み出す(ステップS11)。
【0088】
この受信したコマンドバイトの中には、前記オペレーションコード、先頭ロジカルブロックアドレス(以下LBAと略称する)、および転送LBA数が含まれる。
【0089】
ここで、受信したコマンドバイトはSCSIインタフェースに基づいているので、CPU11は、予め第1のメモリであるROM18上に作成してある計算結果(データテーブル)を元に、受信した先頭LBAと転送LBA数を、下位装置であるフラッシュメモリ部3の先頭セクタと転送セクタ数に変換し、フラッシュメモリ部3に対するコマンド群として、第2のメモリであるRAM19上にコマンドテーブルとして登録する。
【0090】
CPU11は、前記コマンドテーブルを元に、メモリ処理部13に対し、リード起動を行う(ステップS12)。メモリ処理部13は、フラッシュメモリ部3に対し、リードコマンド、先頭セクタ、および転送バイト数をライトする(ステップS13)。
【0091】
これによって、フラッシュメモリ部3がリード動作を開始する。フラッシュメモリ部3のデータ転送の準備が整うと、フラッシュメモリ部3は、RDY/−BSY信号の変化をメモリ処理部13に知らせる(ステップS14)。また、CPU11へは、割込信号で知らせる(ステップS15)。
【0092】
フラッシュメモリ部3のデータ転送の準備が整うと、CPU11は、データ転送を開始するため、DMA処理部14に対してはDMA設定と起動を行い(ステップS16)、メモリ処理部13に対してもDMA設定と起動を行う(ステップS17)。
【0093】
フラッシュメモリ部3のリードデータは、メモリバス5、メモリ処理部13、およびDMA処理部14を経てバッファメモリA16へDMAデータ転送(リード)される(ステップS18)。データ転送後の動作終了確認は、DMA処理部14が割込信号によりCPU11に知らせる(ステップS19)。
【0094】
次に、ステップS12からステップS19と同じ処理を、転送量に合わせてN回実施し、Nセクタ分のデータをバッファメモリA16に読み出す。
【0095】
次に、CPU11は、データインフェーズでのデータ転送に備え、SCSI処理部12に対し、DMA設定と起動を行い(ステップS20)、SCSI処理部12にデータイン起動を指示することにより(ステップS21)、SCSI処理部12は次のデータインフェーズに遷移する(ステップS22)。
【0096】
CPU11は、データインフェーズでのデータ転送に備え、DMA処理部14に対しDMA設定と起動を行う(ステップS23)。
【0097】
バッファメモリA16に一時蓄積されたリードデータは、DMA処理部14、SCSI処理部12、およびSCSIバス8を経て上位装置6へDMAデータ転送(リード)される(ステップS24)。
【0098】
データ転送後の動作終了確認は、SCSI処理部12が割込信号でCPU11へ知らせる(図10、ステップS25)。
【0099】
データ転送(リード)終了後、CPU11がSCSI処理部12に対してステータス起動を行う(ステップ26)と、SCSI処理部12は、ステータスフェーズに遷移する(ステップS27)。
【0100】
ステータスフェーズになると、上位装置6は、SCSI処理部12よりステータス(GOOD)をリードする(ステップS28)。上位装置6がステータスをリードすると、SCSI処理部12は割込信号でステータスのリード処理の完了をCPU11へ知らせる(ステップS29)。
【0101】
上記ステータスフェーズ処理が終了後、CPU11がSCSI処理部12に対しメッセージイン起動を行う(ステップS30)と、SCSI処理部12は、メッセージインフェーズに遷移する(ステップS31)。
【0102】
メッセージインフェーズになると、上位装置6がSCSI処理部12より前記リードコマンドの完了メッセージをリードすると(ステップS32)、SCSI処理部12は、SCSIバス8の信号線を開放し、バスフリーフェーズになる。
【0103】
メッセージインフェーズの動作終了確認は、SCSI処理部12が割込信号でCPU11へ知らせることにより行い(ステップS33)、リード動作が終了する。
【0104】
次に、ライト転送処理部のシーケンスチャートである図11と図12を用いて、上位装置6からフラッシュメモリ部3へデータを書き込む、ライト転送処理動作を説明する。
【0105】
リード動作と同様に、上位装置6は、バスフリーフェーズにおいて記憶装置1と接続するために、上位装置6のSCSI−ID番号(例えば2の7乗ビット=1)と記憶装置1のSCSI−ID番号(たとえば2の0乗ビット=1)をSCSIバス8に乗せ、セレクション動作を実行する(ステップS41)。
【0106】
これに対し、SCSI処理部12は、SCSIバス8の制御線のうち、BSY=1として応答し、割込信号としてCPU11に知らせる(ステップS42)。
【0107】
CPU11は、SCSI処理部12に対し、メッセージアウト起動を行う(ステップS43)。
【0108】
上記のセレクションフェーズ完了後、上位装置6は、記憶装置1のロジカルユニット番号0と接続を設定するために、ステップS41において、SCSIバス8制御線のうち、ATN=1としてSCSI処理部12に対しメッセージアウトフェーズへの遷移を要求する。
【0109】
SCSI処理部12がメッセージアウトフェーズに遷移する(ステップS44)と、上位装置6は、SCSIバス8にメッセージを乗せて送信する(ステップS45)。SCSI処理部12は、メッセージ受信を割込信号としてCPU11に知らせる(ステップS46)。送信したメッセージデータをSCSI処理部12で受信し、CPU11はメッセージを受け取る。
【0110】
CPU11は、SCSI処理部12に対し、コマンド起動を行う(ステップS47)。メッセージアウトフェーズは終了し、SCSI処理部12は次のコマンドフェーズに遷移させる(ステップS48)。
【0111】
コマンドフェーズになると、フラッシュメモリ部3へデータを書き込むために、上位装置6は、オペレーションコードとしてWrite Extendedコマンドを含むコマンドバイトをSCSI処理部12に送信する(ステップS49)。
【0112】
SCSI処理部12でのコマンドバイトの受信完了を、割込信号でCPU11へ知らせ(ステップS50)、コマンドバイとの受信完了を知ったCPU11は、SCSI処理部12からコマンドを読み出す(ステップS51)。
【0113】
受信したコマンドバイトの中には、前記オペレーションコード、先頭LBA、および転送LBA数が含まれる。ここで受信したコマンドバイトは、SCSIインターフェースに基づいているので、CPU11は予め第1のメモリであるROM18上に作成してある計算結果(データテーブル)を元に、受信した先頭LBAと転送LBA数を、下位装置であるフラッシュメモリ部3の先頭セクタと転送セクタ数に変換し、フラッシュメモリ部3に対するコマンド群として、第2のメモリであるRAM19上にコマンドテーブルとして登録する(処理A)。
【0114】
CPU11におけるこの処理Aを、図13を用いて説明する。CPU11は、上位装置6からの指定LBAからチップアドレス、セクタアドレス、カラムアドレスを算出する(ステップA1)。CPU11は、指定LBAから対応する欠陥情報テーブル(図14(A))を検索する(ステップA2)。
【0115】
図14(A)に示すように、欠陥情報テーブルは、チップアドレス単位でセクタアドレス0〜FFF用として形成され、RAMアドレスとRAMアドレスに対応するデータから構成される。例えばチップアドレス0の欠陥情報テーブルは、RAMアドレス1000000にフラグとこの欠陥情報テーブル内の欠陥セクタ数が記述され、RAMアドレス1000002、1000004…に、それぞれ摘出した欠陥セクタアドレスが記述されている。
【0116】
CPU11は、該当する欠陥情報テーブルに欠陥セクタ数が記述されているか否かを判断する(ステップA3)。欠陥セクタ数が記述されているときには、ステップA1で算出したセクタアドレスと欠陥情報テーブルに記述された摘出した欠陥セクタアドレスとを比較する(ステップA4)。算出したセクタアドレスが欠陥セクタアドレスに該当するか否かを判断し(ステップA5)、該当するときには、欠陥情報テーブルの摘出した欠陥セクタアドレスに対応する索引番号から、図14(B)に示す交替先アドレス情報テーブルを索引して、テーブルに設定されている交替セクタアドレスをアクセス(ライト)するセクタアドレスに設定する(ステップA6)。
【0117】
図14(B)に示すように、交替先セクタ情報テーブルは、チップアドレス単位でセクタアドレス0〜FFF用として形成され、RAMアドレスとRAMアドレスに対応するデータから構成される。例えばチップアドレス0の欠陥情報テーブルは、RAMアドレス1064000にフラグとこの交替先セクタ情報テーブル内の交替セクタ数が記述され、RAMアドレス1064002、1064004…に、それぞれ交替セクタアドレスが記述されている。
【0118】
次に、CPU11は、チップアドレスによって図14(C)に示す書替回数情報テーブルから該当するセクタの書替回数を抽出して更新した後、メモリ処理部13のレジスタW131の書替回数に設定する(ステップA7)。
【0119】
図14(C)に示すように、書替回数情報テーブルは、チップアドレス単位でセクタアドレス0〜FFF用として形成され、RAMアドレスとRAMアドレスに対応するデータから構成される。例えばチップアドレス0の欠陥情報テーブルは、RAMアドレス10D0000および10D0002、10D0004および10D0006、…に、それぞれセクタアドレス毎の書替回数が記述されている。
【0120】
その後該当するセクタアドレスにアクセスしてライトデータをライトする(ステップA8)。
【0121】
CPU11は、前記コマンドテーブルを元に、メモリ処理部13に対し、フラッシュメモリ部3にデータを書き込むために、予め該当エリアをイレーズしておく。即ち、メモリ処理部13に対してイレーズ起動を行う(図11、ステップS52)。
【0122】
メモリ処理部13は、フラッシュメモリ部3に対し、イレーズコマンド、イレーズ先頭セクタをライトする(ステップS53)。
【0123】
これによって、フラッシュメモリ部3はイレーズ動作を開始する。
【0124】
ここで、CPU11は、イレーズ処理時間の短縮のため、次の該当エリアをイレーズする。
【0125】
即ち、CPU11は、メモリ処理部13に対してイレーズ起動を行う(ステップS54)。
【0126】
メモリ処理部13は、フラッシュメモリ部3に対し、イレーズコマンド、イレーズ先頭セクタをライトする(ステップS55)。
【0127】
これによって、フラッシュメモリ部3は次の該当セクタイレーズ動作を開始する。
【0128】
この様にして、ステップS52からステップS55の処理について、最大8チップ分のイレーズ動作回数である8回実施して、該当エリアをイレーズする。
【0129】
この間、CPU11は、データアウトフェーズでのデータ転送に備えて、DMA処理部14に対してはDMA設定と起動を行い(ステップS56)、SCSI処理部12に対してもDMA設定と起動を行い(ステップS57)、SCSI処理部12にデータアウト起動を指示することにより(ステップS58)、SCSI処理部12は次のデータアウトフェーズに遷移する(ステップS59)。
【0130】
イレーズコマンドの動作終了確認は、次のように行われる。即ち、フラッシュメモリ部3が、RDY/−BSY信号の状態をメモリ処理部13に知らせた(ステップS60)内容が、CPU11がメモリ処理部13にステータス確認動作をすることによって(ステップS61)、ステータスとしてリードされ(ステップS62)、動作完了のステータスが確認される。
【0131】
上記の確認動作について、イレーズ起動したフラッシュメモリ部3の全セクタの動作確認のステータスを確認する(ステップS63、ステップS65)。上位装置6からのデータ転送の準備が整うと、上位装置6のライトデータは、SCSIバス8、SCSI処理部12、およびDMA処理部14を経てバッファメモリA16へDMAデータ転送(ライト)される(ステップS62)。
【0132】
データ転送後の動作終了確認は、SCSI処理部12が割込信号でCPU11へ知らせることにより行う(ステップS64)。
【0133】
CPU11は、前記コマンドテーブルを元に、メモリ処理部13に対し、ライト起動を行う(図12、ステップS66)。メモリ処理部13は、フラッシュメモリ部3に対し、プログラムコマンド、先頭セクタ、および転送バイト数をライトする(ステップS67)。
【0134】
これによって、フラッシュメモリ部3はライト動作を開始する。
【0135】
CPU11は、データ転送を開始するため、メモリ処理部13に対してDMA設定と起動を行い(ステップS68)、DMA処理部14に対してもDMA設定と起動を行う(ステップS69)。
【0136】
バッファメモリA16に一時蓄積されたライトデータは、DMA処理部14、メモリ処理部13、およびメモリバス5を経てフラッシュメモリ部3へDMAデータ転送(ライト)される(ステップS70)。
【0137】
データ転送後の動作終了確認は次のように行われる。即ち、フラッシュメモリ部3のライト動作終了は、RDY/−BSY信号の変化をメモリ処理部13に知らせる。また、CPU11へは、割込み信号で知らせる(ステップS71)。
【0138】
CPU111は、上位セクタ書き込み終了後、書替回数を情報テーブルの書替回数を更新する(処理B:図13ステップB1)。
【0139】
CPU11は、前記コマンドテーブルを元に、メモリ処理部13に対し、リード起動を行う(ステップS72)。メモリ処理部13は、フラッシュメモリ部3に対し、リードコマンド、先頭セクタ、および転送バイト数をライトする(ステップS73)。
【0140】
これによって、フラッシュメモリ部3はリード動作を開始する。フラッシュメモリ部3のデータ転送の準備が整うと、フラッシュメモリ部3は、RDY/−BSY信号の変化をメモリ処理部13に知らせる。また、CPU11へは、割込信号で知らせる(ステップS74)。
【0141】
フラッシュメモリ部3のデータ転送の準備が整うと、CPU11は、データ転送を開始するため、DMA処理部14に対してDMA設定と起動を行い(ステップS75)、メモリ処理部13に対してもDMA設定と起動を行う(ステップS76)。
【0142】
フラッシュメモリ部3のリードデータは、メモリバス5、メモリ処理部13、およびDMA処理部14を経てバッファメモリB17へDMAデータ転送(リード)される(ステップS77)。データ転送後の動作終了確認は、DMA処理部14が割込信号によりCPU11に知らせる(ステップS78)。
【0143】
ここで、フラッシュメモリ部3に書き込んだライトデータ保証をするため、上位装置6より書き込まれたバッファメモリA16のデータとフラッシュメモリ部3に書き込まれ、バッファメモリB17に再度読み出されたデータをコンペアする。
【0144】
すなわち、CPU11は、データ比較処理部15にコンペア設定と起動の指示をすることにより(ステップS79)、データ比較処理部15がバッファメモリA16とバッファメモリB17から同時にデータを読み出し、データをコンペアする(ステップS80、ステップS81)。
【0145】
データ比較処理部15は、コンペア処理の完了を割込信号でCPU11へ知らせ(ステップS82)、CPU11がステータス確認を行うことによって、正常性を判断しコンペア処理が終了する。
【0146】
次に、ステップS66からステップS82と同じ処理を、転送量に合わせてN回実施し、Nセクタ分のデータをバッファメモリA16からフラッシュメモリ部3に書き込む。
【0147】
コンペア終了後、CPU11がSCSI処理部12に対しステータス起動を行う(ステップS83)と、SCSI処理部12はステータスフェーズに遷移する(ステップS84)。
【0148】
ステータスフェーズになると、上位装置6は、SCSI処理部12からステータス(GOOD)をリードする(ステップS85)。上位装置6がステータスをリードすると、SCSI処理部12は、割込信号でステータスのリード処理の完了をCPU11へ知らせる(ステップS86)。
【0149】
上記ステータスフェーズ処理が終了後、CPU11がSCSI処理部12に対しメッセージイン起動を行う(ステップS87)と、SCSI処理部12は、メッセージインフェーズに遷移する(ステップS88)。
【0150】
メッセージインフェーズになると、上位装置6がSCSI処理部12から前記ライトコマンドの完了メッセージをリードすると(ステップS89)、SCSI処理部12は、SCSIバス8の信号線を開放し、バスフリーフェーズになる。
【0151】
メッセージインフェーズの動作終了確認は、SCSI処理部12が割込信号でCPU11へ知らせることにより行い(ステップS90)、リード動作が終了する。以上、本発明の一実施形態について説明した。
【0152】
本実施の形態においては、上位装置とのインタフェースにSCSIインタフェースを、下位装置とのインタフェースにフラッシュメモリのインタフェースを仮定したが、本発明はこの様なインタフェースに限定されるものではなく、どのようなインタフェースの組み合わせであってもよい。
【0153】
また、本実施の形態においては、下位装置として専用のフラッシュメモリボードを用いたが、標準のPC−ATAカードにすることもできる。
【発明の効果】
本発明によれば、フラッシュメモリの書替回数を管理し、チップの書替回数の規格値を超える場合に代替セクタに再び割り付けすることによってフラッシュメモリのアクセス時間が大きくなる前に代替セクタに再割り付けることが可能となる。このことにより、フラッシュメモリの書き込み処理性能が劣ることを防止できる。
【図面の簡単な説明】
【図1】 本発明の実施の形態におけるシステムの構成図。
【図2】 本発明にかかる記憶装置の制御部のブロック構成図。
【図3】 データの書き込み時のライトデータ(データ+ECC)を作成するためのメモリ処理部の内部ブロック構成図。
【図4】 ECC符号器のブロック構成図。
【図5】 データの読み出し時にECCにより誤り検出または誤り訂正をするためのメモリ処理部のブロック構成図。
【図6】 ECC復号器のブロック構成図。
【図7】 フラッシュメモリの物理フォーマットを説明する図。
【図8】 フラッシュメモリチップのデータ割付構成図。
【図9】 リード転送処理におけるシーケンスチャート(その1)。
【図10】 リード転送処理におけるシーケンスチャート(その2)。
【図11】 ライト転送処理におけるシーケンスチャート(その1)。
【図12】 ライト転送処理におけるシーケンスチャート(その2)。
【図13】 ライト転送処理におけるCPUの処理Aおよび処理Bのフローチャート。
【図14】 欠陥情報テーブル、交替先セクタ情報テーブル、書替回数情報テーブルの構成を説明する図。
【符号の説明】
1 記憶装置
10 制御部
11 CPU
12 SCSI処理部
13 メモリ処理部
R130 ECCタイミング生成回路
R131 アンド回路
R132 ECC復号器
R133 パリティ演算回路
R134 パターン検出回路
R135 エクスクルージブオア回路
R136 切替回路
R137 アンド回路
R138 ラッチ回路
W131 レジスタ
W132 データ/書替回数切替信号発生回路
W133 データ/書替回数切替回路
W134 ECC符号器
W135 ECCタイミング生成回路
W136 切替回路
14 DMA処理部
15 データ比較処理部
16 バッファメモリA
17 バッファメモリB
18 ROM
19 RAM
20 FIFOメモリ部
B11 CPUバス
B12 DMAバス
3 記憶部(フラッシュメモリ部)
5 メモリバス
6 上位装置
7 システム
8 SCSIバス

Claims (2)

  1. 消去可能なメモリと制御部とを有し、上位装置からの命令に基づいて、上位装置から転送されるデータを記憶し、かつ、記憶したデータを読み出して上位装置に転送する記憶装置において、
    前記記憶装置の制御部は、
    前記上位装置からの命令を受信し前記データの送受信を行う上位装置処理部と、
    前記データを一時的に蓄積する第1のバッファメモリと第2のバッファメモリと
    前記第1のバッファメモリと前記第2のバッファメモリに蓄積されたデータを比較するデータ比較処理部と、
    前記第1のバッファメモリ又は第2のバッファメモリ記憶手段としての消去可能なメモリの間で所定の転送指示によってデータ転送を行うメモリ処理部と、
    前記上位装置処理部が受信した前記命令を解読し転送指示を与える中央処理装置と、
    前記中央処理装置のプログラムを格納する第1のメモリと、
    前記中央処理装置が前記プログラムを実行するときにワークエリアとしてデータを格納する第2のメモリとを備え、
    前記消去可能なメモリの書替回数を前記第2のメモリと前記消去可能なメモリによって管理し、前記消去可能なメモリの書替回数の規格値を超える場合には、前記消去可能なメモリ内の代替セクタに再割付けするとともに、前記消去可能なメモリに書き込むデータのエラーコレクションコードと前記消去可能なメモリに書き込む書替回数データのエラーコレクションコードを分離した憶装置であって、
    前記上位装置から転送されたデータを消去可能なメモリに記憶する場合、
    前記メモリ処理部は、
    前記消去可能なメモリに記憶したデータを、読み出す際、当該データのエラーコレクションコードによって、前記データ誤りを検出するとともに前記データに誤りがあるときには、データ誤りを訂正し、前記第2のバッファメモリに蓄積し、
    前記データ比較処理部は、
    前記消去可能なメモリに記憶するデータが、一時的に蓄積された前記第1のバッファメモリ内のデータと、前記メモリ処理部により蓄積された、前記第2のバッファメモリ内のデータとを比較する
    ことを特徴とする記憶装置。
  2. 上位装置のインタフェースとしてスモールコンピュータシステムインタフェースを採用し、消去可能なメモリとしてフラッシュメモリを採用した
    ことを特徴とする請求項1に記載の記憶装置。
JP2002261987A 2002-09-06 2002-09-06 記憶装置 Expired - Fee Related JP4287631B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002261987A JP4287631B2 (ja) 2002-09-06 2002-09-06 記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002261987A JP4287631B2 (ja) 2002-09-06 2002-09-06 記憶装置

Publications (2)

Publication Number Publication Date
JP2004102539A JP2004102539A (ja) 2004-04-02
JP4287631B2 true JP4287631B2 (ja) 2009-07-01

Family

ID=32262187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002261987A Expired - Fee Related JP4287631B2 (ja) 2002-09-06 2002-09-06 記憶装置

Country Status (1)

Country Link
JP (1) JP4287631B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5008845B2 (ja) * 2005-09-01 2012-08-22 株式会社日立製作所 ストレージシステムとストレージ装置及びその制御方法
JP5105351B2 (ja) * 2007-04-10 2012-12-26 株式会社メガチップス 不揮発性半導体記憶装置
WO2009098777A1 (ja) * 2008-02-08 2009-08-13 Fujitsu Limited バックアップ方法、格納方法、及びディスクアレイ装置
TWI382422B (zh) * 2008-07-11 2013-01-11 Genesys Logic Inc 根據錯誤更正碼更新快閃記憶體之資料頁面之儲存裝置與方法
JP2011034639A (ja) * 2009-08-03 2011-02-17 Sharp Corp 半導体記憶装置
US8589655B2 (en) * 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of I/O in an SSD environment

Also Published As

Publication number Publication date
JP2004102539A (ja) 2004-04-02

Similar Documents

Publication Publication Date Title
US20200151108A1 (en) Mapping table updating method, memory controlling circuit unit and memory storage device
US20180004413A1 (en) Mapping table updating method, memory control circuit unit and memory storage device
US10642731B2 (en) Memory management method and storage controller
TWI725416B (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
TWI591640B (zh) 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
TWI802324B (zh) 異常斷電恢復方法、記憶體控制電路單元以及記憶體儲存裝置
US8301981B2 (en) Data access method for flash memory and storage system and controller thereof
TW200828330A (en) Allowable bit errors per sector in memory devices
JP2009064238A (ja) メモリシステム
US10997067B2 (en) Data storing method, memory controlling circuit unit and memory storage device
JP4287631B2 (ja) 記憶装置
TWI651650B (zh) 記憶體管理方法及使用所述方法的儲存控制器
CN112051963A (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
TWI785571B (zh) 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置
CN113724774B (zh) 解码方法、存储器存储装置及存储器控制电路单元
US11983069B2 (en) Data rebuilding method, memory storage apparatus, and memory control circuit unit
CN112732199B (zh) 数据存取方法、存储器控制电路单元及存储器存储装置
TWI688958B (zh) 冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置
CN112579329A (zh) 快速处理uecc的方法及其存储设备
TWI777087B (zh) 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置
CN113360429B (zh) 数据重建方法、存储器存储装置及存储器控制电路单元
CN111858389B (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
TWI836877B (zh) 讀取電壓校正方法、記憶體儲存裝置及記憶體控制電路單元
US11409596B1 (en) Encoding control method, memory storage device and memory control circuit unit
US10936248B2 (en) Data writing method with verifying a part of data, memory controlling circuit unit and memory storage device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090324

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090327

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120403

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120403

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120403

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130403

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140403

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees