TW201729103A - 具有通訊機制的計算系統及其操作方法 - Google Patents

具有通訊機制的計算系統及其操作方法 Download PDF

Info

Publication number
TW201729103A
TW201729103A TW105127610A TW105127610A TW201729103A TW 201729103 A TW201729103 A TW 201729103A TW 105127610 A TW105127610 A TW 105127610A TW 105127610 A TW105127610 A TW 105127610A TW 201729103 A TW201729103 A TW 201729103A
Authority
TW
Taiwan
Prior art keywords
command
computing system
host
address
command packet
Prior art date
Application number
TW105127610A
Other languages
English (en)
Other versions
TWI704453B (zh
Inventor
胡潮紅
尹亮
鄭宏忠
Original Assignee
三星電子股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 三星電子股份有限公司 filed Critical 三星電子股份有限公司
Publication of TW201729103A publication Critical patent/TW201729103A/zh
Application granted granted Critical
Publication of TWI704453B publication Critical patent/TWI704453B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-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)
  • Memory System (AREA)
  • Information Transfer Systems (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、或其組合。
現在參照圖4,其中示出在實施例中藉由圖1所示的計算系統100利用的通訊機制來檢索圖1所示的狀態資訊141的流程圖的實例。表2包括圖1所示的配置狀態區塊140中的狀態資訊141的實例。   表 2: 狀態
每一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 (20)

  1. 一種計算系統,包括: 主機記憶體,包括驅動器及位址映射圖;以及 主機中央處理單元,耦合至所述主機記憶體,被配置成: 藉由所述驅動器將命令劃分成命令封包, 將所述命令封包映射至所述位址映射圖,以及 藉由命令位址媒體基於所述位址映射圖而遞送所述命令封包。
  2. 如申請專利範圍第1項所述的計算系統,其中所述主機中央處理單元更被配置成: 基於所述位址映射圖而遞送用於寫入的所述命令,以請求狀態資訊;以及 發出用於讀取所述狀態資訊的又一命令。
  3. 如申請專利範圍第1項所述的計算系統,其中所述主機中央處理單元更被配置成存取所述位址映射圖的庫。
  4. 如申請專利範圍第1項所述的計算系統,其中所述主機中央處理單元更被配置成藉由用於非揮發性裝置的揮發性記憶體介面而遞送所述命令封包。
  5. 一種計算系統,包括: 主機介面,被配置成剖析來自命令位址媒體的命令封包;以及 命令區塊,耦合至所述主機介面,被配置成: 自所述命令封包彙編命令。
  6. 如申請專利範圍第5項所述的計算系統,其中所述命令區塊更被配置成進行訓練以計算保護資訊。
  7. 如申請專利範圍第5項所述的計算系統,其中所述主機介面更被配置成藉由資料媒體接收保護資訊。
  8. 如申請專利範圍第5項所述的計算系統,其中所述命令區塊更被配置成指令所述命令封包來彙編所述命令。
  9. 如申請專利範圍第5項所述的計算系統,其中所述主機介面更被配置成不藉由資料媒體接收所述命令封包。
  10. 如申請專利範圍第5項所述的計算系統,其中所述主機介面更被配置成藉由用於非揮發性裝置的揮發性記憶體介面接收所述命令封包。
  11. 一種操作計算系統的方法,包括: 藉由驅動器將命令劃分成命令封包; 將所述命令封包映射至位址映射圖;以及 藉由命令位址媒體基於所述位址映射圖遞送所述命令封包。
  12. 如申請專利範圍第11項所述的操作計算系統的方法,更包括剖析來自所述命令位址媒體的所述命令封包。
  13. 如申請專利範圍第11項所述的操作計算系統的方法,更包括自來自所述命令位址媒體的所述命令封包彙編所述命令。
  14. 如申請專利範圍第11項所述的操作計算系統的方法,更包括進行訓練以計算保護資訊。
  15. 如申請專利範圍第11項所述的操作計算系統的方法,更包括藉由資料媒體接收保護資訊。
  16. 如申請專利範圍第11項所述的操作計算系統的方法,其中: 遞送所述命令封包包括基於所述位址映射圖而遞送用於寫入的所述命令以請求狀態資訊;且 更包括: 發出用於讀取所述狀態資訊的又一命令。
  17. 如申請專利範圍第11項所述的操作計算系統的方法,其中遞送所述命令封包包括存取所述位址映射圖的庫。
  18. 如申請專利範圍第11項所述的操作計算系統的方法,更包括指令所述命令封包來彙編所述命令。
  19. 如申請專利範圍第11項所述的操作計算系統的方法,更包括不藉由資料媒體接收所述命令封包。
  20. 如申請專利範圍第11項所述的操作計算系統的方法,更包括提供非揮發性儲存器。
TW105127610A 2015-12-17 2016-08-29 具有通訊機制的計算系統及其操作方法 TWI704453B (zh)

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 US10437483B2 (en) 2015-12-17 2016-02-22 Computing system with communication mechanism and method of operation thereof
US15/049,879 2016-02-22

Publications (2)

Publication Number Publication Date
TW201729103A true TW201729103A (zh) 2017-08-16
TWI704453B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI756810B (zh) * 2020-09-02 2022-03-01 瑞昱半導體股份有限公司 晶片與相關的晶片系統

Families Citing this family (3)

* Cited by examiner, † Cited by third party
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

Family Cites Families (33)

* Cited by examiner, † Cited by third party
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
US7304996B1 (en) * 2004-03-30 2007-12-04 Extreme Networks, Inc. System and method for assembling a data packet
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 华中科技大学 一种超大容量的虚拟磁盘存储系统
CN101622595A (zh) * 2006-12-06 2010-01-06 弗森多系统公司(dba弗森-艾奥) 用于服务器内的存储区域网络的装置、系统和方法
WO2008070191A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a reconfigurable baseboard management controller
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
CN102576318B (zh) * 2010-06-25 2016-03-30 松下知识产权经营株式会社 集成电路、计算机系统、控制方法
WO2012020544A1 (ja) 2010-08-11 2012-02-16 日本電気株式会社 データ処理システム、データ処理方法、およびプログラム
TWI483117B (zh) * 2010-09-29 2015-05-01 Toshiba Kk 用於執行命令之裝置、主機控制器及用於執行命令之系統
US9575908B2 (en) 2011-02-08 2017-02-21 Diablo Technologies Inc. System and method for unlocking additional functions of a module
EP2761472B1 (en) 2011-09-30 2020-04-01 Intel Corporation Memory channel that supports near memory and far memory access
US10359949B2 (en) * 2011-10-31 2019-07-23 Apple Inc. Systems and methods for obtaining and using nonvolatile memory health information
DE112011106021B4 (de) * 2011-12-22 2018-05-03 Intel Corporation Zugreifen auf Daten, die in einem Befehls-/Adressregister-Gerät gespeichert sind
CN102623069B (zh) * 2012-02-13 2014-09-03 山东华芯半导体有限公司 随机激励闪存模型验证方法
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
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI756810B (zh) * 2020-09-02 2022-03-01 瑞昱半導體股份有限公司 晶片與相關的晶片系統

Also Published As

Publication number Publication date
KR20170072779A (ko) 2017-06-27
KR102338323B1 (ko) 2021-12-10
JP6785629B2 (ja) 2020-11-18
JP2017111807A (ja) 2017-06-22
US20170177247A1 (en) 2017-06-22
US11099750B2 (en) 2021-08-24
CN106897247A (zh) 2017-06-27
US20190272111A1 (en) 2019-09-05
US10437483B2 (en) 2019-10-08
CN106897247B (zh) 2022-12-06
TWI704453B (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
US10503679B2 (en) NVM express controller for remote access of memory and I/O over Ethernet-type networks
US10339079B2 (en) System and method of interleaving data retrieved from first and second buffers
TWI582588B (zh) 用於在記憶體系統中提高效率之系統及方法
KR102358477B1 (ko) 인터페이스 제어 메커니즘을 갖는 전자 시스템 및 그것의 동작 방법
US11099750B2 (en) Computing system with communication mechanism
US11038749B2 (en) Memory resource allocation in an end-point device
US20100185811A1 (en) Data processing system and method
US20210019077A1 (en) Automatic host buffer pointer pattern detection
US20200117722A1 (en) Efficient file storage and retrieval system, method and apparatus
US10133492B2 (en) Electronic system with interface control mechanism and method of operation thereof
US10353604B2 (en) Object transformation in a solid state drive
US11765229B2 (en) Method of operating network-based storage device, method of operating storage system using the same and storage module performing the same
US11875064B2 (en) Solid state drive supporting both byte addressable protocol and block addressable protocol
US11348658B2 (en) Memory controller and storage device including the same
KR102028666B1 (ko) 비식별 요청을 처리하는 저장 장치 및 그것의 동작 방법
US20240168877A1 (en) Solving submission queue entry overflow with an additional out-of-order submission queue entry
US20230289083A1 (en) Memory device for effectively performing read operation, and operation method thereof
US20230297274A1 (en) Apparatus and method for transfering data in memory system
CN117336308A (zh) 使用网络恢复存储装置中的数据的方法和存储装置