JP2012533800A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2012533800A5 JP2012533800A5 JP2012520784A JP2012520784A JP2012533800A5 JP 2012533800 A5 JP2012533800 A5 JP 2012533800A5 JP 2012520784 A JP2012520784 A JP 2012520784A JP 2012520784 A JP2012520784 A JP 2012520784A JP 2012533800 A5 JP2012533800 A5 JP 2012533800A5
- Authority
- JP
- Japan
- Prior art keywords
- drive
- host device
- information
- gap
- patent document
- 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
Links
- 230000005540 biological transmission Effects 0.000 claims 3
- 238000004590 computer program Methods 0.000 claims 2
- 230000000903 blocking Effects 0.000 claims 1
- 239000007787 solid Substances 0.000 description 3
- 102100004922 CACNA1A Human genes 0.000 description 1
- 108060001065 CACNA1A Proteins 0.000 description 1
- 241000668709 Dipterocarpus costatus Species 0.000 description 1
- 241000282941 Rangifer tarandus Species 0.000 description 1
- 229940116821 SSD Drugs 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 229920002892 amber Polymers 0.000 description 1
Description
【0002】
多くのストレージシステムにおいて、ターゲット装置は、フレームをホストに転送しているときにコリジョンが発生した場合の優先順位を有する。これらの場合、コマンドがキュー(待ち行列)に入っているとき(例えば、ファーストパーティ直接メモリアクセス(First Party Direct Memory Access)などを使用して)、いったん前記ターゲットが直接メモリアクセス(party direct memory access:DMA)セットアップフレーム情報構造(frame information structure:FIS)を送信してデータフェーズに入ると、前記ホストは通常いかなるコマンドも前記ターゲット装置に送信できなくなる。
前記ドライブが速くデータをフェッチ(取得)することができる場合、次に前記ホストは最大キュー長と同等の数のいくつかのコマンドを前記ドライブに送信することができ得る。前記ドライブは、次にDMAセットアップ、データ、DMAセットアップ、データなどを前記フレーム間に全くブレークを入れずに戻す。これにより、前記ホストはこれ以上のコマンドを送信することができなくなる。
これらの場合、前記ドライブのキュー長は、最大キュー長からゼロへ、ゼロから最大キュー長に戻り、そして再びゼロへと振動する。これはパフォーマンスに悪影響を及ぼす。このように、従来技術に関連するこれらおよび/またはその他の問題に対処する必要性が存在する。
この出願の発明に関連する先行技術文献情報としては、以下のものがある(国際出願日以降国際段階で引用された文献及び他国に国内移行した際に引用された文献を含む)。
【先行技術文献】
【特許文献】
多くのストレージシステムにおいて、ターゲット装置は、フレームをホストに転送しているときにコリジョンが発生した場合の優先順位を有する。これらの場合、コマンドがキュー(待ち行列)に入っているとき(例えば、ファーストパーティ直接メモリアクセス(First Party Direct Memory Access)などを使用して)、いったん前記ターゲットが直接メモリアクセス(party direct memory access:DMA)セットアップフレーム情報構造(frame information structure:FIS)を送信してデータフェーズに入ると、前記ホストは通常いかなるコマンドも前記ターゲット装置に送信できなくなる。
前記ドライブが速くデータをフェッチ(取得)することができる場合、次に前記ホストは最大キュー長と同等の数のいくつかのコマンドを前記ドライブに送信することができ得る。前記ドライブは、次にDMAセットアップ、データ、DMAセットアップ、データなどを前記フレーム間に全くブレークを入れずに戻す。これにより、前記ホストはこれ以上のコマンドを送信することができなくなる。
これらの場合、前記ドライブのキュー長は、最大キュー長からゼロへ、ゼロから最大キュー長に戻り、そして再びゼロへと振動する。これはパフォーマンスに悪影響を及ぼす。このように、従来技術に関連するこれらおよび/またはその他の問題に対処する必要性が存在する。
この出願の発明に関連する先行技術文献情報としては、以下のものがある(国際出願日以降国際段階で引用された文献及び他国に国内移行した際に引用された文献を含む)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】 米国特許第5881229号明細書
【特許文献2】 米国特許第7120729号明細書
【特許文献3】 米国特許第7103732号明細書
【特許文献4】 米国特許第7096313号明細書
【特許文献5】 米国特許第7035967号明細書
【特許文献6】 米国特許第6985992号明細書
【特許文献7】 米国特許第6973531号明細書
【特許文献8】 米国特許第6831865号明細書
【特許文献9】 米国特許第6000006号明細書
【特許文献10】 米国特許第5956473号明細書
【特許文献11】 米国特許第5621687号明細書
【特許文献12】 米国特許第5568423号明細書
【特許文献13】 米国特許第7032087号明細書
【特許文献14】 米国特許第7000063号明細書
【特許文献15】 米国特許第6948026号明細書
【特許文献16】 米国特許第6925523号明細書
【特許文献17】 米国特許第6914853号明細書
【特許文献18】 米国特許第6732221号明細書
【特許文献19】 米国特許第6694402号明細書
【特許文献20】 米国特許第6539453号明細書
【特許文献21】 米国特許第6405295号明細書
【特許文献22】 米国特許第6230233号明細書
【特許文献23】 米国特許第6154808号明細書
【特許文献24】 米国特許第5963970号明細書
【特許文献25】 米国特許第5835935号明細書
【特許文献26】 米国特許第5819307号明細書
【特許文献27】 米国特許第5568626号明細書
【特許文献28】 米国特許第5544356号明細書
【特許文献29】 米国特許第5485595号明細書
【特許文献30】 米国特許第7747813号明細書
【特許文献31】 米国特許第7809900号明細書
【特許文献32】 米国特許第7849275号明細書
【特許文献33】 米国特許第7903486号明細書
【特許文献34】 米国特許第7620747号明細書
【特許文献35】 米国特許第7904619号明細書
【特許文献36】 米国特許第7549013号明細書
【特許文献37】 米国特許第7904672号明細書
【特許文献38】 米国特許第7003623号明細書
【特許文献39】 米国特許第7904764号明細書
【特許文献40】 米国特許第7222214号明細書
【特許文献41】 米国特許第6600614号明細書
【特許文献42】 米国特許第7827320号明細書
【特許文献43】 米国特許第6085248号明細書
【特許文献44】 米国特許第6928494号明細書
【特許文献45】 米国特許第7631128号明細書
【特許文献46】 米国特許第7827320号明細書
【特許文献47】 米国特許出願公開第2005/0166014号明細書
【特許文献48】 米国特許出願公開第2006/0218437号明細書
【特許文献49】 米国特許出願公開第2008/0294801号明細書
【特許文献50】 米国特許出願公開第2003/0041214号明細書
【特許文献51】 米国特許出願公開第2008/0282031号明細書
【特許文献52】 米国特許出願公開第2008/0090021号明細書
【特許文献53】 米国特許出願公開第2010/0250830号明細書
【特許文献54】 米国特許出願公開第2008/0233798号明細書
【特許文献55】 米国特許出願公開第2008/0294813号明細書
【特許文献56】 米国特許出願公開第2011/0041039号明細書
【特許文献57】 米国特許出願公開第2009/0094409号明細書
【特許文献58】 米国特許出願公開第2011/0041005号明細書
【特許文献59】 米国特許出願公開第2011/0016239号明細書
【特許文献60】 米国特許出願公開第2009/0125645号明細書
【特許文献61】 米国特許出願公開第2008/0282031号明細書
【特許文献62】 米国特許出願公開第2011/0022765号明細書
【特許文献63】 米国特許出願公開第2010/0115189号明細書
【特許文献64】 米国特許出願公開第2009/0300259号明細書
【特許文献65】 米国特許出願公開第2003/0041214号明細書
【特許文献66】 米国特許出願公開第2011/0083047号明細書
【特許文献67】 米国特許出願公開第2010/0106905号明細書
【特許文献68】 米国特許出願公開第2010/0017650号明細書
【特許文献69】 米国特許出願公開第2008/0294801号明細書
【特許文献70】 米国特許出願公開第2011/0125956号明細書
【特許文献71】 米国特許出願公開第2010/0067133号明細書
【特許文献72】 米国特許出願公開第2010/0037001号明細書
【特許文献73】 米国特許出願公開第2006/0218437号明細書
【特許文献74】 米国特許出願公開第2009/0138671号明細書
【特許文献75】 米国特許出願公開第2010/0017588号明細書
【特許文献76】 米国特許出願公開第2010/0017807号明細書
【特許文献77】 米国特許出願公開第2010/0017566号明細書
【特許文献78】 米国特許出願公開第2011/0004722号明細書
【特許文献79】 米国特許出願公開第2010/0064093号明細書
【特許文献80】 米国特許出願公開第2010/0146236号明細書
【特許文献81】 米国特許出願公開第2010/0251009号明細書
【特許文献82】 米国特許出願公開第2008/0141054号明細書
【特許文献83】 米国特許出願公開第2011/0167199号明細書
【特許文献84】 米国特許出願公開第2010/0064096号明細書
【特許文献85】 米国特許出願公開第2008/0005398号明細書
【特許文献86】 米国特許出願公開第2006/0209684号明細書
【特許文献87】 米国特許出願公開第2005/0166014号明細書
【特許文献88】 米国特許出願公開第2010/0250829号明細書
【特許文献89】 米国特許出願公開第2010/0250830号明細書
【特許文献90】 米国特許出願公開第2011/0041039号明細書
【特許文献91】 米国特許出願公開第2011/0004722号明細書
【特許文献92】 米国特許出願公開第2010/0017650号明細書
【特許文献93】 米国特許出願公開第2009/0094409号明細書
【特許文献94】 米国特許出願公開第2008/0294813号明細書
【特許文献95】 米国特許出願公開第2008/0294801号明細書
【特許文献96】 米国特許出願公開第2008/0005398号明細書
【特許文献97】 米国特許出願公開第2006/0218437号明細書
【特許文献98】 米国特許出願公開第2005/0166014号明細書
【特許文献99】 国際公開第2011/008963号
【特許文献100】 国際公開第2011/008963号
【非特許文献】
【特許文献1】 米国特許第5881229号明細書
【特許文献2】 米国特許第7120729号明細書
【特許文献3】 米国特許第7103732号明細書
【特許文献4】 米国特許第7096313号明細書
【特許文献5】 米国特許第7035967号明細書
【特許文献6】 米国特許第6985992号明細書
【特許文献7】 米国特許第6973531号明細書
【特許文献8】 米国特許第6831865号明細書
【特許文献9】 米国特許第6000006号明細書
【特許文献10】 米国特許第5956473号明細書
【特許文献11】 米国特許第5621687号明細書
【特許文献12】 米国特許第5568423号明細書
【特許文献13】 米国特許第7032087号明細書
【特許文献14】 米国特許第7000063号明細書
【特許文献15】 米国特許第6948026号明細書
【特許文献16】 米国特許第6925523号明細書
【特許文献17】 米国特許第6914853号明細書
【特許文献18】 米国特許第6732221号明細書
【特許文献19】 米国特許第6694402号明細書
【特許文献20】 米国特許第6539453号明細書
【特許文献21】 米国特許第6405295号明細書
【特許文献22】 米国特許第6230233号明細書
【特許文献23】 米国特許第6154808号明細書
【特許文献24】 米国特許第5963970号明細書
【特許文献25】 米国特許第5835935号明細書
【特許文献26】 米国特許第5819307号明細書
【特許文献27】 米国特許第5568626号明細書
【特許文献28】 米国特許第5544356号明細書
【特許文献29】 米国特許第5485595号明細書
【特許文献30】 米国特許第7747813号明細書
【特許文献31】 米国特許第7809900号明細書
【特許文献32】 米国特許第7849275号明細書
【特許文献33】 米国特許第7903486号明細書
【特許文献34】 米国特許第7620747号明細書
【特許文献35】 米国特許第7904619号明細書
【特許文献36】 米国特許第7549013号明細書
【特許文献37】 米国特許第7904672号明細書
【特許文献38】 米国特許第7003623号明細書
【特許文献39】 米国特許第7904764号明細書
【特許文献40】 米国特許第7222214号明細書
【特許文献41】 米国特許第6600614号明細書
【特許文献42】 米国特許第7827320号明細書
【特許文献43】 米国特許第6085248号明細書
【特許文献44】 米国特許第6928494号明細書
【特許文献45】 米国特許第7631128号明細書
【特許文献46】 米国特許第7827320号明細書
【特許文献47】 米国特許出願公開第2005/0166014号明細書
【特許文献48】 米国特許出願公開第2006/0218437号明細書
【特許文献49】 米国特許出願公開第2008/0294801号明細書
【特許文献50】 米国特許出願公開第2003/0041214号明細書
【特許文献51】 米国特許出願公開第2008/0282031号明細書
【特許文献52】 米国特許出願公開第2008/0090021号明細書
【特許文献53】 米国特許出願公開第2010/0250830号明細書
【特許文献54】 米国特許出願公開第2008/0233798号明細書
【特許文献55】 米国特許出願公開第2008/0294813号明細書
【特許文献56】 米国特許出願公開第2011/0041039号明細書
【特許文献57】 米国特許出願公開第2009/0094409号明細書
【特許文献58】 米国特許出願公開第2011/0041005号明細書
【特許文献59】 米国特許出願公開第2011/0016239号明細書
【特許文献60】 米国特許出願公開第2009/0125645号明細書
【特許文献61】 米国特許出願公開第2008/0282031号明細書
【特許文献62】 米国特許出願公開第2011/0022765号明細書
【特許文献63】 米国特許出願公開第2010/0115189号明細書
【特許文献64】 米国特許出願公開第2009/0300259号明細書
【特許文献65】 米国特許出願公開第2003/0041214号明細書
【特許文献66】 米国特許出願公開第2011/0083047号明細書
【特許文献67】 米国特許出願公開第2010/0106905号明細書
【特許文献68】 米国特許出願公開第2010/0017650号明細書
【特許文献69】 米国特許出願公開第2008/0294801号明細書
【特許文献70】 米国特許出願公開第2011/0125956号明細書
【特許文献71】 米国特許出願公開第2010/0067133号明細書
【特許文献72】 米国特許出願公開第2010/0037001号明細書
【特許文献73】 米国特許出願公開第2006/0218437号明細書
【特許文献74】 米国特許出願公開第2009/0138671号明細書
【特許文献75】 米国特許出願公開第2010/0017588号明細書
【特許文献76】 米国特許出願公開第2010/0017807号明細書
【特許文献77】 米国特許出願公開第2010/0017566号明細書
【特許文献78】 米国特許出願公開第2011/0004722号明細書
【特許文献79】 米国特許出願公開第2010/0064093号明細書
【特許文献80】 米国特許出願公開第2010/0146236号明細書
【特許文献81】 米国特許出願公開第2010/0251009号明細書
【特許文献82】 米国特許出願公開第2008/0141054号明細書
【特許文献83】 米国特許出願公開第2011/0167199号明細書
【特許文献84】 米国特許出願公開第2010/0064096号明細書
【特許文献85】 米国特許出願公開第2008/0005398号明細書
【特許文献86】 米国特許出願公開第2006/0209684号明細書
【特許文献87】 米国特許出願公開第2005/0166014号明細書
【特許文献88】 米国特許出願公開第2010/0250829号明細書
【特許文献89】 米国特許出願公開第2010/0250830号明細書
【特許文献90】 米国特許出願公開第2011/0041039号明細書
【特許文献91】 米国特許出願公開第2011/0004722号明細書
【特許文献92】 米国特許出願公開第2010/0017650号明細書
【特許文献93】 米国特許出願公開第2009/0094409号明細書
【特許文献94】 米国特許出願公開第2008/0294813号明細書
【特許文献95】 米国特許出願公開第2008/0294801号明細書
【特許文献96】 米国特許出願公開第2008/0005398号明細書
【特許文献97】 米国特許出願公開第2006/0218437号明細書
【特許文献98】 米国特許出願公開第2005/0166014号明細書
【特許文献99】 国際公開第2011/008963号
【特許文献100】 国際公開第2011/008963号
【非特許文献】
【0004】
【非特許文献1】 International Search Report for PCTlUS2010/042147, mailed March 24, 2011,9 pages
【非特許文献2】 Intel X25−E SATA Solid State Drive, May 2009, Document Order No. 319984−005US, Intel, as cited by the Examiner in a June 7, 2011 office action in U.S. Patent Application Serial No. 12573792, 24 pages
【非特許文献3】 REN, Jin and YANG, Qing; "I−CASH: Intelligently Coupled Array of SSD and HDD" in The 17th IEEE International
【非特許文献4】 Symposium on High Performance Computer Architecture, 2011 (HPCA'II), San Antonio, TX, USA Feb 2011, 12 pages, pp 278−298
【非特許文献5】 Serial ATA NSSD (NAND based Solid State Drive), July 2008, Samsung,as cited by the Examiner in a June 7,2011 office action in U.S. Patent Application Serial No. 12573792 Revision 1.0, 39 pages
【非特許文献6】 HUFFMAN, Amber and CLARK, Joni; "Serial ATA Native Command Queuing, An Exciting New Performance Feature for Serial ATA", A Joint Whitepaper By: Intel Corporation and Seagate Technology, July 2003, United States, 12 pages
【非特許文献7】 OLSON. Alan Rand Denis J Langlois. Solid State Drives Data Reliability and Lifetime, April 7, 2008, Imation, 27 pages
【非特許文献8】 "Serial ATA II Native Command Queuing Overview", Application Note, April 2003, Order No. 252664−002, Intel Corporation, United States, 21 pages
【非特許文献9】 October 7,2011 List of Art Rejections in Cases Related to Docket No. SAFI P031, 1 page
【発明の概要】
【課題を解決するための手段】
【非特許文献1】 International Search Report for PCTlUS2010/042147, mailed March 24, 2011,9 pages
【非特許文献2】 Intel X25−E SATA Solid State Drive, May 2009, Document Order No. 319984−005US, Intel, as cited by the Examiner in a June 7, 2011 office action in U.S. Patent Application Serial No. 12573792, 24 pages
【非特許文献3】 REN, Jin and YANG, Qing; "I−CASH: Intelligently Coupled Array of SSD and HDD" in The 17th IEEE International
【非特許文献4】 Symposium on High Performance Computer Architecture, 2011 (HPCA'II), San Antonio, TX, USA Feb 2011, 12 pages, pp 278−298
【非特許文献5】 Serial ATA NSSD (NAND based Solid State Drive), July 2008, Samsung,as cited by the Examiner in a June 7,2011 office action in U.S. Patent Application Serial No. 12573792 Revision 1.0, 39 pages
【非特許文献6】 HUFFMAN, Amber and CLARK, Joni; "Serial ATA Native Command Queuing, An Exciting New Performance Feature for Serial ATA", A Joint Whitepaper By: Intel Corporation and Seagate Technology, July 2003, United States, 12 pages
【非特許文献7】 OLSON. Alan Rand Denis J Langlois. Solid State Drives Data Reliability and Lifetime, April 7, 2008, Imation, 27 pages
【非特許文献8】 "Serial ATA II Native Command Queuing Overview", Application Note, April 2003, Order No. 252664−002, Intel Corporation, United States, 21 pages
【非特許文献9】 October 7,2011 List of Art Rejections in Cases Related to Docket No. SAFI P031, 1 page
【発明の概要】
【課題を解決するための手段】
Claims (21)
- 方法であって、
ドライブが、1若しくはそれ以上のコマンドをホスト装置から受信する工程であって、前記ホスト装置と前記ドライブは直接メモリアクセス(DMA)データフェーズを有するストレージプロトコルを介して通信するものであり、前記ドライブは前記ホスト装置による追加のコマンドの送信を阻止することを可能とするものである、前記受信する工程と、
前記ホスト装置に送信する情報をキューに入れる工程と、
ドライブの状態関数として、現在のホストの信号に依存せずに、前記ホスト装置に送信する前記情報にギャップを挿入するかを決定する工程であって、前記ギャップは連続する2つのDMAデータフェーズの各データ間に挿入され、それにより、前記ホスト装置はドライブに追加のコマンドを送信することができるものである、前記決定する工程と、
前記決定する工程の決定に基づいて、ギャップを挿入する、またはギャップを挿入しない工程と、
を有し、
前記ドライブの状態関数は、前記ドライブの現在のキュー長の関数を含むものである
方法。 - 請求項1記載の方法において、前記ホストに送信する情報は、セットアップ情報および前記1若しくはそれ以上のコマンドのうちの少なくとも1つに関連付けられたデータを含むものである方法。
- 請求項2記載の方法において、前記セットアップ情報は、直接メモリアクセス(direct memory access:DMA)フレーム情報構造(frame information structure:FIS)を含むものである方法。
- 請求項2記載の方法において、前記セットアップ情報は、セット・デバイス・ビットFISを含むものである方法。
- 請求項2記載の方法において、時間遅延が、前記セットアップ情報を送信する前に挿入されるものである方法。
- 請求項2記載の方法において、時間遅延が、前記セットアップ情報を送信した後に挿入されるものである方法。
- 請求項1記載の方法において、さらに、
前記ドライブが、時間遅延の間に前記追加のコマンドを前記ホスト装置から受信する工程を有するものである方法。 - 請求項1記載の方法において、前記ギャップを挿入する工程は、前記情報が前記ホスト装置に送信されている間に時間遅延を挿入する工程を含むものである方法。
- 請求項1記載の方法において、前記ギャップは、現在のキュー長がゼロと等しい時には挿入されないものである方法。
- 請求項1記載の方法において、前記ドライブの状態関数は、前のコマンドを受信してからの経過時間の関数を含むものである方法。
- 請求項8記載の方法において、前記時間遅延の時間長は、前記ドライブの現在のキュー長に基づくものである方法。
- 請求項8記載の方法において、前記時間遅延の時間長は、前記ドライブが前のコマンドを受信してからの経過時間に基づくものである方法。
- 請求項1記載の方法において、時間遅延の時間長または前記時間遅延が挿入される時点のうちの少なくとも1つは、リアルタイムで決定されるものである方法。
- 請求項1記載の方法において、時間遅延の時間長または前記時間遅延が挿入される時点のうちの少なくとも1つは、所定値である方法。
- 請求項1記載の方法において、前記ホストに送信する前記情報はセットアップ情報を含み、このセットアップ情報は時間遅延が当該セットアップ情報に後続することを示す追加の情報を含むものである方法。
- 請求項1記載の方法において、ホストに送信する前記情報はステータス情報を含み、時間遅延が当該ステータス情報を送信する前に挿入されるものである方法。
- 請求項1記載の方法において、前記ギャップを挿入する工程は、追加情報を挿入する工程を含むものである方法。
- 請求項1記載の方法において、前記ホスト装置は、前記ギャップに先立って前記ギャップについて通知されるものである方法。
- 請求項1記載の方法において、前記ドライブはシリアルATA(Serial ATA:SATA)ドライブを含むものである方法。
- コンピュータ可読媒体に組み込まれたコンピュータプログラム製品であって、
ドライブが、1若しくはそれ以上のコマンドをホスト装置から受信するコンピュータコードであって、前記ホスト装置と前記ドライブがDMAデータフェーズを有するストレージプロトコルを介して通信するものであり、前記ドライブは前記ホスト装置による追加のコマンドの送信を阻止することができるものである、前記受信するコンピュータコードと、
前記ホスト装置に送る情報をキュー(待ち行列)に入れるコンピュータコードと、
ドライブの現在のキュー長の関数として、現在のホストの信号に依存せずに、前記ホスト装置に送信する前記情報にギャップを挿入するかを決定するコンピュータコードであって、前記ギャップは連続する2つのDMAデータフェーズの各データ間に挿入され、それにより、前記ホスト装置はドライブに追加のコマンドを送信することができるものである、前記決定するコンピュータコードと、
前記決定される条件に基づいて、ギャップを挿入する、またはギャップを挿入しないコンピュータコードと
を有するコンピュータプログラム製品。 - 1若しくはそれ以上のコマンドをホスト装置から受信することができるものであるドライブであって、前記ホスト装置と前記ドライブはDMAデータフェーズを有するストレージプロトコルを介して通信することができるものであり、前記ドライブは前記ホスト装置による追加のコマンドの送信を阻止することができるものである、前記ドライブと、
前記ホスト装置に送る情報をキュー(待ち行列)に入れることができるものであるバッファーと、
前記バッファーの現在のキュー長の関数として、現在のホストの信号に依存せずに、前記ホスト装置に送信する前記情報にギャップを挿入するかを決定することができるものであるコントローラであって、前記ギャップは連続する2つのDMAデータフェーズの各データ間に挿入され、それにより、前記ホスト装置はドライブに追加のコマンドを送信することができるものであり、前記コントローラは、さらに、前記決定される条件に基づいて、ギャップを挿入する、またはギャップを挿入しないことができるものであるコントローラと
を有する装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/505,333 | 2009-07-17 | ||
US12/505,333 US8140712B2 (en) | 2009-07-17 | 2009-07-17 | System, method, and computer program product for inserting a gap in information sent from a drive to a host device |
PCT/US2010/042147 WO2011008963A2 (en) | 2009-07-17 | 2010-07-15 | Inserting a gap in information sent from a drive to a host device |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012533800A JP2012533800A (ja) | 2012-12-27 |
JP2012533800A5 true JP2012533800A5 (ja) | 2013-08-29 |
JP5658250B2 JP5658250B2 (ja) | 2015-01-21 |
Family
ID=43450212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012520784A Expired - Fee Related JP5658250B2 (ja) | 2009-07-17 | 2010-07-15 | ドライブからホスト装置に送信される情報にギャップを挿入する方法 |
Country Status (7)
Country | Link |
---|---|
US (4) | US8140712B2 (ja) |
EP (1) | EP2454671A4 (ja) |
JP (1) | JP5658250B2 (ja) |
KR (1) | KR101281480B1 (ja) |
CN (1) | CN102713873B (ja) |
TW (2) | TWI447586B (ja) |
WO (1) | WO2011008963A2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110004718A1 (en) | 2009-07-02 | 2011-01-06 | Ross John Stenfort | System, method, and computer program product for ordering a plurality of write commands associated with a storage device |
US8140712B2 (en) | 2009-07-17 | 2012-03-20 | Sandforce, Inc. | System, method, and computer program product for inserting a gap in information sent from a drive to a host device |
US8516166B2 (en) | 2009-07-20 | 2013-08-20 | Lsi Corporation | System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory |
KR102238650B1 (ko) | 2014-04-30 | 2021-04-09 | 삼성전자주식회사 | 저장 장치, 상기 저장 장치를 포함하는 컴퓨팅 시스템 및 상기 저장 장치의 동작 방법 |
US9817777B2 (en) * | 2015-03-31 | 2017-11-14 | Toshiba Memory Corporation | Multi-operating state serial ATA devices and methods of operation therefor |
US11568073B2 (en) | 2016-12-02 | 2023-01-31 | Nutanix, Inc. | Handling permissions for virtualized file servers |
Family Cites Families (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03250499A (ja) | 1990-02-27 | 1991-11-08 | Nec Corp | データ記憶回路 |
GB2251324B (en) | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5485595A (en) | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
JPH08124393A (ja) | 1994-10-20 | 1996-05-17 | Fujitsu Ltd | データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置 |
US5568423A (en) | 1995-04-14 | 1996-10-22 | Unisys Corporation | Flash memory wear leveling system providing immediate direct access to microprocessor |
US5805809A (en) | 1995-04-26 | 1998-09-08 | Shiva Corporation | Installable performance accelerator for maintaining a local cache storing data residing on a server computer |
US5621687A (en) | 1995-05-31 | 1997-04-15 | Intel Corporation | Programmable erasure and programming time for a flash memory |
US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US5835935A (en) | 1995-09-13 | 1998-11-10 | Lexar Media, Inc. | Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory |
US5956473A (en) | 1996-11-25 | 1999-09-21 | Macronix International Co., Ltd. | Method and system for managing a flash memory mass storage system |
US5963970A (en) | 1996-12-20 | 1999-10-05 | Intel Corporation | Method and apparatus for tracking erase cycles utilizing active and inactive wear bar blocks having first and second count fields |
US6085248A (en) * | 1997-02-11 | 2000-07-04 | Xaqtu Corporation | Media access control transmitter and parallel network management system |
US6000006A (en) | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
JP3898305B2 (ja) | 1997-10-31 | 2007-03-28 | 富士通株式会社 | 半導体記憶装置、半導体記憶装置の制御装置及び制御方法 |
US5924120A (en) * | 1998-02-03 | 1999-07-13 | Digital Equipment Corporation | Method and apparatus for maximizing utilization of an internal processor bus in the context of external transactions running at speeds fractionally greater than internal transaction times |
EP1027653B1 (de) | 1998-09-04 | 2004-09-15 | Hyperstone AG | Zugriffssteuerung eines speichers beschränkter löschhäufigkeit |
FR2787601A1 (fr) | 1998-12-22 | 2000-06-23 | Gemplus Card Int | Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti-usure d'une memoire |
US6301639B1 (en) * | 1999-07-26 | 2001-10-09 | International Business Machines Corporation | Method and system for ordering priority commands on a commodity disk drive |
US7628622B2 (en) | 1999-08-04 | 2009-12-08 | Super Talent Electronics, Inc. | Multi-level cell (MLC) slide flash memory |
US6405295B1 (en) | 1999-09-07 | 2002-06-11 | Oki Electric Industry, Co., Ltd. | Data storage apparatus for efficient utilization of limited cycle memory material |
JP2001100935A (ja) * | 1999-09-28 | 2001-04-13 | Internatl Business Mach Corp <Ibm> | ディスク装置およびその制御方法 |
US6928494B1 (en) * | 2000-03-29 | 2005-08-09 | Intel Corporation | Method and apparatus for timing-dependant transfers using FIFOs |
US6600614B2 (en) | 2000-09-28 | 2003-07-29 | Seagate Technology Llc | Critical event log for a disc drive |
US6732221B2 (en) | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
EP1280063A3 (en) | 2001-07-27 | 2005-03-30 | Fujitsu Limited | Cache control methods and apparatus for hard disk drives |
US6948026B2 (en) | 2001-08-24 | 2005-09-20 | Micron Technology, Inc. | Erase block management |
US20030058681A1 (en) | 2001-09-27 | 2003-03-27 | Intel Corporation | Mechanism for efficient wearout counters in destructive readout memory |
US7000063B2 (en) | 2001-10-05 | 2006-02-14 | Matrix Semiconductor, Inc. | Write-many memory device and method for limiting a number of writes to the write-many memory device |
US7130933B2 (en) * | 2002-07-24 | 2006-10-31 | Intel Corporation | Method, system, and program for handling input/output commands |
KR101174308B1 (ko) | 2002-10-28 | 2012-08-16 | 쌘디스크 코포레이션 | 비휘발성 저장 시스템들에서 자동 웨어 레벨링 |
US6831865B2 (en) | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
US7035967B2 (en) | 2002-10-28 | 2006-04-25 | Sandisk Corporation | Maintaining an average erase count in a non-volatile storage system |
US7096313B1 (en) | 2002-10-28 | 2006-08-22 | Sandisk Corporation | Tracking the least frequently erased blocks in non-volatile memory systems |
US7103732B1 (en) | 2002-10-28 | 2006-09-05 | Sandisk Corporation | Method and apparatus for managing an erase count block |
US6973531B1 (en) | 2002-10-28 | 2005-12-06 | Sandisk Corporation | Tracking the most frequently erased blocks in non-volatile memory systems |
US6985992B1 (en) | 2002-10-28 | 2006-01-10 | Sandisk Corporation | Wear-leveling in non-volatile storage systems |
TW555100U (en) | 2002-11-27 | 2003-09-21 | Power Quotient Int Co Ltd | High speed of data transfer of solid state disk on module |
JP4550439B2 (ja) * | 2003-02-28 | 2010-09-22 | 東芝メモリシステムズ株式会社 | Ecc制御装置 |
US6925523B2 (en) | 2003-03-03 | 2005-08-02 | Agilent Technologies, Inc. | Managing monotonically increasing counter values to minimize impact on non-volatile storage |
JP4460867B2 (ja) * | 2003-09-26 | 2010-05-12 | 東芝ストレージデバイス株式会社 | インターフェース装置及びパケット転送方法 |
US7032087B1 (en) | 2003-10-28 | 2006-04-18 | Sandisk Corporation | Erase count differential table within a non-volatile memory system |
JP2005215729A (ja) * | 2004-01-27 | 2005-08-11 | Hitachi Global Storage Technologies Netherlands Bv | データ伝送制御方法及び記憶装置 |
US7222214B2 (en) | 2004-03-25 | 2007-05-22 | Lucent Technologies Inc. | Device-level address translation within a programmable non-volatile memory device |
JP2006164012A (ja) * | 2004-12-09 | 2006-06-22 | Hitachi Global Storage Technologies Netherlands Bv | データ記憶装置及びそのパワー・セーブ・モードの制御方法 |
US7318962B2 (en) * | 2005-01-28 | 2008-01-15 | The United States Of America As Represented By The Secretary Of The Navy | Magnetically directed self-assembly of molecular electronic junctions comprising conductively coated ferromagnetic microparticles |
US20060209684A1 (en) | 2005-03-18 | 2006-09-21 | Via Technologies, Inc. | Data rate controller, and method of control thereof |
JP4679943B2 (ja) | 2005-03-23 | 2011-05-11 | ヒタチグローバルストレージテクノロジーズネザーランドビーブイ | データ記憶装置及びその不揮発性メモリ内データ書き換え処理方法 |
US7620747B1 (en) | 2005-10-12 | 2009-11-17 | Nvidia Corporation | Software based native command queuing |
US20070260756A1 (en) * | 2006-01-05 | 2007-11-08 | Pao-Ching Tseng | Method for Processing Command via SATA Interface |
US7694026B2 (en) | 2006-03-31 | 2010-04-06 | Intel Corporation | Methods and arrangements to handle non-queued commands for data storage devices |
US7739470B1 (en) * | 2006-10-20 | 2010-06-15 | Emc Corporation | Limit algorithm using queue depth to control application performance |
US7904764B2 (en) | 2006-11-24 | 2011-03-08 | Sandforce, Inc. | Memory lifetime gauging system, method and computer program product |
US7904619B2 (en) | 2006-11-24 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for reducing memory write operations using difference information |
US7747813B2 (en) | 2006-11-24 | 2010-06-29 | Sandforce, Inc. | Multi-memory device system and method for managing a lifetime thereof |
US7809900B2 (en) | 2006-11-24 | 2010-10-05 | Sandforce, Inc. | System, method, and computer program product for delaying an operation that reduces a lifetime of memory |
US7904672B2 (en) | 2006-12-08 | 2011-03-08 | Sandforce, Inc. | System and method for providing data redundancy after reducing memory writes |
US8090980B2 (en) | 2006-12-08 | 2012-01-03 | Sandforce, Inc. | System, method, and computer program product for providing data redundancy in a plurality of storage devices |
US7861139B2 (en) * | 2007-01-26 | 2010-12-28 | Micron Technology, Inc. | Programming management data for NAND memories |
JP2008226040A (ja) * | 2007-03-14 | 2008-09-25 | Hitachi Ltd | 情報処理装置及びコマンド多重度制御方法 |
JP2008250961A (ja) | 2007-03-30 | 2008-10-16 | Nec Corp | 記憶媒体の制御装置、データ記憶装置、データ記憶システム、方法、及び制御プログラム |
KR20080090021A (ko) | 2007-04-03 | 2008-10-08 | 삼성테크윈 주식회사 | 데이터 전송 속도가 다른 인터페이스들을 갖는 데이터 저장모듈 및 이의 데이터 전송방법 |
JP4400650B2 (ja) | 2007-05-23 | 2010-01-20 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
US20080294813A1 (en) | 2007-05-24 | 2008-11-27 | Sergey Anatolievich Gorobets | Managing Housekeeping Operations in Flash Memory |
US7631128B1 (en) * | 2007-06-28 | 2009-12-08 | Emc Corporation | Protocol controller for a data storage system |
US7840751B2 (en) * | 2007-06-29 | 2010-11-23 | Seagate Technology Llc | Command queue management of back watered requests |
US7945727B2 (en) * | 2007-07-27 | 2011-05-17 | Western Digital Technologies, Inc. | Disk drive refreshing zones in segments to sustain target throughput of host commands |
TWI373772B (en) | 2007-10-04 | 2012-10-01 | Phison Electronics Corp | Wear leveling method and controller using the same |
US8209465B2 (en) * | 2007-10-30 | 2012-06-26 | Hagiwara Sys-Com Co., Ltd. | Data writing method |
US20090125645A1 (en) | 2007-11-12 | 2009-05-14 | Gemalto Inc | System and method for supporting multiple tokens having a smart card to control parameters of a flash memory device |
US7849275B2 (en) | 2007-11-19 | 2010-12-07 | Sandforce, Inc. | System, method and a computer program product for writing data to different storage devices based on write frequency |
US7903486B2 (en) | 2007-11-19 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory |
US9183133B2 (en) | 2007-11-28 | 2015-11-10 | Seagate Technology Llc | System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory |
US8453022B2 (en) | 2007-12-05 | 2013-05-28 | Densbits Technologies Ltd. | Apparatus and methods for generating row-specific reading thresholds in flash memory |
US7827320B1 (en) * | 2008-03-28 | 2010-11-02 | Western Digital Technologies, Inc. | Serial ATA device implementing intra-command processing by detecting XRDY primitive while in the XRDY state |
US7970978B2 (en) | 2008-05-27 | 2011-06-28 | Initio Corporation | SSD with SATA and USB interfaces |
US20100017588A1 (en) | 2008-07-15 | 2010-01-21 | Radoslav Danilak | System, method, and computer program product for providing an extended capability to a system |
US20100017566A1 (en) | 2008-07-15 | 2010-01-21 | Radoslav Danilak | System, method, and computer program product for interfacing computing device hardware of a computing device and an operating system utilizing a virtualization layer |
US20100017807A1 (en) | 2008-07-15 | 2010-01-21 | Radoslav Danilak | System, method, and computer program product for transparent communication between a storage device and an application |
US20100017650A1 (en) | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
US8140739B2 (en) | 2008-08-08 | 2012-03-20 | Imation Corp. | Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) to store files having logical block addresses stored in a write frequency file buffer table |
US20100064093A1 (en) | 2008-09-09 | 2010-03-11 | Radoslav Danilak | System, method, and computer program product for converting data in a binary representation to a non-power of two representation |
US8131921B2 (en) | 2008-09-17 | 2012-03-06 | Intel Corporation | Command suspension in response, at least in part, to detected acceleration and/or orientation change |
JP4399021B1 (ja) | 2008-10-29 | 2010-01-13 | 株式会社東芝 | ディスクアレイ制御装置および記憶装置 |
US8285970B2 (en) | 2008-11-06 | 2012-10-09 | Silicon Motion Inc. | Method for managing a memory apparatus, and associated memory apparatus thereof |
US20100146236A1 (en) | 2008-12-08 | 2010-06-10 | Radoslav Danilak | System, method, and computer program product for rendering at least a portion of data useless in immediate response to a delete command |
US20100250830A1 (en) | 2009-03-27 | 2010-09-30 | Ross John Stenfort | System, method, and computer program product for hardening data stored on a solid state disk |
US8090905B2 (en) | 2009-03-27 | 2012-01-03 | Sandforce, Inc. | System, method, and computer program product for converting logical block address de-allocation information in a first format to a second format |
US8230159B2 (en) | 2009-03-27 | 2012-07-24 | Lsi Corporation | System, method, and computer program product for sending logical block address de-allocation status information |
US8291131B2 (en) | 2009-07-06 | 2012-10-16 | Micron Technology, Inc. | Data transfer management |
US8140712B2 (en) | 2009-07-17 | 2012-03-20 | Sandforce, Inc. | System, method, and computer program product for inserting a gap in information sent from a drive to a host device |
US8516166B2 (en) | 2009-07-20 | 2013-08-20 | Lsi Corporation | System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory |
US20110022765A1 (en) | 2009-07-23 | 2011-01-27 | Ross John Stenfort | System, method, and computer program product for maintaining a direct connection between an initiator and a drive |
US20110041039A1 (en) | 2009-08-11 | 2011-02-17 | Eliyahou Harari | Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device |
US20110041005A1 (en) | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System |
US8108737B2 (en) | 2009-10-05 | 2012-01-31 | Sandforce, Inc. | System, method, and computer program product for sending failure information from a serial ATA (SATA) solid state drive (SSD) to a host device |
-
2009
- 2009-07-17 US US12/505,333 patent/US8140712B2/en not_active Expired - Fee Related
-
2010
- 2010-07-15 WO PCT/US2010/042147 patent/WO2011008963A2/en active Application Filing
- 2010-07-15 CN CN201080040461.1A patent/CN102713873B/zh active Active
- 2010-07-15 EP EP10800548.9A patent/EP2454671A4/en not_active Withdrawn
- 2010-07-15 JP JP2012520784A patent/JP5658250B2/ja not_active Expired - Fee Related
- 2010-07-15 KR KR1020127004286A patent/KR101281480B1/ko not_active IP Right Cessation
- 2010-07-16 TW TW099123548A patent/TWI447586B/zh not_active IP Right Cessation
- 2010-07-16 TW TW103121460A patent/TWI467386B/zh not_active IP Right Cessation
-
2012
- 2012-03-19 US US13/423,808 patent/US8423680B2/en active Active
-
2013
- 2013-04-07 US US13/858,064 patent/US8615609B2/en active Active
- 2013-12-12 US US14/104,468 patent/US9330033B2/en active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110119248B (zh) | 数据读写命令的控制方法、存储设备和系统 | |
JP2012533800A5 (ja) | ||
US7162550B2 (en) | Method, system, and program for managing requests to an Input/Output device | |
CN107203337B (zh) | 用户可配置的被动后台操作 | |
JP4395111B2 (ja) | データ・ペイロードを第1のセクタ・フォーマットから第2のセクタ・フォーマットに変換するための装置及び方法 | |
KR101209918B1 (ko) | 반도체 저장 장치를 위한 프로그램 가능한 인터페이스를 가지는 raid 컨트롤러 | |
US10067685B2 (en) | Identifying disk drives and processing data access requests | |
US9910800B1 (en) | Utilizing remote direct memory access (‘RDMA’) for communication between controllers in a storage array | |
KR101134069B1 (ko) | 멀티 레벨 raid 구조를 위한 하이브리드 저장 시스템 | |
US20160034188A1 (en) | Input/output interceptor with intelligent flush control logic | |
JP2011023016A5 (ja) | ||
TW201243605A (en) | Selective enablement of operating modes or features via host transfer rate detection | |
KR101200998B1 (ko) | 멀티 pci 버스 스위칭을 갖는 하이브리드 raid 컨트롤러 | |
US8924610B1 (en) | SAS/SATA store-and-forward buffering for serial-attached-SCSI (SAS) storage network | |
JP2012532397A5 (ja) | ||
CN105404596A (zh) | 一种数据传输方法、装置及系统 | |
JP5658250B2 (ja) | ドライブからホスト装置に送信される情報にギャップを挿入する方法 | |
KR101196878B1 (ko) | 하이브리드 raid 컨트롤러 | |
JP6088837B2 (ja) | ストレージ制御装置、ストレージ制御方法、ストレージシステムおよびプログラム | |
CN101997861B (zh) | 一种数据存储方法和设备 | |
KR101200997B1 (ko) | 멀티 pci 버스 스위칭을 갖는 raid 컨트롤러 | |
US20030172203A1 (en) | Automated transfer of a data unit comprising a plurality of fundamental data units between a host device and a storage medium | |
KR20130021339A (ko) | 반도체 저장 장치를 위한 네트워크 사용 가능 raid 컨트롤러 | |
US10133513B1 (en) | Cache management system and method | |
US20200125435A1 (en) | Data storage device with deadlock recovery capabilities |