JP4640366B2 - メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 - Google Patents
メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 Download PDFInfo
- Publication number
- JP4640366B2 JP4640366B2 JP2007075932A JP2007075932A JP4640366B2 JP 4640366 B2 JP4640366 B2 JP 4640366B2 JP 2007075932 A JP2007075932 A JP 2007075932A JP 2007075932 A JP2007075932 A JP 2007075932A JP 4640366 B2 JP4640366 B2 JP 4640366B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- output
- flash memory
- signal
- area
- 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
Links
Images
Description
本発明のメモリコントローラは、更に、一定の周期でカウントアップされるカウンタ手段を備えることが好ましく、前記カウンタ手段は、前記ダミーデータが前記フラッシュメモリに転送される期間に係わるときに1周期分のカウントアップを停止し、前記ユーザデータ転送手段は、前記カウンタ手段から出力されるカウント値に基づいて、前記ユーザデータの先頭データから末尾データまでのデータの中から前記フラッシュメモリに転送するデータを決定することが好ましい。尚、前記カウンタ手段については、一定の周期でカウントダウンされる構成であっても実質的に同様の効果を得ることができる。
又、前記ダミーデータの論理値が、前記フラッシュメモリの消去状態の論理値に一致することが好ましい。
本発明のフラッシュメモリシステムは、上記メモリコントローラと、複数セクタのデータが記憶されるページを複数個含む物理ブロック単位で消去が行われるフラッシュメモリを備えることを特徴とする。
本発明のフラッシュメモリの制御方法は、ホストシステムからの要求に応じて、複数セクタのデータが記憶されるページを複数個含む物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、前記ホストシステム側から供給される1セクタ単位のユーザデータを保持するデータ保持工程と、前記データ保持工程で保持される前記ユーザデータを先頭データから順番に前記フラッシュメモリに転送するユーザデータ転送工程と、前記ユーザデータ転送工程により前記フラッシュメモリに転送される前記ユーザデータに対応する誤り訂正符号を含む付加データを前記フラッシュメモリに転送する付加データ転送工程と、予め設定されたダミーデータを前記フラッシュメモリに転送するダミーデータ転送工程とを有し、前記ユーザデータ転送工程、前記付加データ転送工程及び前記ダミーデータ転送工程は択一的に実行され、前記ダミーデータ転送工程は、前記フラッシュメモリに転送されるデータの書き込み先がブロックステータスの記憶領域に対応するときにだけ実行され、前記ユーザデータと該ユーザデータに対応する前記付加データは、前記ページ内の連続した領域に書き込まれることを特徴とする。
前記ユーザデータ転送工程、前記付加データ転送工程及び前記ダミーデータ転送工程が、一定の周期でカウントアップ又はカウントダウンされるカウンタのカウント値に基づいて、択一的に実行されることが好ましい。
ブロックステータス領域(BS)35に記憶されるブロックステータスと、ヘッダ領域(HD)30に記憶される論理アドレス情報等の管理情報は、物理ブロックに含まれる63個のページに共通な情報であり、このブロックステータスと管理情報は、通常は物理ブロックの先頭ページにだけ書き込まれる。
インプットコマンド(IC)が入出力バス(I/O)に入力される。
アドレス(AD)が入出力バス(I/O)に入力される。ここでは、書き込み先のページに対応するロウアドレスとヘッダ領域(HD)30の先頭(図3に示した(1))のカラムアドレスである0が入力される。
ロウアドレスで指定されたページに書き込まれるデータ(DT)が入出力バス(I/O)に入力され、ライト・イネーブル(WE)の端子に入力される信号レベルが遷移(ロー・レベルからハイ・レベルへの遷移)するタイミングでフラッシュメモリ2内のレジスタに保持される。入力されたデータ(DT)に対応するカラムアドレスは、ライト・イネーブル(WE)の端子に入力される信号レベルの遷移(ロー・レベルからハイ・レベルへの遷移)に合わせてカウントアップされる(次のカラムアドレスに切り替わる)。このデータ(DT)の入力では、管理情報、ユーザデータ又は付加データが、ライト・イネーブル(WE)の端子に入力される信号レベルの遷移(ロー・レベルからハイ・レベルへの遷移)に合わせて、カラムアドレスの順番で入力される。尚、カラムアドレスが2048に対応するときには、ダミーデータとしてFFh(16進数表示)が入力される。つまり、管理情報、ユーザデータ又は付加データに対応する2111バイトのデータと、カラムアドレスが2048のときに入力されるダミーデータがカラムアドレスの順番で入力される。
プログラムコマンド(PC)が入出力バス(I/O)に入力される。このプログラムコマンド(PC)に応答して、入出力バス(I/O)に入力され、フラッシュメモリ2内のレジスタに保持されたデータ(DT)が、メモリセルアレイに書き込まれる。この書き込みでは、t2〜t3の期間に入力されたロウアドレスで指定されたページに、レジスタに保持されているデータ(DT)が書き込まれる。
インプットコマンド(IC)が入出力バス(I/O)に入力される。
アドレス(AD)が入出力バス(I/O)に入力される。ここでは、書き込み先のページに対応するロウアドレスと第1セクタ領域25の先頭(図3に示した(2))のカラムアドレスである7が入力される。
ロウアドレスで指定されたページに書き込まれるデータ(DT)が入出力バス(I/O)に入力され、ライト・イネーブル(WE)の端子に入力される信号レベルが遷移(ロー・レベルからハイ・レベルへの遷移)するタイミングでフラッシュメモリ2内のレジスタに保持される。入力されたデータ(DT)に対応するカラムアドレスは、ライト・イネーブル(WE)の端子に入力される信号レベルの遷移(ロー・レベルからハイ・レベルへの遷移)に合わせてカウントアップされる(次のカラムアドレスに切り替わる)。このデータ(DT)の入力では、ユーザデータ又は付加データが、ライト・イネーブル(WE)の端子に入力される信号レベルの遷移(ロー・レベルからハイ・レベルへの遷移)に合わせて、カラムアドレスの順番で入力される。尚、カラムアドレスが2048に対応するときには、ダミーデータとしてFFh(16進数表示)が入力される。つまり、ユーザデータ又は付加データに対応する2104バイトのデータと、カラムアドレスが2048のときに入力されるダミーデータがカラムアドレスの順番で入力される。この期間に入力されたデータ(DT)はフラッシュメモリ2内のレジスタに保持されるが、データ(DT)が保持されないカラムアドレスが0〜6に対応する領域には、FFh(16進数表示)が保持される。
プログラムコマンド(PC)が入出力バス(I/O)に入力される。このプログラムコマンド(PC)に応答して、入出力バス(I/O)に入力され、フラッシュメモリ2内のレジスタに保持されたデータ(DT)が、メモリセルアレイに書き込まれる。この書き込みでは、t12〜t13の期間に入力されたロウアドレスで指定されたページに、レジスタに保持されているデータ(DT)が書き込まれる。
リードコマンド(RC)が入出力バス(I/O)に入力される。
アドレス(AD)が入出力バス(I/O)に入力される。ここでは、読み出すページに対応するロウアドレスと第1セクタ領域25の先頭(図3に示した(2))のカラムアドレスである7が入力される。
フラッシュメモリ2内のメモリセルアレイに記憶されているデータがレジスタに読み出される。この読み出しでは、t22〜t23の期間に入力されたロウアドレスで指定されたページに記憶されているデータがレジスタに読み出される。
リード・イネーブル(RE)の端子に入力される信号レベルを、ハイ・レベルとロー・レベルに交互に遷移させることより、フラッシュメモリ2内のレジスタに保持されているデータが入出力バス(I/O)から出力される。入出力バス(I/O)から出力されるデータ(DT)のカラムアドレスは、t22〜t23の期間に入力されたカラムアドレスから始まり、リード・イネーブル(RE)の端子に入力される信号レベルの遷移に合わせてカウントアップされる(次のカラムアドレスに切り替わる)。
カウント値が0〜511の期間:
バッファ9が、アドレス信号(ADR)が示すカウント値に基づいて特定される第1バッファ21−1又は第2バッファ21−2内のユーザデータを、出力信号(D_OUT0)として出力する。
ECCブロック11が、カウント値が0〜511の期間にバッファ9から出力された出力信号(D_OUT0)に基づいて生成されたエラー・コレクション・コード(ECC)を出力信号(D_OUT4)として出力する。
バッファ9が、アドレス信号(ADR)が示すカウント値に基づいて特定される第1レジスタ16−1又は第2レジスタ16−2内の付加データを、出力信号(D_OUT0)として出力する。
クロック信号(CLK)の立ち上がり(「0」から「1」への遷移)で、アドレスカウンタ46から出力されるアドレス信号(ADR)が示すカウント値が459から460にカウントアップされる。これに応答して、セレクタ42の出力信号(D_OUT1)が、第1バッファ21−1又は第2バッファ21−2に保持されているカウント値460に対応するユーザデータに切り替わる。AND回路53が出力する選択信号(SEL1)は「0」なので、セレクタ42の出力信号(D_OUT1)が、そのままセレクタ43の出力信号(D_OUT2)として出力される。尚、D_F/F57から出力される出力信号(D_OUT3)は、セレクタ43の出力信号(D_OUT2)より1クロック分遅延しているため、この時点では、未だカウント値459に対応するユーザデータが出力信号(D_OUT3)として出力されている。従って、ライト・イネーブル信号(WE_IN)の立ち上がり(「0」から「1」への遷移)で、カウント値459に対応するユーザデータがフラッシュメモリ2に取り込まれる。
クロック信号(CLK)の立ち上がり(「0」から「1」への遷移)で、アドレスカウンタ46から出力されるアドレス信号(ADR)が示すカウント値が460から461にカウントアップされる。これに応答して、セレクタ42の出力信号(D_OUT1)が、第1バッファ21−1又は第2バッファ21−2に保持されているカウント値461に対応するユーザデータに切り替わる。AND回路53が出力する選択信号(SEL1)は「0」なので、セレクタ42の出力信号(D_OUT1)が、そのままセレクタ43の出力信号(D_OUT2)として出力される。尚、D_F/F57から出力される出力信号(D_OUT3)は、セレクタ43の出力信号(D_OUT2)より1クロック分遅延しているため、この時点では、未だカウント値460に対応するユーザデータが出力信号(D_OUT3)として出力されている。従って、ライト・イネーブル信号(WE_IN)の立ち上がり(「0」から「1」への遷移)で、カウント値460に対応するユーザデータがフラッシュメモリ2に取り込まれる。
クロック信号(CLK)の立ち上がり(「0」から「1」への遷移)で、アドレスカウンタ46から出力されるアドレス信号(ADR)が示すカウント値が461から462にカウントアップされる。これに応答して、セレクタ42の出力信号(D_OUT1)が、第1バッファ21−1又は第2バッファ21−2に保持されているカウント値462に対応するユーザデータに切り替わる。AND回路53が出力する選択信号(SEL1)は「0」なので、セレクタ42の出力信号(D_OUT1)が、そのままセレクタ43の出力信号(D_OUT2)として出力される。尚、D_F/F57から出力される出力信号(D_OUT3)は、セレクタ43の出力信号(D_OUT2)より1クロック分遅延しているため、この時点では、未だカウント値461に対応するユーザデータが出力信号(D_OUT3)として出力されている。従って、ライト・イネーブル信号(WE_IN)の立ち上がり(「0」から「1」への遷移)で、カウント値461に対応するユーザデータがフラッシュメモリ2に取り込まれる。
AND回路49の出力信号(SKIP2)が「1」の期間は、AND回路52の出力信号(CNT_EN)が「0」なので、クロック信号(CLK)の立ち上がり(「0」から「1」への遷移)でアドレスカウンタ46から出力されるアドレス信号(ADR)が示すカウント値はカウントアップされない。従って、比較回路55の出力信号も「1」のまま維持される。又、セレクタ42の出力信号(D_OUT1)は、第1バッファ21−1又は第2バッファ21−2に保持されているカウント値462に対応するユーザデータの出力が維持される。
クロック信号(CLK)の立ち上がり(「0」から「1」への遷移)で、アドレスカウンタ46から出力されるアドレス信号(ADR)が示すカウント値が462から463にカウントアップされる。これに応答して、セレクタ42の出力信号(D_OUT1)が、第1バッファ21−1又は第2バッファ21−2に保持されているカウント値463に対応するユーザデータに切り替わる。
クロック信号(CLK)の立ち上がり(「0」から「1」への遷移)で、アドレスカウンタ46から出力されるアドレス信号(ADR)が示すカウント値が463から464にカウントアップされる。これに応答して、セレクタ42の出力信号(D_OUT1)が、第1バッファ21−1又は第2バッファ21−2に保持されているカウント値464に対応するユーザデータに切り替わる。AND回路53が出力する選択信号(SEL1)は「0」なので、セレクタ42の出力信号(D_OUT1)が、そのままセレクタ43の出力信号(D_OUT2)として出力される。尚、D_F/F57から出力される出力信号(D_OUT3)は、セレクタ43の出力信号(D_OUT2)より1クロック分遅延しているため、この時点では、未だカウント値463に対応するユーザデータが出力信号(D_OUT3)として出力されている。従って、ライト・イネーブル信号(WE_IN)の立ち上がり(「0」から「1」への遷移)で、カウント値463に対応するユーザデータがフラッシュメモリ2に取り込まれる。
クロック信号(CLK)の立ち上がり(「0」から「1」への遷移)で、アドレスカウンタ46から出力されるアドレス信号(ADR)が示すカウント値が461から462にカウントアップされる。これに応答して、セレクタ42の出力信号(D_OUT1)が、第1バッファ21−1又は第2バッファ21−2に保持されているカウント値462に対応するユーザデータに切り替わる。AND回路53が出力する選択信号(SEL1)は「0」なので、セレクタ42の出力信号(D_OUT1)が、そのままセレクタ43の出力信号(D_OUT2)として出力される。尚、D_F/F57から出力される出力信号(D_OUT3)は、セレクタ43の出力信号(D_OUT2)より1クロック分遅延しているため、この時点では、未だカウント値461に対応するユーザデータが出力信号(D_OUT3)として出力されている。従って、ライト・イネーブル信号(WE_IN)の立ち上がり(「0」から「1」への遷移)で、カウント値461に対応するユーザデータがフラッシュメモリ2に取り込まれる。
クロック信号(CLK)の立ち上がり(「0」から「1」への遷移)で、アドレスカウンタ46から出力されるアドレス信号(ADR)が示すカウント値が462から463にカウントアップされる。これに応答して、セレクタ42の出力信号(D_OUT1)が、第1バッファ21−1又は第2バッファ21−2に保持されているカウント値463に対応するユーザデータに切り替わる。
クロック信号(CLK)の立ち上がり(「0」から「1」への遷移)で、アドレスカウンタ46から出力されるアドレス信号(ADR)が示すカウント値が463から464にカウントアップされる。これに応答して、セレクタ42の出力信号(D_OUT1)が、第1バッファ21−1又は第2バッファ21−2に保持されているカウント値464に対応するユーザデータに切り替わる。AND回路53が出力する選択信号(SEL1)は「0」なので、セレクタ42の出力信号(D_OUT1)が、そのままセレクタ43の出力信号(D_OUT2)として出力される。尚、D_F/F57から出力される出力信号(D_OUT3)は、セレクタ43の出力信号(D_OUT2)より1クロック分遅延しているため、この時点では、未だカウント値463に対応するユーザデータが出力信号(D_OUT3)として出力されている。従って、ライト・イネーブル信号(WE_IN)の立ち上がり(「0」から「1」への遷移)で、カウント値463に対応するユーザデータがフラッシュメモリ2に取り込まれる。
クロック信号(CLK)の立ち上がり(「0」から「1」への遷移)で、アドレスカウンタ46から出力されるアドレス信号(ADR)が示すカウント値が459から460にカウントアップされ、D−F/F59から出力される出力信号(D_IN2)は、この時点でのデータ信号(D_IN1)に対応するデータに切り替わる。つまり、アドレス信号(ADR)が示すカウント値のカウントアップに同期して、D−F/F59から出力される出力信号(D_IN2)は、次のデータに切り替わる。ここでは、カウント値459に対応するデータ(D_459)からカウント値460に対応するデータ(D_460)に切り替わる。
リード・イネーブル信号(RE_IN)の立ち下がり(「1」から「0」への遷移)に応答して、フラッシュメモリ2から出力されているデータ信号(D_IN1)に対応するデータは次のデータに切り替わる。ここでは、カウント値460に対応するデータ(D_460)からカウント値461に対応するデータ(D_461)に切り替わる。
バッファ・ライト・イネーブル信号(BF_WE2)の立ち上がり(「0」から「1」への遷移)で、D−F/F59から出力されている出力信号(D_IN2)に対応するデータ(D_460)がバッファ9に取り込まれ、第1バッファ21−1又は第2バッファ21−2のカウント値460に対応する領域に保持される。
クロック信号(CLK)の立ち上がり(「0」から「1」への遷移)で、アドレスカウンタ46から出力されるアドレス信号(ADR)が示すカウント値が460から461にカウントアップされ、D−F/F59から出力される出力信号(D_IN2)は、この時点でのデータ信号(D_IN1)に対応するデータに切り替わる。ここでは、カウント値460に対応するデータ(D_460)からカウント値461に対応するデータ(D_461)に切り替わる。
リード・イネーブル信号(RE_IN)の立ち下がり(「1」から「0」への遷移)に応答して、フラッシュメモリ2から出力されているデータ信号(D_IN1)に対応するデータは次のデータに切り替わる。ここでは、カウント値461に対応するデータ(D_461)からカウント値462に対応するデータ(D_462)に切り替わる。
バッファ・ライト・イネーブル信号(BF_WE2)の立ち上がり(「0」から「1」への遷移)で、D−F/F59から出力される出力信号(D_IN2)に対応するデータ(D_461)がバッファ9に取り込まれ、第1バッファ21−1又は第2バッファ21−2のカウント値461に対応する領域に保持される。
クロック信号(CLK)の立ち上がり(「0」から「1」への遷移)で、アドレスカウンタ46から出力されるアドレス信号(ADR)が示すカウント値が461から462にカウントアップされ、D−F/F59から出力される出力信号(D_IN2)は、この時点でのデータ信号(D_IN1)に対応するデータに切り替わる。ここでは、カウント値461に対応するデータ(D_461)からカウント値462に対応するデータ(D_462)に切り替わる。
リード・イネーブル信号(RE_IN)の立ち下がり(「1」から「0」への遷移)に応答して、フラッシュメモリ2から出力されるデータ信号(D_IN1)に対応するデータは次のデータに切り替わる。ここでは、カウント値462に対応するデータ(D_462)からブロックステータス領域(BS)35から読み出されたデータに切り替わる。
バッファ・ライト・イネーブル信号(BF_WE2)の立ち上がり(「0」から「1」への遷移)で、D−F/F59から出力されている出力信号(D_IN2)に対応するデータ(D_462)がバッファ9に取り込まれ、第1バッファ21−1又は第2バッファ21−2のカウント値462に対応する領域に保持される。
AND回路49の出力信号(SKIP2)が「1」の期間は、AND回路52の出力信号(CNT_EN)が「0」なので、クロック信号(CLK)の立ち上がり(「0」から「1」への遷移)で、アドレスカウンタ46から出力されるアドレス信号(ADR)が示すカウント値はカウントアップされない。従って、比較回路55の出力信号も「1」のまま維持される。
リード・イネーブル信号(RE_IN)の立ち下がり(「1」から「0」への遷移)に応答して、フラッシュメモリ2から出力されるデータ信号(D_IN1)に対応するデータは次のデータに切り替わる。ここでは、ブロックステータス領域(BS)35から読み出されたデータから、カウント値463に対応するデータ(D_463)に切り替わる。
選択信号(SEL1)が「1」の期間は、バッファ・ライト・イネーブル信号(BF_WE2)が「0」なので、D−F/F59から出力されている出力信号(D_IN2)に対応するデータ(D_462)はバッファ9に取り込まれない。
クロック信号(CLK)の立ち上がり(「0」から「1」への遷移)で、アドレスカウンタ46から出力されるアドレス信号(ADR)が示すカウント値が462から463にカウントアップされ、D−F/F59から出力される出力信号(D_IN2)は、この時点でのデータ信号(D_IN1)に対応するデータに切り替わる。ここでは、カウント値462に対応するデータ(D_462)からカウント値463に対応するデータ(D_463)に切り替わる。
リード・イネーブル信号(RE_IN)の立ち下がり(「1」から「0」への遷移)に応答して、フラッシュメモリ2から出力されるデータ信号(D_IN1)に対応するデータは次のデータに切り替わる。ここでは、カウント値463に対応するデータ(D_463)からカウント値464に対応するデータ(D_464)に切り替わる。
バッファ・ライト・イネーブル信号(BF_WE2)の立ち上がり(「0」から「1」への遷移)で、D−F/F59から出力されている出力信号(D_IN2)に対応するデータ(D_463)がバッファ9に取り込まれ、第1バッファ21−1又は第2バッファ21−2のカウント値463に対応する領域に保持される。
クロック信号(CLK)の立ち上がり(「0」から「1」への遷移)で、アドレスカウンタ46から出力されるアドレス信号(ADR)が示すカウント値が463から464にカウントアップされ、D−F/F59から出力される出力信号(D_IN2)は、この時点でのデータ信号(D_IN1)に対応するデータに切り替わる。ここでは、カウント値463に対応するデータ(D_463)からカウント値464に対応するデータ(D_464)に切り替わる。
リード・イネーブル信号(RE_IN)の立ち下がり(「1」から「0」への遷移)に応答して、フラッシュメモリ2から出力されているデータ信号(D_IN1)に対応するデータは次のデータに切り替わる。ここでは、カウント値464に対応するデータ(D_464)からカウント値465に対応するデータ(D_465)に切り替わる。
バッファ・ライト・イネーブル信号(BF_WE2)の立ち上がり(「0」から「1」への遷移)で、D−F/F59から出力されている出力信号(D_IN2)に対応するデータ(D_460)がバッファ9に取り込まれ、第1バッファ21−1又は第2バッファ21−2のカウント値464に対応する領域に保持される。
2・・・フラッシュメモリ
3・・・メモリコントローラ
4・・・ホストシステム
6・・・マイクロプロセッサ(動作指示出力手段)
7・・・ホスト・インターフェース・ブロック
8・・・ワークエリア
9・・・バッファ(データ保持手段)
10・・・フラッシュメモリ・インターフェース・ブロック(データ入出力手段)
11・・・ECC(エラー・コレクション・コード)ブロック
12・・・ROM
13・・・外部バス
14・・・内部バス
15・・・チップセレクト信号線
16−1〜16−2・・・第1〜第2レジスタ
21−1〜21−2・・・第1〜第2バッファ、
25・・・第1セクタ領域
26・・・第2セクタ領域
27・・・第3セクタ領域
28・・・第4セクタ領域
30・・・ヘッダ領域(HD)
31・・・第1付加データ領域
32・・・第2付加データ領域
33・・・第3付加データ領域
34・・・第4付加データ領域
35・・・ブロックステータス領域(BS)
38・・・「第4セクタ+BS」(第4セクタとブロックステータス部(BS)を併せた領域)
42、43・・・セレクタ
45・・・シーケンサ制御回路
46・・・アドレスカウンタ
47・・・JK−F/F(JKフリップ・フロップ)
49〜53、58・・・AND回路
54、55・・・比較回路
57、59・・・D−F/F(Dフリップ・フロップ)
Claims (6)
- ホストシステムからの要求に応じて、複数セクタのデータが記憶されるページを複数個含む物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
前記ホストシステム側から供給される1セクタ単位のユーザデータを保持するデータ保持手段と、
前記データ保持手段に保持されている前記ユーザデータを先頭データから順番に前記フラッシュメモリに転送するユーザデータ転送手段と、
前記ユーザデータ転送手段により前記フラッシュメモリに転送される前記ユーザデータに対応する誤り訂正符号を含む付加データを前記フラッシュメモリに転送する付加データ転送手段と、
予め設定されたダミーデータを前記フラッシュメモリに転送するダミーデータ転送手段と、
前記ユーザデータ転送手段、前記付加データ転送手段及び前記ダミーデータ転送手段を択一的に動作させる制御手段とを備え、
前記制御手段は、前記フラッシュメモリに転送されるデータの書き込み先がブロックステータスの記憶領域に対応するときにだけ前記ダミーデータ転送手段を動作させ、
前記ユーザデータと該ユーザデータに対応する前記付加データは、前記ページ内の連続した領域に書き込まれることを特徴とするメモリコントローラ。 - 一定の周期でカウントアップされるカウンタ手段を備え、
前記カウンタ手段は、前記ダミーデータが前記フラッシュメモリに転送される期間に係わるときに1周期分のカウントアップを停止し、
前記ユーザデータ転送手段は、前記カウンタ手段から出力されるカウント値に基づいて、前記ユーザデータの先頭データから末尾データまでのデータの中から前記フラッシュメモリに転送するデータを決定することを特徴とする請求項1に記載のメモリコントローラ。 - 前記ダミーデータの論理値が、前記フラッシュメモリの消去状態の論理値に一致することを特徴とする請求項1又は2に記載のメモリコントローラ。
- 複数セクタのデータが記憶されるページを複数個含む物理ブロック単位で消去が行われるフラッシュメモリと、請求項1乃至3のいずれか1項に記載のメモリコントローラを備えることを特徴とするフラッシュメモリシステム。
- ホストシステムからの要求に応じて、複数セクタのデータが記憶されるページを複数個含む物理ブロック単位で消去が行われるフラッシュメモリに対するアクセスを制御するフラッシュメモリの制御方法であって、
前記ホストシステム側から供給される1セクタ単位のユーザデータを保持するデータ保持工程と、
前記データ保持工程で保持される前記ユーザデータを先頭データから順番に前記フラッシュメモリに転送するユーザデータ転送工程と、
前記ユーザデータ転送工程により前記フラッシュメモリに転送される前記ユーザデータに対応する誤り訂正符号を含む付加データを前記フラッシュメモリに転送する付加データ転送工程と、
予め設定されたダミーデータを前記フラッシュメモリに転送するダミーデータ転送工程とを有し、
前記ユーザデータ転送工程、前記付加データ転送工程及び前記ダミーデータ転送工程は択一的に実行され、
前記ダミーデータ転送工程は、前記フラッシュメモリに転送されるデータの書き込み先がブロックステータスの記憶領域に対応するときにだけ実行され、
前記ユーザデータと該ユーザデータに対応する前記付加データは、前記ページ内の連続した領域に書き込まれることを特徴とするフラッシュメモリの制御方法。 - 前記ユーザデータ転送工程、前記付加データ転送工程及び前記ダミーデータ転送工程が、一定の周期でカウントアップされるカウンタのカウント値に基づいて、択一的に実行されることを特徴とする請求項5に記載のフラッシュメモリの制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007075932A JP4640366B2 (ja) | 2007-03-23 | 2007-03-23 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007075932A JP4640366B2 (ja) | 2007-03-23 | 2007-03-23 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008234514A JP2008234514A (ja) | 2008-10-02 |
JP4640366B2 true JP4640366B2 (ja) | 2011-03-02 |
Family
ID=39907182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007075932A Expired - Fee Related JP4640366B2 (ja) | 2007-03-23 | 2007-03-23 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4640366B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4643729B2 (ja) | 2009-07-09 | 2011-03-02 | 株式会社東芝 | インタリーブ制御装置、インタリーブ制御方法及びメモリシステム |
JP5677336B2 (ja) | 2011-08-01 | 2015-02-25 | 株式会社東芝 | メモリ・デバイス |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003216483A (ja) * | 2002-01-21 | 2003-07-31 | Fujitsu Ltd | メモリコントローラおよびメモリシステム装置 |
JP2004342126A (ja) * | 1998-02-25 | 2004-12-02 | Lexar Media Inc | 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能 |
JP2005251219A (ja) * | 1997-03-31 | 2005-09-15 | Lexar Media Inc | フラッシュメモリ内のブロックにおける移動セクタ |
JP2006004367A (ja) * | 2004-06-21 | 2006-01-05 | Toshiba Corp | メモリカード及び半導体装置 |
JP2006079434A (ja) * | 2004-09-10 | 2006-03-23 | Tokyo Electron Device Ltd | 記憶装置、メモリ管理方法及びプログラム |
-
2007
- 2007-03-23 JP JP2007075932A patent/JP4640366B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005251219A (ja) * | 1997-03-31 | 2005-09-15 | Lexar Media Inc | フラッシュメモリ内のブロックにおける移動セクタ |
JP2004342126A (ja) * | 1998-02-25 | 2004-12-02 | Lexar Media Inc | 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能 |
JP2003216483A (ja) * | 2002-01-21 | 2003-07-31 | Fujitsu Ltd | メモリコントローラおよびメモリシステム装置 |
JP2006004367A (ja) * | 2004-06-21 | 2006-01-05 | Toshiba Corp | メモリカード及び半導体装置 |
JP2006079434A (ja) * | 2004-09-10 | 2006-03-23 | Tokyo Electron Device Ltd | 記憶装置、メモリ管理方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2008234514A (ja) | 2008-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10049005B2 (en) | Flash memory control apparatus utilizing buffer to temporarily storing valid data stored in storage plane, and control system and control method thereof | |
KR101425957B1 (ko) | 이씨씨 제어 회로 및 그것을 포함하는 멀티채널 메모리시스템 | |
US9009399B2 (en) | Flash memory storage system and controller and data writing method thereof | |
US8510502B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
JP4171749B2 (ja) | メモリコントローラおよびフラッシュメモリシステム | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
JP2011018372A (ja) | データをセクタ単位にランダムに入出力することができるフラッシュメモリシステム | |
US9177656B2 (en) | Data writing method, memory storage device and memory controlling circuit unit | |
US9213631B2 (en) | Data processing method, and memory controller and memory storage device using the same | |
US20150161042A1 (en) | Memory management method, memory controlling circuit unit, and memory storage device | |
US20140173173A1 (en) | Method, device, and system including configurable bit-per-cell capability | |
US20130332653A1 (en) | Memory management method, and memory controller and memory storage device using the same | |
JP4254932B2 (ja) | メモリコントローラ及びフラッシュメモリシステム | |
EP3057100B1 (en) | Memory device and operating method of same | |
JP4640366B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US9146861B2 (en) | Memory address management method, memory controller and memory storage device | |
US20180335942A1 (en) | Data reading method, memory control circuit unit and memory storage device | |
US8423819B2 (en) | Data storage device, controller, and data access method for a downgrade memory | |
JP4849637B2 (ja) | メモリカード及びメモリコントローラ | |
US9710374B2 (en) | Data writing method, memory controller and memory storage device | |
JP4641338B2 (ja) | 不揮発性半導体記憶装置及びシステム | |
JP4655034B2 (ja) | メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法 | |
JP4697146B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4273106B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4626595B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101025 |
|
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: 20101102 |
|
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: 20101115 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4640366 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131210 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |