TW201807575A - 記憶體協定 - Google Patents

記憶體協定 Download PDF

Info

Publication number
TW201807575A
TW201807575A TW106118556A TW106118556A TW201807575A TW 201807575 A TW201807575 A TW 201807575A TW 106118556 A TW106118556 A TW 106118556A TW 106118556 A TW106118556 A TW 106118556A TW 201807575 A TW201807575 A TW 201807575A
Authority
TW
Taiwan
Prior art keywords
read
command
memory device
buffer
memory
Prior art date
Application number
TW106118556A
Other languages
English (en)
Other versions
TWI662408B (zh
Inventor
羅伯特 M 沃克
詹姆士 A 小霍爾
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 TW201807575A publication Critical patent/TW201807575A/zh
Application granted granted Critical
Publication of TWI662408B publication Critical patent/TWI662408B/zh

Links

Classifications

    • 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
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash 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/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/0656Data buffering arrangements
    • 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/0683Plurality of storage devices
    • 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data

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)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Communication Control (AREA)

Abstract

本發明提供包含與一記憶體協定有關之設備及方法。一實例設備可使用一區塊組態暫存器基於自一主機接收之命令對該記憶體裝置之若干區塊緩衝器執行操作,其中該等操作可自該若干區塊緩衝器讀取資料且將資料寫入至該記憶體裝置上之該若干區塊緩衝器。

Description

記憶體協定
本發明大體上係關於記憶體裝置,且更特定言之,本發明係關於用於一記憶體協定之設備及方法。
記憶體裝置通常提供為電腦或其他電子裝置中之內部電路、半導體電路、積體電路。存在諸多不同類型記憶體,包含揮發性記憶體及非揮發性記憶體。揮發性記憶體可需要電力以維持其之資料,且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)及同步動態隨機存取記憶體(SDRAM)等等。非揮發性記憶體可藉由在未被供電時保持所儲存資料來提供持久性資料且可包含NAND快閃記憶體、NOR快閃記憶體、唯讀記憶體(ROM)、電可擦除可程式化唯讀記憶體(EEPROM)、可擦除可程式化唯讀記憶體(EPROM)及電阻可變記憶體(諸如,相變隨機存取記憶體(PCRAM)、電阻性隨機存取記憶體(RRAM)及磁阻性隨機存取記憶體(MRAM))等等。 記憶體亦用作寬廣範圍之電子應用之揮發性及非揮發性資料儲存器。非揮發性記憶體可用於(例如)個人電腦、可攜式記憶體棒、數位相機、蜂巢式電話、可攜式音樂播放器(諸如MP3播放器)、電影播放器及其他電子裝置中。記憶體單元可經配置為陣列,其中該等陣列用於記憶體裝置中。 記憶體可為計算裝置中使用之一記憶體模組(例如,雙列直插記憶體模組(DIMM))之部分。記憶體模組可包含揮發性記憶體(諸如DRAM)及/或非揮發性記憶體(諸如快閃記憶體或RRAM)。DIMM可用作計算系統中之一主記憶體。
本發明包含與記憶體協定相關之設備及方法。一實例設備可基於使用一區塊組態暫存器自一主機接收之命令對記憶體裝置上之若干區塊緩衝器執行操作,其中該等操作可自該若干區塊緩衝器讀取資料及將資料寫入至記憶體裝置上之該若干區塊緩衝器。 在本發明之一或多項實施例中,一區塊組態暫存器可用於界定一記憶體裝置上之若干區塊緩衝器。一主機可直接存取該等區塊緩衝器且對該等區塊緩衝器執行讀取及/或寫入命令。區塊組態暫存器可包含關聯之區塊緩衝器暫存器及目標位址暫存器對,其中該等區塊緩衝器暫存器各包含用於各區塊緩衝器之一起始位址及一最終位址且該等目標位址暫存器各包含與各區塊緩衝器相關聯之一記憶體陣列中之一目標位址。主機可將讀取及/或寫入命令發送至記憶體裝置以自與起始位址、最終位址及目標位址相關聯之該等區塊緩衝器讀取及/或寫入資料。區塊組態暫存器亦可包含一狀態暫存器,其包含用於區塊緩衝器中之資料之狀態資訊,該等區塊緩衝器當藉由記憶體裝置接收及執行讀取及/或寫入命令時藉由主機更新。 在本發明之一或多項實施例中,該記憶體協定可用於執行具有確定性及/或非確定性時序之操作。該記憶體協定可包含發送具有一讀取增量值之讀取命令,其中該讀取增量值將一值指示給該控制器,藉由該值增加用於將一記憶體裝置讀取識別碼指派至讀取命令之一計數器。該記憶體可包含自一主機發送一阻障命令,其中該阻障命令指示藉由記憶體裝置先前接收之命令在藉由記憶體裝置在阻障命令後接收之命令之前執行。 在一或多項實施例中,該記憶體協定可包含發送具有指示用於該記憶體裝置之一叢發長度之一叢發長度訊號之命令。該叢發長度訊號可基於用於命令之請求之一大小及/或基於將對其執行命令之一類型記憶體裝置。該記憶體協定可包含發送命令以設定一緩衝器暫存器,該緩衝器暫存器組態具有第一特定大小之一讀取緩衝器部分及第二特定大小之一寫入緩衝器部分之一緩衝器。 在本發明之以下詳細描述中,參考隨附圖式,該等附圖形成本發明之一部分且其中以繪示之方式展示本發明之若干實施例可如何實踐。該等實施例經充分詳細地描述以使一般技術者能夠實踐本發明之該等實施例,且應瞭解可利用其他實施例且可在不脫離本發明之範疇之情況下作出程序改變、電改變及/或結構改變。如本文中所使用,指示符「N」指示本發明之若干實施例中可包含若干如此指示之特定特徵。 如本文中所使用,「若干」某物可指代一或多個此等事物。例如,若干記憶體裝置可指代一或多個記憶體裝置。此外,如本文中所使用之指示符「N」(尤其相對於圖式中之參考數字)指示本發明之若干實施例中可包含若干如此指示之特定特徵。 本文中之圖式遵循一編號慣例,其中第一數字或該等數字對應於圖式編號且其餘數字識別圖式中之一元件或組件。可藉由使用類似數字而識別不同圖式之間之類似元件或組件。如應瞭解,可添加、交換及/或消除本文中在各種實施例中所展示之元件以便提供本發明之若干額外實施例。另外,圖中所提供元件之比例及相對尺寸意欲繪示本發明之實施例,而不應被視為意指限制。 圖1係根據本發明之一或多項實施例之包含呈若干記憶體系統104-1…104-N之形式之一設備之一運算系統100之一功能方塊圖。如本文中所使用,一「設備」可指代(但不限於)各種結構或結構之組合之任一者,諸如一電路或電路系統、一晶粒或若干晶粒、一模組或若干模組、一裝置或若干裝置、一系統或若干系統。在圖1中所繪示之實施例中,記憶體系統104-1…104-N可包含一或多個記憶體裝置110-1、…、110-X、110-Y。在一或多項實施例中,記憶體裝置110-1、…、110-X、110-Y可為雙列直插記憶體模組(DIMM)。DIMM可包含揮發性記憶體及/或非揮發性記憶體,分別諸如一NVDIMM及DRAM DIMM。在若干實施例中,記憶體系統104-1、…、104-N可包含一多晶片裝置。一多晶片裝置可包含若干不同記憶體類型及/或記憶體模組。例如,一記憶體系統可包含任何類型之一模組上之非揮發性或揮發性記憶體。關於圖1至圖4之下文描述之該等實例將一DIMM用作記憶體模組,但本發明之該協定可用於其中記憶體可執行確定性及/或非確定性命令之任何記憶體系統上。圖1中,記憶體系統104-1經由通道112-1耦合至主機且可包含記憶體裝置110-1、…、110-X且記憶體系統104-N經由通道112-N耦合至主機且可包含記憶體裝置110-1、…、110-Y。在此實例中,各記憶體裝置110-1、…、110-X、110-Y包含一控制器114。控制器114可自主機102接收命令且控制對一記憶體裝置執行該等命令。又,在若干實施例中,在一控制器及使用本發明之協定執行該等命令可內建於該記憶體裝置之情況下,本發明之協定可藉由一記憶體裝置(例如,一DIMM)實施。取決於記憶體裝置之類型,主機102可使用本發明之協定及/或一先前協定將命令發送至記憶體裝置110-1、…、110-X、110-Y。例如,主機可使用本發明之協定與一NVDIMM在相同通道(例如,通道112-1)上通信且一先前協定與皆處於相同記憶體系統上之一DRAM DIMM通信。 如圖1中所繪示,一主機102可耦合至記憶體系統104-1…104-N。在若干實施例中,各記憶體系統104-1…104-N可經由一通道耦合至主機102。在圖1中,記憶體系統104-1經由通道112-1耦合至主機102且記憶體系統104-N經由通道112-N耦合至主機102。主機102可為一膝上型電腦、個人電腦、數位相機、數位記錄及播放裝置、行動電話、PDA、記憶卡讀取器、介面集線器、等等主機系統且可包含一記憶體存取裝置(例如,一處理器)。熟習本項技術者將瞭解「一處理器」可意指一或多個處理器,諸如一並行處理系統、若干協同處理器等。 主機102包含一主機控制器108以與記憶體系統104-1…104-N通信。主機控制器108可經由通道112-1…112-N將命令發送至記憶體裝置110-1、…、110-X、110-Y。主機控制器108可與記憶體裝置110-1、…、110-X、110-Y及/或記憶體裝置110-1、…、110-X、110-Y之各者上之控制器114通信以讀取、寫入及抹除資料等等操作。一實體主機介面可提供用於在記憶體系統104-1…104-N與具有用於實體主機介面之相容接納器之主機102之間傳遞控制、位址、資料及其他訊號之一介面。該等訊號可(例如)經由通道112-1…112-N在102與若干匯流排(諸如一資料匯流排及/或一位址匯流排)上之記憶體裝置110-1、…、110-X、110-Y之間通信。 主機控制器108及/或一記憶體裝置上之控制器114可包含控制電路(例如硬體、韌體及/或軟體)。在一或多項實施例中,主機控制器108及/或控制器114可為耦合至包含一實體介面之一印刷電路板之一特定應用積體電路(ASIC)。又,各記憶體裝置110-1、…、110-X、110-Y可包含揮發性及/或非揮發性記憶體之一緩衝器116及一暫存器118。緩衝器116可用於緩衝執行讀取命令及/或寫入命令期間使用之資料。緩衝器116可分成一寫入緩衝器、一讀取緩衝器及若干區塊緩衝器。專用於寫入緩衝器之空間量及專用於讀取緩衝器之空間量可藉由主機控制器108程式化若干暫存器118而控制。主機可基於將發送至一特定記憶體裝置之命令之類型控制緩衝器116中專用於寫入緩衝器及讀取緩衝器之空間量。在若干實施例中,各記憶體裝置110-1、…、110-X、110-Y可具有一固定寫入緩衝器大小及/或一固定讀取緩衝器大小。緩衝器116可包含若干區塊緩衝器。該若干區塊緩衝器之各者之大小可藉由該主機程式化若干暫存器118而控制。暫存器118可經程式化以設定各區塊暫存器之起始位址及最終位址亦及在與各區塊暫存器相關聯之記憶體陣列中之一目標位址。主機可藉由將命令發送至記憶體裝置110-1、…、110-X、110-Y而將資料讀取及/或寫入至區塊暫存器。 記憶體裝置110-1、…、110-X、110-Y可提供用於記憶體系統之主記憶體或可用作整個記憶體系統中之額外記憶體或儲存器。各記憶體裝置110-1、…、110-X、110-Y可包含一或多個記憶體單元陣列,例如非揮發性記憶體單元。例如,該等陣列可為具有一NAND架構之快閃陣列。實施例不受限於一特定類型之記憶體裝置。舉例而言,記憶體裝置可包含RAM、ROM、DRAM、SDRAM、PCRAM、RRAM及快閃記憶體等等。 圖1之實施例可包含未繪示之額外記憶體電路以不模糊本發明之實施例。例如,記憶體系統104-1…104-N可包含位址電路以鎖存經由I/O連接透過I/O電路提供之位址訊號。位址訊號可藉由一列解碼器及一行解碼器接收及解碼以存取記憶體裝置110-1、…、110-N。熟習本項技術者將瞭解位址輸入連接之數目可取決於記憶體裝置110-1、…、101-X、110-Y之密度及架構。 圖2A至圖2C繪示根據本發明之若干實施例之暫存器及與一區塊緩衝器相關聯之命令。在若干實施例中,一記憶體裝置可包含可藉由主機定址之若干區塊緩衝器,其中該主機可發送命令以對該等區塊緩衝器執行讀取及/或寫入命令。該等區塊緩衝器之大小可藉由可藉由主機程式化之區塊組態暫存器而指示。該等區塊緩衝器之大小可經程式化以匹配記憶體裝置之記憶體陣列中之區塊之大小。圖2A繪示該等區塊組態暫存器之一區塊緩衝器位址暫存器230-0、…、230-R且圖2B繪示區塊組態暫存器之目標位址暫存器232-0、…、232-R。區塊組態暫存器包含關聯之區塊緩衝器位址暫存器及目標位址暫存器對。各區塊緩衝器位址暫存器與記憶體裝置之記憶體陣列中之一目標位址相關聯。當資料提交至記憶體時,寫入至已藉由對應區塊緩衝器暫存器中之資訊指示之一區塊緩衝器之資料將寫入至記憶體陣列中之關聯目標位址。自區塊緩衝器讀取之資料位於與區塊關聯之關聯目標位址且自該位址移動。各區塊緩衝器位址暫存器可包含一緩衝器起始位址235-0、…、235-R、一緩衝器最終位址233-0、…、233-R及狀態資訊231-0、…、231-R。用於各緩衝器之緩衝器起始位址及緩衝器最終位址可用於判定緩衝器之大小。狀態資訊可包含:一區塊緩衝器中是否存在有效資料;與一命令相關聯之資料是否已移動;及/或區塊緩衝器資料中是否存在一可恢復錯誤及/或致命錯誤之資訊指示。此亦可存在一狀態暫存器,其儲存用於各區塊緩衝器之狀態資訊使得僅該等狀態暫存器需要經讀取以判定一特定區塊緩衝器之狀態。 圖2C繪示用於執行一區塊緩衝器中之一操作之一命令234。命令234包含區塊緩衝器窗資訊、區塊緩衝器選擇資訊及區塊緩衝器位址資訊,其中:區塊緩衝器窗資訊指示將對一區塊緩衝器執行命令;區塊緩衝器選擇資訊指示區塊緩衝器將對何者執行該命令;區塊緩衝器位址資訊指示區塊緩衝器上與該命令相關聯之資料將寫入之位址及/或自何位址讀取。 圖3繪示根據本發明之若干實施例之包含讀取增量資訊之一讀取命令。圖3中,一讀取命令344可包含一讀取識別碼(RID)及讀取增量資訊(RID_INC)。讀取識別碼可用於識別命令。例如,一主機可將一特定讀取識別碼指派至一命令且將該命令發送至該記憶體裝置。該記憶體裝置可接著將一讀取識別碼指派至該命令。該記憶體裝置可包含一計數器以持續追蹤指派至一命令之讀取識別碼。計數器在0處初始化且每當一讀取命令由記憶體裝置接收時計數器累加1。在用非確定性時序執行命令之記憶體裝置中,可藉由記憶體裝置以任何順序執行命令,因此計數器每次累加1可導致藉由主機指派至一特定命令之讀取識別碼不同於藉由記憶體裝置指派至特定命令之讀取識別碼。例如,主機及記憶體裝置可各自具有4個可用讀取識別碼以指派至讀取命令且在任何給定時間處任何給定讀取識別碼可僅為一次性的。當主機已將所有4個命令指派及發送至記憶體裝置但僅自記憶體裝置接收已執行第一、第二及第四命令之一指示時,則主機無法將第三識別碼指派至另一命令直至具有第三識別碼之命令已藉由記憶體裝置執行。該等第一及第二讀取識別碼可藉由主機再次使用,但該第三讀取識別碼不應藉由主機使用。讀取增量資訊可與讀取命令一起發送以指示該記憶體裝置應跳過一讀取識別碼。在以上實例中,讀取增量資訊可包含一讀取增量1,從而指示應跳過第三識別碼。一記憶體裝置藉由基於讀取增量資訊可累加識別碼以指派至一命令,使得藉由主機指派至一命令之下一個可用讀取識別碼亦將藉由該記憶體裝置指派至該命令。在圖3中,記憶體裝置304可自主機302接收命令344且將基於添加1之一讀取識別碼345及與讀取增量(RID_INC)資訊相關聯之值指派至藉由記憶體裝置304指派至一命令之最近讀取識別碼。 圖4繪示根據本發明之若干實施例之若干讀取命令及一阻障命令。在圖4中,一主機402可將讀取命令444-1、444-2及444-3及阻障命令446發送至一記憶體裝置404。阻障命令446可指示先於阻障命令446發送至記憶體裝置404之命令444-1、444-2及444-3在阻障命令446後發送至記憶體裝置404之命令444-4、444-5及444-6之前執行。圖4中,指示讀取命令444-3已執行之讀取識別(RID3)448-3在阻障命令446經發送至記憶體裝置之前發送至主機。阻障命令446指示在任何後續命令之前執行讀取命令444-1及444-2。在將在讀取命令444-1及444-2後執行之阻障命令446後,主機將讀取命令444-4、444-5及444-6發送至記憶體裝置。記憶體裝置執行讀取命令444-1及444-2且發送讀取識別448-1及448-2。一旦阻障命令前發送至記憶體裝置之所有命令已執行,則阻障命令後發送至該記憶體裝置之該等命令可執行。因此,記憶體裝置執行讀取命令444-4、444-5、444-6且將讀取識別448-4、448-5及448-6發送至主機402。 在若干實施例中,阻障命令可施加至所有類型之命令、僅讀取命令、或僅寫入命令。例如,一讀取阻障命令可經發送以指示先於阻障命令發送之所有讀取命令將在阻障命令後發送之任何讀取命令前執行。當一記憶體裝置可以非確定性時序執行命令時,阻障命令可藉由一主機使用以控制執行命令之時序。 圖5繪示根據本發明之若干實施例之一讀取命令及包含叢發長度資訊之一寫入命令。在圖5中,一讀取命令544可包含一叢發長度指示且一寫入命令562可包含一叢發長度指示。叢發長度可經由讀取及/或寫入命令中之一指示藉由主機動態地改變。一叢發長度指示可藉由一主機502以任何類型之命令(包含一叢發長度指示命令)發送至一記憶體裝置504。叢發長度可基於與一命令、一類型之命令、其上將執行一命令之一類型之記憶體裝置相關聯之一定量之資料及是否期望延時或頻寬最佳化藉由主機而改變。 圖6A至圖6D繪示根據本發明之若干實施例之一暫存器以指示一讀取緩衝器及寫入緩衝器之大小。在圖6A及圖6B中,一暫存器可經格式化以指示讀取項652-1及652-2之一數目及寫入項654-1及654-2之一數目。暫存器可定位於一記憶體裝置上且一主機可程式化該暫存器。暫存器中指示之讀取項652-1及652-2之數目及寫入項654-1及654-2之數目可用於控制一讀取緩衝器及一寫入緩衝器之一大小。例如,讀取項指示651-1可對應於具有一特定大小之一讀取緩衝器656-1且寫入項指示654-1可對應於具有一特定大小之一寫入緩衝器658-1。讀取緩衝器656-1之大小可小於寫入緩衝器658-1之大小。讀取項指示651-2可對應於具有一特定大小之一讀取緩衝器656-2且寫入項指示654-2可對應於具有一特定大小之一寫入緩衝器658-2。讀取緩衝器656-2之大小可大於寫入緩衝器658-1及讀取緩衝器656-1之大小。暫存器中之讀取項指示652及寫入項指示654可基於藉由主機發出之讀取命令及寫入命令之相對量而藉由主機更新。每當該等當前讀取項及/或該等寫入緩衝器項可藉由更新讀取及/或寫入指示而容納時,讀取項指示652及寫入項指示654可更新。 在若干實施例中,一緩衝器可包含讀取及寫入項兩者且一暫存器可經程式化以界定用於該緩衝器之讀取項之一臨限數目及用於該緩衝器之寫入項之一臨限數目。主機可追蹤緩衝器中之未處理讀取項及寫入項之數目以確保緩衝器不包含比讀取項之臨限數目及藉由暫存器界定之寫入項之臨限數目更多之項。暫存器可經更新以改變用於緩衝器之讀取項之臨限數目及用於緩衝器之寫入項之一臨限數目。 儘管已在本文中繪示及描述特定實施例,但一般技術者將暸解經計算以達成相同結果之一配置可取代展示之特定實施例。本發明旨在涵蓋本發明之各種實施例之調適或變化。應理解,已以一繪示性方式而非一限制性方式做出上述描述。熟習此項技術者在審查上文描述後將明白未在本文中特別描述之上述實施例之組合及其他實施例。本發明之各種實施例之範疇包含其中使用上文結構及方法之其他應用。因此,應參考隨附發明申請專利範圍以及涵括此等發明申請專利範圍之等效物之全部範圍判定本發明之各種實施例之範疇。 在前述實施方式中,出於簡化本發明之目的,各種特徵共同分組於一單一實施例中。本發明之此方法不應解釋為反映本發明之所揭示實施例必須使用多於在每一請求項中明確敘述之特徵之一意圖。實情係,如以下發明申請專利範圍反映,發明標的物可係基於少於一單一所揭示實施例之所有特徵。因此,以下發明申請專利範圍併入實施方式中,其中各請求項單獨作為一獨立實施例。
100‧‧‧運算系統
102‧‧‧主機
104-1‧‧‧記憶體系統
104-N‧‧‧記憶體系統
108‧‧‧主機控制器
110-1‧‧‧記憶體裝置
110-2‧‧‧記憶體裝置
110-X‧‧‧記憶體裝置
110-Y‧‧‧記憶體裝置
112-1‧‧‧通道
112-N‧‧‧通道
114‧‧‧控制器
116‧‧‧緩衝器
118‧‧‧暫存器
230-0‧‧‧區塊緩衝器位址暫存器
230-R‧‧‧區塊緩衝器位址暫存器
231-0‧‧‧狀態資訊
231-R‧‧‧狀態資訊
233-0‧‧‧緩衝器最終位址
233-R‧‧‧緩衝器最終位址
235-0‧‧‧緩衝器起始位址
235-R‧‧‧緩衝器起始位址
232-0‧‧‧目標位址暫存器
232-R‧‧‧目標位址暫存器
234‧‧‧命令
302‧‧‧主機
304‧‧‧記憶體裝置
344‧‧‧命令
345‧‧‧讀取識別碼
402‧‧‧主機
404‧‧‧記憶體裝置
444-1‧‧‧讀取命令
444-2‧‧‧讀取命令
444-3‧‧‧讀取命令
444-4‧‧‧讀取命令
444-5‧‧‧讀取命令
444-6‧‧‧讀取命令
446‧‧‧阻障命令
448-1‧‧‧讀取識別
448-2‧‧‧讀取識別
448-3‧‧‧讀取識別(RID3)
448-4‧‧‧讀取識別
448-5‧‧‧讀取識別
448-6‧‧‧讀取識別
502‧‧‧主機
504‧‧‧記憶體裝置
544‧‧‧讀取命令
562‧‧‧寫入命令
652-1‧‧‧讀取項
652-2‧‧‧讀取項
654-1‧‧‧寫入項指示
654-2‧‧‧寫入項/寫入項指示
656-1‧‧‧讀取緩衝器/讀取項
656-2‧‧‧讀取緩衝器
658-1‧‧‧寫入緩衝器/寫入項
658-2‧‧‧寫入緩衝器
圖1係根據本發明之若干實施例之呈包含一記憶體系統之一運算系統之形式之一設備之一方塊圖。 圖2A至圖2C繪示根據本發明之若干實施例之暫存器及與一區塊緩衝器相關聯之命令。 圖3繪示根據本發明之若干實施例之包含讀取增量資訊之一讀取命令。 圖4繪示根據本發明之若干實施例之若干讀取命令及一阻障命令。 圖5繪示根據本發明之若干實施例之一讀取命令及包含叢發長度資訊之一寫入命令。 圖6A至圖6D繪示根據本發明之若干實施例之一暫存器以指示一讀取緩衝器之一大小及寫入緩衝器之一大小。
100‧‧‧運算系統
102‧‧‧主機
104-1‧‧‧記憶體系統
104-N‧‧‧記憶體系統
108‧‧‧主機控制器
110-1‧‧‧記憶體裝置
110-2‧‧‧記憶體裝置
110-X‧‧‧記憶體裝置
110-Y‧‧‧記憶體裝置
112-1‧‧‧通道
112-N‧‧‧通道
114‧‧‧控制器
116‧‧‧緩衝器
118‧‧‧暫存器

Claims (23)

  1. 一種設備,其包括: 一記憶體裝置;及 一控制器,其耦合至該記憶體裝置,該記憶體裝置經組態以: 使用一區塊組態暫存器基於自一主機接收之命令對該記憶體裝置之若干區塊緩衝器執行操作,其中該等操作經執行以自該若干區塊緩衝器讀取資料及將資料寫入至該記憶體裝置上之該若干區塊緩衝器。
  2. 如請求項1之設備,其中該區塊組態暫存器包含一區塊緩衝器位址暫存器,該區塊緩衝器位址暫存器包含一起始位址、一最終位址及用於該若干區塊緩衝器之各者之狀態資訊。
  3. 如請求項1之設備,其中該區塊組態暫存器包含一目標位址暫存器及一狀態暫存器,該目標位址暫存器包含用於該若干區塊緩衝器之各者之一目標位址且該狀態暫存器包含用於該若干區塊緩衝器之各者之狀態資訊。
  4. 如請求項1之設備,其中該主機將命令發送至該控制器以程式化該區塊組態暫存器,該區塊組態暫存器設定用於該若干區塊緩衝器之各者之一起始位址、用於該若干區塊緩衝器之各者之一最終位址、及該記憶體裝置上之一記憶體單元陣列中之一對應目標位址。
  5. 如請求項4之設備,其中該主機將命令發送至該控制器以將資料寫入至該若干區塊緩衝器及自該若干區塊緩衝器讀取資料。
  6. 如請求項5之設備,其中該主機將命令發送至該控制器以將自該若干區塊緩衝器之資料之一部分提交至該記憶體單元陣列中之該等對應目標位址。
  7. 如請求項4之設備,其中自該記憶體單元陣列中之該對應目標位址之資料經寫入至該若干區塊緩衝器且藉由該主機自該若干區塊緩衝器讀取該資料。
  8. 如請求項4之設備,其中在完成命令之後更新用於該若干區塊緩衝器之狀態資訊。
  9. 一種設備,其包括: 一記憶體裝置;及 一控制器,其耦合至該記憶體裝置,該記憶體裝置經組態以: 基於自包含一讀取增量值之一主機接收之一讀取命令對該記憶體裝置執行操作,其中該讀取增量值將一值指示給該控制器,藉由該值增加用於將一記憶體裝置讀取識別碼指派至該讀取命令之一計數器。
  10. 如請求項9之設備,其中該主機亦藉由該讀取增量值增加一主機讀取識別碼,該讀取增量值容許當該等設備未完成執行先前發送讀取命令時容許該主機繼續將讀取命令發送至該等設備。
  11. 如請求項9之設備,其中該讀取增量值容許該等設備以藉由該控制器判定之一順序執行讀取命令。
  12. 如請求項9之設備,其中該控制器經組態以將該記憶體讀取識別碼指派至該讀取命令,該讀取命令藉由1加包含於自該主機發送之該讀取命令中之該讀取增量值增加一計數器而藉由該記憶體裝置接收。
  13. 如請求項9之設備,其中該控制器經組態以跳過根據該讀取增量值尚未藉由增加該計數器執行之記憶體裝置讀取識別碼。
  14. 一種設備,其包括: 一記憶體裝置;及 一控制器,其耦合至該記憶體裝置,該記憶體裝置經組態以: 基於對該記憶體裝置執行自一主機接收之一阻障命令,其中該阻障命令指示藉由該記憶體裝置先前接收之命令將在藉由該記憶體裝置在該阻障命令後接收之命令之前執行。
  15. 如請求項14之設備,其中該阻障命令為一寫入阻障命令,其指示藉由該記憶體裝置先前接收之寫入命令將在藉由該記憶體裝置在該寫入阻障命令後接收之寫入命令之前執行。
  16. 如請求項14之設備,其中該阻障命令為一讀取阻障命令,其指示藉由該記憶體裝置先前接收之讀取命令將在藉由該記憶體裝置在該讀取阻障命令後接收之讀取命令之前執行。
  17. 如請求項14之設備,其中藉由一行命令中之一位元指示之該阻障命令程式化該控制器上之一暫存器以依藉由該控制器接收該等命令之該順序執行藉由該記憶體裝置先前接收之命令。
  18. 一種設備,其包括: 一記憶體裝置;及 一控制器,其耦合至該記憶體裝置,該記憶體裝置經組態以: 根據指示用於該記憶體裝置之一叢發長度之一叢發長度訊號在該記憶體裝置上執行操作。
  19. 如請求項18之設備,其中該叢發長度訊號基於一類型之該記憶體裝置使得該叢發長度訊號指示用於該記憶體裝置之一第一叢發長度及用於該控制器上之一緩衝器之一第二叢發長度。
  20. 如請求項18之設備,其中該控制器自該主機接收具有該叢發長度訊號之命令且其中該叢發長度訊號基於一命令中之請求大小。
  21. 一種設備,其包括: 一記憶體裝置;及 一控制器,其耦合至該記憶體裝置,該記憶體裝置經組態以: 基於自更新一緩衝器暫存器之一主機接收之命令對該記憶體裝置執行操作,其中該緩衝器暫存器組態一緩衝器以具有一臨限數目讀取項及一臨限數目寫入項之一容量且其中該控制器監測該緩衝器以確保該緩衝器中之讀取項之一數目及寫入項之一數目小於或等於該臨限數目讀取項及寫入項之該臨限數目。
  22. 如請求項21之設備,其中該緩衝器暫存器組態一緩衝器以具有一第一特定大小之一讀取緩衝器部分及一第二特定大小之一寫入緩衝器部分且其中該緩衝器暫存器經設定以指示該第一特定大小及該第二特定大小。
  23. 如請求項22之設備,其中該主機發送後續命令以更新該緩衝器暫存器,該緩衝器暫存器基於該讀取緩衝器或該寫入緩衝器係填滿或部分留空而將該讀取緩衝器部分組態為一第三特定大小且將該寫入緩衝器部分組態為一第四特定大小。
TW106118556A 2016-06-06 2017-06-05 用於記憶體協定之設備 TWI662408B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662346201P 2016-06-06 2016-06-06
US62/346,201 2016-06-06
US15/182,821 US10534540B2 (en) 2016-06-06 2016-06-15 Memory protocol
US15/182,821 2016-06-15

Publications (2)

Publication Number Publication Date
TW201807575A true TW201807575A (zh) 2018-03-01
TWI662408B TWI662408B (zh) 2019-06-11

Family

ID=60483878

Family Applications (2)

Application Number Title Priority Date Filing Date
TW108116191A TWI744632B (zh) 2016-06-06 2017-06-05 半導體設備及在一記憶體裝置上執行操作之方法
TW106118556A TWI662408B (zh) 2016-06-06 2017-06-05 用於記憶體協定之設備

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW108116191A TWI744632B (zh) 2016-06-06 2017-06-05 半導體設備及在一記憶體裝置上執行操作之方法

Country Status (6)

Country Link
US (3) US10534540B2 (zh)
EP (1) EP3465449B1 (zh)
KR (5) KR20220127374A (zh)
CN (2) CN115525587A (zh)
TW (2) TWI744632B (zh)
WO (1) WO2017213876A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10152237B2 (en) 2016-05-05 2018-12-11 Micron Technology, Inc. Non-deterministic memory protocol
US10534540B2 (en) * 2016-06-06 2020-01-14 Micron Technology, Inc. Memory protocol
US10585624B2 (en) 2016-12-01 2020-03-10 Micron Technology, Inc. Memory protocol
US11003602B2 (en) 2017-01-24 2021-05-11 Micron Technology, Inc. Memory protocol with command priority
KR102340094B1 (ko) * 2017-03-31 2021-12-17 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
US10635613B2 (en) 2017-04-11 2020-04-28 Micron Technology, Inc. Transaction identification
JP2018205859A (ja) * 2017-05-31 2018-12-27 キヤノン株式会社 メモリコントローラとその制御方法
US11132145B2 (en) 2018-03-14 2021-09-28 Apple Inc. Techniques for reducing write amplification on solid state storage devices (SSDs)
US11474741B1 (en) * 2020-06-30 2022-10-18 Amazon Technologies, Inc. Storage device write barriers
US20220206946A1 (en) * 2020-12-28 2022-06-30 Advanced Micro Devices, Inc. Method and apparatus for managing a cache directory
US20230376206A1 (en) * 2021-03-19 2023-11-23 Micron Technology, Inc. Write booster buffer flush operation
US11941291B2 (en) * 2021-09-02 2024-03-26 Micron Technology, Inc. Memory sub-system command fencing

Family Cites Families (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4467411A (en) 1981-03-06 1984-08-21 International Business Machines Corporation Scheduling device operations in a buffered peripheral subsystem
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
JPH0561748A (ja) 1991-09-02 1993-03-12 Nippon Telegr & Teleph Corp <Ntt> データベース・アクセスにおける同期確認の自動化方式
US5452311A (en) * 1992-10-30 1995-09-19 Intel Corporation Method and apparatus to improve read reliability in semiconductor memories
DE69300523T2 (de) * 1993-11-26 1996-03-14 Sgs Thomson Microelectronics Prozessorschnittstellenschaltung zum Austausch von seriellen digitalen Daten mit einem Peripheriegerät.
US5574944A (en) 1993-12-15 1996-11-12 Convex Computer Corporation System for accessing distributed memory by breaking each accepted access request into series of instructions by using sets of parameters defined as logical channel context
JP3435267B2 (ja) * 1995-11-07 2003-08-11 株式会社東芝 マイクロプロセッサ及びそのロードアドレス予想方法
US5915265A (en) 1995-12-22 1999-06-22 Intel Corporation Method and apparatus for dynamically allocating and resizing the dedicated memory in a shared memory buffer architecture system
US5774683A (en) * 1996-10-21 1998-06-30 Advanced Micro Devices, Inc. Interconnect bus configured to implement multiple transfer protocols
US5937423A (en) * 1996-12-26 1999-08-10 Intel Corporation Register interface for flash EEPROM memory arrays
US6370619B1 (en) 1998-06-22 2002-04-09 Oracle Corporation Managing partitioned cache
US6349363B2 (en) 1998-12-08 2002-02-19 Intel Corporation Multi-section cache with different attributes for each section
US6370614B1 (en) 1999-01-26 2002-04-09 Motive Power, Inc. I/O cache with user configurable preload
US7007099B1 (en) * 1999-05-03 2006-02-28 Lucent Technologies Inc. High speed multi-port serial-to-PCI bus interface
US7720928B2 (en) * 2000-06-02 2010-05-18 Hewlett-Packard Development Company, L.P. Centralized fine-grained enhancements for distributed table driven I/O mapping
US6609192B1 (en) * 2000-06-06 2003-08-19 International Business Machines Corporation System and method for asynchronously overlapping storage barrier operations with old and new storage operations
EP1215577B1 (en) 2000-08-21 2012-02-22 Texas Instruments Incorporated Fault management and recovery based on task-ID
FR2821478A1 (fr) * 2001-02-23 2002-08-30 St Microelectronics Sa Procede et dispositif de lecture sequentielle d'une memoire avec saut d'adresse
US6832280B2 (en) 2001-08-10 2004-12-14 Freescale Semiconductor, Inc. Data processing system having an adaptive priority controller
US6738831B2 (en) 2001-12-12 2004-05-18 Intel Corporation Command ordering
US6957308B1 (en) * 2002-07-11 2005-10-18 Advanced Micro Devices, Inc. DRAM supporting different burst-length accesses without changing the burst length setting in the mode register
US7308524B2 (en) * 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
JP3808837B2 (ja) * 2003-03-11 2006-08-16 株式会社東芝 キャッシュメモリーシステム
US7058764B2 (en) 2003-04-14 2006-06-06 Hewlett-Packard Development Company, L.P. Method of adaptive cache partitioning to increase host I/O performance
US7139878B2 (en) 2003-06-20 2006-11-21 Freescale Semiconductor, Inc. Method and apparatus for dynamic prefetch buffer configuration and replacement
US7480754B2 (en) 2003-06-27 2009-01-20 Seagate Technology, Llc Assignment of queue execution modes using tag values
KR100557215B1 (ko) 2003-08-19 2006-03-10 삼성전자주식회사 유에스비 디바이스의 엔드포인트 제어 장치 및 그 방법
KR100560773B1 (ko) * 2003-10-09 2006-03-13 삼성전자주식회사 동작 모드의 재설정없이 버스트 길이를 제어할 수 있는반도체 메모리 장치 및 그것을 포함하는 메모리 시스템
US7826614B1 (en) * 2003-11-05 2010-11-02 Globalfoundries Inc. Methods and apparatus for passing initialization vector information from software to hardware to perform IPsec encryption operation
US7657706B2 (en) * 2003-12-18 2010-02-02 Cisco Technology, Inc. High speed memory and input/output processor subsystem for efficiently allocating and using high-speed memory and slower-speed memory
US7103803B2 (en) 2004-01-08 2006-09-05 International Business Machines Corporation Method for verification of command processing in a computer system design having a multiple priority command queue
US7519788B2 (en) * 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
US8082382B2 (en) 2004-06-04 2011-12-20 Micron Technology, Inc. Memory device with user configurable density/performance
US7536506B2 (en) 2004-06-21 2009-05-19 Dot Hill Systems Corporation RAID controller using capacitor energy source to flush volatile cache data to non-volatile memory during main power outage
US7243200B2 (en) * 2004-07-15 2007-07-10 International Business Machines Corporation Establishing command order in an out of order DMA command queue
US7500045B2 (en) * 2005-03-23 2009-03-03 Qualcomm Incorporated Minimizing memory barriers when enforcing strongly-ordered requests in a weakly-ordered processing system
US9026744B2 (en) * 2005-03-23 2015-05-05 Qualcomm Incorporated Enforcing strongly-ordered requests in a weakly-ordered processing
US7574536B2 (en) 2005-04-22 2009-08-11 Sun Microsystems, Inc. Routing direct memory access requests using doorbell addresses
US7457910B2 (en) 2005-06-29 2008-11-25 Sandisk Corproation Method and system for managing partitions in a storage device
US7516247B2 (en) * 2005-08-12 2009-04-07 Advanced Micro Devices, Inc. Avoiding silent data corruption and data leakage in a virtual environment with multiple guests
CA2625318C (en) * 2006-01-05 2010-09-28 X-Ray Flux Pty Ltd Nickel flux composition
US7574565B2 (en) * 2006-01-13 2009-08-11 Hitachi Global Storage Technologies Netherlands B.V. Transforming flush queue command to memory barrier command in disk drive
US7917676B2 (en) * 2006-03-10 2011-03-29 Qualcomm, Incorporated Efficient execution of memory barrier bus commands with order constrained memory accesses
US7469329B2 (en) 2006-03-30 2008-12-23 International Business Machines Corporation Methods for dynamically resizing memory pools
JP4895183B2 (ja) 2006-07-21 2012-03-14 キヤノン株式会社 メモリコントローラ
US7711889B2 (en) 2006-07-31 2010-05-04 Kabushiki Kaisha Toshiba Nonvolatile memory system, and data read/write method for nonvolatile memory system
US8074022B2 (en) 2006-09-28 2011-12-06 Virident Systems, Inc. Programmable heterogeneous memory controllers for main memory with different memory modules
US20090276556A1 (en) 2006-10-04 2009-11-05 Mediatek Inc. Memory controller and method for writing a data packet to or reading a data packet from a memory
US7904644B1 (en) * 2006-11-01 2011-03-08 Marvell International Ltd. Disk channel system with sector request queue
US20080162735A1 (en) 2006-12-29 2008-07-03 Doug Voigt Methods and systems for prioritizing input/outputs to storage devices
US20080189501A1 (en) * 2007-02-05 2008-08-07 Irish John D Methods and Apparatus for Issuing Commands on a Bus
US7596643B2 (en) 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
KR100904758B1 (ko) * 2007-02-08 2009-06-29 삼성전자주식회사 버퍼 메모리를 포함하는 플래쉬 메모리 장치 및 시스템,플래쉬 메모리 장치의 데이터 업데이트 방법
US7924521B1 (en) * 2007-04-10 2011-04-12 Marvell International Ltd. Data wedge format table synchronization
US7996599B2 (en) 2007-04-25 2011-08-09 Apple Inc. Command resequencing in memory operations
US7984202B2 (en) * 2007-06-01 2011-07-19 Qualcomm Incorporated Device directed memory barriers
US8874831B2 (en) 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
US8006047B2 (en) 2007-06-27 2011-08-23 Hitachi Global Storage Technologies Netherlands B.V. Storage device with write barrier sensitive write commands and write barrier insensitive commands
US7899999B2 (en) 2007-06-27 2011-03-01 Microsoft Corporation Handling falsely doomed parents of nested transactions
US8438356B2 (en) * 2007-10-01 2013-05-07 Marvell World Trade Ltd. Flash memory controller
US7870351B2 (en) 2007-11-15 2011-01-11 Micron Technology, Inc. System, apparatus, and method for modifying the order of memory accesses
US9513959B2 (en) 2007-11-21 2016-12-06 Arm Limited Contention management for a hardware transactional memory
TW200929237A (en) * 2007-12-21 2009-07-01 Winbond Electronics Corp Memory architecture and configuration method thereof
US20090327535A1 (en) 2008-06-30 2009-12-31 Liu Tz-Yi Adjustable read latency for memory device in page-mode access
JP4631948B2 (ja) * 2008-08-13 2011-02-16 日本電気株式会社 情報処理装置及び順序保証方式
US8332608B2 (en) 2008-09-19 2012-12-11 Mediatek Inc. Method of enhancing command executing performance of disc drive
TW201013400A (en) 2008-09-22 2010-04-01 Promise Technology Inc Memory control system, data recovery method and date reading method thereof
KR101525872B1 (ko) 2008-11-06 2015-06-04 삼성전자주식회사 반도체 메모리 시스템의 동작 방법
GB2465611B (en) * 2008-11-25 2011-04-27 British Broadcasting Corp Interleaving or de-interleaving of data of variable rate
KR20110131208A (ko) * 2009-02-09 2011-12-06 램버스 인코포레이티드 동기화된 제어를 갖는 다중 플레인의 비휘발성 메모리
US7983107B2 (en) 2009-02-11 2011-07-19 Stec, Inc. Flash backed DRAM module with a selectable number of flash chips
US8285917B2 (en) * 2009-03-26 2012-10-09 Scaleo Chip Apparatus for enhancing flash memory access
US8352682B2 (en) * 2009-05-26 2013-01-08 Qualcomm Incorporated Methods and apparatus for issuing memory barrier commands in a weakly ordered storage system
CN101908368A (zh) 2009-06-04 2010-12-08 威刚科技(苏州)有限公司 电子存储装置及其操作方法
US8250332B2 (en) 2009-06-11 2012-08-21 Qualcomm Incorporated Partitioned replacement for cache memory
US9324175B2 (en) * 2009-09-11 2016-04-26 Nvidia Corporation Memory coherency in graphics command streams and shaders
TWI454906B (zh) 2009-09-24 2014-10-01 Phison Electronics Corp 資料讀取方法、快閃記憶體控制器與儲存系統
WO2011043012A1 (ja) * 2009-10-05 2011-04-14 パナソニック株式会社 不揮発性半導体記憶装置、信号処理システム、及び信号処理システムの制御方法、並びに不揮発性半導体記憶装置の書き換え方法
JP2011234308A (ja) 2010-04-30 2011-11-17 Toshiba Corp 通信装置、この通信装置に搭載されるプログラマブルデバイス及びそのプログラム書き込み制御方法
US9104583B2 (en) 2010-06-24 2015-08-11 International Business Machines Corporation On demand allocation of cache buffer slots
US8499106B2 (en) 2010-06-24 2013-07-30 Arm Limited Buffering of a data stream
US9141538B2 (en) 2010-07-07 2015-09-22 Marvell World Trade Ltd. Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive
US8949502B2 (en) 2010-11-18 2015-02-03 Nimble Storage, Inc. PCIe NVRAM card based on NVDIMM
JP5296041B2 (ja) 2010-12-15 2013-09-25 株式会社東芝 メモリシステムおよびメモリシステムの制御方法
EP2656216B1 (en) 2010-12-20 2018-12-19 Marvell World Trade Ltd. Device with descriptor scheduler and corresponding method and system
US9779020B2 (en) 2011-02-08 2017-10-03 Diablo Technologies Inc. System and method for providing an address cache for memory map learning
JP2012234363A (ja) 2011-04-28 2012-11-29 Toshiba Corp メモリシステム
US8560778B2 (en) 2011-07-11 2013-10-15 Memory Technologies Llc Accessing data blocks with pre-fetch information
US20130019057A1 (en) 2011-07-15 2013-01-17 Violin Memory, Inc. Flash disk array and controller
US8700834B2 (en) 2011-09-06 2014-04-15 Western Digital Technologies, Inc. Systems and methods for an enhanced controller architecture in data storage systems
US8799557B1 (en) 2011-10-13 2014-08-05 Netapp, Inc. System and method for non-volatile random access memory emulation
US9558030B2 (en) * 2011-11-09 2017-01-31 Intel Corporation Method, apparatus, and system to handle transactions received after a configuration change request
US8880819B2 (en) 2011-12-13 2014-11-04 Micron Technology, Inc. Memory apparatuses, computer systems and methods for ordering memory responses
KR101366960B1 (ko) 2011-12-23 2014-02-25 한양대학교 산학협력단 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법
US9134919B2 (en) 2012-03-29 2015-09-15 Samsung Electronics Co., Ltd. Memory device including priority information and method of operating the same
US9135192B2 (en) 2012-03-30 2015-09-15 Sandisk Technologies Inc. Memory system with command queue reordering
US9347254B2 (en) * 2012-05-04 2016-05-24 The Chamberlain Group, Inc. Command priority levels for an access controller apparatus
CN102789439B (zh) * 2012-06-16 2016-02-10 北京忆恒创源科技有限公司 控制数据传输过程中的中断的方法与存储设备
US8930636B2 (en) * 2012-07-20 2015-01-06 Nvidia Corporation Relaxed coherency between different caches
US9128845B2 (en) 2012-07-30 2015-09-08 Hewlett-Packard Development Company, L.P. Dynamically partition a volatile memory for a cache and a memory partition
JP6053384B2 (ja) 2012-08-08 2016-12-27 キヤノン株式会社 情報処理装置、メモリ制御装置およびその制御方法
US9122401B2 (en) * 2012-08-23 2015-09-01 Apple Inc. Efficient enforcement of command execution order in solid state drives
US20140143476A1 (en) * 2012-11-16 2014-05-22 Rotem Sela Usage of cache and write transaction information in a storage device
US9501332B2 (en) * 2012-12-20 2016-11-22 Qualcomm Incorporated System and method to reset a lock indication
US9250814B2 (en) 2013-02-11 2016-02-02 Apple Inc. Command order re-sequencing in non-volatile memory
US8595427B1 (en) 2013-03-08 2013-11-26 Avalanche Technology, Inc. Non-volatile block storage module using magnetic random access memory (MRAM)
US9128634B1 (en) 2013-03-11 2015-09-08 Marvell International Ltd. Systems and methods of packed command management for non-volatile storage devices
US9741442B2 (en) 2013-03-12 2017-08-22 Sandisk Technologies Llc System and method of reading data from memory concurrently with sending write data to the memory
US20150378886A1 (en) 2013-04-08 2015-12-31 Avalanche Technology, Inc. Software-defined ssd and system using the same
US9418010B2 (en) * 2013-04-17 2016-08-16 Apple Inc. Global maintenance command protocol in a cache coherent system
JP6146128B2 (ja) 2013-05-20 2017-06-14 ヤマハ株式会社 データ処理装置
US10691344B2 (en) 2013-05-30 2020-06-23 Hewlett Packard Enterprise Development Lp Separate memory controllers to access data in memory
US9367472B2 (en) * 2013-06-10 2016-06-14 Oracle International Corporation Observation of data in persistent memory
US10108539B2 (en) * 2013-06-13 2018-10-23 International Business Machines Corporation Allocation of distributed data structures
US9423959B2 (en) * 2013-06-29 2016-08-23 Intel Corporation Method and apparatus for store durability and ordering in a persistent memory architecture
TWI493455B (zh) 2013-07-02 2015-07-21 Phison Electronics Corp 命令佇列管理方法、記憶體控制器及記憶體儲存裝置
US20150033234A1 (en) * 2013-07-23 2015-01-29 Qualcomm Incorporated Providing queue barriers when unsupported by an i/o protocol or target device
US20150067291A1 (en) 2013-08-30 2015-03-05 Kabushiki Kaisha Toshiba Controller, memory system, and method
JP6388654B2 (ja) 2013-12-26 2018-09-12 インテル・コーポレーション メモリアクセス中のデータ並べ替え
US10108372B2 (en) 2014-01-27 2018-10-23 Micron Technology, Inc. Methods and apparatuses for executing a plurality of queued tasks in a memory
US9323610B2 (en) 2014-01-30 2016-04-26 Sandisk Technologies Inc. Non-blocking commands
US9454310B2 (en) 2014-02-14 2016-09-27 Micron Technology, Inc. Command queuing
WO2015126518A2 (en) 2014-02-20 2015-08-27 Rambus Inc. High performance persistent memory
US20150279463A1 (en) 2014-03-31 2015-10-01 Dell Products, L.P. Adjustable non-volatile memory regions of dram-based memory module
KR102126760B1 (ko) 2014-04-07 2020-06-25 삼성전자 주식회사 비휘발성 메모리 장치의 구동 방법
KR102249416B1 (ko) 2014-06-11 2021-05-07 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 구동 방법
US9870318B2 (en) * 2014-07-23 2018-01-16 Advanced Micro Devices, Inc. Technique to improve performance of memory copies and stores
US9489239B2 (en) 2014-08-08 2016-11-08 PernixData, Inc. Systems and methods to manage tiered cache data storage
US9721660B2 (en) 2014-10-24 2017-08-01 Microsoft Technology Licensing, Llc Configurable volatile memory without a dedicated power source for detecting a data save trigger condition
US20160170767A1 (en) * 2014-12-12 2016-06-16 Intel Corporation Temporary transfer of a multithreaded ip core to single or reduced thread configuration during thread offload to co-processor
US20160232112A1 (en) * 2015-02-06 2016-08-11 Futurewei Technologies, Inc. Unified Memory Bus and Method to Operate the Unified Memory Bus
US20170024297A1 (en) 2015-07-22 2017-01-26 Kabushiki Kaisha Toshiba Storage Device and Data Save Method
US9996262B1 (en) * 2015-11-09 2018-06-12 Seagate Technology Llc Method and apparatus to abort a command
US20170160929A1 (en) 2015-12-02 2017-06-08 Hewlett Packard Enterprise Development Lp In-order execution of commands received via a networking fabric
US9792051B2 (en) * 2016-02-24 2017-10-17 Samsung Electronics Co., Ltd. System and method of application aware efficient IO scheduler
US10613763B2 (en) * 2016-04-21 2020-04-07 Adesto Technologies Corporation Memory device having multiple read buffers for read latency reduction
US10534540B2 (en) * 2016-06-06 2020-01-14 Micron Technology, Inc. Memory protocol
US10359955B2 (en) * 2017-02-23 2019-07-23 Western Digital Technologies, Inc. Data storage device configured to perform a non-blocking control update operation
US20180239532A1 (en) * 2017-02-23 2018-08-23 Western Digital Technologies, Inc. Techniques for performing a non-blocking control sync operation
US10261907B2 (en) * 2017-03-09 2019-04-16 International Business Machines Corporation Caching data in a redundant array of independent disks (RAID) storage system
US11194524B2 (en) * 2017-09-15 2021-12-07 Qualcomm Incorporated Apparatus and method for performing persistent write operations using a persistent write command
US10691619B1 (en) * 2017-10-18 2020-06-23 Google Llc Combined integrity protection, encryption and authentication
CN110033799A (zh) * 2018-01-12 2019-07-19 三星电子株式会社 基于屏障命令按顺序存储数据的存储设备
US11016890B2 (en) * 2018-02-05 2021-05-25 Micron Technology, Inc. CPU cache flushing to persistent memory
US10613983B2 (en) * 2018-03-20 2020-04-07 Advanced Micro Devices, Inc. Prefetcher based speculative dynamic random-access memory read request technique
US10671486B2 (en) * 2018-07-25 2020-06-02 International Business Machines Corporation Flashcopy tracking for storage optimization

Also Published As

Publication number Publication date
TWI662408B (zh) 2019-06-11
US11340787B2 (en) 2022-05-24
EP3465449A4 (en) 2020-07-22
WO2017213876A1 (en) 2017-12-14
CN115525587A (zh) 2022-12-27
KR102442495B1 (ko) 2022-09-14
KR102183016B1 (ko) 2020-11-26
EP3465449B1 (en) 2023-07-05
US11947796B2 (en) 2024-04-02
US20200125263A1 (en) 2020-04-23
KR102344768B1 (ko) 2021-12-31
TWI744632B (zh) 2021-11-01
KR102299721B1 (ko) 2021-09-10
US20220276786A1 (en) 2022-09-01
EP3465449A1 (en) 2019-04-10
KR20210113690A (ko) 2021-09-16
US10534540B2 (en) 2020-01-14
KR20220000931A (ko) 2022-01-04
CN109313620B (zh) 2022-11-01
KR20220127374A (ko) 2022-09-19
US20170351433A1 (en) 2017-12-07
KR20200133822A (ko) 2020-11-30
KR20190003821A (ko) 2019-01-09
CN109313620A (zh) 2019-02-05
TW201935246A (zh) 2019-09-01

Similar Documents

Publication Publication Date Title
TWI662408B (zh) 用於記憶體協定之設備
TWI668703B (zh) 具有可程式化緩衝器及快取大小的記憶體協定
US20210263867A1 (en) Memory protocol with command priority
US20200097213A1 (en) Addressing in memory with a read identification (rid) number
KR102267388B1 (ko) 메모리 프로토콜