CN110196684A - 数据存储装置、其操作方法以及具有其的存储*** - Google Patents
数据存储装置、其操作方法以及具有其的存储*** Download PDFInfo
- Publication number
- CN110196684A CN110196684A CN201811102341.4A CN201811102341A CN110196684A CN 110196684 A CN110196684 A CN 110196684A CN 201811102341 A CN201811102341 A CN 201811102341A CN 110196684 A CN110196684 A CN 110196684A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- write
- written
- storage device
- 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
Links
Classifications
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- 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/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0613—Improving I/O performance in relation to throughput
-
- 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/0625—Power saving in 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/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/0658—Controller construction 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
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1021—Hit rate improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- 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/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- 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/45—Caching of specific data in cache memory
-
- 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/60—Details of cache memory
- G06F2212/604—Details relating to cache allocation
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Computer Security & Cryptography (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种数据存储装置、其操作方法以及具有其的存储***,其中数据存储装置可以包括:存储单元;控制器,被配置为将数据写入到存储单元或从存储单元读取数据;以及多个缓冲存储器。控制器可以包括写入控制单元,被配置为基于从主机装置提供的写入有关的命令,根据待被写入到存储单元的数据的种类,以不同的方式分配缓冲存储器,以用于临时存储待被写入的数据。
Description
相关申请的交叉引用
本申请要求于2018年2月27日向韩国知识产权局提交的申请号为10-2018-0023698的韩国申请的优先权,其通过引用整体并入本文。
技术领域
各个实施例总体涉及一种半导体集成装置。特别地,实施例涉及一种数据存储装置、操作数据存储装置的方法以及具有数据存储装置的存储***。
背景技术
存储装置与主机装置联接并且被配置为响应于主机的请求执行数据访问操作。存储装置可以使用各种存储介质来存储数据。特别地,在移动信息装置的情况下,移动信息装置中采用的存储介质的容量已经逐渐增大,以便提供基于多媒体数据的各种功能。
由于使用闪速存储器的存储介质具有支持高容量、非易失性、具有低生产成本和低功耗以及具有高数据处理速度的优点,因此对使用闪速存储器的存储介质的需求不断增长。
闪速存储器可以被实现为替代硬盘的固态硬盘(在下文中被称为“SDD”)类型、能够用作嵌入式存储器的嵌入类型、移动类型等。闪速存储器可以被用于各种电子装置中。
随着电子装置的发展,需要存储介质满足更高容量、更高集成度、小型化、更高性能和更高速度的要求。特别地,在用于处理大量数据的存储介质的情况下,数据处理速度为存储介质性能的重要因素。
发明内容
各个实施例涉及一种具有提高的数据处理速度的数据存储装置、操作数据存储装置的方法以及具有数据存储装置的存储***。
在实施例中,一种数据存储装置可以包括:存储装置;控制器,将数据写入到存储装置或从存储装置读取数据;以及多个缓冲存储器,其中控制器包括写入控制部件,所述写入控制部件基于从主机装置接收的写入有关的命令,根据待被写入到存储装置的数据的种类,以不同的方式分配多个缓冲存储器中的缓冲存储器,以用于临时存储待被写入的数据。
在实施例中,一种数据存储装置可以包括:存储装置;多个缓冲存储器;以及控制器,控制关于存储装置的数据交换,其中控制器包括:命令解析器,解析从主机装置接收的写入有关的命令;写入信息发生器,基于命令解析器的解析操作的结果,根据待被写入到存储装置的数据的种类,以不同的方式分配多个缓冲存储器中的缓冲存储器,以用于临时存储待被写入的数据,并且生成写入数据所需的写入信息;第一数据写入器,基于写入信息将数据写入到分配的缓冲存储器;以及第二数据写入器,基于写入信息将临时存储在分配的缓冲存储器中的数据写入到存储装置。
在实施例中,一种操作数据存储装置的方法,该数据存储装置包括存储装置、多个缓冲存储器以及控制关于存储装置的数据交换的控制器,方法包括:通过控制器解析从主机装置接收的写入有关的命令;基于解析的结果,根据待被写入到存储装置的数据的种类,以不同的方式分配多个缓冲存储器中的缓冲存储器,以用于临时存储待被写入的数据,并且生成写入信息以写入数据;在临时写入操作中,基于写入信息将数据写入到分配的缓冲存储器;并且在主写入操作中,基于写入信息将临时存储在分配的缓冲存储器中的数据写入到存储装置。
在实施例中,一种存储***可以包括:主机装置;以及数据存储装置,包括:存储装置;多个缓冲存储器;以及控制器,将数据写入到存储装置或从存储装置读取数据,其中控制器包括写入控制部件,写入控制部件基于从主机装置接收的写入有关的命令,根据待被写入到存储装置的数据的种类,以不同的方式分配多个缓冲存储器中的缓冲存储器,以用于临时存储待被写入的数据。
在实施例中,一种存储器***可以包括:存储器装置,存储数据;第一缓冲存储器和第二缓冲存储器,缓冲待被存储到存储器装置中的数据;以及控制器:响应于第一写入命令将第一数据缓冲在第一缓冲存储器中;并且响应于第二写入命令将第二数据缓冲在第二缓冲存储器中,并由第二数据生成第三数据,第三数据适于存储到存储器装置中;传输写入完成消息;并且在传输写入完成消息之后,控制存储器装置将第一数据和第三数据存储在存储器装置中。
附图说明
图1是示出根据实施例的数据存储装置的配置的示图。
图2是示出根据实施例的控制器和缓冲存储器阵列的配置的示图。
图3是示出根据实施例的写入控制部件的配置的示图。
图4是示出根据实施例的操作数据存储装置的方法的流程图。
图5是示出根据实施例的包括固态硬盘(SSD)的数据处理***的示图。
图6是示出根据实施例的包括存储器***的数据处理***的示图。
图7是示出根据实施例的包括存储器***的数据处理***的示图。
图8是示出根据实施例的包括存储器***的网络***的图。
图9是示出根据实施例的存储器***中的非易失性存储器装置的框图。
具体实施方式
下面将通过各个实施例参照附图描述数据存储装置、操作数据存储装置的方法以及具有数据存储装置的存储***。然而,应注意的是,本公开可以以不同的其它形式和变化实施,并且不应被解释为限于本文阐述的实施例。相反,提供所述实施例使得本公开将是彻底且完整的,并且将向本公开所属领域的技术人员充分传达本公开。在整个公开中,相同的附图标记在贯穿本公开的各个附图和实施例中表示相同的部件。
注意的是,在整个说明书中,对“实施例”等的参考不一定仅针对一个实施例,并且对“实施例”等的不同参考不一定针对相同的实施例。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,可能已经夸大了比例。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,还将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有该元件或也可存在一个或多个中间元件。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本公开。
如本文使用的,单数形式也可以包括复数形式并且反之亦然,除非上下文另有清楚地说明。
在下文中,将参照附图详细地描述本公开的各个实施例。
图1是示出根据实施例的数据存储装置10的配置的示图。
参照图1,数据存储装置10可以包括控制器110和存储装置120。另外,缓冲存储器阵列200可以被设置在控制器110内部或外部。
控制器110可以响应于主机装置的请求控制存储装置120,其中主机装置可以是主机处理器。例如,控制器110可以响应于主机装置的编程(写入)请求使数据能够被编程到存储装置120。此外,控制器110可以响应于主机装置的读取请求将存储在存储装置120中的数据提供给主机装置。
存储装置120可以在控制器110的控制下存储数据或输出存储的数据。存储装置120可以包括易失性存储器装置或非易失性存储器装置形成。在实施例中,存储装置120可以使用选自诸如以下的各种非易失性存储器元件中的存储器元件来实现:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-MRAM)。存储装置120可以包括多个管芯、多个芯片或多个封装。另外,存储装置120可以包括单层单元或者多层单元,每个单层单元能够存储一位数据,每个多层单元能够存储多位数据。
当数据存储装置10结合主机装置执行一系列操作,例如包括写入或读取数据的操作时,缓冲存储器阵列200用作能够临时存储数据的空间。
控制器110可以包括写入控制部件20。写入控制部件20可以被配置为:当数据存储装置10响应于主机命令执行写入操作时,根据待被写入的数据的种类以不同的方式分配缓冲存储器,以用于临时数据存储。
在实施例中,缓冲存储器阵列200可以包括输入/输出缓冲存储器2001和辅助缓冲存储器2003。当主机装置发出正常写入命令时,数据存储装置10可以将待被写入到存储装置120的数据临时存储到输入/输出缓冲存储器2001。另一方面,当主机装置发出不同于正常写入命令的指示写入操作的命令时,数据存储装置10可以将待被写入的数据临时存储到辅助缓冲存储器2003。
在实施例中,不同于正常写入命令的指示写入操作的命令可以包括重放保护存储块(replay protected memory block,RPMB)写入命令和取消映射(unmap)命令。
在根据RPMB写入命令的写入操作期间,需要控制器110或写入控制部件20执行处理待被写入的数据的操作。在实施例中,在根据RPMB写入命令的写入操作期间,处理数据的操作可以是使待被处理的数据单元同步的操作。
正常写入操作的数据单元可以具有第一大小(例如,4K字节)。在RPMB写入操作期间待从主机装置传输的数据单元可以具有小于第一大小的第二大小(例如,256字节)。因此,控制器110或写入控制部件20可以修改RPMB写入数据的大小,使得RPMB写入操作可以与正常写入操作同步。
在由取消映射命令指示的写入操作期间,具有相同级别(level)的虚拟数据,而非有意义的数据,可以被写入到已经写入映射数据的区域。虚拟数据可以是从控制器110或写入控制部件20生成的数据,而不是从主机装置提供的数据。
因此,在RPMB写入操作或取消映射操作期间,从主机装置提供的数据可以在被存储到存储装置120之前,通过控制器110的自处理过程被处理,而不是被直接写入到存储装置120。换言之,可以不从主机装置提供数据,或者不需要将从主机装置提供的数据保留在缓冲存储器区域中。因此,在不同于正常写入命令的指示写入操作的命令情况下,辅助缓冲存储器2003可以被分配为临时存储区域,使得输入/输出缓冲存储器2001的使用效率可以提高。
在写入控制部件20的控制下,输入/输出缓冲存储器2001可以被管理为用于仅临时存储用户数据的空间。这样,可以确保用于临时存储用户数据的足够空间。响应于来自主机装置的正常写入命令,用户数据可以被立即存储到输入/输出缓冲存储器2001,并且响应信号可以被传输到主机装置。以这种方式,可以确保高速操作。
图2是示出根据实施例的控制器110和缓冲存储器阵列200的配置的示图。
参照图2,控制器110可以包括中央处理单元(例如,CPU)111、主机接口113、操作存储器115、缓冲器管理器117和存储器接口119。
缓冲存储器阵列200可以包括第一缓冲存储器210-0至第n+1缓冲存储器210-n。多个缓冲存储器210-0至210-n可以包括至少一个输入/输出缓冲存储器2001和至少一个辅助缓冲存储器2003。
中央处理单元111可以将数据读取或写入操作所需的各种控制信息传输到主机接口113、操作存储器115、缓冲器管理器117和存储器接口119。在实施例中,中央处理单元111可以根据为数据存储装置10的各种操作所提供的固件来操作。在实施例中,中央处理单元111可以实施闪存转换层(FTL)的功能,以执行垃圾收集操作、地址映射操作、损耗均衡操作等来管理存储装置120。作为实施例,中央处理单元111可以检测从存储装置120读取的数据中的错误并且校正错误。
主机接口113可以提供通信通道,其中通信通道被配置为从主机装置(例如,主机处理器)接收命令和时钟信号并且在中央处理单元111的控制下控制数据的输入或输出。特别地,主机接口113可以在主机装置和数据存储装置10之间提供物理连接。此外,主机接口113可以根据主机装置的总线格式提供与数据存储装置10的接口连接。主机装置的总线格式可以包括诸如以下的标准接口协议中的至少一种:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机***接口(SCSI)、串列SCSI(SAS)、***组件互连(PCI)、高速PCI(PCI-E)和通用闪存(UFS)。
操作存储器115可以存储控制器110的操作所需的编程代码(例如,存储固件或软件中存储的并且待由编程代码使用的代码数据)。
缓冲器管理器117可以将待在编程操作或读取操作期间在主机装置和存储装置120之间传输的数据临时存储到缓冲存储器阵列200。
缓冲存储器阵列200可以包括多个缓冲存储器210-0至210-n,其中多个缓冲存储器210-0至210-n包括输入/输出缓冲存储器2001。在实施例中,多个缓冲存储器210-0至210-n中的每一个可以由易失性存储器或非易失性存储器形成。在实施例中,多个缓冲存储器210-0至210-n可以包括SRAM和/或DRAM,但不限于那些配置。
缓冲存储器210-0至210-n中的每一个可以例如基于多个扇区、容积(volume)或存储库(bank)而被划分为多个区域。
缓冲器管理器117可以管理缓冲存储器210-0至210-n中的每一个的使用状态,或者更具体地,管理缓冲存储器210-0至210-n中的每一个的多个区域的使用状态。
虽然图2示出缓冲存储器阵列200被设置在控制器110外部的示例,但是缓冲存储器阵列200可以被设置在控制器110中并由缓冲管理器117管理。
存储器接口119可以提供用于控制器110和存储装置120之间的信号交换的通信通道。存储器接口119可以在中央处理单元111的控制下将临时存储在缓冲存储器阵列200中的数据写入到存储装置120。另外,存储器接口119可以将从存储装置120读取的数据传输到缓冲存储器阵列200以临时存储数据。
当主机命令是正常写入命令时,写入控制部件20可以将用户数据临时存储到缓冲存储器阵列200的输入/输出缓冲存储器2001。当主机命令是不同于正常写入命令的指示写入操作的命令时,写入控制部件20可以将待被写入的数据临时存储到辅助缓冲存储器2003,而不是存储到输入/输出缓冲存储器2001。
在实施例中,响应于主机装置的请求的写入操作可以通过两个步骤被执行。第一进程可以包括将待被写入的数据临时存储到缓冲存储器阵列200,并且可以被称为临时写入进程。第二进程可以包括通过缓冲器管理器117和存储器接口119将临时存储在缓冲存储器阵列200中的数据存储到存储装置120,并且可以被称为主写入进程。
当在写入操作期间完成临时写入进程时,写入控制部件20可以通过主机接口113将通知处理写入命令的操作已经完成的响应信号传输到主机装置。考虑到数据存储装置10的工作条件,可以在内部确定的时间点处来执行尚未完成的主写入进程。
在主写入进程期间,中央处理单元111可以实施FTL功能,以将从主机装置提供的逻辑地址映射到物理地址。此后,中央处理单元111可以将数据写入到与映射的物理地址相对应的区域。
图3是示出根据实施例的写入控制部件20的配置的示图。
参照图3,写入控制部件20可以包括命令解析器201、写入信息发生器203、第一数据写入器205和第二数据写入器207。
命令解析器201可以解析从主机装置提供的写入有关的命令,例如,正常写入命令或写入操作指示命令。写入操作指示命令可以包括重放保护存储块(RPMB)写入命令和取消映射命令。
写入信息发生器203可以基于命令解析器201的解析操作的结果来生成写入信息,其中写入信息即为写入操作所需的元信息。
例如,写入信息可以包括以下内容。
[表1]
1 | 主机装置希望写入数据的逻辑块地址的开始地址 |
2 | 希望写入的数据的长度 |
3 | 写入存储装置120中的数据的实际长度 |
4 | 缓冲存储器阵列200中将临时存储数据的区域的标识符 |
5 | 缓冲存储器阵列200中的数据位置 |
6 | 指示与数据有关的命令种类的标志 |
7 | 存储装置120中将写入数据的RPMB地址 |
可以在地址映射操作和写入控制部件20的写入操作之后更新[表1]中的项目3(写入存储装置120中的数据的实际长度)。此外,项目7(存储装置120中将写入数据的RPMB地址)可以是仅在RPMB写入命令的情况下待被生成的数据。
写入信息发生器203可以结合缓冲器管理器117执行缓冲存储器调度操作。例如,可以分配将临时存储待被写入到存储装置120的数据的缓冲存储器210-0至210-n中的一个,并且缓冲存储器210-0至210-n中所分配的缓冲存储器的标识符可以被包括在写入信息中。另外,可以调度所分配的缓冲存储器中的写入数据的临时存储位置,并且这可以被包括在写入信息中。
在实施例中,写入信息发生器203可以被配置为根据待被写入的数据的种类或主机装置的命令的种类,以不同的方式分配用于临时数据存储的缓冲存储器。
在实施例中,当主机装置的命令是正常写入命令时,写入信息发生器203可以将待被写入的数据临时存储到输入/输出缓冲存储器2001。另一方面,当主机装置的命令是不同于正常写入命令的指示写入操作的命令时,写入信息发生器203可以将待被写入的数据临时存储到辅助缓冲存储器2003。
第一数据写入器205可以基于从写入信息发生器203生成的写入信息来执行临时写入操作。换言之,第一数据写入器205可以将写入数据存储到由写入信息发生器203分配的缓冲存储器(210-0至210-n中的一个)的预定位置。如果临时写入操作完成,则第一数据写入器205可以通过主机接口113将通知处理写入命令的操作已经完成的响应信号传输到主机装置。
第二数据写入器207可以基于由写入信息发生器203生成的写入信息来执行主写入操作。
换言之,第二数据写入器207可以将主机装置希望写入数据的逻辑块地址的开始地址映射到物理地址,并且从与被映射的物理地址相对应的区域开始,将具有希望写入长度的写入数据写入存储装置120中。
如果临时存储在缓冲存储器阵列200中的数据以上述方式被存储到存储装置120,则第二数据写入器207可以根据指示被写入存储装置120中的数据的实际长度的信息来更新写入信息。
可以根据数据存储装置10的工作条件来内部处理主写入进程。
这样,在写入控制部件20的控制下,多个缓冲存储器210-0至210-n的输入/输出缓冲存储器2001可以被用作仅用于用户数据的临时存储空间。因此,可以确保用于临时存储用户数据的足够空间。此外,响应于来自主机装置的正常写入命令,用户数据可以被立即存储到输入/输出缓冲存储器2001,并且响应信号可以被传输到主机装置,从而可以确保高速操作。
图4是示出根据实施例的操作数据存储装置10的方法的流程图。
在步骤S101处,当来自主机装置的命令被传输到数据存储装置10时,在步骤S103处,写入控制部件20可以解析命令并生成写入信息。
在步骤S105处,写入控制部件20可以基于从主机传输的命令的种类或待被写入到存储装置120的数据的种类来分配将临时存储待被写入的数据的缓冲存储器210-0至210-n中的一个。
在实施例中,在主机装置的命令是正常写入命令或待被写入的数据是用户数据的情况下,写入控制部件20可以分配输入/输出缓冲存储器2001作为临时存储区域。
在实施例中,在主机装置的命令是不同于正常写入命令的指示写入操作的命令,或者待被写入的数据是RPMB数据或用于取消映射的虚拟数据的情况下,写入控制部件20可以分配辅助缓冲存储器2003作为临时存储区域。
在根据RPMB写入命令的写入操作期间,应当由控制器110或写入控制部件20来处理待被写入的数据以与正常写入操作同步。在实施例中,在正常写入操作期间待被处理的数据单元可以具有第一大小(例如,4K字节)。在RPMB写入操作期间待从主机装置传输的数据单元可以具有小于第一大小的第二大小(例如,256字节)。因此,控制器110或写入控制部件20可以修改RPMB写入数据的大小,使得RPMB写入操作可以与正常写入操作同步。
在实施例中,对于RPMB写入操作,缓冲存储器210-0至210-n中的一些可以被分配为RPMB专用临时缓冲器。在RPMB写入操作期间,可以第二大小为单位来传输来自主机装置的待被写入的数据并将待被写入的数据存储到RPMB专用临时缓冲器。控制器110或写入控制部件20可以修改存储在RPMB专用临时缓冲器中的数据以与第一大小对应,并且然后将数据传输(复制)到所分配的辅助缓冲存储器2003。
在根据取消映射命令的写入操作期间,具有相同级别的虚拟数据,而不是有意义的数据,可以被写入到已经写入映射数据的区域。虚拟数据可以是由控制器110或写入控制部件20生成的数据,而不是从主机装置提供的数据。因此,在RPMB写入操作或取消映射操作期间,待被写入的数据可以在被写入存储装置中120之前通过控制器110的自处理过程来被处理。因此,可以不从主机装置提供数据,或者不需要将从主机装置提供的数据完整地保留在缓冲存储器区域中。因此,在不同于正常写入命令的指示写入操作的命令的情况下,辅助缓冲存储器2003可以被分配为临时存储区域,使得在可以提高输入/输出缓冲存储器2001的使用效率。
在步骤S107处,当在缓冲存储器210-0至210-n中分配将临时存储待被写入的数据的缓冲存储器时,生成写入信息。在实施例中,写入信息可以包括主机装置希望写入数据的逻辑块地址的开始地址、希望写入的数据的长度、缓冲存储器阵列200中将临时存储数据的区域的标识符、缓冲存储器阵列200中的数据存储位置以及指示与数据有关的命令的种类的标志。
在主机命令是RPMB写入命令的情况下,写入信息可以包括存储装置120中将写入数据的RPMB地址。
在步骤S109处,第一数据写入器205可以基于由写入信息发生器203生成的写入信息来执行临时写入进程。换言之,写入数据可以被存储到由写入信息发生器203分配的缓冲存储器210-0至210-n的预定位置。在步骤S111处,如果临时写入操作完成,则第一数据写入器205可以通过主机接口113将通知处理写入命令的操作已经完成的响应信号传输到主机装置。
在步骤S113处,第二数据写入器207可以基于由写入信息发生器203生成的写入信息执行主写入进程。换言之,第二数据写入器207可以将主机装置希望写入数据的逻辑块地址的开始地址映射到物理地址,并且从与被映射的物理地址对应的区域开始,将具有希望写入的长度的写入数据写入存储装置120中。
如果临时存储在缓冲存储器阵列200中的数据以上述方式被存储到存储装置120,则第二数据写入器207可以在步骤S115处根据指示被写入存储装置120中的数据的实际长度的信息来更新写入信息,并且在步骤S117处转换到待机状态。考虑到数据存储装置10的工作条件,可以在内部确定的时间点处处理主写入进程。
根据各个实施例,可以根据待被写入到存储介质的数据的种类以不同的方式分配临时存储空间,从而可以提高用户数据写入速度。
虽然上面已经描述各个实施例,但是本领域技术人员将理解,描述的实施例仅是示例。因此,不应基于描述的实施例来限制本文描述的数据存储装置及其操作方法。
图5是示出包括根据实施例的固态硬盘(SSD)1200的数据处理***1000的示图。参照图5,数据处理***1000可以包括主机装置1100和SSD 1200。
SSD 1200可以包括控制器1210、多个非易失性存储器装置1220-0至1220-n、缓冲存储器装置1230、电源1240、信号连接器1101以及电源连接器1103。
控制器1210可以控制SSD 1200的一般操作。控制器1210可以包括主机接口、控制部件、用作工作存储器的随机存取存储器、错误校正码(ECC)部件以及存储器接口。在实施例中,控制器1210可以由包括如图1至图3所示的写入控制部件20的控制器110来配置。
主机装置1100可以通过信号连接器1101与SSD 1200交换信号。信号可以包括命令、地址、数据等。主机接口1211可以根据主机装置1100的协议来接口连接主机装置1100和SSD 1200。
控制器1210可以分析并处理从主机装置1100接收的信号。控制器1210可以根据用于驱动SSD 1200的固件或软件来控制内部功能块的操作。
ECC部件可以检测从非易失性存储器装置1220-0至1220-n中的至少一个读取的数据的错误。如果检测到的错误在可校正的范围内,则ECC部件可以校正检测到的错误。
缓冲存储器装置1230可以临时存储待被存储在非易失性存储器装置1220-0至1220-n中的至少一个中的数据。进一步地,缓冲存储器装置1230可以临时存储从非易失性存储器装置1220-0至1220-n中的至少一个读取的数据。临时存储在缓冲存储器装置1230中的数据可以根据控制器1210的控制被传输到主机装置1100或非易失性存储器装置1220-0至1220-n中的至少一个。
非易失性存储器装置1220-0至1220-n可以被用作SSD 1200的存储介质。非易失性存储器装置1220-0至1220-n可以分别通过多个通道CH1至CHn与控制器1210联接。一个或多个非易失性存储器装置可以联接到一个通道。联接到每个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源1240可以将通过电源连接器1103输入的电力PWR提供给SSD1200的内部。电源1240可以包括辅助电源。辅助电源可以在发生突然断电时供给电力以使SSD 1200能够正常地结束。辅助电源可以包括大容量电容器。
根据主机装置1100和SSD 1200之间的接口方案,信号连接器1101可以由各种类型的连接器来配置。
根据主机装置1100的电源方案,电源连接器1103可以由各种类型的连接器来配置。
图6是示出数据处理***3000的示图。参照图6,数据处理***3000可以包括主机装置3100和存储器***3200。
主机装置3100可以诸如印刷电路板的板的形式来配置。虽然未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
主机装置3100可以包括诸如插座、插槽或连接器的连接端子3110。存储器***3200可以被安装到连接端子3110。
存储器***3200可以诸如印刷电路板的板的形式来配置。存储器***3200可以被称为存储器模块或存储卡。存储器***3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制存储器***3200的一般操作。控制器3210可以以与包括如图2和图3所示的写入控制部件20的控制器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的任一侧。
图7是示出根据实施例的包括存储器***4200的数据处理***4000的示图。参照图7,数据处理***4000可以包括主机装置4100和存储器***4200。
主机装置4100可以诸如印刷电路板的板的形式来配置。虽然未示出,但是主机装置4100可以包括用于执行主机装置的功能的内部功能块。
存储器***4200可以表面安装型封装的形式来配置。存储器***4200可以通过焊球4250被安装到主机装置4100。存储器***4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制存储器***4200的一般操作。控制器4210可以以与包括如图2和图3所示的写入控制部件20的控制器110相同的方式来配置。
缓冲存储器装置4220可以临时存储待被存储在非易失性存储器装置4230中的数据。进一步地,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以根据控制器4210的控制被传输到主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作存储器***4200的存储介质。
图8是示出根据实施例的包括存储器***5200的网络***5000的示图。参照图8,网络***5000可以包括通过网络5500联接的服务器***5300和多个客户端***5410至5430。
服务器***5300可以响应于来自多个客户端***5410至5430的请求来服务数据。例如,服务器***5300可以存储从多个客户端***5410到5430提供的数据。又例如,服务器***5300可以将数据提供给多个客户端***5410至5430。
服务器***5300可以包括主机装置5100和存储器***5200。存储器***5200可以由图1所示的数据存储装置10、图5所示的SSD 1200、图6所示的存储器***3200或者图7所示的存储器***4200来配置。
图9是示出根据实施例的存储器***中的非易失性存储器装置300的框图。参照图9,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压发生器350和控制逻辑360。
存储器单元阵列310可以包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域处的存储器单元MC。
行解码器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的读取操作、写入操作和擦除操作。
存储器单元阵列310可以包括三维存储器阵列。三维存储器阵列具有垂直于半导体衬底的平坦表面的方向。此外,三维存储器阵列表示包括NAND串的结构,其中至少存储器单元位于其它存储器单元的垂直上部。三维存储器阵列的结构不限于此。显而易见的是,存储器阵列结构可以选择性地应用于以水平方向性和垂直方向性而高度集成的方式形成的存储器阵列结构。
虽然上面已经描述了各个实施例,但是本领域技术人员将理解,描述的实施例仅是示例。因此,不应基于描述的实施例来限制数据存储装置、其操作方法以及包括其的存储***。
Claims (21)
1.一种数据存储装置,包括:
存储装置;
控制器,将数据写入到所述存储装置或从所述存储装置读取数据;以及
多个缓冲存储器,
其中所述控制器包括写入控制部件,所述写入控制部件基于从主机装置接收的写入有关的命令,根据待被写入到所述存储装置的数据的种类,以不同的方式分配所述多个缓冲存储器中的缓冲存储器,以用于临时存储待被写入的数据。
2.根据权利要求1所述的数据存储装置,
其中分配的缓冲存储器包括至少一个输入/输出缓冲存储器和至少一个辅助缓冲存储器,并且
其中所述写入控制部件使得:当待被写入的数据是用户数据时,所述用户数据被临时存储到所述至少一个输入/输出缓冲存储器,并且,当待被写入的数据不是用户数据时,所述待被写入的数据被临时存储到所述至少一个辅助缓冲存储器。
3.根据权利要求2所述的数据存储装置,其中待被写入的非用户数据是重放保护存储块数据即RPMB数据、或虚拟数据。
4.根据权利要求1所述的数据存储装置,其中写入有关的命令包括正常写入命令、重放保护存储块写入命令即RPMB写入命令、或取消映射命令。
5.根据权利要求1所述的数据存储装置,其中所述写入控制部件生成写入信息,所述写入信息包括将写入数据的所述存储装置的逻辑地址、希望写入的所述数据的长度、分配的缓冲存储器的标识符、分配的缓冲存储器中待被写入的数据的存储位置以及写入有关的命令的种类。
6.根据权利要求5所述的数据存储装置,其中所述写入控制部件将被临时存储在分配的缓冲存储器中的数据存储到所述存储装置并且根据指示实际被写入到所述存储装置的数据的长度的信息来更新所述写入信息。
7.一种数据存储装置,包括存储装置、多个缓冲存储器以及控制关于所述存储装置的数据交换的控制器,
其中所述控制器包括:
命令解析器,解析从主机装置接收的写入有关的命令;
写入信息发生器,基于所述命令解析器的解析操作的结果,根据待被写入到所述存储装置的数据的种类,以不同的方式分配所述多个缓冲存储器中的缓冲存储器,以用于临时存储待被写入的数据,并且生成写入所述数据需要的写入信息;
第一数据写入器,基于所述写入信息将数据写入到分配的缓冲存储器;以及
第二数据写入器,基于所述写入信息将临时存储在分配的缓冲存储器中的数据写入到所述存储装置。
8.根据权利要求7所述的数据存储装置,其中所述第一数据写入器将数据写入到分配的缓冲存储器并且通知所述主机装置处理写入命令的操作被完成。
9.根据权利要求7所述的数据存储装置,
其中分配的缓冲存储器包括至少一个输入/输出缓冲存储器和至少一个辅助缓冲存储器,并且
其中所述写入信息发生器使得:当待被写入的数据是用户数据时,所述用户数据被临时存储到所述至少一个输入/输出缓冲存储器,并且,当待被写入的数据不是用户数据时,待被写入的数据被临时存储到所述至少一个辅助缓冲存储器。
10.根据权利要求9所述的数据存储装置,其中待被写入的非用户数据是重放保护存储块数据即RPMB数据、或虚拟数据。
11.根据权利要求7所述的数据存储装置,其中写入有关的命令包括正常写入命令、重放保护存储块写入命令即RPMB写入命令、或取消映射命令。
12.根据权利要求7所述的数据存储装置,其中所述写入控制部件生成写入信息,所述写入信息包括将写入数据的所述存储装置的逻辑地址、希望写入的所述数据的长度、分配的缓冲存储器的标识符、分配的缓冲存储器中待被写入的数据的存储位置以及写入有关的命令的种类。
13.根据权利要求12所述的数据存储装置,其中所述写入信息发生器使得所述第二数据写入器将临时存储在分配的缓冲存储器中的数据存储到所述存储装置并且根据指示实际被写入到所述存储装置的数据的长度的信息来更新所述写入信息。
14.一种操作数据存储装置的方法,所述数据存储装置包括存储装置、多个缓冲存储器以及控制关于所述存储装置的数据交换的控制器,所述方法包括:
通过所述控制器解析从主机装置接收的写入有关的命令;
基于解析的结果,根据待被写入到所述存储装置的数据的种类,以不同的方式分配所述多个缓冲存储器中的缓冲存储器,以用于临时存储待被写入的数据,并且生成写入信息以写入所述数据;
在临时写入操作中,基于所述写入信息将数据写入到分配的缓冲存储器;并且
在主写入操作中,基于所述写入信息将临时存储在所述分配的缓冲存储器中的数据写入到所述存储装置。
15.根据权利要求14所述的方法,进一步包括,在所述临时写入操作之后,通知所述主机装置处理写入命令被完成。
16.根据权利要求14所述的方法,
其中所述缓冲存储器包括至少一个输入/输出缓冲存储器和至少一个辅助缓冲存储器,并且
其中分配所述缓冲存储器包括:当待被写入的数据是用户数据时,分配所述缓冲存储器,使得所述用户数据被临时存储到所述至少一个输入/输出缓冲存储器,并且,当待被写入的数据不是用户数据时,分配所述缓冲存储器,使得待被写入的数据被临时存储到所述至少一个辅助缓冲存储器。
17.根据权利要求16所述的方法,其中待被写入的非用户数据是重放保护存储块数据即RPMB数据、或虚拟数据。
18.根据权利要求14所述的方法,其中写入有关的命令包括正常写入命令、重放保护存储块写入命令即RPMB写入命令、或取消映射命令。
19.一种存储***,包括:
主机装置;以及
数据存储装置,包括存储装置、多个缓冲存储器以及将数据写入到所述存储装置或从所述存储装置读取数据的控制器,
其中所述控制器包括写入控制部件,所述写入控制部件基于从所述主机装置接收的写入有关的命令,根据待被写入到所述存储装置的数据的种类,以不同的方式分配所述多个缓冲存储器中的缓冲存储器,以用于临时存储待被写入的数据。
20.根据权利要求19所述的存储***,
其中分配的缓冲存储器包括至少一个输入/输出缓冲存储器和至少一个辅助缓冲存储器,并且
其中所述写入控制部件使得:当待被写入的数据是用户数据时,所述用户数据被临时存储到所述至少一个输入/输出缓冲存储器,并且,当待被写入的数据不是用户数据时,所述待被写入的数据被临时存储到所述至少一个辅助缓冲存储器。
21.一种存储器***,包括:
存储器装置,存储数据;
第一缓冲存储器和第二缓冲存储器,缓冲待被存储到所述存储器装置中的数据;以及
控制器:
响应于第一写入命令将第一数据缓冲在所述第一缓冲存储器中;并且
响应于第二写入命令将第二数据缓冲在所述第二缓冲存储器中,并由所述第二数据生成第三数据,所述第三数据存储到所述存储器装置中;
传输写入完成消息;并且
在传输所述写入完成消息之后,控制所述存储器装置将所述第一数据和所述第三数据存储在所述存储器装置中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180023698A KR20190102781A (ko) | 2018-02-27 | 2018-02-27 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
KR10-2018-0023698 | 2018-02-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110196684A true CN110196684A (zh) | 2019-09-03 |
Family
ID=67685106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811102341.4A Pending CN110196684A (zh) | 2018-02-27 | 2018-09-20 | 数据存储装置、其操作方法以及具有其的存储*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190266096A1 (zh) |
KR (1) | KR20190102781A (zh) |
CN (1) | CN110196684A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199045A (zh) * | 2020-10-12 | 2021-01-08 | 长江存储科技有限责任公司 | 存储装置以及数据操作方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112154408A (zh) * | 2018-04-12 | 2020-12-29 | 美光科技公司 | 重放受保护存储器块命令队列 |
US10742558B1 (en) | 2018-08-07 | 2020-08-11 | Innovium, Inc. | Traffic manager resource sharing |
US10846225B1 (en) * | 2018-08-07 | 2020-11-24 | Innovium, Inc. | Buffer read optimizations in a network device |
US10868769B1 (en) | 2018-08-07 | 2020-12-15 | Innovium, Inc. | Read instruction queues in a network device |
TWI716993B (zh) * | 2019-09-03 | 2021-01-21 | 宜鼎國際股份有限公司 | 雙通道資料儲存系統 |
US11573891B2 (en) | 2019-11-25 | 2023-02-07 | SK Hynix Inc. | Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device |
KR102456176B1 (ko) * | 2020-05-21 | 2022-10-19 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11726672B2 (en) * | 2020-12-24 | 2023-08-15 | Samsung Electronics Co., Ltd. | Operating method of storage device setting secure mode of command, and operating method of storage system including the storage device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100293336A1 (en) * | 2009-05-18 | 2010-11-18 | Derry Shribman | System and method of increasing cache size |
CN103023809A (zh) * | 2012-12-28 | 2013-04-03 | 中国船舶重工集团公司第七0九研究所 | 一种采用二次缓冲技术的信息***数据同步处理方法 |
CN104298471A (zh) * | 2014-09-16 | 2015-01-21 | 青岛海信信芯科技有限公司 | 一种高速缓存的数据写入方法及装置 |
CN104423888A (zh) * | 2013-08-23 | 2015-03-18 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
CN105677576A (zh) * | 2015-12-31 | 2016-06-15 | 上海交通大学 | 一种面向相变存储器的Bank控制器读写控制装置及方法 |
US20170277476A1 (en) * | 2016-03-25 | 2017-09-28 | SK Hynix Inc. | Memory system and operating method of memory system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5941998A (en) * | 1997-07-25 | 1999-08-24 | Samsung Electronics Co., Ltd. | Disk drive incorporating read-verify after write method |
-
2018
- 2018-02-27 KR KR1020180023698A patent/KR20190102781A/ko unknown
- 2018-08-22 US US16/109,207 patent/US20190266096A1/en not_active Abandoned
- 2018-09-20 CN CN201811102341.4A patent/CN110196684A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100293336A1 (en) * | 2009-05-18 | 2010-11-18 | Derry Shribman | System and method of increasing cache size |
US20170060747A1 (en) * | 2009-05-18 | 2017-03-02 | Hola Networks Ltd. | Method for increasing cache size |
CN103023809A (zh) * | 2012-12-28 | 2013-04-03 | 中国船舶重工集团公司第七0九研究所 | 一种采用二次缓冲技术的信息***数据同步处理方法 |
CN104423888A (zh) * | 2013-08-23 | 2015-03-18 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
CN104298471A (zh) * | 2014-09-16 | 2015-01-21 | 青岛海信信芯科技有限公司 | 一种高速缓存的数据写入方法及装置 |
CN105677576A (zh) * | 2015-12-31 | 2016-06-15 | 上海交通大学 | 一种面向相变存储器的Bank控制器读写控制装置及方法 |
US20170277476A1 (en) * | 2016-03-25 | 2017-09-28 | SK Hynix Inc. | Memory system and operating method of memory system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199045A (zh) * | 2020-10-12 | 2021-01-08 | 长江存储科技有限责任公司 | 存储装置以及数据操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190266096A1 (en) | 2019-08-29 |
KR20190102781A (ko) | 2019-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110196684A (zh) | 数据存储装置、其操作方法以及具有其的存储*** | |
CN108804023B (zh) | 数据存储装置及其操作方法 | |
KR102533207B1 (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
CN107919157A (zh) | 存储器装置及存储器装置的操作方法 | |
CN103635968A (zh) | 包含存储器***控制器的设备和相关方法 | |
US10114743B2 (en) | Memory erase management | |
CN103650054A (zh) | 包含存储器***控制器的设备和相关方法 | |
CN103635969A (zh) | 包含存储器***控制器的设备和相关方法 | |
CN108874303A (zh) | 非易失性存储器命令冲突避免的储存***和方法 | |
CN108932107A (zh) | 数据存储装置及其操作方法 | |
US10713157B2 (en) | Storage system and method for improving read performance using multiple copies of a logical-to-physical address table | |
CN110362423B (zh) | 优化恢复性能的数据存储装置、操作方法以及存储*** | |
CN109992202A (zh) | 数据存储设备、其操作方法以及包括其的数据处理*** | |
CN110390988A (zh) | 数据存储装置、防止读取干扰的操作方法及存储*** | |
CN109992201A (zh) | 数据存储设备及其操作方法 | |
CN108459978A (zh) | 包括非易失性存储器装置的数据存储装置及其操作方法 | |
CN114746834A (zh) | 基于分区状态的分区附加命令调度 | |
CN109727630A (zh) | 存储***及其操作方法 | |
CN111258918A (zh) | 数据存储装置及其操作方法、存储*** | |
CN109426627A (zh) | 数据存储装置及其操作方法 | |
CN107728932A (zh) | 存储器***及其操作方法 | |
CN110389907A (zh) | 电子装置 | |
CN110119326A (zh) | 数据存储装置及其操作方法 | |
KR20200029085A (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
CN109426453A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190903 |