CN111936961A - 基于性能目标对存储器系统的优化 - Google Patents
基于性能目标对存储器系统的优化 Download PDFInfo
- Publication number
- CN111936961A CN111936961A CN201980023483.8A CN201980023483A CN111936961A CN 111936961 A CN111936961 A CN 111936961A CN 201980023483 A CN201980023483 A CN 201980023483A CN 111936961 A CN111936961 A CN 111936961A
- Authority
- CN
- China
- Prior art keywords
- memory system
- memory
- setting
- resources
- performance
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 201
- 238000005457 optimization Methods 0.000 title claims description 17
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims abstract description 5
- 238000004891 communication Methods 0.000 claims description 20
- 238000013468 resource allocation Methods 0.000 claims description 12
- 239000007787 solid Substances 0.000 claims description 6
- 238000003860 storage Methods 0.000 description 84
- 230000004044 response Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000696 magnetic material Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3442—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
-
- 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
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种存储器系统,其具有一组媒体、一组资源和控制器,所述控制器经由固件配置以使用所述一组资源来处理来自主机系统的请求以将数据存储在所述媒体中或从所述媒体检索数据。所述存储器系统具有性能管理器,其基于用户识别的偏好且任选地进一步基于所述存储器系统的操作统计来识别用于在所述请求的所述处理中的所述资源的分配的设置。
Description
相关申请案
本申请案要求2018年4月2日提交的且名为“基于性能目标对存储器系统的优化(Optimization of Memory Systems based on Performance Goals)”的美国专利申请案第15/943,296号的提交日的权益,所述申请案的全部公开内容特此以引用的方式并入本文中。
技术领域
本文中所公开的至少一些实施例一般涉及存储器系统,且更具体地说,涉及但不限于基于性能目标对存储器系统的优化。
背景技术
存储器系统可为存储系统,例如固态驱动器(SSD),并且可包含存储数据的一或多个存储器组件。举例来说,存储器系统可包含例如非易失性存储器装置和易失性存储器装置的存储器装置。一般来说,主机系统可利用存储器系统将数据存储在存储器系统的存储器装置处并且检索存储在存储器系统处的数据。
存储器系统可具有各种资源,例如一或多个处理器、通信信道及不同类型的存储器组件。使用所述资源,处理器可执行固件以执行与数据存储请求及/或任务相关的操作。
附图说明
在附图的图中作为实例而非限制示出了实施例,在附图中,相似的参考标号指示类似的元件。
图1展示根据本公开的一些实施例的具有存储器系统的计算系统,所述存储器系统具有性能管理器。
图2展示经配置以基于性能概况及/或操作统计平衡性能需求的存储系统。
图3说明确定用于优化定制的性能目标的当前设置概况的实例。
图4展示基于性能目标优化存储器系统的方法。
具体实施方式
本公开的至少一些方面涉及基于不同用户感兴趣的不同性能目标及/或响应于存储器系统的不同使用模式来优化存储器系统。存储器系统的实例是存储系统,例如固态驱动器(SSD)。在一些实施例中,存储器系统是混合式存储器/存储系统。一般来说,主机系统可利用包含一或多个存储器装置的存储器系统。存储器装置可包含非易失性存储器装置,例如基于与非(NAND)逻辑门形成的存储器单元、基于或非(NOR)逻辑门形成的存储器单元等等。主机系统可提供写入请求以将数据存储在存储器系统的存储器装置处,且可提供读取请求以检索存储在存储器系统处的数据。存储器系统可包含控制器,其管理存储器装置以执行例如读取数据、写入数据或擦除数据的操作以及其它此类操作。存储系统在本公开中用作存储器系统的一个实例。
存储器系统中的操作可针对各种操作概况及/或性能目标优化,例如读取强度操作、写入强度操作、耐久性等存储器系统中的资源可以不同方式分配及/或利用以优化在不同操作模式下及/或以不同性能优先级使用的存储器系统的性能。
举例来说,配置概况可用于指定用于存储器系统内的资源的分配或利用的设置以在涉及密集的读取操作的使用模式中改进存储器系统的总性能。
举例来说,配置概况可用于指定用于存储器系统内的资源的分配或利用的设置以在涉及密集的写入操作的使用模式中改进存储器系统的总性能。
举例来说,配置概况可用于指定用于存储器系统内的资源的分配或利用的设置以改进存储器系统在耐久性方面的总性能。
存储器系统的用户可基于用户在性能优化方面的偏好,例如在读取强度操作方面对改进性能的偏好、在写入强度操作方面对改进性能的偏好或在耐久性方面对改进性能的偏好,来从多个可用的概况选择一概况。选定概况的设置可用于定制存储器系统的操作。
在一些情况下,存储器系统跟踪输入/输出请求(例如,来自其主机系统的读取和写入命令)的统计以确定过去的时间段中的使用模式及工作负载,其可指示随后的时间段中的存储器系统的使用模式和工作负载。存储器系统可基于下一时间段中的经预测使用模式及工作负载及/或用户的性能优先级的指示来选择及/或产生配置概况,以针对关于用户偏好定制的性能优化及/或经预测使用模式及工作负载来重新平衡存储器系统内的资源使用。
图1展示根据本公开的一些实施例的具有存储器系统108的计算系统,所述存储器系统具有性能管理器114。
举例来说,性能管理器114可根据用户偏好及/或来自主机系统101的命令/请求的模式来调节存储器系统108的资源用于执行来自主机系统101的命令/请求以优化性能目标的某些方面的方式。
一般来说,存储器系统108可包含媒体,例如存储器装置109A到109N。存储器装置109A到109N可为易失性存储器装置、非易失性存储器(NVM)装置,或此类装置的组合。在一些实施例中,存储器系统108为存储系统。存储系统的实例为固态驱动器(SSD)。在一些实施例中,存储器系统108是混合式存储器/存储系统。一般来说,计算系统可包含使用存储器系统108的主机系统101。在一些实施方案中,主机系统101可将数据写入到存储器系统108且从存储器系统108读取数据。
主机系统101可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置或包含存储器和处理装置的此类计算装置。主机系统101可包含或耦合到存储器系统108,使得主机系统101可从存储器系统108读取数据或将数据写入到所述存储器系统。主机系统101可经由物理主机接口耦合到存储器系统108。如本文中所使用,“耦合到”通常指代组件之间的连接,其可为间接通信连接或直接通信连接(例如,不具有介入组件),无论有线或无线,包含例如电连接、光学连接、磁性连接等连接。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、小型计算机系统接口(SCSI)、串行连接的SCSI(SAS)等。物理主机接口可用于在主机系统101与存储器系统108之间发射数据。当存储器系统108通过PCIe接口与主机系统101耦合时,主机系统101可进一步利用NVM高速(NVMe)接口以访问存储器装置109A到109N。物理主机接口可提供用于在存储器系统108与主机系统101之间传送控制、地址、数据和其它信号的接口。
存储器装置109A到109N可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任何组合。非易失性存储器装置的实例包含“与非”(NAND)类型快闪存储器。存储器装置109A到109N中的每一个可包含存储器单元的一或多个阵列,例如单层级单元(SLC)、多层级单元(MLC)、三层级单元(TLC)、四层级单元(QLC)等。在一些实施方案中,特定存储器装置可包含存储器单元的SLC部分和MLC(或TLC或QLC)部分。存储器单元中中的每一个可存储由主机系统101使用的一或多个数据位。尽管描述例如NAND类型快闪存储器的非易失性存储器装置,但是存储器装置109A到109N可基于任何其它类型的存储器,例如易失性存储器。在一些实施方案中,存储器装置109A到109N可为但不限于随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁性随机存取存储器(MRAM)、或非(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM),及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器相反,交叉点非易失性存储器可执行就地写入操作,其中可在先前未擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。此外,存储器装置109A到109N的存储器单元可分组为存储器页或数据块,其可指用于存储数据的存储器装置的单元。
控制器107可与存储器装置109A到109N通信以执行操作,例如在存储器装置109A到109N处读取数据、写入数据,或擦除数据及其它此类操作。控制器107可包含硬件,例如一或多个集成电路及/或离散组件、缓冲存储器,或其组合。控制器107可为微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或另一合适处理器。控制器107可包含一或多个处理器(处理装置)120,其经配置以执行储存在本地存储器119中的指令。
在所说明实例中,控制器107的本地存储器119包含嵌入式存储器,其经配置以存储用于执行控制存储器系统108的操作的各种程序、操作、逻辑流程及例程的指令,存储器系统的操作包含处置存储器系统108与主机系统101之间的通信和性能管理器114的功能,此在下文更详细地描述。在一些实施例中,本地存储器119可包含用于实施性能管理器114的存储器及/或存储例如存储器指针、经提取数据等的存储器寄存器。本地存储器119可包含用于存储微码的只读存储器(ROM)。
虽然图1中的实例存储器系统108经说明为包含控制器107,但在本公开的另一实施例中,存储器系统108可不包含控制器107,且实际上可依赖于外部控制(例如,由外部主机或由与存储器系统分离的处理器或控制器提供)。
一般来说,控制器107可从主机系统101接收命令或操作,且可将所述命令或操作转换为指令或适当命令以实现对存储器装置109A到109N的所需访问。控制器107可负责与存储器装置109A到109N相关联的其它操作,例如耗损均衡操作、垃圾收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓存操作,以及逻辑块地址与物理块地址之间的地址转译。控制器107可进一步包含主机接口电路以经由物理主机接口与主机系统101通信。主机接口电路可将从主机系统接收到的命令转换成访问存储器装置109A到109N的命令指令,以及将与存储器装置109A到109N相关联的响应转换成用于主机系统101的信息。
存储器系统108还可包含未说明的额外电路或组件。在一些实施方案中,存储器系统108可包含高速缓冲存储器或缓冲器(例如,DRAM)及地址电路(例如,行解码器和列解码器),所述地址电路可从控制器107接收地址且对所述地址进行解码以访问存储器装置109A到109N。
在一个实例中,主机系统101具有一或多个连接器以向存储器系统108提供功率及/或经由通信信道和预定协议与存储器系统108通信;且存储器系统108具有一或多个连接器以从主机系统101接收功率、数据和命令。举例来说,主机系统101上的连接器与存储器系统108上的连接器之间的连接可利用PCIe总线或SATA总线。
图2展示经配置以基于性能概况及/或操作统计平衡性能需求的存储系统103。举例来说,图2的存储系统103可用作图1的计算系统中的存储器系统108的实例。
图2的存储系统103具有可用于处理来自主机系统101的请求/命令的各种硬件资源。
举例来说,存储系统103的硬件资源包含存储系统103的控制器107的处理器121……123。处理器121……123可经分配以执行在处理来自主机系统101的请求或命令中的不同任务。将处理器121……123分配给不同任务的不同方式对于存储系统103的完成不同类型的请求或命令的性能水平可具有不同影响(例如,改进完成某些类型的请求或命令的性能水平,而降低完成其它类型的请求或命令的性能水平)。
举例来说,存储系统103的硬件资源包含易失性存储器106。具有不同大小的易失性存储器106的不同部分可经分配给在处理来自主机系统101的请求或命令中的不同任务。分割易失性存储器106以用于分配给不同任务的不同方式对于存储系统103的完成不同类型的请求或命令的性能水平可具有不同影响(例如,改进完成某些类型的请求或命令的性能水平,而降低完成其它类型的请求或命令的性能水平)。
可以不同方式分配以对存储系统103的不同性能目标施加不同影响的存储系统103的硬件资源的其它实例包含进程间通信信道、寄存器、数据及/或控制信号总线等。
在一些情况下,非易失性存储媒体109具有用于将数据重写到非易失性存储媒体109中的相同存储器单元中的有限预算。在消费完写入预算之后,将新数据写入在存储器单元中可能不允许从存储器单元可靠地检索数据。存储系统的控制器107经由固件104经编程以执行缩减非易失性存储媒体109中的写入及/或扩展不同存储器单元中的写入的操作。针对此类操作分配不同资源量(例如,缓冲存储器及/或时隙)可对通过控制器107执行此类操作实现的写入缩减量具有不同影响,且因此在存储系统103的耐久性方面产生不同性能水平。
存储系统103存储一组性能概况102。性能概况102中的每一个指定一组参数,其识别在执行存储系统103内的各种任务/操作时的存储系统103的资源分配。当由执行固件104的控制器107使用时,对应的性能概况102中的所述一组参数优化特定性能目标,例如用于典型的读取密集使用的输入/输出性能、用于典型的写入密集使用的输入/输出性能、存储系统的耐久性等。
性能管理器114允许选择性能目标(例如,读取强度模式、写入强度模式、耐久性模式)中的一个作为偏好,且使用预定义性能概况102中对应于选定的性能目标的一个来在控制器107运行固件104的操作中配置资源使用。
举例来说,主机系统101可呈现允许主机系统101的用户选择用于存储系统103的性能优化目标的用户界面。举例来说,用户可选择针对读取强度使用、写入强度使用、耐久性等优化存储系统103。用户选择通过主机接口105从主机系统101传达到存储系统103,这使得存储系统103使用性能概况102中对应于用户选择的一个来配置运行固件104的控制器107。
任选地,存储系统103存储用户选择(例如,在非易失性存储媒体109中的预定位置中),使得当重新起动/重启存储系统103时,性能概况102中对应于用户选择的一个用于配置运行固件104的控制器107,以平衡资源使用,从而优化用户选定的性能目标中的性能。
任选地,存储系统103存储对应于用户选定的性能目标的性能概况102,且可不存储未选定的性能目标的其它性能文件。经存储性能概况102可响应于性能目标的用户选择而从主机系统101接收。性能概况102可作为固件更新及/或经由管理命令接收以用于定制存储系统103。
在一些情况下,用户可指定用于不同性能目标的不同权重。举例来说,用户可指定用于读取强度使用的第一权重、用于写入强度使用的第二权重、用于耐久性的第三权重等。主机系统101及/或性能管理器114根据用户指定的权重组合用于相应性能目标的不同性能概况以基于预定规则产生定制的性能概况102。因此,用户可指定呈一组预定义性能目标的组合的形式的定制的性能目标,而非限于从一组预定性能目标中选择一个。
所述一组权重可存储在非易失性存储媒体109中以产生定制的性能概况102,以用于在起动或启动存储系统103期间应用。替代地,主机系统101(或远程服务器)根据所述一组权重产生定制的性能概况102,且将定制的性能概况102下载到存储系统103中。
在一些情况下,性能管理器114跟踪通过存储系统103响应于来自主机系统101的请求/命令执行的操作以产生操作统计112。举例来说,操作统计112可识别一时间段期间的过去操作的读取强度、一时间段期间的过去操作的写入强度、存储系统103的使用率等。操作统计112可用于定制用于性能概况102的组合的权重,以在具有类似使用模式的一时间段期间产生用于存储系统103的定制的性能概况102。
举例来说,用于读取强度模式的权重可与所述时间段期间的过去操作的读取强度的测量成比例;用于写入强度模式的权重可与所述时间段期间的过去操作的写入强度的测量成比例;且用于耐久性模式的权重可与所述时间段期间的过去操作的使用率的测量成比例。
在一些情况下,用于不同模式的从操作统计112计算的权重与用于相应模式的由系统的用户指定的权重组合。举例来说,用于不同模式的从操作统计112计算的权重可乘以用于相应模式的由用户指定的相应权重,以计算用于组合相应模式的性能概况102的权重。
一般来说,主机系统101可使用消息队列以将包含用户偏好、权重及/或性能概况102的请求/命令提交到存储系统103。
举例来说,提交队列(例如,111……或113)可由主机系统101使用以将请求提交到存储系统103;且完成队列(例如,115……或117)可由主机系统101使用以从存储系统103接收响应。
举例来说,NVMe的版本(例如,非易失性存储器主机控制器接口规格1.2)指定将具有固定插槽大小的循环缓冲器用于提交队列(例如,111……或113)或完成队列(例如,115……或117)。
NVMe进一步指定不同类型的消息队列以用于处理不同类型的命令。举例来说,输入/输出(I/O)命令限于经由I/O提交队列提交;且管理命令限于经由管理提交队列提交。I/O命令的实例包含从存储系统103读取数据的命令、将数据写入到存储系统103中的命令、比较存储系统103中的数据的命令等。管理命令的实例包含管理名称空间的命令、附接名称空间的命令、创建I/O提交或完成队列的命令、删除I/O提交或完成队列的命令、用于固件管理的命令等。NVMe通过在对创建I/O提交队列中的每一个的请求中明确地识别I/O完成队列来允许多个I/O提交队列分享I/O完成队列。
NVMe要求存储系统103根据命令放置于提交队列111……或113中的次序来从提交队列111……或113提取命令/请求。然而,NVMe允许控制器107以任何次序执行经提取命令。
图3说明确定用于优化定制的性能目标的当前设置概况的实例。举例来说,图3的技术可经由图1及/或图2的性能管理器114来实施。
在图3中,一组设置概况131,133……137经预先设计以用于多个预定义使用模型的性能优化。
举例来说,设置概况131指定存储系统103中的资源分配/使用的设置以优化用于读取强度使用的性能。
举例来说,设置概况133指定存储系统103中的资源分配/使用的设置以优化用于写入强度使用的性能。
举例来说,设置概况137指定存储系统103中的资源分配/使用的设置以优化存储系统103的非易失性存储媒体109的耐久性。
举例来说,图3的设置概况131,133……137可用作图2的存储系统103中的性能概况102。
基于用户偏好116及/或操作统计112,从设置概况131,133……137识别130当前设置概况139。
举例来说,当操作统计112不可用时,用户偏好116可选择设置概况131,133……137中的一个作为当前设置概况139。
举例来说,当操作统计112不可用时,用户偏好116可指定用于设置概况131,133……137中的每一个的权重;且用户偏好116的所述一组权重应用于所述一组设置概况131,133……137以产生130当前设置概况139。
举例来说,当用户偏好116不可用时,操作统计112可用于导出用于所述一组设置概况131,133……137的一组权重;且从操作统计112产生的所述一组权重应用于所述一组设置概况131,133……137以产生130当前设置概况139。
举例来说,当用户偏好116分别指定用于所述一组设置概况131,133……137的一组权重且一组权重在指示下一时间段的操作特性的一段时间内从操作统计112产生时,用户偏好116的所述一组权重及从操作统计112导出的所述一组权重均可应用于所述一组设置概况131,133……137以产生130在下一时间段内定制的当前设置概况139。
图4展示基于性能目标优化存储器系统的方法。举例来说,图4的方法一般可用于图1的存储器系统108和图2的存储系统103中作为实例以实施图3的技术。
图4的方法包含:识别161存储器系统的多个性能模式;产生163识别存储器系统108或103中分别针对多个性能模式优化的资源使用的设置的多个概况102或131,133……137;接收165关于性能模式的用户偏好116的指示;使用在基于概况102或131,133……137和用户偏好116识别的概况139中识别的资源使用设置来操作167存储器系统108或103;跟踪169存储器系统108或103的操作统计112;及至少部分地基于操作统计112来调节171存储器系统的资源使用设置。
举例来说,存储器系统(例如,108或103)可具有:一组媒体(例如,109A到109N或109);一组资源;及控制器107,其经由固件104配置以使用所述一组资源来处理来自主机系统101的请求以将数据存储在媒体(例如,109A到109N或109)中或从媒体(例如,109A到109N,或109)检索数据。存储器系统(例如,108或103)具有性能管理器114,其至少部分地基于用户识别的偏好116来识别用于处理请求中的资源分配的设置139。性能管理器114可经由执行固件104的一部分的控制器107及/或专用电路来实施。
举例来说,所述一组媒体(例如,109A到109N,或109)可包含快闪存储器;且存储器系统(例如,108或103)可为固态驱动器(SSD)。
举例来说,用户识别的偏好116可从具有多个设置概况131,133……137的多个预定义性能目标选择性能目标;且根据由用户识别的偏好116选择的性能目标在选自多个设置概况131,133……137的概况139中指定用于资源分配的设置139。
举例来说,用户识别的偏好116可指定用于具有多个设置概况131,133……137的多个预定义性能目标的多个权重;且通过将多个权重分别应用于多个设置概况131,133……137来计算用于资源分配的设置139。在一些情况下,多个设置概况131,133……137中的至少两个具有非零权重。
举例来说,存储器系统(例如,108或103)分别存储用于多个预定义性能目标的多个设置概况102或131到137;且用于资源分配的设置139基于多个设置概况102或131到137。
多个预定义性能目标的实例包含以下各项中的至少一个:对存储器系统(例如,108或103)(例如,108或103)的读取密集使用的优化;对存储器系统(例如,108或103)的写入强度使用的优化;及对存储器系统(例如,108或103)的耐久性的优化。
所述一组资源的实例包含以下各项中的至少一个:易失性存储器、寄存器、通信总线、进程间通信信道,及处理器120或121到123或控制器107中的运行程序。
举例来说,存储器系统(例如,108或103)的控制器107可包含运行多个程序的多个处理器120或121到123;程序中的每一个执行存储器系统(例如,108或103)中的多个任务中的一个;且设置139平衡任务之间的资源分配,以实现基于用户偏好116及/或存储器系统(例如,108或103)的实际或经预测使用在服务于来自主机系统101的请求/命令时个性化的性能目标。
举例来说,性能管理器114可确定存储器系统(例如,108或103)的操作统计112,且基于用户偏好116及操作统计112识别130用于资源分配的设置139。
举例来说,操作统计112可用于计算用于多个预定义性能目标的权重;且可在将权重应用于预定义性能目标的设置概况131到137之前经由用户偏好116修改权重以产生定制的/个性化的设置概况139。
举例来说,性能管理器114基于操作统计112分别计算用于多个预定义性能目标的多个第一权重;用户识别的偏好116分别指定用于多个预定义性能目标的多个第二权重;且多个第一权重和多个第二权重应用于多个设置概况以确定用于资源分配的设置139。
在一些情况下,在主机系统101上执行定制的及/或个性化的设置概况139的计算。在固件更新或定制操作期间将设置概况139下载到存储器系统(例如,108或103)。
在一些情况下,主机系统101可独立于存储器系统(例如,108或103)及/或在不涉及所述存储器系统的情况下跟踪操作统计112及/或获得用户偏好116。
图2的存储系统103可附接到图1中的主机系统101作为存储器系统108的实施方案。通常,主机系统101与存储器系统108且尤其与存储系统103之间的通信信道允许主机系统101发送数据请求及/或其它命令,其触发控制器107对媒体(例如,109A到109N,109)的某些操作,例如数据写入操作,数据读取操作,数据擦除操作。主机接口105实施通信信道的通信协议。
在一些实施方案中,主机系统101与存储器系统108或存储系统103之间的通信信道包含用于计算机外围装置的总线,例如PCIe总线、SATA总线、USB总线。
在一些实施方案中,主机系统101与存储系统103之间的通信信道包含计算机网络,例如局域网、无线局域网、无线个人局域网、蜂窝式通信网络、宽带高速一直连接的无线通信连接(例如,移动网络链路的当前或未来产生);且主机系统101及存储系统103可经配置以使用类似于NVMe协议中的数据存储管理和使用命令的数据存储管理和使用命令来彼此通信。
存储系统103的控制器107可运行固件104以响应于来自主机系统101的通信而执行操作。通常,固件是一种类型的计算机程序,其可提供对工程化计算装置的控制、监测和数据操纵。
存储系统103可具有非易失性存储媒体109。非易失性存储媒体109的实例包含形成于集成电路中的存储器单元和涂覆在硬质磁盘上的磁性材料。非易失性存储媒体109可在不消耗功率的情况下维护存储在其中的数据/信息。存储器单元可使用各种存储器/存储装置技术来实施,所述存储器/存储装置技术例如NAND逻辑门、NOR逻辑门、相变存储器(PCM)、磁存储器(MRAM)、电阻式随机存取存储器、交叉点存储装置及存储器装置(例如,3DXPoint存储器)。交叉点存储器装置使用无晶体管存储器元件,所述无晶体管存储器元件中的每一个具有在一起堆叠成列的存储器单元和选择器。存储器元件列经由两个垂直线材层连接,其中一个层处于存储器元件列上方,且另一层处于存储器元件列下方。可个别地在两个层中的每一层上的一个线材的交叉点处选择每一存储器元件。交叉点存储器装置是快速且非易失性的,且可用作统一内存池以供处理和存储。
在一些情况下,控制器107具有处理器内高速缓冲存储器,其数据访问性能优于易失性DRAM 106及/或非易失性存储媒体109。因此,优选在控制器107的计算操作期间将当前计算任务中使用的部分指令和数据高速缓存在控制器107的处理器内高速缓冲存储器中。在一些情况下,控制器107具有多个处理器121……123,每个处理器具有其自身的处理器内高速缓冲存储器。
任选地,控制器107使用在存储系统103中组织的数据及/或指令来执行数据密集的存储器内处理。举例来说,响应于来自主机系统101的请求,控制器107执行存储在存储系统103中的数据集的实时分析并且将经缩减数据集传达到主机系统101作为响应。举例来说,在一些应用中,存储系统103连接到实时传感器以存储传感器输入;且控制器107的处理器120,121……123经配置以基于传感器输入执行机器学习及/或模式辨识,以支持至少部分经由存储系统103及/或主机系统101实施的人工智能(AI)系统。
在一些实施方案中,控制器107的处理器120,121……123与存储器(例如,119,109A……109N,106,109)在计算机芯片制造中集成以启用存储器中处理,且因此克服冯诺伊曼瓶颈(von Neumann bottleneck),其由于处理器与存储器之间的数据移动的时延引起的吞吐量限制而限制计算性能,所述存储器根据冯诺伊曼架构单独地配置。处理和存储器的集成增加了处理速度和内存传送速率,且减小了时延和功率使用。
存储系统103可用在各种计算系统中,例如云计算系统、边缘计算系统、雾计算系统及/或独立计算机。在云计算系统中,远程计算机服务器连接于网络中以存储、管理和处理数据。边缘计算系统通过在接近数据源的计算机网络边缘处执行数据处理来优化云计算,且因此减少与集中式服务器及/或数据存储装置的数据通信。雾计算系统使用一或多个终端用户装置或近用户边缘装置来存储数据,且因此减少或消除了在集中式数据仓库中存储数据的需求。
涉及控制器107的操作的一些实施例可使用由控制器107执行的计算机指令(例如控制器107的固件104)来实施。在一些情况下,硬件电路可用于实施功能中的至少一些。固件104可初始地存储在非易失性存储媒体109或另一非易失性装置中,且被加载到易失性DRAM 106及/或处理器内高速缓冲存储器中以由控制器107执行。
非暂时性计算机存储媒体可用于存储通常存储器系统108且尤其存储系统103的固件104。当指令由存储器系统108或存储系统103的控制器107执行时,所述指令使控制器107执行上文所论述的方法。
在本说明书中,各种功能和操作可被描述为由计算机指令执行或由计算机指令引起以简化描述。然而,所属领域的技术人员将认识到,此类表达的意图在于,所述功能因一或多个控制器或处理器(例如,微处理器)执行计算机指令而产生。替代地或组合地,所述功能和操作可使用具有或不具有软件指令的专用电路实施,例如使用专用集成电路(ASIC)或现场可编程门阵列(FPGA)来实施。可使用无软件指令的硬接线电路或结合软件指令实施实施例。因此,技术不限于硬件电路和软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定来源。
虽然一些实施例可在充分起作用的计算机和计算机系统中实施,但各种实施例能够分布为多种形式的计算产品,且不论用于实际上实现所述分布的机器或计算机可读媒体的特定类型如何都能够适用。
所公开的至少一些方面可至少部分体现于软件中。即,技术可以响应于其处理器(例如微处理器或微控制器)在计算机系统或其它数据处理系统中实施,从而执行包含在存储器(例如ROM、易失性RAM、非易失性存储器、高速缓冲存储器或远程存储装置)中的指令序列。
经执行以实施实施例的例程可实施为操作系统或特定应用程序、组件、程序、物件、模块或称作“计算机程序”的指令序列的部分。计算机程序通常在各种时间在计算机中的各种存储器和存储装置中包括一或多个指令集,且所述指令集在由计算机中的一或多个处理器读取和执行时使所述计算机执行对进行涉及各个方面的要素来说必要的操作。
可以使用有形的非暂时性计算机存储媒体存储软件和数据,所述软件和数据在由数据处理系统执行时使所述系统执行各种方法。可执行软件和数据可存储于包含例如ROM、易失性RAM、非易失性存储器及/或高速缓冲存储器的各处。此软件及/或数据的部分可存储在这些存储装置中的任一个中。此外,数据和指令可从集中式服务器或对等网络获得。数据和指令的不同部分可在不同时间和在不同通信会话或相同通信会话中从不同集中式服务器及/或对等网络获得。可在执行应用程序之前获得全部数据和指令。替代地,可动态地、及时地在需要执行时获得数据和指令的部分。因此,并不要求数据和指令在特定时刻全部处于机器可读媒体上。
计算机可读存储媒体的实例包含但不限于可记录和不可记录类型的媒体,例如易失性和非易失性存储器装置、只读存储器(ROM)、随机存取存储器(RAM)、快闪存储器装置、软性和其它可装卸式磁盘、磁盘存储媒体和光学存储媒体(例如,光盘只读存储器(CDROM)、数字通用光盘(DVD)等)以及其它媒体。指令可体现在暂时性媒体中,例如电学、光学、声学或其它形式的传播信号,例如载波、红外信号、数字信号等。暂时性媒体通常用于发射指令,但不被视为能够存储所述指令。
在各种实施例中,硬接线电路可与软件指令组合使用以实施技术。因此,技术不限于硬件电路和软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定来源。
尽管图式中的一些以特定次序说明数个操作,但可重新排序不依赖于次序的操作,且可组合或分解其它操作。虽然具体提及了一些重新排序或其它分组,但是其它重新排序或分组对于所属领域的技术人员来说是显而易见的,因此不提供详尽的替代方案列表。此外,应认识到,阶段可用硬件、固件、软件或其任何组合来实施。
以上描述和图式是说明性的,且不应理解为限制性的。描述许多特定细节以提供透彻理解。然而,在某些情况下,不描述众所周知的或常规的细节以免混淆描述。本公开中对一个或一实施例的参考未必参考同一实施例;且此类参考意味着至少一个。
在前述说明书中,已参考本公开的具体示例性实施例描述了本公开。应显而易见的是,可在不脱离如所附权利要求书中阐述的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。
Claims (15)
1.一种存储器系统,其包括:
一组媒体;
一组资源;及
控制器,其经配置以使用所述一组资源以处理来自主机系统的请求以将数据存储在所述媒体中或从所述媒体检索数据;
其中性能管理器基于用户识别的偏好识别用于所述请求的所述处理中的所述资源的分配的设置。
2.根据权利要求1所述的存储器系统,其中所述一组媒体包含快闪存储器;且所述存储器系统是固态驱动器。
3.根据权利要求2所述的存储器系统,其中所述用户识别的偏好指定来自具有多个设置概况的多个预定义性能目标的性能目标,或用于所述多个预定义性能目标的多个权重;且用于所述资源的所述分配的所述设置来自根据通过所述用户识别的偏好选择的所述性能目标选自所述多个设置概况的概况,或通过分别将所述多个权重应用于所述多个设置概况来计算。
4.根据权利要求1所述的存储器系统,其中所述存储器系统分别存储用于多个预定义性能目标的多个设置概况;且用于所述资源的所述分配的所述设置是基于所述多个设置概况。
5.根据权利要求4所述的存储器系统,其中所述多个预定义性能目标包含以下各项中的至少一个:
对所述存储器系统的读取密集使用的优化;
对所述存储器系统的写入强度使用的优化;及
对所述存储器系统的耐久性的优化;且
其中所述一组资源包含以下各项中的至少一个:易失性存储器、寄存器、通信总线,及进程间通信信道。
6.根据权利要求5所述的存储器系统,其中所述控制器包含运行多个程序的多个处理器;所述程序中的每一个执行所述存储器系统中的多个任务中的一个;且所述设置平衡所述任务之间的资源分配;且所述性能管理器确定所述存储器系统的操作统计并进一步基于所述操作统计识别用于所述资源的分配的设置。
7.一种方法,其包括:
在存储器系统中提供一组媒体及一组资源;
在所述存储器系统中接收用户识别的偏好;
基于所述用户识别的偏好识别用于所述资源的分配的设置;及
通过所述存储器系统的运行固件的控制器使用根据所述设置分配的所述资源处理来自主机系统的请求以将数据存储在所述媒体中或从所述媒体检索数据。
8.根据权利要求7所述的方法,其中所述一组媒体包含快闪存储器;所述存储器系统是固态驱动器;所述一组资源包含以下各项中的至少一个:易失性存储器、寄存器、通信总线,及进程间通信信道;所述控制器包含运行多个程序的多个处理器;所述程序中的每一个执行所述存储器系统中的多个任务中的一个;且所述设置平衡所述任务之间的资源分配。
9.根据权利要求8所述的方法,其进一步包括:
分别存储用于多个预定义性能目标的多个设置概况;
其中用于所述资源的所述分配的所述设置是基于所述多个设置概况。
10.根据权利要求9所述的方法,其中所述多个预定义性能目标包含以下各项中的至少一个:
对所述存储器系统的读取密集使用的优化;
对所述存储器系统的写入密集使用的优化;及
对所述存储器系统的耐久性的优化。
11.根据权利要求9所述的方法,其中所述用户识别的偏好从所述多个预定义性能目标选择性能目标;且所述方法进一步包含:
根据通过所述用户识别的偏好选择的所述性能目标从所述多个设置概况选择概况;
其中用于所述资源的所述分配的所述设置从根据所述性能目标选择的所述概况识别。
12.根据权利要求9所述的方法,其中所述用户识别的偏好指定用于所述多个预定义性能目标的多个权重;且所述方法进一步包含:
将所述多个权重分别应用于所述多个设置概况以计算用于所述资源的所述分配的所述设置。
13.根据权利要求9所述的方法,其进一步包括:
确定所述存储器系统的操作统计;
其中用于所述资源的分配的所述设置的所述识别进一步基于所述操作统计。
14.一种实施于根据权利要求1所述的存储器系统中的方法,所述方法包括:
确定所述存储器系统的操作统计;
在所述存储器系统中接收用户识别的偏好;
基于所述用户识别的偏好和所述操作统计识别用于所述资源的分配的设置;及
通过所述存储器系统使用根据所述设置分配的所述资源处理来自主机系统的请求以将数据存储在所述媒体中或从所述媒体检索数据。
15.根据权利要求14所述的方法,其进一步包括:
分别存储用于多个预定义性能目标的多个设置概况;及
基于所述操作统计分别计算用于所述多个预定义性能目标的多个第一权重;
其中所述用户识别的偏好分别指定用于所述多个预定义性能目标的多个第二权重;且
其中所述多个第一权重和所述多个第二权重应用于所述多个设置概况以确定用于所述资源的所述分配的所述设置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/943,296 US10678439B2 (en) | 2018-04-02 | 2018-04-02 | Optimization of memory systems based on performance goals |
US15/943,296 | 2018-04-02 | ||
PCT/US2019/021683 WO2019194936A1 (en) | 2018-04-02 | 2019-03-11 | Optimization of memory systems based on performance goals |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111936961A true CN111936961A (zh) | 2020-11-13 |
CN111936961B CN111936961B (zh) | 2024-06-21 |
Family
ID=68056204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980023483.8A Active CN111936961B (zh) | 2018-04-02 | 2019-03-11 | 基于性能目标对存储器系统的优化 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10678439B2 (zh) |
CN (1) | CN111936961B (zh) |
WO (1) | WO2019194936A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427340B (zh) * | 2018-04-28 | 2023-08-04 | 伊姆西Ip控股有限责任公司 | 用于文件存储的方法、装置和计算机存储介质 |
US10901658B2 (en) * | 2018-12-28 | 2021-01-26 | Micron Technology, Inc. | Host adaptive memory device optimization |
US11494098B2 (en) * | 2020-06-30 | 2022-11-08 | Western Digital Technologies, Inc. | Variable performance storage devices |
JP7191906B2 (ja) * | 2020-09-09 | 2022-12-19 | 株式会社日立製作所 | リソース割当制御装置、計算機システム、及びリソース割当制御方法 |
US11334260B2 (en) | 2020-10-14 | 2022-05-17 | Micron Technology, Inc. | Adaptive memory system |
US11777822B2 (en) * | 2021-12-06 | 2023-10-03 | Microsoft Technology Licensing, Llc | Performance profile for network stack components |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070198722A1 (en) * | 2005-12-19 | 2007-08-23 | Rajiv Kottomtharayil | Systems and methods for granular resource management in a storage network |
CN101091165A (zh) * | 2005-01-18 | 2007-12-19 | 国际商业机器公司 | 提供虚拟存储子系统内虚拟存储分配的自动性能优化的方法、装置和程序存储设备 |
US20110010518A1 (en) * | 2005-12-19 | 2011-01-13 | Srinivas Kavuri | Systems and Methods for Migrating Components in a Hierarchical Storage Network |
CN102257469A (zh) * | 2008-10-10 | 2011-11-23 | 株式会社日立制作所 | 存储系统及用于控制存储系统的方法 |
US20130185482A1 (en) * | 2012-01-18 | 2013-07-18 | Samsung Electronics Co., Ltd. | Memory system using a storage having firmware with a plurality of features |
US20140181370A1 (en) * | 2012-12-21 | 2014-06-26 | Lsi Corporation | Method to apply fine grain wear leveling and garbage collection |
CN103927127A (zh) * | 2013-01-03 | 2014-07-16 | 三星电子株式会社 | 可重新配置存储装置 |
CN104903872A (zh) * | 2012-08-31 | 2015-09-09 | 才智知识产权控股公司(2) | 用于自适应持久化的系统、方法和接口 |
CN105867851A (zh) * | 2016-03-30 | 2016-08-17 | 联想(北京)有限公司 | 一种存储设备调整方法及装置 |
US9760479B2 (en) * | 2015-12-02 | 2017-09-12 | Pure Storage, Inc. | Writing data in a storage system that includes a first type of storage device and a second type of storage device |
US20180062916A1 (en) * | 2016-08-23 | 2018-03-01 | International Business Machines Corporation | Assigning resources to a workload that utilizes embedded computing entities |
CN110546621A (zh) * | 2017-05-02 | 2019-12-06 | 谷歌有限责任公司 | 用于数据存储的垃圾收集 |
US20200133845A1 (en) * | 2018-10-25 | 2020-04-30 | Samsung Electronics Co., Ltd. | Storage device, method and non-volatile memory device performing garbage collection using estimated number of valid pages |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
US8661184B2 (en) | 2010-01-27 | 2014-02-25 | Fusion-Io, Inc. | Managing non-volatile media |
US9189385B2 (en) | 2010-03-22 | 2015-11-17 | Seagate Technology Llc | Scalable data structures for control and management of non-volatile storage |
US8909785B2 (en) * | 2011-08-08 | 2014-12-09 | International Business Machines Corporation | Smart cloud workload balancer |
US9239786B2 (en) | 2012-01-18 | 2016-01-19 | Samsung Electronics Co., Ltd. | Reconfigurable storage device |
US9311226B2 (en) | 2012-04-20 | 2016-04-12 | Memory Technologies Llc | Managing operational state data of a memory module using host memory in association with state change |
US9658785B2 (en) * | 2015-03-25 | 2017-05-23 | Amazon Technologies, Inc. | Dynamic configuration of data volumes |
US9798474B2 (en) * | 2015-09-25 | 2017-10-24 | International Business Machines Corporation | Software-defined storage system monitoring tool |
-
2018
- 2018-04-02 US US15/943,296 patent/US10678439B2/en active Active
-
2019
- 2019-03-11 CN CN201980023483.8A patent/CN111936961B/zh active Active
- 2019-03-11 WO PCT/US2019/021683 patent/WO2019194936A1/en active Application Filing
-
2020
- 2020-05-13 US US15/931,478 patent/US20200272331A1/en not_active Abandoned
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101091165A (zh) * | 2005-01-18 | 2007-12-19 | 国际商业机器公司 | 提供虚拟存储子系统内虚拟存储分配的自动性能优化的方法、装置和程序存储设备 |
US20110010518A1 (en) * | 2005-12-19 | 2011-01-13 | Srinivas Kavuri | Systems and Methods for Migrating Components in a Hierarchical Storage Network |
US20070198722A1 (en) * | 2005-12-19 | 2007-08-23 | Rajiv Kottomtharayil | Systems and methods for granular resource management in a storage network |
CN102257469A (zh) * | 2008-10-10 | 2011-11-23 | 株式会社日立制作所 | 存储系统及用于控制存储系统的方法 |
US20130185482A1 (en) * | 2012-01-18 | 2013-07-18 | Samsung Electronics Co., Ltd. | Memory system using a storage having firmware with a plurality of features |
CN104903872A (zh) * | 2012-08-31 | 2015-09-09 | 才智知识产权控股公司(2) | 用于自适应持久化的系统、方法和接口 |
US20140181370A1 (en) * | 2012-12-21 | 2014-06-26 | Lsi Corporation | Method to apply fine grain wear leveling and garbage collection |
CN103927127A (zh) * | 2013-01-03 | 2014-07-16 | 三星电子株式会社 | 可重新配置存储装置 |
US9760479B2 (en) * | 2015-12-02 | 2017-09-12 | Pure Storage, Inc. | Writing data in a storage system that includes a first type of storage device and a second type of storage device |
CN108292196A (zh) * | 2015-12-02 | 2018-07-17 | 净睿存储股份有限公司 | 将数据写入包括第一类型的存储设备和第二类型的存储设备的存储系统 |
CN105867851A (zh) * | 2016-03-30 | 2016-08-17 | 联想(北京)有限公司 | 一种存储设备调整方法及装置 |
US20180062916A1 (en) * | 2016-08-23 | 2018-03-01 | International Business Machines Corporation | Assigning resources to a workload that utilizes embedded computing entities |
CN110546621A (zh) * | 2017-05-02 | 2019-12-06 | 谷歌有限责任公司 | 用于数据存储的垃圾收集 |
US20200133845A1 (en) * | 2018-10-25 | 2020-04-30 | Samsung Electronics Co., Ltd. | Storage device, method and non-volatile memory device performing garbage collection using estimated number of valid pages |
Also Published As
Publication number | Publication date |
---|---|
US20200272331A1 (en) | 2020-08-27 |
WO2019194936A1 (en) | 2019-10-10 |
CN111936961B (zh) | 2024-06-21 |
US10678439B2 (en) | 2020-06-09 |
US20190303002A1 (en) | 2019-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111936961B (zh) | 基于性能目标对存储器系统的优化 | |
US11663153B2 (en) | Access optimization in aggregated and virtualized solid state drives | |
US11966329B2 (en) | Address map caching for a memory system | |
CN113692579B (zh) | 数据存储装置中的预测性数据预取 | |
US20220206874A1 (en) | Determination of workload distribution across processors in a memory system | |
US20230393753A1 (en) | Wear leveling in solid state drives | |
US12073115B2 (en) | Resource allocation in memory systems based on operation modes | |
US20200089629A1 (en) | Scheduling of read operations and write operations based on a data bus mode | |
US20240028261A1 (en) | Stack management in memory systems | |
US11243804B2 (en) | Time to live for memory access by processors | |
US11263156B2 (en) | Memory component with a virtualized bus and internal logic to perform a machine learning operation | |
US11681909B2 (en) | Memory component with a bus to transmit data for a machine learning operation and another bus to transmit host data | |
US11769076B2 (en) | Memory sub-system with a virtualized bus and internal logic to perform a machine learning operation | |
US11694076B2 (en) | Memory sub-system with internal logic to perform a machine learning operation | |
US20210110249A1 (en) | Memory component with internal logic to perform a machine learning operation | |
US11676010B2 (en) | Memory sub-system with a bus to transmit data for a machine learning operation and another bus to transmit host data | |
US20240330172A1 (en) | Intelligent Allocation of Read and Write Buffers in Memory Sub-Systems |
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 |