CN109753232A - 存储器系统及存储器系统的操作方法 - Google Patents
存储器系统及存储器系统的操作方法 Download PDFInfo
- Publication number
- CN109753232A CN109753232A CN201810791521.1A CN201810791521A CN109753232A CN 109753232 A CN109753232 A CN 109753232A CN 201810791521 A CN201810791521 A CN 201810791521A CN 109753232 A CN109753232 A CN 109753232A
- Authority
- CN
- China
- Prior art keywords
- host
- interface
- interface protocol
- request
- storage system
- 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.)
- Withdrawn
Links
- 238000011017 operating method Methods 0.000 title claims abstract description 8
- 230000015654 memory Effects 0.000 claims abstract description 235
- 238000006243 chemical reaction Methods 0.000 claims abstract description 54
- 238000000034 method Methods 0.000 claims description 6
- 230000006399 behavior Effects 0.000 claims description 5
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 54
- 239000010410 layer Substances 0.000 description 43
- 230000004044 response Effects 0.000 description 39
- 238000010586 diagram Methods 0.000 description 25
- 239000012536 storage buffer Substances 0.000 description 16
- 238000004891 communication Methods 0.000 description 14
- 230000002093 peripheral effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 101000741396 Chlamydia muridarum (strain MoPn / Nigg) Probable oxidoreductase TC_0900 Proteins 0.000 description 1
- 101000741399 Chlamydia pneumoniae Probable oxidoreductase CPn_0761/CP_1111/CPj0761/CpB0789 Proteins 0.000 description 1
- 101000741400 Chlamydia trachomatis (strain D/UW-3/Cx) Probable oxidoreductase CT_610 Proteins 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000006317 isomerization reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000017702 response to host Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
- 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
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- 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/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/0661—Format or protocol conversion 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0028—Serial attached SCSI [SAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0032—Serial ATA [SATA]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
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)
- Read Only Memory (AREA)
Abstract
本发明提供一种存储器系统及该存储器系统的操作方法。存储器系统包括非易失性存储器装置和存储器控制器,其中存储器控制器包括:主机接口,其被配置为接收根据多个异构主机接口协议提供的多个主机请求;主机转换层,其被配置为识别多个异构主机接口协议并且根据识别的异构主机接口协议将多个主机请求转换成元请求;以及闪存控制部,其基于元请求来控制非易失性存储器装置。
Description
相关申请的交叉引用
本申请要求于2017年11月7日提交的申请号为10-2017-0147380的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种存储器系统及该存储器系统的操作方法。特别地,实施例涉及一种根据多个异构主机接口协议中的任意一种与主机通信的存储器系统及该存储器系统的操作方法。
背景技术
非易失性存储器装置可以包括多个存储块。进一步地,每个存储块可以包括多个存储器单元,并且可以对包括在单个存储块中的存储器单元同时执行擦除操作。
当存储器系统从主机接收写入命令和逻辑地址时,存储器系统可以分配对应于逻辑地址的物理地址,并且可以将数据写入对应于物理地址的存储器区域中。
另外,存储器系统可以从主机接收根据多个异构主机接口协议提供的主机请求。
发明内容
各个实施例涉及一种能够处理根据一个或多个不同的主机接口协议从主机提供的一个或多个请求的存储器系统及该存储器系统的操作方法。
根据实施例,一种存储器系统,其可以包括非易失性存储器装置和存储器控制器,其中存储器控制器包括:主机接口,其被配置为接收根据多个异构(heterogeneous)主机接口协议提供的多个主机请求;主机转换层,其被配置为识别多个异构主机接口协议并且根据识别的异构主机接口协议将多个主机请求转换成元请求;以及闪存控制部,其基于元请求来控制非易失性存储器装置。
根据另一实施例,一种存储器系统的操作方法,其包括:从主机接收主机请求;基于接口识别表从多个主机接口协议中确定主机请求的主机接口协议;根据确定的主机接口协议,将主机请求转换为元请求;并且基于元请求来控制非易失性存储器装置。
根据另一实施例,一种存储器系统,其进一步包括:第一主机接口,其被配置为接收根据第一主机接口协议的第一主机请求;第二主机接口,其被配置为接收根据第二主机接口协议的第二主机请求;以及主机转换层,其被配置为识别第一主机接口协议和第二主机接口协议并且将第一主机请求和第二主机请求转换成元请求,其中第一主机请求和第二主机请求用于存储器系统的相同内部操作。
根据另一实施例,一种存储器系统,其包括:存储器装置,其响应于元请求操作;以及控制器,其包括接口识别表,该接口识别表具有不同类型的主机接口协议的格式信息,其中控制器通过使用接口识别表,将根据不同类型的主机接口协议中的一个提供的操作请求转换成元请求,并且根据元请求控制存储器装置执行操作。
附图说明
图1是示出根据本发明的实施例的存储器系统的示图。
图2是示出图1的存储器控制器的示图。
图3是示出根据本发明的实施例的存储器系统的示图。
图4是示出图1的非易失性存储器装置的示图。
图5是示出图4的存储块的示图。
图6是示出根据本发明的实施例的将根据多种异构接口协议提供的主机请求转换成元请求的操作的示图。
图7是示出根据本发明的实施例的存储器控制器的示图。
图8是示出根据本发明的实施例的主机接口的示图。
图9是示出根据本发明的实施例的主机接口的示图。
图10是示出根据本发明实施例的主机转换层的示图。
图11是描述根据本发明的实施例的写入操作的流程图。
图12是描述根据本发明的实施例的读取操作的流程图。
图13至图16是示出根据本发明的一个或多个实施例的存储器系统的各种应用示例的示图。
具体实施方式
以下将参照附图详细地描述各个实施例。然而,本公开的元件和特征可以不同于说明的实施例中所示的来配置或布置。因此,本公开不限于示出的实施例。相反,提供说明的实施例使得本公开是全面和完整的,并且将本发明的各个方面和特征完全传达给本领域技术人员。还注意到,参照“实施例”不一定必须针对一个实施例,并且对"实施例”的不同参考不一定针对相同的实施例。
还应注意的是,在本说明书中,“连接/联接”指一个部件不仅“直接联接”另一部件,而且还通过一个或多个中间部件“间接联接”另一部件。另外,在整个说明书中,当阐述某个部件“包含”某个元件时,这并不排除其它元件;相反,除非另有说明,否则某个部件可以进一步包括一个或多个其它元件。
将理解的是,虽然术语“第一”、“第二”、“第三”等在本文中可用于描述各种元件,但是这些元件不受这些术语限制。这些术语被用于将一个元件与另一元件区分开。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,比例可能已经被夸大。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本发明。
除非上下文另有清楚地说明,否则如本文使用的单数形式可以包括复数形式。
将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关所列项目的任何和所有组合。
在下文中,将参照附图详细地描述本发明的各个实施例。
图1是示出根据本发明的实施例的存储器系统1000的示图。
参照图1,存储器系统1000可以包括即使在电力供应不足的情况下也保留存储的数据的非易失性存储器装置1100、用于临时存储数据的缓冲存储器装置1300以及响应于主机2000的控制来控制非易失性存储器装置1100和缓冲存储器装置1300的存储器控制器1200。
主机2000可以通过使用诸如以下的各种通信方式中的至少一种与存储器系统1000通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互联(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和负载减少的DIMM(LRDIMM)。
存储器控制器1200可以控制存储器系统1000的整体操作并且可以控制主机2000和非易失性存储器装置1100之间的数据交换。例如,存储器控制器1200可以响应于主机2000的请求,通过控制非易失性存储器装置1100来编程或读取数据。进一步地,存储器控制器1200可以存储包括在非易失性存储器装置1100中的主存储块和子存储块的信息并且根据用于编程操作而加载的数据的量,选择非易失性存储器装置1100对主存储块或子存储块执行编程操作。根据实施例,非易失性存储器装置1100可以包括闪速存储器。
存储器控制器1200可以控制主机2000与缓冲存储器装置1300之间的数据交换,或者可以将控制非易失性存储器装置1100的系统数据临时存储在缓冲存储器装置1300中。缓冲存储器装置1300可以用作存储器控制器1200的操作存储器、高速缓冲存储器或缓冲存储器。缓冲存储器装置1300可以存储存储器控制器1200执行的代码和命令。进一步地,缓冲存储器装置1300可以存储由存储器控制器1200处理的数据。
存储器控制器1200可以将从主机2000输入的数据临时存储在缓冲存储器装置1300中,并且然后可以将临时存储在缓冲存储器装置1300中的数据传输并存储到非易失性存储器装置1100。存储器控制器1200可以从主机2000接收数据和逻辑地址,并且可以将逻辑地址转换为物理地址,该物理地址表示数据被实际存储在非易失性存储器装置1100中的区域。存储器控制器1200可以将逻辑-物理地址映射表存储在缓冲存储器装置1300中,该逻辑-物理地址映射表配置逻辑地址与物理地址之间的映射关系。
根据实施例,缓冲存储器装置1300可以包括以下中的任何一种:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、双倍数据速率4同步动态随机存取存储器(DDR4SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、以及Rambus动态随机存取存储器(RDRAM)。
虽然图1示出缓冲存储器装置1300被包括在存储器系统1000中,但是本发明不限于此。即,根据实施例,缓冲存储器装置1300可以与存储器系统1000分离。
图2是示出图1的存储器控制器1200的示图。
参照图2,存储器控制器1200可以包括处理器710、存储器缓冲器720、数据编码电路730、主机接口740、缓冲器控制电路750、闪存接口760、缓冲存储器接口780和总线790。数据编码电路730可以包括错误校正码(ECC)电路731和数据随机化发生器732。
总线790可以被配置为在存储器控制器1200的元件之间提供通道。
处理器710可以控制存储器控制器1200的全部操作并且可以执行逻辑操作。处理器710可以通过主机接口740与外部主机2000通信,并且可以通过闪存接口760与非易失性存储器装置1100通信。进一步地,处理器710可以通过缓冲存储器接口780与缓冲存储器装置1300通信。处理器710可以通过缓冲器控制电路750控制存储器缓冲器720。处理器710可以通过将存储器缓冲器720使用为操作存储器、高速缓冲存储器或缓冲存储器来控制存储器系统1000的操作。
处理器710可以对从主机2000输入的多个命令排队。该操作可以被称为多队列操作。处理器710可以将排队的多个命令顺序地传递到非易失性存储器装置1100。
存储器缓冲器720可以用作处理器710的操作存储器、高速缓冲存储器或缓冲存储器。存储器缓冲器720可以存储处理器710执行的代码和命令。存储器缓冲器720可以存储待由处理器710处理的数据。存储器缓冲器720可以包括静态RAM(SRAM)和/或动态RAM(DRAM)。
ECC电路731可以执行错误校正。ECC电路731可以基于通过闪存接口760而待被写入非易失性存储器装置1100中的数据来执行ECC编码。经ECC编码的数据可以通过闪存接口760被传递到非易失性存储器装置1100。ECC电路731可以对通过闪存接口760从非易失性存储器装置1100接收的数据执行ECC解码。ECC电路731可以作为闪存接口760的元件而被包括在其中。
数据随机化发生器732可以使数据随机化或者使随机化的数据去随机化。数据随机化发生器732可以对待通过闪存接口760而被写入非易失性存储器装置1100中的数据执行数据随机化操作。随机化的数据可以通过闪存接口760而被传递到非易失性存储器装置1100。数据随机化发生器732可以对通过闪存接口760从非易失性存储器装置1100接收的数据执行数据去随机化操作。数据随机化发生器732可以作为闪存接口760的元件而被包括在其中。
主机接口740可以响应于处理器710的控制与外部主机2000通信。主机接口740可以使用诸如以下的各种通信方式中的至少一种与外部主机2000通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互联(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和负载减少的DIMM(LRDIMM)。
缓冲器控制电路750可以响应于处理器710的控制来控制存储器缓冲器720。
闪存接口760可以响应于处理器710的控制而与非易失性存储器装置1100通信。闪存接口760可以通过通道与非易失性存储器装置1100通信命令、地址和数据。
虽然图2示出存储器控制器1200包括存储器缓冲器720和缓冲器控制电路750,但是本发明不限于此。即,根据实施例,存储器缓冲器720和缓冲器控制电路750可以被单独设置。
例如,处理器710可以通过使用代码来控制存储器控制器1200的操作。处理器710可以从设置在存储器控制器1200内部的非易失性存储器装置,诸如只读存储器(ROM),加载代码。在另一示例中,处理器710可以通过闪存接口760从非易失性存储器装置1100加载代码。
存储器控制器1200的总线790可以被划分成控制总线和数据总线。数据总线可以在存储器控制器1200中传输数据,并且控制总线可以在存储器控制器1200中传输诸如命令或地址的控制信息。数据总线和控制总线可以彼此分开,从而不会相互干扰或影响。数据总线可以联接到主机接口740、缓冲器控制电路750、ECC电路731、闪存接口760和缓冲存储器接口780。控制总线可以联接到主机接口740、处理器710、缓冲器控制电路750、闪存接口760和缓冲存储器接口780。虽然图2示出存储器控制器1200包括缓冲存储器接口780,但是本发明不限于此。即,根据实施例,缓冲存储器780可以被单独提供。
缓冲存储器接口780可以响应于处理器710的控制而与缓冲存储器装置1300通信。缓冲存储器接口780可以通过通道与缓冲存储器装置1300通信命令、地址和数据。
存储器系统1000可以从主机2000接收写入命令、写入数据和逻辑地址。存储器控制器1200可以响应于写入命令,来分配存储写入数据的、非易失性存储器装置1100的物理存储空间,即,存储块110或页面。换言之,存储器控制器1200可以响应于写入命令,映射与逻辑地址相对应的物理地址。物理地址可以是与存储从主机2000接收的写入数据的、非易失性存储器装置1100的物理存储空间相对应的地址。
存储器系统1000可以将逻辑地址和物理地址之间的映射信息,即逻辑-物理地址映射信息,存储在非易失性存储器装置1100的存储块110中。存储逻辑-物理地址映射信息的存储块110可以被称为系统块。
当存储器系统1000被启动时,存储在非易失性存储器装置1100中的逻辑-物理地址映射信息可以被加载到缓冲存储器装置1300或存储器缓冲器720。当需要检查存储在非易失性存储器装置1100中的逻辑-物理地址映射信息时,存储器系统1000可以从非易失性存储器装置1100加载逻辑-物理地址映射信息,并且可以将逻辑-物理地址映射信息存储在缓冲存储器装置1300或存储器缓冲器720中。缓冲存储器装置1300和存储器缓冲器720可以共同地或单独地被称为控制器缓冲存储器。
在另一示例中,当存储器系统1000从主机2000接收写入命令、写入数据和逻辑地址时,存储器控制器1200可以响应于写入命令来分配非易失性存储器装置1100的、存储写入数据的物理存储空间。换言之,存储器控制器1200可以响应于写入命令来映射与逻辑地址相对应的物理地址,并且可以在缓冲存储器装置1300或者存储器缓冲器720中更新逻辑地址与物理地址之间新生成的映射信息,即逻辑-物理地址映射信息。
存储器系统1000可以从主机2000接收读取命令和逻辑地址。响应于读取命令,存储器系统1000可以从存储在非易失性存储器装置1100中的逻辑-物理地址映射信息中检查与逻辑地址相对应的物理地址,可以读取存储在与物理地址相对应的存储区域中的数据,并且可以将读取的数据输出到主机2000。
处理器710可以包括主机控制部711和闪存控制部712。闪存控制部712可以包括闪存转换部7121。
主机控制部711可以控制主机2000、主机接口740和控制器缓冲存储器之间的数据传输。例如,主机控制部711可以控制将通过主机接口740从主机2000输入的数据缓冲到存储器缓冲器720或缓冲存储器装置1300中的操作。在另一示例中,主机控制部711可以控制通过主机接口740将缓冲在存储器缓冲器720或缓冲存储器装置1300中的数据输出到主机2000的操作。
例如,响应于写入命令,主机控制部711可以提取从主机2000提供的数据并且可以控制将数据缓冲在控制器缓冲存储器中的操作。另外,响应于读取命令,主机控制部711可以控制将在控制器缓冲存储器中缓冲的数据输出到主机2000的操作。如上所述,控制器缓冲存储器可以是存储器缓冲器720和/或缓冲存储器装置1300。
在对非易失性存储器装置1100的写入操作期间,闪存控制部712可以控制传输和编程被缓冲在控制器缓冲存储器中的数据的操作。在另一示例中,在读取操作期间,闪存控制部712可以控制将从非易失性存储器装置1100读取并输出的数据缓冲在控制器缓冲存储器中的操作。
在数据写入操作期间,闪存转换部7121可以映射与从主机2000输入的逻辑地址相对应的物理地址。数据可以被写入非易失性存储器装置1100中的、与映射的物理地址相对应的存储空间中。闪存转换部7121可以在数据写入操作期间检查映射到从主机2000输入的逻辑地址的物理地址,并且可以将物理地址传输到闪存控制部712。闪存控制部712可以从非易失性存储器装置1100中的对应于物理地址的存储空间读取数据。
图3是示出根据本发明的实施例的存储器系统1000的示图。更具体地,图3示出存储器系统1000,其包括存储器控制器1200和通过多个通道CH1至CHk而联接到存储器控制器1200的多个非易失性存储器装置1100。
参照图3,存储器控制器1200可以通过多个通道CH1至CHk与多个非易失性存储器装置1100通信。存储器控制器1200可以包括多个通道接口1201,并且多个通道CH1至CHk中的每一个可以联接到多个通道接口1201中的一个。例如,分别地,第一通道CH1可以联接到第一通道接口1201,第二通道CH2可以联接到第二通道接口1201,并且第k通道CHk可以联接到第k通道接口1201。多个通道CH1至CHk中的每一个可以联接到一个或多个非易失性存储器装置1100。联接到不同通道的非易失性存储器装置1100可以彼此独立地操作。换言之,联接到第一通道CH1的非易失性存储器装置1100和联接到第二通道CH2的非易失性存储器装置1100可以彼此独立地操作。例如,当存储器控制器1200通过第一通道CH1与非易失性存储器装置1100通信数据或命令时,存储器控制器1200可以通过第二通道CH2与非易失性存储器装置1100并行地通信数据或命令。
多个通道CH1至CHk中的每一个可以联接到多个非易失性存储器装置1100。联接到单个通道的多个非易失性存储器装置1100可以被配置在不同的路中。例如,N个非易失性存储器装置1100可以联接到单个通道并且各自被配置在N个不同路中的一个路中。即,第一至第N非易失性存储器装置1100可以联接到第一通道CH1,其中第一非易失性存储器装置1100被配置在第一路(Way1)中,第二非易失性存储器装置1100被配置在第二路(Way2)中,并且第N非易失性存储器装置1100被配置在第N路(WayN)中。进一步地,两个或更多个非易失性存储器装置1100可以被配置在相同或单个路中。
共享第一通道CH1的第一至第N非易失性存储器装置1100可以与存储器控制器1200顺序地通信数据或命令,但不是同时并行地通信数据或命令。换言之,当存储器控制器1200通过第一通道CH1向被配置在第一路(Way1)中的第一非易失性存储器装置1100传输数据时,被配置在第一通道CH1的第二路至第N路(Way2至WayN)中的第二至第N非易失性存储器装置1100可不通过第一通道CH1与存储器控制器1200通信数据或命令。即,当共享第一通道CH1的第一至第N非易失性存储器装置1100中的一个占据第一通道CH1时,联接到第一通道CH1的其它非易失性存储器装置1100可不使用第一通道CH1。
被配置在第一通道CH1的Way1中的第一非易失性存储器装置1100和被配置在第二通道CH2的Way1中的第一非易失性存储器装置1100可以彼此独立地与存储器控制器1200通信。换言之,在存储器控制器1200通过CH1和第一通道接口1201与第一通道CH1的Way1配置的非易失性存储器装置1100交换数据的同时,存储器控制器1200可以通过CH2和第二通道接口1201与第二通道CH2的Way1配置的非易失性存储器装置1100交换数据。
图4是示出图1的非易失性存储器装置1100的示图。
参照图4,非易失性存储器装置1100可以包括存储数据的存储器单元阵列100。非易失性存储器装置1100可以包括外围电路200,其执行编程操作以将数据存储在存储器单元阵列100中、执行读取操作以输出存储的数据以及执行擦除操作以擦除存储的数据。非易失性存储器装置1100可以包括控制逻辑300,其响应于图1的存储器控制器1200的控制来控制外围电路200。
存储器单元阵列100可以包括多个存储块BLK1至BLKm 110(m是正整数)。存储块BLK1至BLKm 110中的每一个可以联接到局部线(local line)LL和位线BL1至BLn(n是正整数)。例如,局部线LL可以包括第一选择线、第二选择线以及布置在第一选择线和第二选择线之间的多个字线。局部线LL可以包括布置在第一选择线和字线之间以及第二选择线和字线之间的虚拟线。第一选择线可以是源极选择线,并且第二选择线可以是漏极选择线。例如,局部线LL可以包括字线、漏极选择线和源极选择线以及源极线。例如,局部线LL可以进一步包括虚拟线。例如,局部线LL可以进一步包括管线。局部线LL可以分别联接到存储块BLK1至BLKm 110,并且位线BL1到BLn可以共同联接到存储块BLK1到BLKm 110。存储块BLK1至BLKm 110可以具有二维结构或三维结构。例如,具有二维结构的存储块110中的存储器单元可以被布置在平行于衬底的方向上。例如,具有三维结构的存储块110中的存储器单元可以被堆叠在垂直于衬底的方向上。
外围电路200可以响应于控制逻辑300的控制来对选择的存储块110执行编程操作、读取操作或擦除操作。例如,外围电路200可以响应于控制逻辑300的控制,将验证电压和通过电压提供给第一选择线、第二选择线和字线,可以对第一选择线、第二选择线和字线选择性地放电,并且可以验证联接到字线中的选择的字线的存储器单元。例如,外围电路200可以包括电压生成电路210、行解码器220、页面缓冲器组230、列解码器240、输入/输出电路250和感测电路260。
电压生成电路210可以响应于操作状态读取命令OP_CMD来生成用于编程操作、读取操作及擦除操作的各种操作电压Vop。另外,电压生成电路210可以响应于操作状态读取命令OP_CMD,对局部线LL选择性地放电。例如,电压生成电路210可以响应于控制逻辑300的控制,生成编程电压、验证电压、通过电压、导通电压、读取电压、擦除电压和源极线电压。
行解码器220可以响应于行地址RADD,将操作电压Vop传递到与选择的存储块110联接的局部线LL。
页面缓冲器组230可以包括联接到位线BL1至BLn的多个页面缓冲器PB1至PBn231。页面缓冲器PB1至PBn 231可以响应于页面缓冲器控制信号PBSIGNALS而操作。例如,在读取操作或验证操作期间,页面缓冲器PB1至PBn 231可以临时存储通过位线BL1至BLn接收的数据,或者可以感测位线BL1至BLn的电压或电流。
列解码器240可以响应于列地址CADD而在输入/输出电路250和页面缓冲器组230之间传输数据。例如,列解码器240可以通过数据线DL与页面缓冲器PB1至PBn 231交换数据,或者可以通过列线CL与输入/输出电路250交换数据。
输入/输出电路250可以将从图1的存储器控制器1200接收的命令CMD和地址ADD传递到控制逻辑300,或者可以与列解码器240交换数据DATA。
感测电路260可在读取或验证操作期间响应于允许位VRY_BIT<#>而生成参考电流,并且可以通过将感测电压VPB与由参考电流生成的参考电压进行比较来输出通过信号PASS或失败信号FAIL。
控制逻辑300可以响应于命令CMD和地址ADD,通过输出操作状态读取命令OP_CMD、行地址RADD、页面缓冲器控制信号PBSIGNALS和允许位VRY_BIT<#>来控制外围电路200。进一步地,控制逻辑300可以响应于通过信号PASS或失败信号FAIL来确定验证操作通过还是失败。
在对非易失性存储器装置1100的操作中,每个存储块110可以是擦除操作的单位。换言之,包括在单个存储块110中的多个存储器单元可以彼此被同时擦除,而不是被选择性擦除。
图5是示出图4的存储块110的示图。
参照图5,在存储块110中,彼此并行布置的多个字线可以联接在第一选择线和第二选择线之间。第一选择线可以是源极选择线SSL,并且第二选择线可以是漏极选择线DSL。更具体地,存储块110可以包括联接在位线BL1至BLn与源极线SL之间的多个串ST。位线BL1至BLn可以分别联接到串ST,并且源极线SL可以共同联接到串ST。由于串ST可以具有彼此相同的配置,因此作为示例将描述联接到第一位线BL1的串ST。
串ST可以包括串联联接在源极线SL和第一位线BL1之间的源极选择晶体管SST、多个存储器单元F1至F16以及漏极选择晶体管DST。如图5所示,单个串ST可以包括源极选择晶体管SST和漏极选择晶体管DST中的至少一个,并且可以包括比存储器单元F1至F16的数量多的存储器单元。
源极选择晶体管SST的源极可以联接到源极线SL,并且漏极选择晶体管DST的漏极可以联接到第一位线BL1。存储器单元F1至F16可以串联地联接在源极选择晶体管SST和漏极选择晶体管DST之间。包括在不同串ST中的源极选择晶体管SST的栅极可以联接到源极选择线SSL,漏极选择晶体管DST的栅极可以联接到漏极选择线DSL,并且存储器单元F1至F16的栅极可以联接到多个字线WL1至WL16。在包括在不同串ST中的存储器单元之中的、联接到相同字线的一组存储器单元可以称为物理页面PPG。因此,包括在存储块110中的物理页面PPG的数量可以与字线WL1至WL16的数量相同。
单个存储器单元可以存储一位数据。这种单个存储器单元可以通常被称为单层单元(SLC)。单个物理页面PPG可以存储单个逻辑页面LPG的数据。包括在单个逻辑页面LPG的数据中的数据位的数量可以与包括在单个物理页面PPG中的单元的数量相同。单个存储器单元可以存储两位或更多位的数据。这种单个存储器单元可以通常被称为多层单元(MLC)。单个物理页面PPG可以存储两个或更多个逻辑页面LPG的数据。
当存储器单元存储两位数据时,单个物理页面PPG可以包括两个页面PG。单个页面PG可以存储单个逻辑页面LPG的数据。根据数据,单个存储器单元可以包括多个阈值电压中的一个,并且包括在单个物理页面PPG中的多个页面PG可以由阈值电压差表示。
包括在单个物理页面PPG中的多个存储器单元可以被同时编程。换言之,非易失性存储器装置1100可以以物理页面PPG为单位执行编程操作。包括在单个存储块中的多个存储器单元可以被同时擦除。换言之,非易失性存储器装置1100可以以存储块110为单位执行擦除操作。例如,为了更新存储在单个存储块110中的数据的部分,可以读取存储在存储块110中的全部数据,可以在整个数据中被改变待更新的数据,并且然后,可将全部数据编程在另一存储块110中。
图6是示出根据本发明的实施例的将根据多种异构接口协议提供的主机请求转换成元请求的操作的示图。
参照图6,存储器系统1000可以根据多个异构接口协议,接收从主机2000提供的主机请求。虽然根据各种接口协议来提供主机请求,但是主机请求可请求存储器系统1000的相同操作。存储器系统1000可以将这些主机请求转换成元请求,其中该元请求对应于存储器系统1000中的、由主机请求指示的内部操作。
例如,存储器系统1000可以从主机2000接收根据SAS接口协议的主机请求、根据SATA接口协议的主机请求、根据USB接口协议的主机请求、根据PCIe接口协议的主机请求、根据UFS接口协议的主机请求、根据NVMe接口协议的主机请求、根据eMMC接口协议的主机请求以及根据DIMM接口协议的主机请求。
存储器系统1000可以识别主机请求的接口协议。换言之,存储器系统1000可以通过该主机请求的表达格式来识别每个主机请求的接口协议。在另一示例中,存储器系统1000可以从主机2000接收关于特定主机请求的接口协议的信息,并且可以通过这些信息来确定该主机请求的接口协议。
例如,存储器系统1000可以包括主机请求接口协议中的每一个的表达格式的表。存储器系统1000可以从主机2000接收主机请求,并且然后可以基于表中的主机请求的表达格式及其相关接口协议,来识别该主机请求的接口协议。
存储器系统1000可以识别用于访问存储器系统1000的主机请求的接口协议,并且然后可以将主机请求转换为元请求。元请求可以对应于存储器系统1000中的、由主机请求指示的内部操作。例如,根据SAS接口协议的主机请求可能请求在存储器系统1000内的写入操作,并且根据NVMe接口协议的主机请求也可能请求在存储器系统1000内的相同写入操作。换言之,虽然两个主机请求根据不同的接口协议而被提供并且具有不同的表达格式,但是这两个主机请求可请求在存储器系统1000内的相同写入操作。元请求可对应于由根据SAS接口协议的主机请求或根据NVMe接口协议的主机请求指示的在存储器系统1000内的相同写入操作。
存储器控制器1200的闪存控制部712可以基于元请求来控制非易失性存储器装置1100。
图7是示出根据本发明的实施例的存储器控制器1200的示图。
参照图7,图2所示的存储器控制器1200可以进一步包括主机转换层770。
如以上参照图6所述,存储器系统1000可以与至少一个主机2000通信,主机2000中的每个被配置为根据多个异构主机接口协议中的任何一个来操作。存储器系统1000可接收根据多个异构主机接口协议提供的一个或多个请求。主机接口740可以在存储器系统1000和主机2000之间传输命令和数据,存储器系统1000和主机2000两者都能够根据多个异构主机接口协议来操作。例如,主机接口740可以通过多个引脚联接到主机2000,并且根据主机2000和主机接口740之间的联接配置,接口协议可彼此不同。例如,当主机2000利用不同的接口协议工作时,主机接口740可以通过相同的联接配置联接到主机2000。换言之,可以通过相同的联接配置,以根据不同的接口协议的不同格式,在存储器系统1000和主机2000之间传递命令和数据。
例如,主机接口740可以接收根据SAS接口协议提供的主机请求,将接收的主机请求传递到主机转换层770,并且将根据SAS接口协议生成的响应信号输出到主机2000。另外,主机接口740可以接收根据SATA接口协议提供的主机请求,可以将接收的主机请求传递到主机转换层770,并且可以将根据SATA接口协议生成的响应信号输出到主机2000。主机接口740可以对USB接口协议、PCIe接口协议、UFS接口协议、NVMe接口协议、eMMC接口协议和DIMM接口协议执行如上所示的相同操作。
换言之,主机接口740可以通过相同的物理联接配置、根据多个不同的接口协议逻辑地联接到主机2000,可以根据多个不同的接口协议接收从主机2000输入的、不同格式的主机请求,并且可以将接收的主机请求传递到主机转换层770。
主机转换层770可以识别从主机接口740接收的、用于访问存储器系统1000的各种格式的主机请求的接口协议。存储器系统1000可以通过主机请求的表达格式来识别每个主机请求的接口协议。
主机转换层770可以包括主机请求的表达格式相对于接口协议的表。存储器系统1000可以从主机2000接收主机请求,并且基于表中的主机请求的表达格式及其相关接口协议,来识别该主机请求的接口协议。因此,主机转换层770可以将主机请求转换成元请求。元请求可以对应于存储器系统1000中的、由主机请求指示的内部操作。主机转换层770可以将元请求传输到闪存控制部712,并且闪存控制部712可以基于元请求来控制非易失性存储器装置1100。
图8是示出根据本发明的实施例的主机接口740a的示图。
参照图8,主机接口740a可以包括SAS接口741a和SATA接口742a。
SAS接口741a可以接收根据SAS接口协议提供的主机请求,将接收的主机请求传递到主机转换层770,并且将根据SAS接口协议生成的响应信号输出到主机2000。
SATA接口742a可以接收根据SATA接口协议提供的主机请求,将接收的主机请求传递到主机转换层770,并且将根据SATA接口协议生成的响应信号输出到主机2000。
主机接口740a可以进一步包括USB接口743a和PCIe接口744a。
USB接口743a可以接收根据USB接口协议提供的主机请求,将接收的主机请求传递到主机转换层770,并且将根据USB接口协议生成的响应信号输出到主机2000。
PCIe接口744a可以接收根据PCIe接口协议提供的主机请求,将接收的主机请求传递到主机转换层770,并且将根据PCIe接口协议生成的响应信号输出到主机2000。
主机接口740a可以进一步包括UFS接口745a、NVMe接口746a、eMMC接口747a和DIMM接口748a。
UFS接口745a可以接收根据UFS接口协议提供的主机请求,将接收的主机请求传递到主机转换层770,并且将根据UFS接口协议生成的响应信号输出到主机2000。
NVMe接口746a可以接收根据NVMe接口协议提供的主机请求,将接收的主机请求传递到主机转换层770,并且将根据NVMe接口协议生成的响应信号输出到主机2000。
eMMC接口747a可以接收根据eMMC接口协议提供的主机请求,将接收的主机请求传递到主机转换层770,并且将根据eMMC接口协议生成的响应信号输出到主机2000。
DIMM接口748a可以接收根据DIMM接口协议提供的主机请求,将接收的主机请求传递到主机转换层770,并且将根据DIMM接口协议生成的响应信号输出到主机2000。
图9是示出根据本发明的实施例的主机接口740b的示图。
参照图9,主机接口740b可以包括公共接口749。SAS接口协议、SATA接口协议、USB接口协议、PCIe接口协议、UFS接口协议、NVMe接口协议、eMMC接口协议和DIMM接口协议中的两种或更多个接口协议可以包括公共协议格式。换言之,虽然处理异构主机接口协议的写入命令的方案可彼此不同,但处理异构主机接口协议的写入数据的方案可以是相同的。在该情况下,可以为异构接口协议设置用于将写入数据存储到非易失性存储器装置1100中的单个电路配置。
在另一示例中,所有异构接口协议可以使用芯片使能(CE)配置,诸如CE引脚。在该示例中,可以在主机接口740中设置单个CE配置以被各个接口协议共享,而不是为支持的接口协议中的每一个设置单独的CE配置。在另一示例中,异构接口协议可能具有处理写入命令的相同方案,但是具有处理读取命令的不同方案。在该情况下,可以在公共接口749中设置用于处理写入命令的单个电路配置,而为异构接口协议各自地设置用于处理读取命令的不同电路配置。
换言之,可以设置单个电路,其具有针对SAS接口741b、SATA接口742b、USB接口743b、PCIe接口744b、UFS接口745b、NVMe接口746b、eMMC接口747b和DIMM接口748b中的两个或更多个接口的公共配置。公共接口749可以包括公共电路配置。
在该示例中,SAS接口741b、SATA接口742b、USB接口743b、PCIe接口744b、UFS接口745b、NVMe接口746b、eMMC接口747b和DIMM接口748b可以分别包括不同的电路配置以支持接口协议中的不同配置。
图10是示出根据本发明实施例的主机转换层770的示图。
参照图10,主机转换层770可以包括物理阶段771、接口识别表772和元阶段773。
物理阶段771可以通过主机接口740从主机2000接收主机请求。主机转换层770可以基于接口识别表772,通过识别主机请求来确定访问存储器系统1000的主机请求的接口协议。元阶段773可以基于根据接口识别表772确定的接口协议,将主机请求转换成元请求,并且可以将元请求传递到处理器710,更具体地,传递到处理器710中的闪存控制部712。
由元阶段773生成的元请求可以对应于由根据多个异构接口协议提供的主机请求指示的存储器系统1000的内部操作。虽然根据不同的异构接口协议,主机请求具有不同的格式,但是主机请求可请求存储器系统1000的相同内部操作。即,元请求可以通过提取(abstract)不同异构接口协议的主机请求来指示实际请求的内部操作。
如上所述,主机转换层770可以将根据多个异构接口协议提供的主机请求转换成元请求,并且可以将元请求传递到处理器710中的闪存控制部712。因此,可以不依赖于接口协议的类型来配置闪存控制部712。因此,闪存控制部712可以在不考虑接口协议的情况下被配置。例如,当之后定义一种新的接口协议时,处理器710的闪存控制部712可在不被改变的情况下使用,反之,可改变存储器系统1000的主机转换层770的配置。根据该示例,可以通过固件更新来改变主机转换层770的配置,这可增加存储器系统1000对新的接口协议的适应性。
图11是示出根据本发明的实施例的写入操作的流程图。
参照图11,在步骤S1101处,存储器系统1000的主机接口740可以从主机2000接收写入请求。写入请求可能包括写入命令、逻辑地址和数据。主机接口740可以将写入请求传递到主机转换层770。
在步骤S1102处,主机转换层770可以基于接口识别表772来确定从主机2000输入的写入请求的主机接口协议的类型。例如,主机转换层770可以通过将写入请求的表达格式输入到接口识别表772以从表中识别主机接口协议的类型,从而确定主机请求的主机接口协议的类型。
在步骤S1103处,主机转换层770可以根据确定的主机接口协议,将写入请求转换成元写入请求。元写入请求可以对应于由主机请求指示的存储器系统1000的实质性内部写入操作。主机转换层770可以将元写入请求传递到闪存控制部712。
在步骤S1104处,闪存控制部712可以基于从主机转换层770传递的元写入请求,通过控制非易失性存储器装置1100或缓冲存储器装置1300来对数据执行写入操作。闪存控制部712的闪存转换部7121可以将从主机2000输入的逻辑地址映射到物理地址,并且闪存控制部712可以基于映射的物理地址来执行写入操作。物理地址可以表示非易失性存储器装置1100内的、写入数据的存储空间。闪存转换部7121可以将其主机接口协议通过主机转换层770而被确定的逻辑地址映射到物理地址。
当写入操作完成时(在步骤S1105处为‘是’),在步骤S1106处,闪存控制部712可以生成元写入操作完成信号。另外,闪存控制部712可以将元写入操作完成信号传递到主机转换层770。
在步骤S1107处,主机转换层770可以根据从接口识别表772确定的主机接口协议,将元写入操作完成信号转换成接口协议相关-写入操作完成信号。另外,主机转换层770可以将接口协议相关-写入操作完成信号传递到主机接口740。
在步骤S1108处,主机接口740可以将从主机转换层770传输的接口协议相关-写入操作完成信号输出到主机2000。此后,可以结束写入操作。
当写入操作未完成(在步骤S1105处为‘否’)时,可不生成元写入操作完成信号,直到写入操作完成。换言之,当写入操作未完成时,操作返回到步骤S1104,其中基于元写入请求执行写入操作。
图12是示出根据本发明的实施例的读取操作的流程图。
参照图12,在步骤S1201处,存储器系统1000的主机接口740可以从主机2000接收读取请求。读取请求可以包括读取命令和逻辑地址。主机接口740可以将读取请求传递到主机转换层770。
在步骤S1202处,主机转换层770可以基于接口识别表772确定主机请求的主机接口协议的类型。例如,主机转换层770可以通过将读取请求的表达格式输入到接口识别表772,来确定主机请求的主机接口协议的类型。
在步骤S1203处,主机转换层770可以根据确定的主机接口协议来将读取请求转换成元读取请求。元读取请求可以对应于由主机请求指示的存储器系统1000的实质性内部读取操作。另外,主机转换层770可以将元读取请求传递到闪存控制部712。
在步骤S1204处,闪存控制部712可以基于元读取请求,通过控制非易失性存储器装置1100和缓冲存储器装置1300来执行读取操作。闪存控制部712的闪存转换部7121可以找到与逻辑地址相对应的物理地址,其中该逻辑地址根据主机接口协议而从主机2000输入并且由主机转换层770转换为元请求,并且闪存控制部712可以基于物理地址执行读取操作。物理地址可以表示非易失性存储器装置1100内的、存储待读取的数据的存储空间。另外,闪存转换部7121可以找到与其主机接口协议通过主机转换层770而被确定的逻辑地址相对应的物理地址。
在步骤S1205处,闪存控制部712可以改变读取的数据的数据结构以适于确定的主机接口协议。
然后,在步骤S1206处,主机控制部711可以控制通过主机接口740输出读取的数据。
图13是示出根据本发明的一个或多个实施例的存储器系统的应用示例的示图。
参照图13,存储器系统30000可以被实施为蜂窝电话、智能电话、平板PC、个人数字助理(PDA)或无线通信装置。存储器系统30000可以包括非易失性存储器装置1100和用于控制非易失性存储器装置1100的操作的存储器控制器1200。存储器控制器1200可以响应于处理器3100的控制,来控制非易失性存储器装置1100的数据访问操作,例如,编程操作、擦除操作或读取操作。
可以响应于存储器控制器1200的控制,可通过显示器3200输出被编程到非易失性存储器装置1100的数据。
无线电收发器3300可以通过天线ANT交换无线电信号。例如,无线电收发器3300可以将通过天线ANT接收的无线电信号转换为处理器3100处理的信号。处理器3100可以处理从无线电收发器3300输出的信号并且将处理后的信号传输到存储器控制器1200或显示器3200。存储器控制器1200可以将由处理器3100处理的信号编程到非易失性存储器装置1100。无线电收发器3300可以将从处理器3100输出的信号转换为无线电信号,并且可以通过天线ANT将转换后的无线电信号输出到外部装置。输入装置3400可以输入控制信号以控制处理器3100的操作或待由处理器3100处理的数据,并且可以被实施为诸如触摸板或计算机鼠标的点击装置、小键盘和键盘。处理器3100可以控制显示器3200的操作,使得从存储器控制器1200输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据可以被输出到显示器3200。
根据实施例,控制非易失性存储器装置1100的操作的存储器控制器1200可以形成为处理器3100的部分,或者可以是独立于处理器3100的芯片。进一步地,存储器控制器1200可以根据图2中示出的存储器控制器1200的示例来实施。
图14是示出根据本发明的一个或多个实施例的存储器系统的应用示例的示图。
参照图14,存储器系统40000可以被实施为个人计算机(PC)、平板PC、电子书、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器。
存储器系统40000可以包括非易失性存储器装置1100和控制非易失性存储器装置1100的数据处理操作的存储器控制器1200。
处理器4100可以根据通过输入装置4200输入的数据,通过显示器4300输出存储在非易失性存储器装置1100中的数据。输入装置4200可以被实施为诸如触摸板或计算机鼠标的点击装置、小键盘或键盘。
处理器4100可以控制存储器系统40000的全部操作以及存储器控制器1200的操作。根据实施例,控制非易失性存储器装置1100的操作的存储器控制器1200可以形成为处理器4100的部分,或者可以形成为独立于处理器4100分的芯片。进一步地,存储器控制器1200可以根据如图2中所示的存储器控制器1200的示例来实施。
图15是示出根据本发明的一个或多个实施例的存储器系统的应用示例的示图。
参照图15,存储器系统50000可以被实施为图像处理装置,诸如数码相机、具有数码相机的蜂窝电话、具有数码相机的智能手机或具有数码相机的平板PC。
存储器系统50000可以包括存储器装置1100和控制非易失性存储器装置1100的数据处理操作,例如编程操作、擦除操作或读取操作,的存储器控制器1200。
存储器系统50000的图像传感器5200可以将光学图像转换成数字信号,并且转换后的数字信号可以被传输到处理器5100或存储器控制器1200。响应于处理器5100的控制,转换后的数字信号可以通过显示器5300被输出,或可以通过存储器控制器1200被存储在非易失性存储器装置1100中。响应于处理器5100或存储器控制器1200的控制,存储在非易失性存储器装置1100中的数据可以通过显示器5300被输出。
根据实施例,控制非易失性存储器装置1100的操作的存储器控制器1200可以形成为处理器5100的部分,或者可以形成为独立于处理器5100的芯片。进一步地,存储器控制器1200可以根据如图2中所示的存储器控制器1200的示例来实施。
图16是示出根据本发明的一个或多个实施例的存储器系统的应用示例的示图。
参照图16,存储器系统70000可以被实施为存储卡或智能卡。存储器系统70000可以包括存储器装置1100、存储器控制器1200和卡接口7100。
存储器控制器1200可以控制非易失性存储器装置1100和卡接口7100之间的数据交换。根据实施例,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但是不限于这些接口。进一步地,存储器控制器1200可以根据如图2中所示的存储器控制器1200的示例来实施。
卡接口7100可以根据主机60000的协议来接口连接主机60000和存储器控制器1200之间的数据交换。根据实施例,卡接口7100可以支持通用串行总线(USB)协议和芯片间(IC)-USB协议。卡接口7100可以是支持主机60000使用的协议的硬件、安装在硬件上的软件或者信号传输方法。
当存储器系统70000访问诸如PC、平板PC、数码相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒的主机60000的主机接口6200时,主机接口6200可以响应于微处理器6100的控制,通过卡接口7100和存储器控制器1200来执行与非易失性存储器装置1100的数据通信。
如上所述,根据本公开的实施例,通过识别多个异构接口协议并且将主机请求转换为与存储器系统的操作相关联的元请求,可以提高存储器控制器的配置和操作性能。
已经公开了各个实施例,并且虽然采用具体术语,但是可以在不脱离本发明的精神和范围的情况下对实施例的上述示例做出形式和细节上的各种改变。因此,本领域技术人员将理解,本发明的范围不应当限于上述实施例,而应当被解释为涵盖在以下权利要求及其等同物的范围内的变型和变化。
Claims (20)
1.一种存储器系统,其包括:
非易失性存储器装置;以及
存储器控制器,
其中所述存储器控制器包括:
主机接口,其接收根据多个异构主机接口协议提供的多个主机请求;
主机转换层,其识别所述多个异构主机接口协议并且根据所识别的异构主机接口协议将所述多个主机请求转换成元请求;以及
闪存控制部,其基于所述元请求来控制所述非易失性存储器装置。
2.根据权利要求1所述的存储器系统,其中所述主机转换层基于所述多个主机请求的表达格式来识别所述多个异构主机接口协议。
3.根据权利要求1所述的存储器系统,
其中所述多个主机请求对应于单个内部操作,以及
其中所述元请求对应于所述单个内部操作。
4.根据权利要求3所述的存储器系统,其中所述主机转换层包括接口识别表,并且所述主机转换层基于所述接口识别表来识别所述多个异构主机接口协议。
5.根据权利要求3所述的存储器系统,其中所述多个异构主机接口协议包括SAS接口协议、SATA接口协议、PCIe接口协议、UFS接口协议、NVMe接口协议和eMMC接口协议中的两个或更多个接口协议。
6.根据权利要求1所述的存储器系统,其中所述闪存控制部的配置不依赖于所述多个异构主机接口协议之间的差异。
7.根据权利要求1所述的存储器系统,其中对于所述多个异构主机接口协议中的每个,联接所述主机接口和主机的引脚配置是相同的。
8.根据权利要求1所述的存储器系统,其中所述闪存控制部包括闪存转换部,
其中所述主机接口从主机接收逻辑地址,
其中所述闪存转换部基于所识别的异构主机接口协议,将所述逻辑地址转换为物理地址,以及
其中所述闪存控制部基于所述物理地址来控制所述非易失性存储器装置。
9.一种存储器系统的操作方法,所述方法包括:
从主机接收主机请求;
基于接口识别表,从多个主机接口协议中确定所述主机请求的主机接口协议;
根据所确定的主机接口协议,将所述主机请求转换为元请求;并且
基于所述元请求来控制非易失性存储器装置。
10.根据权利要求9所述的方法,其中所述元请求是指对应于所述主机请求的内部操作,并且所述元请求的配置不依赖于所述多个主机接口协议之间的差异。
11.根据权利要求9所述的方法,其进一步包括:
当针对所述元请求的内部操作完成时,根据所确定的主机接口协议来转换完成信号;并且
将转换的完成信号输出到所述主机。
12.根据权利要求9所述的方法,其中所述多个主机接口协议包括SAS接口协议、SATA接口协议、PCIe接口协议、UFS接口协议、NVMe接口协议和eMMC接口协议中的两个或更多个接口协议。
13.根据权利要求9所述的方法,其中基于所述主机请求的表达格式来执行确定所述主机请求的主机接口协议。
14.一种存储器系统,其包括:
第一主机接口,其接收根据第一主机接口协议的第一主机请求;
第二主机接口,其接收根据第二主机接口协议的第二主机请求;以及
主机转换层,其识别所述第一主机接口协议和所述第二主机接口协议,并且将所述第一主机请求和所述第二主机请求转换成元请求,
其中所述第一主机请求和所述第二主机请求用于所述存储器系统的相同内部操作。
15.根据权利要求14所述的存储器系统,其中所述主机转换层为当所述相同内部操作完成时,基于所识别的第一主机接口协议和第二主机接口协议,来将内部操作完成信号转换为适于所述第一主机接口协议或所述第二主机接口协议。
16.根据权利要求14所述的存储器系统,其中所述第一主机接口协议是SAS接口协议、SATA接口协议、PCIe接口协议、UFS接口协议、NVMe接口协议和eMMC接口协议中的一个。
17.根据权利要求14所述的存储器系统,其进一步包括:
非易失性存储器装置,其存储数据;以及
闪存控制部,其基于所述元请求来控制所述非易失性存储器装置。
18.根据权利要求17所述的存储器系统,其中所述闪存控制部的配置不依赖于所述第一主机接口协议和所述第二主机接口协议之间的差异。
19.根据权利要求14所述的存储器系统,其中所述主机转换层包括接口识别表并且所述主机转换层基于所述接口识别表来识别所述第一主机接口协议和所述第二主机接口协议。
20.根据权利要求18所述的存储器系统,其中所述闪存控制部基于所识别的主机接口协议将从主机接收的逻辑地址转换成物理地址,并且基于所述物理地址来控制所述非易失性存储器装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170147380A KR20190051564A (ko) | 2017-11-07 | 2017-11-07 | 메모리 시스템 및 그것의 동작 방법 |
KR10-2017-0147380 | 2017-11-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109753232A true CN109753232A (zh) | 2019-05-14 |
Family
ID=66327165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810791521.1A Withdrawn CN109753232A (zh) | 2017-11-07 | 2018-07-18 | 存储器系统及存储器系统的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190138440A1 (zh) |
KR (1) | KR20190051564A (zh) |
CN (1) | CN109753232A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342714A (zh) * | 2020-03-02 | 2021-09-03 | 群联电子股份有限公司 | 存储器存储装置与其管理方法 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11360768B2 (en) | 2019-08-14 | 2022-06-14 | Micron Technolgy, Inc. | Bit string operations in memory |
US11068421B1 (en) * | 2020-02-20 | 2021-07-20 | Silicon Motion, Inc. | Memory device and associated flash memory controller |
US11150842B1 (en) * | 2020-04-20 | 2021-10-19 | Western Digital Technologies, Inc. | Dynamic memory controller and method for use therewith |
US11281399B2 (en) | 2020-06-24 | 2022-03-22 | Western Digital Technologies, Inc. | Dual-interface storage system and method for use therewith |
US11442665B2 (en) | 2020-12-04 | 2022-09-13 | Western Digital Technologies, Inc. | Storage system and method for dynamic selection of a host interface |
US20220229789A1 (en) * | 2021-01-21 | 2022-07-21 | Western Digital Technologies, Inc. | Host Memory Buffer (HMB) Abstraction Protocol Layer |
US11461260B2 (en) | 2021-02-19 | 2022-10-04 | Western Digital Technologies, Inc. | Memory card operable with multiple host interfaces |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070121668A1 (en) * | 2005-11-30 | 2007-05-31 | Michael Moretti | Firmware architecture of active-active fibre channel capability in SATA and SAS devices |
US8151037B1 (en) * | 2008-05-28 | 2012-04-03 | Marvell International Ltd. | Interface for solid-state memory |
KR101185818B1 (ko) * | 2011-09-19 | 2012-11-09 | 주식회사 가야데이터 | 고체 상태 드라이브를 이용한 연속 데이터 보호 시스템 |
CN106104500A (zh) * | 2013-11-26 | 2016-11-09 | 英特尔公司 | 存储数据的方法和设备 |
CN107122317A (zh) * | 2016-02-24 | 2017-09-01 | 爱思开海力士有限公司 | 数据存储装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE171325T1 (de) * | 1993-03-20 | 1998-10-15 | Ibm | Verfahren und vorrichtung zur herausarbeitung der vermittlungsinformation aus dem kopfteil eines protokolls |
US6393557B1 (en) * | 1998-05-08 | 2002-05-21 | International Business Machines Corporation | Dynamic method for configuring a computer system |
US7447233B2 (en) * | 2004-09-29 | 2008-11-04 | Intel Corporation | Packet aggregation protocol for advanced switching |
CN102098272B (zh) * | 2009-12-10 | 2014-02-19 | 华为技术有限公司 | 一种协议识别的方法、装置和系统 |
US10802853B2 (en) * | 2016-10-14 | 2020-10-13 | Seagate Technology Llc | Active drive |
-
2017
- 2017-11-07 KR KR1020170147380A patent/KR20190051564A/ko not_active Application Discontinuation
-
2018
- 2018-06-21 US US16/014,599 patent/US20190138440A1/en not_active Abandoned
- 2018-07-18 CN CN201810791521.1A patent/CN109753232A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070121668A1 (en) * | 2005-11-30 | 2007-05-31 | Michael Moretti | Firmware architecture of active-active fibre channel capability in SATA and SAS devices |
US8151037B1 (en) * | 2008-05-28 | 2012-04-03 | Marvell International Ltd. | Interface for solid-state memory |
KR101185818B1 (ko) * | 2011-09-19 | 2012-11-09 | 주식회사 가야데이터 | 고체 상태 드라이브를 이용한 연속 데이터 보호 시스템 |
CN106104500A (zh) * | 2013-11-26 | 2016-11-09 | 英特尔公司 | 存储数据的方法和设备 |
CN107122317A (zh) * | 2016-02-24 | 2017-09-01 | 爱思开海力士有限公司 | 数据存储装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342714A (zh) * | 2020-03-02 | 2021-09-03 | 群联电子股份有限公司 | 存储器存储装置与其管理方法 |
CN113342714B (zh) * | 2020-03-02 | 2023-07-25 | 群联电子股份有限公司 | 存储器存储装置与其管理方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20190051564A (ko) | 2019-05-15 |
US20190138440A1 (en) | 2019-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753232A (zh) | 存储器系统及存储器系统的操作方法 | |
KR102457564B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
CN109783397A (zh) | 存储器系统及其操作方法 | |
CN109992537A (zh) | 存储系统及其操作方法 | |
CN109947662A (zh) | 存储器系统及其操作方法 | |
CN110389720B (zh) | 存储装置及其操作方法 | |
CN109697024B (zh) | 存储器系统及其操作方法 | |
CN109521945A (zh) | 存储器装置、存储器系统及其操作方法 | |
CN109410998A (zh) | 存储器装置及其操作方法 | |
CN110321070A (zh) | 存储器控制器及其操作方法 | |
CN110400588A (zh) | 存储器装置以及该存储器装置的操作方法 | |
CN104951402B (zh) | 存储装置及其操作方法和计算系统 | |
CN110245097A (zh) | 存储器控制器及具有存储器控制器的存储器系统 | |
CN109493890A (zh) | 存储器装置及其操作方法 | |
CN111105832B (zh) | 存储装置和操作存储装置的方法 | |
US20190121727A1 (en) | Memory system and method for operating the same | |
CN109388578A (zh) | 存储装置及其操作方法 | |
CN109815160A (zh) | 最后写入页搜索 | |
CN108735253A (zh) | 非易失性存储器存储系统 | |
CN110058799A (zh) | 存储器装置及操作存储器装置的方法 | |
CN110489360A (zh) | 存储器控制器及该存储器控制器的操作方法 | |
CN110175132A (zh) | 存储装置及其操作方法 | |
US20210334000A1 (en) | Memory system, memory controller and memory device for configuring super blocks | |
KR20220077691A (ko) | 호스트, 메모리 컨트롤러 및 메모리 장치를 포함하는 전자 시스템 및 이의 동작 방법 | |
CN110175133A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190514 |
|
WW01 | Invention patent application withdrawn after publication |