TWI554883B - 用於在記憶體系統中分割資料結構之系統及方法 - Google Patents
用於在記憶體系統中分割資料結構之系統及方法 Download PDFInfo
- Publication number
- TWI554883B TWI554883B TW104117868A TW104117868A TWI554883B TW I554883 B TWI554883 B TW I554883B TW 104117868 A TW104117868 A TW 104117868A TW 104117868 A TW104117868 A TW 104117868A TW I554883 B TWI554883 B TW I554883B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- memory component
- virtual
- libraries
- processor
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0727—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/073—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1072—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/189—Transmission or retransmission of more than one copy of a message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
- Dram (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本申請案係主張2014年6月2日申請之標題為「Systems and Methods for a Scalable Memory System Protocol」之美國臨時專利申請案第62/006,668號之優先權的非臨時申請案,該美國臨時專利申請案以引用的方式併入本文中。
本揭示內容大致係關於一種用於改良可使用記憶體裝置執行資料操作(例如,讀取、寫入)之速率之記憶體系統。更具體地,本揭示內容係關於用於改良記憶體系統回應於存取記憶體系統之請求之速率之系統及技術。
本章節旨在向讀者介紹可能與本揭示內容之各種態樣相關之本技術之各種態樣,該等態樣在下文中描述及/或主張。據信此討論有助於為讀者提供背景資訊以促進更好地理解本揭示內容之各種態樣。因此,應瞭解,此等陳述在此意義上閱讀且並非作為先前技術之認可。
通常,低能力(例如,低請求速率)記憶體類型(諸如一動態隨機存取記憶體(DRAM)組件)與高能力(例如,高請求速率)記憶體(諸如一靜態隨機存取記憶體(SRAM)組件)相比可能相對廉價。因而,可基於
記憶體類型的各自能力在特定記憶體類型上執行特定資料操作(例如,讀取、寫入)。例如,對於涉及多個動作的大型複雜資料操作,使用SRAM組件來確保與在使用DRAM組件執行相同資料操作時相比,資料操作被更快速地執行可能係有利的。雖然SRAM組件可用於高效地執行所請求資料操作,但是SRAM組件通常歸因於成本考慮而在記憶體裝置上受限。因而,使用較小能力記憶體組件或其他記憶體類型來按類似於或高於高能力記憶體組件之速率執行操作可能係有利的。
10‧‧‧計算系統
12‧‧‧晶片上主機系統(SoC)
14‧‧‧記憶體裝置
16‧‧‧通道
22‧‧‧記憶體SoC
23‧‧‧緩衝器
24‧‧‧NAND記憶體
26‧‧‧減小延時動態隨機存取記憶體(RLDRAM)
27‧‧‧記憶體組件30之一部分
28‧‧‧雙倍資料速率***同步動態隨機存取記憶體(DDR4)
29‧‧‧通道
30‧‧‧三維堆疊記憶體組件
31‧‧‧鏈路
32‧‧‧記憶體層
33‧‧‧邏輯層
34‧‧‧室
35‧‧‧庫
36‧‧‧控制邏輯部分
40‧‧‧方法
42‧‧‧方塊
44‧‧‧方塊
46‧‧‧方塊
60‧‧‧資料結構
62‧‧‧記憶體位址
70‧‧‧分割資料結構
72‧‧‧虛擬庫
74‧‧‧虛擬庫
76‧‧‧虛擬庫
78‧‧‧虛擬庫
90‧‧‧方法
92‧‧‧方塊
94‧‧‧方塊
96‧‧‧方塊
98‧‧‧方塊
110‧‧‧對數圖
在閱讀下列詳細描述及在參考圖式時可更好地暸解本揭示內容之各種態樣,其中:圖1繪示根據一實施例之一計算系統之一實例之一方塊圖;圖2繪示根據一實施例之可作為圖1之計算系統之部分之一記憶體裝置之一實例之一方塊圖;圖3繪示根據一實施例之可包含若干記憶體層之一例示性三維堆疊記憶體組件之一俯視圖;圖4繪示根據一實施例之圖3之記憶體組件之實體層之一示意圖;圖5繪示根據一實施例之組成圖3之記憶體組件之一部分的實體層之例示性虛擬庫之一示意圖;圖6繪示根據一實施例之映射至虛擬庫之四個資料結構之一方塊圖;圖7繪示根據一實施例之用於判定將在圖3之記憶體裝置之一記憶體組件中形成之虛擬庫之數目之方法之一流程圖;圖8繪示根據一實施例之一記憶體組件之一例示性資料結構之一方塊圖;
圖9繪示根據一實施例之圖4之資料結構之一分割版本之一方塊圖;圖10繪示根據一實施例之用於基於一較佳佇列深度判定將在圖2之記憶體裝置之一記憶體組件中形成之虛擬庫之數目之一方法之一流程圖;及圖11繪示根據一實施例之相對於各種佇列深度的虛擬庫之數目的一對數圖。
下文將描述一或多個特定實施例。為了提供此等實施例之一簡潔描述,本說明書中未描述一實際實施方案之所有特徵。應暸解,如在任何工程或設計項目中,在任何此實際實施方案的研發中,需作出許多實施方案特定決策以達成可隨實施方案變化而變化之研發者的特定目標,諸如符合系統相關及業務相關的限制。此外,應暸解,此一研發工作可能係複雜且耗時的,但對於獲利於本揭示內容之一般技術者而言,該研發工作仍將係一例常設計、製作及製造任務。
大致上,不同的記憶體類型具有不同能力。即,不同的記憶體類型可比其他記憶體類型更高效地執行特定類型的功能。例如,DRAM記憶體類型可能無法像一SRAM記憶體一樣快地執行功能。在某些實施例中,一記憶體系統可將一DRAM之部分映射為虛擬庫,且使用虛擬庫同時執行多個操作。因而,可能已由SRAM個別地執行之操作現可使用DRAM執行。藉由在DRAM之虛擬庫中同時執行此多個操作,使用虛擬庫之一記憶體系統可提供在使用一較低請求速率記憶體(DRAM)的同時,使用一高請求速率記憶體(如SRAM)之一錯覺。因此,較高能力記憶體(如SRAM)可被保留用於執行其他程序。有關在各種記憶體類型中映射虛擬庫以執行更高效操作之額外細節將在下文更詳細描述。
經由介紹,圖1繪示可包含記憶體裝置之一計算系統10之一方塊圖,該等記憶體裝置可根據本文中描述的技術在記憶體組件中映射虛擬庫。計算系統10可為多種計算裝置之任何者,諸如一電腦、傳呼機、蜂巢式電話、個人記事簿、控制電路等。計算系統10可包含一晶片上主機系統(SoC)12,該晶片上主機系統(SoC)12可耦合至若干記憶體裝置14。主機SoC 12可為一積體電路(IC),其將一電腦或其他電子系統之所有組件整合至一單個晶片中。因而,主機SoC 12可包含一或多個處理器,諸如一微處理器,該一或多個處理器可控制計算系統10中之系統功能及請求的處理。如本文中使用,處理器可包含能夠在一相應電裝置上執行可執行指令的任何適當處理器。
如上所述,主機SoC 12可耦合至記憶體裝置14。在某些實施例中,主機SoC 12可經由通道16耦合至記憶體裝置14。通道16可包含匯流排、電佈線或類似者。
圖2描繪記憶體裝置14之一實施例之一方塊圖。記憶體裝置14可包含經設計以留存數位資料之任何電儲存裝置。記憶體裝置14可涵蓋各種各樣的記憶體組件,包含揮發性記憶體及非揮發性記憶體。揮發性記憶體可包含動態隨機存取記憶體(DRAM)及/或靜態隨機存取記憶體(SRAM)。此外,揮發性記憶體可包含若干記憶體模組,諸如單列直插記憶體模組(SIMM)或雙列直插記憶體模組(DIMM)。
非揮發性記憶體可包含將結合揮發性記憶體使用之一唯讀記憶體(ROM),諸如一EPROM及/或快閃記憶體(例如,NAND)。此外,非揮發性記憶體可包含一高容量記憶體,諸如一磁帶或磁碟機記憶體。如將暸解,揮發性記憶體或非揮發性記憶體可被視為用於儲存程式碼(例如,指令)之一非暫態有形機器可讀媒體。
如圖2中所示,在某些實施例中,記憶體裝置14可包含一晶片上
系統(SoC)22,該晶片上系統(SoC)22可為一記憶體中處理器(PIM)或一電腦處理器(CPU),其緊實地耦合至儲存在記憶體裝置14上的記憶體組件。通常,記憶體SoC 22可與記憶體裝置14之記憶體組件在相同矽晶片上。藉由將處理組件及記憶體組件合併至記憶體裝置14中,記憶體SoC 22可管理在記憶體組件與主機SoC 12之間傳送及接收資料請求及回應的方式。在某些實施例中,記憶體SoC 22可控制記憶體組件之間的訊務以減小延時及增大頻寬。如將暸解,在根據本文中描述之實施例控制記憶體組件與其他裝置之間的傳送時,主機SoC 12及記憶體SoC 22可採用一可擴充記憶體系統協定。因而,可擴充記憶體系統協定可在記憶體裝置14與主機SoC 12之間的通道16,以及在記憶體組件與記憶體SoC 22之間的通道29上操作。
在某些實施例中,記憶體裝置14亦包含一緩衝器23。緩衝器23可儲存由記憶體SoC 22所接收的一或多個封包。舉例而言,記憶體裝置14可包含諸如NAND記憶體24、減小延時動態隨機存取記憶體(RLDRAM)26、雙倍資料速率***同步動態隨機存取記憶體(DDR4)28及類似者之記憶體類型。
在某些實施例中,主機SoC 12及記憶體SoC 22可基於經由記憶體組件、暫存器及類似者提供之電腦可執行指令執行各種操作。記憶體組件或儲存器可為可充當用於儲存記憶體可執行碼、資料或類似者的媒體的任何適當製品。此等製品可代表電腦可讀媒體(即,任何適當形式的記憶體或儲存器),該電腦可讀媒體可儲存由主機SoC 12或記憶體SoC 22使用來執行當前揭示技術的處理器可執行碼。記憶體及儲存器亦可用於儲存資料、資料分析及類似者。記憶體及儲存器可代表非暫態電腦可讀媒體(即,任何適當形式的記憶體或儲存器),該非暫態電腦可讀媒體可儲存由主機SoC 12或記憶體SoC 22用於執行本文中描述的各種技術的處理器可執行碼。應注意,非暫態僅指示媒體係有
形的且並非一信號。
如上所述,可藉由利用特定類型的記憶體之能力以執行通常在其他類型的記憶體上執行的操作而更高效地使用記憶體裝置。例如,如DRAM之低能力記憶體類型與諸如SRAM之高能力記憶體相比可能相對廉價。雖然DRAM可能無法像一SRAM一樣快地執行功能,但是DRAM之可獨立操作區域(IOR)(諸如庫)可用於同時執行可能已由SRAM個別地執行的多個操作。因而,在某些實施例中,記憶體SoC 22可在記憶體裝置14內分割一或多個記憶體組件之資料結構。即,記憶體SoC 22可決定如何使用各記憶體組件之可用資料結構分佈資訊。應提及,如本文中討論,分割一資料結構大致涉及根據記憶體組件中已存在的庫將資料結構的部分映射至現有庫的虛擬庫中,及類似情況。如將暸解,鑑於庫在記憶體組件內的各自資料結構,庫可獨立於彼此操作。以相同方式,在各庫中映射的虛擬庫可取決於其中映射各各自虛擬庫之庫而獨立於彼此操作。在任何情況中,在判定記憶體組件中的可用資料結構後,記憶體SoC 22可將作為記憶體組件之部分之不同資料結構映射至記憶體組件之庫或虛擬庫中。因此,高度分割技術可允許具有高的庫計數的廉價記憶體,諸如DRAM(即,具有比一慣用DRAM多的庫及被分割以作為一慣用DRAM中不存在的虛擬庫操作之可能庫的DRAM)取代更昂貴且高能力的記憶體,諸如SRAM。
記住上述內容,記憶體裝置14之各記憶體組件可包含特定數目的資料結構,該等資料結構在記憶體組件最初製造時,作為該記憶體組件的部分。例如,一記憶體組件可為一堆疊裝置,該堆疊裝置包含可分佈至不同部分(諸如室(vault)或庫)之記憶體之若干層。圖3繪示一例示性三維堆疊記憶體組件30之一俯視圖,該三維堆疊記憶體組件30可包含可能在製造時形成的若干記憶體層。如圖3中所示,記憶體組
件30可包含耦合至其上之若干鏈路31。通常,上文討論的通道29可包含一或多個鏈路31,且可提供對記憶體組件30之存取。在所描繪之實施例中,各鏈路31可包含三個進入信道及兩個外出信道。
如上所述,記憶體組件30可包含若干記憶體層及一邏輯層。例如,圖4繪示記憶體組件30之一示意圖,該記憶體組件30具有八個記憶體層32(例如,DRAM層1至8)及一個邏輯層33(例如,邏輯層0)。各記憶體層32可包含可用於儲存資料之記憶體位元單元。邏輯層33可包含控制電路組件,該等控制電路組件可促進至記憶體層32之一者或多者及至一外部介面之存取。
如上文討論,記憶體組件30可在製造時分割以提供記憶體組件30之單獨區段或IOR。在一個實例中,各記憶體層32可被分為大片段(例如,室),該等大片段可被進一步分割為較小片段(例如,庫)。根據本文中描述之技術,庫可被進一步分割為虛擬庫。圖5繪示上文討論之記憶體組件30之一部分27之一示意圖。如圖5中所示,記憶體組件30之部分27之各記憶體層32可被分割為兩個室34,且各室34可被分割為兩個庫35。
應注意,圖5繪示有關鏈路31之一者之邏輯及記憶體堆疊之一部分27。在一實施例中,對於整個記憶體組件30,可能存在64個此等部分(例如,切片)。由於各記憶體層32被分割成兩個室34,故邏輯層33可包含兩個控制邏輯部分38,該等控制邏輯部分38可控制至各各自室34的資料流量。在所描繪之實施例中,每一個外部鏈路31繪示兩個室34。此組態可提供DRAM技術之內部速度能力的最佳化及其如何匹配至邏輯層33之外部速度能力。但是,應注意,在某些實施例中,各室34可包含耦合至邏輯層之其自己的個別垂直匯流排(未展示)。在某些實施例中,各鏈路31可經由邏輯層33存取室34。因而,邏輯層33可提供對記憶體層32的任何者之存取。
記住這點,記憶體SoC 22或任何其他適當裝置可將庫35進一步分割成虛擬庫36,該等虛擬庫36可用於提供記憶體組件30之改良操作。即,在某些實施例中,記憶體SoC 22將記憶體層32之片段(例如,庫35)之不同部分分配為單獨的虛擬庫36,該等虛擬庫36可用於執行各種資料操作。
舉例而言,圖6繪示可作為記憶體組件30之部分之四個例示性資料結構37。如將暸解,使用本文中揭示之系統及技術,記憶體SoC 22可將資料結構37映射至跨庫35分佈之虛擬庫36中。即,記憶體組件30可包含已被分割為四個虛擬庫36(虛擬庫0至3)之六個庫36(庫0至5)。如圖6中所示,資料結構A及資料結構D係讀取-修改-寫入(RMW)結構,其被映射至數量為唯讀結構兩倍之實體庫中。即,與可各跨一個庫35映射的唯讀結構相比,RMW結構之暫存器可各跨兩個庫35映射。藉由將各結構映射至不同庫35,記憶體SoC 22可改良記憶體組件30處置多個請求的能力。例如,若一第一請求涉及存取資料結構A之暫存器A0且一第二請求涉及存取資料結構A之暫存器A5,則記憶體SoC 22可能不針對第二請求提供對資料結構A的存取,直至第一請求已被處理為止。但是,若資料結構37被映射至圖6中所示之虛擬庫36中,則由於暫存器A0及A5被映射至作為不同庫35之部分之不同虛擬庫36,故記憶體SoC 22可同時處理第一請求及第二請求,此係因為其等兩者存取不同庫35。
記住記憶體組件30之例示性分割結構,下文將使用一網路設備實例描述使用記憶體組件之高度分割之技術。但是,應注意,此相同方法亦可在不存在清晰的資料結構時工作。通常,如上所述,藉由將可獨立操作區域(IOR)(如DRAM庫(例如,庫35))放入一定址結構之低階位元中,與資料結構之分割相比,可達成相同系統操作效果。例如,若DRAM自然存取係128位元(16位元組),則緊接在16B群組之前
的位址位元可引向下一IOR。因而,連續的隨機交易可能進入與前一交易不同的IOR。
查看一網路設備實例,在可支援網際網路訊務之一高速路由器中,當一封包被路由器接收時,可參照高達40個不同資料結構。若輸入資料之集合線速率係400Gb/s,則最小封包大小係512個位元,且圍繞封包之額外時間間隙導致封包持續時間為672個位元,且所有封包為相同大小,則封包速率係1.68ns或672個位元/400Gb/s。一些結構可簡單依每個封包被觸碰(例如,讀取或寫入)一次,而其他結構可被觸碰兩次(例如,讀取及寫入)。因而,為了支援此線速率,記憶體可支援2次觸碰之隨機存取速率1.68ns/2=0.84ns,其可能難以使任何記憶體支援此類型之隨機存取。此外,可能難以設計DRAM以允許0.84ns的列循環時間(tRC)或將其擴充至tRC的甚至更小值。如本文中所使用,一記憶體組件之tRC指記憶體組件之一記憶體列完成一完整循環(從列啟動至主動列之預充電)所花費的最小時間量(例如,時脈循環)。
為了促進此類型之隨機存取,由記憶體SoC 22利用的個別DRAM的庫計數的數目可增大以提供足夠數目的庫來涵蓋隨機具有0.84ns的針對2次觸碰之近似存取速率之一應用程式的需要。為了判定個別DRAM之庫計數的數目,記憶體SoC 22可判定一記憶體組件之資料結構可用於根據較佳隨機存取請求速率實現一成功系統操作之一程度或量。通常,分割使用的數量可依據記憶體組件之tRC對較佳隨機存取請求速率之一比率。
記住上述內容,圖7繪示用於判定記憶體SoC 22可選擇以在一記憶體組件(例如,DRAM)中使用之最小數目之片段的方法40。若記憶體組件包含小於此最小數目的片段,則記憶體組件之片段可開始接收隨機請求,該隨機請求將偶爾佔用各片段,同時到達且導致各種延
遲。因而,在實務中,在執行方法40後實施之片段的數目可包含除所計算的最小值以外的一或多個片段。如本文中使用,片段指代記憶體組件30中已存在的庫35。片段亦指代如上文描述藉由一處理器映射之虛擬庫36。在某些實施例中,記憶體SoC 22可在使用一各自記憶體組件之不同片段之前執行下文描述之方法40。但是,應暸解,方法40可由任何適當處理器執行。為討論目的,將參考虛擬庫36描述方法40之下列描述,但是應暸解,方法40亦可參考作為記憶體組件30之部分之庫35執行。
在方塊42處,記憶體SoC 22可接收預期被傳送至記憶體SoC 22之一預期隨機存取速率。重新參考上文提出之實例,若輸入資料之一集合線速率係400Gb/s,則最小封包大小係512個位元(包含封包間間隙之672位元等效物),且所有封包為最小大小,則各所接收封包之預期隨機存取速率係大約1.68ns。假設各封包包含2次觸碰資料操作,則針對各所接收封包之預期隨機存取速率係大約0.84ns。
在方塊44處,記憶體SoC 22可接收一記憶體組件之一列循環時間(tRC)。如上文討論,一記憶體組件之tRC指記憶體組件之一記憶體列完成一完整循環(從列啟動至主動列之預充電)所花費的最小時間量(例如,時脈循環)。換言之,記憶體組件之tRC可指一記憶體組件中之一資料結構(例如,庫)在執行一個資料操作(例如,2次觸碰操作)時可使用的時間量。
在方塊46處,記憶體SoC 22可基於記憶體組件之tRC對各所接收封包之預期隨機存取速率之一比率判定各自記憶體組件中可使用的虛擬庫之最小數目。若在方塊44處接收之記憶體組件之tRC係8.4ns,則在上文實例中記憶體組件之tRC對各所接收封包之預期隨機存取速率的比率係8.4:0.84或10至1。記憶體組件之tRC與各所接收封包之預期隨機存取速率之間的所產生比率可對應於將在各自記憶體組件中使用
以適應各所接收封包之預期隨機存取速率之最小數目之虛擬庫。即,所產生的比率可識別各自記憶體組件中在不添加封包至一佇列的情況下繼續接收封包所需之虛擬庫之數目。
如上所述,記憶體組件30可在設計或製造記憶體組件30時,被大致分佈至不同結構(例如,室34、庫35)中。一分佈實例包含將記憶體組件30劃分為庫35,如上文討論。庫30可使用共用的獨立列及行解碼器、感測放大器及資料路徑存取。
記住這點,在一些實施例中,記憶體SoC 22可藉由將一庫35劃分為虛擬庫36而使用較少資源來存取記憶體層35。即,記憶體SoC 22可將一庫35之不同部分映射至若干虛擬庫36中以使不同庫35能獨立操作。因而,邏輯層33之單獨列解碼器可用於存取各虛擬庫36,但資源的一些共性仍可沿著各自資料路徑及經由邏輯層33之行解碼器存在。
與將不同庫35映射至不同室34或不同記憶體層32之部分中相比,藉由將一個庫35映射至虛擬庫34中,記憶體SoC 22可引致較少面積損失(例如,額外2至3%)。即,一新請求可進入具有若干虛擬庫36之此單個庫35,且使用共用資源(例如,行解碼器)存取虛擬庫之各者。因而,記憶體SoC 22可按~4ns之行至行延遲時間(tCCD)之一速率送達一請求,該延遲時間比整個庫35之列循環時間(tRC)(例如,~35ns)快。雖然在一些情況中,tCCD速率可比資料路徑能力(例如,可按1至2ns操作)慢,但是與習知系統相比,使用虛擬庫36仍可在存取記憶體組件30時提供改良的速率。
重新參考方塊46,在判定將在各自記憶體組件中使用之虛擬庫之最小數目後,記憶體SoC 22可開始將各自記憶體組件中之一或多個資料結構映射至一各自虛擬庫36。應注意,藉由將記憶體組件30設計為具有更多庫35,或將虛擬庫36添加至庫35,記憶體組件30可使用額外矽區域,其可關聯於更高成本及因此更高之每位元成本。因此,若
記憶體組件30的晶粒大小恆定,則較少位元在記憶體組件30中可用。但是,本文中描述之映射程序不會實際導致任何記憶體容量(例如,記憶體位元計數)損失減小。而是,本文中描述之映射技術可導致資料圍繞記憶體組件30散佈。因而,額外邏輯可用於保持追蹤使用中的記憶體及空閒的記憶體。
為了更好地繪示分割記憶體組件的好處,圖8繪示尚未被分割成虛擬庫36之一記憶體組件之一例示性資料結構60。如圖8中所示,資料結構60包含16個記憶體位址62。當一封包請求被具有資料結構60之各自記憶體組件接收時,封包請求之相應資料操作可能導致資料結構無法被記憶體組件30之tRC獲得。即,例如,若一第一封包請求包含針對資料結構60之元素3之一請求,且一第二封包請求包含針對元素16之一請求,則第二封包請求無法被執行,直至第一封包請求已被完成或直至記憶體組件之tRC已通過為止。若當第二請求封包正在試圖存取資料結構60時,記憶體組件之tRC尚未通過,則記憶體SoC 22可被放置在針對各自資料結構60之一佇列中。
圖9繪示具有虛擬庫72、74、76及78之一分割資料結構70。在一實施例中,資料結構70之各輸入項可基於虛擬庫36之數目按循環方式編號。例如,取代如圖8之資料結構60中所示按時間順序對各記憶體位址編號,將元素1映射至虛擬庫72、將元素2映射至虛擬庫74,將元素3映射至虛擬庫76、將元素4映射至虛擬庫78、將元素5映射至虛擬庫72等等。
記住上述內容,當將上文提出之實例應用至圖9之分割資料結構70時,分割資料結構70之值將變得明顯。即,若第一封包請求包含針對分割資料結構70之元素3之一請求,則記憶體SoC 22可提供對分割資料結構70之虛擬庫76之存取。由於各分割資料結構係相同記憶體組件之部分,故各虛擬庫之tRC對應於記憶體組件之tRC。但是,與資
料結構60不同,若第二封包請求包含針對元素16之一請求,則記憶體SoC 22可提供對虛擬庫78之存取,而不管第一封包請求是否已停止存取虛擬庫76。如將暸解,由於虛擬庫76及虛擬庫78係獨立於彼此,故即使當虛擬庫76忙於執行另一操作時,記憶體SoC 22仍可提供對虛擬庫78之存取。因而,與資料結構60相比,記憶體組件使用分割資料結構70高效執行資料操作的能力隨更多虛擬庫產生而增大。
雖然圖7之方法40可提供將在記憶體組件30中形成的最小數目之虛擬庫,但是在記憶體組件30中增加額外虛擬庫以補償各種錯誤、非預期延遲、在佇列中等待存取記憶體組件30之封包及類似者可能是有利的。例如,考慮針對1011個隨機請求循環之上文描述之網路系統之模擬及假設每1.68ns可接收一請求之一基線SRAM及無資料結構分割,佇列深度(即,一新請求在全管線化系統中等待一答案的時間)針對僅具有1次觸碰之操作可為1個封包。另一方面,針對具有2次觸碰的操作,佇列時間傾向於無限。即,當每個請求執行一觸碰兩次時,SRAM無法跟上。由於每1.68ns,記憶體組件可接收一兩次觸碰請求(即使其在該時間跨度內只能處理一次觸碰操作),故佇列深度在各所接收封包後增大,且傾向於無限。因而,此模擬系統無法如設計般起作用。
現參考來自使用4向資料結構分割之上述實例之一模擬之一些資料點,具有相對tRC=2*請求速率之一裝置之最大佇列延遲被模擬為12。對於相對tRC=3x,最大佇列延遲被模擬為31。基於各自記憶體組件之各種性質,可能期望良好系統操作之一最大佇列延遲不大於大約15。因而,tRC=2x係每個封包1次觸碰結構之一合理解決方案。對於2次觸碰,tRC被有效翻番,此係因為需要2個操作,因此tRC=2x將表現為tRC=4x,其在此實例中將具有不可接受的長佇列時間。
在64向分割中且假設tRC=8.4ns(即,5x封包速率),佇列深度可
被模擬為6,其對於每個封包1次觸碰而言係可接受的。但是,在模擬每個封包2次觸碰的tRC=10x,佇列深度可被模擬為9,其亦可能係可接受的。因此,藉由採用各自記憶體組件之64個庫(其等可依5x封包速率循環),即使在每個輸入封包2次觸碰記憶體的情況下,記憶體系統仍可跟上全線速率。
在tRC=6x(即,在本實例中的10.08ns)之64向分割中,DRAM的相應種類可使用快速庫循環技術,同時仍使用習知1T-1C DRAM及習知感測放大器建立。在此,佇列針對1次觸碰可為7,且針對2次觸碰可為10,兩者再次係可接受的。舉例而言,若40個資料結構之一系統具有1次觸碰(即,唯讀)結構之14個結構,且具有2次觸碰(即,讀取-修改-寫入)結構之24個結構,則針對14個唯讀結構之各者之16向分割可能涉及總共224個庫。因而,在本實例中,佇列將為13。其餘26個結構可被賦予30向分割,藉此消耗780個庫35。在此,2次觸碰佇列可為14個。在本實例中涉及之庫35的總數目接著可為224+780=1,004。若可用的庫35的總數目係1,024,則20個庫35仍可用於其他功能。記住這點,若系統使用8個DRAM來達成期望記憶體容量及頻寬,則各DRAM可使用128個庫35,其等可能比一產業標準DRAM高,但按合理成本設計及建造仍可行。
雖然在此參考一網路路由器描述資料結構之分割,但是應暸解,本文中描述之技術亦可用於其他類型之系統中。因而,上述實例不旨在將當前揭示技術之範疇限制為網路化。
記住上述內容,圖10繪示用於基於一較佳佇列深度判定將在記憶體組件中形成之虛擬庫之數目之一方法90。如上文參考圖7所提及,為討論目的,將參考虛擬庫36描述方法90之下列描述,但是應暸解,方法90亦可參考作為記憶體組件30之部分之庫35執行。
在一實施例中,方法90可在根據方法40判定將在記憶體組件中
形成之虛擬庫36之數目後執行。即,方法40可用於判定將在記憶體組件30中映射之虛擬庫36之最小數目,且接著方法90可用於微調或識別將在記憶體組件30中映射之虛擬庫36之數目以高效執行各種資料請求。
如同方法40,方法90之下文描述將被描述為由記憶體組件SoC 22執行,但是應暸解,任何適當處理器可執行方法90。此外,雖然方法90按特定順序提出,但是應注意,方法90可按任何適當順序執行。
現參考圖10,在方塊92處,記憶體SoC 22可接收一較佳佇列深度。較佳佇列深度可基於在記憶體組件被分割後可用之記憶體量判定。通常,各佇列深度增量涉及在記憶體組件中使用額外暫存器或額外記憶體以儲存佇列化之相應資料。因而,較佳佇列深度可與記憶體組件中可用之記憶體量相關。
應注意,記憶體成本涉及增大記憶體組件30可支援之佇列深度之量。即增大記憶體組件30之可用佇列深度,涉及使用記憶體組件30之更多暫存器來增大佇列深度。但是,為了減小佇列深度,記憶體SoC 22可在記憶體組件30內映射虛擬庫36。但是,虛擬庫36的映射仍增大記憶體成本,且增加有關邏輯層33之邏輯成本以適應針對不同虛擬庫36之不同佇列。但是,與分割記憶體組件30相比之未分割記憶體組件30之相對較長佇列深度對應於與使用具有虛擬庫36所涉及的多個佇列相比之較低系統效能。
在方塊94處,記憶體SoC 22可基於針對記憶體組件30之虛擬庫36具有一定預期觸碰率之隨機訊務判定在達到較佳佇列深度前執行的循環數目。在某些實施例中,虛擬庫36之預期量可對應於方法40之結果。
使用針對使用方法40判定之最小數目的虛擬庫36具有預期觸碰率之隨機訊務,記憶體SoC 22可執行記憶體組件30接收特定數目之隨
機請求之一模擬。在一實施例中,記憶體SoC 22可執行模擬,直至已達到較佳佇列深度。
舉例而言,圖11繪示一對數圖110,其繪示關於記憶體組件30中存在的虛擬庫36之數目,各種佇列深度值在若干循環內發生時的情況。如對數圖110中所示,當記憶體組件30被分割為4個虛擬庫36時,在10,000個循環後達到2的最大佇列深度。記住這點,在方塊94處,記憶體SoC 22可使用一模擬來判定預期在達到較佳佇列深度之前執行之循環的數目。
再次參考圖10,在方塊96處,記憶體SoC 22可判定循環數目是否大於一定臨限。在一實施例中,臨限可與被模擬為訊務之封包之一預期封包錯誤率相關聯。即,雖然藉由上文描述之方法40判定之虛擬庫36之數目可提供足夠數目的虛擬庫36來執行與所接收封包相關聯之資料操作,但是所判定數目不考慮所接收封包之封包錯誤率。任何封包可具有反映在一錯誤可能發生之前執行之預期數目之循環之一封包錯誤率。例如,封包錯誤率可為每109個循環1個錯誤。當一封包發生一錯誤,封包被重新傳送且記憶體組件30之佇列(例如,佇列深度)可增大。
記住這點,且考慮作為模擬的部分之封包之隨機訊務,一請求封包可在先前請求封包完成處理前重複到達相同虛擬庫36。因而,請求封包可作為佇列的部分備份或儲存在一暫存器中。在某些實施例中,請求封包之積存可儲存在記憶體組件30前方之佇列中。但是,佇列的大小受限,此係因為用於在佇列中保存封包之各暫存器耗用記憶體空間。某時,記憶體空間將不再可用。若佇列資源被剔除的頻率歸因於封包錯誤而小於正常封包丟棄率,則記憶體組件30之操作中可能不存在任何可觀測的損失。例如,若封包在109次中丟棄1個,則記憶體組件30可被選擇包含足夠的暫存器來支援在1012個請求中丟棄1個
之一佇列或0.1%的正常封包丟棄率。因而,重新參考方塊96,在一些實施例中,臨限可比封包錯誤率大一定倍數。例如,若1010個封包之一個封包丟棄,則臨限可被設定為1012。
若記憶體SoC 22判定循環數目不大於臨限,則記憶體SoC 22可結束方法90,且用方塊94處使用的虛擬庫的數目繼續進行。但是,若記憶體SoC 22判定循環數目大於臨限,則記憶體SoC 22可增大在記憶體組件30中映射的虛擬庫36的量,且在方塊98處,重複方塊94至98,直至達到較佳佇列深度的循環數目小於臨限。
雖然上文描述之方法90被描述為由記憶體SoC 22執行,但是應注意,在某些實施例中,方法90可由獨立於記憶體裝置14操作之一處理器執行。即,與典型記憶體SoC相比,執行方法90之處理器可具有額外處理力,以判定虛擬庫36之量以更快地使用。但是,若方法90由記憶體SoC 22執行,則應注意,記憶體SoC 22可包含額外控制邏輯、計數器及隨機數目產生器以高效執行方法90。
雖然本文中描述之實施例可具有各種修改及替代形式,但是特定實施例已在圖式中藉由實例展示且已在本文中予以詳細描述。然而,應瞭解,本發明並不旨在限於所揭示之特定形式。而是,本發明涵蓋落於如藉由下列隨附申請專利範圍定義之本發明之精神及範疇內之所有修改、等效物及替代。
27‧‧‧記憶體組件30之一部分
31‧‧‧鏈路
32‧‧‧記憶體層
33‧‧‧邏輯層
34‧‧‧室
35‧‧‧庫
36‧‧‧控制邏輯部分
Claims (20)
- 一種記憶體裝置,其包括:一記憶體組件,其經組態以儲存資料;及一處理器,其經組態以基於與該記憶體組件相關聯之一或多個性質及該記憶體組件之一預期隨機存取速率而在該記憶體組件中映射一或多個庫或一或多個虛擬庫。
- 如請求項1之記憶體裝置,其中該記憶體組件包括一動態隨機存取記憶體或一NAND記憶體。
- 如請求項1之記憶體裝置,其中該處理器經組態以經由該等虛擬庫之兩個不同虛擬庫在該記憶體組件上執行至少兩個資料操作,其中該至少兩個資料操作之一部分被同時執行。
- 如請求項1之記憶體裝置,其中與該記憶體組件相關聯之該等性質包括該記憶體組件之一列循環時間。
- 如請求項1之記憶體裝置,其中該預期隨機存取速率係基於由該處理器接收之請求之一聚合線速率、該等請求之各請求之一最小大小及由該等請求之各請求執行之觸碰操作之一類型判定。
- 一種方法,其包括:經由一處理器,接收與存取一記憶體組件相關聯之一預期隨機存取速率;經由該處理器,接收與該記憶體組件相關聯之一列循環時間;經由該處理器,基於該預期隨機存取速率及該列循環時間判定將在該記憶體組件中產生之庫之一第一數目或虛擬庫之一第二數目;及經由該處理器,分別基於該第一數目之庫或該第二數目之虛 擬庫在該記憶體組件中映射一或多個庫或一或多個虛擬庫,其中該記憶體組件中之該一或多個虛擬庫之各虛擬庫可基於該記憶體組件中之該一或多個虛擬庫之位置獨立存取。
- 如請求項6之方法,其中該列循環時間包括該記憶體組件之一記憶體列完成一完整循環之一時間量。
- 如請求項6之方法,其中該預期隨機存取速率係基於與存取該記憶體組件之各請求相關聯之觸碰之一數目判定。
- 如請求項6之方法,其中判定將在該記憶體組件中產生之虛擬庫之該數目包括判定該列循環時間對該預期隨機存取速率之一比率。
- 如請求項6之方法,其包括經由該處理器存取該一或多個虛擬庫之一第一虛擬庫,同時該一或多個虛擬庫之一第二虛擬庫亦被存取。
- 如請求項6之方法,其包括經由該處理器將該等記憶體組件之複數個元素映射至該等記憶體組件之該一或多個庫或該一或多個虛擬庫中之一或多個元素。
- 如請求項6之方法,其包括經由該處理器,基於該記憶體組件之一較佳佇列深度判定將在該記憶體組件中產生之虛擬庫之該第二數目。
- 如請求項12之方法,其中經由該處理器,基於該較佳佇列深度判定將在該記憶體組件中產生之虛擬庫之該第二數目包括執行存取該記憶體組件之複數個隨機請求之一模擬及判定由該處理器執行以達到該較佳佇列深度之循環之一數目。
- 一種有形、非暫態、機器可讀媒體,其包括指令,該等指令經組態以:接收一記憶體組件之一較佳佇列深度,其中該較佳佇列深度 包括在一佇列中等待存取該記憶體組件之封包之一數目;基於將由該記憶體組件接收之複數個隨機封包之一預期觸碰速率及該記憶體組件中之庫之一第一數目或虛擬庫之一第二數目判定達到該較佳佇列深度之循環之一數目,其中該記憶體組件中之該第二數目之虛擬庫之各虛擬庫可基於該記憶體組件中之該第二數目之虛擬庫之各虛擬庫之一位置獨立存取;及基於循環之該數目判定該記憶體組件中之庫之一第三數目或虛擬庫之一第四數目。
- 如請求項14之有形、非暫態、機器可讀媒體,其中用於判定循環之該數目之該等指令包括以下指令:執行藉由該記憶體組件針對該第一數目之庫或該第二數目之虛擬庫接收該複數個隨機封包之一模擬;及基於該模擬判定循環之該數目。
- 如請求項14之有形、非暫態、機器可讀媒體,其中用於判定虛擬庫之該第四數目之該等指令包括以下指令:判定循環之該數目是否超過一臨限;及當循環之該數目超過該臨限時,增加虛擬庫之該第二數目。
- 如請求項16之有形、非暫態、機器可讀媒體,其中該臨限與一封包錯誤率相關聯。
- 如請求項17之有形、非暫態、機器可讀媒體,其中該封包錯誤率包括在由該記憶體組件接收該複數個隨機封包之一模擬期間在一錯誤發生前執行之一預期數目之循環。
- 如請求項16之有形、非暫態、機器可讀媒體,其中該臨限係一封包錯誤率之一倍數。
- 如請求項14之有形、非暫態、機器可讀媒體,其中該記憶體組件包括一動態隨機存取記憶體或一NAND記憶體。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462006668P | 2014-06-02 | 2014-06-02 | |
US14/726,150 US9690502B2 (en) | 2014-06-02 | 2015-05-29 | Systems and methods for segmenting data structures in a memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201614501A TW201614501A (en) | 2016-04-16 |
TWI554883B true TWI554883B (zh) | 2016-10-21 |
Family
ID=54701759
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104117868A TWI554883B (zh) | 2014-06-02 | 2015-06-02 | 用於在記憶體系統中分割資料結構之系統及方法 |
TW104117824A TWI582588B (zh) | 2014-06-02 | 2015-06-02 | 用於在記憶體系統中提高效率之系統及方法 |
TW104117826A TWI545497B (zh) | 2014-06-02 | 2015-06-02 | 用於在可擴充記憶體系統協定中記錄封包傳送之系統及方法 |
TW104117828A TWI570569B (zh) | 2014-06-02 | 2015-06-02 | 用於在可擴充記憶體系統協定中包裝資料之系統及方法 |
TW104117823A TWI625632B (zh) | 2014-06-02 | 2015-06-02 | 記憶體裝置、記憶體系統及操作一記憶體之方法 |
TW104117829A TWI547799B (zh) | 2014-06-02 | 2015-06-02 | 用於在可擴充記憶體系統協定中傳送封包之系統及方法 |
Family Applications After (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104117824A TWI582588B (zh) | 2014-06-02 | 2015-06-02 | 用於在記憶體系統中提高效率之系統及方法 |
TW104117826A TWI545497B (zh) | 2014-06-02 | 2015-06-02 | 用於在可擴充記憶體系統協定中記錄封包傳送之系統及方法 |
TW104117828A TWI570569B (zh) | 2014-06-02 | 2015-06-02 | 用於在可擴充記憶體系統協定中包裝資料之系統及方法 |
TW104117823A TWI625632B (zh) | 2014-06-02 | 2015-06-02 | 記憶體裝置、記憶體系統及操作一記憶體之方法 |
TW104117829A TWI547799B (zh) | 2014-06-02 | 2015-06-02 | 用於在可擴充記憶體系統協定中傳送封包之系統及方法 |
Country Status (6)
Country | Link |
---|---|
US (16) | US9747048B2 (zh) |
EP (6) | EP3149585B1 (zh) |
KR (3) | KR102197401B1 (zh) |
CN (9) | CN106471485B (zh) |
TW (6) | TWI554883B (zh) |
WO (6) | WO2015187577A1 (zh) |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9606928B2 (en) * | 2014-08-26 | 2017-03-28 | Kabushiki Kaisha Toshiba | Memory system |
US10127383B2 (en) * | 2014-11-06 | 2018-11-13 | International Business Machines Corporation | Resource usage optimized auditing of database shared memory |
US9817602B2 (en) * | 2014-11-13 | 2017-11-14 | Violin Systems Llc | Non-volatile buffering for deduplication |
GB2539443B (en) * | 2015-06-16 | 2020-02-12 | Advanced Risc Mach Ltd | A transmitter, a receiver, a data transfer system and a method of data transfer |
ES2860708T3 (es) * | 2016-02-19 | 2021-10-05 | Viasat Inc | Métodos y sistemas para la asignación de capacidad de red multinivel |
US9997232B2 (en) * | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
TWI587133B (zh) | 2016-05-20 | 2017-06-11 | 慧榮科技股份有限公司 | 資料儲存裝置之資料頁對齊方法及其查找表的製作方法 |
JP2018049387A (ja) * | 2016-09-20 | 2018-03-29 | 東芝メモリ株式会社 | メモリシステム及びプロセッサシステム |
US11314648B2 (en) | 2017-02-08 | 2022-04-26 | Arm Limited | Data processing |
US10216671B2 (en) | 2017-02-27 | 2019-02-26 | Qualcomm Incorporated | Power aware arbitration for bus access |
US10784986B2 (en) | 2017-02-28 | 2020-09-22 | Intel Corporation | Forward error correction mechanism for peripheral component interconnect-express (PCI-e) |
US10318381B2 (en) * | 2017-03-29 | 2019-06-11 | Micron Technology, Inc. | Selective error rate information for multidimensional memory |
BR112019026942B1 (pt) | 2017-06-23 | 2024-02-15 | Huawei Technologies Co., Ltd | Tecnologia de acesso à memória e sistema de computador |
US10713189B2 (en) * | 2017-06-27 | 2020-07-14 | Qualcomm Incorporated | System and method for dynamic buffer sizing in a computing device |
US11294594B2 (en) * | 2017-08-07 | 2022-04-05 | Kioxia Corporation | SSD architecture supporting low latency operation |
US10387242B2 (en) | 2017-08-21 | 2019-08-20 | Qualcomm Incorporated | Dynamic link error protection in memory systems |
US10908820B2 (en) | 2017-09-14 | 2021-02-02 | Samsung Electronics Co., Ltd. | Host-based and client-based command scheduling in large bandwidth memory systems |
GB2569276B (en) | 2017-10-20 | 2020-10-14 | Graphcore Ltd | Compiler method |
US10963003B2 (en) | 2017-10-20 | 2021-03-30 | Graphcore Limited | Synchronization in a multi-tile processing array |
GB201717295D0 (en) | 2017-10-20 | 2017-12-06 | Graphcore Ltd | Synchronization in a multi-tile processing array |
GB2569275B (en) | 2017-10-20 | 2020-06-03 | Graphcore Ltd | Time deterministic exchange |
CN107943611B (zh) * | 2017-11-08 | 2021-04-13 | 天津国芯科技有限公司 | 一种快速产生crc的控制装置 |
US10824376B2 (en) | 2017-12-08 | 2020-11-03 | Sandisk Technologies Llc | Microcontroller architecture for non-volatile memory |
US10622075B2 (en) | 2017-12-12 | 2020-04-14 | Sandisk Technologies Llc | Hybrid microcontroller architecture for non-volatile memory |
CN110022268B (zh) * | 2018-01-09 | 2022-05-03 | 腾讯科技(深圳)有限公司 | 一种数据传输控制方法、装置及存储介质 |
CN108388690B (zh) * | 2018-01-16 | 2021-04-30 | 电子科技大学 | 元胞自动机实验平台 |
KR20190099879A (ko) * | 2018-02-20 | 2019-08-28 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11003777B2 (en) | 2018-04-16 | 2021-05-11 | International Business Machines Corporation | Determining a frequency at which to execute trap code in an execution path of a process executing a program to generate a trap address range to detect potential malicious code |
US10810304B2 (en) | 2018-04-16 | 2020-10-20 | International Business Machines Corporation | Injecting trap code in an execution path of a process executing a program to generate a trap address range to detect potential malicious code |
US10929033B2 (en) * | 2018-04-25 | 2021-02-23 | Micron Technology, Inc. | Allocating variable media types of memory devices in a memory system |
US10831653B2 (en) | 2018-05-15 | 2020-11-10 | Micron Technology, Inc. | Forwarding code word address |
US11003375B2 (en) | 2018-05-15 | 2021-05-11 | Micron Technology, Inc. | Code word format and structure |
US10409680B1 (en) | 2018-05-24 | 2019-09-10 | Micron Technology, Inc. | Progressive length error control code |
US10496478B1 (en) * | 2018-05-24 | 2019-12-03 | Micron Technology, Inc. | Progressive length error control code |
US10969994B2 (en) * | 2018-08-08 | 2021-04-06 | Micron Technology, Inc. | Throttle response signals from a memory system |
US11074007B2 (en) * | 2018-08-08 | 2021-07-27 | Micron Technology, Inc. | Optimize information requests to a memory system |
TW202404318A (zh) * | 2018-08-23 | 2024-01-16 | 美商阿爾克斯股份有限公司 | 網路運算環境中使用位址解析協定的第一跳轉閘道的冗餘機制系統 |
KR102541897B1 (ko) | 2018-08-27 | 2023-06-12 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
US11061751B2 (en) | 2018-09-06 | 2021-07-13 | Micron Technology, Inc. | Providing bandwidth expansion for a memory sub-system including a sequencer separate from a controller |
US11080210B2 (en) | 2018-09-06 | 2021-08-03 | Micron Technology, Inc. | Memory sub-system including an in package sequencer separate from a controller |
US10838909B2 (en) | 2018-09-24 | 2020-11-17 | Hewlett Packard Enterprise Development Lp | Methods and systems for computing in memory |
US10771189B2 (en) | 2018-12-18 | 2020-09-08 | Intel Corporation | Forward error correction mechanism for data transmission across multi-lane links |
WO2020135385A1 (zh) * | 2018-12-29 | 2020-07-02 | 上海寒武纪信息科技有限公司 | 通用机器学习模型、模型文件的生成和解析方法 |
CN109815043B (zh) * | 2019-01-25 | 2022-04-05 | 华为云计算技术有限公司 | 故障处理方法、相关设备及计算机存储介质 |
US11637657B2 (en) | 2019-02-15 | 2023-04-25 | Intel Corporation | Low-latency forward error correction for high-speed serial links |
US10997111B2 (en) | 2019-03-01 | 2021-05-04 | Intel Corporation | Flit-based packetization |
US11249837B2 (en) * | 2019-03-01 | 2022-02-15 | Intel Corporation | Flit-based parallel-forward error correction and parity |
US10777240B1 (en) | 2019-03-07 | 2020-09-15 | Sandisk Technologies Llc | Efficient control of memory core circuits |
TWI810262B (zh) * | 2019-03-22 | 2023-08-01 | 美商高通公司 | 用於計算機器的可變位元寬資料格式的單打包和拆包網路及方法 |
US10983795B2 (en) * | 2019-03-27 | 2021-04-20 | Micron Technology, Inc. | Extended memory operations |
US11296994B2 (en) | 2019-05-13 | 2022-04-05 | Intel Corporation | Ordered sets for high-speed interconnects |
US10877889B2 (en) * | 2019-05-16 | 2020-12-29 | Micron Technology, Inc. | Processor-side transaction context memory interface systems and methods |
US10971199B2 (en) | 2019-06-20 | 2021-04-06 | Sandisk Technologies Llc | Microcontroller for non-volatile memory with combinational logic |
US11740958B2 (en) | 2019-11-27 | 2023-08-29 | Intel Corporation | Multi-protocol support on common physical layer |
DE102019133894A1 (de) * | 2019-12-11 | 2021-06-17 | Beckhoff Automation Gmbh | Verfahren zum zyklischen Übertragen von Daten zwischen Kommunikationsteilnehmern auf einem Datenübertragungskanal und Datenübertragungssystem |
WO2021133690A1 (en) | 2019-12-26 | 2021-07-01 | Micron Technology, Inc. | Host techniques for stacked memory systems |
CN114930282A (zh) | 2019-12-26 | 2022-08-19 | 美光科技公司 | 堆叠式存储器***的真值表扩展 |
KR20220116259A (ko) | 2019-12-26 | 2022-08-22 | 마이크론 테크놀로지, 인크. | 적층 메모리 시스템의 비-결정 동작을 위한 기술 |
KR20210091404A (ko) | 2020-01-13 | 2021-07-22 | 삼성전자주식회사 | 메모리 장치, 메모리 모듈 및 메모리 장치의 동작 방법 |
US11507498B2 (en) | 2020-03-05 | 2022-11-22 | Sandisk Technologies Llc | Pre-computation of memory core control signals |
US11812909B2 (en) | 2020-04-10 | 2023-11-14 | The Procter & Gamble Company | Cleaning implement with a rheological solid composition |
US12004009B2 (en) * | 2020-05-04 | 2024-06-04 | Qualcomm Incorporated | Methods and apparatus for managing compressor memory |
US11979330B2 (en) * | 2020-06-22 | 2024-05-07 | Google Llc | Rate update engine for reliable transport protocol |
US11474743B2 (en) | 2020-08-13 | 2022-10-18 | Micron Technology, Inc. | Data modification |
US11494120B2 (en) * | 2020-10-02 | 2022-11-08 | Qualcomm Incorporated | Adaptive memory transaction scheduling |
TWI763131B (zh) * | 2020-11-18 | 2022-05-01 | 瑞昱半導體股份有限公司 | 網路介面裝置、包含該網路介面裝置之電子裝置,及網路介面裝置的操作方法 |
US11409608B2 (en) * | 2020-12-29 | 2022-08-09 | Advanced Micro Devices, Inc. | Providing host-based error detection capabilities in a remote execution device |
US11481270B1 (en) * | 2021-06-16 | 2022-10-25 | Ampere Computing Llc | Method and system for sequencing data checks in a packet |
CN113840272B (zh) * | 2021-10-12 | 2024-05-14 | 北京奕斯伟计算技术股份有限公司 | 数据传输方法、数据传输装置以及电子装置 |
US11886367B2 (en) * | 2021-12-08 | 2024-01-30 | Ati Technologies Ulc | Arbitration allocating requests during backpressure |
CN114301995B (zh) * | 2021-12-30 | 2023-07-18 | 上海交通大学 | 实时工业以太网协议的转换切换与互通融合***及其方法 |
US20230236992A1 (en) * | 2022-01-21 | 2023-07-27 | Arm Limited | Data elision |
US11922026B2 (en) | 2022-02-16 | 2024-03-05 | T-Mobile Usa, Inc. | Preventing data loss in a filesystem by creating duplicates of data in parallel, such as charging data in a wireless telecommunications network |
US11914473B1 (en) * | 2022-10-20 | 2024-02-27 | Micron Technology, Inc. | Data recovery using ordered data requests |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070156946A1 (en) * | 2005-12-29 | 2007-07-05 | Intel Corporation | Memory controller with bank sorting and scheduling |
TW200947444A (en) * | 2008-02-04 | 2009-11-16 | Mosaid Technologies Inc | Flexible memory operations in NAND flash devices |
WO2011071645A1 (en) * | 2009-12-07 | 2011-06-16 | Sandisk Corporation | Method and system for concurrent background and foreground operations in a non-volatile memory array |
US20120023365A1 (en) * | 2010-07-26 | 2012-01-26 | Apple Inc. | Methods and systems for monitoring write operations of non-volatile memory |
Family Cites Families (212)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7380092B2 (en) | 2002-06-28 | 2008-05-27 | Rambus Inc. | Memory device and system having a variable depth write buffer and preload method |
USRE36751E (en) * | 1987-07-15 | 2000-06-27 | Hitachi, Ltd. | ATM switching system connectable to I/O links having different transmission rates |
EP0453863A2 (en) | 1990-04-27 | 1991-10-30 | National Semiconductor Corporation | Methods and apparatus for implementing a media access control/host system interface |
US5379297A (en) * | 1992-04-09 | 1995-01-03 | Network Equipment Technologies, Inc. | Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode |
JPH05308373A (ja) * | 1992-04-28 | 1993-11-19 | Matsushita Electric Ind Co Ltd | スター型分散制御ネットワークおよびそれに用いる端末装置 |
US5771247A (en) * | 1994-10-03 | 1998-06-23 | International Business Machines Corporation | Low latency error reporting for high performance bus |
US6725349B2 (en) | 1994-12-23 | 2004-04-20 | Intel Corporation | Method and apparatus for controlling of a memory subsystem installed with standard page mode memory and an extended data out memory |
US5781449A (en) * | 1995-08-10 | 1998-07-14 | Advanced System Technologies, Inc. | Response time measurement apparatus and method |
US5978874A (en) * | 1996-07-01 | 1999-11-02 | Sun Microsystems, Inc. | Implementing snooping on a split-transaction computer system bus |
US5935213A (en) * | 1996-05-02 | 1999-08-10 | Fore Systems, Inc. | System and method for generating explicit rate value information for flow control in ATAM network |
US5918182A (en) * | 1996-08-30 | 1999-06-29 | Motorola, Inc. | Method and apparatus for mitigating data congestion in an integrated voice/data radio communications system |
US5754567A (en) | 1996-10-15 | 1998-05-19 | Micron Quantum Devices, Inc. | Write reduction in flash memory systems through ECC usage |
US6272600B1 (en) | 1996-11-15 | 2001-08-07 | Hyundai Electronics America | Memory request reordering in a data processing system |
US6208655B1 (en) * | 1996-11-27 | 2001-03-27 | Sony Europa, B.V., | Method and apparatus for serving data |
US6292834B1 (en) * | 1997-03-14 | 2001-09-18 | Microsoft Corporation | Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network |
KR100247022B1 (ko) * | 1997-06-11 | 2000-04-01 | 윤종용 | Atm 스위칭 시스템의 단일 스위치 소자 및 버퍼 문턱값 결정 방법 |
US6021124A (en) * | 1997-08-19 | 2000-02-01 | Telefonaktiebolaget Lm Ericsson | Multi-channel automatic retransmission query (ARQ) method |
US6516442B1 (en) * | 1997-12-07 | 2003-02-04 | Conexant Systems, Inc. | Channel interface and protocols for cache coherency in a scalable symmetric multiprocessor system |
JP2881418B1 (ja) * | 1998-02-20 | 1999-04-12 | 一男 佐藤 | 識別データー記載シリコン基板およびその製造方法 |
JP3650262B2 (ja) * | 1998-03-20 | 2005-05-18 | 富士通株式会社 | セルの転送レート制御装置およびその方法 |
US6952401B1 (en) * | 1999-03-17 | 2005-10-04 | Broadcom Corporation | Method for load balancing in a network switch |
US6782490B2 (en) * | 1999-03-17 | 2004-08-24 | At&T Corp. | Network-based service for the repair of IP multicast sessions |
US7668189B1 (en) * | 1999-07-08 | 2010-02-23 | Thomson Licensing | Adaptive transport protocol |
US6751698B1 (en) * | 1999-09-29 | 2004-06-15 | Silicon Graphics, Inc. | Multiprocessor node controller circuit and method |
WO2001039496A1 (fr) * | 1999-11-22 | 2001-05-31 | Sony Corporation | Dispositif de lecture et d'enregistrement sur bande video, et lecteur de bandes video |
US6799220B1 (en) * | 2000-04-13 | 2004-09-28 | Intel Corporation | Tunneling management messages over a channel architecture network |
US6715007B1 (en) * | 2000-07-13 | 2004-03-30 | General Dynamics Decision Systems, Inc. | Method of regulating a flow of data in a communication system and apparatus therefor |
WO2002027519A1 (en) * | 2000-09-29 | 2002-04-04 | Alacritech, Inc. | Intelligent network storage interface system and devices |
US7113507B2 (en) * | 2000-11-22 | 2006-09-26 | Silicon Image | Method and system for communicating control information via out-of-band symbols |
US6957313B2 (en) | 2000-12-01 | 2005-10-18 | Hsia James R | Memory matrix and method of operating the same |
GB0031535D0 (en) * | 2000-12-22 | 2001-02-07 | Nokia Networks Oy | Traffic congestion |
US7469341B2 (en) * | 2001-04-18 | 2008-12-23 | Ipass Inc. | Method and system for associating a plurality of transaction data records generated in a service access system |
US7287649B2 (en) | 2001-05-18 | 2007-10-30 | Broadcom Corporation | System on a chip for packet processing |
US7006438B2 (en) * | 2001-05-31 | 2006-02-28 | Turin Networks | Distributed control of data flow in a network switch |
US20030033421A1 (en) * | 2001-08-02 | 2003-02-13 | Amplify.Net, Inc. | Method for ascertaining network bandwidth allocation policy associated with application port numbers |
US20030031178A1 (en) * | 2001-08-07 | 2003-02-13 | Amplify.Net, Inc. | Method for ascertaining network bandwidth allocation policy associated with network address |
US7072299B2 (en) * | 2001-08-20 | 2006-07-04 | International Business Machines Corporation | Credit-based receiver using selected transmit rates and storage thresholds for preventing under flow and over flow-methods, apparatus and program products |
DE60222782D1 (de) * | 2001-08-24 | 2007-11-15 | Intel Corp | Eine allgemeine eingabe-/ausgabearchitektur und entsprechende verfahren zur unterstützung von bestehenden unterbrechungen |
KR100790131B1 (ko) * | 2001-08-24 | 2008-01-02 | 삼성전자주식회사 | 패킷 통신시스템에서 매체 접속 제어 계층 엔터티들 간의 시그널링 방법 |
US7062609B1 (en) * | 2001-09-19 | 2006-06-13 | Cisco Technology, Inc. | Method and apparatus for selecting transfer types |
US20030093632A1 (en) * | 2001-11-12 | 2003-05-15 | Intel Corporation | Method and apparatus for sideband read return header in memory interconnect |
KR100415115B1 (ko) * | 2001-11-29 | 2004-01-13 | 삼성전자주식회사 | 통신시스템의 데이터 혼잡 통보 방법 및 장치 |
JP3912091B2 (ja) * | 2001-12-04 | 2007-05-09 | ソニー株式会社 | データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム |
WO2003063423A1 (en) | 2002-01-24 | 2003-07-31 | University Of Southern California | Pseudorandom data storage |
US20030152096A1 (en) * | 2002-02-13 | 2003-08-14 | Korey Chapman | Intelligent no packet loss networking |
ATE299630T1 (de) * | 2002-02-14 | 2005-07-15 | Matsushita Electric Ind Co Ltd | Verfahren zum steuern der datenrate in einem drahtlosen paketdatenkommunikationssystem, sender und empfänger zu seiner verwendung |
US6970978B1 (en) * | 2002-04-03 | 2005-11-29 | Advanced Micro Devices, Inc. | System and method for providing a pre-fetch memory controller |
KR100429904B1 (ko) * | 2002-05-18 | 2004-05-03 | 한국전자통신연구원 | 차등화된 QoS 서비스를 제공하는 라우터 및 그것의고속 IP 패킷 분류 방법 |
US6963868B2 (en) * | 2002-06-03 | 2005-11-08 | International Business Machines Corporation | Multi-bit Patricia trees |
US7133972B2 (en) | 2002-06-07 | 2006-11-07 | Micron Technology, Inc. | Memory hub with internal cache and/or memory access prediction |
US7043599B1 (en) | 2002-06-20 | 2006-05-09 | Rambus Inc. | Dynamic memory supporting simultaneous refresh and data-access transactions |
US7408876B1 (en) * | 2002-07-02 | 2008-08-05 | Extreme Networks | Method and apparatus for providing quality of service across a switched backplane between egress queue managers |
US7051150B2 (en) * | 2002-07-29 | 2006-05-23 | Freescale Semiconductor, Inc. | Scalable on chip network |
US7124260B2 (en) | 2002-08-26 | 2006-10-17 | Micron Technology, Inc. | Modified persistent auto precharge command protocol system and method for memory devices |
US7143264B2 (en) * | 2002-10-10 | 2006-11-28 | Intel Corporation | Apparatus and method for performing data access in accordance with memory access patterns |
US7372814B1 (en) * | 2003-02-27 | 2008-05-13 | Alcatel-Lucent | Network system with color-aware upstream switch transmission rate control in response to downstream switch traffic buffering |
US7080217B2 (en) | 2003-03-31 | 2006-07-18 | Intel Corporation | Cycle type based throttling |
US6988173B2 (en) | 2003-05-12 | 2006-01-17 | International Business Machines Corporation | Bus protocol for a switchless distributed shared memory computer system |
US7167942B1 (en) | 2003-06-09 | 2007-01-23 | Marvell International Ltd. | Dynamic random access memory controller |
EP1635518B1 (en) * | 2003-06-18 | 2019-07-31 | Nippon Telegraph And Telephone Corporation | Wireless packet communication method |
US7342881B2 (en) * | 2003-06-20 | 2008-03-11 | Alcatel | Backpressure history mechanism in flow control |
US7277978B2 (en) | 2003-09-16 | 2007-10-02 | Micron Technology, Inc. | Runtime flash device detection and configuration for flash data management software |
US7174441B2 (en) * | 2003-10-17 | 2007-02-06 | Raza Microelectronics, Inc. | Method and apparatus for providing internal table extensibility with external interface |
KR100526187B1 (ko) * | 2003-10-18 | 2005-11-03 | 삼성전자주식회사 | 모바일 애드 혹 네트워크 환경에서 최적의 전송율을 찾기위한 조절 방법 |
US20050108501A1 (en) * | 2003-11-03 | 2005-05-19 | Smith Zachary S. | Systems and methods for identifying unending transactions |
US7420919B1 (en) * | 2003-11-10 | 2008-09-02 | Cisco Technology, Inc. | Self converging communication fair rate control system and method |
KR100560748B1 (ko) * | 2003-11-11 | 2006-03-13 | 삼성전자주식회사 | 알피알 공평 메카니즘을 이용한 대역폭 할당 방법 |
US7451381B2 (en) * | 2004-02-03 | 2008-11-11 | Phonex Broadband Corporation | Reliable method and system for efficiently transporting dynamic data across a network |
JP4521206B2 (ja) * | 2004-03-01 | 2010-08-11 | 株式会社日立製作所 | ネットワークストレージシステム、コマンドコントローラ、及びネットワークストレージシステムにおけるコマンド制御方法 |
US7475174B2 (en) * | 2004-03-17 | 2009-01-06 | Super Talent Electronics, Inc. | Flash / phase-change memory in multi-ring topology using serial-link packet interface |
US20050210185A1 (en) | 2004-03-18 | 2005-09-22 | Kirsten Renick | System and method for organizing data transfers with memory hub memory modules |
US20050223141A1 (en) * | 2004-03-31 | 2005-10-06 | Pak-Lung Seto | Data flow control in a data storage system |
JP2005318429A (ja) * | 2004-04-30 | 2005-11-10 | Sony Ericsson Mobilecommunications Japan Inc | 再送制御方法及び無線通信端末 |
US20060056308A1 (en) * | 2004-05-28 | 2006-03-16 | International Business Machines Corporation | Method of switching fabric for counteracting a saturation tree occurring in a network with nodes |
US7984179B1 (en) * | 2004-06-29 | 2011-07-19 | Sextant Navigation, Inc. | Adaptive media transport management for continuous media stream over LAN/WAN environment |
US7773578B2 (en) * | 2004-07-13 | 2010-08-10 | Utstarcom Telecom Co., Ltd. | Packet transmission method for wireless signals in a wireless base station system |
US7441087B2 (en) * | 2004-08-17 | 2008-10-21 | Nvidia Corporation | System, apparatus and method for issuing predictions from an inventory to access a memory |
US7433363B2 (en) | 2004-08-23 | 2008-10-07 | The United States Of America As Represented By The Secretary Of The Navy | Low latency switch architecture for high-performance packet-switched networks |
US7660245B1 (en) * | 2004-09-16 | 2010-02-09 | Qualcomm Incorporated | FEC architecture for streaming services including symbol-based operations and packet tagging |
US7340582B2 (en) * | 2004-09-30 | 2008-03-04 | Intel Corporation | Fault processing for direct memory access address translation |
TWI254849B (en) * | 2004-10-13 | 2006-05-11 | Via Tech Inc | Method and related apparatus for data error checking |
US7859996B2 (en) * | 2004-10-29 | 2010-12-28 | Broadcom Corporation | Intelligent congestion feedback apparatus and method |
US7830801B2 (en) * | 2004-10-29 | 2010-11-09 | Broadcom Corporation | Intelligent fabric congestion detection apparatus and method |
US20060143678A1 (en) * | 2004-12-10 | 2006-06-29 | Microsoft Corporation | System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model |
US7702742B2 (en) * | 2005-01-18 | 2010-04-20 | Fortinet, Inc. | Mechanism for enabling memory transactions to be conducted across a lossy network |
US7877566B2 (en) | 2005-01-25 | 2011-01-25 | Atmel Corporation | Simultaneous pipelined read with multiple level cache for improved system performance using flash technology |
US8085755B2 (en) * | 2005-04-01 | 2011-12-27 | Cisco Technology, Inc. | Data driven route advertisement |
US7987306B2 (en) * | 2005-04-04 | 2011-07-26 | Oracle America, Inc. | Hiding system latencies in a throughput networking system |
US7743183B2 (en) * | 2005-05-23 | 2010-06-22 | Microsoft Corporation | Flow control for media streaming |
TWI305890B (en) | 2005-05-27 | 2009-02-01 | Darfon Electronics Corp | Button mechanism |
US8027256B1 (en) * | 2005-06-02 | 2011-09-27 | Force 10 Networks, Inc. | Multi-port network device using lookup cost backpressure |
DE102005035207A1 (de) * | 2005-07-27 | 2007-02-01 | Siemens Ag | Verfahren und Vorrichtung zur Datenübertragung zwischen zwei relativ zueinander bewegten Komponenten |
KR101378031B1 (ko) * | 2005-08-03 | 2014-03-27 | 샌디스크 테크놀로지스, 인코포레이티드 | 데이터 파일을 직접적으로 저장하는 메모리 블록의 관리 |
US7630307B1 (en) * | 2005-08-18 | 2009-12-08 | At&T Intellectual Property Ii, Lp | Arrangement for minimizing data overflow by managing data buffer occupancy, especially suitable for fibre channel environments |
US8291295B2 (en) | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US7652922B2 (en) * | 2005-09-30 | 2010-01-26 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
US7961621B2 (en) * | 2005-10-11 | 2011-06-14 | Cisco Technology, Inc. | Methods and devices for backward congestion notification |
US8149846B2 (en) * | 2005-11-10 | 2012-04-03 | Hewlett-Packard Development Company, L.P. | Data processing system and method |
US8065582B2 (en) * | 2006-02-13 | 2011-11-22 | Digital Fountain, Inc. | FEC streaming with aggregation of concurrent streams for FEC computation |
US7617437B2 (en) * | 2006-02-21 | 2009-11-10 | Freescale Semiconductor, Inc. | Error correction device and method thereof |
KR100695435B1 (ko) | 2006-04-13 | 2007-03-16 | 주식회사 하이닉스반도체 | 반도체 메모리 소자 |
US7756028B2 (en) * | 2006-04-27 | 2010-07-13 | Alcatel Lucent | Pulsed backpressure mechanism for reduced FIFO utilization |
WO2008013528A1 (en) * | 2006-07-25 | 2008-01-31 | Thomson Licensing | Recovery from burst packet loss in internet protocol based wireless networks using staggercasting and cross-packet forward error correction |
US8407395B2 (en) | 2006-08-22 | 2013-03-26 | Mosaid Technologies Incorporated | Scalable memory system |
US7739576B2 (en) * | 2006-08-31 | 2010-06-15 | Micron Technology, Inc. | Variable strength ECC |
EP2084864A1 (en) * | 2006-10-24 | 2009-08-05 | Medianet Innovations A/S | Method and system for firewall friendly real-time communication |
WO2008055269A2 (en) * | 2006-11-04 | 2008-05-08 | Virident Systems, Inc. | Asymmetric memory migration in hybrid main memory |
JP2008123330A (ja) * | 2006-11-14 | 2008-05-29 | Toshiba Corp | 不揮発性半導体記憶装置 |
US7818389B1 (en) * | 2006-12-01 | 2010-10-19 | Marvell International Ltd. | Packet buffer apparatus and method |
US9116823B2 (en) * | 2006-12-06 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for adaptive error-correction coding |
KR101364443B1 (ko) | 2007-01-31 | 2014-02-17 | 삼성전자주식회사 | 메모리 시스템, 이 시스템을 위한 메모리 제어기와 메모리,이 시스템의 신호 구성 방법 |
US7596643B2 (en) * | 2007-02-07 | 2009-09-29 | Siliconsystems, Inc. | Storage subsystem with configurable buffer |
US8693406B2 (en) * | 2007-08-09 | 2014-04-08 | Intel Corporation | Multi-user resource allocation and medium access control (MAC) overhead reduction for mobile worldwide interoperability for microwave access (WiMAX) systems |
US7937631B2 (en) * | 2007-08-28 | 2011-05-03 | Qimonda Ag | Method for self-test and self-repair in a multi-chip package environment |
JP4564520B2 (ja) * | 2007-08-31 | 2010-10-20 | 株式会社東芝 | 半導体記憶装置およびその制御方法 |
US7769015B2 (en) | 2007-09-11 | 2010-08-03 | Liquid Computing Corporation | High performance network adapter (HPNA) |
US7821939B2 (en) * | 2007-09-26 | 2010-10-26 | International Business Machines Corporation | Method, system, and computer program product for adaptive congestion control on virtual lanes for data center ethernet architecture |
US8130649B2 (en) * | 2007-10-18 | 2012-03-06 | Alcatel Lucent | Ingress traffic flow control in a data communications system |
US8305991B1 (en) * | 2007-11-14 | 2012-11-06 | Sprint Spectrum L.P. | Method and system for sector switching during packet transmission |
US7870351B2 (en) * | 2007-11-15 | 2011-01-11 | Micron Technology, Inc. | System, apparatus, and method for modifying the order of memory accesses |
US8751755B2 (en) * | 2007-12-27 | 2014-06-10 | Sandisk Enterprise Ip Llc | Mass storage controller volatile memory containing metadata related to flash memory storage |
US8355336B2 (en) * | 2008-02-13 | 2013-01-15 | Qualcomm Incorporated | Methods and apparatus for formatting headers in a communication frame |
JP5141606B2 (ja) * | 2008-03-26 | 2013-02-13 | セイコーエプソン株式会社 | 印刷装置 |
US8724636B2 (en) * | 2008-03-31 | 2014-05-13 | Qualcomm Incorporated | Methods of reliably sending control signal |
JP5341176B2 (ja) * | 2008-04-24 | 2013-11-13 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 誤り率管理 |
US8374986B2 (en) * | 2008-05-15 | 2013-02-12 | Exegy Incorporated | Method and system for accelerated stream processing |
US8223796B2 (en) * | 2008-06-18 | 2012-07-17 | Ati Technologies Ulc | Graphics multi-media IC and method of its operation |
US8542588B2 (en) * | 2008-06-25 | 2013-09-24 | Qualcomm Incorporated | Invoking different wireless link rate selection operations for different traffic classes |
KR101431760B1 (ko) * | 2008-06-25 | 2014-08-20 | 삼성전자주식회사 | Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법 |
US7937419B2 (en) * | 2008-06-26 | 2011-05-03 | Tatu Ylonen Oy | Garbage collection via multiobjects |
US8547846B1 (en) * | 2008-08-28 | 2013-10-01 | Raytheon Bbn Technologies Corp. | Method and apparatus providing precedence drop quality of service (PDQoS) with class-based latency differentiation |
KR101003102B1 (ko) * | 2008-09-24 | 2010-12-21 | 한국전자통신연구원 | 멀티 프로세싱 유닛에 대한 메모리 매핑방법, 및 장치 |
US20110185018A1 (en) * | 2008-10-09 | 2011-07-28 | Toru Osuga | Content delivery system, content delivery method and computer program |
US8402190B2 (en) * | 2008-12-02 | 2013-03-19 | International Business Machines Corporation | Network adaptor optimization and interrupt reduction |
US20100161938A1 (en) * | 2008-12-23 | 2010-06-24 | Marco Heddes | System-On-A-Chip Supporting A Networked Array Of Configurable Symmetric Multiprocessing Nodes |
US8737374B2 (en) * | 2009-01-06 | 2014-05-27 | Qualcomm Incorporated | System and method for packet acknowledgment |
JP5168166B2 (ja) * | 2009-01-21 | 2013-03-21 | 富士通株式会社 | 通信装置および通信制御方法 |
EP2214100A1 (en) * | 2009-01-30 | 2010-08-04 | BRITISH TELECOMMUNICATIONS public limited company | Allocation of processing tasks |
JP5342658B2 (ja) * | 2009-03-06 | 2013-11-13 | アスペラ,インク. | I/o駆動の速度適応のための方法およびシステム |
TWI384810B (zh) | 2009-05-07 | 2013-02-01 | Etron Technology Inc | 可節省通用串列匯流排協定中用來儲存封包之記憶體之資料傳輸方法及其裝置 |
US8880716B2 (en) * | 2009-05-08 | 2014-11-04 | Canon Kabushiki Kaisha | Network streaming of a single data stream simultaneously over multiple physical interfaces |
CN101924603B (zh) * | 2009-06-09 | 2014-08-20 | 华为技术有限公司 | 数据传输速率的自适应调整方法、装置及*** |
US20110035540A1 (en) * | 2009-08-10 | 2011-02-10 | Adtron, Inc. | Flash blade system architecture and method |
US8238244B2 (en) * | 2009-08-10 | 2012-08-07 | Micron Technology, Inc. | Packet deconstruction/reconstruction and link-control |
US8281065B2 (en) * | 2009-09-01 | 2012-10-02 | Apple Inc. | Systems and methods for determining the status of memory locations in a non-volatile memory |
US8543893B2 (en) * | 2009-09-02 | 2013-09-24 | Agere Systems Llc | Receiver for error-protected packet-based frame |
FR2949931B1 (fr) * | 2009-09-10 | 2011-08-26 | Canon Kk | Procedes et dispositifs de transmission d'un flux de donnees, produit programme d'ordinateur et moyen de stockage correspondants. |
US8966110B2 (en) | 2009-09-14 | 2015-02-24 | International Business Machines Corporation | Dynamic bandwidth throttling |
US8312187B2 (en) * | 2009-09-18 | 2012-11-13 | Oracle America, Inc. | Input/output device including a mechanism for transaction layer packet processing in multiple processor systems |
JP5404798B2 (ja) * | 2009-09-21 | 2014-02-05 | 株式会社東芝 | 仮想記憶管理装置及び記憶管理装置 |
KR101703207B1 (ko) * | 2009-09-30 | 2017-02-06 | 알테라 코포레이션 | 압축 및 압축해제를 이용한 향상된 멀티 프로세서 파형 데이터 교환 |
US9477636B2 (en) | 2009-10-21 | 2016-10-25 | Micron Technology, Inc. | Memory having internal processors and data communication methods in memory |
US8719516B2 (en) * | 2009-10-21 | 2014-05-06 | Micron Technology, Inc. | Memory having internal processors and methods of controlling memory access |
US8281218B1 (en) * | 2009-11-02 | 2012-10-02 | Western Digital Technologies, Inc. | Data manipulation engine |
US9081501B2 (en) * | 2010-01-08 | 2015-07-14 | International Business Machines Corporation | Multi-petascale highly efficient parallel supercomputer |
US8183452B2 (en) * | 2010-03-23 | 2012-05-22 | Yamaha Corporation | Tone generation apparatus |
US8321753B2 (en) | 2010-04-13 | 2012-11-27 | Juniper Networks, Inc. | Optimization of packet buffer memory utilization |
CN101883446B (zh) * | 2010-06-28 | 2014-03-26 | 华为终端有限公司 | 一种sd控制芯片及数据通信方法 |
US9537488B1 (en) * | 2010-05-13 | 2017-01-03 | Altera Corporation | Apparatus for configurable interface and associated methods |
US8295292B2 (en) * | 2010-05-19 | 2012-10-23 | Telefonaktiebolaget L M Ericsson (Publ) | High performance hardware linked list processors |
US20110299589A1 (en) * | 2010-06-04 | 2011-12-08 | Apple Inc. | Rate control in video communication via virtual transmission buffer |
US8539311B2 (en) * | 2010-07-01 | 2013-09-17 | Densbits Technologies Ltd. | System and method for data recovery in multi-level cell memories |
KR101719395B1 (ko) * | 2010-07-13 | 2017-03-23 | 샌디스크 테크놀로지스 엘엘씨 | 백-엔드 메모리 시스템 인터페이스를 동적으로 최적화하는 방법 |
US20120192026A1 (en) * | 2010-07-16 | 2012-07-26 | Industrial Technology Research Institute | Methods and Systems for Data Transmission Management Using HARQ Mechanism for Concatenated Coded System |
WO2012040649A2 (en) | 2010-09-24 | 2012-03-29 | Texas Memory Systems, Inc. | High-speed memory system |
EP2622775B1 (en) * | 2010-10-01 | 2014-02-26 | Koninklijke Philips N.V. | Device and method for scheduling data packet transmissions in wireless networks |
EP2447842A1 (en) * | 2010-10-28 | 2012-05-02 | Thomson Licensing | Method and system for error correction in a memory array |
US8842536B2 (en) * | 2010-12-23 | 2014-09-23 | Brocade Communications Systems, Inc. | Ingress rate limiting |
JP2012150152A (ja) * | 2011-01-17 | 2012-08-09 | Renesas Electronics Corp | データ処理装置及び半導体装置 |
US8966191B2 (en) * | 2011-03-18 | 2015-02-24 | Fusion-Io, Inc. | Logical interface for contextual storage |
JP5800565B2 (ja) | 2011-05-11 | 2015-10-28 | キヤノン株式会社 | データ転送装置及びデータ転送方法 |
KR20130021865A (ko) * | 2011-08-24 | 2013-03-06 | 삼성전자주식회사 | 이동통신 시스템의 고정자원 할당 방법 및 장치 |
US8832331B2 (en) * | 2011-08-29 | 2014-09-09 | Ati Technologies Ulc | Data modification for device communication channel packets |
WO2013048493A1 (en) * | 2011-09-30 | 2013-04-04 | Intel Corporation | Memory channel that supports near memory and far memory access |
US8588221B2 (en) * | 2011-10-07 | 2013-11-19 | Intel Mobile Communications GmbH | Method and interface for interfacing a radio frequency transceiver with a baseband processor |
US20130094472A1 (en) * | 2011-10-14 | 2013-04-18 | Qualcomm Incorporated | Methods and apparatuses for reducing voice/data interruption during a mobility procedure |
US9058289B2 (en) * | 2011-11-07 | 2015-06-16 | Sandisk Enterprise Ip Llc | Soft information generation for memory systems |
US8954822B2 (en) * | 2011-11-18 | 2015-02-10 | Sandisk Enterprise Ip Llc | Data encoder and decoder using memory-specific parity-check matrix |
US9048876B2 (en) * | 2011-11-18 | 2015-06-02 | Sandisk Enterprise Ip Llc | Systems, methods and devices for multi-tiered error correction |
US9740484B2 (en) * | 2011-12-22 | 2017-08-22 | Intel Corporation | Processor-based apparatus and method for processing bit streams using bit-oriented instructions through byte-oriented storage |
US9264368B2 (en) | 2012-01-27 | 2016-02-16 | Marvell World Trade Ltd. | Chip-to-chip communications |
EP2815529B1 (en) * | 2012-02-17 | 2019-12-11 | Samsung Electronics Co., Ltd. | Data packet transmission/reception apparatus and method |
US9135192B2 (en) | 2012-03-30 | 2015-09-15 | Sandisk Technologies Inc. | Memory system with command queue reordering |
US8694698B2 (en) * | 2012-04-12 | 2014-04-08 | Hitachi, Ltd. | Storage system and method for prioritizing data transfer access |
US9436625B2 (en) * | 2012-06-13 | 2016-09-06 | Nvidia Corporation | Approach for allocating virtual bank managers within a dynamic random access memory (DRAM) controller to physical banks within a DRAM |
WO2014000172A1 (en) * | 2012-06-27 | 2014-01-03 | Qualcomm Incorporated | Low overhead and highly robust flow control apparatus and method |
US10034023B1 (en) * | 2012-07-30 | 2018-07-24 | Google Llc | Extended protection of digital video streams |
US9444751B1 (en) * | 2012-08-03 | 2016-09-13 | University Of Southern California | Backpressure with adaptive redundancy |
GB2505956B (en) * | 2012-09-18 | 2015-08-05 | Canon Kk | Method and apparatus for controlling the data rate of a data transmission between an emitter and a receiver |
US9215174B2 (en) * | 2012-10-18 | 2015-12-15 | Broadcom Corporation | Oversubscription buffer management |
KR101831550B1 (ko) * | 2012-10-22 | 2018-02-22 | 인텔 코포레이션 | 다중슬롯 링크 계층 플릿에서의 제어 메시징 |
US9424228B2 (en) | 2012-11-01 | 2016-08-23 | Ezchip Technologies Ltd. | High performance, scalable multi chip interconnect |
US8713311B1 (en) | 2012-11-07 | 2014-04-29 | Google Inc. | Encryption using alternate authentication key |
US9438511B2 (en) * | 2012-12-11 | 2016-09-06 | Hewlett Packard Enterprise Development Lp | Identifying a label-switched path (LSP) associated with a multi protocol label switching (MPLS) service and diagnosing a LSP related fault |
US9652376B2 (en) * | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9229854B1 (en) * | 2013-01-28 | 2016-01-05 | Radian Memory Systems, LLC | Multi-array operation support and related devices, systems and software |
KR20140100008A (ko) * | 2013-02-05 | 2014-08-14 | 삼성전자주식회사 | 휘발성 메모리 장치의 구동 방법 및 휘발성 메모리 장치의 테스트 방법 |
US9569612B2 (en) * | 2013-03-14 | 2017-02-14 | Daniel Shawcross Wilkerson | Hard object: lightweight hardware enforcement of encapsulation, unforgeability, and transactionality |
US9030771B2 (en) * | 2013-04-26 | 2015-05-12 | Oracle International Corporation | Compressed data verification |
US20140371941A1 (en) * | 2013-06-18 | 2014-12-18 | The Regents Of The University Of Colorado, A Body Corporate | Software-defined energy communication networks |
US9967778B2 (en) * | 2013-06-19 | 2018-05-08 | Lg Electronics Inc. | Reception method of MTC device |
KR102123439B1 (ko) * | 2013-11-20 | 2020-06-16 | 삼성전자 주식회사 | 이동 망에서 비디오 트래픽의 사용자 만족도 최적화를 고려한 혼잡 완화 방법 및 그 장치 |
GB2520724A (en) * | 2013-11-29 | 2015-06-03 | St Microelectronics Res & Dev | Debug circuitry |
US9699079B2 (en) * | 2013-12-30 | 2017-07-04 | Netspeed Systems | Streaming bridge design with host interfaces and network on chip (NoC) layers |
JP6249403B2 (ja) * | 2014-02-27 | 2017-12-20 | 国立研究開発法人情報通信研究機構 | 光遅延線及び電子バッファ融合型光パケットバッファ制御装置 |
US9813815B2 (en) * | 2014-05-20 | 2017-11-07 | Gn Hearing A/S | Method of wireless transmission of digital audio |
KR102310580B1 (ko) * | 2014-10-24 | 2021-10-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US9740646B2 (en) * | 2014-12-20 | 2017-08-22 | Intel Corporation | Early identification in transactional buffered memory |
US9185045B1 (en) * | 2015-05-01 | 2015-11-10 | Ubitus, Inc. | Transport protocol for interactive real-time media |
US10003529B2 (en) * | 2015-08-04 | 2018-06-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for memory allocation in a software-defined networking (SDN) system |
KR102525295B1 (ko) * | 2016-01-06 | 2023-04-25 | 삼성전자주식회사 | 데이터 관리 방법 및 장치 |
KR102589410B1 (ko) * | 2017-11-10 | 2023-10-13 | 삼성전자주식회사 | 메모리 장치 및 그의 파워 제어 방법 |
-
2015
- 2015-05-28 US US14/724,473 patent/US9747048B2/en active Active
- 2015-05-28 US US14/724,446 patent/US9733847B2/en active Active
- 2015-05-28 US US14/724,510 patent/US9823864B2/en active Active
- 2015-05-28 US US14/724,558 patent/US9696920B2/en active Active
- 2015-05-28 US US14/724,489 patent/US9600191B2/en active Active
- 2015-05-29 US US14/726,150 patent/US9690502B2/en active Active
- 2015-06-01 EP EP15802720.1A patent/EP3149585B1/en active Active
- 2015-06-01 WO PCT/US2015/033573 patent/WO2015187577A1/en active Application Filing
- 2015-06-01 CN CN201580035917.8A patent/CN106471485B/zh active Active
- 2015-06-01 WO PCT/US2015/033574 patent/WO2015187578A1/en active Application Filing
- 2015-06-01 EP EP15802662.5A patent/EP3149592B1/en active Active
- 2015-06-01 CN CN201810797365.XA patent/CN109032516B/zh active Active
- 2015-06-01 CN CN202111246413.4A patent/CN113971004B/zh active Active
- 2015-06-01 WO PCT/US2015/033568 patent/WO2015187574A1/en active Application Filing
- 2015-06-01 EP EP15802464.6A patent/EP3149595B1/en active Active
- 2015-06-01 KR KR1020167036182A patent/KR102197401B1/ko active IP Right Grant
- 2015-06-01 KR KR1020167036974A patent/KR101796413B1/ko active IP Right Grant
- 2015-06-01 WO PCT/US2015/033571 patent/WO2015187575A1/en active Application Filing
- 2015-06-01 CN CN201580037235.0A patent/CN106471474B/zh active Active
- 2015-06-01 KR KR1020167036180A patent/KR102196747B1/ko active IP Right Grant
- 2015-06-01 CN CN201580035967.6A patent/CN106471460B/zh active Active
- 2015-06-01 EP EP15803606.1A patent/EP3149599B1/en active Active
- 2015-06-01 WO PCT/US2015/033564 patent/WO2015187572A1/en active Application Filing
- 2015-06-01 EP EP15803148.4A patent/EP3149586B1/en active Active
- 2015-06-01 CN CN201910363451.4A patent/CN110262751A/zh active Pending
- 2015-06-01 CN CN201580037266.6A patent/CN106489136B/zh active Active
- 2015-06-01 EP EP15802804.3A patent/EP3149602B1/en active Active
- 2015-06-01 WO PCT/US2015/033572 patent/WO2015187576A1/en active Application Filing
- 2015-06-01 CN CN201580040829.7A patent/CN106575257B/zh active Active
- 2015-06-01 CN CN201580037256.2A patent/CN106489134B/zh active Active
- 2015-06-02 TW TW104117868A patent/TWI554883B/zh active
- 2015-06-02 TW TW104117824A patent/TWI582588B/zh active
- 2015-06-02 TW TW104117826A patent/TWI545497B/zh active
- 2015-06-02 TW TW104117828A patent/TWI570569B/zh active
- 2015-06-02 TW TW104117823A patent/TWI625632B/zh active
- 2015-06-02 TW TW104117829A patent/TWI547799B/zh active
-
2017
- 2017-02-21 US US15/438,492 patent/US10146457B2/en active Active
- 2017-06-29 US US15/637,327 patent/US10572164B2/en active Active
- 2017-08-01 US US15/666,410 patent/US10540104B2/en active Active
-
2018
- 2018-12-03 US US16/208,035 patent/US11003363B2/en active Active
-
2019
- 2019-11-26 US US16/696,667 patent/US11194480B2/en active Active
- 2019-11-26 US US16/696,650 patent/US10921995B2/en active Active
-
2020
- 2020-01-20 US US16/747,336 patent/US11461017B2/en active Active
-
2021
- 2021-01-19 US US17/152,465 patent/US11461019B2/en active Active
- 2021-04-27 US US17/241,993 patent/US11526280B2/en active Active
- 2021-04-27 US US17/242,037 patent/US11531472B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070156946A1 (en) * | 2005-12-29 | 2007-07-05 | Intel Corporation | Memory controller with bank sorting and scheduling |
TW200947444A (en) * | 2008-02-04 | 2009-11-16 | Mosaid Technologies Inc | Flexible memory operations in NAND flash devices |
WO2011071645A1 (en) * | 2009-12-07 | 2011-06-16 | Sandisk Corporation | Method and system for concurrent background and foreground operations in a non-volatile memory array |
US20120023365A1 (en) * | 2010-07-26 | 2012-01-26 | Apple Inc. | Methods and systems for monitoring write operations of non-volatile memory |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI554883B (zh) | 用於在記憶體系統中分割資料結構之系統及方法 | |
Cheong et al. | A flash memory controller for 15μs ultra-low-latency SSD using high-speed 3D NAND flash with 3μs read time | |
US9921751B2 (en) | Methods and systems for mapping a peripheral function onto a legacy memory interface | |
US9053811B2 (en) | Memory device refresh | |
US11392488B2 (en) | Optimizing storage of application data in memory | |
US8724423B1 (en) | Synchronous two-port read, two-port write memory emulator | |
CN111209232B (zh) | 访问静态随机存取存储器的方法、装置、设备和存储介质 | |
US11409440B2 (en) | Systems, methods and apparatus for memory access and scheduling | |
JP2022508028A (ja) | 3次元画像処理におけるデータの読み書き方法とシステム、記憶媒体及び端末 | |
WO2013097223A1 (zh) | 多粒度并行存储***与存储器 | |
US20160133312A1 (en) | Stack semiconductor device and memory device including same | |
US20200293452A1 (en) | Memory device and method including circular instruction memory queue | |
JP6332756B2 (ja) | データ処理方法、装置、およびシステム | |
US8688891B2 (en) | Memory controller, method of controlling unaligned memory access, and computing apparatus incorporating memory controller | |
CN106293491B (zh) | 写请求的处理方法和内存控制器 | |
US7787311B2 (en) | Memory with programmable address strides for accessing and precharging during the same access cycle | |
US11755235B2 (en) | Increasing random access bandwidth of a DDR memory in a counter application | |
CN106126815B (zh) | 一种电路仿真方法及装置 | |
WO2012115744A1 (en) | Improved write bandwidth in a memory characterized by a variable write time | |
Seongil et al. | Exploring energy-efficient DRAM array organizations | |
US20240168896A1 (en) | Memory controller, electric system including the same and method of controlling memory access | |
Kim et al. | A quantitative analysis of performance benefits of 3D die stacking on mobile and embedded SoC | |
KR20230082529A (ko) | 리프레쉬 동작에서 파워 노이즈를 감소시킨 메모리 장치 및 그 동작방법 | |
Geursen | Reordering DRAM Requests for Improved Bandwidth Utilization |