Часовой пояс: UTC + 3 часа




Куратор(ы):   anta777    fedx   



Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 43677 • Страница 841 из 2184<  1 ... 838  839  840  841  842  843  844 ... 2184  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 
Прилепленное (важное) сообщение

Member
Статус: Не в сети
Регистрация: 18.05.2005
Откуда: Moscow
Фото: 9
Принятые в теме сокращения (и заодно необходимые утилиты для отладки и тестирования памяти)
TM5 - TestMem5
ATC=Asrock Timing Configurator 4.0.4 for z370/390
Asrock Timing Configurator 4.0.13
Asrock Timing Configurator 4.0.12 for z690
Asrock Timing Configurator 4.0.10 for z590
Asrock Timing Configurator 4.0.9 for z490
Asrock Timing Configurator 4.0.8
Asrock Timing Configurator 4.0.3 for z170/270/490

Asrock Timing Configurator 4.0.16
https://drive.google.com/file/d/1-PdgLkCf-5cA3b1kqO2CmFyhXtz-tiS3

AMT - Asus MemTweakit Asus MemTweakIt 2.02.44

При настройке памяти в BIOS ставим ОБЯЗАТЕЛЬНО MRC Fast boot=disable (включаем при этом режим тонкой тренировки, если же выставим enable, то включаем режим грубой тренировки).
Оптимально при разгоне памяти использовать в биосе множитель памяти 133, а не авто или 100, что даст возможность создать комфортные условия для контроллера памяти в процессоре и снизить напряжения ио и са !
Недаром в Jedec шаг между спидбинами именно 133, а не 100!
Для плат с Alder Lake напряжения VDD и VDDQ на память могут отличаться не больше, чем на 300 мВ.
Для плат на основе логики z690 и b660:
VDD>VDDQ
VDDQ>=VDD-300mV(0.3V)

Лучше на VDDQ не превышать 1.25V. Вполне возможно 1.30V. MSI дает зазор до 1.40V.
Для таймингов должно выполняться требование:
_dr=_dd

Разгон памяти у современной DDR4 (16 банков,RRDS=4,FAW=16,BL=8) эффективен только при tRC<=64,если каждый новый блок чтения происходит с разных банков памяти.
Для 4-х слотовых плат при разгоне желательно в биосе отключить неиспользуемые слоты.
Для максимальной производительности памяти значение tRFC в тактах для 8-Гбитных чипов должно быть кратно 8,а для 16-Гбитных чипов - 16. Если это правило не соблюдать, то будут вставлены лишние такты при каждом цикле обновления памяти.
Для желающих максимально снизить tRFC.
Делим tRFC на сумму tRCD,tRTP и tRP.
Если результат ближе к 4, то снижать tRFC можно по 4 такта.
Если результат ближе к 2, то снижать tRFC можно по 2 такта.
Это связано с тем, что обновление происходит субмассивами, которые обязательно кратны 2.

Новая информация по tRAS
Чтение с модуля памяти у DDR4 происходит блоками. Минимальный блок сейчас составляет 64 байта, что связано с размером строки кэша у процессора. Этот блок может считываться как с одного банка, так и с разных.
tRAS=tRCD+tRTP (при считывании 8 байт с одного банка)
tRAS=tRCD+tRTP+4 (при считывании 16 байт с одного банка)
tRAS=tRCD+tRTP+8 (считывание 24 байт - маловероятно)
tRAS=tRCD+tRTP+12 (при считывании 32 байт с одного банка). Самый верный выбор для DDR4!
tRAS=tRCD+tRTP+16 (считывание 40 байт - маловероятно)
tRAS=tRCD+tRTP+20 (считывание 48 байт - маловероятно)
tRAS=tRCD+tRTP+24 (считывание 56 байт - маловероятно)
tRAS=tRCD+tRTP+28 (при считывании 64 байт с одного банка)
Для DDR4 оптимальным выбором является 4-й или последний вариант.
Но если выставить tRAS меньше, то ничего трагичного не произойдет, так как джедек придумала предохранитель (tRTP), поэтому можно не заморачиваться и выставлять минимальный tRAS (=tRCD+tRTP).


Напряжения на процессоре при разгоне памяти
SA- безопасный уровень (по данным MSI) 1.35, растет от частоты памяти и зависит от подключенной периферии к PCIE, чем больше скорость видеокарты и NVME-диска, тем выше нужно напряжение.
IO (для Z590 =IO2, а просто IO можно оставлять в авто, для Z690=IVR DDQ)- обычно хорошо работает если на 50 мВ ниже SA, но чем ниже, тем лучше, стараться максимально снижать.
Тоже растет с ростом частоты памяти.
Для ориентира при настройке всегда рекомендую глянуть, что за напряжения SA и IO выставляет материнка в авто.


Для начала тезисно несколько правил «успешного разгона и установки памяти»:
1. Ни в коем случае не используем XMP профили – этот режим протестирован на совместимость, но не даёт оптимальную производительность. Поскольку заводская настройка не блещет идеальным подбором, можно получить до 20-25% производительности дополнительно, вручную настраивая тайминги и напряжения. Также XMP режим чреват завышениями вольтажа самой память и контроллера памяти\SOC.
2. Правильная установка модулей – А2 (для одного модуля), A2B2 (для двух модулей).
3. Самый лучший разгон по частоте достигается при использовании одного модуля, при наличии двух планок максимальная частота лишь немного хуже. У четырёх – либо хуже (на устаревающем LGA2011-3) либо такой же или лучше (LGA2066), которые могут стабильно работать с 4мя модулями на 4000CL16.
4. Если используется два модуля, то худший модуль (требующий бОльшего напряжения для стабильного разгона) должен стоять ближе к процессору в слоте A2.
5. Перед настройкой частоты и таймингов памяти отключить подсветку модулей памяти - т.к. это даёт лишний нагрев.

УНИВЕРСАЛЬНЫЙ ГАЙД ПО НАСТРОЙКЕ от Agiliter
Универсальный гайд.
0. Устраните любые потенциальные проблемы с другим железом. Снимите разгон с видеокарты, снизьте частоту цп на 300 с сохранением напряжения. Не забудьте вернуть RTL в авто если сейчас не авто.
1. Крутим очень короткий мемтест, то есть если минуту живёт сразу снижать тайминг дальше. Ищите не стабильность, а явно сбойное значение тайминга, запишите его - пригодится. Гораздо проще найти явно нерабочее значение и от него плясать чем пытаться ловить нестабильность часами. Это также помогает диагностировать сбойные тайминги на ранее "стабильной памяти".
Не пытайтесь найти предельные значение сразу. Сначала скрутите до +2 от минимально стабильного. Многие тайминги идут параллельно поэтому бессмысленно пытаться скрутить до упора с первого прохода.
CR выставить на 2 если стоит 1. В самом конце можно попробовать скинуть до 1. 3 Ставить только на очень большую частоту или если по другому ну совсем никак.

Начните с RCD, CL. Не обязательно должны быть одинаковыми, обычно CL идёт меньше чем RCD.
RAS сразу пробуйте как RCD+CL+4, до этого значения от него существенная разница, дальше меньше.
CWL<=CL. Допустимые значения 9,10,11,12,14,16,18,20.
RP можете выставить по RCD, если пойдёт меньше - тоже неплохо, не уверен правда насчёт смысла.
RTP без формул. Если не идёт вниз можно попробовать поднять чуть чуть RP. В DDR4 явно связан с WR соотношением 2 к 1 (например WR20\RTP10), физически хранится одно значения и в зависимости от операции интерпретируется.
Скрутите FAW до 16(так и оставьте если работает). С таким FAW скручивайте RRD(оба, L обычно больше чем S), возможно поедут на 4 оба. Если до 4 не удалось спустить поднимите FAW до уровня RRDL*4 и попробуйте ещё, хотя это скорее всего уже почти предел.
Обычно L>=S. L - SG(Same Group). S - DG(Different Group) Напр. RRD_L>=RRD_S.
CKE=5
СCDL>=4
RDRD_DD и прочие подобные можно проигнорировать если у вас нет двух планок на один канал (4 планки). DD-Different Dimm. Тоже самое с DR-Different Rank если у вас одноранговая память.
RDWR_SG(DG) и подобные сочетания скручивайте до минимальных рабочих, потом накиньте сверху +2. Как уже отметил обычно SG>=DG.
WTR не трогайте он сам спустится когда будете скидывать WRRD_SG(DG) и прочие подобные. Если сам меньше не стал тогда руками скидывать.
WR снижать через WRPRE если есть. Если нет или не снижает WR, То скрутите его скажем до 12 или +4 от рабочего, потом дожмёте если не лень будет.
RFC явных формул нет, крутить после всего списка сверху. Не пытайтесь найти его минимальное значение если не хотите чтобы память начинала сыпать ошибками от любого чиха. найдите пограничное со стабильностью значение и накиньте сверху 20 или сразу 40. Может реагировать на RAS+RP, RRD, FAW, причём в обе стороны (то есть может "сломаться" если задрать названные), а может и не реагировать...
REFi больше лучше. Связан с RFC. REFI сколько память "работает" - RFC сколько "отдыхает". Оба тайминга лучше не пытаться найти предельное значение.Заметно реагируют на температуру.
Многие тайминги отзываются и на температуру и на напряжение. Поскольку напряжение может как позволить снизить тайминг, так и увеличить температуру, то середину можно искать очень долго, поэтому лучше бы вовремя остановится.
Тестируйте тщательно с перезагрузками, сном, холодным стартом.
RTL и IOL вам кто-то другой пусть советует как настраивать, от них у меня голова болеть начинает...

Таблицы от anta777
Актуальные (последние) версии:
TableDRAMIntel(simple3nov2020+simple12oct2020+обычная)
http://bit.ly/3rTIBLv
http://bit.ly/3nWJlxB
http://bit.ly/32WnkTU
Conf tm5(slight+uni@LMHz+extreme+absolut)
http://bit.ly/2Oe8R00 - суперлайт
http://bit.ly/2H9jIZH - универсальный
http://bit.ly/2MUvl6n - экстремальный
http://bit.ly/3D9TUnD - абсолют
http://bit.ly/3STH2wx - новый для интела и DDR5
http://bit.ly/3wedj8U - новый для Ryzen3D и DDR5
Тяжелый
http://bit.ly/35eKfeJ

Расчет таймингов (на материнках ASUS)

tRASmin=tCL+tRCD+2
WTRS/L устанавливаются в биосе через WRRDdg/sg согласно формуле:
WRRD_sg=6+CWL+WTR_L
WRRD_dg=6+CWL+WTR_S
WR - через WRPRE (для матплат ASUS):
WRPRE=4+CWL+WR
RTP - через RDPRE (для матплат ASUS)
RDPRE=RTP

МЕГАпост про RTL и настройку
ПРО НАПРЯЖЕНИЕ НА ПАМЯТЬ!
VDDDQ=1.5 V max по Jedec
VrefCA=0.6xVDDDQ=0.9 V (max по Jedec), в даташите контроллера интел тоже разрешено максимальное vrefca=0.6xVdddq.
То есть при обычной настройке биоса, когда VrefCA=0.5xVDDDQ, VDRAM<=1.8 V, чтобы уложиться в нормы по Jedec.
А если при этом в биосе настроить vrefca=0.49xvdddq (разрешено по Jedec), то безопасное Vdram может быть еще выше=1.837 V.
Вывод: для контроллера процессора напряжение на память <=1.8 V неопасно


МЕТОДИКА ПОДБОРА ВЕРНЫХ RTT WR, RTT PARK, RTT NOM
https://forums.overclockers.ru/viewtopic.php?p=17484594#p17484594
На OCN есть методика их подбора с помощью Passmark memtest86, использовать только 8-й тест.


ШАБЛОН ПОСТА
Код:
CPU Name: Intel® Core™ i7-7740K CPU @ 4.30GHz
Motherboard Model: MSI X299 GAMING PRO CARBON AC (MS-7A95)
Total Size: 8192 MB
Type: Single Channel (64 bit) DDR4-SDRAM
Frequency: 2750 MHz - Ratio 1:31
Timings: 21-31-31-63-2 (tCAS-tRC-tRP-tRAS-tCR)
Slot #1 Module: G.Skill 8192 MB (DDR4-2137) - XMP 2.0 - P/N: F4-3200C14-8GVR

[img]Ссылка на скрин[/img]
Для сбора статистики по установленным чипам памяти просьба прикладывать скрины программы Taiphoon Burner и указывать напряжения на DIMM, IO и SA![/color]


Расшифровка коротких наименований таймингов часть 1 и часть 2

Предварительная настройка параметров разгона в BIOS платы (на примере плат ASUS)

Пресет для поиска максимальной частоты DDR4 и расчета таймингов от Agiliter (может пригодиться тем у кого плата автоматом выставляет какую-то дичь при автоматической частоте)
Необходимо дополнительное тестирование и ваши предложения что там добавить или поменять.

Кстати, на нашем форуме есть еще и другая Таблица по расчёту таймингов


Таблица tRFC от integralfx
Below are the typical tRFC in ns for the common ICs:
IC tRFC (ns)
Hynix 8Gb AFR 260 - 280
Hynix 8Gb CJR 260 - 280
Hynix 8Gb DJR 260 - 280
Micron 8Gb Rev. E 280 - 310
Micron 16Gb Rev. B 290 - 310
Samsung 8Gb B-Die 120 - 180
Samsung 8Gb C-Die 300 - 340

Таблица tRFC от Reous v26
#77

Расшифровка чипов, находящихся в модуле памяти у разных производителей
#77

Ревизии печатных плат. A0,A1 или A2 планки, как узнать
#77
#77
#77
#77

Статистика tRCD планок в зависимости от типов чипов
#77
#77
#77
Чем выше вы в вертикальном столбце, тем удачнее планки.
Чем интенсивнее цвет, тем выше статистический процент (данные старые,теперь удачнее чипы выходят)
На 1 таблице все,что выше красной линии - суперотборники.

Советы по верной тренировке
1.Поднять напряжения на VCCSA и VCCIO.
2.Включить в биосе Round Trip Latency.
3.Для гигабайтов - memory enchancement=normal.


Программы для тестирования памяти
GSAT- https://drive.google.com/file/d/1iCj0-jQIXIlo_Zvm5jO949ZH9fClTNF3/edit
для длинных тестов добавил параметр "--pause_delay" чтоб периодически не отключались потоки


Последний раз редактировалось anta777 09.12.2024 13:52, всего редактировалось 165 раз(а).
Внесены дополнения по tRFC и tRAS.



Партнер
 

Member
Статус: Не в сети
Регистрация: 30.09.2007
Откуда: Tver
Фото: 29
Jordan писал(а):
Надо ещё на какой-нибудь заслуженной ASUS попробовать и с процессором поновее.
Это я в квартальной перспективе сделаю.

Сделай уже Говорящих с ветром новых :beer: или шепни в личку, какие 120ки мне на радиатор видяхи купить :oops:

_________________
Russian Overs Team


 

Member
Статус: Не в сети
Регистрация: 06.01.2009
Откуда: Россия, Иваново
anta777 писал(а):
Вы не уменьшили FAW.
При RRDS=4 FAW=16

Точно при RRDS=4 FAW=16 не пробовал, но обязательно попробую.
Пытался при RRDS=7 понизить FAW с 20 до 16, сразу сыпет ошибками. Понимаю, мой косяк.
По дефолту FAW вообще на 40 выставляется.

Добавлено спустя 32 секунды:
garison87 писал(а):
Сделай уже Говорящих с ветром новых или шепни в личку, какие 120ки мне на радиатор видяхи купить

Не терзайте меня. Сам не сплю из-за этого неоконченного мега-теста. :)

_________________
MSI MPG Z790 Edge WiFi | Intel Core i9-13900K
ASUS ROG Strix X870E-E Gaming WiFi | AMD Ryzen 9 9950X
https://t.me/bench_and_play


 

Member
Статус: Не в сети
Регистрация: 19.03.2008
Откуда: Беларусь
Фото: 2
aggression писал(а):
пробуй 4100

Было несколько неудачных попыток, оставил на потом.
Ты смог 4100 и при каких условиях?


 

Member
Статус: Не в сети
Регистрация: 26.08.2012
Откуда: Мурманск
Фото: 619
nag77
4100 при CL14 (вроде) завелось, но случайно удали пресест в БИОС, вечером поищу скрин.

_________________
★ CPU ☆ Intel 10900KF ★ GPU ☆ ASUS 3080 Strix OC ★ DDR4 ☆ G.Skill Trident Z 3200C14 ★


 

Member
Статус: Не в сети
Регистрация: 19.03.2008
Откуда: Беларусь
Фото: 2
aggression писал(а):
CL14

CL14?


 

Member
Статус: Не в сети
Регистрация: 24.10.2004
ребят а для intel 9400f z390 мать, что лучше думайте? 3200 Mhz 16-18-18-36 или 3733Mhz 18-20-20-38? и 3200 держит норм и 3733 держит, вольтаж не трогал... только тайминги
память A-Data XPG SPECTRIX D41 RGB [AX4U320038G16-DT41] 16 ГБ


 

Member
Статус: Не в сети
Регистрация: 26.08.2012
Откуда: Мурманск
Фото: 619
nag77
да, когда мучал 4000... решил поднять, пошла загрузка, сохранил пресест... чз время хотел вернутся к нему, но видимо перезаписал другим... поищу скрины, вроде должны были остаться.
PS: у меня же 4000 и на CL14 и на CL15 грузятся, но стабильность проверить нет времени.

_________________
★ CPU ☆ Intel 10900KF ★ GPU ☆ ASUS 3080 Strix OC ★ DDR4 ☆ G.Skill Trident Z 3200C14 ★


 

Member
Статус: Не в сети
Регистрация: 10.08.2011
Здравстуйте, сменил 2x8 3200cl14 g.skill на 2x16 F4-4000C19-32GTZSW. На таймингах 16-16-4000 латентность в районе 39нс (прикрепил тайминги ниже), хотя на модулях 3200cl14, на схожих таймингах, была 37-38. Виндоус свежая 1909, плата апекс(1401), напряжения 1.45/1.26/1.27. Может ли быть повышенная латентность из-за того, что память "двусторонняя", или у меня что то не так с таймингами/настройками?
https://imgur.com/a/39WUh29


 

Member
Статус: Не в сети
Регистрация: 20.04.2017
Фото: 0
ddevi1 писал(а):
или у меня что то не так с таймингами/настройками?

Завышен rdwr, не верный rtl init, неправильная тренировка

Добавлено спустя 2 минуты 53 секунды:
Апекс должна дать перейти в cr1 изи

_________________
https://telegram.me/xyligano


 

Member
Статус: Не в сети
Регистрация: 09.08.2019
anta777 писал(а):
Чем выше, тем лучше.
Во время тестов охладите дополнительно память.
Поставьте вентилятор над памятью.

С охладом получается пройти 1 цикл с tREFI=43737, но на втором проходе уже начинает сыпать ошибками, хотя память всего лишь тёплая.
Вложение:
Снимок.PNG
Снимок.PNG [ 273.67 КБ | Просмотров: 518 ]

_________________
Мой блог: bit.ly/3np73B0


 

Member
Статус: Не в сети
Регистрация: 19.03.2008
Откуда: Беларусь
Фото: 2
ddevi1 писал(а):
сменил 2x8 3200cl14 g.skill на 2x16 F4-4000C19-32GTZSW.

Поправил, что мне не понравилось.
И tCWL я бы сделал 16.
Вложение:
U4z406P.png
U4z406P.png [ 540.7 КБ | Просмотров: 518 ]


Добавлено спустя 33 секунды:
xyligano писал(а):
Апекс должна дать перейти в cr1 изи

На двуранках не обязана.

Добавлено спустя 8 минут 10 секунд:
kemiisto писал(а):
хотя память всего лишь тёплая.

tRFC, возможно, слишком оптимистичен. Пробуйте 616. Это же микрон?


 

Куратор темы
Статус: Не в сети
Регистрация: 10.06.2011
RDRDdr/dd=4+RPRE
WRRDdr/dd=CWL-CL+4+RPRE, при CL=CWL равно RDRDdr/dd
WRWRdr/dd=4+WPRE

WRPRE и RPRE обычно равны 1 или 2.
Но иногда 6 для dr/dd-параметров дают ошибки, тогда применять 7.

_________________
TableDRAM(simple+обычная) bit.ly/3rTIBLv bit.ly/32WnkTU
Tm5(ddr4/5) bit.ly/2Oe8R00 bit.ly/2H9jIZH bit.ly/2MUvl6n bit.ly/3wedj8U bit.ly/3STH2wx


 

Member
Статус: Не в сети
Регистрация: 10.08.2011
xyligano писал(а):
Завышен rdwr, не верный rtl init, неправильная тренировка
Апекс должна дать перейти в cr1 изи


С cr1 бутлуп, при включении максимум твик 2 синька с MEMORY_MANAGEMENT. Оставил cr2 и авто на мемтвике.
Подкорректировал тайминги.
https://imgur.com/a/2YK3xR5

Добавлено спустя 32 секунды:
nag77 писал(а):
Поправил, что мне не понравилось.
И tCWL я бы сделал 16.

Поправил


 

Member
Статус: Не в сети
Регистрация: 20.04.2017
Фото: 0
ddevi1 писал(а):
cr1 бутлуп, при включении максимум твик 2 синька с MEMORY_MANAGEMENT

Это печально.
Сохрани текущие настройки в профиль, поменяй планки местами
Пробуй завести только первички в мод2 режиме, а после в Кр1
Тренировка включена. Остальное авто.

_________________
https://telegram.me/xyligano


 

Member
Статус: Не в сети
Регистрация: 19.03.2008
Откуда: Беларусь
Фото: 2
ddevi1 писал(а):
Поправил

Если ушел на tCWL=16, то tRDWR=10.
Тесты на стабильность были?


 

Member
Статус: Не в сети
Регистрация: 10.08.2011
xyligano писал(а):
Сохрани текущие настройки в профиль, поменяй планки местами
Пробуй завести только первички в мод2 режиме, а после в Кр1
Тренировка включена. Остальное авто.

Попробую чуть позже, отпишусь

Добавлено спустя 35 секунд:
nag77 писал(а):
Если ушел на tCWL=16, то tRDWR=10.
Тесты на стабильность были?

Поправлю, минимальный тест тм5+ немного линкса проходит, позже потестирую подольше.


Последний раз редактировалось ddevi1 17.02.2020 15:46, всего редактировалось 1 раз.

 

Member
Статус: Не в сети
Регистрация: 19.03.2008
Откуда: Беларусь
Фото: 2
ddevi1 писал(а):
при включении максимум твик 2 синька с MEMORY_MANAGEMENT.

Попробуй Trace centering [Enabled].

Кстати, двуранки микроны без Trace centering [Enabled] на Gene ехать выше 3800 отказываются.


 

Member
Статус: Не в сети
Регистрация: 10.08.2011
nag77 писал(а):
Попробуй Trace centering [Enabled].

Спасибо за совет, попробую, хоть у меня и не микроны.


 

Member
Статус: Не в сети
Регистрация: 19.03.2008
Откуда: Беларусь
Фото: 2
xyligano писал(а):
Пробуй завести только первички в мод2 режиме, а после в Кр1

Зачем мучать то, что не запустится/не предназначено для CR1?
Справедливости ради скажу, аналогичный, как у ddevi1 комплект, смог в CR1 при 14-14-32-3800 с ворохом ошибок.

The memory kit is rated at the specified speed with a command rate of CR2 (2T) only, it may not function properly if set to CR1.
Thank you for your understanding.

Best Regards
Tech Support Team
G.SKILL International Enterprise Co., Ltd.
+886 2 2766-7889
http://www.gskill.us/forum/



ddevi1 писал(а):
хоть у меня и не микроны.

Я в курсе)
Это общая рекомендация для двуранков на asus.


 

Member
Статус: Не в сети
Регистрация: 10.08.2011
nag77, твик2 с Trace centering на первых секундах выдает ошибки, хоть и не крашит в синьку, как раньше, поставил назад в авто. Хотя я так и не понял, что дает это опция.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 43677 • Страница 841 из 2184<  1 ... 838  839  840  841  842  843  844 ... 2184  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: JAWA-163rus, Роман7007 и гости: 17


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan