JP2014179084A5 - - Google Patents
Download PDFInfo
- 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
Links
- 239000007787 solid Substances 0.000 claims 9
- 230000000875 corresponding Effects 0.000 claims 4
- 230000004044 response Effects 0.000 claims 3
- 230000001934 delay Effects 0.000 claims 1
- 238000009966 trimming Methods 0.000 claims 1
Claims (20)
- ソリッドステート・メディア用のメディア・コントローラであって、前記メディア・コントローラは、ホスト・デバイスと通信し、前記メディア・コントローラは、制御プロセッサを備え、
前記制御プロセッサは、前記ホスト・デバイスから、少なくとも1つの論理アドレスとアドレス範囲とを含む要求を受け取ったことに応答して、前記受け取った要求が無効にする要求(以下、無効にする要求を無効化要求という)であるかどうかを判定し、
前記制御プロセッサは、前記受け取った要求のタイプが無効化要求である場合には、
前記メディア・コントローラのマップによって、前記ソリッドステート・メディアの前記少なくとも1つの論理アドレスとアドレス範囲に関連付けられた該マップの1つまたは複数のエントリを決定し、
前記マップ内において、前記マップ・エントリのそれぞれに関連付けられた標識に印を付け、
前記ホスト・デバイスに対して、前記無効化要求が完了したという確認応答を行い、
前記メディア・コントローラのアイドル・モードにおいて、無効にされるべき前記1つまたは複数のマップ・エントリに基づいて前記メディア・コントローラの空きスペース・カウントを更新し、及び、
無効にされた前記マップ・エントリに関連付けられた物理アドレスを、前記ホスト・デバイスからのその後の要求に関して再使用できるようにする
ように構成されてなり、
前記標識は、前記1つまたは複数のマップ・エントリが無効にされるべきことを示すものであることからなる、メディア・コントローラ。 - 前記無効化要求は、シリアル・アドバンスト・テクノロジー・アタッチメント(SATA)TRIMコマンドと、スモール・コンピュータ・システム・インターフェース(SCSI)UNMAPコマンドと、マルチメディアカード(MMC)ERASEコマンドと、セキュア・デジタル(SD)カードERASEコマンドとのうちの1つである、請求項1に記載のメディア・コントローラ。
- 前記マップは、第1レベル・マップと第2レベル・マップとを備えるマルチレベル・マップである、請求項1のメディア・コントローラであって、
前記第2レベル・マップは複数の第2レベル・マップ・ページを有し、該第2レベル・マップ・ページの各々は複数のエントリを有し、該エントリの各々は、前記ソリッドステート・メディアの物理アドレスを格納するように構成され、
前記第1レベル・マップは複数のエントリを有し、該エントリの各々は第2レベル・マップ・ページに関連付けられており、前記第1レベル・マップは、前記少なくとも1つの論理アドレスと前記アドレス範囲とを前記第2レベル・マップ・エントリのうちの少なくとも1つに関連付けるように構成されることからなる、請求項1または2に記載のメディア・コントローラ。 - 第2レベル・マップ・エントリの各々は、有効標識を有し、
第1レベル・マップ・エントリの各々は、前記第2レベル・マップ・ページのうちの対応するページのアドレスと、前記第1レベル・マップ・エントリに関連付けられた前記第2レベル・マップの1つまたは複数のエントリに対応する有効標識と、処理されるべき(TBP)標識とを有し、
前記TBP標識は、前記第2レベル・マップのエントリは、無効であるが書き込むのには利用できない場合にそのことを示すように構成される、請求項3に記載のメディア・コントローラ。 - 前記制御プロセッサは、前記第2レベル・マップのエントリを無効にするために、前記要求の前記アドレス範囲内に完全に含まれている前記第2レベル・マップ・ページのうちのページに関連付けられた前記第1レベル・マップ内に前記TBP標識のうちの特定のTBP標識を設定するように構成される、請求項4に記載のメディア・コントローラ。
- 前記制御プロセッサは、1つまたは複数の前記物理アドレスに格納されているデータを無効にするために、前記要求の前記アドレス範囲内に部分的に含まれている前記第2レベル・マップ・ページのうちのページのエントリを直接トリミングするように構成される、請求項4または5に記載のメディア・コントローラ。
- 前記TBP標識が所与の第2レベル・マップに関して設定されている場合には、前記制御プロセッサは、前記所与の第2レベル・マップに関する後続の無効化要求が受け取られるまで、前記所与の第2レベル・マップに関する前記後続の無効化要求に先行する無効化要求の処理を遅らせ、これによって、無効化要求に関する処理時間を短くし、及び、前記所与の第2レベル・マップを更新するための前記ソリッドステート・メディアに対する書き込み動作を少なくするように構成される、請求項5に記載のメディア・コントローラ。
- 第1レベル・マップ・エントリの各々は、前記要求の前記範囲内に含まれている前記関連付けられた第2レベル・マップのいくつかの部分を追跡するように構成された少なくとも1つのTRIMアドレス範囲標識を含むことからなる、請求項5〜7のいずれかに記載のメディア・コントローラ。
- 前記制御プロセッサは、前記第2レベル・マップの前記無効にされたエントリのそれぞれを、前記ホスト・デバイスからのその後の要求のために再使用できるようにするために、
前記関連付けられたTBP標識が設定されている場合には、該TBP標識をクリアし、及び、
前記関連付けられた有効標識が設定されている場合には、該有効標識をクリアする
ように構成される、請求項4〜8のいずれかに記載のメディア・コントローラ。 - 前記第1レベル・マップが、前記メディア・コントローラのマップ・メモリに格納され、
前記第2レベル・マップ・ページのすべてが、前記ソリッドステート・メディアに格納され、
前記第2レベル・マップ・ページの少なくともサブセットが、前記メディア・コントローラの前記制御プロセッサに結合されたマップ・キャッシュに一時的に格納される、請求項4〜9のいずれかに記載のメディア・コントローラ。 - 前記メディア・コントローラの前記空きスペース・カウントは、複数のエントリを有するブロック使用されるスペース・テーブルを有し、
前記ブロック使用されるスペース・テーブルの各エントリは、前記ソリッドステート・メディアの複数の物理領域のうちの1つに関連付けられる、請求項1〜10のいずれかに記載のメディア・コントローラ。 - ソリッドステート・メディアおよびホスト・デバイスと通信するメディア・コントローラによって受け取られたホスト要求を処理する方法であって、
前記メディア・コントローラによって、前記ホスト・デバイスから、少なくとも1つの論理アドレスとアドレス範囲とを含む要求を受け取るステップと、
前記要求を受け取ったことに応答して、前記受け取った要求が無効にする要求(以下、無効にする要求を無効化要求という)であるかどうかを判定し、
前記受け取った要求のタイプが無効化要求である場合に、
前記メディア・コントローラのマップを用いて、前記ソリッドステート・メディアの前記少なくとも1つの論理アドレスと前記アドレス範囲とに関連付けられた前記マップの1つまたは複数のエントリを決定するステップと、
前記マップ内において、前記マップ・エントリのそれぞれに関連付けられた標識に印を付けるステップであって、該標識は、前記1つまたは複数のマップ・エントリが無効にされるべきことを示すものである、ステップと、
前記ホスト・デバイスに対して、前記無効化要求が完了したという確認応答を行うステップと、
前記メディア・コントローラのアイドル・モードにおいて、無効にされるべき前記1つまたは複数のマップ・エントリに基づいて前記メディア・コントローラの空きスペース・カウントを更新するステップと、
無効にされた前記マップ・エントリに関連付けられた物理アドレスを、前記ホスト・デバイスからのその後の要求のために再使用できるようにするステップ
を含む、方法。 - 前記マップは、第1レベル・マップと第2レベル・マップとを有するマルチレベル・マップであり、
複数の第2レベル・マップ・ページの複数のエントリの各々を、前記ソリッドステート・メディアの物理アドレスに関連付けるステップと、
前記第1レベル・マップの複数のエントリの各々を、第2レベル・マップ・ページに関連付け、これによって、前記少なくとも1つの論理アドレスと前記アドレス範囲とを前記第2レベル・マップ・エントリのうちの少なくとも1つに関連付けるステップ
をさらに含む、請求項12に記載の方法。 - 第2レベル・マップ・エントリの各々は、有効標識を有し、
第1レベル・マップ・エントリの各々は、前記第2レベル・マップ・ページのうちの対応するページのアドレスと、前記第1レベル・マップ・エントリに関連付けられた前記第2レベル・マップの1つまたは複数のエントリに対応する有効標識と、処理されるべき(TBP)標識とを有し、
前記TBP標識は、前記第2レベル・マップのエントリは、無効であるが書き込むのには利用できない場合にそのことを示すように構成され、
前記要求の前記アドレス範囲内に完全に含まれている前記第2レベル・マップ・ページのうちのページに関連付けられた前記第1レベル・マップ内の前記TBP標識のうちの特定のTBP標識を設定することによって、前記第2レベル・マップのエントリを無効にするステップ
をさらに含む、請求項13に記載の方法。 - 前記要求の前記アドレス範囲内に部分的に含まれている前記第2レベル・マップ・ページのうちのページのエントリを直接トリミングすることによって、前記第2レベル・マップのエントリを無効にするステップをさらに含む、請求項14に記載の方法。
- 前記TBP標識が所与の第2レベル・マップに関して設定されている場合に、前記所与の第2レベル・マップに関する後続の無効化要求が受け取られるまで、前記所与の第2レベル・マップに関する前記後続の無効化要求に先行する無効化要求の処理を遅らせ、これによって、無効化要求に関する処理時間を短くし、及び、前記所与の第2レベル・マップを更新するための前記ソリッドステート・メディアに対する書き込み動作を少なくするステップをさらに含む、請求項14または15に記載の方法。
- 前記第2レベル・マップの前記無効にされたエントリの各々を、前記ホスト・デバイスからのその後の要求のために再使用できるようにする前記ステップが、
前記関連付けられたTBP標識が設定されている場合には、該TBP標識をクリアするステップと、
前記関連付けられた有効標識が設定されている場合には、該有効標識をクリアするステップ
を含むことからなる、請求項14〜16のいずれかに記載の方法。 - 前記メディア・コントローラのマップ・メモリに前記第1レベル・マップを格納するステップと、
前記ソリッドステート・メディアに前記第2レベル・マップ・ページのすべてを格納するステップと、
前記メディア・コントローラの制御プロセッサに結合されたマップ・キャッシュに前記第2レベル・マップ・ページの少なくともサブセットを一時的に格納するステップ
をさらに含む、請求項14〜17のいずれかに記載の方法。 - 前記メディア・コントローラの前記空きスペース・カウントは、複数のエントリを有するブロック使用されるスペース・テーブルを含み、
前記ブロック使用されるスペース・テーブルの各エントリを前記ソリッドステート・メディアの複数の物理領域のうちの1つに関連付けるステップをさらに含む、請求項12〜18のいずれかに記載の方法。 - 符号化されたプログラム・コードを有する非一時的なマシン可読記憶媒体であって、
前記プログラム・コードがマシンによって実行されると、前記マシンは、ソリッドステート・メディアおよびホスト・デバイスと通信するメディア・コントローラによって受け取られたホスト要求を処理する方法を実施し、
前記方法が、
前記メディア・コントローラによって、前記ホスト・デバイスから、少なくとも1つの論理アドレスとアドレス範囲とを含む要求を受け取るステップと、
前記要求を受け取ったことに応答して、前記受け取った要求が無効にする要求(以下、無効にする要求を無効化要求という)であるかどうかを判定するステップと、
前記受け取った要求のタイプが無効化要求である場合に、
前記メディア・コントローラのマップを用いて、前記ソリッドステート・メディアの前記少なくとも1つの論理アドレスと前記アドレス範囲とに関連付けられた前記マップの1つまたは複数のエントリを決定するステップと、
前記マップ内において、前記マップ・エントリのそれぞれに関連付けられた標識に印を付けるステップであって、該標識は、前記1つまたは複数のマップ・エントリが無効にされるべきことを示すものである、ステップと、
前記ホスト・デバイスに対して、前記無効化要求が完了したという確認応答を行うステップと、
前記メディア・コントローラのアイドル・モードにおいて、無効にされるべき前記1つまたは複数のマップ・エントリに基づいて前記メディア・コントローラの空きスペース・カウントを更新するステップと、
無効にされた前記マップ・エントリに関連付けられた物理アドレスを、前記ホスト・デバイスからのその後の要求のために再使用できるようにするステップ
を含むことからなる、マシン可読記憶媒体。
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)
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)
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 | エルエスアイ コーポレーション | 入出力デバイスとコンピューティングホストとの相互運用 |
-
2013
- 2013-08-09 US US13/963,074 patent/US20140047210A1/en not_active Abandoned
-
2014
- 2014-01-22 TW TW103102357A patent/TWI637315B/zh not_active IP Right Cessation
- 2014-03-12 JP JP2014048594A patent/JP2014179084A/ja active Pending
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) |