数据存储装置、其操作方法以及包括其的存储系统

文档序号:1126534 发布日期:2020-10-02 浏览:9次 >En<

阅读说明:本技术 数据存储装置、其操作方法以及包括其的存储系统 (Data storage device, method of operating the same, and storage system including the same ) 是由 姜寭美 于 2019-10-25 设计创作,主要内容包括:本申请涉及一种数据存储装置。该数据存储装置可包括:存储装置;控制器,该控制器被配置成响应于来自主机装置的请求而控制将数据输入到存储装置和从存储装置中输出数据;以及第二缓冲存储器。控制器可包括第一缓冲存储器,并且被配置成响应于主机装置的写入请求而将由主机装置提供的写入数据存储在第一缓冲存储器中,并且基于写入数据的属性将第一缓冲存储器中存储的写入数据移动到第二缓冲存储器或存储装置中。(The present application relates to a data storage device. The data storage device may include: a storage device; a controller configured to control input and output of data to and from the storage device in response to a request from the host device; and a second buffer memory. The controller may include a first buffer memory and be configured to store write data provided by the host device in the first buffer memory in response to a write request of the host device and move the write data stored in the first buffer memory to a second buffer memory or a storage device based on an attribute of the write data.)

数据存储装置、其操作方法以及包括其的存储系统

相关申请的交叉引用

本申请要求于2019年3月25日向韩国知识产权局提交的申请号为10-2019-0033711的韩国申请的优先权,其通过引用整体并入本文。

技术领域

各个实施例总体涉及一种半导体集成装置,且更特别地,涉及一种数据存储装置、该数据存储装置的操作方法以及包括该数据存储装置的存储系统。

背景技术

存储装置联接到主机装置,并且响应于来自主机装置的请求执行数据输入/输出操作。存储装置可使用各种存储介质以便存储数据。

通常,可对存储装置进行配置和操作,使得读取操作比写入操作具有更高的优先级和更少的延迟。

不能执行重写操作或就地更新操作的存储装置需要通过将与读取/写入请求一起从主机装置提供的逻辑地址映射到物理地址来处理来自主机装置的请求。

一种顺序写入/读取方法包括向存储空间写入数据或从存储空间读取数据,存储空间具有连续物理地址,其中数据具有特定的长度。因为不需要相对于读取或写入数据的每一项对整个存储空间执行地址映射,所以顺序写入/读取方法可支持对存储装置的快速读取操作。

如果使用顺序写入方法写入的某些数据发生改变,则存储装置的性能可能会因为无法保证地址的连续性而劣化。

发明内容

在实施例中,数据存储装置可包括:存储装置;控制器,被配置成响应于来自主机装置的请求而控制将数据输入到存储装置和从存储装置输出数据;以及第二缓冲存储器。控制器可包括第一缓冲存储器,并且被配置成响应于主机装置的写入请求而将由主机装置提供的写入数据存储在第一缓冲存储器中,并且基于写入数据的属性来将第一缓冲存储器中存储的写入数据移动到第二缓冲存储器或存储装置中。

在实施例中,数据存储装置可包括存储装置、第二缓冲存储器和第一缓冲存储器,并且可被配置成包括控制器,该控制器被配置成响应于来自主机装置的写入请求,将具有大于预设参考值的长度的顺序写入数据存储在第二缓冲存储器中,并且响应于用于改变至少一些顺序写入数据的请求,更新第二缓冲存储器内的顺序写入数据。

在实施例中,数据存储装置的操作方法是包括存储装置、第二缓冲存储器、控制器以及第一缓冲存储器的数据存储装置的操作方法,其中控制器响应于来自主机装置的请求而控制将数据输入到存储装置和从存储装置输出数据,该操作方法包括:通过控制器,响应于主机装置的写入请求将由主机装置提供的写入数据存储在第一缓冲存储器中,并且通过控制器,基于写入数据的属性将第一缓冲存储器中存储的写入数据移动到第二缓冲存储器或存储装置中。

在实施例中,数据存储装置可包括:非易失性存储装置;存储器,被配置成执行就地更新操作;以及处理器,被配置成控制非易失性存储装置存储非顺序写入数据,并且控制存储器高速缓存待存储在非易失性存储器中的顺序写入数据和相应的逻辑地址信息,其中处理器进一步被配置成控制存储器基于被高速缓存的逻辑地址信息和当前被请求写入的逻辑地址信息来更新被高速缓存在其中的至少一些顺序写入数据。

附图说明

图1示出根据实施例的数据存储装置的配置。

图2是示出根据实施例的第二缓冲存储器的管理概念的示图。

图3示出根据实施例的控制器的配置。

图4示出根据实施例的数据存储装置的配置。

图5和图6是示出根据实施例的数据存储装置的操作方法的流程图。

图7是示出根据实施例的数据存储装置的操作方法的流程图。

图8和图9是示出根据实施例的数据存储系统的示图。

图10和图11是示出根据实施例的数据处理系统的示图。

图12是示出根据实施例的包括数据存储装置的网络系统的示图。

图13是示出根据实施例的数据存储装置中包括的非易失性存储器装置的框图。

具体实施方式

以下参照附图更详细地描述本发明的各个实施例。在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。

将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其指明所陈述元件的存在,但不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任意和全部组合。

如本文所使用的,除非上下文另有明确说明,否则单数形式可包括复数形式,反之亦然。除非另有说明或从上下文清楚地指向单数形式,否则本说明书和所附权利要求书中使用的冠词“一”和“一个”通常应被解释为意味着“一个或多个”。

<数据存储装置>

图1示出根据实施例的数据存储装置的配置。

参照图1,根据实施例的数据存储装置10可包括控制器110、存储装置120和第二缓冲存储器119。

控制器110可响应于来自主机装置的请求来控制存储装置120。例如,控制器110可响应于来自主机装置的编程(写入)请求来控制将数据编程到存储装置120中。此外,控制器可响应于来自主机装置的写入请求,向主机装置提供写入到存储装置120中的数据。

存储装置120可在控制器110的控制下写入数据或输出写入的数据。存储装置120可利用易失性或非易失性存储器装置来配置。在实施例中,存储装置120可使用诸如以下的各种非易失性存储器装置中的任意一种来实施:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和/或自旋力矩转移磁性RAM(STT-MRAM)。存储装置120可包括多个管芯、或多个芯片、或多个封装。此外,存储装置120可利用其中单个存储器单元中存储一位数据的单层单元,或其中单个存储器单元中存储多位数据的多层单元来配置。

在实施例中,存储装置120可利用不支持重写和/或就地更新的存储器装置来配置,但本发明不限于此。

控制器110可包括处理器111、主机接口113、存储器接口115和第一缓冲存储器117。

处理器111可提供使控制器110能够管理存储装置120的各种功能,例如,诸如垃圾收集、地址映射和损耗均衡的功能。处理器111可控制主机接口113、存储器接口115、第一缓冲存储器117和第二缓冲存储器119,从而处理由主机装置提供的写入或读取命令。

在实施例中,控制器110可进一步包括用于控制第二缓冲存储器119的操作的第二缓冲存储器控制器(未示出)。

主机接口113可提供主机装置与控制器110之间的接口。主机接口113可存储和调度由主机装置提供的命令,并且可向处理器111提供该命令。主机接口113可在处理器111的控制下,将由主机装置提供的写入数据存储在第一缓冲存储器117中,或者向主机装置提供第一缓冲存储器117中存储的读取数据。

存储器接口115可提供存储装置120与控制器110之间的接口。存储器接口115可在处理器111的控制下,将第一缓冲存储器117中存储的写入数据传送到存储装置120,或者将从存储装置120读取的数据存储在第一缓冲存储器117中。

当数据存储装置10执行写入或读取与主机装置相关联的数据的一系列操作时,第一缓冲存储器117用作能够临时存储数据的空间。图1示出第一缓冲存储器117设置在控制器110内的示例,但在另一实施例中,第一缓冲存储器117可设置在控制器110的外部。

当与来自主机装置的写入请求相对应的写入数据的属性满足设定条件时,第二缓冲存储器119可用作高速缓存第一缓冲存储器117中存储的写入数据的空间。在实施例中,第二缓冲存储器119可被配置成高速缓存第一缓冲存储器117中存储的顺序写入数据,并且响应于写入请求而更新其中高速缓存的顺序写入数据。

处理器111可将第一和第二缓冲存储器117和119中的每一个分割成多个槽(slot),并且可在发生第一或第二缓冲存储器117或119的数据存储事件时分配空槽中的一个槽。在实施例中,第二缓冲存储器119可存储具有最小长度的顺序写入数据。顺序写入数据的起始逻辑地址和长度可与顺序写入数据一起存储在所分配的第二缓冲存储器119的槽中。

在实施例中,主机装置可将写入数据以及写入数据的大小(或长度)和目的地逻辑地址与写入命令一起传送到主机接口113。处理器111可从主机接口113接收写入命令和写入数据的大小,并且可分配第一缓冲存储器117的槽。因此,主机接口113可将由主机装置转发的写入数据存储在所分配的第一缓冲存储器117的槽中。

处理器111可被配置成基于写入数据的属性,例如写入数据的大小(或长度)以及逻辑地址,将第一缓冲存储器117中存储的数据移动到第二缓冲存储器119或存储装置120。

为了将第一缓冲存储器117中存储的数据移动到第二缓冲存储器119或存储装置120,处理器111可向第二缓冲存储器119或存储器接口115传送写入或移动命令。响应于写入命令,第二缓冲存储器119或存储器接口115然后可将写入数据从第一缓冲存储器117移动到第二缓冲存储器119或存储装置120中。

在实施例中,如果从第一缓冲存储器117移动到第二缓冲存储器119的数据满足设定条件,则处理器111可控制存储器接口115,从而将第二缓冲存储器119的数据编程或清除到存储装置120中。另一方面,处理器111可控制存储器接口115,从而在分配给第二缓冲存储器119的多个槽之中选择满足设定条件的槽,并且将所选择的槽的写入数据编程到存储装置120中。

在实施例中,主机装置可将读取数据的大小(或长度)和目的地逻辑地址与读取命令一起传送到主机接口113。

处理器111可通过基于被请求读取的逻辑地址控制存储器接口115或第二缓冲存储器119,通过主机接口113将从存储装置120或第二缓冲存储器119读取的数据提供到主机装置。

<第二缓冲存储器的管理>

图2是示出根据实施例的第二缓冲存储器的管理概念的示图。

参照图2,控制器110或缓冲器控制器(未示出)可将第二缓冲存储器119分割成多个(例如,N个)槽。

如果第一缓冲存储器117中存储的写入数据满足设定条件,则控制器110可分配空槽中的任意一个槽,以便将第一缓冲存储器117的写入数据存储在第二缓冲存储器119中。此外,控制器110可将从第一缓冲存储器117移动的写入数据和起始逻辑地址(起始LBA)以及写入数据的长度存储在所分配的第二缓冲存储器119的槽中。

将写入数据从第一缓冲存储器117移动到第二缓冲存储器119的条件可以是写入数据的长度(或大小)。顺序写入数据可存储在第二缓冲存储器119中。在实施例中,在第二缓冲存储器119中更新写入数据的条件可以是写入数据的逻辑地址。如果在第二缓冲存储器119中存在高速缓存已对其做出写入请求的写入数据的逻辑地址的槽,则相应写入数据可能已被高速缓存在第二缓冲存储器119的该槽中,因此可响应于该写入请求而被更新。

在另一方面,如果写入数据具有最小长度或更大长度,或者将在先前高速缓存在第二缓冲存储器119中的顺序数据内更新写入数据,则相应写入数据被高速缓存在第二缓冲存储器119中或在第二缓冲存储器119中被更新。

在实施例中,第二缓冲存储器119可使用诸如以下的能够重写和就地更新的各种非易失性存储器装置中的任意一种来实施:相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和/或自旋力矩转移磁性RAM(STT-MRAM)。

如上所述,根据实施例的数据存储装置10可包括控制器110,配备有第一缓冲存储器117、能够重写的第二缓冲存储器119以及存储装置120。

在实施例中,控制器110可响应于来自主机装置的写入请求将写入数据存储在第一缓冲存储器117中,并且可基于写入数据的属性来将第一缓冲存储器117中存储的写入数据移动到第二缓冲存储器119或存储装置120中。在实施例中,写入数据的属性可以是写入数据的长度和逻辑地址中的至少任意一个。

在实施例中,如果写入数据具有最小长度或更大长度,则可将写入数据从第一缓冲存储器117转发到第二缓冲存储器119。

在实施例中,如果当前写入数据的至少一些逻辑地址被高速缓存在第二缓冲存储器119的槽中,则可在第二缓冲存储器119中更新当前写入数据。

在实施例中,如果第二缓冲存储器119的槽中包括写入数据的至少一些逻辑地址,则可在第二缓冲存储器119中重写写入数据的具有相同逻辑地址的部分,从而更新第二缓冲存储器119的数据。写入数据的不具有相同逻辑地址的部分可从第一缓冲存储器117被编程到存储装置120。

在另一方面,如果写入数据是顺序写入数据,则控制器110可将写入数据从第一缓冲存储器117转发到第二缓冲存储器119,并且可将高速缓存在第二缓冲存储器119中且满足设定条件的写入数据编程到存储装置120中。在实施例中,设定条件可以是满足最近最少使用(LRU)算法的写入数据,或者写入数据已被改变的次数,但本发明不限于此。此外,如本领域技术人员所理解的,为了将写入数据从第二缓冲存储器119编程到存储装置120,可将写入数据的访问历史存储在第二缓冲存储器119中,同时将写入数据的每一项保留在第二缓冲存储器119中。

在另一方面,如果当前写入数据是用于更新先前高速缓存在第二缓冲存储器119中的写入数据,则控制器110可利用当前写入数据来重写已高速缓存在第二缓冲存储器119中的写入数据。此外,控制器110可将高速缓存在第二缓冲存储器119中且满足设定条件的数据编程到存储装置120中。

<控制器>

图3示出根据实施例的控制器的配置。

参照图3,根据实施例的控制器110可包括处理器111、主机接口113、存储器接口115和第一缓冲存储器117。

处理器111可被配置成将用于数据的读取或写入操作的各种类型的控制信息转发到主机接口113、存储器接口115、第一缓冲存储器117和第二缓冲存储器119。在实施例中,处理器111可根据针对数据存储装置10的各种操作所提供的固件进行操作。在实施例中,处理器111可执行用于执行垃圾收集、地址映射和损耗均衡以用于管理存储装置120的闪存转换层(FTL)的功能,以及用于检测和校正从存储装置120读取的数据的错误的功能。

主机接口113可在处理器111的控制下从主机装置接收命令和时钟信号,并且可提供用于控制数据的输入和输出的通信信道。特别地,主机接口113可提供主机装置和数据存储装置10之间的物理连接。此外,主机接口113可根据主机装置的总线格式来提供与数据存储装置10之间的接口连接。主机装置的总线格式可包括诸如以下的标准接口协议中的至少任意一种:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、***组件互连(PCI)、高速PCI(PCI-E)和通用闪存(UFS)。

主机接口113可包括命令处理器1131、写入缓冲器(WFIFO)1133、读取缓冲器(RFIFO)1135和DMA引擎1137。

命令处理器1131可将由主机装置提供的命令进行排队,可调度命令的处理顺序,并且可将命令顺序地提供到处理器111。

写入缓冲器1133可临时存储由主机装置提供的写入数据。

读取缓冲器1135可临时存储由第一缓冲存储器117或第二缓冲存储器119提供的读取数据。

当执行写入操作时,DMA引擎1137可通过将写入缓冲器1133中存储的数据转发到第一缓冲存储器117来将该数据存储在第一缓冲存储器117中,并且当执行读取操作时,可通过从第一缓冲存储器117或第二缓冲存储器119读取第一缓冲存储器117或第二缓冲存储器119中存储的数据来将该数据存储在读取缓冲器1135中。

存储器接口115可提供用于控制器110与存储装置120之间的信号传送和接收的通信信道。存储器接口115可在处理器111的控制下将临时存储在第一或第二缓冲存储器117或119中的数据写入到存储装置120中。此外,存储器接口115可通过将从存储装置120读取的数据转发到第一缓冲存储器117来将该数据临时存储在第一缓冲存储器117中。

存储器接口115可包括命令控制器1151、写入缓冲器(WFIFO)1153、读取缓冲器(RFIFO)1155和DMA引擎1157。

命令控制器1151可基于由处理器111提供的命令来向存储装置120传送控制信号。

当执行写入操作时,写入缓冲器1153可临时存储由第一缓冲存储器117或第二缓冲存储器119传送的写入数据。

当执行读取操作时,读取缓冲器1155可临时存储从存储装置120读取的数据。

当执行写入操作时,DMA引擎1157可通过将第一缓冲存储器117或第二缓冲存储器119中存储的写入数据转发到写入缓冲器1153来将该写入数据存储在写入缓冲器1153中,并且当执行读取操作时,可通过将读取缓冲器1155中存储的读取数据转发到第一缓冲存储器117来将该读取数据存储在第一缓冲存储器117中。

<处理器的写入操作进程>

在实施例中,处理器111可被配置成与写入请求一起从主机装置接收起始逻辑地址、长度和写入数据,将写入数据高速缓存在第一缓冲存储器117中,并且基于设定条件来将高速缓存在第一缓冲存储器117中的写入数据高速缓存在第二缓冲存储器119中,或者将高速缓存的写入数据编程到存储装置120中。

在实施例中,处理器111可分配第一缓冲存储器117的特定槽,以便存储与写入请求一起从主机装置提供的写入数据。因此,主机接口113可将写入数据存储在所分配的第一缓冲存储器117的槽中。

处理器111可通过识别与主机装置的写入请求一起提供的逻辑地址是否被高速缓存在第二缓冲存储器119的槽中来确定写入请求是否是对高速缓存在第二缓冲存储器119中的数据的更新请求。

处理器111可例如基于与写入请求一起从主机装置提供的写入数据的大小,例如长度,来确定写入数据的属性是顺序写入数据还是随机写入数据。

如果写入数据的属性是顺序写入数据,则处理器111可控制第二缓冲存储器119,从而将第一缓冲存储器117中存储的写入数据转发到第二缓冲存储器119。

处理器111可控制存储器接口115,从而将第一缓冲存储器117中存储的写入数据的数据或第二缓冲存储器119中存储的且满足设定条件的数据编程到存储装置120中。从第一缓冲存储器117编程到存储装置120的数据可以是随机写入数据。从第二缓冲存储器119编程到存储装置120的数据可以是最近最少更新的数据。

为了将数据从第二缓冲存储器119编程到存储装置120,如果第二缓冲存储器119的剩余槽的数量小于或等于阈值或更少,则处理器111可选择多个槽之中满足设定条件的槽作为牺牲槽。此外,处理器111可控制存储器接口115,从而将所选择的牺牲槽的数据编程到存储装置120中。在这种情况下,设定条件可以是满足最近最少使用(LRU)算法的写入数据,或者写入数据已被改变的次数,但本发明不限于此。

在实施例中,如果仅写入数据的逻辑地址中一些与高速缓存在第二缓冲存储器119的槽中的逻辑地址相同,则处理器111可控制存储器接口115,从而将逻辑地址不同于高速缓存在第二缓冲存储器119中的逻辑地址的写入数据从第一缓冲存储器117编程到存储装置120,并且可控制第二缓冲存储器119,从而将逻辑地址与高速缓存在第二缓冲存储器119中的逻辑地址相同的写入数据从第一缓冲存储器117移动到第二缓冲存储器119。

在数据被从第一缓冲存储器117或第二缓冲存储器119编程到存储装置120之后,处理器111可更新映射表。当对映射表的更新完成时,在将数据从第一缓冲存储器117或第二缓冲存储器119编程到存储装置120之后,可释放第一缓冲存储器117或第二缓冲存储器119的相应槽。

在实施例中,具有相对较长长度的顺序写入数据可随其被高速缓存在第二缓冲存储器119中而改变。此外,确定最近未更新的顺序写入数据在未来给定时段内不太可能改变,因此将最近最少使用的顺序写入数据编程到存储装置120中。因此,因为存储装置120中存储的顺序写入数据具有物理上连续的地址,所以其可在来自主机装置的读取请求下以高速被读取。

<处理器的读取操作进程>

处理器111可与读取请求一起从主机接口113接收从主机装置提供的起始逻辑地址和长度,并且可搜索第二缓冲存储器119的槽中存储的逻辑地址,并且可搜索逻辑地址的映射表。此外,处理器111可被配置成访问已存储待读取数据的物理空间以读取数据,并且基于搜索结果来将读取数据提供到主机装置。

具体地,处理器111可搜索第二缓冲存储器119的槽中是否包括来自主机装置的被请求读取的逻辑地址。此外,处理器111可搜索与被请求读取的逻辑地址相对应的物理地址的映射表。

如果被请求读取的逻辑地址被高速缓存在第二缓冲存储器119的槽中,则处理器111可忽略映射表的搜索结果,并且使第二缓冲存储器119能够从相应槽读取数据,并且通过主机接口113将读取数据提供到主机装置。如果被请求读取的逻辑地址未被高速缓存在第二缓冲存储器119的槽中,则处理器111可基于映射表的搜索结果来控制存储器接口115,从而将从存储装置120读取的数据提供到主机装置。

<数据存储装置的另一实施例>

图4示出根据实施例的数据存储装置的配置。

参照图4,根据实施例的数据存储装置10-1可包括控制器110-1和存储装置120。

控制器110-1可响应于来自主机装置的请求来控制存储装置120。例如,控制器110-1可响应于来自主机装置的编程(写入)请求而控制将数据编程到存储装置120中。此外,控制器110-1可响应于来自主机装置的读取请求,向主机装置提供写入到存储装置120中的数据。

存储装置120可在控制器110-1的控制下写入数据或输出写入的数据。存储装置120可利用易失性或非易失性存储器装置来配置。在实施例中,存储装置120可使用诸如以下的各种非易失性存储器装置中的任意一种来实施:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和/或自旋力矩转移磁性RAM(STT-MRAM)。存储装置120可包括多个管芯、或多个芯片、或多个封装。此外,存储装置120可利用其中每个存储一位数据的单层单元,或者其中每个存储多位数据的多层单元来配置。

在实施例中,存储装置120可利用不支持重写和/或就地更新的存储器装置来配置,但不限于此。

控制器110-1可包括处理器111、主机接口113、存储器接口115、第一缓冲存储器117和第二缓冲存储器119。

也就是说,与图1的数据存储装置10不同,在图4的数据存储装置10-1中,第二缓冲存储器119设置在控制器110-1内。控制器110-1的元件111、113、115和117与图1的元件相同或基本相似,因此在此省略对它们的详细描述。

在实施例中,第二缓冲存储器119可使用诸如以下的能够重写和就地更新的非易失性存储器装置来实施:相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和/或自旋力矩转移磁性RAM(STT-MRAM)。

<数据存储装置的操作方法:写入>

图5和图6是示出根据实施例的数据存储装置的操作方法的流程图。

参照图5,当起始逻辑地址(LBA)、长度和写入数据与写入请求一起从与主机装置提供到数据存储装置10(S101)时,控制器110控制将写入数据存储在第一缓冲存储器117中(S103)。

此外,控制器110可识别由主机装置提供的逻辑地址的一部分是否被包括在高速缓存在第二缓冲存储器119的槽中的逻辑地址中(S105)。如果是(S105-是),则控制器110可检查由起始逻辑地址和长度指示的所有被请求写入的逻辑地址是否都被包括在高速缓存在第二缓冲存储器119中的逻辑地址中(S107)。

如果所有被请求写入的逻辑地址都被高速缓存在第二缓冲存储器119中(S107-是),则控制器110可通过将写入数据从第一缓冲存储器117移动到第二缓冲存储器119中来更新高速缓存在第二缓冲存储器119中的写入数据(S109)。

如果仅被请求写入的逻辑地址的一些被高速缓存在第二缓冲存储器119中(S107-否),则控制器110可控制将具有被高速缓存在第二缓冲存储器119中的逻辑地址中包括的逻辑地址的写入数据从第一缓冲存储器117移动到第二缓冲存储器119,从而更新第二缓冲存储器119,并且可将与被高速缓存在第二缓冲存储器119中的逻辑地址中未包括的逻辑地址相对应的写入数据编程到存储装置120中(S111)。

如果被请求写入的逻辑地址未包括在被高速缓存在第二缓冲存储器119中的逻辑地址中(S105-否),则控制器110可检查被请求写入的数据的长度是否大于参考值REF(S113)。作为检查结果,如果被请求写入的数据的长度小于或等于参考值REF,指示被请求写入的数据是随机写入数据(S113-否),则控制器110可将第一缓冲存储器117的写入数据编程到存储装置120中(S115)。

如果被请求写入的数据的长度大于参考值REF,指示被请求写入的数据是顺序写入数据(S113-是),则控制器110可执行图6的进程S20。

参照图6,控制器110可检查第二缓冲存储器119内剩余槽的数量是否大于阈值TH(S201)。

如果剩余槽的数量大于阈值TH(S201-是),则控制器110可分配在第二缓冲存储器119内槽,并且可控制将写入数据高速缓存在所分配的槽中(S203)。在这种情况下,起始逻辑地址LBA和长度也与写入数据一起可被高速缓存在所分配的槽中。

此后,控制器110可检查第二缓冲存储器119内剩余槽的数量是否小于或等于阈值TH(S205)。如果是(S205-是),则控制器110可执行将被高速缓存的数据从第二缓冲存储器119清除到存储装置120中的进程。在实施例中,控制器110可选择第二缓冲存储器119内的槽之中满足设定条件的槽(S207),并且可将被高速缓存在所选择槽中的数据编程到存储装置120中(S209)。当数据移动到存储装置120时,控制器110可更新将逻辑地址与存储装置120内的物理地址相关联的映射表(S211),并且可释放数据已从其移动的槽(S213)。

在实施例中,在步骤S207中,控制器110可基于最近最少使用(LRU)算法或写入数据已改变的次数来选择待移动的数据,但本发明不限于此。

如果在步骤S205中剩余槽的数量大于阈值TH(S205-否),则控制器110可转换到等待状态。

如上所述,在该技术中,随机写入数据经由第一缓冲存储器117被存储在存储装置120中,并且在顺序写入数据已被高速缓存在第二缓冲存储器119中的状态下,响应于来自主机装置的请求而更新顺序写入数据。此外,可将第二缓冲存储器119内的顺序写入数据中的且最近未更新的数据移动到存储装置120,因为这种数据在未来的给定时段内很可能不会被更新。因此,可保证不能执行重写操作和/或就地更新操作的存储装置120中存储的顺序写入数据的物理地址的连续性。

<数据存储装置的操作方法:读取>

图7是示出根据实施例的数据存储装置的操作方法的流程图。

当主机装置与读取请求一起将起始逻辑地址和长度传送到数据存储装置10(S301)时,控制器110可搜索与被请求读取的逻辑地址相对应的数据的存储位置。

也就是说,控制器110可检查被请求读取的逻辑地址是否被高速缓存在第二缓冲存储器119的槽中(S303),并且还可从映射表搜索与被请求读取的逻辑地址相对应的物理地址(S305)。

控制器110可检查被请求读取的逻辑地址是否包括在被高速缓存在第二缓冲存储器119中的逻辑地址中(S307)。如果是(S307-是),则控制器110可从第二缓冲存储器119读取数据,并且将读取数据提供到主机装置(S309)。

如果被请求读取的逻辑地址未包括在被高速缓存在第二缓冲存储器119中的逻辑地址中(S307-否),则控制器110可从存储装置120读取数据,并且通过第一缓冲存储器117将读取数据提供到主机装置(S311)。

图8是示出根据实施例的数据存储系统1000的示图。

参照图8,数据存储系统1000可包括主机装置1100和数据存储装置1200。在实施例中,数据存储装置1200可被配置成固态驱动器(SSD)。

数据存储装置1200可包括控制器1210、多个非易失性存储器装置1220-0至1220-n、缓冲存储器装置1230、电源1240、信号连接器1101和电源连接器1103。

控制器1210可控制数据存储装置1200的一般操作。控制器1210可包括主机接口、控制器、用作工作存储器的随机存取存储器、错误校正码(ECC)电路和存储器接口。在实施例中,控制器1210可被配置为图1或图3或图4所示的控制器110。

主机装置1100可通过信号连接器1101与数据存储装置1200交换信号。该信号可包括命令、地址、数据等。

控制器1210可分析和处理从主机装置1100接收的信号。控制器1210可根据用于驱动数据存储装置1200的固件或软件来控制内部功能块的操作。

缓冲存储器装置1230可临时存储待存储在非易失性存储器装置1220-0至1220-n中的至少一个中的数据。此外,缓冲存储器装置1230可临时存储从非易失性存储器装置1220-0至1220-n中的至少一个读取的数据。根据控制器1210的控制,临时存储在缓冲存储器装置1230中的数据可被传送到主机装置1100或非易失性存储器装置1220-0至1220-n中的至少一个。

非易失性存储器装置1220-0和1220-n可用作数据存储装置1200的存储介质。非易失性存储器装置1220-0至1220-n可分别通过多个通道CH0至CHn与控制器1210联接。一个或多个非易失性存储器装置可联接到一个通道。联接到相同通道的非易失性存储器装置可联接到相同的信号总线和数据总线。

电源1240可将通过电源连接器1103输入的电力提供到数据存储装置1200的控制器1210、非易失性存储器装置1220-0至1220-n和缓冲存储器装置1230。电源1240可包括辅助电源。辅助电源可提供电力以允许数据存储装置1200在发生突然断电时正常地终止。辅助电源可包括足以存储所需电荷的大容量电容器。

信号连接器1101可根据主机装置1100与数据存储装置1200之间的接口方案而被配置为各种类型的连接器中的一种或多种。

电源连接器1103可根据主机装置1100的供电方案而被配置为各种类型的连接器中的一种或多种。

图9是示出根据实施例的数据存储系统1000-1的示图。

参照图9,数据存储系统1000-1可包括主机装置1100-1和数据存储装置1200-1。在实施例中,数据存储装置1200-1可被配置成固态驱动器(SSD)。

数据存储装置1200-1可包括控制器1210、多个非易失性存储器装置1220-0至1220-n以及缓冲存储器1250。

控制器1210中可包括第一缓冲存储器,因此缓冲存储器1250可被称为第二缓冲存储器。

缓冲存储器1250配置有支持重写和/或就地更新的存储器装置,诸如相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和/或自旋力矩转移磁性RAM(STT-MRAM)。

控制器1210可控制数据存储装置1200-1和缓冲存储器1250的一般操作。控制器1210可包括主机接口、控制器、用作工作存储器的随机存取存储器、错误校正码(ECC)电路和存储器接口。在实施例中,控制器1210可被配置为图1、或图3或图4所示的控制器110。

主机装置1100-1可通过信号连接器1101与数据存储装置1200-1交换信号。该信号可包括命令、地址、数据等。

控制器1210可分析和处理从主机装置1100-1接收的信号。控制器1210可根据用于驱动数据存储装置1200-1的固件或软件来控制内部功能块的操作。

嵌入在控制器1210中的第一缓冲存储器可临时存储待存储在非易失性存储器装置1220-0至1220-n中的至少一个中的数据。进一步地,第一缓冲存储器可临时存储从非易失性存储器装置1220-0至1220-n中的至少一个读取的数据。在读取操作期间,根据控制器1210的控制,临时存储在第一缓冲存储器中的数据可被传送到主机装置1100-1或非易失性存储器装置1220-0至1220-n中的至少一个。在写入操作期间,根据控制器1210的控制,临时存储在第一缓冲存储器中的数据可被传送到非易失性存储器装置1220-0至1220-n中的至少一个或作为第二缓冲存储器的缓冲存储器1250。

非易失性存储器装置1220-0至1220-n可用作数据存储装置1200-1的存储介质。非易失性存储器装置1220-0至1220-n可分别通过多个通道CH0至CHn与控制器1210联接。一个或多个非易失性存储器装置可联接到一个通道。联接到相同通道的非易失性存储器装置可联接到相同的信号总线和数据总线。

信号连接器1101可根据主机装置1100-1与数据存储装置1200-1之间的接口方案而被配置为各种类型的连接器中的一种或多种。

电源连接器1103可根据主机装置1100-1的供电方案而被配置为各种类型的连接器中的一种或多种。

图10是示出根据实施例的数据处理系统3000的示图。参照图10,数据处理系统3000可包括主机装置3100和存储器系统3200。

主机装置3100可以诸如印制电路板的板的形式来配置。虽然未示出,但主机装置3100可包括用于执行主机装置的功能的内部功能块。

主机装置3100可包括诸如插座、插槽或连接器的连接端子3110。存储器系统3200可被配接到连接端子3110。

存储器系统3200可以诸如印制电路板的板的形式来配置。存储器系统3200可被称为存储器模块或存储卡。存储器系统3200可包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240和连接端子3250。

控制器3210可控制存储器系统3200的一般操作。控制器3210可以与图1和图2所示的控制器110相同的方式来配置。

缓冲存储器装置3220可临时存储待存储在非易失性存储器装置3231和3232中的数据。进一步地,缓冲存储器装置3220可临时存储从非易失性存储器装置3231和3232读取的数据。根据控制器3210的控制,临时存储在缓冲存储器装置3220中的数据可被传送到主机装置3100或非易失性存储器装置3231和3232。

非易失性存储器装置3231和3232可用作存储器系统3200的存储介质。

PMIC 3240可将通过连接端子3250输入的电力提供到存储器系统3200的内部。PMIC 3240可根据控制器3210的控制来管理存储器系统3200的电力。

连接端子3250可联接到主机装置3100的连接端子3110。通过连接端子3250,诸如命令、地址、数据等的信号和电力可在主机装置3100与存储器系统3200之间传送。连接端子3250可根据主机装置3100与存储器系统3200之间的接口方案而被配置成各种类型中的一种或多种。如图所示,连接端子3250可被设置在存储器系统3200的一侧。

图11是示出根据实施例的数据处理系统4000的示图。参照图11,数据处理系统4000可包括主机装置4100和存储器系统4200。

主机装置4100可以诸如印制电路板的板的形式来配置。虽然未示出,但主机装置4100可包括用于执行主机装置的功能的内部功能块。

存储器系统4200可以表面安装型封装的形式来配置。存储器系统4200可通过焊球4250安装到主机装置4100。存储器系统4200可包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。

控制器4210可控制存储器系统4200的一般操作。控制器4210可以与图1和图2所示的控制器110相同的方式来配置。

缓冲存储器装置4220可临时存储待存储在非易失性存储器装置4230中的数据。进一步地,缓冲存储器装置4220可临时存储从非易失性存储器装置4230读取的数据。根据控制器4210的控制,临时存储在缓冲存储器装置4220中的数据可被传送到主机装置4100或非易失性存储器装置4230。

非易失性存储器装置4230可用作存储器系统4200的存储介质。

图12是示出根据实施例的包括数据存储装置的网络系统5000的示图。参照图12,网络系统5000可包括通过网络5500联接的服务器系统5300和多个客户端系统5410、5420和5430。

服务器系统5300可响应于来自多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可存储由多个客户端系统5410至5430提供的数据。再例如,服务器系统5300可将数据提供到多个客户端系统5410至5430。

服务器系统5300可包括主机装置5100和存储器系统5200。存储器系统5200可被配置成图1所示的存储器系统10、图8所示的数据存储装置1200、图10所示的存储器系统3200或图11所示的存储器系统4200。

图13是示出根据实施例的诸如数据存储装置120的数据存储装置中包括的非易失性存储器装置300的框图。参照图13,非易失性存储器装置300可包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压生成器350和控制逻辑360。

存储器单元阵列310可包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域处的存储器单元MC。

存储器单元阵列310可包括三维存储器阵列。例如,三维存储器阵列具有在与半导体衬底的平坦表面垂直的方向上延伸的堆叠结构。此外,三维存储器阵列意味包括NAND串的结构,该NAND串的存储器单元垂直于半导体衬底的平坦表面堆叠。

三维存储器阵列的结构不限于上述实施例。可以具有水平方向性和垂直方向性的高度集成的方式形成存储器阵列结构。在实施例中,在三维存储器阵列的NAND串中,存储器单元平行和垂直于半导体衬底的表面而布置。存储器单元可被不同地间隔开,以提供不同的集成度。

行解码器320可通过字线WL1至WLm与存储器单元阵列310联接。行解码器320可根据控制逻辑360的控制来操作。行解码器320可对由外部装置(未示出)提供的地址进行解码。行解码器320可基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器320可将由电压生成器350提供的字线电压提供到字线WL1至WLm。

数据读取/写入块330可通过位线BL1至BLn与存储器单元阵列310联接。数据读取/写入块330可包括分别对应于位线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块330可根据控制逻辑360的控制来操作。数据读取/写入块330可根据操作模式作为写入驱动器或读出放大器来操作。例如,在写入操作中,数据读取/写入块330可作为写入驱动器来操作,该写入驱动器将由外部装置提供的数据存储在存储器单元阵列310中。再例如,在读取操作中,数据读取/写入块330可作为读出放大器来操作,该读出放大器从存储器单元阵列310读取数据。

列解码器340可根据控制逻辑360的控制来操作。列解码器340可对由外部装置提供的地址进行解码。列解码器340可基于解码结果来将数据读取/写入块330的分别对应于位线BL1至BLn的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。

电压生成器350可生成将用于非易失性存储器装置300的内部操作的电压。通过电压生成器350生成的电压可被施加到存储器单元阵列310的存储器单元。例如,在编程操作中生成的编程电压可被施加到待执行编程操作的存储器单元的字线。再例如,在擦除操作中生成的擦除电压可被施加到待执行擦除操作的存储器单元的阱区域。又例如,在读取操作中生成的读取电压可被施加到待执行读取操作的存储器单元的字线。

控制逻辑360可基于由外部装置提供的控制信号来控制非易失性存储器装置300的一般操作。例如,控制逻辑360可控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。

尽管已经示出和描述了各个实施例,但是本领域技术人员根据本公开将理解的是,所描述的实施例仅为示例。因此,本发明不限于所描述的实施例或受到所描述的实施例的限制。相反,本发明涵盖落入权利要求及其等同方案的范围内的这些实施例的所有修改和变型。

27页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:存储器系统及操作存储器系统的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类