TWI512475B - 有助於在記憶體模組和中央處理器之間進行通信的方法及相關機器可讀儲存媒體 - Google Patents

有助於在記憶體模組和中央處理器之間進行通信的方法及相關機器可讀儲存媒體 Download PDF

Info

Publication number
TWI512475B
TWI512475B TW103129033A TW103129033A TWI512475B TW I512475 B TWI512475 B TW I512475B TW 103129033 A TW103129033 A TW 103129033A TW 103129033 A TW103129033 A TW 103129033A TW I512475 B TWI512475 B TW I512475B
Authority
TW
Taiwan
Prior art keywords
command
strings
status
memory module
readable storage
Prior art date
Application number
TW103129033A
Other languages
English (en)
Other versions
TW201525699A (zh
Inventor
William C Hallowell
Chuan Lee
Stephen Carpenter Knowles
Original Assignee
Hewlett Packard Development Co
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 Hewlett Packard Development Co filed Critical Hewlett Packard Development Co
Publication of TW201525699A publication Critical patent/TW201525699A/zh
Application granted granted Critical
Publication of TWI512475B publication Critical patent/TWI512475B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

有助於在記憶體模組和中央處理器之間進行通信的方法及相關機器可 讀儲存媒體
本發明係有關於通過記憶體匯流排之命令字串與狀態字串傳輸技術。
發明背景
資料可以通過記憶體匯流排在計算裝置和記憶體模組之間被傳輸。資料位元可以與錯誤更正碼(ECC)位元一起被傳輸以使得在該資料中的錯誤可被檢測和/或更正。為了降低功耗,計算裝置的記憶體控制器可以在傳輸資料時執行位元散射。
依據本發明之一實施例,係特地提出一種有助於在一記憶體模組和一中央處理器之間進行通信的方法,該方法包含有:通過一記憶體匯流排,接收數個命令字串;把該等接收到的數個命令字串儲存在該記憶體模組上的一組保留位址處;以及基於該等儲存的數個命令字串,識別來自該中央處理器的一傳入命令,其中該傳入命令係通過該記憶體匯流排從該中央處理器被傳送到該記憶體模組。
100‧‧‧記憶體模組
102‧‧‧處理器
104‧‧‧機器可讀取儲存媒體
106‧‧‧在記憶體模組上靜態地配置一組位址
108‧‧‧接收數個命令字串和數個狀態字串
110‧‧‧儲存數個命令字串和數個狀態字串
200‧‧‧記憶體模組
202‧‧‧處理器
204‧‧‧機器可讀取儲存媒體
206‧‧‧在記憶體模組上靜態地配置一組位址
208‧‧‧接收數個命令字串和數個狀態字串
210‧‧‧儲存數個命令字串和數 個狀態字串
212‧‧‧把接收到之數個命令字串的每一個進行關聯
214‧‧‧把接收到之數個狀態字串的每一個進行關聯
216‧‧‧識別來自中央處理器的傳入命令
300‧‧‧記憶體模組
302‧‧‧處理器
304‧‧‧機器可讀取儲存媒體
306‧‧‧在記憶體模組上靜態地配置一組位址
308‧‧‧接收數個命令字串和數個狀態字串
310‧‧‧儲存數個命令字串和數個狀態字串
312‧‧‧識別儲存的數個狀態字 串中的其中一個,其對應於記憶體模組的當前狀態
314‧‧‧傳輸識別出的狀態字串給中央處理器
400‧‧‧記憶體模組
402‧‧‧處理器
404‧‧‧機器可讀取儲存媒體
406‧‧‧通過記憶體匯流排,傳輸數個命令字串和數個狀態字串
408‧‧‧通過記憶體匯流排,從記 憶體模組接收狀態更新
500‧‧‧流程圖
502~506‧‧‧方塊
600‧‧‧流程圖
602~610‧‧‧方塊
700‧‧‧流程圖
702~708‧‧‧方塊
800‧‧‧流程圖
802~804‧‧‧方塊
以下的詳細描述參考到所附圖示,其中:圖1係一實例記憶體模組的一方塊圖,該模組包含有一機器可讀取儲存媒體,其被編碼有指令,該等指令可致能在該記憶體模組與一中央處理器之間的通信;圖2係一實例記憶體模組的一方塊圖,該模組包含有一機器可讀取儲存媒體,其被編碼有指令,該等指令可致能來自一中央處理器之一傳入命令的識別;圖3係一實例記憶體模組的一方塊圖,該模組包含有一機器可讀取儲存媒體,其被編碼有指令,該等指令使得該記憶模組的一狀態可傳輸到一中央處理器;圖4係一實例計算裝置的一方塊圖,該裝置包含有一機器可讀取儲存媒體,其被編碼有指令,該等指令可致能在一記憶體模組與該計算裝置之一中央處理器之間的通信;圖5係一實例方法的一流程圖,該方法用以促進在一記憶體模組與一中央處理器之間的通信;圖6係一實例方法的一流程圖,該方法用以傳輸一記憶體模組的狀態到一中央處理器;圖7係一實例方法的一流程圖,該方法用以識別來自一中央處理器的一命令;以及圖8係一實例方法的一流程圖,該方法用以促進在一記憶體模組與一計算裝置之一中央處理器之間的通信。
較佳實施例之詳細說明
計算裝置的中央處理器可以通過系統管理匯流排(SMB)或內部整合電路(I2 C)匯流排與記憶體模組進行通信用以達成熱管理、記憶體配置、記憶體可靠性、和錯誤登錄的目的。資料可以在中央處理器與記憶體模組之間通過記憶體匯流排,諸如雙倍資料速率類型3(DDR3)匯流排,進行傳輸。SMB和I2 C匯流排的速度會比記憶體匯流排速度要慢得多(例如,SMB和I2 C匯流排的時脈速度大約在100kHz附近,而DDR3匯流排的時脈速度可能是好幾百個MHz)。SMB或I2 C匯流排的速度對於記憶體的備份/恢復功能可能足夠的,但對於在中央處理器和記憶體模組之間的命令和狀態的運行時操作來說,可能會是太慢的。因此,對於在運行期間在中央處理器和記憶體模組之間進行傳輸命令和狀態而言,記憶體匯流排可能是更為適合的。
通過記憶體匯流排來傳輸的命令位元可能會藉由位元散射來進行拌碼和/或被混合有錯誤更正碼(ECC)位元。若記憶體模組不知道由一中央處理器所使用的該位元散射和/或ECC方案,該等記憶體模組可能無法識別接收自該中央處理器的命令。除此之外,中央處理器可能預期會從記憶體模組接收具有適當之ECC位元的狀態位元。若一記憶體模組尚未被告之由一中央處理器所使用的該ECC方案,該記憶體模組可能無法夠提供有效的狀態更新給該中央處理器。
有鑑於上述的情況,本發明可使在計算裝置和記 憶體模組之間的匯流排速度通信變得可能,該通信並不受限於一特定的ECC或資料拌碼/編碼方案。因此,命令和狀態可以在計算裝置和記憶體模組之間以高速傳輸同時節省功率和保持資料完整性。
現在請參照該等圖示,圖1係一實例記憶體模組100的一方塊圖,該模組包含有一機器可讀取儲存媒體,其被編碼有指令,該等指令可致能在該記憶體模組與一中央處理器之間的通信。在本說明書中,術語「中央處理器」應該被理解為係指一處理器,在一計算裝置中,其執行該計算裝置的輸入/輸出操作。在本說明書中,該等術語「包括」、「具有」、和「包含」係可互換並且應當被理解為具有相同的含義。記憶體模組100可以是一直插式記憶體模組,諸如一單列直插式記憶體模組(SIMM)或一雙列直插式記憶體模組(DIMM),或適於安裝記憶體積體電路(IC)之任何的記憶體模組。記憶體模組100可被通信地耦合到一計算裝置,諸如筆記型電腦、桌上型電腦、工作站、平板計算裝置、行動電話、電子書閱讀器、或伺服器。在圖1中,記憶體模組100包括處理器102和機器可讀取儲存媒體104。
處理器102可以包括一中央處理單元(CPU)、微處理器(例如,基於半導體的微處理器)、和/或其他適於檢索和/或執行儲存在機器可讀取儲存媒體104之指令的硬體裝置。處理器102可以提取、解碼、和/或執行指令106、108、和110來進行在記憶體模組100與一中央處理器之間的通信,如以下所述。作為一種替代方式或是除了檢索和/或執 行指令之外,處理器102可包括一電子電路,其包含有用以執行指令106、108、和/或110之該功能的多個電子組件。
機器可讀取儲存媒體104可以是包含或儲存有可執行指令之任何合適的電子、磁性、光學、或其他的實體記憶體。因此,機器可讀取儲存媒體104可以包括,舉例來說,一隨機存取記憶體(RAM),一電可抹除可編程唯讀記憶體(EEPROM)、一儲存裝置、一光碟、等等。在一些實現方式中,機器可讀取儲存媒體104可包括一非暫時性儲存媒體,其中術語「非暫時性」不包括暫時性的傳播信號。正如會在以下做詳細描述的,機器可讀取儲存媒體104可被編碼成具有一組可執行指令106、108、和110。
指令106可以靜態地配置一組在記憶體模組100上的位址。在本說明書中,術語「靜態的」,當其針對一記憶體模組上的位址來使用時,應被理解係指僅會被寫入一次的記憶體位址,在此之後只要該記憶體模組還有通電的話,該等位址不會被再次寫入(例如,一旦資料被寫入到一靜態的位址,該位址中的內容會保持不變,而只要該記憶體模組還有通電的話,該位址不會被使用來儲存任何其他的資料)。在本說明書中,術語「靜態地」,當其針對一記憶體模組的位址配置來使用時,應被理解為係指把在該記憶體模組上的某些記憶體位址指定為為靜態位址。指令106可以靜態地配置一組位址在記憶體模組100的一依電性記憶體(例如,動態隨機存取記憶體[DRAM])上和/或一非依電性記憶體(例如,快閃記憶體)上。
指令108可以接收數個命令字串和數個狀態字串。該等數個命令字串和該等數個狀態字串可以通過一記憶體匯流排來接收。在本說明書中,術語「記憶體匯流排」應當被理解為係指一電腦匯流排,其在一計算裝置的一中央處理器與在一記憶體模組上的記憶體之間傳輸資訊。在一些實現方式中,該等數個命令字串和該等數個狀態字串可以在一個從一中央處理器到記憶體模組100的初始傳輸期間被接收。在本說明書中,術語「初始傳輸」應當被理解為係指在該記憶體模組的初始化/啟動期間從一中央處理器到一記憶體模組之資料的第一次傳輸。
該等數個命令字串的每一個可以包括命令位元和ECC位元。命令位元可以編碼在一初始傳輸之後一中央處理器會傳送給一記憶體模組的命令(例如,保存資料、刪除資料)。會與對應於一特定命令之命令位元一起被傳輸的ECC位元可以根據該中央處理器所使用的該ECC方案來做變化。由記憶體模組100所接收的該命令字串數(例如,在一初始傳輸期間)可以是一中央處理器會傳送給記憶體模組100之所有可能的不同命令數。
該等數個狀態字串的每一個可以包括狀態位元和ECC位元元。狀態位元可編碼一記憶體模組會傳送給一中央處理器的狀態,來指出該記憶體模組之各種不同的狀態(例如,該記憶體模組仍然忙於執行接收自該中央處理器的一命令、該記憶體模組完成執行一操作用以回應一命令)。會與對應於一特定狀態之狀態位元一起被傳輸的ECC 位元可以根據該中央處理器所使用的該ECC方案來做變化。由記憶體模組100所接收的該狀態字串數(例如,在一初始傳輸期間)可以是會告知一中央處理器之記憶體模組100所有可能的不同狀態數。
指令110可儲存在該組靜態配置位址上所接收到的該等數個命令字串和該等數個狀態字串。該等數個命令字串和該等數個狀態字串可以被儲存在記憶體模組100的一依電性記憶體(例如,DRAM)上和/或一非依電性記憶體(例如,快閃記憶體)上。該儲存之數個命令字串可用於識別在一初始傳輸之後接收自一中央處理器的命令,細節會針對圖2和7做進一步的討論。當提供一狀態更新給一中央處理器時,該儲存之數個狀態字串會被使用,細節會針對圖3和6做討論。
圖2係一實例記憶體模組200的一方塊圖,該模組包含有一機器可讀取儲存媒體,其被編碼有指令,該等指令可使識別來自一中央處理器的一傳入命令變得可能。記憶體模組200可以是一直插式記憶體模組,諸如一SIMM或DIMM,或適合安裝記憶體IC之任何的記憶體模組。記憶體模組200可被通信地耦合到一計算裝置,諸如一筆記型電腦、桌上型電腦、工作站、平板計算裝置、行動電話、電子書閱讀器、或伺服器。在圖2中,記憶體模組200包括處理器202和機器可讀取儲存媒體204。
如同圖1的處理器102,處理器202可以包括一CPU、微處理器(例如,基於半導體的微處理器)、和/或其 他適於檢索和/或執行儲存在機器可讀取儲存媒體204之指令的硬體裝置。處理器202可以提取、解碼、和/或執行指令206、208、210、212、214、和216以使識別來自一中央處理器的一傳入命令變得可能,正如以下所述。作為一種替代方案或是除了檢索和/或執行指令之外,處理器202可包括一電子電路,其包含有用以執行指令206、208、210、212、214、和/或216之該功能的多個電子組件。
正如同圖1的機器可讀取儲存媒體104,機器可讀取儲存媒體204可以是儲存有可執行指令之任何合適的實體記憶體。在機器可讀取儲存媒體204上的指令206、208、和210可以是類似於(例如,具有的功能和/或組件類似於)在機器可讀取儲存媒體104上的指令106、108、和110。指令212可把所接收之數個命令字串的每一個與記憶體模組200之一已知命令列表中的命令進行關聯。通過一記憶體匯流排,諸如一雙倍資料速率(DDR)匯流排,該等數個命令字串可在一個從一中央處理器到記憶體模組200的初始傳輸期間被接收。接收到的命令字串與已知命令間的關聯性可基於該等數個命令字串被接收到的一種順序。舉例來說,記憶體模組200可以被編程(例如,通過一基本輸入/輸出系統[BIOS])為具有一已知命令列表,該列表有一特定的順序,而指令212可以把在一初始傳輸中的第一個命令字串關聯到在該列表中的第一個已知命令,把在該初始傳輸中的第二個命令字串關聯到在該列表中的第二個已知命令,依此類推。
指令214可把所接收之數個狀態字串的每一個與記憶體模組200之一已知狀態列表中的狀態進行關聯。通過一記憶體匯流排,諸如一DDR匯流排,該等數個狀態字串可在一個從一中央處理器到記憶體模組200的初始傳輸期間被接收。接收到的狀態字串與已知狀態間的關聯性可基於該等數個狀態字串被接收到的一種順序。舉例來說,記憶體模組200可以被編程(例如,通過一BIOS)為具有一已知狀態列表,該列表有一特定的順序,而指令214可以把在一初始傳輸中的第一個狀態字串關聯到在該列表中的第一個已知狀態,把在該初始傳輸中的第二個狀態字串關聯到在該列表中的第二個已知狀態,依此類推。
指令216可以識別從一中央處理器所傳入的一命令。通過一記憶體匯流排,記憶體模組200可以接收傳入的命令。在該等數個命令字串和該等數個狀態字串由指令210儲存之後,一傳入的命令可以被識別。基於該等儲存且經關聯的數個命令字串,一傳入命令可被識別。在一些實現方式中,該傳入的命令,其可以包括編碼該命令的位元以及ECC位元,可以與該等儲存的數個命令字串進行比較。指令216可以識別出匹配該傳入命令之該等儲存的數個命令字串中之一命令字串。指令216可以判定在該已知命令列表中的那一個命令關聯到該匹配的命令字串。舉例來說,該傳入命令可能匹配該等儲存之數個命令字串的第五個命令字串(例如,在一初始傳輸過程中所接收到的第五個命令字串),而指令216可判定在該已知命令列表中的第五個命 令關聯到該第五個命令字串。記憶體模組200因此可以識別從一中央處理器所傳入的一命令,並在不知道該中央處理器所使用的位元散射和/或ECC方案的情況下執行該適當的操作。
圖3係一實例記憶體模組300的一方塊圖,該模組包含有一機器可讀取儲存媒體,其被編碼有指令,該等指令可把該記憶模組的一狀態傳輸到一中央處理器。記憶體模組300可以是一直插式記憶體模組,諸如一SIMM或DIMM,或任何適於安裝記憶體IC的記憶體模組。記憶體模組300可被通信地耦合到一計算裝置,諸如筆記型電腦、桌上型電腦、工作站、平板計算裝置、行動電話、電子書閱讀器、或伺服器。在圖3中,記憶體模組300包括處理器302和機器可讀取儲存媒體304。
正如同圖1的處理器102,處理器302可以包括一CPU、微處理器(例如,基於半導體的微處理器)、和/或其他適於檢索和/或執行儲存在機器可讀取儲存媒體304之指令的硬體裝置。處理器302可以提取、解碼、和/或執行指令306、308、310、312、和314來把該記憶模組的一狀態傳輸到一中央處理器,正如以下所述。作為一種替代方案或是除了檢索和/或執行指令之外,處理器302可包括一電子電路,其包含有用以執行指令306、308、310、312、和/或314之該功能的多個電子組件。
正如同圖1的機器可讀取儲存媒體104,機器可讀取儲存媒體304可以是儲存有可執行指令之任何合適的實 體記憶體。在機器可讀取儲存媒體304上的指令306、308、和310可以類似於在機器可讀取儲存媒體104上的指令106、108、和110。指令312可識別出所儲存之數個狀態字串中之一,其對應於記憶體模組300的一當前狀態。在一些實現方式中,基於該等數個狀態字串在一初始傳輸期間被接收到的一種順序,該等儲存之數個狀態字串的每一個可與在一已知狀態列表中的狀態進行關聯,如以上針對於圖2所討論的。指令312可以判定在該已知狀態列表中的那一個狀態匹配記憶體模組300的該當前狀態,並識別出那一個儲存的狀態字串關聯到該匹配的狀態。舉例來說,記憶體模組300的該當前狀態可能匹配在該已知狀態列表中的第三個狀態,而該等儲存之數個狀態字串的第三個狀態字串(例如,在一初始傳輸過程中所接收到的該第三狀態字串)會被識別為關聯到該匹配的狀態。
通過一記憶體匯流排(例如,DDR匯流排),指令314可以傳輸該識別出的狀態字串給一中央處理器。該傳輸的狀態字串可以包括ECC位元。可以傳輸該適當之儲存的狀態字串的能力,該字串包含有ECC位元,使得記憶體模組300可以避免要決定如何為該當前狀態產生ECC位元。因此記憶體模組300可以在不知道該中央處理器使用那種ECC方案的情況下傳輸一有效的狀態字串以提供一狀態更新給一中央處理器。
圖4係一實例計算裝置400的一方塊圖,該裝置包含有一機器可讀取儲存媒體,其被編碼有指令,該等指令 可致能在一記憶體模組與該計算裝置之一中央處理器之間的通信。計算裝置400可以是一筆記型電腦、一桌上型電腦、一工作站、一平板計算裝置、一行動電話、或一電子書閱讀器。在一些實現方式中,計算裝置400可以操作為和/或作為伺服器的一部分。在圖4中,計算裝置400包括處理器402和機器可讀取儲存媒體404。
在一些實現方式中,處理器402可包括計算裝置400的一CPU。在一些實現方式中,處理器402可被通信地耦合到計算裝置400的一CPU。處理器402可以包括一微處理器(例如,基於半導體的微處理器)和/或其他適於檢索和/或執行儲存在機器可讀取儲存媒體404之指令的硬體裝置。處理器402可以提取、解碼、和/或執行指令406和408來致能在一記憶體模組與計算裝置400的一CPU之間的通信,如以下所述。作為一種替代方式或是除了檢索和/或執行指令之外,處理器402可包括一電子電路,其包含有用以執行指令406和/或408之該功能的多個電子組件。
正如同圖1的機器可讀取儲存媒體104,機器可讀取儲存媒體404可以是儲存有可執行指令之任何合適的實體記憶體。在一些實現方式中,機器可讀取儲存媒體404可包括一非暫時性儲存媒體。正如會在以下做詳細描述的,機器可讀取儲存媒體404可被編碼有一組可執行指令406和408。
通過一記憶體匯流排,指令406可以傳輸數個命令字串和數個狀態字串。在一些實現方式中,該等數個命 令字串和該等數個狀態字串可在一初始傳輸期間從計算裝置400被傳輸到一記憶體模組。該等數個命令字串和該等數個狀態字串可以使用一種由計算裝置400的一BIOS所指定的順序來傳輸。在一些實現方式中,在一初始傳輸期間,指令406可以先傳輸該等數個命令字串,然後再傳輸該等數個狀態字串,相反順序亦可。在一些實現方式中,在一初始傳輸期間,指令406可以在傳輸命令字串和傳輸狀態字串之間做切換(例如,傳輸一命令字串,然後傳輸一狀態字串,然後再傳輸另一命令字串,然後再傳輸另一狀態字串,等等)。該等數個命令字串的每一個可包括命令位元和ECC位元,而該等數個個狀態字串的每一個可以包括狀態位元和ECC位元,如同以上針對圖1所做的討論。該記憶體模組可以以它們被傳輸的順序來接收該等命令字串和狀態字串,並且可以基於這個順序分別把該等命令字串和狀態字串關聯到已知的指令和狀態,如上面針對圖2-3所做的討論。
通過該記憶體匯流排,指令408可以從一記憶體模組接收一狀態更新。該接收的狀態更新可以包括由計算裝置400傳輸到該記憶體模組(例如,在該初始傳輸期間)的該等數個狀態字串中之一。該狀態更新可以指出該記憶體模組的一當前狀態。舉例來說,該狀態更新可以指出該記憶體模組正忙於執行一命令,或者該記憶體模組正完成執行一特定操作用以回應來自計算裝置400的一命令。
有關於通過記憶體匯流排在中央處理器和記憶 體模組之間傳輸資料的方法會針對圖5-8進行討論。圖5係一實例方法500的一流程圖,該方法用以促進在一記憶體模組與一中央處理器之間的通信。雖然以下對方法500執行的描述係參照圖1的處理器102,但是應當被理解的是,方法500的執行亦可以由其他合適的裝置,諸如由圖2的處理器202來執行。方法500可以被實現成儲存在一機器可讀取儲存媒體上之可執行指令的形式和/或被實現成一種電子電路的形式。
方法500開始於方塊502,其中處理器102可接收數個命令字串。該等數個命令字串可通過一記憶體匯流排被接收。在一些實現方式中,該等數個命令字串可在一個從一中央處理器到一記憶體模組(例如,記憶體模組100)的初始傳輸期間被接收。該等數個命令字串的每一個可包括命令位元和ECC位元,如以上針對圖1所做的討論。
接著,在方塊504中,處理器102可以把該等接收到的數個命令字串儲存在該記憶體模組的一組保留位址上。該組保留位址可以包含有靜態配置的位址。該組保留位址可以是在該記憶體模組的一依電性記憶體(例如,DRAM)上和/或一非依電性記憶體(例如,快閃記憶體)上。
最後,在方塊506中,處理器102可以識別出從一中央處理器所傳入的一命令。該傳入的命令可通過該記憶體匯流排從該中央處理器傳輸到該記憶體模組。該傳入的命令可以基於該等儲存的數個命令字串被識別出,細節會針對圖7做進一步的討論。
圖6係一實例方法600的一流程圖,該方法用以傳輸一記憶體模組的狀態到一中央處理器。雖然以下對方法600執行的描述係參照圖3的處理器302,但是應當被理解的是,方法600的執行亦可以由其他合適的裝置,諸如分別由圖1和圖2的處理器102和202來執行。方法600的一些方塊可以與方法500平行地執行和/或在方法500之後被執行。方法600可以被實現成為儲存在一機器可讀取儲存媒體上之可執行指令的形式和/或被實現成一種電子電路的形式。
方法600始於方塊602,其中處理器302可保留一組在一記憶體模組上的位址,用以儲存數個命令字串。在一些實現方式中,處理器302可以靜態地配置該組位址,正如同以上針對圖1所做的討論。該組保留的位址可以是在該記憶體模組的一依電性記憶體(例如,DRAM)上和/或一非依電性記憶體(例如,快閃記憶體)上。
在方塊604,處理器302可把接收到的數個命令字串儲存在該組保留位址上。該等數個命令字串可以是在一個從一中央處理器到該記憶體模組的初始傳輸期間被接收。在該等數個命令字串被儲存之後,該組保留位址可保持為靜態的。該等數個命令字串的每一個可包括命令位元和ECC位元,如同以上針對圖1所做的討論。
在方塊606中,處理器302可接收數個狀態字串。該等數個狀態字串可以通過一記憶體匯流排被接收。在一些實現方式中,該等數個狀態字串可以在一個從該中央處理器到該記憶體模組的初始傳輸過程中被接收。該等數個 狀態字串可以包括狀態位和ECC位元,正如同以上針對圖1所做的討論。該等數個狀態字串可以被儲存在記憶體模組的靜態位址上。在一些實現方式中,處理器302可以保留(例如,靜態地配置)在該記憶體模組上的一組位址用以儲存該等數個狀態字串。該等數個狀態字串的每一個可對應於該記憶體模組的一各自可能的狀態。儘管在圖6中方塊606被顯示在方塊602和604的下方,應當被理解的是,方塊606可被執行在方塊602和/或604之前和/或與其平行地執行。
接下來,在方塊608中,處理器302可以識別出該等數個狀態字串中的一個,其對應於該記憶體模組的一當前狀態。在一些實現方式中,基於該等數個狀態字串在該初始傳輸期間被接收到的一種順序,該等儲存的數個狀態字串的每一個可被關聯到在一已知狀態列表中的狀態,如同以上針對圖2所做的討論。處理器302可判定在該已知狀態列表中的那一個狀態匹配該記憶體模組的該當前狀態,並辨別出那一個儲存的狀態字串關聯到該匹配的狀態。
最後,在方塊610中,處理器302可以傳輸該識別出的狀態字串給一中央處理器。該傳輸的狀態字串可以包括ECC位元。能夠傳輸該適當之儲存狀態字串的能力,該字串包含有ECC位元,使得處理器302可以避免要決定如何為一當前狀態產生ECC位元。因此處理器302可以在不知道該中央處理器使用何種ECC方案的情況下傳輸一有效的狀態字串以提供一狀態更新給該中央處理器。
圖7係一實例方法700的一流程圖,該方法用以識 別來自一中央處理器的一命令。雖然以下對方法700執行的描述係參照圖2的處理器202,但是應當被理解的是,方法700的執行亦可以由其他合適的裝置,諸如分別由圖1和圖3的處理器102和302來執行。方法700的一些方塊可以與方法500和/或600平行地執行和/或在其之後被執行。方法700可以被實現成為儲存在一機器可讀取儲存媒體上之可執行指令的形式和/或被實現成一種電子電路的形式。
方法700可始於方塊702,其中處理器202會把所接收到的數個命令字串的每一個與一記憶體模組(例如,記憶體模組200)之一已知命令列表中的命令進行關聯。該等接收到的數個命令字串可被儲存在該記憶體模組上。在接收到的命令字串與已知命令之間的關聯性可基於該等數個命令字串被接收到的一種順序。舉例來說,該記憶體模組可以被編程(例如,通過一BIOS)為具有一已知命令列表,該列表有一特別的順序,而處理器202可以把在一初始傳輸期間中的第一個命令字串關聯到在該列表中的第一個已知命令,把在該初始傳輸期間中的第二個命令字串關聯到在該列表中的第二個已知命令,依此類推。
在方塊704中,處理器202會把所接收到的數個狀態字串的每一個與該記憶體模組之一已知狀態列表中的狀態關聯。該等接收到的數個狀態字串可被儲存在該記憶體模組上。在接收到的狀態字串與已知狀態之間的關聯性可基於該等數個狀態字串被接收到的一種順序。舉例來說,該記憶體模組可以被編程為具有一已知狀態列表,該列表 有一特別的順序,而處理器202可以把在該初始傳輸期間中的第一個狀態字串關聯到在該列表中的第一個已知狀態,把在該初始傳輸期間中的第二個狀態字串關聯到在該列表中的第二個已知狀態,依此類推。
雖然在圖7中方塊704是被顯示方塊702的下方,但是應當被理解的是,處理器202可以在把接收到的命令字串進行關聯之前先對接收到的狀態字串進行關聯,或與其並行處理。在一些實現方式中,處理器202可以在關聯接收到的狀態字串和關聯接收到的命令字串之間做切換。舉例來說,處理器202可以先關聯一命令字串,然後一狀態字串,然後再另一命令字串,然後再另一狀態字串,等等。
在方塊706中,處理器202可以在該儲存的數個命令字串中識別出一命令字串,其匹配來自一中央處理器的一傳入命令。該傳入命令可基於方塊702的該關聯性被識別出。在一些實現方式中,處理器202可把該傳入命令,其可能包括編碼該命令的位元以及ECC位元,與該儲存的數個命令字串進行比較以找出一匹配的命令字串。
在方塊708中,處理器202可以判定在該已知命令列表中的那一個命令關聯到該匹配的命令字串。舉例來說,該傳入命令可能匹配該等儲存的數個命令字串的第二個命令字串(例如,在一初始傳輸過程中所接收到的第二個命令字串),而處理器202可判定在該已知命令列表中的第二個命令關聯到該第二個命令字串。處理器202因此可以識別來自一中央處理器的一傳入命令,並在不知道該中央處 理器使用那種位元散射和/或ECC方案的情況下執行該適當的操作。
圖8係一實例方法800的一流程圖,該方法用以促進在一記憶體模組與一計算裝置之一CPU之間的通信。雖然以下對方法800執行的描述係參照圖4的處理器402,但是應當被理解的是,方法800的執行亦可以由其他合適的裝置來執行。方法800可以被實現成儲存在一機器可讀取儲存媒體上之可執行指令的形式和/或被實現成一種電子電路的形式。
方法800始於方塊802,其中通過一記憶體匯流排,處理器402可以傳輸數個命令字串和數個狀態字串。該等數個命令字串和該等數個狀態字串可在一初始傳輸期間從一CPU被傳輸到一記憶體模組。該等數個命令字串和該等數個狀態字串可以使用一種由一計算裝置的一BIOS所指定的順序來傳輸。該等數個命令字串的每一個可包括命令位元和ECC位元,而該等數個狀態字串的每一個可以包括狀態位元和ECC位元,如同以上針對圖1所做的討論。
接下來,在方塊804中,通過該記憶體匯流排,處理器402可從該記憶體模組接收一狀態更新。該接收到的狀態更新可以包括由處理器402傳輸到該記憶體模組(例如,在該初始傳輸期間)的該等數個狀態字串中之一。該狀態更新可以指出該記憶體模組的一當前狀態。舉例來說,該狀態更新可以指出該記憶體模組正忙於執行一命令,或者該記憶體模組正完成執行一特定的操作用以回應來自處 理器402的一命令。
上述的揭露有助於在中央處理器和記憶體模組之間通過記憶體匯流排來進行通信。在本說明書中所描述的實例實現方式使得命令和狀態可以在中央處理器和記憶體模組之間被傳輸和被理解,不管是那一種ECC和/或資料拌碼/編碼方案被使用。
500‧‧‧流程圖
502~506‧‧‧方塊

Claims (15)

  1. 一種有助於在一記憶體模組和一中央處理器之間進行通信的方法,該方法包含有:通過一記憶體匯流排,接收數個命令字串;把該等接收到的數個命令字串儲存在該記憶體模組上的一組保留位址處;以及基於該等儲存的數個命令字串,識別來自該中央處理器的一傳入命令,其中該傳入命令係通過該記憶體匯流排從該中央處理器被傳送到該記憶體模組。
  2. 如請求項1之方法,其更包含有在該記憶體模組上保留一組位址用以儲存該等數個命令字串,其中該組保留位址在該等數個命令字串被儲存之後仍維持為靜態的。
  3. 如請求項1之方法,其中該等數個命令字串的每一個包括命令位元和錯誤更正碼(ECC)位元。
  4. 如請求項1之方法,其更包含有:通過一記憶體匯流排,接收數個狀態字串,其中:該等數個狀態字串的每一個包含有狀態位元和ECC位元;該等多個狀態字串被儲存在該記憶體模組上的靜態位址處;以及該等數個狀態字串的每一個對應到該記憶體模組的一各自可能的狀態;識別該等儲存的數個狀態字串中之一,其對應到該 記憶體模組的一當前狀態;以及傳輸該識別出的狀態字串給該中央處理器,其中該傳輸的狀態字串包含有ECC位元。
  5. 如請求項4之方法,其中該等數個命令字串和數個狀態字串是在一從中央處理器到記憶體模組的初始傳輸過程中被接收的,該方法更包含有:基於該等數個命令字串被接收的一種順序,把該等接收到的數個命令字串的每一個關聯到該記憶體模組之一已知命令列表中的一命令;以及基於該等數個狀態字串被接收的一種順序,把該等接收到的數個狀態字串的每一個關聯到該記憶體模組之一已知狀態列表中的一狀態。
  6. 如請求項5之方法,其中識別來自該中央處理器的該傳入命令包含有:識別出該等儲存的數個命令字串中的一命令字串,其匹配該傳入命令;以及判定在該已知命令列表中的那一命令關聯到該匹配的命令字串。
  7. 一種機器可讀儲存媒體,其被編碼有可由一記憶體模組的一處理器來執行的指令以有助於在該記憶體模組與一中央處理器之間進行通信,該機器可讀儲存媒體包含有:可在記憶體模組上靜態地配置一組位址的指令;可通過一記憶體匯流排來接收數個命令字串和數 個狀態字串的指令;以及可把該等接收到的數個命令字串和數個狀態字串儲存在該組靜態配置位址處的指令。
  8. 如請求項7之機器可讀儲存媒體,其中該等數個命令字串和數個狀態字串是在一從該中央處理器到該記憶體模組的初始傳輸過程中被接收的,該機器可讀儲存媒體更包含有:基於該等數個命令字串被接收的一種順序,可把該等接收到的數個命令字串中的每一個與該記憶體模組之一已知命令列表中的一命令關聯的指令;以及基於該等數個狀態字串被接收的一種順序,可把該等接收到的數個狀態字串中的每一個與該記憶體模組之一已知狀態列表中的一狀態關聯的指令。
  9. 如請求項8之機器可讀儲存媒體,其更包含有指令可在該等數個命令字串和該等多個狀態字串被儲存之後,基於該儲存和關聯的數個命令字串,識別來自該中央處理器之一傳入命令。
  10. 如請求項9之機器可讀儲存媒體,其更包含有:可識別出在該等儲存的數個命令字串中的一命令字串匹配該傳入命令的指令;以及可判定在該已知命令列表中的那一命令關聯到該匹配命令字串的指令。
  11. 如請求項7之機器可讀儲存媒體,其中:該等數個命令字串的每一個包含有命令位元和錯 誤更正碼(ECC)位元;以及該等數個狀態字串的每一個包含有狀態位元和ECC位元。
  12. 如請求項7之機器可讀儲存媒體,其更包含有:可識別該等儲存的數個狀態字串中之一對應到該記憶體模組之一當前狀態的指令:以及可通過一記憶體匯流排傳輸該識別出的狀態字串給該中央處理器的指令,其中該傳輸的狀態字串包含有ECC位元。
  13. 一種機器可讀儲存媒體,其被編碼有可由一計算裝置的一處理器來執行的指令以有助於在一記憶體模組與一中央處理單元(CPU)之間進行通信,該機器可讀儲存媒體包含有:可通過一記憶體匯流排傳輸數個命令字串和數個狀態字串的指令;以及可通過該記憶體匯流排從該記憶體模組接收一狀態更新的指令,其中該接收到的狀態更新包含有該等數個狀態字串中之一。
  14. 如請求項13之機器可讀儲存媒體,其中:該等數個命令字串和該等數個狀態字串係在一從該CPU到該記憶體模組的初始傳輸過程中被傳輸;以及該等數個命令字串和該等數個狀態字串係以一種由該計算裝置的基本輸入/輸出系統(BIOS)所指定的順序來被傳輸的。
  15. 如請求項13之機器可讀儲存媒體,其中:該等數個命令字串的每一個包含有命令位元和錯誤更正碼(ECC)位元;以及該等數個狀態字串的每一個包含有狀態位元和ECC位元。
TW103129033A 2013-12-19 2014-08-22 有助於在記憶體模組和中央處理器之間進行通信的方法及相關機器可讀儲存媒體 TWI512475B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/076395 WO2015094258A1 (en) 2013-12-19 2013-12-19 Transmission of command strings and status strings via memory bus

Publications (2)

Publication Number Publication Date
TW201525699A TW201525699A (zh) 2015-07-01
TWI512475B true TWI512475B (zh) 2015-12-11

Family

ID=53403360

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103129033A TWI512475B (zh) 2013-12-19 2014-08-22 有助於在記憶體模組和中央處理器之間進行通信的方法及相關機器可讀儲存媒體

Country Status (3)

Country Link
US (1) US9946590B2 (zh)
TW (1) TWI512475B (zh)
WO (1) WO2015094258A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10664439B2 (en) 2015-05-19 2020-05-26 Cryptomove, Inc. Security via dynamic data movement in a cloud-based environment
EP3298533B1 (en) 2015-05-19 2020-01-29 Cryptomove, Inc. Security via data concealment
US10642786B2 (en) 2015-05-19 2020-05-05 Cryptomove, Inc. Security via data concealment using integrated circuits
US10037330B1 (en) * 2015-05-19 2018-07-31 Cryptomove, Inc. Security via dynamic data movement in a cloud-based environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024511B2 (en) * 2001-06-22 2006-04-04 Intel Corporation Method and apparatus for active memory bus peripheral control utilizing address call sequencing
US20060239095A1 (en) * 2005-03-30 2006-10-26 Jun Shi Memory device communication using system memory bus
US20080307181A1 (en) * 2007-06-08 2008-12-11 Kuszmaul Bradley C Disk-Resident Streaming Dictionary
US20110279465A1 (en) * 2000-12-13 2011-11-17 Micron Technology, Inc. Memory system having multiple address allocation formats and method for use thereof

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6820163B1 (en) * 2000-09-18 2004-11-16 Intel Corporation Buffering data transfer between a chipset and memory modules
SE0101597D0 (sv) 2001-05-09 2001-05-09 Astrazeneca Ab Apparatus and method of testing pressurised containers by non-invasive means
US6820177B2 (en) * 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7021511B2 (en) 2002-09-18 2006-04-04 Illinois Tool Works Inc. Lock-out mechanism for powder actuated tool
US7334077B2 (en) * 2003-10-17 2008-02-19 Renesas Technology America, Inc. Method and apparatus for smart memory pass-through communication
US7386654B2 (en) * 2004-10-15 2008-06-10 Intel Corporation Non-volatile configuration data storage for a configurable memory
US7331010B2 (en) 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US20070136501A1 (en) * 2005-12-08 2007-06-14 Chang Robert C Media card command pass through methods
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
JP5229855B2 (ja) * 2007-03-29 2013-07-03 株式会社メガチップス メモリシステム及びコンピュータシステム
US7644216B2 (en) 2007-04-16 2010-01-05 International Business Machines Corporation System and method for providing an adapter for re-use of legacy DIMMS in a fully buffered memory environment
US7711887B1 (en) 2007-04-30 2010-05-04 Hewlett-Packard Development Company, L.P. Employing a native fully buffered dual in-line memory module protocol to write parallel protocol memory module channels
US8015385B2 (en) * 2007-06-05 2011-09-06 International Business Machines Corporation Arrangements for memory allocation
US8041990B2 (en) 2007-06-28 2011-10-18 International Business Machines Corporation System and method for error correction and detection in a memory system
US8583835B1 (en) * 2008-08-06 2013-11-12 Siliconsystems, Inc. Command portal for executing non-standard storage subsystem commands
DE102009048240A1 (de) * 2009-10-05 2011-04-07 Giesecke & Devrient Gmbh Portabler Datenträger mit Zusatzfunktionalität
US20140244900A1 (en) * 2013-02-28 2014-08-28 Spansion Llc Non-volatile memory based system ram
US9128634B1 (en) * 2013-03-11 2015-09-08 Marvell International Ltd. Systems and methods of packed command management for non-volatile storage devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110279465A1 (en) * 2000-12-13 2011-11-17 Micron Technology, Inc. Memory system having multiple address allocation formats and method for use thereof
US7024511B2 (en) * 2001-06-22 2006-04-04 Intel Corporation Method and apparatus for active memory bus peripheral control utilizing address call sequencing
US20060239095A1 (en) * 2005-03-30 2006-10-26 Jun Shi Memory device communication using system memory bus
US20080307181A1 (en) * 2007-06-08 2008-12-11 Kuszmaul Bradley C Disk-Resident Streaming Dictionary

Also Published As

Publication number Publication date
TW201525699A (zh) 2015-07-01
WO2015094258A1 (en) 2015-06-25
US20170161128A1 (en) 2017-06-08
US9946590B2 (en) 2018-04-17

Similar Documents

Publication Publication Date Title
TW201640358A (zh) 資料儲存方法、記憶體模組以及資料儲存系統
CN105340017A (zh) 对包括非兼容性存储器技术或与其接合的存储器模块的写入流控制
TWI512475B (zh) 有助於在記憶體模組和中央處理器之間進行通信的方法及相關機器可讀儲存媒體
TWI695382B (zh) 記憶體定址方法及相關聯的控制器
US10338832B2 (en) Power efficient method and system for executing host data processing tasks during data retention operations in a storage device
US10395750B2 (en) System and method for post-package repair across DRAM banks and bank groups
US9436563B2 (en) Memory system for mirroring data
WO2017155638A1 (en) Technologies for increasing associativity of a direct-mapped cache using compression
US11003614B2 (en) Embedding protocol parameters in data streams between host devices and storage devices
CN105474318A (zh) 响应于第二读取请求的第一数据
US11341248B2 (en) Method and apparatus to prevent unauthorized operation of an integrated circuit in a computer system
CN110720126B (zh) 传输数据掩码的方法、内存控制器、内存芯片和计算机系统
CN103092725B (zh) 一种实现存储器中数据备份的方法及装置
US20210181978A1 (en) Memory sub-system log synchronization
US10176108B2 (en) Accessing memory coupled to a target node from an initiator node
US11966631B2 (en) Command queue order adjustment in a data storage device
US11119676B2 (en) Using spare bits in memory systems
TWI841113B (zh) 記憶體定址方法及相關聯的控制器
US10628322B2 (en) Memory system and operating method thereof
US10169224B2 (en) Data protecting method for preventing received data from losing, memory storage apparatus and memory control circuit unit
CN115705304A (zh) 存储器子系统内的存储器装置状态推送
US20160034192A1 (en) Data storage device and operation method thereof