JP5976939B2 - ホスト支援型メモリブロックコンパクション - Google Patents
ホスト支援型メモリブロックコンパクション Download PDFInfo
- Publication number
- JP5976939B2 JP5976939B2 JP2015528641A JP2015528641A JP5976939B2 JP 5976939 B2 JP5976939 B2 JP 5976939B2 JP 2015528641 A JP2015528641 A JP 2015528641A JP 2015528641 A JP2015528641 A JP 2015528641A JP 5976939 B2 JP5976939 B2 JP 5976939B2
- Authority
- JP
- Japan
- Prior art keywords
- host
- block
- memory
- source block
- memory controller
- 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
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
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- 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)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
いくつかのデータ記憶アプリケーションにおいて、メモリコントローラは、ホストシステムに接続され、ホストシステムについてのデータを不揮発性メモリに記憶する。例えば、モバイル電話又はメディアプレーヤは、マイクロセキュアデジタル(μSD)カード、エンベデッドマルチメディアカード(eMMC)又はユニバーサルフラッシュストレージ(UFS)デバイスにデータを記憶することができる。パーソナルコンピュータは、ソリッドステートドライブ(SSD)にデータを記憶することができる。多くの場合、ホストシステムは、メモリコントローラの内部リソースよりも多くのハードウェアリソース(例えば、メモリ空間及び計算能力)を有する。
図1は、本発明の一実施形態に係るデータ記憶システム20を模式的に示すブロック図である。システム20は、メモリシステム22とホストシステム24とを備える。メモリシステム22は、ホストシステム24から記憶のためのデータを受け入れ、それをメモリに記憶し、かつ、メモリからデータを取り出し、ホストシステムにそれを提供する。本実施例では、システム22は、セルラー電話、メディアプレーヤ、デジタルカメラ又は他のホストのためにデータを記憶するマイクロセキュアデジタル(μSD)カードを備える。しかしながら、代替実施形態では、システム22は、任意の他の好適なアプリケーションにおいて、任意の他の好適なホストシステムとともに使用され得る。例えば、SSDにデータを記憶するモバイルコンピュータなどのコンピューティング装置の中、WiFi(登録商標)端末又は他の通信端末の中、全地球測位システム(GPS)ユニット、ディスクオンキー(DOK)デバイス、セキュアデジタル(SD)カード、マルチメディアカード(MMC)及びエンベデッドMMC(eMMC)などのリムーバブルメモリモジュール、デジタルカメラ、ポータブルメディアプレーヤー(PMP)などの音楽プレーヤ及び他のメディアプレーヤ、並びに/あるいは、データが記憶され取り出される任意の他のシステム又はデバイス、などである。
多くの実際の適用例では、ホストシステム24は、メモリコントローラ32の内部で利用可能なものよりも相当に多くのハードウェアリソースを有する。いくつかのモバイル電話では、例えば、メモリコントローラ32は、制限されたメモリリソース及び制限された計算能力を有するSDコントローラ又はeMMCコントローラを備える。一方、ホストシステムはしばしば、強力なプロセッサ及び相当量のDRAM記憶空間を備える。本発明のいくつかの実施形態では、メモリコントローラ32は、メモリデバイス28にアクセスするために、ホストシステム24のより豊富なハードウェアリソースを使用する。図1の例では、ハードウェアリソースは、ホストメモリ(DRAM)記憶空間を備えるが、ホストシステムの種々の他のハードウェアリソースを使用することもできる。
上述の技術を実行するとき、メモリコントローラ32は、任意の好適なインタフェースを使用して、DRAM52に情報を記憶し、それを読み出すことができる。上記の図1の例では、メモリコントローラは、専用のインタフェース60を使用して(すなわち、メモリコントローラとホストプロセッサとの間の通信のために使用される物理インタフェースとは別個の物理インタフェースを使用して)、DRAM52と直接通信する。これらの実施形態では、メモリコントローラとDRAMとが直接通信するので、DRAM52からの情報の取り出しは、ホストプロセッサのいかなる動作も伴わない。メモリコントローラ及び/又はホストシステムは、プロセッサ44及びプロセッサ48によるDRAM52へのアクセスを制御するために好適な調整論理を備える。
典型的なフラッシュメモリにおいて、データはページ単位でメモリデバイス28に書き込まれるが、消去はメモリブロック全体に適用される。データは消去されたページのみに書き込まれ、したがって、インプレースでデータを更新することはできない。データを更新することは、更新されたデータをフラッシュメモリ中の別の物理的記憶位置に書き込むこと、データの前のバージョンに無効であるとマークすること、及びデータの論理アドレスをデータが記憶される物理的格納位置に変換する論理−物理アドレスマッピングを動的に更新することを伴う。
Claims (19)
- データ記憶についての方法であって、
ホストと、前記ホストとは別個であり、前記ホストのためにデータを不揮発性メモリに記憶するメモリコントローラとを含むシステムにおいて、コンパクションのために前記不揮発性メモリからの1つ以上のソースブロックを前記メモリコントローラから前記ホストに、転送することと、
前記ソースブロックから1つ以上の宛先ブロックに有効データをコピーすることによって、前記ホスト内で前記ソースブロックをコンパクションすることと、
前記ホストから前記メモリコントローラに前記宛先ブロックを転送することと、
前記メモリコントローラによって、前記宛先ブロックを前記不揮発性メモリに記憶すること、を含み、
前記1つ以上のソースブロックを前記メモリコントローラから前記ホストに転送することは、
ハードウェア信号を使用して、前記メモリコントローラが、前記ホストに前記メモリコントローラと情報を交換する要求を送信することと、
前記要求に応じて、前記ホストへ少なくとも1つのソースブロックの交換を開始することを含む
ことを特徴とする方法。 - 前記ソースブロックを転送することが、前記ソースブロックを前記ホストのランダムアクセスメモリ(RAM)に記憶することを含み、
前記ソースブロックをコンパクションすることが、前記ホストのプロセッサを使用して前記宛先ブロックを生成することと、前記宛先ブロックを前記RAMに記憶することとを含むことを特徴とする請求項1に記載の方法。 - 前記有効データをコピーすることが、前記ソースブロックからの読み出し動作の第1のシーケンスを実行し、次いで、前記宛先ブロックへの書き込み動作の第2のシーケンスを実行することを含むことを特徴とする請求項1に記載の方法。
- 前記宛先ブロックを記憶することが、前記不揮発性メモリ中の前記宛先ブロックのそれぞれの物理的記憶位置を指示するために、論理−物理アドレスマッピングを更新することを含むことを特徴とする請求項1に記載の方法。
- 前記ソースブロックを転送することが、前記有効データを識別する指示を前記ホストに送信することを含み、前記ソースブロックをコンパクションすることが、前記指示に基づいて、前記ソースブロックから前記有効データを読み出すことを含むことを特徴とする請求項1に記載の方法。
- 前記ソースブロックを転送することが、前記有効データのみを前記ソースブロックから前記ホストに送信することを含むことを特徴とする請求項1に記載の方法。
- 前記ソースブロック及び前記宛先ブロックを転送することが、前記メモリコントローラと前記ホストとの間でメモリアクセスコマンドを交換するために使用される第2の物理インタフェースとは別個の第1の物理インタフェースを介して、前記ソースブロック及び前記宛先ブロックを送信することを含むことを特徴とする請求項1に記載の方法。
- 前記ソースブロック及び前記宛先ブロックを転送することが、前記ソースブロック及び前記宛先ブロックの転送に関する何れの動作も前記ホストが実行することなく、前記メモリコントローラによって前記ソースブロックを送信することと前記宛先ブロックをフェッチすることとを含むことを特徴とする請求項1に記載の方法。
- 前記ソースブロック及び前記宛先ブロックを転送することが、前記メモリコントローラと前記ホストとの間でメモリアクセスコマンドを交換するためにも使用される共通物理インタフェースを介して、前記ソースブロック及び前記宛先ブロックを送信することを含むことを特徴とする請求項1に記載の方法。
- 不揮発性メモリと通信するように構成される第1のインタフェースと、
ホストと通信するように構成される第2のインタフェースと、
コンパクションのために前記不揮発性メモリから前記ホストに1つ以上のソースブロックを転送し、前記ソースブロックから宛先ブロックに有効データをコピーすることによって前記ホスト内で生成された1つ以上の宛先ブロックを前記ホストから受信し、前記宛先ブロックを前記不揮発性メモリに記憶するように構成されるプロセッサと、を備え、
前記1つ以上のソースブロックを前記ホストへ転送するために、前記プロセッサは更に、
ハードウェア信号を使用して、前記プロセッサと情報を交換するために前記ホストへ要求を送信し、
前記要求に応じて、前記ホストへ少なくとも1つのソースブロックの交換を開始する
ことを特徴とするデータ記憶装置。 - 前記プロセッサが更に、前記不揮発性メモリ中の前記宛先ブロックのそれぞれの物理的記憶位置を指示するために論理−物理アドレスマッピングを更新するように構成されることを特徴とする請求項10に記載のデータ記憶装置。
- 前記有効データをコピーするために、前記プロセッサが更に、前記ソースブロックからの読み出し動作の第1のシーケンスを実行し、次いで、前記宛先ブロックへの書き込み動作の第2のシーケンスを実行するように構成されることを特徴とする請求項10に記載のデータ記憶装置。
- 前記プロセッサが更に、前記有効データを識別する指示を前記ホストに送信し、それにより、前記ホストが、前記指示に基づいて前記ソースブロックから前記有効データを読み出すことが可能になるように構成されることを特徴とする請求項10に記載のデータ記憶装置。
- 前記プロセッサが更に、前記ソースブロックから前記有効データのみを前記ホストに送信するように構成されることを特徴とする請求項10に記載のデータ記憶装置。
- 前記プロセッサが更に、前記ホストとメモリアクセスを交換するために使用される第2の物理インタフェースとは別個の第1の物理インタフェースを介して、前記ソースブロック及び前記宛先ブロックを転送するように構成されることを特徴とする請求項10に記載のデータ記憶装置。
- 前記プロセッサが更に、前記ソースブロック及び前記宛先ブロックの転送に関する何れの動作も前記ホストが実行することなく、前記ソースブロックを送信し前記宛先ブロックをフェッチするように構成されることを特徴とする請求項10に記載のデータ記憶装置。
- 前記プロセッサが更に、前記プロセッサと前記ホストとの間でメモリアクセスコマンドを交換するためにも使用される共通物理インタフェースを介して、前記ソースブロック及び前記宛先ブロックを転送するように構成されることを特徴とする請求項10に記載のデータ記憶装置。
- 複数のメモリブロックを備える不揮発性メモリと、
コンパクションのために前記不揮発性メモリの1つ以上のソースブロックを受信し、前記ソースブロックから1つ以上の宛先ブロックに有効データをコピーすることによって、前記ソースブロックをコンパクションするように構成されるホストと、
コンパクションのために前記ソースブロックを選択し、
前記ソースブロックを前記ホストに転送し、
前記ホストから前記宛先ブロックを受信し、
前記宛先ブロックを前記不揮発性メモリに記憶するように構成されるメモリコントローラと、を備え、
前記ソースブロックを前記ホストへ転送するために、前記メモリコントローラは更に、
ハードウェア信号を使用して、前記メモリコントローラと情報を交換するために前記ホストへ要求を送信し、
前記要求に応じて、前記ホストへ少なくとも1つのソースブロックの交換を開始することを含む
ことを特徴とするシステム。 - 前記有効データをコピーするために、前記ホストが更に、前記ソースブロックからの読み出し動作の第1のシーケンスを実行し、次いで、前記宛先ブロックへの書き込み動作の第2のシーケンスを実行するように構成されることを特徴とする請求項18に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/593,237 | 2012-08-23 | ||
US13/593,237 US8977805B2 (en) | 2009-03-25 | 2012-08-23 | Host-assisted compaction of memory blocks |
PCT/US2013/056069 WO2014031799A1 (en) | 2012-08-23 | 2013-08-22 | Host-assisted compaction of memory blocks |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015529917A JP2015529917A (ja) | 2015-10-08 |
JP5976939B2 true JP5976939B2 (ja) | 2016-08-24 |
Family
ID=49117956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015528641A Active JP5976939B2 (ja) | 2012-08-23 | 2013-08-22 | ホスト支援型メモリブロックコンパクション |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP2888666B1 (ja) |
JP (1) | JP5976939B2 (ja) |
KR (1) | KR101663437B1 (ja) |
CN (1) | CN104583977B (ja) |
TW (1) | TWI516928B (ja) |
WO (1) | WO2014031799A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11055215B2 (en) | 2017-09-13 | 2021-07-06 | Toshiba Memory Corporation | Memory system and control method for garbage collection in a memory system |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9959203B2 (en) | 2014-06-23 | 2018-05-01 | Google Llc | Managing storage devices |
JP6482322B2 (ja) * | 2014-12-29 | 2019-03-13 | 東芝メモリ株式会社 | メモリ装置及びプログラム |
JP6378111B2 (ja) * | 2014-12-29 | 2018-08-22 | 東芝メモリ株式会社 | 情報処理装置及びプログラム |
US20160378352A1 (en) * | 2015-06-26 | 2016-12-29 | Intel Corporation | Efficient solid state drive data compression scheme and layout |
CN105005536B (zh) * | 2015-07-01 | 2019-08-06 | 忆正科技(武汉)有限公司 | 固态存储设备、主机的工作方法及固态存储设备、主机 |
JP6452595B2 (ja) * | 2015-11-13 | 2019-01-16 | 株式会社日立ソリューションズ | ファイルシステム及びプログラム |
CN107526695B (zh) * | 2016-06-20 | 2021-03-02 | 北京忆芯科技有限公司 | NVMe配置空间实现方法与装置 |
JP6877134B2 (ja) * | 2016-12-15 | 2021-05-26 | 株式会社東芝 | 電子装置、通信装置及びプログラム |
KR20190029323A (ko) * | 2017-09-12 | 2019-03-20 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
US11061612B2 (en) * | 2019-05-20 | 2021-07-13 | Micron Technology, Inc. | Internal communication interface management |
KR20200142393A (ko) | 2019-06-12 | 2020-12-22 | 에스케이하이닉스 주식회사 | 저장 장치, 호스트 장치 및 그들의 동작 방법 |
US11416161B2 (en) * | 2019-06-28 | 2022-08-16 | Western Digital Technologies, Inc. | Zone formation for zoned namespaces |
CN112486417B (zh) * | 2020-12-03 | 2023-07-04 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
KR102509987B1 (ko) * | 2021-01-13 | 2023-03-15 | 삼성전자주식회사 | 호스트 및 스토리지 시스템을 포함하는 컴퓨팅 시스템 |
US11875036B2 (en) | 2021-01-13 | 2024-01-16 | Samsung Electronics Co., Ltd. | Computing system including host and storage system and having increased write performance |
CN115543221B (zh) * | 2022-11-29 | 2023-03-14 | 苏州浪潮智能科技有限公司 | 固态硬盘的数据迁移方法、装置、电子设备及存储介质 |
KR102557557B1 (ko) | 2023-04-19 | 2023-07-24 | 메티스엑스 주식회사 | 전자 장치 및 이를 포함하는 컴퓨팅 시스템 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3703181B2 (ja) * | 1995-09-28 | 2005-10-05 | キヤノン株式会社 | フラッシュrom管理方法及び装置 |
US5802069A (en) * | 1995-11-13 | 1998-09-01 | Intel Corporation | Implementing mass storage device functions using host processor memory |
US6038636A (en) * | 1998-04-27 | 2000-03-14 | Lexmark International, Inc. | Method and apparatus for reclaiming and defragmenting a flash memory device |
JP2001014216A (ja) * | 1999-06-28 | 2001-01-19 | Sharp Corp | メモリ制御装置 |
JP2006252137A (ja) * | 2005-03-10 | 2006-09-21 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置の最適化方法 |
US7546412B2 (en) * | 2005-12-02 | 2009-06-09 | International Business Machines Corporation | Apparatus, system, and method for global metadata copy repair |
KR100823171B1 (ko) * | 2007-02-01 | 2008-04-18 | 삼성전자주식회사 | 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법 |
JP4675985B2 (ja) * | 2008-03-01 | 2011-04-27 | 株式会社東芝 | メモリシステム |
-
2013
- 2013-08-22 KR KR1020157004770A patent/KR101663437B1/ko active IP Right Grant
- 2013-08-22 EP EP13759062.6A patent/EP2888666B1/en active Active
- 2013-08-22 WO PCT/US2013/056069 patent/WO2014031799A1/en active Application Filing
- 2013-08-22 CN CN201380043687.0A patent/CN104583977B/zh active Active
- 2013-08-22 JP JP2015528641A patent/JP5976939B2/ja active Active
- 2013-08-23 TW TW102130319A patent/TWI516928B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11055215B2 (en) | 2017-09-13 | 2021-07-06 | Toshiba Memory Corporation | Memory system and control method for garbage collection in a memory system |
Also Published As
Publication number | Publication date |
---|---|
EP2888666B1 (en) | 2016-10-12 |
TWI516928B (zh) | 2016-01-11 |
JP2015529917A (ja) | 2015-10-08 |
KR101663437B1 (ko) | 2016-10-14 |
TW201415226A (zh) | 2014-04-16 |
CN104583977A (zh) | 2015-04-29 |
WO2014031799A1 (en) | 2014-02-27 |
CN104583977B (zh) | 2017-07-14 |
KR20150038308A (ko) | 2015-04-08 |
EP2888666A1 (en) | 2015-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5976939B2 (ja) | ホスト支援型メモリブロックコンパクション | |
US8977805B2 (en) | Host-assisted compaction of memory blocks | |
US8832354B2 (en) | Use of host system resources by memory controller | |
US11237765B2 (en) | Data writing method and storage device | |
US11593259B2 (en) | Directed sanitization of memory | |
US10372603B2 (en) | Handling of unaligned writes | |
JP6224253B2 (ja) | フラッシュメモリ内に記憶されたデータの推測的プリフェッチ | |
US20100011154A1 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US10303384B1 (en) | Task readiness for queued storage tasks | |
US20210072922A1 (en) | Storage device and operating method thereof | |
CN110502449A (zh) | 存储装置及其操作方法 | |
US11243715B2 (en) | Memory controller and operating method thereof | |
US11403011B1 (en) | Host memory buffer allocation management | |
US11360886B2 (en) | Storage device and operating method thereof | |
US20230058022A1 (en) | Storage device and power management method thereof | |
US11455249B2 (en) | Storage device for performing dump operation, method of operating storage device, computing system including storage device and host device for controlling storage device, and method of operating computing system | |
JP2023510764A (ja) | キャッシュ内のデータブロックの書き込みモードの変更に基づくメディア管理動作の実施 | |
US8713242B2 (en) | Control method and allocation structure for flash memory device | |
US11294590B2 (en) | Storage device with fail page replacement capability and operating method thereof | |
JP2023553681A (ja) | メモリシステムの電力管理 | |
KR20230063857A (ko) | 스토리지 장치 및 전자 장치 | |
JP2023044471A (ja) | メモリシステム及びメモリ制御方法 | |
CN114442921A (zh) | 用于存储器子系统中的高速缓存读取的高速缓存释放命令 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160325 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160401 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160603 |
|
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: 20160624 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160720 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5976939 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |