TWI838563B - 串列記憶體設備i/o模式選擇 - Google Patents

串列記憶體設備i/o模式選擇 Download PDF

Info

Publication number
TWI838563B
TWI838563B TW109125261A TW109125261A TWI838563B TW I838563 B TWI838563 B TW I838563B TW 109125261 A TW109125261 A TW 109125261A TW 109125261 A TW109125261 A TW 109125261A TW I838563 B TWI838563 B TW I838563B
Authority
TW
Taiwan
Prior art keywords
memory device
mode
configuration information
bit
processor system
Prior art date
Application number
TW109125261A
Other languages
English (en)
Other versions
TW202111543A (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
Priority claimed from US16/523,429 external-priority patent/US11249678B2/en
Application filed by 美商高通公司 filed Critical 美商高通公司
Publication of TW202111543A publication Critical patent/TW202111543A/zh
Application granted granted Critical
Publication of TWI838563B publication Critical patent/TWI838563B/zh

Links

Images

Abstract

提供了用於串列記憶體設備中記憶體設備模式選擇的方法和裝置。可回應於記憶體設備初始化條件而檢索記憶體設備配置資訊,並且隨後可將包括在記憶體設備配置資訊中的配置暫存器位元遮罩寫入記憶體設備的配置暫存器。亦可被包括在記憶體設備配置資訊中的寫命令可被用於向配置暫存器寫入該配置暫存器位元遮罩。該串列記憶體設備可以是串列快閃記憶體。該配置暫存器位元遮罩可以包括指示使得記憶體能夠在四位元I/O模式或其他多位元串列I/O模式而不是單位元串列I/O模式中操作的I/O模式位元設置。

Description

串列記憶體設備I/O模式選擇
本專利申請案主張2019年7月26日提出申請的美國非臨時專利申請案16/523,429的權益,其全部內容經由援引被納入。
本案一般係關於串列記憶體設備,並且尤其係關於用於在串列記憶體設備中啟用或選擇多位元串列輸入/輸出(I/O)模式而不是單位元串列I/O模式的方法和裝置。
計算設備(例如,膝上型電腦、行動電話等)可包括一或多個處理器以執行各種功能,諸如電話、無線資料存取、相機/視訊功能等。處理器可被耦合至記憶體,可在該記憶體中儲存處理器指令和資料。記憶體可以與處理器一起嵌入在半導體晶粒上或者是不同半導體晶粒的一部分。記憶體可以執行各種功能。例如,記憶體可被用作快取記憶體、暫存器堆、或儲存器。記憶體可以是各種種類中的任一種。例如,記憶體可以是靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、磁性隨機存取記憶體(MRAM)、NAND快閃記憶體、或NOR快閃記憶體等。與並行資料存取相反,一些類型的快閃記憶體設備僅提供串列資料存取。此類快閃記憶體設備通常被稱為串列快閃記憶體設備。
一些類型的串列快閃記憶體設備能夠被配置成在複數個串列I/O模式中的所選擇的一者中操作,諸如單位元串列I/O模式和四位元串列I/O模式。在單位元I/O模式中,資料位元在單個輸入線上以串列格式被輸入到快閃記憶體設備,並在單個輸出線上以串列格式從快閃記憶體設備被讀取。在四位元I/O模式中,資料在四個串列I/O線上被輸入和輸出。I/O模式可以使用快閃記憶體設備中的配置暫存器來選擇。已知若干選擇I/O模式的方法,並且所採用的方法可以取決於快閃記憶體設備的特性,諸如配置暫存器是揮發性的還是非揮發性的。選擇I/O模式的一種方法涉及,在納入快閃記憶體設備的系統引導之際,使用單位元I/O模式從快閃記憶體設備自身中的檔讀取配置資訊,並寫入在配置資訊中指示給配置暫存器的I/O模式啟用位元(例如,四啟用或「QE」位元)的值。回應於以此方式來設置QE位元值,快閃記憶體設備將自身配置成以四位元串列I/O模式而不是單位元串列I/O模式來操作。
使用配置暫存器來選擇I/O模式可能給納入串列快閃記憶體設備的設備的製造商帶來數個挑戰。例如,其中可以使用配置暫存器來選擇I/O模式的方式可能並非在所有串列快閃記憶體設備(諸如由不同的記憶體設備製造商所生產的那些串列快閃記憶體設備)之中均相同。將期望提供與串列快閃記憶體I/O模式選擇有關的改進的方法和裝置。
本概述標識了一些示例性態樣的特徵,並且不是對所揭示的標的的排他性或窮盡性描述。描述了額外特徵和態樣,並且這些額外特徵和態樣將在閱讀以下詳細描述並查看形成該詳細描述的一部分的附圖之際變得對本發明所屬領域中具有通常知識者顯而易見。
根據至少一個實施例的用於記憶體設備模式選擇的方法包括:回應於記憶體設備初始化條件而檢索記憶體設備配置資訊,以及將包括在記憶體設備配置資訊中的配置暫存器位元遮罩寫入記憶體設備的配置暫存器。亦可被包括在記憶體設備配置資訊中的寫命令可被用於向配置暫存器寫入該配置暫存器位元遮罩。該記憶體設備可以是串列快閃記憶體。該配置暫存器位元遮罩可以包括指示使得記憶體能夠在多位元I/O模式(諸如四位元I/O模式)中操作的I/O模式位元設置。
根據至少一個實施例的用於記憶體設備模式選擇的裝置包括經由鏈路耦合到記憶體設備的主機。該主機可以包括處理器系統,該處理器系統被配置成:回應於記憶體設備初始化條件而檢索記憶體設備配置資訊,並將包括在記憶體設備配置資訊中的配置暫存器位元遮罩寫入記憶體設備的配置暫存器。亦可被包括在記憶體設備配置資訊中的寫命令可被用於向配置暫存器寫入該配置位元遮罩。該記憶體設備可以是串列快閃記憶體。該配置暫存器位元遮罩可以包括指示使得記憶體能夠在多位元I/O模式(諸如四位元I/O模式)中操作的I/O模式位元設置。
根據至少一個實施例的用於記憶體設備模式選擇的另一裝置包括:記憶體設備和處理器系統,該處理器系統被配置成回應於記憶體設備初始化條件而檢索記憶體設備配置資訊,以及將包括在記憶體設備配置資訊中的配置暫存器位元遮罩寫入記憶體設備的配置暫存器。亦可被包括在記憶體設備配置資訊中的寫命令可被用於向配置暫存器寫入該配置位元遮罩。該記憶體設備可以是串列快閃記憶體。該配置暫存器位元遮罩可以包括指示使得記憶體能夠在多位元I/O模式(諸如四位元I/O模式)中操作的I/O模式位元設置。
以下結合附圖闡述的詳細描述意欲作為各種配置的描述,而無意表示可實踐本文所描述的概念的僅有配置。本詳細描述包括具體細節以提供對各種概念的透徹理解。然而,對於本發明所屬領域中具有通常知識者將顯而易見的是,沒有這些具體細節亦可以實踐這些概念。在一些實例中,以方塊圖形式示出眾所周知的結構與部件以避免湮沒此類概念。
如本文中所使用的,呈動詞「耦合」的各種時態的術語「耦合到」可意指元件A被直接連接到元件B或者其他元件可被連接在元件A和B之中(亦即,元件A與元件B間接連接)以操作某些預期功能。在電子部件的情形中,術語「耦合到」在本文中亦可被用於意指導線、跡線或其他導電材料被用於將元件A和B(以及電連接在它們之中的任何部件)電連接。在一些實例中,術語「耦合到」可意指在元件A和B之間傳遞電能量以操作某些預期功能。
在一些實例中,術語「電連接」可意指在元件A和B之間有電流流動或者可配置成在元件A和B之中有電流流動。例如,除導線、跡線、或其他導電材料和部件之外,元件A和B亦可經由電阻器、電晶體、或電感器來連接。此外,對於射頻功能,元件A和B可經由電容器來「電連接」。
術語「第一」、「第二」、「第三」等可以是為了便於參考而採用的,並且可以不帶有實質意義。同樣,可以採用部件/模組的名稱以便於參考,並且可以不限定部件/模組。本案中提供的模組和部件可以用硬體、軟體、或硬體與軟體的組合來實現。
術語「匯流排系統」可以規定耦合到「匯流排系統」的各元件可以直接或間接地在它們之中交換資訊。以此類方式,「匯流排系統」可以涵蓋多個實體連接以及居間級,諸如緩衝器、鎖存器,暫存器等。模組可以用硬體、軟體、或硬體與軟體的組合來實現。術語「軟體」和「韌體」在本案中同義地使用。
提供了用於串列快閃記憶體設備中輸入/輸出(I/O)模式選擇的方法和裝置。串列快閃記憶體一般是僅提供對資料的串列存取(亦即,沒有並行存取)的緊湊、低功率的設備。串列快閃記憶體設備不是被配置成定址個體位元組,而是被配置成經由按要被寫入的串列格式位元接收作為輸入,並按已被讀取的串列格式位元提供作為輸出,來在位址空間中讀或寫毗連的位元組群。一般快閃記憶體設備通常可在單位元I/O模式中操作,其中所有要寫入的位元在單個輸入資料線上接收,並且所有已被讀取的位元在單個輸出資料線上提供。在單位元I/O模式中操作的情況下,串列周邊介面(SPI)協定通常被用於存取快閃記憶體設備。然而,除了單位元I/O模式之外,一些快閃記憶體設備亦可在一或多個多位元I/O模式中操作。一種常見的多位元I/O模式是四位元I/O模式,在此模式中資料在四條I/O線上被輸入和輸出(亦即,每個時鐘循環4位元)。雙位元I/O模式是另一種常見的多位元I/O模式,其中資料在兩條I/O線上輸入和輸出(亦即,每個時鐘循環兩位元)。
如下所述,可以經由在設備中的配置暫存器中設置位元值來選擇串列快閃記憶體設備要在其中操作的I/O模式。例如,各配置暫存器位元之一可以是四啟用或「QE」位元。當快閃記憶體設備初始上電時,配置暫存器的QE位元可被設置成預設值(例如「0」),其指示快閃記憶體設備可在單位元I/O模式中操作。若隨後將「1」寫入QE位元,則快閃記憶體設備可經由變得在四位元I/O模式中可操作來回應。QE位元可被設置成將四位元I/O模式操作指示為包括或納入快閃記憶體的裝置(例如,計算系統、行動計算裝置等)的啟動程序的一部分。
儘管單位元I/O模式的各態樣在某種程度上是標準化的(例如,按照SPI協定),但是提供此類模式的串列快閃記憶體設備中的多位元I/O模式的各態樣不是同樣標準化的。例如,配置暫存器中的多位元I/O模式啟用位元(例如,QE)的位置、配置暫存器是揮發性亦是非揮發性、以及其中在多位元I/O模式中寫和讀數據的方式(例如,讀和寫命令、等待時間規範等等)可能在由不同製造商所生產的快閃記憶體設備之中有所不同,或者潛在地甚至在來自同一製造商的不同快閃記憶體設備產品之中有所不同。為簡潔起見,在以下描述的這些或其他相關態樣中在功能上彼此不同的快閃記憶體設備在本案中被稱為「不同的記憶體」,或者在特定或示例性記憶體設備的上下文中,被稱為「另一記憶體」或「其他記憶體」。
圖1圖示了根據本案的某些態樣的包括處理器系統或主機102、記憶體104、以及將主機102與記憶體104耦合的鏈路106的裝置100。例如,記憶體104可以是具有以下特徵的串列快閃記憶體:記憶體104藉以可選擇地在單位元I/O模式和多位元(例如,四位元)I/O模式中的一者中可操作。如下所述,記憶體104在由配置暫存器108(亦通常稱為狀態暫存器)中的位元設置所指示的I/O模式中進行位元操作。
裝置100可以是例如以下各項中的一者:計算系統(例如,伺服器、資料中心、桌上型電腦),行動計算裝置(例如,膝上型設備、蜂巢式電話、交通工具等),物聯網路(IoT)設備,虛擬實境(VR)系統,增強現實(AR)系統等。主機102可包括經由鏈路106耦合到記憶體104的至少一個處理器110(例如,中央處理單元(CPU)、數位訊號處理器(DSP)、圖形處理單元(GPU)等)以執行一或多個計算功能,諸如資料處理、資料通訊、圖形顯示、相機操作、AR或VR渲染、影像處理等。例如,記憶體104可儲存供該至少一個處理器110執行前述一或多個計算功能的指令或資料(例如,應用112)。主機102可被實現為包括多個處理器和其他設備的片上系統(SoC),其經由資料匯流排或其他互連來互連(為清晰起見未圖示)。在一些實例中,鏈路106可以是主機102與記憶體104之間的晶片到晶片或晶粒到晶粒鏈路,主機102和快閃記憶體104在分開的晶粒上。在其他實例中,鏈路106可以是晶粒內鏈路,主機102和記憶體104在同一晶粒上。
主機102可以在處理器110的控制下直接地、或者由處理器110經由記憶體控制器114或其他中繼裝置間接地經由鏈路106與記憶體104傳達資料和命令。處理器110可以在韌體的控制下操作,韌體可以包括與下述多位元I/O模式配置方法有關的載入器116。儘管在圖1中,為了清楚起見,載入器116在概念上被示為常駐在處理器110中,但是本發明所屬領域中具有通常知識者理解,載入器(韌體)116可以儲存或常駐在處理器110可存取的任何儲存位置中,諸如,舉例而言在主機102中的或者被連接到主機102的唯讀記憶體(未圖示)中。載入器116可以按一般方式在處理器110上執行,其可以包括處理器110在依須求基礎上從此類韌體記憶體取回指令。處理器110可以執行載入器116以執行以下關於圖5-7之方法(或其部分)。
圖2A圖示了表示當記憶體104在單位元I/O模式中操作時可以經由主機102和記憶體104之間的鏈路106的對應訊號線來傳達的訊號的波形的實例。訊號(和對應的訊號線)可以包括例如時鐘(SCLK)、串列資料輸出(MOSI)、串列資料登錄(MISO)和晶片使能(SS2)。由於本發明所屬領域中具有通常知識者很好地理解此類訊號及其操作,因此本文不描述此類態樣。注意,在該實例中,鏈路106的四條訊號線在單位元I/O模式中被使用。
圖2B圖示了表示當記憶體104正在四位元I/O模式中操作時可以經由主機102和記憶體104之間的鏈路106的對應訊號線來傳達的訊號的波形的實例。訊號可以包括例如晶片使能訊號(SS)、時鐘訊號(SCLK)、第一位元串列資料訊號(DQ0)、第二位元串列資料訊號(DQ1)、第三位元串列資料訊號(DQ2)和第四位元串列資料訊號(DQ3)。由於本發明所屬領域中具有通常知識者很好地理解此類訊號及其操作,因此本文不描述此類態樣。注意,在該實例中,鏈路106的六條訊號線在四位元I/O模式中被使用。亦要注意,被用於在四位元I/O模式中傳達DQ0和DQ1訊號的兩條訊號線亦被用於在單位元I/O模式中傳達MOSI和MISO訊號(圖2A)。當選擇了不同的I/O模式時,鏈路106的一些訊號線可以由此被轉用於替換功能。
圖3圖示了記憶體104的配置暫存器108(圖1)的示例性結構。配置暫存器108可以包括例如16位元(圖3中標記為S0-S15)。記憶體104將自身配置成基於可寫入配置暫存器108的16位元字在各個態樣來操作。如由記憶體104的製造商所發佈的文件(通常稱為資料表)中所描述的,本發明所屬領域中具有通常知識者理解配置暫存器108的各個位元的功能。由於記憶體104可以是市售類型的,因此本發明所屬領域中具有通常知識者可以容易地獲得此類文件。在配置暫存器108的位元中,僅QE位元(在該實例中的S9位元位置,並且為了清楚起見,在圖3中用虛線圈出)與本案相關。相應地,為了簡潔起見,在本案中不描述配置暫存器108的除了QE位元之外的位元的功能。
應當理解,圖3中所圖示的配置暫存器108的結構(亦即,位元功能和對應的位元位置)意欲僅作為實例,並且不同的記憶體(諸如由其他製造商所提供的那些記憶體或者甚至同一製造商的不同產品)可以具有不同的結構。不管結構中的此類可能差異,這些位元中的至少一者是與啟用多位元串列I/O模式或更通常與選擇複數個串列I/O模式之一有關的I/O模式位元。該一或多個I/O模式位元中的I/O模式位元設置可以指示第一I/O模式和第二I/O模式中的一者。例如,I/O模式位元設置可以指示單位元串列I/O模式和多位元(例如,雙位元、四位元等)串列I/O模式中的一者。在圖3所圖示的實例中,經由對配置暫存器108執行寫操作,QE位元(S9)可被設置為「0」或「1」。例如,回應於QE位元被設置為「0」,記憶體104可以將自身配置成在上述單位元I/O模式中操作,並且回應於QE位元被設置為「1」,記憶體104可以將自身配置成在上述四位元I/O模式中操作。記憶體104可以具有預設的I/O模式,其中它在上電之際開始操作,亦即,在對配置暫存器108進行任何寫操作之前。例如,記憶體104在上電之際可以預設為單位元I/O模式。
圖4圖示了記憶體設備配置資訊400的示例性結構。記憶體設備配置資訊400可以包括指示上述I/O模式位元的位元位置的配置暫存器位元遮罩、以及I/O模式位元被設置為的值,以指示多位元I/O模式。例如,根據圖4所示的示例性結構,記憶體設備配置資訊400的配置暫存器位元遮罩(QE位元遮罩)可以指示QE位元位元於配置暫存器108的S9位元位置,並且被設置為「1」以啟用四位元I/O模式。例如,QE位元遮罩的長度可以是一個位元組。應當理解,配置暫存器位元遮罩在不同記憶體之間可以有所不同,因為如前述,I/O模式位元的配置暫存器位元位置在不同的記憶體之間可以有所不同。例如,在不同的記憶體中(除了示例性記憶體104之外,示例性記憶體104具有圖3所圖示的示例性配置暫存器結構),QE位元可以位於除S9以外的位元位置。
記憶體設備配置資訊400可以包括寫命令,該寫命令是記憶體104經由執行寫操作來回應的指令或命令。類似地,記憶體設備配置資訊400可以包括讀命令,該讀命令是記憶體104經由執行讀操作來回應的指令或命令。應當理解,寫命令和讀命令在不同的記憶體之間可以有所不同。
記憶體設備配置資訊400亦可以包括等待時間。等待時間是寫操作被執行了之後、新寫入的資料被指定為變得可讀之前的最小時間量。應當理解,等待時間在不同的記憶體之間可以有所不同。
記憶體設備配置資訊400亦可以包括從各種不同記憶體(例如,由不同的製造商所生產的)之間唯一性地標識記憶體104的設備標識(ID)資訊。設備ID資訊可以包括例如一起標識特定製造商的特定產品的製造商ID和記憶體ID。
記憶體設備配置資訊400可以具有圖4所圖示的示例性結構或任何其他結構。不管該結構可能是什麼,可以採用相同的結構來記憶體用於複數個不同記憶體中的任何記憶體的記憶體設備配置資訊400。例如,圖4所圖示的示例性結構指示記憶體設備配置資訊400可以包括八個毗連的位元組:製造商ID(一個位元組)、記憶體ID(兩個位元組)、QE位元遮罩(一個位元組)、寫命令(一個位元組)、讀命令(一個位元組)、和等待時間(兩個位元組)。不僅對於具有圖3所圖示的示例性配置資訊108的記憶體104,而且對於具有其他配置暫存器結構的其他(亦即,不同的)記憶體,可以採用此類結構來儲存該記憶體設備配置資訊400。儘管如此,應當理解,圖4中所圖示的結構僅意欲為示例性的。在其他實例(未圖示)中,記憶體設備配置資訊400可以包括比所圖示的實例更多或更少的資訊,並且每個資訊欄位或項可以由比所圖示的實例中更多或更少的位元/位元組來表示。此外,在其他實例中,記憶體設備配置資訊400的各種欄位或項可以按與所圖示的實例中不同的次序來組織,或者非毗連地來儲存。
圖5圖示了用於選擇記憶體I/O模式的方法500。以下關於圖5描述的操作可以由例如裝置100(圖1)來實現或者在其控制下實現。更具體地,操作可以由例如執行載入器116的處理器110來實現或者在其控制下實現。
如方塊502所指示的,方法500可包括回應於記憶體設備初始化條件而檢索記憶體設備配置資訊。記憶體設備配置資訊可以包括配置暫存器位元遮罩。配置暫存器位元遮罩可以包括指示啟用四位元I/O模式或其他多位元I/O模式的I/O模式位元設置。記憶體設備初始化條件可以是例如其中裝置100(圖1)在操作準備中被引導、上電或以其他方式初始化的條件。
如方塊504所指示的,方法500可以進一步包括將配置暫存器位元遮罩寫入記憶體設備的配置暫存器,諸如記憶體104的配置暫存器108(圖1)。在所檢索的記憶體設備配置資訊中所指示的寫命令可被用於將該配置暫存器位元遮罩寫入該配置暫存器。例如,該寫操作可包括將值寫入配置暫存器108的QE位元,該值指示啟用四位元I/O模式中的操作。根據以上參照圖3描述的實例,可以將「1」寫入配置暫存器108的S9位元(亦即,QE位元),以啟用四位元I/O模式中的操作。注意,在向配置暫存器108的QE位元寫入指示啟用四位元I/O模式中的操作的值之前,記憶體104可以在單位元I/O模式中可操作,而在四位元I/O模式中不可操作。然而,回應於將此類值寫入QE位元,記憶體104可以將自身配置成隨後在四位元I/O模式中操作。亦即,記憶體104可以從在單位元I/O模式中操作切換或改變為在四位元I/O模式中操作。儘管未在圖5中示出,但是在以此方式啟用四位元I/O模式之後,可以使用四位元I/O模式來執行進一步的寫和讀操作。
圖6圖示了用於選擇記憶體I/O模式的方法600。方法600可以是上述方法500(圖5)的實例。以下參照方法600描述的操作可以由例如處理器110來實現或者在其控制下來實現。處理器110可在載入器116(例如,處理器韌體的一部分)的控制下執行方法600。在該示例性方法600中,上述記憶體設備配置資訊400(圖4)被預儲存在記憶體104的引導扇區118(圖1)中。在方法600被執行之前,實體(諸如裝置100的製造商(亦即,原始設備製造商或「OEM」))可以將記憶體設備配置資訊400儲存在引導扇區118中。該實體可以使用任何手段將記憶體設備配置資訊400儲存在引導扇區118中,諸如,舉例而言基於電腦的工具(未圖示),可以將記憶體104連接到該基於電腦的工具以用於在將記憶體104納入裝置100之前配置記憶體104的目的。
如方塊602所指示的,方法600可以包括回應於納入了記憶體104的裝置100的引導而從記憶體104的引導扇區118(圖1)讀取記憶體設備配置資訊400(圖4)。由於讀取記憶體設備配置資訊400可以由處理器110實現或在其控制下實現,因此箭頭120(圖1)在概念上指示處理器110從引導扇區118對記憶體設備配置資訊400的這種檢索。應當注意,作為記憶體104在其中上電的預設模式,記憶體104可以在單位元I/O模式中操作。相應地,處理器110可以使用單位元I/O模式來讀取記憶體設備配置資訊400。處理器110不必使用讀命令從引導扇區118讀取記憶體設備配置資訊400,因為使用單位元I/O模式的讀和寫操作是跨各種不同的記憶體被標準化的。如本發明所屬領域中具有通常知識者之一所理解的,在單位元I/O模式中執行讀操作的命令在於對於不同的記憶體可以按相同的方式使用相同的命令這一意義上是「標準的」。當在四位元I/O模式中讀取和寫入資料時,標準的讀和寫命令可以與記憶體設備配置資訊400中所指示的讀和寫命令交替地被使用。
如方塊604所指示的,方法600亦可以包括從記憶體104讀取設備ID資訊122(圖1)。由於讀取設備ID資訊122可以由處理器110來實現或在其控制下來實現,因此箭頭124(圖1)在概念上指示處理器110從記憶體104中的位置檢索設備ID資訊122。處理器110可以使用標準命令(例如,根據JEDEC標準)來讀取設備ID資訊。如本發明所屬領域中具有通常知識者所理解的,用於讀取設備ID的(例如,JEDEC)命令在對於不同的記憶體可以按相同的方式使用相同的命令這一意義上是「標準的」。記憶體104中從中讀取設備ID資訊122的位置對處理器110可以是透明的。亦即,JEDEC命令不要求處理器110提供位址或以其他方式指定要從中讀取所請求的設備ID資訊的源。其中存放裝置ID資訊以預期使用標準JEDEC命令進行檢索的位置在不同的記憶體之間可以有所不同。記憶體製造商可以選擇記憶體中存放裝置ID資訊的位置,並將設備ID資訊儲存在其中以用於按對請求者(例如,處理器)透明的方式來檢索。因此,在裝置100的製造商將記憶體104納入裝置100時,設備ID資訊可以已經被儲存在記憶體104中(亦即,它可以被預儲存)。
如方塊606所指示的,方法600可以隨後包括將使用標準(例如,JEDEC)命令從記憶體104讀取的設備ID資訊122與包括使用單位元I/O模式從記憶體104的引導扇區118所讀取的記憶體設備配置資訊400的製造商ID和記憶體ID部分的設備ID資訊進行比較以決定它們是否匹配。若它們不匹配,則可以執行錯誤處置步驟(未圖示)。
如方塊608所指示的,若比較(方塊606)不指示錯誤,則方法600可以繼續將記憶體設備配置資訊400的配置暫存器位元遮罩部分寫入記憶體104的配置暫存器108。可以使用在所檢索的記憶體設備配置資訊400中所指示的寫命令。替換地,可以使用標準命令。該寫操作可包括將值寫入配置暫存器108的QE位元,該值指示啟用四位元I/O模式中的操作。根據以上參照圖3描述的實例,可以將「1」寫入配置暫存器108的S9位元(亦即,QE位元),以啟用四位元I/O模式中的操作。箭頭126(圖1)在概念上指示由處理器110將包括QE位元的配置暫存器位元遮罩寫入記憶體104的配置暫存器108。回應於寫入此類QE位元值,記憶體104可以將自身配置成在四位元I/O模式而不是單位元I/O模式中操作。
處理器110可以隨後確認QE位元已被正確寫入。然而,在如方塊612所指示地讀取配置暫存器108的內容之前,處理器110可以確保至少記憶體設備配置資訊400中所指示的等待時間的延遲時間已經流逝,如方塊610所指示。處理器110可以使用單位元I/O模式來讀取配置暫存器108。
如方塊614所指示的,方法600可以隨後包括將從配置暫存器108讀取(按方塊612)的QE位元的值與寫入(按方塊608)配置暫存器108的QE位元的值進行比較。若它們不匹配,則可以執行錯誤處置步驟(未圖示)。若該比較(方塊614)不指示錯誤,則方法600完成,並且可以使用四位元I/O模式執行進一步的記憶體存取操作。此類進一步的記憶體存取操作可以包括在例如一或多個應用112的控制下讀取或寫入資料。
圖7圖示了用於選擇記憶體I/O模式的方法700。方法700可以是上述方法500(圖5)的實例。以下參照方法700描述的操作可以由例如處理器110來實現或在其控制下來實現,處理器110不僅在圖1中示出,而且在圖8中的系統800中示出,系統800進一步包括(除了圖1中所示的元件,諸如上述主機102和記憶體104)遠端的、網路可存取的資料儲存源或「雲端」802。如本發明所屬領域中具有通常知識者所理解的,雲端802可包括例如具有相關聯的資料存放裝置的一或多個伺服器電腦系統,如通常用於回應經由網路來自遠端客戶端的查詢來儲存和檢索資料的伺服器電腦系統。在該示例性方法700中,上述記憶體設備配置資訊400(圖4)可以預儲存在雲端802中。處理器110可以在載入器116的控制下執行方法700。
如方塊702所指示的,方法700可以包括回應於記憶體104上電或以其他方式被初始化而從記憶體104讀取設備ID資訊122(圖1)。設備ID資訊122可以按照以上關於方法600(圖6)所描述的方式在處理器110的控制下被讀取。
如方塊704所指示的,方法700亦可以包括獲取網路資料儲存位址,諸如使得主機102能夠經由資料網路存取雲端802(圖8)的位址。該網路資料儲存位址可以例如被儲存在主機102的一次性可程式設計(OTP)記憶體(未圖示)或處理器110可存取的其他記憶體中。
如方塊706所指示的,方法700可以包括基於設備ID資訊122從雲端802(圖8)檢索記憶體設備配置資訊400(圖4)。由於讀取記憶體設備配置資訊400可以由處理器110實現或在其控制下被實現,因此箭頭804(圖8)在概念上指示由處理器110從雲端802對記憶體設備配置資訊400的這種檢索。儲存在雲端802中的表或其他資料結構或資料庫(未圖示)可包含複數個條目,每個條目將設備配置資訊與對應的複數個不同記憶體的唯一性設備ID資訊(例如,製造商ID和記憶體ID的唯一性組合)相關聯。因此,儲存在雲端802之每一者設備配置資訊對應於不同的記憶體,記憶體104可以是其實例。相應地,例如,雲端802可回應於從主機102所接收的經由其唯一性設備ID資訊122來標識記憶體104的查詢而提供示例性記憶體設備配置資訊400。
如方塊708所指示的,方法700可以進一步包括將記憶體設備配置資訊400(圖4)儲存在記憶體104的引導扇區118(圖8)中。處理器110可以使用單位元I/O模式來向引導扇區118寫入記憶體設備配置資訊400。可以使用在所檢索的記憶體設備配置資訊400中所指示的寫命令。替換地,可以使用標準命令。由於將記憶體設備配置資訊400儲存在引導扇區118中可以由處理器110實現或在其控制下實現,因此箭頭806在概念上指示由處理器110在引導扇區118中對記憶體設備配置資訊400的這種儲存。儘管為了清楚起見而未圖示,但是由方塊702-708所指示的前述操作可以將處理器110在裝置100的引導之際決定未曾在引導扇區118中儲存有記憶體設備配置資訊400作為條件。同樣,儘管為了清楚起見而未圖示,但是由方塊708所指示的操作可以將與以上參照方塊604-606(圖6)所描述的檢錯類似的檢錯作為條件。
如方塊710所指示的,方法600可以包括回應於裝置100的後續引導而從引導扇區118讀取記憶體設備配置資訊400。回應於哪個記憶體設備配置資訊400從雲端802被檢索了並被儲存在引導扇區118中(如在以上參照方塊702-708所描述的),後續的引導跟隨初始引導或在其之後。在初始引導和後續引導之間,可能發生其他操作,並且可能流逝任何時間量。此類可能的其他操作、時間的流逝等由在方塊708和710之間的省略號(「……」)來指示。因此,若處理器110在裝置100的引導之際決定記憶體設備配置資訊400已經儲存在引導扇區118中,則該方法以方塊710來繼續進行。
如方塊712所指示的,方法600可以繼續將記憶體設備配置資訊400的配置暫存器位元遮罩部分寫入記憶體104的配置暫存器108。處理器110可以使用單位元I/O模式來寫入配置暫存器108。可以使用在所檢索的記憶體設備配置資訊400中所指示的寫命令。該寫操作可包括將值寫入配置暫存器108的QE位元,該值指示啟用四位元I/O模式中的操作。根據以上參照圖3描述的實例,可以將「1」寫入配置暫存器108的S9位元(亦即,QE位元),以啟用四位元I/O模式中的操作。箭頭808(圖8)在概念上指示由處理器110將包括QE位元的配置暫存器位元遮罩寫入記憶體104。回應於向QE位元寫入指示在四位元I/O模式中操作的值,記憶體104可以將自身配置成在四位元I/O模式而不是單位元I/O模式中操作。
在如前述啟用或選擇四位元I/O模式之後,可以使用四位元I/O模式來執行進一步的記憶體存取操作。此類進一步的記憶體存取操作可以包括在例如一或多個應用112的控制下讀取或寫入資料。儘管為了清楚起見而未圖示,但是使用四位元I/O模式的進一步的讀和寫操作可以將與以上參照方塊612-614(圖6)所描述的檢錯類似的檢錯作為條件。
如方塊714所指示的,網路資料儲存位址亦可被用於從雲端802檢索軟體,諸如一或多個應用112或對此類應用112的更新。儘管為了清楚起見而未單獨示出,但是應用112不僅可以包括最終使用者應用,而且亦可以包括裝置100的操作中所可能涉及的低級配置軟體。
在製造設置(其中裝置100(圖1)的生產涉及兩個或更多個企業實體,諸如為原始設計製造商(ODM)構建裝置100的原始設備製造商(OEM))時,ODM可以採用雲端802將ODM認為機密的軟體與OEM的直接存取隔離。應當顯然的是,系統800和方法700可以使得此類製造商能夠納入數個不同記憶體中的任何記憶體,而不需要不同的主機(例如,SoC)韌體,諸如載入器116。相反,可以經由向雲端802上傳涉及新設備ID資訊和對應的設備配置資訊的新條目來容適納入不同記憶體的進一步的生產執行。
提供先前描述是為了使本發明所屬領域中任何具有通常知識者均能夠實踐本文中所描述的各種態樣。對這些態樣的各種修改將容易為本發明所屬領域中具有通常知識者所明白,並且在本文中所定義的普適原理可被應用於其他態樣。因此,請求項並非意欲被限定於本文中所示出的各態樣,而是應被授予與請求項的語言相一致的全部範疇,其中對要素的單數形式的引述並非意欲表示「有且僅有一個」,除非特別如此聲明,而是意欲表示「一或多個」。措辭「示例性」在本文中用於意指「用作實例、例子、或圖示」。本文中描述為「示例性」的任何態樣不必被解釋為優於或勝過其他態樣。除非特別另外聲明,否則術語「一些/某個」指的是一或多個。諸如「A、B或C中的至少一者」、「A、B或C中的一者或多者」、「A、B和C中的至少一者」、「A、B和C中的一者或多者」、以及「A、B、C或其任何組合」之類的組合包括A、B及/或C的任何組合,並且可包括多個A、多個B或者多個C。具體地,諸如「A、B或C中的至少一者」、「A、B或C中的一者或多者」、「A、B和C中的至少一者」、「A、B和C中的一者或多者」、以及「A、B、C或其任何組合」之類的組合可以是僅A、僅B、僅C、A和B、A和C、B和C、或者A和B和C,其中任何此類組合可包含A、B或C中的一或多個成員。本案通篇描述的各個態樣的要素為本發明所屬領域中具有通常知識者當前或今後所知的所有結構上和功能上的等效方案經由引述被明確納入於此,且意欲被請求項所涵蓋。此外,本文中所揭示的任何內容皆並非意欲貢獻給公眾,無論此類公開是否在申請專利範圍中被顯式地敘述。措辭「模組」、「機制」、「元素」、「設備」等等可以不是措辭「裝置」的代替。如此,沒有任何請求項元素應被解釋為手段功能,除非該元素是使用短語「用於……的裝置」來明確敘述的。
100:裝置 102:處理器系統或主機 104:記憶體 106:鏈路 108:配置暫存器 110:處理器 112:應用 114:記憶體控制器 116:載入器 118:引導扇區 120,124,126:箭頭 122:設備ID資訊 400:記憶體設備配置資訊 500:方法 502,504:方塊 600:方法 602,604,606,608,610,612,614:方塊 700:方法 702,704,706,708,710,712,714:方塊 800:系統 802:雲端 804,806,808:箭頭
現在將參照附圖藉由實例而非限定地在詳細描述中提供裝置和方法的各個態樣,其中:
圖1圖示了根據本案的某些態樣的用於記憶體設備模式選擇的裝置。
圖2A圖示了在單位元I/O模式中串列快閃記憶體的一般操作的實例。
圖2B圖示了在四位元I/O模式中串列快閃記憶體的一般操作的實例。
圖3圖示了可配置成在單位元I/O模式和四位元I/O模式中操作的一般串列快閃記憶體設備的配置暫存器的實例。
圖4圖示了根據本案的某些態樣的配置資訊的實例。
圖5是圖示根據本案的某些態樣的用於記憶體設備模式選擇的方法的流程圖。
圖6是圖示根據本案的某些態樣的用於記憶體設備模式選擇的另一方法的流程圖。
圖7是根據本案的某些態樣的用於記憶體設備模式選擇的又一方法的流程圖。
圖8圖示了根據本案的某些態樣的用於記憶體設備模式選擇的系統。
100:裝置
102:處理器系統或主機
104:記憶體
106:鏈路
108:配置暫存器
110:處理器
112:應用
114:記憶體控制器
116:載入器
118:引導扇區
120,124,126:箭頭
122:設備ID資訊

Claims (22)

  1. 一種用於串列記憶體設備I/O模式選擇的方法,包括以下步驟:由一處理器系統回應於一記憶體設備初始化條件而檢索記憶體設備配置資訊,該記憶體設備配置資訊包括輸入/輸出(I/O)模式資訊與一寫命令;由該處理器系統基於該I/O模式資訊使用該寫命令寫入一串列記憶體設備的一配置暫存器,以指示一多位元I/O模式的啟用,其中該記憶體設備配置資訊進一步包括一等待時間;及在將該配置暫存器位元遮罩寫入一配置暫存器並且該等待時間流逝之後,決定該配置暫存器的一I/O模式位元是否被設置以指示該多位I/O模式的啟用。
  2. 如請求項1之方法,其中:該記憶體設備初始化條件包括納入該記憶體設備和該處理器系統的一裝置的一引導;及檢索該記憶體設備配置資訊包括從該記憶體設備的一引導扇區讀取該記憶體設備配置資訊。
  3. 如請求項2之方法,其中從該記憶體設備的該引導扇區讀取該記憶體設備配置資訊包括使用一記憶體單位元I/O模式進行讀取。
  4. 如請求項1之方法,其中檢索該記憶體設備配置資訊包括以下步驟:由該處理器系統經由一資料通訊網路從一遠端資料儲 存源獲取該記憶體設備配置資訊;由該處理器系統將該記憶體設備配置資訊儲存在該記憶體設備的一引導扇區中;及由該處理器系統回應於該記憶體設備初始化條件而從該記憶體設備的該引導扇區讀取該記憶體設備配置資訊。
  5. 如請求項4之方法,其中從該記憶體設備的該引導扇區讀取該記憶體設備配置資訊包括使用一單位元I/O模式進行讀取。
  6. 如請求項4之方法,其中將該記憶體設備配置資訊儲存在該記憶體設備的該引導扇區中包括使用一單位元I/O模式進行寫入。
  7. 一種用於串列記憶體設備I/O模式選擇的方法,包括以下步驟:由一處理器系統回應於一記憶體設備初始化條件而檢索記憶體設備配置資訊,該記憶體設備配置資訊包括輸入/輸出(I/O)模式資訊與一寫命令;由該處理器系統基於該I/O模式資訊使用該寫命令寫入一串列記憶體設備的一配置暫存器,以指示一多位元I/O模式的啟用;從該記憶體設備讀取設備標識資訊;決定該設備標識資訊是否與該記憶體設備配置資訊的一標識部分相匹配;及其中將該配置暫存器位元遮罩寫入該配置暫存器包括 在決定該標識資訊與該記憶體設備配置資訊的該標識部分相匹配的情況下向該配置暫存器寫入該配置暫存器位元遮罩。
  8. 一種用於串列記憶體設備I/O模式選擇的裝置,包括:經由一鏈路耦合到一串列記憶體設備的一主機,其中該主機包括一處理器系統,該處理器系統被配置成:回應於一記憶體設備初始化條件而檢索記憶體設備配置資訊,該記憶體設備配置資訊包括輸入/輸出(I/O)模式資訊與一寫命令;基於該I/O模式資訊使用該寫命令寫入該記憶體設備的一配置暫存器,以指示一多位元I/O模式的啟用;從該記憶體設備讀取設備標識資訊;決定該設備標識資訊是否與該記憶體設備配置資訊的一標識部分相匹配;及回應於決定該標識資訊與該記憶體設備配置資訊的該標識部分相匹配而向該配置暫存器寫入該配置暫存器位元遮罩。
  9. 如請求項8之裝置,進一步包括:納入該主機、該記憶體和該鏈路的一計算系統、一行動計算系統、一物聯網路(IoT)設備、一虛擬實境系統、或一增強現實系統中的一者,其中該處理器系統被配置成執行該計算系統、該行動計算系統、該物聯網設備、該虛擬實 境系統、或該增強現實系統中的該一者的一計算功能。
  10. 如請求項8之裝置,其中:該記憶體設備初始化條件包括納入該記憶體設備和該處理器系統的一裝置的一引導;及檢索該記憶體設備配置資訊包括從該記憶體設備的一引導扇區讀取該記憶體設備配置資訊。
  11. 如請求項10之裝置,其中從該記憶體設備的該引導扇區讀取該記憶體設備配置資訊包括使用一記憶體單位元I/O模式進行讀取。
  12. 如請求項8之裝置,其中該處理器系統被配置成經由如下配置來檢索該記憶體設備配置資訊:經由一資料通訊網路從一遠端資料儲存源獲取該記憶體設備配置資訊;將該記憶體設備配置資訊儲存在該記憶體設備的一引導扇區中;及回應於該記憶體設備初始化條件而從該記憶體設備的該引導扇區讀取該記憶體設備配置資訊。
  13. 如請求項12之裝置,其中該處理器系統被配置成使用一單位元I/O模式從該記憶體設備的該引導扇區讀取該記憶體設備配置資訊。
  14. 如請求項12之裝置,其中該處理器系統被配置成使用一單位元I/O模式將該記憶體設備配置資訊儲存在該記憶體設備的該引導扇區中。
  15. 一種用於串列記憶體設備I/O模式選擇的裝 置,包括:經由一鏈路耦合到一串列記憶體設備的一主機,其中該主機包括一處理器系統,該處理器系統被配置成:回應於一記憶體設備初始化條件而檢索記憶體設備配置資訊,該記憶體設備配置資訊包括輸入/輸出(I/O)模式資訊與一寫命令;基於該I/O模式資訊使用該寫命令寫入該記憶體設備的一配置暫存器,以指示一多位元I/O模式的啟用,其中該記憶體設備配置資訊進一步包括一等待時間,其中該處理器系統進一步被配置成在將該配置暫存器位元遮罩寫入一配置暫存器並且該等待時間流逝之後,決定該配置暫存器的一I/O模式位元是否被設置以指示該多位I/O模式的啟用。
  16. 一種用於串列記憶體設備I/O模式選擇的裝置,包括:一串列記憶體設備;及一處理器系統,其被配置成:回應於一記憶體設備初始化條件而檢索記憶體設備配置資訊,該記憶體設備配置資訊包括輸入/輸出(I/O)模式資訊與一寫命令,該處理器系統進一步被配置成基於該I/O模式資訊使用該寫命令寫入該記憶體設備的一配置暫存器,以指示一多位元I/O模式的啟用;其中該記憶體設備配置資訊進一步包括一等待時間,並且該處理器系統進一步被配置成在將該配置暫存器位 元遮罩寫入一配置暫存器並且該等待時間流逝之後,決定該配置暫存器的一I/O模式位元是否被設置以指示該多位I/O模式的啟用。
  17. 如請求項16之裝置,其中:該記憶體設備初始化條件包括納入該記憶體設備和該處理器系統的一裝置的一引導;並且該處理器系統被配置成:經由被配置成從該記憶體設備的一引導扇區讀取該記憶體設備配置資訊來檢索該記憶體設備配置資訊。
  18. 如請求項17之裝置,其中該處理器系統被配置成使用一記憶體單位元I/O模式從該記憶體設備的該引導扇區讀取該記憶體設備配置資訊。
  19. 如請求項16之裝置,其中該處理器系統被配置成經由如下配置來檢索該記憶體設備配置資訊:經由一資料通訊網路從一遠端資料儲存源獲取該記憶體設備配置資訊;將該記憶體設備配置資訊儲存在該記憶體設備的一引導扇區中;及回應於該記憶體設備初始化條件而從該記憶體設備的該引導扇區讀取該記憶體設備配置資訊。
  20. 如請求項19之裝置,其中該處理器系統被配置成使用一單位元I/O模式從該記憶體設備的該引導扇區讀取該記憶體設備配置資訊。
  21. 如請求項19之裝置,其中該處理器系統被 配置成使用一單位元I/O模式將該記憶體設備配置資訊儲存在該記憶體設備的該引導扇區中。
  22. 一種用於串列記憶體設備I/O模式選擇的裝置,包括:一串列記憶體設備;及一處理器系統,其被配置成:回應於一記憶體設備初始化條件而檢索記憶體設備配置資訊,該記憶體設備配置資訊包括輸入/輸出(I/O)模式資訊與一寫命令,該處理器系統進一步被配置成基於該I/O模式資訊使用該寫命令寫入該記憶體設備的一配置暫存器,以指示一多位元I/O模式的啟用;其中該處理器系統進一步被配置成:從該記憶體設備讀取設備標識資訊;決定該設備標識資訊是否與該記憶體設備配置資訊的一標識部分相匹配;及其中該處理器系統進一步被配置成回應於決定該標識資訊與該記憶體設備配置資訊的該標識部分相匹配而向該配置暫存器寫入該配置暫存器位元遮罩。
TW109125261A 2019-07-26 2020-07-27 串列記憶體設備i/o模式選擇 TWI838563B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/523,429 2019-07-26
US16/523,429 US11249678B2 (en) 2019-07-26 2019-07-26 Serial memory device single-bit or plurality-bit serial I/O mode selection

Publications (2)

Publication Number Publication Date
TW202111543A TW202111543A (zh) 2021-03-16
TWI838563B true TWI838563B (zh) 2024-04-11

Family

ID=

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050057973A1 (en) 2003-09-16 2005-03-17 Micron Technology, Inc. Runtime flash device detection and configuration for flash data management software

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050057973A1 (en) 2003-09-16 2005-03-17 Micron Technology, Inc. Runtime flash device detection and configuration for flash data management software

Similar Documents

Publication Publication Date Title
US9645746B2 (en) Systems and methods for support of non-volatile memory on a DDR memory channel
KR102289787B1 (ko) 메모리 데이터에 기초하여 비교 정보를 결정하기 위한 장치, 시스템 및 방법
TWI420302B (zh) 用於具有單一介面的混合式記憶裝置的方法、系統和計算裝置,及用於記錄相關指令於其內的電腦可讀取媒體
JP3670041B2 (ja) 不揮発性メモリチップイネーブル符号化方法、コンピュータシステム、およびメモリコントローラ
US8037228B2 (en) Bridge device with page-access based processor interface
US11038749B2 (en) Memory resource allocation in an end-point device
US11568907B2 (en) Data bus and buffer management in memory device for performing in-memory data operations
CN114174973A (zh) 串行存储器设备i/o模式选择
CN110275840B (zh) 在存储器接口上的分布式过程执行和文件***
US20100185811A1 (en) Data processing system and method
TWI695382B (zh) 記憶體定址方法及相關聯的控制器
US12008270B2 (en) System, device, and method for memory interface including reconfigurable channel
TW201512843A (zh) 可於多重資料寬度通訊之記憶體組件
US9530466B1 (en) System and method for memory access dynamic mode switching
TWI838563B (zh) 串列記憶體設備i/o模式選擇
US11550740B2 (en) Data storage device with an exclusive channel for flag checking of read data, and non-volatile memory control method
US20190087376A1 (en) Hot-plugged pcie device configuration system
US11662799B2 (en) Semiconductor memory device, electronic device and method for setting the same
US20210255806A1 (en) Memory module interfaces
JP2007310927A (ja) 不揮発性メモリ、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
WO2021034599A1 (en) Hierarchical memory systems
TW200424852A (en) Device to extend an address space by inserting a waiting state and operation method for the device