JP6018531B2 - 半導体メモリ装置 - Google Patents
半導体メモリ装置 Download PDFInfo
- Publication number
- JP6018531B2 JP6018531B2 JP2013072144A JP2013072144A JP6018531B2 JP 6018531 B2 JP6018531 B2 JP 6018531B2 JP 2013072144 A JP2013072144 A JP 2013072144A JP 2013072144 A JP2013072144 A JP 2013072144A JP 6018531 B2 JP6018531 B2 JP 6018531B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache
- register
- data
- logical address
- 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.)
- Active
Links
- 239000004065 semiconductor Substances 0.000 title claims description 24
- 230000015654 memory Effects 0.000 claims description 139
- 239000000872 buffer Substances 0.000 claims description 36
- 238000012546 transfer Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 7
- 238000013403 standard screening design Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 239000000428 dust Substances 0.000 description 5
- 238000000034 method Methods 0.000 description 5
- XZBYDGRCLDKSJX-UHFFFAOYSA-N 1-[2-[[2-hydroxy-3-(4-methylphenoxy)propyl]-methylamino]ethyl-methylamino]-3-(4-methylphenoxy)propan-2-ol Chemical compound C=1C=C(C)C=CC=1OCC(O)CN(C)CCN(C)CC(O)COC1=CC=C(C)C=C1 XZBYDGRCLDKSJX-UHFFFAOYSA-N 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
本発明が解決しようとする課題は、低速で大容量のフラッシュメモリを用いるシステムで、キャッシュメモリに設けた先読みバッファの先読み制御の実行により、特にシーケンシャルリードの実行時において性能の低下を抑えることのできる半導体メモリ装置を提供することを目的とする。
本実施形態の半導体メモリ装置は、ホストからのリードコマンド時、主にシーケンシャルリードでの処理動作の速度を大幅に上げることを可能とする。
次に、キャッシュメモリ150の構造について説明する。キャッシュメモリ150は、一般的に数MB(メガバイト)〜数十MBの容量がある。ここでは、図2に示すように、キャッシュメモリ150の容量を、例えば64MBとし、例えば1ページ=64セクタ=32KB(キロバイト)単位で管理することにする。したがって、キャッシュメモリ150は、64MB÷32KB=2048ページで構成される。
キャッシュメモリ150の各ページ情報として、図3に示すように、
(1)論理アドレス
(2)ヴァリッドフラグ(1ビット)
(3)Dフラグ(64ビット)
(4)LRU情報
という4種類の値を有する。これら4つの値を格納する場所は、どこでも構わないが、例えばCPU空間にあるRAM190上でも構わない。これら4つの値を1セット(1ページ分)として、2048ページ分保有しておく。
(2)ヴァリッドフラグ「V」は、そのページが有効か否かを示すフラグである。有効ならばV=“1”、無効ならばV=“0”となる。
(3)Dフラグは、ページ内の各セクタに有効なデータが存在するかどうかを示すフラグであり、ここの例では1ページ=64セクタなので、各Dフラグは64ビットである。
(4)LRU−U/LRU−Dは、キャッシュメモリ150の空きページがなくなって、ページの追い出しの必要性が発生したときに、2048ページの内のどのページから追い出していくかを決めるための情報である。LRUとは、Least Recently Usedアルゴリズムである。このアルゴリズムは、「最も昔に使用された」ページから追い出しを行うという、追い出しの順番を決める方法の一つである。値としては0〜2047までの値、2つで1セットを構成している。例えば、あるページ(ページ番号M)について、現在N番目にアクセスされたページだとする。LRU情報はポインタ値となっていて、LRU−Uは、自分よりひとつ上(より新しくアクセスされた)ページのページ番号を示す。LRU−Dは、自分よりひとつ下のページを指す。このように各ページは上下2方向の数珠つなぎになっている。
ホスト200からライトコマンドが半導体メモリ装置100のホストインターフェイス170に発行されると、ホストインターフェイス170は、CPU110に割込みを掛けてライトコマンドが受信したこと、およびコマンド内容を知らせる。CPU110は、書き込みアドレスがキャッシュメモリ150でヒットしているかどうかを調べ、ヒットしていたならば該当するキャッシュメモリ150のアドレス位置にライトデータを転送するようホストインターフェイス170を設定して、ライトデータの書き込み動作を実行する。
キャッシュメモリ150からCFメモリ130へのライトバックは、ページ単位で行う。まず、図2に示すキャッシュメモリ150の各ページのDフラグに“0”となっているビット(セクタ)が存在するかどうかを調べる。もしも“0”のセクタがあったならば、CFメモリ130の対応するセクタからのデータをキャッシュメモリ150の当該セクタに読み込まなければならない。
キャッシュメモリ150からCFメモリ130へのライトバックは、ページ単位で行うが、一般的にCFメモリ130は物理ブロック単位でイレーズ/ライトを行うため、物理ブロック分をまとめてライトバックを行わなければならない。もしも、物理ブロックのサイズと異なるサイズでCFメモリ130に対してライトしたとすると、CFメモリ130の内部では書き換えないデータが発生するためリード・モディファイ・ライトを行わなければならなくなる。すると、CFメモリ130を構成するNANDメモリ間でのデータ読み出し/書き戻しが大量に発生し、オーバヘッドでCFメモリ130は大幅な性能低下に陥ってしまう。
(a)論理−物理アドレス変換テーブル
(b)物理−論理アドレス変換テーブル
(c)ヴァリッドページフラグテーブル
(b)物理−論理アドレス変換テーブルは、逆にCFメモリ130上のアドレス(物理アドレス)を入力すると論理アドレスが求まるテーブルである。これは、ガーベージコレクションと呼ばれる動作の時に必要となる。
(c)ヴァリッドページフラグテーブルは、CFメモリ130の64セクタ毎に1ビット、4バイト当たりCFメモリの2048セクタ分に相当する。
1物理ブロック(例えば、2048セクタ単位)でライトバックする場合、CFメモリ130に一度ライトしたデータは当然ながらいつかは書き換えられる。すると、CFメモリ130上でキャッシュメモリ150のページ(64セクタ)単位で古いデータ(ガーベージ:ゴミ)が残ることになる。この古いデータをそのままにしておくと、CFメモリ全体にゴミが散乱して連続した2048セクタが確保できなくなり、ライトバックができなくなる。これを防ぐために、ゴミを含む2048セクタのうちゴミではない有効なページ(64セクタ分)を読み出して、それらを2048セクタ分まとめてあらためてライトバックを行う。この作業は、一般的にガーベージコレクションと呼ばれ、有効なデータだけが一個所にまとめられ、ゴミしか含まない再生可能な2048セクタの領域が生成される。このゴミしか含まない2048セクタの領域には、次回のライトバック時に新しいデータを上書きすることができる。
次に、実施形態に係るCFメモリ130の先読み制御回路について説明する。図4は、CFコントローラ140に設けられる先読み制御回路の構成を示すブロック図である。
前述したように、CFメモリ130はリードの処理が遅い(=オーバヘッドが大きい)という欠点がある。ここでは、特にシーケンシャルリードの実行時において性能の低下を抑えるための方法について説明する。
ホストインターフェイス170は、ホスト200からのリードコマンドを受信したら、その後にシーケンシャルリードが続くことを予想して、現在データ転送しているページの次のページをライトキャッシュ又はCFメモリ130から検索する。もしも、次のページ見つかれば「先読みバッファ論理アドレスレジスタ」LUBLAR#0(410a)乃至LUBLAR#3(410d)または「ライトキャッシュヒットレジスタペア」WCHRの特定位置にセットする。
410a〜410d‥先読みバッファ論理アドレスレジスタ
450a〜450d‥ライトキャッシュヒットレジスタペアの論理アドレス
455a〜455d‥ライトキャッシュヒットレジスタペアのキャッシュアドレス
460‥CDRレジスタ、470‥比較回路、
480‥キャッシュヒットアドレスレジスタCHAR
Claims (6)
- CPUと、
低速で大容量のフラッシュメモリと、
前記フラッシュメモリの一部のデータを記憶すると共に、前記フラッシュメモリから先読みした複数のページが格納される先読みバッファを有するキャッシュメモリと、
前記CPUの制御により前記先読みバッファに格納された前記各ページの論理アドレスが格納される複数の先読みバッファ論理アドレスレジスタと、
前記CPUの制御によりヒットしたライトキャッシュの論理アドレス及びキャッシュアドレス対を格納するライトキャッシュヒットレジスタペアレジスタと、
外部のホストからのリード指令の論理アドレスと前記先読みバッファ論理アドレスレジスタおよび前記ライトキャッシュヒットレジスタペアレジスタに格納される前記論理アドレスとを比較する比較手段と、
前記比較手段で一致した時に、前記ライトキャッシュ又は前記先読みバッファからデータを読み出して前記ホストへ転送する読出制御手段と、
を有することを特徴とする半導体メモリ装置。 - 前記CPUは、前記リード指令の論理アドレスと前記先読みバッファ論理アドレスレジスタで一致した場合、前記先読みバッファから前記ホストへ一致したページのデータを転送を行っている間に、次のページのデータを前記フラッシュメモリから前記先読みバッファに格納することを特徴とする請求項1に記載の半導体メモリ装置。
- 前記比較手段で一致しなかった時に、前記CPUに対して割込みを発生し、前記CPUによって前記ライトキャッシュ又は前記先読みバッファにヒットするデータを準備させることを特徴とする請求項1に記載の半導体メモリ装置。
- 前記論理アドレスに対応するキャッシュアドレスが設定されるレジスタを更に有し、前記レジスタには前記比較手段で一致しないことを示す特定の値が設定されることを特徴とする請求項3に記載の半導体メモリ装置。
- 前記比較手段で一致した時に、前記論理アドレスに対応するキャッシュアドレスが設定されるレジスタを更に有し、
前記読出制御手段は前記レジスタに基づき前記キャッシュメモリ又は前記先読みバッファからデータを読み出すことを特徴とする請求項1に記載の半導体メモリ装置。
- 前記リード指令の後に、シーケンシャルリードの指令が続くことに応答して前記データ転送を行うことを特徴とする請求項1又は2に記載の半導体メモリ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013072144A JP6018531B2 (ja) | 2013-03-29 | 2013-03-29 | 半導体メモリ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013072144A JP6018531B2 (ja) | 2013-03-29 | 2013-03-29 | 半導体メモリ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014197285A JP2014197285A (ja) | 2014-10-16 |
JP6018531B2 true JP6018531B2 (ja) | 2016-11-02 |
Family
ID=52358028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013072144A Active JP6018531B2 (ja) | 2013-03-29 | 2013-03-29 | 半導体メモリ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6018531B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7357223B2 (ja) | 2020-03-25 | 2023-10-06 | パナソニックIpマネジメント株式会社 | コンデンサ |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200073595A1 (en) * | 2018-09-02 | 2020-03-05 | Silicon Motion Inc. | Flash memory controller capable of improving IOPS performance and corresponding method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007241927A (ja) * | 2006-03-13 | 2007-09-20 | Toshiba Corp | データ記憶装置及び方法 |
JP2009080926A (ja) * | 2008-11-10 | 2009-04-16 | Renesas Technology Corp | 記憶装置 |
JP2012064158A (ja) * | 2010-09-17 | 2012-03-29 | Toshiba Corp | メモリ管理装置及びメモリ管理方法 |
JP2012133416A (ja) * | 2010-12-17 | 2012-07-12 | Toshiba Corp | メモリシステム |
-
2013
- 2013-03-29 JP JP2013072144A patent/JP6018531B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7357223B2 (ja) | 2020-03-25 | 2023-10-06 | パナソニックIpマネジメント株式会社 | コンデンサ |
Also Published As
Publication number | Publication date |
---|---|
JP2014197285A (ja) | 2014-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949092B2 (en) | Memory system with block rearrangement to secure a free block based on read valid first and second data | |
US11126544B2 (en) | Method and apparatus for efficient garbage collection based on access probability of data | |
US8635407B2 (en) | Direct memory address for solid-state drives | |
JP5907739B2 (ja) | 不揮発性記憶装置 | |
US20170206172A1 (en) | Tehcniques with os- and application- transparent memory compression | |
KR102495910B1 (ko) | 스토리지 장치 및 그 동작 방법 | |
US8266385B2 (en) | Technique and apparatus for identifying cache segments for caching data to be written to main memory | |
US20120317365A1 (en) | System and method to buffer data | |
JP6306737B2 (ja) | 半導体メモリデバイス、及び、半導体メモリデバイスを有するストレージ装置 | |
US8069299B2 (en) | Banded indirection for nonvolatile memory devices | |
KR20170087043A (ko) | 저속 메모리를 이용하여 페이지 리맵핑 방식으로 바이트 어드레스 지정 능력 및 근-dram 성능을 달성하는 메커니즘 | |
TW201942749A (zh) | 記憶裝置及電腦系統 | |
JP6018531B2 (ja) | 半導体メモリ装置 | |
CN114077555A (zh) | 数据存储装置的逻辑到物理映射的方法和系统 | |
JP6027479B2 (ja) | 半導体メモリ装置 | |
US12061556B2 (en) | Hot/cold address/data determination using hash addresses for a data storage system | |
JP2020115275A (ja) | 情報処理装置およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150615 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160531 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160722 |
|
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: 20160906 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160930 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6018531 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |