JP2014179084A5 - - Google Patents

Download PDF

Info

Publication number
JP2014179084A5
JP2014179084A5 JP2014048594A JP2014048594A JP2014179084A5 JP 2014179084 A5 JP2014179084 A5 JP 2014179084A5 JP 2014048594 A JP2014048594 A JP 2014048594A JP 2014048594 A JP2014048594 A JP 2014048594A JP 2014179084 A5 JP2014179084 A5 JP 2014179084A5
Authority
JP
Japan
Prior art keywords
map
level map
request
media controller
entries
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.)
Pending
Application number
JP2014048594A
Other languages
English (en)
Other versions
JP2014179084A (ja
Filing date
Publication date
Priority claimed from US13/963,074 external-priority patent/US20140047210A1/en
Application filed filed Critical
Publication of JP2014179084A publication Critical patent/JP2014179084A/ja
Publication of JP2014179084A5 publication Critical patent/JP2014179084A5/ja
Pending legal-status Critical Current

Links

Claims (20)

  1. ソリッドステート・メディア用のメディア・コントローラであって、前記メディア・コントローラは、ホスト・デバイスと通信し、前記メディア・コントローラは、制御プロセッサを備え、
    前記制御プロセッサは、前記ホスト・デバイスから、少なくとも1つの論理アドレスとアドレス範囲とを含む要求を受け取ったことに応答して、前記受け取った要求が無効にする要求(以下、無効にする要求を無効化要求という)であるかどうかを判定し、
    前記制御プロセッサは、前記受け取った要求のタイプが無効化要求である場合には、
    前記メディア・コントローラのマップによって、前記ソリッドステート・メディアの前記少なくとも1つの論理アドレスとアドレス範囲に関連付けられた該マップの1つまたは複数のエントリを決定し、
    前記マップ内において、前記マップ・エントリのそれぞれに関連付けられた標識に印を付け、
    前記ホスト・デバイスに対して、前記無効化要求が完了したという確認応答を行い、
    前記メディア・コントローラのアイドル・モードにおいて、無効にされるべき前記1つまたは複数のマップ・エントリに基づいて前記メディア・コントローラの空きスペース・カウントを更新し、及び、
    無効にされた前記マップ・エントリに関連付けられた物理アドレスを、前記ホスト・デバイスからのその後の要求に関して再使用できるようにする
    ように構成されてなり、
    前記標識は、前記1つまたは複数のマップ・エントリが無効にされるべきことを示すものであることからなる、メディア・コントローラ。
  2. 前記無効化要求は、シリアル・アドバンスト・テクノロジー・アタッチメント(SATA)TRIMコマンドと、スモール・コンピュータ・システム・インターフェース(SCSI)UNMAPコマンドと、マルチメディアカード(MMC)ERASEコマンドと、セキュア・デジタル(SD)カードERASEコマンドとのうちの1つである、請求項1に記載のメディア・コントローラ。
  3. 前記マップは、第1レベル・マップと第2レベル・マップとを備えるマルチレベル・マップである、請求項1のメディア・コントローラであって、
    前記第2レベル・マップは複数の第2レベル・マップ・ページを有し、該第2レベル・マップ・ページの各々は複数のエントリを有し、該エントリの各々は、前記ソリッドステート・メディアの物理アドレスを格納するように構成され、
    前記第1レベル・マップは複数のエントリを有し、該エントリの各々は第2レベル・マップ・ページに関連付けられており、前記第1レベル・マップは、前記少なくとも1つの論理アドレスと前記アドレス範囲とを前記第2レベル・マップ・エントリのうちの少なくとも1つに関連付けるように構成されることからなる、請求項1または2に記載のメディア・コントローラ。
  4. 第2レベル・マップ・エントリの各々は、有効標識を有し、
    第1レベル・マップ・エントリの各々は、前記第2レベル・マップ・ページのうちの対応するページのアドレスと、前記第1レベル・マップ・エントリに関連付けられた前記第2レベル・マップの1つまたは複数のエントリに対応する有効標識と、処理されるべき(TBP)標識とを有し、
    前記TBP標識は、前記第2レベル・マップのエントリは、無効であるが書き込むのには利用できない場合にそのことを示すように構成される、請求項3に記載のメディア・コントローラ。
  5. 前記制御プロセッサは、前記第2レベル・マップのエントリを無効にするために、前記要求の前記アドレス範囲内に完全に含まれている前記第2レベル・マップ・ページのうちのページに関連付けられた前記第1レベル・マップ内に前記TBP標識のうちの特定のTBP標識を設定するように構成される、請求項4に記載のメディア・コントローラ。
  6. 前記制御プロセッサは、1つまたは複数の前記物理アドレスに格納されているデータを無効にするために、前記要求の前記アドレス範囲内に部分的に含まれている前記第2レベル・マップ・ページのうちのページのエントリを直接トリミングするように構成される、請求項4または5に記載のメディア・コントローラ。
  7. 前記TBP標識が所与の第2レベル・マップに関して設定されている場合には、前記制御プロセッサは、前記所与の第2レベル・マップに関する後続の無効化要求が受け取られるまで、前記所与の第2レベル・マップに関する前記後続の無効化要求に先行する無効化要求の処理を遅らせ、これによって、無効化要求に関する処理時間を短くし、及び、前記所与の第2レベル・マップを更新するための前記ソリッドステート・メディアに対する書き込み動作を少なくするように構成される、請求項5に記載のメディア・コントローラ。
  8. 第1レベル・マップ・エントリの各々は、前記要求の前記範囲内に含まれている前記関連付けられた第2レベル・マップのいくつかの部分を追跡するように構成された少なくとも1つのTRIMアドレス範囲標識を含むことからなる、請求項5〜7のいずれかに記載のメディア・コントローラ。
  9. 前記制御プロセッサは、前記第2レベル・マップの前記無効にされたエントリのそれぞれを、前記ホスト・デバイスからのその後の要求のために再使用できるようにするために、
    前記関連付けられたTBP標識が設定されている場合には、該TBP標識をクリアし、及び、
    前記関連付けられた有効標識が設定されている場合には、該有効標識をクリアする
    ように構成される、請求項4〜8のいずれかに記載のメディア・コントローラ。
  10. 前記第1レベル・マップが、前記メディア・コントローラのマップ・メモリに格納され、
    前記第2レベル・マップ・ページのすべてが、前記ソリッドステート・メディアに格納され、
    前記第2レベル・マップ・ページの少なくともサブセットが、前記メディア・コントローラの前記制御プロセッサに結合されたマップ・キャッシュに一時的に格納される、請求項4〜9のいずれかに記載のメディア・コントローラ。
  11. 前記メディア・コントローラの前記空きスペース・カウントは、複数のエントリを有するブロック使用されるスペース・テーブルを有し、
    前記ブロック使用されるスペース・テーブルの各エントリは、前記ソリッドステート・メディアの複数の物理領域のうちの1つに関連付けられる、請求項1〜10のいずれかに記載のメディア・コントローラ。
  12. ソリッドステート・メディアおよびホスト・デバイスと通信するメディア・コントローラによって受け取られたホスト要求を処理する方法であって、
    前記メディア・コントローラによって、前記ホスト・デバイスから、少なくとも1つの論理アドレスとアドレス範囲とを含む要求を受け取るステップと、
    前記要求を受け取ったことに応答して、前記受け取った要求が無効にする要求(以下、無効にする要求を無効化要求という)であるかどうかを判定し、
    前記受け取った要求のタイプが無効化要求である場合に、
    前記メディア・コントローラのマップを用いて、前記ソリッドステート・メディアの前記少なくとも1つの論理アドレスと前記アドレス範囲とに関連付けられた前記マップの1つまたは複数のエントリを決定するステップと、
    前記マップ内において、前記マップ・エントリのそれぞれに関連付けられた標識に印を付けるステップであって、該標識は、前記1つまたは複数のマップ・エントリが無効にされるべきことを示すものである、ステップと、
    前記ホスト・デバイスに対して、前記無効化要求が完了したという確認応答を行うステップと、
    前記メディア・コントローラのアイドル・モードにおいて、無効にされるべき前記1つまたは複数のマップ・エントリに基づいて前記メディア・コントローラの空きスペース・カウントを更新するステップと、
    無効にされた前記マップ・エントリに関連付けられた物理アドレスを、前記ホスト・デバイスからのその後の要求のために再使用できるようにするステップ
    を含む、方法。
  13. 前記マップは、第1レベル・マップと第2レベル・マップとを有するマルチレベル・マップであり、
    複数の第2レベル・マップ・ページの複数のエントリの各々を、前記ソリッドステート・メディアの物理アドレスに関連付けるステップと、
    前記第1レベル・マップの複数のエントリの各々を、第2レベル・マップ・ページに関連付け、これによって、前記少なくとも1つの論理アドレスと前記アドレス範囲とを前記第2レベル・マップ・エントリのうちの少なくとも1つに関連付けるステップ
    をさらに含む、請求項12に記載の方法。
  14. 第2レベル・マップ・エントリの各々は、有効標識を有し、
    第1レベル・マップ・エントリの各々は、前記第2レベル・マップ・ページのうちの対応するページのアドレスと、前記第1レベル・マップ・エントリに関連付けられた前記第2レベル・マップの1つまたは複数のエントリに対応する有効標識と、処理されるべき(TBP)標識とを有し、
    前記TBP標識は、前記第2レベル・マップのエントリは、無効であるが書き込むのには利用できない場合にそのことを示すように構成され、
    前記要求の前記アドレス範囲内に完全に含まれている前記第2レベル・マップ・ページのうちのページに関連付けられた前記第1レベル・マップ内の前記TBP標識のうちの特定のTBP標識を設定することによって、前記第2レベル・マップのエントリを無効にするステップ
    をさらに含む、請求項13に記載の方法。
  15. 前記要求の前記アドレス範囲内に部分的に含まれている前記第2レベル・マップ・ページのうちのページのエントリを直接トリミングすることによって、前記第2レベル・マップのエントリを無効にするステップをさらに含む、請求項14に記載の方法。
  16. 前記TBP標識が所与の第2レベル・マップに関して設定されている場合に、前記所与の第2レベル・マップに関する後続の無効化要求が受け取られるまで、前記所与の第2レベル・マップに関する前記後続の無効化要求に先行する無効化要求の処理を遅らせ、これによって、無効化要求に関する処理時間を短くし、及び、前記所与の第2レベル・マップを更新するための前記ソリッドステート・メディアに対する書き込み動作を少なくするステップをさらに含む、請求項14または15に記載の方法。
  17. 前記第2レベル・マップの前記無効にされたエントリの各々を、前記ホスト・デバイスからのその後の要求のために再使用できるようにする前記ステップが、
    前記関連付けられたTBP標識が設定されている場合には、該TBP標識をクリアするステップと、
    前記関連付けられた有効標識が設定されている場合には、該有効標識をクリアするステップ
    を含むことからなる、請求項14〜16のいずれかに記載の方法。
  18. 前記メディア・コントローラのマップ・メモリに前記第1レベル・マップを格納するステップと、
    前記ソリッドステート・メディアに前記第2レベル・マップ・ページのすべてを格納するステップと、
    前記メディア・コントローラの制御プロセッサに結合されたマップ・キャッシュに前記第2レベル・マップ・ページの少なくともサブセットを一時的に格納するステップ
    をさらに含む、請求項14〜17のいずれかに記載の方法。
  19. 前記メディア・コントローラの前記空きスペース・カウントは、複数のエントリを有するブロック使用されるスペース・テーブルを含み、
    前記ブロック使用されるスペース・テーブルの各エントリを前記ソリッドステート・メディアの複数の物理領域のうちの1つに関連付けるステップをさらに含む、請求項12〜18のいずれかに記載の方法。
  20. 符号化されたプログラム・コードを有する非一時的なマシン可読記憶媒体であって、
    前記プログラム・コードがマシンによって実行されると、前記マシンは、ソリッドステート・メディアおよびホスト・デバイスと通信するメディア・コントローラによって受け取られたホスト要求を処理する方法を実施し、
    前記方法が、
    前記メディア・コントローラによって、前記ホスト・デバイスから、少なくとも1つの論理アドレスとアドレス範囲とを含む要求を受け取るステップと、
    前記要求を受け取ったことに応答して、前記受け取った要求が無効にする要求(以下、無効にする要求を無効化要求という)であるかどうかを判定するステップと、
    前記受け取った要求のタイプが無効化要求である場合に、
    前記メディア・コントローラのマップを用いて、前記ソリッドステート・メディアの前記少なくとも1つの論理アドレスと前記アドレス範囲とに関連付けられた前記マップの1つまたは複数のエントリを決定するステップと、
    前記マップ内において、前記マップ・エントリのそれぞれに関連付けられた標識に印を付けるステップであって、該標識は、前記1つまたは複数のマップ・エントリが無効にされるべきことを示すものである、ステップと、
    前記ホスト・デバイスに対して、前記無効化要求が完了したという確認応答を行うステップと、
    前記メディア・コントローラのアイドル・モードにおいて、無効にされるべき前記1つまたは複数のマップ・エントリに基づいて前記メディア・コントローラの空きスペース・カウントを更新するステップと、
    無効にされた前記マップ・エントリに関連付けられた物理アドレスを、前記ホスト・デバイスからのその後の要求のために再使用できるようにするステップ
    を含むことからなる、マシン可読記憶媒体。
JP2014048594A 2013-03-14 2014-03-12 ソリッドステート・メディアにおいてマルチレベル・マッピングを使用する機構 Pending JP2014179084A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361783555P 2013-03-14 2013-03-14
US61/783,555 2013-03-14
US13/963,074 2013-08-09
US13/963,074 US20140047210A1 (en) 2012-08-08 2013-08-09 Trim mechanism using multi-level mapping in a solid-state media

Publications (2)

Publication Number Publication Date
JP2014179084A JP2014179084A (ja) 2014-09-25
JP2014179084A5 true JP2014179084A5 (ja) 2017-03-16

Family

ID=50067103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014048594A Pending JP2014179084A (ja) 2013-03-14 2014-03-12 ソリッドステート・メディアにおいてマルチレベル・マッピングを使用する機構

Country Status (3)

Country Link
US (1) US20140047210A1 (ja)
JP (1) JP2014179084A (ja)
TW (1) TWI637315B (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043565B2 (en) * 2012-09-07 2015-05-26 Kabushiki Kaisha Toshiba Storage device and method for controlling data invalidation
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US9354955B1 (en) * 2014-03-19 2016-05-31 Western Digital Technologies, Inc. Partial garbage collection for fast error handling and optimized garbage collection for the invisible band
KR20150138528A (ko) * 2014-05-29 2015-12-10 삼성전자주식회사 플래시 메모리를 기반으로 하는 스토리지 시스템 및 그것의 동작 방법
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
JP6203424B2 (ja) * 2014-10-29 2017-09-27 三菱電機株式会社 映像音声記録装置および監視システム
US10120793B2 (en) * 2014-12-29 2018-11-06 Toshiba Memory Corporation Memory device and non-transitory computer readable recording medium
US10331551B2 (en) * 2014-12-29 2019-06-25 Toshiba Memory Corporation Information processing device and non-transitory computer readable recording medium for excluding data from garbage collection
US20170147499A1 (en) * 2015-11-25 2017-05-25 Sandisk Technologies Llc Multi-Level Logical to Physical Address Mapping Using Distributed Processors in Non-Volatile Storage Device
US10268385B2 (en) * 2016-05-03 2019-04-23 SK Hynix Inc. Grouped trim bitmap
US10061708B2 (en) 2016-05-12 2018-08-28 SK Hynix Inc. Mapped region table
EP3394758A4 (en) * 2017-01-23 2019-02-20 Micron Technology, Inc. PARTIALLY WRITTEN BLOCK TREATMENT
KR20190044968A (ko) * 2017-10-23 2019-05-02 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN108416233B (zh) * 2018-01-19 2020-03-06 阿里巴巴集团控股有限公司 获取输入字符的方法及装置
CN109240939B (zh) * 2018-08-15 2023-04-07 杭州阿姆科技有限公司 一种快速处理固态硬盘trim的方法
KR20200073604A (ko) * 2018-12-14 2020-06-24 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법
US10942677B2 (en) * 2019-01-24 2021-03-09 Silicon Motion, Inc. Method for performing access management of memory device, associated memory device and controller thereof, associated host device and associated electronic device
KR20200095130A (ko) * 2019-01-31 2020-08-10 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11232043B2 (en) * 2020-04-30 2022-01-25 EMC IP Holding Company LLC Mapping virtual block addresses to portions of a logical address space that point to the virtual block addresses
US11586385B1 (en) 2020-05-06 2023-02-21 Radian Memory Systems, Inc. Techniques for managing writes in nonvolatile memory
JP7500311B2 (ja) 2020-07-13 2024-06-17 キオクシア株式会社 メモリシステム及び情報処理システム
US11609848B2 (en) * 2020-07-30 2023-03-21 Micron Technology, Inc. Media management based on data access metrics
US11537526B2 (en) * 2020-09-10 2022-12-27 Micron Technology, Inc. Translating of logical address to determine first and second portions of physical address
JP2022063466A (ja) * 2020-10-12 2022-04-22 キオクシア株式会社 メモリシステム及び情報処理システム
US11704054B1 (en) 2022-01-05 2023-07-18 Silicon Motion, Inc. Method and apparatus for performing access management of memory device with aid of buffer usage reduction control

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100876084B1 (ko) * 2007-02-13 2008-12-26 삼성전자주식회사 플래시 저장 장치로 삭제 정보를 전달할 수 있는 컴퓨팅시스템
WO2006086379A2 (en) * 2005-02-07 2006-08-17 Dot Hill Systems Corporation Command-coalescing raid controller
JP4643667B2 (ja) * 2008-03-01 2011-03-02 株式会社東芝 メモリシステム
WO2011031796A2 (en) * 2009-09-08 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for caching data on a solid-state storage device
JP5377182B2 (ja) * 2009-09-10 2013-12-25 株式会社東芝 制御装置
US8386537B2 (en) * 2009-12-15 2013-02-26 Intel Corporation Method for trimming data on non-volatile flash media
JP2011128998A (ja) * 2009-12-18 2011-06-30 Toshiba Corp 半導体記憶装置
US20110161560A1 (en) * 2009-12-31 2011-06-30 Hutchison Neil D Erase command caching to improve erase performance on flash memory
US20120059976A1 (en) * 2010-09-07 2012-03-08 Daniel L. Rosenband Storage array controller for solid-state storage devices
JP2014522066A (ja) * 2011-08-09 2014-08-28 エルエスアイ コーポレーション 入出力デバイスとコンピューティングホストとの相互運用

Similar Documents

Publication Publication Date Title
JP2014179084A5 (ja)
US10282132B2 (en) Methods and systems for processing PRP/SGL entries
CN109871333B (zh) 存取闪存模块的方法及相关的闪存控制器与电子装置
CN109426619B (zh) 访问快闪存储器模块的方法及相关闪存控制器与电子装置
US10481837B2 (en) Data storage device and method for operating data storage device with efficient trimming operations
JP2020528624A5 (ja)
CN104239229B (zh) 数据储存装置及用于快闪存储器的数据读取方法
US9766974B2 (en) Data storage device and data access-method
US11120081B2 (en) Key-value storage device and method of operating key-value storage device
US20110231598A1 (en) Memory system and controller
TWI661303B (zh) 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
US20100185806A1 (en) Caching systems and methods using a solid state disk
JP2018018557A5 (ja)
US20170139825A1 (en) Method of improving garbage collection efficiency of flash-oriented file systems using a journaling approach
JP2014026635A5 (ja)
US9122586B2 (en) Physical-to-logical address map to speed up a recycle operation in a solid state drive
JP2017519286A5 (ja)
TW201314452A (zh) 緩衝資料的系統及方法
WO2015054338A1 (en) System and method of storing data in a data storage device with a selection of two writing orders in order to improve the reading speed of a differential look ahead reading mode.
JP2017501504A5 (ja)
JP2009276853A (ja) フラッシュメモリ装置
US11157399B2 (en) Data storage devices and data processing methods with dynamic programming scheme
TW201617884A (zh) 緩存及讀取即將寫入儲存單元之資料的方法以及使用該方法的裝置
CN105917303B (zh) 一种控制器、识别数据块稳定性的方法和存储***
JP2015507798A5 (ja)