JP2000285017A - 記憶装置 - Google Patents
記憶装置Info
- Publication number
- JP2000285017A JP2000285017A JP11094059A JP9405999A JP2000285017A JP 2000285017 A JP2000285017 A JP 2000285017A JP 11094059 A JP11094059 A JP 11094059A JP 9405999 A JP9405999 A JP 9405999A JP 2000285017 A JP2000285017 A JP 2000285017A
- Authority
- JP
- Japan
- Prior art keywords
- data
- flash memory
- writing
- written
- storage device
- 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
- 230000015654 memory Effects 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 1
Abstract
(57)【要約】
【課題】フラッシュメモリを使用した記憶装置のアクセ
ス時間を短くすることにある。 【解決手段】フラッシュメモリを使用した記憶装置にデ
ータを書き込む場合一度に書き込むデータ量に応じてイ
ンターリーブするかしないかを決定し書き込みを行う。
ス時間を短くすることにある。 【解決手段】フラッシュメモリを使用した記憶装置にデ
ータを書き込む場合一度に書き込むデータ量に応じてイ
ンターリーブするかしないかを決定し書き込みを行う。
Description
【0001】
【発明の属する技術分野】本発明はフラッシュメモリを
使用した記憶装置に関するものである。
使用した記憶装置に関するものである。
【0002】
【従来の技術】複数のフラッシュメモリとその制御を行
うコントローラにより構成される記憶装置ではそのデー
タの書き込みおよび読み出しをする場合にコントローラ
のシンリンダー、トラック、セクタにより構成される論
理アドレスを変換テーブルによりコントローラがフラッ
シュメモリの物理アドレスに対応させていた。このコン
トローラがインターリーブという方法によりフラッシュ
メモリへの書き込み時間を短くしていた。インターリー
ブとは連続したデータを1つのフラッシュメモリの連続
したアドレスに書き込むのではなく複数のメモリにまた
がって書き込む方法である。たとえば10セクタのデータ
を書込む場合には、1セクタは512バイトとそのデータ
の管理情報16バイトの合計528バイトで構成されるので5
28×10バイトのデータをフラッシュメモリに書込む必要
がある。フラッシュメモリに書込みを行う場合528バイ
トのデータをフラッシュメモリチップに転送しフラッシ
ュメモリ内部のバッファに格納した後、フラッシュメモ
リに書込みコマンドを発行しフラッシュメモリにデータ
を書込む。フラッシュメモリチップにデータを転送する
のに要する時間をtT、フラッシュメモリにデータを書込
む時間をtWとすると10セクタ分のデータを1つのフラッ
シュメモリチップに書込むのに要する時間は10×(t
T+tW)である。
うコントローラにより構成される記憶装置ではそのデー
タの書き込みおよび読み出しをする場合にコントローラ
のシンリンダー、トラック、セクタにより構成される論
理アドレスを変換テーブルによりコントローラがフラッ
シュメモリの物理アドレスに対応させていた。このコン
トローラがインターリーブという方法によりフラッシュ
メモリへの書き込み時間を短くしていた。インターリー
ブとは連続したデータを1つのフラッシュメモリの連続
したアドレスに書き込むのではなく複数のメモリにまた
がって書き込む方法である。たとえば10セクタのデータ
を書込む場合には、1セクタは512バイトとそのデータ
の管理情報16バイトの合計528バイトで構成されるので5
28×10バイトのデータをフラッシュメモリに書込む必要
がある。フラッシュメモリに書込みを行う場合528バイ
トのデータをフラッシュメモリチップに転送しフラッシ
ュメモリ内部のバッファに格納した後、フラッシュメモ
リに書込みコマンドを発行しフラッシュメモリにデータ
を書込む。フラッシュメモリチップにデータを転送する
のに要する時間をtT、フラッシュメモリにデータを書込
む時間をtWとすると10セクタ分のデータを1つのフラッ
シュメモリチップに書込むのに要する時間は10×(t
T+tW)である。
【0003】インターリーブでは10ある528バイト単位
のデータのうち最初の528バイトデータをk番目のフラッ
シュメモリチップに書込み、次の528バイトデータをk+1
番目のフラッシュメモリチップに書込み3番目の528バイ
トデータを再度k番目のフラッシュメモリに書込むとい
う動作をする。
のデータのうち最初の528バイトデータをk番目のフラッ
シュメモリチップに書込み、次の528バイトデータをk+1
番目のフラッシュメモリチップに書込み3番目の528バイ
トデータを再度k番目のフラッシュメモリに書込むとい
う動作をする。
【0004】このようにするとk番目のフラッシュメモ
リに528バイトデータの書込みが完了するまでの時間を
待たずにk+1番目のフラッシュメモリチップにデータの
転送を開始できる。したがって10セクタ分のデータを書
込むのに要する時間は5×(tT+tW)+tTである。一般にt
T<tWであるためインターリーブ動作をするとインター
リーブをしない場合に比べて書込み時間が約半分にな
る。
リに528バイトデータの書込みが完了するまでの時間を
待たずにk+1番目のフラッシュメモリチップにデータの
転送を開始できる。したがって10セクタ分のデータを書
込むのに要する時間は5×(tT+tW)+tTである。一般にt
T<tWであるためインターリーブ動作をするとインター
リーブをしない場合に比べて書込み時間が約半分にな
る。
【0005】
【発明が解決しようとする課題】しかしながら全ての書
き込み動作に対してインターリーブを行うとかえって記
憶装置としてアクセス時間を長くさせるという問題があ
った。たとえば記憶装置の中の1セクタのみのデータを
書き換える動作を行う場合には528バイトのみのデータ
を書き換えれば良いはずである。しかしフラッシュメモ
リはたとえば528×16=8448バイトで構成されるブロック
の単位で書き込みを行う。これは以下の理由による。フ
ラッシュメモリは現在書込んであるデータに上書きをす
ることができず8448バイトの単位で一旦データを消去し
て書込みを行う。ある8448バイトのブロック内部の528
バイトを書換える場合には8448のうち528バイトのみの
イレーズすることはできないので従来格納されていた84
48バイトのデータのうち528バイトのみ変更した8448バ
イトのデータを同じアドレス領域をイレーズした後再度
書込むかあるいは他のイレーズ済みのエリアに書込む。
いずれにしても8448バイト(528バイトを16回)の書込
みが必要である。よってひとつのブロックの書込みを行
う場合には16×(tT+tW)の時間を要する。これは1セ
クタのみ書換える場合でも複数セクタのデータを書換え
る場合でも同じ時間が必要である。
き込み動作に対してインターリーブを行うとかえって記
憶装置としてアクセス時間を長くさせるという問題があ
った。たとえば記憶装置の中の1セクタのみのデータを
書き換える動作を行う場合には528バイトのみのデータ
を書き換えれば良いはずである。しかしフラッシュメモ
リはたとえば528×16=8448バイトで構成されるブロック
の単位で書き込みを行う。これは以下の理由による。フ
ラッシュメモリは現在書込んであるデータに上書きをす
ることができず8448バイトの単位で一旦データを消去し
て書込みを行う。ある8448バイトのブロック内部の528
バイトを書換える場合には8448のうち528バイトのみの
イレーズすることはできないので従来格納されていた84
48バイトのデータのうち528バイトのみ変更した8448バ
イトのデータを同じアドレス領域をイレーズした後再度
書込むかあるいは他のイレーズ済みのエリアに書込む。
いずれにしても8448バイト(528バイトを16回)の書込
みが必要である。よってひとつのブロックの書込みを行
う場合には16×(tT+tW)の時間を要する。これは1セ
クタのみ書換える場合でも複数セクタのデータを書換え
る場合でも同じ時間が必要である。
【0006】たとえば2セクタのみの書込みが必要な場
合にはインターリーブを行うと16×(tT+tW)+tTの
時間が必要であるがインターリーブを行わなければ16×
(tT+tW)で書込みが終了する。一方16を超えるセクタ
の書込みを行う場合にはインターリーブした方が早くな
る。17セクタの書込みを行う場合には2つの8448バイト
のブロックの書込みを行う必要がある。インターリーブ
を行わないと一つ目のフラッシュメモリの16セクタのデ
ータを書換えた後2つ目のフラッシュメモリの16セクタ
データを書換える必要があるので2×16×(tT+tW)-tWの
時間が必要である。しかしインターリーブを行うと16×
(tT+tW)+tTで書込みができる。
合にはインターリーブを行うと16×(tT+tW)+tTの
時間が必要であるがインターリーブを行わなければ16×
(tT+tW)で書込みが終了する。一方16を超えるセクタ
の書込みを行う場合にはインターリーブした方が早くな
る。17セクタの書込みを行う場合には2つの8448バイト
のブロックの書込みを行う必要がある。インターリーブ
を行わないと一つ目のフラッシュメモリの16セクタのデ
ータを書換えた後2つ目のフラッシュメモリの16セクタ
データを書換える必要があるので2×16×(tT+tW)-tWの
時間が必要である。しかしインターリーブを行うと16×
(tT+tW)+tTで書込みができる。
【0007】以上のようにインターリーブを行うことに
より書込み時間が早くなる場合と遅くなる場合がある。
より書込み時間が早くなる場合と遅くなる場合がある。
【0008】
【課題を解決するための手段】本発明の記憶装置は、複
数のフラッシュメモリチップとその制御を行うコントロ
ーラにより構成される記憶装置において概記憶装置に書
込むデータをフラッシュメモリの連続したアドレスに書
込むかあるいは複数のフラッシュメモリに交互に書込む
かを決めるビットがありそのビットにしたがって書込み
方法を切り替えることを特徴とする。
数のフラッシュメモリチップとその制御を行うコントロ
ーラにより構成される記憶装置において概記憶装置に書
込むデータをフラッシュメモリの連続したアドレスに書
込むかあるいは複数のフラッシュメモリに交互に書込む
かを決めるビットがありそのビットにしたがって書込み
方法を切り替えることを特徴とする。
【0009】
【発明の実施の形態】図1が本発明のブッロク図であ
る。101はコントローラでありコントローラ101にはコン
トローラの処理を行うCPUとコントローラの処理プログ
ラムを行うROMとCPUが一時的に必要なデータを保存する
RAMとフラッシュメモリのデータの読み書きを行うため
のアドレス、データバスおよび記憶装置の外部とやりと
りをするインターフェースから構成される。102,103は
フラッシュメモリでありコントローラ101によりアクセ
スされる。本実施例ではフラッシュメモリが2個の場合
を説明しているがフラッシュメモリは2個以上ならいく
つでも構わない。
る。101はコントローラでありコントローラ101にはコン
トローラの処理を行うCPUとコントローラの処理プログ
ラムを行うROMとCPUが一時的に必要なデータを保存する
RAMとフラッシュメモリのデータの読み書きを行うため
のアドレス、データバスおよび記憶装置の外部とやりと
りをするインターフェースから構成される。102,103は
フラッシュメモリでありコントローラ101によりアクセ
スされる。本実施例ではフラッシュメモリが2個の場合
を説明しているがフラッシュメモリは2個以上ならいく
つでも構わない。
【0010】外部インタフェースからシリンダ、トラッ
ク、セクタという記憶装置の論理アドレスと書込む情報
がコントローラ101に与えられるとコントローラ101はフ
ラッシュメモリ102の一部にあるアドレス変換テーブル
により実際のフラッシュメモリのどのエリアにデータを
書込むかを決定する。
ク、セクタという記憶装置の論理アドレスと書込む情報
がコントローラ101に与えられるとコントローラ101はフ
ラッシュメモリ102の一部にあるアドレス変換テーブル
により実際のフラッシュメモリのどのエリアにデータを
書込むかを決定する。
【0011】このアドレス変換テーブルを図2に示す。
シリンダ、トラック、セクタがこのアドレス変換テーブ
ルに入力されるとそれに対応したフラッシュメモリのア
ドレスが出力される。このアドレスにデータを書き込
む。変換テーブルは16セクタ(8448バイト)毎に定義さ
れている。このアドレス変換テーブルにはインターリー
ブするかどうかを示すビットがある。一度に書き込むデ
ータ量によりインターリーブしたほうが有利かどうかを
コントローラ101が判断し、有利なら変換テーブル内の
インターリーブを示すビットをセットし、フラッシュメ
モリ102,103にまたがりデータを書き込む。
シリンダ、トラック、セクタがこのアドレス変換テーブ
ルに入力されるとそれに対応したフラッシュメモリのア
ドレスが出力される。このアドレスにデータを書き込
む。変換テーブルは16セクタ(8448バイト)毎に定義さ
れている。このアドレス変換テーブルにはインターリー
ブするかどうかを示すビットがある。一度に書き込むデ
ータ量によりインターリーブしたほうが有利かどうかを
コントローラ101が判断し、有利なら変換テーブル内の
インターリーブを示すビットをセットし、フラッシュメ
モリ102,103にまたがりデータを書き込む。
【0012】データを書き込む方法を図3に示す。フラ
ッシュメモリは8448単位のブロックがいくつか含まれる
がフラッシュメモリ102,103の同時位置にあるブロック
を使って図3のようにデータを書き込む。図3の数字が
データを書き込む順番を示す。1番目のデータをフラッ
シュメモリ102に書き込み、2番目のデータをフラッシ
ュメモリ103に書き込む。以下同様に奇数番のデータを
フラッシュメモリ102に偶数番のデータをフラッシュメ
モリ103に書き込む。このデータを読み出す場合にはア
ドレス変換テーブルのインターリーブを示すビットを読
みフラッシュメモリ102と103から交互にデータを読み出
す。もし一度に書き込むデータ量が少ない場合にはアド
レス変換テーブルのインターリーブを示すビットをリセ
ットし図4に示すように一つのフラッシュメモリに連続
してデータを書き込む。このデータを読み出す場合には
アドレス変換テーブルのインターリーブを示すビットを
参照し連続したデータを読み出す。
ッシュメモリは8448単位のブロックがいくつか含まれる
がフラッシュメモリ102,103の同時位置にあるブロック
を使って図3のようにデータを書き込む。図3の数字が
データを書き込む順番を示す。1番目のデータをフラッ
シュメモリ102に書き込み、2番目のデータをフラッシ
ュメモリ103に書き込む。以下同様に奇数番のデータを
フラッシュメモリ102に偶数番のデータをフラッシュメ
モリ103に書き込む。このデータを読み出す場合にはア
ドレス変換テーブルのインターリーブを示すビットを読
みフラッシュメモリ102と103から交互にデータを読み出
す。もし一度に書き込むデータ量が少ない場合にはアド
レス変換テーブルのインターリーブを示すビットをリセ
ットし図4に示すように一つのフラッシュメモリに連続
してデータを書き込む。このデータを読み出す場合には
アドレス変換テーブルのインターリーブを示すビットを
参照し連続したデータを読み出す。
【0013】
【発明の効果】以上のように1度に書き込むデータ量に
よりインターリーブをするかしないかを判断してフラッ
シュメモリに書き込むことによりアクセス速度を早くす
ることができる。
よりインターリーブをするかしないかを判断してフラッ
シュメモリに書き込むことによりアクセス速度を早くす
ることができる。
【図1】 本発明の1実施の形態を示すシステム構成
図。
図。
【図2】 アドレス変換テーブルの図。
【図3】 インターリーブした場合のデータ書き込み
例の図。
例の図。
【図4】 インターリーブしない場合のデータ書き込
み例の図。
み例の図。
101 コントローラ 102 フラッシュメモリ 103 フラッシュメモリ
Claims (1)
- 【請求項1】複数のフラッシュメモリチップとその制御
を行うコントローラにより構成される記憶装置において
概記憶装置に書込むデータをフラッシュメモリの連続し
たアドレスに書込むかあるいは複数のフラッシュメモリ
に交互に書込むかを決めるビットがありそのビットにし
たがって書込み方法を切り替えることを特徴とする記憶
装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11094059A JP2000285017A (ja) | 1999-03-31 | 1999-03-31 | 記憶装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11094059A JP2000285017A (ja) | 1999-03-31 | 1999-03-31 | 記憶装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000285017A true JP2000285017A (ja) | 2000-10-13 |
Family
ID=14099976
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11094059A Withdrawn JP2000285017A (ja) | 1999-03-31 | 1999-03-31 | 記憶装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000285017A (ja) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007517320A (ja) * | 2003-12-30 | 2007-06-28 | サンディスク コーポレイション | ホストの使用特性に基づいたフラッシュメモリのアドレスマッピングの適応的モード切り換え |
| JP2009026301A (ja) * | 2007-07-19 | 2009-02-05 | Samsung Electronics Co Ltd | ソリッドステートディスクコントローラ及びソリッドステートディスクコントローラのデータ処理方法 |
| JP2011204229A (ja) * | 2010-03-01 | 2011-10-13 | Panasonic Corp | メモリコントローラ、撮像装置 |
| JP2011203905A (ja) * | 2010-03-25 | 2011-10-13 | Toshiba Corp | メモリシステム |
| US8117380B2 (en) | 2003-12-30 | 2012-02-14 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
| JP2014127075A (ja) * | 2012-12-27 | 2014-07-07 | Toshiba Corp | アドレス生成回路 |
| JP2015076070A (ja) * | 2013-10-11 | 2015-04-20 | キヤノン株式会社 | 情報処理装置及びその制御方法、並びにプログラム |
| US11681449B2 (en) | 2012-06-19 | 2023-06-20 | Samsung Electronics Co., Ltd. | Memory system and SoC including linear address remapping logic |
-
1999
- 1999-03-31 JP JP11094059A patent/JP2000285017A/ja not_active Withdrawn
Cited By (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8745322B2 (en) | 2003-12-30 | 2014-06-03 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
| JP2007517320A (ja) * | 2003-12-30 | 2007-06-28 | サンディスク コーポレイション | ホストの使用特性に基づいたフラッシュメモリのアドレスマッピングの適応的モード切り換え |
| US8117380B2 (en) | 2003-12-30 | 2012-02-14 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
| US8301826B2 (en) | 2003-12-30 | 2012-10-30 | Sandisk Technologies Inc. | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
| US8504798B2 (en) | 2003-12-30 | 2013-08-06 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
| JP2009026301A (ja) * | 2007-07-19 | 2009-02-05 | Samsung Electronics Co Ltd | ソリッドステートディスクコントローラ及びソリッドステートディスクコントローラのデータ処理方法 |
| US8738842B2 (en) | 2007-07-19 | 2014-05-27 | Samsung Electronics Co., Ltd. | Solid state disk controller and data processing method thereof |
| JP2011204229A (ja) * | 2010-03-01 | 2011-10-13 | Panasonic Corp | メモリコントローラ、撮像装置 |
| JP2011203905A (ja) * | 2010-03-25 | 2011-10-13 | Toshiba Corp | メモリシステム |
| US11681449B2 (en) | 2012-06-19 | 2023-06-20 | Samsung Electronics Co., Ltd. | Memory system and SoC including linear address remapping logic |
| US11704031B2 (en) | 2012-06-19 | 2023-07-18 | Samsung Electronics Co., Ltd. | Memory system and SOC including linear address remapping logic |
| US12001698B2 (en) | 2012-06-19 | 2024-06-04 | Samsung Electronics Co., Ltd. | Memory system and SoC including linear address remapping logic |
| JP2014127075A (ja) * | 2012-12-27 | 2014-07-07 | Toshiba Corp | アドレス生成回路 |
| US9405674B2 (en) | 2012-12-27 | 2016-08-02 | Kabushiki Kaisha Toshiba | Address generating circuit and address generating method |
| JP2015076070A (ja) * | 2013-10-11 | 2015-04-20 | キヤノン株式会社 | 情報処理装置及びその制御方法、並びにプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3944496B2 (ja) | 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能 | |
| US8681552B2 (en) | System and method for accessing and storing interleaved data | |
| US6154808A (en) | Method and apparatus for controlling data erase operations of a non-volatile memory device | |
| EP1242868B1 (en) | Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time | |
| KR100300250B1 (ko) | 반도체기억장치및그데이터관리방법 | |
| JP2000067574A (ja) | 半導体記憶装置 | |
| KR20070118533A (ko) | 불휘발성 메모리 | |
| KR100522006B1 (ko) | 비휘발성 기억장치 및 그 제어방법 | |
| KR100914646B1 (ko) | 멀티-플레인 구조의 플래시 메모리 관리 방법 | |
| JP2000285017A (ja) | 記憶装置 | |
| JP2006040497A (ja) | 半導体記憶装置、不揮発性半導体記憶装置 | |
| JPH07153284A (ja) | 不揮発性半導体記憶装置及びその制御方法 | |
| US8180951B2 (en) | Memory system and method of controlling the memory system | |
| JPH08221312A (ja) | メモリカード装置 | |
| US7836263B2 (en) | Nonvolatile memory controlling method and nonvolatile memory controlling apparatus | |
| KR100336744B1 (ko) | 플래시 메모리의 라이트장치 및 방법 | |
| US20050204115A1 (en) | Semiconductor memory device, memory controller and data recording method | |
| JP4273106B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
| JPH11259357A (ja) | 半導体集積装置及び不揮発性メモリ書き込み方式 | |
| JP2006277736A (ja) | 不揮発性記憶装置の書込み方法 | |
| JP2008021335A (ja) | 不揮発性記憶装置、不揮発性記憶装置の書込み方法およびコントローラ | |
| JP2008300018A (ja) | 不揮発性メモリおよびその書き換え方法 | |
| CN120929001A (zh) | 存储装置及存储装置的存储器操作的执行方法 | |
| JPH08161224A (ja) | 半導体ファイル装置 | |
| JP2003178280A (ja) | メモリーカード |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050715 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050726 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20050908 |