JP5614337B2 - メモリの制御方法、メモリの制御回路、記憶装置、及び電子機器 - Google Patents

メモリの制御方法、メモリの制御回路、記憶装置、及び電子機器 Download PDF

Info

Publication number
JP5614337B2
JP5614337B2 JP2011050372A JP2011050372A JP5614337B2 JP 5614337 B2 JP5614337 B2 JP 5614337B2 JP 2011050372 A JP2011050372 A JP 2011050372A JP 2011050372 A JP2011050372 A JP 2011050372A JP 5614337 B2 JP5614337 B2 JP 5614337B2
Authority
JP
Japan
Prior art keywords
data
data string
sector
write
string
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.)
Active
Application number
JP2011050372A
Other languages
English (en)
Other versions
JP2012190055A (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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2011050372A priority Critical patent/JP5614337B2/ja
Priority to US13/352,436 priority patent/US8812767B2/en
Publication of JP2012190055A publication Critical patent/JP2012190055A/ja
Application granted granted Critical
Publication of JP5614337B2 publication Critical patent/JP5614337B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Description

メモリの制御方法、メモリの制御回路、記憶装置、及び電子機器に関する。
従来、パーソナルコンピュータ等の電子機器は、データを記憶する記憶装置を備える。記憶装置の1つは、不揮発性の半導体記憶装置を用いたものである。不揮発性の半導体記憶装置、例えばフラッシュメモリは、記憶内容を電気的に書換え可能に構成されている。
フラッシュメモリに代表される不揮発性の半導体記憶装置は、各メモリセルに対する記憶内容の書換え回数に制限があり、その制限を超える回数の書換えが行われたメモリセルは、データの保持が保証されない。即ち、メモリセルに対する書換え回数の制限は、半導体記憶装置の使用可能な期間、つまり寿命に影響する。
半導体記憶装置の寿命を延ばす方法の一つは、書換え回数や消去回数の少ない領域から順に使用することで、書換え回数を平準化するものである(例えば、特許文献1,2参照)。半導体記憶装置の寿命を延ばす他の方法は、物理ブロックを複数の領域に分割し、書き込み要求毎にデータを書き込む領域を変更し、書き込み可能な領域が無くなった場合に、物理ブロック内の有効なデータを他の物理ブロックに転送するものである(例えば、特許文献3参照)。
特開2005−242897号公報 特開2003−228513号公報 特開2009−116465号公報
ところで、フラッシュメモリは、記憶されたデータ「0」をデータ「1」に書き換える場合、その書換え対象のメモリセルを含むセクタ全体に対する消去動作を伴うという制約がある。このため、消去回数の低減が望まれている。
本発明の一観点によれば、データ列の書き込み要求に応答して、前記データ列において論理値「0」のデータである第1データから論理値「1」のデータである第2データへの書き換えが発生するか否かを判定し、前記データ列において前記第1データから前記第2データへの書き換えが発生しない位置のデータを第1の記憶領域に書き込み、前記データ列において前記第1データから前記第2データへの書き換えが発生する位置の前記第2データを、前記第1の記憶領域と異なる第2の記憶領域に対して前記第1データとして書き込む。
本発明の一観点によれば、消去回数を低減することができる。
電子機器の概略構成図である。 記憶装置の概略構成図である。 (a)〜(e)は、記憶装置の動作説明図である。 記憶装置のブロック回路図である。 書込処理のフローチャートである。 転送処理のフローチャートである。 書き込み処理の説明図である。 書き込み処理の説明図である。 書き込み処理の説明図である。 書き込み処理の説明図である。 書き込み処理の説明図である。 読み出し処理の説明図である。 (a)〜(c)は、別の記憶装置の動作説明図である。 (a)〜(c)は、別の記憶装置の動作説明図である。
以下、一実施形態を図1〜図12に従って説明する。
図1に示すように、電子機器10は例えばパーソナルコンピュータであり、処理装置(例えば、CPU)11と、この処理装置11とバス12を介して接続された記憶装置13を備えている。
記憶装置13は、不揮発性の半導体記憶装置(例えば、フラッシュメモリ)を用いた装置であり、プログラムデータを含むファイルや、各種データを含むファイルが格納される。処理装置11は、バス12を介して記憶装置13のファイルに格納されたデータを読み出し、そのデータに基づいて、処理を実行する。そして、処理装置11は、実行する処理に従って作成したデータを含むファイルを、バス12を介して記憶装置13に格納する。
次に、記憶装置13の概略構成を説明する。
図2に示すように、記憶装置13は、インタフェース回路(「I/F」と表記)21と、制御回路22と、メモリ23とを備えている。
インタフェース回路21は、図1に示すバス12を介して処理装置11と各種信号の授受を行う。例えば、処理装置11は、記憶装置13に対して、データ列をアクセスするためのコマンド情報、アクセスするデータ列を指定するアドレス情報、記憶装置13に書き込むデータ列を出力する。データ列は複数(例えば8個)のデータ(又はビットという)を含む。図2に示すインタフェース回路21は、バス12を介して上記の各種情報を受け取り、制御回路22に出力する。制御回路22は、各種情報に従って、データ列をメモリ23に書き込む。また、制御回路22は、各種情報に従って、メモリ23からデータ列を読み出し、そのデータ列をインタフェース回路21に出力する。インタフェース回路21は、制御回路22から出力されるデータ列をバス12に送出し、処理装置11は、バス12上のデータ列を受け取る。
メモリ23は、不揮発性の半導体記憶装置(例えばフラッシュメモリ)である。メモリ23に含まれる複数のメモリセルのそれぞれは、論理値「0」又は論理値「1」を記憶する。メモリセルの論理値を「0」から「1」に変更することを消去(又は「1書き換え」)といい、論理値を「1」から「0」に変更することを書き込み(又は「0書き換え」)という。つまり、メモリ23に含まれる複数のメモリセルのそれぞれは、消去状態のときに論理値「1」を示し、書き込み状態のときに論理値「0」を示す。
各メモリセルは、他のメモリセルとは独立して消去状態から書き込み状態へと変化することができる。逆に、メモリセルは、そのメモリセルが含まれるセクタの他のメモリセルとは独立して書き込み状態から消去状態へと変化することができない。従って、1つのセクタに含まれる複数のメモリセルは、そのセクタに含まれる全てのメモリセルと同時に書き込み状態から消去状態へと制御される。
メモリ23は、複数(図2において2つ)のセクタMSm,MSsを有している。セクタは、例えば記憶された複数のデータを一括して消去する領域の単位である。
第1のセクタMSmは、処理装置11からのアクセスによって示されるアドレス情報(以下、外部アドレスという)とデータ列のデータ数(ビット数)に応じた数のメモリセルを有する、即ち外部アドレスADRに応じたメモリ容量の記憶領域である。例えば、外部アドレスADRは32ビットであり、データ列は8ビットである。
第2のセクタMSsは、第1のセクタMSmのメモリ容量に応じて設定されたメモリ容量(例えば、第1のセクタMSmのメモリ容量の2分の1)の記憶領域である。各セクタMSm,MSsのアドレス情報は、それぞれ択一的にアクセスが可能に設定されている。このように設定された各セクタMSm,MSsのアドレス情報を内部アドレスと呼ぶ。第1のセクタMSmは第1の記憶領域の一例であり、メインセクタと呼ぶ。第2のセクタMSsは第2の記憶領域の一例であり、補助セクタと呼ぶ。
上記したように、処理装置11は、データ列の書き込み(ライト)/読み出し(リード)のために外部アドレスADRを出力する。制御回路22のアドレス変換部31は、アドレス変換情報とセクタステータス情報とを記憶する変換テーブルを有している。変換テーブルは、例えばスタティック・ランダム・アクセス・メモリ(SRAM:Static Random Access Memory)である。
アドレス変換部31は、外部アドレスADRを、メインセクタMSmをアクセスするための内部アドレスADmへ変換する。また、アドレス変換部31は、外部アドレスADRを、補助セクタMSsをアクセスするための内部アドレスADsへ変換する。
制御回路22は、図1に示す処理装置11からインタフェース回路21を介して供給されるライトデータ列WDTに基づいて、メインセクタMSmに書き込むライトデータ列WDmと、補助セクタMSsに書き込むライトデータ列WDsとを生成する。また、制御回路22は、メインセクタMSmから読み出されたリードデータ列RDmと、補助セクタMSsから読み出したリードデータ列RDsに基づいて、リードデータ列RDTを生成する。
制御回路22は、メインセクタMSm及び補助セクタMSsに対するデータ列の書き込み及び読み出しを、アドレス変換部31のテーブルに格納した情報に従って制御する。アドレス変換部31の変換テーブルには、外部アドレスADRを内部アドレスADm,ADsへ変換するためのアドレス変換情報が含まれる。また、アドレス変換部31の変換テーブルには、メインセクタMSmに記憶したデータ列に対応する補助データを補助セクタMSsに記憶したか否かを示すステータス情報が含まれる。
先ず、データ列の書き込みを説明する。
上記したように、メモリ23は、メモリセルの状態を書き込み状態から消去状態に変更するとき、その状態を変更するメモリセルが含まれるセクタ全体を一括して消去する必要がある。このため、制御回路22は、メモリセルの状態を書き込み状態から消去状態に変更するデータ(「1変更データ」とよぶ)が、ライトデータ列WDTに含まれるか否かを判定する。制御回路22は、外部アドレスADRに応じてメモリ23から読み出したリードデータ列RDTとライトデータ列WDTとをビット比較し、ライトデータ列WDTに「1変更データ」が含まれるか否かを判定する。
ライトデータ列WDTに「1変更データ」が含まれない場合、制御回路22は、そのライトデータ列WDTをメインセクタMSmに書き込む。即ち、制御回路22は、ライトデータ列WDTと等しいライトデータ列WDmを生成する。また、制御回路22は、外部アドレスADRを、メインセクタMSmをアクセスするための内部アドレスADmへ変換する。そして、制御回路は、内部アドレスADmとライトデータ列WDmをメモリ23に出力し、メモリ23は、内部アドレスADmに基づいて、メインセクタMSmにライトデータ列WDmを記憶する。
ライトデータ列WDTに「1変更データ」が含まれる場合、制御回路22は、ライトデータ列WDTから、メインセクタMSmに書き込むライトデータ列WDmと、補助セクタMSsに書き込むライトデータ列WDsとを生成する。例えば、制御回路22は、ライトデータ列WDTに対して、「1変更データ」を論理値「0」としたライトデータ列WDm、つまり「1変更データ」を含まないライトデータ列WDmを生成する。制御回路22は、アドレス変換部31によって外部アドレスADRから変換された内部アドレスADmに、ライトデータ列WDmを格納する。
制御回路22は、「1変更データ」の位置(ビット位置)のデータ(又はビットという)のみを論理反転するためのデータを生成する。例えば、制御回路22は、「1変更データ」の位置のデータを論理値「0」とし、他の位置のデータを論理値「1」とした補助データ列WDsを生成する。制御回路22は、内部アドレスADmに応じて、メインセクタMSmの所定領域に補助セクタMSsを割り当てる。制御回路22は、外部アドレスADRを、補助データ列WDsを補助セクタMSsに書き込むための内部アドレスADsへ変換するためのアドレス変換情報をアドレス変換部31のテーブルに記憶する。更に、制御回路22は、外部アドレスADRを内部アドレスADmへ変換するためのアドレス変換情報に、ライトデータ列WDmに対応する補助データ列WDsが存在することを示すステータス情報を、関連付けてアドレス変換部31のテーブルに記憶する。
このように、制御回路22は、メインセクタMSmに対して、「1変更データ」を含まないライトデータ列WDmを格納する。従って、「1変更データ」を含むライトデータ列WDTに対して、メインセクタMSmに対して消去動作を伴わない。補助データ列WDsは、「1変更データ」の位置に応じて、論理値「0」を含む。論理値「0」は、メモリセルを書き込み状態に変更するものである。従って、補助セクタMSsに対して補助データ列WDsを書き込むときに、消去動作を伴わない。
つまり、「1変更データ」を含むライトデータ列WDTであっても、消去動作を伴わないため、消去動作を伴うデータ列の書き込みに要する時間と比べ、短時間でライトデータ列WDTの書き込みを終了することができる。また、「1変更データ」を含むライトデータ列WDTの記憶に対して消去動作を伴わないため、メモリ23の消去回数が、従来例と比べて少なくなる。その結果、メモリ23を使用することが可能な期間、つまりメモリ23の寿命を延ばすことが可能となる。
次に、データ列の読み出しを説明する。
制御回路22は、外部アドレスADRを受け取る。アドレス変換部31は、外部アドレスADRを内部アドレスADmへ変換する。制御回路22は、内部アドレスADmに従ってメモリ23のメインセクタMSmからデータ列RDmを読み出す。また、制御回路22は、内部アドレスADmに対応するステータス情報に従って、内部アドレスADmに対する補助データ列の有無を判定する。補助データ列が存在しない場合、制御回路22は、メインセクタMSmから読み出したデータ列RDmと等しいリードデータ列RDTを出力する。
一方、補助データ列が存在する場合、制御回路22は、補助セクタMSsの割り当て情報に従って、アドレス変換部31によって外部アドレスADRを内部アドレスADsへ変換し、その内部アドレスADsに従ってメモリ23の補助セクタMSsから補助データ列RDsを読み出す。制御回路22は、メインセクタMSmから読み出したデータ列RDmと補助データ列RDsを合成してリードデータ列RDTを生成する。
補助データ列RDsは、メインセクタMSmから読み出したデータ列RDmに対して、「1変更データ」の位置を示すデータ列である。例えば、論理値「0」は「1変更データ」の位置を示し、論理値「1」は「1変更データ」ではない位置を示す。制御回路22は、補助データ列RDsとメインセクタMSmから読み出したデータ列RDmとを合成することにより、1変換データを含むリードデータ列RDTを生成する。例えば、制御回路22は、補助データ列RDsの各ビットを論理反転して反転データ列を生成し、この反転データ列とメインセクタMSmから読み出したデータ列RDmとを合成する、例えば論理和処理(OR処理)する。この合成処理により、メインセクタMSmから読み出したデータ列RDmに対して、リードデータ列RDTは、「1変更データ」の位置に論理値「1」を含むデータ列となる。つまり、制御回路22は、補助データ列RDsに基づいて、メインセクタMSmから読み出したデータ列RDmから、「1変更データ」の位置に論理値「1」を含むデータ列を生成するように、合成処理を行う。
次に、複数のメインセクタを有するメモリに対する動作を、図3(a)〜図3(e)に従って説明する。なお、図3(a)〜図3(e)では、制御回路22に含まれるアドレス変換部31とメモリ23のみを示している。
図3(a)に示すように、メモリ23は、2つのメインセクタ23a,23bと、2つの補助セクタ23c,23dを有している。アドレス変換部31は、メインセクタ23a,23bに対応するメインテーブル31a,31bと、補助セクタ23c,23dに対応する補助テーブル31c,31dを有している。
メインセクタ23a,23bは、図1に示す処理装置11からのアクセスによって示される外部アドレスADRとデータ列のデータ数(ビット数)に応じた数のメモリセルを有する記憶領域である。補助セクタ23c,23dは、メインセクタ23a,23bのメモリ容量に応じて設定されたメモリ容量(例えば、メインセクタ23a,23bのメモリ容量の2分の1)の記憶領域である。
制御回路22は、2つのメインセクタ23a,23bのうちの一方を対象セクタとし、他方を非対象セクタとする。そして、制御回路22は、2つのメインセクタ23a,23bに対する対象セクタ、非対象セクタを交互に切替える。制御回路22は、対象セクタに対して外部アドレスADRに応答してアクセスする。制御回路22は、非対象セクタのメモリセルを消去状態とする。例えば、メインセクタ23aを対象セクタとし、メインセクタ23bを非対象セクタとする。
制御回路22は、メインテーブル31aを用いて、外部アドレスADRを、メインセクタ23aをアクセスするための内部アドレスAD1へ変換する。制御回路22は、内部アドレスAD1に対応するアドレス変換情報に関連付けられたステータス情報に基づいて、補助データ列の有無を判定する。そして、制御回路22は、補助データ列が存在しない場合、内部アドレスAD1に従ってメインセクタ23aをアクセスし、メインセクタ23aから読み出したリードデータ列RD1と等しいリードデータ列RDTを出力する。
制御回路22は、ライトデータ列WDTに「1変更データ」が含まれるか否かを判定する。そして、制御回路22は、「1変更データ」を含まないと判定した場合、ライトデータ列WDTと等しいライトデータ列WD1を、内部アドレスAD1に従ってメインセクタ23aに格納する。
制御回路22は、「1変更データ」を含むと判定した場合、図3(b)に示すように、外部アドレスADRに従ってメインセクタ23aの対象領域に補助セクタ23cを割り当てる。対象領域は、メインテーブル31aに従って外部アドレスADRを変換した内部アドレスAD1にて示される記憶領域を含むように設定された領域である。メインセクタ23aにおいてハッチングを付した部分は、補助セクタ23cが割り当てられた領域を示す。
制御回路22は、ライトデータ列WDTから、「1変更データ」を含まないライトデータ列WD1を生成する。また、制御回路22は、「1変更データ」の位置に、メモリセルに対する書き込みを行うデータ、つまり論理値「0」を含む補助データ列WD2を生成する。また、制御回路22は、メインテーブル31aに従って外部アドレスADRに内部アドレスAD1へ変換する。そして、制御回路22は、内部アドレスAD1に従って、ライトデータ列WD1を、メインセクタ23aに格納する。
制御回路22は、この内部アドレスAD1のためのアドレス変換情報に、補助データ列WD2の存在を示すステータス情報を関連付けてメインテーブル31aに記憶する。また、制御回路22は、補助セクタ23cの割り当て情報と、内部アドレスAD1に基づいて、補助セクタ23cをアクセスする内部アドレスを生成するためのアドレス変換情報を、補助テーブル31cに格納する。そして、制御回路22は、補助テーブル31cに従って、外部アドレスADRを内部アドレスAD2へ変換する。そして、制御回路22は、内部アドレスAD2に従って、補助データ列WD2を、補助セクタ23cに格納する。
読み出し動作において、図3(c)に示すように、制御回路22は、メインテーブル31aを用いて、外部アドレスADRを、メインセクタ23aをアクセスするための内部アドレスAD1へ変換する。そして、制御回路22は、内部アドレスAD1に従ってメインセクタ23aから読み出したリードデータ列RD1を保持する。
次いで、制御回路22は、内部アドレスAD1に対応するアドレス変換情報に関連付けられたステータス情報に基づいて、補助データ列の有無を判定する。そして、制御回路22は、補助データ列が存在する場合、補助テーブル31cに従って、外部アドレスADRを内部アドレスAD2へ変換する。そして、制御回路22は、内部アドレスAD2に従って補助セクタ23cから補助データ列RD2を読み出する。そして、制御回路22は、読み出した補助データ列RD2と、保持したリードデータ列RD1とを合成してリードデータ列RDTを生成する。
制御回路22は、所定のタイミングにおいて、転送処理を実行する。所定のタイミングは、例えば、外部(例えば図1に示す処理装置11)から転送コマンドが供給されたときである。制御回路22は、転送コマンドに応答して、図3(d)に示すように、転送処理を行う。即ち、制御回路22は、メインテーブル31aに従ってリードアドレスRA1を生成し、このリードアドレスRA1に従ってメインセクタ23aからデータ列RD1を読み出す。制御回路22は、リードアドレスRA1のためのアクセス情報に対応するステータス情報が補助データなしを示す場合、リードアドレスRA1と等しいライトデータ列WDを、メインテーブル31bに従って生成したライトアドレスWAに従って、メインセクタ23bに格納する。
一方、制御回路22は、リードアドレスRA1のためのアクセス情報に対応するステータス情報が補助データ有りを示す場合、補助テーブル31cに従ってリードアドレスRA2を生成し、このリードアドレスRA2に従って補助セクタ23cからデータ列RD2を読み出す。そして、制御回路22は、図3(c)と同様に、メインセクタ23aから読み出したデータ列RD1と補助セクタ23cから読み出したデータ列RD2とを合成してライトデータ列WDを生成し、メインテーブル31bに従って生成したライトアドレスWAに従って、ライトデータ列WDをメインセクタ23bに格納する。
即ち、制御回路22は、メインセクタ23aのデータ列と、補助セクタ23cのデータ列を、メインセクタ23bに転送する。そして、制御回路22は、メインセクタ23a及び補助セクタ23cの全てのデータの転送を終了すると、転送先のメインセクタ23bをアクセスの対象セクタに設定し、転送元のメインセクタ23aを非対象セクタに設定する。また、制御回路22は、メインセクタ23aに対応するメインテーブル31aと、補助セクタ23cに対応する補助テーブル31cをダーティセクタとする。
上記の転送処理において、制御回路22は、メモリ23に対する書き込みと読み出しを許容する。書き込みと読み出しの対象となるセクタは、外部アドレスADRとライトアドレスWAとの比較結果に応じて決定される。つまり、外部アドレスADRがライトアドレスWAより小さい場合、その外部アドレスADRに対応するデータ列は、既にメインセクタ23aからメインセクタ23bに転送されている。従って、外部アドレスADRに基づくアクセスの対象は、転送先のメインセクタ23bとなる。一方、外部アドレスADRがライトアドレスWAより大きい場合、その外部アドレスADRに対応するデータ列は、まだメインセクタ23aに存在する。従って、外部アドレスADRに基づくアクセスの対象は、転送元のメインセクタ23aと、「1変更データ」の有無に応じて補助セクタ23cとなる。
上記のように転送処理を終了すると、図3(e)に示すように、制御回路22は、メインテーブル31bを用いて外部アドレスADRを内部アドレスAD1へ変換し、その内部アドレスAD1に従ってメインセクタ23bに対する読み出しと書き込みを行う。また、制御回路22は、ダーティセクタとしたメインセクタ23aと補助セクタ23cのデータを消去する。そして、制御回路22は、メインセクタ23bに対するライトデータ列WDTに「1変更データ」が存在すると判定した場合、メインセクタ23bに対して補助セクタ23dを割り当て、図3(b)と同様に、メインセクタ23bと補助セクタ23dに対してデータ列WD1,WD2を書き込む。
上記したように、制御回路22は、2つのメインセクタ23a,23bのうちの一方を対象セクタとし、他方を非対象セクタとする。制御回路22は、対象セクタに対して外部アドレスADRに応答してアクセスする。制御回路22は、非対象セクタのメモリセルを消去状態とする。そして、制御回路22は、非対象セクタに対する消去動作を、対象セクタに対するアクセスが可能な期間に行う。従って、図1に示す処理装置11は、メインセクタに対する消去動作の完了を待つ必要がなく、継続的に記憶装置13をアクセスすることができる。
また、制御回路22は、2つのメインセクタ23a,23bに対する対象セクタ、非対象セクタを交互に切替える。つまり、制御回路22は、2つのメインセクタ23a,23bに対して、交互に消去動作を実施する。これにより、各メインセクタ23a,23bに対する消去回数が、1つのセクタに対して書き込み動作と消去動作とを行う場合と比べて少なくなり、メモリ23の使用期間、つまりメモリ23の寿命を延ばすことができる。
次に、制御回路22の一例を説明する。
図4に示すように、制御回路22のアドレス変換部31には、外部アドレスADRと、外部アクセス信号RWが、インタフェース回路21を介して供給される。外部アクセス信号RWは、記憶装置13に対するアクセスが、リードアクセスかライトアクセスかを示す信号である。例えば、Hレベルの外部アクセス信号RWはリードアクセスを示し、Lレベルの外部アクセス信号RWはライトアクセスを示す。
アドレス変換部31は、複数の変換テーブル31a〜31dを有している。各変換テーブル31a〜31dは、例えばスタティック・ランダム・アクセス・メモリ(SRAM:Static Random Access Memory)である。第1の変換テーブル31aと第2の変換テーブル31bはメインテーブルの一例であり、第3の変換テーブル31cと第4の変換テーブル31dは補助テーブルの一例である。
第1の変換テーブル31aには、外部アドレスADRを内部アドレスAD1へ変換するためのアドレス変換情報と、内部アドレスAD1にて示される領域(メモリセル)に格納されたデータ列に対して、補助データ列が存在するか否かを示すセクタステータス情報が格納される。同様に、第2の変換テーブル31bには、外部アドレスADRを内部アドレスAD1へ変換するためのアドレス変換情報と、内部アドレスAD1にて示される領域(メモリセル)に格納されたデータ列に対して、補助データ列が存在するか否かを示すセクタステータス情報が格納される。第3の変換テーブル31cには、リードアドレスRADを内部アドレスAD2へ変換するためのアドレス変換情報が格納される。同様に、第4の変換テーブル31dには、リードアドレスRADを内部アドレスAD2へ変換するためのアドレス変換情報が格納される。リードアドレスRADは、読出制御部33から供給される。
アドレス変換部31は、外部アクセス信号RWに基づいて、リードアクセスとライトアクセスのそれぞれのアクセスに応じて、内部アドレスと内部アクセス情報を出力する。
リードアクセスの場合、アドレス変換部31は、メインテーブル31a,31bを用いて外部アドレスADRを内部アドレスAD1へ変換し、リードアクセスを示す内部アクセス信号IRWと、内部アドレスAD1をメモリ23に出力する。アドレス変換部31は、外部アドレスADRよって示されるデータ列に対して補助データ列が存在する場合、補助テーブル31c,31dを用いて読出制御部33から供給されるリードアドレスRADを内部アドレスAD2へ変換し、リードアクセスを示す内部アクセス信号IRWと内部アドレスAD2をメモリ23に出力する。
ライトアクセスの場合、アドレス変換部31は、上記のリードアクセスの場合と同様に、リードアクセスを示す内部アクセス信号IRWと内部アドレスAD1(必要に応じて内部アドレスAD2)をメモリ23に出力する。その後、アドレス変換部31は、データ分解部36から供給されるテーブル指定信号LSWに基づいて、メインテーブル31a,31bを用いて外部アドレスADRを内部アドレスAD1へ変換し、ライトアクセスを示す内部アクセス信号IRWと内部アドレスAD1をメモリ23に出力する。また、アドレス変換部31は、補助データ列が存在する場合、データ分解部36から供給されるテーブル指定信号LSWに基づいて、補助テーブル31c,31dを用いて外部アドレスADRを内部アドレスAD2へ変換し、ライトアクセスを示す内部アクセス信号IRWと内部アドレスAD2をメモリ23に出力する。
また、アドレス変換部31は、外部アドレスADRに対応してメインの変換テーブル31a,31bに格納されたセクタステータス情報に基づいてヒット情報を読出リスト32に格納する。セクタステータス情報は、外部アドレスADRに示されるデータ列に対応する補助データ列が存在するか否かを示す。補助データが存在する場合をヒットという。アドレス変換部31は、補助データがヒットした場合に、ヒット情報を読出リスト32に格納する。ヒット情報は、外部アドレスADRと、補助データを格納したセクタをアクセスするための内部アドレスを生成する変換テーブルを示す情報(テーブル番号)を含む。
また、アドレス変換部31は、セクタステータス情報SSIを、読出制御部33に出力する。
読出制御部33は、セクタステータス情報SSIに応じて、補助データが補助セクタに格納されているとき、クロック信号に基づく次のサイクルにおいて、読出リスト32に格納されたヒット情報に応じたセクタに対する読み出しを制御する。即ち、読出制御部33は、読出リスト32から読み出した外部アドレスADRに応じた補助リードアドレスRADを、アドレス変換部31に出力する。また、読出制御部33は、読出リスト32から読み出したテーブル番号に応じたテーブル指定信号LSRを、アドレス変換部31に出力する。
アドレス変換部31は、テーブル指定信号LSRに応じた補助テーブル31c,31dを用いて、補助リードアドレスRADを内部アドレスAD2へ変換する。そして、アドレス変換部31は、内部アドレスAD2と、読み出しのための内部アクセス信号IRWをメモリ23に出力する。メモリ23は、内部アクセス信号IRWに従って、内部アドレスAD2にて示される補助セクタのデータ列を読み出し、リードデータ列RD2を出力する。
また、読出制御部33は、セクタステータス情報SSIに従って、データ反転部34とデータ合成部35に制御信号を出力する。セクタステータス情報SSIは、補助データの有無を示す。読出制御部33は、補助データの有無に応じて、制御信号を出力する。
データ反転部34は、読出制御部33の制御信号に応答して、メインセクタ23a,23bから読み出したデータ列RD1と等しいデータ列を出力し、補助セクタ23c,23dから読み出したデータ列RD2を論理反転して出力する。
データ合成部35は、読出制御部33の制御信号に応答して、補助データ列が存在しない場合に、データ反転部34から出力されるデータ列と等しいリードデータ列RDTを出力する。また、データ合成部35は、読出制御部33の制御信号に応答して、補助データ列が存在する場合に、最初のサイクルにおいて、データ反転部34から出力されるデータ列をバッファ35aに保持し、次サイクル以降において、データ反転部34から出力されるデータ列を、バッファ35aに保持したデータ列と合成したリードデータ列RDTを出力する。
データ合成部35から出力されるデータ列は、ライトアクセス(書込処理)と転送処理において、データ分解部36にて利用される。ライトアクセスにおいてデータ合成部35からデータ分解部36に供給されるデータ列を、インタフェース回路21を介してバス12に出力されるリードデータ列RDTと区別するために、参照データ列RRDとする。
データ分解部36には、ライトデータ列WDTが、インタフェース回路21を介して供給される。データ分解部36は、ライトデータ列WDTと参照データ列RRDとをビット毎に比較し、ライトデータ列WDTに「1変更データ」が含まれるか否かを判定する。そして、データ分解部36は、「1変更データ」の判定結果に応じて、ライトデータ列WD1,WD2を生成し、ライトデータ列WD1,WD2をメモリ23に出力する。
また、データ分解部36は、「1変更データ」の判定結果に応じて、割当要否信号RASを、割当制御部37に出力する。例えば、データ分解部36は、「1変更データ」がデータ列WDTに含まれる場合に割当必要を示す例えばHレベルの割当要否信号RASを出力し、「1変更データ」が含まれない場合に割当不要を示す例えばLレベルの割当要否信号RASを出力する。また、データ分解部36は、判定結果に応じて、割当を必要とする場合が場合に、テーブル指定信号LSWを出力する。
アドレス変換部31の各変換テーブル31a〜31dは、初期状態(例えば、転送処理直後)において、クリアされている。このため、割当制御部37は、対象テーブルとして設定されるメインテーブルに、外部アドレスADRと、対象セクタをアクセスするための内部アドレスAD1とのアドレス変換情報を設定する。また、割当制御部37は、アドレス変換情報に対応してステータス情報(このときは補助データ列無し)を設定する。
アドレス変換部31は、メインテーブル31a,31bに設定されたアドレス変換情報に従って、外部アドレスADRを内部アドレスAD1へ変換する。そして、アドレス変換部31は、内部アドレスAD1と、外部アクセス信号RW(このときはライトアクセスを示す)と等しい内部アクセス信号IRWをメモリ23に出力する。メモリ23は、内部アクセス信号IRWに応答して、内部アドレスAD1にて示される領域に、ライトデータ列WD1を記憶する。
割当制御部37は、上記のデータ分解部36から出力されるHレベルの割当要否信号RASに応答して、補助テーブルの割り当てを行い、補助テーブルに、アドレス変換情報を設定する。アドレス変換部31は、補助テーブル31c,31dに設定されたアドレス変換情報に従って、外部アドレスADRを内部アドレスAD2へ変換する。そして、アドレス変換部31は、内部アドレスAD2と、書き込みのための内部アクセス信号IRWをメモリ23に出力する。メモリ23は、内部アクセス信号IRWに従って、内部アドレスAD2にて示された補助セクタに、ライトデータ列WD2を記憶する。
また、割当制御部37は、アドレス変換部31から出力されるヒット情報に応答して、補助テーブルの割り当てを行い、補助テーブルにアドレス変換情報を設定する。アドレス変換部31は、外部アドレスADRに対応する内部アドレスAD1のセクタステータス情報が「補助データ有り」を示すとき、ヒット情報を出力する。補助データは、メインセクタに格納したデータ列において、「1変更データ」が発生したとき、つまり、論理値「0」を論理値「1」に変更するデータがライトデータ列WDTに含まれるときに、そのデータ(具体的には論理反転したデータ)を補助セクタ23c,23dに格納する。これにより、メインセクタ23a,23b全体に対する消去動作の発生を抑制する。
上記のように補助セクタ23c,23dに補助データを格納したデータ列に対し、上記と同じ位置(ビット位置)において、再び論理値「0」を論理値「1」に変更する書き込みを行うことがある。即ち、メモリセルの状態を、「1」→「0」→「1」→「0」→「1」のように変更する、つまり2回以上、「1変更データ」が含まれるライトデータ列WDTを受け取る。このような書き込みに対して、クリアな補助セクタが存在する場合、割当制御部37は、そのクリアな補助セクタを割り当て、その補助セクタに、「1変更データ」の位置に対応するデータを書き込む。
例えば、図4に示すメモリ23は、2つの補助セクタ23c,23dを有している。1つの補助セクタ(例えばセクタ23)を対象セクタとしてアクセスを行っているとき、補助セクタ23dはクリアな状態にある。従って、補助セクタ23dを割り当てることで、上記のようなライトデータ列WDTの記憶が可能となる。
消去制御部38は、外部からインタフェース回路21を介して供給される書込終了信号WCSに応答して転送処理を実行する。消去制御部38は、割当変更信号CASを割当制御部37に出力し、割当制御部37は、割当変更信号CASに応答して、未使用のセクタをデータ列の書き込みに設定する。また、消去制御部38は、転送のためのアドレス信号TADと、転送のためのテーブル指定信号LSTをアドレス変換部31に出力する。アドレス変換部31は、テーブル31a〜31dを用いて、転送のためのアドレス信号TADを内部アドレスAD1,AD2に変化し、その時々の動作に応じた内部アクセス信号IRWと内部アドレスAD1,AD2をメモリ23に出力する。
上記の制御回路22のリード動作、ライト動作、転送動作を説明する。
[リード動作]
1.補助セクタに該当データなしの場合。
アドレス変換部31には、リードアクセスを示す外部アクセス信号RWと外部アドレスADRが供給される。アドレス変換部31は、対象となるメインテーブル(例えば、メインテーブル31a)を用いて外部アドレスADRを内部アドレスAD1へ変換し、リードアクセスを示す内部アクセス信号IRWと内部アドレスAD1をメモリ23に出力する。なお、メインテーブル31aは、データ列の書き込み、つまりライト動作によって設定されている。
メモリ23は、内部アドレスAD1に示されるデータ列を読み出し、リードデータ列RD1を出力する。読出制御部33は、データ反転部34とデータ合成部35を制御する。メモリ23から出力されるリードデータ列RD1は、データ反転部34とデータ合成部35を介してリードデータ列RDTとしてインタフェース回路21に供給され、そのインタフェース回路21からバス12に出力される。
2.補助セクタに該当データありの場合。
アドレス変換部31には、リードアクセスを示す外部アクセス信号RWと外部アドレスADRが供給される。アドレス変換部31は、メインテーブル31a,31bを用いて外部アドレスADRを内部アドレスAD1へ変換し、リードアクセスを示す内部アクセス信号IRWと内部アドレスAD1をメモリ23に出力する。メモリ23は、内部アドレスAD1に示されるデータ列を読み出し、リードデータ列RD1を出力する。読出制御部33は、データ反転部34とデータ合成部35を制御する。メモリ23から出力されるリードデータ列RD1は、データ反転部34を介してデータ合成部35に供給され、データ合成部35はリードデータ列をバッファ35aに保持する。
また、アドレス変換部31は、ヒット情報を出力し、読出リスト32はヒット情報を記憶する。読出制御部33は、次のサイクルにおいて、読出リスト32に記憶されたヒット情報を読み出し、リードアドレスRADとテーブル指定信号LSRをアドレス変換部31に出力する。アドレス変換部31は、補助テーブル31c,31dを用いてリードアドレスRADを内部アドレスAD2に変化する。そして、アドレス変換部31は、リードアクセスを示す内部アクセス信号IRWと内部アドレスAD2をメモリ23に出力する。メモリ23は、内部アドレスAD1に示されるデータ列を読み出し、リードデータ列RD2を出力する。読出制御部33は、データ反転部34に反転動作の制御信号を出力し、データ合成部35に合成動作の制御信号を出力する。メモリ23から出力されるリードデータ列RD1は、データ反転部34にて論理反転されてデータ合成部35に供給される。データ合成部35はデータ反転部34から供給されるリードデータ列と、バッファ35aに保持したリードデータ列と合成することにより生成したリードデータ列RDTを出力する。
外部アドレスADRに対して複数の補助セクタが設定されている場合、それらの補助セクタに対応する複数のヒット情報が読出リスト32に記憶される。読出制御部33は、読出リスト32に記憶された全てのヒット情報を読み出し、上記と同様の制御を行って複数の補助セクタのそれぞれから読み出した複数のデータ列と、バッファ35aに保持したデータ列とを合成してリードデータ列RDTを生成する。
[ライト動作]
1.初回のライト動作。
アドレス変換部31には、ライトアクセスを示す外部アクセス信号RWと外部アドレスADRが供給される。データ分解部36には、ライトデータ列WDTが供給される。最初の書き込みのとき、アドレス変換部31のメインテーブル31a,31bはクリアされているため、割当制御部37により対象となるメインテーブル(例えば、メインテーブル31a)にアドレス変換情報とセクタステータス情報が設定される。アドレス変換部31は、メインテーブル31aを用いて外部アドレスADRを内部アドレスAD1へ変換する。アドレス変換部31は、ライトアクセスを示す内部アクセス信号IRWと内部アドレスAD1をメモリ23に出力する。データ分解部36は、ライトデータ列WDTと等しいライトデータ列WD1をメモリ23に出力する。メモリ23は、内部アドレスAD1にて示される領域に、ライトデータ列WD1を記憶する。
2.2回目以降のライト動作。
アドレス変換部31には、ライトアクセスを示す外部アクセス信号RWと外部アドレスADRが供給される。データ分解部36は、供給されるライトデータ列WDTをバッファ36aに保持する。アドレス変換部31は、リード動作と同様に、外部アドレスADRに対応するデータ列RD1,RD2をメモリ23から読み出す。該当セクタの有無に応じて、データ列RD1と等しい参照データ列RRD、又はデータ列RD1とデータ列RD2を合成した参照データ列RRDが、データ合成部35からデータ分解部36に供給される。データ分解部36は、バッファ36aに保持したライトデータ列WDTと参照データ列RRDと、を互いに比較する。
2.1.「1変更データ」なし。
アドレス変換部31は、メインテーブル31aを用いて外部アドレスADRを内部アドレスAD1へ変換する。アドレス変換部31は、ライトアクセスを示す内部アクセス信号IRWと内部アドレスAD1をメモリ23に出力する。データ分解部36は、ライトデータ列WDTと等しいライトデータ列WD1をメモリ23に出力する。メモリ23は、内部アドレスAD1にて示される領域に、ライトデータ列WD1を記憶する。
2.2.「1変更データ」あり。
データ分解部36は、割当要否信号RASを出力する。割当制御部37は、補助テーブル(例えば、補助テーブル31c)を設定し、メインセクタ23aに補助セクタ23cを割り当てる。メインテーブル31aには、外部アドレスADRを内部アドレスAD1に変換するアドレス変換情報に対応するセクタステータス情報に、補助データ有りを示す情報が設定される。
データ分解部36は、ライトデータ列WDTと参照データ列RRDとの比較結果に基づいて、「1変更データ」を含まないライトデータ列WD1を生成する。そして、データ分解部36は、ライトデータ列WD1をメモリ23に出力し、テーブル指定信号LSWをアドレス変換部31に出力する。アドレス変換部31は、テーブル指定信号LSWに基づいて、メインテーブル31aを用いて外部アドレスADRを内部アドレスAD1へ変換し、ライトアクセスを示す内部アクセス信号IRWと内部アドレスAD1をメモリ23に出力する。メモリ23は、内部アドレスAD1にて示されるメインセクタ23aの領域に、ライトデータ列WD1を記憶する。
次いで、データ分解部36は、ライトデータ列WDTと参照データ列RRDとの比較結果に基づいて、「1変更データ」の位置のデータを論理値「0」とし、他の位置のデータを論理値「1」としたライトデータ列WD2を生成する。そして、データ分解部36は、ライトデータ列WD2をメモリ23に出力し、テーブル指定信号LSWをアドレス変換部31に出力する。アドレス変換部31は、テーブル指定信号LSWに基づいて、補助テーブル31cを用いて外部アドレスADRを内部アドレスAD2へ変換し、ライトアクセスを示す内部アクセス信号IRWと内部アドレスAD2をメモリ23に出力する。メモリ23は、内部アドレスAD2にて示される補助セクタ23cの領域に、ライトデータ列WD2を記憶する。
[転送動作]
消去制御部38は、供給される書込終了信号WCSに応答して転送のための処理を行う。例えば、消去制御部38は、割当制御部37に対し、割当変更信号CASを出力する。割当制御部37は、割当変更信号CASに応答して、未使用のセクタ(例えばメインセクタ23b)を確保する。アドレス変換部31は、消去制御部38から出力される転送アドレスADTに基づいて、リード動作と同様に、データ列RD1,RD2をメモリ23から読み出す。該当セクタの有無に応じて、データ列RD1と等しい転送データ列TRD、又はデータ列RD1とデータ列RD2を合成した転送データ列TRDが、データ合成部35からデータ分解部36に供給される。データ分解部36は、転送データ列TRDと等しいライトデータ列WDをメモリ23に出力し、テーブル指定信号LSWをアドレス変換部31に出力する。アドレス変換部31は、テーブル指定信号LSWに基づいて、確保されたメインテーブル31bを用いて転送アドレスADTを内部アドレスAD1へ変換し、ライトアクセスを示す内部アクセス信号IRWと内部アドレスAD1をメモリ23に出力する。メモリ23は、内部アドレスAD1にて示されるメインセクタ23bの領域に、ライトデータ列WDを記憶する。
消去制御部38は、1つのデータ列のメインセクタ23bへの書き込みが終了すると、インクリメントした転送アドレスADTをアドレス変換部31に出力する。従って、上記の処理が、メインセクタ23aの全ての内部アドレスに対して繰り返し実行され、メインセクタ23aと補助セクタ23cのデータ列が、確保したメインセクタ23bに転送される。消去制御部38は、データ列の転送が終了すると、割当変更信号CASを割当制御部37に出力し、割当制御部37は、割当変更信号CASに応答して、メインセクタ23aと補助セクタ23cを無効化し、確保したメインセクタ23bを対象とするセクタに設定する(有効化する)。次いで、消去制御部38は、メモリ23に対して、セクタ消去命令を出力し、メモリ23は、メインセクタ23aと補助セクタ23cのデータ列を消去する。
制御回路22の書込処理手順をフローチャートに従って説明する。
図5に示すように、制御回路22は、メモリ23のメインセクタ23a,23bが変換テーブルに登録されているか否か、例えばメインの変換テーブル31a,31bに外部アドレスADRに対するアドレス変換情報が登録されているか否かを判定する(ステップ41)。登録されていない場合、制御回路22は、対象とするメインセクタ(例えばセクタ23a)を変換テーブル(例えば、メインテーブル31a)に登録し(ステップ42)、ステップ45へ移行する。一方、登録されている場合、制御回路は、外部アドレスADRにて示される書き込み先のデータ(参照データ列RRD)を読み出し、参照データ列RRDとライトデータ列WDTとを比較する(ステップ43)。
制御回路22は、比較結果に基づいて、論理値「0」から論理値「1」への書き換えが発生するか否か、即ち「1変更データ」がライトデータ列WDTに含まれるか否かを判定する(ステップ44)。書き換えが発生しない場合、制御回路22は、ライトデータ列WDTを、メインセクタ23aに書き込み(ステップ45)、ステップ51へ移行する。
書き換えが発生する場合、制御回路22は、割り当て済みの補助セクタが存在するか否かを判定する(ステップ46)。補助セクタが存在しない場合、制御回路22は、補助セクタのうちの1つ(例えば、補助セクタ23c)をテーブル(例えばテーブル31c)に登録し、外部アドレスADRに応じてメインセクタ23aに対して補助セクタ23cを割り当て(ステップ47)、ステップ50へ移行する。
補助セクタが存在する場合、制御回路22は、その補助セクタにあって外部アドレスADRにて示されるデータ列の対応するビットが、論理値「1」か否かを判定する(ステップ48)。論理値「1」は、そのビットに対して「1変更データ」に基づく変更が行われていないことを示し、論理値「0」はそのビットに対して「1変更データ」に基づく変更が行われたことを示す。従って、該当データが論理値「1」ではない、即ち論理値「0」の場合、制御回路22は、新たな補助セクタ(例えば、補助セクタ23d)を追加設定し(ステップ49)、ステップ47へ移行する。
該当データが論理値「1」の場合、制御回路22は、ライトデータ列WDTから生成した「1変更データ」を含まないデータ列をメインセクタ23aに書き込み、補助セクタ23cの該当ビットに論理値「0」を書き込む(ステップ50)。
次いで、制御回路22は、書き込みが成功したか否かを判定する(ステップ51)。書き込みが成功した場合、制御回路22は、1つのデータ列の書き込み処理を終了する。書き込みが失敗した場合、制御回路22は、ライトデータ列WDTの供給元(例えば、図1に示す処理装置11)に対して書込失敗通知を示す信号を出力する(ステップ52)。次いで、制御回路は、外部アドレスADRに対応する情報(メインテーブル31aにおける「1変更データ」の存在を示すセクタステータス情報、補助セクタ23cを参照するアドレス変換情報、等)を消去し、補助セクタ23cの消去し(ステップ53)、1つのデータ列の書き込み処理を終了する。補助セクタの23cの消去において、他のデータが書き込まれている場合には、それらのデータの退避した後、セクタ全体を消去し、退避データをセクタに書き戻す。
制御回路22の転送処理手順をフローチャートに従って説明する。
図6に示すように、制御回路22は、書き込み完了通知を受け取る(又は書き込み完了を検知する)と(ステップ61)、対象とするメインセクタ(例えばセクタ23a)のデータ列と、メインセクタに対して割り当てられた補助セクタ(例えば補助セクタ23c)データ列とを読み出し(ステップ62)、書き込みのために設定したメインセクタ(例えばセクタ23b)に合成したデータ列を書き込む(ステップ63)。つまり、制御回路22は、メインセクタ23aと補助セクタ23cのデータ列を、メインセクタ23bに転送する。
次いで、制御回路22は、全てのデータを転送したか否かを判定する(ステップ64)。全てのデータについて転送を完了していない場合、制御回路22は、ステップ62へ移行する。つまり、ステップ62とステップ63の処理を繰り返し実行し、全てのデータを、メインセクタ23a及び補助セクタ23cからメインセクタ23bへ転送する。
全てのデータの転送を完了すると、制御回路22は、転送先のメインセクタ23bを外部アドレスADRに従ってアクセスするように、メインテーブル31bにアドレス変換情報を登録する。次いで、制御回路22は、転送元のメインセクタ23a及び補助セクタ23cに対応するテーブル31a,31cをクリアし、処理を終了する。
次に、書き込み動作におけるデータの一例を説明する。
図7に示すように、メインセクタ23aと補助セクタ23cはそれぞれ初期状態にある。従って、メインセクタ23aにおいて、アドレス[000]〜[002]で示される領域のメモリセルは、全て論理値「1」を示す。同様に、補助セクタ23cにおいて、アドレス[000]〜[002]にて示される領域のメモリセルは、全て論理値「1」を示す。なお、図7において、メインセクタ23aのアドレス[000]〜[002]は、メインセクタ23aにおける相対的なアドレスを示す。同様に、補助セクタ23cのアドレス[000]〜[002]は、メインセクタ23aにおける相対的なアドレスを示す。
このようなメインセクタ23aに対し、例えば、メインセクタ23aのアドレス[000]〜[002]にデータ列「00001111」を書き込む。このデータ列「00001111」は、メインセクタ23aに含まれる各メモリセルの論理値「1」を「0」に書き換える。従って、データ列「0000111」はそのままメインセクタ23aに供給される。その結果、図8に示すように、メインセクタ23aにデータ列「00001111」が記憶される。
次に、例えば、メインセクタ23aのアドレス[001]に、データ列WDTを書き込む。このデータ列WDTの各ビットは、例えば「00111100」である。この場合、図8に示すメインセクタ23aのアドレス[001]に格納されたデータ列「00001111」が、参照データ列RRDとして読み出される。
そして、図9に示すように、参照データ列RRDとライトデータ列WDTが比較される。この場合、参照データ列RRDにおいて一点鎖線で囲む2つのビット「00」が、ライトデータ列WDTでは「11」である。また、参照データ列RRDにおいて二点鎖線で囲む2つのビット「11」が、ライトデータ列WDTでは「00」である。従って、ライトデータ列WDTにおいて一点鎖線で囲む2つのビット「11」は、メインセクタ23aのデータを、論理値「0」から論理値「1」へ書き換えるデータであり、「1変更データ」である。
従って、ライトデータ列WDTを、図10左側に示すように、「1変更データ」を含まないデータ列WD1(ビット配列は「00001100」)と、図10右側に示すように、「1変更データ」の位置に論理値「0」を書き込むデータ列WD2(ビット配列は「11001111」)とに分割する。
図11に示すように、メインセクタ23aのアドレス[001]に、補助セクタ23cのアドレス「000」を割り当てる。そして、メインセクタ23aのアドレス[001]に、図10に示すデータ列WD1を書き込み、補助セクタ23cのアドレス[000]に、図10に示すデータ列WD2を書き込む。
次に、読み出し動作にけるデータの一例を説明する。
図12に示すように、メインセクタ23aのアドレス[001]に、補助セクタ23cのアドレス「000」が割り当てられている。メインセクタ23aのアドレス[001]にはデータ列「00001100」が記憶され、補助セクタ23cのアドレス[000]にはデータ列「11001111」が記憶されている。メインセクタ23aのアドレス[001]のデータ列がリードデータ列RD1として読み出される。補助セクタ23cのアドレス[000]のデータ列が補助データ列RD2として読み出される。この補助データ列RD2は、論理反転されて反転データ列RD2xとされる。そして、リードデータ列RD1と反転データ列RD2xが合成(論理和)されたリードデータ列RDTが出力される。
以上記述したように、本実施形態によれば、以下の効果を奏する。
(1)制御回路22は、メモリセルの状態を書き込み状態から消去状態に変更する「1変更データ」がライトデータ列WDTに含まれるか否かを判定する。ライトデータ列WDTに「1変更データ」が含まれる場合、制御回路22は、ライトデータ列WDTから、「1変更データ」ではない位置のデータをメインセクタMSmに書き込み、「1変更データ」である位置のデータを論理反転して補助セクタMSsに書き込む。「1変更データ」を論理反転したデータは、論理値「0」であるため、補助セクタMSsにおいて消去動作は発生しない。このように、論理値「0」を論理値「1」に変更するデータを含むライトデータ列WDTを、メインセクタMSmと補助セクタMSsに書き込む。この結果、論理値「0」を論理値「1」に変更するデータを含むライトデータ列WDTについて、消去動作を伴わない書き込み動作とすることで、消去回数を低減することができる。
(2)制御回路22は、「1変更データ」である位置のデータを論理反転して補助セクタMSsに書き込む。この処理は、外部(例えば、図1に示す処理装置11)に対して、メインセクタMSmに記憶したデータを、データ列の単位、又はビット単位で消去する処理を提供する。つまり、データ列単位又はビット単位の消去動作を可能とすることができる。
(3)記憶装置13は、「1変更データ」を含むライトデータ列WDTの書き込みに対して消去動作を伴わない。従って、消去動作を伴うメモリにおいて書き込みに要する時間と比べ、記憶装置13の書き込みに要する時間は短い。このように、「1変更データ」を含むライトデータ列WDTの書き込みに要する時間を短縮することができる。
(4)「1変更データ」を含むライトデータ列WDTの書き込み、即ちデータを「0」から「1」に書き換える処理毎に消去動作を伴わないため、メモリ23の消去回数の制約を緩和することができ、ひいてはメモリ23の寿命を延ばすことができる。
尚、上記各実施形態は、以下の態様で実施してもよい。
・上記実施形態に対し、各セクタの数やセクタの大きさを適宜変更してもよい。例えば、外部アドレスADRに対するセクタの数を適宜変更してもよい。メインセクタと補助セクタの数を適宜変更してもよい。また、メインセクタの数と補助セクタの数を、互いに異なる値に設定してもよい。
例えば、図13(a)に示すように、外部アドレスADRは、2つの論理セクタ71a,71bを示す論理アドレスである。外部アドレスADRは、第1の論理セクタ71aを示す第1の外部アドレスADRaと、第2の論理セクタ71bを示す第2の外部アドレスADRbを含む。
メモリ81は、論理セクタ71a,71bに応じたメモリ容量に設定された4つのメインセクタ81a,81b,81c,81dと、所定のメモリ容量に設定された3つの補助セクタ81e,81f,81gを含む。各補助セクタ81e〜81gのメモリ容量は、例えばメインセクタ81a〜81dのメモリ容量の2分の1に設定されている。
アドレス変換部91は、メインセクタ81a〜81dに対応するメインテーブル91a〜91dと、補助セクタ81e〜81gに対応する補助テーブル91e〜91gを含む。
例えば、メインセクタ81aがメインテーブル91aに登録され、メインセクタ81bがメインテーブル91bに登録されている。
図13(b)に示すように、外部アドレスADRaは、メインテーブル91aに格納されたアドレス変換情報に従ってメインセクタ81aを示す内部アドレスAD1aへ変換される。メモリ81は、内部アドレスAD1aに従って、ライトデータ列WDTをメインセクタ81aに記憶する。また、メモリ81は、内部アドレスAD1に従って、メインセクタ81aからデータ列を読み出し、リードデータ列RDTを出力する。
同様に、外部アドレスADRbは、メインテーブル91bに格納されたアドレス変換情報に従ってメインセクタ81bを示す内部アドレスAD1bへ変換される。メモリ81は、内部アドレスAD1bに従って、メインセクタ81bに対してデータ列のリード/ライトを行う。
メインセクタ81aに書き込むライトデータ列に「1変更データ」が含まれる場合、図13(c)に示すように、補助セクタ81eをメインセクタ81aに割り当て、アドレス変換情報を補助セクタ81eに対応する補助テーブル91eに登録する。メインセクタ81aにおいてハッチングを付した部分は、補助セクタ81eが割り当てられた領域を示す。外部アドレスADRaは、メインテーブル91aによって内部アドレスAD1aへ変換されるとともに、補助テーブル91eによって内部アドレスAD2aへ変換される。「1変更データ」を含むライトデータ列は、「1変更データ」を含まない第1のライトデータ列と、「1変更データ」の位置に応じたデータを含む第2のライトデータ列とに分割される。そして、第1のライトデータ列は、内部アドレスAD1aに従ってメインセクタ81aに書き込まれ、第2のライトデータ列は、内部アドレスAD2aに従って補助セクタ81eに書き込まれる。
同様に、メインセクタ81bに書き込むライトデータ列に「1変更データ」が含まれる場合、図14(a)に示すように、補助セクタ81fをメインセクタ81bに割り当て、アドレス変換情報を補助セクタ81fに対応する補助テーブル91fに登録する。メインセクタ81bにおいてハッチングを付した部分は、補助セクタ81fが割り当てられた領域を示す。外部アドレスADRbは、メインテーブル91bによって内部アドレスAD1bへ変換されるとともに、補助テーブル91fによって内部アドレスAD2bへ変換される。「1変更データ」を含むライトデータ列は、「1変更データ」を含まない第1のライトデータ列と、「1変更データ」の位置に応じたデータを含む第2のライトデータ列とに分割される。そして、第1のライトデータ列は、内部アドレスAD1bに従ってメインセクタ81bに書き込まれ、第2のライトデータ列は、内部アドレスAD2bに従って補助セクタ81fに書き込まれる。
メインセクタ81aに対する書き込み完了信号、又は完了を検知すると、メインセクタ81aと補助セクタ81eのデータがメインセクタ81cに転送される。全てのデータの転送が終了すると、図14(b)に示すように、メインセクタ81cに対応するメインテーブル91cにアドレス変換情報が登録される。その結果、外部アドレスADRaは、メインテーブル91cによって内部アドレスAD1aへ変換され、内部アドレスAD1aによってメインセクタ81cがアクセスされる。
同様に、メインセクタ81bに対する書き込み完了信号、又は完了を検知すると、メインセクタ81bと補助セクタ81fのデータがメインセクタ81dに転送される。全てのデータの転送が終了すると、図14(c)に示すように、メインセクタ81dに対応するメインテーブル91dにアドレス変換情報が登録される。その結果、外部アドレスADRbは、メインテーブル91dによって内部アドレスAD1bへ変換され、内部アドレスAD1bによってメインセクタ81dがアクセスされる。
・補助セクタの大きさ(記憶容量)を適宜変更してもよい。例えば、メインセクタに対する書き換えが少ない場合、補助セクタを小さく設定することで、メモリ23の大きさ(面積)を小さくすることができる。
・上記実施形態では、ヒット情報として外部アドレスADRを読出リスト32に格納するようにした。ヒット情報は、外部アドレスADR以外でもよい。ヒット情報には、例えば、メインテーブル31a,31bを用いて外部アドレスADRを変換した内部アドレスAD1、補助テーブル31c,31dを用いて外部アドレスADRを変換した内部アドレスAD2、補助データが格納されたセクタ(補助セクタ)を示すセクタ情報(例えばセクタアドレス)、等を用いることができる。
・上記実施形態に対し、ライトデータ列WDTと参照データ列RRDとの比較結果に応じて、書き換えが必要な位置(ビット)のデータを、例えばビット操作により変更するようにしてもよい。
・上記実施形態に対し、メインセクタ23a,23bから読み出したデータ列RD1をデータ合成部35に供給し、補助セクタ23c,23dから読み出したデータ列RD2をデータ反転部34に供給して反転したデータ列をデータ合成部35に供給するようにしてもよい。
・メインセクタMSmのメモリ容量と等しい揮発性のメモリ(例えば、DRAM)を備え、メインセクタMSmのデータと補助セクタMSsのデータを揮発性のメモリに転送し、メインセクタMSm及び補助セクタMSsのデータを消去した後、揮発性のメモリのデータをメインセクタMSmに書き込むようにしてもよい。
・書込終了信号WCSは、例えば、電子機器10の電源をオフするときに生成する信号、記憶装置13をバス12から電気的又は物理的に切り離すときに生成する信号、電子機器10のリセット信号、電子機器10に含まれる回路の一部の回路の動作を停止等の状態に設定するためのスタンバイ信号、等を用いることができる。
・複数の補助セクタを含むメモリに対応する制御回路は、補助セクタの割り当て状況に応じて、転送処理を制御するようにしてもよい。例えば、次の書き込みアクセスにおいて割り当てるべき補助セクタの残数がある閾値以下になる、または無くなった段階で、制御回路は新たなデータ列の書き込みの受付を停止し、転送処理を実行する。この場合、書き込み完了信号を外部から供給することなく転送処理が実行されるため、外部の回路(例えば、図1に示す処理装置11)の処理の増加を抑制することができる。
・電子機器10は、フラッシュメモリを用いる他の装置、例えば、録音装置、デジタルスチルカメラ、デジタルビデオカメラ、携帯電話、携帯型音楽再生装置、等としてもよい。
・上記実施形態は、バス12に接続された記憶装置13としたが、カード型の記憶装置、電子機器に外部接続される記憶装置、等のように、インタフェース回路等に接続される記憶装置に具体化してもよい。
22 制御回路
23 メモリ(フラッシュメモリ)
23a〜23d セクタ
31 アドレス変換部
31a〜31d テーブル
36 データ分解部
ADR 外部アドレス
MSm セクタ(第1の記憶領域)
MSs セクタ(第2の記憶領域)
RDT,RD1,RD2 リードデータ列
WDT,WD1,WD2 ライトデータ列
RRD 参照データ列

Claims (9)

  1. データ列の書き込み要求に応答して、前記データ列において論理値「0」のデータである第1データから論理値「1」のデータである第2データへの書き換えが発生するか否かを判定し、
    前記データ列において前記第1データから前記第2データへの書き換えが発生しない位置のデータを第1の記憶領域に書き込み、
    前記データ列において前記第1データから前記第2データへの書き換えが発生する位置の前記第2データを、前記第1の記憶領域と異なる第2の記憶領域に対して前記第1データとして書き込む、
    ことを特徴とするメモリの制御方法。
  2. 読み出し要求に応答して、前記第1の記憶領域からデータ列を読み出し、
    前記第1の記憶領域から読み出したデータ列に対応して前記第2の記憶領域に記憶されたデータ列を論理反転したデータ列と、前記第1の記憶領域から読み出したデータ列とを合成したデータ列を、前記読み出し要求に対するデータ列として出力する、
    請求項1記載のメモリの制御方法。
  3. 読み出し要求に応答して、前記第1の記憶領域からデータ列を読み出し、
    前記読み出し要求に応答して、前記第2の記憶領域からデータ列を読み出し、
    前記第2の記憶領域から読み出した前記データ列を論理反転したデータ列と前記第1の記憶領域から読み出した前記データ列とを合成したデータ列を、前記読み出し要求に対するデータ列として出力する、
    請求項1記載のメモリの制御方法。
  4. 前記書き込み要求の前記データ列の書き込み先のデータ列を前記メモリから読み出し、
    前記書き込み要求の前記データ列と前記メモリから読み出したデータ列とを比較して前記第1データから前記第2データへの書き換えが発生するか否かを判定する、
    請求項1〜3のうちの何れか一項に記載のメモリの制御方法。
  5. 前記書き込み要求の前記データ列の書き込み先に対して前記第2の記憶領域にデータが記憶されていない場合には、前記第1の記憶領域から読み出したデータ列と前記書き込み要求の前記データ列と比較して前記第1データから前記第2データへの書き換えが発生するか否かを判定し、
    前記書き込み先に対して前記第2の記憶領域にデータが記憶されている場合には、前記第2の記憶領域のデータ列を反転したデータ列と、前記第1の記憶領域から読み出したデータ列とを合成して参照データ列を生成し、
    前記書き込み要求の前記データ列と前記参照データ列とを比較して前記第1データから前記第2データへの書き換えが発生するか否かを判定する、
    請求項1〜3のうちの何れか一項に記載のメモリの制御方法。
  6. 第1の記憶領域に記憶されたデータに対する書き込み要求に対して、論理値「0」のデータである第1データから論理値「1」のデータである第2データへの書き換えが発生するか否かを判定し、
    前記書き込み要求に応じたデータのうち、前記第1データから前記第2データへの書き換えが発生しない位置のデータを前記第1の記憶領域に書き込み、
    前記書き込み要求に応じたデータのうち、前記第1データから前記第2データへの書き換えが発生する位置の前記第2データを前記第1データとして前記第1の記憶領域と異なる第2の記憶領域に書き込む、
    ことを特徴とするメモリの制御方法。
  7. データ列の書き込み要求に応答して、前記データ列において論理値「0」のデータである第1データから論理値「1」のデータである第2データへの書き換えが発生するか否かを判定し、判定結果に応じて前記データ列を、前記データ列において前記第1データから前記第2データへの書き換えが発生しない位置のデータを含む第1のライトデータと、前記書き換えが発生する位置に前記第1データを書き込むための第2のライトデータと、に分解するデータ分解部と、
    前記書き込み要求に応答して、外部アドレスを前記第1のライトデータを第1の記憶領域に書き込むための第1の内部アドレスへ変換し、前記外部アドレスを前記第2のライトデータを前記第1の記憶領域と異なる第2の記憶領域に書き込むための第2の内部アドレスへ変換するアドレス変換部と、
    を有するメモリの制御回路。
  8. 不揮発性のメモリと、
    前記メモリに対するアクセスを制御する制御回路と、
    を有し、
    前記制御回路は、
    データ列の書き込み要求に応答して、前記データ列において論理値「0」のデータである第1データから論理値「1」のデータである第2データへの書き換えが発生するか否かを判定し、判定結果に応じて前記データ列を、前記データ列において前記第1データから前記第2データへの書き換えが発生しない位置のデータを含む第1のライトデータと、前記書き換えが発生する位置に前記第1データを書き込むための第2のライトデータと、に分解するデータ分解部と、
    前記書き込み要求に応答して、外部アドレスを前記第1のライトデータを第1の記憶領域に書き込むための第1の内部アドレスへ変換し、前記外部アドレスを前記第2のライトデータを前記第1の記憶領域と異なる第2の記憶領域に書き込むための第2の内部アドレスへ変換するアドレス変換部と、
    を含む、記憶装置。
  9. 不揮発性の記憶装置と、
    前記記憶装置に対してデータ列を書き込む処理装置と、
    を含み、
    前記記憶装置は、
    不揮発性のメモリと、
    前記メモリに対するアクセスを制御する制御回路と、
    を有し、
    前記制御回路は、
    データ列の書き込み要求に応答して、前記データ列において論理値「0」のデータである第1データから論理値「1」のデータである第2データへの書き換えが発生するか否かを判定し、判定結果に応じて前記データ列を、前記データ列において前記第1データから前記第2データへの書き換えが発生しない位置のデータを含む第1のライトデータと、前記書き換えが発生する位置に前記第1データを書き込むための第2のライトデータと、に分解するデータ分解部と、
    前記書き込み要求に応答して、外部アドレスを前記第1のライトデータを第1の記憶領域に書き込むための第1の内部アドレスへ変換し、前記外部アドレスを前記第2のライトデータを前記第1の記憶領域と異なる第2の記憶領域に書き込むための第2の内部アドレスへ変換するアドレス変換部と、
    を含む、電子機器。
JP2011050372A 2011-03-08 2011-03-08 メモリの制御方法、メモリの制御回路、記憶装置、及び電子機器 Active JP5614337B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011050372A JP5614337B2 (ja) 2011-03-08 2011-03-08 メモリの制御方法、メモリの制御回路、記憶装置、及び電子機器
US13/352,436 US8812767B2 (en) 2011-03-08 2012-01-18 Method of controlling memory, memory control circuit, storage device and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011050372A JP5614337B2 (ja) 2011-03-08 2011-03-08 メモリの制御方法、メモリの制御回路、記憶装置、及び電子機器

Publications (2)

Publication Number Publication Date
JP2012190055A JP2012190055A (ja) 2012-10-04
JP5614337B2 true JP5614337B2 (ja) 2014-10-29

Family

ID=46797114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011050372A Active JP5614337B2 (ja) 2011-03-08 2011-03-08 メモリの制御方法、メモリの制御回路、記憶装置、及び電子機器

Country Status (2)

Country Link
US (1) US8812767B2 (ja)
JP (1) JP5614337B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491327B (zh) * 2017-07-31 2021-03-23 郑州众智科技股份有限公司 一种基于发电机组控制器自定义字符串的写入方法
KR20220099639A (ko) * 2021-01-07 2022-07-14 에스케이하이닉스 주식회사 Dbi 회로 및 그것을 포함하는 메모리 장치

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3587204B2 (ja) 1991-11-28 2004-11-10 株式会社日立製作所 記憶装置
US5822781A (en) 1992-10-30 1998-10-13 Intel Corporation Sector-based storage device emulator having variable-sized sector
JP3706167B2 (ja) 1995-02-16 2005-10-12 株式会社ルネサステクノロジ 半導体ディスク装置
JP3604466B2 (ja) 1995-09-13 2004-12-22 株式会社ルネサステクノロジ フラッシュディスクカード
JP3703181B2 (ja) 1995-09-28 2005-10-05 キヤノン株式会社 フラッシュrom管理方法及び装置
JP3797649B2 (ja) 1999-05-31 2006-07-19 シャープ株式会社 不揮発性半導体記憶装置
JP4280055B2 (ja) 2001-11-28 2009-06-17 株式会社Access メモリ制御方法および装置
JP3892751B2 (ja) 2002-04-23 2007-03-14 日本電信電話株式会社 Icカードに搭載されたフラッシュメモリの管理方法及びシステム
JP2005242897A (ja) 2004-02-27 2005-09-08 Oki Electric Ind Co Ltd フラッシュディスク装置
JP2005339450A (ja) * 2004-05-31 2005-12-08 Pentel Corp フラッシュメモリのデータ管理方式
JP4829202B2 (ja) 2007-11-02 2011-12-07 株式会社日立製作所 記憶装置及びメモリ制御方法
JP4785819B2 (ja) * 2007-11-07 2011-10-05 株式会社コナミデジタルエンタテインメント 記憶装置、記憶方法、ならびに、プログラム
WO2009107393A1 (ja) * 2008-02-29 2009-09-03 パナソニック株式会社 アクセス装置、情報記録装置、コントローラ、及び情報記録システム
US8275970B2 (en) * 2008-05-15 2012-09-25 Microsoft Corp. Optimizing write traffic to a disk
TWI408688B (zh) * 2009-10-12 2013-09-11 Phison Electronics Corp 用於快閃記憶體的資料寫入方法及其控制器與儲存系統

Also Published As

Publication number Publication date
US8812767B2 (en) 2014-08-19
JP2012190055A (ja) 2012-10-04
US20120233379A1 (en) 2012-09-13

Similar Documents

Publication Publication Date Title
US10248328B2 (en) Direct data move between DRAM and storage on a memory module
JP5736439B2 (ja) ソリッドステート記憶装置におけるトランスレーションレイヤ
TWI770218B (zh) 記憶體系統及其操作方法
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
US7529879B2 (en) Incremental merge methods and memory systems using the same
US20090089484A1 (en) Data protection method for power failure and controller using the same
JP2006031696A (ja) バッドブロック管理部を含むフラッシュメモリシステム
TW201314450A (zh) 資訊處理裝置、半導體記憶裝置及半導體記憶裝置之控制方法
JP2011522350A (ja) ハイブリッドメモリ管理
CN107710175B (zh) 存储器模块以及操作系统和方法
US9619380B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
KR20080007470A (ko) Mram을 이용하는 비휘발성 메모리 시스템
KR20100094241A (ko) 예비 블록을 포함하지 않는 불휘발성 메모리 장치
TWI727160B (zh) 具反及型緩衝器之反及型快閃記憶體儲存裝置
JP2013033337A (ja) 情報処理装置及び半導体記憶装置
JP2007034581A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP5614337B2 (ja) メモリの制御方法、メモリの制御回路、記憶装置、及び電子機器
US11182284B2 (en) Memory module having volatile and non-volatile memory subsystems and method of operation
JP2011203771A (ja) 不揮発性記憶装置および不揮発性メモリコントローラ
JP4558054B2 (ja) メモリシステム
JP4177292B2 (ja) メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4273106B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2008097339A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP2006178909A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP7118827B2 (ja) 情報処理装置、メモリ制御方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140728

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: 20140812

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140825

R150 Certificate of patent or registration of utility model

Ref document number: 5614337

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350