CN107633862B - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN107633862B CN107633862B CN201710036220.3A CN201710036220A CN107633862B CN 107633862 B CN107633862 B CN 107633862B CN 201710036220 A CN201710036220 A CN 201710036220A CN 107633862 B CN107633862 B CN 107633862B
- Authority
- CN
- China
- Prior art keywords
- command
- memory
- memory device
- register
- commands
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 195
- 238000011017 operating method Methods 0.000 title claims description 5
- 238000000034 method Methods 0.000 claims description 55
- 230000008569 process Effects 0.000 claims description 31
- 239000000872 buffer Substances 0.000 claims description 23
- 239000000725 suspension Substances 0.000 claims 2
- 210000004027 cell Anatomy 0.000 description 35
- 238000010586 diagram Methods 0.000 description 18
- 101000711846 Homo sapiens Transcription factor SOX-9 Proteins 0.000 description 16
- 102100034204 Transcription factor SOX-9 Human genes 0.000 description 16
- 238000003860 storage Methods 0.000 description 12
- 238000012937 correction Methods 0.000 description 11
- 101100232371 Hordeum vulgare IAT3 gene Proteins 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- 101150098958 CMD1 gene Proteins 0.000 description 1
- 101100382321 Caenorhabditis elegans cal-1 gene Proteins 0.000 description 1
- GPXJNWSHGFTCBW-UHFFFAOYSA-N Indium phosphide Chemical compound [In]#P GPXJNWSHGFTCBW-UHFFFAOYSA-N 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 210000004754 hybrid cell Anatomy 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 150000003623 transition metal compounds Chemical class 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
- 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/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
- 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/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种存储器系统,其包括:存储器装置,其包括多个命令寄存器;和存储器控制器,其被配置为确定在多个命令寄存器中是否存在空命令寄存器,并且当存在空命令寄存器时,将新命令传输至存储器装置,其中,当从存储器控制器传输新命令时,存储器装置将传输的新命令存储在空命令寄存器中。
Description
相关申请的交叉引用
本申请要求于2016年7月19日向韩国知识产权局提交的申请号为10-2016-0091120的韩国申请的优先权,其全部内容通过引用并入本文。
技术领域
各种实施例总体涉及一种半导体装置,并且更特别地,涉及一种存储器系统及其操作方法。
背景技术
半导体存储器装置是使用诸如硅(Si)、锗(Ge)、砷化镓(GaAs)和磷化铟(InP)的半导体实现的存储器装置。半导体存储器装置大体分为易失性存储器装置和非易失性存储器装置。
易失性存储器装置是当电源中断时丢失存储的数据的存储器装置。易失性存储器装置的示例包括SRAM(静态RAM)、DRAM(动态RAM)和SDRAM(同步DRAM)。非易失性存储器装置是即使在电源中断时也保持存储的数据的存储器装置。非易失性存储器装置包括ROM(只读存储器)、PROM(可编程ROM)、EPROM(电可编程ROM)、EEPROM(电可擦除可编程ROM)、闪速存储器、PRAM(相变RAM)、MRAM(磁性RAM)、RRAM(电阻RAM)以及FRAM(铁电RAM)。闪速存储器大体分为NOR闪存和NAND闪存。
发明内容
各种实施例涉及一种在控制器与存储器装置之间具有简化接口的存储器系统及其操作方法。存储器系统可显著改善存储器装置的性能。
在实施例中,存储器系统可包括:存储器装置,其包括多个命令寄存器;以及存储器控制器,其被配置为确定在多个命令寄存器中是否存在空命令寄存器,并且当存在空命令寄存器时,将新命令传输至存储器装置,其中,当从存储器控制器传输新命令时,存储器装置将被传输的新命令存储在空命令寄存器中。
在实施例中,存储器系统可包括:存储器装置;以及存储器控制器,其被配置为控制存储器装置的操作,该存储器装置包括:多个命令寄存器,其被配置为存储从存储器控制器传输的命令;命令状态寄存器,其被配置为存储被存储在命令寄存器中的命令的状态信息;以及控制逻辑,其被配置为将传输的命令存储在命令寄存器中的一个空命令寄存器中,其中存储器控制器通过检查命令状态寄存器来确定在命令寄存器中是否存在空命令寄存器,并且当存在空命令寄存器时,将新命令传输至存储器装置。
在实施例中,包括有包括多个命令寄存器的存储器装置以及控制存储器装置的操作的存储器控制器的存储器系统的操作方法可包括:确定在多个命令寄存器中是否存在空命令寄存器;当存在空命令寄存器时,将新命令传输至存储器装置;并且将传输的命令存储在空命令寄存器中。
在实施例中,存储器系统可包括:存储器装置,其包括用于存储提供的命令并且适于执行存储的命令的多个命令寄存器;以及存储器控制器,其适于通过向存储器装置提供命令来控制存储器装置,其中当存储的命令中的一个或多个执行-完成时,存储器控制器向存储器装置提供新命令,并且其中存储器装置将新命令存储在与执行-完成的命令相对应的命令寄存器中的一个中。
存储器装置进一步包括用于存储被存储的命令的执行状态的命令状态寄存器,并且至少当被存储的命令中的一个或多个执行-完成时,存储器装置更新执行状态。
存储器控制器根据执行状态确定是否提供新命令。
存储器装置以优先级的顺序执行存储的命令。
在存储的命令中,存储器装置暂停处于正被执行的进程中并且具有较低优先级的命令,并且执行具有较高优先级的另一个命令。
在实施例中,包括存储器装置和存储器控制器的存储器系统的操作方法可包括:通过存储器控制器向存储器装置提供命令;通过存储器装置将提供的命令存储在存储器装置的命令寄存器中;并且通过存储器装置执行存储的命令,其中当存储的命令中的一个或多个执行-完成时,将新命令提供至存储器装置,并且其中新命令被存储在与执行-完成的命令相对应的命令寄存器中的一个中。
该方法进一步包括:存储被存储的命令的执行状态;以及至少当存储的命令中的一个或多个执行-完成时,更新执行状态。
提供命令包括通过存储器控制器根据执行状态确定是否提供新命令。
以优先级的顺序执行存储的命令。
执行存储的命令包括:通过存储器装置暂停存储的命令中的处于正被执行的进程中并且具有较低优先级的命令;以及通过存储器装置执行存储的命令中的具有较高优先级的另一个命令。
根据实施例,可将两个命令存储在存储器装置中,并且因此当完成第一命令的执行时,可立即执行第二命令。因此,存储器控制器不需要将单独的高速缓存命令传输至存储器装置,并且因此可减少命令的数量,从而简化接口。
根据实施例,即使当存储器装置处于繁忙状态时,存储器装置也可接受命令,从而缩短命令接受间隔,并且因此可改善存储器系统的性能。
根据实施例,存储器装置自身可暂停和恢复命令的执行,并且因此存储器控制器不需要将单独的暂停/恢复命令传输至存储器装置,从而减少命令传输的数量。
附图说明
通过参照附图详细描述本发明的各种实施例,本发明的上述和其它特征以及优点对于本领域技术人员将变得更加显而易见,其中:
图1是示出根据本发明的实施例的存储器系统的框图。
图2A和图2B是示出根据本发明的实施例的命令状态寄存器的示例的表示的简图。
图3A至图3D是帮助解释图1的存储器装置的操作的简图的示例的表示。
图4是示出根据本发明的另一个实施例的存储器系统的框图。
图5是示出根据本发明的实施例的用于暂停条件的寄存器值的图。
图6是根据本发明的实施例的存储器系统的操作方法的流程图。
图7是根据本发明的实施例的用于执行存储器装置的暂停操作的方法的流程图。
图8是根据本发明的另一个实施例的用于执行存储器装置的暂停操作的方法的流程图。
图9是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图10是示出根据本发明的实施例的包括固态硬盘(SSD)的数据处理系统的框图。
图11是示出图10的SSD的SSD控制器的框图。
具体实施方式
在下文中,以下将通过实施例的各种示例参照附图来描述存储器系统及其操作方法。
然而,本发明可以不同形式被实现,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完整的,并且将向本领域技术人员充分传达本发明的各个方面和特征。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以描述各种元件,但是这些元件不受这些术语限制。使用这些术语来将一个元件与另一元件区分。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不必须按比例绘制,并且在一些情况下,为了更清楚地示出实施例的各种元件,可能已经放大比例。例如,在附图中,为了便于说明,元件的尺寸和元件之间的间隔与实际尺寸和间隔相比可能被放大。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可直接在另一元件上、连接至或联接至另一元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,其可以是两个元件之间唯一的元件或也可存在一个或多个中间元件。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本发明。如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、“包含”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。
除非另有限定,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员鉴于本公开通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中限定的那些术语的术语应被理解为具有与它们在本公开的上下文以及相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地限定。
在以下描述中,为了提供本发明的全面理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,没有详细地描述公知的进程结构和/或进程,以免不必要地模糊本发明。
还应注意的是,在一些实例中,对相关领域的技术人员显而易见的是,结合一个实施例描述的元件(也被称为特征)可以单独使用或与另一实施例的其它元件结合使用,除非另有明确说明。
在下文中,将参照附图详细地描述本发明的各种实施例。
现在参照图1,根据本发明的实施例的存储器系统10被提供。存储器系统10可包括存储器装置100和存储器控制器200。
存储器系统10可存储可被主机装置访问的数据。主机装置可以是诸如移动电话、MP3播放器、笔记本电脑、台式计算机的便携式电子装置或诸如游戏机、电视和车载信息娱乐系统的非便携式电子装置。
存储器系统10可根据与主机装置电联接的接口的协议被制造为各种存储装置中的任意一种。例如,存储器系统10可被配置为诸如以下的各种存储装置中的至少一种:固态硬盘、以MMC、eMMC、RS-MMC和微型-MMC形式的多媒体卡、以SD、迷你-SD和微型-SD形式的安全数字卡、通用串行总线(USB)存储装置、通用闪速存储(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡式存储装置、外围部件互连(PCI)卡式存储装置、高速PCI(PCI-E)卡式存储装置、标准闪存(CF)卡、智能媒体卡、记忆棒等。
数据存储装置10可被制造为诸如以下的各种封装类型中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶片级制造封装(WFP)和晶片级堆叠封装(WSP)等。
存储器装置100可作为存储器系统10的存储介质来操作。存储器装置100可根据存储器单元通过诸如以下各种非易失性存储器装置中的至少一种被配置:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)层的磁性随机存取存储器(MRAM)、使用硫系合金的相变随机存取存储器(PRAM)、使用过渡金属化合物的电阻式随机存取存储器(RERAM)等。
存储器装置100可包括通过至少一个内部总线可操作地联接的存储器单元阵列110、控制逻辑120、第一命令寄存器130、第二命令寄存器140、行解码器150、列解码器160、第一页面缓冲器170、第二页面缓冲器180以及命令状态寄存器190。
存储器单元阵列110可包括多个存储器单元(未示出)。存储器单元可分别设置在其中多个位线(未示出)和多个字线(未示出)彼此相交的区域处。存储器单元可以是存储一位的一层单元(SLC),或能够存储2-位数据、3-位数据(三层单元(TLC))或4-位数据(四层单元(QLC))的多层单元(MLC)。存储器单元阵列110可包括从由一层单元、2-位层单元、三层单元和四层单元组成的组中选择的多个存储器单元。在实施例中,存储器单元可以是混合单元,即,一层单元、2-位层单元、三层单元和四层单元中的至少两个的组合。在实施例中,存储器单元阵列110可包括以二维水平结构布置的存储器单元。在另一个实施例中,存储器单元阵列110可包括以三维垂直结构布置的存储器单元。这些结构在本领域中是公知的,因此为了不使不必要的公知细节混淆本发明的描述,我们将不再进一步描述它们。
控制逻辑120可控制包括存储器装置100的写入操作、读取操作和擦除操作的存储器装置100的一个或多个操作。例如,控制逻辑120可分别响应于写入命令和读取命令来控制在存储器单元阵列110中待执行的写入操作和读取操作。可将写入命令和读取命令从存储器控制器200传输至存储器装置100。写入命令和读取命令可由存储器控制器200响应于从可操作地联接至存储器系统100的主机(未示出)接收的各个写入请求和读取请求而生成。此外,响应于从存储器控制器200传输的擦除命令,控制逻辑120可控制在存储器单元阵列110中待执行的擦除操作。作为示例,可以以页面为单位执行写入操作和读取操作,而可以以块为单位执行擦除操作。存储器单元阵列110可包括多个块,并且每个块可包括多个页面。
控制逻辑120可基于从存储器控制器200提供的地址,将用于选择字线的行地址ADDR_row和用于选择位线的列地址ADDR_col分别传输至行解码器150和列解码器160。
第一命令寄存器130和第二命令寄存器140中的每一个可存储从存储器控制器200传输的命令。可以以其中从存储器控制器200传输命令的顺序通过控制逻辑120获取并执行存储在第一命令寄存器130和第二命令寄存器140中的命令。
行解码器150可选择与存储器单元阵列110联接的多个字线中的任意一个。例如,行解码器150可从控制逻辑120接收行地址ADDR_row。行解码器150可在多个字线中选择与接收的行地址ADDR_row相对应的任何一个字线。
列解码器160可选择与存储器单元阵列110联接的多个位线中的任意一个。例如,列解码器160可从控制逻辑120接收列地址ADDR_col。列解码器160可在多个位线中选择与接收的列地址ADDR_col相对应的任何一个位线。
第一页面缓冲器170和第二页面缓冲器180可通过多个位线与存储器单元阵列110联接。第一页面缓冲器170可临时地存储包括存储在第一命令寄存器130中的命令的数据。第二页面缓冲器180可临时地存储包括存储在第二命令寄存器140中的命令的数据。
例如,如果存储在第一命令寄存器130和第二命令寄存器140中的命令是写入命令,则第一页面缓冲器170和第二页面缓冲器180可临时地存储待被存储在存储器单元阵列中的从存储器控制器200提供的写入数据。如果存储在第一命令寄存器130和第二命令寄存器140中的命令是读取命令,则第一页面缓冲器170和第二页面缓冲器180可临时地存储对应于读取命令的从存储器单元阵列110读出的数据。
命令状态寄存器190可存储用于存储在第一命令寄存器130和第二命令寄存器140中的命令的至少一个状态信息。状态信息可包括执行结果信息,其指示是否已经成功执行命令。状态信息可包括执行状态信息,其指示命令的执行是完成还是待定(尚未开始)或命令是否处于正被执行的进程中。
图2A和图2B是示出命令状态寄存器190的示例的表示的简图。
参照图2A,命令状态寄存器190可包括多个字段(例如,第一字段F1至第四字段F4)。第一字段F1(图2A中的“通过/失败(n)”)可表示第n命令的执行结果信息,即指示命令是否已经被成功地执行(“通过”)或已经失败(“失败”)的信息。第二字段F2(图2A中的“通过/失败(n-1)”)可表示第n-1命令的执行结果信息。第三字段F3(图2A中的“命令状态(n)”)可表示第n命令的执行状态信息,诸如命令是否已经完成(“完成”)、命令是否待定(“待定”)以及命令当前是否处于正被执行的进程中(“正在执行”)。第四字段F4(图2A中的“命令状态(n-1)”)可表示第n-1命令的执行状态信息。此处,“n”可以是等于或大于1的整数。第(n-1)命令可以是比第n命令更早从存储器控制器200被传输的命令。命令状态寄存器190的各个字段的布置顺序不限于图2A中所示的布置顺序,并且可根据设计被改变。
第三字段F3和第四字段F4的各个执行状态信息可具有3个值(例如,0、1和2),其分别将相应的命令指示为执行-完成(图2A中的“0:完成”)、执行-待定(图2A中的“1:待定”)以及处于正被执行的进程中(图2A的“2:正在执行”)。执行-待定命令可被存储在第一命令寄存器130和第二命令寄存器140中的一个中,并且可不被获取。正在执行命令(on-the-execution commond)可通过控制逻辑120被获取并且处于正被执行的进程中。当正在执行命令被执行时,其可被控制逻辑120暂停。
例如,如图2A所示,如果“1”被存储在第三字段F3中并且“2”被存储在第四字段F4中,则存储器控制器200通过检查命令状态寄存器190来确定第(n-1)命令的状态是正被执行并且第n命令的状态是执行-待定。如果“2”被存储在第三字段F3和第四字段F4两者中,存储器控制器200确定在执行期间暂停第(n-1)命令并且当前执行第n命令。通常,存储器装置100可在任一时刻仅处理一个命令。因此,两个命令,即,第(n-1)命令和第n命令两者正被执行的事实可能意味着在执行期间暂停两个命令中的一个命令。此时,由于较早传输的命令被首先执行,因此存储器控制器200可确定暂停第(n-1)命令并且当前执行第n命令。
第一字段F1和第二字段F2的执行结果信息可具有2个值,例如,0和1,其分别指示相应命令的执行-通过和执行-失败(图2A中分别为“0:通过”和“1:失败”)。可在完成命令的执行之后通过控制逻辑120更新命令的执行结果信息。例如,如图2A所示,如果“0”被存储在第四字段F4中并且“0”被存储在第二字段F2中,存储器控制器200确定第(n-1)命令的执行已经完成并且第(n-1)命令的执行结果是通过,因此存储器控制器200确定第(n-1)命令已经被成功地执行。
在根据本实施例的命令状态寄存器190中,每当相应命令的执行状态改变时或者每当存储器控制器200提供新命令时,可更新各个字段F1至F4的值。
例如,如果第(n-1)命令是执行-完成,则从命令寄存器190中擦除执行-完成的第(n-1)命令的第二字段F2和第四字段F4的值,并且可分别更新用于第n命令的第一字段F1的执行结果信息和第三字段F3的执行状态信息以将其移动到第二字段F2和第四字段F4,并且第n命令现在被视为第(n-1)命令。如果存在从存储器控制器200传输的第(n+1)命令,则关于第(n+1)命令的执行结果信息和执行状态信息可分别被存储在第一字段F1和第三字段F3中,并且将被视为第n命令。
如果完成第(n-1)命令的执行,则从其中存储第(n-1)命令的命令寄存器擦除第(n-1)命令,并且相应的命令寄存器可变为空状态。
存储器控制器200可通过检查存储在命令状态寄存器190中的命令的执行状态信息来确定是否将命令传输至存储器装置100。例如,存储器控制器200可检查命令状态寄存器190,可确定当完成某个命令的执行时两个命令寄存器,即第一命令寄存器130和第二命令寄存器140中的一个是空的,并且可将下一个待执行的命令传输至存储器装置100。如果确定两个命令对应于正在执行或待定,则存储器控制器200可确定在第一命令寄存器130和第二命令寄存器140之间不存在空命令寄存器,并且可不将下一个待执行的命令传输至存储器装置100。
在另一个实施例中,参照图2B,命令状态寄存器190可包括第一命令状态寄存器190a和第二命令状态寄存器190b。第一命令状态寄存器190a和第二命令状态寄存器190b的每一个可包括用于命令的执行结果信息字段(图2B中的“通过/失败”)和执行状态信息字段(图2B中的“命令状态”)。并且,第一命令状态寄存器190a和第二命令状态寄存器190b的每一个可包括标签信息字段(图2B中的“标签”)。以上参照图2A描述命令的执行结果信息和执行状态信息。
当存储器控制器200将命令传输至存储器装置100时,其可将标签信息与命令一起传输。标签信息可指示多个命令状态寄存器中的命令状态寄存器,其中将存储与接收的命令有关的状态信息。因此,当存储器装置100存储用于接收的命令的状态信息时,它将状态信息存储在通过与命令一起传输的标签信息指定的命令状态寄存器中。
例如,如图2B的示例所示,命令状态寄存器190的第一命令状态寄存器190a的标签信息被设置为“0”并且命令状态寄存器190的第二命令状态寄存器190b的标签信息被设置为“1”。因此,例如,如果存储器控制器200将命令和“0”的标签信息传输至存储器装置100,存储器装置100可将用于命令的状态信息存储在标签信息被设置为“0”的第一命令状态寄存器190a中。
如果从存储器控制器200接收用于命令的状态信息请求,则存储器装置100可将各个命令的状态信息以及与各个命令相对应的标签信息传输至存储器控制器200。存储器控制器200可检查标签信息,并且确定与标签信息相对应的命令的执行状态。
控制逻辑120可将从存储器控制器200传输的命令存储在第一命令寄存器130或第二命令寄存器140中。当将命令传输至存储器装置100时,存储器控制器200可不指定是将命令存储在第一命令寄存器130中还是存储在第二命令寄存器140中。
存储器控制器200检查命令状态寄存器190,并且仅当存在空命令寄存器时,即仅当存在具有表示相应命令的执行-完成的执行状态信息字段值“0”的命令寄存器时,将命令传输至存储器装置100。
存储器装置100的控制逻辑120可将从存储器控制器200传输的命令存储在第一命令寄存器130和第二命令寄存器140之间的空命令寄存器中。
图3A至图3D示出控制逻辑120,其将从存储器控制器200传输的命令存储在命令寄存器130和命令寄存器140中并且获取存储的命令。为了方便解释,假设第一命令寄存器130和第二命令寄存器140最初都是空的,即,最初没有执行-待定或处于正被执行的进程中的命令。
参照图3A,如果从存储器控制器200传输第一命令CMD1,则控制逻辑120可将传输的第一命令CMD1存储在第一命令寄存器130中。虽然在本实施例中示出控制逻辑120将第一命令CMD1存储在第一命令寄存器130中,但应当注意的是,这仅仅是一个示例。例如,可选地,控制逻辑120可将第一命令CMD1存储在第二命令寄存器140中。
参照图3B,如果此后从存储器控制器200传输第二命令CMD2同时第一命令CMD1是执行-待定或处于正被执行的进程中,控制逻辑120可将传输的第二命令CMD2存储在空的第二命令寄存器140中。以这种方式,如果由于第一和第二命令寄存器130和140的第一和第二命令CMD1和CMD2两者都是执行-待定或处于正被执行的进程中而不存在空命令寄存器,则存储器控制器200可通过检查命令寄存器190的执行状态信息而不再将另一命令传输至存储器装置100。
并且,如图3B所示,控制逻辑120可从第一命令寄存器130获取第一命令CMD1,并且执行获取的第一命令CMD1。
参照图3C,即使第一命令CMD1被控制逻辑120获取,第一命令CMD1仍然被存储在第一命令寄存器130中。即,第一命令寄存器130可直到获取的第一命令CMD1的执行被完成才处于空状态。当获取的第一命令CMD1的执行被完成时,然后第一命令寄存器130转变为空状态。以该方式,由于第一命令CMD1处于正被执行的进程中并且第二命令CMD2执行-待定,存储器控制器200通过检查命令寄存器190的执行状态信息而未将新命令传输至存储器装置100。
当第一命令CMD1的执行被完成时,第一命令寄存器130转变为空状态,并且然后存储器控制器200可将第三命令CMD3传输至存储器装置100。然后如图3D所示,控制逻辑120将传输的第三命令CMD3存储在当前为空的第一命令寄存器130中。然后,控制逻辑120可从第二命令寄存器140获取第二命令CMD2,并且执行获取的第二命令CMD2。当获取的第二命令CMD2的执行被完成时,控制逻辑120可从第一命令寄存器130获取第三命令CMD3,并且执行获取的第三命令CMD3。同时,当第一命令寄存器和第二命令寄存器中的至少一个变为空时,然后存储器控制器200可将可被存储在至少一个空的第一命令寄存器或第二命令寄存器中的新命令传输至存储器装置。
同时,当存储器控制器200将写入命令传输至存储器装置100时,其也可与写入命令一起传输写入数据。控制逻辑120可将写入数据存储在对应于其中存储写入命令的命令寄存器的页面缓冲器中。例如,在其中第一命令CMD1是写入命令的情况下,控制逻辑120可将第一命令CMD1存储在第一命令寄存器130中,并且可将用于第一命令CMD1的写入数据存储在对应于第一命令寄存器130的第一页面缓冲器170中。
如果从存储器控制器200传输读取命令,响应于传输的读取命令,控制逻辑120可将从存储器单元阵列110读出的数据存储在对应于其中存储读取命令的命令寄存器的页面缓冲器中。例如,如果从存储器控制器200传输的第二命令CMD2是读取命令,则控制逻辑120可将通过执行第二命令CMD2从存储器单元阵列110读出的数据存储在对应于第二命令寄存器140的第二页面缓冲器180中。
如果存储在第一命令寄存器130或第二命令寄存器140中的新传输的命令具有比处于正被执行的进程中的命令更高的优先级,控制逻辑120可暂停处于正被执行的进程中的命令并且执行具有更高优先级的新传输的命令。例如,控制逻辑120可确定从存储器控制器200新传输的命令的优先级是否高于当前处于正被执行的进程中的命令。如果传输的命令的优先级较高,则控制逻辑120可立即暂停当前处于正被执行的进程中的命令,并且执行具有较高优先级的新传输的命令。控制逻辑120可周期性地检查在第一命令寄存器130和第二命令寄存器140中是否存在较高优先级的命令。如果检测到具有较高优先级的命令,控制逻辑120可暂停处于正被执行的进程中并且具有较低优先级的命令,并且执行较高优先级的命令。如果完成较高优先级的命令的执行,则控制逻辑120可恢复暂停的命令的执行。
以该方式,由于存储器装置100可通过暂停当前处于正被执行的进程中并且具有较低优先级的命令来首先执行较高优先级的命令并且然后恢复暂停的命令的执行,因此存储器控制器200不需要将单独的暂停/恢复命令传输至存储器装置100。
在暂停处于正被执行的进程中的命令之前,控制逻辑120可确定处于正被执行的进程中的命令的暂停计数是否超过预定的暂停计数。暂停计数是指已经暂停命令的次数。仅当暂停计数等于或小于预定的暂停计数时,控制逻辑120可暂停处于正被执行的进程中的命令并且首先执行较高优先级的命令。
控制逻辑120可更新用于存储在命令状态寄存器190中的命令的状态信息。控制逻辑120可分别更新用于存储在第一命令寄存器130和第二命令寄存器140中的命令的执行状态信息和执行结果信息。
存储器控制器200可将对应于来自外部装置的请求的命令、地址、控制信号等传输至存储器装置100。通过参照存储器装置100的命令状态寄存器190,如果执行状态信息将某个命令表示为执行-完成,存储器控制器200可确定存在空命令寄存器,并且将新命令传输至存储器装置100。并且,通过参照存储器装置100的命令状态寄存器190,如果所有命令的执行状态信息对应于待定或正在执行,存储器控制器200可确定不存在空命令寄存器,并且不将新命令传输至存储器装置100。
根据本公开的实施例,由于存储器装置100包括多个命令寄存器(即,第一命令寄存器130和第二命令寄存器140),并且因此当多个命令寄存器中的至少一个命令寄存器具有用于新命令的空间时,即使当存储器装置100忙于正在执行在多个命令寄存器中的命令寄存器中的命令时,存储器控制器200可将新命令传输至存储器装置100。以该方式,由于存储器装置100即使处于繁忙状态时也可接收新命令,因此可缩短命令接收间隔并且因此可改善存储器系统10的性能。
此外,由于存储器装置100可存储多个命令,因此其可在不停止的情况下执行存储的多个命令,并且因此存储器控制器200可以不需要传输单独的高速缓存命令至存储器装置100,从而减少命令的数量并且因此减少控制器和存储器装置之间的接口的负载或者说更简单地简化接口。
图4是示出根据本发明的另一个实施例的存储器系统10的框图。
参照图4,图4的存储器系统10可以与图1至图4的存储器系统相同,除了不同于图1的实施例,图4的存储器系统包括暂停条件寄存器195。
暂停条件寄存器195可存储用于其中存储器装置100执行暂停操作的条件的设置信息。可通过存储器控制器200设置暂停条件寄存器195的寄存器值。例如,当存储器装置100处于就绪状态时存储器控制器200可设置暂停条件寄存器195的寄存器值。存储器装置100的控制逻辑120可通过参考在暂停条件寄存器195中设置的寄存器值,仅在相应条件下执行暂停操作。
图5是示出根据本发明的实施例的对应于暂停条件寄存器值以及与各个寄存器值的暂停条件的图。
参照图5,暂停条件寄存器195可存储多个寄存器值中的一个。虽然图5示出从“0”至“5”的寄存器值以及用于各个寄存器值的暂停条件,但应当注意的是,这仅是为了说明的目的并且实施例不具体地限于此。
例如,存储器控制器200可将值“0”至“5”中的一个设置为暂停条件寄存器195的寄存器值。控制逻辑120可检查在暂停条件寄存器195中设置的寄存器值,并在相应的暂停条件下执行暂停操作。
例如,参照图5的示例,如果存储在暂停条件寄存器195中的寄存器值为“0”,则控制逻辑120在任何情况下不执行暂停操作。如果存储在暂停条件寄存器195中的寄存器值为“1”,则控制逻辑120暂停擦除执行并且在其中在擦除执行期间读取命令被传输的条件下首先执行传输的读取命令,并且在其他条件下不执行暂停操作。
相似地,如果存储在暂停条件寄存器195中的寄存器值为“2”,控制逻辑120暂停擦除执行并且在其中擦除执行期间写入命令被传输的条件下首先执行传输的写入命令,并且在其他条件下不执行暂停操作。如果存储在暂停条件寄存器195中的寄存器值为“3”,控制逻辑120暂停擦除执行并且在其中擦除执行期间读取命令或写入命令被传输的条件下首先执行传输的读取命令或写入命令,并且在其他条件下不执行暂停操作。
如果存储在暂停条件寄存器195中的寄存器值为“4”,控制逻辑120暂停写入执行并且在其中写入执行期间读取命令被传输的条件下首先执行传输的读取命令,并且在其他条件下不执行暂停操作。如果存储在暂停条件寄存器195中的寄存器值为“5”,控制逻辑120暂停写入或擦除执行并且在其中写入或擦除执行期间读取命令被传输的条件下首先执行传输的读取命令,并且在其他条件下不执行暂停操作。
换言之,存储器装置100的控制逻辑120可通过参照通过存储器控制器200预先设置的暂停条件寄存器值仅在相应条件下执行暂停操作。
图6是根据本发明的实施例的存储器系统10的操作方法的流程图。
在步骤S610中,存储器控制器200可通过参照命令状态寄存器190来检查执行-完成的命令是否包括在第一命令寄存器130和第二命令寄存器140中。
如果完成存储在第一命令寄存器130和第二命令寄存器140中的命令的至少一个的执行,则执行-完成的命令的第一命令寄存器130和第二命令寄存器140中的至少一个变为空。
在步骤S620中,存储器控制器200可基于存储在命令状态寄存器190中的命令的正被执行状态信息的进程来确定第一命令寄存器130和第二命令寄存器140中的至少一个是否为空(即,相应的命令是执行-完成的)。
可重复步骤S610和S620直到第一命令寄存器130和第二命令寄存器140中的至少一个被确定为空(即,相应的命令是执行-完成的)。
在步骤S620中,当第一命令寄存器130和第二命令寄存器140中的至少一个被确定为空(即,相应的命令是执行-完成的)时,存储器控制器200可在步骤S630中将新命令传输至存储器装置100。
在步骤S640中,存储器装置100可将从存储器控制器200传输的命令存储在空命令寄存器中。在第一命令寄存器130和第二命令寄存器140两者被确定为空的情况下,存储器装置100可将传输的命令存储在第一命令寄存器130和第二命令寄存器140中的任意一个中。
图7是根据本发明的实施例的用于执行存储器装置100的暂停操作的方法的流程图。为了方便解释,具有较低优先级的命令将被称为低级命令并且具有较高优先级的命令将被称为高级命令。假设低级命令存储在存储器装置100的第一命令寄存器130中。
在步骤S710中,存储器装置100的控制逻辑120可从第一命令寄存器130获取低级命令,并且执行获取的低级命令。
在步骤S720中,如果从存储器控制器200传输新命令,则控制逻辑120可将传输的命令存储在第二命令寄存器140中,并且可确定传输的命令是否是高级命令。
当传输的命令被确定为高级命令时,在步骤S730控制逻辑120可确定当前处于正被执行的进程中的低级命令的暂停计数是否超过预定的暂停计数PSC。在当前处于正被执行的进程中的低级命令的暂停计数被确定为等于或小于预定的暂停计数时,在步骤S740中控制逻辑可暂停当前处于正被执行的进程中的低级命令的操作。此时,控制逻辑120可备份执行低级命令所需的寄存器值和数据。
在步骤S750中,控制逻辑120可从第二命令寄存器140获取高级命令,并且执行获取的高级命令。
在步骤S760中,控制逻辑120可确定高级命令的执行是否完成。作为确定的结果,如果完成高级命令的执行,则可执行步骤S770。
在步骤S770中,控制逻辑120可恢复当前暂停的低级命令的执行,并且在步骤S780中控制逻辑120可完成低级命令的执行。
当在步骤S720中传输的命令未被确定为高级命令或者在步骤S730中当前处于正被执行的进程中的低级命令的暂停计数未被确定为等于或小于预定的暂停计数时,控制逻辑120可在步骤S780中完成低级命令的执行。
图8是根据本发明的实施例的用于执行存储器装置100的暂停操作的方法的流程图。假设低级命令存储在存储器装置100的第一命令寄存器130中。
在步骤S810中,存储器装置100的控制逻辑120可从第一命令寄存器130获取低级命令,并且执行获取的低级命令。
在步骤S820中,控制逻辑120可检查其它命令寄存器,即第二命令寄存器140。
在步骤S830中,控制逻辑120可确定高级命令是否存储在第二命令寄存器140中。
当在步骤S830中第二命令寄存器140被确定为存储高级命令时,在步骤S840中控制逻辑120可确定当前处于正被执行的进程中的低级命令的暂停计数是否超过预定的暂停计数PSC。
在当前处于正被执行的进程中的低级命令的暂停计数被确定为等于或小于预定的暂停计数PSC时,控制逻辑120可暂停当前处于正被执行的进程中的低级命令的操作。此时,控制逻辑120可备份执行低级命令所需的寄存器值和数据。
在步骤S860中,控制逻辑120可从第二命令寄存器140获取高级命令,并且执行获取的高级命令。
在步骤S870中,控制逻辑120可确定高级命令的执行是否完成。作为确定的结果,如果完成高级命令的执行,则可执行步骤S880。
在步骤S880中,控制逻辑120可恢复当前暂停的低级命令的执行,并且在步骤S890控制逻辑120可完成低级命令的执行。
当在步骤S830中第二命令寄存器140未被确定为存储高级命令或者在步骤S840中当前处于正被执行的进程中的低级命令的暂停计数未被确定为等于或小于预定的暂停计数时,在步骤S890中控制逻辑120可完成低级命令的执行。
图9是示出根据本发明的实施例的包括存储器系统1200的数据处理系统1000的框图。
参照图9,数据处理系统1000还可包括可操作地联接至存储器系统1200的主机装置1100。
存储器系统1200可包括控制器1210和非易失性存储器装置1220。存储器系统1200可通过联接至诸如移动电话、MP3播放器、笔记本电脑、台式计算机、游戏机、电视、车载信息娱乐系统等的主机装置1100被使用。
非易失性存储器装置1220可根据图1或图4的存储器装置被配置并且可包括存储从控制器1210传输的命令的两个命令寄存器(参见图1),以及存储被存储在各个命令寄存器中的命令的各个状态信息的命令状态寄存器(参见图1)。
控制器1210可包括主机接口单元1211、控制单元1212、存储器接口单元1213、随机存取存储器1214以及错误校正码(ECC)单元1215。
随机存取存储器1214可被用作控制单元1212的工作存储器。随机存取存储器1214可被用作临时地存储从非易失性存储器装置1220读出的数据或从主机装置1100提供的数据的缓冲存储器。
控制单元1212可响应于来自主机装置1100的请求来控制控制器1210的一个或多个操作。控制单元1212可驱动用于控制非易失性存储器装置1220的固件或软件。
控制单元1212可通过检查非易失性存储器装置1220的命令状态寄存器来确定两个命令寄存器之间是否存在空命令寄存器,当空命令寄存器存在时可将下一个待执行的命令传输至非易失性存储器装置1220,并且可当空命令寄存器不存在时不将命令传输至非易失性存储器装置1220。
主机接口单元1211可接口连接主机装置1100和控制器1210。例如,主机接口单元1211可通过诸如通用串行总线(USB)协议、通用闪速存储(UFS)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、高速PCI(PCI-E)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机系统接口(SCSI)协议以及串行连接SCSI(SAS)协议的各种接口协议中的一个与主机装置1100通信。
存储器接口单元1213可接口连接控制器1210和非易失性存储器装置1220。存储器接口单元1213可向非易失性存储器装置1220提供命令和地址。此外,存储器接口单元1213可与非易失性存储器装置1220交换数据。
错误校正码(ECC)单元1215可ECC-编码待存储在非易失性存储器装置1220中的数据。并且,错误校正码(ECC)单元1215可ECC-编码从非易失性存储器装置1220读出的数据。此外,错误校正码(ECC)单元1215可对在ECC-解码数据的进程中校正的错误位的数量计数,并且计算校正的错误位的总数量。错误校正码(ECC)单元1215可被包括在存储器接口单元1213中。
控制器1210和非易失性存储器装置1220可被制造为各种数据存储装置中的任意一种。例如,控制器1210和非易失性存储器装置1220可被集成到一个半导体装置中并且可被制造为MMC、eMMC、RS-MMC和微型-MMC形式的多媒体卡、SD、迷你-SD和微型-SD形式的安全数字卡、通用串行总线(USB)存储装置、通用闪速存储(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡式存储装置、标准闪存(CF)卡、智能媒体卡、记忆棒等中的任意一种。
图10是示出根据本发明的实施例的包括固态硬盘(SSD)2200的数据处理系统2000的框图。
参照图10,数据处理系统2000还可包括可操作地联接至固态硬盘(SSD)2200的主机装置2100。
SSD 2200可包括SSD控制器2210、缓冲存储器装置2220,非易失性存储器装置2231至223n、电源2240、信号连接器2250以及电源连接器2260。
SSD控制器2210可响应于来自主机装置2100的请求访问非易失性存储器装置2231至223n。
缓冲存储器装置2220可临时地存储待被存储在非易失性存储器装置2231至223n中的数据。进一步地,缓冲存储器装置2220可临时地存储从非易失性存储器装置2231至223n读出的数据。临时地存储在缓冲存储器装置2220中的数据在SSD控制器2210的控制下可被传输至主机装置2100或非易失性存储器装置2231至223n。
非易失性存储器装置2231至223n可被用作SSD 2200的存储媒介。非易失性存储器装置2231至223n可通过多个信道CH1至CHn分别与SSD控制器2210联接。一个或多个非易失性存储器装置可联接至一个信道。联接至每个信道的非易失性存储器装置可联接至相同的信号总线和数据总线。
非易失性存储器装置2231至223n中的每一个可根据图1或图4的存储器装置被配置并且可包括存储从SSD控制器2210传输的命令的两个命令寄存器(参见图1),以及存储被存储在各个命令寄存器中的命令的各个状态信息的命令状态寄存器(参见图1)。
电源2240可将通过电源连接器2260被输入的电力PWR提供至SSD2200的内部。电源2240可包括辅助电源2241。当发生突然断电时,辅助电源2241可供应电力以允许SSD 2200被正常地终止。辅助电源2241可包括能够充电电力PWR的大容量电容器。
SSD控制器2210可通过信号连接器2250与主机装置2100交换信号SGL。信号SGL可包括命令、地址、数据等。信号连接器可根据主机装置2100和SSD 2200之间的接口方案通过诸如并行高级技术附件(PATA)、串行高级技术附件(SATA)、串行连接SCSI(SAS)、外围组件互连(PCI)以及高速PCI(PCI-E)协议的连接器被配置。
图11是示出图10的SSD控制器的框图。
参照图11,SSD控制器2210可包括通过至少一个内部总线可操作地联接的存储器接口单元2211、主机接口单元2212、错误校正码(ECC)单元2213、控制单元2214以及随机存取存储器2215。
存储器接口单元2211可向非易失性存储器装置2231至223n提供诸如命令和地址的控制信号。此外,存储器接口单元2211可与非易失性存储器装置2231至223n交换数据。存储器接口单元2211可在控制单元2214的控制下将从缓冲存储器装置2220传输的数据分散到各个信道CH1至CHn。此外,在控制单元2214的控制下,存储器接口单元2211可将从非易失性存储器装置2231至223n读出的数据传输至缓冲存储器装置2220。
主机接口单元2212可对应于主机装置2100的协议提供关于SSD2200的接口连接。例如,主机接口单元2212可通过并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机系统接口(SCSI)协议、串行连接SCSI(SAS)协议、外围组件互连(PCI)协议以及高速PCI(PCI-E)协议中的任意一个与主机装置2100通信。
另外,主机接口单元2212可执行支持主机装置2100将SSD 2200识别为硬盘驱动器(HDD)的磁盘模拟功能。
控制单元2214可分析并处理从主机装置2100输入的信号SGL。控制单元2214可根据用于驱动SSD 2200的固件或软件来控制缓冲存储器装置2220和非易失性存储器装置2231至223n的操作。
随机存取存储器2215可被用作控制单元2214的工作存储器。
控制单元2214可分析并处理从主机装置2100输入的信号SGL。控制单元2214可根据用于驱动SSD 2200的固件或软件来控制缓冲存储器装置2220和非易失性存储器装置2231至223n的操作。
控制单元2214可通过检查非易失性存储器装置2231至223n的每一个的命令状态寄存器来确定是否存在空命令寄存器,当存在空命令寄存器时可将下一个待执行的命令传输至非易失性存储器装置2231至223n的每一个,并且可当不存在空命令寄存器时不将命令传输至非易失性存储器装置2231至223n的每一个。
错误校正(ECC)单元2213可在缓冲存储器装置2220中存储的数据中生成待传输至非易失性存储器装置2231至223n的奇偶校验数据。生成的奇偶校验数据可与数据一起被存储在非易失性存储器装置2231至223n中。错误校正码(ECC)单元2213可检测从非易失性存储器装置2231至223n读出的数据的错误。当检测的错误在校正能力范围内时,错误校正码(ECC)单元2213可校正检测的错误。此外,错误校正码(ECC)单元2213可对校正的错误位的数量计数,并且计算校正的错误位的总数。
虽然已经在上文描述了各种实施例,但是对于本领域技术人员将理解的是描述的实施例仅是示例。因此,本文描述的数据存储装置及其操作方法不应限于描述的实施例。在不脱离如所附权利要求中限定的本发明的范围和精神的情况下,本发明所属领域的技术人员可设想许多其它实施例及其变化。
Claims (29)
1.一种存储器系统,所述存储器系统用于存储由主机装置访问的数据,所述存储器系统包括:
存储器装置,其包括存储器单元阵列、多个命令寄存器和命令状态寄存器,所述多个命令寄存器被配置为存储与在所述存储器单元阵列中执行的操作有关的多个命令,所述命令状态寄存器被配置为存储用于在所述多个命令寄存器中存储的所述多个命令中的每一个的执行状态信息;以及
存储器控制器,其在所述存储器装置的外部,并且被配置为基于在所述存储器装置的所述命令状态寄存器中存储的所述执行状态信息,确定在所述多个命令寄存器中是否存在空命令寄存器,并且当存在空命令寄存器时,即使所述存储器装置处于正在执行命令的忙碌状态,也将新命令传输至所述存储器装置,
其中,当从所述存储器控制器接收所述新命令时,所述存储器装置将所述新命令存储在所述空命令寄存器中。
2.根据权利要求1所述的存储器系统,其中所述执行状态信息表示所述各个命令寄存器的所述命令是执行-待定、当前正被执行中或执行-完成。
3.根据权利要求2所述的存储器系统,
其中根据所述命令的当前执行状态更新被存储在所述各个命令寄存器中的所述命令的所述执行状态信息,并且
其中当所述命令变为执行-完成时,在所述命令寄存器中存储所述执行-完成命令的相应的一个命令寄存器变为空。
4.根据权利要求2所述的存储器系统,其中所述存储器控制器:当所述多个命令寄存器中的至少一个命令寄存器中存储的命令的执行状态信息为执行-完成时,确定在所述多个命令寄存器中存在所述空命令寄存器。
5.一种存储器系统,所述存储器系统用于存储由主机装置访问的数据,所述存储器系统包括:
存储器装置,其包括存储器单元阵列;以及
存储器控制器,其在所述存储器装置的外部,并且被配置为传输与在所述存储器单元阵列中执行的操作有关的多个命令,
其中所述存储器装置包括:
多个命令寄存器,其被配置为存储从所述存储器控制器接收的所述多个命令;
命令状态寄存器,其被配置为存储被存储在所述命令寄存器中的所述多个命令中的每一个的执行状态信息;以及
控制逻辑,其被配置为将从所述存储器控制器接收的所述多个命令存储在所述命令寄存器中的空命令寄存器中,
其中所述存储器控制器通过检查所述命令状态寄存器中存储的所述执行状态信息来确定在所述命令寄存器中是否存在所述空命令寄存器,并且当存在所述空命令寄存器时,即使所述存储器装置处于正在执行命令的忙碌状态,也将新命令传输至所述存储器装置,并且
其中所述存储器装置的所述控制逻辑将从所述存储器控制器接收的所述新命令存储在所述空命令寄存器中。
6.根据权利要求5所述的存储器系统,其中所述控制逻辑暂停当前处于正被执行的进程中的较低优先级的命令并且当所述存储器控制器将较高优先级的命令传输至所述存储器装置时,执行所述较高优先级的命令。
7.根据权利要求6所述的存储器系统,其中所述存储器装置进一步包括:暂停条件寄存器,其被配置为存储表示用于暂停当前处于正被执行的进程中的命令的条件的寄存器值。
8.根据权利要求7所述的存储器系统,其中所述控制逻辑根据所述暂停条件寄存器的所述寄存器值暂停当前处于正被执行的进程中的所述命令。
9.根据权利要求6所述的存储器系统,其中当处于所述正被执行的进程中的所述命令的暂停计数等于或小于预定的暂停数时,所述控制逻辑暂停当前处于正被执行的进程中的所述命令。
10.根据权利要求5所述的存储器系统,其中所述执行状态信息表示所述各个命令寄存器的所述命令是执行-待定、当前正被执行中或执行-完成。
11.根据权利要求10所述的存储器系统,其中所述命令状态寄存器进一步存储表示所述各个命令寄存器的所述命令是通过或失败的执行结果信息。
12.根据权利要求5所述的存储器系统,其中所述存储器装置进一步包括:多个页面缓冲器,其分别与所述命令寄存器相对应,并且每个被配置为缓存包括存储在相应的命令寄存器中的命令的数据。
13.一种用于存储器系统的操作方法,所述存储器系统用于存储由主机装置访问的数据,所述存储器系统包括:存储器装置,包括存储器单元阵列、多个命令寄存器和命令状态寄存器,所述命令状态寄存器被配置为存储所述命令寄存器中存储的多个命令中的每一个的执行状态信息;以及存储器控制器,在所述存储器装置的外部,并且传输与在所述存储器单元阵列中执行的操作有关的多个命令,所述操作方法包括:
由所述存储器控制器基于存储在所述存储器装置的所述命令状态寄存器中的所述执行状态信息,确定在所述多个命令寄存器中是否存在空命令寄存器;
由所述存储器控制器,当存在空命令寄存器时,即使所述存储器装置处于正在执行命令的忙碌状态,也将新命令传输至所述存储器装置;以及
由所述存储器装置将所接收的命令存储在所述空命令寄存器中。
14.根据权利要求13所述的方法,其中确定是否存在空命令寄存器包括:通过检查存储在所述多个命令寄存器中的所述多个命令中的每一个的执行状态信息来确定是否存在完成执行的命令。
15.根据权利要求13所述的方法,其进一步包括:
以接收所述命令的顺序获取并且执行被存储在所述多个命令寄存器中的所述命令;
确定是否接收到比当前处于正被执行的进程中的命令更高优先级的命令;
当传输更高优先级的所述命令时,暂停当前处于正被执行的进程中的所述命令,并且执行更高优先级的所述命令;以及
当完成更高优先级的所述命令的执行时,恢复所述暂停的命令。
16.根据权利要求15所述的方法,其中当前处于正被执行的进程中的所述命令的所述暂停包括:
比较当前处于正被执行的进程中的所述命令的暂停计数与预定的暂停计数;以及
在当前处于正被执行的进程中的所述命令的所述暂停计数等于或小于所述预定的暂停计数时,暂停当前处于正被执行的进程中的所述命令。
17.根据权利要求15所述的方法,其中根据通过所述存储器控制器预先设置的暂停条件来执行暂停当前处于正被执行的进程中的所述命令。
18.根据权利要求13所述的方法,其进一步包括:
以传输所述命令的顺序获取并且执行被存储在所述多个命令寄存器中的所述命令;
通过检查所述多个命令寄存器确定是否存在比当前处于正被执行的进程中的命令更高优先级的命令;
当存在所述更高优先级的命令时,暂停当前处于正被执行的进程中的所述命令,并且执行更高优先级的所述命令;以及
当完成更高优先级的所述命令的执行时,恢复所述暂停的命令。
19.根据权利要求18所述的方法,其中当前处于正被执行的进程中的所述命令的所述暂停包括:
比较当前处于正被执行的进程中的所述命令的暂停计数与预定的暂停计数;以及
在当前处于正被执行的进程中的所述命令的所述暂停计数等于或小于所述预定的暂停计数时,暂停当前处于正被执行的进程中的所述命令。
20.一种存储器系统,其包括:
存储器装置,其包括用于存储被提供的命令的多个命令寄存器,并且适于执行被存储的命令;和
存储器控制器,其适于通过将所述命令提供给所述存储器装置来控制所述存储器装置,
其中当被存储的命令中的一个或多个被执行完成时,存储器控制器即使所述存储器装置忙于正在执行命令,也向所述存储器装置提供新的命令,
其中所述存储器装置将所述新的命令存储在与被执行完成的命令对应的所述命令寄存器中的一个中。
21.根据权利要求20所述的存储器系统,
其中所述存储器装置还包括用于存储被存储的命令的执行状态的命令状态寄存器,
其中所述存储器装置至少在被存储的命令的一个或多个被执行完成时更新所述执行状态。
22.根据权利要求21所述的存储器系统,其中所述存储器控制器根据所述执行状态确定是否提供所述新的命令。
23.根据权利要求22所述的存储器系统,其中所述存储器装置以优先级的顺序执行被存储的命令。
24.根据权利要求23所述的存储器系统,其中所述存储器装置暂停被存储的命令中处于正被执行的进程并且具有较低优先级的命令,并执行具有较高优先级的另一命令。
25.一种用于操作存储器系统的方法,所述存储器系统包括存储器装置和存储器控制器,所述方法包括:
由所述存储器控制器向存储器装置提供命令;
由所述存储器装置将提供的命令存储在所述存储器装置的命令寄存器中;以及
由所述存储器装置执行被存储的命令,
其中,当被存储的命令中的一个或多个命令被执行完成时,即使所述存储器装置忙于正在执行命令,也向所述存储器装置提供新的命令,
其中所述新的命令被存储在与被执行完成的命令对应的所述命令寄存器中的一个中。
26.根据权利要求25所述的方法,其进一步包括:
存储被存储的命令的执行状态;和
至少当被存储的命令的一个或多个被执行完成时更新所述执行状态。
27.根据权利要求26所述的方法,其中提供所述命令的包括由所述存储器控制器根据所述执行状态来确定是否提供所述新的命令。
28.根据权利要求27所述的方法,其中被存储的命令按优先级顺序被执行。
29.根据权利要求28所述的方法,其中被存储的命令的执行包括:
由所述存储器装置暂停被存储的命令中处于正被执行进程中并且具有较低优先级的命令,
由所述存储器装置执行被存储的命令中具有较高优先级的另一命令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160091120A KR102648180B1 (ko) | 2016-07-19 | 2016-07-19 | 메모리 시스템 및 그 동작 방법 |
KR10-2016-0091120 | 2016-07-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107633862A CN107633862A (zh) | 2018-01-26 |
CN107633862B true CN107633862B (zh) | 2021-06-18 |
Family
ID=60988533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710036220.3A Active CN107633862B (zh) | 2016-07-19 | 2017-01-17 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10445017B2 (zh) |
KR (1) | KR102648180B1 (zh) |
CN (1) | CN107633862B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102386811B1 (ko) * | 2017-07-18 | 2022-04-15 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102631353B1 (ko) * | 2017-08-17 | 2024-01-31 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 이의 동작 방법 |
CN108595118A (zh) * | 2018-03-29 | 2018-09-28 | 深圳忆联信息系统有限公司 | 一种提升固态硬盘稳态性能的方法 |
CN109407991B (zh) * | 2018-10-22 | 2022-06-07 | 湖南国科微电子股份有限公司 | 一种非易失性闪存执行命令的暂停及恢复方法、非易失性闪存及电子设备 |
KR20210106119A (ko) | 2020-02-20 | 2021-08-30 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
JP2021149548A (ja) * | 2020-03-19 | 2021-09-27 | キオクシア株式会社 | 記憶装置及び方法 |
US11907574B2 (en) * | 2020-12-30 | 2024-02-20 | Micron Technology, Inc. | Memory devices for suspend and resume operations |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744063A (zh) * | 2004-08-30 | 2006-03-08 | 松下电器产业株式会社 | 资源管理装置 |
CN101526895A (zh) * | 2009-01-22 | 2009-09-09 | 杭州中天微系统有限公司 | 基于指令双发射的高性能低功耗嵌入式处理器 |
CN102968289A (zh) * | 2011-08-30 | 2013-03-13 | 苹果公司 | 用于外围组件的高优先级命令队列 |
CN103092785A (zh) * | 2013-02-08 | 2013-05-08 | 豪威科技(上海)有限公司 | Ddr2 sdram控制器 |
WO2015149836A1 (en) * | 2014-03-31 | 2015-10-08 | Irdeto B.V. | Cryptographic chip and related methods |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH052484A (ja) * | 1991-06-24 | 1993-01-08 | Mitsubishi Electric Corp | スーパースカラプロセツサ |
US6065093A (en) | 1998-05-15 | 2000-05-16 | International Business Machines Corporation | High bandwidth narrow I/O memory device with command stacking |
US6978459B1 (en) * | 2001-04-13 | 2005-12-20 | The United States Of America As Represented By The Secretary Of The Navy | System and method for processing overlapping tasks in a programmable network processor environment |
US6871257B2 (en) * | 2002-02-22 | 2005-03-22 | Sandisk Corporation | Pipelined parallel programming operation in a non-volatile memory system |
US7321369B2 (en) * | 2002-08-30 | 2008-01-22 | Intel Corporation | Method and apparatus for synchronizing processing of multiple asynchronous client queues on a graphics controller device |
JP2006512657A (ja) * | 2002-12-30 | 2006-04-13 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | メモリ・コントローラおよびメモリに書き込む方法 |
US7339893B2 (en) * | 2003-03-18 | 2008-03-04 | Cisco Technology, Inc. | Pre-empting low-priority traffic with high-priority traffic on a dedicated link |
JP2006099731A (ja) * | 2004-08-30 | 2006-04-13 | Matsushita Electric Ind Co Ltd | リソース管理装置 |
US7797468B2 (en) * | 2006-10-31 | 2010-09-14 | Hewlett-Packard Development Company | Method and system for achieving fair command processing in storage systems that implement command-associated priority queuing |
US8463959B2 (en) * | 2010-05-31 | 2013-06-11 | Mosaid Technologies Incorporated | High-speed interface for daisy-chained devices |
US20110321052A1 (en) * | 2010-06-23 | 2011-12-29 | International Business Machines Corporation | Mutli-priority command processing among microcontrollers |
KR20140031515A (ko) * | 2012-09-03 | 2014-03-13 | 삼성전자주식회사 | 메모리 컨트롤러 및 상기 메모리 컨트롤러를 포함하는 전자장치 |
IN2013CH01467A (zh) * | 2013-04-01 | 2015-10-02 | Sanovi Technologies Pvt Ltd | |
TWI493455B (zh) * | 2013-07-02 | 2015-07-21 | Phison Electronics Corp | 命令佇列管理方法、記憶體控制器及記憶體儲存裝置 |
KR20170037705A (ko) * | 2015-09-25 | 2017-04-05 | 삼성전자주식회사 | 입력 신호들을 랭크별로 제어하는 메모리 버퍼를 갖는 메모리 모듈 |
KR102615659B1 (ko) * | 2016-07-08 | 2023-12-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
-
2016
- 2016-07-19 KR KR1020160091120A patent/KR102648180B1/ko active IP Right Grant
- 2016-12-22 US US15/387,873 patent/US10445017B2/en active Active
-
2017
- 2017-01-17 CN CN201710036220.3A patent/CN107633862B/zh active Active
-
2019
- 2019-08-30 US US16/557,410 patent/US20190384534A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744063A (zh) * | 2004-08-30 | 2006-03-08 | 松下电器产业株式会社 | 资源管理装置 |
CN101526895A (zh) * | 2009-01-22 | 2009-09-09 | 杭州中天微系统有限公司 | 基于指令双发射的高性能低功耗嵌入式处理器 |
CN102968289A (zh) * | 2011-08-30 | 2013-03-13 | 苹果公司 | 用于外围组件的高优先级命令队列 |
CN103092785A (zh) * | 2013-02-08 | 2013-05-08 | 豪威科技(上海)有限公司 | Ddr2 sdram控制器 |
WO2015149836A1 (en) * | 2014-03-31 | 2015-10-08 | Irdeto B.V. | Cryptographic chip and related methods |
Also Published As
Publication number | Publication date |
---|---|
US20190384534A1 (en) | 2019-12-19 |
KR102648180B1 (ko) | 2024-03-18 |
KR20180009463A (ko) | 2018-01-29 |
US10445017B2 (en) | 2019-10-15 |
US20180024774A1 (en) | 2018-01-25 |
CN107633862A (zh) | 2018-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11488648B2 (en) | Data storage device and operating method thereof | |
CN107633862B (zh) | 存储器系统及其操作方法 | |
US10509602B2 (en) | Data storage device and operating method thereof | |
US9659638B1 (en) | Data storage device and the operating method thereof | |
US10748626B2 (en) | Data storage device and operating method thereof | |
US10877697B2 (en) | Data storage device and operating method thereof | |
US11275678B2 (en) | Data storage device with spare blocks for replacing bad block in super block and operating method thereof | |
US10902928B2 (en) | Memory system, operation method thereof, and nonvolatile memory device | |
KR102474035B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20170277473A1 (en) | Data processing system and operating method thereof | |
CN107066201B (zh) | 数据存储装置及其方法 | |
US10810118B2 (en) | Data storage device and operating method thereof | |
US11231882B2 (en) | Data storage device with improved read performance and operating method thereof | |
US11263126B2 (en) | Data storage device and operating method thereof | |
US11003395B2 (en) | Controller, memory system, and operating methods thereof | |
CN107301872B (zh) | 半导体存储器装置的操作方法 | |
US11194512B2 (en) | Data storage device which selectively performs a cache read or a normal read operation depending on work load and operating method thereof | |
US20200409848A1 (en) | Controller, memory system, and operating methods thereof | |
US20190179744A1 (en) | Memory system and operating method thereof | |
US10572155B2 (en) | Data storage device and operating method thereof | |
US11537514B2 (en) | Data storage device and operating method thereof | |
US20240028204A1 (en) | Memory controller and method of operating the same | |
US20200117390A1 (en) | Data storage device and operating method thereof | |
US20210004325A1 (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 |