JP2012128816A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2012128816A JP2012128816A JP2010282299A JP2010282299A JP2012128816A JP 2012128816 A JP2012128816 A JP 2012128816A JP 2010282299 A JP2010282299 A JP 2010282299A JP 2010282299 A JP2010282299 A JP 2010282299A JP 2012128816 A JP2012128816 A JP 2012128816A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- pages
- page
- written
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
Abstract
【課題】メモリセルの状態を安定させることで信頼性を向上させることが可能なメモリシステムを提供する。
【解決手段】実施形態のメモリシステム1は、ワード線当たりのメモリセル群がn(n≧2)ページ分の記憶容量を有する不揮発性メモリと、ホストが指定する論理アドレスと前記不揮発性メモリ上のデータの位置を指定する物理アドレスとの対応を示すアドレス変換テーブルを管理するランダムアクセスメモリと、前記アドレス変換テーブルを前記ランダムアクセスメモリから前記不揮発性メモリにコピーするデータ確定処理を実行する前に、同一のワード線に対応する前記nページへの書き込みの書き込み順序におけるページ数単位での最大距離以上のページ分のダミーデータを、有効データを書き込んだ前記不揮発性メモリに引き続き書き込むメモリコントローラとを備える。
【選択図】図1
【解決手段】実施形態のメモリシステム1は、ワード線当たりのメモリセル群がn(n≧2)ページ分の記憶容量を有する不揮発性メモリと、ホストが指定する論理アドレスと前記不揮発性メモリ上のデータの位置を指定する物理アドレスとの対応を示すアドレス変換テーブルを管理するランダムアクセスメモリと、前記アドレス変換テーブルを前記ランダムアクセスメモリから前記不揮発性メモリにコピーするデータ確定処理を実行する前に、同一のワード線に対応する前記nページへの書き込みの書き込み順序におけるページ数単位での最大距離以上のページ分のダミーデータを、有効データを書き込んだ前記不揮発性メモリに引き続き書き込むメモリコントローラとを備える。
【選択図】図1
Description
本発明の実施形態は、メモリシステムに関する。
近年、不揮発性半導体記憶装置であるNAND型フラッシュメモリの大容量化が進行し、このNAND型フラッシュメモリを搭載したメモリシステムとしてのSSD(Solid State Drive)が注目されている。このようなメモリシステムでは、NAND型フラッシュメモリに記憶されたデータの信頼性を高めることが望まれている。
本発明の一つの実施形態は、メモリセルの状態を安定させることで信頼性を向上させることが可能なメモリシステムを提供することを目的とする。
本発明の一つの実施形態のメモリシステムは、ワード線当たりのメモリセル群がn(n≧2)ページ分の記憶容量を有する不揮発性メモリと、ホストが指定する論理アドレスと前記不揮発性メモリ上のデータの位置を指定する物理アドレスとの対応を示すアドレス変換テーブルを管理するランダムアクセスメモリと、前記アドレス変換テーブルを前記ランダムアクセスメモリから前記不揮発性メモリにコピーするデータ確定処理を実行する前に、同一のワード線に対応する前記nページへの書き込みの書き込み順序におけるページ数単位での最大距離以上のページ分のダミーデータを、有効データを書き込んだ前記不揮発性メモリに引き続き書き込むメモリコントローラとを備える。
NAND型フラッシュメモリにおいて多値メモリセルに書き込みを行う場合の不良現象のひとつに、上位ページのデータ書き込み中にエラー(書き込み失敗)または不正電源断が発生すると、当該上位ページに対応する下位ページのデータ読み出しが不可能になるという現象が知られている。
一方、メモリシステムは、所定の間隔もしくはホストからの明示の指示(例えばフラッシュコマンド)によりNAND型フラッシュメモリに書き込んだデータを、再起動時に保証する必要がある。
このため、メモリシステムは書き込んだデータに関して、NAND型フラッシュメモリ上の物理アドレス(以下、NANDアドレスと表記する)とホストが指定する論理アドレス(以下、ホストアドレスと表記する)との対応関係(アドレス変換表)を不揮発化して、書き込んだデータを確定する処理(データ確定処理)を行う。
しかしながら、このデータ確定処理後に、既に書き込まれたデータを含むブロック内で追記を行う際にエラーが発生し、既に書き込まれたデータの破壊が発生すると、上述したデータ確定処理により確定したデータの読み出しができない状態になる。
例えば、ある下位ページに対してデータ書き込みを行った後にデータ確定処理を行い、その後当該下位ページとワード線を共有する上位ページにデータ書き込みを行う場合を考える。この上位ページへの書き込み時にエラーもしくは不正電源断が発生した場合、ワード線を共有する下位ページのデータが破壊される。
上述した通り、メモリシステムとしてはデータ確定処理前に書き込んだ上記下位ページのデータを保証する必要があるので、このような事態に対する対策が必要となる。
この対策の一例として、同一ブロック内で追記を行う場合に、書き込み時のエラーにより破壊される可能性のある下位ページを前もって別の場所に退避させる方法がある。しかしながら、破壊が発生した場合、下位ページ復元処理に時間がかかり、またその処理が複雑になる。
他の対策として、1回の書き込みで1ブロック分のデータを書き終える方法がある。同一ブロック内で追記を行わなければ、書き込み時のエラーによるデータの破壊対策は不要となる。しかしながら、1回の書き込みサイズがブロックサイズと等しくなってしまうため、小さいデータを書き込む場合に書き込み効率が低下する。
以下に添付図面を参照して、実施形態にかかるメモリシステムを詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
(第1の実施形態)
図1は、第1の実施形態のメモリシステム1の構成を示すブロック図である。メモリシステム1は、図示するように、パーソナルコンピュータなどのホスト(Host)7と接続され、ホスト7の外部記憶装置として機能する。ここでは、ホスト7とメモリシステム1との間は、一例として、ATA(Advanced Technology Attachment)規格に準拠した通信インタフェースで接続されているものとする。メモリシステム1がホスト7から受信する書き込み/読み出し要求は、LBA(Logical Block Addressing)で定義されたアクセス対象の先頭アドレスとアクセス対象の領域の範囲を示すセクタサイズとが含まれている。
図1は、第1の実施形態のメモリシステム1の構成を示すブロック図である。メモリシステム1は、図示するように、パーソナルコンピュータなどのホスト(Host)7と接続され、ホスト7の外部記憶装置として機能する。ここでは、ホスト7とメモリシステム1との間は、一例として、ATA(Advanced Technology Attachment)規格に準拠した通信インタフェースで接続されているものとする。メモリシステム1がホスト7から受信する書き込み/読み出し要求は、LBA(Logical Block Addressing)で定義されたアクセス対象の先頭アドレスとアクセス対象の領域の範囲を示すセクタサイズとが含まれている。
メモリシステム1は、ユーザデータ及びアドレス変換テーブルを記憶する不揮発性半導体メモリとしてのNANDフラッシュメモリ2と、ホスト7とNANDフラッシュメモリ2との間でデータ転送制御を行うとともにメモリシステム1内の各構成要素を制御するコントローラ3と、上記アドレス変換テーブルの少なくとも一部を一時的に記憶する揮発性半導体メモリとしてのランダムアクセスメモリ(RAM)4と、ホスト7との間の通信インタフェースの制御を実行するホストインタフェースコントローラであるホストコントローラ5とを備えて構成されている。ランダムアクセスメモリ4は、例えばDRAM又はSRAMで構成される。
アドレス変換テーブルは、ホスト7が指定する論理アドレスとNANDフラッシュメモリ2内のデータの位置を指定する物理アドレスとの対応を示すものである。アドレス変換テーブルはNANDフラッシュメモリ2に記憶されており、メモリシステム1の起動時等の所定のタイミングでランダムアクセスメモリ4に展開される。コントローラ3は、データ書き込み等に伴い論理アドレスと物理アドレスとの対応関係が更新された場合、ランダムアクセスメモリ4に展開されたアドレス変換テーブルを更新するが、NANDフラッシュメモリ2内のアドレス変換テーブルについては更新しない。
上述のように、ランダムアクセスメモリ4のみに最新のアドレス変換テーブルが存在する状況では、不正電源断等に対応できないため、コントローラ3は所定の間隔もしくはホストからの明示の指示により、最新のアドレス変換テーブルをNANDフラッシュメモリ2に書き込み不揮発化する。この時点でデータ確定処理が完了し、再起動後にはNANDフラッシュメモリ2に書き込まれたアドレス変換テーブルをランダムアクセスメモリ4に展開することで、データ確定処理前の状態を復元することが可能となる。コントローラ3は、例えばアドレス変換テーブルの更新量が所定の閾値に達した場合、あるいはホスト7からフラッシュコマンドを受けた場合に、データ確定処理を行う。
NANDフラッシュメモリ2は、一つ以上のNANDメモリチップを備えている。さらに、各NANDメモリチップは、データ消去の単位である物理ブロックを複数配列して構成されている。図2(a)は、NANDメモリチップに含まれる1個の物理ブロックの構成例を示す等価回路図である。各物理ブロックは、X方向に沿って順に配列された(p+1)個のNANDストリングを備えている(pは、0以上の整数)。(p+1)個のNANDストリングにそれぞれ含まれる選択トランジスタST1は、ドレインがビット線BL0〜BLpに接続され、ゲートが選択ゲート線SGDに共通接続されている。また、選択トランジスタST2は、ソースがソース線SLに共通接続され、ゲートが選択ゲート線SGSに共通接続されている。
各メモリセルトランジスタMTは、半導体基板上に形成された積層ゲート構造を備えたMOSFET(Metal Oxide Semiconductor Field Effect Transistor)から構成される。積層ゲート構造は、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層(浮遊ゲート電極)、および電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極を含んでいる。メモリセルトランジスタMTは、浮遊ゲート電極に蓄えられる電子の数に応じてしきい値電圧が変化し、このしきい値電圧の違いに応じてデータを記憶する。ここでは、メモリセルトランジスタMTは、多値(2ビット以上のデータ)を記憶するように構成されている。
また、メモリセルトランジスタMTは、浮遊ゲート電極を有する構造に限らず、MONOS(Metal-Oxide-Nitride-Oxide-Silicon)型など、電荷蓄積層としての窒化膜界面に電子をトラップさせることでしきい値調整可能な構造であってもよい。
各NANDストリングにおいて、(q+1)個のメモリセルトランジスタMTは、選択トランジスタST1のソースと選択トランジスタST2のドレインとの間に、それぞれの電流経路が直列接続されるように配置されている。すなわち、複数のメモリセルトランジスタMTは、隣接するもの同士で拡散領域(ソース領域若しくはドレイン領域)を共有するような形でY方向に直列接続される。
そして、最もドレイン側に位置するメモリセルトランジスタMTから順に、制御ゲート電極がワード線WL0〜WLqにそれぞれ接続されている。従って、ワード線WL0に接続されたメモリセルトランジスタMTのドレインは選択トランジスタST1のソースに接続され、ワード線WLqに接続されたメモリセルトランジスタMTのソースは選択トランジスタST2のドレインに接続されている。
ワード線WL0〜WLqは、物理ブロック内のNANDストリング間で、メモリセルトランジスタMTの制御ゲート電極を共通に接続している。つまり、ブロック内において同一行にあるメモリセルトランジスタMTの制御ゲート電極は、同一のワード線WLに接続される。この同一のワード線WLに接続される(p+1)個のメモリセルトランジスタMTは1ページ(物理ページ)として取り扱われ、この物理ページごとにデータの書き込みおよびデータの読み出しが行われる。
また、ビット線BL0〜BLpは、ブロック間で、選択トランジスタST1のドレインを共通に接続している。つまり、複数のブロック内において同一列にあるNANDストリングは、同一のビット線BLに接続される。
メモリセルトランジスタMT当たり複数ビット格納可能に構成されているものがある。例えば、メモリセルトランジスタMT当たりn(n≧2)ビット格納可能な場合、ワード線当たりの記憶容量はnページ分のサイズに等しくなる。図2(b)は、例えば、1個のメモリセルトランジスタMTに2ビットの記憶を行う4値データ記憶方式でのしきい値分布を示す模式図である。4値データ記憶方式では、メモリセルトランジスタMT当たり、2ページ分のデータを記憶することができる。先に書き込みがなされるページを下位ページ、下位ページの後から書き込みがなされるページを上位ページという。
メモリセルトランジスタMTは、上位ページデータ“x”と下位ページデータ“y”とで定義される4値データ“xy”の何れか1つを保持可能である。この4値データ“xy”は、メモリセルトランジスタMTのしきい値電圧の順に、例えば、データ“11”、“01”、“00”、“10”が割り当てられる。データ“11”は、メモリセルトランジスタMTのしきい値電圧が負の消去状態である。なお、データの割り当て規則はこれに限らない。また、本実施の形態では、以降、1個のメモリトランジスタMTに2ビットの値を記憶することができるものを取り上げて説明するが、1個のメモリセルトランジスタMTに3ビット以上の記憶を行う構成であってもよい。なお、以降、メモリセルトランジスタMTを単にメモリセルと表現することもある。
下位ページ書き込み動作においては、データ“11”(消去状態)のメモリセルに対して選択的に、下位ビットデータ“y”の書き込みによって、データ“10”が書き込まれる。上位ページ書き込み動作においては、データ“11”のメモリセルと、データ“10”のメモリセルに対して、それぞれ選択的に上位ビットデータ“x”の書き込みが行われて、データ“01”およびデータ“00”が書き込まれる。上位ページ書き込み前のデータ“10”のしきい値分布は、上位ページ書き込み後のデータ“01”とデータ“00”のしきい値分布の中間程度に位置しており、一般的に、上位ページ書き込み後のしきい値分布よりブロードとなっている。
ユーザデータの書き込み時においては、隣接メモリセル間のカップリング容量の影響により、メモリセルのしきい値電圧が変動する。そこで、隣接メモリセルのカップリング容量の影響を軽減するため、書き込み先の下位ページと上位ページとが離れるように書き込み順序が工夫されている。図3は、NANDフラッシュメモリ2への書き込み順序の一例を説明するための図である。図3(a)に示すように、まず、iをゼロ値以上の整数とし、ワード線WLiに接続されているメモリセル群の下位ページを下位ページi(Lower Page i)、上位ページを上位ページi(Upper Page i)と表現することとする。
図3(b)に示すように、ブロック先頭の下位ページ(下位ページ0)の書き込みが行われた後、(1)下位ページ2i+1、(2)上位ページ2i、(3)下位ページ2i+2、(4)上位ページ2i+1の順番で書き込みが実行される。(4)の書き込みが終了すると、iは1インクリメントされ、(1)が示す書き込み先への書き込みが実行される。このように、下位ページへの書き込み(1)、(2)と、その次に実行される上位ページへの書き込み(3)、(4)とがページアドレス的に不連続(この場合は2ページ又は3ページ分)になっている。
上記の書き込み順序は近接効果低減を目的とした書き込み順序の一例であり、本実施の形態においては、図3(a)に示したページ構成において、図3(b)に示したページの列に対して上から下に向かって順番に書き込みが実行されるとして説明する。ここで図4は、アドレス変換テーブルの一例を示している。本実施形態においては、NANDフラッシュメモリ2におけるアドレスの管理単位は4ページ単位になっており、図4の左側に示したランダムアクセスメモリ4が管理しているアドレス変換テーブルにおけるアドレス変換の単位は4ページ単位になっている。ただし、4ページ単位とするのは一例でありこれに限定されない。
本実施形態においては、コントローラ3が上記したアドレス変換テーブルをランダムアクセスメモリ4からNANDフラッシュメモリ2にコピーを行う上述したデータ確定処理をする場合、その前に、すでに書き込みが終了した有効データに続けてダミーデータを記録する。ダミーデータを記録するのはデータ確定処理前に限定すれば、書き込み効率の低下を避けつつ追記時のエラーによる確定した既書き込み有効データの破壊を防ぐことが可能となる。
本実施形態のメモリシステム1におけるダミーデータの書き込み手順について、図4、図5のタイムチャート、および図6のフローチャートを用いて詳細に説明する。
まず、コントローラ3の書き込み制御部により、ホストアドレス(論理アドレス)Dへのデータ書き込みが行われる(図5、図6のステップS11)。コントローラ3は、NANDフラッシュメモリ2内の1つのNANDブロックに属するNANDアドレスWの領域に有効なデータを書き込み、ランダムアクセスメモリ4が管理するアドレス変換テーブルにこの対応を書き込む。図4の右側に示すようにNANDアドレスWの領域の最終ページは下位ページ0である。
さらに、ホストアドレスEへのデータ書き込みとして上記NANDブロック内のNANDアドレスXの領域に有効なデータが書き込まれる(図5、図6のステップS12)。そしてアドレス変換テーブルにこの対応が書き込まれる。図4の右側に示すようにNANDアドレスXの領域は、下位ページ1、上位ページ0、下位ページ2、上位ページ1からなる。
その後、データ確定処理(図6のステップS14)を行う前に、その後の追記(ステップS15)により破壊される可能性のあるページを、ダミーデータで埋める(図5、図6ステップS13)。具体的には、図4に示した下位ページ3、上位ページ2、下位ページ4、上位ページ3の4ページからなる上記NANDブロック内のNANDアドレスYの領域に全てダミーデータを書き込む。アドレスYはランダムアクセスメモリ4が管理するアドレス変換テーブルから参照できないホストアドレス(論理アドレス)を有さないNANDブロック上の領域である。ダミーデータとしては2値のうちどちらを書き込んでもかまわない。
その後、上記アドレス変換テーブルをランダムアクセスメモリ4からNANDフラッシュメモリ2にコピーしてデータ確定処理を実行する(図5、図6ステップS14)。これにより、データ確定処理前にホストアドレスDへ書き込まれたデータ、及びホストアドレスEに追記されたデータが保証される。
さらに、ホストアドレスGへのデータ書き込みとして上記NANDブロック内のアドレスZの領域に有効なデータが書き込まれる(図5、図6のステップS15)。そしてアドレス変換テーブルにこの対応が書き込まれる。図4の右側に示すようにアドレスZの領域は、下位ページ5、上位ページ4、下位ページ6、上位ページ5からなる。このとき上位ページ4の書き込みにおいてエラーが発生して下位ページ4のデータが破壊されてもダミーデータであるので問題はない。
このように、ダミーデータ追記処理(ステップS13)を行うことで、データ確定処理(ステップS14)が行われた後に、追記(ステップS15)が行われ書き込みエラー、不正電源断による同一のワード線に対応する既書き込みページの破壊が発生した場合、図4の右側に示すように破壊されるページはダミーデータが記録されたページとなるので、データ確定処理以前に記録されたデータが破壊されることを防ぐことが可能となる。
上記した図6のステップ13にてダミーデータを書き込む領域(即ち、書き込むダミーデータのサイズ)として、本実施形態におけるアドレス変換の単位である4ページを選択したが、それ以下のページ数にダミーデータを書き込んでも、以下に説明するように上述したデータ確定処理以前に記録されたデータの破壊は回避することができる。
例えば、図4の右側に示したページの書き込み順序を見てみると、同一のワード線に対応する下位ページと上位ページの書き込み順序におけるページ数単位での距離は最大で3ページとなる。具体的には、同一のワード線に対応する下位ページ0と上位ページ0は書き込み順序において2ページ離れているが、他の同一のワード線に対応する下位ページと上位ページの組、例えば、下位ページ1と上位ページ1、下位ページ2と上位ページ2、下位ページ3と上位ページ3・・・は全て3ページ離れている。従って、図4の右側に示したページの書き込み順序において、同一のワード線に対応する下位ページと上位ページの書き込み順序におけるページ数単位での最大距離は3ページである。同一のワード線に対応する下位ページと上位ページの書き込み順序におけるページ数単位での最大距離が定まれば、最大距離以上のページ数分のダミーデータをデータ確定処理の前に書き込むことで、確定済みのデータを破壊することは確実に回避できる。この場合は3ページのダミーデータの書き込みで十分である。
また、図4の右側に示したページの書き込み順序はそのままで、アドレス変換の単位となるページ数が4ページ以上の例えば8ページなどだった場合においても、上述したように同一のワード線に対応する下位ページと上位ページの書き込み順序におけるページ数単位での最大距離以上のページ数分のダミーデータを書き込めばよいので、3ページのダミーデータを書き込めば十分である。3ページ以上のダミーデータを毎回のデータ確定処理の前に書き込めばよいのであるが、最大距離以上の固定ページ数のダミーデータを書き込むことにしておくと処理が簡易となる。
ただし、上記実施形態で説明したように、アドレス変換テーブルにおけるアドレス変換の単位となるページ数(4ページ)が上記最大距離(3ページ)以上の場合は、アドレス変換の単位となるページ数である4ページ分のダミーデータを書き込むことで処理がより簡易になる。逆にアドレス変換テーブルにおけるアドレス変換の単位となるページ数が上記最大距離未満である場合、例えば最大距離は3ページでアドレス変換の単位が1ページである場合は最大距離のページ数分のダミーデータを書き込めば十分である。
また、上記実施形態においては、1つのメモリセルトランジスタMTが2ビットを格納する場合、即ちn=2の場合について説明したが、2より大きなnに対しても同一のワード線に対応するページの追加書き込みに起因した既書き込みの有効データの破壊を防ぐことが可能である。即ち、データ確定処理を実行する前に、同一のワード線に対応するnページから選択した2つのページについてそれらの書き込み順序におけるページ数単位での距離を全て求め、それらの距離の中の最大距離以上のページ分のダミーデータを、データ確定処理の前であって有効データを書き込んだ後に引き続き書き込むことにより、同様な効果が得られる。
さらに、上記した同一のワード線に対応するページの書き込み順序におけるページ単位での距離の最大値以上のダミーデータを書き込むという手法よりさらにダミーデータの数を減らすことも可能である。具体的には、上記実施形態において、図6のステップS12においてNANDブロック内のアドレスXの領域に有効なデータが書き込まれ、ここでデータ確定処理を実行しようとする場合に、実際にデータ確定処理後の追記時のエラーによる既書き込み有効データの破壊を回避するためには、図7に示すようにアドレスYの領域内の上位ページ2にダミーデータを書き込んで有効データが書き込まれた下位ページ2を保護すれば十分である。即ち、データ確定処理を実行する前に、有効データが書き込まれた下位ページと同一のワード線に属する未書き込みの上位ページの全て(この場合は上位ページ2のみなので1ページ分)にダミーデータを書き込めば十分である。これにより不安定な下位ページをダミーデータで保護することができる。
ただし、この場合、有効データが書き込まれていない下位ページ3にデータが書き込まれていないと下位ページ3とワード線を同じくしデータ確定処理後に有効データが書き込まれる上位ページ3への書き込みを適切に実行できなくなるので、下位ページ3にもダミーデータを書き込むことが望ましい。即ち、有効データが書き込まれた下位ページと同一のワード線に属する未書き込みの上位ページの中で書き込み順序において最後となる未書き込みの上位ページ(図7の上位ページ2)までの上記書き込み順序に沿った全ての未書き込みのページ(図7の下位ページ3と上位ページ2)である2ページにダミーデータを書き込む。またこの場合も有効データが書き込まれた下位ページと同一のワード線に属する未書き込みの上位ページの中で書き込み順序において最後となる未書き込みの上位ページまでの上記書き込み順序に沿った全ての未書き込みのページの数がアドレス変換の単位となるページ数以下となる場合は、アドレス変換の単位となるページ数分ダミーデータを書き込む方が、処理が簡易になり得る。
また、図7に示した例も、1つのメモリセルトランジスタMTが2ビット格納する場合、即ちn=2の場合についての例であるが、2より大きなnに対しても同一のワード線に対応するページの追加書き込みに起因した既書き込みの有効データの破壊を防ぐことが可能である。即ち、データ確定処理を実行する前に、有効データが書き込まれたページと同一のワード線に属する未書き込みのページの全てにダミーデータを書き込むことによりデータ確定処理済みの有効データの破壊を防ぐことが可能となる。この場合も、有効データが書き込まれたページと同一のワード線に属する未書き込みのページの中で書き込み順序において最後となる未書き込みのページまでの上記書き込み順序に沿った全ての未書き込みのページにダミーデータを書き込んでもよい。そして、この書き込み順序において最後となる未書き込みのページまでの上記書き込み順序に沿った全ての未書き込みのページの数がアドレス変換の単位となるページ数以下となる場合は、アドレス変換の単位となるページ数分ダミーデータを書き込む方が、処理が簡易になり得る。
比較例として、例えば図8に示すようにNANDブロックに対してホストアドレスAおよびBへの2回の書き込みがNANDブロックのNANDアドレスWおよびXに対して実行された後、データ確定処理を行い、その後さらにホストアドレスCへのデータ追記をNANDブロックのNANDアドレスYに行う。このNANDアドレスYへのデータ追記において、図9に示すように既に有効データが書き込まれてデータ確定処理がなされた下位ページ2と同一のワード線に属する上位ページ2への書き込みがされたときに、書き込みエラー、もしくは不正電源断が発生することがあり得る。この場合、上位ページ2に対応する下位ページ2のデータが破壊されてしまう(図9)。即ち、データ確定処理前に書き込んだデータが保証されない現象が起きてしまう。
本実施形態においては上記説明したように、データ確定処理前にダミーデータを書き込むことによりこの問題を回避することが可能となる。即ち、データ確定処理前に書き込まれたメモリセルの状態を安定させることで信頼性を向上させることができる。また、ダミーデータを書き込むタイミングをデータ確定処理前に限定しているので、書き込み効率の低下を抑制することが可能となる。また、本実施形態においてはページ書き込み順序として近接効果を低減した書き込み方法を例にして説明したが、近接効果を配慮しないワード線の順番に沿ったページ書き込み順序の場合にも適用可能であることはいうまでもない。
(第2の実施の形態)
図10は、メモリシステム1を搭載したパーソナルコンピュータ1200の一例を示す斜視図である。パーソナルコンピュータ1200は、本体1201、及び表示ユニット1202を備えている。表示ユニット1202は、ディスプレイハウジング1203と、このディスプレイハウジング1203に収容された表示装置1204とを備えている。
図10は、メモリシステム1を搭載したパーソナルコンピュータ1200の一例を示す斜視図である。パーソナルコンピュータ1200は、本体1201、及び表示ユニット1202を備えている。表示ユニット1202は、ディスプレイハウジング1203と、このディスプレイハウジング1203に収容された表示装置1204とを備えている。
本体1201は、筐体1205と、キーボード1206と、ポインティングデバイスであるタッチパッド1207とを備えている。筐体1205内部には、メイン回路基板、ODD(Optical Disk Device)ユニット、カードスロット、及びメモリシステム1等が収容されている。
カードスロットは、筐体1205の周壁に隣接して設けられている。周壁には、カードスロットに対向する開口部1208が設けられている。ユーザは、この開口部1208を通じて筐体1205の外部から追加デバイスをカードスロットに挿抜することが可能である。
メモリシステム1は、従来のHDDの置き換えとして、パーソナルコンピュータ1200内部に実装された状態として使用してもよいし、パーソナルコンピュータ1200が備えるカードスロットに挿入した状態で、追加デバイスとして使用してもよい。
図11は、SSDを搭載したパーソナルコンピュータのシステム構成例を示している。パーソナルコンピュータ1200は、CPU1301、ノースブリッジ1302、主メモリ1303、ビデオコントローラ1304、オーディオコントローラ1305、サウスブリッジ1309、BIOS−ROM1310、メモリシステム1、ODDユニット1311、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)1312、及びネットワークコントローラ1313等を備えている。
CPU1301は、パーソナルコンピュータ1200の動作を制御するために設けられたプロセッサであり、メモリシステム1から主メモリ1303にロードされるオペレーティングシステム(OS)を実行する。更に、ODDユニット1311が、装填された光ディスクに対して読出し処理及び書込み処理の少なくとも1つの処理の実行を可能にした場合に、CPU1301は、それらの処理の実行をする。
また、CPU1301は、BIOS−ROM1310に格納されたシステムBIOS(Basic Input Output System)も実行する。尚、システムBIOSは、パーソナルコンピュータ1200内のハードウェア制御のためのプログラムである。
ノースブリッジ1302は、CPU1301のローカルバスとサウスブリッジ1309との間を接続するブリッジデバイスである。ノースブリッジ1302には、主メモリ1303をアクセス制御するメモリコントローラも内蔵されている。
また、ノースブリッジ1302は、AGP(Accelerated Graphics Port)バス等を介してビデオコントローラ1304との通信、及びオーディオコントローラ1305との通信を実行する機能も有している。
主メモリ1303は、プログラムやデータを一時的に記憶し、CPU1301のワークエリアとして機能する。主メモリ1303は、例えばRAMから構成される。
ビデオコントローラ1304は、パーソナルコンピュータ1200のディスプレイモニタとして使用される表示ユニット1202を制御するビデオ再生コントローラである。
オーディオコントローラ1305は、パーソナルコンピュータ1200のスピーカ1306を制御するオーディオ再生コントローラである。
サウスブリッジ1309は、LPC(Low Pin Count)バス1314上の各デバイス、及びPCI(Peripheral Component Interconnect)バス1315上の各デバイスを制御する。また、サウスブリッジ1309は、各種ソフトウェア及びデータを格納する記憶装置であるメモリシステム1を、ATAインタフェースを介して制御する。
パーソナルコンピュータ1200は、セクタ単位でメモリシステム1へのアクセスを行う。ATAインタフェースを介して、書き込みコマンド、読出しコマンド、キャッシュフラッシュコマンド等がメモリシステム1に入力される。
また、サウスブリッジ1309は、BIOS−ROM1310、及びODDユニット1311をアクセス制御するための機能も有している。
EC/KBC1312は、電力管理のためのエンベデッドコントローラと、キーボード(KB)1206及びタッチパッド1207を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。
このEC/KBC1312は、ユーザによるパワーボタンの操作に応じてパーソナルコンピュータ1200の電源をON/OFFする機能を有している。ネットワークコントローラ1313は、例えばインターネット等の外部ネットワークとの通信を実行する通信装置である。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 メモリシステム、2 NANDフラッシュメモリ(第1の不揮発性メモリ)、3 コントローラ、4 ランダムアクセスメモリ、5 ホストコントローラ、7 ホスト、S11〜S15 ステップ。
Claims (6)
- ワード線当たりのメモリセル群がn(n≧2)ページ分の記憶容量を有する不揮発性メモリと、
ホストが指定する論理アドレスと前記不揮発性メモリ上のデータの位置を指定する物理アドレスとの対応を示すアドレス変換テーブルを管理するランダムアクセスメモリと、
前記アドレス変換テーブルを前記ランダムアクセスメモリから前記不揮発性メモリにコピーするデータ確定処理を実行する前に、同一のワード線に対応する前記nページへの書き込みの書き込み順序におけるページ数単位での最大距離以上のページ分のダミーデータを、有効データを書き込んだ前記不揮発性メモリに引き続き書き込むメモリコントローラと
を備えたことを特徴とするメモリシステム。 - 予め定めた数のページ分のダミーデータを前記不揮発性メモリに書き込む
ことを特徴とする請求項1に記載のメモリシステム。 - 前記アドレス変換テーブルにおけるアドレス変換の単位となるページ数が前記最大距離以上の場合は、アドレス変換の単位となるページ数分のダミーデータを前記不揮発性メモリに書き込む
ことを特徴とする請求項2に記載のメモリシステム。 - ワード線当たりのメモリセル群がn(n≧2)ページ分の記憶容量を有する不揮発性メモリと、
ホストが指定する論理アドレスと不揮発性メモリ上のデータの位置を指定する物理アドレスとの対応を示すアドレス変換テーブルを管理するランダムアクセスメモリと、
前記アドレス変換テーブルを前記ランダムアクセスメモリから前記不揮発性メモリにコピーするデータ確定処理を実行する前に、有効データが書き込まれたページと同一のワード線に属する未書き込みのページの全てにダミーデータを書き込むメモリコントローラと
を備えたことを特徴とするメモリシステム。 - 前記未書き込みのページの中で書き込み順序において最後となる前記未書き込みのページまでの前記書き込み順序に沿った全ての前記未書き込みのページにダミーデータを書き込む
ことを特徴とする請求項4に記載のメモリシステム。 - 前記nが2である
ことを特徴とする請求項1乃至請求項5のいずれか1項に記載のメモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010282299A JP2012128816A (ja) | 2010-12-17 | 2010-12-17 | メモリシステム |
US13/328,420 US9330752B2 (en) | 2010-12-17 | 2011-12-16 | Memory system and method for writing data into memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010282299A JP2012128816A (ja) | 2010-12-17 | 2010-12-17 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012128816A true JP2012128816A (ja) | 2012-07-05 |
Family
ID=46235958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010282299A Pending JP2012128816A (ja) | 2010-12-17 | 2010-12-17 | メモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9330752B2 (ja) |
JP (1) | JP2012128816A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014006902A (ja) * | 2012-06-22 | 2014-01-16 | Freescale Semiconductor Inc | フラッシュメモリ内に記憶されるデータのためのアドレスramを有するエミュレート電気的消去可能メモリ |
JP2017151510A (ja) * | 2016-02-22 | 2017-08-31 | Kyb株式会社 | コントローラ |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9141308B2 (en) * | 2011-12-30 | 2015-09-22 | Sandisk Technologies Inc. | Controller and method for using a transaction flag for page protection |
US9251055B2 (en) | 2012-02-23 | 2016-02-02 | Kabushiki Kaisha Toshiba | Memory system and control method of memory system |
US8924636B2 (en) | 2012-02-23 | 2014-12-30 | Kabushiki Kaisha Toshiba | Management information generating method, logical block constructing method, and semiconductor memory device |
EP2791775A1 (en) * | 2012-03-13 | 2014-10-22 | Hitachi, Ltd. | Storage system having nonvolatile semiconductor storage device with nonvolatile semiconductor memory |
US9177638B2 (en) * | 2012-11-13 | 2015-11-03 | Western Digital Technologies, Inc. | Methods and devices for avoiding lower page corruption in data storage devices |
TWI503841B (zh) * | 2013-04-26 | 2015-10-11 | Phison Electronics Corp | 寫入方法、記憶體控制器與記憶體儲存裝置 |
US9892077B2 (en) * | 2013-10-07 | 2018-02-13 | Qualcomm Incorporated | Camera control interface slave device to slave device communication |
KR102195298B1 (ko) | 2014-02-13 | 2020-12-24 | 삼성전자주식회사 | 비휘발성 메모리 장치의 부분 페이지 프로그램 방법 |
KR102211868B1 (ko) | 2014-12-15 | 2021-02-04 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US9798470B2 (en) * | 2015-01-23 | 2017-10-24 | Toshiba Memory Corporation | Memory system for storing and processing translation information |
US9785365B1 (en) * | 2015-12-08 | 2017-10-10 | Rambus Inc. | Persistent memory descriptor |
KR20180058327A (ko) * | 2016-11-24 | 2018-06-01 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그의 동작 방법 |
KR20200053018A (ko) * | 2018-11-07 | 2020-05-18 | 삼성전자주식회사 | 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치, 그리고 불휘발성 메모리 장치를 액세스하는 방법 |
KR20200113992A (ko) * | 2019-03-27 | 2020-10-07 | 에스케이하이닉스 주식회사 | 메모리 시스템의 복구 동작 중 비휘발성 메모리 오픈 블록의 셀 디스터브를 줄이는 방법 및 장치 |
CN112687315B (zh) * | 2021-01-04 | 2022-11-22 | 长江存储科技有限责任公司 | 三维存储器及其控制方法 |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5239510A (en) * | 1991-11-25 | 1993-08-24 | At&T Bell Laboratories | Multiple voltage supplies for field programmable gate arrays and the like |
JP3935139B2 (ja) | 2002-11-29 | 2007-06-20 | 株式会社東芝 | 半導体記憶装置 |
JP2005092923A (ja) * | 2003-09-12 | 2005-04-07 | Renesas Technology Corp | 半導体記憶装置 |
JP2005293774A (ja) * | 2004-04-02 | 2005-10-20 | Hitachi Global Storage Technologies Netherlands Bv | ディスク装置の制御方法 |
JP4410188B2 (ja) * | 2004-11-12 | 2010-02-03 | 株式会社東芝 | 半導体記憶装置のデータ書き込み方法 |
JP2006190425A (ja) * | 2005-01-07 | 2006-07-20 | Nec Electronics Corp | 半導体記憶装置 |
JP4874566B2 (ja) * | 2005-04-11 | 2012-02-15 | 株式会社東芝 | 半導体記憶装置 |
US7443726B2 (en) * | 2005-12-29 | 2008-10-28 | Sandisk Corporation | Systems for alternate row-based reading and writing for non-volatile memory |
JP4171749B2 (ja) * | 2006-04-17 | 2008-10-29 | Tdk株式会社 | メモリコントローラおよびフラッシュメモリシステム |
US7457163B2 (en) * | 2006-06-01 | 2008-11-25 | Sandisk Corporation | System for verifying non-volatile storage using different voltages |
US7468919B2 (en) * | 2006-12-30 | 2008-12-23 | Sandisk Corporation | Biasing non-volatile storage based on selected word line |
US7468920B2 (en) * | 2006-12-30 | 2008-12-23 | Sandisk Corporation | Applying adaptive body bias to non-volatile storage |
US20080250220A1 (en) * | 2007-04-06 | 2008-10-09 | Takafumi Ito | Memory system |
US7471567B1 (en) * | 2007-06-29 | 2008-12-30 | Sandisk Corporation | Method for source bias all bit line sensing in non-volatile storage |
US8473923B2 (en) * | 2007-09-12 | 2013-06-25 | Sandisk Technologies Inc. | Pointers for write abort handling |
KR101434401B1 (ko) * | 2007-12-17 | 2014-08-27 | 삼성전자주식회사 | 집적 회로 메모리 장치 |
KR101077339B1 (ko) | 2007-12-28 | 2011-10-26 | 가부시끼가이샤 도시바 | 반도체 기억 장치 |
JP2009205555A (ja) | 2008-02-28 | 2009-09-10 | Toshiba Corp | メモリシステム |
CN101681313A (zh) | 2008-02-29 | 2010-03-24 | 株式会社东芝 | 存储器系统 |
JP4653817B2 (ja) * | 2008-03-01 | 2011-03-16 | 株式会社東芝 | メモリシステム |
CN101681316A (zh) | 2008-03-01 | 2010-03-24 | 株式会社东芝 | 存储器系统 |
JP4762261B2 (ja) | 2008-03-12 | 2011-08-31 | 株式会社東芝 | メモリシステム |
US7941592B2 (en) * | 2008-08-14 | 2011-05-10 | Bonella Randy M | Method and apparatus for high reliability data storage and retrieval operations in multi-level flash cells |
US8482976B2 (en) | 2008-12-09 | 2013-07-09 | Kabushiki Kaisha Toshiba | Semiconductor memory device and semiconductor memory system storing multilevel data |
JP4551958B2 (ja) * | 2008-12-22 | 2010-09-29 | 株式会社東芝 | 半導体記憶装置および半導体記憶装置の制御方法 |
JP2010152514A (ja) * | 2008-12-24 | 2010-07-08 | Toshiba Corp | メモリシステム |
JP5221332B2 (ja) | 2008-12-27 | 2013-06-26 | 株式会社東芝 | メモリシステム |
JP5317690B2 (ja) | 2008-12-27 | 2013-10-16 | 株式会社東芝 | メモリシステム |
JP5198245B2 (ja) * | 2008-12-27 | 2013-05-15 | 株式会社東芝 | メモリシステム |
JP5376983B2 (ja) * | 2009-02-12 | 2013-12-25 | 株式会社東芝 | メモリシステム |
US8495423B2 (en) * | 2009-08-11 | 2013-07-23 | International Business Machines Corporation | Flash-based memory system with robust backup and restart features and removable modules |
US8432732B2 (en) * | 2010-07-09 | 2013-04-30 | Sandisk Technologies Inc. | Detection of word-line leakage in memory arrays |
US9424930B2 (en) * | 2010-09-15 | 2016-08-23 | Sandisk Technologies Llc | Apparatus, system, and method for non-volatile storage element programming |
JP5764392B2 (ja) * | 2011-06-13 | 2015-08-19 | 株式会社メガチップス | メモリコントローラ |
US8725933B2 (en) * | 2011-07-01 | 2014-05-13 | Intel Corporation | Method to detect uncompressible data in mass storage device |
US8930614B2 (en) * | 2011-07-29 | 2015-01-06 | Kabushiki Kaisha Toshiba | Data storage apparatus and method for compaction processing |
WO2014061055A1 (en) * | 2012-10-15 | 2014-04-24 | Hitachi, Ltd. | Storage sysyem which includes non-volatile semiconductor storage medium, and storage control method of storage system |
US8780635B2 (en) * | 2012-11-09 | 2014-07-15 | Sandisk Technologies Inc. | Use of bloom filter and improved program algorithm for increased data protection in CAM NAND memory |
JP6004923B2 (ja) * | 2012-11-29 | 2016-10-12 | キヤノン株式会社 | 情報処理装置及びその制御方法とプログラム |
US8982617B1 (en) * | 2013-11-14 | 2015-03-17 | Sandisk Technologies Inc. | Block closure techniques for a data storage device |
KR102211868B1 (ko) * | 2014-12-15 | 2021-02-04 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
-
2010
- 2010-12-17 JP JP2010282299A patent/JP2012128816A/ja active Pending
-
2011
- 2011-12-16 US US13/328,420 patent/US9330752B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014006902A (ja) * | 2012-06-22 | 2014-01-16 | Freescale Semiconductor Inc | フラッシュメモリ内に記憶されるデータのためのアドレスramを有するエミュレート電気的消去可能メモリ |
JP2017151510A (ja) * | 2016-02-22 | 2017-08-31 | Kyb株式会社 | コントローラ |
Also Published As
Publication number | Publication date |
---|---|
US20120159058A1 (en) | 2012-06-21 |
US9330752B2 (en) | 2016-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2012128816A (ja) | メモリシステム | |
US11573712B2 (en) | Memory system storing management information and method of controlling same | |
US8990458B2 (en) | Controller, semiconductor storage device and method of controlling data writing | |
JP5060574B2 (ja) | メモリシステム | |
EP2115594B1 (en) | Memory system | |
JP5253901B2 (ja) | メモリシステム | |
US20140075100A1 (en) | Memory system, computer system, and memory management method | |
US20090222636A1 (en) | Memory system and memory initializing method | |
JP2008181380A (ja) | メモリシステムおよびその制御方法 | |
JP2009205555A (ja) | メモリシステム | |
TWI720985B (zh) | 記憶體系統及其操作方法 | |
TWI664634B (zh) | 快閃記憶體控制器、管理快閃記憶體模組的方法及相關的電子裝置 | |
US20150058697A1 (en) | Storage device, controller and memory controlling method | |
US9123443B2 (en) | Memory device, memory management device, and memory management method | |
US20130080716A1 (en) | Controller, memory system, and inspection method | |
US20140289454A1 (en) | Storage device and controller | |
TWI734063B (zh) | 快閃記憶體控制器、管理快閃記憶體模組的方法及相關的電子裝置 | |
US9847136B2 (en) | Operating method for host device and memory system including host device and storage device | |
JP2015222590A (ja) | メモリシステム | |
JP5002629B2 (ja) | メモリシステム | |
JP2013137674A (ja) | メモリシステム | |
JP2010128697A (ja) | メモリシステム | |
KR20100028782A (ko) | 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 관리 방법 | |
TW202028967A (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
US11972115B2 (en) | Memory system storing management information and method of controlling same |