CN108733616B - 包括多处理器的控制器及其操作方法 - Google Patents
包括多处理器的控制器及其操作方法 Download PDFInfo
- Publication number
- CN108733616B CN108733616B CN201810296004.7A CN201810296004A CN108733616B CN 108733616 B CN108733616 B CN 108733616B CN 201810296004 A CN201810296004 A CN 201810296004A CN 108733616 B CN108733616 B CN 108733616B
- Authority
- CN
- China
- Prior art keywords
- mailbox
- command
- memory
- commands
- servicing
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 16
- 230000015654 memory Effects 0.000 claims abstract description 214
- 239000000872 buffer Substances 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 abstract description 36
- 238000010586 diagram Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 13
- 239000010410 layer Substances 0.000 description 11
- 238000012937 correction Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 102100040381 Dol-P-Glc:Glc(2)Man(9)GlcNAc(2)-PP-Dol alpha-1,2-glucosyltransferase Human genes 0.000 description 2
- 101000890957 Homo sapiens Dol-P-Glc:Glc(2)Man(9)GlcNAc(2)-PP-Dol alpha-1,2-glucosyltransferase Proteins 0.000 description 2
- 101100072644 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) INO2 gene Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000013590 bulk material Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/46—Multiprogramming arrangements
- G06F9/465—Distributed object oriented systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种控制器,该控制器可包括:第一处理器,适于根据从主机提供的命令的类型将命令顺序地存储到存储器的第一邮箱和第二邮箱中的一个;以及第二处理器,适于服务存储在第一邮箱和第二邮箱中的命令,其中,当从主机提供第一命令,第一命令与存储在第二邮箱中的第二命令的相同逻辑地址对应,第一命令和第二命令为不同类型,第一处理器将第一命令存储到第一邮箱中,并且将表示第二命令具有比第一命令更高的处理优先级的优先级信息存储在存储器中,并且其中第二处理器通过参考优先级信息来服务存储在第一邮箱和第二邮箱中的命令。
Description
相关申请的交叉引用
本申请要求于2017年4月24日提交的申请号为10-2017-0052226的韩国专利申请的优先权,其全部公开内容通过引用并入本文。
技术领域
本发明的各个示例性实施例涉及一种多处理器系统。特别地,示例性实施例涉及一种能够有效地管理数据的控制器及其操作方法。
背景技术
计算环境的范例已经转变为可在任何时间和任何地点使用的普适计算系统。也就是说,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用增长迅速增长。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
由于存储器系统没有移动部件,所以它们提供优良的稳定性、耐用性、高的信息存取速度以及低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
存储器系统的控制器可采用多个处理器来提高控制器的整体速度。处理器可具有不同的角色,并且可通过被称为处理器间通信(IPC)的技术通过彼此交换数据进行协作来支持整个系统。
发明内容
本发明的各个实施例涉及一种能够在多个核心处理器之间有效地进行通信的控制器。
根据本发明的实施例,控制器可包括:第一处理器,适于根据从主机提供的命令的类型将命令顺序地存储到存储器的第一邮箱(mailbox)和第二邮箱中的一个;以及第二处理器,适于服务存储在第一邮箱和第二邮箱中的命令,其中,从主机提供第一命令,第一命令与存储在第二邮箱中的第二命令的相同逻辑地址对应,第一命令和第二命令为不同类型,第一处理器将第一命令存储到第一邮箱中,并且将表示第二命令具有比第一命令更高的处理优先级的优先级信息存储在存储器中,并且其中第二处理器通过参考优先级信息来服务存储在第一邮箱和第二邮箱中的命令。
第二处理器可通过进一步参考第一邮箱和第二邮箱之间的处理顺序来服务存储在第一邮箱和第二邮箱中的命令。
第二处理器可在完成服务存储在第一邮箱中的命令之后服务存储在第二邮箱中的命令,并且第二处理器通过参考优先级信息而在服务存储在第一邮箱中的命令之前服务存储在第二邮箱中的命令。
第一命令可以是读取命令,第二命令可以是写入命令,并且第一处理器可将读取命令存储到第一邮箱中,并将写入命令存储到第二邮箱中。
第二处理器可在服务存储在第一邮箱中的第一命令之前临时服务第二命令,并且第二处理器可在临时服务第二命令之后,在服务存储在第二邮箱中的命令期间服务第二命令。
第二处理器可控制存储器装置在临时服务第二命令期间将对应于存储在第二邮箱中的第二命令的数据存储到存储器装置的缓冲区域中。
第二处理器可控制存储器装置在主要服务第二命令期间将对应于存储在第二邮箱中的第二命令的数据存储到存储器装置的存储区域中。
第一命令可以是写入命令,第二命令可以是读取命令,并且第一处理器可将写入命令存储到第一邮箱中,并将读取命令存储到第二邮箱中。
第二处理器可在服务存储在第一邮箱中的第一命令之前临时服务第二命令,并且第二处理器可在临时服务第二命令之后,在服务存储在第二邮箱中的命令期间服务第二命令。
根据本发明的实施例,包括具有多个邮箱的存储器、第一处理器和第二处理器的控制器的操作方法可包括:通过第一处理器根据从主机提供的命令的类型将命令顺序地存储到存储器的第一邮箱和第二邮箱中的一个中;以及通过第二处理器服务存储在第一邮箱和第二邮箱中的命令,其中顺序地存储命令包括:当从主机提供第一命令,第一命令与存储在第二邮箱中的第二命令的相同逻辑地址对应,第一和第二命令为不同类型,将第一命令存储到第一邮箱中,并将表示第二命令具有比第一命令更高的处理优先级的优先级信息存储到存储器中,并且其中服务命令包括通过参考优先级信息来服务存储在第一邮箱和第二邮箱中的命令。
服务命令可包括通过进一步参考第一邮箱和第二邮箱之间的处理顺序来服务存储在第一邮箱和第二邮箱中的命令。
服务命令可包括在完成服务存储在第一邮箱中的命令之后,服务存储在第二邮箱中的命令;并且参考优先级信息而在服务存储在第一邮箱中的命令之前服务存储在第二邮箱中的命令。
第一命令可以是读取命令,第二命令可以是写入命令,并且顺序地存储命令可包括将读取命令存储到第一邮箱中,并将写入命令存储到第二邮箱中。
服务命令可包括在服务存储在第一邮箱中的第一命令之前临时服务第二命令;以及在临时服务第二命令之后,在服务存储在第二邮箱中的命令期间服务第二命令。
临时服务第二命令可包括控制存储器装置将对应于存储在第二邮箱中的第二命令的数据存储到存储器装置的缓冲区域中。
服务第二命令可包括控制存储器装置将对应于存储在第二邮箱中的第二命令的数据存储到存储器装置的存储区域中。
第一命令可以是写入命令,第二命令可以是读取命令,并且顺序地存储命令可包括将写入命令存储到第一邮箱中,并将读取命令存储到第二邮箱中。
服务命令可包括在服务存储在第一邮箱中的第一命令之前临时服务第二命令;以及在临时服务第二命令之后,在服务存储在第二邮箱中的命令期间服务第二命令。
根据本发明的实施例,存储器系统可包括存储器装置;以及控制器,适于重新排列从主机提供的命令的序列,并且响应于重新排列的命令序列来控制存储器装置执行操作,其中控制器通过根据命令的优先级顺序来重新排列对应于不同地址的命令的序列来重新排列命令的序列,并且其中控制器通过根据主机的响应序列来重新排列对应于相同地址的命令的序列来重新排列命令的序列。
附图说明
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图2是示出在图1所示的存储器系统中采用的存储器装置的示例性配置的示意图。
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图。
图4是示出图2所示的存储器装置的示例性三维(3D)结构的示意图。
图5是示出根据本发明的实施例的控制器和存储器的示图。
图6是示出根据本发明的实施例的多个处理器之间通过多个邮箱的通信方法的示图。
图7是示出根据本发明的实施例的多个处理器之间通过多个邮箱的通信方法的示图。
图8是示出根据本发明的实施例的多个处理器之间通过多个邮箱的通信方法的示图。
图9至图17是示意性示出根据本发明的各个实施例的数据处理系统的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,注意到的是,本发明可以不同的其他实施例、形式及其变型实施,且不应被解释为限于本文所阐述的实施例。相反,提供所描述的实施例使得本公开将完整和全面并将本发明充分地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语的限制。这些术语用于将一个元件与另一个元件区分开。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,比例可能已经被夸大。当元件被称为连接至或联接到另一元件时,应当理解的是前者可直接连接或联接到后者,或者经由其间的中间元件电连接或联接到后者。
将进一步理解的是,当元件被称为“连接至”或“联接到”另一元件时,它可直接在其它元件上、连接至或联接到其它元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制本发明。
如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
还注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有明确说明,否则结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可包括被可操作地联接至存储器系统110的主机102。
例如,主机102可以是诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式电脑、游戏机、TV和投影仪等的非便携式电子装置。
存储器系统110可响应于来自主机102的请求进行操作,并且特别地,可存储待由主机102访问的数据。存储器系统110可用作主机102的主存储器系统或辅助存储器系统。根据主机接口的协议,存储器系统110可利用可与主机102电联接的各种类型的存储装置中的任何一种来实施。合适的存储装置的示例包括固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)和微型MMC、安全数字(SD)卡、迷你SD和微型SD、通用串行总线(USB)存储装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体(SM)卡、记忆棒等。
存储器系统110的存储装置可利用诸如以下的易失性存储器装置来实施:动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置,并且存储器系统110的存储装置可利用诸如以下的非易失性存储器装置来实施:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器。
存储器系统110可包括存储待由主机102访问的数据的存储器装置150,以及可控制数据在存储器装置150中的存储的控制器130。
控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器系统中。
存储器系统110可被配置成以下的一部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下传输和接收信息的装置、配置家庭网络的各种电子装置之一、配置计算机网络的各种电子装置之一、配置远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或配置计算系统的各种部件之一。
存储器装置150可以是非易失性存储器装置,并且即使不供应电力,其也可保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可包括多个存储块152至156,存储块152至156中的每一个可包括多个页面。每一个页面可包括多个字线(WL)所电联接到的多个存储器单元。
控制器130可控制存储器装置150的诸如读取操作、写入操作、编程操作和擦除操作的全部操作。例如,存储器系统110的控制器130可响应于来自主机102的请求来控制存储器装置150。控制器130可将从存储器装置150读取的数据提供给主机102,和/或可将从主机102提供的数据存储到存储器装置150中。
控制器130可包括主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、诸如NAND闪速控制器(NFC)的存储器接口(I/F)单元142以及存储器144,其全部通过内部总线可操作地联接。
主机接口单元132可处理从主机102提供的命令和数据,并可通过诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
ECC单元138可在读取操作期间检测并校正从存储器装置150读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC单元138不校正错误位,并且可输出指示校正错误位失败的错误校正失败信号。
ECC单元138可基于诸如以下的编码调制执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)等。ECC单元138可包括用于错误校正操作的所有电路、模块、系统或装置。
PMU 140可提供和管理控制器130的电力。
存储器接口单元142可用作控制器130和存储器装置150之间的存储器/存储接口,以允许控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器时,特别地,当存储器装置150是NAND闪速存储器时,存储器接口单元142可生成用于存储器装置150的控制信号,并在处理器134的控制下处理待提供给存储器装置150的数据。
存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可响应于来自主机102的请求控制存储器装置150。控制器130可将从存储器装置150读取的数据提供给主机102和/或可将从主机102提供的数据存储到存储器装置150中。存储器144可存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可包括用于存储用于多个处理器之间的通信的数据的邮箱(见图5)。
存储器144可利用易失性存储器来实施。存储器144可利用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。虽然图1例示了设置在控制器130内的存储器144,但本公开不限于此。也就是说,存储器144可以被设置在控制器130的内部或外部。例如。在实施例中,存储器144可通过具有在存储器144和控制器130之间传输数据的存储器接口的外部易失性存储器来实施。
处理器134可控制存储器系统110的全部操作。处理器134可驱动被称为闪存转换层(FTL)的固件来控制存储器系统110的全部操作。
FTL可执行作为主机102和存储器装置150之间的接口的操作。主机102可通过FTL请求对存储器装置150的写入操作和读取操作。
FTL可管理地址映射、垃圾收集、损耗均衡等操作。特别地,FTL可存储映射数据。因此,控制器130可通过映射数据将从主机102提供的逻辑地址映射到存储器装置150的物理地址。由于地址映射操作,存储器装置150可执行像普通装置那样的操作。此外,通过基于映射数据的地址映射操作,当控制器130更新特定页面的数据时,控制器130可将新数据编程到另一空白页面,并且由于闪速存储器装置的特性而可使特定页面的旧数据无效。进一步地,控制器130可将新数据的映射数据存储到FTL中。
处理器134可利用微处理器或中央处理器(CPU)来实施。存储器系统110可包括一个或多个处理器134。
管理单元(未示出)也可被包括在处理器134中,并且可执行存储器装置150的坏块管理。管理单元可发现存储器装置150中包含的不符合进一步使用的要求的坏存储块,并对坏存储块执行坏块管理。当存储器装置150为例如NAND闪速存储器的闪速存储器时,由于NAND逻辑功能的特性,在写入操作期间,例如在编程操作期间,可能发生编程失败。在坏块管理期间,编程失败的存储块或坏存储块的数据可被编程到新的存储块中。此外,由编程失败造成的坏块使具有3D堆叠结构的存储器装置150的利用效率和存储器系统110的可靠性严重劣化,因此需要可靠的坏块管理。
图2是示出存储器装置150的示意图。
参照图2,存储器装置150可包括多个存储块BLOCK 0至BLOCK N-1,并且块BLOCK 0至BLOCK N-1中的每一个可包括多个页面,例如2M个页面,页面的数量可根据电路设计而变化。根据每个存储器单元中可存储或表达的位数,存储器装置150可包括多个存储块,如单层单元(SLC)存储块和多层单元(MLC)存储块。SLC存储块可包括利用每一个都能够存储1位数据的存储器单元实施的多个页面。MLC存储块可包括利用每一个都能够存储例如两位或更多位数据的多位数据的存储器单元实施的多个页面。包括利用每一个都能够存储3位数据的存储器单元实施的多个页面的MLC存储块可被定义为三层单元(TLC)存储块。
多个存储块210至240中的每一个可在写入操作期间存储从主机装置102提供的数据,并且可在读取操作期间将存储的数据提供给主机102。
图3是示出存储器装置150中的存储块330的电路图。
参照图3,存储块330对应于多个存储块152至156中的任何一个。
参照图3,存储器装置150的存储块330可包括分别电联接到位线BL0至BLm-1的多个单元串340。每列单元串340可包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元或多个存储器单元晶体管MC0至MCn-1可串联地电联接在选择晶体管DST和SST之间。各个存储器单元MC0至MCn-1可由每一个都可存储1位信息的单层单元(SLC)或者由每一个都可存储多位数据信息的多层单元(MLC)来配置。串340可分别电联接到对应的位线BL0至BLm-1。作为参照,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,“CSL”表示共源线。
虽然图3仅作为示例示出了通过NAND闪速存储器单元配置的存储块330,但注意的是,根据实施例的存储器装置150的存储块330不限于NAND闪速存储器,并且可通过NOR闪速存储器、其中组合了至少两种存储器单元的混合闪速存储器、或其中控制器被内置在存储器芯片中的1-NAND闪速存储器实现。半导体装置的操作特性不仅可被应用于其中电荷存储层由导电浮栅配置的闪速存储器装置,而且可被应用于其中电荷存储层由电介质层配置的电荷撷取闪存(CTF)。
存储器装置150的电源单元310可提供待根据操作模式而被提供给各个字线的例如编程电压、读取电压和通过电压的字线电压以及待提供给例如其中形成有存储器单元的阱区的体材料(bulk)的电压。电源单元310可在控制电路(未示出)的控制下执行电压生成操作。电源单元310可生成多个可变读取电压以生成多个读取数据,在控制电路的控制下选择存储器单元阵列的存储块或扇区中的一个,选择所选择的存储块的字线中的一个,并将字线电压提供给所选择的字线和未选择的字线。
存储器装置150的读取/写入电路320可由控制电路控制,并且可根据操作模式用作读出放大器或写入驱动器。在验证/正常读取操作期间,读取/写入电路320可用作读出放大器,其用于从存储器单元阵列读取数据。在编程操作期间,读取/写入电路320可用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并根据接收的数据驱动位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
图4是说明存储器装置150的示例性3D结构的示意图。
存储器150可以由二维(2D)或三维(3D)存储器装置来实施。具体地,如图4所示,存储器装置150可通过具有3D堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1,其每一个具有3D结构(或垂直结构)。
图5是示出根据本发明的实施例的包括多个处理器134和包括多个邮箱的存储器144的控制器130的示图。
图5例示了包括在多个处理器134中的第一处理器510和第二处理器530。例如,第一处理器510可用作主机接口,并且第二处理器520可用作NAND接口。
第一处理器510可根据命令的类型将通过主机接口132从主机102提供的命令存储到存储器144的邮箱550和570中。此外,第二处理器530可控制存储器接口单元142以在存储器装置150上顺序地服务命令该命令以邮箱550和570之间的预定处理顺序存储在邮箱550和570中。通过该过程,多个处理器134可执行各自的任务,并且可共享用于处理任务的信息。邮箱550和570可临时存储用于在多个处理器134之间通信的数据。
第一处理器510可根据所提供的命令的类型将命令存储到邮箱550和570中。例如,第一处理器510可将从主机102提供的读取命令存储到第一邮箱550中,并且可将从主机102提供的写入命令存储到第二邮箱570中。该命令可包括前台命令和后台命令。前台命令可包括从主机102提供的读取命令和写入命令,并且后台命令可包括从主机102和/或控制器130提供的垃圾收集命令、刷新命令和读取回收命令。
第二处理器530可根据预定处理顺序来服务存储在邮箱550和570中的命令。例如,当第一邮箱550在处理顺序上优先于第二邮箱570时,第二处理器530可在完成服务存储在第一邮箱550中的命令之后来服务存储在第二邮箱570中的命令。
然而,当第二处理器530根据预定处理顺序而无灵活性地服务存储在邮箱550和570中的命令,服务结果可能是错误的。例如,当主机102提供写入命令以将数据“B”存储到当前正存储数据“A”的逻辑地址“10”的存储空间中,然后提供读取命令以读取存储在相同逻辑地址的存储空间中的数据时,第一处理器510可将读取命令存储到第一邮箱550中,并且可将写入命令存储到第二邮箱570中。因此,当第二处理器530根据处理顺序首先服务存储在第一邮箱550中的读取命令,然后服务存储在第二邮箱570中的写入命令时,根据来自主机102的传输顺序(即,先是写入命令,然后是读取命令的顺序)应当被提供有数据“B”的主机102可能被错误地提供数据“A”。也就是说,当从主机102顺序地提供了针对相同逻辑地址的读取命令和写入命令,然后被存储到邮箱550和570中时,第二处理器530可能严格地根据处理顺序服务存储在邮箱550和570中的读取命令和写入命令,因此服务结果可能出现错误。
为了防止上述问题,根据来自主机102的传输顺序来服务命令,这引起读取命令的服务时间增加。
在下文中,为便于描述,仅作为示例,假设从主机102提供的命令序列包括读取命令和写入命令,并且第一邮箱550在处理顺序中优先于第二邮箱570,并且命令的类型和优先级可根据系统设计而变化。
图6是示出第一处理器510将从主机102提供的命令存储到邮箱550和570中的操作的示图。
参照图6,邮箱550和570中的每一个可包括索引字段INDEX、命令字段CMD和逻辑地址字段LBA。索引字段INDEX可表示存储在邮箱550和570中的命令的顺序。命令字段CMD可表示存储在邮箱550和570中的命令的类型。逻辑地址字段LBA可表示与存储器装置150中命令字段CMD的命令相对应的逻辑位置。
当主机102将命令序列610提供给第一处理器510时,第一处理器510可根据命令的类型将包括在命令序列610中的命令顺序地存储到邮箱550和570中。
如图6所示,当包括第一读取命令R1至第五读取命令R5和第一写入命令W1至第三写入命令W3的命令序列610被提供给第一处理器510时,第一处理器510可将第一读取命令R1至第五读取命令R5顺序地存储到第一邮箱550中,并且可将第一写入命令W1至第三写入命令W3顺序地存储到第二邮箱570中。
当第一处理器510根据命令的类型将命令序列610的命令顺序地存储到邮箱550和570中时,第一处理器510可将对应于相同逻辑地址的命令的优先级信息存储到存储器144中。
例如,当写入命令和读取命令对应于相同的逻辑地址并且写入命令应该在读取命令之前被服务时,第一处理器510可将表示当前存储在较低优先级的第二邮箱570中的、但具有比当前存储在较高优先级的第一邮箱550中的读取命令更高的优先级的写入命令的优先级信息进行存储。
以类似的方式,例如,当第二邮箱570具有比第一邮箱550更高的优先级,并且写入命令和读取命令对应于相同的逻辑地址,同时读取命令应该在写入命令之前被服务时,第一处理器510可将表示当前存储在第一邮箱550中的、但具有比当前存储在第二邮箱570中的写入命令更高的优先级的读取命令的优先级信息进行存储。
优先级信息可表示具有比对应于相同逻辑地址的命令更高的优先级的命令。例如,主机102可先提供较高优先级的命令,然后提供较低优先级的命令。也就是说,命令的优先级可表示对应该被提供给主机102的命令的响应的顺序。在实施例中,第一处理器510可通过链接列表管理对应于相同逻辑地址的命令,并且优先级信息可利用指针来实施,该指针表示具有比对应于相同逻辑地址的剩余命令更高的优先级的命令。
如图6所示,当第一邮箱550具有比第二邮箱570更高的优先级时,第一处理器510可将均对应于值为10的逻辑地址(即,LBA 10)的第一读取命令R1和第一写入命令W1顺序地存储到第一邮箱550和第二邮箱570中。然后,第一处理器510可将同样对应于相同逻辑地址(即,LBA 10)的第二读取命令R2存储到第一邮箱550中,并且同时可将表示第一写入命令W1具有比第二读取命令R2更高的优先级的优先级信息630存储在存储器144中。
进一步地,第一处理器510可相应地将对应于值为20的逻辑地址(即,LBA 20)的第二写入命令W2、对应于值为30的逻辑地址(即,LBA 30)的第三读取命令R3、同样对应于值为20的逻辑地址(即,LBA 20)的第四读取命令R4以及同样对应于值为30的逻辑地址(即,LBA30)的第三写入命令W3顺序地存储到第一邮箱550和第二邮箱570中的一个。同时,第一处理器510可将表示第二写入命令W2具有比第四读取命令R4更高的优先级的优先级信息650存储在存储器144中。
图7是示出根据本发明的实施例的第二处理器530服务存储在邮箱550和570中的命令的操作的示图。
第二处理器530可根据邮箱550和570之间的预定处理顺序,分别顺序地服务存储在邮箱550和570中的第一读取命令R1至第五读取命令R5和第一写入命令W1至第三写入命令W3。当第一邮箱550具有比第二邮箱570更高的优先级时,第二处理器530可在完成服务存储在第一邮箱550中的第一读取命令R1至第五读取命令R5之后服务存储在第二邮箱570中的第一写入命令W1至第三写入命令W3。
进一步地,当第二处理器530根据预定处理顺序分别服务存储在邮箱550和570中的第一读取命令R1至第五读取命令R5和第一写入命令W1至第三写入命令W3时,第二处理器530可参考存储在存储器144中的优先级信息630和650。通过参考表示第一写入命令W1具有比第二读取命令R2更高的优先级的优先级信息630,第二处理器530可在完成服务第一写入命令W1之后服务第二读取命令R2。以类似的方式,通过参考表示第二写入命令W2具有比第四读取命令R4更高的优先级的优先级信息650,第二处理器530可在完成服务第二写入命令W2之后服务第四读取命令R4。
因此,第二处理器530提供给存储器装置150的命令序列710可不同于从主机102提供的命令序列610。如图7所示,第二处理器530可在服务第二写入命令W2之前服务第三读取命令R3,其中第二写入命令W2处于从主机102提供的命令序列610中的第四位置,第三读取命令R3处于从主机102提供的命令序列610中的第五位置。此外,第二处理器530可在服务第四读取命令R4之前服务第二写入命令W2,其中第四读取命令R4处于从主机102提供的命令序列610中的第六位置,第二写入命令W2处于从主机102提供的命令序列610中的第四位置。
图8是示出根据本发明的实施例的第二处理器530服务存储在邮箱550和570中的命令的操作的示图。
第二处理器530可临时服务由优先级信息630表示的写入命令W1和W2,然后可顺序地服务存储在第二邮箱570中的写入命令。
例如,通过参考优先级信息630,第二处理器530可临时服务第一写入命令W1,然后服务第二读取命令R2。当完成服务存储在第一邮箱550中的读取命令时,第二处理器530可服务存储在第二邮箱570中的第一写入命令W1。以类似的方式,通过参考优先级信息650,第二处理器530可临时服务第二写入命令W2,然后可服务第四读取命令R4。当完成服务存储在第一邮箱550中的读取命令时,第二处理器530可服务存储在第二邮箱570中的第二写入命令W2。
在临时服务期间,第二处理器530可控制存储器装置150将对应于优先级信息630和650的写入命令W1和W2的数据存储到存储器装置150的缓冲区域(例如,第二管芯DIE2)中。在主服务期间,第二处理器530可控制存储器装置150将对应于优先级信息630和650的写入命令W1和W2的数据存储到存储器装置150的预期存储区域(例如,第一管芯DIE1)中。通过临时服务临时存储在缓冲区域(例如,第二管芯DIE2)中的数据可在对应于优先级信息630和650的写入命令W1和W2的数据通过主服务被存储到存储器装置150的预期存储区域(例如,第一管芯DIE1)之后被删除或无效。
根据本发明的实施例,存储器系统110可通过根据邮箱550和570之间的预定处理顺序来服务存储在邮箱550和570中的命令来减少读取命令的延迟。
进一步地,根据本发明的实施例,存储器系统110可通过根据命令的优先级信息630和650来服务对存储器装置150的命令,以响应于读取命令而防止数据序列被错误地输出到主机102。
此外,根据本发明的实施例,存储器系统110可通过根据相同逻辑地址的读取命令和写入命令之间的优先级关系来服务命令来防止对读取命令响应时间的增加。
图9至图17是示意性说明根据各个实施例的图1至图8的数据处理系统的应用示例的示图。
图9是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的示图。图9示意性示出了应用根据本实施例的存储器系统的存储卡系统。
参照图9,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可被连接至通过非易失性存储器实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口并驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1和图8描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1和图8描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器6120可进一步包括图1所述的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WIFI以及蓝牙。因此,根据本实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,或者特别是移动电子装置。
存储器装置6130可通过非易失性存储器来实施。例如,存储器装置6130可通过诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。存储器装置6130可包括如图1的存储器装置150中的多个管芯。
存储器控制器6120和存储器装置6130可被集成至单个半导体装置中。例如,存储器控制器6120和存储器装置6130可通过集成至单个半导体装置中构成固态驱动器(SSD)。此外,存储器控制器6120和存储器装置6130可构成存储卡,诸如PC卡(PCMCIA:个人计算机存储卡国际协会)、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)以及通用闪速存储(UFS)。
图10是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的示图。
参照图10,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图9所示的数据处理系统6200可作为如参照图1所描述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1至图8所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1至图8所示的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224以及诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可根据CPU 6221的控制来操作且用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,通过CPU 6221处理的数据可被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传输到存储器装置6230的数据或从存储器装置6230传输到主机6210的数据。当RAM6222用作高速缓冲存储器时,RAM 6222可辅助低速存储器装置6230以高速运行。
ECC电路6223可对应于图1所示的ECC单元138。如参照图1所述,ECC电路6223可生成用于校正从存储器装置6230提供的数据的失效位或错误位的ECC(错误校正码)。ECC电路6223可对提供给存储器装置6230的数据执行错误校正编码,从而形成具有奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ECC电路6223可对从存储器装置6230输出的数据执行错误校正解码。此时,ECC电路6223可使用奇偶校验位来校正错误。例如,如参照图1所述,ECC电路6223可使用LDPC码、BCH码、turbo码、里德-所罗门码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224向主机6210传输数据/接收来自主机6210的数据,并通过NVM接口6225向存储器装置6230传输数据/接收来自存储器装置6230的数据。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接至主机6210。存储器控制器6220可利用诸如WiFi或长期演进(LTE)的移动通信协议具有无线通信功能。存储器控制器6220可连接至外部装置,例如主机6210或另一个外部装置,然后向外部装置传输数据/接收来自外部装置的数据。特别地,由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置通信,因此根据本实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。
图11是示意性示出包括根据本实施例的存储器系统的数据处理系统的另一示例的示图。图11示意性示出应用根据本实施例的存储器系统的SSD。
参照图11,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130,并且存储器装置6340可对应于图1的存储器系统中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接至存储器装置6340。控制器6320可包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324以及诸如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪速存储器NVM提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可通过诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实施。为便于描述,图11说明缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可存在于控制器6320的外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用了图1的存储器系统110的多个SSD 6300来实施数据处理系统,例如,RAID(独立磁盘冗余阵列)系统。此时,RAID系统可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD6300中选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图12是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图12示意性示出应用了根据实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图12,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1的存储器系统110中的控制器130,并且存储器装置6440可对应于图1的存储器系统110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接至存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和诸如NAND接口6433的存储器接口。
内核6432可控制eMMC 6400的操作,主机接口6431可提供控制器6430和主机6410之间的接口功能,并且NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可用作并行接口,例如参照图1所描述的MMC接口。此外,主机接口6431可用作串行接口,例如UHS((超高速)-I/UHS-II)接口。
图13至图16是示意性示出包括根据实施例的存储器系统的数据处理系统的其它示例的示图。图13至图16示意性示出应用根据实施例的存储器系统的UFS(通用闪存)系统。
参照图13至图16,UFS系统6500、6600、6700和6800可分别包括主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720和6820可用作嵌入式UFS装置,并且UFS卡6530、6630、6730和6830可用作外部嵌入式UFS装置或可移除UFS卡。
各个UFS系统6500、6600、6700和6800中的主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS协议与诸如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过图1所示的存储器系统110来实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以参照图9至图11描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图9描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS接口,例如,MIPI(移动行业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)彼此通信。此外,UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可通过除UFS协议以外的各种协议,例如,UFD、MMC、SD、迷你SD和微型SD彼此通信。
在图13所示的UFS系统6500中,主机6510、UFS装置6520以及UFS卡6530中的每一个可包括UniPro。主机6510可执行交换操作,以便与UFS装置6520和UFS卡6530通信。特别地,主机6510可通过例如UniPro处的L3交换的链路层交换与UFS装置6520或UFS卡6530通信。此时,UFS装置6520和UFS卡6530可通过主机6510的UniPro处的链路层交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6520和一个UFS卡6530连接至主机6510的配置。然而,多个UFS装置和UFS卡可并联或以星型形式连接至主机6510,并且多个UFS卡可并联或以星型形式连接至UFS装置6520,或者串联或以链型形式连接至UFS装置6520。
在图14所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro,并且主机6610可通过执行交换操作的交换模块6640,例如,通过在UniPro处执行链路层交换例如L3交换的交换模块6640,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过UniPro处的交换模块6640的链路层交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6620和一个UFS卡6630连接至交换模块6640的配置。然而,多个UFS装置和UFS卡可并联或以星型形式连接至交换模块6640,并且多个UFS卡可串联或以链型形式连接至UFS装置6620。
在图15所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro,并且主机6710可通过执行交换操作的交换模块6740,例如通过在UniPro处执行链路层交换例如L3交换的交换模块6740,与UFS装置6720或UFS卡6730通信。此时,UFS装置6720和UFS卡6730可通过UniPro处的交换模块6740的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在本实施例中,为便于描述,已经例示了其中一个UFS装置6720和一个UFS卡6730连接至交换模块6740的配置。然而,每个都包括交换模块6740和UFS装置6720的多个模块可并联或以星型形式连接至主机6710,或者串联或以链型形式彼此连接。此外,多个UFS卡可并联或以星型形式连接至UFS装置6720。
在图16所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可包括M-PHY和UniPro。UFS装置6820可执行交换操作,以便与主机6810和UFS卡6830通信。特别地,UFS装置6820可通过用于与主机6810通信的M-PHY和UniPro模块和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标ID(标识符)交换操作,来与主机6810或UFS卡6830通信。此时,主机6810和UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6820连接至主机6810且一个UFS卡6830连接至UFS装置6820的配置。然而,多个UFS装置可并联或以星型形式连接至主机6810,或串联或以链型形式连接至主机6810,并且多个UFS卡可并联或以星型形式连接至UFS装置6820,或串联或以链型形式连接至UFS装置6820。
图17是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图17是示意性示出应用了根据实施例的存储器系统的用户系统的示图。
参照图17,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在诸如OS的用户系统6900中的组件,并且包括控制包括在用户系统6900中的组件的控制器、接口和图形引擎。应用处理器6930可作为片上系统(SoC)被提供。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDARM、LPDDR2 SDRAM或LPDDR3 SDRAM的易失性RAM,或诸如PRAM、ReRAM、MRAM或FRAM的非易失性RAM。例如,可基于POP(堆叠式封装)封装和安装应用处理器6930和存储器模块6920。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支持有线通信,而且可支持各种无线通信协议,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。因此,根据本发明的实施例的存储器系统和数据处理系统可应用于有线/无线电子装置。网络模块6940可被包括在应用处理器6930中。
存储模块6950可存储数据,例如从应用处理器6930接收的数据,然后可将所存储的数据传输到应用处理器6930。存储模块6950可通过诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND闪存的非易失性半导体存储器装置来实施,并且可被提供为诸如用户系统6900的存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于参照图1描述的存储器系统110。此外,存储模块6950可被实施为如上参照图9至图16所述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的操作,并且网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过处理器6930处理的数据或支持从触摸面板接收数据的功能。
虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和修改。
Claims (7)
1.一种控制器,其包括:
存储器,包括适于存储读取命令的第一邮箱以及比所述第一邮箱的邮箱优先级低、适于存储写入命令的第二邮箱;
第一处理器,适于根据从主机提供的命令的类型将所述命令顺序地存储到所述第一邮箱和所述第二邮箱中的一个;以及
第二处理器,适于服务存储在所述第一邮箱和所述第二邮箱中的命令,
其中,当从所述主机提供与存储在所述第二邮箱中的第二写入命令的相同逻辑地址对应的第一读取命令时,所述第一处理器将所述第一读取命令存储到所述第一邮箱中,并且将表示所述第二写入命令具有比所述第一读取命令更高的命令优先级的命令优先级信息存储到所述存储器中,并且
其中,所述第二处理器通过参考所述邮箱优先级和命令优先级来服务存储在所述第一邮箱和所述第二邮箱中的命令。
2.根据权利要求1所述的控制器,
其中所述第二处理器在完成服务存储在所述第一邮箱中的命令之后服务存储在所述第二邮箱中的命令,并且
其中所述第二处理器通过参考所述命令优先级信息而在服务存储在所述第一邮箱中的命令之前服务存储在所述第二邮箱中的命令。
3.根据权利要求2所述的控制器,
其中所述第二处理器在服务存储在所述第一邮箱中的第一读取命令之前、通过将对应于所述第二写入命令的数据存储在所述存储器装置的缓冲区域中,来临时服务所述第二写入命令,并且
其中所述第二处理器在临时服务所述第二写入命令之后、服务存储在所述第二邮箱中的命令期间、通过将对应于所述第二写入命令的数据存储在所述存储器装置的存储区域,来服务所述第二写入命令。
4.一种控制器的操作方法,所述控制器包括具有第一邮箱和比所述第一邮箱的邮箱优先级低的第二邮箱的存储器、第一处理器和第二处理器,所述方法包括:
通过所述第一处理器根据从主机提供的命令的类型将所述命令顺序地存储到所述第一邮箱和所述第二邮箱中的一个;以及
通过所述第二处理器服务存储在所述第一邮箱和所述第二邮箱中的命令,
其中,所述第一邮箱适于存储读取命令,所述第二邮箱适于存储写入命令,
其中,顺序地存储命令包括:当从所述主机提供与存储在所述第二邮箱中的第二写入命令的相同逻辑地址对应的第一读取命令时,将所述第一读取命令存储到所述第一邮箱中,并将表示所述第二写入命令具有比所述第一读取命令更高的命令优先级的优先级信息存储到所述存储器中,并且
其中,服务所述命令包括通过参考所述邮箱和命令优先级来服务存储在所述第一邮箱和所述第二邮箱中的命令。
5.根据权利要求4所述的方法,
其中服务所述命令包括:
在完成服务存储在所述第一邮箱中的命令之后,服务存储在所述第二邮箱中的命令;并且
通过参考所述命令优先级信息而在服务存储在所述第一邮箱中的命令之前服务存储在所述第二邮箱中的命令。
6.根据权利要求5所述的方法,
其中服务所述命令包括:
在服务存储在所述第一邮箱中的第一读取命令之前、通过将对应于所述第二写入命令的数据存储在所述存储器装置的缓冲区域中,来临时服务所述第二写入命令;以及
在临时服务所述第二写入命令之后、服务存储在所述第二邮箱中的命令期间、通过将对应于所述第二写入命令的数据存储在所述存储器装置的存储区域,来服务所述第二写入命令。
7.一种存储器系统,其包括:
存储器装置;以及
控制器,包括第一邮箱以及比所述第一邮箱的邮箱优先级低的第二邮箱,所述第一邮箱适于存储读取命令,所述第二邮箱适于存储写入命令,并且所述控制器适于:
根据从主机提供的每个命令的类型将所述命令存储到所述第一邮箱或所述第二邮箱;以及
根据每个命令属于的所述邮箱的优先级确定所述命令的序列;
通过对应于根据对所述主机的响应序列的相同逻辑地址的命令的序列,重新排列所述命令的序列,其中对应于所述相同逻辑地址的命令的序列包括第一读取命令和第二写入命令,并且重新排列包括将所述第一读取命令存储到所述第一邮箱并且存储表示比所述第一读取命令的命令优先级高的第二写入命令的命令优先级信息;
控制所述存储器装置以通过参考所述邮箱优先级和命令优先级,而执行响应于所述命令的重新排列的序列的操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170052226A KR102322740B1 (ko) | 2017-04-24 | 2017-04-24 | 복수의 프로세서를 포함하는 컨트롤러 및 컨트롤러의 동작방법 |
KR10-2017-0052226 | 2017-04-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108733616A CN108733616A (zh) | 2018-11-02 |
CN108733616B true CN108733616B (zh) | 2021-12-28 |
Family
ID=63853801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810296004.7A Active CN108733616B (zh) | 2017-04-24 | 2018-04-04 | 包括多处理器的控制器及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10761912B2 (zh) |
KR (1) | KR102322740B1 (zh) |
CN (1) | CN108733616B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933292B (zh) * | 2019-03-21 | 2023-06-09 | 深圳文脉国际传媒有限公司 | 存储器命令处理方法、终端及存储介质 |
US11704056B2 (en) * | 2019-07-26 | 2023-07-18 | Kioxia Corporation | Independent set data lanes for IOD SSD |
US11113213B2 (en) * | 2019-12-30 | 2021-09-07 | Micron Technology, Inc. | Determining write commands for deletion in a host interface |
KR20210132806A (ko) * | 2020-04-28 | 2021-11-05 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
CN116185310B (zh) * | 2023-04-27 | 2023-07-14 | 中茵微电子(南京)有限公司 | 一种存储器数据读写调度方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882127A (zh) * | 2010-06-02 | 2010-11-10 | 湖南大学 | 一种多核心处理器 |
CN102110074A (zh) * | 2011-01-21 | 2011-06-29 | 杭州华三通信技术有限公司 | 多核处理器及流分类控制装置和方法 |
CN103366801A (zh) * | 2012-03-29 | 2013-10-23 | 三星电子株式会社 | 存储器装置及其操作方法 |
CN104011676A (zh) * | 2011-12-20 | 2014-08-27 | 国际商业机器公司 | 用于跨过多个硬件线程的虚拟线程的细粒度并行的低延迟变量转移网络 |
CN104572571A (zh) * | 2013-10-29 | 2015-04-29 | Ls产电株式会社 | 用于处理消息的装置和方法 |
JP2017054483A (ja) * | 2015-09-08 | 2017-03-16 | ソニー株式会社 | メモリコントローラ、メモリシステム、および、メモリコントローラの制御方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6199127B1 (en) * | 1997-12-24 | 2001-03-06 | Intel Corporation | Method and apparatus for throttling high priority memory accesses |
US7418543B2 (en) | 2004-12-21 | 2008-08-26 | Intel Corporation | Processor having content addressable memory with command ordering |
KR20110013868A (ko) * | 2009-08-04 | 2011-02-10 | 삼성전자주식회사 | 멀티 코멘드 셋 동작 및 우선처리 동작 기능을 갖는 멀티 프로세서 시스템 |
US20150186068A1 (en) | 2013-12-27 | 2015-07-02 | Sandisk Technologies Inc. | Command queuing using linked list queues |
KR20150127914A (ko) * | 2014-05-07 | 2015-11-18 | 에스케이하이닉스 주식회사 | 복수의 프로세서들을 포함하는 반도체 장치 및 그것의 동작 방법 |
US9503922B1 (en) * | 2015-10-16 | 2016-11-22 | Sprint Communications Company L.P. | Wireless network abstract maintenance command execution framework |
US10402120B2 (en) * | 2016-07-15 | 2019-09-03 | Advanced Micro Devices, Inc. | Memory controller arbiter with streak and read/write transaction management |
-
2017
- 2017-04-24 KR KR1020170052226A patent/KR102322740B1/ko active IP Right Grant
-
2018
- 2018-02-02 US US15/887,263 patent/US10761912B2/en active Active
- 2018-04-04 CN CN201810296004.7A patent/CN108733616B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882127A (zh) * | 2010-06-02 | 2010-11-10 | 湖南大学 | 一种多核心处理器 |
CN102110074A (zh) * | 2011-01-21 | 2011-06-29 | 杭州华三通信技术有限公司 | 多核处理器及流分类控制装置和方法 |
CN104011676A (zh) * | 2011-12-20 | 2014-08-27 | 国际商业机器公司 | 用于跨过多个硬件线程的虚拟线程的细粒度并行的低延迟变量转移网络 |
CN103366801A (zh) * | 2012-03-29 | 2013-10-23 | 三星电子株式会社 | 存储器装置及其操作方法 |
CN104572571A (zh) * | 2013-10-29 | 2015-04-29 | Ls产电株式会社 | 用于处理消息的装置和方法 |
JP2017054483A (ja) * | 2015-09-08 | 2017-03-16 | ソニー株式会社 | メモリコントローラ、メモリシステム、および、メモリコントローラの制御方法 |
Non-Patent Citations (2)
Title |
---|
Hierarchical multichannel-based integrated smart metering infrastructure;Kwang-il Hwang;Young-sik Jeong;Deok Gyu Lee;《Journal of Supercomputing》;20150320;第72卷(第7期);第2453-2470页 * |
TMS320LF2407A的CAN控制器模块及其CAN通信;佟为明,税书锦,李辰;《低压电器》;20060630(第6期);第34-38页 * |
Also Published As
Publication number | Publication date |
---|---|
US10761912B2 (en) | 2020-09-01 |
KR102322740B1 (ko) | 2021-11-09 |
CN108733616A (zh) | 2018-11-02 |
KR20180118926A (ko) | 2018-11-01 |
US20180307547A1 (en) | 2018-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304141B (zh) | 存储器系统及其操作方法 | |
CN109144408B (zh) | 存储器系统及其操作方法 | |
CN107562649B (zh) | 存储器系统及其操作方法 | |
CN109947358B (zh) | 存储器系统及其操作方法 | |
CN109213622B (zh) | 存储系统及其操作方法 | |
CN110825318B (zh) | 控制器及其操作方法 | |
CN109656837B (zh) | 存储器系统及其操作方法 | |
CN109032501B (zh) | 存储器系统及其操作方法 | |
CN108694138B (zh) | 控制器及其操作方法 | |
CN108268212B (zh) | 控制器及操作方法 | |
CN110347330B (zh) | 存储器系统及其操作方法 | |
US20220137883A1 (en) | Apparatus and method for processing data in memory system | |
CN110322920B (zh) | 控制器及控制器的操作方法 | |
CN108932203B (zh) | 数据处理系统和数据处理方法 | |
CN108733616B (zh) | 包括多处理器的控制器及其操作方法 | |
CN109697171B (zh) | 控制器及其操作方法 | |
CN110765029B (zh) | 控制器及用于操作该控制器的方法 | |
CN110570894A (zh) | 存储器系统及该存储器系统的操作方法 | |
CN110045914B (zh) | 存储器系统及其操作方法 | |
CN116107767A (zh) | 包括多处理器的控制器及其操作方法 | |
CN110825316A (zh) | 控制器及该控制器的操作方法 | |
CN110704331A (zh) | 控制器及其操作方法 | |
CN109147853B (zh) | 控制器及其操作方法 | |
US20190012109A1 (en) | Memory system and operating method for the memory system | |
CN109426448B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240613 Address after: American Texas Patentee after: Mimi IP Co.,Ltd. Country or region after: U.S.A. Address before: Gyeonggi Do, South Korea Patentee before: Sk Hynix Inc. Country or region before: Republic of Korea |