JP2010532061A5 - - Google Patents

Download PDF

Info

Publication number
JP2010532061A5
JP2010532061A5 JP2010515079A JP2010515079A JP2010532061A5 JP 2010532061 A5 JP2010532061 A5 JP 2010532061A5 JP 2010515079 A JP2010515079 A JP 2010515079A JP 2010515079 A JP2010515079 A JP 2010515079A JP 2010532061 A5 JP2010532061 A5 JP 2010532061A5
Authority
JP
Japan
Prior art keywords
priority
host command
flash memory
host
operations
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.)
Granted
Application number
JP2010515079A
Other languages
English (en)
Other versions
JP5449152B2 (ja
JP2010532061A (ja
Filing date
Publication date
Priority claimed from US11/769,038 external-priority patent/US20090006720A1/en
Priority claimed from US11/769,033 external-priority patent/US8504784B2/en
Application filed filed Critical
Priority claimed from PCT/US2008/068187 external-priority patent/WO2009003038A2/en
Publication of JP2010532061A publication Critical patent/JP2010532061A/ja
Publication of JP2010532061A5 publication Critical patent/JP2010532061A5/ja
Application granted granted Critical
Publication of JP5449152B2 publication Critical patent/JP5449152B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (29)

  1. フラッシュメモリストレージシステムの利用率を向上させる方法であって、
    前記システムのフラッシュメモリモジュールに求められる操作をキューに入れるステップと、
    前記操作の優先順位に従い操作のスケジュールを組み、前記スケジュールが組まれた操作を前記キューから取り出すステップであって、ホストコマンドに必要のない少なくとも1つのハウスキーピング操作は、少なくとも1つのホストコマンドより高い優先順位に設定され、前記ホストコマンドより前に処理されるようにスケジュールが組まれる、ステップと、
    を含む方法。
  2. 請求項1記載の方法において、
    前記フラッシュメモリの1つ以上ブロックの中で書き込みバッファを実装するステップをさらに含む方法。
  3. 請求項2記載の方法において、
    記キューを蓄積するために前記書き込みバッファブロックを利用するステップをさらに含む方法。
  4. フラッシュメモリストレージ装置を操作する方法であって、
    ホスト装置からホストコマンドを受信するステップと、
    前記受信済みホストコマンドを正常に実行するため、予め前記受信済みホストコマンドにガーベッジコレクションが必要であるか否かをチェックするステップと、
    前記受信済みホストコマンドを正常に実行するにあたってガーベッジコレクションが必要である場合に、処理スケジュールが組まれた他のコマンドより前に前記受信済みホストコマンドを処理するステップと、前記受信済みホストコマンドを正常に実行するにあたってガーベッジコレクションが必要でない場合に、前記ホストコマンドより優先順位が高い別の操作を前記ホストコマンドより前に処理するようにスケジュールを組むステップと、
    を含む方法。
  5. 請求項4記載の方法において、
    前記受信済みホストコマンドを処理するステップは、前記所要のガーベッジコレクションを実行するステップと、その後に前記ホストコマンドを遂行するステップとを含む方法。
  6. 請求項4記載の方法において、
    前記受信済みホストコマンドを正常に実行するにあたってガーベッジコレクションが必要でない場合に、保留になっている他の操作がそれぞれの優先順位に従い処理される方法。
  7. メモリコントローラとフラッシュメモリモジュールとを備えるフラッシュメモリストレージシステムの性能を向上させる方法であって、
    統一優先順位方式にてホストコマンドと前記システムの内部操作とを含む1群の操作に優先順位を設定するステップを含み、
    少なくとも1つのホストコマンドの優先順位は、少なくとも1つのガーベッジコレクションコマンドより低く設定される方法。
  8. 請求項7記載の方法において、
    既存ハウスキーピング操作を完了するために少なくとも1つのホストコマンドの実行を遅延するステップをさらに含む方法。
  9. 請求項7記載の方法において、
    前記内部操作は、ハウスキーピング操作と、アプリケーションファームウェアによって生成される操作と、前記システムのキャッシュメモリにある保留項目とを含む方法。
  10. 請求項9記載の方法において、
    前記操作と保留項目は、書き込みバッファブロックに蓄積される方法。
  11. 請求項9記載の方法において、
    前記ハウスキーピング操作は、ガーベッジコレクション操作を含む方法。
  12. 請求項7記載の方法において、
    優先順位が設定された操作のスケジューリングは、前記システムのメモリコントローラによって実行されるファームウェアによって制御される方法。
  13. 請求項7記載の方法において、
    優先順位が設定された操作のスケジューリングは、前記システムのハードウェアに実装された状態マシンによって制御される方法。
  14. フラッシュメモリストレージシステムを操作する方法であって、
    ホストコマンドの正常処理にあたって必要とされるハウスキーピングコマンドに第1の優先度を割り当てるステップと、
    ホストコマンドに第2の優先度を割り当てるステップと
    1の優先度が割り当てられていない1つ以上のハウスキーピングコマンドに第3の優先度を割り当てるステップと、
    優先度の順に前記コマンドを処理するステップと、
    を含む方法。
  15. 請求項14記載の方法において、
    内部アプリケーションコマンドに第2の優先度を割り当てるステップをさらに含む方法。
  16. ホストコンピュータへ結合されたフラッシュメモリストレージシステムを操作する方法であって、
    前記ホストコンピュータに対して前記システムがアイドル状態にあることを示しながら、前記システムの操作を実行するステップと、
    記システムにてホストコマンドを受信するステップと、
    前記受信済みホストコマンドの優先順位を実行中の前記操作の優先順位と比較するステップと、
    前記比較するステップの最中にビジー信号をアサートするステップと、
    を含む方法。
  17. 請求項16記載の方法において、
    前記比較するステップの後に、前記受信済みホストコマンドの優先順位が実行中の前記操作の優先順位より高いことが前記比較するステップから判明する場合に、前記受信済みホストコマンドを実行するステップと、そうでなければ、既に進行中の前記操作の実行を継続するステップと、
    をさらに含む方法。
  18. メモリコントローラとフラッシュメモリモジュールとを備えるフラッシュメモリストレージシステムの利用率を極大化する方法であって、
    記システムへ結合されたホストから受信される1種類以上のコマンドの優先度より高い優先度を、1種類以上のハウスキーピング操作に割り当てるステップと、
    ホストコマンドを受信するステップと、
    前記コマンドの優先度をハウスキーピング操作の優先度と比較するステップと、
    前記受信済みホストコマンドを処理する前に、前記受信済みホストコマンドより優先度が高いと判断された1つのハウスキーピング操作の少なくとも一部分を実行するステップと、
    を含む方法。
  19. メモリコントローラとフラッシュメモリモジュールとを備えるフラッシュメモリストレージシステムの利用率を極大化する方法であって、
    前記システムの書き込みバッファブロックを前記システムの操作キューとして利用するステップと、
    前記書き込みバッファブロックの利用度を評価するステップと、
    前記評価済み利用度に基づき前記フラッシュメモリモジュールを利用する操作のスケジュールを組むステップと、
    を含む方法。
  20. 請求項19記載の方法において、
    前記評価済み利用度がしきい値を上回ると判断される場合に、ハウスキーピング操作の処理に使用可能な時間が配分される方法。
  21. 請求項19記載の方法において、
    前記評価済み利用度がしきい値を下回ると判断される場合に、
    使用可能な時間がまずホストコマンドに配分され、かつ
    前記ホストコマンドに要する時間枠の直後に、1つ以上のハウスキーピング操作に短い時間が配分される方法。
  22. 請求項21記載の方法において、
    前記評価済み利用度がしきい値を下回ると判断される場合に、1つ以上のハウスキーピング操作のバックグラウンド実行スケジュールが組まれる方法。
  23. 請求項19記載の方法において、
    前記評価済み利用度が第1のしきい値を下回ると判断される場合に、着信ホストコマンドは遅延されない方法。
  24. 請求項23記載の方法において、
    前記評価済み利用度が第1のしきい値を上回るが、第2のしきい値を下回ると判断される場合に、
    着信ホストコマンドは遅延され、かつ
    使用可能な時間がまず前記着信ホストコマンド遅延中のハウスキーピング操作に配分される方法。
  25. 請求項24記載の方法において、
    前記評価済み利用度が第2のしきい値を上回ると判断される場合に、ホストコマンド前後の配分可能・使用可能最大時間がハウスキーピング操作に配分される方法。
  26. フラッシュメモリストレージシステムであって、
    メモリコントローラと、
    フラッシュメモリモジュールと、
    前記フラッシュメモリモジュールのデータ蓄積操作に優先順位を設定するバックエンドマネージャと、を備え、
    前記バックエンドマネージャは、前記フラッシュメモリモジュールに求められる1群の前記データ蓄積操作を解析するように構成され、かつ
    ホストコマンドの優先順位が前記システムの内部操作より低いか否かを判断し、低いと判断する場合に、前記内部操作の少なくとも一部分を前記ホストコマンドより前に実行するように構成されるフラッシュメモリストレージシステム。
  27. 請求項26記載のシステムにおいて、
    前記バックエンドマネージャは、前記システムのファームウェアを備えるシステム。
  28. 請求項26記載のシステムにおいて、
    前記バックエンドマネージャは、状態マシンを備えるシステム。
  29. フラッシュメモリストレージシステムであって、
    メモリコントローラと、
    フラッシュメモリモジュールと、を備え、
    前記メモリコントローラは、
    記システムへ結合されたホストから受信される1種類以上のコマンドの優先度より高い優先度を、1種類以上のハウスキーピング操作に割り当て、
    ホストコマンドを受信し、
    記コマンドの優先度をハウスキーピング操作の優先度と比較し、かつ
    前記フラッシュメモリモジュールにより前記受信済みホストコマンドを処理する前に、前記受信済みホストコマンドより優先度が高いと判断された1つのハウスキーピング操作の少なくとも一部分を前記フラッシュメモリモジュールにより処理するように構成されるフラッシュメモリストレージシステム。
JP2010515079A 2007-06-27 2008-06-25 フラッシュメモリシステムにおける段階的ガーベッジコレクションおよびハウスキーピング操作 Expired - Fee Related JP5449152B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/769,038 2007-06-27
US11/769,038 US20090006720A1 (en) 2007-06-27 2007-06-27 Scheduling phased garbage collection and house keeping operations in a flash memory system
US11/769,033 2007-06-27
US11/769,033 US8504784B2 (en) 2007-06-27 2007-06-27 Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system
PCT/US2008/068187 WO2009003038A2 (en) 2007-06-27 2008-06-25 Phased garbage collection and house keeping operations in a flash memory system

Publications (3)

Publication Number Publication Date
JP2010532061A JP2010532061A (ja) 2010-09-30
JP2010532061A5 true JP2010532061A5 (ja) 2011-08-04
JP5449152B2 JP5449152B2 (ja) 2014-03-19

Family

ID=39711028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010515079A Expired - Fee Related JP5449152B2 (ja) 2007-06-27 2008-06-25 フラッシュメモリシステムにおける段階的ガーベッジコレクションおよびハウスキーピング操作

Country Status (5)

Country Link
EP (1) EP2160686B1 (ja)
JP (1) JP5449152B2 (ja)
KR (1) KR101505395B1 (ja)
TW (1) TWI369633B (ja)
WO (1) WO2009003038A2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4802762B2 (ja) * 2006-02-28 2011-10-26 株式会社日立製作所 多コイル系超伝導マグネット
US8504784B2 (en) 2007-06-27 2013-08-06 Sandisk Technologies Inc. Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system
TWI484334B (zh) * 2009-12-24 2015-05-11 Univ Nat Taiwan 非揮發記憶體的區域式管理方法
TWI399643B (zh) * 2009-12-31 2013-06-21 Phison Electronics Corp 快閃記憶體儲存系統及其控制器與資料寫入方法
TWI409633B (zh) * 2010-02-04 2013-09-21 Phison Electronics Corp 快閃記憶體儲存裝置、其控制器與資料寫入方法
KR101332774B1 (ko) * 2012-02-08 2013-11-25 주식회사 디에이아이오 비휘발성 메모리 시스템 및 이의 데이터 전송 제어 방법
WO2013145029A1 (en) * 2012-03-30 2013-10-03 Hitachi, Ltd. Data storage system and control method therefor
US9128615B2 (en) 2013-05-15 2015-09-08 Sandisk Technologies Inc. Storage systems that create snapshot queues
US9710326B2 (en) 2014-07-28 2017-07-18 SK Hynix Inc. Encoder by-pass with scrambler
EP3680786B1 (en) * 2017-10-09 2022-08-10 Huawei Technologies Co., Ltd. Garbage data cleaning method and equipment
KR20210001414A (ko) 2019-06-28 2021-01-06 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 그 저장 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640529A (en) * 1993-07-29 1997-06-17 Intel Corporation Method and system for performing clean-up of a solid state disk during host command execution
US7089349B2 (en) * 2003-10-28 2006-08-08 Sandisk Corporation Internal maintenance schedule request for non-volatile memory system
US7188219B2 (en) * 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
JP3908760B2 (ja) * 2004-10-26 2007-04-25 株式会社東芝 情報端末装置とそのプログラム
US7523251B2 (en) 2005-01-18 2009-04-21 Cisco Technology, Inc. Quaternary content-addressable memory
US7315917B2 (en) 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory

Similar Documents

Publication Publication Date Title
JP2010532061A5 (ja)
JP2013541765A5 (ja)
CN106681661B (zh) 一种固态硬盘中读写调度方法及装置
US20120159016A1 (en) Memory system and data transfer method
JP2013542494A5 (ja)
CN104536701A (zh) 一种nvme协议多命令队列的实现方法及系统
WO2013119195A1 (en) Multicore computer system with cache use based adaptive scheduling
US20150253992A1 (en) Memory system and control method
CN107967224A (zh) 一种固态硬盘提升性能一致性的方法
TW200506608A (en) Read/write command buffer pool resource management using read-path prediction of future resources
JP2010532061A (ja) フラッシュメモリシステムにおける段階的ガーベッジコレクションおよびハウスキーピング操作
CN112749102B (zh) 一种内存空间垃圾回收处理方法、装置、设备及介质
US11010094B2 (en) Task management method and host for electronic storage device
CN103823636A (zh) Io调度方法及装置
CN107391392A (zh) 一种基于闪存存储设备并行特征的垃圾回收优化方法
US10372379B2 (en) Command processing method and storage controller using the same
CN107728953B (zh) 一种提升固态硬盘混合读写性能的方法
US20120278544A1 (en) Flash memory controller
CN109814811B (zh) 一种减小NVMe SSD响应延迟影响高速数据存储设备写入速度的方法
CN106681660B (zh) Io调度方法及io调度装置
KR101481898B1 (ko) Ssd의 명령어 큐 스케줄링 장치 및 방법
WO2019136967A1 (zh) 一种应用在存储系统中的任务调度优化方法
US20120260058A1 (en) Memory management apparatus, memory management method, and control program
CN112840309B (zh) 命令调度方法、装置及存储介质
CN115576876A (zh) 一种应用于NVMe SSD的DMA分配与管理方法