CN108701085A - 用于固态装置的多个地址寄存器的设备及方法 - Google Patents
用于固态装置的多个地址寄存器的设备及方法 Download PDFInfo
- Publication number
- CN108701085A CN108701085A CN201780012201.5A CN201780012201A CN108701085A CN 108701085 A CN108701085 A CN 108701085A CN 201780012201 A CN201780012201 A CN 201780012201A CN 108701085 A CN108701085 A CN 108701085A
- Authority
- CN
- China
- Prior art keywords
- bar
- ssd
- cache
- equipment according
- memory
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 230000015654 memory Effects 0.000 claims abstract description 153
- 239000000758 substrate Substances 0.000 claims abstract description 8
- 238000013500 data storage Methods 0.000 claims abstract description 5
- 238000003860 storage Methods 0.000 claims description 72
- 239000000872 buffer Substances 0.000 claims description 26
- 238000013507 mapping Methods 0.000 claims description 17
- 230000002093 peripheral effect Effects 0.000 claims description 15
- 230000009471 action Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000014759 maintenance of location Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 2
- 238000003491 array Methods 0.000 description 15
- 230000006399 behavior Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- 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/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/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
- 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
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/35—Indirect addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1048—Scalability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
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)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明包含与用于固态装置SSD的多个地址寄存器有关的设备、系统及方法。一种实例性设备包含:控制器,其包含多个基底地址寄存器BAR,每一BAR包含相同存储器资源中用于数据存储的相同地址;及SSD,其包含所述相同存储器资源。
Description
技术领域
本发明一般来说涉及固态装置,且更特定来说涉及用于固态装置的多个地址寄存器的设备及方法。
背景技术
组件接口电路可经由逻辑连接(称作互连件或链路)进行通信,所述逻辑连接可在两个端口之间提供点对点通信信道,借此允许两个端口发送及/或接收请求(例如配置读取/写入、I/O读取/写入、存储器读取/写入以及其它请求)。举例来说,在使用高速外围组件互连(PCIe)总线的系统中,为使PCIe外围存储器装置可寻址,所述外围存储器装置可首先被映射到所述系统的I/O端口地址空间或存储器映射地址空间中。系统的固件、装置驱动器及/或操作系统可将外围存储器装置到基底地址寄存器的映射编程,以通过将配置命令写入到PCIe控制器而告知外围存储器装置其地址映射。
附图说明
图1是根据本发明的若干个实施例的用于固态装置的多个地址寄存器的系统的框图。
图2是图解说明根据本发明的若干个实施例的读取操作路径的图式。
图3是图解说明根据本发明的若干个实施例的写入操作路径的图式。
具体实施方式
本发明包含与用于固态装置(SSD)的多个地址寄存器有关的设备及方法。一种实例性设备包含:控制器,其包含多个基底地址寄存器(BAR),每一BAR包含相同存储器资源中用于数据存储的相同地址;及SSD,其包含所述相同存储器资源。
一种分布式计算架构可包含使用与分布式系统的分布式组件互连的接口电路。举例来说,PCIe可是串行计算机扩展电路(总线),其可提供优于(举例来说)PCI、PCI-X及AGP(加速图形端口)总线标准以及其它标准的改善。此些改善可包含较高系统总线吞吐量、较低I/O引脚计数及较小物理占用面积、总线装置的较佳性能缩放、更详细的错误检测及报告机制,及/或原生热插拨功能性。为简单起见,本文中所描述的实施例参考PCIe。然而,如所属领域的技术人员将了解,也预期其它接口及/或互连系统(例如PCI以及其它)。
PCIe总线(举例来说)可是使用共享地址/数据线的高速串行互连总线。因此,PCIe总线可在其总线拓扑上不同于其它PCI总线。举例来说,PCI可使用共享并行总线架构,其中PCI主机与所有装置共享一组共同地址/数据/控制线。由于此共享总线拓扑,因此对PCI总线的接入在多个主装置的情形下可被仲裁,且可限制于沿单个方向一次一个主装置。相比来说,PCIe总线可基于点对点拓扑,所述点对点拓扑具有将每一装置连接到根复合体(或主机)的单独串行链路。
如本文中所描述,高速缓存属性是指用于将数据的副本暂时地存储于存储媒体(一或多个高速缓存存储器)中以用于通过处理器而执行的操作的若干个高速缓存选项中的一者。在一些实施例中,所述处理器可是中央处理单元(CPU),如本文中所描述。一或多个高速缓存存储器可比(举例来说)SSD的非易失性存储器中的数据的大容量存储装置更易于由处理器存取及/或处于处理器本地。高速缓存属性的实例包含写入组合(WC)、写入保护(WP)、写回(WB)、直接写入(WT)、绕过式写入(WA)、强不可高速缓存(UC)及/或不可高速缓存(UC-)以及此项技术中已知的其它选项。
在(例如,PCIe外围存储器装置的)辅助存储器的一些实施方案中,可存在单个BAR到整个物理存储器资源区域的一对一映射,所述整个物理存储器资源区域可位于SSD的非易失性存储器中,且所述整个经映射区域可被指派相同高速缓存属性。因此,用于SSD映射的此方法不区分用于地址映射的请求类型(例如,区分读取请求与写入请求以及其它类型的请求),且可能不包含不同高速缓存性质(高速缓存属性),因为SSD在一个BAR中仅具有一种映射能力。此方法可将(举例来说)读取或写入等待时间约束为偏向于各种请求类型当中用于对物理存储器资源区域进行存取的一种请求类型。可使用(举例来说)mmap对物理存储器资源区域进行存取,其中mmap是可将文件或装置映射到存储器中的存储器映射文件I/O调用。
另外,由于从SSD存取(例如,在读取操作中)及/或经发送以供存储于SSD中(例如,在写入操作中)的数据不可高速缓存(UC及/或UC-)从而使得所述数据不存储于可易于由处理器存取及/或在处理器本地的高速缓存存储器中,因此此些数据的处理速度可被减小。举例来说,与结合图1(以及本文中其它位置)所展示及所描述的接口(例如,PCIe)电路108的SSD 104相关联的控制器120可不支持高速缓存存储器一致性协议。在一些例子中,存储器映射I/O寄存器或存储器区域可按接口电路的系统默认设定标记为不可高速缓存,及/或所述接口电路可不经配置以用于高速缓存数据。
在其它可能性中,CPU处理器的高速缓存存储器控制器及/或动态随机存取存储器(DRAM)控制器可经配置以结合CPU的处理器一起支持高速缓存存储器一致性协议。然而,未经配置以支持所述一致性协议的SSD控制器(例如,用于PCIe的SSD控制器)可致使SSD的存储器区域被标记为不可高速缓存。当所述SSD控制器不符合CPU处理器的高速缓存存储器一致性协议时,SSD存储器地址区域中的数据可被阻止被直接高速缓存到处理器的高速缓存存储器中。此可限制SSD性能,因为存取SSD中的区域可首先被复制到DRAM存储器,且然后经由可高速缓存DRAM存储器区域从所述DRAM存储器被复制到处理器的高速缓存存储器,而非被同时复制(举例来说)到DRAM存储器及处理器的高速缓存存储器两者。此接口电路可不经配置以实现供处理器在执行操作(例如读取操作类型或写入操作类型)期间使用的数据的直接高速缓存。
本发明通过使用(举例来说)用于相同(完全相同)物理存储器资源的读取BAR(RD-BAR)及单独写入BAR(WR-BAR)来解决对接口电路108(例如,PCIe电路)的性能的这些潜在限制。举例来说,同时地,物理存储器资源的映射可针对读取请求设定为指派给RD-BAR的可高速缓存属性(例如,WP以及其它可能高速缓存属性),且映射可针对写入请求设定为指派给WR-BAR的高速缓存属性(例如,WC以及其它可能高速缓存属性)。在各种实施例中,指派给RD-BAR的高速缓存属性可不同于指派给WR-BAR的高速缓存属性。
与其中数据是不可高速缓存及/或其中单个高速缓存属性偏向于一种请求类型的实施方案相比,本发明描述相同物理存储器资源取决于请求类型可用作(举例来说)WP可高速缓存的或用作WC不可高速缓存的。高速缓存属性可取决于请求类型而选择可通过可选择地耦合相同物理存储器资源与多个(在此实例中是两个)BAR而实现,每一BAR被指派有针对特定请求类型的特定高速缓存属性。如此,高速缓存存储器可易于由处理器存取及/或处于处理器本地及/或每一高速缓存存储器与针对特定操作的执行而选择的高速缓存属性相关联可(举例来说)减小与从辅助存储器(例如,NAND快闪存储器)检索数据以供处理相关的此操作的执行中的等待时间以及其它益处。
如本文中所描述,读取请求类型可是用于执行读取操作类型的命令,所述读取操作类型可包含从物理存储器资源检索数据(例如,以供处理),且写入请求类型可是用于执行写入操作类型的命令,所述写入操作类型可包含将待发送的数据累积及/或传送到物理存储器资源(例如,以供存储)。读取请求可与WP高速缓存属性相关联地为可高速缓存的(例如,使用与处理器相关联的一级(L1)高速缓存存储器、二级(L2)高速缓存存储器、三级(L3)高速缓存存储器及/或四级(L4)高速缓存存储器以及其它类型的高速缓存存储器)。写入请求可与WC高速缓存属性相关联地为不可高速缓存的(例如,使用与处理器相关联的缓冲器)且可被发送到特定辅助存储器SSD(例如,PCIe电路中的外围存储器装置)以用于由所述特定辅助存储器SSD的控制器引导的写入操作(如结合图3所描述),而非(举例来说)通过更加间接的WC缓冲器到达DRAM再到达辅助存储器SSD操作。写入请求可与不可高速缓存SSD存储器的WC高速缓存属性一起执行,因为此可(举例来说)减少DRAM存储器控制器接收的存储器请求的数目及/或使数据写入操作更加有利于SSD的写入粒度,以及其它原因。
通过区分请求类型,可将两个(或更多)单独高速缓存属性同时指派给相同物理存储器资源。如本文中所描述,多个BAR的实施方案可增加对物理存储器资源的直接存取速度及/或对从物理存储器资源检索及/或经发送以存储于物理存储器资源中的数据的处理速度。
在本发明的以下详细描述中,参考形成本发明的一部分且其中以图解说明方式展示可如何实践本发明的一或多个实施例的附图。充分详细地描述这些实施例以使所属领域的技术人员能够实践本发明的实施例,且应理解,可利用其它实施例且可在不背离本发明的范围的情况下做出过程、电及/或结构改变。如本文中所使用,“若干个”特定事物可是指此些事物中的一或多者(例如,若干个存储器阵列可是指一或多个存储器阵列)。“多个”打算指代多于一个此些事物。此外,措辞可(“can”及“may”)是以许可意义(即,具有可能、能够)而非强制意义(即,必须)贯穿本申请案而使用。术语“包含”及其衍生词意指“包含,但不限于”。术语“经耦合”及“耦合”意指直接地或间接地物理连接或用于存取及移动(传输)命令及/或数据,视上下文而定。
本文中的各图遵循其中第一个数字或前几个数字对应于图式的图号且其余数字识别图式中的元件或组件的编号惯例。可通过使用类似的数字来识别不同图之间的类似元件或组件。举例来说,在图1中,110可指代元件“10”,且在图2中,类似元件可称为210。如将了解,可添加、交换及/或消除本文中的各种实施例中所展示的元件以提供本发明的若干个额外实施例。另外,如将了解,各图中所提供的元件的比例及相对尺度打算图解说明本发明的某些实施例且不应视为具有限制意义。
图1是根据本发明的若干个实施例的用于SSD的多个地址寄存器的系统的框图。如图1中所图解说明,系统100可包含主机计算装置102。在各种实施例中,主机计算装置102可包含若干个组件,如本文中所描述。系统100还可包含通过总线106连接到主机计算装置102的至少一个SSD 104。在各种实施例中,SSD 104可包含若干个组件,如本文中所描述。在一些实施例中,主机计算装置102及总线106可与至少一个SSD 104一起操作为接口电路108(例如,PCIe电路),所述至少一个SSD表示包含辅助存储器的若干个存储器装置中的一者,如本文中所描述。如本文中所使用,主机计算装置102、CPU 110、CPU 110内部的若干个高速缓存存储器112、CPU 110外部的若干个高速缓存存储器114、非易失性存储器116、缓冲器117、SSD驱动器118、至少一个SSD 104、总线106、控制器120、多个BAR 122、易失性存储器124及/或非易失性存储器126可单独地或共同地视为“设备”。
为清晰起见,系统100的描述已简化为集中于与本发明具有特定相关性的特征上。举例来说,在各种实施例中,在(举例来说)PCIe电路的外围存储器装置中可存在多于一个主机计算装置102及/或操作为辅助存储器的多于一个SSD 104。SSD 104的物理存储器资源可是3D XPoint阵列、DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪阵列及/或NOR快闪阵列,举例来说,在各种实施例中,所述阵列可以组合形式操作为物理存储器资源的易失性存储器124及/或非易失性存储器126。此物理存储器资源可包含布置成由存取线(其可称为字线或选择线)耦合的行及由感测线(其可称为数据线或数字线)耦合的列的存储器单元。在一些实施例中,物理存储器资源的多个存储器阵列可被分割,如本文中所描述。
如本文中所描述,3D XPoint阵列打算意指用于SSD的存储器单元的三维交叉点阵列,所述3D XPoint阵列经配置以用于存储非易失性数据且用于减小数据存取及/或检索的等待时间。相对于其它非易失性存储器(例如,NAND快闪存储器),所述等待时间可减小到接近使用易失性存储器(例如,DRAM存储器)可实现的相对短等待时间的水平。
虽然本文中图解说明物理存储器资源的单个实施例(例如,如于图2中的228处及图3中的328处所展示及结合图2中的228及图3中的328所描述的“SSD存储器资源”),其在本文中可称作“相同”物理存储器资源,但实施例并不限于此。举例来说,图1中于104处所展示及结合图2及3中的对应参考编号所描述的SSD可包含多个存储器阵列及/或若干类型的存储器阵列(例如,一或多个DRAM阵列、一或多个NAND快闪阵列及/或一或多个3D XPoint阵列等)以及每一存储器阵列的若干个子阵列。不管存储器阵列的数目及/或存储器阵列的类型如何,存储于单个物理存储器资源的SSD存储器资源中的数据的地址在可选择地耦合到相同物理存储器资源的多个BAR中可寄存为相同的(完全相同的)。在一些实例中,非易失性存储器126(例如,NAND快闪阵列及/或3D XPoint阵列等)可是针对其相同地址可寄存于多个BAR中的SSD存储器资源中的辅助存储器。举例来说,在一些实施例中,易失性存储器124(例如,DRAM)的地址可不寄存于BAR中。
在至少一个实施例中,主机计算装置102可包含CPU 110以命令(请求)及/或参与执行(经由一或多个处理器)各种操作,例如本文中所描述的读取操作类型及写入操作类型。除L1高速缓存存储器以外,在各种实施例中,本发明也可利用三个其它级高速缓存存储器(例如L2、L3及/或L4)中的至少一者的组合。L1、L2、L3及/或L4高速缓存存储器各自可促进桥接位于快速CPU 110与(例如,PCIe外围存储器装置的)较慢辅助存储器之间的间隙。在一些实施例中,主机计算装置102可包含作为CPU 110的一部分的若干个内部高速缓存存储器112。L1、L2及/或L3高速缓存存储器可构建到CPU(如内部高速缓存存储器112)中。在各种实施例中,L2高速缓存存储器或L3高速缓存存储器可是内部高速缓存存储器112阶层中的末级高速缓存存储器(LLC)。
替代地或另外,主机计算装置102可包含位于CPU 110外部的若干个外部高速缓存存储器114。内部及/或外部高速缓存存储器可配置为用以进行以下操作的存储器:至少暂时地存储从SSD 104的物理存储器资源检索以便由CPU 110在执行若干个操作(例如本文中所描述的读取操作类型)时使用的数据。举例来说,内部高速缓存存储器112中的L1、L2及/或L3高速缓存存储器阶层可存储由CPU 110频繁地及/或最近存取的数据。当在相应内部高速缓存存储器阶层中未找到CPU 110所请求的数据时,可检查外部高速缓存存储器114以确定所请求数据是否在其中被高速缓存。在各种实施例中,外部高速缓存存储器114可包含各种类型的高速缓存存储器中的一或多者。外部高速缓存存储器114可促进用于改善计算机性能的多级存储策略。例如L4的高速缓存存储器可位于CPU外部(如外部高速缓存存储器114),举例来说,晶片外及/或构建于母板中,以及其它位置。
如果所请求数据未在外部高速缓存存储器114中被高速缓存,那么可将存储器存取请求发送到SSD驱动器118及/或SSD中的控制器120中的一或多者以从(举例来说)非易失性存储器126检索数据。在一些实施例中,主机计算装置102可包含额外存储器。额外存储器可(举例来说)是易失性存储器116,例如DRAM以及其它类型的易失性存储器。
在一些实施例中,主机计算装置102可包含作为CPU 110的一部分或位于CPU 110外部的若干个缓冲器117。缓冲器117可是经配置以进行以下操作的存储器:累积(举例来说)从CPU 110接收的数据,且在执行若干个操作(例如本文中所描述的写入操作类型)时将所述数据传送到SSD 104的物理存储器资源。
如本文中所描述,主机计算装置102可包含主要存储器资源,所述主要存储器资源可包含内部高速缓存存储器112、外部高速缓存存储器114、缓冲器117及/或易失性存储器116。相比来说,SSD 104包含相同物理存储器资源,所述物理存储器资源被视为辅助存储器资源,其可包含(举例来说)易失性存储器124及/或非易失性存储器126的组合,如本文中所描述。
在各种实施例中,系统100可包含SSD驱动器118。SSD驱动器118可经配置以结合安置于(举例来说)SSD 104上的多个BAR 122一起执行至少本文中所描述的功能。在一些实施例中,主机计算装置102可包含SSD驱动器118,但实施例并不限于此。举例来说,SSD 104的SSD驱动器118可安置于SSD 104自身上或系统100中的其它地方。在其中SSD驱动器118安置于主机计算装置102上的实施例中,SSD驱动器118可以可选择地耦合到CPU 110且经由总线106可选择地耦合到SSD 104。举例来说,至少一个SSD驱动器118可经配置以可选择地耦合到每一SSD 104(例如,PCIe电路的外围存储器装置)中的控制器120以提供与多个BAR 122、高速缓存存储器112、114、缓冲器117及/或高速缓存属性的使用有关的指令,如本文中所描述。在一些实施例中,控制器120可包含用于上面安置有控制器120的SSD 104的BAR 122。另外,控制器120可经配置以控制对每一SSD 104的相同物理存储器资源的存取,如本文中所描述。
在至少一个实施例中,本发明可实施如下。SSD 104可包含用于对SSD中的相同物理存储器资源进行寻址的两个单独BAR 122。在一些实施例中,两个单独BAR 122可定位于SSD的控制器120上及/或与SSD的控制器120相关联地定位(安置于SSD的控制器120上)。在各种实施例中,相同物理存储器资源可包含非易失性存储器126(例如,NAND快闪存储器及/或3D XPoint存储器以及其它类型的非易失性存储器)及(在一些实施例中)易失性存储器124(例如,DRAM以及其它类型的易失性存储器)。
在系统初始化期间,用于相同物理资源的存储器地址区域可寄存于多个BAR 122中。举例来说,在初始化SSD时,相同辅助存储器资源中用于数据存储的相同地址可寄存于SSD 104的控制器102中的第一BAR及第二BAR中。针对读取请求而指派给RD-BAR(例如,如于222-1处所展示及结合图2所描述)的高速缓存属性可设定为WP可高速缓存的(例如,在与CPU 110相关联的内部高速缓存存储器112及/或外部高速缓存存储器114中)。针对写入请求而指派给WR-BAR(例如,如于322-2处所展示及结合图3所描述)的高速缓存属性可设定为WC以供与(举例来说)关联于CPU 110的写入组合缓冲器(例如,如图2中的217处所展示)一起使用。
当请求读取操作时,SSD驱动器118可确定已发出读取请求且可使用RD-BAR 222-1的地址来中继用于执行所述读取操作的命令。在其中(举例来说)经由用户应用程序及/或系统程序而请求写入操作的情况中,SSD驱动器118可确定已发出写入请求且可使用WR-BAR322-2的地址来中继用于执行所述写入操作的命令。
由于从(举例来说)SSD 104的非易失性存储器126检索的用于读取操作类型的数据可在与CPU 110相关联的高速缓存存储器中(在内部高速缓存存储器112及/或外部高速缓存存储器114中)被高速缓存,因此可改善数据的处理速度。举例来说,处理速度可接近将数据从易失性存储器(例如,安置于主机计算装置110中的DRAM 116及/或安置于SSD 104上的DRAM 126)提供到处理器的速度。对于写入操作类型来说,可使用与CPU 110相关联的WC缓冲器117来实现处理速度的类似改善。
图2是图解说明根据本发明的若干个实施例的读取操作路径的图式。在一些实施例中,图2中所图解说明的读取操作路径230可在接口(例如,PCIe)电路(如图1中的参考编号108所指示)中实施。因此,可(举例来说)使用主机计算装置202及至少一个SSD 204(如结合图1中对应参考编号所描述)来执行读取操作路径230的实施方案。
CPU 210可将用于执行读取操作类型的请求231发出到SSD驱动器218。SSD驱动器218经配置以确定232请求231是用于执行读取操作类型。此确定可与指令一起被中继233到CPU 210,使得与特定SSD 204的控制器220相关联的RD-BAR 222-1经选择242以供由CPU210在对存储于相同辅助存储器资源228中的数据执行读取操作类型时使用。在一些实施例中,与控制器220相关联的RD-BAR 222-1可由装置SSD驱动器218选择。
特定SSD 204可包含与控制器220相关联的RD-BAR 222-1及WR-BAR(图2中未展示)两者。然而,SSD驱动器218将所请求读取操作指派给RD-BAR 222-1,RD-BAR 222-1包含设定为(举例来说)WP可高速缓存作为所指派高速缓存属性的经映射地址。使用SSD存储器资源228的物理存储器地址229的经映射地址244,可在来自相同辅助物理存储器资源的逻辑路径248中检索246数据。如本文中所使用,WP高速缓存属性打算意指用于与处理器(例如CPU210)相关联地高速缓存数据的技术。WP高速缓存属性可控制高速缓存存储器,使得可不对数据执行写入操作,但可以任何次序对所高速缓存数据执行读取操作或其部分。
在各种实施例中,所检索数据可被发送到主机计算装置202且至少暂时地存储于一或多个内部高速缓存存储器212(例如,L1、L2及/或L3高速缓存存储器)、位于CPU 210外部的一或多个高速缓存存储器214(例如,L4高速缓存存储器)及/或主要存储器资源的易失性存储器216(例如,DRAM)中以供CPU 210在执行读取操作类型期间使用。因此,主机计算装置202中的主要存储器资源的特定存储器可经选择以用于存储从相同辅助存储器资源传送的数据值以供CPU 210使用。所述主要存储器资源(例如,内部高速缓存存储器212及/或外部高速缓存存储器214)可受经启用高速缓存属性(举例来说WP)控制。
因此,如本文中所描述,在各种实施例中,SSD驱动器218可经配置以从CPU 210接收用于执行操作的请求且确定所请求操作是(举例来说)读取操作类型还是写入操作类型。SSD驱动器218可进一步经配置以视情况从多个BAR选择BAR以供与所确定操作类型一起使用,且按多种操作类型中的哪一类型被请求而确定,将所述操作指派给特定BAR。在各种实施例中,可给多个BAR各自指派不同高速缓存属性类型,其中每一BAR的不同高速缓存属性类型可对应于所请求的操作类型。
SSD驱动器218可进一步经配置以启用高速缓存属性以供选定BAR在执行所确定操作类型时使用。可将经启用高速缓存属性指派给选定BAR且所述经启用高速缓存属性可不同于指派给非选定BAR的高速缓存属性。举例来说,如图2中所展示及结合图2所描述,第一BAR(RD-BAR 222-1)可经选择以用于读取操作类型且经启用高速缓存属性可是WP。如图3中所展示及结合图3所描述,第二BAR(WR-BAR 322-2)可经选择以用于写入操作类型且经启用高速缓存属性可是WC。
如此,SSD驱动器218可基于第一操作是读取操作类型而将第一操作可选择地指派给第一BAR,且SSD驱动器218可基于第二操作是写入操作类型而将第二操作可选择地指派给第二BAR。SSD驱动器218可启用经选择以用于读取操作类型的第一高速缓存属性(例如,WP)以供在读取操作中与第一BAR一起使用,且可启用经选择以用于写入操作类型的第二高速缓存属性(例如,WC)以供在写入操作中与第二BAR一起使用。供与第一BAR一起使用的第一高速缓存属性及供与第二BAR一起使用的第二高速缓存属性可是不同高速缓存属性类型。
如刚所描述,多个BAR可是可选择地耦合到相同辅助存储器资源的两个BAR。然而,在各种实施例中,多个BAR可是可选择地耦合到经分割相同辅助存储器资源中的多个分区的多于两个BAR。举例来说,出于安全性等原因,可将相同辅助存储器资源分割成用于将用于不同功能的数据的多个分区(区域)。在此情况中,与控制器220相关联的两个(或更多)不同BAR可以可选择地耦合到第一分区,且至少一个不同BAR可以可选择地耦合到其它分区中的至少一者。在一些实施例中,当利用多于两个BAR时,可指派多于两个不同高速缓存属性。举例来说,代替WP与WC或除WP与WC以外,也可将例如WB、WT、WA、UC及/或UC-等高速缓存属性指派给至少一个BAR。
图3是图解说明根据本发明的若干个实施例的写入操作路径的图式。在一些实施例中,图3中所图解说明的写入操作路径340可在接口(例如,PCIe)电路(如图1中的参考编号108所指示)中实施。因此,可(举例来说)使用主机计算装置302及至少一个SSD 304(如结合图1中的对应参考编号所描述)来执行写入操作路径340的实施方案。
CPU 310可将用于执行(举例来说)写入操作类型的请求331发出到SSD驱动器318。SSD驱动器318经配置以确定332请求331是用于执行写入操作类型。此确定可与指令一起被中继333到CPU 310,使得主机计算装置310中的缓冲器317经选择334以用于累积及存储将被传送到相同辅助存储器资源328的数据值以供CPU 310在执行写入操作类型时使用。在一些实施例中,主机计算装置302中的缓冲器317可由装置SSD驱动器318选择以供CPU 310用于传送数据。
缓冲器317可是由经启用WC高速缓存属性控制的WC缓冲器。如本文中所使用,WC高速缓存属性打算意指允许以突发模式累积及释放数据以传送到相同物理存储器资源而非将待写入的数据即刻如此发送到相同物理存储器资源的技术。当数据的量(位)达到(举例来说)阈值(例如缓冲器317的数据容量、一页数据、完整数据文件以及其它阈值可能性)时,可从缓冲器317释放数据。WC高速缓存属性可控制所述WC缓冲器,使得读取操作相对于写入操作被排序。
从缓冲器317释放数据之前、期间或之后,SSD驱动器318可确定数据被发送335到特定辅助存储器SSD 304(例如,PCIe电路中的外围存储器装置)以用于由所述特定辅助存储器SSD的控制器320引导的写入操作。特定SSD 304可包含与控制器320相关联的WR-BAR322-1及RD-BAR(图3中未展示)两者。然而,SSD驱动器318将所请求写入操作指派给WR-BAR322-1,WR-BAR 322-1包含设定为WC作为所指派高速缓存属性的经映射地址。使用SSD存储器资源328(例如,易失性存储器324及/或非易失性存储器326)的物理存储器地址329的经映射地址336,数据可写入从缓冲器317到SSD存储器资源328的既定物理存储器地址329的逻辑路径338中。
与其它外围组件互连系统方法(例如,PCI、PCIe、PCI-X及AGP以及其它)相比,本发明可通过将相对相同SSD资源的读取操作与写入操作解耦而提供益处。数据的写入可不会大程度地影响系统的性能,因为数据可仅是在缓冲器及/或高速缓存存储器(举例来说)已达到阈值且发送数据以使缓冲器及/或高速缓存存储器中有更多存储器可用时被写入。另外,当写入数据到达SSD存储器资源328时,所述数据可首先被安置到SSD的内部易失性存储器324(例如,DRAM及/或静态随机存取存储器(SRAM))写入缓冲器上,因此可有效地隐藏非易失性存储器326的等待时间。
相比来说,从SSD存储器资源228读取数据对系统性能可是较有影响的,因为CPU210活动可被延迟直到所请求数据被检索及递送为止。在其它外围组件互连系统方法中,读取操作执行也可被延迟,因为由于读取操作与写入操作共享单个BAR的地址空间,因此写入操作可防止读取数据是可高速缓存的。如此,改善读取操作的速度及/或效率可提升此系统的性能。因此,本发明描述通过为相同SSD物理存储器资源提供至少两个BAR而使得读取操作能够单独地可高速缓存,其中单独BAR用于读取及写入操作。
虽然本文中已图解说明及描述特定实施例,但所属领域的技术人员将了解,经计算以实现相同结果的布置可替代所展示的特定实施例。本发明打算涵盖本发明的一或多个实施例的更改形式或变化形式。应理解,已以说明性方式而非限制性方式做出以上描述。在审阅以上描述后,所属领域的技术人员将即刻明了以上实施例的组合及本文中未具体描述的其它实施例。本发明的一或多个实施例的范围包含其中使用以上结构及方法的其它应用。因此,本发明的一或多个实施例的范围应参考所附权利要求书连同授权此权利要求书的等效内容的全部范围来确定。
在前述实施方式中,出于简化本发明的目的,将一些特征一起分组于单个实施例中。本发明的此方法不应解释为反映本发明的所揭示实施例必须使用比每一权利要求中所明确陈述更多的特征的意图。而是,如所附权利要求书反映,发明性标的物在于少于单个所揭示实施例的所有特征。因此,特此将所附权利要求书并入到实施方式中,其中每一权利要求独立地作为单独实施例。
Claims (25)
1.一种设备,其包括:
控制器,其包括多个基底地址寄存器BAR,每一BAR包含相同存储器资源中用于数据存储的相同地址;及
固态装置SSD,其包括所述相同存储器资源。
2.根据权利要求1所述的设备,其中所述控制器经配置以:
按多种操作类型中的哪一类型被请求所确定,将操作指派给所述多个BAR中的一者。
3.根据权利要求1所述的设备,其中:
写入操作被指派给具有经选择以用于执行所述写入操作的第一高速缓存属性的第一BAR;且
读取操作被指派给具有经选择以用于执行所述读取操作的第二高速缓存属性的第二BAR。
4.根据权利要求1所述的设备,其中:
所述多个BAR各自包括不同高速缓存属性;且
每一BAR的所述不同高速缓存属性对应于所请求的操作类型。
5.根据权利要求1所述的设备,其中所述SSD包括作为非易失性存储器资源的NAND快闪存储器。
6.根据权利要求5所述的设备,其中所述SSD进一步包括作为易失性存储器资源的动态随机存取存储器DRAM。
7.根据权利要求1所述的设备,其中所述SSD包括作为非易失性存储器资源的3DXPoint存储器。
8.根据权利要求1到7中任一权利要求所述的设备,其中包括所述多个BAR的所述控制器安置于所述SSD上。
9.一种设备,其包括:
固态装置SSD驱动器;及
控制器,其包括多个基底地址寄存器BAR,每一BAR包含相同存储器资源中用于数据存储的相同地址,其中所述控制器可选择地耦合到所述SSD驱动器。
10.根据权利要求9所述的设备,其中所述SSD驱动器经配置以:
接收用于执行操作的请求;
确定所述所请求操作是读取操作类型还是写入操作类型;
视情况从所述多个BAR选择BAR以供与所述所确定操作类型一起使用;且
启用高速缓存属性以供所述选定BAR在执行所述所确定操作类型时使用。
11.根据权利要求9到10中任一权利要求所述的设备,其中:
经启用高速缓存属性被指派给选定BAR;且
所述经启用高速缓存属性不同于指派给非选定BAR的高速缓存属性。
12.根据权利要求9到10中任一权利要求所述的设备,其中所述设备进一步包括:
主机计算装置,其包括主要存储器资源。
13.根据权利要求12所述的设备,其中:
所述多个BAR是可选择地耦合到相同辅助存储器资源的两个BAR。
14.根据权利要求9到10中任一权利要求所述的设备,其中所述设备进一步包括:
SSD,其包括所述相同存储器资源,其中所述多个BAR可选择地耦合到所述相同存储器资源。
15.一种方法,其包括:
对辅助存储器资源中用于数据存储的地址进行映射,所述映射针对读取请求设定为写入保护作为可高速缓存属性;及
对相同辅助存储器资源中用于数据存储的所述地址进行映射,所述映射针对写入请求设定为写入组合作为高速缓存属性。
16.根据权利要求15所述的方法,其中所述方法进一步包括:
通过固态装置SSD驱动器确定所请求操作是所述读取请求还是所述写入请求。
17.根据权利要求16所述的方法,其中所述方法进一步包括:
通过所述SSD驱动器将所请求读取操作指派给第一基底地址寄存器BAR,所述第一BAR包含设定为写入保护作为所述高速缓存属性的所述经映射地址;及
通过所述SSD驱动器将所请求写入操作指派给第二BAR,所述第二BAR包含设定为写入组合作为所述高速缓存属性的所述经映射地址。
18.根据权利要求15到17中任一权利要求所述的方法,其中所述方法进一步包括:
通过固态装置SSD驱动器启用写入保护作为第一高速缓存属性,所述第一高速缓存属性经选择以用于读取操作类型以供与包含所述经映射地址的第一基底地址寄存器BAR一起使用;及
通过所述SSD驱动器启用写入组合作为第二高速缓存属性,所述第二高速缓存属性经选择以用于写入操作类型以供与包含所述经映射地址的第二BAR一起使用;且
其中供与所述第一BAR一起使用的所述第一高速缓存属性及供与所述第二BAR一起使用的所述第二高速缓存属性是不同高速缓存属性类型。
19.一种设备,其包括:
主机计算装置,其包括中央处理单元CPU及主要存储器资源;
固态装置SSD驱动器,其可选择地耦合到所述CPU;
控制器,其包括多个基底地址寄存器BAR,每一BAR包含相同辅助存储器资源中用于数据存储的相同地址,其中所述控制器可选择地耦合到所述SSD驱动器;及
SSD,其包括所述相同辅助存储器资源,其中所述多个BAR可选择地耦合到所述相同辅助存储器资源。
20.根据权利要求19所述的设备,其中易失性存储器资源是所述主要存储器资源。
21.根据权利要求19所述的设备,其中非易失性3D XPoint存储器是所述相同辅助存储器资源。
22.根据权利要求19所述的设备,其中所述设备进一步包括:
高速外围组件互连PCIe总线,其作为所述主机计算装置、所述SSD驱动器、包括所述相同辅助存储器资源的外围SSD及所述控制器之间的通信接口以形成PCIe电路。
23.根据权利要求19所述的设备,其中所述SSD驱动器安置于所述主机计算装置上。
24.根据权利要求19到23中任一权利要求所述的设备,其中:
所述主机计算装置中的高速缓存存储器经选择以用于存储从所述相同辅助存储器资源传送的数据值以供所述CPU在执行读取操作类型时使用;且
所述高速缓存存储器受经启用高速缓存属性控制。
25.根据权利要求19到23中任一权利要求所述的设备,其中:
所述主机计算装置中的缓冲器经选择以用于存储将被传送到所述相同辅助存储器资源的数据值以供所述CPU在执行写入操作类型时使用;且
所述缓冲器受经启用写入组合高速缓存属性控制。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/047,000 US10140057B2 (en) | 2016-02-18 | 2016-02-18 | Apparatuses and methods for multiple address registers for a solid state device |
US15/047,000 | 2016-02-18 | ||
PCT/US2017/017170 WO2017142785A1 (en) | 2016-02-18 | 2017-02-09 | Apparatuses and methods for multiple address registers for a solid state device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108701085A true CN108701085A (zh) | 2018-10-23 |
CN108701085B CN108701085B (zh) | 2022-06-21 |
Family
ID=59626302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780012201.5A Active CN108701085B (zh) | 2016-02-18 | 2017-02-09 | 用于固态装置的多个地址寄存器的设备及方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US10140057B2 (zh) |
EP (1) | EP3417377B1 (zh) |
JP (1) | JP6890131B2 (zh) |
KR (1) | KR102142509B1 (zh) |
CN (1) | CN108701085B (zh) |
TW (1) | TWI631467B (zh) |
WO (1) | WO2017142785A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112912863A (zh) * | 2018-12-14 | 2021-06-04 | 德州仪器公司 | 外围组件互连(PCI)背板连接性芯片上系统(SoC) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019046042A (ja) * | 2017-08-31 | 2019-03-22 | 富士通株式会社 | 伝送装置および伝送方法 |
US10705747B2 (en) * | 2018-03-21 | 2020-07-07 | Micron Technology, Inc. | Latency-based storage in a hybrid memory system |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040228251A1 (en) * | 2003-02-03 | 2004-11-18 | Samsung Electronics Co., Ltd. | Method of recording information to and reproducing information from an optical information storage medium |
CN1892626A (zh) * | 2005-07-07 | 2007-01-10 | 国际商业机器公司 | 管理共享输入/输出结构的地址空间的方法、系统和设备 |
CN101751371A (zh) * | 2008-12-10 | 2010-06-23 | 辉达公司 | 在不同种类处理单元中对非统一存储器访问的芯片组支持 |
CN102576333A (zh) * | 2009-10-05 | 2012-07-11 | 马维尔国际贸易有限公司 | 非易失性存储器中的数据高速缓存 |
CN103635968A (zh) * | 2011-05-31 | 2014-03-12 | 美光科技公司 | 包含存储器系统控制器的设备和相关方法 |
CN103635969A (zh) * | 2011-05-31 | 2014-03-12 | 美光科技公司 | 包含存储器系统控制器的设备和相关方法 |
CN103946828A (zh) * | 2013-10-29 | 2014-07-23 | 华为技术有限公司 | 数据处理系统和数据处理的方法 |
US20150310913A1 (en) * | 2014-04-25 | 2015-10-29 | SK Hynix Inc. | Electronic device |
US20150317084A1 (en) * | 2014-04-30 | 2015-11-05 | Myeong-Eun Hwang | Storage device, computing system including the storage device, and method of operating the storage device |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5535349A (en) * | 1994-06-09 | 1996-07-09 | Motorola, Inc. | Data processing system and method for providing chip selects to peripheral devices |
US6170047B1 (en) * | 1994-11-16 | 2001-01-02 | Interactive Silicon, Inc. | System and method for managing system memory and/or non-volatile memory using a memory controller with integrated compression and decompression capabilities |
US20060026371A1 (en) * | 2004-07-30 | 2006-02-02 | Chrysos George Z | Method and apparatus for implementing memory order models with order vectors |
US7752360B2 (en) | 2007-05-16 | 2010-07-06 | Nuova Systems, Inc. | Method and system to map virtual PCIe I/O devices and resources to a standard I/O bus |
US8645594B2 (en) | 2012-06-29 | 2014-02-04 | Intel Corporation | Driver-assisted base address register mapping |
JP2014063497A (ja) * | 2012-09-21 | 2014-04-10 | Plx Technology Inc | 論理装置の機能を有するpciエクスプレススイッチ |
US9256384B2 (en) | 2013-02-04 | 2016-02-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for reducing write latency in a data storage system by using a command-push model |
US9311266B2 (en) | 2013-06-14 | 2016-04-12 | National Instruments Corporation | Hidden base address register programming in peripheral component interconnect express buses |
WO2015047266A1 (en) | 2013-09-26 | 2015-04-02 | Intel Corporation | Block storage apertures to persistent memory |
US10120832B2 (en) * | 2014-05-27 | 2018-11-06 | Mellanox Technologies, Ltd. | Direct access to local memory in a PCI-E device |
US9507722B2 (en) * | 2014-06-05 | 2016-11-29 | Sandisk Technologies Llc | Methods, systems, and computer readable media for solid state drive caching across a host bus |
-
2016
- 2016-02-18 US US15/047,000 patent/US10140057B2/en active Active
-
2017
- 2017-02-09 JP JP2018543174A patent/JP6890131B2/ja active Active
- 2017-02-09 KR KR1020187026595A patent/KR102142509B1/ko active IP Right Grant
- 2017-02-09 WO PCT/US2017/017170 patent/WO2017142785A1/en active Application Filing
- 2017-02-09 CN CN201780012201.5A patent/CN108701085B/zh active Active
- 2017-02-09 EP EP17753662.0A patent/EP3417377B1/en active Active
- 2017-02-18 TW TW106105443A patent/TWI631467B/zh active
-
2018
- 2018-10-30 US US16/174,631 patent/US10452313B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040228251A1 (en) * | 2003-02-03 | 2004-11-18 | Samsung Electronics Co., Ltd. | Method of recording information to and reproducing information from an optical information storage medium |
CN1892626A (zh) * | 2005-07-07 | 2007-01-10 | 国际商业机器公司 | 管理共享输入/输出结构的地址空间的方法、系统和设备 |
CN101751371A (zh) * | 2008-12-10 | 2010-06-23 | 辉达公司 | 在不同种类处理单元中对非统一存储器访问的芯片组支持 |
CN102576333A (zh) * | 2009-10-05 | 2012-07-11 | 马维尔国际贸易有限公司 | 非易失性存储器中的数据高速缓存 |
CN103635968A (zh) * | 2011-05-31 | 2014-03-12 | 美光科技公司 | 包含存储器系统控制器的设备和相关方法 |
CN103635969A (zh) * | 2011-05-31 | 2014-03-12 | 美光科技公司 | 包含存储器系统控制器的设备和相关方法 |
CN103946828A (zh) * | 2013-10-29 | 2014-07-23 | 华为技术有限公司 | 数据处理系统和数据处理的方法 |
US20150310913A1 (en) * | 2014-04-25 | 2015-10-29 | SK Hynix Inc. | Electronic device |
US20150317084A1 (en) * | 2014-04-30 | 2015-11-05 | Myeong-Eun Hwang | Storage device, computing system including the storage device, and method of operating the storage device |
Non-Patent Citations (1)
Title |
---|
李申: "多通道VPX总线固态数据记录回放系统", 《电子设计工程》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112912863A (zh) * | 2018-12-14 | 2021-06-04 | 德州仪器公司 | 外围组件互连(PCI)背板连接性芯片上系统(SoC) |
Also Published As
Publication number | Publication date |
---|---|
EP3417377A1 (en) | 2018-12-26 |
US10140057B2 (en) | 2018-11-27 |
US10452313B2 (en) | 2019-10-22 |
TW201732616A (zh) | 2017-09-16 |
KR102142509B1 (ko) | 2020-08-10 |
WO2017142785A1 (en) | 2017-08-24 |
TWI631467B (zh) | 2018-08-01 |
US20170242623A1 (en) | 2017-08-24 |
JP2019509554A (ja) | 2019-04-04 |
EP3417377A4 (en) | 2020-03-25 |
EP3417377B1 (en) | 2024-04-03 |
KR20180105265A (ko) | 2018-09-27 |
CN108701085B (zh) | 2022-06-21 |
JP6890131B2 (ja) | 2021-06-18 |
US20190065104A1 (en) | 2019-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI783369B (zh) | 準揮發性系統級記憶體 | |
EP2737383B1 (en) | Flash-dram hybrid memory module | |
US20130046934A1 (en) | System caching using heterogenous memories | |
US10866921B2 (en) | Apparatuses and methods for an operating system cache in a solid state device | |
JP2016520233A (ja) | メモリシステム、メモリアクセス要求を処理するための方法、およびコンピュータシステム | |
US20110296118A1 (en) | Dynamic Row-Width Memory | |
US9990283B2 (en) | Memory system | |
KR102646724B1 (ko) | 배리어 커맨드에 기초하여 데이터를 순서대로 저장하는 스토리지 장치 | |
JP7242170B2 (ja) | メモリープールを有するコンピューティングシステムのためのメモリー分割 | |
CN108701085A (zh) | 用于固态装置的多个地址寄存器的设备及方法 | |
US20170109277A1 (en) | Memory system | |
CN207008602U (zh) | 一种基于NandFlash存储器多通道的存储阵列控制装置 | |
CN110537172B (zh) | 混合存储器模块 | |
US11742004B2 (en) | Memory supporting multiple types of operations | |
CN114258534B (zh) | 阶层式存储器系统 | |
US20240168896A1 (en) | Memory controller, electric system including the same and method of controlling memory access | |
US20240160568A1 (en) | Techniques for data movement to a cache in a disaggregated die system | |
US20130151766A1 (en) | Convergence of memory and storage input/output in digital systems | |
US20190310776A1 (en) | Mass storage system having peer-to-peer data movements between a cache and a backend store | |
WO2024030785A2 (en) | Memory controller for a high capacity memory circuit with large number of independently accessible memory banks | |
GB2365582A (en) | High bandwidth cache | |
JP2016006662A (ja) | メモリ制御装置及び制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |