JP6464916B2 - メモリ装置及びメモリ装置の制御方法 - Google Patents
メモリ装置及びメモリ装置の制御方法 Download PDFInfo
- Publication number
- JP6464916B2 JP6464916B2 JP2015097684A JP2015097684A JP6464916B2 JP 6464916 B2 JP6464916 B2 JP 6464916B2 JP 2015097684 A JP2015097684 A JP 2015097684A JP 2015097684 A JP2015097684 A JP 2015097684A JP 6464916 B2 JP6464916 B2 JP 6464916B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- stored
- buffer
- read
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/281—Single cache
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Memory System (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
まず、ホスト101からの書き込み動作について説明する。図4は、本実施形態におけるホスト101からの書き込み動作の例を示すフローチャートである。メモリAがホスト101からの書き込み命令を受信すると(S101)、メモリAの制御部202は、管理テーブル222において有効(情報V[1:0]=“10”)を示すレジスタに格納されているタグ部TAG_ADDとホスト101からのメモリアドレスのタグ部MADTAGとが一致するか否かを判定する(S102)。
次に、ホスト101からの読み出し動作について説明する。図5は、本実施形態におけるホスト101からの読み出し動作の例を示すフローチャートである。メモリAがホスト101からの読み出し命令を受信すると(S201)、メモリAの制御部202は、管理テーブル222において有効なレジスタに格納されているタグ部TAG_ADDとホスト101からのメモリアドレスのタグ部MADTAGとが一致するか否かを判定する(S202)。
次に、メモリデバイス102間での書き換え動作について説明する。図7は、本実施形態におけるメモリデバイス102間での書き換え動作の例を示すフローチャートである。以下では、メモリAとメモリBとの間でデータの書き換え(入れ換え)を行う場合について説明するが、他の隣接するメモリデバイス間でのデータの書き換え(入れ換え)も同様である。このメモリデバイス102間での書き換え動作は、ホスト101が処理に介在することなく、メモリデバイス102間の処理のみで行われる。
102 メモリデバイス(メモリ装置)
201 メモリ部
202 制御部
203、204 リンク部
205 スイッチ部
221 メモリ制御部
222 管理テーブル
223 比較回路
224 書き込み用バッファ
225 読み出し用バッファ
226 アクセス制御部
227 ライトバッファ
228 リードバッファ
229 ECC処理部
230 リフレッシュカウンタ
Claims (8)
- データを格納する複数のメモリ領域を有するメモリ部と、
前記メモリ部に格納されているデータのメモリアドレス及び読み出し回数を前記メモリ領域毎に保持するテーブル部と、
カスケード接続された他のメモリ装置から入力されるデータ及び該入力されるデータのメモリアドレスを格納する第1のバッファと、
前記カスケード接続された他の前記メモリ装置に出力するデータ及び該出力するデータのメモリアドレスを格納する第2のバッファと、
(1)前記テーブル部に保持されている読み出し回数の最少値が前記カスケード接続された次のメモリ装置から読み出されたデータの読み出し回数より少ない場合に、前記次のメモリ装置から読み出されたデータ及び該読み出されたデータのメモリアドレスを前記第1のバッファに格納するとともに前記読み出し回数が最少のメモリ領域のデータ及び該メモリ領域のデータのメモリアドレスを前記第2のバッファを介して前記次のメモリ装置に出力し、(2)前記メモリ部のリフレッシュを実行するタイミングで、前記読み出し回数が最少のメモリ領域のデータ及び該メモリ領域のデータのメモリアドレスを前記第1のバッファに格納されているデータ及び該格納されているデータのメモリアドレスで書き換える制御部と、を有することを特徴とするメモリ装置。 - 前記制御部は、(1)前記メモリ部からデータを読み出したことによって前記カスケード接続された1つ前の前記メモリ装置からデータ及び該メモリ装置からのデータのメモリアドレスが入力された場合に、前記1つ前のメモリ装置から入力されたデータ及び該入力されたデータのメモリアドレスを前記第1のバッファに格納し、(2)前記メモリ部のリフレッシュを実行するタイミングで、読み出しが行われたメモリ領域のデータ及び該メモリ領域のデータのメモリアドレスを前記第1のバッファに格納されているデータ及び該格納されているデータのメモリアドレスで書き換えることを特徴とする請求項1記載のメモリ装置。
- 前記制御部は、前記メモリ部からデータを読み出した場合に読み出したデータと該読み出したデータのメモリアドレス及び読み出し回数を前記カスケード接続された1つ前のメモリ装置に出力することを特徴とする請求項1又は2記載のメモリ装置。
- 前記テーブル部は、前記メモリ領域の状態を示す情報を前記メモリ領域毎に保持し、
前記制御部は、前記メモリ領域にデータを書き込むとき、前記テーブル部を参照し該書き込むデータのメモリアドレスが一致する前記メモリ領域がない場合には、前記メモリ領域の状態を示す情報を基に空き状態の前記メモリ領域を判定し該書き込むデータの書き込みを行うメモリ領域を決定することを特徴とする請求項1〜3の何れか1項に記載のメモリ装置。 - 前記制御部は、前記メモリ部から読み出したデータのエラーの有無を判定し、訂正可能なエラーである場合には訂正したデータで書き換えを行うことを特徴とする請求項1〜4の何れか1項に記載のメモリ装置。
- 前記制御部は、前記エラーを有すると判定されたデータが格納されている前記メモリ領域に対する書き換えを行うときには、書き換えるデータを空き状態の前記メモリ領域に割り当てることを特徴とする請求項5記載のメモリ装置。
- カスケード接続された複数のメモリ装置と、
前記複数のメモリ装置の1つと接続され、前記複数のメモリ装置に対するメモリアクセスを行うホストとを有し、
前記メモリ装置は、
データを格納する複数のメモリ領域を有するメモリ部と、
前記メモリ部に格納されているデータのメモリアドレス及び読み出し回数を前記メモリ領域毎に保持するテーブル部と、
他の前記メモリ装置から入力されるデータ及び該入力されるデータのメモリアドレスを格納する第1のバッファと、
他の前記メモリ装置に出力するデータ及び該出力するデータのメモリアドレスを格納する第2のバッファと、
(1)前記テーブル部に保持されている読み出し回数の最少値が前記カスケード接続された次のメモリ装置から読み出されたデータの読み出し回数より少ない場合に、前記次のメモリ装置から読み出されたデータ及び該読み出されたデータのメモリアドレスを前記第1のバッファに格納するとともに前記読み出し回数が最少のメモリ領域のデータ及び該メモリ領域のデータのメモリアドレスを前記第2のバッファを介して前記次のメモリ装置に出力し、(2)前記メモリ部のリフレッシュを実行するタイミングで、前記読み出し回数が最少のメモリ領域のデータ及び該メモリ領域のデータのメモリアドレスを前記第1のバッファに格納されているデータ及び該格納されているデータのメモリアドレスで書き換える制御部と、を有することを特徴とする情報処理装置。 - データを格納する複数のメモリ領域を有するメモリ部と、前記メモリ部に格納されているデータのメモリアドレス及び読み出し回数を前記メモリ領域毎に保持するテーブル部と、カスケード接続された他のメモリ装置から入力されるデータ及び該入力されるデータのメモリアドレスを格納する第1のバッファと、前記カスケード接続された他の前記メモリ装置に出力するデータ及び該出力するデータのメモリアドレスを格納する第2のバッファと、前記メモリ部を制御する制御部と、を有するメモリ装置の制御方法であって、
前記メモリ部に要求されたデータがない場合に、前記テーブル部に保持されている読み出し回数が最少のメモリ領域のデータ及び該メモリ領域のデータのメモリアドレスを前記第2のバッファに格納し、
前記テーブル部に保持されている読み出し回数の最少値が前記カスケード接続された次のメモリ装置から読み出されたデータの読み出し回数より少ない場合に、前記次のメモリ装置から読み出されたデータ及び該読み出されたデータのメモリアドレスを前記第1のバッファに格納するとともに前記第2のバッファに格納されているデータ及び該格納されているデータのメモリアドレスを前記次のメモリ装置に出力し、
前記メモリ部のリフレッシュを実行するタイミングで、前記制御部が前記読み出し回数が最少のメモリ領域のデータ及び該メモリ領域のデータのメモリアドレスを前記第1のバッファに格納されているデータ及び該格納されているデータのメモリアドレスで書き換えることを特徴とするメモリ装置の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015097684A JP6464916B2 (ja) | 2015-05-12 | 2015-05-12 | メモリ装置及びメモリ装置の制御方法 |
US15/137,031 US9921779B2 (en) | 2015-05-12 | 2016-04-25 | Memory apparatus, memory system and memory controlling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015097684A JP6464916B2 (ja) | 2015-05-12 | 2015-05-12 | メモリ装置及びメモリ装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016212754A JP2016212754A (ja) | 2016-12-15 |
JP6464916B2 true JP6464916B2 (ja) | 2019-02-06 |
Family
ID=57277239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015097684A Expired - Fee Related JP6464916B2 (ja) | 2015-05-12 | 2015-05-12 | メモリ装置及びメモリ装置の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9921779B2 (ja) |
JP (1) | JP6464916B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108932175B (zh) * | 2017-05-24 | 2022-01-11 | 建兴储存科技(广州)有限公司 | 固态储存装置的控制方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3093493B2 (ja) * | 1992-11-16 | 2000-10-03 | キヤノン株式会社 | 画像記憶検索装置 |
US7222224B2 (en) * | 2004-05-21 | 2007-05-22 | Rambus Inc. | System and method for improving performance in computer memory systems supporting multiple memory access latencies |
US7966446B2 (en) * | 2005-09-12 | 2011-06-21 | Samsung Electronics Co., Ltd. | Memory system and method having point-to-point link |
US7496711B2 (en) * | 2006-07-13 | 2009-02-24 | International Business Machines Corporation | Multi-level memory architecture with data prioritization |
JP2008090876A (ja) * | 2006-09-29 | 2008-04-17 | Toshiba Corp | 不揮発性半導体記憶装置 |
US8166316B2 (en) * | 2008-06-27 | 2012-04-24 | Oracle America, Inc. | Single interface access to multiple bandwidth and power memory zones |
JP2013061847A (ja) * | 2011-09-14 | 2013-04-04 | Sony Corp | 情報処理装置および情報処理方法 |
JP2014016744A (ja) | 2012-07-06 | 2014-01-30 | Fujitsu Semiconductor Ltd | 制御装置、および制御方法 |
US9032137B2 (en) * | 2012-11-21 | 2015-05-12 | Intel Corporation | Flexible wear management for non-volatile memory |
-
2015
- 2015-05-12 JP JP2015097684A patent/JP6464916B2/ja not_active Expired - Fee Related
-
2016
- 2016-04-25 US US15/137,031 patent/US9921779B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2016212754A (ja) | 2016-12-15 |
US20160335029A1 (en) | 2016-11-17 |
US9921779B2 (en) | 2018-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI762479B (zh) | Ddr相容非同步記憶體模組、系統與操作記憶體模組的方法 | |
CN109983536B (zh) | 响应标签匹配命令的存储电路 | |
US8046527B2 (en) | Apparatus and method for using a page buffer of a memory device as a temporary cache | |
US11379381B2 (en) | Main memory device having heterogeneous memories, computer system including the same, and data management method thereof | |
US9122498B2 (en) | Firmware code loading method, memory controller and memory storage apparatus | |
WO2017210144A1 (en) | Method and apparatus for remote prefetches of variable size | |
US20110022783A1 (en) | Flash storage with increased throughput | |
JP2002373115A (ja) | 共有キャッシュメモリのリプレイスメント制御方法及びその装置 | |
CN101836194B (zh) | 控制数据信道的优化解决方案 | |
US9734921B2 (en) | Memory repair using external tags | |
WO2018090255A1 (zh) | 内存访问技术 | |
JP2006134324A (ja) | ロッキング・キャッシュを用いる直接的保存 | |
US20150058531A1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US10423548B2 (en) | Memory controller, control method for the memory controller, and control method for memory | |
JP4569182B2 (ja) | 半導体装置 | |
US11119924B2 (en) | Interface device including ports and a cache memory, and control method thereof | |
JP6464916B2 (ja) | メモリ装置及びメモリ装置の制御方法 | |
WO2016043158A1 (ja) | メモリ制御回路および記憶装置 | |
JP3204295B2 (ja) | キャッシュメモリシステム | |
JPH06348593A (ja) | データ転送制御装置 | |
US20110022782A1 (en) | Flash storage with array of attached devices | |
US20220308766A1 (en) | Memory controller and memory system | |
JP4327238B2 (ja) | システムコントローラおよびキャッシュ制御方法 | |
US20160328328A1 (en) | Semiconductor apparatus and operating method thereof | |
US6996675B2 (en) | Retrieval of all tag entries of cache locations for memory address and determining ECC based on same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181126 |
|
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: 20181211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181224 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6464916 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |