CN110727393A - 数据存储装置及其操作方法、存储系统 - Google Patents
数据存储装置及其操作方法、存储系统 Download PDFInfo
- Publication number
- CN110727393A CN110727393A CN201811580988.8A CN201811580988A CN110727393A CN 110727393 A CN110727393 A CN 110727393A CN 201811580988 A CN201811580988 A CN 201811580988A CN 110727393 A CN110727393 A CN 110727393A
- Authority
- CN
- China
- Prior art keywords
- write
- tag
- data
- attribute
- controller
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
本发明涉及一种数据存储装置,该数据存储装置包括:存储介质;缓冲存储器,被配置成临时存储待输入到存储介质或待从存储介质输出的数据;以及控制器,被配置成控制与存储介质的数据交换,将写入标签分配给写入命令,并且根据写入命令的处理状态来改变写入标签的属性。
Description
相关申请的交叉引用
本申请要求于2018年7月17日向韩国知识产权局提交的申请号为10-2018-0082700的韩国申请的优先权,其全部内容通过引用并入本文。
技术领域
各个实施例总体涉及一种半导体集成设备,且更特别地,涉及一种数据存储装置、该数据存储装置的操作方法以及包括该数据存储装置的存储系统。
背景技术
电连接到主机装置的存储装置响应于来自主机装置的请求执行数据输入/输出操作。存储装置可使用各种存储介质来存储数据。
在数据存储装置中,已提出本机命令排队(native command queuing,NCQ)作为改进待执行命令的开销和输入/输出延迟的一种方法。NCQ方法能够对待处理的命令进行重新排序并通过重新排序来获得高性能。
在NCQ方法中,可以将具有值0至31的标签与待执行的每一个命令相关联。也就是说,每一个命令可具有32种状态中的一种,并且待执行的每一个命令具有唯一标签值。
然而,在NCQ方法中,因为无法通过使用标签来有效管理已在主机接口中处理但尚未在存储装置中处理的数据的状态,所以必须为此提供管理技术。
发明内容
在实施例中,一种数据存储装置可包括:存储介质;缓冲存储器,被配置成临时存储待输入到存储介质或待从存储介质输出的数据;以及控制器,被配置成控制与存储介质的数据交换、将写入标签分配给写入命令并且根据写入命令的处理状态来改变写入标签的属性。
在实施例中,一种数据存储装置的操作方法是一种包括存储介质、缓冲存储器和用于控制到存储介质的数据交换的控制器的数据存储装置的操作方法,该操作方法可包括以下步骤:控制器将写入标签分配给从主机装置接收的写入命令;并且控制器根据写入命令的处理状态来改变写入标签的属性。
在实施例中,存储系统可包括:主机装置;以及数据存储装置,该数据存储装置包括存储介质、缓冲存储器和控制器,其中控制器被配置成控制与存储介质的数据交换、将写入标签分配给写入命令并且及根据写入命令的处理状态来改变写入标签的属性。
在实施例中,存储系统可包括:主机装置;以及数据存储装置,该数据存储装置包括存储介质、缓冲存储器和控制器,其中控制器适于:从主机装置接收写入命令和对应于写入命令的写入数据;将写入标签分配给写入命令;将接收到的写入数据存储在缓冲存储器中;向存储介质提供所存储的写入数据;并且改变写入标签的属性以反映写入数据的处理状态的变化。
附图说明
图1是示出根据实施例的数据存储装置的示图。
图2是示出根据实施例的控制器的示图。
图3是示出根据实施例的控制器的内部操作的示图。
图4是示出根据实施例的主机接口的示图。
图5是示出根据实施例的数据存储装置的操作方法的流程图。
图6是示出根据实施例的标签寄存器的示图。
图7是示出根据实施例的数据存储系统的示图。
图8和图9是示出根据实施例的数据处理系统的示图。
图10是示出包括根据实施例的数据存储装置的网络系统的示图。
图11是示出根据实施例的包括在数据存储装置中的非易失性存储器装置的框图。
具体实施方式
下面将参照附图通过各个实施例来描述数据存储装置、数据存储装置的操作方法及包括该数据存储装置的存储系统。在整个说明书中,对“实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
图1是根据实施例的数据存储装置10的示图。
参照图1,数据存储装置10可包括控制器110、存储介质120和缓冲存储器130。
控制器110可响应于从主机装置接收的请求来控制存储介质120。例如,控制器110可在主机装置的编程(或写入)请求下使数据被编程在存储介质120中。此外,控制器110可响应于主机装置的读取请求将写入在存储介质120中的数据提供给主机装置。
存储介质120可在控制器110的控制下写入数据或输出写入的数据。存储介质120可包括易失性存储器装置或非易失性存储器装置。在实施例中,存储介质120可使用诸如以下的各种非易失性存储器装置中的任何一种来实施:电可擦除可编程只读存储器(ROM)(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变随机存取存储器(RAM)(PRAM)、电阻式RAM(ReRAM或RRAM)、铁电RAM(FRAM)及自旋转移力矩磁性RAM(STT-MRAM)。存储介质120可包括多个管芯Die 0至Die n、多个芯片或多个封装。另外,存储介质120可包括一个或多个单层单元和/或一个或多个多层单元,单层单元中的每一个存储一位数据,多层单元中的每一个存储多位数据。
当数据存储装置10在与主机装置的协作下执行诸如数据写入或读取的一系列操作时,缓冲存储器130用作能够临时存储数据的空间。图1示出了缓冲存储器130位于控制器110外部的示例性布置;然而,缓冲存储器130可被设置在控制器110中。
在实施例中,控制器110可包括标签管理器20。
标签管理器20可被配置成当数据存储装置10响应于主机装置的写入命令执行写入操作时,管理对待写入数据进行标记的进程。
在实施例中,当预期从主机装置接收待写入数据(即,写入数据)时,标签管理器20可将写入标签设置为第一值H。当完成写入数据从主机装置到缓冲存储器130的传输时,标签管理器20可将写入标签设置为第二值N。当完成写入数据到缓冲存储器130的传输且正在执行逻辑到物理地址映射进程时,标签管理器20可将写入标签设置为第三值B。当经历了地址映射的数据被完全编程在存储介质120中时,写入标签可被设置为第四值T。当如上完成写入操作时,可删除用于写入命令的写入标签。
如上所述,标签管理器20可基于根据写入命令而提供的数据的处理状态,例如基于数据在处理管线中的位置来设置标签。可将一个寄存器空间分配给一个命令,并且可管理命令的各种处理状态,使得可最小化写入标签管理所需的资源。此外,当在写入操作期间发生错误时,可在调试操作中通过利用写入标签来检查与发生错误有关的细节。
图2是示出根据实施例的控制器,例如图1的控制器110的示图。
参照图2,控制器110可包括中央处理单元(CPU)111、主机接口(IF)113、只读存储器(ROM)1151、随机存取存储器(RAM)1153、缓冲器管理器117、存储器接口(IF)119和标签管理器20。
CPU 111可被配置成将对存储介质120的数据读取或写入操作所需的各种类型的控制信息传输到主机接口113、RAM 1153、缓冲器管理器117和存储器接口119。在实施例中,CPU 111可根据针对数据存储装置10的各种操作所提供的固件进行操作。在实施例中,CPU111可执行用于执行垃圾收集、地址映射、损耗均衡等以管理存储介质120的闪存转换层(FTL)的功能,以及执行对从存储介质120读取的数据的错误进行检测和校正的功能。
主机接口113可提供通信信道,用于从主机装置接收命令和时钟信号并且在CPU111的控制下控制数据输入/输出。特别地,主机接口113可提供主机装置和数据存储装置10之间的物理连接。主机接口113可与主机装置的总线格式对应地提供与数据存储装置10的接口连接。主机装置的总线格式可包括诸如以下的标准接口协议中至少一种:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)和通用闪存(UFS)。
ROM 1151可存储控制器110进行操作所需的程序代码,例如固件或软件,并且存储程序代码所使用的代码数据等。
RAM 1153可存储控制器110进行操作所需的数据或由控制器110生成的数据。
在启动操作中,CPU 111可将存储在存储介质120或ROM 1151中的启动代码加载到RAM 1153,从而控制数据存储装置10的启动操作。
缓冲器管理器117可被配置成管理缓冲存储器130的使用状态。
存储器接口119可提供用于控制器110与存储介质120之间的信号传输和接收的通信信道。存储器接口119可在CPU 111的控制下将已被临时存储在缓冲存储器130中的数据写入存储介质120中。此外,存储器接口119可将从存储介质120读取的数据传输到缓冲存储器130以用于临时存储。
标签管理器20可基于根据写入命令而提供的数据的处理状态,例如数据位置在预设寄存器空间中设置标签。标签管理器20可被配置成根据待写入数据的处理状态来更新标签。标签管理器20可在完成写入操作时删除标签。
标签管理器20可被设置在主机接口113内。
图3是示出根据实施例的控制器,例如图1和图2的控制器110的内部操作的示图。
参照图3,控制器110可允许通过主机接口层(HIL)210、闪存转换层(FTL)220和闪存接口层(FIL)230在主机装置和存储介质120之间执行数据交换。
HIL 210控制主机接口113,使得主机装置和控制器110彼此接口连接。
FTL 220控制控制器110以执行垃圾收集、地址映射、损耗均衡等,以用于管理存储介质120。
FIL 230控制存储器接口119,使得控制器110和存储介质120彼此接口连接。
因此,可在HIL 210的控制下将从主机装置接收的写入数据传输到缓冲存储器130。FTL 220可决定存储介质120中用于存储写入数据的位置,将写入数据的逻辑地址和物理地址相互映射,并且将映射的地址反映在映射表中。当完成映射时,可在FIL 230的控制下将被临时存储在缓冲存储器130中的数据存储在存储介质120中已决定的物理位置中。
在这种数据写入进程中,标签管理器20被配置成根据数据处理进程来改变标签属性。
图4是示出根据实施例的主机接口,例如图2的主机接口113的示图。
参照图4,主机接口(IF)113可包括命令管理器1131、命令分析器1133、缓冲器分配器1135、命令处理器1137、标签管理器1139、命令寄存器1141和标签寄存器1143。
命令管理器1131可分配命令寄存器1141的空的空间并将从主机装置接收的命令存储在所分配空间中。
命令分析器1133可对从主机装置接收的命令进行解析。
当接收到的命令是写入命令时,缓冲器分配器1135可分配缓冲存储器130的空的空间,以用于临时存储写入数据,并向主机装置提供缓冲器分配信息。因此,主机装置可将写入数据传输到缓冲存储器130的所分配空间。
命令处理器1137可根据设定序列处理已由命令分析器1133解析的命令。
标签管理器1139可被配置成,当根据从主机装置接收的写入命令执行写入操作时,基于命令处理器1137的处理情况来管理写入标签的属性。图4示出了标签管理器1139设置在主机接口113内部的示例。标签管理器1139可具有与图1和图2的标签管理器20相同的功能。
可在标签寄存器1143中存储和管理写入标签。
在实施例中,当预期从主机装置接收待写入的写入数据时,标签管理器1139可将写入标签设置为第一值H。当完成写入数据从主机装置到缓冲存储器130的传输时,标签管理器1139可将写入标签设置为第二值N。当完成到缓冲存储器130的数据传输且正在执行逻辑到物理地址映射过程时,标签管理器1139可将写入标签设置为第三值B。当经历了地址映射的数据被完全编程在存储介质120中时,写入标签可被设置为第四值T。当如上完成写入操作时,可删除用于写入命令的写入标签。
从主机装置接收的写入命令CMD-0、CMD-1、CMD-2、CMD-3或CMD-k可具有唯一的写入标签。可通过其写入标签来检查相应写入命令的处理状态。
没有将针对每一个写入处理情况的标签存储在单独的寄存器中,并且根据处理情况来改变标签属性。因此,可以最小化写入标签管理资源。
在实施例中,标签寄存器1143可存储用于每一个写入命令的标签。进一步地,标签寄存器1143可存储当前正被处理的写入命令的数量C。
当完成写入操作时,可从标签寄存器1143中删除与所完成的写入操作相对应的命令的标签。当发出新的写入命令时,根据新的写入命令分配标签。因此,标签管理器1139可根据正由标签寄存器1143管理的写入标签的数量来更新当前正被处理的写入命令的数量C。
图5是示出根据实施例的数据存储装置,例如图1的数据存储装置10的操作方法的流程图。
参照图5,当从主机装置传输命令(例如写入命令)并由数据存储装置10的控制器110接收到命令时(S101),控制器110的HIL 210可将命令存储在命令寄存器1141中(S103)并对命令进行解析(S105)。
当在从主机装置接收到写入命令之后等待写入数据的同时,可为命令分配指示命令的属性或状态的具有第一值H的写入标签。
当作为解析的结果确定命令是写入命令时,HIL 210可分配用于存储写入数据的缓冲器空间(S107),并且向主机装置通知缓冲器分配信息。即使在这个时候,因为未从主机装置接收到写入数据,所以写入标签保持为第一值H。
然后,主机装置可通过HIL 210将写入数据临时存储在缓冲存储器130中(S109和S111)。换言之,HIL 210可将来自主机装置的写入数据高速缓冲在缓冲存储器130中。当写入数据被存储在缓冲存储器130中时,可将写入标签的属性改变为第二值N。
当临时存储了数据时,HIL 210可将命令传输到FTL 220(S113)。当命令被传输到FTL 220时,可将写入标签的属性改变为第三值B。在命令正被处理的同时,写入标签的属性可保持为第三值B。
FTL 220可响应于命令分配存储介质120的物理空间以存储写入数据,将逻辑地址和物理地址相互映射,并且将映射的地址反映在映射表中(S115)。
然后,FTL 220将命令传输到FIL 230(S117),使得写入数据可通过FIL 230被传输并存储在存储介质120中(S119)。可将写入标签的属性改变为第四值T。
在将写入数据完全编程在存储介质120中之后,存储介质120可将指示写入数据编程完成的状态信号传输到控制器110。因此,可从标签寄存器1143中删除写入命令的标签。
图6是示出根据实施例的标签寄存器,例如图4的标签寄存器1143的示图。
参照图6,可将针对每一个写入命令而管理的写入标签存储在标签寄存器1143中。如图1所示,写入数据可被临时存储在缓冲存储器130中并然后可被编程到存储介质120中。因此,当根据其中已经临时存储了写入数据的缓冲存储器130的索引(即,缓冲器索引)来管理写入标签的当前状态时,可容易地管理每一个写入命令的数据处理情况。
在从主机装置接收到写入命令之后,在将写入数据存储在缓冲存储器130中之前(即,在图5的步骤S101、S103、S105和S107中),写入标签的属性(即,当前状态)可具有第一值H。
当将写入数据存储在缓冲存储器130中(图5的S111)时,写入标签的属性可具有第二值N。
然后,在执行了地址映射之前(图5的S115),写入标签的属性可具有第三值B。
当写入数据被编程在存储介质120中(图5的S119)时,可将写入标签的属性改变为第四值T。
主机装置可被配置成在写入数据被存储在缓冲存储器130中时识别出已经完成写入操作。根据本发明的实施例,可通过使用最小化的资源,利用标签来有效地管理已在主机接口113中处理但尚未在存储介质120中处理的数据,该标签指示这种数据的处理状态。
根据本发明的实施例,没有将针对每一个处理状态的、指示写入操作的处理状态的标签存储在单独的寄存器中,并且根据处理状态改变标签属性。因此,可以最小化写入标签管理资源。因此,即使在数据存储装置从主机装置接收到多个写入请求并处理这些写入请求时,也可通过使用单个标签寄存器来了解根据每一个写入请求的每一个命令的状态并有效地管理命令的整体进程。
另外,当在写入操作期间发生错误时,可检查对应于写入操作的标签以确定发生了错误的数据存储装置的内部进程,从而提高调试效率。
图7是示出根据实施例的数据存储系统1000的示图。
参照图7,数据存储系统1000可包括主机装置1100和数据存储装置1200。在实施例中,数据存储装置1200可被配置成固态驱动器(SSD)。
数据存储装置1200可包括控制器1210、多个非易失性存储器装置1220-0至1220-n、缓冲存储器装置1230、电源1240、信号连接器1101和电源连接器1103。
控制器1210可控制数据存储装置1200的一般操作。控制器1210可包括主机接口、控制部件、用作工作存储器的随机存取存储器、错误校正码(ECC)部件和存储器接口。在实施例中,控制器1210可由图1至图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可分别通过多个通道CH1至CHn与控制器1210联接。一个或多个非易失性存储器装置可联接到一个通道。联接到相同通道的非易失性存储器装置可联接到相同的信号总线和数据总线。
电源1240可将通过电源连接器1103输入的电力提供到数据存储装置1200的内部。电源1240可包括辅助电源。辅助电源可提供电力以使数据存储装置1200在发生突然断电时正常地终止。辅助电源可包括大容量电容器。
信号连接器1101可根据主机装置1100和数据存储装置1200之间的接口方案而通过各种类型的连接器来配置。
电源连接器1103可根据主机装置1100的供电方案而通过各种类型的连接器配置。
图8是示出根据实施例的数据处理系统3000的示图。参照图8,数据处理系统3000可包括主机装置3100和存储器系统3200。
主机装置3100可以诸如印刷电路板的板形式来配置。虽然未示出,但主机装置3100可包括用于执行主机装置的功能的内部功能块。
主机装置3100可包括诸如插座、插槽或连接器的连接端子3110。存储器系统3200可被安装到连接端子3110。
存储器系统3200可以诸如印刷电路板的板形式来配置。存储器系统3200可被称为存储器模块或存储卡。存储器系统3200可包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可控制存储器系统3200的一般操作。控制器3210可以与图1至图4所示的控制器110相同的方式来实施。
缓冲存储器装置3220可临时存储待被存储在非易失性存储器装置3231和3232中的数据。进一步地,缓冲存储器装置3220可临时存储从非易失性存储器装置3231和3232读取的数据。被临时存储在缓冲存储器装置3220中的数据可根据控制器3210的控制被传输到主机装置3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可用作存储器系统3200的存储介质。
PMIC 3240可将通过连接端子3250输入的电力提供到存储器系统3200的内部。PMIC 3240可根据控制器3210的控制来管理存储器系统3200的电力。
连接端子3250可联接到主机装置3100的连接端子3110。通过连接端子3250,诸如命令、地址、数据等的信号和电力可在主机装置3100与存储器系统3200之间传输。根据主机装置3100和存储器系统3200之间的接口方案,连接端子3250可被配置成各种类型。连接端子3250可被设置在存储器系统3200的任何一侧上。
图9是示出根据实施例的数据处理系统4000的示图。参照图9,数据处理系统4000可包括主机装置4100和存储器系统4200。
主机装置4100可以诸如印刷电路板的板形式来配置。虽然未示出,但主机装置4100可包括用于执行主机装置的功能的内部功能块。
存储器系统4200可以表面安装型封装的形式来配置。存储器系统4200可通过焊球4250安装到主机装置4100。存储器系统4200可包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可控制存储器系统4200的一般操作。控制器4210可以与图1至图4所示的控制器110相同的方式来实施。
缓冲存储器装置4220可临时存储待被存储在非易失性存储器装置4230中的数据。进一步地,缓冲存储器装置4220可临时存储从非易失性存储器装置4230读取的数据。被临时存储在缓冲存储器装置4220中的数据可根据控制器4210的控制被传输到主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可用作存储器系统4200的存储介质。
图10是示出包括根据实施例的数据存储装置的网络系统5000的示图。参照图10,网络系统5000可包括通过网络5500联接的服务器系统5300和多个客户端系统5410至5430。
服务器系统5300可响应于来自多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可存储从多个客户端系统5410至5430提供的数据。再例如,服务器系统5300可将数据提供给多个客户端系统5410至5430。
服务器系统5300可包括主机装置5100和存储器系统5200。存储器系统5200可由图1所示的存储器系统10、图7所示的数据存储装置1200、图8所示的存储器系统3200或图9所示的存储器系统4200来配置。
图11是示出包括在根据实施例的数据存储装置中的非易失性存储器装置300的框图。参照图11,非易失性存储器装置300可包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压发生器350和控制逻辑360。
存储器单元阵列310可包括设置在字线WL1至WLm和位线BL1至BLn彼此交叉的区域处的存储器单元MC。
存储器单元阵列310可包括三维(3D)存储器阵列。三维存储器阵列具有垂直于半导体衬底的平坦表面延伸的方向。此外,三维存储器阵列是包括NAND串的结构,其中至少一个存储器单元位于另一存储器单元的竖直上部中。
然而,三维存储器阵列的结构不限于上述布置。更一般地,可以具有水平方向性和垂直方向性的高度集成的方式来形成3D存储器阵列结构。
行解码器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的读取操作、写入操作和擦除操作。
虽然已经说明和描述了各个实施例,但是本领域技术人员根据本公开将理解,所描述的实施例是示例,并且可在本发明的范围内对这些示例进行各种修改。因此,本文所公开的数据存储装置、该数据存储装置的操作方法以及包括该数据存储装置的存储系统不应基于所描述的实施例而被限制。相反地,本发明包括落入权利要求范围内的所有变化和修改。
Claims (23)
1.一种数据存储装置,包括:
存储介质;
缓冲存储器,临时存储待输入到所述存储介质或待从所述存储介质输出的数据;以及
控制器,控制与所述存储介质的数据交换、将写入标签分配给写入命令并且根据所述写入命令的处理状态来改变所述写入标签的属性。
2.根据权利要求1所述的数据存储装置,其中所述控制器基于根据所述写入命令的写入数据的处理状态来改变所述写入标签的所述属性。
3.根据权利要求1所述的数据存储装置,其中所述控制器:当所述写入数据预期将被存储在所述缓冲存储器中时将所述写入标签的所述属性设置为第一值,当所述写入数据被存储在所述缓冲存储器中时将所述写入标签的所述属性设置为第二值,当针对所述写入数据的地址映射正被执行时将所述写入标签的所述属性设置为第三值,并且当所述写入数据被编程在所述存储介质中时将所述写入标签的所述属性设置为第四值。
4.根据权利要求3所述的数据存储装置,其中当所述写入数据被完全编程在所述存储介质中且所述存储介质通知所述控制器编程完成时,所述控制器删除与已通知编程完成的所述写入命令相对应的所述写入标签。
5.根据权利要求1所述的数据存储装置,其中所述控制器包括:
命令寄存器,存储已从主机装置接收到的所述写入命令;以及
标签寄存器,存储分配给所述写入命令的所述写入标签。
6.根据权利要求5所述的数据存储装置,其中所述标签寄存器存储临时存储所述写入数据的所述缓冲存储器的索引信息以及所述写入标签。
7.根据权利要求6所述的数据存储装置,其中所述标签寄存器进一步存储正被处理的写入命令的数量。
8.根据权利要求1所述的数据存储装置,其中所述控制器基于根据所述写入命令的写入数据的处理位置来改变所述写入标签的所述属性。
9.一种操作数据存储装置的方法,所述数据存储装置包括存储介质、缓冲存储器以及用于控制与所述存储介质的数据交换的控制器,所述方法包括:
所述控制器将写入标签分配给从主机装置接收的写入命令;并且
所述控制器根据所述写入命令的处理状态来改变所述写入标签的属性。
10.根据权利要求9所述的方法,其中基于根据所述写入命令的写入数据的处理状态来改变所述写入标签的所述属性。
11.根据权利要求9所述的方法,其中改变所述写入标签的所述属性包括:
当所述写入数据预期被存储在所述缓冲存储器中时,将所述写入标签的所述属性设置为第一值;
当所述写入数据被存储在所述缓冲存储器中时,将所述写入标签的所述属性设置为第二值;
当针对所述写入数据的地址映射正被执行时,将所述写入标签的所述属性设置为第三值;并且
当所述写入数据被编程在所述存储介质中时,将所述写入标签的所述属性设置为第四值。
12.根据权利要求11所述的方法,进一步包括:
当所述写入数据被完全编程在所述存储介质中时,所述存储介质通知所述控制器编程完成;并且
所述控制器删除与已通知编程完成的所述写入命令相对应的所述写入标签。
13.根据权利要求9所述的方法,其中分配所述写入标签包括:
存储临时存储所述写入数据的所述缓冲存储器的索引信息以及所述写入标签。
14.根据权利要求9所述的方法,其中基于根据所述写入命令的写入数据的处理位置来改变所述写入标签的所述属性。
15.一种存储系统,包括:
主机装置;以及
数据存储装置,包括存储介质、缓冲存储器和控制器,
其中所述控制器控制与所述存储介质的数据交换、将写入标签分配给写入命令并且根据所述写入命令的处理状态来改变所述写入标签的属性。
16.根据权利要求15所述的存储系统,其中基于根据所述写入命令的写入数据的处理状态来改变所述写入标签的所述属性。
17.根据权利要求15所述的存储系统,其中所述控制器:当所述写入数据预期被存储在所述缓冲存储器中时将所述写入标签的所述属性设置为第一值,当所述写入数据被存储在所述缓冲存储器中时将所述写入标签的所述属性设置为第二值,当针对所述写入数据的地址映射正被执行时将所述写入标签的所述属性设置为第三值,并且当所述写入数据被编程在所述存储介质中时将所述写入标签的所述属性设置为第四值。
18.根据权利要求17所述的存储系统,其中当所述写入数据被完全编程在所述存储介质中且所述存储介质通知所述控制器编程完成时,所述控制器删除与已通知编程完成的所述写入命令相对应的所述写入标签。
19.根据权利要求15所述的存储系统,其中所述控制器包括:
命令寄存器,存储已从主机装置接收到的所述写入命令;以及
标签寄存器,存储分配给所述写入命令的所述写入标签。
20.根据权利要求19所述的存储系统,其中所述标签寄存器存储临时存储所述写入数据的所述缓冲存储器的索引信息以及所述写入标签。
21.根据权利要求20所述的存储系统,其中所述标签寄存器进一步存储正被处理的写入命令的数量。
22.根据权利要求15所述的存储系统,其中基于根据所述写入命令的写入数据的处理状态来改变所述写入标签的所述属性。
23.一种存储系统,包括:
主机装置;以及
数据存储装置,包括存储介质、缓冲存储器和控制器,
其中所述控制器:
从所述主机装置接收写入命令和对应于所述写入命令的写入数据;
将写入标签分配给所述写入命令;
将所接收到的写入数据存储在所述缓冲存储器中;
向所述存储介质提供所存储的写入数据;并且
改变所述写入标签的属性以反映所述写入数据的处理状态的变化。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180082700A KR102649657B1 (ko) | 2018-07-17 | 2018-07-17 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
KR10-2018-0082700 | 2018-07-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110727393A true CN110727393A (zh) | 2020-01-24 |
CN110727393B CN110727393B (zh) | 2023-06-06 |
Family
ID=69161883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811580988.8A Active CN110727393B (zh) | 2018-07-17 | 2018-12-24 | 数据存储装置及其操作方法、存储系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10606509B2 (zh) |
KR (1) | KR102649657B1 (zh) |
CN (1) | CN110727393B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11750706B1 (en) * | 2020-03-26 | 2023-09-05 | Amazon Technologies, Inc. | Data transmission time management |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1384437A (zh) * | 2001-04-29 | 2002-12-11 | 矽统科技股份有限公司 | 适用于主存储单元的快取存储系统 |
US20070157059A1 (en) * | 2006-01-05 | 2007-07-05 | International Business Machines Corporation | Apparatus and method for integrated functional built-in self test for an ASIC |
CN101295169A (zh) * | 2007-01-29 | 2008-10-29 | 洛克威尔自动控制技术股份有限公司 | 使用储存在字符串标签中的名称来间接存取控制器数据的方法 |
CN102439576A (zh) * | 2009-04-09 | 2012-05-02 | 美光科技公司 | 存储器控制器、存储器系统、固态驱动器及用于处理若干个命令的方法 |
CN103176752A (zh) * | 2012-07-02 | 2013-06-26 | 晶天电子(深圳)有限公司 | 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器 |
US20140215103A1 (en) * | 2013-01-31 | 2014-07-31 | Lsi Corporation | Decoupled locking dma architecture |
US20150242160A1 (en) * | 2014-02-26 | 2015-08-27 | Kabushiki Kaisha Toshiba | Memory system, control method of memory system, and controller |
US20160004457A1 (en) * | 2014-07-02 | 2016-01-07 | International Business Machines Corporation | Buffered Automated Flash Controller Connected Directly to Processor Memory Bus |
CN107123441A (zh) * | 2016-02-24 | 2017-09-01 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN107643985A (zh) * | 2016-07-21 | 2018-01-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN108280033A (zh) * | 2017-01-04 | 2018-07-13 | 爱思开海力士有限公司 | 数据存储设备及其操作方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0733233A4 (en) * | 1993-12-12 | 1997-05-14 | Asp Solutions Usa Inc | SIGNAL PROCESSING APPARATUS AND METHOD |
US7546576B2 (en) * | 2001-06-15 | 2009-06-09 | Lightsurf Technology, Inc. | Software framework for web-based applications |
DE602006011292D1 (de) * | 2005-04-08 | 2010-02-04 | Panasonic Corp | Cache-speichersystem und steuerverfahren dafür |
JP4907268B2 (ja) * | 2006-08-29 | 2012-03-28 | 株式会社日立製作所 | 無線icメモリ、無線icメモリ用のアクセス装置及びアクセス制御方法 |
CN101739536A (zh) * | 2008-11-26 | 2010-06-16 | 西门子公司 | 一种在射频识别系统中对标签进行读写的方法和读写器 |
US8230159B2 (en) * | 2009-03-27 | 2012-07-24 | Lsi Corporation | System, method, and computer program product for sending logical block address de-allocation status information |
US8671258B2 (en) * | 2009-03-27 | 2014-03-11 | Lsi Corporation | Storage system logical block address de-allocation management |
CN102449610B (zh) | 2009-03-27 | 2014-07-16 | Lsi公司 | 用于提供存储系统逻辑块地址的释放管理的方法及设备 |
US8832324B1 (en) * | 2013-03-15 | 2014-09-09 | International Business Machines Corporation | First-in-first-out queue-based command spreading |
KR101457802B1 (ko) | 2013-05-31 | 2014-11-04 | 서울대학교산학협력단 | 병렬화 기법을 활용하는 플래시 메모리 칩 |
KR102435873B1 (ko) * | 2015-12-18 | 2022-08-25 | 삼성전자주식회사 | 스토리지 장치 및 그것의 리드 리클레임 방법 |
KR102615659B1 (ko) * | 2016-07-08 | 2023-12-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
-
2018
- 2018-07-17 KR KR1020180082700A patent/KR102649657B1/ko active IP Right Grant
- 2018-12-13 US US16/219,527 patent/US10606509B2/en active Active
- 2018-12-24 CN CN201811580988.8A patent/CN110727393B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1384437A (zh) * | 2001-04-29 | 2002-12-11 | 矽统科技股份有限公司 | 适用于主存储单元的快取存储系统 |
US20070157059A1 (en) * | 2006-01-05 | 2007-07-05 | International Business Machines Corporation | Apparatus and method for integrated functional built-in self test for an ASIC |
CN101295169A (zh) * | 2007-01-29 | 2008-10-29 | 洛克威尔自动控制技术股份有限公司 | 使用储存在字符串标签中的名称来间接存取控制器数据的方法 |
CN102439576A (zh) * | 2009-04-09 | 2012-05-02 | 美光科技公司 | 存储器控制器、存储器系统、固态驱动器及用于处理若干个命令的方法 |
CN103176752A (zh) * | 2012-07-02 | 2013-06-26 | 晶天电子(深圳)有限公司 | 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器 |
US20140215103A1 (en) * | 2013-01-31 | 2014-07-31 | Lsi Corporation | Decoupled locking dma architecture |
US20150242160A1 (en) * | 2014-02-26 | 2015-08-27 | Kabushiki Kaisha Toshiba | Memory system, control method of memory system, and controller |
US20160004457A1 (en) * | 2014-07-02 | 2016-01-07 | International Business Machines Corporation | Buffered Automated Flash Controller Connected Directly to Processor Memory Bus |
CN107123441A (zh) * | 2016-02-24 | 2017-09-01 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN107643985A (zh) * | 2016-07-21 | 2018-01-30 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN108280033A (zh) * | 2017-01-04 | 2018-07-13 | 爱思开海力士有限公司 | 数据存储设备及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
KR102649657B1 (ko) | 2024-03-21 |
US20200026460A1 (en) | 2020-01-23 |
KR20200008713A (ko) | 2020-01-29 |
US10606509B2 (en) | 2020-03-31 |
CN110727393B (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110874188B (zh) | 数据存储装置、其操作方法以及具有其的存储系统 | |
KR102532084B1 (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
CN111324557B (zh) | 数据存储装置、其操作方法以及包括其的存储系统 | |
KR20190102781A (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
US20190179694A1 (en) | Data storage device, operating method thereof and storage system including the same | |
CN111258918A (zh) | 数据存储装置及其操作方法、存储系统 | |
CN111414131B (zh) | 数据存储装置、其操作方法和包括其的存储系统 | |
US20200081649A1 (en) | Data storage device, operation method thereof and storage system including the same | |
KR20210038753A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
CN111708480B (zh) | 数据存储装置及其操作方法和控制器 | |
CN111258494B (zh) | 数据存储装置及操作方法、具有数据存储装置的存储系统 | |
US20200089421A1 (en) | Data storage device, operation method thereof, and storage system including the same | |
CN110727393B (zh) | 数据存储装置及其操作方法、存储系统 | |
US20200073701A1 (en) | Data storage device, operation method thereof and storage system having the same | |
CN111752854A (zh) | 数据存储装置及其操作方法 | |
US11543990B2 (en) | Data storage apparatus with extended lifespan and operation method thereof | |
US20210333999A1 (en) | Data storage device, operation method thereof and storage system having the same | |
CN114791787A (zh) | 数据存储设备及其操作方法 | |
CN113467708A (zh) | 电子装置、数据存储装置及其操作方法 | |
KR20210055448A (ko) | 데이터 저장 장치 및 그 동작 방법 | |
US11593006B2 (en) | Data storage apparatus and method for managing valid data based on bitmap table | |
US20220188008A1 (en) | Data storage apparatus and operation method thereof | |
CN114625309A (zh) | 数据存储设备及其操作方法 | |
CN113010092A (zh) | 数据存储设备及其操作方法 |
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 |