TWI704453B - 具有通訊機制的計算系統及其操作方法 - Google Patents
具有通訊機制的計算系統及其操作方法 Download PDFInfo
- Publication number
- TWI704453B TWI704453B TW105127610A TW105127610A TWI704453B TW I704453 B TWI704453 B TW I704453B TW 105127610 A TW105127610 A TW 105127610A TW 105127610 A TW105127610 A TW 105127610A TW I704453 B TWI704453 B TW I704453B
- Authority
- TW
- Taiwan
- Prior art keywords
- command
- computing system
- host
- address
- command packet
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
- Information Transfer Systems (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一種計算系統包括:主機記憶體,包括驅動器及位址映射圖;主機中央處理單元,所述主機中央處理單元耦合至所述主機記憶體,且被配置成藉由所述驅動器將命令劃分成命令封包、將所述命令封包映射至所述位址映射圖、以及藉由命令位址媒體基於所述位址映射圖而遞送所述命令封包。
Description
本發明的實施例大體而言是有關於一種計算系統,且更具體而言是有關於一種用於通訊的系統。 [相關申請案的交叉參考] 本申請案主張於2015年12月17日提出申請的序列號為62/268,669的美國臨時專利申請案的權利,且所述美國臨時專利申請案的主題併入本文供參考。
現代消費者電子產品及工業電子產品,尤其是例如圖形計算系統、伺服器、電視機、投影儀、蜂巢式電話、可攜式數位助理、及組合裝置等裝置正提供越來越高的功能水準來支援現代生活。現有技術中的研究與開發可採取各種不同的方向。
電子產品中的絕大多數需要資料儲存器。欲被儲存的資料的通訊是最重要的。在提供靈活性以無縫地混合不同類型的儲存裝置及主機裝置的同時,儲存裝置與主機裝置之間的通訊正變得越來越複雜。
因此,在避免基於專屬資訊的交互操作性問題的同時,仍需要一種以健壯且可靠的機制具有通訊機制的計算系統。有鑒於不斷增加的商業競爭壓力、以及不斷增長的消費者期望及市場中逐漸減少的有意義的產品分化的機會,找到該些問題的答案變得越來越關鍵。此外,對於降低成本、提高效率及效能、及應對競爭壓力的需要使得尋找該些問題的答案的關鍵必要性甚至更為緊迫。
長期以來一直尋求對該些問題的解決方法,但先前的開發並未教示或建議任何解決方法,且因此,熟習此項技術者長期以來未能找到該些問題的解決方法。
本發明的實施例提供一種設備,所述設備包括:主機記憶體,包括驅動器及位址映射圖;主機中央處理單元,所述主機中央處理單元耦合至所述主機記憶體,且被配置成藉由所述驅動器將命令劃分成命令封包、將所述命令封包映射至所述位址映射圖、以及藉由命令位址媒體基於所述位址映射圖而遞送所述命令封包。
本發明的實施例提供一種設備,所述設備包括:主機介面,被配置成剖析來自命令位址媒體的命令封包;以及命令區塊,所述命令區塊耦合至所述主機介面,且被配置成自所述命令封包彙編命令。
本發明的實施例提供一種方法,所述方法包括:藉由驅動器將命令劃分成命令封包;將所述命令封包映射至位址映射圖;以及藉由命令位址媒體基於所述位址映射圖而遞送所述命令封包。
本發明的某些實施例具有除上述以外的或代替上述的其他步驟或元件。藉由參照附圖閱讀以下詳細說明,所述步驟或元件將對熟習此項技術者變得顯而易見。
各種實施例提供一種靈活的記憶體介面;在利用例如雙倍資料速率(DDR)等揮發性記憶體介面的同時,保持現有儲存型系統的功能。各種實施例利用命令位址媒體。作為具體實例,命令位址媒體可為用於非揮發性記憶體雙直插記憶體模組(non-volatile memory dual inline memory module,NVM-DIMM)的基於命令及位址(command and address,CA)匯流排的協定,所述基於命令及位址匯流排的協定完全獨立於主機中央處理單元(作為具體實例,中央處理單元(central processing unit,CPU)/平台)、演算法及其實作方式,且可應用至具有任何錯誤糾正碼/擾碼機制的任何系統,以達成廣泛的系統採用。換言之,取代利用資料傳遞媒體,可利用命令位址媒體將命令或命令封包傳遞至基於記憶體通道的NVM-DIMM系統。實施例可提供對主機電腦的資料傳遞媒體的專屬實作方式進行解耦的靈活性,所述專屬實作方式可包括涉及專屬錯誤糾正碼(error correct code,ECC)、擾碼(scrambling)、及拌碼(swizzling)的資料傳遞。
各種實施例能夠在不需要知曉來自主機電腦(或更具體而言來自主機中央處理單元)的保護資訊的細節的條件下,達成操作記憶體通道裝置的靈活性。實施例藉由命令位址媒體而達成裝置命令的處理及傳輸。同時,實施例藉由用於傳遞的資料媒體而使得主機電腦或主機中央處理單元能夠仍利用並發送保護資訊(例如由錯誤糾正碼保護的/經擾碼/經拌碼的資料)。
將足夠詳細地闡述以下實施例以使熟習此項技術者能夠製作並使用本發明。應理解,基於本發明,其他實施例將會顯而易見,且可在不背離本發明實施例的範圍的條件下作出系統改變、過程改變、或機械改變。
在以下說明中,給出諸多具體細節以提供對實施例的透徹理解。然而,顯然,無需該些具體細節即可實踐所述實施例。為了避免使實施例模糊不清,並未詳細揭露某些眾所習知的電路、系統配置及過程步驟。
示出所述系統的實施例的圖式是半圖解性的,且並未按比例繪製,且具體而言,某些尺寸是為展示清晰起見且在圖中被誇大地示出。相似地,儘管為了便於說明,圖式中的視圖通常示出相似的定向,但圖中的此種繪示在大多數情況下是任意的。一般而言,實施例可在任何定向中操作。為了說明方便起見,可將實施例編號為第一實施例、第二實施例等,且所述實施例並非旨在具有任何其他意義或對實施例設置限制。
本文中所提到的用語「模組」可根據使用所述用語的上下文而在本發明實施例中包括軟體、硬體、或其組合。舉例而言,所述軟體可為機器碼、韌體、嵌式碼、及應用軟體。亦舉例而言,所述硬體可為電路系統、處理器、電腦、積體電路、積體電路核心、壓力感測器、慣性感測器(inertial sensor)、微機電系統(microelectromechanical system,MEMS)、被動裝置、或其組合。再者,若在以下的設備請求項(apparatus claims)部分中寫有模組,則所述模組被認為出於設備請求項的目的及範圍而包括硬體電路系統。
現在參照圖1,其中示出在本發明概念實施例中具有通訊機制的計算系統100的方塊圖的實例。所述方塊圖繪示連接至主機電腦102的儲存系統101。
在該實例中,主機電腦102可提供用於計算系統100的計算及介面資源。主機電腦102亦可為計算系統100提供儲存資源或將儲存資源介接至計算系統100。儲存系統101可為計算系統100(或作為具體實例,為主機電腦102)提供儲存容量或擴展的儲存容量。
作為實施例的實例,主機電腦102可藉由特定的記憶體介面(例如揮發性記憶體介面,或作為更具體的實例,藉由雙倍資料速率(Dual data rate,DDR)揮發性記憶體介面)而與儲存系統101進行通訊。出於靈活性,計算系統100可混合並匹配主機電腦102與儲存系統101的各種組合。舉例而言,在計算系統100想要具有更多的用於儲存系統101的持久性記憶體(例如非揮發性記憶體,或作為更具體的實例,固態硬碟(solid state disk,SSD)或快閃記憶體裝置)的同時,主機電腦102可設計成藉由揮發性記憶體(例如前面提及的雙倍資料速率)進行運作。實施例能夠在利用揮發性記憶體介面(例如雙倍資料速率介面的實體層)的同時,使主機電腦102藉由將儲存系統101作為非揮發性記憶體來運作。
出於說明性目的,計算系統100被闡述為將主機電腦102與儲存系統101進行混合並對其進行匹配,儘管應理解,計算系統100的配置可為不同的。舉例而言,主機電腦102可連接至未必用於提供儲存功能的不同類型的系統。亦舉例而言,主機電腦102可利用除儲存介面(例如揮發性記憶體或雙倍資料速率介面)之外的不同的實體層介面。主機電腦102可利用除雙倍資料速率之外的不同的通訊協定。作為實例,主機電腦102可利用例如用於局部區域網路(local area network,LAN)、儲存區域網路(storage area network,SAN)、或都會區域網路(metropolitan area network,MAN)的網路協定介面。主機電腦102亦可利用無線介面以及有線介面。
回到對主機電腦102的說明,可以諸多方式來實作主機電腦102。作為實例,主機電腦102可為伺服器、工作站、路由器、桌上型電腦、行動計算裝置或其組合。主機電腦102可至少包括主機中央處理單元104、及耦合至主機中央處理單元104的主機記憶體106。
主機記憶體106可為主機電腦102提供指令碼或資料儲存器。作為實例,主機記憶體106可包括驅動器108及位址映射圖110。驅動器108可為用於使主機電腦102與儲存系統101交互作用的碼以及用於主機電腦102的其他功能。位址映射圖110可提供可由主機電腦102用於與儲存系統101進行交互作用的系統位址的系統位址資訊。
作為具體實例,主機電腦102可藉由位址映射圖110、利用驅動器108將命令130轉換成命令封包131,如圖1中的虛線所繪示。命令封包131可被發送至儲存系統101。命令130為自主機電腦102發送至儲存系統101的操作指令。命令130的實例包括用於將資料寫入至儲存系統101的寫入命令或自儲存系統101讀取資料的讀取命令。命令130的其他實例包括狀態詢問及清除命令。命令封包131為命令130中欲被發送至儲存系統101的每一命令130的部分。命令封包131可包括基於命令130的格式化。隨後將進一步闡述命令130及命令封包131。
主機中央處理單元104可為主機電腦102提供執行硬體電路系統(execution hardware circuitry)。主機中央處理單元104可自主機記憶體106檢索碼或資料。
出於說明性目的,藉由將主機記憶體106與主機中央處理單元104分離並使主機記憶體106不同於主機中央處理單元104而對計算系統100進行闡述,儘管應理解,可對計算系統100進行不同的配置。舉例而言,主機中央處理單元104可包括主機記憶體106的至少一部分。主機中央處理單元104亦可包括驅動器108的至少一部分。位址映射圖110亦可至少部分地駐存於主機中央處理單元104內。
主機中央處理單元104可包括周邊介面112。周邊介面112可提供往來於主機電腦102的介面功能。作為實例,周邊介面112容許主機電腦102利用儲存系統101。
可以諸多不同的方式藉由硬體電路系統來實作主機中央處理單元104。舉例而言,主機中央處理單元104可為處理器、應用專用積體電路(application specific integrated circuit,ASIC)、嵌式處理器、微處理器、硬體控制邏輯、硬體有限狀態機(finite state machine,FSM)、數位訊號處理器(digital signal processor,DSP)、現場可程式化閘陣列(field programmable gate array,FPGA)、或其組合。
可以諸多不同的方式藉由硬體電路系統來實作周邊介面112。舉例而言,可藉由數位電路、類比電路、或其組合來實作周邊介面112。亦舉例而言,可藉由邏輯閘、電晶體、或其組合來實作周邊介面112。
在此實例中,儲存系統101可包括主機介面114、命令區塊116、控制器118、及記憶體介面120。主機介面114在儲存系統101與主機電腦102之間提供通訊功能(或作為更具體的實例,對周邊介面112提供通訊功能)。主機電腦102與儲存系統101可藉由命令位址媒體122及資料媒體124進行通訊。
命令位址媒體122可提供命令、位址、及控制的通訊。命令位址媒體122可為有線或無線的。命令位址媒體122可以雙向或單向方式運作。命令位址媒體122可以全雙工或單工形式發揮作用。
資料媒體124可提供資料通訊。資料媒體124可為有線或無線的。資料媒體124可以雙向或單向方式運作。資料媒體124可以全雙工或單工形式發揮作用。
可以諸多方式來實作主機介面114。舉例而言,可藉由硬體電路系統(包括數位電路、類比電路、有限狀態機、可程式化邏輯或可程式化電路、處理器核心、處理器、或其組合)來實作主機介面114。
在此實施例中,作為實例,命令區塊116處理來自主機電腦102的命令封包131。命令區塊116亦可與控制器118進行交互作用以處理命令封包131。命令區塊116可更自記憶體介面120檢索資料。
亦舉例而言,控制器118可提供與儲存系統101的介面、提供儲存系統101的操作控制、或其組合。作為具體實例,控制器118可與記憶體介面120交互作用。記憶體介面120提供對周邊記憶體126的存取。在此實例中,控制器118可執行用於對周邊記憶體126進行存取的命令130,周邊記憶體126可為例如固態硬碟或快閃記憶體裝置或硬碟驅動機(hard disk drive,HDD)等非揮發性記憶體。
可以諸多方式來實作控制器118。舉例而言,控制器118可被實作為處理器、處理器核心、應用專用積體電路(ASIC)、嵌式處理器、微處理器、硬體控制邏輯、硬體有限狀態機(FSM)、數位訊號處理器(DSP)、現場可程式閘陣列、或其組合。亦舉例而言,可藉由硬體電路系統(例如數位電路系統或邏輯、類比電路、或其組合)來實作控制器118。
回到對主機介面114的說明,主機介面114可包括命令封包產生器(command packet generator,CPG)128、主機寫入緩衝器132、及主機讀取緩衝器134。命令封包產生器128產生或剖析來自主機電腦102的命令封包131。命令封包產生器128基於在命令位址媒體122上攜帶的資訊而產生或剖析命令封包131,如隨後所進一步闡述。
主機寫入緩衝器132有助於在主機電腦102與儲存系統101之間傳遞資訊。作為實例,主機寫入緩衝器132可自命令位址媒體122、資料媒體124、或其組合接收資訊。在由儲存系統101的其他部分檢索並利用所述資訊之前,主機寫入緩衝器132可用作臨時儲存器。
可以諸多方式來實作主機寫入緩衝器132。舉例而言,主機寫入緩衝器132可被實作為處理器、處理器核心、微處理器、硬體控制邏輯、硬體有限狀態機(FSM)、數位訊號處理器(DSP)、現場可程式化閘陣列、或其組合。亦可藉由記憶體結構(例如隨機存取記憶體(random access memory,RAM))、邏輯暫存器、或其組合來實作主機寫入緩衝器132。作為更具體的實例,可藉由先進先出(first-in-first-out,FIFO)功能、鏈接串列(linked list)、或隊列(queue)來實作主機寫入緩衝器132。
主機讀取緩衝器134有助於在主機電腦102與儲存系統101之間傳遞資訊。作為實例,主機讀取緩衝器134可自命令區塊116、控制器118、記憶體介面120、或其組合接收資訊。主機讀取緩衝器134可將資訊提供至命令位址媒體122、資料媒體124、或其組合。在由主機電腦102檢索並利用所述資訊之前,主機讀取緩衝器134可用作臨時儲存器。
可以諸多方式來實作主機讀取緩衝器134。舉例而言,主機讀取緩衝器134可被實作為處理器、處理器核心、微處理器、硬體控制邏輯、硬體有限狀態機(FSM)、數位訊號處理器(DSP)、現場可程式化閘陣列、或其組合。亦可藉由記憶體結構(例如隨機存取記憶體(RAM)、邏輯暫存器、或其組合)來實作主機讀取緩衝器134。作為更具體的實例,可藉由先進先出(FIFO)功能、鏈接串列、或隊列來實作主機讀取緩衝器134。
回到對命令區塊116的說明,作為實例,命令區塊116可包括命令封包彙編器(command packet assembler,CPA)136、命令隊列138、配置狀態區塊140、記憶體寫入緩衝器142、回應緩衝器144、或其組合。命令封包彙編器136可將命令封包131的序列或子序列累積至命令130中的一者的完整版本。隨後將闡述命令封包彙編器136的更多細節。
可以諸多方式來實作命令區塊116。舉例而言,命令區塊116可被實作為處理器、處理器核心、應用專用積體電路(ASIC)、微處理器、硬體控制邏輯、硬體有限狀態機(FSM)、數位訊號處理器(DSP)、現場可程式化閘陣列、或其組合。亦舉例而言,可藉由硬體電路系統(例如數位電路系統或邏輯、類比電路、或其組合)來實作命令區塊116。
在此實例中,命令隊列138可對命令130的完整版本提供儲存器。來自命令隊列138的命令130可由控制器118執行。控制器118可與記憶體介面120進行交互作用以完成命令130的執行。
亦在此實例中,配置狀態區塊140可提供配置儲存系統101的能力及自儲存系統101檢索狀態資訊141的能力。記憶體寫入緩衝器142有助於在記憶體介面120與主機寫入緩衝器132、控制器118、命令封包彙編器136、命令隊列138、配置狀態區塊140、或其組合之間傳遞資訊。作為實例,在由儲存系統101的其他部分檢索並利用所述資訊之前,記憶體寫入緩衝器142可用作臨時儲存器。
回應緩衝器144有助於在主機讀取緩衝器134與儲存系統101的其他部分之間傳遞資訊。作為實例,回應緩衝器144可自記憶體介面120、配置狀態區塊140、控制器118、或其組合向主機讀取緩衝器134提供資訊。
此實施例可為將資料持久性移動至更靠近主機中央處理單元104(或更一般而言將資料移動至靠近主機中央處理單元104)以用於提高效能、節省電力、或其組合(尤其是在大資料時代)的應用實例。
已發現在利用揮發性記憶體介面(例如雙倍資料速率)時在保持現有儲存系統的功能的同時,實施例提供靈活的記憶體介面。各種實施例利用命令位址媒體122,作為具體實例,用於非揮發性記憶體雙直插記憶體模組(NVM-DIMM)的基於命令及位址(CA)匯流排的協定,所述基於命令及位址匯流排的協定完全獨立於主機中央處理單元104(作為具體實例,中央處理單元(CPU)/平台)、演算法及其實作方式,且可應用至具有任何錯誤糾正碼/擾碼機制的任何系統,以達成廣泛的系統採用。換言之,取代利用資料媒體124,可利用命令位址媒體122來傳遞命令130或命令封包131。實施例可提供對資料媒體124上主機電腦102的專屬實作方式進行去耦的靈活性,所述專屬實作方式可包括涉及專屬錯誤糾正碼(ECC)、擾碼、及拌碼的資料傳遞。
作為此實施例的更具體的實例,計算系統100可利用命令位址媒體122而非資料媒體124來將命令130作為命令封包131自主機電腦102傳送至儲存系統101。命令130的實例(或作為具體實例,命令封包131)可包括固態硬碟命令(例如寫入資料、讀取資料、讀取狀態、配置命令、清除命令、或其組合)。計算系統100或主機電腦102可利用驅動器108來使用系統位址及位址映射圖110中的預先確定的位址空間以藉由命令位址媒體122來傳送命令130(或作為具體實例,命令封包131)。
繼續此實例,計算系統100可利用資料媒體124在主機電腦102與儲存系統101之間傳遞資料。包括錯誤糾正碼編碼、擾碼、拌碼、或其組合在內的與藉由資料媒體124的資料相關聯的其他資訊可被作為資料對待且可儲存於儲存系統101中而不作改變且無需知曉錯誤糾正碼、擾碼器、及拌碼器的細節。主機電腦102可藉由命令位址媒體122傳遞用以儲存此資料的位址資訊,例如周邊記憶體126的記憶體區。
進一步繼續此實例,計算系統100可經由資料媒體124而檢索儲存系統101對命令130的執行情況的狀態資訊141。可自配置狀態區塊140檢索狀態資訊141。
作為更具體的實例,藉由命令位址媒體122的命令130(或作為具體實例,命令封包131)可包括狀態詢問、命令詢問、及配置讀取。亦可經由命令封包產生器128、命令封包彙編器136、或其組合來處理該些類型的命令130。在此實例中,命令封包彙編器136一次處置命令130中的一個命令。一旦由命令封包彙編器136對命令封包131的所有欄位進行了處理,完整的或整個命令130便可被移動至命令隊列138。
再者,命令封包產生器128可剖析來自命令位址媒體122的位址位元。所述位址位元的實例包括庫群組、庫、列、及行資訊。亦作為實例,可由主機電腦102利用位址映射圖110直接存取配置狀態區塊140中的狀態資訊141以進行讀取,位址映射圖110會重新映射系統位址空間。
現在參照圖2,其中示出在實施例中由圖1所示計算系統100利用的用於通訊機制的位址映射圖110的實例的更詳細視圖。如前面所闡述,位址映射圖110使圖1所示的主機電腦102能夠與圖1所示的儲存系統101進行交互作用。
作為具體實例,主機電腦102可經由圖1所示的命令位址媒體122而非圖1所示的資料媒體124、利用圖1所示的驅動器108及位址映射圖110傳送圖1所示的命令130。可由圖1所示的命令封包產生器128、圖1所示的命令封包彙編器136、或其組合對來自命令位址媒體122的命令130進行處理。
作為實例,圖2中繪示的位址映射圖110是用於雙倍資料速率的介面,即使儲存系統101可包括非揮發性記憶體。可將位址映射圖110組織成用於庫群組202或庫群組202中的庫204。作為具體實例,可由位址映射圖110中的4個位元來代表庫群組202且可在自0至F的十六進制位址中繪示庫204。此外,可如在雙倍資料速率位址的實例中一樣在位址映射圖110中提供列位址及行位址。視圖1所示的周邊記憶體126的具體細節而定,列位址可為14個位元至18個位元且行位址可為10個位元,但在其他實施例中可使用其他大小。
在此實例中,位址映射圖110可被劃分成不同的程式區。庫204中的一者可專用於寫入埠206。寫入埠206容許主機電腦102將資料寫入至儲存系統101。庫204中的另一者可專用於讀取埠208。讀取埠208容許主機電腦102自儲存系統101讀取資料。
繼續此實例,庫204中的另一者可專用於狀態讀取埠210。狀態讀取埠210容許主機電腦102針對發送至儲存系統101的命令130讀取圖1所示的狀態資訊141。然而庫204中的再一者可專用於狀態配置讀取或清除212。狀態配置讀取或清除212容許主機電腦102自儲存系統101讀取配置或清除儲存系統101中的配置。
在此實例中,位址映射圖110亦具有多個命令埠214,每一命令埠214具有多重庫204,用於將圖1所示的命令130中的每一者以圖1所示的命令封包131的形式自主機電腦102遞送至儲存系統101。標記為0至5的庫204可共同地代表標記為埠0.0至埠0.5的命令埠0。標記為8至D的庫204可共同地代表標記為埠1.0至埠1.5的命令埠1。
在此實例中,主機電腦102可利用驅動器108來確保使主機電腦102對儲存系統101的每一存取被轉換成位址映射圖110中的恰當的庫204。作為具體實例,命令封包131可映射至位址映射圖110中的恰當的埠以遞送命令130。
下表1繪示命令封包131的實例。標記為「欄位」的欄代表命令封包131中的每一者的一部分的功能。標記為「寬度」的欄代表此特定欄位的位元的數目。標記為「註解」的欄提供對此欄位的簡短功能描述。 表1:命令封包
STREAM_ID可由命令封包彙編器136用以將命令封包131的各子序列彙編成一個整個命令130。CRC為循環冗餘檢查(cyclic redundancy check,CRC)的縮寫,但可對本欄位利用任何錯誤偵測方案或錯誤偵測碼。
現在參照圖3,其中示出在實施例中藉由圖1所示計算系統100利用的通訊機制發出命令130的流程圖的實例。作為此實施例的實例,所述流程圖可包括命令發出302、命令傳輸304、命令提取306、及命令彙編308。
命令發出302準備將命令130自圖1所示的主機電腦102發出。作為實例,主機電腦102(或作為具體實例,主機中央處理單元104)可藉由驅動器108處理命令130。此處理可以適合於圖2所示位址映射圖110的欄位的方式分割或劃分命令130中的每一者。此處理亦可將命令130中的每一者分割或劃分成圖1所示的命令封包131。作為具體實例,驅動器108可指示將命令130中的每一者分解至記憶體存取子序列中或命令封包131中,且將命令封包131映射至位址映射圖110的恰當的埠。流程可接著進行至命令輸出304。
命令輸出304自主機電腦102發送命令130。作為實例,主機電腦102(或作為具體實例,主機中央處理單元104)可將經分割或劃分的命令130(或者換言之命令封包131)發送至儲存系統101。主機電腦102可利用庫204發送命令封包131以藉由命令位址媒體122而非資料媒體124發送圖2所示的恰當的欄位。相似地,儲存系統101藉由命令位址媒體122而非資料媒體124接收命令封包131。
在圖3所示的實例中,正在處理的命令130為寫入命令且在標記為0、4、1、3、5、及2的庫204中示出命令封包131。主機電腦102或主機中央處理單元104可藉由命令位址媒體122發出6條記憶體寫入,每一條用於標記為0至5的庫204的位址映射圖110中的每一命令埠。可預留所述命令埠或預留庫204中的每一者來用於讀取命令或寫入命令。
主機電腦102仍可照常對周邊記憶體126執行直接讀取或直接寫入。流程可進行至命令提取306。直接讀取或直接寫入指的是來自主機中央處理單元104的資料可在不存在錯誤糾正碼解碼/編碼、解擾碼/擾碼、亦不涉及拌碼的條件下自儲存系統101讀取或寫入至儲存系統101。
命令提取306自主機電腦102接收命令封包131。命令提取306亦剖析來自藉由命令位址媒體122所接收的資訊的命令封包131。作為實例,儲存系統101(作為具體實例,主機介面114)可自命令位址媒體122接收命令封包131。作為實施例的實例,圖1所示的命令封包產生器128剖析並提取自命令位址媒體122、圖1所示的主機寫入緩衝器132、或其組合接收的資訊(包括命令封包131)。流程可進行至命令彙編308。
命令彙編308自命令封包131構成整個命令130。作為實例,圖1所示的命令區塊116(或作為具體實例,圖1所示的命令封包彙編器136)基於來自在命令傳輸304中所利用的庫204的庫編號而將命令封包131排成正確的次序。亦可基於命令封包131中的STREAM_ID欄位(示出於表1中)對命令封包131進行排序。
再者,命令彙編308亦可對由命令封包彙編器136彙編的命令封包131中的每一者或命令130執行錯誤偵測。可基於表1中示出的循環冗餘檢查欄位進行錯誤偵測。一旦錯誤偵測通過,經彙編的命令130便可被發送至圖1所示的命令隊列138。
出於說明性目的,自命令發出302一直到命令彙編308的流程圖被示出為線性的單向流程,儘管應理解,流程圖亦可為不同的。舉例而言,可在流程圖中進行並行的活動。當命令彙編308正在處理命令130中的一者時,可由命令提取306對命令130中的另一者並行地進行處理,其中可在儲存系統101中執行命令提取306及命令彙編308二者。此外,在主機電腦102中執行的此實例中,命令130中的再一者可藉由命令傳輸304而被並行地進行處理以及藉由命令發出302而進行並行操作。
用語「並行」指的是與交疊的操作一起執行而不需要等到命令130中的所述一者完成圖3中的整個流程且命令130中的所述一者在圖3中的流程的不同階段中處理另一命令130之前完成。相似地,命令發出302可使用位址映射圖110中的不同的命令埠,甚至在命令傳輸304已完成處理前面的命令130之前亦如此。作為實施例的實例,當命令130中的一者必須在該些命令埠中的任何命令埠可用於下一命令130之前自命令傳輸304完全移除時,可實施一個命令130處理這一限制。
亦舉例而言,流程圖可具有迭代及環路。在命令彙編308中偵測的錯誤的實例中,取代將錯誤版本的命令130發送至命令隊列138,流程可自命令彙編308返回到命令發出302、命令傳輸304、命令提取306、或其組合。
每一CMD_ID代表用以在儲存系統101上操作記憶體裝置的命令。舉例而言,所述命令可為讀取、寫入、狀態詢問、清除、或其組合。所有命令均是預定義的且可被指派唯一的辨識符。
圖4中繪示的流程圖為讀取狀態資訊141的處理的實例。此實例繪示發生於圖1所示儲存系統101內的處理。在此實例中,命令處理可如圖3中所闡述,且為使說明簡潔起見,流程圖的此部分未在本圖中繪出。
在此實例中,流程圖可包括狀態準備402、狀態加載404、冗餘映射406、及狀態返回408。狀態準備402指示正在請求恰當狀態資訊141。表2中示出狀態資訊141的實例。狀態加載404加載用於狀態請求的讀取埠暫存器410。冗餘映射406基於狀態資訊141提供可用於錯誤偵測或錯誤糾正的保護資訊412。保護資訊412亦可包括資料的擾碼及拌碼,所述資料的擾碼及拌碼二者可為專屬的且不輕易為人所知。狀態返回408提供狀態資訊141以及保護資訊412(若有)。保護資訊412通常是專屬的且實施例使得資料能夠以資料形式儲存於儲存系統101中,而不需要知曉錯誤糾正碼、擾碼、拌碼、或其組合的細節。
已發現,實施例使得在不需要知曉通訊機制的來自主機電腦102(或更具體而言,主機中央處理單元104)的保護資訊412的細節的條件下,達成藉由通訊機制進行運作的靈活性。實施例藉由命令位址媒體122達成命令130的處理及傳輸。同時,實施例使得主機電腦102或主機中央處理單元104能夠仍利用保護資訊412並藉由資料媒體124發送保護資訊412。
作為實例,圖1所示的主機電腦102可藉由在圖3所示的命令發出302中發出圖3所示的寫入命令130來請求狀態。圖3所示的命令傳輸340可藉由圖2所示的命令位址媒體122為狀態資訊141遞送命令130(作為更具體的實例,命令封包131)且請求特定狀態資訊141的恰當的辨識符。如在此實例中一般,所述辨識符可為表2中所示的狀態資訊141的欄位中的一者。
儲存系統101可利用圖3中所闡述的流程的至少一部分來處理狀態資訊141的命令130。作為具體實例,對於圖1所示的命令封包131,圖1所示的命令封包產生器128可將來自命令位址媒體122的資訊進行分割或劃分。圖1所示的命令封包彙編器136可對命令封包131進行排序。在完全彙編之後,可自命令封包彙編器136將命令130發送至配置狀態區塊140。
在此實例中,配置狀態區塊140可執行狀態準備402。可將來自命令130的辨識符匹配至如表2所示的狀態資訊141的欄位中的一者。可對與所述辨識符匹配的狀態資訊141進行選擇且儲存系統101可藉由狀態加載404來指示狀態資訊141的此部分。
狀態加載404可將狀態資訊141自狀態準備402加載至讀取埠暫存器410。作為實例,可藉由圖2所示的位址映射圖110及圖2所示的狀態讀取埠210來存取讀取埠暫存器410。亦舉例而言,讀取埠暫存器410可為圖1所示的回應緩衝器144的一部分或處於圖1所示的回應緩衝器144的外部。亦作為實例,讀取埠暫存器410可為圖1所示的主機讀取緩衝器134的一部分或處於圖1所示的主機讀取緩衝器134的外部。流程可自狀態加載404繼續進行至冗餘映射406。
冗餘映射406提供與讀取埠暫存器410中的狀態資訊141相關聯的保護資訊412。冗餘映射406可以多種方式提供保護資訊412。舉例而言,可自根據自儲存系統101發送至主機電腦102的狀態資訊141進行的訓練得到保護資訊412。訓練可基於表2中狀態資訊141的各種欄位是已知的且保護資訊412是未知的。作為具體實例,可藉由圖1所示的命令區塊116、圖1所示的控制器118、或其組合來執行所述訓練。藉由利用所述已知量,能夠計算保護資訊412的內容,保護資訊412可被儲存於查找表(look-up table,LUT)中。保護資訊412可為查找表中的表項,其中狀態資訊141的值可被用作查找表的索引。
可由諸多觸發器引發冗餘映射406的執行。作為實例,當寫入功能指明在狀態資訊141中的欄位被請求的辨識符時,可基於命令130執行冗餘映射406。作為進一步的實例,可基於命令130來執行冗餘映射406以讀取狀態資訊141,如下文所闡述。
主機電腦102可發出命令130以讀取狀態資訊141及相關聯的保護資訊412。作為實例,主機電腦102可在不利用命令發出302或命令傳輸304的條件下執行狀態資訊141的直接讀取。可由主機電腦102藉由在命令位址媒體122上發出讀取埠暫存器410的位址來執行所述直接存取。狀態返回408可操作以使得讀取埠暫存器410可藉由圖1所示的資料媒體124來返回狀態資訊141及相關聯的保護資訊412。
作為具體實例,若命令130為寫入至圖2所示的庫群組202 E Hex的或圖2所示的狀態配置讀取或清除212的「RdStatus」,則將所指明的狀態資訊141移動至讀取埠暫存器410。讀取埠暫存器410中的值用於自查找表檢索保護資訊412。可將狀態資訊141、保護資訊412、或其組合移動至配置狀態區塊140、主機讀取緩衝器134、或其組合以由主機電腦102進行讀取。若命令130寫入至庫群組202 F Hex,則自配置狀態區塊140、主機讀取緩衝器134、或其組合讀出狀態資訊141、保護資訊412、或其組合。若命令130為寫入至庫群組202 E Hex的「ClrStatus」,則可清除狀態資訊141的部分。
現在參照圖5,其中示出在本發明實施例中操作計算系統100的方法的流程圖。方法500包括:在方塊502中藉由驅動器將命令劃分成命令封包;在方塊504中將所述命令封包映射至位址映射圖;以及在方塊506中藉由命令位址媒體基於所述位址映射圖遞送所述命令封包。
作為實例,可藉由圖1所示的主機電腦102(或作為具體實例,藉由圖1所示的主機中央處理單元104)來執行方塊502。亦作為實例,可藉由主機電腦102(或作為具體實例,藉由主機中央處理單元104)來執行方塊504。再舉例而言,可藉由主機電腦102(或作為具體實例,藉由圖1所示的周邊介面112)來執行方塊506。
方塊506亦可更包括存取位址映射圖的庫。方塊506亦可更包括基於所述位址映射圖遞送用於寫入的命令以請求狀態資訊,且方法500更包括發出用於讀取狀態資訊的又一命令。
方法500可更包括剖析來自命令位址媒體的命令封包或自來自命令位址媒體的命令封包彙編命令。方法500可進而更包括進行訓練以計算保護資訊或更包括藉由資料媒體接收保護資訊。
方法500可更包括對命令封包進行排序來彙編命令或不藉由資料媒體接收命令封包,且此種排序可由圖1所示的命令區塊116執行。方法500亦可更包括藉由圖1所示的儲存系統101提供非揮發性儲存。
所得的方法、過程、設備、裝置、產品、及/或系統是直截了當的、具有成本效益的、不複雜的、高度靈活的、準確的、靈敏的、且有效的,且可藉由調整習知的部件來實作,以達成隨時就緒的、高效率的及經濟的製造、應用、及利用。本發明實施例的另一重要態樣在於其有益地支援並服務於降低成本、簡化系統、及提高效能的歷史趨勢。
本發明實施例的該些及其他有益的態樣因此將技術狀態更升級至至少下一水準。儘管已結合具體最佳模式對本發明進行了闡述,但應理解,根據以上說明,諸多替代形式、潤飾、及變化將對熟習此項技術者顯而易見。因此,本發明旨在囊括落入所包括的申請專利範圍的範圍內的所有該些替代形式、潤飾、及變化。本文所提出的或在附圖中所示出的所有內容均欲以說明性及非限制性意義進行解釋。
100‧‧‧計算系統
101‧‧‧儲存系統
102‧‧‧主機電腦
104‧‧‧主機中央處理單元
106‧‧‧主機記憶體
108‧‧‧驅動器
110‧‧‧位址映射圖
112‧‧‧周邊介面
114‧‧‧主機介面
116‧‧‧命令區塊
118‧‧‧控制器
120‧‧‧記憶體介面
122‧‧‧命令位址媒體
124‧‧‧資料媒體
126‧‧‧周邊記憶體
128‧‧‧命令封包產生器
130‧‧‧命令
131‧‧‧命令封包
132‧‧‧主機寫入緩衝器
134‧‧‧主機讀取緩衝器
136‧‧‧命令封包彙編器
138‧‧‧命令隊列
140‧‧‧配置狀態區塊
141‧‧‧狀態資訊
142‧‧‧記憶體寫入緩衝器
144‧‧‧回應緩衝器
202‧‧‧庫群組
204‧‧‧庫
206‧‧‧寫入埠
208‧‧‧讀取埠
210‧‧‧狀態讀取埠
212‧‧‧狀態配置讀取或清除
214‧‧‧命令埠
302‧‧‧命令發出
304‧‧‧命令傳輸
306‧‧‧命令提取
308‧‧‧命令彙編
402‧‧‧狀態準備
404‧‧‧狀態加載
406‧‧‧冗餘映射
408‧‧‧狀態返回
410‧‧‧讀取埠暫存器
412‧‧‧保護資訊
500‧‧‧方法
502、504、506‧‧‧方塊
CMD/CTL、DQ‧‧‧資訊
圖1是在實施例中具有資料通訊機制的計算系統的方塊圖的實例。 圖2是在實施例中由所述計算系統利用的通訊機制的位址映射圖的實例的更詳細視圖。 圖3是在實施例中藉由所述計算系統利用的通訊機制而發出命令的流程圖的實例。 圖4是在實施例中藉由所述計算系統利用的通訊機制而檢索狀態的流程圖的實例。 圖5是在本發明實施例中操作計算系統的方法的流程圖。
100‧‧‧計算系統
101‧‧‧儲存系統
102‧‧‧主機電腦
104‧‧‧主機中央處理單元
106‧‧‧主機記憶體
108‧‧‧驅動器
110‧‧‧位址映射圖
112‧‧‧周邊介面
114‧‧‧主機介面
116‧‧‧命令區塊
118‧‧‧控制器
120‧‧‧記憶體介面
122‧‧‧命令位址媒體
124‧‧‧資料媒體
126‧‧‧周邊記憶體
128‧‧‧命令封包產生器
130‧‧‧命令
131‧‧‧命令封包
132‧‧‧主機寫入緩衝器
134‧‧‧主機讀取緩衝器
136‧‧‧命令封包彙編器
138‧‧‧命令隊列
140‧‧‧配置狀態區塊
141‧‧‧狀態資訊
142‧‧‧記憶體寫入緩衝器
144‧‧‧回應緩衝器
CMD/CTL、DQ‧‧‧資訊
Claims (13)
- 一種計算系統,包括:主機記憶體,包括驅動器及位址映射圖;以及主機中央處理單元,耦合至所述主機記憶體,被配置成:藉由所述驅動器將命令劃分成命令封包,將所述命令封包映射至所述位址映射圖,以及藉由與資料媒體分離的命令位址媒體基於所述位址映射圖而遞送所述命令封包以自所述主機記憶體請求狀態資訊,以及藉由用於非揮發性裝置的揮發性記憶體介面接收所述命令封包。
- 如申請專利範圍第1項所述的計算系統,其中所述主機中央處理單元更被配置成:基於所述位址映射圖而遞送用於寫入的所述命令,以請求所述狀態資訊;以及發出用於讀取所述狀態資訊的又一命令。
- 如申請專利範圍第1項所述的計算系統,其中所述主機中央處理單元更被配置成存取所述位址映射圖的庫(bank)。
- 一種操作計算系統的方法,包括:藉由驅動器將命令劃分成命令封包;將所述命令封包映射至位址映射圖;以及藉由與資料媒體分離的命令位址媒體基於所述位址映射圖遞 送所述命令封包以自主機記憶體請求狀態資訊;以及藉由用於非揮發性裝置的揮發性記憶體介面接收所述命令封包。
- 如申請專利範圍第4項所述的操作計算系統的方法,更包括剖析來自所述命令位址媒體的所述命令封包。
- 如申請專利範圍第4項所述的操作計算系統的方法,更包括自來自所述命令位址媒體的所述命令封包彙編所述命令。
- 如申請專利範圍第4項所述的操作計算系統的方法,更包括進行訓練以計算保護資訊。
- 如申請專利範圍第4項所述的操作計算系統的方法,更包括藉由資料媒體接收保護資訊。
- 如申請專利範圍第4項所述的操作計算系統的方法,其中:遞送所述命令封包包括基於所述位址映射圖而遞送用於寫入的所述命令以請求所述狀態資訊;且更包括:發出用於讀取所述狀態資訊的又一命令。
- 如申請專利範圍第4項所述的操作計算系統的方法,其中遞送所述命令封包包括存取所述位址映射圖的庫(bank)。
- 如申請專利範圍第4項所述的操作計算系統的方法,更包括排序所述命令封包來彙編所述命令。
- 如申請專利範圍第4項所述的操作計算系統的方法,更包括不藉由資料媒體接收所述命令封包。
- 如申請專利範圍第4項所述的操作計算系統的方法,更包括提供非揮發性儲存器。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562268669P | 2015-12-17 | 2015-12-17 | |
US62/268,669 | 2015-12-17 | ||
US15/049,879 | 2016-02-22 | ||
US15/049,879 US10437483B2 (en) | 2015-12-17 | 2016-02-22 | Computing system with communication mechanism and method of operation thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201729103A TW201729103A (zh) | 2017-08-16 |
TWI704453B true TWI704453B (zh) | 2020-09-11 |
Family
ID=59064310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105127610A TWI704453B (zh) | 2015-12-17 | 2016-08-29 | 具有通訊機制的計算系統及其操作方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10437483B2 (zh) |
JP (1) | JP6785629B2 (zh) |
KR (1) | KR102338323B1 (zh) |
CN (1) | CN106897247B (zh) |
TW (1) | TWI704453B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10540219B2 (en) * | 2017-09-13 | 2020-01-21 | Toshiba Memory Corporation | Reset and error handling in application specific integrated circuits |
US10528414B2 (en) * | 2017-09-13 | 2020-01-07 | Toshiba Memory Corporation | Centralized error handling in application specific integrated circuits |
DE102018112816A1 (de) * | 2018-05-29 | 2019-12-05 | Infineon Technologies Ag | Adresscodierter Zugriff auf Speicher |
TWI756810B (zh) * | 2020-09-02 | 2022-03-01 | 瑞昱半導體股份有限公司 | 晶片與相關的晶片系統 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7821931B2 (en) * | 2004-03-30 | 2010-10-26 | Extreme Networks, Inc. | System and method for assembling a data packet |
TW201214127A (en) * | 2010-09-29 | 2012-04-01 | Toshiba Kk | Memory device, host controller and memory system |
TW201324520A (zh) * | 2011-10-31 | 2013-06-16 | Apple Inc | 用於獲得及使用非揮發性記憶體健康資訊之系統及方法 |
US9069658B2 (en) * | 2012-12-10 | 2015-06-30 | Google Inc. | Using a virtual to physical map for direct user space communication with a data storage device |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6591339B1 (en) | 1999-05-03 | 2003-07-08 | 3Ware, Inc. | Methods and systems for selecting block sizes for use with disk arrays |
US6766377B1 (en) * | 2000-08-24 | 2004-07-20 | 3Com Corporation | Media gateway proxy |
US7827386B2 (en) * | 2003-06-30 | 2010-11-02 | Intel Corporation | Controlling memory access devices in a data driven architecture mesh array |
JP2006235960A (ja) | 2005-02-24 | 2006-09-07 | Fujitsu Ltd | ガーベッジコレクション高速化方法 |
KR100763352B1 (ko) | 2005-05-10 | 2007-10-04 | 삼성전자주식회사 | 전용 데이터 및 컨트롤 버스들을 사용하는 메모리 시스템, 모듈들, 컨트롤러들 및 방법들 |
US7577760B2 (en) | 2005-05-10 | 2009-08-18 | Samsung Electronics Co., Ltd. | Memory systems, modules, controllers and methods using dedicated data and control busses |
CN100377065C (zh) * | 2006-04-19 | 2008-03-26 | 华中科技大学 | 一种超大容量的虚拟磁盘存储*** |
CN101622606B (zh) * | 2006-12-06 | 2014-04-09 | 弗森-艾奥公司 | 用于作为大容量、非易失性存储器的高速缓存的固态存储器的装置、***和方法 |
WO2008070813A2 (en) * | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for a front-end, distributed raid |
US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
US8055816B2 (en) * | 2009-04-09 | 2011-11-08 | Micron Technology, Inc. | Memory controllers, memory systems, solid state drives and methods for processing a number of commands |
US8131889B2 (en) * | 2009-11-10 | 2012-03-06 | Apple Inc. | Command queue for peripheral component |
US8424009B2 (en) * | 2009-12-04 | 2013-04-16 | Microsoft Corporation | Lock resolution for distributed durable instances |
WO2011161884A1 (ja) * | 2010-06-25 | 2011-12-29 | パナソニック株式会社 | 集積回路、コンピュータシステム、制御方法 |
JPWO2012020544A1 (ja) | 2010-08-11 | 2013-10-28 | 日本電気株式会社 | データ処理システム、データ処理方法、およびプログラム |
US9575908B2 (en) | 2011-02-08 | 2017-02-21 | Diablo Technologies Inc. | System and method for unlocking additional functions of a module |
WO2013048493A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Memory channel that supports near memory and far memory access |
KR101736225B1 (ko) * | 2011-12-22 | 2017-05-16 | 인텔 코포레이션 | 커맨드/어드레스 레지스터 디바이스 내에 저장된 데이터에의 액세스 |
CN102623069B (zh) * | 2012-02-13 | 2014-09-03 | 山东华芯半导体有限公司 | 随机激励闪存模型验证方法 |
US9280497B2 (en) | 2012-12-21 | 2016-03-08 | Dell Products Lp | Systems and methods for support of non-volatile memory on a DDR memory channel |
US20150022040A1 (en) * | 2013-07-22 | 2015-01-22 | Frank Mikowychok | Vibration imparting device for a concrete finishing tool |
US9552261B2 (en) * | 2014-01-31 | 2017-01-24 | International Business Machines Corporation | Recovering data from microslices in a dispersed storage network |
KR102192198B1 (ko) * | 2014-02-24 | 2020-12-17 | 삼성전자주식회사 | 전자 장치 및 그것의 통신 방법 |
CN105361285B (zh) * | 2014-08-11 | 2017-05-10 | 段睿纮 | 可单手直接快速穿戴且稳定罩口的口罩结构 |
GB2549442A (en) * | 2014-09-24 | 2017-10-25 | Ibm | Data packet processing |
US10089023B2 (en) * | 2015-06-23 | 2018-10-02 | Western Digital Technologies, Inc. | Data management for object based storage |
US9530442B1 (en) * | 2015-09-23 | 2016-12-27 | Western Digital Technologies, Inc. | Enhanced low overhead data protection in data storage drives |
US10031674B2 (en) * | 2015-10-07 | 2018-07-24 | Samsung Electronics Co., Ltd. | DIMM SSD addressing performance techniques |
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 |
-
2016
- 2016-02-22 US US15/049,879 patent/US10437483B2/en active Active
- 2016-08-12 KR KR1020160103061A patent/KR102338323B1/ko active IP Right Grant
- 2016-08-29 TW TW105127610A patent/TWI704453B/zh active
- 2016-10-11 CN CN201610886162.9A patent/CN106897247B/zh active Active
- 2016-12-02 JP JP2016234795A patent/JP6785629B2/ja active Active
-
2019
- 2019-05-16 US US16/414,555 patent/US11099750B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7821931B2 (en) * | 2004-03-30 | 2010-10-26 | Extreme Networks, Inc. | System and method for assembling a data packet |
TW201214127A (en) * | 2010-09-29 | 2012-04-01 | Toshiba Kk | Memory device, host controller and memory system |
TW201324520A (zh) * | 2011-10-31 | 2013-06-16 | Apple Inc | 用於獲得及使用非揮發性記憶體健康資訊之系統及方法 |
US9069658B2 (en) * | 2012-12-10 | 2015-06-30 | Google Inc. | Using a virtual to physical map for direct user space communication with a data storage device |
Also Published As
Publication number | Publication date |
---|---|
KR102338323B1 (ko) | 2021-12-10 |
US20170177247A1 (en) | 2017-06-22 |
TW201729103A (zh) | 2017-08-16 |
JP2017111807A (ja) | 2017-06-22 |
CN106897247A (zh) | 2017-06-27 |
US20190272111A1 (en) | 2019-09-05 |
CN106897247B (zh) | 2022-12-06 |
US11099750B2 (en) | 2021-08-24 |
US10437483B2 (en) | 2019-10-08 |
JP6785629B2 (ja) | 2020-11-18 |
KR20170072779A (ko) | 2017-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8990462B2 (en) | Storage device, computing system including the same and data transferring method thereof | |
US10719472B2 (en) | Interface circuit and packet transmission method thereof | |
US10339079B2 (en) | System and method of interleaving data retrieved from first and second buffers | |
TWI704453B (zh) | 具有通訊機制的計算系統及其操作方法 | |
TWI439861B (zh) | 記憶體系統、主機控制器裝置及控制與運作ㄧ記憶體裝置之方法 | |
JP5892838B2 (ja) | 様々な書き込みコマンド・スケジューリングを含むメモリシステム | |
US9927984B2 (en) | Electronic system with interface control mechanism and method of operation thereof | |
JP2021503642A (ja) | 不揮発性メモリの書込みクレジットの管理 | |
US10121532B2 (en) | Apparatus, method and system for performing successive writes to a bank of a dynamic random access memory | |
US20100185811A1 (en) | Data processing system and method | |
US11038749B2 (en) | Memory resource allocation in an end-point device | |
US8904105B2 (en) | System and method for performing raid I/O operations in PCIE-based storage resources | |
TWI704489B (zh) | 儲存備份記憶體封裝中之狀態管理 | |
US20190213162A1 (en) | Integrated circuit system | |
WO2021025864A1 (en) | Methods for error detection and correction and corresponding systems and devices for the same | |
US10133492B2 (en) | Electronic system with interface control mechanism and method of operation thereof | |
TWI658402B (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
US20190369909A1 (en) | Homogeneous in-storage computation system | |
US8516190B1 (en) | Reporting logical sector alignment for ATA mass storage devices | |
TW202123014A (zh) | 支持位元組可定址協定及塊可定址協定兩者的固態硬碟 | |
KR102028666B1 (ko) | 비식별 요청을 처리하는 저장 장치 및 그것의 동작 방법 | |
TWI814655B (zh) | 記憶裝置、快閃記憶體控制器及其控制方法 | |
KR20110041613A (ko) | Dram 인터페이스와 공유 메모리 영역을 통한 비휘발성 메모리 장치와 자기 기록 매체에 접근할 수 있는 장치 | |
US20110167210A1 (en) | Semiconductor device and system comprising memories accessible through dram interface and shared memory region |