Eu tenho dois divs com o mesmo ng-controller no AngularJS, como posso fazê-los compartilhar informações?

Eu tenho duas tags div diferentes no meu código html referenciando o mesmo controlador no AngularJS. O que eu suspeito é que, uma vez que essas divs não são aninhadas, cada uma tem sua própria instância do controlador, portanto, os dados são diferentes em ambos.

<div ng-controller="AlertCtrl">
<ul>
    <li ng-repeat="alert in alerts">
        <div class="span4">{{alert.msg}}</div>
    </li>
</ul>
</div>        
<div ng-controller="AlertCtrl">
<form ng-submit="addAlert()">
    <button type="submit" class="btn">Add Alert</button>
</form>
</div>

Eu sei que isso poderia ser facilmente corrigido, incluindo o botão no primeiro div, mas eu sinto que este é um exemplo muito limpo e simples para transmitir o que estou tentando alcançar. Se formos apertar o botão e adicionar outro objeto à nossa matriz de alertas, a alteração não será refletida na primeira div.

function AlertCtrl($scope) {

$scope.alerts = [{
    type: 'error',
    msg: 'Oh snap! Change a few things up and try submitting again.'
}, {
    type: 'success',
    msg: 'Well done! You successfully read this important alert message.'
}];

$scope.addAlert = function() {
    $scope.alerts.push({
        type: 'sucess',
        msg: "Another alert!"
    });
};
}