CN117519451A - 数据读写的方法、控制器和存储设备 - Google Patents

数据读写的方法、控制器和存储设备 Download PDF

Info

Publication number
CN117519451A
CN117519451A CN202210900732.0A CN202210900732A CN117519451A CN 117519451 A CN117519451 A CN 117519451A CN 202210900732 A CN202210900732 A CN 202210900732A CN 117519451 A CN117519451 A CN 117519451A
Authority
CN
China
Prior art keywords
data
controller
storage
storage device
writing operation
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.)
Pending
Application number
CN202210900732.0A
Other languages
English (en)
Inventor
张瑜
程智翔
周威
李只贝
李楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210900732.0A priority Critical patent/CN117519451A/zh
Priority to PCT/CN2023/094700 priority patent/WO2024021786A1/zh
Publication of CN117519451A publication Critical patent/CN117519451A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits

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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Read Only Memory (AREA)

Abstract

本申请提供了一种数据存储的方法、控制器和存储设备,能够在保证存储设备的写操作的带宽性能的同时降低存储设备的峰值电流。存储设备包括控制器和Q个存储单元,控制器与Q个存储单元通过N个数据通道连接,N是大于或等于2的正整数,Q是大于或等于N的正整数,该方法包括:控制器根据存储设备的电流阈值、M个存储单元进行数据的写操作的耗电电流、控制器采用单个数据通道向M个存储单元进行写操作的耗电电流,确定控制器向M个存储单元进行数据的写操作在所述同一时间段采用的数据通道的最大数量L,L是小于N的正整数,M是小于或等于Q的正整数;控制器在所述同一时间段采用最多L个数据通道向M个存储单元进行数据的写操作。

Description

数据读写的方法、控制器和存储设备
技术领域
本申请涉及通信领域,并且更具体地,涉及一种数据读写的方法、控制器和存储设备。
背景技术
固态存储设备主要由控制器和若干NAND逻辑单元(logical unit,LUN)组成,每个NAND LUN包括缓存区(buffer)和NAND阵列(array)。控制器一般拥有多个数据通道,每个数据通道可以连接多个NAND LUN以提升存储设备的存储容量,同时可以通过多个NAND LUN的NAND array并发操作来提升存储设备的读写操作的带宽性能。其中,NAND array并发操作是指多个NAND LUN的缓存区在同一时间段向对应的NAND array进行数据的写操作或读操作。
固态存储设备对功耗要求极高。为了保证存储设备的电源完整性,应用平台一般对固态存储设备的电源电路供电电压(volt current condenser,VCC)对应的耗电电流ICC的峰值有所限制,以避免电源线路的压降过大导致的系统故障。存储设备的耗电电流ICC主要来源于两个方面,一方面来源于多个数据通道的数据直接内存访问(data directmemory access,Data DMA)并发操作,另一方面来源于多个NAND LUN的NAND array并发操作,两者叠加之后可能在部分时间段超出存储设备的峰值电流的限制。其中,Data DMA并发操作是指控制器在同一时间段采用多个数据通道向多个NAND LUN进行数据的写操作或读操作,导致存储设备的功耗非常高。
发明内容
本申请提供了一种数据读写的方法、控制器和存储设备,能够在保证存储设备的写操作的带宽性能的同时降低存储设备的峰值电流。
第一方面,提供一种数据存储的方法,应用于存储设备,所述存储设备包括控制器和Q个存储单元,所述控制器与所述Q个存储单元通过N个数据通道连接,N是大于或等于2的正整数,Q是大于或等于N的正整数,所述方法包括:所述控制器根据所述存储设备的电流阈值、所述Q个存储单元中M个存储单元在同一时间段进行数据的写操作的耗电电流、所述控制器采用所述N个数据通道中单个数据通道向所述M个存储单元进行数据的写操作的耗电电流,确定所述控制器向所述M个存储单元进行数据的写操作在所述同一时间段采用的数据通道的最大数量L,L是小于N的正整数,M是小于或等于Q的正整数;所述控制器在所述同一时间段采用最多L个所述数据通道向所述M个存储单元进行数据的写操作。
基于上述技术方案,控制器根据存储设备的电流阈值、M个存储单元在同一时间段进行数据的写操作的耗电电流、控制器采用单个所述数据通道向M个存储单元进行数据的写操作的耗电电流,确定控制器向M个存储单元进行数据的写操作在所述同一时间段采用的数据通道的最大数量L,控制器在所述同一时间段采用最多L个数据通道向M个存储单元进行数据的写操作,可以避免存储设备产生的峰值电流超过该存储设备的电流阈值。除此之外,相比于现有的通过延迟部分存储单元进行数据的写操作或限制在同一时间段内进行数据的写操作的存储单元的数量来降低存储设备的峰值电流的方法,本申请提供的技术方案可以不影响存储设备的写操作的带宽性能。因此,本申请提供的技术方案能够在保证存储设备的写操作的带宽性能的同时降低存储设备的峰值电流。
结合第一方面,在第一方面的某些实现方式中,所述控制器向所述M个存储单元进行数据的写操作的速率小于所述控制器向所述M个存储单元进行数据的读操作的速率。基于上述方案,可以降低存储器在同一时间段内向M个存储单元进行数据的写操作产生的耗电电流。
结合第一方面,在第一方面的某些实现方式中,所述存储单元包括:缓存区和存储阵列;所述控制器向所述缓存区进行数据的写操作的速率大于所述缓存区向所述存储阵列进行数据的写操作的速率。基于上述方案,可以确保存储设备进行数据写操作的周期不被延长、存储设备的写操作的带宽性能不被影响。
结合第一方面,在第一方面的某些实现方式中,所述方法还包括:在所述存储设备的耗电电流小于所述电流阈值的时间段内,所述控制器采用最多L个所述数据通道向P个所述存储单元进行数据的写操作,其中,P是大于M、且小于或等于Q的正整数。在M小于Q的情况下,在存储设备的耗电电流小于电流阈值的时间段内,控制器适当地增加在同一时间段内进行数据的写操作的存储单元的数量,可以提升存储设备的写操作的带宽性能。
第二方面,提供一种控制器,应用于存储设备,所述存储设备包括所述控制器和Q个存储单元,所述控制器与所述Q个存储单元通过N个数据通道连接,N是大于或等于2的正整数,Q是大于或等于N的正整数,所述控制器包括:控制电路,用于根据所述存储设备的电流阈值、所述Q个存储单元中M个存储单元在同一时间段进行数据的写操作的耗电电流、采用所述N个数据通道中单个数据通道向所述M个存储单元进行数据的写操作的耗电电流,确定向所述M个存储单元进行数据的写操作在所述同一时间段采用的数据通道的最大数量L,L是小于N的正整数,M是小于或等于Q的正整数;所述控制电路还用于,在所述同一时间段采用最多L个所述数据通道向所述M个存储单元进行数据的写操作。
结合第二方面,在第二方面的某些实现方式中,所述控制电路向所述M个存储单元进行数据的写操作的速率小于所述控制电路向所述M个存储单元进行数据的读操作的速率。
结合第二方面,在第二方面的某些实现方式中,所述存储单元包括:缓存区和存储阵列;所述控制电路向所述缓存区进行数据的写操作的速率大于所述缓存区向所述存储阵列进行数据的写操作的速率。
结合第二方面,在第二方面的某些实现方式中,所述控制电路还用于,在所述存储设备的耗电电流小于所述电流阈值的时间段内,所述控制电路采用最多L个所述数据通道向P个所述存储单元进行数据的写操作,其中,P是大于M、且小于或等于Q的正整数。
第三方面,提供一种存储设备,包括:控制器和Q个存储单元,所述控制器与所述Q个存储单元通过N个数据通道连接,N是大于或等于2的正整数,Q是大于或等于N的正整数;所述控制器用于,根据所述存储设备的电流阈值、所述Q个存储单元中M个存储单元在同一时间段进行数据的写操作的耗电电流、采用所述N个数据通道中单个数据通道向所述M个存储单元进行数据的写操作的耗电电流,确定向所述M个存储单元进行数据的写操作在所述同一时间段采用的数据通道的最大数量L,L是小于N的正整数,M是小于或等于Q的正整数;所述控制器还用于,在所述同一时间段采用最多L个所述数据通道向所述M个存储单元进行数据的写操作。
结合第三方面,在第三方面的某些实现方式中,所述控制器向所述M个存储单元进行数据的写操作的速率小于所述控制器向所述M个存储单元进行数据的读操作的速率。
结合第三方面,在第三方面的某些实现方式中,所述存储单元包括:缓存区和存储阵列;所述控制器向所述缓存区进行数据的写操作的速率大于所述缓存区向所述存储阵列进行数据的写操作的速率。
结合第三方面,在第三方面的某些实现方式中,所述控制器还用于,在所述存储设备的耗电电流小于所述电流阈值的时间段内,采用最多L个所述数据通道向P个所述存储单元进行数据的写操作,P是大于M、且小于或等于Q的正整数。
第四方面,提供一种计算机设备,包括:电路板和外壳以及如第三方面所述存储设备,所述存储设备与所述电路板连接,所述电路板置于所述外壳内。
第五方面,提供一种控制器,包括:处理器和收发器,所述收发器用于接收计算机代码或指令,并传输至所述处理器,所述处理器运行所述计算机代码或指令,使得如第一方面或第一方面任意可能的实现方式中的方法被实现。
第六方面,提供了一种计算机可读存储介质,所述计算机可读介质存储有计算机程序;所述计算机程序在计算机上运行时,使得计算机执行上述第一方面以及第一方面中任一种可能实现方式中的方法。
第七方面,提供一种计算机程序产品,包括计算机程序,当所述计算机程序被计算机执行时使得上述第一方面以及第一方面中任一种可能实现方式中的方法被实现。
上述第二方面至第七方面提供的方案,用于实现或配合实现上述第一方面提供的方法,因此能够与第一方面达到相同或相应的有益效果,此处不再进行赘述。
附图说明
图1是存储设备的结构示意图。
图2是控制器连接的一个NAND LUN的结构示意图。
图3是NAND PPM方案中不同NAND LUN连接示意图。
图4是NAND Array并发操作延时管理的示意图。
图5是本申请实施例的一种数据读写的方法的示意性流程图。
图6是本申请实施例的动态调整控制器向M个存储单元进行数据的写操作在同一段时间段采用的数据通道的数量的示意性框图。
图7是本申请实施例的一种确定控制器向M个存储单元进行数据的写操作在同一时间段采用的数据通道的数量的方法的示意性流程图。
图8是本申请实施例的本申请实施例的减小写方向上控制器的接口和存储单元的接口的接口速率的示意图。
图9是本申请实施例的存储设备的耗电电流的波形示意图。
图10是本申请实施例的一种控制器的示意性框图。
图11是本申请实施例的一种存储设备的示意性框图。
图12是本申请实施例的一种控制器的示意性框图。
图13是本申请实施例的一种存储设备的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例可以应用于各种固态存储设备。例如:固态硬盘(solid statedisk,SSD)、通用闪存存储(universal flash storage,UFS)、安全数位卡(secure digitalcard,SD Card)、嵌入式多媒体卡(embedded multi media card,eMMC)、以及自定义型态等各类存储设备。以嵌入式多媒体卡为例,其包括数码相机记忆卡、MP3随身听记忆卡以及体积小巧的U盘等。
固态存储设备主要由控制器和若干NAND LUN组成,每个NAND LUN包括缓存区和NAND array。在本申请中,固态存储设备可以简称为存储设备或NAND,NAND LUN可以简称为LUN。如图1所示,出示了存储设备的结构示意图。如图2所示,出示了控制器连接的一个NANDLUN的结构示意图。通常情况下,控制器一般拥有多个数据通道,每个数据通道可以连接多个NAND LUN以提升存储设备的存储容量,同时可以通过多个NAND LUN的NAND array并发操作来提升存储设备的读写带宽性能。其中,NAND LUN也可以称为NAND芯片(die),数据通道也可以称为NAND总线。其中,NAND array并发操作是指多个NAND LUN的buffer在同一时间段向对应的NAND array进行数据的写操作或读操作。在本申请中,同一时间段,可以理解为,同一时刻或同时。
存储设备对功耗要求极高。为了保证存储设备的电源完整性,应用平台一般对存储设备的电源电路供电电压VCC对应的耗电电流ICC的峰值有所限制,以避免电源线路的压降过大导致的系统故障。存储设备的耗电电流ICC主要来源于两个方面,一方面来源于多个数据通道的Data DMA并发操作,另一方面来源于多个NAND LUN的NAND array并发操作,两者叠加之后可能在部分时间段超出存储设备的峰值功耗/峰值电流的限制。其中,Data DMA并发操作是指控制器在同一时间段采用多个数据通道向多个NAND LUN进行数据的写操作或读操作。
目前,为了满足在存储设备的读写操作过程中,存储设备在任一时刻下电源供电稳定,可以采用限制在同一时间段将暂存在缓存区的数据写入NAND array的NAND LUN的数量或推迟部分NAND LUN的buffer向对应的存储阵列进行数据的写操作的时间的方法,以直接限制峰值电流的来源,但会导致存储设备的写操作的周期延长、存储设备的写操作的带宽性能恶化。
具体地,业界的系统厂商通常有两种方法来控制存储设备的峰值功耗/峰值电流,一种方法是直接使用原厂NAND介质的峰值功耗管理(peak power management,PPM)功能特性来延迟部分NAND LUN的NAND array并发操作,另一种方法是基于系统层面的固件(firmware,FW)开发,直接限制执行NAND array并发操作的NAND LUN的数量,从而使得存储设备满足峰值功耗/峰值电流的要求。应理解,峰值电流越小、峰值功耗越小;峰值电流越大、峰值功耗越大。
(1)NAND PPM方案
如图3所示,出示了NAND PPM方案中不同NAND LUN连接示意图。利用厂商所设计的NAND内部控制逻辑,Q个NAND LUN之间建立连接与通信,来管理NAND LUN的NAND Array并发操作。通过延时部分NAND LUN的NAND Array并发操,来实现不同NAND LUN的NAND Array操作产生的峰值电流错开,从而降低存储设备的峰值功耗/峰值电流。其中,Q为大于2的正整数。
如图4所示,出示了NAND Array并发操作延时管理的示意图,其中横坐标表示时间,纵坐标表示电流的大小。延迟NAND LUN-Q 1的NAND array并发操作,使NAND LUN-Q的NAND array并发操作产生的峰值电流与NAND LUN-Q 1的NAND array并发操作产生的峰值电流错开,从而降低存储设备的峰值功耗。
(2)通过控制器配合FW软件,直接限制每一时刻下执行NAND array并发操作的NAND LUN数量,从而实现存储设备的峰值功耗的降低。
对于NAND PPM方案,在各种场景及配置参数下,由于直接延迟了部分NAND LUN的NAND Array并发操作,因此会在一定程度上造成读写操作的延迟,影响NAND的读写操作的带宽性能,需根据具体应用情况来平衡峰值电流和读写操作的带宽性能。对于通过FW软件直接限制执行NAND array并发操作的NAND LUN的数量的方案,也会影响读写操作的带宽性能。
当前NAND的读写过程中,通过NAND LUN交错操作将其他NAND LUN的其他字线(word line,WL)/页(page)的Data DMA操作预埋到当前NAND LUN的NAND array操作的潜伏期(latency)之中。例如,一个数据通道连接多个NAND LUN,多个NAND LUN包括第一NANDLUN和第二NAND LUN,控制器采用该数据通道向第一个NAND LUN进行数据的写操作之后,数据暂存在第一个NAND LUN的缓存区中,第一个NAND LUN的缓存区再向该第一个NAND LUN的NAND array进行数据的写操作;在第一个NAND LUN的缓存区向该第一个NAND LUN的NANDarray进行数据的写操作的过程中,控制器采用该数据通道向第二个NAND LUN进行数据的写操作,可以理解为,第二个NAND LUN的Data DMA操作与第一个NAND LUN的NAND array操作同时进行,从而可以有效缩短写周期、提升顺序写带宽。
当前NAND的读写操作过程中,还可以通过缓存(Cache)读写操作将NAND LUN的其他WL/page的Data DMA操作预埋到该NAND LUN的NAND array操作的潜伏期之中。其中,Cache读写操作包括缓存读(Cache read)操作和缓存写(Cache program)操作。例如,一个数据通道连接一个NAND LUN,控制器采用该数据通道向NAND LUN进行第一个数据的写操作之后,第一个数据暂存在该NAND LUN的缓存区中,该NAND LUN的缓存区再向该NAND LUN的NAND array进行第一个数据的写操作;在该NAND LUN的缓存区向该NAND LUN的NAND array进行第一个数据的写操作的过程中,控制器采用该数据通道向该NAND LUN进行第二个数据的写操作,可以理解为,NAND LUN的Data DMA操作与NAND LUN的NAND array操作同时进行,从而可以有效缩短写周期、提升顺序写带宽。
一般来讲,在当前存储设备中,缓存区向NAND array进行数据的读操作的潜伏期远小于缓存区向NAND array进行数据的写操作的潜伏期,可以理解为,NAND LUN的缓存区向该NAND LUN的NAND array进行数据的读操作需要的时间远小于NAND LUN的缓存区向该NAND LUN的NAND array进行数据的写操作需要的时间。并且,在一定的控制器和NAND LUN的接口参数配置下,写数据过程中NAND array操作需要的时间比Data DMA操作需要的时间长,换言之,NAND LUN的缓存区向该NAND LUN的NAND array进行数据的写操作需要的时间大于控制器向该NAND LUN进行数据的写操作需要的时间。因此,执行写操作过程中数据通道的带宽性能严重过剩,也就是说,执行写操作过程中有时数据通道处于空闲状态,在不影响存储设备的写操作的带宽性能的基础上,仍有一定的空间可通过灵活管理Data DMA并发操作,来降低存储设备的峰值电流/峰值功耗。
为此,本申请实施例提出了一种数据读写的方法,能够在保证存储设备的写操作的带宽性能的同时降低存储设备的峰值电流。本申请实施例中的耗电电流是指电源VCC对应的耗电电流。本申请实施例中的存储设备可以为NAND,存储单元可以为NAND LUN,缓存区可以为NAND LUN中的缓存区、存储阵列可以为NAND LUN中的NAND array,存储单元的接口可以为NAND闪存接口(NAND flash interface,NFI),控制器的接口为控制器的直接内存访问接口。
如图5所示,出示了本申请实施例提出的一种数据读写的方法的示意性流程图。该方法应用于存储设备,该存储设备包括控制器和Q个存储单元,控制器与多Q个存储单元通过N个数据通道连接,其中,控制器通过每个数据通道可以与一个或多个存储单元连接,每个数据通道连接的存储单元的数量可以是相同的、也可以是不同的。N是大于或等于2的正整数,Q是大于或等于N的正整数。
510,控制器根据存储设备的电流阈值、Q个存储单元中M个存储单元在同一时间段进行数据的写操作的耗电电流、控制器采用N个数据通道中单个数据通道向M个存储单元进行数据的写操作的耗电电流,确定该控制器向M个存储单元进行数据的写操作在所述同一时间段采用的数据通道的最大数量L,L是小于N的正整数,M是小于或等于Q的正整数。应理解,虽然控制器与Q个存储单元通过N个数据通道连接,但是控制器根据传输需求向Q个存储单元中的M个存储单元进行数据的读写操作。
其中,存储单元进行数据的写操作,可以理解为,存储单元的缓存区向该存储单元的存储阵列进行数据的写操作;并且,存储单元的缓存器向存储单元的存储阵列进行数据的写操作是存储单元的控制电路控制执行的。控制器向存储单元进行数据的写操作,可以理解为,控制器向存储单元的缓存区进行数据的写操作。同一时间段,可以理解为,同一时刻或同时。
为了保证存储设备的正常工作,对存储设备的耗电电流有所限制,存储设备进行数据的写操作和读操作过程中产生的峰值电流不能超过该存储设备的电流阈值。其中,存储设备的电流阈值是指该存储设备能够承受的最大的电源VCC对应的耗电电流。存储设备的电流阈值一般是由存储设备的电源设计能力决定。由于控制器在同一时间段采用N个数据通道向M个存储单元进行数据的写操作会产生较大的耗电电流,且在同一时间段控制器采用的数据通道越多、存储设备产生的耗电电流越大。因此,控制器可以调整向M个存储单元进行数据的写操作在同一时间段采用的数据通道的数量,以避免存储设备产生的峰值电流超过该存储设备的电流阈值。
M个存储单元在同一时间段进行数据的写操作的耗电电流和控制器采用单个数据通道向M个存储单元进行数据的写操作的耗电电流是通过电流检测获得的。
可选的,控制器中包括电流检测模块、电流计算模块、存储模块和每个存储单元对应的计时器。电流检测模块用于检测存储单元的缓存区向该存储单元的存储阵列进行数据的写操作过程中产生的耗电电流;电流计算模块用于计算控制器向M个存储单元进行数据的写操作在同一段时间段采用的数据通道的数量;存储模块用于不同存储存储单元的耗电电流时间表和控制器向M个存储单元进行数据的写操作在同一段时间段采用的数据通道的数量。可选的,存储模块可以存储在多个时刻控制器向M个存储单元进行数据的写操作采用的数据通道的数量。控制器可以根据实际应用场景调整管理Data DMA并发写操作的粒度,其中,限制Data DMA并发写操作的粒度,可以理解为,每隔多长时间调整控制器向M个存储单元进行数据的写操作在同一段时间段采用的数据通道的数量。粒度包括码字长度(codeword),页大小(page-size)及多平面并发页大小(multi-plane page)。如图6所示,出示了动态调整控制器向M个存储单元进行数据的写操作在同一段时间段采用的数据通道的数量的示意性框图。
可选的,控制器在当前时刻,根据存储设备的电流阈值,M个存储单元进行数据的写操作的耗电电流、控制器采用单个数据通道向M个存储单元进行数据的写操作的耗电电流,确定控制器向M个存储单元进行数据的写操作在未来一段时间内采用的数据通道的数量L。
示例性地,控制器在当前时刻,可以根据存储设备的电流阈值、M个存储单元进行数据的写操作过程中每个存储单元的耗电电流时间表、控制器采用单个数据通道向M个存储单元进行数据的写操作的耗电电流,确定控制器向M个存储单元进行数据的写操作在未来一段时间内采用的数据通道的最大数量L。其中,存储单元的耗电电流时间表用于指示在存储单元的缓存区向该存储单元的存储阵列进行数据的写操作过程中在不同时刻的耗电电流。每个存储单元的耗电电流时间表可以认为是相同的,也就是说,在相同时刻不同存储单元的耗电电流相同。
存储单元的耗电电流时间表是存储单元的缓存区向存储阵列进行数据的写操作过程中,根据测试获得的存储单元的电流曲线得到的数字化的耗电电流时间表。为了防止由于使用寿命导致的耗电电流时间表的误差,控制器可以定时或不定时地更新每个存储单元的耗电电流时间表,来获得存储设备的整个生命周期内每个存储单元的耗电电流时间表。测试得到的存储单元的耗电电流时间表一般是存储在存储单元里面的,当控制器需要使用的时候会从存储单元读取并放入控制器的运行内存中使用。应理解,在存储单元的接口和/或控制器的直接内存访问接口的接口速率不变的情况下,采用每个数据通道传输数据向M个存储单元进行数据的写操作过程中产生的耗电电流在不同时刻认为是相同的。
示例性地,控制器根据存储单元的耗电电流时间表,可以获取在未来一段时间内的不同时刻每个存储单元的缓存区向该存储单元的存储阵列进行数据的写操作产生的耗电电流Im,t,其中,m表示不同的存储单元,t表示不同时刻;控制器通过对在第t时刻M个存储单元的Im,t进行加和计算,获得M个存储单元在第t时刻进行数据的写操作产生的耗电电流总和ISUM,t;控制器根据如下公式(1),确定在第t时刻控制器向M个存储单元进行数据的写操作采用的数据通道的最大数量L:
其中,Ilimit为存储设备的电流阈值,IDMA为控制器采用单个数据通道向M个存储单元进行数据的写操作的耗电电流,表示下取整函数。
其中,第m个存储单元的缓存区在第t时刻将数据写入存储阵列产生的耗电电流Im,t可以是在包含第t时刻的子时间段内第m个存储单元的缓存区将数据写入存储阵列过程中产生的耗电电流的均值,该子时间段属于基于当前时刻的未来一段时间内的时间。
示例性地,控制器根据存储单元的耗电电流时间表,获取在未来一段时间内的第t0、t1、t2、…、tT时刻M个存储单元中每个存储单元分别进行数据的写操作产生的耗电电流控制器通过对M个存储单元对应的/>加和计算,获取M个存储单元在第t0时刻进行数据的写操作产生的耗电电流总和/>控制器通过相同的加和计算方法获得取M个存储单元在第t1时刻进行数据的写操作产生的耗电电流总和M个存储单元在第t2时刻进行数据的写操作产生的耗电电流总和/>以及M个存储单元在第tT时刻进行数据的写操作产生的耗电电流总和/>控制器根据上述公式(1),确定分别在第t0、t1、t2、…、tT时刻控制器向M个存储单元进行数据的写操作采用的数据通道的最大数量Lt0、Lt1、Lt2、…、LtT
具体地,可以将未来一段时间分为T+1个子时间段。第t0时刻每个存储单元进行数据的写操作产生的耗电电流等于第一个子时间段内M个存储单元进行数据的写操作产生的耗电电流的均值;第t1时刻每个存储单元进行数据的写操作产生的耗电电流/>等于第二个子时间段内M个存储单元进行数据的写操作产生的耗电电流的均值;第t2时刻每个存储单元进行数据的写操作产生的耗电电流/>等于第三个子时间段内M个存储单元进行数据的写操作产生的耗电电流的均值;第tT时刻每个存储单元进行数据的写操作产生的耗电电流/>等于第T+1个子时间段内M个存储单元进行数据的写操作产生的耗电电流的均值。例如,上述未来一段时间的长度为10ms,可以将该未来一段时间均分为10个子时间段,0~1ms为第一个子时间段、1~2ms为第二个子时间段、2~3ms为第三个子时间段、3~4ms为第四个子时间段、4~5ms为第五个子时间段、5~6ms为第六个子时间段、6~7ms为第七个子时间段、7~8ms为第八个子时间段、8~9ms为第九个子时间段、9~10ms为第十个子时间段。
可选的,当Ilimit-ISUM,t大于或等于第一阈值时,控制器确定控制器向M个存储单元进行数据的写操作在同一时间段采用的数据通道的数量最多为第一数量;当Ilimit-ISUM,t小于第一阈值时,控制器确定用于控制器向M个存储单元进行数据的写操作在同一时间段采用的数据通道的数量最多为第二数量,其中,第一数量大于或等于第二数量。可以理解为,当Ilimit-ISUM,t越大时,控制器向M个存储单元进行数据的写操作在同一时间段可以采用的数据通道的数量越多;当Ilimit-ISUM,t越小时,控制器向M个存储单元进行数据的写操作在同一时间段可以采用的数据通道的数量越少。
520,控制器在所述同一时间段采用最多L个数据通道向M个存储单元进行数据的写操作;可以理解为,控制器在所述同一时间段采用最多L个数据通道向M个存储单元的缓存区进行数据的写操作。对应地,存储单元的缓存区向该存储单元存储阵列进行数据的写操作。
在本申请实施例提供的技术方案中,控制器根据存储设备的电流阈值、M个存储单元在同一时间段进行数据的写操作的耗电电流、控制器采用单个所述数据通道向M个存储单元进行数据的写操作的耗电电流,确定控制器向M个存储单元进行数据的写操作在所述同一时间段采用的数据通道的最大数量L,控制器在所述同一时间段采用最多L个数据通道向M个存储单元进行数据的写操作,可以避免存储设备产生的峰值电流超过该存储设备的电流阈值。除此之外,相比于现有的通过延迟部分存储单元进行数据的写操作或限制在同一时间段内进行数据的写操作的存储单元的数量来降低存储设备的峰值电流的方法,本申请提供的技术方案可以不影响存储设备的写操作的带宽性能。因此,本申请提供的技术方案能够在保证存储设备的写操作的带宽性能的同时降低存储设备的峰值电流。
如图7所示,出示了一种确定控制器向M个存储单元进行数据的写操作在同一时间段采用的数据通道的数量的方法的示意性流程图。
710,控制器向M个存储单元下发写操作确认指令,触发存储单元开始进行数据的写操作。应理解,控制器向存储单元完成数据的写操作之后,数据暂存在存储单元的缓存区中,当控制器向存储单元下发写操作确认指令之后,存储单元的缓存区才会开始向存储单元的存储阵列进行数据的写操作。
控制器下发写操作确认指令之后,开始计算在未来一段时间内控制器同时向M个存储单元进行数据的写操作采用的数据通道的最大数量L。
720,控制器查询每个存储单元对应的计时器的计时时间。对于每一个存储单元,控制器为其各分配一个计时器,每当控制器通过编程确认指令指示存储单元执行数据的写操作时,该存储单元对应的计时器开始相应的计时。
730,控制器根据每个存储单元对应的计时器的计时时间和每个存储单元的耗电电流时间表,获取在未来一段时间内的第t时刻每个存储单元进行数据的写操作产生的耗电电流Im,t。应理解,存储单元对应的计时器的计时时间的起始时刻为该存储单元的耗电电流时间表的起始时刻。第m个存储单元在第t时刻进行数据的写操作产生的耗电电流Im,t可以是在包含第t时刻的子时间段内该第m个存储单元进行数据的写操作产生的耗电电流的均值,该子时间段属于基于当前时刻的未来一段时间内的时间。
740,控制器对每个存储单元在第t时刻进行数据的写操作产生的耗电电流Ii,t进行加和计算,获得M个存储单元在第t时刻进行数据的写操作产生的耗电电流总和ISUM,t
750,控制器根据存储设备的电流阈值Ilimit、控制器采用单个数据通道向M个存储单元进行数据的写操作产生的耗电电流IDMA、M个存储单元在第t时刻进行数据的写操作产生的耗电电流总和ISUM,t以及上述公式(1),计算在第t时刻控制器向M个存储单元进行数据的写操作采用的数据通道的最大数量L。
760,控制器在第t时刻采用最多L个数据通道向M个存储单元进行数据的写操作。
为了降低存储设备的耗电电流,在一种实现方式中,控制器可以适当地减少在同一时间段采用的数据通道的数量。例如,控制器可以在同一时间段采用L0个数据通道向M个存储单元进行数据的写操作,其中,L0小于L。若控制器减少在同一时间段采用的数据通道的数量,则可以降低存储设备的峰值电流/峰值功耗。
可选的,控制器向存储单元的缓存区进行数据的写操作的速率大于缓存区向存储阵列进行数据的写操作的速率,可以确保存储设备的写操作的带宽性能。示例性地,控制器采用L0个数据通道在同一时间段向M个存储单元的缓存区进行数据的写操作的速率大于M个存储单元的缓存区在同一时间段向M个存储单元的存储阵列进行数据的写操作的速率。可以理解为,针对一定数据块大小的数据,控制器采用L0个数据通道向M个存储单元进行该数据的写操作的需要的时间小于M个存储单元的缓存区向存储阵列进行该数据的写操作需要的时间。
具体地,L0满足如下公式(2):
N*S/L0*(U*D/F/E)≤Tprog (2)
其中,N为存储设备的数据通道的总数量,S为一个数据通道连接的存储单元的数量,U为一个存储单元包括的存储平面的数量,D为一个存储平面(plane)一次写入的字线包括的数据量,F为存储单元的接口速率,E为存储单元的接口效率,Tprog为M个存储单元向存储阵列写数据所用的时间,S和U为正整数。
在确保控制器向M个存储单元进行数据的写操作的速率大于M个存储单元的缓存区向存储阵列进行数据的写操作的速率的前提下,适当地减少在同一时间段采用的数据通道的数量。使N*S/L0*(U*D/F/E)≤Tprog,可以确保存储设备进行数据写操作的周期不被延长、存储设备的写操作的带宽性能不被影响;适当地减少在同一时间段控制器向M个存储单元进行数据的写操作的数据通道的数量,可以降低存储设备的峰值电流/峰值功耗。因此,可以在确保存储设备的写操作的带宽性能的前提下降低存储设备的峰值电流。
应理解,当N*S/L0*(U*D/F/E)>Tprog时,虽然可以降低存储设备产生的峰值电流,但是会在一定程度上影响存储设备的写操作的带宽性能。
在另一种实现方式中,由于控制器向存储单元进行数据的写操作的速率越高,存储设备产生的耗电电流越大,控制器向存储单元进行数据的写操作的速率越低,存储设备产生的耗电电流越小。因此控制器可以通过降低控制器向存储单元进行数据的写操作的速率,来降低存储设备产生的峰值电流。在传统的存储设备架构下,控制器向存储单元进行数据的写操作的速率与控制器向存储单元进行数据的读操作的速率是相同的,因此,若降低控制器向存储单元进行数据的写操作的速率,则控制器向存储单元进行数据的写操作的速率小于控制器向存储单元进行数据的读操作的速率。
示例性地,控制器向M个存储单元进行数据的写操作的速率小于控制器向M个存储单元进行数据的读操作的速率。可以理解为,控制器向M个存储单元的缓存区进行数据的写操作的速率小于控制器向M个存储单元的缓存区进行数据的读操作的速率。
控制器的接口和存储单元的接口的接口速率越高,控制器向存储单元进行数据的写操作的速率也越高,存储设备产生的耗电电流越大;控制器的接口和存储单元的接口的接口速率越低,控制器向存储单元进行数据的写操作的速率也越低,存储设备产生的耗电电流越小。当前存储设备中,控制器向存储单元的缓存区进行数据的写操作需要的时间比存储单元的缓存区向该存储单元的存储阵列进行数据的写操作需要的时间短,因此,在不会影响存储设备的写操作的带宽性能的前提下,适当地减小写方向上控制器的接口和存储单元的接口的接口速率,可以延长控制器向存储单元的缓存区进行数据的写操作所需要的时间,降低控制器向存储单元的缓存区进行数据的写操作的速率,从而降低存储设备产生的峰值电流。如图8所示,出示了本申请实施例的减小写方向上控制器的接口和存储单元的接口的接口速率的示意图。
应理解,在传统的存储设备架构下,读方向上控制器的接口的接口速率与写方向上控制器的接口的接口速率相同,也就是说,读方向上存储单元的接口的接口速率与写方向上存储单元的接口的接口速率相同,本申请实施例中可以在不会影响存储设备的写操作的带宽性能的前提下,适当地减小写方向上控制器的接口和存储单元的接口的接口速率,来降低存储设备的峰值电流。
具体而言,在控制器采用最多L个数据通道在同一时间段向M个存储单元的缓存区进行数据的写操作的速率大于M个存储单元的缓存区在同一时间段向存储阵列进行数据的写操作的速率的情况下,控制器适当地降低向M个存储单元进行数据的写操作的速率,不会影响存储设备的写操作的带宽性能、且能够降低存储设备产生的峰值电流。
可选的,在存储设备的耗电电流小于电流阈值的时间段内,控制器可以采用最多L个数据通道向P个存储单元进行数据的写操作,其中,P是大于M、且小于或等于Q的正整数。在存储设备的耗电电流小于电流阈值的时间段内,在保证存储设备的耗电电流不超过电流阈值的情况下,控制器适当地增加进行数据的写操作的存储单元的数量,能够提升存储设备的写操作的带宽性能。其中,存储设备的耗电电流是通过电流检测获得的,存储设备的耗电电流来源于两方面,一方面来源于M个存储单元在同一时间段进行数据的写操作产生的耗电电流,另一方面来源于控制器采用最多L个数据通道在所述同一时间段向M个存储单元进行数据的写操作产生的耗电电流。
由于控制器在同一时间段采用最多L个数据通道向M个存储单元进行数据的写操作会产生耗电电流,M个存储单元在同一时间段进行数据的写操作也会产生耗电电流。控制器在同一时间段采用的数据通道越多、存储设备产生的耗电电流越大;在同一时间段进行数据的写操作的存储单元越多、存储设备产生的耗电电流也越大。因此,控制器可以根据存储设备的电流阈值、每个存储单元的耗电电流时间表和控制器采用单个数据通道向M个存储单元进行数据的写操作的耗电电流,确定控制器向存储单元进行数据的写操作在同一时间段内采用的数据通道的数量和在同一时间段内进行数据的写操作的存储单元的数量,可以避免存储设备产生的峰值电流超过该存储设备的电流阈值。
示例性地,当控制器确定在未来一段时间或未来时刻存储设备产生的峰值电流大于或等于该存储设备的电流阈值时,该控制器可以减少在未来一段时间或未来时刻进行数据的写操作采用的数据通道的数量。示例性地,当控制器确定在未来一段时间或未来某时刻存储设备产生的峰值电流大于或等于该存储设备的电流阈值时,该控制器可以减少在未来一段时间或未来时刻进行数据的写操作采用的数据通道的数量、减少在未来一段时间或未来时刻进行数据的写操作的存储单元数量。
如图9所示,出示了本申请实施例的存储设备的耗电电流的波形示意图。当控制器在同一时间段内采用所有的数据通道/最大数量的数据通道向6个存储单元进行数据的写操作时,存储设备产生的耗电电流在某些时间段可能会超过该存储设备的电流阈值。因此,控制器需要降低在同一时间段内向6个存储单元进行数据的写操作采用的数据通道的数量,以降低存储设备产生的峰值电流。
控制器在同一时间段内向存储单元进行数据的写操作采用的数据通道的数量可以是动态调节的或动态降低的。若动态调节/动态降低控制器在同一时间段内向6个存储单元进行数据的写操作的数据通道的数量,存储设备产生的电流不会超过该存储设备的电流阈值,但是存储设备产生的耗电电流的波形的波谷处与电流阈值之间有较大的电流余量。此时,可以适当地增加同一时间段内进行数据的写操作的存储单元的数量,保证在存储设备产生的耗电电流不超过电流阈值的情况下提升存储设备的写操作的带宽性能。
如图9中所示,若控制器动态调节/动态降低控制器在同一时间段内向8个存储单元进行数据的写操作的数据通道的数量,存储设备产生的电流不会超过该存储设备的电流阈值、且存储设备产生的耗电电流的波形的波谷处与电流阈值之间的电流余量较小,可以提升存储设备的写操作的带宽性能。
以上介绍了本申请实施例提供的数据读写的方法,以下将介绍用于执行上述数据读写的方法的执行主体。
本申请实施例提出了一种控制器,如图10所示,出示了本申请实施例的一种控制器1000的示意性框图。该控制器可以应用于存储设备中。存储设备包括所述控制器1000和Q个存储单元,所述控制器1000与所述Q个存储单元通过N个数据通道连接,N是大于或等于2的正整数,Q是大于或等于N的正整数,所述控制器1000包括:
控制电路1010,用于根据所述存储设备的电流阈值、所述Q个存储单元中M个存储单元在同一时间段进行数据的写操作的耗电电流、采用所述N个数据通道中单个数据通道向所述M个存储单元进行数据的写操作的耗电电流,确定向所述M个存储单元进行数据的写操作在所述同一时间段采用的数据通道的最大数量L,L是小于N的正整数,M是小于或等于Q的正整数;
所述控制电路1010还用于,在所述同一时间段采用最多L个所述数据通道向所述M个存储单元进行数据的写操作。
可选的,所述控制电路向所述M个存储单元进行数据的写操作的速率小于所述控制电路向所述M个存储单元进行数据的读操作的速率。
可选的,所述存储单元包括:缓存区和存储阵列;所述控制电路1010向所述缓存区进行数据的写操作的速率大于所述缓存区向所述存储阵列进行数据的写操作的速率。
可选的,所述控制电路1010还用于,在所述存储设备的耗电电流小于所述电流阈值的时间段内,所述控制电路采用最多L个所述数据通道向P个所述存储单元进行数据的写操作,其中,P是大于M、且小于或等于Q的正整数。
本申请实施例提出了一种存储设备,如图11所示,出示了本申请实施例的一种存储设备1100的示意性框图。所述存储设备1100包括:控制器1110和Q个存储单元1120,所述控制器1110与所述Q个存储单元1120通过N个数据通道连接,N是大于或等于2的正整数,Q是大于或等于N的正整数;
所述控制器1110用于,根据所述存储设备的电流阈值、所述Q个存储单元中M个存储单元在同一时间段进行数据的写操作的耗电电流、采用所述N个数据通道中单个数据通道向所述M个存储单元进行数据的写操作的耗电电流,确定向所述M个存储单元进行数据的写操作在所述同一时间段采用的数据通道的最大数量L,L是小于N的正整数,M是小于Q的正整数;
所述控制器1110还用于,在所述同一时间段采用最多L个所述数据通道向所述M个存储单元进行数据的写操作。
可选的,所述控制器向所述M个存储单元进行数据的写操作的速率小于所述控制器向所述M个存储单元进行数据的读操作的速率。
可选的,所述存储单元包括:缓存区和存储阵列;所述控制器向所述缓存区进行数据的写操作的速率大于所述缓存区向所述存储阵列进行数据的写操作的速率。
可选的,所述控制器1110还用于,在所述存储设备的耗电电流小于所述电流阈值的时间段内,采用最多L个所述数据通道向P个所述存储单元进行数据的写操作,P是大于M、且小于或等于Q的正整数。
本申请实施例提供了一种控制器1200,如图12所示,出示了本申请实施例的一种存储设备1200的示意性框图。
该设备1200包括:处理器1210和收发器1220,所述收发器1220用于接收计算机代码或指令,并传输至所述处理器1210,所述处理器1210运行所述计算机代码或指令,如本申请实施例中任意可能的实现方式中的方法。
本申请实施例提供了一种存储设备1300,如图13所示,出示了本申请实施例的一种存储设备1300的示意性框图。
该设备1300包括:处理器1310和收发器1320,所述收发器1320用于接收计算机代码或指令,并传输至所述处理器1310,所述处理器1310运行所述计算机代码或指令,如本申请实施例中任意可能的实现方式中的方法。
上述的处理器1210和处理器1310可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本申请实施例还提供了一种计算机设备包括:电路板和外壳以及本申请实施例的所述存储设备,所述存储设备与所述电路板连接,所述电路板置于所述外壳内。
本申请实施例还提供了一种计算机可读存储介质,其上存储有用于实现上述方法实施例中的方法的计算机程序。当该计算机程序在计算机或处理器上运行时,使得该计算机或处理器可以实现上述方法实施例中的方法。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得上述方法实施例中的方法被执行。
本申请实施例还提供了一种控制器芯片,包括处理器,所述处理器与存储器相连,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,以使得所述芯片执行上述方法实施例中的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (15)

1.一种数据读写的方法,其特征在于,应用于存储设备,所述存储设备包括控制器和Q个存储单元,所述控制器与所述Q个存储单元通过N个数据通道连接,N是大于或等于2的正整数,Q是大于或等于N的正整数,所述方法包括:
所述控制器根据所述存储设备的电流阈值、所述Q个存储单元中M个存储单元在同一时间段进行数据的写操作的耗电电流、所述控制器采用所述N个数据通道中单个数据通道向所述M个存储单元进行数据的写操作的耗电电流,确定所述控制器向所述M个存储单元进行数据的写操作在所述同一时间段采用的数据通道的最大数量L,L是小于N的正整数,M是小于或等于Q的正整数;
所述控制器在所述同一时间段采用最多L个所述数据通道向所述M个存储单元进行数据的写操作。
2.根据权利要求1所述的方法,其特征在于,
所述控制器向所述M个存储单元进行数据的写操作的速率小于所述控制器向所述M个存储单元进行数据的读操作的速率。
3.根据权利要求1或2所述的方法,其特征在于,所述存储单元包括:缓存区和存储阵列;
所述控制器向所述缓存区进行数据的写操作的速率大于所述缓存区向所述存储阵列进行数据的写操作的速率。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
在所述存储设备的耗电电流小于所述电流阈值的时间段内,所述控制器采用最多L个所述数据通道向P个所述存储单元进行数据的写操作,其中,P是大于M、且小于或等于Q的正整数。
5.一种控制器,其特征在于,应用于存储设备,所述存储设备包括所述控制器和Q个存储单元,所述控制器与所述Q个存储单元通过N个数据通道连接,N是大于或等于2的正整数,Q是大于或等于N的正整数,所述控制器包括:
控制电路,用于根据所述存储设备的电流阈值、所述Q个存储单元中M个存储单元在同一时间段进行数据的写操作的耗电电流、采用所述N个数据通道中单个数据通道向所述M个存储单元进行数据的写操作的耗电电流,确定向所述M个存储单元进行数据的写操作在所述同一时间段采用的数据通道的最大数量L,L是小于N的正整数,M是小于或等于Q的正整数;
所述控制电路还用于,在所述同一时间段采用最多L个所述数据通道向所述M个存储单元进行数据的写操作。
6.根据权利要求5所述的控制器,其特征在于,
所述控制电路向所述M个存储单元进行数据的写操作的速率小于所述控制电路向所述M个存储单元进行数据的读操作的速率。
7.根据权利要求5或6所述的控制器,其特征在于,所述存储单元包括:缓存区和存储阵列;
所述控制电路向所述缓存区进行数据的写操作的速率大于所述缓存区向所述存储阵列进行数据的写操作的速率。
8.根据权利要求5至7中任一项所述的控制器,其特征在于,
所述控制电路还用于,在所述存储设备的耗电电流小于所述电流阈值的时间段内,所述控制电路采用最多L个所述数据通道向P个所述存储单元进行数据的写操作,其中,P是大于M、且小于或等于Q的正整数。
9.一种存储设备,其特征在于,包括:控制器和Q个存储单元,所述控制器与所述Q个存储单元通过N个数据通道连接,N是大于或等于2的正整数,Q是大于或等于N的正整数;
所述控制器用于,根据所述存储设备的电流阈值、所述Q个存储单元中M个存储单元在同一时间段进行数据的写操作的耗电电流、采用所述N个数据通道中单个数据通道向所述M个存储单元进行数据的写操作的耗电电流,确定向所述M个存储单元进行数据的写操作在所述同一时间段采用的数据通道的最大数量L,L是小于N的正整数,M是小于或等于Q的正整数;
所述控制器还用于,在所述同一时间段采用最多L个所述数据通道向所述M个存储单元进行数据的写操作。
10.根据权利要求9所述的存储设备,其特征在于,
所述控制器向所述M个存储单元进行数据的写操作的速率小于所述控制器向所述M个存储单元进行数据的读操作的速率。
11.根据权利要求9或10所述的存储设备,其特征在于,所述存储单元包括:缓存区和存储阵列;
所述控制器向所述缓存区进行数据的写操作的速率大于所述缓存区向所述存储阵列进行数据的写操作的速率。
12.根据权利要求9至11中任一项所述的存储设备,其特征在于,
所述控制器还用于,在所述存储设备的耗电电流小于所述电流阈值的时间段内,采用最多L个所述数据通道向P个所述存储单元进行数据的写操作,P是大于M、且小于或等于Q的正整数。
13.一种计算机设备,其特征在于,包括:电路板和外壳以及如权利要求9至12中任一项权利要求所述存储设备,所述存储设备与所述电路板连接,所述电路板置于所述外壳内。
14.一种计算机可读存储介质,其特征在于,包括:
所述计算机可读存储介质中存储有计算机程序;
所述计算机程序在计算机或处理器上运行时,使得所述计算机或所述处理器执行权利要求1至4中任一项所述的方法。
15.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被执行时,使得如权利要求1至4中任一项所述的方法被实现。
CN202210900732.0A 2022-07-28 2022-07-28 数据读写的方法、控制器和存储设备 Pending CN117519451A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210900732.0A CN117519451A (zh) 2022-07-28 2022-07-28 数据读写的方法、控制器和存储设备
PCT/CN2023/094700 WO2024021786A1 (zh) 2022-07-28 2023-05-17 数据读写的方法、控制器和存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210900732.0A CN117519451A (zh) 2022-07-28 2022-07-28 数据读写的方法、控制器和存储设备

Publications (1)

Publication Number Publication Date
CN117519451A true CN117519451A (zh) 2024-02-06

Family

ID=89705259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210900732.0A Pending CN117519451A (zh) 2022-07-28 2022-07-28 数据读写的方法、控制器和存储设备

Country Status (2)

Country Link
CN (1) CN117519451A (zh)
WO (1) WO2024021786A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430434B2 (en) * 2013-09-20 2016-08-30 Qualcomm Incorporated System and method for conserving memory power using dynamic memory I/O resizing
US9348529B1 (en) * 2015-01-27 2016-05-24 HGST Netherlands B.V. Peak power efficient data storage drives
US11237617B2 (en) * 2018-12-31 2022-02-01 Micron Technology, Inc. Arbitration techniques for managed memory
KR20210101785A (ko) * 2020-02-11 2021-08-19 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법
CN113934286A (zh) * 2021-09-13 2022-01-14 深圳市硅格半导体有限公司 功耗控制方法、装置、设备及计算机程序产品
CN114138098B (zh) * 2022-02-07 2022-04-29 苏州浪潮智能科技有限公司 功耗调节方法、装置、存储设备及可读存储介质

Also Published As

Publication number Publication date
WO2024021786A1 (zh) 2024-02-01

Similar Documents

Publication Publication Date Title
US9734009B2 (en) Data encoding techniques for a device
KR101574207B1 (ko) 데이터 저장 장치 및 그것의 데이터 저장 방법
US10936485B2 (en) Data storage device for dynamic garbage collection triggering and operating method thereof
US8325555B2 (en) Data storage devices and power management methods thereof
US20160210060A1 (en) Dynamic resource allocation within storage devices
AU2014202877A1 (en) Controlling and staggering operations to limit current spikes
US11041763B2 (en) Adaptive throttling
US10466920B2 (en) Method for maximizing frequency while checking data integrity on a physical interface bus
WO2009046115A1 (en) Flash memory controller
US10446254B1 (en) Method for maximizing power efficiency in memory interface block
CN113325942A (zh) 存储设备和操作该存储设备的方法
US11204833B1 (en) NVM endurance group controller using shared resource architecture
US20230138586A1 (en) Storage device and method of operating the same
US11243715B2 (en) Memory controller and operating method thereof
US10515693B1 (en) Data storage apparatus and operating method thereof
WO2024063822A1 (en) Partial speed changes to improve in-order transfer
US11507508B2 (en) Prediction-based selective flushing of data to memory
US11537193B2 (en) Shaped and optimized power cycles
US11614896B2 (en) UFS out of order hint generation
CN117519451A (zh) 数据读写的方法、控制器和存储设备
US12072246B2 (en) Adaptive throttling
US12050776B2 (en) Apparatus with response completion pacing
US11379154B2 (en) Storage device and operating method thereof
US20240078026A1 (en) Adaptive tuning of memory device clock rates based on dynamic parameters
US11392321B2 (en) Memory system restoring data based on parity data and operating method thereof

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