JP6027479B2 - 半導体メモリ装置 - Google Patents
半導体メモリ装置 Download PDFInfo
- Publication number
- JP6027479B2 JP6027479B2 JP2013071894A JP2013071894A JP6027479B2 JP 6027479 B2 JP6027479 B2 JP 6027479B2 JP 2013071894 A JP2013071894 A JP 2013071894A JP 2013071894 A JP2013071894 A JP 2013071894A JP 6027479 B2 JP6027479 B2 JP 6027479B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- cache memory
- flag
- cache
- 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
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)ヴァリッドフラグ「V」(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を設定して、ライトデータの書き込み動作を実行する。
CPU110は、キャッシュメモリ150からCFメモリ130へのライトバックをページ単位で行う。まず、CPU110は、図2に示すキャッシュメモリ150の各ページのDフラグレジスタに“0”となっているビット(セクタ)が存在するかどうかを調べる。もしも“0”のセクタがあったならば、CFメモリ130の対応するセクタからのデータをキャッシュメモリ150の当該セクタに読み込まなければならない。
CPU110は、CFメモリ130からデータを読み込む際に、キャッシュメモリ150のDフラグが“1”となっているセクタを避けてデータを転送しなければならない。つまり、キャッシュメモリ150のDフラグが“0”(有効なセクタ)のセクタに対してのみリード動作を実行する。しかし、ヒットしているページならばライトデータがまばらに存在する、言い換えればDフラグに“1”と“0”がランダムに混在した状態となっている可能性は十分考えられる。そのような場合、いちいち“0”のセクタだけ選び出して、それに対応するCFメモリ130にリード動作を行うことは処理的に煩雑すぎるし、実際に動作を行った場合にCFメモリ130のオーバヘッドが大きすぎて実用的な性能を出すことができない。
キャッシュメモリ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物理ブロック(例えば、32ページ(2048セクタ単位))でライトバックする場合、CFメモリ130に一度ライトしたデータは当然ながらいつかは書き換えられる。すると、CFメモリ130上でキャッシュメモリ150のページ(64セクタ)単位で古いデータ(ガーベージ:ゴミ)が残ることになる。この古いデータをそのままにしておくと、CFメモリ130全体にガーベージが散乱して、連続した32ページ(2048セクタ)が確保できなくなり、ライトバックができなくなる。
図7は、上述したガーベージコレクションを行うときに、図5に示したDフラグレジスタを用いて、CFメモリ130の有効なページ(図6の符号(a),(b)‥‥(h))を読み出して、キャッシュメモリ150に書き込を行う回路を示している。
Claims (4)
- CPUと、
低速で大容量のフラッシュメモリと、
前記フラッシュメモリに記憶される一部のデータを記憶し、複数のセクタから構成されるページ単位でアクセスされるキャッシュメモリと、
外部のホストからのライトコマンドにより転送されるデータを保持すると共に、前記キャッシュメモリのアクセスを制御するホストインターフェイスと、
前記キャッシュメモリの前記セクタ毎に設定されるフラグであって、前記ホストからの前記データ、または前記フラッシュメモリからのデータが書き込まれた場合は有効ビットを、それらのデータがない場合は非有効ビットを示すフラグが前記CPUによって設定されるフラグレジスタを有し、前記フラッシュメモリから前記キャッシュメモリに各ページのデータをコピーする際に、前記フラグレジスタの内容が前記非有効ビットを示すセクタのみに前記キャッシュメモリの内容を書き換える制御手段と、
を具備し、
前記コピーが終了した後の前記キャッシュメモリの複数ページの書換え済みデータを前記フラッシュメモリに書き戻すことを特徴とする半導体メモリ装置。 - CPUと、
低速で大容量のフラッシュメモリと、
前記フラッシュメモリに記憶される一部のデータを記憶し、複数のセクタから構成されるページ単位でアクセスされるキャッシュメモリと、
前記キャッシュメモリの前記セクタ毎に設定されるフラグであって、前記CPUがガーベージコレクションを実行すると判断した時に、非有効ビットを示すフラグが設定されるフラグレジスタを有し、前記フラッシュメモリから前記キャッシュメモリに有効なページのデータをコピーする際に、前記フラグレジスタの前記非有効ビットに基づき前記キャッシュメモリの割り当てられた領域に書き込む制御手段と、
を具備し、
前記コピーが終了した後の前記キャッシュメモリの複数ページの書換え済みデータを前記フラッシュメモリに書き戻すことを特徴とする半導体メモリ装置。 - 前記フラグレジスタは、1セクタ転送する毎に1ビットシフトするシフトレジスタであって、その出力端は前記キャッシュメモリのライトプロテクションの信号端子に接続されていることを特徴とする請求項1又は請求項2に記載の半導体メモリ装置。
- 前記フラグレジスタから前記有効ビットを示すフラグが出力された場合、前記キャッシュメモリはライトプロテクションとなることを特徴とする請求項1に記載の半導体メモリ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013071894A JP6027479B2 (ja) | 2013-03-29 | 2013-03-29 | 半導体メモリ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013071894A JP6027479B2 (ja) | 2013-03-29 | 2013-03-29 | 半導体メモリ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014197265A JP2014197265A (ja) | 2014-10-16 |
JP6027479B2 true JP6027479B2 (ja) | 2016-11-16 |
Family
ID=52358016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013071894A Active JP6027479B2 (ja) | 2013-03-29 | 2013-03-29 | 半導体メモリ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6027479B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4366298B2 (ja) * | 2004-12-02 | 2009-11-18 | 富士通株式会社 | 記憶装置、その制御方法及びプログラム |
JP4412676B2 (ja) * | 2007-05-30 | 2010-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メインメモリに書き込むデータをキャッシュする技術 |
-
2013
- 2013-03-29 JP JP2013071894A patent/JP6027479B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014197265A (ja) | 2014-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11868618B2 (en) | Data reading and writing processing from and to a semiconductor memory and a memory of a host device by using first and second interface circuits | |
JP7115899B2 (ja) | ハイブリッドメモリにおける書き込み及びフラッシュ支援のためのメモリモジュール及びその動作方法 | |
US9378131B2 (en) | Non-volatile storage addressing using multiple tables | |
TWI559138B (zh) | 記憶體裝置及記憶體管理方法 | |
Birrell et al. | A design for high-performance flash disks | |
US8688894B2 (en) | Page based management of flash storage | |
US9146688B2 (en) | Advanced groomer for storage array | |
US10437737B2 (en) | Data storage device | |
US20100205363A1 (en) | Memory device and wear leveling method thereof | |
US20110145489A1 (en) | Hybrid storage device | |
JP6306737B2 (ja) | 半導体メモリデバイス、及び、半導体メモリデバイスを有するストレージ装置 | |
US11301331B2 (en) | Storage device and operating method of storage device | |
KR20170087043A (ko) | 저속 메모리를 이용하여 페이지 리맵핑 방식으로 바이트 어드레스 지정 능력 및 근-dram 성능을 달성하는 메커니즘 | |
US20230214158A1 (en) | Read performance of memory devices | |
TW201942749A (zh) | 記憶裝置及電腦系統 | |
JP6018531B2 (ja) | 半導体メモリ装置 | |
JP2012068765A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP6027479B2 (ja) | 半導体メモリ装置 | |
CN114077555A (zh) | 数据存储装置的逻辑到物理映射的方法和系统 | |
US20230019878A1 (en) | Systems, methods, and devices for page relocation for garbage collection | |
CN115809018A (zh) | 改善系统的读取性能的设备和方法 | |
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: 20160726 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160726 |
|
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: 20161004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161014 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6027479 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 |