TWI660367B - 記憶體控制器 - Google Patents

記憶體控制器 Download PDF

Info

Publication number
TWI660367B
TWI660367B TW107120735A TW107120735A TWI660367B TW I660367 B TWI660367 B TW I660367B TW 107120735 A TW107120735 A TW 107120735A TW 107120735 A TW107120735 A TW 107120735A TW I660367 B TWI660367 B TW I660367B
Authority
TW
Taiwan
Prior art keywords
memory device
memory
command
host
controller
Prior art date
Application number
TW107120735A
Other languages
English (en)
Other versions
TW201905915A (zh
Inventor
詹姆士 A 二世 霍爾
羅伯特 M 沃克
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 TW201905915A publication Critical patent/TW201905915A/zh
Application granted granted Critical
Publication of TWI660367B publication Critical patent/TWI660367B/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
    • 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/1689Synchronisation and timing concerns
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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

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)
  • Dram (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本發明包含與諸如一主機記憶體控制器之一記憶體控制器有關之設備及方法。一例示性設備可包含經由一通道而耦合至一第一記憶體裝置及一第二記憶體裝置之一主機記憶體控制器,其中該主機記憶體控制器經組態以使用一第一裝置選擇信號來發送第一數目個命令至該第一記憶體裝置,且使用一第二裝置選擇信號來發送第二數目個命令至該第二記憶體裝置。

Description

記憶體控制器
本發明大體上係關於記憶體裝置,且更特定言之係關於使用一記憶體控制器(諸如一主機記憶體控制器)之設備及方法。
通常提供記憶體裝置作為電腦中之內部半導體積體電路或其他電子裝置。存在諸多不同類型之記憶體,包含揮發性記憶體及非揮發性記憶體。揮發性記憶體可需要電力來維護其資料,且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)及同步動態隨機存取記憶體(SDRAM),以及其他。非揮發性記憶體可在未供電時藉由保持所儲存之資料而提供持續性資料,且可包含NAND快閃記憶體、NOR快閃記憶體、唯讀記憶體(ROM)、電可擦除可程式化ROM(EEPROM)、可擦除可程式化ROM(EPROM)及電阻可變記憶體,諸如相變隨機存取記憶體(PCRAM)、電阻隨機存取記憶體(RRAM)及磁阻隨機存取記憶體(MRAM),以及其他。
記憶體亦用作廣泛範圍的電子應用之揮發性及非揮發性資料儲存器。非揮發性記憶體可用於(例如)個人電腦、可攜式記憶體卡(memory stick)、數位相機、蜂巢式電話、可攜式音樂播放器,諸如MP3播放器、電影播放器,及其他電子裝置。記憶體單元可經配置成陣列,其 中該等陣列用於記憶體裝置中。
根據本發明之一項實施例,提供一種設備,其包括:一主機記憶體控制器,其經由一通道而耦合至一第一記憶體裝置及之一第二記憶體裝置,其中該主機記憶體控制器經組態以:使用一第一裝置選擇信號來發送第一數目個命令至該第一記憶體裝置;及使用一第二裝置選擇信號來發送第二數目個命令至該第二記憶體裝置。
根據本發明之另一實施例,提供一種設備,其包括:一第一記憶體裝置;一第二記憶體裝置;及一主機記憶體控制器,其經由一通道而耦合至該第一記憶體裝置及該第二記憶體裝置,其中該主機記憶體控制器經組態以:發送一第一命令至該第一記憶體裝置;及歸因於與該第二記憶體裝置相關聯之時序參數,在發送另一命令至該第一記憶體裝置之前,發送一第二命令至該第二記憶體裝置。
根據本發明之一進一步實施例,提供一種設備,其包括:一第一記憶體裝置;一第二記憶體裝置;及一主機記憶體控制器,其經由一通道而耦合至該第一記憶體裝置及該第二記憶體裝置,其中該控制器經組態以:基於包含一特定類型之命令的一操作來選擇該操作以供在該第一記憶體裝置上執行;及發送與該操作相關聯之一第一命令至該第一記憶體裝置。
根據本發明之一又進一步實施例,提供一種方法,其包括:藉由發送一第一裝置選擇信號至該第一記憶體裝置而選擇一第一記憶體裝置以執行一第一操作;回應於發送該第一裝置選擇信號,發送與該第一操作相關聯之第一數目個命令至該第一記憶體裝置。
根據本發明之一又進一步實施例,提供一種方法,其包括:使用與一第一記憶體裝置相關聯的一主機記憶體控制器上之一第一計時器上,發送來自該主機記憶體控制器之一第一啟動命令至該第一記憶體裝置;及使用與一第二記憶體裝置相關聯的該主機記憶體控制器上之一第二計時器上,在發送另一命令至該第一記憶體裝置之前,發送來自該主機記憶體控制器之一第二啟動命令及一第一存取命令至該第二記憶體裝置。
102‧‧‧主機
104-1……104-N‧‧‧記憶體系統
108-1、……、108-N‧‧‧主機記憶體控制器
110-1、……、110-X、110-Y‧‧‧記憶體裝置
111-1、……、111-Z‧‧‧記憶體裝置
112-1……112-M‧‧‧通道
114‧‧‧控制器
208‧‧‧主機記憶體控制器
210‧‧‧第一記憶體裝置
211‧‧‧第二記憶體裝置
222‧‧‧第一裝置選擇線
224‧‧‧第二裝置選擇線
226‧‧‧資料匯流排
228‧‧‧命令/位址匯流排
308‧‧‧主機記憶體控制器
326‧‧‧資料匯流排
328‧‧‧命令/位址匯流排
332‧‧‧主機埠
334‧‧‧寫入資料緩衝器
336‧‧‧讀取資料緩衝器
338‧‧‧命令佇列
340‧‧‧通道控制
342-1、……、342-T‧‧‧狀態機器
344‧‧‧仲裁器
346‧‧‧實體介面
348-1、……、348-S‧‧‧計時器
422‧‧‧裝置選擇線
424‧‧‧裝置選擇線
426‧‧‧命令匯流排
450‧‧‧讀取時間(t1)
452‧‧‧讀取時間(t2)
454-1‧‧‧啟動命令
454-2‧‧‧啟動命令
454-3‧‧‧啟動命令
456‧‧‧取消選擇信號
458-1‧‧‧啟動命令
458-2‧‧‧啟動命令
460‧‧‧裝置命令信號
462‧‧‧位址信號
464‧‧‧命令信號
466‧‧‧位址信號
t1‧‧‧讀取時間
t2‧‧‧讀取時間
圖1係根據本發明之若干實施例之呈包含一記憶體系統之一運算系統之形式之一設備之一方塊圖。
圖2係根據本發明之實施例之呈包含耦合至記憶體裝置之一主機記憶體控制器之一運算系統之形式之一設備之一方塊圖。
圖3係根據本發明之實施例之呈一主機記憶體控制器之形式之一設備之一方塊圖。
圖4A及圖4B係根據本發明之若干實施例之由一主機記憶體控制器發送之命令及信號之時序圖。
本發明包含與一記憶體控制器(諸如一主機記憶體控制器)有關之設備及方法。一例示性設備可包含經由一通道而耦合至一第一記憶體裝置及一第二記憶體裝置之一主機記憶體控制器,其中該主機記憶體控制器經組態以使用一第一裝置選擇信號來發送第一數目個命令至該第一記憶體裝置,且使用一第二裝置選擇信號來發送第二數目個命令至該第二記憶體裝置。
在若干實施例中,包含一主機處理器之一主機可經由一通 道而耦合至若干記憶體裝置。若干記憶體裝置可包含若干第一記憶體裝置(諸如非揮發性記憶體)及若干第二記憶體裝置(諸如揮發性記憶體)。該主機可選擇命令以供在該第一記憶體裝置及/或該第二記憶體裝置上執行。可在由該第一記憶體裝置及該第二記憶體裝置共用之一命令/位址匯流排上發送與在該第一記憶體裝置及/或該第二記憶體裝置上待執行之命令相關聯之信號至該第一記憶體裝置及/或該第二記憶體裝置。可藉由在一第一裝置選擇線上發送一第一裝置選擇信號至該等第一記憶體裝置而選擇該等第一記憶體裝置,接著隨後在該命令/位址匯流排上發送之信號將被發送至該等第一記憶體裝置。可藉由在一第二裝置選擇線上發送一第二裝置選擇信號至該等第二記憶體裝置而選擇該等第二記憶體裝置,接著隨後在該命令/位址匯流排上發送之信號將被發送至該等第二記憶體裝置。該等裝置選擇信號可用於選擇記憶體裝置以考量與該等記憶體裝置相關聯之時序參數及/或考量由特定記憶體裝置支援之命令。
在若干實施例中,可使用在一第一裝置選擇線上發送之一第一裝置選擇信號來選擇該第一記憶體裝置且發送與該第一命令相關聯之信號至該第一記憶體裝置而開始執行一第一命令。與一第一記憶體裝置及一第二記憶體裝置相關聯之時序參數可允許在該第一記憶體裝置正在執行該第一命令時在該第二記憶體裝置上開始執行另一命令。當該第一記憶體裝置正在執行該第一命令時,可藉由使用在一第二裝置選擇線上發送之一第二裝置選擇信號來選擇該第二記憶體裝置而開始執行一第二命令,且與該第二命令相關聯之信號可被發送至該第二記憶體裝置。該主機記憶體控制器可藉由在該第二裝置選擇線發送額外裝置選擇信號上而發送用於正在該第二記憶體裝置上執行之該第二命令之額外信號。在另一實施例中,該 主機記憶體控制器可經由該第一裝置選擇線而選擇該第一記憶體裝置且發送與正在該第一記憶體裝置上執行之該第一命令相關聯之額外信號。該主機記憶體控制器可使用該主機記憶體控制器上之計時器,基於與該等記憶體裝置相關聯之時序參數來控制何時發送信號至該等記憶體裝置之該時序。
在若干實施例中,可使用在一第一裝置選擇線上發送之一第一裝置選擇信號來選擇該第一記憶體裝置且發送與該第一命令相關聯之信號至該第一記憶體裝置而開始執行一第一命令。與該第一命令相關聯之該等信號可由該第一記憶體裝置支援,但可不由該第二記憶體裝置支援。在該等裝置選擇線上發送該等裝置選擇信號至該等記憶體裝置以選擇哪些記憶體裝置將接收可用以發送命令至支援正被發送之命令之記憶體裝置的信號。可經由一第二裝置選擇線發送一裝置選擇信號至一第二記憶體裝置而選擇該第二記憶體裝置。與在該第二記憶體裝置上待執行之一命令相關聯之信號可被發送至該第二記憶體裝置。該等信號可由該第二記憶體裝置支援,但不可由該第一記憶體裝置支援。該主機記憶體控制器可使用該主機記憶體控制器上之狀態機器來控制哪些記憶體裝置將接收信號。
在本發明之以下詳細描述中,參考形成本發明之一部分之附圖,且在其中以繪示方式展示可如何實踐本發明之若干實施例。此等實施例被足夠詳細地描述以使一般技術者能夠實踐本發明之該等實施例,且應瞭解:可利用其他實施例,及可在不脫離本發明之範疇之情況下作出程序、電性及/或結構改變。如本文中所使用,標示符「M」、「N」、「S」、「T」、「X」、「Y」及「Z」指示:本發明之若干實施例中可包含如此標示之若干特定特徵。
如本文中所使用,「若干」某物可指代此等事物之一或多者。例如,若干記憶體裝置可指代記憶體裝置之一或多者。另外,如本文中所使用,諸如「M」、「N」、「S」、「T」、「X」、「Y」及「Z」之標示符(尤其相對於圖式中之參考元件符號)指示:本發明之若干實施例中可包含如此標示之若干特定特徵。
本文中之圖式遵循一編號慣例,其中第一數字或若干第一數字對應於圖式編號,且其餘數字識別圖式中之一元件或組件。可藉由使用類似數字來識別不同圖之間的類似元件或組件。例如,108可意指圖1中之元件「08」,且一類似元件可稱為圖3中之308。應瞭解,可新增、交換及/或消除本文中在各種實施例中所展示之元件,以便提供本發明之若干額外實施例。另外,圖中所提供元件之比例及相對尺度意欲繪示本發明之各種實施例,而不係以限制意義被使用。
圖1係根據本發明之一或多項實施例之包含呈若干記憶體系統104-1……104-N之形式之一設備之一運算系統之一功能方塊圖。如本文中所使用,一「設備」可指代(但不限於)各種結構之任一者或結構之組合(諸如(例如)一電路或若干電路、一晶粒或若干晶粒、一模組或若干模組、一裝置或若干裝置,或一系統或若干系統)。在圖1中所繪示之實施例中,記憶體系統104-1……104-N可包含一或多個記憶體裝置(諸如記憶體裝置110-1、……、110-X、110-Y及記憶體裝置111-1、……、111-Z)。記憶體裝置110-1、……110-X、110-Y及記憶體裝置111-1、……111-Z可包含揮發性記憶體及/或非揮發性記憶體。例如,記憶體裝置110-1、……、110-X、110-Y可係非揮發性RRAM記憶體,且記憶體裝置111-1、……111-Z可係DRAM記憶體。在圖1中,經由通道112-1而耦合至主 機的記憶體系統104-1可包含記憶體裝置110-1、……、110-X。在此實例中,各記憶體裝置110-1、……110-X、110-Y及111-1、……、111-Z包含一控制器114。控制器114可接收來自主機102之命令,且控制一記憶體裝置上之命令的執行。記憶體裝置110-1、……、110-X、110-Y及111-1、……、111-Z亦可包含在記憶體裝置上(例如,板上)不包含一控制器的記憶體裝置(諸如(例如)離散記憶體裝置)。
如圖1中所繪示,一主機102可經耦合至記憶體系統104-1……104-N。在若干實施例中,各記憶體系統104-1…104-N可經由一通道而耦合至主機102。在圖1A中,記憶體系統104-1經由通道112-1而耦合至主機102,且記憶體系統104-N經由通道112-M而耦合至主機102。主機102可係一膝上型電腦、個人電腦、數位攝影機、數位記錄及播放裝置、行動電話、PDA、記憶卡讀取器、介面集線器,以及其他主機系統,且可包含一記憶體存取裝置(例如,一處理器)。熟習此項技術者將瞭解,「一處理器」可意指一或多個處理器(諸如一平行處理系統、若干協同處理器等)。
主機102包含一控制器(例如,主機記憶體控制器108-1、……、108-N)以與記憶體系統104-1……104-N通訊。控制器可經定位於主機及/或記憶體系統之另一部分上。主機記憶體控制器108可經由通道112-1……112-M而發送命令至記憶體裝置110-1、……、110-X、110-Y及記憶體裝置111-1、……、111-Z。主機記憶體控制器108可與記憶體裝置110-1、……、110-X、110-Y及記憶體裝置111-1、……、111-Z及/或記憶體裝置110-1、……、110-X、110-Y及記憶體裝置111-1、……、111-Z之各者上之控制器114通訊,以讀取、寫入且擦除資料,以及其他操 作。一實體主機介面可提供一介面,以供在記憶體系統104-1……104-N與主機102(具有用於實體主機介面之相容接受器)之間傳遞控制、位址、資料及其他信號。可(例如)經由通道112-1……112-M在若干匯流排(諸如一資料匯流排及/或一位址匯流排)上於主機102與記憶體裝置110-1、……、110-X、110-Y及記憶體裝置111-1、……、111-Z之間通訊信號。
在若干實施例中,一主機記憶體控制器可:使用一第一位址範圍以定址記憶體裝置110-1、……、110-X、110-Y;及使用一第二位址範圍以定址記憶體裝置111-1、……、111-Z。各記憶體裝置可由主機處理器108直接存取,其中(例如)一第一位址集合(例如,0xAA..AA至0xBB..BB)可用於存取記憶體裝置110-1、……、110-X、110-Y及一第二位址集合(例如,0xCC..CC至0xDD..DD)可用於存取記憶體裝置111-1、……、111-Z。
在若干實施例中,記憶體裝置110-1、……、110-Y可係用於記憶體系統104-N之主記憶體,且記憶體裝置111-1、……、111-Z可係用於記憶體系統104-N之快取區。主機處理器108可使用一位址集合(例如,0xAA..AA至0xDD..DD)來存取記憶體裝置110-1、……、110-Y,且主機處理器108可包含用於快取區(記憶體裝置111-1、……、111-Z)中之資料之標籤資訊,以定位及/或儲存快取區中之資料。用於快取區之標籤資訊亦可經儲存於其他記憶體裝置(諸如記憶體裝置110-1、……、110-X及/或111-1、……、111-Z)中。
在若干實施例中,(例如)可使用一第一位址集合(例如,0xAA..AA至0xBB..BB)來存取記憶體裝置110-1、……、110-Y之一第一 部分,且可使用一第二位址集合(例如,0xCC..CC至0xDD..DD)來存取記憶體裝置111-1、……、111-Z之一第一部分。在若干實施例中,可使用一第三位址集合(例如,0xEE..EE至0xFF..FF)來存取記憶體裝置110-1、……、110-Y之一第二部分,且記憶體裝置111-1、……、111-Z之一第二部分可係用於記憶體裝置110-1、……、110-X、110-Y之第二部分之快取區。
在若干實施例中,基於記憶體裝置之類型,主機記憶體控制器108可藉由將優先順序給定至在特定記憶體裝置110-1、……、110-X、110-Y及111-1、……、111-Z上待執行之命令而控制命令之執行。基於命令之位址集合,主機記憶體控制器108可將優先順序給定至命令,其中具有與特定記憶體裝置相關聯之第一位址集合中之位址之命令可被給定之優先順序優先於具有與一不同記憶體裝置相關聯之一第二位址集合中之位址之命令。可基於一命令佇列中之命令數目及一命令佇列中之命令類型來改變指派至命令之優先順序。可正在開啟記憶體裝置時程式化優先順序指派,且優先順序指派不被改變直至記憶體裝置被關閉且再次開啟。再者,基於主機正發送至記憶體裝置之命令數目及類型,可在記憶體裝置正被操作時改變優先順序指派。在若干實施例中,可基於由主機記憶體控制器正服務之應用程式來修改優先順序指派。
記憶體控制器(諸如一記憶體裝置上之主機記憶體控制器108及/或控制器114)可包含控制電路(例如,硬體、韌體及/或軟體)。在一或多項實施例中,一記憶體裝置上之主機記憶體控制器108及/或控制器114可係耦合至包含一實體介面之一印刷電路板之一特定應用積體電路(ASIC)。
記憶體裝置110-1、……、110-X、110-Y及記憶體裝置111-1、……、111-Z可為記憶體系統提供主記憶體,或可用作額外記憶體或貫穿記憶體系統之儲存器。各記憶體裝置110-1、……、110-X、110-Y及記憶體裝置111-1、……、111-Z可包含記憶體單元(例如,非揮發性記憶體單元)之一或多個陣列。陣列可係(例如)具有一NAND架構之快閃陣列。實施例不受限於一特定類型之記憶體裝置。例如,記憶體裝置可包含RAM、ROM、DRAM、SDRAM、PCRAM、RRAM及快閃記憶體,以及其他。
圖1之實施例可包含未繪示以不混淆本發明之實施例之額外電路。例如,記憶體系統104-1……104-N可包含位址電路以鎖存通過I/O電路在I/O連接上方提供之位址信號。藉由一列解碼器及一行解碼器接收及解碼位址信號以存取記憶體裝置110-1、……、110-X、110-Y及記憶體裝置111-1、……、111-Z。熟習此項技術者將瞭解,位址輸入連接之數目可取決於記憶體裝置110-1、……、110-X、110-Y及記憶體裝置111-1、……、111-Z之密度及架構。在若干實施例中,記憶體裝置110-1、……、110-X、110-Y可具有不同於記憶體裝置111-1、……、111-Z之儲存密度之儲存密度。再者,記憶體裝置110-1、……、110-X、110-Y可使用不同於記憶體裝置111-1、……、111-Z之位址信號之一數目。
圖2係根據本發明之實施例之呈包含耦合至記憶體裝置之一主機記憶體控制器之一運算系統之形式之一設備之一方塊圖。在圖2中,主機記憶體控制器208經由資料匯流排226、命令/位址匯流排228及一第一裝置選擇線222而耦合至一第一記憶體裝置210。主機記憶體控制器208經由資料匯流排226、命令/位址匯流排228及一第二裝置選擇線224而 耦合至一第二記憶體裝置211。主機記憶體控制器可藉由經由裝置選擇線222發送一裝置選擇信號至記憶體裝置210而選擇記憶體裝置210。主機記憶體控制器可藉由經由裝置選擇線224發送一裝置選擇信號至記憶體裝置211而選擇記憶體裝置211。
圖3係根據本發明之實施例之呈一主機記憶體控制器之形式之一設備之一方塊圖。在圖3中,主機記憶體控制器308包含可經耦合至一主機處理器之主機埠332。主機埠332可接收來自一主機處理器之命令,且將該等命令放置於命令佇列338中。來自命令佇列338之命令可經由通道控制340被發送至記憶體裝置。通道控制340可包含狀態機器342-1、……、342-T。可選擇命令以供在狀態機器342-1、……、342-T之一組上執行。狀態機器342-1、……、342-T之特定組可係與特定記憶體裝置相關聯。例如,狀態機器342-1、……、342-T之一第一組可用於在一第一記憶體裝置(例如,圖1中之記憶體裝置110-1)上執行命令,且狀態機器342-1、……、342-T之一第二組可用於在一第二記憶體裝置(例如,圖1中之記憶體裝置111-1)上執行命令。
命令可經由主機記憶體控制器308之仲裁器344及實體介面346而被自狀態機器342-1、……、342-T發送至記憶體裝置。實體介面346可包含計時器348-1、……、348-S。計時器348-1、……、348-S之特定組可係與特定記憶體裝置相關聯。例如,計時器348-1、……、348-S之一第一組可用於控制一第一記憶體裝置(例如,圖1中之記憶體裝置110-1)上之命令的時序,且計時器348-1、……、348-S之一第二組可用於控制一第二記憶體裝置(例如,圖1中之記憶體裝置111-1)上之命令的時序。第一記憶體裝置可具有不同於第二記憶體裝置之時序參數,因此計時器348- 1、……、348-S可經組態以包含控制一不同記憶體裝置上之命令之時序的若干時序參數。來自主機記憶體控制器308之命令可經由資料匯流排326及/或命令/位址匯流排328而被發送至記憶體裝置。與命令相關聯之資料可被儲存於控制器上的寫入資料緩衝器334中,且經由資料匯流排326而自主機發送至記憶體裝置。再者,與命令相關聯的資料可經由資料匯流排326而在來自記憶體裝置的主機處被接收,且被儲存於讀取資料緩衝器336中。
圖4A及圖4B係根據本發明之若干實施例之由一主機記憶體控制器發送之命令及信號的時序圖。在圖4A中,一主機記憶體控制器可基於與記憶體裝置相關聯之時序參數來發送信號至一第一記憶體裝置(例如,圖1中之記憶體裝置110-1)及/或一第二記憶體裝置(例如,圖1中之記憶體裝置111-1)。可經由裝置選擇線424一起發送裝置選擇信號連同啟動命令454-1及454-2至一第一記憶體裝置。被發送之裝置選擇信號可指示啟動命令454-1及454-2係用於經由裝置選擇線424而耦合至主機之(若干)第一記憶體裝置。與在第一裝置上執行命令相關聯的時序參數可包含至讀取時間(t1)450之一啟動,該讀取時間(t1)450允許在啟動至讀取時間450期間於第二記憶體裝置上待啟動及/或執行另一命令。
主機記憶體控制器可藉由經由裝置選擇線422一起發送裝置選擇信號連同啟動命令458-1及458-2至一第二記憶體裝置而在一第二記憶體裝置上開始執行一命令。在第二記憶體裝置上執行命令可正在啟動命令454-1及454-2之後或在一段時間之後發生,如由取消選擇信號456所指示。對第二記憶體裝置的啟動至讀取時間(t2)452使得在第一記憶體裝置將準備好繼續執行其命令之前第二記憶體裝置將準備好繼續執行命令,因 此可針對第二記憶體裝置命令在命令匯流排426上一起發送裝置選擇信號連同裝置命令信號460及位址信號462至第二記憶體裝置。可正在啟動命令458-1及458-2之後或在一段時間之後繼續在第二記憶體裝置上執行命令,如由取消選擇信號456所指示。
在啟動命令458-1及458-2之時間期間,命令信號460及位址信號462被發送至第二記憶體裝置,第一記憶體裝置接近啟動至讀取時間(t1)450之末端。主機記憶體控制器可藉由將裝置選擇信號連同命令信號464及位址信號466發送至命令匯流排426上之第一記憶體裝置而在第一記憶體裝置上繼續執行一命令。可正在裝置命令信號460及位址信號462之後或在一段時間之後繼續在第一記憶體裝置上執行命令,如由取消選擇信號456所指示。
在圖4B中,一主機記憶體控制器可基於由記憶體裝置支援之記憶體裝置之命令類型來發送信號至一第一記憶體裝置(例如,圖1中之記憶體裝置110-1)及/或一第二記憶體裝置(例如,圖1中之記憶體裝置111-1)。例如,一第一記憶體裝置可不支援由一第二記憶體裝置支援之一命令。經由裝置選擇線被發送至記憶體裝置之裝置選擇信號可用於選擇將接收由經選擇記憶體裝置支援之命令之裝置。
在圖4B中,可經由裝置選擇線422一起發送裝置選擇信號連同啟動命令458-1及458-2至一第一記憶體裝置。被發送之裝置選擇信號可指示啟動命令458-1及458-2係用於經由裝置選擇線422而耦合至主機之(若干)第一記憶體裝置。第一記憶體裝置可經組態以支援啟動命令458-1及458-2。
主機記憶體控制器可藉由經由裝置選擇線424一起發送裝 置選擇信號連同啟動命令454-1、454-2及454-3至一第二記憶體裝置而在一第二記憶體裝置上開始執行一命令。可正在啟動信號458-1及458-2之後或在一段時間之後繼續在第二記憶體裝置上執行命令,如由取消選擇信號456所指示。在第二記憶體裝置上正執行之命令可包含啟動命令454-1、454-2及454-3,該等命令可不由第一記憶體裝置支援。經由選擇線424被發送至第二記憶體裝置之裝置選擇信號可選擇用於接收啟動命令454-1、454-2及454-3之第二裝置,該等命令係由第二記憶體裝置支援。
在發送啟動命令454-1、454-2及454-3至第二記憶體裝置之後,經選擇用於由第一記憶體裝置上之主機執行之命令可繼續。主機記憶體控制器可藉由經由裝置選擇線422發送裝置選擇信號至第一記憶體裝置而在第一記憶體裝置上繼續執行命令,以經由命令匯流排426選擇用於接收命令信號460及位址信號462之第一記憶體裝置。可正在啟動信號458-1、458-2及458-3之後或在一段時間之後在第一記憶體裝置上繼續執行命令,如由取消選擇信號456所指示。
儘管已在本文中圖解說明及描述特定實施例,但一般技術者將暸解,經計算以達成相同結果之一配置可取代所示之特定實施例。本發明旨在涵蓋本發明之各種實施例之調適或變化。應理解,已以一闡釋性方式而非一限制性方式作出以上描述。熟習此項技術者在檢視上述描述後將明白上述實施例之組合及未在本文中特別描述之其他實施例。本發明之各種實施例之範疇包含其中使用上述結構及方法之其他應用。因此,應參考隨附申請專利範圍連同涵括此申請專利範圍之等效物之全部範圍判定本發明之各種實施例之範疇。
在前述[實施方式]中,出於簡化本發明之目的,各種特徵 在一單一實施例中一起分組。本發明之此方法不應解釋為反映本發明之所揭示實施例必須使用多於在各請求項中明確敘述之特徵之一意圖。實情係,如以下申請專利範圍反映,發明標的物存在於少於一單一所揭示實施例之所有特徵。因此,以下申請專利範圍藉此併入[實施方式]中,其中各請求項獨立地作為一個別實施例。

Claims (20)

  1. 一種設備,其包括:一主機記憶體控制器,其經由一通道而耦合至一第一記憶體裝置及一第二記憶體裝置,其中該主機記憶體控制器經組態以:使用一第一裝置選擇信號來發送第一數目個命令至該第一記憶體裝置;及基於與該第二記憶體裝置相關聯之時序參數,回應於該主機記憶體控制器發送該第二裝置選擇信號,使用一第二裝置選擇信號來發送第二數目個命令至該第二記憶體裝置。
  2. 如請求項1之設備,其中該通道包含將該主機記憶體控制器耦合至該第一記憶體裝置及該第二記憶體裝置之資料線及命令線。
  3. 如請求項1之設備,其中該通道包含將該主機記憶體控制器耦合至該第一記憶體裝置之一第一裝置選擇線,且其中該通道包含將該主機記憶體控制器耦合至該第二記憶體裝置之一第二裝置選擇線。
  4. 如請求項1之設備,其中回應於該主機記憶體控制器發送該第一裝置選擇信號,在由該第一記憶體裝置及該第二記憶體裝置共用之命令線上,發送該第一數目個命令至該第一記憶體裝置。
  5. 如請求項1之設備,其中在由該第一記憶體裝置及該第二記憶體裝置共用之命令線上,發送該第二數目個命令至該第二記憶體裝置。
  6. 一種設備,其包括:一第一記憶體裝置;一第二記憶體裝置;及一主機記憶體控制器,其經由一通道而耦合至該第一記憶體裝置及該第二記憶體裝置,其中該主機記憶體控制器經組態以:發送一第一命令至該第一記憶體裝置;及歸因於與該第二記憶體裝置相關聯之時序參數,在發送另一命令至該第一記憶體裝置之前,發送一第二命令至該第二記憶體裝置。
  7. 如請求項6之設備,其中在該第一記憶體裝置正被啟動之前,該第二記憶體裝置經啟動且準備好接收該第二命令。
  8. 如請求項6之設備,其中該主機記憶體控制器經組態以在發送該第二命令至該第二記憶體裝置之後,且回應於該第一記憶體裝置正被啟動及準備好接收一第三命令,發送該第三命令至該第一記憶體裝置。
  9. 如請求項6之設備,其中基於與該第一命令相關聯之一位址,該第一命令經選擇用於藉由該主機記憶體控制器上之一狀態機器在該第一記憶體裝置上執行。
  10. 如請求項6之設備,其中使用該主機記憶體控制器上之若干時序暫存器來發送該第一命令、該第二命令及該第三命令。
  11. 一種設備,其包括:一第一記憶體裝置;一第二記憶體裝置;及一主機記憶體控制器,其經由一通道而耦合至該第一記憶體裝置及該第二記憶體裝置,其中該控制器經組態以:基於包含一特定類型之命令之一操作來選擇該操作以供在該第一記憶體裝置上執行;及發送與該操作相關聯之一第一命令至該第一記憶體裝置,其中基於與該第一記憶體裝置相關聯之時序參數及與該第二記憶體裝置相關聯之時序參數,該第一命令連同與該操作相關聯之其他命令一起被發送至該第一記憶體裝置。
  12. 如請求項11之設備,其中回應於一狀態機器選擇用於執行該操作之該第一記憶體裝置,使用一第一選擇信號來發送該第一命令至該第一記憶體裝置。
  13. 如請求項11之設備,其中藉由該主機記憶體控制器來映射該第一記憶體裝置至一第一位址範圍,且藉由該主機記憶體控制器來映射該第二記憶體裝置至一第二位址範圍。
  14. 如請求項11之設備,其中藉由該主機記憶體控制器來映射該第一記憶體裝置至一位址範圍,且該第二記憶體裝置用作用於該第一記憶體裝置之快取區。
  15. 一種方法,其包括:藉由發送一第一裝置選擇信號至一第一記憶體裝置來選擇該第一記憶體裝置以執行一第一操作;回應於發送該第一裝置選擇信號,發送與該第一操作相關聯之第一數目個命令至該第一記憶體裝置;藉由發送一第二裝置選擇信號至一第二記憶體裝置來選擇該第二記憶體裝置以執行一第二操作;及基於該第一記憶體裝置之時序參數來發送與該第二操作相關聯之第二數目個命令至該第二記憶體裝置。
  16. 如請求項15之方法,進一步包含在該第一數目個命令正由該第一記憶體裝置執行之前,發送與該第二操作相關聯之該第二數目個命令至該第二記憶體裝置。
  17. 如請求項15之方法,其中發送與該第一操作相關聯之該第一數目個命令至該第一記憶體裝置包含:發送不可由該第二記憶體裝置執行之該第一數目個命令的一部分。
  18. 一種方法,其包括:使用與一第一記憶體裝置相關聯之一主機記憶體控制器上之一第一計時器,將來自該主機記憶體控制器之一第一啟用命令發送至該第一記憶體裝置;及使用與一第二記憶體裝置相關聯之該主機記憶體控制器上之一第二計時器,在將另一命令發送至該第一記憶體裝置之前,將來自該主機記憶體控制器之一第二啟動命令及一第一存取命令發送至該第二記憶體裝置。
  19. 如請求項18之方法,包含基於給定至在該第一記憶體裝置上待執行之命令的優先順序,將該第一啟動命令發送至該第一記憶體裝置。
  20. 如請求項18之方法,包含基於連續地接收特定數目個先前命令之該第二記憶體裝置,將該第一啟動命令發送至該第一記憶體裝置。
TW107120735A 2017-06-15 2018-06-15 記憶體控制器 TWI660367B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/623,514 2017-06-15
US15/623,514 US10621117B2 (en) 2017-06-15 2017-06-15 Controlling memory devices using a shared channel

Publications (2)

Publication Number Publication Date
TW201905915A TW201905915A (zh) 2019-02-01
TWI660367B true TWI660367B (zh) 2019-05-21

Family

ID=64657357

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107120735A TWI660367B (zh) 2017-06-15 2018-06-15 記憶體控制器

Country Status (6)

Country Link
US (2) US10621117B2 (zh)
EP (1) EP3639148A4 (zh)
KR (1) KR102307372B1 (zh)
CN (1) CN110678853A (zh)
TW (1) TWI660367B (zh)
WO (1) WO2018231744A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102327878B1 (ko) * 2017-11-07 2021-11-17 삼성전자주식회사 반도체 장치 및 반도체 시스템
US10613764B2 (en) * 2017-11-20 2020-04-07 Advanced Micro Devices, Inc. Speculative hint-triggered activation of pages in memory
JP7382678B2 (ja) 2019-08-14 2023-11-17 スーパーメム,アイエヌシー. コンピューティングメモリシステム
US11507493B1 (en) * 2021-08-18 2022-11-22 Micron Technology, Inc. Debugging dataflow computer architectures

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226724B1 (en) * 1997-09-03 2001-05-01 Motorola, Inc. Memory controller and method for generating commands to a memory
TW201432696A (zh) * 2012-10-31 2014-08-16 Mosaid Technologies Inc 具有多模式插腳輸出之快閃記憶體控制器
TW201611030A (zh) * 2014-05-21 2016-03-16 美光科技公司 包括具有多通道共享之校準電路之多通道的裝置
TW201711051A (zh) * 2015-09-11 2017-03-16 東芝股份有限公司 記憶體裝置
TW201714182A (zh) * 2015-10-07 2017-04-16 愛思開海力士有限公司 半導體記憶體裝置及其操作方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4722305B2 (ja) 2001-02-27 2011-07-13 富士通セミコンダクター株式会社 メモリシステム
US6629225B2 (en) * 2001-05-31 2003-09-30 Intel Corporation Method and apparatus for control calibration of multiple memory modules within a memory channel
US7281079B2 (en) * 2003-12-31 2007-10-09 Intel Corporation Method and apparatus to counter mismatched burst lengths
US7685333B2 (en) * 2005-03-22 2010-03-23 Sigmatel, Inc Method and system for communicating with memory devices utilizing selected timing parameters from a timing table
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US7428603B2 (en) * 2005-06-30 2008-09-23 Sigmatel, Inc. System and method for communicating with memory devices via plurality of state machines and a DMA controller
ITRM20060139A1 (it) * 2006-03-13 2007-09-14 Micron Technology Inc Sistema ad unita di controllo distribuito di dispositivo di memoria
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
US8225052B2 (en) * 2009-06-03 2012-07-17 Micron Technology, Inc. Methods for controlling host memory access with memory devices and systems
US8615629B2 (en) * 2010-01-18 2013-12-24 Marvell International Ltd. Access scheduler
JP5570619B2 (ja) * 2010-02-23 2014-08-13 ラムバス・インコーポレーテッド 異なるメモリ種類にアクセスする異なる速度での時分割多重化
US8819687B2 (en) * 2010-05-07 2014-08-26 Advanced Micro Devices, Inc. Scheduling for multiple memory controllers
JP2012008881A (ja) * 2010-06-25 2012-01-12 Elpida Memory Inc メモリシステム及びその制御方法
US8688899B2 (en) 2010-09-28 2014-04-01 Fusion-Io, Inc. Apparatus, system, and method for an interface between a memory controller and a non-volatile memory controller using a command protocol
US9239806B2 (en) * 2011-03-11 2016-01-19 Micron Technology, Inc. Systems, devices, memory controllers, and methods for controlling memory
CN103946816B (zh) 2011-09-30 2018-06-26 英特尔公司 作为传统大容量存储设备的替代的非易失性随机存取存储器(nvram)
US9152553B1 (en) * 2011-12-15 2015-10-06 Marvell International Ltd. Generic command descriptor for controlling memory devices
US9158459B2 (en) 2012-03-05 2015-10-13 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Managing a storage device using a hybrid controller
KR101938210B1 (ko) 2012-04-18 2019-01-15 삼성전자주식회사 낸드 플래시 메모리, 가변 저항 메모리 및 컨트롤러를 포함하는 메모리 시스템의 동작 방법
US9454310B2 (en) * 2014-02-14 2016-09-27 Micron Technology, Inc. Command queuing
KR102148889B1 (ko) 2014-08-18 2020-08-31 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템
US9779021B2 (en) 2014-12-19 2017-10-03 International Business Machines Corporation Non-volatile memory controller cache architecture with support for separation of data streams
US10141935B2 (en) * 2015-09-25 2018-11-27 Intel Corporation Programmable on-die termination timing in a multi-rank system
KR102437591B1 (ko) * 2015-12-03 2022-08-30 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법 및 메모리 컨트롤러의 동작 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226724B1 (en) * 1997-09-03 2001-05-01 Motorola, Inc. Memory controller and method for generating commands to a memory
TW201432696A (zh) * 2012-10-31 2014-08-16 Mosaid Technologies Inc 具有多模式插腳輸出之快閃記憶體控制器
TW201611030A (zh) * 2014-05-21 2016-03-16 美光科技公司 包括具有多通道共享之校準電路之多通道的裝置
TW201711051A (zh) * 2015-09-11 2017-03-16 東芝股份有限公司 記憶體裝置
TW201714182A (zh) * 2015-10-07 2017-04-16 愛思開海力士有限公司 半導體記憶體裝置及其操作方法

Also Published As

Publication number Publication date
US10621117B2 (en) 2020-04-14
CN110678853A (zh) 2020-01-10
EP3639148A4 (en) 2021-02-17
KR20190134795A (ko) 2019-12-04
US20200201793A1 (en) 2020-06-25
US11704260B2 (en) 2023-07-18
EP3639148A1 (en) 2020-04-22
KR102307372B1 (ko) 2021-10-01
WO2018231744A1 (en) 2018-12-20
TW201905915A (zh) 2019-02-01
US20180364919A1 (en) 2018-12-20

Similar Documents

Publication Publication Date Title
TWI660367B (zh) 記憶體控制器
KR102442495B1 (ko) 메모리 프로토콜
TWI668703B (zh) 具有可程式化緩衝器及快取大小的記憶體協定
US11586566B2 (en) Memory protocol with command priority
US11403035B2 (en) Memory module including a controller and interfaces for communicating with a host and another memory module
US11099779B2 (en) Addressing in memory with a read identification (RID) number
US11226770B2 (en) Memory protocol
US11687283B2 (en) Memory module interfaces
US11698870B2 (en) Memory module data buffer