CN110308866B - 存储器***及其操作方法 - Google Patents
存储器***及其操作方法 Download PDFInfo
- Publication number
- CN110308866B CN110308866B CN201811532775.8A CN201811532775A CN110308866B CN 110308866 B CN110308866 B CN 110308866B CN 201811532775 A CN201811532775 A CN 201811532775A CN 110308866 B CN110308866 B CN 110308866B
- Authority
- CN
- China
- Prior art keywords
- memory
- exclusive mode
- controller
- information
- host
- 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 628
- 238000000034 method Methods 0.000 title claims description 63
- 238000012545 processing Methods 0.000 claims abstract description 115
- 238000004364 calculation method Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims description 47
- 230000004044 response Effects 0.000 claims description 37
- 238000011017 operating method Methods 0.000 claims 3
- 238000001514 detection method Methods 0.000 claims 1
- 238000007689 inspection Methods 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 21
- 238000010586 diagram Methods 0.000 description 18
- 238000012937 correction Methods 0.000 description 13
- 238000007726 management method Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 4
- 230000003936 working memory Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000010926 purge Methods 0.000 description 2
- 230000003068 static effect Effects 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
- 238000013523 data management Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000011084 recovery Methods 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
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- 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
- 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/1689—Synchronisation and timing concerns
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- 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/31—Providing disk cache in a specific location of a storage system
- G06F2212/312—In storage controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种存储器***,该存储器***可包括:非易失性存储器;易失性存储器;以及控制器,该控制器适于在自动独占模式的开始时段中针对从主机传输的每一个预设大小的写入数据而重复地进入和退出自动独占模式,并且在自动独占模式的进入时段期间分配易失性存储器,以独占地用于对非易失性存储器执行合并操作,控制器可包括用于存储从主机传输的多个命令的命令队列,可在自动独占模式的开始时段中使用预设操作来计算存储在命令队列中的命令之中写入命令的处理时间和自动独占模式的进入时段的进入时间,并且可根据计算结果来调度存储在命令队列中的命令的处理顺序。
Description
相关申请的交叉引用
本申请要求于2018年3月20日提交的申请号为10-2018-0031941的韩国专利申请的优先权,其公开全文通过引用并入本文。
技术领域
本发明的各个实施例总体涉及一种存储器***。特别地,实施例涉及一种支持合并操作和命令调度操作的存储器***及其操作方法。
背景技术
计算机环境范例已经转变至允许在任何时间和任何地点使用计算***的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有用于存储数据的一个或多个存储器装置的存储器***。存储器***可用作便携式电子装置的主存储装置或辅助存储装置。
与硬盘驱动器相比,因为该存储器***不具有移动部件(例如,具有读取/写入磁头的机械臂),所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的存储器***的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
各个实施例涉及一种存储器***及其操作方法,该存储器***能够提高或最大化合并操作的性能,并且避免在合并操作期间从主机请求的正常命令的超时。
在实施例中,存储器***可包括:非易失性存储器,包括多个存储块,存储块中的每一个都具有多个页面;易失性存储器,适于临时存储在主机与非易失性存储器之间传输的数据;以及控制器,适于在自动独占模式的开始时段中针对从主机传输的每一个预设大小的写入数据而重复地进入和退出自动独占模式,并且在自动独占模式的进入时段期间分配易失性存储器,以独占地用于对非易失性存储器执行合并操作,控制器可包括用于存储从主机传输的多个命令的命令队列,可在自动独占模式的开始时段中使用预设操作来计算存储在命令队列中的命令之中写入命令的处理时间和自动独占模式的进入时段的进入时间,并且可根据计算结果来调度存储在命令队列中的命令的处理顺序。
控制器可响应于通过检查非易失性存储器的状态而获得的结果来选择是否开始或结束自动独占模式,当在自动独占模式的开始时段中的自动独占模式的退出时段,与存储在命令队列中的写入命令相对应的写入数据以预设大小写入非易失性存储器时,可进入自动独占模式,并且可在从自动独占模式的进入点开始经过预设时间时的时间点退出自动独占模式。
存储器***可进一步包括信息存储器,其适于存储与自动独占模式的开始和结束状态相关的第一信息、与自动独占模式的进入和退出状态以及预设大小相关的第二信息以及与预设时间相关的第三信息。
控制器可包括:主机控制器,包括命令队列,并且适于处理主机与主机控制器之间的操作;存储器控制器,联接到主机控制器,并且适于处理非易失性存储器和存储器控制器之间的操作,并且主机控制器可在自动独占模式的开始时段中使用预设操作来计算处理时间和进入时间,然后可根据计算结果来调度存储在命令队列中的命令的处理顺序。
主机控制器可检查信息存储器的第一至第三信息,在通过检查结果识别的自动独占模式的开始时段中,主机控制器可将通过检查结果识别的预设大小和与存储在命令队列中的写入命令相对应的写入数据的整体大小进行比较,可根据比较结果计算处理存储在命令队列中的写入命令所需的进入和退出自动独占模式的数量以作为处理数量,并且可通过将处理数量乘以将预设大小的写入数据写入到非易失性存储器所需的时间来计算处理时间。
主机控制器可检查信息存储器的第一至第三信息,在通过检查结果识别的自动独占模式的开始时段中,主机控制器可通过将通过检查结果识别的预设时间乘以处理数量来计算进入时间。
主机控制器可检查信息存储器的第一至第三信息,在通过检查结果识别的自动独占模式的开始时段,主机控制器可通过将处理时间和进入时间相加来计算写入时间,可通过从存储在命令队列中的写入命令的超时时间中减去写入时间来计算存储在命令队列中的命令之中除写入命令之外的其它命令的可用处理时间,可优先处理存储在命令队列中的其它命令直至可用处理时间,并且然后可优先处理存储在命令队列中的写入命令。
主机控制器可检查信息存储器的第一至第三信息,可响应于通过检查结果识别的进入自动独占模式来通知主机存储器***被切换到忙碌状态,并且可响应于通过检查结果识别的退出自动独占模式来通知主机存储器***被切换到就绪状态。
存储器控制器可响应于通过检查非易失性存储器的状态获得的结果,通过调整信息存储器的第一至第三信息来调整与是否开始或结束自动独占模式以及自动独占模式的进入点或退出点相关的信息。
存储器控制器可检查信息存储器的第一至第三信息,可在通过检查结果识别的自动独占模式的开始时段中的自动独占模式的退出时段,根据主机控制器的请求将写入数据写入非易失性存储器;可在与通过检查结果识别的预设大小相对应的写入数据被写入到非易失性存储器时,通过调整信息存储器的第二信息来进入自动独占模式;以及可在从自动独占模式的进入点开始已经经过了通过检查结果识别的预设时间时的时间点通过调整信息存储器的第二信息而退出自动独占模式。
在实施例中,一种存储器***的操作方法,该存储器***包括:非易失性存储器,包括多个块,块中的每一个具有多个页面;易失性存储器,用于临时存储在主机与非易失性存储器之间传输的数据;以及命令队列,用于存储从主机传输的多个命令,该操作方法可包括:在自动独占模式的开始时段,针对从主机传输并写入非易失性存储器的每一个预设大小的写入数据,重复地进入和退出自动独占模式;在自动独占模式的进入时段期间独占地使用易失性存储器以对非易失性存储器执行合并操作;并且在自动独占模式的开始时段中使用预设操作,计算存储在命令队列中的命令之中写入命令的处理时间和自动独占模式的进入时段的进入时间,并且然后根据计算结果来调度存储在命令队列中的命令的处理顺序。
重复地进入自动独占模式可包括:响应于通过检查非易失性存储器的状态而获得的结果来选择是否开始或结束自动独占模式,当在自动独占模式的开始时段中的自动独占模式的退出时段,与存储在命令队列中的写入命令相对应的写入数据以预设大小写入非易失性存储器时,进入自动独占模式,并且在从自动独占模式的进入点开始已经经过预设时间的时间点退出自动独占模式。
存储器***可进一步包括信息存储器,其适于存储与自动独占模式的开始和结束状态相关的第一信息、与自动独占模式的进入和退出状态以及预设大小相关的第二信息以及与预设时间相关的第三信息。
该存储器***可进一步包括:主机控制器,适于处理主机与主机控制器之间的操作;以及存储器控制器,联接到主机控制器,并且适于处理非易失性存储器与存储器控制器之间的操作,并且该操作处理步骤可包括:在自动独占模式的开始时段中通过主机控制器使用预设操作来计算处理时间和进入时间,并且根据计算结果来调度存储在命令队列中的命令的处理顺序。
计算处理时间可包括第一检查步骤,其中主机控制器检查信息存储器的第一至第三信息,当通过第一检查步骤检查到主机控制器处于自动独占模式的开始时段时,计算处理时间可进一步包括:第一比较步骤,其中主机控制器将通过第一检查步骤识别的预设大小和与存储在命令队列中的写入命令相对应的写入数据的整体大小进行比较;第一计算步骤,其中主机控制器根据第一比较步骤的结果,计算处理存储在命令队列中的写入命令所需的进入和退出自动独占模式的数量以作为处理数量;以及第二计算步骤,其中主机控制器通过将处理数量乘以将预设大小的写入数据写入到非易失性存储器中所需的时间来计算处理时间。
计算处理时间可进一步包括第三计算步骤,其中当通过第一检查步骤检查到主机控制器处于自动独占模式的开始时段时,主机控制器通过将通过第一检查步骤识别的预设时间乘以处理数量来计算进入时间。
计算处理时间可包括:第四计算步骤,其中当在第一检查步骤中检查到主机控制器处于自动独占模式的开始时段时,主机控制器通过将处理时间和进入时间相加来计算写入时间;第五计算步骤,其中主机控制器通过从存储在命令队列中的写入命令的超时时间减去写入时间来计算存储在命令队列中的命令之中除写入命令之外的其它命令的可用处理时间;以及处理步骤,其中主机控制器优先处理存储在命令队列中的其它命令直至可用处理时间,然后优先处理存储在命令队列中的写入命令。
重复地进入自动独占模式可包括:第二检查步骤,其中主机控制器检查信息存储器的第一至第三信息;第一通知步骤,其中主机控制器响应于通过第二检查步骤识别的进入自动独占模式,通知主机存储器***切换到忙碌状态;以及第二通知步骤,其中主机控制器响应于通过第二检查步骤识别的退出自动独占模式,通知主机存储器***切换到就绪状态。
重复地进入自动独占模式可包括:第三检查步骤,其中存储器控制器检查非易失性存储器的状态;以及调整步骤,其中存储器控制器响应于第三检查步骤的结果,通过调整信息存储器的第一至第三信息来调整与是否开始或结束自动独占模式以及自动独占模式的进入点和退出点相关的信息。
重复地进入自动独占模式可进一步包括第四检查步骤,其中存储器控制器检查信息存储器的第一至第三信息,进入步骤可包括:在通过第四检查步骤的结果识别的自动独占模式的开始时段中的自动独占模式的退出时段,存储器控制器根据从主机控制器传输到存储器控制器的写入请求,将写入数据写入非易失性存储器;并且当存储器控制器将与通过第四检查步骤的结果识别的预设大小相对应的写入数据写入非易失性存储器时,存储器控制器通过调整信息存储器的第二信息而进入自动独占模式,并且在退出步骤中,存储器控制器可在从自动独占模式的进入点开始已经经过了通过第四检查步骤的结果所识别的预设时间的时间点通过调整信息存储器的第二信息而退出自动独占模式。
在实施例中,存储器***可包括:非易失性存储器,包括多个存储块,存储块中的每一个具有多个页面;易失性存储器,适于临时存储在主机与非易失性存储器之间传输的数据;以及控制器,包括用于存储从主机输入的多个命令的命令队列、用于在自动独占模式的进入时段期间执行合并操作的易失性存储器、以及用于重新调度存储在命令队列中的多个命令的处理顺序的至少一个缓冲器,控制器可适于将从主机输入的写入数据存储到易失性存储器中,以预设大小对写入数据进行划分,针对每一个预设大小的写入数据执行和停止自动独占模式。
附图说明
根据参照附图的以下具体实施方式,本发明的这些和其它特征及优点对于本发明所属领域的技术人员将变得显而易见,其中:
图1是示出根据本发明的实施例的包括存储器***的数据处理***的框图;
图2是示出图1所示的存储器***中采用的存储器装置的配置的示意图;
图3是示出图2所示的存储器装置中的存储块的存储器单元阵列的配置的电路图;
图4是示出图2所示的存储器装置的三维(3D)结构的示意图;
图5至图7是描述根据实施例的存储器***的示图;并且
图8至图16是示意性地示出根据本发明的实施例的图1所示的数据处理***的应用示例的示图。
具体实施方式
以下参照附图更详细地描述本发明的各个实施例。然而,注意的是,本发明可以在不同的其它实施例、形式和变化中实施,并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完全的,并且将向本发明所属领域的技术人员完全传达本发明。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。应当注意的是,对“实施例”的参考不一定意味着仅针对一个实施例,并且对“实施例”的不同参考不一定针对相同的实施例。
将理解的是,虽然术语“第一”、“第二”、“第三”等可在本文使用以描述各种元件,但是这些元件不受这些术语限制。这些术语被用于区分一个元件与另一元件。因此,在不脱离本发明的精神和范围的情况下,以下描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,可能已经夸大了比例。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在一个或多个中间元件。
本文使用的术语仅是为了描述特定实施例,并不旨在限制本发明。如本文使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式,反之亦然。将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。
除非另有限定,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中限定的那些术语的术语应被理解为具有与它们在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地限定。
在以下描述中,为了提供本发明的彻底理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了避免不必要地模糊本发明,未详细地描述公知的进程结构和/或进程。
也应注意的是,在一些情况下,对相关领域的技术人员显而易见的是,结合一个实施例描述的特征或元件可单独使用或与另一实施例的其它特征或元件结合使用,除非另有明确说明。
在下文中,将参照附图详细描述本发明的各个实施例。
图1是示出根据本发明的实施例的包括存储器***110的数据处理***100的框图。
参照图1,数据处理***100可包括主机102和存储器***110。
主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、TV和投影仪的非便携式电子装置。
存储器***110可响应于主机102的请求来操作以存储用于主机102的数据。存储器***110的非限制性示例可包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用串行总线(USB)装置、通用闪速存储(UFS)装置、标准闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可包括嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和微型-MMC。SD卡可包括迷你-SD卡和微型-SD卡。
存储器***110可由各种类型的存储装置来体现。包括在存储器***110的存储装置的非限制性示例可包括诸如DRAM动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置或诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器的非易失性存储器装置。闪速存储器可具有3维(3D)堆叠结构。
存储器***110可包括存储器装置150和控制器130。存储器装置150可存储用于主机120的数据。控制器130可控制到存储器装置150中的存储数据。
控制器130和存储器装置150可以被集成到单个半导体装置中,其可以被包括在如上所例示的各种类型的存储器***中。
存储器***110的非限制性应用示例可包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航***、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、建立数据中心的存储装置、能够在无线环境下传输/接收信息的装置、建立家庭网络的各种电子装置中的一个、建立计算机网络的各种电子装置中的一个、建立远程信息处理的各种电子装置中的一个、射频识别(RFID)装置或建立计算***的各种部件中的一个。
存储器装置150可以是非易失性存储器装置,并且即使不供给电力也可以保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据。存储器装置150可通过读取操作将存储在其中的数据提供给主机102。存储器装置150可包括多个存储器管芯(未示出),每个存储器管芯包括多个平面(未示出),每个平面包括多个存储块152至156。存储块152至156的每一个可包括多个页面。页面中的每一个可包括联接到字线的多个存储器单元。
控制器130可响应于来自主机102的请求来控制存储器装置150。作为示例而非限制,控制器130可将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器装置150中。对于该操作,控制器130可控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。
控制器130可包括主机接口(I/F)132、处理器134、错误校正码(ECC)部件138、电源管理单元(PMU)140、诸如NAND闪存控制器(NFC)的存储器接口142以及存储器144。部件中的每一个都经由内部总线彼此电联接或接合。
主机接口132可被配置成处理主机102的命令和数据,并可通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速***组件互连(PCI-e或PCIe)、小型计算机***接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
ECC部件138可检测并且校正从存储器装置150读取的数据中包含的错误。换言之,ECC部件138可通过在ECC编码进程期间使用的ECC代码对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ECC部件138可以输出信号,例如错误校正成功或失败信号。当错误位的数量大于可校正错误位的阈值时,ECC部件138不能校正错误位,以致于输出错误校正失败信号。
ECC部件138可通过诸如低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归***码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)等的编码调制执行错误校正操作。然而,ECC部件138不限于此。ECC部件138可包括用于错误校正的所有电路、模块、***或装置。
PMU 140可管理在控制器130中使用和提供的电源。
存储器接口142可用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体地是NAND闪速存储器时,存储器接口142可生成用于存储器装置150的控制信号,以通过处理器134来处理输入到存储器装置150中的数据。存储器接口142可用作用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,存储器接口142可支持控制器130和存储器装置150之间的数据传输。
存储器144可用作存储器***110和控制器130的工作存储器。存储器144可存储支持存储器***110和控制器130的操作的数据。控制器130可响应于来自主机102的请求来控制存储器装置150执行读取操作、写入操作、编程操作和擦除操作。控制器130可将从存储器装置150读取的数据提供给主机102并可将从主机102提供的数据存储到存储器装置150中。存储器144可存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可由易失性存储器来实施。作为示例而非限制,存储器144可由静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。存储器144可被设置在控制器130的内部或外部。图1描述了存储器144设置在控制器130的内部的示例。在另一实施例中,存储器144可由具有在存储器144和控制器130之间传输数据的存储器接口142的外部易失性存储器实施。
处理器134可控制存储器***110的全部操作。处理器134可使用固件以控制存储器***110的全部操作。固件可被称为闪存转换层(FTL)。
控制器130的处理器134可包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可执行检查包括在存储器装置150中的多个存储块152至156之中的坏块的坏块管理操作。坏块可包括在编程操作期间由于NAND闪速存储器的特征而发生编程失败的块。管理单元可将坏块的编程失败的数据写入新存储块。在具有3D堆叠结构的存储器装置150中,坏块管理操作可能降低存储器装置150的使用效率和存储器***110的可靠性。因此,坏块管理操作需要被更可靠地执行。
图2是示出图1所示的存储器装置150的框图。
参照图2,存储器装置150可包括多个存储块BLOCK0至BLOCKN-1,并且块BLOCK0到BLOCKN-1中的每一个可包括多个页面,例如2M个页面,其数量可根据电路设计而变化。包括在各个存储块0至N-1中的存储器单元可以是存储1位数据的单层单元(SLC)或存储2位或更多位数据的多层单元(MLC)中的一个或多个。在实施例中,存储器装置150可包括多个三层单元(TLC),每个三层单元存储3位数据。在另一实施例中,存储器装置可包括多个四层单元(QLC),每个四层单元存储4位数据。
图3是示出存储器装置150中的存储块的存储器单元阵列的配置的电路图。
参照图3,可对应于包括在存储器***110的存储器装置150中的多个存储块152至156中的任意一个的存储块330可包括联接到多个相应位线BL0至BLm-1的多个单元串340。每个列的单元串340可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在漏极选择晶体管DST和源极选择晶体管SST之间,多个存储器单元MC0至MCn-1可串联联接。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可由能够存储多个位的数据信息的MLC来实施。单元串340中的每一个可以电联接到多个位线BL0至BLm-1中的相应位线。例如,如图3所示,第一单元串联接到第一位线BL0,并且最后单元串联接到最后位线BLm-1。作为参考,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,“CSL”表示共公源极线。多个字线WL0至WLn-1可串联联接在选择源极线SSL和漏极源极线DSL之间。
虽然图3示出NAND闪速存储器单元,但是本发明不限于此方式。应注意的是,存储器单元可以是NOR闪速存储器单元,或者包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。并且,应当注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置或包括作为电荷存储层的的绝缘层的电荷撷取闪速(CTF)存储器。
存储器装置150可进一步包括提供字线电压的电压供给310,字线电压包括根据操作模式供应至字线的编程电压、读取电压和通过电压。电压供给310的电压产生操作可由控制电路(未示出)来控制。在控制电路的控制下,电压供给310可选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线中的一个,并且按需要将字线电压提供给所选择的字线和未选择的字线。
存储器装置150可包括由控制电路控制的读取和写入(读取/写入)电路320。在验证/正常读取操作期间,读取/写入电路320可以用作用于从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可根据待存储在存储器单元阵列中的数据用作用于驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收待存储到存储器单元阵列中的数据并且根据接收的数据来将电流或电压提供给位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326。页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。
图4是示出图1至图3所示的存储器装置150的三维(3D)结构的示意图。
存储器150可由二维(2D)或3D存储器装置来实施。具体地,如图4所示,存储器装置150可由具有3D堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3D结构时,存储器装置150可包括多个存储块BLK0至BLKN-1,其各自具有3D结构(或竖直结构)。多个存储块BLK0至BLKN-1可对应于图2所示的存储块BLOCK0至BLOCKN-1。
在下文中,将参照图5至图8详细描述根据实施例的存储器***中的关于存储器装置150的数据处理,特别是,在执行与从主机102接收的命令相对应的命令操作时的数据处理操作和数据管理操作。
图5至图7是描述根据实施例的存储器***110的操作的示图。
图5至图7示出了参照图1所示的数据处理***100的配置而包括主机102和存储器***110的数据处理***100的配置。
如参照图1所述,存储器***110可包括控制器130和非易失性存储器150。
控制器130可包括处理器134、易失性存储器144和信息存储器530。处理器134可包括主机控制器510和存储器控制器520。主机控制器510可包括命令队列512。
非易失性存储器150可包括多个存储块BLOCK<1:6>。多个存储块<1:6>可对应于图1中描述的存储块152至156。此时,如参照图2所述,存储块BLOCK<1:6>中的每一个可包括多个页面。
虽然图5至图7示出了存储器***110仅包括一个非易失性存储器150,但本发明不限于此。也就是说,为了便于描述,这种配置仅仅是示例,并且存储器***110中可包括更多数量的非易失性存储器。此外,虽然图5至图7示出了非易失性存储器150包括六个存储块BLOCK<1:6>,但本发明不限于此。也就是说,为了便于描述,这种配置仅仅是示例,并且可根据设计来改变非易失性存储器150中包括的存储块的数量。
虽然图1示出了控制器130中包括主机接口132、ECC部件138、电源管理单元140和存储器接口142,但图5至图7仅示出了包括在控制器130中的一些部件。然而,为了描述方便,省略了一些部件,但实际上控制器130可包括这些部件。
易失性存储器144可临时存储在主机102与非易失性存储器150之间传输的数据。此时,易失性存储器144可对应于参照图1描述的存储器144。虽然图5示出了易失性存储器144被包括在控制器130中,但本发明不限于此。也就是说,在存储器***110中,易失性存储器144可被安装在控制器130的外部。
在操作1301中,控制器130可响应于通过检查非易失性存储器150的状态而获得的结果来选择是否开始/结束自动独占模式。此处,自动独占模式可支持:控制器130可临时暂停(suspend)或停止(halt)执行从主机102输入的针对存储器***110中的内部操作的请求。
当作为操作1301的结果开始自动独占模式时,即在自动独占模式的开始时段期间,在操作1302中,控制器130可针对从主机102传输的每一个预设大小的写入数据而重复地进入/退出自动独占模式。控制器130可以预设或预定大小来划分写入数据。
具体地,在通过操作1301的自动独占模式的开始时段中的自动独占模式的退出时段,当从主机102传输的写入数据以预设大小写入非易失性存储器150时,在操作1306中,操作1302中的控制器130可从跳出状态重新进入自动独占模式,其中在跳出状态中,控制器130在随后将描述的操作1307中退出自动独占模式。
在操作1307中,操作1302中的控制器130可在从通过操作1301的自动独占模式的开始时段中的自动独占模式的进入点开始经过预设时间时的时间点退出自动独占模式,该自动独占模式的进入点即通过操作1306的自动独占模式的进入点。
控制器130可进一步包括命令队列512,以用于存储从主机102输入的多个命令。在操作1303中,控制器130可将从主机102输入的多个命令存储在命令队列512中。
当在通过操作1301的自动独占模式的开始时段中的自动独占模式的退出时段期间,或者在控制器130通过操作1307退出自动独占模式之后,与从主机102传输并存储在命令队列512中的命令之中的写入命令相对应的写入数据以预设大小被写入非易失性存储器150中时,包括操作1303的操作1306中的控制器130可开始自动独占模式。也就是说,在预设大小的写入数据在跳出状态,即中断(cease)或停止自动独占模式的时段被编程到非易失性存储器150中之后,可重新开始或重新进入自动独占模式。
在操作1304中,控制器130可在通过操作1301的自动独占模式的开始时段中,使用预设操作来计算和/或估计存储在命令队列512中的命令之中的写入命令的处理时间以及自动独占模式的进入时间。
在操作1305中,控制器130可在通过操作1301的自动独占模式的开始时段中,根据操作1304的计算结果来调度存储在命令队列512中的命令的处理顺序。为了重新调度存储在命令队列512中的命令的处理顺序,在实施例中,控制器130可包括至少一个缓冲器(未示出)。
在通过操作1301的自动独占模式的开始时段中通过操作1302的操作1306的自动独占模式的进入时段,控制器130可在操作1308中独占地使用易失性存储器144来对非易失性存储器150执行合并操作。
具体地,控制器130可响应于在通过操作1301的自动独占模式的开始时段中通过操作1302的操作1306进入自动独占模式,将存储在易失性存储器144中的数据清除(flush)到非易失性存储器150中。
在这种情况下,在自动独占模式的进入时段期间,控制器130可独占地使用易失性存储器144的整个区域来执行合并操作。
此时,将存储在易失性存储器144中的数据清除到非易失性存储器150的操作可表示将存储在易失性存储器144中的所有数据都复制并存储到非易失性存储器150的预设区域中。在清除操作之后,不再需要保留易失性存储器144中的所有数据,使得控制器130可丢弃存储在易失性存储器144中的所有数据。然后,控制器130可独占地使用易失性存储器144中被分配用于存储数据的整个区域来执行合并操作。
此外,响应于在通过操作1301的自动独占模式的开始时段中通过操作1302的操作1306进入自动独占模式,控制器130可丢弃存储在易失性存储器144中的数据之中被更新到非易失性存储器150中的数据。
在这种情况下,控制器130可独占地使用易失性存储器144中涵盖比指定给一般合并操作的区域更大的区域,以在自动独占模式的进入时段期间执行合并操作。
如以上参照图1所述,易失性存储器144可用于诸如写入缓冲器/高速缓冲器、读取缓冲器/高速缓冲器和映射缓冲器/高速缓冲器的各种用途。因此,可根据用途将易失性存储器144的内部存储空间划分成各个区域。因此,可预先将易失性存储器144的内部存储区域的一部分指定给合并操作。
此时,响应于通过操作1302的操作1306进入自动独占模式,根据实施例的控制器130可丢弃存储在易失性存储器144的存储空间中未被指定给合并操作的区域中的数据之中的、被更新到非易失性存储器150中的数据。因此,根据实施例的控制器130可独占地使用易失性存储器144中比指定给一般合并操作的区域更大的区域,以在自动独占模式的进入时段期间执行合并操作。
存储在易失性存储器144中的数据之中的、被更新到非易失性存储器150中的数据可表示存储在易失性存储器144中的数据之中的、已经通过诸如检查点的操作而被存储到非易失性存储器150中的数据。因此,控制器130可在自动独占模式的进入时段中丢弃存储在易失性存储器144中的数据之中的、被更新到非易失性存储器150中的数据,然后使用对应的区域进行合并操作。
控制器130可响应于在通过操作1301的自动独占模式的开始时段中通过操作1302的操作1306进入自动独占模式,将存储器***110的状态切换到忙碌状态,并且通知主机102所切换的状态。
因为主机102通过控制器130的操作而识别出存储器***110处于忙碌中,所以控制器130可在通过操作1302的操作1306的自动独占模式的进入或开始时段不接收从主机102输入的诸如读取请求或写入请求的任意请求。
控制器130可响应于在通过操作1301的自动独占模式的开始时段中通过操作1302的操作1307退出自动独占模式,将存储器***110的状态切换到就绪状态,并且通知主机102所切换的状态(即,就绪状态)。
因为主机102通过控制器130的操作而识别出存储器***110处于就绪中,所以控制器130可在通过操作1302的操作1307退出自动独占模式之后接收从主机102输入的诸如读取请求或写入请求的任意请求。
合并操作可包括合并包括在非易失性存储器150中的存储块BLOCK<1:6>之中的两个或更多个牺牲存储块中所包括的有效数据的操作,以及将合并的数据移动到目标存储块的另一操作。
作为示例而非限制,合并操作可包括垃圾收集操作、读取回收操作、损耗均衡操作或映射更新操作。可选地,合并操作可作为垃圾收集操作、读取回收操作、损耗均衡操作或映射更新操作的部分进程。
如上所述,在操作1301中,控制器130可根据通过检查非易失性存储器150的状态而获得的结果来确定是否开始/结束自动独占模式。
此时,检查非易失性存储器150的状态的操作可包括检查包括在非易失性存储器150中的存储块BLOCK<1:6>之中的空闲存储块的比率的操作。
也就是说,为了检查非易失性存储器150的状态,控制器130可检查包括在非易失性存储器150中的存储块BLOCK<1:6>之中的空闲存储块的比率。控制器130可根据检查结果来确定是否开始/结束自动独占模式。
当检查结果指示空闲存储块的比率等于或小于预设比率时,在自动独占模式已经开始的情况下,控制器130可继续保持自动独占模式。在自动独占模式结束的情况下,控制器130可开始自动独占模式。因此,可重复通过操作1302进入/退出自动独占模式。
另一方面,当检查结果指示空闲存储块的比率超过预设比率时,在自动独占模式已经开始的情况下,控制器130可结束自动独占模式。在自动独占模式结束的情况下,控制器130还可保持自动独占模式的结束状态。因此,可不重复通过操作1302进入/退出自动独占模式。
在实施例中,检查包括在非易失性存储器150中的存储块BLOCK<1:6>之中的空闲存储块的比率的操作可被示例为检查非易失性存储器150的状态的操作。然而,这仅仅是示例,并且可通过另一种方法来检查非易失性存储器150的状态。
信息存储器530可存储与控制器130的操作1301相对应的第一信息以及与控制器130的操作1302相对应的第二和第三信息。
第一信息可包括指示通过控制器130的操作1301是否开始或结束自动独占模式的信息。
第二信息可包括与用作操作1302的操作1306中自动独占模式的进入条件的“预设大小”相关的信息,以及指示控制器130是否通过操作1302进入或退出自动独占模式的信息。
第三信息可包括与自动独占模式的“预设时间”相关的信息,该信息指示关于通过控制器130的操作1301开始的自动独占模式,在通过操作1302的操作1306进入自动独占模式之后,控制器130将在哪个点通过操作1302的操作1307退出自动独占模式。
此时,控制器130可通过参考存储在信息存储器530中的第一至第三信息来控制操作1301和1302。
也就是说,控制器130可检查存储在信息存储器530中的第一至第三信息,当在通过操作1301的自动独占模式的开始时段通过操作1302的操作1306将预设大小的写入数据从主机102传输并写入到非易失性存储器150时,进入自动独占模式,并且在从自动独占模式的进入点开始经过预设时间的时间点,通过操作1302的操作1307退出自动独占模式,其中可通过检查结果来识别该自动独占模式的开始时段。
具体地,控制器130可通过参考存储在信息存储器530中的第一信息来检查是否已经开始了自动独占模式。
当检查结果指示自动独占模式未开始或自动独占模式结束时,控制器130可执行操作1301以选择是否开始自动独占模式。另一方面,控制器130可执行操作1301以继续保持自动独占模式的结束状态。
当检查结果指示示自动独占模式已开始时,控制器130可执行操作1301以确定是否结束自动独占模式。另一方面,控制器130可执行操作1301以继续保持自动独占模式。
当通过检查存储在信息存储器530中的第一信息而获得的结果指示自动独占模式已开始时,控制器130可通过参考第二和第三信息来检查自动独占模式的进入/退出状态和进入/退出点(即,时间点)。例如,控制器130可在自动独占模式的开始时段中检查信息存储器530的第二信息。当检查结果指示控制器130退出了自动独占模式时,控制器130可检查与存储在命令队列512中的写入命令相对应的写入数据的大小,并且检查进入的自动独占模式的时间点。类似地,控制器130可在自动独占模式的开始时段检查存储在信息存储器530中的第二信息。当检查结果指示控制器130进入了自动独占模式时,控制器130可检查存储在信息存储器530中的第三信息,并且检查退出的自动独占模式的时间点。
控制器130可响应于通过检查非易失性存储器150的状态而获得的结果来调整存储在信息存储器530中的第一至第三信息的值。
具体地,控制器130可根据如上在操作1301所述通过检查非易失性存储器150的状态所获得的结果来调整存储在信息存储器530中的第一信息的值。控制器130可确定是否开始/结束自动独占模式。作为示例而非限制,当根据通过检查包括在非易失性存储器150中的存储块BLOCK<1:6>之中的空闲存储块的比率而获得的结果,控制器130需要开始自动独占模式时,控制器130可将存储在信息存储器530中的第一信息设置为开始状态。类似地,当根据通过检查包括在非易失性存储器150中的存储块BLOCK<1:6>之中的空闲存储块的比率而获得的结果,控制器130需要结束自动独占模式时,控制器130可将存储在信息存储器530中的第一信息设置为结束状态。
根据在自动独占模式的开始时段中通过检查非易失性存储器150的状态而获得的结果,控制器130可调整存储在信息存储器530中的第二或第三信息的值。
具体地,当在自动独占模式的开始时段中通过操作1302的操作1306进入自动独占模式以执行合并操作时,控制器130可根据通过检查包括在非易失性存储器150中的存储块BLOCK<1:6>之中的牺牲存储块中所包括的有效页面的总数量而获得的结果来调整存储在信息存储器530中的第二或第三信息的值。
在合并操作期间,当包括在非易失性存储器150中的存储块BLOCK<1:6>之中的牺牲存储块中所包括的有效页面的总数量等于或大于预设数量时,控制器130可减小存储在信息存储器530中的第二信息中所包含的预设大小,使得更频繁地重复通过操作1306进入自动独占模式。
在合并操作期间,当包括在非易失性存储器150中的存储块BLOCK<1:6>之中的牺牲存储块中所包括的有效页面的总数量小于预设数量时,控制器130可增加存储在信息存储器530中的第二信息中所包含的预设大小,使得较不频繁地重复通过操作1306进入自动独占模式。
在合并操作期间,当包括在非易失性存储器150中的存储块BLOCK<1:6>之中的牺牲存储块中所包括的有效页面的总数量等于或大于预设数量时,控制器130可增加存储在信息存储器530中的第三信息中所包含的预设长度,使得从通过操作1306的自动独占模式的进入点到通过操作1307的自动独占模式的退出点的时间间隔增加。
在合并操作期间,当包括在非易失性存储器150中的存储块BLOCK<1:6>之中的牺牲存储块中所包括的有效页面的总数量小于预设数量时,控制器130可减小存储在信息存储器530中的第三信息中所包含的预设长度,使得从通过操作1306的自动独占模式的进入点到通过操作1307的自动独占模式的退出点的时间间隔减小。
作为参考,控制器130可通过一次调整操作来仅调整存储在信息存储器530中的第二或第三信息或者调整第二和第三信息两者。控制器130调整存储在信息存储器530中的第二或第三信息的调整操作可根据设计而变化。
在上述实施例中,“预设比率”和“预设数量”已经被例示为调整存储在信息存储器530中的第一至第三信息的参考值。然而,这些值仅仅是示例,并且可使用更多类型的参考值。例如,可使用“第一至第N比率”和“第一至第M数量”,其中N和M为大于2的自然数。
如上在操作1304中所述,控制器130可在通过操作1301的自动独占模式的开始时段中使用预设操作来计算存储在命令队列512中的命令之中的写入命令的处理时间和自动独占模式的进入时段的进入时间。
此外,如上在操作1305中所述,控制器130可根据操作1304的计算结果来调度存储在命令队列512中的命令的处理顺序。
具体地,控制器130可检查存储在信息存储器530中的第一至第三信息。此时,当通过检查存储在信息存储器530中的第一信息而获得的结果指示自动独占模式已开始时,控制器130可另外检查存储在信息存储器530中的第二和第三信息以执行预设操作。另一方面,当结果指示自动独占模式结束时,控制器130可不检查存储在信息存储器530中的第二和第三信息,并且可不执行预设操作。
因此,当通过检查存储在信息存储器530中的第一信息获得的结果指示自动独占模式已开始时,控制器130可将通过检查存储在信息存储器530中的第二信息而获得的结果所识别的预设大小同与存储在命令队列512中的命令之中的写入命令相对应的写入数据的整体大小进行比较,并且根据比较结果来计算处理存储在命令队列512中的写入命令所需的进入/退出自动独占模式的数量,作为处理数量。
控制器130可通过将处理存储在命令队列512中的写入命令所需的进入/退出自动独占模式的数量乘以将预设大小的写入数据写入到非易失性存储器150所需的时间来计算存储在命令队列512中的写入命令的处理时间。
控制器130可通过将处理存储在命令队列512中的写入命令所需的进入/退出自动独占模式的数量乘以可被识别为通过检查存储在信息存储器530中的第三信息而获得的结果的预设时间来计算在处理存储在命令队列512中的写入命令时重复的自动独占模式的进入时段的进入时间。
控制器130可通过将存储在命令队列512中的写入命令的处理时间与在处理存储在命令队列512中的写入命令时重复的自动独占时段的进入时段的进入时间相加来计算处理存储在命令队列512中的写入命令所需的写入时间。
控制器130可通过从存储在命令队列512中的写入命令的超时时间中减去处理存储在命令队列512中的写入命令所需的写入时间来计算存储在命令队列512中命令之中除写入命令之外的其它命令的可用处理时间。可通过存储器***110的规范来预设存储在命令队列512中的写入命令的超时时间。可基于存储在命令队列512中的多个写入命令之中被首先输入并存储的写入命令来确定超时时间。
控制器130可优先处理存储在命令队列512中的其它命令直到可用处理时间。在可用处理时间之后,控制器130可优先处理存储在命令队列512中的写入命令。
例如,假设存储在信息存储器530中的第二信息中所包含的预设大小为128K字节(byte)。此外,假设存储在命令队列512中的写入命令的数量为10,并且对应于一个写入命令的写入数据的大小为256K字节,则与存储在命令队列512中的写入命令相对应的写入数据的整体大小可对应于2560K字节。此外,假设将具有预设大小128K字节的写入数据写入非易失性存储器150所需的时间为1ms,信息存储器530的第三信息中所包含的预设时间为100ms,并且存储在命令队列512中的写入命令的超时时间为5000ms。
在这种状态下,控制器130可将预设大小128K字节同与存储在命令队列512中的写入命令相对应的写入数据的整体大小(2 560K字节)进行比较,并且确定控制器130总共需要进入/退出自动独占模式20次,以便处理存储在命令队列512中的写入命令。
也就是说,当控制器130根据操作1302的操作1306、1307将与存储在命令队列512中的写入命令相对应的全部写入数据(2560K字节)写入非易失性存储器150时,控制器130需要以每一个预设大小128K字节进入/退出自动独占模式。因此,为了将与存储在命令队列512中的写入命令相对应的全部写入数据(2560K字节)写入非易失性存储器150,控制器130总共需要进入/退出自动独占模式20次。
控制器130可将向非易失性存储器150写入预设大小(128K字节)的写入数据所需的时间乘以处理数量(1ms×20次)。控制器130可确定处理存储在命令队列中的写入命令所需的时间为20ms。
控制器130可将与自动独占模式的进入时段相对应的预设时间100ms乘以计算的处理数量20次(100ms×20次)。控制器130可确定在处理存储在命令队列512中的写入命令时重复的自动独占模式的进入时段的进入时间总共为2000ms。
控制器130可将存储在命令队列512中的写入命令的处理时间(20ms)与在处理存储在命令队列512中的写入命令时重复的自动独占模式的进入时段的进入时间(2000ms)相加(20ms+2 000ms)。控制器130可确定处理存储在命令队列512中的写入命令所需的写入时间为2020ms。
控制器130可从存储在命令队列512中的写入命令的超时时间(5000ms)中减去处理存储在命令队列512中的写入命令所需的写入时间(2020ms)(5000ms-2020ms)。控制器130可确定存储在命令队列512中的命令之中除写入命令之外的其它命令的可用处理时间为2980ms。
控制器130可优先处理存储在命令队列512中的命令之中除写入命令之外的其它命令,直至可用处理时间2980ms。在可用处理时间之后,控制器130可在剩余的2020ms中优先处理存储在命令队列512中的命令之中的写入命令,直至写入超时5000ms。
存储在命令队列512中的命令之中除写入命令之外的其它命令可代表性地表示读取命令。然而,根据设计,该其它命令可表示其它的命令。
因此,控制器130可在自动独占模式的开始时段中通过进入/退出自动独占模式而尽可能地避免或防止主机102所请求的读取命令的延迟,并且同时防止当在超时之前未处理写入命令时丢弃写入命令。
如图5所示,控制器130可包括处理器134。处理器134可包括主机控制器510和存储器控制器520。因此,可将控制器130的操作1301至1308缩小到包括在控制器130的处理器134中的主机控制器510和存储器控制器520的操作。然而,将控制器130的操作1301至1308缩小到包括在控制器130的处理器134中的主机控制器510和存储器控制器520的操作的配置仅仅是示例,并且可根据设计通过各种其它部件来实施控制器130的操作1301至1308。
主机控制器510可包括命令队列512。主机控制器510可处理主机102与主机控制器510之间的操作。例如,参照图1,主机控制器510和存储器控制器520可被包括在处理器134中并彼此联接。主机控制器510可通过主机接口132来处理主机102与主机控制器510之间的操作。
存储器控制器520可联接到主机控制器510。存储器控制器520可处理非易失性存储器150与存储器控制器520之间的操作。
例如,参照图1,存储器控制器520和主机控制器510可被包括在处理器134中并彼此联接。存储器控制器520可通过存储器接口142来处理非易失性存储器150与存储器控制器520之间的操作。
如图6和图7所示,可通过描述包括在控制器130的处理器134中的主机控制器510和存储器控制器520的操作来更详细地描述控制器130的操作1301至1308。
具体地,参照图6,在操作5101中,主机控制器510可检查存储在信息存储器530中的第一至第三信息。
主机控制器510可响应于在自动独占模式的开始时段进入自动独占模式而将存储器***110的状态切换至忙碌状态,可通过操作5101检查存储在信息存储器530中的第一至第三信息来识别进入自动独占模式。在操作5108中,主机控制器510可通知主机102所切换的状态。
因为主机102通过主机控制器510的操作5108识别出存储器***110处于忙碌中,所以主机控制器510可在自动独占模式的进入时段中不接收从主机102输入的诸如读取请求或写入请求的任意请求。
主机控制器510可响应于在自动独占模式的开始时段中退出自动独占模式,将存储器***110的状态切换到就绪状态,可通过操作5101检查存储在信息存储器530中的第一至第三信息来识别退出自动独占模式。在操作5109中,主机控制器510可通知主机102所切换的状态。
因为主机102通过主机控制器510的操作5109识别出存储器***110处于就绪中,所以主机控制器510可在退出自动独占模式之后接收从主机102输入的诸如读取请求或写入请求的任意请求。
主机控制器510可通过操作5101检查存储在信息存储器530中的第一至第三信息的值。然而,主机控制器510可不调整存储在信息存储器530中的第一至第三信息的值。也就是说,仅存储器控制器520可具有调整存储在信息存储器530中的第一至第三信息的值的权限。
当通过检查信息存储器530的第一信息而获得的结果指示自动独占模式已开始时,主机控制器510可另外检查第二和第三信息以执行在操作1304中描述的预设操作。另一方面,当结果指示自动独占模式结束时,主机控制器510可不检查第二和第三信息,从而可不执行预设操作。
因此,当通过检查存储在信息存储器530中的第一信息而获得的结果指示自动独占模式已开始时,主机控制器510可将通过检查存储在信息存储器530中的第二信息而识别的预设大小和与存储在命令队列512中的命令之中与写入命令相对应的写入数据的整体大小进行比较。然后,在操作5102中,主机控制器510可根据比较结果计算处理存储在命令队列512中的写入命令所需要的进入/退出自动独占模式的数量,作为处理数量。
在操作5103中,主机控制器510可通过将通过操作5102计算的处理数量乘以将预设大小的写入数据写入非易失性存储器150所需的时间来计算存储在命令队列512中的写入命令的处理时间。
在操作5104中,主机控制器510可通过将通过操作5102计算的处理数量乘以可通过检查信息存储器530的第三信息而识别的预设时间,来计算在处理存储在命令队列512中的写入命令时重复的自动独占模式的进入时段的进入时间。
在操作5105中,主机控制器510可通过将操作5103中的存储在命令队列512中的写入命令的处理时间与操作5104中的在处理存储在命令队列512中的写入命令时重复的自动独占模式的进入时段的进入时间相加,来计算处理存储在命令队列512中的写入命令所需的写入时间。
在操作5106中,主机控制器510可通过从存储在命令队列512中的写入命令的超时时间中减去操作5105中的处理存储在命令队列512中的写入命令所需的写入时间来计算存储在命令队列512中的命令之中的除写入命令之外的其它命令的可用处理时间。可通过存储器***110的规范来预设存储在命令队列512中的写入命令的超时时间。可基于存储在命令队列512中的多个写入命令之中被首先输入并存储的写入命令来确定超时时间。
主机控制器510可优先处理存储在命令队列512中的其它命令,直至通过操作5106计算的可用处理时间。在可用处理时间之后,主机控制器510可优先处理存储在命令队列512中的写入命令。
例如,假设信息存储器530中的第二信息中所包含的预设大小为128K字节。此外,当假设存储在命令队列512中的写入命令的数量为10且对应于一个写入命令的写入数据的大小为256K字节时,与存储在命令队列512中的写入命令相对应的写入数据的整体大小可对应于2560K字节。此外,假设将具有预设大小128K字节的写入数据写入非易失性存储器150所需的时间为1ms,存储在信息存储器530中的第三信息中所包含的预设时间为100ms,并且存储在命令队列512中的写入命令的超时时间为5000ms。
在该状态下,如上在操作5102中所述,主机控制器510可将预设大小128K字节同与存储在命令队列512中的写入命令相对应的写入数据的整体大小(2560K字节)进行比较。主机控制器510可确定主机控制器510总共需要进入/退出自动独占模式20次,以便处理存储在命令队列512中的写入命令。
也就是说,当如上在操作1302的操作1306和1307中所述,主机控制器510将与存储在命令队列512中的写入命令相对应的全部写入数据(2560K字节)写入非易失性存储器150时,主机控制器510需要以每一个预设大小128K字节进入/退出自动独占模式。因此,为了通过存储器控制器520将与存储在命令队列512中的写入命令相对应的全部写入数据(2560K字节)处理到非易失性存储器150,主机控制器510总共需要进入/退出自动独占模式20次。
如上在操作5103中所述,主机控制器510可将向非易失性存储器150写入预设大小(128K字节)的写入数据所需的时间乘以处理数量(1ms×20次)。主机控制器510可确定处理存储在命令队列中的写入命令所需的时间为20ms。
如上在操作5103中所述,主机控制器510可将与自动独占模式的进入时段相对应的预设时间100ms乘以计算的处理数量20次(100ms×20次)。主机控制器510可确定在处理存储在命令队列512中的写入命令时重复的自动独占模式的进入时段的进入时间总共为2000ms。
如上在操作5105中所述,主机控制器510可将存储在命令队列512中的写入命令的处理时间(20ms)与在处理存储在命令队列512中的写入命令时重复的自动独占模式的进入时段的进入时间(2000ms)相加(20ms+2000ms)。主机控制器510可确定处理存储在命令队列512中的写入命令所需的写入时间为2020ms。
如上在操作5106中所述,主机控制器510可从存储在命令队列512中的写入命令的超时时间(5000ms)中减去处理存储在命令队列512中的写入命令所需的写入时间(2020ms)(5000ms-2020ms)。主机控制器510可确定存储在命令队列512中的命令之中除写入命令之外的其它命令的可用处理时间为2980ms。
如上在操作5107中所述,主机控制器510可优先处理存储在命令队列512中的命令之中除写入命令之外的其它命令,直至可用处理时间2980ms。在可用处理时间之后,在主机控制器510可在剩余的2020ms中优先处理存储在命令队列512中的命令之中的写入命令,直至写入超时5000ms。
存储在命令队列512中的命令之中除写入命令之外的其它命令可代表性地表示读取命令。然而,根据设计者的选择,该其它命令可表示其它的命令。
因此,主机控制器510可在自动独占模式的开始时段中通过进入/退出自动独占模式而尽可能地避免或防止主机102所请求的读取命令的延迟,并且同时防止当在超时之前未处理写入命令时丢弃写入命令。
参照图7,在操作5203中,存储器控制器520可检查存储在信息存储器530中的第一至第三信息。
在操作5204中,在自动独占模式的开始时段中的自动独占模式的退出时段,即,在通过将在稍后描述的操作5206退出自动独占模式之后,存储器控制器520可根据主机控制器510的请求,将与存储在命令队列512中的写入命令相对应的数据写入非易失性存储器150,其中可响应于通过操作5203检查存储在信息存储器530中的第一至第三信息而获得的结果来识别该退出时段。
在操作5205中,在自动独占模式的开始时段中的自动独占模式的退出时段,即,在通过将在稍后描述的操作5206退出自动独占模式之后,当通过操作5204写入非易失性存储器150的写入数据的大小变成可通过操作5203识别的预设大小时,存储器控制器520可通过调整存储在信息存储器530中的第二信息来进入自动独占模式,其中可通过操作5203检查存储在信息存储器530中的第一至第三信息而获得的结果来识别该退出时段。
在操作5206中,在自动独占模式的开始时段中的自动独占模式的进入时段,即,在存储器控制器520通过操作5205进入自动独占模式的时间点开始经过了通过操作5203所识别的预设时间的时间点,存储器控制器520可通过调整存储在信息存储器530中的第二信息来退出自动独占模式,其中可通过操作5203检查存储在信息存储器530中的第一至第三信息而获得的结果来识别该进入时段。
在操作5201中,存储器控制器520可检查非易失性存储器150的状态。此时,检查非易失性存储器150的状态的操作可包括检查包括在非易失性存储器150中的存储块BLOCK<1:6>之中的空闲存储块的比率的操作。
在实施例中,在操作5201中检查包括在非易失性存储器150中的存储块BLOCK<1:6>之中的空闲存储块的比率的操作可被示例为检查非易失性存储器150的状态的操作。然而,这仅仅是示例,并且可通过另一种方法来检查非易失性存储器150的状态。
在操作5202中,存储器控制器520可根据操作5201的检查结果来调整信息存储器530的第一至第三信息,以调整与是否开始/结束自动独占模式以及自动独占模式的进入点和退出点相关的信息。
具体地,存储器控制器520可通过操作5201检查包括在非易失性存储器150中的存储块BLOCK<1:6>之中的空闲存储块的比率。存储器控制器520可根据检查结果通过操作5202来调整存储在信息存储器530中的第一信息,从而选择是否开始/结束自动独占模式。
当检查结果指示空闲存储块的比率等于或小于预设比率时,如果自动独占模式已经开始,则存储器控制器520继续处于自动独占模式,或者如果自动独占模式结束,则开始自动独占模式。
另一方面,当检查结果指示空闲存储块的比率超过预设比率时,当已经自动独占模式开始时,存储器控制器520可保持自动独占模式的结束状态,或者当自动独占模式结束时,保持自动独占模式的结束状态。
当在根据操作5201的检查结果开始自动独占模式之后进入自动独占模式以执行合并操作时,存储器控制器520可基于预设数量,通过操作5201检查包括在非易失性存储器150中的存储块BLOCK<1:6>之中的牺牲存储块中所包括的有效页面的总数量。存储器控制器520可根据检查结果通过操作5202来调整存储在信息存储器530中的第二或第三信息的值。
在合并操作期间,当包括在非易失性存储器150中的存储块BLOCK<1:6>之中的牺牲存储块中所包括的有效页面的总数量等于或大于预设数量时,存储器控制器520可减小存储在信息存储器530中的第二信息中所包含的预设大小,使得更频繁地重复通过操作5205进入自动独占模式。
在合并操作期间,当包括在非易失性存储器150中的存储块BLOCK<1:6>之中的牺牲存储块中所包括的有效页面的总数量小于预设数量时,存储器控制器520可增加存储在信息存储器530中的第二信息中所包含的预设大小,使得较不频繁地重复通过操作5205进入自动独占模式。
在合并操作期间,当包括在非易失性存储器150中的存储块BLOCK<1:6>之中的牺牲存储块中所包括的有效页面的总数量等于或大于预设数量时,存储器控制器520可增加存储在信息存储器530中的第三信息中所包含的预设长度,使得从通过操作5205的自动独占模式的进入点到通过操作5206的自动独占模式的退出点的时间间隔增加。
在合并操作期间,当包括在非易失性存储器150中的存储块BLOCK<1:6>之中的牺牲存储块中所包括的有效页面的总数量小于预设数量时,存储器控制器520可减小存储在信息存储器530中的第三信息中所包含的预设长度,使得从通过操作5205的自动独占模式的进入点到通过操作5206的自动独占模式的退出点的时间间隔减小。
作为参考,存储器控制器520可通过一次调整操作来仅调整存储在信息存储器530中的第二或第三信息或者调整第二和第三信息两者。存储器控制器520调整存储在信息存储器530中的第二或第三信息的调整操作可根据设计而改变。
存储器控制器520可响应于通过操作5202和5205在自动独占模式的开始时段进入自动独占模式,将存储在易失性存储器144中的数据清除到非易失性存储器150。
在这种情况下,在自动独占模式的进入时段期间,存储器控制器520可独占地使用易失性存储器144的整体区域来执行合并操作。
此时,将存储在易失性存储器144中的数据清除到非易失性存储器150的操作可表示将存储在易失性存储器144中的所有数据都复制并存储到非易失性存储器150的预设区域中。在清除操作之后,不再需要保留易失性存储器144中的所有数据,使得存储器控制器520可丢弃存储在易失性存储器144中的所有数据。然后,存储器控制器520可独占地使用易失性存储器144中被分配用于存储数据的整体区域来执行合并操作。
此外,响应于在通过操作5202和5205的自动独占模式的开始时段进入自动独占模式,存储器控制器520可丢弃存储在易失性存储器144中的数据之中被更新到非易失性存储器150中的数据。
在这种情况下,存储器控制器520可独占地使用易失性存储器144中比指定给一般合并操作的区域更大的区域,以在自动独占模式的进入时段期间执行合并操作。
如上参照图1所述,易失性存储器144可用于各种用途,例如写入缓冲器/高速缓冲器、读取缓冲器/高速缓冲器和映射缓冲器/高速缓冲器。因此,可根据用途将易失性存储器144的内部存储空间划分成各个区域。因此,可预先将易失性存储器144的内部存储区域的一部分指定给合并操作。
此时,根据实施例的存储器控制器520可响应于通过操作5202和5205在自动独占模式的开始时段进入自动独占模式,丢弃存储在易失性存储器144的存储空间中未被指定给合并操作的区域中的数据之中的、被更新到非易失性存储器150中的数据。因此,根据实施例的存储器控制器520可独占地使用易失性存储器144中比指定给一般合并操作的区域更大的区域,以在自动独占模式的进入时段期间执行合并操作。
存储在易失性存储器144中的数据之中的、被更新到非易失性存储器150的数据可表示存储在易失性存储器144中的数据之中的、已经通过诸如检查点的操作而被存储到非易失性存储器150的数据。因此,存储器控制器520可在自动独占模式的进入时段中丢弃存储在易失性存储器144中的数据之中的、被更新到非易失性存储器150中的数据,然后使用对应的区域(即,先前存储所丢弃的数据并且现在准备进行分配的区域)进行合并操作。
图8至图16是示意性示出图1的数据处理***的应用示例的示图。
图8是示意性示出包括根据本实施例的存储器***的数据处理***的另一示例的示图。图8示意性地示出应用了根据本实施例的存储器***的存储卡***。
参照图8,存储卡***6100可包括存储器控制器6120、存储器装置6130和连接器6110。
存储器控制器6120可连接到由非易失性存储器实现的存储器装置6130。存储器控制器6120可访问存储器装置6130。作为示例而非限制,控制器6120可控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可提供存储器装置6130和主机之间的接口并且使用用于控制存储器装置6130的固件。也就是说,存储器控制器6120可对应于参照图1和图5描述的存储器***110的控制器130,并且存储器装置6130可对应于参照图1和图5描述的存储器***110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理单元、主机接口、存储器接口和错误校正部件。存储器控制器130可进一步包括图5所示的元件。
存储器控制器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可包括图5的存储器装置150中的多个管芯。
存储器控制器6120和存储器装置6130可被集成到单个半导体装置中。例如,存储器控制器6120和存储器装置6130可通过集成到单个半导体装置中来构造固态驱动器(SSD)。而且,存储器控制器6120和存储器装置6130可构造诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)和通用闪速存储器(UFS)。
图9是示意性地示出根据实施例的包括存储器***的数据处理***的示例的示图。
参照图9,数据处理***6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图9所示的数据处理***6200可用作如参照图1描述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1和图5所示的存储器***110中的存储器装置150。存储器控制器6220可对应于图1和图5所示的存储器***110中的控制器130。
存储器控制器6220可响应于主机6210的请求来控制对存储器装置6230的读取操作、写入操作或擦除操作。存储器控制器6220可包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224和诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的全部操作,例如读取操作、写入操作、文件***管理操作和坏页面管理操作。RAM 6222可根据CPU 6221的控制来操作。RAM 6222可用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可以临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传输到存储器装置6230或从存储器装置6230传输到主机6210的数据。当RAM6222用作高速缓冲存储器时,RAM 6222可以辅助低速存储器装置6230以高速运转。
ECC电路6223可对应于图1所示的控制器130的ECC部件138。如参照图1所述,ECC电路6223可生成用于校正从存储器装置6230提供的数据的失败位或错误位的ECC(错误校正码)。ECC电路6223可以对被提供给存储器装置6230的数据执行错误校正编码,由此形成具有奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ECC电路6223可对从存储器装置6230输出的数据执行错误校正解码。此时,ECC电路6223可以使用奇偶校验位来校正错误。例如,如参照图1描述的,ECC电路6223可以使用LDPC码、BCH码、涡轮码、里德-所罗门码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224将数据传输到主机6210/从主机6210接收数据。存储器控制器6220可通过NVM接口6225将数据传输到存储器装置6230/从存储器装置6230接收数据。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接至主机6210。存储器控制器6220可利用诸如WiFi或长期演进(LTE)的移动通信协议具有无线通信功能。存储器控制器6220可以连接到外部装置,例如主机6210或另一外部装置,并且然后将数据传输到外部装置/从外部装置接收数据。特别地,因为存储器控制器6220被配置为通过一种或多种各种通信协议与外部装置通信,所以根据本实施例的存储器***和数据处理***可以应用于有线/无线电子装置或特别是移动电子装置。
图10是示意性地示出根据实施例的包括存储器***的数据处理***的示例的示图。图10示意性地示出应用了根据本实施例的存储器***的SSD。
参照图10,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1和图5的存储器***110的控制器130。存储器装置6340可对应于图1和图5的存储器***中的存储器装置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的非易失性存储器来实施。为了便于描述,图9示出了缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可存在于控制器6320的外部。
ECC电路6322可在编程操作期间计算待编程到存储器装置6340中的数据的ECC值。ECC电路6322可在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作。ECC电路6322可在失败的数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可利用例如主机6310的外部装置提供接口功能。非易失性存储器接口6326可利用通过多个通道连接的存储器装置6340提供接口功能。
此外,可提供应用了图1和图5的存储器***110的多个SSD 6300以实施例如RAID(独立磁盘的冗余阵列)***的数据处理***。此时,RAID***可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从SSD 6300中的主机6310提供的写入命令的RAID级别信息来选择一个或多个存储器***或SSD 6300。RAID控制器可将对应于写入命令的数据输出到所选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取命令时,RAID控制器可以根据多个RAID级别,即,从SSD 6300中的主机6310提供的读取命令的RAID级别信息来选择一个或多个存储器***或SSD 6300。RAID控制器可将从所选择的SSD6300读取的数据提供给主机6310。
图11是示意性地示出根据实施例的包括存储器***的数据处理***的示例的示图。图11示意性示出应用了根据实施例的存储器***的嵌入式多媒体卡(eMMC)。
参照图11,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1和图5的存储器***110的控制器130。存储器装置6440可对应于图1和图5的存储器***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)接口。
图12至图15是示意性地示出根据实施例的包括存储器***的数据处理***的其它示例的图。图12至图15示意性地示出了应用了根据本实施例的存储器***的UFS(通用闪速存储)***。
参照图12至图15,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和图5所示的存储器***110来实现。例如,在UFS***6500、6600、6700、6800中,UFS装置6520、6620、6720、6820可以参照图9至图11描述的数据处理***6200、SSD 6300或eMMC 6400的形式来实现,并且UFS卡6530、6630、6730、6830可以参照图8描述的存储卡***6100的形式来实现。
此外,在UFS***6500、6600、6700、6800中,主机6510、6610、6710、6810、UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可通过例如MIPI(移动工业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)的UFS接口来彼此通信。此外,UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可通过除UFS协议之外的例如UFD、MMC、SD、迷你SD和微型SD的各种协议来彼此通信。
在图12所示的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卡可并行地或以星型形式连接到主机6410。星型形式是一种单个集中部件联接到多个装置以进行平行处理的布置。多个UFS卡可并行地或以星型形式连接到UFS装置6520或串联地或以链型形式连接到UFS装置6520。
在图13所示的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。
在图14所示的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。
在图15所示的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。
图16是示意性示出包括根据实施例的存储器***的数据处理***的示例的示图。图16示意性地示出了应用了根据本实施例的存储器***的用户***。
参照图16,用户***6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可以驱动包括在例如OS的用户***6900中的部件,并且包括用于控制包括在用户***6900中的部件的控制器、接口、图形引擎等。应用处理器6930可被设置为片上***(SoC)。
存储器模块6920可用作用户***6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性RAM或诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。例如,应用处理器6930和存储器模块6920可以基于POP(堆叠封装)被封装并安装。
网络模块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闪存和3维NAND闪存,并且被设置为诸如用户***6900的存储卡和外部驱动器的可移除存储介质。存储模块6950可以对应于以上参照图1和图5描述的存储器***110。此外,存储模块6950可被实施为如上参照图10至图15所述的SSD、eMMC和UFS。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和马达的用户输出接口。
此外,当其中图1和图5的存储器***110被应用于用户***6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作。网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示由处理器6930处理的数据。进一步地,用户接口6910可支持从触摸面板接收数据的功能。
根据本实施例,存储器***可允许独占地使用非易失性存储器,以便在自动独占模式的进入时段中执行合并操作,从而最大化合并操作的性能。
此时,存储器***可响应于主机的请求或者通过检查非易失性存储器的状态而获得的结果来选择是开始/结束自动独占模式。存储器***可在自动独占模式的开始时段中,在每个预定周期自动重复进入/退出自动独占模式。通过这些操作,存储器***可精确地调整自动独占模式的进入/退出点。
此外,存储器***可计算在自动独占模式的开始时段中重复的自动独占模式的进入/退出操作的执行时间。存储器***可调度从主机请求的正常命令(例如,读取和写入命令)的处理顺序。通过该操作,存储器***可通过在自动独占模式的开始时段重复进入/退出自动独占模式而避免从主机请求的正常命令超时。
虽然为了说明的目的已经描述各个实施例,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和变型。
Claims (20)
1.一种存储器***,包括:
非易失性存储器,包括多个存储块,所述存储块中的每一个具有多个页面;
易失性存储器,临时存储在主机与所述非易失性存储器之间传输的数据;以及
控制器,在自动独占模式的开始状态中针对从所述主机传输的每一个预设大小的写入数据而重复地进入和退出所述自动独占模式,并且在所述自动独占模式的进入时段期间分配所述易失性存储器以独占地用于对所述非易失性存储器执行合并操作,
其中所述控制器包括用于存储从所述主机传输的多个命令的命令队列,在所述自动独占模式的开始状态中使用预设操作来计算存储在所述命令队列中的所述命令之中写入命令的处理时间和所述自动独占模式的所述进入时段的进入时间,并且根据计算结果来调度存储在所述命令队列中的所述命令的处理顺序。
2.根据权利要求1所述的存储器***,其中所述控制器响应于通过检查所述非易失性存储器的状态而获得的结果来选择是否开始或结束所述自动独占模式,当在所述自动独占模式的所述开始状态中的所述自动独占模式的退出时段,与存储在所述命令队列中的所述写入命令相对应的所述写入数据以所述预设大小写入所述非易失性存储器时,进入所述自动独占模式,并且在从所述自动独占模式的进入点开始已经经过预设时间的时间点退出所述自动独占模式。
3.根据权利要求2所述的存储器***,进一步包括信息存储器,所述信息存储器存储与所述自动独占模式的开始状态和结束状态相关的第一信息、与所述自动独占模式的进入状态和退出状态以及所述预设大小相关的第二信息以及与所述预设时间相关的第三信息。
4.根据权利要求3所述的存储器***,其中所述控制器包括:
主机控制器,包括所述命令队列,并且处理所述主机与所述主机控制器之间的操作;
存储器控制器,联接到所述主机控制器,并且处理所述非易失性存储器与所述存储器控制器之间的操作,并且
其中所述主机控制器在所述自动独占模式的所述开始状态中使用所述预设操作来计算所述处理时间和所述进入时间,并且然后根据计算结果来调度存储在所述命令队列中的所述命令的所述处理顺序。
5.根据权利要求4所述的存储器***,其中所述主机控制器检查所述信息存储器的所述第一信息至所述第三信息,
其中在通过检查结果识别的所述自动独占模式的所述开始状态中,
所述主机控制器将通过所述检查结果识别的所述预设大小和与存储在所述命令队列中的所述写入命令相对应的所述写入数据的整体大小进行比较,根据比较结果来计算处理存储在所述命令队列中的所述写入命令所需的进入和退出所述自动独占模式的数量以作为处理数量,并且通过将所述处理数量乘以将所述预设大小的写入数据写入到所述非易失性存储器所需的时间来计算所述处理时间。
6.根据权利要求5所述的存储器***,其中所述主机控制器检查所述信息存储器的所述第一信息至所述第三信息,
其中在通过所述检查结果识别的所述自动独占模式的所述开始状态中,
所述主机控制器通过将通过所述检查结果识别的所述预设时间乘以所述处理数量来计算所述进入时间。
7.根据权利要求6所述的存储器***,其中所述主机控制器检查所述信息存储器的所述第一信息至所述第三信息,
其中在通过所述检查结果识别的所述自动独占模式的所述开始状态中,
所述主机控制器通过将所述处理时间和所述进入时间相加来计算写入时间,通过从存储在所述命令队列中的所述写入命令的超时时间中减去所述写入时间来计算存储在所述命令队列中的所述命令之中除所述写入命令之外的其它命令的可用处理时间,优先处理存储在所述命令队列中的所述其它命令直至所述可用处理时间,并且然后优先处理存储在所述命令队列中的所述写入命令。
8.根据权利要求4所述的存储器***,其中所述主机控制器检查所述信息存储器的所述第一信息至所述第三信息,响应于通过主机控制器的检查结果识别的进入所述自动独占模式来通知所述主机所述存储器***被切换到忙碌状态,并且响应于通过所述主机控制器的检查结果识别的退出所述自动独占模式来通知所述主机所述存储器***被切换到就绪状态。
9.根据权利要求4所述的存储器***,其中所述存储器控制器响应于通过检查所述非易失性存储器的状态而获得的结果,通过调整所述信息存储器的所述第一信息至所述第三信息来调整与是否开始或结束所述自动独占模式以及所述自动独占模式的所述进入点或退出点相关的信息。
10.根据权利要求9所述的存储器***,其中所述存储器控制器检查所述信息存储器的所述第一信息至所述第三信息,在通过所述存储器控制器的检查结果识别的所述自动独占模式的所述开始状态中的所述自动独占模式的所述退出时段,根据所述主机控制器的请求将所述写入数据写入所述非易失性存储器;在与通过所述存储器控制器的检查结果识别的所述预设大小相对应的所述写入数据被写入到所述非易失性存储器时,通过调整所述信息存储器的所述第二信息来进入所述自动独占模式;并且在从所述自动独占模式的所述进入点开始已经经过了通过所述存储器控制器的检查结果识别的所述预设时间时的时间点,通过调整所述信息存储器的所述第二信息以退出所述自动独占模式。
11.一种存储器***的操作方法,所述存储器***包括:非易失性存储器,包括多个块,所述块中的每一个具有多个页面;易失性存储器,用于临时存储在主机与所述非易失性存储器之间传输的数据;以及命令队列,用于存储从所述主机传输的多个命令,所述操作方法包括:
在自动独占模式的开始状态中,针对从所述主机传输并写入所述非易失性存储器的每一个预设大小的写入数据,重复地进入和退出所述自动独占模式;
在所述自动独占模式的进入时段期间独占地使用所述易失性存储器以对所述非易失性存储器执行合并操作;并且
在所述自动独占模式的所述开始状态中使用预设操作,计算存储在所述命令队列中的所述命令之中写入命令的处理时间和所述自动独占模式的所述进入时段的进入时间,并且然后根据计算结果来调度存储在所述命令队列中的所述命令的处理顺序。
12.根据权利要求11所述的操作方法,其中重复地进入所述自动独占模式包括:
响应于通过检查所述非易失性存储器的状态而获得的结果来选择是否开始或结束所述自动独占模式;
当在所述自动独占模式的所述开始状态中的所述自动独占模式的退出时段,与存储在所述命令队列中的所述写入命令相对应的所述写入数据以所述预设大小写入所述非易失性存储器时,进入所述自动独占模式,并且
在从所述自动独占模式的进入点开始已经经过预设时间时的时间点退出所述自动独占模式。
13.根据权利要求12所述的操作方法,其中所述存储器***进一步包括信息存储器,所述信息存储器存储与所述自动独占模式的开始状态和结束状态相关的第一信息、与所述自动独占模式的进入状态和退出状态以及所述预设大小相关的第二信息以及与所述预设时间相关的第三信息。
14.根据权利要求13所述的操作方法,其中所述存储器***进一步包括:主机控制器,处理所述主机与所述主机控制器之间的操作;以及存储器控制器,联接到所述主机控制器并处理所述非易失性存储器与所述存储器控制器之间的操作;并且
计算所述处理时间包括:在所述自动独占模式的所述开始状态中通过所述主机控制器使用所述预设操作来计算所述处理时间和所述进入时间,并且根据所述计算结果来调度存储在所述命令队列中的所述命令的所述处理顺序。
15.根据权利要求14所述的操作方法,其中计算所述处理时间包括第一检查步骤,其中所述主机控制器检查所述信息存储器的所述第一信息至所述第三信息,
其中当通过所述第一检查步骤检查到所述主机控制器处于所述自动独占模式的所述开始状态中时,
计算所述处理时间进一步包括:
第一比较步骤,其中所述主机控制器将通过所述第一检查步骤识别的所述预设大小和与存储在所述命令队列中的所述写入命令相对应的所述写入数据的整体大小进行比较;
第一计算步骤,其中所述主机控制器根据所述第一比较步骤的结果,计算处理存储在所述命令队列中的所述写入命令所需的进入和退出所述自动独占模式的数量以作为处理数量;以及
第二计算步骤,其中所述主机控制器通过将所述处理数量乘以将所述预设大小的写入数据写入到所述非易失性存储器所需的时间来计算所述处理时间。
16.根据权利要求15所述的操作方法,其中计算所述处理时间进一步包括第三计算步骤,其中当通过所述第一检查步骤检查到所述主机控制器处于所述自动独占模式的所述开始状态中时,所述主机控制器通过将通过所述第一检查步骤识别的所述预设时间乘以所述处理数量来计算所述进入时间。
17.根据权利要求16所述的操作方法,其中计算所述处理时间包括:
第四计算步骤,其中当在所述第一检查步骤中检查到所述主机控制器处于所述自动独占模式的所述开始状态中时,所述主机控制器通过将所述处理时间和所述进入时间相加来计算写入时间;
第五计算步骤,其中所述主机控制器通过从存储在所述命令队列中的所述写入命令的超时时间减去所述写入时间来计算存储在所述命令队列中的所述命令之中除所述写入命令之外的其它命令的可用处理时间;以及
处理步骤,其中所述主机控制器优先处理存储在所述命令队列中的所述其它命令直至所述可用处理时间,并且然后优先处理存储在所述命令队列中的所述写入命令。
18.根据权利要求14所述的操作方法,其中重复地进入所述自动独占模式包括:
第二检查步骤,其中所述主机控制器检查所述信息存储器的所述第一信息至所述第三信息;
第一通知步骤,其中所述主机控制器响应于通过所述第二检查步骤识别的进入所述自动独占模式,通知所述主机所述存储器***切换到忙碌状态;以及
第二通知步骤,其中所述主机控制器响应于通过所述第二检查步骤识别的退出所述自动独占模式,通知所述主机所述存储器***切换到就绪状态。
19.根据权利要求14所述的操作方法,其中重复地进入所述自动独占模式包括:
第三检查步骤,其中所述存储器控制器检查所述非易失性存储器的状态;以及
调整步骤,其中所述存储器控制器响应于所述第三检查步骤的结果,通过调整所述信息存储器的所述第一信息至所述第三信息来调整与是否开始或结束所述自动独占模式以及所述自动独占模式的所述进入点和退出点相关的信息。
20.根据权利要求19所述的操作方法,其中重复地进入所述自动独占模式进一步包括第四检查步骤,其中所述存储器控制器检查所述信息存储器的所述第一信息至所述第三信息,
进入步骤包括:在通过所述第四检查步骤的结果识别的所述自动独占模式的所述开始状态中的所述自动独占模式的退出时段,所述存储器控制器根据从所述主机控制器传输到所述存储器控制器的写入请求,将所述写入数据写入所述非易失性存储器;并且在所述存储器控制器将与通过所述第四检查步骤的结果识别的所述预设大小相对应的所述写入数据写入所述非易失性存储器时,所述存储器控制器通过调整所述信息存储器的所述第二信息而进入所述自动独占模式,并且
在退出步骤中,所述存储器控制器在从所述自动独占模式的所述进入点开始已经经过了通过所述第四检查步骤的结果所识别的所述预设时间时的时间点通过调整所述信息存储器的所述第二信息以退出所述自动独占模式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0031941 | 2018-03-20 | ||
KR1020180031941A KR102417696B1 (ko) | 2018-03-20 | 2018-03-20 | 메모리 시스템 및 메모리 시스템의 동작방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110308866A CN110308866A (zh) | 2019-10-08 |
CN110308866B true CN110308866B (zh) | 2023-05-23 |
Family
ID=67983636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811532775.8A Active CN110308866B (zh) | 2018-03-20 | 2018-12-14 | 存储器***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10996889B2 (zh) |
KR (1) | KR102417696B1 (zh) |
CN (1) | CN110308866B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11150841B2 (en) * | 2020-02-10 | 2021-10-19 | Western Digital Technologies, Inc. | NAND dropped command detection and recovery |
US11748005B2 (en) * | 2020-08-10 | 2023-09-05 | Micron Technology, Inc. | Transferring memory system data to an auxiliary array |
CN114281723A (zh) * | 2020-09-28 | 2022-04-05 | 马来西亚瑞天芯私人有限公司 | 一种存储设备的内存控制器***和内存调度方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5715447A (en) | 1991-08-06 | 1998-02-03 | Fujitsu Limited | Method of and an apparatus for shortening a lock period of a shared buffer |
US6625698B2 (en) * | 2000-12-28 | 2003-09-23 | Unisys Corporation | Method and apparatus for controlling memory storage locks based on cache line ownership |
CN101874267B (zh) * | 2007-11-26 | 2012-03-21 | 三菱电机株式会社 | 光记录方法和光记录装置 |
JP5214315B2 (ja) * | 2008-04-17 | 2013-06-19 | 株式会社東芝 | 記憶装置 |
US20090292934A1 (en) * | 2008-05-22 | 2009-11-26 | Ati Technologies Ulc | Integrated circuit with secondary-memory controller for providing a sleep state for reduced power consumption and method therefor |
TWI451435B (zh) * | 2010-10-08 | 2014-09-01 | Phison Electronics Corp | 非揮發性記憶體儲存裝置、記憶體控制器與資料儲存方法 |
JP6072428B2 (ja) * | 2012-05-01 | 2017-02-01 | テセラ アドバンスト テクノロジーズ インコーポレーテッド | 制御装置、記憶装置、記憶制御方法 |
CN103885892A (zh) | 2012-12-20 | 2014-06-25 | 株式会社东芝 | 存储器控制器 |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
KR20140113069A (ko) * | 2013-03-15 | 2014-09-24 | 삼성전자주식회사 | 휘발성 메모리 장치의 자가 진단 수행 방법 및 전자 장치 |
KR20140130309A (ko) * | 2013-04-30 | 2014-11-10 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템 및 메모리 컨트롤러의 동작 방법 |
US20150323975A1 (en) * | 2014-05-12 | 2015-11-12 | Qualcomm Innovation Center, Inc. | SYNCHRONIZATION OF ACTIVITY OF MULTIPLE SUBSYSTEMS IN A SoC TO SAVE STATIC POWER |
JP2016184398A (ja) * | 2015-03-26 | 2016-10-20 | パナソニックIpマネジメント株式会社 | 不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法 |
KR102374637B1 (ko) * | 2015-07-08 | 2022-03-17 | 삼성전자주식회사 | 컴퓨팅 시스템 및 그것의 메모리 관리 방법 |
US9792191B2 (en) * | 2015-08-19 | 2017-10-17 | Nxp Usa, Inc. | Fast write mechanism for emulated electrically erasable (EEE) system |
US10521118B2 (en) * | 2016-07-13 | 2019-12-31 | Sandisk Technologies Llc | Methods, systems, and computer readable media for write classification and aggregation using host memory buffer (HMB) |
US9996291B1 (en) * | 2016-07-29 | 2018-06-12 | EMC IP Holding Company LLC | Storage system with solid-state storage device having enhanced write bandwidth operating mode |
-
2018
- 2018-03-20 KR KR1020180031941A patent/KR102417696B1/ko active IP Right Grant
- 2018-11-07 US US16/183,384 patent/US10996889B2/en active Active
- 2018-12-14 CN CN201811532775.8A patent/CN110308866B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110308866A (zh) | 2019-10-08 |
KR102417696B1 (ko) | 2022-07-07 |
US20190294371A1 (en) | 2019-09-26 |
US10996889B2 (en) | 2021-05-04 |
KR20190110242A (ko) | 2019-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10534705B2 (en) | Memory system for scheduling foreground and background operations, and operating method thereof | |
US10048873B2 (en) | Memory system for accessing memory dies during program operations and operation method thereof | |
US20180366210A1 (en) | Memory system and operating method thereof | |
US10452431B2 (en) | Data processing system and operating method thereof | |
US10762001B2 (en) | Memory system and operation method thereof | |
US20190107961A1 (en) | Memory system and operating method of the same | |
US20190087128A1 (en) | Memory system and operating method of the same | |
US11099981B2 (en) | Memory system and operating method thereof | |
US20180188962A1 (en) | Controller and operation method thereof | |
US11675543B2 (en) | Apparatus and method for processing data in memory system | |
US10732874B2 (en) | Memory system and operation method thereof | |
US11853206B2 (en) | Memory system and operation method thereof | |
US20180293006A1 (en) | Controller including multi processor and operation method thereof | |
KR102643467B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US10489084B2 (en) | Method and system for reclaiming memory using read counts | |
CN110308866B (zh) | 存储器***及其操作方法 | |
US20190179548A1 (en) | Memory system and operating method thereof | |
KR20180094724A (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
US10853240B2 (en) | Memory system for performing a different program operation based on a size of data and an operating method thereof | |
CN111273856A (zh) | 控制器以及控制器的操作方法 | |
US10521340B2 (en) | Memory system and operating method thereof | |
US10877690B2 (en) | Memory system sharing capacity information with host and operating method thereof | |
US10803960B2 (en) | Memory device and operation method thereof | |
KR20180106017A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US10838874B2 (en) | Memory system managing mapping information corresponding to write data and operation 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 |