TW201714076A - 具有介面控制機構之電子系統及其操作方法 - Google Patents

具有介面控制機構之電子系統及其操作方法 Download PDF

Info

Publication number
TW201714076A
TW201714076A TW105119647A TW105119647A TW201714076A TW 201714076 A TW201714076 A TW 201714076A TW 105119647 A TW105119647 A TW 105119647A TW 105119647 A TW105119647 A TW 105119647A TW 201714076 A TW201714076 A TW 201714076A
Authority
TW
Taiwan
Prior art keywords
command
interface
electronic system
central processing
processing unit
Prior art date
Application number
TW105119647A
Other languages
English (en)
Other versions
TWI699696B (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 TW201714076A publication Critical patent/TW201714076A/zh
Application granted granted Critical
Publication of TWI699696B publication Critical patent/TWI699696B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on 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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and 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/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
    • 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/0629Configuration or reconfiguration of storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/068Hybrid storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory

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)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本發明提供一種電子系統,所述電子系統包含:儲存裝置,經配置以接收介面命令,所述儲存裝置包含:介面控制單元;第一CPU,耦接至介面控制單元,經配置以執行邏輯區塊位址(LBA)命令;第二CPU,耦接至介面控制單元,經配置以執行鍵值命令;以及非揮發性儲存器,耦接至揮發性記憶體、第一CPU以及第二CPU,經配置以獨立且同時處理LBA命令及鍵值命令;其中:第一CPU或第二CPU經配置以在完成LBA命令或鍵值命令之後編譯詳細狀態;且連接至裝置耦接結構的介面控制單元經配置以藉由將詳細狀態發送至裝置驅動器來回應於介面命令。

Description

具有介面控制機構之電子系統及其操作方法
本發明的實施例大體上是關於一種電子系統,且更特定言之,是關於一種用於電子系統的資料儲存功能的系統。
現代的固態磁碟(solid state disk;SSD)歸因於在資料操作期間其快速的回應而將增長片段呈遞至資料儲存策略。大量此等SSD可提供具較高電容、較低功率消耗以及比磁碟驅動器更高效能的資料中心。當至SSD的遷移增加動量時,產生關於為何資料區塊應限於512位元組的問題。歷史上,512位元組區塊為處理磁性媒體中的可靠性問題的可工作大小。當今,大部分作業系統經鎖定成固定區塊大小。
處理大型資料庫的邏輯暴露作業系統的技術中的弱點。儘管多中方法已經嘗試增大固定區塊大小,但一些儲存器製造商正藉助藉由運行512模擬模式來隱蔽內部資料區塊大小。在此情況下,其可處理固定區塊介面傳輸的低效率且隱藏較大內部資料區塊的使用,通常內部區塊大小為1K至4K位元組。但此等策略涉及困難的錯誤恢復過程,且較小單個區塊更新必須執行為嚴重降低效能的讀取-修改-寫入操作。
因此,具有介面控制機構的電子系統又仍然需要改良叢集計算環境的執行可靠性以及效能。鑒於不斷增長的商業競爭壓力,連同市場中不斷增長的消費品期望值以及不斷減少的有意義的產品區分機會,找到針對此等問題的答案愈加關鍵。另外,降低成本、提高效率及效能以及滿足競爭壓力的需求使尋找此等問題的答案的關鍵必要性變得甚至更緊急。
已長期尋求此等問題之解決方案,但先前的研發並未教示或建議任何解決方案,且因此本領域中具知識者長期未能獲得此等問題之解決方案。
本發明的實施例提供一種電子系統,所述電子系統包含:儲存裝置,經配置以接收介面命令,所述儲存裝置包含:介面控制單元;第一CPU,耦接至介面控制單元,經配置以執行邏輯區塊位址(logical block address;LBA)命令;第二CPU,耦接至介面控制單元,經配置以執行鍵值命令;以及非揮發性儲存器,耦接至揮發性記憶體、第一CPU以及第二CPU,經配置以獨立且同時處理LBA命令及鍵值命令;其中:第一CPU或第二CPU經配置以在完成LBA命令或鍵值命令之後編譯詳細狀態;且連接至裝置耦接結構的介面控制單元經配置以藉由將詳細狀態發送至裝置驅動器來回應於介面命令。
本發明的實施例提供一種操作電子系統的方法,所述方法包含:藉由儲存裝置接收介面命令,包含:分析介面控制單元中的介面命令、選擇用於執行邏輯區塊位址(LBA)命令的第一CPU、選擇用於執行鍵值命令的第二CPU以及獨立且同時處理LBA命令以及鍵值命令用於存取非揮發性儲存器;藉由第一CPU或第二CPU在完成LBA命令或鍵值命令之後編譯詳細狀態;以及藉由經由裝置耦接結構將詳細狀態發送至裝置驅動器來回應於介面命令。
除上述彼等以外或代替上述彼等,本發明的某些實施例具有其他步驟或元件。所述步驟或元件對於本領域具有知識者將自參考隨附圖式時閱讀以下詳細描述變得顯而易見。
各種實施例提供用於大型資料庫的介面控制機構,所述大資料庫可簡化分佈式輸入/輸出(input/output;I/O)介面且可藉由設定較低繁冗的I/O架構來將電子系統的執行效率增至最高。介面控制機構在不利用I/O儲存器堆疊結構的情況下,可經動態地配置以處理用於使用者程式中的資料,或以支援作業系統的固定區塊架構。可在使用者程式層級處配置介面控制機構的執行,以提供對儲存裝置的高效存取且提供最大程式執行效率。
各種實施例藉由允許在習用I/O儲存器堆疊外的大量傳輸或由作業系統架構提供的標準固定區塊傳輸來提供用於大型資料庫的介面控制機構。介面控制機構亦允許基於指派至資料或邏輯區塊位址的鍵值處理資料。資料管理機構可在主機中央處理單元(central processing unit;CPU)、系統記憶體中操作,而不經由作業系統產生I/O調用。在管理鍵值儲存裝置的操作特徵的同時,來自系統記憶體的使用者定義空間的介面控制機構的執行可提供更高優先權的操作。電子系統亦可支援當今作業系統中流行的固定區塊架構。此組合可提高資料管理機構的效率及操作效能。
足夠詳細地描述以下實施例,以使得本領域中具知識者能夠製作以及使用本發明。應理解,其他實施例將基於本發明而明顯,且可在不脫離本發明的實施例的範疇的情況下進行系統、程序或機械改變。
在以下描述中,提供大量具體細節以提供對本發明的透徹理解。然而,顯而易見的是,本發明可在無此等具體細節的情況下予以實踐。為避免混淆本發明的實施例,並不詳細地揭示一些已知電路、系統配置以及處理步驟。
展示系統的實施例的圖式為半圖解的且不按比例繪製,且特定言之,一些尺寸是用於演示的明確性且在繪製圖式中經放大展示。類似地,儘管圖式中的視圖出於易於描述的目的而大體上展示類似定向,但圖式中的此描述大部分是任意的。一般而言,本發明可以任何定向操作。
本文中所提及的術語「模組」根據所述術語所用於的上下文可包含本發明的實施例中的軟體、硬體或其組合。舉例而言,軟體可為機器碼、韌體、嵌入碼以及應用軟體。亦舉例而言,硬體可為電路、處理器、電腦、積體電路、積體電路核心、壓力感測器、慣性感測器、微機電系統(microelectromechanical system;MEMS)、被動狀態裝置或其組合。另外,若模組經寫入以下裝置申請專利範圍部分中,則認為模塊包含用於裝置申請專利範圍的目的及範疇的硬體電路。
本文中所提及的術語「單元」為由用於特定功能的硬體組件或硬體狀態機形成的電路。「單元」可用於時序關鍵功能且不必包含軟體功能或支援。本文中所提及的術語「習用I/O儲存器堆疊」為主機系統記憶體內的記憶體片段,所述主機系統記憶體用於保持用於由作業系統執行的輸入/輸出(I/O)操作的位址指標以及中斷旗標。習用I/O儲存器堆疊將時延插入至I/O以便使記憶體載有中斷指標,以基於維護與資料的固定大小區塊的傳輸相關聯的中斷維護至或自I/O裝置的資料傳輸。
需要鍵值儲存器解決方案的資料解決方案可能難以識別支援改良儲存器技術的可使用的儲存裝置。另一困難是支援鍵值命令結構的儲存裝置無法用於僅支援邏輯區塊位址(LBA)架構的傳統系統上。對於介面儲存裝置而言,存在兩個支援鍵值命令的問題。第一個是需要兩個映射層。擷取值位置(邏輯區塊位址)的映射層中的一者將鍵用作索引,且擷取值的另一映射層在發出區塊IO請求前使用值位置資訊(邏輯區塊位址)。第二個限制是2層映射系統需要大量的資料傳輸附加項,但亦藉由資料傳輸單元為固定大小區塊(例如,512位元組或4KB)的實情而複雜化,若資料大小並不與區塊對準,則此情況可引起不必要的資料傳輸。
現參看圖1,其中展示具有本發明概念的實施例中的介面控制機構的電子系統100的架構方塊圖。電子系統100包含儲存裝置102,此類裝置的實例可包含基於快閃記憶體的固態儲存裝置(solid state storage device;SSSD)、磁性隨機存取記憶體(magnetic random access memory;MRAM)、電阻性隨機存取記憶體(resistive random access memory;RRAM)以及相變記憶體(phase change memory;PCM),以及混合磁碟儲存裝置,以及鍵值儲存器適配器(所述鍵值儲存器適配器藉助於用於識別檔案結構的鍵值而定址)。儲存裝置102可為非揮發性資料儲存機構,所述非揮發性資料儲存機構藉助於鍵值定址或LBA定址可互換地儲存以及存取使用者資料。儲存裝置102可用於計算環境中的資料處理,所述計算環境用於管理大型資料庫以及自作業系統的普通固定區塊傳輸。
裝置耦接結構104可將儲存裝置102連結至主機處理器106。裝置耦接結構104可為連接於主機處理器106與儲存裝置102之間的輸入/輸出介面結構。裝置耦接結構104可包含周邊電腦介面快速(peripheral computer interface express;PCI-e)、光纖通道(fiber channel;FC)、小型電腦系統介面(small computer system interface;SCSI)、或串行附接SCSI(serial attached SCSI;SAS)以及主機的記憶體通道介面。裝置耦接結構104可經實施為用於電子系統100的主機內部應用的記憶體匯流排。裝置耦接結構104可提供主機處理器106與儲存裝置102之間的本端或遠端連接性。儲存裝置102與主機處理器106之間的裝置耦接結構104的連接以符合裝置耦接結構104的規格的方式執行。
裝置耦接結構104可提供至用於LBA傳輸或鍵值傳輸的儲存裝置102的直接耦接及通信。應理解,具有LBA傳輸的通信需要由作業系統提供的I/O調用且可利用邏輯區塊位址(LBA)架構。由於儲存裝置102可使用LBA架構以及基於鍵值的線性儲存架構,因此可簡化來自主機處理器106的通信。
主機處理器106可為通用電腦、電腦網路、伺服器、儲存器處理器、GPU、ASIC、FPGA、PLD、或類似者。主機處理器106可執行鍵值裝置應用程式介面(key-value device application program interface;API)108、LBA API 109以及裝置驅動器110。
鍵值裝置API 108提供應用程式介面,所述應用程式介面允許使用者應用程式在不包含儲存裝置102的操作特性的描述的情況下存取儲存裝置102。鍵值裝置API 108為程式,所述程式將標準應用程式指令轉譯成由裝置驅動器110識別的形式。鍵值裝置API 108將應用程式請求傳遞至用於轉換至由儲存裝置102識別的介面命令111的裝置驅動器110。LBA API 109可將應用程式請求傳遞至用於轉換至由儲存裝置102識別的介面命令111的裝置驅動器110。裝置驅動器110可處理支援LBA架構以及基於鍵值的線性儲存體架構兩者的介面命令111。介面命令111可包含調節命令以及資料處理命令。
裝置驅動器110可經由裝置耦接結構104與非揮發性記憶體快速(Non-Volatile Memory Express;NVMe)的供應商指定版本通信。儲存裝置102的實施例可具有預設配置以支援LBA架構,且具有轉換其部分或全部資源的能力以支援鍵值架構。裝置驅動器110可將調節命令111發送至儲存裝置102,以便配置硬體及韌體資源以支援LBA架構、鍵值架構或其組合。
裝置驅動器110可經由裝置耦接結構104與儲存裝置102中的介面控制單元112通信。介面控制單元112可具有命令多工器114,所述命令多工器可檢測傳入命令是否為調節命令111、LBA命令115、或鍵值命令116。命令多工器114可將傳入至介面控制單元112中的資訊導向至第一命令處理器117或第二命令處理器118。儲存裝置102可配置介面控制單元112的硬體及韌體,以便支援來自裝置驅動器110的調節命令111。
在一實施例中,介面控制單元112可經實施為由執行於處理器上的韌體組成的模組,或經實施為具用於解碼命令結構且將經解碼命令傳遞至第一命令處理器117或第二命令處理器118的專用硬體的單元。任一實施可支援電子系統100的效用。
應理解,第一命令處理器117可為電子系統100中即將可用的命令處理單元(command processing unit;CPU)資源中的任一者。在連續命令序列上,第一命令處理器117可為不同CPU。應進一步理解,第二命令處理器118可為不執行第一命令處理器117的韌體的任何其他可用的CPU資源。在一實施例中,第一命令處理器117可為執行韌體以支援LBA命令115的單一CPU配置,且第二命令處理器118可為執行韌體以支援鍵值命令116的單一CPU。
LBA命令115可為基於區段的作業系統標準命令,且可藉由由編號為0至15的16個雙字組(double word;DWORD)(32位元每DWORD)組成的基於暫存器的命令結構在主機處理器106與儲存裝置102之間傳輸。在LBA命令115中,DWORD0(編號0的雙字組)為操作碼且DWORD1(編號1的雙字組)為系統識別符(system identifier;NSID)。在LBA命令115中,DWORDS2(編號2的雙字組)至DWORDS11(編號4的雙字組)的經保留或用於通用命令資訊。DWORD12用於指示LBA命令115中待處理的區段的數目。DWORD13(編號13的雙字組)至DWORD15(編號15的雙字組)與鍵值命令116相關聯。LBA命令115僅可藉由區段傳輸資料且每一區段經視為一邏輯區塊,所述邏輯區塊與邏輯區塊位址相關聯。
鍵值命令116可為由編號為0至15的16個雙字組(DWORD)(32位元每DWORD)組成的基於暫存器的命令在鍵值命令116中,DWORD0(編號0的雙字組)為操作碼且DWORD1(編號1的雙字組)為系統識別符(NSID)。在鍵值命令116中,DWORDS2(編號2的雙字組)至DWORDS14(編號14的雙字組)經保留或用於通用命令資訊。DWORD15(編號15的雙字組)為針對鍵值命令116中的鍵大小的指定內容。鍵值命令116可傳輸與鍵(資料檔案的標識符)相關聯的任意數目個資料位元組。
在一實施例中,第一命令處理器117以及第二命令處理器118可具有預設配置以僅支援LBA命令115。來自裝置驅動器110的調節命令可導致第一命令處理器117以及第二命令處理器118中的兩者中的一者經重新配置以處理鍵值命令116。在此情況下,僅第一命令處理器117或第二命令處理器118中的一者經重新配置以處理鍵值命令116,儲存裝置102可能能夠同時處理LBA命令115以及鍵值命令116。
應理解,僅支援LBA命令115的儲存裝置102的預設配置僅為一實例。儲存裝置102的預設配置亦可支援LBA命令115以及鍵值命令116的混合或預設以僅支援鍵值命令116。儲存裝置102的制定預設配置不限於單一實施例。應進一步理解,儲存裝置102可獨立且同時執行LBA命令115以及鍵值命令116,因為儲存裝置102的資源的一部分經指派以僅執行LBA命令115,且儲存裝置102的資源的另一部分經指派以僅執行鍵值命令116。儲存裝置102可經由專用資源同時執行兩種命令類型,或獨立執行一種其他的命令類型。
第一命令處理器117或第二命令處理器118可接收資料處理命令111,諸如讀取、寫入或抹除,且將命令的實際處理指派至多個中央處理單元(CPU)120中的一CPU 120,所述多個CPU可包含第一CPU 122及第二CPU 124。實施例經展示有CPU 120中的四者,但任何數目是可能的。CPU 120可為位元片處理器、微處理器、可程式化狀態機、程式定序器、微電腦或類似者。第一命令處理器117或第二命令處理器118可配置多個CPU 120以基於調節命令處理鍵值命令116或LBA命令115。在資料處理命令的執行期間,CPU 120中的每一者可指派指定命令類型且將僅執行所述命令類型、命令115或鍵值命令116,直至其經重新配置。
作為一實例,第一CPU 122可使用作為臨時儲存器或快取記憶體的揮發性記憶體126以及作為長期儲存器機構的用於正處理的資料的非揮發性儲存器128執行LBA命令115。由於第一CPU 122經配置以執行LBA命令115,邏輯至實體表可保持於揮發性儲記憶體126中,且可在斷電之前複製至非揮發性儲存器128中的保留位置。邏輯至實體表可將用於LBA中的每一者的位置指標維持至非揮發性儲存器128(其中儲存用於LBA的資料)中的實體位置。
同時,隨著第一CPU 122藉助於實例執行LBA命令115,第二CPU 124可執行鍵值命令116。第二CPU 124可將作為臨時儲存器或快取記憶體的揮發性儲記憶體126以及作為長期儲存體機構的非揮發性儲存器128用於正處理的資料。由於第二CPU 124經配置以執行鍵值命令116,因此可將鍵值索引清單保持於揮發性記憶體126中,且可在功率下降之前將鍵值索引清單複製至非揮發性儲存器128中的保留位置。鍵至實體表可將用於鍵中的每一者的位置指標維持至非揮發性儲存器128(其中儲存與鍵相關聯的值的資料)中的實體位置。
非揮發性儲存器128可包含:快閃記憶體、磁性隨機存取記憶體(MRAM)、電阻性隨機存取記憶體(RRAM)以及相變記憶體(PCM),以及混合磁碟儲存裝置,以及鍵值儲存器適配器。應理解,儘管揮發性儲存器128經展示為實體地位於儲存裝置102上,但此僅為一實施例且其他實施例是可能的。在一實施例中,非揮發性儲存器128可為網路或附接電纜的儲存裝置且多個CPU 120可產生後續命令,以便儲存來自LBA命令115或鍵值命令116的資料。
在完成LBA命令115或鍵值命令116之後,可藉由完成介面命令111的第一CPU 122或第二CPU 124將詳細狀態130編譯於揮發性記憶體126中。詳細狀態130可由將介面命令111指派至多個CPU 120中的一者的第一命令處理器117或第二命令處理器118經由裝置耦接結構104發送至裝置驅動器110。
已發現電子系統100可藉由允許LBA命令115及鍵值命令116兩者在儲存裝置102中同時執行來增大主機處理器106的效能。第一命令處理器117以及第二命令處理器118可配置多個CPU 120以維持可適應儲存裝置102的讀取/寫入存取的鍵值索引清單、邏輯至實體表或其組合。
現參看圖2,其中展示一實施例中的儲存裝置的調節命令的流程圖201。調節命令的流程圖201描繪一過程,在區塊202中裝置驅動器藉由所述調節命令接收請求以配置裝置。圖1的裝置驅動器110可藉由圖1的鍵值裝置API 108以及圖1的LBA API 109指示以配置圖1的儲存裝置102,以便支援圖1的主機處理器106的請求。
主機處理器106可支援儲存裝置102上的圖1的LBA命令115與圖1的鍵值命令116的混合。請求可載入至裝置驅動器110中以傳達至儲存裝置102。此可由裝置驅動器110執行,在區塊204中,所述裝置驅動器將調節命令發送至儲存裝置102。裝置驅動器110可經由圖1的裝置耦接結構104將調節命令111發送至圖1的介面控制單元112以供執行。
在區塊206中,儲存裝置102改變回應於調節命令的韌體或硬體配置。圖1的第一命令處理器117可接收調節命令111且對韌體、硬體或其組合做出任何配置改變以便滿足調節命令111。第一命令處理器117可配置圖1的第一CPU 122以輔助儲存裝置102的重新配置。儲存裝置102的重新配置可包含映射用於多個CPU 120的不同韌體且配置硬體以在LBA命令115與鍵值命令116之間分離記憶體指標。
應理解,當需要不同配置且可對硬體及韌體配置做出改變時,額外調節命令隨後可出現。調節命令可配置支援以當前系統活動所需要的多個CPU 120的任何比率混合的LBA命令115以及鍵值命令116。
在區塊208中,在完成重新配置之後,裝置可將其狀態返回至裝置驅動器。第一CPU 122可在揮發性記憶體126中準備圖1的詳細狀態130,從而指示調節命令111所需要的配置改變中的每一者的成功或失敗。第一命令處理器117可經由裝置耦接結構104將詳細狀態130傳輸至裝置驅動器110用於回應於主機處理器106。
已發現儲存裝置102的一實施例可藉由在單一調節命令111中處理儲存裝置的配置來減少裝置耦接結構104上的擁塞。儲存裝置102可經配置以支援以任何比率混合的LBA命令115以及鍵值命令116。
現參看圖3,其中展示藉由一實施例中的電子系統100進行的命令解譯的流程圖301。命令解譯的流程圖301在區塊302中描繪裝置驅動器編寫用於經混合鍵值/LBA介面的命令。圖1的裝置驅動器110可編寫圖1的資料處理命令111,所述資料處理命令包含作為讀取命令的「GET」、作為寫入命令「PUT」以及作為抹除命令的「DELETE」。藉由使用NVMe暫存器命令集,可將LBA命令115以及鍵值命令116兩者映射至同一命令格式。
流程繼續進行至區塊304,其中裝置驅動器110經由裝置耦接結構104將命令111發送至儲存裝置102。介面命令111可為調節命令或資料處理命令。藉由將LBA命令115以及鍵值命令116兩者映射至介面命令111,圖1的電子系統100可傳輸介面命令111的實際位元組數量,而不限於LBA命令115的512位元組或4K位元組限制。
流程繼續進行至區塊306,其中儲存裝置102接收介面命令111且將其遞送至圖1的命令多工器114。圖1的介面電路112可接收介面命令111且處理與裝置耦接結構104相關聯的傳輸協定。
流程繼續進行至區塊308,其中命令多工器114分析介面命令111。命令多工器114可解析介面命令111的格式以便判定介面命令111是否為調節命令111、LBA命令115或鍵值命令116。命令多工器114可基於NVMe格式的DWORD12的較低16位元的內容在LBA命令115或鍵值命令116之間調整決策,所述內容包含用於LBA命令115的區段計數。在此情況下,DWORD12包含零,命令多工器114可檢查NVMe格式的DWORD15,DWORD15含有「鍵」大小(以位元組為單位)以識別鍵值命令116。若DWORD12以及DWORD15兩者含有零,則介面命令111可經識別為調節命令111。
流程繼續進行至區塊310,其中命令多工器114判定介面命令111是否為鍵值命令116。若介面命令111不為鍵值命令116,流程繼續進行至區塊312,其中命令多工器114路由至諸如第一命令處理器117的區塊命令處理器。第一命令處理器117可進一步分析介面命令111以提取命令的請求,且設定具有所需資訊的圖1的揮發性記憶體126,以執行介面命令111。流程隨後繼續進行至區塊314。
若在區塊310中,介面命令111經判定為鍵值命令116,則流程繼續進行至區塊316,其中命令多工器114路由至諸如第二命令處理器118的鍵值命令處理器。第二命令處理器118可進一步分析介面命令111以提取命令的請求,且設定具有所需資訊的圖1的揮發性記憶體126,以執行介面命令111。流程隨後繼續進行至區塊314。
應理解,在電子系統100的單一處理器環境中,區塊310可為至執行字串的韌體中的支鏈,所述執行字串可執行LBA命令或鍵值命令的準備。命令執行的準備可在實際執行來自命令的資料傳輸以及清除之前配置傳輸位元組計數、資料目的地以及狀態準備。流程將繼續進行至區塊314,以便執行先前在區塊312或區塊316中設定的命令。其餘命令執行如常態繼續進行。
在區塊314中,第一命令處理器117或第二命令處理器118可識別多個CPU 120中的一個以執行介面命令111。作為一實例,若第一命令處理器117判定介面命令為調節命令111或LBA命令115,則可選擇第一CPU 122以執行介面命令。若在另一方面,第二命令處理器偵測到介面命令111為鍵值命令116,則可選擇第二CPU 124以執行介面命令111。
選擇的多個CPU 120中的一者可經配置以自揮發性記憶體126擷取資訊,以便執行介面命令111。若需要額外介面交換,諸如用於資料傳輸,多個CPU 120中的一選定者可啟用選擇其來執行資料傳輸的第一命令處理器117或第二命令處理器118。多個CPU 120中的一選定者可在適於介面命令111的執行時可在揮發性記憶體126與非揮發性儲存器128之間傳輸資料。亦即,在使選擇其的第一命令處理器117或第二命令處理器118能執行資料傳遞之前,讀取命令111將自非揮發性儲存器128將資料傳遞至揮發性記憶體126。就寫入命令111而言,資料可在傳輸至非揮發性記憶體128之前傳輸至揮發性記憶體126。在任一情況下,資料可保持於作為快取記憶體的揮發性記憶體126中,適於儲存裝置102的設定中。
流程隨後繼續進行至區塊318,其中儲存裝置102將完成訊息發送至裝置驅動器110。CPU 120中的一選定者在完成介面命令111後即可判定詳細狀態130、在揮發性記憶體126中設定完成訊息以及啟用選擇其的第一命令處理器117或第二命令處理器118以將圖1的詳細狀態130發送至裝置驅動器110。在出現錯誤的情況下,可將錯誤細節作為詳細狀態130的部分傳輸。
已發現電子系統100可藉由利用多個CPU 120減少使用者資料306傳輸的時延以執行介面命令111,而初步分析及解析由用於LBA命令115的第一命令處理器117以及用於鍵值命令116的第二命令處理器118來執行。NVMe命令格式可處置具有相同效率的LBA命令115以及鍵值命令116兩者,且用以動態地執行調節命令111的能力允許圖1的主機處理器106自訂應用於LBA命令115以及鍵值命令116中的每一者的資源量。
現參看圖4,其中展示本發明的另一實施例中的電子系統100的操作方法400的流程圖。方法400包含:藉由儲存裝置102接收介面命令111,包含:藉由檢查介面命令111的DWORD15的內容分析介面控制單元112中的介面命令111、在DWORD15等於零時選擇用於執行邏輯區塊位址LBA命令115的第一CPU 122、在DWORD15並不等於零時選擇用於執行鍵值命令116的第二CPU 124;以及在區塊402中獨立且同時處理LBA命令115以及鍵值命令116用於存取非揮發性儲存器128;在區塊404中,藉由第一CPU 122或第二CPU 124在完成LBA命令115或鍵值命令116之後編譯詳細狀態130;以及在區塊406中藉由經由裝置耦接結構104將詳細狀態130發送至裝置驅動器110來回應於介面命令111。
所得方法、過程、設備、裝置、產品及/或系統為直接、低本高效、不複雜、高度通用、準確、敏感且有效的,且可藉由採用用於就緒、高效以及經濟的製造、應用以及利用的已知組件而實施。本發明的一實施例的另一重要態樣為其有益地支援以及服務減少成本、簡化系統以及增大效能的歷史趨勢。
本發明的一實施例的此等以及其他有價值態樣因此將技術的狀態推進至至少下一層級。
儘管已結合特定最佳模式描述本發明,但應理解,鑒於前述描述,許多替代方案、修改以及變化將對於本領域中具知識者是顯而易見的。因此,意欲包涵屬於所包含申請專利範圍的範疇內的所有此等替代方案、修改以及變化。本文中所所闡述或隨附圖式中所展示的所有標的物將在說明性以及非限制性意義上加以解釋。
100‧‧‧電子系統
102‧‧‧儲存裝置
104‧‧‧裝置耦接結構
106‧‧‧主機處理器
108‧‧‧鍵值裝置應用程式介面
109‧‧‧邏輯區塊位址應用程式介面
110‧‧‧裝置驅動器
111‧‧‧介面命令/調節命令/資料處理命令/讀取命令/寫入命令
112‧‧‧介面控制單元
114‧‧‧命令多工器
115‧‧‧邏輯區塊位址命令
116‧‧‧鍵值命令
117‧‧‧第一命令處理器
118‧‧‧第二命令處理器
120‧‧‧中央處理單元
122‧‧‧第一中央處理單元
124‧‧‧第二中央處理單元
126‧‧‧揮發性記憶體
128‧‧‧非揮發性儲存器
130‧‧‧詳細狀態
201‧‧‧流程圖
202、204、206、208‧‧‧區塊
301‧‧‧流程圖
302、304、306、308、310、312、314、316、318‧‧‧區塊
400‧‧‧方法
402、404、406‧‧‧區塊
圖1為具有一實施例中的介面控制機構的電子系統的架構方塊圖。 圖2為一實施例中的儲存裝置的調節命令的流程圖。 圖3為在一實施例中藉由電子系統的命令解譯的流程圖。 圖4為本發明的另一實施例中的電子系統的操作方法的流程圖。
100‧‧‧電子系統
102‧‧‧儲存裝置
104‧‧‧裝置耦接結構
106‧‧‧主機處理器
108‧‧‧鍵值裝置應用程式介面
109‧‧‧邏輯區塊位址應用程式介面
110‧‧‧裝置驅動器
111‧‧‧介面命令/調節命令/資料處理命令/讀取命令/寫入命令
112‧‧‧介面控制單元
114‧‧‧命令多工器
115‧‧‧邏輯區塊位址命令
116‧‧‧鍵值命令
117‧‧‧第一命令處理器
118‧‧‧第二命令處理器
120‧‧‧中央處理單元
122‧‧‧第一中央處理單元
124‧‧‧第二中央處理單元
126‧‧‧揮發性記憶體
128‧‧‧非揮發性儲存器
130‧‧‧詳細狀態

Claims (20)

  1. 一種電子系統,包括: 儲存裝置,經配置以接收介面命令,所述儲存裝置包含:   介面控制單元;   第一中央處理單元,耦接至所述介面控制單元,經配置以執行邏輯區塊位址命令;   第二中央處理單元,耦接至所述介面控制單元,經配置以執行鍵值命令;以及   非揮發性儲存器,耦接至揮發性記憶體、所述第一中央處理單元以及所述第二中央處理單元,經配置以獨立且同時處理所述邏輯區塊位址命令及所述鍵值命令; 其中: 所述第一中央處理單元或所述第二中央處理單元經配置以在完成所述邏輯區塊位址命令或所述鍵值命令之後編譯詳細狀態;且 連接至裝置耦接結構的所述介面控制單元經配置以藉由將所述詳細狀態發送至裝置驅動器來回應於所述介面命令。
  2. 如申請專利範圍第1項所述的電子系統,其中所述介面控制單元包含經配置以分析所述邏輯區塊位址命令的第一命令處理器。
  3. 如申請專利範圍第1項所述的電子系統,其中所述介面控制單元包含經配置以分析所述鍵值命令的第二命令處理器。
  4. 如申請專利範圍第1項所述的電子系統,其中所述介面控制單元包含第一命令處理器,所述第一命令處理器經配置以分析調節命令。
  5. 如申請專利範圍第1項所述的電子系統,更包括命令多工器,所述命令多工器經配置以分析所述介面命令且基於所述介面命令的DWORD15路由至第一命令處理器或第二命令處理器。
  6. 如申請專利範圍第1項所述的電子系統,更包括揮發性記憶體,所述揮發性記憶體由經配置以執行所述邏輯區塊位址命令的所述第一中央處理單元存取。
  7. 如申請專利範圍第1項所述的電子系統,更包括揮發性記憶體,所述揮發性記憶體由經配置以執行所述鍵值命令的所述第二中央處理單元存取。
  8. 如申請專利範圍第1項所述的電子系統,其中所述介面控制單元經配置以分析所述介面命令,以便自多個中央處理單元中選擇所述第一中央處理單元。
  9. 如申請專利範圍第1項所述的電子系統,更包括第一命令處理器,所述第一命令處理器經配置以執行調節命令,且重新配置所述中央處理單元中的一者或大於一者以執行所述邏輯區塊位址命令、所述鍵值命令或其組合。
  10. 如申請專利範圍第1項所述的電子系統,其中所述介面控制單元經配置以回應於裝載至主機處理器中的鍵值應用程式介面或邏輯區塊位址應用程式介面而接受由所述裝置驅動器產生的所述介面命令。
  11. 一種操作電子系統的方法,包括: 藉由儲存裝置接收介面命令,包含:   在介面控制單元中分析所述介面命令;   選擇用於執行邏輯區塊位址命令的第一中央處理單元;   選擇用於執行鍵值命令的第二中央處理單元;以及   獨立且同時處理所述邏輯區塊位址命令以及所述鍵值命令,用於存取非揮發性儲存器;   藉由所述第一中央處理單元或所述第二中央處理單元在完成所述邏輯區塊位址命令或所述鍵值命令之後編譯詳細狀態;以及   藉由將所述詳細狀態經由裝置耦接結構發送至裝置驅動器來回應於所述介面命令。
  12. 如申請專利範圍第11項所述的操作電子系統的方法,更包括識別所述邏輯區塊位址命令,包含藉由由命令多工器選擇的第一命令處理器分析所述介面命令。
  13. 如申請專利範圍第11項所述的操作電子系統的方法,更包括識別所述鍵值命令,包含藉由由命令多工器選擇的第二命令處理器分析所述介面命令。
  14. 如申請專利範圍第11項所述的操作電子系統的方法,更包括識別所述調節命令,包含藉由由命令多工器選擇的第一命令處理器分析所述介面命令。
  15. 如申請專利範圍第11項所述的操作電子系統的方法,更包括分析所述介面命令以及基於所述介面命令的DWORD15路由至第一命令處理器或第二命令處理器。
  16. 如申請專利範圍第11項所述的操作電子系統的方法,更包括藉由經配置用於執行所述邏輯區塊位址命令的所述第一中央處理單元存取揮發性記憶體。
  17. 如申請專利範圍第11項所述的操作電子系統的方法,更包括藉由經配置用於執行所述鍵值命令的所述第二中央處理單元存取揮發性記憶體。
  18. 如申請專利範圍第11項所述的操作電子系統的方法,更包括分析所述介面命令用於自多個中央處理單元中選擇所述第一中央處理單元。
  19. 如申請專利範圍第11項所述的操作電子系統的方法,更包括執行調節命令,包含重新配置一個或大於一個中央處理單元以執行所述邏輯區塊位址命令、所述鍵值命令或其組合。
  20. 如申請專利範圍第11項所述的操作電子系統的方法,更包括回應於裝載至主機處理器中的鍵值應用程式介面或邏輯區塊位址應用程式介面而接受由所述裝置驅動器產生的所述介面命令。
TW105119647A 2015-10-14 2016-06-23 具有介面控制機構之電子系統及其操作方法 TWI699696B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562241499P 2015-10-14 2015-10-14
US62/241,499 2015-10-14
US15/005,497 2016-01-25
US15/005,497 US9927984B2 (en) 2015-10-14 2016-01-25 Electronic system with interface control mechanism and method of operation thereof

Publications (2)

Publication Number Publication Date
TW201714076A true TW201714076A (zh) 2017-04-16
TWI699696B TWI699696B (zh) 2020-07-21

Family

ID=58522978

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105119647A TWI699696B (zh) 2015-10-14 2016-06-23 具有介面控制機構之電子系統及其操作方法

Country Status (5)

Country Link
US (1) US9927984B2 (zh)
JP (1) JP6734751B2 (zh)
KR (1) KR102358477B1 (zh)
CN (1) CN106598480B (zh)
TW (1) TWI699696B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI659359B (zh) * 2018-04-27 2019-05-11 慧榮科技股份有限公司 控制儲存裝置之方法
TWI778160B (zh) * 2018-02-02 2022-09-21 南韓商三星電子股份有限公司 用於機器學習的系統和方法
TWI828901B (zh) * 2019-04-18 2024-01-11 南韓商三星電子股份有限公司 使用電路實現的軟體和用於金鑰值儲存的方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11287973B2 (en) 2016-02-02 2022-03-29 Samsung Electronics Co., Ltd. Polymorphic storage devices
US10423331B2 (en) * 2016-02-02 2019-09-24 Samsung Electronics Co., Ltd. Polymorphic storage devices
US11301422B2 (en) * 2016-02-23 2022-04-12 Samsung Electronics Co., Ltd. System and methods for providing fast cacheable access to a key-value device through a filesystem interface
CN107003816B (zh) * 2016-06-14 2020-06-26 华为技术有限公司 数据访问方法和相关装置及系统
US10372351B2 (en) * 2017-02-23 2019-08-06 Western Digital Technologies, Inc. Techniques for non-blocking control information and data synchronization by a data storage device
US20180239532A1 (en) * 2017-02-23 2018-08-23 Western Digital Technologies, Inc. Techniques for performing a non-blocking control sync operation
US20180364937A1 (en) * 2017-06-20 2018-12-20 Samsung Electronics Co., Ltd. System and method for managing memory device
US10861490B1 (en) * 2019-08-12 2020-12-08 Seagate Technology Llc Multi-controller data storage devices and methods
KR102660778B1 (ko) 2021-02-17 2024-04-24 동의대학교 산학협력단 혈당 조절이 가능한 후코이단을 해조류로부터 추출하는 방법
US11816349B2 (en) 2021-11-03 2023-11-14 Western Digital Technologies, Inc. Reduce command latency using block pre-erase

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US20130086311A1 (en) 2007-12-10 2013-04-04 Ming Huang METHOD OF DIRECT CONNECTING AHCI OR NVMe BASED SSD SYSTEM TO COMPUTER SYSTEM MEMORY BUS
US8234426B2 (en) 2010-06-08 2012-07-31 Innostor Technology Corporation Switching interface method for a multi-interface storage device
US8982796B2 (en) * 2010-06-22 2015-03-17 Lg Electronics Inc. Method and device for determining precoding information for uplink multi-antenna transmission
WO2011157144A2 (zh) * 2011-05-31 2011-12-22 华为技术有限公司 数据读写方法、装置和存储系统
JP5524144B2 (ja) * 2011-08-08 2014-06-18 株式会社東芝 key−valueストア方式を有するメモリシステム
US8631212B2 (en) * 2011-09-25 2014-01-14 Advanced Micro Devices, Inc. Input/output memory management unit with protection mode for preventing memory access by I/O devices
US9075710B2 (en) * 2012-04-17 2015-07-07 SanDisk Technologies, Inc. Non-volatile key-value store
KR101254647B1 (ko) 2012-08-13 2013-04-15 주식회사 유니테스트 솔리드 스테이트 드라이브 테스트장치
KR102025341B1 (ko) * 2012-12-04 2019-09-25 삼성전자 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작 방법
US9395924B2 (en) * 2013-01-22 2016-07-19 Seagate Technology Llc Management of and region selection for writes to non-volatile memory
US20140304513A1 (en) 2013-04-01 2014-10-09 Nexenta Systems, Inc. Storage drive processing multiple commands from multiple servers
US20140331001A1 (en) 2013-05-02 2014-11-06 Lsi Corporation Command Barrier for a Solid State Drive Controller
US9779138B2 (en) * 2013-08-13 2017-10-03 Micron Technology, Inc. Methods and systems for autonomous memory searching
US9563426B1 (en) * 2013-12-30 2017-02-07 EMC IP Holding Company LLC Partitioned key-value store with atomic memory operations
US9652154B2 (en) * 2014-02-05 2017-05-16 Sandisk Technologies Llc Storage module and host device for storage module defragmentation
US9569141B2 (en) * 2014-03-28 2017-02-14 Intel Corporation Hash map support in a storage device
CN103902698B (zh) * 2014-03-31 2018-04-13 北京皮尔布莱尼软件有限公司 一种数据存储系统和存储方法
CN104461380B (zh) * 2014-11-17 2017-11-21 华为技术有限公司 数据存储方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI778160B (zh) * 2018-02-02 2022-09-21 南韓商三星電子股份有限公司 用於機器學習的系統和方法
US11907814B2 (en) 2018-02-02 2024-02-20 Samsung Electronics Co., Ltd. Data path for GPU machine learning training with key value SSD
TWI659359B (zh) * 2018-04-27 2019-05-11 慧榮科技股份有限公司 控制儲存裝置之方法
CN110413538A (zh) * 2018-04-27 2019-11-05 慧荣科技股份有限公司 控制存储装置的方法
US10976958B2 (en) 2018-04-27 2021-04-13 Silicon Motion, Inc. Method for controlling storage device
US11301175B2 (en) 2018-04-27 2022-04-12 Silicon Motion, Inc. Method for controlling storage device
TWI828901B (zh) * 2019-04-18 2024-01-11 南韓商三星電子股份有限公司 使用電路實現的軟體和用於金鑰值儲存的方法

Also Published As

Publication number Publication date
CN106598480A (zh) 2017-04-26
JP6734751B2 (ja) 2020-08-05
KR102358477B1 (ko) 2022-02-04
KR20170043993A (ko) 2017-04-24
JP2017076398A (ja) 2017-04-20
US20170109041A1 (en) 2017-04-20
CN106598480B (zh) 2019-06-18
US9927984B2 (en) 2018-03-27
TWI699696B (zh) 2020-07-21

Similar Documents

Publication Publication Date Title
TWI699696B (zh) 具有介面控制機構之電子系統及其操作方法
US10564872B2 (en) System and method for dynamic allocation to a host of memory device controller memory resources
US8578178B2 (en) Storage system and its management method
US9201778B2 (en) Smart scalable storage switch architecture
JP4671353B2 (ja) ストレージ装置及びその制御方法
US20080059752A1 (en) Virtualization system and region allocation control method
US20170102874A1 (en) Computer system
EP4220419B1 (en) Modifying nvme physical region page list pointers and data pointers to facilitate routing of pcie memory requests
US9558232B1 (en) Data movement bulk copy operation
US11853234B2 (en) Techniques for providing access of host-local storage to a programmable network interface component while preventing direct host CPU access
JP6068676B2 (ja) 計算機システム及び計算機システムの制御方法
JP5996098B2 (ja) ストレージデバイスの高速アクセス及びデータ保護を実現する計算機、計算機システム、及びi/o要求処理方法
US8447947B2 (en) Method and interface for allocating storage capacities to plural pools
US10229085B2 (en) Fibre channel hardware card port assignment and management method for port names
US10133492B2 (en) Electronic system with interface control mechanism and method of operation thereof
US11544205B2 (en) Peer storage devices sharing host control data
US20210405893A1 (en) Application-based storage device configuration settings
WO2017072868A1 (ja) ストレージ装置
US20200050388A1 (en) Information system
US20240168876A1 (en) Solving submission queue entry overflow using metadata or data pointers
US20240168681A1 (en) Solving submission queue entry overflow with shadow submission queue
US9501290B1 (en) Techniques for generating unique identifiers
US20240168877A1 (en) Solving submission queue entry overflow with an additional out-of-order submission queue entry
WO2019021415A1 (ja) ストレージシステム及びデータ格納制御方法