[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2011128826A - 記憶装置と半導体不揮発性メモリの記憶方法 - Google Patents

記憶装置と半導体不揮発性メモリの記憶方法 Download PDF

Info

Publication number
JP2011128826A
JP2011128826A JP2009285909A JP2009285909A JP2011128826A JP 2011128826 A JP2011128826 A JP 2011128826A JP 2009285909 A JP2009285909 A JP 2009285909A JP 2009285909 A JP2009285909 A JP 2009285909A JP 2011128826 A JP2011128826 A JP 2011128826A
Authority
JP
Japan
Prior art keywords
unit
memory
data
semiconductor
nonvolatile memory
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
Application number
JP2009285909A
Other languages
English (en)
Other versions
JP2011128826A5 (ja
Inventor
Noriyuki Iwasaki
宣之 岩▲崎▼
Kazunori Furusawa
和則 古沢
Yasuyuki Koike
康之 小池
Eiga Mizushima
永雅 水島
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.)
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi ULSI Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi ULSI Systems Co Ltd filed Critical Hitachi ULSI Systems Co Ltd
Priority to JP2009285909A priority Critical patent/JP2011128826A/ja
Publication of JP2011128826A publication Critical patent/JP2011128826A/ja
Publication of JP2011128826A5 publication Critical patent/JP2011128826A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】不揮発性メモリのランダムライトアクセスの高速化を図る。
【解決手段】半導体不揮発性メモリは、複数の消去単位からなる初期割当領域及び初期未使用領域を有する。ホスト側論理アドレスが順次に並ぶ最小管理単位を設定し、入力されたデータをバッファに順次に書き込み、最小管理単位毎の論理アドレスと不揮発性メモリの物理アドレスとのアドレスの変換情報を生成する。バッファの全記憶容量に対して書き込まれたデータを、書き込み予定の第1の消去単位の未書き込み領域に順次に書き込む。第1の消去単位の未書込領域がなくなると、検索された第2の消去単位の有効データを予め準備されている消去済等の第3の消去単位に書き込んで変換情報を更新して新第1の消去単位に置き換える。第2の消去単位を一括消去して新第3の消去単位の生成準備と並行して新第2の消去単位を検索する。
【選択図】図2

Description

この発明は、記憶装置と半導体不揮発性メモリの記憶方法に関し、例えば、NAND型フラッシュメモリを用いてHDD置き換え可能な記憶装置(Solid State Drive;SSD) と半導体不揮発性メモリの記憶方法に利用して有効な技術に関するものである。
特開2006−252535号公報には、NAND型フラッシュメモリを用いて、例えばHDD置き換え可能な記憶装置が開示されている。同公報の技術では、書き込みブロックサイズより小さいサイズのデータが複数あり、書き込みが頻繁に発生すると短い期間で書き込み寿命に達してしまうという問題の解決及びデータ転送レートの向上に向けられている。この記憶装置は、不揮発性メモリにファイル管理情報部とデータ部を設け、メモリコントローラでメモリアクセスを行う。上記コントローラは、揮発性メモリを備え、電源起動時に上記不揮発性メモリのファイル管理情報部の記憶データを読み出して上記揮発性メモリに書き込み、上記不揮発性メモリへのデータの書き込み動作と読み出し動作においては、上記揮発性メモリを用いてそれに対応したファイル管理情報の読み出しや書き込みを行い、電源遮断時上記揮発性メモリの記憶データを読み出して上記不揮発性メモリのファイル管理情報部に記憶させる。本願発明者等においては、前記特開2006−252535号公報の技術を発展させて、ランダムライトアクセスの平均速度の改善に向けて特開2009−064251号公報において図9に示したようなSSDを提案している。
特開2006−252535号公報 特開2009−064251号公報
図9に示したSSDでは、ホスト論理アドレス(HLBA)は、1セクタ(512B)を最小単位として全容量分をリニア(順次)並べて先頭アドレス0から最終アドレスmaxまでを不揮発性メモリの全領域のうちシステム領域を除いて、複数の区分(区画0〜区画n)に分割管理する。1つの区画は、例えば区画0に例示されているように不揮発性メモリの消去単位群がLPBA0〜LPBAYで構成される。
この1つの区画は、消去単位として示されているように全ライト済み状態で使用する割当分と未使用分とで構成される。未使用分は、フリー部分と代替(不良救済)として設けれている。上記割当分と未使用分の境界は、固定ではなく矢印で示したフリー検索で既存割当LPBAがフリーLPBAに、新しく割当られたフリーLPBAが割当分に動的に交換される。1つの消去単位(LPBA)は、複数のNANDフラッシュメモリチップから構成され、ページ0(PAGE0)から最終ページ(max)までをデータ領域(論理アドレス割当分)とランダムキャッシュ領域(アドレス重複分)に区分されている。これらの区分の境界は固定で扱われる。
前記のように消去ブロック内にランダムキャッシュ領域を設けることにより、書き換えデータが入力されると、データ領域に空きがない場合にランダムキャッシュ領域へキャッシュアウトする。ランダムキャッシュ領域にも空きがない場合は、当該消去ブロック内に記憶されている有効データを別の消去済ブロックへコピーする。コピー後にコピー元のブロックのデータを消去することにより消去済ブロックを生成する。
例えば、1つの消去単位として、前記データ領域に32KBページを120個配置、ランダムキャッシュ領域に4KBページを64個配置し、ページアドレス及びランダムキャッシュ領域のアドレスをブロックアドレスとの関係をつけて消去単位(ブロック)で管理する。この場合、前記のようにページアドレスに対応する消去単位(ブロック)内に空きページがなくなると、別の消去済の消去単位(ブロック)へ有効データをコピーし、コピー後にコピー元の消去単位のデータを消去する動作が発生することになる。この消去動作には時間がかかるため、空きページへのライトのみの場合よりライトアクセス時間が遅くなるという問題がある。
SSDライト時にアドレスランダム指定で重複がある場合、フラッシュメモリ内に設けた数MB程度のキャッシュ領域の効果は小さく、その結果、パソコンのOS(オペレーティング・システム)の1つであるウィンドウズ(登録商標)のイントール時などに4KB以下のライトアドレス数がフラッシュキャッシュ本数を超えてキャッシュアウトが多発して時間がかかってしまう不具合が発生する。また、ホスト論理アドレスに割当られた特定区分は、不揮発性メモリの対応する特定区分に一対一に対応しており、そのホスト論理アドレスに書き換えデータが集中すると、前記のようにライトアクセス時間が遅くなる上に比較的短い期間内で書き換え回数の制限に達してしまう。
この発明の目的は、ランダムライトアクセスの平均速度及び書き換え耐性の向上を可能とした記憶装置と不揮発性メモリの記憶方法を提供する。この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される1つの実施例は、以下の通りである。記憶装置は、半導体不揮発性メモリ、半導体揮発性メモリ、上記半導体不揮発性メモリ及び半導体揮発メモリに対してメモリアクセスを行うコントローラ部を有する。上記半導体不揮発性メモリは、システム検索領域、ホスト側からの全ライト状態に対応した初期割当領域、初期未使用領域を有する。上記システム検索領域、初期割当領域及び初期未使用領域の各領域は、それぞれ複数の消去単位を有する。上記半導体揮発性メモリは、記憶データに対応したホスト側論理アドレスをそれが格納された上記半導体不揮発性メモリの最新の物理アドレスに変換する変換情報を記憶する。上記コントローラ部は、入出力インターフェイス、制御論理回路、バッファメモリを有する。上記制御論理回路は、第1ないし第4動作を行う。上記第1動作は、上記入出力インターフェイスを介して接続されるホスト側の全論理アドレスが複数区分に分割されて構成されて順次に並ぶ複数論理アドレス分に対応した記憶データを最小管理単位として、上記入出力インターフェイスを介してホスト側から入力された書き込みデータを上記バッファメモリに順次に書き込み、各最小管理単位毎のホスト側論理アドレスと上記半導体不揮発性メモリ側の物理アドレスとの変換情報を生成して上記半導体揮発性メモリに記憶させる。上記第2動作は、上記第1動作により複数分の上記最小管理単位の記憶データがバッファメモリの全記憶容量に対して書き込まれた後にかかるバッファメモリの全記憶データを上記半導体不揮発性メモリにおける予め割当られた第1の消去単位の未書き込み領域に順次に書き込む。上記第3動作は、上記第1動作と第2動作との繰り返しにより、上記第1の消去単位の未書込領域がなくなると、未書き込みの消去単位が2以上無いことを条件として上記半導体不揮発性メモリの上記初期割当領域及び初期未使用領域の中から検索された最も有効データの少ない第2の消去単位におけるかかる有効データを予め準備されている消去済又は未使用の第3の消去単位に書き込んで上記変換情報を更新し、かかる第3の消去単位を上記第1の消去単位に置き換える。上記第4動作は、上記第2の消去単位を一括消去して消去済とされた上記第3の消去単位を準備するとともに、かかる第2の消去単位の消去動作と並行して上記初期割当領域及び初期未使用領域を検索して新しい上記第2の消去単位を用意する。
本願において開示される他の1つの実施例は、以下の通りである。半導体不揮発性メモリを用いた記憶方法として、上記半導体不揮発性メモリの記憶領域は、システム検索領域と、ホスト側からの全ライト状態に対応した初期割当領域と、初期未使用領域にとに分けられる。上記システム検索領域、初期割当領域及び初期未使用領域の各領域は、それぞれ複数の消去単位が設けられる。ホスト側の全論理アドレスが複数区分に分割されて構成されて順次に並ぶ複数論理アドレス分が最小管理単位に設定される。この構成に対して、以下の第1ないし第4制御動作が行われる。第1制御動作は、ホスト側から入力された書き込みデータをバッファメモリに順次に書き込み、かかる書き込みデータの最小管理単位毎のホスト側論理アドレスと書き込み予定の上記半導体不揮発性メモリ側の物理アドレスとのアドレスの変換情報を生成してメモリに記憶する。第2制御動作は、上記第1制御動作により複数分の上記最小管理単位の記憶データがバッファメモリの全記憶容量に対して書き込まれた時点でかかるバッファメモリの全記憶データを上記半導体不揮発性メモリにおける上記書き込み予定の第1の消去単位の未書き込み領域に順次に書き込む。第3制御動作は、上記第1制御動作と第2制御動作との繰り返しにより、上記第1の消去単位の未書込領域がなくなると、未書き込みの消去単位が2以上無いことを条件として上記半導体不揮発性メモリの上記初期割当領域及び初期未使用領域の中から検索された最も有効データの少ない第2の消去単位におけるかかる有効データを予め準備されている消去済又は未使用の第3の消去単位に書き込んで上記変換情報を更新し、かかる第3の消去単位を上記第1の消去単位に置き換える。第4制御動作は、上記第2の消去単位を一括消去して消去済とされた上記第3の消去単位を準備するとともに、かかる第2の消去単位の消去動作と並行して上記初期割当領域及び初期未使用領域を検索して新しい上記第2の消去単位を用意する。
ホスト論理アドレスと不揮発性メモリの物理アドレスの関係制約を無くし、不揮発性メモリの領域全体から各消去単位(消去ブロック)内の空きページへ書込みが可能であるようなアドレス管理とすることにより、消去動作の発生頻度を少なくし、平均ライトアクセス時間の改善を図ることができる。
この発明に係る記憶装置SSDの一実施例のブロック図である。 この発明に係る記憶装置SSDの記憶方法を説明するための一実施例のメモリマップ図である。 この発明に係る記憶装置SSDにおけるアドレス変換テーブルの一実施例の説明図である。 前記図3のPAPATの概念図である。 この発明に係る記憶装置SSDの代表的な動作の1つであるランダムライトアクセス動作の一例を説明するためのブロック図である。 この発明に係る記憶装置SSDの代表的な動作の他の1つであるコンパクション動作の一例を説明するためのブロック図である。 図7には、この発明に係る記憶装置SSDの代表的な動作の他の1つであるリード動作の一例を説明するためのブロック図である。 この発明に係る記憶装置SSDの一実施例の概略ブロック図である。 本願発明者等において先に検討されたSSDのメモリマップ図である。
添付の図面に沿って、この発明の好ましい実施の形態について詳細に説明する。
図1には、この発明に係る記憶装置SSD(Solid State Drive)の一実施例のブロック図が示されている。この実施例の記憶装置は、HDD互換記憶装置として、特に制限されないが、半導体不揮発性メモリ(NANDフラッシュメモリ)FL0〜FL9と、半導体揮発性メモリSDRAM及び点線で示されたコントローラ部としてのシステムLSI、インターフェイスチップS−ATA(Serial Advanced Technology Attachment) を1つのパッケージの中に搭載して、約32Gバイトのような記憶容量を持つような記憶装置SSDとされる。S−ATA(Serial Advanced Technology Attachment) は、パソコンにハードディスクや光ドライブを接続するためのインターフェイス規格である。
上記パッケージは、例えば2.5インチのハードディスクドライブ装置と同様な外形サイズ(70.0×100.0×9.5mm)又は3.5インチのハードディスクドライブ装置と同様な外形サイズ(101.6×146.0×25.4mm)にされ、インターフェイス回路S−ATAに接続されるコネクタピンも上記2.5インチの又は3.5インチのハードディスクドライブ装置と同様なものが用いられる。
同図で点線で示したホストHOSTと、半導体不揮発性メモリFL0〜FL9との間のデータのやりとりは、上記インターフェイスチップS−ATA及び制御論理回路としてのシステムLSIを介して行われる。システムLSIは、上記インターフェイスS−ATAに対応して設けられ、シリアル/パラレル変換等を行う入出力回路P−ATA及びコントローラATACを介して点線で示された信号経路切替回路RCに接続される。信号経路切替回路RCは、ECC回路との間での信号伝達を行うセレクタS1、上記入出力回路P−ATAとの間で信号伝達を行うセレクタS2、ライトバッファWB0,WB1との間で信号伝達を行うセレクタS4、半導体不揮発性メモリFL0〜FL9に設けられたフラッシュ入出力部FICとの間で信号伝達を行うセレクタS5及び半導体揮発性メモリSDRAMに対応してメモリ制御回路SDRAMCとの間で信号伝達を行うセレクタS3を有しており、以下に説明するメモリ動作に対応して各回路ブロック間での信号伝達を行う。
NANDフラッシュメモリ(半導体不揮発性メモリFL0〜FL9)は、エラービットの発生が他のメモリデバイスに比べて比較的多く、それを許容することを前提とするデバイスである。データの書き換え及び消去を繰り返していくうちにメモリセルがデータ記憶特性が劣化し、リード時に正常データがリードできなくなることがある。そのために、記憶媒体に半導体不揮発性メモリを使用してSSDを構成する場合、誤り検出・訂正回路であるECC回路が必須となる。上記ECC回路は、半導体不揮発性メモリFL0〜FL9への書き込みデータ、半導体不揮発性メモリFL0〜FL9からの読み出しデータに対してハミング符号/リード・ソロモン符号/BCH符号などの符号化、複合化を行う。
上記システムLSIには、メモリ動作の高速化に向けて専用制御回路LOG1〜LOG3が設けられる。専用制御回路LOG1は、フリーブロック検索エンジンであり、後述する検索動作を受け持つ。専用制御回路LOG2は、テーブル検索エンジンであり、後述する論理/物理アドレス変換テーブルの検索動作を受け持つ。専用制御回路LOG3は、コンパクションエンジンであり、消去済の消去単位(ブロック)を生成するための後述するコンパクション動作を受け持つ。また、各種制御動作を受け持つCPU(中央処理装置)及びそのワーク領域としてのRAM、制御レジスタREGも設けられる。
例えば、ホストHOST側からは、300MB(メガバイト)/s の速度でデータD1の伝送が行われる。インターフェイスチップS−ATAでは、160MHz/16(ビット)のようなデータD2に速度変換される。入出力回路P−ATAでは、80MHz/32(ビット)のようなデータD3に速度変換される。したがって、上記信号経路切替回路RCにおいては、80MHz/32(ビット)のような転送速度によりECC回路との間のデータD5、ライトバッファWB0,1との間のデータD6,D7、フラッシュ入出力部FICとの間のデータD8及びメモリ制御回路SDRAMCとの間のデータD9,D10の伝達を行うものとされる。
半導体揮発性メモリSDRAMは、例えば80MHz/16(ビット)でデータD12の入出力を行うものであり、上記メモリ制御回路SDRAMCにより32ビットデータが16ビットに振り分けられる。半導体不揮発性メモリFL0〜FL9は、33MHz/8(ビット)の速度でデータD11の入出力が行われる。このデータD11に対応させるため、フラッシュ入出力部FICにおいては半導体不揮発性メモリFL0に例示的に示されているようにセレクタS7と2つのバッファB1,B2が設けられ、これらバッファB1,B2を交互に使用することでセレクタS6を通して入出力される80MHz/32(ビット)のデータD8の速度に近づくよう上記データD11を適合させる。
半導体不揮発性メモリFL0〜FL9は、1回の書き込みにより最大で4kB+4kB(8kB)のデータ書き込み(ページライト)が可能にされる。前記のように半導体不揮発性メモリFL0〜FL9を10個を並列形態に設けるようにすることにより、8k×10=80kB分のデータを一括して書き込むようにすることができる。これに対応して、上記ライトバッファWB0,WB1は80kBの記憶容量を持つようにされる。一方、ホスト側においては、1つの論理アドレスで1セクタが指定され、512Bのデータがシリアルに入出力される。
中央処理装置CPUは、特に制限されないが、レジスタREGを介してホストからの動作指示等のコマンド等を受け取りSSD全体の制御動作を行う。信号経路切替回路RCののセレクタS1〜S5の制御によりインターフェイスコントローラATAC、ECC回路、ライトバッァWB0,1、メモリ制御回路SDRAMC及びフラッシュ入出力部FICの間の信号伝達経路の切替も上記CPUにより行われる。
図2には、この発明に係る記憶装置SSDの記憶方法を説明するための一実施例のメモリマップ図が示されている。ホスト側論理アドレスHLBAは、0からmaxまでのアドレス空間を有し、各論理アドレスにより1セクタ(512B)のデータを指定する。これに対して、前記図1で説明したように記憶装置SSDを構成する半導体不揮発性メモリFL0〜FL9のそれぞれにおける最大書き込みデータ数は8kBである。これらのことを前提とし、ホスト側から半導体不揮発性メモリFL0〜FL9に対してランダムライトアクセスを効率よく高速に行うようにするため、SSD側においてはホスト側論理アドレスの10個(10セクタ)分に対応したデータ512B×10(=5kB(キロバイト))を最小管理単位に設定する。つまり、ホスト側では論理アドレス0、10、20、30、40……(10進法表記)のように10個毎の論理アドレスに対応した10個ずつのセクタをSSD側での最小管理単位として扱う。
1つの最小単位は、順に並ぶ論理アドレス0〜9(10進法表記)の10セクタ分を上記論理アドレス0〜9の順序を保持したままとして扱う。前記のように半導体不揮発性メモリFL0〜FL9のように10チャネル分の入出力部を持つために、1回の書き込みで80kBのデータの書き込みが可能である。そこで、ライトバッファWB0,WB1は、前記のようにそれぞれ80kBの記憶容量を持つようにされる。したがって、ライトバッファWB0,WB1は、それぞれが5kBの最小管理単位を16個分を記憶することができる。
同図に例示されているような5kBのライトデータWD1,WD2,WD3が論理アドレス順とは無関係にランダムに入力されると、最初のライトデータWD1はライトバッファWB0の先頭に格納され、第2番目のライトデータWD2は上記ライトデータWD1の次に格納され、第3番目のライトデータWD3は上記ライトデータDW2の次に格納されれる。このように、16個分のライトデータWD1〜WD16(図示せず)が論理アドレスの順序とは無関係にされてライトバッファWB0に入力順に従って書き込まれ、16個目に引き続き17個目以上のライトデータが入力されると、ライトバッファWB1に前記同様に格納される。
ライトバッファWB1へのライトデータの入力と並行して、ライトバッファWB0に格納された80kBのデータは、1ページ(PAGE)分データとして不揮発性メモリFL0〜FL9に書き込まれる。この書き込みの準備動作として、ライトバッファWB0からは前記のように32ビット(4B)の単位で順次にデータが出力されるので、フラッシュ入出力部FICでセクタ毎にデータの分配が行われる。例えば、フラッシュインターフェイスライトデータWD1の10進法での最下位桁0に対応した論理アドレスのセクタがチャネル0に対応した不揮発性メモリFL0に、同様な最下位桁1に対応した論理アドレスのセクタがチャネル1に対応した不揮発性メモリFL1に、以下同様に最下位桁9に対応した論理アドレスのセクタがチャネル9に対応した不揮発性メモリFL9にそれぞれ入力される。ライトデータWD2,WD3においても、前記ライトデータWD1と同様にして不揮発性メモリFL0〜9に入力される。
この実施例では、不揮発性メモリの物理アドレスBidxは、0〜maxまでのアドレス空間を有し、各物理アドレスにより1ページ(PAGE)分のデータを指定する。通常メモリアドレスは、2進のアドレス信号により指定される。したがって、SSDの最小管理単位も4セクタや8セクタのように2進の重みに対応して設定することが考えられる。例えば8セクタ(4kB)を最小管理単位とし、8チャンネルの不揮発性メモリFL0〜7を用いて1ページ(PAGE)を64kB(128セクタ)とすることもできる。この場合には、ホスト論理アドレス空間に対して物理アドレス空間は、前記最小管理単位により1/8(3ビット分)に縮小され、16個の最小管理単位により1ページが構成されるので更に1/16(4ビット分)に縮小されることになる。この結果、ホスト論理アドレス空間と不揮発性メモリの物理アドレス空間とが縮小された形態で一致し、前記図9で説明したようなランダムライトアクセスのためのフリー部分や代替(不良救済)を設けるために物理アドレスに拡張ビットを付加しなければならない。
この実施例のように最小管理単位を10セクタのように設定し、それに対応して10チャネルの不揮発性メモリFL0〜9として1ページ当たりのセクタ数を10×16=160個のように増加させることにより、前記8セクタ(4kB)を最小管理単位とした場合の物理アドレス空間内に、ホスト論理アドレス空間に格納される全データを記憶することができる記憶領域の他に余分の記憶領域を設けることができる。この記憶領域は、前記ランダムライトアクセスのためのフリー部分や代替分(不良救済)とシステム検索領域として使用される。すなわち、この実施例の物理アドレス空間は、ページ0(PAGE0)から最終ページ(max)までがシステム検索領域、初期割当領域、初期未使用領域及び代替分が割り当てられる。初期割当領域は、前記データ領域(論理アドレス割当分)であり、ホスト論理アドレス空間の全データが格納可能な記憶容量を持つ。そして、前記のような最小管理単位により生成した記憶領域が、上記初期未使用領域及び代替分に振り分けられる。
不揮発性メモリの前記各領域は、消去単位群として全体が示されているように複数の消去単位から構成され、消去単位の先頭は、ブロックアドレスBidx0とされる。同図において、代表として3つの消去単位がハッチャングが付されて、それぞれにブロックアドレスBidxP,ブロックアドレスBidxR,ブロックアドレスBidxQとして例示されている。
1つの消去単位(BST)は、ページ(PAGE)0から63までの64ページを持つようにされる。1ページ(PAGE)には、80kB(160セクタ)が割り当てられるから、1つの消去単位には約5MB(メガバイト)にされる。ランダムライトアクセスにおいては、消去単位(BST)は、現書込先BidxQと、次フリー候補BidxP及びフリー(未使用)BidxRの3個分が用意されている。
現書込先BidxQには、前記のようにランダムライトアクセスによるライトデータWD1,WD2,WD3がライトバッファWB0を介してページ単位で書き込まれる。ライトバッファWB1に格納されたライトデータは、次のページに書き込まれる。このようにライトバッファWB0とWB1に格納された1ページ分(80kB)が現書込先BidxQに矢印で示したように順次にキャッシュアウトされる。したがって、ホスト論理アドレスで指定されるライトデータWD0〜WD3は、それぞれが書き込まれたライトバッファWB0の格納位置情報、かかるライトバッファWB0の書込先の消去単位BidxQのブロックアドレス情報及びページ情報PAGEにより特定された物理アドレスがそれぞれに割当られる。このような物理アドレスへの変換情報は、上記ライトバッファWB0へのライトデータWD1,WD2,WD3等の書込毎に生成され、半導体揮発性メモリSDRAMの変換テーブルに書き込まれる。
ライトバッファWB0に既にライトデータWD1が格納されている状態でホスト側から更新されたライトデータWD1’が再度入力されると、ライトバッフWB1での書き換えが行われる。これにより、更新されたライトデータWD1’によって無効となるライトデータWD1をフラッシュメモリに書き込んでしまうという無駄が無くなる。
現書込先ブロックBidxQにおいて、最終ページの1つ前のページ62までのキャッシュアウトされると、逆引きバッファBUFに格納されている逆引き情報位置を最終ページ63に格納して現書込先ブロックBidxQを閉じる。予め確保されているフリー(未使用)BidxRの消去を開始する。この消去中に次フリー候補をシステム検索領域や代替分を除いた消去単位群(初期割当領域+初期未使用領域)の中から論理アドレスとのアドレス関係制約なくフラットに検索する。この検索は、有効データ量の最も少ないものが選ばれる。つまり、前記ランダムライトアクセスによるキャッシュアウトによって無効となるデータが発生するので、有効データが最も少ないものは、逆に言えば書き換えによって無効データにされたものが多数発生したものが選ばれる。同図では、次フリー候補BidxPが検索された。このような検索動作は、例えばCPUを用いて行うようにすることもできるが、高速に行うようにするためにために、図1の実施例のようにフリーブロック検索エンジンを構成する専用制御回路LOG1が設けられている。
前記フリー(未使用)BidxRの消去が完了すると、上記検索された次フリー候補BidxPにハッチャングで示された有効データがライトバッファWB0,WB1に読み出され、消去完了のフリー(未使用)BidxRに順次に書き込まれる。このような有効データの移動に対応してアドレス変換テーブルも更新される。つまり、ブロックアドレスがBidxPは、BidxRに変更され、ライトバッファの格納位置及びページアドレスも変更される。この実施例では、このような消去単位間での有効データの移し替えをコンパクション動作と呼ぶ。この時、移動される最小管理単位が1ページに満たないときには、つまり、同図に異なるハッチャングで示した2つの最小管理単位については、ライトバッファWB0(又はWB1)に残される。フリー(未使用)BidxRは、同図では3ページ分に書き込まれた状態で、新しい現書込先とされる。このようなコンパクション動作は、例えばCPUを用いて行うようにすることもできるが、高速に行うようにするためにために、図1の実施例のようにコンパクションエンジンを構成する専用制御回路LOG3が設けられている。
ライトバッファWB0(又はWB1)には、上記のように移動できずに残された2つの最小管理単位が存在するので、ランダムライトアクセスによるホスト側からのライトデータは2つの最小管理単位の後に順に入力され、2つの最小管理単位を含めて16個の1ページ分となったとき、つまりはランダムライトアクセスに14個分の最小管理単位が入力されたときに上記新しい現書込先BidxRの第4ページ目に書き込まれる。そして、上記次フリー候補BidxPは、新しいフリー(未使用)になる。この実施例のSSDのランダムライトアクセスにおいては、上記3種類の消去単位を消去単位群(初期割当領域+初期未使用領域)の中から論理アドレスとのアドレス関係制約なくフラットに更新される。このように、ホスト論理アドレスと不揮発性メモリの物理アドレスの関係制約を無くし、不揮発性メモリの領域全体から各消去単位(消去ブロック)内の空きページへ書込みが可能であるようなアドレス管理とすることにより、消去動作の発生頻度を少なくし、平均ライトアクセス時間の改善を図ることができる。
発明の理解を容易にするため、単純にホスト側から最小管理単位でランダムライトアクセスが行われた例を説明したが、実際にはホスト側からは論理アドレスに対応した1セクタで書き込むこと、あるいは複数の任意のセクタ数に対してアクセスすることは当然ある。この結果、最小管理単位内の1ないし数セクタ、あるいは最小管理単位を跨ぐ数セクタでのランダムライトアクセスが発生する。
ホスト側からはライトデータの任意の先頭論理アドレスとセクタ数Nが入力される。したがって、ライトバッァWB0等には、最小管理単位の持つ前記0〜9のアドレスのうち、上記先頭の論理アドレスに対応した0〜9のうちいずれか1つを指定して上記セクタ数に対応して9まで順次に書き込まれる。セクタ数Nが当該最小管理単位を超えるときには、次の最小管理単位に残りのセクタが0から順に入力される。この結果、ライトバッァWB0等においては、前記のようなランダムライトアクセスによって最小管理単位に無効データ(無効セクタ)が含まれるものが発生する。このため、フラッシュメモリへの1ページ分の書き込みの際に、当該最小管理単位の以前の記憶情報(10セクタ分)をフラッシュメモリから読み出し、上記ランダムライトアクセスによって入力された更新データを除いた無効データ部分に対応したセクタデータがコピーされる。このような置き換えによって、ライトバッァWB0等には最小管理単位毎に常に最新データ(更新データ)が格納され、前記のような現書込先とされるフラッシュメモリに書き込まれる。このうな書き込み動作に対応して上記フラッシュメモリにおける以前のコピー元の最小管理単位は無効にされる。
前記論理アドレスと物理アドレスとは、最小管理単位毎の物理アドレスに対応した変換テーブルを作成すればよい。1つの最小管理単位毎には、固定的にセクタは順に並んで記憶されるので、最小管理単位毎の物理アドレスがわかれば、その中に記憶された1つのセクタを特定することができる。最も簡単な変換テーブルは、前記10セクタ分の論理アドレスに対応して、物理アドレスを検索するようなテーブルを作成すればよい。しかしながら、32GBのような記憶容量を持つ論理アドレス空間に対して直接に変換するアドレス変換テーブルを生成するは、前記半導体揮発性メモリSDRAMの記憶容量が増大してしまう。このようなアドレス変換のためのテーブル検索は、CPUを用いて行うようにすることもできるが、高速動作化のために、図1の実施例のようにテーブル検索エンジンを構成する専用制御回路LOG2が設けられている。
図3には、この発明に係る記憶装置SSDにおけるアドレス変換テーブルの一実施例の説明図が示されている。この実施例の管理テーブルは、次のように5種類から構成される。PAPATは、ページアドレス物理アドレステーブルであり、ホスト論理アドレス(HLBA)に対応するアドレス変換テーブルの格納先を示す。PAPATは、ホスト論理アドレス640kB分(5kB×128)の物理格納先を4Bで示す。このPAPATは、不揮発性メモリ(フラッシュメモリに)に格納せず、起動時にPATとBSTから揮発性メモリSDRAMに構築し、動作中は揮発性メモリSDRAMにて最新情報を常時管理する。
PATは、ページアドレステーブルであり、ホスト論理アドレスの物理アドレスを示す。このPATは、不揮発性メモリ(フラッシュメモリに)格納され、必要に応じて揮発性メモリSDRAMにリードされる。
BSTは、ブロック状態テーブルであり、不揮発性メモリの消去単位(ブロック)を複数まとめた管理情報である。BSTは、起動時に全てが展開され、揮発性メモリSDRAM上で最新情報を常時管理し、不揮発性メモリにも格納する。
UDRVSは、ユーザデータ逆引き情報であり、前記のようなフリー(未使用)の消去単位を生成するためのユーザデータ用の消去単位(ブロック)の移し替え(コンパクション)時,消去単位中のどの最小管理単位が有効か判定するためのテーブルへのPAPATインデックスとPAT内インデックス(バックポインタ情報)であり、前記図2の消去単位の最終ページ63にまとめて記憶される。
TRVSは、テーブル逆引き情報であり、テーブル用消去単位(ブロック)の前記移し替え(コンパクション)時、消去単位中に書き込んだPAT/BSTテーブル(512B)のPAT/BSTインデックス(バックポインタ)情報である。各ページPAGE毎と各消去単位毎の最終ページ63にまとめて格納される。各ページPAGEにおいては、前記のように10×16=160個のセクタが格納されるが、最後の160番目のセクタに上記テーブル逆引き情報が格納される。
図3において、変換対象のホスト論理アドレスHLBAxは、最小管理単位(5kB)×128のホストページアドレスHPAxに変換される。揮発性メモリに全展開されているPAPATのHPAxで指定されたアドレスには、BSTインデックスが格納されており、これを参照するとPATの物理格納先情報(ページ情報とBSTインデックス)を取得することができる。揮発性メモリに全展開されているBSTのBSTインデックスにより指定されたアドレスには、PATの物理先(物理ブロック情報)が取得できる。これらから不揮発性メモリのPAT(512B)をPAT(バッファ)にリードし、HPAxからPAT内インデックスを換算し、HPAxに対応するユーザデータの物理先情報BSTインデックスを取得する。揮発性メモリに全展開されているBSTのBSTインデックスを参照すると、データの物理先(物理ブロック情報)を取得でき、不揮発性メモリのユーザデータに至る。このようなアドレス変換により、ホスト側から目的の1つのユーザデータをリードできる。
図4には、前記図3のPAPATの概念図が示されている。PAPATは、前記のようにPAT(ページアドレステーブル)自体のデバイス物理アドレステーブルであり、PATの全体サイズが大きいために揮発性メモリ(SDRAM)に常駐できない。常駐させるためには、揮発性メモリ(SDRAM)の記憶容量が増大する。そこで、PATのポインタとしてPAPATをRAMに全展開し、PATは必要に応じて不揮発性メモリからのリードを行う。PAPATは、PAT自体の物理先情報を揮発性メモリ(SDRAM)に展開(常駐)したテーブルであり、不揮発性メモリには格納しない。起動時には、PATとBSTから最新判定して揮発性メモリ(SDRAM)に構築する。
ホスト論理アドレスは、10セクタ分の最小管理単位毎の物理格納先情報を4Bで示すようにし、例示的に示されている0〜1,127のようなホスト論理アドレスの連続128個分=640kBを1セクタ(512B)の更新単位として扱う。PAPATインデックスは、揮発性メモリ(SDRAM)にHLBA順に全展開状にされてPATの物理先を示す。
アドレス変換のための各種情報は、最新データが1ページ分まとまると逐一不揮発性メモリに書き込まれる。つまり、SDRAMのテーブルにおいて、アドレス変換のための更新データが1ページ分まとまると不揮発性メモリに退避させることにより、電源遮断時等において不揮発性メモリに退避されるべきデータ量を少なくしている。
図5には、この発明に係る記憶装置SSDの代表的な動作の1つであるランダムライトアクセス動作の一例を説明するためのブロック図が示されている。前記のようにホストHOST側からのライトデータ(1)は、S−ATA〜P−ATA〜ATAC〜RCを通してWB0,1のうちいずれか一方(同図ではWB0)に入力される。このとき、SDRAMにも並列してデータ格納がされる。このWB0に16個分の最小管理単位が記憶され、16個目に引き続き17個目以上のライトデータが入力されると、ライトバッファWB1に前記同様に格納される(図示せず)。WB0に記憶された80kBのデータ(2)は、順次に読み出されてECC回路を通してパリティビットが付加されてフラッシュ入出力部FICを介して10チャンネルに振り分けられて不揮発性メモリFL0〜FL9の現書込先消去単位に書き込まれる。WB1に記憶された80kBのデータについても前記同様である。
前記のようにライトデータをSDRAMに並列して書き込みを行うようにすることにより、ホストライトからホストリードのようにホストアクセスが切り替わる場合、SDRAMにWB0,WB1のライトデータが存在するために、ホストライトで使用していたWB0,WB1のライトデータの退避のための時間が不要であり、直ちにWB0,WB1をホストリードで利用することができる。つまり、図7で後述するようにWB0,WB1に不揮発性メモリFL0〜FL9からのリードデータを上書きすることができる。
図6には、この発明に係る記憶装置SSDの代表的な他の動作の1つであるコンパクション動作の一例を説明するためのブロック図が示されている。データ(1)は、不揮発性メモリFL0〜FL9の次フリー候補の消去単位から読み出される有効データであり、ECC回路を通して誤り検出訂正が行われてWB0に蓄積される。このWB0に16個分の最小管理単位が記憶され、16個目に引き続き17個目以上の有効データが入力されると、ライトバッファWB1に前記同様に格納される(図示せず)。WB0に記憶された80kBの有効データ(2)は、順次に読み出されてECC回路を通してパリティビットが付加されてフラッシュ入出力部FICを介して10チャンネルに振り分けられて不揮発性メモリFL0〜FL9のフリー(未使用)消去単位に書き込まれる。WB1に記憶された80kBのデータについても同様である。
図7には、この発明に係る記憶装置SSDの代表的な動作の他の1つであるリード動作の一例を説明するためのブロック図が示されている。データ(1)は、不揮発性メモリFL0〜FL9からホストリード要求範囲に対応した読み出しデータであり、ECC回路を通して誤り検出訂正が行われてWB0に蓄積される。このWB0に蓄積された記憶されたデータ(2)がRC〜ATAC〜P−ATA〜S−ATAを通してホストHOSTに読み出される。
図8には、この発明に係る記憶装置SSDの一実施例の概略ブロック図が示されている。同図のコントローラ部は、前記図1のコントローラ部に対応し、揮発性メモリは前記SDRAMに対応し、不揮発性メモリは前記FL0〜FL9に対応し、不揮発性メモリI/Fは前記FICに対応している。コントローラ部は、入力回路ATAIFと、CPU及びECCが例示的に示され、論理制御回路LTCに前記RC,WB0,WB1等が含まれる。この実施例は、SSDとして前記図1では省略されている部分の一実施例が開示されている。
この実施例のSSDには、電源検出回路PDTと電源遮断時の動作電圧を確保するためのコンデンサCP及びスイッチSWを更に備えている。このコンデンサCPは、システム側において予期しない電源遮断が生じた場合でも、その蓄積電荷によって半導体不揮発性メモリやコントローラ部及び半導体揮発性メモリや電源検出回路に電圧を供給して、半導体不揮発性メモリの中断処理を含めた正常終了状態まで動作電圧や、半導体揮発性メモリの退避させるべきデータを半導体不揮発性メモリに退避させる退避時間を確保できるように動作する。コンデンサCPは、上記のような中断処理やデータ退避が行われるような動作電圧確保のために必要な容量値を持つようにされる。
上記電源検出回路PDTは、マイクロコンピュータ等のようなホスト側からの電源電圧を受けて、その電源投入と電源遮断を検出する。これらの電源投入検出信号と電源遮断検出信号は、電源投入又は電源遮断に対応したコントローラ部からの信号、あるいはコントロール線から供給される制御信号に対応してスイッチSWの制御や半導体不揮発性メモリと半導体揮発性メモリとの間でのデータ転送動作の指示に用いられる。
スイッチSWは、上記その電源投入と電源遮断を検出信号により切り替えられ、コンデンサCPが電源電圧による充電動作から、その保持電圧を記憶装置SSDの内部回路の動作電圧として供給する動作を行う。上記電源検出回路PDTは、上記コンデンサCPの保持電圧が有効に利用できるようにするために、コンデンサCPで形成された動作電圧がシステム側に逆流してしまうのを防止するような機能も持つものである。最も簡単な構成は、ダイオード等の一方向性素子を通してシステム側からの電源電圧が、記憶装置SSDの電源電圧として上記スイッチSWを通してコンデンサCPにチャージアップされるとともに、コントロール部、半導体不揮発性メモリ、半導体揮発性メモリ、インターフェイス回路I/F及び電源検出回路に伝えられる。
ホストシステム側において電源遮断等が発生した場合、上記のように電圧検出回路によりコントローラ部及び半導体不揮発性メモリにはコンデンサCPから動作電圧が維持される逆流防止が行われるとともに、インターフェイス回路I/Fが上記システム側からの信号に応答しないように制御され、半導体揮発性メモリに退避データが存在するときには半導体不揮発性メモリの予め決められた退避領域にかかる退避データの退避が行われる。もしも半導体不揮発性メモリへの書き込み動作中ならば、特に制限されないが、リセットコマンドが発行されて半導体不揮発性メモリの書き込み動作が中断処理される。同様に、半導体不揮発性メモリの消去動作中ならばリセットコマンドが発行されて、半導体不揮発性メモリの消去動作も中断処理される。電源遮断時にキャパシタで電圧保持期間中に退避する仕組み以外に、OS等によりホストから電源オフシーケンスで発行する特定コマンドを受けて退避する仕組みも可能である。これら両方を抱き合わせることも可能である。
この発明に係る記憶装置SSDにおいては、前記のようにライト制御でページアドレスの関係制約を無くし、領域全体から、各消去ブロック内の空きページへ書込みが可能であるようなアドレス管理とする。データライト時は、消去済ブロックを1つ選んでデータを入力順に書込む。消去済ブロックが無い場合は、無効ページ数が最大のブロックから有効データのみを置換領域内のブロックヘ転送、元のブロックのデータを消去、消去済ブロックと置換領域のブロックの論理アドレスを交換、空きページを持った消去ブロックをデータ領域内へ作成することで、フォーマット容量までページ書込みが可能となる。これを繰返すことで、消去動作の発生頻度を最小とし、平均ライトアクセス時間の改善を図ることができる。
前記記憶装置SSDを用いてパソコンのOS(オペレーティング・システム)をイントールした場合、記憶装置SSDの特定の論理アドレスの範囲にのみライトアクセスが行われる可能性がある。この場合には、かかる論理アドレス範囲に対応して特定の消去単位間(物理アドレス領域)での前記のような書込/消去が繰り返して行われてしまうことが考えられる。
本願発明においては最小管理単位で論理アドレスと物理アドレスを変換することに着目し、ホスト側からのランダムライトアクセスの合間に、例えばCPUにより記憶データの書き換えの無い消去単位に対してランダムあるいは一定の手順に従って1ないし複数の最小管理単位を読み出して、現在使用中のライトバッファWB0(WB1)に書き込む。これにより、当該最小管理単位の論理アドレスを別の物理アドレスが変更され、もとの最小管理単位が無効化される。このような動作をホスト側から書き換えの無いあるいは極端に少ない消去単位に対して繰り返してランダムに実施することにより、このような消去単位においてもいずれは有効データ数が減少し、前記図2の次フリー候補として選ばれることになる。この結果、初期割当領域+初期未使用領域)の全体について、ほぼ均等に分散させて前記書き換え(消去動作)を実施することができ、書き換え回数の制限を実質的に無くすことができる。
本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、最小管理単位のセクタ数は、10の他に8等のように2進に対応したものであってよいが、物理アドレス拡張ビットを設けることなく、システム領域や未使用領域、代替領域を設ける上で10等のように2進に対応したセクタ数+αに増加させることが便利である。論理アドレスと物理アドレスの変換テーブルの構成は、前記実施例のような階層的に行うことにより、揮発性メモリに常駐させる変換テーブル情報量を少なくするものであればよい。前記のようなアドレス変換や、アドレス変換のための物理アドレスの更新等の制御は、CPUで行うもの、あるいは専用論理回路により実施するもの等種々の形態をとることができる。
この発明は、一括消去型の半導体不揮発性メモリを用い、HDDと互換性を持つようにされたSSD及び半導体不揮発性メモリの記憶方法に広く利用することができる。
HOST…ホスト、S−ATA…インターフェイスチップ、P−ATA…入出力回路、ATAC…コントローラ、RC…信号経路切替回路、S1〜S7、SDTAMC…メモリ制御回路、SDRAM…半導体揮発性メモリ、FL0〜FL9…半導体不揮発性メモリ、WB0,WB1…ライトバッファ、CPU…中央処理装置、REG…レジスタ、RAM…メモリ、LOG1〜LOG3…専用論理回路、
WD1〜WD3…ライトデータ、
PDT…電源検出回路、SW…スイッチ、CP…コンデンサ、LTC…論理制御回路。

Claims (7)

  1. 半導体不揮発性メモリと、
    半導体揮発性メモリと、
    上記半導体不揮発性メモリ及び半導体揮発メモリに対してメモリアクセスを行うコントローラ部とを有し、
    上記半導体不揮発性メモリは、
    システム検索領域と、
    ホスト側からの全ライト状態に対応した初期割当領域と、
    初期未使用領域とを有し、
    上記システム検索領域、初期割当領域及び初期未使用領域の各領域は、それぞれ複数の消去単位を有し、
    上記半導体揮発性メモリは、記憶データに対応したホスト側論理アドレスをそれが格納された上記半導体不揮発性メモリの最新の物理アドレスに変換する変換情報を記憶し、
    上記コントローラ部は、
    入出力インターフェイスと、
    制御論理回路と、
    バッファメモリとを有し、
    上記制御論理回路は、
    上記入出力インターフェイスを介してホスト側から入力された書き込みデータを上記バッファメモリに順次に書き込み、書き込みデータに割り当てられた最小管理単位毎のホスト側論理アドレスと上記半導体不揮発性メモリ側の物理アドレスとの変換情報を生成して上記半導体揮発性メモリに記憶させ第1動作と、
    上記第1動作により複数分の上記最小管理単位の記憶データがバッファメモリの全記憶容量に対して書き込まれた後にかかるバッファメモリの全記憶データを上記半導体不揮発性メモリにおける予め割当られた第1の消去単位の未書き込み領域に順次に書き込む第2動作と、
    上記第1動作と第2動作との繰り返しにより、上記第1の消去単位の未書込領域がなくなると、未書き込みの消去単位が2以上無いことを条件として上記半導体不揮発性メモリの上記初期割当領域及び初期未使用領域の中から検索された最も有効データの少ない第2の消去単位におけるかかる有効データを予め準備されている消去済又は未使用の第3の消去単位に書き込んで上記変換情報を更新し、かかる第3の消去単位を上記第1の消去単位に置き換える第3動作と、
    上記第2の消去単位を一括消去して消去済とされた上記第3の消去単位を準備するとともに、かかる第2の消去単位の消去動作と並行して上記初期割当領域及び初期未使用領域を検索して新しい上記第2の消去単位の用意する第4動作を行い、
    上記最小管理単位は、上記入出力インターフェイスを介して接続されるホスト側の全論理アドレスを複数区分に分割して構成され、順次に並ぶ複数論理アドレス分に対応した記憶データとされる、
    記憶装置
  2. 請求項1において、
    上記入出力インターフェイスは、ハードディスクドライブ互換性の入出力インターフェイスであり、
    上記半導体不揮発性メモリは、NAND型フラッシュメモリであり、
    上記半導体揮発性メモリは、シンクロナス・ダイナミック・ランダム・アクセス・メモリであり、
    上記コントローラ部は、CPUを含むシステムLSIであり、
    上記コントローラ部のバッファメモリは、第1バッファメモリと第2バッファメモリとで構成され、 かかる第1バッファメモリと第2バッファメモリは、
    上記第1動作と第2動作において、一方のバッファメモリを用いて上記第2動作が行われるとき他方のバッファメモリを用いて上記第1動作が同時並行して行われることが可能とされ、
    上記第3動作において、一方のバッファメモリを用いて上記第2の消去単位における有効データを予め準備されている第3の消去単位に書き込むとき、他方のバッファメモリを用いて上記第2の消去単位における次の有効データの読み込みを行う、
    記憶装置。
  3. 請求項2において、
    上記最小管理単位は、順に並ぶ10個の論理アドレスに対応するものであり、
    上記半導体不揮発性メモリは、上記最小管理単位における10個の論理アドレスに対応した10個の入出力部を有し、個々の入出力部に対して複数の半導体チップからなる半導体不揮発性メモリが設けられる、
    記憶装置。
  4. 請求項1において、
    ホスト側の論理アドレスに対応した記憶データが格納された上記半導体不揮発性メモリの物理アドレスを記憶するアドレス変換情報は、
    ホスト側論理アドレスに対応するアドレス変換テーブルの格納先を示す第1情報と、
    ホスト側論理アドレスの物理アドレスを示す第2情報と、
    上記半導体不揮発性メモリの消去単位を管理する第3情報とを含む、
    記憶装置。
  5. 請求項1ないし4のいずれかにおいて、
    電源検出回路と、
    電圧保持回路とを更に有し、
    上記コントローラ部は、
    電源遮断時において上記電源検出回路の電源遮断検出信号により、上記電圧保持回路の保持電圧を上記コントローラ部、半導体揮発性メモリ及び半導体不揮発性メモリの動作電圧に切り替え、上記バッファメモリと上記半導体揮発性メモリの退避対象データを読み出して上記半導体不揮発性メモリに書き込み、
    電源投入時において上記電源検出回路の電源投入検出信号により、電源電圧を上記電圧保持回路の入力電圧、上記コントローラ部、半導体揮発性メモリ及び半導体不揮発性メモリの動作電圧として供給し、上記半導体不揮発性メモリに保持された退避対象データを読み出して上記バッファメモリと半導体揮発性メモリに書き込みを行う、
    記憶装置。
  6. 半導体不揮発性メモリを用いた記憶方法であって、
    上記半導体不揮発性メモリの記憶領域は、システム検索領域と、ホスト側からの全ライト状態に対応した初期割当領域と、初期未使用領域にとに分けられ、
    上記システム検索領域、初期割当領域及び初期未使用領域の各領域は、それぞれ複数の消去単位が設けられ、
    ホスト側の全論理アドレスが複数区分に分割されて構成されて順次に並ぶ複数論理アドレス分が最小管理単位に設定され、
    第1制御動作は、ホスト側から入力された書き込みデータをバッファメモリに順次に書き込み、かかる書き込みデータの最小管理単位毎のホスト側論理アドレスと書き込み予定の上記半導体不揮発性メモリ側の物理アドレスとのアドレスの変換情報を生成してメモリに記憶し、
    第2制御動作は、上記第1制御動作により複数分の上記最小管理単位の記憶データがバッファメモリの全記憶容量に対して書き込まれた時点でかかるバッファメモリの全記憶データを上記半導体不揮発性メモリにおける上記書き込み予定の第1の消去単位の未書き込み領域に順次に書き込み、
    第3制御動作は、上記第1制御動作と第2制御動作との繰り返しにより、上記第1の消去単位の未書込領域がなくなると、未書き込みの消去単位が2以上無いことを条件として上記半導体不揮発性メモリの上記初期割当領域及び初期未使用領域の中から検索された最も有効データの少ない第2の消去単位におけるかかる有効データを予め準備されている消去済又は未使用の第3の消去単位に書き込んで上記変換情報を更新し、かかる第3の消去単位を上記第1の消去単位に置き換え、
    第4制御動作は、上記第2の消去単位を一括消去して消去済とされた上記第3の消去単位を準備するとともに、かかる第2の消去単位の消去動作と並行して上記初期割当領域及び初期未使用領域を検索して新しい上記第2の消去単位を用意する、
    半導体不揮発性メモリの記憶方法。
  7. 請求書6において、
    上記最小管理単位は、順に並ぶ10個の論理アドレスに対応するものであり、
    上記半導体不揮発性メモリは、上記最小管理単位における10個の論理アドレスに対応した10個の入出力部を有し、個々の入出力部に対して複数の半導体チップからなる半導体不揮発性メモリが設けられる、
    半導体不揮発性メモリの記憶方法。
JP2009285909A 2009-12-17 2009-12-17 記憶装置と半導体不揮発性メモリの記憶方法 Pending JP2011128826A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009285909A JP2011128826A (ja) 2009-12-17 2009-12-17 記憶装置と半導体不揮発性メモリの記憶方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009285909A JP2011128826A (ja) 2009-12-17 2009-12-17 記憶装置と半導体不揮発性メモリの記憶方法

Publications (2)

Publication Number Publication Date
JP2011128826A true JP2011128826A (ja) 2011-06-30
JP2011128826A5 JP2011128826A5 (ja) 2013-01-24

Family

ID=44291365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009285909A Pending JP2011128826A (ja) 2009-12-17 2009-12-17 記憶装置と半導体不揮発性メモリの記憶方法

Country Status (1)

Country Link
JP (1) JP2011128826A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10261897B2 (en) 2017-01-20 2019-04-16 Samsung Electronics Co., Ltd. Tail latency aware foreground garbage collection algorithm
CN110806984A (zh) * 2018-08-06 2020-02-18 爱思开海力士有限公司 在存储器系统中搜索有效数据的设备和方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218754A (ja) * 1996-02-13 1997-08-19 Ekushingu:Kk データ記憶システム
JP2002288034A (ja) * 2001-03-23 2002-10-04 Mitsubishi Electric Corp 半導体記憶装置とその読出し・書き込み方法
JP2006252535A (ja) * 2005-02-09 2006-09-21 Hitachi Ulsi Systems Co Ltd 記憶装置
JP2007058840A (ja) * 2005-07-29 2007-03-08 Sony Corp 記憶装置、コンピュータシステム、および記憶システム
WO2007105688A1 (ja) * 2006-03-16 2007-09-20 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
US20070300037A1 (en) * 2006-06-23 2007-12-27 Microsoft Corporation Persistent flash memory mapping table

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09218754A (ja) * 1996-02-13 1997-08-19 Ekushingu:Kk データ記憶システム
JP2002288034A (ja) * 2001-03-23 2002-10-04 Mitsubishi Electric Corp 半導体記憶装置とその読出し・書き込み方法
JP2006252535A (ja) * 2005-02-09 2006-09-21 Hitachi Ulsi Systems Co Ltd 記憶装置
JP2007058840A (ja) * 2005-07-29 2007-03-08 Sony Corp 記憶装置、コンピュータシステム、および記憶システム
WO2007105688A1 (ja) * 2006-03-16 2007-09-20 Matsushita Electric Industrial Co., Ltd. メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
US20070300037A1 (en) * 2006-06-23 2007-12-27 Microsoft Corporation Persistent flash memory mapping table

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10261897B2 (en) 2017-01-20 2019-04-16 Samsung Electronics Co., Ltd. Tail latency aware foreground garbage collection algorithm
CN110806984A (zh) * 2018-08-06 2020-02-18 爱思开海力士有限公司 在存储器系统中搜索有效数据的设备和方法
CN110806984B (zh) * 2018-08-06 2023-04-07 爱思开海力士有限公司 在存储器系统中搜索有效数据的设备和方法

Similar Documents

Publication Publication Date Title
US8688894B2 (en) Page based management of flash storage
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
JP5907739B2 (ja) 不揮発性記憶装置
KR101916206B1 (ko) 고체 상태 드라이브에서 자유 공간 어카운트와 함께 재구축되는 2 스테이지 파워 온 맵을 위한 방법들, 디바이스들, 및 시스템들
US8738851B2 (en) Device and memory system for swappable memory
US8898371B2 (en) Accessing logical-to-physical address translation data for solid state disks
TWI592800B (zh) 記憶體管理方法及使用所述方法的儲存控制器
TWI537728B (zh) 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
US20120239853A1 (en) Solid state device with allocated flash cache
WO2011073939A1 (en) Data management in solid state storage devices
JP2006515086A (ja) ブロック内のページをグループ化する方法及び装置
US11520696B2 (en) Segregating map data among different die sets in a non-volatile memory
TWI463313B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
CN110928487A (zh) 存储装置和存储装置的操作方法
KR20150018654A (ko) 솔리드-스테이트 미디어에서 다단계 맵핑을 이용한 트림 메카니즘
CN112099985A (zh) 数据储存装置以及非挥发式存储器控制方法
KR20210028729A (ko) 논리적 대 물리적 테이블 프래그먼트들
JP2012058770A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2005115561A (ja) フラッシュrom制御装置
US11416410B2 (en) Memory system, method of operating the same and data processing system for supporting address translation using host resource
JP2012068765A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2011128826A (ja) 記憶装置と半導体不揮発性メモリの記憶方法
JP2012068764A (ja) メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法
JP2011128826A5 (ja) 記憶装置、システムlsi及びデータ処理方法
TWI829363B (zh) 資料處理方法及對應之資料儲存裝置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131023

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140312