JP2000285017A - Storage device - Google Patents
Storage deviceInfo
- 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)【要約】
【課題】フラッシュメモリを使用した記憶装置のアクセ
ス時間を短くすることにある。
【解決手段】フラッシュメモリを使用した記憶装置にデ
ータを書き込む場合一度に書き込むデータ量に応じてイ
ンターリーブするかしないかを決定し書き込みを行う。
(57) [Summary] An object of the present invention is to shorten the access time of a storage device using a flash memory. When data is written to a storage device using a flash memory, whether or not to perform interleaving is determined according to the amount of data to be written at a time, and writing is performed.
Description
【0001】[0001]
【発明の属する技術分野】本発明はフラッシュメモリを
使用した記憶装置に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a storage device using a flash memory.
【0002】[0002]
【従来の技術】複数のフラッシュメモリとその制御を行
うコントローラにより構成される記憶装置ではそのデー
タの書き込みおよび読み出しをする場合にコントローラ
のシンリンダー、トラック、セクタにより構成される論
理アドレスを変換テーブルによりコントローラがフラッ
シュメモリの物理アドレスに対応させていた。このコン
トローラがインターリーブという方法によりフラッシュ
メモリへの書き込み時間を短くしていた。インターリー
ブとは連続したデータを1つのフラッシュメモリの連続
したアドレスに書き込むのではなく複数のメモリにまた
がって書き込む方法である。たとえば10セクタのデータ
を書込む場合には、1セクタは512バイトとそのデータ
の管理情報16バイトの合計528バイトで構成されるので5
28×10バイトのデータをフラッシュメモリに書込む必要
がある。フラッシュメモリに書込みを行う場合528バイ
トのデータをフラッシュメモリチップに転送しフラッシ
ュメモリ内部のバッファに格納した後、フラッシュメモ
リに書込みコマンドを発行しフラッシュメモリにデータ
を書込む。フラッシュメモリチップにデータを転送する
のに要する時間をtT、フラッシュメモリにデータを書込
む時間をtWとすると10セクタ分のデータを1つのフラッ
シュメモリチップに書込むのに要する時間は10×(t
T+tW)である。2. Description of the Related Art In a storage device including a plurality of flash memories and a controller for controlling the flash memory, when writing and reading the data, a logical address constituted by a cylinder, a track, and a sector of the controller is converted into a controller by a conversion table. Corresponded to the physical address of the flash memory. This controller shortens the writing time to the flash memory by a method called interleaving. Interleaving is a method of writing continuous data not over continuous addresses of one flash memory but over a plurality of memories. For example, when writing 10 sectors of data, one sector consists of 512 bytes and 16 bytes of management information for the data, for a total of 528 bytes.
It is necessary to write 28 x 10 bytes of data to flash memory. When writing to the flash memory, 528 bytes of data are transferred to the flash memory chip and stored in a buffer inside the flash memory, and then a write command is issued to the flash memory to write the data to the flash memory. Assuming that the time required to transfer data to the flash memory chip is tT and the time required to write data to the flash memory is tW, the time required to write 10 sectors of data to one flash memory chip is 10 × (t
T + tW).
【0003】インターリーブでは10ある528バイト単位
のデータのうち最初の528バイトデータをk番目のフラッ
シュメモリチップに書込み、次の528バイトデータをk+1
番目のフラッシュメモリチップに書込み3番目の528バイ
トデータを再度k番目のフラッシュメモリに書込むとい
う動作をする。In interleaving, the first 528-byte data of the 10 528-byte data is written to the k-th flash memory chip, and the next 528-byte data is written to k + 1
The third 528-byte data is written to the k-th flash memory again.
【0004】このようにするとk番目のフラッシュメモ
リに528バイトデータの書込みが完了するまでの時間を
待たずにk+1番目のフラッシュメモリチップにデータの
転送を開始できる。したがって10セクタ分のデータを書
込むのに要する時間は5×(tT+tW)+tTである。一般にt
T<tWであるためインターリーブ動作をするとインター
リーブをしない場合に比べて書込み時間が約半分にな
る。In this manner, data transfer to the (k + 1) th flash memory chip can be started without waiting for the time until the writing of the 528-byte data to the k-th flash memory is completed. Therefore, the time required to write data for 10 sectors is 5 × (tT + tW) + tT. Generally t
Since T <tW, the interleave operation reduces the write time by about half compared to the case without interleave.
【0005】[0005]
【発明が解決しようとする課題】しかしながら全ての書
き込み動作に対してインターリーブを行うとかえって記
憶装置としてアクセス時間を長くさせるという問題があ
った。たとえば記憶装置の中の1セクタのみのデータを
書き換える動作を行う場合には528バイトのみのデータ
を書き換えれば良いはずである。しかしフラッシュメモ
リはたとえば528×16=8448バイトで構成されるブロック
の単位で書き込みを行う。これは以下の理由による。フ
ラッシュメモリは現在書込んであるデータに上書きをす
ることができず8448バイトの単位で一旦データを消去し
て書込みを行う。ある8448バイトのブロック内部の528
バイトを書換える場合には8448のうち528バイトのみの
イレーズすることはできないので従来格納されていた84
48バイトのデータのうち528バイトのみ変更した8448バ
イトのデータを同じアドレス領域をイレーズした後再度
書込むかあるいは他のイレーズ済みのエリアに書込む。
いずれにしても8448バイト(528バイトを16回)の書込
みが必要である。よってひとつのブロックの書込みを行
う場合には16×(tT+tW)の時間を要する。これは1セ
クタのみ書換える場合でも複数セクタのデータを書換え
る場合でも同じ時間が必要である。However, when interleaving is performed for all write operations, there is a problem that the access time of the storage device is lengthened. For example, when an operation of rewriting data of only one sector in the storage device is performed, only data of 528 bytes should be rewritten. However, the flash memory performs writing in units of blocks composed of, for example, 528 × 16 = 8448 bytes. This is for the following reason. The flash memory cannot overwrite the currently written data, and erases and writes data once in units of 8448 bytes. 528 inside a block of 8448 bytes
When rewriting bytes, it is not possible to erase only 528 bytes out of 8448, so 84
Either erasing the same address area and writing again the 8448-byte data obtained by changing only 528 bytes of the 48-byte data, or writing to another erased area.
In any case, writing 8448 bytes (16 times 528 bytes) is required. Therefore, it takes 16 × (tT + tW) to write one block. This requires the same time when rewriting only one sector or rewriting data in a plurality of sectors.
【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で書込みができる。For example, if writing of only two sectors is required, interleaving requires 16 × (tT + tW) + tT, but if interleaving is not performed, 16 × (tT + tW) + tT is required.
The writing ends at (tT + tW). On the other hand, when writing more than 16 sectors, interleaving is faster. When writing 17 sectors, it is necessary to write two blocks of 8448 bytes. If interleaving is not performed, it is necessary to rewrite 16 sector data of the first flash memory after rewriting 16 sector data of the second flash memory, so 2 × 16 × (tT + tW) -tW time is required It is. But with interleaving, 16x
Writing is possible at (tT + tW) + tT.
【0007】以上のようにインターリーブを行うことに
より書込み時間が早くなる場合と遅くなる場合がある。As described above, there are cases where the writing time is shortened and the writing time is delayed by performing the interleaving.
【0008】[0008]
【課題を解決するための手段】本発明の記憶装置は、複
数のフラッシュメモリチップとその制御を行うコントロ
ーラにより構成される記憶装置において概記憶装置に書
込むデータをフラッシュメモリの連続したアドレスに書
込むかあるいは複数のフラッシュメモリに交互に書込む
かを決めるビットがありそのビットにしたがって書込み
方法を切り替えることを特徴とする。According to a storage device of the present invention, in a storage device including a plurality of flash memory chips and a controller for controlling the flash memory chips, data to be written into a general storage device is written to consecutive addresses of the flash memory. There is a bit for determining whether the data is to be written to the flash memory or a plurality of flash memories alternately, and the writing method is switched according to the bit.
【0009】[0009]
【発明の実施の形態】図1が本発明のブッロク図であ
る。101はコントローラでありコントローラ101にはコン
トローラの処理を行うCPUとコントローラの処理プログ
ラムを行うROMとCPUが一時的に必要なデータを保存する
RAMとフラッシュメモリのデータの読み書きを行うため
のアドレス、データバスおよび記憶装置の外部とやりと
りをするインターフェースから構成される。102,103は
フラッシュメモリでありコントローラ101によりアクセ
スされる。本実施例ではフラッシュメモリが2個の場合
を説明しているがフラッシュメモリは2個以上ならいく
つでも構わない。FIG. 1 is a block diagram of the present invention. 101 is a controller, and the controller 101 temporarily stores necessary data by the CPU for processing the controller, the ROM for executing the processing program of the controller, and the CPU.
It comprises an address for reading and writing data from and to the RAM and flash memory, a data bus, and an interface for exchanging data with the outside of the storage device. Reference numerals 102 and 103 denote flash memories which are accessed by the controller 101. In this embodiment, the case where there are two flash memories is described, but any number of flash memories may be used as long as the number is two or more.
【0010】外部インタフェースからシリンダ、トラッ
ク、セクタという記憶装置の論理アドレスと書込む情報
がコントローラ101に与えられるとコントローラ101はフ
ラッシュメモリ102の一部にあるアドレス変換テーブル
により実際のフラッシュメモリのどのエリアにデータを
書込むかを決定する。When a logical address of a storage device such as a cylinder, a track, and a sector and information to be written are given to the controller 101 from an external interface, the controller 101 uses the address conversion table in a part of the flash memory 102 to determine which area of the actual flash memory Determines whether to write data to
【0011】このアドレス変換テーブルを図2に示す。
シリンダ、トラック、セクタがこのアドレス変換テーブ
ルに入力されるとそれに対応したフラッシュメモリのア
ドレスが出力される。このアドレスにデータを書き込
む。変換テーブルは16セクタ(8448バイト)毎に定義さ
れている。このアドレス変換テーブルにはインターリー
ブするかどうかを示すビットがある。一度に書き込むデ
ータ量によりインターリーブしたほうが有利かどうかを
コントローラ101が判断し、有利なら変換テーブル内の
インターリーブを示すビットをセットし、フラッシュメ
モリ102,103にまたがりデータを書き込む。FIG. 2 shows this address conversion table.
When a cylinder, track, or sector is input to this address conversion table, the corresponding flash memory address is output. Write data to this address. The conversion table is defined for every 16 sectors (8448 bytes). The address translation table has a bit indicating whether to interleave. The controller 101 determines whether it is more advantageous to interleave based on the amount of data to be written at a time, and if so, sets a bit indicating interleaving in the conversion table and writes data across the flash memories 102 and 103.
【0012】データを書き込む方法を図3に示す。フラ
ッシュメモリは8448単位のブロックがいくつか含まれる
がフラッシュメモリ102,103の同時位置にあるブロック
を使って図3のようにデータを書き込む。図3の数字が
データを書き込む順番を示す。1番目のデータをフラッ
シュメモリ102に書き込み、2番目のデータをフラッシ
ュメモリ103に書き込む。以下同様に奇数番のデータを
フラッシュメモリ102に偶数番のデータをフラッシュメ
モリ103に書き込む。このデータを読み出す場合にはア
ドレス変換テーブルのインターリーブを示すビットを読
みフラッシュメモリ102と103から交互にデータを読み出
す。もし一度に書き込むデータ量が少ない場合にはアド
レス変換テーブルのインターリーブを示すビットをリセ
ットし図4に示すように一つのフラッシュメモリに連続
してデータを書き込む。このデータを読み出す場合には
アドレス変換テーブルのインターリーブを示すビットを
参照し連続したデータを読み出す。FIG. 3 shows a method of writing data. Although the flash memory includes several blocks of 8448 units, data is written as shown in FIG. 3 using blocks located at the same position of the flash memories 102 and 103. The numbers in FIG. 3 indicate the order of writing data. The first data is written to the flash memory 102, and the second data is written to the flash memory 103. Similarly, odd-numbered data is written to the flash memory 102, and even-numbered data is written to the flash memory 103. When reading this data, a bit indicating the interleave in the address conversion table is read and the data is alternately read from the flash memories 102 and 103. If the amount of data to be written at a time is small, the bit indicating the interleave in the address conversion table is reset and data is continuously written to one flash memory as shown in FIG. When reading this data, continuous data is read by referring to the bit indicating the interleave in the address conversion table.
【0013】[0013]
【発明の効果】以上のように1度に書き込むデータ量に
よりインターリーブをするかしないかを判断してフラッ
シュメモリに書き込むことによりアクセス速度を早くす
ることができる。As described above, the access speed can be increased by determining whether or not to perform interleaving based on the amount of data to be written at one time and writing the data into the flash memory.
【図1】 本発明の1実施の形態を示すシステム構成
図。FIG. 1 is a system configuration diagram showing an embodiment of the present invention.
【図2】 アドレス変換テーブルの図。FIG. 2 is a diagram of an address conversion table.
【図3】 インターリーブした場合のデータ書き込み
例の図。FIG. 3 is a diagram of an example of data writing when interleaving is performed.
【図4】 インターリーブしない場合のデータ書き込
み例の図。FIG. 4 is a diagram of an example of data writing when interleaving is not performed.
101 コントローラ 102 フラッシュメモリ 103 フラッシュメモリ 101 Controller 102 Flash memory 103 Flash memory
Claims (1)
を行うコントローラにより構成される記憶装置において
概記憶装置に書込むデータをフラッシュメモリの連続し
たアドレスに書込むかあるいは複数のフラッシュメモリ
に交互に書込むかを決めるビットがありそのビットにし
たがって書込み方法を切り替えることを特徴とする記憶
装置。In a storage device comprising a plurality of flash memory chips and a controller for controlling the flash memory chips, data to be written to a general storage device is written to consecutive addresses of the flash memory or alternately written to a plurality of flash memories. A storage device that has a bit for determining whether to write data and switches a writing method according to the bit.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11094059A JP2000285017A (en) | 1999-03-31 | 1999-03-31 | Storage device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11094059A JP2000285017A (en) | 1999-03-31 | 1999-03-31 | Storage device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000285017A true JP2000285017A (en) | 2000-10-13 |
Family
ID=14099976
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11094059A Withdrawn JP2000285017A (en) | 1999-03-31 | 1999-03-31 | Storage device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000285017A (en) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007517320A (en) * | 2003-12-30 | 2007-06-28 | サンディスク コーポレイション | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
| JP2009026301A (en) * | 2007-07-19 | 2009-02-05 | Samsung Electronics Co Ltd | Solid state disk controller and data processing method of solid state disk controller |
| JP2011203905A (en) * | 2010-03-25 | 2011-10-13 | Toshiba Corp | Memory system |
| JP2011204229A (en) * | 2010-03-01 | 2011-10-13 | Panasonic Corp | Memory controller, and imaging device |
| US8117380B2 (en) | 2003-12-30 | 2012-02-14 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
| JP2014127075A (en) * | 2012-12-27 | 2014-07-07 | Toshiba Corp | Address generation circuit |
| JP2015076070A (en) * | 2013-10-11 | 2015-04-20 | キヤノン株式会社 | Information processing apparatus, information processing apparatus control method, and program |
| 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/en 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 (en) * | 2003-12-30 | 2007-06-28 | サンディスク コーポレイション | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
| 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 |
| US8738842B2 (en) | 2007-07-19 | 2014-05-27 | Samsung Electronics Co., Ltd. | Solid state disk controller and data processing method thereof |
| JP2009026301A (en) * | 2007-07-19 | 2009-02-05 | Samsung Electronics Co Ltd | Solid state disk controller and data processing method of solid state disk controller |
| JP2011204229A (en) * | 2010-03-01 | 2011-10-13 | Panasonic Corp | Memory controller, and imaging device |
| JP2011203905A (en) * | 2010-03-25 | 2011-10-13 | Toshiba Corp | Memory system |
| 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 (en) * | 2012-12-27 | 2014-07-07 | Toshiba Corp | Address generation circuit |
| US9405674B2 (en) | 2012-12-27 | 2016-08-02 | Kabushiki Kaisha Toshiba | Address generating circuit and address generating method |
| JP2015076070A (en) * | 2013-10-11 | 2015-04-20 | キヤノン株式会社 | Information processing apparatus, information processing apparatus control method, and program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3944496B2 (en) | Increased memory performance in flash memory devices by simultaneous write operations to multiple devices | |
| 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 (en) | Semiconductor storage device and data management method therefor | |
| JP2000067574A (en) | Semiconductor storage device | |
| KR101436439B1 (en) | Nonvolatile memory | |
| JP3900863B2 (en) | Data transfer control device, semiconductor memory device and information equipment | |
| KR100522006B1 (en) | Non-volatile storage device and control method thereof | |
| JP2000285017A (en) | Storage device | |
| JP2006040497A (en) | Semiconductor memory device, nonvolatile semiconductor memory device | |
| KR20020092261A (en) | Management Scheme for Flash Memory with the Multi-Plane Architecture | |
| JPH07153284A (en) | Non-volatile semiconductor memory and its control method | |
| US8180951B2 (en) | Memory system and method of controlling the memory system | |
| JPH08221312A (en) | Memory card device | |
| US7836263B2 (en) | Nonvolatile memory controlling method and nonvolatile memory controlling apparatus | |
| JP2006277736A (en) | Non-volatile memory device writing method | |
| KR100336744B1 (en) | Write apparatus and method for flash memory | |
| US20050204115A1 (en) | Semiconductor memory device, memory controller and data recording method | |
| JP4273106B2 (en) | Memory controller, flash memory system, and flash memory control method | |
| JP2008300018A (en) | Nonvolatile memory and rewriting method thereof | |
| JPH08161224A (en) | Semiconductor filing device | |
| JP2003178280A (en) | memory card | |
| JPH0836524A (en) | Flash memory | |
| JPH09259032A (en) | Flash memory device |
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 |