-
公开(公告)号:US12248369B2
公开(公告)日:2025-03-11
申请号:US18323178
申请日:2023-05-24
Applicant: Apple Inc.
Inventor: Farid Nemati , Steven R. Hutsell , Gregory S. Mathews , Yi Chun Chen , Kevin C. Wong , Kalpana Bansal
Abstract: Techniques are disclosed relating to improving memory reliability. In some embodiments, memory circuitry includes memory cells configured to store data, interface circuitry, and on-die error correcting code (ECC) circuitry. The ECC circuitry may check read data from the memory cells for errors and correct detected correctable errors to generate corrected data. The memory circuitry may provide read data to a requesting circuit via the interface circuitry, including one or more sets of corrected data from the on-die ECC circuitry. The memory circuitry may provide a decoding status flag (DSF) via the interface circuitry, including to: set the DSF to a first value in response to no error being detected for a given set of provided read data, set the DSF to a second value in response to a correctable error that was detected and corrected by the on-die ECC circuitry to provide a given set of read data, and set the DSF to a third value in response to an uncorrectable error detected by the on-die ECC circuitry.
-
公开(公告)号:US20230251930A1
公开(公告)日:2023-08-10
申请号:US17804932
申请日:2022-06-01
Applicant: Apple Inc.
Inventor: Farid Nemati , Steven R. Hutsell , Gregory S. Mathews , Yi Chun Chen , Kevin C. Wong , Kalpana Bansal
CPC classification number: G06F11/1064 , G06F11/106 , G06F11/076 , G06F11/0772
Abstract: Techniques are disclosed relating to improving memory reliability, e.g., in the context of memory circuits with limited reliability features. In some embodiments, memory controller circuitry is configured to communicate with memory circuitry via an interface that supports link error detection. The memory controller circuitry may, based on a corruption indicator, transmit a data and parity combination for the first data block that causes the memory circuitry to detect an uncorrectable write interface error. Subsequent reads of the location may therefore cause an uncorrectable error indication. This may advantageously allow the memory controller circuitry to propagate a corruption indicator as an uncorrectable error in the memory circuit, without requiring additional tracking of the indicator by the memory circuit or memory controller, in some embodiments.
-
公开(公告)号:US20230068494A1
公开(公告)日:2023-03-02
申请号:US17410657
申请日:2021-08-24
Applicant: Apple Inc.
Inventor: Shane J. Keil , Gregory S. Mathews , Lakshmi Narasimha Murthy Nukala
IPC: G06F3/06
Abstract: Techniques are disclosed relating to multi-activation techniques for wire operations with multiple partial writes. In some embodiments, a memory controller is configured to access data in a memory device that supports partial writes having a first size using read-modify-write operations and non-partial writes having a second size that is greater than the first size. In some embodiments, the memory controller is configured to queue a first write operation having the second size, where the first write operation includes multiple partial writes. In some embodiments, the memory controller is configured to send separate activate signals to the memory device to activate a bank of the memory device to perform different proper subsets of the multiple partial writes. This may allow interleaving of other accesses to a memory bank and merging of writes while waiting for a current activation, in some embodiments.
-
公开(公告)号:US10777252B2
公开(公告)日:2020-09-15
申请号:US16109720
申请日:2018-08-22
Applicant: Apple Inc.
Inventor: Peter Fu , Gregory S. Mathews , Kai Lun Hsuing , Shane J. Keil
IPC: G06F13/00 , G11C11/406 , G06F13/16 , G06F13/10 , G06F13/12
Abstract: A method and apparatus for performing opportunistic refreshes of memory banks is disclosed. Refresh circuitry in a memory controller performs a refresh on each bank of a multi-bank memory at least once during a given refresh interval. At the beginning of an interval, memory banks for which there are no pending transactions (e.g., reads or writes) may be refreshed. During a first portion of the interval, refresh may be skipped for memory banks for which transactions are pending. In a second portion of the interval, refreshes are performed on memory banks that have not been refreshed during the interval, which may cause some memory transactions to be delayed.
-
公开(公告)号:US20200057579A1
公开(公告)日:2020-02-20
申请号:US16104307
申请日:2018-08-17
Applicant: Apple Inc.
Inventor: Gregory S. Mathews , Kai Lun Hsiung , Lakshmi Narasimha Murthy Nukala , Peter Fu , Rakesh L. Notani , Sukalpa Biswas , Thejasvi Magudilu Vijayaraj , Yanzhe Liu , Shane J. Keil
IPC: G06F3/06
Abstract: Techniques relating to arbitration in a memory controller are disclosed. In some embodiments, the memory controller implements a per-bank priority-based arbitration scheme for different types of memory traffic (e.g., with different quality of service parameters). In some embodiments, the memory controller is configured to provide per-bank overrides to the arbitration scheme based on latency tolerance reported by one or more requesters sending a particular type of memory traffic. Various techniques disclosed herein may improve performance, improve fairness among different types of memory traffic, and/or reduce power consumption.
-
公开(公告)号:US10545701B1
公开(公告)日:2020-01-28
申请号:US16104307
申请日:2018-08-17
Applicant: Apple Inc.
Inventor: Gregory S. Mathews , Kai Lun Hsiung , Lakshmi Narasimha Murthy Nukala , Peter Fu , Rakesh L. Notani , Sukalpa Biswas , Thejasvi Magudilu Vijayaraj , Yanzhe Liu , Shane J. Keil
IPC: G06F3/06
Abstract: Techniques relating to arbitration in a memory controller are disclosed. In some embodiments, the memory controller implements a per-bank priority-based arbitration scheme for different types of memory traffic (e.g., with different quality of service parameters). In some embodiments, the memory controller is configured to provide per-bank overrides to the arbitration scheme based on latency tolerance reported by one or more requesters sending a particular type of memory traffic. Various techniques disclosed herein may improve performance, improve fairness among different types of memory traffic, and/or reduce power consumption.
-
公开(公告)号:US20180074743A1
公开(公告)日:2018-03-15
申请号:US15263833
申请日:2016-09-13
Applicant: Apple Inc.
Inventor: Robert E. Jeter , Liang Deng , Kai Lun Hsiung , Manu Gulati , Rakesh L. Notani , Sukalpa Biswas , Venkata Ramana Malladi , Gregory S. Mathews , Enming Zheng , Fabien S. Faure
CPC classification number: G06F3/0634 , G06F1/08 , G06F1/324 , G06F3/0625 , G06F3/0653 , G06F3/0659 , G06F3/0673 , G06F3/0683 , G06F13/1689 , G06F13/4243 , Y02D10/14 , Y02D10/151
Abstract: Systems, apparatuses, and methods for improved memory controller power management techniques. An apparatus includes control logic, one or more memory controller(s), and one or more memory devices. If the amount of traffic and/or queue depth for a given memory controller falls below a threshold, the clock frequency supplied to the given memory controller and corresponding memory device(s) is reduced. In one embodiment, the clock frequency is reduced by one half If the amount of traffic and/or queue depth rises above the threshold, then the clock frequency is increased back to its original frequency. The clock frequency may be adjusted by doubling the divisor used by a clock divider, which enables fast switching between the original rate and the reduced rate. This in turn allows for more frequent switching between the low power and normal power states, resulting in the memory controller and memory device operating more efficiently.
-
公开(公告)号:US20240095194A1
公开(公告)日:2024-03-21
申请号:US18469905
申请日:2023-09-19
Applicant: Apple Inc.
Inventor: Shane J. Keil , Gregory S. Mathews , Lakshmi Narasimha Murthy Nukala
IPC: G06F13/16
CPC classification number: G06F13/1626 , G06F13/1678 , G06F13/1689
Abstract: A memory control circuit coupled to multiple memory ranks may receive read and write requests for a different ranks of the multiple memory ranks. The memory control may allocate write requests to different slots based on the write requests target memory rank, and may adjust the number of slots available for a given memory rank during a write turn to improve write efficiency. The memory control circuit may also determine a number of ranks switches within a read turn based on whether a particular quality-of-service requirement associated with the read requests is being satisfied.
-
公开(公告)号:US20240094917A1
公开(公告)日:2024-03-21
申请号:US18469730
申请日:2023-09-19
Applicant: Apple Inc.
Inventor: Shane J. Keil , Gregory S. Mathews , Rakesh L. Notani
CPC classification number: G06F3/0613 , G06F3/0656 , G06F3/0659 , G06F3/0673 , G06F12/023
Abstract: A memory control circuit coupled to multiple memory ranks may receive read and write requests for a different ranks of the multiple memory ranks. The memory control may allocate write requests to different slots based on the write requests target memory rank, and may adjust the number of slots available for a given memory rank during a write turn to improve write efficiency. The memory control circuit may also determine a number of ranks switches within a read turn based on whether a particular quality-of-service requirement associated with the read requests is being satisfied.
-
公开(公告)号:US20230064187A1
公开(公告)日:2023-03-02
申请号:US17455321
申请日:2021-11-17
Applicant: Apple Inc.
Inventor: Rohit K. Gupta , Gregory S. Mathews , Harshavardhan Kaushikkar , Jeonghee Shin , Rohit Natarajan
IPC: H04L12/927 , H04L12/801 , H04L12/825
Abstract: Techniques are disclosed relating to merging virtual communication channels in a portion of a computing system. In some embodiments, a communication fabric routes first and second classes of traffic with different quality-of-service parameters, using a first virtual channel for the first class and a second virtual channel for the second class. In some embodiments, a memory controller communicates, via the fabric, using a merged virtual channel configured to handle traffic from both the first virtual channel and the second virtual channel. In some embodiments, the system limits the rate at which an agent is allowed to transmit requests of the second class of traffic, but requests by the agent for the first class of traffic are not rate limited. Disclosed techniques may improve independence of virtual channels, relative to sharing the same channel in an entire system, without unduly increasing complexity.
-
-
-
-
-
-
-
-
-