TW201626232A - 用於降低在主機與儲存裝置之間的潛時之設備及方法 - Google Patents
用於降低在主機與儲存裝置之間的潛時之設備及方法 Download PDFInfo
- Publication number
- TW201626232A TW201626232A TW104133713A TW104133713A TW201626232A TW 201626232 A TW201626232 A TW 201626232A TW 104133713 A TW104133713 A TW 104133713A TW 104133713 A TW104133713 A TW 104133713A TW 201626232 A TW201626232 A TW 201626232A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- host
- storage device
- logical
- physical address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本發明描述一種系統,其包含:一儲存裝置;一匯流排;及包括一主機記憶體及一驅動器模組之一主機設備,其中該主機設備經由該匯流排耦接至該儲存裝置,其中該驅動器模組可操作以:自該主機記憶體擷取一邏輯對實體位址映射;及經由該匯流排將該邏輯對實體位址映射與一讀取或寫入操作請求一起提供至該儲存裝置。描述一種方法,其包含:自一主機記憶體擷取一邏輯對實體位址映射;及經由一匯流排將該邏輯對實體位址映射與一讀取或寫入操作請求一起提供至一儲存裝置之方法。描述一種機器可讀儲存媒體,其具有儲存於其上之指令,當該等指令經執行時,使一機器執行上述方法。
Description
本發明係有關於用於降低在主機與儲存裝置之間的潛時之設備及方法。
當儲存裝置使用統一主機記憶體(UHM)(亦被稱作主機系統中之主機記憶體)儲存其邏輯對實體映射表時,儲存裝置必須針對每一請求(亦即,讀取或寫入請求)提取及/或更新來自UHM之資料。提取及/或更新UHM與儲存裝置之間的資料之此處理程序經由耦接儲存裝置與主機系統之匯流排產生諸多額外異動(例如,資料傳送)。匯流排上之此類額外異動將潛時添加至整個系統,且因此降低系統之效能。
依據本發明之一實施例,係特地提出一種系統,該系統包含:一儲存裝置;一匯流排;以及一主機設備,其包括一主機記憶體及一驅動器模組,其中該主機設備係經由該匯流排耦接至該儲存裝置,其中該驅動器模組係可
操作以:擷取來自該主機記憶體之一邏輯對實體位址映射;以及經由該匯流排將該邏輯對實體位址映射連同一讀取或寫入操作請求一起提供至該儲存裝置。
100、200、600‧‧‧系統
101‧‧‧儲存裝置/固態碟機(SSD)
102‧‧‧主機
103、111‧‧‧I/O介面
104‧‧‧記憶體控制器
105‧‧‧頻道
107‧‧‧主機處理器
108‧‧‧處理器
109‧‧‧驅動器模組
110‧‧‧動態隨機存取記憶體(DRAM)
110a‧‧‧用於裝置之主機記憶體
112‧‧‧介面
113‧‧‧互連件/匯流排
202、203、204、602‧‧‧訊息
205‧‧‧點線/虛線
300‧‧‧DWORD
400、420、430、500‧‧‧表
401‧‧‧位元組
606、607‧‧‧虛線/訊息異動
700、800‧‧‧流程圖/處理程序
701、702、703、704、705、801、802、803、804、805、806‧‧‧區塊
1600‧‧‧計算裝置
1610‧‧‧第一處理器
1620‧‧‧音訊子系統
1630‧‧‧顯示子系統
1632‧‧‧顯示介面
1640‧‧‧I/O控制器
1650‧‧‧電力管理
1660‧‧‧記憶體子系統
1670‧‧‧連接性
1672‧‧‧蜂巢式連接性
1674‧‧‧無線連接性
1680‧‧‧周邊連接
1682‧‧‧「至」
1684‧‧‧「自」
1690‧‧‧第二處理器
將自下文給出之詳細描述及自本發明之各種實施例的隨附圖式更完全地理解本發明之實施例,然而,該等實施例不應被視為將本發明限於特定實施例,而僅用於解釋及理解之目的。
圖1說明根據本發明之一些實施例的具有用於改良主機與儲存裝置之間的潛時之主機驅動器模組之系統。
圖2說明根據本發明之一些實施例的藉由主機與儲存裝置之間的降低潛時執行讀取操作之系統。
圖3說明如高速非依電性記憶體(NVMe)規範中所定義之Dword。
圖4A至圖4C一同說明根據本發明之一些實施例的使用用於具有實體位址之NVMe命令之較大命令大小的表。
圖5說明根據本發明之一些實施例的展示較大命令完成指示符連同用於實體位址更新之欄位的表。
圖6說明根據本發明之一些實施例的藉由主機與儲存裝置之間的降低潛時執行寫入操作之系統。
圖7說明根據本發明之一些實施例的用於自儲存裝置讀取以使得降低主機與儲存裝置之間的潛時之方法之流程圖。
圖8說明根據本發明之一些實施例的用於寫入至儲存裝置以使得降低主機與儲存裝置之間的潛時之方法之流程圖。
圖9說明根據一些實施例的具有用於降低主機與儲存裝置之間的潛時之設備及/或機器可讀指令之智慧型裝置或電腦系統或SoC(系統晶片)。
在一些實施例中,當主機驅動器能夠存取駐留於主機中之統一記憶體(或UHM)時,主機驅動器意識到儲存於UHM中之儲存裝置之邏輯對實體位址映射且可在請求後將彼映射資訊傳遞至儲存裝置,其中儲存裝置經由匯流排耦接至主機。由於匯流排上之儲存裝置與主機之間的異動之數目減少,因而儲存裝置與主機之間的讀取及寫入操作之潛時降低。此處,術語「主機驅動器」一般指藉由在主機上執行之作業系統為可存取之軟體(例如,裝置驅動器)或硬體模組,其中主機驅動器允許主機與外部裝置(例如,儲存裝置)通訊。主機驅動器亦可指為在主機上執行之作業系統之部分的軟體模組(例如,裝置驅動器)。
在以下描述中,論述眾多細節以提供對本發明之實施例之更透徹解釋。然而,熟習此項技術者將顯而易見,可在無此等特定細節之情況下實踐本發明之實施例。在其他情況下,以方塊圖形式而非詳細展示熟知結構及裝置以便避免混淆本發明之實施例。
應注意,在實施例之對應圖式中,用線來表示信號。一些線可能較粗,以指示更多組成信號路徑,及/或在一或多個末端處具有箭頭,以指示主要資訊流動方向。此等指示並不意欲為限制性的。確切而言,結合一或多個例示性實施例使用該等線,以促進對電路或邏輯單元之更容易理解。如由設計需求或偏好指示之任何所表示的信號實際上可包含可在任一方向上行進且可藉由任何合適類型之信號方案實施之一或多個信號。
貫穿本說明書,且在申請專利範圍中,術語「已連接」意謂已連接之事物之間的直接電氣或無線連接,而無任何中間裝置。術語「耦接」意謂已連接之事物之間的直接電氣或無線連接或經由一或多個被動式或主動式中間裝置進行之間接連接。術語「電路」意謂經組配以彼此合作以提供所要功能之一或多個被動及/或主動組件。術語「信號」意謂至少一電流信號、電壓信號或資料/時脈信號。「一」及「該」之含義包括多個參考物。「在......中」之含義包括「在......中」及「在......上」。
術語「實質上」、「接近」、「大致」、「幾乎」及「大約」一般指在目標值之+/-20%內。除非另外指定,否則使用序數形容詞「第一」、「第二」及「第三」等描述共同物件僅指示正參考類似物件之不同執行個體,且並不意欲暗示如此描述之物件必須處於給定序列,無論在時間上、空間上、等級上抑或以任何其他方式。
圖1說明根據本發明之一些實施例的具有用於改
良主機與儲存裝置之間的潛時之主機驅動器模組之系統100。在一些實施例中,系統100包含具有設備及/或模組以降低儲存裝置101與主機102之間的潛時之儲存裝置101及主機102。此處,術語「主機驅動器模組」一般指藉由在主機102上執行之作業系統為可存取之軟體(例如,裝置驅動器)或硬體模組,其中主機驅動器模組允許主機102與外部裝置(例如,儲存裝置101)通訊。「主機驅動器模組」亦可指為在主機102上執行之作業系統之部分的軟體模組(例如,裝置驅動器)。
在一些實施例中,儲存裝置101為固態碟機(SSD)。在其他實施例中,可使用其他類型之儲存裝置。舉例而言,儲存裝置101可為磁碟機,或磁帶機、依電性記憶體等。為了解釋各種實施例,儲存裝置101假定為SSD。在一些實施例中,SSD 101包括輸入/輸出(I/O)介面103、記憶體控制器104及複數個記憶體晶粒(亦即,記憶體晶粒1至記憶體晶粒N,其中N為整數)。
在一些實施例中,I/O介面103為串列進階附接技術(SATA)介面且互連件113為使SSD 101耦接至主機102之SATA順應性匯流排。在其他實施例中,其他類型之I/O介面可用於I/O介面103。舉例而言,串列附接小型電腦系統介面(SCSI)(或僅SAS)可用於I/O介面103,且互連件113為SAS順應性介面;高速周邊組件互連(PCIe)亦可用於I/O介面103(諸如,由2011年11月29日發佈之PCIe基本3.0規範描述之一者)。
在一些實施例中,記憶體控制器104經由頻道105與記憶體晶粒1至N通訊。在一些實施例中,頻道105為打開NAND快閃介面(ONFI)規範順應性介面(例如,2014年4月2日發佈之ONFI修訂4.0)。在其他實施例中,其他類型之介面可用於在記憶體控制器104與記憶體晶粒之間通訊。
此處,記憶體晶粒(亦即,記憶體晶粒1至記憶體晶粒N,其中「N」為整數)展示為一個區域中之一群記憶體組。在一些實施例中,記憶體晶粒可分佈於SSD 101中。在一些實施例中,每一記憶體晶粒為非依電性記憶體。舉例而言,每一記憶體晶粒為單一或多臨限值級反及(NAND)快閃記憶體、反或(NOR)快閃記憶體、單一或多階相變記憶體(PCM)、三維交叉點記憶體、電阻式記憶體、奈米線記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)、併有憶阻器技術之磁阻式隨機存取記憶體(MRAM)記憶體或自旋轉移力矩(STT)-MRAM中之一或多者或以上中之任何者之組合等。
為了不混淆實施例,展示SSD 101之簡化版本。熟習此項技術者將瞭解,存在需要用於SSD 101之完整操作的其他邏輯及電路。舉例而言,並未展示編碼器、解碼器、校正子計算器、佇列、輸入輸出緩衝器等。
在一些實施例中,主機102為可耦接至儲存裝置101之任何計算平台。在一些實施例中,主機102包含具有處理器108及驅動器模組(具有電腦可執行指令)109之主機處理器107、具有用於儲存裝置101之主機記憶體110a之動
態隨機存取記憶體(DRAM)110及I/O介面111。雖然主機102之各種組件說明為獨立組件,但其可在單一系統晶片(SoC)中組合在一起。參看圖9描述SoC之一個此實施例。
返回參看圖1,雖然說明關於SSD 101及主機102中之兩個相異組件的圖1之實施例,但在一些實施例中,SSD 101及主機102可作為單一單元封裝在一起。在一些實施例中,SSD 101及主機102使用各種晶粒在彼此上堆疊之三維積體電路(3D IC)技術實施。舉例而言,SSD 101之各種晶粒或組件可實施為堆疊於主機102之晶粒上以形成堆疊晶粒或3D IC之晶粒。
在一些實施例中,處理器108為微處理器(諸如,由因特爾公司(加利福尼亞Santa Clara)設計之微處理器)、數位信號處理器(DSP)、場可程式化閘陣列(FPGA)、特殊應用積體電路(ASIC)或射頻積體電路(RFIC),等等。
在一些實施例中,主機處理器107經由介面112與記憶體110通訊。在一些實施例中,記憶體110為動態隨機存取記憶體(DRAM)110,且介面112為如2012年9月公佈的由電子裝置工程聯合委員會(JEDEC)固態技術協會所定義之雙資料速率順應性介面112。在其他實施例中,可使用其他類型之記憶體。為了解釋各種實施例,將記憶體110假定為DRAM。在一些實施例中,DRAM 110包括用於儲存裝置101之主機記憶體110a。在一些實施例中,主機記憶體110a儲存用於儲存裝置101之邏輯對實體映射表。在與儲存裝置101相關聯之請求(例如,讀取或寫入請求)後,存取此
表。
替代產生直接記憶體存取(DMA)請求以自主機記憶體110a提取資料(亦即,以自邏輯對實體映射表存取資料)之儲存裝置101,在一些實施例中,驅動器模組109(亦被稱作主機驅動器或主機驅動器模組)自主機記憶體110a中之表讀取值及經由I/O介面111將彼等值提供至儲存裝置101作為請求(亦即,讀取或寫入請求)之部分。在一些實施例中,驅動器模組109在讀取或寫入命令或操作完成後更新用於儲存裝置101之主機記憶體110a中之表(亦即,邏輯對實體映射表)。在一個此實施例中,儲存裝置101可將經更新位址與I/O操作(亦即,讀取或寫入操作)之完成傳遞至主機102,且驅動器模組109接著直接更新映射表。
當前,儲存裝置根據每一儲存請求提取及更新統一記憶體中之其邏輯對實體映射表。此類提取及更新操作將潛時添加至讀取及寫入操作。舉例而言,儲存裝置必須發出經由使儲存裝置與主機互連之匯流排之額外通訊資料傳送(或異動)以擷取請求之實體位址。此處所描述之各種實施例消除此等直接提取且更新儲存裝置101與統一記憶體110a之間的異動,且因此整個系統(例如,系統100)之潛時及功率消耗降低。
圖2說明根據本發明之一些實施例的執行導致主機102與儲存裝置101之間的降低潛時之讀取操作之系統200。應指出,圖2中具有與任一其他圖中之元件相同的參考數字(或名稱)之彼等元件可以類似於所描述之方式的任
何方式操作或起作用,但不限於此等情形。
在一些實施例中,當讀取操作由主機102執行時,驅動器模組109自用於儲存裝置101之主機記憶體110a擷取邏輯對實體映射,而非如由點線205所示,儲存裝置101自主機記憶體110a提取邏輯對實體映射。因而,與起始自主機記憶體110a之提取相關聯的儲存裝置101中之硬體可根據一些實施例移除以節省電力及面積。
在一些實施例中,驅動器模組109與儲存裝置101之間的訊息傳遞方案符合高速非依電性記憶體(NVMe)規範。NVMe或非依電性記憶體主機控制器介面規範(NVMHCI)為用於存取經由PCIe匯流排附接之SSD之規範。舉例而言,參見2014年11月3日批准且可供用於在http://nvmexpress.org處下載之高速NVM修訂1.2規範。NVMe之一個應用為高速SATA,該高速SATA為支援SATA或PCIe儲存裝置之回溯相容介面規範。高速SATA可使用舊版進階主機控制器介面(AHCI)或新NVMe順應性介面作為邏輯裝置介面。
在一些實施例中,在自用於儲存裝置101之主機記憶體110a擷取邏輯對實體映射後,驅動器模組109接著發出讀取I/O請求至驅動器模組109且亦如由訊息202所示,發送邏輯對實體映射連同讀取I/O請求。在一些實施例中,儲存裝置101接著自記憶體晶粒(1至N)中之一者擷取資料,且如由訊息203所示將讀取資料返回至主機102。
在一些實施例中,儲存裝置101接著如由訊息204
所示將完成信號發送至主機102(亦即,至驅動器模組109)。系統200展示在一些實施例中,主機驅動器模組109擷取實體位址且將該實體位址連同讀取I/O請求一起供應至儲存裝置101。此節省儲存裝置101經由匯流排113之訊息傳遞資料傳送或異動(因此改進潛時)以存取主機記憶體110a中之實體位址(亦即,移除由虛線205指示之資料傳送)。
在一些實施例中,驅動器模組109及儲存裝置101事先知曉邏輯對實體映射(亦即,知曉主機記憶體110a中的表之內容)。在一些實施例中,當前在NVMe規範中支援之較大NVMe順應性命令大小可用以發送讀取I/O請求(或命令)連同實體位址。
圖3說明如NVMe規範中所定義之32位元DWORD 300(在記憶體中駐留)。舉例而言,參見NVMe規範修訂1.2之18頁章節1.8。在一些實施例中,附加DWORD(DW)用以自儲存裝置及主機裝置102傳遞邏輯/實體位址或將邏輯/實體位址傳遞至儲存裝置101及主機裝置102。DW為32位元之記憶體。每一NVMe命令具有描述發出至NVMe裝置之命令的多個DW。NVMe裝置可容許較大命令大小(因此每I/O可發送更多DW)。在一些實施例中,在較大命令內,新DW可含有實體位址。因而,在一些實施例中,實體位址與I/O命令(例如,參看圖2描述之讀取I/O請求)一起經傳遞。
圖4A至圖4C一起說明根據本發明之一些實施例的使用用於NVMe命令之較大命令大小與實體位址的表
400/420/430。用於NVMe命令之傳統命令大小為24位元組,且由如參考NVMe規範修訂1.2之18頁章節1.8描述之(例如)位元組欄位40:63之位元組欄位定義。在一些實施例中,額外位元組欄位64:127添加至命令大小以傳遞實體位址。舉例而言,在一些實施例中,額外64位元組401經提供用於傳遞實體位址連同讀取或寫入I/O命令。
圖5說明根據本發明之一些實施例的展示較大命令完成指示符連同用於實體位址更新之欄位的表500。用於NVMe命令之傳統命令完成由四個DW(例如,參見NVMe規範修訂1.2之61頁章節14.6)定義。在一些實施例中,額外四個DW可串接至傳統命令完成以提供用於實體位址更新之欄位。
圖6說明根據本發明之一些實施例的執行導致主機102與儲存裝置101之間的降低潛時之寫入操作之系統600。應指出,圖6中具有與任何其他圖中之元件相同的參考數字(或名稱)之彼等元件可以類似於所描述之方式的任何方式操作或起作用,但不限於此等情形。
在一些實施例中,當主機102起始寫入操作請求(亦即,想要寫入至儲存裝置101)時,驅動器模組109自用於儲存裝置101之主機記憶體110a擷取邏輯對實體映射,而非如由點線606所示,儲存裝置101自主機記憶體110a提取邏輯對實體映射。因而,與起始自主機記憶體110a之提取相關聯的儲存裝置101中之硬體可根據一些實施例移除以節省電力及面積。
在一些實施例中,在自用於儲存裝置101之主機記憶體110a擷取邏輯對實體映射後,驅動器模組109接著發出寫入I/O請求至驅動器模組109且亦如由訊息602所示發送邏輯對實體映射連同寫入I/O請求。在一些實施例中,在發送訊息602後,驅動器模組109將用於寫入至記憶體晶粒中之一或多者(1至N)之資料發送至儲存裝置101。
在成功地將資料儲存於記憶體晶粒中後,儲存裝置101將指示寫入操作之完成的信號連同經更新實體位址一起發送至主機102(亦即,至驅動器模組109)。舉例而言,儲存裝置101如參看圖5所描述將諸如訊息傳信中斷之NVMe信號連同完成之命令、命令完成狀態(亦即,相位位元狀態)及經更新實體位址一起發送至主機102。
返回參看圖6,在一些實施例中,驅動器模組109接著更新主機記憶體110中之邏輯對實體映射表(根據所接收經更新實體位址)。此處理程序保存儲存裝置101與主機記憶體110a之間的附加訊息傳遞(至異動)607。此處之實施例節省儲存裝置101與主機102之間的至少兩個通訊資料傳送(如由虛線606及607說明)。此導致與傳統方案相比的系統600之降低之潛時、較低功率消耗及較高效能。
在一些實施例中,驅動器模組109及儲存裝置101事先知曉邏輯對實體映射(亦即,知曉主機記憶體110a中之表之內容)。在一些實施例中,當前在NVMe規範中支援之較大NVMe順應性命令及完成大小可用以發送寫入I/O請求(或命令)連同實體位址,及用以接收信號完成連同經更新實
體位址。在一些實施例中,額外DW(如NVMe規範中所定義)如參看圖4至圖5描述用以將邏輯/實體位址傳遞至儲存裝置101及主機裝置102或自儲存裝置101及主機裝置102傳遞邏輯/實體位址裝置。
返回參看圖6,在傳統方案中,在主機記憶體110a中之邏輯位址已在使用中之情況下且在如由訊息異動206所示將資料寫入至記憶體晶粒中之一或多者後,儲存裝置自主機記憶體110a擷取寫入I/O請求之實體位址。在傳統方案中,儲存裝置亦與主機記憶體110a通訊以使先前實體位址無效且如由訊息異動607所示用資料之新實體位址更新邏輯對實體映射表。藉由消除此等通訊訊息異動(如由訊息異動606及607所示),降低潛時,降低功率消耗,且改良系統600之效能。
圖7說明根據本發明之一些實施例的用於自儲存裝置讀取以使得主機與儲存裝置之間的潛時降低之方法之流程圖700。應指出,圖7中具有與任何其他圖中之元件相同的參考數字(或名稱)之彼等元件可以類似於所描述之方式的任何方式操作或起作用,但不限於此等情形。
儘管參看圖7之流程圖中的區塊係按特定次序展示,但可修改動作之次序。因此,所說明之實施例可以不同次序來執行,且一些動作/區塊可並行地執行。圖7中所列之區塊及/或操作中之一些可根據某些實施例而選用。所呈現之區塊之編號係為清楚起見且並不意欲規定各種區塊必須發生之操作次序。另外,來自各種流程之操作可以多
種組合來利用。
在區塊701處,主機102起始讀取請求(亦即,主機102需要自儲存裝置101讀取資料)。在區塊702處,驅動器模組109自主機記憶體110a中之表擷取邏輯對實體位址映射。在區塊703處,驅動器模組109指導I/O介面111將其自表接收之邏輯對實體位址映射連同讀取I/O請求一起傳輸至儲存裝置101。
在區塊704處,儲存裝置101處理讀取I/O請求,(例如)記憶體控制器104自一或多個記憶體晶粒擷取資料,解碼資料(該資料一般出於錯誤校正之目的而編碼),及經由介面103將資料發送至主機102。在區塊704處,主機102回應於讀取I/O請求自儲存裝置101接收資料。在區塊705處,驅動器模組109自儲存裝置101接收完成讀取操作之指示。根據一些實施例,處理程序700節省了儲存裝置101經由匯流排113至主機記憶體110a中之實體位址的通訊資料傳送或異動(亦即,移除由虛線205指示之資料傳送)(因此改進潛時)。
圖8說明根據本發明之一些實施例的用於寫入至儲存裝置以使得主機與儲存裝置之間的潛時降低之方法之流程圖800。應指出,圖8中具有與任何其他圖中之元件相同的參考數字(或名稱)的彼等元件可以類似於所描述之方式的任何方式操作或起作用,但不限於此等情形。
儘管參看圖8之流程圖中的區塊係按特定次序展示,但可修改動作之次序。因此,所說明之實施例可以不
同次序來執行,且一些動作/區塊可並行地執行。圖8中所列之區塊及/或操作中之一些可根據某些實施例而選用。所呈現之區塊之編號係為清楚起見且並不意欲規定各種區塊必須發生之操作次序。另外,來自各種流程之操作可以多種組合來利用。
在區塊801處,主機102起始寫入請求(亦即,主機102需要將資料寫入至儲存裝置101)。在區塊802處,驅動器模組109自主機記憶體110a中之表擷取邏輯對實體位址映射。在區塊803處,驅動器模組109經由介面111將其擷取之邏輯對實體位址映射連同寫入I/O請求一起發送或傳輸至儲存裝置101。在區塊804處,主機102將待寫入之資料傳輸至儲存裝置101。在一些實施例中,儲存裝置101接收資料且用錯誤校正碼(ECC)編碼資料且接著將彼經編碼資料寫入至一或多個記憶體晶粒1至N。資料編碼可由記憶體控制器104執行。
在區塊805處,在儲存裝置101成功地將資料寫入至一或多個記憶體晶粒1至N後,儲存裝置101將寫入完成指示連同經更新實體位址一起發送至主機102(以更新主機記憶體110a中之表)。在主機102接收到寫入完成指示及與新寫入資料相關聯之經更新實體位址後,在區塊806處,驅動器模組109更新主機記憶體110a中之表中之本端至實體映射位址。
處理程序800保存儲存裝置101與主機102之間的至少兩個通訊資料傳送或異動(如圖6中之虛線606及607所
說明)。此導致與傳統寫入操作方案相比的降低之潛時、較低功率消耗及較高效能。
與經執行以實施本發明標的物之實施例之流程圖700及800相關聯的程式軟體程式碼/指令可實施為驅動器模組109、作業系統或特定應用程式、組件、程式、物件、模組、常式或被稱作「程式軟體程式碼/指令」、「作業系統程式軟體程式碼/指令」、「應用程式軟體程式碼/指令」或簡稱為「軟體」之其他指令序列或指令序列之組織的部分。
在一些實施例中,此等軟體程式碼/指令(亦被稱作機器或電腦可執行指令)儲存於電腦或機器可執行儲存媒體中。電腦或機器可執行儲存媒體為有形機器可讀媒體,該有形機器可讀媒體可用以儲存在由計算裝置執行時使處理器執行如可在針對於揭示之標的物之一或多個隨附申請專利範圍中敍述的方法700及/或800之程式軟體程式碼/指令及資料。
有形機器可讀媒體可包括包括(例如)ROM、依電性RAM、非依電性記憶體及/或快取記憶體及/或如本申請案中所參考之其他有形記憶體的各種有形位置中之可執行軟體程式碼/指令及資料之儲存。此程式軟體程式碼/指令及/或資料之部分可儲存於此等儲存及記憶體裝置中之任一者中。此外,程式軟體程式碼/指令可自包括(例如)經由集中式伺服器或同級間網路及類似者(包括網際網路)之其他儲存器獲得。軟體程式碼/指令及資料之不同部分可在不同時間且在不同通訊會話或在相同通訊會話中獲得。
軟體程式碼/指令及資料可在藉由計算及其他可抽取式磁碟、磁碟儲存媒體、光學儲存媒體(例如,光碟唯讀記憶體(CD ROMS)、數位多功能光碟(DVD)等)以及其他的各別軟體程式或應用程式之執行前全部獲得。軟體程式碼/指令可在經由此類有形通訊鏈路實施電氣、光學、聲學或其他形式之傳播信號(諸如,載波、紅外線信號、數位信號等)時暫時儲存於數位有形通訊鏈路中。
大體而言,有形機器可讀媒體包括任何有形機構,該有形機構以由機器(亦即,計算裝置)可存取之形式提供(亦即,以數位形式儲存及/或傳輸,例如,資料封包)資訊,該資訊可包括於(例如)通訊裝置、計算裝置、網路裝置、個人數位助理、製造工具、行動通訊裝置(無論是否能夠自諸如網際網路之通訊網路下載及執行應用程式及輔助應用程式,例如iPhone®、Blackberry® Droid®或類似者)或包括計算裝置之任何其他裝置中。在一個實施例中,基於處理器之系統呈以下各者形式或包括於以下各者內:PDA、蜂巢式電話、筆記型電腦、平板電腦、遊戲控制台、機上盒、嵌入式系統、TV、個人桌上型電腦等。替代地,傳統通訊應用程式及輔助應用程式可在揭示之標的物之一些實施例中使用。
圖9說明根據一些實施例的具有用於降低在主機與儲存裝置之間的潛時之設備及/或機器可讀指令的智慧型裝置或電腦系統或SoC。應指出,圖9中具有與任一其他圖中之元件相同的參考數字(或名稱)的彼等元件可以類似
於所描述之方式的任何方式操作或起作用,但不限於此等情形。
在此實例中,主機102及儲存裝置101整合於一個系統(如智慧型裝置或電腦系統或SoC)中,以使得主機102包括根據一些實施例的用於降低在主機102與儲存裝置101之間的潛時之設備及/或機器可讀指令。圖9說明可使用平坦表面介面連接器的行動裝置之實施例之方塊圖。在一實施例中,計算裝置1600表示行動計算裝置,諸如,計算平板電腦、行動電話或智慧型電話、具備無線功能之電子閱讀器或其他無線行動裝置。應理解,大體上展示某些組件,且並非將此裝置之所有組件展示於計算裝置1600中。
在一些實施例中,根據論述之一些實施例,計算裝置1600包括具有用於降低第一處理器1610與記憶體子系統1660(亦即,儲存裝置)之間的潛時之設備及/或機器可讀指令109之第一處理器1610(例如,主機處理器107)。本發明之各種實施例亦可包含1670內之網路介面(諸如,無線介面),以使得可將系統實施例併入至(例如)蜂巢式電話或個人數位助理之無線裝置中。
在一些實施例中,第一處理器1610(及/或第二處理器1690)可包括一或多個實體裝置,諸如,微處理器、應用處理器、微控制器、可程式化邏輯裝置或其他處理構件。由處理器1610執行之處理操作包括供應用程式及/或裝置功能執行之操作平台或作業系統的執行。處理操作包括相關於與人類使用者或與其他裝置之輸入/輸出(I/O)之操
作、與電力管理相關之操作及/或與將計算裝置1600連接至另一裝置相關的操作。處理操作亦可包括與音訊I/O及/或顯示I/O相關之操作。
在一實施例中,計算裝置1600包括音訊子系統1620,該音訊子系統表示與對計算裝置提供音訊功能相關聯之硬體(例如,音訊硬體及音訊電路)及軟體(例如,驅動器、編碼解碼器)組件。音訊功能可包括揚聲器及/或頭戴式耳機輸出,以及麥克風輸入。用於此類功能之裝置可整合至計算裝置1600中或連接至計算裝置1600。在一個實施例中,使用者藉由提供由處理器1610接收且處理之音訊命令與計算裝置1600互動。
在一些實施例中,計算系統1600包括顯示子系統1630。顯示子系統1630表示為使用者提供視覺及/或觸感顯示以與計算裝置1600互動之硬體(例如,顯示裝置)及軟體(例如,驅動器)組件。顯示子系統1630包括顯示介面1632,該顯示介面包括用以對使用者提供顯示之特定螢幕或硬體裝置。在一個實施例中,顯示介面1632包括與處理器1610分離以執行與顯示相關之至少一些處理的邏輯。在一個實施例中,顯示子系統1630包括對使用者提供輸出及輸入兩者之觸控式螢幕(或觸控板)裝置。
在一些實施例中,計算裝置1600包括I/O控制器1640。I/O控制器1640表示相關於與使用者之互動的硬體裝置及軟體組件。I/O控制器1640可操作以管理為音訊子系統1620及/或顯示子系統1630之部分之硬體。另外,I/O控制器
1640說明用於連接至使用者可與系統互動所經由之計算裝置1600之額外裝置的連接點。舉例而言,可附接至計算裝置1600之裝置可包括麥克風裝置、揚聲器或立體聲系統、視訊系統或其他顯示裝置、鍵盤或小鍵盤裝置,或用於與諸如卡讀取器之特定應用程式或其他裝置一起使用的其他I/O裝置。
如上所述,I/O控制器1640可與音訊子系統1620及/或顯示子系統1630互動。舉例而言,經由麥克風或其他音訊裝置之輸入可為計算裝置1600之一或多個應用或功能提供輸入或命令。另外,可代替或除顯示輸出之外亦提供音訊輸出。在另一實例中,若顯示子系統1630包括觸控式螢幕,則顯示裝置亦充當可至少部分由I/O控制器1640管理之輸入裝置。亦可存在計算裝置1600上之額外按鈕或開關以提供由I/O控制器1640管理之I/O功能。
在一些實施例中,I/O控制器1640管理諸如加速度計、攝影機、感光器或其他環境感測器或可包括於計算裝置1600中之其他硬體的裝置。輸入可為直接使用者互動以及將環境輸入提供至系統以影響其操作(諸如,對雜訊濾波、針對亮度偵測調節顯示器、將閃光燈應用於攝影機或其他特徵)的部分。
在一實施例中,計算裝置1600包括管理電池電力使用情況、電池之充電及與省電操作相關之特徵的電力管理1650。
在一些實施例中,計算裝置1600包括記憶體子系
統1660(例如,儲存裝置101)。記憶體子系統1660包括用於儲存計算裝置1600中之資訊之記憶體裝置。記憶體可包括非依電性(若至記憶體裝置之電力中斷,則狀態不改變)及/或依電性(若至記憶體裝置之電力中斷,則狀態不確定)記憶體裝置。記憶體子系統1660可儲存應用程式資料、使用者資料、音樂、相片、文件或其他資料,以及與計算裝置1600之應用程式及功能之執行相關的系統資料(不論長期的抑或暫時的)。
實施例之元件亦作為用於儲存電腦可執行指令(例如,實施本文所論述之任何其他處理程序之指令)之機器可讀媒體(例如,記憶體1660)而提供。機器可讀媒體(例如,記憶體1660)可包括(但不限於)快閃記憶體、光碟、CD-ROM、DVD ROM、RAM、EPROM、EEPROM、磁性或光學卡、相變記憶體(PCM),或適於儲存電子或電腦可執行指令之其他類型之機器可讀媒體。舉例而言,本發明之實施例可作為電腦程式(例如,BIOS)下載,可藉由經由通訊鏈路(例如,調制解調器或網路連接)之資料信號將電腦程式自遠端電腦(例如,伺服器)傳送至請求電腦(例如,用戶端)。
在一些實施例中,計算裝置1600包括連接性1670。連接性1670包括硬體裝置(例如,無線及/或有線連接器及通訊硬體)及軟體組件(例如,驅動器、協定堆疊)以使計算裝置1600能夠與外部裝置通訊。計算裝置1600可為獨立裝置,諸如,其他計算裝置、無線存取點或基地台,以
及諸如耳機、印表機或其他裝置之周邊裝置。
在一些實施例中,連接性1670可包括多個不同類型之連接性。為一般化,計算裝置1600用蜂巢式連接性1672及無線連接性1674說明。蜂巢式連接性1672一般指由無線載波提供之蜂巢式網路連接性(諸如,經由GSM(全球行動通訊系統)或變體或衍生物、CDMA(分碼多重存取)或變體或衍生物、TDM(分時多工)或變體或衍生物,或其他蜂巢式服務標準提供)。無線連接性(或無線介面)1674指並非蜂巢式且可包括個人區域網路(諸如,藍芽、近場等)、區域網路(諸如,Wi-Fi)及/或廣域網路(諸如,WiMax)或其他無線通訊之無線連接性。
在一些實施例中,計算裝置1600包括周邊連接1680。周邊連接1680包括硬體介面及連接器,以及軟體組件(例如,驅動程式、協定堆疊)以進行周邊連接。應理解,計算裝置1600可為至其他計算裝置之周邊裝置(「至」1682),以及具有連接至其之周邊裝置(「自」1684)兩者。計算裝置1600通常具有出於諸如管理(例如,下載及/或上載、改變、同步)計算裝置1600上之內容的目的連接至其他計算裝置之「對接」連接器。另外,對接連接器可允許計算裝置1600連接至允許計算裝置1600控制(例如)至視聽或其他系統之內容輸出的某些周邊裝置。
除專有對接連接器或其他專有連接硬體之外,計算裝置1600亦可經由共同或基於標準之連接器進行周邊連接1680。常用類型可包括通用串列匯流排(USB)連接器(其
可包括許多不同硬體介面中之任一者)、包括微型顯示埠(MDP)之顯示埠、高清晰度多媒體介面(HDMI)、Firewire或其他類型。
本說明書中對「一實施例」、「一個實施例」、「一些實施例」或「其他實施例」之參考意謂結合實施例所描述之特定特徵、結構或特性包括於至少一些實施例中,但未必包括於所有實施例中。「一實施例」、「一個實施例」或「一些實施例」之各種出現未必皆指同一實施例。若說明書陳述「可」包括組件、特徵、結構或特性,則並非需要包括彼特定組件、特徵、結構或特性。在本說明書或申請專利範圍提及「一」元件之情況下,並不意謂存在該等元件中之僅一者。在本說明書或申請專利範圍提及「一額外」元件之情況下,並不排除存在一個以上額外元件。
此外,在一或多個實施例中,可以任何合適方式組合特定特徵、結構、功能或特性。舉例而言,可在任何處組合第一實施例與第二實施例,與兩個實施例相關聯之特定特徵、結構、功能或特性並不彼此排他。
雖然結合本發明之特定實施例描述本發明,但一般熟習此項技術者根據前述描述將顯而易見此等實施例之許多替代、修改及變化。舉例而言,例如動態RAM(DRAM)之其他記憶體架構可使用所論述之實施例。本發明之實施例意欲涵蓋屬於所附申請專利範圍之廣泛範疇的所有此等替代、修改及變化。
另外,為簡單地說明及論述起見,且為了不混淆
本發明,所呈現之圖內可能展示或可能未展示至積體電路(IC)晶片及其他組件之熟知電力/接地連接。此外,為了避免混淆本發明,且亦鑒於關於此等方塊圖配置之實施的細節高度取決於供實施本發明之平台(亦即,此等細節應良好地在熟習此項技術者之見識內)的事實,配置可以方塊圖形式展示。在闡述特定細節(例如,電路)以便描述本發明之實例實施例的情況下,熟習此項技術者應顯而易見,可在無此等特定細節之情況下或可在此等特定細節具有變化之情況下實踐本發明。因此,應將描述視為說明性而非限制性的。
以下實例係關於另外實施例。可在一或多個實施例中任何位置使用實例中之細節。本文所描述之設備之所有可選特徵亦可關於方法或處理程序來實施。
舉例而言,提供包含以下各者之系統:一儲存裝置;一匯流排;及包括一主機記憶體及一驅動器模組之一主機設備,其中主機設備經由匯流排耦接至儲存裝置,其中驅動器模組可操作以:自主機記憶體擷取邏輯對實體位址映射;及經由匯流排將邏輯對實體位址映射連同讀取或寫入操作請求一起提供至儲存裝置。在一些實施例中,驅動器模組可操作以自儲存裝置接收新實體位址。在一些實施例中,驅動器模組可操作以:更新主機記憶體中的與新實體位址相關聯之邏輯對實體映射。
在一些實施例中,驅動器模組可操作以回應於自儲存裝置接收到寫入操作完成之信號更新邏輯對實體映
射。在一些實施例中,儲存裝置將其實體至邏輯映射表儲存於主機記憶體中。在一些實施例中,匯流排為PCIe順應性匯流排、SATA順應性匯流排或SCSI順應性匯流排中之一者。在一些實施例中,儲存裝置為以下各者中之一或多者:反及(NAND)快閃記憶體、反或(NOR)快閃記憶體、PCM、三維交叉點記憶體、電阻式記憶體、奈米線記憶體、FeTRAM、併有憶阻器技術之MRAM或STT-MRAM。在一些實施例中,主機記憶體為DRAM。在一些實施例中,主機設備包含經由DDR順應性介面耦接至DRAM之處理器。
在另一實例中,一種機器可讀儲存媒體,其具有儲存於其上之指令,當該等指令經執行時,使得機器執行包含以下各者之方法:自主機記憶體擷取邏輯對實體位址映射;及經由匯流排將邏輯對實體位址映射連同讀取或寫入操作請求一起提供至儲存裝置。在一些實施例中,機器可讀儲存媒體具有儲存於其上之其他指令,當該等指令經執行時,使得機器執行包含自儲存裝置接收新實體位址之另一方法。
在一些實施例中,機器可讀儲存媒體具有儲存於其上之另外指令,當該等指令經執行時,使得機器執行包含更新主機記憶體中的與新實體位址相關聯之邏輯對實體映射之另一方法。在一些實施例中,其中更新邏輯對實體映射係回應於自儲存裝置接收到寫入操作完成之信號。在一些實施例中,匯流排為PCIe順應性匯流排、SATA順應性匯流排或SCSI順應性匯流排中之一者。在一些實施例中,
儲存裝置為以下各者中之一或多者:反及(NAND)快閃記憶體、反或(NOR)快閃記憶體、PCM、三維交叉點記憶體、電阻式記憶體、奈米線記憶體、FeTRAM、併有憶阻器技術之MRAM或STT-MRAM。在一些實施例中,主機記憶體為動態隨機存取記憶體(DRAM)。在一些實施例中,儲存裝置將其實體至邏輯映射表儲存於主機記憶體中。
在另一實例中,提供一種方法,其包含:自主機記憶體擷取邏輯對實體位址映射;及經由匯流排將邏輯對實體位址映射連同讀取或寫入操作請求一起傳輸至儲存裝置。在一些實施例中,該方法包含:自儲存裝置接收新實體位址;及更新主機記憶體中的與新實體位址相關聯之邏輯對實體映射。在一些實施例中,更新邏輯對實體映射係回應於自儲存裝置接收到寫入操作完成之信號。
在另一實例中,提供一種設備:用於自主機記憶體擷取邏輯對實體位址映射之構件;及用於經由匯流排將邏輯對實體位址映射連同讀取或寫入操作請求一起傳輸至儲存裝置之構件。在一些實施例中,設備包含用於自儲存裝置接收新實體位址之構件。在一些實施例中,設備包含用於更新主機記憶體中的與新實體位址相關聯之邏輯對實體映射之構件。在一些實施例中,用於更新邏輯對實體映射之構件係回應於自儲存裝置接收到寫入操作完成之信號。
在一些實施例中,匯流排為PCIe順應性匯流排、SATA順應性匯流排或SCSI順應性匯流排中之一者。在一些
實施例中,儲存裝置為以下各者中之一或多者:反及(NAND)快閃記憶體、反或(NOR)快閃記憶體、PCM、三維交叉點記憶體、電阻式記憶體、奈米線記憶體、FeTRAM、併有憶阻器技術之MRAM或STT-MRAM。在一些實施例中,主機記憶體為動態隨機存取記憶體(DRAM)。在一些實施例中,儲存裝置將其實體至邏輯映射表儲存於主機記憶體中。
提供發明摘要,其將允許讀者確定技術揭示內容之性質及要旨。發明摘要遵從以下理解:其並不用以限制申請專利範圍之範疇或含義。以下申請專利範圍在此併入至實施方式中,其中每一技術方案自身作為單獨實施例。
100‧‧‧系統
101‧‧‧儲存裝置/固態碟機(SSD)
102‧‧‧主機
103、111‧‧‧I/O介面
104‧‧‧記憶體控制器
105‧‧‧頻道
107‧‧‧主機處理器
108‧‧‧處理器
109‧‧‧驅動器模組(指令)
110‧‧‧動態隨機存取記憶體(DRAM)
110a‧‧‧用於裝置之主機記憶體
112‧‧‧介面
113‧‧‧互連件/匯流排
Claims (20)
- 一種系統,其包含:一儲存裝置;一匯流排;以及一主機設備,其包括一主機記憶體及一驅動器模組,其中該主機設備係經由該匯流排耦接至該儲存裝置,其中該驅動器模組係可操作以:擷取來自該主機記憶體之一邏輯對實體位址映射;以及經由該匯流排將該邏輯對實體位址映射連同一讀取或寫入操作請求一起提供至該儲存裝置。
- 如請求項1之系統,其中該驅動器模組係可操作以:接收來自該儲存裝置之一新實體位址。
- 如請求項2之系統,其中該驅動器模組係可操作以:更新該主機記憶體中的與該新實體位址相關聯之一邏輯對實體映射。
- 如請求項3之系統,其中驅動器模組係可操作以回應於自該儲存裝置接收該寫入操作係完成之一信號而更新該邏輯對實體映射。
- 如請求項1之系統,其中該儲存裝置將其實體對邏輯映射表儲存於該主機記憶體中。
- 如請求項1之系統,其中該匯流排為以下各者中之一者:一快速周邊組件互連(PCIe)順應性匯流排; 一串列ATA(SATA)順應性匯流排;或一串列附接小型電腦系統介面(SCSI)順應性匯流排。
- 如請求項1之系統,其中該儲存裝置為以下各者中之一或多者:一反及(NAND)快閃記憶體,一反或(NOR)快閃記憶體,一相變記憶體(PCM),一三維交叉點記憶體,一電阻式記憶體、奈米線記憶體,一鐵電電晶體隨機存取記憶體(FeTRAM),一磁阻式隨機存取記憶體(MRAM)記憶體,其併有憶阻器技術,或一自旋轉移力矩(STT)-MRAM。
- 如請求項1之系統,其中該主機記憶體為一動態隨機存取記憶體(DRAM)。
- 如請求項8之系統,其中該主機設備包含一處理器,其經由一雙資料速率(DDR)順應性介面耦接至該DRAM。
- 一種機器可讀取儲存媒體,其具有指令儲存於其上,當該等指令經執行時致使一機器進行包含以下各者之一方法:擷取來自一主機記憶體之一邏輯對實體位址映射;以及經由一匯流排將該邏輯對實體位址映射連同一讀 取或寫入操作請求一起提供至一儲存裝置。
- 如請求項10之機器可讀取儲存媒體,其具有進一步之指令儲存於其上,當該等指令經執行時致使該機器執行包含以下之另一方法:接收來自該儲存裝置之一新實體位址。
- 如請求項11之機器可讀取儲存媒體,其具有進一步之指令儲存於其上,當該等指令經執行時致使該機器執行包含以下之另一方法:更新該主機記憶體中的與該新實體位址相關聯之一邏輯對實體映射。
- 如請求項12之機器可讀取儲存媒體,其中更新該邏輯對實體映射係回應於自該儲存裝置接收該寫入操作係完成之一信號。
- 如請求項10之機器可讀取儲存媒體,其中該匯流排為以下各者中之一者:一快速周邊組件互連(PCIe)順應性匯流排;一串列ATA(SATA)順應性匯流排;或一串列附接小型電腦系統介面(SCSI)順應性匯流排。
- 如請求項10之機器可讀取儲存媒體,其中該儲存裝置為以下各者中之一或多者:一反及(NAND)快閃記憶體,一反或(NOR)快閃記憶體,一相變記憶體(PCM), 一三維交叉點記憶體,一電阻式記憶體、奈米線記憶體,一鐵電電晶體隨機存取記憶體(FeTRAM),一磁阻式隨機存取記憶體(MRAM)記憶體,其併有憶阻器技術,或一自旋轉移力矩(STT)-MRAM。
- 如請求項10之機器可讀取儲存媒體,其中該主機記憶體為一動態隨機存取記憶體(DRAM)。
- 如請求項10之機器可讀取儲存媒體,其中該儲存裝置將其實體對邏輯映射表儲存於該主機記憶體中。
- 一種方法,其包含:擷取來自一主機記憶體之一邏輯對實體位址映射;以及經由一匯流排將該邏輯對實體位址映射連同一讀取或寫入操作請求一起傳輸至一儲存裝置。
- 如請求項18之方法,其包含:接收來自該儲存裝置之一新實體位址;以及更新該主機記憶體中的與該新實體位址相關聯之一邏輯對實體映射。
- 如請求項19之方法,其中更新該邏輯對實體映射係回應於自該儲存裝置接收該寫入操作係完成之一信號。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/564,035 | 2014-12-08 | ||
US14/564,035 US20160162416A1 (en) | 2014-12-08 | 2014-12-08 | Apparatus and Method for Reducing Latency Between Host and a Storage Device |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201626232A true TW201626232A (zh) | 2016-07-16 |
TWI614604B TWI614604B (zh) | 2018-02-11 |
Family
ID=56094459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104133713A TWI614604B (zh) | 2014-12-08 | 2015-10-14 | 用於降低在主機與儲存裝置之間的潛時之設備及方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160162416A1 (zh) |
KR (1) | KR20170094135A (zh) |
TW (1) | TWI614604B (zh) |
WO (1) | WO2016093977A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9965323B2 (en) * | 2015-03-11 | 2018-05-08 | Western Digital Technologies, Inc. | Task queues |
US10261725B2 (en) | 2015-04-10 | 2019-04-16 | Toshiba Memory Corporation | Storage system capable of invalidating data stored in a storage device thereof |
US10467155B2 (en) * | 2015-10-26 | 2019-11-05 | Micron Technology, Inc. | Command packets for the direct control of non-volatile memory channels within a solid state drive |
US10423568B2 (en) * | 2015-12-21 | 2019-09-24 | Microsemi Solutions (U.S.), Inc. | Apparatus and method for transferring data and commands in a memory management environment |
US10528462B2 (en) | 2016-09-26 | 2020-01-07 | Intel Corporation | Storage device having improved write uniformity stability |
KR20180043451A (ko) | 2016-10-19 | 2018-04-30 | 삼성전자주식회사 | 컴퓨팅 시스템 및 그것의 동작 방법 |
KR102395190B1 (ko) | 2017-07-31 | 2022-05-06 | 삼성전자주식회사 | 호스트와 인터페이스를 수행하는 스토리지 장치, 호스트 및 스토리지 장치의 동작방법 |
US10970226B2 (en) | 2017-10-06 | 2021-04-06 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
US10430117B2 (en) | 2017-10-23 | 2019-10-01 | Micron Technology, Inc. | Host accelerated operations in managed NAND devices |
KR20200104601A (ko) | 2019-02-27 | 2020-09-04 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
KR102456173B1 (ko) * | 2017-10-27 | 2022-10-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102421149B1 (ko) * | 2018-01-02 | 2022-07-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US10564886B2 (en) | 2018-02-20 | 2020-02-18 | Western Digital Technologies, Inc. | Methods and apparatus for controlling flash translation layer recycle from host |
US10747470B2 (en) * | 2018-05-10 | 2020-08-18 | Micron Technology, Inc. | Semiconductor device with pseudo flow through scheme for power savings |
US11573891B2 (en) | 2019-11-25 | 2023-02-07 | SK Hynix Inc. | Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device |
KR102456176B1 (ko) | 2020-05-21 | 2022-10-19 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11755476B2 (en) | 2020-04-13 | 2023-09-12 | SK Hynix Inc. | Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device |
KR102406449B1 (ko) | 2020-06-25 | 2022-06-08 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
KR102435253B1 (ko) | 2020-06-30 | 2022-08-24 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR102495910B1 (ko) | 2020-04-13 | 2023-02-06 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
US11487446B2 (en) * | 2020-12-03 | 2022-11-01 | Western Digital Technologies, Inc. | Overhead reduction in data transfer protocol for NAND memory |
US11922034B2 (en) | 2021-09-02 | 2024-03-05 | Samsung Electronics Co., Ltd. | Dual mode storage device |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4105398B2 (ja) * | 2001-02-28 | 2008-06-25 | 株式会社日立製作所 | 情報処理システム |
US7194568B2 (en) * | 2003-03-21 | 2007-03-20 | Cisco Technology, Inc. | System and method for dynamic mirror-bank addressing |
US7797479B2 (en) * | 2005-06-30 | 2010-09-14 | Intel Corporation | Technique to write to a non-volatile memory |
US7870363B2 (en) * | 2007-12-28 | 2011-01-11 | Intel Corporation | Methods and arrangements to remap non-volatile storage |
US8812816B2 (en) * | 2010-03-23 | 2014-08-19 | Apple Inc. | Garbage collection schemes for index block |
CN102279801B (zh) * | 2010-06-09 | 2014-12-17 | 晨星软件研发(深圳)有限公司 | 存储器共享系统及方法 |
GB2496798B (en) * | 2010-07-27 | 2016-10-12 | Ibm | Logical to physical address mapping in storage systems comprising solid state memory devices |
US8595463B2 (en) * | 2010-09-15 | 2013-11-26 | International Business Machines Corporation | Memory architecture with policy based data storage |
TWI463495B (zh) * | 2010-12-10 | 2014-12-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與儲存裝置 |
US9652376B2 (en) * | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
KR20140113176A (ko) * | 2013-03-15 | 2014-09-24 | 삼성전자주식회사 | 매핑 정보 업데이트 방법 및 이를 이용한 메모리 시스템 |
US9116824B2 (en) * | 2013-03-15 | 2015-08-25 | Sandisk Technologies Inc. | System and method to reduce read latency of a data storage device |
US9858008B2 (en) * | 2014-10-30 | 2018-01-02 | ScaleFlux | Method to reduce flash memory IOs with host maintained address mapping table |
-
2014
- 2014-12-08 US US14/564,035 patent/US20160162416A1/en not_active Abandoned
-
2015
- 2015-10-14 TW TW104133713A patent/TWI614604B/zh active
- 2015-10-30 WO PCT/US2015/058501 patent/WO2016093977A1/en active Application Filing
- 2015-10-30 KR KR1020177012651A patent/KR20170094135A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
US20160162416A1 (en) | 2016-06-09 |
TWI614604B (zh) | 2018-02-11 |
KR20170094135A (ko) | 2017-08-17 |
WO2016093977A1 (en) | 2016-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI614604B (zh) | 用於降低在主機與儲存裝置之間的潛時之設備及方法 | |
US20220350483A1 (en) | Method and apparatus to enable individual non volatile memory express (nvme) input/output (io) queues on differing network addresses of an nvme controller | |
KR102289787B1 (ko) | 메모리 데이터에 기초하여 비교 정보를 결정하기 위한 장치, 시스템 및 방법 | |
CN109313617B (zh) | 负载减少的非易失性存储器接口 | |
JP6983313B2 (ja) | 不揮発性メモリの書込みクレジットの管理 | |
CN110119372B (zh) | 在多列系统中对管芯上终结的选择性控制 | |
TWI541642B (zh) | 在記憶體與主機系統之間交換錯誤校正碼元資料之技術 | |
CN109478177B (zh) | 双数据率命令总线 | |
TWI546672B (zh) | 用於低電力記憶體裝置之通用晶粒實作技術 | |
US9189397B2 (en) | Data storage device including buffer memory | |
TW201723866A (zh) | 具有隱藏更新及外部更新之混合式更新技術 | |
TWI600010B (zh) | 用於進行連續寫入至動態隨機存取記憶體的排組之設備、方法及系統 | |
TW201732597A (zh) | 資料儲存裝置和其操作方法 | |
US10372338B2 (en) | Memory controller and data processing circuit with improved system efficiency | |
TW201040727A (en) | Host controller | |
JP2017528813A (ja) | システムオンチップ用のメモリを拡張するためのシステムおよび方法 | |
EP2499572A2 (en) | Flash memory file system | |
CN108292266B (zh) | 通过存储器范围筛选器和可选择地址平坦化用于可配置存储器映射的SoC结构扩展 | |
US9588882B2 (en) | Non-volatile memory sector rotation | |
US20140331006A1 (en) | Semiconductor memory devices | |
WO2023056687A1 (zh) | 一种固态硬盘及其数据操作方法、装置及电子设备 | |
US11409680B2 (en) | Method of operating audio subsystem for USB module, system-on-chip performing the same and method of operating system-on-chip using the same |