JP4713867B2 - メモリコントローラ,メモリ装置及びメモリコントローラの制御方法 - Google Patents

メモリコントローラ,メモリ装置及びメモリコントローラの制御方法 Download PDF

Info

Publication number
JP4713867B2
JP4713867B2 JP2004275651A JP2004275651A JP4713867B2 JP 4713867 B2 JP4713867 B2 JP 4713867B2 JP 2004275651 A JP2004275651 A JP 2004275651A JP 2004275651 A JP2004275651 A JP 2004275651A JP 4713867 B2 JP4713867 B2 JP 4713867B2
Authority
JP
Japan
Prior art keywords
data
write
memory
unit
writing
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
JP2004275651A
Other languages
English (en)
Other versions
JP2006092169A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004275651A priority Critical patent/JP4713867B2/ja
Priority to US11/230,600 priority patent/US7739443B2/en
Publication of JP2006092169A publication Critical patent/JP2006092169A/ja
Application granted granted Critical
Publication of JP4713867B2 publication Critical patent/JP4713867B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、メモリコントローラ及びその制御方法に関し、特にNAND型フラッシュメモリ等の不揮発性半導体記憶装置を内蔵したメモリカード或いはメモリ装置に関する。
フラッシュメモリのようなメモリ部品には、それにデータを書き込む場合、一度に書き込めるデータ量が固定されているものがある。また、ファイルシステムを持つコンピュータのような上位装置では、書き込むデータ量の単位がメモリ部品とは別に決まっている。例えば、メモリ部品の書き込み単位が2048バイト、上位装置の書き込み単位が512バイトのように、メモリ部品側の書き込み単位の方が上位装置(メモリカードを利用する装置:ホスト)の書き込み単位より大きい場合がある。
このように大きい書き込み単位のメモリ部品を内蔵したメモリカード等のメモリ装置は、上位装置からの書き込み指示に対応するため、小さい単位のデータ書き込みでも処理できなければならない。
上位装置のデータ書き込み単位が小さく(例えば512バイト)、不揮発性メモリ部品のデータ書き込み可能単位が大きい(例えば2048バイト)状態において、上位装置から不揮発性メモリ部品に小さい単位のデータD1を書き込み、そのデータ書き込みが完了した後、データD1が書き込まれたページの次のエリア位置に小さい単位のデータD2を書く場合を考える。フラッシュメモリには、ページを分割してデータを書き込むことが許されていないものがある。この場合、そのフラッシュメモリは、データD1を含むブロックからデータD1以外のデータを新たなブロックにコピーし、その新たなブロックにデータD1,D2を書き込まなければならない。以下では、便宜上、このような処理を「巻き添え引越し」と呼ぶ。この「巻き添え引越し」は書き換えられないデータのコピー動作を伴うため、「巻き添え引越し」が多発すると、メモリ装置の書き込み性能を下げてしまう。したがって、不揮発性メモリ部品として一般的に使われているフラッシュメモリには、ライト処理に長い時間が掛かるという問題点があった。
なお、特許文献1には、メモリコントローラの制御により、ホストからの書き込みデータを、一旦不揮発性メモリに取り込んで処理を行ない、停電等による処理中断後の装置立ち上げの際は、キャッシュメモリに書き戻す、高速書き込み方式が開示されている。
特開平5−151094号公報
本発明は、大きなデータ書き込み単位を有するNAND型フラッシュメモリ等の不揮発性半導体記憶装置を内蔵したメモリカード或いはメモリ装置において、上位装置のデータ書き込み単位が小さい場合においても書き込み性能を向上できるメモリコントローラ及びその制御方法及びメモリ装置を提供する。
一態様によれば、第2のデータ書き込み単位でデータを書き込み、かつ複数の第2のデータ書き込み単位を含む消去単位でデータを消去する不揮発性半導体メモリを制御するメモリコントローラにおいて、ホスト機器に接続され、前記ホスト機器から第1のデータ書き込み単位を有する受信データを受信するホストインタフェースと、前記第1のデータ書き込み単位を有する受信データよりも大きなサイズの前記第2のデータ書き込み単位を有するデータが書き込まれる前記不揮発性半導体メモリに接続されるメモリインタフェースと、前記メモリインタフェースを介して前記不揮発性半導体メモリの一時書き込みブロックに前記受信データを前記第1のデータ書き込み単位の書き込みデータとして書き込み、前記受信データの全データ量が前記第2のデータ書き込み単位のデータ量に達した際に、当該受信データに含まれる複数の前記第1のデータ書き込み単位の書き込みデータを前記一時書き込みブロックから読み出し、読み出された前記複数の前記第1のデータ書き込み単位の書き込みデータを前記一時書き込みブロックとは別のターゲットブロックに前記第2のデータ書き込み単位で書き込む中央演算処理装置
とを備えるメモリコントローラが提供される。
他の態様によれば、第2のデータ書き込み単位でデータを書き込み、かつ複数の第2のデータ書き込み単位を含む消去単位でデータを消去する不揮発性半導体メモリを制御するメモリコントローラにおいて、ホスト機器に接続され、前記ホスト機器から第1のデータ書き込み単位を有する受信データを受信するホストインタフェースと、前記第1のデータ書き込み単位を有する受信データよりも大きなサイズの前記第2のデータ書き込み単位を有するデータが書き込まれる前記不揮発性半導体メモリに接続されるメモリインタフェースと、前記第1のデータ書き込み単位を有する受信データを記憶し、かつランダムアクセス可能な不揮発性キャッシュメモリと、前記ホストインタフェースを介して前記不揮発性キャッシュメモリに前記受信データを前記第1のデータ書き込み単位の書き込みデータとして書き込み、前記受信データの全データ量が前記第2のデータ書き込み単位のデータ量に達した際に、当該受信データに含まれる複数の前記第1のデータ書き込み単位の書き込みデータを前記不揮発性キャッシュメモリから読み出し、読み出された前記複数の前記第1のデータ書き込み単位の書き込みデータを、前記メモリインタフェースを介して、前記不揮発性半導体メモリのターゲットブロックに前記第2のデータ書き込み単位で書き込む中央演算処理装置と、前記中央演算処理装置によって用いられる制御プログラムを格納するROMと、前記中央演算処理装置の作業エリアとして使用され、各種のテーブルを記憶するRAMとを備えるメモリコントローラが提供される。
他の態様によれば、第1のデータ書き込み単位を有する受信データを送信するホスト機器に接続されるメモリ装置であって、ターゲットブロックとメモリ管理情報を記憶する管理ブロックとを備え、第2のデータ書き込み単位でデータを書き込み、かつ複数の第2のデータ書き込み単位を含む消去単位でデータを消去する不揮発性半導体メモリと、ホスト機器に接続され、第1のデータ書き込み単位を有する受信データを受信するホストインタフェースと、前記第1のデータ書き込み単位を有する受信データよりも大きなサイズの前記第2のデータ書き込み単位を有するデータが書き込まれる前記不揮発性半導体メモリに接続されるメモリインタフェースと、前記メモリインタフェースを介して前記不揮発性半導体メモリの一時書き込みブロックに前記受信データを前記第1のデータ書き込み単位の書き込みデータとして書き込み、前記受信データの全データ量が前記第2のデータ書き込み単位のデータ量に達した際に、当該受信データに含まれる複数の前記第1のデータ書き込み単位の書き込みデータを前記一時書き込みブロックから読み出し、読み出された前記複数の前記第1のデータ書き込み単位の書き込みデータを前記一時書き込みブロックとは別の前記ターゲットブロックに前記第2のデータ書き込み単位で書き込む中央演算処理装置とを有するメモリコントローラとを備えるメモリ装置が提供される。
他の態様によれば、第2のデータ書き込み単位でデータを書き込み、かつ複数の第2のデータ書き込み単位を含む消去単位でデータを消去する不揮発性半導体メモリを制御するメモリコントローラの制御方法において、ホストインタフェースを介して、ホスト機器から第1のデータ書き込み単位を有する受信データを受信するステップと、メモリインタフェースを介して、前記第1のデータ書き込み単位を有する受信データよりも大きなサイズの前記第2のデータ書き込み単位を有するデータが書き込まれる前記不揮発性半導体メモリへ、前記受信データを送信するステップと、前記メモリインタフェースを介して、前記不揮発性半導体メモリの一時書き込みブロックに前記受信データを前記第1のデータ書き込み単位を有する書き込みデータとして書き込むステップと、前記受信データの全データ量が前記第2のデータ書き込み単位のデータ量に達した際に、当該受信データに含まれる複数の前記第1のデータ書き込み単位の書き込みデータを前記一時書き込みブロックから読み出すステップと、読み出された前記複数の前記第1のデータ書き込み単位の書き込みデータを前記不揮発性半導体メモリ内の前記一時書き込みブロックとは別のターゲットブロックに前記第2のデータ書き込み単位で書き込むステップとを有するメモリコントローラの制御方法が提供される。
他の態様によれば、第2のデータ書き込み単位でデータを書き込み、かつ複数の第2のデータ書き込み単位を含む消去単位でデータを消去する不揮発性半導体メモリを制御するメモリコントローラの制御方法において、ホストインタフェースを介して、ホスト機器から第1のデータ書き込み単位を有する受信データを受信するステップと、メモリインタフェース介して、前記第1のデータ書き込み単位を有する受信データよりも大きなサイズの前記第2のデータ書き込み単位を有するデータが書き込まれる前記不揮発性半導体メモリへ、前記受信データを送信するステップと、前記ホストインタフェースを介して、メモリコントローラ内の不揮発性キャッシュメモリに前記受信データを前記第1のデータ書き込み単位の書き込みデータとして書き込むステップと、前記受信データの全データ量が前記第2のデータ書き込み単位のデータ量に達した際に、当該受信データに含まれる複数の前記第1のデータ書き込み単位の書き込みデータを前記不揮発性キャッシュメモリから読み出すステップと、読み出された前記複数の前記第1のデータ書き込み単位の書き込みデータを、前記メモリインタフェースを介して、前記不揮発性半導体メモリのターゲットブロックに前記第2のデータ書き込み単位で書き込むステップとを有するメモリコントローラの制御方法が提供される。
他の態様によれば、第1のデータ書き込み単位を有する受信データを送信するホスト機器に接続されるメモリ装置であって、ターゲットブロックとメモリ管理情報を記憶する管理ブロックとを備え、第2のデータ書き込み単位でデータを書き込み、かつ複数の第2のデータ書き込み単位を含む消去単位でデータを消去する不揮発性半導体メモリと、ホスト機器に接続され、第1のデータ書き込み単位を有する受信データを受信するホストインタフェースと、前記第1のデータ書き込み単位を有する受信データよりも大きなサイズの前記第2のデータ書き込み単位を有するデータが書き込まれる前記不揮発性半導体メモリに接続されるメモリインタフェースと、前記第1のデータ書き込み単位を有する受信データを記憶し、かつランダムアクセス可能な不揮発性キャッシュメモリと、前記ホストインタフェースを介して前記不揮発性キャッシュメモリに前記受信データを前記第1のデータ書き込み単位の書き込みデータとして書き込み、前記受信データの全データ量が前記第2のデータ書き込み単位のデータ量に達した際に、当該受信データに含まれる複数の前記第1のデータ書き込み単位の書き込みデータを前記不揮発性キャッシュメモリから読み出し、読み出された前記複数の前記第1のデータ書き込み単位の書き込みデータを、前記メモリインタフェースを介して、前記不揮発性半導体メモリのターゲットブロックに前記第2のデータ書き込み単位で書き込む中央演算処理装置と、前記中央演算処理装置によって用いられる制御プログラムを格納するROMと、前記中央演算処理装置の作業エリアとして使用され、各種のテーブルを記憶するRAMとを有し、前記不揮発性半導体メモリを制御するメモリコントローラとを備えるメモリ装置が提供される。
本発明により、大きなデータ書き込み単位を有するNAND型フラッシュメモリ等の不揮発性半導体記憶装置を内蔵したメモリカード或いはメモリ装置において、上位装置のデータ書き込み単位が小さい場合においても書き込み性能を向上できるメモリコントローラ及びその制御方法を提供することができる。
次に、図面を参照して、本発明の第1及び第3の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。又、以下に示す第1及び第2の実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
本発明の第1乃至第3の実施の形態に係るメモリコントローラ及びその制御方法においては、メモリカード等のメモリ装置内において、上位装置からの小さい単位のデータの書き込み指示に対し、データを本来書くべき不揮発性メモリ部品のアドレスに直ぐには書き込まず、不揮発性メモリの他の領域、或いはメモリコントローラ内に配置した不揮発性キャッシュメモリに一時的に書き込んでおき、上位装置から連続的なアドレスへ書き込み指示が送られた場合に、不揮発性メモリ部品の書き込みデータ単位に達したら、不揮発性メモリの他の領域、或いはメモリコントローラ内に配置した不揮発性キャッシュメモリに一時的に書き込んであったデータを本来書き込むべき不揮発性メモリ部品の領域へ書き込む。この処理により、「巻き添え引越し処理」を減らし、メモリ装置の書き込み性能を向上する。
[第1の実施の形態]
本発明の第1の実施の形態に係るメモリコントローラは、図1に示すように、ホスト機器20に接続され、ホスト機器20から第1のデータ書き込み単位を有する受信データを受信するホストインタフェース(I/F)6と、第1のデータ書き込み単位よりも大きな第2のデータ書き込み単位を有するNAND型フラッシュメモリ3に接続され、NAND型フラッシュメモリ3に対して第1のデータ書き込み単位を有する書き込みデータを送信するメモリインタフェース(I/F)5と、メモリインタフェース5を介してNAND型フラッシュメモリ3の一時書き込みブロックに受信データを書き込みデータとして書き込み、ホストインタフェース6が受信した複数の受信データが第2のデータ書き込み単位のエリアデータに達した際に、そのエリアデータに対応する書き込みデータを一時書き込みブロック(Bブロック)12から読み出し、読み出された書き込みデータを含むエリアデータを一時書き込みブロック(Bブロック)12とは別のターゲットブロック(Aブロック)11に書き込む中央演算処理装置(CPU)8とを備える。CPU8は、NAND型フラッシュメモリ3の管理ブロック13に記憶するメモリ管理情報を読み出して、書き込みデータのアドレスを決定する。或いは又、後述するように、一時書き込みブロック(Bブロック)12内のページアドレス情報と、ターゲットブロック(Aブロック)11内の書き込み先のページアドレス情報をNAND型フラッシュメモリ3内の所定の記憶領域に記憶しても良い。
(メモリ装置)
本発明の第1の実施の形態に係るメモリコントローラ4のメモリカードへの適用例は、図1に示す様に表される。図1は、ホスト機器20とメモリカード1を含む構成を示すブロック図である。ホスト機器20は、接続されるメモリカード1に対してアクセスを行うためのハードウェア及びソフトウェア(システム)を備えている。
メモリカード1は、ホスト機器20に接続されたときに電源供給を受けて動作し、ホスト機器20からのアクセスに応じた処理を行う。このメモリカード1は、本発明の第1の実施の形態に係るメモリコントローラ4を備える。
本発明の第1の実施の形態に係るメモリコントローラ4をメモリカード1等のメモリ装置へ適用した構成例は、図1を参照して説明すると、第1のデータ書き込み単位を有する送信データを送信するホスト機器20に接続されるメモリ装置であって、一時書き込みブロック(Bブロック)12と、一時書き込みブロック(Bブロック)12とは別のターゲットブロック(Aブロック)11とを備え、第1のデータ書き込み単位よりも大きな第2のデータ書き込み単位を有するNAND型フラッシュメモリ3等の不揮発性半導体メモリと、ホスト機器20に接続され,第1のデータ書き込み単位を有する受信データを受信するホストインタフェース6と、NAND型フラッシュメモリ3に接続され,NAND型フラッシュメモリ3に対して第1のデータ書き込み単位を有する書き込みデータを送信するメモリインタフェース5と、メモリインタフェース5を介してNAND型フラッシュメモリ3の一時書き込みブロック(Bブロック)12に受信データを書き込みデータとして書き込み,ホストインタフェース6が受信した複数の受信データが第2のデータ書き込み単位のエリアデータに達した際に,エリアデータに対応する書き込みデータを一時書き込みブロック(Bブロック)12から読み出し,読み出された書き込みデータを含むエリアデータをターゲットブロック(Aブロック)11に書き込む中央演算処理装置8とを備えるメモリコントローラ4とを備える。
NAND型フラッシュメモリ3は、例えば、消去時の消去ブロックサイズ(消去単位のブロックサイズ)が256kバイトに定められている不揮発性メモリである。このNAND型フラッシュメモリ3は、例えば0.09μmプロセス技術を用いて製作される。即ち、NAND型フラッシュメモリ3のデザインルールは、0.1μm未満となっている。また、メモリカード1を実用上有効な製品とするためには、NAND型フラッシュメモリ3の記憶容量は1Gバイト以上であることが望ましい。
(メモリコントローラ)
本発明の第1の実施の形態に係るメモリコントローラ4は、CPU8及びROM9の他に、メモリインタフェース5、ホストインタフェース6、バッファメモリ7、及びRAM10を搭載している。このメモリコントローラ4は、NAND型フラッシュメモリ3内部の物理状態(何処の物理ブロックアドレスに、何番目の論理セクタアドレスデータが含まれているか、或いは、何処のブロックが消去状態であるか)を管理するものとして構築されている。
メモリI/F5は、メモリコントローラ4とNAND型フラッシュメモリ3との間のインタフェース処理を行うものである。ホストI/F6は、メモリコントローラ4とホスト機器20との間のインタフェース処理を行うものである。
バッファメモリ7は、ホスト機器20から送られてくるデータをNAND型フラッシュメモリ3へ書き込む際に、一定量のデータ(例えば1ページ分)を一時的に記憶したり、NAND型フラッシュメモリ3から読み出されるデータをホスト機器20へ送り出す際に、一定量のデータを一時的に記憶したりするものである。
CPU8は、メモリカード1全体の動作を制御する。CPU8は、例えば、メモリカード1が電源供給を受けた際に、ROM9の中に格納されている制御プログラム等のファームウェアに従って所定の処理を実行することにより、各種のテーブルをRAM10上で作成したり、ホスト機器20から書き込みコマンド,読み出しコマンド,消去コマンドを受けてNAND型フラッシュメモリ3のNANDメモリセル領域上の該当領域に対するアクセスを実行したり、バッファメモリ7を通じたデータ処理を制御したりする。
ROM9は、CPU8により使用される制御プログラム等を格納するメモリである。
RAM10は、CPU8の作業エリアとして使用され、各種のテーブルを記憶するメモリである。
(NAND型フラッシュメモリ)
本発明の第1の実施の形態に適用するNAND型フラッシュメモリ3の構造は、図1内に示すように、連続書き込みデータをメモリインタフェース5を介して一時的に記憶する一時書き込みブロック(Bブロック)12と、一時書き込みブロック(Bブロック)12からのエリアデータをページ単位で書き込むターゲットブロック(Aブロック)11と、メモリ管理情報を記憶する管理ブロック13とを備える。14,15は空ページを表示している。
図2は、フラッシュメモリ(即ち、メモリカード1内のNAND型フラッシュメモリ3)のデータ配置を示している。フラッシュメモリ3の各ページは、2112バイト(512バイト分のデータ記憶部×4+10バイト分の冗長部×4+24バイト分の管理データ記憶部)を有しており、128ページ分が一つの消去単位(即ち、256kバイト+8kバイト)となる。なお、以下の説明においては、便宜上、このフラッシュメモリの消去単位を256kバイトと呼ぶ。NAND型フラッシュメモリ3は、フラッシュメモリへのデータ入出力を行うためのデータレジスタ16を備えている。データ書き込みなどの際には、データレジスタ16は、フラッシュメモリに対するデータ入出力処理を自身の記憶容量に相当する1ページ分の単位で実行する。データレジスタ16の記憶容量は、2112バイト(2048バイト+64バイト)である。このデータレジスタ16の記憶容量がフラッシュメモリのデータ書き込み単位(第2のデータ書き込み単位)に対応する。このNAND型フラッシュメモリ3のデータ書き込み単位に対し、ホスト機器20のデータ書き込み単位(第1のデータ書き込み単位)は、512バイトである。つまり、NAND型フラッシュメモリ3の1ページには、ホスト機器20のデータ書き込み単位4つ分のデータが格納される。
更に又、本発明の第1の実施の形態に適用するNAND型フラッシュメモリ3の構造は、図3及び図5に詳細に説明するように、ホスト機器の書き込み単位(第1のデータ書きこみ単位)21によってそれぞれ4分割された,ページp0,p1,p2,…を備えるターゲットブロック(Aブロック)11と、同様に書き込み単位21によってそれぞれ4分割された,ページq0,q1,q2,…を備える一時書き込みブロック(Bブロック)12とを備える。ターゲットブロック(Aブロック)11と一時書き込みブロック(Bブロック)12は同一のNAND型フラッシュメモリ3のデータ記憶領域を分割して形成することができる。同一のNAND型フラッシュメモリ3ではなく、別々に構成されたNAND型フラッシュメモリ3を用いても良いことは勿論である。例えば、図2において説明した1ページ分のデータ部2048バイトに対しては、4分割することによって512バイトが書き込みページ単位となる。
ターゲットブロック(Aブロック)11の目的エリアと一時書き込みブロック(Bブロック)12の一時エリアとの対応関係は、例えば図4に示すように、メモリ管理テーブルによって関連付けられている。図4の管理テーブルは、図1に示すメモリ管理情報を記憶する管理ブロック13に格納される。但し、図4に示されるような管理テーブルは必須のものではなく、後述する動作例1において説明するように、ページ情報として、NAND型フラッシュメモリ3内の所定の記憶領域に記憶しても良い。
ここで、不揮発性半導体メモリとして、NAND型フラッシュメモリ3の例を説明しているが、NOR型、AND型、2トランジスタ/セル型、3トランジスタ/セル型等の他の形式の不揮発性半導体メモリを適用しても良いことは勿論である。また、不揮発性半導体メモリとして、2値記憶に限らず、4値データ等の多値論理を記憶する方式であっても良いことも勿論である。
(メモリコントローラの制御方法)
本発明の第1の実施の形態に係るメモリコントローラ4の制御方法は、図1を参照して説明すると、ホストインタフェース6において、ホスト機器20から第1のデータ書き込み単位を有する受信データを受信するステップと、メモリインタフェース5において、第1のデータ書き込み単位よりも大きな第2のデータ書き込み単位を有するNAND型フラッシュメモリ3等の不揮発性半導体メモリへ第1のデータ書き込み単位を有する書き込みデータを送信するステップと、メモリインタフェース5を介してNAND型フラッシュメモリ3の一時書き込みブロック(Bブロック)12に受信データを書き込みデータとして書き込むステップと、ホストインタフェース6が受信した複数の受信データが第2のデータ書き込み単位のエリアデータに達した際に、そのエリアデータに対応する書き込みデータを一時書き込みブロック(Bブロック)12から読み出すステップと、読み出された書き込みデータを含むエリアデータをNAND型フラッシュメモリ3内の一時書き込みブロック(Bブロック)12とは別のターゲットブロック(Aブロック)11に書き込むステップとを備える。
(動作例1)
上位装置であるホスト機器20が、本発明の第1の実施の形態に係るメモリコントローラ4を内蔵するメモリカード1に以下の指示を出した時の動作の一例を図3を参照して、説明する。
(a)ホスト機器20が、ターゲットブロック(Aブロック)11内の<エリアa4>にデータD1を書くことをメモリコントローラ4に指示すると、メモリコントローラ4は、そのデータD1を、一時書き込みブロック(Bブロック)12内の<エリアb0>の位置に書き込み、ホスト機器20の指示を完了する。
(b)次に、ホスト機器20が<エリアa5>の位置にデータD2を書くことをメモリコントローラ4に指示すると、メモリコントローラ4は、データD2を一時的に、一時書き込みブロック(Bブロック)12内の<エリアb5>に書き込む。同時に、一時書き込みブロック(Bブロック)12内の<エリアb0>の位置に書き込まれたデータD1を<エリアb4>にコピーして書き込む。
(c)同様に、ホスト機器20が<エリアa6>の位置にデータD3を書くことをメモリコントローラ4に指示すると、メモリコントローラ4はデータD3を一時的に、一時書き込みブロック(Bブロック)12内の<エリアb10>に書き込む。同時に、一時書き込みブロック(Bブロック)12内の<エリアb4>の位置に書き込まれたデータD1を<エリアb8>にコピーして書き込み、<エリアb5>の位置に書き込まれたデータD2を<エリアb9>にコピーして書き込む。
(d)次に、ホスト機器20が<エリアa7>の位置にデータD4を書くことをメモリコントローラ4に指示すると、メモリコントローラ4は、一時書き込みブロック(Bブロック)12内の<エリアb8>,<エリアb9>,<エリアb10>に保持されているデータD1〜D3を読み込み、ターゲットブロック(Aブロック)11内の<エリアa4>〜<エリアa6>に転送する。
(e)続いて、データD4をターゲットブロック(Aブロック)11内の<エリアa7>に転送し、<エリアa4>〜<エリアa7>への書き込みを一回で実施する。
動作例1において、一時書き込みブロック(Bブロック)12内のどのページが最新のページであるかのページアドレス情報と、その最新のページに記憶されたデータをターゲットブロック(Aブロック)11内のどこに書き込むかを表す書き込み先のページアドレス情報については、NAND型フラッシュメモリ3内の所定の記憶領域に記憶しておくことができる。例えば、メモリカード1をホスト機器20から急に引き抜いたために電源がオフになり、再度オンする場合、NAND型フラッシュメモリ3内の所定の記憶領域に記憶しておいたページのデータを読み出すことによって、効率的且つ迅速に再起動することができるからである。
(動作例2)
上位装置であるホスト機器20が、本発明の第1の実施の形態に係るメモリコントローラ4を内蔵するメモリカード1に以下の指示を出した時の動作の別の例を図5を参照して、説明する。
(a)ホスト機器20が、ターゲットブロック(Aブロック)11内の<エリアa4>にデータD1を書くことをメモリコントローラ4に指示すると、メモリコントローラ4は、そのデータD1を、一時書き込みブロック(Bブロック)12内の<エリアb0>の位置に書き込み、ホスト機器20の指示を完了する。
(b)次に、ホスト機器20が<エリアa5>の位置にデータD2を書くことをメモリコントローラ4に指示すると、メモリコントローラ4はデータD2を一時的に、一時書き込みブロック(Bブロック)12内の<エリアb5>に書き込む。
(c)同様に、ホスト機器20が<エリアa6>の位置にデータD3を書くことをメモリコントローラ4に指示すると、メモリコントローラ4はデータD3を一時的に、一時書き込みブロック(Bブロック)12内の<エリアb10>に書き込む。
(d)次に、ホスト機器20が<エリアa7>の位置にデータD4を書くことをメモリコントローラ4に指示すると、メモリコントローラ4は、一時書き込みブロック(Bブロック)12内の<エリアb0>,<エリアb5>,<エリアb10>に保持されているデータD1〜D3を読み込み、ターゲットブロック(Aブロック)11内の<エリアa4>〜<エリアa6>に転送する。
(e)続いて、データD4をターゲットブロック(Aブロック)11内の<エリアa7>に転送し、<エリアa4>〜<エリアa7>への書き込みを一回で実施する。
動作例2において、ページの部分書き込みを禁止するのは、プログラムディスターブを防止するためである。即ち、データD2を<エリアb1>に書かずに<エリアb5>に書いた理由は、データD2の処理の前に<ページq0>の<エリアb0>に書き込みを行なっているので、同じ<ページq0>にある<エリアb1>に対して、2回目の書き込みを行なうことを禁止して、プログラムディスターブを防止することができるからである。或いは又、データD3についても同様である。即ち、データD3を<エリアb6>に書かずに<エリアb10>に書いた理由は、データD3の処理の前に<ページq1>の<エリアb5>に書き込みを行なっているので、同じ<ページq1>にある<エリアb6>に対して、2回目の書き込みを行なうことを禁止して、プログラムディスターブを防止することができるからである。一時的に書き込むデータをRAM等の揮発性のメモリに書き込まずに、NAND型フラッシュメモリ3等の不揮発性メモリに書いている理由は、例えば、ホスト機器20がデータD1を書いた後にメモリカード1の電源をオフにし、その後オンにした時でも、データD1を解読することができるからである。また、この状態で、ホスト機器20がメモリカード1に対して、<エリアa5>のデータD2の読み込みを指示したとき、実際には、図4に示すメモリ管理テーブルに従って、メモリコントローラ4が<エリアb5>のデータD2をホスト機器20に返すという動作を実現することができるからである。
以上のメモリコントローラの制御方法により、ホスト機器20からの小さいデータ書き込み単位、即ち第1のデータ書き込み単位の書き込み指示であって、そのアドレスが連続する場合、「巻き添え引越し」をすることなく、NAND型フラッシュメモリ3等の大きなデータ書き込み単位、即ち第2のデータ書き込み単位を有する不揮発性メモリ部品にデータを効率よく書き込むことができる。
本発明の第1の実施の形態により、大きなデータ書き込み単位を有するNAND型フラッシュメモリ等の不揮発性半導体記憶装置を内蔵したメモリカード或いはメモリ装置において、上位装置のデータ書き込み単位が小さい場合においても書き込み性能を向上できるメモリコントローラ,メモリ装置及びメモリコントローラの制御方法を提供することができる。
[第2の実施の形態]
本発明の第2の実施の形態に係るメモリコントローラ4は、図6に示すように、ホスト機器20に接続され、ホスト機器20から第1のデータ書き込み単位を有する受信データを受信するホストインタフェース6と、第1のデータ書き込み単位を有する受信データを記憶し、かつランダムアクセス可能な不揮発性キャッシュメモリ22と、第1のデータ書き込み単位よりも大きな第2のデータ書き込み単位を有するNAND型フラッシュメモリ3に接続されるメモリインタフェース5と、ホストインタフェース6を介して不揮発性キャッシュメモリ22に受信データを書き込みデータとして書き込み、ホストインタフェース6が受信した複数の受信データが第2のデータ書き込み単位のエリアデータに達した際に、エリアデータに対応する書き込みデータを不揮発性キャッシュメモリ22から読み出し、読み出された書き込みデータを含むエリアデータを、メモリインタフェース5を介して、NAND型フラッシュメモリ3のターゲットブロック(Aブロック)11に書き込む中央演算処理装置(CPU)8とを備える。
図6は、本発明の第2の実施の形態に係るメモリコントローラの模式的ブロック構成図であって、NAND型フラッシュメモリ3と共に全体としてメモリカード1を構成するブロック構成図を示し、図7(a)は、図6におけるNAND型フラッシュメモリ3のデータ構造図、図7(b)は、図6におけるメモリコントローラ4内の不揮発性キャッシュメモリ22のデータ構造図をそれぞれ示す。
メモリコントローラ4は、不揮発性キャッシュメモリ22を内蔵している。不揮発性キャッシュメモリ22は、バッファメモリ7とメモリI/F5に接続されている。不揮発性キャッシュメモリ22は、例えば、強誘電体メモリ(FeRAM:Ferroelectric Random Access Memory)や磁気ランダムアクセスメモリ(MRAM:Magnetic Random Access Memory)などのランダムアクセス可能な不揮発性メモリ等で構成している。
図6に示すように、NAND型フラッシュメモリ3は、図1に示す例とは異なり、一時書き込みブロック(Bブロック)12は不要である。メモリコントローラ4内に配置された不揮発性キャッシュメモリ22によって、一時書き込みブロック(Bブロック)12と同様の動作を実現しているからである。
(メモリ装置)
本発明の第2の実施の形態に係るメモリコントローラ4のメモリカードへの適用例は、図6に示す様に表される。図6は、ホスト機器20とメモリカード1を含む構成を示すブロック図である。ホスト機器20は、接続されるメモリカード1に対してアクセスを行うためのハードウェア及びソフトウェア(システム)を備えている。
メモリカード1は、ホスト機器20に接続されたときに電源供給を受けて動作し、ホスト機器20からのアクセスに応じた処理を行う。このメモリカード1は、本発明の第2の実施の形態に係るメモリコントローラ4を備える。
本発明の第2の実施の形態に係るメモリコントローラ4をメモリカード1等のメモリ装置へ適用した構成例は、図6を参照して説明すると、第1のデータ書き込み単位を有する送信データを送信するホスト機器20に接続されるメモリ装置であって、ターゲットブロック(Aブロック)11を備え,第1のデータ書き込み単位よりも大きな第2のデータ書き込み単位を有するNAND型フラッシュメモリ3等の不揮発性半導体メモリと、ホスト機器20に接続され,ホスト機器20から第1のデータ書き込み単位を有する受信データを受信するホストインタフェース6と、第1のデータ書き込み単位を有する受信データを記憶し,かつランダムアクセス可能な不揮発性キャッシュメモリ22と、第1のデータ書き込み単位よりも大きな第2のデータ書き込み単位を有するNAND型フラッシュメモリ3に接続されるメモリインタフェース5と、ホストインタフェース6を介して不揮発性キャッシュメモリ22に受信データを書き込みデータとして書き込み,ホストインタフェース6が受信した複数の受信データが第2のデータ書き込み単位のエリアデータに達した際に,エリアデータに対応する書き込みデータを不揮発性キャッシュメモリ22から読み出し,読み出された書き込みデータを含むエリアデータを,メモリインタフェース5を介して,NAND型フラッシュメモリ3のターゲットブロック(Aブロック)11に書き込む中央演算処理装置8とを備えるメモリコントローラ4とを備える。
(メモリコントローラの制御方法)
本発明の第2の実施の形態に係るメモリコントローラ4の制御方法は、図6を参照して説明すると、ホストインタフェース6において、ホスト機器20から第1のデータ書き込み単位を有する受信データを受信するステップと、メモリインタフェース5において、第1のデータ書き込み単位よりも大きな第2のデータ書き込み単位を有するNAND型フラッシュメモリ3等の不揮発性半導体メモリへ書き込みデータを送信するステップと、ホストインタフェース6を介してメモリコントローラ4内の不揮発性キャッシュメモリ22に受信データを書き込みデータとして書き込むステップと、ホストインタフェース6が受信した複数の受信データが第2のデータ書き込み単位のエリアデータに達した際に、エリアデータに対応する書き込みデータを不揮発性キャッシュメモリ22から読み出すステップと、読み出された書き込みデータを含むエリアデータを、メモリインタフェース5を介して、NAND型フラッシュメモリ3のターゲットブロック(Aブロック)11に書き込むステップとを備える。
(動作例)
上位装置であるホスト機器20が、本発明の第2の実施の形態に係るメモリコントローラ4を内蔵するメモリカード1に以下の指示を出した時の動作の例を図7を参照して、説明する。
(a)ホスト機器20が、図7(a)に示すように、ターゲットブロック(Aブロック)11内の<エリアa4>にデータD1を書くことをメモリコントローラ4に指示すると、メモリコントローラ4は、そのデータD1を、図7(b)に示すように、メモリコントローラ4内部の不揮発性キャッシュメモリ22のデータ構造内の<エリアc0>の位置に書き込み、ホスト機器20の指示を完了する。
(b)次に、ホスト機器20がターゲットブロック(Aブロック)11内の<エリアa5>の位置にデータD2を書くことをメモリコントローラ4に指示すると、メモリコントローラ4はデータD2を一時的に不揮発性キャッシュメモリ22内の<エリアc1>に書き込む。
(c)同様に、ホスト機器20がターゲットブロック(Aブロック)11内の<エリアa6>の位置にデータD3を書くことをメモリコントローラ4に指示すると、メモリコントローラ4はデータD3を一時的に不揮発性キャッシュメモリ22内の<エリアc2>に書き込む。
(d)次に、ホスト機器20がターゲットブロック(Aブロック)11内の<エリアa7>の位置にデータD4を書くことをメモリコントローラ4に指示すると、メモリコントローラ4は、不揮発性キャッシュメモリ22内の<エリアc0>〜<エリアc2>に保持されているデータD1〜D3を読み込み、ターゲットブロック(Aブロック)11内の<エリアa4>〜<エリアa6>に転送する。
(e)続いて、データD4をターゲットブロック(Aブロック)11内の<エリアa7>に転送し、ターゲットブロック(Aブロック)11内の<エリアa4>〜<エリアa7>への書き込みを一回で実施する。
以上の動作例において、不揮発性キャッシュメモリ22内のどのページが最新のページであるかのページアドレス情報と、その最新のページに記憶されたデータをターゲットブロック(Aブロック)11内のどこに書き込むかを表す書き込み先のページアドレス情報については、NAND型フラッシュメモリ3若しくは不揮発性キャッシュメモリ22内の所定の記憶領域に記憶しておくことができる。例えば、メモリカード1をホスト機器20から急に引き抜いたために電源がオフになり、再度オンする場合、NAND型フラッシュメモリ3若しくは不揮発性キャッシュメモリ22内の所定の記憶領域に記憶しておいたページのデータを読み出すことによって容易に再起動することができるからである。
以上の処理により、ホスト機器20からの小さいデータ書き込み単位、即ち第1のデータ書き込み単位の書き込み指示に対し、「巻き添え引越し」をすることなく、NAND型フラッシュメモリ3等の大きなデータ書き込み単位、即ち第2のデータ書き込み単位を有する不揮発性メモリ部品にデータを効率よく書き込むことができる。したがって、本発明の第2の実施の形態によれば、書き込み性能を向上できるメモリコントローラ,メモリ装置及びメモリコントローラの制御方法を提供することができる。
更に又、本発明の第2の実施の形態によれば、第1の実施の形態に比較して、ランダムアクセス可能な不揮発性キャッシュメモリ22に一時的なデータを保存することにより、不揮発性メモリ部品上には余計なアクセスが発生せず、更に書き込み性能が向上する。
(第3の実施の形態)
(分割書き込み機能のオン/オフ機能)
本発明の第1の実施の形態に係るメモリコントローラ4を図1に示すようなメモリカード1へ適用したメモリ装置においては、メモリコントローラ4の分割書き込み機能をオン/オフする機能を付加することもできる。同様に本発明の第2の実施の形態に係るメモリコントローラ4を図6に示すようなメモリカード1へ適用したメモリ装置においても、メモリコントローラ4の分割書き込み機能をオン/オフする機能を付加することもできる。
本発明の第3の実施の形態に係るメモリコントローラ4においては、内蔵されるメモリコントローラ4の分割書き込み機能をオン/オフする機能を付加する。
本発明の第3の実施の形態に係るメモリコントローラ4は、2値を記憶するNAND型フラッシュメモリにも適用することができる。2値を記憶するNAND型フラッシュメモリは、図1或いは図6に示すようなメモリカード1に適用する場合、NAND型フラッシュメモリ3側で分割書き込み(512バイト単位の書き込み動作)が可能である。NAND型フラッシュメモリ3側で512バイト単位の書き込み動作が実現できれば、メモリコントローラ4側で分割書き込みを回避する動作を実行するよりもむしろ、メモリ装置の動作を高速化することができる。
したがって、分割書き込み機能を必要としない2値を記憶するNAND型フラッシュメモリ3の場合には、分割書き込み機能をオフにした方がメモリカード1の性能を向上することができる。このため、本発明の第3の実施の形態に係るメモリコントローラ4においては、分割書き込み機能のオン/オフ機能を付加することによって、幅広いNAND型フラッシュメモリの性能に対応することができるようになる。
メモリコントローラ4の分割書き込み機能のオン/オフ機能の設定は、NAND型フラッシュメモリに格納されたメモリ管理情報の値で決まる。メモリコントローラ4若しくはメモリ装置の初期化時に、CPU8がメモリ管理情報の値を読み込み、その読み込まれた設定値に従って、メモリコントローラ4を制御することによって、メモリコントローラ4の分割書き込み機能のオン/オフ機能の設定が実行される。
本発明の第3の実施の形態に係るメモリコントローラ4においては、内蔵されるメモリコントローラ4の分割書き込み機能をオン/オフする機能を付加することによって、幅広いNAND型フラッシュメモリの性能に対応することができると共に、NAND型フラッシュメモリ3側で512バイト単位の書き込み動作が実現できる場合には、内蔵されるメモリコントローラ4の分割書き込み機能をオフにすることによって、メモリ装置の動作を高速化することができる。
[その他の実施の形態]
上記のように、本発明は第1乃至第3の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
本発明の第1の実施の形態に係るメモリコントローラの模式的ブロック構成図であって、NAND型フラッシュメモリと共に全体としてメモリカードを構成するブロック構成図。 NAND型フラッシュメモリの構成例。 不揮発性メモリ(NAND型フラッシュメモリ)のデータ構造図であって、本発明の第1の実施の形態に係るメモリコントローラの動作の一例を説明する図。 メモリ管理テーブルの構成例。 不揮発性メモリ(NAND型フラッシュメモリ)のデータ構造図であって、本発明の第1の実施の形態に係るメモリコントローラの動作の別の一例を説明する図。 本発明の第2の実施の形態に係るメモリコントローラの模式的ブロック構成図であって、NAND型フラッシュメモリと共に全体としてメモリカードを構成するブロック構成図。 本発明の第2の実施の形態に係るメモリコントローラの動作の一例を説明する図であって、(a)NAND型フラッシュメモリのデータ構造図及び(b)メモリコントローラ内の不揮発性キャッシュメモリのデータ構造図。
符号の説明
1…メモリカード
3…NAND型フラッシュメモリ
4…メモリコントローラ
5…メモリインタフェース
6…ホストインタフェース
8…中央演算処理装置(CPU)
11…ターゲットブロック(Aブロック)
12…一時書き込みブロック(Bブロック)
20…ホスト機器
21…書き込み単位
22…不揮発性キャッシュメモリ

Claims (6)

  1. 第2のデータ書き込み単位でデータを書き込み、かつ複数の第2のデータ書き込み単位を含む消去単位でデータを消去する不揮発性半導体メモリを制御するメモリコントローラにおいて、
    ホスト機器に接続され、前記ホスト機器から第1のデータ書き込み単位を有する受信データを受信するホストインタフェースと、
    前記第1のデータ書き込み単位を有する受信データよりも大きなサイズの前記第2のデータ書き込み単位を有するデータが書き込まれる前記不揮発性半導体メモリに接続されるメモリインタフェースと、
    前記メモリインタフェースを介して前記不揮発性半導体メモリの一時書き込みブロックに前記受信データを前記第1のデータ書き込み単位の書き込みデータとして書き込み、前記受信データの全データ量が前記第2のデータ書き込み単位のデータ量に達した際に、当該受信データに含まれる複数の前記第1のデータ書き込み単位の書き込みデータを前記一時書き込みブロックから読み出し、読み出された前記複数の前記第1のデータ書き込み単位の書き込みデータを前記一時書き込みブロックとは別のターゲットブロックに前記第2のデータ書き込み単位で書き込む中央演算処理装置
    とを備えることを特徴とするメモリコントローラ。
  2. 第2のデータ書き込み単位でデータを書き込み、かつ複数の第2のデータ書き込み単位を含む消去単位でデータを消去する不揮発性半導体メモリを制御するメモリコントローラにおいて、
    ホスト機器に接続され、前記ホスト機器から第1のデータ書き込み単位を有する受信データを受信するホストインタフェースと、
    前記第1のデータ書き込み単位を有する受信データよりも大きなサイズの前記第2のデータ書き込み単位を有するデータが書き込まれる前記不揮発性半導体メモリに接続されるメモリインタフェースと、
    前記第1のデータ書き込み単位を有する受信データを記憶し、かつランダムアクセス可能な不揮発性キャッシュメモリと、
    前記ホストインタフェースを介して前記不揮発性キャッシュメモリに前記受信データを前記第1のデータ書き込み単位の書き込みデータとして書き込み、前記受信データの全データ量が前記第2のデータ書き込み単位のデータ量に達した際に、当該受信データに含まれる複数の前記第1のデータ書き込み単位の書き込みデータを前記不揮発性キャッシュメモリから読み出し、読み出された前記複数の前記第1のデータ書き込み単位の書き込みデータを、前記メモリインタフェースを介して、前記不揮発性半導体メモリのターゲットブロックに前記第2のデータ書き込み単位で書き込む中央演算処理装置と、
    前記中央演算処理装置によって用いられる制御プログラムを格納するROMと、
    前記中央演算処理装置の作業エリアとして使用され、各種のテーブルを記憶するRAM
    とを備えることを特徴とするメモリコントローラ。
  3. 第1のデータ書き込み単位を有する受信データを送信するホスト機器に接続されるメモリ装置であって、
    ターゲットブロックとメモリ管理情報を記憶する管理ブロックとを備え、第2のデータ書き込み単位でデータを書き込み、かつ複数の第2のデータ書き込み単位を含む消去単位でデータを消去する不揮発性半導体メモリと、
    ホスト機器に接続され、第1のデータ書き込み単位を有する受信データを受信するホストインタフェースと、前記第1のデータ書き込み単位を有する受信データよりも大きなサイズの前記第2のデータ書き込み単位を有するデータが書き込まれる前記不揮発性半導体メモリに接続されるメモリインタフェースと、前記メモリインタフェースを介して前記不揮発性半導体メモリの一時書き込みブロックに前記受信データを前記第1のデータ書き込み単位の書き込みデータとして書き込み、前記受信データの全データ量が前記第2のデータ書き込み単位のデータ量に達した際に、当該受信データに含まれる複数の前記第1のデータ書き込み単位の書き込みデータを前記一時書き込みブロックから読み出し、読み出された前記複数の前記第1のデータ書き込み単位の書き込みデータを前記一時書き込みブロックとは別の前記ターゲットブロックに前記第2のデータ書き込み単位で書き込む中央演算処理装置とを有し、前記不揮発性半導体メモリを制御するメモリコントローラ
    とを備えることを特徴とするメモリ装置。
  4. 第2のデータ書き込み単位でデータを書き込み、かつ複数の第2のデータ書き込み単位を含む消去単位でデータを消去する不揮発性半導体メモリを制御するメモリコントローラの制御方法において、
    ホストインタフェースを介して、ホスト機器から第1のデータ書き込み単位を有する受信データを受信するステップと、
    メモリインタフェースを介して、前記第1のデータ書き込み単位を有する受信データよりも大きなサイズの前記第2のデータ書き込み単位を有するデータが書き込まれる前記不揮発性半導体メモリへ、前記受信データを送信するステップと、
    前記メモリインタフェースを介して、前記不揮発性半導体メモリの一時書き込みブロックに前記受信データを前記第1のデータ書き込み単位を有する書き込みデータとして書き込むステップと、
    前記受信データの全データ量が前記第2のデータ書き込み単位のデータ量に達した際に、当該受信データに含まれる複数の前記第1のデータ書き込み単位の書き込みデータを前記一時書き込みブロックから読み出すステップと、
    読み出された複数の前記第1のデータ書き込み単位の前記書き込みデータを前記不揮発性半導体メモリ内の前記一時書き込みブロックとは別のターゲットブロックに前記第2のデータ書き込み単位で書き込むステップ
    とを有することを特徴とするメモリコントローラの制御方法。
  5. 第2のデータ書き込み単位でデータを書き込み、かつ複数の第2のデータ書き込み単位を含む消去単位でデータを消去する不揮発性半導体メモリを制御するメモリコントローラの制御方法において、
    ホストインタフェースを介して、ホスト機器から第1のデータ書き込み単位を有する受信データを受信するステップと、
    メモリインタフェース介して、前記第1のデータ書き込み単位を有する受信データよりも大きなサイズの前記第2のデータ書き込み単位を有するデータが書き込まれる前記不揮発性半導体メモリへ、前記受信データを送信するステップと、
    前記ホストインタフェースを介して、メモリコントローラ内の不揮発性キャッシュメモリに前記受信データを前記第1のデータ書き込み単位の書き込みデータとして書き込むステップと、
    前記受信データの全データ量が前記第2のデータ書き込み単位のデータ量に達した際に、当該受信データに含まれる複数の前記第1のデータ書き込み単位の書き込みデータを前記不揮発性キャッシュメモリから読み出すステップと、
    読み出された前記複数の前記第1のデータ書き込み単位の書き込みデータを、前記メモリインタフェースを介して、前記不揮発性半導体メモリのターゲットブロックに前記第2のデータ書き込み単位で書き込むステップ
    とを有することを特徴とするメモリコントローラの制御方法。
  6. 第1のデータ書き込み単位を有する受信データを送信するホスト機器に接続されるメモリ装置であって、
    ターゲットブロックとメモリ管理情報を記憶する管理ブロックとを備え、第2のデータ書き込み単位でデータを書き込み、かつ複数の第2のデータ書き込み単位を含む消去単位でデータを消去する不揮発性半導体メモリと、
    ホスト機器に接続され、第1のデータ書き込み単位を有する受信データを受信するホストインタフェースと、前記第1のデータ書き込み単位を有する受信データよりも大きなサイズの前記第2のデータ書き込み単位を有するデータが書き込まれる前記不揮発性半導体メモリに接続されるメモリインタフェースと、前記第1のデータ書き込み単位を有する受信データを記憶し、かつランダムアクセス可能な不揮発性キャッシュメモリと、前記ホストインタフェースを介して前記不揮発性キャッシュメモリに前記受信データを前記第1のデータ書き込み単位の書き込みデータとして書き込み、前記受信データの全データ量が前記第2のデータ書き込み単位のデータ量に達した際に、当該受信データに含まれる複数の前記第1のデータ書き込み単位の書き込みデータを前記不揮発性キャッシュメモリから読み出し、読み出された前記複数の前記第1のデータ書き込み単位の書き込みデータを、前記メモリインタフェースを介して、前記不揮発性半導体メモリのターゲットブロックに前記第2のデータ書き込み単位で書き込む中央演算処理装置と、前記中央演算処理装置によって用いられる制御プログラムを格納するROMと、前記中央演算処理装置の作業エリアとして使用され、各種のテーブルを記憶するRAMとを有し、前記不揮発性半導体メモリを制御するメモリコントローラ
    とを備えることを特徴とするメモリ装置。
JP2004275651A 2004-09-22 2004-09-22 メモリコントローラ,メモリ装置及びメモリコントローラの制御方法 Expired - Fee Related JP4713867B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004275651A JP4713867B2 (ja) 2004-09-22 2004-09-22 メモリコントローラ,メモリ装置及びメモリコントローラの制御方法
US11/230,600 US7739443B2 (en) 2004-09-22 2005-09-21 Memory controller, memory device and control method for the memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004275651A JP4713867B2 (ja) 2004-09-22 2004-09-22 メモリコントローラ,メモリ装置及びメモリコントローラの制御方法

Publications (2)

Publication Number Publication Date
JP2006092169A JP2006092169A (ja) 2006-04-06
JP4713867B2 true JP4713867B2 (ja) 2011-06-29

Family

ID=36075323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004275651A Expired - Fee Related JP4713867B2 (ja) 2004-09-22 2004-09-22 メモリコントローラ,メモリ装置及びメモリコントローラの制御方法

Country Status (2)

Country Link
US (1) US7739443B2 (ja)
JP (1) JP4713867B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7315916B2 (en) * 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
US8307149B2 (en) 2005-12-09 2012-11-06 Panasonic Corporation Nonvolatile memory device including a logical-to-physical logig-to-physical address conversion table, a temporary block and a temporary table
JP4233563B2 (ja) * 2005-12-28 2009-03-04 パナソニック株式会社 多値データを記憶する不揮発性半導体記憶装置
JP4418439B2 (ja) * 2006-03-07 2010-02-17 パナソニック株式会社 不揮発性記憶装置およびそのデータ書込み方法
JP5002201B2 (ja) 2006-06-30 2012-08-15 株式会社東芝 メモリシステム
JP2008084184A (ja) * 2006-09-28 2008-04-10 Toshiba Corp メモリコントローラ
JP2008134685A (ja) * 2006-11-27 2008-06-12 Konica Minolta Business Technologies Inc 不揮発メモリシステム及び不揮発メモリ制御方法
JP2008152464A (ja) * 2006-12-15 2008-07-03 Toshiba Corp 記憶装置
US20100041532A1 (en) * 2007-01-08 2010-02-18 Ashok Vishwanath Sathe System of actuation of drive coupling to engage and disengage the drive to rotary tool holders
KR100823171B1 (ko) 2007-02-01 2008-04-18 삼성전자주식회사 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
EP2225643B1 (en) 2007-12-28 2020-05-06 Toshiba Memory Corporation Semiconductor storage device
JP4762261B2 (ja) 2008-03-12 2011-08-31 株式会社東芝 メモリシステム
KR20100082185A (ko) * 2009-01-08 2010-07-16 삼성전자주식회사 플래시 메모리, 캐시 메모리, 그리고 제어기를 포함하는 사용자 장치
JP5228935B2 (ja) * 2009-01-19 2013-07-03 日本電気株式会社 補助記憶装置
US8447922B2 (en) * 2009-07-16 2013-05-21 Panasonic Corporation Memory controller, nonvolatile storage device, accessing device, and nonvolatile storage system
TWI415128B (zh) * 2009-08-03 2013-11-11 Phison Electronics Corp 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統
WO2011027510A1 (ja) * 2009-09-02 2011-03-10 日本電気株式会社 半導体集積回路装置および半導体集積回路装置の制御方法、ならびに、キャッシュ装置
JP5543274B2 (ja) * 2010-05-26 2014-07-09 日立オートモティブシステムズ株式会社 自動車用電子制御装置及び自動車用電子制御装置におけるデータ書き込み方法
US8838878B2 (en) * 2010-06-01 2014-09-16 Greenliant Llc Method of writing to a NAND memory block based file system with log based buffering
TWI420298B (zh) * 2010-12-22 2013-12-21 Silicon Motion Inc 快閃記憶裝置及其資料存取方法
US8456917B1 (en) * 2011-11-29 2013-06-04 Elpida Memory, Inc. Logic circuit for a semiconductor memory device, and method of managing an operation in the semiconductor memory device
JP5983019B2 (ja) * 2012-05-17 2016-08-31 ソニー株式会社 制御装置、記憶装置、記憶制御方法
US20140219021A1 (en) * 2013-02-07 2014-08-07 Seagate Technology Llc Data protection for unexpected power loss
KR101478168B1 (ko) * 2013-04-17 2014-12-31 주식회사 디에이아이오 스토리지 시스템 및 스토리지 시스템의 쓰기 데이터 처리 방법
CN104166558B (zh) * 2013-05-16 2018-06-15 群联电子股份有限公司 固件码载入方法、存储器控制器与存储器存储装置
JP6121928B2 (ja) * 2014-03-07 2017-04-26 アラクサラネットワークス株式会社 通信装置、及び、データ管理方法
JP2016028319A (ja) * 2014-07-08 2016-02-25 富士通株式会社 アクセス制御プログラム、アクセス制御装置及びアクセス制御方法
TWI506634B (zh) * 2014-11-06 2015-11-01 Phison Electronics Corp 資料存取方法、記憶體控制電路單元及記憶體儲存裝置
KR20180031412A (ko) * 2016-09-20 2018-03-28 삼성전자주식회사 메모리 컨트롤러의 동작 방법과, 이를 포함하는 장치들의 동작 방법들
CN111208933B (zh) * 2018-11-21 2023-06-30 昆仑芯(北京)科技有限公司 数据访问的方法、装置、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293427A (ja) * 1999-04-05 2000-10-20 Mitsubishi Electric Corp フラッシュメモリを搭載する記憶装置
JP2001154909A (ja) * 1999-11-25 2001-06-08 Casio Comput Co Ltd フラッシュメモリ管理装置及び記録媒体
JP2003085034A (ja) * 2001-09-12 2003-03-20 Hitachi Ltd 不揮発性記憶装置およびデータ格納方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05151094A (ja) 1991-11-29 1993-06-18 Fujitsu Ltd フアイル高速書き込み機構におけるバツクアツプ制御方式
JP3088866B2 (ja) * 1992-11-26 2000-09-18 大日本印刷株式会社 Icカード
US5696929A (en) * 1995-10-03 1997-12-09 Intel Corporation Flash EEPROM main memory in a computer system
JP4017177B2 (ja) * 2001-02-28 2007-12-05 スパンション エルエルシー メモリ装置
US6564286B2 (en) * 2001-03-07 2003-05-13 Sony Corporation Non-volatile memory system for instant-on

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293427A (ja) * 1999-04-05 2000-10-20 Mitsubishi Electric Corp フラッシュメモリを搭載する記憶装置
JP2001154909A (ja) * 1999-11-25 2001-06-08 Casio Comput Co Ltd フラッシュメモリ管理装置及び記録媒体
JP2003085034A (ja) * 2001-09-12 2003-03-20 Hitachi Ltd 不揮発性記憶装置およびデータ格納方法

Also Published As

Publication number Publication date
US7739443B2 (en) 2010-06-15
JP2006092169A (ja) 2006-04-06
US20060064538A1 (en) 2006-03-23

Similar Documents

Publication Publication Date Title
JP4713867B2 (ja) メモリコントローラ,メモリ装置及びメモリコントローラの制御方法
JP3892851B2 (ja) メモリカード及び半導体装置
JP4406339B2 (ja) コントローラ、メモリカード及びその制御方法
US8386698B2 (en) Data accessing method for flash memory and storage system and controller using the same
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
US20170228154A1 (en) Device and method for power loss protection in solid state drive
US20060149902A1 (en) Apparatus and method for storing data in nonvolatile cache memory considering update ratio
JP4828816B2 (ja) メモリカード、半導体装置、及びメモリカードの制御方法
CN110908932B (zh) 数据处理装置及其数据保护方法
JP4253272B2 (ja) メモリカード、半導体装置、及び半導体メモリの制御方法
CN109521944B (zh) 数据储存装置以及数据储存方法
JP4843222B2 (ja) 半導体記憶装置の制御方法、メモリカード、及びホスト機器
JP5183662B2 (ja) メモリ制御装置及びメモリ制御方法
US7809878B2 (en) Apparatus and method for controlling flash memory
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
JP2007034581A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2008027326A (ja) システムコントローラ、該システムコントローラを有するフラッシュメモリシステム、フラッシュメモリモジュールの制御方法
WO2006030421A2 (en) Emulating small block size of flash memory
TWI420528B (zh) 用來增進一快閃記憶體的效能之方法以及相關之可攜式記憶裝置及其控制器
JP4177292B2 (ja) メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4334331B2 (ja) フラッシュメモリのアクセス制御方法
US6898680B2 (en) Minimization of overhead of non-volatile memory operation
JP4177301B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2009265839A (ja) 記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101206

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110325

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

Free format text: PAYMENT UNTIL: 20140401

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees