JP2010211618A - 半導体記憶装置 - Google Patents
半導体記憶装置 Download PDFInfo
- Publication number
- JP2010211618A JP2010211618A JP2009058359A JP2009058359A JP2010211618A JP 2010211618 A JP2010211618 A JP 2010211618A JP 2009058359 A JP2009058359 A JP 2009058359A JP 2009058359 A JP2009058359 A JP 2009058359A JP 2010211618 A JP2010211618 A JP 2010211618A
- Authority
- JP
- Japan
- Prior art keywords
- write
- writing
- storage area
- area
- conversion
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】パフォーマンスを向上させる技術“レディブースト”が要求するランダムライト性能を得ることができる半導体記憶装置を提供する。
【解決手段】論理アドレスから物理アドレスへの第1の変換が行われ、変換された物理アドレスが指定する領域への書き込みが行われる通常データ領域12と、論理アドレスから物理アドレスへ、第1の変換とは異なる方式の第2の変換が行われ、第2の変換により変換された論理アドレスが指定する領域への書き込みが行われる追記バッファ領域13と、コントローラ20とを備える。コントローラ20は、所定長以上のシーケンシャルライトを検出した場合は通常データ領域12への書き込みを行う第1書き込みモードに移行し、前回の書き込み終了時の論理アドレスと次回の書き込み開始時の論理アドレスとの差分が所定範囲内にないことを検出した場合は追記バッファ領域13への追記書き込みを行う第2書き込みモードに移行する。
【選択図】図1
【解決手段】論理アドレスから物理アドレスへの第1の変換が行われ、変換された物理アドレスが指定する領域への書き込みが行われる通常データ領域12と、論理アドレスから物理アドレスへ、第1の変換とは異なる方式の第2の変換が行われ、第2の変換により変換された論理アドレスが指定する領域への書き込みが行われる追記バッファ領域13と、コントローラ20とを備える。コントローラ20は、所定長以上のシーケンシャルライトを検出した場合は通常データ領域12への書き込みを行う第1書き込みモードに移行し、前回の書き込み終了時の論理アドレスと次回の書き込み開始時の論理アドレスとの差分が所定範囲内にないことを検出した場合は追記バッファ領域13への追記書き込みを行う第2書き込みモードに移行する。
【選択図】図1
Description
本発明は、半導体記憶装置に関し、例えばフラッシュメモリデバイスに関するものである。
従来、パーソナルコンピュータ(以下、PC)の主記憶(例えば、DRAM)の仮想記憶領域のスワップデータ保存先としてはハードディスク(HDD)が使用されていたが、近年、USBフラッシュメモリなどのフラッシュメモリ媒体をそのスワップデータ保存先として使用して、スワップ時の性能向上を図る動きがある。Microsoft(登録商標)がWindows(登録商標) Vista(登録商標)で搭載している“Readyboost(レディブースト)(登録商標)”機能はその代表的な例である。
このパフォーマンスを向上させる技術“レディブースト”機能を有効に使用するために、USBフラッシュメモリには高速なランダムライト性能が要求される。Microsoftではレディブーストに使用できるUSBフラッシュメモリとして、以下のような性能基準を決めている。ランダムライトとは、ランダムな論理アドレスへのデータ書き込みをいう。
(1)使用可能基準(Basic Logo)…512KB単位のランダムライト性能が2MB/sec以上
(2)推奨基準(Premium Logo)…512KB単位のランダムライト性能が3MB/sec以上
一方、USBフラッシュメモリに使用されているNANDフラッシュメモリは、大容量化の中で物理ブロックサイズが大きくなってきている(1MB以上)。NANDフラッシュメモリは、物理ブロック単位で消去し、かつ、ページ(16KBなど)単位でのブロック内のシーケンシャルライト(ページアドレスが小さい方から大きいほうへの順次書き込み)しかできないため、通常のデータ書き込み方式ではランダムライトに対してはデータ引越し(引越しコピー)が発生する。
(2)推奨基準(Premium Logo)…512KB単位のランダムライト性能が3MB/sec以上
一方、USBフラッシュメモリに使用されているNANDフラッシュメモリは、大容量化の中で物理ブロックサイズが大きくなってきている(1MB以上)。NANDフラッシュメモリは、物理ブロック単位で消去し、かつ、ページ(16KBなど)単位でのブロック内のシーケンシャルライト(ページアドレスが小さい方から大きいほうへの順次書き込み)しかできないため、通常のデータ書き込み方式ではランダムライトに対してはデータ引越し(引越しコピー)が発生する。
USBフラッシュメモリでは、物理ブロックサイズが大きいほどデータ引越しに伴う書き込み性能へのオーバーヘッドの影響が大きくなるため、レディブーストが要求するランダムライト性能を得ることが困難になる可能性がある。
なお、例えば特許文献1には、“Readyboost”と“Readydrive(登録商標)”のWindows PC アクセラレータを実装するためのフラッシュメモリとコントローラのシステムが開示されている。しかし、レディブーストが要求するランダムライト性能を得るための技術を提供するものではない。
本発明は、パフォーマンスを向上させる技術“レディブースト”が要求するランダムライト性能を得ることができる半導体記憶装置を提供する。
本発明の一実施態様の半導体記憶装置は、複数のメモリセルを有するブロックを複数備え、ブロック単位で消去が行われる半導体記憶装置において、複数のブロックを有し、論理アドレスから物理アドレスへの第1の変換が行われ、変換された前記物理アドレスが指定する領域への書き込みが行われる第1の記憶領域と、複数のブロックを有し、論理アドレスから物理アドレスへ、前記第1の変換とは異なる方式の第2の変換が行われ、前記第2の変換により変換された物理アドレスが指定する領域への書き込みが行われる第2の記憶領域と、前記第1の記憶領域及び前記第2の記憶領域への書き込みを制御するコントローラとを具備し、前記コントローラは、所定長以上のシーケンシャルライトを検出した場合は前記第1の記憶領域への書き込みを行う第1の書き込みモードに移行し、前回の書き込み終了時の論理アドレスと次回の書き込み開始時の論理アドレスとの差分が所定範囲内にないことを検出した場合は前記第2の記憶領域への追記書き込みを行う第2の書き込みモードに移行することを特徴とする。
本発明の他の実施態様の半導体記憶装置は、複数のメモリセルを有するブロックを複数備え、ブロック単位で消去が行われる半導体記憶装置において、複数のブロックを有し、論理アドレスから物理アドレスへの変換が行われ、変換された前記物理アドレスが指定する領域への書き込みが行われる第1の記憶領域と、複数のブロックを有し、論理アドレスから物理アドレスへ、前記第1の変換とは異なる方式の第2の変換が行われ、前記第2の変換により変換された物理アドレスが指定する領域への書き込みが行われる第2の記憶領域と、前記第1の記憶領域及び前記第2の記憶領域への書き込みを制御するコントローラとを具備し、前記コントローラは、所定記憶容量単位のランダムアドレスへの書き込みを検出したかどうかにより、前記第1の記憶領域への書き込みを行う第1の書き込みモード、あるいは前記第2の記憶領域への追記書き込みを行う第2の書き込みモードのいずれかに移行することを特徴とする。
本発明によれば、パフォーマンスを向上させる技術“レディブースト”が要求するランダムライト性能を得ることができる半導体記憶装置を提供することが可能である。
以下、図面を参照して本発明の実施形態について説明する。ここでは、半導体記憶装置としてUSBフラッシュメモリを例に取る。説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
[第1実施形態]
まず、本発明の第1実施形態のUSBフラッシュメモリについて説明する。
まず、本発明の第1実施形態のUSBフラッシュメモリについて説明する。
図1は、第1実施形態のUSBフラッシュメモリの構成を示すブロック図である。USBフラッシュメモリは、NANDフラッシュメモリ10とこのNANDフラッシュメモリの動作を制御するコントローラ20とを有する。NANDフラッシュメモリ10は、複数のメモリセルを有するブロック(論理ブロック)を複数備え、ブロック単位で消去が行われる。ブロックサイズ(ブロックの記憶容量)は、例えば1MBまたは1.5MBである。
NANDフラッシュメモリ10の各ブロックは、用途によって、論理物理変換テーブルやコントローラ制御情報などを記憶するシステムデータ領域11、通常のデータを記憶する通常データ領域12、ランダムライトを高速に処理するための追記バッファ領域13に分類される。また、この他に、データ引越し用や不良ブロックの置き換えに使用するスペアブロック領域14もある。論理物理変換テーブルは、論理アドレスを物理アドレスに変換するために使用するテーブルである。システムデータ領域11、通常データ領域12、追記バッファ領域13、及びスペアブロック領域14の各々は、複数の不揮発性メモリセルを有するブロックを複数備える。
例えば、記憶容量が4GBのUSBフラッシュメモリの場合、通常データ領域12を4GB、追記バッファ領域13を128MB、システムデータ領域11を32MB程度用意する。
コントローラ20は、MPU21、ROM22、RAM23、USBインタフェース(USB I/F)24、及びNANDインタフェース(NAND I/F)25を含む。USBインタフェース24は、外部のホスト機器、例えばPC(以下、ホストPCと記す)とコントローラ20との間のインタフェース処理を行う。MPU21は、USBフラッシュメモリにおける動作を制御する。詳述すると、MPU21は、書き込みコマンド、読み出しコマンド、及び消去コマンドをホストPCから受け取り、NANDフラッシュメモリ10に対して所定の処理を実行したり、追記バッファ領域13から通常データ領域12へのデータ移動処理を実行したりする。
ROM22は、MPU用のファームウェア(制御プログラム)、及び固定データなどを格納する。RAM23は、各種の変換テーブルや変数などを格納すると共に、MPU21のワークエリアとして使用される。NANDインタフェース25は、コントローラ20とNANDフラッシュメモリ10との間のインタフェース処理を行う。
以下に、第1実施形態のUSBフラッシュメモリにおけるデータ書き込み動作を説明する。図2〜図4は、第1実施形態のUSBフラッシュメモリにおけるデータ書き込み動作を示すフローチャートである。
書き込み動作がスタートすると、まず、RAM23が持つ「書き込み先フラグ」が追記バッファ領域13に設定される、すなわち書き込み時の動作が「追記バッファ書き込みモード」に設定される(ステップS1)。続いて、MPU21は、書き込みデータをパケット通信にて受信する(ステップS2)。次に、MPU21はRAM23に設定された「書き込み先フラグ」が追記バッファ領域13に設定されているか否かを判定する(ステップS3)。
すなわち、コントローラ20内のRAM23には「書き込み先フラグ」があり、MPU21は「書き込み先フラグ」の状態を判定することにより、「追記バッファ書き込みモード」あるいは「通常書き込みモード」のいずれのモードを行うかを識別する。「追記バッファ書き込みモード」は、ホストPCから受信した書き込みデータを追記バッファ領域13に書き込むモードであり、「通常書き込みモード」は書き込みデータを通常データ領域12に書き込むモードである。パワーオン後の初期状態では、「書き込み先フラグ」は「追記バッファ書き込みモード」になっている。
次に、「書き込み先フラグ」が追記バッファ領域13に設定されているときは、(1)へ進み、ステップS4以降の「追記バッファ書き込みモード」の処理を行う。
ステップS4では、書き込みデータの書き込み論理アドレス及び書き込みデータサイズをRAM23に記憶する。続いて、追記バッファ領域13に空き領域があるか否かを判定する(ステップS5)。追記バッファ領域13に空き領域があるときは、受信した書き込みデータを追記バッファ領域13に追記書き込みする(ステップS6)。さらに、書き込みデータの書き込み論理アドレス及び書き込みデータサイズをシステムデータ領域11に記憶する(ステップS7)。
すなわち、図2のステップS3で、「追記バッファ書き込みモード」にあるとき((1)へ)、かつ、追記バッファ領域13にデータ書き込みのための空き領域があるとき(図3のステップS5でYESのとき)は、MPU21はホストPCから受信した書き込みデータを追記バッファ領域13に追記書き込みする(ステップS4〜S6)。さらに、書き込みデータの書き込み論理アドレス及び書き込みデータサイズ(データ長)をシステムデータ領域11に記憶する(ステップS7)。
ここで、「追記書き込み」とは、図5に示すように、受信した書き込みデータをそのまま追記バッファ領域13に書き込み、その書き込み論理アドレスと書き込みデータサイズをシステムデータ領域11に記憶テーブルとして記憶する処理をいう。追記書き込みでは、図6に示すように、通常の書き込みのような引越し処理が発生しないため、ランダムライトを高速に処理できる。
なお、追記書き込みによって、通常データ領域12にそれまでに保存されたデータやそれまでに追記書き込みされたデータとの間に論理アドレスの重複が生じる。そこで、追記書き込みした書き込み論理アドレス、及び書き込みデータサイズをシステムデータ領域11に書き込む必要がある。また、追記バッファ領域13は追記書き込みを繰り返すうちにいつかあふれるので、図7に示すように、所定のタイミングで追記バッファ領域13に記憶されているデータを通常データ領域12に移動させて、追記バッファ領域13の空き領域を確保する処理が必要になる。所定のタイミングは、後述のステップS14に記したように、通常データ領域12への書き込みを行った直後でもよいし、あるいは通常データ領域12への書き込みと並行であってもよい。さらに、初期化処理の際でもよいし、外部からコントローラへのアクセスがない期間中であってもよい。
次に、MPU21は、これまでのデータパケット通信を含めて、1MB以上の連続した論理アドレスへの書き込みが発生したか否かを判定する(ステップS8)。1MB以上の連続した論理アドレスへの書き込みが発生していないときは、(2)へ進み、ステップS2へ戻り、ステップS2以降の処理を行う。
一方、1MB以上の連続した論理アドレスへの書き込みが発生したときは、「書き込み先フラグ」が通常データ領域12に設定される、すなわち書き込み時の動作が「通常書き込みモード」に設定される(ステップS9)。その後、(2)へ進み、ステップS2へ戻り、ステップS2以降の処理を行う。
すなわち、「追記バッファ書き込みモード」にあるときに、MPU21が一定長(図3の例では1MB)以上のシーケンシャルライトを検出すると、MPU21は、以後「書き込み先フラグ」を「通常書き込みモード」に設定する(ステップS8、S9)。
次に、ステップS3における「書き込み先フラグ」が追記バッファ領域13に設定されているか否かを判定において、「書き込み先フラグ」が追記バッファ領域13に設定されていないとき、すなわち「書き込み先フラグ」が通常データ領域12に設定されているときは、(3)へ進み、ステップS10へ移行して、ステップS10以降の「通常書き込みモード」の処理を行う。
ステップS10では、書き込みデータの書き込み論理アドレス及び書き込みデータサイズをRAM23に記憶する。続いて、現行の書き込みが“書き込み終了時の論理アドレス+256KB”以内の論理アドレスからの書き込みか否かを判定する(ステップS11)。現行の書き込みが“書き込み終了時の論理アドレス+256KB”以内の論理アドレスからの書き込みであるときは、ステップS13へ移行する。ステップS13では、ホストPCから受信したデータを通常データ領域12に書き込む(このとき、状況に応じてデータの「引越しコピー」を伴う)。
すなわち、「通常書き込みモード」にあるときは、ホストPCから受信した書き込みデータは通常データ領域12に直接書き込まれる。書き込み論理アドレスによっては「引越しコピー」に伴うオーバーヘッドが発生するが、以後の書き込みでシーケンシャルライトが続くか、あるいは完全なシーケンシャルライトでなくてもアドレスの不連続性が小さければ(ステップS11)、引越しデータ量は少なくてすむため、「引越しコピー」に伴うオーバーヘッドは小さくて済み、データの書き込み速度は低下しない。
次に、追記バッファ領域13に記憶されているデータがあれば、その一部のデータを通常データ領域12に書き込む(ステップS14)。「通常書き込みモード」にあるときに、通常データ領域12へのデータ書き込みと共に、図7に示すように、追記バッファ領域13のデータを通常データ領域12に移動させることで、追記バッファ領域13の空き領域を増やす処理を行う。一度に大量のデータを移動させると、そのときの処理時間が長くなり、ホストPCからみたビジー時間が長くなりすぎる。このため、このデータ移動は1回のデータ書き込み処理ごとに一部のデータずつ行う。
続いて、通常データ領域12の論理ブロックアドレスから物理ブロックアドレスへの変換テーブルを更新する(ステップS15)。その後、(2)へ進み、ステップS2へ移行して、ステップS2以降の処理を行う。
一方、ステップS11において、現行の書き込みが“書き込み終了時の論理アドレス+256KB”以内の論理アドレスからの書き込みでないときは、「書き込み先フラグ」が追記バッファ領域13に設定される(ステップS12)。その後、(1)へ進み、ステップS4へ戻り、ステップS4以降の「追記バッファ書き込みモード」の処理を行う。
すなわち、「通常書き込みモード」にあるときに、“前回の書き込み終了時の論理アドレス+256KB”以内にない論理アドレスからのデータ書き込みを受信したときは、以後、ランダムライトが続くことを想定して「追記バッファ書き込みモード」に移行する(ステップS11、S12)。
また、ステップS5において、「追記バッファ書き込みモード」にあるときに、追記バッファ領域13に空き領域がないときは、(4)へ進み、ステップS13へ移行する。すなわち、追記バッファ領域13に空き領域がない場合は、書き込み先モードに関わらず、通常データ領域12への直接書き込みを行う(ステップS5→S13)。以上が第1実施形態における書き込み動作の詳細である。
以上説明したように第1実施形態における「通常書き込みモード」と「追記バッファ書き込みモード」では、前述したように管理方法が異なる。「通常書き込みモード」では、論理アドレスから物理アドレスへの第1の変換が行われ、第1の変換により変換された物理アドレスが指定する領域への書き込みが行われる。「追記バッファ書き込みモード」では、論理アドレスから物理アドレスへ、第1の変換とは異なる方式の第2の変換が行われ、第2の変換により変換された物理アドレスが指定する領域への書き込みが行われる。
上記の処理によって、追記バッファ領域13に空き領域がある間はランダムライトを高速に処理することができる。ランダムライトのみが続く場合、追記バッファ領域13がデータで一杯になった後はランダムライト性能が低下するが、Windows Vistaでレディブースト機能を使用している場合でも、書き込みデータが512KBのランダムライトが常時継続するわけではなく、その間に一定長以上のシーケンシャルライトも含まれる。このため、シーケンシャルライトを行っている間に、追記バッファ領域13のクリアを行うことができる。すなわち、シーケンシャルライトを行っている間に、追記バッファ領域13から通常データ領域12へのデータ移動を行って、追記バッファ領域13の空き容量を増やすことができる。これにより、一定のランダムライト性能を維持することができる。
[第2実施形態]
次に、本発明の第2実施形態のUSBフラッシュメモリについて説明する。第2実施形態は、第1実施形態と書き込み動作(アルゴリズム)が異なる。ハード構成は、図1に示した第1実施形態と同様である。
次に、本発明の第2実施形態のUSBフラッシュメモリについて説明する。第2実施形態は、第1実施形態と書き込み動作(アルゴリズム)が異なる。ハード構成は、図1に示した第1実施形態と同様である。
図2、図3、図8は、第2実施形態のUSBフラッシュメモリのデータ書き込み動作を示すフローチャートである。この実施形態では、ステップS16において、ステップS12の「追記バッファ書き込みモード」への移行条件として、「512KB単位の書き込みが開始された後である」という条件を追加している。その他は、前述した第1実施形態と同様である。
詳述すると、ステップS3において、「書き込み先フラグ」が追記バッファ領域13に設定されていないときは、ステップS10へ移行する。ステップS10では、書き込みデータの書き込み論理アドレス及び書き込みデータサイズをRAM23に記憶する(ステップS10)。続いて、MPU21は、512KB単位の連続アドレスへの書き込みを行った後であり、かつ前回の書き込みデータの“書き込み終了時の論理アドレス+256KB”以内ではない論理アドレスからの書き込みか否かを判定する(ステップS16)。
ステップS16の条件を満足する場合、512KB単位の連続アドレスへの書き込みを行った後であり、かつ前回の書き込みデータの“書き込み終了時の論理アドレス+256KB”以内ではない論理アドレスからの書き込みであるときは、「書き込み先フラグ」が追記バッファ領域13に設定される(ステップS12)。その後、(1)へ進み、ステップS4へ移行して、ステップS4以降の処理を行う。
一方、ステップS16の条件を満足しない場合、ホストPCから受信した書き込みデータを通常データ領域12に書き込む(状況に応じてデータの「引越しコピー」を伴う)(ステップS13)。その後、ステップS14へ移行し、ステップS14以降の処理を行う。
この第2実施形態では、追記バッファ領域13への書き込みが、レディブーストが要求する512KB単位の書き込み時に限定されるため、第1実施形態と比べて、追記バッファ領域13をレディブースト用により効率的に利用できる(その反面、512KB単位以外のランダムライトへの効果は低くなる)。
なお、追記バッファ領域13のクリア処理(追記バッファ領域13から通常データ領域12へのデータ移動を行って、追記バッファ領域13の空き容量を増やす)をより効率よく実施して、ランダムライト性能の低下を防ぐためには、以下のような処理も有効である。
USBフラッシュメモリのパワーオン時の初期化処理中に、追記バッファ領域13に記憶されているデータの全部、または一部を通常データ領域12に移動する。また、ホストPCからUSBフラッシュメモリへアクセスがないアイドル期間中に、追記バッファ領域13に記憶されているデータを通常データ領域12に移動する。
なお、前記実施形態では、通常データ領域において物理ブロック単位で論理アドレスから物理アドレスにアドレス変換が行われる例を説明したが、物理ブロックの1/2、あるいは1/3などの単位や、物理ブロックの2倍の単位で論理/物理アドレス変換が行われる場合にも適用できる。
本発明の実施形態によれば、パフォーマンスを向上させる技術“レディブースト”が要求するランダムライト性能を得ることができる半導体記憶装置を提供可能である。
また、前述した各実施形態はそれぞれ、単独で実施できるばかりでなく、適宜組み合わせて実施することも可能である。さらに、前述した各実施形態には種々の段階の発明が含まれており、各実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することも可能である。
10…NANDフラッシュメモリ、20…コントローラ、11…システムデータ領域、12…通常データ領域、13…追記バッファ領域、14…スペアブロック領域、21…MPU、22…ROM、23…RAM、24…USBインタフェース(USB I/F)、25…NANDインタフェース(NAND I/F)。
Claims (5)
- 複数のメモリセルを有するブロックを複数備え、ブロック単位で消去が行われる半導体記憶装置において、
複数のブロックを有し、論理アドレスから物理アドレスへの第1の変換が行われ、変換された前記物理アドレスが指定する領域への書き込みが行われる第1の記憶領域と、
複数のブロックを有し、論理アドレスから物理アドレスへ、前記第1の変換とは異なる方式の第2の変換が行われ、前記第2の変換により変換された物理アドレスが指定する領域への書き込みが行われる第2の記憶領域と、
前記第1の記憶領域及び前記第2の記憶領域への書き込みを制御するコントローラとを具備し、
前記コントローラは、所定長以上のシーケンシャルライトを検出した場合は前記第1の記憶領域への書き込みを行う第1の書き込みモードに移行し、
前回の書き込み終了時の論理アドレスと次回の書き込み開始時の論理アドレスとの差分が所定範囲内にないことを検出した場合は前記第2の記憶領域への追記書き込みを行う第2の書き込みモードに移行することを特徴とする半導体記憶装置。 - 複数のメモリセルを有するブロックを複数備え、ブロック単位で消去が行われる半導体記憶装置において、
複数のブロックを有し、論理アドレスから物理アドレスへの変換が行われ、変換された前記物理アドレスが指定する領域への書き込みが行われる第1の記憶領域と、
複数のブロックを有し、論理アドレスから物理アドレスへ、前記第1の変換とは異なる方式の第2の変換が行われ、前記第2の変換により変換された物理アドレスが指定する領域への書き込みが行われる第2の記憶領域と、
前記第1の記憶領域及び前記第2の記憶領域への書き込みを制御するコントローラとを具備し、
前記コントローラは、所定記憶容量単位のランダムアドレスへの書き込みを検出したかどうかにより、前記第1の記憶領域への書き込みを行う第1の書き込みモード、あるいは前記第2の記憶領域への追記書き込みを行う第2の書き込みモードのいずれかに移行することを特徴とする半導体記憶装置。 - 前記コントローラは、前記第1の書き込みモードにおける書き込みと並行して、前記第2の記憶領域から前記第1の記憶領域へのデータ移動を行うことを特徴とする請求項1または2に記載の半導体記憶装置。
- 前記コントローラは、初期化処理の際に、前記第2の記憶領域から前記第1の記憶領域へのデータ移動を行うことを特徴とする請求項1乃至3のいずれかに記載の半導体記憶装置。
- 外部から前記コントローラへのアクセスがない期間中に、前記第2の記憶領域から前記第1の記憶領域へのデータ移動を行うことを特徴とする請求項1乃至4のいずれかに記載の半導体記憶装置。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009058359A JP2010211618A (ja) | 2009-03-11 | 2009-03-11 | 半導体記憶装置 |
| US12/558,706 US20100235564A1 (en) | 2009-03-11 | 2009-09-14 | Semiconductor memory device |
| KR1020100018969A KR101127686B1 (ko) | 2009-03-11 | 2010-03-03 | 반도체 기억 장치 |
| CN201010135702A CN101840375A (zh) | 2009-03-11 | 2010-03-10 | 半导体存储装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009058359A JP2010211618A (ja) | 2009-03-11 | 2009-03-11 | 半導体記憶装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2010211618A true JP2010211618A (ja) | 2010-09-24 |
Family
ID=42731607
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009058359A Withdrawn JP2010211618A (ja) | 2009-03-11 | 2009-03-11 | 半導体記憶装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20100235564A1 (ja) |
| JP (1) | JP2010211618A (ja) |
| KR (1) | KR101127686B1 (ja) |
| CN (1) | CN101840375A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017538981A (ja) * | 2015-11-27 | 2017-12-28 | 華為技術有限公司Huawei Technologies Co.,Ltd. | ストレージデバイスによってデータを記憶するための方法およびストレージデバイス |
| JP2021009678A (ja) * | 2019-06-28 | 2021-01-28 | ウェスタン デジタル テクノロジーズ インコーポレーテッド | 不揮発性メモリ内の異なるデータタイプのためのログベースの記憶装置 |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008152464A (ja) | 2006-12-15 | 2008-07-03 | Toshiba Corp | 記憶装置 |
| US9251055B2 (en) * | 2012-02-23 | 2016-02-02 | Kabushiki Kaisha Toshiba | Memory system and control method of memory system |
| US9104588B2 (en) | 2013-03-01 | 2015-08-11 | Micron Technology, Inc. | Circuits, apparatuses, and methods for address scrambling |
| JP2014206884A (ja) * | 2013-04-15 | 2014-10-30 | 株式会社フィックスターズ | 情報処理装置、情報処理方法、およびプログラム |
| KR102739741B1 (ko) | 2018-12-21 | 2024-12-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
| KR20210092460A (ko) | 2020-01-16 | 2021-07-26 | 삼성전자주식회사 | 복수의 어드레스 맵핑 테이블들을 저장하는 메모리 컨트롤러, 시스템 온 칩, 및 전자 장치 |
Family Cites Families (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63225836A (ja) * | 1987-03-13 | 1988-09-20 | Brother Ind Ltd | 記憶装置 |
| JP3217002B2 (ja) * | 1996-11-19 | 2001-10-09 | 株式会社日立製作所 | デジタルスタジオ装置およびその制御方法 |
| JP2000315173A (ja) * | 1999-04-30 | 2000-11-14 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
| JP4812192B2 (ja) * | 2001-07-27 | 2011-11-09 | パナソニック株式会社 | フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法 |
| CN1232911C (zh) * | 2002-10-09 | 2005-12-21 | 凌阳科技股份有限公司 | 可适应性存取指令与资料的方法与架构 |
| KR100526178B1 (ko) * | 2003-03-31 | 2005-11-03 | 삼성전자주식회사 | 플래시 메모리 액세스 장치 및 방법 |
| KR100533683B1 (ko) * | 2004-02-03 | 2005-12-05 | 삼성전자주식회사 | 플래시 메모리의 데이터 관리 장치 및 방법 |
| 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 |
| US7444461B2 (en) * | 2006-08-04 | 2008-10-28 | Sandisk Corporation | Methods for phased garbage collection |
| KR100858241B1 (ko) * | 2006-10-25 | 2008-09-12 | 삼성전자주식회사 | 하이브리드 플래시 메모리 장치 및 그것의 가용 블록 할당방법 |
| JP2008152464A (ja) * | 2006-12-15 | 2008-07-03 | Toshiba Corp | 記憶装置 |
| US20080172518A1 (en) * | 2007-01-11 | 2008-07-17 | Sandisk Il Ltd. | Systems For Supporting Readydrive And Readyboost Accelerators In A Single Flash-Memory Storage Device |
| KR101286643B1 (ko) * | 2007-04-05 | 2013-07-22 | 삼성전자주식회사 | 독립적으로 뱅크의 모드를 선택하는 반도체 메모리 장치,메모리 컨트롤러 및 그 제어 방법 |
| CN101630233B (zh) * | 2008-07-17 | 2012-07-11 | 群联电子股份有限公司 | 用于闪存的数据存取方法、储存系统与控制器 |
-
2009
- 2009-03-11 JP JP2009058359A patent/JP2010211618A/ja not_active Withdrawn
- 2009-09-14 US US12/558,706 patent/US20100235564A1/en not_active Abandoned
-
2010
- 2010-03-03 KR KR1020100018969A patent/KR101127686B1/ko not_active Expired - Fee Related
- 2010-03-10 CN CN201010135702A patent/CN101840375A/zh active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017538981A (ja) * | 2015-11-27 | 2017-12-28 | 華為技術有限公司Huawei Technologies Co.,Ltd. | ストレージデバイスによってデータを記憶するための方法およびストレージデバイス |
| JP2021009678A (ja) * | 2019-06-28 | 2021-01-28 | ウェスタン デジタル テクノロジーズ インコーポレーテッド | 不揮発性メモリ内の異なるデータタイプのためのログベースの記憶装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20100235564A1 (en) | 2010-09-16 |
| KR20100102535A (ko) | 2010-09-24 |
| KR101127686B1 (ko) | 2012-03-22 |
| CN101840375A (zh) | 2010-09-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8443167B1 (en) | Data storage device employing a run-length mapping table and a single address mapping table | |
| US9753847B2 (en) | Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping | |
| JP5475227B2 (ja) | 不揮発性データ保存装置に備わった仮想ファイルシステムの作業スケジューリング方法及び装置 | |
| CN101387987B (zh) | 存储器装置、存储器控制方法和程序 | |
| RU2642349C1 (ru) | Способ для сохранения данных посредством устройства хранения данных и устройство хранения данных | |
| JP5983019B2 (ja) | 制御装置、記憶装置、記憶制御方法 | |
| JP2010211618A (ja) | 半導体記憶装置 | |
| US20150026390A1 (en) | Garbage collection control method for solid state drive | |
| US10073771B2 (en) | Data storage method and system thereof | |
| US20170228191A1 (en) | Systems and methods for suppressing latency in non-volatile solid state devices | |
| JP2012517645A (ja) | 半導体ディスクシステムのバッファキャッシュプログラミング方法およびバッファキャッシュプログラミング装置 | |
| JP2009048613A (ja) | ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法 | |
| KR20100132244A (ko) | 메모리 시스템 및 메모리 시스템 관리 방법 | |
| JP2009181314A (ja) | 情報記録装置およびその制御方法 | |
| JP2008152464A (ja) | 記憶装置 | |
| JP2009276853A (ja) | フラッシュメモリ装置 | |
| US8429339B2 (en) | Storage device utilizing free pages in compressed blocks | |
| JP5874525B2 (ja) | 制御装置、記憶装置、記憶制御方法 | |
| US20120179859A1 (en) | Nonvolatile memory apparatus performing ftl function and method for controlling the same | |
| US20140223075A1 (en) | Physical-to-logical address map to speed up a recycle operation in a solid state drive | |
| KR101581311B1 (ko) | 플래시 메모리 장치 및 그 제어 방법 | |
| CN105304095B (zh) | 磁盘装置和执行写入指令的方法 | |
| JP4988054B2 (ja) | メモリシステム | |
| JP6254986B2 (ja) | 情報処理装置、アクセスコントローラ、および情報処理方法 | |
| JP2008262452A (ja) | 記録デバイスのキャッシュ方法および記録装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120605 |