JP2010160605A - 半導体記憶装置、ホスト機器及び半導体記憶システム - Google Patents

半導体記憶装置、ホスト機器及び半導体記憶システム Download PDF

Info

Publication number
JP2010160605A
JP2010160605A JP2009001442A JP2009001442A JP2010160605A JP 2010160605 A JP2010160605 A JP 2010160605A JP 2009001442 A JP2009001442 A JP 2009001442A JP 2009001442 A JP2009001442 A JP 2009001442A JP 2010160605 A JP2010160605 A JP 2010160605A
Authority
JP
Japan
Prior art keywords
data
block
command
physical
write
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.)
Granted
Application number
JP2009001442A
Other languages
English (en)
Other versions
JP5300496B2 (ja
Inventor
Hideaki Yamashita
英明 山下
Takeshi Otsuka
健 大塚
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.)
Panasonic Corp
Original Assignee
Panasonic 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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2009001442A priority Critical patent/JP5300496B2/ja
Priority to US12/652,790 priority patent/US8352807B2/en
Publication of JP2010160605A publication Critical patent/JP2010160605A/ja
Application granted granted Critical
Publication of JP5300496B2 publication Critical patent/JP5300496B2/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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • 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/7202Allocation control and policies

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)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

【課題】半導体記憶装置において、電源断や書き込みエラーで既に書き込みを完了していたセル共有部分のデータが破壊されないようにすること。
【解決手段】ホスト機器200Aにデータバッファ250を備える。既に物理ブロックの一部にデータが書き込まれており、更にその物理ブロックにデータを書き込む際に、データバッファにその物理ブロックの書き込み済みのデータが保持されているかどうかを識別する。データが保持されている場合にはそのまま書き込み、エラーがあれば物理ブロック単位での再書き込みを行う。又データバッファにデータが保持されていない場合には、新物理ブロックの確保を要求した後にデータの書き込みを行う。こうすれば、書き込み途中に電源が遮断されたりエラーが生じても、以前に書き込みを完了していたデータが破壊されることはなくなる。
【選択図】図6A

Description

本発明は、メモリカードなどの半導体記憶装置、ホスト機器及び半導体記憶システムに関し、特に半導体記憶装置の内部の不揮発性メモリで発生する書き込みのエラーを修復する技術に関する。
従来、フラッシュメモリが内蔵されたカード型の記録媒体であるSD(SecureDigital)カード等の半導体記憶装置は、超小型、超薄型であり、その取り扱い易さから、ディジタルカメラ、携帯機器等において画像等のデータを記録するために広く利用されている。
この半導体記憶装置に内蔵されているフラッシュメモリは、一定サイズのブロック単位でデータを消去し書き換えできる不揮発性のメモリである。昨今の大容量化の要請に対応すべく、フラッシュメモリは1セルで2ビット以上のデータを蓄積可能なフラッシュメモリが商品化されている。
図1,図2を用いて、1セルあたり2ビットの情報を表現するMLC(マルチレベルセル)フラッシュメモリ(以下、多値フラッシュメモリ)のフローティングゲートに蓄積する電子の数と閾値電圧(Vth)の関係を説明する。
図1はフラッシュメモリの1セルの構成を示す。フラッシュメモリ10はPチャンネルサブストレート11上にNチャンネルのソース及びトレイン電極12,13が形成され、その間にトンネル酸化膜14、フローティングゲート15、絶縁酸化膜16及びコントロールゲート17が積層して構成される。このようにフラッシュメモリは揮発性ダイナミック・ランダム・アクセス・メモリ(DRAM)と異なり、フローティングゲート15という電荷を保持する領域がトランジスタ内部に追加されている。フローティングゲート15に蓄積されている電荷の状態によって、電流が流れる時の電圧の閾値が変わる。図1(a)は電荷が蓄積されていないデータ書き込み前の初期状態であり、図1(b)は電荷が蓄積されておりデータを書き込んだ状態を示す。
図2に、多値フラッシュメモリのフローティングゲートに蓄積する電子の数と閾値電圧(Vth)の関係の一例を示す。2値フラッシュメモリの場合、フローティングゲートに電子のあるなしで電流が流れる時の電圧が変わるが、1セルあたり2ビットの情報を表現する4値フラッシュメモリの場合は電荷の量によって電流が流れる時の閾値電圧が4状態存在する。図2に示すように、4値のフラッシュメモリでは、フローティングゲートの電子の蓄積状態をその閾値電圧(Vth)に従って4状態で管理する。消去状態は電位が一番低く、これを(1,1)とする。そして電子が蓄積していくにつれて閾値電圧が離散的に上昇し、その状態を夫々(1,0)(0,0)(0,1)とする。このように、蓄積する電子の数に比例して電位が上昇するので、所定の電位の閾値に収まるように制御することによって、1つのメモリセルに2ビットのデータを記録することができる。
図3に4値のフラッシュメモリの1つの物理ブロックの模式図を示す。図3に示す物理ブロックは、2K個(Kは自然数)のページによって構成されている。そして、書き込み処理は、ページ番号0から昇順に実施される。ここで、ページ番号m(0≦m<K)のページとページ番号(K+m)番のページは1つのメモリセルを共有している関係(以下、セル共有関係という)にあるとする。セル共有関係にあるページにおいて、最初に書き込むページを第1ページ、次に書き込むページを第2ページと呼ぶ。つまり、ページ番号mへの書き込み(第1ページへの書き込み)と、ページ番号(K+m)への書き込み(第2ページへの書き込み)は、同一のセルに電子をチャージしていることになる。図2を参照に説明すると、第1ページへの書き込みでは、電位は最大でも半分までしか上昇しないように制御し、次の第2ページへの書き込みでは、半分から最大まで電位が上昇するように制御する。
図4に、フラッシュメモリセルの状態遷移を示す。図4に示すように、フラッシュメモリの物理ブロックの1つのメモリセルの状態は、以下のように遷移する。
(a)データを消去した後は、メモリセルの状態は(1,1)
(b)第1ページへの書き込み後は、セルの状態は(1,1)又は(1,0)
(c)第2ページへの書き込み後は、セルの状態は(1,1),(1,0),(0,0)又は(0,1)
このように、多値のフラッシュメモリでは、閾値電圧Vthに複数の状態を設けてフラッシュメモリの電子の蓄積量を制御する多値記録を行い、大容量化を実現している。
上記の(b)(c)について更に詳細に説明する。(b)においては、対応する論理ページに1を書き込んだ後の状態が(1,1)である。また0を書き込んだ後の状態が(1,0)となる。更に(c)においては、(b)での状態によって遷移が限定される。即ち、(b)で(1,1)の状態からの遷移は、1を書き込んだ場合は(1,1)の状態が保持され、0を書き込んだ場合は(0,1)となる。一方、(b)で(1,0)の状態からの遷移は、1を書き込んだ場合は(1,0)の状態が保持され、0を書き込んだ場合は(0,0)となる。よって、同一物理ページにおいて、第1ページの値は、第2ビットに反映され、次に書き込む第2ページの値は第1ビットに反映される。
また、フラッシュメモリはフローティングゲート15に蓄積した電荷を保持するために、絶縁機能を持つトンネル酸化膜14を用いる。書き込み時や消去時には、この酸化膜を電子が通り抜けることになり、酸化膜が劣化していく。書き換えを繰り返すと酸化膜が損傷して、絶縁の役目を果たさなくなる。このため、書き換え回数が制限されるという特徴が存在する。
次に、書き込みエラーの発生について説明する。4値フラッシュメモリの場合は、メモリセルを第1ページと第2ページの2論理ページで共有している。図3に示すページ0〜ページ(K−1)の書き込みは第1ペ−ジの書き込みであり、この場合の書き込みエラーはVthが(1,1)の状態から(1,0)に上昇しないエラーである。また、図3に示すページK〜ページ(2K−1)の書き込みは第2ページの書き込みであり、Vthの状態は(1,1)(1,0)(0,0)(0,1)になる。この場合の書き込みエラーは、
(エラー1) Vth(1,0)が(0,0)に上昇しない。
(エラー2) Vth(1,1)が(0,1)に上昇しない。
場合がある。エラー1の場合は、Vth(1,0)とVth(0,0)が隣接しているが、エラー2の場合のVth(1,1)とVth(0,1)は間に2状態はさんでいる。特に、Vth(1,0)は第1ページの書き込み後の値であり、第2ページの書き込みによってVthが(1,0)にまでしか上昇しなかった場合は第2ページが書き込みエラーになるのみならず、第1ページのデータも破壊してしまうことになる。
次に、書き込み時のエラーが別ファイルを破壊する可能性についてより詳しく説明する。図5の左側が論理アドレス空間上の1つの論理ブロックであり、図5の右側のフラッシュメモリの物理アドレス空間の物理ブロックに対応している。この物理ブロックにファイル1が既に書き込まれていて、ファイル2をその後に追記するものとする。ファイル1が既に物理アドレス空間のページ0からページ(K−2)までに記録されており、ファイル2をページ(K−1)から(2K−1)までに追記するものとする。この例では、説明を簡易にするためにページを昇順に利用している。ファイル2の書き込み中に、例えば図5に示すように、ページKの書き込み中に発生した書き込みエラーや突然の電源断により、ページ0に書き込み済みであったデータを破壊する可能性がある。つまり、ページ0のデータが破壊されれば、ファイル2の書き込みにより、ファイル1も破壊してしまう結果になる。
この課題を解決するために、特許文献1では、フラッシュメモリを制御するメモリコントローラにバッファメモリを設け、第2ページの書き込みが完了するまで、第1ページのデータをバッファメモリに格納しておき、第2ページの書き込みで書き込みエラーが発生した場合は、バッファメモリのデータをロードし、第1ページのデータもフラッシュメモリに書き込むように制御している。
特開2006−318336号公報
しかしながら、従来の手法では第2ページの書き込みが終了するまで第1ページのデータをバッファメモリに保持しておく必要がある。1つの物理ブロックに複数のファイルを書き込む場合には、現在書き込み中のファイル以外のデータは過去に書き込んだデータであり、ホスト機器、あるいは半導体記憶装置にデータが残っていないためにリトライできないケースがあり、復旧できないといった課題が発生する。
また、データ書き込み中の突然の電源断が発生した場合には、復旧するためのデータを保持していてもリトライ自体ができないために、復旧できないといった問題点もあった。
本発明は、上記問題を解決するものであり、不揮発性メモリには書き込んだがホスト機器や半導体記憶装置のバッファには保存していないデータがあっても、新たな書き込みでそのデータには書き込みエラーが伝搬しない信頼性の高い半導体記憶装置、ホスト機器及び半導体記憶システムを提供することを目的とする。
この課題を解決するために、本発明の半導体記憶システムは、ホスト機器と半導体記憶装置とを具備する半導体記憶システムであって、前記半導体記憶装置は、複数の物理ブロックにより構成される不揮発性メモリと、前記ホスト機器より与えられる論理アドレスを前記不揮発性メモリの物理アドレスに変換するアドレス変換手段と、前記不揮発性メモリへデータの書き込みを行うデータ書き込み手段と、前記不揮発性メモリからデータの読み出しを行うデータ読み出し手段と、ホスト機器が発行するコマンドにかかる論理ブロックと前記不揮発性メモリの物理ブロックとの対応を記録してアドレス管理を行う論物変換テーブルを備えたブロック管理手段と、前記不揮発性メモリのメモリ情報を通知するメモリ情報通知手段と、を備え、前記ホスト機器は、前記半導体記憶装置のメモリ情報通知手段から通知されたメモリ情報に基づいて書き込み単位となる物理ブロックの境界を管理するブロック境界管理手段と、前記ブロック境界管理手段からの物理ブロックへのアクセス単位をもとに書き込むべきデータと書き込みコマンドを分割するコマンド分割手段と、書き込みコマンドの発行時に書き込むべきデータを保存するデータバッファと、前記半導体記憶装置に書き込みコマンドを発行すると共に、半導体記憶装置への書き込み時に書き込みエラーが発生した場合には、書き込みエラーが発生したブロックに書き込むべきデータを前記データバッファより読み出して書き込みコマンドを再発行するコマンド発行手段と、前記データバッファに保存しているデータを開放するかどうかを書き込みエラーが伝搬する範囲に基づいて判断するデータ解放判断手段と、を備えるものである。
ここで前記データ解放判断手段は、物理ブロック単位でデータの転送が完了した時点で前記データバッファのデータを解放すると判断するようにしてもよい。
ここで前記コマンド発行手段は、エラーが発生したときに、前記データバッファに物理ブロック単位のデータがあれば物理ブロック全体の書き込みコマンドを再発行し、前記データバッファに物理ブロック単位のデータがなければエラーになった当該コマンドを再発行するようにしてもよい。
ここで前記ホスト機器は、データの書き込み時に、前記半導体記憶装置にそのデータが書き込まれるブロックの記録済みデータを前記データバッファに保持していないときに、新ブロックへの書き込みを要求する新ブロック書き込み要求手段をさらに備えるようにしてもよい。
ここで前記新ブロック書き込み要求手段は、電源投入後の最初の書き込みコマンドを発行する際に新ブロックへの書き込みを要求するようにしてもよい。
ここで前記半導体記憶装置は、書き込みコマンドが書き込みエラーになった場合に、当該コマンドのアドレス領域以外に影響が及ぶかを判断してエラーステータスとして前記ホスト機器に通知するエラー伝搬検出手段を備え、前記コマンド発行手段は、エラーステータスが当該コマンドのアドレス領域以外に影響が及ぶ場合には所定の物理ブロック全体の書き込みコマンドを再発行し、エラーステータスが当該コマンドのアドレス領域以外に影響が及ばない場合にはエラーになった当該コマンドを再発行するようにしてもよい。
ここで前記不揮発性メモリは多値のフラッシュメモリであり、メモリセルを共有する単位をグループとすると前記物理ブロックは少なくとも1つのグループを含むものとしてもよい。
ここで前記物理ブロックは、前記メモリの最小の消去単位及びその整数倍の消去単位のいずれかとしてもよい。
この課題を解決するために、本発明のホスト機器は、半導体記憶装置に接続されるホスト機器であって、前記半導体記憶装置のメモリ情報に基づいて書き込み単位となる物理ブロックの境界を管理するブロック境界管理手段と、前記ブロック境界管理手段からの物理ブロックへのアクセス単位をもとに書き込むべきデータと書き込みコマンドを分割するコマンド分割手段と、書き込みコマンドの発行時に書き込むべきデータを保存するデータバッファと、前記半導体記憶装置に書き込みコマンドを発行すると共に、半導体記憶装置への書き込み時に書き込みエラーが発生した場合には、書き込みエラーが発生したブロックに書き込むべきデータを前記データバッファより読み出して書き込みコマンドを再発行するコマンド発行手段と、前記データバッファに保存しているデータを開放するかどうかを書き込みエラーが伝搬する範囲に基づいて判断するデータ解放判断手段と、を具備するものである。
ここで前記データ解放判断手段は、物理ブロック単位でデータの転送が完了した時点で前記データバッファのデータを解放すると判断するようにしてもよい。
ここで前記コマンド発行手段は、エラーが発生したときに、前記データバッファに物理ブロック単位のデータがあれば物理ブロック全体の書き込みコマンドを再発行し、前記データバッファに物理ブロック単位のデータがなければエラーになった当該コマンドを再発行するようにしてもよい。
ここで前記ホスト機器は、データの書き込み時に、前記半導体記憶装置にそのデータが書き込まれるブロックの記録済みデータを前記データバッファに保持していないときに、新ブロックへの書き込みを要求する新ブロック書き込み要求手段をさらに備えるようにしてもよい。
ここで前記新ブロック書き込み要求手段は、電源投入後の最初の書き込みコマンドを発行する際に新ブロックへの書き込みを要求するようにしてもよい。
この課題を解決するために、本発明の半導体記憶装置は、ホスト機器に接続される半導体記憶装置であって、複数の物理ブロックにより構成される不揮発性メモリと、前記ホスト機器より与えられる論理アドレスを前記不揮発性メモリの物理アドレスに変換するアドレス変換手段と、前記不揮発性メモリへデータの書き込みを行うデータ書き込み手段と、前記不揮発性メモリからデータの読み出しを行うデータ読み出し手段と、ホスト機器が発行するコマンドにかかる論理ブロックと前記不揮発性メモリの物理ブロックとの対応を記録してアドレス管理を行う論物変換テーブルを備えたブロック管理手段と、前記不揮発性メモリのメモリ情報を通知するメモリ情報通知手段と、を具備するものである。
本発明の半導体記憶システムによれば、データ解放判断手段を設けて、所定のブロック単位でデータの転送が完了した時点で所定のブロック単位にデータバッファのデータを解放する。こうすればセル共有に伴うエラー伝搬が発生しても、データバッファのデータを用いて再度書き込みを行うことができ、エラー伝搬にかかるデータ破壊をなくすことが可能になる。
さらに、請求項4,5,12,13の発明では、ホスト機器に新ブロック書き込み要求手段を設け、ホスト機器がセル共有部のデータを保持していない場合の書き込みを行う際には、半導体記憶装置に対して新ブロック書き込み要求手段から明示的に新ブロックへの書き込みを要求して新規に確保したブロックへの書き込みを行うようにしている。これにより、セル共有に伴うエラー伝搬の影響をなくすことができ、信頼性の高い半導体記憶システムを提供することが可能である。
(第1の実施の形態)
以下第1の実施の形態について、図面を参照しながら説明する。図6A,図6Bは、本発明の第1の実施の形態における半導体記憶システムの構成図である。半導体記憶システムは、半導体記憶装置100Aと、ホスト機器200Aとを含んで構成される。半導体記憶装置100Aはホスト機器200Aから書き込みコマンドに従ってデータを記憶すると共に、読み出しコマンドに従ってデータを読み出し、ホスト機器200Aに対して送出するものである。ホスト機器200Aは半導体記憶装置100Aを制御すると共にデータの書き込みと読み出しを行うものである。
次に本実施の形態による半導体記憶装置100Aの各ブロックについて図6Aを用いて説明する。外部インターフェイス手段110は、ホスト機器200Aからのコマンドやデータを受信し、データの転送を行うインターフェイスである。
アドレス変換手段120は後述する論物変換テーブルに基づいてホスト機器200Aがデータの読み書きを要求した論理アドレスを半導体記憶装置100A内の物理メモリのアドレスに変換するものである。
データ書き込み手段130は、外部インターフェイス手段110より転送されてきたデータをフラッシュメモリ140の物理ブロックの各ページに記録するものである。またデータの書き込み時にエラーがあればインターフェイス手段110を介してエラーステータスをホスト機器200Aに伝送する。
フラッシュメモリ140は4値のフラッシュメモリであり、多数の物理ブロックから構成される。物理ブロックは消去単位であって、夫々2K個(Kは自然数)のページを有する。フラッシュメモリの内部は前述した図3に示すように0〜(2K−1)までのページ番号で管理されている。このうちページ番号0〜(K−1)のKページはメモリセルの第1ページにより構成され、ページ番号K〜(2K−1)のKページはメモリセルの第2ページにより構成される。尚ここでは1つのフラッシュメモリを用いているが、複数のフラッシュメモリを並列に用いてもよい。
データ読み出し手段150は、ホスト機器200Aより読み出しコマンドが与えられたときに、指定された論理ブロックに対応するフラッシュメモリ140の物理ブロックより、データを読み出すものである。
コマンド解析手段160はホスト機器より出されたリードライトコマンド、ライトコマンド等のコマンドを解析するものである。
ブロック管理手段170は、論物変換テーブル171と空きブロック管理テーブル172を有している。論物変換テーブル171はホスト機器より指示される論理ブロックと、論理ブロックに対応するフラッシュメモリの物理ブロックのアドレスとを関連づけるものである。本実施の形態では、論物変換テーブル171は、フラッシュメモリ140の一部の領域を用いて記憶するものとして説明する。空きブロック管理テーブル172は電源の投入後に生成されるもので、各物理ブロックの使用又は未使用を示すテーブルである。
ブロック管理手段170は、これらのテーブルを登録、更新すると共に、データ書き込みの際に、論理ブロックに対応する新規物理ブロックを空きブロック管理テーブル172を参照して抽出し、新規の論理ブロックが物理ブロックに割り当てられた場合に論物変換テーブル171を更新するものである。
メモリ情報通知手段180はフラッシュメモリ140のメモリの仕様、即ち物理ブロックのサイズやフラッシュメモリの搭載数を外部インターフェイス手段110を介してホスト機器200Aに通知するものである。
次に実施の形態によるホスト機器200Aの各ブロックについて図6Bを用いて説明する。外部インターフェイス手段210は、半導体記憶装置100Aに対してコマンド送信及びデータの転送を行うと共に、半導体記憶装置100Aより読み出されたデータやメモリ情報を受信するものである。
コマンド発行手段220は、半導体記憶装置100Aに対して書き込みコマンドや読み出しコマンドを生成するものである。
新ブロック書き込み要求手段230は、半導体記憶装置100Aに対して新たに物理ブロックを確保してからデータの書き込みを要求するものであり、コマンド発行手段200の書き込みコマンドに付して半導体記憶装置100Aに送出される。
コマンド分割手段240は、ホスト機器200Aが半導体記憶装置100Aに書き込みを行う際に、書き込むべきデータをホスト機器200Aと半導体記憶装置100Aのフラッシュメモリの仕様等に基づいて一定サイズのデータの書き込みコマンドに分割するものである。
データバッファ250は、データを一時的に保持するメモリであり、ホスト機器200Aの処理に応じて頻繁に、確保と、解放が行われる。データバッファ250は、半導体記憶装置100Aに転送するデータに加えて、エラー発生時に備えて、エラーの伝搬がおよぶ領域のデータも保持するものである。また、データバッファ250は、通常ホスト機器200Aのソフトウエアが管理を行う。データ転送が必要になれば、データバッファ250の一部の領域を確保して、データの作成をして、データ転送を行う。データ転送が終われば別の処理に利用するために、確保した領域を解放する。
ブロック境界管理手段260は、半導体記憶装置100Aに搭載されているフラッシュメモリの物理ブロックの情報を保持しており、ホスト機器200Aが半導体記憶装置100Aにデータを書き込む際に、物理ブロックのサイズとその境界からエラーが伝搬する範囲を特定するものである。
データ解放判断手段270は、データバッファ250のデータを解放するかどうかを判断するものである。データ解放判断手段270は、半導体記憶装置100Aに記録される状態に基づきエラーが既に書き込まれた物理ブロックのデータに伝搬しても再書き込みができるように、データバッファ250にデータを保持しておくと共に、エラーが伝搬する可能性がなくなればデータバッファ250を解放するものである。
次に図7にフラッシュメモリ140の領域マップを示す。フラッシュメモリ140はA個(Aは自然数)の物理ブロックより構成されており、本実施の形態では、A個の物理ブロックに対して0〜(A−1)の物理ブロック番号を付している。1つの物理ブロックには多値フラッシュメモリのメモリセルを共有する少なくとも1つのグループが含まれている。
そして、物理ブロック番号0〜(B−1)(Bは、B<Aを満たす自然数)のB個の物理ブロックをフラッシュメモリ140の第1領域141、物理ブロック番号B〜(A−1)の(A−B)個の物理ブロックをメモリの第2領域142とする。フラッシュメモリ140の第1領域141にはホストから転送されるユーザデータを記録し、第2領域142には論物変換テーブル171等のシステムデータを記録する。
また論理ブロック番号は0〜(B−m)(m>1)とすると、論理ブロックに対応するフラッシュメモリの第1領域の物理ブロック数を論理ブロック数より多く割り当てる。これにより、書き込み済みの論理ブロックを書き換える場合において、当該論理ブロックに対応して書き込まれている物理ブロックとは別の物理ブロックに書き込むことが可能となる。よって、ホスト機器から同一の論理ブロックに集中して書き込みコマンドが発行された場合においても、書き換えが同一の物理ブロックに集中することを防止している。
フラッシュメモリは、
(a)書き込み済みのページに上書きすることはできない。
(b)フラッシュメモリには書き換え回数寿命がある。
といった特徴がある。このため、論理ブロック番号と物理ブロック番号の対応表である論物変換テーブル171を作成し、ブロック管理手段170により管理している。
以下、ブロック管理手段170について詳細に説明する。論物変換テーブル171は図8に一例を示すように、論物変換主テーブル171aと論物変換補助テーブル171bを有している。論物変換主テーブル171aでは、論理ブロック番号LB0の論理ブロックが物理ブロック番号PB3の物理ブロックに、論理ブロック番号LB1の論理ブロックが物理ブロック番号PB6の物理ブロックにマッピングされていることを示している。また論理ブロック番号LBL及びLB(L+1)の論理ブロックには、対応する物理ブロックとして無効な番号Aが記録されている。これはこれらの論理ブロックLBL,LB(L+1)にデータが書かれていないことを示している。
また図8(b)に示す論物変換補助テーブル171bは、1つの論理ブロックに複数の物理ブロックが割り当てられたときに追加の物理ブロックの番号を保持するものである。この論物変換補助テーブル171bへの登録数は少なくとも1つとし、ここでは登録数が1の場合について説明する。
ブロック管理手段170では、空きブロック管理テーブル172を管理しながら半導体記憶装置全体のブロック管理を実施している。図9は空きブロック管理テーブル172の一例であり、各物理ブロックの使用状態を示す。使用状態が1の物理ブロックは使用中、0の物理ブロックは空きブロックで新たに使用できることを示す。
ブロック管理手段170は、電源が供給されると、空きブロック管理テーブル172の全ブロックを空き状態に初期化し、不良ブロックを使用済みに更新する。不良ブロックの管理は発明の本質から外れるので詳細な説明はしないが、フラッシュメモリの固定位置に書き込んでおく。次いで論物変換テーブル171を読み出し、これに基づいて使用されている物理ブロックを使用済みに更新する。また書き込み済みの論理ブロックを書き換えるときは、空きブロック管理テーブル172よりランダムにサーチして空き物理ブロックを新規物理ブロックとして選択する。選択された物理ブロックにデータが書き込まれると、そのブロックを使用済みブロックに、当該論理ブロックに対応していた直前の物理ブロックを空きブロックに更新する。
ホスト機器200Aのファイルを半導体記憶装置100Aに転送して書き込む処理の概略について、図10を用いて説明する。まず、ホスト機器200A上のアプリケーションが半導体記憶装置100Aにファイルを書き込む場合、ファイルシステムが半導体記憶装置100Aへ書き込む論理アドレスを求める。半導体記憶装置100Aへ書き込む際には、ホスト機器200A内のデータバッファ250のサイズや半導体記憶装置100Aで受けられる転送サイズなどの制約により、ファイルを小さなサイズに分割して半導体記憶装置100Aへ書き込む。図10ではファイルを1から6の6つのブロックに分割して書き込みを行う。図10の半導体記憶システムは、ホスト機器200Aのコマンド分割手段240により分割後、転送すべきデータをデータバッファ250に蓄積し、コマンド発行手段220で書き込みコマンドを生成して、外部インターフェイス手段210経由でコマンドを発行する。ホスト機器200Aと半導体記憶装置100A間でデータ転送が完了して、半導体記憶装置100A内のフラッシュメモリ140へのデータの書き込みが完了すれば、データバッファ250内のデータを開放し、次の転送へ移行する。図10に示す1から6の6つのブロックの転送が完了すれば、ファイルの転送が完了したことになる。
次にホスト機器200Aの全体動作について、以下詳細に説明する。図11はホスト機器200Aの動作を示すフローチャートである。ここではホスト機器200Aは半導体記憶装置100Aにファイル1,2,3・・・を順次記録する場合について説明する。図11において処理を開始すると、図10に示すようにコマンド分割手段240により、コマンドをファイルの転送サイズに分割する(S11)。分割の手順としては、半導体記憶装置100Aから、メモリ情報通知手段180を経由して、フラッシュメモリ140の情報を取り出す。コマンド分割手段240は、ブロック境界管理手段260に保持している物理ブロックサイズをもとに書き込むべきファイルを物理ブロックの境界で分割する。次にデータを書き込もうとしている物理ブロックに既に書き込まれたデータとこれから転送するデータがデータバッファ250に保持されているかを確認する(S12)。データが存在する場合は、分割したデータを含む書き込みコマンドを半導体記憶装置100Aに対して発行する(S13)。エラーが発生することなく書き込みが終了した場合は、転送を終了した物理ブロック単位の分のデータがデータバッファ250にあれば、これを解放する(S16)。次いでS17に進み、全ファイルの書き込みが終了したかどうか判断する。全ファイルの書き込みが終了していない場合には、S11へ戻り、再度ファイルの残り部分を書き込む。ファイルの書き込みが完了した場合には、転送を終了する。エラーが発生した場合にはS14からS15に進み、当該コマンドで転送したデータを含む物理ブロック全体のデータを再度書き込む。こうすればエラーが生じた物理ブロック内のデータを復旧することができる。
一方、S12でデータを書き込もうとしている物理ブロックに対して既に書き込まれたデータがデータバッファ250に保持されていない場合は、S21に進む。この場合は新物理ブロックを要求するコマンドを発行し、書き込みコマンドを発行する(S21,S22)。この書き込みによってエラーが発生したかどうかを判断する。エラーが発生しない場合には、S17に進む。エラーが発生した場合には、当該コマンドで書き込めなかったデータのみ再書き込みを行う。
さて、ホスト機器200Aが半導体記憶装置100Aに書き込みコマンドを出すと、アドレス変換手段120は、ホスト機器200Aが書き込みを要求した論理アドレスを実際に書き込みを行う物理アドレスに変換する。その物理ブロックに空きがあれば追記書き込みを行い、空きがなければ新物理ブロックを確保する。新物理ブロックの確保が必要であれば、ブロック管理手段170は空きブロック管理テーブル172をサーチして新規物理ブロックを確保する。データ書き込み手段130は、新たに物理ブロックが確保された後に、フラッシュメモリ140に対して書き込みを行う。
次にS13以降の処理についてより詳しく図12を用いて動作例と共に説明する。図12の上図が論理アドレス空間LAであり、下図がこれに対応する物理アドレス空間PAを示す概念図である。まずファイル1の(1−1)の部分を論理ブロックLB1に割り当て、このデータを物理ブロックPB1に書き込み、ファイル1の(1−2)の部分を論理ブロックLB2に割り当て、このデータを物理ブロックPB2の前半部分に書き込む。続いてファイル2を書き込む場合に、(2−1)の部分を論理ブロックLB2に割り当て、物理ブロックPB2の後半部分に書き込む。このときS12ではデータバッファ250が直前のファイル1の(1−2)部分のデータを保持しているかどうかを確認しており、保持していれば(2−1)のデータを物理ブロックPB2の後半部分に追記する。この書き込み中にエラーが発生した場合には、ファイル1,2の(1−2)と(2−1)の部分を再度書き込むことにより、物理ブロックのデータの安全性は確保される。データ解放判断手段270は、図12のファイル1の(1−2)の転送が完了した時点ではデータバッファ250のデータの解放を行わずに、次のファイル2の(2−1)の書き込み時のエラーに備えて、データを保存したままにしておく。ファイル2の(2−1)の書き込みが完了した時点で、データ解放判断手段270は、ファイル1の(1−2)及びファイル2の(2−1)のデータを解放すると判断し、データバッファ250内のデータを解放する(S16)。
これについて、図13を用いて更に詳細に説明する。図13では左側の論理アドレス空間の論理ブロックLB2の一部に、図示のようにファイル1の(1−2)部分が既に書き込み済みであり、論理ブロックLB2に対応する物理ブロックPB2のページ0から(K−2)までにファイル1の(1−2)部分が書き込まれているものとする。この場合は物理ブロックPB2にファイル(2−1)追記して書き込む。
更に、S21以の処理についてより詳しく図14を用いて動作例と共に説明する。図12と同様にファイル1の(1−1)の部分を論理ブロックLB1に割り当て、このデータを物理ブロックPB1に書き込み、ファイル1の(1−2)の部分を論理ブロックLB2に割り当て、このデータを物理ブロックPB2の前半部分に書き込む。ファイル1書き込み後に、ホスト機器200Aと半導体記憶装置100Aの電源がオフとなり、その後、再度電源が投入され、ファイル2を書き込むものとする。電源オフによりホスト機器200Aのデータバッファ250にはファイル1の(1−2)の部分のデータは消えている。従ってS12ではデータが存在しないと判断され、S21に進む。この場合には、ファイル2の(2−1)の書き込みに先立って、新たな物理ブロックを要求する。そして論理ブロックLB2にファイル2の(2−2)に対してデータを書き込む。半導体記憶装置100Aは新物理ブロック、例えばPB10を抽出し、このブロックにファイル2のデータ(2−1)部分を書き込む。この書き込み中にエラーが発生したとしても、物理ブロックPB2に書き込まれているファイル1の(1−2)部分のデータには影響がない。従ってファイル2の(2−1)部分のみ再度書き込みを行うことで復旧することができる。
この方法によれば、電源がオンとなる以前に書き込まれたファイルを破壊しないで書き込むことができる。これについて、図15を用いて更に詳細に説明する。図15では左側の論理アドレス空間の論理ブロックLB2の一部に、図示のようにファイル1の(1−2)部分が既に書き込み済みであり、論理ブロックLB2に対応する物理ブロックPB2のページ0から(K−2)までにファイル1の(1−2)部分が書き込まれているものとする。この場合の論物変換テーブル171の状態の変化を説明する。図16は図15の物理ブロックPB2が登録されていることを示す論物変換テーブルである。即ち論物変換主テーブル171aの論理ブロック番号LB2は物理アドレス空間の物理ブロックPB2に割り当てられている。
さてこの状態で論理ブロックLB2にファイル(2−1)を追記する。この場合は物理ブロックPB2へ追記はせずに新たに物理ブロックPB10を確保し、この物理ブロックPB10にファイル(2−1)を書き込む。図16(b)は、論理ブロックが2つの物理ブロックから構成される場合に、利用する論物変換補助テーブル171bであり、このテーブルに示すように論理ブロックLB2が右下側の物理ブロックPB10にも割り当てられている。こうすれば、ファイル(2−1)の書き込み中に突然の電源断が発生しても、ファイル1の(1−2)が保持されている物理ブロックとは異なるために、ファイル1の破壊を回避することができる。
データバッファ250は、通常限られた領域であり、ホスト機器200Aの処理に応じて頻繁に、確保と、解放が行われる。本発明では、エラー発生時に備えて、転送中のデータに加えて、エラーの伝搬がおよぶ領域のデータもデータバッファ250に保持しているが、データバッファ250の領域が足りなくなった場合には、エラーの伝搬がおよぶ領域のデータの解放を優先する。データが解放されて、データバッファ250から消去されてしまったかどうかは、ホスト機器200Aのソフトウエアが管理するために、判断可能である。従って図14において、ファイル2の(2−4)の書き込み後に、ホスト機器200Aでデータバッファ250を利用する処理が発生して、(2−4)のデータが解放されたとする。この場合、つづくファイル3の(3−1)部分の書き込みの時点ではデータバッファ250には(2−4)のデータは存在しない。従ってS21以降の処理に進み、新たな物理ブロックを要求する。半導体記憶装置100Aは新物理ブロック、例えばPB11を抽出し、このブロックにファイル3のデータ(3−1)部分を書き込む。
かかる構成によれば、ホスト機器側でエラー伝搬するデータを保持しておくことにより、新規に物理ブロックを確保する場合を少なくすることができる。過去のデータの破壊が許されない場合の書き込みにのみ新規に物理ブロックを確保して書き込みを行うことにより、転送速度・書き換え回数への影響を少なくすることが可能になる。
物理ブロックに余裕があるにもかかわらず新規物理ブロックを確保してデータを書き込んだ場合には、1つの論理ブロックに対して2つの物理ブロックが必要になり、容量的に課題がある。このために、データの書き込みや読み出しを行っていないときに、新たな物理ブロックを確保して、2つの物理ブロックから有効なページのみを集めて1つの物理ブロックに集約する必要がある。集約処理について図17,図18を用いて説明する。集約処理では、図17の右側に示すように、新たに物理ブロック、ここではPB20を確保する。そして同一の論理ブロックLB2に対応する2つの物理ブロックPB2と物理ブロックPB10の有効なページのデータを集めて、物理ブロックPB20にコピーをする。コピーが完了すると、図18のように論物変換主テーブル171aでは論理ブロックLB2に対して物理ブロックPB20を登録すると共に、論物変換補助テーブル171bの論理ブロックLB2に無効番号であるAを登録する。
(第2の実施の形態)
次に本発明の第2の実施の形態について説明する。図19Aはこの実施の形態の半導体記憶装置100Bの構成であり、図19Bはホスト機器200Bの構成を示す。半導体記憶装置100Bは図19Aに示すようにデータ書き込み手段130にエラー伝搬検出手段190が接続される。エラー伝搬検出手段190はデータの書き込みがフラッシュメモリの第2ページに書き込まれ、伝搬の可能性が生じる書き込みかどうかを判別し、実際にエラーが生じればエラーによる伝搬の可能性を外部インターフェイス手段110を介してホスト機器200Bに伝えるものである。又ホスト機器200Bのコマンド発行手段280は外部インターフェイス手段210を介してエラーによる伝搬の可能性が伝えられた場合に、物理ブロックの単位で再書き込みをするコマンドを発行するものである。その他の動作についてはコマンド発行手段220と同様である。
次に図20のフローチャートを用いて第2の実施の形態の動作について説明する。図20において前述した第1の実施の形態と同一部分は同一のステップ番号を付して詳細な説明を省略する。ステップS14においてエラーがあればホスト機器200Bはエラー伝搬のデータを待受ける。エラー伝搬検出手段190は、エラーがあった場合にセル共有によるエラーが伝搬する範囲を特定して、書き込みエラー時に、セル共有によるエラー伝搬が起こったかどうかをホスト機器200に通知する。S18において、ホスト機器200のコマンド発行手段280はセル共有によるエラー伝搬が起こっていない場合には、S24に進んでエラーが発生した書き込みコマンドのみを書き込みコマンドとして再発行する。一方、セル共有によるエラー伝搬が起こっている場合には、S15に進んで物理ブロック全体の書き込みコマンドを発行する。こうすることにより、再送するデータを最適化することが可能になる。
尚この実施の形態では、第2ページの書き込みがあり、且つエラーがあった場合に、エラーの伝搬の可能性があるとしてホスト機器にエラー伝搬を検出するようにしているが、実際に第2ページにおいて伝搬が生じたかどうかを判別してホスト機器に伝えるようにしてもよい。この場合にはテーブルにエラーの伝搬するアドレスを保持しておき、エラー伝搬する可能性のあるアドレスをフラッシュメモリの書き込みアドレスから検出すれば、エラーが発生したときのアドレスから伝搬するアドレスを特定して伝搬が影響するかを判断することができる。
なお、ホスト機器から半導体記憶装置に映像を記録する場合であっても、ホスト機器がパーソナルコンピュータ(PC)であってファイルを書き込む場合も、同等の効果を得ることが可能になる。
また本願の第1,第2の実施の形態では、多値フラッシュメモリの1つのメモリセルに格納するビット数を2ビットとしたが、更に状態を増加させ1メモリセルに3ビット以上格納できるフラッシュメモリにも適応可能であることはいうまでもない。
更に、フラッシュメモリのみならず、他の不揮発性メモリに適応しても同様の効果が得られることはいうまでもない。また、ホスト機器から転送されるデータを記録する半導体記憶装置として説明したが、ホスト機器内に半導体記憶装置を備えた装置であっても同様の効果が得られることはいうまでもない。
尚ここでは物理ブロックを消去の最小の単位として説明しているが、物理ブロックは論理ブロックに対応するブロックとして規定されるものであるため、物理ブロックのサイズと消去の単位とが異なるものとしてもよい。この場合には1つの物理ブロックを消去の最小単位の整数倍のサイズとすることもできる。この場合には各消去の単位毎に現在の状態を空きブロック管理テーブル等で管理する必要がある。尚消去の単位は多値フラッシュメモリにおいてはメモリの共有関係を有するグループとして考えることができる。
本発明の半導体記憶装置は、セル共有部分のデータの破壊による影響を最小限にとどめることができるので、信頼性を必要とされる業務用分野等で有用である。
多値フラッシュメモリの構造を示す模式図 多値フラッシュメモリの電子の蓄積状態を示す模式図 多値フラッシュメモリの物理ブロックのセル共有を示す図 多値フラッシュメモリのセルの状態遷移図 多値フラッシュメモリを用いた場合のファイルの追加によるエラー伝搬発生の説明図 本発明の第1の実施の形態における半導体記憶装置の構成図 本発明の第1の実施の形態におけるホスト機器の構成図 フラッシュメモリにおけるメモリ領域の説明図 本実施の形態の論物変換テーブルの説明図 本実施の形態の空きブロック管理テーブルの説明図 本発明の実施の形態におけるファイル転送を示す説明図 本発明の実施の形態におけるホスト機器のフローチャート 本発明の実施の形態における具体的な通常動作の説明図 本実施の形態のファイルを同一物理ブロックに追記して書き込む手順を示す説明図 本発明の実施の形態における新物理ブロックへの書き込みの説明図 本実施の形態のファイルを別物理ブロックに書き込む手順を示す説明図 本実施の形態の1つの論理ブロックを2つの物理ブロックから構成する論物変換テーブルの説明図 本実施の形態の2つの物理ブロックを1ブロックに集約する手順を示す説明図 本実施の形態の1つの論理ブロックを1つの物理ブロックから構成する論物変換テーブルの説明図 本発明の第2の実施の形態による半導体記憶装置の構成図 本発明の第2の実施の形態によるホスト機器の構成図 本実施の形態によるホスト機器の動作を示すフローチャート
100A,100B 半導体記憶装置
110 外部インターフェイス手段
120 アドレス変換手段
130 データ書き込み手段
140 フラッシュメモリ
150 データ読み出し手段
160 コマンド解析手段
170 ブロック管理手段
171 論物変換テーブル
171a 論物変換主テーブル
171b 論物変換補助テーブル
172 空きブロック管理テーブル
180 メモリ情報通知手段
190 エラー伝搬検出手段
200A,200B ホスト機器
210 外部インターフェイス手段
220,280 コマンド発行手段
230 新ブロック書き込み要求手段
240 コマンド分割手段
250 データバッファ
260 ブロック境界管理手段
270 データ解放判断手段

Claims (14)

  1. ホスト機器と半導体記憶装置とを具備する半導体記憶システムであって、
    前記半導体記憶装置は、
    複数の物理ブロックにより構成される不揮発性メモリと、
    前記ホスト機器より与えられる論理アドレスを前記不揮発性メモリの物理アドレスに変換するアドレス変換手段と、
    前記不揮発性メモリへデータの書き込みを行うデータ書き込み手段と、
    前記不揮発性メモリからデータの読み出しを行うデータ読み出し手段と、
    ホスト機器が発行するコマンドにかかる論理ブロックと前記不揮発性メモリの物理ブロックとの対応を記録してアドレス管理を行う論物変換テーブルを備えたブロック管理手段と、
    前記不揮発性メモリのメモリ情報を通知するメモリ情報通知手段と、を備え、
    前記ホスト機器は、
    前記半導体記憶装置のメモリ情報通知手段から通知されたメモリ情報に基づいて書き込み単位となる物理ブロックの境界を管理するブロック境界管理手段と、
    前記ブロック境界管理手段からの物理ブロックへのアクセス単位をもとに書き込むべきデータと書き込みコマンドを分割するコマンド分割手段と、
    書き込みコマンドの発行時に書き込むべきデータを保存するデータバッファと、
    前記半導体記憶装置に書き込みコマンドを発行すると共に、半導体記憶装置への書き込み時に書き込みエラーが発生した場合には、書き込みエラーが発生したブロックに書き込むべきデータを前記データバッファより読み出して書き込みコマンドを再発行するコマンド発行手段と、
    前記データバッファに保存しているデータを開放するかどうかを書き込みエラーが伝搬する範囲に基づいて判断するデータ解放判断手段と、を備える半導体記憶システム。
  2. 前記データ解放判断手段は、
    物理ブロック単位でデータの転送が完了した時点で前記データバッファのデータを解放すると判断する請求項1記載の半導体記憶システム。
  3. 前記コマンド発行手段は、
    エラーが発生したときに、前記データバッファに物理ブロック単位のデータがあれば物理ブロック全体の書き込みコマンドを再発行し、前記データバッファに物理ブロック単位のデータがなければエラーになった当該コマンドを再発行する請求項1又は2記載の半導体記憶システム。
  4. 前記ホスト機器は、
    データの書き込み時に、前記半導体記憶装置にそのデータが書き込まれるブロックの記録済みデータを前記データバッファに保持していないときに、新ブロックへの書き込みを要求する新ブロック書き込み要求手段をさらに備えた請求項1〜3のいずれか1項記載の半導体記憶システム。
  5. 前記新ブロック書き込み要求手段は、
    電源投入後の最初の書き込みコマンドを発行する際に新ブロックへの書き込みを要求する請求項4記載の半導体記憶システム。
  6. 前記半導体記憶装置は、
    書き込みコマンドが書き込みエラーになった場合に、当該コマンドのアドレス領域以外に影響が及ぶかを判断してエラーステータスとして前記ホスト機器に通知するエラー伝搬検出手段を備え、
    前記コマンド発行手段は、
    エラーステータスが当該コマンドのアドレス領域以外に影響が及ぶ場合には所定の物理ブロック全体の書き込みコマンドを再発行し、
    エラーステータスが当該コマンドのアドレス領域以外に影響が及ばない場合にはエラーになった当該コマンドを再発行する請求項1又は2記載の半導体記憶システム。
  7. 前記不揮発性メモリは多値のフラッシュメモリであり、メモリセルを共有する単位をグループとすると前記物理ブロックは少なくとも1つのグループを含むものである請求項1〜6のいずれか1項記載の半導体記憶装置。
  8. 前記物理ブロックは、
    前記メモリの最小の消去単位及びその整数倍の消去単位のいずれかである請求項1〜7のいずれか1項記載の半導体記憶装置。
  9. 半導体記憶装置に接続されるホスト機器であって、
    前記半導体記憶装置のメモリ情報に基づいて書き込み単位となる物理ブロックの境界を管理するブロック境界管理手段と、
    前記ブロック境界管理手段からの物理ブロックへのアクセス単位をもとに書き込むべきデータと書き込みコマンドを分割するコマンド分割手段と、
    書き込みコマンドの発行時に書き込むべきデータを保存するデータバッファと、
    前記半導体記憶装置に書き込みコマンドを発行すると共に、半導体記憶装置への書き込み時に書き込みエラーが発生した場合には、書き込みエラーが発生したブロックに書き込むべきデータを前記データバッファより読み出して書き込みコマンドを再発行するコマンド発行手段と、
    前記データバッファに保存しているデータを開放するかどうかを書き込みエラーが伝搬する範囲に基づいて判断するデータ解放判断手段と、を具備するホスト機器。
  10. 前記データ解放判断手段は、
    物理ブロック単位でデータの転送が完了した時点で前記データバッファのデータを解放すると判断する請求項9記載のホスト機器。
  11. 前記コマンド発行手段は、
    エラーが発生したときに、前記データバッファに物理ブロック単位のデータがあれば物理ブロック全体の書き込みコマンドを再発行し、前記データバッファに物理ブロック単位のデータがなければエラーになった当該コマンドを再発行する請求項9又は10記載のホスト機器。
  12. 前記ホスト機器は、
    データの書き込み時に、前記半導体記憶装置にそのデータが書き込まれるブロックの記録済みデータを前記データバッファに保持していないときに、新ブロックへの書き込みを要求する新ブロック書き込み要求手段をさらに備えた請求項9〜11のいずれか1項記載のホスト機器。
  13. 前記新ブロック書き込み要求手段は、
    電源投入後の最初の書き込みコマンドを発行する際に新ブロックへの書き込みを要求する請求項12記載のホスト機器。
  14. ホスト機器に接続される半導体記憶装置であって、
    複数の物理ブロックにより構成される不揮発性メモリと、
    前記ホスト機器より与えられる論理アドレスを前記不揮発性メモリの物理アドレスに変換するアドレス変換手段と、
    前記不揮発性メモリへデータの書き込みを行うデータ書き込み手段と、
    前記不揮発性メモリからデータの読み出しを行うデータ読み出し手段と、
    ホスト機器が発行するコマンドにかかる論理ブロックと前記不揮発性メモリの物理ブロックとの対応を記録してアドレス管理を行う論物変換テーブルを備えたブロック管理手段と、
    前記不揮発性メモリのメモリ情報を通知するメモリ情報通知手段と、を具備する半導体記憶装置。
JP2009001442A 2009-01-07 2009-01-07 半導体記憶装置、ホスト機器及び半導体記憶システム Active JP5300496B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009001442A JP5300496B2 (ja) 2009-01-07 2009-01-07 半導体記憶装置、ホスト機器及び半導体記憶システム
US12/652,790 US8352807B2 (en) 2009-01-07 2010-01-06 Semiconductor memory device, host device and semiconductor memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009001442A JP5300496B2 (ja) 2009-01-07 2009-01-07 半導体記憶装置、ホスト機器及び半導体記憶システム

Publications (2)

Publication Number Publication Date
JP2010160605A true JP2010160605A (ja) 2010-07-22
JP5300496B2 JP5300496B2 (ja) 2013-09-25

Family

ID=42312489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009001442A Active JP5300496B2 (ja) 2009-01-07 2009-01-07 半導体記憶装置、ホスト機器及び半導体記憶システム

Country Status (2)

Country Link
US (1) US8352807B2 (ja)
JP (1) JP5300496B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019191863A (ja) * 2018-04-24 2019-10-31 富士通株式会社 記憶装置,情報処理プログラムおよび情報処理システム
JP7484633B2 (ja) 2020-09-30 2024-05-16 株式会社デンソー 共用ストレージ管理装置及び共用ストレージ管理方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101178562B1 (ko) * 2010-11-02 2012-09-03 에스케이하이닉스 주식회사 커맨드 제어회로 및 이를 포함하는 반도체 메모리 장치 및 커맨드 제어방법
JP2013052556A (ja) * 2011-09-02 2013-03-21 Canon Inc 画像形成装置、画像形成装置の制御方法、及びプログラム
US9971522B2 (en) 2014-07-21 2018-05-15 Toshiba Memory Corporation Memory system and method
US20160054943A1 (en) * 2014-08-22 2016-02-25 Kabushiki Kaisha Toshiba Information processing apparatus
JP2019106056A (ja) 2017-12-13 2019-06-27 東芝メモリ株式会社 メモリシステム及びメモリデバイス
CN112948217B (zh) * 2021-03-29 2023-01-13 腾讯科技(深圳)有限公司 服务器修复查验方法和装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139123A (ja) * 1992-10-29 1994-05-20 Toshiba Corp ファイル記憶装置
JPH1091539A (ja) * 1996-09-12 1998-04-10 Sony Corp データ記憶装置
JP2000267941A (ja) * 1999-03-19 2000-09-29 Fujitsu Ltd ストアエラー補償装置
WO2005096220A1 (ja) * 2004-03-31 2005-10-13 Matsushita Electric Industrial Co., Ltd. メモリカード及びメモリカードシステム
JP2006318366A (ja) * 2005-05-16 2006-11-24 Matsushita Electric Ind Co Ltd メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5937434A (en) * 1997-02-14 1999-08-10 Intel Corporation Method of managing a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
JP3618529B2 (ja) * 1997-11-04 2005-02-09 富士通株式会社 ディスクアレイ装置
US6205548B1 (en) * 1998-07-31 2001-03-20 Intel Corporation Methods and apparatus for updating a nonvolatile memory
JP2000100156A (ja) * 1998-09-25 2000-04-07 Fujitsu Ltd 半導体記憶装置のセル情報書き込み方法及び半導体記憶装置
US7020758B2 (en) * 2002-09-18 2006-03-28 Ortera Inc. Context sensitive storage management
JP2004288283A (ja) * 2003-03-20 2004-10-14 Hitachi Ltd 情報記録フォーマット、情報記録再生符号化方法・回路およびこれを用いた磁気ディスク記録再生装置、情報記録再生装置、並びに情報通信装置
US20100082878A1 (en) * 2005-06-24 2010-04-01 Matsushita Electric Industrial Co., Ltd. Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method
DE102008022831B4 (de) * 2008-05-08 2015-09-10 Fujitsu Technology Solutions Intellectual Property Gmbh Arbeitsverfahren für ein Speichersubsystem und Vorrichtungen zur Durchführung des Arbeitsverfahrens
US8327062B2 (en) * 2008-12-09 2012-12-04 Infineon Technologies Ag Memory circuit and method for programming in parallel a number of bits within data blocks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139123A (ja) * 1992-10-29 1994-05-20 Toshiba Corp ファイル記憶装置
JPH1091539A (ja) * 1996-09-12 1998-04-10 Sony Corp データ記憶装置
JP2000267941A (ja) * 1999-03-19 2000-09-29 Fujitsu Ltd ストアエラー補償装置
WO2005096220A1 (ja) * 2004-03-31 2005-10-13 Matsushita Electric Industrial Co., Ltd. メモリカード及びメモリカードシステム
JP2006318366A (ja) * 2005-05-16 2006-11-24 Matsushita Electric Ind Co Ltd メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019191863A (ja) * 2018-04-24 2019-10-31 富士通株式会社 記憶装置,情報処理プログラムおよび情報処理システム
US11074012B2 (en) 2018-04-24 2021-07-27 Fujitsu Limited Storage device, information processing system, and non-transitory computer-readable storage medium for storing program
JP7131053B2 (ja) 2018-04-24 2022-09-06 富士通株式会社 記憶装置,情報処理プログラムおよび情報処理システム
JP7484633B2 (ja) 2020-09-30 2024-05-16 株式会社デンソー 共用ストレージ管理装置及び共用ストレージ管理方法

Also Published As

Publication number Publication date
US8352807B2 (en) 2013-01-08
US20100174951A1 (en) 2010-07-08
JP5300496B2 (ja) 2013-09-25

Similar Documents

Publication Publication Date Title
JP5612514B2 (ja) 不揮発性メモリコントローラ及び不揮発性記憶装置
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
JP5300496B2 (ja) 半導体記憶装置、ホスト機器及び半導体記憶システム
US20160118132A1 (en) Low Impact Read Disturb Handling
US20190095100A1 (en) Block Clearing Method
JP5073402B2 (ja) メモリーコントローラ、及びこれを用いた不揮発性記憶装置並びに不揮発性記憶システム
JP4866117B2 (ja) 不揮発性記憶装置、そのデータ書き込み方法、不揮発性記憶システム及びメモリコントローラ
JP5592478B2 (ja) 不揮発性記憶装置及びメモリコントローラ
TW201324145A (zh) 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置
TW201508748A (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI540428B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TW202011194A (zh) 快閃記憶體控制器及相關電子裝置
TWI651650B (zh) 記憶體管理方法及使用所述方法的儲存控制器
KR101070511B1 (ko) Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법
KR20200057866A (ko) 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 이의 동작 방법
US11210209B2 (en) Method for managing flash memory module and associated flash memory controller and electronic device
JP4661369B2 (ja) メモリコントローラ
JP2011203771A (ja) 不揮発性記憶装置および不揮発性メモリコントローラ
JP2012068765A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
JP5264459B2 (ja) 半導体記憶装置
JP4551938B2 (ja) メモリシステム
JP4558052B2 (ja) メモリシステム
TW202125206A (zh) 記憶體管理方法與記憶體裝置
TWI823649B (zh) 快閃記憶體控制器的控制方法、快閃記憶體控制器以及電子裝置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120207

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130527

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130618

R150 Certificate of patent or registration of utility model

Ref document number: 5300496

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150