CN110047553A - 数据处理系统及其操作方法 - Google Patents
数据处理系统及其操作方法 Download PDFInfo
- Publication number
- CN110047553A CN110047553A CN201811450740.XA CN201811450740A CN110047553A CN 110047553 A CN110047553 A CN 110047553A CN 201811450740 A CN201811450740 A CN 201811450740A CN 110047553 A CN110047553 A CN 110047553A
- Authority
- CN
- China
- Prior art keywords
- data
- write
- memory
- storage
- write data
- 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
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/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
-
- 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
- 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
- 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
-
- 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
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/22—Accessing serial memories
-
- 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/1024—Latency reduction
-
- 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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
数据处理系统及其操作方法可以包括主机系统和存储系统。主机系统可以包括主机存储器和主机控制器,存储系统可以包括存储器控制器和非易失性存储器件。存储器控制器可以包括数据属性确定电路和存储器选择电路。数据属性确定电路可以配置成确定从主机控制器接收的写入数据的属性。存储器选择电路可以基于所述写入数据的确定的属性来选择主机存储器和非易失性存储器件中的任何一个作为要储存写入数据的位置。
Description
相关申请的交叉引用
本申请要求2018年1月11日在韩国知识产权局提交的申请号为10-2018-0003750的韩国专利申请的优先权,其全部内容通过引用合并于此。
技术领域
本发明的各种实施例总体而言涉及数据处理系统,更具体地,涉及一种包括主机系统和存储系统的数据处理系统。
背景技术
存储系统可以配置成响应于来自外部设备的写入请求,来储存从外部设备接收的数据。此外,存储系统可以配置成响应于来自外部设备的读取请求,来将储存的数据提供至外部设备。能够处理数据的外部电子设备例如包括计算机、数码照相机以及移动电话。存储系统可以与外部设备集成在一起,或者可以制造成与外部设备分开且可操作地耦接到外部设备。
使用存储器件的存储系统具有的优点在于,因为没有移动的机械部件,所以稳定性和耐久性良好,且功耗低。具有这种优点的存储系统包括通用串行总线(USB)存储器件,具有各种接口的存储卡、通用快闪存储器(UFS)器件以及固态驱动器(SSD)。
发明内容
根据本发明,一种数据处理系统可以包括主机系统和存储系统。所述主机系统可以包括主机存储器和主机控制器,且所述存储系统可以包括存储器控制器和非易失性存储器件。所述存储器控制器可以包括数据属性确定电路和存储器选择电路。所述数据属性确定电路可以配置成确定从所述主机控制器接收的写入数据的属性。存储器选择电路可以配置成基于被确定的所述写入数据的属性来选择所述主机存储器和所述非易失性存储器件中的一个作为要储存所述写入数据的位置。
根据本发明,还提供一种用于操作数据处理系统的方法。所述方法可以包括由主机系统的主机控制器发送针对写入数据的写入请求到存储系统的存储器控制器。所述方法另外可以包括由所述存储器控制器确定所述写入数据的尺寸。所述方法也可以包括由所述存储器控制器基于所述写入数据的确定的尺寸来控制所述写入数据被选择性地储存在所述主机系统的主机存储器或所述存储系统的非易失性存储器件中。
根据本发明,还提供一种用于操作数据处理系统的方法。所述方法可以包括由主机系统的主机控制器发送针对写入数据的写入请求到存储系统的存储器控制器。所述方法另外可以包括由所述存储器控制器确定接收到的写入数据是否为顺序数据。所述方法也可以包括由所述存储器控制器基于所述写入数据是否为顺序数据的确定结果来控制所述写入数据被选择性地储存在所述主机系统的主机存储器或所述存储系统的非易失性存储器件中。
附图说明
图1示出说明根据本发明的一个实施例的数据处理系统的框图。
图2至5示出说明根据本发明的各种实施例的用于操作数据处理系统的方法的流程图。
图6示出说明根据本发明的一个实施例的包括固态驱动器(SSD)的数据处理系统的框图。
图7和图8示出说明根据本发明的实施例的数据处理系统的图。
图9示出说明根据本发明的一个实施例的包括存储系统的网络系统的图。
图10示出说明根据本发明的一个实施例的包括在存储系统中的非易失性存储器件的框图。
具体实施方式
本明的各种实施例可以提供一种数据处理系统,其中,因为可以基于数据的属性来将数据选择性地储存在主机存储器或非易失性存储器件中,所以数据写入性能可以得到改善。
在阅读了对于本发明实施例的结合附图的描述之后,与本发明相一致的优点、特征和方法将会变得更加明显。本发明也可以以不同的形式来实施,由于有限的空间限制,本文不会对其全部进行描述。然而,本技术领域人员将会理解,与本发明的精神相一致、且根据下面所列的权利要求的其它实施例是可能的。
将会理解的是,本发明的实施例不限于本文所列的具体实施例。此外,所包括的附图不一定按照比例绘制。在一些实例中,相关的部分可能被放大,以便更加清楚地描绘本发明的某些特征。尽管本文使用特定的术语来描述特定的实施例,但是这些术语并非意在一般意义上地限制本发明的范围。
如本文所使用的,术语“和”与“或”包括所列的与任一术语相关联的一个或更多个所列项目的任何和全部组合。将会理解的是,当提及第一元件在第二元件“上”、“连接到”第二元件或“耦接到”第二元件时,第一元件可以直接在第二元件上、直接连接到第二元件或直接耦接到第二元件,或者,在第一元件与第二元件之间可以存在介入元件。如本文使用的,除非上下文另外清楚地指明,单数形式也意图包括与替代实施例相关的复数形式,。还将理解的是,当术语“包括”在本说明书中使用时,其表明存在至少一个所述的特征、步骤、操作和/或元件,但是不排除存在或增加一个或更多个其它特征、步骤、操作和/或元件。
各种实施例可以涉及数据处理系统,所述数据处理系统能够根据数据的属性来将数据选择性地储存在主机存储器或非易失性存储器件中。
图1示出说明根据本发明的一个实施例的数据处理系统10的框图。
数据处理系统10可以包括主机系统400和存储系统100。
主机系统400可以包括主机控制器410和主机存储器420。主机系统400可以用作计算机、便携式计算机、超级移动PC(UMPC)、工作站、数据服务器、上网本(netbook)、个人数字助理(PDA)、网络平板(web tablet)、无线电话、移动电话、智能手机、电子书、便携式多媒体播放器(PMP)、数码照相机、数字音频录音机/播放机、数码照相机、视频录制机/播放机、便携式游戏机、导航系统、黑盒、三维(3D)电视、用于在无线环境中接收和发送信息的设备、构成家庭网络的各种电子设备中的任何一种、构成计算机网络的各种电子设备中的任何一种、构成远程信息网络(telematics network)的各种电子设备中的任何一种、RFID、或构成计算系统的各种电子设备中的任何一种。
主机控制器410可以控制主机系统400的常规操作。根据一个实施例,主机控制器410至少可以是一个处理器、应用处理器或集成调制解调器的应用处理器。
主机存储器420可以配置成诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)的随机存取存储器。主机存储器420可以储存驱动主机控制器410所需的数据。也就是说,主机存储器420可以作为主机控制器410的工作存储器来操作。
主机控制器410可以配置成发送写入请求RQ_write和写入数据DT。在一个实施例中,主机控制器410可以配置成将写入数据DT的尺寸与写入请求RQ_write一起发送。
存储系统100可以根据主机控制器410的通信协议来发送和接收数据,且可以执行各种功能。存储系统100可以包括经由通信协议来发送和接收数据的任何设备,诸如通信芯片、图像传感器、显示设备以及储存设备(例如,存储器、卡等)。
在一个实施例中,通信协议可以是串行通信协议。例如,串行通信协议可以通过以下之中的至少任何一种来实现:通用异步接收器/发送器(UART)、内部集成电路(I2C)、串行外围互联(SPI)、通用串行总线(USB)、高清多媒体接口(HDMI)、移动高清链接(MHL)、移动工业处理器接口(MIPI)、移动显示数字接口(MDDI)、移动视频接口(MVI)、非易失性存储器扩展(NVMe)、外围组件互连快速(PCIe)、串行高级技术附件扩展(SATAe)、SAS(串行连接SCSI(小型计算机系统接口))以及低延迟接口(LLI)。
存储系统100可以储存要由主机系统400访问的数据,主机系统400是诸如便携式电话、MP3播放器、膝上型计算机、台式计算机、游戏设备、电视机、车载信息娱乐系统等。
根据主机系统400的主机接口传输协议,存储系统100可以被制造成各种储存设备中的任何一种。例如,存储系统100可以配置成诸如以下的各种储存设备中的任何一种:固态驱动器(SSD);MMC、eMMC、RS-MMC或微型MMC形式的多媒体卡;SD、迷你SD或微型SD形式的安全数字卡;通用串行总线(USB)储存设备;通用快闪存储器(UFS)设备;个人计算机存储卡国际协会(PCMCIA)卡型储存设备;外围组件互连(PCI)卡型储存设备;PCI快速(PCI-E)卡型储存设备;紧凑式快闪存储器(CF)卡;智能媒体卡;记忆棒,等等。
存储系统100可以被制造成各种封装类型中的任何一种。例如,存储系统100可以被制造成诸如以下的各种封装类型中的任何一种:叠层封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级层叠封装(WSP)。
存储系统100可以包括存储器控制器200和非易失性存储器件300。
根据一个实施例,存储器控制器200可以包括控制单元210、随机存取存储器220、主机接口单元230以及存储器控制单元240。
控制单元210可以配置成微控制单元(MCU)或中央处理单元(CPU)。控制单元210可以处理从主机系统400发送的请求。为了处理该请求,控制单元210可以驱动装载在随机存取存储器220中的代码型的指令或算法(例如,固件(FW)),且可以控制内部功能块和非易失性存储器件300。
控制单元210可以包括数据属性确定电路211、存储器选择电路212以及参考提供器213。换言之,下文将要描述的数据属性确定电路211的操作和存储器选择电路212的操作可以由控制单元210来控制。具体地,控制单元210可以控制参考提供器213的预定的第一参考尺寸或值或预定的第二参考尺寸或值的设置和改变。控制单元210可以基于写入数据DT的属性INF_char来确定要储存写入数据DT的存储器。
数据属性确定电路211可以确定写入数据DT的属性INF_char作为从主机系统400接收的写入请求RQ_write的目标。例如,数据属性确定电路211可以确定写入数据DT的尺寸或写入数据DT是否为顺序数据。在一个实施例中,从主机系统400接收的写入请求RQ_write可以被数据属性确定电路211用来确定写入数据DT的属性INF_char。在一个实施例中,数据属性确定电路211也可以使用来自主机系统400的接收到的写入数据DT本身来确定属性INF_char。在一个实施例中,数据属性确定电路211也可以使用从主机系统400接收的写入请求RQ_write和写入数据DT两者,来确定属性INF_char。
在一个实施例中,数据属性确定电路211可以配置成比较器。作为比较器的数据属性确定电路211可以将从主机控制器410发送来的写入数据DT的尺寸与参考值REF(例如,从参考提供器213提供的第一参考)进行比较。作为比较器的数据属性确定电路211可以将从主机控制器410发送来的写入数据DT的尺寸与参考值REF(例如,从参考提供器213提供的第一参考和第二参考)进行比较。
存储器选择电路212可以基于由数据属性确定电路211确定的写入数据DT的属性INF_char,来选择写入数据DT要被储存的位置。存储器选择电路212可以输出存储器选择信号SEL_memory,所述存储器选择信号SEL_memory包括与写入数据DT要被储存的位置有关的信息。例如,存储器选择电路212可以在主机系统400的主机存储器420、存储系统100的非易失性存储器件300以及存储器控制器200的随机存取存储器220之中选择要储存写入数据DT的位置。
在由存储器选择电路212输出的存储器选择信号SEL_memory包括关于随机存取存储器220的缓冲存储器221的位置信息的情况下,控制单元210可以控制写入数据DT被储存在缓冲存储器221中。
随机存取存储器220可以配置成诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)的随机存取存储器。随机存取存储器220可以储存由控制单元210来驱动的固件(FW)。此外,随机存取存储器220可以储存驱动固件(FW)所需的数据,例如元数据。也就是说,随机存取存储器220可以作为控制单元210的工作存储器而操作。在一个实施例中,缓冲存储器221可以被包括在随机存取存储器220中。在一个实施例中,缓冲存储器221可以被实施成与随机存取存储器220分开。具体地,可以在随机存取存储器220中执行数据缓冲操作,其中储存在随机存取存储器220中的数据可以被移动到和储存在主机系统400或非易失性存储器件300中。
缓冲存储器221可以用作缓冲区,所述缓冲区暂时储存从主机系统400传送的数据或者暂时储存从非易失性存储器件300读出的数据。即,缓冲存储器221可以用于缓冲数据。此外,缓冲存储器221可以用于驱动对非易失性存储器件300进行有效管理的软件(S/W)。此外,缓冲存储器221可以用于储存从主机系统400输入的元数据、或储存高速缓存数据。
例如,缓冲存储器221可以包括多个DRAM封装件。每个DRAM封装件可以包括封装衬底和安装在封装衬底上的至少一个DRAM芯片。DRAM可以用诸如SRAM的易失性存储器来替换,或者可以用诸如快闪存储器、PRAM、MRAM、ReRAM或FRAM的非易失性存储器来替换。
主机接口单元230可以与主机系统400和存储系统100接口。例如,主机接口单元230可以通过使用主机接口经由以下标准接口协议中的任何一种来与主机系统400通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)、外围组件互连(PCI)、PCI扩展(PCI-E)以及通用快闪存储器(UFS)。
主机接口单元230可以从主机系统400接收写入数据DT和针对写入数据DT的写入请求RQ_write。在由存储器选择电路212输出的存储器选择信号SEL_memory包括关于主机存储器420的位置信息的情况下,主机接口单元230可以将写入数据DT和存储器选择信号SEL_memory发送到主机系统400,使得写入数据DT被储存在主机存储器420中;以及,主机控制器410可以基于接收到的写入数据DT和存储器选择信号SEL_memory,来控制写入数据DT被储存在主机存储器420中。
存储器控制单元240可以根据控制单元210的控制,来控制非易失性存储器件300。存储器控制单元240还可以称为存储器接口单元。存储器控制单元240可以提供控制信号到非易失性存储器件300。控制信号可以包括用于控制非易失性存储器件300的命令、地址、控制信号等。存储器控制单元240可以将数据提供给非易失性存储器件300,或者可以被提供来自非易失性存储器件300的数据。
在由存储器选择电路212输出的存储器选择信号SEL_memory包括关于非易失性存储器件300的位置信息的情况下,存储器控制单元240将写入数据DT和存储器选择信号SEL_memory发送到非易失性存储器件300,使得基于写入数据DT和存储器选择信号SEL_memory,写入数据DT可以被储存在非易失性存储器件300中。
非易失性存储器件300可以配置成诸如以下的各种非易失性存储器件中的任何一种:NAND快闪存储器件、NOR快快闪存储器件、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧穿磁阻(TMR)层的磁性随机存取存储器(MRAM)、使用硫族化物合金的相变随机存取存储器(PCRAM)以及使用过渡金属氧化物的阻变随机存取存储器(RERAM)。
非易失性存储器件300可以包括存储单元阵列(未示出)。从操作角度或物理(结构)角度来看,包括在存储单元阵列中的存储单元可以配置成分层存储单元组或存储单元单位。例如,耦接到相同字线且要同时被读取和被写入(或被编程)的存储单元可以被配置成页。在以下描述中,为了便于解释,被配置成页的存储单元将称为“页”。此外,要被同时擦除的存储单元可以被配置成存储块。存储单元阵列可以包括多个存储块,且每个存储块可以包括多个页。
存储系统100可以响应于主机系统400的写入请求RQ_write,来执行针对写入数据DT的写入操作。一般而言,在写入操作中,写入数据DT可以被缓冲在缓冲存储器221中,然后当满足预定条件时(例如,在缓冲存储器221存满的情况下),写入数据DT可以被储存在非易失性存储器件300的存储单元中。除了存储系统100的储存空间之外,将数据储存在主机系统400的存储器(下文称为“主机存储器420”)中的方案可以用来提高存储空间的利用率和提高整个系统的效率。具体地,在存储系统100从主机系统400接收与写入数据DT一起的写入请求RQ_write的情况下,存储系统100可以将写入数据DT储存在存储系统100中的缓冲存储器221中。当满足预定的条件时(例如,在缓冲存储器221存满的情况下),被缓冲的写入数据DT可以被发送到且储存在从主机存储器420和非易失性存储器件300之中选择的具有较大的可用于储存数据的储存容量的存储器中。在此方案中使用主机存储器420的情况下,可以提供的优点在于,可以使用除了现有的非易失性存储器件300之外的存储器。
参见图1,数据处理系统10可以包括主机系统400和存储系统100,主机系统400可以包括主机控制器410和主机存储器420,存储系统100可以包括存储器控制器200和非易失性存储器件300。存储器控制器200可以包括数据属性确定电路211和存储器选择电路212,数据属性确定电路211确定主机控制器410请求写入的写入数据DT的属性INF_char,存储器选择电路212基于写入数据DT的被确定的属性INF_char,来选择主机存储器420和非易失性存储器件300中的任何一个作为要储存写入数据DT的位置。
在一个实施例中,主机控制器410可以将写入请求RQ_write和写入数据DT一起输出到存储器控制器200,且存储器控制器200可以经由主机接口单元230接收写入请求RQ_write。在接收到写入请求RQ_write之后,数据属性确定电路211可以确定写入数据DT的属性INF_char。
根据一个实施例,数据属性确定电路211可以根据写入数据DT的尺寸来确定属性。例如,基于至少一个预定参考,可以确定数据的尺寸是小于该参考,还是大于或等于该参考。
在数据属性确定电路211中确定的写入数据DT的属性INF_char可以被传送到存储器选择电路212。根据基于写入数据DT的大小来确定属性的实施例,存储器选择电路212可以接收作为关于从主机系统400接收的写入数据DT的尺寸是小于预定参考还是等于或大于预定参考的信息的属性INF_char;以及存储器选择电路212可以基于接收到的属性INF_char来选择要储存写入数据DT的位置。
根据数据属性确定电路211确定写入数据DT的尺寸小于第一参考的实施例,存储器选择电路212可以选择主机存储器420作为要储存写入数据DT的位置。相反地,在数据属性确定电路211确定写入数据DT的尺寸等于或大于第一参考的情况下,存储器选择电路212可以选择非易失性存储器件300作为要储存写入数据DT的位置。
在选择主机存储器420作为要储存写入数据DT的位置的情况下,写入数据DT可以经由主机接口单元230从存储器控制器200传送到主机系统400,且可以根据主机控制器410的控制而储存在主机存储器420中。
在选择非易失性存储器件300作为要储存写入数据DT的位置的情况下,写入数据DT可以经由存储器控制单元240从存储器控制器200传送到非易失性存储器件300,且可以储存在非易失性存储器件300的页中。
根据确定写入数据DT的尺寸等于或大于第一参考尺寸的实施例,数据属性确定电路211可以确定写入数据DT的尺寸是小于第二参考尺寸、还是等于或大于第二参考尺寸。存储器选择电路212可以根据写入数据DT的尺寸是小于第二参考尺寸、还是等于或大于第二参考尺寸,来选择要储存写入数据DT的位置。例如,在写入数据DT的尺寸小于第二参考尺寸(即,写入数据DT的尺寸等于或大于第一参考尺寸且小于第二参考尺寸的尺寸)的情况下,存储器选择电路212可以选择缓冲存储器221作为要储存写入数据DT的位置。如上所述,缓冲存储器221可以执行数据缓冲操作;以及,当缓冲存储器221存满时,储存在缓冲存储器221中的数据(包括写入数据DT)可以被发送到且储存在非易失性存储器件300中。相反地,在写入数据DT的尺寸等于或大于第二参考尺寸的情况下,存储器选择电路212可以选择非易失性存储器件300作为要储存写入数据DT的位置。也就是说,写入数据DT可以不被缓冲在缓冲存储器221中、而是可以被储存在非易失性存储器件300中。例如,第二参考可以是缓冲存储器221可以容纳的剩余数据储存容量。根据一个实施例,第一参考和第二参考可以在任何时间设置和改变。
根据一个实施例,第二参考可以是缓冲存储器221可以容纳的数据储存容量。如上所述,缓冲存储器221可以配置成DRAM或SRAM且在用于容纳数据的储存容量方面存在限制。由于此事实的存在,在写入数据DT的尺寸等于或大于缓冲存储器221的数据储存容量(即,第二参考)的情况下,不能执行经由缓冲存储器221的缓冲操作,写入数据DT可以被储存在非易失性存储器件300中。
在数据处理系统10中,根据一个实施例,可以基于写入数据DT是否为顺序数据来确定要储存写入数据DT的位置。
由数据属性确定电路211确定的写入数据DT的属性INF_char可以被传送到存储器选择电路212。根据基于写入数据DT是否为顺序数据来确定属性的实施例,存储器选择电路212可以接收作为关于从主机系统400接收的写入数据DT是顺序数据还是不是顺序数据(例如,随机数据)的信息的属性INF_char;以及,存储器选择电路212可以基于接收到的属性INF_char来选择要储存写入数据DT的位置。
根据一个实施例,在数据属性确定电路211确定写入数据DT是顺序数据的情况下,存储器选择电路212可以选择非易失性存储器件300作为要储存写入数据DT的位置。相反地,在数据属性确定电路211确定写入数据DT不是顺序数据的情况下,存储器选择电路212可以选择主机存储器420作为要储存写入数据DT的位置。
在选择非易失性存储器件300作为要储存写入数据DT的位置的情况下,写入数据DT可以经由存储控制单元240从存储器控制器200传送到非易失性存储器件300,且可以储存在非易失性存储器件300的页中。
在选择主机存储器420作为要储存写入数据DT的位置的情况下,写入数据DT可以经由主机接口单元230从存储器控制器200传送到主机系统400,且可以根据主机控制器410的控制而储存在主机存储器420中。
根据一个实施例,在基于写入数据DT的属性将写入数据DT储存在主机存储器420中的情况下,相比于不管写入数据DT的属性如何都将写入数据DT储存在非易失性存储器件300中的现有技术,数据储存速度可以得到提高。由于此事实的存在,可以减少利用非易失性存储器件300的时间,且可以提高整个存储系统100的效率。具体地,相比于将数据储存在非易失性存储器件300中的现有技术,不会需要用于将写入数据DT储存在缓冲存储器221以及将储存在缓冲存储器221中的写入数据DT移动到和储存在非易失性存储器件300中的时间。
图2至5示出说明根据本发明的各种实施例的操作数据处理系统的方法的流程图。
参见图1和图2,用于操作数据处理系统10的方法可以包括:由主机控制器410发送针对写入数据DT的写入请求RQ_write到存储器控制器200(S1100),由存储器控制器200确定写入数据DT的尺寸是否小于第一参考(S1200),当写入数据DT的尺寸小于第一参考时控制写入数据DT被储存在主机存储器420中(S1300),以及当写入数据DT的尺寸等于或大于第一参考时控制写入数据DT被储存在非易失性存储器件300中(S1400)。在一个实施例中,确定操作(S1200)可以使用发送的写入请求RQ_write来进行确定。在一个实施例中,确定操作(S1200)可以使用写入数据DT来进行确定。在一个实施例中,确定操作(S1200)可以使用发送的写入请求RQ_write和写入数据DT两者来进行确定。
参见图1和图3,用于操作数据处理系统10的方法可以包括:由主机控制器410发送针对写入数据DT的写入请求RQ_write到存储器控制器200(S1100),由存储器控制器200确定写入数据DT的尺寸是否小于第一参考(S1200),当写入数据DT的尺寸小于第一参考时确定主机存储器420是否存满(S1500),当写入数据DT的尺寸小于第一参考且主机存储器420未存满时控制写入数据DT被储存在主机存储器420中(S1510),当写入数据DT的尺寸小于第一参考且主机存储器420存满时控制写入数据DT被储存在非易失性存储器件300中(S1520),以及当写入数据DT的尺寸等于或大于第一参考时控制写入数据DT被储存在非易失性存储器件300中(S1400)。在一个实施例中,确定操作(S1200)可以使用发送的写入请求RQ_write来进行确定。在一个实施例中,确定操作(S1200)可以使用写入数据DT来进行确定。在一个实施例中,确定操作(S1200)可以使用发送的写入请求RQ_write和写入数据DT两者来进行确定。
参见图1和图4,用于操作数据处理系统10的方法可以包括:由主机控制器410发送用于写入数据DT的写入请求RQ_write到存储器控制器200(S1100),由存储器控制器200确定写入数据DT的尺寸是否小于第一参考(S1200),当写入数据DT的尺寸小于第一参考时控制写入数据DT储存在主机存储器420中(S1300),当写入数据DT的尺寸等于或大于第一参考时确定写入数据DT的尺寸是否小于第二参考(S1400),当写入数据DT的尺寸小于第二参考时将写入数据DT缓冲在缓冲存储器221中(S1610),将写入数据DT从缓冲存储器221移动到非易失性存储器件300(S1620),以及当写入数据DT的尺寸等于或大于第二参考时将写入数据DT储存在非易失性存储器件300中(S1630)[S1630可以包括避开将写入数据DT缓冲在缓冲存储器221中]。在一个实施例中,确定操作(S1200)可以使用发送的写入请求RQ_write来进行确定。在一个实施例中,确定操作(S1200)可以使用写入数据DT来进行确定。在一个实施例中,确定操作(S1200)可以使用发送的写入请求RQ_write和写入数据DT两者来进行确定。
参见图1和图5,用于操作数据处理系统10的方法可以包括:由主机控制器410发送针对写入数据DT的写入请求RQ_write到存储器控制器200(S2100),由存储器控制器200确定写入数据DT是否为顺序数据(S2200),当写入数据DT是顺序数据时控制写入数据DT被储存在非易失性存储器件300中(S2300),以及当写入数据DT不是顺序数据时控制写入数据DT被储存在主机存储器420中(S2400)。在一个实施例中,确定操作(S2200)可以使用发送的写入请求RQ_write来进行确定。在一个实施例中,确定操作(S2200)可以使用写入数据DT来进行确定。在一个实施例中,确定操作(S2200)可以使用发送的写入请求RQ_write和写入数据DT两者来进行确定。
图6示出说明根据本发明的一个实施例的包括固态驱动器(SSD)的数据处理系统10-1的一个示例代表的图。参见图6,数据处理系统10-1可以包括主机系统400-1和存储系统100-1。
存储系统100-1可以包括存储器控制器200-1、缓冲存储器221、非易失性存储器件1231至123n、电源1240、信号连接器1250以及电源连接器1260。
存储器控制器200-1可以控制存储系统100-1的常规操作。存储器控制器200-1可以包括控制单元210、随机存取存储器220、主机接口单元230、存储接口单元240以及错误校正码(ECC)单元250。
主机接口单元230可以经由信号连接器1250与主机系统400-1交换信号SGL。信号SGL可以包括命令、地址、数据等。主机接口单元230可以根据主机系统400-1的协议来与主机系统400-1和存储系统100-1接口。例如,主机接口单元230可以经由诸如以下的标准接口协议中的任何一种来与主机系统400-1通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)、外围组件互连(PCI)、PCI扩展(PCI-E)以及通用快闪存储器(UFS)。
控制单元210可以分析和处理从主机系统400-1输入的信号SGL。控制单元210可以根据用于驱动存储系统100-1的固件或软件来控制内部功能块的操作。随机存取存储器220可以用作用于驱动此固件或软件的工作存储器。
错误校正码(ECC)单元250可以产生要发送到非易失性存储器件1231至123n的数据的奇偶校验数据。产生的奇偶校验数据可以与所述数据一起储存在非易失性存储器件1231至123n中。错误校正码(ECC)单元250可以基于所述奇偶校验数据来检测从非易失性存储器件1231至123n读出的数据的错误。如果检测到的错误在可校正范围之内,则错误校正码(ECC)单元250可以对检测到的错误进行校正。
存储接口单元240可以根据控制单元210的控制,来将诸如命令和地址的控制信号提供给非易失性存储器件1231至123n。另外,存储器接口单元240可以根据控制单元210的控制来与非易失性存储器件1231至123n交换数据。例如,存储器接口单元240可以将储存在缓冲存储器221中的数据提供给非易失性存储器件1231至123n,或者将从非易失性存储器件1231至123n读出的数据提供给缓冲存储器221。
缓冲存储器221可以暂时储存要储存在非易失性存储器件1231至123n中的数据。另外,缓冲存储器221可以暂时储存从非易失性存储器件1231至123n读出的数据。根据存储器控制器200-1的控制,暂时储存在缓冲存储器221中的数据可以被发送到主机系统400-1或非易失性存储器件1231至123n。
非易失性存储器件1231至123n可以用作存储系统100-1的储存媒体。非易失性存储器件1231至123n可以分别经由多个信道CH1至CHn与存储器控制器200-1耦接。一个或更多个非易失性存储器件可以耦接到一个信道。耦接到每个信道的非易失性存储器件可以耦接到相同的信号总线和数据总线。
电源1240可以将经由电源连接器1260输入的电源PWR提供给存储系统100-1的内部组件。电源1240可以包括辅助电源1241。当突然发生电源中断时,辅助电源1241可以提供电源以允许存储系统100-1正常终止。辅助电源1241可以包括大容量电容器。
信号连接器1250可以根据主机系统400-1与存储系统100-1之间的接口方案而配置成各种类型的连接器。
电源连接器1260可以根据主机系统400-1的电源方案而配置成各种类型的连接器。
图7示出说明根据本发明的一个实施例的包括存储系统100-2的数据处理系统10-2的一个示例代表的图。参见图7,数据处理系统10-2可以包括主机系统400-2和存储系统100-2。
主机系统400-2可以以板(诸如印刷电路板)的形式来配置。虽然未示出,但是主机系统400-2可以包括用于执行主机设备的功能的内部功能块。
主机系统400-2可以包括诸如插座或插槽或连接器的连接端子2110。存储系统100-2可以被安装到连接端子2110。
存储系统100-2可以以板(诸如印刷电路板)的形式来配置。存储系统100-2可以称为存储模块或存储卡。存储系统100-2可以包括存储器控制器200-2、缓冲存储器221、非易失性存储器件2231和2232、电源管理集成电路(PMIC)2240以及连接端子2250。
存储器控制器200-2可以控制存储系统100-2的常规操作。可以采用与图6中所示的存储器控制器200-1或图1中所示的存储器控制器200相同的方式来配置存储器控制器200-2。
缓冲存储器221可以暂时储存要储存在非易失性存储器件2231和2232中的数据。另外,缓冲存储器221可以暂时储存从非易失性存储器件2231和2232读出的数据。根据存储器控制器200-2的控制,暂时储存在缓冲存储器221中的数据可以被发送到主机系统400-2或非易失性存储器件2231和2232。
非易失性存储器件2231和2232可以用作存储系统100-2的储存媒体。
PMIC 2240可以将经由连接端子2250输入的电力提供给存储系统100-2的内部组件。PMIC 2240可以根据存储器控制器200-2的控制来管理存储系统100-2的电力。
存储系统100-2的连接端子2250可以耦接到主机系统400-2的连接端子2110。经由连接端子2250,诸如命令、地址、数据、电力等的信号可以在主机系统400-2与存储系统100-2之间传送。连接端子2250可以根据主机系统400-2与存储系统100-2之间的接口方案而以各种方式来配置。连接端子2250可以设置在存储系统100-2的任何一侧上。
图8示出说明根据本发明的一个实施例的包括存储系统3200的数据处理系统3000的图。参见图8,数据处理系统3000可以包括主机设备3100和存储系统3200。
主机设备3100可以以板(诸如印刷电路板)的形式来配置。尽管未示出,主机设备3100可以包括用于执行主机设备的功能的内部功能块。
存储系统3200可以以表面安装型封装的形式来配置。存储系统3200可以经由焊料球3250安装到主机设备3100。存储系统3200可以包括控制器3210、缓冲存储器件3220以及非易失性存储器件3230。
控制器3210可以控制存储系统3200的常规操作。控制器3210可以采用与图1中所示的存储器控制器200相同的方式来配置。
缓冲存储器件3220可以暂时储存要储存在非易失性存储器件3230中的数据。另外,缓冲存储器件3220可以暂时储存从非易失性存储器件3230读出的数据。根据控制器3210的控制,暂时储存在缓冲存储器件3220中的数据可以被发送到主机设备3100或非易失性存储器件3230。
非易失性存储器件3230可以用作存储系统3200的储存媒体。
图9示出说明根据本发明的一个实施例的包括存储系统的网络系统4000的图。参见图9,网络系统4000可以包括经由网络4500耦接的服务器系统4300和多个客户端系统4410、4420和4430。
服务器系统4300可以响应于来自多个客户端系统4410、4420和4430的请求来服务数据。在一种情况中,服务器系统4300可以储存从多个客户端系统4410、4420和4430提供的数据。在另一种情况中,服务器系统4300可以将数据提供给多个客户端系统4410、4420和4430。
服务器系统4300可以包括主机设备4100和存储系统4200。存储系统4200可以像图1的存储系统100、图6的存储系统100、图7的存储系统100或图8的存储系统3200那样来配置。
图10示出说明根据本发明的一个实施例的包括在存储系统中的非易失性存储器件300的框图。参见图10,非易失性存储器件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可以将分别对应于位线BL1至BLn的数据读取/写入块330的读取/写入电路RW1至RWn与数据输入/输出线(或数据输入/输出缓冲器)耦接。
电压发生器350可以产生要在非易失性存储器件300的内部操作中使用的电压。由电压发生器350产生的电压可以施加给存储单元阵列310的存储单元。例如,在编程操作中产生的编程电压可以施加给要被执行编程操作的存储单元的字线。在另一示例中,在擦除操作中产生的擦除电压可以施加给要被执行擦除操作的存储单元的阱区。作为另一示例,在读取操作中产生的读取电压可以施加给要被执行读取操作的存储单元的字线。
控制逻辑360可以基于由外部设备提供且从外部设备接收的控制信号,来控制非易失性存储器件300的常规操作。例如,控制逻辑360可以控制非易失性存储器件300的读取、写入和擦除操作。
在各种实施例中,所描述的系统可以用于执行所提供的方法。另外,对某些系统的描述也适用于其它系统。出于简洁起见,不会针对每个所提供的系统来重复描述。本领域技术人员将理解,一个系统与另一个系统能以相同或相似方式来操作。
尽管上面已经描述了各种实施例,但是本领域技术人员将理解,所提供的实施例表示可能的实施例的子集。因此,本文描述的数据处理系统及其操作方法不应基于描述的实施例而受到限制。
Claims (23)
1.一种数据处理系统,包括:
主机系统,所述主机系统包括主机存储器和主机控制器;以及
存储系统,所述存储系统包括存储器控制器和非易失性存储器件,
所述存储器控制器包括:
数据属性确定电路,所述数据属性确定电路配置成确定从所述主机控制器接收的写入数据的属性;以及
存储器选择电路,所述存储器选择电路配置成基于被确定的所述写入数据的属性,来选择所述主机存储器和所述非易失性存储器件中的任何一个作为要储存所述写入数据的位置。
2.根据权利要求1所述的数据处理系统,
其中,所述存储系统还包括缓冲存储器,所述缓冲存储器配置成缓冲所述写入数据,以及
其中,所述存储器选择电路还配置成选择所述主机存储器、所述非易失性存储器件和所述缓冲存储器中的任何一个作为要储存所述写入数据的位置。
3.根据权利要求2所述的数据处理系统,
其中,所述缓冲存储器配置为静态随机存取存储器SRAM或动态随机存取存储器DRAM。
4.根据权利要求2所述的数据处理系统,其中,所述数据属性确定电路配置成基于所述写入数据的尺寸来确定所述属性。
5.根据权利要求4所述的数据处理系统,其中,所述主机控制器配置成发送包括所述写入数据的尺寸的写入请求。
6.根据权利要求4所述的数据处理系统,
其中,所述存储器控制器还包括参考提供器,所述参考提供器配置成提供第一参考尺寸,以及
其中,所述存储器选择电路配置成:
当所述写入数据的尺寸小于所述第一参考尺寸时,选择所述主机存储器;以及
当所述写入数据的尺寸等于或大于所述第一参考尺寸时,选择所述非易失性存储器件。
7.根据权利要求4所述的数据处理系统,
其中,所述存储器控制器还包括参考提供器,所述参考提供器配置成提供第一参考尺寸,以及
其中,所述存储器选择电路配置成:
当所述写入数据的尺寸小于所述第一参考尺寸时,选择所述主机存储器;以及
当所述写入数据的尺寸等于或大于所述第一参考尺寸时,选择所述缓冲存储器。
8.根据权利要求7所述的数据处理系统,其中,所述存储器控制器控制所述写入数据被缓冲在所述缓冲存储器中且然后被储存在所述非易失性存储器件中。
9.根据权利要求8所述的数据处理系统,其中,当所述缓冲存储器存满时,所述存储器控制器控制所述写入数据被储存在所述非易失性存储器件中。
10.根据权利要求4所述的数据处理系统,
其中,所述存储器控制器还包括参考提供器,所述参考提供器配置成提供第一参考尺寸和第二参考尺寸,以及
其中,所述存储器选择电路配置成:
当所述写入数据的尺寸小于所述第一参考尺寸时,选择所述主机存储器;以及
当所述写入数据的尺寸等于或大于所述第一参考尺寸时,通过将所述写入数据的尺寸与所述第二参考尺寸进行比较来选择所述非易失性存储器件或所述缓冲存储器。
11.根据权利要求10所述的数据处理系统,其中,所述存储器选择电路配置成:
当所述写入数据的尺寸小于所述第二参考尺寸时,选择所述缓冲存储器;以及
当所述写入数据的尺寸等于或大于所述第二参考尺寸时,选择所述非易失性存储器件。
12.根据权利要求10所述的数据处理系统,
其中,所述存储器选择电路配置成当所述写入数据的尺寸小于所述第二参考尺寸时,选择所述缓冲存储器,以及
其中,所述存储器控制器控制所述写入数据被缓冲在所述缓冲存储器中且然后被储存在所述非易失性存储器件中。
13.根据权利要求10所述的数据处理系统,其中,所述第二参考尺寸对应于所述缓冲存储器能够容纳的数据储存容量。
14.根据权利要求1所述的数据处理系统,其中,所述数据属性确定电路配置成基于所述写入数据是否为顺序数据来确定所述属性。
15.根据权利要求14所述的数据处理系统,其中,所述存储器选择电路配置成:
当所述写入数据是顺序数据时,选择所述非易失性存储器件;以及
当所述写入数据不是顺序数据时,选择所述主机存储器。
16.一种操作数据处理系统的方法,所述方法包括:
由主机系统的主机控制器发送针对写入数据的写入请求到存储系统的存储器控制器;
由所述存储器控制器确定所述写入数据的尺寸;以及
由所述存储器控制器基于所述写入数据的确定的尺寸来控制所述写入数据被选择性地储存在所述主机系统的主机存储器或所述存储系统的非易失性存储器件中。
17.根据权利要求16所述的方法,其中,所述主机控制器配置成发送包括所述写入数据的尺寸的写入请求。
18.根据权利要求16所述的方法,其中,控制所述写入数据被选择性地储存包括:
当所述写入数据的尺寸小于第一参考尺寸时,控制所述写入数据被储存在所述主机存储器中;以及
当所述写入数据的尺寸等于或大于所述第一参考尺寸时,控制所述写入数据被储存在所述非易失性存储器件中。
19.根据权利要求18所述的方法,其中,控制所述写入数据被选择性地储存还包括:
当所述写入数据的尺寸小于所述第一参考尺寸且所述主机存储器存满时,控制所述写入数据被储存在所述非易失性存储器件中。
20.根据权利要求16所述的方法,其中,控制所述写入数据被储存在所述非易失性存储器件中包括:
当所述写入数据的尺寸等于或大于第一参考尺寸且小于第二参考尺寸时,将所述写入数据缓冲在缓冲存储器中;以及
将所述写入数据从所述缓冲存储器移动到所述非易失性存储器件。
21.根据权利要求19所述的方法,其中,控制所述写入数据被储存在所述非易失性存储器件中的步骤包括:
当所述写入数据的尺寸等于或大于第一参考尺寸且等于或大于第二参考尺寸时,将所述写入数据储存在所述非易失性存储器件中。
22.一种操作数据处理系统的方法,所述方法包括:
由主机系统的主机控制器发送针对写入数据的写入请求到存储系统的存储器控制器;
由所述存储器控制器确定所述写入数据是否为顺序数据;以及
由所述存储器控制器基于所述写入数据是否为顺序数据的确定结果,来控制所述写入数据被选择性地储存在所述主机系统的主机存储器或所述存储系统的非易失性存储器件中。
23.根据权利要求22所述的方法,其中,控制所述写入数据被选择性地储存包括:
当所述写入数据是顺序数据时,控制所述写入数据被储存在所述非易失性存储器件中;以及
当所述写入数据不是顺序数据时,控制所述写入数据被储存在所述主机存储器中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0003750 | 2018-01-11 | ||
KR1020180003750A KR20190085644A (ko) | 2018-01-11 | 2018-01-11 | 데이터 처리 시스템 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110047553A true CN110047553A (zh) | 2019-07-23 |
CN110047553B CN110047553B (zh) | 2023-03-21 |
Family
ID=67139565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811450740.XA Active CN110047553B (zh) | 2018-01-11 | 2018-11-30 | 数据处理系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10871915B2 (zh) |
KR (1) | KR20190085644A (zh) |
CN (1) | CN110047553B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021033848A (ja) * | 2019-08-28 | 2021-03-01 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US11416168B2 (en) | 2019-11-07 | 2022-08-16 | FADU Inc. | Memory controller and storage device including the same |
KR102266166B1 (ko) * | 2019-11-07 | 2021-06-17 | 주식회사 파두 | 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스 |
KR20240131549A (ko) * | 2023-02-24 | 2024-09-02 | 에스케이하이닉스 주식회사 | 데이터의 무결성을 보장하기 위한 컨트롤러, 스토리지 장치 및 컴퓨팅 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103714856A (zh) * | 2012-10-05 | 2014-04-09 | 三星电子株式会社 | 存储器系统及其读取回收方法 |
US20150134886A1 (en) * | 2013-11-13 | 2015-05-14 | SK Hynix Inc. | Data storage device |
CN107066201A (zh) * | 2016-02-11 | 2017-08-18 | 爱思开海力士有限公司 | 数据存储装置及其方法 |
CN107219998A (zh) * | 2016-03-21 | 2017-09-29 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003233534A (ja) * | 2002-02-07 | 2003-08-22 | Hitachi Ltd | メモリシステム |
KR101720101B1 (ko) * | 2011-03-18 | 2017-03-28 | 삼성전자주식회사 | 메모리 시스템에 데이터를 쓰는 쓰기 방법 및 메모리 시스템의 데이터 쓰기 방법 |
JP5887568B2 (ja) * | 2011-06-23 | 2016-03-16 | パナソニックIpマネジメント株式会社 | メモリカードコントローラ、メモリカードアダプタおよびメモリカードドライブ |
KR101934519B1 (ko) * | 2012-11-26 | 2019-01-02 | 삼성전자주식회사 | 저장 장치 및 그것의 데이터 전송 방법 |
US20160011790A1 (en) | 2014-07-14 | 2016-01-14 | Sandisk Technologies Inc. | Systems and methods to enable access to a host memory associated with a unified memory architecture (uma) |
KR102387460B1 (ko) | 2015-04-09 | 2022-04-15 | 삼성전자주식회사 | 데이터 저장 장치와 이의 작동 방법 |
US9904490B2 (en) * | 2015-06-26 | 2018-02-27 | Toshiba Memory Corporation | Solid-state mass storage device and method for persisting volatile data to non-volatile media |
US10466908B2 (en) * | 2015-08-25 | 2019-11-05 | Toshiba Memory Corporation | Memory system that buffers data before writing to nonvolatile memory |
KR20170027922A (ko) * | 2015-09-02 | 2017-03-13 | 삼성전자주식회사 | 복수의 랭크들을 형성하는 복수의 메모리 장치들 및 복수의 메모리 랭크들을 액세스하는 메모리 컨트롤러를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10521118B2 (en) * | 2016-07-13 | 2019-12-31 | Sandisk Technologies Llc | Methods, systems, and computer readable media for write classification and aggregation using host memory buffer (HMB) |
-
2018
- 2018-01-11 KR KR1020180003750A patent/KR20190085644A/ko unknown
- 2018-11-19 US US16/195,540 patent/US10871915B2/en active Active
- 2018-11-30 CN CN201811450740.XA patent/CN110047553B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103714856A (zh) * | 2012-10-05 | 2014-04-09 | 三星电子株式会社 | 存储器系统及其读取回收方法 |
US20150134886A1 (en) * | 2013-11-13 | 2015-05-14 | SK Hynix Inc. | Data storage device |
CN107066201A (zh) * | 2016-02-11 | 2017-08-18 | 爱思开海力士有限公司 | 数据存储装置及其方法 |
CN107219998A (zh) * | 2016-03-21 | 2017-09-29 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US10871915B2 (en) | 2020-12-22 |
KR20190085644A (ko) | 2019-07-19 |
CN110047553B (zh) | 2023-03-21 |
US20190212943A1 (en) | 2019-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10877887B2 (en) | Data storage device and operating method thereof | |
US20180314643A1 (en) | Data storage device and operating method thereof | |
CN110047553A (zh) | 数据处理系统及其操作方法 | |
KR102645786B1 (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
US10360984B2 (en) | Data storage device and method of operating the same | |
US20180239557A1 (en) | Nonvolatile memory device, data storage device including the same, and operating method of data storage device | |
CN110413222A (zh) | 数据存储装置及其操作方法 | |
CN110489056A (zh) | 控制器以及包括该控制器的存储器系统 | |
US10754768B2 (en) | Memory system using descriptor lookup tables to access setting information for a non-volatile memory, and an operating method thereof | |
CN109240937A (zh) | 数据存储装置及其操作方法 | |
US11593031B2 (en) | Operating method of host device and storage device using credit | |
US11748025B2 (en) | Nonvolatile memory device, data storage device including the same and operating method thereof | |
KR102434840B1 (ko) | 데이터 저장 장치 | |
US11281590B2 (en) | Controller, operating method thereof and storage device including the same | |
CN113778322A (zh) | 存储器系统及其操作方法 | |
KR102653845B1 (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
US10572155B2 (en) | Data storage device and operating method thereof | |
KR102695482B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US12032824B2 (en) | Event log management method, controller and storage device | |
US11609710B2 (en) | Host, data storage device, data processing system and data processing method | |
US11429612B2 (en) | Address search circuit and method of semiconductor memory apparatus and controller therefor | |
US11232023B2 (en) | Controller and memory system including the same | |
KR20210002190A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
US11314461B2 (en) | Data storage device and operating method of checking success of garbage collection operation | |
US20190212946A1 (en) | Data storage device and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |