JP7030942B2 - メモリ装置及びその制御方法 - Google Patents
メモリ装置及びその制御方法 Download PDFInfo
- Publication number
- JP7030942B2 JP7030942B2 JP2020199507A JP2020199507A JP7030942B2 JP 7030942 B2 JP7030942 B2 JP 7030942B2 JP 2020199507 A JP2020199507 A JP 2020199507A JP 2020199507 A JP2020199507 A JP 2020199507A JP 7030942 B2 JP7030942 B2 JP 7030942B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- information
- block
- volatile memory
- written
- 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
- 238000000034 method Methods 0.000 title claims description 51
- 230000015654 memory Effects 0.000 claims description 168
- 238000012217 deletion Methods 0.000 claims description 57
- 230000037430 deletion Effects 0.000 claims description 57
- 238000012423 maintenance Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 230000010365 information processing Effects 0.000 description 36
- 238000006243 chemical reaction Methods 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 16
- 238000013519 translation Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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/1041—Resource optimization
- G06F2212/1044—Space efficiency 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/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- 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/22—Employing cache memory using specific memory technology
- G06F2212/222—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/31—Providing disk cache in a specific location of a storage system
- G06F2212/311—In host system
-
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- 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/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本実施形態は、情報処理装置とメモリ装置との間のデータ及び情報の送信及び受信について説明する。
本実施形態においては、不揮発性キャッシュメモリ4を備えるキャッシュメモリ装置について説明する。
て、書き込み部141は、ブロックグループBG4にデータを書き込む。
本実施形態においては、上記第1及び第2の実施形態で説明した情報処理装置17とSSD5とを含む情報処理システム35の詳細構成について説明する。
ーラ、43B、43F…CPU、44…暗号化/復号化部、45…LUT、46…DDRC、47…DRAM、48…DMAC、49…ECC、50…NANDC、100…ストレージシステム、112、114、122、124、132、134、142…判断部、115、125、136、144…消去部、BG1~BG4…ブロックグループ、WB…ライトバッファ、RB…リードバッファ、RZ…ランダマイザ。
Claims (20)
- 不揮発性メモリと、
前記不揮発性メモリを制御するコントローラと、
を具備するメモリ装置であって、
前記コントローラは、
前記不揮発性メモリの第1のエリアに書き込まれている有効データと関連付けられている論理アドレスを含む第1の情報を生成し、
前記第1の情報を、前記メモリ装置と通信する外部のホスト装置へ送信し、
前記第1の情報が前記ホスト装置へ送信された後に受信される第2の情報を、前記ホスト装置から受信することに応じて、第1のデータが前記不揮発性メモリの第2のエリアに書き込まれるが第2のデータが前記不揮発性メモリの前記第2のエリアに書き込まれないように、前記第1のエリアに対してガベージコレクションを実行するように構成され、
前記第2の情報は、前記第1のエリアに書き込まれている前記有効データのうちの維持対象データとして特定されているデータと関連付けられている論理アドレスを含み、
前記第1のデータは、前記第1のエリアに書き込まれている前記有効データのうちの、前記第2の情報において前記維持対象データとして特定されているデータであり、
前記第2のデータは、前記第1のエリアに書き込まれている前記有効データのうちの、前記第2の情報において前記維持対象データとして特定されていないデータである、
メモリ装置。 - 前記コントローラは、さらに、
前記不揮発性メモリに書き込まれているデータが有効か又は無効かを示す第3の情報を生成し、前記第3の情報に基づいて前記第1の情報を生成するように構成されている、
請求項1のメモリ装置。 - 前記コントローラは、前記不揮発性メモリに書き込まれている書き込みデータの論理アドレスと、前記書き込みデータの前記不揮発性メモリにおける書き込み位置を示す物理アドレスとを関連付ける第4の情報を生成し、前記第4の情報に基づいて前記第3の情報を生成するように構成されている、
請求項2のメモリ装置。 - 前記コントローラは、前記第2の情報と前記第3の情報とに基づいて、前記第1のエリアに対して前記ガベージコレクションを実行するように構成されている、
請求項2のメモリ装置。 - 前記有効データは、前記不揮発性メモリに書き込まれているデータの更新が実行された場合における更新されたデータである、
請求項1のメモリ装置。 - 前記ホスト装置は、プロセッサを具備し、
前記維持対象データは、アプリケーションプログラム又はオペレーティングシステムを実行する前記プロセッサによって発行された削除命令の対象ではないデータである、
請求項1のメモリ装置。 - 前記コントローラは、前記ガベージコレクションの対象の候補として前記不揮発性メモリの前記第1のエリアを選択するように構成されている、
請求項1のメモリ装置。 - 前記第1の情報は、前記不揮発性メモリの前記第1のエリアの識別情報をさらに含む、
請求項1のメモリ装置。 - 前記第2の情報は、前記不揮発性メモリの前記第1のエリアの前記識別情報をさらに含む、
請求項8のメモリ装置。 - 前記不揮発性メモリは複数のブロックを含み、前記複数のブロックのそれぞれはデータ消去処理のための単位であり、
前記第1のエリアは、前記複数のブロックのうちの1つである、
請求項1のメモリ装置。 - 不揮発性メモリを制御するコントローラによって実行される制御方法であって、
前記コントローラによって、前記不揮発性メモリの第1のエリアに書き込まれている有効データと関連付けられている論理アドレスを含む第1の情報を生成することと、
前記コントローラによって、前記第1の情報を、前記コントローラと通信する外部のホスト装置へ送信することと、
前記コントローラによって、前記第1の情報が前記ホスト装置へ送信された後に受信される第2の情報を、前記ホスト装置から受信することに応じて、第1のデータが前記不揮発性メモリの第2のエリアに書き込まれるが第2のデータが前記不揮発性メモリの前記第2のエリアに書き込まれないように、前記第1のエリアに対してガベージコレクションを実行することと、
を具備し、
前記第2の情報は、前記第1のエリアに書き込まれている前記有効データのうちの維持対象データとして特定されているデータと関連付けられている論理アドレスを含み、
前記第1のデータは、前記第1のエリアに書き込まれている前記有効データのうちの、前記第2の情報において前記維持対象データとして特定されているデータであり、
前記第2のデータは、前記第1のエリアに書き込まれている前記有効データのうちの、前記第2の情報において前記維持対象データとして特定されていないデータである、
制御方法。 - 前記コントローラによって、前記不揮発性メモリに書き込まれているデータが有効か又は無効かを示す第3の情報を生成することをさらに具備し、
前記第1の情報は、前記第3の情報に基づいて生成される、
請求項11の制御方法。 - 前記コントローラによって、前記不揮発性メモリに書き込まれている書き込みデータの論理アドレスと、前記書き込みデータの前記不揮発性メモリにおける書き込み位置を示す物理アドレスとを関連付ける第4の情報を生成することをさらに具備し、
前記第3の情報は、前記第4の情報に基づいて生成される、
請求項12の制御方法。 - 前記コントローラによって、前記第2の情報と前記第3の情報とに基づいて、前記第1のエリアに対して前記ガベージコレクションを実行する、
請求項12の制御方法。 - 前記有効データは、前記不揮発性メモリに書き込まれているデータの更新が実行された場合における更新されたデータである、
請求項11の制御方法。 - 前記ホスト装置は、プロセッサを具備し、
前記維持対象データは、アプリケーションプログラム又はオペレーティングシステムを実行する前記プロセッサによって発行された削除命令の対象ではないデータである、
請求項11の制御方法。 - 前記ホスト装置によって、前記第1の情報を受信することと、
前記第1の情報を受信した後に、前記ホスト装置によって、前記第1の情報に基づいて前記第2の情報を生成することと、
前記ホスト装置によって、前記第2の情報を前記コントローラへ送信することと、
をさらに具備する、請求項11の制御方法。 - 前記第1の情報は、前記不揮発性メモリの前記第1のエリアの識別情報をさらに含む、
請求項11の制御方法。 - 前記第2の情報は、前記不揮発性メモリの前記第1のエリアの前記識別情報をさらに含む、
請求項18の制御方法。 - 前記不揮発性メモリは複数のブロックを含み、前記複数のブロックのそれぞれはデータ消去処理のための単位であり、
前記第1のエリアは、前記複数のブロックのうちの1つである、
請求項11の制御方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462097532P | 2014-12-29 | 2014-12-29 | |
US62/097,532 | 2014-12-29 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019021654A Division JP6806819B2 (ja) | 2014-12-29 | 2019-02-08 | メモリ装置、メモリシステム及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021047889A JP2021047889A (ja) | 2021-03-25 |
JP7030942B2 true JP7030942B2 (ja) | 2022-03-07 |
Family
ID=56359595
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015038998A Active JP6482322B2 (ja) | 2014-12-29 | 2015-02-27 | メモリ装置及びプログラム |
JP2019021654A Active JP6806819B2 (ja) | 2014-12-29 | 2019-02-08 | メモリ装置、メモリシステム及びプログラム |
JP2020199507A Active JP7030942B2 (ja) | 2014-12-29 | 2020-12-01 | メモリ装置及びその制御方法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015038998A Active JP6482322B2 (ja) | 2014-12-29 | 2015-02-27 | メモリ装置及びプログラム |
JP2019021654A Active JP6806819B2 (ja) | 2014-12-29 | 2019-02-08 | メモリ装置、メモリシステム及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230342294A1 (ja) |
JP (3) | JP6482322B2 (ja) |
CN (1) | CN106205707B (ja) |
TW (1) | TW201624490A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102530583B1 (ko) * | 2017-10-31 | 2023-05-09 | 삼성전자주식회사 | 저장 장치 및 메모리 시스템 |
JP7102166B2 (ja) * | 2018-02-23 | 2022-07-19 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法及びプログラム |
US11836035B2 (en) | 2021-08-06 | 2023-12-05 | Western Digital Technologies, Inc. | Data storage device with data verification circuitry |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011048738A1 (ja) | 2009-10-22 | 2011-04-28 | 株式会社日立製作所 | 半導体記憶装置および制御方法 |
WO2011074712A1 (en) | 2009-12-18 | 2011-06-23 | Kabushiki Kaisha Toshiba | Semiconductor storage device and personal computer |
JP2012123499A (ja) | 2010-12-07 | 2012-06-28 | Toshiba Corp | メモリシステム |
US20130007352A1 (en) | 2009-03-25 | 2013-01-03 | Ariel Maislos | Host-assisted compaction of memory blocks |
US20130246688A1 (en) | 2012-03-15 | 2013-09-19 | Kabushiki Kaisha Toshiba | Semiconductor memory device and computer program product |
WO2014031799A1 (en) | 2012-08-23 | 2014-02-27 | Apple Inc. | Host-assisted compaction of memory blocks |
US20140258601A1 (en) | 2006-11-06 | 2014-09-11 | Rambus Inc. | Memory Controller Supporting Nonvolatile Physical Memory |
US20140281338A1 (en) | 2013-03-15 | 2014-09-18 | Samsung Semiconductor Co., Ltd. | Host-driven garbage collection |
WO2014185037A1 (ja) | 2013-05-17 | 2014-11-20 | 学校法人中央大学 | データ記憶システムおよびその制御方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009252255A (ja) * | 2008-04-01 | 2009-10-29 | Renesas Technology Corp | 不揮発性半導体記憶装置 |
US9026716B2 (en) * | 2010-05-12 | 2015-05-05 | Western Digital Technologies, Inc. | System and method for managing garbage collection in solid-state memory |
-
2015
- 2015-02-27 JP JP2015038998A patent/JP6482322B2/ja active Active
- 2015-05-11 TW TW104114943A patent/TW201624490A/zh unknown
- 2015-05-12 CN CN201510239421.4A patent/CN106205707B/zh active Active
-
2019
- 2019-02-08 JP JP2019021654A patent/JP6806819B2/ja active Active
-
2020
- 2020-12-01 JP JP2020199507A patent/JP7030942B2/ja active Active
-
2023
- 2023-06-27 US US18/215,147 patent/US20230342294A1/en active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140258601A1 (en) | 2006-11-06 | 2014-09-11 | Rambus Inc. | Memory Controller Supporting Nonvolatile Physical Memory |
US20130007352A1 (en) | 2009-03-25 | 2013-01-03 | Ariel Maislos | Host-assisted compaction of memory blocks |
JP2011090496A (ja) | 2009-10-22 | 2011-05-06 | Hitachi Ltd | 半導体記憶装置および制御方法 |
WO2011048738A1 (ja) | 2009-10-22 | 2011-04-28 | 株式会社日立製作所 | 半導体記憶装置および制御方法 |
JP2011128998A (ja) | 2009-12-18 | 2011-06-30 | Toshiba Corp | 半導体記憶装置 |
WO2011074712A1 (en) | 2009-12-18 | 2011-06-23 | Kabushiki Kaisha Toshiba | Semiconductor storage device and personal computer |
JP2012123499A (ja) | 2010-12-07 | 2012-06-28 | Toshiba Corp | メモリシステム |
US20130246688A1 (en) | 2012-03-15 | 2013-09-19 | Kabushiki Kaisha Toshiba | Semiconductor memory device and computer program product |
JP2013191174A (ja) | 2012-03-15 | 2013-09-26 | Toshiba Corp | 半導体記憶装置およびプログラム |
WO2014031799A1 (en) | 2012-08-23 | 2014-02-27 | Apple Inc. | Host-assisted compaction of memory blocks |
JP2015529917A (ja) | 2012-08-23 | 2015-10-08 | アップル インコーポレイテッド | ホスト支援型メモリブロックコンパクション |
US20140281338A1 (en) | 2013-03-15 | 2014-09-18 | Samsung Semiconductor Co., Ltd. | Host-driven garbage collection |
WO2014185037A1 (ja) | 2013-05-17 | 2014-11-20 | 学校法人中央大学 | データ記憶システムおよびその制御方法 |
JP2014225197A (ja) | 2013-05-17 | 2014-12-04 | 学校法人 中央大学 | データ記憶システムおよびその制御方法 |
US20160147652A1 (en) | 2013-05-17 | 2016-05-26 | Chuo University | Data storage system and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP6806819B2 (ja) | 2021-01-06 |
JP2021047889A (ja) | 2021-03-25 |
US20230342294A1 (en) | 2023-10-26 |
JP2019106197A (ja) | 2019-06-27 |
CN106205707B (zh) | 2019-10-22 |
CN106205707A (zh) | 2016-12-07 |
TW201624490A (zh) | 2016-07-01 |
JP6482322B2 (ja) | 2019-03-13 |
JP2016126738A (ja) | 2016-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11893238B2 (en) | Method of controlling nonvolatile semiconductor memory | |
US10761977B2 (en) | Memory system and non-transitory computer readable recording medium | |
JP7030942B2 (ja) | メモリ装置及びその制御方法 | |
US11726906B2 (en) | Memory device and non-transitory computer readable recording medium | |
US20230281118A1 (en) | Memory system and non-transitory computer readable recording medium | |
JP6689325B2 (ja) | メモリ装置の制御方法 | |
JP6595654B2 (ja) | 情報処理装置 | |
CN111290975A (zh) | 使用统一缓存处理读命令与预读命令的方法及其存储设备 | |
CN111290974A (zh) | 用于存储设备的缓存淘汰方法与存储设备 | |
US10331551B2 (en) | Information processing device and non-transitory computer readable recording medium for excluding data from garbage collection | |
US10474569B2 (en) | Information processing device including nonvolatile cache memory and processor | |
JP6313242B2 (ja) | メモリシステム及びプログラム | |
JP6276208B2 (ja) | メモリシステム及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220105 |
|
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: 20220125 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220222 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7030942 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |