一种数据存储控制方法,及装置与流程

文档序号:14453283阅读:244来源:国知局
一种数据存储控制方法,及装置与流程

本发明涉及数据存储技术领域,特别涉及一种数据存储控制方法,及装置。



背景技术:

存储介质,PCM(phase change memory,相变存储器)正作为下一代的非易失存储器(None Violate memory)开始普及,将替代DRAM(Dynamic Random Access Memory,动态随机存取存储器)和NAND Flash(闪存),成为新一代的存储机制。PCM利用硫族化合物在晶态和非晶态巨大的导电性差异来存储数据。

硫族化合物目前主要是GST(Glutathione S-transferase,谷胱甘肽巯基转移酶)材料,GST材料在非晶态下具有较高的电阻率。由于这种状态通常出现在RESET(复位)操作之后,我们一般称其为RESET状态,在RESET操作中CELL(单元)的温度上升到略高于熔点温度,然后突然对GST淬火将其冷却。冷却的速度对于非晶层的形成至关重要。

在晶态下,GST材料具有较低的电阻率。由于这种状态通常出现在SET(置位)操作之后,我们一般称其为SET状态,在SET操作中,材料的温度上升高于结晶温度但是低于熔点温度,然后缓慢冷却使得晶粒形成整层。

在实际的PCM写操作过程中,一般是控制电流来实现写1(SET)、写0(RESET)。由上面可以看出,PCM在SET操作时,需要缓慢冷却,因此需要较长时间的小电流;而RESET操作,则需要短时间的大电流。因此,由于自身的特点,写0/RESET和写1/SET的时间差别较大:典型的写1/SET时间是写0/RESET时间的2~5倍。

写1/SET操作的实现过程如下:由于PCM各CELL(单元)的个体差异,所需的电流大小等参数存在差异。现在的写1/SET操作,一般是迭代式。先尝试用较小电流进行SET操作,然后回读电阻值是否符合预设值。如果不符合则逐渐加大电流,直至回读电阻值符合预设值。

目前,提升PCM写速度的方法,可以如下:在正式写操作前预先写0/RESET,正式写操作只需要写1/SET,缩短正式写操作时间。该方案具体如下:在PCM空闲时,对PCM区块进行预填充1,然后再写入数据时,只需要对数据0进行写0操作,避免了费时的写1操作,能够提升写入速度。即:针对一个区域,先对选中的区域进行预填充1(PRESET),然后根据要写入的数据,将需要写0(RESET)的bit进行写0(RESET)。

以上方案,对PCM页面进行预填充只能在PCM空闲时进行,当正在进行预填充时,如果有读/写请求,读/写请求响应时间将会较长,因此PCM系统写性能仍然较低。



技术实现要素:

本发明实施例提供了一种数据存储控制方法,及装置,用于提升读/写并发度,降低正常写操作的延迟,提升PCM系统写性能。

本发明实施例一方面提供了一种数据存储控制方法,包括:

监测相变存储器中的各存储堆bank是否有读写操作,对没有读写操作的存储堆bank内的单元CELL预填充1;所述相变存储器有两个或两个以上的存储堆bank;

在需要在所述相变存储器中写入数据时,若需要写入的数据的目标地址段已预填充1,且所述目标地址段内的目标CELL当前值与所述需要写入数据不同,则修改所述目标CELL为0。

结合一方面的实现方式,在第一种可能的实现方式中,所述方法,还包括:

若所述需要写入的数据的目标地址段已预填充1,且当前需要写入的数据为1,则断开写操作回路,跳过该单元CELL的填充。

结合一方面的实现方式,在第二种可能的实现方式中,所述对没有读写操作的存储堆bank内的单元CELL预填充1包括:

首先读取所述没有读写操作的存储堆bank内的单元CELL的原数据,若原数据为1,则断开写操作回路,若原数据为0,则写入1。

结合一方面的第一种可能的实现方式,在第三种可能的实现方式中,在对没有读写操作的存储堆bank内的单元CELL预填充1过程中还包括:

若监测到所述相变存储器中的正在进行预填充1的存储堆bank有读写操作,则暂停对所述存储堆bank的预填充1的操作,直到所述存储堆bank的读写操作结束。

结合一方面的实现方式,一方面的第一种、第二种或第三种可能的实现方式,在第四种可能的实现方式中,若监测到两个或两个以上的存储堆bank没有读写操作,所述对没有读写操作的存储堆bank内的单元CELL预填充1包括:

按队列长度优先原则,对所述两个或两个以上的存储堆bank没有读写操作中队列长度更长的存储堆bank内的单元CELL预填充1。

本发明实施例二方面提供了一种数据存储控制装置,包括:

监测单元,用于监测相变存储器中的各存储堆bank是否有读写操作;所述相变存储器有两个或两个以上的存储堆bank;

填充单元,用于对所述监测单元监测到的没有读写操作的存储堆bank内的单元CELL预填充1;

写控制单元,用于在需要在所述相变存储器中写入数据时,若需要写入的数据的目标地址段已由所述填充单元预填充1,且所述目标地址段内的目标CELL当前值与所述需要写入数据不同,则修改所述目标CELL为0。

结合二方面的实现方式,在第一种可能的实现方式中,所述写控制单元,还用于若所述需要写入的数据的目标地址段已预填充1,且当前需要写入的数据为1,则断开写操作回路,跳过该单元CELL的填充。

结合二方面的实现方式,在第二种可能的实现方式中,所述填充单元,用于首先读取所述监测单元监测到的没有读写操作的存储堆bank内的单元CELL的原数据,若原数据为1,则断开写操作回路,若原数据为0,则写入1。

结合二方面的实现方式,在第三种可能的实现方式中,所述填充单元,还用于在所述填充单元对没有读写操作的存储堆bank内的单元CELL预填充1过程中,若所述监测单元监测到所述相变存储器中的正在进行预填充1的存储堆bank有读写操作,则暂停对所述存储堆bank的预填充1的操作,直到所述存储堆bank的读写操作结束。

结合二方面的实现方式,二方面的第一种、第二种或第三种可能的实现方式,在第四种可能的实现方式中,所述填充单元,用于若所述监测单元监测到两个或两个以上的存储堆bank没有读写操作,则按队列长度优先原则,对所述两个或两个以上的存储堆bank没有读写操作中队列长度更长的存储堆bank内的单元CELL预填充1。

本发明实施例三方面提供了一种相变存储器,包括:两个或两个以上采用相变存储介质的存储堆bank、位线选择开关、检测放大器、写驱动器;所述检测放大器与位线选择开关连接,所述写驱动器与位线选择开关连接,所述位线选择开关与所述检测放大器以及所述写驱动器连接,其特征在于,还包括:控制电路;

所述控制电路与所述位线选择开关、所述检测放大器以及所述写驱动器连接;

所述控制电路监测所述检测放大器和所述写驱动器确定各存储堆bank是否有读写操作,并向位线选择开关发送启动指令,指示所述位线选择开关选中没有读写操作的存储堆bank内需要预填充的单元CELL,所述写驱动器对选中的单元CELL写入1,实施预填充;所述写驱动器在接收到写操作指令后,若需要写入的目标地址段已填充1,且所述目标地址段内的目标CELL当前值与所述需要写入数据不同,则修改所述目标CELL为0。

结合一方面的实现方式,在第一种可能的实现方式中,所述向位线选择开关发送启动指令,指示所述位线选择开关选中没有读写操作的存储堆bank内需要预填充的单元CELL,所述写驱动器对选中的单元CELL写入1,实施预填充包括:

所述控制电路通过所述检测放大器读取所述没有读写操作的存储堆bank内的单元CELL的原数据,若原数据为1,则控制断开写操作回路,若原数据为0,则所述控制电路指示写驱动器向所述需要预填充的单元CELL写入1。

结合一方面的实现方式,一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述控制电路,还用于读取需要写入的数据,并确定当前数据是否为1,若为1则不向所述写驱动器发送写入指令,跳过该单元CELL的写1操作,若为0,则向所述写驱动器发送写入指令,使所述写驱动器修改所述目标CELL为0。

从以上技术方案可以看出,本发明实施例具有以下优点:当PCM的某些存储堆(bank)有读写操作时,控制器可以对没有读写操作的存储堆(bank)进行Preset操作,Preset命令只需要地址总线和控制总线,不需要数据总线,因此可以做到和其他存储堆(bank)读写操作完全的并发。从而可以提升读写并发度,降低正常写操作的延迟,提升PCM系统写性能。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例方法流程示意图;

图2为本发明实施例装置结构示意图;

图3为本发明实施例相变存储器结构示意图;

图4为本发明实施例PCM结构示意图;

图5为本发明实施例预填充控制电路结构示意图;

图6为本发明实施例方法流程示意图;

图7为本发明实施例方法流程示意图;

图8为本发明实施例预填充控制电路结构示意图;

图9为本发明实施例终端结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例提供了一种数据存储控制方法,如图1所示,包括:

101:监测相变存储器中的各存储堆(bank)是否有读写操作;上述相变存储器有两个或两个以上的存储堆(bank);

102:对没有读写操作的存储堆(bank)内的单元(CELL)预填充1;

在步骤102中,预填充1的方案可以是对上述没有读写操作的存储堆(bank)所有CELL都执行预填1操作,即写入1操作,也可以选择原数据为0的CELL修改为1,原数据为1的CELL不进行处理,这样可以减少对CELL的操作,从而节省功耗并延长CELL的寿命,具体如下:上述对没有读写操作的存储堆(bank)内的单元CELL预填充1包括:首先读取上述没有读写操作的存储堆(bank)内的单元CELL的原数据,若原数据为1,则断开写操作回路,若原数据为0,则写入1。

上述步骤102执行过程中,有可能会出现对上述存储堆(bank)的读写操作,这样需要暂停预填充的操作,避免读写操作延迟,本发明实施例提供了具体的解决方案如下:在对没有读写操作的存储堆(bank)内的单元CELL预填充1过程中还包括:

若监测到上述相变存储器中的正在进行预填充1的存储堆(bank)有读写操作,则暂停对上述存储堆(bank)的预填充1的操作,直到上述存储堆(bank)的读写操作结束。

另外,在步骤101中可能监测到多个存储堆(bank)没有读写操作,这种情况下可以任意选择存储堆(bank)进行预填充操作,也可以优选使用如下方式进行预填充操作:若监测到两个或两个以上的存储堆(bank)没有读写操作,上述对没有读写操作的存储堆(bank)内的单元CELL预填充1包括:按队列长度优先原则,对上述两个或两个以上的存储堆(bank)没有读写操作中队列长度更长的存储堆(bank)内的单元CELL预填充1。

103:在需要在上述相变存储器中写入数据时,若需要写入的数据的目标地址段已预填充1,且上述目标地址段内的目标CELL当前值与上述需要写入数据不同,则修改上述目标CELL为0。

本发明实施例,当PCM的某些存储堆(bank)有读写操作时,控制器可以对没有读写操作的存储堆(bank)进行Preset操作,Preset命令只需要地址总线和控制总线,不需要数据总线,因此可以做到和其他存储堆(bank)读写操作完全的并发。从而可以提升读写并发度,降低正常写操作的延迟,提升PCM系统写性能。

可以理解的是,在步骤103中,如果要写入目标CELL的数据为1,是可以不必执行写操作的,本发明实施例提供了这种情况下的具体实现方案如下:进一步地,如果在步骤103中,上述方法,还包括:若上述需要写入的数据的目标地址段已预填充1,且当前需要写入的数据为1,则断开写操作回路,跳过该单元CELL的填充。

在以上实施例中,PCM存储介质的组织结构,可以基于row(行)内偏移和row间偏移两级偏移作为bank(条形的堆,即存储堆(bank))来解决PCM的写均衡问题,同时消除映射表及其查询等相关开销。

基于前述说明,在本发明实施例中,PCM的存储单元是一个二维的矩阵结构,按照row和column(列)划分,每个column又包含多个存储单元(每个CELL存储1bit)。本发明结合了RAM(Random Access Memory,随机存取存储器)芯片的组织结构,提出bank(条形的堆)间并发操作的方案,提高系统写操作速度。在RAM一般存在多个bank(如目前的DDR3(Double DataRate3,八倍率动态随机存取内存)芯片一般有8个bank),以提升容量和性能。

在本发明实施例中,在PCM侧,可以提供专门的PRESET控制电路。当某些bank有读写操作时,控制器侧可以对没有读写操作的bank进行PRESET操作,控制器的PRESET命令只需要地址总线和控制总线,不需要数据总线,因此可以做到和其他Bank读写操作完全的并发。而当某个Bank在PRESET期间,如果有该bank的读/写操作,可以暂停该PRESET操作,等读/写操作完成后继续PRESET操作。

本发明实施例还提供了一种数据存储控制装置,如图2所示,包括:

监测单元201,用于监测相变存储器中的各存储堆(bank)是否有读写操作;上述相变存储器有两个或两个以上的存储堆(bank);

填充单元202,用于对上述监测单元201监测到的没有读写操作的存储堆(bank)内的单元CELL预填充1;

写控制单元203,用于在需要在上述相变存储器中写入数据时,若需要写入的数据的目标地址段已由上述填充单元202预填充1,且上述目标地址段内的目标CELL当前值与上述需要写入数据不同,则修改上述目标CELL为0。

本发明实施例,当PCM的某些存储堆(bank)有读写操作时,控制器可以对没有读写操作的存储堆(bank)进行Preset操作,Preset命令只需要地址总线和控制总线,不需要数据总线,因此可以做到和其他存储堆(bank)读写操作完全的并发。从而可以提升读写并发度,降低正常写操作的延迟,提升PCM系统写性能。

在本发明实施例中,如果要写入目标CELL的数据为1,是可以不必执行写操作的,本发明实施例提供了这种情况下的具体实现方案如下:进一步地,上述写控制单元203,还用于若上述需要写入的数据的目标地址段已预填充1,且当前需要写入的数据为1,则断开写操作回路,跳过该单元CELL的填充。

在本发明实施例中,预填充1的方案可以是对上述没有读写操作的存储堆(bank)所有CELL都执行预填1操作,即写入1操作,也可以选择原数据为0的CELL修改为1,原数据为1的CELL不进行处理,这样可以减少对CELL的操作,从而节省功耗并延长CELL的寿命,具体如下:进一步地,上述填充单元202,用于首先读取上述监测单元201监测到的没有读写操作的存储堆(bank)内的单元CELL的原数据,若原数据为1,则断开写操作回路,若原数据为0,则写入1。

在本发明实施例中,有可能会出现对上述存储堆(bank)的读写操作,这样需要暂停预填充的操作,避免读写操作延迟,本发明实施例提供了具体的解决方案如下:进一步地,上述填充单元202,还用于在上述填充单元202对没有读写操作的存储堆(bank)内的单元CELL预填充1过程中,若上述监测单元201监测到上述相变存储器中的正在进行预填充1的存储堆(bank)有读写操作,则暂停对上述存储堆(bank)的预填充1的操作,直到上述存储堆(bank)的读写操作结束。

在本发明实施例中,可能监测到多个存储堆(bank)没有读写操作,这种情况下可以任意选择存储堆(bank)进行预填充操作,也可以优选使用如下方式进行预填充操作:进一步地,上述填充单元202,用于若上述监测单元201监测到两个或两个以上的存储堆(bank)没有读写操作,则按队列长度优先原则,对上述两个或两个以上的存储堆(bank)没有读写操作中队列长度更长的存储堆(bank)内的单元CELL预填充1。

本发明实施例还提供了一种相变存储器,如图3所示,包括:两个或两个以上采用相变存储介质的存储堆(bank)301、位线选择开关302、检测放大器303、写驱动器304;上述检测放大器303与位线选择开关302连接,上述写驱动器304与位线选择开关302连接,上述位线选择开关302与上述检测放大器303以及上述写驱动器304连接,还包括:控制电路305;

上述控制电路305与上述位线选择开关302、上述检测放大器303以及上述写驱动器304连接;

上述控制电路305监测上述检测放大器303和上述写驱动器304确定各存储堆(bank)301是否有读写操作,并向位线选择开关302发送启动指令,指示上述位线选择开关302选中没有读写操作的存储堆bank内需要预填充的单元CELL,上述写驱动器304对选中的单元CELL写入1,实施预填充;在正式写操作时,上述写驱动器304在接收到写操作指令后,若需要写入的目标地址段已填充1,且上述目标地址段内的目标CELL当前值与上述需要写入数据不同,则修改上述目标CELL为0。

本发明实施例,当PCM的某些存储堆(bank)有读写操作时,控制器可以对没有读写操作的存储堆(bank)进行Preset操作,Preset命令只需要地址总线和控制总线,不需要数据总线,因此可以做到和其他存储堆(bank)读写操作完全的并发。从而可以提升读写并发度,降低正常写操作的延迟,提升PCM系统写性能。

在本发明实施例中,预填充1的方案可以是对上述没有读写操作的存储堆(bank)所有CELL都执行预填1操作,即写入1操作,也可以选择原数据为0的CELL修改为1,原数据为1的CELL不进行处理,这样可以减少对CELL的操作,从而节省功耗并延长CELL的寿命,具体如下:可选地,上述控制电路305向上述位线选择开关302发送启动指令,指示上述位线选择开关302选中没有读写操作的存储堆bank内需要预填充的单元CELL,上述写驱动器304对选中的单元CELL写入1,实施预填充,包括:

上述控制电路305通过上述检测放大器303读取上述没有读写操作的存储堆(bank)301内的单元CELL的原数据,若原数据为1,则控制断开写操作回路,若原数据为0,则上述控制电路305指示写驱动器304向上述需要预填充的单元CELL写入1。

上述控制电路305,还用于读取需要写入的数据,并确定当前数据是否为1,若为1则不向上述写驱动器304发送写入指令,跳过该单元CELL的写1操作,若为0,则向上述写驱动器304发送写入指令,使上述写驱动器304修改上述目标CELL为0。

以下实施例将给出PCM结构更详细的说明,请参阅图4所示,为PCM结构图如下:

各模块的主要功能如下:

PCM的存储介质(PCM Storage Cell Array),包含多个bank,图4所示为n个Bank;即n个存储堆(bank);

PCM的位线选择开关(BitLine Sel),用于选择需要读写操作的Bitline;

字线驱动器(WordLine Driver);

S/A、W/D:全称分别是Sense Amplify(检测放大器)、Write Driver(写驱动器),这是PCM的bank内的共享资源。Sense Amplify用于读操作时检测并放大CELL的信号。Write Driver用于写操作时提供驱动电流,对CELL进行写1(长时间的小电流)或者写0(短时间的大电流)。

锁存输入地址(Address MUX),用于锁存输入的地址并分发给WordLine Driver、BitLine Sel。

预填充控制电路(Preset circuit):即Preset控制电路,具体功能有:

(1)、Preset控制电路能控制某个bank进行preset操作,具体preset操作的控制过程为:先读取CELL原数据,当CELL原数据为1,则无需preset操作(断开写操作回路),减少写操作次数,以节省功耗并提高CELL寿命;当原CELL数据为0则Preset(写入1);

(2)、Preset暂停—继续的控制过程为:对preset操作的地址、write(写)参数等进行保存,以便在preset期间进行其他CELL的读写操作,其他CELL的读写完成后继续原CELL的preset操作。

预填充控制电路可以参考图5所示,其中单元阵列(Cell Array)、位线选择开关、S/A以及W/D的连接关系与图4所示相同,在W/D还示意了写数据的接口以及在S/A的读数据接口,在图5中,还包含了两个缓冲器,其中一个(第一缓冲器)接在W/D与位线选择开关之间,第一缓冲器的一个接口接另一缓冲器(第二缓冲器),上述第二缓冲器的接口作为控制指令的一个输入端,在W/D也提供了写输入接口,该电路可以完成如下功能:先读取原CELL数据,当原CELL数据为1,则无需preset操作(断开写操作回路),减少写操作次数,以节省功耗并提高CELL寿命;当原CELL数据为0则Preset(写入1)。

下面介绍本发明实施例涉及到的几个主要功能步骤和流程:为方便描述,以下说明以2个bank为例,实际可以扩展到多个bank。

首先,PCM controller:调度接收到的读写任务,当有读写操作时,发出读写命令,并记录属于哪个bank。然后,对另外的bank发出Preset命令。

具体的PCM controller的实施流程图,如图6所示:

601:首先检查是否有读写操作;如果是,进入602,否则进入607;

602:确定发生读/写的Bank是否为bank1,如果是,进入603,否则进入604;

603:对Bank1发出读/写命令,发出完毕后(无需等待读/写完成)进入605;

604:对Bank2发出读/写命令,发出完毕后(无需等待读/写完成)进入606;

605:在Bank1执行读/写期间,可以并行对Bank2预填充,结束本轮操作;

606:在Bank2执行读/写期间,可以并行对Bank1预填充,结束本轮操作;

607:确定Bank1按照队列长度优先策略是否优先,如果是,进入608,否则进入609;

608:对Bank1预填充,结束本轮操作;

609:对Bank2预填充,结束本轮操作。

以上流程可以总结为:首先检查是否有读写操作,如果没有待执行的读/写操作,则可以发起Preset命令。具体对哪一个bank进行,可以有多种策略,本发明实施例可以按队列长度优先的策略。如果有待执行的读/写操作,则先发起该读/写操作,然后对另外的(空闲)bank发出Preset命令。

PCM侧对Preset命令执行具体如下:当PCM在Preset执行时,如果中间有其他CELL的读写任务,会使得该CELL的读写操作延迟。为了避免这种情况,在PCM侧可以加入Preset暂停/继续功能,具体如下:Preset控制电路对preset操作的地址、write参数等进行保存,以便在Preset期间进行其他CELL的读写操作,其他CELL的读写完成后继续原CELL的Preset操作;Preset操作基于前文描述的迭代式SET操作。具体流程如下图7示所示:

701:载入最佳的猜测参数;

该猜测参数是用于执行写入1的相关参数。

702:进行写操作;

本步骤中,初始使用上述猜测参数执行进行写操作,后续使用705中预测的新的参数。

703:写操作完后回读电阻值;

704:确定电阻值是否符合预设值,如果是,本次写入1结束,否则,进入705;

705:预测新的参数;

706:确定当前存储堆(bank)是否有读/写操作,如果是,进入707;否则进入702;

707:执行读/写操作,完毕后进入702。

在以上步骤701和704,将会接收到相关的目标参数,指导对应步骤的执行。

以上步骤,可以总结为:首先载入最佳的猜测参数,然后进行写。写完后回读电阻值确定是否符合预设值。如果符合预设值,则Preset结束。如果不符合预设值,则计算新参数。然后判断本bank是否有挂起的读写操作,如果没有,则继续下一轮迭代的Preset;如果有,则暂停Preset,执行读写操作后再继续下一轮迭代的Preset。

本发明实施例,还提供了另一Preset控制电路的实现方案,具体如下:

对于Preset控制电路的写入电路,基本方法是:先回读原CELL数据:当数据为1,则无需preset操作(断开写操作回路),减少写操作次数,以节省功耗并提高CELL寿命;当数据为0则Preset(写入1)。

那么基于上述方法,可以有不同的实现方式。如下图8所示,从上到下依次为:缓冲器(buffer)、倒相放大器、场效应管以及写驱动(write driver);缓冲器连接倒相放大器、倒相放大器再连接场效应管,场效应管连接写驱动;该方案通过缓冲器buffer回读原CELL数据,当为1时关断write driver;当为0时驱动write driver执行写入1的操作。

在本实施例中的其他部分的实施可以参考前述实施例。

以上实施例,通过提升bank空闲时的并发度,能够极大地降低正常写操作的延时,最终提高PCM系统写性能。

本发明实施例还提供了一种设备,该设备可以为终端,如图9所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:

图9示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图9,手机包括:射频(Radio Frequency,RF)电路910、存储器920、输入单元930、显示单元940、传感器950、音频电路960、无线保真(wirelessfidelity,WiFi)模块970、处理器980、以及电源990等部件。本领域技术人员可以理解,图9中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中,存储器920采用的是相变存储介质。

下面结合图9对手机的各个构成部件进行具体的介绍:

RF电路910可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器980处理;另外,将设计上行的数据发送给基站。通常,RF电路910包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路910还可以通过无线通信网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。

存储器920可用于存储软件程序以及模块,处理器980通过运行存储在存储器920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元930可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元930可包括触控面板931以及其他输入设备932。触控面板931,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板931上或在触控面板931附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板931可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器980,并能接收处理器980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板931。除了触控面板931,输入单元930还可以包括其他输入设备932。具体地,其他输入设备932可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元940可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元940可包括显示面板941,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-EmittingDiode,OLED)等形式来配置显示面板941。进一步的,触控面板931可覆盖显示面板941,当触控面板931检测到在其上或附近的触摸操作后,传送给处理器980以确定触摸事件的类型,随后处理器980根据触摸事件的类型在显示面板941上提供相应的视觉输出。虽然在图9中,触控面板931与显示面板941是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板931与显示面板941集成而实现手机的输入和输出功能。

手机还可包括至少一种传感器950,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板941的亮度,接近传感器可在手机移动到耳边时,关闭显示面板941和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路960、扬声器961,传声器962可提供用户与手机之间的音频接口。音频电路960可将接收到的音频数据转换后的电信号,传输到扬声器961,由扬声器961转换为声音信号输出;另一方面,传声器962将收集的声音信号转换为电信号,由音频电路960接收后转换为音频数据,再将音频数据输出处理器980处理后,经RF电路910以发送给比如另一手机,或者将音频数据输出至存储器920以便进一步处理。

WiFi属于短距离无线传输技术,手机通过WiFi模块970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块970,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器920内的软件程序和/或模块,以及调用存储在存储器920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器980可包括一个或多个处理单元;优选的,处理器980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器980中。

手机还包括给各个部件供电的电源990(比如电池),优选的,电源可以通过电源管理系统与处理器980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本发明实施例中,该终端所包括的处理器980还具有以下功能:

监测相变存储器中的各存储堆(bank)是否有读写操作;上述相变存储器有两个或两个以上的存储堆(bank);对没有读写操作的存储堆(bank)内的单元(CELL)预填充1;在需要在上述相变存储器中写入数据时,若需要写入的数据的目标地址段已预填充1,且上述目标地址段内的目标CELL当前值与上述需要写入数据不同,则修改上述目标CELL为0。

本发明实施例,当PCM的某些存储堆(bank)有读写操作时,处理器980可以对没有读写操作的存储堆(bank)进行Preset操作,Preset命令只需要地址总线和控制总线,不需要数据总线,因此可以做到和其他存储堆(bank)读写操作完全的并发。从而可以提升读写并发度,降低正常写操作的延迟,提升PCM系统写性能。

在本发明实施例中,预填充1的方案可以是对上述没有读写操作的存储堆(bank)所有CELL都执行预填1操作,即写入1操作,也可以选择原数据为0的CELL修改为1,原数据为1的CELL不进行处理,这样可以减少对CELL的操作,从而节省功耗并延长CELL的寿命,具体如下:处理器980,用于对没有读写操作的存储堆(bank)内的单元CELL预填充1包括:首先读取上述没有读写操作的存储堆(bank)内的单元CELL的原数据,若原数据为1,则断开写操作回路,若原数据为0,则写入1。

在本发明实施例中,有可能会出现对上述存储堆(bank)的读写操作,这样需要暂停预填充的操作,避免读写操作延迟,本发明实施例提供了具体的解决方案如下:处理器980,用于在对没有读写操作的存储堆(bank)内的单元CELL预填充1过程中还包括:若PCM相变存储器920监测到上述相变存储器中的正在进行预填充1的存储堆(bank)有读写操作,则PCM相变存储器920暂停对上述存储堆(bank)的预填充1的操作,直到上述存储堆(bank)的读写操作结束。

另外,在本发明实施例中,处理器980可能监测到多个存储堆(bank)没有读写操作,这种情况下可以任意选择存储堆(bank)进行预填充操作,也可以优选使用如下方式进行预填充操作:处理器980,用于若监测到两个或两个以上的存储堆(bank)没有读写操作,上述对没有读写操作的存储堆(bank)内的单元CELL预填充1包括:按队列长度优先原则,对上述两个或两个以上的存储堆(bank)没有读写操作中队列长度更长的存储堆(bank)内的单元CELL预填充1。

可以理解的是,在本发明实施例中,如果要写入目标CELL的数据为1,是可以不必执行写操作的,本发明实施例提供了这种情况下的具体实现方案如下:存储器920,用于若上述需要写入的数据的目标地址段已预填充1,且当前需要写入的数据为1,则断开写操作回路,跳过该单元CELL的填充。

在以上实施例中,PCM存储介质的组织结构,可以基于row(行)内偏移和row间偏移两级偏移作为bank(条形的堆,即存储堆(bank))来解决PCM的写均衡问题,同时消除映射表及其查询等相关开销。

基于前述说明,在本发明实施例中,PCM的存储单元是一个二维的矩阵结构,按照row和column(列)划分,每个column又包含多个存储单元(每个CELL存储1bit)。本发明结合了RAM(Random Access Memory,随机存取存储器)芯片的组织结构,提出bank(条形的)堆间并发操作的方案,提高系统写操作速度。在RAM一般存在多个bank(如目前的DDR3(Double DataRate3,八倍率动态随机存取内存)芯片一般有8个bank),以提升容量和性能。

在本发明实施例中,在PCM侧,可以提供专门的PRESET控制电路。当某些bank有读写操作时,控制器侧可以对没有读写操作的bank进行PRESET操作,控制器的PRESET命令只需要地址总线和控制总线,不需要数据总线,因此可以做到和其他Bank读写操作完全的并发。而当某个Bank在PRESET期间,如果有该bank的读/写操作,可以暂停该PRESET操作,等读/写操作完成后继续PRESET操作。

值得注意的是,上述装置只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

另外,本领域普通技术人员可以理解实现上述各方法实施例中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1