CN101082852B - 用于存储器的控制装置及控制方法 - Google Patents
用于存储器的控制装置及控制方法 Download PDFInfo
- Publication number
- CN101082852B CN101082852B CN2006100842128A CN200610084212A CN101082852B CN 101082852 B CN101082852 B CN 101082852B CN 2006100842128 A CN2006100842128 A CN 2006100842128A CN 200610084212 A CN200610084212 A CN 200610084212A CN 101082852 B CN101082852 B CN 101082852B
- Authority
- CN
- China
- Prior art keywords
- order
- command
- control device
- storer
- memory
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种存储器的控制装置,包括一微控制器、一命令序列发生器、一命令队列器及一对照表。该控制装置耦接至存储器并控制存储器执行一操作。其中,微控制器根据该操作输出一控制信号。命令序列发生器根据该控制信号依序存放执行该操作所需的多个命令集,其中每个命令集各自包括多个命令。命令队列器根据这些命令集的顺序存放相应的多个命令集内容。对照表存放执行该操作所需的该存储器的目标地址。
Description
技术领域
本发明涉及一种存储器的控制装置,特别是涉及一种具有可编程的存储器协议的控制装置及控制方法,其可以更有弹性地控制不同供货商所提供的存储器。
背景技术
在各种不同的储存介质中,由于随身听(pen drive)体积小、容量大及使用方便等特性,使得随身听的使用日益普及。随身听一般采用例如闪存(flashmemory)的非易失性存储器(nonvolatile memory)来作为储存单元。根据不同供货商所提供的闪存,厂商通过适当的存储器协议(protocol)来控制闪存。
存储器协议即是对指定的存储器地址,配合存储器供货商所制定的操作(operation)下达执行该操作所需要的命令(command),而前述的操作例如是数据的读出、写入或擦除。一般存储器协议的做法有两种:一种是软件方式,另一种是硬件方式。软件方式即是完全由微控制器(micro controller unit,MCU)通过存储器接口与闪存沟通,这种方式操作所需的每个命令都须经由MCU下达,除了会增加MCU的耗电量,还会因为MCU执行每个命令都需要好几个周期(cycle)而降低整体的工作效能。
硬件方式即是由MCU与一些逻辑控制电路通过存储器接口与闪存沟通,其中所述逻辑控制电路例如是状态机(state machine)电路。但是,由于不同供货商所提供的闪存在执行操作时所需的命令及其顺序或下达命令的方式并不相同,例如供货商可能加入一些其它供货商所不具有的操作及其命令以加快读写的速度,所以必须依状况改变逻辑控制电路的设计,以满足不同供货商作法上的差异。这种方式需要增加逻辑门数目(gate count)来完成存储器协议,而且设计上不具弹性。
发明内容
有鉴于此,本发明的目的是提供一种存储器的控制装置及控制方法,其具有可编程的存储器协议以更有弹性地控制不同供货商所提供的存储器。
基于上述及其它目的,本发明提出一种存储器的控制装置,该控制装置耦接至存储器并控制存储器执行一操作,其中该操作包括读出、写入或擦除等。该控制装置包括一微控制器、一命令序列发生器(command sequencer)、一命令队列器(command queue)及一对照表(table)。其中,微控制器根据该操作输出一控制信号。命令序列发生器根据该控制信号依序存放执行该操作所需的多个命令集,其中每个命令集各自包括多个命令。命令队列器根据所述命令集的顺序存放相应的多个命令集内容。对照表存放执行该操作所需的该存储器的目标地址及完成该操作所需重复执行的次数。在一实施例中,该存储器为一非易失性存储器。在另一实施例中,该存储器为一闪存。
基于上述及其它目的,本发明提出一种存储器的控制方法,其中该存储器耦接至一控制装置,且该控制装置包括一微控制器、一命令序列发生器、一命令队列器及一对照表。该控制方法首先根据该存储器的一操作,由微控制器控制命令序列发生器依序存放执行该操作所需的多个命令集,其中每个命令集各自包括多个命令。再由命令队列器根据所述命令集的顺序存放相应的多个命令集内容,以及由对照表存放执行该操作所需的存储器的目标地址及完成该操作所需重复执行的次数,其中该操作包括读出、写入、擦除或复制等。接着,由微控制器控制该控制装置配合所述命令集内容依序执行所述命令集。
基于上述及其它目的,本发明提出一种存储器装置,其包括上述的控制装置以及一存储器。上述的控制装置耦接至存储器并控制存储器执行一操作,其中该操作包括读出、写入、擦除或复制等。
本发明藉由微控制器、命令序列发生器、命令队列器及对照表使得存储器协议可编程,因此可以根据不同供货商所提供的存储器采用不同的协议来控制。
为使本发明的上述和其它目的、特征和优点能更明显易懂,下文特举较佳实施例,并结合附图详细说明如下。
附图说明
图1为根据本发明一实施例所绘示的存储器装置的方块图。
图2为根据本发明一实施例的操作存储器所需的命令的分类。
图3为根据本发明一实施例的执行存储器写入操作时所需的命令及其顺序的示意图。
图4为根据本发明一实施例的执行存储器写入操作时命令队列器、命令序列发生器及对照表搭配的示意图。
附图符号说明
100:控制装置
110:微控制器(MCU)
120:命令队列器
130:命令序列发生器
140:对照表
150:存储器接口
160:存储器
addr:目标地址
iteration:重复执行的次数
finish、success、finish:命令集内容
ADDR、BUSY、CMD、DATA、STATUS:命令
EOT:结束传输
具体实施方式
图1为根据本发明一实施例的存储器装置的方块图。请参照图1,存储器装置包括控制装置100、存储器接口150以及存储器160,其中控制装置100包括微控制器(MCU)l10、命令队列器120、命令序列发生器130以及对照表140。控制装置100通过存储器接口150耦接至存储器160并控制存储器160执行一操作,其中该操作包括读出、写入、擦除或复制等。在一实施例中,存储器160可以是非易失性存储器,例如闪存。而对照表140可以是物理区域描述表(physical region descriptor table,PRD table)。
针对上述的操作,虽然各供货商所提供的存储器在下达命令的方式及命令的顺序并不相同,但这些命令可以初步归纳整理为如图2所示。请参照图2,通过存储器接口150,控制装置100对存储器160下达的命令有CMD、ADDR及DATA,而存储器160对控制装置100下达的命令有BUSY、STATUS及DATA。除了命令DATA可以由控制装置100对存储器160下达或由存储器160对控制装置100下达以外,其余的命令仅可以单向下达。其中,每个命令可能可以再细分下去,例如ADDR可分为块(block)地址命令及页(page)地址命令。
以执行存储器160的写入操作为例,一般所需要的命令及其顺序如图3所示。请参照图3,执行写入操作所需的命令依序为CMD、ADDR、DATA、CMD、WT、CMD及STATUS,其中箭头的方向为下达命令的方向,向右则表示由控制装置100对存储器160下达,而向左则表示由存储器160对控制装置100下达。而按照命令之间的相依性还可以将上述操作所需的命令划分成多个指令集,且每个命令集各自包括多个命令。以图3而言,写入操作需要三个命令集,即写入的命令集(其包括命令CMD、ADDR及DATA)、确认写入是否完成的命令集(其包括命令CMD及WT)以及确认写入是否成功的命令集(其包括命令CMD及STATUS)。
下面将以图3所示的写入操作,描述在面对不同供货商提供的存储器时,如何藉由MCU 110、命令队列器120、命令序列发生器130及对照表140所组成的控制装置100对存储器协议做适当的组合及修改,以便可弹性的完成存储器的控制。因此,本发明的控制装置针对不同的存储器不需要额外的硬件(或增加逻辑门数目),画因为将命令通过控制装置储存于硬件内部,不需每个命令都经由MCU下达,故可以降低MCU的耗电量及增加工作效能。
请参照图4,其为执行图3所示的写入操作时图1所示的命令队列器120、命令序列发生器130及对照表(或PRD表)140工作的示意图。为了方便说明起见,请同时参照图1及图4。
MCU 110根据存储器的操作来输出控制信号,在此例该操作为写入操作。命令序列发生器130根据MCU 110的控制信号,依序存放执行写入操作所需的多个命令集,且每个命令集各自包括多个命令。其中,写入操作所需的命令集有三个,即写入的命令集(其包括命令CMD、ADDR及DATA)、确认写入是否完成的命令集(其包括命令CMD及WT)以及确认写入是否成功的命令集(其包括命令CMD及STATUS)。因此,执行写入操作所需的命令依序为CMD、ADDR、DATA、CMD、WT、CMD及STATUS。
命令队列器120根据这些命令集的顺序存放相应的多个命令集内容。例如,命令队列器120依序存放命令集内容write、finish及success,其分别用以指出写入操作所需的命令CMD、ADDR、DATA、CMD、WT、CMD及STATUS中第一个CMD是一个写入命令、第二个CMD是一个确认写入是否完成的命令、第三个CMD是一个确认写入是否成功的命令。
对照表140则存放执行写入操作所需目标地址addr及完成写入操作所需重复执行的次数iteration。其中,目标地址addr用来指出数据写入存储器160的地址。再者,若存储器每次能写入数据的容量最大为32K位,则当要写入容量为160K位的数据时相当于要分五次写入,这时iteration设为5。
请再参照图1与图4,当存储器160进行写入操作时,MCU 110先送出控制信号使命令序列发生器130存放着写入操作所需的且顺序正确的命令,使命令队列器120存放与命令序列发生器130内指令集有关的指令集内容,并使对照表140存放数据要写入存储器160的目标地址addr及重复执行的次数iteration。其中,命令序列发生器130存放的命令依序为CMD、ADDR、DATA、CMD、WT、CMD及STATUS,而命令队列器120存放的命令集内容write、finish及success分别对应到上述命令中的命令CMDs以指示其内容。
然后,控制装置100根据命令队列器120、命令序列发生器130及对照表140开始执行写入操作所需的写入的命令集(其包括命令CMD、ADDR及DATA)、确认写入是否完成的命令集(其包括命令CMD及WT)以及确认写入是否成功的命令集(其包括命令CMD及STATUS)。
详细地说,控制装置100先送出内容为write的命令CMD,因此存储器装置开始执行写入操作,接着配合目标地址addr送出命令ADDR,接着送出命令DATA。当数据写完后,控制装置100送出内容为finish的命令CMD,之后存储器160会送出命令BUSY直到存储器160按目标地址addr将数据搬移至指定位置后才结束命令BUSY。这时,控制装置100会再发出内容为success的命令CMD,以确认写入操作是否成功,而存储器160在收到命令CMD后发出命令STATUS,以告知此次的写入操作成功或失败,最后遇到EOT(end oftransmission,结束传输),控制装置100结束此次的写入操作。
事实上,命令队列器120内所存放的命令集内容(如write、finish等)及命令序列发生器130内所存放的命令(如CMD、ADDR等)都可以用特殊的代码来表示。命令序列发生器130内所存放的命令代码用以触发控制装置100发出与命令代码相应的一些硬件的控制信号(如ALE等),以便控制控制装置100中执行该命令的电路。
综上所述,本发明藉由微处理器送出的控制信号使命令序列发生器存放着有正确执行顺序的命令,并使命令队列器存放与命令序列发生器内指令集有关的指令集内容,再搭配对照表描叙的目标地址及重复执行的次数,因此能产生适当的存储器协议以符合供货商提供的存储器。
虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,本领域的技术人员在不脱离本发明的精神和范围的前提下可作若干的更动与润饰,因此本发明的保护范围以本发明的权利要求为准。
Claims (8)
1. 一种存储器的控制装置,其中该控制装置耦接至该存储器并控制该存储器执行一操作,该控制装置包括:
一微控制器,用以根据该操作输出一控制信号;
一命令序列发生器,用以根据该控制信号依序存放执行该操作所需的多个命令集,其中每一所述命令集各自包括多个命令;
一命令队列器,用以根据所述命令集的顺序存放相应的多个命令集内容;以及
一对照表,用以存放执行该操作所需的该存储器的目标地址。
2. 如权利要求1所述的控制装置,其中该对照表用以存放完成该操作所需重复执行的次数。
3. 如权利要求1所述的控制装置,其中该存储器包括一非易失性存储器。
4. 如权利要求1所述的控制装置,其中该操作包括读出、写入、擦除或复制。
5. 一种存储器装置,其包括如权利要求1所述的控制装置以及一存储器,其中该控制装置耦接至该存储器并控制该存储器。
6. 一种存储器的控制方法,其中该存储器耦接至一控制装置,且该控制装置包括一微控制器、一命令序列发生器、一命令队列器及一对照表,该控制方法包括:
根据该存储器的一操作,由该微控制器控制该命令序列发生器依序存放执行该操作所需的多个命令集,其中每一这些命令集各自包括多个命令;
由该命令队列器根据所述命令集的顺序存放相应的多个命令集内容,以及由该对照表存放执行该操作所需的该存储器的目标地址;
由该微控制器控制该控制装置配合所述命令集内容依序执行这些命令集。
7. 如权利要求6所述的控制方法,还包括由该对照表存放完成该操作所需重复执行的次数。
8. 如权利要求6所述的控制方法,其中该操作包括读出、写入、擦除或复制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100842128A CN101082852B (zh) | 2006-05-29 | 2006-05-29 | 用于存储器的控制装置及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006100842128A CN101082852B (zh) | 2006-05-29 | 2006-05-29 | 用于存储器的控制装置及控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101082852A CN101082852A (zh) | 2007-12-05 |
CN101082852B true CN101082852B (zh) | 2012-07-18 |
Family
ID=38912442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100842128A Expired - Fee Related CN101082852B (zh) | 2006-05-29 | 2006-05-29 | 用于存储器的控制装置及控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101082852B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577086B (zh) * | 2008-05-09 | 2012-01-04 | 联阳半导体股份有限公司 | 串联电路的自动寻址方法及串接数量的自动检测方法 |
CN107885671B (zh) * | 2016-09-30 | 2021-09-14 | 华为技术有限公司 | 一种非易失性内存的持久化方法和计算设备 |
CN108388405B (zh) * | 2017-02-02 | 2021-11-30 | 慧荣科技股份有限公司 | 数据储存装置以及其操作方法 |
TWI636363B (zh) * | 2017-08-08 | 2018-09-21 | 慧榮科技股份有限公司 | 用來於一記憶裝置中進行動態資源管理之方法以及記憶裝置及其控制器 |
WO2020223849A1 (en) * | 2019-05-05 | 2020-11-12 | Yangtze Memory Technologies Co., Ltd. | Memory control system with a sequence processing unit |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4736317A (en) * | 1985-07-17 | 1988-04-05 | Syracuse University | Microprogram-coupled multiple-microprocessor module with 32-bit byte width formed of 8-bit byte width microprocessors |
CN1227953A (zh) * | 1998-02-04 | 1999-09-08 | 松下电器产业株式会社 | 存储器控制装置和存储器控制方法以及存储程序的媒体 |
-
2006
- 2006-05-29 CN CN2006100842128A patent/CN101082852B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4736317A (en) * | 1985-07-17 | 1988-04-05 | Syracuse University | Microprogram-coupled multiple-microprocessor module with 32-bit byte width formed of 8-bit byte width microprocessors |
CN1227953A (zh) * | 1998-02-04 | 1999-09-08 | 松下电器产业株式会社 | 存储器控制装置和存储器控制方法以及存储程序的媒体 |
Also Published As
Publication number | Publication date |
---|---|
CN101082852A (zh) | 2007-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9448743B2 (en) | Mass storage controller volatile memory containing metadata related to flash memory storage | |
CN103282887A (zh) | 用于进行后台操作的控制器和方法 | |
CN101082852B (zh) | 用于存储器的控制装置及控制方法 | |
CN101576852A (zh) | 在非易失性存储器中为从电源故障恢复而绕回序列号 | |
CN101477443B (zh) | 与非闪存控制系统和控制方法 | |
CN102612685A (zh) | 经由存储器高速缓存操纵的无阻碍数据传送 | |
CN102053914A (zh) | 记忆装置以及存储器的数据存取方法 | |
CN114746834A (zh) | 基于分区状态的分区附加命令调度 | |
CN104281413A (zh) | 命令队列管理方法、存储器控制器及存储器储存装置 | |
US7516282B2 (en) | Control device and control method for memory | |
CN108491168A (zh) | 一种读、写命令流的处理方法及固态硬盘 | |
CN107315699A (zh) | 一种tf卡 | |
CN101079005A (zh) | 控制系统及其数据和程序的存储方法 | |
CN106326138A (zh) | 闪存及闪存内部数据的存取控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120718 Termination date: 20200529 |