KR20190000896A - 메모리 디바이스 에러 기반의 적응형 리프레쉬 속도 및 방법 - Google Patents

메모리 디바이스 에러 기반의 적응형 리프레쉬 속도 및 방법 Download PDF

Info

Publication number
KR20190000896A
KR20190000896A KR1020187036074A KR20187036074A KR20190000896A KR 20190000896 A KR20190000896 A KR 20190000896A KR 1020187036074 A KR1020187036074 A KR 1020187036074A KR 20187036074 A KR20187036074 A KR 20187036074A KR 20190000896 A KR20190000896 A KR 20190000896A
Authority
KR
South Korea
Prior art keywords
error
data
memory
refresh rate
control system
Prior art date
Application number
KR1020187036074A
Other languages
English (en)
Other versions
KR102400996B1 (ko
Inventor
이반 일리브 이바노브
Original Assignee
마이크론 테크놀로지, 인크.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 마이크론 테크놀로지, 인크. filed Critical 마이크론 테크놀로지, 인크.
Publication of KR20190000896A publication Critical patent/KR20190000896A/ko
Application granted granted Critical
Publication of KR102400996B1 publication Critical patent/KR102400996B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/04Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/18Conjoint control of vehicle sub-units of different type or different function including control of braking systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W10/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/20Conjoint control of vehicle sub-units of different type or different function including control of steering systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/09Taking automatic action to avoid collision, e.g. braking and steering
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/18Propelling the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/0098Details of control systems ensuring comfort, safety or stability not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/06Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/045Programme control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0014Adaptive controllers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/17Embedded application
    • G06F2212/173Vehicle or other transportation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Biomedical Technology (AREA)
  • Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

하나의 실시예는 자동화 시스템(10)의 동작 파라미터를 결정하는 센서(20); 자동화 시스템(10)의 동작 동안에, 제어 액션을 수행하는 하나 이상의 작동기(22); 및 상기 센서(20)와 상기 하나 이상의 작동기(22)에 통신적으로 연결된 제어 시스템(12)을 포함하는 자동화 시스템(10)을 기술한다. 제어 시스템(12)은, 동작 파라미터를 저장하는 메모리(26)를 포함하고, 메모리 내에 저장된 데이터 내의 메모리 에러의 발생을 결정하고, 메모리 에러의 특징을 표시하는 에러 파라미터를 결정하고, 에러 파라미터에 적어도 부분적으로 기초하여, 메모리 에러를 교정함에 의해 에러-교정된 데이터를 결정하고, 에러 파라미터에 적어도 부분적으로 기초하여, 메모리(26) 내에 저장된 데이터를 리프레쉬하는데 사용되는 리프레쉬 속도를 적응형으로 조절하고, 및 에러-교정된 데이터를 프로세싱함에 의해, 하나 이상의 작동기(22)가 제어 액션을 수행하도록 지시하는 제어 커맨드를 결정한다.

Description

메모리 디바이스 에러 기반의 적응형 리프레쉬 속도 및 방법
본 개시물은 일반적으로 제어 시스템에 관한 것이고, 좀 더 구체적으로, 제어 시스템에서 사용되는 메모리 디바이스에 관한 것이다.
일반적으로, 제어 시스템은, 산업용 시설과 같은 자동화 시스템, 하나 이상의 기계나 자동차의 동작을 제어할 수 있다. 예를 들어, 제어 시스템은 자동화 시스템의 동작 파라미터를 결정 및/또는 사용자 입력을 수신할 수 있다. 또한, 제어 시스템은 동작 파라미터 및/또는 사용자 입력을 프로세스하여, 대응되는 제어 액션을 수행하도록 하기 위해, 자동화 시스템에게 지시하는 제어 커맨드를 결정할 수 있다.
동작 제어를 용이하게 하기 위해, 제어 시스템은 프로세싱 디바이스 및 동작 파라미터, 사용자 입력 및/또는 프로세싱 디바이스에 의해 실행가능한 명령어와 같은 데이터를 저장하는 메모리 디바이스를 포함할 수 있다. 실시에 의존하여, 메모리 디바이스는 하나 이상의 다양한 타입의 메모리를 포함할 수 있다. 예를 들어, 메모리 디바이스는 리드-온리-메모리(ROM)와 같은 비-휘발성 메모리 및/또는 동적 랜덤-액세스 메모리(DRAM)와 같은 휘발성 메모리를 포함할 수 있다.
일부 예시에서, 메모리 에러는 메모리 디바이스 내에 저장된 데이터의 값에 영향을 줄 수 있다. 예를 들어, 고정된 메모리 에러는, 메모리 디바이스(가령, DRAM)의 대응되는 저장 커패시터 내에 저장된 전압의 점차적인 감소 때문에, 데이터 비트의 값이 플립핑(가령, "1"에서 "0"으로, 또는 그와 반대로)을 야기할 수 있다. 제어 시스템이 메모리 디바이스 내에 저장된 데이터에 적어도 부분적으로 기초하여 동작하기 때문에, 메모리 디바이스로부터 출력된 데이터에 존재하는 메모리 에러는 제어 시스템의 동작에, 따라서, 자동화 시스템의 동작에 영향을 줄 수 있다.
도 1은 실시예에 따른, 제어 시스템을 가진 자동화 시스템의 블록도이고;
도 2는 실시예에 따른, 도 1의 제어 시스템을 사용하는 자동차의 개략도이고;
도 3은 실시예에 따른, 도 1의 제어 시스템을 작동시키기 위한 프로세스의 순서도이고;
도 4는 실시예에 따른, 도 1의 제어 시스템 내의 메모리 디바이스의 리프레쉬 속도를 재결정하는지를 결정하기 위한 프로세스의 순서도이고;
도 5는 실시예에 따른, 도 4의 프로세스에서 사용되는 리프레쉬 재결정 스레숄드를 설정하기 위한 프로세스의 순서도이고;
도 6은 실시예에 따른, 메모리 디바이스의 리프레쉬 속도를 적응형으로 조정하기 위한 프로세스의 순서도이고;
도 7은 실시예에 따른, 도 6의 프로세스의 하나의 예시의 순서도이고; 및
도 8은 실시예에 따른, 맞춤형 리프레쉬 속도를 결정하기 위한 프로세스의 순서도이다.
상기에서 언급된 바와 같이, 제어 시스템은, 제조 시스템, 터빈 시스템, 하나 이상의 기계, 공장, 시설, 비행기, 자동차, 자동차 등과 같은 자동화 시스템의 동작 제어를 용이하게 하기 위하여, 프로세싱 디바이스와 메모리 디바이스를 포함할 수 있다. 좀 더 구체적으로, 프로세싱 디바이스는, 메모리 디바이스 내에 저장되는, 자동화 시스템의 동작 파라미터, 센서 데이터, 사용자 입력 및/또는 실행가능한 명령어와 같은 데이터에 적어도 부분적으로 기초하여 동작을 수행할 수 있다. 예를 들어, 제어 커맨드를 결정하기 위해, 프로세싱 디바이스는, 메모리 디바이스 내에 또한 저장될 수 있는 명령어를 실행함에 의해, 메모리 디바이스 내에 저장되는 자동화 시스템의 동작 파라미터를 프로세스 할 수 있다.
실시에 의존하여, 메모리 디바이스는 하나 이상의 다양한 타입의 메모리를 사용할 수 있다. 예를 들어, 메모리 디바이스는 리드-온리 메모리(ROM), 하드 디스크 드라이브, 플래시 메모리, 고체-상태 드라이브 및/또는 유사한 것과 같은 비-휘발성 메모리를 포함할 수 있다. 추가적으로 또는 대안적으로, 메모리 디바이스는 정적 랜덤-액세스 메모리(SRAM), 동적 랜덤-액세스 메모리(DRAM) 및/또는 유사한 것과 같은 휘발성 메모리를 포함할 수 있다.
일부 실시예에서, 메모리 디바이스(가령, DRAM)는 저장 커패시터를 사용하여 데이터를 저장할 수 있다. 구체적으로, 데이터 비트의 값(가령, "0" 또는 "1")은 대응되는 저장 커패시터 내에 저장된 전압에 의해 표시될 수 있다. 예를 들어, 저장 커패시터의 전압이 스레숄드보다 클 때, "1"을, 저장 커패시터의 값이 스레숄드보다 작을 때, "0"을 표시할 수 있다. 따라서, 데이터를 메모리 디바이스에 기입하기 위해, 전기 전력이 하나 이상의 저장 커패시터에 인가되어, 데이터의 각각의 비트를 표시하기 위해 적절한 전압으로 충전할 수 있다. 따라서, 메모리 디바이스로부터 데이터를 판독하기 위해, 각각의 대응되는 저장 커패시터 내에 저장된 전압이 결정(가령, 측정)될 수 있다.
그러나, 메모리 에러는 메모리 디바이스로부터의 출력(가령, 판독)된 데이터에 영향을 줄 수 있다. 예를 들어, 소프트-비트 메모리 에러는, 저장 커패시터와 충돌하여서, 전기 에너지가 전달하여, 저장 커패시터의 전압, 그러므로 대응되는 데이터 비트의 표시된 값이 플립핑(가령, "1"에서 "0"으로, 또는 그 역으로)하도록 하는 중성자에 의해 야기될 수 있다. 또한, 시스템 메모리 에러는 제어 시스템 자체, 가령, 메모리 디바이스 및/또는 메모리 디바이스로부터의 통신 채널에서의 오류에 의해 야기될 수 있다.
더구나, 고정된 메모리 에러는 메모리 디바이스(가령, DRAM)의 저장 커패시터 내에 저장된 전압의 시간에 따른 점차적인 감소에 의해 야기될 수 있다. 예를 들어, 저장 커패시터의 전압이, 저장 커패시터가 "1"의 값을 표시하는 스레숄드 위에서부터, 스레숄드 아래로 감소하여, 표시된 값이 "0"으로 플립핑될 때, 고정된 메모리 에러가 발생할 수 있다. 제어 시스템이 메모리 디바이스로부터의 데이터 판독에 적어도 부분적으로 기초하여, 자동화 시스템의 동작을 제어할 수 있기 때문에, 제어 시스템의 동작, 따라서 자동화 시스템은 메모리 에러의 발생에 의해 영향을 받을 수 있다. 다시 말해, 메모리 에러의 발생은 제어 시스템, 따라서 자동화 시스템의 동작 신뢰성에 영향을 줄 수 있다.
규제부는 자동화 시스템의 동작 신뢰성을 지배하는 표준을 종종 설정한다. 예를 들어, 국제 표준화 기구(ISO)는 ISO 26262에서 자동차의 동작 신뢰성을 지배하는 국제 표준을 제공한다. 구체적으로, ISO 26262는 동작 신뢰성 분류 스킴을 제공하는데, 이는 가장 낮은 것부터 가장 높은 것까지 자동차 안전성 무결성 레벨(ASIL) A, ASIL B, ASIL C 및 ASIL D를 포함한다.
일부 예시에서, 동작 신뢰성 표준(가령, ASIL 분류)을 지배하는 것은, 제어 시스템이 자동차의 동작에 대해 가지는 제어의 양을 기초로하여 가변할 수 있다. 예를 들어, 전통적인 자동차에서, 제어 시스템은 주로 사용자 지시를 기초로 하여 자동차의 동작을 제어할 수 있고, 이는 조절 휠, 가스 페달, 브레이크 페달 및/또는 버튼을 통해 사용자 입력으로서 수신될 수 있다. 주로 사용자 지시를 기초로 제어되기 때문에, 전통적인 자동차를 지배하는 동작 신뢰성 표준은 가령, ASIL A 또는 ASIL B와 같이 더 낮을 수 있다.
다른 한 편으로, 좀 더 진보된 자동차에서, 제어 시스템은 제한된 사용자 지시 또는 사용자 지시 없이 자동차의 적어도 일부의 동작을 자율적으로 제어할 수 있다. 예를 들어, 첨단 운전자 보조 시스템(ADAS)을 실행할 때, 제어 시스템은, 메모리 디바이스로부터, 주변 물체로부터의 거리, 자동차의 방향, 및/또는 자동차의 속도와 같은 동작 파라미터를 결정할 수 있고, 자동차에 자율적으로 지시하여, 주변 물체와 접촉할 것으로 예상될 때, 브레이크를 적용할 수 있다. 또한, 자율 주행 시스템을 실행할 때, 제어 시스템은 메모리 디바이스로부터, 자동차의 현재 위치, 자동차의 타겟 목적지, 현재 위치에서 타겟 목적지까지의 루트, 및/또는 루트와 함께 동작 제약과 같은 동작 파라미터를 결정할 수 있고, 현재 위치에서 타겟 목적지까지 이동하기 위해, 자동차의 동작을 자율적으로 제어할 수 있다. 따라서, 제어 시스템이 동작의 적어도 일부를 제어하는 자동차를 제어하는 동작 신뢰성 표준은 가령, ASIL C 또는 ASIL D와 같이 더 높을 수 있다.
더 높은 동작 신뢰성 표준을 충족시키는 것을 용이하게 하기 위해, 메모리 디바이스로부터 출력(가령, 판독)되는 데이터에서 발생하는 메모리 에러의 가능성 및/또는 개수가 감소될 수 있다. 예를 들어, 고정된 메모리 에러(가령, 저장된 전압의 점차적인 감소로부터 기인하는) 발생의 가능성 및/또는 개수는, 메모리 디바이스(가령, DRAM)을 리프레쉬(가령, 저장된 데이터를 재기입)함에 의해 감소될 수 있다. 사실상, 메모리 디바이스에서 발생하는 고정된 메모리 에러의 가능성 및/또는 개수는 리프레쉬 속도를 증가시킴에 의해 감소될 수 있다.
그러나, 리프레쉬 속도는 메모리 디바이스의 성능에도 영향을 줄 수 있다. 예를 들어, 상기 기술된 바와 같이, 데이터는, 전기 전력을 대응되는 저장 커패시터에 인가함에 의해, 메모리 디바이스 내에 저장(가령, 기입)될 수 있다. 따라서, 메모리 디바이스 내에 저장된 데이터를 리프레쉬하는 것(가령, 재기입)은 전기 전력을 소비할 수 있다.
일부 실시예에서, 전력 소비는 제어 시스템, 따라서 자동화 시스템의 동작 효율성에 영향을 줄 수 있다. 예를 들어, 자동차(가령, 자동화 시스템)에서, 메모리 디바이스에 데이터를 기입하는데 사용되는 전기 전력은, 전기-전력공급되는 자동차에서 전기 모터로도 전기 전력을 공급할 수 있는, 및/또는 가스-전력공급되는 자동차에서 기계 에너지 소스(가령, 내연 기관 엔진)에 의해 충전될 수 있는 전기 에너지 소스(가령, 배터리)로부터 공급될 수 있다. 따라서, 메모리 디바이스의 리프레쉬 속도는 자동차의 주행거리 및/또는 연비에 영향을 줄 수 있다.
또한, 상기에서 기술된 바와 같이, 데이터는, 대응되는 저장 커패시터 내에 저장된 전압을 결정함에 의해, 메모리 디바이스로부터 출력(가령, 판독)될 수 있다. 일부 실시예에서, 동일한 경로(가령, 데이터 라인)는, 데이터를 저장 커패시터 및/또는 다른 저장 커패시터(가령, 동일한 컬럼에서)에 기입하는데 사용되는 것과 같이, 저장 커패시터로부터 데이터를 판독하는데 사용될 수 있다. 따라서, 이러한 실시예에서, 메모리 디바이스는 데이터를 동시에 판독과 기입할 수 없다. 따라서, 데이터를 리프레쉬하는 것(가령, 재기입)은 데이터를 출력하기 위한 메모리 디바이스의 사용가능성(가령, 대역폭)에 영향을 줄 수 있다.
일부 실시예에서, 메모리 디바이스의 사용가능성은 제어 시스템, 따라서 자동화 시스템의 동작 신뢰성에 영향을 줄 수 있다. 예를 들어, 자동차(가령, 자동화 시스템)에서, 제어 시스템은 메모리 디바이스로부터 불러온 동작 파라미터에 기초하여, 자동차의 적어도 일부의 동작을 자율적으로 제어할 수 있다. 그러므로, 메모리 디바이스가 리프레쉬할 때, 제어 시스템은 동작 파라미터를 불러올 수 없어서, 제어 시스템의 능력은 자동차의 동작으로 조절될 수 있다.
다시 말해, 메모리 디바이스의 리프레쉬 속도는 고정된 메모리 에러의 발생, 전력 소비 및/또는 메모리 디바이스 사용가능성(가령, 대역폭) 간에 트레이드오프를 제시할 수 있다. 예를 들어, 리프레쉬 속도를 증가시키는 것은 고정된 메모리 에러의 개수를 감소시키지만, 또한 메모리 디바이스의 전력 소비를 증가시키고, 메모리 디바이스의 사용가능성을 감소시키는 것을 용이하게 할 수 있다. 다른 한 편으로, 리프레쉬 속도를 감소시키는 것은 고정된 메모리 에러의 개수를 증가시키지만, 또한 메모리 디바이스의 전력 소비를 감소시키고, 메모리 디바이스의 사용가능성을 증가시킬 수 있다. 게다가, 일부 예시에서, 고정된 메모리 에러의 발생은 외부(가령, 환경) 조건에 의해 영향을 받을 수 있다. 예를 들어, 고정된 에러 발생의 개수 및/또는 가능성은 메모리 디바이스의 온도가 증가함에 따라 증가할 수 있다.
따라서, 본 개시물은, 가령, 환경 조건 및/또는 이후에 예상되는 메모리 에러의 교정가능성에 기초하여, 제어 시스템 내의 메모리 디바이스(가령, DRAM)의 리프레쉬 속도를 적응형으로 제어(가령, 조절)함에 의해, 자동화 시스템의 동작을 개선하기 위한 테크닉을 제공한다. 상기에서 기술된 바와 같이, 제어 시스템, 따라서 자동화 시스템의 동작 신뢰성은 메모리 에러의 발생에 의해 영향을 받을 수 있다. 메모리 에러가 가질 수 있는 영향을 감소시키는 것을 용이하게 하기 위해, 제어 시스템은 에러 검출과 교정을 수행할 수 있다.
예를 들어, 데이터는 메모리 디바이스로부터 판독될 때, 제어 시스템은 에러 검출 프로세스를 수행하여, 각각의 메모리 에러의 위치 및/또는 각각의 메모리 에러의 에러 타입(가령, 소프트-비트 메모리 에러, 고정된 메모리 에러 및 시스템 메모리 에러)와 같은 에러 파라미터를 결정할 수 있다. 에러 파라미터에 적어도 부분적으로 기초하여, 제어 시스템은 그리고 나서, 에러 교정 프로세스를 수행하여, 데이터에 기초한 동작을 수행하기 전에, 검출된 메모리 에러를 교정할 수 있다. 그러나, 일부 실시예에서, 메모리 에러를 교정하기 위한 에러 교정 프로세스의 능력은, 가령, 교정가능한 메모리 에러의 최대 개수로 제한될 수 있다.
상기에서 기술된 바와 같이, 리프레쉬 속도는 메모리 디바이스(가령, DRAM)로부터 출력(가령, 판독)되는 데이터에서 발생하는 고정된 메모리 에러의 가능성 및/또는 개수에 영향을 줄 수 있다. 예를 들어, 리프레쉬 속도를 증가시키는 것은 고정된 메모리 에러의 개수, 따라서 출력 데이터에서 발생하는 메모리 에러의 전체 개수를 감소시키는 것을 용이하게 할 수 있다. 다시 말해, 메모리 디바이스를 리프레쉬하는 것은 에러 교정 프로세스를 보충하는데 사용될 수 있고, 이는 제어 시스템 및/또는 자동화 시스템의 동작 신뢰성을 개선하는 것을 용이하게 할 수 있다.
사실상, 일부 실시예에서, 제어 시스템은, 에러 교정 프로세스가 메모리 디바이스로부터 이후에 데이터 내의 메모리 에러를 교정할 수 있는 것으로 예상되는지에 적어도 부분적으로 기초하여, 메모리 디바이스(가령, DRAM)의 리프레쉬 속도를 적응형으로 조절할 수 있다. 용이하게 하기 위해, 일부 실시예에서, 제어 시스템은 이후의 출력 데이터에서 발생하는 것으로 예상되는 메모리 에러의 개수를 결정할 수 있다. 일부 실시예에서, 제어 시스템은 에러 파라미터에 적어도 부분적으로 기초하여, 메모리 에러의 예상된 개수를 결정할 수 있는데, 이는 이전의 출력 데이터에 존재하였던 메모리 에러의 개수 및/또는 메모리 디바이스의 온도와 같은 환경 조건을 표시할 수 있다.
메모리 에러의 예상된 개수가 에러 스레숄드보다 클 때, 제어 시스템은, 이후에 출력 데이터 내의 메모리 에러를 충분히 교정할 수 있는 에러 교정 프로세스의 가능성이 낮다고 결정할 수 있다. 따라서, 제어 시스템은 메모리 디바이스(가령, DRAM)의 리프레쉬 속도를 증가시켜서, 고정된 메모리 에러, 따라서 출력 데이터에서 발생하는 메모리 에러의 가능성 및/또는 개수를 감소시키는 것을 용이하게 할 수 있다. 다른 한 편으로, 예상된 메모리 에러의 개수가 에러 교정 스레숄드보다 크지 않을 때, 제어 시스템은, 이후에 출력 데이터 내의 메모리 에러를 충분히 교정할 수 있는 에러 교정 프로세스의 가능성이 높다고 결정할 수 있다. 따라서, 제어 시스템은 메모리 디바이스(가령, DRAM)의 리프레쉬 속도를 유지 또는 심지어 낮출 수 있는데, 이는 전력 소비를 감소시키는 것 및/또는 메모리 디바이스 사용가능성을 개선하는 것을 용이하게 할 수 있다. 이러한 방식으로, 제어 시스템은 동작 신뢰성, 및/또는 제어 시스템 및/또는 자동화 시스템의 동작 효율성을 개선하기 위해, 메모리 디바이스의 리프레쉬 속도를 적응형으로 제어(가령, 조절)할 수 있다.
설명을 돕기 위해, 자동화 시스템(10)의 하나의 실시예가 도 1에 도시된다. 상기에서 기술된 바와 같이, 자동화 시스템(10)은, 제조 시스템, 터빈 시스템, 하나 이상의 기계, 공장, 시설, 비행기, 자동차 및/또는 유사한 것과 같은 임의의 적절한 자동화 시스템일 수 있다. 도 1은 자동화 시스템(10)에서 제시될 수 있는 구성요소의 타입을 설명하기 위한 의도인 특정 실행에의 하나의 예시에 불과하다는 것을 주목해야 한다. 예를 들어, 도시된 실시예에서, 구성요소는 제어 시스템(12), 하나 이상의 입력 디바이스(14), 하나 이상의 출력 디바이스(16), 통신 네트워크(18), 하나 이상의 센서(20), 하나 이상의 작동기(22) 및 전기 에너지 소스(24)를 포함한다.
상기에서 기술된 바와 같이, 제어 시스템(12)은 자동화 시스템(10)의 동작을 제어할 수 있다. 용이하게 하기 위해, 제어 시스템(12)은 메모리 디바이스(26), 프로세싱 디바이스(28) 및 하나 이상의 입/출력(I/O) 포트(30)를 포함할 수 있다. 또한, 동작을 활성화하기 위해, 제어 시스템(12)은 전기 에너지 소스(24)에 전기적으로 연결될 수 있다. 이러한 방식으로, 제어 시스템(12)은 전기 에너지 소스(24)로부터 공급되는 전기 전력을 사용하여 작동할 수 있다. 일부 실시예에서, 전기 에너지 소스(24)는 배터리와 같은 에너지 저장 디바이스 및/또는 기계 에너지를 전기 전력으로 전환하는 알터네이터와 같은 전기 발전기를 포함할 수 있다.
구체적으로, 제어 시스템(12)에서, 전기 전력은 메모리 디바이스(26), 프로세싱 디바이스(28) 및/또는 I/O 포트(30)에 전력 공급하는데 사용될 수 있다. 예를 들어, 전기 전력을 사용하여, 메모리 디바이스(26)는, 입력 디바이스(14)를 통해 수신된 사용자 입력, 센서(20)를 통해 수신된 센서 데이터, 출력 디바이스(16)로 통신되는 정보, 작동기(22)로 통시되는 제어 커맨드, 프로세싱 디바이스(28)에 의해 프로세싱될 데이터 및/또는 프로세싱 디바이스(28)에 의해 실행가능한 명령어와 같은 데이터를 저장 및/또는 출력할 수 있다. 그러므로, 일부 실시예에서, 메모리 디바이스(26)는, 동적 랜덤 액세스 메모리(DRAM)이나 정적 랜덤 액세스 메모리(SRAM)와 같은 휘발성 메모리 및/또는 리드 온리 메모리(ROM), 재기입가능한 플래시 메모리, 하드 드라이브 또는 광학 디스크와 같은 휘발성 메모리와 같은 유형의, 비-일시적, 컴퓨터-판독가능한 매체를 포함할 수 있다.
또한, 전기 전력을 사용하여, 프로세싱 디바이스(28)는 메모리 디바이스(26)에 저장된 데이터에 적어도 부분적으로 기초하여 동작을 수행할 수 있다. 예를 들어, 프로세싱 디바이스(28)는 메모리 디바이스(26) 내에 저장된 명령어를 실행하여, 출력 디바이스(16)로 통신되는 정보, 및/또는 작동기(22)로 통신되는 제어 커맨드를 결정한다. 또한, 프로세싱 디바이스(28)는 자동화 시스템(10)의 동작 파라미터, 센서 데이터 및/또는 메모리 디바이스(26) 내에 저장된 사용자 입력을 프로세스할 수 있다.
더구나, 도시된 바와 같이, I/O 포트(30)는 제어 시스템(12)을, 입력 디바이스(14), 출력 디바이스(16), 통신 네트워크(18), 하나 이상의 센서(20) 및/또는 하나 이상의 작동기(22)와 같은 자동화 시스템(10)의 다른 구성요소에 통신적으로 연결할 수 있다. 일부 실시예에서, 입력 디바이스(14) 및/또는 출력 디바이스(16)는 사용자(가령, 작업자)를 활성화시켜서, 제어 시스템(12)과 상호작용할 수 있다. 예를 들어, 입력 디바이스(14)는 버튼, 키보드, 마우스, 트랙패드, 터치-센시티브 및/또는 사용자가 제어 시스템(12)으로 사용자 입력(가령, 방향)을 제공할 수 있는 유사한 것을 포함할 수 있다. 또한, 출력 디바이스(16)는 디스플레이, 스피커 및/또는 제어 시스템(12)을 활성화시켜서 자동화 시스템(10)의 동작과 관련된 정보를 사용자에게 제공하는 유사한 것을 포함할 수 있다.
더구나, 외부 통신 네트워크(18)는 제어 시스템(12)을 활성화시켜서 외부(가령, 원격) 전자 디바이스와 통신할 수 있다. 예를 들어, 외부 통신 네트워크(18)는 블루투스 네트워크와 같은 개인 영역 네트워크(PAN), 802.11x Wi-Fi와 같은 로컬 영역 네트워크(LAN), 및/또는 4G 또는 LTE 셀룰러 네트워크와 같은 광역 네트워크(WAN)를 포함할 수 있다. 그러므로, 일부 실시예에서, 외부 통신 네트워크(18)는 제어 시스템(12)을 활성화시켜서, 외부 전자 디바이스 및/또는 외부 전자 디바이스의 사용자로부터 사용자 입력을 수신 및/또는 자동화 시스템(10)의 동작과 관련된 정보를 제공할 수 있다.
자동화 시스템(10)의 동작과 관련된 정보를 결정하는 것을 용이하게 하기 위해, 제어 시스템(12)은 가령, 내부 통신 네트워크(31)를 통해, 하나 이상의 센서(20)로부터 센서 데이터를 수신할 수 있다. 일부 실시예에서, 센서(20)는 자동화 시스템(10)의 동작 파라미터를 측정할 수 있고, 동작 파라미터를 메모리 디바이스(26) 내에 저장될 수 있는 센서 데이터로서 제어 시스템(12)으로 통신할 수 있다. 예를 들어, 센서(20)는 제어 시스템(12)의 온도 및/또는 메모리 디바이스(26)의 온도를 측정하는 온도 센서를 포함할 수 있다.
자동화 시스템(10)의 동작을 제어하기 위해, 제어 시스템(12)은 가령 내부 통신 네트워크(31)를 통해, 제어 액션을 수행하기 위해, 작동기(22)에 지시하는 제어 커맨드를 작동기(22)로 통신할 수 있다. 일부 실시예에서, 작동기(22)는 하나 이상의 모터, 엔진, 발전기, 알터네이터, 콤프레서, 발전기, 알터네이터, 터빈, 조종 수단, 브레이킹 수단 및/또는 유사한 것을 포함할 수 있다. 제어 커맨드에 적어도 부분적으로 기초하여, 작동기(22)는 자동화 시스템(10)의 동작을 조절하거나 유지하는 제어 액션을 수행할 수 있다.
설명을 돕기 위해, 자동화 시스템(10), 구체적으로 자동차(10A)의 하나의 예시가 도 2에 도시된다. 자동차(10A)는 단순히 설명적인 의도이지 제한적이 아니라는 점을 인식해야 한다. 상기에서 기술된 바와 같이, 본원에서 기술된 테크닉은 공장, 하나 이상의 기계 등과 같은 자동화 시스템(10)의 다양한 다른 타입에서 실행될 수 있다. 게다가, 도 2에 도시된 자동차(10A)는 존재할 수 있는 구성요소의 타입을 설명하도록 의도된 특정 실행예의 한 예시에 불과하다는 것을 주목해야 한다.
상기에서 기술된 바와 같이, 내부 통신 네트워크(31)는 제어 시스템(12)을 하나 이상의 작동기(22) 및/또는 센서(20)와 통신적으로 연결할 수 있다. 일부 실시예에서, 내부 통신 네트워크(31)는 컨트롤러 영역 네트워크(CAN), 로컬 상호연결 네트워크(LIN) 및/또는 유사한 것을 포함할 수 있다. 이러한 방식으로, 제어 시스템(12)은 센서(20)로부터 센서 데이터(가령, 자동차(10A)의 동작 파라미터)를 수신하고, 메모리 디바이스(26) 내에 센서 데이터를 저장할 수 있다. 자동차(10A)에서, 센서(20)는 자동차(10A)의 일부의 온도를 결정하는 온도 센서, 자동차(10A)의 현재 위치를 결정하는 글로벌 포지셔닝 시스템(GPS) 센서, 주변 물체로부터 자동차(10A)의 거리를 결정하는 근접 센서 및/또는 유사한 것을 포함할 수 있다.
또한, 이러한 방식으로, 제어 시스템(12)은, 전기 에너지 소스(24), 브레이킹 시스템(38), 기계 에너지 소스(40) 및/또는 조종 시스템(42) 내에 포함된 작동기(22)로 제어 커맨드를 통신할 수 있다. 예를 들어, 제어 시스템(12)은 액슬(44) 및/또는 액슬(44)에 연결된 타이어(46)를 작동(가령, 회전)함에 의해, 자동차(10A)의 속도를 증가시키기 위해, 기계 에너지 소스(40)에 지시할 수 있다. 일부 실시예에서, 기계 에너지 소스(40)는 전기 모터 및/또는 내연기관 엔진을 포함할 수 있다. 속도를 증가시키기 위해, 제어 시스템(12)은 기계 에너지 소스(40)에 공급되는 연료를 증가시키기 위해, 자동차(10A)에 지시할 수 있다. 예를 들어, 제어 시스템(12)은, 내연기관 엔진으로 공급되는 가솔린을 증가시키기 위해, 자동차(10A)에 지시하고, 및/또는 전기 모터에 공급되는 전기 전력을 증가시키기 위해, 전기 에너지 소스(24)에 지시할 수 있다.
또한, 일부 실시예에서, 기계 에너지 소스(40)는, 기계 에너지를 전기 에너지로 전환하는 알터네이터와 같은 전기 발전기를 포함할 수 있다. 이러한 방식으로, 전기 에너지 소스(24)는, 이후에 자동차(10A)의, 가령, 제어 시스템(12), 히팅, 환풍기 및 에어 콘디셔닝(HVAC) 시스템, 자동차 콘솔, 전기 모터 또는 유사한 것과 같은 전기 구성요소로 공급될 수 있는 전기 에너지를 캡쳐할 수 있다. 따라서, 이러한 실시예에서, 제어 시스템(12)은, 자동차(10A)를 추진하기 위해 기계 에너지를 사용할 때와 기계 에너지를 전기 에너지 소스(24)로 공급되는 전기 전력으로 전환할 때, 기계 에너지 소스(40)에 지시할 수 있다.
더구나, 제어 시스템(12)은 액슬(44) 및/또는 액슬(44)에 연결된 타이어(46)의 작동(가령, 회전)에 저항을 줌에 의해, 자동차(10a)의 속도를 감소시키기 위해, 브레이킹 시스템(38)에 지시할 수 있다. 일부 실시예에서, 브레이킹 시스템(38)은 마찰 브레이킹 시스템 및/또는 회생 브레이킹 시스템일 수 있다. 속도를 감소시키기 위해 마찰 브레이킹을 사용할 때, 제어 시스템(12)은 브레이킹 시스템(38)에 지시하여, 기계 구성요소(가령, 브레이크 패드)를 액슬(44)에 인가하여서, 액슬(44) 및/또는 액슬(44)에 연결된 타이어(46)의 회전으로부터의 기계 에너지를 열로 전환하는 마찰을 생성할 수 있다.
속도를 감소시키기 위해 회생 브레이킹을 사용할 때, 제어 시스템(12)은 회생 브레이킹 시스템에 지시하여, 전기 발전기를 액슬(44)에 연결하여서, 액슬(44) 및/또는 액슬(44)에 연결된 타이어(46)의 회전으로부터의 기계 에너지를 전기 에너지로 전환할 수 있다. 다시 말해, 회생 브레이킹을 사용할 때, 브레이킹 시스템(38)은 기계 에너지를 전기 에너지 소스(24)에 공급되는 전기 전력으로 전환할 수 있다. 이러한 방식으로, 전기 에너지 소스(24)는, 이후에 자동차(10A)의 전기 구성요소로 공급될 수 있는 전기 에너지를 캡쳐할 수 있다.
또한, 제어 시스템(12)은 조종 시스템(42)에 지시하여, 액슬(44) 및/또는 액슬(44)에 연결된 타이어(46)의 각도를 조절함에 의해, 자동차(10A)가 이동하는 방향을 조절할 수 있다. 일부 실시예에서, 조종 시스템(42)은 조종 휠, 조종 컬럼, 및/또는 조종 링키지를 포함할 수 있다. 이동 방향을 조절하기 위해, 제어 시스템(12)은 조종 시스템(42)에 지시하여, 타이어(46)에 연결된 조종 링키지를 작동하여서, 타이어(46)의 각도를 변경할 수 있다.
상기에서 기술된 바와 같이, 제어 시스템(12)은 사용자 입력에 적어도 부분적으로 기초하여, 자동화 시스템(10)의 동작을 제어할 수 있다. 예를 들어, 제어 시스템(12)은 기계 에너지 소스(40)에 지시하여, 가스 페달(가령, 입력 디바이스(14))가 작동될 때, 자동차(10A)의 속도를 증가시킬 수 있다. 또한, 제어 시스템(12)은 브레이킹 시스템(38)에 지시하여, 브레이크 페달(가령, 입력 디바이스(14))가 작동될 때, 자동차(10A)의 속도를 감소시킬 수 있다. 더구나, 제어 시스템(12)은 조종 시스템(42)에 지시하여, 조종 휠(가령, 입력 디바이스(14))가 작동될 때, 자동차(10A)의 방향을 조절할 수 있다.
다른 실시예에서, 제어 시스템(12)은 자동화 시스템(10)의 동작 파라미터에 기초하여, 자동화 시스템(10)의 적어도 일부의 동작을 자율적으로(가령, 사용자 지시 없거나, 제한된 사용자 지시로) 제어할 수 있다. 예를 들어, 제어 시스템(12)은 자율적으로 브레이킹 시스템(38)에 지시하여, 주변 물체로부터 자동차(10A)의 거리, 자동차(10A)의 방향 및/또는 자동차(10A)의 속도에 적어도 부분적으로 기초하여, 자동차(10A)의 속도를 감소시킬 수 있다. 추가적으로나 대안적으로, 제어 시스템(12)은 자율적으로 기계 에너지 소스(40), 전기 에너지 소스(24), 브레이킹 시스템(38) 및/또는 조종 시스템(42)에 지시하여, 자동차(10A)가 자동차(10A)의 현재 위치, 자동차(10A)의 타겟 목적지 및/또는 루트에 따른 동작 제약(가령, 속도 제한, 교통량 및/또는 주변 물체)에 적어도 부분적으로 기초하여, 결정된 루트를 이동하도록 동작할 수 있다.
도 1로 되돌아오면, 상기에서 기술된 바와 같이, 제어 시스템(12)에 의해 실행가능한 동작 파라미터 및/또는 명령어는 메모리 디바이스(26) 내에 저장될 수 있다. 그러나, 메모리 에러는 메모리 디바이스(26) 내에 저장된 데이터에서 발생할 수 있어서, 제어 시스템(12) 및/또는 자동화 시스템(10)의 동작에 영향을 준다. 예를 들어, 메모리 디바이스(26)는 DRAM을 포함할 때, 고정된 메모리 에러는, 저장 커패시터의 전압의 점차적인 감소가 대응되는 데이터 비트의 표시된 값이 플립핑(가령, "1"로부터 "0"으로, 또는 그 역으로)될 때, 발생할 수 있다. 상기에서 기술된 바와 같이, 일부 실시예에서, 메모리 디바이스(26)(가령, DRAM)를 리프레쉬하는 것은 메모리 디바이스(26)에서 발생하는 고정된 메모리 에러의 가능성 및/또는 개수를 감소시키는 것을 용이하게 할 수 있다.
고정된 메모리 에러에 추가로, 일부 예시에서, 다른 타입의 메모리 에러가 메모리 디바이스(26)에서 발생할 수 있다. 예를 들어, 소프트-비트 메모리 에러는, 중성자가 저장 커패시터를 쳐서, 대응되는 데이터 비트의 표시된 값이 플립핑(가령, "1"로부터 "0"으로, 또는 그 역으로)되는 방식으로 저장 커패시터의 전압을 변경시킬 때, 발생할 수 있다. 또한, 시스템 메모리 에러는, 메모리 디바이스(26)로부터의 오류 통신 채널(가령, 데이터 버스), 오류 저장 커패시터 및/또는 오류 절연과 같이, 제어 시스템(12) 내의 오류 때문에 발생할 수 있다.
동작 신뢰성에 영향을 주는 메모리 에러의 가능성을 줄이기 위해, 프로세싱 디바이스(28)는 에러 검출 프로세스(32) 및/또는 에러 교정 프로세스(34)를 수행할 수 있다. 예를 들어, 프로세싱 디바이스(28)는, 데이터가 메모리 디바이스(26)로부터 판독될 때마다, 에러 검출 프로세스(32)와 에러 교정 프로세스를 수행할 수 있다. 에러 검출 프로세스(32)를 수행함에 의해, 제어 시스템(12)은, 각각의 메모리 에러의 위치 및/또는 각각의 메모리 에러의 에러 타입(가령, 소프트-비트 메모리 에러, 고정된 메모리 에러 및 시스템 메모리 에러)와 같은 판독 데이터에서 발생하는 메모리 에러의 특징(가령, 에러 파라미터)을 결정할 수 있다. 일부 실시예에서, 프로세싱 디바이스(28)는 결정된 메모리 파라미터를 에러 로그(36) 내에 저장할 수 있다.
에러 파라미터에 적어도 부분적으로 기초하여, 프로세싱 디바이스(28)는 판독 데이터에서 검출되는 메모리 에러를 교정하기 위해, 에러 교정 프로세스(34)를 수행할 수 있다. 예를 들어, 에러 파라미터가 판독 데이터 내의 비트의 값이 메모리 에러에 의해 영향 받는다는 것을 표시할 때, 에러 교정 프로세스(34)는 비트를 그에 따라 비트의 값을 조절할 수 있다(가령, "0"으로부터 "1"로 또는 그 역으로). 따라서, 프로세싱 디바이스(28)는 에러 로그(36)로부터 에러 파라미터를 불러올 수 있다. 에러 교정 프로세스(34)를 수행한 이후에, 프로세싱 디바이스(28)는 에러-교정된 데이터에 기초하여 동작을 수행할 수 있다. 이러한 방식으로 제어 시스템(12)을 작동시킴에 의해, 제어 시스템(12) 및/또는 자동화 시스템(10)의 동작에 영향을 주는 메모리 에러의 가능성은 감소되어서, 동작 신뢰성을 개선할 수 있다.
설명을 돕기 위해, 제어 시스템(12)을 작동시키기 위한 프로세스(48)의 한 실시예가 도 3에 기술된다. 일반적으로, 프로세스(48)는 메모리 디바이스로부터의 데이터를 출력하는 단계(프로세스 블록(50)), 에러 검출을 수행하는 단계( 프로세스 블록(52)), 에러 교정을 수행하는 단계(프로세스 블록(54)), 메모리 디바이스의 리프레쉬 속도를 재결정할지를 결정하는 단계(결정 블록(56)), 리프레쉬 속도가 재결정될 때, 리프레쉬 속도를 결정하는 단계(프로세스 블록(58)) 및 메모리 디바이스로부터 출력된 데이터를 프로세싱 하는 단계(프로세스 블록(60))을 포함한다. 일부 실시예에서, 프로세스(48)는, 프로세싱 디바이스(28)와 같은 프로세싱 회로를 사용하여, 메모리 디바이스(26)와 같은 유형의 비-일시적 컴퓨터-판독가능한 매체 내에 저장된 명령어를 실행함에 의해 실시될 수 있다.
따라서, 일부 실시예에서, 제어 시스템(12)은 메모리 디바이스(26)에 지시하여, 메모리 디바이스(26) 내의 타겟 어드레스에 저장된 데이터를 출력할 수 있다(프로세스 블록(50)). 이러한 실시예에서, 메모리 디바이스(26)는, 가령 타겟 어드레스에서의 저장 커패시터의 저장 커패시터의 전압을 결정함에 의해, 저장된 데이터를 불러(가령, 판독)올 수 있다. 상기에서 기술된 바와 같이, 저장된 데이터는 자동화 시스템(10)의 동작 파라미터, 센서 데이터, 사용자 입력 및/또는 실행가능한 명령어를 포함할 수 있다. 그리고 나서, 메모리 디바이스(26)는 가령, 통신 채널 및/또는 데이터 버스를 통해, 프로세싱 디바이스(28)로 저장된 데이터를 통신(가령, 출력)할 수 있다.
일부 실시예에서, 메모리 디바이스(26)는, 프로세싱 디바이스(28)로 출력하기 전에, 에러 체크 데이터로 저장된 데이터를 증가시킬 수 있다. 예를 들어, 메모리 디바이스(26)는 저장된 데이터의 복수의 복사본(가령, 에러 체크 데이터)을 만들 수 있고, 복사본을 직렬 및/또는 병렬로 프로세싱 디바이스(28)로 전송할 수 있다. 추가적으로 또는 대안적으로, 메모리 디바이스(26)는 저장된 데이터에 해시 함수를 수행하여, 패리티 비트, 체크섬 비트, 사이클릭 리던던시 비트, 해시 값 및/또는 저장된 데이터와 연관되고 출력될 수 있는 해시 함수 결과(가령, 에러 체크 데이터)를 결정할 수 있다.
또한, 제어 시스템(12)은 에러 검출 프로세스(32)를 수행하기 위해 프로세싱 디바이스(28)에 지시함에 의해, 출력 데이터에서 메모리 에러의 발생을 검출할 수 있다(프로세스 블록(52)). 상기에서 기술된 바와 같이, 에러 검출 프로세스(32)를 수행함에 의해, 프로세싱 디바이스(28)는 검출된 메모리 에러의 특징(가령, 에러 파라미터)을 결정할 수 있다. 일부 실시예에서, 에러 파라미터는 출력 데이터에서 검출된 메모리 에러의 위치, 각각의 검출된 메모리 에러의 에러 타입(가령, 소프트-비트 메모리 에러, 고정된 메모리 에러 및 시스템 메모리 에러), 검출된 메모리 에러의 전체 개수, 및/또는 메모리 에러의 각각의 에러 타입의 개수를 포함할 수 있다. 또한, 일부 실시예에서, 프로세싱 디바이스(28)는 에러 로그(36) 내에 에러 파라미터를 저장할 수 있다.
더구나, 일부 실시예에서, 프로세싱 디바이스(28)는, 출력 데이터 내에 포함된 에러 체크 데이터에 적어도 부분적으로 기초하여, 에러 검출 프로세스(32)를 수행할 수 있다. 예를 들어, 에러 체크 데이터가 저장된 데이터의 복사본(가령, 사본(repetition))을 포함할 때, 프로세싱 디바이스(28)는 복사본을, 메모리 디바이스(26)로부터 수신되는 저장된 데이터의 또 다른 복사본과 비교할 수 있다. 추가적으로 또는 대안적으로, 에러 체크 데이터는 해시 함수 결과를 포함할 때, 프로세싱 디바이스(28)는 출력 데이터의 저장된 데이터 부분에 해시 함수를 수행하여, 또 다른 해시 함수 결과를 결정하고, 해시 함수 결과들을 비교할 수 있다.
에러 검출 프로세스(32)의 결과에 기초하여, 제어 시스템(12)은, 에러 교정 프로세스(34)를 수행하기 위해 프로세싱 디바이스(28)에 지시함에 의해, 출력 데이터 내의 검출된 메모리 에러를 교정할 수 있다(프로세스 블록(54)). 상기에서 기술된 바와 같이, 프로세싱 디바이스(28)는, 에러 로그(36)에 저장될 수 있어서, 이로부터 불러올 수 있는 에러 파라미터에 적어도 부분적으로 기초하여, 에러 교정 프로세스(34)를 수행할 수 있다. 예를 들어, 위치(가령, 에러 파라미터)에 기초하여, 프로세싱 디바이스(28)는 표시된 위치에서 데이터 비트의 값을 조절할 수 있다. 디지털 데이터에 대하여, 프로세싱 디바이스(28)는 "1"로부터 "0"으로, 또는 "0"으로부터 "1"로 데이터 비트의 값을 조절할 수 있다.
더구나, 제어 시스템(12)은 메모리 디바이스(26)의 리프레쉬 속도를 재결정할 지를 결정할 수 있다(결정 블록(56)). 상기에서 기술된 바와 같이, DRAM을 사용할 때, 메모리 디바이스(26)를 리프레쉬하는 것은 메모리 디바이스(26)의 성능에 영향을 줄 수 있다. 예를 들어, 더 높은 리프레쉬 속도는, 출력 데이터 내의 고정된 메모리 에러의 가능성 및/또는 개수를 감소시키는 것, 그러나 또한 전력 소비를 증가시키고, 및/또는 메모리 디바이스(26)의 사용가능성(가령, 대역폭)을 감소시키는 것을 용이하게 할 수 있다. 다른 한 편으로, 더 낮은 리프레쉬 속도는, 출력 데이터 내의 고정된 메모리 에러의 가능성 및/또는 개수를 증가시키는 것, 그러나 또한 전력 소비를 감소시키고, 및/또는 메모리 디바이스의 사용가능성을 증가시킬 수 있다. 다시 말해, 리프레쉬 속도를 재결정하는 것은, 메모리 디바이스(26)를 리프레쉬하는 것이 동작에 미치는 영향을 리밸런싱하는 것을 용이하게 할 수 있다.
일부 실시예에서, 제어 시스템(12)은, 메모리 디바이스(26)의 리프레쉬 속도는 메모리 디바이스(26)가 데이터를 출력할 때마다 재결정되어야 한다고 결정할 수 있다. 그러나, 이하에서 설명될 바와 같이, 리프레쉬 속도를 재결정하는 것은 순간보다 적을 수 있고, 및/또는 연산 자원을 사용할 수 있다. 따라서, 다른 실시예에서, 제어 시스템(12)은 메모리 디바이스(26)의 리프레쉬 속도를 주기적으로 재결정할 수 있다.
설명을 돕기 위해, 메모리 디바이스(26)의 리프레쉬 속도를 재결정할 지를 결정하기 위한 프로세스(62)의 하나의 실시예가 도 4에 기술된다. 일반적으로, 프로세스(62)는, 메모리 디바이스의 리프레쉬 속도가 마지막으로 결정된 이후에, 구간을 결정하는 단계(프로세스 블록(64)), 구간이 리프레쉬 재결정 스레숄드보다 큰지를 결정하는 단계(결정 블록(66)), 구간이 리프레쉬 재결정 스레숄드보다 클 때, 메모리 디바이스의 리프레쉬 속도를 재결정하는 단계(프로세스 블록(68)), 및 구간이 리프레쉬 재결정 스레숄드보다 크지 않을 때, 현재 리프레쉬 속도를 사용하는 단계(프로세스 블록(70))를 포함한다. 일부 실시예에서, 프로세스(62)는, 프로세싱 디바이스(28)와 같은 프로세싱 회로를 사용하여, 메모리 디바이스(26)와 같은 유형의 비-일시적 컴퓨터-판독가능한 매체 내에 저장된 명령어를 실행함에 의해 실시될 수 있다.
따라서, 일부 실시예에서, 제어 시스템(12)은, 메모리 디바이스(26)의 리프레쉬 속도가 마지막으로 결정된 이후에, 구간을 결정할 수 있다(프로세스 블록(64)). 실시예에 의존하여, 제어 시스템(12)은 하나 이상의 메트릭을 사용하여 구간을 추적할 수 있다. 예를 들어, 제어 시스템(12)은 클록 사이클의 개수와 같이 고정된 시간에 기초하여 구간을 추적할 수 있다. 추가적으로나 대안적으로, 제어 시스템(12)은, 메모리 디바이스(26)가 데이터를 출력하는 횟수와 같이, 상대적인 시간을 사용하여 구간을 추적할 수 있다.
그리고 나서, 제어 시스템(12)은, 구간이 리프레쉬 재결정 스레숄드보다 큰지를 결정할 수 있다(결정 블록(66)). 예를 들어, 제어 시스템(12)은, 리프레쉬 속도가 마지막으로 결정되었던 이후에 경과되는 클록 사이클의 개수와 클록 사이클 재결정 스레숄드(가령, 클록 사이클의 특정한 개수)를 비교할 수 있다. 추가적으로나 대안적으로, 제어 시스템(12)은, 리프레쉬 속도가 마지막으로 결정되었던 이후에 메모리 디바이스(26)가 데이터를 출력하는 횟수와 메모리 출력 리프레쉬 재결정 스레숄드(가령, 메모리 출력의 특정 개수)를 비교할 수 있다.
다시 말해, 리프레쉬 재결정 스레숄드는, 메모리 디바이스(26)의 리프레쉬 속도가 얼마나 자주 재결정되는지를 지배하기 위해 설정될 수 있다. 예를 들어, 리프레쉬 속도가 좀 더 자주 재결정되어야 한다고 결정될 때, 리프레쉬 재결정 스레숄드는 더 낮아질 수 있다. 다른 한 편으로, 리프레쉬 속도가 좀 덜 자주 재결정되어야 한다고 결정될 때, 리프레쉬 재결정 스레숄드는 더 높아질 수 있다.
설명을 돕기 위해, 리프레쉬 재결정 스레숄드를 설정하기 위한 프로세스(72)의 하나의 실시예가 도 5에 기술된다. 일반적으로, 프로세스(72)는, 메모리 디바이스 내의 예상된 메모리 에러 증가 속도를 결정하는 단계(프로세스 블록(74)) 및 리프레쉬 재결정 스레숄드를 설정하는 단계(프로세스 블록(76))를 포함한다. 일부 실시예에서, 프로세스(72)는, 프로세싱 디바이스(28)와 같은 프로세싱 회로를 사용하여, 메모리 디바이스(26)와 같은 유형의 비-일시적 컴퓨터-판독가능한 매체 내에 저장된 명령어를 실행함에 의해 실시될 수 있다. 더구나, 일부 실시예에서, 프로세스(72)는 리프레쉬 재결정 스레숄드를 미리결정하기 위해, 제조자에 의해 실시될 수 있다. 추가적으로나 대안적으로, 일부 실시예에서, 프로세스(72)는 리프레쉬 재결정 스레숄드를 적응형으로 조절하기 위해, 제어 시스템(12)에 의해 실시될 수 있다.
그러므로, 이러한 실시예에서, 제어 시스템(12)은 메모리 디바이스(26)에서 발생하는 메모리 에러의 가능성 및/또는 개수의 예상된 변화의 속도를 결정할 수 있다(프로세스 블록(74)). 일부 실시예에서, 메모리 에러의 가능성 및/또는 개수는, 메모리 디바이스(26)의 온도 및/또는 주변 방사선(가령, 중성자) 활동과 같은 환경 조건에 의해 영향 받을 수 있다. 그러므로, 일부 실시예에서, 제어 시스템(12)은, 환경 조건이 얼마나 변할 것으로 예상되는지 및 환경 조건의 예상된 변화에 적어도 부분적으로 기초하여, 메모리 에러의 개수의 변화(가령, 증가 또는 감소)의 예상된 속도를 결정할 수 있다.
예상된 변화의 속도에 적어도 부분적으로 기초하여, 제어 시스템(12)은 리프레쉬 재결정 스레숄드를 설정할 수 있다. 예를 들어, 메모리 에러의 가능성 및/또는 개수가 점차적으로 변화할 것으로 예상될 때, 제어 시스템(12)은 더 긴 리프레쉬 재결정 스레숄드를 설정할 수 있다. 다른 한 편으로, 메모리 에러의 가능성 및/또는 개수가 빠르게 변화할 것으로 예상될 때, 제어 시스템(12)은 더 짧은 리프레쉬 재결정 스레숄드를 설정할 수 있다. 일부 실시예에서, 제어 시스템(12)은 가령, 메모리 디바이스(26) 내에 리프레쉬 재결정 스레숄드를 저장할 수 있다.
도 4의 프로세스(62)로 되돌아 오면, 구간이 리프레쉬 재결정 스레숄드보다 더 크지 않을 때, 제어 시스템(12)은 리프레쉬 속도가 재결정되지 않아야 한다고 결정할 수 있어서, 메모리 디바이스(26)는 그 현재 리프레쉬 속도를 계속 사용해야 한다(프로세스 블록(70)). 다른 한 편으로, 구간이 리프레쉬 재결정 스레숄드보다 더 클 때, 제어 시스템(12)은 메모리 디바이스(26)의 리프레쉬 속도가 재결정되어야 한다고 결정할 수 있다(프로세스 블록(68)). 추가적으로나 대안적으로, 구간이 구간 스레숄드보다 더 크지않더라도, 제어 시스템(12)은 리프레쉬 속도가, 사용자 입력 및/또는 환경 조건의 변화(가령, 환경 온도 및/또는 방사선 활동의 증가)와 같은 외부 환경에 기초하여 재결정되어야 한다고 결정할 수 있다.
도 3의 프로세스(48)로 되돌아 오면, 리프레쉬 속도가 재결정되지 않을 때, 제어 시스템(12)은 프로세싱 디바이스(28)에 지시하여, 에러-교정된 데이터를 적어도 부분적으로 기초하여 동작을 수행할 수 있다(프로세스 블록(60). 예를 들어, 에러-교정된 데이터가 동작 파라미터를 포함할 때, 프로세싱 디바이스(28)는 동작 파라미터를 프로세스하여, 자동화 시스템(10)의 동작과 관련된 제어 커맨드 및/또는 정보를 결정할 수 있는데, 이는 출력 디바이스(16)를 통해 사용자(작업자)에게 제시될 수 있다. 추가적으로, 에러-교정된 데이터가 명령어를 포함할 때, 프로세싱 디바이스(28)는 명령어를 실행하여서, 자동화 시스템(10)의 동작과 관련된 제어 커맨드 및/또는 정보를 결정할 수 있다. 메모리 디바이스(26)로부터의 출력 데이터에 비해, 메모리 에러를 덜 포함할 것이므로, 에러-교정된 데이터에 적어도 부분적으로 기초하여 제어 시스템(12)을 작동시키는 것은 제어 시스템(12) 및/또는 자동화 시스템(10)의 동작 신뢰성을 개선할 수 있다.
다른 한 편으로, 리프레쉬 속도가 재결정되어야 할 때, 제어 시스템(12)은 메모리 디바이스(26)의 이후의 동작 동안에 사용될 리프레쉬 속도를 결정할 수 있다(프로세스 블록(58)). 상기에서 기술된 바와 같이, 메모리 디바이스(26)(가령, DRAM)를 리프레쉬하는 것은 고정된 메모리 에러의 가능성 및/또는 개수를 감소시키는 것을 용이하게 하여, 에러 교정 프로세스(34)를 보충하는데 사용된다. 그러므로, 일부 실시예에서, 제어 시스템(12)은, 에러 교정 프로세스(34)가 메모리 디바이스로부터의 이후에 출력 데이터에서 발생하는 메모리 에러를 교정할 수 있는 것으로 예상되는지에 적어도 부분적으로 기초하여, 리프레쉬 속도를 적응형으로 조절할 수 있다.
설명을 돕기 위해, 메모리 디바이스(26)의 리프레쉬 속도를 결정하기 위한 프로세스(78)의 하나의 실시예가 도 6에 기술된다. 일반적으로, 프로세스(78)는 현재 리프레쉬 속도를 결정하는 단계(프로세스 블록(80)), 에러 파라미터를 결정하는 단계(프로세스 블록(82)), 시스템 파라미터를 결정하는 단계(프로세스 블록(84)), 이후에 발생하는 메모리 에러가 교정가능할 것으로 예상되는지를 결정하는 단계(결정 블록(86)), 교정가능할 것으로 예상될 때, 현재 리프레쉬 속도를 감소시키거나 유지하는 단계(프로세스 블록(88)), 및 교정가능할 것으로 예상되지 않을 때, 현재 리프레쉬 속도를 증가시키거나, 및/또는 스크러빙 동작을 수행하는 단계(프로세스 블록(90))를 포함한다. 일부 실시예에서, 프로세스(78)는, 프로세싱 디바이스(28)와 같은 프로세싱 회로를 사용하여, 메모리 디바이스(26)와 같은 유형의 비-일시적 컴퓨터-판독가능한 매체 내에 저장된 명령어를 실행함에 의해 실시될 수 있다.
그러므로, 일부 실시예에서, 제어 시스템(12)은 메모리 디바이스(26)의 현재 리프레쉬 속도를 결정할 수 있다(프로세스 블록(80)). 일부 실시예에서, 현재 리프레쉬 속도는 디폴트 리프레쉬 속도일 수 있거나, 디폴드 리프레쉬 속도와 상이한 조절된 리프레쉬 속도일 수 있다. 예를 들어, 디폴트 리프레쉬 속도가 15.625Hz(가령, 매 64ms 마다 리프레쉬)일 때, 조절된 리프레쉬 속도는 15.625Hz보다 작을 수 있거나(가령, 13.89Hz, 12.5Hz, 11.36Hz, 10.42Hz, 9.52Hz, 8.33Hz, 1Hz 등), 15.625Hz보다 클 수 있다(가령, 16Hz, 17.86Hz, 20.83Hz, 25Hz, 31.25Hz, 120Hz 등). 또한, 일부 실시예에서, 현재 리프레쉬 속도는 메모리 디바이스(26)에 저장될 수 있어서, 이로부터 불러올 수 있다.
또한, 제어 시스템(12)은 에러 파라미터를 결정할 수 있다(프로세스 블록(82)). 상기에서 기술된 바와 같이, 에러 파라미터는 에러 로그(36) 내에 저장될 수 있어서, 이로부터 불러올 수 있다. 또한, 제어 시스템(12)은 시스템 파라미터를 결정할 수 있다(프로세스 블록(84)). 일부 실시예에서, 시스템 파라미터는, 메모리 디바이스(26)의 온도와 같은 자동화 시스템(10)의 동작 파라미터 및/또는 환경 온도와 같은 환경 파라미터를 포함할 수 있다. 또한, 일부 실시예에서, 시스템 파라미터는, 하나 이상의 센서(20), 하나 이상의 입력 디바이스(14), 외부 통신 네트워크(18) 및/또는 메모리 디바이스(26)로부터 수신될 수 있다.
에러 파라미터 및/또는 시스템 파라미터에 적어도 부분적으로 기초하여, 제어 시스템(12)은, 메모리 디바이스로부터 이후에 출력된 데이터에서 발생하는 메모리 에러가 가령 에러 교정 프로세스(34)를 수행함에 의해 교정가능할 것으로 예상되는지를 결정할 수 있다(결정 블록(86)). 메모리 에러가 교정가능한 것으로 계상되지 않을 때, 제어 시스템(12)은, 메모리 디바이스(26)에 지시하여, 고정된 메모리 에러의 가능성 및/또는 개수를 감소시키는 것을 용이하게 할 수 있는 리프레쉬 속도를 증가시킬 수 있고, 및/또는 프로세싱 디바이스(28)에 지시하여, 메모리 디바이스(26)로부터 저장된 데이터를 판독하는 단계, 데이터에 에러 교정을 수행하는 단계 및 메모리 디바이스(26)로 다시 에러-교정 데이터를 저장하는 단계를 포함할 수 있는 스크러빙 동작을 수행할 수 있다(프로세스 블록(90)). 다른 한 편으로, 메모리 에러가 교정가능한 것으로 예상될 때, 제어 시스템(12)은 메모리 디바이스(26)에 지시하여, 그 현재 리프레쉬 속도를 유지하고, 및/또는 리프레쉬 속도를 감소시킬 수 있는데, 이는 메모리 디바이스(26)의 전력 소비 및/또는 사용가능성을 감소시키는 것을 용이하게 할 수 있다(프로세스 블록(88)).
메모리 디바이스(26)의 리프레쉬 속도를 결정하기 위한 프로세스(78)의 하나의 설명적인 예시가, 동적 랜덤 액세스 메모리(DRAM)와 관련하여 도 7의 프로세스(92)에서 기술된다. 일반적으로, 프로세스(92)는, DRAM으로부터 판독된 데이터 내의 현재 및/또는 과거의 고정된 메모리 에러의 개수를 결정하는 단계(프로세스 블록(94)), DRAM의 온도를 결정하는 단계(프로세스 블록(96)), DRAM으로부터 판독된 이후에 데이터 내의 고정된 메모리 에러의 예상된 개수를 결정하는 단계(프로세스 블록(98)), 예상된 개수가 제1 에러 스레숄드보다 큰지를 결정하는 단계(결정 블록(100)), 예상된 개수가 제1 에러 스레숄드보다 클 때, DRAM을 스크러빙하는 단계(프로세스 블록(102)), 예상된 개수가 제1 에러 스레숄드보다 크지 않을 때, 예상된 개수가 제2 에러 스레숄드보다 큰지를 결정하는 단계(결정 블록(104)), 예상된 개수가 제2 에러 스레숄드보다 클 때, 리프레쉬 속도를 증가시키는 단계(프로세스 블록(106))와, 예상된 개수가 제2 에러 스레숄드보다 크지 않을 때, 예상된 개수가 제3 에러 스레숄드보다 큰지를 결정하는 단계(결정 블록(108)), 예상된 개수가 제3 에러 스레숄드보다 클 때, 현재 리프레쉬 속도를 유지하는 단계(프로세스 블록(110)), 및 예상된 개수가 제3 에러 스레숄드보다 크지 않을 때, 리프레쉬 속도를 감소시키는 단계(프로세스 블록(112))를 포함한다. 일부 실시예에서, 프로세스(92)는, 프로세싱 디바이스(28)와 같은 프로세싱 회로를 사용하여, 메모리 디바이스(26)와 같은 유형의 비-일시적 컴퓨터-판독가능한 매체 내에 저장된 명령어를 실행함에 의해 실시될 수 있다.
그러므로, 일부 실시예에서, 제어 시스템(12)은, DRAM으로부터 현재 수신되는 출력 데이터에서 발생하는 DRAM 고정된 메모리 에러의 개수 및/또는 이전에 수신되는 출력 데이터에서 발생하는 DRAM 고정된 메모리 에러의 개수를 결정할 수 있다(프로세스 블록(94)). 상기에서 기술된 바와 같이, 에러 파라미터는 출력 데이터에서 발생하는 각각의 타입의 에러의 개수, 따라서 DRAM 고정된 메모리 에러의 개수를 포함할 수 있다. 다시 말해, 일부 실시예에서, 제어 시스템(12)은 에러 로그(36) 내에 저장된 에러 파라미터에 적어도 부분적으로 기초하여, DRAM 고정된 에러의 개수를 결정할 수 있다. 따라서, 제어 시스템(12)은, 현재 수신되는 출력 데이터 및/또는 이전에 수신된 출력 데이터에 대응되는 에러 로그(36) 내의 에러 파라미터 엔트리를 불러올 수 있다.
또한, 제어 시스템(12)은 DRAM의 온도를 결정할 수 있다(프로세스 블록(96)). 일부 실시예에서, 제어 시스템(12)은 하나 이상의 센서(20)에 의해 측정된 센서 데이터에 기초하여, DRAM의 온도를 결정할 수 있다. 예를 들어, 일부 실시예에서, 온도 센서(20)는 DRAM의 온도를 직접 측정할 수 있고, 측정된 온도를 제어 시스템(12)으로 통신할 수 있다. 다른 실시예에서, 온도 센서(20)는 주변 구성요소 및/또는 환경의 온도를 측정하고, 측정된 온도를 제어 시스템(12)으로 통신할 수 있어서, 제어 시스템(12)을 활성화시켜서 DRAM의 온도를 간접으로 결정(가령, 계산)할 수 있다. 또한, 일부 실시예에서, 제어 시스템(12)은 DRAM의 이전 온도를 결정할 수 있고, 이는 DRAM 온도의 트렌드를 결정하는 것을 용이하게 하거나, 및/또는 DRAM의 미래 온도를 예측할 수 있다.
더구나, 제어 시스템(12)은 메모리 디바이스(26)로부터 수신되는 이후의 출력 데이터에서 발생할 것으로 예상되는 DRAM 고정된 메모리 에러의 개수를 결정할 수 있다(프로세스 블록(98)). 일부 실시예에서, 제어 시스템(12)은 에러 파라미터 및/또는 시스템 파라미터에 적어도 부분적으로 기초하여 DRAM 고정된 메모리 에러의 예상된 개수를 결정할 수 있는데, 이는, 현재 출력 데이터에서 검출되는 DRAM 고정된 메모리 에러의 개수, 이전의 출력 데이터에서 검출된 DRAM 고정된 메모리 에러의 개수, DRAM의 현재 온도, DRAM의 이전 온도 및/또는 이후의 출력 데이터가 수신될 때 DRAM의 예상 온도를 포함할 수 있다. 용이하게 하기 위해, 제어 시스템(12)은 고정된 DRAM의 예상된 개수, 에러 파라미터 및 시스템 파라미터 간의 관계를 기술하는 모델을 사용할 수 있다. 예를 들어, 모델은 복수의 DRAM 고정된 메모리 에러에서 트렌드를 추론할 수 있고, DRAM의 예상된 온도에 기초하여 트렌드를 조절할 수 있다(가령, 예상 온도가 증가할 때, 트렌드가 증가하고, 예상 온도가 감소할 때, 트렌드가 감소함).
또한, 제어 시스템(12)은, DRAM 고정된 메모리 에러의 예상된 개수가 제1 에러 스레숄드보다 큰지(결정 블록(100)), 제2 에러 스레숄드보다 큰지(결정 블록(104)), 및/또는 제3 에러 스레숄드보다 큰지(결정 블록(108)) 결정할 수 있다. 기술된 실시예와 관련하여, 제1 에러 스레숄드는 제2 에러 스레숄드보다 클 수 있고, 제2 에러 스레숄드는 제3 에러 스레숄드보다 클 수 있다. 단지 세 개의 에러 스레숄드가 기술되더라도, 다른 실시예에서, 임의의 적절한 수의 에러 스레숄드가 사용될 수 있다는 것을 인식해야 한다.
일부 실시예에서, 에러 스레숄드는 메모리 디바이스(26) 내에 저장될 수 있다. 또한, 일부 실시예에서, 에러 스레숄드의 값은, 에러 교정 프로세스(34)의 에러 교정 능력 및/또는 메모리 디바이스(26)로부터 수신된 이후의 출력 데이터에서 발생할 것으로 예상되는 메모리 에러의 전체 개수(가령, 소프트-비트 메모리 에러, 고정된 메모리 에러 및 시스템 메모리 에러)에 적어도 부분적으로 기초하여 설정될 수 있다.
구체적으로, 제1 에러 스레숄드는, DRAM 고정된 메모리 에러의 예상된 개수가 제1 에러 스레숄드보다 클 때, 제어 시스템(12)이 DRAM의 적어도 일부를 스크럽할 수 있는 것으로 예상되도록, 설정될 수 있다(프로세스 블록(102)). 일부 실시예에서, 제어 시스템(12)은, 메모리 디바이스(26)에 지시하여 데이터를 프로세싱 디바이스(28)로 출력하도록 하고, 프로세싱 디바이스(28)에 지시하여 에러 검출 프로세스(32)를 수행하도록 하고, 프로세싱 디바이스(28)에 지시하여 에러 교정 프로세스(34)를 수행하도록 하고, 및 메모리 디바이스(26)에 지시하여 에러-교정된 데이터를 저장함에 의해, DRAM을 스크럽할 수 있다.
다른 타입의 메모리 에러가 존재할 수 있기 때문에, 에러 교정 프로세스(34)가 스크러빙 동안에 메모리 에러를 충분히 교정할 수 있는 가능성을 증가시키기 위해, 제1 에러 스레숄드는 에러 교정 프로세스(34)의 에러 교정 능력보다 적은 값으로 설정될 수 있다. 다시 말해, 제1 에러 스레숄드의 값은, DRAM 고정된 메모리 에러의 예상된 개수를 초과할 때, 메모리 에러의 전체 개수가 에러 교정 프로세스(34)의 에러 교정 능력과 같거나 미만으로 예상되도록, 조절될 수 있다. 또한, 일부 실시예에서, 제1 스레숄드의 값은 DRAM 고정된 메모리 에러의 예상된 개수 및/또는 메모리 에러의 예상된 전체 개수에서의 불확실성에 적어도 부분적으로 기초하여, 조절될 수 있다. 예를 들어, 제1 에러 스레숄드는, 에러 교정 프로세스(34)가 스크러빙 동안에 각각의 메모리 에러를 교정할 수 있는 가능성을 개선하기 위해, 불확실성이 증가할 때, 더 낮게 설정될 수 있다.
스크러빙이 DRAM의 사용가능성을 감소시킬 수 있기 때문에, 스크러빙에 의지하기 전에, DARM의 리프레쉬 속도를 증가시킴에 의해, 제어 시스템(12)은 메모리 에러의 개수를 감소시키려고 하도록, 제2 에러 스레숄드가 설정될 수 있다(프로세스 블록(106)). 그러므로, 제2 에러 스레숄드는 제1 에러 스레숄드보다 작은 값으로 설정될 수 있다. 상기에서 기술된 바와 같이, 저장 커패시터는 시간에 따라 저장된 전압을 점차적으로 감소시킬 수 있고, 이는 고정된 메모리 에러를 야기할 수 있다. 그러므로, 리프레쉬 속도를 증가시키는 것은, 저장된 전압이 감소되도록 허용되는 구간을 감소시킬 수 있어서, 고정된 메모리 에러 발생 가능성 및/또는 개수를 감소시킬 수 있다.
일부 실시예에서, DRAM 고정된 메모리 에러의 예상된 개수가 제2 에러 스레숄드보다 클 때, 제어 시스템(12)은 설정 증분(set increment)(가령, 리프레쉬들 간의 구간인 8ms만큼)만큼 DRAM의 리프레쉬 속도를 증가시킬 수 있다. 예를 들어, 제어 시스템(12)은 리프레쉬 속도를 증가시킬 수 있어서, DRAM 리프레쉬들 간의 구간은, 매 64ms 당 한 번에서 매 56ms 당 한 번으로, 매 56ms 당 한 번에서 매 48ms 당 한 번으로, 매 48ms 당 한 번에서 매 40ms 당 한 번으로, 매 40ms 당 한 번에서 매 32ms 당 한 번 등으로 감소한다. 그러므로, 이러한 실시예는, 리프레쉬 속도가 DRAM 고정된 메모리 에러의 예상된 개수, 따라서 전체 메모리 에러를 충분히 감소시킬 때까지 반복적으로 증가할 수 있다.
다른 실시예에서, 제어 시스템(12)은 증분을 가변(가령, 맞춤)함에 의해, 리프레쉬 속도를 증가시킬 수 있다. 이러한 실시예에서, 제어 시스템(12)은 DRAM 고정된 에러, 따라서 전체 메모리 에러의 개수를 충분히 감소시키도록 예상된 리프레쉬 속도를 결정할 수 있다. 예를 들어, 제어 시스템(12)이, 매 60ms 당 한 번 리프레쉬하는 것이 충분할 것으로 예상된다고 결정할 때, 제어 시스템(12)은 리프레쉬 속도를 증가시켜서, DRAM 리프레쉬들 간의 구간을 64ms에서 60ms로 감소시키고, 이는, DRAM 리프레쉬들 간의 구간이 56ms로 리프레쉬 속도를 증가시키는 것에 비해, 전력 소비를 감소시키고, 및/또는 DRAM 사용가능성을 증가시키는 것을 용이하게 할 수 있다. 또한, 제어 시스템(12)이, 매 32ms 당 한 번 리프레쉬하는 것이 충분할 것으로 예상된다고 결정할 때, 제어 시스템(12)은 리프레쉬 속도를 증가시켜서, DRAM 리프레쉬들 간의 구간을 64ms에서 직접 32ms로 감소시키고, 이는, 반복적인 증분에 비해, DRAM을 리프레쉬하는 것이 에러 교정 프로세스(34)를 불충분하게 보충하는 구간을 감소시키는 것을 용이하게 할 수 있다.
일부 실시예에서, 충분할 것으로 예상되는 리프레쉬 속도를 결정하는 것을 용이하게 하기 위해, 제어 시스템(12)은 리프레쉬 속도, 환경 조건, 고정된 메모리 에러의 개수 및/또는 메모리 에러의 전체 개수 간의 관계를 기술하는 모델을 사용할 수 있다. 추가적으로나 대안적으로, 일부 실시예에서, 제어 시스템(12)은 제1 에러 스레숄드와 제2 에러 스레숄드 사이에 추가적인 에러 스레숄드를 사용할 수 있다. 이러한 실시예에서, 추가적인 에러 스레숄드의 각각은 리프레쉬 속도의 다양한 양의 증가 및/또는 다양한 더 높은 리프레쉬 속도에 대응될 수 있다. 따라서, 제어 시스템(12)은, 예상된 개수와 각각의 추가적인 에러 스레숄드를 비교함에 의해, 리프레쉬 속도를 증가시키기 위해 양을 결정할 수 있다.
상기에서 기술된 바와 같이, 더 높은 리프레쉬 속도가 전력 소비를 증가시키고, 및/또는 사용가능성을 감소시킬 수 있기 때문에, 제3 에러 스레숄드는, 제어 시스템(12)이 리프레쉬 속도를 감소시키거나(프로세스 블록(112)), 가능하면 리프레쉬 속도를 적어도 유지(프로세스 블록(110)하려고, 설정될 수 있다. 따라서, 제3 에러 스레숄드는 제2 에러 스레숄드 보다 작은 값으로 설정될 수 있다. 일부 실시예에서, DRAM 고정된 메모리 에러의 예상된 개수가 제3 에러 스레숄드 보다 크지 않을 때, 제어 시스템(12)은 설정 증분(가령, 리프레쉬들 간의 구간인 8ms만큼)만큼 DRAM의 리프레쉬 속도를 감소시킬 수 있다. 예를 들어, 제어 시스템(12)은 리프레쉬 속도를 감소시켜서, DRAM 리프레쉬들 간의 구간이, 매 64ms 당 한 번에서 매 72ms 당 한 번으로, 매 72ms 당 한 번에서 매 80ms 당 한 번으로, 매 80ms 당 한 번에서 매 88ms 당 한 번으로, 매 88ms 당 한 번에서 매 96ms 당 한 번 등으로 증가한다. 따라서, 이러한 실시예는, DRAM 고정된 메모리의 예상된 개수, 따라서 전체 메모리 에러가 허용가능하게 유지되면서, 리프레쉬 속도를 반복적으로 감소시킬 수 있다.
다른 실시예에서, 제어 시스템(12)은 증분을 가변(가령, 맞춤)함에 의해, 리프레쉬 속도를 증가시킬 수 있다. 이러한 실시예에서, 제어 시스템(12)은 DRAM 고정된 에러, 따라서 전체 메모리 에러의 개수를 충분히 감소시키도록 예상된 리프레쉬 속도를 결정할 수 있다. 예를 들어, 제어 시스템(12)이, 매 80ms 당 한 번 리프레쉬하는 것이 충분할 것으로 예상된다고 결정할 때, 제어 시스템(12)은 리프레쉬 속도를 감소시켜서, DRAM 리프레쉬들 간의 구간을 64ms에서 80ms로 증가시키고, 이는, DRAM 리프레쉬들 간의 구간이 72ms로 리프레쉬 속도를 증가시키는 것에 비해, 전력 소비를 감소시키고, 및/또는 DRAM 사용가능성을 증가시키는 것을 용이하게 할 수 있다. 또한, 제어 시스템(12)이, 매 128ms 당 한 번 리프레쉬하는 것이 충분할 것으로 예상된다고 결정할 때, 제어 시스템(12)은 리프레쉬 속도를 증가시켜서, DRAM 리프레쉬들 간의 구간을 64ms에서 직접 128ms로 증가시키고, 이는, 반복적인 증분에 비해, DRAM이 리프레쉬되는 구간을 더 높은 리프레쉬 속도로 감소시켜서, 전력 소비를 감소시키고, 및/또는 DRAM 사용가능성을 증가시키는 것을 용이하게 할 수 있다.
일부 실시예에서, 충분할 것으로 예상되는 리프레쉬 속도를 결정하는 것을 용이하게 하기 위해, 제어 시스템(12)은 리프레쉬 속도, 환경 조건, 고정된 메모리 에러의 개수 및/또는 메모리 에러의 전체 개수 간의 관계를 기술하는 모델을 사용할 수 있다. 추가적으로나 대안적으로, 일부 실시예에서, 제어 시스템(12)은 제2 에러 스레숄드와 제3 에러 스레숄드 사이에 추가적인 에러 스레숄드를 사용할 수 있다. 이러한 실시예에서, 추가적인 에러 스레숄드의 각각은 리프레쉬 속도의 다양한 양의 감소 및/또는 다양한 더 낮은 리프레쉬 속도에 대응될 수 있다. 따라서, 제어 시스템(12)은, 예상된 개수와 각각의 추가적인 에러 스레숄드를 비교함에 의해, 리프레쉬 속도를 감소시키기 위해 양을 결정할 수 있다.
이러한 방식으로, 양을 가변시킴에 의해 증가 및/또는 감소될 리프레쉬 속도를 활성화시키는 것은 제어 시스템(12) 및/또는 자동화 시스템(10)의 동작 신뢰성 및/또는 동작 효율성을 더욱 개선하는 것을 용이하게 할 수 있다. 게다가, 일부 실시예에서, 메모리 디바이스(26)의 리프레쉬 속도는 사용가능성, 따라서 동작 신뢰성에 대한 영향을 감소시키기 위해 조절될 수 있다.
설명을 돕기 위해, 사용가능성에 대한 영향을 감소시키기 위해, 메모리 디바이스(26)의 리프레쉬 속도를 결정하기 위한 프로세스(114)의 하나의 실시예가 도 8에 기술된다. 일반적으로, 프로세스(114)는 데이터가 메모리 디바이스에 의해 언제 수신될 것으로 예상되는지를 결정하는 단계(프로세스 블록(116)), 메모리 디바이스가 언제 출력될 것으로 예상되는지를 결정하는 단계(프로세스 블록(118)), 및 그에 따라 리프레쉬 속도를 조절하는 단계(프로세스 블록(120))를 포함한다. 일부 실시예에서, 프로세스(114)는, 프로세싱 디바이스(28)와 같은 프로세싱 회로를 사용하여, 메모리 디바이스(26)와 같은 유형의 비-일시적 컴퓨터-판독가능한 매체 내에 저장된 명령어를 실행함에 의해 실시될 수 있다.
그러므로, 일부 실시예에서, 제어 시스템(12)은, 메모리 디바이스(26)가 데이터를 언제 수신하여서, 저장할 수 있을 것으로 예상되는지를 결정할 수 있다(프로세스 블록(116)). 상기에서 기술된 바와 같이, 메모리 디바이스(26)는 하나 이상의 입력 디바이스(14), 외부 통신 네트워크(18) 및/또는 하나 이상의 센서(20)로부터 수신된 데이터를 저장할 수 있다. 일부 실시예에서, 메모리 디바이스(26)는 상대적으로 주기적인 기반(가령, 미리정의된 시간)으로 데이터를 수신하고 저장할 수 있다. 추가적으로, 일부 실시예에서, 메모리 디바이스(26)는 새로이 수신된 데이터를 동시에 리프레쉬하고 저장할 수 없어서, 고정된 메모리 에러의 가능성 및/또는 개수를 증가시킬 수 있는 리프레쉬를 지연하거나, 제어 시스템(12)의 동작을 지연할 수 있는 새로이 수신된 데이터의 저장을 지연할 수 있다.
또한, 제어 시스템(12)은, 메모리 디바이스(26)가 데이터를 가령, 프로세싱 디바이스(28)로 언제 출력할 것으로 예상되는지를 결정할 수 있다(프로세스 블록(118)). 상기에서 기술된 바와 같이, 프로세싱 디바이스(28)는 메모리 디바이스(26)로부터 수신된 출력 데이터를 프로세싱함에 의해, 자동화 시스템(10)의 동작을 제어하는 것을 용이하게 할 수 있다. 일부 실시예에서, 메모리 디바이스(26)는 상대적으로 주기적인 기반(가령, 미리정의된 시간)으로 데이터를 출력할 수 있다. 또한, 일부 실시예에서, 메모리 디바이스(26)는 데이터를 동시에 리프레쉬하고 출력할 수 없어서, 고정된 메모리 에러의 가능성 및/또는 개수를 증가시킬 수 있는 리프레쉬를 지연하거나, 제어 시스템(12)의 동작을 지연할 수 있는 데이터의 출력을 지연할 수 있다.
그러므로, 일부 실시예에서, 제어 시스템(12)은, 메모리 디바이스(26)가 언제 데이터를 수신할 것으로 예상되는지, 및/또는 메모리 디바이스(26)가 언제 데이터를 출력할 것으로 예상되는지에 적어도 부분적으로 기초하여, 리프레쉬 속도를 조절할 수 있다(프로세스 블록(120). 예를 들어, 제어 시스템(12)은, 데이터가 수신될 것으로 예상되는 때 및/또는 데이터가 출력될 것으로 예상되는 때와 리프레쉬가 오버랩되는 구간을 감소시키기 위해, 리프레쉬 속도를 조절할 수 있다. 이러한 방식으로 리프레쉬 속도를 조절함에 의해, 메모리 디바이스(26)의 사용가능성은 왜곡될 수 있어서, 제어 시스템(12) 및/또는 자동화 시스템(10)의 동작에 영향을 주는 사용가능성의 가능성이 감소될 수 있고, 이는 사용가능성이 리프레쉬 속도를 증가시킴에 의해 감소될 때 특히 유용할 수 있다.
본 개시물의 기술적인 효과는, 자동화 시스템에서 사용되는 메모리 디바이스의 리프레쉬 속도를 적응형으로 조절함에 의해, 자동화 시스템의 동작 심뢰성 및/또는 동작 효율성을 개선하는 것을 포함한다. 일부 실시예에서, 제어 시스템은 메모리 디바이스로부터의 출력 데이터에서 발생할 것으로 예상되는 메모리 에러의 교정가능성(가령, 개수)에 적어도 부분적으로 기초하여, 메모리 디바이스의 리프레쉬 속도를 적응형으로 조절할 수 있다. 예를 들어, 교정가능할 것으로 예상되지 않을 때, 제어 시스템은 메모리 디바이스의 리프레쉬 속도를 증가시킬 수 있고, 이는 출력 데이터에서의 메모리 에러의 가능성 및/또는 개수를 감소시키는 것을 용이하게 할 수 있다. 다른 한 편으로, 교정가능할 것으로 예상될 때, 제어 시스템은 메모리 디바이스의 리프레쉬 속도를 감소시킬 수 있고, 이는 메모리 디바이스의 사용가능성을 증가시키고, 및/또는 전력 소비를 감소시키는 것을 용이하게 할 수 있다. 다시 말해, 메모리 디바이스의 리프레쉬 속도를 적응형으로 조절함에 의해, 제어 시스템은 메모리 디바이스의 사용가능성을 증가시키면서 동작에 영향을 주는 메모리 에러의 가능성을 감소시킬 수 있어서, 제어 시스템 및/또는 자동화 시스템의 개선된 동작 신뢰성을 용이하게 할 수 있다. 또한, 메모리 디바이스의 리프레쉬 속도를 적응형으로 조절함에 의해, 제어 시스템은 전력 소비를 감소시킬 수 있어서, 제어 시스템 및/또는 자동화 시스템의 개선된 동작 효율성을 용이하게 할 수 있다.
본 개시물이 다양한 수정예와 대안 형태에 민감한 반면, 구체적인 실시예는 도면에서 예시로 도시되었고, 본원에서 상세히 기술되었다. 그러나, 본 개시물은 개시된 특정 형태로 제한되도록 의도되지 않다는 것을 이해해야 한다. 그 보다는, 본 개시물은, 이하 첨부된 청구항에 의해 정의된 본 개시물의 사상과 범위 내에 있는 모든 수정예, 등가예 및 대안예를 커버하도록 의도된다.

Claims (30)

  1. 자동화 시스템에 있어서, 상기 자동화 시스템은,
    자동화 시스템의 동작 파라미터를 결정하도록 구성되는 센서;
    자동화 시스템의 동작 동안에, 제어 액션을 수행하도록 구성되는 하나 이상의 작동기; 및
    상기 센서와 상기 하나 이상의 작동기에 통신적으로 연결된 제어 시스템을 포함하되, 상기 제어 시스템은 상기 동작 파라미터를 저장하도록 구성된 동적 랜덤 액세스 메모리를 포함하고, 상기 제어 시스템은,
    상기 동적 랜덤 액세스 메모리 내에 저장된 제1 데이터 내의 제1 메모리 에러의 발생을 결정하고,
    상기 제1 메모리 에러의 특징을 표시하도록 구성되는 제1 에러 파라미터를 결정하고,
    상기 제1 에러 파라미터에 적어도 부분적으로 기초하여, 각각의 제1 메모리 에러를 교정함에 의해 에러-교정된 데이터를 결정하고,
    상기 제1 에러 파라미터에 적어도 부분적으로 기초하여, 동적 랜덤 액세스 메모리 내에 저장된 데이터를 리프레쉬하는데 사용되는 리프레쉬 속도를 적응형으로 조절하고, 및
    상기 에러-교정된 데이터를 프로세싱함에 의해, 하나 이상의 작동기가 제어 액션을 수행하도록 지시하는 제어 커맨드를 결정하도록 구성되는, 자동화 시스템.
  2. 제 1 항에 있어서,
    상기 제어 시스템에 전기적으로 연결된 전기 에너지 소스 - 상기 전기 에너지 소스는 제어 시스템에 전기 전력을 공급하도록 구성됨 - 와,
    상기 제어 시스템에 통신적으로 연결된 브레이킹 시스템 - 상기 브레이킹 시스템은 작동할 때, 자동화 시스템의 움직임 속도를 감소시키도록 구성되는 제1 작동기를 포함함 - 과,
    상기 제어 시스템에 통신적으로 연결된 기계 에너지 소스 - 상기 기계 에너지 소스는 작동할 때, 자동화 시스템의 움직임 속도를 증가시키도록 구성되는 제2 작동기를 포함함 - 와, 및
    상기 제어 시스템에 통신적으로 연결된 조종 시스템 - 상기 조종 시스템은 작동할 때, 자동화 시스템의 움직임 방향을 조절하도록 구성되는 제3 작동기를 포함함 - 을 포함하되,
    상기 제어 시스템은, 제1 작동기, 제2 작동기, 제3 작동기 또는 이들 중 임의의 조합물이 동작 파라미터를 적어도 부분적으로 기초하여 작동하기 위해, 자율적으로 지시하도록 구성되는, 자동화 시스템.
  3. 제 1 항에 있어서, 상기 리프레쉬 속도를 적응형으로 조절하기 위해, 상기 제어 시스템은,
    상기 제어 시스템이, 제1 에러 파라미터, 시스템 파라미터 또는 둘 모두에 적어도 부분적으로 기초하여, 동적 랜덤 액세스 메모리 내에 저장된 제2 데이터에서 발생하는 각각의 제2 메모리 에러를 교정할 수 있을 것으로 예상되는지를 결정하고,
    상기 제어 시스템이 제2 데이터에서 발생하는 고정된 메모리 에러의 가능성을 감소시키기 위해, 각각의 제2 메모리 에러를 교정할 수 있을 것으로 예상되지 않을 때, 리프레쉬 속도를 증가시키고, 및
    상기 제어 시스템이 각각의 제2 메모리 에러를 교정할 수 있을 것으로 예상될 때, 리프레쉬 속도를 감소시켜서, 자동화 시스템의 전력 소비를 감소시키거나, 동적 랜덤 액세스 메모리의 대역폭을 증가시키거나, 둘 모두를 용이하게 하도록 구성되는, 자동화 시스템.
  4. 제 1 항에 있어서, 상기 제어 시스템은,
    제1 에러 파라미터에 적어도 부분적으로 기초하여, 제1 데이터에서 발생하는 고정된 메모리 에러의 제1 개수를 결정하고,
    동작 파라미터에 적어도 부분적으로 기초하여, 동적 랜덤 액세스 메모리의 제1 온도를 결정하고,
    제1 데이터에서 발생하는 고정된 메모리 에러의 제1 개수에 적어도 부분적으로 기초하여, 동적 랜덤 액세스 메모리 내에 저장된 제2 데이터 내의 고정된 메모리 에러의 예상된 개수를 결정하고,
    고정된 메모리 에러의 예상된 개수가 제1 에러 스레숄드보다 클 때, 동적 랜덤 액세스 메모리를 스크럽(scrub)하고,
    고정된 메모리 에러의 예산된 개수가 제2 에러 스레숄드보다 클 때, 동적 랜덤 액세스 메모리의 리프레쉬 속도를 증가시키고 - 상기 제2 에러 스레숄드는 제1 에러 스레숄드 보다 작음 - ,
    고정된 메모리 에러의 예상된 개수가 제2 에러 스레숄드보다 크지 않고, 제3 에러 스레숄드보드 클 때, 동적 랜덤 액세스 메모리의 리프레쉬 속도를 유지하고 - 상기 제3 에러 스레숄드는 제2 에러 스레숄드보다 작음 - , 및
    고정된 메모리 에러의 예상된 개수가 제3 에러 스레숄드보다 크지 않을 때, 동적 랜덤 액세스 메모리의 리프레쉬 속도를 감소시키도록 구성되는, 자동화 시스템.
  5. 제 4 항에 있어서, 상기 제어 시스템은,
    제1 메모리 에러의 발생을 결정하기 전에, 동적 랜덤 액세스 메모리 내에 저장된 제3 데이터 내의 제2 메모리 에러의 발생을 결정하고,
    제2 메모리 에러의 특징을 표시하도록 구성된 제2 에러 파라미터를 결정하고 - 상기 제2 에러 파라미터는 제3 데이터에서 발생하는 고정된 메모리 에러의 제2 개수를 포함함 - ,
    고정된 메모리 에러의 제1 개수 및 고정된 메모리 에러의 제2 개수에 적어도 부분적으로 기초하여, 에러 트렌드를 결정하고,
    동작 파라미터에 적어도 부분적으로 기초하여, 제1 온도를 결정하기 전에, 동적 랜덤 액세스 메모리의 제2 온도를 결정하고,
    제1 온도 및 제2 온도에 적어도 부분적으로 기초하여, 동적 랜덤 액세스 메모리의 온도 트렌드를 결정하고, 및
    에러 트렌드 및 온도 트렌드에 적어도 부분적으로 기초하여, 예상된 개수의 제2 데이터 내의 고정된 메모리 에러를 결정하도록 구성되는, 자동화 시스템.
  6. 제 1 항에 있어서, 상기 제어 시스템은,
    제1 데이터와 함께, 동적 랜덤 액세스 메모리로부터 출력된 에러 체크 데이터에 적어도 부분적으로 기초하여, 제1 메모리 에러 및 제1 에러 파라미터의 발생을 결정하고 - 상기 에러 체크 데이터는 제1 데이터의 사본, 패리티 비트, 체크섬 비트, 사이클릭 리던던시 비트, 해시 값 또는 이들 중 임의의 조합물을 포함함 - ,
    제1 에러 파라미터에 의해 표시된 제1 메모리 에러들 중 하나의 위치에 대응되는 각각의 데이터 비트의 값을 플립핑함에 의해, 에러-교정된 데이터를 결정하도록 구성되는, 자동화 시스템.
  7. 제 1 항에 있어서, 상기 제어 시스템은,
    동적 랜덤 액세스 메모리가 데이터를 언제 수신할 것으로 예상되는지를 결정하고,
    동적 랜덤 액세스 메모리가 데이터를 언제 출력할 것으로 예상되는지를 결정하고, 및
    동적 랜덤 액세스 메모리가 리프레쉬 될 때와, 동적 랜덤 액세스 메모리가 데이터를 수신할 것으로 예상되는 때와, 동적 랜덤 액세스 메모리가 데이터를 출력할 것으로 예상된 때 사이의 오버랩 구간을 감소시키기 위해, 리프레쉬 속도를 적응형으로 조절하도록 구성되는, 자동화 시스템.
  8. 제 1 항에 있어서, 상기 제어 시스템은 동적 랜덤 액세스 메모리의 외부의 에러 로그 내에 제1 에러 파라미터를 저장하도록 구성되는, 자동화 시스템.
  9. 제 1 항에 있어서,
    상기 제1 에러 파라미터는 제1 데이터 내의 각각의 제1 메모리 에러의 위치, 각각의 제1 메모리 에러의 에러 타입 또는 둘 모두를 포함하고, 및
    상기 제1 데이터는, 동작 파라미터, 입력 디바이스를 통해 수신된 하나 이상의 사용자 입력, 실행가능한 명령어 또는 이들 중 임의의 조합물 중 하나 이상을 포함하는, 자동화 시스템.
  10. 제 1 항에 있어서, 상기 자동화 시스템은, 제조 시스템, 터빈 시스템, 하나 이상의 기계, 공장, 시설, 비행기, 자동차 또는 이들 중 임의의 조합물을 포함하는, 자동화 시스템.
  11. 자동화 시스템 내의 메모리 디바이스를 작동시키기 위한 방법에 있어서, 상기 방법은,
    메모리 디바이스를 사용하여, 제1 리프레쉬 속도를 사용하여 메모리 디바이스 내의 저장된 데이터를 리프레쉬하는 단계와,
    메모리 디바이스를 사용하여, 메모리 디바이스 내의 저장된 데이터로부터 타겟 어드레스에서 제1 데이터를 판독하는 단계와,
    메모리 디바이스를 사용하여, 제1 데이터에 적어도 부분적으로 기초하는 에러 체크 데이터를 결정하는 단계 - 상기 에러 체크 데이터는 프로세싱 디바이스를 활성화시켜서 제1 데이터에서 발생하는 제1 메모리 에러의 에러 파라미터를 결정함 - 와,
    메모리 디바이스를 사용하여, 프로세싱 디바이스를 활성화시켜서, 제2 데이터에 적어도 부분적으로 기초하는 자동화 시스템의 동작을 제어하기 위해, 제2 데이터를 프로세싱 디바이스로 출력하는 단계 - 상기 제2 데이터는 제1 데이터 및 ㅇ에러 체크 데이터를 포함함 - 와, 및
    메모리 디바이스를 사용하여, 제1 리프레쉬 속도와 상이한 제2 리프레쉬 속도를 사용하여, 메모리 디바이스를 리프레쉬하기 위한 명령어를 수신하는 단계 - 상기 제2 리프레쉬 속도는 에러 파라미터에 적어도 부분적으로 기초하여 프로세싱 디바이스에 의해 결정됨 - 를 포함하는, 자동화 시스템 내의 메모리 디바이스를 작동시키기 위한 방법.
  12. 제 11 항에 있어서,
    프로세싱 디바이스는, 에러 교정 프로세스가 동작 신뢰성 표준에 충족하기 위해 제2 메모리 에러를 충분히 교정할 수 있을 것으로 예상되지 않는다고 결정할 때, 상기 제2 리프레쉬 속도는 상기 제1 리프레쉬 속도보다 높아서, 제2 데이터 이후에, 메모리 디바이스로부터 출력된 제3 데이터에서 발생하는 제2 메모리 에러의 개수를 감소시키는 것을 용이하게 하고, 및
    프로세싱 디바이스는, 에러 교정 프로세스가 동작 신뢰성 표준에 충족하기 위해 제2 메모리 에러를 충분히 교정할 수 있을 것으로 예상된다고 결정할 때, 상기 제2 리프레쉬 속도는 상기 제1 리프레쉬 속도보다 낮아서, 자동화 시스템의 전력 소비를 감소시키는 것, 데이터를 저장하기 위해 메모리 디바이스의 사용가능성을 증가시키는 것, 데이터를 출력하기 위해 메모리 디바이스의 사용가능성을 증가시키는 것, 또는 이들 중 임의의 조합을 용이하게 하는, 자동화 시스템 내의 메모리 디바이스를 작동시키기 위한 방법.
  13. 제 11 항에 있어서,
    에러 체크 데이터를 결정하는 단계는, 제1데이터의 복사본을 만드는 단계를 포함하고, 및
    제2 데이터를 출력하는 단계는, 프로세싱 디바이스를 활성화시켜서 제1 데이터와 제1 데이터의 복사본을 비교함에 의해, 에러 파라미터를 결정하기 위해, 하나 이상의 통신 채널을 통해, 제1 데이터와 제1 데이터의 복사본을 직렬로, 병렬로 또는 둘 모두로 출력하는 단계를 포함하는, 자동화 시스템 내의 메모리 디바이스를 작동시키기 위한 방법.
  14. 제 11 항에 있어서,
    에러 체크 데이터를 결정하는 단계는, 제1 결과를 결정하기 위해, 제1 데이터에 해시 함수를 수행하는 단계를 포함하고, 및
    제2 데이터를 출력하는 단계는, 프로세싱 디바이스를 활성화시켜서, 해시 함수를 제1 데이터에 수행함에 의해 에러 파라미터를 결정하여, 제2 결과를 결정하기 위해, 제1 결과를 제1 데이터에 연관시키는 단계 및 제1 결과와 제 결과를 비교하는 단계를 포함하는, 자동화 시스템 내의 메모리 디바이스를 작동시키기 위한 방법.
  15. 제 11 항에 있어서, 에러 파라미터는 프로세싱 디바이스를 활성화시켜서,
    제1 데이터 이후에, 메모리 디바이스 내에 저장된 데이터로부터 판독된 제3 데이터에서 발생하는 것으로 예상되는 제2 메모리 에러의 개수를 결정하고, 및
    제2 메모리 에러의 개수와 하나 이상의 에러 스레숄드를 비교함에 의해, 프로세싱 디바이스가 제2 메모리 에러를 충분히 교정할 수 있는 것으로 예상되는지를 결정하는, 자동화 시스템 내의 메모리 디바이스를 작동시키기 위한 방법.
  16. 제 11 항에 있어서,
    제1 리프레쉬 속도를 사용하여 저장된 데이터를 리프레쉬하는 단계는, 저장된 데이터를 주기적으로 판독하는 단계 및 제1 구간에 기초하여 저장된 데이터에 의해 표시된 값을 다시 메모리 디바이스로 저장하는 단계를 포함하고, 및
    제2 리프레쉬 속도를 사용하여 저장된 데이터를 리프레쉬하는 단계는, 저장된 데이터를 주기적으로 판독하는 단계 및 제1 구간과 상이한 제2 구간에 기초하여 저장된 데이터에 의해 표시된 값을 다시 메모리 디바이스로 저장하는 단계를 포함하는, 자동화 시스템 내의 메모리 디바이스를 작동시키기 위한 방법.
  17. 자동화 시스템의 동작을 제어하도록 구성되는 제어 시스템에 있어서, 상기 제어 시스템은,
    자동화 시스템의 동작과 관련된 제1 데이터를 저장하도록 구성되는 메모리 디바이스와, 및
    상기 메모리 디바이스에 통신적으로 연결되는 프로세싱 디바이스를 포함하되, 상기 프로세싱 디바이스는,
    메모리 디바이스로부터 제1 데이터를 포함하는 제2 데이터를 수신하고,
    제1 데이터에서 발생하는 제1 메모리 에러의 발생 및 에러 파라미터를 검출하기 위해 에러 검출 프로세스를 수행하고,
    상기 에러 파라미터에 적어도 부분적으로 기초하여, 각각의 제1 메모리 에러를 교정하기 위해 에러 교정 프로세스를 수행하고,
    상기 에러 파라미터에 적어도 부분적으로 기초하여, 메모리 디바이스의 리프레쉬 속도를 적응형으로 조절하고, 및
    에러 교정 프로세스가 수행된 이후에, 제1 데이터를 프로세싱함에 의해 자동화 시스템의 동작을 제어하도록 구성되는, 자동화 시스템의 동작을 제어하도록 구성되는 제어 시스템.
  18. 제 17 항에 있어서, 리프레쉬 속도를 적응형으로 조절하기 위해, 프로세싱 디바이스는,
    제어 시스템, 자동화 시스템 또는 둘 모두의 동작을 지배하는 신뢰성 표준을 충족하기 위해, 에러 교정 프로세스가, 제2 데이터 이후에 메모리 디바이스로부터 수신된 제3 데이터에서 발생할 것으로 예상되는 제2 메모리 에러를 충분히 교정할 수 있을 것으로 예상되는지를 결정하고,
    에러 교정 프로세스가 제2 메모리 에러를 충분히 교정할 수 있는 것으로 예상되지 않을 때, 리프레쉬 속도를 증가시키기 위해 메모리 디바이스에 지시하고, 및
    에러 교정 프로세스가 제2 메모리 에러를 충분히 교정할 수 있는 것으로 예상될 때, 리프레쉬 속도를 감소시키기 위해 메모리 디바이스에 지시하도록 구성되는, 자동화 시스템의 동작을 제어하도록 구성되는 제어 시스템.
  19. 제 17 항에 있어서, 리프레쉬 속도를 적응형으로 조절하기 위해, 프로세싱 디바이스는,
    에러 파라미터에 적어도 부분적으로 기초하여, 제2 데이터 이후에 메모리 디바이스로부터 수신된 제3 데이터에서 발생하는 제2 메모리 에러의 예상된 개수를 결정하고,
    예상된 개수가 제1 에러 스레숄드보다 클 때, 제3 데이터에서 발생하는 고정된 메모리 에러의 개수를 감소시키는 것을 용이하게 하기 위해, 리프레쉬 속도를 증가시키기 위해 메모리 디바이스에 지시하고,
    예상된 개수가 제1 에러 스레숄드보다 크지 않고, 제1 에러 스레숄드보다 작은 제2 에러 스레숄드보다 클 때, 리프레쉬 속도를 유지하기 위해 메모리 디바이스에 지시하고, 및
    예상된 개수가 제2 에러 스레숄드보다 크지 않을 때, 제어 시스템의 전력 소비를 감소시키는 것, 메모리 디바이스의 대역폭을 증가시키는 것, 또는 둘 모두를 용이하게 하기 위해, 리프레쉬 속도를 감소시키기 위해 메모리 디바이스에 지시하도록 구성되는, 자동화 시스템의 동작을 제어하도록 구성되는 제어 시스템.
  20. 제 17 항에 있어서, 메모리 디바이스는 하나 이상의 저장 커패시터를 포함하고, 하나 이상의 저장 커패시터의 각각은,
    제1 데이터의 비트의 값을 표시하는 전압을 저장하고, 및
    리프레쉬 사이에서 시간에 걸쳐 전압의 크기를 점차적으로 감소시키도록 구성되는, 자동화 시스템의 동작을 제어하도록 구성되는 제어 시스템.
  21. 제 17 항에 있어서,
    상기 메모리 디바이스는,
    제1 데이터에 적어도 부분적으로 기초하여, 에러 체크 데이터를 결정하고 - 상기 에러 체크 데이터는 제1 데이터의 복사본, 제1 데이터에 대해 수행된 해시 함수의 결과 또는 둘 모두를 포함함 - , 및
    에러 체크 데이터와 함께, 제1 데이터를 출력함에 의해, 제2 데이터를 프로세싱 디바이스로 출력하도록 구성되고, 및
    상기 프로세싱 디바이스는,
    제2 데이터로부터 에러 체크 데이터를 결정하고, 및
    에러 체크 데이터에 적어도 부분적으로 기초하여, 제1 데이터 내의 각각의 제1 메모리 에러의 위치를 결정함에 의해, 에러 검출 프로세스를 수행하고, 및
    제1 메모리 에러의 각각의 위치에 대응되는 데이터 비트의 값을 플립핑함에 의해, 에러 교정 프로세스를 수행하도록 구성되는, 자동화 시스템의 동작을 제어하도록 구성되는 제어 시스템.
  22. 제 17 항에 있어서, 제어 시스템을 하나 이상의 입력 디바이스, 하나 이상의 출력 디바이스, 외부 통신 네트워크, 하나 이상의 센서, 하나 이상의 작동기 또는 이들 중 임의의 조합물에 통신적으로 연결하도록 구성되는 하나 이상의 입/출력 포트를 포함하되,
    메모리 디바이스는, 하나 이상의 센서에 의해 결정된 동작 파라미터, 하나 이상의 입력 디바이스를 통해 수신된 사용자 입력, 프로세싱 디바이스에 의해 실행가능한 명령어, 또는 이들 중 임의의 조합물을 저장하도록 구성되고, 및
    프로세싱 디바이스는, 제어 액션을 수행하기 위해 하나 이상의 작동기에 지시하는 제어 커맨드를 통신함에 의해, 자동화 시스템의 동작을 제어하도록 구성되는, 자동화 시스템의 동작을 제어하도록 구성되는 제어 시스템.
  23. 제 17 항에 있어서,
    프로세싱 디바이스는 메모리 디바이스로부터 분리된 에러 로그 내의 에러 파라미터를 저장하도록 구성되고, 및
    메모리 디바이스는 동적 랜덤 액세스 메모리, 정적 랜덤 액세스 메모리, 리드 온리 메모리 (ROM), 재기입가능한 플래시 메모리, 하드 드라이브, 광학 디스크 또는 이들 중 임의의 조합물을 포함하는, 자동화 시스템의 동작을 제어하도록 구성되는 제어 시스템.
  24. 자동화 시스템 내의 하나 이상의 프로세서에 의해 실행가능한 명령어를 저장하도록 구성되는, 유형의, 비-일시적인, 컴퓨터-판독가능한 매체에 있어서, 상기 명령어는,
    하나 이상의 프로세서를 사용하여, 자동화 시스템 내의 메모리에 저장된 제1 데이터를 수신하고,
    하나 이상의 프로세서를 사용하여, 제1 데이터에서 발생하는 제1 메모리 에러의 제1 에러 파라미터를 결정하기 위해, 에러 검출 프로세스를 실행하고,
    하나 이상의 프로세서를 사용하여, 제1 에러 파라미터에 적어도 부분적으로 기초하여, 하나 이상의 제1 메모리 에러를 교정하기 위해 에러 교정 프로세스를 실행하고,
    하나 이상의 프로세서를 사용하여, 제1 에러 파라미터에 적어도 부분적으로 기초하여, 메모리 내의 저장된 데이터를 리프레쉬하는 리프레쉬 속도를 결정하고, 및
    하나 이상의 프로세서를 사용하여, 리프레쉬 속도를 사용하여 저장된 데이터를 리프레쉬하기 위해 메모리에 지시하도록 하는 명령어를 포함하는, 컴퓨터-판독가능한 매체.
  25. 제 24 항에 있어서,
    하나 이상의 프로세서를 사용하여, 에러 교정 프로세스가 수행된 이후에, 제1데이터를 프로세싱함에 의해, 제어 커맨드를 결정하고, 및
    하나 이상의 프로세서를 사용하여, 제어 커맨드를 작동기로 통신함에 의해, 제어 액션을 수행하기 위해, 자동화 시스템 내의 작동기에 지시하기 위한 명령어를 포함하는, 컴퓨터-판독가능한 매체.
  26. 제 24 항에 있어서,
    하나 이상의 프로세서를 사용하여, 제1 데이터가 수신된 이후의 구간에, 메모리 내에 저장된 제2 데이터를 수신하고,
    하나 이상의 프로세서를 사용하여, 제2 데이터에서 발생하는 제2 메모리 에러의 제2 에러 파라미터를 결정하기 위해, 에러 검출 프로세스를 실행하고,
    하나 이상의 프로세서를 사용하여, 상기 구간이 리프레쉬 재결정 스레숄드보다 큰지를 결정하고,
    하나 이상의 프로세서를 사용하여, 상기 구간이 리프레쉬 재결정 스레숄드보다 클 때, 제2 에러 파라미터에 적어도 부분적으로 기초하여, 리프레쉬 속도를 재결정하고, 및
    하나 이상의 프로세서를 사용하여, 재결정 이후에, 리프레쉬 속도를 사용하여 저장된 데이터를 리프레쉬하기 위해 메모리에 지시하는 명령어를 포함하는, 컴퓨터-판독가능한 매체.
  27. 제 24 항에 있어서, 리프레쉬 속도를 결정하기 위한 명령어는,
    하나 이상의 프로세서를 사용하여, 제1 에러 파라미터에 적어도 부분적으로 기초하여, 제1 데이터에서 발생하는 제1 메모리 에러의 개수를 결정하고,
    하나 이상의 프로세서를 사용하여, 제1 데이터가 메모리에서 출력될 때, 메모리의 온도를 결정하고,
    하나 이상의 프로세서를 사용하여, 제1 메모리 에러의 개수와 메모리의 온도에 적어도 부분적으로 기초하여, 제1 데이터 이후에, 메모리에서 출력되는 제2 데이터에서 발생하는 제2 메모리 에러의 예상된 개수를 결정하고,
    하나 이상의 프로세서를 사용하여, 예상된 개수가 에러 스레숄드보다 클 때, 리프레쉬 속도를 제1 값으로 설정하고, 및
    하나 이상의 프로세서를 사용하여, 예상된 개수가 에러 스레숄드보다 크지 않을 때, 리프레쉬 속도를 제1 값보다 적은 제2 값으로 설정하도록 하는, 명령어를 포함하는, 컴퓨터-판독가능한 매체.
  28. 제 24 항에 있어서,
    에러 검출 프로세스를 실행하기 위한 명령어는,
    제1 데이터에 대응되는 에러 체크 데이터를 메모리로부터 수신하고, 상기 에러 체크 데이터는 제1 데이터와 직렬 또는 병렬로 수신된 제1 데이터의 사본을 포함하고, 및
    제1 메모리 에러들 중 하나에 의해 영향을 받을 것으로 예상되는 제1 데이터 내의 데이터 비트를 결정하기 위해, 제1 데이터와 사본을 비교하는 명령어를 포함하고,
    에러 교정 프로세스를 실행하기 위한 명령어는 제1 메모리 에러에 영향을 받을 것으로 예상되는 각각의 데이터 비트의 값을 조절하기 위한 명령어를 포함하는, 컴퓨터-판독가능한 매체.
  29. 제 24 항에 있어서,
    에러 검출 프로세스를 실행하기 위한 명령어는,
    제1 데이터에 대응되는 에러 체크 데이터를 메모리로부터 수신하고, 상기 에러 체크 데이터는 제1 데이터에 수행된 해시 함수의 제1 결과를 포함하며,
    제2 결과를 결정하기 위해 제1 데이터에 해시 함수를 수행하고, 및
    제1 메모리 에러들 중 하나에 의해 영향을 받을 것으로 예상되는 제1 데이터 내의 데이터 비트를 결정하기 위해, 제1 결과와 제2 결과를 비교하는 명령어를 포함하고, 및
    에러 교정 프로세스를 실행하기 위한 명령어는 제1 메모리 에러에 영향을 받을 것으로 예상되는 각각의 데이터 비트의 값을 조절하기 위한 명령어를 포함하는, 컴퓨터-판독가능한 매체.
  30. 제 24 항에 있어서, 메모리 디바이스는 동적 랜덤 액세스 메모리, 정적 랜덤 액세스 메모리, 리드 온리 메모리 (ROM), 재기입가능한 플래시 메모리, 하드 드라이브, 광학 디스크 또는 이들 중 임의의 조합물을 포함하는, 컴퓨터-판독가능한 매체.
KR1020187036074A 2016-05-24 2017-05-11 메모리 디바이스 에러 기반의 적응형 리프레쉬 속도 및 방법 KR102400996B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/163,482 US11481126B2 (en) 2016-05-24 2016-05-24 Memory device error based adaptive refresh rate systems and methods
US15/163,482 2016-05-24
PCT/US2017/032264 WO2017205076A2 (en) 2016-05-24 2017-05-11 Memory device error based adaptive refresh rate and methods

Publications (2)

Publication Number Publication Date
KR20190000896A true KR20190000896A (ko) 2019-01-03
KR102400996B1 KR102400996B1 (ko) 2022-05-24

Family

ID=60411845

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187036074A KR102400996B1 (ko) 2016-05-24 2017-05-11 메모리 디바이스 에러 기반의 적응형 리프레쉬 속도 및 방법

Country Status (6)

Country Link
US (1) US11481126B2 (ko)
EP (1) EP3465368B1 (ko)
KR (1) KR102400996B1 (ko)
CN (1) CN109154813B (ko)
TW (1) TWI631572B (ko)
WO (1) WO2017205076A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020141772A1 (ko) 2019-01-03 2020-07-09 주식회사 엘지화학 배터리 밸런싱 장치 및 그것을 포함하는 배터리 팩
US11144386B2 (en) 2019-04-24 2021-10-12 University-Industry Cooperation Group Of Kyung Hee University Memory controller storing data in approximate memory device based on priority-based ECC, non-transitory computer-readable medium storing program code, and electronic device comprising approximate memory device and memory controller

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102565005B1 (ko) * 2016-08-04 2023-08-07 에스케이하이닉스 주식회사 저항 변화 메모리의 수명 연장 방법 및 그 방법을 이용하는 데이터 저장 시스템
US10915102B2 (en) * 2017-07-20 2021-02-09 Panasonic Intellectual Property Management Co., Ltd. Vehicle
DE102018200820A1 (de) * 2018-01-18 2019-07-18 Volkswagen Aktiengesellschaft Steuerungssystem für ein Kraftfahrzeug, Verfahren zum Betreiben des Steuerungssystems sowie Kraftfahrzeug mit einem derartigen Steuerungssystem
US20190378564A1 (en) * 2018-06-11 2019-12-12 Nanya Technology Corporation Memory device and operating method thereof
US10877835B2 (en) * 2018-07-19 2020-12-29 Micron Technology, Inc. Write buffer management
KR102649315B1 (ko) * 2018-12-03 2024-03-20 삼성전자주식회사 휘발성 메모리 장치를 포함하는 메모리 모듈 및 이를 포함하는 메모리 시스템
KR102637909B1 (ko) * 2019-01-23 2024-02-19 에이치엘만도 주식회사 전동식 파워 스티어링 시스템의 리던던시 회로
KR102669545B1 (ko) 2019-07-23 2024-05-27 삼성전자주식회사 휘발성 메모리 장치의 리페어 제어 방법 및 이를 수행하는 스토리지 장치
US11498388B2 (en) * 2019-08-21 2022-11-15 Micron Technology, Inc. Intelligent climate control in vehicles
US11845470B2 (en) * 2020-07-29 2023-12-19 Micron Technology, Inc. Dynamic adaptation of automotive AI processing power and active sensor data
JP2022051363A (ja) * 2020-09-18 2022-03-31 キオクシア株式会社 メモリシステム
WO2022058768A1 (en) * 2020-09-21 2022-03-24 Micron Technology, Inc Memory apparatus and method for operating the same
CN117681810A (zh) * 2023-12-25 2024-03-12 重庆赛力斯新能源汽车设计院有限公司 一种整车控制器负载率的调节方法、系统、设备、介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080306654A1 (en) 2007-06-07 2008-12-11 Gm Global Technology Operations, Inc. Parametric Remedial Action Strategy for an Active Front Steer System
US20150149817A1 (en) * 2010-01-27 2015-05-28 Intelligent Intellectual Property Holdings 2 Llc Managing non-volatile media

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261068A (en) * 1990-05-25 1993-11-09 Dell Usa L.P. Dual path memory retrieval system for an interleaved dynamic RAM memory unit
JP2730375B2 (ja) * 1992-01-31 1998-03-25 日本電気株式会社 半導体メモリ
US6088662A (en) * 1996-12-13 2000-07-11 Seagate Technology, Inc. Thermoelectric temperature sensing system in a computer hard disc drive
CN1592403A (zh) 1999-03-30 2005-03-09 提维股份有限公司 数据存储管理及排程系统和方法
US20030046630A1 (en) 2001-09-05 2003-03-06 Mark Hilbert Memory using error-correcting codes to correct stored data in background
US7073099B1 (en) * 2002-05-30 2006-07-04 Marvell International Ltd. Method and apparatus for improving memory operation and yield
US7379368B2 (en) * 2005-02-25 2008-05-27 Frankfurt Gmbh, Llc Method and system for reducing volatile DRAM power budget
US7533303B2 (en) 2005-04-15 2009-05-12 Hewlett-Packard Development Company, L.P. Method and system for performing system-level correction of memory errors
WO2008018989A2 (en) 2006-08-04 2008-02-14 Marvell World Trade Ltd. Fully- buffered dual in-line memory module with fault correction
US7945840B2 (en) 2007-02-12 2011-05-17 Micron Technology, Inc. Memory array error correction apparatus, systems, and methods
US8060798B2 (en) 2007-07-19 2011-11-15 Micron Technology, Inc. Refresh of non-volatile memory cells based on fatigue conditions
US8028198B2 (en) 2007-07-30 2011-09-27 Micron Technology, Inc. Devices, methods, and apparatuses for detection, sensing, and reporting functionality for semiconductor memory
NZ586425A (en) 2007-11-29 2013-04-26 Ransburg Ind Finishing Kk Electrostatic painting robot with paint cartridge and feeding mechanisim
US8255772B1 (en) 2008-06-18 2012-08-28 Cisco Technology, Inc. Adaptive memory scrub rate
WO2010114006A1 (ja) * 2009-03-31 2010-10-07 日本電気株式会社 ストレージシステムとストレージアクセス方法とプログラム
US9081676B2 (en) 2009-06-02 2015-07-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Operating computer memory
US8639964B2 (en) 2010-03-17 2014-01-28 Dell Products L.P. Systems and methods for improving reliability and availability of an information handling system
US8412882B2 (en) * 2010-06-18 2013-04-02 Microsoft Corporation Leveraging chip variability
US8255740B2 (en) 2010-09-27 2012-08-28 International Business Machines Corporation Multi-level DIMM error reduction
US8621324B2 (en) * 2010-12-10 2013-12-31 Qualcomm Incorporated Embedded DRAM having low power self-correction capability
US9176800B2 (en) * 2011-08-31 2015-11-03 Micron Technology, Inc. Memory refresh methods and apparatuses
WO2014120228A1 (en) 2013-01-31 2014-08-07 Hewlett-Packard Development Company Ram refresh rate
US9135993B2 (en) * 2013-02-07 2015-09-15 Seagate Technology Llc Temperature based logic profile for variable resistance memory cells
US8934284B2 (en) * 2013-02-26 2015-01-13 Seagate Technology Llc Methods and apparatuses using a transfer function to predict resistance shifts and/or noise of resistance-based memory
US9164832B2 (en) * 2013-02-27 2015-10-20 Seagate Technology Llc ECC management for variable resistance memory cells
US9263136B1 (en) * 2013-09-04 2016-02-16 Western Digital Technologies, Inc. Data retention flags in solid-state drives
CN104637530B (zh) 2014-04-17 2017-10-24 清华大学 一种冗余结构随机访问存储器
US20150331732A1 (en) * 2014-05-13 2015-11-19 Rambus Inc. Memory device having storage for an error code correction event count
US10430112B2 (en) * 2014-12-22 2019-10-01 Sandisk Technologies Llc Memory block cycling based on memory wear or data retention
CN104575589B (zh) 2014-12-27 2017-06-30 中国电子科技集团公司第三十八研究所 一种高可利用率抗辐射的sram自刷新电路及其自刷新方法
US9606851B2 (en) * 2015-02-02 2017-03-28 International Business Machines Corporation Error monitoring of a memory device containing embedded error correction
US9665469B2 (en) * 2015-07-24 2017-05-30 American Megatrends, Inc. System and method of runtime downloading of debug code and diagnostics tools in an already deployed baseboard management controller (BMC) devices
US9639128B2 (en) * 2015-08-04 2017-05-02 Qualcomm Incorporated System and method for thermoelectric memory temperature control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080306654A1 (en) 2007-06-07 2008-12-11 Gm Global Technology Operations, Inc. Parametric Remedial Action Strategy for an Active Front Steer System
US20150149817A1 (en) * 2010-01-27 2015-05-28 Intelligent Intellectual Property Holdings 2 Llc Managing non-volatile media

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020141772A1 (ko) 2019-01-03 2020-07-09 주식회사 엘지화학 배터리 밸런싱 장치 및 그것을 포함하는 배터리 팩
US11144386B2 (en) 2019-04-24 2021-10-12 University-Industry Cooperation Group Of Kyung Hee University Memory controller storing data in approximate memory device based on priority-based ECC, non-transitory computer-readable medium storing program code, and electronic device comprising approximate memory device and memory controller

Also Published As

Publication number Publication date
TWI631572B (zh) 2018-08-01
EP3465368A4 (en) 2019-12-25
CN109154813A (zh) 2019-01-04
US11481126B2 (en) 2022-10-25
US20170344299A1 (en) 2017-11-30
TW201801094A (zh) 2018-01-01
EP3465368B1 (en) 2022-09-07
KR102400996B1 (ko) 2022-05-24
CN109154813B (zh) 2022-06-07
WO2017205076A2 (en) 2017-11-30
EP3465368A2 (en) 2019-04-10
WO2017205076A3 (en) 2018-07-26

Similar Documents

Publication Publication Date Title
KR20190000896A (ko) 메모리 디바이스 에러 기반의 적응형 리프레쉬 속도 및 방법
US8645641B2 (en) Intelligent storage device controller
CN110116751B (zh) 基于冗余架构控制车辆的设备和方法
US7584333B2 (en) Data processing device in vehicle control system
US10049731B2 (en) Periodic refresh of a memory area of a non-volatile memory unit using refresh triggers
EP3903191A1 (en) Technologies for efficient reliable compute operations for mission critical applications
US20240028435A1 (en) Automotive electronic control unit reliability and safety during power standby mode
JP2015084254A (ja) モバイルデバイスにおいてハウスキーピング動作を制御するための方法
US20180196614A1 (en) Error correction
US20170294801A1 (en) Apparatus and method for controlling power generaton
TWI602190B (zh) 記憶體控制方法、記憶體裝置
CN115729776A (zh) 基于车辆的安全处理器
JPWO2019202798A1 (ja) 制御装置、制御方法、およびコンピュータプログラム
JP2009520289A (ja) データ記憶装置における停電を検出する方法、およびデータ記憶装置を復旧する方法
WO2017065802A1 (en) Scrubbing data in a memory device
JP7077881B2 (ja) 不揮発性メモリを有する機器
JP4770266B2 (ja) データ処理装置
JP2012243328A (ja) 不揮発性半導体記憶装置、および不揮発性半導体記憶装置の保持マージン検査方法
US10539419B2 (en) Method and apparatus for reducing sensor power dissipation
JP6191410B2 (ja) 電子制御装置
CN116448123A (zh) 导航设备切换处理方法、装置、飞行汽车及存储介质
CN117742763A (zh) Ecu固件升级方法、装置、系统、汽车及存储介质
CN113237506A (zh) 高压套管末屏装置的预警方法、系统及存储介质
JP2012059099A (ja) 情報処理装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant